From de46c67129fd1be1fddd3214e54583f14263e22c Mon Sep 17 00:00:00 2001 From: Jan-Niclas Loosen Date: Thu, 5 Mar 2026 18:03:55 +0100 Subject: [PATCH] First working solution of new task --- Project-02-03-04-05/Source.gv.png | Bin 0 -> 382585 bytes Project-02-03-04-05/cfa/__init__.py | 9 + Project-02-03-04-05/cfa/analysis_dot.py | 192 ++++++++++ Project-02-03-04-05/cfa/live_variables.py | 351 ++++++++++++++++++ Project-02-03-04-05/cfa/reached_uses.py | 203 ++++++++++ .../cfadots/dataflow_analysis.dot | 183 +++++++++ Project-02-03-04-05/cfg_build.py | 15 +- .../smoke_test_simple_dfa_reached_uses.dot | 24 ++ Project-02-03-04-05/main.py | 88 ++++- .../triplaprograms/dataflow.tripla | 12 + .../triplaprograms/reached.tripla | 9 + 11 files changed, 1077 insertions(+), 9 deletions(-) create mode 100644 Project-02-03-04-05/Source.gv.png create mode 100644 Project-02-03-04-05/cfa/__init__.py create mode 100644 Project-02-03-04-05/cfa/analysis_dot.py create mode 100644 Project-02-03-04-05/cfa/live_variables.py create mode 100644 Project-02-03-04-05/cfa/reached_uses.py create mode 100644 Project-02-03-04-05/cfadots/dataflow_analysis.dot create mode 100644 Project-02-03-04-05/cfgdots/smoke_test_simple_dfa_reached_uses.dot create mode 100644 Project-02-03-04-05/triplaprograms/dataflow.tripla create mode 100644 Project-02-03-04-05/triplaprograms/reached.tripla diff --git a/Project-02-03-04-05/Source.gv.png b/Project-02-03-04-05/Source.gv.png new file mode 100644 index 0000000000000000000000000000000000000000..bd73e4aa7648678d4fc55759b3bb5ccb61a0a5eb GIT binary patch literal 382585 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

ed)9B=@r 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

