From 6e35be8154c4608a8e6aeeba0b4694c5bde1cc10 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Wed, 25 Dec 2024 01:08:25 -0300 Subject: [PATCH] docs tc_flash_hash img for m5stickv --- .../features/tamper-detection.en.md | 3 ++- docs/getting-started/features/tools.en.md | 3 +++ .../maixpy_m5stickv/tc-flash-hash-125.en.png | Bin 0 -> 37565 bytes simulator/sequences/tc-flash-hash.txt | 6 ++++-- 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 docs/img/maixpy_m5stickv/tc-flash-hash-125.en.png diff --git a/docs/getting-started/features/tamper-detection.en.md b/docs/getting-started/features/tamper-detection.en.md index 399fc58d..de1b2812 100644 --- a/docs/getting-started/features/tamper-detection.en.md +++ b/docs/getting-started/features/tamper-detection.en.md @@ -50,7 +50,8 @@ The *TC Flash Hash* tool enables you to verify if the device's internal flash me - **User's Region:** The area used to stored encrypted mnemonics, settings and TC Code. It generates the last set of two words.
- TC Flash Hash + TC Flash Hash amigo + TC Flash Hash m5stickv
*Example: The red symbol and words 'debate lunar' represent the firmware region, while 'renew great' user's region.* diff --git a/docs/getting-started/features/tools.en.md b/docs/getting-started/features/tools.en.md index 8267553a..ecc56c90 100644 --- a/docs/getting-started/features/tools.en.md +++ b/docs/getting-started/features/tools.en.md @@ -52,6 +52,9 @@ This is an interesting tool to visualize the effects of filling the memory with
#### TC Flash Hash + + + *Tamper Check Flash Hash* is a tamper detection mechanism that enables you to verify if the flash memory content has been altered. To use it first, need to create a `TC Code` on `Settings -> Security -> Tamper Check Code`. *TC Flash Hash* will hash this code, K210 chip's unique ID and the content of the whole flash memory together and produce an image. The tool generates a unique image and four tamper detection words based on a hash of your *TC Code*, the device's UID, and the flash content. The flash memory is divided into two regions: diff --git a/docs/img/maixpy_m5stickv/tc-flash-hash-125.en.png b/docs/img/maixpy_m5stickv/tc-flash-hash-125.en.png new file mode 100644 index 0000000000000000000000000000000000000000..c653fae4492199559a997f842b6040504fa42b47 GIT binary patch literal 37565 zcmYJ4WmFwau&&XB;O_431c%`6?!n!HI|O%vySuw@+}+*X9X7r%-(Bad^J8Xy%$lC+ zs<*m(x}FJFl$St&#f1d}14EFK6jlDZ`g|Qgm~UTa<_et*Ffd{;DN!L+_sk1`Pi4)r z+A;8@`s017jp<3w8*SJz>i!7%c+kT#fI6%UI~W z5aXDG@Ppbjma(!I61qR>u(DrAKp!IKOdCKyFf1gmDxN);8uypw&;G^j&)Cm(HqfqH z=iS9+%}q3C=8`K64)B*#in)#=Qzdl$oTZ5gs!LFhkUE~SN&VK~JWV2wYcUMWzL}~M z{U{fOX^)Lp)FMRmOVhs#hY>4m5-OMrW)5SQMPaBx^ccy@sTs<)>uL@eL=K#h0R%c> z@kdC{7Buous&;KSxWu$3${+|W5>vT~r0QE(8c|KxT*gfKNdV@uD_nE!JZ9RKRTbrG z(-S9~Aq!0>EPF6P?ysPE>cn{Sc1GVr62VvA?vH^F(7YgMWIpF}|9aT>;f(3yqHX!) z(f$RC^Zi)xlhe-gg(9Inf3X{06o{*o*5$fO18(rXWETcYXT*oB@3X8{?LIj`ElDix~L;l%_O)vtaaUomogAX^8(tNohUe z9L(Tqc38I*5KwhUQ!tk##oPEV*fe~bl)l7mSLXkHRkq1}D(NJxfSdj8l4qrA zu4J1B@JETBSp31WeMU(%78d-|m9}B(8;qfq#3Qw?ECdy%juES+<15tU7oI;b3q=6m z1GQM(<~u~O^h%eN6f|h@9vCSC^!`rRadtFs{Dxid$1V|BYGWYBUs%O4%1X}S!nM}1 z&d}mO@)5V#d!J<5JJQ(j9Y?<<@_uRXy8}IJW-$@DpL%}i_&r<*zEf@c?q}KWIcJ7M z7Mrue@dT&@PQt<*q1r0;z&mGTQ#P!${`jRy2`&F+gSt=-N!qXc>A`IBQZZ7qv~)I< z5cOe!F&7>^ZcRscS9o%%7)M5`H2-jN8&~DPP}~fby~CCTz|WY(>f8>p z4)p`#r6J%vbIB>AR)gL3q-KlbU$zrVZ8&YXBbWN@b55>MQDFk;WGT2%DQV0mnXuAH zumR-L1!N((f0#b<3%DiInT(XbX> z>^ItnNqR~Es6-_b&~b;=(#cI^-IlCiq&FQDS&J7a6fKx(OYXF+1V8)oRC^*8X>gy<^vu*nGSZyBYJ;g4XOpG@;YBhVQ~#% z|1mp0<(MxE(TO{c>0246k5IN2ZK<`2=9YfuU_7#Spu3Ep*rVKk3y2#$y~H@Sf_YUl_MDuCTRi(vjHNkmLMDQx%`s7nmZ&roBK-YNC_g^RKi- zk9S2eQ^wXR=0cfLr{XA*|8Sr~QUy}xiYB(_Or8XAM^S{>l#KU3lAh00ghWG z7qT*GcD->JHZYUt`sF+H(|Tu^=duzx7_jr?DVPU|6rmZ^F-bogM0YHxhY_PB!DAFZ z8h;I4xZ-bmTEW)XwJLFLKe~XX5Df0eTI57KoF3zK^c#Gx#GADj&S)1MwqvT<#C$G> z>e9V#59&G-u1ft{+H=wlR(j_#8^d^b)p#ot7E8VlnOvKq;G9YR||5z)L#RWbNNIozNU=$osP?$AU>!Vt<1|3B6>NTs>W}r`-*erD_bd2T= zyF{5?)TUjk=@Gh~jx1+pksMv|Q@uv#?FE7TSFDzBn(<>$M?#RZ5<_sXdDS3f7RrZc zrU$X(OxGXcM3^}|vf658%{kBaqzk>Ys!pi;*p$%VVkEUQWGSyKr5foyol_$r(NL>) z9p<7hd%#u3l>gcup^}QMU`r4rahGgb3#F_v!<*tXqMk&EG~=ooE%eC+P#kZh1&`7% zF*3yGu0uIn1Yrnaxe6Cr6ylNQYgwx6v~rAO$&=~`m8|ZjJ094Pty2@{%RAu(W`ywP z#kd?{$BPZqAC>lWuvL~gWC8+Kv{@{z4^M;5G3F0CH7h;jE8ON8km&M-;>DcYg4hx5 ziUKF*C>_?cXnih&iTPhC5XDXxJ33;j6v_Ce;b%K>+HI1e!;hA%R?F9&6v7>-*`<&N zKWTQ=wJLiz)n(cOr0&eoEmC1YtbZu~kk} z2pbzevJ%aU=#BqVb~>O3N1iK+2tlK$ol=B$unJgqgc?Rwb+% z2A&XeUhG(zI10;!0Sf0}W0t*A3+(|%``QIDC=8W4bsafA>+wU~rrCKqpDrF#2(}(E zn02`VN=0Kiovt4rnN_sR=hS4Zo-DD^ehKYB{zoi>sAw9}Sn*~abQ*Gq4aLr)EB;?s zOndPkD3z+bPFY6Z*2+TC?Xo-9crrM%IYKl`4#lPQE1YfO`nglbxcW;x0jE6QYNf;O z6tyAopZKN@sdXI768^PP0rpG7n?pBhO3f!mq)|o)kBw+`t)vhNOh@^y%sdc;MOWf2 zX^czZ5^*8uXeF%zB!VK;2 zU=E!0D#K9lu_2VA-_{NqNvYL!mgD=sED`>&pbe6mU(!@W+`bQX?izKwgki~uKE8V* z#;Y;{NWy9Lo`SRoO`&Oc!9|41yU9gI4R9k(PMWmkpGiLZ;+P{uDvmg_A`E47_~B&f zxRV%WU@eo3D$7i}idZ$vjN8e_jhUGA#{Y1xOp!)Lm_`Lbt)uM)ThuETp(gI=RiGK~ zGw(ac@X(Lp*I~!r)GArTcA$+Ubh5Z3B+bj`QeZVK+^TO>R62}I6(Zmk?Jg-Ln5CMU zKv(uP>KBJuxYF3vrNY2qeW;ywMea{GiT0;YvWIgUl@jS6*%?dEKg%Jg=yTpX|Cn#= zK|3_jeqFajp-@WEf`sE-F8pb%)c4z|?XO#+P0e4kwrMjA)9Z`|lW^2y2Oh@(GkL!3 zrI1FBnEXS|#2Tmf>N=KhaK_dURkdHUNpAKbL=y2UGuz0OuzDI9L>V`KiKMiAxb zKMO1OzBO1SPiN`ArNXx9BJ&4y9DNQNllDG>aacN__YzxNypwRBU41b!LxXM&od@L* zA^`;AE~a``o*|w~u(_gWs@Wl50|s4s`@`_GX(2$B{(d~j2))c^| z2)BBlF(tNRfDlrfO16(dIM2`^4&U%{!oiG|#K9InfxLgvFe87(pEQsoQi0HIOu02a z%Os069{taX)nGIq*<(-hVm--80zOk69=weF(26>v+7D`8F2*bm!;l|7%wrh6P?_=J zYFeeTi5V)4TUgw`Z!+s_OX&4{D$*EmigVo>*e(_+9uwCc z4?S8nWa1QPj@*o;Kh73|yJ1XF@ALhS8Jgc>20q>|fz4&!k+q93}dtI=Mu zg)!EiBI=_VkzH5f5saKsU(=4<6*m62Zn&Zq#-qB4*)iNJP}Gb-S0**4j;7!ElSw#m zwRR14=IlMnh_snFX)0)wuyUMM;%$xdbz%F3&}h*jfzKt0QQ%WSx-^PaY{Bb+*`Y1w zta1`@;0e8@>s`0`x29tfx9F~;IJ|YfSMo|OH4Ow(f=MbRpWGb0FJD#7`%;bP=SnD6 zHgoII(Y52c{2HjO@NHx68MsCA`Eh;pV4|RB)$gD+MdKm8z%b3-%$2My)!e*L#ls^) zEH5`YaG}1m-~r>?f2VHU?!2ga+6xIbTpx+qe9g!R%Lt!!Q?cyQIX6MzneMP!pP5J= zevUoqsj%g3nd>seqNHj_?qrLM z9Ks8H+&Yx`By73#oN;eH5eQ{J$PVwg8K|}XjnqH&gdB_7p|i3ZOhR?4-myeGI`gl} zQci{GSZwvWLEq8n=s|HV6!nB9V#3oZ`9ntOCikJe6Fl;cO&oCj)#d8%(dLm?PBI0| z2xpdN$^Z%+z>cyLRj8M8_>r9}ThsYnw^wJy-)5;0%Lq%;5MTvUvJMiFRbA-hl|39C zl?_$7QrYJd7cTa zLNmpHLjIRZ%X)5`gKmC6H>bDDmiqxTg&QotTdYnX;QFw-<7!W*`%xzxM&RRA;a;Zu zLFVG(Ligz-=d~&V>q$ozRV=R-^2He3PU8Xv4gA?L`e8|d{C zZ14VD$%3wgR}pZjKd9Cwv7vV|I+^BStBWtF)uldnGFyX`H(51}t0fB( zj_W_s6Qa+wI*gM{L&)EutvpxBc}?8D&j#KE3O)yZ9#9F6UV}cb6ViN-dACOu-Uk$( z_XZ=qK|sIm=`7yiek4I}oan49f~~hL;H!+mE2_WOHQ(cc%KO&!N47$a0N}I*0GPCG z**sdb8Vp1dIQgA zj|STh8OJa6zSq9M4wrd3&X;hi>=^~ngTmWY$2H^k*vl`s_?(Ck-JQ;tJU+E_XTf1H zx_f!)5Iy&NfA4`r!guc?&*63w7kuv*ya=25Pg3?DOZG2E8TLy+?`h!k`^&xOUO3eX z5Pp4WY6`LY7O%UGuOEw1cjoD-S@0$R=_KGgVe1~g?I&)Z(ym5g8=XJ*g-f!ARs2Fa zoPJU&SqJc>(T#2e%Mf zxi!8vG+?vVdHb>eD6rtW9YA}Zx_*xl{E{aq)|y&&k`cl&Ki!g}&}I!DmCv!kQq^Cnbq z!v6Ef{x#CzJ-@_qPtM*m0rWl%%JjNw8*bV5efu}{%WYpVYlxNehb(IY-<{N zxj&BOkPu;aRW-?3cW|hKu}oxawz^ZVfOMDl$ja{k+hz2RBsqr2!P0PbrPIpq$%je7 z+IA{7o51HPAkI#sZa>ipCZqS)AoMD^UKh$}{t7LgU8~SM`^#I`_1nXLnG{OsdBTc| z#iak>1Kce6PUyY^wy9DgZ|UXbwTs*N)Kv5MUGQ0G(+~8~wI9PvKHB|S(Os@%*A{G< z?hV{@JD-&x(u-r%z^}2LzOS72xpGP_tnogilbt`{z3x;Ydf)l(1Ns1-$M9bL-e%*I zOStNKvwPy-KkIm%`^iwxb(N+~2YXcAqZO8kd5XQ%!l4|ijqRj~P)XTT=JwQ30xoj=)Ivaa;x&3)*V{h;D zm3ywPuI~S3J%QT>cn<)$HBJ`G*LN%k@;GX<2?uWb34TeD>!Ix}xcSRb{t`q!iLt&9 z1)cX<*9ZTNbLO4<1lKzpH6D{3{QLFe{WN0XGMi*i5_mJ;ovyfjfA@@Kj7G2r2sn^9 z*{^+G`QAr(!2vi*q*-@yjlW$Y3bnwG?jikW0?Ey=j(_3_@`jJ|^>|Vd^$}gC&zP zgl}j9PX_PvOoK4Um93?fU>(9il6Iu)VI+`)FdLXWMX4oE^j61@OCb#M8!2&UFp~4DnoHnU1}i=D^%Ri4z^i}8<&T*h$rhpCq6;xX(K z{fEa4v!-(SuMRXwHt=90%P2X-$f4HITBk(y;@iuBX$Prz^`5XYoi2c`!RG07Tu7d~ z3%s|M(a$4?&QJ_>z!CWVnAkWIo3t2sodQ#1;RGyx#e%>e_5*k~4WleZ9m_|f%c5DG zWCl;Mj0fC;Cj{NM|68B5u#YiEu)(?~YsK7~vK>|0X<(8TC1~DJdSt1?b?A`7nQ_eK zhMrQ?ML$>f8op{OuF{PdFf;V<_Vefjzy1_D`nEXxa^|8}11-ToO|C=XuUR&$X1Mrg z&Qt8^fZ4>AR=36G2!j+*pV}G!BY}K?EABh#w{Ke;j~oAFBb?h~iQB77$@x&OzzMl| zxG2x9c3K?Cj?)m&fl*o~1ry$xR6Zy~6`)89Z+=eC_I74ZIpa5ctQU5LoT!k_owZX) z3mg?dB|UmAe`MLNMREVHofI@ma?14tSvFbqQn49r@aBG2ehLu{uHX%uxpLy)+#QL| zytMEOn^P#m`j(DQM$2um=RCm=)2&G@4*gxenD{wECw>;)3U`GdHi44J2jjX$4W}^> zLCp-#8pQ`<)G0Eq3!%P8=hEA=j9+?*f-k;%A+}}|#T13*zk~?$Gm7mbvdSsDnmEc) z6;nPDlx&EfN>YX_YP66SC~`F>fS_#FdOT6{slLG$YP8&q(?-bg2lo^%F$dR#+rzu< zjuD2GDH+8sQ2&utn_Eb;dv2@?v;$=He1zww+k-RrQj)|ZiM^P|YJN1I zBMwIWaYCKjW$-5b`r*tc&)<-k+zz*z*7?PuI?n9=Q~mQ5Z>e=9_UaYN%!$YPhPJ=D zwBosL3CRV}h#j#o?W4$g$iV?Q=3d!y1d#KEzhuiN0avHOt4fH^()(I@yoW)Kg^fWW zuoijJ25IQxK&T5JOFXm|;tHno8ZwI$Sm%mc)@1KNM|$sf=5{KA^)9cswQ6Tk{Mn-j zE2dv~=|VZwFU11s@dgHkL%Z5)5RwmwzOO&|n3F|a+1Bn~ zIuqsU_*s<@SvW=a%2a3gOqcnNS~b0Rz{G(q9dKz{Xrg> z8Z`DO9K3^S(z_wHM@dHu7e(8prf*)3fLnUx@z-`CsJMQcOM;YuHcw%iJn)~o>4Bad zM&Sy7JVNv=gWx&&@*F?#<4mTeZa#L?_a-|w*YojKcg;7xj^L3X=Qq7q5L8{tZwnF@ z;$ssg-btIY8}|_H6Op0QqUu973Wd zis&AAK0l=w(6`y446NzY@AB_PJ$}v4n841r{~t;UAmZEA?U4l(Ni}WbMDgA}UUegj zmSZ+cCW|6T<71$W$=V2^;;m#6TodzTpvHBahL)POup+gpXMSm}ma2RoLPdPTNt&pU zQ>NGAs!K-KG(<=%d=yMxaqn;z_W65@Ryne=ezUZcquKQTo-O&PMCHrdCyv z1tsdB5hF*CJEIhSC`L(&SY>VmByQ8!xkv`1s|9CGo%BdPCS@Fw>j+`JmcPAt3@~}O z2@<+K_q%IOX}Bah#_;s~G0Z3WYkk|5O=pXC*BVsD#^bSVzv}QtwjME3^x-}D!qr$+ z|AO@ZJ}Son)EY#jechJffU8iGHPR_JiE@MX?@K5k)vtp!IJjI z7c|@!(#Wf)N<6p`w%vA95MYvM+8l`Jo|KzT&92$)=&HOtXn=(G;SdjrMJ={|2}4;3 zDX1)9B+!n*lOkxWr)brrBb8znP$@K+oo(GMk`i#jee3#g4}a zjvf3j3lPF7nbH5MNA>hsIRl`?l^`I}uvw2}__Z@vPRBMBBL_J=g2_5wYBh(9;jPQv zkgRKyItr(&to6DnSx)Icwpu}NDI`<}#9n2cL&wxlk}`v0HR!{w>15zTeZSamNO>fJ zVk&Ty0zo=sW&51o17~?I2t)Znaprn1HWGs8+7Az?J-Cw$rLyR%(m$27D6ylo(e#OH zlUz^-OSz3@?M?m34yEgPayoLQetN;%EM{|mwU)|U>OSfSaHz+4xRYP^rm zeU>4?EmwUY%YC+$B<{ultY#09>2AO`rD`vP{p}nN2)g~ZQSLv?*s)Wne7<(4sAiXk z?NtleFp!vNG9t;$&Z?;T+O==#5sc1CsqZw?8bs z@=-b1bg%nGwWnJQlbsMxkfk*2$a!s9(d#8!+Xmh&4tCKs3+{S)`XUE!*_y9XV*$Zk zpzDC2u_8Y2?ZJ!JppNeCq*tP6#?Z!>ICK3!*E7ck<0~<~OJ;U4{1OXm%7^{dF>+9m^CM2l!%&P!U&bxQ+jmWgkL^YrI4;YE8Zg z8Z0&Q2@Z84wk>Cn`9*OdS{l25Fxl$7evNF#zMa=28=PAdHW$Cw=M=t>3E*B_v(E#g z$5PVq{>aZ`_qmm}#M)+4e!7C^Q`wR?7( zw%jJFM;1oIh9hPeZW?auX!_pn+CFAWc(#cI7u}`m$&+ES93Z#vZ<$VaZ~fg+GUh$g z@{-ReINA?umj13zXCL&-jVH??K3zA7xFG(`E>jZ)l2l@`CR{3e#$6%O0(mq)L&UUr zg&d#gbWj*gaGzEN*q_a|Oatjub_g zWG{--j@PM`6@lFYh)kVO*xZ4PrQvFTbt8i59pesMBt!0 z{kic==LYYLIDy-nW;IirhWXBCbCE$Ea9pk$ls^2C;Jv$Y@v3x`&;Tswj|wx|?ZZ7K zCSR|j(X1Wozp;zHCvs_v$HU5>QL&&V(7NGSFTfXJi5b&T7B1k3K$|8|5N7#{e_TJ9 zG}aszFx&y}9sa2H#;_c<%0Om3Ih=HK7RJ4Zar9F7kUj8@lR_ojUcKy|#Q+D!9ee^< zGUchLRWiNr$8=>4FYmR|P$m`c)B7zwo}ik#TDg{B)sI&wY=Dl9IyY!nl+A6qN!Q-7L@L(KhIM{D}H11Tf_R&}?V{M|3`12bjZoXV2-A)C8L zT3%K|qsxsvy5RbB=5zV=EygAR<1e8qqhN`djyf}*slwke$7?%Ng-NF+0lQ+`!#zsF zKN+;P;Rwx6*%IJh3>Sbq32i)$8-H_fwa}u6Vfva0{k&##%aU`P*~i6e0_px?>~)St zf|_njXgavrBY%p`C^}^x#ras9FQaoP+Lz_`ao_i;E(On8T=!4%D7oipS@^T8B8tnq zW*w!=HyjxQJ%`tQRGL=NXb-7I%2iv_#gjy0*$h>=ut&d3=9QMiScvMvZwx8h-tHIy zx|Xy1_f}Wjm*<}Fby*LPm&(bxSkhJ%ALYa#i?gZK)Nmm;sCV9yQ=4%}enkIBKh|sI za-+OZBpVx3p%=V_7~NkQ;ET;dfc#5VuV$OFDpNY~kIk82WqSyHYHLVvOOhvvs$ak4)Kn(D-t;dn{sk(Ln`4!yAmbrSv2r;C>^>~rv?QyA?t?+vuLb= z)xe<{IGv=@ap>LR4ZNoYhf^HXZd8@7X0PeJ*iF8CBgA?)Px}EVWh(Z%{PzQZvz4c5 z3Pehqi=%H$#4Po1WgTvMb%>^;3Hc|bB;6vUHo zOW7IOYLff@l{=AWjjq`bF&2uy z+Ry(q78uW|b)x_IVkZA)&RxJp&s$cWfE7EM4q{|_0F7895`-dFLqK{m zA-%@F?2WE;R0>lDFIFMPz?lA0KvHP~kfNj6t%lxqS`?ZTjEN9?jHwTKc#&hnrfTlt zkEzp%cWV0|k+VmX>`CiU(8j?c8C>0J+@h9W+@3$_4`u)2Ky0480#dM7KUJo`=evb7 zH(zU|klI#DyY-uNwx|PV^-c&LN(@xMjElZg!>h=~{3+LhtV-Vp%4sEc;CS37^O&HE zmXEpPQMTPtnzM6OmhzYihi4+@qmI$4wM~?YilWPR^;z~YC|8)Z*iA0ymJF*wWvw*Y zvH}Ssuj(U_^8CmV3;^3G#vQNrPfgGBbV=|k1Wi^WW1fx_^D+<4&9I#dzu1Z{aIEX; z(=#!Oe`@t+&eSKU*~e2_41ftBzIze%v}>{wKvhNWT|wf;iIj4+YSwr&lmh8|L^Rs` z4$sdXki52}P6c@Z!%2{zHmRzM@!!oEGduh(O)4BHVu;VORJH8qr93H}Tq!xZ^OLPr zc31o1tQeVFH3)N)@O-^(+TYfn<^e%V0iQgD zm$1&jI$-}B(Nkr=@3vYFPPspa64)ZLwV~U5QsGUx+8iZ^!x-F#kkSXFR+=n#j6JL3 za7Wc|#m&QXt@q(HF1Eu`u=n5bp6yiWnG+~iCK$s_Ncc9Hae#ALdR4EzoA8xK->2&H zu`L&|C*RYC>K}|rNy$AdtGTOB8#9^tvA1SK-W~Z_Kb_FggRCNE8nsa>MpeY>y>K=a zM^d26<#b||3W}hlH26H|KSJ4ikgYHcEuHinP4S3$(FT865=CCk5kIlY=t5`-+|Xa1 z`@y&4;l9P25axDJ`Cm0%3N_aVTumNBR2NM2HW{&9-4+({OpmO#cjkGTV3W3Ie3iLK zJ5`I#wUY7^gCJH_3@d`tMbOlq%EU+-C}$364SADCyV{IF$0F61g_0LZ$AdL%a zUdBy8b9zmnGu_yEZL{&*rknl!rpyW9l52F{7`HGS6xlG_pGi6QYfk69HZvDC7v&#k zKjC0Q${wmvOAt*|PnfS|Ru=Q)yN7f&%fF3C!J*6}<6`oi{-{oX`$_dNG@9d3|4DV8 zMTL$AuIQssrZm_#;9m1bg|M@t(+E>E)XV~{RIO9x$&(Y7&6JTwrjbTt^Bmr^yh?|= zP{Js~qKM}K1!aEtbT;Itvg4oO@8YRK? z7yO*Y<;KPa-sdE?7-fGp9Ix$l#+=;y9+ZZ>VOgWH|1jG=K5|Go zm|cc3!=B*G*4}`oA5FlkScVawOt?>l=Zm}#B(J68SW79s8Fdb2y0W<8Q(mi`p9jS3 z1+<0i#L+UzWdmc3=Ef?pK4Z*wQcmVY;_R9|iK2@;JpOb|6=VJpRhmLknH=pQ<%k5W zp~jfCZ9~?b6Sp-Lw$%wN7on*y%v6=7?sGC2^gL{1)rh;fi*MTtrcpjRlvq^JW7VkO z2xzo=-Df^hYAPO;RX?RAG@IXGvcS=2c(1;`Wa@}Zm@&TUL`yEg&F4bK-kA9F@LsH^ zA2>|}H6R#RHHox1{6A2p zaAVHqLCg%kQv<}x#WLULa|ZZ@qPxdcePgAWLZ6S(R!<8 zBmu%L+0@YZC8&+y6zVts82UHcI3(u&Ol>FYHT236m<~(AB~w*9CUENHhF<|fRu^6J z%y6kPcaS0onj7=>${QGk8ei-YB4RmPQSuvWTRr#A8K=anw~d=~7en#P($gr$FdG-Z z`XJD@^B2w`VG}?9-Hpj-grGw^+Deo?fT-lHM)Y)Ef6T4Bxs%JNo-x>O$j+!E=+@2tX$*I zpl%pSK16<&hfb1>*1rx#e?}B}1Xd#f8v6nd;4(8CNiMr+&3Z_<`%VPh!z}#**DG(o z)$^t8)Ox71&s(VyD3$}t+HFLBGc;T>ueIYH;S;-*{r;o&G)S(eT&@OH!A><*Iao}- zz}?egS~mHmt<VbMI-*TjlA1gxXQNYi;L0`( z=wCcWcOJX73m*kXk(uyP-9!ri`Cb=+8W{3Ar47!HG9O?4_sXOiDkxCl!o1XPGv%j^ zUCklLT%*@SGd{(_um-Xi9TUaKsz0zkvsNiM&Mm7FLo`ect~eW`ed$nnT~z9tZ6_wb z{F`jGu4xte$K7&_GZug?VvxSl@n6o*Wdl5~?LoegtGbWVSY|=NRj)%|3Q9ik!cMc! zu->JjBkZIVR?borb7)pCr9G-&>gtY|rJim7ClYPRy2{Xtv6!yD|*vsb+1{Q?}wR=0|q@N}n z<}Xot7NzoIn|Adf9Rta<;`zib6ZIu98HfNrc0>ltqH|`4F&ss+58)HBL;Bu-*{aXD zd2`46FU2KTSZ7oxApDq1_m4wZOUF2^N0;;)_NgkDF~E2IF$bCrZB%flv9w$zzb3@n z2-gI1ZPhhyD(ON+5v8I!FA1M!((~MF(_##i2nvuGaG3y|F27xSXK>afQGP>^X8>_9nA%^~h8)JL9L{Z*pEk`8S((Y0s%xcR{*ej)t4y@h zqxAZ*v&ye~5w62Jj@*lGyPz-4?G?wagP;=3D=bu6ek1<7;-J5ALbuXbR769o2hj&= zKI$Lg&{XxtQ@qa3^@h(gfOi{a`+0J>!0TRSV*BGwqHdmU-hC2pqQysp!iYDW!eITn zW9akmKLplFOttons3?-8@IF`_jI=dX915zj-FozZG-27gLR8Et(JGcWTtW_tBD+d> zoQ9ay1bPek(0ZlfH5Acd@LwlpJ8MATO|$*G*}027DpTiZmqVV--|ZXDLe4H|!B^9J zYfwk3`VuFI!Et^3mJBHk36$=B_V;DTK3N|~>HeDk5eX9RJTW`(@cq^K6#YyWn~LP; z;3s(hTyR(OE_})t8hv@6gXXr;c0d}S(>;{Q!*KOhxw?jF|LN(pZC>c+jphF_BC^*{ z#IC?k({-CsX3j?m8UtBP0Tes;5Fge!QyVx(a^4}GrmyvV1Q;zFqS&%<_790Akn@zZ z+gVXc8LsJ)gnp_#kEPs(ek#15D)dSCLT3AxXW!1H>>~Lg`+W*LPx*O2Ix@_IIBNWt zyXpjTcmlgl?fW9_XdKOP#l< zJEu>NkJXw*eiD=nkFI~vMFNv5#oV-Oqh=ma%P$}Cvu_!q0|}+;4jEn73j9%8dkiAc zuvuewSz0W7*oMF$eseA45#GRKAd??*b+R#d>(#~8mCFh93M4!WxM_X4BfE*$F?>t( zm^|N^>X?8uptc^MGqA1iFYq(X_C(Egx4Fi#|NQ23Maku}wgDQfh_ww&M5j+0h=Tjf zI4UdI8ISE@Xh~b7algcywB82ud!cCb8S8pUrd9atAPQi5e=(fq`NVHyDMP7>W?79k zs&+CL&DoJY)^KD(krG9Ra#gisXO@e1t*9<9iPN@zVt&l4?TfHbmrkmbFB+V$qILs> z{<`iWf8;mxenpGzk2Emay1{fDAD6Y>+f#WW^3i>t<*#*`eLn^4G1#-UY%zY_ZhicD ze_(9X#Cos&zDQQv&>`XGrg3rAhqq-!=po5>+xl`q6ejoT}CB0B@xTe@iH$MP*r91 zcF`Std3lKQWbX$<=-cDHXS@jNWlHl1c@wbK4qP`-n{Gcg=oJBG2)=(5WV=joy64|}L0+svS7}#4$H`w1+5Y74Xi`Eq8{Gw;QfEd3jazPjokeb* zYe?csGgo<`%>Q2^JF{VPdGY*_!^;_TjqhUxx7X7J8x{LNI6O-Wv5p8!?Jp9(qy<0` zMKm_WL{S=lL&hkdyHg`EspEO`GTV8!KJO~WRoc`A*ZdTI6xk+eScC=b)Sfh9l>`M_YoE9EaY-lVg$q?feI$LEvf(dn8NG!}&!5tTu2>A$Q%|#O^zI<&Ib7d`vE>qoA}!Vaw)|(Nd`(7Me(Y?qKXg$-TPt z#=@w0>utcdDUWP`XYG?y7oM;bNnNzeol>ILhtF}>G5__Oz}u=c8T75iB8yZUM8?IhnKx4mv2ISPeL88xA*}Mb29Hq1}_+21lIN5 z;vz=Z$9lIO*fW~oEt=;=-SD%D;G;@8Z5Qa{dicA*4LIQA(*79e2LhgdVOcx>@kV=) zM9==dH{bo@{sZtHrrf#`{=;`7w%-8TZ*%=`MJzdMl&oh!=>GSNT+8PP#%dF!(;ukH zD{FWV9Lnk=9pH8u#tsb?M^}732q^wk-@*C@g5)C17&az)bZbvXQ^5PX-Zrm?YChI# zc8C4mhrz*O`R-tRcfR|Ab$_0B$6y(Fqx|=>NCm&wdH1ujk{c&MpwsggV;64lK4>sN z^tns4_a78^GcWit9|qHT?Q`9qiAMBAOp*M^`NGa_s=l1-{(4$+n>OuzbT4rK1<&;Y zeYSzSSiZYhH+^tSI}&~m61UI$vHP3XzMNa2PvHK4{2&+@`E7&XTSE>I2lN#ue+_*P z=xM%t_^XY!K+rQ0i0nV~XD`L?CFP6xQrO}2-RHc~@O#uSxO)VfIp^nhE>&=vpvRxb~@$ z+0Hgx?F$AL-K*~Z+Zc3c*MQ`&EW@bIK37Kz7~v6OYWVWNq_mtOGtTn zdHH$cSRmA``)%{}3o?uP?~Si9*UyN2?>KK8pS;^IksadBU}m7K4kc$C92OJAb1cX( z+2wKm2_F%C<{7T!{@B}Qms#I@QX0jM&V+F`c@c#~iMY6~%+>-)S6HpZ`y zGXD$0OSx2f-9Mq`VS}sO=oA2e|)i?KXQDYwA3(iJdSX@ z-}i}@A0IikUzb|WzVNccf>?oedv?LQf3YWe*PdA0UkSGJpR%iKYPuV57!y`23Pq9# z_!d8oprgUkNLIKsRR(iEpvhS)qI!dlnGdpvo&`UrRW?N`<*$@9n`+Be$v3w*;>MNj zS;^xESl~3Ep;X!K5Pq*Eei0=(zOQ#UZ;uLs`$Z}GeGStB zkrM-_&V2@-hX#9OL@zK$na}6lpVs)X5}EQ;d|!&lam)0ZJ-6=0d7c6xu!QZyM9FVN zwx;IfH?&_VU)2rUxk$stLftOx20fN_LvP=`flRZe6n42{BghqG%H`K$^xmLN&AGv; zlwjHjqjuC_W6e)}|K;#Wm1I~~=e!c`PJa%U&*!-B{qUUzdLw=1PQms|*7oif{P>}r zvyKJ&1U&)<6yCSFHh52Fc>~FaRqLdG6{7Fd%SIRE?h_{jG$$HMd6M?nw*$Es3_hzv zs>E5HwQ1)o&sWsGM)?*AnQ_!mLk{ZQkB3wnqxsAiH04aCaP6pWx>y#Mr z+l*E@eDHyn>-{eaVE3A1m!ezn6u>C>|QgyVl)*l0ZKxmmf&h%K#yqd4hcIvoF%Nz6l)c(NCeI1)e8xuGC-zbb!Y| z^(d%lTb?RmR$&FOL?8o4gjE^^gbF!;F#=-(1Wo9^naI7mFYX&tnCSGq#|6|1&tAzU zTLOq8Mi6(p<7v6|3}*s!CPrH5jI3~T90MU}5!-sn?tAc1fx8hXm2RBj8y8&Y;WYwo zQ@J-v2z{-N`}!S2=GAQUF~zVpPWA!@}Tuq9O z)m8Q$Lz2fxl@^Z>0#n&`;Gk>s1<3Ov+#CzM8Qx#jV-PJ&ES11>d27WeC_}ZtX)1(C z=qzxRJ653{;}Y(0ksBNhwN$_~-4a#<=|vld$2wzlQ}S6t#X@AEv`}-~`rGs-nD~5u z#y4MI_RDD;?4}=x>ilfURA>5b1H`$2GlT~KuF+Zv2$bS4pF>GDC#Vz&=U?|dz=bTWUWV2vv zq*Y;=Tegn~s@$tkM3e`1xZGoLMPb$Cs>OnkK?`q+oO5!5m_@F#f7$U+94U)7P;fR- zKGoY$_3)ox?9X0}W4ubS4tN^g3*gxP~O z3T{h27jZxeM`4EA|Ep_w!H%CmCj~^R^K}#$tIbD9WCX_u9@4;{0ok^W4giOs7$`p> zEC~yw!Gkvmm)GVPzUC@Y3(#36RRV~spgWksRfV;RtBTX59+5(^C>9ICsAwx^X&V?I zET+e-g;o9EEsw6bCyNS2d2}{SxVSaezkBobD!v2&VGHhzmZ2|Og^-x&$%y5FecY0D zhO6o-RJnwkki$F20djG#vZuEp)dB(~MPd&2P#`xrDgud;k{AOxC=>wZ(wjbVugNib zOp@S%J?!C1dzH~s8Djx7T55E*dONsG%nd{+$OY2VdMFYLAQW_mYWDcQMQ`{f+nxB4 zRFIRvawv+5H^cjDa*SfA5G-aC5?<7vt+Yo~Sld8=(JC2wA`4=GJ-`X0!UDHFrojrS z{b?TZGRxs(1d%Y8o@Ik~x{nRB%=d=PO7Z6FReW{eboUDF&$`TbSJ?~FRUI+NOC#!P zvnWqpwDpWi7}5U(aC?-K{ODaoSddzOb*q<^v>>FnaS%fAVa0{t_0Va*8Q#B~V_Y-} zZZ$4hs)in=fxb5>DMj0l^o(rn#?ppz1tC_FE657F1qpP6q~)(|Dc8@DTq8z%RdN{X zhXC|Y7yxgE_gDKEZ3fz;Hv@zcWRklv$)h#tegyMg^oAW|*u;4>#501_iiL9w90X+r z0LlID0>XScREij$79dFu^#Tmx79L9A-c00P-D6zZjeT8p=_q!0Q4tyrvg)370qiFs zWIz9qF|^Eo&Q(~mSg?WADBFc$^-O@N0BK$p^24QWP%Oe_ zT>8CLM6F)f3+Q?RZ@ymbmjIMWvFN0UyyVNW!=nwI+iWNVU`r?vHU@?P@&Vteww|a) zSGM;EP^8*W<}#^Kq^1OxgzOO#q1Ik&_fWo3Lg;IC+}H0ITk;f6$hvz)WSKKZSzDv9 zL=l#;B??TZaLoR9o~;x_U92BiB`g&^=w;gv0Cu5sXlZ5-fTuz*2*&L(-c00P1i7D9`KNKiA6!nE*4Scwg(CWNzJmJJvpS|yXIifD>hBBK=P=%q5_FU zmu^ykwLJ^@rgG-hK1K^86F}JV$8MdGID24{0)=Qj`?94N$ezbo#0Y56zWvVPm(`N4 z1;U;)n%$z*))OtwDztqV+a(s4>5E$|%jVSi(24V*Kfl*Gt zt)K|D!M=MNBE)FNX1Q-E5gt6~IeTOT3et$_O@Gh@m`&r2^lS#EV4~JP+O}f_pfCZP zmx;Sjpg6EyE#7>+S}&(y8G^;e#O6lOor=4!s8e=C1P<&8PxLL>Htr)88VWFksp!z` zX2pHT6>!7cDli5T(DK|xotE$b=GaFGfuZ`UZv-O+p7~b3BWuN@z zJcLf*0Q}ppRU88qfpeJ*(|#j?q!a+Mj}c*uv1;_BN3zNJm@s;zu79bAr!o{EsgNZ0 zR4^g1#7MWXDtMZO`+|-H4@uoQ2Jipx|CewQd78kQ?N~NM1Xatk#cGe|-Cb27q(=g_ zn}vbqC0zdAW;&ioP(qIogf6%G)`lA-%0Bf3Y=sOEjGlx5Snv@|P=#R<>sD--+GO*Pkzcm;E5Ch)WGLWh0mqkPvv65JgO4E_;kHh&!S2=-}Zv zFbJuN%Uzum~EDEn5Fq(xS5Xi!2-_Ngv`~z7>PNShk>qcl#a9tKMv4Zp!V2q^?l8L&`s_*9wjb~_m>^7`WfiQ z8JjTb-vw`G{X62|b8l1Lssi9>>3izL zIQFwh8?c)8W)oGjpR=R)*F5;yZIKgaAr;6w1LKhcGQ-x5rd2_6B%MeJr|m?o9J=(KGwbTqu+l+mtv1I1Y)U z8z@S~gP@TEr)^Fj!%cT3lmet=Yg?*7ETsPnLOC>m96e$VK#NE0OAaW8yKTy$eu94@}8b zObi|FCg)A!!Cbl;ZZte$um~IhMS&fV=q_SoY!t;M2Fn8%=<9{XPgfg^47vp^P-2KH z3THrL0usHgfu(TBu#Fgi71HW8Q@zz2;iVG|6exBb@0|+~$b!zASn6Fuw4Kqpg9)hN z-NL+W38ke9OZuwC{Z!Yd0R{8+Gb{UvbVd>Z3?qwTy`@jP1y%H4B-6hpQ4ofD8jTRlV)+8lkA+5>UXdX7tceQBb*V&kQ)u-&Q5H z1bYt`Je}LcV09Ig5l(U>O!KoCktmgIsaL-baPpCWTCf`&5bZ==TMHI&=j1~<*Q7r$ zVRJM@=W#-tC#UxVz%?!osO8R_ac7|NY>TewWz@}kmWUB#8SC~d(3=2=Soj!=j&K>)XRp&8})JPi@0l3_oG+}QPhamTiu{54VNa|;9zB@Uu0G*4$d zq65yPrr^dvxj9cIA<9E!ZP#-t)Pgo@Vh5~C`V1##DR=X#JjP5Nv;^<}gup6ASeqPT ztBQLg4D?*I+wT%>^3+3;Tz#71^8H=Sv4^j{#n9NGd~4yooFHHXK?5$XEn5al$7d)a z=>1?@rPIxG@TjikC*KeKcDr)!$7)VLNS05Mr}M(q2$AHBP&8FgkhtnnpEK0S5+J1~ zO9T`Qnhtg|A1H4J-Z8fSS=YxtxhnS5i4MbEn)vzIND-2!@2>2P|wW+Xq|-X zF(u`>sZf=u2xSKC+-*Fh*T2I%rLoxcJS+Ii@D0^d^*gD^N3acqItB) z@$B*Q2zam#39Me4{)Xyk*w>bE3sLAcqi~Gtt%JB=MF!UV{RW&PcbOU9QR(3j4Rkd} z8@-0u!GG@@7uce+flhBPn|~)IJ|_XzTa1i-fZfX_+6r-J`JGM0t+WLy>KfAcDXHC`BKh01tqe;JGt|w8wF8hfc`lAl2K9YY|=q zMaFkPm*8LnjeV{5vqyq$)WB%Z7Xd6bT@`LTi_3xmcc|^RTn3%`Ed(gDWgBMhg~Zxf zzFSUypeiM_Ct6Z1iF%dJ&GLGB&f>p ze=@MNkm01EmQ^1e!c_%S^cpU!J%RwMY zK$cghX`<=`)YmAoYwGH899!11cbI=RrqBo5Jyr$@^CQmaXz0gc#wuovuHX13(!JQRmup4 z((vs=DMQxWq!T7e%%n&~f>Zz{%>q|z6nu|DCGm_sVI>uqypvZrV`)*8QuYP{SZPec z3|h;WLy2Mx&uM9DRSJ<|okOGXv`uJV!+;dzwCA^m`HSe-*olgPVn@d=0x6?EavqOE zrn!*iWForG<#ZXNA{K-RCu{>iimv--VS3`PiJiF+BYXF$_SA7a4Z<^}KzJBk^_X_F zdj{-mNg^VUy@SPY5;p;?GBP(Ha2ASAP&31|?$kEqfS=MnmdiZM60lsYBZTO=mModG zb~%PQfuyWSF1M62qeY5^sKOwz()&h4Az&UeqZ<(w<~6hTM>I0J3JEz23t{y2#Vlm_ zJa+=ztT>L|1UwSmgMTm)7>H8E@<@(M6=8&kh4M)VvJ~eCt7apN0WL|!0Fj6)0SnD| znAQV4<7o^H4rEEES|}VaE1e!Dn@1CvQU+Zy!iDg{E~s4NBTNddT9}j=39Y473rmHA z@o_}4u`MAZ6&XM+RS6u_5d&C-kwa@NR4pY3kb!ZY&Tt%c0Ll}oyliCH8RAGR6xM9m zw%bC0Kt?odtkxm{JPbt%HKmM&pmcq`fJGecglYjbov0p7g=yIbO2FE6hUjhv?Mg|2 z*7E-2vW$u}iyI+Dn?h9tio~FNs^(aVaCx~mjV3NaSjA=5M9UNT3^5Y@oEKAldwkQF zxtTjsQcnmBj3MQbtXb}&?+alpAr$n~!1FQ{#NI9)=@&LV>>dEA(j1+ljt2N2I7FOsXIT#G4Q>PrtKH3<@f3^rOIaA7s9 z8W>I1c)OV#_n-iIzCHm;X&u_Ai5xMU6RgE$)QdR+L*8CI1Fwi|fJ$PtG5EQrMhzx_ zagj+mv30Ub4S+giqUORn({wsRL108+bP_QmbQ0Rvs*xr0Fj&hOJON}-hYgA#tkXW1 z=J^K7)Zs92=MYdWol77+_9xS1$*RJNrH~Q2!N3>*B7{X-mzrXP0A;`wWtl3Kq!~t_ zG5}r;5LB&&bzT+_9#ZpkVAV0ChhwTltdgdH)rDTP$0|XbMP=g;Ee^+E z=rEcXE~(Dwb0kIr;M4&N;*GA3S2%z=-&_HQKqaIi4uF#7mg3&lXQPo?uuMJd4J*3u zTu4V|=M^p?o#H3ps+POU3#BD+tWXTs z&XZJBdAzn@1&zecXSAYNCEcTVAaRJ$;1Fspj0xl#Ewu!&)MN=zt(bv!%50}2_tA91 z=hfXPQQ;iGS}tJoIB*;Q=NX~GgIS0}BJ+US8cG(L}U)6ObjIhH_dji z_xnRMF$5=D!N6KZ;*8BU#A6db?EWw!ab{r*w;fybuz+D`qh?^pj-5Kt>bIIeSyKoSW9&p#IyYt`aF0;$=^NQ| zZ~a{jGB{(9gdr@dR)ZeN)irLTDuVM;C#Ts$z#>=IfJveAL^eClhWwc00G8S+ToMLv z7Qs9^MVfXh%t)h0MHc0n6{XptO?0R;EQ&qG#tBX|3#^to4JTD4a1j8@PP(8FE?yKS zen2ShUNO&7?L2Na#uRELOyeR5PL^0@1&xns%&I^}s2Nz0R7tGq>ku()tq$@$ORd!P_Jt(H>B=*8_S|9Y25)h)yUkz#)q%)S; z#I`}KCTfGc9f|G>3#EDXP}ivJdYi7%9p#Aun}*J2U;@=Uec(Vst1#eIP_lDEIa%_( zQqLElanRA^O!aXMjvH4X0%+q~UBr+;O+YLsFlkgv%i66{AyyN@{r@A_7s8B!_jI2N zj0}PZyFdg{74S;#NoWO}JGou*G)pxp6Cn#<31Gms-BnNwj1mqGoH!AvRj9^FJaxn0 ze{<=Z^RJfkjV6*WrXm5P+hN*SvbVti285oh>TtSfqNf+m^U}C`1=PSix9=T8V;J+DOG0^jv2Z7F?3or@_E@51B{(zC%gSJY6npwi0&edvwkcBa;PbT)V$pcQK1?n`$hYf_U2doOeS`fjjq6)T+WRh8Lb zFB(wf5eGvKAsb z(F&lEqUJ{Wj(BD_tlLwEs7A9StKE436ee;ABW&sDEK*pKla+oPM^mL`xLFm=?XxuC zc%{BelIhA|sJK1UAnP8y?8XQ&gsO>Ts<_NDR#?PK8JX-t#=(wTdfj$iR+WfW;#3qu zR`MiUYbUE^X5&@0pb@|ty_+uRn1RD`lt0neI~I_GNH&cSri5#&Qlq_io6{>oXEr6g z!|oP&2`xbF-)UfAh*1k#LkP3Ed#yXs1mR4z(Kn-4wvYzb5-M9F*A?AxW=A2Aqlf$! z6eUstSzV8sEZ*A%YHc-#fTEKu+-|H2^d8KvZ`pf8iw)ZpEmq;E0+*Ab!Zsc46xtts4m>H zItgQR?MxiuZ+;|kCrWExW4`zj#)JFH(+%QuQkC0qiJj(!+)hPh5bidSR`bVf41T&NF7aIq6D2(5L1Uc_fU5q!5X1zI#%J1n}|NgzHTF|5tzO~R(!)cgKTi%!cdhf zf^Y#~QRM=vq}={$0mM)DFMG zrjeVtT~(SWMi7;5JbFYoy1M=xAAI8PaQ(M`r_+m{Wt^_Xn;Y_cBc4tS34^66@j;bV z9LSM4Qi>wah#l4tC527U4N3Jy=O7P&G>bQ<8_m--*MYeAmbXfe-DB@vRts6J<+~7M zx{lS{*hDNQ4Vj%#xUS`GAcn>`@SFpc)OjtQs-(Qj;}c(r!`r`FS8scY^WI}x3NAv3 z$q8Uq>u~$puLhSw4=q%{RTfPNX-}J4BxBgq4j)|KyFtbV1X&fO4%!R#QI;}6us@Y=H zQcujxzzCrlN6_A4)&E>!NZT4K6n(!&t0tg+o3ESm?7eZzM6J38!`4vCRRH=yY&Cjg zo#4LnHY9QYQ)J+=yJy^c_HR{x@SpLBmTsQ=6!L*Eo_L%15lFv#lx6|~b!g18$<_70iUdAb)h=Z#XKgEWZ8)`)r zw5o>{CRnA#4(}?Y3POo7Fwr3T;b2kKxIw;rU-R$(9xwmHb2xqCIX(8`13dnn-!6RZ zSL4i7QCMMKe`^Iv^Bn~vJ`S{BiXCG)de z8sG4US};AnCU;7Q@zj;zR9+@an)3zI2IxLZAhzwQ$vCta#@*Qn}w$MG`Y+v-!)}srW zWQ24)@Nj*?>4g_{GX@z@!n5em-_`%?$AoS zFA;zDQQZH?GrIp@Kg@dJGs@$AzU9gH={^>;L2q~pfb*n&A{qvCkzoD7`gLxcbl^d;?YCeq!HiahMPt+wL9DBTa5IrNH@J5=ToAlqn6q|PWj-51H{mK%Sj)Wk z3hEGsnsaw`pwBmf2zQ6xxxUfyoBwBAz3mC$_x_Xaf9(ImKmLB{E&u-C;n8t@z|4c6UovlvIeBGNLW3Z3PZ}sW)QrdOWoz<{J{%lCqK~?7084XQCzE3 zBY0E7ojYHlI3#siyWO}e-Y!tmN|;*Eie#}=ORNR+`Xdl1slpoL%q%$g*FQXqI~s*x_^ z(aKM&2FZiBI2L=RhbvYWnvM;u2$Uz0}s{p!NA=r+nT`(ZYnV!gZ~?Vca#c&=%tW z&T{w1lsWht6wWZ8ZC<;VZWUHpttYu*QUK1YFi(XAVwTTwRbkZv469mHJqv5OZeQJO zxTfGTv4B-rt58drt5DM?rbS=^H5YDb;-$mDeEVB*_kZ~o-21AxqF#O(^S}HV?)>BP zIAB3@Vbw&_txzqPZtm~W2zg5akbQ$Z+PsOh0XHgUXIGk+ySOGiv=8R+hq+9FlfZ!X z;1|I2(XkT&P%MBWVP&{ixB;8OSrFT)0kE$eI^R!Ghe_PQS^3H5@$x4>h8Ods&pmn< zo`L&jN(ZhAW(>L!mI|6vc8bs?ZfllIKC`zu!`pU(=nw2f)e_P$65lW|bb3&TM~-;nZC|CEw|y1v|K*?S z=9PcIQLpGN7niz6zjg18pcN5=NKmYB9#BB0lfB)%fg+G) zw-pitp!?2S9^@L#b_=LbRnhgD>3P}*!QC4{CIYN>udsn2KQFzDQWlso6m{Zwa4c1Q=9W0pyyPM1@oy`l|-_(7>6=uHBKt#uI2% zB5b2YjeuCH1s13Q(Sg}KcI++9AwwdWZC13L^ROLe1+m43}3|%*P&) z4hK$B1@dYRa6&w|+mE%I4_!a08e?qE4tcTfqhL)U`hAzA4Pc}fTkGy+1yw;T4TU$r z)gdt(lC+CL*M)#hW)Uz@hFi@#9aaQvH%Y|qt8re5LG$y+OdQw3I-N1&fXqAIHkQM6 z4R1wGglsyDGN?b`x)lAHyFlARhN^$QLCXLxh9xrNf{X+PaXh)N{bpHXpGMd&18-J; zPpA;1wE+Y&69t(dLF@CI|F7D*-9ANz;oRQhcJZt+pu-)&A~%c(9CIKu+J(^}Ji?Hy zb^}@WHq^STc#~g!KUM{{iG`-1>FYVV%$@=)*l0c-o&UxLQoCNa;GyjyI#OyPIrl zwP1wkZpr0q6@n-UmWXB83~9zf=D?wA;IqjTgINQjAFh_hsHZ2well^v;k#GeIbL<1 z&niqnww6)HqrgCcs=|t47#31k!HbX-Dh8=xCmqa4$F1h_?E=->>}GY$Z|Ks`dB)-@ zX`aAS9B_S1UC+t8C^zX95eiLMvz{c6Nwa9J956-hdNTr;gwBmPCc)+g#TW!i7VC!l z%rcl!uJIe9J01fS)M=52fSA#Zo*}VJQd!?`E6xmN*n^H();=BRhoBlQfhAgJQHx@6 znUxD`4bRmQvC}nk-6$l^Q@Ocfm^Dcrnqrb_IeTZd6%C*uDs~ew-++DlP#>rkHIYbShShv<_S> zmClzO#@urb3xghRe{|=>G*cp(d9d8i7fh}H&|{$ptt$-FN>4M>o; zoMc9@%R@opF{~R%$VQTVCB)l%B!E#AlO1K<-4k7yxnlt>lPL{fOYW3&+lXC~5Ozns z@2_|J9NAb6QCPOBf$1NYNePiyaP!|mz(K$$IgvY0oKA(D)0s*0&wC@T1)OX4{q*|X z3DN~b*x)fg?}ykfj{841?|b_LTm+!fxFt5!#0q!DaQpWCXKN4rcN)KOHW`=aPe%A-9sI8?Bok zf!Tq+0!tXJ9B>xfNfL_M4p8ba#SW2&Hpk;dCAl|oPY~EH4kIa5qN;FSrDS5%)UmFS zJmGM3UF>#(fKoWuQk=_(;p!Ep9xsW;V;6UR?BqmUhxd}~ckR23%is5N-RshCA3(cb zIui6vkkT0bgmVfQg*B&?$F6pJ zT1KWUK!KvRq{bI`By~4{s}N2loyv*wvA4n%?#%Ue-~@D`aIS?>HePdpVuuN~6v)6f z0rx8$AY7&W&k!M|SlU*FYGF@YmL01+lYNj}Qq&@@ZxHt%DB~Vgsnc21c}LCQC^y(G zhJZzAq3x?Wyhqbb*}S)ex%HV{TWjk!_s#F31bcaQ!_s~PqMWo%08S2W-`Bb{_n%z! zpt{r%0b%z0_woveBX~@RD37$9(y#zb8DxsOt74u{xLGI7!{8{}<~n!sCLKXl7v=%z zAX@~X^$iiFL$yn)z%lGsMORg-3X)E2-7!Rs@IHuIg(YafO&;3}NLVUaNU%T;*afu0 ziN?9QUp&Iic2!DlQHDc2nTjFc2yvcK|9HYVj>@OhfXc+7i?bvV5t@fUBDHE^Gy7=5 zSAu+tsw7yQ!O3RT5)1ks+YYuq8DpCAeDR0k}h>0M-a)1T_i!MBCNH2vZX&m(Ib?x-8KmJKb^V z3U#xOJd9#056R2}PUorPNX`XStjjR~aM)JSyO?f$Wt<568eD4R>W@yVSxB_4mtBWRT?@sas=QAHyr|H!5sSXI7=hCY%#O@6ylDo7Lk8UC7#FvQY-COVRx4t(bFt+n!x%o#mKb0ufw9097=t(- zfS3~_T=t;i(lwLaRavcfOI2_8PRx?*?*xnRscy-y-bkE`PONsvBx)v71Bxps4wxin z2-8wNa5>G0cCPS7w4CvD5}g7vESy|MK}@nJFIH)bL}sggS_Uy!J921YVPcT2$G-^h zI@b%QSUa)qMl}=)OYAL=eg&VNBSN3ibL#Hg%=Qvyh#&dtqdVkjKeJFkq^8%A%ByRysx2wsG%&3}O5 z-XTC33LKhD3J3$}tkLE&iY8BNKVv@D;`z2DAuKiadD_0+A`GXul2ieqWTFHZ5n5W{ zSV9`4urX0M%g%(Bkd%%=pq8!|a4oyenhx)9O|}q^7^}nud(%4YYJp>O?7eUaZVjcz z1b7Zj2)W#LGa~E`Bi|r(OIEN!H>W^u|5^qpOu*c>Z8;0+Idw&haLZNWf{5x8v0NqX zCoB#E9{@{`bQR&4pFOGTZU?*LSpsyjPTHaK|c_qHQstmX$?aJ_y$=(*cZWe5Gx!Eq)N4tNU&{DA|scOSNZR}GWly%9*0ZKuhRXSBW z(5kc0?$9xn5dE)OBDIfNWi3T_YJgip<%~W`!W^s~IEq#Dm+kt-&#p5B?Ni*f{-yp` zqXM_JzDrcUzo-S$aC2w*4dK!*$}Hzu-t1ALMk_uVYusDP#su6IWI*F`9xmrDH7s#C zM{e+{ia+1(Xb|l2(-&vYn@gYv4{(_lIpVdLApd|Lfas78qJh95C5Rw_h{RU|3CTeqfh7nA#D{spfkwb~ z{Ng0G-#vTJS%b!?xz0@>r*rSQ=k9&>T5HalRinljwUo~JOv;33@K_GtXPo@DBZG(} zI1@SHw2Ynx;B^((b49On<9T+kAnfuW@M?Zp?(0oAo4ZODa=6|#JS%&LjPRk;o6iwi z_6JorKCT8x|Bk@RT17{GygVl~rf~I9t}tMH==J_e`&0FM@p|9=Zr5Y2*WRVyb90j# zq_}`X!1C%Nv-iCdI{>IiU?hTm!gKl!N3%6@B-SDV>v9jtYmb+kh%H2kUgwWC7BpVp z;$HRT^$w65ix3J!?amlOkRV%RQUQ8g$EBCCSkR9^uIIVy^}s0U;VzXYHPC)N>VH!L zOtU>yg}J6y2#b`}q=r*%#~sQTKp0lsB1jR4pz$3)C~sZvV-46=-i-K7A6J!Z1$iTYpOY0 zrj!a24@yis1a^LPE${styf$e=Cje6EfRKB*(1vAqdmOO!MO4|K;iB=9+f2|@UEkO$ds1eL z?g8`O+e2X!GK`j8jsqshfFwp6`z{j?yy64kaH#gQOyGDelI>h5Wp=~t4!;qrz--bb zwu#OJvehm9lNHfPzzhB=RId9qzweIM8K{Paw8R~t=#qL%Al zM5(DrHmb=EkNJ|e^rRzgnT^udsXgi=gBnVNwXU#VR+&gm7xUpQE=9Li*qjPo4pYh= zCA3d^5=yRy@=d7NUUB1Ud^i38>&`ZYgM&y-3{nr zvKNNoXi<`}Im}h6wXIBqZR6oJ6wMB|WN^)i2SW!3GNF-v=&_o&z$QUJ+FmHjTY_i?A^cJY}#f5cTXx=Z6A{Yd=}IcR#vz zZ_>MckCzWH46vqf91xQn(??t1Yjtl&?i_IwCb+8uM_9Vnhb=^RJ-sA67L~)@I4zLN zU=9$TA()nh-IjP%;K89YEtlNZzR|}_ZaNlCgqSjXUE#X>4A(ttbr%z`7o>|35#j-8 zq}+jDrQzfT*k*yGTomG4o`|))zhLnT!T;w7=hRRdt)9QyI^@GO2M_p?=7)Qa&6t3tBzFis^b5jnj}+di}l_0!KqQ zfaH05PR4*jWY{LUpkcMB8A)N^d zg~u$7TkvKYC%>~E`gj$q5}}kfAuzg*Wy9<}uDba@P6rIdUe1ymt3V@;xOYal;KJ5G zE|DdzK;^&FcfHHlO+gmcYCsmkq%d57gITsJ?gKd{Fdo3X2@!<>f+eh3n2)*= zv<1A>!dImA-xl`|`%87Hb+G@t;aKz$|5EF3vz>i#?=rt}q3ipN2kbYzK9KN&;$2m} zKl3!N>6U%&6)fZNBwQ$fJb|PQe_7dW-DqPB<2bHUah)!)0f-CqSJ(5M2;()v5a0wE zUGMgvBeG?3uBpXzE3sBsc?lcIBA_u$$eGJatt(}C@f%`Y@GQ?NXoh=r_bMIBSqW{W z42)Ccz#ug)<}kDSEm+g;mUbq^1_y$6IGcwP^T#}YWu6lPb4 zJ@9yQ6#U#hZd?J)+SX0ZQUe#?yKe$eN&7f&rdN3IR1&@XS0(DyB3Rc`OH}x z&G!$m=@#OPS6ZRy4r#QVkr9+Bpdy4Ej1kJ9MT$(7$O)@SIF_du_B!p_XNPJ(r0VMv z+{>~7zS|Pr?ZKuDsSLjg4Ik%za4&nDy{H0h2&~N`_RpjC!P@t>KU??OT{C&x9}GSn zLr0i}cK|vQ1Obwb9zzAZ*!bYUoi^vpf!*4ThCiq zvxPPU-P>h6RC@UQMj~aqap^!0$nBl}YT1Xz+D^$<@Vh_xu?~ zYCzn4arTuuY4PD+O;D>Kqcs!imIZtJRZptec3sxx1Rtf9^t7DfJa-|CCNw^0nCUie=>sC`I?CB zV%NJKqzRk58%mfgXy!@aU^jaFan7}_KtXpxZ1pD%ZaH}~WU`?`6yQH88yW9vsk?nH4n_X>x zB}wG!F$Sdq9$hQSDvJk+sZ&rfl4h1HfpQOCNmbGf8inXhDtZ6_5>!bUVepx0&WUfU}3 z`$K{z({yDm$m6xmC$(*-70Q}ZoNgCOwWykMy4wxXXBgrhrrlK8t}9{)QS9y>hlC@y zkd&HQ45lI2w8WsBMqS?n!)OzC{o)MBvsN#|TMv2ZS}+{*Lx63q`O?dBfo@JWt3%v| zGdi)}r;%H~C^?m!2%|LXv~ZX3pqjPsG10tXQ;*vh6Z;u-Wbv*CykB})S%d+U5o_)% zFGOPtfWLFxBLb_9Th9}C49jsvvyry>Zxpatclvw#UAI551kRBQV&Jh@G(5U)_N$(>L)1geaefi#?+aA(bs>astC*2CXVEjW|ev z7PN=s2D?bJHwa&ZjjPVq5a^c zCJt|mhAuw)AnT*g!mEZN)H#Wp@qH`>gb0JTk=@Wj?YB~wgBL|mAs(@HHrT#q zFIRj~mbyk#_Y~F3K7bX$g@a;149YdL*AN&Y#q`v#XXMy9;`Rv_M zU3~AFE4BrMCd(@@xfFV$ZTM&Dq{_b^}SU$r#Q{f}7<8FcL_V?X6q<*IG_N;F?C<#=eiu zrXjGWh_&UnuDVcAQ+eIAK@NR;fzR)M4&x{OxZX;zKL3My))Q0Mp~;X+d&$Ig+Zz2d zZI=WZq}VuO^1{Sx{?9I=b}+BE!jx3 zSuj%5R{HZIxKL=zc8{PJhy^^qqVC7L96$W~^u6jSSR80S&pwjL>U(-c0}a+fY9Y(#>T}p0E7hj*YPUqm zWQoHLg!LNIX|U8$th9muHo)tJKS(@l;MJS&;k_UI{RjoV_3j&3vv8k6U6>CwNXS*J3*&?!8@IoBQ+CGO3$wtzED>XJz3r{d8iheO(s1fh1!O52+a{ zCOm4;oVVILqxW|LSj2s4%jO)x3b@}3b)1MF{GE97{SR=9#E3UBC9GQ_LpbOL(oTB! zJf`SOr9fnLKpibGg|Hd&(GD9sU^$CH%cNI(HwYsp6gQ8mM0ik}R_RhvqWinMv+tYf z7&B-C=3U3GeXKQEkU&%*v=mrKg&tFgw{OT9x>ewgrP=i~SIP`ZyBiu&3aqUM&zEDS zz3T)&Fi${WSP#xbm2m}iZ0vJh2LtQ5G|s?t2{o58Z9G$Q7O#yRAZ+YCZATUX+uSZ< zL0d=&ln2}Pj6(xXqC6W}n=It@d!FEV=)MTuU0A3xp*uTlxejHivb2hGwZPA5h3k1y zt36DM5J`@3c%LP$IeB{{5Oo(392trT*6iY8A2VSCFUW-=J8YnyVJtodTQ3f?8OXFK-wP)k$@Nklkfbh>ME8g?_aP zIRf{O7w#!zmoTK}YiI{ZR9M%hbGmr4W9eNg%B90pb>#F zhC@~@Y0g3((0Qao^b89R zB7`7ns^^?1mS7rw5AId^co6{Pka=WkD7v$205Lr0oYl@AfOYz?0YP`8aFQAcyt;?( zSU6??r!>-?xCh|rPOD*PTGZG+!=5cqs)=`|M7;ol*2(W&U^>+E^bt1!j9g$vVP^M* z?>-2F#F1zTjR#cNHfHH0QXu-fM+W?O2DA+WeCc!Tj!N#MR=$WI;1q&U<5cAItUIU zavIU3>Vlxz0!C6J11E&2(tVnw$OF&;M6)(l*$Z{JuezXCLjxshP&uN}1tMzvl& z3&-t50(!1$G|f~kW`of(Y0?Lz)g2PVYDhbqLS}>>-u`VK3%0@sJzv!mCXN#HkX}9f z`QzwZn^x{fRuVNI$-6ly(uPL?TYo31b0>G~gRgeu$wEJKOQcp4bZ%zbS%+5H6j>lrv!toTEubw$8 zHO}PJz_cp}ZGPHJn^`2vA$YX1M*alp8a)OIRBd#!x_2KwRHDPHQO;<_iVzGP0tZS(^5e0DH-q2p zuHNA_rWHN97J4Cae{q~JNj0hZrF}iM{o&$L66fnPy|M4$>;g`Po z-~ZcB=i{5d@+aT=gFp7^_13%24uQ5@buF;*K80P2P6Y=1^GSNl1~y>ght@f^NuyR# z8(27_vthHj24dr9UMRHmCM6t&rfR%ce1JXD0zwoqK)4Ci-8TS;K!ul`Et7}`qQ4`~ zVSr;zU{0Bx+jb-eiGjS>w03sFHTqb+&(W|ofVMC3Hw1eGW;lxvUcl@H*~-Y*c_j1z z4h7OiK)6TXF@+PrEnQP1ED1XpIKud^ss3J2i@WL}PP!P$Bt`&F0lYJax9hw3jjw(M z|MbuQ?jKM|k*?7MM$Vpf7pBpXwA1$#;GHUDz#{l4AyPcj;U{BT23tN8O{9bASX>PWMZ=r1ipLSC1ZP;UkuWnh(Aju`r2E$y z8|SwgR`4q5I+&|ZgCl5>hd^m{OP|hM`y4FTlwchNjwBWlB6CY{gEV8Z1xsafo*cxW z4IB3039=CKI8mBOf(Ri=jwC|Gs=}nep8k|=D7`3Fn5p7x5Hi346NrPx{!@En37Opb zQy)wuMv^0eL*6ta$=i*1V@&ARzRoZImB0MqfBM^B_$f%g450l4=HtWX|L|`=AxGd~b-IWSv<@BUwtB!IfwAE}1iQNfcDV0PD9G=bfzcyBkny7MltGIm zE<=Rf7!S1NWf)Iq(p^#}TC;WW&PIQRqKOHfU}TX-8aYADi98e2uoJj!AecR1cXwIo zU1Wt9`*RRzUk>z4c#wfaLhSkLZ7`U9Dw#9rRdOP5wE4yZ^2S0F91;iy4iX2hBi%+0 z9mdh=r0X;vfdj23rjRFbp2VADA%6X9_{z`zjr#Im|EoWVwSHk|L|1O4kH7PkkH7TA zf1&q2^@sS0Pkj3J_FH^o42N;7`(Ha5kjW=e-#D4-=IGS;oVP6-fqFi z5;~M&m{f8hsu6U!4D#65O7#ve1ZjiwwtR}-eG!*+3nOHXYrk)XcRB)eSqEmAYMKe2 zBu;=Qu{+yc2sLG|(*qJ11c$_fg>wXN37iM{bOYXuN&L$H;n%H{KO}J*ZIRg^4H$~slV`t-+lk{IKKB?R36CXjQByi*SmzJ!ax`%Bl9x&V$V&SsgO1eu4 zx*KT-fY|gTc5*)#a767|-%zo3_`L#WpH(lK`|WQ>xxW4r7|2*U0`VakeJAcOy{n__^?2rAaw|~#?{R40Rzz@CkbbE)#n@?D` zR23+h%olk>jzf&(>Z^;C`@IH(HDSZXgi)`@tEJ;9$zy1-`^SwuF+wW(sZ$&gI9ske zXBi^*UD2SaakI#kL}pK=0Cew!>PG1Zu%a{ztQlH!@*JKyqnK&Nrv$FK+;H=x9wqEXwS@`{Sj}1Xr{041+|3n89pI zm$RAT&uwWvj256TnNVq{9Ohd*fu4US0Am;cdj8dq^o@V_rLX