From 010dec983006f7c441b9e00dfae6ed2eb9e2b4fd Mon Sep 17 00:00:00 2001
From: Lincoln <778157949@qq.com>
Date: Wed, 21 Aug 2024 07:11:38 +0000
Subject: [PATCH] Update README.md
---
README.md | 37 ++++++++++++++++++------------------
img/after-optimization.gif | Bin 156368 -> 169549 bytes
img/before-optimization.gif | Bin 184346 -> 173253 bytes
img/demo.png | Bin 24897 -> 14573 bytes
4 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/README.md b/README.md
index a67720c..dc6bf74 100644
--- a/README.md
+++ b/README.md
@@ -19,19 +19,23 @@ pnpm add jotai-scheduler
The usage of jotai-scheduler is very similar to jotai itself. The only difference from the native Jotai API is that it requires passing a priority parameter:
-```
-import { useAtomValue } from 'jotai-scheduler'
+- jotai
-const num = useAtomValue(anAtom, {});
-```
+ ```
+ import { useAtomValue } from 'jotai-scheduler'
-```
-import { LowPriority, useAtomValueWithSchedule } from 'jotai-scheduler'
+ const num = useAtomValue(anAtom, {});
+ ```
-const num = useAtomValueWithSchedule(anAtom, {
- priority: LowPriority,
-});
-```
+- jotai-scheduler
+
+ ```
+ import { LowPriority, useAtomValueWithSchedule } from 'jotai-scheduler'
+
+ const num = useAtomValueWithSchedule(anAtom, {
+ priority: LowPriority,
+ });
+ ```
The field `priority` can be can be `ImmediatePriority`, `NormalPriority`, or `LowPriority`. If you don't pass any priority, it will use `NormalPriority` by default, and its behavior is the same as jotai.
@@ -48,7 +52,7 @@ Now you can use jotai-scheduler to replace jotai in your project.
Let's say we have an app that contains typical elements such as the Header, Footer, Sidebar, and Content:
-
+
Every element represents a component, and all these components share the same state. When we click the button, the state will be updated, and all components will be re-rendered. While we were using jotai, the code might have looked like this:
@@ -56,11 +60,6 @@ Every element represents a component, and all these components share the same st
```
const anAtom = atom(0);
-const simulateHeavyRender = () => {
- const start = performance.now();
- while (performance.now() - start < 500) {}
-};
-
const Header = () => {
const num = useAtomValue(anAtom);
return Header-{num}
;
@@ -88,7 +87,7 @@ const Content = () => {
```
-
+
When we click the button, the rendering seems a bit laggy, right? That's because we need to wait for all the components to render. But not all components have the same priority. A better way is to render the important content first, and then the rest, the more important content will be shown more quickly.
@@ -98,6 +97,8 @@ Let's say the priority of those components is Content > Sidebar > Header = Foote
Now let's use jotai-scheduler to optimize it:
```
+const anAtom = atom(0);
+
const Header = () => {
const num = useAtomValueWithSchedule(anAtom, {
priority: LowPriority,
@@ -131,7 +132,7 @@ const Content = () => {
```
-
+
The performance is better. Important content will be displayed to users more quickly, thereby providing a better user experience.
diff --git a/img/after-optimization.gif b/img/after-optimization.gif
index 1c9a8a48b5a359ded88ea403412993c5562e4f20..5587d01cd541219462c6225c7744b0f112fe3f8c 100644
GIT binary patch
delta 26432
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%0A5Ihpr77ntuHJBO&y-1;$Af86
z%H}gf{e7w1c$s1oET_F?LUk()!#E9p`miWn<#7UTdzdr&O{c4QjmL}j4TTQttuK`@
zIZDoXRw3b}ND3RxwL2+P86aEOy-p}%w$?n}p3i~5hX1@fA0TzmjMY>JWPS#0_+xN+
zY6i-Pk#+f%-ndT%qgfQ2hftZ=k~u(G(9Hq*_-3;(mTa=FH)Z;sxe}B;gL#o;sIl4(
z&`1{ZFoMR0?Entlh0WN9xb=B&DuX@E!g&d17bI}93(R6mZe+G2P(Q+KKShwQp<4v8
zsXmHTHKQ10h^=fPV~{i?^0JiFep~b@6jQ*?!qB}kwJ4d?+KW;0fp?2RG*bX{Cg_bY
znV-Kn0r8%lJ;CBcMx&^Gdc0;SiXCf6sUk}#r1vW@EhtC%wnhx&c@_-8)GI@Ymg2{UAAvPYsuS;iU$
z*|KG1|58#>jeXBHNJSyalE_ZUSR*QuVk!;oi=suFIL}zhZ~30{$2sTv{oQrRJR3Zm-d{sP2Ka(7k6GgVxQM=?3wlpScAi=1
zIE7lIlIf8XT=k8exK*gdG=H`g!^&?|?z+fha^LOA-Ra(O82O>gtVnqO_rN>X1?HOn
z;tjzFV)OK>u(Q};wH8}6sdLCIdcbFLUtfNU>gvKe_YKPreY>Mzx=tbH9y!v@9g0JM|`K*^b;=
z)JebJXHD;Xz-P=VHKKyY|B?Cr;h0nZS#5y4qz&W<3{=?!THh+?Q?f5R+WvyeOgMO=
z&Mb#z%tk;706NdN8JY-xxYOo()jJ^JN{vNz)~B$`gM9LyeSylfH_qRET+UJu6c$C2
zCp{zItYfv+Y
z6I7_V(QN$a`h6cxb|x@S>*s?e+aRv-9SIp6;t?6YPAm+Yccr8!4Xxzu^(wf;gd)Fv
zp+cMTya$UeAyCUH7m@)38!?y4u3#RTd(6=A9gLl&N0a_b+Aob=MCtOa24@$)1F+g*b7M
z(#bBb&Es#%4pWej7wjcIUo*4fJ1b&tx=q7a#L#VN-#E1McB7*q7fh(?doOSnI?_!#
z*Y8QND4+LSz9vfr9t>ZB#2|g3_@Do5#6+H0`WrA>^F>ZY7Xq)xj(A=%om9dsy*oh=
zrIVjGOb0W7tjCd}cL9ecXY4sxcGs&fg>BFE)RtNLK(?xN1=dluXjclnJNNS`{!)vx
zMhqV2ZR=>YWL<)yZPoG6WP`i;HMi%f)TAe?N9pV)VH8+s&ajhW%tWK=>A{PZY@n
z=dJVO)7?Ag_Ou&{uI5~zoxw1DwOEY#o%?~gp)t0ps51`HM+o^gM3;m3`FCKMr0~7T
zfbbOfHY;@_S{9XN@VbU>0!gU)VGr}kF$7qRdwn5hXsBdi{3j`d;c}qo>qzP4_y{x5
zW6#V{^EjqA$)8E&Kf6ADD&xZV?6d?el
zh~^~os|+>5V9c+$Cj~vtoN?EW2uGEuBm?6c0O!t@X)Y}@=LB-(nM%A&_$RmL!KKKW
zxVj6wVgR|>^1V)8Kf)QpN{x>ASlB?tFk4N3IWeNq)M(VF;T2dhb#>v|5j8)PE1F3x
z8Bn2&Q?4JQk*a?EFwvoZ!Jo|PPJDD#^rERdO|ir5YNTK*R=!ALyj$eT{R@u+;}DZFdlo$L8O!wUACGs`-;E&u2HH%8S;Ze+KNU&@~idvnCP$hyHfdZa+Z!-A{zWnrvmrnYM`ie(=@xc9MX_J8)mF3T|MVIE{QDBt%?iVlAbsMOBU8_^U`D3`!E7B6
z%%t_>xp~wAnuBF}5`>gZ>m5`vhUvUomYlpm+@0`QOa7g^2)auKL=cgF;pSWsx?^sHZ!#;sK;$?=HrP0tLY2Zk4>uyTmyJsJ?qz?
zOa^B;fVj7g^V$lYS4aBr;Kd-qiJ4yMq~0|g_33n4zUa(zBxI$YUzIE1)pE*&N!B8~
z(e*L>8=YP50oSIdx;;eZmE^>D%OXrnKxC>L@&rJC1c=4~#@_s*5ir02uT-l-x+#AWTCIDN=7|!-4>QHB9a=)Yn3&{P=|F#zDEKQ`s~X
zi4=qLPCe@iEACgWYdb#LOnjGX;T67FPg~$kF4htva5Xf{(QjKgABHn{BQLkLvIc(P
z%7CE9ZbD?5-vc{E_p6~8HgZ-hF4*>&QTV$BNX~6Ld
z5Z}bl%Q3k#at*xE)kP?5RnO9Pj7Uk^0J-OX9dqkSA#OW1|KL4zs^CmqkP;+1?w85R
z;WOBHc(#$ov{KeDoqRLgfZ%~w^}vfOx_k!+Gm4y%DwCZtZ0pehBGxiJ$tYz{+p=M4
zgNQ|%^|QpG2_Xf{_JxONJV)0_R`MxM2qJYQE#iY<{79*B6x=j}v>I_YEMiJ(we`s=
z8!2W6ukCf{fRNfW=Vm?jNLwhPv4lH2{0qY;rqU=|tS(eRo2y_fG-SF_|4QT3`%vFQ
z0b}h34~%~O7(J_J6Y|sVnAqIO?rINqR<>m``=27~N=2s)w;_}v^$ARh5!C4VS_bV<#?pT&sY+(ZN{WD`b3y&Zfd_L3
zP?hWX_{W>@XlR<{M(;1$jL?`1d3MirheNNR8V`z&-j>!+149L@t34U0U|ir&2oXqW
zIf(W_i@#8y!vaSIRjjs3QCBodY$=Eu!~&2xHZSC9M=Gqh4p|-|)1M)!uekAb@T6(H
zymEZ3=mE^FL>adV^YWT~xAK+TU|GU}Rgk$}VMl}+xq;}Ho|;|Kz8TRReh(1M>IF
zVqrdZwWI@Sh68pbyX$wmKMZm~g#j^=sCV`;Lmh_Zj_VghXsvoihtKPkrSL;O8$X`(
z>~$)22zw}^IMyMlrNoVws~*0AC`l#_YAg6e|F&;`$DQA04>oNdG#Q#g^<*1{{v1{T
z6vbE9Pbg|tPm~4xdJ~7Luco&eeBikKHh0Fn>qt`otysv1jx&KWXm9gMAK?%LL9;O@SMr7m_0_{3eGz^>R3v-o;5GIy
zxi~LcRNOTY#$^b|oJc-p4x$wnITRS)P&J7FR0!#V@Ytgy=X4e`U9DFy?u0y*qa6PF
z>1p?dx2*TKH8%gVK?kyCoh^}jO|k?-7{zb|EDT95-w5jOgv7=Se9{^Z{b-b^PJl?r
zWOppDl54kv^;B;vXkXry%|69v32B|ZCo<~^95lWC0-`pgfn3;`xkigm7Sz8b%_XPQ
zsB+MbBXdZ00m$ZzVUzZ;iflj{T3qC?YZ-ZEd(p(s`&a81nO)_?rm|5-O={NQS>~lz4THCRe{t2|tO1-c4yL4cT9XYzAB}nSHxV>^O4BQ?@79U%xZ{
zL-<0#A&t(SKV<@V-k0D6SYj1ZzR!qct7%E&TQ!(d;FU%PXsZ+(#&RpTUeg}-=sAH>
z_eLs&6cVDb{AWMseRRJ;S#NSV_SF93{*yQhdx2A*FowB$`~2Ru9C)^~SSL!RtwqD@
zca5|o0u(aTAD>UQ;cSXMA0wqUJ}7lVWFJdDm_lnH?K=>D@aN`@cdz_4dRq4M<`1;9
zfuDjzFKNE-ZGjpAAAGYCbYV_uvXq0@ehoecKJ3bLP1l<9ubaP7Q`nin#;zs~?s->|;Cj;l
z0)UuPg!PQX*|G`=S+Ww|j~r?--Pt%CnCP8#tAyq@o<{oql_GFTeankSFn!uT69h5cn?07`k3&2a@FHum84{vh2EdYG^i
zfVDmM0F`oRJ&i*}8v$Kyx6Hb7QVLRNvk5wzeODWw)uF9)PIoNXwvz0nC6?`;ZjK&i
zd;3CnMetqfx_jYr@NMOmFYWl6vjN4wda^Ttmz6uzL8Z7SiCftSJC;%08z-^Tem*hd
zJRu2dmOPkeGj%gf-sC#xcoxPe6|)`P4ZdyUIYcBJ=o?&S4H*b7xSZCQv?;N$d!M?r
z(42jm*+&rXKk7EuNNA}z$RBydwLIwimfVW_4FLgHjktc+2i|Skb?2r9N7MVq&@o`>
z8N~ZLop65;WCBMDI5;P0=02_!1oeK#wBdap)B(T~OD)R08MWU^4c9V@AN+B#ZJ5jy
zDN7pj+jrl7T7SY{u<_6H1-JP=+y)CmGRr6KTyx?DX9ty{ov}z^?xTbdsjg&hjB7w*
zW|46!tLE`%gyE+*(u6Ebv7$Dm{mFd93tsFYQ)YQAyDuYOf0VhCFQ%_p|IJL^APEs5
zTJ_zZl3mKiU;uk0??Dy_=rG5qq-d3GkvH>zU72l-Q#(1&7-uo74
zC<9D!yn2Z9GeHp0g$1}uL9%1uS0#3+EAffYwt2fMtDXcN|1T-3wRScKdz=~$eXH<{
z$n25%-LHeA(cwWD4T&!wtqdFuunmPBQHw}PmqZomt~hqgwv8gglil%x$}DB_Au>18
zIJZaZ%J0Yaq;pB@nENPGFW@-1E?;V9rV1sBVQ4>hkI40>&xOMoGL%AU!H#1UkMi!l
zRL(L-5DLO69z*4jYfx=N&2zakOXEyw5n4KE~1o3`bo9rLwR+)qrx3!Z>
zr%2!KO)J~Dpxm;Z?e|93o{$)jU706dx{WX3`!G+_tOTfj$;qn`G#WYm%O8-M9Wm|V
zrbiNMCfh9_Ih~`xL2JVy)NIVZ@putV@L*2sn$#3`TCf-fy?Zr`jXWd6oW&`Mrh-CM
zB*^x)I<_33pW{DAK`2#2sV@*|!BRV%fhlQ~e9!#`G;MlQ*XNG?-BK;BEWyO=Y^!8R
zd)EDN53>|q5?Ow?OyEzFE!s7i?-$gHThC3xs^Fizb(5m%xjEO0>u61qkg
zYHq~GhtPHKh}%F&`x%TUP%sJ8TLi}_?FKG
zyEx{-^kTHYNOrJvK<0o@od^^$RxH?FQ)pJ=a~itDqNS_5SIBoKp|z~{1iAZ!%S7VE
zb7N04jmt4IJp{24Y6fSjcnK+2t^cOHEPGWAtBs^~&sM$t3ZAo1`J9_KcSK>K><;#9
zk;i!%Ve%YcW4UyR&Z&N*=QgR?P9z0kK{GRwtkg0@ywr+Kz_;NQgB6(9OY;&P(O@uv
zw!fwbu(%>R0(rci-DG|Mv9aNAb|*s+GBIzs7@yV784V`nP`%OZo8twVgZcGiISj+G
zq&xPVG0vNpM-|R)*Axo)Qu}zAtenGbKE{W+SGF!Qxjwu>$~K~%F#h8!${)Hsm-a(9
zqDINEX+4YEe$rOHH;z|DtEaeDn=SAP8NVXmD*2he8Yp6ri+s9$AS1_dNpK$p&)Fb~
zXMIo>T2;CSf*Qx(ewzV21EejJUp6Eunjy{SJ^vLYXPP78xKP)`TzUtm#(MhmYa*#L
z3gLo&yu&-iutaoMP!>cl#YJcyWEq3A0h*1V?YWh7Z=yX6kp=N?RgYoHrN%F)!^-(33(h?(sNmGpDd6ei=a)FYWCrl-_VcQt&{pLJ5&Y2S54sgj}!
zh6mQoHvmNL48UFybOA;E3$~RzG*8e@qmDQCKoC)Ob2IT1vPI7#yDPbyCkQAjf_bmMsM5378`nZuDn>M
zS9yr{VD=_uuq(pa<2E#{<`)WTr0fFG4GT0Rz04|Vt`8uO8c*+*+r|m?nC9&3u5>9d
zO1*jTjde9^hvnm1Uo)$Cb7#hU7>9yWj9C*>iW$EHVDkYTzrH*G&Ua+x1zbQ%xkGc(
z5ttCHRkfSy6>Xm;FIzEmNAyVe+N<>qp8j*Se&?VVCO$<0Q0#WbF^lPdMT9c?(Y!dz
z!Lr$@&NMN;=+MMrdS8a17;xSdiwOzs?*cPrW=Wl703m$Wwt6lE=?LBz_{RUrGD1#u
zfy3&ayrJ3_F4ONh29p^m@VH(G+AmB~J&=;ItQ
z2d|lUpNGG~TtJy)>~V20VpK3dS+i(fPhlr
zNc@Gph6ys;VMxkwZ>NRQb_NAgxbqbF&(QK~Kk34npKi8gn`M2V58X&iLMGML+K>HV6nthA
zt#^@cVvCh?RNLxz#?wST6cHFU>`v!BieyqV;@J%@RjD+aY;XGVu9mFip}1u8;cDxX
zFYlupyktLg1`#r=ceZ}}5O2#RGu7GleRqZrlUZE4{p`z9gY#pVe3p6T3IoAsN_=>@+Ec+GHEAGv(-T>%kIClv&Bb>MS^Jb)09o|-y=v%y`D6vmv
zTQPS&j%>w3aQ5P3<)|IEOyxF-nu_ULiSW61F#_jHp2gCbwrw0KjLVO3
zcvza`?2?J#;dZ{~Pzzmh8$9`lOkLRQm|`_pc9ELN6$Bx7Q|{Txz^;IC`&Mfv2g@33
zHjOGlfF3TTm+Bd1l%eDf4kbIw4W+U#LGGnWZt4|U1rX9CWKkAQt79c%a~UN^Re~Ka
zyO_?n=jfyeuazL>`PN(UzOv74x4Z@mgResNyiwRe_AqXC><(Vj6Z>);(-$*kD|Dyh
z)mWqLE_Jk@lr(F%ha@Ux$2Nb)3RLnsjYGmYSwb?u-prR#;tx1GW$JRcmk1bFIjIzV
z;*=141`MPN`VTyGS+DCrjKLPmP++>c22@?s~b?LkF-;)?a1rfAU2l*|<`
z-BH7-nTcjmqw;~-fP@T}AaMPfPP7%o!6G|Z#VZ+?V-M>1QW3kKxmMT6OJ6ELLqW+q
zidmiUWctfDBC#jKoVED0_POg{T6;KI2UnfveVQS>_xa;;46T151OWFMRF}h$&a6vZ
zwcv+|A4><}(cT`LFJ12f_Fq-Twi9DvntXRLk3ZKf2u?Z`z%3?9_KcOJyTU?|P>;8hhlLM>%Lzfn$S-E7j`!m
zTq=Zn+B@UPhSz3k-#cz+Z*0TNawD9^7_CTmH_X79g9VZbFv5b+cw{3NrN|DIZakn1ejAdC$%T
z8!Z&7Pe_~CMkooEkE;9Bvt?ZsaVxdOX(pT`l_i0l*wV-J+R52U{EGQ`XvYm#;PFkJ
z#e!RDg|cr?SkgUl8I&p!W=@%~m7vg@^eYj?rAm+9K
zDbEDbo#x@GmC4;6n|Wntn@18|CeNij8)0->Ky%0?FETb8<8xZbLR=1IU!k?ov&|Wf
z;)<#Ygj-jfD)76O3z_d1q>U}4in_+DJ+2tfs{dXjwO*{D-8i2&@2f)n+$Tva{2z)Y{?Yi@(&ZHPWr(Evhh-d7(>I{;WFN#X0Of
z!8_Hl#Ya!8ojHzH@;mpRCHNKF8=~m+8#5X!g9U6X?r*;v*qo~+aH+B;Ycn8%dDVMW
z9fSx*8uB>3mCHJGA(R=f(sSuEq{RgDG_$m>r6b<5HoIp*jRICmP{Dd$h7!y}3F1k1
z0(TnX)RfD}NqLT&ZW&@>(9Y1ng$C4Z2qAIEoT473qBUxd7bliD6q-YY+oNV*RKSji
zK?!(pJd3vqv?i-8PBVT$Pv2$>{+h5k1r}gqMOURz;T!*UP7z@$N^2YBOL^a4&9+__
z4}n_wY!bFW*u^6n{ZeeP#Eg2_ZGR+!ob>|!1Rh*gs
zVK2E|-M~QcCVA``>-r+J5O5?7!60{vpz_e#+z}++jTuJOzP$n5HwC}7dMk_Jy@k$_
z+`QqpzOiNc)gC6JqHYjCd*%A8KE#Hc0DM18bD1pQ9;MCM$1-C3Ho!W
zgtcNqI|Qvr+WIKid>v^lPi#{oKU#ZE@Zzncc$e8FzRzi>T2dJe8ru8*9<@rAC&kDv$iMpq|#kFNTL=Nc<3kc6l
zZu?-5cm8KzPGqJsDStjxwY>K*Yz$c|eQ!FFay40wRC}vb_RbfJQ0L)q6N;sLztmaV
zVk}0?y2eTvG~j{ri|L^Pac2qcmd+h5HT%t9DMef~$5u?z4@0xCZVfK)5$NU;2iCm3
zR&HnB=?b^P8P~_-dHrB-Nq_qXTWTa`8%xz$rTnzB
zCuUyXqh8z2s>P_#e^`C}X1qN*R?yX^Hl?1CYKy*G-B3#=>>|#K%R@TSfdZw3C|Bfa
z=M!1i=b+SHfrrYH6AmnP61~tgid2xcihS{PGq+XGkIBwh2>&_nFPG0cRBvB*yO)|c
zSf$)`1&vrm^!&Ns?iTqfuGNp`+lYh_!f)PRUG)56&hhUnSAoOy+{29o#@SLZZMazO2l4Pz1U$`rVk~>l{YK5^7kqdYE!z?Xm1(Z&r$yF
z9x#JLy(QmOZ9=UfPST=RtU
z`zN=NbFW3`9A;Q8;Kdeca9UaJ(BAK2m^w|(4pr3Bc8
zzJnBDNOQA98K&>zg>o_k4cLznh0ig*%hGQ@P%q+^O(K0J!uuMf^z74J^VJlE%TUGV
zCysvocf928XK@LQ)|-wj61aKF3OvHmwQ(P16FnZHl;FNw;7uhHEd5+hQC;4_T39hL
zLDo^!Z=~>X!->erqA=|Esp(UD$ownqB{$`OyNzcai*f?C=Y&ts?F@0C1Bek)qZ7*N
zC6Pm+2UB79JaEX)HBGx`2&Nq5-a$#{@xnjf4JB`gE@%?pqGCO!iM3G(8EAZRJ`yuR
zW>wG<8zvGPY?+nV9u5Egg}}^p$Cb=hKZS)PhO*R67c&H;9!B5r-@rM
zNstFga)wDY96G$qB2t&~X$jJ%r%CFx$(j$6mmAz4q$f!h_L5E0rA@;l
zEN$aY#N&$=l62Zq;L9ndHp#Z-Q7rG`V+N8HU`g^k81tT~TX?DEMTkVaf@I#J6u0G+
zu0SK#y;OVK6pZkc!T}=-+N4VMq*gCJ%Vh<&U~PlTm>3@AU|4cED7nbpya1jS@j@AC
z$en!&^Lmg}IL~e0kopqqf%kH1#%LPDUQF(3`Z7DVM5ANXqC!q!n$C-iqNI$B`iz`~
z3`4e*@VTtCJ)R=cbi_+a;})LO6ZSNcflN)>46RFn0ovpt)C1*_2P`Y)kO^4Q9#3}D
zCE*s2@(vHnE|1KbVOpPIhRbD+OH;a;LTWTtx)o14hEX;qLG~6j1u>e-T%MJ!lk0Ms
zxA`Jl_qjoPTbAE)&TXI6pL?)xd%Q#yFcPO+w)XsxkW9YId_?+oB8V;;an$JBNTfG%aMOS3_pm0z)SJ4T~xX-NIUL-eHbp5SJ
zlK>1KW7aV$mhvqA6<@3oocMO2_~*xB5_#w@xMXKDH~p0G=kpRMFTYI%ixn)XwejwmjNhfRkZw&tg_}&-aaPKi-@RPx_mg%E)GwZdS6r(-cVVZ
zB<)6BQlp%(MptHfTD_4`skC2i6ruLfhkLR8wfy31p7PhnW8f7!u`Q#TgNWBzu$rIy
z;FEUFqn|ZyRJ9JmwOEn*IK~`!nYDp~HP?nkB)+wTd>q7*b(y+#2m3WN9mRBn9Jg2N
z$USTN6A(3QgzC(zU{>FHy!85Wr+WS`b)+464D=16D7pGt%my(@4#5sEUq?g0a>H6t
z1H`vMjLhfqNBn9#rfA5$dX~?&8
zI=&OJRo6MO$}nZz-a_AHt=y?--1XMCbSYB3x1$Sz`q@GKt7~JmY`p`%ZTx23=Z$7%
z*M7&F&5pX9UvJ21yIC^doMtwhSJq!-c2AGLxwqJT(*gPQtNyEG56ZabAzu&P6)Vu$
zh`ZLaakq<*vX}gzhd`>4+OPLbX3J%3FM|ssf>NrNh@o%hZXcgcALjuB_dyR!XCMDn
zkIY%0&;)~k3zXNSf5@ZXQ@&rqgh9%WapqTlG1&lHR=+$ygJM)CG;839wg20Gzxvex
zZB*lT$-(0<)JQe?NvtCL@U`j}b}Lkq9EXD58OwtC1YC(Si7p
zBqFL5DTcJHQT4h}WvS5|Kjy$F-Dgr`xfo*{Y-44rv=vtarE6p9-^My-N9(Je=&m)^
z`HiQ@j<;KmcV-0@o78qNOhigeJQ*AtLR^iGRMif4PTZZF@GqX2kusm-H<&h=oX8r7
zt4yv$jT`yJzrUJfADT4DoZRNO{B+f#pEcF(HyL$r>MK9xn=JYssp$t=(`NkB7grQN
z{pf$JO^bb-c8!_>`MV$Ux8nHE$jZ*tkq5+G
z&(4Panq^t1XES9bHJ#%Rn5~JQpm)K?mCTQk?&bA6O0uQ6
ztarhaWUsQv!m^j>>Xwq%mSWafTp1G*q?eJV%bYKk(@d8#s@os0FVkWyXWU&Xm?SNd
z9?$Y$sXbkmrC+HcR(@TbQOmeW5x6t*^Hsyvh3F(C}q(>nFA^SM1dtMa_2ZNq_o+$oy2$
z^~v+|C%v5aT)ey4YP)?^yJ?fVy^NpWB)hBoyNSe~@ldXxW1>Hw@_#l{|9nyLIehXn
z@!@AXl06Q-y{SyBl&ZcLoU$A_Wh4q7Iy^4_MU>
z?OYEpi4GG54+T5FbiSE;AJf0Y^mfHpf8Zdaz7?bP_{;rA~44dIvb_`uTnV8}*4Wc7ga7?3T;|88Zd$olp3&h&L2R
z^Hi~4=yT^8H5QmP=2<^{IefT(Bsjo@+UG$Gu%qTUWEStBYUb|V`6^;QcdwiLw#;YR
z4{ty+$DHxs4g9~e2%PfNeUE+r9Ygh$-t`o#`(*I_iR#2D_2H?N+8LSane45zQNc5d
zs57GKGnvV=#jj_!MCZ5y=N@Y3%WjBsr>pOf?sMf^z3$9EybjM_M4f}G&)EY`Qy=~i
zG5O)u{m%Pn*yqEvAL2)7>~#3ig3IHtA+aN|HDBXDj6}*zM{8W99!;fp!x9lk$#+IG
zbEmRpz`5N=`H0cd>ErV0(aKxjs+q?MHKvL`kiA6hA(;mQWiCo`e?9K})mgKIsOuhU
zK+k=5t_Eu+hr7vI5c_X5hI^Q=Vx_NY8LsCvmZxP#M$IS3Q8L%7wPsBp#boX^CbgRu=((F;!%?jKvZ?G8*jxCbB&&U-g<{n!OMKj7YBb*JmY{s~5
z>knlaez(g@cz_u4rag6-D^_#PiV{6@eCvF_`4yw_x!rUF$}qAy+xUlDOVf*>p=;v{
z_f1Fr$I@mDp6)x7*)os!=-aJ7%~zWbn`!x+_b#>}aHsu!z2Cea%~g`|^ZVKMX}LQT
zA=&oj;@SGU;oR;MpKF_=AGio1NY4dDZ6%68UZ}SLPbaPdlRj8T4tJO0vk-o&@fw
zeWD0ilE|^+M`TJ-F@2q?;JW^IaGScpOsS{wrKHwHbwgnmjqxS4PqyoZDH`Nvhsgyf
z>!HjZqV=^@i8cu^a37F0U;oJm2|E
zRqO-5yP9|a*i&6{H1WH7>DofW^y$fIgWN+*4jn0qFZ`6K2l5oQN%tX`*bQ1R72kzv
zDA!<8gYvIVQEiPMlA=%z$?L|2A+g0o9c}$XK^;9^<5OM3@+Z&q-dQ!>)9=;n($+Oa
z+>6wg^v7;qstL|cG_XdbHW3(#C)lW91zaT?KORo5duuYt
zao>~?9Zi@%``{nGZnz%OVwTvbmT2btgBagj^laz;#+{vHDvN+yB_kh%i4|KvhEh@|
zT847z5u2EDl!#l)3OszS87-rSzbSMVXW25o3*2TCtnpshHW}LvVW^U7{^|ZFKKqho
zv&`~=2ln32bL#DL7qRJ-^FujXK6Az@t{4|*pSC)dv-(J&U?rs~%}(q!Lm7tEk=yOg
z*4@;?E_DGMzedWY?IaJGCha<`V^&QizrJ4oMCR5($a$gL^}~+phyjJOrqk;R?mX7G
zRdd&4P{cM%ahN$*6mdesRobaFZaN_KUH<;#x+l~4*x3rRN-d2?Jzo^Nw&%2^y3WjW
z&F^_FCl;@}zkNJ?@r>Mc*MD_Q1^eLzBGlaP`4;`T|G;J{Gwr2TawwDC9&72FpBXj7
zr!Nj4e|mFr&|TB=f~{!{=iT1sVUc-JIusKj!bD`p)F|KwfA1O6q5Z#;w
zem0k!y1!<~(;(&synDa4v+7X+`eJB9NAJJM}`-H
z!Sm1-n4Pds3cm%H^s=zxrg~B#7Be?<7)|&tIy;hvt*M7uoYZS$^dCY5wJbl$p$Rx-3#~A{+DG
z?!%BUjbNh&D}*tn!=p-_nP-YR1;i2`L*U-CA8d5gaCbh-96nHsd?l(*8EpnrqhpCx
z*D2;Z)KFn<)JmIDETO@6RO6C>KYpWAYAwez=J`__d%dyj5eIKzR0c~1=b5OAE-yTL
zY%VWhu2fs$mX3yxZq;Uag>a&i{`W#%!4Tal$j+WPtq(#ko>w%MaqsL|M0W=uF}X
zwx;%B25sliLY432zJ9O1e$T_wnxC`ImZ|JZF64T3V-F5c2B@D)NAlD%;l=#c{DeBg
zc6#EO(YNfRRcL1Vlo|`ysjP#<3>VZ(8;>5iI-^dE&Ik0Gee(}<4SZKWZHv`r?^L_^
z`7*8Iv`8Z=beY|wS2I5P=(dgf^LnN>8-MoFY1j01dj^|dJEqj{AZ&lVSoUju&Hc92
zdyX1J-}vM~NvhbFNps)zas7)|+HbyN>l&@TFuxMi>&7s3M(`P%H+|FZDP=nbi2XJO
z(w_Ga+6g&QWVL)#^zNXD;S3gFpuweA?x)WYctwAKuq55m8;GuS5C8DXJSf3n@abNy
ziT0J%!~l)t=i$8L3iYlqEI9sip~OTtUtzVjm+vdxL
z!B{qi@NSIXj-Iq(ne?X<Ae~TeAD_S=l4TvTwd49?y0G!2tia^6>)eZg7cWooIZS(1?Avu-y3xl@`|XPn
z`z+j7KdqKC{W9bs5fXiK=Iq&3Wz8iyvS_MUQ+mB>Iqkl>uI|p{y
zUGt-Rp6q*JE^IrU&u4+1>zmX=|1VSxFS-NYA6BHs9?r-7`n-?IIq1AUxus3wr(9=t
zPS5Ah6#IdC(|qZN`Qw|yXvEcLO#7epH8=Lb8Yc(N`#-CXZhUiV&W>Y${wlj8<3G%N
zcKYt(3Q_o2rtIzX>4mo4FXkGQ)h^=nisJG*=SaqAStg$lf<@nx!v~rC**&4sgJTRC
zON`2j>%lMTA!zI&9Oxlh=po+jAvx{2h1E++*-HlQB^T|bkng3`>7}yirGDCbJGhr7
zsh75>m+lH8QP<0`(95{p%XHeyjMc|N*~bd*L$HbVv5U$v$oFyB^l?7z;|lKMPU_<+
z>f>#cBhu;PTj&$m?h`!iyMxs)MA?7WCI-{wjjm6ZhzaeAc0Wo$xnGPZ4JWw2nXT(V
z7W0F~es|w~sViEs?SAf+ewiX>8Onie`~kVs+(+{AF1`H2a5)WgV+aQWNHqiv9$ctDmR3p8a(J5s+wm07c|a-7A=Ckk=Vdb#
znK3NSqZE9B{geUE7%~#9ITE}C3gT9L%n+tGqY#{?fC?}e3Gg1lg5WtPfnw-JS5*bq$6{DvJXrc{VDP
zh{A&KpaIBX_h8k)G=!>MBX-pQG&w0yAP!U{3Ug;rdBv>~3{eS}=N=@Y>}3d3yBL`u
z8V+<&S~7tKxhr)ID7Aty;Y*Y21BzZxl~4h-xWY?Vn`@H@3#D#wSbmf=BV0{JRymS?
zs4{9YfM!S_Zz`m73V~F6>^Cy2iZ`n|f`5hUoCE}Wk9^lbsHiM3y_LsXic*zb#=4M?
zS(Ts2*HI7bQQBa@Guu{!JA_y4>PaT3@}iPGZ}yFp^+~?(LbQ_X-&y{K*jfX*t`}u&1TeE6n66zFP1^0(?mmG
zl#}{!CK#%YD6N`ero!`*R|{?)
zF~vnKC=My;3S*y~%!&iK+Kfd*k&YKSc)qPF$zWBiVmR7DEr9V*Yf6zeBjUw)cU*@a
z_zym_nuaW9%W~*ET9|!QoQ|cdqaw1P$XF;JqVq7$asigytkkriR@JZCMGx80`PR3f
z!7->twOCTV03U4ER9MslFX~RxzQ)4?STC`#@c|5gpBj`2+yZVlux4UnBC-HXtXi(x
zyxyShgJpu_FB`Ifna$!)9Uc<`JQRfFjd&2Np#TO+VbO~tW_f^HA%WlUE{Ad~$nb_R
zo!kzIz;{$!YdlV!P-El(Sc>EFx)L~BTz)DMKoSC)4=zPvO^Y%~)i_RrFB%Rd!#F3QckJ|4~zRdb^ZoS@uiwXKuG~Vx`
zX+Y@!af62(HYOq%T{4S;BD!Qe3WBTKJvjm)gsAIPFgDvGUmL)s?!uV@0I0~!_%A%R
zWWy=2UlO&|TFNHVX?RJs)^iL6(YHv+xAF9F;sYZ~&NLP_T5urY%K1m_=bHRO8j!>7
zSr+XmI@$s$hw=Br<^)X%^@B4O%aJGs5;X&As{wN=*JWyH8q$B4Mh8m!r?f}_^Xk{_
z4Si$~-YsRv#r+Q@!T5;fRW@uk`A~p&rGeX>5E;cF`4X#*>|=L0hN50)>rUPnz#+-z
z=U8vsr)Fc+8@%kPk^mHeS9tf_$Gi0aFlpnkPF^)ag94}(pV8|;Fcp(ZLEX#V#p0)u
zBtez!CjuODeRg^P`L!C(Z<9V4*Fu|D97Ar(kTdtyBr&k6HMVw1H7qRGwelJ$FNeWumB`?cLV-M6vk
zT+5Y0Xy*OBh*WIO_*(Z%S-6e&car0@HpXj#=Ib#{1Oa0{!J
zw(9a^4HbTCh5!;6-oN|i-OscRX_arMIT;XJ-fZ(UJ(Dv!t44vF*g{a)@vgO
zpVwhr#wIQ_Uz==*ixt`IeUTr=O?S>3w(9!MJd*F^xmm>B`XwvB-96(%6XKtr*yh!(_r;yVwmTB3xNz<6wQ{
zi}BJGgC)dbARG|Cv08GoLdG%PaU%%mHOoyoCSj#E`)5A!^wE~fV;%~>Z&PN6eQ<$Cu=c^h?^
zl6m?Owp$hV!frnv2oxmz8%2Lw5RIaS_=mWdh-CmXZbixnzAk(m=Q71{a>!w|a~4WwLABLN^llub%nqwA;Y{&@ju1
z|L=wwN)5)mMiQe8NOP1DbNK!9(&drUd|g6-*c=2AXn10RR94KtpsX5hez#A^sW7
z@1KCu|NQyi|M43iH72ec$Q~d9$p0vhvnhayM|6B-4)|i?Qa5tcCie!P7XfLXk6C4n
z&t25O265I(5!l49DDmpIMgR^4FM0ettC3_L^8}Ym&!Vm*Cj0h@QO{D+ww6Lg9Z~b7P!^I5`cl`%o=pDR~)}(62pa6>f#Pk
z+P4|t=U>pk#fH?Qz;uZ}A!L&eZhq+sVkzEw6o}UXSS-&L^aUQuPZ7<`
zfn|NMZLJO*8!Rf5X4q95g4!2C1cK+f4&6R8|^)ICCylVh4~nD@7Fcbb3&blkAZS?gR=E
z|7Y9MgW~@t7(~KvvHyLFz-}BSw7!`EzF4>ETz=dt7zj8YftI5qR!)FkK)A658-k3(
zVx+s`Cfz~PsA}`obKz0tbP-27en--6nG6X-5KwD7PaPqHJ@lv42z<<$D_c`-;~c(T5B!akVoy(6RmaDrQwie!I$XwX>C)(
zDe&G*v^Chrm{qFZsJ1sc2Iu$Ym`(nCveHy&Jf7n!?xY5s^Pzh06^flxsFzk
zf%e!$vRwv@ozyu;(0v3nO@LevFG1%V>o_umVa(=M2;(b*cv;j^B3e%r8$&2L0@F4l
z39jX+BAK1=wxU5=R7lG1g)sK0>d&o(I`G=F!Z2xq2R5Eco@pOBdx_<(6S;Y5(HAKU
z;|QkRcbKQnjGK)}F@ER}8v_F%%CT7Sh9!ZfH*X05a_C|VB>b@+-lojGWvl5|FBH@A
zv%TtQ9768>yo^-iV&dhND~eh!D&~
zOqt_Q@S2FvQ1^!t9WFn@tFuD4F@w<>w}%zrOV4V>Kzov(1m@CEhQftEcBcxNH$SCi
z;he}2AzbN9*WT#PkhHy-pcS>7&Xr3XlZu$P)5wAZu=(>oH=d`!|6k<2xs#~e#Q
zbus>)n#Tk`a19F(7->XcGy@KVw~N-=+}bj-BlRDfyz&3=u#1r9P`d-!;=+ch=RR8R
z*#gFZRPYbwIJaOqU_<19DDqs1r)dD781dl4iqnt#M<3&9cYTU}HuIMcxyvA?(j?iT
z!;V@%i2kz8e@=aaQ4CN4^#AZ86aZWRAg)0u^Av<={e21C$L2r~4nD8RMU7=&2q__x
zi?@)KeCRC!68W&Yf}ubfo|jcL306aq9Ly_0BX@Ut%@1ix4jf{mC_@;ynnhdjd(^VP
zk~n4fJ-do=64E#OhNq?KsgFh}U42f=hXK`63F&=Jmf3P0d@r?D%7YX&V=E9N^r;Ft
z04sVmwiqS`;REo|6w>mppexyz0{Gl9w|S?_&)4njm-Eh8L5LDlGZivwCEi89Z$LHf
zj`>vf1Kj^GiB}laXr2gIL$lp0G*4Whorr7@3Xe(D;SQt{L42Fw%Jy+&QZPBD=o;3B
z)j$Xp23BiXoF!6#O-W7)N@gpY!1;jgbY#Z1H-_e34kbR&lagCa&`g<*1@J^r=)19P
zk(Tzvp1a`xCNcrvZUV6@`^t6oG>XEA>&5SddeMe3Y0>eSl)fq|+Cn=MycP?{-!AEI
zZunbzep3YY|5fbo2}U-kdxcTz;xP*?4hd!aZCxYcq5Zz|w-Nfg+tUF?faR~#jQw?*4G7$rh}UGKHorgc+(kNz`}iFv
z55`L^7l&9PWH3Fg5f%VgLqpD+1?==(6cyPetM9fzPUI_1~3mb!*8QNeV
z0FL3ZoVo0w4WNfGEQjK!pXa=354luSrjb^tt
ze$~#m-zgwgX>c;>@@0NoEkSy`mhS$ME@sv9?nXL-k=?9H{CJ={na}v8`2CZQL)nrV
zUY+S|)?MLbxsz2AkN4l^8vo~fL<33zNdH#)BJ>G~j-Am;4|2u6xD8>I3qGWINE9a@
z2!Y!aT_p<7Zg2t&%r}X@N8~s*C4wt&;iBGn_QUuG%O@-oh;DDMC^B{~iFEHrLR
z#%jMpjZq`qj4R(ubOL>U8L53ve!QLo+Es7l^YHi(`Y+W)gN+_t`@h?Ei2#D`gurgR
z8_5wNq_i<1J-O%4WF<4>^1c?{|P{N=QZZh`Xcnor;tCn(>v1Cru1W}rkjq$*{
zm;g(wW1eyfJ9?Jqh|7~M#1Ok?$7X>IBoQ25J2#O+_(BaB6$h3)cC?L^o-^G`JI?Jg
zFY-e-@>~9;CR&tE%(eJ^$Ukk1E{*}M6#t4Ee&6iXpQr%?k4@Bp&yp{Mkk~CAM3yh@
z+bxEXN0awa&es@lsWQ-1CWo^sz>_?WKgh(f={6Ht9GQ=$@gEXDbrgZ9reivupW<7L
za|%~Ga9&{x_xv7o?lu)CT1=`L-*6<)e6v!^X}$?j10aqwHO(u_YfC2_i!Jxrh{+q<
z7nsV6uuVC)d73MS^ZX89ETlg#eIFL`g6+L8%{Pn9y<+f5knj)J>*#gC%8OxbOa3Z7`
zpac-|EL=4b9Rsa==|CbS<;x$H7C^oPHYW|YP9CfX1zq;^iK|>Jr8jMNX|H2}$C~|Z
z*YOE|Cq2Cw%xKKe*9l=`Cf@mkjmYiN!=k{sKwoDd7ur{Q_qyuCLxB*ZI9;g
z$$Vm<({>yQgYn;FD7&j@1^`8>r=!oRmKz-AD@@0mt5<&;!r$Llr7}GPQQ-dlNmb(H
zCkuodv&Ngw%kQ7(e}DGW_3Ov+)_88NWT8L
z%mJc=Mo(8}czBF;2-%1&D0ml2i7DKYF9`RRA~pUQtZ;$95cqpgV!=VY_>+6({fXqL
zUF;u^Q-|QT07#miw>4@MJUDUCcvhuoX4dAuvN}t&q&2(L>(0Da1dNNY9BgYo$@q5D
z5rDB-M!UVxs_a5#!KUSliOEv!03U+{$~~c0Wzj5y2XuQivw6p{ysOkBtG7u{vN8-a
z$He-}zo662|EVGV!Z+ssKeV1}{)D-uso3PtN=|tDQ-xR6zK!-n#Rfkr77gkI
z^b^kIL7$x7)eg5jy8P*1rBiQGWKHWl5cSMeaTtnH;1ozvm3%`Dt31Q|lUvw|Fpm5?
zxA-I1|2pmeAGrmvP^9(zbrs!d#dw+A@7&`4o%z3VizG+OR;9!Z(~3q@gJHOeAhi#z
z`%HKs#qPlV-6QozzXu9@3(h1e;O7pZR7s~Q#=H8#_X!qYymClXOa4chWEn1EH&PJQ0N5bS
zJ-;s)AN^Kq%lF&5F%pDuMksZUY#7Srnw?#=5E4Q|vM%RG%fj-X>0lf{4bc6iLHz*c
zAALt#Nz5gc5z_pw0AgCft20taWf(s5!vXK(RJmx12h!H*%aq0ot-H5dJgF*v4<1F_DOD9hJt+bhMp{jaf*eBu
zm=pl_-d!v0p;t|wV8^4|MqMdN31fV7EH;V7R3vV6|B;(>f>P1>%18O%nRGjvKz>`7
z-k@d@UNHCXT!fJLCX=RaqZ^>OV^)>su_YJHc$fEp#uKcVK&Mo23MJiEju+6kYozIU
z->rvo$tf~8PVEwaLzSy8A5$Rn&Mk~OTd{kzatJdelF4UF7s~nZIq&U1b(##4>F_Fc
z657)RjOUtv@(LZKfYku#WuxumjdyA`phgKg3!xy#I;x?G^R7OVZ?@hoT$G{CL1c?9HtRw^I1e99{*&Bq3;*lST+vp1<
zrV_Lf7s?-qz~yiXcF?q_M4XFSNpah2Ua?`y|eVN(`$M54C?SZP1U&Ge1+F~Pu0M44g<>+ev_BW2dk$+zk{QyudXyj{dq=XRP
zQVyV*WtEK}=F*e8a4(dNrpEw2k7(K;)r`fcM8)CCNIe|ZlB?g#9>k%`@-M0=$bVLzOd*kr;(%E3aN1&b;jXbj1fU-pP%85A$AT5`;M&B@PwK1zF*6Qi)QG`uq
zLSv}dp#~4RNwX`}!l4om{>pX3k8v{uUzL}%TOW6#dteXab1QI|2gT-a9J|UtA5uHN
z{~i2H*%Y~usrfYS&6R0nzCR`8PuHuq#*I_+Z9ZJ7Hh%Dy7rXi>r3XQHOP%4+pn}16
zw^JbL(sKu1elDo)-}-E0xRldAX7$03)#YsUURcSPC@TMb
z@BLlE^Uj=`&*v*PQD+%`>(_I+T0gE|ks5vahWi#VdA<4m33i>mF>n^HWcH+cN6!?%
zy}@F2RbAxN3}F44v=Q2U4{91ATD_YcQmtjMc_@&Y|toUl*r-8X8cea
z&T7c_yD;nE<~>C{hl*lqJKN;Sb#Yw?@OK#g-_rX3;M4zhm;Ynv`j;f*=AjclLV)Zq
zT0@%$yheqHq@Ey93t)i90;>!n;DEw|M!GNOCMz}cu
zpp3Ag$I~g0u=9u&71AE+83ZJNuBnL!*^e;Dm+-%EE`yX|=iji;lN>
znw>Ovd#I!71$Za$<~}Nfv)t1QhLS^oWPa&D^b3oGvXO)`ZZLA>f}HXB%V%rypO|HN
zP)KT3hiN^)7)35c{4;h>*7)$o6(70qzPkb!Ax0eW?TdaT26ckdnMU4nsEBJeh{}oj
zptlC+i&@prvv;dq_Fq;)eDC)d#^7Pz`c!t?WAncTSuiNK<=bNn^nNMw|GL@;xu8ry
z+)vz{5D2HllhPs~#RY9&z{8>7w?c_LD8%
zDQH07_=T
zEOg>0=W8S6wP2vhHUzNW3X}>LX73GTz;;`1+$ru!Hcr4|Ig8Cx3pc)LB8c0_74U5)
zSowus^K@gW9iB;{N3Q_@e&cxkJkeqr0g!ty(ru)^E3#SfSRcEGd|S++HA-jV`(1yv
z&2#;eZtMA1xq9DQ^=H3+{5>K5kt3FtqsJKdn20dI^*2;mdiBmnXiT`>S!K}?l*{F=
zP|qFoybUeK^FS}mDHyG=NFiHtVYIk`MbKj_5@@>W7W)`CX
znhoZ10Cv+v;q9@3)?H{b8+7))jIV49*3v~yrDlqGHV&!JY?(lcPRB!+G_PvSP+F%&
zy#wCo|AOito5}!+1ISw3&3=o2=kH*^UInc^xCrc81=9RS0nK8t%hZjJ=t4(;rNG(E
zzK~1+NHdrzkc(z(xzcvHTL6s*Gh4}D!fnUn?r4k2LnA&Z3TL`3vj-jPkEoFYq*P-k
zZ0Q0RPz)$}Ub1F7YUNr5l$YICf^*l1abIiWjxTl%4&ZzDpgT_ub@L+X*R+{wz9;io
zQ{-DWlgOu-^Ut{T-8X<2xFlv$OBR*`VJOar1_nYFBPm>xdJJv+J0lrqV&_uF|C-3r
z?Z*g;{)Zic(C~2h9T%WOpR0yvwXFTGa9mvzPVQjHzxw@-0&X1(fX0d3RcmpfQXEPZ
zhb4V(dpM3!#jS3!euEkxV`Qmea29PF@e{8SgzN@YP-C-GoE%xc{OPX%gW(@oOl70n}TR<1jo(0)1o
zJf}W*e1v6%r^fbMr$8WBhM8HQfOf$(@^_txu@FukX
zyz|;L{Ln0ds&((RdEkqdt9qrS6v`UJ;Yx##7K>tV_>nLUq}F3QRkawy0g1ntPhDc`&GHkO6p1Wfp-L33Z9iu&ac)U~VlMWC)FV8LL$lk8K_VKd^NJ
z!U{SwBB$b{w20uY_Rf!>D;W6b#1u2K5ymDgUg$)|n`VimX?~;`0l}%Yc2eFcvjF0#
zE~sM&Gw>`U?~%cQaeBO*NTTI)a)*`;hk0$hdVHC?R0k%Yfih1(WOJ2Y>1L9~0
zKV>m1FVjWbfrlrAvD{dXs}Pjn+dF!)ac?J}#TZD(W>PkaRUp6I%r>SevW!oNNdc!L
zdBGuhQPgEz&VKD>98p-VvK6_CeW(=fBBJODb{B{9@-G=gZ51X?RW;#;yh()j6#q{<
zXC4pry2tTnHq2Pc*w+SQEMpB7$(k}EYbYdZOpz2NH%4PAP8zag=}=Lo;Y2YiWhYXO
zgo7yE<0O@}j_3??A9T*uef7G3-h2PJ|Nj1(-#pLn`~7}CpZD`n>6cR@3($+o4W%(C
z12#q~uiy9Q(@Db%G9XXYs?`iHJ~m={OnJthJScR~-ir%*Q{!LbPlVDDcXRWrFkYhC
zM^zUW?5iSl-6U$;7b#(b9Prn@DF3ykL;x2JMPjR_Gpb+p{*CVB;X}DmF
z)Vp}uY<(WEPQ9}bPrwv+jc!ren_Z~mo8L13euMwrwyTNHlWY0n$r4fNM}0S{0uI*D
z7h!h$q=*Qs=upD3g}(5^hK)=-dOnWoK;YHgz3+pM=AkMipOQMd(^i9?
zW{*9nm336$%2|
zK{)7Q)y^R{@szabTq*O;(@OoJ-=WAnolo!n-`ZzKY;%<{*DHh9Ulqk7^pS;pG|`S&
zb4#B2UvM;ZH2Z^s;55Jb^H?mXOuw%`UU!D;)M(5n_PQmX(#}KZy%}i15qwAVXv^WMU%5+ZJ>;nh5;_>G!tam5{Nz1Thxi<+J-&6iG
zdvz^+5jPi8u^h*Flpkptq$=&yKlrkG4%s0{6Q6o@gWk(Spg)^_%{ppn6eAEdq5b%R
zieI)vF~Tq~>Lt6=0F@+}v#{^&BPK7qieuz4Uc>A#6VrHp_rz3dG0{=m=V5eRJ-5BU
zzF@u%eERsS#Qs>57;eL`%1A6~a3_Jr^G4-W4A0WoNH|jKlIQ6s!)~5mb=+ST=}LZj
z3h4sJuT{3C1dd;_{Z#mABPTHZw=q|myyw_}@%J$3z2G(@K)IDdV+u++wCLn?K|4cc
z^CtbES^wq?rM+wyRs0*9I8D1g^zt|EvE|^>#k*EGn(JJ;?-T5^gUgxTfy#g>x82d)
za`7SeEX55i44^el
z1)013!ab#FqBNpg$iN?&dq`Hvg7%x5_qmdGR>+&Dhsb=?cytpBJc~sSMQT|&*)2$K
zBfC!9SNM)eceY2uyg0$N-{tY3XQNh2}T5dj(
z`atjKt7g+N9wE<@5nWyPb_q|#cs}?v-1^j1#nkxA)U&lQzHKySJmDyW#6;`g*%ypDus
z(8hbcsS?cesJG%Ft|<}Eu9w}EQ0T8+zJ-o+q`bb7ixb(Me<=*Kp2t|a4oS?6)?buz
zi^n(#8|x`D4%#-j3z$)N=I-zHHOOULv$%6=B4V3*MZhEARl~kKo<*RXP1Lh6
z$=6-eM+cF-(8c}gv|V3Wu`c-rI-08>FwGinjKgu&j3Eb-k%S;pw?hu3B|+F=x4;3o
zdoM^@rE+>_MjypX?ZK6v>{hnOl-b)?iPa@_rf-e1XkM^C_*4@D+fUv)lca!0Iv`lh
zW}By(_>lyckygO|kZ`{3xDus&4iEUE8E@;$4cSJu8Y#{M54wt=keK9bVHxnxG7&KB
z{;?rZtpZnxlTdn_5X;<+B24
z&`>>Gq0#_n>n+FFoGPeB)QspjIh#+fVAlILWWUAoorVOilwF(icsHmkqz*scbESvL
zJCRm#s){vm$D>ZM)Fw-9usZBmOs4cEX1At4`@j#e5YT#j?>N8fFcATm@GTd-p13QG
z)T3HLac0nt1ZDWm(58Fs*XAx(&Cfua)p#dwW$m|{*7I-4Y0z&&)XWkDt>2Z%N$(7E3JbM1j
z4xyiyN`If5etPDDy*F#&OZK~96#0IldL)rNd3V%xduzel(6q_>@7Nua1$q7vB&jn00BzU#m#ibT9Jb<(oKCz-
z`6-ly?Q{dOCV=Gp8RzfPgtX-7)V5uf(rJ{GDXnnCWw-0p{V_>)XmgLSebXW%^T4Z>
zbb&eDJj>p=(e;`jQP-6oi_F(`M~e{kI)Y*z9NCY2#;@C6SE)gIyp5H6`6p?z-1RO8
zuHv!Ys#%Yj99xMGVGVm1Wh1%>V|lr40WZh~m%OGlbVAGu7H;eB@xZpxgCHh_G
zs5Z#wK%4GOkD;^gnK%{t9EVTW%;Acqsk~V7#_@(?>&w#d(tFe$ZmN{wi>Q^%zMoWc
z0vB@)K0LdHe5z%YC(d#!llM6v8SsawhF4+az*;Yf2L+%3%DYm-^+_w^ryv!oHaH|x*gmpN@
zd5Q6?o=U;OV=3Q=`tSbm|L()Te1@-N!ivvOD96-9i>QnChx*XadHX0*^V&W&=sBKr
zd=OcI>B_H%FNI`1jYyQ^VWf|`*(4O<0mFAnxq%46O+=;e{=4JVxrBMDqt
z|74NV6=Ygy#Q>G*peE@ZiUj^pUghB{=|<~E>(Tq$Nt~OvSI~s)-{p|fn3Zc@SC|C)
zcbEkGy4uA*=09%cM(EJ?K6H}J*zSU(nDbC9%QCu5orU8a=%NGqj(b9?kU)*9?4KfP
z=y-R%lObX~kP=hOaNa2-m-&2$nk!M{oISQ#A%#C(**THjQ|SVL?eFPlDGc9r)+VXw
d9!n>eOuWzDP|Tk!;lEqUue)}JEQmsE{RhhbEyn-=
diff --git a/img/before-optimization.gif b/img/before-optimization.gif
index 7589dbcbb033f030fbada960d9b6276c47608d3f..71eb5057b0a1cc9f427d40a2f99fa41d3f13a8c1 100644
GIT binary patch
delta 20378
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