From 0925df05d2b422e924f464edf2abfd00c4edc7ea Mon Sep 17 00:00:00 2001
From: Joe Fernandez In this document
-
@@ -52,13 +53,14 @@ page.image=images/cards/card-n-changes_2x.png
The Preview contains system behavior changes aimed at improving the battery - life of devices. These changes can impact the availability of system - resources and system notifications to your app. You should review these - changes and evaluate how your app may need to adjust to them. + life of devices, RAM usage, and app performance. These changes can impact the + availability of system resources and system notifications to your app. You + should review these changes and evaluate how your app may need to adjust to + them.
Figure 1. Illustration of how Doze applies a first level of system activity restrictions to improve battery life. @@ -81,34 +85,37 @@ page.image=images/cards/card-n-changes_2x.png
When a device is on battery power, and the screen has been off for a certain time, the device enters Doze and applies the first subset of restrictions: It - shuts off app network access, and defers jobs and syncs. After some more time - elapses, the system applies the rest of the Doze restrictions to {@link - android.os.PowerManager.WakeLock}, {@link android.app.AlarmManager} alarms, - GPS, and Wi-Fi scans.. Regardless of whether some or all Doze restrictions - are being applied, the system wakes the device for brief maintenance windows, - during which applications are allowed network access and can execute any - deferred jobs/syncs. + shuts off app network access, and defers jobs and syncs. If the device is + stationary for a certain time after entering Doze, the system applies the + rest of the Doze restrictions to {@link android.os.PowerManager.WakeLock}, + {@link android.app.AlarmManager} alarms, GPS, and Wi-Fi scans.. Regardless of + whether some or all Doze restrictions are being applied, the system wakes the + device for brief maintenance windows, during which applications are allowed + network access and can execute any deferred jobs/syncs.
-
- Figure 1. Illustration of how Doze applies a second level of - system activity restrictions to further improve battery life. + Figure 2. Illustration of how Doze applies a second level of + system activity restrictions after the device is stationary for a certain time.
Note that activating the screen on or plugging in the device exits Doze and removes these processing restrictions. The additional behavior does not affect recommendations and best practices in adapting your app to the prior - version of Doze introduced in Android 6.0 (API level 23). You should still + version of Doze introduced in Android 6.0 (API level 23), as discussed in + + Optimizing for Doze and App Standby. You should still follow those recommendations, such as using Google Cloud Messaging (GCM) to - send and receive messages, and start planning updates for the additional Doze - behavior. + send and receive messages, and start planning updates to accomodate the + additional Doze behavior.
-The Preview removes three implicit broadcasts in order to help optimize both @@ -150,7 +157,8 @@ page.image=images/cards/card-n-changes_2x.png
The Preview includes changes to permissions that may affect your app, @@ -216,7 +224,7 @@ page.image=images/cards/card-n-changes_2x.png -
This Preview includes changes intended to improve the usability of the @@ -227,7 +235,7 @@ page.image=images/cards/card-n-changes_2x.png
-The Preview enables users to set Display sizewhich magnifies @@ -238,13 +246,22 @@ page.image=images/cards/card-n-changes_2x.png sw320dp, which is the width of a Nexus 4, a common medium-sized phone.
+
+
+
+- Figure 1. The screen on the right shows the effect of + Figure 3. The screen on the right shows the effect of increasing the Display size of a device running an N Preview system image.
+When the device density changes, the system notifies running apps in the following ways: @@ -276,7 +293,7 @@ page.image=images/cards/card-n-changes_2x.png
-The Preview includes Vision Settings on the Welcome screen, where users can @@ -337,60 +354,22 @@ java.lang.NoSuchFieldException: No field array in class Ljava/util/ArrayList; -
- The Preview contains changes for apps that target Android for Work, including - changes to certificate installation, password resetting, secondary user - management, and access to device identifiers. If you are building apps for - Android for Work environments, you should review these changes and modify - your app accordingly. + The Preview includes namespace changes to prevent loading of non-public APIs. + If you use the NDK, you should only be using public APIs from the Android + platform. Using non-public APIs in the next official release of Android + can cause your app to crash.
-DevicePolicyManager.setCertInstallerPackage(). If the installer
- is not already installed, the system throws an
- IllegalArgumentException.
- DevicePolicyManager.resetPassword()to clear passwords or change
- ones that are already set. Device admins can still set a password, but only
- when the device has no password, PIN, or pattern.
- DISALLOW_MODIFY_ACCOUNTS user restrictions are in place.
- DISALLOW_ADD_USER restriction
- is automatically set. This prevents users from creating unmanaged secondary
- users. In addition, the CreateUser() and
- createAndInitial() methods are deprecated; the new
- DevicePolicyManager.createAndManageUser() method replaces them.
- DevicePolicyManagewr.getWifiMacAddress() . If Wi-Fi has never
- been enabled on the device, this method returns a value of {@code null}.
- - In the Preview, an application built with the NDK and targeting the N Preview - API cannot link against the platform libraries shipped with the NDK. This - change affects both the dlopen(3) and DT_NEEDED entries in your {@code .so} - files. + In order to alert you to use of non-public APIs, apps running on a Preview + device generate an error in logcat output when an app calls a non-public API. + This error is also displayed on the device screen as a message to help + raise awareness of this situation. You should review your app code to + remove use of non-public platform APIs and thoroughly test your apps using + a preview device or emulator.
@@ -402,6 +381,12 @@ java.lang.NoSuchFieldException: No field array in class Ljava/util/ArrayList; your APK contains all the .so files you intended to link against.
++ Caution: Some third-party libraries may link to non-public + APIs. If your app uses these libraries, your app may crash when running + on the next official release of Android. +
+Apps should not depend on or use native libraries that are not included in the NDK, because they may change, or be removed from one Android release to @@ -457,3 +442,49 @@ JavaVM::AttachCurrentThread from <jni.h>. {@code libcrypto.so} from BoringSSL or OpenSSL in your app. + +
+ The Preview contains changes for apps that target Android for Work, including + changes to certificate installation, password resetting, secondary user + management, and access to device identifiers. If you are building apps for + Android for Work environments, you should review these changes and modify + your app accordingly. +
+ +DevicePolicyManager.setCertInstallerPackage(). If the installer
+ is not already installed, the system throws an
+ IllegalArgumentException.
+ DevicePolicyManager.resetPassword()to clear passwords or change
+ ones that are already set. Device admins can still set a password, but only
+ when the device has no password, PIN, or pattern.
+ DISALLOW_MODIFY_ACCOUNTS user restrictions are in place.
+ DISALLOW_ADD_USER restriction
+ is automatically set. This prevents users from creating unmanaged secondary
+ users. In addition, the CreateUser() and
+ createAndInitial() methods are deprecated; the new
+ DevicePolicyManager.createAndManageUser() method replaces them.
+ DevicePolicyManagewr.getWifiMacAddress() . If Wi-Fi has never
+ been enabled on the device, this method returns a value of {@code null}.
+ M~@P0c2wbB4-rMYSg<5SVvcx2e=mygV&f{0G%r{Y1?81FoW&a z5h53D=UW`N`P J{W8*&3!P~MS*W?X+?NutweH6 z7$OV5E^P%g?mss4#^A8!6y2l%=}@s}+fSw+!fM6=tLZGkaYuIs7Z?@JAu3Kfo3}G& zTs$jLZg#LN#1$WoGNvDUZPZDeq_x0}I_dRpC m3Qw z0nSgTmsG0#yC(tbyp@utm!C*+D}RtZa>GdL{Fopd5Xxd_Lu@-yqu8j>jNYP9v;L-z z%Oz}g+EknTr@D58n@zg=GG(6~yrQdfud3{l43F&>d6&l4n7l;*{HKJUR~Kg0PBylJ z#rx#A(p*L;P@dXrEQF)*^*qhuj-juz7p!1pijcoEGc(&e+g_sE >%P9M+xd5DahwP!mUf4Uc^w01XO~NKj488XYGzKf{=x7JFkedQcUp zL;a(Y;gih0>t`+8DIz;VX nfM&2{K+DfCrL7 zPHyIgWreTUq$)xH+8qB}B>wH0dw&?$xKeMKQr4iGMjYR4!H?JcMMD%LhTH~Bt)f=X z9EVv?m1KLyT*O*Jk7oNHwlRd9m1uGj;gO?ox~?%7FlBJ_S$^sb-BQbqn;H$@T-mib zt>$>n6X>0eZiJ|;OC^ylZ4a~JTScLZ>T$)by}SUx7JAf3hQ75=7AYkTMX0jW_Dgcn z@uDh?OkoN+{bN(J=FdS7?gQT6=GSoOPHlMx#udF!u@l}w
nnspKOR-lL@d3%0U=4&L zRIey2n;gbamABZ#@QEfNOa~cw YhPo8 zMddCE@`j2qItzlO7wKx0n~BAhYCo=7enc~O{urpL$GyBxA~1Xkst}HGRCz2KGEwBu zeoHv?mq8}scXs%@JO<@RbX(V#>p+YNW3Ywp10~4kQvUc;>K_;2ewRZ_hCdTzp)k04 z<2$Y4D1dGsAuEgu-TZeltmmSnyPgIT55|1@?!~=lQ|<^yVQ?bK{=e(?gUlY!MIk&T zLtmv-dX(byx;8B4oOOK9K?c@S_B73T;QnyC%GB>nWKr?x`&st8e))s4F0*7KaMrqE zT4+1*)1=TBe`RV7i!M~21NWZcu}042JoY@b2H>s?^nR4E^M*bEQGt)+Q%bVbt;|cW z!fFu6B~q3EJSKm!yW5s@3Pz4Yn_PmMqoh;Rux(rK(I(g6`jH)%0cy&|UU8XEY7GR4 z4HlcP5qS?#NbgB0KpeQfwG4RE506zA2?{KrJHFA-DRt{4uw*vL0kKrcVvDT}=o zK;4YS9SSYt>v6cQzV!EHtj$3%viq{*$a;?^1EDI~Q;82NOnAAgr^7T%IpR3f&5bnW z=yrc0T 0GR zyj18fSDHd8HjiF~o!rC`f$7 qAN|-)d{%`-f)|o>Evjjt9~=+tUaRZ9H@nQ7sele}$fm zQNCb?nsT_T9yjhx*&Y5=VX*gXRQq*CrfY+sQR7*htbKV_#-Vj5pd>js$G+&jpxd6S zLNoIxAeN};>HVBJiFNx56<@W!=;^(7X;lTt+dwwMX#YGxe>v4_whD+%oXy_wG0x%~ zqKSMcLt_@s-mRVNZW-fCb{*~oy)vv88l+La%{hbQMpE(u`zfruuJP>SuJyC*1 zF%YhVuuB|?o8k8#O_HDxFGR&VKmxpZe;;Jq8 =m=9Fi!yQ%X#0s{4ocXW_Ke1|5Zhr+EBVkgT;-7eJF3xK|^K65f$dn zp+8tnl6TEIws!>Kuw5Vp*#Q=Ef1pA@J??^yygAHQ!l-Y@4}MKJLgF6}A|KVxqNsv! zd;0M#tgwXjV>#TNk4{uCfAAslzzSRoFSaWjHL|)j8(qd~JGVrLUXZi5x$e040$}?H zbkHNFR&z$eD>Ns#W^ot>@EzANw+3KXplEmNm@%JkR#Q6Bgsgy>xiHUm)PUX}!RB(- zy!G>6X|1FeV%k_0igoE3!U(c(DcJ>8&i?!kFRQB%%C@gf!31~WdnrGV>F+LGLq2bH zKC({t&?m2Woo!P3dik=f9m5KNZp{fSAK22&cVl_D7QFmBoXr(UF%l%i> 3#|tvXImq;7B5yK^}X$UOXZB!tcj* zkSmcJ`?{b)Ogc%&Fc7%Q{h*b37CDl9@J)b9a7DTR#7AT11AAXwCH8+QbGmc&33AI2 zX^O|cwn_Fb{u` JGdXE=CqwXYU13}&xACQQ1(Hne(sOVsCQ%8PNLkvKZ6^=^T zxD)~%YzNm=Mf`m!SN9ZxFZwzy1gg_CGyIniZzvJzRWj-{$ =}3LZdIG*s||A+jSR3_O}U)TcS3+U^iMMy$3vPe@ED$jbVi zgTRtQ B~H39~HtD^+)J7NQ$nMS9~QSiEJOH*Qg!ql!(ki#o|yYV6SJmjBb0 z7rsT6BiB|3nAK;`IwBkpo(<^w&?;?42;hQiA#QL#?iDm!7-Hrjv{&$B+-VrFU8j0g ztYhN4nYQI49-u(LxT^OiENN#%%D-Pc-z~6`M3peqnQJ*^)m~6>D(D3|Az?lEl1}Yi zBt6xLK9dSt;QL`K rR$YL1 r&MaT?($wh%K|&CpL_QSG>yp^ZIW><%PUy7NN==NEyQx^@ZhHV)`T5?R*Y+z7v~ zWfv4aZwzgxcgM&8X~_EeYn#zRgeQZuQnv=uiz`GEzkfHZkMowl^2nexqDfjkZZETE zz#lheO?Xqpk5#e3&p-d{Xopf}EN9$y-d6c*9U6P5ELuq|?7uAc7fvw`$B6Ju#SAC5 zZ2WPCRS_x6DN6isSCy#+tGyn-aMa)EdM$*$k(w(l%vpa>)7y3GRLO0m44VD1q}IQ) z03C_YO9>LkEa^+xvL&QVF~SSiXCP=XzRF>Vpa#{&qtuA~bk{V}tJ09hPg4w8&>z@$ zV)~=_38MrX1!$Wp*N{q~4X-ftq+TI|o);EK2 #epio6+QSsLS=iw?JI#bigyP*JJ^pvRn9NG{!}Kk1a^xa z7AU1T&?KXAUU#cXzBea-&><47r()yR|B15-Tb5o)x)&?<_{h~sl3i3~=%x5kWD=Pf z`i79Sy|d7B6EJ3sQK9#1biFDfSRdFx*GcIB9XdR|&LMyW2%2TqH|UyroWG{L0#_i< z9 S+EC^?fKwZs95I$hvyit($Dltj&}2N$U=kwG*HCSF1)= z|ArFchX~;HRd;ey3@==Evvl$r2_8vQbo|SYK13nbzxfN$4@dWu03}&xP%g%C7Y#4X z?kGYQk+>qj>azsf@8Ij7p&L(qH-)n^$F_9adbqI4ca_~o+977fP#poR&8o;kDd1Oa z1{|_AKS|D>#?^8)M_-AV<_(=id?lL4{*gB;OiWzj_aBdjsI)X^{nF4p!4)BNc0jtq zB)rg%|B#;<^=r~*j!}AlFQ4JlRmfjuCM7E?3jN|zqzb0J*sxV`gjZSH+obNotnU?B zPq=zqofE5XL5trL_FME4JLtP?9zM8D(Z_SQf!v}s*66~qXoNhApFdOt<%~u8zByBC zZ1lcXQWi Pqts4cV56A46L4Wv?uR;P`9vR2-r zG~~Y_pK(o&Te^bX7!E{(Hwq*vTyo-HgwKmiP{e0EkXzGj47GKbTvMLP5AjxkbthV! zdD9RveGxB15E=(sp-H>HbP+C6s7WDViV$s`eeZ{3TFDvs7{ REq(Z5bduaFG8hIl;?bR|r4Q)MZN? zs>pj7kU%?RD5O-bqGO_g;OOIiv3gSM6TVk1N+)A>iK_hR1Qu6p&{CbpStg>AWV%-- z-jv0I#PC2s4em9%a}tILXKz|9TfY|Zv*lq)TZ_wVU!bqKdR+bA+xL6jII^dh&J4Xq zcp|T=TJu`kYZ{C?Q}wAKtN|i-4mRzrYjvvv5sNV=>EcURDM$}SI6E#AURC$m0_doj z3gjOPAEp6uIj!TKwN<<6#j*dMtqNS|>F*birtSD(7UicooVHRrzB#z zu3;OBCDPW|Lbxjmr`&>+mTzQN%Y&JjfHtA|UV?M6oC~Jr-Tx(2-o=s{ NC!p#=G%aI+NTC~kPk zhw66_&?#|?6AV61>OvgKjx!V%t_^0v1b!}|h{D*}%4z>At!6ddLW1b9RHrLtl;1)2 z#2Sd7vd=|fwBx>vfRSEH+jfSxfcd(6>El>uS%FX;xzqAoGdt4sp%L2wQb7r*6*=gF zV^g1wVuxSiZ}cgworxA?e9A)KJ};u+SLxthS+w&7&jLYIT1JsLS2?#L-FLSXuOn;Q zAlByB(x2s(5#!Tr%>e9W;r`B&yGy1uw6m69%*7AG3gTY}JK1iqN#u0bR=+`et4xhc zjxjb=jV+$)=2MTR_&u^ABh9h*(!G>!GD hDQmh-HxrT`XhxL?RjZXHy8BECH%d12Aj!2XmZuN`0@9s`1r%CNFGlsDE%s%ayfn zkW!-C%9)jadxxPotNne)*~30MRQgGV{z|~DmRMJR#!4|q*%%s7i9a%n#5BQ_e@EjQ zEyB`Y7LVVwu730Ys22NhxCG+O7=yjgLzime&g=P_m+urv weG*wzU z1azgM3U$@vIBn)!NB#Gg7(V%6g `SeJWq7snBvXf)k(hHa`O-NDP!WNZDKSF@J+au-#hOQj5D zyq!J7r)>q6{z}2@%1>#USz*HZgNm@4(f-MNoSZWC>|T`#QV_oJ5G3AkwWi2n&)v$1 zjxKyX1{2Jwd;?w8)!_~w)1}Lj24$<#h|6ZKTAA9Pu-$EZ+CqPnx70tW%G2z&Kl2uQ z-EhCaQ-P2b-cXl{zyN*9Btz6+31m7wA#qKXkXF5zWv1BnuIbMG@Vl6%vtyBKF_cgJ z--$EFCMNl2&XS=J6?hrITf+RcVMwp~JDg_H8CyCCZwZpDzp9%N2gQ9Rm33)}46C^v zW$M#Te3ob6O}4-iu9gha%`>wqf7TV@UpAp9{T770jzI%_Lk4ehAy)L*5Nc<4o`!Fn zv~8@q5|J`jrw6<@z?* f;feSf-PYbPVrP-D)tK zGM&sp2i!)wmRWO)ee?z198izjhjQ=7%?P^K?2{~l{A5y&oT^(T6~EvI-MO0411M27 zj~Cj!5 X~&;dc`OBUmiRH6h0E`JkaA0InIBe2 z)n~WB$rLNdd|neD(AQ~kUiz6TLIgmV81D%4t|_ghS6hsPIiMSjk9Go)#J+B)#e2 v9gy|K_$LD~f zwW!BE#>rYy+KvV&^UkIFuM*aP(|*XQ^h~KT)#(S(9LW1Lc}gvEI+k-`EJo>_$6=d8 z6Ww}h5l#Rcjm4>VG6p@p?u0;HnH&LRFcZ7een5XQ6*AUfH}$wW}mkh zZd*<+O6)lKkpae4^(tuC>;7lpXZ;CxX7HqFCi|;KM@9TbBAbs-2EP6y zh5FBde`QQb8L#|7c=e3v$zx69kLL3k&GIZ#_0PLF+f_3E90XjM0K|r`A9w(O`{#vr z3uyPR7ytDf`{ebJfj=K+BKF>XtR3G=WpL(gBs!W!rBtz(6uyxp)Wxkg*bOmL+)zP` zFK+GTSFL#?zn%In7Sauwp@4nl_1>7`$pgd?(O1!WxKNCA$y-Y_ RM1O-m0sw?7 zA;R8xUYH>;gqJCI`n&N{PzePH@I`?!ZjRxHLKzOD(Pj*>vj|-(u|gcjvC*7SR?o~x zC c5UYY~$D!7XST2ZetYO7bl6~jkdhc Ro z0_P2<9t^_Z>|ka<%gDh%V4+fl;6zS=aN-?Ag$}|@YoG#Ty3Xq;Ntgq+JtoztAb?KF zI9U>omJa_H;jvHlHmuD%Q-0gF5rdYdG)U+BvO 6KFCXiqT1Uyhdw 5dV=VLWMwr}O~&l^4R@LV+{uuNYN2n0^Zp>j+Q+0gabm?y*;QBi7E z96Y7vFCJPFfpI+{mW}%xiUtUt1OAT88ls}2gCA5fOjtSAErwFQPZZ#~0A;UBNZd;z zXHcA@x}k;m8|PO-KowL!j(L8pRAWzmUIT_d2#{SVd~csT*@iz#<@+KGnekz}K$OO% zgA_2aQOVLgsr|?dv00BhKAD`;z|#a9 WRzrkMTW$fz{|@zlw=)AlEM(!Km{H>{bU*m)vv1mnJY3NtL)=j=F8*GY_~TjW z_qaW<&>rOV{+T$$v4;;Z#qJK$DPGW)l32}cxNHD7X{_> z|3f5(ObZ{&!Ws8@iz{7)`v72)g>$KP1_2EZ$r<+-RKC=f|3o5gPGN+)g6J%Q0Xh}Y z9Jp;86od9olGuA|N(9VUJCuQ&0uW}UkVc`d1duz)r+5n-dE9RO)>k`d8SrE61lm&) zM-!=yGGo^t;p@i=F4&lH3$2NUK2c?_I!eU(H3uX)Kw4leJ~mK%U(QY&k}{G{mS`im zubeEu`7QW#vwOZH{b#KmV0p&S<|&^2u9N>d8K{Ib-)}+}V3>vFeTw-mQa~AqONCSG zZvE|x7>WkTjSa)i2S9>zO>wmYg5F68C@ltWCT;k~CXXs)1vLkPph(@Vr+l_*avL|P z%L{@i3r~K298tC9ew-WS=Tnkr>1`AEbR$|q4fx&^eZ@Ep#N$ew2vuJTUQOk37P`Q8 z&XK}%^kuWR%BOwdii4NZ80%eb qxNUzsuCmDfVdt{*E`B3`&MLPJH$Z^zx zIwTet@(G^?KF_JzPTKX%wj;gt`B)Q;6r)o-_S~WT&i(P1U$SxA5gk%+ciJ(no!&j; zxf?W$%D?N5@u#LWWQ(k9U;KL-A?d_iQFiG27be(&a`hfmzW%D@y33ZK& UFnU4oc^Ni6#yeDyldTKJ>VE%_OQiYz?T^q;gzYwD1;sj4rav*g}$OP zU`M9sARZ$#2{)`R3 t*VhGJvbCBB1K+gOxxaC=X{|QEzG! zzvrCgCEitbfU6bK95@6yI?YgS5Ur+1kVj}NE`$hR$hRQ{oS$aczyTfPvzG#TuZ*Sn z5$_2o2_(&NMzGkm#4QR5S0KWnsDChoP(Y5lUN$-37jws}7zwvEd_JkdK(@jtp9BzH zEuVVOF}B=BcN)RR9(#?v!g E<&?)3X-ggWBb@PHWgJL9p;f zi5DL+WI5az&G*`#O`z$V t%w>sM_PE6mt{VXEOy8dBCug4n{CA z`Ize<3gcR0)mzaSys4B9lz%=f#~tdalFq8}o`b0HhJ4*hn|RUth@QkbL@EpPn!xVx zw=G2~HLpDE%#aGa|AG|jG?&5=Sn|s0fYY4_^e*PvN~;U|707 `hAc!eUgL<-N`z!9p5EvZQuf=<@8iKXfRaoHSpFe$ICl{Wv7W0Ew^z33*Bo#J z&MITjYxu@23jT#}Z0L&wV0*5^4wX3cL_SW#S$f^s#x#~lev`Flff11~XBniL#_wNW zx*S4yzIwTr#F#L5kT7=!R#R8clJCE*vh{NUcq_=sUMsll(}WGbi(O^wWr}cY4q_&& zj7|Wn9?*#yIo>%#{`(@97pjx3qMe@ZnebrL?U!5u36)%&cV@%WWxkMB?+L`!Ia$BD zJKoFn_Nt%U Pgr?q+0xt& z4Xd`=nVY}>w*9o$b~o3{&d}SDZ>(13G4>91FRlOhs~z2|teVY5;l Pr} l7sq5Tq>u^?hpvW(&zIneXn5 J_Qs zAwbz~n&$#CP$hgx(vg?o&e7=easCDoG8VB5PYj*jr {<(E9*$|r ztVMbLf%xQ?Xsc0IWq-{f;6r_NlAe+x+&J-_Nn+}P@(ATymS%v+O?U4ZFYnk9%)Y!! z`Qs}20O<+>+aZbtuq=IMLyi*1SxM_akR3s6I!E4AqOuSe%a=<9U?C=PeFf=dT|O%R zuuu>90l@Kkgv_8UK_4>*w@2y3*~iT;wujOoQmDPVJh$YO@ns;ddmyjCkwFb|7|;9e zZoXhhFR>H=)W_<+g)=W!818;GgbLv)hU0mmd7n<41a^$Tnm2&P8-pO~z}YS4I1n>u zAz|B~!unG%VG1z|f+Ya!kpMD@k#uZVbp~hg0k3gGeP#)c>^Cko9w-^fY7oru!51W^ zZX-Ye7*P&S*deipAidKZ`^*fjPQ$tbCey+0HL&`;1_~p4^D{D>Kfnk*pAV@*zpX~1 zJ=}aQhEX`_4kC2|ei!nFda1`1Kqcc=syv_vY$W4>%;$`&?KoVec=Gm2gnrirnlhpB zNQssO+IJ0{dX;9y)deE{=WbOSp6RMI;elf_61$${EzY9Cn1qMlaY+i!bw{aYo`gVp zoe?HnMoNSXCf$@k+RgFF+ <7=7pMMyT zonTuVbxVzmd!|i2dXxICGJ*%;_2puS2<+w=2nbkLC64qE(r=wP9bp7GlB;~W4m#KU zh u)^jaj z8%Q-Wqy@j9fSxdseKkIY$_Ih|1hfku*3@QV0f>kwxvbu|T$i&bzsI9k&&;6?72rnf z%1I|ny8M D&CHz#70FdpL{VdYUSHqC| 4P~_u|shS(Rlj%1Caa8l;;mExpqFB^juhYVN-%L!kS>5 zM4;kY2zbhT+hE~7h;-)*Q6~HuLjjq%7LN-E|5MgVumk%1dO=(*xQ|KSH94d{Bw(;GB`bbPZ{2_8M3p&+#RzY(>1;1|%cL+a5hEftcm(@4) z)D*+80g8m!UJ)n-x%HMtwViBoT@~^7Hf`e6PC0%*dhmJ+sy#-DE4=M?#W&+l%UQr& zbXJQ&TEN+ut#ea+eDLZRKhjH`Pj3$r5-xlp4a>>dbOqYay^74cQEGqva^JgY=__}} z!tG`m*v6-V(4$O3XIcfCJ<$Mq0{Yt2Bb4#kt{eES@c9$4t?|PPdiIU1Te$Y0W;a4| zfVlNKq3wnQU`8y38^H|DY9tQq>=kY>))@(V-gp@Z|GCTVt3%~!#7sM2;j_MqF68C# zjT(?w>kQymFH=U=smxps#zm9Jw-IJmbDGDoBe96>(0CiTdm5LxE}ev0>W@h*t{rls z=M|zXxr<16w=(>+e_QmFn4!1#rEN;qGrW-V()VjngUwjl(jB9AFZgQGSXE60hHL{f zR70#iXNYDbxXaD;5!cBdvVb;{^ayyU@!zZ=y4*!K h1kF?y zXbtW>FoN{nt)LXS&J2oD9!L9RmOin=#~61$85a)a<=UAWo$$*HSWOYg@V9mZ={y!i zFpwfUq!5zXxT_%`&IF*id)c?AOoEM%ISF_avVpBxFzZHzPD~(fw^)yOpK?SZ#v%}K zw>$vBz$Oc;_QX5g<$A@b*9I0+UkzZkk9R{MO;r))& HiB z1L?wEj>r_E$RT2M39g^y W8+ouj_X|+-
Om#(+q zjCOe{g}V6^fysIwX^h*I=pw$ECEbShx&p*WMqNY-^G2`_MjJ#6eexFXCfHm$F7SGk zBY>hE8celFYMxFa>+^=D;gTgtCAes4L Jx{Ch(^ZSXTgdUcJ)?Q&y-H6>(HP7LF=s}HPHV75fFne|^M`F@ zTb~^{pa`EstDO<6eS9TY;E5p+z#PAe@JD(XAoT~Aw$_eH?dN=h9wHNszhc1N1-fQB zSj{xaNbC3!3e3GZ2>xJVb-Gy{`i4s;`Ub(zC;bhzWt#m4a$z)Mc?a$Krzw9({(>^f zl3R@gvL%KIz@ukTrfxumjRSP@IjN9l#zVf-E@svP&yxkhTyLKQz?vh8;@v&GE4^}m z&a%puaY_shk5L=94M#=d6vud}V;Bk1sDU7uuY#f~5+qqCssII-ggHw`TEw6y&RM*_ z5^>2b#vG}SRfzOwZRWmHyb%jQXPu7!E}wb8lBoU4n0*Dx6O>OC!H6YWE*Yma-p+ z>Hc3eK6ZWS`sBu090~R)9j}Rh1kHbol|UN(Z-mPKDn}j (zE2_^K*FV|K;Ms38T Xa!?Hxm0-;fSr0@`}pZUz!VMCu;kOg*6?nTyspl=_)#BE%2ph zRn^DZn 7YO& z>4}Fn6FC} -4zRq;cQ%+RUn(daL$VJM=>i*&ovef9*^Z1~U5Z0%fCYbCSsX8xaP z4}4c%E) e^hyd_Eb-!}W-n*Z<3{)bQfce8*0{2!YA`y&3kX8*oc4y?o3 z4-Y2xiW9w4o}+zs8md-HT}{iZKi7NhueJW2Xtulh#Vg8`^Wd` >tQlM8J5OF+ zXDQB26`Jtx-6*FfP!o0Y`w#OCZ^(%TlWB&ludSTMBR=yK?=FXPOqom>&wrQFR~*At z@JKnr){uhjs*|oM=%TW;;0!_M;CB`p8`JjxN5}o=HUGc#?{Tx^e*Vwq|Gu? Qe}3yJ)bMst%sC438m6E9$|j2Z~mPjyg9V9Hg(kU zab?`{U^UDv2~GW@BVi`x|9sB>dH(;qm-{3L=dvsDUY;2SD_m5zYuNRB|Jqu|nJaq7 z2fvf3&305uzOci^IiNJzys^-WiD;E-&*&y2mZRRNWxmWh^y|5l)9~|$wR@vf1nYvU zvAsf8*4@F@y8?2>?|ek=^pdc%&TGQLMNcOz_vnnx7AmW8kHDudW(@RqDC-)B$@bn9 zA2gpVo!&aE+1XxcC>l%{uC>jn57RSP6Q-9t{2qia@)1!Cw930s=P~$3g|q4R&o20E z^^nANT8#N--d%E&t?*CR#K4W8y+_2~a!c$Jd*{Y`roO&e7&5u4Rxfc%F*0E-F|Bvu z 5n|ZZ30y^Y_r{GIzG+Mh5B`MDS*;FS zJM$Yjc~$yXU9T&D`4qWgP6mc^_0K rJ>}#g)7PPKx+veJX9uuUT4V@P3LI{i z5u8}OZ|TL19zTD7`*}gTR%&!z?3e-E!MhkJ89ePNaM4qZvC_JZj-#7&>O};ByOwuY zE9rH1`~-5X%+0@-z5f9mklHrqbA`*6qI3FZ&Yj!$ZW9wj&YDMys~%0cq?;P)R}${7 zoU}=!>%Qyr+sBV~{0LhbRJr!|joTN0ntoyjE+F!JF9B@lid#N!SAO(faO0Gqs;$7K z+|R(K`2Js3n3wmiz(oeQ*lx1s(&@{AAdK@Q`?BTB=l6F2XG7hK&YgcUXTO!T_3zj3 zlDjRRvnxOP_VMFK+tkRq#X6_;&z(IB+@SHv ing1 z9XCR!Jq=!NyH8+l{eKN$$?uX3jG4v8#>Uro^e`~YejW2)=}enzR-njwmm|}U9Xlqq z_c$=H*8v-SrPD=$s|DSX&;9J3^SK%5>EqIcdz#t#_X!I2FP##%_WJAnYp%cc7j^x( ze9q^udcb*)YrV&!l^>m)a_M46$07|rmm`Poo;@DqCA>B)d!PBft6684Pf=U+Ir#-} z^YixG^)Kvzg#^$c)xcOXRO)j%;uI(nKYQlPo3DX^i4zpm{jz`AGRa*iYu8PXB2QO8 Jmvv4FO#mBaJRAT3 literal 0 HcmV?d00001 diff --git a/docs/html/preview/images/doze-diagram-2.png b/docs/html/preview/images/doze-diagram-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c20c6cb2e3235d977460b25e635887bc554aa71f GIT binary patch literal 28396 zcmce;S6EYB)GfRziiil2BBB%{(yKvwQ-VsD5|9oey-AlI6(oRybV4Uc3sR&CN>QW; zp{a<}s7QiTB?P3O#e2T*dCtv$`(FqO$ bMeG+@RRtehGOuI@%}9fe+Xh?JNiQdW#@8%A2I}J>uWK5r(-xye ^&pECgyBc5u`@)}c2FY3|@T?%D)Sb2B7V6SdX*h@NSS8ha ze{83+)n=`1IG3_Nr#LsQ@=DVx<$2m}3h(87zTnmAmS9qD*f0w}>j`?=hZ_HXee1O7 z;R&Apd)qbUe?GE9LP7T0ckz4tve)?kOkC2_Ia n_atf9~Ob-u&Nf{l9 oWLQpJ(S!ds_E>P=9#$ z3$eP>K_cG8&T{>G@`%p=ywZi!p %wvzps_ zY9 VKk{m^uFMv%XJa)oU@h zsGXv6+@2ZTq>z~Tb%|=8=f6+bJA>whE75 Nr$G4_FP`9Mt!cndX*mXUB`~QP!tZN~l80lci;3Q{jXr*PW7o2fk5Lb^C@J7gG`n zRk}Gs>l+Cg{P)-I81cF0 owe8u#& z;9H4`<_@GxjO%rzq x0Y9Em2lLvm*DZIJZly1H z8BZE?db{;?NGbpM5WN3Lo%pYV#qIKrYc-$zpRV<9=eK-TZG!ASPuWMD)lr6KE-`Pf ztQUB-Dy!f$zJK{cd?qE~&68Q+v-i6rgXh7|u6gyTfaXe;XvUVKZHxct!h~wGMNurP zHa+vn#Uc5I#fqs!P2|$L3f~YVT&3a5N2l%C-d374G48Hj9*vvLSGk|rLa%?g +>X%-@frWla}3xN z{_(rx@N=f^sVa7`Z7zakUZg(7ahTR `R#h6|Hd;a1!w}=na5PPe}?x0>jcx|tDw}7$gD5MLnb$?JCA0%|#9y^YHjBky{ znk$nf2Pom6^l~F}c{&DcHne~mTQOqiIS#?F&}}DDB(z2Fm9hyM zG=LuCm5BXsRfZ{-pitz!%dkMU(FV**=#L;wg5f>~S_EdHgH%KpX64>PmSke|L=_{u zqi?-Q+Kg1YD|U8&u 6ao?pyqwT)lni@F$T|57Dl zVpwj*O7t?cez-Ty=S`S<*u%WbyF_zaB0ar8(sD~2ddsRV-2_g;MJREh{11p312_^P zCaAR$Ya`W7X9C?f+5c- bepB_UrqR4$*iG3JTo;lK{`v8;5cG^C zK&oK-9^X LETTc2pWH>cr z`bwbCV&T@IO?BwID6B =;iqjXxb2e>$~~b2)SMg*qA}14Yg|w zg?DJWbx_O8?%@@Ynh}K&r1a~dY}Xh_2gwv7Y`XKNP6I5S &;K$)HFC_*? zmM6pP5x?5se|D99Vi~_cCw-=Mrs9iU;!wtc;d~U&=dV%X?X{;gau_9Q=+Nt 9^U>H#`FJfx>8?zR+7Hz tN5WfNAi1S|8Tm)F`{~AEkd9Kr#OQz+m9zGmJ_ 8t0r42Ol2Lty%1EEHtSsQE{l(M z
$C(-ABn9kapXK>h@Ov|} zgzFKZZcb)#))TpR)2QJ}J7nKAUsS;0vN_g0(SOp@O7O)aCOdGxgQ*Yu&Eusazvb$E zPp?+1l}uvbe#1EvwK5vquMzg;-zVFcAnd2Q&9cMSksXyRrsXiznT^0=5zf}-?rx8p z))9s4={=dV3=Oeq-pBuhKe+o}Pzei?!hEkaTG|N16HtLn2r2seRwc$*A^2@CY?YeX zpEdI_v#5us;oO3_UCSgNS#C`d`m}SqZ^nKJ|3oawy;tUu1Z*XTT0Cy5Cg?md`*|I< zY%*3fK~KU7&oa%deyR05WQ#yIUES3)`4Iqafha#|>^}0j^J&yaQs%+mgVImBvh-ef zLFY$Qc4+U_-x7usmQUDbPs bK*{l28A<&HhKk!W6Ka*-NAMsni+f^N9y~Pd%?Ehvm7j`rBuU|EF(~~0Z-jOe* zsakk}dLg7z1@hTHcJ@^F#zj*q4%GKA-@kvq1~GWWI5MNBxS#cKA&Ng)oADjXHdrF; z(K*jvRZz&PbeDpyxQc}8pr+g#E!Cz1=M;E_;IiD$WK5pk&hQeu+FNB0V40rG#Ff}b zvL*ODr*lCD%IKxh4gJ6AIph2OAXy@FKDkTJD`_ U)$=JE=U=|32F$%pOBeUQTHPPl2aR zE#Q0E7(>2K!ok1AsIzt#u2QNv22Oi|TK2Q!{KBQeRGcd#nyHJ8iQYizCJ*sguU^pA z;-796tWTHY)^hgB=yI&LhxpUgmAO6=4}a@QJ^B(33mmA{+EQO!+1#71H5MD~pR+T| zI+-L2fN>%@Z8xiYQN4UI17HKEN8$1?38OJh4gae#m?y|z%0n&Sgq}yJGunp~k8;VF z)C9p4Zxp(aY@pE3vTfsv=DtILm$lc~2AWQz_7%~-&XG8AdHv6CiiJa`6wTi)i*e02 z1v|evONn!HB*pf7SjxU~gN00+n1;qBGNUT-ZP1g!;mh}R6s{%0-j}CTf3s*i meBK8T@^t@Fj*o)<^QHal2jE*QWRnYHigSO0AmhtjMx#KjL4OFh848u60Sof;eW zhY9@)b#zJUzhh4j8y6lrnytiqV@Z>VCdL1jQ9rgB<8p*gdj0#&_1qgLnY2^H`Ejb+ zDQV-%FY&}p`h)Y>5GllArk4^NZcYkO Rqz{MvG}Rer+M{02Q=cnok Mp5y3;TCGNbn*tf7P-I`b!nI~3XnY8sGRfc$X@N}51cS( z$bmq8w&x&8h)v<6j&wXX=0?)k%@O{049aI!??0%f93g4qZDIiLzP1m%R1KvkEzDQ5 z=MYu#!L_L4nwEL)pPkW-ocTjL>$gGov?9L0{ryu{{#s6@l#c8NSlhBoF$+DdQ0)0d zx|Kg>$UR0(sZUl$`;%0onEY2~DFP$b2&3u-J_!$#vxMHK8nI2ibf5K0e#NcPw)UJ3 z+gDfLianoHK=*gt&1v88Y*m3poG J~mJJx)4A+BG`zZ)m}ZV?)>y|KLB6i5iH%21-xWVyDTMKCPUN|S`# z0)__Zq`kIHoaYmjS4a5v7jCk*&c`vXu%C#2MeJWMP*t;wo0W6=$&X&6`Ikbg3)#ew zkk)jCOTiMBTX+%faj2ESH9Mq9D{60(?@xDP`8BDKgG;(czg;|{4^y~cnrI{TfUDY$ zJpvy8Lu-B=RfBtfq&z7_I$Ayt0EF}0ekhcCy@1}e@NMJ~b5pwvvK#&Chyf^WX(ED; z4X3>?hLU%t^+f`@4bRTlJ*l{fF#dX$c--0Wflf4!a^)7WE_}^##xhRrL)^<#M~GQ2 zwL((4_V-l+mL(x^*|K5v?H^gXqgn|l?a@aJ1(`ZY^40s&HW?TD7S*Idg9}#1@6v1g zLU=!) -u~Wu-Xa62^Vlp{`+6M z(ie>K4nCXo3Nv{X U~v21Ibl&r^E%I Wz*Jc+;YUpTVJG$j@sUU-UF{qj$9L;6KvOuhj3~tcC2pY} zM(iE^lyHTB^!iv?{WY_(MtEKMRd>tm(qQ~zC`@rUDSOl6Ix+(`8V)7J&Yn5CoW^&( zA1`fXUj1pG!H521b8|`8>A-t4jQmKSslZRgEgVLB`vn!@Pix2{qFgc}m>|7~NgeI% z(k(&l^ Tw;<|Gm`HpAFSn3glLtuw^Np2O01}INqim&DHxi5WkZHB3TkH z0@LTv`n$*I7qyXHyX_;VJ6nNgSfYkjp&q_k3WALyjo78q7-1keqL7@l8thuc`$H(q zf`?r3DfnWgS>@r{QDv%mnPb|Rin#$O;KabQPi$JF@(H+qiU{Hhye1@S#6Fno(>s`i zTUatndhWUO>vMwhY&OSGODsi&Z!3CT4YmJ;%_e^}I%lXwXJXv6F|!=Iy;CD`>A&Zz z@%<%A4?nhe9TuXG>V-~KEV{!j=W`Qu9bz#}2nq%hFex)89G^k=I-uzaC}Foy?+8+H zeJ2pXv|P77Z;(Lsyk0>sO|eDs+(gXn={Vc2 I z26HMiUJlmg>g7M+nF{${u)B$*gLYB`6jznLmhsWmp43oA!`=|H$9X|i9`{IMgiqeC z9LuLp23}*=QolX64V6NkLv_mzHK!BeToKuE`Yx4^qYh-zs_^v{mEp4Y<^Kq6bR@mB zU0=p9b!Pk+9uWJBsJ5nD>0RBpxqlG4iW<5 2j} UoU83GG6l$nkti|MJI!!bp8!S;|Wpb;t*myKS#JRo1 zw#Lo^Ft=lWS{XH@oygi^l%L`Q-fYR0G#h6|e}Y8;rl*H2hK_?!wgw7;i$#zGIsz$c z4CojL2uHSdTbldd`dhV-oHTb Q}&(A-kK zypjDVneN+h`$on~_lKyou402(x&AzaJtp|#UD6$- 5_ZOcJkP?HSBOHe?cZUK8Pi?D@rD}B&D zP8_G@5>Gz^54AxtX#Ju^wefcPnXvZH@xUbLM+}f+$a`mD5i^@@bGb`*NzIsYE0j-; zrig_e@(s;0XEMb!P!XLDB$U-Lsum<)xi|>-<3&G4Hk4gx)=mjGN6E8|UV{5c!c=j1 ztI9EaJ$Yo9z+g(Pof$X@ErCN`F>Q#fq3iQH9E8lIDRlW~f;)S*WALr)ooAd6BDqc% zyi4My1Y@_06%s#NY(~UliK?lKVsIiquD!!d1b` I>mlv}J=I`5cfPb0s97Z*%Cp@mS+f zOHfXm4U2uRHDdjtA%G!v=BV<;F#HY;qUOrQ9TB(^F@KBUs}vvYh#7k~&d+&9G59R3 zO&2MG-ml+iv4x89q4OZ0r7_O#nl`>M4KfWxpqW8HoKs#2(@uH$6t|EKq9@J2`Wdze zzuP~?Dr=7FztRf5gyXvA<=E;%k-tO`^5K*0`+-3Rw^9Uhs-mju+s7;MZ$Nk#y^Kl` z7^lgSc5<)5Csr(`3*E6OXB~B4vrQDxzTzy#Hf&aj5`vE>^f}EF@cyg3&h3goGt2c? zXQ(Z5iuqLm#7NF$59k+iLjbKZQ1|9-n1y%$S0*F&2osc;MaInB%GyPoTNsIGIu- W;Lqu?50$TfLohhm*V&nk`6(JDiZ%w6|u4il7I((QV1>|T^-!NW7$E) z8nJ!YDqrL#Pb0qC?Io@FK~v#HK&}FN+DY)Q`b1?LbvV3$%DahV6BMv>r1f=45nu@^ zYf67q*WvzyTH`A_nA<;=5 U4wvY}WwUcOE|Z2G*T&lL(gtSzndcN0$7y&Ze!JK`oE zS_Y0+BJY5Tww}(3QeEI%&h-$&iFrP4R~+B!Nz8Lud#>$cC6AUFe)&hiUxsXL$F7yh zI@%GM3PS|Kanm&{XoIjM{mCY|9C0_3v4Y*oocai%JpXi^k~$4k2Z&cGt75iLC) 86C-8lV0$EHlW?a3EeR0)xwlB)Qcn7jO5XyYy|E>#W(XJ z?3(o_N-veBg%6}9tiacUEiz!Rs#lpy!jP$Gx|;GDUCpv2!~_3n_a+bX1iRgoVQ0 asjL0B ze0w({oF&aq2) +HyW^L8+r3>BlfnRnQr8$dncn5Pe*ZSjf%~O z2`0|jNmHiqO8oG!Ifd%XQe26lwS^EuH#`RuX`DFd-q`vat6rz%?L b*~2ReUHSFDxlc&a#YN}Y-TI=AYzx3uJm ? zfZ!r!9^Ln%F-lgpPYsZ**zNfV=V$#`ew3 KEw}g z9WzJmE1}(@K2BP3Z^g8_p{l;PH- tl6wwvQfFH zR U`yu1M1e&)GNs9(0 z!tudxzl&bNhX&@8P4c5iK`;v!rvrg_9AD?7_ut|_>V3K8tcEU?`c(qt_ENW2Jyft+ z<=Fn?$B!96a|>QKK1;W>+|G9i=OyP{>eUz+tN5 A2b)I1h_@0|11s|sQ<|xv!s_1K_5!8lzC<00_rX(WMpe0 z#3B9Q#B|wmtq5u*Xo#vrRw9`Ga<;2A9W#JT%x>hQPfWm(53#{C3%Z{-yr acVeCx2; zaowo?zc^vrrgdJ~V-5s9-T6glcCGpNABS==^M&}Ke{Ux~yhB!K+&LtAUvrqu_2-Df zJ;tsz_ g#;xOZk1s^%qsixW(zuL&Sve& z!Dh~e+Jl{ak( Oyrg8 Npyjiim69eXZkO~wUqr2J?Xtm`%NGHp07~B-Jbncq zO1194U#VFh^U}MMz>t7@08qt6XSL@79}RXpiQ@1n=vUB;HZ&%n-Jat#QM~EPXPENh z8nUZ|IW(Wlrk$cklT|*xgg_*d80sHmf&{ed2I>EBK(<@qVmp?D7m9_I>` V z?s(5N(AZZW*R1_tFMzmqN*Rj!TR^+Nwin=`*Z$t-#iI)MR<`e^2q-Vxn$v!>IH}VF zZ@Q|Ta;%p1J3c#Bx~xEz&~X38MZ=VPV(6=YTY3?r$xOZ+*{9e4^n8up&T1U?jg#56 zrRfZXi)uaz&hcxH$22|Ijua*A?aS()%}TQ9?&)SQBSu1>Gt6CeklvmjIRer}bU>F* zlBmhE$?Q?@Vcs9i3zI;NMO0O);zOe`Iwr%SXw`#2J>PgQ6&pvgC;iA}IQid!*yh26 z*IGeN+yWJZAlHQp7noJ0Sx liNltUC^j!y3#MHhoOwk )`D>ImnG`{EYk)ClPd(zjPGl)$gr_t?@pH(eRn#puLbVs zrkImX-hQ1IY+=M+6T0>1^-R}%P?gp^lNGXEH4~eGHyeHWmBUQeK!O>fYu`>Oi=Jk% z*FZ)679mKLFP_QS&tb7I!&ooxMmB7;z~Gid<5dP^!`Fl_Uxnj;0%)eUuyA`Ur)|Na z_V#G(cWm?>3y%cc>l&x2 GqSu)G9selWMBBTM ydM#rf})s9^hb z+v@x&(Q7qi`BAS&`!c7eoG>0R?0}H_Qw#}JiMom02kFBQdDFCU3N9bSuJzYZtaAK1 zTQH_ClqtERWRDb*>gNU7-uz5nv8vZ=x&X($-K$vSh3LRdWT;ur-+Np|dP*=}v%O%G zzT!r$%9+3OZR^1&ziW+=!#=f`Y)Aag2}Fm7v*%H_Bd&0SzKpYeZAKDK&KI6!f~I|Y zd3K8V_JvhalP)%x@U!+Dcmjs63{CCFp#`+_>1sa+N(O;|D8PCh fe_XKbFGeUNKZZ>^!jlm?s%rF`7%`HFO59qe^6%LqXvnI_Z=sg zuPahS=(5E`W33W9+O4+%-MnG6p@|x7lkVPyrk5}0udpSXi?g1xznBihXiT3vUDhAA zKK!Ed;o6nD5)6F;8q{F+R0IcVUmg{ahm~Sc ILMwtr##V zUgra0aC74PU23rHSw=~dY)vn!9z3b=w{qR*0`!?=KDvdvKVuz@x!2hgvh~}BYih>) zbMW569555JN%7n@sjTg05;^dLSn*Yr9eP9uU$5`X^>c=mi_d0dh? k9G@<;nEM8eY40YiR55a6x2K-nn8O4Q zYLlnCkquc`WvySy;sfpyRPMkb8-R`P!rg(=Be`q)?s}S(XoMNs`A@cc<4#QpQ6H3} z3B}-QtxuJhzAz_+zu>u_X!xG%p_}qc2nea2EDoV^_j`GQT^~Fu$}`|}%bs0|6;Y$> zb-%3t*(y~ar216Xz8f3RDV@rHYH;m>BgLxFmMilp4Di50MGxxxg7a tOR&dPHaY2E0QPM7P#9UPtR2~V#w+9zSc*Yv2=R~M9L07aJTJs?93yUERJ z2G`8TBwU|-9W>1Nv=%e_1fOWhUfp|`9pprcG8&tA&7P1QiY9jwmLz%!6bE(?^FVUW z?&xy4ewmOTbP4^i18D)r`Fv9p>-PeWi51OEy3d=IGRzO8;ZppR_%H#5Y&ec~B+ sH87*|$}bZpd$P}&}1t%afUB-|3~ zH1W*k5no2;OUZi)pr-+L-{gA(quZE!U=hZerVxkk!tc1}lbOlZ>WJZcUWvGc^Fu9e z^^aFDxCL(1$_>Qfy8&C{#%`o(^;12I6J2Ma4Xc;i#DBC5FdI!|gxOFeG2^vml@e;- z5}fWcqvLVq1(+V7-_9CdcM7yQRrm~ZBLVjf)Rl&nr3Bo<8TgLA5xd<*oEmI`Piu4= zeg#!CZr3!YR4lxc!T8LFz_EY%Ph9j~BP7=l-L+>9+m3MxP%F-rm3a4KwPktA@cC$@ z!P^f>LW9E XF%6RP*0d@9d)I1SM4?P}g5yNg9$Z87HLZ*SrXkCe+JsMpu)XDov zAAG}sHHv76v>MHAJC>d4(yFGH{x(C+{1ju7pyu%7nCJ1gF7$>~iAz&zQUxYbohBk?{qHb=ZsQ3= zRM`FdfA}H5AeFO8A+a AFRy2S0ytJ~v4*5$?{rp=S4^=b( zoHwB5rrmI%r!VS5{cv;|H?hHvoR>TNn<5H0KrORDW$v{&7abiVCB^wt>!Fry!3%np zJsV8=w=2$!-i3v5a`wYImk1Z=xCC)Rqfb>2TQRu|_HP)?J@g7&m^DQBnK6Co?X2e6 zj;y2p_(?-#thmX_4Yv19X};5_#_ Xzbs3@W=PZ?-D;SeakPRcw-+zdx0a=s} zy`p85X3?XZ=fAS~&f1L{`b#Qrf;n6ToL%W`waawvAx8P+RErE%&&o4%;EhYgUSDfA z0o|>@GsS@xwE?Up7h^{AS~MQ#6ciqV*`&Q=zyE_4#p6ga??1JO+&F_)bGE&=U-FJn z)A%(L!%J7Y0$Nyrxcp)wxMfRT!l}CM4Ca>M#h{l>_gvere5SMibfvzA=Dt6>R&dzK z9b422Yx2NyRtR!qI*wgHy)r1SO4`)(ZHCTAZ)i&Em&(A0_Aw^;omzY%>*z)2_9|J2 z`g^`hajuQewjaaS yh zr hE! kU9F=SOO(n9BkUZ;+{PlQ1cS!0x}|quRNCvn%2Ki-Hw&s9=nX^ zu4`bReTYagX}^0NX;*(}0IY-`Rfc2p{LkXB;qFSql)nmzQ X;aF4So%!1J3K%a*1l=`pQjpo8)@w1>m zfV|Ml3~!zFC^! fKAyI-LBz|7#*?b|JMo2E>-(L<+rU7UBJkUEETYk}>cW~T^cBCjE f;+;jVdR*L%X|YLQbZaO=;a@MoUF;uQ(n!fb;lg!bH!M z%IvJ>S!%o{sD0(QeGW#&vYLz4s6&Jc!S_@+zFPW6QM1;l;-~e$Zr@#hRjI9wBn!uT z%coWrWmt@8%d+VOVs7PlotN5I&1x}672%7UYGw%6tEJMp)(+H!5vOymH*}P=UuwGR zua;dZ$eR4H*3xeg@FJCkTxF?v+>&Wv41N`aLIq|ziyWefA|kZ@g_EaW wiSXEXtxB24XYZ2u1=&-Dr1{LonBB6E;5=SLn87MKbr9eBO7Bb1BbhHu z6pmLMt(M%Ukshx^K<0>j)kkY8cnIrqz0*d>3(p;C*Mc{yt&++c>dk?=-YX#^F_^ z*`#txR%vg)y5%@8lLwJPRzmd7BPjYMj|v2|?R1p`Gfr|NSQ@O~6ku+IQ?7`4WMeo5 zwd-n2nA>T;i$O}BjbDl5RruKVCzO_c(@EbzqR7@!32SCGKrZ_|wNkp*RI!*N6faHA ztpvL3v8F3iJX)h#z#i+~#9>HLep@aaztyjFhqy*ti^e2=qkpG>J`FJw$+gpDY*Gd} zF@%&w!3pn_V)X9Jl CI*8z(F& zgiCkL_6(%uvL^|(W!}wXJhw(OXibZ6?TW4(D+w_dS;+b67g>Q$lLEqFyZ6)+ib{cG zX63+#+w(We*`LSb{uP?WhqH0y6di{#TeZ{_oxA3G2L%*wcS8{+W9JKUKRg?>?sLmH zxT&Hg;oSJ~rJ5(z!Hc^#Rc2vDwlz|4+&ok*g!Awu3TKzbw1J8lUD`#NYxkQ qTkxiW07FVL)Ec73ErS*da{1jSa*f(OQCFHHXBi5M@NM|Tw?ttWkEh5|8>fRG ze*QukKE#NfFYEc&*~KgaWJDFo$qBPC(QiB!1= `P~mrZa718?IFcw ztbB8o-T#lY9Q^22R(u~I1d7g)x~OK$<5Zt*VwQlmtpmxfa`6&jFDOOe@GjZz9U&0X zH3hYdcnvvh0Wm^@XmP?G3?{M3zPg5>JX~J`T+yDC1R7JY6$etVS8iIbIzL?M3gr#5 zVd_!!25ouTTHXIB(jM~8CLe%;e%ATmHcI}?r~%NL9z9L#-MB)j0pj$`TC8)%@8(_) z+pxDzYhCfdQY_nBXS7DG4tB3-r}SE`QX>vQbi}zPjQ!OlTl;Xqj^+>&L9!!*&Nj%d zy+DZ2MT+$Y*GRp1Kzm8=IX&9zs9Bbim+hj{gON`-^&mt?Ck8idHgtcNbPjA`97$&s zmeZ|tgYj>)I_oIL-`n a4&DdJ*seAi59Z z1m1cMm-UAAToP3Afoe-~FH_U3qNuBT8D8mMlV1B*gPzkob^fFHKs#s{$B-O V3~~RQ-n$f7}eJzmE&ABkO$Sm z@h)w_6ZbFl63-;Jx$ZogQJ4~K-+nP84nGTIhwAOfz>MuK@#ax6yb{oy?tvdgbc`#L zcV4PS(iS#*vQQ9JlP_2SkYnsTzGgdQG8O`w0Bw$(ba!g-V}9yrIp_BA#agHn9mA`B z6WM;!z8}YPoc3X1)`i~dkXWj~cIJN;n46xv?<~@?%n4uLS`XP~3w+#?STu-bgm<{X zM(}_d7HY|yYs%cM6hv?I_yWspin(cEG0&T(c}=-xCgr9TRpkz&p*z5%r-_ote3$fZ z-0K;=)6@+W2Zfgzxz~~R;xX2hpFOr|?vdo%$XBABkyVan63Z5eX_5R*Rebu0*iXL} zYw=1^W-{?OI>KHSb#4o+t;jsa;Q}@NI)GwqqxUKclCc(5>oM@%e{%h`tzUa5R~%Ik zZ{nRdY6fi&y*ka{Rk^@t{`1eHvA #&1Fa z%>+q1mlaksy`j50CC#I*r+`D}Eo1rC&aTdU29^(w1KQ8m^y@7cmH1LVd!=55g?fM9 zLCRZ)(xR^U*RRwXbx`AJY+iD5H?Z3$4|C?KI%zw(5W#oO?Q`ZjHj~GLQu8P;sY}cd zuSmp^>?TXBuIz_c W#)YzC)*qwXttDMel>PJq#$@G;q_sdf)<5gbG z^XtG^i@=Aic-ox ^4cDI-FE$m+f;pMd@|RKV!2Tr$J;5x9qE^7VtCqd+tuopvbsaV( zcn(;|SH A`mtbVBZmsG0SwmNeyk|?ETA+=tvRxC?^|n z*$nz-EZP>t!e%xE%*Xx`&0!K=9rASFo(pIzXRDd((&!Cxq`eDQ6wP?p&fFO;TkPP) znY@ Q`yjAdjx*T>8 UfEQj(l0^*xsxVpA>;N`gg3L;bHOnU)$++_Ozn~w3}$}%;koCV}U!w+QpPU z-a7>ZPXTROXYYcla0HLampZQ=2Ew{GP3NRS;`oEuzz{Yz@|4WMi!s-hyLS(sPI+>a znEo-Rc>t1+o5?!Bmgc%0peJ?`ElHlHN9SAU8HDNoovgq=1}>m?Np7ExBZ%123cimX zwu+IcG1%x2vyNQxf$HOEkRMQEBB-jy<&GND_b*k(>n3NcnhcHD-(-a}ZkMl`jLm>c zFdK$U4imbX4#DQN3CCwX=5yh{ALOSLu6F|@Z$qSH!~J)5z^>He*Cabkxnabf3COb? z0s&@`KucKoNI^da3YQq1eCOUvti{=>AS~v?=G}HM>3|yB&o68sCcgPn?VEVEsNy1= zY}qo;6#jPFEV2{WWli9IiDST*&^DRa(rf#49BA=!n&V23x0rYTM31GI5XZUUepTCu z#;Kc>6NujV*b&DwgST6I|2>eVsG(*i;SZMU&$X{B#cKV!Vq$z2zo-Uld2PxIuB=|U zXbj~wMU8AGU7=_?*EK|C?C`zvW69RI@{ZsOAW^B-zgF%}PPTGo6xI3gAS)yZGp&JK z(r*D?fu(w&3bUQ!m8 IchhNrSC&$X|6=e3A#td!W-a3(Y&$ zJ}Vpw101Ot+R T+ D$ Y@<`e!FerEbxMmTf0rODHfpEMribwil$Vboj<- H9nlBCI49`IwdE8e@%+oAEfV@XFB_gWv> z{#}c@XiqwX -F&`W?F-r95ZR$T}!eZ2Nys=x5m+C*5# z@j@~E&ra=VBDYcw#&SUF(g%sHS>2l>)-$hXqs&32^OxnB>6jBUMK%Bx`{oLF3124P zm1b+Lkk8?cU+M0IK0+pybeLy08YUfM&-!zHiG{X2Lrj0D1)$rHaOy*B)M ?MKOCDq<-?Uc8!!zCuD=FE>?RfD^FA1`PjEY@XqQPgnARhE0s!Suhe z+6yQ>cj&k&RaDBz?)&GGB+MqvC=(;@?%RGE5F{C=Z<`s?UrOq!yi;3=LY=dkNL9j~ zQFf`%gy^Cg(FI?!7kOc+m^PtLVP3J75BZtk=K_8SI=4l5@4tfs;{V>S%jy%?7Zu{1 z3)6W@__Epx1fgY$5JEhD+!8v!%)MqQOhnC}d|0qs{^BaPEfCTzP%QXG$NCu`kO)Uk zwH#3eJ{igsQude>&c=v+xO`C>5yb_13uZ|@x_ri!!*Vc1*51E>Y-mCeT1L}9MKEHc zr=C+Bz(TBQb1rdO+kcz%_W=I_C`v6G_WCR6(72K6>F}-H9tl+nUkfC`tbrE&d4fr_ z*4>Yqy19zKLLyJR3zuR2mxDwR;{fMMo`YA$_1UEB%!|Ozt#fdar;kjVHxQYl$`T*B ztOmXv`~Hmc$36=3*_k4kdV;7UgAqjRx$OgiEu@jGF#NN`ywoGD(2XXWXT_Bw2w+)p z0Y*1q5k3QVX9xaio)Hw)0hQ-ku@nhqZdVH9LodOoV0y)p?TqF7iMj|;PAa|%sQ#2h zY|v0Q#EI}P!w`@sDU)+kLoIwajRM*)-&7IYb~tK8ocU?%u(jt;jOv-BYy-?+7Zy?P zbl5f2l369u&rwvEcI4s~`p=9%a Z-SO9%lJ6$uJk_tYA4pDyLej9$05;q@8h4A>$7l04%G!$q8V^ihgBaput zePTPYI(K9k|NB@HL*jNUVJ~@JLGcOT;@6N&LjffpR_6fMEN6cJ(CtOUp#gI7sMB|3 zj*`!NM~!-ljk^D6-|z}$wxjmjJo1aeM{0N`a4``(K&(yySH_{(Kq#yeg_ONb%G_=+ z8oR8JT_6aCj +kj;{lyRqsKNX?+p92(;uDS@-IRhx{t!zb)R9MeTg5?`sEMO z8WaRZTgldI=k6TxLSkCK-nAsYdJ%Ui>Kc|ZqL-o^aAs-ZSm9%gS;A2xn+9E#p*as$ z^r!8_!T)*zUK*I_d_5BAB_cYposT+R 7ooYrErkr4;g*4Ox;&z`; zefWvjZnoEXj~27@u!vNwvdh%k7)1s;FHv)g0X+}Nffjt`%5xF&bOi7)U~7Db^dVOd znO%2H#N%E1BM05K8F||_&uYoM!c>&Wl k0u642Bqd>75il na?d!^fJn%{ZV2e9m5gGtRhxK4cAOoS*{HSfZTzIS33!jAL%80!oS8XvIvg=6X1i z?AS&Vf@YgQp^WsgumHm9dUTB}_zFjKcnz<4!9zc?*95;m4+kCTqxLAh0kD0YMEKCx zg25?R&c%H71nKFE@JrD1(%)C0B@`78`uiNo{t%c+rki!!hm=eMD=^{LP{8i1X2LG# z0^|f`pZD~ARZT0EP!D$7*6>>dtn(Ud+b_e(?%1COy!Wg0XV_io%fFMa_`j_>@%FSm zpx3d47Zs)kH-K-oISikslb+tf-T75zxVLI(h42 KDtn*(g zhOX1YkTl&!Tn@ l3pfq;|{7*wPMsS!ew?_uUW|IVLt*80}^&e?xhB-z<} zKjnJv`?{{@4l6=`#!-f9fBEOE (=u=yCGffP|);k9EY^!v5H%9 zF0^}bf-zd0Fx9=CYVZ!PrA_dlGvB@y*`{nOMtfhGJ6Rx1%tkbYhlJF4=6=2Dn%i5k zpEeL49^Q{%Ji 8B#}D}yJJf6 zpy>`mx2=gI2~A$OD}~uuwC3VWFGdR1y;Syf03%yn8v2QnVJ>AmpX5a|ize3#|M?Bv z2L>2uxx|RHbwpGPYVL?{yK(ZzoCdq+p}M%dCnIH&(`+Y_7ecqx!9Htd^9iZnV${BO zKoK5KQLC-FI+tDFj2g tD(N~!*RsHxUjAao!E|Zn i6Sgm++l=>6S{Xb0*WJ92i4*em4$ls${*Q9dx@nEUk_Xa?6@NA~Pv zKi9rIzt)^Pnbpu_X@b% Ip*|kF)9lXi6dVJ`Y*v?Y|zv$sc`d1D4 z0j{~1Khzt#NxZ!#bk+AmW+7(7q47w?{;}zGbQxs+{n}YQqUqhn FqT=N>Fr1lmFp?imvfOEOz8qUyq}{3D bL(!^Fr$@b7`QK%Iup8h7#jTWaxY8eR%si@X<6ur1_6% _RzO>Yn@3W@YL2eCDdq6edDrVkk&=o;stXkPc)(by)X($!XuaGne_lw#!`c z-3>XTeBE{9FkD(87}O2`8>YNOpxcIrL&^hF8mRO?Ju1YwckscOjW?3UGQQhs_!k6G zi(EfBOI+WuFmqm^S~^C{2#PfAfb2*?GzawFI-Bxv%d};2MASz{G#;9+M;9*k)+464 z39^Sz_TH>ugcwWsw*M9!9=y1Hh{WlZXi0NKJM6>NmHN%oL!apuHx(W~F5z>9#NZ{S zEz7HX9+firS&1Ny5Ij>gETp8X7LO^>pE&d+Cb=bC|LY2uG&_BbAR}d|b2U<$8uTK! zhxq`OI8O1p$qufNqkj8k*J2L-#V<4H6w;Edj^vW |3Iba&3L?5M_0gAU0qtPTMGh{YJ9i zAVu$47w$CB7Ng0Iv<_&p@;>1v<_$J={Z$xh^n_MmX~v3NwHcf+%4NrOkgdjS;rbq- z`#|*s-M5m?TV{j8>EH^r2h{?fi~xWN(lwr8B>_a(1s7Z~ w z{kY!3CUZJU>r!dU5&>!DCgb-8k?#7-N_-uz=s0)VVba63$ZuqGeQ_>jBBa@%m=+tJ z>z9N<*%3^B#%Z~mGnq 9DTUs78!{E%=3o)9 XuB0qzy@--4|9BnR@2{X#k9n10?Id?a< ziub7X^_~0Hm|TM4yVV5KKP13V;!uJv3%??)snZ322QOOwAz@6&&^eJ=oYi0?QeU@n zvs~(Z(8Y8QM^040WM{k$%>kgs^QKx2pp{Z1inrAkS06fl%>CAxMIyfn6)sqO4%?+^ zS2UCUQkR9v(NAo$4Ue|3__&HFjZDiZT>8w3u;U&gn{u@AQpvc=S4CUY1}}I@qdz6c zsQahM9}+!wk2IH9j!7AWV_+Mhz#A1UT&=O(>>@vFYg@VEV|;tQZ^`gHL&79RH~9yO zIO1V0Q!4rf%sT4_O>ZTQ^ 7E!5j9po)S%dE^y)wvjuGlLN3x2`}T#Dp$vwd*?AuY~=&lZCl z3-8B{WMBG&QhxsF6l;vYQv*X5Nb~ayF4)L^y1I0!65#P>L#6d>+{6T`u`~b9vvpQy z<52B)X;z}0EN%p-n0f?xUIQN3(A%4WCK%08`i07 Bv|7Z=z(YGoIbv`8Xk^Yv zGPj4rUP`Js`QRLj7XaX3grPi+E+mCkGW1df6O%+L(F5b-<64*gSkNJsyH^igi1uD$ zO+%CW%d}-d E(ovqDLz<0G!?m=uT1m{uycUfL 9EO2aoqn(;HHAE@Df57fnX9)muVhQ(M;9z zeN^hXteMy`iW@X}S#sJgKOyYKZ$dF-{M)!-xJ7TY&PRB{4@0{|ZADKB6PKgD?Hy9L z393K8#qyw9q?4snE*7TECm+O*bGzznzRkLBMG!}VO5IYXLH(9 3{7>R2AtHmJF zfWsMHwd`vh8_@Korjtk*SY0VW?ZfluyhGh|p7g-FM{LTqRxVk9Xb2IH&aNo8uz} zle1=}5`HVSg>@gD?~%>z*$Fs9KCEto2Qmsk^r}!FmawGPFE5~mIE2BCNb8~*u+Mb^ zjEtM?sPcgdc5Q3TNRUwoV%|5c)?7b7k-yvjocw`4*|FwOwxDdxtw0l_!mM`l;I^g5 zYXND?AzB<|#75m#p&|GJ&vdhrUwpT-@OQx||KM<@&6Ku|*Z})(*~G!BzlS8JQ$N%f z^sgqINdCcOa32hQ+YU!;v|wd4iSC1;`OEU~R1gOH4_psck0$Fau70go6a5z3shIpj z93EYEf2uE eUdR_HiF>#bOs>6 z2g>QZH3#}V vjec7Cd6uf7}xy@vf_m#tv03ZsHMtgRP7yL4NOr7a-enn>8 zpk1R@C+QvTsaN)X$X+GL-0k;e+Hw~ l<=FnZFt^PP}UYIA-4eX&mCaQdXDLC zj%{uI$VP7SRkX(B*HgD5*dXG)jH1@F9yL_N?Qt)@a7N@<+YKL+*6a<}171!DokP&H zR?;|Et3>}%`E**rQ+<%mkvQM9YhS~VrSjXQj{bv $h*j16 zw!;{Ty!P2pd^XWj4|V9l@QtcjKpK8pjLH<5uPZ8g{bKal*FU%#v@qg8x|whL*kWI? zjdA)KrCQFg7S)RPU6;zq5fxvz`P#S!2m@ba%jAnc3cCV1vItPGYZ|n_)l9;g#OjSH zD^F=is4c~Jcfs9#%GQ>IDdkl4__Ni@a%mwJG&3kadx-oU8?IE8xsp03~mOPhlQKFVcnmBZA44-3?i8ADB&_Z zukPv5VfH5wi#k)MZxI(V-Gq{I?%fX-*<{T_lf64X`QpFb-I@HC(r%m F@$0vih4_YIK) zHRWgtN0S_>pROW|K^hw~2m|P`-PKyX4U80X5e5FHLhLF`=24L^)0KdAJJx?>r;o=~ z3ktQ7ZmQ<(h?Qo5tuEe2OkzeE&A?Pv4*2tIGq$Vp?9aN%Nrw%rTDN2~SkWp=d5=mk zvJq^spQ@$u ~|C2_+BAMyRdF zwmr+&zNrH`9TVZ0w(M@&>1Cm@oA )JJEh8Mwe$Fljlrp4yQG-! zSg?Jlx4vrliFK*#YT{&M#A6;a{17ifp zEnj>J2zmhPL=-(V?62Jq^^h`YF{ka)B6-mg$_HAXM)jWqn4LYBd5~SL<7JX?nTCFy z@A23#w&A33ikK2=-W#X%sKAL#Owh^eZsI9@H9 ymsguuKgBa$~UA z)Yql0)>=a? 6Z%}7%g*tDfvx_1S40KV^0Yiq0jJ+*jh&?53gLw#ozBP7Y2#twXV zXi!-H04A!siCgEVa<2cNM1I?x?Lrj)(Qf+fts4XNruv_ft1RZ_F|x;U1@9s~{YKtJ z4ED_`!Vjjz 8yrN46^1=&)VU!;Q(!~444!8g_k|fg%L{s9@6L&`?)toy0QCRD6*#bfN$DxRsHBS z)hEtemrm8$C^(6_5UnU ~eot<^j1C{? -UbZI|+xdifuU zQGwx)h@ZDE*e5)uH7EKYEX@43_Ld|*uU^;uP0p6-^ eGwpq1 z@8jJW+!dSh)rmFkHDPmS*8XUw7>KC{X500WKU(dYyEN<3WZp)nbUKXnto&(Y0GYTx z_yhv!+wYoNxWt-^BBd(G2tz4ledBtLOh<06iBL0k X)-SRiIEZm(vLXqe>Z;dHKNR`K|W%4ABgWVIG&`4dTho91`;@i$h&-0a?^J`e!E{ z4+F(To5niOVle9vHyM68E76NyP^H#eiXg_mp>zjwK3_+8S8t_7k{EZPdsD;+K8t8p z4XE5%lL6RDf9+>xf*_xQKmrNrgH0#l6(8FHL+|P6zc?zrZK?C|LMK>QD{Q+z{_&I& zRDz;P5Y+-(IYC=De%BEXERWPH)uxseXIkpdvD^i54@!-!ZA;5sy`$J2m;R^%WHeJI zHv?3`WhIiZi-swkVwRZh6+>phz2VN^OZ_j $b}-vr3PcoatEA00;& zxl#Go9RVK=XbA6MK# `YUF2!e-X?x7G*g*V;T8HVYBTsbybU@>xNS?Mc zfSp(c^V3eN@=nz{hE-kI^Wo&JJ-xi&x%>p7sW73bJYY9iWZAZH?C)}2AYxA-G18!h zl_wy)E95!5&)#W1qv<-E3ivjI +s^++z&e5IQZ{8~I{6I(obE%$7L86+m`vF{;V@AJfoTEJcm|G651Z}&LfZU$O! zC(r;PFEc>9>4~eX@3slZC=~>pd}mu~@ewwsbl}qFoEH+0s%p2kDIk^o1oVjg(1dQv z%F9;oe|m2I+#*YG!e=VXjdr3@G3Hchr`Y`5ZMf=WqBHl~Icb7adc7K;4U*E934{Sq z1OYeBby}aPJ8SgpJiwANr^?9S#TLLa)Z&-CbMa!YK71(%RN$P2JC{O(E4jg0Yl`qp zQErLMD?JAH3fg>LN3Fs;{>Jk;|E!_`vh}VvpU+c!2i-0>#&usVat9Qz*Yq|UV3LEu z5_N7k*ATn1QjW<5rE#Jr$Jyp{PT|BSBgU3vwR*((eHo G6#LtwRjs$yv za0tU<=cJfPkvZF@n1M$#L3g)IXLN1ly))WK*V3Yg@}fzM6tO#lOKY7D2UI~aTVs~_ z&QZtSz;NzKMcLo)COx2ytDTD0=9|3{6TTQF2AWJ_KB*a71}#b?F+qLKrZ!G8J`(Un z{{-dD)P*|iIai6dpVk;JRew|^9)-unXlhn$b>{fBUXgekq~EO@EoVs`4DoyJbE|7_ z*D*lt7K=a)heMi|Yy=+6ioMDl_;M>%p@NP=d(sXAt^| ?ju;10Ekz409r$^q>3Us9&>0Lpbsii)ZTF+T=qvoc_^1VOdfqNJ0(^$!)&-%5JR zK1sXb@FUT(Xhw8LYe6!5X!yk5#%Tsx6=~Dob=e<*xEY<~EnJo8WPL*aq)0X=qT`#d z`i{5-Xr6^Al7`6f_^SxS* hoV}y I6hHp()XQ{Tj((reKh{k%~wwhDj%6Kw*WYOQ`r=yTu`)Hdlk&HUu|u zbImeIWV|WzdNEFsfm1?{ov8SuBUqbg*s;lw0Xjr-7#2T*#bVKb($fH%wh*-42hl^R z0ym#WT{xsQ7Jy)v{pM>bG^LC=RQ7%p@aUonTo;-^V?+p{bhXJ%U$i`7v)oLCL`9A?FwHv;8ic6kXjIjcFNs+FrGLF} z)824NNBOk%%MVk(FxBT9U+c@cFK!dA=G(4ILWHa!1-lSY4$6pxiIcN-S_T1#>{(9l zpj-wq|0@^2@wo#2da=;P-+8oWO6*n8Izlf!LVIF<-N>`?egEpVk`|{G>lnPqccB5k z`omoM3Rs}hVco?*(gGRgYn4Lr#t5$ %rszR`;r8i+ryTZlwI=s1b+yh1 zpz^B4Udh4Z#u=h5oa }w+eKt($X?y=nY67k@iEo*05zw>kB?eEKOnrlXI z5R*7s_c&>hY9}bAC^NutZz4b4A=OrvhA%yeFgkPQt}d{QXzu!<`{>@DLaRc@+CO25 zV?e9S2bw}QHn;+132HJs2mg6RtJ19Otj8EruvA=L6lkygFK_z}DZjwwXd@6wMvod$ zXFg6NaV3Z*BdYofo$j9 TErn2mfaIwQ zJzbhz2Uv+u@o3ry&1XmRU3Cm+?%<~pxt6H%$ZiI@9G_ZQ=E~wVBX_p|_D`;shRwfe z?T8eF>?8&gMFc3UxHA3Mh>NrqQXZhss{~;7`mqx!)<9H5`y+I9G&lc7V?w~rtV-Ua zSD+JKdg|QwY^I|abN@sYHr$b>T064Vww@V&HB7xwT%|CzB?kg2-~eDQD6va_6NG-% z0@fDl0wS91_uKa~J_u6aL)mm#k#-t^WGrRk;yN@N(HV#^u%mWgOj{;m5Ceun727 zAf BUbtUvfu2FxtWN3xDJEmcPL4NsoF9Z_vFqqlNcrUPWza7%T+%;MF zClGnS0iF#UJNh{U0#I`2ADh4yAM&(ib7`i=sGh7E*V|K1eYJNmc)@-M_uObqovmI~ zwX~7Lof17H5@Jx-&*PzrQ;)AcLQlUecXH=9&{i3X&ZpkMTh&M9c#|P~)<&hD(bc4% zcOM@sb9V3H(<8mJH{X1Sew`TQp0nBeJJ||DXh^e|$@5NE?tA*FV=QEpbmltQv{`07 z_D$nEMRdJIwiE*nFLo%2Z*EJUecVsxRlk4S;5=5gS|4gu7y4zUu@*b@v$c(Uk5$|g z^(DMDH@m1hI-%3C|JPW-f)W49t+7~((nma|{!Nj|O@qa*iy=ge!m2C0bi6N5yV8t( z>Ftls$Nk*<^sRZ4y1D*Ze(*fU@CA9~DU-eUcx{j{Uu+XcX@0M6%Vemp24j>ItM@7e zRuN4@vVonSGm>y2BwmqPCjD1&Zr1EU<-V)2LB;sD!wb=aO(jO62GO(Gr#45u%lWG- zpN(|dl#Nnjcow6!L1V_XJbc`1 A|8wHMpZ)j5e>?s^ zC;t1{|BQnFZ!Xdm>UCGGYwS}7nX|0W`WrW?`CR;mc^-Q?Ix{O2-4Xq^MmB-h(6mYB zukwjJ&km-P0j_VVC~2#;#KU^0v42PpQsZhd2g+yOQ~3#&dh?44$_h)!3$%sVAaMy^ z18#kVxNy908nqkJcUb%D&P@7$t63+5Px46e;y~jdS8v5~HWr%;dyV%%`p_cv5XeO0 zEAn{DPi5!DaYycU*B;RYLQ+x<_aG!ja64H3pYiy=Mk4h8>c5ztz()d*TSUf?KUu3n zj!dZ57|+U<_HX9L{xsI+^?OI#A{houeiAxj{y?-9Ca??pVy&0237c5#3?8rr$aQA^ zt=TjReslA9>y0Q7K*$<2Y$mA{(%Q&RB>BUqndfVE`FAHt#pm(f(#G^OpQ;?)nG^rL z)8PDc!;o&M1*R=Mh1Z`x c`!~xdZUb zh-`|oL}U93k@LChSf*DG_kggJ`)0`JenfA5H*Cast^cV-@4JZ3`8Ux?jvIh#8m=`_ ;dBa?th?jQg80IpzP;Mry*Ufl^2fe+@4Es z @cm7D!` z=d_`Eivt9{>TFM~vSfv?!|9#Z%IC@Ot>#c|N$5XILs(meW!w*|eeyf+{d1g|20U$u zF79a7KZ}M}=8rgC)dzn!0lL>Y>ep9!)F9E3o!gyUkLf66`V-aMA4QmB0CNnNk~i2{ zZQ5sV!;5AHpvk=o?-?4Qjc($AX$S%GZn7p6=?w~?f$aCKq#U4r)sc7czQ6|ucLO@) z1N@C04SfmN${ZHSAnW?X@K=araF+q^In#O(d~sK+M#25UCnH~B-NCax`{6`r^3lQC zOJ|j4Eq5}^T=fd$!Oy^t7EeF}p+P>HsXqH0@23^t2EHuIawm8x;Mi1x!vDRdm_vsz z!2%JsO~Aufx%ZU8*y4sS23Y2S*XcDYadyWTfE lNX^>tt-*s{jWg zXqninas`>(1~HSLL4cXR|4$2o@A^ME`p|sicwBQFZjSwV=REi&n~OCjK6m~LNRH}I literal 0 HcmV?d00001 diff --git a/docs/html/preview/images/screen-zoom-1.png b/docs/html/preview/images/screen-zoom-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f62d04e2a186599bceedd298ce615634e0f5a5b5 GIT binary patch literal 787843 zcmV(^K-IsAP) 100009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-#m2L&%W(mc?A001BWNkl X^$ zMi2MwTz;s^tjwzYoqGYn6#B9<7)0ND&-sSEYgc8iT)7rrdgFBfA|fK7kZgYhMMUy{ z3rP_o{!>&{QV=qSar%q)ivR%RpYMNjTKj?VG1C9fuh9M@J_ab#{vM)wkUZ@a0IE=! z8A&7h>!ern--0UqHU00E;|Hd|{8d4Kh|h-g2QXfV9AAC FaF{${)3 c7Q^#@0_k5VyH@@+WfAz2b%|H34|I`2Szy7mteB&D? z%r_;zBLo5=Io%G0NL(0&3Zz}E^kV=Z{l0%_27l%Lm+c+;FR`r{fsoezOc9E~1j}u0 zuk1HU%y|7ZY2{;#H #=gEJcKW%yZNi(zd(`|1d1yFwwrfUcQ ziid{>J55B|cO