From 3457af325dc095e6b35e5d5c84e35a452545b786 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 24 Jul 2020 11:08:30 -0500 Subject: [PATCH] Bug fixes in package system; package graph cycles are resolved --- docs/plan | 2 +- include/onyxastnodes.h | 4 +++- include/onyxparser.h | 3 ++- include/onyxsempass.h | 1 + onyx | Bin 317320 -> 317552 bytes progs/ez.onyx | 3 ++- src/onyx.c | 2 +- src/onyxparser.c | 9 +++++---- src/onyxsymres.c | 13 ++++++++----- src/onyxutils.c | 5 +++-- 10 files changed, 26 insertions(+), 16 deletions(-) diff --git a/docs/plan b/docs/plan index 57afcee5..fd4b099f 100644 --- a/docs/plan +++ b/docs/plan @@ -115,7 +115,7 @@ HOW: - Foreign functions will rename in the code because it is turning out to be a nightmare to remove them. Lot's of refactoring... ugh - [ ] Package system + [X] Package system [ ] Enum types diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index d35b0546..f2ac24e1 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -377,7 +377,7 @@ typedef enum EntityType { typedef struct Entity { EntityType type; - Scope *scope; + Package *package; union { AstUsePackage *use_package; @@ -392,7 +392,9 @@ typedef struct Entity { struct Package { char *name; + Scope *scope; + Scope *include_scope; }; // NOTE: Simple data structure for storing what comes out of the parser diff --git a/include/onyxparser.h b/include/onyxparser.h index 7eeac8b0..de20a794 100644 --- a/include/onyxparser.h +++ b/include/onyxparser.h @@ -9,6 +9,7 @@ typedef struct NodeToProcess { Scope *scope; + Package *package; AstNode *node; } NodeToProcess; @@ -26,7 +27,7 @@ typedef struct OnyxParser { bh_allocator allocator; ProgramInfo *program; - Scope *package_scope; + Package *package; // NOTE: not used since all tokens are lexed before parsing starts OnyxTokenizer *tokenizer; diff --git a/include/onyxsempass.h b/include/onyxsempass.h index 3dce4427..f2863d65 100644 --- a/include/onyxsempass.h +++ b/include/onyxsempass.h @@ -16,6 +16,7 @@ typedef struct SemState { ProgramInfo* program; // NOTE: Used in symbol resolution phase + Package* curr_package; Scope* global_scope; Scope* curr_scope; AstFunction* curr_function; diff --git a/onyx b/onyx index 0c456e0e69af43e9faf543b9e2890a03e216d548..c60887d932277951aff5e9f3da8d50586f2ce6ce 100755 GIT binary patch delta 86916 zcmcG%2UwIx*EfF8EDO6R%YvZvjx36b1$zM%#a?3Xz4u;OV@E{AJ37X0G?r+LiV-yy zY%$G5pBQ7JCZ-vT8fz3wxWC`IXO~^`Jn!@UumAOadtJxhIWuR@oayBrb@2yf9_%Z# z!p6sam0RHl@04{+p8yn=EkE>(iUNux+ zX+AGiLtR`cg00BgQE4^fRja9us!U~v^YW{B^Qe!j!DiOS8ClXUeMx4e_p&oP#*E=Y+{*A6Xh`6MGdwSC5df=PiH+3BCC zr&2rOWzcN!q+dV8aV8%l=c;?Lu`_tynflT~RB+vh;76_)e*e9OFs# zT&;@y!5#Hctv%5j7BeN=gJ-PC$O+5^pTRC_$YViV9! zS)zKO&N8-E?NxU;OIAO|pC7Bq^%D6X&()sw%Ckx8+rI~QeSHAbgOFG72+QTMcrqV{ST$2`=G^Kdz`nt*ZuJ7~`lUIR=ucskW*O+pK2M>NjobTi*Et)letB zXtEjAxJr#|o9&Y_*;TH@y!^JPtSD-@?9MlJr_QH;LQ};ZKjgcU?ER!ZX*ZBI&=-~D>aL5Z=|Hz=~qw8bl6B&_jg!KmD+I;tD&CmIFfy$R(_)%TdIzD zV=ybPUVI~l{j5HIqXzp@wROs5b=4i6szrwnEpg{CrUSiR9)GEOaF{&1roQM@o()u^ zJEu2W{v(AuN}r9Pn?v0{rRJ}C52^+D_a0QX21UBL*;3upIX%=vnksa(?$r}@9i_PQ zgIc;vEDgafU3j67dap+~FI8RL(WL|b`-b|WOBy?>*6$j^GS#kK(-P`m*FC*@qJm?5 zwZ4IXEc6!2(rL4nda~qoSKkCYF z1OB~crd4qzcDCUzwM~ykY`B`!qYs;>-t7^=wyULjc4Dj5em&!Y+h5h)xp_OqKy9z* zn~{_9`!IDw&lb#A{k>-lQhE2Pim9Z2uSgn5y+Tn_(|T3nPlu{IdbPlqc-SjG_{VSc zG8Z^~ch=r{wMy?4wo)D3yAk_QeYbZ-7O!6FJqW|BW}hqk_BX1fZ&~Zu!SEXu()78e zVU202w&@$>Ytt*dqN5JhsXhBvz)ZHVZ&OxL{k(5XIny_Kj)l6KGrPx^RgZo(*a@{x zzXm36(m?(aW{-BimCNcLZL zNl&(>q&+eG29$5oMFw9*7lmsn<-gS%A_4I44dI!9N%MO-oLqKN)Kdd`@HZIsKsH6K zH?S=mr7js55s-9|a_mgA&6M~)O#5ID1{rI61j$x(MX+!HK zO`Zjv0`foT3*F^{l1j8)K!9AF^+91!e;!&XtYdeYt+-uakb!cYYiKZU?A) zh6Q1TJ~yn3q3=sY{j*0Ho2%9vUY%vAV}}P<%1$+9WPM4_H}8QtI1(GN);*bWvvc!I?Wm4(Qo3~0 z^X&^LJfq$o6=qnNr->V#SbSck(FYm#KA?UxvWoc{bvgH(_~2Nz)u?#xABU`3Rz8UM ze`eFB3$j@zv&rbJXVU>t_~AbFk5Qp)ni?>!x{nnh&h3wf+G*T6pD#MOLJHJZ;})~g z>VolC*y_Aq6Y4YG{l2<(;VLjgVY-jMQ9TPWr<_zO^Idk+nl<8z9ly=C-z8C^`#W_9b7W!R!rn|g-5 zQlC!k#d6g*ruB<0ET94yZxiT)E1?Z>uEABxL%lLBI&PcPdl%3m>l0n`x7M#~o>N1o zM|vMe=p8R~)y;WLr<)lYtG1mH%Oiu;i8F?JmI*^-Gri+Ho>7mt4^xw82D8R_EoU}n z_MXS!HnrS&V>cJu*~NBrvF%)JYZu$X#Wr)XOo;Fs{FDFO7 z7QMH=Gx}RS`VL$1skG~`soG~(s7-6Kf2GYYxC3!nN^s#+9Na4S}}tuC#hnkcYX7+G7DLyUz($%WKnhJq_k;4@GDF}V0l0#NceH)l!^d%{$TPh+v{-O9J-;waO zLsa4~dZ!O*ZK7D?VO?n)rGMX{FUEVaGPEDIsw>|N@EJnEayIj6tmeHrD*W6bJ?Y1Q zBcUkD(PS!*9GOGZ`g5E4EFle9CG8sLEuZVnc#|}B-Mpbb zPR;w*{L!rag#(m<&qf`Ln+USLqO)ZRT9YPp?95OVG})&H(IAa{Mzv?$peJxuRgOcZ zstPxbB}rD*pnoWKQco=mG-Tb7RkMdv_QoJxNv|3ohki-blu|1#3M+kPKY6B4^dr>H zi4A&_N>t)rI(ow{+9-p{gAqo^!C>b$H@At^GM zr%dMMO143Lm{pD~Qq4G{+i^4EA8aD-FGiE?$E0cz^f;8rw?r$3NqbviR;KsGMZ zlci!bc1Dz5)CRTmT*3*yWpd?`oFGI)Ku6R|KhU{=7e^wMS?8bxtio%`U9GM9ysQuFOl-qdk*(-Ah>-|dR_#7 z;ksO^rrg)vlwn!M%g|T<&Iz;sTF2EZuYz}6JJ6(u!lH$rztXfjJ&|2WNd1=xY2hBy zjC5+bhxkxPydE;IK)2K5FNBnF*9m}2)lda;4!r*-9GsV46ok?Q>7~h_D)Dg^4BaFS z^547E`X5!oCckLe_A*|(sMJOifgCuhx_@~aet+l66@gXu;DAJXk)3*V7(d-fTIUNt z{v8=*oq;E48B7t5q4j~Qx*}HoP^T zKdG+9u6k%n{*_#uTu1Gn8N|$L%Iew?8SlVOwy_1^NDMqbTASRL6X@+P)$G*+!av!f zt9%Ohw>frrp0_y5_~j+)#Wk^BTX4=Re1DPpVojLm65^MrVQ+_fP9%1y+UV`@Hrq- zp1)NF+e2*)_ETbOsbklLx7kZeEFKnG*bC;zWUv| zFt6Uk@1C!|S{LTog!sj3#QJd0L}CZ4Y3suiEyOl<8KgD!cI0aYpHzZMq`GK*xYspe zU(Hi@uMhJ&P5gKB)GxvBCjQVo_2K%k*15#1^GaNdB#YzZjO=L6DWo#ar4mIdZC+F9 zNh)pB?i<2A(}}I1&H`J3STA+chH$%;*k9+CWD`#|PT>z%Wj#xR$|;vhc~Ws)4>>&f zfmAk16*IbL0#xo~x=egV@tLmpSc>n1_%;p$d8E+Cr9gL5cN)43tfTmbuJ}ZXk8s7$ zqxcAQ@y0m*biTTGWADU6IAUVVPJ_-)=j8D8tfoJOgmVf?SWL;t$6_56SEP&RcZ4`*UkKF9nw#nElir zHV3m|dF8iZ2ftEHez#oEZh1)uN3J5*WM|HAseRua5p@RF5^`6l$JTbn?$*O6*HnMp z9K_GYtA_2dEJ01!ZsWz-YKQHS{KIT@!uHkt?>NFL}EVa$~!b@jX?it2Ej8aGJ>0tRI z%C+qM5T$;)=OsQ$oO}NR{wPA7vbSrnDF$2d`83ROQnp9HR!)QcfWkTIt-U9Grh#=H zR!8L>_@EBM_2u1tbJ=I=*!@xb&=|NA$r`Bp_m9PvEBZhS9CAk<*yG!0Avu@Q7m#(T zaJX7NuO4n)2jrzjE92m#V@WUBfTb6npy`;LKd7F`djmJ3@KQ)+XC2n z^_>qpmTr$~qNS)LxVsv7sB1)vxw_SsfFmK)OWpSKf9%a$a;O3;!`{?&IDuTK-cirz zcfgfi@Zk*BOC5ketEsyWH^!;q&%^C3zm|1X-_^2et0SxUZ<*@PM=JWPaf?~1h8zuN z%hcLOC$V7l{i74Yw&MmL+dkSBtkYTSP#oKWY_;A;-6O_RXjb3^g7e0y0Q%|OD9boV zJ@C=gpzE{9hVcgAsEuYcSydy|v}05F-s$R*V{xV)A0s@+SV#Ts*jFC812j#rbQY*y zIBqLd9S+L<%I%dWYIo2Ao#OT*ijtLnSI-MOC;c2ki|4N;8uOun;Oz9f>|(~ii)gVQ zXXw7%B#>^zs#zx@`HlYSdnX#8XB3|35uubASdWaI2h@3Yqfm;I)75?_6a1D$W9RA|+Uh(Sh6Ag zR(q>jd}@O^e~MmPho`99PJe7T+)ER_Gg+`n=JdF)y6j9{p5Isf>`YhRNp$4H0Yq=9 zJMmNyHT`UV{#_q+=h=7sT0ND~PKV;vp69}umpc7i9RInuy6Id<7_*{(>?c=pQhxG9 z#yJiC02Gezfg#m;c{SDR;|TlnAXh)W2VU--bBymo^L7~%B{uFP-b?aZiGS&(hi@nT zzT|fh|BK{z5&x|l|GDIKn>?~?7E?MNZ27Gwh_Nh@_P7k$#10ad6L(im@4^A z6h2b&8;I}grvHYUPIJj`CY^ecf5#WMGqwAYr$RI79p<$$vt;D)|euZbTk z`OCx)l>9fuca{7V;#*1nJK`Hj{swsa?dnpvNf8N>|CRVq$rlpuEBQOb8zlcH@y}?F zonyRD{2j?ZApS?mKP3KZ$v-0gyj%E3I&YVWKadgkNNKAZFWmTSH{R~XPjusly74{T z_;zl56UpDDylOcN(YUx>QAX$`j&$S8xba?Y{7c&G=NNVU`)>R%Zv3}y{O4}`Ny*=` zQ^t8x(5roipG>}bTm45F;jg*Cemo{7Uk=oimcZ zc;nU(`hGp-H9fWx9gtPl7h}xl)T;q`WY?9s5e0wx5QqO*Guq{HXu1h zJ>&b5|C9>zi{$mR-%4K3_;bnYX-}g4DX}i(xhd^%OT13yxbeiUW+?|o2C$1uSeR#x5ULQ{7B(D#@Qj*t)tEMlnMt%Nx zEcpji`rjr0l=y3se?|OPlIK{OZ=V5A^S_CNd>LUOez)WUh~Fgn5aLzIM-jhB^5wzf zESY1hM9gF`HHjGorV%j%!DJBA155{EI)Ld$Oa_=Csl+t`H;I^dnjDeG(x%Pa@%Y&A!1yuJ2pqwY<`g(~kSpy0&#cKS`kNHE9ckiZ+@uREMazCfw7}DnFSkr+9w51#TKvb=Y&jSxaaFJse?5*b_XAo&nM)~F7jb~O?lnY=g+$txfZ4KgEW7}_e6rPzv>_x z64>n*-KzeYsx^3hYo=bhS1*4AW7UJh-u)6;l-4Jrl&tf57TZ2W7CA=j?>5~H<86$v z6_fuwgx%$=LH@09R+_P7@i>AFwLCfJGG2Hte^?~5ds%DYE!atPEXVO+Q~tB^>~mIe z;xT8)^R|le1xmN909ngfJf$Pf1Ss7AC>3@Q_iQZDyr?6c!+aO476s8PKx~d=6-4hu zHiNYiR}r&{t;2#_kfmK*}>wOFcx9C=)RTcIz^UL>7X5|=v{->x| zl|{3%qD@tHfDK$-jYYC1BB~l2VZQ2#4w3a$p;f5W*m35c-=R9|!ui#EVpj^A#0H3n znruD)=s^Clnye9L3Hh&Tvzd&U#I(9>a=Dd-#pnUJZOfs{?vyUYC|I_!YraQ4c992f z$FMy5Kwkk!Y%oS(^*I68Fe4mL^Z{!W~@wp zY;(4dvFYNy47Qx#z9QXz&QtCs(;CCXXQDoD2h6=XDn7cc!T``C$4p3bJ#@Dt24XK|M*m}mMkfMNEdd6 z@muFfDlZ0gW63^^m%H4onZKnQTgv!f=kk$lIOA8&>NyGIUn+l2Pu7j`mS<$SGNh!nn&j7)p)+}%>)^66m5u@lp2cxbkwxH9v&rj_hmP^I4N@a zu^TKZe`J5=W8h1Ui5Y`fg~Ssd6>E1AR79LNxei}j=8!XP%C zjS|fVvw!j1M@8rmR)K}*Hygq#GuBW{9?E`XeeydGW6_+2%Y!Bz#cIMBS%0d}mw1WmuoH#X&)#4R)h$=H!u&~d>%-2y|n$CLhzuu*=8<;D7 zX0j^$)(O#YCJW)8oe(`{vY+{_t)k&9R>5-g0_L$D@?f|3f|xRk74d`bh;g%VXEa(I zn$4Pko6Gzd zvx+kF*!MndhPa~A@?Xqj=RNpOBLB={w%rg?=PjDW=)+c_DyuDWR5%ZAoytDm!ruFJA(z>x|k-dTWizXXb z3_m_s)-*!8^M-T9zBVi_-+LqT;h2nqHnTLw_qG&0x3G@h16#_Px{xXIx3G%dH5~Gq zOmTM$Yia(ag^X`18ok4+nD;rv()m;0VZMy7pCuM=Wj)G{TLraj<9Gs^V@}h$7AcCh zvX$&ae)cx@9_Npmids8ZO~1S)@H}ThKl+S|Hu@}EWbR-#{#H}5a|df$@$=(UqYJuG zbWZ2Zjwvhgq+ZWd#~#i)E-lLKWMj%+SfS_rC7|SW+`%UK>vpmz7Cp>Fk?DtVqiw~A zDF9!PjeEmAjzE*Rwu?pi^l0pA-|9-GdykBI&IF_rHXTi#=*`L4sd$iKKDF79XT z#pT^>3O}7M1An_N13%h>z-xzO!eY_keI$JTp%lYN>>%dvg^Irn<0;?EbR$1NV8w${ zv8`bH*m>SGPud=ORqE8)&!({6VjtesvpM3c{j5tw5DKvZ_p=Vfr&Zh{(id<9rUt1O zm&JJ;_MO{a^gqDrTc+Z3u;c3R{si1`Vx!>k(nRMb7pLYi-#gE?l-0V-PqL44ypsuSZ! z;Bnu5j3B4Maf)fVN7vd<{7d4qj2}v^LvzHs!z{RrN@8~4TYwf>xO~McN^$-$tHSn+ zXNOs&CD^VPP8LImxFc*tgo)LW9hJ77$%C4B261i723P#(=$VSBj+phd+ZzWBCTudoCeh=VElAx zk#!}lbBnCM(mJJOz3QBiQz;I?Z?sPQ8!x|1g^~Gvj_?^-Yl~<7zoTk1 zinX1f9FRJ*So1|*!`>{`#)782S!~y4gP9LX1SNwSf@*%XgR?NT9y4z8E-?zqqB>((@Q0lcH=253-Y_5Q=lde z9j9*eKXjep5*xXUz8>-4!yCY8HzJXHmR$?1xVutLgRF;6IVkfpX|F3h{bJ_1=(VTsvSo^?%#1ox?yad$uAK}jUe91Zs|%x zjs|rG)dV#KMV>0wQcqzl<`n1*3ID&zgtUJ->}>rX>>WY)&!DeB)u3MoG_Jo0`Ghqr z|27tfN+7~T4kUguXdtKqsL{vynV+z^MtjSjiZ!AYKf+-L|IW=~Z5zp;1V=c<{Wl75 zq zgSLVcCBOJfmdWguZWn9yKrKM;{0Cb8AHx2V-ao_MbfoM0KcpWl!z*YL!F2nhSnKJa z#=z+aBRLWDC-`qbhx6kvv8fh&(C?T+LCK&DP$y77P_6s_PW2H!3N#HgAG89r9<&qm zpY+|s4nn8k-}UU;7YMux`W5s5^a|vj(1dH508kVt2~-=@6x1Hn3p5Ng2{Z?^6to7k z4YUt*4D<=;GUz7gE~p6PfeNsK!fxA(H5-^3pj1$6P&d#Z&^XX6&|=VApv|B?pu?cE zpo^gEphD0Skb>GR4GIFqfs#S>K^dShS0wsZJgPMZcgL;96fhK|GfR=*RfVP45fsTPb0bK^&1lO z{9yyt0HuOjgSvqRfyRMmffj?_0&NEE0UZXN1ziMP2Ni;zfRuZv0Z_ z0`&up0!;(W2d%h=VY?p8PS8P60q6_RRnV`X2cTCV)1RmTP!uQ$R2$S3)E?9eGz>He zGzYX4v<9>dv=4LybQ<(I=rZUA=oaWcsOZlitQP3$-k>s|FiT$8Q z_x}MEKKjpgJ&;#@P!y>1<6?t0>2dymU)VBckE^L^N5V9%Q@Ezx2Q7)vwD?F(D**M3 z(zK_b+-OZpiqW+5paHR(_BUuvoTgQe*R(G|!^>-$M}nqp0@bx?+BcwaiJDfbf~IW; zrB%cRx3Z>P2To1WH2+GP_CDyB%31|2vx=q#Cu`b4&_~rZtzA`3`vbI~nx;iT?ovb3 z9)gyNw|`^R?YRx$LlaF4ud8W4f`|`psAdzl=e)VdYAuSsK!6ydpYC`2aX1g9z1&Ngz1X1xv!=X zMLICNkEXo`qOe7durWZT|HRSo#;%O+KYR>4Qqm@%dO=^|Ea)U>*nh%*>X7`O^!|I8 z-Id5`&>h_qdydz%|8)v?7t`cc9V}#E{$UPy0kX%WVj14kEt21BrK1cklxo z@<^bz3XQ*7)5?KjK~+HYK)(nK4$w=G*BVVL1BwKFy-w54z75^A=nm^&ql&KuEc=H- zk()exU4HQ&xU}w4d`8oL!&|fbMb$P0{eHu91G0sjHwXVy$5E8Qi}3PPt4cAuDvj?0<(K#`U76%oC!lYkXQTh(W+zf0y9P={p{SlZxfn!Euo-d6aYZ{M99sx%tU@iuZpNLfh zcyB6J3?D`5JPi{&@B~h)oq(SLCjpz{G`R*?A4}?CU`rent^!X0i-5l@#`KC;qEE6g z#Q{ezf#bj#*>D^fx)hFEaJD`PrT_tRa767jSZvsoLKzgg9!~&y$_g7-^0D9r3aTqXe6-o{q2;6B0V_1zf6WA4a7kEmb zb--3zQFUb$C1M+@4!8^03pist)@R_M9oR_#9~?l* zfz~5vbKoVQ2cCEzI*K+24mgIA1L>eK2)G0|A2{n2mP_D6I(VD~^W|w60Q#JPfj~tm zeHI3Q9e_=NEzZFJu;+Og0A_s-1Hjf_U}FHhbpe|KVD&GtAtW54+8fAGrmUWxd>+M*I4|4-(5!4ms6A;-=OM%-d9j{z>&a7z=y!MfVOW@ z^}w{NsCwX7-~-?WpfyNQ{=z{a8R+>lnhx0H7o-Os`3+SMT!>BQF<_w`yTj{XPSAEH zSW)IaLdk*U{=#qpJ}H9dzyTUO2i`DaMFdtYt!Y<*pZRIpD`0pTtcrMTIt$BZQ{Ymp zn!|uAt7_U}U?!HfJ;1|Qx-J4QVu^bKv{z}SX+d}*zZzH@_zu35_X2k6fXN1E>ZEDg zfE&7M+9$xOJ@6$RxEW{)L(}xsG#l_cU481_BRz23 zK%@`H_!om=ARL`*C=39v4ub*U^${=tyf6v|fOkj30C3t^7y$kYbGj))Q7TSEdSDM= z25=>C81O^jV&I>^ok0IdNDpibECj9xnj$g&%TI=ZNJSX}%m5w&4g)GvU;x+|xD&V= z_yzDZ@Gfw|R4gh{igFB?46HH@iwUp=a2$}&)U>yNJAns*RcC41Wne4d6X4w0nigP> zRum0P4Pg6BY`1_TfRlh%u$;aHY&-`BfcJoxfpgx30pPs3Fc70CW#=J1uqm(;a3pXN zFlj#01G@qb0`q~Ffr}O(J@7iv9uTW2b@BH~Y5-ROI{_a9Cjr}H>3a(}4|ouG8h9DV z7Q+Cr2QVNG6H^xY4zTUi4E8w0S&8~&TD~iW5 zO{)*Q4(tUCSPla~{}tHk0Jj4RfLXbkb`$suP${n{8&&jr-~p`9slY8*bNc~(u#Cr>;YK;Ci5f@3Z&Tp^BsEL+u6_0P>A60PG5!1B~7T1HjY30-$+|ru_>1 z6zE}7lL;ZYM?$FlHAzA21JC2=v{J&X&6gVHdGPN`<5@1ou2Py~wP}bMiMi<*vKhrkAt(v)6UCMyd>WW7&K2Rs#0>Ep zNmYgUIg8|T+OLY>A;!y4yDwT$h@qnx@f?@=HjxF9?GU@3Lw%LFK+-sIkD$8nd4a%3 zqUsAs4MYcmAH;YH>?Br^^qcsQV7B;%0>2T@NeUOiFCh&O4PLUy_%@?(Pm7FSFPmX3 zhx2;bjF_~=ahqU+F#ioWDG~|37A*ho1H7=Q5Lp!U zyVwQbkL}{cGZx}G2{DE_;*Y~L9bZW;8mdtR>aAaBR+Qn`JmD|ExWzBkdj~>f5Aw$Rw(3nDX)r7=7LisS z?AaPYe#?c$z{`3^L2VS|n#))H%wu@M3gL+-A?$k*&v+zH&lSx`d@2T$=>L{j$e?B0 zB;F&8dzb1xf}Ioh5Y3hd9}cauJ4I!V(5s>iL{=KI6dC`%*h`T=iwh*;o8g}% z-V}I=5y_1oh{^_tH$)qV>?<*v;D*Q{m?Pdd@L2eA3BV%{i>IXew+Qq=-I9ScAN$c$;<*PbN1PB5Mp)h}8W@rIzUU3$ zollBPgz`}*#YV!x1>%H}hZv?7$XYed$BuM?cuq-Q)6Kx{-L@9;>RCZ&(XZxs8N zFq;sYTt-wj@fbr`SxwkA7O1!BD{N1BIWYkdu(AqzhMNhRs8Y;=&D7?@u=~6$ZXi6y zw<1nA2rB7ed;oPYy@&0AT9=9<#*Ew>CW~f3_JtU3Mz+0bi)AEU5c|!j+_Z+8Hug0u zBXlb?(rGKZLOdk3;6|8kUsKC2Q9A~;EK${)N2XOt#ht@zYIjT2UO`Ps!>s&TQ~K&n zNx6k#fBQt_!VI2n><8FKHr2Gi*T#@lA49rt(C*hv(-K~bk12^?kNBY(IDx*F+YcqV z9YcJDmYUY*wfOEO@z(>e^`cji9SD-;r7K=-zP#>qoLxPvWuQZPw=-nAhntLTr)azKEHm<{J4C1l* zaCMA6uJ~7ok4JnR_xMS!_%Q788+O*j=YO+culf)gLwNa&1$*{_(6O`ltPCdXS>Tt7 zhj0eN+RukaHZI!*dpmcVyj4lVUx#)x#J7AcKD{LV72?Nr5kFXYS-p>k;hgZU$o0Wc z`Br=g>xM78Xd=>xDfzAsH}O7Q#Zw>j;Q1ohf)V*`S8>9^%Zm0EZeo{2cMCfCkRBq_ zg1O+X*gz_sdy+~7Z`V`&KscnAD5mH$BHR~ccp@4Q{3&_^c-=lC(-)Bo#Rd}n`ic`I z&KEaG9NJG5llZ*|w<1lUXh49;hG2!5O|VXEAh;%u6J(1U1O?)6f?^Tw2QzgBiiUph zWa>cC2gnYH*$BoovVq{1I8I8&LE;BeYB)#~`(Y%f3>Go|DEMiS?hmaW#b5#<77$z( z?-DE(=LkL(zX1%3hiM`kO(~+va1Xc;Uj}BU4HwPIAkP(Ia2eFqh!J85i9d*4h{dAz zDZw>yn{=m)7Ty7HVZ>Nbfw0a*s+{!ACW#1A zdlKA9q_~9SOcM{wB9DxD zqHH;&9y?Fe1k%)94#8y>iWwB#W}#S1!F$A!a!7Pid`Gb(vqW(@w7^3V9fZ&aA}t8L zR273sx*`@3JQwc*%0I&veJ)n$lIdCBA{wT6!zVbSOp3wDX|4Dp2n`#*URZ*GgExt4 z!Mr^0wng*^=FQlg{4K$Jst31yv?C;fm*UlHs%gAzND`8BWkdrUKEdI_WP}dN8~$$5 zm%2Ekr_PemLCh`s*Wu3S<+Ek(*NQe9Rm4Yq=;8KO9eC;I9M9yt>X z6MiW?F26@5evGkUqFfbToej%xRfSJucp-W=nHxE4CqApjqgeI)JJonc#s-OoHTY`e z|4j{Esl;4_p8v3Xn7c`q9@QjEcreYQM6+6aI~yuCGQ&JEt~PJN>WVKP^Kh|mBrhed z*XEXxXP5}N_t*H-!@DiIj>&rtZXm4Qj{-%}X&xzJ>u~?jztRzrX!b*CJS?U(2o=mJ z5KI@SkRvnF$uVPs#66^84Y^}(u$CJD!Vz;4K{u0OP z@!*t2&2b9+&e{3pG|nz=Sj9v zSW*?sMcmey?^pi;3N}kW^mX(7jMa!qwgkhb`F^|AqECGu8T!3T`$4tmaKUDIw-OW{ zG+!;&K%sJD~+mAtJ}yQYTb7l@_0)}JxWhh zTz$3prXi2?qMI~o<(Cb4g4dTMSkdH-xGmfdJyNm0LN_rRST$CD9J*ip(m@gGR$QnmdS!SUGQPx(_Fqe}OD&`tBN@O{POKD%?Gt5S28UZO_gKkQ< zZ)T-CK?(|)(tm<=rmo__8g~>UQ@KrcZ0lcQZ7L7NERT2GHoOG>F_l;L9fB)9#Ttxz zcyk=9W)op)JgVX@Jun?>qd6XdddVB09FXuY$CA4nqjjnKT`?31!e6?qly@eee@4z+ zo;6-Awn3$7LktncO84UC3M}$XNI}-AXc2Q2R*Hsmlw$au3TBH+MCz?6zf>(J~deNj-pXx%x9xTzs4xeK0VGq3UQb?ABzo*QR3&~2vocp zW1Ut4R*Rbu8a*XJws>3FA~x9@+A-frxb#bwMQktIr?$0h4Vdh}f@UBtHK3(v)PzU* zo`IlP`=Pg*2e6VU2br^&DFQ{X(oAJu z!b<5=m2?OvXzC&+t2cGX94T29pA3jra}8@Vq_a$-@~4y`Ua`D~(wJ)ow}w!~qqn)tqI^5x5E9%ErD<0txF70Fz?$>mcs;@WP?;dm22~m*0hRHG zW9q&iY7>o`^YAh>8A}@vN^FcRvGKrV<3XqgTnnJ%nZw2d*m%D=FE^a#YiZ-5(+1W$ z^TSZN)?K99c^FFnsHMrGyY|p!_F*VZ@Bw7oVfJCDKK?9^X^D9lDu+st$^5XwMo}q) zS1m(FC7InLXLe$IhO^j@T(%#DdZM`kHo9y-g3BLd@Nyk!xsWyLqc26DIA){xZw9d(l zo;iyp!dvoSyWX15Tt=UT9w4J+*-JhS87&H>g;E+VavCM)i`<Se(Q{`;;$DgO&s|oZht4IdWZGf$xx3NlE~76(X~mXC zUpS4D_b=SNf8p-^3s*ibLjTacr`#MFy>QRyg)5_%p|k;z8NGC7B#yUo*8NMDRj^PE zAkz+`NQ}`MBuCOqm(k)-+9pV&#ZIH-eX+au#qQo0JM#%LYoWBSu-NsPN^?)HxhL1$ zlWUITVL@hvh0<2Uswan_Ph3{L-%=D7TMw%~V?ffU46EMBAj#ISH0LSSamOq%#m4hD4P%JXCgW1eWCM$&9o`lG+g5vW4W9EhM*W zA(faY!;G=mI!F@`+)O}nGf{@w-EAPU#6~O&rA>^q0m01%BsUw7q#OE@3yGFoE0sHr zh0>Nsnty;rE4QlYL}(%M?0l*ILYbt zU7m%~wn*j+!I}6X65I8}2rS9U#*DOWlG+g5yoBUdP)KeCg(OXQnie6srzspeDipdZ z3!!b5GzY=W93(&d6?SLWgXq?NkQ{YyBO8CiMnDe!P^|hX2toQVv+4^LB)MWC!x}7< zwr(;*2yPida`PWjk%yf&Kzd(?Sdt<5(XbIfxjHgLkXwe3N-|7gp|l^A8A5Q&5RzMl zklYFg3HjM&*Qmvek4tPoaI*o)%?2bl8<3>Wo~HM(=kqjC9O|GUGtxFxx&*<^93(e$ z4O_lu50NEx0DdfN1ZeQfQ3nWes{=@mIA)?lrT7iL;IAH*?#LtT zlmvA%8mA9W6YV14Oh0C%ZMAd;f}1mt+?;{r<_x3~XTU!oXXcQ3*((v`<_sjNpqMCR zOItx?JD3^kL^-pC;K){d-jRoz^=^p3j^cht9>SMLiAL9W0{#*oTgl7W{per%F;8QL zMlcX=GG{U)$MGn_0?}+|QMwQl17Qw}GEq!965eD{77}h$gD{sx1(2X0U+1wX@+u;Y zc8c>^R0zdH&=G9`i;98(x8K7c_B4f|Z;4Oe;4${D2$n-`CbKR_&N$rQPxCB!1Th7y zhh$a!qOcyC7coP5==+|+ej&=7%dAHzbwjLU=9Tiap;(jYr1lmIr6`kiFWrW$VxcEV z(K?HK5lp|E39|Ob0mE)yBgHUyMHT63B9Hti2lLy^FbG2QM)+*r$O2!W6GqcRC-WwU z@G*I{#UY$UM=)=52%G8PwA~@pC1>x{z$y-4sH+|A)w?HnJ{r4i)TaqJMhS zK)HICH=GjpI`dlguRJWIv}>rM|MV~7;Mn?_af%XO6>Z19@`xwFkh{-bz5<%IH3YMv z=q%GyBwTPLohmIT_u!hXBkF;D?V(R3Jh#1#YMEW}@Ta!tx!sh67Q=LPyVAgstPHG5 zwVO`03?(sJswwSdW{Rz+7YzO3;ZLKP=cZDrY9hn3`(TC~tI!yXx8hYFe8q_IGa@et61TF;PsHPfcoV!nr!tQvCX*p;~TINq}NJ-oJ{V<;B} z%ZwaFMcucFcV_gyM|sK!RTxi~ph#0S5&rPp*739@gxrXxBA%OJqrS`bdX(A%YgCw| z#Tc-xiHCj??$BT6G0Q_DTYsQD)qtHExQRzC*}#kK3BsYc0lCsI25L5rgE(vE5kwu$ zkbBskaLS<-?a8xcrslW%N&Ul)WNf_!7UXEE;890*w{D4t`l0;v!yS+Qvt1%blRV0j z2h@g2(qYWAj7hVFeWcocCXuawuf!~qZAkTA8P_z7dsxXw)O*5}zET~%PybCtBHJgJ z9+{tqJxtd9FeUN1L#>}f&9;i{l#}&}*0F6S=YpIv)RNj!7hG!yBzN0(m+97GIM9!+ z?~Y>0GOsn%lO3!u)8#4Bs1ZW!H#? z?qYOSyF;yxLrtnYa;mIASv^hNP{gDgRG-;~(rxHp!pgz8qu(hBXt*;a4VP`G>gcSM z2MwPbF+Xy|=4Kh<*C0WnYj`4Da=BXBj07^ss;({X`{iihatAxLWp|JLb z5IP^}-6ClS&EK8|{Sva5W3KvzOLdIOiq4MjX|TzTzte8J?1eO5&R&g%?uDkXGn2uW z^z~_VwZqgA>2kb(2Wjo4!zf!{KFL`lzw-*t#-3dRSru~qKAn0HZKK&E?n~FyG~duy z3ig=myD=(w(l~0|#av&|+O?I&{S6Y?`ddlpOmeu@&@&f2ya94|6{`1z}VsHbUjl54q|;TS8zE zbk6dSyLy@ondZF6>WjP1(Y#EvN{X_tja1&`NW|7tsPuX?uPLjho2@Rc0q}3NSSb=k zx6!_zjpzDTCR!IfP4sswlJ3!PsmC#n@!GeQG?`w~4L#tpv|Nwd^>Iv{tn!4xlPFOW zs%9#`97K({Vd$EIx<^%(j(nsk90G>lvOAYrYR(pn9NRkof&rT<~PqO)eI zT9721`%om=z6?7o%IO@{%wMHpIgk2|h5KKH+Rhe^Mp`a&!0bc8(zJzFarVcjG}-t% z>!H1kKJ76-XQey(qd)hRgQuS@f>yr(?n}mGqtM5^q|4L`ZZY3=RTQO8hRkv-U6;_0 zt*2m_^(~etd+A}j%t!tzxE3e!@TL?kHlS(oA~g@962a=G1WKScvR@Q1dhqn;b`D zxE(8#h{{iEEECcAr5{_rgNmeYqT8{Gls(V2k5a1ErJA3sS3{ZFQkTA*(~qrhU0qSC z>D&3adXGdIGh_7$Wu9I{LvBH4!WWKY4mTCws`yJl`j}Yk*pgyvnc(kOrgNojB^_G! z*i_1Wg+pzHJ$9xqx-xo%Lo1iG`jPGT z!#nD>HbZO2KeY1gq*liYwL_uZbT#ZN68!2(E7KjuZjjbp6SPhS_0hHFKx>IZtEWS& zOf_g-@q^Z27K8P+l z47r6!cE^!ymLs#Vlxi6*u(yH+=`LM`)= z$a4dW9sz4~?no%zNUDvOp!`Hy`f6!qj@1%7!PyS2`3@};lG~QiWE9N8Wh>I!!BS=X zcaGj@8&B;V7so=z>G`#{(b1kIvdAfr4Y{9W+UR(Xf5|Q4x_C60*Ra#quc{0E5!R&) zm3UrFX;FWQ50r zDV`1G(f+Q-VbX`dvLg3Q9-rTC7;jF`n8a}X8B^sEyn4wqrZk#Bti!~(5qvBQ6E{b| zT)6Na$rrmlS_=NZyjKbn+DIO#zgO~1#3eSa#q~!-o)yg9AkcfIDx)0ll{|Y%g}}<5 zh;h7E@~mpjN894P(uz^~d!-Yj^!G|HM(OXBhKzQ+SMuy={D8_vFIu*b=AC3N9gX^e ziAOA^G4xa^f7lrQJ-x|lGERS!m2?_!vcx#vC`ErT^_^9ENZ*W1-&xHlOn7ziDV8t! z>cWIq7bD=Ye05>Ms|)&@n|O60P9gz&Py9KNxBK6Fq#%+e<4NRSqSa))bXp_^Pv%wR zd$fn4ZngI?)KPolgUQ?u^(s?z^%hfjXGoi-;AzPs@zE5XB&!Htl=RfHiXb_w$YUz5 zy#Epvr|Pe7noDVnl$K28DTphO(sjg1WB6+0W(<4)6s{17iXYmeQA5EctjYlF9 zln$6x67=(}KMSCi#;#MbEu1Q&vA*lSM4b5}nNMpBGM?Mimg9&{b3`XJ7jtLh)#^sE zeKv0aHy+I9jbnasOyABqEg42W^rL~QpP`kC%|)k7Uc+DC?w|3a+Myc=#Wq5$&E!#j zzeixgyH5sU=DB2=Z+LV*?B!In@x%AL9zwJDJh31d=1!%5eqWc0qQ_hCv#mfbbhnZgP4>P@74>N5G9TT0G z<6)*>f!jpqRn^)8mqVE7vKHzSUH(FSqI za%JJ!+jkTeM2`q*)+8T-g7nD^j|juW!Ypo!)%_20PN8}Mg7gAl3e`&xq>4*WY#M_t zo)Sdw<4kxTHyBb-5WSBx;eDLLN5}Mf3Qb>*_+*-1e}&|CP*40&G+4rI6@StN|0txz z8@Mq0n0->Yu{(ko}GrM?w-}nA={`~g3GMW2%?)LP0-;?ujH>b}iqu_rx=p;j@ znzuttq{yv;a^nQ=X;pk(URo7jmzP$>*X8Ld9t>5Zz=NUjP#&B%#)qR6G^dU6G)^1! z`L=E>8{^$R4Ram^}H3-Xgeo@cTi%Oz%nY;_)AXvFea-!s}^dpqHrYkuk+ZA&hfU^MwXLTI&In z)_MTBt%tP)(A|*E+khuSWH9tJ@(AoOCbDH{6#)3`;Ee)c8b3gqANQyjrxh!%>FudbHfHZ!9Qv8UR#tx9LKi-#tMP4%-xz>LlRhpTW0ARQYutT^m@TRl-I$Rg{9{6!y z7YO0H0C|^^4VA()f}Mm`3P74tfYOu#l%^CQUn#tg2a7xkag{<)nobAgrYUul%D&Kf zauFs`_c~uJ!o2~~B9neb8wiG2`=He%mC0U5YXu-pD?n*l0ZP*fkgpZqE6^+DJx=yI zs}Pi?6(HtRWddUV!XN^%xD_BhnUpvHSFCgMV)xzvF|Ki5T#S1ItL?OV1BoPd%>pH% z&>WT75503dCxN_9s)PWQl>p|d#9+qoxl^8~V2UMX;Rbn&&ZaReKsRWgY^SVIj zGL_h$F}yAiny(Uv0D!g}C4!+Nq;5Se&pytw>v3)FO2q4WjC%vCQ#~~94KQ7yy!Y|6 z13h?eAcT7ZM*=@4_Xa|^H}ET|d2b+udjo9kfg;`;2;trUqe4ZzHxRpe@bZT8F7gZ;^4kf2Y9JMa5-Z{DhrZ=Y|aJ1=-T7U3T=g|%rqWmX?-Pw1iR3h2N>m0k(`2`3~qcGRj<}Yf)xKjbZ z%7e2*l~eLIRM0a;wK4Q7_4%(e;5L}vjER!w8-%E?*4Y3+b3A5i$}Z}OmZwc`)TYpJ z0HRL`GEHyPrh)%;Zo3UD%<;~%x54zL5^`MGTUx0-_|V)&<(E0+Bc?ZMYiK3;TrJ3= z{MOc`PTuV>z1f%w+lH`x5Eh>ZMYQRS+OC<3>5bYxYN>PH?J&Lhhad=}9WKHKXXWiM zy{Si&)TTFTXTN&t!;Olr+hKY$UZR9(SHGoB%^hf<*E39Z6tK(Imu0C9Yyb`W6mghy zFGZm0QCNu1E0^!hDxyM%1By;YZxgU(e;%ecOuRO|Q82wBD{Xp%&vpoejG?)WDvwPj zD>1!ED%jqbd(ZT8mcyN z6?%8QsiUy!SOF+{2++By^VgkNb<7cfvwMYA$1B2#s}A@cv-y>=gw0il!m8sTwAor`8Sy4 zE(V~@aTHb^FFBcaqaMB{fua{y9a-pT-BpL`Tl5pAAKDxTA6N(_P_e`uM|rCbtq@in zR7jiS;50-aZ`Gk%?RL<~szde9=eu5Yr~$VWU} zv+e)ws-rl68fB!6anu<(|8~B<#~5$yw4FOf8znJywfS$9f0{9lx+drAJmWZ#qi8c8Zoj`iF11>&^dnl=*kI^WxhSq~TmVne06QjELeY=}{EcNurZ>zzj)fDIMLG|gv|$H)2a1MbREZA$Uj z6#p-IoRi|Q2|P+41P=~=n#UHO#{mzzW*%xwipQ4t0YHt?shq3Fmh=Q}NhNS=oP(rh zy47RKjNF=D8@8rrr~S4R*KP4q z^sZ5|cA0KVXSyxLbh`}Qn(20rDYf68uKo6O?YF1oY>!_?IfE$86|_BF(Dsy|9dS+p zw4fcHAZMMg{f-pZ9r1PKO4csZ9qCMWq?qoEbM~N_?(~>a`R4FH#hDFGylOxgV>Bn?t57zk-bU;*svMm^s#%YIOh{uA^;CN=V4%TmrWs1@1H=wDi!BM zLt_K*unz&Y*rX7{$A)psEFT*{T515LWe6ah7!e3avnXUSa-O1XVjv$DFPxNU`2f;5 z*6gzfOGKuz^ett;1N%Xo%4i+{yfoB3;-w*N$0!8MVCZ5@Xh4b09L{PqC4e;PfYQv;@%5(c zDbA8djhdEAK$GAmk-{bsc~_7NmBMxo=X6>r0A3ON_NZ4y-8~@eEz}Zw1I3e{D;`1h zPSayp4;4A>k74g;gmcl~ ze+ew22g!6%Zb%_0Edu~C11b{`%V`M2VrPf*Ni7zDm&T^Yjkq2#5$F}!S`=9&Ek(4! zvzn!Hjx9^u4~jW+)*9KfmB#^h*6cT`&Lipfa;@^znrVu<)C;me~ zZY^U|=vxA^4x6VE)H17O8nuJK4J7tR^zNoY(^CJevSo#wi!{_ z`(e65(Ub6WZAKLKe&{Sm+l(me{ait6?z!Olk4%ZR&4|L@52Lir2yXtw7ZOoyMwGYr zqisf1+TITZV%rm_Vl$$!_tO_ZPuh$q*o;hs>OIFXF|ZjCz$gc>%mrvbqF_KGF-J4z zE*A)ai@MtdXj-CRS|Vu4Dn{MwLYyKg7@A1bc*flC0<=0&usV?#TAe6Zod__CXv7tF(`*9QJwIa{)dam2)twMktU+T=lpzkHG&d;ul_v z$L;tl31r=Xe?9jh>nBwy!?OEB1J`K2Th4(A7(;YJK?f}Dk|kH~mcbI{RYYO8Y{gSp z1o2((mRb2xX0_fev!YQBfqJ*hDiA>LmRW^S)-t_YW);g?kh^6!Koi+5vr0_Lj&rxn zD$RQv?^VkXX#{h!&1J1dfWNAT8IqNg%r;khLC-NL1f;LMkT)5UjgUZpm+TXUSO`gY zA>S~h8$#N=kUtpG9U+svkev((BV?`@5<-3%IXT&fnajMO0tV#*X|)$p$q*YMUwa{a z7?OvOzyMdFy%-WfNWu-Ne$%m^F$$9VGNPaxWV#Vjc4j5cx6he@o6%G=z6vWs?h4PJyOu1 zNFDDn;1)oXW06+jbtbgG3LopTyxeD5Sp}B77LDjC?rVq&B?-LLsPIo$YQ%GV{L6@c z6WP_M-a6kVH1du-;9=NaNP@w*`fOKDAD6E8S+h{24QV;urlY1T??558*}i*o3iIccm5-{}%H`b3uj zu`h2y8|!NLu8C;f(k$)ujqt$BH1bKQEC5~$M^597dQJqGpl0b~UJ8FVPh*ewCHzS2 z-Hpuum+A=U^smDkPFXMjG|y*-KN=qCk}mT}53GT5(ft_Ym(d;{^=5p zo4PRjCGc8qVTHf3lJC$BRTbXWsqQVs6pOZBy@T|(6>{yKBwOeb%LdVC4RWX{nP@9BOK6|BA%6g*uu_N(C>jQ3v#&@^!f zBGB2srFl0cr@ExaXbypkAgY>|HjP6?U$OFPvXeU6E%m@F#QKfwre9pU7Ukl zPW@&Ej8o()B(E|C0!??j2=}@OArL03XzNVBN)2&CDR33sn|C)P= z38!1+$kVN|*X4BU;@6FlNARddUt+?smez@PfB+ns3CZFG2tYozVN(ZQ8=;hc;FUlF zi@lfH#aowWMV-PojE35SPyziDuRG9I{1dP95aXYCo#)Ja1BXg4q_8{tJ_jANvpLl{ zR7Z+Kc@^{+80LGM+8nxyY-WHmkRxo$HV;hWv)Scy z2PronzuH;wCeFS1od^Hm>^x^B!(fSuFj*OGZ9UKV0b%XSQeoR#nS3N=L@qcLl$TZWt4iwt*YQNg%=>;REmB>hO({a_39bAxuf32nGo#-wc9x!aMe4_?;26Lr;H=5c2vLAk=Dt8V&}^S#0F>T zyKppjp8y<;d8GA=)A242>ef3e!8dCV`t?BU8s{qj!`2b-Pp_DXsnaX2p;M<<%+l29 z)ojGI#oC;G-h-yA0HjW@espFbFu6_wMFpH*^+9)?I=#9NH7a#_^%Wrh^y*Qtauveq z6%|UIUJ*(=y~;uj@lLP!?w?+T0m$hUIm5#MK=Q}Rx)7{2G}Rcqe=`1C4T4XJyc zUfq~SS8^rJk;Ud<uxYDv3@{!+`1R|rPjN6mRT|2_pmzfEVn)f&xG|ba4M_|@T|0^gF{d2NyJuJ6Ma42}T^}%+E$RdFAq*WwJmzDg(i`aO^4x*T`SL^8?;he= z5qQ(CFJ>YjSRdyIqzTr?J%WmljN%&EabF+T1Vuc*V;>N+@o=~C*T*r8P5Q_v&F8?R znRNP0uJf66rkHfbePFK1d=fr;*1v=GTDaKuKHu@O3yNtW2@a_LX zsyRSvg*SPOocI6bW!gD~;6xW?`&QxM# z?K0h&&U9yr>8?2EFPiBtk14eWkkWovy7s$VIc0Jt$KmNHy`_%xx3u{IA#%`1BY^b$ zKsp&fUbj???g^Z5XVFu|IhD}@0i>}Ylw#3Sh1`VR;9T;Vkw5KopA3g+X=H>_WPsf1 zQyuai(4#0h8zT>TG){@4BLFj>a1d6HX^vI|fS2+epBeF1IjcjUCJu(0ff>Zzc%j6h z7H3PE5`ag!@8?FmPD%xVZi3}hjMJ&u06bEsV(7vaer^;+fAJaNkjrDV3XH_{mO@~@ z^X2D8YyziUS|X08(o#<-m3lyF`3}fe1MgG8BDOiD27;i*0c(sR*gj2NgHx>sfl=xBK+llH3>1(a z!h#_V!w`VeDb6Uh005qV-4IYE0uZPL1VgvvVv@1v`PF=9pS75pYd2{6_^Lnn^^oJM zZFnosNuc&6RYCyo_-YqpVwi~V_$mWC66N0Ul|{fizM_)l-tiT;HOjr?t3v1ZwK%>y z5MloD)qF5b9bYk7q1g3!rX62#4>War^(d*m<12PLspBg~rH-$jCZd0Q#agCap6$ou zD}r=+MuEW)HS&+ICIYDRPKf4Xvb5*P%^Ap=|Cf`SpAm(Vn+v|g0)X%S$ql9WCpXmD zKe-{`pWHBm{gWG(IZtk$hdSQL4P}?QCpUla{Ya?SExUjlGCkj}#zgokGuZfC02^HR zy9H_FPj!s1z_hZJ;rMxm$kjK4vvIYV$&8Zyz?$utaT*tzibicSS84QD^*?aA5?p%8 z#ywD2y+~BEF@cvnO*8aqjod^pko>8Rvr%7q$!0uom_Y9ARo?_wM#O{%Lk2vRtbPk< zM%1*qvf_SQwd~Fpn7M3IFvF{Ad`5G;6BPVauP2LEGo}&RtCN^~18&xE{0?j8-eHjS{nljsyY{0C0G4t{dLo%Z7NsZ}wHBcREnI_pl z1WKXgUVHUHOu>31pOF-|#wF|FDJ(mR+mnX$+dPXw;WGU--(w%L> zS(rfBvzqTCF5h83-#SR`)rPDfieIt%LYi^6rum2?8Gc{tf2dc-l17d`fa254tl-xE z5>0fBOLVqRw3tM4k^~fXT9W7^SYpF9%}FaX@-k2(r_Sl$ z!u#d54{5qXU4gpA)fxG2i>q#Bwlo-Fc9rJh7m}>6pMn`YL{f+66Np}~q>0@0fM&A7 z*C7Xus$nvYAArGkt-MXbCZ=UgQd2&Dzoz`b)k1Z&1G`rqb7qZF1T^V)*ifvok!!|V znzHjgP4bFQc`1+^CZ9GSwmNlQG-)%F9Noix3V8IAEwcwH9K&*PD*S6nR5(^`|9!8}{Rf<_)RPd;Nh8gmcI zrLA|M%Dh>#&2aOs=~L#`AGvI6=%<^wrE9E@aht|myhtj|PUcA-Ytw}hwwH-ZfXn>f z%T-Nv@Y9>f6r%Lkd9pIuTTYQLJd}MNb!}-Ni|bX1o26AJkq>@b^uIupbb=STePDal zg>JlCY=Nes%%h77rMF8ip42oy0r-*_g`=wIw9YSd)7o?vQ*ycefyAP4QM%V<@yU_7 z@fsGu5mLriU9T1J8oTNU)*(4OX9Wh|bw!+uecQ%0%-DU^Z2BGAwOA7_(Em_5_93Ah zweG9SOhk>bRYY4=a5d0TL&w?Yr6gv_!g5jIZo-%M$tZSToWkD4D1apx*vx3%)n3*b>G*2&*=WRyx&Qx?pOQo zIKX+wIpb&C>%iB}em1Vgq1RQvxSw{)!l#{P7$7Lv&%}NrHkJ2<0K0&ncFMx1o$dxy zRM75x^NTnt>GrE}1rEY)_!YheraQ0yipwBBI7j@3_Iiag=QpEy(hrcD-E3B5U}teA z-V@nJtKP?MiOam~mf)RFp7}YR)aL$_micmtY;6LVu&?y+Y0PiN*WDhYf z$9u_qCuf~8c&|;&-R!8Di5PRWd(WjT0Yr5|=A%&g_|-@ferVkC!!?tCG4{~la%bK; zquTz89LB?AFe}C}iI1I?>x@M9@5C7v&cpXs*BO1s{6eG=F4BZj-g;0YJzq7YONl(j zV^Ml6!F}CW*x3yt+&h^6f^*dG#^}5Zq*C<_v-se}VNU5y&ZEB@g;VYzR~WBmvlKw)=N8{t2p3UhB4n;Hc^@hK2a-~o zx!t~p$S(oN+@TLnb7Ia#ou~_cIQMiKhrk)dmQFc8O>EHTr#-sl{PfT+@BDO-oQlG= z14m-*!v?M$yi?JNO~x=dBAL9&$j_0_Y{8qua-z)AVROox z13PUw2wl24<;{Uoco4c{vmAs@+=4G`n7FA6de6!%k9qt{Y0TL3x)G+G;fJZ(&T-26^z@&^!nn47c7v zSnfO_^V~PQ;izryITQThRAS~}`wkmM1Bw;oQpyHrz&6nGpfM1MBp?J`!hC1eHt=2G zT(u47OrJ0=R_i0O|td^5~t0r|ce=t(2OjUoDGkb>6=;hc#I zg(4Q!gOwB^@0zHg{;@z#V7_ft0pnzg9c z6;D&IDn0C|mQ;h*kCBT-nNc((K&P=ldDv=oqH8j1!`{0}I_+JP8a zTwMG$usy~81r~vb=dWRcQ~sAx9G&m;!Iq-O=YYRFQ+)*f?#%wnh(+1#v_NbRdWg3I zQ42(%FA(nv?J~9)B(6XNO>q7Tf%we%w!g5WI2s6Lo-+mJQxB3bao8hdtJbmrc(M-O zWyD8FULw$!h4-f^i~L+!2$Gr-5oZ*DbXAGlA-GNWkF#QzQL`WW1}*+@6{YyHYJ`N2 z&_EBeM0W3sA`gaGL7*3Q3)xX`|%5dazbteNz3bVApaB3~s6A0|vXDj|?+Ex!aS3YuKdhHI}H? zS)>fTu6Y)Nj6c7-f33X4Pte~w6N}ssb|94AxBG|)KhNF+#too zg;G@|i5CPvdQG!TVjU_!)$u5K3;Kc@&3i_z7zHfo_b58D8%5%fVDz^P5}Y@~f7^nz>CbzuMWSC86xxwnouCP%R&9n0t`V|4Z^eSNQ+> zs%AXd=ReEme{R_xd2wzZH!n25bNAN#+L1Nzc6LEF)ioBM5~x~Ki>0ADJvhYW{g}^t z7kR(k2hvZMu|+m=uc9`m*HaeVuGJsql3n1E)y)L^Gcq$xvTv(D*Nr~Fi#~bk`HW}% z;u>E(Stb!c_1w+FUdt(CdWbSs{X-L8;?m=b44AdlPDXqsH^CvJ`Yaa6^hT}H%A_vs z8E$E#fT}SEQioY=V;8)l`3ytq`BNQVf?cxub4omHZvv=I)t3szzPg0QRi7>3aXNq7 z^>-%@JD=j2g!(UCreA2Dfu4~BxJ`&qASz7H>qtJ)-7uNKhJGa4Td(buxj)rP25Mav zhq^3OM-_Sa6~H6?L%N(qFhm%Q|2$uA+Jv zX0`Kf(7ampa*oI{f5C#fEoAar#h-=D>YNQtNOQdkUjZ6>tpg`5b@gk9A*_!wuS6!= zpAJCx7JOgXLDZTES9rk>RAeTi0+AWcvDs$4uzd^yKUCSo;BuIz6}g`}*Jhg~;zX3U zR6T-cvrRe??PZyCB6^5rj!7;V4D#!Z@UbAX^Px{s@D{^920dyXD`fCiqo5E#Ai}+D zKqZ7iGDQk@82B6z$O5?}4Blp#JrQZ|MyHVo-eK5x0n$n@Gh7|MBA2_2QbyU47YCOB zyxS;!03ekoyI_dYb9X=6+|7KIw`ezYH|gcCHf-*Bi}t;+`G5aVbAFELf2jEoaQ8pd zOi^@v+LmMbA8Hna*h|@nNnNEK8^SzugL5Z7vI9pk|I9J@q2_M6CO_1CZm#KnsQGyo zJg-GQn``=xV#tvz$YR^1Kfv>CvoY&Yj9*+quCPu0jb_}Ny%sGZb#L}KjKu!ES^9R0 zjYW;qvt3+Yn(yoYpW3%2jNfR6qnHv54*s>-F2wlPX1kn&^33x1K=fJeCEL!v{n5<) zYqMR>l|X2^LlDG&?uK!11Hc;7brdrOU66m3b~=FAVCU03vvKI1=oa+46pmuv1pu1k zK?+AP%SglbHaLn|OPXA?J@*dmrh$WDoi7M-=DS04Lv^`5->fP4U1Hp8v-2s3^au;}i~Ow%iRK*Nfi zd!uF|c`r}sBi@Bt>RA-2LQST>84@HS;zu3+W(Xm{uD_W}FqYWjZ-y6Ye+3jfL0HLH z4|g-gfQs_G3$-ldM5GOwj~lePk{x;eg<68mk@xVVzZpVDsRd@DtURSA zF4Sr@1qDuJu66DzFl%-Dz~0111tvfB{5!%%{VZhMo8TST2K3lP5xSP7lNUD7gzx0# z)m)@Ub}C@A9QqMZ>;j;3r{btWvo`mB0c0S;PQ|azqC!aNbXF814+mqzE)b(B8uDiY zg*BBac!~T zc(w=3hY+Ru)Vxaed~a6A7eZh1e-0RWdxK73esU(q;AZ7_2^77tz0vF}ikXGUB07DU zi1L)}3_5*z9;B{r*v_DCdOL$oUkG{I8F2c-<&Jl4mhb+xS-LL^p&usWV2ITP&g#(% zdADX6F1s0)dlz-DoJaq+-(W6|E~AV+e7@NEsavzEzq7d5>=CumkL`J5wj}D`m>tf@ zJ#NenMUDLbZ_K9Mn61I6Avb2(Iq4g3>+-zu>7%%*zXyyVhn0Z48sasPH)c8bXoB@| zmjKIPMCd_QY(v(^zX)=Wm3uhrx8P;7fjTxWc~^Gc~1%fAB=n(YRUt@B%{>HEC#Ro)Qi zh!`UySLF@qDsOOAE~d|$ozCzwvn4qgjau{G=<#L_ZA@2rW4g*4Qz~zap9t#M&Xl-~ z>EbrJ;^ZbT$6zg|D_xGWq0IDs-uUV0inB|Kk-M9YF62c+53?+v!?WhI$>ZZ3-NP)_ zZU8o=l-m^NKpguh#bXnA+zcK`4%eE;W{(Hcyg5D1o72<0ImLE!{C=_>hKH-#=JYgg zPNjKEoCCd2jRRgs1Pe6yt62ugI9(UB=s>@2~{)j#0J;2}#c=%P2ycMKH7k-7Fa4UN7fhnh}6BMu1#K&Z+rC(yfo`#caiezbrbJB^r?A(`0o=G08H1CYiJ&>_4Rp!ZXWnU-OIT$SWfE@yPH zfq3X`TO!M7B3qb*bj5~1Y>xlx3j~lR5Kx-_fW8POId_t=3!oMllnGieL}kDao8+7_ z>I48t;|C~>AD}e-0r~pleHvKAwxsk&kmz5i69CXnfViz$=zLXW)+CpMNIr#3w>9Kl zPBv7Eo9(_*0Me8Kl%^D*G^GIfO5wc()6E!#xS5Kev`nRMV_zw3(hqlTs5WcV$ zDiaXP83x2+>%BSQi3Q+_bywtS-t$6ykVY))G8}P&i47cLx-=+-sdMlp(Z5|`FcR`q4lirG_ ze;Y>Wt$6ykd4^=N6;J;*EDgOCFBgOfax0z!gCS}pSCHx7=4b#Fp4XT#R_}XW5I(bV z&t3R=adT=Tf~@Y`rOIM-c+C(fV&&PZZmKhjk_^ho`M4QKg*mGLWCrpX_7?u4Bai@` zdxOA=nU^6X`v$!0HHcM`Q``#?!@wUq|3i@-R&hV<+F9!c(Z22F29R1m;MvUzBRs?U zun)LfkG3)-HjvhDMJ-7vWMu=$v7Q}(bXr$|*tWj!OY671!L(-M2dU!LLXah_tvFz* zu#Rs*owFW*&ONOupsligs>hPh`Vk!JtlObby>&YHG+5^$ywQ3VRK2Z#V#}<_`WnwZ z*3qDCwyK6;zq7?!31NM$3u!-3MBgARA=eh7=68b^>#V z)d$a^Rue+@vMz(7ds{yOe;rf+74AlSjQnJMp{?lIm)^Ow4<#x zP(3-u>I?B>tuAQVZdr)l*V>Gb{VWB+`&*wPH3wLyAof7(W`rMP-HYeJ)-zx+&N>&* zL#)Rk_)u#(Fb}i-g2?gKKqzszH4@JwtkV#3q;(;l6RfX*f0Xqm@?)Yk4=Ns=v@U?| z$5?Mc$78K|Nd0lv19(5)>O>|_vdZy3*@{5q3D)5VIni1QrcDY5jobN!FWqo@}*)!ztEzNX#tjdOT0HCgFLSH6PE}R`NIeJKeexsApKS z@P4M%2WdUadL2y9w*H0ZIoA77>s;%5JkPW4K&G8z@-&BfMT z$iF$(TgZu|^#QoeweH9B66+~EFSTBTD)X#=g6cBsAmGfmf=LLt+&T>DyTY1;=atq) zP~|FXUp%k29tY|IYa_Dm8tY;ZFSLFI*|pY8WZ-qyJ5Xhj^#uekw!VPi>#ey^Tc_Bq~;#06{_58l|za9tf`2--#P$-AF!T5_=DE- zz+7&%K#7N}SHNwBRf=RhY>k4HN36bhK5A`fK>dHrGC}aTl@GyBSPP)tlh((Ge#-g* z&!?^5K>Un#EQp`An($m{t%vTbECu}MtRBFB-Z~D?7pw!J%8S-s$iHyAa z>o6qX73&&E`G@ra!e6zH0O!~6+4CWRApz@0^Aq$eS?o-TLe?*t2jHb}W=p{OHO!6> z?|t!}$M=jtame~Pdmb=gmi=~bvv=}Tu(di(5`|AeHrv)l`&j^DfoXLWlWib}d-m3* zViJY|Ch@Gz=5?fL#(Rdf)y}L1+7jqxZId1SK+bq1%GxdfHq%hktsMdwIgb(8DL~Q; zm}Fu7DK`Scb>LuIyXi1sjCkDnp~|@=whVd<9e%n(v6F(Vv_pkbD#;4g;g@Zn)rel;p+ zA?kBa6ht5*Pcx7eKuFa+tV6?$N=D;E-u<$&P_%m#A)yE*16h4Z@*|RGyl+-A9{$;W zWD9}xc1Snw$_$^5;BHiXK3=-7LR5FYLDlX!bj#;v_^p6FEf(Ot>LN5sOsvtA&Kr!fM>xqe~prW(N7>V zc-mZLFbOlWa;XuHexVyDA-&ENfJJTk#=B53$i9s73q%tvSS(ae`7Yo>z| zL?f6;-dwNx2582ZEa^H-eE+n{Kx;7e^QBdNcT+#JqNj137BIwBzN!E%*f=CBlNF3- zF=XBag|cEdhckBeT_?`I_^Nfqf^}YccmKtu2gSNsTHnLEon+Q??bEP zImc+ur|47%s>B3qNLD6W0gtJXO$RgkV_KnyCu;n1U!fr=%Nn7IWmRe_FPCCj{rp@S z!y+h7laF!HsB~tvnx#{Ax=bf|N}SHDNn~ZR$JI*I{|imWct03^f%jSQ+u$p33l$KG z_k%5@z>QvAO790pQa(z&>O1H6Rx>f>XeQZIHstYT7pPWK1< zdz_@W9|%fu)5OYV!XEPAV<74D{#YQrg8s@_pe0Q_TuX9m0P0pN5~xdYL9kg@tt;KC zwLmLvE}rXFt!p%Ib8$zq>L@mxYrTM_$%d<4*7Mw~`!AAEi@OwIJ>ZlL zKw0zXkHPFt^qq;in41Texa3u5pieSx4Tjkyh*Pze<#cPXlmX1ho0y@u1;ad17qhN! zF}@kgya1^%cTvzRo%VAN(`o-s9jayEjsl8OCw^A2MJN8}Il9DV1xM)`^Yt9vu1@vR zirkQPb$U=*u{7)NoZNv(S084|c^=|r$+{lnwagdYR53%0^HcdT!i}Hr#q%(q2)hv= zZCbJl0XnOeq7?*s-NJ(2U#DuE%ytlnx^pnOsE!Z)RPFDj%4-Mvd#Unzivv7my@q+P zPL-~yyO^j=u7t2oN}y^u^ZAHiCI>RNVLr!%H)@TB9;^`y{Mvj6#yYpB_`5=le^;ot zr;yiub#G4BX!#&$^pz`NC)0~xl^Dnk3}$lpln$(BoYrBI!~;WG<2RYxtVn^wBeQ~CkjF#3SVtsLmlr4`0Jt)Fr$M@hQU=MTnhy{|Z={FNyU z{xV)6!*99%hcf%bm-biY-+K7JGXK`Y@5*$0c(2SZ=}l%1=Bm)JdQ^{Xk};bukoY4vZtc{>8$zT@5=u0cV&Ncm90S! zuG`HoncnDEbqBRw=OqVu_nq_d5VLYr3v1X%T6}UpEq8;fF06SdUR?Hllv&S7ir+bY zlsVMz9G&W+W_k08jQ%WBuHDdrwbxLJT&-EJqD>5bZ}_aIIcE(ut14to@f9HJo$+rHbvDYH~&jxR36{M(Mt0rI%^w z;debcV=W09m%de^NbVG^gXz}cFNQ<;kQ)7GPI#qln0EwOxe<-b-A9BTw3!V4&F$X0-Wg1`02wyr_C*z4sFBOx~z3BXZEknwS{a}rBjIU)3<2I)ZRBw~P z>lv~lG#5Xatm?y}`8Y$?i_oWU=90gcS6KbL!g?SnO!|3+g#q*h zmQ8C$9J47n$Ro}@}lTL)%z?+GND&GBng#von7v~)g-J=EZgq+8@K zB&+DT&lus=^yibhQjGCP+UlO_tFy|TOa!WANI4)QriYXXyvmN`P@?1$SHV2Ds9(-* zzgLD@+N>Gi{84_Y2{UK zTWh-V+N#cVP8o^wpnceFtv6GXi&Z)x#=(kpr{T6ntwVP=#go9X>T_ntCNs=>!@euf zklVB;+7&)pD8ogAf7-g4eKcB@{+A3?6|s{q&M4#dn`glPv4u?FWXu?Csx#cx-Z}*8 zOjtL}%LGL0O!$0`&I1JKJos=<4Uc%pfJZ#$;0H?~C(!UvLZ`q(JDX@HvD6Rs&^m!Ot3so>16SZhpw*tj z6~R#^y!6bZW|#r2V|$or7IM?hT)cjcp1U4xmT|X_J#9l)m1cCQJBIa#*0thB;6gK= z)kd;q$=;KobXa2G)Zj9+IxG>Gg>7(Vk2VXE*%e@SomrhP;c$z=y)$ExS*(Xxgf?8& zOA9&(toS^;Vem6i*_+$5UmTae3=lV%zTWUX^%k1=bL=djEh zO?8Uv&?KnEq2+u5T0M#&T34EtZo@%#2Q4Ilms+RvZ)#6$;BZ*$7{z_J~cMbJdK z9KWmqpaB7 zuhGN%>%Pu)Yn|@<;>0sey(Lhuek%u@YYmmRLu+!gH%I9hGSbro(R*rw0AG_~?3EFq zdu22~$-L|Q%xgisJ0{&=6eY>k&7SwNApbq~%|{vP#jRTYctihJ9b0_)h~85^0(|-6 zI|KnlPvyi!PyV>76FC<-!N_L6jtVoX>MjP%He~K-EFM`^%ij8QFQ?k8PG*YEHRSNb zSbTt#c6Ur%vdstF!baKhn!J=PW29`ufvi8FL;XTlmRv)P_+6*uLcfo{ZxkjLx^NM{ zXOa-$C#fYza{zu?l58(Y?NzfVBI0R0s_vPMS`<2B`Bm|Xv(eMY=4A#qx6cOC`rDH& z2!LmpPkz*xr~0FC%V@8-5xu8w2=I05fq{n%h@Q&sPJR4>8BX0NziQ5V>hhP;y0F0_ z_jvESehsG!?dg5B-};cuX%E!h|HGbW8slpZLo}|Z#s^@2Y22mM314f18~w`q!x%635Un-F_M=Q; z5TG@lo2=;?RjN5~0>RS>jcyx{#3_&KcDx~`HWFs*H^&IW~f>t-3VZ}rRWmh z+iPEw0`;%3%9Sg1^T(R+`#%3;_w&lJe3Dm?7~Z8tfIt`IvSdv)J0t}7wOeXc!jsWn z^&Lm|O0V)@L6pU*2%LQKPLH`53!;Q`@i?<*-YiJWHfMX|agR@&#}S-lu=LNdKo*s% zKbs>?u2MbSLO;iE#9Mux5xr-(g8;2Erc>gF4FR;hNOe25uX5eOf9c#9gnuY}ugfXW zm&>F-uK$gVQ7QG~KQ->&e$HLEzn61}-ct(%cv{Hv6Y%atx)K>FCF(vD#>oK6QhvHu zb8lmc5`C|%hZ67Rafbfs2O2BS*W&}|(NETr?>4c!LItU-bhUla<=J`|Ijo85QGEt( z618E!%_xZO2ExT};KB4y05yMb!F2$x7M;tbLP1|Hj%egKz;j^40ot=`Y|<1Uso?-m z=S6JlT&)LwIf%#Zjm0?qR`W7&I@&%wAg*P)P1eeH9HprvC*k7B4VM@_or7l>na(jU z8mBl@4l`R%d=;WIYvY_RX6N8N8!tGQhYxZ5aTbVQcX4PG4DdWBOov86?a(MpherB6 zBTR=z!N9{n4~6N_NWY6iqn(GDFT?)w`SIpWNuJoNRi%G|6|XyRXTdxyh_L6(8}Od{ zGX^l%w&jJK9}!|Vv>`T-KNYnkq&~A1`o}2!-l)$lzC%)o+{EvVT4RzXf7>wZeyH#4 z6NpT|H|qPyD~Jdrqi2o<^g}jD?C8ef1PTchMMDIB?Djo?MAQ% zG1Q;tU5GC{XQZD81uBPTpY{RBgn&I9GYNd!08azHT7jjCmDx#>9*B3dEv|A7CrKAo zv-{y`*qf2-8TNO057|v1&ke*#p(>Raju!50OJ#eN%DIyCSAl=PuE#=O*?FLc$eqB# zePi>x@0ptUGuu^9d%jG%_uG0Hm%?Eh=X>dA@<5fc-o*x5uF% zz>`?2zcSY#zGyenQj5#N_F)*1OUj&=k2K@C++fFtz@=b{O4^-Y5IFW;tZXyXIm*76 zm?L9AIag&risFK5j8yRCFbQ!*V#%vu$@`J;WER4bS87Aa3}^odt|hO6B`+~(49n&h z`_#E;f@{gEV9Dzd+&e)mc?*sbOWt8enPbK;84RAV_Ci!YN=uVf!0uz@2oir_rSUFuVDK74Z=btaw8h1 zzhnjin*J)7{Ugs;Sr%a!@55VbY$9YtX$S>iyamZoW*vY(ZRVUw z7g1Jr@tsgAU))7m>q7qoP*x{w==a51mp2_iQIy?20BW4jX1P{Q$y!p1yC`d8=+7|j zOqD(EESzLE<`m~sk#Eq=TV1Uqoi``J@^W8>mC%ONf(8LCFoy!9W~!z3`$rrUi4%PXQH`&|U>sl)AY((gf40O&Ga|6LU;l zSPE4GDyxc8kqyrC;G_<5zMpJ1aZ_JfO1sfeA1n_pU?L| zl(+D$0mWMYaIhj{3^wu{iy9zSnbts);kkJrJjA_Vw^t6!)9!~nhfzKnld>;`EW_Rx zN}Kk}+3bz$@SbT;McD=I<55Yo>?A@$_7IR}+cn^C+21+*Cf2!^KRFg-Uy5;$#)KMwwy)5f^V z$w^Fg&Cn39$$He{buCcK&cq`SmBz9$KHWKPsu??k)nD`I@_4XK!agpg4L$^)YLi_l zwq0>noHFuu*>-{L8&l05$FihKB#|)LNoy;B(%K3j-BzTv1M(7TAhRlp=s1cEMl%B7 zGIEAbGqt;VVm!(+L$<61W-zn`Sp-U$vas!FN&p_^B2XSK(h#VnRn!vu5MY;m0~Uc2 z$shztcTytV2_W58!5WtW*#tFf050pBrn_c9L~uD5SultB%tr>0mKA`~vI0DVoGK+}^>tt?p4kaZQgP$?S6_(}mtQwmU88Udy01jyG3?^$RvWfbD-grGE? zXhq{I1uL2+=k6J>qM6{lGXtk4q(vsxN%LTxgjTR{VGpIV3P74xfYP)Al%^FRUn{(` zTPvGF_PSaiC`~IsRH`xo;j_>RAQm<$waS%eX` z*06_YSR}sLx>ZD1Atn)>gsEn?@s%=psEyi~TzBg!Ky&mV%t^adi*?cCSYRvt>p*kN6lJ1%L-(yBzO*dcNg9V%dSKsc;It6?Cv?dB$-8oav7ek_Op1oHI zGJwap;b``ohzLY^VjC{V*$IXjQQ8)T3v-B-iEHx+qhE~p2q0?PqHxU2LP&1PwkTYZ z(}6MA7TY3QY>RBMElS#ATx5%Jk^Msh^tQwOIIN0skuAnWwip-LMJRBMEwaV7$QIio zTWpK$JCJAR+hSW}i*1oDwnets7TL5dO3tyxxX2dcBKv+Yy~GydB3q1$Y%wmf#kj~0 z4u)-!Ew)9r*cRDhTV#uEkuA1Gw%8WgVq0X3ZILauMYh-$*RBMEwaV7$lhxx#;KQVF)p&j zxX2dcB3q1$Y%wmfQ^rMs@Q>z^=vjJ%!oOs`;|w_6tO%-d%sC!#jy>JA9SV1v@1U#6 z7u%umM!P@aW$_p8DrO&~w|Byuib?3&4uvurO?NE4!07jIyL*bnQc(y~~KTW!*$rsz9@GkoevU>*E7v8P=Q(04mVLL=Y8715w z4#ReccwC=QupPP%K#|xEg<(4sNw@=X7`8*~dIKf29SXyCXsOr^mC$x54BH{i zEJn&OY=_o>O<~G*C=A=7{lUu?+aX(QhitJOvbF6{jJRRg4wVC|NNk6~upOF5`JBLq zVLLN^I*#dK*beC}Ah8_^!*=LpEbQzO+75+bJ4C3tgtkLr*bb3yTnTN5!mu6U zzS4ve+75+bJ2Vt=lS*hi6o&24SU@vMN>QJ~upK%O(CiZ04&jp*@xuU}S3=t%d`mih z6rj0Kdon=S4jm8h$`aZRg<(6y6fP>E?NAuDLxh%;&~_*c+aW?rOK3Y3hV2lcjuP4q zg<(5HXjutuhv4vBpnFP|JCB`(+a$vwAQ<8p9SpG;f}wfxWL<)nT~rKAswzn_k+r&oek6s zyBqfGG6N>*jLBwi5Y+9B_3lb#oM@L;LGiB{Go_gCf#|{DVoWRNrgSJek7=G(Phe1V zET&|}wEhHUM8`m+F+GxGbz2%eg*s0!C-6X&*RG7|^#oQ%$B^Ch{si8N?n6N{6VuQn zK94RU%}J8zucK`&kW=zF&HK52B&E)ZPOXFr3RzGAl})N_oNCU-d&Bp5(nKY%NWg~|_RgVd6IGG0U)*_N@5h9xbNBC16xz&(dz^o}( zwFG$H)cZcFGFpY-%fNr!bv+b>{GBFGSbHDB9P6n{v>g2b87k47IT8`Oiy6N6lbUFg z{s&>Vf`4U;NZY-a7WVU;7JhfZ*nQ}u;B7AcdQR`ZoNvyByCKe}ji{0dHE-ty`rW~h z72)R}&i>bu#kFG! zGy|{KO_-e<4`*^=k>s_dK3}<5-i@eUstp*AxwKBpL56@kDox?I*C7Vn-Th_iY=HXNQ|<5{loOe${=(moeMLZf_}MJ)J$C&6Blf?Y)|a zCx1@e1!ngo`wiYr5A>VBigai=&*fV#+?l@b$yXR1+D|i@5oq3fB(NLftpC&R)J&KA znoLLGwb1ve(KwW?m!;k!jjC~sZc|H=Ez+jS8V`L1f_Ocmmvkk)-6r)|vX8pU`RD?( zeE2wItV)K0&N40MLtnF1kke>jm`8LO0UW3IxyMCAn&j7etkZI#8LRznIPj*0f>UnS zZ2I}?R$#c*Y^H^Jta4^wXx8n08PccD4VChcLr(I4LFG`#hVpn)@xyJJ1*-^us^cu5 z#j&B9RnEUJG2?P$xFbMmbIy8ycenu1xkl<&1!8*QsDD>RpOSnL0QW zKD%R|BSTvFpV%NH^ZGeDiVa^O4HUW~hIQ<)Xzp&{%n zc@6KXn>G4dLW_Qn*UnXKD3hlicx5p!EC0Ie3oQ)Y2PGSbd!p z+MZL`ecv6gx-?cDV|RI>5RQ1OWorpw70=( za++HrgBBkUXn1otLfUnHJb0bv`4bRHa(WhWG zSH)_WpUev0wNMKjtN)>9%);VmFs-^&epVR)RLjO$apGsyxB?m_+w-$pHQd(t#R!QX zMwnOV`~1V@TjBE61yPa}Ia4^IXAg!RX6K9fIa=tTr&*_hSwVOr6^-xIibJ1Ye0_qR zJ`=P)K~JCYTA!e&&p545FiZ5orBE$BD=SA!pAl%dhV`IiTQKWk2pZ^`m%rl+J z&m52~t#f-Y=S=6rdDu|w#bWp?D7PorVKrPd1_7NxDY|bLXw47znLLRVi_Xc;V6o20 z30jjbu#|j&Ci}Da*J>WME|2GY9s{xH(md7%jrc5Q#${%&JW=bv9*;?VE^_`)SyvvH zWwHI==bd>T0YiFmK|lc!H+WwV5?RWG+`y&4tgzg0!KFwM(JT{j%YB!TL6 zSY%{cc5@4|rMSyt(P;7V!V3^Nz)H4Rh$Ai`_AR~Sh7G^(n&vW9Q?0!&vIJNV=hSFh%x$cB< z<{tAuL4+ITftI^p!PSyo2H6}}a)-sYgSCQUC&7P@=x?+<0QeB$TnWq7)+M56R1`Ymx^B8{ZW(23We-6{ ziu&gg(Xq!7^vHER4NvxnwfpAMwC%dy5ABC(+T5hEB?T_6Q4cU+pTt~=m8(HZMN(!Y z*7FVBAEUikduFaH06o(Nq|B3Sa4vN+*5paD;GI&k084@i4*#k*mWmiM;G|{1F*e|& z-VY^VDZ~c+^)>_AEE9Lde20;*p5P}lyj5RXWi(91y*pIlGI4Jte&nPbBgw^c$%0E{ z2N+VJK3pd9BEQ5rZmf8i#QK9Gn~Dc(c)Fz(@{OUT-@dDkp`EL zLC|vjCkW;%8344Gfc`m$fNt49mFn-yMRutRL)=ahI>tg^v6($(q;-1Lgu-+Dtd=ATxwB;A7zpWJEsg|Sh1{iIz&U+4UiupV?yE&BmsoBor zeWARo;5*-QnIJTigu+>day^Czf zLcRT1b!nA|dvF`Jx?J5HQw`1mZOlwsf#< z*m}UN;vv7fT3#IG9w5X2HM4Mm;8MJk&72!hC{I z5_I#78ZHj-1*z8E`VHmWh-zZVH`^H$ieo0NG6C8pVaDq12y+q*WU+czoaf+3Sh@^r zBv$W<&FJ=iLhn=254tvbZf;qyWm{hh9%ZxnVdl(JcTK*a1ira}8 z9>OSLj8QhmR2#!%V|c639Ui??DUCci1RDG&(9!7h<^&q{KZYH$L7VH*Rz;eI-SH=k zjo2D=!Z=n;g=;dbSq8KVDxD5dgIa?ZUkpH=uD2OxG=avyj}>=Q-ho5OL# zrP({xbSlUvwoVVYiptR_BdHu&q_k0XBa94ck&Ut!&du;k53kvJN*m=MY(ChXyzQ`3 z8s$jD!|p_O{2?iw1a?EJGyej;@WYTpL<&i+$u@b5{Ubw1&W z3j}zrj-X-~s*4S!Y^XZfiJ&HVafcYPq)-HhPV*9UM(rqJ{4$Nqfi=9Dw90EX#!*?? z#j?i)IV#f#B*&M6ZS}Ye##7z+l|cFh^imapj$_dEHs}Mur7~7YpM_bBWvP;V@f5au z?J!>${;swPJKi@?s1G)Zpy6vV*q2Bh-&l>AO7;qRfcsttXdF08WO%sSjBwuJ=(Q3V zjr|0H%^IF5gHY68EJ+73NWTA5iRGeI>H9!6r((@q=@YP-jU`p5o+KSjrAUPShpNWP zFh5h(2vRjxb|6)Gq-vZDLQ%MG&Q=9Fv6eNefX<(5c5OTf3T)C!!!{UVI79w#fC*3!kc{4XM!A^VOxJC!~rMrZ&WHJ?VsqIop{ft`NpIrIQG7mkqem2CT3FsfsE@l2t`+%AaXfk=bB3TRwpScOJI0$Eb?B6_Ac2 z(B?3~r?=Tw6-BZP4wqC(K)_~>S2AKHjod7vg3U?-2367$s3f&|vk1vS9OxfZB_l2M z8OcvhB#qlip=%|``9^1e>L)}XZZ(*FqYevEC;~C+ncr^CQNMt;~6ng(z zE9a}FJ~QWBD<|w5c7)GeD&g$y&nP*JDmRFW-Bh>X10kvuPC|(^G97wX4hGf1!l;}; zHe1a|tDItq4;Ef7X~J%nvKDSh(;yBC9Y5EChzwCU^$>c#zc7ZfB!HL+mcABVe;dyg z_bK#9tqWDu_VHxGK|4#rAgiKS#EwSryD1tG#AQuQ-6GmhZ2`Y2Dk-%EmN4@%UTtLWPmctcPvZ3a}y#*2AG9oEl&b_3uy-jX@OmLE5UoWVLF9RB)gxOWAl!xZ;US=M25RzQ#$YnVBih}D;}IQg z9PIuck-&Y!6}J%MS0EwwXT%)4aO)T`P;^8@140b8`#-jd$oxy_F@MTwaLx=n=NZlk z|1r^Wi@Bil7crze%ax92K($_O9i!PCoc2IkW+Mz!bGC^d@LsKEoA4&Zp`8!jfkSgN zi#}?L?i}KBC01piLbRr=y*r7z>*oh`U(noFUcD@D?aYj8WcdxRT}03=r&TA~(;keYjfuJ6c;) zoBOV~p}D7r)b=|ev=*I8^!CSef4{+c%Qy6PrMka6Hbf6SrnmHKi$6o%-P-ESkE>~C z#K2~H_ZxcX{BPCqGvc}yQ@i)9F#LjN%^}@w^%ijcM%UcWtGB-tUEFca)U_|g>44Qd zhKhI9`xiufi{IwN>%j|jzZrU`;d*%OtqbB08615SfOY?cdNllzO4>3jiytdC3@!6f)iQ0Dm68kkRN`3gN zXn=n>TKSt88yLM`kMb+f!xrdm{kGQ1e~UUT!1@$dys19^UBqjj*53MEob|cE)n~iO z2igR*U8lF6uSd9(+o;4$*|~ODhCHTeH)=ii$@@ZT^M}i)wZO?wj(ehH{DjfP|%r%!m!!B+1&LFayUlou9?}`b>8l_0w|s_u7*y zWG~I#^=NItD*3V)euX4mcR{muy8>McU`G(s8fxaQY^Jy5wi6#feEgmlyeHoKB@-TT8jDr zK|Y>mGT{qQdM;wAZ36W>g!?l~)asd$_lA5WO>6e&3jOizsK2j9{Txj(o zqI;Qrk=dtIHEO%~9MKIn<_~6fUQF}^&gKvGjwOAF>HNmd)r#qtlvWPfKI4$wg|j6w z`#-R@lOg`AmJ>Zi<(A7Xp;oWs`gP4@=^bhaO^d&u9A2IzF$*V3(dP0}3BW?pLyUaq5s$2yHF5gJ( z^yc*Rhpvcz`b3o>`=?z*uA_&m8?$Rv4Y0GzcN2XdgWu2W`}Pw38>Z(oJ%&rzpW&u5 zy-|5K$pmeL%G?A>Up`1|tEFsZsq3l;*x8A%5c^jKd5_uM4iUjR$#;h7cjM3kDIQ9W z=_=DFtAGJUJM2ykJ}>%7J=`-un@yjjM($9}EugQs>}6>XLYiO$QTuCciDuD@TIzE?GD zhVXGyeZN_b)()!dN|_MmysPnPa4))bW)HQl5_HX1bs*;M(Occ9l>M{kWs!gPP(fVR zS=@Pn?XOICUXpA06MU&E+XDV|-VWT2*$Y(-uuGlyD(5oWc}a8u)18;9&u03cuenCU zS24ZmQg15G4yN-(=drF)+?r~c;k;|Tp6UBl(N?HH=Qa12nVmOMZQm+axhEE@q-}C$ zw)33cG#Dk(>CO{>c$yRG&J%{^O#heqc^i1qdC2h?v$v=YRWc;Wc{cO{vz=#AZ!kUa zu$odOe+Z4jIWi>Zr)DaK*c1%bY*$6q(2h#f(rP(C+ol@u*LL-NHMEnV6I9rC=*7;x z!bx{f-j+DugmjA?JDcgJRNZzNlIT3fQqFAWagtq3e@*%CfT7TNsNoZ4Usk!mPV8Do zN{776TdNVwb{<13V!Cw^iZ#}iGTnKGa5>XQtIVC?xp&m? zolu6~XOne1*~qIbwO&=D)VJygN;&^^1b#S*b+SikFM!kv75V~5IX9X{vea^w4^p8= z-Xcs>3dLgsa?LazLnaHI^1c zhFw)PyFjJ$C2tf?wI+ed0invv+-3>)_?oEEeQa9AkDAlMs>;b9t zcgU*;*}45aWZQmKwg+mcQdR7M8gicGTgXyhtBb%6dzxEpZ|)`^FxxXl#qO1(5}jKq zalxd-c@uXg(_c_W_JUUDE32u@{zhpp$q={qFDmRMIZFFp&3*}_oon7JEM2DRKzgk6 zOoO{6+2A~k(30uScWzyn?%c5K&Ga!-Rr)>|AL`s8c!v20RoOmhSZvwExjrJ9?Oa;NF+KW8wQRraspY7; z{j#_AmC{}YTTV?Nlu6t)idlMyN_<%+`0trW^k>xMm*pecMpXxywA1Qu$gE#U%(cpM z0H(ao6K1ik$=)AT?g7YjLQOsZ(Rf^mdj0@(pYPN~pq4t%0_^2X&KLT4PYDK=6^O0*c>!9>xJI{{aWFhA}{O~qp#O)`$;3hGq?@$c~q1Rnh zS`Bm<=N{P%mKyY~8dw7n<54a{HM@Sl#V=CpfUkX|>T2YGZ0Cve7}$uh zA-+2g0q?U=i)xczm9Mpj#{PYSObF=8Qx4c~i2hVA7Vb&2)ZVkQr#o!B`sS>>H(?PHbL}S#%l7_uTv2owenb~F6e80cn|9#%)|MEPC&p9(^&YU?@@4X{F*x{G+ncq^2 zl5@JC;&1MIRxlm?>{(Ih%Z@Vtv3}Feu%rzcG2f}K&(6HgJlcNy+l9r-!AS3?%b6}S z-_t4}t$X2~7=stYlUcHQGq!^AX`1R2cS>2)UA+`{Tgj_mc&dCIqmo}uRVvR_ z3aY6&l_ObT;ik&(Go>h1ZJ0cTH7G1fc2}ZXSB2@^lbN|cXXc*G$i24D0*^9tFJQ;ED+6l(0tMh8ahMF^TXBKDXPQI3zmr-GxGzsfX`%SHB>q;Q`0o6GFiP?y8=s8wc3&FrW#r2 z6l<*hRcA3PR43OR!CI(S@%yUUqF$n+f1ysQSApfLE9>oIU#V^DH)6}xrS+S#-_-N< zTe8p9=(HgAK&_oND5UN)a;H7wC+ay^1w)7`o22eetIrOr57Uy^ZZ)#OayDKqYS0Ly z<9UNfc3%x{SeKnwJ2f1@CaQZHX0!W+b<#bV*T@^>>#;*g2uE=rwR5B7=(f{fG5dHl zn%fPP-P}NtaWmf{Y^Zv) z#V+cBmi7JLzJ<2ubt%crZH%FqQG#yVsh(&VP2JS8Jd04vwW`9tSL?Q#?=uXe2Se&2 z)V`u<*DO5ODu}U2^=9h|ivDNSr%h_Wk}_??=Uv6=W&YI=ttQ{OX`(x>EWHKv=NI5yYQPeTD=P}8?Ws_%3h$l9ovJHExPtIa#rV;`&8orbW6>dj8E?4|0_ zxjOq>ZPYo7by5#^t{QW7Xj%Px?M?R(m1XRu>Yu27T`I5{YTYgwY_mG6OJH)lKg2L; z5BSevvZoqlW?Vct-PV*r>WMBHVG&o!L97L`zb+oEYs+@Is>XMXqq)?zD_fwh>l&$S zsj43C+QB36H_@hRG@h|s1gX`#MTh_Rt4Ks=rl;iTvP%*t2U2b1C|AdIYn0ICic~mQ z(Kfk;P>EcO5OT_1YkT!#x2;O{WwoGxfV!f4V(eg9thlULCrXgTu95X4>Yv?{SqC+s zM|rREmqi_D%&Fqw%WCr;t=e?DCSuYV@Sic+mrR-S-oe^((8K1|U}2*RdbqLi=1x8O zKq_SB*Z5Yw+M`R=omYj$U4Z|z802Kp9_XX$(4Gz19Cc&QzDle~{jh5U%TUYr>dZb< zr}iq(MyP9g1uD7`>gT;$Fw48WW7#S-u6HVynl8PgA_^~3lY~2&c2_IeT;*y(@5+kz zaP@HS7MM2fed1Y(n$jnTT~jmr)L@;}tUe8qaL2}LgJMV_mo_K#o4qqV&Z`mq ztFu{Z$Np(7PF>nRgZ-*r=-=OXmS$DHVYAv`z)+U0emtN&OH;oYFql18lLw~wZaPP` zWh^fb9W$xc9udT?kO8?C+?8tP#d^H&@* znyazH#;|y`U|8K0?|HK*BQN7HHLUV?qTPqf!k+d$66E%dae>*RJ{wj!+T26bPhBli zFC7rYAh$P?DK&j~W$VD+OjmrcyU?WIfn+Z2s5e{7@g-{AULqFGDrMyx zQqH0cbu!L+&&39&yJ?mM&e9^HpX8NYV(^~34X)q(&hCF+dZztQbT~6lEgqh(JbIz_ zpB=#h)XWjpFidBR2P>!^fX*rMS+*(7(BfH|)#;)rMmenY-F+R0XA| zf?6;(Roy)*q;d}^%scEoF9TyNFJr@P3%qFE175VFhUC{6)?Iip4p97)`eIZ#TkqQy))!0bJ-P_%0|CV+cc?E% zg<<=SA6LyY1}XLfR)9KW+)B@1J3CU&sh;C=n2Y-U_zSFZ;phqVneyPCx^?0^&Gw&w z!92qO0(tOg9!e=0JMz-~b7|Y$f!P|3*}7C}7632-oR2Ec{nZhZX0vGZ_M|xFw@}qQ zd6=^49(A4aji0)Fa+}~z5oBHuYwK{3Mf8o-i{9JS*ORTaAGSmLTxopd*Z8h26!X(u zkyKn~3py*`^9Raym)W1nY;VdARd>I=m~~T|OgY9>)$N_$Y`r@8o&Isp50n3f7X)IK z)^0-_O&vK)*Xz~4--#)|N9uhJXp#Gs(0qzv?X1~bO`00zej2H_-7utg7Iv9xV$4r~ildShlC^#$Ce4m)KS;b4b4*g+1qzk}`L zV0${)ZVtAyofUDUb;e*oQf6*|D?whyQmi`5GyCQmv;!hphvcPwj&;e*{WCNB4n2g> zzFdNG_eepor({$bV1<#~fyO$F!O2l?WKXPb&t9d@o0*;zFsIA_mO5c_98&C+f*>gCy^ zBJO@JH17fSg~6fyDde@BRFl=gbDDW>Aq^RW*NqB`=D0KEVY+%O`y(C`)$51hrA# zh`1@s#nymrE*&w%0wuOPL-wa-dWq`yc|qmUNH2S4v2Jp8HGN~SwMP9nM(sDrXa`Qv zH|NrdCHjK4O+y8;Q|GAn+_z*p)e}u4v;&sbo7<3?XSfB}r_jiWc8r|yzo5R{j0dm< zqCTbvTH1~?5hz2;)1qvb2evk9HAS^#-U9R9b5D{fp^pR{1#VA+bS*QFW^J)(sEooN zwbVZrm9IIm-W$#NwTi7dT$({aYE4~PsXef7sg3g+Tg9`ytchASxnfzh5F%uCA{K|X zmc_Jb4Q%9W>DP`WD$lT#vaw6#8r~-^-_UO@>1RB+T>(ZA1aS@lk|z^|E$Uut@e*o# zcE$s08nSid#A)cH3xnbyP;&E2*^m<1^i##_?~8sfp@WIZdjajUxra0J{pW$9%Inp2 z4B}+)wl^2_fI}8f6-tEQ*~f_9&(?cnq%5h=BuC;8gKH z>dK{!@y6x1rRDMHt1lSHj;lip;@CoUVZm1A$xU@wK`h&^_I&q@dBr+%04LN-V$n}i zOVx1pm)ccLHZ`ziol_U9aZul-);FCOJ$|ZqxcUrfQ`NBdF0!}OC-2QwT2)u4Eqln` zR!6-b#rms@-me|Gc0Fw88P);z#lrFZSQAj0I4dWdQE$9IFd|B-M3c(Dm*!1{1Nd>K zRLWBmK8SNGNx|OYlB0I`AiVW;;;%0d9($b1SVvRy<}d?{=ix+&_kj6n-;l~dhYB7n zbvK*7q4F82tW@`X5aIeBvG1r?K8SFeL2Q==@2&`MJ%HG%4jXP{gWd-@s>vV~Z-)xK z2D-WI4V8+daz`D$BEr?1*ss+*uuqb~ZdA8}{e{?U_1ubxiie2pKfkPDo@DMX@lb4U z*vF)jHeU^18Sb`__|W-ky_MmvV~KyJ_E{O>+Kt$s)LAPdTGuCb=e#n5zGSf08wR6E zWwArWk5v5MP%)6oTk6e~5pK7tfX$qzdaeq0J41Z@JT+xicPGUA`*9bqKK^s0YB}4VJF>ZS}WR5pAjx+sR=gf^7UES8iL+ zhmcB&LnV?_u)jNbqL7N`Ts3obxNC7`@VC^Ft0P>$C-#(@4|W%^8`K@EBigJYc6N4| z+cc7I;_TsMZ#Jp)b*Pjll|S&y(fDDcQZHK#T@&usmiXXoHEm6}YYpQ6QTwe4b&VnR zylMsOPV63aE!am%V3(cdT;>;tvu z=J)WL`Tpi8#ZX=~f6|{_R>yzxE*q}8Y)Moao>Y^!3^R7XOAJJ~4jn1*ilt~v5}y12 z*is>?8eUHzW4Nt>7JC#%izoY|>Sv$Et8KSNvOm<(TZgmh>V>VzN~?F&GdqLuMmK6( zczAHW@Hd1&`l}wN)%;X(&~dffw&99LjCy2S2d_pkj(x61j2ivvOLkEW-~O4>B1-*! zd$*8&u{ej%rD>F3<8>sA<);~=Fi?J0(>^=oc?K!=$IoMhrX6*d>j!^gYoDw>oaU$Y z+BuSKQcv!TRy@b5(c1#m(w!!@NHy*n%dV*J>}tWzs7H5g^WHO`T&?jrAooadGj(QR zJ@${fuP_}?c`pj1Sb-Y4yA%6e9kV+zbme88?vxJGg9g9Y>}?N~>(rgQ+s0($%@IyZ z7&x9Sa1z7z(2_s~;5goQsBClqJE+#&GgL_kRoCpP>+;@yq|VwC&K|4J_jGi5A5jwG z4t3P$-6Ge`5mr6~>vXucd{%h<^NP%``)r}pgFp`DVl{Ga2X;vvw>J|n()Zza zuBz;#FEJVW+IiK(>mqy5l7rOs`<5y7t!kb9l|1hUI&ywj$M26|f2vFNPh#U#mje?b zUeBa@#P0t{u-N@=oBxfOwE3%t4^)c$in4M8z9u+jI1Qj5F^+N#2UOD+Q-Z6B(uV4Q z{T5nkWPCE!Txi=+(LLK&m43K-RBQuN{n1st;7zp)?GD zhKG7ab_=jqITbZK&Wq6~88}TXI+Wn^=Tx$zJ4nxhG`yFp_Yc+c_{QH}u((LAc{qg) zQHLFlQ(8<>7agw8zEQtET!HbMz?q~kq8?&K$UIWygip|gXckYA%0c=YvPK=Ez0^~p}w zi6M?*JPf=%JLemspmNg>hZqd3SmNCzA3^*}oPUrWP5gby#}NO!CB;StsZjx_Ld@IR!BEF&IyMedf ztR{t?l#w9$zQl(~ejxGQk{?36Uh>0a_6zQ2_!E|h`@`zFcvru3DP7hSVN^4%#t zTk>6rpCb9r#J?r^j>Pwqyy*K*k{9Enx#Yzds^_A!QVUvAfn=G{g7`SeXA&PId7)Fz zNk^mSf_#I}c`SJ`NdI<9zbtuS^Ni$$onw-3WoA}P1E-9wk{3qTN?sUMCEtu3THusE z-AR9}6FuQ`Q>x%Ir;LxB3UDVr&xyA>=}(lrurthw@8zV^PV&NuCX%-bPisj* z@RcMlx*$sOq6_>aFABR!UbNsP9ZK>IqT>6KZ$gdvUGk#r&yp8qzm>cwdkFncg@sV) zq_oMY@Jh*xfwRPk&z8J!8XIoeV0=sRqT+s%7Zu|=PFY>eCErx6|MjFGT8zhAQWDcc ze4x!Yi0Oo5Af=1xS5ER`x@uxyHHh`&vE)Zm>;IPgIO1^(rm}Ane@5~%h(89N*8e#q zh%-yRA&2;_QfV>qYbF04@v7uk5Whh3>%ia6f{{(cOa`-qm{DN%5i zW3j5&?;(6?7;`D?cCLn^ENnxm0fis^_yLRDf>Yl9nj&;He)AN^kiP-NH(F_0@t11P z^F2I2f^0u*^TNaD6=vw%Qq#WXeJZll!jcO~3R|hh|B|Elu2VnzWiB31s$Yta{?r?W zXGz0HjKc636AYhdMrWcfd)2gS!8kd-d#N?sS$OqQm_gaQTrId!$s+(ElxJi-;#9j9 z%Z{jBuVpekmtH%m^juyz?7D?1aqmO71{d6 zja0Y7sdsC+D?<~@Qq{Z9eyyBz8>ed*B{$Cg;cBEEjY?$W{zl-|BwXTyz zA2RlKNN5y>;eHRXgw@c0B`S>k1{J!w^3*UE$xaou4`beXR#enKl6f$;g^!M6!@S0v zbeI}=vgk$>v$~mg;=}kMMA8<@qebHr*te|G-7oAZ&)e#B-=USpBdAoa{58JABL-S| z1xm$d`LINm$R6;5M0S{+;2kTnjb>N819q}nsmNG~&2v!_i};dcR>3?1{pOTChM!1g zCs|(6q7)Xyj1%vd(g`|+&#c3OT`)|S@>8j77yFe@tIDF-mwZK4Hqz9Qz8dA8DPG7u ztFbTHqM~oBv95~J@g9$>$tJNYe0fc_N~uv;RI?UqsIU)<-mb%@Gd71ms>>z^dE7)D z`FItVPp`UboGnFz@(kySvg)z3N=P)mo9}-hcFP*yZ4hle`H5_619n({|9YvqPV?st z8nOuE?H8ix9X_Zb%kk>A*%9Mbn~R<|WPS9;2Tz5{L*BOun`0U(rD0F`%_b~5Ax(-6 z0Q=HtRgllMCt6aOfGC+8{gkIPWzoi`{|HOZin=#t{-R?uSTA;ze+}>&v))nn!1YB{ zo3W0Jttgt;oULKX;}KYR!`P z@>c9Gw!FyNntj5Qdq430YoO7#E&E%!eoku4>cd=%MzmwsneyEkN~&6v)qy=`>|;Km z6MM#1^O2p|E&b7NOVyCk@q9)X)`Q*U7rL-3%HVIxYBUyI>&h-LrTZU6_+phlfkTF)!JW_YPS>Q8x6d0 zlW*%MA`y?ACAYotc!tDN#RCpNjV*;(qF>=Yxl^-s~@aWC;5~8FYXz8_Fs&UUYaU ztHRh`et#Id$}Se28O~x9_I}aBk!-JmP;42^;uW{=`MJ@o72D4v#$eKJ<@Lv~JSFNo z{`DAUu^Mn|gDUaCimvkYJ_IA?b4r z8%fGHtOCgI*N?n?GKzC&{(*T>%*Tyo{?=)Z0}g?0!>Uec&-gdvSfN*&sgBXvXe!Se&pNRZ zeiauym8{SBl8KmKvnQ~*>>+oZh%SAX$4_MS*&aS{BCEtc;EN}+`HJ!>KQoEN@v9S= zH_x2J64)j_ZW8OGwAe-&J=i^-I2pqwd|OfL$!wdVM1E5AVhRgm3foK*C4o1X%Bs6; z*i@?VM(?nnl<*eu3K1i$oa;OzWW-y=(|%HXI=RCt!%WiXdl0}l|?9@ z{l>MetUVvSm5s+?aOq~6*s3Hzm z_%rsJ(MYW9;_E*UpJDNCGDs$-2lEEKSg6Zh?>W8rU%Oa+uQ~Xbygyj%*e8p3@svW= znRVv#3Rzry_LrKLo3SW+<|5rByy}}bPIME!roCOqey%Fy-xso^a^ICDH0Lh6S%PQa zQR*}JfeBX1Ywu<;E^hc{%#TcAiG2QU7OuEoY`tr{XDhd?uOHjqHx|$5 zE_+xUd%-Px*u`=eYuRf~=jA?URU)>Z6r*8prlD9g;#6^mQ>F4%WpQ=h^>bFC+=Q|+ z$N2&zu*OB(KgY-~w=CaY$x{BJh?QqodDLE3vB};V_DY@|f^#%x@^f&g#|!DRkS>-D z>*kwa054-OuG-KAqq52TK3}w#Rb@Z%Lwi|hbIWWjMtQraooV63wwPSleZgn!V^Lmf ztYp-7S!+H2WFH$DdBlMG0j<%6(WPXPy6|x|dmG#F)cq_v=|Ne-ef0Zn{Zcv~wVPe4bp`dAU24?^gLw;N1_goQL6M+ppd?UTP$N(#Xo3?d z;7vAp>8w(11!x0kJ7_QHDCj%T1<*CnEzlFtOVHRkrP?4+t2x$Ets9u+>{6{Zs1c|o zs1v9+Xb5Nw$R88|dJJ6+R1W+U&@50cXd=?Apn>xo)C+PGTUt9C4*QqRK&w*$=fci> zB^0^7_&j$PO2RL-8}z=m%ca%BAP>E&UxArUV)&MpUpZY|XwY$?@VfEaimkde&^+{L50U3pU{eHYA>CCFFsiTK`J7=l>hYj@=gJ zO>`>v2l(fp%1HMDg@c|QF4cmMU@i`k3<>|A=^AW&Z?iM~f3R18^!=bsAa~T|0~$Ag zhknHxRA`JH=E8|mjW7j7NE8Y30KGt7@rk0Wuh<-e_3<^#Nl=}urP@s!-wN1<Zxe*`K8 zx&K|N1%hHhRY3nu-#M)=bejFAo>l9J#J-@BptnJDK+XjhLtX*e2-*cY2>J$e0dxa& z5A*`$iirDyB0&{FH9?I*Z9zRjLqQWjS)hfW_d)B6t=Of&><66${Q&w6bPMzpq##lh z+E7phP*qR^P)kr(&_K`_&@|9|(7T{Dpe>-!K}SKSL6<;(fgXWMLGI{{Kv1j|zp8-h zf|`Lkg8G6+g5Czr0WAit0Br>A0v!Z>1G)gZ0lEiz0dl>K2!J9%6+tyYjX`ZeJwZc3 z6F^y@g`oFA*7f+c9kd^G67&P;H_$E6Q;>285dejPDuAkj8h~1Yx`GCR#(<`Q=7Zh^ ztpRNTeGWPbIt{u6`U~_3R0?vxiwNAsw2cK*1ymQ*4Ac?S7c>&|HfRoLF=z#7BWM@s zAm|&=1<(!9JIoVI8U>mR%DNYfB_7OD&QA85>@|8937(vN~Rf-XNQ)oU*v6%G8IEoRm&H8ibZxTakKO^(ns zbEKwi1vQJ(wCkW5(V7+%qiMT9ZDR3GACw)ZX_4hMZ6By}yr$g;Ev%qv@d=uC7}U$6 zX-`1~iJF#FQPWO=PFL2nft57vHE4N~rd5MHqKZ~gb4k{;wV=8wn%1bArkw|lOVzY; zRW)rR=nB%NRM#|L{=uKDnl&g5J~Y;}kLqaJkh+pzi?o@xbjthRD50LFjjk`tlU^N^ z>t!o@1lXhz{099As)Kwwf-}%zNky&xVzZgm1y9fc{|DON?M-v6FvbriB2bVldGi%`M;b&9YVwO9HN$J!2N8e4 zhQ!akMOT7CdsP{67;sL~q= z{wvVK(ehC`Akndr{HWPAF*an;c`%k4Q*RPipW z%d87COSR?hI$dZ>JUan1JC|x#fJ3^JYOjFlJxjIdays2-y-KxoV1wSJT7Te#J~)*C zi~5yn>wsPR<1_>uJ_rXA;Gn@c19<3k&4!g~<$;MKuq*=K8(FFi2X=X@RLk+eh`m3q zRNIDxbrbN=2JAkuRJ#NGX$l?;aSgiuJ2(siKgQE)XW$OtBw#f>xh@A*!j`%hSO*UZ z7lEGwOMpM*;Dn2dtiR`$YW0D=7s7Gih&(tBbYBF=z3`B|9n4`QjLpZ>B5);8=dIK2 z21Wy)0@HyN7sCK>K5!PW-Vzu9s=&j*L%?gm-+?+@LwgB~2A+DiRBH;ns-oq{CPBJe7(1o&hK3wTwweWJg);+(1XWuFjJ1g0Pu65O91|)$T1iIz5q4_J~|EqK$lZ60Id2g3;_QD z9tSS@9uEeJcr{l(DDQJU|<8_QeYq84&cKdFnG>_Y4RhU;(+~r zLg<5Zx@*Adz@_IAI^aX#B;b?_2t9B+a5wPO&j>y6AK(LE+(nefJHF|7P)GqTx{j^` zetiSwferse=z$(MKz;!nW5uEG3YexiqUb_&I^!d>9Ju-krVDUd2|NcDm%?-4Ad{x; z1{Rgmw2Q#@KAQFl_>r%sMThEi3bxOtK;INi8x9Ok)wCR-3%0gxzy{d5&H}qO(X=N( z>z)iv3&uad2ydoowSg9VpYIL4)LzqO0T*}Dv<<+xZkqNLu&4)?Mqq`Wnq~~w>CONx zz<#~()(RNk8x;csu~X#$D`I!r4EzbZ)mOmlcm-Vyd^!;2BQXCXhQI*b<{t(Fz`ny_ z061_Y3;;Wgf&t)!(J%lk9RmZv?pV`}xZ=Na0?Grg0W*QY6Hy*m510d-1l$Z<4*UxE z6|fi>I|=2ZF#orKu|(-~cYv9|`jcS*I3Jh;ybRn7OnqC^z5`|g?*L1H9??2o<0;sa zfqQ`MfoFi@fH~7N?LAF6?G5%4GAIp7nZai*sETVrsc6-;&D1z>031K=cJZ)~UU z0lxz722Pv>13=f=FaR{ofq__^ZWXXP@Ec%f;6vaf;I3?x2mT7&4NRMh@<7jdC=VP6 zwED;43N@{I$+XL z93X+-1)6pZI0C4vpwpFCG3tS}u@|QU6R_X*2dcnXzze{2!0{_k9{3t~4H&x;h6J`%^^JWY_V4Y7e_<+l{VDKekx>~p4gaW1our+Ynrh>Y@z$W_B8Q;k~U7Ih`XS*mzJa8)* zb64k~=ybQzup%)h9ep07{AeU4A-^a8umoQd2J;go_@+L9|4C9XH$7)j%CPp!B9&0X zPf)wSTTsfa4t(TueCF}yxe(c6{>gKw&*0ya)Q#UI2<4tHkoXHveF3RF??7;ZkEg_X zd>KjK@jV2C`FTqGf8B`gUbM}C@xy0BmA%D3 zBuBv`~vuL0Y6BEeDK0uWQ0RjTcQUuBLdJ1Cwa;QnspR4!?M%Rd3c{*0Xq zQ^=v+PbdrRNzlG*<+onLr60Me6pf$GD-(?69ZF$i6dzBJ#|sF`@tu@ckDn))&7UJt zpFh8pU-eM}c#6i1>?E(FLGwKCp+O~$&m<|1uO^tvzXT{(bNO!?D%{OqQ|f_b5lU1> zMI5%moP(_oq&SN~Qf$I*fwNWC8-r-77(~=C(HZX8qL$58qV(Gqm+~mH65`q#N&6Rb zFTE1z9u2iokgqOYc0-9(&Mx7uOo?RKJf100%Dtt$8HsE85E2ild_IHLxix$X;rAP; zdm`BweizxS8uwJ7b!Zc>f^X;uLmP72YD7! zl}88p8p7L$_(6jbs(*b*M%6GE2iJ1^ITdNbLtFvXc^y|c+=ll7C~Lptb6nwCCjS_j z%EB}JB#HI;P0GD;k$bs8Y{OICP{x&aA!yI10+dbn`5I&@KR@J0NvSpelX9nXlM%U} z`|>JAC04&aK;u@81&BU5&ox}94VA^mS*wJ{}0m($3iVV6?1R6Ge>0vT+4gHzOZs z6i0qvNB%41Z$*9`=ln^I{BS%997q2Dw7}L6)Vb)s>a6jX&sd0SZ)jia%)jx&T0aB4 zFMkLJv3dD;Dp8GBb-}UFxgMoe*x~lxDUr8MkQY0 ziRsga?}2rF=dK!$GGLj$xKf3a#o*32cJj4sLv`;sF&`SyA?Y$HuHqjnl82ER3 z@GLK^4-@!mQn}odR3er0J^62hcY5(s%5K3UywQefJdI!y?*mW{_u*OI$n@Z=N#uR` zK@#2huO!~>$4g1<&m+tzGlr)TU;!cs^?A<$NHk-nLNW6T0{5{f(Sm3 zpeO&Bz?YvOXvhBq=)Hz(JnuCY*JwY*1un$ZCh{%NU;+GV5<@5P zNK$+c4^)+lDs|z1NS=!rtA+p#k{z(8_`sf{gn#3mjF6I6> zm3sw3ti&q^LcBVIw}q%|n#soyKFs2a1C`jAi#X;MyfMZWm5s69(Kvnbb12T{@rQw^ z4~8>v+!)1%GX(=)(|Yii@&&|EADLrJNF5Q*ERKh9;r7qHB|erz>zeo!>|S zx=y}M*}J>ivxm-**`CZPd)o+m_QaVody$V*c9(bU+1g^6Jub;9d-fOh?6C)A_Gd1X z9U@(8eaxO6d01u_@zljGerkKg#peC#%XXFXC#1?3E1W8Ln80j}E9g&)rcPJTgR+Zu zRaAyErCS|-WP}pLt0gHDaHQLqq*ShCZlKc{YBOI~TExvQv7#F4FdtN-Gn;!ghE$i8 zYXn=t=6bv|NlEk;1s>T8^x{4>l=4MAD=S|x){6%vE7e%9qE^YuJB*o&j;AOF1%u(6 zs!BAAExKJ*!7bu$yg_y4eL7NBS1Om8ixlR0D$1Yd&vZM`;)<6naYq|9Kc7MxAE~Y?_U!W-lC>z5d`k>nN4! zhGre59xwNypCaaH{J0G3o=o>MbC8qb6#|>4`|Wag z-}*{a*mn-?2UTyw1&i16%20UFJclobLY3;MPvz$}pKzgGO$18kbsbSNJ+9s#0?LdAn9RY$s0{JxrYFYrRAz%v{uRwJJ*jn? zw@y<+SW`YUO^K@Ki>|cQ{j@rH4?ES#eZPpyWQX_^(=#Kzd-k6ul!f!ps^{>-FyM8= zkye7VyGRRbi8p9EuRUbuxil(U{Jd!nPiUYd`R@`6!q5ww!XJEC1EoShD1xf1DN0@`rkNeFG)ltEtEmg-WaC@be9nD7QHxZ61HwKuK^rOoAC*-cYeb=rJO7=KB~X zCOxZ4y&P;_PC?bPhRyhxhDx;c2cgo7!s5@osqw+)@+1W^FDejiZUqffkdzRZn^Zn3 zh~ag%H}RP!12c|<&(63BwZ( z?wnh&yZXb;Y9gdy^Az-mDVdd{=^U-o z|3eM4L?@zmy@^jTr7~k{Nd8Af;Xk;sv10MA3cqybu{3VWt_17!c~}KZ zRfGRT^Sy~Tn{t_vz8aWmr7|sK<-}4Y9m1O#8X{QlGBJBlwYfGly(UqMYxohb^I8r6 zO*KOrKrrfDg(+7fjmlV88TEr4}Q71)I&K_eXk+DJav&0klGCq*1I3V zfOc`O1>WF31l{54-VamR%{?C}M)$f{j!f8~M@9wrZ+TR{ z5*TC}qwh-9+{1INt(pm5Cw=*r(|GYRAw#L7-1g-fgdo#G{Yf(U8`U8lTI6-skEfhb zPDhz`>7OApAedHCj5#lF8uoX5?91}E&6JQzVp+c9BbQ}Y<0iO<0{6pc&6Nf2huI5w zH&;U9MS=TavOs_Zsx(FXqw&kOZr=|JVedl*Kmw>0|DZWKEoGUU#8mIC)Mti%Q3_7e3xbky@OjFx-< z3RIiT*@w;*J+xI6Y&1QrxRlq+R8sv;m(};kULUt++5_>(Vf;~82^n9CUpCv15Qr}` zl^`qa9@6K>b{pjLV`rZqJNx|DVfJwtEolB^+h+E$v&)ZdF1w2D3K4n|M%$09?TM_- z>P34$a-2f+#JRdBj_RI-ou=xB;+L(uC(hM9DXWflI#l;GjJ7mc-BahrJ$2NUtb>|U zk34l$_cW|Niu?cMsO~9(##$;tezf~ZyU*-)d8L;2(eun<<5}1SvO$JyE=acKNrh?2&!xFaj2;{$$B!Woh@~Cw$xrv zut^J}vxJu{uGx$8@vW7R1Tlv-n{IfpNyozItYH?583eI7VK3g-q39|@oB$jE%v#{UFv?18F7eTw0&_<%v z4y2Wx4md%0_7btJz{2P>Bdda7FZ^3sRY)wW%EAnE+L782?AkHyl(6ceDkMs6SL0M@ zx*8*J=0THEStuQRWJw72lH*Xai|92Z+Ja~y?fcO7x8j%1ES^Y^BoA+5TY@C_C77Y+qbum9we4^eJy7A zvrHR;O`8ThB&V*2}bC3vXa1}d81A^S*N00gwd463{SvCGW;@G zS+o!WVj;|8(Jv^+orKxQ$5Tq=*{TrcuxM8j#N%N$iza6x8`0ToE{pb{oJe{En#ZDj zA;8-$n1Zgxa51)~i{Jn7Yn`y?v_QUD%%|zhJR7yyo+4)04(&Enxa! z=zAZ*794F_!pvK#bOUT2rlnF}XHJ22)4ME;vW(^r>9vE(!gi9Pc?LPPjER>Z!R7%t z*IP~ROEDboQ6OE7Q6++A!IB#0T0$yM=#Z73Mse+Go_crHH8G2jg?&B-oE_u~PbKU(SDZ}iw7M>X#f8EUhcNq&U;Qij=!j<@a+@{!wXz5znCe*ki#y*ky0 z5M!pHZSgYWw|lG*QoPnQg;3si1*)kH4~h^{S7RwO^mV=Pao9axzmXfeDz&VqUA#zX z=`f4}{D|+=K(;EZyiOONitb{kUE)d57woWBsEFQ7g<#T`9A~0L!d_d^=|aTE8MtQY zh&ZqxT*M-x6tuS(q9LDm@uluo3cBkOY7ZCcR$U`ou@WjK)UMjqGIfbrQcc%dR;IJ` za)Y6pF1|E@m4b9?Rv1bK?tmF`tYTv@?mD*^@RcSa!0cNW*LgMNFMViX{~)N!0oJf@@jv)FVh}OkJWcc#suO zori>;)O-4Zi&+*C#m`;LWK~}<%c?8C3J-~Fn~U3rR@AY3h^)xgRK&h&yuG4rE)}RE zgfRYPx+s&H2!E7<*70;2gN=r?`X~jN78<+kQ? z#J@bQKoPJ~2RC-9B|A9Bnvi8vT#Z`k#|>&01rHu9!zGvon!aGKHDR+&E5@ev2OPHa zMR-|D7qOU;Lv3gbv~dyJI~tH!I8d6rBtd7X9Ypc(<5HgN(x}iSemzKLcC_o{T3}?9 zOAO5<(cg)wgJqt*U*uSuYWHrbRYt<WgKSfYzBEz7g| zOZ~mJVrO?vM7<58j`MAImv%w3168c|d)rOWKR2mFc9}GkvAn zP9~A9S^~%9B-P12q_|hX`w+%l%;Y2Dp73QqsgBVnetM&ju*!DEF(LCGOp+y%Q|u{$Sy-IsT~c$5A*@#ZjBzY+zLzw`eCaYpjpzn5A^lq04vV2 zxKe{w=zV37t>_(k5yvj;#al#*sfFI!vETGwvChfXYfb;#m`ubB8vz4zfNDCwp1FAU3y|Irfe^pmZcM| z7n}6r^@g`!L^Uf9ct5h z3@xjS@(+63+}dH4VgAvcu-B?fxNj?nDIk7A;fe$qz z%0s)#Qnc08*d0ww`jz6jQ18)({yf$s%scuyA^{z@xvb+B>QillwaVZT6R1qaWvC%~ zl_yRetz(PzV!y#qwZyyWHQBf+GSOW0$+jsXwmF30>0Pc<5uz^+9w5s?bGN zCaxlgO6SN*g-VL3(~9|WjMk}4y+4(qak1N0uDs3J%J{btI@V4fN>4UoSR@Ul_1mBq z@A#V7)~eqXSsi9&CHufP=q+;KZ?;-~azhzc`=~}o_eNJ(nVa65^u@9|(`IUzw4^JA zzm>-fnWAIm^byOTr4;nnCA_j}<=C|7R-M%H(}%7UTG(LMbduReY+9p`VKE!wLzF&H z?w*;6x2!g;{x&Vkt7vGH*T;M)?6k+)G`X|Pvo9YqUa9(U8LxC2RWwswjfrTGtMMc8 zdt5n;v&pnR{H6HP+vv;=(#%T<7y{*z(0;i<{H0X14}o#jQRZ(&yuqe%MdxYuQ1PbM z#Iy?0cLDZD5oa_CN76Xz@&$_6=4!T;)_wI7*{W|*iL7IRQd#x|mYnIdSLP_DHu&?L z2>mvzWhX65xzeoIA~v*>Cg#}uT@FK*9yC;TD?wzH#^<~$kc$)_xiDd_CRRYm=m!H^ z{8$ojTxG|U&~u_lrYv$&7EubU=@c>_5Bl8zzmw>$Hyfq+RjRDh@ix-NS_udlrOMWf zQfkVGb+^Smc~e0-FF+H0*cVaOyZ)P$l>VUaVgfnuBXm^`!+rz>Ku#{O(sfv#qmidf8PGWBdN zE1*BjMn9JE7+9>M5=ix-{oSRz-4#FDILZBS)Dwdg+X-(tMTS08CVfx+9Hy9?Am))R zrM2odt85je%E*K%mF$s8^+J(w#gj70^iQyZi-R`jC^FW6DCkFMOnEB4UqWw53u$_Z z1Vn~XrD;zkS(?tYJf)S%%N~dJ7W&4<%=Vz$hN+L@EoWMPOC(JNKgFAj$xflKYDw0g zXn6d|yk{ljK%Xh=99z~ZN|jar$rA0IBI_!aAKGZcr!RW!CbQMm-s0f}`8M;Q($ptD zbP&W1DJgeP*lDXL+dfSDK+$5PQcsv!YT-c8(-sM2iXRJoD`YPAp6O3LvxUNUgW8bC z#L*|CiB!IfBOU#)RUK38ZOFr`uktjGFaxiUtwqclO4+o9Tj={TTPj;ctD%LyF|z`D zGuz7r^j*6G#-fp8`X0mA7c#NIYEdxG*)nDuoaxCXs^l7D8rBf{N&GuQGQPH9Z?QI~ zemu@X<#0q`T#dx0l&6{Amif_X+tOH;qFGKqY}F!alQ@94WtFIUrC^jUwJ!C;Y!QYR zI7-qFebA;Kwkow6uAhr1f!ShwqKR2?JLzBJusLF?>I)8MB^1_{`pqQho}i*QF`*aO zjYra~*7YF}d0T564>r%qN7LiJL_bqNb?2ZI&1QteU78aEolkgc() z?SNYOx-x&HP3>(m-k*$bi>M`x;ntJvb(z4RyP{R0nGQXEit%TGr_(1I|+qvjLR-8DTeQj%BNtQ0*Z(FI`wo+B9qLh`! z`gyTg($iVoIdbWjV0u5IFDOQ-AL>i>83M3Occx;CX>&`-Vu-8yJlMv>zRi)jaA^vII%*rqk!rgf6E#766FWwxCbr^vw#W&T{7 z+FepxMN3mKi;&$&J4~@n?HAii7br!4_9J*9e2B=<-kCG zk>fmmh;6xM7p9T|hFLLfkR*JdbkA zc%?P|*5%~!N>6cX!H7F7q)2yI@CWOZ8WF;743mb%8*d{dVc9&Nr%q5d&Z%(yf${n$0=TSd~EUJb0*`6AsUX)?xM>@ zKp%$L6~3FSSXnV|{WdN*P2)q~R=PmK|I`o$>Ehc;l8hR@Dv8oEYLM(viH56+3=}xVr_X@2i=UZ+*Xnoqvl&W|PtE2h+*i5Abs`JcJ8nYjG`z&0_smaG@Db;<& zLI0TOGkPO|CjnlBY@bV!SavS^(LAG97s-F{;w&W@|LP^!io&ya9V;w`@NBD+ihuR8 z$BKo*%3mW-c`=4Z%~B$;wxrF1>Kxv87VaSW@%6KyGoIg~#5=s)Y}|YG9d-1pDDbwXj6v4gc+eW9G^QA^N$EC)M`L^}O&338L=djays z>&;K|#d>32Al9213vBC+o71JnFBaI=8zj>A8oJLInIrBqX64{M<62B&y3e>XM+q57 zkAhfEvT&wyEGPZ3bIbdT#ydvZ#(lPmGW1|#yyJ5dLa?~g0)gC%mNyTLUZE?fq_}x# zd}KU8C9CnITqVhCC6*zbxOr%NT>S(env3gU-%?sIUACizid+Z|7V8Nv+j;SiaurLQ z@HN=JYKgB;!D9Ae)rv<)8H4BZdr)lZk0X~ZnC_7oagVGUq~Kt>M`px5GMkIG73~Om zIY`_iqZREBNIn}y;XioKg}6udqYwg9Zm_;@Q3m`{cN-({JqXqB;8d@7)S0Ul9*lOgZ`;5l#Or3r!o=uI(6^>v5 z4Ts%W#+QhCjsAum@0x3?d=gIG7pz5IUa_T9$)_-?(7b zn-}CMfmX8-7s^^vWa*Q#(SD&!dW{QZiGGh(D|A)Qz4wItF!p8en zP51QF&@(kNJ@m}F1S)3N zz#7(oSyx?D6c{on{NDH6s_Mq)_k7`xajcfEUWh zDimf@g~A~;uiPgK_cNKEcAqRfIEO7~IlUJe`Tx7Q{;Wk1lV9X^LAhsvXSY9NO$Q)d zBuBc)#ysgEa(xOpx{HUxwP^8Bcr26$r;d0pw2kJ}5%)&Moj1C-NRY3|@*D7Y3Q+U5 zr$$0YJZ&U&#C10V)2(s#cFlCF$CT=&-;@H7rry?+oUL(om%JpU>FX*$O%t@$6%>;3 zRa}Iz6K69P@!g3)+L!^9Hf8|nF(ZQ>kXI#FqgufT7Y=0L2qO!S%gK51CihMPQSOCW zHfrz`$P9)5f!YKqE)j4LX&nG~lsPx!nuUl%q83-&Kx~e(ywmX$D3VzPNk2Kq-E0&` zJ7bJ#KCtF{eCB{pZ{dSPPi+npv?rzkXaMUwN2jI);8DKoYk)*w13WJVc3u?+wAKJg zKRNay>;ay2nid&#Jw8TWoR<4AEccXBN)pO~jh%yE%L3rZnzzV^4-+ks=*zVwHv03NuOR*iP9a+S@mhSmmixeQt}bMW(r-XN4u#ocpw~nd zGiQ~&d&x=H0g`@l+S-i5Q#YZTgCmUYCj&=w1mJRHX9kqk zw*aN}EkIr)ac(N(*Lw8D&hU9E=W#pDejiJgGdFyxGABb)NjN+QtWeUpN+3C@5(3bW zAD*ic&CH=8KRiz*dJv%bD14<#^drF6`tVgMLG|M_y~`+XSp`|kkRMYP|CJ^OvpB&gCeoMyjgjfcY2sGJhQu-`8L z5P1Qck`Y;!eJXYOeu1k{fa^16o#8fbKab6DW+b+WO}VCQu~n zVJjqTK%z;eS;gjdJXc)J=Xl;3J6FN7|un1iGGFl(yN2om{*E#k-@=a zB3eT`n5a#?J^+GtFj1RET#p>>V4^l1d%g4DcDP%tOJQ&B`75;24kl{z;nzErcfi4< zZvolKnZlM)69HiV!L6OjDfuT<(AzxK5&oI_yyu*MhtYC;e{4zgHcxHsJsALK&cmCe zvWu!Q*0h6(+7><)K=ki|Oa~LSt>1e@&iStZ!+9#$J*Np1rrI`PxU&iBz&d&k#>co$ywe`q>W_S_o=j9NV^1SafXl4t|e-BZ&rp|*4>9*@2t8Lt|da3IlYilGP&B*UGh%dk6_zHD=MuCO1M&Ma@ogrqm)OyNI3RJS^v?uHx2dQq2N zB?unfv(y=RH@r$pF>MBHu}{ORgf(1bi*fn@uM$2nWW0BHOQ z*ueyd@dEIKbM8HO0eIHA_8zQlgHy|-6=i(3J3jw7p3m^~2AA`39% z$mU-4GntXLxknWADfa)`Sp*j7@f4GC7Eu@GylMN+B7KAEnw(#4`iqoB8D}faSwt<& z`5=$ZBJWS!jhw7qw zch_eE`I?}x0goIW(JK77bMmHmsZ;s@oJTmzY95>fi+>VsE9r1%e9sM{ZZU?&4d&}X1 z!v#;X-I>mIr+&?o_g=L#o$byP+nw>hlP!6>rP!HXXFF4kvn$R;RLj|wE@xo6hl$#i zE@)Ru(5`q6meVMuxq@~<|78zBe=fwD@9uQIyVLdGoz8Z5itX3E`y8+F2Z#v(->H6`RxEO!q@k`_cvNa|M+bVXG16+%I>j38XF4fYO#} zK+*%nTZEY26iDw%Fv?JI?l3eX08@C;EC4T+8&*C7C397$nUt2lQLnm2&7G66~}6ChnC9(cio=XzW~J)FmLuc280 zNMivgjYSP?>S;WXsn0yX1MVNE`8)u4N`D5W#X*D^8oM)RZ|+sJg9wP>{=tojRseuU z-14aFi$V-v6pmW9`PcwF?CHQ32NBpK{ll0&zzl_FV=n_aI7{J%M#}-rNhr)}g9bQD;Z8|w z0KlW14N9#65`7Ku+zr^#7gHJ_snl5u4b(X2vz0iExd;de9>ypf#!yNnNhk}aC)|i> zSpYm)JyyAgF~sm?;rTz5MSj{hf!TT!Db`j%dNMD!@mZ!U%eiS44r92T)8cU$L-BGd zp>P-@x{xJG|1REiLt!pW&B0km&1$=T*Rtw&KUt3rVHU!H?lE zhPw-J#Hk9mf|?@$mm^nAKxrKq5Y-CnaSh08q|ebvRjI=mg~OO*%hC>GN|OrbF#92- zBCO`9;LCVlPpAY0;2cH(p2MiQD#0L*37*3sU~*y|0lCJDbC`b<&uM*z?KxJ|J9SWCA=b4=oaArPklqF-Z0Esh&!ePv@MAVyF9LC6|Hp){C z*O@}$Fy=>q+L=P(Fy=B+^F#zUUj$z}Q{a0_ab{^}3WdX%BoW1#0vBAeSbwfFg-Sb& zVU35v)JU8u6b@r*094bNLcy700?Jc8iY0_Ig#g=;jgRkXfSwf!o)waFOa*{tF0dC$ ztGiu*J{Jl;7lJ0`SNFQmGVE~_JTN5daPq$21?Y~U;Eo|VbjMI|#}Hs5(H?XGItQtT zRQ@8oBjt953btCI?2GVFDi=;4Q8}D+wC}un6kUSdB^<~ju3D+g5%@oo_?_qCXA%CD z1TyF2zv>=j{g^6cT2>!u;CgRo=L}8Y_&=L_OiSW{T%DBDD|m=Jh#c+h5pg{;&PGjG zkuo0h*g4{+VdoP|pKDnKQ8v0h*RrAl=yNTrFv@PI&$XwMjG}e4*CFfdJu}MAR zJl9HE@w`U?)GS7>5z5Ijm-U7~{MFpWluV?o^-@+aC5)7Byp(5|l7*B&AD8NNrdUWx zcqtz;B^xQNUdlI2>4cPtecW4tHNP?`f~2_~(jKPdAZ3}Cl8Ndxa*?vuONlbYM#?u{ zN+nbBkP_(YD#Ye8@{y8oQ)-`MN;IDq&8(!^>LCtda$z=9a8smRH&nvbI}G)a6Uh7& z&-J$uEmp{MNa>=bG%TXF*QwCF8>R9B68H~~s{QyX+y>js?3+}S0Pd(Xt#{F?cq^2D zjSI2x57Q^B$XPdNM2R?vN7Zgt<3e08A=%wH3*mxZml*-$4E<`1 zt1Dd-3pLSk`oF*n)a5lwxB%a>#kyi7+a?B@u5{5}chS21<(%^ah=7yzEK%A)5XkJGARux%&okra5<9|YYI$a>UiKBxm zbOPHXQBH928fnKjhN~#oDy_mZENE{P>Ep7z#zj@_nKfX^E5yjI;X)`XL=t$YRgo93 z)rgn)_|u4g9of~YF1p^vw{%Zp3?pGEPa9a%-@0_&T)HlQIS)Z>&NSXV+4_qK`N0g=Y@jeOSSe;-eLHSJJe&N-BG z(R5_i^HJBqStR+8BugSM&eOQ5Yojj%ug8t-@Jp)r4BgOG5xke`-d0Shn1^bAO_D)- zXTHdjEmVnRf$v|LyfE^>T+O%0uiG8u%bVB6!df2Kv9kJn#JU|RhfAN&))em;`hV4) z+W-pgA&rrB+)(m{Xy2wz*h?V;^Y7d@HS?}R=4g_W^?!j$81A*dCqQ_d=qr9wU2(Be z{@hj%{GC|8ko{RDHQ>lWRG8E_$LRk8y`}|>bL9RXFP1ZEwTp0n;2@3iE4k1+!?>u3 zTQE$eO)Fibb6hU9aZ0%~i?1KNH4G2HW@p(NqcAx))+CZ!u@_hcY?e&cjO;)riysO< zgYt&LCbk0o7!$`hEb@w5QP>E{pK9-KGN(0imz#s3=;mAs9z9k`Zi0(GTWY`+sC4y; zDmYqUcK0ktse#iX*A`zq{S?V0}f^m-jR5m4Yy9Ef z<%>F}y^On7Cpoy#$D2TmfmWLt!Y=1)6iQkDw@7GbzmkfCrf;n6ZAD>HmlT~>+)G1Y z_mX04P?%dbKN8xj5C$98u2b=*DL&nu%&GOAwS|?tzfTik$ASBBr3jjeJ5Twjj9Z^A28 zUf@i7-DqxTMR)Y=R&5wLzTN6<@N`3(d?nN?y zt7Is<2%lTk_V9J2nII=TLbJVJX8^8UYy0q4)NJ>h#U$K*+T+ewZ@^ylvS5puZAb63 zo$NP})`V^XH)_o6YA4eAGi`AyZ5PtcL|S~0q%mX~>{=|oZ`V58x$8~XwI*}aX-0co zgzufN--KQ3Ey-cXG}yHm&sIXFmHZQSt!*iyeZ9_hj{YZ%E{=fH5#jLm zzJ*J$3#8xICxPnF{IKu0~pXGya;bQ1xIdIn?F z2+U$BW7Ro;V&}-w#rMuLZ^Kx%Q~<8MG**4?Y9 ztFEO#ksqJO<0ItZ!D#;2S48v8Sgh=n8H+F4DKi$UK4r$5jJ(!ZPp1vCavuheGGl$} ztYzX?k|@f-j8*AudWToiXtsJEf_<}#W{ zWHKYgWHXs``v8NWGe(kT(%~^V4CU=eSFR&nxsDXyj(97mV`T0s*8#pLwYC&?#Ptk< zO2Dl`U(VKaInJve7=>ElttrM^;~d~Ia(5YTrNa9^K&iP7YK6CXjGV3?dZpf$VzMpH z6)#4|6PL+0GCA) z-Qh81RqjZy${p!dxg#ZKM|>mY^rtje+a2kGcBBODjB`=ef_8d>oOA!}X}>eYb!U7m zP-A56GToWZbZ3g`t~gh9&2*Q?l-ln~*M3*J_PbJYcE#6FPJc>s1?@@~v@0cOw`>)( zpxvGzXYfa!_PbMDcgJh6{>RALWx6|^>FyNMJ#lU?G}ApEQ)<5_UHd)h+V4rp*%Mz# zIsGZk6|^T^(4Lf_y>aeVw4lA7Ag9yEp7wiFT=&Mgdx?>?%XDu#)4eIC`{LZwXr}u- zrqq64y7v3hwcqE;DH9tT7pfEWVZ5m{1HESel(uI8r1uOmKLGM(s%*?y;FO`_-0o;b z0Nl-o^T)@YodAiN2H3Emai68J0eIN0pLkX?B>LElrsiVN>dV$&!Sqz zxxLW>0i>}2l*WQV*fbB%^0pFfV6%v@iM{3X0N^Q|^=X>bOk)>tCgb)fItuRHm|IY>gK;wzYrv0dfdLJs zuHQa2ilU$Uj9~Nf7?rGdgHzEE7IY3;Z^WY9bZLpOVR?wtfT$%R(U*wl6M!B2Z%QJP zAn}p)Mv37Gh~5w8&eNYn!0Yne+6V5Yxw zf+1_BbJyqCl1osq(z9vDst3Drv19#=rwWxow@<2s0EO6b(2m9P>I%<}wS$0X$NHUs zXUC$B6`mc-zyU>tXU7UV$9!S*Ob$hwZ?c*R(v-{z zS!>=!4(=L%{v}@U`0U$csHJa{A>i9&Sf##AhK<|`Z61LFo=t|*N@hyY$f}W(y}FIqW*W0h zH3OviF8V8)3)q|oF78!If&r5T=UUCG|Rg|!N1z?$fCCy(+DGK z88iuScMXrKorI~(=wlXvV+b6^*Nk;;_!@07?J3RR2K`^4b|wk?nX-kGYQV|d)vU|k z45^3@9@m(jo4#sa%RyhP3olrfx>Y{=085>T<{HU)rdufhq85T)c9YT$t^CE z!+a*Ad?r8(n`&p_SW1k#??B2I8ghx#INQ1bd#)B#ca9#u=V?$tDxbA7_!m-;`{ z$1u`}^#Uk9&B>Lp(-=!Mk@g@C1TOZ8E+LT^gMh;MNxJSxHr2tJreK9e?lAQKs{Jd{ z3`%GeRF&Ydra#=_m0oO8Ai*b~Jp6m?#&ajfdfhx=F{=VDl1#7^LX%Y&~4rG#R z-Efw0kQV%|)Fi$XtL37Eb!f_Fp5+6B&(t*(Zo`^V$IygEz9#%-xu*Ee6{Xsrti>!= zzn3Zl2aq(GJ|HhJ3ZHYn{tkVnpDS>*D^L%$Mx($TYPI#OmS!WuSsFXRv10 zD@8z){s#wxb%>J{Fy7RZxBXp{yyR0(0dn)C>1PQF0ZsW7DYvsQqcr7Z%RqwS1QH=l ztJ*&VcKsW@H4Xu^X?-6m;nEmwht>?ZN2A~8ma_IpmgFM%VhO=`Rt*nnTh1Zj9lB<2 z(KG{5a{j6IA7DV}a$`Tp2MPfO%IeCi`o^94dS+af>?#xCgSkAT;dtx%7)!o9pRa~A zi`4e21YECVUX%{mj|ff5ol2J^yB&Y4miQM}+b1BZ>$}*z7*9nuW}^JGaMYabVtL`l zy8fO3#?zH-Xw*UXNf%DRU@oUzx+@22RxH(QGu*oC`X&qiTP_DECg`p_n>9AYcn)K> zEs{>NmvxfC2AGvElfn||-3UUlmX1_>)`SudsFeZ-h`@g@(gYv+bSIHcET#h#pEX?{3S7+w zsS>&uZ`K5bkj?ssz`v64#Dt*mnN~V{=>Wa8=Sxg2i(c*$9R_^oaBFv&i$TJHQsa{ zcmp+^5$JGg}TNPX(O`U^((<<7=mjPAWZh19I>W@QF;VvLcP$m(gY22j9ouUWmcEPT5Q zK)*_6*aZP+)JCHsLhP)8<~2wwxzxF0qcLFce_7pGQ8S1fbFF)KrK|vmYI1NTGz+hV z=J>;Cmp_C#d5yWFLt~sR8;x4~19BLPfVk`_Cnv6O>V7p6S>F(6Xym!)onwDBdJg}B zNW)yD@uj@UpbqhZu9V(Dz8{&NT!!L=&Ns_fOU(BRv+@Z#nHb0HLNF9U&}VZ1XjbqxT^jr))c0QKwwT0d)Nh- zt=t~Q@6ob{m9Hfa44|h`Tm0LDPf9Vc%9`I`3-muQWp6evoH}SYy3ezvSFi@D5tSVS z9>M3#y?Bm{2hVWu6MGbt$hiSP@KcM=oJ>e$5+S(WCawczcjiHF3z_na|777s* zyofC~Z%ai`5QJD|m?hE1P()C82xWmWbn`YbhL&#^W9WqKVhnwKdn$qg*8nkwhIXVP zD3BwKp;LE=G4#zHh@cR_`wAl{?A?)ypzt;3oKysbm!N?kL17bsSSO+3StfkZj{x9D zP@sAVKZ3$uQhE^-O0z(@#JOZAA}IVW48CR2w)U=bR_%l>s|Cw$Am59iKoyGey$A}^ zonLq2BR`^R{syOX7Ysw!IQ@4aSi;3Z<^@Z522fGH7c9Zm#toKGh0TZU2TM4N*3HaZ z%KYBB51ev)3lK~|Da;i!ozE#{wzG2=e5GDzUaZ6^-wj`>%dx=>Xx-o|H60=wwBGQQ z+J(IC`ChPuI^^}w_ktztLtblaoiiIuau3H$8p!uTBK*Z!fkg4#4djaoFfu(46xUZO z+_Pvd8$~{>!#D^GVv+B~L6FAQ3c**33VB8+#6kEFm|h$NKKpSH)&t-eA*)cB6%Jpi zDQFWf5CSvOtWG?Niu`YVrHV_pKt>UxAg~+B0VbZkK6&R}qd3gt5~O|Yyto&}h9y2) zN8CljYKVXadN@h2gpN34F1z7{I^w!F7cuI=3!sjTlg=l-w3VbV!{gFC?S8N(idI**aNKBz_J5zbA&8|6_pM!px#!0W$je>dV?rCc~d)m%d1 zA5ar<30%NVtZ8sW=+R{TfkRPga3r$9X&`z5n4xfIbY)QDgpd7MQvz@)Sv`QHe)6S$ z07(Vqiwc0W3ULW$z)=u;6?_BvQbov?I?BgUmviqQMqYBJF9aurX+i*{2?3NQ1dvzG z!%)spn0e3{XM`MDT4w-h>;R>)1LU$hnEe5uuQZ;wQt7Mk<0_3LUui+sEgQGP_?SV7 z^Ot=%jO>TeSmuR9An$T=p;9_Dp_`BzDL^7?J}%NthsqFv0;ro=~zDLt$!E;6*st z03Z=+!0Z_;;NBsz8GD?pkQ@po+MJ(p?Y>iW^uS}vtCE%DAWnrk;V$z45aF+KGE;b) zdzF`RK2x&tuxIpAE@ukwZolWIME?uYSzuo^3=egI>hqw9>J&W(N#Na2^R79SsVhSd zyhcfQAC`i!(^q)uvV-?$*wNLh8feLYqGUPR1eh3M-Gz5xcqV2 zMfR5n`x!3#Nk042l0N@S$~1qsE-vZj)`ezx$q>zO1gZwXcQ4DLx{NPca~1i|2(5it zGhOBL-b~hOx-mCS)^gx`gl{a@f$`!*$x8Nz3DrrL{zV5DxKQMFSAJeBHP3=UQVk0YajBR1)MI?=VYME$d}3l)f2lPb z1T{0ty&4i>L+Do}%+@{w9fo#DH_q?uC4mYwU`AjAhKKu_HKmWdW)%cJa;Jhdf78^l z!F_jb(g8*wH$QZfmgFFc`LS;ZTi7n z$dNCCx7a2>4ZPhpTaLdQiNlRTMX9p9he-LA#7J=YdTtqP%=g8immq$Z>DbHUsdZys*FdQC?U_sY|v0C7XG5 zWV1b7g=37^^c0)2?fugDY#*-q@Z=V^YP&ea1!hIgCxY(Ys{H{Ugf}Y&4Mk=8w`y50 zQ2TK11fmt!LPUhm-PNw}a>{!kg}kfx56&_$i077&fqUIn80f3DyAS=r`K-WfiOv)R zF&gjbtr5O=N}^_6;n$MmUbme|+3a7(M==9r(fqF&?d$b}b8XbD$UI!q<~xr@&HBvw z1oG!QUqsD@vNr|bD?c2zd$QK_D?gy2*-mAlnMgX=Y;^1O?@DCO|L&t#DlNh0`epzTY_w zF*A|bjB~y~Ea@BzVCdHb*lPoJYYV zcLi4zIj&%6m-Wtpgi?8Te|F3EO5Z~A|iWYaFm7GZgiOR}6;^o_QS zdG6ZeoK$M+?<3<9EqegZK&9VZnJ(|a6pGTz3bZ>QTPVv|r9|P3bFDV|Ib~+>FVxsCjJlcu?o9={j#s*LiD-?bbLak{EfrDsN3! zd8?~34jZvDqK3A`xvpwy+q5+OePraMRnfL|aobYjw#B)E#$HK@+mU#u_ImO9jV^4GtQM>Gu`PiWlQW#DN7)&_v}o`*%_ZkIXRT(3fc)}CncaP zHwBvSE|0HsL&8&bSBlB5`1@o+PA-pK>B{a(DZ5*C6`JX8k13Viov!TebY*v^ zvU}5&-J7oL-jtlZac*^DIh5uK+6!e>6_n+MNAun1@pYQ3%;GcU=HEV#Ns-zg=XOY= z?)Ols!v1s>_NS|`-=!{vcc+ST10^ST1iTH#@+#8}%7H{Z=>Z!j&0J|UHUJNMBe3NS{KL4(V>+%#z#04@zR1SCUKPLv5r2b7m9LcUns;N=!hvjC9B0+7psR%PA> zPU8W{=YcD{+$d=t06f)KS9=9TqK}Q^@iJ_UG&TSadmpgbu?;DKNSf&!TWc00YW%cXv#v)w5abKJ3@yXz ztRM*s$0KWB764DyTF4qE9TSPZEIfC@<}OBlZsCw53!I$0lAT`RN+q;RFQ=@|tUH3+ zNi80sWhlO!0dE;vMsy)dRQInqiom%k=4xJj_)N2|! ziGhL)W;*ZHnT4lvRR>2LTyra`IRbDwveyDi>$QN=dK@4vCKN7&(uvf0H$%%@n*N>M z*z{cH@?LHOB$dg%++XliuJFTqxdM3ia}7lzvl4)J zFE`8CQjb&bR;20L$Eo+FAaysMi$j3G&pNH5>|4Bf0s@P%=jYsPqD~M6k3UcrW+N zsy`oio8w!MWOd>ZPbRY??+k<@R-XMZfE)(Sw4zymL2e+24vAJ_4zV(FUhfW|a}KeB zfdZyIhkyE(y-6PUg6<_q$+`y5+8@m-$;qxqMo)+gSo@H!l2)f)I1{tJ?oS7^$D8pc zVSS3in<-X5TtKk0dq79)_rB1_dI-O{))k<&txtN=`z&Jsy~+Lt z)^Tets1nxCUFbD78dO!*?a;Z}IstrYtk0V84rV3SgGHm&2927mGr*|XItLjo)|hTlF`PvrKso`mZCtU^%r zw-y0sfb|<_2U=D59b{D^Ww139iVm^XCqZzKwG+aIS|>u^R_j_Qbg;D%stmJ^LrolF zU4h?2t-pZyFzX%YKHRE>_`|Iqq38(f5B!d_HX!8)Ya4!#wBAHvjIG7uPJZHCCPRul9+-s+3ran@v{oM4@g-|^N5AUM%_ z4k}KtE`f?CS?59bldaWI@f7P4l>1ccc08YE{Rfpi(aOj3Br6D!ldTa*Io-MeJkPLt z;`vN#7@p6vegKClR`+hWb~V-d0|KU5pCbEg>pA?MV+{g}bFFhwjpteO@q4~C2EWs- zOYu9y`U<}nShIk6p*0cD7g<#(>tC#A!1QA4HT+&;t%X`MtxxcKskIn&cA3=yoXf3u z@H@+ziYBjC^;X{~}PS6MHE>}u;^;LNx9 zVXtef;V9n%YYcv`wWdRr>#V`}z23SHm^WBIpyn1@Gk|%c^(ClovQ9?*-E2J%RTf$A zLU5b)F61swS{Ff=zgnjPSYma8?zdPcL+e|uyTHz|UIUAz)>pu}%{m5Tf3pTdt=p|! zuxq#O!0#Q_T;ShnB~goaS+mft%d8VYb+=WI=XSR)nP9OAU=)O)?(5Ia(K{fZ7U{WIA9Xb z+HTGxO*Nh~terM5T;(i)Y-^Vsg9maBhvwF90aVUBbZ2Xi07lNe1ojG$Gy^7CSihV9 zAiGjsHPQG3>YJ*mpY6blDy6qJ!a5~a74DkB~bTBvd^i7i8!CKBy_z_6_h zWnTkGRw65?WKIs`m!j6Jkb(vn*DC*V)V-DIG0P>T6~-C?!o&?|BX?G|RL+Y?vMP}u zu!ew0S)0)b5R3{)CV~UwKPy+6f2I5oijU<%**htpw<@fBRY(SbylH1#iqEVolnhOo zfpdLURaBYpkkCf!7g?Q^eIzn9VGM*$9j^1qr3$N9b>?0Gt0!@-5@lup)jkUCZ(F6x zZX@CMgOF9G*F+pj4ihL(?%N4#a&)Ul+p;e*eI+?u_jkC&v!~Jrkidn&`@~jva zH?g-M_|T&n5S1Tfy)|g4dw!UCT~q<-M&++?Hg`7*lkAfd^Y2D2Sv^&JHK3{ax#-1K zFBN|Y(2V?x(6g=Hh@1)N()>r+ZTqPByMX5Ai=KT|{6j$3=KsW6>aR<*DF1O5eSn6R zuWF2J`20pe}h_WXy~!3OKhW%<7n8ls{5^6#MdgEaIYIuciKd|d+!aBCfd zClqEggu-k^+ys%|R{3Qu=d!k}p~}1yK$YuGLyJ#A3>`AujP6y9nh)g5uNlbX>{{cn z(+oAL!sy>Ha{q^$2A5BPB5uuk6wi3qtYUVS+4`fV$Q^_lG42UQPDgS! zHJ^!xPS1i_Cq4y2$#5r_rV3h-bt4iyEoS4nW;#?i?hEEIBg;H=gXUQiqjL9q$s^q4 z+Pl%|jj5TT{-+TCnb{_&XsMc*hlnKeq!yZR%@N-f%+cC8o(=v0Z z5p1-m&Go2^`l)Df7;MX&2wv+1-nU*K5=40pjUS?(WwX|8_Z=kDwO&DX=I4(2DE=E&xV^3#YFS9DS z77dCUhoaW#lQi~1mq@j@VW!b#ZuzrXEq_+4i>KBKSFIj?9n^fxI_d2p;KQNko;ewA zN10j9^xkGx@^@G8xuP@LOdNRzW(GMtbflsBVQiR~RNn(=NZ zGK^P7@wdg-Ya#U#ig!ajNC6YKZq|20hfpo_kQ#h!ZDt=camFz$;sYURi-X2#9vOZY zu`vjA5g!QEu!ugZ2SR;3R?E)o%!O*PZcNw=>?LwdM!ib!S|td7EwR$(o}$(r)q+mL{9+<2BE#+`4-YMQFec zhKO-m#gy#xgH~A*J z#`(1$+CmC`nOE?oP%%({Bb)6=t>ed|w2t+DPk7l^@kmcaud^TNspw4>M|qOHQF*LZ zk+mhG(plKwEK6R_1rvV}{a>J_H!E&jD9EME9f6OqBrRI0myXehg}zd4Snb@Y;?GL8 z{8_0ko>JZn)~S1%R!;8$=nrQet0n9ey)Y+;Us}IVkPE2HU@KgVi5`ZGvq7P()W{6f z=d(w2)=EFg&uHV%E2L^KLI2T8clMNiQ1|q1AaYw9bGi(xn5XrVZflpMD{T%mtEPOw zMdgp6j9`oRvheqi{tuJ<>%O!pB4Jy&kFtMDFm-5>FZ@b1^rcLF~{LX4+Hh{ zu`_azS#@X)d(rz^e9#rY#Z_0e|C{0^pxyhyCT>Oi8SVYxAb&=4Rt_>Nx{qV_CqbE) zaqA~g-<2ZQYSu&PM1sH9eb(cheS^%Jq%5FogZ(^a(&Jy!dUAS{c6}+Bujh}G_3Zz0 znv@T?^LR!}Svf*WS>#Lk5)*bEHyuE!*^guvfLl<&-N3UR35V*r;~B3$F>8qy&!%bN zygArR^j27GjpbTa$d$F+mo*R5R?DOdFCLj>bP) zcNeO_c)CD8l$o4V?q`!97v$>zTus}iHqLhWbawgFEUW;=_+XG{TDVQvWi1ps9Mm-f z*~X^?3%Pee>jWB)8m?8i*j2e^4`x1Ns)sQV$)WJ0VAHjp!@MGBbE|d!!J6t83#$PC zRQuD;?FV6&V=mof0!>#_%N-e!=MK`iPx^(NjhvSArk}y=-u_OE_g;~3D31VTC)UUr zdT&M+(NXM%i!MAJBj1BZG@NnfMFC@-(q5bf>ttShHDf5xEoI?ZLk6#9$UC6f z_C&I#icRxjhP)v{*KUj%c{+GynY(_{GMbNdh5dv^lfQE0>qX$rj3{3XKp1E|$K6j} zqmcr-LB7avS7a1wK3nLkjA&{ZFL)Ek6eqiK+(BhAniT78Mn>fKURr}rUMZ99Ut`YF zEifaat8Rf^b6UAPg{$M>?Dk@Y0?e2^s9?8qM;2W>&>)d~^ zS&_We#eYojp{+y_eK;d>ItG?rtMM*$K~*3?$=>2=0aWuw1tOL`I?<*XTI7M1W2*=$>#)NMW7%WrKQ==_HK zq+T+{qp&YQCo+@5CNU|{4$^c7C-3?URo)$H;}7OJ`BUvz_*x@d&wL~5rl5lmotfxB zEfOpj@RfjN2=g$;XvmPm7^qD-+-iivXF&g^e%Lh|pPB0WMlEI_jxP9zNWw$BIzqNT zrHD8rP#mX}x}h!uqSNWQM&x~Ny7F3U&SuZ~+RSF*F!ef^j_hO)PDGo`)NWygPKa?$ zV{d4#ZqW*La*ID2{A=E3-E1=>>+pl8i{iN9A>IrZg7Wb~Ukf3Yiy*YKX!jJ*2 zFlO7Eb99Xi*EPa#I(KVIVlMj)+z`3ko6DxVuZ1sbX@S;*P+l3GN1A!MR<_LvH1|m8 z5_o7+h;|D5z-SL`GtjoWXzo%JSP8U-bMX>moM;wp9g68v`o`Dn;SY;UmxZ}?<tlcje*mLom%b0H# z>&3A(&|?uWYkp5AkbJXQ8*C*5M4k}5MJc>Mb8fvBd<+QqcMMq8NCbg<&9dxP(&4S6 z`4ksztRUfhTl9k#51D0J3rw=Y{b4iD)1o=~*q_K&ll$)pX!W>RrnN#>7P==>bdA9V zt<*|aS_30FtTv1CM4!1y4C*(L#io@(osXChcn*bW#0rIvMYH2Hv{S&zIoymUr?I27 zn5v^pb4^9@eh2*Y{Df@X({O4dV-E?sr>#oXiNZ+msI1>Q|*8FIw1Q%9gyJZ zPSA9I8^o+1;a2dljd4?U^c$wO2>pJe+?2n;Uh!t z3SmNJlk!Thv^M^<~D8nPj)@_XJ1Iw_+NdBo1Kp}pr z5YMLyAsf)w{6aKNaz!1e@QX%_mz!LLmq6jBpSgLy$xzO2t=nzhZl=8@d5EVR@()xF z34R6l(&GLff{*P`m0gY0;aC~cQPUWMb7yr8tRapTK-r=|F7CN zq~s(2K>0}UDt`X#!W6Fw@mm^BcAUs_0_o1pmjsG=$7OuvCKC}@s%sbibf8^PwBQ<+h(w~ zH%|Cjvp!IlKUBIdyg}Xc4mTxlDK+~$P4K0u|HtdK=#u2C4Dt`GC?xp0bYevzf%qw1 z-u859Z7%=*KwTaKqOO~NtB9_f5rM`oKOBgqF}^v{Ly_UlI4(^?u@yD$QEJ22n&K9} zw|+9*t3G6FjdAiQwTFZ&obsd1;@+~B0OXOC*|yEy72K=!mBsi__PzUQcOnK(CJ%AW zIU1KW#&RlN?xo{o0;7H3AbypgYL^YK(GU1novMZ zr8g!Qt75M6*p+FLnQ0_}rp27d1|$B`#(!(#$^Jq!)34{jx}LG_>-GiAYKE$HGHC#I z2ZnCmA>L@37-)KuovuQuiVrpacYXfH9^tiP#YC?mvEWM&0)cMGWy!iC&Ob=-`?qwV zgePM}&Bt7>tGv#$CRwwG3sf~N!E9H&QWZFv$C=f6r$J(tIm26_@B7dhgybZXWj2ll zGO1M4R4y>NN-clStx$i+{^aY7>;oqmB>0oe43`0KqopPp+gG`<-~-LMKmJ4GdoxU- zz5yn)Z_`&CdP=Et|D|z<_%(OlkzUOq`#>#_;AtW6rGU32(v`?aDX~&BPRdJeN(uMk zqbSjHRuhzXJC7Uvlh$cH@_aqkLXTduO26Gzzow0Ee9*;uULyy34=0E9QN4&y#m%8! zeUVTY-46uwb^NgW4Clfg+3yq@Ob)j0_YCJOY;C2qOdOXNe3nf2{c;d=w8m zUVIe4I36b&pJPFBLzJ({`4L^qE^meYfdYvPqdu_}rn)F2!>CU!K7(QScgPo0zFKdR zrr?*MIN?zLu_qImkzv&L`7g1bM$bANzzD-Eut^vLXd zJ4jufdZ?WJ&dGdguzur*<~S*7yMjZUQV|Y#n1Jw6UEQl~sH8UsdM)Qa( zqSeo2Ms6M`-D_@xb6E3sFH~T_-j5Eh>?rQGV1KNQK$9xabVqG&%<+Lz@%gg>jM5OFLHZW zRIbZy%=5bI`DdCswi5Dxb8bGq|qB3z*wjjj!H-Gi0h7C z-hlLXL0xtxegaYH*d6h-j@=R09UJOwjkEJ=Ia|}^I5lUPI<^vUe8yYj>h5!F9#!+KbLIb!;VcdzVWnybbM9S%iCa!8d#w03OYH(CBM`NMx6w zYskC6425^(2qio_*zvVA04^n~2awcHiPR4usUXaeI!_m*vVnMqfJNDd;2S8BDngRf zQ3(dWbI}wt?*xt{Ed&?#(u4p?69Onr2q0HTkp;(+fBGx{cqRONitBnpjNhF7Q{Z~S zk*Q_Djl@H2n(De;-~wOJ*B#G?0lVxY@OE`a(uvM_Q}GgcuCrh&Tu-h8LN((lS#Uj} zdNm|rwZm7017FJm;K};RmxV-M7M^!g7WuidkaVI`ISsNB&Y)@VGvQpJWx>ycva0E4 zV!_Wu1d|?Z*NC=5014DLlz^KECl0Ly08fdBr3abFjRf(^dL%$Mho=SXAfc9DIN`!?cK#PWTl}b>* zY8sWTs}UofIrJ;B=Bvbxm}8$~_DFWYT*^Keu;5s7CNSJ75soD?C6--?G_3Op&be?b z`5j=9gj2HMSaLI|=~!YRoD%T^B@Cxz!Lfu{;Sz>Zvfx;93n06M;gl>mmasn;l}y4C zmb4H~i69+IScjo7HHuM!1;>(s01EQJ*v_`>_W(q>tYv3wVNr(h$?lZHs>MZW;$=t7 z2TAi+JSVbq?K~(K_GETJIWz2N@-B4i?9TBrK-`DK@P9~FyHJ?oO!CQ& znO~6SKy<3{*~Ru!pJ$27leZJHOY@mwM;B4UGSRRo%J@CmiRhikNkqqBLzZ1>v!gad z?F<0PDuKF3?>rPxO@1}-`a^@;Aukl307R2gvun+6$f*rs^WG^~z^#5Q150%Z6>_6k z+s5>8Q6|%QZMIXEq>GnL#OlPiw*qmniR9Up*po(S3XMdw-f)gM&+L@^2D~$(bghYW z&S8EqU@@&b9^=E%ssVAWiNwr}NX<>T)T4RfAjV-Pv}l()ML&zfYQhb^u(wz$^V;#y;i zYmF_gHMY3c*y37aFX{%@8v8d8546R##unEaTU=}G^#kEqV~b~vEuJ;Dc-GkBS!0W5 zjV+!vws_Xq^sGq^x5c%_7S|eETx)D`t+Bl#k0m1&zhtyt~Iu}*4W}&V~cBzEv_}T zxYpR>T4RfAjV-PGi-6KvBkB<7S|eETx)D`t+BR7+Ev_}TxYpR>S!0W5jV+!vws_Xq;#p&hXN@hMHMV%x*n@ka|KDzl zYmF_gHMY3c*y37ai))Q7t~Iu}*4W}&V~cBzEv_}TxYpR>T4Rf6jV+!vws_Xq;#p&h zXN@hMHMV%x*y34Z!?PwCSY?ZAjV-P<_+yt6C-W}UNu8VC|)%Yc-5@& z3E@@K-TCMu+!*B>Rs>!(T<5TLAZ`R+H5ZeR&M|fbUNuG~B+^I`fmaQ800B8U0hFh= zyF8PLz^jHQXyHJNgb{ev{F7Y7t0n@kni6b*FnT!-(Tpig1fGcwAh#)f2)r5X zK|#|J{OI?m(W^*vb_vV;O|%#EHInD%af`R1sV}9T7d@g1DkxMz2skEnHqJMX$8+;R zWHed@XR+MRpn~w1`uNR4l%pk1^wBDZC}!Iivszx&G$k)d!h5s2D5^F=6$$sY&9k~B z?_({WtO_#002fcL=<*CJ^EB0&wQRO+oQ3Z+9E_9-)rq}r#gkg{87AeU^4qsja+oz! zp&AI#+|uPXs&bf$ypw_daR>BWmu|Wy3v@Y@HCC;LlxR6?lI*KgqWdoDxWAa`&pfWB zZPWij+T2?BKZ~^egSXW<=U-~Z)Mn?JOYsK7owE^DvUQekUG!SalogSKAJpVC(FXie z?NjSKE-Sigm9I_q5c(CzFpvHwz0W)!CXlB(@ihb`=rh*k;`-+V3V~OD9roMCBSF4H zBzbM8+nFwwcO$5N8*AoK2^UENCp@_yU9Q!6Dy-G%jZe!z9psA#Yp&aiZuVq1TYuZ> znS8$6(8^dpjV<=99OBT}3?_(SQ5;AF`nI#VACz{gcJ(ONGEnA6oR2OuE1UnrI=QWo z?-$?vT`O{k{tq~Iy;m={^+oMgUT$_x-Y1GJO5$VeY||Sfvt6>&ebz%j*6(y&K)z9G zlLnw(AGHE`M&zk`HS;$x82G2!Z}(-)aIr`9$YPVv7|W5#&NAtKO+-7_WKz{1f$nBp z7v#X{gAKFQBL<+ zX0)dao|fTy>?}$4kg?M;`XzAX)xUa~F}k=TXH~M>g1endX2FHlZ%Ez$X}O%7;kD`ILPyGDO)JaC940&2P6HgaOmedw8Fi7 zg+o|YHQ%$s<%sxLc!k+GWG0HJW`;|7{4W;lFVIcYDd9XG*Pr9^U}xcv(uLey3A58wWR6I{jvwi6OaIh19X(C=dD3+JS-7Fe|EF;UcQu_&3d>htG-jam}e$ zxW}E&lG!*Q8R$Ge+bmD6KqpYm;m~)tX>8~(f2y6^dQH?EF4a{(HPHXCp}?;Qhc1>q zAH4g0A$_oU)A$u0{)iTdv04%C#)+IGuVp-oTM-_}i4b>^lHGD$!Ed^PyYRBLY6u5E z6%4fTz`3nR*^w!gTFei1;O}H#?q!fW0H#)8H1iolXV8UghG1B&b+IwLlW4<%JK4fN zXBH5+_ExZngH@X_L`M6EEW$rZ1*g}C&bB!iy9ta~^-X4I_AOdswlBC5`yY+{O=cxY z**C9u(RR2@drk|eZ!>draZg5{+&&2WR%eC^mS{$2`~3F#{8ndHkss$W=kBD5Qzs6P z7c#SGrou(VF4J29ug#SG9He%U50b3StmFO;J-5r(6!L1O?4;2@x*Y8U=b9DAE@0!m zm6^p6Z??UV9CR1!f-b>JN2=U8Lqbj-2n9XEqHKolo>QPwet3d*y^o{kqaN zQrGXvUj2?5RLTByUZ(nTk)y6OV`oX>&hS(?Lf7MhOx5I;tIKva*mSP}jtVqCcQ6u0 z=+bv{bzJ3_{&-)<5t#`Bn8mss=ghg%tUQ=Kq4^#5LU`A5UYUNAF5+6B{9hy&6XC$j zN)9#j0bS&Qnf;G53^Q|YqNRacUkKOWrNx%d$%8Vb`S+y6oKz))sr z!9tCHw_k>JzVr~JYvLB?AxTdH@W@hGSkyCMxiOsbulu5zQ z-=HPEf?L7JxzN5bZi zw82!D>+wF@HW(TnyKPQhW1mw70tM;7Fq!e#Tn#t#(_-H3G z->lCQJ-_mJOzdVjhs`$=gLxxXJ*~AFbDd`7`edUmUjZXM`92+z{WWF*&G_k1m(kAM z^UWsB_?Z;r3g?UYSP_OF495QqiIp8+L_(vz#o1&@C}g-|j`Q_3aSYV*Hr@)6T}J?u zZ_8&Iy$4qa1i44ke-Z?jee8IPLZL6O)ymfTTt@m_7KN&k9-BAfg5R6O2IlDg<2hN) z4~33%87%Y}+~zZwAFA@`oE?h?!o9qdiT{bS^JQ7H7(0pYz-M`~)0-kRqVs6dL?~5EKaH z0GbMA&FDBl}>+ z6I{w4lw(99eEwgmdwwETA5GRnJ4rg$Z?7ORT)Nvo84%~Uk9FL(l>+x(zxm-JhDqrm zczXmdv>S>SL z3yt)5L~5)^?RBMYbEFE4^o)h9ke!7tKkbU;_yas*4m8rYiJ+(~Jo25DHP50_?VcZ80RLQ~ zT1Q;4{rTDa&=UA@iAu|jq+0#i3a74Hm7kh#MC?bL%P7?tn=oz|CJm>0dz0a+Nt{~EPa8F(*f8I*t~KD$Qgut`kEl01!SFxK zXI!Ut%!)>t7>es4a+&HG|0(s(hgq_TNPfw7pds^N@-kHrf0Cm5WvdZ+ZRR|NTjL6a zLH#n76riA@iHF@c)L4Nq=(t?n5{${h9epbGU(IoObk*bFJt&yX0r{Sy6~;A&m{O|R$LWyTA{kfe@C^pkmb+JV)+rS{KGJR zg^J5`+)P)Rn2RjgD!{Y1Z&A?A<=j_idP{s1>Q>-qt8eC_Pzeid5upYZQ3%0hEV0^i z8T0HimROolHq02c4+S9VTMw+D?NdX%4 zk}Z4HGEUSCLz7C$Ec{_*(qqFWV-0fvF-nSMAG)GhJ-yO2Z+8C1axTtALL&R7tAJv0 z>||ElfC0;xiB=oN9M6MFqScjWErr3-c~m2bRtAj$_B3V?#YzH$o}bR1XaF7Wf+jeI z3TT4W#R0W36RdO>^KJ_6wpMdG_E;mB*uP?mL`DTID%jGtRzem0yIgfGji)Tp?66^y z$T z$e@wefDR_7H)haE0c|jBy$jmd>gZIYZCI0QFcwoZSd7v8{~7ijVn~o#Zg&!-{d>&Q z^*Y1+4WP+~sN(+AO=uvw_$Zh5UbnOltstLtkuM=K*TqF0&qdB-=!^O$hR)%*yQq86Y>PJOf_98t z)OS*h*en0$r2L{DL2%S&((L)g_qy>{VJJfJe*{w2;Q6UUY6kUe&5@~G&O(HxWLA{r zI@Z){rz>V_>b2uLwx(WZaKPrVG4=X(4%nRF-)TUo*Y~k4uZk_-pe?46X7@4K=W|fx zGi`_TDzO4rVs^q0bzCbx)19l}(i+v})@ZC&^91Lpo5FS3@UjA9%HB~f$HKy&2^!U=^LwH&sx&5cd3G()~e`x6Di(~=*WAq&C)O0WY>{XDjDMZWVU~`3vnxQ+5So$a_lcAJ1h0= zbWWJoOif|LI*g|$sehiKEjrO#Pp@P!DSluLZbBp)>t^V(QKmGPY)AWam&5%45Z)J7iaEmu)sODqbhe z_=8+|I+|NdUT`RtIZwya>oa$%l&_nUD1P7JXx>j1JHXW(x+@p|zDwKFNoq9qP;`$I zJ7Yq)`YOc%Rm)z+L+qsY98;Sc**8&~rn9Nt#nOhAMjpD5EKS!jG_%AZgDp+h9oW)= z?4u0F(!%R3%|c5@aP^QWxM|^7G7i58qPVcMNt;V2AHjbxP2>mqhz_a;?NytIkZyV* zMp=f~^))nzCyCFjSM7q9-CJstTDaZc&}n88B%|#y`YYTmHvKyAeP3w50dEo+i7qg& zs%A9Gzaq+GZ4;1Q(G}}2XlJ>qQpghYt&zE$CSjM9f2_zitb7Yx`Ae!J%i{`;?j0~M zD*u0ES8tw+|7xk5;i8kFAZUN`a8YIQo=r}0POhE5Klf7uL-tn(-z#@Xne-M#!(nB6 zu=-(kT{qW*3(#ElporkAhCO&#H5M1%PA=^CjB1}`yATE0g?I&o?Ls853-QbL?@8Mc z)qDYzKZBb=J*8CBq*S3d$vy9?4vXa`x)Ttqgh5CReZv?W(&k#i%2JAVY}S~EYiqI8781C&9xqLs zG~O_Wt5&2ETTZCD1wxE)EX_&(rI?L-&NdBi-bK04U{X9$HKiGY-D+xbkuXU$rT)?&FIxmj+w)2TrbaeF2FyP;QN2&z9HL~mA6k#_4s zk%kTmx^Kqy$PDUz+p`k_q78%APG&{sX!22v@*f(_w%_NnrlKKPxWtT6aU7ikxv9sf zj?|yh21ZgHmAs|0ckhb@p<#;n0V1>~h?c4|LliPZOO?bB1;Hw~vKd{NKz@P)oe0s7odNYz zTb@<%MQ6xk;hb~1nI;X*>mbwU8(4kV@ ziZ8_Ot5m_iwIe%+G@(&?M-iL(fGfJ>F2hJ&jmpg-?ReLyAa%X{XCnVO@YacAaqt`} zYr649PA{s^d+bU3Ou@U^#XAi@R^mIRb-5^Wr!6y7WIDSt*4_AK7%T10#KTCVnOg2h zQrX{@j}!SUS3X_j`*(HZb1qPA_Oa!EE95eDa^=U;(K%Akr<0qZ*dDo?(ni%$$`ON_R<9=75aSW*8ZLRa5St?94E3!%knb%*kGY6(TB)pur8 z?cHaTKP<9%E*sw3YKG@zEYtTi6n~<+_^$Zj=}*)L5z}PIRd2w=PgQc*<+;gLhbOG) z+8v*&E7~7^*lH2>HoWqcY8M`E__R+w7IqNodg^HKeT`@P6V>>z-Il3hAo#WF><hcM=A_a^FlT1B*4 zWkpT5+WFF3!PH!xP@9~q51a5;7u~4#r{21IbkiwCqaP_6H};`vqbE-pTN`{p&oOKF zKd86)YsZh$y%J-VYc{T*#m{1Sj)T+{I%@SmpN6x`^~bd}PwDQaZ^yyfpI7J?Rp4Eg zHg3Tf@!>CBPJrrFIy#1~prVuW{|wK}Ef zS&2BO#bztkaa`!FC3ioee?k-!>{BZ_+Xs^SH8=N9#NJ-cbTP&FP}phEVLh_d8fJGF z@TycQGAj zCw7`F^mXw2dYux(UsmGJB?x=5uB(4RO5X}S5)N$8{e1_IfbSVy6617fPVMBQE64>3R}Sa`?^pK|ggp_CAv@K3 zZNn;I?>xy$OQfk(3OydeH=+x?m&E;B*z;h}Mjf61Kt1Pnu6ns7Z143nzD8`T_s+AH zLcbfT5iZSpc}Q6BRS&49B->dGxJdlM=TgPkbmJJ=IG+@$-N_=~=q zv0A*>qy8qjFs_kZ>b?H8RXD5m-b#Cu(7o5^b{D$$65l~W_ufccEcD(5c3I(@%{q|p zy-Rt82sPXT&Hi~_=${Q`M~xJJ)e5~Q811-p##_Sh9>n}a=-y+V zKMQ?#4Gi9*zfY|^$o|0QYo}?AX>T3}X<35o6FPm3M|2#1pVR$gR?KGlF=2n`WP`fr zFrLnh0pIhwB;UJTIKBy^96rSPu1aOh61w-m!Xlw}g=5cSC3#PWY!h~O`005Z3VqPw z1s!cpfUFm=7pObRI%F1NG-}GaeNaYHPr(M1%J;rn8ZJ`yDKG?(0l=6lbmxu@XRIp~ z`U4QyiWY{6(pIe7cwX2qLGD(x@LQNlQr^RAe~Q!@*g{g7P)AbU<3O3sxBzp&+@@1f zy?aR`gza5C(yy^o&Gmw!ZHVeUVzpG*&7d6FIOl_^ZP+nH!M{+6ITOOS<0AsHw(I_> z-c?psbB3OBoQqo|rM^Sxy`g$Lsr+xI%XHD0D(peMD%1Vt5n(itQwArH#b= zn<5MkL*yu(6`(qA3uSxIj2=gsF4HdKMPYm2^}a3id*-lwP~bii`t}p>1)5>bhQNym>pjBT z;s(~bLgF??YAjyp-nDX)(05FNM_<$#c#p=;7j>@~@8)okh}D3(7sH}E#O&26;VZ|n zaZkXYz54zb@8<{fNjQ067#t(%vZq*jKK#BHC&k{AVu>wT+ItGOo6sl2pncdqpPvp3 z_UV54?)BO@pQp4*#Jn&4tAy@-b6+F$;}EFEiIw*_!dYQ^Uz2?)bnijvAB5f(rXpOb z_pN*!cB(6E3jaEXx2@X_agBSes|j(^_mIgJZWQrZ}DYY0`An*~y$1YvuR;dK*w z6fCJhRPP&-nZj03hp1^WQy6Z#pl%kn_xSB@p;t|*joq(bX=}EGy7zTT#182IaO)xB z1HDN3j+elyGdjaJV+*`>M)!<(?=_CqU!H`>vpOSiybmux{_HOr%eO?q#Iw4M@8~jE fdRF)J?OP6S(X*fiBF^ca;Wxg^IYvUDPRIWrYbp*e diff --git a/progs/ez.onyx b/progs/ez.onyx index e7d01677..40df5fc8 100644 --- a/progs/ez.onyx +++ b/progs/ez.onyx @@ -31,4 +31,5 @@ proc #export "main" { p.print(1234); print_f32(123.0f); -} \ No newline at end of file +} + diff --git a/src/onyx.c b/src/onyx.c index 9a1046cc..177d18b3 100644 --- a/src/onyx.c +++ b/src/onyx.c @@ -184,7 +184,7 @@ static void merge_parse_results(CompilerState* compiler_state, ParseResults* res AstNode* node = n->node; AstKind nkind = node->kind; - ent.scope = n->scope; + ent.package = n->package; switch (nkind) { case Ast_Kind_Function: { diff --git a/src/onyxparser.c b/src/onyxparser.c index 0867da82..fb6792e1 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -75,7 +75,8 @@ static OnyxToken* expect_token(OnyxParser* parser, TokenType token_type) { static void add_node_to_process(OnyxParser* parser, AstNode* node) { bh_arr_push(parser->results.nodes_to_process, ((NodeToProcess) { - .scope = parser->package_scope, + .package = parser->package, + .scope = parser->package->scope, .node = node, })); } @@ -1241,7 +1242,7 @@ ParseResults onyx_parse(OnyxParser *parser) { parser->allocator); token_toggle_end(symbol); - parser->package_scope = package->scope; + parser->package = package; } else { Package *package = program_info_package_lookup_or_create( @@ -1250,7 +1251,7 @@ ParseResults onyx_parse(OnyxParser *parser) { parser->program->global_scope, parser->allocator); - parser->package_scope = package->scope; + parser->package = package; } while (parser->curr->type != Token_Type_End_Stream) { @@ -1262,7 +1263,7 @@ ParseResults onyx_parse(OnyxParser *parser) { switch (curr_stmt->kind) { case Ast_Kind_Include_File: bh_arr_push(parser->results.files, (AstIncludeFile *) curr_stmt); break; case Ast_Kind_Binding: { - symbol_introduce(parser->package_scope, + symbol_introduce(parser->package->scope, ((AstBinding *) curr_stmt)->token, ((AstBinding *) curr_stmt)->node); break; diff --git a/src/onyxsymres.c b/src/onyxsymres.c index 2ed0ae79..801da72e 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -62,7 +62,8 @@ static void symres_overloaded_function(AstOverloadedFunction* ofunc); static void symres_use_package(AstUsePackage* package); static void scope_enter(Scope* new_scope) { - new_scope->parent = semstate.curr_scope; + if (new_scope->parent == NULL) + new_scope->parent = semstate.curr_scope; semstate.curr_scope = new_scope; } @@ -368,8 +369,9 @@ static void symres_use_package(AstUsePackage* package) { if (package->alias != NULL) { AstPackage *pac_node = onyx_ast_node_new(semstate.node_allocator, sizeof(AstPackage), Ast_Kind_Package); pac_node->package = p; + pac_node->token = package->alias; - symbol_introduce(semstate.curr_scope, package->alias, (AstNode *) pac_node); + symbol_introduce(semstate.curr_package->include_scope, package->alias, (AstNode *) pac_node); } if (package->only != NULL) { @@ -382,12 +384,12 @@ static void symres_use_package(AstUsePackage* package) { "not found in package"); return; } - symbol_introduce(semstate.curr_scope, *tkn, thing); + symbol_introduce(semstate.curr_package->include_scope, *tkn, thing); } } if (package->alias == NULL && package->only == NULL) - scope_include(semstate.curr_scope, p->scope); + scope_include(semstate.curr_package->include_scope, p->scope); } void onyx_resolve_symbols() { @@ -402,7 +404,8 @@ void onyx_resolve_symbols() { } bh_arr_each(Entity, entity, semstate.program->entities) { - scope_enter(entity->scope); + scope_enter(entity->package->scope); + semstate.curr_package = entity->package; switch (entity->type) { case Entity_Type_Use_Package: symres_use_package(entity->use_package); break; diff --git a/src/onyxutils.c b/src/onyxutils.c index f5c27cd4..ec1233f5 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -91,7 +91,8 @@ Package* program_info_package_lookup_or_create(ProgramInfo* prog, char* package_ memcpy(pac_name, package_name, strlen(package_name) + 1); package->name = pac_name; - package->scope = scope_create(alloc, parent_scope); + package->include_scope = scope_create(alloc, parent_scope); + package->scope = scope_create(alloc, package->include_scope); bh_table_put(Package *, prog->packages, pac_name, package); @@ -153,7 +154,7 @@ AstNode* symbol_resolve(Scope* start_scope, OnyxToken* tkn) { } } - if (res == NULL ) { + if (res == NULL) { onyx_message_add(Msg_Type_Unknown_Symbol, tkn->pos, tkn->text); -- 2.25.1