vyyTAM$23k zT{>9x-qEY}J83axRy!VP3haZkTaG+82lE!jc+O}igkQwK2o~K0#lymqrrD|R$2|@ zEq0Sv3fs@utt!FFtkCGsc2}HPoRgXOo(g$ok_ekR4m|zC^~X>396oxndXDXaJoO1N zjh-0CpCAI^*kgW5a8ex5tLJ7yFkLVk2()hOoU+jC2i%aSp)a@4Q4fS)t$dm!zxAnF zYqp5LH4#St1sEm>?desme=aMz7C7OX%c>;cuqaKXt{2DYrNSQNxxafR^h`T&v=+Yq zl7C+;|H%{0)zG`eQ)_Y66M~DIG?~D$^W`2n*ucCjW+?x*!bU0Zq|49G!JZaJ+Q8t> zdaUqH^^!TTykRhJIWD?5R%-V}2eunO$EML%+d5;t7Kc4CPIW7A!kDG~4ioi;j*@*z zQkbRQfO2wWz1@aRFOD&44)~}DV+p76Ax(a~)?fOh{IdY z13P=rTgL2C6FN}UZ7K8_7@m@wHpifNhPhK7)5W{ zqDs(il|_W>SL1UBE{rr53>h3WNhP(p@Dt{TuLIj6`#`ga)m)i;KX|oI}YRdVJX@BM!6J~p8H!D zXxq*HbV*~3W{okPPq^ct$JDTJaJKcM!uS)R3H}1$Cfzhf1Lj^e#UQtwZ~~{2LLZ!% z1h?@*uk$j>^S0a31K+gB#P0 z9B16;3gg9G1VKV1h?R#1v;#4z-p4`sB%;&je(IyDjwVl<lt?!T*$ z;({_R!%V6_MlRdu`Az%^9>Ywd7@jreuyEA}DLq*7b(D)sl7`$Qz^Fp?3%)87<$m>o z&!s`|-S^aUqx3@dQ;oL$m92&CNmji?>uMS4r?tT;l!R8~y8CoR_xlr5>l8gz=6Bg< z zE&KeQqbi-yUSmzIVv`4jVr5)5?>P&4s-N%e=-9F+Mp@rR-sI4W@^g9AIeI&t5!al0Iiiuvrc3;f6klvq zoibJaVfVYS>C?*kGaOEjm&FU`jYMkGT>xrew@?hS8^8Fus?hTS;7hBPE51Q^>*R7{ z8O_L`7f;rd^HupM^cX*)1@Z5~@Qd<3Hy39_VMqG2s{8?`MFih=`S!wX5TF)4f=A~IRQr zy2JWCUdA^;-gp@j(w{n&_XGlLul8+S#es*^)O8v8a-fXWn2nuz+0eYkTJ}1NLL)zwfEJs z=U%;o`;$<(^64ArLvEf^$;{$S=q#UQzL|F}>2yvF(Q#Y^JokAe*lpq{#Du^1e54ISa zzD19*RQnNodn@T!rmi1lJT30EKWpB%clN`j4NC(I&jsnBl zcL;#0D%l$uq$sZxj*874v zeC`)Ir%z?}y(Vit=X>qk*c5|9k~Svxu}cu9S2G-_bdf~02hU5R%m09Vc_ed(w0yd^ z>Ib6gZ}78M!{n4m#?~?)86{Bm@w15w6d%QV(ZE4eJnd6$ggY$Li9*g! z`B#YxY~HV$#iw{KTF+9gq#cf0Q5UD~YGof0zk1Ov(GCSEF-~rVU$HX8c)>G{n@DtR zdPwvx?uw-?UhyEtvz;JT7`phCK3uzOoSD+K-}`bguEe{2@OZ%0VnNnF zzraO#_3+R3C~b-#X>mDc&gB{+Bc9<9U))G+m1YH!S#&YNW%W@nuialsc&=&^W2!= zgLn@u6j!As(BpKWY5Si*H+thF(3@1^ZX>B1WyFX7>f!c8U@(fnh4%Z1xEfEofSD6u zX*%i~+mNSe%eqYRLsQNE<%%R%fqd<}tGu7Tx zudz#?({LX>ehqxeDm4!jfen`&z@+673$nE}3tN6!Q4@WUl22(SdZ zl|G;CTiGxOzz5Jb0jj9}eZ_y!Ib%*4L;>U@o`FoZ{zaQl*p&Kn{)gBEMZ~5=nXoCO zYePo_<~Ka(RP1ZEiwt!9P-LED_H2WvnQO=xI+4RdJ{RWEZABV9%+$s`*|K0`^0%L` zL*uuxv1@GuoxJcXQsSi9TyOM@jKqT8-_RsOqi&G|lT_;L-;H6QPZiC7{dZJ(Z6TyaQbh8(pdTDiWU^&C3zfwF9|HmZ0=s%M_g6G)>~0U*}D`s^9!{AZu*yh z4Eh4t?SDXpZvaoo{`$ts<=~sg0H3K`i&R|CeTv`qJ9Jva_g}MOk&=cKT*iN39N^o~ z@3!|9FY_yeLhw%t_=`*$ClPQkonaWaC3m0P-(Mp&mGRq>j0gBtBMV_@M(M`yc`nd0 z!C|rbdFGnwVQRlQlz+o7_}*NeT!YDK`YdUbbAoR9(rfA#w-Bs2iT>L*{y#Jrs0^0SU{|_gE9a zHs6K;%#3^#DErCIP(8k?U+=nFW(hWY2es%iFOnVsi(n_S7>n%4Q%02N@q&JpHGo;U zoRw9g4KxUdvAyTI7WulQaa%t$EKFHMM}yyEX%uuKF9uD9xO4!(f^>Ay3XvlP%+%=@ zx|eo7Z049ZM+7|MNqKV`Qmg#cK-U@wF1O;kpNwGg{`tXDjvRdkp`O6s;OSj}J2Pfl z;bUMy{YU1+-q3g>;9E*iGv*jMRx2Zr48E1n>ur^A{`*-56mD>RPx&{``I|k%$mZ4K zwLb%3w{?EUvPRcHnbr_7#@>)chBJYnvViffcax>!tFxzELO2HbZ2u*~e>?6V%SaqK z0kQ1&FDD$TiE}E%`^ve_W1FDP!QR25B>GGK&qsjuPhe`JtOQfl|O?fQdzWyr8xYh85&AQ$qvf(E zPMmlf)^5fp4zjxg)WO5f1!Sh+ZJFQz4ghZDFF?-WV&?qsHJ|1(ub&@I3WA!y*pbc{ zPW&4c?~kh2NF)L1?DVhj5i>Q}^$rx=fRzm$+sxb%XfkiNK>!OW=63+rA|Ew?9i(ac zc>?wNqnB zK_~xn|EXC0qz0w{m|4i7x~5NvhBO4z%MeI6f>r!y^YMVU--1}C?J+=dK~XFJbJ=WX zh9n#BE|<8H6@TXNU-Sd+A_A50ZIIZA41c`2&`mbgU*g%^^1f)8|5~y;WKkM1{U5>T zTNcwzJ~=FN(V!SZQleD^U!X}8fXCuu=ZJ{mqCW2Gi859KSoMAYX@>mKz)wvw7-29y zoBv5o^FIMm9`>J7!+W3=RxSXb_drVv9n9vxO_Nv30?Ym3ChydQR0K~WZCswoLZG2c z0G0g=0iFO_dm4F~xo`p$X#QJqz1;gtafO}2zb&z9lo&CG%NQ5_S1c;Nu-fZiN}#Fy z?`gX9Wvyb4rwq&{GgYYlRdMH#vt(>5cr2$YU=FHcrgLu-fb9*Pk@cF?N&!HuyzH|dy5RtuxXkXJr{=i2m-t&( zh0gn1CH~K(6b-xI+zXsVLIDu{w$~)#r}iXvh>Mheva>$>OY>5**`LhRFQb{(R`Q+G zhcfZ+B?zUNm+WE|i@M>%t3SjDHsO=(cEw5J)sl4@7$LX%hi*%yVvUU{?`5xRn=uuR zOPwCM{f~Pem_B{EcTHYi?%u{hskOtU*Q{5)QA{X|NOC5IuxISCSh)Dl1!o^nmBK%{ z+^XOzc5qwLjVrZou~N6*#uxOXc*%oG_>0_+qWS${SuyX_9%k0s5EZX~p2pYoIY7Oo z1@8X=Gi5zZLbS99eHH#oJO%1plc_44d2Pu`6Y3&CTjjTp<(+N!TVJ}2nLdgvsM%AQ zwniUrFMjt0pZ@s*O0@DQD9VE8=x~vn7%UF%OR7`jj^ttvMc$*c?p$!Tj(ebIqZWm7 z^dqjGg!xC_@WkbU%OZkpJ84>FttXR6#V2p5zAX&OTz@9Qx7^=9cyq4C8p9A&?dvKA zRgo0we8&YYfsW+1l>$U&U6GKB%m>ktE!TsMX-}xEenci|B=VI)4q-l2zY5CxYj73X zyv9;1kZN9LnnL}&JLIpQseG{ib{zC-uq=qhw0_Ll2RD#9*lCvxgMjya)6;(12(Vw= zpt2l`r9U;%V_!!{FE3+I;c>>EHuq74tpSyGkQ*VM(P#}vU%0OP34#gNfDH=OGB0(* zO`U5b)|P?4J7bupOUuK>qO%0}ph(zu$RCugABq`D(|;9Lc8b0WyhhB|T~_Vhw49ZQ z1;vgNryPPCC!w;z%{EXyUx!Bg@Ce$^?;;IN+K|4`nNH9Vu?;kUqe(klu{MA5!(lX(6DZwj|R!kzcULpqj_n zd%e|t=X>C^^AR-1y5&|%hF+_c>!7<~)8-Dqwa<(pP@x8nje<~8PSfIYGB%`Xx7)D| zK$A#S;%5MQJ*0lEj&q?W#mjYi!tW_h&k{B_EetAeyznLA0>;p}+e^YP&zZjGGLXVB zSc^5Z+<=CkvL)OorUw;?XkRU0>SrQXr;txds7{~$WO9TzX@}7BdBw%z%awKv(T86H zB`yNq9}HC|7bnEU#kGTan&zWrmZcV-qejXs73@aK*kXB%=(=LLg8@KM*27~r0>w9Y z87zim@axy0`4T!DDvMw0Fj;5uqKvdiy{Y05QIN_I5xj}2i+7UwAq@Z)&DQFo1#%O}h(^iYK9FeqW`} zrUZWE7u9G1IClE+YR7N}QP+k=gkt=yt5Eg&k@t_JS0-xtUDqZqLy0vr03jIm=LPnL zMdCn8U#d8XT-SS#4tmd>TdzdmzX5l4#~k!mT^WxMdH#avrl?xVNUWU zN2V*2(+uL`$4Q+oj%g=D9uWW1zOf0qGbCgU;tK*wXEF?Rp%CE*Cl3!FPw>b<)`9$zUE+pjjs zA*yd}yAwVIx@U=9;x!hVLx6^k?LbRrfbe$aeHjlxOvDGGUoX{On5m?JXL`EoDK^YK9|W6qj+VsrU{cE1<>laI6j}nB-k6vekU0=k zGZ&>W^EF+19pVrGnugSVQHF+Fh(@dUZoIV?ys(GVWX3CJ)76(W>9c&?^2qq(B&oiUchbqHy!=jWAk{5LznvX@---X zzBQYQxwJpKQ?}@SIyvOWov#dmsjIKUeXJc6lOO3`g87$|c8y#?&Z7tSr9odD<~X~F z8a`-<0K6D(o$A33J-*v8TvRkOJ9}Q-WH#2o;Y}gPCMiNMfL_Hrz3h-hFCdFLhQ9~VuBvku<`KVbJ~G?bZl&@*8Z+UVfty8 zFl(>2T>kHKb3eo;yxQ=cHnV{fl7q$|sc#y}?2|MzK$vsYJejYjuyoFsj3XS4tAw{3 zNQx4BW{)4fP`j8gvN;l2v#~i4;0=5rJ1CMo5y?j`490s;mJMFENC+$LUSHayDt(Uy zm5^Z}>7Zhq%>7SLn@l&V&ocJ`K3~SjXws{x4XArgJ@ueucP1Jw2~r{hD}@ZDCj;tz z5BD?}MaRdV1m3pnj2>z9ayxzIOcUat+d3f061|Cmc$lbP%4dtIN>}*eMhHhY$X|5yk_3N6IvM!key4-pj4tf?8EW~A8R8ZRkMReKiOH*)s$UeKV(}xI@ z=&Ue%+soiy@8#9qF+U63`VO|mk!lxIw(FrHZOyr4K@BST+^VBm^YuY-RO^`1CaBZL zg7oNq`Dju2B{1{%C`4q%0dg4TTfLDI`>vN zPBQ`teg(gr)&oA71!;ct1Af*$^Op|;FIo#mr}sR~vTpGEsABeEXo~{}_+n`1pFl8x1`9e_n=Ef({K!wjsVoGpH)toki^u z!^?yTXO)$)N={n@!n`$zn$Nr~#2r7RV-92^)RShdh{Ce{Bgm9w0NsbHXPTcKhd5ig zahH{->&k18>yn2;F>Rt^IISzp+r!)s*4tUGnGx0|fiMCcZX2ByRzVK#WzhbmbOe}<}23ET^>NgVCLOq)iuI7M=9x&l9E!X&;GXi_g6GCJL|L1eAFx?BFr}C zK7X#0*y{^#V~aC95BfF}W`QT=iymsyV=;x#eyrl0-y|ez056ekki3=w*h*XI6}Qe= z=v4FdnO2glY$T4-E`>qpH6Qjd9jbjv7U3t(@Dj~*5jT-8F0CnUQv@jA4n;8U!Q@>efAn?RHgLQ-Wn9ixnu5c===mBYnMlEtmjW}NwyD+L=9$sz5tyt znIm(m$IToGP`8gK`ZR`5?%IvKzX}x4E1;#Ubz|&39UYy6c@v^#!&bk-`m?j%%o6*f zy-nrAz*^8Ta?$eMAD;$Q|DC52%T_~V5P8muE+idWRW69sL#_FVI8d_jZ*$rv%H9C! zti7uB)@(Ir7qo9t8=3SJ+dj$=m2hp19=z#+h1!4vUDjS$E`_D=OTFENy7Z;J^5-Izk|Z7v&??&iu; zbzZ6o3JTikk86sCjIe-;jHk+)!yzg_50whzcnI0`%_BelrJTZG7xS8kA4clYqMn`< z>bViKIbXPg*JGyMgOWrYq%Z2wC^qU||MX0hWOBhy6f|Z^(m9ONaG&&2&y^a+;x51L zX=yz7B3}V`0n#ArhjiQtJ!CMLdE5(Xh|Z-CGZ;aF?r9k&v)c zzq)5>*dy#iPSBKukn|d$f}V4NKs^y}A6hGie#USsq}+|gj*QXQFF8V^fi;UDu^R<7 zl{Sx{igqxk=qvxTq$53$R4hLfO_%D?;~$DZ+U}=`UQ(Id)F+uil(+81VH98gtDi%g zrrHv86*J-V7S(-~MNqu7`3B(DueB6-NnII!rV0tK1hVe%~dZtX0KEr)7iq&ZOe5VYWv45OPvcjIZW*a|K@7oCFS5;!OUZCQ{|=8 z9S>WxAE=4gd*25gCQiVZaU^~XJ&^xEypfB&W*j8T&kk{wyuQMe3YBJk$4pwRC|mmp zdZTedTXLJEGVq&;agzEMyM!e*H6qK6(Zt`?I)mVsa zb$1*&0W*C`y7gTCaLI!EOfv(y4aKpcU)DtI3-Npn=H)HI>HCY{r(S;;WP`zWN!A|e z!IImEVcbtE7NwR>Z>TPZmAE7Esdq+~+bn@CMYgGK*a=c`UZYbdH!#nysuXH_eo9Bi z1zQ9)8fyM$Efjd{kk97NZJS$;h1ep}&OXctUk#BA>>GU@(nD)vtl}1lxI{W3cbk+l zhl%Eu`CwbnqeJd6E1$30&WyAhzy-`*B${DfEK0Bi-E|Lp8G>`yJh+D)5<&YL+Vn02 zJD{!KZ7R(R$g2?HMX^Vbk-G^Rftp?fE~8Hc*)*h1e(owsSGHTfuNvj^Q+_-N_&6C0 z03KKk(l9~XTTk9a5v2=^bPa0JE46LVcjtNzcQNEHkP0JhrHI_R{qfn*5}IEVRDk+l?7eqX zRO!+^-0G+^pcqJ!Q9zP_ihyJk0m(T>36caPG)TsA1j!kcsN|d^X9GcyMzUm;Bw4cL zuTD44b?%+}-utcJKVNuzE!Pt0K7Gy;>e;ocYM1Bb^@YWtgoK9(m&R=0YFN!P2bHil z560h8-Cn@1ij^YENSJw&0B++vyj<=qfwB@kTU{j z^7?>1>~7}_w1m1qrHg#r9D3|3s$PRt4mmA|N@Ki<&z#I;Mc)2NWl)R4=+$G^y1foc{!;(nx~%NhF9T*gClvKaPs`eP5P>h!jg+h4w|WBWXhGyM&@Nt6-x zMdp3HE{RF1$ECKfl>LKLHSxR1)^Ap9z_u7ZN5M7WpLDmk=D;3sRb*W!r+EsEe~OfB z%@tMTC}={Vi!zk7yJBYoxwB8#?yBoj^q9aCHj8rkvwmsxnL@S^)2~8fU@dQFmDt+P zS(YEP+=(;PlokE4cg`LChe;kt90LCEl5$BkI|=u2B6bMvzkccs`lwLHdSC{yz%IPf zvGncd<1}zaUXZmZYZzGoacAU4V300hXB!Rx1#M{o&$--gvZJ}{S(1g0T|3B`HfJqJ z9bD&zJF-A8i5WXc^#y^f?{1k-lp}AsRyRT%d~YKSW{`F}*DQ{(D@qNqrL+Cxtz!FGWs`^$R75@#y&@SVV#jQXVY;N(MEf%|wkvnR(!%lZI zuVorJwDH-uZ~Btys^?!4I|=QI#J?`b{Pt5n*QYq>g&I$ISo`qnv;Z7W=N?y*5f@ra zi($Whq-)aK-S&YiwnHC|L-rC-Ra2tsVvWKrcRUqI+l!MJcK;$J;i$U~L38s#BN%8! zi-gL)VB32K1ja0jDRRz^9N2&u9aYM}Q}4mXYi5=gGqI!x1~(fcV&>z5*qK0{;y(Gy z?7YC4B6z~_7cmXQwqtKrkgY@XOQJ1|1AWgxIqy2x&_NSmxx$>Z^FIOu0l(vz?)dB7 zB=hpt2tLcy(j&!>UHE~|{%a_X+zIMWeCC{y%a9$|t*VSgG`?)_CWw>dv%05WGGu8(+UPJ-*ptsEe{4HW-wUK2<8 zr{BLrk#gHg?=h6f9mM#uST^F2**}&va+qUx8&OVGlRAt**qNFJHd=qKdr`ozX$);Gg$jCJ)v9EGWtU-kmN)4C4UIc3ByZTCP@P z1|G`mW@*J8eaev$q)+>wa56GdrD@fV0rssIWwAw1*4Not*FHo^*B=Q#AT3_Ulm7jw zB18v3`DZ=@W%r@Tr1c9lg9vpfO9+}aA4GHVD0M9o7+nt`4~J2L_AvAt1gjT z(g-R474>NcT!qs=Y>+sPMhO2~&)uu~8{#idwkOhnqH%AIB*hVt8~o)ZbllyzK6VGd z2J0i(et!k=u#nqbgI0xQ+enADW>;WXr9l_Gd^#-_+j|)fqbFEz(hl>VTm$0@*g*|G zLaQ$x>~D`^+dG1HbqfbIQ5B~D>L`yHsmn;lzxG^0+@h6s;Y7YMUF-7C-iUWH6X3M@ zmQg4aJS49bGqJI_j2trL@cnZEApS&0!VxTUMuhrwNpOE>#TEq8QZda4-%87~x^}9u z{nYx~?YlasQ&WZJB0^)YmR&-FCE$IZC=OG$tnv@IR{twd##`tZec|t~PATmtA3}M* z_&;&6ooL~_6B+qm`1Zf>?f*;g4MAHF$l$ZLkg2uS1bZ*j)I0eAz3Z*<(ZLgZk!E~Q zISiOe^b{I_;LuYpOEtG~IvQVQ<+KzGAOE8>p^{XG>MQOeoDn$ESn&BHR{yu|$apT# zs2iuyTBdvh(tX-VP)}2nY;Q5VUAEK5^PE3pp);S2cq0up(R=;Wwq(E9eQR_=o_eI3N_HCJ)o#rnn8|cSYCY z9V1tV+760mNiru0PNZSLn1IlS7uG@=eEh51erq_u55ik70x5VJK_|{=Z)bDqJ!kt{ zP=MUQXqlRt78e)O=WNR}2E_-6w%1Z^?ZXL@$N8cJQ{o_Lt9Z< z8SR<&%RtazslC5|QoHvMUWOjF+4{RPRo=#QhzwbBULLzxFTaP?>(s)Dx_tpH{W+ID zk-2*Fk-DWi8xMxc0hjjgS~Q-t}A=FAFvIkoe7J*msMmplQN#6ZD2NOn<#nhfW}ACAl@>h zZ%i&dvh9hFe)}S=EO{amdAec6YwUza7?0C=OkC(^-8a*Uo8w=ZFG^Jv-RD@=ud{Li zYUj_G)zRwx{rKzbBTmEPPdBwW!`GybVqL!H)-)?DvrmUmm+cTwTx;TN z;sCg16|?*7Qo6{}EA4G;E6o2~i=eKZeW9JtrvUYmf>I-BHF_-Nm0&O!Giz(PP_#I4 z9k)KeNZdKIQrhxro51p0tpCE@Z2%YVH|9r~xDc@2+)`&j2zwnA> zq21W=FWz;}sGeOYdv|#J(IahsB#wzghzCv#T}R1FhLN4b{nO$3`cZt3e?hWm%*R>{ zk(ebjD#S@jO6m)eInk4?-URt@6sLrDzVTZ^%1*#3k8h8Do5d(y{F2nlh+~z1Y!EDj zP!u-Ly3zlKMSctsmQOeo@Oq(ltZ<)nc&U&zEk*7;KFC+GLEzqSdwqThc+S$CMZqwf(WvwruMTv2Gdw~92s&#nj=auguRczoeD-0_Jwj6zGk=O`)P(>GaM*dp5njdbza-pAf5|$aUl2c_few% z_dr-|fDsJ;U)@SYNVq&;Gy^h|4#=5*9~%OKAPCui;1>MjKts4O**un@#^aMI7_S@^ z9WA2Bu0{#aJynJ`V*Pn!0AU3CRr|!znpQ~Qq3w%b`O;@+WNqO6-d+xW#s-A8$rlcm zSGvZ3>(3z}2fqK>eZ$_$pCO0;lxc`t=|;F5(98G6q^>Gz@j}n^%Xn@1P7QQ}HPhJZ zdF|ZA1^@qt01hnT!w2vBX;~uMem!WZ9f4(2$(H@%Eh_5Bm{RKna#t6SO@&Q?5^p|;#KiM*UDO9J4?+t@miBX5b%NL>F!dp|HTz31ocg%^e?UV5smP?S z5)0{}GmNr<6()o@o*(Y$M`*#cO+~ab6Ja|9(CwC3zLvTES6w~M^GFMFgggbr@n>M+ zE5(xpOgIu)$cR-u10*<>00;AQKt0xfWMa(>`jI#bQQRMiyqPr8fFP#Jk?7N3Xo>&h zfaLc8gz3oq36UUNg$dWmgOn4L0TK2DA(ja5X|_4QnNFUr)g5cN*xGZE zHE{1oc85EH{?% zN6Nx18QZ%qcRSxRS(<}-$Pg-b#Rld!nhgt~!3lQa!Ok8L`%x9G!4j(EKyMD^{3ovU zJ?POH`>E*vc#8$D!u->#`-812^TQ?wH7FWsbKL&qeH9aqOGVf^LHm!m>n%sr6-e%F z+5C{UjLK9>ls#Vias-NiSo?L6_I01*iw>a$->!PylO`% z12ZNYt-Wg{ylQn&-4mqY0t0}{1(41dYkTfduu+UFzVV{O4Ty*wUYTA`;Nl*X1fH`q zE7y;vJAd$L>}?wJ`eB>J(JA1i?o?z0iEwp3b%Hh7{`ET`F1BI99Dea;O{>0t6%Frj(|I8mo}+DfreH z85p})jGlw}CoTPmLH%Kvafy^F z>u?s6{fvB_t!(rFT^ijX-bV-Xq*0)9A@%F+PULE4c}p|>65msg$gFn+d#IS0m~bXQ z)$i69(mE!eH%q5+y2dDx7^YT_^<>oulZQu>kW2^Qds?hGluMkVkyTFX^YI?HAY`Bx z4bFEZ$kU%iByy?kSOCyx|7APZD;4(VAQ$<%RS1z|^U|twvFqBjY5FKTeXx4gH?aAK1FCM3s0qNw0o+g;X6k*Kdwo z*=>Dx11v{F?P@B=JL@v(urEvH$N;_ZMeY(MJ^l8XS5WbZHr|CAWl_FC?&_~o#xA=z zKjP)^4PDI`jXU=gtt0Pw%Z7$VL0;cjQo2a#?uu+`>KnF4l^=wb6%vl4T95uuMzj7s z@@;{^!O~%n9-r6P_{`}N_GlZ=mxygGM(g?(&XT^ad!1^RD5_gyL{3JPXggHFdS0@# z_oQ?k{_LAL4wQk%4?F4?aJ-vP2;>?O!UKA23=|sq&`)npCGy0Ik1B-}8jM z<^bL=z7gy?R2{Gi;%)Gm6K*q;$WJ%FyP-QvUc+hKT6sb95=ngg`LW2^WWR>+0S*0} z!`WhC5i+Sg9h_O=Q-}Fn_@1}U-)SIx$J{rP=zjTJU*^gUDr-b}Il-~EEKn@Gvhz%D zVb>ulVG0F__6()W{<>d>DE+3#`=19T{+6*g`Fel9*poI*dFm12v%Ej9kv!vLl$@Ck z&RDyt&?I*pcH*sM&VVCcIwqWdR`7@KhGFz9`DcVR3td|^=dbXU9HVuH%2 zORFDO-}VLt z3-43!z`ofIl26~bd#jJ{jh41@#*TS@ZtC7=(r;ktq*Ss5r})Mjd+vz`i_=L) zMqXD@pI78#Lpub|tT}C^*K9es?di&W_bF~>kggtP6J=SR4UDlP+;ftffw)?JqlXemsqyslu*h($igO zBjwW9y85bmgik9M_T`muJ+|Y^#q<7BIl!CMH@cu)(SCj(FIp}RKf{KWCBG@nn=e03 zF8e0kZ|DuN?k-_*MG}#b=h(BAma#%jJ!|#dFo;*Q{xT|%ii!4kKJQZt79C8y9Wvk$ z6GQp|O*3gS6X9j1rz8015~t<*X7ODb1}O3>YG~ZLP_s7Th0!BVP>Bd^RI;d|Rtp@> z?fjC-pEAO6R(6K7PMOQRskevge9gLA;y{)7B9RG)9);qAdped`_-p-)Sqnr;gk#LR zU6!EAOP@YebqD=oNG_XQ58r(8xO(&Y9@kX<9}#l1n4qlAx5A74nt8R_XO4Ok`UR&K zCv|5UU(L1DO`chx>e}KOk=&s1r(g38&go1;H^c-7FKA|7O%#oiz4DVfup+Jov{x|q7Ve}L& zkYQp|?TI{8=UHnYj^hHII&eZmUM6kRObTP<`IwT&*G@mlOmZ+Z?ZsF3;YyIP)E*nE zdMDM{VmFl%mP6muMqet*R{x?t1NIpKIDsRlP+=qqkv6 z+^HE0Qw@q<63H-(?r-lbO3YRSkM`Xb$V}Wx(eBW&7>G;WFs{hWd3$9MuDdqkH^W#r zqsS7Ou)d>V?53nxTKw@!COxZUwpwMeHTng6nGe^w086oF_5-fEi)4}XymM+bedHmX zgzYkQ`=1>&dR$pqB(>@WvU~Aw#9ycQPC&`{Svo|l z!DgW`uWDYX>lmv_B1t8fTxrY6H*tnROu27zWUP=(swQkx*kRjY@_{{#Pc0=o9NnLuJ0%1?r%DZ^&QR((czYJBsV{8|!>K>ULsY{MgweHEW zlMZ`rG&VCG`1M1Fc4g<4Bn}}}Mvr!K5uxYnNFT(%fOPoL;91e&B@3OYsKJKTPE<&6 zX)cH2wW!V>jAFdA=SHU$g;dlIuPQ5}R2-aqDlBNH#hxW&EeUO(yETp=Iomm1jL{*O zR&u>hq_olUmm%VF7Qt4_Akjg$zBkV;*9MKv+-(tf#VT^5wRDi)2OFfJ^}&8~ece(~Zq zT9tbEYcR`cKMspLREX7oPXoMF3%tyMV3%}3Wu1F{QRs%Qgzyx$S^qVR@1YW%U%yU@ z=&-iNW#!ywcYYnXCdTJxDAHFczP6jF+ZU5{GquYc4i^@o1Q$<|uE8ONoU-7PUx%Y^ zFesbP4=J%^uPxL$v9{{Mp$oq~fAU0wiq@A8&0ot0@_bCn*xKq63B^XeJk}deT4ijs z0A`~NQIK%bfDvoFpgda9I>z$Ba=#;8x=&n1aq`3M2RhOGuccBu2TDrrby6;r-N{vF zY_D|K>MY=MX;e|42yN1Rt|5?Ge_vd~y@JJBIeu|znu0n%<5g?(IDy2Q!Ll@) z^>|b+i@ovAx0OsDEAw+l&y?(cZN0v~#ieJJ!_nDbN$2D^5}A@4$Y95t!{^~RgDKgQ zDr=FRLqOsBLI-~n4-e6FM_Q3)qG^fN>Lz10$hB;vOE`00M*A?vZ@ApkDls&a=;zyi zizx)m5Z-uwPHles6Q1)Bk;$R);|B<3M(|tK>n0A%-G{)Ue!(HkDLgmRitWu1Qp~C{And^JAxg^ttR1++$wlZX{Q##Y* z_F!&TCHBn&^Uy&S#tu3oH)F|X@X)!IG9YDN+EiDcDTX%XsjW0=l#_u#Tx&h(_c=+BTlBNYs=W#%hc zKetj%?<1L9BPCY8;xwO;9Xm%R^;SjUky_#Rt)UwOadWnIn5xKcO1!8NsPF;_>q zy6ricsbfd35R>+oOeb8mrjO|kRVJ+Z+?!+9{(Ywf4`A5cb`7;JPnA5_U?AUJ)m|UG ztCb(4y1>lar$TBWi~bz2kto03zvqz_+qXN%ojqfTpE{uFb4Wxk`QTO`Yv*Szy4F2s zs*<51Ur>*HlPkXQ-ewyRJoeRmYJS+rB_FMj4NA*8#>x*aWv=HHBo#)?WC>_pkY$*aOU*vqCpY#`o4n70@ zve&3T^!jn&d?n;JVulh}@{#vlNu^S%`~q-bnis!MGRKc>>m%w)v>e4HCDV)hdy8w( zYf*Q9RenFEu<%M(DBNv#jJuGary0`Z(#vP=dq3jR#{?D9!`T=VM_Ikn;d1`^d^s%o z5kW5SL*1u7f-?v%usk`>aN*;Yaq10y3i%Yo;o>=NL}pT{&z&Q2HL`bNy&x!o;465d z03Fh)67wy;>CJ{^qkU}A ztr#Hp)r-%hW}|J^n9upOT9gd&daSNK&vOWnA?N?`0J8wZyV;vTM7onlf|sAc_m!>b{|JC zVd;5_RgEP)gj50awzZhZXNpko_tsrkGp#1TmB4q0q~JbC_aAMxD4D64O6USX?!?TB z3Qee~-h#aE)Q%3tt~1!B$*2lz{$r3Gmle}9ySxb<1-j(l=KDiqN3%W6Oe+9TSKeoP z`TC1he*twmhd0r$4XP!bsep4=;WL|3l$=5BOuV~CRrTH99aJdIbA(sx*^Vl@m{pKUw-B-7V zhIDovd7;e|7Z;b+nnm~a`!``7qMBv1S%wB)zSNP8bqfzl?^0^r^s?BcjwI?onc6C& znyL+)RJ=g!CVPE<5%r^oPwA&Q#W zSEe{Zm`K3})QX**LOSO7R5iDL@265Mzhh^nXS8Cq5Z2vAqd5EcIehO|rR^u;bSt9* zhMB!b>N^V#$ioMhcOJ_w_jz_93S=RoTH4wSlCB#I@pjfAUBGhbQaAL!rooZAQtsST z-!U%G)-A`_UQ<#veo*w=* zC;5}_rkO%KAJ1Zz?5)l}zUk|1YB4ewKB#(majC0ffcK(gR<4~q@5aOV31!EgIOr5F z>lEB^TWQ}VLp`3S@gkMe$K0)tKI-PX^Qw9G_SJ>3_8Ywb3Wwd z){^DdSYZbR=ZPZ=EQEe-eO)RHx=^Np7(i}TZf;M5KPj<)!??rp1(@n)&sjJ5jQ7K! z7P}ncnXaC=-vNTfc4~`lPx8>-B><2nQVAYQG@&yEb2y{DOA2cN+9vQWD$Z^+TNF0y zPscdy>_mQuNcwt@`x=pnPQ?5IML3{7!^Q5R;f49s6~0o1jZwNtsabFWdvjksrF29N zN!9TZb9#ZipajKX%778(7R>5SBr&^YE(v-)&^)+>G`?-sB_eVF*~GeLG>Ww6`i{r8 z8kcBX+!dVKCcku7N2qQ0ZG{(_-B#EUFOWErOZs8^)D8(m-?VBFQ);2ld$(7P+*~I#g9=5 zFX(+uYhG^sh2U(FhX!s?M|(%GMT!#H^t+;0j{a^dIH1F>{c6Y26BEs)5#Sc%N*@zJ zzdK?&Grl&I+XujX?bO>zba1N1DU|e&ND)!hNPZ!HJj?D!>n_C*F}LlQiNQXs5+3iY zbtrsA~tmc5c@L>KF<6I7u`8pO)7MIOB>?=*jRwa$8)9!%0R z4UA<7hrRy4dgq~dIV7sNaeLAJ>EY8ZC=EUwY#2|uKdZXtzDP=B5}hgfW;e^OyyvS& zxo|N6gwf4i4@o6c)2RsiOcg0G>&u&NbC9Eor03au?k)J3Nuw*@vWB}8!r_4{%%{*9@^pFNrs`*?xiDabw0UlvXGrE=rWn96)!;g zL6~|@YS|NV ziakVS_DMIdoeRiLF|#=1T$@ywG9)*f8xG}PYU$2{9`Nm~!?zEVuOp(*sg3HUs`zKS0q+e% zrTpjd9=DMkvD~GOuegS|kIi+jxiWVEvJg>9nwj*^EwWz~O6b(MmYLPES;w`zTVx_g zV#%9-L#VAL+erqtG4IG|=D=*Bxu|Gp9y)l&P5U-@(k2Wq7i+7DW)B%m;|_f<0b;UK z5N?s}8PP>TVP2HW(Vm;pTW^GSL?_Q+AcWe-VNV{8x z0=er!88a4fb`_HwBn_x<1r8(Ul;!nrSz6#v=-ZYxmzoT}@g&WTQKc@?JHc{2EW{?X zsseK@adV)cH`^#ZzLJZmOSro8#glEtlx4%QUypzxh_yfpM zsUlN=-~pc6rIRJa#TligYR6Aet3aRgX_yXLiC_L*pt==da0$vzWR;EX^kr-f_+HTM z3oH~HrR&<%$R%;#duP$}eHfw@mG{xNkPrfdJvz<()uP&Ux##8rZ->pyR+E{udar5Z zOjIA+ytcttCqbg=kjt49Zu$s`i@n6DLBC@XgT>#t)O7hkXmF4m&_7+SrHR`q>)LAC(R|TTMk~%RR=xjJh zvx*FtF)#7kqS#;wT7|N-#uaHzddk-3-e8H0>bY8Xv^l+EaYQd`vW;P8CXnfRoPw58 zVP6_o4|V_i%65!kmka9hL9jV_XIq$go(IXTMr~-X=~Tjl71Q0S&MN9__dUr9Y-p2!%9*ew%`gvN#Mpu_MHMT(w!Wl|_s16& zwgmnD4Lv~~I+hJy75&)Fg-Czq4PcGTAYdi$W~|x>`i6pVs{ zTSeb*rPk9&B2|K4=UBRS-Q(i(TNhGaeEy#F@{q=L54PXnensT$a`RNC!>f>3`){?* zQt2Ce>IW$s(q?T!i3!5R!w6Qo+6&>G&rvr@0QlQkPpKvP;my00nV7xW2y6(4NUixs z>D4y-m3D@W*ziX%z7|HJOJT;X4QtKOT({|!T(-XhU*r-@Z?5{-6=MmuR@x+OEhNRr z)EjYe9@2_we!BC++xq8Z9r@iugmACO%b3DvIH}2TXn4MNjQ#1=G$5Osgo~tx-9vrL zs>(2RpGoCY5IA6^RaQWy5G^GTs-)P!Mf(e& z11BG-?Y(zreqTx*R_v<%?5uBhyfBA>1?nmi(ScWpy{bQmGSr^>OUWsK_vW}BFJVD%N1{pkJ;+mE^7e)StI^xEvX z5<O9Q~NI$-37~? zJWwRKd>*ej1R>R1LJL%psHJ(!-gVJYB+mt21%LdMo$vr9-qg6Z!ejlFM$fu0e=k`c zg6|(6vqM*)qF~7^9iG(HGb;vXKjkPMAN%?hM>8oeadw~3aB=GnaKFjxgmcnKG zBi7;gwwp9(r}=0@?&S2n!EZTZ%jgCF8pph~>yCHLI{S{e6xDbBh^zsbG}Gwh3H@VE z@IrD#Yv|nWD{kbW;P~th6c5|#c*U+ee*)sYS+=?AG-fPaL2W{j+mz%~6nz{cbE>VI zB8}~QomW#<)Qk3~e1Ygk_&iw(skAstUefMnvzw4XL2)~(;?(>l^?eZ;(x{A`xRbNC zTZYIHuF9(GQk*FhJkJ!J|Mtq*cQ>6!*tCM-?)JXziLoKhD}yd`Biu_BDl@U0_P^D? z{?XvV;Kc!?!e$$p^jkcrzJ*P}0}nrLkxF?`z88jGB=exZ)*R~D5(K3ia+&S>Ia&8D+cBA=>3{K@>05Pvc+UJOZ70RZ zhFP_HjV_-Kr+1(9wQ$xsYL9d9Gwjx3qG~nvMp%L1CI}V{P%}bq_Tp_E`ugWZu zy-S=n(Z%T7(E}1hfvJ<|VTeM`&^!U!HL7DpHoxh^ zeI2;cOk@4qDe=|{FSvYn=E^JH{I+PW@_FoD5vUuE`8zNAowI(G3P3WCAMptlV}a+8 z{-)~c^bFg735AM!0eK$tREj-4*C*@>eF(j(2C5qAB`Ie8$JgHL=sFu)X2QPi8F4Qo zqVQ)xgURRT-d54qzHYuVZ_i&A0VL@QadAROaAA@pr>@v;4^vT|P%Ctr9A<(*%j!br zd0wic%lY?*c|G#jQWVVA!{%#Zc(%tAnyiywf=6AbR|0hFlu$v9TT5O{7nOF#^uiT# z$r=4qYgsFeA5+E%z*KI3W69MYi(lJBdz5+5O+&6jB(eYK`H!nECyrk9WUq0xxE-eQ zH{P^`w9!(|SjtX}D+H3{^=8#Z>&GwDEib zzj`+Wr(0g~5yiJ5&V+x_u)EQ6Ier@3`of4FU%nAOdS6f}v)E%f+Zy6}@9vak)s`xV>BWk_ z9s@GIr|s3(_@p_Rc74syVLcX#rlU{SGu%4*W%4C7r{7NXJYGKoKB#*^g^ZfNN$042 zZT>66#)+;W`F|Jc=gwr>ehyy9!JuIG0&u_NR8(zl`}~LQl>rs(ty85I=$2*RvgycKvvheGl6I$<4kv?-vi*J;JAB`vjv5 z1yS#5aMY^!=7y)zfDKX{AmX?Qis5(pZmRJ)EyO_-27-~ie`beh7!nNL`piWlkKtWk zKj$O(^7XV*g_HV#&v|lr=18g5$j^Dj&t?|lKZPT#M`J6f* znK<2 zR0|~~r6j0@oSul*=cZ~XfAQkHq>`p)f67=ax7F1%$593!fXL46pNe&*MbVl@Y+jU# zgcOG2RNKif=9eQBu0@44=@xt%Hl~TdQeF0o2`<_zcN2%mBDNMBraJv=8^WHvZDf#~ z5RwqzkTks>d`~l2=F${bb96<1-ul;P=@#f^9g+P91Ui$MktD-pN$ ziJUc8hsn-@5g~5ceZ0PuWgBEq(7%W@!DudC`40~J9HG8vHFYfb8q-=E8JM!i2q&&~ zb$g*zx{w+*`6EXfmwVgXSzV5*4*k+ zR!64L+u1LjWDw>W(r#E)6kW=^%nNT@S_)dsp6l7)UV%|rGjr3iSfp0H%8QQHlw6Md zh_=6+=INd-&miWg$zWxE2{|p|75QxfGSfMdxJn)`=a*|64;C$auIo~5V+n@Sk(g4l zxvY6u$26wh%}Qgor?5+InA~rgMsHfdJy!xkoi`yXYeX<>Qnr@YzX-xE5VOwGo_NQk z&7IR^$OdaRy@KX{h)Y-CFLUM|_d5ROzsdXe%7mdz*mj5quNwkl4i$nq$+@ByyfhyS zXwz;wJxmyw>ch09D(CHf%OeIue(f4%pYKcXzfQDRgbJ;Ps&)xk_C+ZHns{6qGGay6 z4bIs~AHtWDvyik0|6f~|h&HZ$mXRON)QKKGr@bn8H9okxyB8_dWP`b@~p;88y@tcls7uPJLa_vHrZv;&Acwaihb7BS=3a1R zfU_XC`+_gaNk~`&${Z5)N)Km4JThykO4T6V!(GaqV7J3lE4wtP;B}}iL^^sD)H9Y+ zu(6j#SJo9sbx;Ls0fYxcK_jB1?)J+boP|-$8&~gGS-tSXv#R{Sodg~p2|C#9o?+Q= z*p~+N$H=H}-pWP7JGS;RzP9hwjnyGlgMDhKj>z@}TM9OwdvQ^q>H{%oo5G8O9 zM`R)+0Uvw^mB$3hJo=a`ysS*o2^LYw9Q_5{dPbbxMj=-#(w`qxcWo?{66y(%> zQ~Tr9^wXX$NjLWg7u9h+XZMO+_ed%H#`o5qAoNG`ifnu0)C$s$*8cNmbHE$x4kP}B zg+FF(NoB~C4NAU_(P*YF)Hc5z9M+y1{pQcu>2gn^f;(6HBSD5VL&EJ$mq_i|nQCP} zU;nl!%h^zQ%hNRSvu3lmZj=m7L7v*n#bfdE_WF1)bA9ONN7T}8T|iH@<3A<$(gc6T zVZZ@!1jLio7ayt<3wdbHp4yrIJ&$51`pwMt2uJb6r%|Ej#!p+Jvp^2$`-@+!%@z2O z5T99R73edz9DAc?ODTQN!J9M-G61_l7mdyQOC4{~tG-%S_b;CNtutgz4jWC~j)E+b z1BICi3}T#%svUOcb3TWTZ*x3p-x$jy#*PN#;kfG)=EeN$C=O%Bsl z?wlkhEAD&H(-?*+5x;$Zz$t$=yl%eFyX3B)DT+D)h$q6S-l%Z4NB1xr z^x;~mF|vT|&^6dHMSbF2h?Q9X{!;sHSc>p>nbgnpsDd2_TqFad0m=AJ%QiNrX-};soS02-*HyWS32KEupZd|4wl&sspD}g!r;e7hg3oh_ z^>JvLb~gSx;fIO!GvIj|^v~3gsrLBYM533sutWPVOkX_5uE^jicSwyvZlV6{&(%SN z8%G$R;Z%K*dP$N(EQJ7^-`9R2`PlvZb=onc2_|Hja8>&M*=LG&+H&8d1i`&1 z&Vve?W?l{zCFq4YA0MK(FCLAp^CCj|7xyoQHW)%)N;6qsWpY@`7I`#G9PUN(``_2_ zWK|#uA|af6O~M<}hUwVD1~}+G4MbKIUIOQ=U7!7^R)L>eBZluPj`5WZvFk-4h|qw5 zA6w!klCVt5{Z4;h7VDuezfNC|LMp99FwATH4xjjE;c<$>+DudxBSnieuv6UZ`VV9N z^i3Wcwg;Hkp}z}>!uLcS9YKUYp|fAjalM|%-BDbH9sK60;ZOB6sE|WAU}&c_=Tdh# zp9*L^&Bn5PP3)Wi%1w+7y2e{HzOSF zkC!G=?gcN}DYv@)ECL_vXF-KI|C9?ft&hR>AH;p;=ZeOM!xz*QAHo{GdOwRlhlXY< z8drA%@7xT;U3fgR`GJVwXTk$m=ViijC82ks6gq_AQfyFBS8&f3lKyk$1}z7rz_pY| zK9ETQH<$iz;~2;{{Q#5jfBWmU*0&fjf!Lxx>Y~5N?6GwO^%K;C5BG3|Wf~(tG4gPM zr!yLhhpckH|K6grc2EXLe=zo8mgrQe#32~qBAIV($}?`$$FWsQNTf+%#dB{;3u3(n z{aXL1oP+Dx9n>WLo2t^NGtpfZKY9{-i5*1Q|Imo0&<9`3s^2faiDT`br#wLgT zT%rbl{A>0r{Nnu`Tu=sEg|<0c2c@dmYiOkXYkmXL5{srH?4_!f+EjgV^Y^Sw_}7x8oNia;4)o%G%QDO+ zX1lKBl;%ZYE9QCn0u#L~+i6j?!@qs@9NX7+(k&*rxicOoK+QSw$yKg)>e+}?c;99m zPNW6HiL0K1VQ{*f=WzD~N1jal4FVS78hT9C_BbNJa^#29MW*L9?!IBH@;wSga0PU8 zS){VC!U{D8NK&0~s{5dp(Z-mivgwER2)TT}ciA>_pkgxqoWgTQYv}t}AE+jrxUH>T z(h$!@fmKilNj-rGkL7eP?L?XBE#C*h7R_C8%XsANd6@)Sfjda3bRnO)Ml!i+xl0iQy9BtSy%BdEU?HGT{gyW(i9h!b-7beT8> zyQ7NaJ?>mw#$SP(uK7?6x)(|pGO7&i@AVHn<2$+) zzko^j*i|k31uG6cWQxr`M80M5d7+ib+{`^G7;X#aJUZ&Q4Liz@i*G^FyjCp)sk1%z zv1JzHn<1@>9EvC(twAN4bV_}SH~x)jh%`n}2-1uiv`em4Uh-~>iQ#+Xk!GbTdM~2_ zl$zlK5*<&cQ*GbPyu(RjD9Is%SJe5OIr55`lnIPj6{g6?eI6vb_5@R0!HTlH}Gd+nBPc zNS%s81nDCQO2Px3XlHM1!87U`brxe}iW~}c7ML7PZ&G!T^gkY%sCRa1*xe4f*r8XZ z2-ub^=@urBowdgH9e|sA3M#wA3_Zx8dFfrojajW#ZsGP4=uLk$l}cA{81Lc1-t#A> zfyyklg`EBnSgfE0ZGzhcK~rV7R>FKhN4})NNLo4+eIE^lp;beHeo0q~xVeZ);|&r?DgH zHFU59*BuvwsHkRfDkn!&)Hhyz>@Mfw<9EeseI9xG0!}B9Ad6|UCrvSV$diT;s^yFj zv#MdmLp4pDw4J(j3wcZL%|kPRT{$OH`8o3u8e6PP^umFO@Y*QYYY;4ie=s&)8=6Lg zEgyUOBlsRsb}#El2wY#BxLz>o3-HN3mlm1d%LS2r@q~)eIAs@tlG0QmIo?`sZ_+?n zBydZ49(g$E{u0RUf9GXd8s>STxpvR#e2-bo)9S5B*kK|;6_cHcAoP1I=Sr8f(fid- z>^K@@M}?O4WQ-Eoqcjzy>r%`MlPfPCAbRiyDCR8@y%`Wvg8GVI&mr451Wgh_CYjz_ zo+g-}v7?2x7I^pnxEMu4fou4Py!X$c{@XQt>z2UEd(I`OBd(nv0NhV`=8QinhsWR= zqFuPO6zsXa!`J0snAlsSkx@EffL+eKS#BR9m}s_lkr7z59bJJg zL%3XkOvrZ;0%_AmXm_(`n&<>wftrwH%xZa6l!(nqR< z|0~sKY%PaZ%JTB^mn467zt^u{JGslKRS;F;{FFzz(|DAa|ts6H_zr1-;=I;|tSY+8=$Y2?<$rXJq8b@hDX+HRU%13VX2i&mK8p z{NJA**IN*^+{cd}`{;07x)i_x;(1^qwlxMY?t&c^`HXNmWacFr5fvn_9D9k`s0XFH zYu#i=v?hvQ6q+@pbd!m2+`H$@N$q^cbmqi^*n_7#-&a*xiS&v3&2Mk;;GpTmp7Ec) zkzoO^4_n=3La|4Go-+%&Q?kcbIT#b&?BeWNm~HrZxx?SR%}h@q2W34O4U#MSoF>RW zNzf&LdwGMk5+TVy?P|&>AY3Ip_B`vzlAk|Ebbu2JennkZ(j7i-q&znAbqeTUAxX56!0tNe-bTEdHB4|9tcumxW3kG56VQeX>g}xRg}8J2`;o}1U8N({ce4dux@P06NGrQ^%pugV zf)cj1LZkLd>*)WY2No2PI#W@oa4N9S+g_kMw^Z!I4j(PNHnw(F6{R0^~!W=g(U8g)CG@A z#!o$vF$b@ue{dMBod9xf%=b=2L+_`{HzF#3BmayJmeK*Q`7bgf89Cdxljr+FwT-d8 zKPUb-9_d^`$9gHWn5V_k7t=Q@Wtp!ZEb8M@_M9e|p*! zy#a1f&Eeyhls%~^bovrEUPh*FZg-1%nTx#4WXkgM9XaGuMLkI*{>< zf7lMSU|xLuYeF%H0y*m6$|I|A(~M{UJ(1hGzGIeEU&uAk#{R+Ndku1Nkv4idQT~-C zR1u5nc*hUNkhe6(QYsi``|VRidvF=96*U zdDNGhY#ZvK>H739uVzCETw|pfHQZsH*!Nv&>K^|v9!ZSvJ*s%5EHWB_F`4 zm^f(K>qwk?io77OfknG@(hw(6q4~$ebn#QbRuy32m)>jvfLmx%u z_jzeQOEnpzQ9L-`#Eak^3(n180Xy#8UMzk+ed+Dp8V-ra5Dxk`F$)L&PV5^Qk|H|yjge`XLci}or|zr1pQ`EO`SW_RIiIn$;J9@j3G zvgI*5JUG%HMsU5$;(tEFD@`ctr&<)@J)x1`G1_#pawQrU2mMC_(P+?YpP6(t02Tl8 zw;#~>*#fBI*W0}sck`_A=QkXtu(a2>^?f{!#<DwLx#Q4>^4`?Cq1kA2_2f$S?aD5dg)8($$z$_Y8e@F{9>%(v7=BExvzvoOOpr&UqVFbm9;i1%j=yCNkRMmb+pwp7%XZ)XPc z4GLScnMA{^O`5m5wpgQ1lQ16w+vTSxNK-}$?yq0L^q6xqT$#j6*>~D-=KS*Zy(-2q zlUP?zk2U{;ixG9PwJZdNr7LHZ%y!6pesl+oD%hQ( znCI+h!9?kj#YA_BdQ+}LUsZKOL+J4EA?>)OkuutdpP$?3$B`jJ-Dt1MKVr-LH;LZR z^5^KVntV72^9v0GUJ|dTwbx9#Suo77t7O`w@Dq9hHa5137uVMHO!1-?wx|U#Y!VrE zB>4Jz_Noa2eW?JPBTT?WE%|>!D;5_QS5{yJO{2xYVeAnSQs^f_fRrDH`HNy@%vkuo ziZF}vPk4a_&zW9q>t>nDno44Ns;8~3O@$GOeh^8a;fY>oYA|$*YSCYqG5zp)wcxjpWi(uG9)a4$!_p`jbs{GQK%!`*V2fz$msjb3i*hpX~%$&;Tavx_K)%g_riIDIV zkICXx=&k?V9y4zEzHIs3Rjq`b$cLRiH~-}$it-imtlKxEk>)VOb0m`_Cntw(Yh0YN zvJCWn4q3myfL}}I<8K8+34v%(I5t4JBiE`As(1p>Ep>QzbT^MnC&-RDSXj_F=0qZq zk~xBAO(%d1V3$@5hhCDV?C8>J+@%a~0X&{9SocMbhge2cerpeA|7HCH^R50PSK=!g zh%mB%?hOvDCa#q*@*)97NJA9g2P%V*<)t|ink(w=KH+1as;8%iU0>*8q`bdyC;qeVa$2M}i|7x~L+eA1vgbcFS9u?YB9- z)2Cq!Vff>EnFywW%Q@L5{EqwT7}|k4v)q0 zZVnJ4U(s3kywjok!*2BZ9ABrlX)GrapN}VDnKRDbFLl6KSNB9L3L1viFcR>w&X#RO zd}h!r)hEfx(aUN&!wf8A7M}PrR;C>G)0Fw(?I|xth z@$jstdRI|Bnl%VN)i&7o$zHab8*ghQDxtfG6IF5kYN2v=W22{hvD4R|5)pF4E#q?< z_NL{y+@ehR;jA`pqdb=+t*buCMLD}?B_={;q6+^7V<#DD8hl;3{6%Xc&LX+{(4h9( znYat^L)^3{WE25PuAZ?e#F`|!$S!G|q*O{Be~)~YWFL~N$JKtIB%{)A(2 zT?QZ(40gG$#CK`RT?S|;@mE<2dTE@m4`$$fGjblhfyshZl4Fz#a;rsSz|mAaUjYds zwG9#|Mx>2hy|L3F_vL&7CYoen>vt$AS zsi(IA&_F`z5$-#b3|Eem{O@T2<~y+K_Wv5~0ayQ-^GTzw(>Xt5mg{s43f!uX@if@^ zf7-bz8F0&HyJuBNC1WeM`S+{;w^$UmHbZ*Y0V_XSEAmFQv6qUxl7#hypJ%K4dn{DM zJ;z`e{y)ZwH~`wS#;*}m9qgQ3X3=Ct+*(oO2zf%y&&Qwb?#!0msFVc_NojpxOzTbi0Ur^Rj3 zw^)t+%(oy)DjN;xlU{>*e z9rwjnStTAcQt)poJ$rr!b%8xd`)U_&DQm!jeU?F-KfikTrhA(Q@MYLINm#_c=P97r zZ(~(>ebC2Bc-`uQ1IdvU?ym7MunFcWE8`J_XF{t!6@rUG4^;m1KZa8wGYH7bx*RBP zC54eZUjwz&z6IgN;{J~?ck$_Ba7){>d`2^M`1WsWH-7QM=7zkoI61sZdW@9B*32j% z{)Vmx3)@u*h>T*c4L)|qL>us{UzAS(!~tX)%5R z*^fr8kRg+yjc!PCypP=W?Hjpee%c*l{|mLYjH;2Q>AT8iBrVTv(I~rWXZmiK1qw%O zJygQOJIHMQOUvrZE$TYn<>xmvJnS)2Ha^n!vN5U$cLP z{n~dt^Ky6Bb4SQ?M|k)IfwgEL(55CFSwMpI_eT3ckNiUaoxZzzTK<~59INqAsO|7# z4f~Fi)iAjGpM=Ary>%({_PguBb|&K262G`rEa$0v)WhQz(_7`j59za7n&@ludlx&3y2aN&I3d5 zQJ9@^KuNCuTB`WkXDHZy)s9A)dz=LfRBWjUMxd*d9e~yx`8S@z7a`sS1~6gMFW8ju_-_K^JY<4PjNpY8>9;DL~XRwctg zG!7~2Q^VZ2>dXHT;v{1b0M0w{4@}_c0cZpr40AZ=y9Sjap&;UE_ut=kTKw(Xx1;1; zZQsNx%7X)byD3O8mh)AhAh^*WBI9!XoB0^fo0uJy6oB zrJ^dB3*TMrPI(_slYmKXc%ZW|sOG+1Y4m&%7O!;&uD}eF>&0~?WMFvu+w~hd<;mU7 z-A?7@PoQf`N_KWA!q)0#`huV}_inP4+0vQOHllz*mN6&rO$gM;GNZ#}Fd5roN)-a7 z5X>ZI-S(santLWDBy8Wh-`FveB7_vd`52feC@7!d`Dt*F6vQcR0VUByo6bBma<8w4Hr9jPHqCnyd$)?1a%Y#> z`fkM0AEz&wTVL+tij7soQs-4~7*J-elSBpnIOYo6%xpTI?M2=N1C{T@Q_o3AOOtH! zKWwe5tHTxy{#r=Q$lb_DZ2h^Uto@uvS}LDidXIr|x`}F)=m0EC4m5uF;H_`E9{05Q zp8<`XMXq*2W~B-j>SH(&RZ9g#Dg-#+s!w(I(a2a`Lqm2*kcV?xv$L{79&1Eap&7;V z?F~NAmpB%g+6rJs`|ep~`Bzm{DS6u99@t6dWd@nV0y9>9P`JUl;@XsH2-8w*0rNNd z97%jAGiESG8m!)#G9Pat;{s6(M4TrF;@h5_r2z7OAkU_At8}*;Uf;l=G+PlS9HWVF zXfrZ*vsEpC1H$?O80A+Xj19xtsq++vDo#sP7~AXQI!O^R#?rvpG8y&(D7 zdo7LFIZNOcD$)6?3gV<(GUhtr7M9~>=iS%pT{B7DDZz1jRPROqpBa#$bT^Xj7* z;Kn~9v?o0%bmM|KlHmY=NVT7ZG3&mjQKx*Y-zd$%e9teIHeCf`$Vza?UO5*7H=GE! zaK4qW+}cLOs|%SFKI;iRN6&xv?j5@4$S4q~BtiwW!Quk!+y9Q1++K8?Y9mEL0fbGi zN5T}}7z<1V#+~H#HAAo({B$EFE%D1U^`sUu!_1c zl~_<9<9s3eINUCD%Yh#D?DCu_(bd;yoBC82h;A&p%c z{=U0?mO6W?Ok6)~*`)AAg3!rtk&wXsg?mEe>wkEQI~V^=##L_zj`kgeegq!jivGfby_9@L zV$^E_q>&ZTjY8&-wl#heBP%Xt+r@zf93m7SuxqrNvWmBtd-m-ec6V2dEReAVtkrZB~oL<>I}m4LEUwiUpX`9ZwvD%=S%hRU(m z`+a*mwi)Pnpv&4~WEb3?V@bNPfy?4Up)+>H*KN{@jW%|6c82Yh04K$Q&eMk?SCXaD zR5XZFG?AL8v8m~<91CvkZ-2&L)oEfVYW7~yKs=^3wi&xZdJNQl+v3bf9}G(m4G0K8 zEI~p_%ARq6x!vFbVb7wcttjbiQ6_P&IxI?=;FDqe`~X^;_@%Bva)|u6AIwZ7fvH1l zPn%Mvi#zYa^=JHJP`8)9@QRQ2Q+~IH70fcIa zkobX<$AewRXbd;{NTWFa}c%j1w|p zU@-2;u{_ZJo?{&5E4vC;Kt>aV>dMq1L$Og{Ba*|)kx;HetP)dk!O&-dEJS=6XL9!q zkBszvyvY}W5c&NuSiWF+wi6F5N9t7fN!TIlwlA|REwQfM*ru-Ib>lw}O`Ez^u&}To z22nZ+FMz8NL?Q|_E|UZ96$LrR{m=Vv&qG%=K9pK8jKYz63`6>R^g8Si^p6`T_;k+- znYase_qHI`ctdlNtv$42_N;8}%$2z(wNoyUFXZhu3qI z*yKKO8F(dh;^3kp{y9q4@d6b#)e)`bSF4egl?8DS{DcJ|&QQ7QXfD`-4~n)GA(HUyr%D3Rdlk z^z71Y$jy~;h0Q_;g5JPv{v~??@Uuw$Q?~SBqI))mE_-`f1dHmm6etz>S-JW7BREw|$vu?de* z_*GeSm_K~@fQ2$Qm^ml&NYDa{L%PfUkc6aUC7LsfP6N!eokL0wHK5akPCemAF|DHF z^5Aqa{6tCFoI&>Z-u?TSq5Sme6S^;6Lx=bRK>DZz+Z!Rrid&4W$_po^=YSwwHf7*> zh?{+Pt%Es%z7WlV<2S@|ucJto+BZ@L3<=Jc4%P58cCmNm?7E8)!HFad(4r90@46>X zhRacYGRn6N*7hQ^BJQ?QnbxPQcInckE*OH1arcU|r;uE7?IvDo+}vj%rr~Ae;qLd{ zQs?zg)k~(e55|MU%c0XI|1g*b1=@Tc1p-DXUav1N=KFUmb0Sv;p(Jmn9VLZR&go)P zb93cANh?GL(`N1HQnqEwv*=(WTGoNSJV&A}FTvGPDSHBXT9?t&Fp%_jDvzP1rBN?l zy_)>H6g;eacC526+A_``<(TM7qdO*a=Gh)39OZ5C_MrrtRS0GmZ$|A@kxYjkShinT zSsB^3o`rf>%mst71Hi{0rVsOs=dUiOANZcuVn|pJD9d7|ApN`IsC&sDSI&|O_F|_- zgesisF7G**?f0G)&c6?krj>C26X9i@$v-PWP*H`_4&-M*A+ZZ)pK4a_0U#3*LVl_Wjwu=S{)!>c798G)ksdK(v&5GuE?$8J7U@J+dgJNVxsP*ZhCb0z zxK-(wR&P1xd%#}hhm73Bt+o&I=A1?{%$>J>&by|VR}_9ZxupFr=BU!V?4qXheILYmYYt!l$Hq5CXye6~G7r06{2xiH{%eN&t8#m zIMCvK((zk$7xXOERFMhzg^`dx+ia<$l?*ecgUaRu%luy7*-Zk&i0-890NlRW z9HRTwC$|RAZpWIzP;S}HNGfFP)Ogt8)duMbbXm~oaO=)IVSqTE&x1>za+@paiLDix zc!mr#a-dP7XMgd6#SR+l%qP`^3-&=YNrc|5C~8B)ml-}=9GhMFBUBcraF{fsGJ!oR z;O!|$#db?ToqTm2uU|_`%RDrn<3{q>F89G$4EpddlK|f_50W(=WPs4cMRUfHbB11g z1lfT><;9^yqSwM?TaoL;-gsrO_f!y4S)tgJvOGahHud=Y7)A1L?nw$pnpIu;48MvJ z>T_wru`52C0ae z-`TAlf<$l-u(Kf#lbDsYUumhmK@Co2m(%;>L|Bw2e>?le!|bt>6aebPrR=)7H*84m zeq#pnzEWMoD$J#yzUx0zkmwk`>SuI>UEzmGc&UWkOV25CSbmOpEj87KJN)n zGiqnqvJn>V7W9QQ`Qvm%FSPCtZakS>dKIJ-)tk^^^euLpwAXm1L=<*jdrfnum{ZKA z7D2A%1h+x?9?tx(D;fw-0yB%JQ5Uf6o|5HSBA8V;oQ6`c>Dk$&`Zru~=t9t1sfF_L z7#ceq=9ay(gEl@v+mG~h=u|^U^GNGo)&7U>camQ`XNW$+lCg=j?x}sBnH-?j8)*z{ zi4kp`?Wo#I1}?@1bSw`;N&sT19zTeE3m{R%GE5`e=R0B4QgoC5wG+S=U|BIlwowPp zAM={J-xCDhr2-V979%a02>1h+sTunNikq)RVB@eS>xUzlDEdo+sp2=DEy@azKW%^z z702`>eL+=$_9i`5oa5J;+FG=iL{KNnc+J~)U8xl&o_%!#g&yb@8DyT>LJH;6j*ad@ zhZ8}Gjfv_cWa*F>M?tg0(A$Ue?;=at`beSLu^3S7{$j<(1!#!tDrJChMieJ+I_!6o z>w}ZZnF){9A}p~(5-kJ~0&YlzHV7%Hss4upw^k+{zrX!{T~fV*C6f5T{5r9-FMmU} z9RV?z9|J`#n^kL8aC%nZzJS2xId=5YS~sx);@)5%$Bi!8FOo3T|5|~*6 zn2SoAp!;BYO_b7tQ6i(uUSD6|6wNdXg*H_vse=^GAH`m%LI%QTe-umdy7gW~G4-%2 zj^jy7UiT@Fky07^6hY@7ndM4MmK~@^Tr1u#tN~*AH8wgP#M?S)0GlEkP{w_a2XGu} zBj2(vf`4scAUneEBIGE~ps##o+R1bjc%kg@6g;EXC-HcH6sMyU97U*4pFRb{UQQsE z+2D&?oJF12u1Q%)=ApFB6eVVNRzc~WF*fvm$H}7Uny7+dM?`gSRMgbekkit$0&=Zd zt3JNE*@qJOy8F_|C*g;iQn7ptP?b2jsk@6yOL*{W$g-lO4Vf7+D2YKM=1~BI41NK4 zAe3C$oi&92#q{V!Dsdh*cmvDpu~=!6cihkTzM@(*Qj1--MhEJ7!3@ ziO1tnnt+`iSV@bjy#Bz!hfB6NaNRW8rU;Mg;2uG`6uG=#a4h*ly(8J%| zoBP?W;^6{^+GiLv-@ljf_tRob`JCgIPXQ4VEuXM!*GXn158KfK_&WwMDSAlIKF8Dc zLX6!v=QA;fxgrQ;s;)AvtG}cTrBWG2`TLO=7ahB@h5KdxR@o&|aNpR2gM+b~ot7q- zd>kEe(I(8S@=pk*riN}}E)#XG3dNb`sex z6v&6zd5;(&xH1YVA`sYM3amto2?2Nnhxf;&D-W}qu*FmRcPADXE1+lz*#xi88fF1M zu?ZLw5{0P5xp}? z#lyqH5yCh>Y*@ApAph4N4ViEYsn2$>-r1$EdieP=thS1r&vy8mdvtQc-}fcsBBTz)WN{wBdM zDJcmq^g8C(tILfzPMd5_ACKkeBZVhxT|JomsCdtf=J3M|(c_PCm>tLAZUo)9aRWiX zm=T-Fv^xyZpE0Z#swyH0=XY&}rc_RoQ|IvZl*{RrliHZ7pL2DEVYr7C&B2}d7!Ur3r3&TZpU}B z?Biu-}5qigG?`VWkH5QX!oflFAVT%6KRBJ^cfe82jI zWUZgC3X{$xWMyo}uH|YRTiDm603bQ0zttU^+bVM#n?%L`m>iZD4(Zvsqtu}p7Uy~J%1+O>q zIvyLU2^}}V9@{Q2)BU9JWXN@~G%qi-nZ3;I2$JuAJV}%kn+#}&Xy9Cj)P!HGVj9ojal^t618H;1a{q9BSiz#6LH+(|0`kQSM+Y#GA%N(Qh z2e9{{pd%S)dGXlT!XFB3v>0!qWkk>>IPpwq#I9m42OA=W*F3qR0I5z*K&KGbul9Q; z0Y*RJn8pFIOTQe}zw2qV4awlpWBIN=X(X$7nbdO!IR^NUnn7emn&!#kSc^b_qqn=!P>zS7YqMG|U;l9;S$ zZ8?f?!XmYJZT(wz=RK}B4@-@c7D%!=%{YuXLvKIjx!I4`f9ENN-4<22pA+B@Zf?Jl zv2)fXkMZ5`$ZKVhGr{%8HVdyKr_LIluw=e8mte z<#V{StLEkw_?ormBn=*led3Ccc#rkU>9Vx5l5n&pw#tC9`>~5KQ(u>aB0|mU|+Y<`7ts|`RU3be4j(AllHH|?eW6C7(GQV+ibo~ zP;22vC}hS-(w_s+aZgpkfP`Vdk~bd3Ev@gI(ttI=H~9y7UmPd`&nX@YZopk>IRaBm6x~ zK=VM$_y>oJ{sNBq3ifo>@*0XPvscCOH=e-l2Sfa{_eKt%F`>gN# zmY(-~CZr{}fJ~xr{@!rtG4y~y;XrR!^x5aSx^nxz?mg~C%DdZ|n)h^AwhVNmrZ4Y^ z=&>HCG#hAzc2MRR%>{0x+-lxQ9Pai{6*t$}w^tv4a)Zg!eOHMx?(dzOMhP?i zHt7DQ4c7TxGBUtQ6ncf^o;?@ljVWT3*1Oj*PAoEy>f>hc2UYX9t^7-3f0tq&WIz+{ zmd>?T-O`q!g!RywP(_Yb`X_pxiMc@NVd(%!F?s@~3 zeBhD+yfO8+mRhO}ohu$xWMOG+Z(q1UvbubEbL8q6`J4-N0oGC&q3q`eBxC7EPcmT{ zIwp~5dBK!3tuLB5*&cj~cd5X)PK1=&az(DfUCG>m75P7F-d}RS;u1sK>6T+tmrlOz zDiowU(1%?r%WB3-*N|E&ss%43gKfCfSu9{$u=FA-@BH~;wmnB6Gf2+;fdc78{n-sF zw5KPx_D%=gH{|L2bP}@&{MuU>`Yu*<)W>u9G-3~KcT{hxcogsv9R;mgRMa=pn!Qqp za3~;{VLf(A&ZM&5C|)+|?0daMqzYLNtyT4J?{-XKjV!Qp?;C?%qpty6u?R}f#H;ix zopbhs$Z?Go@Lyo5yT72~|D<|EY54w(nOXC<7Z*so69!&PlnqQt#xEXe>T9pJQ7x)3Rd&{3W1LE#S`(?LWTUu>q&ECr>gvpz!PlEHXy& z;tMU9Z^yPfS+vOI66y|N?i+wr=EV4aZ!w-6N7k#H`}<%DlS*jtX!H3A%)v1`xZNlu zx1ziLTVIcIe$0yb7UvWWs3oas~VhuK=r9eIF7L(v9$J3qe^C}%sJb75x| zd934`5z!GvxHj|z0P=hLb|j{OLq}$fpI0RxKo8E*f$cdiIkP~5b>LM1NVVD^+!VN9 zSNah_qt09H-iJiWkw2w09Lkqhn>GzOhjx`Ih1j$^MC^m}fioWx zL&j3)ft;sNVk+Jf#TaWJ;5*}n2K!zABJOTm@O)g zPJ!$bj0Ebu(#0YvmTKX)5=JXF>EjZHX!=`&*TXmPY5xo)6XID9$r zX%`&4n%hvu{jUEn#$@JCi-^|mE)YOJ6TO`nxZxXmXDI9xjg4wp|c19D?$1AyR*I)=N%K9%?BWTR6t>C1J?|zcwT1kii_*pJFr7Jy^kNF(8{|R7a`%!G3-iboiy0i*Rz9 zkM@zT3JOHsw3gs0aQr)0LgAf~Hy-JAmgOqO8B;8}iqBpiX6t1>o~o#fRXO$wArX+m zmvSZt@F~laM8L-pTB`sg0XTc0+n}5)pwq5Q@#HS_wL5h0V(D46GKO3H(d}7>|Mntl zR=kW|;8Xp4c)a5W=hnlj6#zjK7SQ(qjSEkG^ypC};nX!Y_S*jxvng+}0PN4VAknK! zo-i?w~Sy!{nlHfaTFUZQaE3hvtHLy%J2 zA2lP`&{hy!j%n;TroZ=Cgyr3 zx*J~cMI)Ko;fMekGTDqOEeDQpMZ_zchCS&EERI#VIy`CIDP+ z{4|d`=$lCi2h`O1j6DZ_Y5yV}U!DirDv&V7yw}3bpY-s^A-WPQot$Uri`sCbt68vn zwI=O3UfpY=7ZL`@ftjM8-sYe@>M-Z3EVe0_cw zj(RN9ri3`%;_c9@V~9?lN6}*6{H<|6>*38f-HBS@dto(X$k-erD6nB0snvC6D$7=K=yP`Uk`b#M849 zh&lJ6&k>ZBW{IH#Da^fH-(wyBcg|JD3e{&L`gAzxpa>8ZS~wXz!o$@0yr-Wv1ZQ$^ zin!z*CdAO@$^rcbrdIc~`?RZT?CgT$7!t|?$$;5Rh`BJd9)Y=k0!-NMs`I+PQI(ZqEuh4 zo!X1j&o1f?|8}tU!Dzemw>U%26~FQRIrLrC z;eSSAe1DS~yA*7#N;TKE0ta>D!GEO06jorORIa9F#_;m-5VX-%-s~~?+>E(eiC7CB zXRy0^`1UF1i3$$oECs}4{B;bVvZ}-LnfSeqLJ&Yy6UWgOswC zPa8tR+0I+MkIPd%3@?ZayMdv@z0bBpUP$md<$#m~F2zkOo1_ar<9^h&BS=Y2C~htB zZr4-pj`t3{gMLTH?HHB=gmD2jiLzXbqF=)wO{3A~fvaLGDJemOS(7You;O(btzc}j zv21>@o7P4@W~f>4M4?`A@8ZDJ&cWv&*Z6jg01GyCvye;{8$9g(oCm;Nm2E!T;K=OJ zsRNCq=Q=yMdSRHlV7AjP6ta3`1E|3KYsUV|zFt4hklS&0h~INo^@=TJVh5BQPumz% zxC96bryl=&8drbouc@xz&eH*ewPZAcUvn0^s}O;r#&l*2gYlt2SPek~D#VsUS16UZ z4!}v(!dpoxlay4wJ)(8WV}A4n0$%`EDd8wvyd?=rZ}u}hC%>H}NV5_{mA0+)sSpbY z3{1?=m&RnF0^1W(s<}cSDvfS$Dc-l=o%9Q`r(q;)AO91=B401!3qnwg)~YKhnVG`8 z1S;iJ&V}QM#fI!H0lxKV`>4oGxL|v@Q6yF1-u&Hp(w8k!+LzplN@kx6T(&q-`32%| z+1X4xZ$Z%g*$hPzB-iQZYOkR zn*K=Zs`Mp0JMCC>3UF-yE_2-occeJyQIe99DD@>kJs4oyoE`_gctX4e1kIqJiq$C3 z`e^Jg8^c{B4j-;`&C#ovkOPvRx_#mlcNHTviqWY0MfVxyh_e7Ep zOxp^&7*L3wKYt#=%$}b311$WhtRK9I=X;1UjW(yL83F07njz!^ba44$RzB<~C&C?_=C%nGAml5BbkWCBVx*MReB2Cz z3arntZIUOHXMX^y5=nGWT>~YNZ+Qp^$dG64V14C` zUhKrBOM%wAxNZgep}XSeS2{F5H<-}3yW#NN2-TVM?-PcLTN8KaO-BIegnqsl6u*Lh zK+^o-3V+;X=!R1jW-u3mcW90Qd;b?8D0V@EO#pc~evRqHz=VS_* zeUrM>Q-FQX9bmb&Hz2Kj!v7Xu+?H3$qLL7}kx399*yRyaHWas`C{dn1k~{yQrx4KQK3z$&iSk*S8he zpSpy(g_8@ksDT8B65hi zs@*Ncs}6Jf{;Gf40L=3u?|PMOUn4)d;jW6N*S3Dw=xM+S$eE1d#<&3V1(BrSI~e?5Vl*O5|n#DkOkFS^OcT$RS*weHKpqhmeJ3cXg;UZA{%wb zn7}`{YVCdS#z=Q9AthB+)U!Me-WYzu91mk9(Y;Q>e?|V=M|eZ)wGgBfLg1kFmFED5ugsgCHu_y;lH z`UmrGzjpsNgKe!+#vJHBBE>ETe4Zo=m(q=`io3dF-;em9vW{%R@`!B7THIg@JUFG9 zkH`PMNP1x4jqobR2E|CZAAEm)^v(2}Il*0fghxr?9|@ebLuB2-%H;i-{@NyISc{Cb zD$s%K?A*B?$FjR{$)dItPwZcoWYN7Rx6b$H3x5F&S7|Q*Z}bUk#pkOa_WTod{>^!3 zXn%D4*^8mdmOBoe_;r2Ft&DEPmaqSci(la6gUJI7pX!^_tLjRyCOj0-n!UiF8D9U_ zI2Ns)tjj;oqS5DZ*J7}6^6y1s*r)j!y0$-{v!E;MdmQ3c(6}-wflX>9-OS0CyeEe- zo%|2i-wdys?BV2M-zW$jk;{K-dVfE-WJw;1zm<{E6a5Xl$$tzVaVo!rpRW{iCHtia z<@~_w>zJLJDIL*WD6)}z_*m@fYg%@O1a9SbJhzUUtj6igGcxe<)1nv7o$hj+nJ;(% z9UBoO9x-ay$pKarTD`BjOuMA6;IceEG?E8RkN8`^{*n$@ybbJzmF_!fHPDXx$I9>U zuofeD^FPFS@Zb1Jh@W(rVzh++ru75-OJ55E&A)Lry&1Kj>0rfGKZG=~X>QT%Bcy^y zv1m+X6=rY#5~tn!Z@&5Rb!1TSzHT3xfU+J`Ml+wIyp$7Ta*Znfc-D)_(|#iwsvQX3 z{gUdBj6?Z%5CXkQC&RNVin?dAq!s3R=m<%{SzcR77-r_C)mtg0kWu16;E8lFF(owA zv<(zF^`9lHl@S{RY&=kx)u@KH@12Io@z`5ksA?g<$H&vFUw{vk{vYfS*{(9q;Hvng z|9}SXa02@)L?8bs<57%SBOTKD#^*5fwe$V}axiXOXh_*^ggE{XJ2W0BycAODZ+pLY zmCW1$p<}foYk?T=-&!z< zW|m!!e9n&1jwRyvFo)|u1f%eVVfdR;`IXlkT`^vjUwg&dklwE&S1)78JH#l&{G4wc zMZPH^GHhjk($0ml3;dDvc=7GF-J;OqR}@!tPrIV8p%}y^Xj^bsFlrVg;eR2Q#6F;M zb_M5P%)f~W<_@BVXF>CN@5tWLDp`q*d zX<)t8EnokY7iUnUD`;}e8o0EL_6{dw49VGDu+uuPbW^r4CNtnWw+uRg7^&Mke=uEWCDkQ;Z{cH{ylCC zGN@O`jW~0zYqsr$+l;dj*D6@AKQSM>)E%PX{`wjV9>rpM-1YxIdxSo^<%H?A{)`Ex z9=b=N=eTt6jvKesj$GVv_12TS0{v~iMA2RU608vWWML~+6rON7Rc|9PZT3-&wDn0B zy>7jy?RpM*0d)qq-0pC6{+uVaeofKA)A%>rUJKg399sK}>kpT*?in>W#j_u{a_(rk zXe535&7hv-$+);d_r=b!)p0(Ht#n>)A#CWx1u@K#i8nngwW0LKVQk%zl&k|>BazaF zO&*8$u8Q)AH4$*=VUows8C?Tg)xpUrq&D&5qu&VxjYh8s5;T2hWy6V|KRp)9-;Wws z;G+183gi4)uXzIU#Kg0B*i6A?Pz3MP7Ep`B-C4Ovn!bfK))^%!N@-X2!z9XbO$vyH z`&1?(5D8N*bE+Gn>OC6GfkycH4I>N**&XZGxpl<;j!zg*bC;n~J)LIsfyFsp9(w*& zFDA8|(tVF+W%1M|k zPdHTwExqe+PR?cbY)k+2VOwNFnJ|hbzI^n`-tG*!0`5*?rtQq54UpXE@Gjm|$4}Ld z5Ao$~R>0}mX*ura^||QYz7b_U;tb!5i^46*-L&Y#dy?m0|AH}lzY1BEDxJA3hizV8 z7}j_TK7WvIFP2yOf&GxcV@xLVuhXqAW*ChhlYyw(yN@51s3%ONvNI^zJENJFMda+( zGSo#2=X(G{fA?s3i;RU_>sdUA6lY!DJ6xEjzl}agVkpk;#;S*mh75X!Jg$#wmdmmY z!1n#xC5r-AiI547Be5?yY?Pb$lsyK%63bEgn9=eTtNkRd`yuRj>e;-0q?NI{aLnDl_?I|5%MX)V<9m8fd~HR*c}ZQpF&n@``FRA9*7c2!jdOaU z&F3Tl71=t=2n4U`M84o(KDILHCMG6Ai5b)>mRnwx5df$yh{s)jnez>9$;h+&iuv#sw`=@p7qX$y5Y{G2N!0C z`1V(|BuO@5JEXwdIwGl;%|41XLG(qS`T& z{zivMAlBi5oz*Zi|1BtZgVrjqPQQ8zJL~`zkh{}Xo2S*;RgGW}LQSfv4ypo?(De#@oSX92r9Oh>eYn;C5qj`K*mc&Jw%0@Krbc}8V08**G0U327Y_9L7nmM*LHka z8aAWmWmc9YxuO@7imGVCq~Z;^xu;DONBnot=BvT7HUY$h8uhj`*D3QQ}w_V2dMslUgFTITWs%~ZhKhZbHU5I2HG^^ zYCA6XCDjgMc?LZB(ev2!@869@WB)ojg@7wEliMp2A=x9`$Vj60e-O*&tue*0>Pr%fGDhLM~Txm-r=R=(9kvqt%r~H!Vd4 z@ZqYm2yPNm6Qd!tvw|;PSxdnzZ}EYf{?f^^?34{X zui;8;o6C22j$*io%H(W3#izWF|3Ae5DI<@4uZLNlPSAKyz1q3rp= zTLMLW3vu{V@e8>j>G#Prk|8qK9OFE}ee!D|s#ELSG(!qCmHnEue6#LP7c}*y&jCk$ zoV)8CmvX5ch#jgfcG61c>$mbTstC+4tlYf~K~7ayOEb}5KXTFMkP>g#6PZua{owaR z*KbifM#Q(OFmK%Y2RG=;Ijqx@=XRx`3ccVCeZ%PBncDjaS?`X0!D*J%XWc58xEf1b z%6x$Z7D9}29^5XKrI?yFr>S>QMv>SYCe1JtlZFca7ub9II$&ZK9FFw?M7~xcX`yK` z8n(!67rPC8lzCf(wT&0u7?BT4RC8j6+!E#Zs&Hk2jjq@@3O&#J-pURexT<~_4nan? zG*!}|Nn+*H!<5pmk%_0#1`u(NJdbl*99hCvSL^Jy6zl5Bt}T)%)PU>q2U+V;2II|< zWATvVT1jH6c+{?~#=3m#vrfgyT@yR=-jok62qRj;l|M?uW{{Nkr@YRuc)6I1t?tl& zy$+001HsL3dN|WEZJoOcoUraTn}_*$gX`pr5(#bC;$q(L;Q-MIMn6G~g*n51!m62@ z4eD5XS!;7EUusr^Te&wv(u_}7l80fTsu?{QeWM?IcZPB1zh+n!i8#Z(5!J$ObIrTA z-2#mZP0+Im*4g|W2tti0u7o*PhspleO?!_P&sZB$XBH!|*VIYEyukU?iN_xtz8EPV z0Tt){qR@(vs|*pI9vS+=WBtX7-KWTbW>gE*t3gZwy39dLFTYoYVS)8i>Nvo$dFz0#9Sj-_CAaDBHJk?`GkYbDlpFX#loIx0dVi;&R>p}WT( zzt1m$zH5}lk!*Evs{n{8%Mbdj%b%`NrWfV+)!tW@JDIBKi-J*7cAQ^NnU^hWh&i*G zn%eg5h<(NC<_XK$bV+FO!jAj_YU<(8eA4jnt~*DK-EH}1y;$Kns$OA3JjI*Jk63aK zbpmFyhgIHX)DJb@L9Lp4Xq^Ob$rLr9VM)-HgO^V0p)Wz(h@-LpF25;S_A}om+f&?A zT$9ks{HUmc0?bi^*%(^XK{_?Q4=H1wK`WPd>g)IlR7PImYeA2&w5FV}WJecPQ&-0-q8m=V9s#H>INN*7>W5k!M<~i2&AP#| z3ZVjShya>6b)-W0lxd}%nD;|1QxGGKW)hH~5|rHSIS~vr{c9~RGccX*4CCscrV;Gm z)hj5Lym+hHa8x^%shn-056THK?Gps9S~-kqqREEbMQ|WlBkyK^OLgll-><4qM)k8L zGX{sAimsRKd1RbxqQo)79t5U*4;PvQVbN3S4JW#nIjaMO!S-ih3u1NhhWF(VXA=PY z!M*Q*?gwPxLZIE{9(h!fONO}yUJW*r3tsRhsGJvi_b56{l+0DZ*VmV%a4Ah{2hdrbX8xz*rRbbwWY>Wbe2@-UG+6o;>Db3kFlF+1}JR`Dpz{1H%0(FSW>$Js&MW9A)pszj> zI~x~+nvaFmO#4(KxOdRr&Pv_59a<_@Wgr_mUwhvaYVH1YhG=mZD>b(ua=_?W077 z4SfT-4=|XJH^>_}fs)a#GxUMHMxLF}Hw?EM8=(*JHhKa1f7x(vw*A%TUVK8AtIxp? z>-hq|rbYMai=Qo=6LroPxVR)U;uuZ)fWGw z(*uy{Lkyrsoif=cZ28a`mOYicq$P0iYwsEzfMU!)y<6`;zJ9TzBd#!<<@@$W63lS1-OAVs8mQre(hyt9rQM;3=_YAnrjx08L6s-fCgP~D{uU5>2vq9Zc3JbBPmjX-6ZX3k(pg@F zkk;Hau=)Do8Yyf2GoA@ND{qZ);{vXNN&d5z-_r@$xK-?raGtaVg$lDjQpABZoD7 zp$hVj*nRiqvi<%OKd3SA_qR&AM5cVcOE*a_?9SJgvTE;NLLh~XGPw$GJixqZu74IE zLy!c?wc<~&RRsjd9~o4bUx)K@e+J1>Eb9&vERWbmm2?9&Nf=wBEt2lzgAQOZJkU1M ztNoYlU^r=j1DWi9MIhc_{QA2U=~B=5CgK)3`$lvQg}}`lk(RFqfA@w{`p<(9J)&Ie zf-sl(0SSqg65=K5B7Fu3g-BvbO9Iw>Mv(U(za3`yk^#r?s}qOA-F}I7G{&gBA1!l- z^>-_h0T2<%U$m1BRNK$4&+JC$>oDz~5eJ^y8!IJ-$_yd%D;mtKYI%?~i z0_c}FM)#@7>A!-GYcK0jJmmj+cl3d%V=NBpQ5z--9S1wnA={u6Ag zJf1Ja(r>(H!oQsKtn5$s>)NSOzj4w<3_uGiV<;&+=FJ8q>Vt)~3kg=nym9xm0#2F0 z!G_Pt7+R>o>lA$s@FpL+_T@gT{+oApbnzzW<4>Y{~(731jcS@>@bn>YKj zrBj+N`~N=TfOhCJLkQ&Z{@-t6Z`%>iTw%|HpS#yiHZU)F*Q*6)7}sr@QT+hSBthW+ z16W+8IY`WTpS9Ln$hsWhaBTpg@%zx`jzI#Q)c?CM;+D{-{~>trwpIIoFk-kFxwRKJKd^#I=|#kVQ@lG9(8}8I02BjztLOfYHXlI8Hy$mHL+ndmB)v5U z$M6;pjE%5KYqWn-H87T2W6R2I*-7zj6V=zs1$w?4Ypyi%_qHGr2UytOVEq3bZgl-B zFqZIBG9Ji`4;F3(0c;48^zl%#_?-LduND!oXLi>RHZA{gIT7F{hwTJ+4~CC#;K1AN zGVx`DQjkfz8Jn0J`uAVX5*XiqIY8idddsRr-PlCM80+9aq0V=|fC&{iX_?{~)0BZw z^!L5S2CXHDxp_x7r6sD=(6}pWP6EXe2TqNb2+o9W*yWn7g zE|Z%)lz#+pFz>ejKbdbr3pE6A3cx2z74$#h@H?Wl%;>TH1Frm#j(%tr`smmanpY7q zXstBVK3=0MM8IeqSpP4)3ccIk{@sOWL>L`Be3ncwaSibkAYGG*V1@n}+~oeOS^&-= zduwPQS;U<>%^MnMCSUO1!;tG&f$0(L3)(>b;s1`!Lp*u+Kd=p8eE)x-7`{MNO(wbJ z)q}S4zvUpCEtC5XbP(`2OB~B{vw?B#zd_e|C9uNPAjUMit+!+0Q@y{*Dmq6x9xBG#b$~P{laT-3 zN4>Av3GA2%k(%|XGbcJE(7ov+1pH@}Yq%ChBQ00| z5N`-HiM`Iqa6{dl!FHPmP~G*;6^akW?KIEG9vlA+HU^(g6g2J-yEWgIl?2V~I|cZT zndQ_d>1FfvnbG~Kr?nY_F*56E{y#8N;8FaGnUyWzx(%rI;?JjNW_hbnCI~D{oavfs zgLNTXHn)zPIqKdEe}A0~gKeZe?r~j#YFh#YJPL6EM`Xc0IXZuz28|ph5Pb8I;jr!- zKRP`AkwMRP5zsEa4S{jKKNGLXc*N{j_(9s05>(I#A}yL2-uYulH~DHM^2&^^1oj~d z0_wqgfJTOTV+DDigBmIw)a|>zK(M-D3D9o?eQu}KE4(0OILJRWoj3}&cBcZutT}Xr z8ylAeNSWvON#OK;=7y`nS!_A4E8*bQ{^95!k)qo4fVl!!`rlCY3^yeDdJR8>w9dJ` zRs{qa$p1RWQDN1FNa30(!atEUy}K3`MG^E&ufd_lVnw<^5>#mI&~|5fniOO5x4s&l zcS&^T;v6K>sb0|lQ z7YlgS--HCKVRt+OL4iwF}D1$?)jsKr74rYCkRQJ0Z^y&-m46{imX(D#{B=rsI$m! z0X_d8%f0ZXTBv_D5S8NemxOiM<5pdK2sB26IAmBC1(4-{6w#%a;`!IDtF&%JCV}R! zZ%M)z4|!wDYL{1Ch5YALNHFhXcBMe$&dGnVdi~cL=2TQvV6_XSMMCJOk`_XvCCiY$ z`pp^1-UaDH0=Ck0QilN#N=}ql;Nbr^Of{&nME|6e&V{V%1Zr9Z2e(y%3Tse2I< z5(YB^soy{H0WH_Y#<2b$k5#}913f%Ypd+|`l%Jmu2vTuhN}z1x$HssvQuP=495xOr zjvWqC!$nU zBImEKTdf_3c81zv_oLqG$?J2|czNoj`0u<;*P=(MS7-ItFpm;XB!K7GA)Gtys!oBn z1*i)qd<|M%Dk&ec^JD~Xsbnf@=P+@giJIZ`(Wa+?9PqxnwS%0kDlirP`#2HMY*G^FlnsQ!;eD9dDyYhgx>)9f6&uK+S$34jDGRgjnf^o)3 zJMA*f$jVwg*oGwIL1FSk27_vK5L!8Dv4U+{u8jvMr)i~{&XbHKLiUY0oY`Qme#>9)CLNoIITB5X^E$(JvC_%dji;^zf&{rcL3%WX!}Zl%Atk*Q;52z zjNe}rgOzsw?aH4|HT&%(trghyO})TYsj`f|Y&ReL-UeEQZ;JG~R1lIqZtH1&lvz$k zjIXP}oqjAl7>WN=@}FlQ`y?a>hl|^Ab$r=ClI)+rq^e2IS-2ThnE#{%uExoviHn6L z=%&NJ&DHwdCfVK1)TqEB^L0}zwkure()q!6XhAiG{fqN`_Y3Mh-`w1+NQ(pMDaxeW z5xITYoLTH*>U4mi`A2GT)wjY2ui=}LwxaWaZu4)Tv6IH*kdmaq9>+M4SQQwrwXNhv zX*F;+5*1fAV!Qc8=~`X?b`Z04Kr-hLl?5n02_O*wWlH45=>6nisN%r8?AcW0T=u0t zk5rkDj+DsGpmcS#j-*XF$5q~*;?CfC5fl*m+=@Rc`)pV2?KN%XO}Gvif-tD*J*2b= z{{Ae5eI6p1!y`9?=N}c0A&Z=@lM)1bJUTPXRRC(y^B&E`+Y(+lQlZNe_0~HBN89Me z@TDs(EbU8w_J}?ZI|WwX&2*cogO95-#Lk%=E0C-bhD7x#SAx>D z5bMbx3?l%Y)5x_vpdEeYf<*GN9FQ9W|YgzwbT;spSKmCEyzylLqkk1OHd)A*Nx z$E_gm!fWrnt2!I`Y~b29Ixq&)}iD9X|>-m?Fc%l55cLI2ver%KCen*smSEP2qSKB-~t{?R-9J zx*`y8WI?H$T=uAimv~h!x7@s=h0#amyVJZlRF8V$XjI#a19omFVapq}$95Ms_ngv# ze&=FP#}iLiK#nwvxG`G-ltTlGNLK6u6+7+q$FdR z?MFL`RF^{;caufL;~76bDw#GkL(Ni zhM-|%WgZv#u(qS9mO#VS=Ve>xPXv+hG(YfG)2p$z%!!)BY1)%`4l1L^=M9Vzhv==s zR>DN*&+jGIGwLd0SunqjppWkjb$b2>h7(#Fe8Q6h-3cRgiYdOkCEs7pwmWN|GOcU~ zz1HH!oBesMW)4K;A$}N$z&#$UIS%J3KTONKJR8qA`Yy?8b09+EGMi92W0)4a^z>y~ z*<~MNuhjH7|NNZr$#7Ko7&OK!W4ll6>yP#;SK9b9E!sQ#N|(#}3mS%WDrxbw_Rkd+ z9hUMh>)guQqrlJFt_-+%N~*|x^W3QBaoOo!8NJl7pK$d81`2StwyQr^+}unLHar>4 zHStqylf`sZ?~(9hs@Q2}=DX;Cl{(*IAso4t!rU(7HNCn?M^|9DmG8i6y4Zd_%97mf ztkqK^cy(^mLA0?3J;tgn7iDRD%k!kG+u`%f4VZP-^`33sw)N?cnbe%L2N-KlJ}(!m z5k&aGFPslH$4{A4lR`5#*LtPOmo|nq8(!t^tC3uu3b!^k5a1R4Sj;@7vM`)lqo1F| zSMb{=iO3X&r?EO;?5u9GjcRc)>f-Kut|#XHSe!ntm$}Xez6lhrhNmNV8)`tZB8wl? zA}9~LZPSpP-y!Nv30Wr~JwIdKhLtvES)mo59vbfctluiVYm5{iZFt-lQ*8FyietDQ zPW-mF-qT#fPTtCRp)|pHS+$^9sOC~;qOyAPz|k!tH7rMm4<{=qx3EjfP)?}&EO0(J z9;3bX>}P3&+wMg*_8RLEpMrhLiBSC+V;mrl^TEkFjc029sk6+s$F zdXzyjk9tsAtu2H39!gVpy{#iX zD!0otGmDFys`Z8aAx3+7MUBDXT=s`!Vr^LC0q10quGPrb2Tb)RbFT&$&v2Cr^*gd` zEjyQ1rVf7se>2nXj_n)xR<4yc&gogH@Y|E5i24)Ddt|~Sv1oRbF`ex;!~A_-&blO{ zdzRm{9p+az<;g~{15>@|GL%CsRjd})i47~i(4z|o@~>AqY~o9oXLFq$Z3WG> z7x5bcWz^%Npcju5<5D%`%6S9`+I3xpfLpmhoJgsujo&((PJ56XWY};btE@aE(ZAQ( z+jsSxb-;yT?@%tPpfJ+?@)XWX!sE(P?Nm>KJF2D3*&F(-o=xifJmc3mDH8lN(6-NX zJ2-!-%2beBJf&S;kbBhf9-No*39i23KRxCG(WS{F1ydsqQ?Y(o`or4Tz%+k7%*6R<*x;qX||s zsmijmXM*QHkmQpF0euC>xG|7sjHf)*5<-N}ouF0lvd|SCZc+t`o;aY+F93#Yq%P=E zX?bXMxVv_h$}`4}gU@m0`tHrS&lCY;To13BE0c#Gm2GcqsNvO@h`vGHpawTjYv4gJ zdoJ(2Frt@7^AoDrPob4;QK4UIwPv;gb?O;vbgg#Qwb;z{qb@_X^x&|t)Hk$rDP?yg z*$RzCeO{+S+nOgjYAH#>^orj>lPf8>K(#A$5TCPMM4$R@fRy1k<&YTh%-sWe>ABd; z$z^u|=n;k=;YnNcpJPOG4J^#HMd}cAGJlTTx)QsG7or&Qf`o?^Q+U!v06HL^7xC=# zc-%21YcTzY39mfVBiSSj(Iwjm@5D=mbN(v*LLM5`XP|W+by{p9)>b5{@ z1bh!*^?tW|K~&?kz-|xRg$b-%7mK2hIF$y{s16A*-A-4%c73N~p{AtVF?m64q0FH@ zo0=Kc+Yx3PYA$OSSuYMYM#&N^xrmtS7Y52lExR=B95}wHky43+)LtIUtU0qV^wcma zVK=^Nr@A*i?d-tM2(_-I&tEF9-=6Op@?GI9d+5>9*Hx}PlB3UO48EVTvahC2}wF2w&WZ~hyVS7~l$`*67!-mRc&Rt{O@o76(1xI-B)e0GH zO9<+ECXLrxckh~(r1B#DTvS>u;iEvQUOxHW#?khOAm~m=MA6|vl^=`gbc6?p;q!x; zinMsWXKu&5Tk{q1DJ~aniSF)aC8xWS@H*is*Bp4QUrDon--uJKu*ODhKQL#MqY=>a!td%1R@)j%1$ zv=}elyQP}xHcW5ZRJ|@gJyo|pn49}K;!Ltr=$GwMVb$8fJD{3UU(ZW~=OA%hq-qG( zB(O8Ad;{dbHf7{zacVHZPgbqi6GA?~HPgcCE1V?KE6zU~a)bCJWxPV7H+5JZ|6yXfBh!CnY6|xN1Jn$S;1F zuc=|UlOk@rMirL>j((m1zR1?b;ya2BX6g&(#K5tZdiBl5Re?(>Dtzgw=lUH%uIw8m zzwv|dK3v$%iELuXVH)+qZ5z?1_&x>leS|+=pqBj_GwvwgP@9TBaY<1A68zgyCpBl2 z+WI1zFD8rq)qbEZ`{qHJ?V5ZNcV7Rned1WeVDKhBube?^oKbtI(PNFritlBDZ_8rA zf<30U&hJn@Or(b0{s2LcfSzc&-+-49ekiw41w`Mq`!@|HNA4Q_pZoo>?rDTCX0Y4_n#28n6E;kYau;y;nE9kbdey)x6}r_j{EBwCYRFFY1|r!4a@5J2-b;0y*^ zQW^Hld3*PK=Jdo0b{eaz;(7-`5fNGB&2O}a+~>`Kr_N94qY+`f>AF-LBS^@%Ipn%A zjkP^vRUbCwe`aeB#8@WMwXi^Xr`zo)l%R&JfJ5yUV{^IoXul$~9VRNW>{l}*c!7Qw zK9BT^V;nqsdIi6}R{7nGC)#@?dF5)fPr(|OkQn$lM=0zb{J@^5VvrAq5?uLFFJp*$ z1?%q>(g;#Nrn>JFCQE6L^bp^_G%S*B@KHi zd9=Lx^s4~=m8OI~%<@9Bwnk@!yXyY9g=ec=InutE2s5P>{C&oQy({oJp9i0o33XKr zuwHTHe1tzCkmKWYoSv14*&6HBqljyR3p(4Tx^$;n3#3F!YJbFZq0_yqE>^04RVaLz zc#$cZB-^(9+KDo?r-}GUBleTIm50Jpo5yqe{M9HCqTeuA!+b;I@2@!i{AI5GRt~%+ zcYJm#+76juP|*7AXPs_X0$y}p?t^W=k+4uFM71ZS49sKuE$LWIOSR~Dw=tJe4|kqb zV-X4XEjf&15|Vj8G4-xDY_(6C@$dJhXgvL8nr^+F*ypuUhQF+J3lApY@G2|#2~+4! zmS=9boQ+Tkv3YaZd8a+Kcjy=RH1E0b@&{EWLL?Y6B8nO!YZ|kxsdsjs%akLX_LYue z`N)j>g58gY^D-xOGG_uiX@V%*#ZG;PKbBD=L=XM^ORlF$0&VTd0?$;{MZ->e68gZO zGlk_R_1&YOyOsEUteJ-?wkJD_k5UnZ>)5@OhWi1N44GxGj_8VGzpe}_Jf#eHWEe!l z&hlfJ>=mNntFW{A{iC`pcHJ&FR}O?2`EYx#K*r84%(oU8AFx+R?9Kn^d5+VelNdxv z(koI>^!X!mtjfFY$7bA}>>)Bfu zETyB>cCwwyhy)Fi`a{Z;Zc%SoEVW1uUf*Pfv{NXV1u0E!r5AEw;Dxij;VQi_7VaE| z(N61^)b`_s8kBXn!&ZJwEG#U}ciFM)thN{2$f?4Jex*pWvz|W~9e;Ees?t@;k+~U0fQa-<4NP zV!$*em54=2!PrOy?*wk8$Ve403oH$CG)l&2zxq1jv!mA^;=Z*0danDnVVh;cNvQhW z>WlEN3UNVyUb!gA-9!Qn77sPMv0z9BUHNW=3>u3B|^&U|RXAJyxrgWUoOTQOvJa{@I!VJg(xXiNzAi2GYg}JSGv;3AOEI=s@o6<=5l>Dn%IYOC zJ@U_EWNKyfq1-eeunu@1fq+Hq)a@c)-UENYE?eN&H0t+baewESREjCZ*X2P$N1P0% z1V^D(U}NJSm7cq7iNn@`V`frxB;N1?{b!q#tizWvxqaV%4f_4qfzf!L6T?nbOupn4 zkG#8gV7M{K-8WE*4#PYSqa5+N=c{&FbPLSTr+%t6zQ|z1ZPDQ+38oaW7Kd9{!>2Ci zlG1ls%i(ArUQXN=#la%2c{}5;bn1R!`Jp0>0{QDy2^x00mtUta+==7xbD(AU?P!!$ z8O-2d`XDX7z|=`Nc3vZb)RYV95^mkQLaTQNQVY?tZv*xatDZP+X)EMj?P$9}_7u7@ z=vd6CE!Vm5tYsu5l#%2k5o}$JwqoUk8!|0==9Rb{6IfZun$l5Y6hbLoNwZs#vG|9_ zScrlQDU)0HO$GYf$GbJ`IV@~F1$=q&hssm*uXMz=fIr9JBdlnA#J3J^Zop+umao0j$EOH7pe zjtAV=-kzstHt^dlWqAJ(h?WH-GAB#zd|&15br3u|_4Vj3;HG2~@a|9wq{ts&DO}MG z!_=>Fcr=%)NPP!;hs4wLtg<|dbZiJ+f+-D&`qdVJ8y5xm{4;^ug@vR z4%#9Mdoap)r0huULrW318A(1icoE^l_J+mRmBQ|*_5FdjNP5U|5Wc-`AfJkyPAGle znO(!;vUf*9>aHn?b=~GIvqY5XVKwfFh-VC8U`;(EakCzBQ5?F3Ns&9C!1n6oJhJ<}SMj5L7qr$w!Pi?D?>p^N8x04<@gH6PLc8z&%}RG-Q-Sdvkj=do?R=vHOT4VQlpW zA{b}V;x>WzgQ!b>Sx9{2T>aWJijY#hhns#q3Pe7ixW!DJ@GPm!jdF|1V-`kh>@Mx;T*6~;+k1s@<`t?uf}zORJW_^|y=XCe zWkx=5mJo`B6XH>Sny6~^7TAT8IdvlgtlR@RmMeOf>0@`h5f!Y z|C8&J+D^02q$Q+$j{f8Lv%OmSRuq_!orQGMRULZ&=c}aZu8{%b)Y41$<@Y3CJtW!7 zbt`_Zs!`l>V)5y@jo9Ezp*LLqoi*{$e4?SqVQ4pyyK9QCOktyOVjt0a3s10G^Pn_h zyWVgqzb=gguD^dVUV&Fl2IFDS;9(f^y)2`{(v0h7q5!5AJfuZf3ccQjmg2V*%i^YQ z?y0c`h_^_Oy|VSZ`uC>PFToCNs&(y8-dq;Up*7Q~Anjf+e@_0yx&7TvRl3Dy@}wu9 z#4S>c4LX9%F(avUtK(k2*VDT;tGn8q!|u04rl-(6+>SrbYe#M{@zh`TjIzFeBMAF7 zMgsmrJP##eWUwfQS)g!b^0kYpL(fA=sqrSYyi}%oi0OjnZN*guYVU@&?z%!y?z43g zS7cv>br!J5P|hl*?->?0Bh;v)Dq_x{x7i-NfT4J!^_-%r-fYF!T+P;3#Lqg1#VpFi zF(q3bO(G`?qR^sr6>tsk31lQ1q%#2L0lFB~m{PL2KZ@0 zvTw6^y?XobH{#-=n3`vhy8*Zb#S+33dGb_Ha%G8@__C-#R6^n(9@vwd@{Inp)U5NTZXJL+2#`R8E4;ev?>M$QiMxx=L zucPSqhJdTNc<)pr5ImNI1Sif@W7`>b%;(!*@93p7FbeX8zulxyv>?5U6`MDj@jaCJ zD~lf(&=sk7-}pGbjO&2mUAr$_4HU_4E@ea}ulu@QR>(1Z_J!gPpb5&LQ#W=Yc&Yuo zu$kie-zYYcf6g8B&7iC|Jg&UHMpAh<&n=<+u!6TnNE|crLg=l|#EDtpozfS@eg?R?|Ve$nE>>(W~Ew&0DHee^)37QL1`X$a!cB z3xhXwoqtnhGt+nr;kHlo`NA83f!e^TP_DT8zZ=gfwzO%>NE6T3?J56=9I3Q8qfZLz z9c7v&73Xu`JZHxarQq5UV~SyNwoIoZG%Tv`n4yl2*}8cM@s7oJD5qFXk|FwDIay_pm&@^e9l?d~^-A;m<<>1E$;23jz3Eua--CTOiEOuG4;bG^iaHs! zZTl(}tqH6EpFrc@m-;h0s5yKF`Cf!n<`1JiFI1&G9Pky-PcI(BL}+3}If%3m)T|x* zq8@~8jQj2UO3(;=fqPXS$y#FFd!YKApRYj9@`8;CzK8qCaCnQ5DxO)-XqwC@!#|Qy z`JrLgAUEe~+YYmi7#oYCY5B~~>B_vR3@(|7BUKBQ~l{juq1Tz9{f!yAy zI=5S}=R&6o25%*})90zME*6l5?L{Q)sqEFh0l(naD-)qOMVuME27K+8g4G%aoFPT- z6+F+(xXf(6Ht=Dbtvw`f;9HfVjuH)3ypyAXRHM#sJucPdqgdbz{DseS7p@Ih%R0eg zryqXi)yWo#8i9q6+CMnx4_ce!>7X`ud%whfS z^O_`*ve9t7uId2|I&`Rpy8{zC94|hSzngzjPczh3SrSoH-*E#nJ<1Bc9 z%|`_N2ivwLYeLJ<`-Lx+WTM|fLkMZL-hx5(WB#BZ!>fh6;Z)8Y2>9u4DCCJcOr7IU zr|1vuu8c@hUy|8RoGYVc}8+L;k(FZ0wMO)$o+ddJdQ#- zwc>Y{8o$-zXD`;Z5_8Q=(7&J{Zz}?p+x6Xn8_UH~WPzjXRQS!=!kJ4SHGk5IIUPow zFAYiub^12fi6m_Z&x5yE|BoeDv>$2c%1-Ful=CzKLZHjlJLf0$#@Ynlop6!}Z= z1@7wIj)|f!;m!IaR2M-L~%bFEHEaa|am# z1uocc#&I%KQSXoaNPY&S72So^ULK8u@;-!m&_hr(v+uoocSnb;JCNlCoiN4eV)JP| zZ~u;h8O$>+u$`V~SqcQSwBUZCYVt?>L<=@C2;rE--lO7^@caQhz!@#|bp@btXmmTc z!xrFN3MKyAgxMU7+x`?m$oG*81~+&o*Mf3n@reYO8KNF| zZB~rrIM>)jj?o+zHBEaI%Gr}Eby$8<4nO%ua1uw1rC65o z2GPd(N91%vDe)uiTL<9*AGHd#*GtxR2MS4l<%fPj%b-O$A|djTVw|PNIDAI_Jgd|u zFjROTF=JT9jP+%?s|jCHGuSbLR(EAGSmu*OW2UpUv+kpkY381`?F7V(c(sLM>E2U% z=wmM1Qoe{cQPy@hT|~Ezq3LxT2o%EthsGatB|qs{djL$2Ai6az+~b$m!>}uQeOM!Q z5~oJ^mO;) z3843z>UHIE(W-la2%7AM=&Ubv#5f;~nu12$qO_{IGsNLi0_Pj0Cp}K}cYM5_b>1i7 zLG+r|w--J-2U9CymW!dptpLoK{lq?wgu13Z2_lNr(WcL*zK^EIs@ajIN{^{MwxZ{w zzPbL0i}QcJz*qH*sIM=S#r{wP)6^4FIg1-Ibjo=s*8?YWR<}bo8u`J^i0@0r6SPjo zalLVOdIP-PIBt>)bb<3KgVV@x?=P&`V$HJ#S{O!4rVyPQH z_lsb{yg2+L?|M|)IiMnl(mHztst3~hAk@xMk0t)3rzi?^|Hl35!EKwsXqHuFmi0Z1 zL;DitgT(M?zc*u?KPT)$e7QaO1I*a&glqV!e37Ebp}>4Pd$I`QVrFl4EEDl8-WNSw z{0DMy_7R@rr`y=T7|aNj zkViZheEA*uHi%3=6|}xqdU1;xEThM~=-0-)2VSQTQfZ1467AQ+buQF3Qb*LbH7FU$ zIG|++j)Y3jQ|tw{R{-!MiXrs&24U%RUgWQmQ+Z@e6dhetI|^1?#13!#H+JL6Rv~$T z?q-@}w-hA+k{{cIP}T=}6n?AD0P3nF@B51smx^e4!$_U)0OT@S>P}e)%EKg4IuenO zaGtILZt?Pw5S<31Q(9bj#`VF`7yU`wM0!6Hp!4@AGbH2Xb9O;~@ckOcO@XNt@cVx6#u>axQ68`*`9vGJ{DLG z_Zm(OKg3P@4rw~YO;jkpQHYRAaN{Bqry=uiDkcFjw#nIXaC9f7^A$DV2DX!wsmQbb z3QHMf0dBxzx%GJJ9no(O6aJx<5bH_F0puxgB!NKvFl zg+WbrGFm|7W>4i|9&S}Fg9l@9<#gSkNhbS)GWtj3XXYqbNWX zPS$z0Ymc5;&jUV5HaUR4TWy6t7#&0^m?dc6uahFq5X;CP=lVnX;p-(5j-L}~B`7q7 zD7=!Qd`^WsI`f4?y;yK1~g#r_C)?Pyg)8*@}{b! zT@E^yV;)uvTTp)^pm(E)?Ev*_vC1{mtx*z0DBg~xj#5z@VshONG@BYk1s5{!bK9X4 z8E^T*HpZrcoqAk%{VI_3+0B2AQ8&LDG?c5sTD!0MzEDaC_{niZ;ZlBgkkH>xcp4cY zgk;Qsl-Cc6)K3RF%QjCBCDbusKNi`HBa`H^-W|l&+r@qw6fghw-a`rz8w`Y{MLpi3G5%__-#{i1jFR2!2u_)tgjzRfl7i#R733oEM+r^OJ1 zquI9>D_f%C)>qeu5$cQFxAJ*7md~Fdg*|;5S=ai@<+v`)Sjhx9ZRTE_U2fVjIMzC37Z}r3Ra^F z1>8?`Tb`52>EdkvvD8i4bGPCS1U42FOv)^jU;nWa5}V(CN@l3DjT+3X!n zJ9LRk%jPWd@5#ZuEg3X+)fQh610tDpZVQY0k?EJ*B)RzVr?NDuX?{P==>BOD>=HQM zTV72`zjydm;gsnz>1Z#s!~dhr5O6h2uYhI9RIU}Lx{eFY70{bacwP$W0t6@bw%hR* zqIWc^al?*3^9=v=DY_@niicW*;{d7CS3D{5TJ`RPKn;@!h~+uDFY`~UcfAV^%I#@+ zp-#d>-qO#%0jtc)yRFxP??;QgVp(6V5!_8}cucCz%@HU6^y+L&?>1nfei9khpT2*B z>CM=gxI61FTYDCTsu`Ei_j*VaHiQ1qX73FQKHo$ZB$i(0?gQeW+uji-9;3yBe~+>d zmi+7?71hcnOJ<>LfFk{agrDiw47#~7-Ld6sV_K(`37neB&b$7D0OJLOT^Mc1NsRC* zwg5=*hq|Nhbg}o&0AUnAYFWr<@!atvZ`^bg&oWR~l6#C|u!V)3fvl~$e4sySAU;f0 zV{JxTJ#=x19rGG+NzB&oT$YsBL`C+;7(WP{KG3qRLjiyNH9B?+S>|K{@_Kts;YbMS zJ4kQu$IN?Eh)j3CtFC4EUGklGE3{q5-`O+a7dI04y8@OM;r|?|Pu$YJw_FKbkGNd7|y_+_vaMW?Q~b&>qGFG{8qb+hs_FE*)0HVzx}2sxkZt_Jbu} z-Gn3QLyPBWBLvJKNRLClKI1r!An?t{=hnrFwD9*pa?c<&h5+D{8Vna{JMT0h(f^SY z@)u;9{cR9bR+w>RGBmv!Okc$YB+wxdPa&U~aw*(XK1JziYv^wTis_dRRp=K&EbS9_ zn@(jAk?>#)399Q!e>+`Q@pyiS@Cqwk6hd)6PG|IQZzrf#5{zBSVQ= zCncd7gT9_D_Yk-KdKzBaxfc&Tz{HwV2#JO#X>8OLJjqk01HE_XPcntis4fn2gj-uf z@%6cqY}X4bASo|O>O3Kx(qVR4>$g2y$x{IyA#FwhJzH;c6E73j#;RTjEigh67+v1x z9Q&8Cpbl(u3fu!xL!FcL!aQ6i$+Ged0tC^whRfK1qx|u#Z)Z_g~#2|x=eW-)ViHU^lGc5H6V5R^1fL7S=0v` zD&k0yfwlC~^7L1W)zK)r%bo28e?hB^vK{)|2ByrJr~MDzDWigNBY5FMKz;>I7h+KBrJg=Tg*qU;C#D35fA?oIb_2;I+o4@KZ4=A2#PcT2bh|Wa?GtUyeg)PSV>%WUGdfRzG$`2Ds__@LVUt{f)mEs} zboGE8P-isIZtn`*Uu=1aaS9SOP_M{deIsd!CWLuszn$BcN~(GJ(4ezq@4PoYQikmg zh|NSew2wx>Va*-VK7Y$QV_RFLQyfF^EvVmI3D7F&Bj8tU9H}xGvfW<;oY)kHX`0xw z5ODH=?^}~W(1~>%Av$38K-2Qwx8aaYK$(1ZI>Qtb_xNfxSv6ye9WxJub&hr8w&yz8 zi*K*!*fjjoBbO)(170y*L?PK;I+r@$h2U>9-XGKkFcwq&vqzj`6O!S0ah#gooQsEP z%;X8q2zejLS8YCSj4XW@6u!p&&16H830g*ur*j<$l&O$>U*BsH2UgWg6x4Z5xvn!p z;Xlk9^s2+P6z1Xz0R5G2kC$83V9f#x)<=0ZYTf>I`4_U(WiVlTxCU-HQ|ZjfBE|iL z3Ey_o!}fH=ry~=S%C)B^J-T7&NlpNTcKc3t;}4dP&^}PV5BKc zA7IYZwVCV@1qV`UL$4)mW_aG@wFuNL<2yx){WkmcEqhOF^v$Qt2XC2EB|Ec8OJ5#< zO_=o|QtGED-GaFD$~`gsUNKC`TsePXn_(HdF9BkwL6vs_$c-^UUZ*l>@#Zg@MdQuY zpkUB>m*eNY!KGWYw*;M%cDtqy%g_yFcTe4&5Bj8U!CdReo(o^vHywfIC0>qq0PsHw zfPbwILGyXxjAiKlLAm;z#GE!7UkbfH^>^ts7)d`z1qlHGb&8)I7%T^ip2;`myi|Ws zU|!0&3GgL)4YU!yc9i7Bw(^0!J{jJV%~qIvAhNd;P)PffL$ZJ1UdklzCEU(xa;oGNQuHn648vv? zM%|i^yRlk#hq}{zKgH2Ul#yH`G)3OVn?vf$Kf|r^7Bi#XVDg-60z4j6dlqnsDC2vE zPu~oc!fF^m>dl^IZBi=VLp8pk0fWq%sLNoo+DS;ip2kXLHbI*}rQqc(h>qDn*TfNG zRf$1IcWPhm=jRZ(|1IdXW?$I&OAdTXsshQ2t<4@^t0g-p!ts99{-xKQwc``<#N#hI zp%r7GU|2SZoTCz0*oopbeLI}<*qru#WGWYx>sS~!4>%4o{6U9lG{?;`f48kFB&fBP zIVt+&+r;7N0C0NXT2kd3^N?Rmmb6t^Rn>g<95hfbC5&@&d zTjGH8)~>M`C+?J3N|4!kh{;D8eeOQ7EOrzoohKj1ABz_-);?hc@&C|p{Sl}8riCu# z%St>I+ppf7ne6}ly#@=s3V4~j4iDduG!UG*-jIG7L~Lf%6BT3k`~v8ku(A5Wm;cPo zn#q#*izZAW_6Z@R|67+{D+yvc+S zd%4R9n%#jfNbT;%;tZZD~@`TjX#mR?oY}UOYshXA$9_yEAPut z;5;AZOD66imjeK{oL8&TDDQYU;(g?nqQyrbAck=APFz4}`M3RejB?S31ClQ)#XDTa zpG!pp@Y}eZB~4?Af~1%HX*Q~E0bpKar@@Y-W@oQI{*p!xIZoY-@v>B_$CLorSvAWY znw_x8dq-YuJA9zZg_TyS{hdF+o`>ZU4lsveTl_Z(_DzPUDrWZ{#*5P}NKXj*E_`yE zI_j8NI5;)WH%4dcv$;~^Q~#<>)l(N;@4punEN$YxokQirJ3dGcWzB-CFWP8i!Y_i^ zD|<*^A$-EL+%UW-?}lscyU$H1I~Sg5c+&3ScT#a2xVsk^zuSBVANt?ck_RT4cR`fy zOazF4yn~6>oWq&<2g1O(C0r35J~An*5+H1*C)bfWsTP|FUEuTzxY#XASZKNeBJcaRdyW&t`mO#sH0ss2h_ z>&y#&dsy>}!No5i6q!RaNpRKrROT+t&xrXL^Ax|G9gr8<`zhz|=cAeYa$1_FQLmGj$N;Nx4m{+|q9?%-4``VM<9z(2Y4!Cp0ZmqBwfobk+sZucAC`+h&pxz3MoUVE!7 z)|%^?PmFPoyc;GRJ5N%Ru|htb+1odso+LZKlYY@p!84J});(<78?M{X3>u#cU}yf# z9sF=);X5I92z&;e8Gl3v1xAnV+Dt0C%-oXrPk}(OD-vd7hg3F}4joH8Cn`s$tPeRB z5Y>NAf7EJ!p<}Y;!VQ}Z5*mKTm$uekd#&O~mU`+kED+}MG3SzH+M6e_|9n^Hj{N*M z?vGm@*e{-fl$m>#U~dG~Dvi%%oK48u@itOhii+=MkZbd~{nsDSgJ?RQ{ZnrZt@qyk z3lSBA*A3rnSjPm%=u+d*ZiS0gDBEnm^MkcS7jdzYKYRjb56ayAIWTqV(x3^-817;< z;3!|}xo~kybuRs4<9#0V7XTvx#SSW37ORn_>R~~Z$uOS1vP{lVhU3xau0O21yYr*f zk^KF{G+jMRZE6P`s#LYdL`I)6`ili*r<^Z;RDLe$^Ha4KG54?yxwk(Yaw|YS3%)yU zx4QmdU-)s5E3xWtZc-?A+7ctDUVr|*c01bRK}YSc$sNeHp_%Zsdxp{ugO+!*228{o z6!Bad%$HTI_-r1gN&a%yy4HA7{;U%-JF(|6>OG$z#OD#@Nj^!pnZ{7;YK?!&Awd^(Dp|eF@R!TLsyCqg$2r?b9xN9wZ#qSHrNT2H+ki`f2c- z{`Y4sSp<@WQ4btkp1{A1Ywq=XCp_scl62BNymRpDTNM$$VR19Fd&?V9)Bad2PpOmO z+<}7>ymH2b>CmnFZrB}2$taH?=(6AD&a-e5kSBQk-#-y%YW+qo9HT8fvPTi6Cc^cn zg97wQ^m7QH?hhpD8K$e=?e3A@O?TL~rlt~HDdJ``Sec%1A?OCRMHlA=ncJT>bIt73 zb$$ZNti=ljCm*>#CDYW3a|Zvp%B*-@y|%;g>PlaT>t(3n<9f0lQ*rgZKh;>-CJGOU zZ@lKfbvsw>k00l#vX=gPTyMcsRZOT4hpTpfVf>-XwWi~Tn4f|=7K8#r!zg6xwxCtQ z(0PVEEw%Sch4Q(h8Irr_;$9OeWof(aWiR-UgJ~AI9mhToZoy?FSZWrKUwdRtKI>sv zT>AVVb^h*p7oZ^Xjv}HLG}|c@V!QLz4W96thHQn9jnmuH2`67}b8=VTiL(;1)5!^{ zo)7~U$Dq6H<0l}2==etGb8&x8015W zp(=`7O631C|3Gxfk!Jmqr$e#sE*S_OSfi%MPZ!@;=g3ZX$ zUHxf#KG}mLJB(H>2w_x5(znN{xl75Mqx1bVRk1~1P5b${?zu&cK}SQGI2NMMv7-=9 zfQ`LHt5@!BkKCmc8WU5!j~UPBwVd4d(f^o{BLB+vRNvqN{~=NSLr=bc-zgWq1$Qr? z-DQ>pEkcZT0j=L&E3ijozclkeR9$nhmtddu^M4r-V=Sx9NZS_X)c2l}*>R6<_+eZm z!D|9l`M;uIb$K-jG$vPNa=}?2*2iJd?Y>%*@NYw1(L8@ST8_m&xyk$@+>ic}_T{df z{!UJYd1BBel%u?a_9aCknZ}845k_)W`PSCTN8=dsL^vKp-txQDhZe~{RJNb?zNiIB@cHVZ zpa^r&7Uujt5MzBMEld7&Z`k&Vwgl{!4FSuGRVV}@CYC1plGu@A;|COjS$p#zFblsB z{`rWie8Poy0Y%M)>*gqHCka_HkbSuG))S`PyNkbpS#Xt{=}FM;LB;wr_eV7u>X6Lk zy=7vZFMi%NIc1kwv&*w*E~PQAW3p1SRa!M!8qpK(*wT`oPdpho*R#ur=#zFsXu9O{ z`q;9!7MdSJevB&6)54d`xlF3pX}p}>xjW3sjMqWs#6G#R8~Jiy!RozADb2&2_ar5T zfGl_)dRIl-E3Awg^nLL z7Pp+K;x6~SF*Ghi;g@i7kxNk1pSdr*lOgT>YibImqa!)Vacy#Qf!T*XKXc{{ZoApK4R*9UN+?XdyEY`Ya*$9-B)eJlOus_Zc6{vI4Hm%fZ! zQ=bqlD3Pl>8+GG{)O){y&&kD&_QXMvtE6&%u#opBxV_zKIwr&fgB*E$93bXfcf~HR z9g;{a&EBceUa0BP@jnBs6j`PR#e4Qt+Em3BgJl>1&Y%j3iJ+4=V$vQr7rCJnuPH9x`}7$bJE zx8X9|8&BnLLvZ}MV1ntZRR4V~)w}z;Z2aP9r{#?Pp6Pe#ivDP;NxXWORY?)^>%IG5 zgdZIgCouiXZ@?1)+n!>kY-*zDIF&YaTP2sGsshO6ATxU3ub&Kk>kR8;LZH6V^Tzj& z+uaOGhkL;g(_CMS*K?MCmfqU>ES-QMPK-ApLganQ5m#~|vikQGH9T)slrDzJL-5B% zSboE>|7I-a)lcQyeIWGJ_MwJjkmo&QSO;m)PstaEe*E;J^)yT)r;a+Z1Zlak5_5|* zvWkj|s-+kEljA!eZGq6ctn*p*fP=n4fU%k!395`}wIVcerB+g2ndN&eT$rP;@oiuD zOxv0~|B>_G1-M6*p7?jMipG3m_6-vUUoA^^eyM)K;#=kmcE+AqlqlWHd9e3}!UyJ` zFty>8LjR%QNy!XFggSr9fEGds>s$$!9e4n+2pX2-e4Rew#MxkLo5M=d5e5mCsW(SC z-r2Lbos-?3M3v*_F2j`*|0r5v>(=BmGHUxjQOcZWaE9Wr6}JLvMOSTm+cwAYSVAaQ zSUh&0D!=anH%~4_6WySQirHOW2Pv7yN(`bmB=70H(n${r!$Gny-QKPI0ZF8#ZBnN# zx{NgyKaZsKB~9)>@u46!kD7WQpvIkpMoJV{TNlqR5FGIqqRJ~`yw93F-9j@zyJeg> zES~W6E;IOUS6ymM*S=S2CEC>XT+ty>$@3A-lz)EXR1-fHoKj}T`>je(+2`p`pLVJ! zwAnGBKnaC`PeO0dQxnoz{W$*0j$KUh*}N=C_kCpn94^??&b=~nH`IT=zaYF=P4(Z}tpfP#m6rEd2HHQ!OIBWP{gDQP6e_6Aa@ z*rCMp;t)iJoc~HE&pE{BVac|^zB(1T4S5aW(k%{s`JhYJG~si!z*Yyw4Biiuv%J-A z&%npvp!xanVFM{8(%_c1$2aOLpEQvgh?{YbLWyl}vu*HjFN7-1xUWFrVQ_1wwu3lB zPZ;A9*WleKC5e>93XTjwB++o+pRZp$Vh%LWiWlD}#ZM|eaFaFjdiq<>t+!dc96I8k z$=D`{8oirhDWN*^?Rz8hmf^rBnxEHi4W=<4%uHY^Fc`8~3N88Nk-}FC-g++uTI2Yh ztyBwwkEcB6j{;(SY+81J*HT}c_;u$~59?ru@89`*vyx4Bm>C2)S&RSRn;jkQg`&Mn zZ8DJARddg1=;ju=gmZUij~xq#p6L9!skcAIZQVh?GA|0=-PDy+ud6eT9Z4kxyklH* zsa3N=vsp?=!il_l?X=TC~9b zM#8ID-ri}0e~cwf$;UAlipqr_`jIwryUEXP?d2B=NU)z!5i%ucH0gw{1d0wEI3%U#5Fiem?17UDNx|{5tZI&yr^P9ivIex31i7oG*%1h5Ssk zfyBM8Kd>3$ylHK8@tzfKxcj(|KG~~koUJvv8x(B#4A{xW&wSi)5#8V{779Ngwk2oY z@Me?#W2l-uZNW&VVlBjYe{N`bcJipz#P)ALa3ewTxKr0aAuV_%* z=S<|acR7@keRXcI!6hUt=clda(Xh+g;63g!vqaUUg7oFZ;U5fhQhTfbOJAK{IQrz~ z>Uzw}0XAj*p`{M?qh>L*&U<)Lrgn=Z(D3U~LaoQCn4jhaHZ119e2++o?Ik?2r#;6V zb7PW~8~Wbi$s{wfqE0{FGauYalxHz}Gg;H47j)sSW>V`cYj?WcI}`&|Su`K>rs*E! z4krv6P_f74T@R_8x-Ce^McJG_} zm|;Hnq)b}MV;hb|kH?QXpzZFh2Qud!Z4We_Ml~?J!QgH=ad4X#`w_Otx&b!bv=8yE zTjNhA!MMtc=`ZbAyYyn)%xt{Tcjc!@hWzr{vfi;ifJZXSUuqyF5b{GfMr12_4I5%V zn7`Rk#=h%ic^{eJM6}3$cco7Q6OldcamPtyd&h242s}~>T^GA^pKq$+^sa(?dv!`b zL0|`<-Uo`kNj{DEpa6xL1d0lE@{cD8gVjNq)(_6gsLFx`i1QI^&7) z8BHC!=>n>!%+qz1&0gw$j5Ua0JwPJHsg`y8@%BTnx@gzF`jVcf+cO#HU8Z@0dOEvb z@^aMRH2)-#b0u?<%a_(OMk!lyq6INbr#y^bZ{%;ima&*H8Xu@Cz^ta%Mj4>qPHmJ# zV|TrIa%jxO^u&$Q+OSXbwBIFy?F}pgPv@Me<}GG^U)JV5V)-*}(6Tg@eciYuIHvb& zcvkd^`Ge`<$xiZ|6I~lV-n^!xVHS9+xm|}$aV%bz|T6)_u@(;K#bU`mSYU%dgavmog zIwl&qgRQZ~y9z`a62>I*XU1A`XVP2NrUxkOrrSM7mQ{nO<@m+}nJNj#&Glr*?S_|_ zgrK%;u;`v?}&5XQ~V4ty)FSy~Wz~ znN;^MLkCL(l|~XG+qse~jS`=RlSQ2T36E})kXRAyba2X%XAYb2aWV8f{Pyr6TI=R4 zLr=cIH{Pe7(@|WyBl*>k4GO%&EquPbW64UCNURt<{Gn z7UTpXS#-;Ms0WYXZqwagp6h)XLlMO9NOg@ff{i)S%)adN(KqinC)kB8q?$#3%)Tiz zQ!{c46l4{r(cV$7IW9RTP)%jEv(q@h;i>)j>?{|oV3 zzzWR{WxX2l*8CJT0xLF?FqgdH?q_XA^T3KUDu^^#$e5|4D*&3|It0G1x?bw6RSykj zabC4?RpWB@8v|D9*+S43+3{**G~Ef=O7Vg4s;h|8EyuRXB|8h95Oe@o8gQ{qM(r(UT_>RlEswy1NDLtw+S{)N10 z_615G>i0J$bls9mTKxm5UjjXhgQ0$VE7_@FJB(ni$f0?DIm2oxnG_y#`qk#{8h78v z8JG7pRR4TBS4FQ2sXVlX&i`Q89^A6{NUw5DJsf&DKa5@fv?qqR+ey1)b~I~#TW@a- zqbH(_DWc>4AwLH_o~PTqu%{KBI9W*|_T}fNhQp%lf~n~Y1%>nJcpi=~@hd$qdfX*8 z5a-Vt*4A7!Sa-bTAbYytYnU;Ir{Y94Vr$QcHD-TGjgU}y`Buhzv=OJoaM2m1Tbh+D zyC>8&HN8QsHx$KKd#%101J;`2Z2`WBAdl|dx1LY_XJZ5}yFwfK7b)HGb({qz_eKcI zl?5y;ieJTXi+v_Afac%bUgCK(flM?)Y-k+uO!)5AeU8SYCC0rHx*FGG5JwH2y8id2 z2iJWY#I+=)fgo-9W7d^IFa9kKy+s)98LoEMWmf{t<;4^Vr9K889Il*PFN4+7?=8kP zi+l7jZXT^H^P8)rq=U^smxaG><4kFRB7u(awM?A*xBI}Zcj@kphYC{F9#}JN^d`aw zSVN|AKG!%xAo(*^kQbb7B*#`J3RgCiHgZSq>Qyha#o$`Tv*LC~n`c;xE6=Q>X%7@m zWRam&^!@dgM*Pyudg@1>mSG7%l#32e)eH8=98I5$Vb9`tG8d z$uC%xBt`rrhAc}r>CBlfdo5F^qBI-xL#eJp)|0rF27kRg74&u zF;g<|k%^NAuD8^$aT+ETVu+HJu1uQ7+x-Uvev#hVty$fbeM@nWYyelT6TAfb+{=_q z@i4H3^u|V74aKpSlAekL5;2du`;DK&LPLSC0Czmy=Hq+Ba)A4_&8X6==d17OS-2{d zYejjUa;-0WjX#8!2GS@eq=P`7avaBw{u+Hij2m%9BqI8vd#4Ef*4EdnrgTlM;neSZ zCna}ID%js$-#Ie^WUZMXJv>Lbd}Bm?&y%-!0`A&i+ZE0J=c>s%AwV9&yUr|5Rx%xM z;$qbo28?Rp+$Mv=>|=7vG4}|O?<7WJ8M^eKbzGh4btJShfE5OZt0lM?gB@u)+OgK= z!?FhVo%5+xu^R|qQ_Me(s4i=-U{seT-#V+@lY2j&{muD9QH04uzL@^j=T=Jt*7Cq* z|5epJxgZ^=X<`0)n+n^GR9P?Jxy+Vd{w4a8bA~}YJ1UJ=PGiUd#7BI42IIs^6(!uA zE{4I<&?!A20I5wOo-N_-BIZEa5 zgaj^(X~YQw3+3|dO2N*%xLNTW2N5ODIQ6bQ^dVE;L$hD&ScE6E%j_Dj=sj84O_IJC2QtKG)s*8 z*H>>rG0!?0``I0Zi7tCg3W^nY35a~i$V+FZv^dks5v8jady~F04f|P)Z~-^_L~$Ic z-|MH}F*8>u0cRQZEx01wfH0yWkzo$HK^al6ixwk(Iu=vOc%hA>=*HITKksXF$KTRq zRDaSfV_+?Y%R!CTR^=8F^Jq@dTjGvln`el&RZ1)HCbtka*ZFPVY33G;JYY-9M-@4w z*)(R{v&v^R-`SV&A9nTfc1Pej#pePb4E5&@|8aFfWkpH9)$l6W@|BYEu$y-E@1yy$ zkHex-U8_%`^|VdO_u=2>VE133BnP{cxvm1Ts!_W)=o2@5__4>C{upc|`OBbpo3TK7IX%#y)rRRDqE3rhD!z z0q1I(C7k=vkcR`nmeu#(SBJ8vKVT9`pi`D-OP8B4{vWtq--m;ff{ZQ_A;9FlId+FY zQ)|r&@rI9B%}YaX2&4)o-sA)_-&%svjB)1`yBTpLyx3<>fXV}w97L6~2zb`%_gIm&` z8K_FO-&oJoH`3R4lMdjfPBR#5NtU~I%_Q#|uA43xDB=OY{#zvUk4nM8?k7}0bL;Bq z5iPqoEv^oV*we?qa^D9(%W>DHdD#C* zZ{NRvzcNUG2gnTWc%D3Y(wWb6fT}DuJQcs6nt)X>Gz60%CfA13+9<61UtIh9IV?B! zF1xE~B`F81=n$Cx;K!$-p&{PB0;v*sQS@=SF-TCe|IOZm6hG(QYi3LD%;@E%k>F z9|i&!@1EF46QIA`35ni~+y7r2`rD$Er|(`;c{CicD}iPuBQu}1nr|@hDR7H) z{n|Y(sYzVHZQl-A3*>+_2gvw7@sT86t`#}(*srhNGur5V@xs;BRkJSaBIjMFeMu*jRfeJ6m?&tF&{tpN#*##w;grC1Z7Q za)Ok8-d;DZL(RA%`~Mmb9#8M9-j{4)YKpd59tVuw$ti0rrQ(nuuIMBFc_k7! zCV<0{|Fg2mcX3?_&vd?A8WRfLT<*a9u2X%73 zfjl-jz_{w{_NRjFd#S$KLq65x${txgM6BaU0d%zbF3rKMe*6)#DmGIkVAIi!Q>#v` z5*TpWeXnIYnf#o%XrrN_fdtAeZjZPLpVg@jv|1jH>K%>>kqP=niPqr%9ZR@!}m zYTo~(d}OiD$%(`rUKQA*;Kfi)h6;JeqrtD3fV-xoLXmpnbyPK74T^<&+HWk_%LaWs zO5vjw+M1k7@2ir2)Ns9!So3Sl=WByFLSFWQMGeFsY`#))b3L~k*xV}P9+cC|$#>Rd<2b&J4<&N2q6zyySoeok8fRERp-Aa4c346gG zqqXXjR%HU$HfBJlV^o|t2jQzQvidT=lG~=^gO7pN`98KA|IlC{G;% z72tdyJgA&$=uT;vbu?1y%^~j-(k{!(%lGcxyQG4t3rlQP5lm<-bvqa?uS2Lysd%;| zlkE}MuC)Y6;JB_gN5h67#I4MayE-|!Q}UE{t#x#j6gv}Zwx!+2#&?90k{EHT;ATBA zxrdE%gWZGsXI6(w!87){fsc^xjZ|d&nyRWQC^A|R zin%^-*-~Oz!GrcQJodz(NjxD__@c4#)KvL)6P4fQ=dv`QDE>`D$$U61Ix!m4iPK7@FaU?uuI#?|o(@!Bsj1~a_=!t_tuDU_cr-`&ej&zc+@JH90f<6arA`JTEjEWdbSC zhb!1}S!DS7eHw1zzBDSZO9r6@#Jo0m8`s({lYzNY-4EG$bc1GQW@5(1#z@4W4ouZ&J12k?^JpuW<_O=aA`{+!ORI_ zig%`xOMVc2a+VS^XZr%%DJeB>JbZnw^{K9oZyB<}s&S9*bYuu6Pt7$^$lsvSe6ABV z@buMZnp~}w&X!s6_B#unNfaYcHfQe;yiq#g@p(e?=kl~)AywC6DUU|E*HL8PfH4}h zxi3kz_l9xE0|Xm-rjwCT>}j7XbnKY6G|k~FGFI((JXIS%obnY}|9WSEJ({w2^R_Qa zg)#nXPZ7l?BmX;@2n%ODXb;yE!*e*>QLOxZL6|1LJKNV zLHuWtKq>`^*?HzbkVV^lJ}@bK8y?h!HhQi8@=g683S&(ULuYbIwj(KRZ>E~h4G zpXkId&%j@@SIGyq+|IzpIK?t(D#AmzQ_CoSt|<#B8hYP*%kX~~zqx|G4bX}XAtiTw zvue1wyUWIm{kkmbnUG&VR%^*UVZ)n|X#j4a2VRd)GeHxaPHe~amb%MbpY2L|F`H)8 z|Mm5*^;MBwTC}#ab;9?lgl(+gpfR%*uA0P6ZX?vd1j9etXg@`&{5k0pfiHp=YNEU? z#yax_&`&qB9^8=%)u-kF+3kat_$uoApx>IpfT-miGZx+(ElhMITTS)&3t3yh>-|OZ zRRKI@NYJEIu(@{RS}sWH!1AIhdE>z#%lR*JxN;%iOxUC**SZsWR>h#lQFowYAaQco~l(;cRO`MN-}6G zRk%lWV!8I-@bJ`AZEYQ$haJ|_AI*(qP2`MfG{xVNpc3nVA=$u5o|sCHk_kFOyV3$) zyzi%y@($@WCqj~SY2EC_RpTA$P!+o2M!=Ru=i=hA3jEla9b{Mh*xXffEvVCM;Sr{w zc~Ys@(F+iG45%uFN5Ez?Ej|6Bq~w=_N&9ew!WF)(uBp}haT1Ox&_GK{fyvxSVG#F@UjK*`ia3`SqSQSn z1?wnwKu+p`jhul-3ch$IVUuO$uHDuTn+pt+&SvCgwXZ>IoSC4>)l~s|d&!F=8RJ9q ztDU^xzutYpWz?BRv+t|$e2XTC%tXulQUCVNG?-f}*qps#u5A20$s&s%iBS3Vb!hh8 z*mw~z0|^;fsl2QZDKKWZR99DTb4)pSP$$IJLU6jAeyW&Qwirn59(C-+5gNh_l_~F( z%r*VO;5U2k>OAyEa^=)4Eq=O(*ds=-CRm8m9NY*oG0y3F&84Uo?4nq)`o^4k8KcP3 z7k_?p-PHk}LTA`x)YGeAsab8TbkWubujmuf3Jbz=5iPbu6 ztY&TC=@|mU_4HWzOuK&IpmF7ADtp}$7gB&94dLxu?fXxuL)LqMQ2}3KR*#G0d;-YL zy#xeAZS&e)wCg{iKYw4|FBi}kFM3)+(ZZW)_v9)A`BKZu7Vcikh>JVLt>1D0nI4>$ z&@7Dwk>!;kmP$ZVydP{oJ>4_)^D|LdxTo-=mZPmsPEcCL7;HP=>VI16^6Hq52%2}Q zmgeu@so=!#qE^3l?GT7KzMuXF96pvH@FN-=%N9h|c$NnM5rt0yueD0r`y$LC>z| zcEB1bAy&MP=lg?N;B+Yd`Qvl%Y`v^~1s~FPUT}?G~WN$18>_9#&(NMtP7mZe+jGZf zvqEU}C-~&m{w+t!)B&G4(I~FPh*0~CJ9i3JZ@v8!=-3I^shuwCwr0uszdAWFW)IX=Ngp{n#`aZ#tBbf6)Y090K&gwM50JTYY*p@%J`~9U-?V4gGb90 z@~5IaQ+4&M=N~^GZ_g~-!x-4TO>$Ex{S*2%scw%;nOfVh)wLP!9Hc+i6GzL>aQOw< z2{g_lB6c<^*5m0g&XI-~A%4T@zAqqrfMu2HO4Al3KI>%!5+t@A2I%1`>3yPPlU3B{ z*0cGkGFs2WT-sD;;-|E`>f$|i;vVoKSHK%Co%zK@df?SqHNMyiADUY>Rxrw&w4HQq zH_T-%SnX#o%k7*?bj%3|2ndJ8kr7#&-PW$8tQ-!S9eF!QvT?^TS4p`fYYlhtsST6D zbFJre`x8qklmp$rw03s9rMk^=idu<+(MN0l>S5eYm#N+|1QkQn0khUX2{5=cP7ANJ z*3i_Sh0c$ML5yvXf_537;)9k6wg}V;uMNwVA*BPHn{qdAQh;(oI#R;g+M0xPZ9&-r zT14I@q~{m_Q?YKpGc)Ah4Q6Oc_Hm+dJERK{80BstnZYORjygubwh8lS;&L!DX zr>CcLf@gq&$4~{~AsV~IAB&Yb!lt#MV@aTB!IS0$?jh=h8@O+OcuKTiD<1Zdj<(Q# zsFJL485|yVU0DiAa)fP85p=j74|W7I+;$MfVz0G`#?)xn8+_Uu0G z1-4r$$FYgk^b{h46}KkRpS<4%&IfYFzz65^RyrnyV?$Qn)YzOro~FewvUZ1RL^f=E z{QSxQd>qD#plgj0>;mpj26QLd#-I?AWc^2AY~XHtwWr;ehotlyH%^QrY>e>(Lx%*KGfeH?1z;DTmJpf~-?Mim zY;BjPm+)|VI5S{wU5U1nH>0cvkxlnD*p3uVZ2~zxOXO`Dt6A^lu9?hk+Rc9`ryi=lQqzLc!H)S?F<6R98PPCWg;FG?1h2_Fw5fL5S0oRa`4JKZlr!I6gY)QwD6E8*qyZ!vKuD9~ z!SnspN4nM~EPD}l2@9HQq%sqB97A0V0(Qw!z-^TLH;|t2E1`nl#e)NJB zwZ9ih6w?|Z9wj9u%r0~$W-JZlGYw0FsaFycL-+?7QQ&a-CAILL`NyWCCvfE#=g4I) z1%XDlo@vV6)+jo;4OdPIRIXF6lWZVff}`4WTKrEb4;QfbNKu`ViUK8dG0)hHu5LT2@Sr7RmjNgW+EfRo-+F{dP#f>x9?dggx;W&4Z7AB&}n zYV0cH8=341{FQm(jzBaWW4d7b0roB%qY=VGx3c3nn=-k7=Y#Cz{lm9nUauF!wKKi# zO}}x8%SkK@0ACuajE@XEe3ys#(kH1qXiVrD@1tBgO z^l@VbwLCH3N_EXzLQ!zzys{fD&zZ}YzmJi0KLEorq!^ankKgeEgeNY;64GMUzE@O6 zx*)MgyNRmJNYE*a3;yANGh?t5$N(7m&MayH0gW#Tlsy9*0-TY7{4D1CiyYF;hQC1s z-m4k!MT20MCc^U97zuZitJ@fhJ$-F{w8r4ioEkbJ={Khta&mI6>CDD}qb>_T1Cij3 ztqzZi)>!e6i0eM^_mC?(cz+AI@+DxYN!Z&%)&Gk4fWaET?DL}A!tvmP z{!|Iz=i$^W9)jREX8$F)2LF!WcAUo6dozWg6A01qqsh^_N`}Oe7T0SmfQL3_5#8&P z%+Mt!^(E_6#u*5f%KY+={`OeHyErZ>xUsnO^GJio12(6La1QeCqU*)q{et-1B6$75 z?*AdL#YAasEdZq{Z0?cJu1!n*-)6JmZae&;i2o^t1se)3M*$yzEf;$B<_S|J3FfPW zUpW}wlEWT6-D1qiPbnCC2smO8IY_qC)Jsb@k3{=!CnvU-AL=Ssa7`6OM&RRE=XA@e zJ#LybKEG%6j`feoKKe?B3n&7Q_tv8n2)s)Ne(?{>ejb}s2Ti%ZLhb*z?l4XNU#xqF ziEsmKdYq)#x$9{2|KA??zq9}Ule169xcY<0-U-ypRHy+2Njh*G@2fDWQcB0%uh_ZuY){4sYc6S8{DU_A8mit;M zAAyABD0~j*_NSa)~t-n~8FuCTlJ^z>|Ncln(O zkl6trzD+mn2AMbiCV>Zsqq5u#I#Ms%brsm6aM#m|@HtU@z!mpLL>}@4ElUsU6hl0f z$VOdWo)`ink3JoPH-`#r;?6&EIB^dLQHT*dg5`Hl8@FotMN~iD5|w*-JtLzU zg~W^S`Qv}LZbUn8ffa^=cwn8wW)v~sPk8h1dCNG5bH9?6APjmRlkFMss8jEoAFLLME2$EX&=z>9@B2r2#p%qKh#0U}Fq11#|ulfxAMyn#*euOyijd>SIGQ|3P( z6&%I;(-(JeKGfh&Vd(VTiCf%g&E05W8WX75nEc39Oq`c7^~{|5)rpc)gRQL12V}Ni zB)#nMO5uFO1kW=sb@ed28iQ7aixmkelHAJELcSg2YVyZ95D0>rLxY^rmv`h|IpDFDo9O!-XQ1Ezzwze==&Gix5 zy1W5mx*&Zl15sPNB2TL><(>{Ug`tB?Z&nCD|f55Q>-DH-GaJeutlMw_6`;jkuJVV{T} z8+F7YD{b~Dk@2zj>}mc3QO`XwgC^^}bHkP*Hzp4mF~x;TBzt?Y z^i^hUG?1(BmY=J8uH`FZYbbT!%;p&P>L6`dv--H}L_K|ssl%yzw;!D0&j@r1_I`%W zi707BB$B>xh34ejCQ`7kixfH;(F#yE^HjQ98wSx@+FRMN=m!Sy?~69+aNHFZlX3Q~ zE;*Lo+{t(WhKH_Klp)ZW!6_ujmT|q}Wo9p>$e1T3Ws-B3QX5G~UIb@ifZr9B-Pgmz zZG)0$b809c1SNVHo0qTG#-*z`?Z;g}P+e`x=&-K$soD5p+3B{CyE1k$WJ6>!_oQ%L zQ+M7B@;uEb&f16-w=9Ykixn$74u;QMRbOo+vZJXGxk=uz41e?R*#u!<$FUx9pXees7}1_onK^P{eh-UsGXst5ZC=O4{GC; z@k~mX5?m1rwv0Hbb}M5+=%I?ztFE3SYv|V)-{A3Bt1XO?4l=!k$S1PE$sw=fqks4A zacDkF&Yt)4yx`hwJqkHS$iST(PL(1vD)fB6sdVxO!-r@$I-IQfa#v&Fc}7-5e_Q!` zk2jIXy=newg`1!M$gcfVPT&|S^gtcP-PPAd6hYB1_Ifh1g}>@cd2`RGLZZMz2D!CD zT@ItMUXS*DSP`aGSB;r{@^8JJv(o#)dofwzK`nqeI3SHOLMB@u9?;bY@?EA9jBHPV z=Y%+0h0UczV}ymdVYO7>Y(fdMIV*&BTu5<=f~8po?@MN@VT+YDd?a>T19Gx)zm)-RcwL zvBGu62lr1Y@neMy45!hl{Q7N)XQfwBWc_|+q0UA0bU6RBU@U8Z1JD>ew9L#hgo{u*K~F%} zs`e@(oxyy6kSkKbzae2iD}e&qhZDEsm|LM&x;!JUXa^z6hGr75UbfaSzmWP)|9pZa zckzJj6)eThJ8Nkmpci=ukPmi!igtrj4P3S@sXDTG@EcAb#yV-_mp_`A>!u9jjAk;$ zTs^q{s1tt9ZC%j_65v!mC1iFUfi{}1;9SJVu>A^VBapXNOzdvz1d>6a)0>O?vhFeO zStx!*k@JYR{#nP2Qty6wh58+P16hkJM3r-~;8fnj8SutYRGp@G2`8>=6gu?mlhxmL zNx_e1P5a3vY?t`l)-YqS%ljd6v8#EZ5d$f2Qj+hThG zZs@Q8=-`a5u5RL29cedNF>ncrtX#}nQ(w29wb!&)G3_-HuQyuDy|>yo{xUc5U0)4E z!`PRELcdXskGe%P+hT|At3Q61=o;yIEa@pqExny!7o;p)o|0u>wrN+lIhmN>??`IB zK4?E@Qp`xdJ~+Z&RX*6fZbX|uWa?*H00PiNY_*=&_C#3r*)M}g>|wGG|HlRj`~k9( zke9D_vtLgNprG`0a^~G=8Xg*5m04X)T32phRj1-n7uZPYLeeny8Gbk*3Edx7unE6% zb6PC2&*CY4Zf9OMn3P>y7?$$AhNsh3SuBr?$6%#Pr*B4fb(Z!DzxvlfTETW&o=%$! zDK(J20q*=?f5a`U{`~m>9aJ@lZ#g;LOxCz))7@3`eNfiTy-aqaeq%1UjO*-KPEO&2 zOGNe@Z<{)4_Qh=&1g_4oOD*xiu&%nFCWb499{!y*{b*MqZP&^$*Oa}@Shri=2EZ8# zXcMw~$!2ag{rP#=6i3+mXov)&aZF;g06&=Nq=&_H*;>F3EQFp1peZon%*p zO$-5*rs6=L*p?31wwv zlz77l(f7FN?Cc%xpwq_dtQHL9R^Iu>O}{};yazku%-4mRNeD)Lu{x1xCWsqNK~9Kj zdQAmHzYTITi_xK|0o@Wbip3ku9(;EcGH9R@CvqYcizR6@!A{&RIDNu7K z2k!Q?DH~l@-7;D6H-T#R+yCW#PfvwddI>v(qI^n|0q_qI@o%Y+F5c%7pH6Ao7`=4Tg*f4r-Y;fhrn4ceFdu0Lh}oT z7&gOQk9qvDZm7lN*drM-EKymZ5~()qI)RRIHOV6k?=Wy+>jS@VkVNNEeozhbHu}&7 z;7cBGIJRaY`^C@r8m7aXcw825c+X?r#ujNvy2p?E@|44LY&BB^%&<%o7T zxhY(25>Jvfv7!nt(4#Rb+{EJsOXbbWO32P+#0Kl|rtY-Stu&T4sM&xwMPHktOs&h- zGe)Bf{kk*^nfur!6_#KueWo7|_!u6bImW-Paq)`82*h_n#qhfp|8nTD%@y1qJnotJ z64GVyuNSfCpiLp#+FIX5{Nja7RCToOpZW*hRpgU`mA^Pl%X?RdNhjiKLEslsUoh}Y zs(aUrPG%o1-obl4re{dZ%-mD#9Y-+2OVJwGmLiQcTAXX?$~}v1sjCq?cS?k7RyYsw z-MWO7=XK6sfD-2~w$S~USAJ*{pZ~Su#%W1hGC|f*VFM>>>+ko&K$u@4L5I`QF~4A% zHVE(ten3}h;O6V{rh4(Q>R$ZevF5Z#TslTQ@TFP^8DZ0ctLIju^8A#Y{A*e`7|{J4 z_P(w;TkiPd%=eQUvUT_eC#SZ?lEs(8e^J-9fH3w8vIi9BBpmk$No5h=rg}9CVgE) zcZE5EYhW==T)2>I-7)p|g~8o!D|PLa4i?;FAchlLCH*aPNZtgOZR;jei zetPv$JxJ31f5}e79u}V51sj2AE1y+{NRIe(ydZ&J{@#SL_Oeto{6Vk@(>q%a1T3)r zB_hA#O|h@C(rmX4s(De+d=;!%HgiEb+?N`$LcAEsw+*16W=VTrZ_G5(A{O!?VL~WxTGX#VY;V z?WV6qko;C?90Wjren`-qByWhd(Cxlx|uCV9N2A5?*j2Kd8>=%+|mTV9Op(58l z?Sv)w)}im|n9t;D|Ed`juAz(V4y35O{Bk$aMw&ao9px9Ps&**EZq-)$)6(chW;wdD z5R)Vi3fnFMGvJ_WfwsOr3$)#T7k6_C% zt|chbAjt&t`JKchaZy?$DCiZ+vv?R23kiF`7r+G8)k^SSV(vuFVlkue%TNH^IDZ!; zKmV?}ult}P2!N)hA2nfQG>|)TVC|E+BCJL&zU7$vr5t4ws18Rkuu-Yl?r_=)*; zq!|&76W23Tq=5TttKL3>Qe~LPTn`?6S<&Bvg8Wh^ytDTD?~#B)fQIa5>`?wj3l8_Q z=9-jy>1mgM2bu(?s{8S-L(uXGha<Ca-TLj8{Ii85# z$cEv5JW#mN$bKnEt`ULO3G*_f4Ma~P+9YsSTJ^n@zz_^h9uHOigpzb`P??@FO4xz~ zi_N!{V-n%EcHbXX{HcKwa&@Vo2ai$u7qH?TlJKCC44O`aPWL5{CkIUnAl22cO3YeW zcshN;2)4>M4CzE)Wu5W8SP>S4twAD1W~N#jkl1RjEzd#shhxVEc(lV!n|rXQd_7Yy z1kVN6*HZKz4UJDBlIu7{wSRdEaQ?+Ez8(lwi8}uUF5#zN0-g%22vzzE*cZb+9d1=` z0;{M(#{EP=GB96Cllo3oE53gzDJ@K`;w{*>DyYC6yZm2aNR_#vd`L9#h%jFAM_((c za~>L@aXx=X5N{)HiiED8qsfJqn6kx%UfxIOAztQ7TxXi%^#>+Fx8-o2__)nDvKDJ9 z!t@x!3+Q#Jo_p##f&2?fcy;~DMS*_xTQiS5AGlZ3{0mCpwD~qQcH}_QO@%@_b8!U( z9CMqg@punDDv!4}|6F}^$J>|j7>PMV&*hnU#U_wo{d?OY?2WVk$j{5T7!;xwz?o&^TLK>mH&L4Ol`5Z zGn||U5$SMm&H7kPPn`Oit_@_j$_8yut^T*7ubzXOn=E8)Os5wm-=kcm$+gZ&aPeth z`j_~atscsudVxULb1=kS808o)!c+zF@9{tPH{pjDEHEDqCLFMsAJ>4H2r_z&b zS-Fim;REoytnHgy`Hw9gTZ!_w${>?$Z4p-dh!HS$>9=Q$KN-~1)9YP;%ES6%Boe(h zu^nJI>7c7~|7gQ!={~ZyhAdKdo=zv8PODy_8lE#}u$3%g!KCirphA(t94Z_E=b>pG z`ko{W6mopPw|UC{w5KUhF{V7D=&diC7-2l{Z+hrY8R)=#wvdxDD3=U7ys?2H6KLdc z6&-Io(kv!lfSD;*w_@-M|N4zIv-dLa&&!x+9=(RHUzW#UckBAlk;C}Z4S4-GFcMl5 zGPW8rL%`^f&ISF>%;Oj|g||qZ#2cqfB4@Lu8v1mv>Fn=XI0GfgA%1@7}fKPgwmWw=oI8VbEJL#S}>SI}J!44|@MW#f`iWS-mr| zz58_krt7(B4Xabc3&>cl&Xjw%(zwvq7m-4pL1Ig~p5h2$_vy+%gFTo@3!@gj}!Ul|jY|Ud(vtYNO%(zZ~Deq}(;Px>8&$8Y@kJBFZ?Y*zITs=eEPl z{6P2~AaLk$Tuaud&~hZh56}>LrxLM_-vlFRm;VhF#{_cqc3n(tg2Fmrl>eaQ;79m% zdkVSu6?g9v*aPT^eo)kafc)LCK@O@6LWjl8fQZRg^h>|eU*}u!N&R@Z*8PD+)Rz$q zJ}}%f<00;Bg+mlxT>S69DRJZRKYAmg0y|0i2S*HGry^sj-o8cu%#}QlNzd=#5Czt_ zA2uLHI{u$6M}TmC++hbk)BjqF|Fza4pg8~UVd4Wb?j5A_5RNy;xHgZNl`e=t>Y>`V zZfIOi3KStldPF_H_!B)?7g36ZE~fm5TmjV7jc(yTcg>NXzQc)LW;FHI1ewN*nN2w4>U*!aS3NlLGa=vV>Ca+7Kchsn+re^q+ zJ8AK4VK};S6jg6Y(&TZ6%njF3>E-4rt)fD-HstF1)uPC&JONs-L-R04{8UXF`v0@W zz3Y91%!%2vdiZtos6`RfH@S&K{uGOj>Sg|iFgD|R=wMC)_HZD-BE$I+aQRE?g)1ed z{|Qj5)J1aZ{?S!`A@+}o+pQtje5A$>f;WtI451CxkWNMjLAPfq@ceFGe+R)|9!*y* zx@KDV<>@g}`tx2{@M9r#tnTh9z=&`aZTTH2!6Ki&^+|e0-4?~!RIQQh4@lYrXk(t= zX2gfHW^uFu4}~^xj`UwlI>EC@%Vlu4Jv`tC3*Fj&!oY%31*jM!@nh(^$wve}QtU-S zmt-3sM4>yF5<|_QQ`est{-&4sSLnP}0I4&H2BwD#_QE65{s=Y!0jgpvgMN#KtIv!y zZNi6M_%x|OS(C=Re?u|bmMagP0y-9ws13!Im>>UW2mXl*ZNMdHILS6Yxer5cW)H~Q z1O2P_>A(R-2MIam7*b?o>R-o@un-bUhMusurh;sdG(lu=QH{uKwCBAbc>MJE7|KzA zF(~xxA9OI-H&zhf*6p75ohkSi^CIJ)jY;_j5QAW0VfoTb;ffr;h6Y?P%qIJGCGulL zU;hubCI36BFt=+q>)*a~=bNZRUbkP&Zua)|t;sj((*hcra*RA|cS!hDN2|67?2ZWd znmJFaK$lyAMlG1E&pW7i`j5CnpPhM~)*oJnH1AO2`rWV80?#;yoLH~y>e6gME8w``5}gJh^@bS9$d1j)S^Berb2E_odVxC5d5GbT8 zTi12%%+2qb_CsR#0xz^EMsf-vEDzbHcsC&=042M`%WK=D1W1r1L&%~#M(R41oTvqy zlPvw_Xru}tk6PfLuh-SxaQgPtC^o;71Y9^l!d(L-KK7Rg$BW>TWc^Q&9~ggpnf4@tP4o0hjo|NAweaL9=kA zGnfZvl>x|5F-LTyBOg}6#bx7$BZ$Cdc9oatW;kt0a^$g@dmIV~SPb)M3 zNr5mZ=S~b@qZ{=`=ruNO>*Qb;@%!M+Z0T#^FoZ~ka85Hn5kfK=L8@%vn;>F;&}d)4 z{c{*0BgL452&Tr-mWG!^TU&bpsj!CNSKUQRSl#(S?UC|%M=95*tT!!gdA?3MCMi?? zEPz49cR=X8Y^tGewlC*zhWfT`HU4L7%^zi)KYf(kttD2_EB&$Lp|~7idGE8(Deez0-aM}6<2XW-(l3zr6|-}ERsmmQ1Q5t zUNHd-mRq%m`}R^IuVaYB#3&l&1xUB>uOv$$A&_(EzK60DNFu-LvXhC4$#zf7&b@H1 z!uk-7ajiAEX%rF1M^Rb06--7zMn(pdFj?tP9O+QhDEqnrP>z{_C?NlEDc$`MhPvStrkF1DaxExWm^vs1le>yTGYk%>MMiPrSrSB+4TgKIJ` zK7KT1a2(M2l9YKQ`tq?E^+5x2^j}gd$Y0QMe#L@fxmt+8Kmj+`HCxvUU?!oFb`<=R zzZ;B(_Rmj+MaN~CK}ln8&(5qoS{uFssA7b{Fmx|93y`^P6}S?~$;qL)a*G>IQ^zbvXR&YQFNShU@ z>Lw=AXK}T-I4k~lGQ-%X9<0`~FH%YogE{{e84dI`_NKzoHjg-A zDfLz4jMA9c_GqavftKiE3W^j};nfl!0dggNy5+p)^_|ZLA%A8j6x`E%tLMqe!p|19 zAE_JDMMJ0wM>j$qn04a<&WKk?)tPx!=v61KLaPNz1t{d{otpQ}XP3fVm#)2aOm)V^ zPz@Q%m+vpFNMTo~r$aC4jGIW5Z$n zP8d=FkfzcLpKhK)$*UN~_vi>Ky)ov;>v2Ns!y=>lF_jJtn=96K-_?jDbU~6Uk&v>d zT#k96B|}XuQa2b7lf5NjeTvNcLNVzcmm{fsH@SPGn%sQ38^?nC6Gtq7A5;?aY-xB8 zE@U8vU*#3_(cokFeARZ|SMKH!bPsxc2ci(*3J0QoH8wKzS$R@}nvBR#ta0&^fTagU zqQ(ZQ{ycH9)^jA@iDcIg2m-iigbg5JPF3Tcuuq1lEJZhA{oTt$XJ=1Dpx4CU)5SDY zZRS0pY2UNoKvZRCpe28-4hP;mQSOcO8jwmyp}V_W0tf6OOQk+1*W7bFxCi(w zv=dytP_RPH2XO^xM4!yY}s^-K%LF14Qu2)O3tz zl*aY5qJBOobBqpU#vylv`S>aaTRlNCkD~BD%+1I9u4{8#>{duAYs{P9Pyvbl;D@Kn zPv}(Ac!26puSdukh(FZ~r|={~g1{XuWT%*Hnsb?>wnBa2w@$`WE3^Xoo8QnCkKCmjx3Oto7((MyqBxMP@VRuz-rYMMb{PKFt+@})e&)fEz3S`} z#vjZOT@OUWhp~yLTC>T)lP}eysoa>`QXDbQjQP>HC~~cR?NF1j8Eacg-%A7(Z@4gx z{SbC{4Z_630ks+shLSE+cq8&7bB9M|=^;4drokmpeNSUxCj*Tl{?=y!?|7DqBH~Hh{%y z0Je-SM6`S%@!nLh@`-8>eGWs+CT%0R83$8sWb@q8gETxK2MvSM;)Es(Xp-W@uHay)d648u=$S*>nOUNX>Vg@nzQQPIE1Y&*6lVD}HThts; zv!s+Ma?n8+si$>)`4b2!;C1Y)H_lxL6XSmAP@W^;Y)HEp;}}nF0ShxZ%{4PKX&RQ> zKM%S_?J$XeiHkh0=9&GG1+}nMVq2U1>d;>;e|R#?ONKoS0H#;X<_&b9kk7wMncO_` ze6|cA#kBCOovdj)MS2h)#VIz-dE*2wypfy0Cq{k<7skodzqmpO2~$^Vr}xG=LuWJ} zlR6Z!{M}OH(s$<`s4VHA((UDqt0qm=bBRzL7QUp5Bs<_;a;N?1x;#Wpf8<&p?_2gY zA=H)1E2ug`K7*HAHjc+v*Teb=&%O5WzB2o+#{YSVAisT~h_j!h9kMqhbe4KhV+1~D zWp(#@(7 z80pLz4eVwYIRMiD7mxU1*ZuIi8Z$Fp=~ib*JX{Cbpvv(>`~Eeua5-vFG?nuEx(im7 z^^NN3eqI9XVh3Kgo4H^69p?#21DKQ6}4;e8-Y&>SMCX_X;Q1YX;PdV|~Vo@IA= zX_<4ZVs&WB*M<%c53R1$F1H&CQQ@(&<^b=kPUq|e7=X&Wf0DUKot|izL@v8;nn?N% zASw$NWK^J~5k2(s%+6bQe29JoyRkaW;^^|YWuFUhZE;$lo5QgMySu1C=EsCx0Yu7f z##IGB#^KxI%^|2xSdNDsveakVDxFqyEt)nmN{KB?-^}iU`%pcG&aZCDkDDdKKWuVg zefCuJGj|v4&4o@ZKzZg0D%ToI3(L8x`Z2nlG ztBU3ElajU3WjhN@L(^VeLj;mhhbgrWcJaQ$B^YL;8sH=4qIJ({5wBtRV~^Iyj~^4z z+&Ci~um9hX2En>}S=VFG^0paaDX2O9M!I>K*vI*?K5&q8ebXh;Wp*H?a2D8khKOb% zju@1vUWah1T&4?L=qKKdGalfSY1fYu77_?>@y z;9W4gH=6LuQNuA_Uk`jocz1wpGz$V_n&`kZJuu4uv#I&JT1M_+-}`L`*B*ctVaN9g zXvW5T1Qcv^M_g5)uA{VC>4akUQ#EV8uC%)o8GMLj!3=Ur@vYoN%FLpA%I)lZ1So-* zpxBG3D9NaY{($5jXkIzD)YssLJV>7P2{|@QSsFFe3h>1ndqnbZ}k=;8)Hq1yR%+oPY$HXv|yaR{n01IS{ev8C)ZYot-~ZR_dN zr(94fG*1Go7t9!{;{@yM|H;~>dv9D-e6>MqpsYbQ6chA>e5o!w`pOVI()hO@c=s8*1L8l&${SAMGkHG zR#jgM0HoGuq<=>0qKaydY`@>!M?ho{1mv6gp7{T+)(ZJ`ugq&UqYbJgLqg2Zj~ERuU>2iuaR?i>irH#Jpd~4Wu#KckemL7>;+mD=&|aFkbE| zDrzjMBH6;=Uj3fpmTCZ&>wci+Ah<)Z+Y!#Zg~eiQEyS}Rny=vjDK1F})KD0Sa{!f+_zv-9r4*k=Ob9u!YufY6FW)KW zAP}%G-^$M1c#GXJHC|U*f&sZ*jntrpz9hb+d=6iblpGj^TS`b!R@E1`rpA%@T6%Ja zG{>t0Gx&3{9C5@m?IT;U87yS8L`>M`q=hfZTnkfzxoM15*+kRlonorhE2ODUov7*7 zWHBvHr8S&l!ctaiSgB1eF|}(6%s+5txwB);tk5q@)@YKaxZ|RVB@F4P62*3@Fl}x7 zlSO-3Qj2EXKO=33R==%REI$jW4p*)KA&Uq}Kp3Wjd(>o<$7QA>0CTL37=&_EZ9VbY z%you}xHdLFmqLy_H@0{%P`jeV`Ml%KyLnE0(bXs~yv!zS5i%mkn`i!$Ya6>>TczYX zfyfUh=1D84)(*Yg=G*@E{(?yMh7&(RB!aF+uoQIn%&G5={Ft;{jE}VnRMFY&Uo<3m=OlqwP|#trk2PQM#> zJI7aKYiafPSc_#~CFcsZ$BGFiBfNKQ$M}Qu=A#ynH=_le!X`K8oGY+-+oiA}kb3Pv z2Y7YLnFh!K&_xMep-a0i)sR{YYa{lr6Qs4?FJwhV>Z{AyAuPTXpP1l#LbAH9>u~Jk z(_STeqaDgFQ6cZu3nT5#hqbG(uC(+k5RKpQuBj}+lL_`xG8cDlXG)JQ(S1O7$M!^R zdzCR8LvyXC%Cz?SN1akfE3V#7PNDbN;XuA}*4K{Y<~R#0L1-zZSA1~%>#IjgnSI?> zU$W|2CMWpV&&Talf6%!S!jOsHOah%{OWuXNA!)dtZ;fWNkWOmqa6(D=*mh|Jb1Uz~ z9ljBWS>hKt$+KnB3CS5X>Oxrree$LOpQAeiqpFQZjxIH&g3)c-WcHN}u1yQGNIrhTHJ7m(adp?>p{=+j z(XyO|cXMNsy&*$C!3YckM8Cb+^bh=-3IZwvcHCz5Zs!RVTNSfO*@V&Ujx zaVGm1jjka+(jygpByoqTy+||F0=y)#a$8RxnYymol`clfv9MfoZkbM*&R%$Xq&L$0 zm^5&S`?P_=u`ns+%42=>AwJ>+*)n2tk)aGiqjTVtFleaYryCK)ZZ*Cln2aiYAjHE< zWIpvtvz=p1Yol>R(J8Y)ebQ(6t8wm77KP!ICCew)GvmH~HAdJKt29+bvW+Qd{=Qtn zOPX0`$D^mOuRS?+gAJBapmtk}r4EYDmuxjf_qn>_FyIkGjf-16l?iAmj)aR(mv zI4*7yPS-cwDcR#ka`guZpM`Hij*mRilNu)psm7{LVRc-#T5K+x8iPJpc}>IP%9s+U z^|d>mQp$8i`t?3-aNV#lwBUeY^hxLpSIW-jFr3boA&z-wNnJbqG0UH8F>bJM);6?x zV|Uh;;aPaG>hb7kkDOZ3k(JP{$4m4k#%_89EG@vL-Eo=x;<#TFI-vM`PD)_(=RlaIbB}Tg6{Fe%REu_ z)Gw{@+j>udh?emKx=xdO=fgf;H~VJE+Lp86&(u$BExB>bZ)eNZo)eLy&eSzpx}t!- z6FbH;Ap^e?qMNlksCz-3H$R@h5j#{cZd#f{>q|D{7npfMoh^vZ`T_HmD+*@D#oxMX z{L;OjhD>qUIx*C^d&vYh3N`pVc|j26yK7scZDGula;(Q|(6yM0NQJD3b}Ce%Hu!4_ zYnE=UqC}(td7{N*uO?K;p3Ve6z5RFmOdwut zHz-O~WsGwq+_9+;wCmKfQrm&f4X^{czqR5Pu40PG$m^-fT7{c!@x# z0(w&u4;ZML^>0j~;m-5kqVnZ*JpBC@Ek?(DHVPLGNw(xw%m=KQ8m2#^Y%m&zJqfGpZG$IPz=7F0|7X2UBv*pM^W)#MjZVNp4j7FJUMuZ*{5#RuDNaa_4_Eo_44 z6VW{B#ptEUXD#AKl4lE;iXKo9oiT4nh=(h1ZVq0ITC;&2CXzshR}JENTgFW2qsaDl zoTOxvkdTmTvrzxJg{3T0*GN0-OUk@caS6NIq4!f^<*S88Z5_toPsLz2Vzfs@uy?{* zp_md{as-n>hhoD&5K!vHskBz2d_X{r4=<~bxAeB04vd36Yef+r zMrXB*&Fu-BRYi_exe-E_eIU2M$+`K9F>5Y?adIrYtVHf>Q6)1*3DiwkOY?z{ zQJJp0B#G)|-Z5oXRM{P2O1%mm@-UBoUq1`*Vzb+ zIGB6_GfxS@+@#K}>yAuj_Ww8V!Hyl|gphdE*bm4&u0h2JWTKhdP$>3ndzb zl!h)VL7hDw+5+XvZ2cY{EswbQyNs*AN?T-?UxL;d5k8ZX9=?s@Ok3ekLzZq1eQXwO zPMtUQ?&J8rA}dD+f*eE?r^*A0ENQl>HN6chYOnF>JjdKF4Tc!SA1 zQKaNzq!u|z2m%WX#9qz27qVN5^S{(zVEWVwC8FgbpT%K!hGiz#Ki`eCGx?m|CEum1 zU7fzd;$(Vda97Orcua(Ma6zXAo5D_YKf7X7*+j1;waAE7*TmN9#cMqhI!xulR^|Of z)eGWMfj%BwD><(~3fi}5o0YX*z>90kvXUPtT~h}24!%ZgMlw(5K*>yi2BKv^#9p~_ zr-Ge0M?l~jXW%nLV-^@I6T(e%ZS;ONTQ`8P1Jsn0+(R-4^|cRGb1lBNwB#?CsVV+2 z#)Ms(<{aobr(Y~GoOeO0_FK`jLTfq8yShVLVyW{TS0h41)*^21Xi zQRMzR8#~uRi)MX@h!7owE?kc#>My$~WAaZtCcG4P7or}NrC&}lO4V97W@#cO@^!jQ z1UtfOPNO)5@vy_D*1RhZDScPFsE`nrcZB7k!|iZ<<{lFl4p??5`P57~p_8KVnv8&7+??S|^@cH&uE94#0e zqw z?2Jz4at`*KgKc6rEjW}}G5TkEUp7M%DVfg~OFZ+LS|G^!C)Za+k*Qp)b?qesYehVx z$hxhS%h8zaP8mNKp%U^`rbGGHLk768&$2<+JFT~I*1W}Tn;u_|B&*p?p`z)yRaQ8yZL2bCI+<@>(3h^_ocmz*L|%TUvTLwa2fmEpZ*-xt z9~yuEeeJZSMVQ1jF)G%jEpkeNKncBTj{?I=qy3JY`oJAy*|fF9^6Xmq(#42+I*VYn zpiZ;x4a<8^oSP-XL(~6Eo-|BaqV2w@;1DgpAs6K^KFS(E;aF42L>4Y95nh%i%`cVM zYAL6Cdr~8*YlM{gfsWgTU&LD-k2_%E)!ejLSQ7&pA(623n0h zjOYzNl>Is(Nz+r#Ang2;_p-M7Nkco9)I4k^{^I(6xplS~;(A_U8*PymI``b2qA7IG zzn+?EmQs)_)3}<*dv4|={nde3@9lPe-s&cedudJiFA1eKN6mi!V9Y|x*G1JORQs}I z83{ciFUFI&Qtxj6%1Ms@qne{6p^w$a_h*c=(kv~V3ULvQqxx&}C-HaiLr#`Y8!H#b z53TqbPrqCvo>3LQnV5Z4mfc?6CPtfj&0g2?#i&)!;YMjTJ~i3Rm*er#vfs8E671z7 z>myoiP5raQ4>c=J(axL?S!rfAFdb5}8*;_|nS2LdsJp}V&G^doyY;mB^ofP8bsJ@} zQDYSu2!4UQDsP>`Ro?ntU+w*Uc|CmDAa?1x0EYC8a1*QJ7;_7=r4L>0v|V;3#wT-n z2@mnebtOEcNuyoL(bd{Q!V<_!@XxqCxL!*yKU^n2+{gE)OLy*#$XbtiNX<4r;;*It z*mSopnDMbJD$L*~%oa2#4O1{+(UvngD^6jgtpOPtf_PXD@(TV&aPhqtWB9o^1Pp@l z^mP~_Et7WiYhl^@4*scR-g^SvM+AbBONZHQ+6hUJ-v|=pF0*$yvm42Z-;~buoj7ge z6OTi}`((kr127bnUM;wL^pMw8c!f^bPns`&-hJ*nV-P^zma>q8hc)VP%$GaCUOwoT zl@(J1vYCAlocyi;i zGjv2#w6`xpim-TSLvDqYn0w441y7(J`>_ynCUT z(~%nL@=!H3RgZ||*WYPAT?{Jejq4ZleN9uJA3Y6k+O`(jf92ls%!VC2xLa{pZMWs! zptjoVfQ6!C&=m7p$k`)2=TqO#wKx^uG~>6F9f*26sNHsc>^Rq;zix+r1zU0nYtp^o zU*Fd+xQJx_p|8?Bu69q@)J(=E?IT~b5qY|3s6h9)rGTRZO!X z-b+rTDS;;7m%XwhI80=9b>m;}3im)eN960r>eDtQFn)CMii&HzoVIhSe302fM^8V^ z7vk^#3bF=LQc`XMGBu(2nxr1ML$45CcUzzo|3&l2uIUbF8#8KC;^=o(wea~Ky(4yS zS3JFZ?ziMPcCKYX&EpppLo&R#@9JKNU*WZV=q2ha;Z>s%a$hi;l)Z!0+V-$K8~M#9 z;s^=a09xJ8*}l~wvB}3&Q|t%g>Xt0Oe#oxbaf<7@)M21-PdGyrZ{|!bxU%w2*w(Pa_ zmN-#ssQL0?*2V~mWLxlT&7X92QMI1vwXKSs&uH&enN`bU&TS?=$r>$e8ZR46W8`fxJf|^M2rVT>*Vj z?R8-q`q{lnQ=q5B?Y&)3+-OnImUP4~Opc1wV%%8b9*8{k)LUk{krM!%>v zC~Qh$&lh#OS+ZjrUs%Q`hM8J!ZpxA;Kk*)G=veK_Ov{_Y29xK5uQvG@8fQ21sXtD4 zZ#11#Ya{24@bNsN>HYhY8&Dd_-KvqjE9v#?d0t5b1HGv}Z^e`6igkfTOha<8?xBMb zh1ljOlWQ`Q^Q5@LT+#T~hg^rtTsD^{d-F{q=;-J+iJ`wW*7mA$?kz}U>@BuV<%b&e zYtbcBDXDChV-jc&qaqp=*f*5oAvDy~)We0)+)69}>S1t?j@PcuGosrkK+g>1943pBewkf zyEb0uLhhG5i{@*kTC?#h?)`IW?s$FK06DyAYTvw~9vWimZxnlzdet8P=+lvU&1J${ zvhJBGbF-xOz6GbaIeNwz#a?MD>7U%XTTmh9W|O-SwTOAz;Du7Fj0R%n$PElrKTqmRz$Ten|DS_{4JL6lpuOWLt(} zTekv$E%`_Ky&Mrp8Sj3O%gp&c1!b z=Y!?H(iuha4QDBpVM)iQdgWmpS~VJCJNQPU#Fnz^srbfzM^W&eE&u% z?4&M`+_A+&8$~DOgLa_&3kXsug5oUJ>V1)Q8EL{){26nFu2G#av`lB>5i)8bSN9vu zKr3|{cDhgao$C$Pf~Inl;$O){YtK69k6gqL;?~Uzb1$v^R|9J>XZ7WXocRWgxmlm1 z?s2L0y~JaMUfF81f56g9ejtJ!5RxOgFqqHZiVl{&97*=;l^{P8n;fd9#sCUk{DhMm zA0vm^#AHXFeF-HOeNT8?U-eq!PGv~Wl<_gTxJ&Xycr&+IBHBCK<1IyZ7VV22#%;5@ z4q-&zfvUPIE&Z}Ckowg0=IW|VV;HMwTY_X;QxxwC1VO|Dkam01(B&u=T6D%i?bVY- zIWt>Gr!D9JzWch_X^fTb>eX4>^3qaOg;aSE?w*^`$e_XCK>IU}i5Jk$Z>n!-Hy_eA zXi0diZb2+2hT*&ybWG5yKc)H5%X5y62Qk~+xMcRKcvdEzJ^IvoWt_Uf-}?TMrULAI z?w!&R`8M;4qqkdO#HzUO9U^5?nej9b?Xk;aw-F1N39BhP9x70syiI$Dq^Bn>*GgPM z_~TN^%gyU*?_G8uC_VmiE1~E}?_-N%W97wyK;3IJw_cZ(qm|j)lb5n2UIca|QqYTS$hBDylVtKZwFGY-mLnWDjmnx@UMuY= zV>g*ldng*WRCLHSs`eqp6d^@hf32jH;y{xg$xvVHyR(V1*y6VA#`__SXVmijm5}`) zCl^>;QUaOj!^Kk2J#0QE^r}kdmVRJe`?xCGNn);-x(y+;#HR*=<^#bGZdy3@ZsfCAYpqc}rtXK%(RBCSuj%ZJI|lIawr6wl5rHq38f zdH#ClVy8gp(r&a1#G z#{0e{G)C4GtBjG4nxgwTw!T#i;#r>vFqoqXWV?SSf$C%3T`q<^PTR?kUpQv%cXO4S ztR9THFTxVMm39PEMbFEta^6cA>K=%Qw$%6#Spxyl5QK1Vp?Ms<<^0MHU)47>5Ls~c zXfh{3T_$ztq8Ig1uY4Z$Q%*DC#KiO0+XIq@Gf5rm%NB8Qn93xX{BC?0sRfI%ZVE9M zvrBW17r!{oEvxpunfFgJdM;rpAU7_zdoB?oe-a7Ns&e%vpr-Vq>}rYRWo#%q4`GIN zuZ6+xOMui;f^ejOREIwQ(naXqeG~cvX2WuQT3R!|mip?|ABt+$9nZB3O!^XPYD5Me zzCS^J25AiehJfFmagdBy{uVR5#oBXJ$lX!eZbzNB&b2XW?Kh6+VVbE@DCSxV7`tWt zV)SEHa&kF&#@2C;7_aonyHciIziho(!mUqR0Y#>Wfi#d(JvnJde|>LweJ*r}NLtUu z@a`IcF&~s~D1q9KE5MeQfcBT+P;Q^nbr)th0Xj6w9er}67{1Me>{}OY{?#nMN$3c# z8KVtN_Y`bx3&2!#cM<`KpQezC@K$~A8l#h6!?rJnZ}CvCI&@goXPQ$^hUO~qJpc1- z;*Yt5M_+%9z8?A24Sw?eSNPZoi}>IV!8Vf>wR(fyblU$}_?AF!ziXXICb}O9SbaLW$Wg6?YD9~Mb>Cr-gE;>^fRapf`&-(Lg zOvib$(+`o7P4x>>HPsQ?lz&MPXs6TA4uw%b{5{A1$!uCzpaiel%WwV>DnXltf8r3y zJVKlmWK_NK2|g-aQQ0U{jvMnE%KNsOQ}l0aP68)r!grqSgb zWglqjd;T+l+MN<-aJ#HBGRlUE?kSEZ$K|O|uR3a%o3$m|gz2=l3v-j7VWk^TyWBBr z*#4D1`|F3flBM~FO9Xj`)5m$NHJ9#@bUTRz1hF$NW>nR&t@)oe;49w#qbQXRPJ8a? z(-U<^G>tcVyUG(lcTJZJ?PNId$IO+jsYA==8v(fwTCO~9TPe_MB)qEhMzCPOrti5n z^_|Ehu!FFj?a6XXe_X?Dpu;veolFra|AbORlwip)-(jWol&_I>hcO6)rwt#(IYJQaZ}@lbsD4(8{r*13lP z8Sy?Ewvk-_QHsQ(f4%2@-|v0wgN$8vTW>N*GHzLVQv01TdLC`m_AzxS*xwA~>-h7L zK!Z8*%dHOGGkW0MkbEP?s2VG3IOjnJQ$yedppJ`yK{6CIyqst`F~1TjD-XXMgdwpmed%D%te zza}90{tn~TlEmg%q`G=`A5`JpPq0M}Vs;Z2wk0G%&MO$%y~oDARQD^-jTG0eMDT4= z26|q%na2D~ayd?0O%{BRy0U?`E&6VfInIRleOJMifq5&dojR45Vxun?V}6LlOa8T^ zop0XshdI5X0!OR4TYWD_{ANsLANO5Q^j%|hIB|#ML9kXGmQ)EXxMh-~T@Ay5bFvLlj>x|HS%S#+%jBhsseV1LnH+OmSVG+aDU2y0)gi4*(?&q&t_-^@W!_T~Xb;_h)+(3c!mISDNAcy*O=eg9DrA^dDRdvzu+S z9dpLAH0KlsDclpTer#!f!d)LVA^nCoExd~e9?pTbDP!i@j(Sl+tzvY^xikY>kofW- z=_T~!Vl1zoh)QuSkf-#r)V=(VVMewG}fonrVGzTbkmGXj}WyB`Xo<*<0yHaCh(awQB$F zr<@&^>$B!3e2XHyeSiLZ)`+_;Ib-!@BxA(U+lPlJvjJQ=Y06Ds!FeerQGBw9LyWJa zMOn5n+)5a$rZ;WFUZ=;oHYYeeIGFU1tAA;H>KJ83wx{ao9joJ;#_%KCJkckVlXT(c z_o*9e@OCeY=g)(mtak57vWy?uhazngFs$l{E}6A>AJ@Im=YIWs>e?VV@$t2LC4pN^ zLGILzjUhce>#UZZtvdOylfJx>lDjZ=oY$|#=;2`Up>!U(@#&l;CQGTsBKP2aSOWgau+O2CQ(TrlUHZsazA5qa7sfKT-^XIXv)700* z8fS@vmhPB4u}r&OL?y)72A)5%(2G;&S&5|9w}M361E!d3)q+gG6l~8qKfgA3*6g)* zmcu-sgkB(k(H%}HHz6`$u&sO1LT4?_t6I-jDjJ#PS@2cVGx9tt9+j=H)G>Lg-m&=RxNn|l>1wIJG93hoc$DcXMoq1Z+n-S5MZd>Dhbd*`trA#<5@0 zzcZt&U$@Rqz&IAYZh0#A2&I^12)^OAuCv#htQkhWv&iT&KL?!L@XjDLEh@@?XUJ0D zLFjmZwm)acKPM)usQ>Uo)&R*{{w{(>_P6|BO>@c9bNG_Z<%rRCwqza7%1&4*t?KGH zA7uGro+l>BsIni=b*?Co7;M|SuAk`j^W`Br0O6aSGaRbuTZraSobC}tXTaB-TmLq1$<2o}#UgX?_rB4f?)Vg-B zaJHs$arRNU5r+iYmZ5mQ?XIEW7ozVnezKHWFX|)KQ?u^V0jb;?JwDy>Wm=)QA)%D^ zB*5@-x!yDy??@l5U>+L8$HyCVrrmRZ@*~>i`DJBl<4sX*fNC+`$j+h`5Qxb}&5}#W z2Y%;2StXhnSRl8pUvvQ4!RqczM>9jOs63y{kh}x1i#fqYLjHD@4sOd_66;B4^pRrX z`%4Gg2nyN`mSyqo$NRDzb4zx(G?V~&&P!CnP4>k$y?$VuRbGM`b;ryYI@=eG<6pl( zFiD&NMbW%q6LysfB1^5?!NRRu4!VKky7Z2!;l;c+c~%v2z{#wehVSr4bR=i77Oho9 zVcFfX?RM`n!#N2@Gggxp{w1Krj}z^QCv$zj=DJgwWy{g(1rlPFNl8z}jkVn!dZlT5 z>sQK2^HH%XcF;#GYajo-8?UR>0cX*M#~(Gyr;L|UPN?6N_>G-M~`w0Pw$^c-QVAwJ8IONo04`#agwp`g9OJ(2=@BW zi+35=MvO5WJ5gvfCtb{QBY;A*>D$mMA54iZevyTqXayBKCtbC1>%V%!%ttR?HIlwg zfAgMj%dBy@u_Zv<*My5M8eVJUbM=%XE7wjTl-d~O?Meo74cxXODjuC?kGaw5w*Ycr zG%14gm_i%WwQvzj^Ot);pXXnVZE`&IYF0xgVAc?Y=`@5r6Sn zq(=dXSJ29p7H}H?SlWt3!3`^*C#z^x4w>SV)`TmkKnWn;mpZGZ?#!1c!73R7YkleEd}3 zkllK{lH}S&9g`^6n8@=q1~~iP_CElh)#bvtjfHvc2G;nV7kBdMR%8QdXhLk*#T5G- z*ync7d5>o-=#+qNp}D%$x})kakfHbF&(>wn-6tbozKXqO2auDjX8_qk@%c53x_(5( zG*J?kWWW1&j^viegOq9_HDJ92B@K|5Tg#t&*#7VOa^jCYO>86!md-a|Vp;9~$p1O& z)u5l`*zUZ!!1T=xp7Km#2%&OkYdI2aylXvW!_UzEZC5n0k zhxD5>kWrBfP2+)E^j{(0RW6zuFocM>VaL`G9%-lq^J#^b&&r!FZ2sUhS0r%$*cPr^L(Mw;_(@Pc8 zL!w|FU0*kP_Ou-g$mM!%AtzturIL8Wi!*2KY1LrAgvn|K+)(CJ;9`4)Y zHxKe1;RCmyz|4@=7EQ;+%c~yk#U*ja9_p6CCf&&g;2SZ`-MEzYAOeirs}8b7U_!J_ z5MY?8avgro=9WBg0GWT@QyXXR9K^>}ugM8K&*;qg32u~SiDTJmQ186*i90`6QN?wq zc{}l&;S4r69YNgPJ%6ZxA3{KK|6^*;REM|#S4M|?j*ss(Du%Mu?up+j-)!4A%80dk zvIoLBaQBKKNZm&;FlVJ`PRoiKeS*8&e+dfB;C7u@y{WZyJ>>=2V{vtnru&#db<3J z=;9*C2dogFVfKGtDVR&#&J#^n;>eLRnD@YX8vE)j`-4%tH!XV?fPdUx3+=A~6o`s8 z_)he|VB&~zIJw}vd-6)Lo*$hMzm{F4Ou57&=7-^P^Z1+Tvi}S)WP29~2pX7bMX+p? z>VdlhxBCntICn{v7}P3VI2v(1xI4G|`v3(rQERbC5x<&PjDtjus~D_W6wOfLw!!Hm zdw>+wV3R3beE^VKb$H!jq(A`XslH506mB!0ram}q{}O_-TB2y!Tku^^d+STB2(`A^ zFvJ58Vm7k(ZNUi%I9U7pKy*D+0=xH|?uonE6yhkc;!q`xq6Pj?;{G$&?DGu1vv2mV zhYFbj&c3M*tu-mB)oP1$>ew$eX*Nb>eK$v%?`3JD~h z8n~x}isDO*yi;Tyk)=}g!5obfG{}XYKHHD(Bk$1H^PsoDnn8PXvs+xLN5${@ zhanzgx?ZZHk>VUHDxz?Qo<6g8qo;GEFTM8deEIzuV955TIa@`IFhl3qIb9w2gtyw7(Kg4(?coJ zl~{W|Bh?=(zcJ7iw@v(pTxECOdCpd3$MJN;AHO?_A=4*q&a{Ep1YBLKO zs78*|^gbAfX~L7K*HWLyraihHqGN#I;>iBEoiV(Hi|)cDl@7MXM}@$T3ORonjeYG} z$OTcrJ?LxyZZOQpaRYfvcBP!p;ngZBZoYBf?;9k0M>D(qRag9F^J`*|$*=2-+Fv63 zk+FkI-MYQ67!$9hN+ZG%blUMRAQnivKLJv>cVH!f$i5l@QzGdK>(B&&wsNCFW@kpf zJ{%R-4`P9*G`;%oN)Y35?;q@k^ZOLTliyiLuk)O@Z1}!a9s;q`k#;$eVlqoA|6-($ z)mE+Rw&+#$((Z$^KM&f|9H?=z&*W+4aoH}6wja9)YRvFa5XY~wG<712P#bw-ePQH4 zGP%9pgB=mNBGiEpARzha_m4W)E~23MnSb^!&~d25oW~z9z*#uvxA!fDgR#UsWZ4^i zipc*zh0DPWXcFv)5fDW3#w_2#Gb4w*|F@;V-bmEmEwe}bJaD7XlT~7D+67Vq(|K{m z%B7Qgi{#)+nEzsdaj-$YJL?!bznktSle4pBr#sVGc|0j5p@DKck}=&;^hHmj%pq^k zX{qr=1~;q`QoGMTL1FgWWIGe0*3;<)Q(xT4LYl{?IagP@G!%iSc#`xwK^tq6BNWt@ zzjrUWOT*RqLsqi@wiNo5+gw%2mk16HUfkL-7a-dkl85H|*eHh4zq3=pWU%xe6jfs3 z@!SROnxX)3BJ-R!7L%HUBX;_WEH|O3kd(Ept#|mmSWkWw`O-8s<0+5KRV?k2-#)96z~MoP|rLXNP1RN?a3ZpG2E6S zc+_{=pa)4Hs31(P^*Ygz@-$@jZ^x}D$1JIgM!XELxXo|2;M_S<+$)IMh6Hs(m3-qCWO$*D+x01Uju;m0r$8!*cPDdEY6xWt9h&dD zQ2y=L;LuQ`wK*jE>t(kCx#Q_b3O-b@E31W$kIFmHmfnZ4Wab)le>8$1VShWpdpR4{OvLfTb)G<3(B0 zW88^!QAemriwwH}F3wx5B!)Y2w!-weM60%jog#KVhC1m% z$omN;!5a@CiaXXA5jQBmigaRZe{w6dAznYmnIk0&`hb4|I662gie#loDH{vPqpiqn zAXL`u2F5n_F4edQ(_%4%RRblP$!M6Em{KDDANJk@D$1;B7ws88^&jIH5W#?>m;gaQ zavTv65l{gENeW2LIX8}P@5)7ybwKJ6mT?m7@HWGS)i`Pa|>Hzc=6 zjWnqqHReXzXznp%()i`)AA}fqPEWUzR~oI0i20mB!H-XW3tvt!*|{0>Q=_E+hbMkq z#@~2KzdEEdq;=TlD?Q=t-d$?LXw+B2H*sJ4@#DwxL%pZ2!9_85%83v2C zKz{A8`t`-qoG(_DVRK+NGH-^E^9wBd#a4*QiVsouSSy37_>fJPa+lQ)3>ug+6rQ%p{1=_+I%|Ioi7Vr zvKbaZ`&b0G*ArX2%8v<4XWUzj=4!P$E^l@u81Wu`@Ph4)oMZR3 zG|hoiE*kdV-t_gha*PQnriP`C2N7*w48!XaJ3{n=C&iwr3mgW{?JpZk+(#oCj8@TwDU;O(n>xIb~K~ zU_QhsDdBtCdjf}O=0D!Qevqz8XRZpNdC0tflBpCJ7REQ`Q2E!^=u(f;AM~v{CrR{36^rux>2w?Vt|el|%9-d$`rqiO%^UyG0!I01zY!8O|S56bLtBCnX!3$81wnm>mW zc#>4H&2%%gAxKBI5CbD4kSXti;;Dv?o4jTxnm{ z;Cb6ZE8o{De}$a*%WY}hi(&(sUmzp1RlM`hKmUANNptk*t)h31MmYr5^X2^+NG`}a zsQFarm~#u+fL@d&WM zxzO5h0Bq~GB_-Y0EfFYeuA73f_@grNs$y%cXVeS(x&7S8+54?cCZ%)}$ zh2fRge|T@~qxbxGvX;e5h4`!rMad+>cCZAq#dPvOoi>NK_00W3NI%JetkowvIunrC zT0=zEY@Z4|7{KdDj?O(Pf|9MzJdlYe!54Sh)^ru350VJ82J*xO9 zD6coTs3$z8eS!mQ(TyFmMM%aZof16&}%gx z|MgHnlx=rG>#%&fKF`#l8{IUAZeMq;=KJ`&o!KqXIAOjedAoNCDcqlD)Y@9)g?JT4 ztbQrl{aL*=L3I7~XKQ~Zl`qCW>DFGK>J;U%(R?OXHQ@NU_wAu0FX}(8HEb?8NZwlV zsv_slW8BADGRi?^MJ?}{;cOH%?=tP?ngtIWSXr+wfwdk2Tj0~xSf7erpz^`;hr z$G*C^7Mwn2G7IeV714!bv7VYs6KzSHgRoS6p!9+V*(EAF%9eA-rltg^9UYga++V%~ zF{{__hI~dkMRofTI_FWy8#7^1Ew~Dm7`PUfS>*0WztGs?;telcCKNnn&r`B&@o5Pt zYhu0kbrlV#GF^mYV4@XaEJa#8jm7!m*ZZK+2rZFFoC6DpFFZVa5Ne-p-E}m`C?`1} z4Or(O+q?>Dp=39R{i~HcgOGH1XPJ8SE3{}0!hm27ln|}L1?WIzXHsYP@8AC^152C) zj%4?$(~c|%ThPU~Lb<`g!K+A*kjYOSA}h#0#=+RtW2qD9xS?1^X?wl{EkVcd%0fci zV9u&eQmsL$}w*4Ea_);2o7aX03XNg9ihWE2c=Yc++jk2fA_ zbUww3ds5iTF`^3LD5rNtSeNtg-4cHLYg>ficPU)rdc3kH`F~|Q=`8TKFDP<~sb)l( zg1y2cPkVoLcm5lrUG>}fkEAckU6dw}aLO4v${WBx-#*eaQamaA0A<&0t=MK1Wcnh< zTKR32(j%4yv(*oTngA|KHmW)znn z{mJ!?1@hCGxcMt;O}%~5{5#GpK!5UAD19ad!@ComERN*Q?X=OeozQafOg2&v2Q>k* z^Ha8c_7`u*-}l$Gv`Nz_7ltn=eVj38vQ<&6(v?XSOI$)|l^7fQfXCUWr+|HVx;tce z4G`ZlrM|)oMf0U7qaXctBL&f&%zIVtUxcUQGPu2Et02#6iMG;kb<5tUjAX& ziKVpFh$BjK%=LYqnUs{j_#;#L*3WaxxQDB1Q`&Xx*In@wo0}MJ+G02sjY7N2zWyp` zJ|X7%t3v8eL_K`gye5`f_?RH@BeV*js zWxYFZ4W`81a};$(x#adzoH_Smu&pNU`(sl0jz8EBetv5Ab*%euUr^4*h+aS$skB>% z7xnhZPHlJBedUEvk%-<5y0~10Z*Je34k~XZaMXb%bGCwkZalpN8UBPvC)#ib%! zI#86O0j2N?J@GuR?9!sq4==EN_TBgMc&?_PS(IqE_4_=%ee~q96w+Ym^-apt->tfN z^X8zR#A&|q-1|wuO^xurNoLUQd2R;|RHFht@>rNwAyjkH<6*=#^$ms7t8IY_JJeDt zn8h7wQwF7VX`x_+xOYTEL=4SUF^J49%?(uzLGQ@hekg8?u}-;6ec_7-PQ9e{DFeFp zfk-_A1EdMNo{5RiP?c}=s;+~>`kRb%XJ<+l@E>#0d*9WdNc3xbuX)ueb|_+;Twzhk zV?j!OE#)ZzQ*Tsjor$}UD4}JisR7f2{{zfLZr1Y6dAYLw=H|oDS8#=og_7M|iO$fE z%1F1SqCzw$Cr93C7OW!kZsYu@p|j}S-(o4_^cjOZQYa1wSq;!70kWAVlrlBN{{T+4 z>b!qgXL^{@($c1m4%$N1nK#I&Xf2F3AZ;YibT0>bvJ3uoPu2T1g2&Vcs_UW_yA~I% z5YB6qv=2s}hdT1x+m5T{%yPG>FVs+zKXw40jyd?YRZl|Hg5T{ypLl}O7-c^Jl;7N} zfG})-1Ch)}_aMfHp22#H#w5~f6TASF4-V9U2K5a^ckSABHl!|U)uFe@`WHj=Vz0|6 zYel{+p1G)d15}<_FccTFS`?~6(NF=HxmsWUe4Z3QIoO1HFz8O<{_HCtu)3X42{;J0 zvrkx9*zx1XZ$&{83Vf^^C|fRlJ+SGWg>DLvO(&NK>m}jJtm+Z9HR=W&E=O@Rbw`6$ zOx(d}6?b%WM4Aay=L9{!g0{<{NAHQLh_(mweyB-;K|0F(A@r}xeEh*pyRko0OCn1b zy=TRXwm_;9+twSdUJgjtzobOmZ8$3}Elm>V2u_FFDuVQZGW{=9?dSogGXJkzI#JGb zpCx;47NCVy0I*TH?kiplZto9p;@0jG&=SWkn925i<)TAPr-1vyARwi(&6EEFbv4aC z?`e+@Rk#0Rzjmzsbo_Kb+FRs@-EsR~q92rnu;!|MvuKkV!DVdh~^1l82Q z=wVoYNO<4cu7ga+J!Y0k-&Ni<)TVi4aX?#=`dO5wcEkcOAQ7}>1i+~DNHfO4ga{K4@Fs7v zh6qeHI=W2V-Ru`BImE-NbQmVueP=_O0y!0nJL$1QOT@SNi=}z@MVwbcWVsuvaL(+< ziXkkb80*oI5Dg!sq|+QYtpe1^eJf>XBS0tc2t_6vBi+MRH*Bj0^Jh=Hley<_J7pRF z-jnl4-ziV)UQUAmQRCd{D0-hAagCLRaU$Mvav%KaxIWd_Z|IgD!C>(5pjeu$e>b&K z`y9XzDXnj*oxfVcfOZlAZ;;-U>{qY;s-~tkw?3Ism9ADi2;2#l%RQ>BgT%0~mtil7 zvtE_`rJVHrUgf@%U2Hz(Q>urt?ASTUesa}{Pvxxd=2>;VP4eJ0w2Ld$^9WmQ;cdTl z4CBgzSi%Z>c@UFPbO*&$`EB|XnNVP8K6|+zyVjdofYtjJIICg(Sa)+}gp4OR_Ys^) zJ4oYyj;?x^Z|J9z8XElt$s_RkJS&?Do1cWRG_yB8l2&%|p z#4eHQ>)px3{2}bi@>687&4%h(&9zu3meMRv8xpCGog;Jh&F@opN>-jmFNkOqvA1ii zmB%ie3yGRnmMxuU(3uSd->TS6{G^tr1fCngurEEtQ^*qD#=lGvg!Fv?5JzR2LT) zKLT(_57?$9X;Y*lunwl`&NV{#ASYn-hWsIwC&=HNHXE2BA-fan-p|l^D&rJMxkPBK zSg*Fhb49n$^JQ3oOQnYTx<*`@{nymSwZ-O*q1BDq$a$gzadWlx){PsgtwmPt(I^fe z%3latGpq%B0^Z3x;o7p3;7a8=^G2>>!Z5)Uo)c-lN6J229qs^piDP4Wn`06p9?;RU z3IY7=klqf6lq2q5CbXN#CY40{1`TEO+wtjWUI@1+tp0SzDcSjPPtNOKQ}~aGm+7nD zkS8tBMXx7b@)kOg;Z3?$Nm{*GUzc0y$SDWyUsl>gd=pf;$>jA$($EKB&SYS9e}b$Y}3_bGfnR_5%lHTKW)nvq6$XC4G~8fn6p07YMeZE>J-}CbUL?V5Mm+1 zDUBuTf8tj~$fMbFO~GBe3ih(D+NtIb;|fe_upaq+MB`x#Y2Bn>(R<)g5_!>^G}~HG z;Y*>VuHfpxGxH{KT5(fT)117#O6H7`!$=R1=X+^y%E~q>V@C(uHEJO+*N-V* zVB}-sto0Ey5I!=L)_$1RdtCOjA-@nM8vcVz_@i-!9JS?Xa3l+6ir56_ZFMTc+(I1_ z^bn@w^xZTse1lM{muuV8aNY9{CJ=f8Rn3EWx@So49J?@=Kc&;6t1{Jdm4EzB)$6?l z+OHDM$lkst{IKOIeU}KzHU0Hbcd(-8QqGci3<|WMU$|;h{Ac*Vb z%E5uC-yXwyO3>~q;+eq5NlzNJ$1$&Qh+W#Ap%Kl0uFswjbtwq8ap3`fDb^%Uk!Xj{ zO-0xEABIo|>d`TDaknCQI@fSiYvKd;!O!*k$vCup!8LsPyK@Q8cn5ui>bEuHO~-Lx zLbiHPQcw+7FDBV3->CSsEuZH{TK_$6l{TNgYQ-b_yXbdR1Nu6RXzugfauT*dknMZH zj`JrdB`;ZTwDSVwa2%u9iWr6CEVNqhRH=O?DplOY^Gu_ zk!}>OSy7rzdXz-ab-jaP_@Q?Lo^G@Sq3BI%8Q;opAIrWQJ*bRn%iC*Wr&x@)4HSx7 zh@LBd^;#bD0S0E&hc)=_=g~}Erq#0h>vE;sjOzSjL}@A$Z)!RjFj7syEx~>J=cB^o z&qg$ z<~j_zfhy*q&$lLfSKTL&NvcVGb?-LP2M@btJ8q+Ilo$AKK_;l8oQy1Xs(whMPU_vA zLjITmA?XA00#C!jGGS`y=FtW1>#ZO zpi~`vE})41cf{6}(`sWnzY3Uhu!EB@j0F&(8G?Yj6v_+_<{OHR!2{olx%(0lM8xHw z;(dY@o*8)p#h)-0Yx+NeU{vK|tpj5L59^-Mk){&z4t9CG25d=NaL^X2_m&gVc05&C z0c~J4DVeKODlmJDHg3jX^lnjKUH2G^(y!2z%Mw~UeFV5;;-m~>1z6>;34eW{*P`x9CLE_{YKk^fgD>~jA&{OcipPTw zi$dKyU#FL@4tgRHjRfd-YGA;G?x5$+o&`P<3b`%3R4A(Ie{hUjOOgIz5WMaBPjp>*4(2;A(IB=x8N9`kKLjGm6p9Xv~_r4uJ9`$44DpVgrQop2A`s2%+mxpj)jW6Z+`UUj z2m2gny^)sT)(|fF#`X^;;4Nr}e%ceJ`6hI+gf$Y6M;E4Ry&eV6#}JCI$GqZy$^-_< zjT;}u)1;1spmSixv^6mQpP7effQKRwV5w1mI=oRM>v9;0;-5P^2sr^hFJA)f2Zzg2 ziiY@&j}R-RM-qgxgqbGw)WRtUjcW_Vq;>s>pcW9Sh34Xf)fzd{roczbea&*u0OGo!mchEDIlpx$yp8tkO z!vBx<>(9Ubr)MDFK+%WaP4kJqtS5Dv#PuZw=Vc@ZDFo6JS!mlrq*x2zOi=S7Z=q*_ zQZz&|C!yzTTykR{5Yjx3e}Vzy8Mv z?l<6!?l>covLW-WAKO36ll$+Y^HvgH&g|9t=_gGsfl#}XzTS0TIk@vWwG+O~>8L-y z(%5ctf5%9tv)@A<8|LC%8fl$K=_efQxR0IMMpfqD&i|744D)O!_pviiUlm!;7O(e_ zoqu}3l5#$`NX4Nwtue7yVPYYY5IH-0H<@EF5rrk6n^Vh*p^>hpRJYpr+kRD~M&Qv; zJ==a;c0u7}Ozb&$mA%6^!Is+k1fS=j!1ncGQqs26(ktGB-jq1=!T@IpdSpnsM=aH= zMt-jN^cu-Kcoaq-HBtBetFFgZ_1xX#=$Uo$v)?S&y82#t{_P9oF>*an&v>eed zSzNatC-hT#Ulbqjq7_n;;kxtl_QS&sv))kB9v+=`yWqfatx1kr1cCpZ^6nLaf^Ef| zvP&~8)Y2CM`h>{+;N$v45;?4bLqVh0k4swM`}2k-qwi&AZpGF2DqY%_1}*i2Q(j*+ z*$QC0DjVq+GoM@<`>uqo?188hKjk7`xi*C5^LED^&L7<#F<>`yGG~E3Nz#7QU-ac zyzHpor7xdv$oju2OmOToEMea~7{=uLCez`Q=BJ+vV!iL2Y%F^^J3QR#Ug9|YAsih| zioji^1!m!Da9kDuQpH*J!KJey{X{CzxUE){{UO~D;XUL=b*l&k08$MXJ z-MeiFBV`$hkrsW~%h*;Hq#>vxFBavez*sIO$vQK&wYBLws{`-iZU(1shcEn$aZy(g zm+osKHkCB5bgUKcAUoEEUFJUwXWl(S6=7#3hxEnh+Tr10Bdy-T&vd=4uGUS&Pw1+oF900@Yt*W!tkDG$f~$*{1?fi zER_Nbk{ZRqX{i&?0K8l?&7tcuhATV=wWOQn2t+lI+N&2HC+M=_-GTcfVPoUV15$t%-BNyA?KhiJ|pY z1+I}V)hS_-bW+yhy>ylrbSo{4hTB>na3z+S6JuwvNs|a%J5W1Bk*;Lh)j}uZjD#Jo zo+DZe8%mI$ejg;-*JUwIyy~aWko&g_lShi`0~0N^zg^76^9ior*Qsq8Hz;I{4`emJ z4wu3x9j9pf3c+jFt_{O-m+`*_9nd0o6{zm>X28p3kneG)6$qVB>A~;WKQw;e%3&`M$B5mM46nVJSpu@YTCi~nfzg&&yu#00j~lLmwwu8t=qE3 zEkoy(RNa1C3#_`(vbNhrpEt4c0YTCc+3^d#N$EzRA4Cc*9CoYMzkk|GhvS8CR-{|_ za;ma*1+)l5{pHF%OTKp>vD81-hJFpaG{b`_C!SF=>}M2 ze6Xhaa+mvZ+A^Y^5KR+RS<9`t<;Lm0L_KYKR%qXwh;ONQi1#eT28oG@@Ecp%ZR)vL z3`fwN775N*vsUyUZqvesbZpo}ahvL`o4NU%mJv^yNK1H#2@X&z706CoP)AnNyMODW zd+$JO!A#KtkMk945##Fh9)d7W#tNBOPF`7qsCz-EpKIM+#mOZ^>PA2~3zOH36Dz9{ z+$;x&%To1v0=tqI`tLZ~ja4ak+laO2_6LU7ChYTNsM%YpAxR#43jdUro33T7IYAVu z{=DjUtu=>WoFe=xxG4S39p6!JQsTnR{)6~%^GB%{Va@A++{<_~(A#C(=M+EbPRc|? z(6pS-c**d-MsN6d*!Vu#lQmKjqzfDCxZ0xSi2Fn#DcH)%4}#0 z|0(Yi7SqWGBi9Q-&?W^;YGr+#IK_q}WZ*bD2R_Nm-NiF9TGJkklFs7RdFh++US84F z?g1ImnadLih70peri5<;zFCC}y_e$yEo%9$Eyl?|kdL-GGM%f~8`dGSDW)zkCtsQ9 zCev%SA*UrLmXu*4WSp9t&fKB4R40kY?zNSEB9@oxB&#k!l2_+%4sah25V1UB%yG?S z%FFiQMA7_m8-rl3iwd#JXtqqC-*I{`A4drx(mPA&nQ7m|2A*r>O0#Y`jbz= zD8NYG_+9?VIE>>J{-5_Q%Fp5%YoaC@E_44^NNISjn-#ZFZIhoOCpTYc(L^xg$l|_| zS0D~n+$NDQluL@y><<)sgBincVZ2=2{7oTU$q91OSt5qwLvG3^o-i{TW@qV39oSFe zbv~Do7-udf<5hyoO!}H?Qpg%a!zJlo6P78sw2sBEwtiN&#Mj@!g_S;b9&KifVBDc4 zWIyU%B}XdU)nl1ft{J>EnbO^Sw*?0}fzV^By=ey!5w2&&(eyxIz)7)+8^~NV$gkTuxj!)NA zj6IzaAeG81w&`|HV8au-@Zt?%DPt=BM3s9%?I;c?>5MG;GGW-o$!l}z+)!0xfx_}COMVSW-tj|QQi@4Urk^5*FjpW9MnZbg z`RV;+yMXDj;Rv1-lL;qVNbZpFZVXIpv7Pr8uMy$zj0VYo0qbt`KB#RKE22P?t6O5Z zIXu}J*u9Xw|3h2=5!nje@=bb$A}YguV9Tp1<{{O|E3`-QXe7z|<*n!Hr)WeVVpG4O zzH!~fX>}6x@(#;OWs;edJ&%_Xeu>i_7>~qk^Sj~5EkU?;<58sX9cMX2@;mC$%S{MWwi|)&Q?h* zkAf9pGqKze&BNOs!EkDQ(o1Gp*FlGa7`GcluKX6*qYBb0jfEPDlL8zI{UIlo9E`-8cl3!)59#la=ycjTf*U2DDG&5P@_ z@h*t09t)wmagTh~Wo8q=Zbk58*`vHqG_IS#eX?dhiVRHMM8gf&bmAb>+Yrb;!DYxZt zy>L?(ydpP0YMcqGlyAia26|xl#5kQ3d*h0eeLJ7w!~BbqFtWM>w;HD=b4*1D!Wb55 zm9ClF62#G1EqKMf0~F$Q~{a zhaDCadwfxraBtddwNJ_{tm`Fv8UDxC{mzzB^-mL^XTf+4H^#CM4vq-j6(Mh%Q+MNrZ^}0A+7D z2%?FQau4%HfCIzkGUtg@TY30cC|d|i^&iO)@nm` z%B4<=0{ZD{L3!(3N$IJLH8o`=Hk%u8E&pY=6s{U1QffxsL@-wmQt$-c6u+9G&i<7} zx}hMNHrQ=8Se?(nftX7#sWYmilV?*VlA(C*jp^be*b(n5--}pY&+W_^%)8cZbLZk)^>PlIifr zFMSlz`i`#XWTx2a9ylPRMuD6tJ}vUFV8^jg>^N6GB<8mOk-AaH8@mn4CP}{b%NM1l z%uAmECjdmp!^hl>*0DVJ;<8{csp*-xg!0k;-jxk|%|@+65)T)rOJyYPJ?%n62w6== zW-*GsyLW+htyqy9-7?z1Z4-mftE|wI#n}(Z&POR?d1R;TS=bnecx8f!)ur7MFeo276=m4P-hPDW>{B2|(!afRaO~ zeEt^jSA@k5nT6RU+v?&bdX=rbnEMv%wUWbv(Q>rVxaNTGO8*s z{h+Q&$BXQ8a%YLtu*%N!h-(|X7j+g{n8$iaO;8%lk z4#VgMO&o$lRdnhhmcCL#5xr^k3vQtYR{LD{TEL(?%~(d)wWq1HeEAXzNo<4=m+_E! zs0mEG98xD<_3ZrgIFZcPZ@*+K$0|z*0;l5Q3Q4_eX`bwdwIh;CU&}^E^A?IAf*>-r zw%{3RW3sEtfs@1hEOSKu(JXRny&dk$f)b*68EY1HlUa}>kv~UT&Jmn!6&50R^p+2l z6};Xj9{pZcsAEBA+A?N&L~f&cH4_A;O|Wo9WLSlb9KAMEMt;>Rgbf3v!qNeoiAQHv zb!%otmYB=unL8mLI4K(H+ryxP7y$|%9{|5Z6tn=Q2|W<}qPJ9|rs->lEKyL3H3+-Z-H{UaC{tjt`!I_zvCExzsyVl!J?3I^a z?^=joj@NJ` zkCE=k`symQaCP>q;b2?P)?C*{oLb#SE0G<_UJIClP?H&lw+Ne1#m`j#G3y(JP`2;}6q`Xv1cN+-##|&Oe@YDYB!oHu#TBytzK<4^S__WG|4tz z<{6)m{F@|)u#n*FuJ`c{y9_keb79xKD9IneofwlqZ2eN3Fq&#qq=TPiskDa`fQj^^ zx?p>u*Tx#LpG?(Ln|YBSNbXW#sP4);aV$qyLEJb&cl|zVh#b?EG@Y8^ z2AwKKFjgW~=%tqSwU!AQ^cPJyEBBkr$wWE{iD^k>m(PxueA#GI?X}U$OO5O{{^n_p z60H(qQLxdq?zW|+0_@^OZP z-5oom`mQFaiBb78VKf98v$a-rmA1h2;K`Py_WmdKakINSEf*v7O_d^Oyd&@%B+W=v zhZRzF*v-Us1b}b9HhqbIPetTZS1vQMb&%FX$b>?uXhG1{NM7@^8l?G<07jr{xx)LK z8S4oFlZHwk6}E9)!%~W+_Ugz!-&2wjLvB(Y3QJ?#o{nclq~ zT?c4Is)>suy`jK;wR_Q-N$(e(e43L&^+W4WVyh~7klpKkg)cmHe}mt`l>iue#`!XPkV6Ui$0;!5Sl9RnQmXuPDp;|fG?E?ZLUoRH^0 zc;PfA#!&l0criv?Eg$lxM=b2$PoCs8dvvI|;*+g&#|sPRj<9lHlZPu6%KdyD+0h+f zSc5XNQ}1MT%QfcFZuB$N1>7s#KvDhM#)l(S{)~#bCB}Vp?YX7QlU;q*zt5he-!uo$ zuer}`>5m1~1G?YvGlk?QZX*vi78kXdZd-0NUa3o3uJxF($~BQvoZK{hCe&?@QI)Y- znyJsjJGR`jB}HWY1n5lw)rToajfxzrJK}g6{nJ{%s^3_ol9!mCd>J%xSVz~6I3Z;0 zY7-2Potx-cJ~>$fW(jwCf%Cn2mUvDjncNUL{J`p0@Fs6NTTia7JiM99<_2~FAZ0bk zRY6B9h$8WnM}AN!pAQ2SJGr;#qysJ=#K)(ueQeh2<@f|m>~!>2DtO} zqRweRSpkr=P*}+I^w+%{_1+?xxRK%fTd_Jh?oQ*KCkhK|5z--Y)1F^dQ4RDibaeU3 z8MqmwkS}~kO{zI;H!88_eE>FfBo>dX+ozFn4bf2@j(g3Ax*QwVjmqqUYw1`LyQD71 z=OyzgazXp-Q~5Ys5^RF(k&}XX*3P`$MZ!+Mv>;cm3!_@nu6wN}-87gfF*?h;lz<$o z&-#QvlGKwkb7TQOx8NcCjNm|Gsd}+8f=@dbZHem&QJmguzoJT* zyFROEVK){pCsJ+ zG1M74%Z_Ypl)VBVes3S4bB9JPj|R!s^Hl+F3ui#5?bK{bn^SMn&G%Bq7CP4&88$7} zB@XHsI1H97@Ys?xcU3xAXxlZ$PGR{X->W7OYg3)MJ)IE^UlCMC#hDiFw(8nRRQeKL zlwuKV!s?nyb)}ESEz4;IN&okAA3AL}9T7yJacR@u<#BH!0JRTp;iZyd5`^-NSC^Ed zPo3>km?v&OG4kv)YmCzV7Sm zB+l_Q$ZgCgJO75aJ`G|OX{^S8Cy{g)=KV}*0uii5iHRy1@BUo^{51$5GcjstITY@j znC4;(fda73qrhh?G;a`6?kqUp(lUeuNoY^yn+Xvc6XTbYueGONV)?K-Z07%_^zjG# z2yLu^bzL_Yv4YN?W}M$f%y!XUpH|eF&Q`8R^8nIS(U7%L!e2Hb%)46`5@bieRF{Fz z{bW*s;nsbAEg5jYauuD=R4q?8074B9ck79`wEu8TX?X}J>z*P~xxi2kw2sUQSg+*#M_iRmLwC;LG6Ga7bK?HGIjD%{?nO`>2tI(N=J|X|go_h5TQZN0 zT3=g3P@az2&P_HsxlX%wTSYF@23a3LKY&PD)XQ!9=s+f;9nuMn769kW^sIlgCnUoz zEX?7;vLPcF1TluNP~otyWVdS_>3BDq{K%qTHdK#+5etYGa|E)YU7w&~GD~vY8f|yE z8u;ap{PuY*Uy$sY%#eXFn=+y80apUdCrmX5Aa>LHCs`FfW_Q^RZXh8fzQ%H!w%u8I z({4Mb?KKy@86~CER_Gd$Krx@U+S|QqLq-dROea8&{L2D1Xaflr!aH)K_4(R_p`=7@ zH;EBuF|iU>Ehj%;C>&u~72MA|OY*d)$gMPGo2fX=&dwFd2!@-$Y|r{cJFMX9kBikM z%j@xmE}V_0SMRS&^jEW~EkszlWW+u0jWofR9R0s*J-2n5Mhk_+Ha;qAEn764W$29_ zAD>G#D7p|K&<|)%@SQu+^#fmG7WYlz7Eq&MFOosfd@rBxly!s$G@-`S2T*k+YY}Kt z9j&Ug5Ua+yq_2$e05@thJJU)@D~S1PJ2}|(?f(Nc(iROf(hOw$t+0UYX9VYg?j=7 z>tjPdNC!eeid`@zNjDvmLE#AKMOy=ed>U4Pa;%9!uR@7*NUxml&W3o3KcFk#NPMO! z)}-AYiUa75Pa;sMRPTh`&`6;F{FI?=7nYfEKP~uY3ux#9<)@qHWy0e{WYd zxH&DH&fv0M4hnvdtv#=kt>rJTfG0KDv!X`1eQTL@+Xh5a6C!!n9Na2>bg=y`_L(aw z5Fe^EQns&(Y*zx$20rOVRI~gNYkq__gY#k&(zcfZVExH4x3x_cYCE>eb0Zr2B!m4G z5x&hE0H@uax8%7QEQiOPlYOI#t3jfKMc#7_D<>>0ve-uE@7#{}kQ)L_6ETCku0`cN z7*DJ0vZ$4sd4OjG2=DfN{BXUV0n-T&AItX_5^n}*{~jHok&IYda*oCdazzi*Wfkip zM9Q01o=x$sH-PKf;8D4Nt#o2Xz2Sl^iZ_N)x}IlM#sdov*<0>3cs&uTN<*MAM!J(C zk${wjz=DCedqhLjEZ=l50P#pn8W-1JUrCdnm?a-XYQk*}S0BlqQBYHkhWL$4i8 ztJQ`O6YZk2OlC5$6kDkR&EU|rTC{u$q8M=}$FRa+u8VM$#hQ!h)XM3mf|lcc@j|_J zK}bWGD^LH^bZ5a}UiPSfxdqn6Y(Pr6Gl#FcScKbm53TI~BMbX^C|QFHw)Q|)dz+n@ zaL#xp0^8C4t~*rOQ}neXJDr$tt=;Mk7;XSC>ZhvtElu+f^1RD&5I@i@=>Yh4cC1VQ zAZZ9>Klf#v8!^#>;Ah zA~GTzITs}%9MJp6Jj*A}yBqUwosGM_3ulrKCX_x_17U*QF9O zmmzwg=Lhqf{h!S5+Z1d)jNA_puM$6Xcdzibv4~~cf{)}lhZ2P*O*(N!$q8T(>8KkX z^jdxc<_2>_y0X_>%Wlimix78$Szi{f$qvLn;%ifv;d?gpg7ccorKPqsLcbwhTiJ22 zDcBZW&LdZ4V_19eQ;jQgLxbAEC(?>U;d$$q7sfMdw57wwxJ3;Em#ydKH zt8p62C7+j^FH0d4jP%JP*?8je39^d%_{Jn-O-AWZhMaP8Ci(14|J~BT)CHxJAOoFW z)@DkqRwp|@n@d4b0_zwNU|86{X9DjR-TI|52Q(Xih_#?QSa0Lvt#-ix&6Y1ekBl6X z@=rAo#%7OG&1_`Vu--^gWexE>0C+-0^TO(oF99jg#iso$*yAtAI|tj2q22R}8^R&j ztU24}hs8GSd>Q*Ujcdas#T0bY4Foq5(`98&*L@9OW0ZW*UM?ifr5I&B(-a_r|2F)U zvBoV};676n@tlHU7pd66_JaLFaOT38O_?22UNtS^mYw56C$-$)eo1wS_G6ZL8Ix{qoe_&WoKe?CL^x)-+PV8n zZt0^h7%DAJ>FMse5D`w-nAs#07EZ^8B*MUlg$_OYN1b}C=JO3x(&oqu$m~=>V=1u0 zI4B@0ge5?Q6`|NLdj6I(2L6cadh&8l&(dAU!0|*Z7DcbWV3}qVbBpCCYlXDJ$0HZf z{7uC`2ofYi!ZE{ zPy4ngm1d1yDnUeBvRSo7%?wF+go1!dia+)4U-E&;EvhY19`~)A?%CDJl?osZI5iw( zc7QtT=s8Nk)MVA~(E;@LnCD4MD7Zr_p*XaEylYYEd$uZ?$c7#j`YAZCxcOdrAuV;4~u_{d*9|--9ecCd`iy&%sXv)8idje zDE=WIz{=Pm^}A?Nv&vb1T2h!UgzWKF#asXo!4y6IPeEp-pC^(ZT7IaNJ%*qk>6iW& z$&3zmg>^YK(HjQ;L)2;o&Cox^F@s$*lb#A<7kxRox$YuESfGiV^h`{a3g-M(7O6?p z7<@*qjr0t*n;|jN;R&*0VB(Oh=VG+I0bu*yTN}#TOA3jF2?8|n6R~mMg8z9Qk;z7a zrV3kAQdV@%Fx=+osU5F>Jt(~T2C_zLiKl%grZAc9h8jy^zh&BT@dXp2I@$!uz( zaR_hIpRnAkX*D3^Q+e>{spt8iq7&m2imB2X`HZ6Yg5!ZRd$bhN*_BO$h;16gHmOLx z$DjfLsjRtUpA5QhWHkMS1)^iB&^O*%L+^~x+~%PNosfs!1N7nJQ&TLL+BW4CTHj>5 z7=m?=y2Nmflp6(SFtAEy+x;T?GXE~o7=-LHF*$i6Clj(ok*?!A&xe=82I@2w9tHb4 z>)&_2zORJ&+|q*}Td(f|>B}0lJ8*iKZ3M*RNXztNp_GlXK%TO`-=!jKxM4V)3^ zycm04j@?u|w8L-ji`2>xFy?pAf7%%+P@)u6vyZNI&o$5VsiMm>21!PA;}0v_@AEpc zr)b%Z@7;ZXyu7-`$hc^ao3$(>kRr(LFSD|;kW%c!JV@*v%%!803i~}sLEG80nsbAn z*saDse>A>y)Hq5aHf`b71cf?oky5Gc`iCvV^*#dabQweapKITKw^VcbtQt~;;FTCm zDW&M~^}v2Q4#o#*4{3lbO-k*&u3BQbx7IZI82n#a4au^`V0L*Awj%$k_HFj}c*~R` zskY;|tAU{*)E}HmGGs*SjMHCbXEmK?*KLZ=Bs8!M-I%P&uGPuz6wF1R-SsI-KK5Ev z!6%eHs7*FL{il6*A?V`)0qn%|-w%*R2}CSJeoN<|`NePsl3EX4JG;H8Om9rlmm{wT}~frvI3Gj%J^ca{Deo}jvm=R z_h9H*k|E`I%nz($y5DBg$VWA-uO+0z%_6^ZLGnIZA1%@|*tlv96{7-a!3dDaBSASaiF5s=r(WSX3B*!`t`Hg(G2iF7Wg7<5#EL_MgyfeS5E|x!K~W z3Obb)0~F4Hiq|U$7w*4*Iik5XKa!NPIQ}_C?4F$55u_|0iYAxVHlZs+?3*`?kgE_v zwt%U~V!Dm>M?}!<0Og&Ix58@F1cGsMGI2%1+}vDUBqcYO3)&bUlzaqRZH}-| zZsUi7q}8E&8X628>W;=4jUgc+RUS0VvFYioK+lqI`< z^BaT~NfX!^l2X2v^UFrPG+LI|&Q6S7XmxKzX&EtNzq?>Pk^CapKg@v1K*HIXxPrw3 zJ03!8_NCO(_9QUg0QrB9p-Ur9$Q*9Cys;3>qI?)(BaUu_5*oHL*s((SEJy8U1wYq^ zb1_5PjFZvM%gT2mdD*R_7;=M64}4O2LFSghk+ihW4OYjv6_l>eY8j0~0wyY2->?(` z{G4)5!smvwv-6$sYnPF$1YDH$fzK+WCJn9;qJ3jytwbI!g10Jh<6~=*T(KHMb(E!b zuXP8MRYR|eMuSTN7WJR?CIy>^h|Pl@mssihhKR_zu`W_0?RHsN%NQC?TCT2)mboy) zzf`q4O(^#fS1fHEazv%{7D|cqS`^w``)2Ud$0es;$cPT8(Vky-8Q4roPxqP3C@<@8 z^rhpx0A%@EqxE6zT9sZgxec#Y_K1B8KAuI_GN!?gm@y(%_CqjMYPyQ?_aB7tng3`j4 zZ1dG}>^bs|usfq0envMwj`NhDW8~_0AgbxxcCHojG800LFPb% zSTLRtp;;SvnccLnB=qXz>$r!@vWA9+H*N%mgxD4fzY-uA3|IRdnj_5iXw1&8XDF@J zalv!j*;!|-F|(F&RjOMBZ5}*nWG}>DR5oK{tkhJ!+PT^$RF?Qg??y&6XRMu3569!E z66$C3ObwW%&m=BH_{Je%@U8SrYg_dfSrr2cDk>)q9fA}KkrY)G6_paGeVc=(GnG$w z?AC;yBjzBbRlqBJeUQ?`guZO3n7N|^w$PIYQ>5fKO&H>l?N7ynb>K?sj z#p}TvNU;RQK|x;r=-y*2FL&-e_9orpCiD*QqSbI>&ok+z2XaM@+B#|>9g+`V`9KB}4LgwLP}S+9yX=&cgU%&X{xR`Cwmj%M!wv<|d42PNDKQ6l z$w=wc&!E;^H?U|s_Ur5GVBirjK+xd0+yc^6um}g9D4z;k*|BWhMDgrvYdV4F@azJj#!zbr&+!(j#<#3}{`R`6Lrkm_R@@DTLtPzlJ%cncgrEV4UqaoJVeUHE3F#h!rC{*@=D>}D z@L;31IRQ_;6;ZKtmJw;B_d^!BNW(q_pABPhcJQQNRAi&BuSGSA`wjnp~#{ zyqO3H>gB*QJPbTCGjq&l`^Ey3bHkq>&cBy`EKLvY|9*T*oTPGl*vZpiF#kBH;$UE4 xK30YjJr}<%x&jGAu(X0av set[str]: + """Collect variable names (syntax.ID) used inside an expression subtree.""" + used: set[str] = set() + + def visit(node): + if node is None: + return + if isinstance(node, syntax.ID): + used.add(node.name) + return + if isinstance(node, syntax.EXPRESSION): + for _, child in node.children(): + visit(child) + + visit(expr) + return used + + +def _show_analysis_on_node(node) -> bool: + """Return True if analysis annotations should be displayed for this node.""" + ast = node.ast_node + if isinstance(node, CFG_DIAMOND): + return False + if ast is None: + return False + return isinstance( + ast, + ( + syntax.ASSIGN, + syntax.CALL, + syntax.IF, + syntax.WHILE, + syntax.DECL, + syntax.LET, + syntax.SEQ, + syntax.COMP, + syntax.EQOP, + syntax.LOP, + ), + ) + + +def _lv_in_for_display(node, analysis): + """Display-level IN set for LV.""" + in_set = set(analysis.in_sets.get(node.id, set())) + ast_node = node.ast_node + if isinstance(ast_node, syntax.ASSIGN): + func = analysis._func_scope.get(node.id) + rhs_vars = { + analysis._resolve_var(func, name) + for name in _expr_used_names(ast_node.expr) + } + in_set |= rhs_vars + return in_set + + +def _node_color(node_id: int) -> tuple[str, str]: + """Return (edge_color, fill_color) deterministically for a node id.""" + # Golden-angle hue distribution gives stable, distinct colors. + hue = ((node_id * 0.6180339887498949) % 1.0) + edge_rgb = colorsys.hsv_to_rgb(hue, 0.70, 0.82) + fill_rgb = colorsys.hsv_to_rgb(hue, 0.28, 0.97) + + def to_hex(rgb): + r, g, b = (int(round(c * 255)) for c in rgb) + return f"#{r:02x}{g:02x}{b:02x}" + + return to_hex(edge_rgb), to_hex(fill_rgb) + + +def run_all_analyses(cfg): + """Run Live Variables and Reached Uses on *cfg*. + + Returns ``(analyses, annotations, ru_edges)`` where: + • *analyses* is a dict with keys ``"lv"`` and ``"ru"``, + • *annotations* contains only LivingVariables helper-node labels, + • *ru_edges* maps definition-node ids to reached use-node ids. + """ + node_by_id = {n.id: n for n in cfg.nodes()} + + from cfa.live_variables import LiveVariablesAnalysis + from cfa.reached_uses import ReachedUsesAnalysis + + lv = LiveVariablesAnalysis(cfg) + ru = ReachedUsesAnalysis(cfg) + + all_ids = set(lv.in_sets.keys()) | set(lv.out_sets.keys()) + annotations = { + nid: ( + "LivingVariables\\n" + f"In := {sorted(_lv_in_for_display(node_by_id[nid], lv))}\\n" + f"Out := {sorted(lv.out_sets.get(nid, set()))}" + ) + for nid in all_ids + if lv.in_sets.get(nid, set()) or lv.out_sets.get(nid, set()) + if nid in node_by_id and _show_analysis_on_node(node_by_id[nid]) + } + + return {"lv": lv, "ru": ru}, annotations, ru.reached_uses_by_node() + + +def analysis_to_dot( + cfg, + annotations: dict[int, str], + analysis_name: str, + ru_edges: dict[int, list[int]] | None = None, +) -> str: + """Return a DOT string for *cfg* annotated with analysis results.""" + lines = [ + "digraph CFG {", + f' // Analysis: {analysis_name}', + ' graph [splines=ortho, overlap=false, ranksep=0.7, nodesep=0.45];', + ' node [fontname="Helvetica"];', + ] + color_nodes = set(annotations.keys()) | set((ru_edges or {}).keys()) + node_colors = {nid: _node_color(nid) for nid in color_nodes} + + def emit(node): + base_label = node.dot_label() or "" + shape = node.dot_shape + style = node.dot_style + style_str = f", {style}" if style else "" + lines.append(f' n{node.id} [label="{base_label}", shape={shape}{style_str}];') + + if node.id in annotations: + ann_id = f"a{node.id}" + ann_label = annotations[node.id].replace('"', '\\"') + edge_color, fill_color = node_colors.get(node.id, ("#1f77b4", "#d9ecff")) + lines.append( + f' {ann_id} [label="{ann_label}", shape=note, ' + f'style="filled", fillcolor="{fill_color}", color="{edge_color}", ' + f'fontcolor="{edge_color}"];' + ) + lines.append( + f' {ann_id} -> n{node.id} [style=dotted, arrowhead=none, ' + f'color="{edge_color}"];' + ) + + for i, child in enumerate(sorted(node.children, key=lambda n: n.id)): + edge_label = "" + if isinstance(node, CFG_DIAMOND): + if i == 0: + edge_label = ' [label="T"]' + elif i == 1: + edge_label = ' [label="F"]' + lines.append(f" n{node.id} -> n{child.id}{edge_label};") + + cfg.traverse(emit, start=cfg.START) + + if ru_edges: + for idx, def_id in enumerate(sorted(ru_edges)): + use_ids = sorted(set(ru_edges[def_id])) + if not use_ids: + continue + + # One routing hub per definition node to mimic UML-like + # "out to the side, then down/across to targets" connectors. + side = "e" if idx % 2 == 0 else "w" + source_port = "se" if side == "e" else "sw" + hub_id = f"rh{def_id}" + edge_color, fill_color = node_colors.get(def_id, ("#1f77b4", "#d9ecff")) + + lines.append( + f' {hub_id} [shape=point, width=0.05, height=0.05, ' + f'color="{edge_color}", fillcolor="{edge_color}", style=filled];' + ) + lines.append(f" {{ rank=same; n{def_id}; {hub_id}; }}") + lines.append( + f' n{def_id}:{source_port} -> {hub_id} [color="{edge_color}", ' + f'style=dashed, penwidth=1.2, arrowhead=none, constraint=false, ' + f'tailclip=true, headclip=true];' + ) + + for use_id in use_ids: + if side == "e": + target_port = "ne" if (use_id % 2 == 0) else "se" + else: + target_port = "nw" if (use_id % 2 == 0) else "sw" + lines.append( + f' {hub_id} -> n{use_id}:{target_port} [color="{edge_color}", ' + f'fontcolor="{edge_color}", fontsize=8, style=dashed, ' + f'penwidth=1.0, arrowsize=0.6, constraint=false, ' + f'tailclip=true, headclip=true];' + ) + + lines.append("}") + return "\n".join(lines) diff --git a/Project-02-03-04-05/cfa/live_variables.py b/Project-02-03-04-05/cfa/live_variables.py new file mode 100644 index 0000000..db2f75d --- /dev/null +++ b/Project-02-03-04-05/cfa/live_variables.py @@ -0,0 +1,351 @@ +""" +live_variables.py — Live Variables backward dataflow analysis for TRIPLA CFGs. + +A variable v is *live* at the entry of node n if there exists a path +n → … → use(v) where v is not redefined along the way. + +Data structures +--------------- +gen dict[int, set[Var]] — GEN(n) = variables *used* at n +kill dict[int, set[Var]] — KILL(n) = variables *defined* at n +in_sets dict[int, set[Var]] — live variables at node *entry* +out_sets dict[int, set[Var]] — live variables at node *exit* + +Transfer equations (backward): + OUT(n) = ∪ IN(s) for all successors s + IN(n) = (OUT(n) − KILL(n)) ∪ GEN(n) + +Variables are represented in scoped form ``(scope, name)``, e.g. ``("f","x")``. +This avoids collisions between equal variable names in different functions. + +This module also exports ``_BackwardAnalysisBase``, the shared base class +that ``ReachedUsesAnalysis`` in reached_uses.py inherits from. The base +provides: + • AST traversal to collect function-nesting and parameter metadata + • Lexical variable resolution (parameter shadowing handled correctly) + • BFS-based CFG-node → owning-function assignment + • Unified uses / defs extraction for all node types + +Var = tuple[str, str] +""" +from __future__ import annotations + +from collections import deque +from typing import TYPE_CHECKING + +import cfg_build +import syntax +from cfg.CFG_Node import CFG_START + +if TYPE_CHECKING: + from cfg.CFG import CFG + +# --------------------------------------------------------------------------- +# Public type alias (imported by reached_uses.py) +# --------------------------------------------------------------------------- + +GLOBAL_SCOPE = "" +Var = tuple[str, str] # (function_name|GLOBAL_SCOPE, variable_name) + + +# ============================================================================ +# Shared base: function metadata, scope assignment, uses/defs extraction +# ============================================================================ + +class _BackwardAnalysisBase: + """Infrastructure shared by LiveVariablesAnalysis and ReachedUsesAnalysis. + + Calling ``super().__init__(cfg)`` from a subclass: + 1. Snapshots cfg_build.FUNCTIONS. + 2. Collects AST-level function-nesting and parameter metadata. + 3. BFS-assigns every CFG node to its owning function. + 4. Extracts uses and defs for every CFG node. + + After __init__ the following attributes are available to subclasses: + + self.cfg — the CFG object + self._functions — dict[str, tuple]: snapshot of cfg_build.FUNCTIONS + self._func_parent — dict[str, str|None]: lexical parent per function + self._func_params — dict[str, tuple[str,...]]: params per function + self._func_scope — dict[int, str]: node-id → owning function name + self.uses — dict[int, set[Var]]: variables used at each node + self.defs — dict[int, set[Var]]: variables defined at each node + """ + + def __init__(self, cfg: "CFG") -> None: + self.cfg = cfg + # Snapshot FUNCTIONS so later global-state resets do not affect us. + self._functions: dict[str, tuple] = dict(cfg_build.FUNCTIONS) + + self.uses: dict[int, set[Var]] = {} + self.defs: dict[int, set[Var]] = {} + + self._func_parent, self._func_params = self._collect_function_metadata() + self._func_scope: dict[int, str] = self._compute_function_scope() + self._extract_uses_defs() + + # ------------------------------------------------------------------ + # Step 1a — Walk AST to collect lexical nesting + parameter lists + # ------------------------------------------------------------------ + + def _collect_function_metadata( + self, + ) -> tuple[dict[str, str | None], dict[str, tuple[str, ...]]]: + """Walk the AST and collect function-parent and parameter information. + + Returns + ------- + func_parent : dict[str, str | None] + func_parent[f] is the name of the immediately enclosing function + (or None for top-level functions). + func_params : dict[str, tuple[str, ...]] + func_params[f] is the ordered tuple of formal parameter names of f. + """ + func_parent: dict[str, str | None] = {} + func_params: dict[str, tuple[str, ...]] = {} + + def visit(expr: syntax.EXPRESSION | None, current_func: str | None) -> None: + if expr is None: + return + if isinstance(expr, syntax.LET): + decls = expr.decl if isinstance(expr.decl, list) else [expr.decl] + # Register metadata for each declared function. + for d in decls: + if isinstance(d, syntax.DECL): + # Use assignment (last-seen wins) to stay consistent + # with cfg_build.FUNCTIONS, which also overwrites on + # duplicate names. setdefault (first-seen wins) would + # disagree when a nested function shadows a top-level + # one with the same name, causing wrong scope resolution. + func_parent[d.f_name] = current_func + func_params[d.f_name] = tuple(d.params) + # Recurse into function bodies and the in-expression. + for d in decls: + if isinstance(d, syntax.DECL): + visit(d.body, d.f_name) + else: + visit(d, current_func) + visit(expr.body, current_func) + return + for _, child in expr.children(): + visit(child, current_func) + + visit(self.cfg.ast, None) + return func_parent, func_params + + # ------------------------------------------------------------------ + # Step 1b — Resolve a variable name through the lexical scope chain + # ------------------------------------------------------------------ + + def _resolve_var(self, func: str | None, name: str) -> Var: + """Resolve a variable name via lexical scope chain.""" + if func is None: + return (GLOBAL_SCOPE, name) + + cur: str | None = func + seen: set[str] = set() + while cur is not None and cur not in seen: + seen.add(cur) + if name in self._func_params.get(cur, ()): + return (cur, name) + cur = self._func_parent.get(cur) + + # Fallback: local variable in current function scope. + return (func, name) + + # ------------------------------------------------------------------ + # Step 2 — BFS-assign every CFG node to its owning function + # ------------------------------------------------------------------ + + def _compute_function_scope(self) -> dict[int, str]: + """BFS from each function's START node; return node-id → function-name. + + Two stopping conditions keep attribution strictly inside each function: + + 1. Do not follow into a *different* function's CFG_START (prevents + attributing callee body nodes to the caller, and vice-versa). + 2. Do not follow *past* the function's own CFG_END (prevents + following CFG_END → CFG_RETURN → continuation nodes that belong + to the *caller* context, which caused variables used there to be + resolved in the wrong scope). + + The first function whose BFS claims a node wins. + """ + functions = self._functions + func_scope: dict[int, str] = {} + all_f_start_ids: set[int] = {fs.id for _, (fs, _) in functions.items()} + + for f_name, (f_start, f_end) in functions.items(): + queue: deque = deque([f_start]) + while queue: + node = queue.popleft() + if node.id in func_scope: + continue # already claimed by an earlier function + func_scope[node.id] = f_name + # Stop here — do not follow CFG_END into caller context. + if node.id == f_end.id: + continue + for child in node.children: + # Do not follow into a different function's START. + if ( + isinstance(child, CFG_START) + and child.id in all_f_start_ids + and child.id != f_start.id + ): + continue + queue.append(child) + + return func_scope + + # ------------------------------------------------------------------ + # Step 3 — Extract uses / defs for every CFG node + # ------------------------------------------------------------------ + + def _extract_uses_defs(self) -> None: + """Populate ``self.uses`` and ``self.defs`` for every node in the CFG. + + Extraction rules: + • CFG_START(DECL f(p1,…,pk)) → defs = {(f,p1), …, (f,pk)} + • Node wrapping ID(x) → uses = {lexical_resolve(func, x)} + • Node wrapping ASSIGN(x = e) → defs = {lexical_resolve(func, x)} + • Everything else → uses = {}, defs = {} + + Sub-expressions already have their own CFG nodes and are not + re-inspected here; each node is responsible only for its own ast_node. + """ + for node in self.cfg.nodes(): + nid = node.id + func = self._func_scope.get(nid) # None → outer / global scope + ast = node.ast_node + + uses: set[Var] = set() + defs: set[Var] = set() + + if isinstance(node, CFG_START) and isinstance(ast, syntax.DECL): + # Function entry defines each formal parameter. + for param in ast.params: + defs.add((ast.f_name, param)) + elif ast is not None: + if isinstance(ast, syntax.ID): + resolved = self._resolve_var(func, ast.name) + uses.add(resolved) + elif isinstance(ast, syntax.ASSIGN): + resolved = self._resolve_var(func, ast.var.name) + defs.add(resolved) + + self.uses[nid] = uses + self.defs[nid] = defs + + +# ============================================================================ +# Live Variables Analysis +# ============================================================================ + +class LiveVariablesAnalysis(_BackwardAnalysisBase): + """Backward dataflow analysis: Live Variables. + + A variable (f, x) is *live* at the entry of node n if there is a path + from n to some use of (f, x) along which (f, x) is not redefined. + + This is the simpler predecessor to ReachedUsesAnalysis (reached_uses.py): + it tracks which variables are live, not *where* they are used. + + Attributes + ---------- + gen dict[int, set[Var]] GEN(n) = uses(n) — vars used at n + kill dict[int, set[Var]] KILL(n) = defs(n) — vars defined at n + in_sets dict[int, set[Var]] live variables at n's *entry* + out_sets dict[int, set[Var]] live variables at n's *exit* + + (uses and defs are identical to gen / kill and are inherited from the + base class.) + + Transfer equations (backward): + OUT(n) = ∪ IN(s) for all successors s + IN(n) = (OUT(n) − KILL(n)) ∪ GEN(n) + """ + + def __init__(self, cfg: "CFG") -> None: + # Base populates uses, defs, _func_scope, etc. + super().__init__(cfg) + + self.gen: dict[int, set[Var]] = {} + self.kill: dict[int, set[Var]] = {} + self.in_sets: dict[int, set[Var]] = {} + self.out_sets: dict[int, set[Var]] = {} + + self._build_gen_kill() + self.solve() + + # ------------------------------------------------------------------ + # Build gen / kill; initialise in / out to ∅ + # ------------------------------------------------------------------ + + def _build_gen_kill(self) -> None: + """GEN(n) = uses(n), KILL(n) = defs(n); initialise in/out sets.""" + for node in self.cfg.nodes(): + nid = node.id + self.gen[nid] = set(self.uses[nid]) + self.kill[nid] = set(self.defs[nid]) + self.in_sets[nid] = set() + self.out_sets[nid] = set() + + # ------------------------------------------------------------------ + # Backward worklist fixpoint + # ------------------------------------------------------------------ + + def solve(self) -> None: + """Backward worklist until fixpoint. + + Transfer: + OUT(n) = ∪ IN(s) for all successors s + IN(n) = (OUT(n) − KILL(n)) ∪ GEN(n) + + Only nodes reachable from cfg.START are processed (guard against + propagate=False parent references from CFG.__remove_and_rewire). + """ + nodes = list(self.cfg.nodes()) + known: set[int] = set(self.gen.keys()) + id_to_node = {n.id: n for n in nodes} + worklist: deque = deque(nodes) + + # Build predecessor relation from children edges. This is more reliable + # than node.parents because CFG rewiring may add edges with + # propagate=False, leaving parent links stale. + preds: dict[int, set[int]] = {nid: set() for nid in known} + for node in nodes: + for child in node.children: + if child.id in known: + preds[child.id].add(node.id) + + while worklist: + node = worklist.popleft() + nid = node.id + + new_out: set[Var] = set() + for child in node.children: + if child.id in known: + new_out |= self.in_sets[child.id] + + new_in: set[Var] = (new_out - self.kill[nid]) | self.gen[nid] + + if new_out != self.out_sets[nid] or new_in != self.in_sets[nid]: + self.out_sets[nid] = new_out + self.in_sets[nid] = new_in + for pred_id in preds[nid]: + worklist.append(id_to_node[pred_id]) + + # ------------------------------------------------------------------ + # Result + # ------------------------------------------------------------------ + + def live_vars_by_node(self) -> dict[int, set[Var]]: + """Return the live-variable set at the *entry* of each node. + + Returns + ------- + dict[int, set[Var]] + Keys: CFG node ids whose in_set is non-empty. + Values: copy of the live-variable set at that node's entry. + """ + return {nid: set(vs) for nid, vs in self.in_sets.items() if vs} diff --git a/Project-02-03-04-05/cfa/reached_uses.py b/Project-02-03-04-05/cfa/reached_uses.py new file mode 100644 index 0000000..d4a3a58 --- /dev/null +++ b/Project-02-03-04-05/cfa/reached_uses.py @@ -0,0 +1,203 @@ +""" +reached_uses.py — Reached-Uses backward dataflow analysis for TRIPLA CFGs. + +Extends ``_BackwardAnalysisBase`` from live_variables.py, which provides the +shared function-scope resolution and uses/defs extraction machinery. The Live +Variables analysis (LiveVariablesAnalysis) in that module is the simpler +predecessor of this analysis (tip from the course notes: implement LV first, +then extend to RU). + +How ReachedUsesAnalysis extends LiveVariablesAnalysis +------------------------------------------------------ +Live Variables tracks *which* variables are live at each node (set[Var]). +Reached Uses additionally tracks *where* each variable is used by attaching +the use-node id to every fact, giving set[UseFact] = set[tuple[int, Var]]. + +The transfer function changes accordingly: + LV: IN(n) = (OUT(n) − KILL_LV(n)) ∪ GEN_LV(n) [sets of Var] + RU: IN(n) = (OUT(n) − KILL_RU(n)) ∪ GEN_RU(n) [sets of UseFact] + + GEN_LV(n) = uses(n) — set[Var] + GEN_RU(n) = { (n.id, var) | var ∈ uses(n) } — set[UseFact] + + KILL_LV(n) = defs(n) — set[Var] + KILL_RU(n) = { (uid, var) | var ∈ defs(n), — set[UseFact] + (uid, var) ∈ all_uses_by_var[var] } + + The set-difference in both cases removes exactly the facts for variables + that are defined at n — equivalent to the ⊖ operator from the lecture + slides (M ⊖ K = {(p,id) ∈ M | id ∉ K}). + +Type aliases +------------ + Var = tuple[str, str] # (scope, variable_name) + UseFact = tuple[int, Var] # (use_node_id, scoped_var) + +Analysis attributes (all populated after construction) +------------------------------------------------------ + uses dict[int, set[Var]] + defs dict[int, set[Var]] + gen dict[int, set[UseFact]] + kill dict[int, set[UseFact]] + in_sets dict[int, set[UseFact]] + out_sets dict[int, set[UseFact]] + all_uses_by_var dict[Var, set[UseFact]] + +Final result +------------ + reached_uses_by_node() → dict[int, list[int]] + Keys: defining-node ids + Values: sorted, deduplicated list of use-node ids reached by the def +""" +from __future__ import annotations + +from collections import deque +from typing import TYPE_CHECKING + +# Import the shared base class (and Var) from the Live Variables module. +from cfa.live_variables import _BackwardAnalysisBase, Var + +if TYPE_CHECKING: + from cfg.CFG import CFG + +# --------------------------------------------------------------------------- +# Public type aliases (re-exported so tests/reached_uses_stub.py can pick up +# ReachedUsesAnalysis without needing to know about live_variables.py) +# --------------------------------------------------------------------------- + +UseFact = tuple[int, Var] # (use_node_id, scoped_var) + + +# ============================================================================ +# Reached-Uses Analysis +# ============================================================================ + +class ReachedUsesAnalysis(_BackwardAnalysisBase): + """Backward dataflow analysis: Reached Uses. + + Inherits uses/defs extraction and function-scope resolution from + _BackwardAnalysisBase (live_variables.py). Extends it with use-fact + tracking: each fact carries the id of the node where the variable is used, + enabling def-use pairs to be recovered from the fixpoint solution. + + Transfer equations (backward): + OUT(n) = ∪ IN(s) for all successors s + IN(n) = GEN(n) ∪ (OUT(n) − KILL(n)) + + GEN(n) = { (n.id, var) | var ∈ uses(n) } + KILL(n) = { (uid, var) | var ∈ defs(n), + (uid, var) ∈ all_uses_by_var[var] } + """ + + def __init__(self, cfg: "CFG") -> None: + # Base populates: uses, defs, _func_scope, _func_parent, _func_params. + super().__init__(cfg) + + self.gen: dict[int, set[UseFact]] = {} + self.kill: dict[int, set[UseFact]] = {} + self.in_sets: dict[int, set[UseFact]] = {} + self.out_sets: dict[int, set[UseFact]] = {} + self.all_uses_by_var: dict[Var, set[UseFact]] = {} + + self._build_gen_kill() + self.solve() + + # ------------------------------------------------------------------ + # Step 1 — Build gen, kill, all_uses_by_var; initialise in/out + # ------------------------------------------------------------------ + + def _build_gen_kill(self) -> None: + """Compute gen and kill sets; populate all_uses_by_var.""" + # GEN[n] = { (n.id, var) | var ∈ uses[n] } + for node in self.cfg.nodes(): + nid = node.id + self.gen[nid] = {(nid, var) for var in self.uses[nid]} + self.in_sets[nid] = set() + self.out_sets[nid] = set() + + # all_uses_by_var: index all use-facts by their variable. + for nid, facts in self.gen.items(): + for (uid, var) in facts: + self.all_uses_by_var.setdefault(var, set()).add((uid, var)) + + # KILL[n] = all use-facts for variables defined at n. + for node in self.cfg.nodes(): + nid = node.id + kill_n: set[UseFact] = set() + for var in self.defs[nid]: + if var in self.all_uses_by_var: + kill_n |= self.all_uses_by_var[var] + self.kill[nid] = kill_n + + # ------------------------------------------------------------------ + # Step 2 — Backward worklist fixpoint + # ------------------------------------------------------------------ + + def solve(self) -> None: + """Backward worklist until fixpoint. + + Transfer: + OUT(n) = ∪ IN(s) for all successors s + IN(n) = GEN(n) ∪ (OUT(n) − KILL(n)) + + Only nodes reachable from cfg.START are processed (guard against + propagate=False parent references from CFG.__remove_and_rewire). + """ + nodes = list(self.cfg.nodes()) + known: set[int] = set(self.gen.keys()) # ids of cfg.nodes() + id_to_node = {n.id: n for n in nodes} + worklist: deque = deque(nodes) + + # Build predecessor relation from children edges. CFG rewiring may + # create edges with propagate=False, so node.parents can be stale. + preds: dict[int, set[int]] = {nid: set() for nid in known} + for node in nodes: + for child in node.children: + if child.id in known: + preds[child.id].add(node.id) + + while worklist: + node = worklist.popleft() + nid = node.id + + new_out: set[UseFact] = set() + for child in node.children: + if child.id in known: + new_out |= self.in_sets[child.id] + + new_in: set[UseFact] = self.gen[nid] | (new_out - self.kill[nid]) + + if new_out != self.out_sets[nid] or new_in != self.in_sets[nid]: + self.out_sets[nid] = new_out + self.in_sets[nid] = new_in + for pred_id in preds[nid]: + worklist.append(id_to_node[pred_id]) + + # ------------------------------------------------------------------ + # Public result + # ------------------------------------------------------------------ + + def reached_uses_by_node(self) -> dict[int, list[int]]: + """Return the final reached-uses result. + + For each defining node d: + result[d.id] = sorted list of use-node ids u such that + (u, var) ∈ OUT[d] for some var ∈ defs[d]. + + Semantics: the definition at d of variable var reaches the use at u + if there is a CFG path d → … → u along which var is not redefined. + + Only nodes with at least one definition appear as keys. + """ + result: dict[int, list[int]] = {} + for node in self.cfg.nodes(): + nid = node.id + defs_n = self.defs[nid] + if not defs_n: + continue + reached: set[int] = set() + for (uid, var) in self.out_sets[nid]: + if var in defs_n: + reached.add(uid) + result[nid] = sorted(reached) + return result diff --git a/Project-02-03-04-05/cfadots/dataflow_analysis.dot b/Project-02-03-04-05/cfadots/dataflow_analysis.dot new file mode 100644 index 0000000..c078ba3 --- /dev/null +++ b/Project-02-03-04-05/cfadots/dataflow_analysis.dot @@ -0,0 +1,183 @@ +digraph CFG { + // Analysis: Live Variables + Reached Uses + graph [splines=ortho, overlap=false, ranksep=0.7, nodesep=0.45]; + node [fontname="Helvetica"]; + n1 [label="START", shape=ellipse, style=filled, color=gray]; + n1 -> n3; + n3 [label="33", shape=box]; + n3 -> n4; + n4 [label="s = 33", shape=box]; + a4 [label="LivingVariables\nIn := []\nOut := [('', 's')]", shape=note, style="filled", fillcolor="#b2f7ec", color="#3fd1b9", fontcolor="#3fd1b9"]; + a4 -> n4 [style=dotted, arrowhead=none, color="#3fd1b9"]; + n4 -> n5; + n5 [label="0", shape=box]; + n5 -> n6; + n6 [label="i = 0", shape=box]; + a6 [label="LivingVariables\nIn := [('', 's')]\nOut := [('', 'i'), ('', 's')]", shape=note, style="filled", fillcolor="#c3b2f7", color="#633fd1", fontcolor="#633fd1"]; + a6 -> n6 [style=dotted, arrowhead=none, color="#633fd1"]; + n6 -> n7; + n7 [label="0", shape=box]; + n7 -> n8; + n8 [label="j = 0", shape=box]; + a8 [label="LivingVariables\nIn := [('', 'i'), ('', 's')]\nOut := [('', 'i'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#f7b2c9", color="#d13f70", fontcolor="#d13f70"]; + a8 -> n8 [style=dotted, arrowhead=none, color="#d13f70"]; + n8 -> n9; + n9 [label="i", shape=box]; + n9 -> n10; + n10 [label="j", shape=box]; + n10 -> n11; + n11 [label="i + j", shape=box]; + n11 -> n12; + n12 [label="t = (i + j)", shape=box]; + a12 [label="LivingVariables\nIn := [('', 'i'), ('', 'j'), ('', 's')]\nOut := [('', 'i'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#b2f7d5", color="#3fd188", fontcolor="#3fd188"]; + a12 -> n12 [style=dotted, arrowhead=none, color="#3fd188"]; + n12 -> n13; + n13 [label="6", shape=box]; + n13 -> n14; + n14 [label="f = 6", shape=box]; + a14 [label="LivingVariables\nIn := [('', 'i'), ('', 'j'), ('', 's')]\nOut := [('', 'f'), ('', 'i'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#b2b8f7", color="#3f4bd1", fontcolor="#3f4bd1"]; + a14 -> n14 [style=dotted, arrowhead=none, color="#3f4bd1"]; + n14 -> n16; + n16 [label="s", shape=box]; + n16 -> n17; + n17 [label="42", shape=box]; + n17 -> n18; + n18 [label="s < 42", shape=box]; + a18 [label="LivingVariables\nIn := [('', 'f'), ('', 'i'), ('', 'j'), ('', 's')]\nOut := [('', 'f'), ('', 'i'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#f7e6b2", color="#d1ac3f", fontcolor="#d1ac3f"]; + a18 -> n18 [style=dotted, arrowhead=none, color="#d1ac3f"]; + n18 -> n19; + n19 [label="", shape=diamond]; + n19 -> n2 [label="T"]; + n19 -> n21 [label="F"]; + n2 [label="END", shape=ellipse, style=filled, color=gray]; + n21 [label="s", shape=box]; + n21 -> n22; + n22 [label="1", shape=box]; + n22 -> n23; + n23 [label="s - 1", shape=box]; + n23 -> n24; + n24 [label="a = (s - 1)", shape=box]; + a24 [label="LivingVariables\nIn := [('', 'f'), ('', 'i'), ('', 'j'), ('', 's')]\nOut := [('', 'f'), ('', 'i'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#f7b2f7", color="#d13fd1", fontcolor="#d13fd1"]; + a24 -> n24 [style=dotted, arrowhead=none, color="#d13fd1"]; + n24 -> n25; + n25 [label="i", shape=box]; + n25 -> n26; + n26 [label="j", shape=box]; + n26 -> n27; + n27 [label="i + j", shape=box]; + n27 -> n28; + n28 [label="f", shape=box]; + n28 -> n29; + n29 [label="1", shape=box]; + n29 -> n30; + n30 [label="f + 1", shape=box]; + n30 -> n31; + n31 [label="(i + j) * (f + 1)", shape=box]; + n31 -> n32; + n32 [label="c = ((i + j) * (f + 1))", shape=box]; + a32 [label="LivingVariables\nIn := [('', 'f'), ('', 'i'), ('', 'j'), ('', 's')]\nOut := [('', 'c'), ('', 'f'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#e0b2f7", color="#a03fd1", fontcolor="#a03fd1"]; + a32 -> n32 [style=dotted, arrowhead=none, color="#a03fd1"]; + n32 -> n33; + n33 [label="c", shape=box]; + n33 -> n34; + n34 [label="0", shape=box]; + n34 -> n35; + n35 [label="c > 0", shape=box]; + a35 [label="LivingVariables\nIn := [('', 'c'), ('', 'f'), ('', 'j'), ('', 's')]\nOut := [('', 'c'), ('', 'f'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#b2c1f7", color="#3f5ed1", fontcolor="#3f5ed1"]; + a35 -> n35 [style=dotted, arrowhead=none, color="#3f5ed1"]; + n35 -> n36; + n36 [label="", shape=diamond]; + n36 -> n40 [label="T"]; + n36 -> n44 [label="F"]; + n40 [label="j", shape=box]; + n40 -> n41; + n41 [label="c", shape=box]; + n41 -> n42; + n42 [label="j / c", shape=box]; + n42 -> n43; + n43 [label="j = (j / c)", shape=box]; + a43 [label="LivingVariables\nIn := [('', 'c'), ('', 'f'), ('', 'j'), ('', 's')]\nOut := [('', 'f'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#b2d8f7", color="#3f8fd1", fontcolor="#3f8fd1"]; + a43 -> n43 [style=dotted, arrowhead=none, color="#3f8fd1"]; + n43 -> n48; + n48 [label="j", shape=box]; + n48 -> n49; + n49 [label="2", shape=box]; + n49 -> n50; + n50 [label="j * 2", shape=box]; + n50 -> n51; + n51 [label="f", shape=box]; + n51 -> n52; + n52 [label="(j * 2) / f", shape=box]; + n52 -> n53; + n53 [label="i = ((j * 2) / f)", shape=box]; + a53 [label="LivingVariables\nIn := [('', 'f'), ('', 'j'), ('', 's')]\nOut := [('', 'f'), ('', 'i'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#d7b2f7", color="#8d3fd1", fontcolor="#8d3fd1"]; + a53 -> n53 [style=dotted, arrowhead=none, color="#8d3fd1"]; + n53 -> n54; + n54 [label="s", shape=box]; + n54 -> n55; + n55 [label="1", shape=box]; + n55 -> n56; + n56 [label="s + 1", shape=box]; + n56 -> n57; + n57 [label="s = (s + 1)", shape=box]; + a57 [label="LivingVariables\nIn := [('', 'f'), ('', 'i'), ('', 'j'), ('', 's')]\nOut := [('', 'f'), ('', 'i'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#def7b2", color="#9bd13f", fontcolor="#9bd13f"]; + a57 -> n57 [style=dotted, arrowhead=none, color="#9bd13f"]; + n57 -> n16; + n44 [label="j", shape=box]; + n44 -> n45; + n45 [label="c", shape=box]; + n45 -> n46; + n46 [label="j * c", shape=box]; + n46 -> n47; + n47 [label="i = (j * c)", shape=box]; + a47 [label="LivingVariables\nIn := [('', 'c'), ('', 'f'), ('', 'j'), ('', 's')]\nOut := [('', 'f'), ('', 'j'), ('', 's')]", shape=note, style="filled", fillcolor="#f7c6b2", color="#d1693f", fontcolor="#d1693f"]; + a47 -> n47 [style=dotted, arrowhead=none, color="#d1693f"]; + n47 -> n48; + rh4 [shape=point, width=0.05, height=0.05, color="#3fd1b9", fillcolor="#3fd1b9", style=filled]; + { rank=same; n4; rh4; } + n4:se -> rh4 [color="#3fd1b9", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh4 -> n16:ne [color="#3fd1b9", fontcolor="#3fd1b9", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh4 -> n21:se [color="#3fd1b9", fontcolor="#3fd1b9", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh4 -> n54:ne [color="#3fd1b9", fontcolor="#3fd1b9", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh6 [shape=point, width=0.05, height=0.05, color="#633fd1", fillcolor="#633fd1", style=filled]; + { rank=same; n6; rh6; } + n6:sw -> rh6 [color="#633fd1", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh6 -> n9:sw [color="#633fd1", fontcolor="#633fd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh6 -> n25:sw [color="#633fd1", fontcolor="#633fd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh8 [shape=point, width=0.05, height=0.05, color="#d13f70", fillcolor="#d13f70", style=filled]; + { rank=same; n8; rh8; } + n8:se -> rh8 [color="#d13f70", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh8 -> n10:ne [color="#d13f70", fontcolor="#d13f70", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh8 -> n26:ne [color="#d13f70", fontcolor="#d13f70", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh8 -> n40:ne [color="#d13f70", fontcolor="#d13f70", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh8 -> n44:ne [color="#d13f70", fontcolor="#d13f70", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh8 -> n48:ne [color="#d13f70", fontcolor="#d13f70", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh14 [shape=point, width=0.05, height=0.05, color="#3f4bd1", fillcolor="#3f4bd1", style=filled]; + { rank=same; n14; rh14; } + n14:se -> rh14 [color="#3f4bd1", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh14 -> n28:ne [color="#3f4bd1", fontcolor="#3f4bd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh14 -> n51:se [color="#3f4bd1", fontcolor="#3f4bd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh32 [shape=point, width=0.05, height=0.05, color="#a03fd1", fillcolor="#a03fd1", style=filled]; + { rank=same; n32; rh32; } + n32:se -> rh32 [color="#a03fd1", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh32 -> n33:se [color="#a03fd1", fontcolor="#a03fd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh32 -> n41:se [color="#a03fd1", fontcolor="#a03fd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh32 -> n45:se [color="#a03fd1", fontcolor="#a03fd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh43 [shape=point, width=0.05, height=0.05, color="#3f8fd1", fillcolor="#3f8fd1", style=filled]; + { rank=same; n43; rh43; } + n43:sw -> rh43 [color="#3f8fd1", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh43 -> n26:nw [color="#3f8fd1", fontcolor="#3f8fd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh43 -> n40:nw [color="#3f8fd1", fontcolor="#3f8fd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh43 -> n44:nw [color="#3f8fd1", fontcolor="#3f8fd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh43 -> n48:nw [color="#3f8fd1", fontcolor="#3f8fd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh53 [shape=point, width=0.05, height=0.05, color="#8d3fd1", fillcolor="#8d3fd1", style=filled]; + { rank=same; n53; rh53; } + n53:sw -> rh53 [color="#8d3fd1", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh53 -> n25:sw [color="#8d3fd1", fontcolor="#8d3fd1", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh57 [shape=point, width=0.05, height=0.05, color="#9bd13f", fillcolor="#9bd13f", style=filled]; + { rank=same; n57; rh57; } + n57:se -> rh57 [color="#9bd13f", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh57 -> n16:ne [color="#9bd13f", fontcolor="#9bd13f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh57 -> n21:se [color="#9bd13f", fontcolor="#9bd13f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh57 -> n54:ne [color="#9bd13f", fontcolor="#9bd13f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; +} \ No newline at end of file diff --git a/Project-02-03-04-05/cfg_build.py b/Project-02-03-04-05/cfg_build.py index cc36206..425cdb8 100644 --- a/Project-02-03-04-05/cfg_build.py +++ b/Project-02-03-04-05/cfg_build.py @@ -148,11 +148,15 @@ class IF(compiler.IF): class WHILE(compiler.WHILE): def cfa(self, pred, end = None): + # Dedicated loop-head so every iteration re-evaluates the full condition. + cond_entry = CFG_Node() + pred.add_child(cond_entry) + if hasattr(self.cond, 'arg1') and hasattr(self.cond, 'arg2'): # This is a comparison operation (e.g., a > b) # Create the condition evaluation nodes - left_node = self.cond.arg1.cfa(pred) + left_node = self.cond.arg1.cfa(cond_entry) right_node = self.cond.arg2.cfa(left_node) # Create the comparison node and attach @@ -161,7 +165,7 @@ class WHILE(compiler.WHILE): right_node.add_child(comp_node) else: # This is a simple condition (e.g., constant true/false) - cond_node = self.cond.cfa(pred) + cond_node = self.cond.cfa(cond_entry) comp_node = cond_node # Attach junction node @@ -175,11 +179,8 @@ class WHILE(compiler.WHILE): # The body should connect back to the start of condition evaluation body_end = self.body.cfa(body_entry) if body_end is not None: - # Connect the body end back to the condition evaluation - if hasattr(self.cond, 'arg1') and hasattr(self.cond, 'arg2'): - body_end.add_child(left_node) - else: - body_end.add_child(pred) + # Connect loop body back to full condition evaluation. + body_end.add_child(cond_entry) # Attach joining node after = CFG_Node() diff --git a/Project-02-03-04-05/cfgdots/smoke_test_simple_dfa_reached_uses.dot b/Project-02-03-04-05/cfgdots/smoke_test_simple_dfa_reached_uses.dot new file mode 100644 index 0000000..51d27e2 --- /dev/null +++ b/Project-02-03-04-05/cfgdots/smoke_test_simple_dfa_reached_uses.dot @@ -0,0 +1,24 @@ +digraph CFG { + // Analysis: Reached Uses + node [fontname="Helvetica"]; + n1 [label="START", shape=ellipse, style=filled, color=gray]; + n1 -> n9; + n9 [label="2", shape=box]; + n9 -> n10; + n10 [label="CALL g", shape=box, style=filled, color=orange]; + n10 -> n3; + n10 -> n12; + n3 [label="START g(x, y)\nRU: [8]", shape=ellipse, style=filled, color=green]; + n3 -> n6; + n6 [label="3", shape=box]; + n6 -> n7; + n7 [label="y = 3\nRU: []", shape=box]; + n7 -> n8; + n8 [label="x", shape=box]; + n8 -> n4; + n4 [label="END g(x, y)", shape=ellipse, style=filled, color=green]; + n4 -> n12; + n12 [label="RET g", shape=box, style=filled, color=orange]; + n12 -> n2; + n2 [label="END", shape=ellipse, style=filled, color=gray]; +} \ No newline at end of file diff --git a/Project-02-03-04-05/main.py b/Project-02-03-04-05/main.py index 77de897..3655dbc 100644 --- a/Project-02-03-04-05/main.py +++ b/Project-02-03-04-05/main.py @@ -7,9 +7,11 @@ import matplotlib.image as mpimg import matplotlib.pyplot as plt from graphviz import Source +import cfg_build import lib.console as cnsl import syntax import triplayacc as yacc +from cfa.analysis_dot import analysis_to_dot, run_all_analyses from cfg.CFG import CFG from vistram.tram import * from vistram.vistram import MachineUI @@ -63,13 +65,54 @@ def pretty_print(node, indent=0): print(f"{prefix} {key}: {value}") +def print_analysis_reports(cfg, analyses: dict, ru_edges: dict[int, list[int]]): + """Print compact Live Variables and Reached Uses reports to console.""" + lv = analyses["lv"] + ru = analyses["ru"] + _ = ru + node_by_id = {n.id: n for n in cfg.nodes()} + + def node_text(nid: int) -> str: + node = node_by_id.get(nid) + if node is None: + return "" + lbl = node.dot_label() + return str(lbl) if lbl is not None else "" + + print("\nLive Variables Report") + print("---------------------") + node_ids = sorted(set(lv.in_sets.keys()) | set(lv.out_sets.keys())) + for nid in node_ids: + in_set = sorted(lv.in_sets.get(nid, set())) + out_set = sorted(lv.out_sets.get(nid, set())) + if not in_set and not out_set: + continue + print(f"n{nid} [{node_text(nid)}]: In={in_set} Out={out_set}") + + print("\nReached Uses Report") + print("-------------------") + has_ru = False + for def_id in sorted(ru_edges): + uses = sorted(set(ru_edges[def_id])) + if not uses: + continue + has_ru = True + use_desc = [f"n{uid} [{node_text(uid)}]" for uid in uses] + print(f"n{def_id} [{node_text(def_id)}] -> {use_desc}") + if not has_ru: + print("(no reached uses)") + + if __name__ == "__main__": print("\nTRIPLA Parser and TRIPLA to TRAM Compiler") while True: - mode = cnsl.prompt_choice("\nSelect action:", ["Parse .tripla", "Compile .tripla", "CFG for .tripla", "Exit"]) + mode = cnsl.prompt_choice( + "\nSelect action:", + ["Parse .tripla", "Compile .tripla", "CFG for .tripla", "Analyze .tripla", "Exit"], + ) - if mode == 3: + if mode == 4: print("\nBye Bye.") break @@ -157,6 +200,7 @@ if __name__ == "__main__": filename = default out_path = Path(__file__).parent / 'cfgdots' / filename + out_path.parent.mkdir(exist_ok=True) with open(out_path, "w") as f: f.write(dot_str) @@ -166,6 +210,46 @@ if __name__ == "__main__": render_diagram(dot_str) print("Rendered CFG diagram.") + elif mode == 3: + # Reset global CFG builder state so each analysis run is clean + cfg_build.FUNCTIONS.clear() + cfg_build.CURRENT_FUNCTION = None + cfg = make_cfg(ast) + analysis_name = "Live Variables + Reached Uses" + print(f"\nRunning {analysis_name} …") + try: + _analyses, annotations, ru_edges = run_all_analyses(cfg) + except Exception as exc: + print(f"Analysis failed: {exc}") + continue + print( + f"Done. {len(annotations)} LV annotation node(s), " + f"{len(ru_edges)} RU definition node(s)." + ) + dot_str = analysis_to_dot(cfg, annotations, analysis_name, ru_edges) + + if cnsl.prompt_confirmation("\nPrint analysis reports to console?"): + print_analysis_reports(cfg, _analyses, ru_edges) + + if cnsl.prompt_confirmation("\nExport annotated CFG as .dot file?"): + default = f"{path.stem}_analysis.dot" + filename = input(f"Filename [{default}]: ").strip() + if not filename: + filename = default + + out_dir = Path(__file__).parent / "cfadots" + out_dir.mkdir(exist_ok=True) + out_path = out_dir / filename + try: + with open(out_path, "w") as f: + f.write(dot_str) + print(f"Saved annotated DOT file as: {out_path}") + except Exception as exc: + print(f"Could not save DOT file: {exc}") + + if cnsl.prompt_confirmation("Display annotated CFG diagram?"): + render_diagram(dot_str) + print("Rendered annotated CFG diagram.") diff --git a/Project-02-03-04-05/triplaprograms/dataflow.tripla b/Project-02-03-04-05/triplaprograms/dataflow.tripla new file mode 100644 index 0000000..82cdf2d --- /dev/null +++ b/Project-02-03-04-05/triplaprograms/dataflow.tripla @@ -0,0 +1,12 @@ +s = 33; +i = 0; +j = 0; +t = i + j; +f = 6; +while (s < 42) do { + a = s - 1; + c = (i + j) * (f + 1); + if (c > 0) then j = j / c else i = j * c; + i = (j * 2) / f; + s = s + 1 +} diff --git a/Project-02-03-04-05/triplaprograms/reached.tripla b/Project-02-03-04-05/triplaprograms/reached.tripla new file mode 100644 index 0000000..643294d --- /dev/null +++ b/Project-02-03-04-05/triplaprograms/reached.tripla @@ -0,0 +1,9 @@ +let f(x,y,z) { + y = 2; + z = 3; + let g(x) { + x = 7; + if (y > 0) then g(y) else x = 8; + x + } in g(x) + x +} in f(2,3)