From b795969d001ad766b89d850be1e4dce397970f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Don=C3=A1t=20Nagy?= Date: Mon, 13 Jan 2025 14:31:21 +0100 Subject: [PATCH] [NFC][analyzer][docs] Restore/remove orphaned images (#122481) When commit 61a76f58ebf1 converted the static analyzer FAQ from HTML to RST, it accidentally left out three images (`example_*.png`) that were previously present in that document. This commit re-adds those three images to the FAQ (and moves them to the directory for the image assets of the RST documentation). Moreover commit 093aaca2b0ad _copied_ the file `scan_build_cmd.png` to the RST documentation directory instead of just moving it; so this commit removes its "old" copy which is no longer used (because the old HTML-based documentation file was replaced by a stub that redirects to the RST docs). --- .../analyzer/images/example_custom_assert.png | Bin .../analyzer/images/example_null_pointer.png | Bin .../analyzer/images/example_use_assert.png | Bin clang/docs/analyzer/user-docs/FAQ.rst | 6 ++++++ clang/www/analyzer/images/scan_build_cmd.png | Bin 29669 -> 0 bytes 5 files changed, 6 insertions(+) rename clang/{www => docs}/analyzer/images/example_custom_assert.png (100%) rename clang/{www => docs}/analyzer/images/example_null_pointer.png (100%) rename clang/{www => docs}/analyzer/images/example_use_assert.png (100%) delete mode 100644 clang/www/analyzer/images/scan_build_cmd.png diff --git a/clang/www/analyzer/images/example_custom_assert.png b/clang/docs/analyzer/images/example_custom_assert.png similarity index 100% rename from clang/www/analyzer/images/example_custom_assert.png rename to clang/docs/analyzer/images/example_custom_assert.png diff --git a/clang/www/analyzer/images/example_null_pointer.png b/clang/docs/analyzer/images/example_null_pointer.png similarity index 100% rename from clang/www/analyzer/images/example_null_pointer.png rename to clang/docs/analyzer/images/example_null_pointer.png diff --git a/clang/www/analyzer/images/example_use_assert.png b/clang/docs/analyzer/images/example_use_assert.png similarity index 100% rename from clang/www/analyzer/images/example_use_assert.png rename to clang/docs/analyzer/images/example_use_assert.png diff --git a/clang/docs/analyzer/user-docs/FAQ.rst b/clang/docs/analyzer/user-docs/FAQ.rst index e1147916a767cf4..58eac783efccd14 100644 --- a/clang/docs/analyzer/user-docs/FAQ.rst +++ b/clang/docs/analyzer/user-docs/FAQ.rst @@ -9,6 +9,8 @@ Custom Assertions Q: How do I tell the analyzer that I do not want the bug being reported here since my custom error handler will safely end the execution before the bug is reached? +.. image:: ../images/example_custom_assert.png + You can tell the analyzer that this path is unreachable by teaching it about your `custom assertion handlers `__. For example, you can modify the code segment as following: .. code-block:: c @@ -25,6 +27,8 @@ Null Pointer Dereference Q: The analyzer reports a null dereference, but I know that the pointer is never null. How can I tell the analyzer that a pointer can never be null? +.. image:: ../images/example_null_pointer.png + The reason the analyzer often thinks that a pointer can be null is because the preceding code checked compared it against null. If you are absolutely sure that it cannot be null, remove the preceding check and, preferably, add an assertion as well. For example: .. code-block:: c @@ -143,6 +147,8 @@ Ensuring Loop Body Execution Q: The analyzer assumes that a loop body is never entered. How can I tell it that the loop body will be entered at least once? +.. image:: ../images/example_use_assert.png + In cases where you know that a loop will always be entered at least once, you can use assertions to inform the analyzer. For example: .. code-block:: c diff --git a/clang/www/analyzer/images/scan_build_cmd.png b/clang/www/analyzer/images/scan_build_cmd.png deleted file mode 100644 index 464fd4e129a2088c150577a8fd52cc302bb90ee1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29669 zcmX`Rb980F(mov9$;7rZu`#iYi8-y zn|$CHZF7G#+aLfVW5FyY&IhWZ<2u-?m1g`OoT7I- zzY@*>C-=kh1W`zEU}j;sxW4|T(?sW=1X35<6gy-)5!01K=R0R%En-w~*r=@>%c9p} zVAquS`tmo{u-#WCYyXxHu}>kv&M8c+N5#lT&V)>39+_u> zV;*qM`tHy}@95)jx*lK9;FtVy0!0MK*^4cAyE5E1H3O$_ZUXcWy%QIVdppF5rg( z8kin4Sf6uSJNH;yJ0KM@z#CRXDnLrya=(s6pS4jyaF)Oe;Ka1q5@3B6ID!TB~qxzpniqliiQ@LC|6dnS70n~sxwr4?-8&RXhl;OG$6#wJQjLz%-|l_9?%}JPq^HHx_|a=&OPaRsJHL|a3s;wgIc=|dn9|p+W_SRT2ERm z+8A0rI&#`MI$2tKWhB)YHD8(pxE`oq{op}3WMK(%9kR!yJ(P?Xtm2AA0<#gvKLjKv zD3;K=BOM|^(v%p&RwScYSmLr|sY&+9VKVu2jVWfb-(=;+NXOL2*v7cV(o@FODe1}R z73gWIXsZOOysN;g@T@bkqIE*oviMT?lDopX^1Y*Aigt=rN*hZfOGb;WO1$LnBGW_| z5;YP)q!1DqUb@lvRLLVrHBdYBSND(;?fT z!J!wnHMSQvf7%}70pkZ_zV?ZB>d#zlOzmpz@SlCnPEA&gL?+|r-Gf|Xalg`y+RfsP zSu9A*zJ~rx6%L~Rb_&~L9!8@1R!&~dV8Lg>e&oZ*IpsriZeh z!GtP_e2)HBCPjBak3*(K!u3at+=L#Z_IcY%5l?+bt7n&I_j6Q8L`buEo_OB?iwv)f z@Tke?k*YWyawUbTo2uH}`P|{0)m-kJ4ci=>5L>#L!IG;ri+X(Y`Yqn<6bF83DoNJC_m>zIq3tDx_;Nx2Cw zNH2&8MD#9x^?mh!eR!>gse++FdPS;4szpLXrim4gMImU#g*5fsv)$98Hp4VbmP~e2 zQ>=y~;zT)<8KVi~D-#~0K9da-K<7l~ zKqpo^T31TM-73{Ou;Hj3wf)Myz~kD{(pj8WhbN7{j>n4s zfPa#Qfv=pm&k5Zl(hbk~zzx~s!o}1L(b2}E+~vvH;ephv!&~oZz=zM9%iFl;9C!+x z-E!Z05V9ok$%iqlsV{a&CJD`t22F~kgbSdyzRbV9y?MYkz=l90!Q4U*LG{8VA<4qy zqiVuWA$}4T;i%#_Ijy`piqWzz@VBtXP%zTl^61eEQ226*G89pou+K5y9-_ZekVz3s zMM{)POcF2h>JTGKbxXFB?D4t3uXJYsSwmR~hKb@pk-y?&BmHpNS?YM~`L{TG&!9k& zC78`L$cjsp%2XkgNHp}62GSey&I+fB*s@d7pGhW}b4g>F-sEo7lRUMoxpacmer#gG z#g|xrD^1I(mCo|(rp=~eCUd6PM!OOxGjmgb8K$}Oc?>z($=!KJnNPRxu+7Rf91S6ZGF7&A=2Z}BOW7|AYvofAza~%V(E8DcX{6L+BRx9JyB)KQBf^W z4a*6o@};1pRiZ}T*J}}0dHSqAJL{I39hA~%RV8aMX!X?fbXj}0*6LJs)r2)t zx0>(iT(_dOF0}@`y`5#9g`Tl+&2W`)*m4ou=h!)0TDCg)xvw8Te(+m+*tg2GYk&^=bbaF=3=H@+d~{&DDC$gs>`gA63=KAQ z>)k%Lz2hGqg6@J8Ky0AWoBSK`Bf+DvXTei}hls`YXTg%uve;yJZafFEo6wT)#)J5o z%u~Xn@|7B}{9_s^UyzWCh}hfy#&XfOpt@NIqP+kJS=?r5)Que_?* zIsjVu848RE>j+Y_yW8m5^;qsc=?bd2fD*!K$deFt)W0YxEG3fooM;hU|l1Ji;nT}-1H$7z;axenVZ-H9Hn z;{+6krqG!!^w&4Gd_?jD46L`fgaUg<{UyRrKlmZ@pyHsJVCsp&#AJ+Xb|BE360N0> ziq7L+CEiHpV~yiqoO`(27@4WJK11eY+Mp7yS#PXVrJPM=e_1=}{CMq*2~rC!A7`^^ z)@gooHrQ7@^5bvL5(Yd@c1j)bvuw~>(%aHj0e@<3c%Deg=vry52H%!{qez!xu&6q$ z^X+|Y^=>skSX*9WaRcF35R_)iXMfbwY|!?4-7Oi7uP=qJ6WC#S;9VuIOYoWTFLohy z+g`1*viPy>;R~JHh;GBqVmu%e;D;Rx^fY=^>?jptnIARsPlWp zYn$p-X&-C{0=qw5MF=w}&Q*m6;JiehjL15$s6x6zYlQLGskem`X2?7rH5T@fm2?aGJa&iMt|{(c`=35!XbIh{b0EnLztLqcWcM( zyzMN`RZx23subO)jF~IzB<$TTbBX`vk@Tbi+x;rvc~Icr#$hd?vS7WS!^2C6nBnXY z2#^5yPV8(?5rC9Wl^sjp`}amE*4SZ0Q_Q`fT_Q!?Jari~rG42VxgjctGG7IK>1|<}@%(0HdvjGYq6?dg(!N9v{MZxknfKI9&joZg#F=O{d3ChrU|M>OY>h0_IOA9? zJtH$o1xF=Yhlx99Q&-dBP3r^SrT0hJ_7JeZRT6@WH_pSoRpMr~})o>Je z=r88keCvL$|Ma$@QqH>5xOj6Jc`h@IN>0+NN@kf8x9Iy5|Ikg zB3ciP3B4MtkKRe+HcCCzHB!FUwn?w02SiK&Z6_f^CHbpBpqi~ z|BW-W6}Q#jO6g2srgm|BKAy{wZNp)}B8D@M9gm|{!k;}6R)4~csf01JR#{VSNy(0R zU2?^0Wqu`|pM#H@N1G3k=gZaWSmzx3u`@+--+u#O6wh->%El{rFdGP75dA%uVWVx;Hj$@A#OihLlO|0W!hsTCK zW6q+4{rXQz21X6x<1rAEA(9tWE7XS62<9;6?byWG{d2v&yU6c;rg^nlqR=1d+uIm? zX3o4rS{zI{T5RWwvroR~;B?UeQ;#mwzD4czWW#f-0}zGz5jRn>86wJ!^F zaT#>$#akKKq*$|AK8m|%Hf3+Nm+8o~|GHdh&F#_kxl({FQ>z*;RV|$2NrJGL!~AErX~u zq)9Zi_*Qwc!gzt3gF*-0E?y{(SxQ(0Fz85X>wtTRaY%MZqls%1tnjDJ=*W?fhh2~D zlDU5)Y7cnx>sbW>1pzjSJc<>9`5^|4^jrz$9D%IW7{?eLJ#rOB6_d5r zsR2HG7JEwoSBQJiRMI6nkjsz%uR)lmq{fgtwP2aWgyIC^$W=z#1AV_mTocLB_RjGR z(st3F_1+^HdyE5JrX>4Ulo{qe z#6j(21^qQW29{QeWGbx2C7Jxzx?l7gnVTjuy239eOgo%h@w^99>zw^!gHfvH7+;jEA`E;Z_ z4Kx`{l<(I@8AhJI1LG8PDppd$gouJuIQ)2kmw)9JYc|s{>$T{Zt$8Nx2i{b#(ie>* zYZeadHof!S1${ovMBM}BNoTtbpusd0XX zt@t8pq_Qd@YJgBT{*9Xd$HCCiTk(aI8ekcp+FVCtv0)`*dBEd_M6yu&QqrTT zMLNhNm6*-pma-jak7>{|RAF0lonkH^ax8J^x7@a9xDvX)+;iOHAyI}QNzxDbQZtv~ zoBulW$A(R#TH@dmYV$ddJJ%&F&Ed;&(aYS3+9=*fBKFE--9i$w`22wA4^j_e5H0Ta zBVU$?9#9>mpc0@&m93PM8@(Q58&Me%yA^))RmsqLuiz-}sc34#X^xjrucQ2+7u3Vrqlem4DP^xTfmQNq+=@-I0c5JD7|1;+8hQvvm zCPcA~W{vtoo=#p(A)hBTvy=PGMNuYCLFjDtF4^|>{8@bWn;WHVm(fDnt7j) zA-t~so0Ff%2Q*r%EEX-e-!^6ur%C`}q31Ch2OQI1#%uo-*r_1h9Xc#zS>$g4T@l_f zVTpa$r1#(MVJW-sf9nnT4#*n)ZSZi!&Ec)Xdiqu$%rXEd{$5x?h6ev5KK(B4Ud`q^t->=n6c)sJY(Kr>j4_1@SZ9-2)x-1?Bk-cN}VwM$}Cqhu$v~jiLbYa(RSE+bs zc++?oI+41(Ivjk`ysO`QujQW75i^j+;8cVJh}?xlX`DGvWn0vcUOgppjNf-hH^g5` zJm}!9-cNw#@9cEV)-LxhG*bh42Yen!K^lLYRm>Y#O6yeHn_{EhWkahhwEV2UFEcNU zE~0Y1a@Oik_tE*E`B%?hq_)NQ^k1Oz`E@xxF?gfifA}g3SiZyg`#ME@Slu)n-#wz| zYdtU5I(&fCVwYmq<$Yh#csMytS=af7zdN)gTvtB2Twmp1lT_Le+B^uC`fJwT)#Et)CfFi?%udRt%T@w3e%-!meA)Pon^n8%I`Vs1d;n}3 z-1A5R3ceAd5z2Bc&24==e_dkWq6HrJxFZrdQ$a&#Tv~Q#Bs>k1ddx#g15H7nayI8G8x1Q}f=II@oe&KqZYbw-*| zXP3c`W3)1+@_DGjH;~Yg@e4%H6$;T0HQ^4W9HoAigrWplp$UAuu(7&}pN=X|e-w7d zeMID5iJT62pO-kgD7U#@C&9i)eEcz5IZL3(PBb)2|)1- zt~9V0zlj{#G2h1C{T-(-`77>v*pz1La%GNl&SfqeU><-iK3?=hnz=93g0F*@Fe`7# zMH-kU#ZbsO^EO*0oy~U3RGu&*1nAvUeE&^-HFEbyN~6Z_s}uGTp!3CE{uKlF9`Ilf z)h8?zFTDABZvhkG@2rIxv0)V;u~bRx1nYKGKX|q9)g9s^abXD^sOdN|t1L_ca%_Sr z%DTs(A%OCdj!OPj`m5y67ud=u@^$Lj+|j@4J-nl|whI^-BIf^lz`?R|aKXSx!DPgL zsQ)Y9`@sgNFFt%`3N`y_8(Ga|GZx@}vk|AjZV;DHSg05nNXjtbur~2eQ|DwobU24c z?{4J&Zo*N4D<|DhSU@V_z4>eWeByHAefr6K>U?uJdv)~}j`@zBr^}dNd(YKmufwI^ z6Yxlu5~D;0T^R}sTtejE;7$Z_slVLPRs%;15fwmQ@NW$ ze*53Kyb!)}m-Ze?b=BSH$r$I%U!OLx|FP-V9nKYJcS?>;bN9j>bNey$;F1Y|OYbyV7fR8AUD64G>)_Lof*#P=PL40^-dfh8TZ#iU&U4k#zs+2&Zn|e0wSI zM$xT8>AzB>eP|<*^0CYo(bH)b8ja1;o#UfCuozR~S()!aPP#7`u&a4Ln{!V8hg&ys zAeYSiv59VD<}Le6ZB=(xN_R@kI;jawkn1h{(8cIDHp4@u`hOui&VyTtoVU;RS={Q0 zxzU#y(H9-c74Of4(|9LWn904@+shfN`ae5_(MF_`+Ad{sq;HV8H1Uq)xVbRUq;KrP+}!Xsa#d{_{*^ zK(vCqF}cisE%P1wdztVaB)VnHHkBB0VP>&5bI}Gy=AU@Ye^NGWplR!)JzwATpJ0g+`6M%<5xf7MJw4$v zm+Px)Q6?}NF3z@>M9jlm8jC`!|9~KoOsGJl&tZ4$z8;e(keFn#wi_(obj16TV^Y)q zTKM1aZ5T&KGf8%7T{+H3R^rQHQZgY`Au%a6@Zn`gy(zOh9XU&B5u?~cDmGcAbDddG zAn<2by0=xmJ%9L}M#)OP!|fK?Jg#SQ{_FodJ0^q*!D?RoN0~9JjzuzI_#d0JQ?U>J zji)@g@Md#?l^iCb-eV>=A(K#h^4OMClLz0Vh28g0e%i~Ocp_(WK9!C3n5CfTaH zzJv>VVFdOo4zKqon9s1kD|?EIm6enK3tRws0zCL(v_#I+#>W%r3uO4di*wc78`)01 z6(Ua->hZHRX+P4?WFVe&KeJ84QA(JPgU$Y^;-@>p+`_EKe46jP*5kP0=k2!36z@^e z(9n>Kf`S58{IG{>erwNvkN9mL7qEUooj)!0$LRVYoY?z#%BCLpXt(t%CMi^!Y!W#l z!^>pdZ#P^#>AeJ63bw48KRPB3vLLN>v8YOE^4_Ar8(FwWMVGr0V^3 zze{!KU7Qot@W188;x+$&UbJL^$WVwCCogyI?7M@hvy#ZM4R-i`fFSHjIV-W|*MQF8 zmdSU!mb<1fgjZH^fjo}#Ba3hMyjNa4hKE~8DSm=$SIWS}h5dKgnnJeaY7TG9%e+!$ zXCt~@A`Mzep6O#5*)XBlprDT`DH>`0vRn^|X77Bsw#8lF}3?u~K+ zgvOid&5auEO0!4z*+!2Y1+a1dn@-cGnsp4fk!&zT9t8fP4-%1(37baB{aB@9d2jXq z5=8+g#5Ve4fK86#JE{7;UAz(rnJTVi9UsbUuzQq1^=U=p2w{J_2t-cR5}8wTo4O>cR~S zM&UaKvp2zWXu5_oql01`pyTp}%(rbwoM@6!8b8KuTbRE*8@k}rU5WU~XOd2;NtsxL zxD%Bd89{|Ix49I=6cf>BM*itL1hQ0a2pGCQmZ69fOruv4ip22E_4;U@o;_ljC{sEk zsKHg|J8lqzUq)x6vPt=vB3O98cBs4xFv0)cn=yv^M*oe(9Y47-{Pgn!$X~~p$|gKBdmBA&;ucdYUH4>PIoqAyV|X_tRmv(J-@2=| z-0#iKV5jF4;_XZ2>@yUDRl|YqC;a!y{perpX)%cd(iE_zb z9-i93VV<7;YF^|=6%`2x8W?9vAQ`vA2g|nvdvur;d;bnW-1)>%kSF#p9(T)5pS@pg z$EC2WP}mC{igug8INwC~55;0ujDel`e}HUDs~7ATKTf%=zjLYue4*C@p15A$x-n0R zNEBPn;XvA3(O2Ic&R|zj_I?YmZ2|6nRlR>IdGs)OM8G(OBfKn2q(7`<%D17P?{jrk zZRw#ZUx;>{BxRoU(5gK#{>-0ZG2ozoL>cZ%m<&@**ZHjJNC4e03Dmc+3L&eD7s}h> zqPR8LorXqR-5CDjQ(V#HCwWOoHBNojh1_@w(ILprhgp~#b@vR25BHl~= zMs#yX9ejB^xq3!#2K|i2!{I_cjQ5EW4l6oM za=23p0j*@-ht}&pzkzj4ZF$C#S=Zyx*Gx*aa6xPDSC~u1`&5DGZ}Gu>5r4Bv^Bfpq znuHm`;rZ{-Xx35+C61y?63ONlS}uWanYdR^`@EpP>#r0pl6EjKABcacK@4`Wv@yHH@O6Ax?0ECzd}Z$CflUb$ zL2~r&%++a_-TSKe8TTzJri+wyUjeLrSHPtY;#A>%^16K)=CH<3bOu9U@Mnu9t^!GS zpugvbAIE(WztvDBc-LOidgV0qyyaQ)^2}dEp8FZOlSUir*`V&SSp}AYW3$)Ezv;7N zAD(dQ&txC(9iW+O8~gITuqL7pa_!F|2j%%Ytyw`!kN#EHqtz7Nb@iBjF|0-svmA2B|3);sC8mAz$I_*KaryFX+b(UdZ0yl*>_ijR)h z;*XE|y7H)Nxm~DjFTNm{|Mq9(*fkTlzK+H3%AsL(* z3K~77<}JP?t{!Jtg|8irg{w**D~SB$%^OLb>wSeDg;Egc4K0>%E^_D{XUkieLiBozI>SYOaT?J=i@p#K0IH2bn%y|)9L`na7MXZUaKql zpk7Br%HZ>>!#CyAc}mG@sIOO+J6|A&#ae2F-x^=gZIGm*=F;@_!b-RZ@6BaPCI?69 zL!Y`UDduIE;K_Ta9v}gFVY)H|;lGaG=g*;*f1BT{&lCIRyC{fXU-I>|!noGXGTV2V zA-in&iB0r!YNd{?D}(wS{jIJe-9Y#kuHCCG)u1f*>GZ zS|+M~(#o1d=>%qjnHb2Xjs34tgPfS%D0s@h|3bP|V7IE8h9y2PxaY;wEXxgn_2-Yg zIn~?LJI(%RM^QTGr_$|R-O7m3m9yAuPBT=mwp$9NPWd)I#1Arhq_7GebrFB+T`&i- z`1~OI1-$a_O5>aZp5hZOE(*j;!L0N~s#BUYI2*M|gQgQBD;AlIC@gO*g8e>TJBbvu zuLqL!ARqF2RL`8W`uf5f-&HbuLFY%C`|TdktfhmX;g?N8SXjt`;8Pr6<{NCPioPkH zu_~L>4$=L7DXccbSteJckiGwU(d^Is=rIVDI7bTS{Gv3>997>16ncMp?_)K(#$Hk5k$@un#J_J{Q+V11 zLqAxMAXNC^W>{{*@>SdLuth^MxBKy?vbg1=My@A^tPt~~YAfa~);b1jt04xvzOvE& z8^=Z*y}dBwId_!gJv?QXEpL#3PTX#HG(4+VA2UbE7Tg$LFZWvCRj8m71Me6@oC) z$5&p-Y__%4WWUx)70BSn)8``r$K9ZVnlNIqt6bH29$Y{~s7pgQH5npnGzYp!=7LPW zb2QUj%tgc2Assj;zaC2)cZ4EYBoqmBLL!_G^l93XSka4REzq*vu@(FAeyJeH~A)_+;SEwVA#3mguTkINeX3SV6&e z&2x&WEtaj_iqXusAmpnLK&~e%D6_-%LO#|Iw^_E`@2jFsB_0HK`*B-XyI{%1T)e9O z0vQHn^#EfqH%Xz8V2I~2!$-U>RK)M^!anI~hc}&tO7$9aOgq}VJb0j^8lu^A#|G>n zlRglrOcLarTN(l$ZvdrKBVV*aMJqp{v#YE&%NFt-8~QXhv+R(uu2!YLvb^~9{npvf z31t7?$c6NEfXkn~hRywof6wB|dqC`Re7q2U%aH+e-P+>Eo?Ns&u3Hx#6x%<%-S5`0 zRPN69Agr`yW{Y^^B`v@DKJDD+Dbns zOnBZG?v;(q$ZOF}=)%T$5cDh^UNA?^+}zdvEqE_p%nn-$hVQ z|4`~p&CdyrB^R64fI;BhMWm!t>4tPQc4hVK4XL_dCq+LBCbTV0mxI6mPPnhYHH)cq zIETTczWG9zo74nGR_4U}olcjuHAcb$Dl(PEu8k=txB#O`WQ?_@v?Os&k*^pq2LF$pPx8ut?%Oz$HUjDmxtF^ z7Tz>?@<}~Ou1L0!S8Sco9nJk-`BT{{&h<=R>_^(6#G~Lj#Os}t!KE02(Wqkr^QY6g zUSBAe`dttr+(qHl^Vj?34@&f{c^3avS%n7uYbca?u z2M@l;?juIG&Y2_bE=C(V^qrD~5<93{<*jE$3w=Rn{U35m6&YvX=QCt4lr8T1oblFv z`}i(cgPu1UWgI=Oj7$#CEOt67QU}EdqgRi~ph3h=&%Zh*!tpu~zLRWYpy1eX?mH~E zh_Lk7(z1q^aUr#f?r>q=87n~rB3y4MeGxzj!E{faDBu(3LjR=v^r4zgRVW1J?!8(K zFB2qxeIuht#BK#y1XU*F6oY$I^0$j|TPC(aqz%I%RL(1odp!J^;m3jqgYZXyX1#B4 zop=1Cf4qawgFC95lG8Yiln6(c8}|xKj2!k zzePd-*_810m*a!?;GnXnl`r7PEbR4watb{n*Nm{?8!Gaq2hsz>iOe3)5m3ZQ@y+ha zRq%_{#DBAJA0b6eL!&g5MK~}5M~Ya~^^6eTW8~-Qs7mSH=^p3SF0cSiv|*pX7F^YPaK2=6TP+j zyi8l17GV%H)UQ$7`MkeE!;jgSKWl+wY9K@|j*BU{60cB?IlkcL5Y&B!oPny+Y>dVc z?qoOF??iM&P8j)gLxs3XZG7JRhbwD~|9O z`vXM`%koVG&ktSA#o4x4WLN3@WV*Em3t%aI;^?w0)+Q2D_z>VRKJW zJ)_`S%YZmrNtov<&uoxls!$5>v#7p#d-mlYCICJ_Ze3CQqSDs;UjPbM7Hi24vVyT;$;5#^Y;HE4J;%rl{a6mRd!G5`usrQC<9P)Va=DgDnAPibC086B+Nawiv-lau#pTNOyquJ#Cq2 z&B!6UAJNy(m7dPDB?tTMlM~a*81GhXi?UA-Er7}uu)^ZIXtk#OHVK{N?Kc&WkiZ%G z>JX~*jjFK>xCB>i5wcqkZN)O!sRml9215+nrOBENX+53dAlf?QiaV!m84LHe?Nu3q zzla=be4J+8+Q8Ep_PofH1IMmz>Jg|02#Zo+WX4{rXE^>;{Z!QZ>m3aKus+EoPbapk zf^P0N;$4;{5vq^w;;(bb^2#lf)6MD_7N-u+hUuq{yW3FFODRsny2d4XFT_ei;ogTh z942oBuM4Oz8jw{Xy+I!}AFLaCB1N|DcP3sKI9*2<#FK3Oe zgl+@CH`sK#cd#dfv>(LsNqqB*$zzjRr#%(5q->KoP)(8d0BUP=+Uu`_pD&q6-Ar!D zzF1To&#|;S5f_(Ct!*A1`yFLjs%>(Nop?+?sgkX98CD-%XvPlaX3EUuB&Ef(l+eS1 z+H~_oh8f9^k%OKlzW2|!eFr!-a1cREqLY{y5hp7v?9*ntg9Dr{RQQ-@pL11njFy!a zOP*Zevok%zpVdE;^L{-+i<}8#k_tuELYP4tiO#jn4K)eab{W&lz_jGyWy{#E-C5Gq zXPEhntv5A4H$O!;o!HACB*eXC$3wQFYA)3dAIyQj4-R|=otE{ISg*GhJlPGC?eCQ8 zT)fYW$>W?%nGM8`5BgFrSa&q$H~xrMDKQVl)nBTrovKEKLLC(%9bjzL*4$POhs<9WDE*&n z7O=_I0rs+;@^g`Ywq0)d7s(pSpicU^N{{V??jd81D0S8TE~h^)`=6{d?(gVk?^aea zp@K{a>#Bj`#`sIq`25uQ_N%cNv-(kAr4`emJMyUOTqcKViE5ey z!_wl8_#04U`Whhos`vP~Z>>R(_w$uk-PJ6_2V_QDCA9VYmM2Jg7QO74fP>^n5=&Fp zVhx-kb67lncIGMZ7O66xJ)^k1Cuy|Dm0avC@IJW4C}vd?Fbvm$)>O1`v-ru@9*qv5 zne8|0Ju!DlKFc*lA@y`>!==d#u6zY1zdx-4XvZ+UZdUVU3cGET@6x13F$RNeIod*9 za=F^>KbrqXrYFI{O$Tr&7zB~@X(;3i!f-~Q@+IZ^CU2qmyHn#KMrP@w=S%Nr@-uEr z3sL$uwerTsAyAE4;!tMM$qm?3{a-JDjC`4Ix8d#`P|>Gv@qd)4WoW>4G*75}X!37< z(T?lPmtCCv1>>Q}da)+<5!~Fw6d5U@+lfg=3jcsWsC9BPGO_V$lK-*4Q6j@=2|x1C z=xsZbp)BILc3^UaY2z+i;HC+0{1gdVuo zs{cpoyTgGen~D^Xnmn6D;im?BgcuEmp%P%+p0jEW#re1JBHPxKrA-wmoa9K))9}X# z%#yL&{rnLtpcW+*_3?C5_CIdT2vur36vu$}7}O_>jK?<6CCE93h~9YpE!v~;`|>oZ z7s9oiA8F%`MrFsq&*^`i&CV8VzR_Ng@WBC%k@m93irHv9CHfZW2gw4`GHFxIJ!ML_ zb4?T!rpYPu-&V2sWhiugRkvE2Pui*$|3gOq4ih0)`CZLUU~9nX!44JVn@w*|0W}(A zYm9?~qh`m{cOC+dC(cN)D>6g6hlOgshsTau!MjST_MF&+!Ei)TSBtxltcaWFZk`k; zn`;t1@sC-ZPt*NE0cJ>U`Q>|DYrn0pCqAlQfx=?IIj#Iy+*%rcySAJ3O|f{ z@@V7%n#K(;iw@)S6>9u`$uuzvA9?;xfqXus&Rfgy(=|E6!K=1SRq6RT55btv$ElCr;vkaF z-uA2IV)I-z`}guQ7Myd;D2eBTp!a2<<)K9Eu%2Kwa!&c&{MFYWfON9h;oL{k)u8;I z^+^_`dxv-VFNlET6+|+PoPXQRy?$(S`Cz?&8UOnq>u3?{eG{b^6Tpg*hFpB~j~5<+ z`m_ISHj#yoGHIk_G0DN78y!;DWKw``nR!*)?0kWikB&&9cg6iA1vdXZDlm^X*Ap}K z(aC2|?h9T2Gb-evJjx*t9jOzOc^UlMq>bTA=0ixZ0q8xk+gVjuU@}br(cWexHAXH@ zU{jZs=V1WV%4Ce=wEMa9I6VE6`2~*p#v|)o;&Tg{IK8{yTUfnZ!=~P{|69xSve>lJzmO6OPkk0$AaHB*_8x9SHk_H0$fH)eV!hlE+{jZVZP%3Zetlk5 z|F+OR|C-?=K^3U#e<6nca1Lb9nFi+LuU?@4=7sGEI{UNg3CC}Jh&UUiWIN!dGbTGU zw9DiZe2n$~P;?^cdG#9C*Bu6Z`;T;ye0TaLZ@n3E&+04w+MliYUQe?rW8ALo*jzk z2U0*2pO=I5iw`Uz@V@OFyCb5T(HFhliwCnNbccEhB1ECdwg@?C7X1QDtkoaQ^#9V9 zWqJg+pE+JLvsk_&)n5pI1eQn#|38jmgWk3b4<${bQXQ7Zc<-v<{+SJlQPX|%thAs z02QU{SZ8^K1_bAOkm`Z(*nBF?Ks5jL3cLB%`>tszyw!Vq+b3#j{~kCCqs6lm&hePJ z9P}n|r|LN3F@=23_wrM?56iiG;cRYQZ!iDL1I_NAo_2(xO}}D~w~jrl=gny!nx1!i z=~q>^@kQb@B&Lh^lZAp-SHBVXUcdZzDWm)&L&Uf@K%0=$nXZE$FL)QqIrn0t@VeW~ zVaIlvEK7vv#oI%o!j1TDGe9%^tD6z~0cQt(^g>3%^@GA?Grv{`N2kxp^iP&swP-$z zFU55?dzEc!&JWbdkKf(Sn`LGjRR@Lb`ESKiMT&hp{>!?EIIx;^a*M(5tL;80a?AZ{ ze;k+}{e-?GzCd{yN7{ev3V{b#)3^EgaaQqj!Tx_fwCxs~+qUPqNgfqsaO#V?XP4gM z-*kP$XM?W_K88Qc^ND>e3a{=45h2_E-8(*$r!&rpQtFCZ*=T1@tGD=)QHp&ITka2v zxd8`fS28VUJcN(UH2V4VKhfW9M{l=ZV{H(H^1sTy9-h))181wA@)fS6)_K;u%rh-! zKu3V{FO$Wj8Fp@Yg{QL~f_zuM789cOaMQ-N?T=1&Ad@HWVsWn^I5^`}Qs`JwwB0&j z2kS*KQas~WQPo$K$hKSQmXC3sa&`xQ4MgWcGm(q2$;|FyCu$h&vS)+M$#0-mtNSf} zp~K{lU;N#}$Kj_v>Z0l%pZ}s#RHcpZ&s4`3vAUqhTKKZ3Sy(UNd3>$Tf;ZI9gieN$ zo2QebM=WILryMRSELsK6EG~O{MMuHV;(rY!L%rNWS0^sV5e36UPMmft16n)?wD+ma zkZ&6%3H}Nx7_*k-=nvFAf@1=`#0T%xhf9^qoJt+AdA>#?IIwwu zB=5NoOG{?=l^o_v4~28az>mw3A#u->CQFwZQgp&T2T~vbtN*ed$3um0?;%D!E60ZW zhG(h1+_>R&cj`;&II#n4*<`e(xS@YD#B{~hUA0DI?R!vg>)jHKzt3ROA!41*bnIcC zV&9&@GF5VQ(624Nyg2=Z`-4O2o|31nyiqB2JkbAF+E<3P)otAZ6`+C^C{Wyr7x&;0 ziWMm?Em|Z{Ab8M1vEc4nD6Yk=xKrFc#VxpVbIu#i_nmux-d{Y=ChVQP)?9OpIoBG4 z!efj50wIa$!mG<~k&Z#bglu6pVFYyF$?ZRUQYgr8&r4e-U2F(oP_1NZ29J#93fkhn z6j>f<9T1qx(<*vp>vh1c+@bH~dVwKgXW&l&rNG;32#YEA9{3x}|Pb%pRSy z6{GMJRl6ReSO+ZMUio=?+M0M6!Lwc}Hpzycethb}YQOz!ux?ySbvF9_vuE?B&4N0H zYr*j^NcPAUMECWZGpW{hyndeN@zKjwfl>x1-#NdFO*6dMXw4CiUA&0$;=Wz2hn?;p z-yM})uRjmNIAsIYP954A4uZ~#leW`2ymH~Gd^@Th%Hp5Sc4xTFhu*lIPH1k$Y8sTw zbg(y_M2+pw)k#}-B-KwVIhq`0-eA#PyL!qpRUW+9wm%ZMq#K&2f}8G-p)@C>))9M6 z*ybiZVNS+t3OhOL{I%*x!98UgRHG2YcEJkL?Jixw40X~}AWgGm;F%381zI=XIwqEg z(ZI;SeuXA&xaz&xqn_yJFEhko(KTa!sTt$=o7v2GR&0VQhQlrLCu* zzKX;~pRMjJCV#n&4d8{GEL0`|1ph{KS?7+|*LQAn&7xZxP1CmnBC8`;DUn7 zCdk0ivh+J{_F3o~`wMYJnrl5=gSN5WPUEnn)HF-xOXkc(Kmz>s@ZuIbEKJ~R=umLz z`AgAvWMgTIUPl+o?Q2+qMHcfJ%p{^FoN#QR(esA(XdbPxj-sTo4mrcrQZtAWLM-SLR?2kNVAPM#M=r#BGtqu-kpx&1{k&`Cn>XrE(2k+Q?_h0m z0}U_M&QdmmhzOT&j{wOw+|{NE9DZvTJUjjUi$c~K2QYd!6 zad<)Ibpu!WFfAZ$eeBK-aCc>Bi5@m!GjF(UIdmv-YY^Mw&!HV-@MK8usEO(%5Ghj8 zv8v#dxG~UN*mYhbh(4?6Y74!0FV43(^wSU(;~ml+R|kMnYBo2cn@(V?gMZ^a2mRA$ z2Se7S`Em=^3(Wsi9Ua5v@}ex6wruf zJ*USu;fX{+AKRTDJw6oS;JXn?s=gHAycIH? znv?G`GoRbe=m_RsGnG|L-!w~8(+;9h;OZV)4A;}5TuW$trF)28P$(dxp;O&X230Uy!Mj~ zq;nt-v}ZI~?z6qbB|DxUR=i-DYKK3^`|D~CC!BW4+p4gK2?k>p{pu&r#_7)F7TgDK ztP&-WGWyw@Bt@ILrrhEcL2O-o>T|Pve0jIC`1@3&){lZ$j zH`kX+1BWlR?m|V~-{1y}{4qdXJbyZi_V$e$!C-=Dw^tiw%js=6FLy^W$MMQ5Qtd>S zY=gfAt|1(}Z7yoLVx z*2JI$wXnshPDzCVn`QY|QH0GB%$KrHy^<^Ln&fI3;qtbN$Cc9AY0@X)-l23puswycTfTv_V8wVF-Xg_hNkwF<7PqYD5?A1bA zsHAKBb9(Fk9?%f`xLioh_6yAH1%b{5TJyyj(miDNs$+Z%j}*u*SL3JmOf3t>^tDDU ztE`?LX(z@h2nnfjf-yh)@&6g9I?2nwT04-shEm}CtUaQSZ;7AVDY)dXz9is!Cs#4S z=T&pruaT|El`CCCA_)com_pS z3v-9P3s(G`5Xd9oB((7Em7W@O@&iBm3!PYbQb+JT2;NaEi5B!jlNEEy%eM9$wgR|c zQ47{nUW{E6>8>ovmVBx|<#I(Qn)&TaXxal7iGF<@k7b{J{7n}k>V9LN)|Mb!$a^&4 zZo4`c#F>-7lqsjsvCn!Ratj_Wk4)6iB50~wJze(Pqs*C^Qj~j9AEqs8m6X)Sn$`4< zE|ogL;PzSZ0m~Sskk!xXk=U=XS9(pAlM`VIR(GGTFJ>s%g#TCAYFY>$%h*F7Efx*RcwMBkQf=E~;IF0f{Z zd04W{?Cp3|G`Xvo7b2ejKCCsZb|)Ns>8u=nz<2wxP-vaFz64cmMw)x8 zja28Oo+JNs8QnywhY+vYz?SAH5Jxrs2j#~wP<~^@3llxr=l4NR-XDJ%nZ43#tBkj5 z1V>&AavOVHcvh)f);*?5%c;VEPM}^ZTZ>p5R>W;MUNkH^tM~W83#cZ!zq%8C{blnq zx-(I&gx^;0%HU@5csO);4kx_R{mpvabx?m)x9tjv%(JQO@I!rTt1eFk(2V8283s2G z&kqV)i;|SCN1_n{<{tyvS5AtR%F0)&8I2NrIC5>m`z_6{N&9rl zz9pW8&4Sc-VEupQcdAa?Uyif|HTnLCCtuMSv;6(B0;ps@rAeM!fA9vMdGB|)^@_iW zZdwZH?pfa-#3C@9mzn5S25k$}hL9X<^tpv_htVQwGNMiQqjiXSP$RbZtF!ufNYIt zBOBpskFq?l)O5|wG*^4_kGdxgjCcT%eb&@X;`?}aj}_1$yrY0`P2R?%is0!jLujRj z%6$ab;9zwYDf_-&Rb6;meElqF{2Ds~E~jh78e!9+`q9 zPa1tb(~P|4d=?)HtP-vJ4ubIcgXRv+<$`Ni(1rBWFBYTh?s%0`GAR$4^p)%3c{|KE z2g>^`MVAccBESRCh0<=qBEATA^D*?GyoNM6FU0|jp*95^)fnCG$>X3M#x=K~tJ}1q zN_B#JMEWZme)wZG8tW6lo;ddPOn+*`;du)|Q--DAeLV9bHu>FZ3-yl6ta*A6zQ@{A z0=IO2uhQ@GKk#B3c+e;pT!d{v5>@LV)E62CJD7S2)m_oGV$*NG4aTLobnSmj1(Z(r zIoBud)O9ZQT9a8Q7ma`8toY5~mh4!3KgSFQ;16fDwJV{TTe1qEX%fi`ts*R> zt%l%SAL&jB3fpCS&o@#}Tin_H?bPIJux*KBk~xLPD*PtM8XcF_q_KilezLUis==6ekC$jJ|1lG}=yv5XkgNkGfg@~y4?)3ZYG zk_At^qe(mPjZn(sN`OZb9bCM@;Lsk&yt?CRsG21zngGi z1Cp2a9Cf6M3YOa$Fzt7x4?$Bej!c7An!4SG_{||0xB2I1D{zl~%Wd&BY-chK3zMWh zytHRizoYZCgh}?=yLaomLygaLuVyH^zu%u^8~Z*gq`yG77xG_2KPI-&Sk*PZp+CBE zn0hRWEi`bx_ZhMxq?-N(>s38OxZ=yw#1vsqCXennY=booi!ya9e`)#79L^_C>M z|A9~*6Zhq|uCLm@U7R@K_ylv zo?)kVMrqv6MUkXm^skU&PI>zD_nD)VomPPC(9!|h*eRo3W%uEF8ueDS-Tu6^1GOS5;p;#A*YPX< zjTmfs62#wvHzygc0wATuHjUgR6H+@82pj4%n_N0lBq;_VN6 z=r5)3dTdF(7R29Zzf1^KB(FqRevAkUW&x$QZH>UY^AJy<%ox=v9x`xK; zLdPUGcOY@8Qpegm4pvqv7CeB0m9fcugY!Xk&ub|Q2GeM0Bs=ek5}k3x@{j_hfxGW; zZ+NYOr!JZB#8uDP`Sq;tn}IuZfa&|U0vjLYC&Cwg$uEUTfgi_G@XfgW_Me#9yz1y` z+1H_#5v^`I!qCVvzmeWRu_n|c6M-CDJ=Gbnz+jXwGh_Uh7&bx%g+||%IU2`CTpYF6 z(O5W|-pd9{XdF(*$BBEj2KO# z+WrXv9#;$HCm5#qT0Ms~j0SsbMuyXso|GaH2IU`eWr7jokabI73XW6eUm_$?rxY9C*R|DPeLuWuiQMpVnws#^=PvVKC{@+ zm@5gLUF&t3YAY>f{zv)?3-*?)dc9|}P(M*m4#nl@(E{>MT^%th_422OeLs^%3TtW5 z670La5J@$DZhxv%4`y81($#A9XYFA2E*m9z-Y66H#$tw;xxexS-I}lvwL4|4mX5}!Tl6>9giJr8yi-|Jl%4fTl-7tL zYL$evr>I1PggVNLc+_#aiLiQ3nI5hAUuJ_OB!b{CiwEgZc8e6$dl~=y4GK={FC*8J zAHsL4gtk60;*-Tl7= zq)=$B!U7RT7NR4|VKjs^7C@>EEZzpS;H@5)yw;-72Wj?OG)f&DW}p_Y5Uw$Jo~&mo z%s;A}4EGmOqkTk(8u2bFq8vzNT8{fjwQJnTnQ{YWkU5ov{3@?}gk{A72~-0$Wd?Gw z8>lWLF4K-$0xrWc&X6L+PkGcRqdaoNq0ezcmS{i0_r{f~D>+hgZ5Te0lpr;>R=6m2 zNib%bPwc1g( zyf4GNqwJa~sP@tyG^gR-QE(ftKu7e4cOyfkTZ4#7%!(p!x!GIyP8D6Mbt)4h=-JaBL}8hplnwr<>^~2RSP+e*x1+)zsqjF$QeIDFaT&l zVc{{k7#Z=#E!F759HIEEubW*RsCx3*)rE(NhszLqkD2Nqxhhy;&3*IOi((Hv;e_;4-W3bW~)ut)Q>>YgY#^~FZ zOebolnBigaj}&^O0O29N<#6@e%l21T0f?_cxAuR%PM0Gl#U58tpzjm%;7)yYmF29@ zo_w+B9_m9=;qHe}N0q?d*Q1Ct;faBEb85{D{~dpXkM-D?m`;%yveV6ri zcCFI>p4jY@tNyyeoLKLOW%()8<|yG1<^PUMR*b{8t;g&lXZ8BRoJxma?$W<)MwXt- zvfj6i8A)i?$EL8=F;9 zy#vYKmCoUs#DCP}e?)M;Sg-H2-axk3`FW0iEo*VvfGo4<>DP0CQQpZeZX{OK)FZH; zTBXF!;gW?-4~7VA81H^_K39V--L?*+WMY&K78oC~hIR$ICXpmYc)VF##kG$CDX28K zjA%CJjYHj&r@;&qVLH?{(9uf zP$M=2?ZME=lG2(q`C^*2Az?I~cw~+t4@Ftj6z0asjlZjll%OLIJ|3%{JX(7;8h`=RH;ay|r!==;L{A zfRCrlnV9(WTG?xCJ0BQ67SXIJp{W+CAk8gw9+%-1nh&ReM|*9USP%`Mi`wsmQ>Pg( ze-Xq4y8kTt%ysHqnmbbEdq$=q9!;;9g-au|S*)nWu5tJ z*j$aRAsVr9d!ROkHm%Gkhj4BoDJ>bX^S5s~`VW>DDH>l zD`k)f55q)zy*E3S9S*RpOM@KAS^bXd2(0Sf$SyWX373_=&Ot&j8QS_POE2Vn!Px@7 z+8I}8J;RAG;q-J{(Qqav$Uc7GWiR#d0Ty}C&a7Is#Baydlz;RRr3R2;1vE^ovYzPn zzJB`!d0cFh5F;UbVamWglozyWu1=a?T^(mOm^2Zb5xU#>@f5JuD8fCugf{04I`0LkVw9`o8RS}#+6G>vTO76d)b4jvqbiL?G_YX>jI;zzpYr9Fuvnu&6VYe{!Zb6BE-^NT zDxSc2&AZReE2q19ti9dCpB^4|h6D%7P!#fgpFstD2BjR8Y#HqmD#`DE?ye8g={NSJ zdfs=ft9;Z)viDNluSuSF>wGO1r>?VA7BINWsLAfDOoDc>?&~Ob+!qDo#(OzYcTY z1#0z9ODQ5vZBV5@q2r+RKC4?j4Vo6~2n`J-yzDDhmgwRX{GNIsC;MNtj}VP=f`D1$ zgQ8-nbnCw=fHlV;mv|0?!nX(9-@{@j-hRt-`0K99Ido2wbF21G&MU)t{qB?45U>Y> zM zYo~as^uRu$>Jc)XEWAX;fg_3^s{Y4lUi|OxsQB1@(R_kFk(w5Nk!dN54iH zbB~rF3#ab28TslUC&FdtA!NjGzxcOiNr!A+Zlu@b=K2SQT6H-omCqG#_kF^U4I03i z^mInNi;XR|Nq|(AFnG+yHkAa4&t(BrDAbmb7&j@iIr$D4UVJguAaYKo2XVhr8)-M1>TwOls`)uf?Z0&sn22UZl-ga^ zt>avsX2Cv777hin52i`MVkADwfJ>7GT#mr$H&l7wqJ#05sydacnRF7(wAE}0#^cIq zOj3$%DkXDm;(V4Em2apAISc+%h7qDA1gD9(J29{R!spmk$5X;(^o&fr>5)yNRU=x$ z>OYIJa~J#^PCz<3UXGuuY^^3Sh0Mnp7+MJ7WNP5l8(ewMXPiO@tswjGMBDBB)i|7% zt^S-EhB&>mc%I~6M}_%%-&qB7HYpuOs6K~aS2M)2djjE~;R(}+;zSg*kZhNR5Was7 zqrOFR=SM@-#cZ3KA=C*&L&g_`$KT^g`Hl(sXd%-b=+p$H0PEFn9cEWE3fEGy&`mkI z=PORU#L16YU@U;>h&|dDtFeke?H;Y02s5(P0OeWEt>O=tv(AS?#Q zSb1HEau^!fI6PyE#{#A@jr=kP^$8W;!avHG<8%5E-H}UH@KCvOKOQ(1B_Y6iM+d~k z1W-v(=>aeN`4ug~#Zzb-Y-W`>Rx9Q6?9UR4oXjK2n^3o6QkR$G5vQX844617*hdiq zuVGX^)}7cC){Fraxmdcq8mwfhNY>g~BH1e3olRt~G)!-2!*~37&cjUqOt_K-%$4Yx zOHmJ-xfL=or!!7lRGKa!l{ZGb0Bw$16qY=|S}uwK&vPV|_6RixhaGG|0WXWBHQW|^ z0ZGJLjmQa?lYgMoPV{K@Y;nAQ-`KpTQtJq$0Kk(0YJ6**w(s*G7ZErNa(#iIcs%Bc zkARD+*mg4$I%8dHS;ZODXknFj@IV^7D~eX17*Q4hnJV6q0;wmJ)iDB z!P9jZ2@vl%MP2^382-}!r!AWiM)Hjp3Zem^DH&dhJ|~N97S6aZ-|>v+b&2(LG^>1c zU~3emKuzm>Y}Y^1v;D2?n0C`SY~@sRnZi+9@@^+;|E%~==2Vm$Mi$CLd(ZwwZvFtj{O(l1vWbgqdMd6>=3} zdqo?*pb^EZC<;;40ITH&S2NjOsUz`vS^xus0cho>5$SV{I&PsOuoTp{A z7&ys1Qn35i(4c%5%t$7^k!b88BIN+864rN!$KQ#)Z^}w`J=2H~a3}vt{y(VE7@ab>n-w!4 z_@md1h=}CEynI$i{S-h855j6eI5$K?fDbFUfgClZKhp2Hf-VOBWtL=8eGGmJ5H9(? zaqC-{$yHQZj`EQL<7Fzf&^PFaD^AKT6es=SM|MSYnRGm-(IeXY{t|f+YJUhW0}Lw6 zh>aMs0DjtOAa!({Cz9RmDm+$Ti*WKMs*t17hz#_%S<1n3Pr0a++rp+@rIjO|&NV!m zqeI+2l|-uB4SinI5)~jgii%wLot8Q5*6ZbH+1M(c@P^OSxhR2 zBiu9!WmtjoV*@rQs}YvS+xI?QDgbm&rTm}eDvPq=AV<&F8gSeK3t{8PeW}lj_^H}g zC2P;4Awf(V>9o+d+aqfp!69ghm(oNL#g2FR$MlidTibYvvXoe*RY`5yXg%qGm}-Ru za`tM*OsoG{Lp=iev^oK7)tia52-6u@-9(wcw{#L!wSJQ24UK0-; zp~O&%ie`0ajW6wHL#A zGBou0Gaw6~pm7(q@~Si%3Y7ts=0!vY_CgW%+dKC*B) z#ptQi*YO2ibr4eI;NQim%-vNq{T-H+zphVAVfFCv zIHao9T$3lsmk6^y?V$numaS;OG@X$UoueOgq*l&biLBfi2Oc$WgohqPCX2U9fX8#& z6TrHc?8idOd@7%e7hZu!<9hgz)q2<;e~d~_;2{fCiTK3kS{;AKDFvy{Z2fF1h?U%brXnxa6$yU}IHU|0?TagpPhoNB0%DE$FdgdIykk8bz!} zEP>eModrIh5=Zmufyf$TVnGbiHME&1D4v z7a}UkXWtW%j;7@_E|gXysqYj`L=cgJD7ajj4|IZ89Z`ZDjaD$oj=ZkN&hPM7DD(?WOwQ)6T1K!v#sF|=qAsB2B12(=8t*ZuL&ja!E# z#fCOUv!)XfzcgR!z-CPO+!csDdQ$Tv8{jTMESD8hbyKILLc?#)8Ar$k1dCx{Q;kwx z&?-ZEY?)Et#t>lY^AZz>gx2TS{6l=^juQr%sXO?VHp2RNxo13}mnLbJU38nNS5;d6Bo~Hh}~}$zj5@TpHHQ zG_efz?~yf+eu($sQ@77kiUJtmpOEc(Z z?m+I`@u&Xpyi$BWE~KfIPhz&G8G5ba!5r>2g($xIDNu=A8&e?|mCULFg2}2bGIlYt zCu6$;RW(Ov7oCD5wI13W`r+RAxHE{XRnMqMCh{G0m151MbTr6m*1Q=3#EY+b(a@A_ zq+XUyV?0hpRuN5pL`x-eBpq)bh>M6ofjnWx04-}(jlMvHSl$}MWP`57VY>gwTEI@6bHwM+nojw8O7kF ziw6&kRNOrSa!r=B4{bRHX=LnWx0^uS1c5yoDz5^f-Xj29u!3vGEG=JN7y@(>+5+7s z$}8;PSw3{%2+<^RX0|K416lD*Q^9Znxd!EJoR;YbVB$^hKp0C~#e1hAo;CH4VQ6GT zS(Q6)KMiv^t24#eI|V`DiS9{Tp|dJoLS?A`a=hZ4^4^o%Xwn; zCUv>9k{fS&qB;A4i8G>?8%yQbiN-b_LdMa{9u3+r>qrKS$1=*j=}Qz`{VeZ+Aj9+) zzwWBKtA{?y|3fA-m~nfYJgaN0y39sZ=+)A;;`ztSx1+Ebd(+tO$fAUVIpZdszxt(= zd?yg%sGgG1KjT#O(secaAD>+;AM2cr81wVLMjLp>)StqaR&dMJ7eCS%=Nk&L!4g73 zUw6#)15=$C;Z9!kx>pg5hPTK%+e*DZ=sc>wJu+_LB&3%utgO|HaiLhe#5sk@wqJS39kv8U0p}j2-FN&+wPiSRLPYzw$yci zXF>9H%MEJ1T7ofaKe zVCnZxh6T?4dop%iF{(no?j7zvL*u+hZ3eQ}~hY3?5TFz9d5igBhVU~>gr)-W>S zIUx*P%vnr=hc-3LSF9PgR4u*X38I*v@6F5E^9#QEcRrpL!QI57O=do7ARykTA0t8T zw<31N@zM4n+t7ziXvA&^{=a;z@x$x)E0G9fK$T&Vq8T75l#T3?G9dnoW+MZ+gcHX=*00-R)!rI9kCf#aeqyj?$xj4@aL)_ZhzHg#w77kA1C18@{MX(g!=iBG=& E2aqv@kpKVy