From 8c6b0fd4ab41369b48087ba1ea15aeac67ca0cc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Rzepecki?= Date: Thu, 28 Sep 2023 15:13:56 +0200 Subject: [PATCH] feat: Emit AppMap metadata --- ...e-fest-npm-4.3.2-d579a76dbd-8ba1b3d43e.zip | Bin 0 -> 123183 bytes README.md | 1 - TODO.md | 1 - package.json | 1 + src/Recording.ts | 16 +++++-- src/bin.ts | 2 +- src/event.ts | 4 +- src/hooks/jest.ts | 17 ++++++-- src/metadata.ts | 41 ++++++++++++++++++ src/recorder.ts | 6 +-- src/version.ts | 5 --- test/__snapshots__/jest.test.ts.snap | 19 ++++++++ test/__snapshots__/simple.test.ts.snap | 18 ++++++++ test/helpers.ts | 13 +++++- yarn.lock | 8 ++++ 15 files changed, 130 insertions(+), 22 deletions(-) create mode 100644 .yarn/cache/type-fest-npm-4.3.2-d579a76dbd-8ba1b3d43e.zip create mode 100644 src/metadata.ts delete mode 100644 src/version.ts diff --git a/.yarn/cache/type-fest-npm-4.3.2-d579a76dbd-8ba1b3d43e.zip b/.yarn/cache/type-fest-npm-4.3.2-d579a76dbd-8ba1b3d43e.zip new file mode 100644 index 0000000000000000000000000000000000000000..ecd1f54ca6bc6a6900c0bee65bfd96342bc9e0f2 GIT binary patch literal 123183 zcmZ^~Q*bU^&?WrDc5-5$*tYE_C$??dwr%Ugww)8(w(ZRO&p&fBRbOB1UKhRkYE|u8 zyL$s=z`)S~|6d5!EJOcq@P7`3|FW%}v5B6Iow19xi4z0xe=NoPe@mS`>`mxQO`M$n z4+#_i{lEJ+H%albg8~2#-~a&W|4gzsFtRc*GoiP1va^j*ma{`+Lgu6B9hfKpjd&st zL05)RR;HKCmoCmmmejhr92vH%<#m-*4%wMr-LAbY$-T_+c=-I}ZA5xl6UIcKrC%Gs z*Bql3Y;_l(!&grh4;zB}&dwXvhoSsyt&`?H8LS8^`f6Hg=nuUAzp`*vph@rB50Fib;mqo zb=LA73%78%iX&%|u7GW*v$wUZPVJRGGvZ}O5^V#yX$>MrymUiSbB>H4@jJfNvQi&5 zCjadc3sLTcf@lT?#7oyP?a;rbB(}YHG+A*bYo#ixhjWcjP}|<0$ZK$VI(?9tj)b-# zo6MWQo(sngqMaN=AJR)=dx7W9>vG&E^t1>3T*=1S@h|!53g8PdjBq3sj9ZsFH)Ymm z>2}pPE=js$@RbQ+lE4IKO_5dKN^--i_&c%_hgF@bZbfn68ox>75E zV(gRUtoXioE<8}`>b_Ih43XtLF%**AKBF>n@h9}f=27qW6DtBF%7sq)5NoMXh_$AX z4nON4DYTqv0eAr{TpS402_GZ^52=i0XKF6Q5AywsVQqam5smd#Sr2fyp0M;)cFvf& zwgj?;%<>fUfX7-=DT)qcWQea=WVjzASlNLH?)cH0*Z{4E)%7Jv~;hYSFTZ-W6q z{Mn98AN5F2dkZ*gjXk|N6*yx^S4i*L6_5Ora@jBw5&NK@25nr^?07WcGMN$)m-!?~ z)nd|?=L>YtX2JPaeGr-!FuUU_g@a-tXBaS~yGW)PlS z0>%Hfs2L>WN4jIM4EG~Y%&qNIKCK2*DKlhHS5%c0dhNj!?GXRhs%(62A06B1T5bMu zCoE;&CK>VSp70q(0PmwC78EBttP`Sq=tIdm1V;DSso;f0RZ|KczT8|i$fPaWVfh_T zG(}EprHl28pbpf7Fa#6a4YFFaFXbLPmX3~D;LF}a>3fd^JJ2zGAdONi`W|{-Z#m&X zLB+uv;vbH|j{w-#%Qu{7K(N)7cVNyF5zzWm_Gx#hW3Ehgp>5|$J*{v-36^rt+8K&h^tpb(?jGt)P=*fbYZ z&XgF1Dc=G;*8Wx7E4GPMHZ@I6Mn`?gBJeb zUlJiiB<^}{p$5wS2Sdmj&Gh)>LmsS5hoIb~04>&8@@pziH5lK4aD(PJukO+=uOZp< zS(p)_5v&Z5%0q}sS#E1i0BDc>SKe1}AB^lUi>#bcoRuVG3*u>!TVdrJ8cxCRkrLux|^h&YZ!>uJlc zT&?Y4?K$`_&~u$7xJ^{;kbswRtCHbDU!Gc$KMMCXp+{L-yuyQ;!I-HwgC!W0W3(xt z!;UAq+S0@-=lN^p&A6YYZ8!=CG8fVfK&F?}%nYZ$|&yhy0h{&(+Uc?@sRxQn`Ao3TtIZ7?XyieLlWK=#JCX6(S{Uh1Nf%f=HJ-S#I-R zGZi57E$Nt&Nf684G3_RQ>EuSwzg7;M1|p&i!B}N24Im7_p*|KAu6_U8}zi^&VP^?5#h*5}pCko9EGSFuf#-1XS9<%WK^}g*t2=rRz z2K+$9x@EuKofL;DU-$u4qJyr!ws7IG$qG`9#*;7=2(=K049+1QM)KG&~#uK1K8U7gpnBBv`nOTtRg z2x)LSbks{a)P_U0r}9-RzB~{)zeSr<2B?$R7jU+}ffRynG6#DQ!oG8L-HghCS7M>) zHF~1pMk1X_Xp9nvd=iMbl~RLt;#^B7m~=;qQt0CV4V`j?N4RLzNFQOqBWu23MFOTb z4|aUBM(vFPYC0)ciTKV4F6J{ZkzkQOO;;T!9mo8XjWVYSE=6B}gLL$p2}0!$(!wL8 z>zBs_D1Ht8sahw2vlhesafxL`gMzKJI#n=1aUdRwq?|$S7-xLt9N>|&mFo?p1djW*aYK;Fg5q>=6DvfF`GdP|Ma?q+E35A~&o>pi*rdjX8ds zcQHu9#P$Mzm5eYtjgNs?9V!^BRtG&yoU(8jdQSNWfJFTx+1=4CSuIO7>X=BG>R`NP zZ*W1ZNS}Qmp~XCq&5q9(>@&9zT^E4JXPAs5*o2~jP)%(s{l=~wf_`Qns5-PBpmvhI7 zb6o4v1(~o4nWxYIjU@byx{mN?x{jHVKGal_cyoA}bu>0_c!=mvC4p#or@i~E4UR!@ zyLKO!XK;a1A~4VjkeS$8naq~DU=z{is~+Z#49|WIZB=+v8h}B3H$93@p`eR}p{o!s zD^Pr`NC4mpdl}a+cmO-1b%|}PCk$B=ESPOKw{GkIB0BqVczp9sBT!xWI$=#=eSPIJ zIHk(wHH*Q;@PLwPqhQ_CGhP)PX86Q8A9jmi78dcz&=$ob$9`9~S1D#Kl1OeAoW@LP zpSoqhk7QpgNS9@nRz!*hoy31+Sy9j_kY&$f6Yym@&obIQsT=K=*2;wv>_eQX{)napWnQ#AdjwlRSY1QhxOdtzb2?Su zZvqxHhmRDUzqo)|3zG#ih{xFs{CY4UYs71IkAy zDB&oK9-HHxAkv?KmT3UGkwh{d3g6$f@;x@rT{dYVM*d$lR?h!j| z0}RyN`Qa8vk=#1zmiQl6R72q}Jx8V5i(ZG=%Yq zo}q-&tsgEUg0WqqklwH4%-@W9(>)2QHf}LxC_fj}tTxS6B7FPo`fn0A45I0@0H4V2yv-C?f$*+fd z7s82LW_l=z;Dav-3Be5<;gW$pC$U?>P+_C6TmM|v_frCTSv3z;p}3E^HR`GFVdjiC z&GaKgKx`cLW6Vx_IxZ8jBDuV6l_cbOZr)BgMSX!fpXeWr5Aj$J16{J1RkbL zT}+togl%hpcbI$(V*J|@BpAM zk)rA(hp3Gq&jreq5>5HQLl=zo)xuxLF*AZhv2gQDp>Il%)#Z6Dg+_}~SOXrK43xJ%FH0h*1B!r{v{eHuxvmMLgQdJkA=VcHcZ}|hOv!pPcPu{AW z1is%sTIvBb>uZTHl+X?_WnG}#^OSEQBp_C9=oW1}Aq}P$kTLH%#^s)nM#|$Vz*l;m^|`LG@!~l12j+LhWp#P5Wadm`ErFM~ zMFxgG@P!4_)|2sEJEykwbq}!cuAFJ-H-}7U|Jo2WW`voo#2t?$&Z!$sHQ8CfXG8Bk z5v_QG%T65+KVbiz7cG=@35$^_eQfue@=>n1Q#0TeZ^?%ko?%yl;Mm}EjOpL4n|f{^BBd3Vku2Mb^W8u%Y_W=L=7#fgIPSSEZvK`p8f`pG=ipi7q|xs0Ygo6GjQ_(d5>1d}>~+&=yAy@$V{duf zan%l~S;G+HsP>K+^B50Ku&XLWq&$#lKZDu4iAT|B}($s^g;=IL%jtTDMV^wF&MhhwgO3#Rz{r^pm1`5)%wxM_OaxuwD6&PdlY z#HR;I!n@W7YO5!s@9>Tg`>!bMJmc!x+RL+ql%7<^#3Xw8rB%z1^purN zO0a;t8@m~cOKUX)mJ}w6dKJnTMcGf0v(~*!^Rq|f{lu#k*;M;K?QJfl<#Se6)GwWi z*J#*df*z?u(m6JV${6kGo|da+)XdB-RrbHy>c(GbyHnA&l?O;N@ggdMOYlW!!kpqP z-Sell1pAkhXpyN_N!EsP_|^uB3%5YEYf}^3h}Z&nV79-6%&4|kAahLId$~_ZGPi_o zh~B@0rX@G=StFEkk+`K2yZO!MPqiR(iq;67LFV+BPJ@T`^A~c4|6_g>)FN=(h~gLR zQik~5yAYt)U*GFP-MpL#i8~}fi4Z2}&YHct^(eyR&@}_+cMG|#9Bm7LwooXY=<7~H z5NCQDOTRS`bWvcvtWkiTJ9Yp2RiBjZ#67z&Xs^6 zj5Kr_Ihm<)pe1+)=^fl5plQW|WFi6gw~DHdV0j|-hjq%SK$)g(;Thk>1po<5$1Ecg ze0Jx6K!+~4A0fJt~$;2CiW{)f}|2eI+<;M56~KeP?%Nd{yrEa&=0!B^gjT8|ET*nS3D zks&Pv(cz4>Iu3bW0i77K=D_T5*N-20B1u!>(HsdrPM4H39YbREv2)`uH~P!=#k^R< zYu6-p$dB`!)+g9c0;sevs(3s`&X6sS6*tV{c3mYL4#ElY&-pILlEhHlr`1S2M5y12 zeuq_gDcutTPE4okv8Q0_3tozusNc?*x$vPLYlAFU$?}U`QcpF@%Vn?hJL7Gy9phLa zMi`)ZoRIv7z_mx9EEdjVn05QzKc3DtfzHwRgyPIlF!=^K*ky%~0>;fRrQ9buiew_X zt{BHDtf{!}J`OES)wD-^+iB=OCmSz%IoA~0O|N)UJ?rG=h$VARMCzPOf!nYMx?UzP z6Si;|nBxJ5MZT?1X*vZ>V&!ILlp)~VEsotT;*=u{1)YzCv%bM9S0;~5$_;k_-ydeIP64y zkG}Woa*c!h(wQbnf*Du$4r-nJ$-y#6dNzUk@vsR{cm#x05Mn?)z8#yU8L3OFqbYrY zj>(uw*QYn!N-!t$aMb@n@1;KW(3O2PxJK0rtaAeoDMj|{(+g>idFBAFp*%-8_%Z=$ zy|+0YF`Dak0zgU&vTekMB@w^93ygWBKpEyYe}&+hy>T)FFd#W$>C?o^{2K@h2uirX zveT)_;ckP{tnPJ!4$-7wocs^WDH6tM|FP}tThn}ppzTKJlO&?W&8u8BtICpSjVEzf zNeqNHdF??o>5U&7PBy~AI>7jusLxgfT?Vtb1`J?aB4Lo~g7WT(IrhzpPlzZa-r|!* z-vaY&;8)A>FpNA~*y0b#a?3^)^Q;H`50ByA16$cUmgjUxnO|6^LA$BeUYE8LQdiQv z60koql$EK2iOHKM%N@lUi7bd)M7@4!%@tSUNESe> zcZU8QmwUdWI>=$W$hE*ZnU)Hk?9svH{3H+1mjggtf zS{!>L^KGqnBjACXYbTr_+%;DC&!_lIsL~EJDpFe)OsACJcfg-G@*~Md z^YN}j-e%##^^VOp#1Mcme!f>I5AD-8oTR})FfW?zFPzVyHYDcfD{y!nlaiZzHqp2q z9mj`bC&8$3%&${40b{>gHgyZ67EZRFlAv{u5PK)OR+^xeOfLk$=Hy7cy zF8s9pw8%P{@`Z6OGSOmND!BQDMkFj91I$eLMCH?mI=j~q*_PCo(Y8T2Kfc!LS<(A| zhV?V1g!q2U-pdBEZp34}YwnW(=8 zn5n3cuYntcx&WGT_I`njvpZ;BhqCBGC zBLO;6j}y35wTm?2t{`fsyQ1~6M3@(fN!fSqvr^TF+mOmD_QAkH497(Rv7R zVEp?PCFf@0FqOUlR%ZH(cx{q=8yyH0guUM?j=b!PiU*PkRyA|j808u}{8LqvS^MZm z7m#s7GEORQ_gsTu176AID=_0G&?T6mJpygP(9RWw`{ZH3U{VUIB!rgnr%b)sb~G~8 z#QP<$#VcIsuxv$opvo-wkOp`83F?P|nCtmWx67l+Uq*0ak=Z(60)o^Ug^J`WIwcNN z?wY6r1Fa!#iZ#wW&vnD_e{O_fYz6rfW>X-4f@VoJW5xw@nh&0a6^YK%4uANxP_L;4 zt!Et=sm+YhW(xgpfTb6V;q(^iZ24j`IMqKJA(podG6Cd{kCRkV3k9x&oLyjZjZ(B^ z$$jbClQ}~y;;uWi4HR~(PkK7-l2dkdOI{lz`4@xkyP9Cu7Dbx2B{UssPc`f`#vG48 z!keJ%B>h~U<`D%opK>6g&d|_1818gim9ZJyn3(MloS-x5o5D@`*b~~e(_B84gqw_5 z+YELOGKw_f@eXK~;i+T3i>URFkAVMv2>XQeB5=j+Vy)Mw<-Q6VX}OP7baNyu@GY%K zO1^19OL;gof1S(z)vS(>r#PGu^&`3{3f@Rl@7pXM!*U)4Cm~yZ#va|4>>W+r)sC5D zP^#vRC@srao7eefJWud*Uxz9j5;=mPeZhp#=gu|Z#{X+A=C}J>46VTLxpkSU=PxbN zDp@}&MsHGz1HKvgCX8(|xyqN9CJo0|7))i}xRLu0wcgTBB7dNtqK{DT(Ut^4Cif)b z99`Gmx&VzC z7Au@K)GK`(v$<3}E(uSyf2PST=*EHnvFnPPzg0@NWs)1Y(XlcFOIGO_)*`1?VG7SA z20M8=t}OgIFH3xe#$ZaH>@ig6$rGk-6&JV;hvWJ)d-ggk#~}tLBgbThTH*>Ua!lJo ztc6m&RjB@KnSX`q%{9G7-}`*fq&hweD1kAq% zb7U)c16Xvcsblps`$s7u5GKjq$yIHfiy(HIo#fnDh=b{@tGuHzp;B2xxLlv8f|#^? z85n24iFl<(rx;Pk^o+|HjG3vDr+=s5qKUsGL-02F7Pi|sMbj{s~ zUWPvmz5_2TW?L>IwPBPb^$So*lr?hkPk*A8=EW*gJsn1G3p6vaONmDz88d}hz!688 zUCv+fv0t|ow8X0;y?m`d*h6ZhqiH(-5S*O z>Gd?C5PTx3&PJs`)e}@uTOpa zq`*@E{tFO&)6`HIqqDbsC%+Q+#CH0gmVW@!xy9Ow0C)S2z_c(KUG0J4O%FD7 zSuRX1sh--NOPe&FN;x!MtGtfm*Z#e9AA>$v(q@*$vDcn*35&9w*{*2|?KwSfZkAH> ze4545WqSuJJHVDV=b$f|Hr=$s#e=JntJ}7u99s{>kIBoaxD+NPwglU{{k+cE|ImTZ zS<2hG`@F`Vza~t)MDV`l2@bkxAI=H5DJrSx=R^d%1-n3@>cls>EeJnBvrzAINd|Cp zlQKXLR5`Xs`xeoZ!1=HAK>iTd@wYtLxNho~*cCh^kiL7v=XndhkmV*g_K;xc?H=eU z{E@b2_6*x+sJp3+SKdT%+H;eIuyB_BeiJOwEcR!Eid^*m22FTB!%i@^zS$<$@r=H? zldBCR#mGFNtVqe{5rXu9+D-F@PG>ECWc0GnAQP3~-tR9?-|lYwwRk7rsE}8F*-!~8 z2#@L+3In!nB0Hw8nhiH})kyN5RIIj6LFXQfj~2SGhKZ?Ru4H`h#h0S()k==*BSnzB zh>u}sFhB%*p8~_NSbxerp+m*TFGc?T+N%96PH;i|_VINXAEo#nRomsYq<_d!?u`_r z*k%Qd4RdO56zCU`+&5dK;9|(?uZ%y^ogO#pKw~?WJ;vT49%Mw5hE_3`IV?*SDjsB( z>b4tUhn){9?H|@s%%Q55Z%UL!JSGEFQHzTaf79e+JBRdJNLB6AU&ceKma10cXyd|+ zJHam-Krk}*1GfT8Pu)de3&Nh%w`XIjB+)mXwHvegRt)9N#a>z0#eRg!!m6`LFjX)j zIDcx^$l%p|32ma|V3p_wd3-Njunr5dF?t|U_+AhW^z*O-qwUJgZgoVKu-_Wv0FmGU@5=>PQGJb%g9IO~IM zQ-$vv%%>k23|KtDHQH9vFq%!~pl>w?FtE!gjHCx_{%t*2TCI_AL!wKXYquYy9+a`? zNX9$}wO_)r!)xZn@91z=R}wjk)fXHul6L75EpRhg>%BC$lt7xRsM!~38fy5nW6$UI zw;XVWh0)U}UF@CD48zbRpMtHeKlm7ks!ffA*`Am>Sj5vX=L#nNgeM|Tqiz0v+)JV; zMnI+b3^RPIvhWUtM>?UohmV49^LF~1D(0)@=gIHeZ4rV_v1=cW$I27gy&r0#exS}i zBRpv$Fy?QaXMCIBz%mER7k zP&lXlr0IWbSZ6(xJOLX`Chl{%tcF1(Eem#wp<7yTqE@m3=L$GQT(}m5VqqW3=x;XT zi!-4uW$Hq+{ad-VyN~6JC)jx~eq5u{nd)(1v5Y7Gnq}`S_3;P{=SG;e;nS(IEpBvv%afWjctyWt=Rx*BaISf8ybOFp&NHYZkAaZ zPHegLk*mM%6XO-oH`wGcX8q3QqKua{%{Z-bi3$n-G^HZCRCm^Jlzxjj(eSSFWU z=%;h>?X-oPD#BtUHEIax5wgJ!K`6Ck81!A~+F(Uz44L&p za`CXIXq@Wf#FvG@Skx3bc4k|`+Delrtc7G|>A``%UJx|KslQ@LYt_lf)t&HsGqrC& zP(7cOD9*=R?^om9hgjC4z2!E0dRy=Fb1<*p?{zO1y?hz!oqWQ(v^y1=qi}h_|KlBU z7zV!(t03Kx6kCy&O1DmOIU`VpsPldme6S;Fh#mCvHHb(SrY&|j{>$t4xBPw^9jK1q zd>q`BLZmIy-SQt;H%K`=W9D;Ghb-<9uOj|YTDet;{59jtyj!|W@I!}CPdy7qQH#pR zs0-~oDvILyhl%sgdR_JIc_dDzgD{B-iQzQaEB?_J;kgZCQ2b|}JJEZdqS zr{B*tjXsic_2y>_pFOrJ2CJx(y+cLw-qgWPHi!o$yt!Z15Z``jIgB^o#1w%f2nFKwWi|KI zUZ+v}sn14~p=3ExPXOjo7}1mQ_PWa7WD(LVD-BYaL#{c7)uy&)rd6h6B)WtBw|?6m zl*xO|@}fj8{ArC)qp8i_W;xt?c~I%Bt@avD`RqSk1)W8skmcz6cetm9(7#Elp>0pLxSj0rQ#F=@Y*4nnCKZsW=9(}Fvb znh+_t+=ZpdY)`*fj17jrSdnT;Srn8xvMJ)H&CH0*scwy^{Q>}?<9!SpZtmK7pBwGP z!hRtQD%O08d{*HvODL(bO1~3c#KjP((Kft!5ucSnV5~q(LE_kJEMOVaaU>6>b<@{$N5~!Vn&75xQ_AQs>c8~22 z9J*mmvrvK!VQIL0I9yqZ9%G)Hv$LzrN-6*}wqf_i814Ww>UxJ&GYI>Va{F$hE$jlH zBYZxB3@fv1L!`gAtZ(r9xkzwqa9n7praM@DFFF)Z0@rBDFCia=vn6@<5teOEu18Yy zjJyLc_JHs-`dSZrr26nUf~(w=UDi;Z)izIn#oc`m~pG#;Mf_y&R! zi@m#gRMAB<5#0FsGo1z94jZuJ*cHLwhl{_sz=8n3ArM5hcCAVsM+N$Tu4mA55;%8+ zgwK?p_ZQ<(+0OEa9wy7^OME4#0w!YWCx@V`#dmiJrhEiB$QPQDR=>x>QOVp{ieN`! zs_`Nj=T)Vw6AXD~SQyW)2*H~mroe54MD5e`JFpC9pe{9i_s*0cEmVV`t>hWN^e4c z6CRhE1;VXKQjL|=cB(+rFh7%3oy*i&#|_H_7Br|6(pqE_u%IC$2a`#M-SNJO01vZ{ zht)=7GT6+9!nKpnL0daeULV?_lVpAe>72*@tnWebj{+GTjpax+kKT>2Pld%6OBi00 z&hDIVT+YkqDF7h;+=^D zoT@4yM5SOGpouj1*aQk;+&b8d-8b`;88)3#*bqOhRay8AF1`1aa^Rf09oB$5Z!lI# z*N#*BM4)wZA_JT}kDBEJR)2x<0NlE`z(4=4@5vr7m#0oNfmPCJVr^spY7E>1yMoKf zS3&#dFqo{uXj$jtsbZ5^VuCq>C6uT0Wd31G19EGBfzz;X?*-7bs2PP%-MuDG^|~B* zIR9JmcSK}|7e8wSp?wX>#M<68=<4!cQOg)UncYPOiF5BSp`8t1lU zd@L+@tMGgDbQvLb4MzSHI;^K#;lFkhETau#21Bf`7aNLDtdPWvn#_PkA>KpN7z)JM z&vFi25&E&~GiKMa&}oEoxp$m@K!Cblrx%v08PffFtawbvJ*x&UtBCpRNkYT**b1Bp zjSfc$7eFxjj1B(t@KrURka~c;i;aex;rVwv!_#p-X|opOqma1{J3%1gNm^v4WdO>PD zl8lx5_MmWRyb@LBoQ=r`p!bku<@?5&Yy5(6hJ9TdtgZn!u{7a&It)8td5j}y4l{H)VRtUXG45Hhp`D&o zP(?Zq3nfsrfOev1n=tl#zH@CM5D|02JTmPJ!~PAk~BjO&bOJDc(``MfbI7=P9rC=clPR~?w8Xyh+=u)8VV-o z*g+s5St&4wV6Gkur`Esc?tOxj^l`Uy4uQ8C@(ZlOfi6OrWy-a{(l-k&w1Zt&9ncLSr%(=({MH%ZP}_Cr(avEdOU|->d+kne zu2cVMyewY=Vlyql8R7kDzflv% zW7T0@dw#G`iZ|0&dL$h=mF16y`}i+fXye%bhOR)1sT}&sv5^TQltv5CF@j}~6@$G7 zaDrJJ(h@0b9!Fznme(p}!;>szOFdFwo5m{Tws_8|kX}b3q1!d(A`6~^ zE2d=~@h>78L}~wcRRk;cQiqVs-V}F^#_xG2U(@IbhalhGP?y1M4vT`P-8mcGqO!zZ z?ewz0tQ<$ukNRvBd){j(6f}Z)18*4`EMjTm|F(@Ad$thMvT7Q1U5#AlFZucTrp`tp zAvJfvqL$!zNJP5sfMe*TxJy94PZ~PnpOu=mzF!W4)Ap=;k&O;Lmz-Qncf>v}smpU0 zrzme1!S9b5o{zM2ipFOhq!241wfx(Jr9?2lAu#i_$o>e0-DoCXl-G8==Qd z0?*huJ%CV{>V%+uS=FP)mlgX|4abuxo^Fp;g*) zbICx`kea!9J;Ezz^j0C_S<%LplTPagk;3ES`T z!s+w*5w%W8c>fx^PB=KY-kbk4u2cIH(9BO7cMvldg5zflg2>zdTJr)vSdzLKeVrT1 zR95{P=lvzR-$TDz!BiiIrSP}NXxG062N4WA(V*k1-Dx&++@|w_351wZ#=7&l7Is_? z)|o(Qm|3^REL^Ogr6%gnUbBFw1N8`MwW|)3$ay*}2a|UTM-%t2D>?dx>?o)M@ ze1+YTCJ!m@5{_&{BZ{{Mt0tjKm@At#=s;>2yY_m!@=Ck#i5!q* z1cc$Iaqbd3na1XBHg&sy98i0&_h+U{zf7(j^{J5{&1(v&KMA9yi>RRl{rIu5a;BTC zX1}ZF>dtOW>8PIQu;Nx2-^1C8E?S4JR=Qk8>y=F4?YYb4K)x6uLubx`I+hSJ zJ*ELkbGI!^?HBbu)9*H(Be+YD2XZM{F#5sEt`O^~tTuKu4U1r@6k0SRlrNkKTbV(7 zEfcmJgVN15!XoXPnl47}V1iw&R(vhibKYowH3?Ro4`1E#2TcJYII2ze2h|`3frA_RNb;X&+&``r{4Ev8Oo5l?dyzxGzCZernhWD`kK= zZkqL@+}2YyzntthP=g{k=Y}Q~TYWc}R7pwMRV%qvr=SYVg_;hVEJ}-a3j<-LW@8op z8$dtdK>Vsibe!C~OXy1+Qnd|w_w=V$OGteusq6g}m~6J8>Yn8#5DHQ}0^t`;+#Nhl z!FWf&^LRQ3MN__Y6K3d#g&lh-Uv@~JrhS(06NKw1Tp zN=bVCHzj}3NUi)6PHHBrqZ1c2; z$T(6^z}Ly9i7}hBuEJl8i^t%?j=B+rt&c00;WCnM_X4T7E6r3D{1l4Q4R zx6FaNRCGlSZvhx&(>lUs+)?djmx+`3wC3#Aa^$6`@<$UKWma=55)vaogb-Y*q*H~> z0%T8LnYb+A#ta@KGt%5u?3mVO%C)Se{GL@uRP(tLa@JpEW37!rZR$sAQqggP(1S~s zBMdc1Tgb2u?9{sb9hj?h=fm*~CbMR<81S2kC?INCK1qraR;zh&)wxpMmj7aOZcm_7%Eew`|rmH%+ z9E@ddM{p#R$^%XjL>gV4EO#vW*{rINR(2=4Emb}?)q}KEMf|3gYCNBDpbtijn<|$1 zWzq%kEqPN zT?YnR3clAiW@0Rq&Q{=6}(c+19Mq%CakPIvowh*m9=TQwZr00m5%K zn_F)=DoBt~-;roo!v#5D%3`&qqM2(SXav*9uJ>#jw3;d3)ZW9UIX%Ye*-*glu91_4 z)Muu-w;cU>mc!kqtRsK3K=4=s!gnTs{gBYS=c3!G;Y4gS$SJhS`nQ_+wu*QKR|g>{ zK{LaeO^VQ3-YhG|gNXSd0*mJdK4n`kP%j6VJ(e*#)?11qIWmDfO3iAH_I5UZA}yu&2Sz_k+k z9zC#Km)81g)$xl>Sw6CJ_+uf10VWNNTPV^M^p-B>bh08h$QCG{V@U%W*T91_Ue(mv={x~fPH?RUP51!TAI}iqA7b=;N)E#XcV-YMkt2dOFm`3o5#{sACUw{75rkXx5JG#MS%>JQ9MXE? zFYsg68H1K{^FJnbBwL-y&D$!IsOc`eyEBupho%@2sd@))Kb5@05)~BV}1k}PFw|>i}=lZzrJXco}%{9frr2{x@bq9 zt)6zG-unKlVD?389UAdF!p82jp1G4p1rQ%?zyCKqp-E#B7GF)fXkBZIvEf{7@F|9& zCg{F;sm(|G#zsjd=~y;_1nN6-NJ$U_@lzR&;Wqcq*u6 z>r4b8Tozv5B~l!>Dk*paXPr;9dL7GK&$A+ttT{oB3Cg4>StV$n)Ld-0={?c0s}OGr+wdL&%FnD z;@Rg5W1Yw@bhO9@-ELqz(_ed+E*n0aVQYwTtB8s~3kdUBVkjehux|@aw-YTy-kMTg zhH9MZ0#QA-p$L0ySF^3vHrhB-@gi>8$?ke>-HbF(^`2#Uj_D%No$*VZ(LBxOdOB*Q zS@l%hN!6U#j`hltxkOsPa&MLpsrw05gMuF7lI|s+_7)vOq*>2BxFj71?*gXlzFT#5v) z!e(cp3l>uBAe=t4d(emSTIZ6JRT^U0t_1FMuH7c)%0mUvXGG;Tq#UI?EZgR_!EG!R&a>AE>XiQSukze&Xcxn+qP}nwockSsgt&C+qTWguI{^fRjs+Jx@UgC`)S9Ht$5-s zr}D=Z5J_*OAeUJ{uPB=y4%al-MLy#z_{x<4h%o=Py9&AXE3WH9v!M;{3rps05Bc$M z*-T|Aoajy^kQqQEjM{-uaWuuSw;?x+n=P*BcDkLTDICXAaJ7g0R+HCkwCRMMjjz^i z4TXc91Zm1O{^>I#cyJgqkm-zll~J;jP1z{`8sC0pOA818HpdMFQtXrk=xe+NR2~x$ zVIfVW3HJ83yPLiNYpJIL)RO{6+`YqS>p6~L=Z*B6s^U@S)(vp=nLQsRP@_@PKJl`u6_KbZz z=W3u^hX+oNv;6Twdg*I+HJi4j;LnQh^TS0weTRJ|+9Oe;=1I-*I!}3BKcs}QNJ5Il zeEKSC|GTT{F` z2(0;8wUO>{8trW0?1psuocUjmbQRh#FIC(#V)F%ENRCNk=Q=ODv>)}s@k(cP@v1l0 zpBqon`(BQe{Doha&6TUy?M#n$-3j^Gg&DEiqrWbEfG8b6E4jS@j`@(g`ZC^>v%2>C zEQPudIKg7Z*a!vi%c2X$br>V5l4s)g0;Hih*r1xc)Muc03S)QpP=><^R{4cl1a!+* zcKPIepx*eg4|@)c1efr9m>Aq|OO3JquxAzK{U*2{$ zu^H_1N69-CadB;(xxFpy-nUyzbP#apeHgJ&E%2C1I-&kNAOrsrVluU)T0>noTKvsr zgINY-2O-7TksPy?eFE>{zzMDsw<2!0;Bo3zNpmLtKGQZTX+^=TGXt;KaVYX6)3ZEY+*1aF(Vz|`$r+h%zq1RxWlpm zU?*o_O2^Hyym~C7)^v}vxhP++p-LcW7`S|lg@m4BeBT$8dG%6e;<4z}-G<$nES4Qm z`%ziUvGveX6nhTX&BkBUc)}mEnb1I{3(*Z9+b9NAc?M%WmA{$&%M$cu4T{<3uM+4* zlN|I6%le#=2SL6RC!Tc8+M_XKRxEXO@0MT^JIX}Y^8je#N*NHnwHi#bBb0wljjfNV z`|-xWhx{G)OyU3o2yFmDhHQ^Ik3PF~4I7FkKj-D>dZ>;GY@7=kYB`JkZ&Mv#5L}5f zTA}J*uec8rxAly`%fqKOwk_5{8n-rFe-`HDn2H;Fih6^MjR|l;H%Lh#BL_1!{9i`Z zZGUxJ6kuCY3rU*wdb(kJa4vG};Cyrjk7J;x?fWkfBhTg2!4^(M^IndwqS9oAlJ;}k zrAWDOVe`<}N7&()V(oHvP%XXdUC6Z@N#PY51< zQAYNs^@yhCYG2@LQAN%Dl@t7|(D3CglK0)kuUnq5|DF z!f*gTk?$EcFkMdyf8{z^bAihCmnI&$Xdkw4B>fJi+!~Rt*%9MNff*QwdaCuMQ5BCN zP`gjSOK-FBvZr;(o=`|SclH!J1&mQJX}$ys{Sb#Zl8k@c@#6W21`F!gUUY)H;%`$s z@q4#LGAU1+KdE7w<_dIS^Z`?V3kGh4{(OnugIwS>z9g z%Ob=tE*sbS`ASWRwfJ_YkvcA-t}Dc3Wu8_Wd?>w^l|59s4^mK_@eI6UcYzm9-4ArA z+-$+`{l2t-m-@c6IA+9V=dK9yD+s-O8-P3x<|WNzmVH2s-9y;b!%^V;9t`x zHP8lt3(Xb$4_0DO(DYqIp&_YsV+Q$?e*)FbpVK7wR#d(w@5P(g z$F&_Ph=T@06FILw#Iu%2s!^F)Ss(U!lNWTsNDZdHVBa{NU4N-f2+4&1KK}kqMHp?O z{ZTA9zXb1xPN3Zz!d9a?0?x#lTG4*O)!)zSr6%c{0^)6NW{?kZ@RvNgY|G#9x8vzu zhxgsrH~9bEiwE!j?r-8`=i+E&@-LP=ujZlnu7Cgl^*^>e%>VXV11Aq#BN|5&XBS6X zn*VV5p*5y;b}~sEm+hxV5PANJTx~2D?%)@HpjfFDZKy3ra7dCcOjt?axe`+O#^tg& zwX&G*WLh?pZU@_4yi$HUQkGPt`Yp&8Yh(bWR!H>D1eEVOehpE=+FctVL7doSh><<|={4zC!2>KfumTRDA)Kt-Qi zT9XthYL<=f3$(3>d>x6z2;=o!DCcPx>HVxJTn_L7FY|-oEuolH=dDCHdK!Y9;OvO5 z{(!+P-*(>OBG#uw^ME#VP47jjj^pB-lO?oXf#XS$AaCxOvBA6B){i#YGRJ@t0@}t^hnjTC^)k7ptTG6Re%%iN*$T|vADRVKB12Ah@{FU)l`;{1*9SmP?$-&Q<<8eJX z!PHh!MV!|p>b^S-xbjN?n z%BlyA-zzwqH!q-o0W-wB45z;-q>9I)K8ga@T&x;)L{7SlN0R-@CE_Mf9ll&w1)|aM zL+HdXLN4UxjA1l+n8Ldr_F@q*AogkEY*-%_y}qNfeuy>a@Q9(LI;cSnq_vZNHYY;K zoiRuLFrRcNR+IWbM(2#W0dKDG1qa&3SszDeT#yk@av$-4vi77PC4a^sTqM@Y7Hmg0 z)m>3VryyPt%BM30&`4c8{1>QaWYq7TBPeTgZq(!6>-eRm&?0a-;&VJId)oPta4gBxkunJ7#u5A7bl$nQQl?b&PZsq(0< z+**J`0o@%^YwR`+4N68`x<@3U{Rh5*gla36T06#4Dnx~PchgE;&X>>l4qqP)JJ}l_^Y(`? z7eR{(7Jc5nP8~bb(jS2T?7#Fb;b$ic3;FQd{FK?Wx&fh-$kVP|7=Tdd5(KWFIbh7*?ReJ7*ucDg4fJsVXxMpfT z&?&R4#KJSuiF-Q6QpZ!26myQFn9iHD&PxIX_xQwos3Z&_`e{CVtI-;#rK_0m$k>oyeryCHnEQS$wT8&NLNRo5dWs0F7D{A&qEQ*#R^|e&!E7A@Vp_L1QO16cY3AO zWk~X&07|jm02GJSxpW#A>o?Pt%f47%H#!v#o<~Ej&|)BJ=^T_3_&N|BTGW7?5pXQl zBQ*gm2Gzn~@+;>gxU|G!##{Se6svsJREXYNEN5<#;w^|Vs7KnTGzWp=xiJdJxHbu_bR?(1r1f4rv#ndp z$2Tf8_BN}#L%-^Z{EQhWii?pFZ0`@0?-rUzb~Ecm>B95qlde~%uFEGofv)XGs-n1N zzO0u~+l^#MR&RCz30q?eS(sU7#@_E5GEMn(t>B&0|B@BtlEFoxQlYTCR$4{{Cr zW1GxE)azDAV>_DjG{8td7pWA!u9M3BqiAcY55?3TJ3%IcTNKYLVG2E$-&5cds$cYB z_?l}l%IdT3;;?R&=UZ~-*YSwa#D!JgL#mewEAx*R*Sp*B_y*}drr3J!>nzxI#T3|&8iPC&e^m!(6kLso-$jaY-XFjpzpNgQZqP~_ma_GH9OM0H{4~Slb+)&C7Uz)! zj;#LFP4lPpGGq)48iKsKtc^9B53x`&EN#t@r#|GsVH08mgfRlX_ZQ(daBK*=)>FJs zX50mxApdht9vwKyOaA0!8aMy|&A-h_BLf=~YZ@a1r~fSY*(x%2`>Y5&QQd}c&=3&T zpf&+`D9a9e)w4uVw)^buBCy0Il?oH0M2#ee1K2O!Ze{RNuE_YFNE`ahCrr;5(m@mDp4ozS6OmFDX*}2(&8K&uRor3ZlsgjuijfjIl=p{qE z13zD5v$L7JEr>7Vc-3NWpgS0+4LtRh&6mr1DMwha7OQ-{CxtiO9@q zE}$%65B|O(B6ZdwxF^q8W{=ZaejmDL3>Gg(Y3Z{4B?CLicoqdU(+Cal?7k zTFZ^P?NBRc-s1H1ZSV41x(1SKg9ehC8|b|#=T8gn%69;^VA}qEm|aT=uh``LzMENn zBfW6~f&wy@bR{*CjXMgF23i9> za>-|6+V8dm8%G&Ss68qjyN)3YTv&52a#fDcwB}&-2E}am*a(Su=2C^cz+0GOy_5Ec zeb&D99 zEi|-uWw=h+UVrf>34hyuc3Q!;*r+ndH5>@coyc42 zc_i<;S*5seCIa#7xOg^;-8TQl1P)I4#F2bNs4YlknnFq)1fx}s#aZmw1pV|c&A11a zV=%x^6BqW=#PR+wlG2#Q-qFt9#L?Np#EHh(#Kis|2pR3cQ%=H-0O3UYt@*yKoy3YCNQ4vRUVB;WP=h z97b2pwbyL%H8&N7i_Hl|=+d^)i=F)usxikIvf>*o=(=LH8mI$@4Whb^;idFbH14bq z1@drDV5VtbpgBP6e1@75A;n^CMgk_A&H0@LS1(f-J`!)?*9$oJ_C$*K4>qu5Ju;WmEHKrdHNSSh~pR3MLwcj;wxUy zWJcaN+-`(FRnZ1$X`~*AgFob}4h+EOoNNrcIwU>{8`o4sUv&jOdcxk7P@$u2yOIp( zNbr)-6~P@yDj-yIb9@9-S52?uxKy$ph+YojAB}4i@0*I+gY0a1I}VDW-epD(pKgNq z{hC^F_`+y-PpxidRCJ5Fe>Np(v~6MBE}rEHTf~*DjxDv&aCsIq9utnBl}ERj{Pus8dEU2 zI7I*F=)=ZYDNp}IALEBvSpI$V?QD%LoGt8Z4XkNQ+>K1^o&SqaCT-X0VSf7YUafY5 znCnrj2JE$Qf7hNTfK-z;RWpfDl3|9rj(76!L5;S2fB0l^U%n!06_ZNvZB>Zj(x9HP zT!MPh-bv2BEAM&}N8QK86J<{eX1Z>J^QptVtd@5XOiSZg$5Du;N~K`?WppQdP%>&g zd-zB%g}g#wLE7gs!W{BF79&3BQ~$0t1J$${6y@0rEUapYL_mWCFB0h(8M?m-T@W~^ zQ0WqYa6G>+GW=kthk)=}DkQaC@+6N!a`PPIr^f4&)HKS)mwAOt1kXuj!wU|k0GBC@ zhbjbQ?UKOuTNf0M{k2rlnKfGCApcQm4E8 zD`1B5SRZl(#kSKyimTOR--vL6(*}E@NosydyI)sn(;{h1+er31r0VgKj6G*1;;*da zG{>pK^Z?J?hF;V=_kk*X<3$s71 z{#OXGGVyTw2R@2_yqbUT!6Vik*laD5wvoho$?J#_+St!qE2Pj9Ej_GhJsN*NBAWWG zD=CXZhSAgyfNve??d`pH|8gcd(Y#ggu;Ubn$^yq|CCPsyBT_p$s>rQrq@aY&yvl%S zelAf;>r1zo!Ax=;Bb%ZoN=8h`YbmE{q`;h2fODh7B}vG{x|CJ-_od)~5^&*E!?`O( z`IW@gHQHTHi~3KXa3YCdO3L3Zlg4vYpFNJJOM-s;mtVxkVM>I`J4yK@znkf6k%6=P z?^RC^m0{3^-CkhZXwi*1$ge#yPeEMY%U7Tg*L|aIXKobklbh`Y_K#*x-u&q^BX3_^ z!Gv&z5C`0VtE=~LP&I36&CNPPk<R9A-NRyc+fSk;xG_HE(LrgU+II17<_$q3)tcOTqD+a(q3nZX+Kb2@*K{2| z>=iYVmJ-RL)fkXEq@&-{4SZ~6Iwu0uz7Hyc95f55f9nThNAw~q!AY}6IRQN$O9VsZ z03f4L0a+(cuV1pW)0sbuUE?MItMdC@RjwTlfa#4Av&A04gt|(OFWubz9=1BwzS+{Z z2ZupD=OrhbE%Bq9kVpM%3zV_cEBQAS^CpZ>ZDv5r1X2Ba-%{_x#{ElswBs--=NYPc zR|Y5IQ%O#^cl-h9pZV%Dl%9z2r&66j0syf8uh3|3VPy5+Jy43OjMIPYwxqfZ?HVwF z+=TpDC-djif6X_PN}C#9u#jV9syqI|+xy`v&voP&J!4AHZ z^Lb2ucYst#t#%ArHsN$sYB?5~8Q5{Imwmq~6pwMX{up+Vk|<}_975(nlFi#1@)(?UY(SxWh2g~ zbGH$X{aEc;MbI*ZRbo98YC;6_o7A8?Vl9jlYtf7z@)5BIQv0Iv+7qtM?ONN*)hva= zQ&Bp9>+LxlnSxt?mA3%pz_bqMv_EJhj%A7FT)d)M8NMjXVxYRC74l{7=D^-Uc~uok z6v=PfHp&LyuWB9vQffjl`h%NQ*(QY#Rf@guRk~9Yw5F;g+E^p4|D?80P$*O&$Ko;C zK_MZfS(nadZ0XMKGE?7TG`yCezG(E4f0twsJ(oQ8Zg+QgC+h;MHWQJRJx>1KS|SBw zf{2g5r9#lb%^SX9G(4Y};;7w@(mtnz;SEv(IPOw-g%L%4RG8UDYA`T0rVwF#%3qM& zYzV3`Z$e%7ZrX?oL_$(S;cE%3j;HHn?cPC0xjQr~`oP|uA;3n7(4L|?){)O~5Sxz| zHo$Qjc`rti{sX}VWTU=B?-23jJlOsI6y>efh5Aktght0UYbKw%OO1!GxO;NxGOatv zoFN}apuQCD+N~?c$Q4T4kOsGJy-CL`SNwwqT}S#Y=!xW}&Iv=^;5dM9jo4uMgjr{z zhS|hsy@Ugr@-<R~c`fVWK${ zWm1H6@RSV||JX!NcFQ&YlNsZ>lWoXZdh@dnNV!kU32RmAZ0o#3VD+Z!94ou!;>^n$ zYHDlC()JK$zJe;yrrpy4C+?GbU3~0iM<^I>nAiJtq=KhZ&*B#RRfe&vd`lSgke?}Z zn%NM!V9@WM({7pLM0oJ0O&It|z5iVi_>Z*v&n6*B;HODI5LrH=Fil&suk75!kcl#$ z7XfMjrx%GK`9(xwPtFy1-tH!@QD+4#0!UM~d-Kir^XR|o9#C+b2&aon>m)BbWfK14 z6r$J->?$>#({7{teri)Q+?p4?Mzd3h8YVkmG*7cmxy%HBIH)2)v2~8Cp*9<*Ns7>S zF~dJMw)O&RWqD(^9qwt)kqCUO5C#H?`YJ4VR0OE8%()y@J`EYno>UzAC7;4vt9Xf& zn`@fXVhs#kV(Fv;F3BCcaJ)p~RI>(lcx^DnY8E_(Iip+@>8~$f@%>S_+-FZXP;$Bqw8}1{` zi83Xqh&*@Q`fJ{3JT&2*y zbgD4MJczI9a06Q3hObduhVEE3a|ApLzoUm&QMOmdUh#DA*pvk(m;&&R5o=t!CE7Y* zv72OF5?BWo={)9X*+=mI85JmN&|afIsQCD44cPuyWb9;NV{iR`?hK1cy|MHBFg(}Z zA=9&SIQ%$hE3iOtRB+-Kj)Gplf5{qgW=9O=G|g6g$C6nPrp!o+4 z4&X9WJ6P^6ri<}ot5rh-fSrio0eI~LyyP$fiBxsWIuO&O8n16{lZ|O{F~Xp=K(3Yu zN6l2#p_53Ai8i$1Hh?U>UC`qbm%w^5*j6yI-!tV%i!PL8xiIAM6rPpEZ!X~YWpp@F zlaGA*T0yP0Moxq7vXU&_rC=Yfv&Y!%F-s&RF#*}?{dmU`ePjUGoJb~9J^RUTc*%TM zWrGBzo36U=yv3IqeE*~i zoOWZ;fq4Y)4vyE1LASd!ojqF9iMOvgIUD39uzkb5sJ+qipqp)Enlcd*h}Ug)&jk0{ zV1?tHwt7onoE-=c4k}m8Hk4e^Tcch&(jdb2u{6`Yxc^-g$;I>acNSmP3*eK5dAj;8 zGMV+NN;E!qZho8UgxK(VL-_$^Qtym&-)rdJleQ!GpV1N9SWt%o3IN~;2LQnEZ_#0F zVr^k#;cVjg-`m7NRU5l?R)jC>FDM|2JQ{l&>p}lsiEL91E|AkTBG)!}QH1$94pZVJ zAPG{Ix{v40gk)+C$G=zOyayt~`<>h!URMWgGeZu|6#jg=sGz@@40f$aqs4JC){p%x zl4SDu1LlW#Z;NNGa$vxO{zxVD$x|*U5y{13V8gvGK$xVhRnnkua1t-lxKZu4GD~-}1brXu`gL`@=BGN@@(z=oYEZvgc;$bn$%NfAr(CCBc`X z+u2RYlG(j)0NtcGh2X-5HP2Oz4H7J#=ciCI={IVmxQeHDX$QIpS=d0jzML)V{g&&V z@~zlbqJFr(P3~6%r>tj4WAK}7uKPoovVZzJ_vTpz>Vac#K70g9DeasnjD?&Gr(}o; zHkIn~tf&n+5wB^E2m*B?e8I5)IEg6jO1s!2-9Wiph;}(~%Ze9b^n$CKBj?3zUEzyVyN?oFdKa7?(xmJ4v*c=dJp>Z-p#byk*MkJ_nxwQz!n3 zT3BOAw*52IuDPc5+MTE;nN9YZHVvd@*|S~2_Tw{mkU8AtBv?={?@63hA#B6&r)#Cp z7Y(#lsSNUR$~U5#y`I_fo2B>1$#xYRbgQ0H0v=u+RmwP5Ue05&WlJ%^+e*87fTlvd zBDZ>zEhzV&zmJx1&?tX2DgDAbRgYq^^e~8P>m?Kpf>t0?v9OZW4-o8UD@7|kZA=})}(LP|l-l$TRG`)_e97Us@RwD_ge#q+FB zV|EH9f>;ryK1d)U$e*!^ae)1GL&j{DH=hnLBaxSrX&a^l%H$6(749y6l{-i0T^Cgx zC%ClmT43B#FF~!PBWXH!v2emo)(=amJ&+Ah%6y$LM=`TQ!KjZL_Wt}J!@6xoO_|cr zE*~N#UsrPvq!T;~bp(BZ4$6-@CaHqE?*g`}LkagdmKtD7Owc=abL0K@wFJ7{Y#gN| zdK-=uLU}*w;te=VX%91fPG$7~PiLc2ShkBCzYW!Z|44%%o1l&9^0yaFQ&6UhbXx22 zJ3(h~V>~5q7pdZNaeX%=_Wc0aTFT0nbjHGivd3v~3od$H!wAiXn;tWbm^XL^KnA`s z8KS^ZscPZ?EBiduaoRd<3Jc2|RC?;tt|nGo(|kFtC7-8a{tJ+KZlB=+Jk?4zhlTx~ z7`kN*;WIEq*!muHQ7pQsk)!Q?Hf42vv?jGVdD+=35Srm`1aoq8AKX*!h0Mdi(LG1f z*u+tta$yB>oI0H?>NUwBLJoW}1~o19p(o%`IFAY>_N{&DxVh~D zu5-Tu44*(Lc!~1p$h{{%>FjAQQfC3XfHs((^;}%6-`gu{v4Gve3TtiFBF)S4S1fK( z%%WL>5y-YSvmvA!_!rnz{EZvRcT)|6rt$ML-PC|jlzg;V81(lME)Tb;Gm$Ts&a|fv z&9rBXjn{-H!vpaX{6AA{8Sb+L^v`VG`BQ)e|Cbc||GpbeQT*@SaBBR|ZkQ>VBv4c` zVXcht5|Gf~g2CG8TC@Eeg=%-3tDSWypF-uC)$X`6-Ghmnu82{;0%+GG5_7s$fF*+Y zicp0S{M#@dXUA8%h0oY}=KOC2ik!G|>sQ3z0Kw5f!C0*5;8dVgAgFysi?3h}m);fc zah6@6C5YmohKZeJG!cMuW&d_^Iz||R>c`d<|5T2?$IU7$rDY$H_#0-CkUoD_l~5Az zV#M7=1UvpwoplO^3`grmO@=QuI?gN#Lx>pvv!hw-Gge4} zkoF_OI^CKNmUU4N8vb7pKI+2Fd?& z)w;^)$CJ!R`%iw!)VU;FNHJ{cN(zRqvqP_zOa{DXK+kNr=xAL;smYHd#<&y~)U-q# z&meF}FvuyZxHb2ND^kv}g* zni8<^;pl}S;HFFKbj!(GeiRI$aAn&c{{l}sfPmq1-QOm|_b$}?=U98P@g3Ft(8~T# z_eS?`V{Kw%@9aTiXJ~0+^q=eCAKj4M&wZ)$T`f9Uh!;d1a1JanUR$%gR8^t^2Vt)I zl3}ZE%f)pW5c+nT%Ss3bX$_~g_W1H5)5GppuexIpf|UubzHZBz*#o%Iv;1K~su6jL zJ1wI1rza}N?y81;T!=u_n8uENHsaqT6(5#tQ#~lV_ zG{=Lntx-hYJzS7c# zd@k+Vj(80EA)o~GwU!dnbGs@|Z1I?>-4*aQiUjtjxnN~p!3xsb`%WaqR1$cX)>CT( zXA*|6Vtb9vNZpx}97`YG&_^)a69>@b6ZGaL*r(>+(+ht4T3EPu@W6f@P2SLZwsM}; z(u|?Z3Jh}*(K}@&gG%&VW@3R+9-`HRm=?l1yI5RfnX)ghh16X)TH`3J4l$dk4KY~0 zjTJOy;!e$8yOc!j;)2-m3g8PoBb!7kJ|fF4z!2jcNGo9IO6RlAPb@2(PT1w`HTir0FOC!yEB*qq24U2xYq~JbHM{9NrogPFU)-79xglsD% z0VPd)G_V#+o#*Pa(=b$qc3d_Xwwm?c6w%kk9-=DJNg`r040TiHWAimkGK2NQTW!Zv zviluwJav+9yd?amdVz9>Eh^<%yf@Fzbax56UpvwfuruTDfb7|q{uF6Xe&XF_Pk$R# zuBfkAo|Oon>Um{P3dGhz;ZzKtmD{RX`&(KsDPN%f8T*m7zw26lcuw|zwC*;sHMRTE zPSV)f|L0ZYAMDntBqg^`kHG8ZJD8Qa3AN^hZ_$XP%}&s}g^;-EF4(!gHt3p%c+h># zJ{e{2k4$Ekv+d2K_wc2!(<6@qp?Cf8RXeYtV0d(aH~mXV&ui)kV4h-2aU}be9EK+e zxr_-$tItn4@5vlqK#SPTeDzeffy`M&AQQ#lmwdqHoKiJzIaMe00h-^6TkLYy&kK9e z*WY$b(O)2Gzp+KqS&P=(qc@y-fumKkXG7P4FdVXkKBj6juwR03_3{tSD7uADOOC#I zk}WC8XlLxBiiV6@nA2S-T*wT}C5sz8Du>XidLa*tYp>89dnu@_O?s-len&PGjJwl937S+|*c`lH2Ce!j zwa4$rJ2^qhTX5ewXM%Njne^8~hRwrBw4kfw%~T|EkHPPM5vSRtQU)de6gx;L007E= zPlC42jz35Cf5g90_2=Bdj=+=ob6;-)7PG8&-81Ez19hFHskN95GN?4Su&z%K4=B1c zum8H{N*0%@P672C87&!k-kP{^5LZZ+)T&j9xVcMO>hO$LRYQImk@~)#Kf^9rg2(&& z>K5Fn3JOz*v1!k4RC&a%0KweM=MfwL*?5y zd0Zd52tI#k9Y8oIrH<{vSC_O(x?;AL2|l^`hH^xsQ#Of-9#vDlB1TIku9B0KB|q1b zdX3l;41yg20@a|E(rZ99N3%G3#Y|I(x}gxH2^V=kKVNck~CR7a?Io zo6jHwGg&jG%mx%1OHP0K9+x)%Krj=6*A6i;j6j>r3&G<`rFYKxGeP(=bzOF+=nOa( z<2{cVH5i>Vf@@;jhxP#3x{79!IhJX|=&B$b>JfhSUi=ic_3&-nD64#7K+gg7d+Pav zVX>g$R!6(Xqob*~s#N4vGZ%XUoE&%5YW2x52DL`Y;4EbEa}opf4_E|5w<1X#e6Vws}h z`fM|^g0-o1?3?ZQvFRMuMj5c(p9b4aj2F`qx$mJLi)P*XeEI)eVeu8X?l16$n@xxs zHQ`JPHhz3OD6ez5b1Xg`u|to`rdUT~y~5|K8tohv)B#qyHf?D1>Do??+_(6Xd-y>C zRks4K^|-T^3~YGYFHrE<1Biq#qO|m1Evd$_ELb%F%J{ z6J6V@5B2>nO`ty=)d%<A9PrKf*cTz;Gy=P&-` zHUaeiM0jfQliUBPi2liJr=N|~f9Tun61f{N^r}`I_!4E;B{-Fi_w#0x5gHj0lK{X0 zNb9S=ywC{9<&jF$al8`&F0R&n+}ndKD1)CX-;gtx`IutxEqtKaW|ueL%Z?Im9r)@ChOWh)@(s-iv((OSeo+fPK;%-E!>}jk zCL2y_87P@tRQKmEDuf=>4hr zogSbbw=yzG7^5pV3|<30B|aaZ$4I0OgK>0Qyr^J={@UX=fg0Zq!U0aDs8|q25n|zZja%w zFN5@)J%5o%8z0gyVp4X8j4UgkJ&dkF%8rSp_q-` z*#7tC_#&8yR(ZyOYA(Gnmgq@f69a|1LR{Y7S?d%V8+}Arq>vw!^I>E1a&J~?Ac^aU`Ce%;o9<&&r_zL5UBUHBu>O$1*I!uQ z>(Dny#qD*#&d2~Fm=-^KqK}++m61eFE&K<~5E#&_i&f*<;Fo6gdm*Fp-cnCdV+GM?spGT2tw*KEGi5w9KClaDZyAIv;KSN&m}@vrEGe_r5K}qhf-84! zfo-N(>T}~x8LllEF5%xRQa7~kcTJmzeK_u%fv)2}*n7p{6;O$7gVQ1sWdDp!dm-{F zAyL(4Zy2qfrJ`QwsMCVsH?;9dN*VVokEPS^TSJ#3R4Cl&mpo#V6(#C@yAmSBz_B<6 zSw3Seds^G>b+nP=b6c)>dhf!iiy+R+SmkVk@C0s5B`(B^)_Y zNMb?l{yv~4ukoL%T#an*h;iQbp?HH@*v7XKG(;RzH`Axtwk4W7nZa+p#xs%-lJ9bF z$`;wr_#KI|D&sj)HEA!)h;YEyd55EFmv%F0=mYAibWFCKH)2Zl6GDJ;hKp#3<3vUF zaec_==P}<+N+UO`(S};_=;BLfTV3RB=gK4aZV`h|Is=e%>3qgc`H@|t0MXII(j6@2oFvM2;XO2QYHiLzmH%;&^vHn2rHGna*LtubOdV|qaMksB=<|^J=3bvL<1_>9& z{dKL|pp`0W@TlqqE*lHow0cukNAOX*q|J!RAv&y`tVFQ+)K-T}Ceo$f)B9&fVlUjJ zwx*XO!93FvrCea zkqf5_1WZZo$*c7ODa=O@*GCR(B^UN>v%hF+i!imF#S61M?}Rf!y&V(lB3(V6?)oY}x3_=+i8;0g@HK}{i_{81_TXz?qClp&$z*0bFLzjLj ziV6EDbuH2HeXan{*23NE)J5bsXr9GB_hHl3QXn}wq{h!J9NN(_ywNT*g4EBamu{W` zq9xiDg}Z;z5uaJekum&`o6L`ThT`APH2NM*z~4AojwR_;Xclh`s;4m98^tCn1%OAKfu`F~M}t%|v{zY60!KN>u5~ z;^ya4pea=T^Uo3X)L(+W$hx2c-kwOkDry9{Fc^PKZ2yq5H|wJob?-9bc6%gr1JF{lhOD-&{&fKxo06X{7J&Lj zL@%(Vf|+B6)t1F$K(n9!?u3&n?qjl#8&yFVW<$0Y*ew1&B0|p4wr8At_W9%^GUAt){pJ=gbk%L*|tpahcxc^TwyNa0#$dbZ|geZUkbJf$4p(tc>Iq#TKdnbkL1m2_4;j2xH611&GKf}%DF5*Z8N zofC+MCKoZG$547bTIxLVn>LNeUk(GR>j+0261qmpK zu+n>F;)CAa^fv`+ z#xn-hTBcR$VfzictgN98 z`}U^Kw%Y_P?EtKzjTF2wAbiECl=Ps;FY^-wT`sb)IP)jv?FSMGt$Q*!JY9jkc2O$n z9enY&t>yh**W2yowgUIFN%t-kqJ7P7uH;|>!U824NE}x<9;`b8*b#XI>p_O#&Mq+~ z-ISldWIiSIWeDBs?v>gx;4nt6*aK$Q8ygwE)9aKiN*1n^vh#d1@&%nf~TF zbQaU-xT+tli5k4aaRv>#+>K&JAt^ib*%>}pWt)rXzxLcjNZY?5hIxKy9&X*M_NG0$ z0YfDVj-~SHapZ*+^I6UVKNlV2_MSB`-f8y&nQ!KD4zQD1c}sRE5C#+tObWez2vrHI zk0iVy&LbZK8Y1q=LPywHpczqhCwo|F;%Ts z%)uOcSvXfwvIGkepbr?FfATda8Q9nA(`WlHT1+Spv0r3$ncJaLHjy{t%}MSgO# zVKKVIUs79^F1&y;$flFirR?vMcAUjl?dg^+X{31A49%mx{lT)U8QMd=$oll2t5av-Mplk#C+cMer74 z3p+8(q)s(Zw&BF8Yvdn;c+t&)wL_E1ca-pyor~`HPKZG0gQRiPN1?DqnmJx`IgmATxGmXr`ee&ou1zw}62kxAd(#qBg)@!=Y)VPsQA_&kPE zSq?o8%~bS?HS1`P9E^17o83)M&C6wKM_hD-(88_c^@S)ajWpV2aX0L>nIh{26v97` z9%O^C-&QWUDsiW{WZ~;3@XyDNpmYJ0Upp-0PcNC^|3!xaV(6}cc@ww4A@6*Wv!j-M{=cX;ktgp)ye(|*0rwxikeluak9B)TvN5v ztC>;+rgNmNF--mOvv<#GM>YA7I=+VC1=ShG9q89zB_j`Yt#Rgp*P<2Ah0^e3xa#fN=tNtcI0A}C z(<+4rGiJh&Rwh;(!Jq;uT+%Tbbny?)y&ubwK_J?HJtuZAEnLYXdM?FX3Vd^d8%#KB z!LgOjMdq0;s%BnadMi}Uw=O(jgJV?mw@H3$EkX8RKm47{8uYnVH@e^?{*bw0N@twy2vqHBEQp$$=qssh#!L-VDBiBH{X>6 z1q)|X=mTvZO)~o`=Nk#$!*nXJQF=WxRT1A$KNu+~{K4W@=tsH5Dvvi^4O|BZo6TsD zZMsAltVr{0^%SFL^VAc=QQ2_HQE_2hemZI-8^9LCLr$zU z`;cjU=xo5XnK9ZC;93769vhM-L+do)N3FZ1XBrUK^9+?04)3F4JY;X=S_y`P0;LOc zSDGuze-kgY59t4RQ7|>B<0s)u3qTsi0=?XEV+4~&19y!%BhljG&^m?t{zjGwm_PL> zFkyv)48lsy*YK2{RrD+bg*OQk9Vg?`bnLXX7_kR63^~QYT${Qvws0791 z7xMI2nh9{ahNZ;4GhDc+BmKP=DR0}OP6qn%K{Nzpism1=Dd0~t4SI)fHWtl7strsS z{cX-TZGDa{3n#`e#5up|$Pd&CN=n)#4OD7pu`Qq}2VZ-#ro3-8o4b>Mn~qBRzg!92 zJ9XIzkPFeU2#hPL&3{YhTn%)vm}iQD15RYah?1Tv-WBV4=VUqpJR(dL*f&SfQ0Gw4 zgme_}t{kHIuY-se9UA)(q|)^`Q*p-SY%!x>h(GxmTI4iCGa^*{jfz{6wG1nNAOv$Z znh6-3S-=Lifubv*Bj)$L$t6CJ{aH5nas_)ATGRPM4uTLWyir**_|YB<-yrIS-OuxUnXtA9`;&x7uVIE0ysHx){o_6Ev4Z`()0 z6Fs(?=_!%YZC>zoa3!WXXr^7cn2|=vlvew2U|1TN$qfixq{}-sW;UCoP%>+m3uPog zcMayF>HBb-9tZrmXc792wny}r*V5>+HRpK?&rOSDev9@|+SkvlGV)Y-Q1fIOtn1x& zZd(mE^Esqcs+0wf#XOq_p0$3me=9)V4Qa13S zaIto^3a6=Ro8-n$fmE%HMA51%3u_A(=4VJO1t$Ot>gHi0jDU1?FHZb=2;HH@_pAzZ zEjri&;Yht_V> zRd5HRo5h5G`mWCZ5_{Z@e+cao5l`~x`dGXI07XBJ@F^} z1u-EBM(EUPp?^{g0BbC*02DCEzP?5t+t$jHr{mncI*)4YKg5mm|LO%KUNagHgq!f= zOAIJu6W^;ANZIaHFtaZdhO|fj+O%fLru~A%pa2#!?}b9w6gWDhKoyaEvJBEp}oC z#h0BOs6Od*ChM*1$f8CfV_2YPleQro$dNaVT)I_oIAUVUw@X6w7vq-E$mg2DcC;4Il8+=#J}}(PR8d9p69nlCtutqlUtFCxWSiq#>H;>0mo}UqzS6I=@=+Dc1s(&^$!rGqFi5 zZ3WAqIqulC(vpYkolw4BL)EX~C?Vas*arPNYikjNQ1viO)b`BZ(Q$CmZ#4MSLH)^2 z7~XdJ&b!w7@rs<;pK976@3Yl%lyyZhsEJ~xKUPBgnLpUTp(mCRY9|qkt6#6k1t>Iu(WeFnK&)>PEyO{ zp6~x`q?~0-r)>b}ggO8^hyFj8X;!udfJ;p$GxPsiOgqO*0$^82L9?%_Q{ke+hcdxn zP)fu|TGaMKn?{RjZ7xQ(dB_L7jpE4C%Jvc67uo5yj!fxkKk0eMLt??*cZo6U_fe!5 zWKl-3nfmCxwc>JD={Fq>bu1Am+a3CY$)Pgoc`3Ox+(KYAXd(4cN*|IhD%Ek99w**p zUeRRa>E=Xy7*31;kTCY}MZ6l_Ju-DGGJ zJp@Y>lL!#Jc==()37xJ4t^C;5Zisg*kE8fB!M;%HX%a&gNLL(0&JkA)A)ok-rKbiz z>zbv@%RbpYL5s$^Fjn$h*dtz2yPU#d=lL2#^Ym-nr7K4o>sN4EEeuc|>0dW2ybC4l zgA03nRP0j<%b5lXnQ&_A@cW5-rUVqGu$J7PA00d&9@%}}yL@|uQi|pjAF7#0J1ucx zbFyMbO9X#AYM-*FFgd4L09`Toe3= z>lcDlpm>&|vZy=_dnr?T_{`)qgt6e30A35Os(#OLxdmZtrd4=pUrDON;F94HG>Jy) zk9efn;^(m41x32bA`Y`Fl$(ViFbwxl)ZsR_u1Ld+aBRu-)376OD8l0ahB`w2xb|K!&us#n~&xm&1!-hhOITX>$!>kcM7_Cl+ zOfeO+PLS$6`iJUDQ{kuw%&=}<;u5ctvzFd z#feHl9Rm1l(XRC zuEK;{zIi=U@In=gFVT=<`LBc4N2N*XGkA^8p-fgLf8m{dA*PvY+k-U^gAoOGZj#3p zUTlg%0%p^K#KtH2PeYH1WUVE1;S}TF-&PkIZ@Ix&hu?1t_hR#*OB$tKHIZX~#a2(V zL{op9&IMG?JxuGQg;K@b(L=<*Zr)PYOV#~p#gOSuDz|3B%FJFBrxq85LDgi0Y5MtQB?D}Dy;du5p3Botf%HE2-_g@~% z`?tpshAIAMcI?iqQo91Yv1-7G`+xVw9E|Oq0oo)+|Lw7C0O{Ex;4pNw*FXl0x}*5l zkGX3|6e5Jq0EgH_85}_a$jvkMinm>C3h6{E%%7~iH ze?Yf%%q1XRt^oSBD3QH8V~~(iJ`atW{(qlxa2yM7Zu(zPJJQX8GPqUpuH@uL-%By8gQ)wTREK>%L z)mnf?Ba6lZ8Jr%(l%NSjG8}OYAZuD0LH;?QViX{QA1gcgh`nIB^-wSsFDySaG*>;l z1qXj|=`aq!uW+YkOvqBoJ61k=n+GQxf8vxECPsK}Mnw1;7^L0;BTUgWQ=b5jRfNfh zUil#V)n`P(t|RO8Ur=nF#7sI$p8R@Hv8yXp0@9w3cNZYkg-5X!Yly>eo*0j%=W(r2 zD$G9Ft$g*j)Tx4q$N{CpD{E{7jb@DIppZOvdhFd`)eR{;819Y0RGLDGP$L@W=#R_i zc-h`;to8ZfM2XD{&_hsgrKI5jI%r2 zm;39elFjY9^Y5|h1-6em5=@mm{Y30R?{7h#>~T#SyDOAbMP47XndHw$iLLp`x`5+t zzr6J0xX*vgKsZUwsf_-ArD#_Nb0>WRE93tTAL|4G0QL_pX!fZ#O*4O^6r%{Qs*5AXR%E4eqr-1*W#}SuQGlL$r~c{X9DZUQ zJtXnWA6tBXW>h2=^G*&6~vBSMT!3+D{5=GYz*wtk`gWr&d=&)ucXv zVW@jSzfx($R6zHv!Px@jEDJfz)iJE%ZRk-kUCWsFYjUC`^2dHFd!~|G39x7bfgN$_ zXcLC`B`cDC)unnJ%M*C^4G36I2TSGw9W?^mL5Yoaq)FoUJSCBzt1CIqjinRW(5qPM zm3m4TaVHljTzlVTp8G!O;q_66EwEBW&4&;4S`NyiBqjk@p?chE9C~aBp4_mjQ+*sN z8ucWI<_JsQbc}zMA}J$<83`4&<1r^uDTO&5uz6qXFmDn{|K7Ak1=#c+@cn1vNPt~!j9rW!{tbZCmg`pt1mw_8-Fl8Bsy{ZG5#5|RU16>T zv~lKQX-4H&oL`;9Xx5$*&sUzdyET^{hS-0XPl|?>q3` z6qn#X7eeeey#3{^r(V6FaHkRSq0WfD(WIj5DQHCoPXyM^LA*@M$s`?+O8G~>m5R~8pof0a+3b z3pps&ElZm1DE|sx&wDim=@KQAz?HpxlA5t#l!54t#54Q}Lwgze5+F%gV7>C>^#ea- zC+-OCYUqdpAZJh-(Yop^vHPtA7q;AFYp3>tEw&)oF7D%#k#)EQr+DJf_jqISt!Pr_ zl)HOW)TpB7t9x=SC-E}`d|HvU>iVKkLxOdH>7zWeh!5c^rbQ&SuU(uL0lG6wc z%@CYMSoHt-G!8M&Wg(v~A=>{1A?Kfove&FaP)WASEHcY%p@cHNHbcSSNQ9cOU?6yt z1p=-*L6b>#q^{SoHSz^rG-o>fS8Q5`#flwQuJ=6W%zKxoJMmJm#GK-`q5i%aTH`ns)G<2vj{53>qli8y1h38@!v@DfJi|_mxLV;Ry-`r) z60vaq9^uA0tL`?1g?h@w*dqZwo7$k>ZP3YgmX3I~t}Uw8k&x8X*R!2A?PeBu9I*Jt z1DMZ0S{;NVUOz3s>4*9nsNh(+-=QaJ(F{`j+J z8)JQ^yREf=A2!OfVa~yMeP%X-yy1)EX2w5*mNP!2POmlsJ>xCme^=7|{h2vyiYQ?I zi0IQ7-?-kZ+R1&HdO<-s@YiZzwDxR?G8*?x|ycERab&C_@6-e6|%6ob0NVAte4GlewqwF9Zz9|TlBn{0HN>= ztiP~Y$#3iNNo?eZCyj%LfZX4E0)3BQkM4YE?`h)4cxw2F&%-g%FWd%kHn>m(R?~>Y z3?9Ylh=4_TOYtb)FY%F33JRTNK8S>9>Q>@jYg)WM?PD$&bL-dXvcOr>sg<7Q64 zxDm~aKT4b@=0nYHMKP_H3$2v0a_aqKPG+2>RvCzbZI{HU^vH9FZi9N(CHyT<;#q<& z7nd{lSDGrt#XjI9FR;l|@jkac!5nHR&$WASlBYNdh0yU{5`V8LSl}~}Ak9Hb%Jl(kc)>Cl{7$ZeJpQvAa z!LZJV2nq#NOGB~3=8QS9f>Q&^$0C~3XJAK`*=k-7L{{1uMV9UlSWl&vNE*#%S}t8z z%YllEe%%mH4szR@<%JAb62io z5Wr-Ar0$l+aSF4nVb?7#a0FXcHVl+Af9V#NiFK80S9AH@pfl}-wuUqUc(490Qwyw0E2lsPT4}5)G4#F!j zqj(oW_CZpAz~F^9CF>jE_b!sg_|0$nyX0Y=Ar3sMEbOhjcqQY!AX+s|rJcS(vZ zG?l6zlaMUJ&dNix!paQ+FMMw!a6mqiU6OT*UIw+v8exkW`} zXPVqyh&>deBq+wbAsNRfXHmyPNKB`l`%d$J`i>!e0dM$vmu39(Jr;MzcQB@n#PWrx zI@I;e1bXp}FWN9^3B$0xSIybZzR0V!KGmI`w1l*#csHQ?i(@KX!5z3r?0sb5r8_Jm z;HJW!w*73vh4#&WPKR##=ax@v%Nx=D$4fVD^y|PSm#6uHK!?6HM^$w%FfDD&dK}50 znKfJH=brEA0r%7I{370lv}q_ozBm;>QhA89r^yv&A>Ty$KM0S-kLHpzVx%xiZ` zd8OzIEb7DKP0Ar`EUuL+d&sghD{x7;G~YK}Mts&$Uzx~KN>LEGFq;4su%`REElHmc zz$_|)KaU0coNvB=G?mWJOi-6trZMPq6(g-73V+dfo6|va#N?6w*59n$KaCL8{z|!h*8jx>3~iA(WfguZnCjypGT67DXew-z!|Zoz#pc8k`BXTXd4^D^1`r^5*~d=wMiH)u|S9XKb&q?r{;E> zG>&&*hGKSJDnva6>Ivf4hfa$~d(Bk$sJuwXE*GC(n8n$LZ{JD?9S&VBS8jykM1-x! z>*dS2x(q$WdAQ~k81O{AMuA`1P?#-Q@C7MsH^w)kHf~x;R1TSL#&v{yMAXZvRCJ;f zi2uZarFo}Od`++bFJ}G}lc~zTL1$r6iBf&7z^bundR?)zRP$V}ihtb3a?6gVyrK_; z55mF1faaZ}&Z-v*&(sO+HeUZQl-O%pGfsHq&TMqOjJjebClE?1^8y-DVVt48{u8A# z$6YTp$NSz}-c2}Z$KTO9t5B`P(}OOb?LCg57jhD9&t6Lhka^!&u+cB%?lfn`+3q-5 zxlq!CiaL~Tz+|j}IFr&HtY5TNcunm4%S4{!o)sOyMc6m^#A>f zWT&;ni~3jKcemvIz7zUx0_RmXc<*JZ$Q(S^`?d3ed(#7~D_O1X3ihLe(|a~SJB90g z?a$N7kNnR*YhN-rEZY$UxQfO-Bs}mCP&_F5;qCbo@je1KtVj`c#I3m;N>JvKx{6ss>h<~_R36=}ggUShOT9vv^bW<^7yIA6 z^`pALO~@GR9u{&a3r-zLw;0C*MWY5WnBlO4$Exj&Ja{1Hm{VSEfUOJl%Sz$% ztnQCTW<)Hjn;SJ+?x`5tuo6UoGJ@+aLD0B@JGuBL7{_F(wEqkr-f|U=g;QSr5yQp{|!eAhO$qwE7>I-1y5n?)D24u-;!rc z3*X{r!lf_AcCt@&BW7n;%9|qLa!sLTi7TAuizOSmPVp;@=FO#^5|`4cr_}hS0Vy}# zy4Gg$yjMD(t#k&Kv7pJ`bz{D!lTan@rkhZLg?vyxR;f^gPq`$7>gEKd6ol@bEK|+q zhMVQ;)%G2YO6ALH3=hlT9gqB0`BQ5Q56xfzHPlPT+$PoI^L=+S$R7=VhbzwA&8epq zSR8yp{6VdC0XZqHaA-WW%58UTVp*R7_6HsCC~|cQDrTny4h%mUD%0n#SUmTp8RZLFF`Lu~8|-rBqXMbHnCAaRNX_z#jPYHaIa z)~QX(kyveZuvZMW?|4f0B-!D=zsj<4Y|u_LiTV&sBNbUV|W6*Z>!IMcVlGsK`{k~iHtnXi@r7IJntuo z4C_{87zV24{UGp6YW+CJ&V;TtUwqmbUA?>_a}&(qm7jn++^TdJLo=4SkfxUQqxvm| zTTMhzsrIs}bwzXYXKkyl3f9Zk_-mALzr(dka7aLy-%nVNU)3eOB%b)B_r*v+cMxqr z!)IadmPsLpM#YTKCL#m6s8~8!Olgn?l*w3q@Rn0IcNIXb+HH#<5U1hbzX^`l#lTm^ zdHZmKUZ?J26k!AUwr^|UIWOoutLWrqxK0e~Gbz7HTF~wfkd|c5j%_U*<;M0!8_GXY zvB=G%|V2^#(Ru=20`g zpH8tzqE01Z^k5nUeC?YE571eiLC`DeEr4P0O?>?_IA+o^6m~jQ*>{GO5iV_wjH5D% zBR#pat!jFpFy}>ok!F{!nUEvfuSu8GW8`oE$&D9>#JPm-sBG+R-Yn z)4M91{bVEn>WEufGg^L^(ziTo=1|&n1#^H+^oasGb~>iyjJeGn)~7HK2!wB3n}s8 zXYc}!Ho(&n$&{HUTeKm4Lk`LlSR1t|-64R8c^m`p;D4t8)BFgNjOY2XcBrdIV^<8a z?X^YHhHlscizRgPEG}hQPA#sW)4ff*)@UUnX(0^HQ&OyS)&Zj}=`SuHuI6x9T)Eot zCmW`*2ujX4g(T>+_3GfsZHC!*8E>XcT>jH|(rI7lJ6fU?5n3{2d>*3T!sT+F}Gxxw4VgBkoAb3UW=2T_VPM= z6@R)@JAL{yDcnlH9J%Gz|I9b;I8snjq26JkNsiXiH*f1hC7kt9?E1BVDKFQwjB=(n zN;Y5}9+zZ-vK;th>b&X6jMyeksebrJ4Avb{4(l!SL2Kp z5d`X1WD4ZvWIIIP-l0Y0lP)d4E~RtaA3jaY=9>WL(VZCke|n6+U0z{|Rp6x-r2g(E zs-s!QtxA#Fkw=3Q6Q*NGZQxEH{RowT8Sr0c3$B39*47eg#Yq>|LrDSM3RNFYZmu40 ztkMfHH(9K%3syiZmrDo5su8yQJSkqsj+A~qt}stW4=xMd?q*1CP*Cr>>~@sm?NcOo z10Mi_C0~zFU!!E@SJTTfwCs1Hvmgv#*qoak_!cWXWf0U)>*whRn#CcEcUZ}8DiGkW zPG;{n9CXR!ykWH}v#IpMCT&p|yV{!;NAy>4a9eHC_+=nA)t`P1}b@Q(r0+%xY}*&*MpDtm@)fY%iJIWgk(cHhRkdFHI_a^D&2)iL|C+lTIxulgYF; z-_CnOX-uwa_z3qkl4F#AFdBU2KDoyUSJ6+KH8y|oT-GMh6>^+ToJb8Z7+rs(J1B8g;oGQ6m895&biS?pn_^P}N!u}w;EsE5i^ z`yL29@XipJksT_sM}?=Cp?$)7pj?8OA-^=EHkoi{YXzA2&f)D}tfwy5&aURVnKFtV z1ZiZw!RgputCz-3r`j2w5-aH;MRn4$Iy2iopD!*`W6+y*1w0`Lsnd&cns@v4C(dOM z@b;kYAS73o+3lOvm&i%?ZzQ%EudpOmsUX+cz|YkmYxFuyTMaME`{Cc2<39EZ^mHBa zI@L%MXU<>2QVCLT?rf=TvjT~Kqa|k_sZc^Y$zMHl^lgUR)ujZfO(=<`1pRe=04oc5~E94bl_al4M_La7=>xzEWKOQ^oB zPo(A`Wm-$f)=w&{ekH)7`f4u;IVEm8+9JUAog$%r-$oy1qeL7wD{bS3#@(1Gk-?}0vF}upgnOTaCu{VE@$p?MyP{BLUF51}d z)GCLt?;Y9oZN-;6?#P~h%&WIUeOXfgv(ya0EcJh}V{!cN9gF&+v@X{5~ z?ZXw!yKKg7#0T-$!Y~u+v;~nMs8Y2(hS#*oj}SC1aZ%rT>Unm{F&B)Bb!r^|!tcH6 z^tHY|-}SeFnSTuG;jlcJm0Hk;$~7&8$*YJC`+^sMZ9>W!fkBE000JbA&{E z4am1JxBed20l#wJRvKDhH7>A8YB9VSBy?oxB$cSPkn%Xy6d#cx8F3(=9-~gUOm~RX z#B&Sl6T~=pTf4yGoDV;DiW;h8_%`eeG5xg`r%j&MO|Fh51qoeA)41Kg+|Tb^7yMDSQZ?NBK_4c$OHY7VW zR^zp3G&0|CKj-#tNXDIoUZ}5Q&{@;pREOvGlUD?^If{tVaVIFE*16{ z?5kZ@=HvR9?WEyhBfna;PPq`P-$`A}X!RWbb0+Y^(#`u{i-;vaM*m+7${pzdJM;fD z69`uLzr^1Bh}MA{G7YTO3#^|&Aw;Xy+vJo;!zG5qEk_a#_=an~gvDM3n{|;y@v*Tt z@ev!=&+yj8#lV20EQcc$h2s2~Ig>Jfgu3Q{Zc8(UZl zDK(%ol_wchgq6b7XbKf@yXEFz)FKx|2GU@pmpacL-%P&*=0J+!-@31zZ8_Vny$o1W zMlGNGxu=z{!gs^_VaTOf+wc)OS_6HO%DKhRGW?bxbkdiT1*YILkYV*weiu@gwKwUZqj^QMCIc9T+d_Cki;tOS^u*DjDbGp^=at&QlRd2D z9q8bSPp^)TH#@oZLokhFtm@Sm|Ahz04a{YESf=^{FINH2>eP!%7=HLUQUImHtluK` zxeI6;hnkP!p|DSse{XXC2pT4F%8JyU1xIrI(-pT}?eY;Arb(H6hw6u5m+ob-6?!B? zq^3` zR3(Rm7rir2YS29HV-IkD`Hxfi$6s_b`hy8(65jyX4I_*3Bn*! z>B`D;N!3`>M1Mo_Z4wxe;-v~sE3@u!*OH9$OYEy85_X`J+9rl=5+ban4oXYE-99dF zWOIfnVr6@IKJU+{Yzhd+TE@(i$i$DpdbZ{sOYf-7;kl!eWVt&Wtt=ZwW@}g&DrO7E7op ztkqAop?+p!eN)WO&tq%R)qLhu@~=9#rJ_;|&)6bvNB?e08j)eJ)i3HI%ZiMFw z<`(3WtxlX)?AG9mCWzw*P(-R!c{^G`0afa|w(=ZJ-{URkO(B$kTxL2c#10_(vXql- z0Vq4gznF%@EDU8{G7EO<-ohmc+qnu+20trFd38 zvUX_n(`F~8_d1U(BjG*Xsb_*}5vvRNaZz}95k~K(o>6r|i+S%v15;gtXryEs7$A>P z#GQ)u&8|$3kKK+hx2nGzX(Qm^cpqiC?lVGLxnbf@^U;N-kC3-`k=dc=ym_dpc5d5n zF!_j)(@bRDJ_(IEXN4;bk9ER5Z4H&yvm52cf7bWQu>WEIZbUUp6-m3lLDN=lXE(>e z#}_0X_Dsol&>jHOJ#le8rpB>?HWf}r%@(VxaH}9p+DSh!rGh@RVez5FhoXfp+PP}7 zY~!LkCZ%Vps54MGg9uyj*_TlX9U!){|Wg!L{ypwiA1t84uIhM*r#Ac{) zfQg)Mx+!yPi;gK8m#mu$pHP9t*5zB~O$9V+we7c0L|6@3ge)a27uklbMQmF#At?P`szKEYP6h!KlPOe0IMjl+m;9CJ*x=gIWj zg`}_+-Av8BiE7PhCc<^u3XoPqF7Z&-=2AUv%@T;ZTOR0;n?H#+Y~eJ1d|qZDHTOtu z9#|i&h_Dwrwd-AVwrP>e_`^lSee6HTkQ@wpw_w%NO0BP zcGDeiEFW+x(W73<9<$WYF==#EW%j!61dx&~rCiVBH{=M2&S|UvPB4pJlWUw>NuqiM z-|WOeA;I+q@%*Z}VMC2IN-*F>3l1M#N3#hBmF<=fjcX*}F89~7S{l)(7^d~iyoUCK zv%D;JDP^)zTZGBhG`!>jkk|OC;JhNeQ4-BIj-d0J31{EZVyqt)%Al#QLn z&O}rJb2SRre1eUj)%6&R10wCq5@fjHI&shR8BOF{(v{S>Cp+((FoX-D=8?VdK`x~o%et!0sW1RL? z6O2o{qG(oB%6P8UZ-8iAp2G)$Vtltw%yzp{Rb&2Z2+9@mFWlgA?4Hc**!_W{Irm*O zr+IDG#Go5Vk5b5GD{T7P3=Y18eR5v{8D7j=%-h9St{+*oa*QpYrqALxc8w$1z%KCL zA>gvXq35_pJIiJEp3nUa&_&>gz4K?#i3;O#W>1=;Oa7MQ;IGU1<-i=HW6e&q zM`l=x35lF*@{ms?|0wjHN+dpLiCd15#q0*Fw~^e7dCk4EUwW4#0B01sgpSUS z*L|~{3u|JJL;uzLT~EeRNnO7;DB$FP_XN@9x)l31U)PJ?s8QYFtFSbwlvcys#ds9< zle>n(Hp0TNblK?yo8I}74xM2ECqPUJ2 z92bmQ%hf-&3=NGO0c;HqF}hdf&S3KX%A{YH4so7-l(k`2af4BUU`yBXn zawtx!k6E!w*i|6mzD&^QNQFlq?H%A?ycdee?sL+$&4cOEhh4Lq;=|IHIj7s!+3suI zuRXlyW9d)LB3Eg{Df<0lP? z`fK@jprp#dAMxcpJ5Hf!3dKQpvvSr9~xY6DsQV{5?SE}ZC8HpSagR5 zH?nCNX{Gzkhxk zVUHs}58@p*xaWIO6yIAHXW4!rkbd=~u*ubY5a>L1@;GRDW}dgz86cv0@B=nSxZ|YY z;@#(&Wy}vXt$Vz>r6CAXO(;Kk4hrVZLm0G47T7A&WII5w*yZPZ##PfcXYpW@3KRkwY-}{4& z0(R##--U+<(z9EE71#|LS-t{qWER-QVDV_T;O8IwKOJu7`&cE@G6dQBDaLw-+tp_< zn+q&3L(fDxIR3a=FQ{U!H07G-cP6rRk|L|I5b40#EosoqJ^ow-gg^3L zB*hxh=XpQhSM#HSVatDw9MGT1*-%PL>FtD|Qo`tf!Jwk)!{?B#3d6Z*&2##I{?FFf z5u4qU0}#r!fKdL=vM2xUUjBs!HnuXh29U=6*RWHmA20y{XkY2}Yqk(M*5PNeT0&TD zLpXtFY=r=;SaD;RNQRJcutj{mQ;xf26>-6JuQg1)jJ;4=u&38)Ht9Kn(bfrxUzGfo z!?uIILyXL@g^e=3n_y)=>m_|HVckPzs01mcPqCcF&67s>nS^GN9D}uaG{FD+yA`Ur zzly#j4nChGP-MC8gua=?s%%76-_geZHoA{w7%d2|K~QCK2!@=rZI)IdcG1j|&J&qk z72=&=P?-GB;Bwd9( zYI_zD8|P;Z%L;No*ic2+6-t*U;;hw?CJ^Dt_W5E~H{ypOjGI zr%@CL-mC+66YzFYk!%_-9f!%D*p>0A^Pu-jgl|-N(j==*4VQ=rz5S0*LE49$Mc5Nw!#rlb{(($KE!E2w0{qs|VS#`s{@;i?M_XqA87+f_ zt@(c;MU#~Q5@{SrKF^;K*;I?5BU|yeCX{m_`O+og+`&zVaEpmI&vhv34&>T(g0DB* z$uq}R2noDyUJEtP?=HQ`?6dn00gN_9_X>h{^J3b4XrDt$dl~CfYB&6p;64Ee0KnOoFN!Tn~)M9SWyw<}fpTbib)s|E_vzB#|eej{w`x=_IK!+{O6vHAR$wHa`1x??>c#4A8IBIf1B(G+`?CwcN$t5`GQ$Tr^R2^!RgQ{cFOH;`y0S z9ua}+LYkHm!8O9)69lV|xy7_|q>>}j_0lWZWBc7DGgdUOVCQOUwtEU@nY`iMCRf9@ zx?uz#nCp|5d5C|9k#rFD^8#D8&V<%o*(_ijqH(PJb!cE zA=%RW?fbjADHf}`%&4ZE%8IZM0kHu2b7i7+Ys1KCTuMucaVEOBjP(V|q&m1UX=f?P zB!c;lrISrXIeWY9nnt~@bX!2`Qe_moNs_~(mS@H6VKOxdP`SKWghLB*Qj{>_30h<95X8LX7w)=dBtiqU?Q?uux+tB>i#IiFpr$4JS1gRUz zmonyF(8n1NRTmfa;8~?Ny|{c z+w3yBY}>Z0y6mZY&&2$5PfWzQF;Cy)_mFF6?p!-_tx%_{oYJ9leSR6l584pr?f6&! z(}z1K@%W9U%?jaroQm<=u)4Jv2ydbwFxT$c&!;*q(~k~!+S528X+rz`6RVA-7dz6i zUOeF);)3_E(ZB7VGT2Yj(|;F4l<#Ep&-G z7%Dqu_n$8yL7L`4Wek2&sn?VdY8?q7W{g?ay#(5&hu)S zw!PJd-^SGyDY6C%lDu{WGE+W%v_Kp(#X~&(DEOvEB1BSoh;IoD!Jp1JV+U;~M)Bkq zP#L7Ko)7qx6W~$wA6ZJ zMh@6a4%yX8;O*=$f=T%8c-f zUYSr<;inhE;)BuPa)0E6z_8to!MUkvf>w=LBTEv^UmxGBSxc`sGiN(i56os7YZ^=h zqqS@*So^K%O^w$^PozH3*fOrRE~9oPfBDK0eSr)y@nyRa%Rs|(|)u*On zSg>?YH7zEsAlar@$zhUW>gvVq(9J?3qRvtDi_=jpC7mMvxmL zdZpZz&?GTLU$nJJ;UWdy1j;sj{z9@2+Q2xfGLYg@y;+q_a=ScAW3tGIL(O_r=ePc9 zb&3e9bf-h!-04lFVjWu5G8SyuhIYT);YBXROvP!{v~JXC`Shp3In2I$^Wq=L)SD?H zoN+|&T+737t_=FyRR|SzRW8QtXoGy697z_mP#idP>(Jv!jfT5~#RWW^SS$^*CBoI- zt(5pk22~|i82ngPfK*odM2eGcMAJv$3+E#T(tuOFUIU7{F5Ou?hBLUnQ2uZ_j#}T; zrH@$hmaOchvY%^_L!$5_X@s{Fj*SS``xtJq`c66B;bWq(p^${vSBcpatm(=ZqRO6A zq)Y>{Qolqwry^4)%y^|RgmcK?=A%((n_5z{v~#i* z`6J(I#0F4u7ERX-LW_3rkGzWx*C0RyS+%`zE1QDo2v&3;Q7`H()cH!ueJw#f12YzD zmk&%Qts%65Z8M4bPUF2_;0zun0|}W}nZ&gyR%HdUBI!XfrV4o+_8uCl)XU>2Z06iL z*dvGDHXwg0A_abkUYsY(3xuPAXkm0>k(IZP_LJ1E456>JW~;69Moed+i#Jf8yIyj3 zQ|B zjO-DQHZ{ali*wi*=y3z$S_k1kuk=nV3&0pK%bI#rl|7+t+%`rJx%uE15d5Cq8Ba(D zIo!*3h7z5_E$=e2Q^4ROO0!4ugz_kFJ>SRi-!aotEe$M3)v9frWmi|-P?MlKmrCWzonWV2^^LE$jG zwPWu20c%xD^STY`BZmys{gu`hgXYpJJOx}_%Oxn0o#hINOI^)CtY0w#PGW_{ul)v; zK{*3gAydpUbgt<&XRoYz%9ga0_<%gMIa*wXge!;3XhM^nzZe@RU>J^1-i^;a^;7nC zS+h?BG7`HZR)5ANju1}6I6_}PCJ>L%p!(!x7$4#t7vkY8ASly{KmkPh6UJB^jwJ8^y=lbV4JdcJ&K%nyJt2 zAuuC4E?Y*UaNaJ!oS*}v=mvU_V%Phc$nCQ*Ccn^u8WZ15(KylAIh3$Lo>-$hdoNDJ zl+=E8|H9~g$H7msBq!(GZ|bWK+a$O>^3;j_RzX=f^ZMiP%rc$-6e3w7S$D#mwjn>l z%DDFG+)eSC6!P+LkdG4N)RklRi|j+RP}h8oJ)6gIUrOi11Q@InDPfpJEC3Bdajf!N z7+$AQews`@9ANF!kCC(pu2aw}!O4|Oz5D@2Qwf4oN)#UcE`BD*ZDBW@Tb%VE8|_hc=3T zQDFUg4p;y}4YRI^NJP~Uw78lJf+_g^a&x1mlJVb;hX{aQPq-vpssXlp^If$>D(f0( z_|Q1LZ*FrHDgoLtIkGeC>w(%eXHZ$HQR7YUm4ku@OP%ma2;TN%*!;r?3-HwM`H15V zo)p3k%D9xw@`(328M^)F@zQ|NF8p>Yt{I4Bq;2HE+?xrwFDxs6(kp&s|HApgE8w1j zwj6QeDr5G93$^Gepw?eUmC3d=0mqC6n{x1bM11?uE%UgxQO91agD#o=<>F>{)&Vkr8QvFWd(!{bX5GJg|!#@j_#Z z)shdzf^7}}oSDXM&MbwF7`{woum9$GZ$PO6wJURV<` ztd1XCyq(^qsuOO7wARwk^tJ>1A<6&}=v=|jgs;toOC=*kr4q1PhU%m}0dSFHnCFx8 z2t4eY`_I7V@@4{5dPtMp00k?@!j&`_2^)*#f40R|U+5cLW4Uo-4-^z#jH<}CS@Ke~lq*zm zT}g2wysR+QYj>SVYj~_j)A%@JnS7(NUzKn+QsiAu%w$h8r-RZ;$X~s~^Dd z7}6{wpN$gQRV&GrwL=jcX&s_3H-a|7nrO}D(l|>O*9V(vu%Q@^f!P$Z9Z18pw{@SZ z+4sjKK&qtF&E#ZVQ`X%y0i9TxW2JCGiFGhKZHrc^Qss+&QtR%6*`;{d0a8)ydf)I{ zG?yiDoRkI?qus_l)w_vEwpTCLt^V*%WKqnS`@@*NlD+()==-)xdD4eN;%qU;+m^a= z3}#(_p|V17ysEXV%3It5`sKc~7r`4ss~|6f{1iS1kLMrQKmLqvg_|93ZhQ7~R>!-H z8jNL%CJh^S2=aO#$v*BG(5eG}uJT>!&u(%8UbN>xy)j0l&XS(A_VJvNk+s;b>IJO( zY3tyr-sMC8ikqJ%ERsIg+ZAcjAUSewe)C;m8cpCiAJ_ZPRcQsp?PCLfLxDMay1Cjn z3jDs0Kga(k3jW#!#t3>XAyOdti<6PWA3{=FbYDLJ^XlRMc;G?4edqGpVx~LXM zSvr|D7^oI2JT2l5How`}1;$g8#tZDRDp85zTVHrA-X%MjEJwpXr~h^5QjVjp{Rd|3 zr^X;_CJa*lPuofDJ&2!0fi474`QDN!bo_Rxp)nUzZw%v%B#TQN(yq3hH<;yW7MfFTr>N{m(Odt%@$- z_Z_XR?`X07W3;RdoSgp>rTq_@*C$TTYMmZ=FtxFwmGBz`Zv|;xS-G*vCip<+mr%pW_TEyV*@E%qgdXjzrMogf92uEv762Ly7WA(1oS=r75-9@AswQXmF}!(SrAnJJ|B_p6W!9yW9H%Fdwzh~>rxjTz_shC9 zTXc;(x*2(dC3)hpHDg#jso#)G??6Gr{28<&Db;NHF`IDC_20RaWOu3^m+-^dSNLiS z=pw6d60>1e=ZcaIx@=z!r zF%P>y-1^%Ov(Bx0GeDo<)5{Ev%SBk8E`=NKy32#9a%@Z;u!1W1BZ#oEAuXLxH92Ad z6)sLosZS&ed01PRv|{aIP`u3cE4aUfvwu^Wrl~0U@*ZnSWQ>ex*|bfM_~W;`yjAcZ z#T%e~s-Z|8xME?8`KSO9u{@{zS~;|UC4H@38X`K>oTi3Qs5*)Z^?)7hu55}*0FXLk z73k?MwuFq#dXJL2vBH{z>b_Sb8mX6BBcLV$y9QxZz3WYTzL7erh`5bOy@5cq?1VqG zH~XRbaFbB*JV8hrSCrzZJviG)5Xgdbg0cGOue-Qj<4|Z*$<|C+Tmm%^&jnNFdUa}E zyZxlIP#TP$i4R6jwQ(*p=MKDWgu|1vUy7-r4J8E$jglk8HtfFpuH8M}g-VK|LZ&4p z!kQFa-g^k9^F)&^Mj!CMmz)-pnSKZJ3^+i8@kRmT!qm|X_-}zkr?E6k9tR#9%s7Xf zYGxVPJ?O>&9@zMbis{n>V}-5$u>1w#oiix~ZjEOJK2GsI%b1JxnTl2PcED+MyNL1h?LW}=7dfWb8IaD|Jt%!HrO6z9aFv#WzI^W? zrd9pVFvvoo8Pccz79hq1ECv#gXFH=K0R)fD!){mvzMS8+(g3h~1UH#tx2iP|5k@oF ztxvZ)0lLY$i(8tAi>|IevI;AjP(~^LER@;}Tf6%q(F>Djdq=-Kl>Fu#h%=^HaDc&^ z4F6gwk-AfC01zs-Cv%6^Q+CO4YM^z-_PsWX!@d z4DPp?!A|vWCHy&Z8ULV>qKuLE%AP5qm=J#ME_rBBNtl>yT4v>vXf-2Ht69)r)O)?$(@mYS@r8m^0pIO zc!4*Nmy3F#O3vMl*fcp-VXhrBj z3GLivp|LFo^vuNGZQA-LUd`M<*7uT%nHQSlCh%%%`!bOLkNz;R(_r-_YF}|e1Dgvv z3z_Mrr&?ccg*KL{q@<|ktqHpANjkrrW#Q}&$%F`vS8CIQ1HIjF#~QKJU^O%bZuog8 z2}a<^Y7K^1=bfn9C?FA}VNq~q!`<5ZW){@+dsMbLFBFRmNEhy~TsPO>FTZg_XSXLL zX+_WnfUn{|^5Ay|i4Z%(Bn&DbxciAy57fj`$RhfkYH$U@oLznzBP_WSwvC^H#d_7V zbn#d|K{ricnjV1;@_u%l5<~=QxFU-F;H9)td9Wo+W1Otq zPKL*xZVm0x;oZ%SfIsTV{|4Agfvab9#iGP75Z*Dp7=_4VU$^r)P|n(v3j0K|7b=4S z>yI_2L@n%q{{ww2^sMz9(N;egJ%pl}Ts6_A{5WY?EAgKPpbDj7~dV zRdjwEo`>8in}Od<6mJvXqEmSx%^t1IT@b-cJ=az}XG-HzWQQ1kuy*JDtv zIoB(`qs|?BqB{DeN$s&mKF>56VrSyJJEOTbO)9FtSR!^Hp=qS+(cdP2<(FjnZyvsZzM_divBPL#MRy%%?_-s)CZn1Xo{{?v1=u zgSWD0ncF*Qo}D@(=6XAJ#(Xq-234^E-hr}V)bFqn`Oi7C#Emy66wNbcmiLGd0B|C<@-MFw}wha_wY8z&XYn?i@?)0mrPe)}8>s61DS& z6S1dQq727uD|b+$(!FqV2i}b9@Z}7iTb<5XZ@8wLQXZQ1a?~$svYb)>g3c*mD=~j? zs`S*dSn4o=o17$K$_5tp(DZHuHHQY!j7n`(#%@8K?AqSbBg*7oPG~Ry1>RMm6p-5C z60jkRb&I^__x)veim1haPapw3B)kY7&wadF{?Q{|l)!e449xs=f*~3y)Z9c7oN|@P z*LShR$MQ%BwIiR7Ck^uXoYg-j0NrHg`9P>vcFUMn1ZzZxpfQ=(boKTQ5HI4)&Lcrq zjj{`he{p=YCb5OQ#0(j0S&0E%lzp6sWY9*15#<>bvZo6ET8oVt$ZWIvqX7zUp$a)- zZBnHuR4=AC(i!?#l^|Ru*dYgADyo96Jz)XV4-m|vnM?YX)w1>A3$A#>eXox$7i_{JW@>f(Vpyx znud*!&}Jb0QV7m*JvwBGH?Hna zdl-L-2{8SXEMT;cpi|fn%c209A9?i{gG9h03NfpYD9f=0W`C@pGqa+mrl&R1@eCdT z#DjO9ah|$%&AmMdV`2vrl^8J9?BRG?3nmE0`e$OfPkg&`Yf_QYV}}+InG|WfHv~(_ z9))kzkN|4kiWq^4!1mReNSGa1?AycE;!=>rQMBJj@@~hXJ+YIoW_>UWUc+Gf?Yka^7EA`!jJ6@#};6#>0Z06bY2fu;(?whHo0EQ4`d;4SMd{m=BO z(MdH@M%ZzpTZo)~=yZNr?>%f3?~=3Z=)}wkrD~HMvZCw%DEp`rvk(m842mY<2^cbz zC%4b+0tSj6y}O}$-Ku}qt`JUc>>pN34=h0KOnG!8kCtpo(sr$rYcSp2$B_VHyuy+v zraRZSHn0#Y-x~}uIC_^RyBhlWg1gMGovtkoi))VA(;kw+Xxz2e<0>?HFp)d}GqWtA zeMKW7<4xC=)%*xE@a7;9L$FFoQyr8u2nit;kiXQxkVDH)-Q!psK_qXE0LH4U26+iL zIDLkN`F8ztqfJ#ATG$*&3?y zpvMx$wNyH!8s2K+a_fw&(R24;+Dkhyr6E2d)6P(p7n*Mz!EM~G;p)3l${7pZ3F9;xDdV-O_z%-O>^qGTTk=W zKd6?5BT!IAKlBt!r&c2hL?*F?euw%gMj_DosYf-DJ4)%F8UgC~e$qL1d$VNQ5OiKKaaRB$Q)Nelq+sq;3)ic)h1s|j=IX34iOrX zV&am-Z!;7$DuXkB^^{^aodQ7eLfdv8IA<}XNe(az);}fI(bL z^yM>t7z5zg4$A3VZ;Q?<&oe7#SMhyija{Z2cTuE#oXu%XY46XOr7@8+t|RPL4XG-D zAI5g7)*qfy?E9ppI^@slJ!ms{%DN(m1Qdj6KWEv}E(n`>3E~B-eDPORe-qGJhB)e%gzDv9SM{>DLXRk}9tMcM3uOg(cHia*T!AnTsoErCyM}^A zQrMo`5FA;rf;1a6>SoT_@b@Bf)HIBkP&~hL;{R!O;XpyBOdgx@gF)?n76A=Qy8n}~ z{boGh&hK_(iKvQ?w92xUDfFQQBVUM$Z~w|N6wbjVvU5m$0V3X_sC08`X+}3OSgNr2 z$A(Bh4*+*?SGBIr-AwakwvJw4_^;zD)`O_$Oz#;czZRjjzEPx}@@($y_4Fz&?dz16 zVJ>twJ9_=)2P+mfx>H@=>s%)TDEI~?KaD6&003A8Eb%bL!+*$m?->IVlu6)!%)A5mybke_q57_W}3c2 z-IU}aUioQs@ZpZ)A-CF46+I;kgJOugRb!7k)oA5z2=MkUg4j!lh7t^{%T)nIwQAJl2WF@7n!&ro z47Ak@OoQza`B8OZk@~U&FZw&N4bFm?FxBNpXzmb{^X{550a#wKdrzp6gHdGU-BB0= z&KV9n3oX6sdFmbTI0cC_O!IeZDw9U zc!O?d&z_#-Vo07^NY1Ffyq6-r|!hHL48-sz@DOzwh&a- z;hq{W`vKf1KpW2K*AhQ;+Wu)E9$(8sn4W*uQjx+=bGCb>s+EYSvwE_?HI1)_Pkn!w zG+0&o8 z;ohn5kK{o?j%8HLHeUKn1H{JRk0cTbW3v)u`xxMgDu@?63!GLYyl^x&(tFPyMasLB zkkIho;EUj3IE#jsxwLypQ=kMRWR3`W6mbK`!?q{A%UmO9S6ToHB?CDVn_&j?V!TlS6cLGWM< z?2Baa#JExI>v~0m#8ZjAoeJjd`T9v0Owtja*|6J;szP;u?yT6Uay&ve$aR&w#-E3V)+LTx(xcyPb z7wi{%gGgOcStrpVOa83dlfO!sCbZ(Ep($Z{%4QyFYk{#B0qJ3LOd^}=A(>L$(cPlrs9;QrDG77z7uA{w@W zg@N1BAR9eY%yC~=^o;JhgM?`JZWXP7`ZkU(ESId%->M-`c^E|6M~FW_oxgypOL>60 zjyf3xj1~P?WVFp58vn)(Z3NRhU!lg+$i^zfv81Ay6!$5;*9Q zIHL2b2i;(p+6cp$y!dBc(MI3JBrAfK9AZXvl5D_&hS=$O2BGSqF{S^29zS_eR%ZkF z+QWsopO^2&s?RJiqh8{4;x7V2kqP+?Hv z^joegT#K4Vw2w2riF!&lE!SGuPm*7#Z6`U{%)>CzN%HDQsR->&u;`PEZy5yjq+qK* z#M4SB4Q(UyJc2_+hAls!4-qv5%Z%(tl!}peDJCSVFc6KpMi+5F81XB^>((lUR7LVC ztS^^|AA?fV%*otu%}D3Wv?eAExto*^5-{?r(+{5Y&V+|L|mg-+kGq2bQl{!frf&Y|8cf76_{ z-!vBae+SaP2z2GYcEshn14~iC|2W8L)}pTg4$>R*$A|=sz-Cv35Ar9Nb%^|H{$2L6 zWK)*mW#kE$f}(;w&S575sBgVN{z|~EPPe=|rH0u(ctai_bsmF(RRK3^1-45YeDV6L zx?xl818nGX*{{@z5rY;^Ha_L;$uz1bSTh)F&>FOR#(Fle5}e$pcS55q$*W{eKxBwn z(oUd+7rM_Lu~`WLS&h1TnBU1Ia)}~TLm!%oQiCqQ${lGN*UzvYx~@Oe@nkWeafhJ_ z=PcR=%8bby_Q?P+%1E$>!*bdDn*6>C)wE;hh*_?8HM87-3cLX51hps&J)F+m=v}a=s>`k zDkt=It&@28BRK|VgH_dbn9;TZVGcu>QEfW)`$LG)38199_fApO*&}GE^XwjHT@W$-Dy~=6Ui&v+q=f2MFNAj;*28Mp5cx7)E5D- zypQ6H!tLDG-vlDcmKty6zB8EMcLw|C7f%}(YiA2%i|-u?r*D$;+o9xtOdg|^b?nyY zk$r}`_arlw^Sm3^bNpvjt?=AW#)op?6{Q{ft6qXuVM&DEpLEFLilWLB|LE)C^Y#Zdapy7zDG9=M=sXS*KArfdE_{ML={p$B=06ftF`kMLB3qI{djR0J_7nw+ zs3T?4);ebMhhWh^ZW{0%!EXM17>%8-BIVrt%B&nAoOHgRI0FUt8&G$Q{OYN76sJeg zJYfN6)F8lCm#wiD7eXS91D0=87bT#&?@KgD2a8UZg(7CXR?a!(;d(rV;T-t zH=|6Vn&GvM7KhY~7KZ}jYw`dPs52gSiTa|WDE5GOJPm{trfN^Msu7kx>>9>V!wRR4 zC|I7q^X|G8!b9&iYpUphR z7J7bexeU=4(h$!cXSx|pRQ3BzH zAG#U)4`bpF_h0fxqE8vggvp|GYj{CSE_2j;f!?q5v};pWMz0>rLq~^rQ|&^b9iGUv z=X?^-^J_uFp5W7(vY3YzoMrV@F3aw^F~&+un7y|e84D}88`4yec1%SPTfMii)ndb` zr!a-3skbP1m(1LTet**~lHN&f^!i5W-Zx4G|2c*I9i{)r-sAs3; zC83gR+wW^yvq-KcbPqTGx9+`w_vna7!H_&Alg>onw{2o_o0lAGid z?nTLzr=c6iIapZ=qnXPFJJ2>EC~omqy^Vn0WP!-Bm&?vL*&;$QlMqrlWSFcT9*dC~ zj4p(ffoebmHHrldpCMn(3zCfjoO;|<#}EbK8c&-ee)Yu^6iSCit2bc39%09zuUU&V&-Z>UEh~IjOl3llt6a-JgP-9dm(;|YGUHvrE zYKR)x!=+4j-j83hqI>KTxNGAxoP6RgBx$wUFB91a>!VOROZk#CWrTWp>8_abMDA_a zy_tfEf-ilGEHm0y>Phk$L7jWJy#(x;^CMG7#smo`J*biRvK;^%rV1r6&fblx1t<0! znzEXg*!_ztUG4XM$qgwhsh+FhxyaE!Quk`@tc7lO_iJ=7_NDB|D>f%=V^|Btjb}V` zFg)p@0~I=AkWg(i$9UFpWWdAfe9~E^UqDPO*wwzhf5lkIc%tWN5Si+&-VC{cut`!Ua%+l@`ns53=K=g8> z0)|N)X{)uo8DKqDfPh^yDiPEbnrR`kD;=;fp~ZeM^K^1i;$3>XKj~Azob@{X@Hb*# zzGtm(?z=kIem_F~^QM}uoh^-tjlHu6jh&&TiP2x1YA#B>wwe6!JZ9f7-Qp<_5nlZ< zNO*)zmW#>=UB7ztSp#(1xkf}&zPf&)ldZ^*&|XY=-EDPhEH(}y%5M{5|CW3T^y4(C ze~#(m610#3>a|gpKwG;d_1>@4r&vJd=wrPHDlRmO##=!^lZ3SL!@!J&Mw_)J)vaqf zkxv9F?=`MXL%Kj#!G{R7Yz4A$HrG@X9mi~asfL#*#=cqRpzgqQMX@}Q0mH0MV^lFm zFy`rL1^LPfKZUMpt*y}vGq_$mOQ=J ziFY@zEY+V#k~=T!@B=mMR6^ZbgZf7`3+p3yxEls`OhD;OC{>n{7R|4W*(2u59i*n- zkitPfoO*4%9Cv5-B7jpiHVl=s%mb7oJ70~?o6*-g!uw)hBuCP1%=LZwNp*fH-cOL%kprYo%aZAPiN*kF*ZPoaq&(1&GRBQVOlFThUl0kL^UT-Z?-JJLZ^)o;Epf;|?NSi}m-JIrx zfN&Cxzf~aB;z%NhG-M5g{J?+#XCEb=z++`EJt^qh4VIjUpvee?eL8=EA)wUjc~${a zV;PLd2K=lKI;Z3qAYwa`mOk5iXtv;|b>Kx4#cwi65bXkEv1L{xfkmr6axE?Ze ztK{BzEvRAh3j~53{VdL#p^zvV1rX3nohoM7P=4k@X=#?3npmYIB(6)LbX)q)t9yeI zVaG$cjhar*yYW_2L&Y9ToBlF9Hk3O|;wke1M5fpRjf#++y%ceLT?hh7@P|YYnyyBL80(fvZGlVuN!@{#hU|qr!?hh z9`SJNNu^dYu(H0_)iL5AqpaNC7Yb*wE3vlR7mwlWTcn{*d_I_QqzbTdAvH=Vs3A+R zYaUKUfMKHs!o?ig9+6~T1>>hASWq|O)JRIG7d44-3BDx%9uy3f6sn5(DvNuB0UAOQ z@X&>iKcYDC%gRpO%7?ZhucV((72cVYwogk3G-qjl?j+88>?vB#8+6>P<_o3gIJs3( zS2&4`NnF`YcT>Ch`hOhVUp7p2J3ZX#h2Xmwaip%!u?Cq~Enl3QmwEl_{Dbk-V}#L! zl{!ht7O&2V%VSv^KAE__#^MNjQop3z}=b|t?8M2Eq zXY||pW?Fr1KWy`?araKb&X0+;)h1OBCKlyDGPIiTqHia;GyvQno6NcOB}(hM(*$|R z@CoEoJ5WkaW0b9=t5OybXeY=z3lZiYe3<_itw`Nkn$ zOOE@=EBM(9?@2CxuIlDZ*)^4$zY!C_>qe_Tzf(rUx6tE16BBlZPA1=0jQ`qzwzjbP ziKKTIfd?gn{PPK51ip61BxE)H;24OE zB5`9wh>Q5kC;f=MZdo4+awxvP9?ro=;CvjRJqX060MjubQXQuD6b>>hFph#?xM_gK zNQ|q-&2WiyQzrqt8Rc%{EekHjLAt6V5NDJ5((eg$>uk@_n4A?PquEi24pw!?UyT>M zVy)d6)0{7LjGo0bEIO%CsO-domXR8Yx%m#6O5#*vAt~S@Z3*g%xt$g@W>oP&50B!> z1axn47V>K^aXJ0=@G!Imv--@?t7cGeakpW` ze(kuj<90$=Wi_R8?##38k zzu61sORiR|-ELIv5vwh>MC;e(3vHrpka~1pg*<_o!Mv39DV}`3K}$v1Qre05;brwj z6{=GQhgYjP^Y!C-5M7bIH}4Bks5nKEuk0yc!<&s!yQqY zmC_Pcrn7V0fHiubkF9t?pj5hJJ+LimGTRRK~oo>MiOw-~=-#kt_?0++|X7@c4N%L>F78)lDGg|{^ z7stO2_n_LO?YbyDZ=@W9JkSU%b%SeQQL+&iPmw=DBP}8r4?1Woq1c=#aq6ayrm6~# z*Evxm-7?wf1TD!dYI5rofj>y(M!MbS?{pjyxm-}RwnqF2juFB^EqX_7a4idF`Z-E4 zE`jg8aB6-SK10LaDJgD$=)q{}p}YudSa&T`#`u)qCF}_xCGwUk1!#^q-W3=ip5p?Kx?+N;-%@pJ(9{XihC#I^{!>AXeRL^pmQr;nWdF+!%qg? z#OPq*;BrN#V}JX+ydUzevbW?h6sl9;(2m6K2+IJIq0-Zh=5l&@-5O$CJ23`3T){B` zSE|>fq)BiE#3nnmKUoTTq$&kJChBB6lFJWhU z!uKL7_PhbR4;6gE96>(ZA`uY{P$3M$idRurBB%)&;Y`&~qP!7BzVI76oKi$DFhU;> zv+qsXrH=Q|OV?H}2!?nH!jIX$RS{$%PlaeLGzqd$ z@*rwe4D{;g2$^~vtIPZ5`y=&2#;*RtfjGuQ*g;KxkoDO@=psW@wwQH^#7JjMH??7T z6a5kfoL|8q*cAZu_<$@T2@4+~`4=HKVuRXmVrw<%a33&wH53R`e8$2&#(Ufv@)c#x za!5+BN?UcV%t=A9FX8by(*pD`$=E_=64DHLg-}VE!oo6unWs(0dXMJmg?e$1ESWg% z8LDYb^2%rLoya5ODW6I0gm8P*$c2jvy%~<6t!}?Bhz*4G6E2P|C{7^7_v6~8y=k;m zI91*ns!#TD-mwYb!dWXtrBz$KR?R3?{mi zm$fwNHzsaR%^I()SGOL1!kuIh&y05Czt?s;1Q4BTEbo}B-LK-{un=$=`NHSkMt{`| z_D?#xB^8?mE+INRTmtpqgK{S8L<{IV75Fz6)GOAK+O1Mtc)A!Q3Gl|Ilj3t zYssC;=}2A)t`mFP4JNu(v7a zUSHZMLDQ=PahFl7^Si>E>%8A7M4AZ`Kyl2qJ9U>)H#fPqW_k}{DetmEU7|5s2;sX2 z64K~$W`JG^3aS;3wAa8~1;`*sg}%Oezwm|7#Wf4w5H)SdZ3?!*a@{}ZXxt~*aV&K> zCNbys-rO~LN4F5tF?leD*9o*j>E*@!lo= zdrtCr8(D?7sHyFCXyPt^EW>UOf`mm>Nk9X>A&+=wk^Kg3-(lvZx}C>Ku6usIfz&8_Q}0_L|4i2a z+MzzAs%h->EJv5WADX#prdS)L$!)l`8i)QJ|25SK#UIDqDhULSOga*P-BV2bF)8!nLzEaB%r6S^i7V5=jj4v+4uINp^Ac z=-v=Ynx7O@$bmovfT9XJ)ltE`kt^Y-v!if5y-6P7(<|pHJ=rw`nl!n+vgnV*+?4dU zPUPmtJ*9#JB@~Haq83?J7K}*x`B#eMiV7>ksRVNQ6O@v^O_RJKv6-CoRne5nt-dj> ziZA7FB)kIEd}G5u&Lp(>`Rc()T&k9a#2TXkm)6+7K39+ zjZ{M{vf;v7rFSb@7F>Ok#r+P+Ew={MIfsr3l$`pGAhSc0DzgYmNhMW>9#?TV(DF5aflO#XX(ygCWR16eFTF zVtw|&v^ir^S}Kw%fydAP7+C*kbAsZ!crsg?9G9SD)!>_VFsMpz{{)xJ84l5H{oRZ@ z^mM(^;r9;nZPb}C-^Ikv+s?!On~nXX4oEuRj5C#jB0zjndCw-~%Dy75o(dr^IqjTS zfur-jk?p*9mLyP!GGt_+UXvYl1zE^fka#|+6GaFSHDxBd3(J{{T?@nAPoR$f8r11Dm@;J7e4!LK( z#l)fb)@vzbREKwn;Ea&iHN>jnswmDwkn5(GtKAubrxi=?x?;buV>oC%T+A4uhbzF| z0EL@aX)L9+F=hYz_Ye@lNQ}{rgeBq?4SCk|hCvBA&lF-qt%&AIrxilDq|E!ERF7(7 zI6XI1=#er~8pQo&izsMxt~-~Ry}LV=z2Qt?%TnB&zn$FeN+-~A<3~$*sUEg=Te<}( zWqZG31wDQa?K=R!SC8L-<^I7NY@|;&cY-b*Yj;(#o!(o)XVOhs1wQ@CzInqtc<&%u zi+*@KmDpb}N+07^UB-jLI?-OZhN9Fqsu|yxnXEXYCc(YXIYFNO5hg5G%8z16y0{tc zC?%*$-XR5u-BYJ_l-j0o%cLZqFO~irsv zGHUSPtNevS)+4LK8Tb{*(tW3xZpERCEYOdNVix0yOD=D9n_U{s zgicwTBrS1pTRHCj;bh2|$%6{Ydfa&H) z!j^{o7J`Zbu{y49OKF6iJz(JnHNrYh+1mMf!U0P*g!kc(gV z%XLsx`5qi^YU)T@Lz?ChKQBbM8dofi1D@9Q8RJ5V0h})I$&4hTb-At_eoOkxm2xh@ z-WD_pKg1oFGuVz`zm3&N1qrlX9{ZcL69|*U$;+NX5)Bws=3yuq2->>*%r?#57?IG$ zm+#ti$#8oYg6`xlBDgIUW*9vCU!1*DkfmX^Et+;#+P3Yiv|VZ2wr$(CZM)L8ZQDG# z)%SGAiRc~oVMVO>Z~kL)j8W-epTjsbRc4D*D;E?lN#9gazK6Iubd(>=Kh3~+dO1lR zBF$6K53S}ffm}&MS-;r*?OJ1h`G(*IS$Nx+m$2*Haz9?GS%r;G98D`ZvTeGpDIlo#FdqtO`m&-uHXxBI^!~Y`3*o*bquB2b z<3&9q&}lz$JCC#ktiQx8M{-b;MD9#Fa#;qIN8$Qm6sLN~IDQ3cgQk_mP^gfB>7zc# zV1<%R^|QGlez0$OGm%r**tpwB<>WB-_Sa2+ICui}cew=;tH&(HfK~lHB=aZyJ*mDf zCFx-UK-1#V3PC2kjop8l%617K&1@N7k9U>==eJQG>;+SY3D#L_U*0$PeBRu>-#5Pq zH|B78yd7|OH?bXrI6Ls(*G`jj;MJH%2;O39c8K9FB)Q72+d>_UqeCZHx7w0lZC?vj zosH$OU*NpHHq&kSvLjAcM_gF4h`(SCgn(mhe{6R0^(1YvVCQOUnQ4BN-F4+ogyjzK z*6gWA9qaFB4UqFTls%(od+GmM1@ z;c5^rX}W%65>WCvARDi*I1Y!}QJA3l*h$Z|PBM|xk&K&D&-QU9ZQnz%?n6IRo`Mrq zSYr;<3*Y2y`Sma2PlzN_pTFtb zK5kQ($9}t4?`W=3YUtz#HI=J=r4pb+wLKysHJCVGPbOG6)-$fa*}$jC4d-9l5C;CU+s+MLC)@u1tvT4} z%dwd9GWexQLhR$|x3uJtIAWVHVl9-ZEW5VW8}^Cun!Us0HBIawV!~&Nhls9@rdU#{ zebQOCOLHP_p?G|0D4j(S65xkvV}`8CmTE6ENNn!aX(|>|%g7n#{V%L|h^c|$nV%hn z*Z*oqVPos~U&~<&BR7Ztu?~rn*Rq-CgZKPVH1q0*$Dnj=RA^B|hrC5lOz&1iXj?fy zIC-6FUzgNR`f$0*EZhMjCg!a)HgPc-a$&`+)0YfR0nwD0p@FPw4fMF6UJzm9qY5li zEdV-G_Z(cAlu*6NX;A$QnUQ4UwAL3)1vDp%c@WskzgwJhOU2G#hGLgTt(adutBW6U zl>S4&NM`*k%LA%1JpQA-m&{fr#F{gmW~y%W>n~ga@MnR^pEHnft1z0&r@8%JH?@Ky zb^|GL0fl=+J@eUK;0R zXuP$B8+7ZxF?Q+P28pzvk{&+_XsZh8^ zUS4HWOZApPS>)A@F+D;5^NESbt}9;tPk?m)1PJTD-Ot+m*iGA;85;etHf?N;>>bUF z9R71#5v3q)vHwG)6YbgC1nL`jE*?z|x-_DoXl#+M)sL~VvKke$M;w0XsrlGUl!f9M zNoV_+Gfswf%C7Y*gXVb?X2}MqR$z}e<+SvS!y0^<4?c;`sSAN{LK_50$(ky~Hv7XU z!ek&K+7YkXRoxQW$JxPFz&m#Og$SDQGb(dBa-dEaikCTD>u&&lLXnJ?Ac(rBZQHrCT z{Oae}V9?#OnU_71S)~vgWteh3(oe}GEc#MCp24O z!{E8Mt4R&_^uCd}2-xGgPWf8cOYRuW0ElakAQrlwfn(;I4pTje>u_$jm#Wzk2mK`&J4P06+=f|He(oR?omf?}wH2ANo%J`P^L^Rt_7i@n6)RP$O;X zYLt_a30)l*9AP?3PgfjhWRyLYXA*~Zwqg@7guh0K#6}guDz4@~eczpZYhTH*`EzGCO&{J%f+JRkUR%?V;06i(AQfq|o}a+*ukFB(&~LR4UWDOfhHQX+vbdG{D@ z_~icV7Q9!?^=|2DdCsVpjzake^?H7SD0;Vkz``^=|IoAHGbs6*0gqi+-<`f3`;sm0 zwL0dJ+TGf+(0w~Pge#{oD1@tGTxwQlVF7dGE-Dimg3kgZ7Lg`VQ?{^xJUUz}wD2=Z z(n_()_KPTA3apqSY;DOsD=V|BH|lyURC~lha!7uqt6`Y_>*~>y0Qi_;9w9|1oyRn! z9{Y<+eGlN#Bdb}uex#}1%&L4yX0gIKX+da20u81$hxpHZ4gKQ}3&!+R%I-=461j>#d3wp6v1YI@RXl;q>Pp@Q(rdz1CY&|~0j z{^Yb$+rjY$^;zK-7`tl^!VoD1z7Q4nSclN$tygt?yNvZ73h7p4ZS$n>A7*69Srh_y zk_o$bB0inwAWj}_)82*Q;ag$flk#${gQ04>{cD~nt1|NmFdz>4(Z$YE)>zPWVmBU@ zlw!X~HcEsH&=qvEz`=aWrR6+<76#y#%D-oUI=oAl>UKxf|j zJB;6I%BBQ&1*%Cjcg29Wp&A2ieZkZWF=GvKc-n)2DCYyrJU6_@7TZr?z@lQ-=2sVR zbq{iHD|Ojhx{10+Tj1&unb`>k50ustVwzEpnHLvgfN8dagbxOv)5%-To$woTb<5f0a zKh>RNLuNe{04{_-|IBQk>Z!U5Y#@wKpz`7*AF3vf4UfhdpP`7F4s03E7`;T6%q9Ai zwu8+8Xaw8R+@cXKMoi#?b4xlxiP^xc+B;lq2fC!XRY| zEgiiHC85xOW3}`z0X8*j!PiNsnv0@eG#4Nb+LW8#d-9GceiY*>WS+1`L3oeEgEO13 zqtAHLh7n+kgs$>}x{cCB5zt|M`~r8VZfV`r`IxT}cnx_S>C;@TnYqsRF~h|p%Y;PG z2bNAPIVU;n_oj|efpv{tz{vS5!}da>#2&*lxHCaV-zov>&S$7gF# z$c{BEA6Lq0_c+IU zODp7-P<*K8L|0olELwbAG*r$tzodWXX%oXnL-S1+#E2L1KdQ-naFt2ZfD{(CLIm^A zIz$#r$4WQJ+f}r1N-@7qqzRrq(M@R z>2pwK+?_?E34d-%H(nQD36dn*ShSC(zr|#nB(`qn9msNi<~#eYp~cY-EDe7Q1?oPJ zJK1<~iB<C{};{z4}6QS z?l*#sP`1Dr@PlTZ1x}6>jmR*tZcV_&$EnSI4xOCX7Xn!)HCBXtg03o3 zdfgSWqK7v(elz{d(RSuUZ&m3<9pVU!-)l0&MPg&~I%@zbcbXSOtM>bfr<{Ns)ib*d zh-jo3xt{qj7Fu=DVWv#lP{0-QPV(p-yZ48>U8bJNXz5I5_adJr{(@)Znx@pOM%+q1 zTk@a2IK5dR5@&}4e!49x>!>eiMhtCG@pZW$C2;G9Qmo<${tCDh^2gqIRFtPm8sbU$ z^J1+?OX-g7gG-CA=1{`i8V85wPm5i2-^?A)ix=ZQX(%K)!xy258-YY&%NUx@t;i|> z)wZ;k{=2;yIg8^9Q-$h`?`MB>m>?p-0i9}HMoc^}MOu%!*s&E6#gS7R%Eyx*WAIqq zUG4n&8X_HouoVj3GQ=4wecCb~Muc4mB|W{mexa+OdX7L*;Wb~IV7-udG8b_9*ChA~ z>dhhWdmfx&y?fkOO4((7eer%*WJBxQccMp;ljgas*d?>bocYf?{5ij9g$qAIg9sr% z3&kK&p$fOmpOjIwo zE#cysbnc_}D6N&mM3#jGqCb}2MEvYc-BUlF;n?6#*#S-*+=w80Y8RZj-cadOrNlpQ z5)$n#oOuEnDerKH0u3`k{qae$S7r>Wu_pjB0$9nOi-BU;n1$SuAfE>`UE-)@g@)Bb z-_iGvzux~vO5<3lsJ3M@*^molDssFlByyVMii9R7B`s$(uFaEX!}F4R73l&nx5RpA zoVsu@!N!qvdkJw!oV!TcHixl^rvphMU+k8aJ^k)28wdt}t$$W`w((peqjQmL`nKjm z&`;X4V*d9^j(q?5fxwN`5@IS>2JZ645@K6sH?})fANND%XUsanD^6;?7^p05IyaAnXEYFFr3R;Qcl59tiLJ;b#*-z}S|t7pZMGNP9@ zwL+Gv+ST{`DpPtTcl7Uq!>8iMz#w98c2u%eA6F~E3GiLjIRQ4g8JbI$ zF4qj1luvst`2di|`&f#y$$Tr$8jn!fRQV;=-bH#1W~h0eg$_Q%3eVWh=c?db z*QHjzZWu~5XLC^ABDDxM+Aq%2^53#vE*ml%c#CNC83G=cza~#*I%>JfCZyIU9XBoS z=x%PN0Nq3-?r?CnJBnuAoRLEs`QByq!vsN2Lkv&H_Ru`obq9`1lH+faGgLkoh-p&r z@xk0l47@a)1AF7$_87yET9)OOlmA}B6&!4#d}ux~^v5XiG=T=nTaGwzUTc1ImiPOd z5yeh7&ry){TDYvKbSd8jIdy+X5#sdwi9P=!)M|IM?U$QR8re$%`1>x2uQ}!F{r2+M zGyN{DgqL)9b|~=Wuhj+{tDr!$s;G2mDBqPGpG`uh#teNN8}&r-cqg5Or)>xZwK$lb zI#VpIaosp5XUTsxmz3Rd-rmAaBvHPJsgBg9>uoAJ)DZS|)ESR+dFN5)FnUnyia1Uv z8ouE?3QZ5L<{&3Kbs9+v(1FEP;UsBm$Rnte7|0;%@;lIu+E#?PJN0nj)Yuq;-RbwK zrStVx$}=hM2}nGqY?_c+^=YtDqJ=1og0r!mR{jLXsf;Z}b1oq^E?xXuBF)fbu?5=1 zqP)LeVu{H$^-xmuz!QYl;!j>4J)xH^7EvD8YN z>t-fD_U!7ulmxqMOd>}K)haN~RH-lD(p!(Z;HL?2NMILf;EuxMP_rf;VHjsz>TTd2 zI|#&vIGLsWZ{bjFt}f8(KcWZ?$HnEL%aUaEVScbZ&h3OL z6Cmgm7NZiB7PDGBg|exgbc`1vea>B*Ww*Gyx%g1X+>b7TZH{< zp)v8? z+KvN$UGc-+@Z;U_!@T9fz2k#<w#B{>!^V@;DINUfhW{~_t4CH z^28g8z#dA^9xBIvV$1#`q|xyFDt{Nj(*&_zMw^h%#9aB3d$XgfUEjgDb~c)|@R|(c ztKHnDF!Z@)1jP@-vDU?m^S(LcX7pQY6$Kk*OV{T^dDpA#yyvcRR>LW2AXpLAh*p!| z5OR?Qm!^W|MOAJ+v8~s-z!#56(@ZnZAIk%)ZdTRw7IfqS`UH}LUE#5lf1#9PLbpP| z?6c~bs_+&=y={rg6-wS&Ouig4Q%rj`UX(g~3$5st^Kc2ejDK=m;vYFZ*!D5m5vg;h^ z@{O=whi`HP1V8gmfTgC0!#9$a_MXY%$7T(gc(QbIEqP+A<2pN>N<8=-#V@U3Ug*6* zYI+xig6*?b2=CJ96KkmWkgKRhL-iwChD%Wd&V_dB52}0$2R%l1B5y-AeaWL>JU=sV zP(~rPo{l#Uxatomim_CVjif*QPQ3bSMh9E$E-M}V=?X(~Y3?rB>}(B7h&`vS?VzIO z#ZzyOG9F&yaR8zK#)uF>^|48mztEU4$JkID|FFht3L+>emOwD@pjot&$4>NE&9hhx zRcXTd50wGanzx4fN6>e3?G{AU@4VsCDixoPa2!IVxn4gYA-7xZfEf@s^>iteVvTRL zJY7MXm6^vAjg6kNk$R#P;3>u}FHA4u;n}FK%knl~QT5?U6n?o^f!g0~&X~fYwCK** z@4ShC2?xgA`IQPE^L|6bKy8Nx72?>W3C6{AkL;Mka8Bfa?M zh;*l)E0v2$Nw2}#+HxHBc3GP|r?3x7M^>XQF0rs+wngL3J#Xlp%J`n0(^~(AHoDsN zb|%9s1sSX2p-nje2y~ACw>|Jq7fdE^#-J{al3~RzlOX)?if1K!7OWQx8&7E{4Ho}| zj3Y+VX#Y)B+S ztv8zWem2!2$SP<1uru2dtpRrxn~y9O;Ee%(u$Hs=C}q+ULpE?hMp=>{L>y4?rk0Xp ztTb`x`Sz(i%{5)KIF6<>-6`-4#aVsmwaYh}SuNp|400d?%!zmVK9|#G_ea+OhImSJ zIa5$546jfKloKtGB-p)%qE=v{tS}YMN{ij>I=~)?)EaK!rvF4zrhF@^9mjMh)aJsI zF;1%|0mWgIx9%-u+=TJ^g(e_p2(aFv0>U_QBSW7Lof_~W+zE$YI7g^FnLe}E_*IGp z@U>UYtfjA(vKAjpKxE4d`!oRUPfX3Rg5I7N3-1FXLU)Ab%qC~1%c95KPY39#s6?Me!)o-7Fp7Bk1w()HK9Gr2({qJUcKhxYFTG&5C__|a!ZGH~WeVV_* zfx#xkcT_2sF8IZ>Dlc*U^G<4Ase*e`%}xy)lEnS+q&p|R-=hnO=U@FBkna;*xwf7^ zuO?EO6u~CSMOwWq+>B@gwFS!#5a0eLLI+6HmixpLpZ4+FS0n7I6vLP-dJJ%Kh#_^Z zhK5%2ECoyE?ZR%5az8geoB0|0K}CWnC#TM5fC8a`evd(qQ}#lokVk^40V#x6G1JTW z);R^arxJJF14$ZF0h3fPlXA~(DU3i-l%tSORL!{(M1G9&@{H?}8U;yZ5}yzGxeQpt ztI{ubj0VCObBwXDLF+1k>eSBC%3@LXs}h>^P}HUnKE$?3ollo4nGYN$K}8YMFuK~SEexq18S(0Z)BsDFR3Rq{U^_bY$0}oV zxk!>vmHc8ezBzjockm{oa@qX88u@;s`9!*V?Kix6I|&s#FC4CnBVZ2(c?su)RGjQa z93+p(v-Ov&tgcuj(L#xn^WY>kv;)p;UYOL1^O9x8mO2>Xd!K3^40633Zhq=Xo656t?*aDx?@{`W8ZQ`G8+YImf*Ezu#1@)0K zzB^DP2N->0DoWuhty3wR>n5$x4R4go>D7Cwfxf@l*dTcgfeukhYrm z-`ps|v&8{$`h&{T)RKE9U(qb|p!SGFO*wGgQBYJQ6)c{qV-CGB&2kjahfgGg&c+id z&VqUHCuINZXz-bQ@Eo8wjkb33lntUmTrqgfO)uETudl~+&|19^5|+m8Sx zR2)5_Py3}a0%sfX;f*?{Vva9WV7C?1R{B;;5^JHkF0|DxYsj_u2aSM>j#cckP~0p1 z&%f$;xBGxBe>@s#yli6Lx-Nk}RYYK0+S6TqYxg2zm-TtM?8^dtax0pHF~^~FH#J?q zI(S~rI?h20DI&{Ca*2C?8L+|XKbRQv3?2d(X9)a2s{N zT&{?sk6)?+i3#(XhWt*wi{wKq7NT5yoo=? z@dqtz14bff;o)MgL1SjhRgRCx1Sf}PXuV0uAPq$J+E>Ojr))`kWtgFc1Aeij08}mz zwJ&48WNY+gFO+a*rZ`ODS!A}PS%D-#%9(=hW{UIW+_S9@3X>dMU+p`$GcE;eD?-pMHz|Gv zIBSqsQs}YsB>a$S1z@L<+OXULo&eu#L#+&Nsib;{jE$J=ODc@<46)kU@*~P(96m=HH1PK!V8uIahp$c0!uK5mDHvi%^wW$`k6NZvBK!)53%#?a5=INcJ zCn^bp6l%m^xAQit7L{={2hEIIvO}y70b^jyiCbhe35K3l(N1Sk!~N3%C#Y76WPJZI zF1(l1BclZ8;lTTc# zY_=UA2@mgHUkqtcxsN}~_@8FRs$|tZ!C33VhS)6Qk7<`kr@{QD9B}}&Yuh_0TSIM5 zx|5iEHbaGWs8x{~mKz+}3~8LasoCY{VBYHI6l3;78&1J#a|N{%zj_An<8Ny;8q3l} zRRlUP8%@FZ2atOT zhxgT)qKUuy6otkYdbg_xp7e*AdXtbg^U70it&B}$SnH*f3y@w}EZRKVEUJu&A!6Po z3bim#h#+gLbZYuTe5f`KYPMxlxoTe}q$A1N_=s03$m@=~;6@!aD^ItiMYuRo!~092 zn|KsdFIQjaTheA{F^!>bsVrR3G^=r*p1%Ty|6tk$K~9WV@}X{eAZsJgvvw2klff2t z>{blxyKZmxg7rOa)zEt!_{&-386F*~2Yw#g-*@m>G^Ze5|7x(IJ$|{O*p`IBJ3Z%V z04`>@E-SMJubGe-! zd{wx8>AEpw(|*aUY|ZSP{qZkr_Q#|uwaA|}d+rYv`rn&4+3GnM{M2FwdJg|}$7&=e z{pUZ{>n`4d8`MgTC>Jy|hXti6=4uO7t@uJ@qlM`IVd2!Qw(uRDC6C!R>3x5@)k!u! zrW(^-hQ4j0Sf3uZkAu3DNFH23Ef7Ghs}Dne_N-_8fTeLAJL5+62$u9BammH0aL27CUbY7kGmj*P&LlP( zPLW-ZisgW_^$x4@igg<4;G2BU?r0)?NLs;u`>QJiR3fToBNa$Rth&RC!Ar{avDP(E zYlXt8wIMgsPW<~zQ5($6E?~rpskR9fvUrG`l>3*i9Mz+uEQQj2VL(J)`!f}CzzK+x zRudqK*E)Tef8hX|gc-db{JbmiPx|2fx91c8*Sr3| z-3Nl?|I4{j`$zD(%&6VMb`^z0$X}xOJ?l)vUoT#!luutupog7 ze+fUZO8<1YXgJISd8}JsHK(bSJ$#s5#Ab-1zQ&22X+R^0vN>PTY&4AE*oC7Xqw!Mg zU32gA`7}<1kSsBU1#%j64I{Ck6fgwshUfFmPFS&xVuW=|R;dqAgC))zhu`Dwh!*as! zhC0))X)Sv1&(sVM#7bF9t0%eB}T!7V4hw`~5}biY{Jm?Q}-6>HA< zKgPG5Z`-WO4NhFn){fC8|6F@aPd1*o{{&FS4=`~4{|%u3Jj$?=>yrWcF_dP~VPHe_ zN38KJ?MsD6JOt2=gfw!4UbOBo>o^I%xt_YphyPo}bbs{N#l|_F6@xvF-I-GsOU|SW z2rkn#-s-hEe!itdIQisTx_mmbvWjCkTE!D9G}Sd;v;cvP!{%Cj(@9CFfwoFS;W_g= z^)B7Cdy)SrS!IV1p9aRqO0Of6bNWSD&3fjr@KtCX7Cgld&p1Kd$TX2c`+;`_cW0>;Yi})aN5Id7R{QoIjK1(^#IrT0T(qFwZLRj}nkJi0hVuB=zfP z`*ib&@=ZYTZ6)J_a48xuFeiLimna;C@l#Fydu?)CGXsnNC($cP`Nu$w9p*>o0u(P8lsx{SYqEV4utjf0 z5UvH#iygVvk|~U~`9R!WUWfMEtI&wU$?6#jnV&}fK-3#~^t__tRSVjzZeFB4>TVt_bBsE_1uk zKJl6o^5=>;^uzFxycR`BG4hb#7N4h%*mF{r4_voF`)w^zPE&PmJw(2pWJ^#$0kKa! z48$;*h{`%nC^XN~D&+Y-0k%ga&1eHdWK?7p{%A$KWrvon^F|(j4yMQ^n`k_DvNb3{ zEr>#&m_hux^n@Qmv27Ux`CUP72N;Er5kd2mEz~!#5(*^d+whWb{=Mt0+F#)GbglY` zAA`Vz%)A$JuK_Ao-GyjBS9|u{#7+&nUW5zea{jV4OFcjiqdE8z`|UN6+SD^rqkQsF z1OGN2M2eiX0P^U4G1MZ~Zv34ArvlTL9&l%wV5F5_kTO8p zTR#9Y$xLlf)(sm`Qqzi?Y&opm-hMb1Ji<;O>4o;JPM@6`+&|KJW$D~39OtNFp$@hy zb#+8Re1`duLO{n8m~3VNTJhgOIb@A7(;+GU(8?$-3Tqm~%#V*)y6&2TVeJ{>*FZf> zG}<;63VsfY9@Q+qQ{6eP6*j#P4hcT9E&AV@;E~PN!`h~?gYqE(pki<>KRW2^&`R1N z6o^TO7Zyf)Lpm6ia>%NVljo6o6O4eSM^zKrKqnxtHqhix`X%N)XN;%4n$AZ&iLTbJ zjFy^e4x(z^n^p{Be6A_Tl#i1V)L9&4;5x1wqJ{Tj>y(BkG_v8!UPHgpYKI>|JuYrM z_v1e6gS7d$T%!P!^8VM%kJ#1}6*1bS zQzw#Ywx**NDCv$cZit!5p8G}ywBbZv8D1?yeVZ}%T%8q+bhCQ6GDJSI1B z!WZhsB*)NW?EpATxBohMo5&ayB?bX^lsX@huKso0PpWQ*}>-&RV7;6@GdLQ=Jdq;s-@MlJn}KlBRGxy}_a65M3eg}sG7##!X3G4xhdwsxQhcE7HI|cT1ehC zS53Df{l%dfrtGc{^-{f{<}NQunJ;wn-P^Dxu|?hnTr6HD7!PRyQ+0LtR!fTDjm}gi zTz%uDJ&^RhsoZ(FL#N5D1;}>xFC}q+#JQmBPdTjcW1Ri(y%+u=@br(tbCI&N!_VNE zJEBK_IAr9B{a}H|k@~m!{DW*s!T{1}n<+Di5G@HYaW7D=X7u^@me!Bs>)@1BdIHGB z)p|{f%cOa-htEGR%%NyinbBTo<2~ARKaMBiN(;$!8e`3XoZyk)~RhqI8x2E zM}^Q1pbj4kQ;OEjDnrBrM3nQeHwD~ zD+3kKCfMOEY9>ZOMbwflj)wP0F^M%3l<*hE{vFn;Y9usol$^qr)1qEsM<=3ps{=By02+QCfAs3txzQZ zMMr6<-?*3-akNmOrf+ykSYus~LrXhNC&Onfdk%FKWS_YwV!6tZ_jV7iwfMBQTH>5TV}=ozfG#rSpxb=dDf;MZ-3+31zSAd1oYx^JfG z`I-@lrSVFXcJXI?h5T?jGhU)sIL_(>&lUeQBhgw)t&vG6mIW-N+s^nGW+uiqs+DM|JDJ`%chO!3#$D9I=D*=+DRK zf_g}qH6QiefEHpUyyV`rL5UdMT{kcsz0*TAYzi0nVjwl(d#67^bfC!eLx*I@*G;1oO47mT{;LtC092ym0q5N zx$cGx>|P8rEe>uTh;?p!aPY!=+j;kYz)iWK<2v2ekmUv|pIof1?W!$1+QfhtT5nbM zfitinyeiiAy1trkWb#;>{`F-o8at&sJxf6Q?mje|pm^KhJrXyi%ad*AtDU354SEVc~+t_x91ISDw9SanXaAB_Mv5{j26HQ4CT5`yjWHyCT` zyv(!Cr&nvN%jy>5`%veseu34)-f7uZg|x+o64M(&&et{dXTZ5=!-x4r&SaF!2$R?M z7k2yeeoQcLuIzmZFlTP|9}4uxhB?-tZP5qZBG9=ETDUEOuEGX&nSkMn9o~P=Yqfqo znYKT9&FiNx`}g8r|3I<-n>eE-FZt&umGdzDhvctN_YU5d$MVc&WBRM=6(-i872ux6Ety%L@% zM;??sux6^Xhn95Z7|;@k)kfrXa1J!lJg3LLC3l2!)dENvHQY7BKd*}^mMWWD{5cA2 z18QK-3|*!rNc06d$ABZGP40ha4|!Mfed_i}V%cMqf{xHJIbtV8z>+X2B*E@tSm&RN z%JDc`m*md$Gs|gaXiJYh=P}Qz8Tpk9#%?|p;Uq>+qJn;D%05foCd5g9>SWvbR+uRI z5*jAeGi3_?{mvC5TA)iu>=OAU=DuuGFFGDq2?V3l=-~1_msu1~ zJ<8t!?)Xwwn#UDkStHWpUNj&vOaD+OCVQsZI%@kgJA7Y&t{m|UL9EBDL5$}FUSYum zYwAejTSeyC4G=0esC}Siz6qN60 zF>3uQW(9-cH!EfQW1YleA?!}R7?qN7Dflqx-F&cYsrO6x5YPj?nDEc4wBZ3}^k~p= ze+9(!5DYc8b7fZe$GDmrlof-(zay0b-f9al1$_ZGR183(%G= zVo?WYb>NPGXknA zc-b(jnksq3x3seSnrn1hrPz2jQnJW9paQo>5oeZIw;j{45=)Qqn#i}|t4^ft1IcZMdG=Am180Dd)G%hl?yShsOp1jQ#?8r9oKy`iY+9kq!P?M}{}@r!<-x za*$LrtvG&IHgVHymoMWU{nr6kY1dbP>AILN4c2x>e~d%8)40=e2CtgNvsjKhUN6eA zU}Ub?Bzo#L)?W1sVlT*=bI$v8fxhdEOe@%9uZ2Wwgjf2#k9mZk9TIE*1>sP68R1-i zK9HRsWlqZf#Rp<*sb}zCVgrd{0(?u$2c zb?wJG;=}Dl;6p;ZT`&Ih7l^~S==7+G!sCKh1(c$7PE@Ej%Hyl(T0SSmqfjOkJXON) z(9lu(;i71c{Lx(DGj~tg&NsfO4EYhzq^6@RgRy)AWUZC22Us3^qgog$Dl1Bbs4g99 zms;!m#Fk0DFRwHge1%CayDB+lIEHGIs4w{%xATqRV_i3rv0fxJ{gHcZp+s;rKUhik z0nt#myx!tE9RW7^ZT^&^tPOFSA1A1=?F9Gt#1t_o&q(O$Ms!Z^1W($tA6GtkT)n`35?Yg%rr@{enlDejR^@J{ zHn8e}NUl+@;M(9?KhB!=FX!YL(5^UhSd~p5931Gv-$Fz5vdwt(omO-StL|}Mhsp@- zT(-bB51STTtOeJ93vZ`L=~PO0NbVX}R~_3j`Z{*nO!bc@^3dFm=d9bVuV0-Nz7PSd0hgr+HBn;y_i#{L!HCq5-6@qXfW;iuR5_sm6mBReNEdm|b> zOG_FXdzv3L&i{(#EJaBh%%3DZ+@n8`mw}IK9>Zr^j!TtPE`5d0Ea?$j`I!{+8EkS_RM4fJ;O05 zWAMAfrRT%nbSHyXSIvxfOj#s<89&n^NP&RugF5?5VD>2wulWGcFPz$$CAAhQQyk)p zU_OVf6@@bj{pFKTyWDo!GU(>BRRJtztya1-*q95+d2AGCzKnwaW!h~{{ z-aKrJHLd(X`32sxD+@u3yxQyP3=mWrjYVh4Xa<#PAcu{`t9c{D> z>_taTrDnYw?WU=DvX)Iyk@($;V{&_{V{}*A=(Awer+WbF>m6^HIG_y7@{Hq?%||mK z1u*R1iFfQKta79T%oInhA#b-*AGEm9w_=Nq^~5rWslwmK4K&q0OT3KkWkjUq zH_9_odT730V2kBDG&lOdQ<0O?&x2>Km$AmWyzhAz6#jLzs{}EKTQH!JjXw7KS zn@P#TfeuWnL#B?#KA&)1!oh@oJhc;GBl+L?nitCn1CCpRMrPNv3|}shryUxnYTuFb z*(w%qtBUN6La%iikBk?Poi&>l#@oIWqCZ4j9NcI1sf9qXv?{ya3-0Gs)h{CE- zp)!xz7N!(vaba{aIT{OZEyV!PN@hO`WWa89b;_OUW&&059@$F)$(48>FspnHIy@0D zBA1Q5_1*7#nxbFdm;-S;rtej;isgF_`ct8hD?td10%6rXjL(EN7f}Kj!E@VforA63 zuMT?aFJ5RTkFSzZ(TzKB@jty~@8Ib$s17!t*KXHP&U~DpaaFyQfU|VSAcSa))W7*0<)fWa4W&(W;gY*$JqH})C8?531_iy8QanYaPPXZ z5+==UG&(?zdyQQvioIE?wZOIH$$R0V>oH$4xHEy^1+{;zC3;C@?xULSq`l^N=oY)q z-jQTERIo~XIwvo-hpbz4nOBM4RM;cBn(udW(oKtfHwnJIH?ZKSqEzS6jM4Y!<&tW| zYHBJYBQtG)^Cq|m=9i-SXk|Y4&{EOy26T7@aH$rM+K)o?OrQMq;V2vAZFMb-l9k%T zv4b9cX6#$iDt4Ha8G@&<@RwKjPHK1={O=1KQ7I*dT*A@Wm zcNa%=H5Nazhl4Jo(_(#Si9@Z4_4eb;nYe`2jvWZ+T;&-&%6b90C)6Q>w{oXyV28=j z*Xm36wH}8$7cgc{T>?b zFb_wkK}v}KhqHJ7vb;;agwwW-O53(=J1cG5Mx`?=jY`|9v~AnAjmo)C_qS)JpEYZB zzwZy9Kj7XIXGfff9ebM__tu2-$B8_&bg+=T1!5o8@G`q`oBj5HhlDcnP4YIR?qs?x)r~%j<1?mPf*?aAB$SqxbY_ zS1(llq?q}19_di^<8P`E_V{`-Q2-nZ|F4$*|Ak|KDE+t88LBL&&?kt-3$SUP3swVR zJ%bNP!$KSqMcGF*v?MgG+pKDj5|016svxs0lIyta;$XS92AFl6?>>X?-bfSbn4UUP z82`FF&WP32N+Q7%YnFyD8-tH2cKD_W`98?%DeYaaZ3c&-)XhLZE2R*RK3r2YEVZ^< z2#*n<<(L>>t}y3O(iyw}jdEy`lFksmp^4L@c_RM+W&iQ}r%X|@yaG(hi;{;V&qtfe+U-!$Y#}cNbv{m8^y3lv7+oT{kX42hf>#$%|y;-Yz{i{ zhT$8egM%ztDl8JsiXAM3Kg%7qmh2KA6_#7=Y~v&m?`f9_IPJqet$8a^exw!}2E|Q# zFi%6Rz&WpDhf&!FQWVv^JURto4%Wwc*u(T<*SK`|?$XmZGuv;jdoY-3$7AmIW%Pe@*wk(9_u1k8;C;dPt~H6F z8oRf^%Q&AlSN9-@{1!2ABm7~gX2U&eCBxs@_}KRGoS=+1uGO${DTAa$O2|(trlQ(3 zm$F(6@$^xETI9t*UO&+>!*Lddwl_&ofvZ zW9eYV#E9mgSig;M__^|k3CTud0>2Nzr#Uj4Y_-P27F*GvL5wkz!PYrs%%{J;z~%&g zkBfkUbM%d9vl)?9mFxns3~s9f0o4k|CRB5SZY-!qE?c z+Eg}yt_i}f8GCGExI3D2+(+%pU3{ObIHw=k4HP%0<_vd!U9C=G9m=BS1!~OZ=pnRE z5-~V;Xv7wbr_00&{x>^-l*X}eSaTk#XU7fBh#Y>caY6u|s*-%8aZh9x1sw6#R zJxWeRmz^Ykp)zasEioMI0bU)z1@78)t#AF-<$F7p%KfUQbtXeFW?LFehdJl|2+Cf* z$JG_qH%jaBZJ2!sa)A2h`&3`7%{JsXzG8)wn|I7qH8Y*nxU^CvV7D~5sHq9NNynK|4~GrT`|>jlGOZo7l7j$|In1ID( z=1KHoggj=4eC!-pP8#H4>*mgdGN1gTqI5DuN{Apqs#>S7*!8+5Em=OE&iEproXC%)^%OqL=ux%j|t!>oZJUoXk#Z zqUpV-Qquj(-uS*hwl8E7mK|bA*LGabwLmIzVB_0Y_;h!Id%b1elhf(@M}UYHR@w#B zua0JF?{Amyd{{B!x(s-}`4fc3AH3|p8$_P$e$3zLmrJzP35Oi3sWt(jY!!ubUn4>6 zO2KgtWLE%X*k);864kFc1?eL+_kZ@V)i~f;-R<{xfw|B`)}{J1G0bsdQ^Td}17*qx z0H}0h4rBWJ5{c+A0{w;GmCxfz?F87U{dO6B?w`(oZ$Gfi2yafcc|L+r^TbOdfIfV0 z7cfaXC3g$|0}_LuEfLE=3=5kahCB(Tgj9WJ1_q8v7r0%+GKH~&d1+M8%BQuIWJIuX^I?eLnbdY{s09erAeU~N6V>*VqNCO|9bw7WF?P|wsPiVGTO{# z@j7ZWB}f%)P8;flCq00z!w6LfvKvgBXkrovU$LPt4+#+#HLx2^i2^ngTqH)JHX$~E zw=^ITiIj7rkwumm`lmZ-Oq3#S6_X)P|-G9u*U@Au#__oLS`_xDUU<|irR!YRoJ zoaAI+A&L_1KcAgB@Klu<)*r zM4&g>i%_19bFlqRd*#4cuIZ$gX?9ONUNVjEhmaxY(EE%Bfb8=foJQ{xf*kJ?D2-r_ zdGc$eI@ty0oWgdS!ItU8jVQo4hRc3!_?W#D){ii&{Z8WI3HB{nHE74uc5&A3!K&_l z5Knbk{>tTP`5-i|*4UsbPJ5r}A;GpDF+}^M30!|(V-WtLCgDH$yoYe+ORB0b8)AY? z?T6UEOWF^2&+??&?SJ8;COmUo-$b^lC>K@QIFf&z9^JzUUg0x9LLh3zX>!!mAi0J7 zTM?{hi%|n8f{`Hq8=X#PV+&K;@BbKj`z9;dXEGuU|Jqk@v|pvp=$famXsljSRm)tm zWl&?oa|Ww1Bv~gFvh8}G;uOq?=OdbU_4D7(zTDrti1uY3!3POPs|!NMp=koi2G&?R zv=C(Ylkc#T0rOoBB4q3YCdS%uFbapxp&lEJEsus42S)=OGc8C}KItxTf|~O;Gs}>l z7BA*Te#|P@hLy^jWxA6@)UZQvx++wwKB!ZI2zi}k?@?RvG6;`>tU12zELT}dvw5g` zy6#f3T8JzzOmVqhe0|RQ6qSC{1vFtgc&amGvoLW3d55Qv%#jb7RR4L16qOg1TMVwg zI(R*)R2nUft=plOClXhR4{Z7@nQZ4JugH0EYP6E=jEO3Ft~Qp(chvMD!|c2?`c=_e z6l42rlQ~UH{`Xa>-Z&c_FVXh<3?%x1&C#OJhw7Jt7U0vX&-m+c}1fBhU`hO8Av< zr|C-;p8%w{lk{M?N^X9}D@{Z`Wpbd~Yb29X^jLObn`@?cO-gdL< zvB-fq5Y(*PAB~gZf+;cwjB}nl+R7Ij=B&|s?HEgRx8wIIlOL?&I0c8&2}e|_ejF{- zOHhBMa>4Cl5gt#*UZ?o^z)TIlaQa8YIPCAVui6Yv*3&C-y;Bf`Z1sl&bmstT6S3oO z){EZJM*ADKRU!7G!RwqpR+uTjI2Lo3p*^w?KE1bNZXA|^pCeJf!Xm<<+wL$QwmouT zVK#(O3KO9)7W7+@G`X}F?7dJ@u)f8|x z28N2vUnCd)&nm7eeY=uL8W^#UV7%xD_ zbcir>fl+kdG3d!iz=oM0Zq!c-&VbM+IFO>z?j8bTc5;zt&-%jyMy8$NPZMC{Pi@Yy6G7JK34GN+Q9gfG9fNd?rywr) zcz(&~!RM~u*kz#F#^8yi=>>wg^+Lrb_s8f|B*lRYov9|;8he5MTFU(6ijFdUX#0li zo<}+Zo&D3f|1u-3Ft&cw-zYxy*`W1*(O#qhW%hqgiq57ke{~$`>|AYZ{x|t$5a9i@ z4mfZLgWk-*9;vIR6gN6XL&_O~HG;4_L6c1RjgfrfQJJ8|Fa9~ZO;VYs($jA4^7_-;tyP1QE0seH1| zUNLe&mw9(8MSedw-jvRdl4&DbF?zXlzp{t-uDLAP+oLffU%JX^l!RG9a@ll<6HS&WCcfX)(&n zah>w~Yd`tIbn1WG&uCEMFCt0VD(53Am8(L2$b%VtuMy`4USGl<_W(|hFIP$lK$J)8 z7PR&b20y-!0%QIbyoRu|%+ckI;m?@X8kg*|8^|Q8HIS`DFsZ_p*-Me_U6zeZzAB^x z^Wixu?U5b!B9(n%8_#n&1NmcmKa?}9622ah(Byp~6HIg;s(N1z4=5i&NP~xfZh4P9r_mxVpiO)cs1H@VB6h8lUI-JsEbcd zrt6w3%x6JUg&zu$4)Cgd72*Z3oE+*{IY+wkJCuVI>E(YLs`T&NAMXOg8^OLOs`9NzzliA;muc{ngzABDBXlUm?@1iBQ2e!B!)ZY2_#98w0R`j2-?ve?c_ z4kaI-xPv5Emk!X zZMsqa0)whX)$05uv>kw2wlHVLuEPADyoKGmp;Yoh9?9^>k6Lyzstwx_#o*@dt=3E?Z9ScxWsWF-oKlc(KRjWE_jm&aaZEvC#I6lPVvv-^g+X=Gl6pHQz^kyG|mT%X}IyWoCU7GI_=xbx*G&VB|}m|WcrUzYn_efChx zu81aenBO}Om_V|GSg$iNnbr(C5dOB2`gIWCMOCLC~*XZl}DMxt_D^b$>av)n(J(PpUQLfTm% zKM}f02}z^PoLqqn-XOj)4$^Ukgx}6BA`zx* zE;S4e2G3X19wiQy0D)uIrOZ1c8G)b6bM2vn%4B}(H&S+r;`*4wf6z@Jf=90ox$C4g zl@1Ztpv*HU=$)BbE(vD94f$zZZS_FL7l{SY2wa4(xryY9UOxphg@WBaj9=pZO@}^J zBR2QlZ!f0UgGejy@v5%pt&nY_H%E*Ya*+)@gDYz2PVvAnn>ZPb)|s*~Wn?i6Uw##l z)b2valpNo_>;`^73{C+l_10*r9xi8m)!T4w)8H2}5ZaeivGZx~t_`q*8nT2W_R+1u zlW4udm(A#`pAo?zLNAA#!JO5?8r)6OOH`3@L-g*I(b0qHwdGnIT1Oy*A3=+ADfM}{ zh%rtt_(omC8G}TN3a(Xkir;|lQx>x|{!vXHCw-_v!3|!%3kD5hvbJr4ssmeyS2l`v zpdy&#iyri~{4Cd+zCu+9N!qyJW8YVYHqY`J@AzAng6}|zc%%GWThZErR*_8R?46p) z0y&GM*{tyVUfv}A!-3o#yI#9^SDKqFIewC$Uv|BP3sANGRQ?HmwErpHX6)BvayG1o z)XeI+eg1|n3x?oB96`b^mL0_!R%RMB_=e^a{YOrF!d7D<_OzRbg3$qQ^1@+Ia$ag>gm`&;EA ziPehHanIhhxE8HZ3q|;#G~MWj@6*B zk2B|ZQ9suQBYdN>$~pv$F4ZJH*Oe!*owL{}E-q$c>7QQ2ISAj~7Z&5Q_9TkvsrJET>!CjarTDezMH73zjGit$)KjiY z#srtI8)3EP+@h{HStRw4#FNQtsK5?O5V+2gNRHN!rA)kGJ|Z%+Lh9L@gV!&Bof(QF zdp08*Z;7rgDxOU`0;VT;u6WP-Zc!}ogPox@zU6DOgyjm75zPAw(0oR$QAet*~x)R zC{=D~ojk=J2@jN%?2Y9=K%v~_s?V5!2@^}q!IpNXpz;i*WCK*yO6A4Zvzi+vAgVYKbBT3~9HywdMA5`yL3HQp#u= zQwNJE5-hw=R&ykG}^Zk}zRA?Z;!Mhx)+LXdA3eqU9i8$uqd~@SNS? z#14j>(%4He`+-A?j%;6oY6U|x0jiCWyyTLdvSzGRj=S)Hw@@rZ-|cgsQgKCC zrO`cr&Otm4)sggD}~Z zNC=raCB3mq(aMSg(X=FfuBT>ed)puCn(M1>TK^j}=HK6&g)psC8-Vf>0~!d3=0BI1 zmbMNymS&#+fbJr-e^RRf&TtB97YT!fmR`B29Fwvo`=i9^+I+6eA`!X~rGWi(!SU#` zudP8yvJvCwnH*B2cKhwFPeD&V{SUi@IFu|1`gG^g9#<$k9HfVnu-R9dSw!*eqUmhK zsi4aT`9Q^hDu=Zd^p8qy!#S(#9XOQ~>v_<7aRhjC_&0wX&5+wK(WqL~YEZMP73yYW zhqv{>;3%YKVkC9H>bcYvwXB4%doLabo5c*(tKvsIrA1V3m{>y zzZ-Noc$Esqd_qi`-U@$nAKvf3a3|^de$;?kb&p8@?Y>ew zbk_$pxmw;H@q__OpIivB{sZPCjCrnN{1U+%-Uyh|Et5GCB@{}!EADcBvZ}_m2;s?3E};U6RTP}s=9o#>AW4xd z7a!d@zef6(!^~Z>KsOsGy3FM)47kfE`Lrh^L;gw}ud}_Q6x&-`bmG(k;syAl#Dy4j zG{y~$VX8Y3C%*9R{8#NNb=CJK$gJMJ1+QX>N9ByX?xURiJ|A|4I*T;dz&;iwYXeyU z0+Visg&Isc_Qdq0yqD|so6;*O&F+nsrB$nS#(Nd;x}Mz^+pdsqOUA^s#=9dqDF^GX zvOm#=mc^mMjs9WaqL;0kHmZ0}9P)^8R)Xtl^O_JQaXQIMr5K^Ag%Z}w0bnsWi z=MAD~NypeMJrMJVH!VJ%SZ4i^N9lPL8EjSlxe;X$qI^33iDnQ^5V-wKz^uiKw zr{TJ#bT03V*tdhTl!u6#9*piXxEZc>N56;%PUKR<`+J%K*KHieXyd_5l8P0(-@6&d#9jA60+2!LXV`L5 z$w&ozxW#XdSb_=NQ{S%Cba^Xv0pt zBtQN{PS=ArgfA3O)dv~wIuTC4c=*Qg zbyCKTX&lD$@xOKl47_iKz+AAIqmP1#Hc&^XrXY#yTmE-GqXk&^O17?EJ5&WfB z$*t`p^bR(RO>IOP*p@4n=tR_&zFe zQx_d@aZRuMttB}U5B5hHaPr=OE6?@+^W^_gCAcaJ+4TX4@5?nSI;3cVor%r)L9nS9 zWsMpRiO?;s7b9+z$a~jKsFX@#aqT(T+38J`G`4uH#US{{0HHSovmv^>qFMB4)LIJa zXnHD~n0r{GH1Ltyw?R>8IjRbd@~#-JWsjZ^f1C#0x2v^g`3)V&^?>++2tGl!m!@TFa6i zdu8A!bd`u(e}3{+IOpD-+*3EN+N7OGxL6;dC5-?<0?@C?oJLhTlSrm;^nw1o~ z_7r2guUO5`*bFZ=^9a?n2f3faChj)tKIQ1I^VIjI?K({E7FQ$ETZ4W7`Yb>|R%wjQ zL3#SyKsDb(krEMbJ+A-@;{RC-#2HY&xzM@WJDL2`YNJzK&VCJG8NYA96fPcLyF`u{bEs;S5=vtd_}ePPw+rngsVy#a%{^UR&o8 z!8v-GM|XZkhRz+qf&C(RSV%ifmw6??p$VETF(*l*H8pHWgdZ*wL8&Gsf;BUo4oGJL zjpIC2?*EaA9SBK#5C)B8apD)#+2ShUz{QYS>L5=p1|H*|q7E~*)ob1i1P)M)y{$@JnPQn_DN&G{yjcT7ja{NcS6j+I{J^}_PaVVe&+owrrPYIn(N)7 z{vAWnjTaxkY~o%&Fp`s+v0h3o*e^p31AP;uB}0++HNQk-EZ9?*xkv|YU=~ib*(h6i zF0t~0p{z%W#E*yIjL>hCI~}Jx_jZiVr`c3Q-%&GEWB_90!H0-4+6$$ZfQ;9>%W#M>@h&VCgju6gxK8TgxB?^Ob zAH=(jx!U;4WF>O`<4u79AGzeWY?Yrlu_E4NL5JIaFgEPuVda}js`5=CK2YuRAoJTQ{+(*J;_@-0(Ed`=TX-Y~ERTt+p;TJMBn$k*YAl>d9Kls=n zk2t-zit5bx7J4|8p9%ak=ddc>aasptoSTA`he_|opX30;_3XM(I%_A)caF6Sk_QLCh!!-qoQ-?yZyo8%+?k8f%6VqPBX?zo zB0zi1K2s2h-`jsMOBw}PM~)CuR#K;_RaLE=nUo89Iz}M%5mqKo(uTr z_OwdI-Lsn!A8-cmU?pV78VBWAr5$dw{ z*s`nHOo&3ppLizcdh5pe>UIrx$d{~JrS8Z0FqmqpjBB&@-s5~6I%(ZP(i5}-Y>d=~ zx#)F1%C4{s8wR6CR6;P;YvHMH$|Dr5Hp3pKPUX&_3-BU)b@9leN1)B&2O2EuCWjC-`1%(<1V zFwZhWTf6*)o}z95>Kkh-e0`?QC67X#>gS3+>~{zTmmb!3v#67?KxHZJn4x?TKd2(1 zGYiBR{D_bdrUMA+v1AzKe(5X*+X%c`dRmwaO%o4FCir_4Z-K)`i5b%P@1UQkFO1ZS zK(Y!~O+)eF^yW=LR0mS+LwuIb7ExCdU?+Kd(8bup0|7(u3BHEDs{)bFq(9fo1*@~3 zDpgt@8Y#g(DRa@l%e}b+ln6|-(u(DmCkJ`2GlqV=ksgP_*94WNbv>@t_j(ohZ)x{( zj*jdqkdX~k=C4WB*aqADDv;kM@OC2IEhFUBD0r-tbS!nCF@ZNruWvx_|I7tgTWsK9 zZB4zBF~**w-#m-;S(N-SPGa?THyLQC_ z7A{MiZecSg+SBcR7jz-seBJ79=H&*(BOdh}62#5cEHfD99E(7ChNisWrYq^&`1t;L=om9aa!` zs5HgcSFKdw&ZlX1kO{IpTESJ{f)u>wM{x!sKaYuF8iV}ScPP1Iw;Kfgm0STPbMxsM zu(i=o>ROd2A0Fh>|&<S zQwE1iex!{)vcC^MuyQj}Q2~E?E8zPtim!kC@s?(mrvF43wFD+Wo>Y%L~ z3HMkTRSdLKjc*d3Db+aP#n#&)S#BHz$WtY?kyof9@NQCk@{T>%x~Yo@Kuj&2i1_zu zj*UspU!$n)0uzGbynV&=wHciSCl%uBS9evDzFt{jaVO(4y{&4E)k+VX#*4NxVc2(gg1oBurD1tps^7GKHp14p4<2A z+JD55YZ1EkjI7Z}fW-t;g$ax38UGWm+X{hfv=>6!{~ADC!C?IYLZ*K_2EJ2d}XB zkpsjTY5T5<){}_UALLSBO?545tz)PQPowRZ+#JiNU_R-+vqv@4Z&?Tf(uL+c{&LF0 zn;;6U`mJskeYlvsuUK>cI|0t5QCs7aIZq%$Q03G-QAe8gf~{5#9u%%s{1E( zutMoYu5=TqOp!V8;&6o9;`Kbd3#=U6DG*iXuY!E_5fmz{%Yr;izKFkKQIdv1*(UcwMnm}i_SiD)>UsYHRD#riprrVZ z6(Qid+x{aEL*sj``WcZ#uiw$Vp`hTJuI2KNK%JaKyqY4GV+B*98_~k!{c8>unqZ6h zrYzF2`8FS?SnjGQI{bCnR8AH{306Fo^G0B8(>v6}ZGeB!1}AbqOL6Ll9-|vT!?Q&T zE&miz@4<4vYvU33b{EG?cb}TBOko@32t{OkiFV zZuDXPd$N*k(1#Jh1_Juf|8J6&i?gx4otdTi|FH|)_9i zJS}dIC9Ik!ebT%=nsVVr7ZpY^{-FvzSMS#T^_c?+6htaXo+)YXjmE-K-;IO4w znXif=ZQ@k+AT2KKGgIQpE^}n>k`w9g|0?!*#A;BTsEV#p!92sCO$uZ2VMGkbh&Y;t>b?BH(9gZNW zbF`XS_xWSOybaUySV1LeXUx=bwsqw?^Z#mfRe_b_t zN=&*><0=ftlwg8p`ZcP7HPfk`+FLCNY+9bjW?biRKRuj(Ga%Ca-eh1Zi4XtMO;$6*jWAG%&( zW?;Y6FikMIU)q6ODM}le0iE;V<(|!?g}GnufMb4bk$G{9zaH+{=aQ8FBIfq$y|9V_ zZ@Kx_xPTe>X^}lnQLsFUcVY_M16bzx$_)D+z{?7&8fukyE#a*~A&lrFC z>2ODjikP{fORH$-z^{`YYr-ctaJ;3qX-Kr2d8LI}(<`y6@rjuZ-=ztUIio;qeYRKq zxTUs-%Kkpg+C&!7B;@U$9Az%IAc%NLgmP>;G-kHFx#=!I)P;`%C zh637dZ=)6&6G@de|F0iE?|@dgM=3gpoSW({R)v@mOD@o)HEO(TTj*{(HDj1$fpZow zRbb2PS=&U&x{}W~mAdsSJGfGciH=vVS$*DBB(*hANw`gx!!`YRt?!D{WZ4ot3bTfC zQ^`SfdB1n(axbCEa=xMka0};_VHmA1b`^6Qk*^8pKwB`VrQCBGw!gQeYU!FceXXW`y*tC~t{Gm?+Xa{8l;FX1 zWiYhbbJvkqae>1ssm|T(b0o~E+^xi|K*L&Q$EQTyB>zp|kBw-tf?JeIi5f=9(M2GS z1Dz}BJg5uQUc7|E+Q8dZ|65m}D`&I6ZS527vuyH(V9VlI`Gnp=#SwG)YZ|7KAO^!R zwg;{`%#<-H*Y2J41s^_NV41-Oq}hAYdKvZ-ZY4WE?azoFm=UNnV%CtQSJ|J8X(kor zXe=-CaY*k1Mr=uH+I>%{EX+fUeJ6pbgcy++T)mj*q;i9*&`Wqsf+$$IwbSG|u{rr( z-!4NUfDgB=!4FTkrxhP9nW_?5#nC~ck#fgpn?VlJLCT`m3X{c(@N6_)s)fQq9xQW8 zq|FFCP{DvfZq@`#s_vp|2MUzKG5C_o+;WYjqmb8wdxmMy$r@rtDo{MJc#;FH8R=nf z20@LL+>m>EVd~5~MwWpzgRoARBLjwkyrm4_kgxb>g!=4Nb;W)(3sj`2AVDEP^t;f_ z=?;0=2&yBa;uX4(6yw@ELn>Ks%;2^=-?9b!!U_gAW|@<|X{+J@{2h%R16D||<~{Qw z)7`BK;0br}r+=nrM$ZWds-%D-)2RK-L=Ex+uI?lA=J-H;FAnI>==|5t*A^v zjExiGqdqNRC`4;M8qHoND=7ON{!qJ2Hb7dXfwZ4)#3TjJu>Hg&q!hFSzeP%oQx(Ys1ndOjc<9k; zdtA$=Mr7lDLp6e|(szch?Pp*7iasRYt?YU0S>K7z`%jmsR zI9+amy&!NzYH>>QHTv6A>&WkG7@v3DjrHU5!7dt=_>HuUGs$@0B8F3w^*Avw{=tO^ zYKtDqY5rAIi8GuB0!??59g_j97w@Qp9Feo44NgWn?20C=#o|;1zF-_I2G(YvF&k#1BG!||SEGN(QzbybGW*J|Lk;kq$&07J((IJ#TgE;#JM^&W^@Kt6>R3 zvjy7s)I5xs%E>1^mPC6Yy*&ap!9)iwwE_w$ea%K`Nzx3r3QZ@z$rp&XO4>h;*Xf>U zuG(Hk5aKJtvOPC29TY=ws+>#&#M9I5mK0t%cmmE{j-i_&3#)~d`iaa7VDfq(9j}{k zhlmdujtJQooe2gnX?eVY^R9~%YV#;)YZRmqSwp3uszvb7tmoI#Qgpi1co{LkB#lA@ z&F{;HvgIJ1S>tBqTR!RvMCbK+e0k)Pj}ME^Jj?b|C8BR}5n{IGqxz;+27En?4se4a zFm~}7J6#sm!h+mu{{YdvGnL+e|lQn)2;UACLYm5s8 zLM?}KpM;4Whk2dxs^?Sp#Lyf8y9O1NH(jhR>oa_|0_?>W0-LRzoS=Qr1}*J1)~xM; z>C_4;>S(C{g?2Jp>~J$a_}d|Xh_`1ao+3S|$4%@`^k&X2*V3jIjOtCP485L}y<#GO z+0+vbPt({4PoeVea|$Y#NQNsvR8ZWM2T54!i3S8eWz;E&{7YFKHGd)ixB75{tSX-u z{4bCn12>es zxTy;7cVg4lRjb&#-snC0fZD~mhH6f>Ul&O9XgdquREjGxZf39Q^Lc_8=$>PF?mW)g zgoM+(Ve`z6QDVG&!^iAVjGg0L6q!OSgB&n?6%!FJZjaeLyg&Kem>$i^QlG_<4lZoR zS5JCvCa)t0d5gB7M`hC{i=VdjAUsaQUkm54kIRC}dp`;O@#gvOkj z#-k&-plWm%M_O>E@k5ICWyS=G*3TuJelof@WaIU;9kl`IDSCj9({&TB%+l>(fKm=F zL}+8T&}1VYj7wPE}MP3UVr=pvE` z$=hCtw(+ubegtDRLudUqFEu!8@V=Az(HS>@1J%c3f-(_944hJsL^(ST$+6m{8B!iH z0{N{{_ki`)RP=)Dw39T>tm>PeH+0o=;HOO!@B{4}9RgW0Wv+DA>}Tm&?UQ0!lU0f_ zZ-PU7K1|3Y?PZUzb+!?7oB4dTKKuDdp9_rr8}W{(q}2%z;(3B zUcW2qQZ1qup#5G5%VGDx{L1SAPGXU}>EUUm*Mo&5HqEFzqO4ZLw{z4w;UaHAWT1f< zln((ZEO>Tw_pI;ihU@3wqu;ZExi27}MHijQAquQGAzs(OmRQ}b4JRqGg63IGA7kv? zSPnp+s{z(mBCmtl%n%$8QdnQmA-$*?N13%EQg{?bEq7~F4R+8^ql7(6c;zEb*{c5W_yDjBmLxz4EwDrd@Bct^LBiLCoMf-}p$p?EY91 zJew0Z(39)!fRW`=)iZCV>0>jH80~4$rRLogYzGN}f2cshH3ziCDV8awTbH)^`P0hR z*w5CGRxFm91<(Nno5u=xbz~>r=e*jXRZ-uU-1FPS`?Qr;zp9P&`o`qB;rsXG+oEM1 zt_tNTvzL)`h=OC4sF&Pa+9n_*Gv6>8#|(sdsOamcq13=T;F&891y_>rEPw-jK`d%~ zaELe9&wM`IyAurkCKo#N%qW{ULJuhm>eG#&DRYi@!|>*{qU9xEMA)!?nV$|!UJcPC zxsuVe!?AQdqR3{6En3UVa)ZMYJ=hmaAc_%_rY%DifoPYaT#^|W#oB+^dF!dw)+)xR z0N^JO_Gl$W1bH2lANrclXpq z;&z&v45|qN!3hUZTXnUhobmemMD6K=?VJW$1NUqVS%|!ANx+plU@|)Rdz95>M2=dZ zVkV*BVnp#SoV+`{6_m^EVpVr6+(e3MCmCd$I*R>;A`4trjYcaVZa`@sEUKhCZNCqn zru4wK`tHc_5my#P5(L?f#a0}+5#)@*b@vZ&MXwLz)(J}?$jA|daGVuCBJI7d-@+d9 z@B9VRVP790bj?14@@VmbVV@0|nB<(mMm%6bYC-LWz!yY4X(xyhyf{=d_Tu6t0 zl`+AZdb0F-I3^4qaJG9rs|)LccBlln1~CSy2HtzbUHySWY$gO-_r@*kp#dodzgi1N=cd5_HmX{Gc@AqsL{k}n0L(4qN5?0Y_j z=0qdZ(NqjsfnX{V;LbsFPdJ`aZcxt=4=~h{=XkcAw*WWAJvK8iFwQ&j)Nlw$2RT$( z{aawO*WcwW!?S4%($qi}l!$XKRuH^Q^1wS=TU|V;_pHA_vcd$K*--R`w&%@*(}55g z$=$6$DZ<~KPIDD=NUEdYi?0E)VI()es|SjcIWQ`AML=M_}91orDZ*%D6_`%zvxjPYVCMB-qY>?CdG2!85h%1#HNXV{~lBKNKvnJWs%5IFoVC;LuAY_*+pdr;qm-T)Fl zkOH>Mgn&1H5|XoK)yfcIbU9}+&|OF2_7qD3xBdh>T{+3oad&0HbIgxowAEH_^Lc;F z=X-H?ka}>OS`g9L=;|O+J7`W6JshPiW^-?fQq#lm%pkR|c|}5eBFCIXFk=0{{Fj48 zx+~04XZtyDz3g9A3~DB-&q+6suN+rkfFzMnYtYwb#xn@GSIbH0y2`7t=NDZmTc*2S zs_WhFGBaOmxZg)yK-!*1?}!}i&hq7e-Ym{%rh~~3xCcv`nr_&IB0?la^))2lAu_W+ z_h5WltccRUaIra_QiNQ6$tfBs#n!O=TJF-b z_Thp>&L?@5{QJE_b)Kj&yn7@i*mB{6&y7(W%S@#+N3LB}`f!k6=8*D=JY+$wJ~mSt zS4K{N#O8{gp&pf`_6X&bSsv!(-1ampIWzL18?u_q=esR|cEQk1Y7m zIn;a~Huw58YivRGHuA#|tiae>sy)kNi}&R z2wPP=(`1!LDr_@~68H;&1%3x;)^%7Ca%)fHwhQqnel1rghnW9pIQ7Hfz2~Q&dj9PW zB6^G@%`P3ivu)#rS|%h~>GcO1@h4mu$L(XJiiN+z=U*4Z?8AF}ex*w^*8TCS!{Bj5 z?d;R@o{sVDfuV`3&1ZRW@aU#(T9pQU-p@ZLDz_SWX_pc=z&0r}^+dKvCY2H|*PPF= zkZ^xcCeAEUoc)si`)TI$lq?=I>xUNSbkvc##IH_~RS`G`c}w~v71`H9yraQRk<=mxpD z^(5g>fru*XBTfu#6?LZ4U~KFl)yA~HYgDN%DPE%myFoV8cW@uuO0cxnbwn%m*s zGgGmn8gm!>Kl%yb8LJB(?ZcnBUdu1k>vc;p*=eR?bUZcj6}RL~AGK5+m)xA3Rq`Jm ziX3={Q@_jDpQv~OTUoW9bP8s_pZqxWR_uNoh17j0Ch5=NX%$CKJY^J1W8X;CJ9y^m ziHvuxzHWGw@IjboR@rjqx_G4OgkE3riHAnBRwsN&l-u}MN@Gq(n}6K1=4ly*lXHXOuJ?>RDsB-=byFV|T$t;YG2~P8V2-ou zPZoQS*;q?;t*vsOJ}0R4H$bcyc_b6|7!WVj6nR+fOy0j|AmVxDV!&nb*Z? zd0dlyzpnQ|M%6KLr3KFuS;QYsL=j9J$ZSsUex#j>d=dL7!V>jE3c*bnj(nZj<1F1; z(#_%?aXKKBFEXCUo+Daqg7IM|r5}C@%aV}+!E;V(x=%89CT(x=aAhvuCsua~)vY*n zl37V3EtXwjh!3@%S;;i}g=M{52dC$AVtAxX{`1ko(rT?%RK`hB~H3n^{IJfx}ppTT`t>RV44n z39a#f$8@h5N+HODojsqArwAU(9f3cb{-j3 zA&W~7vYh))r}=d<73x+b3waK>yR}QbUGsZdv*ho~3Y{>x_S2R}_^!nqzkg^mRBq;n zi0KJraIpL0Sww=m<&f*lMY;y_gts#9CcVSLd++BO%#5%o;X3i7!ZqzoUwoh+)E@{4 z$4AX(L~~v!>K;4i{9L3-DnH2Q>gi_}JyM^ZCQ4;|xl-48yutC4t>LFyhajxhSkHzWikJm!2i% zgeO#86sP!SPQye(mj@iYV~Q+epf@kx{R!#bP>ZWMtlduA-uXe1CW;ncU;*4Hg;YN= z^Yo$}dQ~dfVGcEtin!)<(o%crC)tg2P|1i5s>>IiHg|Ls5DWoUL$suI|3sVtp(OxnlM~98xK<$!S zyjOd)Y@d1I+X<1Ci#@%6CR{(nX!@wJ5C={fuF_nNh6y9n%7o)xOtcQ`Gd@3A0OpJS>N zGLJYtSu^9UnjD=H^)EC8P)8v3lv5&uK{Z?SX zc`{;y$4)8Im5zo@I`aCgk+~V4$%wNplWfCOiqq3bnuwo%p(D)a8}oG%>i?>+(V=5O zf9bnYG!wlKKhvT9K27@}S(i^3Bz~OJvSSWJ%oR*~#Gq`}JYc^mK)DZ%EOtjMV2x zRGaT9*Mj%(1hHP7|9XjI)5^fD9bxtkFsS3!OC8l(b?U#eS{gp)6&v9?WnHgIovmuF zk|Zdha)?)LCN%Fhr`su-sI;%E`Qv?d$LR;AmP{3FT!t@-<<*ZtSEO6ax~T*;)me$0 z^_j2Z>-j`bmDKe)PsbeLxz#K~o!gjR_@3s(Rh}ax^$w&wDw3uMcskd^Y4@2pV@~-* zhxo7<+ivi^HZ zkI_r0T6y@UF+QjKosdyK<3A({6=2P;3Z`?So!r&;YSyQT7!LC=}O(A7Spa0 z+AE*ETl{3I;l@2L;;$PgP&t_>Q2fG$D4cxSfVXa8zdO4O3-!fNVgmx7^zx9-4^}nJ zoXw+F!`5?`ITM-lj;)!P-D)&>8RAhntV5VMw_0@gtF8c}DVMJ}=X|>xgF|o*bAT8b zjWa!uM}Nf>l&68u$d}7c=;`%SvvQd+nk7kiN~9@K!G}>VLPZL{_{bW|W`s>pgx+b8 zWRo8AFMU7z1GRqo-b-}VyoX0r*t=fb0l_iKAuof#?h(5E3{Hxo&G&^Qy?o!LmC>J- z%o~rq6_P~`>Smui#318a9;48m(pu%UvY3_QpR?Fn9Y?|!OBe7GwjFzL=kl{FHnkMctfZ6OGG5sIzvyXFti32eUgQH#MWE~ zrpN^>=h({>I9Xd-+qhVRm}V#l2>A7;ij$fc$QwkKJZ)$PtM%3?3?Sgv$k8l5G-zCZ z3q@^cBI3vT!mHqR+F@ydxATMF1qq{wbfIaTsf7f7`vz`8jniHr2<&o5g4igZU3pHP zy>N+zBB9in-SWO)p;6I0iTsdDkMZPBSP!_q=xaKDs@|wC)a1RN=WGbQN9{M`^2LF< z`$zI`8WCBrC3oz5`Tn|`i5-2>kLwZ6u};WWR-#U!L{s|2Iawzch?kPmAA2-i*Llz| z;i#rdtA28xu^wznX;)G^V|D7jK$kD@U;SutFMBygJmqoh<6N1jv}lTb1#+znHVoAJ zJLz3{CnF>U!Kd}cMuoPMdPY9n)l!JW(vtID{=B23ZyeqvLR*uT6VWuEz)23VQ>pY68*W}?1?<^WAuZ*26CXM z;JWyr`%AMKjMQd*4@pB?!7yn8dx$;g))`{u1ahUC{u-cA_1|?Q;y@jVe*cs8cBIH; zYDuP#6y}}5M{0|!qVLM1MeE*Mmr+Qe#a?n*?qP#~1b%7ptfJDfrhQ&!jEoahqz~Yh6p8J!azrAR*t`yO z1ZAv6z&{q^w`J*B$9(+46Ei^?=kWQ|`%qb$L=Cbmcye~s#Ah={kL-JQ%$^%BNBCX*iJC77M;mJdG<2?RN+JSXi z@(Bn9w<4c-vS&s=m&V>db)Oda8Pl7S!Vt_LD2nQ z=byX|=KOe=^;;uZxJ&cLIXBnhHev*Qxf9a%r^8uZmmDjmiwAFLnJQD!+$7U><~$}} z-j(X<-91U~e)D*YbcRfi$f}7zi@2=t5m@=M9zWI3U>39Uf}%?osVPV#C48=%SUzuk zfoI)$J%@6V!p}$bvLTl1NvE zxvZ#H0X61ltm+DhOb%M=?|XujQk*0{@l3ak?e5c$N^xCMiqDz-y6yzL<|HV5wNEa&&Dr59*lq7wobck}s*kk}C`c%vDN0ofsNMG|5|zLuKRtJn(t8-& z&0;HK+epDwk!m=4+~8n|1hEXcP-MWUjJ(Jr;R456HG%TdnmCfM7{*QeY$EZST&>xn!-0KwEgmUU zKWM#w&bJMv>%h`}_y}B{v#DVo72He)Pfk<)ID{ve)7Kx}7)aDhUCE*s0jpOf8n(NK z+wSf=RQ0kV@H&bw{Jp2-+_UTnb7#Kn#uhIlWIb4}YVvd6kFEWW^E zj(A^!91&<=9BOtfJ2voeG+cg`L7Lx9*fK#OnX;W@o@-&jI`;vCY*t${#X?7#JV&u~ z-`np;vWAAri%RCdKjjMMx%^?K2AUu=-Twn;NGVlQK)xWl?6Tx4X`=T^60MyBtTrxeS44~I>o8IAW623KU-h8t*l>UswGpt#?D;0uw6&x z*^76#Z`9)w@>lT}yytf!^BcUVFvHNr$q657;-=!O$qi=uB4XaJ^&s7`C!lqL-=D=4 zzfJ|dFq`#R+fU@vjZ8Js6O6*q`do)a9w2;9uj_NWT#xr~()y9&<)Edq=B7>@RfXr? zy4(x3-bnZ0oe2~Dq(ZPHrylh!)UC)3$Mi6&65KB@^G3zvUO5HzCj{G2<*OYXD%5;+Fh8BHQ2 z16<~o5W2wSdgdx9LygS>E#%U@Ns^n#AyHOQX>0BvKRZ+>^p%LXcx?qco_t?L+{bvH%lvG8xnie8>&5a1dPdauWpkt_9E+k4r)07aQHL=c?e!Ls zEu$D|q@!i5qZ~IG3V(g>N3-aQjL26l?<3QMT@6-rCx`^ylJ6GjDi9RSF-^|&L|=gu z1UPqx9`TJK8pWL^ea??5)xxqqO!B7d{{LwJ;U$>8itcx%OL4WRpAaDtN#y3%h5r zHIlzP3r{UX_K&+)W@t4*N?f~m~az~{9r&wI9Ghx_3IR??YzMWfl5EYE8IzAZl}H*s5r8j-2C)o zre7*W&E4VXx_N}q{;P!LoDN3GkvE7fD_e@$l&6L7QsSHAU5z^+OqeCH_>xu63KDQ8 zvG($ENRxl-^1Y9J0gYqAx6>Q1>X1>?A7Klo5j?CgU7YrU&9~70DN(hHIy*7pRH?d} zO1e=`{?mTpva%w+!HDYjw_mZ;sm4p@wwD%8r63|m&YtH}neXGHQ*x-Y9xj4+6xm%& zu6ja8oT3sjyr{b|=x3&VK{+o!q&Av-l-q74*Kodhm;`b=-qCZ0|9R=zfSzTY!m!)P zr{B4yk){>ZuzgwJ>YAFo$>%0ev8attla%9kQuC+$5N-!Mi^qaiTg??n@tX>TV-0Vj zj>qb;g114U&_alewRS0u`cdicSta&23@hl zsmP;l)c54zy@j(GqOG;8jdgO(u1J{~LQx)a3fbx9Z|d&%I+R0~s+JMTMW0^~pA)w{ zJp4?7&wK*cir@j8P=edb=Vq@qR=YG4KUk2!4-y}C&IK22yr&N7yf2LCxWRj^KWn|Z z^9G-CIs<{ZNfbefwwhaTbK{q!zFLkctz*0+I>(-Oi@Ila;6={vKTv;&7Dejlz7%+% zY4+7>bx8APi%AEvRk_jXa=*yw@verr3`%Y2t$@nMf;j7^rlunAPYRe7;+W#4j*NCD zM<$OP_8JpL40n!kUU1aDP{1uuj?C1Ve=wO`87X;^ArbF#rae|iUbPi0C`LN z>oYI<+I;1gF7x``ZC(&)V7{4jS#wsWHn^so?SRcsm9rj8x^j_JI`Dd*0aD6yQ{rm= zcdiWZ#C%#?X}O_js4`V;;QK0r)Mw?5Y~s-$j0U!jQL?Tx-NWxUklITHP6uk%dVMbk zun`kS4OpBbTFpdiQXEbgTqiqxe}PGTX2b!eze?ddS8ZLLka%vocfwPUMTA%UehrnO z>l(J_CnS!%vE(}*xej6saQBJhQGi1c92|-Ko&&%B^Vg5V|M+EA za`P8!8xxoz!p6kO3g!TO$ld?+7}}ry!5VCV?87>9DPE(kJ<9S;M)DmI_J7?iwV~q*OP{a|OE(6LR*5cqC2M}8i3fT*2&^ojYxEY9v zfSp5_Y@u!b6{dI?x1hlHtYq2cUC|tDoa~{nzvZ>n)vxCMOwM5CD+2A{`v(>Zxrh}D z;^1Zt{Z~S;t=4WaI7Cu#Y5??yK$x3ju=SvjPp)8V?JtI{bW51P->-PtC<9Yp0Q6-u zI(h3sA+IT712%>@z@fjaJ|^nKxSgszK#c6h}g&<&7+c}6aq1|Zh z{cwOJ0)QkgZsCG&6w+H`@6bD^7Qy6_P~dOK2II;Iy0V$RV(UR6-)a4STsunZaJZ%B zOF%;ny2QW50lrblfooW4Y^+V-o5z|ED^8dz6lVK7cpS4QL39~jVnAx+fMU}(+j>yQ zAKL$gV$)gMu@CG1T+Ancm?l96u+4+ntp|k+()%w2ws5HB_I4Dr8@)o4GMmM&8UPb| zH*k&qE6a}Epco*&(ER2MF7F?){iDNqYluj}v3s z@K?@z!To)WgxT6py{Nl!KonR1g*xqy6?L*7`nj+UE`Ayura_*IU&}&Oi!t|Hk(NUzJL$9 zN4S)@2Uu&EGt7QRiJbJ(ZleL9WI%7weK*zQJpli89ke6#ePR}VZUD^I8NcYQ2iAm}U~Zn+nnd6mg*=zKD=^&J1m?P9JC|=Jg{*_A9?5{&&X&ww z;r`ki{JLre-q?=7;_pOPQNT=n0p9jzDuS&Cg(Q819oQLS4~JNT^!&dsaWD<;V(dYdzA_5i*6; zY&w0UA>EsaNEbo7(Fc+14K`d$m@&k7ci$Tnsl|N&pl!iqLEoL8?cF={-u!NJ!Fcm) zfXfSX1ATXTzW@K@+RVmakF(_{~bS zqFZVSzEQ}6cUUQYn}N-@d~89c46qk={>ObLrb_MC)JfUAGxr7KgTB9G82*2lc9dAX zEM3n<(4AP&oy|+wtp|k^8{I3(cK#X6E}Z1=BUU(!gYy>bwa~Sp>w6Kkp4196?w)Ie;P9Q84mdR13X8`qn@&=!Z@Fm-d9eBkKL0 z;?F9e)l#6<==0#j3RYAnD@V8q9N0{U-)AV>uhn77U2!C)cr%abdq5+#B^mIILN>4c zXPUoV-`)9CYX|DPfUpXHs-mw4>EE&OZ5DRIy5GG)W0o}yz~}yDUK`i35;y@>+U4+X z|66E(Aixa*P7b;jt>NNgS!ZmF9bop(zm_s9xaH1TbdvX_+yu~|cyN4zK8Ii7W5ovs z0=x|f96wG6xS2HslwsJJL~20#=Mw0EA8-NDohf2stR%J&JExst4|Fs%zXF5m`L98h zrN9pR*E!!mZ%i?@RCd&rDIE|z1q2t+wA73WD*@ON*uza=z>wP5!t5P)J8#IJ795H@ z3aZOVV0y9o)Yv%wI^f?<#Dm#^Hjj#ngJ5*UNHM`BIk1C+MuR=E2@Gbtqp8p`UB5*H z!1cii4EjQ23HBwsTp|4B0@*@-gM+E%1Qf^=ZVgTic4bn9ft;g z`O>*OptQMQXwYYMg$P!j%|qk8%xbsvp#ABf6W!p$f!3KP;#f(xyo(*1uNAEuxmkSg z80Z4}s+=u>9oYr}ci7bp_LZNOb_GMN0sMA!ccMZH8}#4n%&v<12w9V43mWbT#ut5= z@w&Wc^gmf7!Bn1CT>$*-Ux6W8Vn-n*uI!oMSG>rMf~OMaA$0}tBVbuZKU9S%Vu!c2 zfc8$>6F3I@{XZ>237edV5Cy(=_nMC`7zXP-K9O;2&j) zF;xh&((5*C4g@b_!2_12G_CJ8~AU{+z}kJu-G>EF~r`$(aVfsN(QrR(>6X0SQ7p` zrT%!siCOAp8~CClR^Y$uf9xm|%wi(j&;sBU3@mN_8+vcP4`%s_Z7y!t|Bq|OE@2j5 z*rpi(?^9yw5=JQo%pu0iKEI94@3|-J9b1f<4t*Q-+fD4Kn-gkBSj-I6+pt4Otg!#e zM~x{8%rwi}=+}JrhQ6J2850{b$M80GsUJ4%e`OrT1jo!5yA6Ih04w-b_E=0%%mk|2 zpuvGyLI0Ib6%!pZ8h9I>9_&v4tkOHg24liw225_lU(dt}j}bnJiH#XzxQ*?Tg$;Z6 zfJ00c%owX}mXA5uS^gDqg$a)t8?+4{mWvG@Em8;*7&E|R8#p}=8}Q$ErMqrMFkd0x rMrSPCGy0#rFw8fbw+SYT_Db-V>B0y585|rt@Xs0?5apHu_ZR1XYwpq7 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 525a4c51..ca7674cb 100644 --- a/README.md +++ b/README.md @@ -32,5 +32,4 @@ development, not ready for production use, and the feature set is currently lim - Only captures named `function`s and methods. - CommonJS only. - Only whole process recording and Jest per-test recordings. -- No metadata or classmap generation yet. - No exception support. diff --git a/TODO.md b/TODO.md index 9236e74b..c5b23719 100644 --- a/TODO.md +++ b/TODO.md @@ -3,4 +3,3 @@ - configurable output path - configurable traced packages - location paths relative to project root -- test recording \ No newline at end of file diff --git a/package.json b/package.json index 8f69f622..a8a7460e 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "prettier": "^3.0.2", "tmp": "^0.2.1", "ts-node": "^10.9.1", + "type-fest": "^4.3.2", "typescript": "^5.1.6" }, "dependencies": { diff --git a/src/Recording.ts b/src/Recording.ts index fba75a1e..366a18de 100644 --- a/src/Recording.ts +++ b/src/Recording.ts @@ -8,19 +8,26 @@ import { appMapDir } from "./config"; import { makeCallEvent, makeReturnEvent } from "./event"; import type { FunctionInfo } from "./registry"; import { makeClassMap } from "./classMap"; +import { defaultMetadata } from "./metadata"; export default class Recording { - constructor(type: string, ...names: string[]) { - const dirs = [type, ...names]; + constructor(type: AppMap.RecorderType, recorder: string, ...names: string[]) { + const dirs = [recorder, ...names]; const name = dirs.pop()!; // it must have at least one element this.path = join(appMapDir, ...dirs, makeAppMapFilename(name)); this.stream = new AppMapStream(this.path); + this.metadata = { + ...defaultMetadata, + recorder: { type, name: recorder }, + name: names.join(" "), + }; } private nextId = 1; private functionsSeen = new Set(); private stream: AppMapStream | undefined; public readonly path; + public metadata: AppMap.Metadata; functionCall(funInfo: FunctionInfo, thisArg: unknown, args: unknown[]): AppMap.FunctionCallEvent { assert(this.stream); @@ -43,7 +50,10 @@ export default class Recording { } finish(): boolean { - const written = this.stream?.close({ classMap: makeClassMap(this.functionsSeen.keys()) }); + const written = this.stream?.close({ + classMap: makeClassMap(this.functionsSeen.keys()), + metadata: this.metadata, + }); this.stream = undefined; if (written) writtenAppMaps.push(this.path); return !!written; diff --git a/src/bin.ts b/src/bin.ts index d156da7f..35c22be8 100644 --- a/src/bin.ts +++ b/src/bin.ts @@ -3,7 +3,7 @@ import { accessSync } from "node:fs"; import { resolve } from "node:path"; import { info } from "./message"; -import { version } from "./version"; +import { version } from "./metadata"; const registerPath = resolve(__dirname, "../dist/register.js"); diff --git a/src/event.ts b/src/event.ts index a6af452a..59adad99 100644 --- a/src/event.ts +++ b/src/event.ts @@ -47,8 +47,8 @@ function resolveParameters(args: unknown[], fun: FunctionInfo): Parameter[] { ); } -function paramName(param: ESTree.Parameter): string | undefined { - switch (param.type) { +function paramName(param: ESTree.Parameter | undefined): string | undefined { + switch (param?.type) { case "Identifier": return param.name; case "AssignmentPattern": diff --git a/src/hooks/jest.ts b/src/hooks/jest.ts index ecc18aa4..fb8e5a1e 100644 --- a/src/hooks/jest.ts +++ b/src/hooks/jest.ts @@ -5,10 +5,11 @@ import type { ESTree } from "meriyah"; import type { Circus } from "@jest/types"; import { expressionFor, wrap } from "."; -import genericTranform from "../transform"; import { call_, identifier } from "../generate"; -import { recording, start } from "../recorder"; import { info } from "../message"; +import Recording from "../Recording"; +import { recording, start } from "../recorder"; +import genericTranform from "../transform"; export function shouldInstrument(url: URL): boolean { return ( @@ -49,11 +50,14 @@ function isId(node: ESTree.Node | null, name: string) { function eventHandler(event: Circus.Event) { switch (event.name) { case "test_fn_start": - start("jest", ...testNames(event.test)); + start(createRecording(event.test)); break; case "test_fn_failure": + recording.metadata.test_status = "failed"; + return recording.finish(); case "test_fn_success": - recording.finish(); + recording.metadata.test_status = "succeeded"; + return recording.finish(); } } @@ -71,3 +75,8 @@ function testNames(test: Circus.TestEntry): string[] { for (let block = test.parent; block.parent; block = block.parent) names.push(block.name); return names.reverse(); } + +function createRecording(test: Circus.TestEntry): Recording { + const recording = new Recording("tests", "jest", ...testNames(test)); + return recording; +} diff --git a/src/metadata.ts b/src/metadata.ts new file mode 100644 index 00000000..7c93ad12 --- /dev/null +++ b/src/metadata.ts @@ -0,0 +1,41 @@ +import { readFileSync } from "node:fs"; +import { dirname, join } from "node:path"; +import process from "node:process"; + +import type { PackageJson } from "type-fest"; + +import type AppMap from "./AppMap"; +import { root } from "./config"; + +// cannot use import because it's outside src +// eslint-disable-next-line @typescript-eslint/no-var-requires +const pkg = require("../package.json") as PackageJson; + +export const version = pkg.version!; + +export const defaultMetadata: Partial & { client: AppMap.ClientMetadata } = { + client: { + name: pkg.name!, + version, + url: pkg.homepage!, + }, + language: { + name: "ECMAScript", + engine: "Node.js", + version: process.version, + }, +}; + +function readPkgUp(dir: string): PackageJson | undefined { + try { + return JSON.parse(readFileSync(join(dir, "package.json"), "utf-8")) as PackageJson; + } catch { + const parent = dirname(dir); + if (parent === dir) return; + else return readPkgUp(parent); + } +} + +const targetPackage = readPkgUp(root); + +if (targetPackage?.name) defaultMetadata.app = targetPackage.name; diff --git a/src/recorder.ts b/src/recorder.ts index f226eace..220864de 100644 --- a/src/recorder.ts +++ b/src/recorder.ts @@ -5,7 +5,7 @@ import { functions } from "./registry"; import Recording, { writtenAppMaps } from "./Recording"; import commonPathPrefix from "./util/commonPathPrefix"; -export let recording: Recording = new Recording("process", new Date().toISOString()); +export let recording: Recording = new Recording("process", "process", new Date().toISOString()); export function record( this: This, @@ -34,9 +34,9 @@ function isGlobal(obj: unknown): obj is typeof globalThis { return typeof obj === "object" && obj !== null && "global" in obj && obj.global === obj; } -export function start(type: string, ...names: string[]) { +export function start(newRecording: Recording) { assert(!recording.running); - recording = new Recording(type, ...names); + recording = newRecording; } process.on("exit", () => { diff --git a/src/version.ts b/src/version.ts deleted file mode 100644 index 035c93ee..00000000 --- a/src/version.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -/* eslint-disable @typescript-eslint/no-unsafe-assignment */ -const { version: VERSION } = require("../package.json"); - -export const version: string = VERSION; diff --git a/test/__snapshots__/jest.test.ts.snap b/test/__snapshots__/jest.test.ts.snap index 6df54e7f..354e9498 100644 --- a/test/__snapshots__/jest.test.ts.snap +++ b/test/__snapshots__/jest.test.ts.snap @@ -57,6 +57,25 @@ exports[`mapping Jest tests 1`] = ` "thread_id": 0, }, ], + "metadata": { + "app": "jest-appmap-node-test", + "client": { + "name": "appmap-node", + "url": "https://github.com/getappmap/appmap-node", + "version": "0.0.1", + }, + "language": { + "engine": "Node.js", + "name": "ECMAScript", + "version": "test node version", + }, + "name": "sum sums numbers correctly", + "recorder": { + "name": "jest", + "type": "tests", + }, + "test_status": "succeeded", + }, "version": "1.12", }, } diff --git a/test/__snapshots__/simple.test.ts.snap b/test/__snapshots__/simple.test.ts.snap index 761d1d4b..87081d7f 100644 --- a/test/__snapshots__/simple.test.ts.snap +++ b/test/__snapshots__/simple.test.ts.snap @@ -51,6 +51,24 @@ exports[`mapping a simple script 1`] = ` "thread_id": 0, }, ], + "metadata": { + "app": "appmap-node", + "client": { + "name": "appmap-node", + "url": "https://github.com/getappmap/appmap-node", + "version": "0.0.1", + }, + "language": { + "engine": "Node.js", + "name": "ECMAScript", + "version": "test node version", + }, + "name": "test process recording", + "recorder": { + "name": "process", + "type": "process", + }, + }, "version": "1.12", } `; diff --git a/test/helpers.ts b/test/helpers.ts index b614a79f..e9c59f89 100644 --- a/test/helpers.ts +++ b/test/helpers.ts @@ -1,3 +1,4 @@ +import assert from "node:assert"; import { spawnSync } from "node:child_process"; import { accessSync, readFileSync, rmSync } from "node:fs"; import { resolve } from "node:path"; @@ -5,7 +6,8 @@ import { cwd } from "node:process"; import caller from "caller"; import { globSync } from "fast-glob"; -import assert from "node:assert"; + +import type AppMap from "../src/AppMap"; const binPath = resolve(__dirname, "../bin/appmap-node.js"); @@ -45,6 +47,8 @@ export function readAppmap(path?: string): AppMap { assert(result.events instanceof Array); result.events.forEach(fixEvent); if ("classMap" in result && result.classMap instanceof Array) fixClassMap(result.classMap); + if ("metadata" in result && typeof result.metadata === "object" && result.metadata) + fixMetadata(result.metadata as AppMap.Metadata); return result; } @@ -76,6 +80,11 @@ function fixClassMap(classMap: unknown[]) { } } +function fixMetadata(metadata: AppMap.Metadata) { + if (metadata.recorder.type === "process") metadata.name = "test process recording"; + if (metadata.language) metadata.language.version = "test node version"; +} + function ensureBuilt() { const probePath = resolve(__dirname, "../dist/register.js"); try { @@ -85,4 +94,4 @@ function ensureBuilt() { } } -ensureBuilt(); \ No newline at end of file +ensureBuilt(); diff --git a/yarn.lock b/yarn.lock index 678f8574..0262a33a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1503,6 +1503,7 @@ __metadata: prettier: ^3.0.2 tmp: ^0.2.1 ts-node: ^10.9.1 + type-fest: ^4.3.2 typescript: ^5.1.6 bin: appmap-node: bin/appmap-node.js @@ -4569,6 +4570,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^4.3.2": + version: 4.3.2 + resolution: "type-fest@npm:4.3.2" + checksum: 8ba1b3d43e24888052d8c8859ae9b53124f8200c05808ec9247917ac3441612a7b36bf148a5b14150ef73ce7bad3cdca65ae923d37d2ae466c2b814d369fb975 + languageName: node + linkType: hard + "typescript@npm:^5.1.6": version: 5.1.6 resolution: "typescript@npm:5.1.6"