From 6caeda7651c7ab8b82bb9d22471fae348f8cd343 Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Tue, 10 Jun 2025 18:16:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E8=AF=95=E7=AE=A1=E7=90=86=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=BA=E5=B7=A5=E9=98=85=E5=8D=B7=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lib/Tiobon.Core.Base.dll | Bin 176128 -> 176128 bytes Lib/Tiobon.Core.dll | Bin 336896 -> 399872 bytes Lib/Tiobon.Core.xml | 449 +++++++ Tiobon.CodeGenerator/Program.cs | 2 +- .../Controllers/DbFirst/DbFirstController.cs | 5 +- Tiobon.Core.Common/Seed/DBSeed.cs | 643 ---------- Tiobon.Core.Common/Seed/FrameSeed.cs | 1091 ----------------- Tiobon.Core.Common/Seed/IEntitySeedData.cs | 34 - Tiobon.Core.Common/Seed/MyContext.cs | 225 ---- .../Seed/SeedData/BusinessDataSeedData.cs | 77 -- .../SeedData/MultiBusinessDataSeedData.cs | 36 - .../SeedData/MultiBusinessSubDataSeedData.cs | 36 - .../Seed/SeedData/SubBusinessDataSeedData.cs | 68 - .../Seed/SeedData/TenantSeedData.cs | 66 - .../Seed/SeedData/UserInfoSeedData.cs | 77 -- .../AutoMapper/CustomProfile.cs | 1 + .../HostedService/SeedDataHostedService.cs | 3 +- .../ServiceExtensions/DbSetup.cs | 2 +- Tiobon.Core.Jobs/Helper.cs | 2 +- .../Models/RootTkey/sysUserInfoRoot.cs | 18 - .../Models/Tenant/BusinessTable.cs | 26 - .../Models/Tenant/MultiBusinessSubTable.cs | 11 - .../Models/Tenant/MultiBusinessTable.cs | 21 - .../Models/Tenant/SubLibraryBusinessTable.cs | 19 - Tiobon.Core.Model/Models/sysUserInfo.cs | 139 --- .../ViewModels/RootTKey/SysUserInfoDtoRoot.cs | 13 - .../ViewModels/SysUserInfoDto.cs | 24 - Tiobon.Core.Services/TenantService.cs | 5 +- .../Common_Test/DynamicLambdaTest.cs | 1 + .../DependencyInjection/DI_Test.cs | 2 +- Tiobon.Core/Tiobon.Core.Model.xml | 138 --- 31 files changed, 460 insertions(+), 2774 deletions(-) delete mode 100644 Tiobon.Core.Common/Seed/DBSeed.cs delete mode 100644 Tiobon.Core.Common/Seed/FrameSeed.cs delete mode 100644 Tiobon.Core.Common/Seed/IEntitySeedData.cs delete mode 100644 Tiobon.Core.Common/Seed/MyContext.cs delete mode 100644 Tiobon.Core.Common/Seed/SeedData/BusinessDataSeedData.cs delete mode 100644 Tiobon.Core.Common/Seed/SeedData/MultiBusinessDataSeedData.cs delete mode 100644 Tiobon.Core.Common/Seed/SeedData/MultiBusinessSubDataSeedData.cs delete mode 100644 Tiobon.Core.Common/Seed/SeedData/SubBusinessDataSeedData.cs delete mode 100644 Tiobon.Core.Common/Seed/SeedData/TenantSeedData.cs delete mode 100644 Tiobon.Core.Common/Seed/SeedData/UserInfoSeedData.cs delete mode 100644 Tiobon.Core.Model/Models/RootTkey/sysUserInfoRoot.cs delete mode 100644 Tiobon.Core.Model/Models/Tenant/BusinessTable.cs delete mode 100644 Tiobon.Core.Model/Models/Tenant/MultiBusinessSubTable.cs delete mode 100644 Tiobon.Core.Model/Models/Tenant/MultiBusinessTable.cs delete mode 100644 Tiobon.Core.Model/Models/Tenant/SubLibraryBusinessTable.cs delete mode 100644 Tiobon.Core.Model/Models/sysUserInfo.cs delete mode 100644 Tiobon.Core.Model/ViewModels/RootTKey/SysUserInfoDtoRoot.cs delete mode 100644 Tiobon.Core.Model/ViewModels/SysUserInfoDto.cs diff --git a/Lib/Tiobon.Core.Base.dll b/Lib/Tiobon.Core.Base.dll index a7526e1db667c8828d3f90e83f0fcfdcb1167223..1f3f992611078796fbcea5cc170dadb874870eed 100644 GIT binary patch delta 255 zcmZp8z}4`8YeEN$t;Et(jXkYBj9Yt{)_4g#>34iqF{i|H>%D|DHZ)4JG)_u0voK6DH#Rj+OEyjciJBQFCr@{r%4D$JtCuNGipAjX zg&)(`EN2Q3INNa|e^umf-(~*IfhD((uAI)Zf+!Ggh%A%($`!2nDe19?UaX+XX)LlTfS1Is5dm;?EyK%B;q V3?x(FYR!PWWQOGJ^=p|LnE)AOSGWKG delta 255 zcmZp8z}4`8YeEN0i5KJB#-7$5#;rX}YrF&kd!~zX8r}4tyH_+$dI$T(?H=Ats~j~< z3==I44O0x#Qq0UPQj^TgQWH&+Qc_aQ%@a+{6O+u%laiAxQj;yFJ5FUX*zVQK6eq>P z)L#8<`kLiT0Rq=No%7DVQF2~&aBbEkxAybXc~&q*DL_RRYe7YU>dQ)>#va;acA$CZ zT&uS2Z7Y~ovG|)X7&0U>SOQ5yh7<+^hBP2)#$e81!H~+31Z0^3=|l!oAUg#JQ-Lz( aU_OXU0`rm>l7TFc`eX)+?e%M!8kqolpHlV! diff --git a/Lib/Tiobon.Core.dll b/Lib/Tiobon.Core.dll index 630019aba6333e8cf9569da47e008e4538063c0d..5f6f8fd6218220a2c14804d9d78ff2bde9d27100 100644 GIT binary patch literal 399872 zcmeFa37lL-)&G6xcK7XVCdr+i>7FIY41pPLx_bgiSSAU903w1Ys4Pj4MK&cY7j6Rz zlO9HqMGPp48=_)VaNife75C*)BRnoB#(hH{#eEO|?>Tj=`}SlKqpzRmegB`=`6OMZ zes${9sZ&*_>ej7$?-Mq@&`CLtlji@Uk2=oXgz~pee|P^gL-M?ld*?at&3|#PyStA2 z;$9~{h;^rG;bbC>n>6!wWl zpKz4p9M_d{zI(;(@3WY}vf9)`i8W!g@$URRE)*+Q>g36=?;=JND6+)o6QtCi{%qutd-505TA>7+MoOt6J?jl%jWGPBNV z)!Xs=A|zi@xe3W#V`U?*(Cds{>QmGf`I$(M_tlC!%0h?Bk+3ybAqAoFN(tKYYFTS=zXJMOL=Y2bL7QQ{!`2f)w-4B%T=2c8y)yPZhSvk8Mk#XSL-jQMlcf8cnn% zy&YSWV_PKppD=n;@|$eS_x|PRiHa5X(&iFp;Jg~FQ!st!OZ&K$?-sN|8 z=&THL>inq=orQ1Dbe6uDc9;;HJi0Xwk&MIL<(}Gwxy8$ux%sim`kq^I!y86M&N%!2 zV&1*^{AImv{+5viIf2f)fAH+=nfDiSgB!YQL2mI%Kh7}-vw|g<7q@r;hu3#|)7T-M z4cAI_59McES-0(1n;f;$=z3Jz;v4R_}Bfh{f_~3puudMRi zvJuGGE*PNF28Pc%^Zwht>K-u`M+!Xy-Q`lc_88AkXYao~yZG#4e({E$+Fn^BAcs}D z+rsl=i8G7&;q^WF#rx%RMza<7`{~O1Qrb^@RPKEqZb_Ygby@Ti8f!*uP`%C#nS2V- z(k|x`H#`zDe2n}Y#ZT~9eyUfv(S9TbIP%)KyN#J_I5=8Z9w({KNv5WvRV~hx8{$?9 z)t4q28pi^Sx#8mpQhmWv))C=xyX8u!5?njT^90x@@~Mmx^{#4qqLkVu(~Bx)Q8%S! zq%)eE*b}9c$ok`e+0S#+0X^AsGvao|I#cw(bae@nqY?l#zX6m0C|W=X07^C-N^Ekc z@O|ltqT4v00-F*sQ1yw3)o9}cNg0%UR(D*?bfXap(&zyxOiB>lV@=b13Iva3qb0=a!nyj7Yuo04$CcMVIxOyFsfNl+6gr;g3b7zb3>cc(<@`aBbc zPof%?{Z4TM=10#B4&*mDjh})W9856L<7!REiUE_3SMIJ=yqrnOg-<4L_!NF}^y3&+ zfh)e{dTJX}NL73TEiUUP%Exb|!xPCiv8r6C?P~zarrUa+3UvcKkJqU36P^U4S6N?x zK~xM+CcfeeCR25*0aM{Apy_%lUGq{p&KF=5sb@M|Pl{WOQWM4Kc)E3C1M#a&MN{EM zO;r0_g?>HayG{iwcv5Sx`BZ2xa2Yex7^N^aQ5l~;9b$)f2EUCn1)GtSfMrZAU@cH< zo=w!7(%&84Il^`>KjC@&xIqREZ-@7EfuAAp`TTfOQcm^r>NdyRfZ^qZn}EiNFv!{w zj2K6ZkGst)&FF(y@KY0BbQ&EHp;ET#duF0E zNEjiYvV3pMx9dhQCBh^nJI8B(1}_EIgHushF6dC;_n00!jcZ zvVal*i!Gppo!@CM>Cejv(bI3dD@VumQq7T+llI)^s035`yTf}oX^m%7kANwz7U1V= zI8X9toXaJY{O^nNFOiIy<~|ann`078GiVCUy&+wk)B8o(b3sDZa|O?vk_7F$-jw7T z84a$Jgel3Zs|(F)_`E5RU(5#A!(wzuJMTb;K6FUw$gZ~r!VU1aI%5oMOmAFo$o1mv zQ^DEvw+#cQRyGuSQ{~~{d9e1fUbs<1)g~J&5@V^|q}hDI^U2A zj0SDXW=i)P_r$WRk|Eu!NuYIXE`=1?_s*6r3Eq@sFtSZtevNE~ms3HudsG^VDNJhN z1pHsa|JrfU6!on{SMw_qlvk)7t58{gW9ZzX##KB`wanbF@#mRH^AM%R-mdI>+l z3&kd~{H{LMjb16RctV8}t2rh`Sv%Iu z0jK4sZ-<9N@fx>Ke1Hq7&Cn~;)uCxjA#1l84Tq-pmFPk4Sio%H&1h_65JFGn17;Ub zJkRtau4etU34UXO-%1b#m%=nQks9x-20avG$naLF_2Npv)LUa7PC4(y`ZycE@lkDa zx4EA*A@03<>q3LP}RnF$**ZUQTNG3ehrEUy!aBqq}ID#%%ysQDM;}c%`I9ZP(rB z1~_W(a&gFSkRLP7Q;vjqPv0Gz=pAqKr^@2&(Wf}x>+I;499}iR2iK~bQezYOaW`!_ z#C&deyA+75VeEAxA->fQaDp|w#j8mxY#$kqevY1Q_!^>7#-%qs7HXtB_zfj(cf9Fk zo!0t@SnCd0#%3fXz$MnIUDynECqLgA!NgtDGL?C4#e=K5m;hf(t^oHX?dLjlLt960 zTuoRG7+JJ;vUcI?$h1p-#{6vl*IRz34I{rCFnnjTsaQKh(D!T7Yvo!;i9_9y#Y(xs z8$=!qb<3axz=Q>qK$PWNW)qZH?N*vXwA1&q=}I7Je+wu9z*J?FQ37Cv1(ZmXwNesb zI3NxWl#qQk(S^!LGW%?r%5GDPDifIw5@xBh5(%lRZGsYTuCjm<0JuJrRSAGYETF{6 zR9aF9BpxpUuA2+xVsstK25+Rpa2Ya3z9a{gnUs=lcB4h~)#kw>-JOykmUAb<6t-h& zFZuy}!H-TML%~aL`MX>l3mX>Fvc2GLDI7lWD+_1w&&4WykB1Llf4;k;Ox`YCBXN;) z7m~RU_o8ztFFKzeodye@uG|W$MltKD*kY_fHr8OaTsnl=IsAVnmy2z!Xj-gXFlDu| zH_d^)xrLo&^KPLt4hL^(C5WzTV;iKW-zxaq_@U~$3M!<7w-YUBq!@+RVOO;_c0aUb z&)^+ooM_3}LZ>$c?~yRki~gW(p0=%#p4A!)+~_r?JIvL*ZQH25-Xp!Ejj6q6VQMeM z{$j>LeJ?k7C)Ehw#ZOa)jT7NsC%wEZd8iLN5uah8aOI z-&z6RE16q-hj;MRjM7P6s}&oJ7K`aY|K&h?nZVUh0#Lo$ynt6&Xa>&`t)Du^~IJ;?Iqj$qZ~b%5(J2jq@u)rZR{1uk#ZAe}ey$5A$OS zie9F&D_YLG<}9Z$$zYs2!&i2Z;f7sh_~YCeY8&U&XWxu8!0dV#YV|p}Pn(-NHnwLj zW!6cj5}V<=)n=wCj8n`-uRunjHe|rKyXw_NWkZM+a27J|BtLWczmh+C6(ty5s?rY* z*M9IeK+_K-uKJB4e=%)pdD6^x*P}r+2QSOh*thHaveP`9itdpDWP)GNl``|}f-Wn0 zwnS6EbC4->c|2$BBr~IPSus0n7AcytqEAVI;<2Q_Y)tK{M6u^JlsED(lsC^P*qxiD zNOwY!=qsYly;hrCOzuh@^&6i?pV5D(KJ$#ldh)Xr?MV&AH&(Tk#5s!bWZa9|;vl~* zp|(EOwA{GMN*1mh9C@3%%PMJ|#2f7Ozfz}po^}tpwKS``rF3d|kLruB`&qKyHdkl8 z$Apm}Q?2_>_v+a^eE&QkK!i4wxq}URwk$#hy zXvGQ9yUfCaE=FWf)nx+8$V}ViNr%)~T6m35%(TwQ?4hXnsl;W%Tw)(i%!hO7G(Q!5 zkU=feqIkumMthL;L%YZ-{x9Pk!B~;MJ+4deVU;(Ragx_C#tRg7@~7saAYSW5^D(ea z2<;05GgoBIG-j+WdLC!gblk-SG(f*Se(1Jnu*Xc7Bf@(DtAiOvnEoEo`59^ zldmI>J0;8A=p+Ecq8&Z>2#r~oe2y}-GmaRMEDXfP=B|IdFqk}96qs!*BVByC6hIr8 zGNi|91LznkOtOaW(DtHEZ9~=e_f)Cf$fC8(6-MrWl{;t}bBra7;TVoSs3kA7z@q3U z0>mZXp>}H5aMfr&9>!PxTzP{Y00W zbQ3rD6r)1=;VNWmKa`6->4!%vFzg23P>zLe@NFd)xxu%D(2m09`j&2tH<3-nce$&_ z#z-!eZhVx{a+RysrCfYEdt+mFqBj+tf^4-zs_`*p(F&xOuj_S2f&p{m#ffjOIMI}F z-v?hWCKzCYve${e(8lxzODrf;UVe-@!;;xgge~1k*q7TGGyg!CYuY;HaLsCTH}{gL zz+SokTPh%POk01K{eU|9U;2NE{?Bpic{lt7ZC~DhF15{lr)SyrNyTT4f_k!+8VnxWzqzK-K0*&X+chp|E`_zD z|2z6-J?`iKhC$F=5^$GF!y!3^qEQXir{GY{HLl*Vj{b__3Jord z3aQ{T{5C$z&zKi}PJ(jyc?l}v7YM@tlAkZ~6R`2)aqmkdq)bfjy-c)Z57CD8f#9bw zMvL-z)ZojKdmBH6?Zxe>@$HVPjV~pSxv#=neus2hG4_u0A;CR}d#O@0F=z8bA<4j;&z;mWn3o|`Hc+zGc_b*CSKaoGY__w9Qf znFu&zVeBsaqiz2BV9d?oN1A~$mAmeG)s*VX9N>(jPk9rxF{;m|XcZ}>suM8C7 z=#TOoXc3NBKX#V16bI|-eX)7sa&$uBV7#%r^ka1PrJ?Hd;kj!1y||{+--n3vVb49z zm*VcXxj&(E0e6_^JHZc-6?n`I(r41n706qP9;C>16c;6}t=sZ`SlNr$8%0ZW*A{xY zitdC(hglQU)45_Tm#b{(&XxE3u2;^o?R!r`+z+Aa3%s%w(%wjud$5pH?oSgmC@6I=63}jf=74y^@=IUlhq}jwy544 zC}w-MXU6+_wmW%g1M5pRZE`Z=OGKY*!MWk-Geooh8wv$KM*GH3`03d`Z@f3XqaRI% z{q$@dFTdQGCpwD1!+$#%!q;0&jFZv0vkkPyBF?nHj4J-NP^j(a27jYxmp3gR8+~_{ zvm2Gh!z2Vhm!Dto!y$b)_#cV=k{|VzGA8k<4qm8L&dy_A%V~}I5%`zEk3Xpo?Bq?@ zeTuzFY5$z)@9Zabjx{Rt*LXx!__e5jKlzPBe#;Nq$+<(h=bdpF7vd}MbMsT-??LO? zRPYB$#fSA(IaK^dBIcB@>sC|YpM+e6N)Cz35u2Njzm$@wicW2q}6V`TMrfHC;W=J$O?eh8rta`eeMa7gQ-*YQSPaj+7wJ z&x}Y?aZ?4NN@YFUx;|Y=+IwqQB+<`sHlB?-KYjE0hfO~E=%ac*ezUaJ*UWqwER?0o zxI5hqyB?n*H%ATU@!Oa$*o>qEi)898SC`>u=>vuGjxMEX@fKZ*X(s3kr3B%92ZZp( zrxN=l+w>VM2;!4J?u%Ne1utMOLvvm*NVL{fF5)}+ak5F@dFY|WciNT3`xEDb%E6yJTUa4_ z84V|QD+|%PghG!(^+xv}vb-o3=#E!oUMLl2gR8D;CTI|J=iRBHZ#JKzvQuT@(jzC2Z!fiGS!ci$dhUXVLVPuFOJ&cg`BlCT* z7u?Mo=!CtF+kBpespgFu_BXHBaI;AcMrhAoM`OX>Qi#er7+D-%Y00`NmUVM1V~det z;9%6qkXTDb+PRx?bRaSs4{>sd;}>YHOIJ6=Z*X#QXWeeR?*&+@Pzxq-4}B8Rv3?lVHha{xLhyb;gUjFnOKcj z^fVDthnikV_OXf5IA`uAh&PrA^NgUuUefWG@H359GsoBtfY{-ENe*W5XbOyy60mBl zO&{9H^JU@LUwI@Yz_HY(59{RFCOmggm9ZH~(F0xq7X!6mIT?$b#%xut60QJh9t|6( z?7l4-R|13w@RJP>%;2sbQ))tzmz2O2f@2 zIbh`~vLrT3)?`A~HJZn5K3Bt3^I8r2o6pg3vq_d`Z$y^FX31KWko79f<2GNTVXFCR z4f~t7Yq;4Y2Mk=1B{3t*x};^%*RkfzS>h~T>ZYd8hKT%bEWZWIN5?>AbdAVSLE6cy zw7H($;^Hu3n~QdY>qS=9*IQgd#j*mLGs%?gu>}fcnP|@>)5;c;P?l-3lj&(KCZR0T zDrLggXPotn@736^@kjb!fdkohV-q(-OrbcB=X2(zZ?5OF^U@)C1S#Lv?d3+!D2JJ9^@FTo_lKE1FJVBzh=)Y>*W;7R>Cz1 ztAvN}%SiZ>jD)q&;h_RdiALdJkd1Zxl+xkh5_q+XdcEKXA+yn)^PNk2v%!(X0#@X; zQlYmH97QY?-xQ}*^n{7}nNki62Uh6FDNXF>boF22IgmJ;pAU}~Aztt}f{7cq&+GMe zln+F6ke^ORZ>D^2N^GIxqqh?eu#l%`J6(3$uBvyGtS;D&DMy`{~X)= zgJPLf^FtEM%Qio(VW#;J!g)N&n~pxO@+Dp6FL3cAl1VSZys1_~Q@~xe-fTnvrNhwE zZzQj-Ozwi%;XPtg$7UoYJcinvQnfL<^$Ct1=@D}4w%sL4ndl+Zl|>vU0`9~_C8mO7 z$?bdcs9Y_4JT#3ay{3c9_xgGl#64$0qUV%yzIhm@PC=zyKKewN73gtD8P7+4#kqt# z#}xv#jm7r{uyid!A8q(g*&Y9B3I1CW^!Fsw`=v&HuOB=C1)|^XPR{T^lK+WP?cUyA za}l~m(qzuFO1>Dt(mzPhD+k;7#}f2{p*FrSL2pdZcPD76v6cT&0v{i4<4K-n3H)Se zKNmfNphM^BHc#uGPV`1V*4Er?=N`g;X=G3$L($hXGVF5>VPVw0P}mkp%Hn95MD+H7 zRdF>4?Rq*vN0C;b5#WZ$FGQCS(KUSi#C*G(JQq~D zNnX0i-5MG6i_!=WX=K>%mTsb_{OBe<(oGhQkSEbiCfTlZD4`0jB}`O_t!~8@5<9LH zn@8+q8>^q0Z+DAb>vAUibO?W*=rXO5MWW^6==B;I$x9Ob;N22Us8&0I(%LmYAaC!M zM!PO-_9*ZRtGM+`1p_V%@Ev~dpgFI18Pz_P|7%FSfEiq-7F;XKvylaBXc}j7Li3g7 zdAUNV&+i*KXU&bm&^L0$vWq9@@0|K_lX~&8&6B@IfL}=DJ$uayP3k#o-f4)-*4zp) z`I*_AXRW#0Fr2^U6~b_*GPK)g^|u6lp+Q^LS^cP>R~fX`daJppbtca-=%+ESw(x5F zuQQ1+m3D8n?dod;Wz`~RtBofvndGuWpl{gh6IV@gEiKUZEwuWTl9z29K_70R>`OY6 zKQ`!ZTIllx-Dc3fQLEEkg5JwdK3W3k=c5xOt?k|?U!{rB+=(-qc;}pnwe#}PH|9<` zE+4sj%~e`$MLt?KcgjFM+Bj#5Ut$ZRC;jceI9cB*P0;Rv`6w}2NAc|X z@!34>*|l8i@0if~cR!)U$-A1+;^bXTXmRqcCbT$tR})&C{GSQ!KNDJFy8F+B_W$z< zt)B_4-|zotCbVdqI7Hb8h^IEW@@H!MA@F~uw)QGuPp(P-4O7@}W=~IvDXg`eUbw_u zN9g6|aTAM<< zN54q#9R10iu4H+?Y|D)jWkl(H{;{s7CwP*1FH7JZ*G$ouNSVXCd>?ox?_$p0yot-h zLzv7PoT_7wexBF-C>yeD7=KKHO!Gbo=4F~6mvBnbWY72!1bS1#qDIs`W8sYVj9Uqs zeUJBy|7LfE~LbQx+AvXkas(;iwX3Zit;pB`%p?>4H)+TS40#nU*NRVm1Qvz)AZV9I( zt!)!wY1>3NW1F-RH2W@XqDJV>wT!@>oW9MR6Vn8@rPNq5G@n^A#eJ_<635sGh~~v%{px2>Rqiu?PzZN%T29fnv+a= zKkH6bqtTg?N!F#^sa$Xp>8apkemP?woI*Gbv)s`t;%@pgD6mg&g+*^|ku!2Tl%pctfRi(_a`xdI^gkT^1KwQb zO>Lm$=}%H^y^r(>h#lUeVwH^~jLk?&cq(L}%^p6LczJo*n^@ci%ONK#IgM6~{zBo6 z(}`Tg8I@^D({slf4o#mMN8@nn=@OS`)|Gg(Il!u!%<1c5bmBPTHekoA+|=bKVhY2$ z!qvQuGbl)WZc6;EJlEy-@jkz0oa)gtRGj6l4X3j^7QdjI+kfL;wtXmkD@PfNSr}J* z$K|nEZgF|lPp9fUN+Y_2XCio%b3s>!PlHN_XGuYcv=}+aosp`gX0%54HqM4^Oe+ww z4+<%Gc&?Ccc%B4}r}Nu<20t9wZJZy6T8|ZOz&5ETFQlwh?+v(l>V*f&ONpci6Fpd> zBGW{dOY}UVVgt{)9{(+Wi*91nx?|;r?{Y+^vMJmoC669{#C&H{*ezJJ3A={#gdBY- zIT~zA7s3U~9!^s*Q?$uFFjwxY+POd5k(*lsCfnd#*=}rS<7{4{P##(_*@kSkBNDpa z*3QOpk&bLbCfo2_+1}jF_PbfxhE2AGakjFx%DwF@-&ogK(n6DE(d;arZD(2kgpMrL zLLWo#Les+bXtvI?^f3KvTqNz%;MFcP!_T;H6AO>NCPD`U9y!M}%@C3B;spD{3HI-| z*hhZ~JS)ep^*F=o5vt&_DbU)|C{z+K`lXc6FFIV(W=*Ob(}w#G9o%!2k7f9WEnIzf z$&rj(dw%NkxSU=m)%=2n{msv5xY@t~r%L4QhTe(uzx$l5v>dZS^|UP zQp^|Lq2)i0)F2`rohg(|5;|jqTUD9CSoUKQvM+1PzHSd?Z<$N>P%QhXgzT+t+3#)1 z9yFHObrZJQ@G*%td?0Sa|Bl=6e$$2qme=k|8%nIR4SBE9GsKt4grEe#`4&(Dfce*O zC}C$p5-zX_N&sAF0VMz~vVamcD`P+%+4 z&S+(wAH#nX{3*kh;3{sb*~7ry+i+Os2yxFgj0dR>0lmNKY0!jcx7El79VF4uoXj9XRlmNKg0!jc} zVF4uoo@oIk?&RG$qM@tDOPV6rkc}%bLQ^vFwmV39UD=d`(yNuQ9dETe(7aOl-he%L za3vY#r1(p51Cm>KG`A7}S6M&_k#7Md05)4d34o>rlmM8vfD!;#TR;hb84D-@@N5ex zG1S;ht*(j#dF`9<#dW5ih;L^;)IYa>Q}a4aeLppA-q0qwJ8MmNW1D<_n|z^=mF9~S zX^I_V*^I}3yKId9HjK{8B;O%{8@!buc$d)S;5`y(YX|qV$q%;4j~c%FBrp#eeF9Qi z@HuF&EvN**H5O0;;JFr10^nK;C;=e$QyEGCTyFs-0K}}yp#*>!R{>)S0VT-#f_N~#$0jHN=X))nM1u2uHbDtE@m{7>B>+BP z0VNVyIaFgfm4Nde3n-D`yw@fu0p|xTpaj5&ET9Cyhb^E4z(*{g1i(ivpaj6jET9Cy zeHKsxeI{fMBH`mUK?xEb&#GS%K4BA-0QjT@lmPgY1(X2zv;~v^_>2XV0Qjs0lmPgg z1(X2zyakj1_<{wLkcmeWYFFUDY`PL;_@V`r0QiyxlmPg$1(X2TW&tG<*7=G}Py){T zEuch#^8uTn1f2hE0VM#wY5^qxzGeX>0KRSkB@)8FVH1={Bs^#nlt9EcEuaLzw=AFp zz(W>L0^r*gPy%4P1(ZmX_8ps`L?Yq4HbDtQe9r<(0DRv9N&x)80!nOk8@JN$nv&mb z+$p5wbQ`CoAcdvf;6JoEl|a;wET9Cyk1e1Cz)vio1i()%pv0Hr(nX-#xCSTG6j3oL zLSjXPyRFF2h^bRjB4Lh)ZGsXM_j3y<0q_e8C;{+47El755xP34ksOC;{MFKnZ}91(X0tTR;hb zj0Kbc@GPJNK-L0E0C2O#^cE!m@)l46pkM(d0E!k+0-)OhN&xg&KnZ|(7El6Uz6F#3 zSYQDq0DKE50l@i7qp1=AB?~A4&}RW90QxPU1VGsWN&r+Wpaj5x1(X07w15)Fnl*J( z1h)J1kmXT=Ov4sX0$`y9lt}dYMK(bRI2T($34jp`C;>2P0VM$TvVal*ODv!Sz}^;6 z0$?8tC;>2L0VM#&EuaLzz7|jdAh3WE081^P1VGgSN&v7WVcJj$05&EJpacNh69!NM zfISKWC;_ma1(X2T-vUYiEVqCX04pq@1i(rQC;@PQ1(X0d&;m*T9Ap6{01mc*5&)AH zPy%3;1(X0-Z2=_!)>uFZfI}>x1i)GgC;@P&1(X0d%mPXPth0a;0Eb&Z34kLkphTiK z9%&Plfb%gHP$I#3lub|q&c|9n34o(5paj6_SX1i+ImphQBSr`QA~5(y{T1SJr0k_D6iIN1V9 z0Gwh0B>>i2KnYd>JkaPhMWEYwuB-w?6kmlARD`$7El7<3JWL!@JtIRkuc@6 zY=RPSUTFa(0Isrt5&%;cPy%4H1(X12T0jYaX$vR;aJ2=LNa!?0^o%fPy*l<3n&5bA`2)1@L~%n z0dT7Ylt?J}5}Tj|oG-P25&$o=fD!;Nw}27=udsj;0Jm8{34m8xKnZ}`EuaLzt1O^I zLcv$t1SQ~njRlkdxWfWU0KC=$N+e`$wFyeV`8o?I0q}YYC;@P%1(X1|%K}OOywL(m z0KCZpN&vjs0!je9#R5tIyww6q0KCltN&vjw0!je9!2(JoD)|nZpah)nw15%-@3Mdr z0PnVd5&-Y9fD!=jwSW=;@3Vjs0PnYe5&$2tfD!cvZ0Qj&4l(1L+l0Uxkmz?nhx3F|L26JBp$Do^6_yYqdfo%MN0h9p14;VlR0Q`Uf zlmNgF7(fZVH|RTZ{>JeuuDsQY*f8%05w`IPw+xi(;4AOMSGIf?H}D>Xu~dl9D2$~; zJcS$$!9U2iR!7+ebDC0{_-aSgZrAsd)>2BK>!&QB1i+^)paj5YETF{2jVR6iZa2J0 zf=YOS1btyhQ0+`hh36;ItY%VfteF(h)(m%MjHU$T;?4}91OV>L07^(J12l!5FX>TK zQyAk07nZi{FW4$5fvEqofD!;-w15(c-iT*3g(?9jp3wkG0N@!7pacM((Ev&S;28~| zgx=TMNGlype{l6JHBFJl{3Q~M)(xB|@7Uob3^+~R)woO*z|r9vF0o^#@rJ6#mcpF90kQl`JgPdUJS76QH`;knaa z2N<&VXTK5OpM6BbfoO+@gV8`BM{U_j@`57U;#*v9M|Vj1#_pu>mJsgx?tzpCcPHhL zJ(coJq@+S7gu<2sXX#nJuC~CKNDfW#P8&9{<2cg-?;HI-Z%}G5ArzWo$GA`FSiQoS z(TR>jkD31_H9A=+v1+tQC^2pHETP1v(Tju7fLD_uCdw0${rZlmPgS1(X2zt_75^!tF~wXMQNjaxQk9ez*|b zBk5y>=zD0+Cux2q6&OaXi6hXQE8$G2JS>r}eYef#Ktus<< zlX19zbUmqs=vDj{YfIvo$ST(QBI)DBT6c_!oZ?_S4(x05XZQR1)9pxUaqOa3^1i(k zpObzALu{ukyBH32zPFX;eJZb)fy|VF&771Y@6q?CzlRk=))<9pv1jxql+`}a!|P^S zeLxQbX$RnST_=l8`HYr!AI}|?kHbbEkbG~<$TxNqmhVqkel>SAoJrc&Nmp)@Putf@ z=@H+$hx^E{XYs=aP*NW2|B50U$Pd4&2;XT?gqIeEUsq&dl&VQC-UAUnsL0}IL=m2> zPlw-9h{x*>H&_wu+Xm~7PB9nHO;$=xypjIdHSxk9B4nrP#PIAo#qjKk#qdtGi}9VS7$@vp&p2V{%Ek$;8eea$ z;PZOCpBgLlM(;6L3GBxP>q}ZD+pBe=PJ^b06FG6zdS5q-twe%Z~mUMWtlp!AUv(hR!p(vFgYSIOePLbI;eF?2X$D| zL7kLzP$yQsDJdvmabB=A>+%+z#Dxx6qs#k}_C@=~d!R#>Ba|$jD>geTO14TAqZJr z7c!M~_hC@C!TP!ovKklNmWpm4hL*2Q*Mfuikyi%opUT&k=cm6#33^ien-Dv^qA-61 z=CK(`kuSf~VdRVNan5{rAE~8u?TFrV@Npq|=VJH?5ibhXYjMn|Sn_y>q^hZ%tw=$D5+U&k@!4cXK*% zy}VE=&k?>4^99vvuG+=Iz;P~dhHfPpslE+v=ue4QQt|?pIM^~#JbSCtuEQ5F5l}c$8YN*DMpv?ck=YM zb&-^|F5TKCoPppjI^gsVI&+mI7uRf@@=$rDylLJ*l$6#l(!Q+HBqcapO8jvrPg!`jDUYNCN5C_3PH?0x zSYMm$bm_b`;M{PB?bok&-f&EpzN_AGp3rr}S1tWu*Qp1%ii;0_IsN?!cHE9P?x!5{ z`m6BTxN7K_o>!E?=AGsDHAW1H!{K3p|n%93{Hb zA>)p$?{(ozYT^#e^PJu^C;XEV21NqbI!KTdc?EB6`r%HVA>rXF2p&lZSk9VKdh#Kc zMELs2$Kkaa`@ko@1h38YQK9)em_0wU!y6L;TpASuX7bwf&pX8rODb0{h?kUrnXfh+ z;PXr&B`>F61T_`NnfDDJ2m5%=m@uXvZB;VoXQrg=@NINRn=LzGZGas;!%4P!`Z7oRiQ*3-3700sS zM(|P;7$LslXbDM z{#aQhB{%`DMZuF=8Pt6=K0}?0+14R;dDWC0VlQF!t>Gt0%zD$m>J&WE7Az^jldZ_` z)52e6Vp~9^`QpO$FSg&6$mlZyyRgF}o$^OTzHyC`qONiJ*PT3kslaReR4XSb!Bfy- z`Zt|CON8fV$|EVkiB?Z+_1jL?z1vli6s^+8z`tUwoow*dyNwO5Ydnl9Gjg?C*2{zP zj9d)pOa9DG0vir!Yc?&E03eS6lmPg-1(dK`5+wY>CMW^$KNe6T!TC#@pah)1vVal^ z&PQy55^(<70!kz}e`6Drfb+K&P$I$kJDZ>coWHk#5&(a&fD!@K*~c0q{2qC;{+y3n&4=NH=Yu1i+&fPy&Dral@g6+0Qydh5&!Aws2Dv zib+u=CPj&ul;UGj3XVxBGA5<4n3Q7Ld%|2Mn$nd(9oGU%0HiFS#1*j=NsURt+XB;; zT?z7MET9B{X8|Q_1L%G*6Q!*0ThFkS_@uSGuenddRI^{hbhE5sf3sJ^&4w*Fi80Fa zP!coGL#a&GMGo$(CG#(gQIYvq4O7j(Y1rTVvxb{Za)9?1SrVHi3n$o;mDBRwW?sWo zv!G#rGppfdlN_94WJxR`OX`aEYsnhaJZ^JH!&Gxv!*p|@hW*U}4L2LMfU7pqPhts~ zTsJy+vzE-1=5d?pScYq47&zEqWJt`&kT31v8qB-1ML)b=OIA-TYo3Ow=6ns)%>^3v zH@h|5Y}f*J_C-I5&C-unYRP<5ZSFRmSjG<11_lmJH8Lb-WYAY|P`Xo#Un*3e<2G1I}X8BaG$T8Il`CpeDae%cXSPCJ6TX-9A|1-Wk^0{G^I#9qYd zLlK8>kvG1NFwZq`D?Czdiov54s)xo|(wUHP%PzBxhm75XM22tt3{J)w#n$vVzNeDT z$eppvnFhU(QC$cb&-!f-2D7w_`6e?x%C}-OA%mOEdZ~BF;4UDe!DudU*Mw23UkPD| z7Wfjq(UO6QodSkq>lvVDQvR^Wj5biG;Hels@YxOxPJ?38^gU5S4mb>H!pR!qU4G|o^j$L#-Ug9jhh}y<}*8Q5RPH$Hqqln_t;21 zT`AVwaxpv6YrZ-#Hjx@HSA+RvYJEG1wSqijNBLN#ph|G}NOcB_5!3umbN^cZRFIuK8?Lj=qp;KNn_N$kVH! zsvB=IjMUA`%7fEs#pw~om~J^OhS=d9Dyx>Y$Q_%Jlz=J6tZwPB`V0d@39FdzYSAtZ zqfy2!Pr?_Pz5Iv|tk8g4fE0xlQCRuXHM!5rz(U@cqKRV}wUp<$}I zOv7|@KMgZY)WUZC&E*@ySkuTgc}<{=uUnrk&oHxJV=(>zqe z{^n{8HyieVt1D4kVn%J1Ew-UyT6(Wgeca|s4O7hnG)y-S)G*ULNJDIMuoC^vNewrf ze8G995Q%lRF%8oyW0huco2xZUHFjAld{B*%n-8G zi0`d~)(_!?yv!!I;`a6PH~QTh{osv!cFC*rP1;>CR4GsWx7i}wcbYa&Ph_L}aNxB} zbnr56C%W8!TLzO(FS|wWv{j({(=uqxrHr`zvPp|3gKgE3H8!+kU+e&wa-r|gU;4jMtZ!jc7T5P#(W(p zQ0E_=il*VwWZoj)-E09r6HIHU@0DQ|bg|+Dp9JerIz3*lWr7hg@Kho}+L8ItSpKX; zf@zw^QPlL6w6{9#S3<+a1k`ip9SI8FuITf)2(>9JJsW@9wHhes=e#ub! z#HG}k&hIzYBdox?iZ&yuah&8#8(mJwro$%?uOAKZM2PTs5wOGCV2ckfpy27NI+Z(F zQcr+$Y(`RK>WXI`GktN1z;tP@N|c}#(dQ2IVZR5na6LcSa9nnz zAJFeuX3aem``wGPo#nTh?^w#5ApMAu>8ts8gOLuRvX?UE>w##QuiDsvXzkl6+53_A zB>9bvaT_!-m>Vpoewg{xPBTw+n)#HrnI$D*W(NO(NZ^}{(e)j}O5DQ1amvefN?9c- z48^x}q{zqNVn5>Q-WE-sY$LlE;=T|Iq!saaF$*MvEjHukgNRLx8xh;sh$#x*7U9z& zQ_ofutLmCD<20}j-G}eKWm59#H@-NQszSNd#Nz2x5#okVCE)E!{CbV2VjDL+9XdRN zpVUr?sdi#98=MJGpLG_^H&V%+7wH8=e0Ibf0BuwpN>#O0Q_!V=H4#IuB8;L+ake3RC9 zqlr;jgU^#$J9YEOQw%m2kfi=5<6OfYG@VUseHvBgnKsgH`Z?w(luL!$K0aPk#P2uX6H;{Z3%A@} z%MdN!?iaX$S&#(Dw&H%CfFm5*r~*p4R&5y`J7$c@ZDV}PWw(T_>eLXxoj9NOroZ#P6`y`PE6f%U!@lY{I1?CpLL^@~39qNsh?IlQ#2Tk-#UpE1roGDgg1*pgV8stz zuQ^B>-9=c2PL-=TiAgZHQ7-aqzZs|B;1>F0Fp?iwGF@w>BhncLgFMOaq+#FvliO1rF}ZaAVj+m@E# zQ`59hkC%OMYGo>We^nc0WZjBi@`=pG)1;}nayItQIg`j@&&YSnBL)3(@B%*kxtW%@ zu+ZC;_;zf-_yO_s3%1>?YMSsAv$~hS`b55U%y*7c!L;d&aCRk9>4DS&q~!2hPf}+ft6vEH3x^*me!xPTT7RUfmoG!%WffaF{c<)2@E^ zu7km4JCBvY#q``=3D~eF0xsE&fD2jzFroAfu4&D_W)P8$YpA=>yYA^Hp{ri-eCY$b zsLi!4S-YvtWunYhcOo{zT-DaEOKb7FD(MZoFUbga=5DI}g_eL_)a8#YhCR{s%H0&z zzyEIA*yy@>Hv;zF69Ln^5wPE$2$ro%TIT1WME^Do8NS5DeZFTYtzOJIp|DGGc$o?LA(yc_p;y~cy%McQKc3)<{D{Kk~dNnBmxFy!mXwZt`LbdB_Z zEw~S^hi)Qcu`gQ=Zz7IUA=*vsW@6d!1^o8ZO1-Jzg;1q5O%t;K-2yc6Lyn`Qc9c;n zK8DGA3|p6)Ovqen#_ugY+8KSiIUXYYYLI@l86DGHzP^+)&7RVQCNi?jZ2fnadvf}X z@!I3#4~(0OqHROsjJdQb1V7?YnEH_Gr2=N*S}xx{3mj|_ldzl)j)y4ZE9-lbpZi|% zw!UI2d^Jh+O{wq>QGq$SRzI!J#Ee1GYLH^3l&!5aI442HQsM37$i}=eW|)H)l0yGs znaxoLSyp_cR!W7pk;;zA%ca0uh10F`m3xuqW;JWAE6e)FtS_?8t7%I%i2Rhf z8oU)be6-$+uD4BCOm$}h>`~*E-tz&?N1V-DwljJRI(!+z`_fs{wypNbZVg_7w4QCh zvc`-)NPc^z>unuqT}h5r@>_$K!rYCrX`^f|RyJppm3w=~qU$ueHeLoRUF*e^JI#%c z^y1*prE0=?t$txQIvetYNeTCgfzj2$$ zZEPi}n3-Txgo_K#OD#yHyC*ln3K zYRFnPWeAly#dpF@#vLN!m84Dnmg;7;JxgA>l;uOS zuO-dT?&yNt3VFtAhJ}+4FG8v4$~< zvbhd3)u=4*_rf>8JC>+Nv9`&8^2OBzo+2joU5-tAUa(j>u?$yg

S%#!f@!bI@)dG|csdZzk6pq_FTUP#r$uOM0E+afJC= zqZIuw?QFF=FBF~etfI5f)opA6%+mRi-RXRMQs*P)(wR=^XKpJQ`93fDH|k0`;ag{` z`#?+G8;w3PUNX*^bl+#ocsYcQSLiSH<3}eCkpYqq*8;I4(ZBL=KfOh+%GG|WdPvQ? z`bO4)4Tn5Rg-4c@GQAlWx2bu8w^8`2ACmx5ocwl+gCp3IRNv%ApTK=&!?zQ2qc5~* z+0h8z0VwXUe_7hk*7%$%*gIQT#?N-wmgci-UM%vB8kG&p`dg*9HLbh(?p*(}GhM2l zlk0xHVAK#f(F4`I0HVC!^!ByH}6)58lBI3M;=3ekZw z>g5zbJ>6HR9pLg-TrLg8PvmeDUB*q|Q;mBM=E=R1T91v=Dqew0IB_PcE}$f6$=jVf zs(_^ekS_j{%b^UX7wky>wm)c(|Dq(iwAlPM=j#8fzC>Ja^iuF?1u zcDbswf5BOb3FWWxK59854y*Bgp~MYD{mZ#QHpMeWttYJ{GSX)sOB*3wj+TyTI1tq| z9E_H0I20YM;c&E8!-dh28ZL^C(Qt9}6b<=$@wtX5L>CyM7(Lq%-Oq8AFuFj) zp{OCDt}>!4A@$Lc8JY4~p-wH9P~LZ}1i**|lmHmDfD!FTFT!uKMK#m8X;MVCXu@e8bvbyMc)k1Zsa2X@IP>z5A_UL*ea8LW8Z zUgV2d?(p4|7fXLa#iBds(~$3%N_69Y zv`MSmd9qNHD!Rdk$Qgc^AGaJ`BW?Z>=*CC+;dKTdlOVj0-|*x7R6jpgzJYvY}M)MM90R^Vs+jk>JbxEa;l`nHr;kywd$(d8K>a zDAt!x<%4aKNxS^}(4toAz)ZbcuXg{$_M%RU=EE>L9#PM^;RdJ3Y}qAa!V2h8{) zOJYWr^@qzEUqO?Z1H`#$f5OpI8X)C)J$)*k}3tE2=oE!KUew|25d!unNZm6YJwu!dhFUaW1%hF^!kRegg% z4>C?1Wg_8&AOkB8cFh*(ycm@wR-v{u5p%IJZ~WsV>ZjntXWaAPE+`Ga5=?KSJxseD;70p6%qQ z@870P-~TQG>O(r&C6b;mm!gj)sj4Z}O~J<*UegCtLe#aAG^V&(*r0uPk#za4lejqE zRj#RBCp~l5Nli(bo>RlCNeZ~aFYH3iXYX3-HIig|#ipo7YW+!!5RC~XwwV!gRF6&7 zb8cUN53g0ZlO;C0&W(?NMEk+Jz%d+nX5qkD$v&C*>&MYPH%dRlnuS9997yAPG*wX# zjCW^qZuoto`jl@j`~hV6O<~{8laM?JIR^a@{d>od?cWQX;e*@#d+m|-*`$>C8VBDQ zUn|ZoFBSd};oY?(x!Lw3s2){->qoYHw{)Yi>fxy(Tr9OTF%O+>@8+@yR-+IievF8T z_p)Q??kIDq7w;IFk!UWdxE_`9xXj@Z2ILF9$T{I6XP(e9HlNwFy1ULg5L~+-;B;%_ z=9%a4K`P()DFw|oo)`WMRL>z7w->xR2Q1W3*?3)8aTXn5Y$WaQf2&>O`u{BKauarO zPf&L`af<7nFc{y0FWOu1;lo(tN$v?|S+IPidqP>41_k#73!1e;(HogsnaPecm-Tof zr>^v}Bd6`?;`od`Q|>x>%A>J-mx=Ei3>55=bMtUzc+OVW2YW~e}Fcu&|e-Tp~ovXB_UT{&Td_9{fXsjHov~Iq3BJm6aGvp zE0BD}&8*2+-04lNA%)ZLQc)z+SWza5>}OyL7GCvv1f?X#Nk=BQq>zsd`T~)-#68_Ai`CtwgeBh1rHq3Z6d<5%83h+NIU=RLMzQxR-Q0UXra;{vG?Uad_YG168*&3APkaoMciEad`P%_zaC(g9> z-M^P69$B(1HBjpsR0FnbF|aa2qb=)?SqIng6b8668GZC#h7mkuqweKugAT3ykM8OgrTqkd*kb;{gf4g9tEiU-9L|IQVv~-DqLmp!y zD*TXxO+?gNU2AhyR?;m@U8F%&d+8RUdHtB!2m^=wSx1G|Vc?Kon24$AcQj%<*6e0U zbPR2ccbTlJ-`dy5StZu8e|arlv}LcgGejypp7PX{i(=!~F}|sJjaICv@g=vxV$~<| z5K?0Oh`0{r{Yy}yv+12uXl)Eg%v0WfI8Lmr^r5u&7^b3LrQBM6pp2~NPNPrBAMd3m zb7g;yYiXM-@2aN6Wu(Mqq*gH|oRoDL3yH}8Z)1D;FZ3i2^TRQ^h68ehOV+Tv~2I&IknDRCAloW>|51&sJx4m7DRuStjFr~0>TuXZ>Zn?*bVX|2nY2sgR^QSR zUFYnn>RF$yUS)@yP_Jt0S>Fh|R7Yfs2TWAl8hZj;sm+2pET9z^3y5t*=e7kp`&>q^ zm$^Ppd?PP9P!_;?N4cVJ5!}Wj0`VPM*%nUR6TaB2b!D9**WJ66Q{GcKDQ69G_C}vx zr_$Opko~JjPg}5(lg$FAK)YGs#+wOxkSq8aoaVgZ|A*wfJNN}=3;u^6SC_QmFCm8( z2freSuBI+}fuMIgs0es;9Nn+f_yGRn-P^`CGWi=uM|oC37{QH(_$zn)`k>zE%+bH>b?s z{>w7$#U0mTo^wpmakxzJ8^1$dA!GIw3tl?>J@I1gpv+)JH!|g}Yw!o*;fjZM(QwyQ zuPi)n$)AtWVtd8;f~N`7e|=h`6#+OFUGm13 zIL>De4_VvG1{JGpPTmZe$gnV#!i5AdJz|)$<#IV;x5|dbBGSXf{EVlgN2PJO=~!5G zB@_L~e9kp%mn-%A{c#oh<0=wr6$!P9gjz*Hts-Hfie4Ta- z>Nx=W##si#WR^j)4Elp3{)(^ol@Z^t54PEX671#DP;DViQt`d@{*XVEFsDC+B%t9H z--#JU{1HFF0P1_gBMTCcX;j<9rD1>A*59PW&9Ts57&phlxH$;5IS92m2(>u~wK)hA z&9TT|G^;rl#Z9m%(JTx7McN!m&#<_5wZAyw8Ai}>L_LEV3cB4GtrWG_LenDYnElq# zN9pj(ea5uOKe~hXt81g#INnOQwX%NHp*wE8FdUUOUaUT5_2nFU$IUFB!_D}-or;01 z!=$vpU(g;SvHg6XuA?K?kL^dO_9ImL5vu(N)qaEt`}O+0v+UQKu$%Aq?rgWojV!@C zOgHK;@JHLGEA8d)<@?4+^GVoCdbT*%(h_1zTCsioeOI|6YhQW2TA>v9!AQ~U8XSm~ zj>U?ygMjmP*vD}6veDmnvAp)KP+ICQ9XVpn^S~j(Wf$>#*|H~1zMG8xzKfDPvSuaq zF>9CroXK01VWiOJSia_!hGXTLHyYxgHSZSI^OQ9jVZ^8_S^aTAaqg55t!be?z~t)x z!`_>~$yHQ~|2MbSxji$Po}THRnJg0$X1GjuXPJaB2}=@olpTQt6bP#X;X*e-ankJ| zpaMw%B>^G=qUclHaNh-axG%#K#RVdZDx6IQ&k3fQUl7^V~t?ZBWbG*DC#C_MC>7ezNG?@_s@0sWMueZoM$ z-GGWRXyh9P`pW=Xe)Wi?CVOlzpV;zQBkwYxIStUUBZvzYA7{P}7$eG=`9{ffmBh^N zT;To!?hcY>fqNNx9Zgs~KcCy3$lcxF_>sGN3;2x1hO{k4`lSJc{nCWP zl+*Uh^1FA{DH9Bb31323S^tyLIlYij9Jv?1rm{tEfQpJci0d=wqSdG5N`+jxxG|M2 zdwUR3=2T1BboPZsk{f7lVRj)oW$Y;()bQpOsra2;6qQ?Yi?gNd;#V!3!%wc1E%_zw zzj}G5;RRl%0_AKu<+P|>x2(8d=Q6h_-o3JWl@=Q%{9aLNvr8ApvrCJ)X`*sV$y_3H z`P1m*mrdliHT3b>;r<2LrSrDK*i#B?Pd1Zkb_s+o$u2Qf+Fy>BnZ1DJ$?WpHR|Zpd zxhGf17`1wKd2Vl{;pIql%Z)^r-COj+YaU^tj60uyhyN1)t^CWMz~|6+55PSQw_AYx z37mtyqPMlagd2r>NzSm6;E{AQe1h;RNY5$bru5H)_iALiDi%T^b{ea8+~ zBXZfOtVS~MAK8@IO;M+sRwF5Ik$n8<0)>0!A)(}8{k@ntdA>d7Ex{)ieEH#w$QmXh zU)hT>FIHJ4BVV{8Onbwm9!%%8$#N4U>Sv4%v5n=@U~HtNgQ+s-{ z&z;e`x7jO}{r@`Oo?gRwZaK{DtptygJeUTm7DgqP9m4sCt^PllZzt>ft&Al%%lGnL0wz== zFU83uxfNH~(O4|AReuB#t+7c9;Wi(jE5&4S8QlX>%3lYkq`{}i7A{`_sKl!+9fhGI z%iyG02H($Am^AV!$^<&CuR_Sv@K2UAr>jFeG1E|6%re-Sx(sF^-I8@~T$1EBo4GAG z*c_pM_@1DF8)Rk?d=p=Tb+8XI)fzdRwi?t-7r<=l&igwOISb(U$~Vx=WRutSjuaM= zJFXjw`Tc2&7PqdN1*lHwQx~9dm3|ESW$|t#ZQDBvTr9L_`cvvMe<3(?-e>7N-qFOe z(4VQ2bKWem+Ep4(vt*6bvT4a0(1Mh&)cB<~4?fqWkQ(z)VAtd+wr-Gy-8 z6$7G_8b2 zFGq8XVAIqrb0eq2vL<@-Xh!lOy{w#D35RQl9zx+7g7xEyte}`}))1@*gEhnm-(IFh zdQrHB_^C9A+5Q@0Zgy_4hM22sh`G9kxKGpgYY3C(25^wrUqjrX34%3*r0~}ebNl@@ z#N7Vn`+ST%BO5hoWDW6vKt+1U&W@}huynUZ4mZ$n4KXCpr3MAmiD}8_kkp+9qnQhd0CB%DbOenSQzvkNIm2 zoj_*EgZW>>{~P#^%6yB6tO0u;ZWR6q;VS=}_iBRA=BvG&VeB;#c%bNgiR~T>2W{0c z$PHLx1Z+St6O?^6TWlyTJ}c+2UW1HV*(Ni@abzsVVnxo8{gvvwZ(>4sj|a#(Nq?O! zBBIOxGX9x?v|7dec@dU^`a4eR@4z_0gyx<$x8X0G#s-WJ?>Vif;qN=G4}Tu}BJX7s zqqj40NKym@Irn!W1?&(S-4m3E&^F&Y5kRRm+0|ux*ajdPE(#<4)G=?ZBx;jHF>jrw zYT20>?8@v!oC)tX<__~Ct%T_NMgRU@%4B(;<&vzJcQToV;vQRNa?#0TMkR}gz|D-} zENR<1Bn8V_&c85=&u0~nj>YdPQGlFIzZ*`wr-0bQ!olG{(OoR>XUGdV_ec!35Mj&( zs-EtQS3V(8r$(ZTc&QkSe6)%-aVvCJw_?*JHre-Jjc9W%(RGBYr;$~xPm8isRLrF6 zTm)`xBR_y=BDpz8G%zMHVba!=cRG3VOBN(Y1!Hx+5Ru`Kq6vEr-n4fH&|<3rb!l{> zTujwJ)LhDzuoQ_2OUX=IN=sNu8gFV+DUs+n(Ss@POsHrp&gUrSS@`5N1@Eu4rTEfB zJilRZkQ2JBVg3Mw6las7{9SX{6Pd|3-5RotZQ_g>ix$t&<&o?~iMoX`D_gzZ=k14~ zUU++hROlQq$8%Z0)x5V8)3h8Wt5nKL&u{xuvHc0nrKg%j!XO?zCyR0#xKU;mXPy0uF+TS9y zUjQl>qky7|qDg4K5P;Gy$*LY9Z;{e2VQ-<*ei2ZiT|iwLo$@XQ#yuNQhaHW>L2CC; zhS(~>@-Gar(9s~)@cArj_Epzi z%cXKfmqAb{zYJ)8$)3qgl6oTFDrHH><=)lT0!fYvTy6YP-YDLbZwe^*xwc~CkWd$~no)ymK3cWC9uxNhq3Dyw)?P=}a~?{`QY9+W}D)leejLu3qkDxd zSTb-oR=&$+es}J4>!fjC$IqCg)-0oAfvYH(2 zd^IJtW--;&;1K)rdG4JshV5KGA8-z@-uo};HzJcPpbL*7h6rqpt(#nHF$%M zf%Z@ek3L^rUP^q_qC_%iE<=d~eM;Vjm)F`5B1S}|p3!!`Bn=bD%eXxysqwK{qBi74hgDfv+Wo1@zk`bSFRM<4u9N=Fb)s*uPujy9L+> zc3I*(z&9pH74zsj17FB!J017#0&LC{to)n2$kCNDi!x?VmhQg2^N_U$fkxyRWHrm7 zVQ~wt)kRqTILUUH2%B;|PCWn)4*==`@R9(a9sn;50O|p7L;z3^fFlEddH@_10MrBE z=m4OeKn^D2m>@zu0FDg+>H%+e)W1HD__Kp}^#C|00H_B5mmiuss|Ua<1Auw} zoEHGp17Je{P!E9f1Auw}yea^w2LLK{Q;K>3VCrfB>H**d0QE$;a#0YW9#UQ$0MrAZ z5&+Z_Wc`+VCE}8MmHfOxe%>fQZ<3#@<>wmtxmJEQ%g+{mhK4nf?QW33A+~#i#H^E_ z+XQm5X1D9FroefR(d*pvqX|!mB$OiT`fDVi%mK{_UlBCb)k9t?L{B=cJ~S&_jZGOyZibE?(J)D59l_y6V@}({Z4S(?gb=s*)~c# zv$P7C`lW(8@4bsrJ>NR=Nm3@$JKS?g(w53^!w{{o4J(13Z9GiayDgVW^=-?gMKOB_ z&!H-pxGpb&g+|I96%w-PwRO}G@odYswQM15<90@NJ(9Up|6F!vgsW_*#B=EE0wpZ` z{b(wGoqVVPZn|0fvQ!}mBnb2bfh2+6Adn)^7X&yLp(cA=U9oBvdvhuGM#@3vmisG? zqWRr5sqQh1mEt2}!V4`s+*b-!38^hjLh49u(^A_OsjZWmwJn!P&EA%4P0iVsYs=@_ zi?2kD=(shlFk0qpt9z;V>z7E)+o^Oye$nD4-AzOYd$5vwjif;Z+lp0IhHEHg1E(cB zQ!d_2v)|$~DmydVfyGj`olO|j!rUA9=8!$Yga&(r2@UqZgpfTgQT8|lW(B;;5SSeV zS_#Yv0&Qzw7Hm2QBcEVyH;jzWJ*73R7bJ2!qx)_ein#~T@RoHL?dn3R=3c~)Gl{q7 z0TbSC7v63c-fkD(ZWrEe7v63c-fkD(ZjbWza^aO|@Zs&N#b4j3yxp$6-EMe0MugAX z%OuS|&D&#?x6d z=rxRUl3U=YTtiaamup#n#b>8CCpfm9P1x!F)hA~YYq|B)7+@smct3A(Z{Z^`2(rOY z-HP{4Gtdm*D=I-P=M3EUhUEx1CxekxbcGNT>t79IRRAF>NORWdav=XS`<(b`>m$BlfdPsM zxGB(Q$JWQ!o4T6&XsNDc=ZD+v{@mgg+2@y$kAopy0@}lXUTZ+Efc7yU8T&}JuYit@ zq^hi7;bLwY+0erU)gFx!vf3I<8CzP~q!I%kd_h4MwCh`Csj3|-jI zz@!LsepEk)-hwzVULu9fH}3lWJ$w)O+Wk0CN}Bckdj@f56pRnKO=Bp$qJ?efrw~QB zpC3g5CQ8~#Oy2yE&DTIC8Iwse?-UPD!pC-!p8vg_Fw(r!rO}d zN%$Cm9{KF7>uxKy`gy*0-x*)KO|Je;GLe3G=nNXRPNm~*!C}WSnU#n*W{Zw(<7~{D zi-^Z$NF6%WNCE@noej9i1Vg9J^%3P7a1kX#cxwYLlB2*4{+0$@KnSvEEKpkqrYQmnw6snazm91Xg_+4!R|7UDd|LbYEGvRzK47l*_@E? zV(y{mh*K%XE%f;z#$Ae9D0lff#dbS+Lo9iNgp}1p4nJLBT#R#C*Rt-G{Ca&dO1xE~ z9Y|@H7jyoZ>6T>6Tio|Cj^3(P{Hftzr+J*peLs)^9fKt#gR&nobg{>3y$`(A4-g{~ zY$tc*ZFApDYx6z`NM$^s;}=OYNc;6^&KH|LUo5`%h4cC4ZFk@DkII`zxoi(+=gGQIjJAK1ib6Z-hZ|(3i=APmOr2RmUc7v1OAgS9->I;M9bJq_4n$cCp@I6TX zLE-Jz^ZH~|m4+>&cL#^S`_d=7H$mKO{)qf^Bo8Vgoi`tuV5LB3(i(yc-HMtks$ZgAg95o(U& zq@cX8Zc%Hp!d5M3gam2h!+l4VPW>HPWRG8@!8Gs{6~>-&Ni9@5rZEAJ2bO_zDVMaZ9()H_iqi_NF-MwF1`ADi>Jmw^Yq zGQ2XMIwk+@D&K^Po0dRb`Lm4c_Y(bDJLbPk{Q!FaddCLui?WY&vurAyPKtpsiE&XB znTPD11n1M;8wtkqOWKlgcUvPS=`z8}bpdMUa|7;2pu^ntme1JUJ$$~_;^_?BAI8_l z)Q#NL%j8|99J$ji#d|h#nuPak+VbGpuyj(@GnP$E~D?CXk4c2M$=f>0Q9ykl}GmhKXzB< z%-5h&C>M_l73MsU?4M@k6U(*VNkbVsr+Q7T_C&c8#ig(?v(P6^~;ZSFU?J%p}4fdRaY0yoZ)^JWED)%j2&VVooak$OcvO(ix3{r zedd|LT@o?9-z7=|^O?CKyv!3+8c=ThH&A2xiSY4)3qpEcO&Co?<2>JgKRxcxsPdF= zTd9OJiA~I>peej1M8Bm|e;wk5+|^6d`VL4mob*0TJ1lkjfzJ@g#UK3<)!ON_a7&4~ z-ln>m7Lo}O_IG)om6X`9mM#@rJ~19WTNb!G#By{TQN!$f6ui$#I`k`BORKUi`5l)? zl=pdndfzJRYAi#)K(Nf>NDNHH9Kk!3pW@62;AH?B2B&iI=Udb;^aZL^ZZ%a(dG~@n zTA38K@iH!(J4|}4J=Yk!UCTPwy6!Pc?-a7FUs(& zLhb6fDb;%rSMQUVw#@yknMas1gIX`F{s%e6q>6fG_fqKi9CTE_BZasR@#}q;pZeDV zCVy3#e7i9DdqfP3NsN0F6S4O&;Y@M&l=po+t?m!_O?yA&xB4S~yhr$HHc$ay7m_D_nI=dIKvH0LApOoP1o*tf0UF* zRex;03)^PSp!bM~07q4yh{7Hd7^tKVp2=KtueAL?k=Yq%+L&eTe*QCIq*(c)m)u7i zZ8dM7xol?eo{YY+SNjWT(%$p@dVl2y{nb1yjsGTI?5rdfi{%N4)Qty*1d}70jio0vU=)me&Va)N>r>gB?P{qa*-v z7QYM-QjVm)B1o;CAOc!MX5NH5n|4vZg4#0q{T`=uwu*AL8V}aL6%3Bw)WPvxGB|dE zdSFaqL`F4BD3z0GNzw$&Z~y7u8qj$;Qdc%IqNFO9$+*IJ$2Ef3uuD>&kfc-p5s>?& zR8Z+Ma|X>ZTfK+!#K`I)3bQ?)c9+)jVIkrU$%E`%EOi%#IMX1&5>GF4u7DV>$?tM` z0UnXa9%ofy#2AH?|06$isjUV|VLRz^c_!ZJa<7t4SP9`V_itd+X~%ZavFex^m$#U# zFG62zvveh;zkium0EMh-PtbcqH_oNlww7{xdLzq54)SBQIj6W6*H}r#Tl}oN)b6;b zjf;cDK0hiO_v79xEmPxk2`^H_UAC@uF7(Sc)hL~1R>I|%M+oolf+C)LSBm!AB}Lid zoEC$H;{l{Da;85BkJ4KkC4WvHNsu-D1(bb1b@$6YGgdm?ObHveQcbRUJ2vUf0#lbe zo8QubCe+rV{NO3>))wVQYr32-4yOFF3?G$%&U6z@h_Hu-46F--Tv-e51r7f$G{oHZ z!n-m{#ffhD6sUal%jzeId2^t^2MD9@k|aSJI|dvNNE@3=jI=SHw#I^QR2+j9L)?&| z^5TUwzIjBOp^8NUS9Hb(IaH)&c6sxOQ~DNw`%4k}daAIml~(>L{OCvO^q|AMe*#F8Xsv+vmiAt*4>e^;KbuiY2btz4-SX4uL&>8 zJ}(v;UWj9OF=HC`FKS|i=|E-#GHoTMdhV|aUgjy~@e_?CPDJOfP{hqNT-3z?KN&b_eeiOtO$j6-tut-nUu&&nSk z(2%s`PL^*A4f51o5p&m=xe+^CsWF|$RI}wijy*Lu)iwk4m?GD0e_VK&iG_EWyXeb{ zgY8&i-Ge7nsE$x6cLhHQ7hy0tFuD?d>*zlGwwZh~eOC7+EXoRxcjXseCS7$hEYmOR+*O-EQ7-TZwEY2kTao5<3uY4KDKi0TOILxzhw|67N8O z1@E9;MR^Ak;~k=j4t>EyJ>Fq27_Ug?Th{4oJkI_3r(mIbV@Q$`T6vFDvYA$?gb=!G zYMN3Myq7eQ(iCavls7bya6&H0bC$vn;S~>~>T5sERQM^_&i9kPAVs@QJ&C$qC-gb$ zzq6Uv55DT92SIcySIN4R_3va_uUI@v`-TvV_75qxT%uT~%< za%>6SpA+!DJl+4f2h?Q^cIS4@U>kDz@m^5bDG-kf2LL}>|r)M=#H z*%Q6vA!>gVZE9a`emt7(hpuFtTSGiarvvg)my3fgcmFvv8zr}N2 zuB)@lBy>MX*vzS%$vlGbi+=UHILdt72NU5P7y`eVe+&aTg4PTl1I|9J)fs`yIs5^_ z<2s+SoAzHbpZk}%9nU#ul zIE6dYP2na5Q@EeBF(OYV;`oWCN!>j21=yxZ=#S%a%Lq4%nBE?l!bJ)hkf}HoPQ@6l z22(LJ|J12i<1yTPfvI@fB*9eNI&uenC7AdnsZ4JH-~4+JGkO68FLfIx9!p!-WqDHr zjO0~%0z3_-HnZs;Cij`;-<#sk$;Zo_?2ACDRo{{6*B5gCS5Lo90`DD$zTEf!-1OVg+2K#W+0N`V({E$`z0;q6 z$0p6cqC;Q7Jo_>JTk*@E%*$2&j{lp$9N&icjR%pt&)f0pw?cyu8EMI{mB>!5gkh z26_rMEo|!uYt^;J)=6F@+wji7?kT4Cnth5ohUy~UcH%15hf&)J2{&vfOyD!RNA-V> z?ZmFDgzbb@>0h^AH)43v}RrEPX%B-T5C zCa7;1nRwrtQS@}?{69MRseAI@3$~rUtJ_W=lN}$kCoeJ4J^B4!%%1$tg6NMbTj)b< z*}ab@=+ZojJ2_7~2zlktL^X3L^z21KT>2^xu{AFQGIZ(IugG9w{=#mE5c#TsmKVUd2yq zF_-o(z$5kq7Yg(!@}v!&KaHAO__Tk18rp3r>_5=ZYg<|Ckdp#^p7a{a`d&zjm@?R* z6+=i!rkG19A#yE1gAl(^2niL4Mz3mHyIK9KLmm|==V2-5lRl5W506ll|3Fw3H>~=U zu<8!#Czfo*p=V<8>-B1w)B1bPh;fHa5b8MN^jN$n2+lp@^bN6iZxGzjec@@R%RWki zFJ}JY2}QFZ*57mHY3H4LYn&q%0i?r+^aPN(KA<-MNRFYQ7--{ir~y*}9-V1{Voo*0 z<($Kr6sP5NQydK_8;ftp^dQ#XA78iqc6E}si#}Dx`z$W=LN;b<=Gdcel0oNs6Q9sM z*zXgc-{ACZxfV53#yG8ZER}cD6r0Z5sr>bBE8bhv1>WKf{5^K6C-C>$sb1f2r}J)# z#5~5A>~S4@>+K}>I|aVZhR=`XiW@tgSl=FB-=0|Swn+xV&-0-DzmK;5wgw>u<1;)- z%YK6O19;N6MYbyXcUOn4)q%VnH+8#xpkT-Qw3@dM^w>OlE;YV=px2J~xBCA4b&`AF z2z!+2G@ie4!}=2j3Qe$r!g`uuJp$`(0`&^0xICHa#)CdEl zWZzmlmE4}wj z$&MFX)Fa6bo5N?A?rZNePHQ}$%5!p6D%e(B*WaO$Ij)g1oBA7h-&j|y!svRMNXp1c4DI@fd`sQ-BM}1oEFP- za(Hnp)u@~BJ)5LT$?F-v)}MQ8gYQAD}g;wg#RyLu+O-t=UW-JJm@aMb35# zd0LUSWVUrmMaUB&yj=)K6Ymr5FRMbrRfz%NuYhp>)8ze+*v{+k6=^*BC5KFaJ{HG1 z)%@A>OhHUpMx_OU#GwUYZA-n`a z3+p)LxrZDU_cjvb;AR{%u1oRayc);j-d1kFO-e#8-CgvMSQJbBFQjgdPpO+f6#Wx* z>w@Z}U0n~|G51Vj8fdosNv9SjdfLJw-uNb@9w=8nC*#S(Ivk|1eftr_Q1uS z;R)(Hz8+k<>+h(jIuPDlr($S^v2ZBWvjw?_E1bee6yD>f2U+j*Mkz&)p4r|eVRMb2 z;jg5^XNnYAwGJ55($`6nF@7*U)Z~}rXHB_~72@l~n@IO;nW-hRe!Kz*#o@aW-)1TG zPVXwbq<#ZV`Kx9<`D|m^h{5t3C8;f2cv23H4k6g_-h@BxUCnRx8h&7gvC-XZ?ek@` zmOO)ION`skcZ|97`1Ljuwuk!M1q8G|FBTrcyMn(1P~Xm{xYOO8cy1TMui9(gM>MX@ zOR3xBW68Q;Z}L7#URyfpg2;2z?P+%l1!*I1+u5yF@(ok0hqY}CaVXx{GdNbyd~x4GhnrxlspckM{!qiS)lO$l4*`Y~=!_>~l2n`Xj6&^k~Cku(|pm1PJV#LU>=wj8(C5VmO8yodf)Aia;5~f(M-5ca}DVDQ@Y3~LQ4W{yG z@6C8p-dp%>E6P!x8}YeCsy|3z8-emuw6@qp{y!V7jqEE(P~A?fZx4U1)pwU^PcpX1 z1SfyCw>Rl}mJZmJ!}dU7Bkyk8-d@1;IeWFM@Rk!Cxw4VEuyl93@x88)`XB~to;%$= zNvi3KCmGb`NZRl2DlJMLA)|Nc{19>f%IOh{?P1J13ux9X@mlMt}$tTNmLtx(HkQ{cQnaW=V0(mWb{kLAd33iU%L_0J-#(Cc- zZBy)A-zlyb(y9l*T>(Hn0Nxb<)C1t%0YE(f{w)Bg2f%v*fO>-7wXn_r8uxCNFC4%w ztpAv*P9*P_y5B-fb%#(a35OO|&WEF8cdNhtA<6qz$t!cMkyWpkF~GYO;P|1m3>|?h z8_DEb;g26-(=6Ub{3T22G45^nrhT%_<-~NI;F z53SQa3hK%D?^pc)F8HM{OMQ?Vte;BzxRenFb4MYUaCE*F=tc*%?IYj2QI|T)OHKDe; zKi9S;I7Gv&C1xsDkl0*;P~~iZ%))}myNeR=2Z^OX?`#t<6nSTfzu=uCPW4@qxZu6p zIR7ST-@}h-2QlkN>irAKu6`5Fpo*yd3_iK5;a&Zw_;m38iL&k+$~q_?7?T(`2jdx+ zzZHNL;0^#axNSW{|4XTt`(>a`QqIqFJn_90Uz(Hjwn1x5_Cvv~@gCOv)IShxS3i&v}v$l0rDg5bwB$%cnOo6KXl@Dbn;-KST=m zP-47$ByDjwQhyj9=I|fENvXki3N5_k_C5-T1RujGe~;P2n#lj9F?)d9$RJs3;VLs{ z^wl|ZtIx`-+gJavA5^!m{t-W@E;Pw|1b@awZqMq|^;N86dGqf1G-eK86>q`AuF`RT zNTc_@DZV42Ytl4%0w5i+!Xdi;i{P{UTtC}`@_o!OFEM7A=cqDQg)%JI#%TGFG^i)R zjs1;Sj8?2OTt{vooWl8);0Mg)fis-ij}eNn4r=e0TX4Z2B+_N?8$1NteAC zmQ+kOACnI$Gnje+d^`ZCCzxr7_-YWLo{!t^wID5Vi;1}2C!}R%d7$(wBy(56KzFm$ zR%2z2AR?me?oUKblAzx-pqRT~17_Be=)SF|h4xQ^Q|z2Sh0E2qpB5)k`wWiUdHY%1 z>gV`rN1;M%YxL8#8?GX z?k1DZrSdT{*4(3z!I)V`+0+O@B%8>@Xo-FWSr>LzO6QWrYEZ9IwExO%#4530M# zAaLntLa>C~J`hVAk^VV?`>gQw2^||_wLj2-;Oig7N!0#?BYb^Qdf0!ES@`-5a7lxk z=u7!_%(JYXrAF?TItZ_yGj;e5S!%_E6&GGFQa4sBsT;4A)lJkEs!JW1CrH>`8&Y?Z z$>%aK2Ae`zGZAG1yc{~y7RI+n+Y-7V6^A0eynMZ$I*D`rAT zk42547;zNrgM&)`V_|x!$wXg*C!h@~zh=RBImhZ<9_)F|u@)bxS2AcHIT||t1ReBc z?IVai+LxbDH&%O6-FS^T9eAR~RF2y%(?0GdlUy#&k!B?!zefb^f;lT&ecJ!73G-c( z=DVi+@A_-`uBKh(TH5aOLgTYOjTxe8d#&OmYHc{ucApa(gSN{ahTryL`mRDR z`QznP{@04@*NT_q$SG%o;HTP!Ei!Bl#xF}UrAk`bm1&h6g4q4!sV0-H^5+mmC9{upQFF>H5I?0pp{?YOyx%9J|G$!u zLReH@UM%4Pn#zh078cLBU-`PJ$Ok!+S|>+^m0j`9B(v)bYZkXr?gWccEPdnm#A^R# z*FvX-Y1$LZN7*w^T3pazv0%$qnHy<7<$zgdxq z@eAo#QaI&rV|g8UbE?zn@9i^<$*COJV73!&OitzaFhUy>oc$#7glSDqg~f;8M#%RE zdRY*0T9~gn;=C|IKPxXWXH&6)N=^lLJ1B-stF1pzJ+&t>*VB`j>VuvnF=0>A=G{hh z_L>z`#|sN-2`IWQgf&<3_Amk?(9X<6o?+OR__a$pmHWda=8G%41I#~qp;%K%o;Xj? zz6#lRmuUf=t$s^w)t1U@+e9^S!C#NvX6^MIW8Nj}>RV@6qBD=!7cqdy=$1*DM#%dt zrFd+stTJKbRF@?a1yBpP9pTsB>5Q_lNk3gC|hwQO{_E3-%>Cr zZAte(seo*}^eo&h8}D5>yK**n09F1>&X~*O>}Xhj!nG?QjIC5{0I5ni7N*PxP1@OHS7&;ndw*u5Ec>Q6Lg`(ivy$5; z^Kz+@Ou!;@zZcH_oo|NR_ipKjXmdoCA}FgKFHJT4DYFG{qU!J~&(AZ>Gn<94mwQb3 zqOKoKdd&IUKapT%kqRHYo&xaNNj7LU*}_NdhVKRGOhq8?tm~U_tx;)HHh+ySpln@y zn~?`azqTj!VCOI!V|V{&RF4%H%9M`5aH>__w#U1=-1ksH&>+7hR39T*+l@JWxdl%j zHSb9H)kerP7bR5o7T)VByA4UXJx)sIj=FG=4gRb*7N1{+9OS1W=cg| zTx(Fb7}U#~@^+^6J+@p5V}sysz1GgOJ|n3u$}>2+FjR<8WT57?_AFgbdaZW4RRwnM zsUgfBgbOl9uY3lhdS3sFn};U2_6k#NU$taTq0_0>%$9Fr9^>Pvy>$TpVh<*N(og5& z#`q4EbE#%^9_am5=S{R~XCUeA1_(SanD+L`X^pM|#>!fURf|(w%ECj|I?L3J)%H?1 zUR$niqQ+ak#Ix2}VLXZ2hs0h8CQaT(xQE@ ztXGV#Th>VIsb{M!v~&%?LQ6z9)?uPAV)9je(Vn=zz9{cLMY+KkwKw^9q02#?`44qD zsK&k?sK(TTYV4zMP*h{$hN`izHB@6C18!m`sm3J9WYw6$DCHYLDe94aXUjdK7Ck9z z7u-)P&W}rp$~@auzbw^j-z00y_E5GUe%hlF)c)V29L2CH1SLG-?9Nj#8EhmoFl?4l z%s4w&+wP|*rQEOUc`ZcN^G)fe2jrE=M_|0slk$eaan>v|o}{dEF0fWp9olA0@7my{ zrfd}jl73SZNb*h5ABk2U^^$yA1|I#iOK__+EXRF1@?G}=*L2_2MLGBnziNaI-l@q} zdmYi*#A;ZE$ol&g;@CB8Lu46#8jdVA`bbozEjzN&?YA#emlnY>%g1rL!GVE>;5ftJ zIMc^5TX4{=9C_8T2?y`XVE5wVILqKT+u%6I;5gUEF;{TVB^?)iUlWdu;OO^pywcz} z&*0c#aGdYsm?t>s&W;=yR2(ADEQc?FF3Y`-R`5@0viR;DGJZMMyrDqXWZu&bbXhNq z^B-xlLj0xW0e)K_XA~WXX`mSAy;{ab)%1%BOB*ob6{?UJvtw{yLzgvkfzflGJX!xB zM>pVz=pPxK;yU$4RS5A)sBDNwlnwDI%7%DEz>cectrU)6nqVoJz0;9-^Zy)~ zDgxAy0}QR93}A%)f1PSfp_F}d{pIz43Hu(Ty%=rGbc}vHjP(^L@rVK?!cr6{(mV^v zQE38bOcMS&G+{I*0+nIx0NltBG`0PsO{e{fzJ%M!tu|@@2a-ny=!0-04L{Jo9Sk@* zD!+|R5bEC=`jSJ4Z_<|tHlr^&v^nYp^d*QC|1aoE+%GWt2I`W-;Es0x!|_ZcUn0yh z-CttD?*IR_x|L@U{ zd_y`eZC3Onm*C3Zbovpk_6zDqzA2b|2_{VVJDCquk&>x&?-z(VO=^^{Nyh(b9m=;r zI=v1>YZB;CG+>r@>XikG=ujl^->E~P^BElqT^b#VBl4}$p-9X>twRxVn{+4q5Tyg8XE7F02veln~Is>3v?}GG*8jBT&`}c_Ih>WwJX$3)UH$)UCUMK z>8`y_-AyK+n2?EzMM6f!5-F9Xob02Tz3dKC=I2FWa6IHmnJ-f}Ry#r6c8`C)cazEIvYeALC1h-7B4sjAg=J<Lt-ZD`Q7Hf}-|+qjg; zavM)~?R0fFnS3s00#c@g%qD-N%=N-usi)Wzbeb~NUga`nm0f$Sy0O}*y7Ag3brZFk zy4|(csJqD|cd;6fq9kO@R3b&4DMdxXSO^rO;pZoXtNP&s+H!_AwI`@(nRczJZmf2R zx;z1{ZlZRny4|&l)!k&0yMHybNywNHtPC2N$Hr!HC=4PSMT2ZpM1yGii$jM5c`;n^ zE)q%ugRm3r5+^56-I(J7=4L|EANt|(Le|?T)=NEh{SneEiKukTTu02UYFu|{ZvX4+ao6*y9rxGh6M73( z)~#5#+Ldz!>3vcbQwokz(Y{f*f(3&BL<4UOFZJk8CQ)j~*yeZO)@u=q*lTU@o+p@0 zcUr-{%L}bnZa4Y{s$kuDryh4pU(^=>3L-(pMxMwW4Gf2xL3^Pi5HmBVvKo1?2qnGwZb5*>CoMQBUqG#%+ zE$HJBjy^IsKb785aDNLc+OS;K`yOx(kzkw!`Ua^cMsY@inLmB3HyMxF-GqbXXxLBFnCS-R#Sw&0c3?(a<%=Lw>b=fx?(1Ei6rq*y0LRFW*K}vxeR+xMqlkJ zmHuTu@)eiE43pnHF_hoo*yC@TTtd2ZOzIMWdZ_S_s7wydIS#YKkgU9eVm-D7=t%SK zm`Qg?%v()QUEIPECX^NqPX)c3BoSgTQ>lDVDkb}5kQU)XeVle@i0$O|aLOyiTbyFD zva;X0$cbTouRbG%CM%x-OEUu5e>j$E$)8xFO663NDpt?%YA#VY9LE6y%s_(RGcaSSND!<;VsS=uw zRf4i%py8rP=iq_|qP%HnegkVwSDv6^=2P#Pu5`@{0`t<9p+-z0UHNSz&|d85$rRgr zGez0AP4;Dqb|Hi1r|9id);25xXkgjuMHD7_Wd?DEOBhk*(**D7go+fs2wKgI&?TZ6 zFLKUC9#AjlC+1!!Mo|-a`8AiCiv?4VwzJ_!^T(usbz)2nN*x?+o(7! zx_(6Ankw5CDO)Y5n02^%zHK7Ov=dR%m~s-O-IIwhw;XVK^)$&+$x*4N`y9Qmb!Nh4 zR&`1j&cx;g9jbXXDAx|0iPb4NzNfI1_hG|^m}}QDVIW;+&Nky0lQ!cQQ?^rOzNUFd zjElMXf@+_{llwqPZtyj%>b&?onpFHo`!)Dkwl= zOaWpL)21)Cdzfgzup**P<6Mk2k3)1mQM!I8K>l8Pf#*@WEIm)lNR}+zF}PFDicV1$bSLJY?aQl(+rh75wIka<@lFGo+5AQqzy4G#xak|$;V9(MH*Ld<<^omyF8u1b(PzU61!T z&`K{vD^)sD@$`v$-9)uF74cV^>#( zJ{{n4-Jt8%FRx+$6F9)6fONJ?2S5)Y+cBwR#P(BlWwV>L|MkdXHlNLx^IXN&UAbF` zkp^JW6&ES=Q$lIpjPh#J@&y29Pg*#uQ-P1z99z$Ecs-ZRWjlGXcwf1QE%+h7Qm!>H_bR;3c7c9+NPx z-(-kZ66~|{eyPRf+}4>`SMY)LkGCUa`f&fqD8|u=y!$8dh};slE+qx~^1<5{@+9LK z$SrLx?(-xn9TzL7jJe)WODK=z%|ln1I&CdM7!O@FOC&>uEprjG2J$U;7If@1D6}aK zHRPU~^;HX{>@Pyl2kbgriB6!)g4u3hOk#BB$YoctICO?Rep?_<7;3i4vleoXe@yEw z^1Qqkq=FOTdvL}Cx`3N3PI7D6iRX{=h0l25xMY6E(8>K1)q^N_z^=VV$cfeN#t|M1 zj@h`gz)^oN6euhsP;h2hg$T+@Tjw)A^}$#FEykXBm-_}fBI1-t97SGF{5y5#0S*=6 zIuP7wDHsgMqQg;nB4bD9@HRV~!%O*?JBL|v<->gI%HL@enGtr_c_!;ijmdluyYl@; zpwF(%T;(?;W!gDELYRHD=Id(*Z?65--a>c!{LMd(aD_2?_ z59LVn2H0kqZCb`fYMgWgF?hA8!cd@!LLpxtNaeLA(p6|76lg?;EO}BuBtL4H&cim3P7dZlJ0CNd<=M8 z$Ii+|$t3+PGqORT<|D39%7{SAR6TVBf(g6xvt}z{LTx94;EWWd_<$jGF zzq&c+QlNLb*8q%s1$M=XE^48oJ0C8{RS)HsLRVMyT9OTAlPY{KI@b<{CK1ow#~{Cy z*E<@L`p~Yonbcd)%O)3dm`Ey@O)go=S95$z%|zw>!khbu;j3}cgDi6sl~090^Kr~g z*<}P}?KY*hxH|)?Qs!frw?dV}`H2|MqA88^&$M;D^iSz`?%#3dlMzDyQ zhJ~r|_t02($-=G8Ij6Fa6R{}4iY{6y&RV+f7S{Oh_n0iSr#!YQq>{9j6v_jodcejT3H_(*DE59O_)$b4A!9)ZH5Z; zp5B`fdFG`pJ>EqJFbm9tj+41~+C@s^<45A$zsf{V%Em8||$ zqItCCkMLEeGv0`g7x(8isvWsRikVnABq#KWr3Gm}$Q?YM2skp5=t!l*tM@Wen(K73 z@fH@~pTUS!z7LtLexW1gqH>c*XwpfQQ-zGAJRDk-EM*W-3&%y%o>siB#igcUX^BmAc+ThrK3r-sB#{|1sr z7Kk!gwzc@3sNH|V$UMQr+O8g;?V1*?ne*aS8&iV(Ro@Kqf$*%m&QIQ36iC}PUoHxi zljNog$^z6+InqcO0hSsmA7Ci(Q!*F&I3qwtC?978_}FwQ8*j5zA}JrAE+rN9aXuNA zzPOPx0>r+~PnlTVpmVv5Cx_B5D-j^O`hH58@U=!`qJ;37I8F3GXnLwMxzB}ZnJBi~ zrbt=m`zb>viqgjihFp+2-3NwD6pfG%4C@xb8L~z+1)6e9L?1bd`yb-UQC#%|+C$jJ zKH(EgW4lQ^zLDnPR2Pb6tSyan()d(Iv0&D$+wn{!(VUp}J1{0OM&y$*tTk2|s-i|g zoQRo)J0hWzZkb5#2(m;HBS?r$S$ivS@$#w3QStcQ;20A!XQdj9)D58W>}Xtr^Ja6X zNBY;T(-fA@u`);$Pm$})cF4r3sAZ{Zo{C$5=OV`W@nX;>3_{ky`g~k|M=q68Q(Lmi zFqTbK-$ps!ZTw`plu_<#Le@TS_-+20I9!9uE`RcN_^UTyZB)tmfC6WSg4oRc(s1}oMBRkzA`lTHXnjB5!rWCZEUA2?S4EIEdc4Uze+otKpl+KbmC0OuX+Tb6SlCt01yZb}@^kWdMT2n$6n(dN z)k|5=%hbGy@6=+J_`R~k?`kn7Vfz^ z4D-5B&FVhERv1v)Em%`eui%$k5LJS3kDxv2X-0N7gC((O8;5q-^^XP%&yV1lNS+Wb zJS9d47P0i6N&W4ZO#an(!o=E-WCUDpS973=dGgBWzjEELEX@l-&~mqnd7CFI50lU# z?lTN!-c2xx3t{->a;f8h4DIw6m;Phsb!gzUARW}X@R#NgSR$I=2=oIVUcS@c4P41Z7oi!H1@IK*~iuzCuhv`HOCfzpqXc!5l~n+Aje=dG`)|r!!^dvQ zoSu&;Ck}AYH1G@@KV$L{hc<-6rrSe3Hp=*|?`t;pGns!M59VL>0C*w*s0YB40YE(f zei8uG1K_6tKs^9{768-(;O7BAJpg_Y0Mx^@f0widB7PY}s3(Z{yo>(CslHDt_Y^5A z2g9SWU*XG-JRGl7`O>_b67^x{Lqn$dPmCR=5ELDgYJ z5w!XN(Si=y>_%#7a+YoAnYt8T>LY8%peEBu)lya8uj!|Y`8Z<$d%-7A3zN#=tX?Nw z@_>*I1CV{AllbXa^DlJA=f#Z8a)}#e!ut2AYvAtMy*&pQQLY6aH zj{~G0Fq+QBs8DBTS+BrRmsfNJjCl5p0gtMy2mX$feDq)5Jcc&;i;GuN?6{7@uU6ih#Ntj8JG*|f~M_Xy4-z{vx1AI2|_ zKd3P0D#$;!(H`tB%KG(oWZ+uqWo=T4^n$%}lmWm=NSx!7E3Y@-O zC7;l2y;HKCyUQG|6hLR6T+m*-%(3tEIaYiLM!TEia;FaW1ak4=$C+Hp7tgaGxbk}H z+%^7G&@kp~VGclr+P_uCjad0%DpGNH5s!mk6G3LZ6xM>l43U=3>MbnJ>1*J zm1pISq&$r1c=yQ9-a!0hdy_1aT0!IDK;EawSXeqIs@A2uY56WE@hjrS3FBaQX3DVjMj8%Fud+8zhOyF+LOE3${pzt z?Cqt52^noIr9?|%A@@O=XiiBaH&j1OjQ1u=^P&3y^{yd2l=7|+BG3csVdAoz@-7#@ zycvNeggW5)4B5FNE>Ym_))<>>Sxvj*B|_ztVqQ=7XfepjJd&-0tyvz3*qY;1&DB40}0D=PIN)al2{W}Qi2OR1a0-O?%9 zw7)nzHp?3u^4V2!Q$8RFhLutZ&GSZm48=S92dAcqM6)yKqn?@d=~UFE)j`AxIvS}W z#jb$)&5*l9oC({}ipOcLK^ARMDvayf&~Wy1&|mq4VwKlLxYY*&>f@2V5vd7em~(G& zd%+%dzw}RTo3Izmi>Y7if%hlPpvY}vG_Y87jIp%$d8xl_6sEl|;MI#n!^7`p&um6R zN%*xGgGC^h?E$XJ2N_w64b8E#7sctG9$)JpZ&BpI;TO4U%)JkyJBiSum{^OQ@ydN* z@FP^AY-F;=*3)}bzMaKg^F!3g75d9F5O435hIb!7*fZ7T_DmOhj3QAQ@V-clGqRH^ zBPHKYfV=DdU9!jo)>>zfjFTPPA5{<>&5c?baGTMs5(1>Canax-vpUi|FFj) zZAfficcZV@XccPv$_K@b)o32L-8GsH?j{rMviT$Sm=bbX^(d~G?!^|R4(t6oFpkK9 zOS%*0=4T-o@i6?1Au(1tqd_inrLh_TdZs{G-8kMk{7Aa9rl!k8s*{RVN7r*wpHieg z4=UYu?K|qC>QlG7Hm>d_6D`A>)JH;*`oL?eEcH3huMa)zpZO*m8pO*tL9L%06%5|D z;QnBw7SWF)YgVbl!blyyue92=AF9jSD(ZIE9#(ggiFVnUkvd4o)ZqYAM9lj(<#kQO zbPq>xqZX3y4GWywj}?bqdraL}?QwOxYdh85WTIVmYXrB1TsY{ro%!IBb!en2+DzF! z(q_v2AJR;D&EBjbk#H;~WGS1^;naSjW!SZ!`ei<8$~0h?9Th24Lhg4PWuk(#mVhH# zH-xLKzlVo%%5kBoIQi~BsW)4XQnuPYe-DgeZw(J|V>Q^OCeH8{caw>B*-a4|B-FUa zOkUkF_vRZK;>urW=#0=1bNN^fHJ9&sDCw8_^=8Je{o1ehGwQ}_&#D`*{YKsH+SBT8 zGRfR|h6V{4+vnwe-Idp{w$bjFnKI_H7_0qGaoDy0R5w=py}I4C->SRGL`#>K`bo$w ziuUKYfUiG-d=xCF%X%nilY1HbI!^pu@z^yhX~u~e>UP&A41N>s&NuiaMVS%T$leUA_$&Mu>1>#aBds@8I8>h;heV@>U8+j!7-3BbQ3ST7D7!Q)xG2oCtpGP+4{iK^2 zb03AAQhSv?;|wG`dWln+Rz9)#6_DP@6 z_DMIujZ0s_<-R?2H<@HEs|}%7LJfM2?fr@f&Yx=@yY>rpW3^wZ8?Qa3Zld-pb+!Fb z#wL^8MLH7P5;C~o6|}$a)7j#arZty#+Ncecf82QOISp$Y zmGVt87l}&Bmr$c_MkgV>^|@az`$WZGnC~u4-6{4qCpMoP;pnIPP-E*~#+qHhb z&CgReUfa!Y`*YOYWRkf^WkR=v8g!d)vTp?E?wZH04X7Kd4XVps8tQVHhPvIg1?p}x z$z3D`!7ZT(ZfQdZIt@N&HIH4(sT-?xsvEC$soP!aP1v8M<* zAE2INvqgvvQsiSINestyP2`?Q?nV^+PFgqcUDpU5A0expPv1>yKg!KQaVYpG!0LrE zN2j2mvGFlFPohU9smDa(-033z6zg*cD|3Z{iR1?*^XX(B7?T)RB**&P<}@FYG%-*N zj7f}(sDpG#xIyJ$%+`W-G$2a1tfLNq?wH3)Iayeks=RInc5Vs(EW;>wAjM-I(noTK zR$YyQV%{PEOFHdHbY&*e`knUZ0x4d_paopgEFnc@kM54Qf1d0P8ii9$;tZxJ9#f2a z76oWo>+%@CbUfW-G6L4ScgKLtik&SjD z_jw@g>z_TkC$Y+~(n2sw$Q~WyH^5lLKN+K>8uC+5N>^xu zXw)4^D3tC;S4%~k%7bG!I(~%dKSBz4 z0)5a6;JF}z$79O&uK}GA;;C$tB!aQgnw2+SZ_s~mgMRT(@r`g!S7co~HWcUu6A0Z;u`VEd{SY2IJTB zhF(u2T=04u{${>h3SSPExoIa&UgpTdL1m8~$}e-%kEI{<2_392i{+z}qY@o9AQN_3 zL>5c4?a{*|au&(8A^C~5HAUil@NAMbNI5m;At*w81HBg)6-qE5nf84+v_|^u0hAW$ zv)>8(ti(*yXYJ9K5MdszI81i-z$bQ1bI`EUS!mm%#ItHWxl-nX+M_jsrW+x#8jYZC zY4y*P1IaN<=16hTV%`XgG`@{!*xM|cC%TV7@o0DZ`Pc%P0Hx0r_ za%n2ooA^ftk@q1`8k;|X%e>9Ew{GS?@59AGuCsmw>HaP9@^>D{Yu6QYc`l4Ybh^?+F=dDEN;w(1^3nnB-R^qk9rmpFMgdKzsBm zevK{~QJvlwfg-9q_0y#2mHEnV;BMFWi!Qb##Y$d9Fj@{!H5DN0b#Eb2nfiJuW|`5k zcOTqTRKeG=H*3}xNdb~evyLKSJL;>SE|?bOD@(x=(mMso8?aq+-^kCHWYAorZz8C^ zly@~=ZwW{%M}sHACe!&%W2)RgO`J|VJ>j!Bt?6Jeh{r7}t=+qAmJ<`nIP7kmS;=W&n~P^vk%hvp1KPsYGd4>auAw z!{nO5W@-s+Dt^qkFwXx6S;YtQ3S{g2!4|%CKmX`$g84&g9hpDk*7wMFn9d(>BucdJ z)rSy@GAW(`2T(hZALI{~II!Xx0>%(8Q@Niyn?uJ2UOxllAvOLP6JO=0#Ou&jIpI+3 zLn6zIX1Pey^ml~!V7!jxW0%l9F zh#mR&sA^kFURNbyEVkqii(t4?8u>o_6o<_wFpA}3X|VczB4rTH*A9ju8kJ=M_yfta zujJX!FT$yO7t-o%!f{t*hH9ZD^66n+lWW-&74HrsJV^!F)b5C@M|IL)LOC>!n1LbxwULWDb;bgIyEJ|H0dL07g|j z|8L%v6henkr6(MO1VKf*0%D;^4@eUb5fnMeA?*r5ii%1H1!*EhdPj;>krDw# z>|pQl|M|?`yL%TB1%7`2ft%f#-JRW;ot?M4Z{K^^kisc^fW!<^UFESPbyeUF&>fPg zSW-YQXLnN?Z2KT1Q(P692Pe#})8{?RgH;RiFvV4gdG3tNvzK}1LGHv1rpVXn0<|Oa zydTcPl<*hqqO+VQnT8osoEtO3xb$^l6-b|kzVB%s2m1yYEXTm=EQRrVPJ>CJry&&U zzZVr`InR*mUF@d20n!UTkaIU#x`q4q+2^kf#oKV;(A&TPVg8Cafy`fV!yq{`fG^?# z=j4^4W%9~G!O3fS2h<+yWRVH3z?nV@L_7wt974-vT#q#*MbjNfol+ORAujV!@e*OO zIRT}g;NLCy4a6WGkDuueNas9rK4?oUbj&j;g~d-4P?Pd1^?>+^7m*a_EYSqZRONaL zTNeR57GSlCeblYC9HwZ?sT-MRKl3z#>Ju}V;=*l>?vHD#e*%(~vni%a3VVAh4}9LQIFKBVEVX^iXLy;#{UkF_L<|H5eBD!=e-a6S z=75|>Tx}LHh058NL(g#;EFs18wTP(UB{R7m`6n~EH9$(WgtG0zm&9v0VzC#zL^8J& z(U(X;TaZJogt8UG9Il<#6%U^DbK&X{=Yo@u%V4y5Xh;ACu7&mM>uI^@NJ@6oz-BG4^nAf$9G$$OEMzWZc)r}+?6KF|Z^%Byz z-Wt&pCPT|X$Ph=F+%<+dWw5Yt@HPP|u_IS-$(OZ{R)G5+q=*udqqGcl2Eh8YNw~SS z=fY|&SsuxeSYDXRc<_}kVaCdrF#S`2YpUU8+`SUzWb4%3l zUt|d>rVUomc3?}hk82*G>}xC`Jbh+~0D11Oe;3fhFoC?_vg&@pACV9g@ZN(qB$Ev3)HG-keKjbTwqajJ=0lcle~IB2#R^! zjZJ4+AV8pX$rwJdj%LWvO6hGB!#;;tOpJdTB#6;-Sv&@oQYuDIWt~AI!n_r?q&RQo zR95T?yC}Hj2$JL6N%(ogOBV5%$ubNXRRGJro0!S6loZu7S)ws|0i1^JvJQ&gz{4{i zR6m8)7ts!~J>s;#XCnLfAMB4M0t8xTj9J`n;po6aWO>~_m${{g?ngm8ki$**T$T$E zXm`d~!D!Rpb|Ta3_P5L(AkfWXEa-2s&8z|)$?V4cEsIH6-9Vx-fi&{ES%1sI!a)x+ zqTykN=Nhl|wK)Ix555+QAd9ob18FOG&8Ec!u#a$q4v!_Im^KwbyHeU4a(FBeAkbU{ z?LsbacvBqS$nNa0y1yQ0$7}%tZHq9Ybauu6BWH)_k#co**toa}XU9?j0`2S=%f;C(&&k;ZYO_`t-SzM7 zu!I!T$`Z62%>zbvEN7!LXG7U{`C9TS%d!Ci?}NO`GN!#|aJ02DuY&ObEPJoVCYVj~ zYMT%gYwH`c2^I(tXfYX!w22b`kxiU{*Uaq#h$a3_*aS-j2((QwrfmY3Hm(8?aE%dM zdL&_`QFqV}*!wGvTNC({4HqQ%tgK#`BqH@J3Xq5;UM!b*a@m&)dBIrA5-&_Pmw2J) zYi2^mC0On>!CDRH4nlui<8=eAH-6^Y4{JQm5iDywr^2qkY9?#E=}3yx3#yeU`~!Yt zFsSh07?k)567?M}96U-sQWrG+3WA?$`+S5AZ~B>m)pE8+*upQ2a1BJJ;&SiQLc|x! z<6J`k%xB&3N+2A?Np`oPZMG$72Y`2_y4oX5xl2~xY^o9CpTWTQGGHOYaN*=k^0~>< zS|-FBJ_cDu`(&zg z_ip8NAop(F%1-cJZ?{(KsU?f%##nZZH#F#8a@Tk!j`9Axy18A$0V{mO1kHPcvL_QJ zn*-L|yDfUupBsrH)XK>e}fY}mIx4NlNA)Q-{2aBB?1JRi=b|Dxyel#mJJZ-H40-|u>owA z-TWGbg@uDQ1)@2dLgYFnZvb2O*E1(&Hp#1pgrK+?b7ON-76=e%T{0GX&8Cc4Osszq zB!~^)U@R3Iy1yt!g!_v)C}rMX6cYAnaBfKMFX~MhvdD|MA4A!cA?pC{P29wsl%=Go zo|6*Ai)=9MNY|S(;X!fDri_f8B7Sj^1JQyT+mvC60D;ySV;09-I3_TdEU$Z0hPkDP z?ngn>$>AovF3SZ7v_oSIPZ`VpZ{EPuWP073GR!SSbhC&CJ+5rZ3?j1|_qZ$;AkYnD zEH>aFubcI_EG!)KFe4fsX4q4)Y{~?^t=^R31vp1<8yn$mgInOVm;i2{-Jru`2`Q#c zMbKejbz_?{ED<2kTm&6TE;qR;!?FPa?eG{2I=ms|db67{EF2)vJ;B(uJ(1nn;YP;w zI6Gzw5NK-@6t~oF%-OL(fI#b!u}Ejf$@qWa?DVEg&dv_EYHq^Wu~dLSJ3Gd5ady{i z%82P=6x^WcvP6JDD@)MfG>@CylwsKbf!>s1Onc4X+$OXslQ)3-N!Mc&%qDrYO$dtn zQ8#82ED#{jVlozK6I?a@7dD|cWpcI&+&jAon_#H`fwl?8v`ydwD~pOEepzgIW$_`K zGU=908B)0^BdO-53=ypH;<&~WsbzwQ7g{9Z!kQ^-yf8WY8gB+xWXrJLxhID`neL!H z8o4LKDME0Km+HBKbymh=P(o*#lhWH`!y&N%p0NlXC!xFuO7Quf`H5xHiy=k72Fuz^oTqoF9lDvSY#y_ncQ7;Cxe~myw{sQi zBX_oQpyb2@hyRkZWO{sS@`M1Zg8~c^0t8qigfi(%g-{l!p4YO92$6&mAyV16^to+r zK&HuUgEFlH^XxLMXN9Irha@Lt`j?y~(+jl=%Ctd5D4iaXX`>Lzq&wO(2W5JbRYb@n zlPR2jl?6+u&yx^+ydBA=^qC+ADG}0_ zN&k%5<%1PgBc+Xw)J;=i*}Dasw!>1fIh5XJZDx0dhSEEraww&CXHm3yr=?MPOq#YE6u&A^ zaKb&=-IXcu=y81cvMk>94lso_qWuRL`1S!7!k4%1=h_`pX>edd9>d4LvUF!D@R6na zZrLejO`dMxpXkA(|IS3q3yU7-8MpL-=pc7lCY9~&d4fmM$^&tC|A!(YLq+6ECD}^3 zaiS{O-Gg%V1mMngFNE0H=6!#WE5?5i%?iqeoo(#TC!d=o?PUUXwi#p<^_V-`BA4NM z1bmWee*+Z;_9DaecRF)R5#8y6?jeVp=ya9~5a>>4?3zv=6xr$6O8nPO=ae+}PRH}6 z*VXAqF+g-{{;|_1g?g}T&1~J5o1MHCE>b^Rk=%QnbE@2XoTnJ^8F(o0pL@KRt2eEQ zkJ;ek=|0GfkPal*_^ehGI z#Bv2IEA_bhF;ddku*X)Aoc=DOcnk~CLNv{HC3B<3`H}f3;_ki{9>@{m;pmYQkE&rF zjdSKv*uo=!jyxKNc{ItHM-dB;TXN(vHq7ImoOu+r@JPv#$NDgjrjb1SA5gtsQL>lu zz!3ns+rWO!a@x@co_^F^22)(PTUsj;2+iV1Njw&%KZ|i2PW_pm#VBY$LVL<~Lvp@rfaPvuLHm5ygJ^-f zKl$X?jGWn+w=2n@6&bW97yvGAHvq@sQwW3iD`}=itp7s>zT<#}Fb?rNTJpKR;<%WA zp~xVs=rGf(vlRFY1fO`VjF_P2!kW)=I;rJ! zaSsBJXYrm!1g8^u&5_n&Bm5NV3pNiM;b|yy?tKg_!^;G2gfq-4>W^rj!!;P3l3e|H zX`~A(>@4KeKB%EVr>(g={U3$7V>`4XxMvP9yrkkznvbEy3yJ7X?S(4q)6c@Eh#u2L zwC#y1&9l(u>8f(eq&*bhG0ned{LaHoT*eOrz z6N=5$FW1a3?9%ICY`R_oPxnmbOmD)mItS6J*V78Np^vm6=QfxxR>srnH`SWvW^1q( zanHNnR{gJZ)6Q&7)y_8e0klShat(o*x`qPq-6l@eBvK#YjJhw7_Rss;uzmqH_anPD@V`v^i^#50Ul9`mdNCDG;{4$SQ(z}evt!AHVsA-Fnm ztm2VByrmX6kKl& zb5TxVJler)b_(A6Vo@L7DdZXnzMf}TAJX}L7_0{5z1C*!qge510OU>|2>rOmkdk{- zg8LcWwV;OgM~pX-Sub?V{f<)TuM4OPo*K`*{)9{kuFg;fo_swBveR7|Q}Xm7tnfTK zsLm!3(`NwnEJ7--^oTm$6*+ImoC<^;LP!h~b_s!Of;kQgAtg*WCxq%@!cRh|5+=m< zWG#3Tm^1xo9vrNeS6v3#6_d0YW@h)BXhspdn5$?*T)LtYTxYPtOUks#S9);?D*yqM zOKmu(Y$-~4t1 zTBdM8gPwmwW<2Zr2ZB7#YVD(4&mwoU>p6Dm^8k234w4GlvWh;9HpaTgF@aYAE@^_3 zP(JESJ~*uN7X#n#EP^FX7y5rpLP^E!mVw3nvj~{*DQ|NUDqN&^#3VFK4o*U~?(!+$ zI8`F}{50#doT0F*!;lfzYsi>|BnX0I3zTs{=snZVR+SBa^x4o2ccQYr{<+#?(XJOL z?u!7fH!!T+Sp+#q&l(^-KHCcE{}#CnS652k%J7m3=^0q0XAx8SVtIL46DCsHdMYeT z%_jTw1*%w3cGhT--G*;AD}|W{WH(SNWXA)?kX@$GwV{_wS~qx;@E_Mmq?g_-2ZpTqp(U#Iu%v~I1T|eZ|Sk7&7Z!Auk-C$$g_oESkU!hT%|K**Z?Y z9za5322)&5;3*QMTPlEQvxGK9-%Lw@ad;*kUy^C5tY z%`M)<@ZvioSo;(JbpLgYRo9pEk1P(+3NrBJ1*B*g9pY3-g=h>cqOpi6nszF}L`qwo zN|>qzGySP&WXPwm!d&Dkge1s?=cz1m8Q!A6-BZv{hBtxHKXZ|b#UU5AEg@H7K+4r4 zC>N=ai-AQh7KxNgm`G`>Tw!XiaP#29wApL;O?m+S7}CblZ(Y6*DVZu zB>*W`&!AkSLM{dtxmYApE@2|2t#XB_xyr=~gL0*M8gL#^1{CYM2L4LFTg0Zm!1%>N z64!@mkP9+TN07%^EGY?3gdc(d<6JEF>!Q7J*pS9yRU~I6l!6n`-`9HuI9^9H13|T3 zI&|Y?F1%fGEu5OdsavcNW8E{6j&&lod*j@%BA!wrf`%j1vh&A9i)3dktWc?%%bnWgUP#&bc0uVE;-rc$^c{ zWwRbU&iNSYsUr0-0oQ*Y!>pp?&Hj~&?5+*qlo#7UsYvCtpd=33P`cv96UwP_xNGCt zh#dav!Q`ffmpSp$JV5uGNYeW(JkBW7>_)QBq8sJ#*I-^PJa%!gzm$A#Ds*djnZR8f zh89O7jnZex&Bqj25$}jgg>pySOkqQq!Z0{_C?ay;Ry%W>(+6pcG$La95GDt&nqk|+ z)BehhcFsp=KF7d$MG@d{AbiV02P(Gr0cfA%XR$qYdV~)T`?F2Z9Bgkhf`9O5TacWC zKidj2{Tajmu|Io@Rcs^3$)8aQ`m^l}eLDc@&-$^OwLfD5{TV}xk+a;*`ZHZ;jQ?%$ z2-XRIhWlftKVt$O;`1@I_%o^Vzw&3&2oX5KpM}Z)Gk-=UTl|?#Yz`Z&@Mm>lZm_BP z2>!vQ8X!3bn`#I$ZHnRl*rx7c6}j3JrJzmS&Cpj5kT!*zoyq6^#85N5OrT9MwAd8O zyFi33?M7hQ z(s$4V=37{_gyvg&keq`p?FE^(#8BIk6Z0*no^M45=T^}<%(pZRy%?TvIV0y=PV0Qj z@V<{4UMz~n>-WZ=!gM743rtKr`;buBjtSX*M9}{S*c5SLoF2(lTEF{`f*J*JlbfOM z5MUv6{gYuA#sqdfLyNhw95~683{S&HOvxPCr(~EfS*K*W&RG9p@Ceo!Yq$o4T^JMa z44#jn#oVOM*qoy}Ob%TvugBK5!xoO>m)+KOgLVQxi>*<|5w;c$Tf?nH__vRc z1Y0|ez_hg-{M#97nu;s4gw&Y=c*^K`EMEfYEZ$?7O5t?pxnzVm>zI&6@c zms2Lt>KIzAj^%Q;y2s#KvMo8Y`8Qo>tp5Ud1nY#=rL#_bIb{N^j-kcsq)u&h*30P) zyEds`WQD^ z;M;m|dU372^#qyr#_)e@Z@o}MPQDG_b>Y54u2)ftM=QfuUoe5{4oEBWgsqGTv@(Vk zD`UBvwK832tp8E)2-XQJ8x*!OCeX?lTC7a!{12>5>K9oftSn46tt`B*{HHyQ&9IdN z_+_`VcR)LgpT)0HzY%s8p0{0u3Bt}kL15Zh4u0)Zj=O8^>=MYdGlu_LJNpbZ{PVo+ zGIGG;K4(*MnzvC!l|XXmJcJ7RPcqTU`Ht^=rD$SpQex5v&sy zH<)$mtu!Xk;uu;iPU`%xuBOrm5jf&%8Ycg5=55q)#I-a$Z~Gcau(@v#m^PP#Z~K-y zxz^^cfJ~cX_`kKetEeF--}W8o|72+tkCyg5L*Ea8w6q~%OJf2pjiJTTSng&mP1hOg z{}DWbb;8nyhAoW=v^0hmOOrbPD@&6`h`ac<591aq_o{hDp%#2I4v=9^`4g(b`)iwFk<6QGI20ju{{ra7Il5%` zuZZ#f@oxx&hw)ejyRW}9@cjYE!+68l&liLR6L1)hK~~Y1&AnTe0-rw-#K*||udVo(TBC9<3ddlCZrN8SDXhMGs&5K6IDF^xQG{S*~@|Nrc}y0YN*7zMn;}K;OghqF}__WpQ5yZvti%hw2cu zP+uT5Dm(Q>Q1LkdIWiLCGLS5r**x7}0oCH%GLMX~8l3KbiGlAq7QyL$AEf1>2~u&i zpMhl?n?=AR3oXjj_cw)!l(yb43sbH4%c9l%C87J9tT1%H>=BNI@t}mp0!}O0(C%Vx zJ6rD{ko#w;o<7Vw(V7>dL!TK8eSn4EbZY^9@-N~z&t#MfALpr-f=}y^H4pgU#d>C< zjHqe_@Ua~v;=PfeKb~dBNki@>@mvcIiD6t!13k`(TXxlY1V&+p24Bp486-~(O5tU{ zymKc6y(bvUiXzt+ys@$*+#%$L8!N9c@J$EgjTJvTgs)lwj=L%hEPjziz+@Si}0AUd4fG8T!me%Wz7(#M(ZuO;CG1Q)bmqRJkJkcXF|<-J=9-pk7aIV=eMX7 z&WAw{Gmxb9P*L=NbF{C5r1fAJ-dRNAAijS#Vz|S}BMi8u2*jNSWWC=IPyOTt5X~hd zl&$Z{M^b*1q`3ym9e~8{98^j-Br4VSs@OERp*akEGXd#_0(3)Tr43Ag8)9J5DocS6 zwHj~UlwoUmQ$|{CKEOx>zM)Ds#RpF{Naa#1e8o;M)4n21HdP;5uR-tf9rp_e&HFQm z$~WEl7A2fP<5|Gay}@Y2^MY0cKZ|dnpuxUM^|(1+=7JI$TUBlD0#Ir({XwaMi1Gqc zNJ6|dgjp-#Vj&TH19*W+kO&A1O@c%~SY#3;0>WaGAQ2GWFbNU?VTnnQ2nb6}fdj7-dr{CKF5iFpx?Oe`&l>zG(FGLh#ud!mo{mmgmUEy!Eyzo0)2Z!xr1 zJ`*1N0++i2F41y#-|!VjT14g&W@f|7H2ux4a0xvFNcFr-k>9h5TvZ>Rrl@iJ#Mi6L zvB#PNXH0FXI@;F-V_Al;>maUuw)8x`aQe9mp zd*8|rp9s4J8B=hswG6`af?(r150Uv*t)PR(LnmdCroVj^dg#PVh3m(J5GpE%Jo+;a zrGTThg{}o4dwTakawL!SKVmlwAWcE)o$ywok=tmrTgzmMdr;t%!%-Y*r zNoc0Lg96)wpeLpzBpF7Qa|_zynFqd@5|HlXL!S5+v@Vb*T7U7aP_+JTTU@lrM1xAe zzffOr#)(-z;Nh-W|z^$q%}I=}OTX>PV>EzO>XfJ`yGnJ8y6+DS$qTN&wlI>#X^ z4n!98REAt}=_C0mI()Pdr&J(I;5-V*0Ya9{a=sT5GJ`4d9(;EdGfWbz@@+E4ZD zrfM!ksz%0hH|U0cNA3(Yx(TY%s<~*Yh9$F{d&8<>ivEniCy{yH59eWu5L! z9vg)bZ>f$tf_=cO8>3==V~?SHFwp$QUaDt5+y5yThHRuyuAd1sZKM{KEuXOs^3AYR z&k^#tY~^vSeWiMiGuIc^T(HI%JPQl2QVmVbNMU=;I!v#U>Pcl9tTvpMo?Zh(QxCB8 zGxf}~_FRN%Bj4^y1y?z9ja2tE*HXcWAe=EERf^BRgq0Qe~Lc71Mghl-i zO6b$sT+iq>64T!bH+7!9jX33pHvVO{F)P-^0DX2=dOR|;}AYhlTUQ6e6E#C+ec5WdzgHjzk}%3@OPBZ=1-H*?(ZaFQGa_0 zeL95i{PlF1k_(Swt7Lp;f2 zSrf*{H`aq=;9lg$mlXl+#W)DyPU3PljIm%TjSDj?jOSzFTFvp)On5a9@oI4$yyRR0 z&tu`lBGynXQ3UOI5CP6AC*!17D?|-%Yrtxyqg^lIy68TOPBVh>b29djisk16hPMr3 zI>qp^q`NIa#Ab%$=1|yq$kd zs<}BAWg1gInwbyUW#eiYq6`-DA`-|UIDfZHCILe zy$|wyiwi|w9IvPZfZd>XMTw_* zRn%XyVKw|VMHPm=ih%q!1q`%ez4Ll_Bzf(}Ijo#Ts=Xh4~mlK zQtPWhtM&6Huob;^F1h^$6;4_XZHfJc>wAF|3D*sVBv51EgYba5*{i zX~Rn@6~i#A=tfg9ECj_o1~xbm&i2H*%cE&J9*?hVilT&f5oxdCBWviZFUn-fAiE|t z#?=prRZSaO`*vt7v8>JYI8!+fcdE0{6HetqPfvh|dix`Qo;qM(`AI|#?*M^rflmn> z2zyV*;1F6&l!>ppXyQsh7!a^J@2*g?Ejde{x ziE6R23GN{vCgX^ER#7g%3pzNOl&ZZSM)Fx zNf3J&0`V!s5us1>GTz z)r2$H;!{YaniyKt#6m$eg?x%I5(Y4eXOTe+E<{r>S0NbDlZ?_2JYt=czBF3RhFSEUFk* zVOa?mF+Y+WI@y{?DI-ZGa!S&(TDDhw5q9qp)xB*lu6Tcj&n3r1&TqGvTQ@UMB0Pz% zRwSpfg8di6JCn6!pY}oqeoK1=LYy#$?gm2RkiL!Uh-|QUq)!G3d|KdOKsS7Pk{PlMMUq9f;XvVR1^NW~0o}N?J7qpX*O!^= zNP=t~gZ(xVC_YFnaFoE&0>=QlamjYNUqz!R;Vgu~8-3&f3CA+U zisG!HzM8TKn9R0FC|sm?te!c@lTKl3w4O4A`Yz+y(7hwp88K&|d^i>i`R1Soi+po| z;w6y+UlTZA;Ol_yX=t)6X(*rEYt}tT9*}PV1K&bG$~QeIAE}U!fn`0zB4ENB&1Me@ z7bzZVnF@rd=8auF7l>9C`Bb+!a*+>H@yIuFYoEw_e-`;z zXXqMVlh^o{(W9a3cr#C4_(;4M1Iw*AcRb>_io5=RHDXGz5@j=1k+XT(4`1O|Gi{AE ztwR1NIX+)?czTCw>Zu@>UI$xlh~LZotQz1osPmH@xeS>fHcPt+-jsMqt`0b89{Yuh*1J+4xi~R<)02gS%)8 zQM=)K69xT?sWj~F>UjZf(<&TThK(=_Y$O)vD_#aMp{h|-7lWlB>By_*Bq{wa-WA|? zVDdyC!NoN$+iRE1_a#Nocg=u#xMl+Qm$L!5zlOlSg7F0ZN(9OG;4Py>y~Jk5BMWol z00irFDfFU$5z~uFTZ&m4#RA1T2^U>ja~j{T=5p*?kSXt3cv-q?NzW#TKD?$zU&Mw- zDJXz@o!F4(^Xx(S%VynH9QO@TM09mq9yC)_7ndBJ;JF7j7l-=-OOWno`w(BoIHi)8 znKeTWSleb)mazpOWFdG1OBGB6q}S4$P=DvG1{AWAtth0sHX^+lUX+Oxie&G_<86QtPt%aO5Z+J)sC5MYmSBS4eK0OZX-+FW{#^0$+rXXI{0!6_Ze7QRn`*9kiC{2 z){<}MP%@Mud&zf@SqsNKiCNea!;xy(#ZJ)SEq5WnI%*(>M@6I=o`<1+|87w69FM^F z0R5CFT3Va#Xri9tYLBl>!II`3XjMN#%$2g74$#lYumY~2_AvCl3&<4|hFkKv60FI~ z1TLZ&TFwWs95~7OfEZVQ_H9gzt2oLfJ3Os`a<#{%WjTAGt)3nrxxg{GE>9f<)4Xi3 z`#4l>X?3iehqttSC)`)6H1`+jb98c=Xa#x z!8d-D!?R}CP!c{xv^qrv=BvI+=9sF_^O$Fw_-t}JXbOAMsvP3M{WfYc;`vZ)p(>B` z>HA1RpB_MfKJ9`&<@p7})0usG5LCR2QQ&?+KMg$E^(cH%PA_~TFKlHVV&K~c$gRxT z;of5cwlW!5UiijR*vcHpU9}i|?wI!x;q_Q+ma|K!yKr1tzeg`RF)O-1THtvUz3A=( z5X#;4+T8KcVtq0CxrV`Px%3|GMb2I|)Ndd~ZM3|@40YRKd2@ojM=H&Zp{4hv<#v7g zD!8p9Dk!2ACv0HuiI6N)dheQ4^MPP%|22UAo8xEcKkCxbe|EJL={SInF?j?@=)dC# z(0~2We>IS1cphc{od6Ygz6Blw^mE9Y1QzkrFXY~#WR4C!$-s9MkR3Xg9a@c*c$t6> zWnk%0ma=x}XSze#j4WrLYr9A{D9ia6ldPSpOZ2_AM7(8$>YmMUgl6kwkp_MI0U8n% z2Yoy**vF)@j~QC}ScD1nv20QapCVehq80OLZ|UP}QgiBKj!(=-m8FlV-iSWNzzO=@ z50QjEK8+ygcPk;y@N{Ay<3fNg)$k+4{k$|;^kdOXu6~yl(E86Z^qm5v-+hf8U6M6< znLy<*wD?_?`&Ylqre!%F3iTrWZk=ag6Y#rClWVCPP9ZMI((LPZyt?sD|2gmqHXe?5 zez03frQ>C2=~iiZq~jGnMYKLe2N90p9J znpBKT23bXMP1CDL76FqzU{WN@7TRwVPQn7-YA+J?eq)#%<9Z)d%YNhF(V=};)@*a_ z)9E~q`7Y$cqY9Ak6C^>tO9&ueb4&03vr+0>G%QV{{EVURQ$QN!0t(m%M-G6~A{kmN zl7)g6i4A8x6NuF_fv6&(ZDwIDEHQKsgai(gV_XMCAakGj*=Zqp*$|uSP*~n$kavj4 zdl*E>iya;AGq*7N^C6Qe*zvJ%i)=C=vb`YQDA9|<)0b&eqb4l<;9e|9ZrV;$5>`yv2+%}Sk`A^gEu3E zjg-eg4j*t0lg%f^OxZjmL$a~fi1WmMz>f_V*?vJ1Wcv+)<(+whAUo3W&b-{_gDeNB z{$Swy6_8TB0jbWxJL9Ut1PI2!GJRkvbNYZ?mfwM5EzH3E2v%|aKM}(YaBB19Ck-DF zS8tFD+oN%t`pMAz&hnlZ&d#MNc-!w^-xw9dB8FZWX9Vi zfpGr~Q{v=v9FKU%BNDI$$H3B+ECoJUT;Sm)lt^^-G|eScfqsA`*9y43{;%B4M^l80 zv=5dkivan8PMEBfY>vf`E{Db-3Ff&M-~kjGi)1;`5(;zmeFg&!hC zydd6SjcE9xZudvHD0nhqjfoYJAAiN~c46)je5?l7ahxd81{v%A2t{*JJ*$W6Pc!hH z0i^1eg;mc4sGfmE^(+-uy|l1fE~?M90;>LBxtppNF4DdT)rZNZeajgH{az*7Xa)Q% z=k_UJL_gdY>W8yPLO+~CfPNSSZK5A|jKwtNOr!++;bTN|><7&Kkfa}Lx<380TIl}* z1K&kJ>VJ7y|4e}X8CdksQepi|%W~6yt`$)K|H|Fezi^TEMd&|F&O!h2&@ERR7X4E| zi~en@Hq!A#R6)Ec65|*8FN^?wE9>ww0ZL|IQ8G(~mCU+axhXl<3NpK02lvb} z@_JlhQbc6KdoNL4@PRK`g1)3GTa^j=YL>L<*sfATHvS3J4;_Ds06KmWI)2Y$ z;FmxS8u(|3W;5`RD{);$Vot7v+@a;q8Th^cq?T8PO_>SMG6Rd2St_h$X+v&W&b0!X z^1pI7O2!g|*BCXqkaU%PbYvGFy|YE$3PRwfwK#O)U!- zXfiX+oIznka5ruQ0o|H1{v>-yE*O% zXPm2U$sf9{!oXJvkh)zR)-4mDTLu>0vQ${NY(=iR&9wsR_FuW1x)mS1JZ)Uifu>?&ne6@=S-4pG24QgHgY2=a_?Ce_YL8{bI%Ll5 zgvBTG8$JeEML#k(K3D`yt{{*DAfcTA;U!G48hjSXdNmj(hmKl>#`lcHp?TUJC=k34 zt95V$ItYjkc*-7fwn3nE&>FF5FHdepdwFKl@bW-@w2x;tbJxLD)F6i>sDo}mf;u33 z=%5_~eUu+MSWg{b!AL4}z`$}yfO+q;TN)p><=-} zN9iH^hM?@ELUsn0!!IlXCWCp80mDMJafOYPhwPnDm+ty7Ie2n62iZG-UFhsf<95v& zotp*HPDTl%)lv;izN>vPC#(gzP-Tk>z726F;?>FEv4|8-n zWvE%bK{aDwgcpRnTeH|XS2cf;5O}&Cie#OT9-N+(;25zEtoI5``whYkUqi*AZ zjJ59q*p44WSJUE@x)2NAphJ!76zEC7@t=L9IA84yMg#0hjYJ#+MR6^MK;4bs0sOGf zub@?xA8|angwsX*bE;?kW4Ad~zW||k1YvF8F(EgS@Js?z>sya}P#i1zcG>YSf& zrocA^ZU~Sv%tu&RIDF?NhtH3co9 zQKEiLJiG7;^H-91qY;e97OP(~pE|y=-1K&;@fx;dZduYxzrnhCts$RTpSGV@NL5}@ zZhC_Hx_$A^C7o5jcYb@PyV`l_=Os=x4taX1aVLIW(o5MM zA>||VZ!dN1!=IP*QQsFEFy=uu|8nE^9#^B*IL@W2dBvJRmhYg+RMm5Hv%Le<=RHRr zb*e3}rBsyxx>F?{W4yD(7oe}xRh1Wd?d_$$0?)x})$B>L2dm`|6FPQGnmt@K+Bkhd zKnf`Bj}l($OL*q61J+nwB-;LF-hFjd){Je{>#B_(Z>t_qYd&V4zds~AKbdgS zAjjmo>cyi>?K{(WK`qsCSC4AEAt$$scNsJ z)g1`UsHfKrSog54)pCxesu*!~ z)xf#is?Ss(@9TELsaC+MXR30S7+;3bT~pOqPj1B~6Mp_Q>-qpP)>P9m-sh{=;Ri~p zkI$4Ew@76@l2*5-8qkAd?Jw~s?>$cq{0OfFU5PK6Fn~U7M;}tsUoSWPUiHDFeU{cz zx1MGn&3`3*X}X$vzSrI)_0F#3c}XfIoj&b3cn!J1GlHF?3 z+WU6ZRI{K%r`kA!-0u90Ru@=CSzdtvdSXMW+6=m~hx*JyL6`1o*m| z>W*#XV0=(+`aYEey{%Oj6R4#Jpr3u}9mMykZlbX?NiDgbdYcWMB&j*jyi=tjen|Dn zjLEF27NFk`sk!4`9|xa*Y2v%MM$Bc~UJ|cW3>FJ(M;n@{Uus-RO;Z!rf49S_TEZF! zsH+D?9&M{?UD~Rog27HTSh68@@OmT8}uh^ZFQ`J{8E}js01`wX@0R8zZ(Bubd z@P^Meq^o25dV$_~H|?kO3oM%@qimgw%KW{kfj18jPJ#^&RvY1Y2B@Q-?mC#H9)l;} zuHyDApK}_1VDEy{YSO;F3o=#LjfrzFs#;0SKE0?qOmFrn{NaXj(=V!B@uak@-0aiO zRKE$|P5Mk_T%yleb!l-*U3Fw0eNKmyq$CL}+>i0{2PXl}5%1*sU=4B(L(XT^n9XUE zpHb^FdA0p}Q2}_8!my%L<$juyR^Qov-k0jR&pxezF%DV2Ri6YJ&mFH$WYWV_!#v@8 zb!+C_<>OU5_?%SbImuEr-flndXVtS0eMQGidWn}N5H2`Kcx)))>At=DPF5vO5w<=_ zSYBZJ)r|i-jWAz7!rwRc?)$r{^yct!lhx3fEL&e#DX?2rSnSse@ryYK>mil1~{mePQ znyQkIZEIhQvxUP)QZRFRw($ zOT5l&XvHBtQY)xI7{BQ%&uhK*rmIp*sh|7Cmz&;8{f7L#RK=0+?;ordAL4cJ(!5Et zFk6 zR6)V!3+9x`bpf?suxM3EMWNi~HSeuyfCHK3)JR~>cbA*q05j`KsHK3q9Wz;CIJb)l z^TQ|0P49*`#MF?q3B8$?KZxyGM69H0D_r`&O02BvCgtAk%W`Gaqf+jyEjSv;{BBZyT~qXir2Czh(77i^=KSatQH$S^NJ>^6M$g5~a) zoVC~$GIu=7r3JCk zdo^}h(w3el)>&!n^e4o+sL!RoJns_g3XEK8ttHl7eJ5$%1$$WiB5AJ%vEK!|CzClJ z#yu*Q`)d!e9;yVop@3SPd1f`Sl9CoT>j%NgNZPF0FVt?JdZ|RgUKi{U?1H|Aa`O{j zz-uOYs|J#`FOxZYtGflOe(Ra)4OCxzH-*V>kq>UBq37pEMMCtophC~C@P-$6bU|7H5t`KX#{qmAYWkOi}5=$mE zP(#&3Njnr+GHIb2rltrMe}XxOtCs~!U%X^e67K9R6>Q!cOD0uSGt_Cp@(Y*cc#xMh z{8gMhSK?(L#D3_#WYSr@87Yro!vtHW3JLasU>j61!M+e|lPV)v<;mo-MO8Fj1DCrl ze{xW%o$7W;8^7qQ&x%LwRJ8=_Rr0IP8sIER9m#3m@D=W;9#Aa=D-^^Yl$_hAG3No* zTCj}^i5*p41k3X=vE!&NDUBdj$j`vuV60=m-8wh*t3Fts-6|B zWnOamLQNK|*fL^Ys%e6)mbCBG0>SQ_$+Yj)V!@_tB33f$SHWtCe78jXEm+n#rZtIb zVWV~{4<*(#s*PZKrDe^dx(hZ)uy#>AW?VqMBQ0wml`dGVd@T1+lwaqRwsell5bWFO zOzRRgO0eaU);nstV7Ey-AB~zJ*h;BkXw=(+RrrMEGNO(OHdNBaMr8{2O9`euA9YD% zQp1Z;UkjEb@=c5STd z9gEcl>T1+>!FmYxebl>xot652jM^($9>IQ#Ixg7ff<+mh3YH+4-S|qdA8LHCB~?Wm z-`hEI-ahfc7Tjty{*<)3(>(h>ii$S=w$o4a|ID+$0k%f-I;iU+>puRJSRn_?6$ZvH z)7>Iz>(}jA*8o^$NgEFgyFf-g2f3_Sb7D;cU=IkkV7JDa3D#-9#<~iZ-K(tFCc%mr zJteK(TBemU`UrMU5PMR%%(|r0o|Cj6C9RAx-9gQtnQ~%HH&w}aU9kF7iMfbDhGfZk z8!)zWwP3d!nKz5W8-Jx zvP*K_4~!CddXeY-#-D;cBUo!AuajxhmohEQC@Gky2C<$-4Z(ci*+4yN)D`S8!JabO zI7dQ*g{20MfsIyhX;_Lm{l<8~zOP6uU`%jkpq*Q{6B}Vn6fOg#+z8`!a4Dc}5iG-4 zCuv)Q*apEC1+h(%^NT&V?rNY$8gB_!Vz0)w3HIlFjcu3Oi)_AiSBf#xI3-wP!JaYj zihH!PnqZ@h^HT1f-7GiS_(ZUuUe(yIf*lBAzX?`hzfSvIu)lU`><_^vNy{+7jiy9i zDL2+IqN&|2m8zyTP-Bf~!G2sr>;%xy;eqM>DO0V0A}tOm3iFHYy93nu9hbcT=;B>bkz+Oj{7drhZ0jsZn2Q zSXP7BGUF~Omp+^2mK%3VxhCV7wi*~ET0EK98l$OTwZ~P%m|kPFker)$65C*OjE+Ul zJD#YvE-~s&qighQkiGG`Y8dZ(gIM1nHeAYe2L|72ydYRV!S)&J1zUN5X@`s>QeTPF z8v9JrlGnbvooSy-+PF+&hmCIqYrdmDdh>{JRdPOcnb03sz~V z&RIgR7lUafg=fpYvoSk7XH=55JU`fvem`d*{F8;U1eS)oCVPceF4KQ3gjAl~q@g*IXG*DNJ z2c^C>!!*`b(q3CK95cWxMte!yedZO^@T1XDu%m+6ZJh+$I;JT!@31{2^{oVk)u(N^ zr1^R<&1rij22*M^0;{D4D%v(b##X+78Y}CZqCsq-td@$|7RK1n5B&-=X9?RIg6)>H zQnqDM?hhO$XrM~lR!G`u@Woojwnng>xUtYcmA9=E>`mNtXrLebQD|8oXupA~X?stwuBpUs14fB-%Wfxz zoVxZVwiAMt#I216>K@w%f^EZDAk4aKrv!VoJh6Lirv=mPyw7%4uwSIy1GY@TyzpEN zR5ROoslAP?DVy6a3idhPiG$Tk5G#v2rI_6VV_W7YDXclXL2My%CPqDD`&82U;6sFo zQP0{w6Ra3`CPuwz`&_V;L}JrzUkdhq6=Jh&Ut6SIZ2MNyFgZYdOKjf>)><^b()NR3 z@iwNdv;8EPmSL0a7r{=8L|bjY36_leM-9{t+aH!1-nIQ@k#?6&#ZscbaYrgK>V0A% z%^$WIl6F<J zOBIZ#)f1z#Y_|&5M094@YYJ9R^ciixU9b;C^YQjtg5{5AxkC2Zf*q(pthl|drM@!u z`jWOl>MLizORx!2&Sh^TSU%j7ON^>%Zz9+q(nodeO$F;CwKulkCs=n_a$;0-`vZba z6s*0yxnOUJg>tk;v*hs0tZEs^~*-(2sNz;Anvv(5giu9)6-Z_@{7CUdo zSMH5~y{n|%DfMO8y9<^gGCXVVVc|L6-phhbv_C32b+1ge_Z4igXkwcEalw+MoiptH zE#>Cg2gDkveWZ-d*XnJ{CxqYl)KMA(N{+y-UO8YqBsXfXX`*^|hC|+xyD44da zb@s`E)fF$b-aa*!o?)l>i8t-jEj-_g!1mZ@TGHOP&lWB}px?2Yu+I}LPeoz}?DH)- z584+<+8M}>Yn*+tV0)$ZBlabN{VLc|`!c}_hAPXx}K9_K~OTn=Coc*tbfW9`Bj<9hS6@?eAEy3-({I(bOYNW84_eYL+Yei? zFYLzzD+{Y@puV!76s)OW-`GzHc2p#~Vm~81wO)R(pBJo_c<-O>7X`zstHI?r`=^3+ z5wHKJ{WHPva4FLMwtp^IC9z$@@ugt*h!1f%z7|Yh5n>$Q3btH$=5bsV?7V0`pW}PM zT%!3xj-LdpAZbM$zY2D@q!n}gF4zQMiBTmTe+sss9I*up%;!>O1U$ZI`Lv#4L25O_DlLdPd82eU_qs>8Vr&!h&M`uaXt={VBCRl#a z{9BHP1=C(}o1>>-`dYQa@u*<>D*BG2pI|%WnzPgKgkVi8(U#tKJSo^}>6If6w_s2b z(mr$y6s#jYIh`1l>F@}4NG$Rb$J2sc5F5Pg7$R6};qtX(n8t+5_YSXM)up~)9Dc#l zg=dyygkV1i7n^gWU{$22W1XV}+bR}Pz&S>+R+3iC`K(~85?rN2mu^uo=U1`Cb zg*!Dt{Fk)mfM2%`mzw%eUT~WpOt^_rackvD=wHZwGStu|46kCWL1t zzNf(s!>qC2@rO`j+#8(&aOXp}d;mg=*;U#nUw z;q7$f{GcscmE4s1R|)Lff~A^0K+4i~gw@*;Rsx^$YRWx?r|uu#s=PWZGHz}g0H4!S zndj6r!cXrU1?~ABQ}3Y7_3SK{#~> z;m!e>Ht4NirY%7|lbAO?K^+)FsOc|^q4s`nJHAyxb*^Qmt%mx3e9Pp5>d7~!plriW zSho5(=J|dlIc$58@mkLjmh!xULG@cL%5}cRZ0Mv)6Y3!ze9*t5?Fa5A<^7JNEbU6D zDIW^`?p92_(r`Y?mX*|p?rVo#r7L%l(pD%b_b)|!SX=6RTf?8R2uy4?4)I6PQ)WE& zF2*xD6Bc@4JyP$Kp1s(S{PVXW{fe}wR0GC`OZ;L-+QyrAk+aUDYcD5lc;J4v@fpK!C%hc?=W_FE}$$oL&0QnVJh={`#LrL^#kMvPZzNLchC!fg$y z=SEE^McJ+wlcUr__pxVR5NlZ>92`O~Cv>;arwF~`T`aXlI1iMzjc-GqV_LTapK@J} zQ@0PC1^iIP_0Qr@=1KknlD}hX=6^&|bLVym9HvbB5^$7Q;7j$cAbzM`GHPGk@<+ti zHv0=u)34SuT1TnJ1X@#9w9fI?UCA_63cu50&l>5wXQkdpr7wOFxxSa29i)~NiT~P;{8tI* zyV6R7^ViMUJDa41N9r?myI5?J^vlEI!{>^HG!<>!hz8iUoHRhXsR72H7B79R2DI#2 z4?{#hc?HgvUeFqNNo4sqJ+PJzqSX{BYt_ToqC=|&tUY@~`g*FsD*~rTkGGdnt0kUS z=oK5WN5-^HgjRF2-Y4#29$N##RrRVOr?$yj^{XR(sNU^>_tj&MX#1Skx(+D!iWluJ zwe%EUG)kn{ArgHhZ73j?vr)Y3PSMi$Z5pF&f3e>9Htg94B#*X3ZKduuwCzsfsfNgP z!D`#TNZI^yb=G#iO|A&tJF!#);aTlLk);!%wwXw6P?mqz#&MaGY-qt2>Tz91tXF#y zUG}h8=|@7>UgdCedTcAjte00MYmGYpI?Qs>sfN}^${d2N%r@3v_h7XG@wY%+qhpE=r)eNjz( zLThTIysD2XqOMBfd(u1!`4<3@M zaDw=dfLN@qWueq^sncEY<<s?jON?-2OJN0~Nr-c{WDaO<>;Rp$w(oqia- z^V@^u`IKC7D#}&6p^Ru9-!A@H$4AQCpo;kRksbfUt8l7x>J1Lvk8q8#B&=mgh9K+G*y&5}H? zWy{mCV)mTdS1oK^L*4q`Qb6Oq4d}JNLh5aXXycH;@~z(nA4ltbfFCxdXBgV(aBEZZ zue`AjI!_%&cJ)y4?ZHCEU?*|d0~@zms||B z?UhOwQTqgeg&$*lTpz-ei5F3On--iS-PwpxkIgEt6^g@QL zp)}`{GGqK_&OKygMe>hsV{+DWp($Osf;%1`-=?7IT$%7<$pU~+lwdrm65#@&uc<_O ziBg1xB|fQg0X(^M;H`Lpq~Cr=5x@p-S41r*I#dTtXh9D%1>U}(YLUXR%sgosg=K9U z4d_$_9=#nLK1rz!cwV6GQ;c*~|6{_M&tui5`t@SY-zL;Yp0Zd;nbtV4_TAw2{V~Fk z-n&uz)uUV`l@y=j+1a!WR;GXn>b}v0PmX>NupOYuVfEB@C>yhpaFSPGAHt%kgw>`I ze*Z>0$fDO!?c`dM*qj!k*E@wCU~21*o!Zn;^A7g}|EpM?nf%Ar31Ch4_$9*Rx`9?T z)TqOQ&`xdPsjz{9>UH=Q_`3Nc!H03ovOrJE=)8=ui@?SL0|LK2NBV{1gnI?{b2Ai_~*0?*BaKvb!C)l*Y4NGk?|5@r5SVo0-YmN zuTN{JyibpXq?gmjqP2rCTQeo?vTP!B^@zX=#~I%%(6we_NZa{NPis?Nef!2tXzAxe z;eK2_buseK6*w6%a`)hB_nkn8eQ@#K@+a$FqhJRD>8bAeurmx8L>)F%sKmEE85 z!&BL2y?R=Dat*dhD{b2dxOCfAz(0hNb@FY*f1EQOy>n(Abut=PnY4@q*d8ouFJZme zgv)jib{kE2`v$_DrwM=a5bnTLFD>J}$%Jn}t7#dFgxkeUjDJ0Y@C8^!c~zkIE@N z0ZgdEoE@ut4{L9jJj_T?r|bg_#)o6~ppP*St$z!~T*9ErVOCZ&?Z%dQ~h?B+1NKsE~b z7i^oL*5*$Dtm`ZX&Tn{zV~?m|a^9E(+}*VUwvDfX)N#`rwk7?3#77$~0sqd|4RC(x za)24-3H>(GpUU4C@VHQZD$RH=JL#wLGyk2pFlU;RlqU-?wN(Yy`&ni>;P~@wzlI&g z4FToV9X`N?HO2t`oH-m)w;VhUyDM$u?=796rWdLR*s1I|@VQih@y?0gl)}|EiSUYx z^rWh@0rysA{zsAtZ&A!SH=e1FmtuTYIp+VeBH=fQq!+BrQu(Sde~+qb5N{j53vha& zQ-Gbyl76Ye*NAscWc)zVpNL;^F`guK?X616Bgy&N{r_*RQ$37pu2WrF*{YVQ+rJK0 z#49E1mZ=7KTe;f-XBXQ3KxEFO6AkgSsWIk3jOE#dS|&%P>OOiFJ6$=Iy-=eGc=j)O zKj2Fh+5&!DiC30UNrcb2I!cXQ0Us`#6KC@5jnw`n*|vwvW^Wt&-KlP@7FujN^nbp< z5XjYWJg-ySmvgEs4-+{MU%TQ;G2gNsK@4V*J%Aj8CrmGhowX z)jk1F5XS>H&zAsrC8`48hxuv%4ljK_V5jnFfL)UM10FC216I#J8t_=@nSiUy6FThV zHX;84#Eaar7Vvw}(SsBA0-pbn8n!*5^>z@cSMA3@w@T`M_be#vi=1qgssBu;9bUL$ zo=$ZY*AzU>_(<;c>Q?<*p6q9%;q zQ|=PwR*KT)UMlCdZ8`ljo+!ETQvY06ZY})p&a(^EY!uE(%ek6a7-f6+ zDh~MSU~&%IIoogx>UBg{=)ib2#Gix@!IOLEne)d?!tX}$s$|yAUMO@>TcFiSO}bO% zm6dOcGBrA|J^dPzb1iVL9aRtT*?dg_U8UO~wYuyWOqX4SuC3VqJ+k+E6?0B=-=J-0 z#(T+X@u7xK79_W?8xj5`u&40sBRu;+#+d0(34B`MaKLB!QHq%9w38)>XTP%3V_&Mk zIeJ+r3n)vopmw&IsJhO#9AM_u)iMDfrPu0}3yJaChvv3#8`Tv-^@2Dt}wqf{H z)!j2a3OcBZ2{XpQgs6zFIp;NybC9S6a~4rdsGx{pO>53!4VW>Yt_gF-fFj0K*Hw(G z-&I`~4ST=$_nhaC_dDm~4-P-BN?lc5(>>kOLtJ4kHIPI&_JgBPo2vbInL8lOC9(&8 zpJ!8G9Pc$1>um=7$I2|yWWwKV;cqyigX21$>kRy7yu^>_dX31^+I$oKqsUXVZOMke zW0f53|5NJQk|C91C7$ae{Cybzc4+{wHPiyX!%Ohr#q7f1bBrB*c?+*B;71N)hW3Tu z|9|^W%iJ$;I|siWY9P1ZyatZpk3`kydlvt{-N79A`+w8sg1v*U8@pEUa-vUchwZ)U zNT7s`OZZt;xyt;E@85gqOBntCvwV?PoFOhNbsfgBp!~o8hxEK&UjA1|Q;=SAEoe#6 zTE4@%r-7tqKf-aLNq%X)T)%l67#A-BU@r`t_ikNEe9XIpeD=Pix?20~-((u2{ zvHvgrFJ_3CGot*Wv!$T-{`<)O@5i*Dul{p1i;jgDM=>G=V^QrtMzCo5|2B3-UoZaq z*!|~N^RctQ*u9k-!S6S;W+VQe_Ko=(=-in9UE9%?G_GDAez!H3cPv=n>OSQw)yKzt z@A!Q`KmV=ujPGSj>Mm6n<0kcP0Lc z(4;E=I|SZ|DaUCk z#gY8~oHG7@Ncr#D6aQaop9Nc5*nYmx{@Jx~pPi3U{{Nz{>0$-oJ-}=E&s=;hDl8M8 zT{4otYxM7u#W7pa5{i~Dj%<0qIaKD?iNtwLld3CVEB?=ONl_Q?L!R&b zn>6qV=aDhZ{#(kba92#h)>#kZv(dNm|E+reH|6j-S=cr{!`Ey3+7@m0@?({>QvA1j z6>;>!-_s~~cjZ6-UvN~z|6g!a!_)u!-4$NW3akHn|Gg`a_k92XPPN|A}3CQ*t);EhK3IYoFW1`>nf zrNEK1$fs7EdxjXv5!C(EV#SQ)ln|6z5|oYkc*{(rF5LB8P-ZdWkK$z(BUzdf)$UMc zadJaQYguvf3{&z_tVkueE3u#yYtjnEOR*-CH6^MUqtC$ere+FhrIa8`F(oghB)N>@ z+h-S6WxLuDTexG9kQA~l_o-_Y;;M<)m+xAG3>8v)KFpxC$XJvs zJgc`BnSy$A?K@;jLj7}1a;r@ipnjX30bjLh6ups8@*=T9<4?eM>Zxx+ER- zEYsvxk6b~$&$I#Mp>AbWaI=utsGO`CppU3)hwHmJkRPbr!%aad+~LZ{sP)1OTA!Fv zzbsTpeNrC9x1j;4hT_}MfYd|vx|I&kDsV*k+{#xPl9s3)VXfU7kq)Sgunr&}P4ViS z_1)YWlL@G0>wANyquxV19f=BeHp5fTRF4Y-KmnQ(iD`)sXeR2&gJ3r&vO!ZCIg}RZ z)|51WJ5Kq$=Ch|63DA^Cp6(v$){IO?)!Aa9%}EU08xGqJU(w42k7Lku``YL zK5x*5IH0aHOm%BRnhI(AN?X!aQyQswWSLuAG6{8k#tygkL~h7yPa{wEA93qUj-r&U zXWhCJyG9}wwDzo9FER?XW&L%xzT_)v`s@zsFQgQF){K`DbkE1OAF*jJ)IFH&z}U4ZXUm3=OQ_vvgX9oGoJ2mhKS&-#8lgJf4w6F&>>%(X=4Tl36H+HE z&!Ax>6t!Tv0#CDuDUvdrOu|^#2n!7-(^0Mw@Ciebf+`+mp%G*;s$!IxM37ZN+B}OS zn=qC&Ih{n3-%+e3Q3JZIw{l#*_t(L{lJ!}(rSI^9g7NeLmXoiW4~W4*&IG=@}0{TBBD zR0~yo3Xe6=^KEDnLpth$Cx4Lsn9_GyJNKc)3pHd}7f`UC60X^jD2!!2w9sK>7%Kar z8Dis6YnqQzhLfqNZOsGB!^s@f+4yuaf~28x;`5aeWCdzp^K>$jtVjLPJYN|}b_i)( zJBpmr1y9!@&veaz=a1Ml(|U=_hLIjioKXvo^>!ae!gS3b6G*bI0q&E?GhN>9lSvy` zQ2E-r;8?i(6w+T;w0j~6)ivCGIvJ~Ly!%X&s%xfu5_za=p8Fi)0MB^gWuD8ML6S+d zu5kBxBtciSdn#F|Yq)zF*^FA7YN3nBD^2mlGkykHM80WH|BNRykHNhq1Rj~lYfyRb zE+H-`-n&ak2O;Re74E;1P+c>~a*`xOvh&PjC3&iA2KkNHw-l}ZxX?^ilZm=!kTv8W zs`F*|j5N8XYX(_Q)K(&2=gaHdH>guLx6^0n5~sEd$O&J6N|1Z#pm%dya>WFy9^<-n7nNG8TAL+lx` z>MHW_8S;!oYf2++=Qr_yryJ>Ngw$AC+XXb=Sw3c{X2X7Mah1BFyhVkq3-I_#hV>9Bug&i4@egU*lS{mEQQA&Zn#x~SDD8@RyF9{!(!L_4+COO` zJkrMv6_nH+9{1y~iLdi!BGIk7Vm)MfNK+cwx^bnVP_>t+ee1?i9tP@!3Xk`(HPR^5 ztk@|YDm{c+0xCvNqM|@nGz&EzRD#|_Z3LO=Lrr3fO3_ysJDV`eqZGC3joY4(;!&D5 z(3LL}T$8aJRr`oC+vINaC{J6V+@~*; zD$;(alJmEF*wLAKY_~@xx)gQr>2{AQbRVit@&S*k^sTOA9@S{|zM_WN8_s#uplx+^ zQ0!?YYSOfu9yRHJUqni~B0+SrH=A1L%@%|gkMjz^`hW}Z#xE>zX|B|M#IhOTm+P3bvZ z)jgZho4O>aIenn3fu}QlsmsN)1Nc{b-o-Ju5 zAxQa)XDe!tvWH`$R@6aLqI#lf25m)?g|yeBR&K+wxb(RPaVg3cA)PyrI3@3iJqOP zv%4tM`@~$&&h(pyP>y4oXBXPmlPiVXb6nxsl_qIQ18w*0PH$l>!||YJPg=u^rxY`} zH??RIdq8j6TvHlpcm9-TZ|Z|OcjA<1Kbn9FzIe*hm2NR2Md`>a~cz))cQU zZ(IxXQN&U%ArjZofCok62?wewm^H)%>E4X<|dT2A+&=1lp; zYbAY(I%)CnT1DTW9$EsuR@0BVV!YN+c?_>l^wL`Dq$!VvHk#nImYyEVV|jFprn4yC zOKa(6O`@;Y(QJ%`Hk$6Wj`kT>kdLb$isxHLJv51Y>uE5?LL1HVT2C+P`M9nW$+w=~ zE|PBp&C&BM_1Zvl^?Y2>%2BncpxbJ@a^MTfa2}kNSA67 z`8H8_D6*C^w9yW)O?17Uk84Yje4FT-BKbDck3#DBkaV({{y@Z>8RBBa%@lg4ODBhhCMc* zW}R}~O+RZ&RC!zWP#Vu;i7Ic)9$HLOp6PIlbh4M0LY-@ouk582F{NvAI!UKBP$9|r zN;-8wwQY9MYaew&^=ftt^fO9^W1{`E6UqjTm-f@%s2$O%We!kRR7Uh^kRR$r^NU^w zX(;Mr^IM=8)Bq^+5FLdIfHDu!c+|-lQ-#BH2I^YOqjHDoJXH0iqm(0b397-;0P_*L zT1e~940-`$7n`0T8T2~pMpKn#(ECMF9;JEz(g$6SypGc1lSS_~9P!NS7%h!zJ>n6_ z4%G_I4UbcMRHtxwZUwDhB;N_zv`D@av^6TWnT2N3&Zr5^%2->Rp>D^00>z?Q{$`=4>1b5<-^}DRos62Dl@8C_n~7SKm9P9k=cCrl zwa_#4SJd{oW^#tYqr&;jBCn@Va+YpJ&6)Du=`8(SNbBpfH1l7onxN%_*bK;bK}ZdT z_XN(<>!>(*PvAVgkNVxgLNCxfREC3@T%d1IhaxRBi+)6%i8PZe3J*x-EmLP_WzdUM zMJ>uw$VF;{@`AJEOSC*H3eJ)*(dsC^wU=o<6yMs*vvI>Nilx9BERN?-=PO@Bu%4piV9A`YUy%}yK?T5&Y>!CX25bpz($6FLEv3v=)Zorc;E zb1;w2MV*8>m`4|(_#AvnSEBeFd`dT>4!|6IMt7o4!5n->51_JOo;|0>QTJh;=t6MZr9KNpn%-VV=FDf1+N&JbOhypuWL8dquyaP7krrKdB*6jM1eb zX7VR3iCO~l>@_WmS_Sj$HLZ#|4D;*_t%EuV^Xv_6j55zjE%TPPKvjTw_LjCs9olT6 zf6?v*`8J!$U$j3eVr)8jN4-#^;p^sjl@=&tR`oSyR;Cuve+9 zHR?CGeq>^uQM-K2@OA2aPz0_!6=QBFb7M0+|J5JW>Y9ZXXJM$$*Ua$z*H|HKYpodH z0yqP+=Ch|zeD+we(U|XI(@}~wi$~pP8eq0&GmDf`g3Z&EXPO_9K})bDsFfiKJX3Zx z=96=Jd6#6HQ8qcQpxvk)(WVM!b_kUb{ivLookX3PX`wdk0_xUGGkhWB4b)*6hf?f5 z>MV>yDfSfg;$biE((DcD<3m@_CsZ8NSBAl((%~mjjfeWmFcWGs)b|s!K^=hleqt3+ ztD!zyRvoni>a%4QA+0~l>ix-I;|j%J;|j%lshpmY_fk3Lf@N-NmO;z2_Ne{M6jGk` zK$V6WQi1hHRfQQ+fqA1^ZnV&fEEv^oqZyvVI~ZlV*h1~t@Pd4c&BTsPKuundMJlmG zRPut#wJWo^LfRHpVGA+#>At^r6}AFpd=LTJfLbzaxOY{y1GRP7M9_XAt(0o)7{&$; zx6o?r3@UKAnN(v}P+#FXWp#E3RU*txsc2O zYlGrrRGW20@iD5y`l9$4)nOheK1Ov}0E&-MT^51jV^ojD73704s>jBnCNG%jZD9$h z0i?P~pUR9rMMLEHFReiR%NXiE6NI}ecjduff z3f0Ye6X+spvh_~yh77*oN8582TBm~^qMpt?;@yZnLw%X~2k0+UsZm$G8?(=-8l!H5 z*etCSt(}g{BBVM&?T)Moir4PQTA_|vKlE;W$9BkB!Ysdr)U6%JZoe}wtjlBp;LdrnJc zgLOZTF`U+Pxe`fVi@~?39pEW@p%tnNmcdmGjt zW2Kio^lrnvP&Jmk00kFG*_K6Ntc0_Lwq?UmHJ#0*EgO$=A7P>G*i=;52s1oedk!kk z$3ok)G}K!kcxEwMfhwP3p&i(IRE-of>A-fNLUS#&Bio0H$u*OX>=>#zT-oZx&Y&v8 z^|4Ou3Tk(pg?46lP{-oTq%(Vrn%kn7PZ#zQwX{WP(0f#c?G_48??%YvWmL%kGwIH1qgoCs=F@{UM0Fih8sv<+5B2qAZBehF zzMiZbYQmyoKE2p4sN_YZL7ph`u$WJ87KpNWSQ-?G$_cU1K5QuJZHSrlVdGGqa6eIB zHU$+7_Y?JHvr%cVO8vqXpjN^v^$S~$N-A%m{n$Fx!t!R)k8MXybSdW3pQWQ_xReGR zMcKl(4`6?wYQVM+V3$!%LyGwfWVcZrLrQ}lp~7K|T-giMI2a>W_BYC9Q!j5f_7&B8 zlPgG`BgUxlB)IE?S)sa3g1bK0PpHASEYyQlLXE#=CLXL7>O!oAdNTMTGi`6oj)kYI zvgW8$aLnh$+Muq&F`pOfin50J>CO70D#QHrW*#UT=ocRrP!NND@nI3DU>I9p7Ke(3 zvGrwRQCpph`S`H})FJ26pd?iDbs5y3rJ~xeQ{ekBmZ5&DV4(qQEox5%Gdx{>8*1FX zNYvl#XVimzv}>=KHvXR+)yYHkY)jbk~er7hqt6ZQhd*R!GQ9g44KL)ljpU(bdy zDOrpPU(bdyD->VPhO;s#zMc(dl~64QS?CB>6V-K)nT%i!P<%Zb$(o_~dNz`^K}}d> zp`%zARPrLYuY~nQ5xB=?G;>GUz&$RbSpbT!XJc46imzv5SR9J4XJgqI6kpHAvIG=g z&&IJ?D88PJW2q>9e6j-YD5wohcIQB9$p zlh{R6M`-6Hb_*2_V-(LGqQ=1(#k1!qzMf5Hf1&t#Hko}vjf8zVfw2@ZMoF+wC$Qou zzSd1)rBQsXo5Ji+e65?x>`{EJo672=_*$39nxgnxm&jV9_*yrObw=^EZW`-@;%nV> z=7!>H-E`)UvT?D{87!R?2)<0b@?1 zEOb7rj_N$hOy)BS>Mh)>lFFK(D8y1(E0jCrTfjP^A|bYb^+FAV+SAxTR0!0b#(Yt~ zjqNYN=MQoCg*6PJxR*4=!fOsC&?Zi`in-YL{N# zOW1FyO)jn=_(DGTNmM5@|v?bFE8QRPeY^jX8a zP>v<~fr3$!tv!6!vMAI-Yd_F%RJK(XS;xks-dI(xy^bXcY1^=#9l#hrvsurMqxhN4 zdUmcz$_?x)#_pvJ^4Y-dqF$uMfO3nZ+{iv+EGf)FH?kk7<#0B?k*TSoKTpH!<|bxF z-GSH5O{_d>4ZM54nN>sWfOpR~vwA3dSR=PEM^s~2Be$@Ys8KMQTUiIxG#JgTtS4&j zd<)&i2B4PCHM-`OIJm0mK|=XbUeRb$Ci(8eMucd?xqn+4}%yV!ozYB(R;#g3y=;okb) z>?~>p+*`k!T}9P_*SJ0GF3K5R-1js0mY9Q(%C;Ke$0^03=6~< zO<0sp_OTME@IeOM&#Iu_K2XShRtIG}D4iT&jZifP_3g z`0>&~)*Z!H%tNdnim#Z5m>0@AH=P`2L8!{P`O0Ayh3c>*gC1eSP_9c9a)gaX@s&1% zO-1pQHiOMU&4qX9j0V|;Br z#pEo_@ALh^YN7c1e1EWpD89CyVa-u|Z9T)9f1;y9abIb$9*Vc0^5XINl^DLquAMB0i*-#W;TQ9J&D89B{U{i#&t<7Rd z7^?++oyAg7j?mXxY#GWm0j}n@=!t z4qVM;mr#6budrJvzO`3a4vP2ERrVakd+92BC#1Fd8nap`M&IC(ISadm@kdqIgf_u}~E6iKi^OAO=10 zl#N31o_NM4p?FU`V>3{^C!Vtu6z_@WYzd0@#0$0x#e3of+l=BX!%Mac#aD)x?2wSw z6R%h%#-a~CZ}5tpM~yp}>h_9VM^%GY`#;$|RDF20|C8mRtl$;>HG7S!0I%q;*+*2% zi#FbG*bh{%i{(M;Vr|5<+TSv>kh&Yj;VmnNIsxPGmQ_QoxSZ_s7psffdN~c`h>C~T zxOdD2l>)DE?^p*EAEUon4-_Axzu5p3AEWoo8^y=yJqtncHRJ;ujN)s^2Q~u5*Q|Ut z0mav>d^Qcm*Q}3hE{d;NAK4-lANNmeC5rExpV&qeANS8}CyI~zXLbO^$NdXCj^g9~ zg`Gq3asSG$qWHLfW!Wgc2Yh3>D82`LV}A;1J^v5;fU!-mMgOpWPWAV-EKKr3@uLe#3PSOt3rUJXUA+fabERRZ$M@iBt~4IS-{nxGsVM#~ha$~ERc_YH z+aRT(8a8tUtw7y`tE)z7J?b%BT{TKOgtQ)1rF|IV*ECe=D2iXxP^B{{enrJ3T}JUM zDkkX;ik}q}lOCb?SwS)BC5m6SC@%et;@2&TOW%aF+O4FTzlt&9_dQuj^-=u3Co8EL z>iGF|VlA~sWu4Dgtfelf2Z0t^Lh6Hh8E7UYB>2z@{3NQCA6RHf$sbk!fti$)!ck`$ zo*`x_7Imee%FNOj)bCf}Q@qk-)ZwctvyqZCrI9=5m-&>EHtO2oQ(D@MYTaU)&ri~2 zT^oFCrMr4cvsF3iqb6~0XhrF#rG?vGQL2RE+g?$sh2q<8CpAFvZMTz}qxiO0lG>p7 zwpWt6qRuqTB9*1Ss4ETOnyKWWiEqOmpDNODRO=Rpe5y(*BBeGe)urv2FWaiRcXcTp z^~S27Rdwko>ZP@}RSoG66f2SGQ$xCp;`7B`x{c!V#a?d<!qXL59J7A@msNb)i z^Kp>op$=aSv~rM^3PH=R`_z}%a=z_pYPT_ueH+ zFI?l3Vo-nXg=>7$XjH(R4BA?XM@8LHNNZ`PkT#laqJ-2w|8AW1uU zzC_i2ftd`DtWXtiXV8IC8C1>N3K=L>64JKaRjP@xy711It5hH52=9EkO3hHb6gR0g zikIRhbrI4^ahLjF?C~zRwj{ZsUhRTwOOii|m*OFXp?E1CQml|xil;OhW93dhZ{R7# zqwG(nx_L@7Q9rWaN|Q7XrCx+9P13JIS}ESrYK)aT*~-^j+KjS4xs!NHyHP)~+WGoO zhfwOp9w11-dr&LISGs_)?Qmb0uXG)?cY~SuO7~Is;ob^ADG!yGY9@Zt8&rc>3-y;i zqFTn9iN8dC7h{w$8m>Y~D(a8Xa1~0jK~;p24wTBH>|vw>rRqXj%YvkO7+VYXQUytl zs6B8mRglyYWr4dzf~5{97dW2|mU^NNz_C<_Gyru8j-^5*AJkCDH%JOW&47G^q#>wl zjo_M;Gy?Ua5nPj!CZfJX!&NA08mct3B}__2eTU=7aA^^$WHelbl72&Nf-)ndji?ML zGeX)eq-|}aRArawvkvQBeIupXsDbOfL5)zSR>M^&$r*KfHC%;~+M!y&YC2fzhUx;V z>0qg!kXFMGDF$N$XTdcoX%xzL7F?5(;!&Gtz%?mp2I}ApxF#jdL)C8#*QBH+D3``? zO-foVq}32BZ4n}`ngsdAN@TaTMZ|Vfr0-CvC&~aCCM`mh4GQudF1^xpiu~o6sE(8x z?&0}P5!R%wd8Fj5DUo~(4DuZ%C84ZtNBWMDE(&S2kCkp}iYFbd64kL1FN1&Ls9sQ< zZ&3yLj?-f;$He(gkRIrzjP{)C`drl4%+4lz%a=A%x}4lqxX)}U65U1pvx zT|zlEnP{FRS*P=MW|Bpt^Od=hy{0sBW5Zz2WN8DcOtPD2iu7Jrg6}-3?>?R{h0HlH z(|5jMUWyH6i6 z-j)MJbkO%m5k2)iUPPCDPwC=qIa@?#zYDr}TP_vRLEme-cw27i;%&JrNr!nmc`w!Q zyC;>`lxO1iqCSx9HN}$^u)aKyc3`YKTupi)oksCHFds+{h3Hmzck+SM@rc;=H*kII zf#jSaw0DuC-veonkm+DbE597+FzS3tC(s|5a>dgzr5;IBj`DnoWX01yevhO>n)2xS z5uSdJCEH^>mS-vr_t51^l{LkaDw-N$EC$Zsb0uetP0-XGW1esZoh$Xj*dR?&B1YH1 zxl?XIFIn@RC=}oJLh)_arSNUnWi4vpt>pKqinbI;v>K)Gt=01>eESN;d+*!g2FQk2_c~ckry_VjiR!!aP z_fG0_LZplcDQ3u*{88uTo%Z`E9YxiBcHQrbR60|n3~xBI^f$>4wP?cwzwc5_RD;nE z{D|BD^&s&nU>HHlKn%H*_2>2$SMnX+=QrbIH_+0#%?Ui62E-MRACue^LilPINvoU18~^p3t! zrh;7O3{ROx`d#|qS5aPx`hM_-UnMycRrZjqyXNmekr!AD4%dJsYpe@d_pRR>c3mM)fho3YuC#Jf;i(K&%m+1MHat%#sYQ@aj z{w?KtsCOrtfSiPgcf&TITd0m3`uew$$rVxN{t!R^Hu4r!^VAss4zhfe$5Kf1)Uo~@ z6xVL05Sf>h%2C{@vtDDErjf{ypU>*G0-(^P7O2ZU`Nm?ql0iUU^ffMCwxi zUh?$YTw;Fql@H(HN>p23vCzKqNmR!xX3|&ALd}NQFY*o4LWun$KS1Tp-{#*>ev0}s ze?RCgYUBKq{{7`osD1O#f#_XP-|?VyGC($=vV!uJ0dgtS7oRKs1LX=R**650vwD-7FR?*SRNBHVpN#4V7bbIadvnx1t6)Z?KAxPoo^3 zY_N)wFQaTyx*LYbw^20`HdsZ=k5K+&Hdw{V?@@Gncf(M*?R`<-*u5L9hRJVH&EYv2 zBV?xsBBthbH;j;jQKhHk`;U~jpn5oc^B*n0MQw311dNeeKIHktydEca&?IKaIJvK; zG;#*s&Kf6A$|+1aUY@Qgji@JV0>;bb9`RTjQPx_^ljNqFL@ATyb|R)d>tnLq6~&+R zF^#dWpC-Xdf_LwtFJ_rS{rEh8glGO^M`&Rr`RMvQr+9rI0ji@tA0Js$5l50{J;Tw?V2r<8@(d zft;!-jr=t^IADRCjcPiY%l-{dnMRsz=x$gbN1=Y53C}2yccU7mcQ-7QzoM$w_OV?g z*Lf@Q-LB|kyI9_VT5j)SyF@;ZnpWOg{#CB}mq>ZMwza%W9;!*SdWAd=V+&G-1+0*F z{3B8>OPLg~TDJQx6rM6OV7v+g%X_-iETDlTMz>dr?kv@|CA@ z2I{xKbn;9-joKcVuRN14p}xX1_@2wRP^N@@<++?Aq}BdHev2_aelO%tC_a8KWLie_ z#CSO4dnubxGvV`wFXd7wK7Oy{3Mf8)ujCpi?X$&cg|qpCklCm-c|D9giq<)fS@q}A|AeyvHo`hJqD|HMZnjZ7=QJn)m;P?wMGXSp4! zj{Wk$FS5HXAKR~T1nPM0<$>SicwIiW|H$)E%_}Ys{4Q_OwSh+E6{>p0t%0i2 zwJa|sh15=49%xcJmJ{lfwkNQdva-BT)3l60Yvo%7p)RluW+kbj(6<`P18tO6c0yNk z&IFcH)}V?%x)NAgDOE|tavIzXETdG=l@n;IR7bIfcLU2QPP%deD=3{&H6fp!;*Kgi z>uF$RB~aJvz-meq%6HDwKzn7huGfLJl|Y|Y9BH#O*wn5z#Csd$n%2nv0tVGS9QL|i6;i}DPgrm zDU+s62ntX>q3n{U1O+KcbwsRf)1;sf`*- z>k4P{gOq(JcZh{5CsFl4VagRvqRen58)GFJEDQ=)2EffMeB4LQUmg^x{Gmyt9IRZ@ zBx)b5zzxM(O8+D4f(9!w4njkmcYs!-GDn^YicvP}$_YywTNS&}>C&AZlnA>^Eq>QeM}L zK}!@TUFm~XDc-uC58A9u(N!gMkFpijaI#0}QRNt_OuR?vG3Az~6moZ@f9P=~xDl_9 zk5OFc31z6Jc(u>&(V>~jSd{PXIM5VLnWXLRiJ>Qzbt0cyd~z0CMcRg{G`Vu^Q%X9f zY;dhz&C|+x5z}68|4^=B%EuGoK3pXm_2)#m4_A3oB;^_9t)?{6A@Y>#8D&&s(Jvh$ z7fNT9=_q)3IXkDkLRF2M9(qA3<|tCetxFEgQtF`gr7aGhN?Q>#q*Z30X54fGxWCdO4o(ZyGmClk!3^J>!pqF7pA}ZkFdgNTn;ll&;NMroX87iY*&E0&LUpIU4y$d5)09YNIOd1d zHB3iYgDi$WP*)oN2&->c)Q{&&BtIIP!W$Zb2WZmv2S-Durg(B<;!oj@26dpQVc$f% z@FoTaO^IZa#m?YlP+dhS%Rx;IlZCWWni*F9OD8m?5!-A1jm-=tblGNtD^eFhElpJfm)Hco)MZ)SM~X!n+!J`iWBd98C}JX4ru0 z_4IUjcf&K(l89^JJq@bANVz29es~{)1B!;c2=8ZDB&59;JHW6)Q;N#piydHCkFnG6 zoYH}YZ5X=`&nX>f*o(1&aTANX8V+O3Kd!sM)$oUi!81i`ncNJo0z~cY;ONQC@EKKg z<-2fqgBmDe{0Yq-h5@=pd3YKoXi8KE#=#v#hD4Nq9Na-rzO?|u$1)H0_M5dj4$l{VQ8A_nQ&>(nM9Lf5v9TENh@7h{*4aKX zRoCDk=g5V++K;i1T%v0P#FptA^0;s0$|7=${7sj1$1ieq5yeJs(6w=5O5_$@pX#rR z+^%c8V|wH+T{l+TaY)ydx#B`(q2_@0=`qjXYmxhPHOzh*d05w~6<;Ec=^A{uWK^cE zHrX|zPV3sXxk=PnU0zSxMP1P4xus9kC0%Pn{i3cGQFPReBAOF*TUV^}uBdEXgM&^* z-PhHA%&w@1x<)|kkuKi5xw?3NJ}IKu$QQbzg6~DWHf+%5XS`Z})z9_+GVDP8yz0-W zzYO~|<(c?weP?)DWG25ee9;B(+ZfD2e9y_Fd?x>G=!@br`J-VsiqGV4hEFIylZi1b zSmfg~Suq|$@tJHgRt*s`K9jAD{wO|^ZHy~Xd?x>7e5h-CM0umrAdzov=*5Ui##9ua zJ=KhMp*)sI+BA6|Wp5m%DUb5GRNJ@@#pja6Xcs0@I&LXFxS`P-^{IZX!A*?z;i3k< z2Q)LbLh(JIg>hJ3h_S7vMAH7Q=ioucNf_h%N`&!*CNX=47|)^j z>=|ObCi1C#_Cy=m2wtCfEsi$+qzmqaGuG724an(`>$8)J=S zMv7MRy>Xb)9mV&?k;bJczBi6BK1A`oalFxfl*q^T#!1F76yF;Yj9YX?MJ%Y9((8@MQ$;?$7jH1`)0C!O^`A6& zv+*cuOX_2{&Bi}besB$Qv+=tSi3(1Hl;%WU3LNt_SvYvRaTsdw-93YM8>gU_Ih`H6 z&-e`0Ci}(U!^Tgjy-r^TA2WJS6Qyk1Tz1GQV-!kusx{=S@ifZoiOY~I<4x4s&~8Jn z7@z72A9BO^5%sD5+#z?2>U2@&cE^=N?i+(pvCeykJTk_i1_zxT^28XAYCmT0kY~nZ z)Ch>ZG_F8NcODISZQQ9z%)!5n`!UA9q2O=hB^3W2fcM6)sOVV}i+?bxGeldQL*Ebi zV9eGeO8IQe)g-R)e>R$D@|2m{75>l0>YBtA{x8PHn$ol<_;IZ zzYY0nEHg{g_hMLy=x;`MRF~m)(cg`ql0mVQs1MFr?!li)!p+& z%pbmct(baDS6Fm$^}Md=Xe+gMsz_P(*~sV;s+X<_(IwSss3(sTqs{6{RIy`8(KhNn z)Vrgp(WTW#C^mF?w5|FLl^eG+x*XhBE^7ETH$A$%x^$6H%ON|X?NsN*LOs{)jIN|k zLIvDC6D%C(N_joLW*LTFv} z0&4PI+Zc=bR+BiUbx=*qc|Q2=HF(~IgKC574$r%AP%8*&$8Pmidrfe^RB)9T&`MEX zy}K=98mXgJ37vlQZAfGFH0te<&M}VaHC?~NG*Q25;UNKIs?{3NmOn>t_h_$H)0G_4K^=f1Tjm-%sYi7!j_IO0trhw1!}o=B zR|jemz1u?_gs~L=vt@gz@tVY*(?gvhr1I~!>Y=8f_;*|NP?w!`1L;OSlJeUx!oI_azC zp{gy*SNf`NQ2Vn#&|lP#s8iXs$uBBd$G1IEeFU+7s)~9Gv3{zJkT!eztK~6P1@7bQ zuU13VgZtorT&WfT7^$6 z?xn6mb%HZIFBQ50eoiT6lI#rLMYJczM_20g8cqGwO?sIJWBkrx#i(|g(nz;u?_*-rHo77_V%09XzQ)9<1B&Dus(SxR!Ma%NP<5!Lc+%&X zDR!7TQ&XPlPLNIPa5Ytk_IeD@ds3}-^0wsBi%yZgBUE=(>{@uHlbVg%*d)?-lv?L^ zkPytbtjTPw`VCdjsch^xwd*dC&vNm3gYoJpR5Pb)vE$W4sPUH@ zfZn5eI5mx(ptjvD@{PaTE_R|CgX-bbH8x&7fx153&XAy9Lq#+h5IaS!vPa}|NPy=d zsZOY#unmdoB-DXvippJ*^%`y?lH)_N;md#e49adLK3S@rl^;>MPWMG3P;z4v0D7kZ?ElqS{(hA~`TG zom^6T3TZ3*C3S)(v0h(NXZ|ZTPg4TiwKADqQkNA;d0E|9B;{pwC#H;H3DRYCf05V~ z^%%yKQt(6#^%^RtvdXTiwg-7T#d>y4t*j}5Y^`o*xTZR25-q!~Iu}WKU2TgggX|`= z>uP6IyK3W<8*2X|DQ~LY7@Jw#(e|eLxk&6bd^s7fJ%KbUHQw#ET3nN8%N?~0#`+b@ ziM^wCKU~<(yJ|m83BZMPk`%62=}CgQs7p|7a51a8ETIDJS%aI@2mDjQa(@}Fcw?C3#BP}+< zEXDn$u1C37e@5S_`!$IX`&-S#*lYXRhvo9K}|nam@i+=(3C*-*R_euSKs_A_6cMAs@Ep@>X_q&`97+XH6@VpHOt0*RF@Qq zeNxw8Y;a{M?vwgW6MRF(JxV^S!%p&2a_INiCZH)O9{Zy1K35p~qGqCa?5mo6u`u>k zeTCw&Z|YI_T~OvX^%9E5{!wFc3S#SZAg0=Hd6^;~H8s+dK%7i=25S0RB*skgUp!?3c>wvC>7pi) zPcq%Y*i48?rUvf{%al#dni5Db#AMU?A~D5u4Pz?QrJ!f=#>i;uu1S=lnp`!BQdE<#rUa5G)r?b3gNnpVrXd(}wQ-0u znWktGH54;te=Dq^nCXQkQA2T4z9vyaanpBA3B<;xNnCN0;UAtafsC)-B+klI0+nBJ zGP5>0q3o-<#Fa3mqR!b*W+hGgP+e-d#F$=31GVMSut=BHD zwCN92A4}J`GN!UWM7}%Zm$;uyRZs&tbP{!-T4r1o(*;yX zxm{dUQ!Z+8$#ZelOjd+xeO9^BjkxNjuBdO2uZF3wCehdSCU=Z|w|^dIZ;B}rt7#gA zv9?A^K$Mp$^3^m=(v(0Vi@lAjXl+mwYVKg%EEYMUNv z5;LTZX*c6Fh&fotl!@Z|ZC%q2sW4X8bQHy7^-Nt2g|T`jcNC9VOb*7vn8nlz#bXX8 zSuKn?n987dtiCC`NUXl;RgqW&({58?z6Pe_n#9&NG-YWLz0}ZjLsJ52s@NGCnjT_4 zUPB|3z4ql4Vrv_joKQU0*tD`lVGWH7sX>v zrrkdk#+*!oymUL$ z6is4&wm0S0C~S3m(|Z)(q7J6q|A)PEfp4nH_WwS4?<6fPFDVphZ2@^op(sdY5?d9t zK5%e+AtX}KDyS6{i>L_&1VI!nDq1y>qE>K}u?lFFgw}DY6{!>z1|_wKFf!vXgE%)bo{fA9bQx$w#QuC?~skF)nauYJ;-+>W$D{TH#!Eh^IAie!AdM%;9UJ~b)rOkISuT-yK6)Ky}c?L13Y_UmZN zS-Kh)w{x8Ko!F5!PM;^1S^Ic>nOJ7+!)FTd!JpM zuU~+b6QI8|(;Hyr1?Vr$bR5<}TDO^?8(|r=N;N^h2aA8@;X=I=7XQk_g}Mz^!A@H5 z(VxRQV<)Zm=tHpD=&#`?>Z7o}qVFC|)b;_~XA50t<&Btmkxqd%G4C|8x|^2Vcl=5p zFP7P#ztRK0lQ#T2X=A^WcIJ1|F8of~WnxvR`%=fv{FS~ER$k_~nHTFBNs*W6o00ak zd)&-R^xa8mm+Jffk#_#fOZC%9X_x8ek+#|WtC^SShNQI1braI2IlH?q*P{n=Png>` zNuME>IbSB}bH%Dq3ygV|N%|64kI|9u3VnG}zRCLPqa1lPSqDArIqMQkXA{xm+0$~(yr1ok=EPOlzWw4n3Oh6 zFGJc`Ds!5SCZ%1iYmjykrCqJ-lG3ix4M>~h-Dg~*KM~8^qEh{*q{vcz7?Ip(rMmNA znaMI+uhl)ps!;np*Ur3F4@pY9PLD!bT<RhoZR6l#!%o}yr zq2_3IOWSAMs0WB;wxvvu6wAz4rhSN1j?m09T?1<}@gU;D(WP{p2_ zne+ASNofo9BBX`%OEVYhH8(h+$XPXHkxm)jQRdychgcPAo-;o4Zhc)++EP6W zX(Oq=rFvab+A_TnX_54%+-152))ZYeg=sO#xCv0R@F>v_s|zdkQ1 z@&SDb(w^{KHs}HUXj0k=U5&I_N?W1#iDjPqAJP|$Se*8#t{&Zy_NcCf#c5S~Exqcey)9Mx6|u~{ z<1zhPvCMt!F}+1By1%t9p81%5KPmEY{Yg^f}6 zHYs1Vo`tkp&x0pb>v&SyYTbl1?b$kWweC{D?KE5Vl+F~ZLVfKyW!O`CYEs(MdOFgI zJs-?`TECc-_KdDWT1Y2mKBKLtb(C47y<%0UCysB*t_=MHHd>+}}WGSqtUDpld0q1?^?D?%h3WGw4f@Qa$T#$PNNe!Sv%H}vC8hmVmmuw9s^Pc#rlhnt z^&F%fcF(iCsTaY@p=SlZ(~rVBaQr+=qh6bo?=4-6w1=t8xAbOM*Qe9(kn8QR?xK86 zdT&y`cl4i-_CB@q9eq?RbHCl9W8=)x`>CE#x(%#d9VR70v?Y*EQZJW-7#c3_tJE0@3MQ6g|wC&n; zVMp3_-2)b?*r|F#rZzeH~y+4?L!@c#c4bA-!AS*+o4^T zm=>q))VE&Rk+xGWg2idS*Sjw3Nc+7$0E^Rh=~0t9(st=_usH1_U3EoA+DCdVEKd7a z|7~(d+Q-^4g)MVm*{wT^W$ppHbx*M>=pBr|F59hh#WH8XZrvl$QOa(8A}p>Up}Ph< z(h@os7N@o9v@1K(TD4L%Quna@-8^cB{4><%>%Z?g<6fmKs>h1&`!6Q{ck_DZeBZP9 zmG65liL>W2@gF~%^$uxKxwn{}v^0yln|?XROtq-%XQicC;VFr6dpH++($Z{{%8|D->GAeR}H_DADsX|!6oo;~?guc4+dycPZzxF)ZtmjNW>&MS#ojq2hKHJ2R z?CFsIeqBH8t2Ua4<|xye=KO!ZgxIwl!_uNYl(}kpUMOXcS^obky4l)>P2BQzG#{*r ze(Hp_uES%fvv-W-m3b@45@gMV^~_$wKN0Ub!(_YeU)b(;+c&>(Z{*|s|N$0qg-}m%jD`LB)t`6d5XMSAHtY>^(Ysf zJtA51NYNc#3CBM#*9OUY>LMQBzum;=*7_*x(~cGY^Zn+G{rU09k&jR3_Us$XZA-*45A_4a>%uI_Zd zY|aWpvEDBKOz-Sy_diWNNq1ODo{9(AV~$<2-}F3M%Xw#1c5K}(FR&+{?iQ_Tfb=u# z7WL7}pNjc@E}P=_3mWRsVwTDGeOEr)?y;yW*@{c)7pG}0oPH13Q2i;FMe+M-t?HGX zJa(gLU-;Mi`L6K0CI8U#&$gkXgg;S#((3Dy|B99$t5qGfxA)->J;%y>EPqD{$y>yC z^cIz|j<+r`i*@rZ-rQ?Uo&9F&kH!3|C+F%fM+}}D7F9yW9A5w75r0(fs?z1YZ_FO{ z?_14Bp=V_V9?O5f%%U#>T-sh*WwNSsmRyUF~)PI-0 zi+(|!o}h?4BIg2A-zJ_}BRTcLGL}zfaLbSOVf{7P$LBPEUoV=&o~Lj4pCuop`+Y-= zrxmmIe!h#209M5#+wK{@k3H^EnQ>Hj&$^L=up+9C7AJcGQP;Cc^MaJ`3Q*9$M(E^nL#tIpfrC<}EVy zPV+l-_Vbyj-P0b^;jyT`8r|Q(H*Vy7bE|ucjl6MZF})nb)Wd zhFbUluY~;m9@aa*V@md<&>m!{JL*~Ts)$9kUE47VpGZ08h?spfomR|fAD3K*>3K)H z&QEp>^;;?D>x~`yDH7Q(X+2I&ms!dli+Xw^osZ$+SxxD$a$a+Wr%3ygWfMJTF;tU` zwJFV&Rr5JcvVIG#L(<+&Zw9ccr)g!_raqwUGE}>tM=II>!L__CPs@4d$o(8S;~yo^ zw|?&B(l{@jeW*-BrOGu!x*U-nUdyShTUAbo=jx3z3cSx+)Ezf-{GV!B=RUL|wTWu6 zDA$ARdF@or)g*oOeLrpQKO#GHZvVVe-mV&w^ftTcT+0KrM^KMOSU;YQdltp3%C!D3 zo}V+@|NoBpR>tmMEB`JtKUsE^Z&9?XQU8A^dmQ_J=%K&Sl2-jyFg}^#{S`p?5EX~wcBzcnS8h;X(^VJ7jW-VRGSk+@Syno#w zXWPu-oSHeDk3Z(o=4Cp{wI5M`e6MMLw!*2$(&@>F9RK;smY#`7+stF^pXFGzM2_30 z&TX*B`O%6MUA~5)E&UJ46K>+tvet14$$Cd=7IlEGF3j>x-KtWve#~Q2#d1$)UQ=-{ zGt%_i)$M(coy$yhs4x2cycnm_1OAyvm&zab&&O-E`#+q^t;%R-{;=PYd&Asbb6d<7 znl+kvJ!*(*FX6l6TPf#ObH0swmSar)dYMJ0Za$m)LY`ck&o^(B*=s(VW7+-``_pFD zll}aSg7(>EM)H`pd(0ry$2?&!%SjHNx4u0Uviw5ty&zCGq3O)2x}K}SU?hp$hp>RXcLy#{?pLT1rh zQoDK8_e0&h6EXb-ySW6@v;9skM=xNxO3r1!6KT%IKm3~g*%HIL1^VVkXrjwM`c@U` zbQO9VOLHdwv`l_l*T02x^`~dM2A=a~?&fPD^9h={7jV2)?L3tulRai$bGDeNKdjg6 z4O1pR_fL*2qN`JjdT#|^o6Vt>C7XKj39jqM{5%gUrRRSv^Q={(aBSiJ9^)Z{w7AIj=bu=TGD9iqX}+RsH2H zuGe}U*PFSNBh6aO)Dz#})W5vN{%7gD&n0lK8kwa(9JSCf#@h5J%YQbnHNtJaaD8&^ z$)oebas0pSX&;M@KFpM3;IaJXxctY)qKJ;G9Wz#Hr0Xj~O_XEocT@kX_rc_rB-iyn z%m2gKyX{Bj^Y`1_KA-s0LgptvF6X&G6#;e7ytBp zOHSouf(^$6_VY3P`~A>sl%RtU{Irgr~OiDB9P&9Qc!*G0dTl|$2Gexu%u&!qP7S|ZnO zdU&1Oyr$*yd6o6^OH`kWUHT=t7;Z*Zk279O<7ICDh=RC?IHLip`X0GJx^PjKtbv~_)FXwVhIc5*v zS=@hDhYZrQr1qZq;dZ6IE3Kk^)x%+Fh`if6J-rP2M4U1pa<@g2Pr-&ySx;>dLA z$;aug-+~$VoQ$S<@3V#OXxhJxY<`oLpMtf23->A+BU2{dza;yQrJMIhW@@sY9RK|? z+vnt2v$+i%X|8xD>sIwssU49#$9^iZJvEEw360b&uF-7IPqol2|JX8lOOy4VD)YZ% zt2=tWy@%Oj>Q?ocoK-tw+Iw}z9PZWRRP#AYQ-XWX)XjY)*>9$r#{_fb!Stlh=Uk@8 zl$pEPlPovT{g?UAQ0BTT_iFnpadIl_-_6Tq9xHFVKRK7#2J?6|TE1goO4E}ZnMy04 z^aST8rMb5DbEMfDW@%?rxlGo_ekjeBESEE#S=SeGWHxnEn)C3dXOtOZ=3PyDw4qFo`Q*Z! z;bv)Ojb$LxB-K;&imgM#%`;+zL@jaIQ z(_3oR(y_hm>y2E?clC}IwjZfX&#~$?{btM$kDNdBn31NOLTCTvf8VV!Intc-$w$}Z zqg=B8Sh^Yi(_8UhlRAX{l4YoJtCLi!8m2m{Jk?zdS3T7T^`XkA&nYU?_=QR{&Qw{( zjp{jLp7L7etFD&iq`#~3ty|S7>o(H&sVeJ!6`@a+^$QiV9#oH6Q;Y#dDt$W9CyhSo z^yy5WO#1YpPha}qL+Nu8eTLB|k3PfcGlD+(^chK?lj$>t zJ_Ypg(Z^4pne>@OpPT7(3w>tO=T`d6r_TcVETqp}^jSoo`;1f7eMa1JpK&trX5w?k z6XcK3CrY0u>9dMH)%00SpQq^aG<}|-PYr#ZrOz7rtfkL$^!YV?o~KV8eO{x_>-5oT z`v!WBK+>)(F=u@x$zG~a zbic8ELzXHdNx%P1(ol^g`%BCaHNnDvKRv<1e|4{|+c(^((n->qKgq=^kK}`Dw0Qg? zCx~20vX?4X`zj1oX6N{@WBZ16>LAJf>Qd{&^eYehZT#yF(^bU>jimRXUvt=RtDs+T zn5C}Ruv>-gSJ1CE%vFCs^)QvgCCpbv+dRg6wW+=v$rppYjdC?((I8{IbL`fWj7s$p zMOG>A7?uOaTxe8Fe6_?^OMI>BMX7b_07W*aQKUzu77V`gXT7u-%r}mM2_`!WflayJb z`p){2^p;P)CjW(dm8D6QjdEF9By|_$pbs}0yVTwlCt7x?FIEh->{0C5BasJ0KOp)p zk!4OEqeG$}l@gB9-A2G-qqn`6ksLdyoa86;d(d7Q!DW_mr+;=O$$`Ir-g1=g@HUa; z-+AsTsV%DKl6T0%zxA9co?L@HQFU?IXOyeulf#zr&ZAST*743e9;7!|pv*IyGp#Ms z<`!w;A(5@ro^jSz_4s}Cj&(Ks)C;U!&gIq`b=sz>)_h}{rHtg*L32p*?@$*=X<=ve z)`zTNXYJN1>v(HvIBGp4+qFkz(LZWjPi=VbvyZLC;@KlDAMZT(z5V1LyY&lexzqme zx7H(+%V|48wWp~g>clnX7^T?8J3pJ!#Wqp$?vlLA$&gFrrwv9&F z$2ZwZ;Q#xc2W$h3^{=g_)G;@$u|=Juo?C6Jkx^LZEPk%mrj6x+&9*qTZHvt?&Wvp* z$+Km;l#p#?McQnQ&fA;+V4G#M-Px$-8oqgrYCNUVcjTz$+4k|yS3k2_4?1To8f|Ae zR%D^bhpeT>uFx;-rN)JOFA>j`_DZ8Lyj~q~ZVTLGH(Za=yV`k{&L!D-XPBf_^s!s- zqFf7huOQFciytM~@@_=*r$~<7y51f%c;C@3mgyon<^wy=vBfIG#qx-ZCimwB)+&Q% zW{tX+WnN<|udm zeUIBQ-g#tYH%GRycSWWnSNfsRdF$kXj!RuPzBI}abgg;$7bG{mTtxE9va`wmi*4sS z%B%|qP9%AL{4$c;7X=(VXQnwyUA6OOIJ7HLev@OrGg5xLqm1-LRLkVO_d0?`r2J8m z4?I)tSStNL-ucNr^DIGQRrv7I3sj>3aRA)Ms--q<=8-|d)@`+K-<;GjD7C8?(AIu%++)pFO$BGd%*Q>BA zL2pngSDCkbNuFU3uU8w@s`5*n8`W>O2AnnOttsnOjXHkIb{j`t?VLbmrm4l!w+Ed& zXWl?DIWrfKd}#7L&hgIAspaFHyBk;zuHbRBZ>w}hUDM_~=3M96vF2%KwJ~i@3(1e0 z5399?zvR!(TH^#Oy{(7#yA+cAyW@3K3m+NYy#E1PgUqESkxNC!jq_!;UrzhN0HgB7 zQ(TR%g`b_~YIgAvPrFu?7rJ)1wl5mz8t=T2dU%Ix_o542bhg`hsjJnMx?&3HW6Gzw z@*LMRr>RoQv^h7qN-aBf+)8riy$dN<*2{y8sHOLlt6Wjbf#@@?49l9p^RE4_KIQW) z2VJq1FS!o79$zxZIOsb3=^*2X>&Z>8x(wsq2RFM~q~*Ir?h)B)T)bQB{jR*<=VT|ou?oC=mU4AC9CIQl}l|~W*Ka`eX_?h z*uuF6TlfsJn6@HKT3#D_n0~K~YcDoE zA}3k?RB%{LvaI{nPEU!%l!!iE>YXKWuE_b8PcC+Q=UZO5IE7@{=^tC?TM8~``Q~Yd z)qKmRm$2N~lt!ss%Y4h{SEiAC?e1CFNIHR#W*^ROT-zl1p1^`NDf4>7S=eqR8OXG*xAJZQGUJYRef* zT$ZTb_t`Dp9Y*BlJIQlPO{1!ok*b!wwImigQp1AF7N2zrerItJU)zo^|>60Em+p$g;uRq(-Y|Q%f4R4%!a+zhL zzIgZB-csvoDTn7zn6AVQc^mb_$%BkWeFI&0HEO>48bI-BB%j=L)Vr2iwaij0vfO$4 zf?g@*&f`jIy>&GI3sV|s{x{NZ3GsQYLFRe6^U7^s>r(5BR7(@KsCaTXrAcN*i+FZP zX?sK-5ZPjxG4(*oA<>VDEO+KDNKduN6=REB)p$wgqf>V4ovB?#&lH&}(q`rM47PH6 z^2JjilJ~NLPJ^wy58AA}M?@80#YNTNiqkulJIk8KcPgStnrRY0QRF0%<<9)pUMVG_ zPZwEAl8zqQGQyWON#{u?q&J#Z7i?9=T`eV>q}3v-27xP zZKL(tq3adz1!jm5RIM#C2_)eA9X>-m>ud;sn>&r>r zP+vl_|HGvuPh3H>-TKPT3ymu4=%yLunR1)kTWRGZd8KtHwWL~dRZFgF$yF`6swvmU z)@sRBExFc8EwvQCKD}1rYbCx`;%h1Xu&R~#TEufLYo(StsijVG)k&^8$yF!ubrRno zF%1&aATbRR(;)3{kjMs!Y?8<(iENU{CW&m4HaAIRlSH;iWQ#<$NMwsdwn$8i#L!z- zMz2?fd+&;wof}=3Hq7a~i+XsOWwdSkh6l*=z-Nzl_LENEo^sbbJkR2{{q5mjcTRV6 zASJwuhg&gXDE5-Q6YA<}Ybf%Z4dx2xa1=95dh z(wj#=nbVc8n(pmdYW(SjN|IByKG}7-k^b%`W4W=ciRCHrO-8w``qkR5<+eZF@G8kH ziY%wCc$4IYS8uhK+s4&#YLL$Lm2!<&YV>?Jm9EErdBgkEwlivVw|wcJeA_GU+Eu=d zk0Awgr`f0q)#6k}fB4yWre?zi*1@%Bz4Kab#Y=OwS-(yfT}WtL*`OtkSn zRV=xRZSH&Nh$Le)N&F=gm(UH2m{_GjzqYc^5sd*9pKeL9t}jr5jxcXrR#UtN1e_jGAt zjqSa<^y6lczRWUL?t`eTka`psGZa{ck$H+>__NI zjPCXHFR!|y`$qR$6|;}q=x(W4aNI^Jr@v}+KfHD2agElNPol@=8a(<{Qf8HmK3{vk zMX7W>Pmyv1Vv=V#J= z!Mufid+eu}lY1N_S*nnu4H{K;dxdW^Q; z^)jvA*x#c!2adMiFM9eG)?d4t<>9R?hurWhgYpy+?T=KPF2&-M+!qR5m-CugL4_O7^!^o)C^XK;IN$~b77MaK}%b=b~w z7^RjzVpoke_dVsLzf0ve+BQG5$uR8u>hH*?mOXT>jL}*dqqyyf+g4^Y(=~&k;Gohqlbji%J7RlPsB2G7?LnTKPoh;tJJ;^_ z{Qa@vJ^h}y9~(`nzg*+%nQgy%(-}R-(^j9;a{%o%D>DYzdDI5jdDI5jc_y&zM1HfM zUwQA}dT>9y+0`#)@{wVlrA9p+jP#sfZ@Y7gn&4@A>G_^Pdkw871?_7eTu=HOT3-s< zZ+~iY&r-Yn0YmZqd#0n*-h;-XjPBn__pq#$eWy;2OLe5vFY4I%x~oolwLyBdL3*`G zB3mS~MIu`yvPB|yN#rhx+#`_(B=Uen9+1cb5_w1>4@u-vNj++tSNgH_sLl1@VRh72 zBRc=?elFG!nyy&eYq9O7@Qb~24L+~g?3eWUW3P3tDUW~K%WLO*Sg)P$VQuyYJLhDs zb6rpVuHx?s|ApQ&$-j5a#hIDn&lG>I-CwdGb1=zAGV?{Z*}pjPkG*X6rhYGE7D!|P zO1P}=nVB~Grzf15StRi``|k$s&McOgV#M?tcxL8AO6}R(X1}&qZtr!j{GF%to+L4o z5c34Jqy%+M9W=G~bV;2qsk6x6OnG~&-M#0Ef3EoFi$CtX>#6IGk30K+de8Ao?c5Ko z?(^eslc%Pk}F4%97wX(&gaA$ zO6{*|?bnaGIBPK-84Oipf2(3j)^gI*NZ-C;R@O$6thZF$PPt^3id^X_+E$&l(o^>O zvsn$~S!QXXZQQL|Xd4?<4W(|+TIb<2SCCplC3x<-{`XmR(tEq4_C2ESkB~;Y7rlV=h7*cJFD6~( zOcZ?*>8IzEh(4Y4yK`oVK9}?lbLNY_l=Q*5m9*|ntLU~#yB{EZ@TN@`?O3@vnp^GQ zty}BhtxI=oS@U{stwdHj`27!cq%X5HNKBLXTO_i{@!@A*=hmp#-~KkY$-!@f*d>uQ zYVVp}eJ9v%ot)FR*1a$uH3er)b~=^L$e)xoVnCCw8h_dkL2YwrAO^G z>JN3>Z8d5#tylAzbaG#=<&M4w6SS;5c-} z$JPT5e!B$UC%!FtKki#bYe!%7Ej2Em$LpD^%HQvLNa7Dk{2>RwapIs-v%fTsivOti zk2?5m6J2Sn4b|1jC3ki5J0>#4lPR7|C%;)@fKgZ#=(pec^(Qm>@jdU%et8bo8$I22 zywNY0;$0TM^IoSt0;q=*;yAFeyZzmKffb%?>GH+cvie)?cYjg5Z!;gV_$t* z{|S!0E4ugJ@A>1M$BUjr`UYCn-0!*dnj!rUdh8#L=zqjBjLww@J)^ddCVfOjVa7p^ zXS=U|qo-fZStO4uIjeszt#+PhIq3QN`OEsJd*{>y`e%6OT{DgJG4BOP-Xk*pAp4^) z&*-1$oxf~m{{i0Y_2tx(M;{6GAMM?|bXdj?PwVS<_4j-EI>GPds|dfBuN?edzPj*x z@1J*1f4}4KJYKmv;oZOVw^=5~zwJMmw!M?Pg`TPursO;2-r32=hYZJU^n_xaPG2(k z!~%+0W+`&=Y%G=-IvK}io;XoFlf-kx`0C~_4L)8qoLD0LU*hCBRzgn-zBYp1?&J?T z_$oR`{gyqT)LWd`WR!aOPMoiAhYwipc5)ka!>yW`~J`>*u!tX}EeLo;fn_ue%$i;QiX-yhiIJ+)s_~YMTC7^6{ZZ-%Izl?KZyPyi z7sbR15REIIOP2F*G~>Q)->;E+MB9dtOw;i$86 z*C&IHN;x)K@m^-}(mM88>0TF?>2-0LUB#a%GFN2WQ8?E=W4VmTQ_nFLf z^)vY@7`v*Pno{?0GII<(ToCKSBKL?qAo7ruc9eAbi%S{Jqf&xR=ce@?X47K_ z4JFBM;W+Bzw@lb{w-d^&HqCG1I4Wa$lt%NEVP0CtGn7~JXnHk|rdRW5dNq$`SIzUG zE0q==)>ZSnIWqNAjzL2+$#eg(OwI4$$kdzD*u!t&$kb2tzJ?^ff1}3HxqOh3t9if6 z)!Zk!n)@VI^IXl<+%vhF_m^DFGj=dV(&~*w4wlHl5;Iuh2TSB&iOkajSN6y=9KU(H zZ(hD0WsD*@cF^f0`Arc8v_-U9<-Th24PAD4Po&k|u5!d{^*&BdEB4EAyGZjDU9m)# zP#?N16Y0stiS%A9?u|+MtF{#HB>kI>NApU=Q=%Jtx`vnNe*3+flltE{JoSCPLbjmi1(?Zc}jrkYkf8r53T z4U&8N~7~TKLe22F>q;XcB*ue)W^1c}<$%_E4w) zc+1x$`K=HK>6+@95q$6Y{0P3&yr+M9>+%9&ui_t~Kl z6X==akr4--&Akd;%bop~-0L{v{lgZWZ=@Ixb;{Q%M{n((Z=(^(%x|RqG)<)&Gndk{ zSK|Sa=|;uUG?kH3@qs`8pixF=)$Ekx7oL^Bi`H{moVzsNJ>{h=sJu3RkM@_$&o`X& z=50}ibJ@*x`3-WEZr~#}-TyZC+Dxf6bj}@}GJXb2zB0^kn$NHvimq3cbQUg5IUxO? z;e2xbxA}*pmP1m@Q7XS@?*p2zD6*aNx95z^cDi00FmeFN)i!_1_C;ex`crld;2%9PS_B{f%4b0sxbQghvB&A##ET#50gtZ%;aDp&EL={7QLACIo648{{F@!@l2A^Cc6218k5}o zmhBQ+TRxGVhV*`P^eNLRhM$a#N_Sq?}n) za*C@)J=w(9Mf~2u497X6ucOFowysxEJa6rJ)$CJ7>-n2*KjqSt`!@Agh9!HB+iO_( z406!ea?|2d4jQa$%NGk)oT4o+E~0fI%Z>$Ar_7a>WZ(%S=S{cp9a+@Eb7Q`nXUkGI z@2#VC)hl~X30jO(*VD7$9izWEWvQFzNvY+)D(k3H%QJMQE|qT!uq zqxKt%qvv|6#a}J{wd8*!vsOH{;;AD~CwGH*8pP8id0WKOBA#93S$0CH<${ z`Lo7UN|{wsW|frLY%FMfdQ6Mj-O$}tExC&2X>YaUT`SwW*w#Gl+c6Vti7T81wbH^` z&za4`3+kku4N_*4l-VR@wn(mBo{W);3-(Cr0ZBa|sinqktt;q`Z|!}T*bh-;C-+eg zU&$Zx^rAKML!OT-=@~j5-{|Rv$gW;a^?EmzH>y%&`YW4^O!4Q6KhwM5l}5$iTFG=o zt=HW&$Y|9I-tK)`tIqv6=d_h6>Xbpo@|0a82AnoY*|(g1+F--a_03Qo>RxVX2g`R7zM%C46jMDtVVmuBDQT;we|9UqpRZ6Z(%C$b7;we{^WYbt0ix>O*c3! z4PJgux7N$g;PMu9)X9_44f9q0fDEkWntr zoe$EvFHO9$3?Hu-C8tG2vHvibE7 z{p)NW#Xj~o(OyPR^SxsS9q_k^-a`5}{#{;P%iZPWwcK4^Udvr>TeFRyePs0Sd^)dz z_c(o>r|(tt1l+^>;~p=sZXNLQ3e_PmUu7K?X-i?05=f#6L^? zv&27F>YYpNd4AB`lpe=_bNbvAzP6v6!uO=}Q~17hZVJzexzzH@)90q}{pnKLMta)l zlH-Pp_rYQp?}NoI-UllswJL>=Hq|M7w4r-v+FPqr_z2^bc(25JC4Qshxcn_eYbCx` z;^~fz;%goEzFOkzq|J5G<~rG;I@zK+*`hjWe_aaSl{841O;TnZZN+(K)X7#f zNy(M+-J}*Ntwl=PC1ckjW$qH$A|>w<*&^ldf^2j?dBz^u(iW+)MaplH@hwh~o=K6O zNs*pO;hs4llDY-yOE|4+{QhBTkQn{}R zQhAgMQhAh%B)&-EizL2C;)^7{NaBkq{=74aDE`So#k4QeH&{~n4sN386G`tsd{Qd! zStY4_7dAar?!Qv`zHE9b--V6Wdq)t`fA$7KaQ)GKFMm-u5 zx6j!d9jPO4KD$A-w@J2lBF(+uoZTebyU}6G|0~7(V#I0Z(C<8{w@HptThF22)>U`X zTja_~x>QK~^U3d0i`4dWI;+LvS*muD=N-{^s4zwLFt~(FgCnzy?Id#zjyciTO>(fY zhvYD0KgoRKPb3Q@-Y4iRh?@rq|z>+66kj{4Q|6kDkoK4WGp@}Rb68ImGnu5 zt2k9nH&Ti%^sWD;)Y_XVlG;o%RfUY6K^iRRx3#FtX7JAOzM5j zx{PXxTeN9MQQJJUNxqQEUDd}g3K0)-0 zL=TF7mFQ)n-z<7q^aY|X7k!23>qw{H$Q0Qua=XZbB2yfkIzZ$ZBwgxu2aj6V!9B1* zJP$j$wN*|Yi-?oQqSD2lhh6NUbuW_D;(10qw3(JwkmMov zV_p2n8r-7u+vzw&L^B0m{&o?B~Jl=Ct>3%4KWDidk$xP3Hb7}5*xaAW) zycL&txP_BE+`@o|TX>D6-YThcB{f8;scNg|Y$~C}a}mi8J=00<^2{cg@GK*_$FrK` zK2I&l1D-cY{@IftdC0S$Kaw`@2$C-E*(AN*D@dk!ZzXxV_eqjr z?;0BS1>RcH-|%jvaZgF%(eEuXJB4RR9_cRSPvLDjBc*|6W@#$V{Bn_tMXnUNTI4#B zagog;KN9(+NP8#F+f8I&k$ECd6M3%4D@2x(OjR#+YNXmT(z*8DB1_Z%My;KZ{tfxd zMZaD2R!Z%x{z#Jkro1z^JcDGax~j9HzsV}=>^MJFm6N2sxHCtt5V?|Ms)|ZXw=N!v z$>`FVWbZD$DY9=DF7488Qcky_&g#?SxSahYQ`H}j<5~`qw5TtS`5nSQQdm*9^E&CDdJI2;%M8zLJ;HjCUYa)-$MBL67zpvWU4zY%Hl;xbcuacLQ((@2TT6M34*@ggr0 z85B7~)7r8*>Jt7|y85Ox&CI=Q-n~zyeJz{(oz(!5Lqz6@JWZruSpnjiwuig zAab$DdqhS>t`@mYPiwuigAab$D6(U!PtP#0R+(DAw zV<3^AioRd;KT7IBkw-*+BdJCoE>rj6?Mfj@M^y226HjlE+2Zdj{vqPY6VFKToF*Q> zc+L>dx#F21o{PkDg?NJExk@}U#8W2nW|6mx42xVK@*a{FwOry?ivCz1nT?{?h`vtr zmqd?~-dVjNvQhl4l-HuZ5!o$^w=^S*V|t6s7TH(i43Qg2(mM^ZxRzixM_wheRAk>1 z*mIG{Mv+HIy42{LW#?tnA3o1ipDgH4oT`4YXeiM`*TBp!>h)Wgz0{k+9JNNJV#w3{3X&aC;BMvHY(RodiSJBIgSe zIbQ{l^F`o~!oLdsIP7}Z4MZ*{LF95;iCj(_k;|b!I~RWzm`!AV4$(vO!S9E^h{)vy zVMmZ&4Sx)FJ(2S#V7C&bK8snOL1f!TNh#JlyJ@mi^EYTTkyaIvs#QH^lv zqDD}=Iqr!?Sw!yt0b+l+$Ok(B28oZV&liMXhs8d!AObrowrgPxahv-4q8R**VlQ2k zfW03!b(++tiQClDMOmFp%J#s{1_!|JgY5^$i~qdE z0oXyXRQ$^phhZ-kd+DMG>?l|x{_4ds*m1Ct*rtBBxE1z(;x@H&v5|^?C$gOldjM=d z>>wBhqhK6t1&vN-dD);J41!@W3dX@!&`2}$XMx#Z4w1*n2ip$@LHgpgj7u1dfKf08 z#=!*G3bqls{Qbmj>cd4wI{Jmk{gMSc8}xyGFbIagFc<-&U<{0d39uEUAMTLtFhEUg zQ=c!+f}IWeKtC7&gJ2kpfKf08#=!*G3L0I^`m;eF=m!H}5G*Cq{=GO1d$HK*cQZd% zr{5icKMK}}|B}07u;XAou?wx5HA;H<-OO#OY*8!H_ly7DyP51ax?+5YpQ~r?)jP7Q+RwCQku>D{V41*O!j*G%x1v?JA9(F72HrNKO6I@66 ztVF2?b`ESm>>wBhqhK6t1>1;RjzOypQZ7--h3yA}U>J;oaj+FMGSI(Z4w1|A!w!OB zFbc-OR?z5a_CJ%`l@0pALL!$NgdGN>;3}lYVYh-tFO&!75T$*v3t1N;dh_g^dgZJ^4=b`WJdz%2N)VdsE8`2Da8 z!2tY0*i*p}{9)J?U{Vb4{y6M^4xHfc6um{a_aS*|2j!AN+pUgvka3NQkH6!t1G27erOJ=hAifkqD63uX~{e6nHZfPSzL41!a^FjxUb!Bt=! ztOpZBnFp}jKqD9J0keqG9@sgc4}L%FLNEY-5cX6s1b-NI1sEZ&QA=k>VXp#X;@>zs z4!a&~1=~Q?m-GK&wn3C}2eZWA`_^pOIiOGc6L0myE(8POUvg^@_EazoR)A4(6&MHW z!B(&hH2R@kU^bWo`oTgl2u=mVUv(tza8yoQQhCY%mA(gN0xa41*P56kG+y!FsS2Yy*t}s29uzb3i{>2nNBaU>K|b zqu?qq4%UOMU>j%*MEzhkm;?I3LNEwU1;bzk7zI~>aj+h21=~Pl5b6iB!5q*J7J@-= zDi{VUz{SMB)A1+@dlgs%e;jr_*b26RYB2Agn{PFUvVVfvU=HX93&9{b6%2zFU=&;h z#=&~96>J055N=0$xj~e6fZ1RU=mY&=As7II;8ZXKhQSIj0!G1AU<{0d^A9wtgZgIVxr!_EQy zU?CU)gWyy!1ct#1Fak!wRbUK^gY{qnYz5muHOy?U0b0QvLm6JRUY2C9?MpP&`Y0<%FM=m!H}5DbA~Fak!w7#If=U@NFjK|8=KFdOuNelP$A z!4Mb*BVZJafpIVawt{LD>IbvHY|sb#!2lQpLtq$;fKf08#=!*G3aZhlAIt)?K_BP` z17HvgfnhKLM!^^u2NPf`s7^)wU>2AS`anMz07GB|jDZPIjWNs30)1cr41r-V0!G0Y z7zYzzE2s+4ZZHel832gi&5@+AS-L9kT(*DVRb z4ugxuA6^oH9R*`x987?%pc;$q1GB(v&J;mQ7{I^!35X}s$ZafFbm8E zeV`uhQSCJ1!G_wOn|MR;lsFq*`N>fg8?uIhQKfw1!G_wOn}OddcXh}0wZ7) zjDZPIoo?p$fdMcCM!*E93Q-^E0|Q_PtS0h0ehhXTY=A!jyA@PLX1NBK1!jYOFaQR@ z5EucY#Lv}n3uCb3VxPD$0b8Ac_Ji5P&(-LK1Bkth)I~n{{o)_DFaSF!_Eif*u)|_6 zTNr^I6?@&n80@&%n-(Tuw~D=Gp*j=WN&H;xT9^epTkOvl`e6ITKDsalI}Rqmth3B= zd|&_!fe|nUCO|a~+YkD{02l%zU<^!vYCPHxW`WtD5A=gUFbqb)IM@oRvr#UX1!jXj z&<_T{AQ%F}U<8bUF)$7$z*bP5gZjZNFdOuP0Wb)Lz%UpAqhJh-gRP({Mtxuwm<{?s zKNtXmUIbvHY|sw|z#td`!(bGQfpIVawu0(B)CXpP*`N>f zg8?uEM!*=D00ZZn<%Yl*m;luUW_lKw4f;So7yyG{2#kOUP)$I2pbrdyAus~Qzyzo+ zH1qqw02l#dU;;1us3sym=mSGw7>s~XFb*cbR#07JmS=!jU^eIj z17HY@fH5!us$ZdfU^eIj{a^qLf*~*hM!^^u2NR&W81;ZYFaUR41pqh;B z0exTq41p0a2C6B@2l~JO7y=_;0#pIy1ASls41p0a1|~oiM1If*2EY&)0b^hSR97ND z=mP^_2#kO+Fagq+WfiYCW`RC10EWN_7y}caDnWkG2L`|p7y)Bo0#sKaKj;GkU}=zzCQC)%Dm;FaU}=z!;bSvu2w4d|&_!fe|nUCO|a{ z^?^Px0EWN_7y}cax*7RF9~b~bU<8bT2~gdF{GbmEfFUpf#=r!qW+Ol70|Q_PjDRsv z-HLpm4-9}IFapNF1gOf9AM}9%Fa$=x7?=RF=9u|?U;qq(2~gdJdO#l-07GC5On_=G z@_{}u07k$Vm;lx7$Orns5EubtU;{QT@pe7 zNf3Jyk^>?kffSmBqX~$Jh^UCbAs`|uDk?VQ5V0WwilU%$C|F+`c74_Fnb}`@@cn=2 zJkK+~DLXqmJMHFj!~xwx#7^R3;s9}wI7GY;yo+71BuxI(!!6NW2Lw@(GbYOw4Z9^HIPe zJcayD;t+9|m@T3BU>TqMJ;?7Qe=%`@I7l2K4in?6@3LMLu*{GAJ;?7Qe=%`@I7l2K z4in=`^m;uL_W+B0o#c0sznJ_%;t+9|nB7A85Ic!oV3A)j`Af(jAb*HBOpKR7FAuSk zxR|&EEb zrso$R4iblm_kl(FF!@iDpRLr>If;vj1H?h%5OJ6|<#tL(TudAw4iblm!^HUMLcN}e zoy6fgbUVJpqPH`!C~pe+oy5h&0pcKWhr-_v{ zdb%FOF5(j6AaRH|Ow8`m)1?qQi37wz;t+9|IOT3Vos+njI6xdC4imF`=sLv3!~xwl@ z&p_(wiJim&;vjK|I84meQ##^e;s9}wI7A#KW*hW$PVf$P#hhZvYvu$bzdR=>`L{VC z$!T-hMiH-UZi?hP=N5xi_OrXahRArq=%;vJBf>l1H?h%5OJ6og_rrK5Ic#Bi9=853a_UXaXY}x5;?v+=tk;q=&+7A{`OoWq*9$uD zBQDva`+K}dcH+QZJ-;Avh&W8lLR21NCvh=xfH+7TA`TO?eUzTqNnA`EBn}aWiP=k( zj@U_DOdKE%5{HPx#B9Hw-bq|c93T!7hls<(_-R)C`4Kybi-`loLE;c`n3x@)^u$i$ zV&VXCkT^sfCQf;U%1vBM93T!7hls<(>{UufTufXB7W3r*`4@r3=VU?hZ=vuI`NPEQ zHM$RCCvh=xfH+7TA`TPd=Y92hBz6)P69stoO)2d?=0fras53G5r>KKL(%&CP3$BtCJqn>i9^I;V)g;0Cw3AS69oql>GKhTfp-D|51c@m=}^fYF_AP;a@s0@C%iT zIOSK}?<5ZVA>zF`MEZKpY}_ zn3!>jPwXTP5{HPx#Am?b`C#&;my_5@TudAw4iblm!^BLZ^u$i$5LlEqOw1y5e+sda zxR^LV93&1AhlyDvr6+b07ZV4FgT!HC7Nw^PM(Z3R4#eu^4ibmz{p}RAvyt<|lIPD) zi4*>3=NC)VmN3;sq)3BK(d8#gboI5S0Aeg0SR)3sVwAc*#PiKlzKvk3TXf?M~t>u(+=>;sDu0 z#AnFP`cwJABEFOSWnfY70rH24*#No@ad@EaPZ^|h@nD^U#KlAOb{ZfK5{HPx#4L^8 z2Vy62F>!!6NE{*#6XOpn>is*hlem~TKzzoe-=}8QIh8nzxQsXe7VEf0qV zQU1W_>r^gN%9XjwEy}&hX60$+B5viQ`8PaT9jcB{A5`B{e^D>g`e=i+o3uUJYg*rk zff2VwJRI?O#NLQkBHoHP711No962X)QRJG)?U6ep_eLI%>>SlKs!vpY)XXSTbVc;7 z(f33Th_S`EV@AhZ8Iv4)W9-ebYh!oBz8D*h?bGhMb_?6x*Dlm9CvJJ%qjAULE{nf4 z-jZ-dqSn5B`-|K6Yj0_v+kSleneFdr|84sp@sk$j4huSL=8+%XlDC(zaYh#GC5^Y%9)fudw5eX z?_JsZuHKLKezy17-aqwbeUkdv`sDPvvd^SGfj+nNS>5-gzDN3Y=x6We>vvnf`};lE z@3DSQ_j{q=(S9HIhVff6zjS0qy##zP<#;1+fnP!?kH2q;>=6G|8Im3LV z`Drt^q+9N>ylQ#d61JpS3$4Z0sn%K6h1QkU`>oGfL)I^>KUtYA&eqj7%yzA9neB1g z9^31-cWqzUy4VNXFSA$M7uq-5U$n=jzmsluTrhO+P?oVfjCNh&TISm9N^oD}u67@F$9e3YHJfO+xslOvA*kki+oS} zPWhbKS7firK9hZ6&ZL|Nat`K1Ix607#GR`z$1pbS}e^K}^ zmfIxg67vD_CFUN|vTvg`w+eW>v0XHsxAoSBjWZDP}IE1b_8+BL2>A zDVwO2F~8zxQgTfdXpTpWV9NhxQ`mFw7D%2al*Qo(}CG`2;lWZRS~_K-52?Nny4 z$CPUHM0Mz8X0m6MS?qabHru1%m&KL2Y@c#Hdquf{y`|j9jw%6mOj(5ADO=3K$_n51$x6{E85jE_EM!l?@ECetZ5INAa&eaVOjQ^z@_2Nz@m3A1nycP zG+WXQ*#1CI;MunZ0K2_t29CeGF=om88L;f1G6J}BTNd!QJtEFEhjM{GKP+;Heng;o ziok)=;x>+hPJT{U`aULdc;{K6yIp%F@UN``AKG&*@XvS4fPcSx9q^|O(}A~qJQMiw zt{Z@BH;9rveVs^~S0V7L1tPaewL*{CBJh`c1t#wnIIdja*6IboK8u8|UcUqw4h#LU zeFgCBe38SOc7eLquRHnHRj@2MF0Q`h_!{6BvLvrsMHx;XSqJRBRK!WD*#taj+y;EW zFY@WVROFu_%XzUwSS~#zEK5HXs9O$8d-?4$)bY?IZ zrptQJTZ?#GTJ^z>fw z^li_71UxoPTz9oB$;YxJU&xZY{#Ij2-jJpJM3!NT#QCxeOqStOdDjofGL)B!RNZ75 zUf&^dzVUi-zpbx$&md864?lMnsMn#c^>XU>HT;8b5&Diz)bqp#MQ%;)(bxXe!t(Jh z5$D(t8FR3};nM~FDoeQgTA`DS0!JPbs9(#GF7n^v7bWj}`fuQ;RpR-6c#DYhmdx$X zu&{5H_7|o7Nom*XR!_UfCUQuX*UH~6(x$EzxMfXL9rhtkwF5q0+Zi~iPS`uj_c2z+ zzxn}TiCiP_n0$B6pIdk2(D|a?z;xLr^Wz6XKNfEU{(Xxb*mt%IsM}A(XG3?F*fcbG z$EC18A>03~1>(9tPL^emW&2UK)#!D?a`3cxg7$kwKK;{$rDCSQpRN(uca^}}GXi@a z6?mXpV9;?D;t$y=^uZc|ok|3bnk4MsOZ%Po2;Dg>@F%|rog(|aEwbL$T_`LohKkU> zGF6UW=zz?5+(UmOG(RBX%zs~Cc!t2^^11ia%Olg)$*Y9YMOxnj;u$@Ak%+nanKD=& zpD&({L*DhwK_Ya$Y{PN#z1a1Ph&jMF&K98&600PZ%P0QS zTwz}?^=VmqCx-qF%a%2jsL%7Y-W0otvty9J+W1<;)Z3&jVJ`Gz@!}-dk8$FO=a@(r%Njce5NZGiB@2 z+o9e{@4QE}?VnDGw0$QD-L!4@JR>Yu-YY}pod)F?(etRVe=qa=`&Mx;Q{NV-x0&X( zA@1ehYr`hV3Wy>1zUXPNajNX&zX`^K;JtW^&y;q5zFZ%GNmip_8ajNMR_4sq- z$gB5DDRxmy`nCT5Q;9nYJTIHYqD z*`AX%qxUd+o7A6OP(FSA3F^=5^N++G>HUn^CZ5ITvWGuk-}r_c-NJ8*=a^qA(i%?* zbQ{H}wC^2(t>d_j;@*FZ6Ju6nf;g?H_qyF=IrHTceCB=e9LwZb+-;V~Q@@H|US;1q z4=$#D5i`Vi{oQd9Qy;m0cv|S`CqzCIpfg?6YNwR~?~|kdu@z#3{osCq`Ut*L z_O$x=dt}u?fb(TrDwiW^>zKM-kE6%e({_LP7;^Y!zc??t@NH3sCnaXy`5#zL zuKpGHcBv>&^tFFM>+{LiLQyl(3w@Xf^c0I{(fK-oe3h{5dr;_cCxlLPi21PJ*a`Zz z1>!C?4i%`k%<{*?llo+<$logahpM%gAZEcqf#-`~AG0swoRGQgk*MdU&#Bgwh&->9 zIq#A6ywxP`ZufqHcNmRGTea2>%$9Fr`fVcqu89KU7YfvKzD>^k{ypb{_e7q}^LI7m ztj`3}!XnR!PiDhzS|HwqCnc`AS=7~-+e9t>z9b)^`i%N_o5-`rTv0#z>^G^V6rsEK zl>_fMTmyXK@B*OzL_S#}@+qs(Rq zL0>71mg8g770P2}cO#}(&UpWMN?fJ)dXd8$ABt7UPZEd7cj4MyBF~p9MQ*WW>!Edg ze(`4LLm~0T&G}H=9bY9drkz8fy@7;tG!jdFg#dXH*NOjG7yMPDZi>j;NCy2xz z0mr^T6flm(06W0Pu@?{z?8*{>17TCJ1JD6_Fm?=Sf?PQ$K&!VEzCQV4bq6zm%$ zLz}UCpkSxqLTD@UP_UQK723`&fldc<>>YH69tz~xKj;CS3FO#A=mk9-$gz*m8`=rP z@8Vz=LcwlAUuX~ZD>!x(1_H;SL<)8Y216I3L<)8Z(x5Lxi4^P<7@;pmi4=APkh3dM zA_e;uR_IA6k-{beIh%qK;a50;oLz?!iM{X)=xHdC!YYBBRiQ)*n-0V;2BAb8dmbKO z4R$s-tHr(senSYm8l26{RQq-VP66{J`SD%{WXxY zWTggpkx~cjiv19d-)fozbYd@rGdFfZ6y^cq=_vD{y+DqQ>-o^xK-8_W5PB+*3Zvt{QPgxBe z0HXetHP8!yoGn!DhF%23?;9y=p>GCqwnSM6y%dONp{$3#1<0{8v=RDNp!m%v?BKB5 zfOrB_vIF`)AfAZw2=oRZo`|v&ItauQ zQ67iBABZQS?1J6``~=e=$$~09jfP{9|v;mmG6Px1?1Q# z-wXW|kYo31AM|b@$NurQ&=YgEPpu7sb2guor%Ina3ft-bugV6hcoV}zR zg5D40>}BOJ^Z_8pF4$4%SAm?pro03FI*_wBly{*I0y%qAISzdY$gyMg0rX)YXGfHi z&_{usy{&u%{SJ_0H|-SkyFkv~Q%*x42Xgkl@+tHOK+aAmXQ595Ir~ug9Qq?5XCEtH zLZ1S17FNE7J`LpT6XhG|Pl24BQNDvd3*_uG4kI-KN(ejm_p}z)l_8;X} z=x>0WeXINq{T-0A@0CBHe*kiJPWcP^M<8cEDgQwK4CL$=1^?Ku0M33>ROsJrEk?7vDB^j|>E{#Ih3{{f*l8UDJqF0x zSbiz=r9g~Fya2iYi1CPzhaL~ac*G|_PXJ;(;#WXl0p#o|eiii9K+dk=*Fawjk;7K=iA8Ds&Z)v*~;q^b8>)5=vhF{X7f7eIY9Kcd=~T#K+bOBbD-w|IX-i{9(q2IvjzM{ z=!HOxcYGf7Vj%ihJ|B815Pd9P2z?6>eJo!LeJc=sEMEeB8<4Y=d>QoZK#X^MIrM5E z`dhvN`Ys^)TfP$d9w7Q#z6$zYAo^Rr8u~sU`dhvRdIJ#sEx#K&2tX4S-v#|5kh8t~Dd-T8vweIw z^h-d__VZ_q`@Yt7 zeFVtaQT{6Q+d$6V;jcp<1LD`4_(ACRfSeuYhoIjF;y0`KVdxV;&Q9{9&>sTvJ45^( z=#PP%o#O98hk=}(=EtEw0dn>!ew|xkXMmiYkUzL)<1{TGn4fB28kO#KmBQGbT!K=i%puh1G0zfh(A4jl>PEK2D0R{w#H1EL>R6^?!wh<;dAq1yv7(^ey(I|4cDq((s}0r87*Y7BH2Ao^sr9rOi2 z^vP;G^hH4Q$!a3>#X$UGpV|Ss8<4Z^YA5IvAZI<)&d@!9=%3YO=u{y3XZ1qpK0x%( zYFFrfK=jY*CC~$a=%3Z@(1U>JpVc1FLxAX?)n3pBAo^#uH?#?eIltN$+5*I!U+oWV z17gmv4unnzqOVp5Lk|U_uU6BbGlA%uU4(lZXo(<)efBnL|?5s zpnX8})oKQG4iJ5{It+Rw5Ph{e0y-avzFKubj{)M>KvfU)I3Q;Qsu#Kt$k})`8~QRJ zXA{(1=*xll1v@nl`br@BYBeAFY9MFVs$-ywfat5$OQB1E=&RKN=u#m1YIQucABetM zod7)0CqvHxayC~jhrS+&xv@GG`X(UyYIPd)d?4n-Y8CV%Am+pB4CtGI=&RKl=%qmP z)oLB|EkN|u>MZD6f#|E%IncKO(O0Y2L*EX>?{cX(Lf--8Y_&QM`c5ELDC&IZyMgGd z)rHXa0?}8ii=poWqOVq$KyLt|uU3~q2Z89T)#cFl12H#NS3qw8Vs5Oignj^sep_7y z{U8wiwz?YnAt3r~bq(~xK=j+{-O!H$(Qm73p&tXH-&WT_KLJF)t*(cD5{Q0V-3a|O z5dF5g3Hliz`fYVH^m9P;+v-;67l7!u)osu(0x@S+w?pp(V$Q7YfZh+poLPMY`T!7f zW_2g@t3b?|)yJV<2V%~w?t(rD#GF}u3i=Qbb7pln^kE?SYV}#@w}I%Z)#ss)0nt~h zd!XL~qOVr>Lcb40U#;$gJ^@5ut?q~Z5QurQdI0(q5c6d9Rp`?|%#+pEp+5zpe^w7d ze+ESVtR8~?0*L-uJq-O75OZVoDD*c#%#GD|puYoRZmhlw{R0qlWA!-nk3h_g)eoS5 z24Zfko`n7ti2hmq2>N#*`e*eN^q)ZV&+2LDzkukU)lZ?B_9?WYorUH=^v~Mo&>9f^ zv-Tx)BoO_x_BC`g5dE|E4RkCJ{j>HRbQ}=1=^p`7Xr~IYkxss3`C!-{R7<%h(1|Ua5gpth(1|Up?d<+Cu62Ao^r22D%>*eX`aLdH@i8vWAg_4FaN1))JwI0MRFF9iRqqIONO=sIZM|rgmwTq8>)4M&H!?jsa*m+49MAVtvmDxAZJdk2eb=_HNMsh z+5^NIU+WF+1!9e_^@Yv`a+ag@ht36ZHc}f1od@JBUmFZP8pzogEe(1s5Ph;{gdPV( zpRAdo3xSw3YgXt9K+KsnJM1;k!~RtLQsh`vsn1^pZleVsN3`UN2N2ej*<_X5$^X*WXe z17cpP&4Yd!h$3VXmRaUy`6^^4dA91!soaA3r4U|Php2sHq)!i{(yXp7hbOpn+L z%!t?r%#7F%92Ri^I3nUzpfloipey1a&=+wCIb;JlTN-f~xGdr*@UDn=V80v4**y{O zLazm4hcMze^g1AC_eFdFy&lNfhKQ5U8-bh!BR+!O1jP6iaSD1r5YIH?H1L&(Pl2yS zoCUrX@j3AIh%bR}M0^cA81W78&4}-Sha!Fe{x{-B~ci@1sw&%E=S})&@n*HVj~p|r}cs8y(3lV1R#3v$O!26K+LWq zqo6wiF}se8fldNqb{*Lcx(g7q>&STM3xL?wj7)^?3dF8vWC!R=fY|Yf>;&B%$XQBc zXXqY4&U!{BL-zu5mKu2>bZ;PMeImO;_XXmKM_vNmABg83iE)4p1adYgvIq2FAZJ4& zdqJlG(R)YshBg7wdq?(#wg54sj_eO@17b!UIS@J>h~7JLFmwhG?Ibb{dKeJBccc+| z1Q4wy(hThaqW6xpLVJMdy(8_=ULaagqyst|h~7Ig13DLo-aB#_bRG~h>c|n$`9RF5 zBVEvAfatv=J<#KT=)EJo(1k$Es3WtXF9YHYjm(8U0mM#SWFGWKK+HNK^Px`zQJ+y` zfPJGb1@?<70H#HaN2mdanu(eKZ33cZqOO3p08ukhS3%o=sF|p1pwod^YeW@64+WxT zqDp|ys8ZmlC_n7^K-@*tWau$K?BPU}LthHS{6A_c^yNUz|D&csUkSum6IBIV9yJ4& zTY;DfN7VqIjH-j>DIogKs9C^gqvpW!91y)()b+rlQ8xnLj+zJjHflbwUGzf4i36g| zL@$Q!3&g!gFM;k4M4O3T20ajnHWR%ZdN2@eCVB;Q8jv$X^h#(WkTX;CDrhqh{Yms{ zXe$sk6TJpH9f*D-`fi{%dMzwIAl5a}>wt5k*8}f~-UzIT*@VzqAV$EL&CoM}7y)Cp zLeBh|w_Sap*-rtl(mI z0dr%Y(pIsYb{_m@+07O%YAAr1IS2O~>RUV~0h-hfV2-h@t6-hytg9D#1Hybaw! zIR@Q9c@Mgy@;-D&wS1O?UE0xd#lJ1iNy-D>nv@T`Eolt!_M}UJcO(@6?@SsG zyenw}+o-&UR2!A|kt(R1fDS4jLT^$&hTf!vq3>5dfxcfk1HD=K40^Nj1@so>E9foC zf1tN2-$HLyzK4E5IS2iK@)PtnI1kJ_rvWwS z9ZDqh4ka4;VI>y&VI>aw5hVfo5v4u!qe@5UN0lV#ok|zzoyrB!FDNO{FDN~s_b92* zdz3!VFDm_@UsMJ_55;GSqwpEvwfMAdE}M_f05`C$>`{C&_cr?u->B)QIFwwaM47JC zC<~R<%C|}aPvQ>l>sgeyX1CPwwu^)X1h1q zz1{AUc3-tS*Y1yYJg!@uAJ^RhvVOm|0O;$p*&$m!b1rs z63!)Dl-MhAP~xP-%EX%!pGp&)gh*1|Bl{{ zi#k5l@w1M5>?K*3Tz1JVmppb!WVb=x4s`Q(pVqyu`?>C;QtnH6D&^&rH&ebz`7G_|Y9eNGwHNIDMuZ_K4?Dbu*_Nj|fZ%=(V^{LdC zQ{PTKmHJugxzxDcBYW@f9oHwNPrp8CeVl#9^*P$-vp%u?hV`4+@49|B_FLTVzy0$1 zFX(@3|2z8M*Z)BOulxVh|F8au0|pIvV8AZ}E*R(?SU&K!f%gtPG4RiU34?kJvJ4tC zX!)S$289RxHfX@$vcWeDUOo7O!QTz;HDt_?g+pE&qNVxLiqfW~%}iUCc7NK_X$R7d zrJYUtKCQFi62lC`9K$V!XAH*-2IDy6JmXU1PUBDLU^er5WU^jYci)9*;%kp4vapXr(-&e7RX;F##Bb=>9%Iv#ht>^ScD)e$>% z!q7!SR}H-=V_?RxjBy!LGv;U9ni0%siTT zJo9Yk*O`UGZXNdBu=c|*96o6HRl_F^|9JT4!&64QG9tlwo%2!W$IgpfJzWD_qg-cP zKf5B`m$>`8t?prNuRGs8-o3(ouX~gGDfb@t0ryGw=k86O=R7ZYzV<|BC1m-s=4aiP zwK?m%tlzSRcx_&{_YUv9-lx6adw=s{K=fVW>+Kul%kkai+vt16_p2`{`{L}>>_OR< z?4s<+*;Uz#vX|wo$~l{}E%!+7pSkyrd|>2n{qY?Ob@rf0>;ump9LZwTXMnNlZ@_jc zCV1EfP65WNDQS_|2Q~l`)yIJC)$f5FRD&TB`@lKCPU;k3lB(g$P1xsX@^ASpoFHoA zpOTj|LwK9p;@@a(yLobJ+hupOw9UvH^m=RCWo_63ZP-3*!}eG!+myWb_qDvnl)RCz z30nm2SHoEf{hwop;CS*0nw$5`7QxN$_o_B*x6AyR$4gk;I_;!~TH0phU5;9Ac@6i= zEp0RMt_!uaEzJ92Z%f;Zyx&{h?~J?;x3`QpCGVG3wi$Wv%lnAJC&=~xZq19pUpHu3 zz6)P!ZJXFe9jsd4I^JEf{;*Fbg5TJ{hn@Vn~_%`+gcQ! zZvCBX$h-NimhqEHm$K0x{F>hHw!F=^ zhR?lc*-fL}?C1stA(*p3QqAO^C)j!zsAD@eX185ogqXg8Lcn7r0+p0{ac_ zcep>`{)GE4++R4W_BY%=EEU~oDpQpHjKisL8e9ZiBwQ3+G+Yc^EL=OdIJkJY1h_=F z_HZ5GI>L2Q2CyW!&Tw7elHo3ZyAbXoWf0Cp8L-wcuuBvZ>ju{yE(K?%dcgIB>jjsp z+=O+F!UC)f7GO=V z0BeB-SOYA;+$Zrc!#UuF;tv~U;QUl3+%TMx8jkZ&BjB7k3*~}yD|g~-)?GN6 zwHD{H*5XvwMx4po$a3Iv;YPyc!HrTLV);0)G+KF-jZq%M*L)wtS9zagye{4`SmW&eZ7lQU+?0~ z*Sk3J^)AkPy~|d@-43@3XO-@NTMc)oa)PbFnWMXuuh`uO)wIMa0wC%VqzJXeD9oYG!-Ug@a3piENsC{vUdm1%MUp)v87#IW7Q zw$ONYVlMFw#49O$J@H23 z_lQpre=J#JKd^Dd;_d#C_;==e1E*B+?&|y(@jsGrx?9n&zmNEJ;)6<8oNmQ;FUbEH z@fXBj5&wty2c-x8Vh+CZLH-_G&Rar z!!?|s(eqnMe2e5HoMF-Jcanb%`R^j$!1v7-*W18nyd(Pm4ZL=)sF#ft9;EOfg$F5o zlML6`7UBnpA0&Q=_+iNmXGQdKyhi*6g}+JukBP%%|AhDq**_!yx5VEQ|G>rb!x?6Z z_Y3iF6#fVKHC4ZUq+|{AVd2*>7uM}bs{Wk1kpBYWi;24t_asgw?n69)(vKuRKHrzm z?=s>mC2RP^T(|d#)wwTN)PLXD2pPXW*$0w8jr?YcXC}Lq>~`V|3eTYMVPtoa-$VXv zikD6HT(aj8ua>N_yNTD5eO>Ht#iE`!#ftWUH?*DbC$V|$^!wOMyp?zx@pj@J?d~#& zbbH9Zm-t8GpNW4ZE{WIkok3hfe0{v}Q&C^n$A36apTZYX_(BR_NZ||PlY59c!9t3+nBpy_c#A3CVv4so{>9V? z#9vJDmr(pA6n_cDUqbPhQ2ZtFL;FM`-4aT-jM6Qmbjv8+GD^3M(k-KO%i<^Z6SL`M zlzus-Ury=gs-wMiaCFQr0@>@yyt)%=`QhqBbzm=5VO3H5~<+n24JunveuB3cdQTtd; zyoT&|<2s_f+)e(q98GDg9PTzm?K&rSw}-|Dt_trF^zgKHDgtZIsV8%4Zwp zvyJlEM)_=`e74~^iuSRM^4m`NZKwRUQ-0eizwMOYcFJ!%<+q*k+fMmykH?t{igF^{lcExS5!{k29*bd@Hh<6e{E*akkr|UgS*MFY;&(rmvr|a*d`1^?u5Wh-% zI#HiDeNFzT_WJW{*Iu{B6L%ncC*n&aC$aA2?;+!9EVsRwr(+zXbWc(EA>zZtr-?r$ zK1=*L@t4HyI_TwzC+<$%gSZ!QZ{ohh<__6%K4vAh6FZ1Ah=&o60Kcf5RPJMCd_T@^ zACRt$9|xbp3DvK0zVj5$Dn=+r)dSGIm8-PAN`>}4PWJ3)E40DN3i!+Lje?W-mdr`T z3w@6LsGY+pj&m$IVzDwo9f`cxD?4x+TW}fg!OQqSj`Ku35bfo6M4w`BM;~V&ME6#{ zg;rt?AfLrb&loQ^z-7Yaz!k4)yxPQ*2%00rqI(JarH3k0u@l?@*7z z{zIad$F}$KE^s~JhQJMl8v}P$`;^!nd^z&yp^5q((!s3FguAoDcx^A-Vd&4nzk)k; zG;2n<{El9JO-IyoN7Q%6Q|!f#2f+Ka`#O2~!<}L~l<{tGX6?I9$2B}dxEI=$@nGzI zoq9)PbY8DybUwvy0e=J6zRO}IGIqT7eV6gtf4l5wJ(5o`Q*v)*WO85SNA0F|Gm`g4 z%un7IQN|C$9gpA_EaT$2YF!V&?Prj$ogd2(P%qNwAq2HFzmCvT7GJjj+fLA51%z}F7i6;sA{#oRmy?Fl-wH|nUjSxXx1 zM4Y2BMzCj47SgA*7w^@H)Wyn*!C%3j12MSxD~eB;j&{NG(4A3##h9I3@?Js+J}bi zG5;~VnQ+eVR>JRwqcPFOW3aym_deVSxKr#Z<8f_1+QKU10d|k^tHgW2CsL1VaCpY2 zSdMAAdLnhdw#XFMex+%@_B{9%@R#79OkrF%7Uf;Wjpm&8-tMY5UVf$3%V)qXvuI9LdN0u}3@~oW+ zC0Vw_)meKI9?CkDpm=*Gimrqx);vsK*;z{q$glm0!5@!1jB|PX0$+U0zUI51@ z{^Q%PH32e%3CLAb}@o`u^F_ZFP|S7KhHnMRWqlu zba+`&k+2V+F4mPHts+ZQ-2h{(|zk{$VC0$@bS4 z)K-^QPHxCZScg{?6@jfTv)SkIc|9hx$KuFx7~LM9HQnPiS?s1PkHcrS*-V}+L%PkK zWpemD7K_Vg@)|8xo84qicbWg~+BS=U<%laeM3Ia1l8maFoK;d=GJImaEx)d|Tol<; zRax0+9bQ^glvQ3cy`p4}r=p~$Mo%wtGRvG$Jrl}nr=WI38r>#BWnf{IxI|&e#0tL% zt-o}(ztUe_UMlKlbjh@4L7uwmYJX*I?)0Yd3#+D!eB5&i{L@RSOKPjCn})h7DqJ-+ z{%I2{%KbG>1H7}RSNm&f%Bw2JR##2;SJ%oS%0jffE8Qrn$0(|2oPS20zoynTy}Z0~ zQk8qo1iyc($XO4?V=Szi>enkt#vf8jWon3k`e=Gl-QM!5WW{BzG8<&w)WY(g*p1PXas%dzKL=Dt8S(&!p&`>SXiu~OyUOPuLL0Q={uvJ+bD$Xoale)>Ns*`QdCBdbvQTIQn1X=yd-aYa3d zyz|Q^qhX`w@LI|OwV73$Mx#X*v&DOAYSU`gt+=X1DqnTgG*NQhC#qbU$JDouCQVKT zpl)T?hG!;|i7O8&t#AD@O2PCB^dU7f8^T-Oxs27)Xtc_k5Y-`7Tg{>&iWK5ysjC@P zUMU-?9@e4`+B6z%^;eSOJa2;xYrHc(O^fW?G#c&o*_)(7{*8^SAxsLrA+~D7dZZTD zYSU;;Z@89J&HG}LwBh>R+2u90^)HS^Ptzj%HjPF{efCnw2RjD+sBEVNbEZwKl8r!* z)gnV_98*_|hGIgK#z5c}4Fb)@JKJAcSL@HpA4P^yRaMgqt6bBk`zy;lQ_3sKFaQ*` zirnyyBMaQ8d(POB+FE~gWm7w4T~Jz5QBvJB;Lndu?r_%(2Wy-n}Z&YrL7@!KvY5pL`wT3`? z1b8&L(~x!=o|;J0Xhuz!Pm_<$EeCXNqL2s zN0<|nEz31#HjF9RZlCy45CI(1u0;hzoZQBNn@t^_(c6I z+B|M$JO;>I%tu5+YnXr_sI3=>G7>?fOJMl2J!O^8EN_ei1GPp}b&CLfW;6k@^+_Jfl+B~C zx}*}LK#d%LQTm2gor>AyEhkHp7o04(EX^SG8KSre(MOH0s+8GLv;wq?e9VqYCS%T( zU0qc-UGGk?Ai#w^Rg;QDjB);&=~bA^h;;(Y!z*>dBwzTjXfUwZQ0N94nx-G`!7Q4y z44+(7lv`6c1usIqNwnM>kR+>W7N!R!WpV|AgX?kyVr2RX1b%clEtVH%BP+;p8S!`W zSQeUNr9aQeMiz`2ZDf=EwMAKlMRIB`hK52Ma&K*F8LPlwQe8TwjkpZ~BE`u3qOqtW z>Z~YsD`S(G;*Dq?jVu&LmQsKIjnSGLeHB%+aEa!|rp0fTy#CG`j7?*TvWwTO#ceh* zwCr~MGMdcSB=T)CQx=`Hcz>{pKmZEaW-q3PiVS45 zR&ye0mHC@n6K-+%0e|6 z&P>uG!faHSX8pM|HfAKfBC=gXKJTy9VKi%t828koOvOn=>!7a783|qTI@f-f(F>o z?bgo-baR{IK7#6(NRX{|NSYT~Hgo+&l&koLu}Z%{o9j*lHNIV9XGx}S7+2uMP10y1 z`+ZcS*mwffNkXmpYyFK048;g*7zA6`MawqJ7%khl*wzs#TiQ+Mv7g6m!3wplY|djA zOV_rdi{)rrcDzWY zIcHi`U5#js(kdUGue`c`wIW)DQCx;*VGYmJB(36!SsPT-tvYn}ZIup{+om18P1W^Vqt^h{8}mZ;>-L_;YDgp^Y(Ea_S}m^(i643~W;QZ{AJ$Crbh3KI!q%e zhQ60q?~^xI?VT)KZOheb-N$^0tp1vazjMbaOHpJKr#)`?~H4@mAE)O+Oi zN@K)aJW>y~wkvCEL{`FwTJl#n+Gw7Gg$I_(h*LlB!7Q}VRxZ}TdKyI0H}U+F#ll$R zN|!6BESX+2rAlTpr>1_UHm<6rC9AfIjJaazC32{LHslwYsxM_2K#cY1lu2 zVN}UnLHfER$51e(1kb-(Y=+Pps{kLml+{)EWyoZ#E3lsSm+9*ilC@a<8`&hW=_1<+ zzJ)7xVvtc)`VjH)4Vzw4I|U1*8hl`Yj~S-v ztEB51y<&yb#G6~|M;yIF#BATlnyfzbw54($pclDb`x`!$z`CrY#y_^Iv`P%T_M)O$ z)g{yQgf()Zg+_}H0}A{z^c-3lMWyIQeOs=ox@p8lo2MW(Q_R6Cs<1OwgRdmlS9_k- zXkrEBlc$v!Fou{|O{0`nW204!rZvpR3XNel#Ru1OJ$*dcCGMZ97CI_ zY3KokNzQ4&R1h%34rimCpHD zR&Ql#^_=O#=!RXC0CQnXf}qgPH(#JpC>Cf?&F9g&O{A59=U<@d`Lmn9lPWjqnBaS|!kTEfzDCZ`+4U7AF2+el0+Ej!O?ON}VX;TrV`n3&Y)76()$iUQk zp(ZAAdRr4SkcKxHwq}z#`1KcABl!<>)ZBq`X?h$tsr*t^~sny0EIsQvEaMW@a(6 zn3{|%Ch-BkNsbUER^hLlTss9hVE{0(#tvN+ow{)on{8r7o86LSu$hf6lhHLO8{FwukJn*y*$p16$7Qjlo3ae%hADs3Pc+1G03ou+ zY>a`AQyL!!%;*^NOJ<9wR8We~zU5LEDa~ePG+8}9lOf%bW%qhL#&n!5usf`7uf^?h znM_8T)#@>LU2c~<-Qjf@Ty~4kZ7|#Mf4a+NFgeVuP+VQ_EumWVmK16z(gXD|tYIlE z%`&x7MEIB9jq;JvTJ&xr2(#*@YaJO)=4%r9w%xl?mNG``7fqy-Ihb4I(4=>(&%r9A zG~e){Fq;T!`L0Q$$lNYM&-1FwFcB$TL~8Q#N`DO|`SLNMKSA&$eAdv|DZxQ%0|+qN5v&H6iNZu$)$(blefn#-X61j zd(8CqnC06ea;7)N%x0UJ-QxAx%?6v-Zn2uOZ0S~q+h(zuJzk5$=1$MTi{da@eKv>J z=r%b7`OH4E#qIVuJT{llU^(v_gAhCu92Kem$gj!#17Y%QvgmUbqrqfpHffQD<})80 zZouz4$}M#{broLf^W$L z4zs9li{5%H^$o_-q`_E3gR!t&u?ER4tFbVz%b0HUxx8k#!|ijRU-g(wW;Ysy)o8Yv za5Bo~wqzN-ZnM{vp6+#d)7=i2-EMSPO>T$9ZnUyY3<2dB^sy|Ig8}yEv*cJWchwLs zn}C&hO(wh5XGQK-gT>;`vb&907Pr-FHoI&%jpg>aZ8n45ZFd=5D3aG;aNE5OuiI@* zH+t+oi&Z=qRw(k*>mI6A-Pea=PJRAr#tuC~#al0Waq*1cZT5`dmq*Oxd6vcy)G$Jt z4ao3|+q3F5Zmq9zYm*wciW;~6OPe&>sE%xCf}$sS z>rOXW(TYr2M!Uo0b33e7v&CVxTP#+K*O>0HnXP8K&*ZW(qt9W;vbb!vtaPKrSh6m1_CF)b5>CSuc@h^u!)vI!A3jtnLSpU z!QnA_eMW=DYV~@vY+k&GzI5ED$?kUB?H;SwZne2QHk%{MVoZ0~(`_D9hsWkHSdoFx zX0duP7qU3a9=FZo^SP{U6VPb2q}%KUE1rnU?en^`(k)ihk=f;PxGZ+J$!)Yaj9xn{ zv^P{3RI3Vutyvwx-`F>acd4N=^wh#6SMDwBExe;Ja@OE{UL7Xzs5Yb()g}nlhPx8y zK<%QcU}`+$(vXQUT^6;OUv@d^|I$2-rgZs9?f61pIx9pD)K2ugny*q}YdVK-xR6MN z5~k}VOs{|U(?wC!85*Y-Q%#52a$^SQHl<^bHDy^%UXR&` zbErnQ)#%CcxJ{xBIOI*Wu0b;bhC5iHB)PEGV>U0c2u0BxdeI!BL@?nf40e5nqYKlg zD-EC5$j&>loFM4R*V4#kJ)Fj7;PpOCh2CQ6*G67*~O7ulgI3}+Oynf z)eZ}4(wA<|5?9C`pPMD0AxL=Z%JFf|sH)1zWS(9kJ}DRbJTQn2re+4DD40`2QR^s% z;K_(7KJz9MNnu45msgIRpl8Z0z_Zo-Ci; zX0cnXS!Ra?e`yu=-4HI}SD5)6>ySI(!C`&ueg-TEu6M0}mwX}R(9xK5AIis+zTz^7M&wI?6%kxKxhbKsktCOq!1(%Lu$Wz#3L8G6XgDr`KZkL-zAal+gsyHBb_F5y(u^vZHnFS(^9d4DOXMAS{Q4=Wx{8we zN)p@fRpNsac~EYM?8YlAtHfb@9JU!E_KK&KFnMZJ2G*w&5oMlIh;}bU(+4I7iy;DJ zh&*oQuB*XenVOn{x{1Qr5D0&LP&0e8M9o54?V+&xUG;`c#Q@&mX+Bc1hU1pXO_Y8R zIxnC&&<;Y0S{`i|oj#5MOk}f4kY<{tNFO!)r4w0E*~I#0GQp3W$|o{>5LSy%Snzt5 zHi=w1QTL$;_%NfW%wNjzk(Df3Zq3*_eDR>PKBKHTl_k>}z3AELv#6RObij+9@8lQq zlV6Kqc&c)za5i=wQ5Vgw?XT3YE2bN=3Z$4Me2v|fOMFj-HE&9~O+?gH8`DPCa`MRN+1llG!wLZwEAP$r|E$#(vCA6=8JM zuRVFbP8Ub^TvIh2U-0dTqgH0jFLbQgo>!yG$P%*_LnLR>Y`lfleC`0W+6I5JqCKc}B&ulSuQ!bO35l2SA0#RoAgaL>T7w;v&gTiP=4932eEK+4IlwuT&y)ZTxbZo|?l1&T#$@k-37h|KHwe^p@7NU324Z*st3{1&Nez@k1eyDA|O=9X8- z+ni!=EKG6e?~D|ZGjEX7I8!rBZ(PyODa0#h)(cGwvazvXx4sg_j!R_-&u~m__oA$N zt+xB&f)ER2QB~*Us(dgUmBNCbYc3&Gni~nGq}?#l*-Bl9SZKA&oQufmb>@2W88&N_ ziL<^LOBc{LS6euD%Y2P?Os9ZV?tYFfC8Q;gD$xZJ)kcmlBEpQfN4GXFNEFGJ#Pd|C zTADn&GGa% znLmyCe;nT)=8&xp6rJInfu|p;Qgu6!??~akXLQvO{&c(WeUM)j)4Ot&`cDy9{02h`%~4v2~7 z>Xx|??SSWYUVUMk^-JNV>%{DJxO#N zu1Dh2ZQcU)SYw(UQ0kU?)a-hz9>Kn8xgN8%Gs^04VzoY9#@joQm`+ol+LfAmobgIM z>h!vd5B0b>9%tlf+^#1n7qWW1IJF+bu6hT|D#EZjQBR+-i_{f1OiEHc)|Ih(+}4ed zu4(L$@J7f~AKVYP-i}p9*S{;ZKF*Go*E>o_ozajNefwN(D$fMyUVEhr*ceJk)FVqFQjgcFSdWP=GnL|$!VO{d z>859w>JegLwj}jP_G351Bf@JN&oev^?F!?ovy#xsWu}YH8-XRRyoaMG(XL6$OEDL! z4MGTPGB@jyx(QTG!hJYh&tIs+wc5{cVQvScbKVZf%k>%3OVJ2d8OY=1)jUwi>Jc)!vrgkmP)($xtLAE2$E$ej>na#$AoO1o zAXTI@_zuXpfno`6)>OxeW6`K)$_rB$<6}pa9&uY67Tlc(WEZWZ(wbI_*s7y0E}T^} z64%SjSdZaVmMTKhp%&o_=5g#f7i;mba4lS0vRVWuE4A>Jw$+>&R_nIlVs|I>roFjW z=}oQ|+mlh%{A^5-pG!4m;S5{{_AP|16V?1Mj$pLr7Ud3j=@r#f$x2s`iX5G5(}2w;v!%rmO?^3L@QXKxt69u&2wL2K zs*FgvRMe!Ty>T6>BG>i0RBe66NwlGf?XL?~iqy&RMr#M8>_(fLb=}!&&u!N9vQBs= z*Q)i?#I1w#Tq1kN(Y19w8&j8Tr3T6qmz8En|3|l2sX^uX3FiN5+Ud2m<+<67Dq?nF zp$7V_xi3_y(}PTvy75lbjFh(>3D)tVYhGB>RqATC5)<|qRu#n+&AJrh9GR|NPNkaL z*6|%kH65z?%A{O{>QI?2Fw0UEr$f~Z?hRKlcK*K1yQ7tE(X>V&)S-OH(s@iZX_5?8 z%&5c+3P2UZfo5w(H_&Ub=f=m{HECK4HPDl<+3{Nq#^oE@3fCDc?LD{V#+(|IcOHk> z8<-^P(oQYUUaEsj2%f;Fw^A63j=hFjK`?D=$fvgK_0noSu})P4o)?>2H92kVgkaNF zL(W=P1D!IjQ&O-Ys6m%|7P*L3>((?=AMOTK)N{?n8t8@D_5?1}t<`$;xz^H!np6xH zd!1?-zOSvqM{!fDA?K7_TiqIZt+e$hw%hL1Sxv zd7Yvr%~bQXD(U#@LLInW2lVab!tpEBYGaVo zRILlAfwC7>5sWQDrV2M>L>25S51LkOqE?%m7wqV+)M6)^7pn!~VluXdBW%-bCi1m( z-wwgC@rYNe7`Fpd;qqXvLaPuqk6l27r9Xh!_}G%d{!E%}ydY1p^cWl>b(NXLsy64`OL7=dzYtb=QE*TEO?tJAAgVPP`{+8$Ro`cZtG zS2~pst{F;4RbR@0egeae!c6%K7DjrpkG7!laE;EQaxToG&+;@!7CpJz#jT_ciJ>ue3w7CeB-jLztbPK;xE+h*BS8US3WEHv#LMkrha;(*~CMe z-HN%$T2###UGj4Et9ao};M|vd3k)|KY4vMXu`~GHDIzP7QN&f+(x!0c3Ln%p>C7$1 zcfKTmRGV*NrcM;9SK+Z>d6zNaR@`O5Fe!|RZte=f*IN%;r9G&0(WAlA<>7P9WuC>w zbJLzUi;cm zTRZYNKF4yh+*)^XlO-PP$UI@^o@>o*u;QoNO%YBtC15sVbZ!mxnnfPz$h80usv=P+ z8A@^A_*zs`B#Y9_ldG3n+;Edt`N`RhmQm@&z!Mjm^B0T9O>Kx=*SEICpmI-6C2{N` zhNtk-b9C@}`tZlp=GH=s<+ebL;*nBBlw0YDV)ZLs&V5YtGBajb&3=6J(P3Z?@=q`|`qBoGCQ&{j#dA%6aLlQA4 zCRCgI%NR3RNx0=4PA@K^9iafOerjcTWJ)eV)(8*zLX}`0jzpGqCq%{Cq%0F>(HUb# zN10sp;J7^0%LHZ2cQ<9+(zpfA$yJ=YDOp`&@YM5CcdQK-P!kG>>)jG`23nXaFzeB8 z$+9XU$yc)=OV6~Q)#Hq4?F)u!`HyMw1!;#GY*1CD3Uvj!NET&Tksyz&#dZs#8<=#c zB2@>V7?%QV!%`H9Q-vmdfyJ234HL7>mxw83aY1#eLoi!HK(6kURGS68TCPduMQrjt ziWp|cLB_hz!aga&$f*b~CZM$;Ida(`*>oz}Ac0{K=BGP}q*}#mj|IVIqEwb*g*hHU zEb>9$T3k#?J0e+CnMCNDMVjbEX0=LTWu8363{gacDV)d*RmOzVF>b0r5f;Ka_Jp~Y zc?YO_V_f)b`OT=R&~#u`)W7gMvuw+l)wGOi5KBKaU3_hMWklyTTg%c_V+%%85&czG zn||cJs&SXmM6Ow5;N+4~)T(f6vs#t0C4Kn7s4mzMLXn_!cC!>&R24KoH<{gyzA(aD zjJZ5(yCf4Eaf(_3hpOdO=&9zWrEXtn#!zf-QKM3Qc0#hL0X>6AHv9%}mKJFx>WfrG zL@im#F-1fevp88I>L%?0Ta85*=Gcr_Xr7@+VTiI|;x#@0pTwLc(I+3Y7Iy&I&g+Y3 zo~g>#ksk_!0}!BPMA%iyWObtjG^;&ee?{O9fIe{M3mAvOzhxo&jp5Q>zyM0e1UBoA zVSULcKvOF`R9nV$u4PKFCooM!QUPb5l!03;@e={1Yem`QL0|)NNFw1 zqT_aZS)2Xlggsb}-f8!8%Xm9S@@1H2II*n1C)wVuvn7f;fjzevO)DNou-f*^W7bXP zv}tv4|4pl%=7I(2ICHCyYU{8=O@K$4P9hTpBbc3f_wjs->0u))yeSc=kzzh^mqdSRC z9a328L1C;b+8BG=;%&E?6*x87ZAcNF-^(^oeD7SfVVJug$_z;53d}N1PicnffufzQX5f&vrW0pgtjF;#R=U5-pPLM`iD;M*| zQi&b%xP7q0Fbs()5Jl$hS!sJvKRzGM{a zWX3L9=bv;_<*Gn6FL$rDf$0E>w>FOT24tB zm4(dsCKD^hw`Q1`UDhIUCB=C$flUI4b4}DCrHw1?xhB3psj@y3sU~Kt^_Kk>ifK4K z_Ze47F=;wU=l5@UU;#td!m@n~*K&;R?lxj6tZrFQ0h*c?hz4<2UM-#XmKg8!Mhrh= zzEUwVPt(X@S}zvhxyO9*r;zAT=2*0>C!cw5Tel~@6<_hM4^zIuM@F>UMFtUAOz-H7 zALK+mcHHGG2NNAJsR`DN^Yc3E@g6pviGzx{EqyuTxIAIBFLp2tTR4p?0j09^;=82C zlTSZ1Ghjq~oDT{Safhz~A}Zbn-@Zvk$t5R<8Xp@edH z$J(`?gQO+v0InoL1(C^d!}J%bn4t=y^SW$V#DaYk)hq)g%sWH9P{PvJR7yyt%Su$* z>6wWo2lM=q^XGCL0BJ+gVB z6+_O+4rLW5Qx8*X5Abk~t%uQ~=fEZElDk27AXU*FkxJ<=KvmMzfc<@_4oYRflwh@r zK1VjDoe)~l39v-2xO)R;R-2bSghVadRNfe~T(hWhaAtREjVkU&Yb$Bpb}%J(0+jBO z?wVPK9umwini((#1?81>yMTt15-Fze(Y1L|+&(kJ3V)B#+9>4=yQoS{zfQeOUH<(iKwOPlJTk(jNc!&+cxtMaJ8S`foi zTkCdCjH{InUa7tQ;CZ+;$IiRmKE23Cs@iO8kaC3Qwiaoo`3gO|xw6c@-C9{nVM+C{ zs6SGnZ3RJt*T)fB@k?LjJ8rTuxT*`!h)P~MF=%emgrn*dp|rIEQ(wldVFj0MnMQ0w zZpC;mDiD~T-p2eRzxxUiVe?)$9pfg&+@CK)MCE~!&ozX|5D zp_KL|0bPMpMEt0Q&SsAtgeRz^u?wdHj7l|sk;Bgm`h4C9^K6mTNOiG^h*4FMP7~)y z)HV$B>hkfe<%@cd(&enwP$6W}7oR-xunT+|V^&?NFq=TESx|iV(MX||bsxP))YN)& z9=0Bv>&&e418Av;={5U`UiN7;<787eV|sN_9*>oqUeo(+EVA9jC_{ZG#h2iSWmJ$@ zS|7W~vv04JmFoH^oB2#)1j7}T18Nz<@cLR^jX@jbVva}K(XPHhMY#Q%+V~|$c zEehhW1+z6MRLY~$oHQbj{7z&htP;{BtFgV-3*Bksi-+{KrKD!|t7-1k?)0xpXR>-toI&7#7NVbo$x zj#sFCZghfH+DpF64<{}JI`AYCHne!H9ML)<$93Et*VZpvNNPJWLY|mBKg*wImh~61 z3sEs3pdr%b>(Jhqx8GAzZZ`DdXL=jcz;Vg7Fr6rYXkk@byCvx%Q}($;1JAZr>^CzX zTU@zEi<)h(4Cr@jsYAY4jveO(aZCjpBUaYN+9kY9H%91c<|WeGQf{vJ@1ogo3X;4JvF!3)F~eu*h$0 zdeDTG^_N|jq-xMVeg#RsBtWpj39!5u&t^^ zj4q2pSjM0jJgDx*a}cR|5&Iro(9m^Y?T zR8Mc5)aQ%Cb2wV(@j}~ZJ07d32h?GmFEUugxAu6<_=Ic9RUAo2#hy^ zc~ah(q%xS8u^Toul|i&}(=PhmQz^ZFZ_wj$2$7J*)BntH4i3A}`3EgBZ6i}Ca8_c7 zakNE)D(a`YY_^tz)I1CLj?IGVTppi~yK#kNZsSKL^o~Vtfw;MT#$y~AizIjLcU}?v zIgz{WqG2Jf#K0~q>zh|jZzO;yNTs^Sy~L!p#@mE_yfD+fIg-wz{kF}n5iF3MPOyA> zkFy-9XvePzd4aulc#Z$mIO8>Xwq!g-gn`52GaZq0i>M#=XLu@{#gw=>SN3;2EQfBG zXVVQOuWpbX33LP7S61ezDU86L4r88nJ#m+CM$wtM@_bJ{`aBouo1AwjJV{TX;}AKs zq`y2gpr46$#Op_`u&eq6@Yarp| zF`zK{Mgwo6+KQ?5JGNrBAl6^L${>9Y4JE%k5)uCO?-=3m$Eaa$Eazq{Cgs{?If{Es zb#WbyJNs7CGUlnuxKg5cayj19s@`Ru9$MGk|1fWYQmU|GDud$_&)xzic-+(3;)vo% zpb2fkmJ;|x=PNq14~;G_VIpAnQYevZ zZW2Q&^JiKcodD9L!eUU#;zKl6ND8Oy@O9|OEsJwtnKFw(zqX%N;3=ADl?*OtWk}Z% zqa9*f-~y-f7Eo!roC0!uHAItr$d=_|Jw_DUMZ;C=z4RiERlSHPw}t#g97A_PJ~6E~ zaWwwtLzj>!hPc|2nijfygqR`MhK*?aIEUJX(ee*^$^l- z6?JnB|4vs+?8+=#IRok>o6q@lVU$mDg|?;@5n)WwkLu|F!(~xnSw14dL-IM~lIAMP zm+YEjYb#h&t#6ARr9q^-p2nC7QZ`L~&T)XT!K|LTJgf6-6k&j$SmTeD`4h&S_T>~0 zsc`oL_qe(sk4p&UanZLro(+nFoWCT*b(+mJ*}P+MCVyhsj@@F|CZ_8>5i;+!@STCK zTdvvxzCL|nk$FK>2RT_;$rcb~%?|U|HVRA!!0MgSV7;PS7Z&X9+=8C0CXP{yzu3>` zTQb$c(dB3NB!>9}8XM_CnXy`wvFIUK0<6=@XgvQb0W29R)CQ^DsXkvC;j}{dN+k}2DO)&tko%eO4d*Z z`{&LWN}OM;y6&SREv*BngSHG{ibq&MEa$!=*GRxzU1+r88q)2ktd!)GU zt+mNBkeOA-HD_Q|^=qC|^At(0M-6hYTfu4&q90qE=ceH5W)0fY-GCtO0dNh7dw`LX zC?+H0&&BPF&md}3=!v@Z-w{{0SD)&#ZmI#7*2;pF`Km~6@Iu}1h}y7rK-B0?n)wcV zY}BdcwYfrnPh%2COIET{xlc&c_%4KdY--nvWmaEQ+EkBlsok!{#wb3<=s)ckOV*Jb z=05fr(VV^fn*m%S%+oLpnF~2YJ(0g?W_{cN=HlaZ(%XW~10R*53wHVf%C1xUo}IdKs&DPkE;XA8R^X zz3^IYE=Y$l&*=bM2klsZb7*wii|)CJc64LOM6S#WWe(Y@Q3APJFD@wLXNloz`s7*} zRU12>543LS0x{xcl2nZnvWZI^>u0Lx*qm>xONdI*F?W1~(2B_8r(p679mRmA5mH*( zQoRL;p|_ROR=5#uj0*|km%uyas#74|c>6)j|8%|DO3cm8PEvM0#VZuUe%I$Z& zZ9i1per41~d9rY;jUu4zEQVH+>@^nujB=Lg7=;Z6Ct^boA7S*)PZ4tGg}+h0XnGks zY>UTn>E+W|8>>Ml7#8r2{>iB+|K6ZH)G-&tNTw4fbaNGRFaFP~W=x2|Rlb(Sqj6Rh zd-c)k;UOx)2X~~d!j<(SyZj& zC;;O4I;J(g6OuGo+CWB9F;h;kA});VQPe(VC9A|N4mm{CiCL72XR#UA3Oyg)PgqY= z+CUJ;R#?;h+gV@q6C{0z@EiLlo(~r!|tmlwTIt^(m)711jAH-Y_Ke#Zry09KFh_LZM_Q<5v+?cx1S`RaA{Z+3!_Vgk))Mgu}hKs-v zWOxUdRYTW2t#ob5*@X~Osxp=@C~Og7jKXnW;WPZF$|Dynp~(1th%n24r51L=20a7hXZY;!GEAl~Ywwrjt2P-H_l}n-#grgPw&}GZIMvcB?&rl* zNS*b-&dKVZJ0tR7tF@&YhEPrA(VMUGidBc?9x-5iEziQIH##{Ze#Y-JGc(hO;rJE5 zBId`QPZx2W#g#Fg!<8|Nx@E*Z;Fps5VA$ib)`Oz@-={rrngDJd!KB;oGg(=31K%&np{o5n8YB>`!nYVury< zaxirKD6M}S)+#s4KG0HGK+SMb1K;Rfo)}?r#L$X4wz^0)DaadOnh2JeJGfeQG03A- z7|KACLkz__j7>bJB^K1UDaw&-qlNLrz>zM-y!Xlo7W5d=dK!aTZewu6Gf7*Cs0heB zOo^u0YG)ARYIc0G*D9aFf-{lwCw&dy4Wn@>2~#d7Uuc=>rP#nAr5vEFHA*~eQou~n z>jsi{H>ll}P6NKRgd>!$UKY7=ictd{M|HSR(4>?Fz*GfSf(uxB@wWhs`zlhz?J%cc zwgOyAnoO`*8ySLJw@u9geWVD0Z$n=Xtu%B&YMphz--5KK!V; znG!?7VxtvYZO}P^`KVe8%9wDz?id*^!Szp3Te6+8Sbld%rvlb=N7Hif(DALsMF6-N z>!)j#j2=m2$D^fl2YlAu@xh@)KWYWL?Pajf3d0D{7 zizuHPI^&k+v5_fT?5SV|m2l=H8?24y$g|C5*uJCNB1r7=$ip!*HSuT+O^iJjLvjm9 z=nJzkB)bWG6l2nYV-PmiGi@B|qA`f%GfP=Q#h$5F6XiK3!ILP3@BoNGjB7C@ zuk?i9NFi<_ZrKH?h|!V~gX8N(!p#(nLPE+$L{dD1osvi;I)kO^N(At_pBhofnXSaAmdJ{{GloQ8|@hQjnpnR}3sf>P- zlMz3Rmd)O(j?_%VDlv;{fv^uyLrL$XpepDG!{JP8y%~cu>t)!xDI$oVJ;aEHI>E2- zwUre)Ta3685#iD*V(_vZKbv}M2g~N+f&$}fK#XawbU;+UY+==0%%f8>dzf>TZ=-zq z4S@YLwF63o#!K@WUEl^YVV?QY1|;do;sti9tL{lNBFbWuV!m``tZNHnTcEU`!PG8e zpKos1+pp6%K0HYsFm@;+uq2Zea<`YD?s`l{uj_j{>jPo^sY1VM$fS7)A%r8)nDpT2LPH&Gy>*+`$!(Q@a zBr{XH-QG-)c$WV_B=9MhVm^*fKTVe0X2E{xHK{2xE31o`q?psQ)EZFVExLs>_CXg& zRMO^(J}M$+`#*_^bjxs~oIYH#(1;8wVPxKZ%xKS1p}RZ)rygRFXm?T6t-Ec!V&%pz z=Pb+x%$MkvZ8FXi`Yy^kFN0ck>DF9=$Hb*^Bq5j$+BPIpDH&^$XHk=%O2?%mYJ#Uz zm_y`UJiQ8sg<1aN=+7PwW{_-Jq;F~1oGv0<=Fuf}YjL{g60q(#@H3jMF+K9D_~M4k zg&eSuN8IWZbH&KM$w!kFTaTt8g?SXLwb}N9UHVDwx0>p5NAL-Oh3vT9r!j=K;~ER! zWm*r9whf~Xepsa}uog_riX^Ct>hl)SQfb!ktWAjYnF!|xZW_|#w^4u z=<4-$VDBvDW}zKW|B)~;vb9duDY66`j`5KZ?;Zs(f}mP+jn*czl^#QkUEvHK$s$I% zq>qwVPDMl*yM-4iF~M-~##u<)Zc(9%y=JDT2(uTLJ0QxyKL3y>OJRG}cPzeMJ&us} zoU`}95Hd{(nS@9Mnsuv0SOb<>PMQl7+%jpkYwFm6C@b0pHXma($xH6Sb`{@&l^dw< zGur`Kg!KYdoPNS#n!l$|EO4yqdMn-Fri1I{^mcj|JkCXDv?3CZ%zd7=3lm(4k6Sc8 zFNKugVr79*_hg&Z0v-ir-1v=HMeuM;C3K;s14!#H@XA(qAvytmT2a8-DK}BG4ER+B z+Nwn|j|*@2L31FF1k;cla>`b|BA59rM}ORavk%TGC?KD1x|ImXWHY~H!f4>jr`hJV?@+YoTtNUofYD;4y!S6Fh>#l8KjZs>@ng=~{p+Z!*hbF6lDBdP%8Tn8@-DkoHgSMM(L+hIp;zZ=kj@ z1+!ikebbiO>BmCtu*^ev!rGGyPUu0EgA+kSXyD7(DvMen3CB;5NY~b$!mDJ*t4({F ztQ}6WJ=bb#?|P*{)GEcmngP+n7ySJwBX9^kk}JIq-1LNn6(ln!Y0okepY*Y8qR7EM(Te@Rjn4^#gC~LEPAE1IDK?SCq z*`IR(%*AsGL#z7-?J#G5MP^GG{cbzG7=f&;LxgGMqpcu9?8xPkuDD0}WS^GuF7RNK z8}SaEE>hru!>|>@+_js?2x`q&89rvMBZ3SndlZaoZ+ir{X62_&IowTG4zb6I=wQxy z+W~oyg6f~zo8aEySei#%G{u=?!xdd4yk`+}*26CDCRoMM+;t1lNjm`Ar+5_#8b$=U zT|_%~G6lFzed8DvFmWuKidbVJvd|h}qJ{IdcG4D`-GJuFrys=)hc_a08LBPULhN9? z&l8ucV%&-w=p))Qd){(U0l990o@s9Nn+l+XTppB&~ zi||||6JLkCPUwm`z3A)!wQJuQBr*z`gWu-yJ3KDu?K)5A^5AZh+6C++;T>1M5Kr zbz1$+6BDVpqj1ZJ^0eiGmJuYE$s*ghwo|FNr;C6rO@y%Q*ug}VfC~*wj5$Qrg00P2 z+Ho^uXd%gfWm8HZ=EdAcLu+-3Wc9`h*_xL`%b;B{Gs8&epNlV|$uI*mW!UIHnnB7f zR0gcAX57eiRyRweigz?6!<928s>vBH=G&39GB#EE8scP8+Ijko( zM(`~)dll`=r*7Gpk@&X8PL#O@71VH^q4orc(elD+S8~I^;_Nf-f4Ef$<$k6rC$?g6axGJ4INlQ_$D`cpFXp z+Qx}wiKlG*MN^&9ClAsDYF9xO5y{-dYuWS5rB&ezht&bgL3D)krBa{kw6)m+C5x9F z;7V%8a;VHbxgA~E5`+oEK{CL%m^df$wK5xwTA@b zsjTJMb~}vCx#`I6;l-fv@$k-7WB)*EIK7VYl|FG5+7ViK&YOY~cLkQN44Zi_MRiN- zoSwx=0F@_yna$?-dJZ#tMkk1ggkGWZQ9p4L#iqp{C@e&x#(s*cb;`o+A{+vAYFSZ-;${3*Fbux^stPAetS9BjK8R`j6&LrU z<$L9_6~9EF;F@Er=kaV)pJE-y54WYFq(kW=1YKb6^0&dBJadNEGi*q-CJ_{U461ff z57jG&88m*u)`*L+r?*k!ole7Hc8;CO_C?_to*c1&$nbh~G7AX8n=Ncp78dMR02V3h z3~gOx->|q4Zd4|JgIJ|agHDi(O6XH0`vRa>#_a{RA4)-GIcI+B zbW_F?;~RqQl}Df3)J~RfU$|e6GoJN=mdF^5cRNY|dmj$5BUT2v7+ffW6q8bSv2|E9 zmqodvQmk1i`JR^!gg7nqn-4a$ID*E7H+;em6p#jd)66c8>z$S5t%YWc*@0aQqy6}4 zQ;cJ@?Sk0*60B4@9oKErNT}|dcW2EAS@W`Nptd~Bb5b^BR>krKLn++WZCxO`!Hh*_ z^)n*%zvp01`1XcY@nRcep=~M+<(NwWtu-`tlWzcOv(`f7S%N%49$#L#Y=S1> zxkI|;=Bj>>dqEC!54&%j?%>F8zcmm1B)1E6fFi@v!Wb7M83UbHq^{_?&%|ufed}oV zl92{Z<&T}_z;6Uq?YKy4NX>e4dLu#1gRhKE)1^2ads{siwfl&$cZ6b?++ql3$P#XN zLI#6}SuDHbd`@_E)9>CZV9#x+HWqQ2Vr9mllExsfftbiq2gDHRT+GBc-bq?1ywR|9 zTW>^KcB4y8LdwlUQ5~?wB=x8S&j^~BFEQ@D$MZt~{f3GYmwO9ysqjmojzVSYh{{C(7Vct_LQ6UXns$2>S&Z&`qtlO*I5&NVpyS#l;(%6)$g4N<@aTointPkDf zbqFqU#8O>jV?UMvs#NyHK#f}5E9B6b3%=9HVdJ990m`ZyHjV>bH%xRj;AZ*VLO6); zTJzD#b?ZdjgVI&NFooHhE!(WT6pRVxlh1SCn`tM2$^&MZS&?kIFgQT--+9H z5@k0ai|R}+`M%pqse^A&Vmc+4jLk`(eEMN-SosTKbq&(e9_W5|;zsHWkMh>rBcNd9aRq3QX+2A-$ zk~}W_O8NPEt9BlbZ)|#Ed!EUIN>_f_-jZd}&ElK)#*F5Lk(Dp!j53?8E_5D0#hWRt zyFA2TEmNuU7E(JrB$$8q-f9tpB#gVosa1|fFRUSd8G!Oulg{p>``ZXv#Jqp-8F_wV zQwKZeS&sa(U9#nF>1lZo)7bMpl->>Sm|t7+@Mr88U(`4T==nhfQ9C`*w&>WLf3`DB zOvMdxitEu7ZIEMpnkVvOP-bJ=z~KuDWpPy}*_92f&N#zCw{?XD1hJDCi|JO74T-;n zWMnaDhDVe&QSj9TDsKuX=h2Fs!7Sc-&Bwwrh2g&#o3*oUMRUVg=Z7yu8x|X$t&_VUc zrYz?kpLi4n%EQVqg_9XsH!l)Q3kw1)MODk^aB$*F!3l)nH3gMfu@X@Q5+bTP&Cuc5 ztvPwcH+4VDsw4TB!sD9F>;cXECfV*J6ZYvCwW>6SCfrJao6p)bHm#fax~1rxT1Js6 z23BR`i)tuCMwLZdmu$;s;sC+YzT_JT3rOzbhhMrnX;b~l7LX{*U{_sLGLVXyT)XUS zJcnmBhcyVtmY*J`2SBISL^F68(zOT$l{vA+MT;IqCGksc5l?#Of;#w)6}+ zJ%k01n*gh2vMeDJI?(Q|fkB{t9U_^!m$uG&P?-ZCIqjsEn^nclU-5~?1K>&nqHIR z)FTnxkuI`%O#0BVhaas?`{4-oe4tKGJqJPbx^fBeMK_0JrFVm4#yMDfZ?^+^Ros;7 zVFro`!(Lb~&G0~zwbL)+d3e?!czUPT25t28K`EOv@ielGn{HuITjDGXV~$;7M5V7#rrjITMkq}=7~qA*818}^k}YZfowyN9Kt^t4k3n7*h4E05y0 zyQv^%HJ(eyU!A^i_xsWhVB^aArkEs?nO$iC$<-*WI&Hh}YL`2>VoasYaL3Icuh|J*#2{?* zMgHme0g@d$00hcanORO($}>_~iE!Ct9mCtBHMhaBsm%6BEWV;?9E8MN#hS{QsdaNa zKh-p`_hD09?j9+e-BU@Rq$y6ZC-W27=xJ_dj|93vOWh`tATw?kNl|saU2{km!Q&EA z+)%YT#{Fvvq|^$`1t+IEdSXMZ!`5bADd@LmcUwhI$M``ku6*O`?zUI342B3BmIOX& z%5jQuQl!N8oxQ|dSWy@K>qVTIM8^{yl(8`wZ5IF^+#;Iuf}ewUK^;s|YSsxEe>dT~ z7*x;2;J6#eQY_lfV${3F)Pv(!BFv;wB2NmZ^>z_~gNrZ|!~JOrh=$G{C}mdb36awq z9^(m;JUW{=MI6kPb3IXBfXKC!mN_&JGyjVyQ@seUM@R4Q*`WX3^Llta42S1JGw^go zKm{iD6#u;*j)gb)eS?4DE~lCdvtb3w8j6oN#q(gB;bI5H1H{gUjj&umAFAYhxh7p_ z*<+NwSzmUn-G#6gwkW5jcB5y*X!xP7!bJFJ_`&co`sPdsyVQ!XXER(0+@BBOAbVcQS|ZGDFG2e+0bQmR ze5fUaMi?BX6xC`Ks>hW>FaPZtw$SH@Js29j9}1!W#qbJ)@nHCNcsVq7-5>4`Vc&}- z#JT>--<>+Lb<4MZdFJ&mZU5-_>&MOw)1GFSqiyT_TMn%-Z@tu_%vH)bPRT9c z3t?coar;T?y8%W$#B0n@E)e>32)BKj-&tymQ#|842lh%B3E^Yo^u-i?b&eJe2gRnt zX+nuNj)eP&eUkE@qsLA{I~)WH{gdI|NOdnQ6N>i!0};v3h-znq7gnn*2Qye`gp0wQ<36T%=WN5pyr;AE3r%J;-m@IHiQ% z*BJxxYv_fycNvEtsJ0~xcDF9{iwjcgLoY4e=MZsp*q7nE~kHF)P!N>RUFVTeF2SPa2 zBHvZ|YMFmW2yap95#tw?r*V5%WxrVFd*iazj^Wq}wNUdywL8YBc>Od!$MSm8XWpuC z`xrfS8XgqC&19_$cRs*~z7YQ%g-<4kmvw5~Q^g-;%*Q&Zj_yP?Og}zLEg$Wqf9##< zAEzecovEI9x2YayET=lt_96lHYwkVAe<$b%+)h-SYe@w1lhq~doE+ia2y<{4L;Uvt!2F`t2V zg>YI@IA3*F!1-Ks+Gcnah~~{OIjr%wl-*h{CC9a1tB)zO_pT7mey4fPF&=!PrJ5_X zlw8=kC6a$yH6)*}5cWD=rd}-|YBPS)<1~{Y^o^1OdGsD3{6Qq(2MP0E z|2XAbqFk+S;dX9AQS&q+57K*UR*S}dN$z>;O|94AwrY)_OjL zM*btTeUq_T4nJUP(k6Lr0C(-|sn9rel-apJJv8DPv4!v*<#S)Y!b!VS4Th0oX*AT& z`WN~f7sl^jn)vb6AO1%3|D0iqKmV6sx#in`_|}o<-)W2aGwz zr1gD`62wt17nODdx#1(aOn8A2Sq|YuDlzY;_fi^My^EL6(cJP(3CiQC@9flbN%(ro zI^nC7`G|O*|LOOu>LN?ihP5co-x-_J+FPidoi!7$jQuJ0u4ZRvPjoIN-O|@>2ud{# zcOJJ{I|JX3nxyb0v0Q$>7d@IUb)D;wc%Uq+ZUqSBSWCrg|6#K6+Cy8< zT=)k|cW&J}_dxi6C(ob$*5b#SZ~qU!JN5R}KY8(6+kfXrL?i5lPyYEI{Wq6x`S$Nl z{ip5ce&j!&{#di;nA$1ZD_ZnE^=I2gEcD&)zjxdp{-<-p;q9yM|F-OI!|aTb{Aui0 zs@Fd^9Qvn)ZR}EB;SoVU2}fwB?*G0%^{vHkH1Av*4tIXx?l1hqNkIks{Mlc8(aJw< z<=+#&2mdU;!TYI!cBaR$%&4?*ul`Q4>a5th^DOOb!LhP0=-=UU&u&=CJ5`etz}HzX zc^`=#oOX}06KdZbo|j5m?rofwhh%JKXsz{iZ3Nm;+bImQVx(L&Bcv~DCnoJ$>fea> zGd*z2_n`IRo?GupJ=$|mIJR){>fF(#e}8)I(~nO+u(W*kkER}9`e!dHe#^J-U;0;n z&S8s_b3b{@^#0lHD{~hIryqEI&*U#Q|IXaQKRNL2aIDAkyZYAsK^eYudKav)b4Pl2 z{%QSI(nS7+UNPowjim()$ zXBljK1#lBJS&;0opQgsGxt|1cM4T<2}a&XG~-DKmIkO!md&@fW&Jz1 zlGYP_uX~$p>S#od+P~rOBt0YrRw7>;$)}x;V;}#Q=-hx+mT{lc-PcX`B>C3nh(Xc+ zy_mJLG!q<=8EKEqNy7>~_Ccno!Y6HPw9(a(NlAYKc-lp}xF^+Jp1!22Q0!B_FMHjK z8m-dUntRy{hKnXzKm+n>cj`j=nw7rQbv!9!ik( zn=m`_@_zNgy!E<_+u@OvGX1`Y3~0dzI?|jq&aH6b-HF4;$g8@Uvia}>iAK^YjhAMD zZ~waU?5q{$+5Y>OO9j90*S2nhdduLx0awXf+X2~A;5a6B+eSE?>M#NAYjCfmr603X z0*6(aqv=?7!rH=nW>CmPE!Bv5$x%c9pk@&XKbeg=DR-wYSYE zKa?oaZ)e`8kZ$UwcS9>9uQ=`9(8?^WJ~P@v7REm6OTTXKksLk3oRGP41a;jF*l`W% zPjOqR4ru-CqznBo6=|>v(KBUUdCRMi5uH7fOZYs!WOvHJ<$k!U ztW8c?(#dL-W2oOfdHqh(^WxevMXXyfYCG30r45J6S|nJRpL!=jDg6hv@@NKqH#$Sq zfbJ|MVeOi}C*i{#<%oQe_BJ`Vc_@v-U5RQ(d3wjreGvMc8{&8zOnKdL?!Uew)mP)( zc%d_W=Zww|Q+#gD+GuD4{El%VGVV|PsPRo<#WbP_fTdikv%)%wY(ycdfLel1q zdQVjIkmNhXf1-2^NoI+c$l)Dxd*Kh?T7B&|PIn)$>Buxc1ocC;fA?d5V_s{{!;=q$ zORxOnw^n~R*U>mQn@orJPlU!nKfo)~JU;o^&o=fC&+M7Jen~iOMLXjUcf}teKDqRN zeKM!d=2w6Vv3fecPt@9DUc8(wl=*rj@Q z!yg8&^1I=W0Dr6f6O)bG60c4%!a7vdVbN0@A3u*gk(_@XsEp8aXbzoaK1v>2UsyTY zIQT=RTdbiaw05L^4C)tN?44}%OE1>CEshHN^B9Lzw~4R#Pz<%m54S`A6e~ZU=f-S_ zW_-IJI8Kv?bR>uho)Ox2;9B5yFgT)lYzw_h(*3<*35 z{dG1gSK_}1+0agKcCNE}_X&C&iWMldwHZNK(!VzlB;6%=CrHtgRbx4*q%u~QqEqb? zeJ7+Y&Fd^$+?k++k_p~`om2f)d-F5s_xi*EXAm^-4hw^MO!@eF=su}FVUXO4<#X?12x+qrOXf)P@E#aQxu*x)zp({?N7 z6WgJKEkxm-5h!iDxBu2-zq;_!=|5x+ZO-v8~!ZCcW9Jtlui!H;ZxWX|AhU`ou= z+;czji_KqOHVn#@V;*1l{#UMF`d_Ekn|qdoLD@!~?Z$lq7M9IFQs9~56u&zC6R&jF zLgoC$7jK>03I2clxxZ#5H9q8dB>JA2kJ|FAGE~n8C;#i&ztt))BpApHB? z{8KrNzRy|vLZ6>cg}Xb)v&tbls>E}(_hp1g&R@Vsznj`9ZR5UEHtzD_Sgx4?i3cfb zzt4nX9^gwSvEmfqcgYIdzys%TZLxOA^dV1B{_YcZyT@+$n9N?Qw&|03LFOnKo}Pz4 zrIw19eXFYah$H2fC5aL4{1o+l2FOO_XD!tW1*~yEc=e@HKFBOP6B@VaWNrfP(&^d^ zvrB%9=Mbk4;gR?eq>kHhN3=}!JxlAE^R+Ej`@DaZ1Fay2>heTLFoU5nZ{Ee&^!nuwQo zmU`>6q$roG9&Y>w)mfOZQ@{|7U+?_w*k$nU_Dg{i6em ztFK)?J9S!^2A*{CEtMDDaQOcC`#EOuOE#m;bi%xbyN>22L|2$JujT13bw|EmQ~Z^I z?K%F1JulG@_p?n7yFM3`=d_jl4(FU*;d@GZni-`{f!5QQqbYO?v@XVPb9^Q5+kAf1 z<@zL2?Su5n55Nstg-7Tc-COt|CgJ<&FXZSQFHz=)3Yrn96u*x&q3eH0^ zA#3UPTl@)&KY@Ri&IQjfnz~7F0%UeRU6%isR&RMk=r%*xCrPGWKw{k1y&00? z4t!7H5xVO|N(sGaO1nO#+TJ5hy?$vJ+3H5`%j6`@2!CMPE?BC*imggtV$4!!n7ZxfrFxU1_d9XfrhFq!*B8apvFqP84z0?~}^C zNWLHCgz~Kyr%pHeH(&Xiul&Qwzk1F*C-+_d(oeqrXMXs@Y@Hgr`d;|va^sH9V;}Kd zGWLZo+?ch(eQm3_T{ z9`dx(T{q#Y53}K@!#tufti^no8vx<9&NRBap<0JM8p}U7ckEna@ZbK}{gd)Q)~zSJ zX}{FyWv1Wu7-fD0u68Zj&*oP`$i_($HjQMrOl=%YeU%PDKCP90*P`0NUuwo*YTkE- zK7()el^#a{=_Ai;c|&V;rN>wqyCC~CyQ7A~9zat59Q-S8r*-#KrDd5z+UABwd;3yE9O4hlCbVU%{=;n&NQP?iC=Umq#I-1{_h&MVP?M1DAGUCnLhdN z>Q<1(MSkBhrR&Hb)u!;&-tR`eWLysiWcJjoEzKsO7b$P6bnU9Re=C}e;=P{Ud)O~Y z4sIduUPOa>kh@}|{Cx%)@j9dQ26C@)AeEu=Rm%cG8QuREntw3)f4?k$1oVyl z^B0diudtxR`%Avk=>OO&e>m0Xd*ahye(Ukj*dsH>pS<{A&o&09kRd!x9>#P;9yN0tx<7pRy{0z zN;6bzTj?_pZXadT)tBks*d%>w^LSs@mOaDaFTVKe7ikrt+pe0PH7MQlasEqx!w<-m zwMidJm+s6rxq?=Ay^qt^lBsVX8?+M3m|1dT8vnb{DSf^9T-d|9)z5!>89%K#k1$rc zGxZVV;>V~>4hsi0horYkA0FkeB%pTAlGv)1b_dKFcD?E`%{kU6`l^f-28=%URS)P_ zuBDpUXo^F z_2b`K{CmyD?YmJ&U@0@(%-@eQ!yd4|_i^8>z>WXphAbUq z#loQ%Dl|gU?bp4aba#=Q_sLm8x(8vnU59weeOUS4xdneN&{mgMl32=FrKudJsh#p!CB1qMxQ- zQ9t+6TfPzV*Y{YBV37rL<*wN#*L+miBVen|+=&?!4i6e_Qus z@{!XG+^#;oYm(fh*J&OlF72rOQ)deN^-JQVe?8wk`{m`o{^H+jKM;O*>Kl{Kp8fCU zbW_D^Cf@qy^1t};uYTe37n)0r1JZ;pQ(vuYx?}qiVWc>Y0%H{ec-{&;?7oc(X z31rB=#h3TOlX3&V5JVKZUq?dPnyGbdLL}vrRLO-~Yn{O}}>kSPlhtiKcO<4uW^ORZQ6jHCp-1^tyapoYemmIi9DyWm##Md*ruA zw~Fm%ai1Jss5j%?>GdA&P?^$(WPX;WlDLra_Wvh510SEWWu#du z*>CF^8iV>i$A$fpJdaPxmh|L>{WA?lP4`=mQ9sLXFf6_Qg^AM-umfIiD%|LuINjKv z4wd6vWDg>(O}a?9L;Hpw{^H+!Mbx(*a|?~uNcIr>1XGQf$@>P6xf=i@dRVrlQVTx9 zIw9T}hI`A+u>leD5~tzomL=eI`s8^?e#pa)`dN9 zgg;Bp+8OINm_vu(%@kjRtN$UXi5d(scsdVxh{g6{GSi~#zcOYWW7&NoZUi(qe!l$_ z-7RHaEcOHg?@ON8XAGhG8vmX^@OEyy94?GZ%-S}nNlVa|=TlN{)YVfoeiMwUyhw+6 z8cpV>sNEyf>chaK+$>WQ_ilTN+$3U|tb;P5b!<%UPQpZ;{5UG1n?hb@Ag01uw%!c5rDc&C5EW}Vgh3f?_lY>K^sCaM`#N?ym8@kEj9 z{LNVTPMA|xo0vmH)7e1n4P-}_#m99FPANWilJ3`hlzb$Oj^}_bA)mBU z*6{csK2E2n+-0S=?(0R1JM2U1`l_aIT{cvx>b=G1EinOaXx`}rh_4k5r+^hCW zi)u!OOtsKNQh9Mdv#+F+9QIZuP0Z@`lvq`*a=mPsP>XP<{#Npqc7vY3UJ?l$tf$mD z4WrsBG1B+mTfXn*eq^}EcNm@hpDcp&@QCyd@so5OAGr!Y-60J%>9QJI*IjKF(0(^9 zQTn`R)YmGj6n*chO;g`lnex{zTbauUIQn49GaspNK>eomLpvJX`b5@aBk`9DY zFK_;vsZLS+yI;6I^9RjazO558cDieNPo?hPPVT_vh#aT(nmH2TuA|rG(+Lari96Ig zYIB-N&U3yrXwKQ3xT}t`W6nKNN8x#C8PfiwB0nDM9NE;rNh0oW^ZBW6y7$C|r}DiY z_E6iU^-s#y@Qt^0605rwKREZd&dK#Cr`78mjIz<+6&iPS);;H`D4V(4T=Lm_s^i@y z#~m-Y?xf9M-2Wj`Kjdp8P<70w>-;*-($+y+ zElrf8RC3iehF8#Lj#4!Vwr-E3qd=w8_!0k6w68~@zB_|Hh#}-7=sphvml^XTu<9^N zINmZ=%Y5+uTh`NCE!A8~t7`q2>6MRCUq4Pzt??u}cIoWDnUtX(ZL3&>(l95c5BEyl z(1h}>ji#84@aj`JIuxSGL}MFDX^M#vx%UIT4p&Sl5=$7Cx5K`1_JvbDUph@N{21^$ z#h^s0j1)4ZEP+co$um;r<|0#&uKdtKwb(0%73%X@=qn}kBB1X}BK}5;x!5`!eYcd+ z%kb(?N!Lr4G1QUC`P$uDrIA+ubvhxwj%x2aHt%Rz58NiCQ^P7YSsfj_lLK_wFteGmO)1E;YNcPwtS5cCGdKyCbXcV#l@((B=-bqHsH~=uevb zeP`OI%?Cg!!eQ@vznYTz#<>?w_K9~h{5!lfarLL(JqOiiF~Vlg73tIL8=p5xaq)Y> zmrL)yW>Ubk!`57KS)~W#(qO*>e?R8@{T{jd>i<($Xm=*{*Qe45c5=7-wup;&;<>sK zUC5=T)=})l+fSQKW~cd6mlH0GYGA5mks@|UiBYBN_V zk@Zx0eNzqV>)p8+l#@$2yt@h3EmXpZchAA4MDD!rN0-0*Ou8%Zoh%bOP4dKH@4hxk zWs&YF7jsE$+3(Y(Np)=Pg0qeL(-HhIzI^W8EExF+ckzqv8*qtWQf7?aE zm!SH2*4=`}wG(-F)lURHdZX9y+}$mSDhZ*`J?+?$T6IMSSJBY-CwX^mi&qMr`uJzQbhzT3E=Z~0CMM|BN zYaL}s&-KnuWOYiS3V9J@raO1&@w5-pL_G+06u5R`-FdzYMY=orBD%9^C7`p55##*7>juvxID>g{Vso#b6I%tm-+tLqENrh4jb!R%YD{+ZdDL0kLUsAj>zU%>P_?ag z_HLD}&TA}xw(51}PPwqt69Dpf&GSm^`v!20Fz4`B|3bQtEVGy9*(M9jJG~5WqfARn zM=H)|%g$BN^a%HsTCJL+nW#rdbY3S%aW}_7_msLR3F%I@c;^Wf`h5C?tG|?I(>Z!6 zbN}ruqQ2pJDLT)uGlv`H?&EkP>qVY#!Bz3MbL3_d~{cdvFQ8(VUeX+MN zw<^d8<;Jq|5sVVQ)10iUuG(LwtXqoqbo71acu6q7TYE)a>CP_SskRmF&PT744~nte zuj_)@^~8=iCf5DB3Yg>bxGpSymc>s-NqMm7H;kUNBXr#sIf1$JV;FQlX6CBL_|@x9 z$FYFOzwIQ3(Z?{8K7)Dm7=J&?zej+&@46Pw(67@P<$akE4g0+;KSn3MPvgAGfjpFZ zo@A14$p5-8-Yx4p$xCo2i2DI|=+m7R%%A=0=~q!6B-z3)`7#79H7E5UdAuDZZ(o?D z`-a<2(asIh=pKxe2R{=I{pZO=;zG9ez@s5&sEgbHq!h@rPRqH}1Lff*r`v4O=wz}D z2Xyl9DRjAVmGEQ$4Sx6JCV6(=xL)?Ye#O*UTY%l}q>_2nO)dhE!@|I(-a z(x?CDo}Pc8ZznWv8g4Xp@8ZwkK?MgaII7^Tn+3i4(}E10*Wbei8rr^Z_ram7Ki3$# z`X@24eNzgA6xf|;zL^5Qy=VBQ#=yYf_IA(Br2oyv-oArF+h1rLz(cABgn)kpkjUWn z7cKg&#$Hly|MSMs_Mh~806OY0K&^ZFfu3v}9DK9c+cR+Jrr~fvjX8A7!J$?G-7_4F zO8JMOYg^>Mo5Ff;J`i^IH9SHM-uyDaJshxlh~j$=kR4_1J`ir|14*3B2lj;CfuT45 z_Q2soWA&VS5fVNcnv!r2@p?m*NT#Ka}DM^!42| zbavP7-Hb=CMrr75@9w@`hk@+gO`Qba-K*wZ-PYeXfBt4F$^UNJ%aHX2{tUkP71H$# zohR!Th|^aZ%y5{@Ll1BtS{f|;fc@Rw-`A@cea|12OJi?lTIgqq|7k-5 z^#a4PN9}&|YmE;CHCw;EHxC`7A`bYM`h|3>XP`$Jy!kK5lEk- zh#z1){O=Y6-_yIdF|hyE1|_^upl-H;mHf?D8v}dc4GYmO`~84AQ`FXN19Y1@X6WoK zWOF!We^a0W`}%Gg5Glyrq}}Q{JTP$Etvy~3GA--zfyS=A!on7!?HxKhbawF7zTsYa zY3S_D#~KaFqprLAG*q_^zN(HMx}pmG8W^>Et7quSfOWvH(E-$L!0-kpbCA>tmJW?W z15Ci7H-C9x7p1-Vo0<-(IO2a5Dcu~V?;lYGW%*M*M(|UE41Y2H zHu9F_^Hg@|&99P=1%6{_`wA7Zp*;lu_B9T}-?ugb<7z#A-iC4Le2;o?`;CEAjUV5$ zS4{F-Bvs$&*CD?XA^LU5?-Q~|PyfyQ8NB-Q3G?$e z-8^{pD|?t%{P2HAekTIEUQJxV+Ez>qWs4m;6q zntS-ru0BofzHrmPz#%2zm#8x~1Anuk5zjA42H&8W%uyN@dWNpw&i@CnyygC#^4HlK_BtwkXpF? zi@SzdE2ug3-^I9)!@x~94_$wZlsyBt?xsigdT=j6I#JMmdYevWFx8<3BA^cad9@pX zr}h$~!$dN0n;K3aj!N;nyD#>B%0$CJpB}o|<|*Aulb_lbA{Ak3-Vatp{Z{^0sFs>Z zwR#wr!K?p#@7`eqpa0L2{&R@=KV#WX^1Y-(meTwN3`t7yvj{28yP@;;d;RPI z#`dd>(A8hRY3S;|CH0}hhi>7Xt)K^JJrweUwR{H%qay}xhY(Dj#ww$BexiR~9)YiH8!mk$nZ z&suc5$FT)>2#`eqBcm$a>abTa(dD!Y}nM=@HfGY)7fJV75 z7Ui&}X&{2B+b(gCiu>9<#vVue{>;$zPg9+k>Cjo~IkeqUb@|`nqAjpL zT8Q(53HUeP*gM=K%ELo%zG1`lqpJS3H>9T=8erv3!X3tAzFc3Rl%YP@`;7OM$=B_d z2hn=2PYaZ~&4@nLMbz8Xnc{})UoRfoHNhxyO+^j7|~nsfc9(S^_&rth9Z=^YYXb&_dL!`A_ z{Y|g>)owQwtqo? zo+~rm{zo7rF}6ivnxBX07cbdFz%RH`W+-*}&r^rLiTeBQ|Mz$H?H;=R7d7qF z;9r769@MY>|DW<#OfKHIS&G^AFS+`${Y$2Pl+l6rnQn7k3WCoPO}P(*4>XW4B-4bm z{I$nW5%fkX>V16?`OR2~Z)%K&w!fLcre7%aH<=X(0JZd+f3}aR2>2_tKh`&?)L*e$ zljX0Nyxaa2%fg{#)w9-!;qF>iFZ$wtPhL zXdmKJ_57NC(3n%qJNj!w*ROX&w!aoz{x#Phx4)_V(ZIk5qW%bD{Bq9+Dm}f=s_vu* zRY#-qxV7nP2liHB))il4AE-7`$M0ijpo~2DeOW$W0PFunHU%gR=GUyJq3KBh@3pTX z4zvScPsHEdzBBP{g8tsp=kjLz>qFcBF*g3|u}(DpeX&j+%&b0uUWcpj=J$U_ZS@lJceggI%)GsO2e*Gq>e=?M4{kqn%P?xoZwW{qMl!YYc;Pqc26Ed@3 z35OUmoVLxL7qfrxdfY`T?*S(j#QOZ#tj~YVv;0RfOZ_^XLPqybjP9R!OTK0;QN2Cn zm5WfTz}I6=`t_VFWVpW{ar$+fLRQKzSSi1t9fTHjY0(2i*ABBv(x(G9Lg=#FUyc0y zRTsct^##K)wxC`+YDe*PZj9EOp;euzqXh|xC>_p)Om>7Ksce%2NKuWgjJ4g|4b&?;;c+LLLgC82Tc zDgLjPUwdk=$gVx5t^q{JmWItSzt%Tj8Mw7iTSi18|1-Vy{pgw76Sg>A`zXy|m{AQB z{3shm8@0H=0!T>o61A8y8Q865e7Emr4>261>qk#LuaqJgy+vI$Dq2AM!%gbV^Xgf3 zn(0Wao7X*>`g`$VeN)LU2J_cr>ulG<^HM)K1&A~(J%KxvuZ;y|vy4pT7nPeuDWSBV# zH<`qsq97O&ZUzX*B`C3kizHSo76KU|nwv>b(n6g}W*RD1QK(X}#VU%|s+Ee06s;&~ zeJg#%7g}wl3Sx^@tA5p1%lABMpL6ESBvIS`^ZkC`8}XcdS!-X`UTf{O*WPCjUMLa5 z1D7cj9vRICU8{F}W}0OLj$R?lx5#5y^kg`E7=g#U3%U2>=TQMsyMT21H3;ga8CoC17x7F^7yAUx4-pp=rrA z@!V_(yAOgMufx(S$Qaxsh(QvdA}`S+M`)z#kwf%r7iQ*zZ_zle9M6Kl0uca4gucGW z5flvHmn>LX{Xj37p!pOqgu1B$wxnH7d^=L%$ z-KeQY5W7UUO9lFn!MK{ay zRxIn({KH;S{Wi$63Cx@&j<77oxfCbKdN+-^O(36#{M)E^eDQ4afr*R6odkZR)FSZAccbDq0chPVlB zAusgJ2N8h-LvYjqC&RABoMT1BzRgWtzYWW5aC!70_|Z`5L!4VPf_nUZJ^oM-CZrkE zYjYtewLpMNFfX?Vk$6yP`>^>^8b7Q@!-j~5m57Ip5kRs5G7y3jFIIS6Mq-y9?K1GX z6keBshh&APO5BQp_+yq! zv0oZcz{2WJA0xcZeiOnf@PHX77oqVh8d;Uppt`#_9&(RKYlSlUNP-F z<>1YCrPa;B5DG|NlZ{BNTR};cDV${0-4_6@xom6}ISX?<0k;?P=oZ8av*nMAKbnM| z!R~;WlWArG!jqj1vxpE$psgqf^G#un`RB>W!Q2n6!hXmeDCW=1Oo?T}GRVwv!>;At zUOz%5!LXf~kqv-AoW8L_SZ+?#!O0$jh7C^aG;#1~uHub0Mqi@8AAX9*&@MfC08$V=Rm^mFiC2in~GvF9oD0V5mOoxu6)`i zFRA6!eiV1u(4>czCOr%|8eB|P=z?&7t1Rq4#vU@aupH<*R`iBq8=JB~yzs2TMBYi@xi& zrx#@nksNd&`hh1kr^sC>dFWL1Gz%35dBo-(_mA z0R~1IF`;eKQhddk`I#nGzH5+)mriW#mGu|^e{ohm4uhEbGC%Vq6T9btzysOKFzLna ze7C)X{4D5dMa|v@ZXhyyOD`z)~u1)U8( zvXJ2frj3UpYPnL1R9jw@ST;m~UK9za5^0mi@|2#4WoKe}Y8|9-^7u<9WDcsKlQozX z0-DI3IGNHZi{Kbda;#Y4O5uVomM3Zj#Zo86@_gc?c^x4=I)dx_SSFf>oNS(JkzI5w z{bK=?3+!5~r{sw>R(vs!3qhOe@j9f^#=sJa6|pc_yR+btXB>JruQ-DtsMy1dQC&_H z5F}y+&1T^r4?H-~O`H%BXF_~7#1$3GTbETNJ4_8n;lHt$1`+{@^yj>u7_1Qa(i4TU?o14& zW$z0Pck5qB2#WwBAPsqj8xlD9H&ku=scyogI18>5Wp$Va2KR#X#4u%VOL&BYF|>q+ zi%i5eeKOX=d*L$V5sWOf-;+x_kLi3Ay8C$$ zV26wZzEqaWBOR3zU2?VtZWgRUKN3V2PBWAtR>c8|R?$UiWEtm(VtFKgtcuQ4EXrs) z3Eg7jPk|LEcD8y3xxj3de-mKQogQzkJHZbUJi z5DL<_JCOu{OU!UthCh{+XRB(4pF7>MvW)qqrG7P9F+cXPjC4$;v00etl|2Xxtd^52 zoyEx%<&8&Tz6LES;26$YVdW`wxFn_r60@iy#YGIqu~)gR^+?d!A3i2MF~yj4L?s0h zRl>JH3#?f5ZKPO8T%becTUmaUmh8%LD=NE3xiPgD!* zgs~H+hu>0A+kV!44>w;mIR zUSg3_d1~WEkMr%!3T7(}8Hils!}b*T4u^1JwR)@pl;v_)!c2!MBb^vvL4o)iRAjPa zq*BoWNy|lv*y>Sbao8)wi7$CxwMc<|$CC<}nvJqvLs`U^w`!57OO--jN_-0s%33YL zu`=k)S5#G;D-aRt-C>7<+(GQObM0VuMUO2K?ph>S_oZfG)`N)D4M2UdI!gtc_P4i` z2L(7=ajq`H;bZfVh6xcg5kqnm)l3%pI0pi}w{$uC*Z>s;%^Pc=5o)&8r1Y;0>hPTp z3&8>amsy)6app>=9>g;ce_7GSBeZ#0GImN8wZ+`*k8^JgZhjDe1_$^guvRfyj3+H5 zo2r?+?^rv*P7zBbz8+}Y7DNDBm7sfUsWF4a7DKf_r;&NaxY3XJ9;rfAfW3oQHwi)C zy4W+QbS<#$l@dYrf0Q*3R|A`Jy;T7dOrrlOhHq&JRaW3LyCt&V4>A_sv36GUaD;9vv7!pAXH2+S(kHpb#J z)+FM32`A@79S(lUB;LTGfZNgNcT_r--5%!W{>d zW_Sj5kam0%C%o6tz~wwiz_VrHy$bRp1Cnn__%x75$vcK$$b+|Vz2eAEjDm31kOIjQ z_%vK`Knc-=24h^JluahMk_mN~Z6vQqJBjR=@SsYvZ92nB23vm&0Ax^Lb*eExhA~I) z$(q8KiCih;tMjEGuegSPG&ZqRkfKkND!vniPoTJ3ZAq%Sp8N#3*y9mwW z3+=(vk9j9Cj`C>Wp)O3*om1RcMJCG84wPw>4$l#HJ9!)(ej8+0ARFVl6#26d6j-=` z=zdbT8Ciui9RyH%QLcs|F$&<+8x&<}uIl6{WWyXV+akwKOaL4^F@r2}7`lrBC}xOC z{SZu{0G&{IZa4O0G1Y_d)?$Aa+z$RqTp_EJ#1$}vJPr?S3NbDMu^ss4fNR3UMBy@S zug3B$v{edi6^N@e3b+$~y$rSLs77hIJZ+;YiQKA|Lbp;h!rOAWNlMRH5W}Invx3y% z)@bRSe$KEGH@YWGB}D1RflZX6i$N42>Re)KzReuv27wZ@kqx~d!<3kVh^mdIp)o2@ zFAA5Sq+KQ6G8~o0a1aeEIjo3yLYNw>$ekl4(t5x;i7Lu08M}Y?^V|&AeOT?~`d~Ye z#o+0QR0~&a<$3D6u}O=Q&2%urr-^-SS(U8iW>6rpmJYN;T$z4}bsTnsda>(;da>)} zw8Q<-U;=tAOmIE1Nl#phVRiO5JlQeqOyNv24#489IyUD-1Y&FbP<|;n`NjMuC)M$B zD)+hy^zdtX1a?;(%mssuD{E4kIe1|@Ko&ZQEq=Hwao!XFeHnFw(S5tcCDC3vKPRJ0IlOQ(n+6LVkKAv6E9t$dTg`LP1+!? zjy`Wz$JY~UM5C;Mg{CK3C0`Uxmn3&dIjdDUlHM)pO4+SfrUq@_Kw`aQU+=YyK-sWO zTo2|hgzHghL{87thtS7dq%C{Sp^9|ODj8~O2ssQdY0Qe^FJ+A;5g@XioZZnEgppO`! zd@Cr1ax|Af`B0}cSWXrtc1n1cv~ZV%AC#~dY>BXhxyy$|3l73q%LBL$VCao!8pKV$ zLE@XA;_&?n-fWB>J7}cv4GR_a8B|8>E$EXv5J^`2%GZ*7iqeF(N2Z|2G#LqhY?Bd0;Qm!2B)fMyQi8Bs)Lx#%!0HO15R0)xSmf#v z6@oUf2_Kwg)K?;V2%BFwz)38cBp7H7Qa{_Gaw>I7psQR06A>7Qogcj`H?UUk^6Om% ziX^nPlm)0q9700z7{LgO;FLUj9WfKAAA~<5nc_n-!X~{cPImKyMEW#7M-xG-=~(0n zo#^T_t-SE(GE(8sEy^j<)CPre$q1K;i6=3dPx0#_Bj{mUu^8c*f4})6G17e?g7?u{jo% zr?_)4)~9{ZaM&m{+a!bvfLUf^)0|QQLR$42LS!+f+K~3y_LY4ykKpKv>Se@ZtE1K6 zCJ*kDXV>?FJnS0gbcyK^Pp+-^UhdGS&LhZ%5ZK$#)^Ts3s}=Jy&dFk)Q!?8+96YWF zcAPJ&Y=udqN+LK=Yf}Zs0SyZ)d|a$jykx|V%Ym6$IHZ^K-$Z9w!+6{p#^cE}-$2zb z4!dng=^^Gg%O;@e4}w;!?ES%)O>4~NNDX_@x8o+q)A9j9@FKEBSr3tn-md`&506t5 z?1l6&jKj^)%Q(D^Cyq-~`7leJoJJZBJDX|h+%w#!dIZcS4x>v%Bjmz8k3%k>P%TCd zK$6L9iRa~s?MIvqcn2#>95OcAu@SqP2E3_W68!3l1APDrU6B1 z*P<>M30?eL13DiV;_XfxlGP??4p3?!6;e`xBzm+k5(oiVjyRiADMd?hoamxuBviE8 z97x*#C<-s4<69Q>HaP)}RH&HoqGczOKvAnsJ#t7@8abrcSQr&Obck2YXlo#GB+rl& zG$qg_{+MW~&N2@h1`_XhWHSe!kO1Boft@56KXgg$ zGgIsxVZ1~Q1!W7q&0PerAX*a0AIxh+ttVWqF7|(De*B*q_{jvjpOUZy~$3;HJ^C2q;_TrmTW)i z-&NaB;pc7OF3RF}Ges5`@%i0s^dRn6Emr|16qpGNFkv{}*eJyD7blKQV^x*mhAD=P zS+z7{c$yI=_-q4hj`5yvylag2MR?0MFqn2~G4p)x<`nk1UVD=14-qA(*1@owYO$9B zLx4+dl>zlZcR%XFLKzk_KkHO`!W&rsdZV7}jrT^parFW=6zK+fAF-q}T?S9mIJ?Ae zMkZHDwR|+FWd;$r);Hz@d3y$HS@6ZwVhcCcpi<0yS#5lTStF462vGEe^#V0SLj{Yz zAg`|XJSqJXDg6`nmFmT895k7lvY4?48GJv3cd?&_tT;A}#;D$;AW(Gi9VOaZk;d!r zcOwhLHofHr+uONZVDhoS26UWjeMEQ?3lOdjQt@D^z>tC5*e3A!%LXcrYi<=(SeiXi zVXZ1uUa^4^@S@-;$1nrfn!v#+wgHY6&{wia=kQ*fd=;ENscuXNu|>v&5L;v^o7f^a za*H?*32iV#8x$ftQZ=A_=m6}g$W9nqrZT{0Xq5_cuf~cL*lai!C79TsWd#b{;6)pb zQO6sogX2n0MvZO(r-BS)VthxSKy70cX8832HIY2?PeyLWNnaW;;KC{jYXMmyx9io9K2!A zVKokq0G>i-s!b}V1Or33f{pDGMQF?kFgukcgimyY9mMs7RFlNMKw?cEPTg{vfe$Ka zrY6=55uV#cI;helWE5v(QWOz344*_;NkT73C>aDa=TB8sqRYhVvbCq%OzbXDEl?&1 z-0M}N`X670V19W0NzNaNYq_QMIY;1(4Uq4t;Eg#=Y7-gVX zi#<3$7*ls)rm55j38z`UCXSTYuAm(i#oHTkv(jD|74j*YoLc`De0FR#QeaebEh8X} zWTtVS*ec78*e(l@M+&giKn*4V?*LU2+tE%R&Y~boyl=>-yR8h3#M1yE;C%qJ5+ydY>0)EnlEr8EYb zaGIZoFGZ)>=c`nW0)xYVkf~hMDoe9;EF($zRTar3FRUBiYABl?waZc!MfWkan+y!i z^pPs*5ksN%SrUlb+w^ai1nu{U=fQK9Tpc*zo#eUyvCi@luRpNVQ+ofrqYvNtz`LGb zeLMfeOJ}{lz*F{%@(b^uFn7Es?{8C|+c#wZ>J~J073(1WI4UnJ@Up&Qbv64HxOpvvoaAkDylamH^73*x z1}13(%wQ!F)Nd7cAlb`S^XfK0@Mg9)bR+e8-CmO?X}%^Q{VKUyxLrf1_?tHBvQ}2V zLK~#o#hW6}MFM}rNj1g8J9$^2##6rhemMV?g2Zy!y-AwK{0+BUlb+H$-fYK9Mfqzy zW=|)vRmmR-Wv!Dm42+$HlH4^(%Tf`C!_^PW;#{LS&(a*4>%@r@SG#h_Lq0ydczF0j zNB(6$zCZ$Hi-uk6`Up(!J+k7D*D%>}f>AC- z!o4r^WD)L`QYi``d`#8rWd-yqi5bDbC^My$<&^WWjgLw*eKBK8&DeZ1Fx#k6cKcaS z4dGVu(ZL5>8ChdOuQmf=CU4=sxVqzm(H-o@%O=D@CLQMk-P0q7`8a|{)IqH1VECB) zqzLZ%g6PDVPxAv-q98Nh-J}TyjgfaR`3N# zl8qYsZBh!3*DV39%hS(5izrtAoa4k|u|>_M@4_D!hdw`Asilhw(T9VVcGWx~fuA_UkMwSRn! zefgM=ciBJsDZ-yK%15LM@H7>jJT)!miv5CK02x_!``h0qe7Hf(|l4!)#NOno=nsh_oIrGb0V4fd2HtLpR` z5F!mgAS1zrLj1SPXruwr#A&KHo={?jI&K3!$n(gF`Q!}|u+;M%>Eekq6$EeOqn;1; zAhFbF7pZ9;cvYN?Q|ScQ!@AYJJ)-fgd^{o_>+w?bj0U`5zeEoVPS>#DD{jbzVeR_$1MmrBBf%ukO6md@E!v+3KhcDIxSF<#e*77AJzf5 zrxB#d)ZoL4%X6JPua)Npd2Zq}T7Ux?fC0sv>Xr+qx|;xLPGrdjcif3>ab?3m@n?br zG5NS0FZqB$Ztukj%)4`WW=Sz5zGh@ZK7q$Q5Deq9MLWPlM&b^8;tuHoFG%DS5P_8- zC@H4yh>-6c^6;fSPkX9=etcSzj3F&wHh9cz1vCJ+IHmxpWZ5}E`rT##=Py_*hL11o z4M`jDi3)~^$LV|^4L@Si&^}(riPLxLGZ49K6OzC?H#xfCNjiHl1hDSF41DpE6^<5; zZ6Sx`XcATqf(e+Ii4pVQDoLj&NMF2{!MtD|f=&i;o(koGgh6~9#25a@sF>7#2;V7L zVR*_6zjpGTOpl=L0NM_=1Z-y95XyaUu{KeWgur7)NL67LwL_$h=Zn~%*SSF#K8%0D zOk0qOd4H42+~h_F5o42KE0|F*6#X2q2IS%fhTc^O4@zmw!6hCF#F&D)Pffs&VQ0zJ zB}59eda>k%sqEv0keUaIo!1p2?8JR`@WWYA?8AWSV%1@|DDiX~$cLgVh;7H$5*n_d zYGO<90(%2p1}(Bcop^}wVn9zRZqIPyJ7cmf^$q(7mrWDiXq(f?E<_d}m?tAGNJy~9 z!k=27!hB|iA}%Y0dwHaRI5A*`!pE%8ad01Mz*)FX5<=Y>i0?y`x5X<;OGYvi42P8k z#I%(=qcT54nvw^)R3EX75XL-a=s2&b;}8%%C>Lpg1qg`?C|#~7T`m#cD1jQbNu*Lm{}wc{y7X9)OJ~g}ouq zx4=`J9gVDm$zB|kUL03d9*2ZLX63v--$=y^U)4b;L=Iyuh~A(dADa^mFYgqFGEVqM z9Ro_8IB5%yU6B@O^zl<|kzjmWWJ|`}mzwG$EZQci`Nay9i6&%0sYAKarC0+{FE-rk z05p=Yla3a@jus5&3Kb2fGNQg`*SS~~j*$>(ATuNGCIh7v+!>ewfIJLQ`2wo1u;INA zZ-V8C$^)Ma(@EJr# zCLWm?$TucH&>m9&E@F0gITa*lkR2EVH7{by@p*H|0Hh>V)wXa2uHrMBIAb<~ZAlpvvhXyr5K7Ql~0^{~o$d|CTPq<&$NM>Fq z?KI5nPTaVJ&owbA&^Y5%jv3tP2U>>5=k$AEhdML-dUPqShD1S0BEf2d;{&EPcqki0 zP$7|KBw;LYs$w0-koW#UBbn~KVW!Bw1OQ+C6Ard<93?&I9ae32^q6*CselbS3V zwi3IN}%M-ay9IeKs(~bfTv&)rL3@2Uk=8Y#G;nKI)n^D1_~yFG|RohPaaf=85R59 z!Y9ILFs^9h8Jwm#5aWmsYyD0RgY6m%jEAGp&ylq_j4IL=In^&HR6y7@CVY{pkgWI_ zezJ}r*)DD9nKIH(rcrSAn;Uvd8|}|BVbgAGFrd>?$NG8fTFUNmPeWhnXZt-CPA@k$ z7^U^hne5ND@OrzA!K|;hymS1r&rW*war=Ua-TU1PGyOSM-F@A)V3yEVKBfneR7EY$ z4+XeNH*MgHw88$2jGlw7SjOeTJtjSdT(QSce`aP8XB%M}`#`JwqKskwtgIp&tW*t1 zz3;??DRPbQyWK@xwhOV+FXTwV6=j|Ug;~T+V1ev8V0PG|tTKOgb`cMA2y}0QlnP(u z9`E;hi*W2*Ve~#Q={QB6iT<3NA|BC|diolSo_Ix2HN55xw|W|~XN*D-e~tngzgkQr z9F~M~9)YM@_F;!p}6LJ?efIoaC30$BaaE5yYFO6zpar z1sBUmPM(p2X&oUSVARwqQKE8EL;V?GCSMS0RF7d<$Tb|!8VnxlcTi$tyl;Uf6weYU z+lpa)a_Jl>D=*AoY3YSrej3-W_dqn(gfGb)TSpD&;jD{LtxV4hU`D0?i(fzCE+m(S z-T=PgQt)Ei1Lhg71b|`Va^ZoL;!L^mQ~VHx0OSWNd>6W4it^?0(4^y+{xIeWVWA+D zg9|uRsL+KW0$3(rnT6PnLcgJWW8?MML?O#~Jrbv76`R6;k$8VJ+3X=dyBBD`fbuhZ znkO;d5QwjPbInOF=C>xjm>-*6ifDog4;G@_BLeMFZ#7E_AHzQh;6tWk{fsu@^8>81 z0;6&9;*OR9O;58v>sj^tyZ03otTUC@bB@EOoQ>dPO|4wOdh<-r>C z;0Ja}@%t+H{hdHDPn0(pzL;2(&j%8#BT1l`y+qZ8SQA$zVqlr)@bG!O6AiY}i48Q? zGpVVfT4D`)TK532rwtsE3Lq8YSC5s$8c?4jJK0t8pnW*|NsE%y!c{f4F+|MPhT2EbORVz+!7;US+!yjO`IMA1|%OCgdK-VKUT{n0~T}R zxJKRkpS317+W+$ zW*(nBgDQ+QDE4Y_x$|Jm??%@Ux3>_q;>#%pc_|?Xo5(&NRi}eqDB%Kp z_zFEm9~gcf0y!##?_oJx5DdB$jA;T}UmO9Tm}t27h>hFhF-rAhq8%Vosj+_q)dDR= zRuq2`bJcG-awm!vZ_Z`6FgU!JDdH}Mg@K^TQ(qL|+elOqq3Ht)GFx6TKVIoSV6L7j11kLt#*x7 zX|D*7u`^7dgGL!D2|#EN{g3jU7aAcYnLuifShe#N^ir6HKdeA8!=oc4A<9di zz^Cx0BY6=5Cf#^L_#(03WRM<&&9)Y5r zXbR6Ia-y&}N}^ye%t|Ut!gZ-&Jc9@%N7T0i` z`R2osF&w`tIUHM~2>9H?(L(G$dia)IP!;eX(@CfbJh17hQuW~ikJUj2#4pn$JC1y= zlkm0j+#t_Qd`1ggz^=_iIk6y0^a2f+ssdpPpD><1+>Jp#HcwawCCN*0xGjw+f+z&r z8)jU=!{k+M@)~W!76$Pi%2vtTurM&#m!OqA$_kZAz2)-UCeKQF&aogCOMIynpKpa` zn}s{Aq#6NUDbEghw#svj1+m%+g(YW;Jau z)`fMCfq}&ipk(F98nIo^C?$Yp#A?|=Xn1tcNZBmudjwxe9ZE7z9(WuY)=Ky*a^Un} zjdQ@)+v-~9wlvRLy*$*~(a_Rdv$Cz_s&)t9cqCTSrZ}`gC39!h%xq~3O>b=-bz!Kj z9bi+gEH8l;t??C{+g8^Ux~iq^^2&zx*2cQdxrlm*Q49#oJ~=fFEz4S(OIU!WBOE5v@>kQmn;m0>PsqT@HMi6&*|-*&C93OFIj@$6h?DLej#vWT}PdT zFhhwITZg<2@~0eSq^R5zto3H=<<$` zMToM}e`_!*Tdr!J(^6MY-Yi2iW;(Q~Da{b>E19*rwGAo&)6cBc9ie6h+M!QcE?q*A zxFFQtii8jgfl8=yXqEp`8PW-iYSqlT`s|O8`VomloC@c?92d+9`dN# zZ^uX#Bu%SuXlL6ishm+#S=S1gD_M9&qY90zSgJx5C9tM5@xLrohep;q5L zP9pa)OrY0SX>~88E-Tlx3mw{m-bXkohb6O`I~qDV=eMLzGAOGli2^cwSw#j)V`CEQD-d9zZQ>mx z1o$$NrC^**#gi@!=_CWj{7_p{U2~{8ImeC>5&p7H0X2*0>fia{ z#<%Z$0zW(L(6Wy_exp5l?6&P@6f0dWhh1F$x=ufR^64oFYt~F&1AGg@+0Y!cMg5Hp zmxm@VZ)xtRYiMqtJZ#EvTV`-!M_pS-`y7I(Al3{9;M7xWfCFYV*9#QhNstQk!m8IX zHKi3(r=(<7q-0i1N$J9rDU+w9MS^(^j{(0lG=lITY9&s>Y6n*2a)_1{}E!&Gn(x zOTOK~IezVuSgs$H3`_1RWPfnrbI=+#MZUM%cvH&?LPZ*Saw zwEIzvIXC)R-yzkdoFT zUtnfSr?+-K@y^Bvid9b}wV-U$(JkwaZt5OYioiW@Z~QUBM(qmiNcSyAo_PGN z#~%j+TGE}XQjgyB^LK7~q?e4hw_kJQ@#_j~7#@XDHGhaLvER`x;Um|7|E*shdq-m#&Uhuf)sGiSJTZ#YuBeFC<&L5h86v2G_e+K?vjl9*iJi_?-u>D=I zuyUbmbje+peE9gx@4f0Ab<=O3Ig@3~nzVRU?P6oz`Fd!XI5*8W9i1iBE%l+sk{NJw zE^b+N*CuD$Fz zG}-(+%y6+8OMU;h4NlXRph1<5jbvi2seL(G7b>Z5Y*Z*GhM^GuDGv<)pPNU2Z^lcZ z_fFkVdG-~fCs!Z;^*{FP*!8=0k!`=*@lN@U*&lx6=?fD^$))_cXzz(v_C#_;=nK0=GL~X`}SWu zF4^7o&<_So{^vu#50BTM8+KRLYqxAXz2Vm#AKdcPZ_fYVM^81}^46Qf=9MST+x^~- z1M9DO_SUERg|^&x)vs>LJ#Ce9(1tTx;oB(cy`!b z-W$)`aMyvBXvP~0mcNkI+U)bL7%`&Yv(djfH|~A(jMJY#eR28FAtmpg`OL+iHI1tN z!_PL|nx9v`@b}AqdQDBcH?;lXt16!GUUuct2i`re@-%;GD) z9v|=fXy^VX#ALd*&`;6_gZ#leU*MsAh zU;O;upXCN8zWBZAZ=Qe8!MW{kF28Et3tPT%`_6}7{jjBEV%({qUmYr~duK?(5%qGWz>JH_pGKf9JCg|LyiqcaL1y z_U2z#U-9ggy3_ykUsKO`!Tt1}q0jA1>@WKB8!x@O_P2jpy}$V{SI=Af@#8H6+wNKM ze%75g@B7K#wadK^TSJeOZnos`R z?`y3W-a5YMG~YLuU$p-x!%kT<*)eqWcVE%Y{rZpp`-}_bOmM!v^_hJ?`qMAI_nT?Y zmG8LyZ-4!-PwV>M_QnI3+;PjelWOn3aZKsQ>mPcv@c;a=Bzox!OZSX8_1?UNb6XDl z?(A8=|NQ%-GfrIA*3|fo1=kMw=?zc3zU%71p~cfr_FsI^`&3!?wwJ#BpPD; z^5D9Lo6gVu!ByW0J@!HN-sWe!2ED)b_@vjWi#z|aWa|ICIC1vDA7wsu$*oVk=svJ! z!kHs}xNP9-t)&+`7Hycg$oIE{$4B=s%h_{c#pz>L1o~gJ^1J6h^8LH6`?NliB z%=`Q9!r42{^E|)n!xcxfFPnVV3tjOCRy;BCla2pu`>?s(#h zx8UT)sUz2~%)I6DC#V18-b1mIJBNNJfAC9hd?QcuiY{Rp#3wHCh(mb75{^28`hmKE zdVxBD`hdECdVo5B@=w{P+*9T$@04}QIc1#kP1&YgQ>H1;lx4~>Wtj3y*`?f4W+|_f zRmv%4l=4a0q+C)aDUXyz${}Tt@<-XD+)?HzZosA|UKaiMR1eSYLy?Txqo;JWU|9=`XE z1ON5ho)7-?=4*LbCq5Z*%8-ItQ_n7~yLjQ8wO6*R+XHlR&F*Zwy#6QEHG}t^J!So?ue`SI(#?n4qgzgldEn8%7ykOk zqc18raO;Zg)vtWJVPsRk8S9>LwYR)^)xHUZmu-*Vdd_V(yt?83qk3S}-$s76acJ2o zPuI`ccl(msA1`=lVaw$^Z#?zMKTTUS_^R?Bym{jL+y6Lq_z!NFm{>Th=$pIm*%=@8 z*=EPcpN!fYdF`x6eU4LStyp*OOYi;jwa0J1vSy6`{lmZcCFd3LGkKYOOdclxl6T3s z3cn14^Y-utIoE3yXusrNZ5BI`2RcJ{wYL>wrU zS0$;Nd_pL*8C=pLV5bRI4RY&{+76E4rAQ6PZ8nN|(AAAX9cWz#pm+*uP)+Wjnu_Uk(#vR(@5IbHvb&|9hiE``Er*Y5{<DY!8@}H;kx`Y^(}SbmectbT`{~L!@sATH zPMnC0Eh8h3-}(|KXO5ry)Qc|;FB?DS{PF1Wi^ng#c>Kr{o;?1{@VxVv_w*E&#iCC<%5jeC zN;$u{!n@O^_FZS`c(H4x<1EfNj%U!B1E9yDH{m+YBBfoUw*aEQ{>>5&E`KTK>}!No z{@ZTs6^Oqoa!(Kfxz86v%>6q%<8*^Peoe+Xd2ZNa`Nth6mk7_{e|*Bf{Ic_}ybS-9 zBXPbYud&{ijVNa?j~dar0IHkhT{1d~oA}#=_RFL5FA8B4T^)2*Sxa~0J3J9h$+N_+ z{E2R^lW|u5xyu>cm~y%l{nsy}?sUa*3YGP4P{nmqP4zl`D^t$?h(oTQx;*PRBL&x6 zzSygkgPQPZEKjdtT?CXW<;oS~-IXOj8{hvaPq}Anf-PJQ!{!Pyv(9?e+wuD&Bwtd# zaUn@el#IASuQPFJo}_M&OFcc=UoGw`2_3FL!rcK?tWZJYRpPcaRxfg`&QuF@F6^$e zFnSt0sqn?(f=^=L6t%OVyyoG zUTsBeOkwt><*NEq76(XlmFejxm=p1yQ zmQhB>kl(>p8A<$qmfwl8QK#73HF0SVS-3$iwk(C7QqS7%}LrsbN{d7F3ny&XC$!@N3w zqC;ol+dG}5E~cGp(2*9vZ_scQ3M1X6p6W%p(N)Xc{6u+k&&|1!En{P6o%>KR@7{Fb z@?JN8^Vp)CK<7L(bZ++Shl;tOE#1{1H@e1;V+_HpU?0q*EndKp&E4J%c1UN#4U*lB zTqZ^C>YF^RwA>!(;+&k^x+>{7JVjsL*1aX=-4)vXstI2>^=U07?MRS{pzK08%!965HJA0f2hZ zZ5&U6P4O70@qQ9paej#1(X2jvw#u+{T5IHpd`Qr#!ap1 zs*tomZhx~ZATkK8+QuYO zk+uO#%J_-&2T4DC64C1GN`>lv1|V%JtLLduH{hQ38Wk?#lVSAAn+q_Ais8xlSAW(- zs@!eBRQMFobS;&xdMUln7hx31XF5EE5VsPg>c!{;s&(U3{8yWdrozn{sP?%U{pj)h z#ul)G*C2CVb1SqLxZE={r$J8C%ab#wL+tXfQK50BV6zeuFpQ}N+*Q@)Q}KG!dfnww zCWXeiT*C9XxB)$N)!XHrFYpBdKaGnwE$LJ~qs``o8*ndq;nRU8@o=ZKJs2_em^SWq z!<-6!OMu}WTNwO7J;G}O)c!Pj&H}N&+Sv_gB)o8&a<1bVps*CW6vFO-XM+}P;3{R2 zNHHTB@q)9sbi2~n#3dCl8mJ~X+(6U8W?qlxv@acpl2xykr-3t>&IPDdsQ3EmoB?P( zEs?iG3sFOa&kzGrjw$DPoqPSa=oh5)NSpX<~o<7`JCS_MB<_o6eXfC!beP2Dpcr9r|=5KvyV zFXr2GA(#|l5j&^mw{FanP^52V#%ZF5&%aGl%U>)y%KnZ{)7El6U z)B;M_{+;rY`n(DkJ^jY-vs7F!)%>38q&>I!eQ~Dsy36|mVU1^#kDwqHqn)o-G=9dx z%nn_Q-}rMJ{|6E=)BKS*>E@5cnR$+w;D?Ydjng9{?71Kz_fo<0rX@h@t~V{Q#>Ru^ zOTe_m)zO7UHGJN*$S-CC#)90DW?cAo+789`-3Zsh<7$sFxHY|XvmrN2W1kAn zrM_($JgvN?*qbVi1TTQKm+``N>Z&%`Sdkb@Jw}*~7rc<@-8mKREnkw0E~Wlvg6lz} z%UfjlBIPpe2_2*}Aolx9Y`>q9KMeOXaa51yPawr`e-*>sK-};~E*MS%ylIJ`NhqU1 z+p_7>{l?#7*}sqo>EUDqG#?1w@K&bjNU-eG+qI4H5nF7f>%mt z)NZ=_U1@E-%c)o+_sGTE=P5^AT2J4dsP|5``BSBU+K4{I$zEsIfW+`B0c~)#vMn`H z&riB(%OU1-!`mf6WQ|}i#(NHJs~^w^R%tEnAgr)+Y%=;edb;7O@kSY!+H@q;Sa)5exWmliMwV3dMvN4cyM4B9pGKW3TVEh z{9I=lG2%RWlWM|Jz@0^TCvz9RmPmW#=boR-f4AkQ+c5G=0k`j5HWh1o2!<9hNN((3fKv!jyQ37DK z1(ZmnwMGJ9I3RWp6qj{2(S^)NFzaj@%4$=LDie{`3bW){iG1#dw; z#VEuMd&;%3JGCITXYf`c)?0FJz`7>ky%HvRQ6IF-)3!9yb4p{88{K89!+gctwvF2B zKc#lGF}2qmOzoxEU(LNx+s6&wMmEB?b7{(L<3{u@mzaA=%;=fBsKy-RJ?fK6Ojc!% zpYAeq{B$js)@s8v+|=^uj|hqW!bNLU@&$JC@umR=G6NTvbj=(svd4z1~S{Cx3QEb zW^owg`@yjEBa68d+~{25ds0`t-~qUcZge?FHb8$J@X(K$HcE+`Xj+7@YhF$2uC$F* zyR@5WvPvnf%46{K8y?EXJd2YyC6$U^B)JgNmN$p*R3k0E@f$P;@_1(xLhqg^M=yrw z?uo(F-4jF6JCz>x?w%NlekgSCF3GB}R(|E~Ra|859{1nT>!%65R;5M9z1M4=xby0D z4s}B^m(tvtS&nA*3+~8VLt&u7=tfm!2w}s!8A$F8S$P%Pn^q<>xaBC%(I+>~uW{+h zoTu@-mEXtsP5q3EO(=S~$}Vd<_syG5VTzk^{s>>%Lxk)06yeYFN2qR{SD*bdQUG)F zU8vUP%m(AO+665>Nk#lqar`%Nz>n5g9gz&yhq1*iTjt``q@-^0dIy>LHJo=47`o zof_Gz{L3}lQ({_1MA+?tlUKxvsjUSIIe|srv zVJb0Am{07_68+(PIxS4eII$qzqO^)hjrJnyd-o947n>hv^&D*t9b!|p##lPhks_RsVw)J&L5WPo z?w(joaW2`dI7RNUR_>C2Np7o17VlOh#;*UqTvJ~2%S}69?TY*J06uR$6Ai~$%yjMR z+-Vul8c#7g9!nIaUPl~vT86vPQveK$R`lTg6lP)SxysOvIA%mLFc2G?r~dK4VCoc6 zV6LrDH08w>SQ7nMfH>vXsGZt5T=y7RFoMW}kvyCfRNXq3{}(c^4amfZ6}324a)|{- zld@Z5uJ)Ks%x}svXUbB>Yy!?#G_Clo>gt#;rEBwPGyK+)rr+d-Psf8qA#IzsE{C)Nj-d=0wZqlb>&#>2H#d%`wvFinmRL}xwCWhMhb6N@gzdkZurIbFX8wsV z*OYb2VMcFsH_wvDz&^SETQVTFZ|m=}9#BL7OaCv?|G920?}i_t>`N=>Q`ORAXzuH$qhe>Wb+Kqi9XN{*pa3|Fx!HbQP(ZU+)CH@m{wk` z-z;co9iaxE>zXELK83ZS|8LaIT3pZn7j7DteO>Z!Y<4TRK98DC7l)@*>JHDG5qs6u zHiZV&%#rnpb@Vq3S7>}3Tco5pDKwZP6(+p!zr-nppAx4Wei|qIj9fm;CHN_J<=K}? zNEx3#d#Sf%4^xJ?xg1v`Kx@(9mZs4ie7J5 z@FnC14{=EaU*_rtUlBmaorP@8^MbEJK3q|qU7iw+2eMrd-Q9Te%wrJC8$5O?%t~t1 zJ6E2w$7OLfcp>;2S1%Zc@DG)Tda?sBQ3?ox>|p1o;V%tP}mr6>@M{foqZ`N zo}G2gm(%aWIi2|~L>v!$?sdErPruFc3GEAb!o1K4zK5*9qi>KplXk8^-u~!8$a@H3 zQqo$wEv>-HUOe6?TB5tU*vpl5B`iABnxK}>6|1>ic}sV$wBoy7Da*32St~Q*zArgh za&4jwr6K%vcG4ilb15EZOOK6PDa`i(dQa)?mVAcH2Z%- zq2LE--}oVyo}CLOd(*oHD3K9AJy*xeFLxH$_HHXWVhCR!F>#-a$CYicbua!1dGx5k zk8umt6>ji%YIbScs)_OYv+Ug{H)w6OZ7u{qgJP4u8~j|LUq}RLE9IV~O?7CeTj}h6 z&ucoZdwvXl9_;$GC$+)dT9aQQ+O#HpD|4d1L&M>_u|_5S8ov@1Sf!Gk;lXdj^II-x zCy(CcnRmva3QJo-JGU?u{vNcJP06mrLWMT0zrv&k}=8ZjY!N{spHFvkF|A3jd0~bUSal1U*!OV#>aslD#|lo5YC4?VH+xsgfIu zeG}5a-UWF|*JW8pQ#-o4I#|17)_)j*+@@W1G^XP15`=vAt;{>ubUCtCO@7JUj*?BS zeB%J*L@9N5NP|?EP!kj)-kP~2w+5`Y4Qb!*kH51-`DTsNtH zHZ)%nqC%mzESJ;UesIfRm;xvnClZcQ$YZ!dPjzXoRMtStYJ7UP#XR}Gbg3^h^#QWs zr~SKF1BPwBta=$bntOb=zmKwB}Gq6F>7G#&IdNkMqu3L(7luEc(cHggsOf_UeTJ1ZV0VqveOGD<1|%bcED z8E!1Wtqcccadg~s6a}%GvIs_i%=VonVL$Nn34jYMpaj6v zETDvqs`^XYE&3;>II`o2LF#361@X=!8f@O!pk2*6wB$0zWgn%oCAf+^7TAWXdk6K` zG7=vu;xR#HE|hVDaV$IO=KQpM^K51x5bp4} z6`rVPCmTzFt`7E9*1VtDJ60{@w6ldgA3&Z5=eJO$|{3 z;29QB0^lMGC;{+H3n&3_u?3U>2rZxlz$F$?0^m{$C~+^(`9(ulHx4vKt|1!}7@;YV z+<>k^H-7CWuGDEIY_(hO4mKOg_d038PU-N{tDPim5eW;A##RD=3TXf(04}$H5&#TT z4Tll{&$56L04xm{4kZAtvVal*G~9+m34mz}C^6h%O`&jg?8p{1;cMr4yX97b=uHbK z0Wf0$B>fD!=LTR;hb7g<0FfEz5J1i+0JP(lnU3dQqJ!f&$SN&vjr0!je9 z!~#kH+-w0Q0A6YVB@)(onGH|^&RZ;?M1u2H8=wT7w^=|5fR|f934m8vKnZ|XT0n_} z@Y`*G5{ZCU*#IRFafbzz0C=?plmNKX0!jefWdS7sUSk0z5~;n`1}KpTxZ4IOfe7wg zbCW0m@Old<0dS86l(^e%e2se7l=yDrCqhb0x4~92uPH3;0>9VBR02_Nuz(T(|6u_o z0N!W;B>>)J0VTc=r!E5B1}`WUnj$JDMM$iOaJLnCGd^vAlt`H4EjB<2l6$KKlmK{} z1(X1Iy9Ja0c!vd)0JzTrN&wt%0VU+d5TdQ#f7);*66!r*1C&70J1w9Dz`HD<1i-s3 zpaj5!7El7T-%Pmb2*sjwLTOK8d^lb|$0kG2oN+fFi zcWi(XaDLYUN&tM%0!jdU-vUYi{Er2c0Qi9glmPgl1(X2zkp+|h_^}0)0QiXolmPgt z1(X2znFW*p__+m?0QiLklmPgp1(X2zl?9Xl__YO;0QijslmPgx1(X2zoduKt_`L;` z0QiFilmPgn1(X2zlLeFj__GC+0C>a#N&x)D0!je<)dETY{LKPN0Q}toN&x)B0!jev zvVal*k6J(p09FZ1^R5H{%N_<$0)TZ611JH&I)?$20ANkQ07@ikBWnyMKnXZmS}=eT z2~L(9On?$_vfy9-4tFn|&OEEX6*2>_N844?!6D+>ltB9R)a4JJSdIGM8ZI+xUo}BE)TcQ%H&4ZjzYR8zD+0 zG-Rr80+cw`ZB#|1c-oO!1TZ{Gpc1P922cWE%mPXPFq<_TN&qmKHGmQTOl1wA1OT&I z11JH&gwy~^05CZ-fD(yJFjX@FN+bf9vY7xS5W%#^07?KbjxvA}0GQMON&sLG11JGd zvw#u+bqgo~u-pPl0IaZp5&$bLpaj4w3n&4w+5$=dtg(O+00&q=2>{kIjHXHethIm= z00&t>34kdJC;_m}0!k!Ix!wjS0p|t_C;_n10!jcJYyl+z4zYj|0Eb#Y34l!&Py*mE z3n-D$=WrXK1e`}$KnZ{&EuaLzQ5H}F;Ajgd0q{5rC~*O!RgvzFzvkL5rzvvVH^t*E zs}jUL#sW$J9BTn35~@GJ1}FjNaTZVl;CKrtk%;<48=wT7Cs;rUfD0^mvuC;@Pl1(X1|+5$=dOj|&S zL>9K&043mTT0jYa84D-@@N5exVQ2mlKc4wZ%y_~rEbWG&MhB`BZY2;^w}27=%PpV; zzzPc}0kF~nN&u{~fD*dq?K?abVm-I)%9Hgx3*cU`TG%GbtUoH%!B^UiuVncyZmc2V zL@GQ$oOF1gIBvLBq+Q{TGh1|;lACz8BWkzvOVen29VO891r|^O;5rK^0q{Z#C~O!TS!C_y>9&Q?n4KF^`aE^l$r>B)m(y3hg-+8zRBf7A4>DH&Ia?kNSr@+=H-OUyn;(9IGW(# ziy~*{l>o!`xdUeu>T`!1)g6ppr7myAi5oEU^MWF4Yd0`|>*|nl`(sJ@#NJAI)niHd z#@elL_*HOdyD#I(_XP-4?)g-~Lb=oq0SZ_yT^M8D`NsImIkc?|{{ z1>KrD`)cqR5gZ%`RxcX*c<9NB*$2^w4t460J{w_cLUd6#4-20NM`g8gyTJ+KS!+D0 z;6(AQk9}!*@*&Sn%+@Qa>YXH}ccBshcUeFQfY(?+34qsHKnZ}mEue%IZa3P^-Ydbf zUt*GaxES3dsbhs`2F-ab^ajbm5Ng$raHHE>o9mAUo4_B4B^v^e%q zE7|js;z+k2bBpa3We>MQjd$MDnNsj0xsmBIu$dgJyB3?xybdddPr^(yV$bMkGNg5& zhb^D2I-s>kD*%towF>bnyH+319hU=|qLU@w&(dlZS!y@@p&xClSU4>&|TaYD>4L9R%AH3RuMK1g+q!gj$Wh45|9x^Mx*yDGRARO z;Sz<$3eir36~V>~)*b!9U_7V|_c7RlsC$9vFt!kEUxO`*mIJXtHy^ZT{}+0_silIoPx|b}vZR^4VO#WTjBeLOez4@aw6=<;}C=?A$jz z1t>UG@Oum{&d#E#^P9mRt{ip%wKD#Dn1Pl22Jx?=q#^Z>4KMxDzp`)g9p1Jw8_$@7Hd znX|NflGJ>~COr!onfhwio0br5FE}lVDOaJM?k`q{a_I)st-?ge9IH^A2$@-NvLBaB zdDBNQsM}x$RR}NOf^L(d8}pJvKwnx7mT~D>kS?uE<*TdmGk>xN)NnKc$NA)h`ROoE z%t}Zw0XOf>PPSs^LncxMjuSn+HyvCgB>SGiXNq`HuvU$IM#VmleO#)hR<^-Ez;4FUAvCGl-#?rgTyte-Cid&d#LS;Nwa&M-mJroC*bklAMwYGB{cJ+P zvDmjK8}1yQoUfWQ(M>TfpAH z&(?qGKVAdAPU-^lLyr5-D1Ni%$k@rY}AcTooA}VVISa)+^GkQfU$rtdJDDI(hnp=W6AV5ILT=I(A+_g^eqN4B?zE z?Y9P<>t18)_3NE`j_K0(MI7h&uIs*P>2GwMc7Ut6wBfIyzHhMi?POy+>6i`alX_S$ zhaJ40!U~(=%sIeE4!$G687*_;rX)8-(2 z4s4U&OuAD-NhCa1B}j;z`B|OGbn=vi=XuH_Apyf#lS)rMd_HhrdWxBt)8GX+Pudb% zZCbcOb0N&0pV{Rt6#>@*$yvSC8Lw0PpoFrR!QCh!a)57jL=Is!iS&6nJ(b5~AZPac zYG!iAgfaalF{h#Z%(SE({+bGDqut*MrXf?Uv(;02IsZ{IkjwhH@VCM(<4*6w z`uex*dh}7#@3kf5_bfnKdz0C0KtpQ}iA^(%oXCb<;^cH6cbJ0Keo9(wx_svpepm5h zs?zF@nCm*{;@^d9`!A}r^Fw|Nc$`gmEH3T)&%igf>pROd1zWMRo#j0w<;|)Mx~m7`s&1#c$b$vPseH!G`z1Pl_YOM*jN5w!VesCXP2)^=C(o$xyi7AEA;DqjFw@h?GbTI?9k8c_1czHavDJc3*70_hBt)|`Hu&!t zYd0IbXw0q|A}C}Ec* z2zZ+fPy*oX7EmI=`3@VP1f2I-K#2tB{Wd@eIRDcEN+dWLnH$BGfb*ReP$I$kE*qc( zobR@P5&#ccKnZ~NSU?GY_gX-Sgz)#-043mjzXg;4_<#kJ0QjH7ZUH3#K4AeRu85^bXiN&;7Whfat_1P_%K}OOe98h!*aFb?;Kz|?8YJGk3vQ#r zHW(c7cdjhbzaw@(Q;_MS~3STj@vA$ zn`)M0S^Y+q36>GQ$P(WiS;%Y2+E?Sa&1LGQniJ{{G?%Ko-2}^9Fd|EQ30acYO$k{C zXdJhBpt>AzscyP?kh%lSHR^6RY{Ah+ruY&v83{PFW-a|jHICaHi)Ab^G7KD`f#@YZ zBSYSHeWe&q*5*Y&TD_Jm#;;ly`>V^>hty3stLhFk_fvPfVGAB_WQ%W(ew0#6=CH2td%I%^a?yJOouG_c+xA|GEfv<+-!O3UDlWu-mYT0Tw1LB5v z3b*y#mGrzO>3MC^bGLYSZXg0uAx&?g@=|smin!O~;gbSip`UBe4s)`CNrri3p>jwZ zC7lVGcFGrXjEHpjAL4CEe53fVv8(})<5J^zr!k$8Cu6754SM05;0S5e_5C{9a48pa zE*dq8bInvUlA$$cv0m~W(ta0^(V*Eb@YIAxTHn;8Z7y&cq|uW07&`^D!g2bp^DNRI z5t-3~Ma;vF#qhzC>5t_tJw^w?Hu{-b$&HrpIh1E%G~e;dN|}(ByHMlZ9KqD1qa-V; z+l>ylqU2>psc+n)4z-&1Oiv(XUUl6n97Dvf_ju98)>BKDi&eK&%+@($eneADO_nOb zNknSBzxzaFQGZFFj-sGS@bpM^;z)Y>ibAc|_>C{5w_xQ-IRZKgOV^1d+;z9i>tW`- zqgiBAyW{tcChFajyD%c>2^`v^8kQThqpzYS8q~R{q)>6);b0}vu zj9R$9v;#}L7_T$Q5cmc&D4UhN&s;y~nBn>KFD-CKlQQRg< z;HH|NS2x}Kg1VXJ7u6+=9ZC!|zohPV6E9$yNYW5rXBt##N#h{`nqSr^Zu2YZrkY<> zH{JZ2x|!yGt4kVRS7M;~4RyDhc)^J#4eZY4p)y*`ws5{Vnin`kkd+=l(|EQa4{y^Py^M~s4odR{S&5xBBX#Paq?IvDuvPndIon=hHw9@#g zMsb@zQ#aN8xw`4*FVxL6f2l5M{7Q*|=C9S=ZsG+`F=>deorc(mf@!7k8;!zo?&_wR zzf(8e{JpxF<{#7@X#P>%?S?&|&5$Z8zJ&dy-=$w$YGm&qQ*4-=t z*T6J~@v+*0ixum;^Dbvq^PutVATjZ@lVxNFL#zNZKw2H&FJ^#buu*g0T!PrdeIsHU1x!)!ZV*1bWop^7Vshe*jGG&z zNA=NIL9A9Y*k8=AxhvveC~aWXYf!x96@tBSXtp|1dBh)}LW zXVlAXNd~R*9SKEFlc8+7I^lBoqhZ;S4CmD|f;SHtwm4D@HW>-0wY|wW&+Bp=Dx28) zF0#%$ZG@RmW|sO2)nz`drifp$&=XR0^9wiMQO)2j-Qjbdd|yEVB--kScmoc1c&iHN z%eA~K*nHNPFZC6tUQ9kczc{q@=At^~%{O-|F}V5W>^PmgbJpOw5A~(9LuU=2^H5K2 zoHwYPvxb3qB9h;XlN(!j)*wL>;~$ow#RTzCRf4>+L(h7MC(${-IK0(Q-(iUIWKA?bMN#|E^EgnX)Yn}t`FX$FC3g4C!D}(ftNm{Hy20Y?t=?%Y z+1KOuFi6wYe!4emFTd&vKW`b!TgDE4b#-(O(Dn{WxSwzAFEv8PWppVHH?}{v=|(Zy z#E!4YQ@je{g;Z&EJ~eje%CwhyS!Hazvb=F8%FQx^(b1i$P129kXF6vigEN0pGO;nW ziJ48hRICoBc*PJhyQRG4Wn%}gNz2z3IUkBu{nbCc&8@M+C&8lN~rTV+mU z>&+zfhGv0!6IM|!c)eC0i4}iuby}E}E=oljlIp|Tj(~pQWx>6$Cu)zxTm5aRAJ0d3 z>cjBXo8?(KE)}FNs}wb)FQ?Sd=9_(wI?(NB$5u+^=*j0cKh%S7q12jgKR33~R3knr zNX1C|xuLTb6CjmHfJ|1ZVEztus32)WQ9r0Etx6%eJ~X6Kpt$6Q_bRz=ktrdxTunWv zVs}>;N~OtCW$tL#7GYWaV_y!ol5$y1-e`#CEn7;0!hfew;B8AWM7N)y}nx-E9mK6eA+gsQ4$vwdb<+mH_1*_5Km8$>Sk0^ho_j; zwS)_i!9a?$#!|s@sbRfcWBK^d#xBOgE2LltrAz3F9;D$jM>k3c9e*q2!yO^35+R>z zhv-3}m;pO<$#=?}^F{YywWjI>YjEXAsRM9LKf4H?3*ey-3l0P&(X|rT8UG+43EHdp zQxe}cyE1lJN*#Wh=HGnF#e5h~4rN;hE5?d;NDiLJ5H~&qO?NMJ1bDh$#doxR1Z#2X zOQ>y`M{2Ih*zvD;NDvVpX3$C(3U=^cYbd(I^MbiSn4K z?9wPM&-++*)ics{f@iN)*`93)*h604(qh;fUElW@NqwdzXf_vcEd2m1L5!%OzOk;&@t9#k>@H^6+ zs1Hr*>O^YdqJ69OS?gTNT0+=oF*)wbFC)kl+hF^1RH5Sm=ArCh{gVFDLfdz7knOX zH@-vgWy3?c_Eh_NQ^6*vzBEM>vj80iRR00nQTWcn#iVSO5ICPJ(g_GtO*&-xn5*oG zkSB8EPcz#?q+ShCuh7mOU5}p=db#N_>ey{DcUhCjj>MC z_TyEU+OW%4SLubTxqN#saPS2&3B&2&W{84(>Nt7i-s-pZ7gOPP394;Nh2Iwy=%cH( zGy09s7=%s3gcQqt+3FgDvlCP-748Jj#=J3Rn1hEThR=vcHj^ppI7S3_IkmS2=lYMx*(qndDi+Dz{2Kd zl+qJ2gOf$fvTQm09s;szr|^Fu*~j=4f=t$?Zg0mrnD2#|ScjTylvfRS;VJM=B=S+L zZZjZlXD)%K@JT+||9yT%*c~Ky{R`Nku$KXmwVaUyK_4ZvlTShLcrzX?a9|p&WBs^nug9_rSl0%oe!T+XDXqdW~%ai&#EiwglEiE_scDHuQ&S0xH03LP4(s0h`*OU zP#mBgo!SWK=EDutMOGvR)*R-iZ;)BJ+HYMCp`4I^FrkB6Ha<#*$CmbGdNVG~rp5`* zB=L1WlA6izjT+@G%LiJiw>7P~`R?4n^0QsCo|AdMP8f9uXmlNE>LUuK){G4D zy@lbjpO+8a7J3WOO@sz?P0)TWIETamZ)tV-9tT0p`11MpaK&;F7w~JRI&7T|mgks&9b%QY! zd^mo#Iys2%7A z(=f?^XjBIm=B2q@PK8yyT<|BVY-=d+up4X_+2n(|cMJL9fe_!#)e1|0DI^b2n$24268p`i;CYh7b*SCzsID@t<&k4_ zx|HdM6i=+lvKAVbVekkV6}XvIJ-w-VtnYX%JBf|t{)}Y`f#4^p=-U*~i ztJrxbcYbPB-Ycba@F9lz&urE{H&Hk+WxSQm;<^AdoG~c1_b^`~@3go$|_!4`J z4n_CN6EfZz%XpW%sph-Y9cVtF?sgL#FzXUo;xn>rd$_#ue2h2C)({rkr9R~7$F4xW z?oTWP*AQwBP+vClK4NQI@?MBt-ZP~wxmLnwB_v=5RyC|A%)Gyo^@t%fheU#xD)hSx*TRJ{mCH!{|bGM?}Tkij(v#a~2P5Ti20 zDpdDR_+0%6L9LS^7jJdAE4kG{-vMF21B+~-W#aohZoS(0IBJ-W6{Y6+SW$2zx`&^IXOYvmNpdz$-E-67T|m+^RfAUw z#VE2Gz80!G`E{Qhb<3=uq8q%}3Qno4@Fno~6!8kgXNlqEAY$J&X|T z6iRF}E9R&io2up9ewl1kE41)pvuoXW3rO@6co#W_gO*u1Smc*=GPyt5o9kRD_3Sys zDzFL?e?Y8p3q@7b4ddO}oEzSXS6?yBg||WKH<`?2H`L zuHOeAVc$(kIkG}=73t}FfxD%b3SW-!?&=XdY|;<49%UW9RuI83gmuV?y$YETk5IHSLjcCrn5k3 zxi_EHw7R>_CJ@B<@-czxq$=U+C#xE-BB8mN@xnVmbsutZXTjt9Sw^pHJT5FdOAatL zl5+UJ)h;ssKL@)^V;A>Cvy1Um*FAA4egyw{`v^XKHP$%EJ<$vcR;_VQEa}jo;GSqf zGgc^iW7BIg*|FyG9&hZlHC}e?489anVz;{4Q|>x>(xb3^j=KtmxgDs=+ONtw^mg!6 z>0~CZgM`$sY>eT^Q062ztLYJEv4pJjrrAZ7t_9%lq&k(UFCzr>c%`NUrJyUEzR!t>A&L2Cr)@8t$lRLxdWY==#(y< z%$5SR&-&}ZR4*CeJd0IC86q(`7rpAeS(Q>hFl(gNt7m47ru)JvnzF{Fie`i{X%e%8}<1)n=#{!%Bp;V62zWBVO=tUK0o zVBoGhBgK6&mfv!eOz=11k>Ba@Pv|LjJHs))fwyjOmu|R}ULOe?F2tQ;!#tkT4qU=c z`wiR^c-C)VbyvU*pFrf)pmLnC;a7OvvFYUnm(o9TidUl1XPSF5T{<{29?5Fy;Pcf} zYD!S*L}LIr#r(B?2zFMc%WDd$6U$nb)toR1D2Q;CD=oo8ZNY;ZdBahX6qa>PoQQbZ z@#iL5ZvM^66UMqGD)m8=P(kk|uU4r|Z&HuZOId_>9j&cRcRiyOo9)4a8HtO>WSdzK zp1B&7njOj2yWv-%JWY|flJEN25Nb%iM|mPev^+If?HW=8wrnxDCPSeuABb6pHgO+N z9!obdoD)IpX4U)+w4#-of=#hA#U@nV^l9VKoPWU3s(oj|0%^iRBoY?y(57pMCkZ!A z{C2`NTAc71iL_2Kv}AH{R#hP0ziHf16ai58*`W^iGII8$s_AecLqu~*?O9#*5Df4>D z>1&q6#;;MiOwOy6Vp)wZu?-fhUe7~FinYVzJd{@UL1{J6+9`=vCxA4al_POrd5sUH zxyLYNZB%iD+r0TONO>#?1%x9jO(rmM1(ggA4VNtx6U`dy%UF8;+S}qZq5THS9%#$>d zQN&*-ii9W9d8l;)NQF(-sL9Ls~DwfTVa>%h-_&A6B)P0 zu45~;Sul?UG~;3cy_Y&H&{^j)I$xfl4{eW5qhHAYc%zKE$~XLu8Osj2n1?yCESz{I ze7YIy$~Z;l-FuW%+FLm(hweIFGbp##45+?^NOxN>n`UmTpX9dR>x~x^bkRURs%rKt z{{KkM{lQ(BEqDzVGo%e)3pqR*+>H}Go7Lr+=a55v+EJ15>P6V#*_4UG@xX?|_jCt9 zeS?uEqx6I{8SRW@b2s;R95?qnDZtlBnv8}Dh1QbIcXpO1qelpIqtQ}4$uY|}=3N09 zlOO+Nr!4d3i|0)ycs){eO!GK&oJGgPNS*CQgnF7goq`m3R#hF$o-0WEH?Pcl|81Fea>rcEbB-xG4p#OXZ$MrlW7ZT49CbE%Y^a2wN1XQO}<^p zGbr=$9c}WyHhDj!F4*eFw8HxB<+?dF|OoSs}hI$F|u7oL#OPaK?&PM;T@=|J7^ zL5cPrE;s&`Qf9-CLEa0}m#-e^=fnNT?q#gdb+Lh(J+a~Y2#W4Sj4loXykA7fa*fW< zZo2SJA}zyP|LD#EKY#gA5|z!%*sf@7C)-d@FZK0Q4{ytH!w(?F?+!mGPEYuuIYRpu z_zOtB=ayAWI{hAh!JU2&yD->nlgPvBx3~7RsyNNq>Rb7kWQk4J0UMJHY;resMV1N> zXYhrhRIxPGG0AJJoB2FsYVLV?FroQkY9GHG%n6i8^ zHDR~%md2L}55K}?G95iAg)0v>*Ih+NKemv4&06L92K<3Iivw{MaW#v$nnhgABCci; zH<87XUy8H1EY4ynkwre?saYKGOC4G4EBj?X`wY!psc*2l7Vn^D(qsY8S4DfRhmvaz z*L)9XzWqULH0TeGtp3DE-%xdb!iO||^hvRA9Azj>Mj0Z?kUuo$ul|x>9`gN%aJ4vawK#AS#j(U+GN(9}#6_?qQ7nu7C0ZQGmSME|Y=1P- zGK`_&n6?aRDCl-!v_jNgi%p57WA2&69qY&T!&Up?s{L@) zezrL3r_j`A@+Z5YcoDS2C`-}YXw(0uz@%Qn4W2A)y{I}F>XtM&PpGmvP{-@Ea6k^~t5a3Gj)4{zM~9 zTois&0@lZsib>!k43ojPV}?l+KJ4#f9_&iPRqamt>|JsDKlXT6bl%1%cGN}LR8`Ts zn7A(u(7rE?zs))CeOZ6Qo^DF>Wn?o#SU>ZK>N)=)p*rCVFR#LG(7xsVa$-u`Q#-On_N~z2x4$AeZs}X;*Zh?i z9k7H;U(K(@DIKzDZLvjy*J;n|emxuRMCPjJh=P{)!_lU#+B)g7w_k;`>Q@sT?IFu) zt_J&7>FZ@#f0ZiUw|Z=-Z;ih?{0;)c?{euopn7oc0m1i#JkUR|w$d!ZADGnEU$Zjp zuc`LU6V$hc$loV&{k^QmAF!*$LT$Vr@2?))*IzS!8-_itym_nXRQ**by2@W=vUG^N zUS^&Jto8i0rSN}{R;M}ghnKO#&%OPmUS z3?)1GN~?=9)-VC3=vTCPspt`D`Hnn7hM3a&N``Yf0Yt2)4tf8(0}!Pwt^dBW)l2zN`rZD44G_A9YbBUIb$@~#k<4l@kbevGXYMo zzm{qy4|&}%B_<-a`CNJFkQ=Dpxp-u4_E=9WojU*&XrUncKnr0s@jWHHfRNV_F} z2gDP>h2zW^oG?Qu6a9rcaxR%E)&d<3=a{l4a@jFuwYo6M*WpE+YHNHSr^hsYK|6<-qU?{Qc({w&a|m{2!W+*aM*UGchZxm4#Hh|8KB7GF9K!JENO{!G zAzq^lb`BvN@f>1wES^J*j;-DBPSTyaTv-!yh))PAqX&O+)Sg4I<;Iyh#-QyvL`Bdw z25rwFM3*TUhajOnhj^=?S%bFc5R{rT^;<6Rw&xJ96jYXgKwEQ&^>o$Fl&A;Vo<>|U zC37L5_B7&*sk;P{6$}}^PrX`vgZiMpv}%bz*gF&`nNkeF zIuuVSWI4l5DTcv^<0(biAKraRF#^L#Jf$f6BX&wr?wC>}eAKUHbUo{DF;j|ptEg$r zO>?*Y&41G|{d_GR{nugK1XMZaD1L|WqmAwu!>u5&2}bADfiv`X*mdfhK#fd}`4&@Z zr_+pGnZWHr@3C&ciNgg~*BF{99-zpkOodX$E6>?n=}To#2=8Gr=PX1|lpZ2S#Cj@K zxK4Bocx;Xm?Y;S74?wNk>+k2> z7|7zz745*7I~8(3cA?fIOsQ~@a^-hsCi{y!-Tq4ZY-7%DJKo7Gl&*mF_cxItx&@y@ zvQnW>q)IycBgSAFFxOCCl_7Aap?H_HXUkD3WUS>U#!>^FkV@af#Gp&wPCpMz2fYXm z`$Re+y9kjld)Id&tu z97}Wq{zi$Y0o(nm0ei8k#q7*y>@LPnL+tWiXqhHvC8W*Toej&xEv?$un-+-;wo(+r z<0&EI508V)h3s))R&Jnv4bIf7*_qFFrgD8d6$xplQk*xHC$v*J7BV|0l|=B-1W#te zVYKL}F6C9u5hxjIg@+K5UXw|ewoOj*hA!VangW4iF&y=;nwLF!&J<4-*{`MJs;;gT zE4y@hB+sH`x#dM-+Z$useje?`wl_(JmLMs(N^HyCEo>Wdf~zr@ur)aBwGeJ4QEyuO z;TFhjI1VZX6R2Nwcb7 zeX*I^iS9DTWa#2IUL5QGg;@8Oi0;b}6-)|kW>UaGo_KfFYB-w#xD z7pPx@vmqzTqWeO$<3QR1FH#5Vjj|QI^`97JX>;b-`8;RwtkpH++>5U4Q1Ba7BJo_R zS;M6&*Tu=m@xy#bZkNaL!-WQ~5)}d(&1yg+C{`!0XuiL;D)k4< z5WN>Q`*+WFInL}vxm8m#X&lFXBg64Wq6V!!Cx$E*sAW$<+^on{!PD$&G*mvt4(QF| z{mCZ5&vh1?O>k_VR=HW}6MIZ?EAnPVs7jtb%~EYcySa3DIG~aKZ!*9sP_fRWE$YW)^2eKO1sQDeDo|4ifT9JI0O+=W5&%6G zPy%3q1(X0-XaOYv7Fj?E0A_P0StaZ^n1Egzpaejl1(X2jw}27=0~SyMpkx6h0Lm6n zB9Ypl4NwBkAqyx0Fl+%O07fjJ1i)eoC;_m<0!jdkT0jYaF$*XGFm3@Q0QRwf5&%mr zphO}I``Q2{;9O<_B>*NYpaj6A1(e`*!=|vdzdx{_4OfB)fd!NR*xv$508}iX1VGgS zN&wU>paekO0!jcZw}27=OtDNQQ38M|kO7ncSY-hv5>{Dl1C)SsjRlkdIKTo**r;C! zSljo4|B}n6aI8r_{) zM}p(u<*p0fnq+)+f>DxiXVwd&^Z}iWcO@7_19xVlGBQ~S-iE)G^lKB0qOUu%K^SL6 zVh7{v5{!}^cjn-hjvb8mBp4;j?#v-A9XlA`&|+l1nsuH)ZePNc)9Mc;WV84pI~$yHQ;-<{j*^ejow(z9flK$zh& z-4h@zCJ{(jRb-bX0b~iv5`l}|fWl0VgW`sOAP_MkVgMJ!4aHr=T~TpVR8)xIzJa*@ zUB~zPJ9TgO?a54Bd7t-ro_F#|SJkPiQ>RXyTg$0aRX1QI(02n56ZYTGmCX*^(3O*7 z_7I*!H7;>oUK$IHtp72QP{^&D*b9_}mK)Zwg>VD6GqUTE>B9CRtV zzk*BO5^PL2)jf%^Qfj44c%fype}||_tG0-Q>PT&Ks%?vEo6j!1p{q5!=!UMg?BW}` z+KXKsrL$2Z=KYUbh0!t>+WZg7Ke4xJ-a)0)`bCSI@$Vr*?7>Rz!%Bk+whgPSR#eH_ zz-cMW*TtJT_FF zvtNA^h}jiy&|^hG67xEdgcFkFBK{?+L`9w0kb)(%5u0_yW~|Ve9dW&Z5PsBZgB01h4eaZ{d5KxX+FH4wD{kpk>~{3 zV5m;v-Qqf$757RdXyt6cy|Gb_xIsB^%E~#|n9(SzXhj*YxikZ5R)8S3uH|MAu3AqoYQn5|5WeH)TyV(d@BS4 zloYrrFyJLmPo3`S>h7bZx(TniqQe{P+O0+Jfve}^U`V$>J3G)v9mp5xsSc#Rk5u~z zbYv`54UpOaT|J_k9nKLQ26_- zu#JNhVhHyQqbR^dNlucw3s{@4(VS#bgJdyZdPW95cG!@aS^Bz5UVP%sr417h;S2& zp{Xy_Bh;mioZ@BzLsJjb;hGbSoU$ZD^o=@PQ^^MW{yJPUN5QS{ocdxNuK8aB{-rux z6UYYqYjwD$ferZA>u}BbMs9Ws1#Zn4T(C!um7^wdBbDKPly46pKVG+kY?Drtr{;79 zp*_?t+MH0kxO?b1;#5v@3w?2fewU(_>n`7Xsl&@$o6KCRkg=M`6~FAIUrcdYH<5Uq z^4s;vDDn1{b|7n?yv+IM=UOr?*ZF7AkKSZf{Mi+c<#w^_iryPbHT__n6 zo55RsE-{+Hc5+AF4gLd2TW}^Io8yU&pYmKZ;piJ}&X=4$Uoy3B`}xB1Hu>N9N98Sr z&eucdQmq`IGuc*Z%VtjWa@VeNx1}Wq)~$Hl-BY}bv^Pa*H|C2QmAc)fK0ivnWZjC# z=v~!^v(KDB-J>yQK)tF2TfO%J4uKEkPV~PGaW{uO@-Jg~NN3}e@<=A5JWI&)9rCRpeViKHC~p8|_RRUF$zg z5$+^O7Rr0q@7k8BuvP1xk8d>G*R^ySTwq1^g+;ovI72h>a+4@{zt_NPCw?_Tvkdf1 zDEzI&)&q}(0X3gn4ocSd0WbVO*4rv)M&C`hd%#8HFU;7TD3rzKQ{zUI2Fc%Z=W{Os z&n?2^-wvC~;oDWA3Dtti7Eo92;-`8K(U*G3@MY>p*aNUTHok{vI&*_I6;2_=(4=B~ z6h-bK`+OQhFrVEDPI~R$o=N#HsmEm8J6Du1J0ERUGcO6x?-yIW;B1<&t#le4_c{35 z8M>Kw^)q-spK^4kTbB21bee?sY(6UvY(UZ8nP!h?Bk9ACSrzF50~hl=#UKwQu0lM6 zb3?=npSPgD$r>G(U0Pcp}^za`bL#qW3(oIC{^=_pi_!h$=_@ z40zNvpmul9ZCQ;%Dr*XO*muIJ|Y5=-kVAJF`*l>^b^ zX0I&MoIZuoBj|DO=>aY#QTys|WW?Rcus5gtKSUD$m-_UsAcX05KDu6dJ}<`6GcUBQ zSeJyn+H*S_cboE$4$DvW?9sIi4W&IQXF=BddH#nfukv?~Iv#|tiB2;6bS3zRoOmH!BSndo1FCfsBdYA=AVr#yI zTT1+Ikn*AG3xT&b5Ds<+mnbDRtmTVk%O~T}=W2nwS(c+yOf}rjM{jVc(xG3uy1b^) zQrvu@qJlAicHb)NYAi#?368Qjl7Xqr5rP_k()<`;0zlp1R2P3f0QYRl^6Dg*CdEa* z>x}O4PrMaA`4QfvUuR-3Pd$_-~Gvyh+N0ysdeH2n2_bk$ybnkI5WDqAsW?J0?NAt zJescf>Z|x=kJt;Y#FI07nD+Q3I4vV?3|f;Y9Oc?V{mnYcy<_|34rG(ntH4>knxE!E zz3Qu7slhe4cAw0wW$v4pf0!#Xs`c{fwd9yo746LK#nAC~=%~I%h4|O;8(h!N#E&8- z|InCxlbC!15kr%T@n6b-5NsmcTH1+ic|2|Yjr`_<*YR83%un!oe%iUe_$J)&`l|=x z*I!9D=yFL-&f%r4Kgvm7&Z2yM?a~U3Tg1U8=O{t}(ZZ$wg(!06jcwCVKJe09StVUMo9Z z?)@vwuj+oR>*sp!>OaQ&CMrDhAo~h0*aFxdwPFnu+)5xB+$Pqn_JZ3LN(FCLa6d12 ziv`ocTNOUU3*P3!SX|s8$Pr%f_6X9E4(=4}crSQI1J;oV-YMuQUhu9sv?Ck5TX5tF zjfCFavOh0)Pjf1+MZ2q>F0c81nC`tZ({;22@3WL$yR~uyQ&v(F@;&jJCPA&wMsB zcu&UO*sFbrG`Zlz{01N42mRGjER8=ZFJ?oE#bWtmigukoJwNd~(I<_5tJyfbdXF-t zV&z{%DvV}64!n9VKRz?;Qt$~S%a$&weo`JrBCNYVg}3%;ej0t0{~3aX+;rx%xYf_` z<<*dqw;!%KOhfAtv3eX5XUpE*1- z!m~h*6<;KocAvk5>wlS_79XuY-;_JIa7bdb>TKV=#5)qN+%epIerz?Lz9Z}QO3I^ zl+BZoB#D6g9Xu^q1MR`rNL^V$kCLtIt$yXB0J#g^CE^K5KI-2C@`pls)w)q*2I5$# zzLWA~Wc4cw^MbE~3Tb(lh+xUh{l{wVp5778GzeJc>18i?1~FWd-|as@@^Ys)HD8m2 zgOy&8(XSOpF80hosUaub{x^u~_N!{bN&}ws|3W?+c03;)tM!?w#D&oJZs<#1sZYu1 zAKWweCMdM3JmGJ1vF~SGCq3FSoqJ8J2s8Cwm;;^KGZ2I2)Gb_-F)l=9*w4!W$WJux<=;wHDk98txJeNgq{sX_TenbdQ<> zm9Mp|H3`o@D6<2I(YGs!>$j7MqrmZA$=JihNXE7*ab`@8!-^qpgQ0%dRiR1mU{{1{#6CK=wxzR~J3aSGD82uB zvX68d{%z8uKCI)9()S`}m@kW-J!jz0i$MFEB_DIm{755#@~eL?6 zs5Knd^;>KRVpbK7m7d;gPuv~j3-`WF_s}2k){Z~M zr5)vj?O2?p9e+Z!8*97)q!<(mS%l+ zYM16TPs>g{){JMb?9^_}X_jTDWZm7Uw>a^|rZjNE^#^pfi4TewzYKZtnB#>U$BTKh zu>bKUR=5wy^+2GteufpM?$s|;>HCexPvCC*J^s3m=q7z1&=}rHj;;b7`EQh2cJ=wK z47ialqNOE~hQsq@$3H6mn|?(d|;4kTdrIM4ik9!>+wohDe51RlWNAURi5 zkRm2XTcXT%6ZHkz?Zz7t^o^(OALNwKPQgO=MGcaS(8`&rWHYU*gb1CRnx+)JK}!=U zO_7dHy`hO7q`@UUXDNP&S3Hbrul+Pr5vE`}KTNt^isnu|gSxpBh8zvw+00pkuX!eu zbjQ2w#39Ufxe3(Vle(};Xj^##Yag%BW}p-OTM#(&`sneUdA?bJtkkh3cz88qCJO?9{s$T8pip-iMV)p!%%63t z+Yk_DF*2g;+aYGV$wS^kgbstck7>=x;%#Uc#2ru!efc%t#84-?)v1tQa|^+atZ8po zqsxe@l&$lxa_$WAwI~-qJF&AR2+4DwuoCp?$B`L*wXDozU&$Pa!cW^BId|xKd#%Lv zPM{)ex}nB>UhVqOI`|m~=JVSGUNAeD8)aup-8nm0xPvZ!{BHSr_}QkA?ZvCK?ZvCu z8SyM@7qF~d5HQorKZN8LxydNtWJ)wQp^kKUKKhX(N#)qH>mJ3fLTN{|#04j> z+vZVB7iWE4h7}K#RusEBOUua8*~rq7<~klG;rVl|97T0;9yrYN^{AKcgNDk5lAwNk zP0$HJ2WCRA5p>~9=m!N|G!yzYpp~C0YVpjdX+>EHVbl^*Z0(ER@esE^UlhGQ)3;D> zw)7@>M6j}x`TN-=(#FY_p@GVBgDkX>G2{OVXjfNfm;VHwbGo`ayIn$``7BS4XiViy z=3(?-d{@6sq0Gm{NXID_@C%OSFHy^2S;#nTN`??ViTfJhoiVu1;SUkMhtJgWZ>3B5 zuZ-v6C2k*Lz1o`Y{_hRpSvQ2IUFR~}5T1^I@C*X~-x$KP|I3E({EQ)-%RCxGI1kAn zSIr#Lbp@ng2oICid*s=sICH0N9{D0{v!D(8aosY)%_8n=j}76Pg$!vZ&NhZ(j8>ze zn2~?mq1fUv+}zGkJZq9@C~jMM3*SmK@GGf?w}@}yJ&3KrJ%~3ibvq^w(i_;ayosH$ zyhcxir_R)7HvPloA+y4JQ^GO%SsIhWDNuIJ*ERfxlidH+!*A1s`ad3ixk+;N;WrMB z4Zm@4Z1|0XW5aJ8JlpUak5?fxhR-J2W*dIv`DY(~+Zle_!{IkO=kS|i_)X0iemiXV zWm+Z~on`n9Cv5TIcfJk3;S5t*I#SFmW5aJa@B6=Q_+8MsARK-RorPJ3-}?BwB^-Yz zXN2qjc8Qox%jz;q*Cf~iR2Udp%4oxJ_F z@;*w^7E_~(ykIHPVOCFGutVgn?uc(B87#wTD?J-?q@D0_!O(eHdZ$V&cqjUNd9ir% z13WE`)`3hI4r){)OW*<`EkKUv;~)JDCQYg7BFcr(LiUUNB5Ub-O*P1#U-YXf)$q+GZz4vB6sA9QKBh ziw~_CrKfY}|34vFd<{&G@5!UpbC!E3{V;sEOFKSpPhK(cJ^6kAnLYWfz0x054&@tS z%kFqY(MLQ=TRBg=6XcD4B(9lb(k=PY{b7R}61~zBO1_@)l4##PnIKc*lcM{*wm;?7 zP&20dgHTrTf$%$QnZ#{u1+}t9h{hnE9_n>g_Ku52aC?pO!A=2mRt4Sn2-JnIL3|_;E zp+QJ%sVi%Q=vsg}Az`5q(oi5ey{ebkAu+hN!J`u8d`9Km9r6fGX^L$Y6rw5r5XY+b zi&ZEC^D_D>jXa)AU1L|noI2RIA;}#!QE0)2(~_yaD7a+9X&aNN{wTPy=loMobN0Ij zQl|b=X+yIyIoNl`spp(^Q;H)N5oAFK>5CvsLO_26P>zw2BxqAQ)PSh~kIp<3iaFJg z(m97SC=MNU+U~s>rjE(fCQJ{KgM+E{o8D+n=8e*)s=qJbGA`-+&*SPq! z?ZJMQ_~OR=z*QHcb#HY}o0rTM{X;1>SM;*QYkUTi%uTso-r|k?eO|UN^7nh${?PB` zivBZ5%wv3+KL0R$r+XRhcZz(Sbzd0E6*pcgeR@ag^p5oD{*lVy_<0VrKY6qbw$};i zbw0x~^o0a;S{M~iuHOmZS~VBMzhT;$RfpP^#16}g^zeO_&y59`#LZPX~+s8P02 zqin237$9W^)_K{?rYxrd_<@9M1`3jyP5x1;zdM()bj7#4?BKFZX(vDUcifa7Fj>OC z!>06-$iH+`8g@y@*w@M=&V;@%NLIB2(w*lOp_PLR>;S~G*SF$k*O`RolSQ6my!sq} zSNbQcna==AOvppHL z3%1G$w%T7u6|=>CH?pu@$u@JHv=;7STzOLr&>E507J1qot*tX@EwmP~ zQ=QQ$I@>AotRn51LfbYKAy16(4iSzfJ|sL`Ry7DWB?g2)8^Xh;DTa;M!RzlU^mSNE zj<^8dSPJV@_vbCu0T$!<(A0ehq@A6rX>jlc?Cpo4si`_xJs59{h48P|;p%uo!&cA= z|K7M?lB`^Pjv<#t$_~lwwSzC(eSU^V-LAEA*PnG$iB5{(SvQ%D2gz4_Tlz+gYrWw3 za){%*^r7_+eh;cdB9-$M(%es)>Zx!vpXsehG;!>U9y^i%uds8ukTXy9#tsK!?@{r5HrAaoTHRm{ii1zBuT*%6WO(zlXZ^5sLT=@iManEDg5Z==Fbmn$% zWT^R$*!%aM`YZ-lnQUjeF~C8rsVFvXN}xRXrpdDmEffcuzew%DN?Z zDy7)bGcVXjY~Gij6`#*Go+&b9)%^ftTDnF_*7Ae#p(WoRKWob6tPl^7H=XOdYQB}o z`td*@6o>C1d{?T}Ey2NfNqq>;=oj32@;miqBL>S)Q_|m%)XG8V4wdjc9cV7#%GG@J zP<~*Bv(ddW@zl?`wd4k-4#fDU(~e1h1HZvxguRgg|G5P0d)`evgm=B+4#31ZnqrH8 zCh>XmyMqmRr=uJ7cq#P+HI~)|Pa*GD$?NGOT^4(8x+CWwPC+K*?OS`yO1^H2^(~W) z5e~&Wdxm_XZ%21-0P{Yk-R?Zh{@~VMU$isvJ48UQ%V!qp75T^6F_;t~+r)P_;#HNA z)f31|DmVgqcnpiGpR20d`b~C0{{;QLGwAp1l-g$1!0{ZK>vfPk-V6L|`u;wuwL`?& z%7{_+c0_yvivhPl`~#lp%!jp*I1&nnCKcn~Ng8QWxCF7DdquroX1ZR(#vqktz4oyv zum4UmVAC8N4Wi*}F&7+zCmTGA-}aJ@@*IoLKac7U6F82*=+BY1iIcmXhb&fe@Qf)^58d3il`?;bmO z_4Zn)`Y;W)JX`$dk<`+cPH?D4V`=Z0D=l~7i;Vs~c5ER2-5iN!dzef-2Wq}f+xQ#F zH+BNmoWOD;-WVSdL)Q^8G^vysDtX&+<*BYUS!@WuFN;G6ZyHh*Wj_L$lHyO8K&@NRyw zO)~sU4`#uC&9?Y^ZKGxC*DCK|K2ZO;pq`2UJ%%4s%+j#FWz~mIA@P9Z<6?Rk%pJLO zeu9y&xI0&xy-1#oyUjy4WW=o4mKcoin8MDiZ1Wz6`k zULk+S7}v5}e9S`O8XqcLvuYUOobPjI`L05eV-1fn5)J=pHT-jFm+G1POsbXLJm~`X z@eQ>v^*@oC>CoU=Bx%Dv8+WwO*T$WnIsY62Ex}17@q&}Z0*{|E#~h+u8%Z#;zc^kA zkCcM=4vEV_8rL{(n$fqKHe20qnrsP&G|X0FYvnF|WN4)FmsXz#Rz_hV3eI)@D6t9* z&T}wP6r3-AZxG0-Uf=@HcTNQ-sPg0FAelIvdNao;RPTc`s3L0fQgqBOhIbPQe0DAu zb1Yc*1+h+AprJ{{_+2obe))?L*Z}_BKpk#p&-$S1rJZtYYIS~|=AdJX+fS36I34chMEhH!vw*)$c#k{%MI z0(>X61q%v>L6sH5l<}z-ODYDN7pNgMf|&=v3nPGeqLGG(S49!#c|SCPw9G9ga)Zkx zSp^;_y@F)^WiZgcU$wPZtr0X}aeogHH6=m6=|J52T8Fu{*oQ{A;I%uUu_Wp1i=rMcmGZbWwHDcacXaPShRgJY|slk4*Hwd<`|uXcmE$=W7!Q?=Kco37nxE_A-m zdD6Ab=IN=u-rRAAK--BTSRwyD5KBh%eXhi1oGetoXMJO`R^S7IubpzzwJsd-^$~qx zH<4L<{Rp@uaMJ_X(2jXwqHhm3@0Xrgyne*h;SFS|u^38;*N2*$tg!|noT{rDmH$nazv$mHBmWPS|0iMo#V-F6mwzzK|5N4P z66XJSm|yD(@%@M7M^@6v$9MQF&|C!flEiLm#{UWV+1n{qZv#Q=R%S4CR?GNg9&&v5 z(B>~KyM9DC4+7_p{z;tRXV5MApBDbx=f+=N8R1VRP67Xq!H+tY$BF%~=o5c4Swrtz z@a7Xq7s>>0C1@1C&9Dy-Ti}jHdevllAk7od4pmsQsJ~pC=-)fq^IDwP?Qpx2fwuGP zF2bKc2j8-NBX0+%f39|Qa#i#h)#~#B$^OqAZSMhdZ9g)Iwgb%N<{ooXwYBD^Yx|pv z>>p^Jp4z_Vj=Ow5qojyb$bT>R>azcH(fC+M<1o?4{?2mJH6KT^|F~$3WEWk((Wo)y zWzg79{?zE2u(f!i7UZciM}E~>`K@OUTi_qH787`N^rLOOmGeF_TKC?BGrx5)GglLp zS=(EK)x13+D3MI`FN)ebnb>U)*WTLu-07@D2j44up9dyZT;$-Vc-)pv7dBK(@^vH@ zavK*@i4y$DCdwEi{zCk@TXkWqct7rxQrYr>mwx=GYIyko;LMnQyZsOH%Xt4peY{VV zxk>&$P_~uMM3qeXc9+%;=;$y`xEQgseSIx3{6pYqoE`O<&~UTc#D{^}6!Rl^rZXQ^ zqDv6{p-IK~Eu``@Dksxj`xuan%{161mMuc_RHJr};>Yy6>XonzlZL^*ex1PPx|T}E z5~khsG5E9oGa%SKcb%?W!fYXoumhDjn>j?W`|7DCm#yMAP*hgqZ%(dZ{{{Dp?+Hp(x9 z#VFRd@o{49`(@X{hJ{(=i7A=(%rl7>Ay2=QJl#t!O*%e-JBvJh5^!crzq81blOc-! z6!8ry;e7yMD|h9H`gC(tCxS#+o{f83#01X+$f|aBK4jIthtK!HzF_s?QESc(!)oq2z_7q%5NG;T#FmK zBh2~1Iuo{yb(Q3a^EC3+TS#>~3FvGKCAG~YmDje3YT`n;9=kcQ*VmnSm)6xc%}XR6 zLpB@YNC%?ctu^a}koQ^2spQpKab}bLT4LIA6Q7Sb`32+Ted6R71)Efi&-$RW>T*P^ zGdtMQ>v)*0bk=K?%}snssYiQjRF(n_}YRN~5 zSL)1GmNW`5CWY^(TXl@T?HPY>Dxi&*zU4aIuF^HNqkD>v+@E z2l%Di3BG}wi9OsFd=mib`W2brTlm~#W!c7q*V_Ps2T3;UHrX1F+O4=3q~A6KAJaly z#`A6Q*`_vsoi1QB@%)?Jd{FweU8u*es7I3Bee_BtR$wSo77RCJ(RkaD>hAV`q3@XV zlG(#?_1EFd=|@}eoJ`FZq{C|e9rC<9R@v>$lsi(S{G~93ORVoeb+`Ys5Vz*Q z$MHQpA(|SGyi4>uAS^TNkEoPXdT4at~!$wK+7UT*wWYQQsB=6vk!NZ}u)uMLl zKqK-!d2_~z;1T(Y!J~3g!T03^Kj7CjsW$9N6KUpo_6er&OlQ8T>E4f&a#Arq8m|&l zLC$LZ7+~-de)QC$=6Ce_u?Gvb4zrST`SpPgj_@EOGOoyGMc- zwh~_*otJd;vy&4K>^6^ip5#28IEA+00|@V^YwXdrH4ZoPXr0O2hmkp~0eJm^X{mc; zj|tAat~A%#HDo(b&Es2cT?WZod08_r7MfEL3FoXTW8Lmku-@4 z9FA@b6=D=QsC%uwz^C^?NVkt}O)tCmnc!zIdl)Wgj9&dXM)kb@mvRqHaP1YQ+M#O6 zokHiM+JBMS#68Bxw~{!3|2=91{`8$n?}N^;P}xK^t3L;Qxa#~i0-hhr1it_Tp6#Z6 zbY@zotN1N=S%>`+47DQ=JFRt&G&fm0%G^}#XmiuGW6Wi(bFA~EYtJ%IPwjAX#~lLy zL4=k?k3#PD#bkd?mXSElb{PNc)k8#4d)+KqA}0&&99|;?bT#W^5QK1a+f!zpnd;+ z#!(EL8lZF_&Tc&klfim22g7Fh_ljEU`G295(Lr0!TOnHSHKm^&P&6VRg7HpI${Pm9 zBo?~~Y3^(QE>Zao(HNH=3qjDl8M=c~n&IMNbbz z_ce4U<}Y)4&J$OO%SB)VOtcV;Wy&kot(O$jST9NQ&?<3*^r7U8&dJbQ!1uxNZHUES0SV-4P`?rrff)UqijgUCfF&PU>k)iD-3N$ zX8&wt-iRP(I{#%dZ3<9h9^hzg%mLhF|39Z14Ytv>BwSwqSJ;XcLeaX*gf&UBiCH_3V;7DE433u%C z@4_>k=@zrx=dYN?=l}n@4aM3BY#LC5{O+xLdQv^(CpqCOVLRU0>2e ziN?wz9)@&&Lw$*2{uzBqUo(dO1_s4AeaS#`nuSWkXTyR{G5=@lOQJ@bLqDSNxLH49 zBlQ0{`jHNOxX7&ZBNyW8Z#MmiReQVok@>yMLHONNr%8>{ri}k> z9m)cb&aOkTnnXGj3%KQ-d9^^14n=_{Q-^X66I=VR&&I>NO7mN%Ls87XtV0pGO*)hq z;Q!a5{O_wnN!uIc+v-q!5Am*RPzL;$=o8`_)(ON!;&04>is7u<43C<3^SC1vbDINv zu0_cNHzPU0BD(pJ{S2VBRB#7C)5|!UifQmgx|Y`?p3=44WNxzd26I!jo6Swv-e@km zmRrozBeM|MRJeTp516clA*W)AmC901`>3wWzq>MD!S`5O40$SZiMh$zpt-5qQghR_ z9n7W79nI5IU;Y;849m9WNxxHY%Y7<=Cavs zE@kdwo}Su>x#KRMkC}kVRLE`e$I84_+>PuB=D9LqquJaTZ?U<-HJck;v$?@Fn;YDo z+I5bl*PG*GHK3vta%L*AqHb4Fu`tuoQat?g8DUQFhjMfza)k0y{4je0HoYm^lUWjO zQf5iGsoFK>rfb)l+ao(B;Nvd2&u+MAQ^=VStd4{%U}Lj1(g-p)iU--IhzHU3mqreW z@?y9W+$BmQgRtYhGAAc?Mek$B1>DVq?t2)d9?R`}@XCGO1Uj_*a?WWhEmfmbZharg zV4(bB4OHvwJJMX>?d0QZ4EB|_Ly$;1cb?}ThDvvo>xd7R0vK)m72p`?^Gh^!-oFK% zYJYE4JL7r`V^e)K#LHB`oQn1$YQx?Oi`%@t)Zq*-?dVTyy4-=W&6~h&*CLj%*V-7o zjbJ8Q%wBy?@D9B3J(8_CJIp=2H4)vrygYICCZ}(p3W+US5;^I#B34CrLn_Ymccs2t zsS8}nKNQ;PCla|_BCGgAys>Lg&T&B!M{eZfj`7}LIe9!E`|$k8@`-DK2CpHvtTPpG zbBUDhSF%5EG+VUe7Z^Nukmn+lg!9VWRj$B=3It_1H!;eO4T#I}@P<6URi-4&K^3F> zDV()Jgysc8GZ>j{hUf&en|E!Rza>h$oV}3pF3o8#5-`{u+;(YiJXhuB`aH$y|D^s$1PhTym7#CbYYrsqR7iNT%{miI*l< zqXU`BJ@r6)rt+mIP+sLty<%or8Pk^J*gJTTbfwnpg-R0a309{mL2;1BK3G@6+NV-^ zuo#xK>N1$&^1CO7iktJ^)GKF}kSiaRy-?6#FOYVnTn^4Tu3(2DQ~5r{26TOVNK0>- zPur%Ku0;lSYvBkJ7K3@73i>fgV#HvkQh8jJ(&q+gF+NPZ2Dx*@b|!j&|aj@X9&Q|1}gv_l-_aVZQT;_tJ-%fZl~?I>S-s zO!X<0H8iOh*+!RqHYG|$b{&(|mBje$1Jw1MSBY(sp{JU@)2n@iT$wTb2J{EI)O#PH ztX~1|Gl#|me-(&|PS8RDYs*!9s^Hpvmt1AHdSGd;vR^&Wo2wjA4|J3k^tF~c`ddrd zx6KT+mb~6pEI*~U&n9k2BY2{1HHArU_*7hD#Ocrwy{FSqq}WB!W@dyg5yg0kb2dJT z=~8ie3FAUy;dD{I?oxAEFhyyPt^3jZ?L#3Qsq)d)eev)-YkQ`)AHG8Sm>d>e_kqz; z720EEn+4SxQgC(9bY?A{7|&$-L>IbKCf&%b15W$Tk}R7UQ$77XAgXPC+CP9m`TY6V zyvT6J#J;No_<@4wLr?D>ybs$D#I6qO6NYjV2a(Fe<6u0~nM3%kK25Mm#rUY)-KJ>K zF3;j>%NpNSTh6YU37$?8&lj^#T>8W_yu|LUl?!M)w^nl6%!y|RnG7FX0f!O{3s8(J zKn5}G_Hs*Cs&XY5ie2+N=f}-R^!0E$G_^1~5_b)$I6_rO>$bi-EzsYhd-|j?-D219 zh5Lpn8>?I(7d*2;GFzofy&PR7PXz4VTHyGXB2Us=Iypy7i*wwgGF`j`%xHZWX}T7y ze0Uy%^Mc@Tg$jkXa#x{kDcw$DS8k;(w5@ly*0uz%qOU0KKBngh*oIW7Z+%~IC2r*| zh&HOM$#{AvZ}GkBduNSrIJY%)TPhz^NiI>o;_Vm~ zJ4|(`DTK9^vz6!1qeCrJa>N$W6(7gpzKkM=-JPM?uFhgt*UAs^^>N`+*XFM7%6_C{ zS65x1b#PrhpzE=gw{X}5d0;9aSLn75FgOxQT`Kk1VXE#zfms+L{4E(}6${1DB3H5X zR1Oj`5&)O3w5vgn5v4`f%bQKhIsk4@TAa1V3PQy0*m@U-*SiW`g-%{9-bWX)MJ*C> z6c$!C2#Krnf?y}gT-~b;<)#}q!-o7{+pM7}%us6Pr@}p(uY&Fcm_wypqn8fkko86? zW*qNGjV8NG*|47)8l68JO)x62OY775GPx_OFiXRD$6CipPP*9Z9yrwZ>BgjP@Q$k) zoSjD~Vkv7A_0iEjJEva~Pw>5*LF={w*B@_3X!!6cD8tc-qQ6=m&0A85i;2(CuiFsj z<}DkTx3stT`;w@9OmZ~q%=JcE8uO8&d*}*Nr>n~l#zR-lGm??stJv4)>~qVOUh6v@ z3KPYV`n=~xd)2}y+eZYw)0=o7LtShD-8~xZh9(tbJ4gPX=mJMJcvDwI^9e`I)q2)K z_xLBR-kQ(ry&#)7F@2BDm_QeBmnEOMdNiLZ9urPJQ@zJziknAH9GtH1Pr*Z84V%Z* zP_p(}9PwB<7U3=g$HaAw2}Qz9C^)lhlL*SnC7wtB)B<0_w;20U-TqO0h)kz6<0$cZ z;{Mc`2RLjBw}6Qol7hj279DwOj8-o;hPQi-F}z$%`lph4^|xs2%8dv`>&h?T^(t@0 z@5cO{y~;iFqriYy`EWf3Oy7(G!gQK2VFr+>{M<0H%?PIY+;DWU7n?#Z0Ieoinoq8} z7giXhZDHlgYg3JRq&mM0{FNiRI%lR8b&)<;XoZXT2 zXNVds7lV5!5wqj;U~8YV`Ab()%b?`r@T-%-s<_#0h@~ss%-aC>*1?M!U|UtSuDp># zyv78myhFx6MTJiS$HIjID@&D0-C^s>je@#HTqWZnFE)>Qir1Juj*ie&%4TzJxVKL| z0QU}w0;>kVk+GW@mM%Raq2c@};#ya-piZP3ljRs2r;dh;Q#;JVRQwox7hb{#(0f(Y zeP~mfL(gFGmfox0W3f}uYRZMq7HjyQ{~MY^0E} z$@i{jc~RG->A80N^JUBlaWeMMZg4!QuRf=c*$u$HfD4)3_n_7Cp`~WJa;`WKwpzyT zqdd%~U)TV;#&I`gk1|oV&!*g-@(+ZntZNMSR;Y2fIGyBKG^3I4Gncpqq0H;Mo7$gB z+Ulvn!q%x1#E50HvM@Wvap}2PxUM zuyw7P?rK6G*u4p{XI|QKQ{9NMTVSTGpX^HI{DZ9VV{!g|K+5Gp>Ov(C&`3aT@+j=I zq0DTyQ%AMfjS=aiuz{-qt>3}$D(iQvRgK78c+i!H87tGYTCYq9dt8#WW%(;cT8NGBQ4@o|2BsY6ai8zmGi4ZTr=T zseYqv1ykF~4bG-&bGGes!8acoswX0ET4$Yv+uiEgZPd$-=*d#C$ruqnP1%;ihB`YU zGyRiE9$V~auxxJ$KcbHC4I}pi4{N)L2yOSQXx*5XO0+X1=&$;0kPkJ^y4&~^oMOP; zqn3*UAB)7?2Cp#XZuOMAF}n$Y<$B7?=?X&NF7=c#Am3Q{S;v6)&6cwMHcKUzlFz|O zSR6=2L!4V0rTg`iG2nOWDL>sv$xX~5&KU69^^_X$twxhlLWE45C3J@lZI~#fPY7&q;Y$r*gNgSvfQ`Dva5h*YO@XV1ran4~d%av8#Whc)J%nv2 z<-X4_wm@=xD&mo^{*Z32)sv9U=$|G|llW-OdODuz%m#ivbxTx#@`%$PjkXK<7YxwBGrM%o6@=%RRBo%3#U zs88S5S+f+D>tbb)E}f+7%rszG1oq4#T&vkajtX$2W4zQ+>#A`3GS|ZNW}q;idGi6tqvLY zXWLrOefH%7OS(9qls1ibuyJN#yu~W}XBN4?k`o@xd3p1}94UyLEyD@(Y7aQOYw5HcdMH=h8N@wwn!`ClkMFAxrDqn4GY)$gerTngzc8|L1wAvhCJNE?q>Z)yhK z9h?WEmAl5W%n+153Nuvoj?bYQnu*HS17mhcNQji}1yO35VO}`iJ(E&L>qzSz!CXl7 zT-cRL6(W6U3~Bv~cbRwGhNAPS+m%Y?GMAnikyGy$=E|u@&#qLeFei^!)EVbM@pp^Y zJd^djhUPuU#uAV!uI|?ozq`emj3Zl^jOU|s!_gX+o;UG0tS=%%%sK2&Yt;ks-2(Hv zQO(*ufhqWRh}P7zEBJK_qRk-u)yR{bW@KkGS`tg!II`KB_)4_!ydTeW=9tF9Q!&=D z$kO|MD&i$I_*Vm%SbKwdz`ecdaiB>C^AX4Ydz5Nt(4W6vLLZL%^^skxV z2H58XoB8E(sq3}1wKZH^X58Hh6E{OmnU~!kU}$Q*mdtuYFDDz+)D>J+bpga{U+Vd| zZtl|pZ*PUS9!utDt5m|8*J$pB9)Y*DIH^+K6Jw}|Q6e(hex79G&|;61P)xFWbvds==lCg*=CKJ4KbVgZVtl>1D}iDcF`{!B>I$ zeD3OUKF2aofzrG_ci9A&kNRg=Ez~zLqe|>~pu68fa-=!dLTFBorc&AaVr z26kT_=|D5O66~iWLj^kDa~Gfw^;iCAkb#U-g61<7Z>MmFciPYmF&G>HDPkld=@%Pqf{521N+aiE@0Nfq{%md)f5x_hE z-Vy=K1K_O@z&rrn76Hry;Eo7j9)^A7#vW09dlX@wDB>RfV(L|Wfhu<=DJnU5H2DsE z#mRT_J0Y*T*rcW=yLm#XJbNd--0lKNo3oEZ0qMm@R#-;QcbPn!;|tY-L>xg|7?2ip z#A7$oO4C`kk;f-ge0hMZ3x+M3MVgkX`a(-TTMQQL>}po}sD(@Aa8|#nPx62U9S)#< zqZ4TR3FNKOs8e5y772~TX+AS`31rP!!$%8rM2xLL`Y(R!RrN1dJzz8w3wni#cTpd0 zvYN{)x&kvjd$$9RnQI6BUafq5-@JJYZTd@s@^3{loB3_yiCxI?#EUbi{+ zN4~z^$k$)@4b*)Li&5;N2qv+~`!9lzlPc269h)R*zNy8LDz)-#h|sMcu1)Mr<7FfZ zUd&IENx@)iW#urh6%UQ3hPyeIr&*H;hR@YpydtT7eg8eF3@+sB9pJ>>xOv?8-zR|S z{~$o7QoJ>pOk9>^+($-|!AmIiB2+Eh3Rdpp-afVOf{bn;%m?q%4>~XgUQ5P+u`6;s*`99^_-|{Kd=mH0_$5Ml*0k^x%RIg$w=PqTN z_EtSXMY0#Ipp3R$dAM=iS#jg;eYrq)v5hXsHNe3O>IJm7l+!J}%Q@faqB%E{*;suk zMF$6xD1>sTCKDV?cqAL_hhx{8=`iuApAGf_U~fjC8K4f_>iIIVb46Ubm%Ce&Y_1jT z;PI+MMddcd>^q~FH7dq&&9n$zu`K?}!9463*xs^gH@Ml-yY@FYg>2=FBuhZO7R**w zwsKKD)Dmkcy;oEoU{Ys|RVd_Vw3bmfgS+LE3b}A`c65O^Hq@S`xEVbl3N|Wb6uRe) zz6~i`2Zy&!6N^q1BK61oLP)2fF0YLuRv~MoiWR#`O4ugI?V8RsxhsC!aG`Z(npnm659zqP zPRFj$p^&4ath}vBTbaj!fTX*+f85NgXrqNbzy+4xp^}=}_@FEdSK(6qD>&Z6x zJ{T8z-)r6*1bvU2g-qTpm-W{s0q=4^H-U-pG-fWJQ}l_pzmT-`xqqp8?{D!V1(Zcg zc9MzbK}R3$SUr)YoAjpKKag@MDo;olUQ2QG{u{|Un#=m^d6r5}W!@&e&PiJFokFC~ zu3c$#$6RJi7)+fVLz6QC{2M{$)=g_Dmz^HjKyrK|U)xG1*+6ng9yeM0p1D1>hs_;# z(LOsAvUyaG9B1wCqrc_Wg6TC&#H9nwBQ#TOy?;VLnBMIx@MZaWkI7WY$(dpH?L%KU1 z-45)t!V}#J)%$}?;wW(FFXWMz@|k&+<|qBPLQc7(`Zk;)P8Q&lmblO|m!og3|8}6& zZZvEbAKXb0{@xt%S2D75jJ|geFZq0@xyjnQ%uUtaZEjEPJ?4(PWIi(((W_9MUU!$D zAH#W<D!n_5pLpU2>lpjc_aEaKAZ{KW&?*u9Q}%F|7F? zBwbW7>J-WUE-^YjWca<>hs{maK4NaF_EB?tY9BLq+$EF#S>-EKubb0Jh_@m4M@K`V zQrqXde-CI%{mqG8lUY=q@`!HcS9O_R70S$NbIpX*zT15)+*4a=?zl_lGn$KTh3a&> zHYvq$V&!Rl;97H&wf)Ua)v(kAo~|8eZja1H36HzvnwATd3ufXnFR${XBd?Z@W!)P890xQq4~frU#U zhiip5_Ic()!N*}g{YlE+9>F}FKHxii0!eU9_b>-qm7eD(N$nGcig9oqU9tqFT9`ZSd=SpG5_Rv5x=C zvC@LC5a=EGtT%B8+=?t#(Ys%%5&sj=J2a`7>L>BmRPj*7wY>T%Ad{cwr>^$GKtQ8q zaeCg!^6F<4{n>c*lBDex)syds>=KU&*uhvb47>i{-4nrfPoesGA~k>f0|y6$R6oUn{ewxI>eQ@ilXtc%(VaZ2-kcw;}~*UE>*KgZv9;<~|6e+urKeQ-^w>e-MJ-RGgb4E=dyzaZ8aR$dN9g}gC# zhU*v~!#@+FQjLVEqmsjPz4fw<$(C|?bsG7Yd|bIAkw@L}RVdWw$EWtSxTxHf48Bg- z8~ZgGY%6>;=K>`bAqHGZlh|e>AIk%zo%}`|!AO!0A+b6>uZ!2w5ZcCa?x&_QWG@Ursu`E&j0ZQ1RWMzydj}EG6`Ipg2pXP|( z%}&ud-;hbc{+W(eX+xm|KoB7d5=-Q&P6IhZ#p6tf_q%J7WIGbtL z1m$`$h{L0*G%gCl49_+Oog{Wyst>BjuT_6f%n%6(1>e!n6EVPd1>mt#Qur*EN&&BN zvS*wOeuZ0oNEntReU?Kd6~c?17P){zst+sj>MGBi2>n(e`ksDxZ>Ns!Ps%_>9_4Ac zb1~Y5`mE0|m|OK_z?tA28o07n1?m%A^+AA@ z4Fs!iCU&TDDc(%*TzzPF7~mBKII97;+5kcmrnu1nK?Cq+13bS0xW@p`YXH7xfb#%U z9>LpfYR3@Wk1ehmC6=*07i4nV{bO`DT&cL2Zf@9~Ef8Q ztRQ9`Nq-ceJl-VP~xk>%$EM)&cGL;0HUc)41iobeuI z@jRcUZ)xk%-k6|m-ng9Up5wve^@LeKawo{P_H*^Y;IzYH*$XNEmtf!8)eQC@0~o!% z)sYy#BGE7X@!qb?r2n`@vnS}@$m3umveZwxRAeCzbv(bm=eJY4+w(ium%GiLU-_)8 z|10nXPw?aa9D$WRYG$_Ds|0GlNY3~Gzp6b8^U~HMy)i+ly_{I>l_jcuZ@X$~NGx|t ztnLlyjJj{S&D|YN-Bn_&?n%ziCK7vD-4_!@-3M`6GY2y{vwQe|gnJZotE|88HZ@vf z?Wug!XsMj>CH$&Js0T_9KSn-pOc7K{POMVO6;>*gpPi zbkpdch!~nwjK5wp^^^FqON)cwP|4a3MDSk9@*_%tH?DyHTfokW_;-?^*{JW^F7+>_ znf?h@hsFJ#LPjs&%JZDq-lwR*IqEe^6!qE_r%^9&3>{)B_#fKI8{1vp{pP5bvQw`Wa>keQ zt0qGuX7v)3ddZ2^OIe!hWk@V{yj~6Hob^(HbJPoiLe*<8oOr$VCLH|H>h%o zQ?HeB#`ok`_1Yz@m!Q;3POM(a(p)b?V!7k>YCz|#mkJE)wY<7o^MF-A>hl05hA470 zsgthvXMDeV+xYM&>P4OZjKgz{!^4Tps{0Y(Oz%^lN}BB0m*%N9e<6Chhz38r>*BA3 z+r6>B;gmNxH#ko_`03K#*b$sBFYiH36W^J!I|_oo;~(vBf)RBADT73YWNH8T_(wmn zwUhp}WrZRK>e4svh!BX4S!v~A*;*PGC&X&p* z%to9>fKw<&k&mjc)Y)Q7eRndO3p%^<>cNc&t1u=J3qZNGyBVDG3qUpB-2X6$!aaun zS{GsY$%b>|Pd1si!>kYTU-JaFFVEQ({O2WcRJ)c%U=NbQ%t4~MDUO) zW*dA*Hs?S^s5j*kzvaJ^DZh)H+;&AD;f)DXg_M)wITTQxl=* zJA1mE@q_r)cZSxo^zgNi=#43YPfbp&sg(;nYU-h&hu>k>zD1SN%a5KP@%!+E?Q6vp zc%q4nVL2!a(dLyN=A)(@MKJ!4%bo5yB5GeNDCPHqsoiU-J%dKQ%Y}4fM6j}Hrknej!m=o_cT{ZXCS@!0R$L~6b+{rWd*1~1L;lBPPmSKxhd27OMQ{$; zTa2@v{%i@+v-D?!fYqPLeUkgLr7B_v{mj;%sTS(bc9c85j9>LlcRk|uL2 ztv@>saYLp~z}b#Wts{CCnOYB6G9~v(mZ=j}#GEpvT1ci&k~@Apzmh4w$kM|c(xvNA zgk(x?Os14?c9}ZsAC8f(%v|kcaD-(dQ_PM_52OF4OhrhhYfriIK_({E-e zTD)<&F>$jpTV|h<>FuM&l#GLOu_+lZ&%&6-l&n>AFC)S#Txg9=$r|9W3;Sne?(@jR zclke4=B9vc<$r8U6o;GoFRw0hdlH4r?S&J`+)td$9Se>~=Jpm(ww>cY1+ZjJ?vpEX zD=EQ@b!JG~D&X6bG*wTMwp#A^Q~8yoF%^v@O%akbxiLvozJFKJT$wGkeZUcxiKH=H zM3SZmNt)c4q*J-9b#h};r+l+Z-C6W4GnSk)`Zrf*OYLBAgk>UiFg_Yi6(OmU8skLJBHdRy-cevc~BlwlX?W@*zsx(DN;^f98PWfh+xO4wuzvjwp zsT~Q9uuLRwKb7fJX^N1<$&E>zmHFQqO^pbvaMNho06#hNHgULVEN#r&jv@+~I~pgF zxmo(QW5knfW$sykC3AA0T$wwT5@ze$jsw0uNmKPCX~)YQKY?FK+M0%>DMFGaHzsMy z_wP!YE3>7x4jf^bNE*9@k)$a?k|sAMX;$WcOVW%8t8kN~HNa2SyiGg~Wo>!&XzdYP zM~_$EBZzDT{;(jj6=2suTbD8`ac*eKf$@v13cRt`lE2xEqaJl*J?i-Aii6tgfO)Cf zW|g`Ddo+dj$a-T2z!=o-I$&v{{d<;e2?jd$@7F^%mi&jZNY>_>H+CWb^cDQ-$Ym)w z8K3r#pN%`}l*Gz|_VpAwAmxcV|n zemam~gMOOI+Q)VR<}7RL3%#*_Tu{6|ShAf#Dd+lKn0z?%T8?v;a;=etgq39#VyAKe zNu5Tc0nSDWf8BebzbyaNbLaRU8|%cArhexE(lN-x?=7?n{Jzv1yA5Bkn0;>!{mc6t zGBrWpEa-D*Lf-qrhe%WdI7TyM={w-jwbQW~?24{=< zbM#~TXUnT+DDB(hY56*w#bEe#IQx3GTkNmNoaY_nYnbztN0Y%up_YMkDnHv;z)pc!ZCQmG{aSe-FRfSUFe?a=JGrD7z|hV*R4BfMh;MTDR_O7sBh^ zUyf>bw}vfbSPflEY|YSsW}ONyJQJEvyz;t4o7;QJCT_a5-d>_7HaFwFJmi@v0(^KM zQH~GGj1O(z*!uxFK6u{P2NXCT5^EpC#}21V7`!nBf&j47H(Y=(cs@VIxngl}pK3** zY6Nmv!+g6bY8IBN8#0!f$%%1Qxxgc?wndvV zqE?$SM)fjS{1Ce_3eY#~GK2AswUOu&tI?&(-(xVIcKy3*+7kp{Cav_g;io1I)$ddSmw} zsqX(W59cvI9s$e);NA#e9sr++0OkSk$p~N`0H2Bg<^k~O2w)xnpNRnG0r1%fV4lb@ zd3p5(&^h@+N31(xy1aUcV3#(-UZHw_K}e#!RFd-t8D4HR*NmIPF5{SFz*!TvLcc_Y zfMX>YF{crEv_*bdkw+MnbHe6JV2AI9;WpA0S| z;V5>kFUGArqV04UjM9BZ3_ac(dkJyw3`cM|-gsNk^<%n6zxz@m%x0x8ZsF%+j^@_QpUO9Kv728Bz?2Tby%lQR1-1DQ!r0xJ-Dz-gS zj96ZMk1Fy+ydpE%_Jr7G&DvlamBS_j#{7ny&K@=5DD5X%I|rA^G`x3J{VfUIV0LWM ze-&f~Uq{NkvEKt98Z8cc-gM>z&{Dk_ylig^p7F6v;9RcD(3%adBwx8R8(f7uns>L~ zslAH)tGCtfM3M@P+Ui59;vaz4+lIEHd*|k>r26#C#Ccf#Z_`AI@y7l{z6jCBh3L<5 zM4F!_6Wj@qVD?$4UJYIO3U9+-;J;c`yotI@{Dll=K&YJ4nNQR!IjI;QV~bL74XIm8 zmt=!$@wDZ9%$B)Uv)qm4%qosp+NYKCpT=lWIyN`8oH5JibWuKd4as?|#VQcS@0s(T zPP!S;CAr`_(pGkYHhc7fH^gJPvcXQETRpDx`1x!(lXaW@oY8V;@z*3?@i}+33f+^n z0-uap!Ev8sQ)10un^|Mu^RwZN{&e?bNc8@q+*tFsh&9SNo%u|IHHtCTOiVYY`D`PN zVk`}ZA{f{ZgH!36QRhCyb zDekrLxJu=CTGM@Cl{_!#I%$>*J~1ob_q68S^Tg zRlJGV+8g-MdDolGP1fFME>CQk+f#d!x#KRGk6D$@7b@i6%1^yM$V66ih6HPw0{kn$ z2ycwz6Dgfq9Ph%@>%Rt(_pjqe7V{)t$U*hnny@rzJjl^#=eCcq^O9ceD07oF#z(O7 z2D`buv~KRWOXeTyXjI6Z+m3iXlg3`7u`i;re@+^2--gDfx(*ngg%O@bbK-gP_VFw> zJWC=xgLC3}%l7dsH9R{+cy^o<&$jh)XXaTDNIu>}OVy4w-g>p;%}v&hGdEQ`!Q7tO zv&wW(OE*rySkHz@H z8tQJcK+pSeuzfADw)g;EmK*$*7iImg(Ax#}TxICjdzF@kTy;KTZ9 zQkJ+CkqTl(^btAZALUmoq9du|!*8QP-k2g-5y^=uW|S*b%sBkvo0D&YingsMu<})* zA@B}>A(dJv@tC<8ynT!mx~j{nVk;uVH6nw5px&fg|BQqIlup*OK_;wASc z?A{^||CaAX%chRR&;BQ|RO=+pXQ-MnT}vwQ9da^W!*|YKX#eT}9Qb}=^%o2j?U+|! z6rQSa1A|O0*2>Qv4D#mMUtd=7x|;`4a^ALiZyx~k**1odi z*R@1(ZT=sVFO9<;>NfO*I}7ym2^^8{r#L`Qtue3s8BR@H8q3dF-eP$h(!VuzkS}n? z9pp=#h#n{%(!*DD9P>3K=^;w=K(3?*I=;*i=hOp5f*!uXfsHl3b%SZ;GG#Ml@Qe8t zj%BdK{bde%0MF_{R}=pLhjZc_u!7bHp{(wc?kvW}c`dEp;p#6`tbf=P+`^!T@8E@M z-@$=x%3Yk0P5B?uX~(>=n!jJ^M&2+!Oj zxDB}7PTw^4_ELC2a*mImBMlSxAC@m5Af-nd_BEM zoYG{LQ{2-_cx!sEj-K;kkD^HE52HF=w)5eN-p@Qh;k{lR-yXK=VdCtF zkv@nn>-(l_1@kZXX$=+f^6dP|Q@Q4VDG8>ZKOtdFU6K>+j6>lc!;5K-nC`g0`FU~g+ zoC-(J;5KwgclC4*U1aRysYa*&9*%N#8@pI_!*~mI!(G+AZi|5?E|KLDmP;XHa3wi- zJVJHj;fPf?ijBH0qXU0Snd;U->PD`p8y(yRBNPRR&|t(_H%^74XK)*bq`P{ik3)RW zDCos*bz6k=+{PXbwHF~UI7Ho&;DvT;Bki^vXyR6|T*-13%hixEc#3l1gFsg6dEzMV zl_(9=a19--&vB!M9i@ikiW<`4WsYgiyD3FM4ZV8_sEkipe< z@l##zj^0OVuZ$U}ei$F3ei@L1Tm3QuOmv0dSJaOV zZnt@gf<$OE zXW|_1llV)6xQpjT-1s~YuHfmjYkA2ppSxcXY}g+I6JC1sU~KPC+xHUSQxsLKHwGx5)w?e#m^mGyDn(zHx;h%I0z! z<-(x!S?+Ql+IbYmz50OqMbnQ#=i(6jy*+6<2`EWK8`j03S)cp5ekAnk^$>0 zmcS8TWXNGf!+SG$rGKGua1WZ~rmyd1@=OiH0+6?CEAP41zbm?je>aG+=cxdAzlOuu z3v})`_96~t8esD=!Z@O&%m_juu>gYd^sfhfjXg>JIk_x3-3mn!a<=7Etk_mc*nxK& z<}D~uny!tb*roFfDT=C(#!hF1vx>mLU>r&N$kj(x@dzOGFZi-jF1$BH7}iy#OeiL+ zE@K%_KmKxKM!Xj|1OKs9KAfMUbE*}3oAGaqUWwjT44K6jhj8^a?7)IIMpmm0?nC9jRzs3R2QG;-K6osD|(h=$(`wd*NgBr`PAjeXDJkxi-q^CXFG6jz`WuaB; zC&cumoP};2)^B7e1A2n`mX6jgzPMJq*#G;GX`QV2fe`pa@#rQ65KGV@7FVD)UD=SbHpDDzj&L z>yZbhGU@O#$71KuhGHQdSYR|BzAJGP<%ZRxTwglcx|+*|mx2Cv2+!g#J$Il4L%P%5 ztp|iFbi03s&g|*FdGSFiIkz757q`~qqNC?w63JP1^t@iudgMyoj*f1v$0fHrTaV|z zI2~V0ajXJ#ciu>ZTkjvf&L0H3w;$Fr(fo~aYrnh5*RB2RY76`^4}tch9iq{Gzuv0I%wlQ(#GUUZA?eEHs;E>+L$M)I2~V0xvUlEuf4gA|Ka zrHxm>-?F>E!3%Bt2M%I)@nRos+?v|>30zH_B_HE_EZv&i^y8+Px7uCGfb8y5I$Aq* zLoe zA)Jft{T&&*wX03-fgdIXaqa#EFSP4(9MG=KtlDFq3!Dvw<-4UlrXt;O0>#=^B5P|s zg-~oXaJM4R5ec)2Rcfg1xZh0It*{>FCxYDU$R^OgLL3fehA2K>NC;nK@}r5|?guSB2A^ zz5Hu%g`D%uQy07H`#0AYpS^U}_Xg^V=?T;~7>=lKEgVqa7S8sp4Nk9cdVBITJ2$Aj zlR`MEa2-01sY|g?;b^MxP`va4Q-$g1)})jtDojm^r83s$?ipfugL&BKGMHs|$Sk{q zs?S3VieqJfE}lNip6={?rRREQmAKwje=3*Tv$eJU7LymKKkW#Q`e(qwz5W@&|4aQT zI@Lcj9j$%kQU8Hd|3M~>T&ezabgMr_O0Rz|{@sODe@t7zk9W8)OLA_-adSwc&L>h9e9^|dbJ&kT79t= z@vzAvJWw$@xD6jDmUH-kS(Y3W+r-g1>H zzy?Y@zOyzb;-X~r7@Lbyv&w>fVg^xJ{J1RSLHoqe(d|CLg|YUDk<5zYU0%5a=dN;; zzx$^DR-l(T=raIP=uLQ1b2ELGtMyocOOuVf!$1A8!d38Eyur=e3r>#}|6XdmZ{%y9 z)A6;m$@PEb?)DE~xw|>PEk=7IO~ijr=<4--?)Jd#1pW)bU+#I?p_Nzed9)rHvuWr{ zx#5MrlotnFCy^MhZb3Y!smurG^gZq{=keMech-^#N&`J3KOL-ZIAH#5FtsIJkJ#)6 z9+-logIiNlEKI>|!?PRSgi=oa>zv(%Ciu9wSU+HSYX&sE{;#RyYUIs3ITbD+dL};v z@aCQA&X$s$*J9cau4^$53g@Oj2fZ^8{ndv~puYwYsrh1B%u6i!v zs<){Atr?K&|21`|>NyoI-z%z5cXsyge9#>JXzWIP6w_hu>-MRFue1Z!21z?KgBRMN zISy!tNr;bjpk*x1uG|7X(hez}fP{xQD`{f9x4{)eXPpFE&{ zI=JbdVx{Y!OZGPXzcmBW|G%d0)IX=f<$Fc{>CSJ^e`e^Go;KWmH$fG2)4xq&LkZP| z?FfAp0{RcY0d}N6lz$4!H-nQfmuJS5qpSNjObuAOsNv0<9oIY^%$V}zcbNQKvjMMl za!MOYuE@d5LXwh)k&=&49&zLWCDXx8$rLMH$&{D>+m!s)48H92KcxO;0p1>$6Y(8u zRfmA(HmHk`8^G&9NQiqnK=rE=YBx!kgdRHb7XqgUfTBca(TIMpmP0Mf1fV%R(rta*@ zoC=rkm9CubEM3_(R{mXU=N`;dD>vObxc^%B!KzR@bW0y;fo?}Yw^!YCTLaD}t|sLF zXt4d;BC9uPneu^_gXv&>^95QSk*;O(fR^dtre%tiu4O9CTl?}`GaxPhYwAudb1GcE zSG1h&{A&Mwk;$dwYAD<*IsGA|1y-$LHL1To=w*Xb5TP7;6UU-1YIJ z^d9^+-BS9{Z38-3-@Jitu@KC8Gb9h_mJV*ZrC8~@rBb|Aw{OjWbo;NVJ9W#caQR-* zZMyTTy8XlE(k*?tM|2x7WF}^C;v2#x{e_61|0vWJ^8&Q)>|^K_^IBO=9Ib+f-dEy4 zw%Nq3!kK3rt+eutqcv70ZZ(~cp*2=+EAj9^jF$wkOIQ+yqT=DAOiX+9YkFAffTK)& zQ1W=Jz($MP%6!=t8>mru?4O3i%N&?Ov-UNmC`hCeTzLVAYbJox;zaN? zn7-61-PyI&%5{A&+vFOjQRea<*3ton{WSjr9khg^P|q+NEFI7?e9t&v%pQ2g<)EpJ zxNveA!34A%!?#Q2X2cbD0%20f)3VFe&}Ef=>QLm z$H{Q~S00Abo#kQJIYwQy)>U`<#emzhutQPZ@u~)Or&aE#J1v5@>Q2kxJ>!aU-HUPE zX+gZ_7(7e;m%6`4b*IHIRCl+v3_cqtcU7p6} zWH>(Rej3?W56kJ!Ue@xLH`JY0?7P;!)QfCZ53A--d+WEL!z%|=2&hz{QpIZI;-LmW z{&`%hqT`h6fd{4k-~~s~$f1M#4(vUILUdVV)QM7XYaOWy9W#oSqZDo2x@iL(D}e8f z1=kx8(~Sb-&)_9mn^kMeWGDc5rYq3{8Rd=#8#M#}sJdE!WmvSfvMJo5Mt(jk?u98= zFxp6s#<2hrdTLW@5YB0?na034s5es1^L-|dk@Fn@YdMurH^X*i|TP@n) zoe-&PtEnU@dC9%a63VOSYRY9^YOZ){? zU0Om_-u!T`Lp3}?amz%LT*~P`3gpy$N#>0wd915jMGm4AQBtQjW$i3sNr!w8lcQBJD^& z2T+DUwfbcJq*|&?!tG%WRcSbBFHd4iY|tOLi8K@aeoOy)>dU-Cmo-vPdTc4xOl9%C z;qOrIv$pS!ud~~s9-wtXRCvN&oS*MWHJa6(Y7wxGZSriPK3Q^R2TxN}WCN$Mzzs*?FpUTw?0d_9}Yki=Ca-f$R2V4s{w~GODck zI+f|B7N4{)>!v0|*_SQRR%w6AOImH3gYwD-*-f1~V_()wmB~?ac!+xM=H1=>RD;!( zP{%eoI+Y1fX}%Bk2dLJwNbYA@Wb=dl164xnea9RsJMhvqvkl;m3uI)Ppu#N{v%<#{WKHociS$$l2<2^%-rku360e8W8^z@{3W>D znZ2~+IQ27RbrrKd6MhHRq_uZKbv63^OpB^3?+uw2O;laiH<(ymO;|_1kulURhYOJ0 z$Z{e2m_uDEOft3YF8l`MN-jFj2=~Ei>?V%`3Cc6ytTQvz}!;;t%2vRZMHAF(X1=v-$a?agNm_qFsqoV2=w`}{b#M5vcDsm0Is zOI;eE7WfWbwm>zHYBOnp(#J`vHf<(3)OEg2gAr@6nmo_rK%%O?qSlE(<+XzP{3=L{ zo7q;Z;;XN#A6*fbW5{>R^7=_hDsFzClZ{mV`K0X{?{6u!QU$FozqX*Q@%z-xphh6Dzxa;@qoWmG}vZw^&+G-=}&tO|6_w&G3~vN`8*Jv!9c1>Onu)L(6f zE~~CCpQCo1I4yqJV72nH$AJ>6$KHo?OQ@^e$>!Wb$Stbr{)cn7sE*6Y<&&%42|HBe z%Gf!3)QB9HKis2wvh?-4jF!#LZJm0K%K3LYD*3ZjNo^2|Tf6|g2-1>Q*aqImhzx+1NR?)Rj%Qhk2_7?WyEHPb9g3Yf&zd&Sz~R z`D7-^N$lS3pm)M4rI!?6c}msUMY7Av;wy1|t-P`Ilxho?5H%*AY)G}6-Qv%wD*IBG zo>LKPe%h0wF7A6ccaN&!OZA$FdZnm5I8RZDT*trI_vk^Y=_6>SgsKZ&In)H4Usa1z zf>HuiL2jwsH>eL+SVHo*F(e1JZ|Q$ky%U!`4)>btWX%fBr7}-pyBCXo=uiV-51Xly zWp4OKsjzi_;J0dF=vM>Pgv0xeMX1u(QWwUc{$ zd6ugn9co$<`QAB1Hfl9A^ND(Q{igMU)v$veu*@&^QhzuQM`3D}AUTw;yX~#1v`r3^ zOyR!$+bQpa;c7H2&p>rHHR?zSRR(v5V`@9v?sHgxyo)|pl@I1!^rgzb;m0}OsxF0V zrGBgGC)7&C{bjv(!ndkmCUOZXQY-a)HDUZ$6TVkNuamV|cYSHeMrzSKx<)$oBl#81 z$Ek*=$k&ghS4TSEb9ns3acUOZs9dMlB33X$PE?IHH<&n4eUn1>yGDs0&2cC%^pgPf zQ!mm$rCqt^{iNF6@WmC;8@2mI-Hvh0oumFtA*)gzck16%=aePy&rywGX986BQxvPp zj$HGes8Q|6GE7M!o3LR#$tp)kw(LjpT8DNW7N`toN!B?%AChXj^T$Gbh8+f2<_bpw6)ObW>> zIY=Id?51`e8gQtang`igUEfdl(*XKZI9extvPG|+3DcS1L{ zoMYu1JmAo9RUw(~dLPVdJ=>x3?I-;dYfEE~`vV4-a;Rmv25Bt#b#anB_QfFiQdau) zpOgA#BQnr9Jvgnyr!s<-O=V)b#eN4d#lDze|xHstq?P-a-KV3h}7dZ1J)z4P|UVNCXuL1>eNROLKFtTz|ZNDWGg4JNGk)l-2 z$1It!K@Gt#M2K>oq>w|gmYpcaL<%`Z_2e{tZVtut?PN8a{k~b8d?OV!lBs9T2v!*o+<9*5jEg+k6z3z#w>m0-0H&rg(J@k>OD@ihmcvb~6s@U0M{ zD315O+Ql@BX^lF{^wS~=xfV}p6!LSXjp`!PrcC6w6*~@d4oO7Y)Tc}tGZXDq-!na* zPP7l-vZ0WzHWA%c)eTW)uHRRxF4Mp`^7GJhnAY|s^3)5N4sgk`=+#W!m~!adOuk%O zKfRA>9_OA{A7{GC<;jH znR>Bb6J3bunIHKz*Cm-gaPCKR4yK~)cUqTV>coEMbUDkf%#;tj(E}^n z*C5SZC#QU%K(*M^E#} z{MukpU-k@-SSIezy0j@wf@Xbn!h+{@#;>vitaL%o=o%;5$gUkm+TJ^)piiad!nDQ z-xi_gOlz2)>c2T;+-}P6sn#Bp%9p!{{?vA+L=O2(XJeWVM( zHWSLUei`}YG98%?mL@7{hA?edLR1ppjG|QLF$J21$N~GIb6KjGB+NbG9+!(k);6h3 z(FKX>nCl+#D5vLkqPpe=r&69vR@dC+a(>CF)H8pu-x&6*XPz?k7J9}ZXYIeaCs@@t zFPV~s{$>hYVENI|1NWm%H}_oE^-Ufo+h(E$rU26e_G@U0I7st9?4@{(OmU_|GcBsl zG*74o)7gWTUrnaf5-*skGMA-^sn1lK<25l29Hg@&Elqo-Mkz#L z<~;|sUu+-GJ)Kmf>B6Z*FZ^{zuxcZ;bAd%&Io`Hmvxbph52gac3Y7>}?Mz=z<#5kJ zB|53jW)S<89zcG*gnHf}8eqn84!27aMVkp6FK9N!8)znSyd$H@Z!n0ow0I)X5Hpo& z*XReZFGI{64!L$0(Fn85kpUq~cYd%YT#qs<9cxf`+u8?fFh40&N+_A*6$HVynk!a0 znP!x6O>%~Vg)^|x26kHNl$W;)a6{sN%1yL-Xg& z`<&kxkWv>+GW*qNMSd5|=bji=svq&h5UehmJD#?}KI&I~4)|2ahbhhc;AulUe1vK6 zV0Fv<#8i>}zAz6sUYRoF_oaErexD=VVD*jpohcuttAo{d<`1R~nBxvscg$0!LUy8i z<}W5Jst4US&)w4e#k^p@jO_QT(Oy)}rJVb3#^yB%CF=$42dl@%!G2a*{vd*180Ytn ztuPbWzhLEKE6P+JHYXTAV=nF%4=*;@@6kK-`%+(98Kz0ah;rM?F%2t3l;2jKDH=~w z;kt;eBGa^@L?vyNnEGZUDrc+06pHr);kuITUAO$I*{ZSMJJ4>pu3@Xm^drZsZ>z;L z3Qu6+x}~iS(@-u;Yg;|0`J8(vTLY$x&`Y@PWoyLroGHfEglT(W@*8Pu#&n3|O|Z3K z`k8Z>VGD69*+N?w`#oa~F0r*{YQQ>MYHQa+Z4BW7j08HO{;%iw#{U+dgK+`Y$oh*i!`s==30K-=dao3b3ZG` zPr^5B3*FNE>J|Fdw#3cvjxC8(8IE=jR^QuJFkylZ^n-1cTgZF1HSE`j^ZUuRo~aVo z=)P?uQ+KAHZJU|mm>$@+Fm>j5zu2}hS#@}5+u@eOBikxcirVipHRn`H*dJKLx-MmZ$h45Doc%YZ*<8-@_CJ`mvR|P6Dbq7h zxUORVi|H6vwuS3p`*Wsu3lcT7zhIgRD~v1L{x{QjzK+`1bq2Cv#gId|?qauPAj@Z2 zw?1|crlPE~es(V=OP|s9%uE~EFUI~3r;^O&9Afunvh*^-?#E>5CC;9U3EQSaFXQcb zn5^r4l06^O&z#CsdjY2AT-zD;!c1G)F3qwRV_MI(U1%@C)RFy??EXyOuwK^MOEZ0p za)#?I_OfpE+hY%4vaad<_CTgsuF;3~Djd(wxgWMyW5UaPl=_Ih22(!vOST6yHDz0H z%wC)6Z&>eOb;4fPEr%3)Q}!Fq^}B3u!IX#NU9pF_mF%iLjOjT0rP?Di&>d(4Y+bOr zZg1^IH$c>W)^+reP*?6*AKTlopH=El?CqJRa~(dlcVx1x;%D~GOxC^Xb9*qhh=`oxsj8nt)z2tNVU@A=#rvnJdR|i@gxUbAzAkWl3QX)21cqT&RB;Rmhg^>kGxRA+v$?r z-HtGuE0Fw8X_6PWlg!z5mMtp2bjMjXKeew=f|s948cx!3Z#SH@cd?0AldS4@v}r|^ zar_SdtSVq*7Q_v_MsYh`q>@jpPIWB8?cR$udHG#(Dc+KN+lQ01T-sM9_jekSJQb9! ziB{KGR~c&2e8=E-$;EK^NwxCeyh#(%=e(fxcnD}y#}1cc+#js-+d-UuD9Hx3i^12y ztyZfgrT?@6xi?4KX%$h0WKovQYti|K!6eI6Bl!or*9oEXc|qKQ)v0e>3u{qIs|;L{ zHC(%R4!NJ*9|Thgr&zUS_a{LVYbvK)ntN;~?mw*>?eN#?S!e*l@2UMRWQIDFS18vd zn!|s^B`?v4+!u2Xe0yqjkivv14Iyi>#4vX}M>q+zIEC zE0J{f?bWOoTn4kYn{$5-;_}?!+-q}r0-I2I>V}g(Pd26$X1z-;L%95Rs?vG$h9u8& zI%~MaOLGc!s>UGvb=E^icInC5{;4{-|HAII8q;}b7|DIrDV;H}DkwSYZB%7)nak;< za;#n~3$aVXX4E<->Qb27+;)e!Wvg;qY~u0^XJg z^AnfwL1psI$*rHA+r_Xw8O%M+m$mVK(Eye0O&TC~rv~Uel&^w+YQU)x8-g}GhLGN)Gs~=juv{qy4+kt#vOJzIe-nTb# z+%Fqbudw=g9kyU=*urFH_j(PeF2A)TY4w>`wLx|H@7h?)WxG_5a(R=^y*yU!+-v=|68_Gbu{3Y>NvrMZaO+zwXtmcD-0qg0Ssz4g z(S~ip+iYX4mZa^>+>R-1m;6}gNmb}x;~zrupJ9@!P%HGPv5Se&fVOC ze}z!W%c_yw#oDlPdC9r>hn(;#tTv9@(AW~g&vUbE&M`p9fRngue{h*( z#q%edX!Q->A8Yd+CkIl%xQ?%A>%1$cY@L6>Z9RZ(`xh;GmDg%O%X3J{vOmf#-JjL&bdeJ;+v*VttjyF6`r4QaOH`_6Z)t1tN8+J|K}Sm45{ z{p63D6jmM9r9p;F`4aNh_3t2QOj1~-t-6O4mN)zjGJor5kVVE(y=vqmIRiS;YAmFm zn!WNReDk-qHGMVA=LKF5Iew*Q(~9cm?#z%IcIRvwq^>Wbwz$pO$jWW;s9_PL^HIaH zkQLa5Jg-`@sZ;YOmy~T96`$0P0AQly&lDqj7TEcn_cR&Od5c>CpGvS z$pDs_HYRu#R{54TaFs24p$5o3BTKLLbiSY+$-MCmkbCcXG)6jHm85lTW@t`&+trk8 zse>)#(8f&>@<|JlZwv1X8G$exIkjsnt<=_V-8M!T`KK=PkAP{=Bw%Vb){^Lg`&ggX`)=FfzW*YA|&tT z91J0KkasE4Ob4KjigdW}x(odBcMlyWZF35Kwo&9;` zGS3u}dg*@D#TxT_^S!1`UFsp$_`E@F^4-?raMOzFW%6mH zKcRfOrP^2VPdv?azD}}9;Gc~vs&A4%K{>4+-T>AhtNIw$Bda=l7aW-)k^867F<`TF*)q)wEvsP}9*p?xD2vFYbe4jw>f;XciSen`J!Yt532`t9!%c5nJ7b zY{|QF**1qh##L~NeK=wvFh^@NplDtoi+YR1-FkWaSehrG`& zznm(9^MiA|a35K|mUL1GcbTa83g~-L@x>01{CgJ3wCyD84kP);I+C5wlbq0#WT)07 z_e><&cQwi0oZ7lgbiQjk$w2gq!fH;NlFbUM`NPXLtE3<03xe#PuLk5hMe9J;EkQD* zctgm6su|>y0^}P}G8FP^kyeoZ;V=aYQ^;e5+Cd&FN+F*WZPhGDZ7yEY_^A>0f`-oh z@hsfS6vTDZyPdben&>^4b5PrctjBi`HW%;Q4A({Of(Rdxzk4%>8k^i7@)Bk~2Zth;MxlsB;kp9suBO&*BOhn2RdOpT{#pdEC zJ^k=L=pf{_j5E2+s}bgX?+uW73Xpu5i%L~F|4y9OEJWwM3)6XIQ97?xjL!d4>=5M6 z;-?`~)iuZsnbRO2>bsB?vpj|zn>$l;KQ%aiZpbNx%R?SE)gaqtX$-j`cPGfC{3K7? zD7B<4y>Wga_b|w#aCfMf@iQS)&rp5;#QliMKM%fh?Tg{Q7;KPbI@E6TG_0wNdV9WBss1g@>*-KUcW_Pjx|J%IH`TN- zq~|ou$*9|hN<;chv2q_2gpodX*dvp3x=av3%HF{ets@>c5@aD2bonKFDKHsXnx5fJJdA+TK|L@g{ z`bG-+#zVarvR#&Iko&x^p`UcTHBsL|`t_mk>HVC_a1Z&mcRXlL=TC9o05-&-c3q~B-mu~L zJ?2olLY>zs>2uv-s|ULGQl~q91;XRuGkN}l-st6XFo;stE&TACWe4OpnSCJ395zEgSWg1fXoAEfmDc`58r-`!s9Cw%J56cFX_NLToR43VjWm!(MBBxog1%6d9 zr3TA7EE__O=t#AAGKKodN}Q9;ES}pBONI^Pq`a4N`Kdky$YoX`l1B^Ag-j|+?n{f2 zOJMP1kXMS=%j2i=t7DLVaSGA7Yv^E)>3bXOiByBRJHz-V>WqnsEq|s^TFJ zn;A%Xa)4!T7s2JbELNChIM0dje(HX1%Vi~8`rGLKa-sJ+F7r0HoVLy2^W8Z2@i@Te zzm)bKsNp4&}T3lhSl$k^7|&n*Wcra9$l`H%82*bPDeFDdkXKm+6PpqG!-JaBUtM z2fliRo8Jje@RTp5|Cw9(uW@dr=AO$bj7S~o)P)u(A+?KE zgYx`@>(R^Sp<7(b22w5D<67-#)sa%5SbKugOK5vzc&iM~67C76zWNvXRTG=lua=hc zQ_r)^h5S0d)w}NF+}YFqL%tr=uf}?lteoe@Ywc2S_w%xE>SO<3xLZBM>N8gQ?!Cp? zQg3eA|GiC}x_Z4e-P^)yN2^7gZSnH87IY8)rnYmxU%a{PUTjD9W4_Ur~(s{7aI>KL+_M#bO35<1l7oP#lgM0&$} zy)!xS#e>ZObl!If`SyUsySbf(TjCc{keIQ_LwBFn`RM!}=4U8J?~0WB+;Ujm--lxD zyxOZgxfe$X``fG%KB`TYzcgI7WvmOSed;33cKoDl-AS!;cb9^@LoqJ3e64fK*V)Q6 zYPDR*SF2mztxzhu>(O}3eI!O9)6=1l?Kos-$bSpj@4tk6HTRgeHz=kc|+7%k=OdvvuX%m{%cFSxrQq|>&Pt)Cu-+Q=DZ72-O>xLXynRL(H# z-NIaG5mpF`2vmaC{;?yV&$brjO5AinYt@J8oQm1KCW}!kgu+`#Ynw_IdNwi*ztu8W z-9V{S>^K4&?q#%yQ?aXjOjar$DqM(Cai~}!N(H}qwBmVH8b3mLs$)WzCx7vdr#fd5 z(!7E1Fx-}SRI&`J6jntjbxu*58C4e{N;9Ln%9P;M4QXalpIF2t%cSl}NJ=HM%8#`w z&Q!9fnnILH7B!J6!K+OF5!m}+hDDr;w^}YCDV2BBbs;K?k9s6TsraZMtmPmrHTqx# zR#()rh*Qa`!k8>AWm8jxD3$DLy%436UH#0IsGf~{>g%iGv5H2iMD_RZ4_f9>txIqY zNE0*lsuR=vT+27@M9=EWl&DU0*$bK}bYStJmO0f2F501UsT864J5IFBqaL~FV#|EW zuO#I#U#(63sAWMF#gu^jzH3=j4Y9~8>TQq2;2aPkpo zvCzG-(fBan3ZW-sJ(R!NC^UOS8om;|Lukba{3c9&C^U1=la{5`4WT7_UV^?CYMSgB zQbzqE6p`!$dMZ?CTb_`z>TjV6+lqj^uyT{ysKC@{T~7H3Rh;Uf%BkE!REGdnScvKn zph^n`pY4fX^92gEJiEoCys9Czp+lLF3aY-)z77>YotP$gT}%uLsi?*YeU?}QG)<@u z%8B2&m!gtQ@cQX+T~Jr11a)P4Gtdm7&n|_BR92gr64mmAwjotiKxvA14*ew!^I2V) z64d5(Jwk%iG@(N8r{R}{u~;jOx~rb0iSUC(rbn0hg}ke#33*4Rsj4b#Ir5vYcI}A` zsj8X_eK}|pD1nLkgjUtnNhWL^>gX3zU43o&d3}uhYN&fcKfdn+`c>#C{A#Mdgf7Cb zrZQN+M6I&9eHvD?Wfa=e-UpOjNF!b?l~*V;;?+{cgbtL7EL&TZ6*^vOLP%{@#Ud_e z9aV=ZQT5(7BczUs7iu|rMMynmFHgBAs*RhshBQ(qgkHS=VMsHTuY%=wV9|#mE!9Y& z9}-W6gsJC3*Tz2e3|HAIS|R6OESWt*6=NbTT?~m-buIEby*W)qDNG#WFTv}h&G;># ziV!-tvZrdJ+6&!Txy7T6>Mk@1@!G2XLh}%>ts2T?UH$FU`%H;m$0AZg+NrfdDG?um zwg}Z*oEp+z?G|dW_#@D9q2IQqg>+D#2>o#CE6^80$4}h_-4R+l=RWAZ(5jSQL0*Ae zcdyoKpMrcWQtg(%09_UeYvmc*S^exH@6h*D5n3n*&4;zh71~wRVVbX+?I;r3L+uj3 zwZoSC_Ef1tZ4PF&_f)E~74P(>toB~2g3vc-v)X&BHcVFk?4#bZ$gAF*Xx&Hk7HT)g z1HU1Sbqm>7#fx8Xr!;)4eVS17PClUdLMffoR6n&$=yNQ7?x)sT#Qm(l+9G~?hV)eZ z)gGavL$-MIS4Z4J4p1rLcfDsCepP%!=!>2{pj$%Y7pAFb^_|e%g+8F4g=Wr3Qv=mw zp+z&WDqX!0I=3NB#VC&|q$TvT4L%@mi@2Pz%1`|2cT7{Us(?`C9_w_hDk0<;Mt%XV zcm*rQss=9d!S8M(C1jD=0ii=w2cf{(l|emRA@Md(4G_Nzm(xH)g+96L0~#xoy+R3( zVQPv{{t6kg3{!K2b`0*RhO0!OvxB#I3|Fg!N>=EpMyO3f?^f92F+%OKh-*7iopX_o z8maENXtu{Fl@%}T$tq4nOUJ3ILd$m62pyyPxM;S=IIJVHLN41`H#A<|b5YaKiK;dX zDy6b)XH@8973rdmp$V$Di@JqQQ*kcp7dk^Na?yy;S?X&SjSrop%2u_~Tz+G=$2=9| zqNvaXYLbgOhAvV|T+}TzQEe4kI5|x%RX;OLP?3XYdn{G|;hm@^s5v{arcnh}=N!C9 zyGg3L5NS6_)wc*5oE7@M>g}T09xK%>i`4cTK5Di4!9}w@)~I4NtWtkE6~FaY<6Sh{ zW4$^eH0qd-+NeHq(QJ=R%B!XoZ`84cp&zK4!9){Ok7H^0jWd3xgueteoawYsavvY~ z-FDIYq1%;LEh}VlpAn%uRYw=C4c)CSyJ&mpKGm_dGvtxbgQ`LuCtVIbs>;@N($}G< zRaiYI%?eFX^IY^a^oqLUA{CaZ3f6aq%n)`{b##$W*e7b6i*kmgDSHDedA%seLZW5caLg+>k;}P@DUtsk`b?BP-q^rV5QM3b-=c-e;|H& zui*EL>Wuj1g5N!rxrr5zddNK$!<483CKU?9@Bdv?D(ok<$VHXH9;mRU6faR-jjR;* ztMX}PQNqniVSlKrE~*jsmwF_0aB)c3b2YTN6*BL*N?|Wll@>(SolEPwOo?7}U(vdW z(7ris!n6*vLV6{Q*_YkuHbPs*y!0@-3lrIS{Gw2AcTwjsyG~|GR7aMEcz9^9mR9aZ zmi7#D=*mLf2A9n4sRsy^?LH{XOD7A}0A#ITqK;HUOp=KZ-{WX(Sqip(T z@!K(UWLP$xImF8S;Lvel*>w<;b$9aBb;Qq{ObGMUu`Ze!mP0QW`fK$3u$=m`P^HwP zj$GO+)Jn5bYGPP!T~p}p$cDDOIzs5h#N}c6^bD8Zny~zOxzNa)%fkxlgF=4so5Bj| zM=shCR#+FIrS@p)14|Bu71ecI^sBv?J|k3kdLpGGqMpu#);uq0s&-9Hn%Z z2+J?D|J|_CdY(|-$;-pa>SUqnOMN`b>BmCddKUEz(03xOcw^2N^{k+WwYI3*Fr+2(O|qx#*qnApNO}cAIzgS1!sMURB?BQOWRX`iVte zL(cpfg53zBDEEcxuf74{)pbUuM71-eN_Y*O-y(#p6<$*p6N;p1wsYVH2(bv-O zo%f7FBd_^@vRlMCG}ZZ-5>>W?eZ!mT7A_hR-b~kNXXz#1n7u7q=nYI*6@{|2)Z2xq zEG_i`rtdS{hhK<3CiEBlLiBkF*&x0r_EoN(S;8YqHxl}7W`-Nt79qK(FbU~;hMwRV#s!;WgKA<$W zcpdaNZt*(kpM-LiPg5QBZ$ib(`+%Mc)xD60?`zmPSo&;s!3UICsB4eq;hnXw(10GB zK>3CKo|lGw+KUT$&-VcZ2>B)V#NHr5LWPsJcy!UVg_6gosjj-Q(E0H`pfHP6GIjv( zrrQX092OVYO?S44b=^%zOT5-=(-3l)Q0KKipm9PI{nM}mXM)gle;?3Xp-m;zuusVn zp`9gtK&yr7c1y!PHk*Y)yZL~23k7#gQ@!*dp(b7N8)bb;C>+oBy>*IE_edYmO`(RE z6X>IF3AHZm1G*#B_#~c)^v^=!C-Fq2|FDQ_+fP%QU=AY7jq)Wt(&?-68M5@#FC^aZ zfD#`4wMRz^ncy`xAVZe^+S?*dWq|f$`aZ*fw$XZkE+BLoo0tyJB_-a=%X`D4b$Ovo zSCTda+PxtcP ze4$5^eLzVTamgm@wc=L;C7Z0b2sKB^CTnadL0aOFQ}hw>qc)nNPYY2SP0^QysErcz zM?%y_3Hl2mYNM(8t`N1+RQ-z(wb3;FM2OmGn*LiTcFLph>Dsfi)nenOJOTL#dE|T% zK11gc^37?Bn4t?>#HF68ONrmX^5ep1>WV^V%TEPWcMCa7*Au@vnKDMq(#?d{W%2<< z3f<0>Gh(*xAoOdd{Gc8}ZQ_bW%+Ujc`o#r+h6&B?TPk%6*4FbVW8_m9WynGSfJB{hGhx^eJeyITd02$qLMAt zzY9^x7U}0gRI)|d{vMZwOSV{7wa6<+Qiq7ex{grcq@JLrZXpwOxcDu_2q{sw6IzQA zQljoA)MQ8+_A%@y)MkheXo%2fxB`~yIH5b3MO~^V3k^p9T&8CUjYa=lrWXrUS&*iZ z^a`PR3w%Hug^pvk>3zLJ=mKV&-q#-r?Yz54P%X?ltkW%p!ZCNTPDcqf z?vbX}>&`;0dia2P3mvT(8?iyh2&GgU1sW-IYekycsN;q1ufTkWo-R}qGlHA+e4$Xx z2yW6zLMvOPsm*$=(Dqi?7g28&ifk7f@qyke)TP}hP_odfm1+1==ox3cl|G;=LY=3@ zMr_p|3&l1k@G&Mg!VE45P>5t{3lhTY6c3nlqs$1z<=XnA04#BNLZ}hyzDKtfYTGt8Vz2Hb)Vu8{P%oh+Xrq04pwJey(LOywsL8Uu;rsP?p^nRv zLDPgv4@$#cYV(BZ4e|jk6Y6v}O?{}>2t}X8u8ew%(7^6#>Y&~uG`71B=!npV81o&{ zr-ja7%y&p%7SiaShxJE7+0Z`^>o0@?pqC^1u22o=<%s@8r~%qGSw9g9N82XrzlH8r zh>bX^J-b;g_PD|*kdM%e#nJkh&Ly;Xv4=XQ3k$8!nWm2GQbGrF`hWt3f;UZyIH9Wx zg>9M*sxLHj@ECPcHy4^exLmQ5x|PsM*rijtqtGtcrBk}6(3%p_`m~M~+Ec{*KT>TZ>c?AaylBSiM>lFlte_Uy7QEJXI~vMwz|_Uwud6e4?eMb{7_dv;aV z7b1IhRksi#dv;B?5+ZwcO?MJHS}_g#^7Rx-sptb5C`9(`x*je>_UyVIFGTk2hMp=! z_Uwk9Cq(w_rd}#U_Uxu!BNPey@{#^Ps0-}NM|zJC*|U%JVP`zpvyb&@q0SfueWEW3 z#ZL19eI%3zPwb!S+d^gV{^3)7SBUJ{XZnE<*|X2|6Ctu^Y5JuQ*|Rk5*~4lhvS**` zcZA5EeXer}k|Tp_Y` z-|8hoWb3}wtA)tceWy1Ik*)hq?-n9kcSj!*B3pMypAsTlcUPwfk*&L{ZwisE`(ED? zB3t*pz9SS6h`DY3vrvsd%x&vGgc_jT@97sp;b`}J+JTpabU(U_>+eVHE%X@I-;X+{ z5ZSt)bU`7qbw6o;A+mM%HC`}rDrD>K>uN$n2dAl@bzPzPgRu*pZYD(b?17FDB762g zcMu|b_KWT=ME2|#J-{Ni8V~hQ@uRE%p&lbdSN}sjMToBcM|!ppUHy-AqD7p_uNp6u zxzs!Rrm0``Mxm2^vD=#7Dbyc+zv&N!#=!44eM0Ca{C?LLguaL0@A|q>edPXFrwK(O z_s9BMp_l#B)F1jMA>RQ$px=eMBiEn@@fgI_*DA}wS`rD zs`Cq-2;3X~r!FpZJ}?;+AQU@gX~bVTNNC)Ym7v-}^vv~4Hx{C2u4g(-h@QEg>$XDl z%=KJ%6{2UZ|LDF#^vv}iJy?jIxnAheLiEh_LQfJ}TYhi&OFdI)d--J0B8#}Tf9vJq zce%vg@W1tXp-)RBgSNYcRA#^U9n7>LLYbpNDVer{&I!>IiZ)k;=m|xePlbkL-V`Zd#8&|gA9nZ{uEP~F?=OHDJCD`qztE#f+Om|EgTPc|N= zkq|xEc$iSPkPg#E{EjAEj&PXwgi;bd0rhbUi4XLN--Hfn%F|2|T8O84PcuuXUY|7O zWflpw?&AYmA+)S>8a^t%L1;r~AJ7h=jkjlu#p+faiO-b<(bTRq26fCOeR%m z?4&f6*?cB6W0DW(8=>sDKV&gK3KhZqA&dD<==y~;zrntP)4jH%W1X=RcqH1d(Z9@YSeCvM=oHD zFXc8@g~(#&F`o#L#mr;A64I$X@eQyagtDb>@yKf)33<+l*7?kzLV0F*sC-8Ewc3a* zZGMwMh%9Y>Lwl0bedQ=-=n9xTLMfP`D`1KW)jHNw6*Ogp!jEn7C}=7RokTknGBt%R zqa6yFhC&s`?hP+&S_;)2n+%E)ns$6|coEZCDCu}IsJ9S}cZ-@BAsX)%H6tzJzEsS_ ziyzt6VrH5U+16raz7W~g;%1o;+1BD_tq{%gl`va`Xr8Zx*(*f0wWK*BM7Fi0IU_{2 z)!$qeBHQY3J{BU|TFQJOM7Fh*`Cf=@YiaX~5ZTt!=BW_b)-vXAA+oJyj8{Ky6|QYr z<71JR1G+A2atURFuFIOjLe+<29iS;C)OaY?0h&Oe*eNf<159nP}Mm4TV{(t`KRrhG`~5C97#7gs5aSO$VV)cqbKXx(oHg zJE>qZK#2NaEi+Vz`d}?HR%k8WN!2z}gtp_IRBbayhfo-5o@BZ*(83X ziMnQ|5NV>WIVeP$sAoGCW{bhqOr*#M4D)93J8%VnwSzoq=_b`ybxK2rsiECvJ6d4 z9gA2K%}f*V%e*DBY%>!klzYpBkY=WxkRR^$%}rOKBDmW(H~oY(?&vMdV4-(#M{i-` zgtjF=iD+pi2^~v*37TaQ=N@7fiC=lNLx@=}R1578Vm1ifIOZ7{YPJh~eJl&;fRHcl zabf0|P%+%&!pwOgYNK#-O^Dhk+_YPyVtGOi9DGKXb%}t@cQCQzFF zrnQR-Mh-Raxk66&8gAm4tY^_tW|>7^RQFM4jS$s+l-VLgbsuf^2vOZfnV*~qcxFQMTTD@BeoIbylC+$!;=l0{xYnQBDF zn;Jq*Gu`xxHw}auX8yu!f@vYtF>`~+38u9W^_PjJlMwZniKdrDoWmqDSNwiSh}M(L z5}{`a9%_Q!zAtFG(5joUk@L-t!IZ=I z+TLH|3j?W4R_|G0?l4)a0vDJ*LnvgTSBBmDvM(@GEmFO@mjo?x(GlB1v(`lu^X z5dI(b&I7KhV_W#M`y7gbAd0=9SWvMf(TGM9O*CpEQdLAmnk}&qkysHVq8KGnEU}9P z#e$--prT?SprR6E!9s$@nrI}JgqUxwnc5YfYa$d-j~e zoR3)DNuL4JeOAkhCU9!iIM!#qoE*zZnV9UeNnSJ&DTO#MTD6?k-U&#&@IBkwrBh7m0JlqzI`y9O3+@= z==$p;0kgZJsf@^L{s;eGnBTqtNOtfh{~7X%%JwbT*0M9>cqFIT=TNQE_D zuKbfASNNXQQTZ1^t>AlBM`b0E_fcgi%Q4wjP!lN2G1*y=&k*<&O0Fd+YzTY`B{vfE zV^jDPN^T)Yg)~pd?K!d9=E-Y>ZC2`epFDY!prxtBKv{xZ;crd8lCuSQz~7pDB_9>^ zCCsMz@<~BQVK&W|&vRlq6v$=5whzAdR3MiN%7yPe70B8rynYQohR>vAdqHhKhR>vA z7eQm8T~5h$1WkoHoRZx+u^djzo}9=HkMDd=%L#(q7T@(bBNqyC20AO(n#uAb3;e(H zIVX>1bd20-zTNI?d5551o8JP;7M>r0=Xu#7iN`x|^sdhZ*@qL${h~aOQ5;!rv)%5Z zjDGNaH*JIePd?W4ozEq+ZT*O!e2V3v=2V{fT#*wP9iyAz1BGjHiXiu?NXrF%ITC4; zpq-N&YuDu6g6L;RM+H^=%w&H}KF5h{gP*;>Ebqy4ZgwR})le zipl`#>&YltSK5xAA=_ha{tC3W>^h_I)JpVT8}I+P-D-2}U=im=Y@$INAY zH!wRXVVtDPushjFIU(pYyc>2>vOi<-q|}+)eLE=~KIf^V$7TDzp>!3rH|{7En?0ik+$QyceZDsOq+#97WY2TJ8sPU-d08rm zms*g9wKd1nuznW87JRFsEE=|;ne4FzyI0uku?5YfVIAI9LKa{isj%kz&i8HQx}dD# zwthVnuT*Xe8Sm=XTbUqe^!Vm}eU)>9<^&$le3eo`d#1nR=cjaA$m88S=jRuwEEMG5 zw70_mWu>4)3kUlJDd~ci3?J+ltZWxFefwa)5G7C0WS~&xx}Z>?Fy)D$#xn=|MJVtG zWvmX%rVaLsQcQx{fNi)^MbI{|jZ|t1ItTQD;wGpNXtdIT5nt1eRoXL(Bau1&WUR7{ z+sGwPXMLQ~WeMgNN9HUU;TNrZ$cV4&K2jz!;;DS3BnZ#QoXU+3uuWEG3aYs&(Qk^9#)y|}s*)jWqesl~o2pz|&eK$49kgl6uV(75#3?mbaNDC8 z2W`6IWv1>*yb>g+5aJ~$(*#AGT#bysF8RaWvGHbV|c zN?S8^S7s?bf(C(Ywh}GqfQy5ctSm6wx+`;(1A?+3zfYBGX6mlYRel$g3#rUg>a8O1 z58eY}x+^J47eV8|_L(xoOx=~wl{i6kf`c|+S#757$^zxEps%4Usmga|>aHwQ)YUwP zL7}Vt7AY&%An}%8tgL4Qe-)j%-fyw8MbLuG9YDJ|k)BNt0tKb3tCX3HQb?nOU;S1qjW=+c5BxRRI^{J%JLB#B*DJn)swAxU+o;fV z?s+VJ2heUoZDZY?HY#qLxUD?Cmj5QjZZi@epIel!TaXgz2L~^bElN*8F$W!h`U%Pb z+g4?Ops&ETRT(O%D88ltHf4mMTk#!$q6ICC@9v+eOcJy%z8BC8L0tmE$#!Lqpxyx+ zwe3o(ppE_d`R`Dc3(D#j1hk$LTQ6lPTmL}28Re3KX!uP4rIZuAGjG(gl*f$t8}v?v zZpGTBlJX7iPCJ!0fQv3w{KJB?ypbQdZM0=V}DiMMTMtGV| zD-#4AUiMr&qvQ(mTI*>#t3+?-IZT1SVJuR13%YaWxmKjy67(c`s{hxD=ML`Kt;G!g zZ~a-0z#A(xaQ;rZP{cc)8=x)W33o|hFnMycfCwk7_Tm8F6L z=kHUlDtj35RIV#WxsClD=5?h&5dIzJb)|@Vl4-$NP9;i%U96n+#Fn-GB}ykj%TKI) zqeKZ5^xOwM#|hF0A$=<7;xzP37xc|SwB-uAa|~^zg5GLf_+E+fyP$Q=HbZ_jzO>X2 z%EE}(0m{NCmAo(*6jh0zJLCwh()VJO_LA)*t9sGrbmIui9Nk&tv4!u~ey&x=fJA z{LTTD)oqMY$=Jx?woa;BG536Bey@P4YB8f!QaQ;#pt{=rD%y}D0&1ycg4~im3aG2D zyvA*IP2&UVt6|qUeSZA&fW~UBpc75E2Q*PbZlEoZE+5xeYpzBK+Az*!-&`FdXj_}c znui)IXm=Zvy@xto5Psg#LY*ZDKksOvelDoiicwNa^$S6bS7@ZAnkLA70h~UgW(aD% z08XD#cM1xE^{%J7U(hi4CW5DWOi<^fQvt2jQ-XRWT>$z<(Cyu)0@|q81pT!80?;i^ zY%XuBJ`gsnZCmxJAgpa$Rl3Pr0&Ck&H3`Dnwo|JJ!rH!~))0iXeMN032y6SQ+FTIU z_Eoi=Ags}As+SqdHR%maL zozxwImd+0+oz;DU(&ul~I;**Yo=k$znbiV8WHNlttbQ$MPxFhUi+V-S;pPrNHw6V` z!Y9k>4}ykf!Y9k>6G2}!dm8Yj`n#ZW&7K3%?|F}PPSOJ3QXK^KN~#Rx%89jLH?_X7 zwS-S)yQxhDwTDk-yQysiy)`AAbXQ*&$~$T}Czg8;HCouP|9YsC1Y!U6P-h6b2XA~m)j5Km!QUJ9R8s|E|Gld& z7li%yuDZU$2L0Dd-6{zCua~-85cXehHAfKkUvD)}5cXdm^^73wzdq_ELD+xqsox61 z{(DcoE2#C6i{yRvk)St@H~^Ik!oKaRs<(KrVBhvt?FC`qdaG3hVc&YIbp(CYtVUoz zwXvXc&FTTQ;>23eM}1A$u>XA2Hw0n-`KUbv;otT6s&MQB{7am z1NXoIs&*U80;ib3lWU+_P0;Jr-2;QvmKJgvq;?V1vYvZjuo_??r@`tlLGvKL5Otb` zoQ9~M37Q1?g{tWmavG{;GfE*JxwH%nQ=RW%SyD)9gO-8e>S#fYs=pc-p%w_Ln&=)F zsh+sYJ=-RB4vbRW?sICG*duU+I_(Ee??N3uP#u2c6ayvuP|Xo^{A9nt(Q1tP$A}APWo|+-Z z2Pj27CTJMYXX>|t?o^u{___LA5UD;paK2jOC!XKWU|XQJ6=VyxRJE@lciXLf7OMLM zb!vcABouo z8gnWwaJjnMOq&8%s1F3qJe3u=T5a+(Pjg@OeSvFKUqMgn9u8cqCJ4H9GB0qwx?7Oj zslvbw>b(lj*e5ROs@r3pitWcwoHwe&1kC{3CUuga1+h<@Gt|w3zKi`PaI?Bs&=8<4 z>TyBiVv7T}szrhx!nuXp)LKtO-Pe@_W~ym|+U~g@xKs6g%581;JPq8Xs?Ru0Z|v^$ zrCLu=N@Jz}ZncY`fkUVI?^ag|I?_1HX|H-qQ2hz+K<$3vsnnnFP~E4#X{OzMv(+dw zP4(Ze-ZPWY|DZbQS02x1ntlI6szW)a?^{&ue?$%Y4T-N!kEkOV@wx7ZI)PCtx$5Wc zbVR);=xZoTuIlxir}7wVN7bH!P5>QK{TcBzkERk|g2Ln7`{${>f4AhG zulh3Lx#z1Pj8aKPMyvk$YMG!Do*jVP;haw#b#DxNzyB#X+OC2|^*^n?W~P+>h3Xq- z+SC7x`i_}y^gpYFjP&Zz-r>N%hY{;ahk&A0(ytC42fKj6Ijp_zUg@Qpe_(9?e3 z`Cd>91+7~Ao$n>p9Zn#{avlumITRa!1HV;=m}%v}o9Z|- z9UgdB{lrYS20m1mnW;+9Q+2nQ;Di9}x|zlXnKTL~*YdJ#2y)U|3vwFwZBQMpyCD0q z-v-syf*7R`|6#X->S?#&99up@ehsRxJz*3_9oEQ$8fd=@s=MabpavRM(KDAwYv`bc zS~Et8^hfxMI5(}0AZc6+H#e=L@a%A?Z-Yh}9A+ePkVs=KPhVS8O z!>l~rwP;4EqmUy;L(rnc z27_8^9y*VA{D8+GPi=#lULDj{t8Z{yrFeJmS2Yho9sBhe^qMx>O#Xv9Xa$1o`^CQ3 zQ7aeJs9*4)PMQat(u@7jr(e{dH?$x@m%T?1>Z&ajR5gCWptrPAL65wr59+S9H}QBo zhNKL7N6QfO0l~4_v<5tf&)tK9Ki1|8`o=vVc&cXCklUIRh6hj6N(FWB z85KNTOK{`1Cm+QG&(Iz-N+cVbPYwP=vulL5MA8W;N$V|0X+AS}wpOb#x3y~iS@0a~ zmOCT1{+y@vXu{LX9=$wxo|Y^qbM)Ha6m1)$MB?1IQ2R_vZpu@kK%Z-RGfOJ-HMc*| zJB(6EgF}WfUmL(Eh15;Y2wtE~5;VMEPjITXs5z#RN`@C44qm8ba-wZwvYZxcyBR^e zgGgn9W}badTdei)u;ji(gQKu;^sq6pL|euvl@6a$_}&sNLs063Q^8BLEbd7#l`k~A z7CiUZS*L=RYPT4rkUlY`KpR?e+jq_G2QSmA!`bW=&#`4%Jw`mgWm*?*V<#sq(|QQP zlarQd-hxKJ_dl0w{RNGO?|&}WLIq78F-lsY4HuL&LL)1*af0yVot4@|L3r}cN-aUq zkg!L=tF&Z6Bg38nEfAEkl?-03Efe(RRvVyooLIlF(Y7#3rT4O{4ql_}{e$f=BVNBX z+SNbM9TD&AY&VGaloL_YS^%B!KGyUfAZ15Q~y?@3&w8J zb8gTO3-tqXG21Q#3>{LS@7}DB`o)2kfMYTg;GgH3jo1w3p>8`(DsF#_xjCeD& zvzf}k*2PTNx^J2Z+Y^q|7p2Db>|v%m0V6|u>mF=;#?g$F_08Vb+X>1}nH2iI-igso z6OPut`UtC$+*hAsCfK*p=W|a9N3yqGBnU^cpWgm8ymM|!IFbkGlLX;N4%Y7p!jU{w z@6w)o;z*9v(*)s29-)^C!jb%;?$&{O;z%B+hncB!NQ}PQOu-=&_3E#4PaHi{^_7eg zNqdj@(CK=)u;Eymp?kqE++aCzEG6kH86}ctU#t$DqhA+v+kIzfioU^%d*U51U(XSQ zcfdmZX=iT3J79_K@CGNm1D5F-T{(rGz8SJo_kF8^u7#}DLm0)8S;q=O*XT{UaU1s7 zdOgHUKZI=3vl+#aCC4s=Zqs|bjh=C&fBv_jS$g3+JRaV+JN0rwILi0vO?q$}-o^X% z1%mKiIjrL^9An+_UOBAq7KHc85j~etB3XX?c4)4y_T-*;ubj}|VZ=vIf&RWA96bek zAfrTzqvxca$cfE^C-ucYUMvXj#;^5yy|@kU#tV9wAiNtd>l*~&-FQ{MCkXGx65X>mkGEvN^C6{rf|+WE zey^7@iX*E>lc9I?CVjXk-kW#zE`sphystOu%WZgX{-}2mg!kq{y|^E@;l24tpXQ6i zd%8^T;m2**(@*tjX8Iwd9DW3qdty&ZMsffr>}kz#?$6`lU91~kj8f?s-^xQxMmIrA z5(?il8Dj+b!e^K!V>%~tC!i{L&KFeKqw!FCi< zr$gHr69wINuM^hZNETGsyj7T&@x7pY&+cJejK_lR`u7ie%g};&4qHZa4}05i7E}hd zo<>7KD~^o`>utQki0?so8=Zs=PmlFBdX@|3u-YSKFr4m8HD-q zR051BM*I{00AoHU_6dK0v5pb{gg?;O$tabbt{P|@V#H5Z4Kxb4jch+RJFLI4D45qM zJYrec0HavY;fPIPLB^yIZc9tp9Tsd93%V9|IBbY9VF@M%VoppUo4gikkuKH#2*$E1WO7>fk09<-xRqH$f&oN@kxJ~6yMQyJmt`7!)6W1+Cgd!L7YZmboA@5Kv@ z>w<<(a(7BKZkwq}#6shVAoy(oW3ge1;rX>%Ts>lm;UMVVM0ckzj2?n+v>DxcsSzmX zYMV@XxiMOh?V+W8R~YjI^&hdc?@D8>nd(NYGA;;uy5uc=jnQoa&+qAyCJ}3m-GUt9 zEawfzMMk`J(~UdA*4KBbbGo6$VmyB5q#O2}DE{t1x=~dS{_a4!QAZH|?!ZQ)u^{~2 zfsIBhL26*Uy2*G=kaJ+Gh)qTpL3bcthS5V184Ty88{UGprori5Mt?!sX>fX%5h^G@ zIh<@Uh6}opyiwa?j1%kSip&mo=jtz zusOr`I5Um4g6hKe=QE8hR-W69U5t1OZZ~c+N+n4to~G?arH^^bFHC_q8>6P6t+4yL z(|F5FSx&o*_XRaic{O5}FJ_oiObLfqw%KpAG^gnuvES&# z=%$3W14eg2n92d8ubFy995iwmrIO1Z2Syw+N+#!Qx4)J?{FPH!=kEfq35-Zi(Es3F2KaJ`_Z=J>`qWG(inpY>v2O6bM?H?c;IT zC>PYK#g`G6jV_b6I-a27=eO@ zdfbWl)>tFRAsWs@GIk5<4s|Fs)Fd8n1N6rYV}hVKkL`9hjBG)74wOaQFsjcIIkZqC zZy6)aR4MX~aa@qwk(!bBjWR+0;Q6D`V>XW$5Zf^Fp^+hIEd1R>nL(1dZLCM@$j3$y zqeL<)+$-{#u}#>rp*?@C7_Ii$W91d3VUJk|d+ax}4SVdlnXt!xHxu?4p?GiL-GMzO znF)JLHWT)kVkYb{)lAr97Q!C05cZg6_S|;hn+V-Z-CA6Ypk~4zvoRC)n5~(x$L!36 zJ!Wqv?6FE_!XC2__LznGKtDK|J^Qq%6zOCp>@gQJVUJZe6ZTjQGhvU_wxZUNbmU*^G`B zlrtg}C`*t-^q9yN^f04DvSE5SX-Nw?v6;Okl|RMY`F!1yR$|1TaV@C}qj(ahdde+n zeJjsaw1t&tEBcD?94)t2TG38cHc#4J*rrv66E$d{pf_snl3LRxR-SEO-wewVPrB79 z)Y{N(jCje~(rhcwwlr6GM!0&)ZRuBn2G(w-wWHrydA>rg3tOqFyvi$d@?6Y;*Y7nt zgHb%mtPH=UMdw=C+S5hCmO*18+tX9?Eb%(f^NixjUXw;TP%Xt`d!0HkiYH!Rd!5EH z;&tdq=U91mqzi=Sar?=U9qCFz2eeeli*B&;>_oQ-TfS*>WG8xs5l^!-y=~>$nLZSr zHI%Q6&a~Xh^9@Qrvy}4<>cA+Tq*Y3Ye1ldO)UZxMWEWab(6j2Ea#z|-Q0LmSBj2QH zg5Iv@DZfQe2pUs=c4RmD`sbKKJQ>u`Q|?Yf1od#69r-rR5u`WzEb<+CLC~H?iz9nb z_xU{DC9*oQCv7EYt6h5JyYw|d&!p{`kW%`o#5YWFML=Xj1Jfk?+y@ zg67tL5cxh`DyT$$64{rg3mR%KM|sneg0{L=jp|3g7L-=IYLpMXBIu;@S)?y5tFYPE zit?ki7VuJ^b#;&Or-6cwL%aYQ!ibNvKpG`%1M0mV6-cL9+4|F&!nQz{2vDk}kNVSj zjN-{r+BK>_-7Kh1&8|@c=vR#RC>Ti3Tg4kluL{paYLBRa^Z}z1DJoAQK{R(E=1?N7 z82Ua?ks!1UqB)B!wn4N|5ZZ!i;1?EKFpUy~w!zeEsl_&!_7;S;5bC_lVhf>eg3vaE z-m|g|q2*S#P@22k5-*gVWyEVclwM`TTX!hE$ta!_sfF55`as0P9KvY3RhCr3Xg5J< z3#Z%GSZv`mM-bW~sJhN#i=fVe&=yJiZm`%QX^0@SMbX@i7F!f85`?y4)N`}NHjH)= zgtp;yVTHKBR7f4pe$SYBcq*iZ_O~6SkYQN7NYlj+JdJeP7tx zfNd-dHQW57#?c9kj**c$uQ_}~=QHBtb385EZ7KD5s_x;0HHx8Sf^h7{P(l>=?AD9PY>AP08kEyS)O@aIGW17K;mvbUb z+h-}~M4BZC%Q=bm-EXl?qQQ)KIVaQMjCeUG)3J==;g<^{qbAeIf(-i)qNdOpg1lX0 zqNdV0JRV)S#m6I#E)bNpCGNdAx?IqN6QiW*be*8t@KMWjx>eA{X>c9{{Zi1qX>c9{ z%@Oo1{K7;6Jt61;{K7;6JtOEQyz$MT7X>|rH@+G4TS55u;feH)ApHCAMEXe3g=266 z1pQS|$uT$qf~p6wT@q_&Z8)QNa>s6Q)GRtyP&?PfQM2h}E6-#)L)awK;;3Z0 z#L6~@t~T3NM$MsLTG>9O2ZgPcX?@hEw8+Xfmlg}#KK(0WF70{HGOp)QKSq4K%%g)C z#lvq7c*^r=lprsyP)ngBtm1t}W31wRMyCnSIdVwUXLO&H=jZgemFMU5wD4RbZHfAv z-nFvLr;miKH@#ecJ~idA-ekS9fI2dYC*hTy8!Vtr8Sy?!rLS0drqWKr(@)wNl}fu? z*%s11!Zy*kTz?@Av9c|qQNs2E*cQ==R<^}7Uf5zxm+LR4saCcnbh)s74)K=IOe@Gye}G@AUPT`Y%9RgC zt)|LhORub}3)p9N6Tu<#8#gh~zRa#Ho zt!x`;D`7hZ?XrP(V#HHPr#-Da)2X-cyr~?HN~c4uJU7x0tvol<7~xq%D~Z}jr&@V# zqO+|$H_^|9r+tmq$|m}Sm1hQBZ{?Xmw+hc7@XVkER-T*b1uM_Z^t$kLlQuWsOz#Rh zX}7ug7W!CFHP@2nTj_JFc-tsF%6p}bp?BU!2QuRQu$_hp+fdW3sO@x>l`V^A2%Bd7 z6qQAPx3cY`^cYXm*G6x?i*{$k)7(w_3fnr9G;BAWV`bY*7YW-X!+zLa`n8oUn_d^T zjk?}Eo7O&V>FEQs38Q%OjqW<^0G()M%b^LvHW%{Cp@*z&hiRU$)vSEE{$W}wXpf;c zKSCRyu;g%*wqz7fPQX2Vl)f#f8N@qAgRMM|(@{xlRWyA z5r6jQ(~z$)KfZ>}r=tbov%i2wiHAXy#BHEA<&!LDm7oK(D4k)5MtUSM_zE+-J(;(rg>6@E> zO(O+;QfYJZ^K`7B&NWJ!e?vdEig$q~2wNo^(&7R=V`aNYi-m2dsmZX5wBZ>nH80sE z>cJ?U_}Z*$afyzzvR$T=gl(Ov)v(L-h?T9F76{uVqy4aA>U7qU<`r6tQ9Svr#^w4~ zXtJO^#;O)qseaDld5uc+DQRltM!W@Y(!-2kuSD%S z>?ZwMP<#1u{qN}&t9ZBQZL4^<=tJR|E$wW1i$1gRyiK(Wm^;tmHnnFIPqaEqTHU5D zg6dUT(&`R<#me(8?IdiGunxIP`&!xV(LiCNV7o_0TiNc@3Bq;`Z1?G>R<<8#s<3&~ zyj=eW`nB1nkss-gj7p@E;Sza3%LGN`g#(?x$Xd|!?U5eC9?+|tq_(h9dO&Xon{VzU zj3;cf*ZF|wTbFpt|GsV^c}ROP;w}FZ4PeCEXm>$UWl#Aj^|$hTMuUZ|j*X}MjE=Oj{X(OKtu3VT3!QFd z`<2cTw!S7$`B%C~&~n&iET@|Uy<5{${*7i^#d}V3h3&rXDLLUXKz^q;1l_3N zDHGFUt9X*>xv+UcIVF=_G4DUTk7QHf6;AkODx0ngLYrcmcg~j88#Q?dLYv7{{d`c?{T5NWvd4kYpZ=&}tHhWWbL1?RF zn)!ppR>`zT5ZWr6?)_-7RW_9iLYsrB$3u(F!4xP6ZH}glpDZ>ri>->u zg%Q64oJbUCb!2Ho3p8%AhcCA z)q7&GRW%VJk(yIbW{iUyk^PfMwIP4j44O)aO!OIl)_(~4KgOLf;?J6Q)Bmgqf>RnG zU#4Fig<*@7$%;s>ad42ymHib~ncNO{a8QIM3QmNOSuE5zIH+Jn&qW2OSD{7<=?{PV z&dc_%kZlHId0zL!G}p57uifh4Ad$OkQS%<;E0F}qS0)i~7FLA@TlM9+=Wj><$=T?$ z2x=;mrkPms8yg5wNw-f>KRyHX+d-o+jmoSQ`ekPQUuiH+82$NNVrg$|z*@*Fuq83> z%ge?~?g?!!lk@%1KlpP@;e0=gHF7D}V|Z~ChEbykYsbCli5iRikMnx5t=hvlOhwtPMg9PyhdwFfVN>obw`+5V%tmGR_lgXVFOHIjbW|nUoGj z>x-K0Frv8L+J}b~GM0^y^C{?qQYJN+KM$9Ww&*vxU>V$M{gp-~N9w#>uaPzN{v)eS zit7J8AA@XYh@QM3Z$Oz9!pr$TQ&Yg&7R$!(HMpBtPhtP^utL7`x3=PaRDBB0X;&xz zSM(Sc=heT;@z3d3%mZ5{VXR}HqC5iUpH#>>Opi0REM~l#>3G-k+3)X!O^KKqAJsj_ zVi=`NTARaM^Iy~3jKP$-{1Qg2Oq%7O#yb3ubLaiSpGSWVOQbfN|1Bw4m$@Pwc@A@I zwGQPzIH?TE!)9QMgeO$eAN4Y^f%8`?+K0E&%VafpBEU16Jr{U6r?DsI%l!Yo{=~m1 zoxh*szt^*3J@fC){|CZr@Ti}0N;D1}-e_P=1w*X%kp_IvvX86>5Q4_ltt*BRo z&tIjFZz7W?R!Et=nf-U4wttnHC2k-u+fmHDS2Vu0?P%uUpowy}?2n#~%~6)YYJ^Lf zyi)6rVTBa2_47Z@i?7YL6<~e$x5OOB!Wv8^)xN;g{z{J}sd4OOR@9G!b)8I}!W)x9 zh(D%wJ`7{6VC$CiVd(RZOZ7j~ngVNVJ}M-F;R>0#+M-_tEh!Oe%^0>u^10yiZSN?o#@G$DR^{;&TSHoC6*^Gf>19orNT=yNjTV3G&P9k#yP~WN$ zd!ge3oP}nw5%@Cw4{Q|8@x@q|gD_UnK1?Sk88wyJ?q9vr7Z1c8_m9fO_ljwh^c)W;OkvBRg!zQrV=V zQ%A(ROl@lnPjoJuMNO-Mu6l#60z2tUWV2M%hB3xEy|Mn|75Xx&bNed zHyCzhSvvbRSi-ZIXN83OnT%(n6g4u5+8{###HIUC87X+%F1g5Q05b0QG{;3xpnf&{|(Gh_z1$`g}hfrL8#yiR_q) zsbO4&r3rf@Y|VhbyepA;U!WDk3aJHqGAe1!dI9fQnLJ}N-d6TJ#WqxgbuZ*1lgI3d zcBu`_1T^B&xSD; zj4L*CJ_QLooc|(?1A8K4Y6?qVC6@GgE`LvYZ^BY>>1KztcHItHSS5tI=6q`-$Z&g`p?F)A(#J)acxNpm^c2aPyN`lmG}PJ z?2Ujb6T=kFw&Euj&UeY^}#nAr-CRQU5*k+%l_jQc0>m&ivxC?B%Bn9E+lSe{DZsK>cT zCeduw#AkTaC_;ntlFXh06|*<`!0ZH1nTlASv31d4Hf!y$L47g2Jt-sv?ogFHg8NY; z->|0=_xaWxefV0Ar-SPgg?NDE?;0{O*eJ?nxpU7K!~9Kz>;3aF1+F}qj4{+Q6*A?`Cu4EAPXnXf`QKdNd&_ZX+IJrAIbk%Voz1x=pF*5K0mvqEdnGWh0zOmb%6+DwM;5~w7G zt;GIHkK^$02`tH9Szo6A&&7IKYFv-C{;M+otMvbIn;f2tZG|mX(I%1SFjhX?r?ARp zZRouD&zisEQ<#l)EX>BZJe|n?Sg)P1+K2bb-I(uF2y0{nyy?K(0n3G3^S7gQ!EV&& z!*d@~z*wW$D1EWly1k^Yx!zj-vvG0tE)%D9*122v&Wru{e_K=07nU~6Psi}f^t@mG zbA3?;&mGH%#a#G3m>%+Ct^eKkpmj;C^ZK8qe{u9)|BLbb=Q3A}=YLMm^Xg`Gr&NrA zKi|t)R(JQye5_{x>$~`6<7WjM124Oa|M7UUw&I+iia7!GI7|Pz9V+JbKkF;n4QC8K zuf90H{c$#USqguxw;t_0{6Bww$Y)RLieAR{k^F)HBA7A!Nf3bgG zoZ%}*izPLDn*8yp_jh7dl)>_>{AXhEk!&eLMQZ;V{fi@?r_c2jz5idG2dwYY7oXtP z-&Vq%&x+6czR$(hc4Kb`d`FjmXNm7BqlE8woyKV;A!-Pl_ye;eX^(Y#-NU@I>8 z;a^Cff6I$oe{O^2*F91HGh3_ky=A_KUo#!8{8J3n$fQdwdh+o1ur^c3u>jQYSk~+F zzaPeRzD$0dhUswGsu15S+D@=Y{~)yTG+(UO^TTL;QUBReOc_6KRS1q`mAnn_I~p5Z zI>9%3gYCn^-xR=3vP^ojmK@CXn)nFpy9ZO|?>@gb!!Z8_Bmef@Tvm7fM&Fd^(@=@!B*n` zD)!a?{v2rS`91r@kV_A?NA#lPZN36#u!_9uvQ;1NDK7cbgzsCvOmZI{cQK4=`0FD! zuK4b~^$6rS@;2l?(K+bPM%-1j6O3Tp<&bYh;j8M*O6o;d%_$6S$tj^$f0G;3|jfH@Kd|^*dZd@{=UEWVjT# zRJb&_Y~Zqmt1?^;aJ>oFTX1!Qt22^)Xx%;hF^3WVoilH50BRxMsm+ zBB|?PZ39vxt}I+1qz!2e(t&hfvMZB4ne=9|Ka)e490pP&V?atI31n6LwK@nd23eEj zv2a%@b$vZD2BZUt1u4Pbg{Q7}C%0MHB(pLwS)a)`kUdEX$eJWw#=k5~m+|jWF-?CG z%YMcAkczRMX{qZ6lQBB_H=woyU}B$bdm{Y11>G8VH{_wE^@E&u)Qm zzUMA!KC>QE!4=czlqY4R0r-K;nsrMa(*%%$hh6G2zO|NTo>eqMomECiH+qfHOY9gzq=wC#({SgS2=X-`$`t*;XRH?6-FJ_ zBKAPIlBdr-m#o+^O&Tj_o<8m1LeQt|U#2|MZ+w!WJcC#}LB8L{fjlE^mhe8>2R=J| z4k^wo?ot-l(b(ZLU8*J0e^hv1aW(q-I>OOkE553yx(WS{gXX0 z&!s+UQv-XUwb5;9sA`h>`i@q+8gtK0QYGo#E%6|6w0N)->Pw|_Q`DZuwgZdcSIde= z#}F^cZCniL30C;_CY1cNnx{`Vmnn}iewpySit-+l51H()43oYdBWc5=hG%sRtqz*6 zuGU@oo8bWM`<&VTaL8?`8^A#?0*Gft;l~1G;e*}6Quk8_gL5$WXk?< zZHR>TP7A**w6#w`D)4JG7mcwwir!Ox;6_3EY^?;cPpq?!W2T0F+gLQN zzMf>*jcBY71KC=C2+~W>(_5W=OCKWHjd&kq_QF8DH*5bqz3CKBd5Bbb#7KRN;W}+3 z=u_A4l7@lje9&wdvP>Tanl$~H@pS4YkWrzTpr6-&Kj>fGcvw$?^v^M$5|EAO-qTa0 z$c<0I$FW{HlmXi_o$Lz>ClZ|kXN|{_g^_EZ-5h3ylRc#J2zz4>aXsK{q?1&iaPVBe z55^35)-=2!Uk75MD90F~;SIrOQ&R^K&x(znh%G`!&iYaA_=M?5k5(>}4~P@aa+!u@GLtV)|oosZj7 zI88CZ3Bv1#*PyGkFAg}s`Ge1f)uSo&r!T$eV(Jl+tgM3C!I+_Q=Xa+`8m8&X+TV_i zg!$6ESJOx)^H~adm-I`l4L&N*c+Mn!JZ{#NH&Z zV%#igm_N*x(!r*?q%3Lh-i=ze6xMbH&6ZlVTMzPX+YFk^JPV}79pY($w5?0BQozzL zke);O1(0SAcw%bVQcv4+5bkbw1w5}o$_3JcobPCnv}xilX%Ag{?g{N6*Nh~lB5B5= z7*fRUmm(H75AG@5lt*bc%%$|s89UQ3xcdsVi!@^BJ_Y4;3FQo}t9)Y$>}#=mvxMg6 zd74V-E|5vmApeV`#5geWIrx-;&olj%MP8=c^wFH>8k}RY?zxsEN1f?odIqiMB|oHN z@_kHQ<^AAU!txyg&*(`e$)v)$dy?rgoGJogcnY6ksy5{kKIv4pLa+nr zB|9@&i%C_!>p#uLjfFj!e5U{Y(OR2!5SGY%_H^?S`kE)5Y`d{AKAjiHy;<0o$#yc9 zDoDmsg)z-YvuB}g5UfVRNjn*5tyKh{>8prC^m*H7dfI_2w$b1T-D9fj(i+Vf$=(@Yu8VS&$msDRO*H3_P3K z=UldbrauY1Vw($kFS!6(K&@0H?_5?LWZlgAAdQ)gLAuOHR*Gc!c8OFZ7w>5Xngt`_ zZend!0BtqRzL>=-X0eJ{tYQ|c7-A(W#Vl4ai&e^Uxd;BymF_YBd(8hH^S=lFY49$9 zx!e=}*dwJZmok=18H-iMVwJI2Wz4^f`Ij@Fa^_Rce9Dvv5s0!B9j(OTKPdnym$2{$rj~(;zrr*H%lO0S&GdwHzq~)2fRd!ae zRmXtr3!1*?23C%Rutd6=l4g3!vC4&+BP#bap=T}T>85;eE~B!Cf@|Y;3XXX%rP*ne z#iOrOc2rz*zOB3%dTNf=O~Jdb8%r%2?#f-#Vntt5)ge!Lw5PU1Zv|JIdCCu`T05*# z@HEuL%Ati_Kn6DL?cl2%42U5q(mPuxIRrrpyQDByyD(*Lz;cH$rBz|F5~g%qum-}j zlHzF?tKBpG_|bik!t+)amc@?**xC_~|~2cTIp9P?^C6XmjL zDBG~`HWog|WFbhLGb=mBnO2;t;h3ivp7L_UC#<*QFi8pZ2f2NJm}81GJ$satBGuiC zvg6iK(jlem#_^7a6eV;r$d88jgG^nY1k!I~W9^V~l38y;*q5ybhDo!t53}d~B1dec ze8-WjeMTzw`!zBWT07qq&00HJ!TBV`3_YWSjy+jrKBRfJN-~qNrVlfpRKb;D zd6jh2XGyYCx~X4*?1U?GSh>MmYEl*}oex!WLRrUYz9=V-Ku6>FPr+GMKnsTER z{T_RkIhru95?F6^bIOzP3DQ&c9N)`nk12J1KPOl1z(@z;s-fOh!&#^`y!Q=sDxrya z5n#pnt%TM*GYT{-;VD)^ZKFNmnOOPkb1jda&6wzv$MhHJ_$5h@yK7FeQyP?N8HC;U zr#W4u_XfE;CBb-hAQw%)oXK)(&C2{x3E1?VQwD^+0_E_sclGHx%3oS{i4+}5ZhvDr5P&S2iSCTq?NLE!x_0hl_kUjSw ztJ+kZyuYAoef9PIXR4ai+1t-o9b$uHc!&+YWp`DZ!%4ke)rNyF5|i39ySVBwo1z)t zR_&=4&A1II{CwaCh^|WEV&Ed9KN&zxr@r zWsvPd97uolc0crYI_m7=s$R>l>Ef+k-PZtQ(R6p0A?nUCP&@S+3*Q*n(j^Jn;T7;a zGpmzJe<(>e2!~AW<$~q$cIm1bVQVCewNXP^8LTa4!LEqvJvk7H%%yt@?bj9dd{J z6jIBC)J*E5{QXeop`h=nUYT*kWf)lVp!_uAJjiKd!eQP1%Ys)CFT6xuEq4XhNG_B(W^_#Wn}$I96M1Gj~q)YGaH+OX^k|qwd)3R&5p3x>>bY zR?b+~kFl&DW7*h1`9sxM(a!e|o~erMkmQ)c(!_ZKPBqiVp15jCC*A#~R$HawuRy2U z%t`ySTBe$mm?~we$%&~DJ_)-PnQGyJRn_*WkEX-<=xklOM|FfAc?hK~)DFRjE!6I@ zd#a4hU}X@7Z+$4ZiYsGnTh7|HoVBeAW$=>iR2*G)tUPuqdfLH$PQJ+*c6eflGu!#8 z#XQ}ZryKKhW1eoz(}Q_>Fwb_(+D?rLN>K+qaryFN$^?~YD}SlAABOg^-U$=Ol+q0Rn` zJ++-d<0aS9aNXsm;pmlYV{%Gsn{3(BknPAxw#6ZLYTIep+8!+Tb}ZbErRD+Qv#>%~ zwYZCemo{!d4C%&XZ|z_}<=Vb190Xw)V=O!p!m+N=EIbLq%jzbua599?)t%46OCemj zUK$H$K-jxp77J%XcyYa47A}DB_w|ZcxER76>zA_fELO(nuZHl1&7olkaK@B|r*7Lp7~bG?Y=K%#@1|or)Y2E6Gc`yjL-yD=sHNi>+#bv` zom^egtifWXiBFpbs*Y`<>No?au%oyE)`3Aeog1uTb4ZGY^U^8>f4{yRi;FuOJ+*Z5 z;ih;sowR~oQ+y(iV!6y|@Q~m-2h(2&VZ77#C|KGgt<~8b;B(^K;Rar;gkE}DzhuQr z$1}b0E%g$Md%wX$*ui+-V3_pAINVjMJYtb!H|F1s`FGRtobQKZV$>R`H`DiK`rbO8 z@g2rAVN4UIw5VY;`0tW3 zwYaZtH=Lw5tOk40`dhUKXkcgFEmK=G)y}Q8ZR34a+&b9idscVbqs`8&>vl*hn$gIu ztL@FvEm*h>gkOcdwXU|K270;mwEa2vO*e1b>+po_Y1`y*4+vL_Zs5|>_SZx2yVbXS zWsyI~1p)qUrEJf(r|rJw!`z11CN28VZH#Tqz>gsO!NCtf<}kS`5%r;KC%GlrE}b&n zEzb7awKJh4gJ;ckOR+UguI$ps8yw&TYwg}PiC z2kS$)-_N*}s-I`;jY`$ftyLOLf)+SiWjt<+o|v#4e4J!N*IU z&&JzQ<|9d_Epr;BF-->3oYBU@t{TpAR~u!qUdUo2EsKq@J+?NWzo_9e=pwXU$Hs?j z{R`mjz?SU;z{J8OQh)`7fAt2ITvz= zSrKxFSy5-RqK>m-0UO&ztQIBGiE+56m$g2paRDny3G{4U3$9K9?R%T}d_nB)kA7_wb-QAeRRll(&$^D}3#r|{M@x5%3`x)C^Yqq+3Fi$t; z+0MYXk9G#WeY6A3E~y=hE5S&H{UW(hs}^pOJTlC)i6r~LZ*@!Z;FOKpLtC^yv<-zZ z`OtRpl8u@qXK#D0i5E-9i>28?9_Tx`$urx|3&Wd8cKzY^3+>4Gmhkqari{#gJO2p2&5a7MV{y!kwYTNRpMCTw{2DunS=^CCm3QCBH4 zHZ=O7S&@O~%@-Ia5@6@kIF^t|3k*E#yp*L-YUHQ)f-t5~YT!BNr3RiReb49zDcpk; zhBUut;5qbVMh$5}^D@w+fyDFX%OM3AvBnX*|3lfCz&BOweSgj*X_GWG?N&FXMUp(aYhtiVl>>>!_j7(|U~qYJM%V(6e;Qko+?#t=<}y-%ysmT6%y& z&-N};th^L+4Qsx=T9a?C5pYl5zP-za{A^tL+B349rnO`{O>1d`vX*M&G_9+R)3nAm zPSYCOIL+JL^PT4WUJTueU)M4@OC@Ki22CtJEswsf7-eAd>0WYsr|FJi+g5biX_9ipn4`GCJz-ivkz0Yah;C(>)v;)#B9(JB>S=sq8)?_8ryg~dMssDu2 zoIwsdn`D@|=3U~4<*qJmS?VgD0MxNn^9Qm3gC_2pwu(iTJh1O!om0kZCc^<)O}4)rDml* zumIl;c}DFB7lu4_civez(KF|!<%MSCzp5|~pH_^ztye1ct7g_G&@Aii3OsM%nOXaC zp{1MRyd3eoe#>ixLtW;oZK%s!wXO8btg0&#4=vjI|y!!d#p3{e3rdt@aFBIbI!>bL%)c3TsoQ&0f%TvMgn? zEM*qzKhtcS%ba(rQ)b~8R;yDMKJ~Y*8=*t&8$E;Oz1(%9XZXBbU037Vgtt>Sr#$ys zMoI;0uxC`bOwUl^GCf0;M5-iGC6Q$=)7qE0T5Z0fXqju|d&_LgT;@|?zQ??_Xfw|K z_3+(Cp9k@KX>#{(GxieRO5}NbPfgKEEAN$xdYeRIjDG_yvn zmfF_I+;uW{oy=V)bJw}vnDA}UI?1!q^Yv?Ii)tiijpVG6oHdfOhIxk1YhAp_WyTUK zt+`KD)O!KPx>Rq1&SdKDeRiWj@Xz&}U=Nr@=xJkRxN;jit}<@o^r`ncW+6-C)NP*LIqn%1|G9git-RoO)NtRh z>>hQtd-7ZNm@GBSk{V`7S#ytfP>qo znyaMdWm3a3sbQJauuN)Lh8pncld{XC)G{fxOiHbmQmduZYALl^O07mIe9ENMYALlE zrDkQUmQw4a)H*4(PD-tlQtM=G*Ks{pVm;SM*>$qSbyBuQ%GOBP8Yx>NWou+TYou(A zl&X?$fDul5LH>&+`)%#F?J3Dh$5mTNJk7M;ELYaj{c5m$cj-$v{dT!~6Iz$q z|9H*^-yT}M3MHPGUVlPrua)SHYf=hrTX$vjI&RC~;e)n(x?Qg`wz_8udhNw$5MxpI z6S=*6?GwKbeqgTyZgXevfZN>JJK#2V_V(L8iUfnc*DRK` zz01*FZPLtnIX}&OW;d!&W|`->%&*fGOP=C1Gd3<2UkV@UST4RCzNTYCm$@Qq==$P< zoZbV|%voS)ni>BLO>4EefA67bciwe5w0y-7sQJ7POf%<*fobL(QIhiVgEM=Vq&zxp zE%d5~o`*ho&3nB^rccyFA<$EBH(+vGGe=A4{n#+;MW%$Tzz zWyA;G(peIpCGlAjuaM{7`3V9(^{KqdW;&$ze)1HAo;5#{|l18 zO7d4p{wm2|l2WgrYo8sGzgF^RJ5Bwyl0VyN>d$tX`m>#;{=Kpldu1#3$~NwmZQLu{ zxL3AlZ<-lf?vpwXNS%AJU0eF>mF+r^Tys2kgezsK?XcALjU3IxQs+0Kho$CkL=Q{- z-%!nOV4aXHJuFK+EcG9jBR()q`rb6N<^$8rnh#7fYkpShKa19~rob-ebi2olu07&C z@MjAedd$&m=rKpLp~qYoH1wEbn(Z;iy^TlOCq_rOuJ@Q$ku7K##OHsd=E(JW%Q!=rKospvUa1fgW?*2YTe(A^C?&{-Kh8sN^3i`G-pW zp~%0b&rsyI<&Bp0AC2|j)M=dfaqufUPxhEk-z<+AOILWzD0-I1jIJv@W-PtmwY*cb zUkE)0{t8J-RiRWy;WCdIf3EhJ5$Q(tw;`YQGg{Ygo#a`EJU{f?=oy>e$iLBp-y`?e z$o6iM?cF5XyE&!2;H3WriSLkjh07d~9WuAVWsXaQ%N&;qmpLv~GPg?NRT8g~c&+S* zTI}H~ifTP(oK}mizA;cMduek@|NM*#_e!3 z&V7<|pXA&pIrn+Ycx<2K+$T8?NX`S2^MK?$AUQGSELeEq0m*qla+*D`_QH~s_Y1zi z@UU#}H?qA$(His1zLD)MNjaB4rK}{SXZ}lNPCQZDzuc*Ms!PkYnxf8Jr19kJnTwn% zEb%JDoocbVqP)IZB9UckC?fBO->-f}&Zd^BA=@%Jz19`bHkQfL-Wmzbx2}bDvBpA+ ztqIUl$?uo^mxvz-pP>d>>SCw55;bTw*fQ%d6!m1_xoq3T8ES+z1%9-3J9M(O2zjPk zDHr3NL&%ABhGwX+wHon=_$upZv(Bg=?>a)HzPb;-zFI4~UY7f+&50$(ZD#%75&wbs zgW~JNTXr+Iz@Cnr-R$+Dee7nd``eqqM^nt)niR9`Po$V_Uzchk(Nq(uNi~s85_wJ{ zFG%F&RI`6}q?-K`OEvqaHr4E(U8!dO>`kqOzMr}q+R$n0Y3elfWIIiMuhYzJ<9ye6 zmzmqfWtMoQ=unA_aGCrS5(!JBN+OG0X1Tb+fZpRW%U$g<%iSS4W0JELIWyE@*GJH= zT!*3GxPF5E;Q9@E!j;-TL!ESG@>b?`2?Op}-x*vqLac_Y3aTj5)j&PeT8tpb)7j&C#8Rs@@KEZ9) ze45M+%iJo=)#?tnX)TM92Y=HBkH6P+o3^o0;@c$utM0y7w|}{7v6KVu_n-;)zoCcS z$Dv=jooGMbxLZMgaCd^9a0j5L-Pb_Ry2nCQ+MQ5)+5=E$S`_L@dm36Vtrpra?Vr%5 zX+NT+)uox1c3jl*7@sBDQZ!GrM09}YFwrTZ3q_ZUt{2@X`l9HYq92RaK{HfAdKvcE z$_%r|?h~!cn1L-lk}(JIADL;^WIR->C7EXbtb}H$gPBTYsH2%-_~X#}%Bp8_ zri*4lGgPyBCeQMEcOcKoddr~q)q4Or*JG|$AJmt6>OXq4@i7~L|}}GO60ic8PRj1Rtrh0;pE~TbS(~ERivy6Gdl>Mnsp3t`&VubhGF-(YWYts8j84VYcX?M2?6a75!H9 zjOaO0E8DDFx@eZDPc%=o0E$mRw%NBO66qrv5bZBINOUk%t6`FJjQEiF@iKR!=ycK9 zGIyTLjY#AUi7b)Ga*5n0x>n-rCH|O1HcI4aiM%M0Z4!A^B5z7$w?y8N$j1`dFOh>1 zIUTU<+3GCujao`;6z>zCC%!;@34DFkM>HVuktmCimFRM* zXQj-&Pjs#5deI}Ig%_A5cDukVWj{QQooJot`c@|Lj%dJZ{B)>OZT31Z_Tdj0XR7}5 z@RBt(R^7Uw6PSiEr(py2-6X>n>Xa}?HJ)tJ9aSq~ks2fHt)>dg)B@pUYO!z#=Z^yY zD7OIh20*jCGH?>oLB>Oj_f(lj&N} z)RO>BJ$0a|=MZS>QC2eUC4HcY=YVOTpYZ_W<)EoA#B`MNYZ#9)y%RL$6HM2EvOJw! zo&}n;9W?d%nD%pifax-Dm0CYP$askHaiHuU#v_bJnce`dQqRxdDcn6j!T2Fbub+?C zILQ9+l72D(n)M2iVa6j&N13i>dIPut`D2X78BZ`>W>4;iFc|?&{gq5d$!f-9Ovjnt z$#jCmD<@>XTA-=N#&nSB5IL6dFw+q-N>-B_z^Bv?^OJ14AjWu{OptZtA#jx{U!YQw z%eP1`=_CDQfDDllvI<;^^^Y=LO~%MLnIQ3c4cT5V=_dnZkPMSiGDhxpD)qctwBRV| za+&mV3-W|}77QSl2tQk}QP`xy>rO5=4}4zrs_-*CK+<~_1ep$j52?%NO=LXGctql( z=PhA8%6PTJC(Vm7y_@qBOyeLYx0m#jK{7%{!8Gj0YNlgMC&;7V^J-uP9%+z#F7SDE zeTCt6wW`9)c%Gy;R`{6?fTn#7koembhGu^SIX}et6J>s)!qChQbAE*Lm&p7x6^3Sh zHRBs4UVovXiN_d^le=YpyM+m+>&T-LFI%Y6lj~=ZE^xcLexa9XADJid$U;BU0WwI2 z$OsuFtH~G{C+o;VpxN(MMsht|;7+7{Ob5si86m654WKC>XS$BGa4lr^yN?WzAu>W% zlX0?+v~Znd%6my4=_dnZh{PYnO8y8LC9BC887C8D9cg88d8Ci@lL0bBhRFz73EFV? zCCYR)86)Flf~+G|{p4~j(o6bCKN$ecaWOReB}j(I2pJ`-$ru?Y6J#A}HAvRyBmHE6 z43Z%-LPp7Iasz1EL5%4*xs&larhN^Q%L|ZYpeYw(dMwisrYo7QW_knDai(`NUB~nx zrY&3zoBiY?17wJdkk#Y{(5y$C>77j1f=dyvV;nCZNY+aR$PgJJtI0T7M;-#ra;zq- zhYXM*GD239ak7rI@WyhpeKye4=VLlRhRCs;A7Q$hjFWZbAyC$<8S4e5UZw+N8RH?Q z$1)vZx{~Q?rZ+GhXL={obxh->4$1vV2FMT@A*;zaSw~teSe^`!WuRIA5YrK|nv9cm zq?OI>CVgZM86fc_sjP2^97{&XO0t^VK*q_PWF2{kR4tSBTBMEil0Gtr^pgRyj0}0$N!F2vNUIgskMxl_q#u;^W4eqCG9F@jEE#4z!gM7WWxSf{4P=b*IMX}H1mkr~ zA0m}Exjq&s`<3)E?qfQK^fMk{x{M4m9%6bd8D>1fbR`*Oyqf6^WDU3!$1l$GPO_Hq z1ZehO9pi^c<>PjMvK^$CaUauurUOiukwL~oOphhQj7ONRB%_R1GrfU~F&<}nCz)Wp zj_E_BYR&ZqWxYu+<36TyNI&BNrh`m}m>x@p8ILesNk$p3W_kk|V?56EPO^?XL|Qpq zPtpsT{Zl;h6yA<}BY^&ws09;}ZSl=Wgfhs@)A zKj#M+FC&ADhnOBqh8d4AT}ejCYH|Y^Bje;wGC|gnhe(y1+zyMhkzUeA=8%3eK$ejq zax57pBV;8RC9BB|WQ>fHJIMrDM;;fHJIMrD zM;;&Qc-%Hw*I zHquM_$Q&|2mXSd+M2;oHWQ43FtH}*yoZLy)k%vgtf$K-wNH6Ilb4WiKAj`-g86wA$ zVKPEil2Njn+(5?2on(TnBM*_dc`C=#B5kCX^pQEFpA3*?WRMJzW63ZXAuGu!Sxs&r zV`QA%NhZiT@(`)=x&EY$^pZX@hYXNqWQZI~M#xGsN>-B_$QT(XcajP65UC2dex!}` zl0Gtr^pgRyj0}fHJIMrDM;;|Bcm-LZ- zGC&5&5E&*TWHlKl>qx6>aydTIPX@>!86v}Egp86gGC``MWW8R}PX@^-86)Flf~+G| zG4})MBmHE643c3oO2)_psk(8!NIw}QLu7=ElGWr!aJyQ!FvfJ8+%54<3+tFZD(M{y zRd=pG=>oT_4;Olw_K|)vKnBSW873oSl&mIWWSmTpb)@RS^&q{Zj|`9@GD1elYBEN~ z$vRT?Wc{R<^pSotKnBSW873oSl&mIWWSmTpb);3o<4XF;AQ>j3WQ^pim{Oh(BVnIKgu_Z#UYeWafZkU=s;hRFz7O~%LsSqE-c^XFN8442OH zf@b{aCxc{2=C7LFef4nU0YOQuX6Z;N^?6A@86?AG zl#G!HQeDdOq@N6uVKPd_$ONe_V|mg~2FWlPC1YfQR0CO_^pim{Oh(BV87C8D9jOK- z>$6BN=_CDQfDDo$GE7Fv7?~i|FVPX@^l873oSl&mIWWP+?C)fHTS(o6cuAQ>j3 zWQPoIB=_i9^n2eG!GC``rEKmB$AQ>XVWHlKh<79$VSFt`aNQTJ>86{(6f>c9T zp7fJJGE7Fv7>QSE%X!^P`pF;}BEw{ajFQ!4jEs{BvW`^4lFPA3FX!x z$rza+>qzg_$>sRTFc~FdWP((~x&5S{43c3oN+w7(g3BR;WR#4N2~v&Za!5ZJB*SEs zjFAaaUBmLEpA3>=GD^lsHHziPAQ>j3WQ= zGD^nC1c{#qNG_lBlR+{}M#&hNAk}p&Px{Fq878A-j7*R!m@MxngJhVDk})ztst}h; z`pF;}CZlAGOpxk&mM4Q`n2eG!(mR&xNe0O<86{(+8prxcKN%#$WRy&hYCOx4elkdg z$rza+)eS61`pF;}CZlAGOpxkEmM8sWkPMSi(mNrU-v|Drrq1^>9bh`hbeN2iF)~4_ ziOG5_(A48)+D`__5a)-Pj*>AlL8_a$9i*QOfu{a2(-EelOvlIsc^F)Z>o9yclAjOK zPX@^lXzCpYn*0%_qnsZj6Qr8V`ba++B*SC`H1$TAu4X#Mbb?e*eiD(fTtWRMJ#anRILN2;4yj`Wj3GE7Fv7?~jJKvSQZmaNADP1?(}pA3>= zGD^nC1gWO89#HCG+Q+n?=^z;a}pnGP@=WI9Yn$ry=;n3cJ%_mX}x zNQTKM86y*&L{n3kPMSCGC``_SdI*mVKPd_NEK#&(oY7- zC>bLYq>3cV`N<#|CZlAGOpxk!E|2t+K{86l$OMUp;**~X(oY7-Fc~FdWP(&xEKmB$ zAQ>iOWP((8upH?pgJhJ9kqJ`W$#SHh41*u39h0NN)01Puc2g3BfAQ>j3WQ0j^#){86?AGl#G!HQf+2=(oY7-Fc~FdWP(&%Se^`$VKPd_$OMT$evsqa z23(5Ie>rHrZy3k);jPKI{iP%muO~m(D#p(@=_i9^n2eG!GC`_1%aeXGNQTKM86y*< zdV}RjKN%#$WR#4N2@+p&OaBxE&F4H!#>fQeuT9Pml2Op~lQA+udf!aO{bY~~lTk88 zCP?*nZU^ZngJhVDk})zts<&94^pim{Oh(BVS-vZIJcFRw9<`VCkikFF?iG%%XvvZ86?AG;(advgCzZAkPMSiG6tICl_1rJTn_0cgMY+7;`)<8GE7GI zC+Ek=;3ww1@XGY4@YM8#u-lB-rzSpYhB{#Q>@bhFkOvb)2 z`SWI~Lx$sL`i0S%Vd24<-oqx|VwO6><3RfVolFPGFc~FdWP(&*vOMW0gJhVDk})zt zs;}^Or`FZ83{AW6l72EshRG-yBNL=L%JQV243bgM?5`N9zGi;XPX@^_nIP3M<|qAR zkPMSiGDapy{9s>l`$#_-B*UcoHo2Z&(oY7-Fc~FdWP()Ru{`M~gJhVDk~N^TC#Dmm z_xof$elqbxGL2VGCimly$?ZvyILXWQCBTo=)3dxM3=hu=3bSWNg+pg2go|c-Pn!8V zX9tBRXGev(wXey3c8*uLc8*{8-khM&JvZ#I zWE>nLRZ24LC&OfnRH@1NQ8Gb#oymBRjFJh`>*9PeN+!r~T5^6BX#Re;hKw;@%k*K= z?n&lrLza_OWDQwM9wt?KayfR;ET;|WXS|&0aby))L#hl*j;ojSlR+{}M#&gi3!3F6 zm_E$3%4B_{pA3@YK>2%SrmL8aG94omm9$ zmOM<_nHM+|uMbKG%MMS)b_(+JI&|{H>Dv zKTO6*yr4;DmM6=}aby)) zLq^*q*E>OabCc;H86~~#xqW1qjFK@jL8`oDes2NmBco)3^mgKWGD;>$Z)eUYqhx~g zcHw+7N+w8eVRC+qR9%y4KWTnvTB%o{DPY*buX}?LupxLm=mjf5KUf8Z!8<@x@J^G~ zN-eUUP#>u8l-+7#wYPd&mso?Xan>&DkagC2NN?3&>2LMbwklhV?Je6r+b6bs`y~4< z_K)rR?WK-u9M?IfIA%F29IG53JHB)jr1VS~kTND^Y|6}(rT9(F_fkH=?{0QT{da1C zbFg!_vw^F-YqaZYm)E_^{cYMB&&!@#&-$$8WS+@F}>JO>EzW%@KI~#OwFsnhN!Hx#I8tiLO+A!2`Zo}0LH#U5s z;j0b*-thZ|=NdL_6mGn<@%xR>HZE*3ugRh&&otTIx zpZ{e3>-it#AI)!GkXO*NU_imRf+q?bojjeIb}H_4Wv9uV=62fKsjic=v$ylU&WX+! zbs5*?rY>{3JkVuJmk+uW6wWJrwlK46->w6?4)40D>jzyAcKxdBiLR>1Q`D-cdr_aF z@kP^%78WfjT2u5&(WgZz#hr?K6<<_*Rq>6*tBRj2{-`*=o4?!b-Ja@Z@BWYOYkPdr zV^PoHB~O(6tK`R$F}*hRiuY>Q`}*F?dmrold+!0Ii%UN!ZQf^QpM8C1^jq&+tp|aEks=jKg8mM;ooaCuSssrY9QcYB$YO1>8x3aq{pX#A< zRS9zRLXJMj;a3H!47moW&gyd2MO}g1!;$+sRiuKdScOzKbrVWXLdnUhr<#t^Gf{f3 z>W$m6rRp}+5>|axmFkCg=K0lKDxg-X3)Q`-^%YgFURC`u4890M-HX*RbqV_I0qTUh z6u(M*nfgTyRKH@$cI$HGu&%(n^{zyhJy^B1u0mHe1aH$Ds=8UjRA1|Ab)hv}U15z- z*H|OfwbnIioHa^Kutuv%))+O_x>n7!u2ZwDAl{HSR?WA@sfE^fb(?hqdW{>=Q%peb zFj3uQ-K6fdCgI(9Q`H)4hFWjU#P6yuP)}JE>S?P=J#XEuUbR-JH?4cr9&4rghjp*| z#9F0}SdXZ$tSEl_yIOs1J*$pc$E$Tb#dHnw8R&~;PS^aEnQ)jI0>R0?m`&sKX z^_%rNeih;kW!JUJp+8V5`a_kWKT?@`pQ@)1sx1APs;@s+4Rn30A$}*lC3>tDw~n2t zRFja=F}E2_xnlzKX7O_;naHIZjo!O=3iOIMrbB;OXnggYTcFQxnGd~s$L-LYHZ6sA zTl8N!2fw)rk(Wn30R8&@b9o*HB7abIWj-I=Dg zy79(8y2|J)cNzWHV@59?ZM5gOPoVDE#&=)-IrNjg#t-Up1iE{MsiAilqe-7!?lTof z5t&nKmOiKUTd3Y+{M1fn9d?f}`M1n9^>mT-8Cqx}U%X->74I2MM$Somc-YK6-RUQ2 z<~wHY>Cjo|O7x4|Ps1(db(v%+_VT(-JkG z4w>~CxWMGuF14N9YvP|sypzPMC7#^IWZ7|@O%3ycrqt*)M(s1-P!EJ$I~u_cYCgcPF-*{^wEhy zXfj^xxdDD&n$bVc&3$khB7c+PHEO0=?pN0sjmXk3y4U!<(xP5}$L!%>mzWyXbTRQS zZ!}tSmC;5KqZ8gYI_x#0BgPqhw{Sl4f4|=NA<{}W4>f+=NE6@uu<^4N8{c`a(Iz8J z^*QxUq>m+11RwR7y=6Vf-^vb8xLWA{R|Jd8WT*#oB3 zf42ur{Et0gd}sMop1%i@+n(GHm&*Q`G{WS6rqF0|53G`H`G4&PlYiJ^qo?Hv{&_## zH^apLya)b#WZ#@<=7vST79B1}yy;{UUn+jIw1-n&%@Mixj^)t*sr7E|Z1Q~C*66!w ztDwm?d5>o;yxa2#bWoZ(BFXmo?wyapKOmo!krT`kH(qOWitK?&(oXKKG?BK_auU0Y ze^*-auS=dq*@vX{R!UD^DS49ZFxg6HEjDdCL(T}7jx_$yZM*UNCUU`DradIv`Mc7m z4SUVR-`5R+e<(2=QT-g*Pplde_yu;WzQt{e6md@kKMa+^pi(0dAu6EZH{}gpZTPd zITrtv9{zvo8+-3CdwcpT<~Z)T+LXO)kI_XP%-QEe%;@=f7IiS&J}B)iXwdUMG}-I^ zcBiSWP>$deZyK+!Ho8_?Y;q}wWGN?N|3Ik^Cz+>h(l?v)Y~p%zHvGKSEIoPV+9GFg z&s(O3o8`RL_zpAoQ>pp6N&n?H%lR%D-?POWk%c?V+&x?VjrtevI0pUY0TW4)8WM6g zoGUeqk(w7vWSjJLyQPIV<$P2mXUTk-J0WCha7rY4|4G!@MaCPuWs82SFmrp%H(Duq zo|O?r$J@-l-9Fi9i(AbZHve9u$#eSW($gl-zpq7pMV+(d40wyQrFwEEJwInMp3IZX zpDg>vX8R=U?alR|TVFS8@}+2ps%%7dSGI#*Iozzt%U2b^C&xK^pXmYr=&pWHJ=7cv z_ZXu;giYkr2aNyj@5WzTXvS$zb|{12G}COwj;=CISXV5$5n3vr z#NoG^oPn#29+&Z9vgUI#&iUVKF57v2{nP(%&B>9#fW4;XoDFjjZ#>g{7S@P%pJVpb z)LYG7dT{PS%uS8}?~;CI`6RP{lB2ct<5pqr_Gi~Zf7r1B>UebvGjZLaq zpGp~LR|i-R{(0owbi`Z8X_q!1t1(MC zy3EvYdY2h3x87|uM?MR!9yN6~37Og!4}S+fsY`D82>yd-%qQ;gU1sZk2pdh65l*Iz zij$wapZ;#@A1JNj*$(?rYS7L@(Cs_h-t@<{X$r1OHLgWdp&sReW+A0<{h1DJp)#Qz z5wlc26mRUsRjP%n&Ia(EaiwbE%CixCA+A;}TzxiyFTxe8g)7iz@ZC^{g{#mO@I6#Z z_?}RWYtdHly`UP`qdxdjsKzyE4t!sz#&u~fydSD@ZQ2h0La4^|X&$s3>!sCISR+df zfoe4rYh$dTayNrB*<-x(DlS;o5v8{JmIr zORa+99pY*X^nP6NYxMxG_qBRZjm6xDpjxe0Evz}vY-=7g7uVtzuKpLm zx3d<)w})!n3%Cuw161RlKm@)3s#Pbe623E3TWH9?*Y}Sr?mvW1gcdp zYbkthsK$Hwm&5mgYTRE~0pAa*l^@srmI^>M?m4W2FN30;SogvAhiY|^^#J_EP^~Vp z*1`{fYIT|Q5d1)>#+&`u!w-g{b>aR2S{D?p3-=Jvx}a!X)&}_DP_!=VG5C>Cv@Yv$ z_)$=e-vHPMKL)CC-{UFx>!4Z%t*7BbP_4$}o`j`tfNFK4wHbZ_RO9!ao`=5)s&Sv> zMfk~3v_|VC_^D8|M%=eRYlNEL7}yR!1B%v&`xy9rJt*3txtF2lK((4{#o^~cwOU~9 zgs*^V+;4dk{#K~QeV4c3!%*}41iRsHhicr1*#ln%#rw6bci``YYTT)P4}LKeE!p}2 z{w}CiORbOKmqF2zt&ibXK+%$|f5NYXq9t4V;a5SmT5Wv_e;*X>**XaS094~%&*$)K zp=jGy9sEO3v~BAU{KHVRZR-ep6spyu)|c=bpc?mwj>10%)#`87G5E)!T0LQX3%?Pn z)sxou@J~TC?js$Ce+H`6bJkDro1t25u};E257p`g>lFNpP_4FFXW(CgYW1@9EBrPn zK1bF$`0Y@Qds4r{zXsJRX5pWTL$rFsvcd0!YE^4F;NOI5^>-^3{w=6hyDb;|+fa>r zT50fmp<2CTrNh4q)#^Pf6aIZD-p_7j!G8$VYM<2r{$r?C|Fjyx{|l{MS&8 z`)lpszkzD?t(6D=9aO9Dt&Z?NK(#t<6~O-p)#@j!GyDmt#=W>g_@AL#owADHPebum zeXAS%FHntpbUonDLbW<)mB9Z7)#`VvH@wol;Vs<3;BbDBgRn1Mn$Otx|Ov zyc3EyQ0xBiZYa)!`eJww6mLk^1K=~D8u$J#gRck0`B4vouMgF@2Y3a1L#S4b^kDeL zQ1p{}2z*nhR?YM<_~uabnR+;UHdL#YdL;Y>P_0_&QSe@<9Nb^TuX94t z$LbJ#TPXTiJr=$_6n(5758nZbGqt`EJ|BuRwVnvy35qkdo&?_oiZivI0^b#iGqt`M zz8H!#wVn>&9f~uxo(bO*ioRFRhVKnU->c`q_kp7C)$`!{L2-803*aw=;_R#!!k0tw zzIA;Y{6$c$F4htFOQ2c}(3S9)Lecl?JKzUG@qT%|2>x=YR#)gH@K-|dR(-t`{wkeeCJMi~IG3wCo!LNbhw@ma0@DD<@dPsi+zYdDNT7L}x zFjT9k{wI7j6n(Yc55ED5zFL0@{}>c~wLS>{I23)g{v3WI6n(X>gMSLD)h2xi{%NRI z&*&rY&qB4@tiOcc0!3e~kHWtQMPIFt!M_AWU#-7|-v&irt-pug4%KRhJ`VpXRIAtZ zPw+7)`f7a=ekW9`H}xs_zeBZpOP_(?1w~)2e}#V=ioRN(gWn59U#)+Ke;10rT3Z@@ zH57fdw!wc0)#@YdfZqqz>SLV>{|~5E|I#k_{ZRDPIt~5+6n(W$hyM(UzFKF(C!px7 zbr$>=Q1sQh0sLX8R!4Lr_yL=8$KPXRfeq( zd?r+@dbWP>Sy1%Vwg7xXDEew!8GK_X`f6K$_@+?w)wYY_n?uo8+XldAL(x~;E`z@S zs+HF^2;K+Ps*THv#Vr*;+!S{e-Y-}3~Ujjw{Y#R^X8;btfb|ZWrDEepH zMEHJC^v||Q@E1bSKij6jmqXD%+ir%x2#WsMHXZ&FDEepHO!!No=$~z~;Riy|KilTO zUk*k8Y?}vvB^3R$Z2|mMP>hpp3*m=BF;2GK20t8%ak4D}KN5;@vaJ$+6cl~3?GE^B zq3Dxsi{OJ$^vSj*@Yh4pC)<|7kAtF5wk?Oh0g67^wgP?v6n(O7CHzfL^vSkW@ROnF zlWq6GPlcjSwmkqp4T?V5wibQ{6n(PoA^2HP^vSmM@V7uQX0|;7KM$(ad|NgA0;pCM zwhizLp<3N)dkp?Is8(Uy^5~x;p z**3#3h2l!k_B{M@s8%a%FT&pg#V;Y*UV^_Diay!44SqEgeX?yk{QXdjnQgDauZ3dF zYiay!)CVVv%eX{K>_zh6>x3=BzPeIY&+V;Rd4Ml%z zdk6kmD8|XQ_uw}}wR+L^0sK~|RxjB;f`1vR)i&G5@UKA8$J+i0|0-0g*KGUYUx#9B zZ2J^G4%KR>?I3(D6#cF3bNIhQ(cjwY;CDgM-`WnrzYRryYdZqJ7pm2}wlAUkY)7H{ zZO0J*1d9IC_AUGYDEd#^_wb)V(SO>G!zZBVKW#t3e*s0mXFCc10~Gz9?G*fvQ1pAY zGw>&%TK#PM75)@dtJAh~@Moat>ukTnpM|2Yvtfv@euLsmV!I9Af}*dpJK$|lj7#mQ z@F`G?OYJUrClvjgJq4xbK1|7OpG&xE3XvuD9)LA9!HZvfu_ivG>s2);2C z{hPfBd{Zd;H+wVq=1}x+_7?EjQ1oy1mhcxqF&4GAg7-o(7Pb4}TSGAxwdcUMfoj#( zo(ta&s#SY?JNP`PRvqkl@ExHTf7(03cY${#-Wk3t6xZqYLTH)22wHCM z2JLU}0lmmxf;<;PaW}@^8#>wE2Rg;x4?5i*z}y*7T;bZwpmXj0q4Vt*Ll@cyKyS5Q z2EENb2pX|p0lnQm7+Pr`0$pq$h8mVYwR+n=9J?a+z9W0;+Q%nLY;a2KOKtR+wnB~EGT+! z$FuOaKry0rY=)l;#faMRJp6npdT+;z@C%`6CytlkZ-b)uc5H)>K+#$p+uiS@@4>Hu;uD(k0em)8s|!*-f^P-Is3YZL_#7zqXUadJ6I1p>Z%X+T zIz8ne=FWg(&!l_~KMRUIlTrtN3lw`MajI4Q^BS3xoUPx%S{K`6%mDJS9AL2<50IR$+uO4grYY~wLu%CI-m_xQ=wf_UC=?PX~=Uq6m2Fo9eyGd z+n$;UKM9I9lbQuT1&TJ4+5rA$DB4VFBlzi1+__C{0zVUqJGZIL;Acb8pQN^cp9967 zNo@%~ABuh>wH0(xst=LHP+Zrf=0JC(=0ZP7Z3ms^%){L2P}J}22tN~w`ke*vv!STp z*%^Kg6up+S5PlvMeV4NcegPEi)7cGvArwc!*#rJIDB7p91U>@AXW!KudXcM-{Wi7N z)lbFMH5vWzeAdmGP*-3xECR>Rw@`{C`@8hE?)AiTp`2k)>RhIdH@E2M?W|crsWc9|K-=E>jtkdx2)-Uko)>-)e)^G6rar>q> z?gi`mB~Uy3#a0UZ#g-F(h;<445bIL-q1Hh7q1NT_!>lXehgny_Uu_MAzuLMQez-LP zez4U{fnV@)*k>}T>moYUG)b+m({-ldUyT7(0l3+!9CpfQEIC7AxhnB?SsGB z`Um_p>tFEGtWV&lTL<8$Tc5$tuoCbytS{haT8H6hTK|ThWqk!d%laCAw)GACZ0kGt zTdW`8Z?S%apJSbXpJV+DKi4`9KiB#Nex7v}exCIk{Co@@N}#$yZ`>WW!!NK>;43UA ze1+wPUub#Y7g`zcw_5e!Z?)>fFSeS)FSfGbmsl6TFR{GvcUi6B@3Pv!7vg&#zZ#8i z9m4o#Vzc^(`Vwt0)4IU&;f`OxT4(LB-mt#3zOznRDY!oErf2Cp_1*dn-Ne?zHrlqr z_KxjyTUYxM`&0H;?Vs6C+nYGnIA*2Zm-<}l`>Fp*{XBJ)bF6ccbEb2F^8x2(=gZFT zoJ(B~x^}ugcG=wh-Gkg?-ILvSxgT_&b34-drcF(|GwqqQm(pTszocnTbI&E75uRzD zA?b6{x2Nw)Kb(FxJtJd4#`uiM8S66sp7HMtof*iSk+~srYi4ccN0~=6+t-^_ud?3# z_4Z{Q$SSKpr+&EpUG-PjzrVrP4bC)3Z}A=jv)5%?El0I{s%34uK$tMz^4tMh&5JL$7pw`e`G^@punMft)pE=yT{zC&Jl-uS$^c}w#i&fAuEGOtaCOFLZOVReUhJN&!D zxejF=M|ND^aa+f4J9f>Vn*Ut>?)-n|C-Q&F_Y`;wIv4aUxT4^ig4+rf6?|H7sNh6F z>rQ<;J=keSr=y*I?9{CDwViM3yrA=AonP(zX6L<~fA8GA%b+fAba}hWZ(ULfn-q>L z+*9~<;f$`4uB*D%FUl>txTv=1NKw7wYl~+TFDR}oURu1q__^Y}#fjptioY-Zt=Qhp z-K}Z23%afC_CdGe?!&rI=)R!)lifFWFX+*|$IU$&^&Hc4ThDVn3rZ%IOfQ*N@=!@p zukv2QdQI*%w^voKWxZDSTGy+l*MVL?^g7imt#^aoEqWLB?$i5J?|P+8O9Q2&OUIS2 zD}AZ-wbCP{s!wX4A$>;oxwp@Qeg4+x=RUvnY2J5e-_d=?^_|=|(sxPUd-`tb`%7P2 zzYhII^_$x-+;4Hed-|>Ex3k}#ejoMws^2*O&3;=TEpT1Hcj2WM&c3i=nYV0lu><#) zoIM=4zvS%c!2P95pnLUV=sWrz=)3wk=zIFP5(n-t#h@Q(e=i5_FNL8W=@@jM{ulIP zeH!`?ZO3ExxbO0(e<}E;*!idQ7iCAUH_88uJ@?Z2u?2V+(_izI-~QLwv9kBJo*z5& z-^6mxTgI`nCI3xq$a%3Z$__mH*JXTB_U(%%=D_ya@l9>=U)h6(|G8~NvM%Y&VQ``> zZMETl<~uO^{Mf9u=f|E|_1D<3vX3VGHTFf>kY%1%E0*VwVLbLVaE zv9hn%{59VfW%l#d?^xLa+1^xqGxf*6l=7n8=a+4XzkUAeK5(3O+`cFqw*35jM`a)2 z8pzC&f0^aG|C@bqS&fPR2orL5VffBfrE{`h(O z{#;p$|K{`2z0#EV^ZxsytS|n4*ev(Y?chYazveqvcKL^YjeSwJY{U7n2k<_Lzb<3S z$n#@w@bh6av*ce<`6GG8{MVM@`K9v8LKCaQ6EI(3I)v#krXwmt{TtJln7+bv6w}w3 zj^Rm|Z!mqU+TgF0+NkeUNd186IHn&l{e-`_IDzRTrk^pL!gLxF#?}~9PsU$P+>G(` zG>oICVf;J|H_Ow)e4i>dQ|x^wZ@c#sST!FOl>i>!{1}I$CQVu1O9@dBc^;jn^1tipy-5W5jtb) zg1@9F#4`t7F%@Ad#?%c{cT7Dn^~6+ysTZc+m`XAA!PFO1KTLj10ZbQSD#KKcsXwNR zFkOu468vSx08E!+x(w4mOoK38j_C?aS7I8B=_*V^@VvuNOv5l;jcGWh5qQ>NB&KUH zjlwh<(-=(GV!94f5YIe>FkO#nthEb&rGmfzw*G}@Gxp=jjDvVC;~<{OIEZI54&sT7 zgLod}AfCoJh!OljjNA`m#C{MX^@A9pAH>M~AV%Z|F%mzB5%@ujybof;eGnt^{({kDQXM*_RrRu8BXTqD?1xj{IGy)azEV{y6ytSxf$%+(qst z_gEXooAvyJ>CegI){oLhoM!qgsdQKTjU@i*AKMF%HncPCo z_Y&jV7~f95&iSu%ew^_)nSP7uJM3k#&Z())=VCq= z^SPMM#e6PLiPwSrF6K{T{xs%KWBxSePhubRJ8nC_wtgnG*Q?48JHekJtJjwRb zglxum3oOU9mljO7WV$7mYuZOk##=Goit$!hAJaZsalVi9eVp&(d>_`=v=1NioB>H0`4!>nmV=1+1@t^%bzb0@hc+`U+TI0qZMZeFZq`rhOE!-XgZUBBaf6FY=gv z%&rDYd$Fq_9y5Nht6`wIq8{ck{heJ6=lqeNX-6YHx$l|yD8|PyK8Eq@7!Q$S$?@ck z27xS02ooUq}VyOOxv;!?bur9=vcPotetq*Yp#!1ierY3wU+HT zwxgA`3BC5&=qRx^iC>$wyh*g&@4L6^|Ev4|2U469f<0CD-g-Z7-MV$Fe(Szy-4BZk z8-DAiCzM}5YTcZ53)U@(Ys{qyod=gD{_S_58m4053ShQJWg`6!;-9wRpRw-yt-EgB znsw{e-Lh^|+=J$tbzijZOP2mUHoxz&`G3s9AG7&?%;x{H4gUky{kU~MVcl1(`=jC> zG@rHZ-?i?~SoiOVYs@d%e16I1`#B4L&gT0$o9{oc;s2p^zhK>8x9)FP_qVM3+t&RZ z>;9f~zbx)S^L6X~8|!}4x^Ie$_2HQI$M`Yrk0Ta70+{`AsT653KtSt^1mFU$^c*hWjhn$^0Ey z(7tA#KJdEyZa(lOxNn$$dEj5e>gx?yEu~T)9(x`BQ>pQTcc<#q`m#%qi|nM zy=(l{)C1$M9(Wr0|M2+h_iA5q__xj@g_kZVV=0@b@Tq4UNdip zOZeJNUpny0P2V{1+D%_R@cx_LJdio^hN&KT-E1Fu^T3Pn|M-#D;Q!Kr-#GH+1KUUL zgk9I02aX?o!<;_)y2&5?(t%4yzkDEn6!u|9-#ici|F@2w9{c7L z27Y4`pLy%k2mT0U{4mma!~C0xSH`l(UKzV|>=(yAgx~kW{~5UdGu+?B?@#c%>G%E6=J}`sd*+c)^t+%{|{qfb?U&rq?bLV%wj^Ash0=EM9 z<^xxe*9Y-?-TcIz|M)HZJ$>NIsNcUfm0Mpkzx|HP(G!0obMz#B8T=OUdltU|em{uc z&*Jw*{QmfFe98Rmsn^WcPu-t-*IjoXeEhCAOzp1wF&3&vuif>;(VGwS@O%C6*H1kM z_tn&2f%f%N?>qXNcmGYm|L*Y32X1@o%?EDB?>hm%@91y6s|ELY{62u+3flbj!|%K2 z^}`=az3|q{@BYKoo9}+jy!r0e@%!{!-+cGo2S0P~Z@l#j_uhT*x8VLh++gBZ z{Q7&|F#qvAe{`U7>qk?STmLEWKLPr0jBh`PG5X*e2L9-=Ke+EdiCek# z=&?g%N00s7{YQ^|@&30V{H^%CF@E#pInYmyKQNhx`^wnj%Uk~Ysef`TNZ)<%Q|TW% z_A}{ErdpX-Q~wA8#M1{(k9{R`dhAc|drNlV$Q{{7k4$CJrrEROSF*o2b}f5)?7Q&$ zRCXR?`t;cE!T%TdeaH0av1$C?i{C~3o|^tV=$|s5o&ND7oJSuXn>+aSn{Ii__K|nr z^zh7Aj`Z;RN&LQu-@m}`tN8r|e*bai_|fm0J%02b&AyuY?DR)dzdQStBgf{xa^z9` zHs_8Xy@ub%<{m%#Mf`pr{<-<%M<2&8!0+1p<40e|?@Rc76~8|R?(o9#qj%yrgWvgu zA3FZo>ElPgZ{a85e&xuoEh); z-!<{8=U$okgL6MMarDum&@+#|7w%Ul>W|)i@b5qRL&tvU(XSl2=e?*Cejmi|`|$e( z{C*X`-@@-J?`<{k-{J_+G~EyOUb;VuWZPz~lxYpak z-}Uv%pf+gMbG=?|uiS19s(am_()?g>HiIbVgF$7`Yqqz-gor)YSzm`clgnlo3yY;f zCR>+TFs#E6H3>+y`bN3cG|1GPB-Wcq=-_8(OM~z&68&H ztOYOZ2K_;<+ibQsJNdmQgWw8NRw}x&+PM;FBT4wlx-C-}0PW#ts`$}dEf(3%NHR#c z&}r@Nw51w~lRjgaF1MTYP9vyxbO=dth>s;INLD37AJSZ^HQVgepgurb6gMQQ5Oei9 z8VJ?Q@1cREBQ#blQ3=knWHe%XZ@E*tUJtrVk_jq)G@ivGURL5Q?NwfA<#$_G%I!Wn zgb|e>N!#+;;bGg)cB({Y%LnaRdr)c*nu9$KAZaQs-N;B)BpV{jguS|6=HTot$~Ia#by%2CL+_*(jlXTOT=asi!x7(Z?V_eVbK&~8wq;Fb!X5}PQoCz@r3iB zktG^&lXW*ZB}k>)!W8dc4e6s*lTf3`^o&%3{V2Yqehh<%hhurSf3ew?QKhtzHb_LK zXNLC#*FwlSi%9Kw2=ZNBGdC>GU6L%a2dfN>C*LPf8ZGCw8j}pJ`tH- zaLJ2Dx?=^*39Ck@UD?~&=t$RTsF4H(xw1Pz_h!Jp!Cmw0Ms#xNdQjgT1jVI`7ICrD z=~g?rZZ~K*3fs+A16;Kl3mlFfB!PP7_f~6zLC|aac$;*kUTf8QKH<`C(A&F+R`8Lz zMq_xj)bhm^(Gbl%$??PGRVirUCu*(TfHPpR8MGR<>=lRa^nCP%THgmzinUsMOIH@K z&Ta$T&BsXDmv&o&X4fuF=8Po35mWAy8CIKiWfC455^Xt9zVZ&@?x5(56QQw6Hg}}# zd0|iyrF4CO-lzmEFk)GoB9dDxBwmEhU9B}+Ts;??EmOG8)!JZSeOVk(`f$A4VtPZ}V!TmqG04`+CMtWd5}c^Z zowg)rgH4FLr7Tk!{nOSUPP~wgrq?HzK%Z z)24DEmp1vdDPlObgU8e6vC7JF+H3`b^0<0|}au87{+co>WGr%lV)LWSYp8lqv~iM-uSFI-3W?H29EI!rWIH6Pjiq zUrchbXCwn}Ey)Omab|78L(Ei=Q9=ST@SF|&?Xq(T&xnvVP?q7IQyi&6^w_(=BtXW{ zYA3BlN<24@V74RnS^G8Tr1cpTe}x4&vcdv0vh@Q7-4OC6w`3|habX0>iNEm1HmAdd zmT{vaRW?u|GuI3fHw{V(87)9m%CcW!glHb_@!{->gMJ7GK@?%?1E7Vg!U&%8BP$_B zX9{=Fj5&(W?1SG2J&oN)QZoCXxeZAQ&aFif9z#7D57|2@{61(3E-e zpl`v3S`8o!w;`TKnFuL9VFkUq8wDi7E#xA?0KTxhfxjvd83-Vo&8=PCv=z3w)ey0{ z0>wf-K)CXXC`S58wB_BF$n*?WYVYn~?*|EAB2lIf8pFua3%ih_YzQg51+WijH0xM2 z5w%cjwJJ^VLIGL70+ehes|U#sH`&0Z$n+3%4fNhk8+lkkXV) zb14{XcN+O!Y%GHw<3jM*QXk6;6~kVkvjb(F;20x!t%mYRSX)1+%ox+Q)KUj(m?4Z7 zNgFz_p@5^tu;DsD_J)_aFKDPhZM_3*Q`2UXTV(0+w7JTCGZN~wuR_HJePK}V zVB0BsLJ$2kByKeNVB1ls!8YC6U>lNrA39TLT6a{Oe?9^!%6njW5Fm^)Du|_NM^g>n(=gufIskBeyH` ztkxQ7#^iYfAUm^)B|sQ5B~i*-#S&0Xe23T1gt9tN zLox|q9ruhQ3J{TEbXI^!2|O0(10;+J8yRB##e5zJS++BFN!*3n4!E*p19=I4C?AD+ zuGX48l8Q}f&>FZjW_YJv*Hft>G#PKkW4sw20cM1OW=tz+ZwjHJeT6GNtTXes-!C8-FF*7wk zU7RbG3h8;AI?gT3(fZCo4gy&}9Sm|hkYfG4h3v$V@#zm_ zb!=z-v7L1?UDg|(Sq{&v49~0`o>>{5OxX^}tht^wbJL~8x$M+zX>NKZQ=FZjS;)^$ z&t?my>4n++d=VpYAv3c$yHHB!GYfPUvy0j3e7>+yn9VItP47D-K|x#MwALLEcY5 z+-UIx;FT^rKW!>Y2#37wJkUxHFQ!u77ZMMcL5dyjp~OrNV`N%8d)oEywAa7*=uU5I z+LZgynw1;TNxdcDyEK~bn4ih=hNI7!>TWV0qWGry3ZUrZM=X$*_Gxokd{nafO< z^7EM)bbh9oo?FN)<`-sWveOGQbJNo^)1~x$VKzIHomN{eXC*|4wSi}f{d zV8f0%gliVi-th>>9+N@m&T8k*dVM;}J_SBon38a_NnNq1ZTf)d+oJR>W zbNT$-Tw$g(H#3_n%+4+pr_=KbbMvzWRHQJwFf}u078hryXG&O%rx&t?{A^)yF*lRX z;BR_ndVY3pY6fkY%P*Gl#rf$O)GnLLE##)>@|k>kdLdn!Gu64Us_@0CsyIMXVQn7>4XZfW+vDohoM zc}Nub%skeTOmQYtDrD2JcuMDI(uHCnpJ7)nNM+(pmIdJ)-boQh_AeT8xX7fUXn1pl zjkdrN0kzcO=K36Xhpx(@dRmxXF&N<>HP3WjEcG_DO-G#D3B`F}dJ0C(IMrE&WgYqQH2D0As zrRw_Si!00L*YhQ_df5Yti*vKnb2Br=?85ZaR63i^&o0gtr{@-D7IF|yryw5`(KidF z*(tF6scfk@Qz+n1X%;KUY^h{QPpz)3Ro55G7fb7_x$~t;`F$lb58-xdW-*hWgB9D{ z{5;sj!s1kBu{4#>IBoS}^07tSrg6zZ&rL>WL+$!gEoB zZopn(vb>_@ZJ{qJ5LLE&oi;SmKrh$ooj&#&P%IX!E2i>fZdLnzRccmNNVkmu*wrDx zD(kvnDItJCiJ6dFSv8gIHM7*L_d5N~=3p|{?=I8Y3_}-cj&`lJ#)_>`d|5A+3TscV zR>fahR)5mAz8We?!xKz=``{^6K&`KX+gybH10F5S#oEqBqlPurdal%@euY2{7j|1U z*GNv8SO=C(j#%K7j`t1D?n&UBt^(~8Z^e!^g@8iKrdmo-?yv5`P_yn50_(Cm=l-O% zQ!x7(FdzZ38#U-LQE6OW)C@Z?q`ML1SI@G8rGCJc_*psb%(-YTNo?gMBSd2g|!GH?&m~5Ze=1!1O zcvQ`0I2b;fQT1_XNG1$dgQ{LRJf1U7tz$;zL@d$au2Q2~0ma|?X+BEcSr;RtV$iR% zh!L=b2?DK%7#RzdGiC_U>Re|wt_}=yN8|t>CCy-`g#+`C(T+bL=JkjIyQom9GQk5O##6Q4I!Ah zT`!ax0;FJuZEhmkc@9nWN(5P`Y;wA40nmww6%2lc!VFRXu`lA3%%WTBWl5~pCfSY> zq}SHBxPc4^yHI*aWf8k*Hyh1*8EmPB<<{XtfE2X_urWe_lx~f~#Zp3`vrE)6H1}{A zYzCt);moc!kH8=NcLLpG+p;?<~hT*b`c{6~LQpSx9oq%TO zLaoiIX`C^aq0t~_imCSY=$r@t!ckBo5HAE-@iJz!uU1x|uunXY)KZ&!6eT%7@oT{r zCV$X#I7S`CF`O(;NrXnTAEg`uD_u;!U=gA>@?65OhQS`SY7niq(LvfWdgQ~^wn-GT z9zikZo=*<}Qp)|@?qD0eEeEKYCd@vCpKEdvBqx`bp=93-xK7aOb6|^6hQQ{-Xt_?0 zMB9uCEMxlyoSI3}dW%N34XA1;`d~>Bi!Q}Q0-D&w@a{r?(w^&2VoAaw-UiGEwZL)$ zC|RkG61YQ*Fwug}W z5fS|wuS-PW8-)m^;r$CbWWyIPjh^ks@pU~+jT3b6YteXEx?cztg>gt456}g((FDrH zI8`@{aXdC$airUD#VO_0IL_^2;uN=wiBm8jYjNzTpq>;$^sbTAzHgA^9GpBJkLINB zIEC_d980k@j`bytIJMk};~L)D9;dpcJb_}D<~T){bdMemqXOuUAQ8YgM_w6!el}s47twn0RtJiYN)iX*z1- z_;PnGE@y-q!uGBos)gIL3|WFoFY4r=YXntH^_D}yFE zqO?{rsn%^K6C}ApJDKPW)BS=-|0Ty>>2eF3OtWpI>uz!oj*essOz-xgw0V0t)?_QI za(63+cj7@ZRmG5Gnl7WsG?yw43UR>*J8<3`i{+iiW(o5miDcU*nWzh5G7W<@7$hbM z0c=x`4dW##=EdYARzmC+IQo-`(d-q;tQDM=(?Oe6%SK7&`yTh#!2 z?ZhBrpAgSz$6oN%ed9iX>awTWhv@ICFrjKlaG#Knj>*RNBX72yjaj^yS81>tN8`dj zWU4s+N)U8&t>)DPlB|Zj6B-*jT(9M}Xp9m~?ZsAYD;`r;8C6opiKw-GR$#vns=QN; z-F{(Y80|+?zKlVZP&Vbu$utgZRGJrumih^Can*S{ULj0$no1@UX&fDo0%Lx@fze2! zHT#RO_TPu7BX1w#wd4fRN>=+4>&TvJyQtWT7g97du_&UbiD7ZB*b|l=uwj!Ps|>0P;Ta#SW_OWi3bCNLr2SrZk(9g=%a#z z0JEhD&3SS@qU^EvmEuXPRm>p9w)Xw9}~-x zCv3guK1Avu27{zzoBfSJLMu}zzubwJj}tcukN0qBGtuetu68^c-X@9_m|{4V|D6Pq zFG4^y8;@JI@U)k49OChGsXB~fc@T$<9hRCnt(dQ1mz6}3v&R;mhKe-{rz-ei z5=lG9X~pAF-E5Cja%3G?jpG!YA~kn-*DaA+x-JJB{dhcO*$@YCcOzB@tu>DEdeBNG z258l;CgI7E3b0~}rHBg=>)^*bx=b!@TsAy#2))!K(v7emxodaK|b z@gk^v7sp?KQC%EscUaVRzz8W$$Ho_@@o_vDcDdc%hk}$6N!+=k*?1){o+366mE8?4 z5OJE7Jd45AIIXbu9uKS=pGJN!PSX8S5=A2= zQG{tH5mfz@M5))>d0sT5&}x+u@v`9PgxZQY0X>Ep9mmTyIgVB~3{fI6QnL^HU2IwQ z5~)kUm3T%t^)7Z`h!)6ho+eUy+)O+)3><-RitbS3cp3}Fv2hG`MR%H_P9o{&cCzUAIKq&VDk_L9GTww4h$9A zv>9pcl;F~$q}rhmO+$yt%6bXES~Qq^6aGd1(W}N{2?+bmbv$GQBqHjuki;F*mP^jV z7_9p^LBc(ye*YSVB@Ax{aPeLs7Sv4~AW0&2Cn_+KkBDml#v20h<)~I`rT64E7Gm6b z2Wq*4jm-#-m7&gAj;5qA5u`NOyk9T1pDRzfL6_(23Vt6cQ|004qsKRsRWLcs8VV?2G-M8m=)1eIy;JZU}sdepeVzpqO!7peLDRZ;M?NIT*bCX zyi7xd1p#S0cQ z&8~G3T5Y2YOi7u}4*#_IC)%S`dqDuBLkOw^Swsl38sQP74kmXX2|G#XFIQpMQrikJ zw(*Cd?MfnHo!_&^G_1NiUhwI|mk2RO>jBh(E(B8!k2NLj2qJAq&ozbO{1D>gOw;J< zp?)c}dKu3idrCatzZSIcbQnydmTf|rS5vCvp`)YKKcx26D4{1ejWMq%8S(AbSbBd?_H;dh2B*ch)RXLVy%^)-03|u-yms+zXSk=1HPtUVO!( z$#z5^%9?FfVA~3K4L72&P|LD-q1J9hC|z%capXc4bKb2;T=*j#LwFdDB&fu%KyS{y zp2?w|z!Czy#aHj49^^Q(K8i=|zs1+-L5de2W)&H#_#uX3)atXHf&c_uwIcwm@5IH{ zpvz=!YuKU4@h)KCDQWQE7~I!VN*{NLe* z4*4bNVGOgCX{O0AvInjYIE<7e>`c97T3$vGB1lE#2$ndi)6n3|PE81;EY^GeNeT&4 z2l22JAx4Ea@)tohHbP3*+7w7qA>gc|!eH(N$xD1#2clm?C{1-l6byq7$x?!4QQ}yY zvchPVJB1N^m^Bs?-ch6zO~P11h_GKmvUE$BCC-J}H6ax$KiD~o{xTv|z*56d=ZE;K zLNT=ODWSyAfbU_2!Q#i z=iCAzEqj%P97RwA=V3Gsg$+D=6Q%<(W^>a;9Rj?fViG}&3*%S|4;ebn&%}A&g zQdl-jK`cKck~EoxrBpCeY_@zX8_-+pY*?qD4@;tYD*;vR6R+LNqtsEBs12_ENFPfW z+jku_AJ2Bf6hk8uDQE<3@nuvAwJoaAFhXQ{A~8IWH5027suLxAs9Y2XGpZ&MzD!;_ zQ6z$5*#>d!`CuTi``dx_+3G5m-2j#+Ko74#iH9X2D-DB$04X~@B?L$j4S+;Ku3T@i zp%$>Q0U26+bu_Z`Bar8HBY^J)J2oOw_}VMix*;U?Tzp1f6J_2!c;LJF5(Nw@0!VF> z=dppr!&##q`O5%mh@)L1HaWJD^%+}kvW4bETtP4%CWvgog{mw$L{)b1h*tzr=Pt6H zMi5zmvknH9E)k{}8TUw<9!RQY5thdTdDRy3V^}g*RM~M}wFDg_TB#ud(+&-PB;yFu zdjOI!<_KjRFOwH&OBt5Oj=zwuN|})Cfz0q?b5pE>+-qhbOd=a);MzR|th8a}DZ8!b z)9rezE%H5C>$Sl)BLq)KA_$zI(~H1Tujhky&nEQq;p_0Yv9`0ptXRCrZb@3p1Iu!6 zi~GG`NuD``j3hUbBDn7p@xXFm3N8LEVF%E~cEGM*^6HJ>*ITXUqCxZn|eXG0Y^tPU@YNgU)8P8WScLD1+Ayql;&s3UcLu2`X>C9IfjRDt`d z{0M2Rr)mo<*}r%uDEmAji-q1CeU`|8k;QP5sC&4`RP!iRm|+MMk#h)$hAj+Z?aHLV zL;s-D?P6SqfuJtHWA{FWB4I=xvNF@Y8%D8b$=@*}Bo@2fhvi{jp`aIJ0SyyZ6E#WH zda(_}dx}f7E^TReXcLCTg6d(I$uPzx9>w5USXiPEh<1ZQ!wFOF67pLg{Qgj}sp8qEg}xa8P5t zOx*6hSzb1T2a0-4<1nCSVkaSe7-@%(Ku9KNa((+tASMiMjReD@j6Si9%_+`G_33|^ zhB&;kt9F>g2uMjW*lGBIJ8^W-)j5G6uA0c`@H z`s9NNyz76%2LLq0@XH2>;vszhq&|eXf3ilD%yNy*|KbREVCfGKS6zzd0G#2~_Es8!x-qt^D=@7yDRZ8K?h?sWW_p~@vs6mSpnDttV3&oy;afcLAF$ik`WEIA> z8t%0Khxo2^I`vQ|XiK_HaYK2{tZY25k{Y!08f5tELuRoD{Ys-HpCXbJt)ZxNk@K@1 z8q9!mQ9M@tsWP3!Qvr@6ZKY@Zi(>R(fjX*&6so-M39}kBB<7M;pE@H`tS6`KQ z=3IJxT|^yTddIFNeEXMOg3}Idfm&M>Ql_W}lDUCZrs4sc-5o&Gr8Xig4o9%QbbS=1 zP9AVXfgl-BIn@)f0tNF(VW7*rG800!hOAnIbMGHVm{>bRB)312jkk}+g9y?fRvL^* zWh^E&yd<1Vr7jukdKBE{T^R&jT%PajZf!?INFQo#8KJ7O>MYVgh38Tc0iz8cJQ`q2 z6}I(d$RNpC1b>_we}6=n4E-* za=;5j;qddYkwI33TnjcUxD-9uTZ2-sAK|NfVY8%$?8|5;k36!+dy|G*O2%;xdaUco}#UtNmju38ClF`E?AR>sEBb)FDhqKP$ zdIZ{HMhH7*gcrwq4jR^CGCi+hXtUi@a4h` z|HvDL8G)fT7tGF{I8_mcg-NK7d^Ggog;Vv5T2a00V4dm{mZIK(4}V}HDMY3m+2Zg^ zE{bQ`NqB}Yf`d@1j#AJQxnW!$#&JQdJ&cr%WrX6)3lk!<3;|FmJ?XsEjL=l-VJwlR zqXN`Dm__$t1joDG_!yB*21gpQBUB?jMF!mPM#-D+9mVr4 z2CZI6i7eB;#4Ql@*@;-31awm#r5Fmy1Tgxswpcp_S?q=}DDW^sBB_L|Wn6Cu*VG5* z8PzGe{~)P)AXCtBt)bb0!bhF_t7zmrj9|R0yg4BWs*gCmHX%ssB^K{u%5@4DHXud? zwsJBB!n+g_K7w-Gl299sa3UPwAsvW5d{0M0@+yTSK=T&?*f$}-9C_XnQicGrn-S7^ zJc{Fg;w$0vUX)^n!jPjTg~Lu9@4v8IP^E|d%5GN<`e2@+#6Cm725EN#TikwsWfQN^ z_pyHfLxX=~cN5hV8;T2q9cY8Mq?QrGB?C7&U)_?2+hwtUsI2-4j12n2M_{;rR}s@v z>{C+=gjxY<#T-j!tJ&RFjOOh^CS{K+S!pUv4>&!RvuW9pt!&@o>RLXY&pFXopUVLs zGcY2mH6V0v;dowMd?~Aq?_y%*gH%d_-Pw5<C6GQp zXP1{rD-{SuKgh|4qm&;~5F~->VQxsW8D-2UpXe#UxN8oDwFMz&r)>xpcJ!Fkk}BPx zj`3OC7*1^X^8_x7YDd0S;eEJ3hM@?7Ha_Q@58J|3JA5(*i{WTCOpvcX>r!c{XlSq- zu4ALYy)Pp~g&O%}f*46bRRr5J941m-1jCnh+j^zr!Xa*vEHz3RiuV$UA>-GigwG_P z8JhczSTd+g496FkhBE^jq*aUijI8d;Z0RT<*slgy3=+h452w_u`Y4XgX>n2o>T*Qz zv`CdgEr8NlA6ne{^wR{@&V}H*hnb!BF)Y(4Y|9u$+YS>53(WqOPAt~;Y~mp;Lb(!P z3d4TThSMx#D4XjLp7j>xfsM-k^Z_TBVFoWpygk@m8~ zMA4z>`#_E;JWxh6c{nd$;4>q3d>hVMeVC5vtl)EhTM=j#0mWYJnozk@=NqF)N8b3y z7PQT`{^9nTEx4?=Zn(j3wsf(Tk8BD^s&2JIst1x+wq2UxVTbTCpXvAN;-05?A>WvG z?_>$uE_&ielaZ^5AK&s6*HeiK%w(*VNH#5k)Vp2C%wMgFdAw1Ht#xlw6188SoJ31v zW`WmA%)ySjo1&(0IjnB)^_z7pOi~g37N7uZ!n*1qEpZqo9ZxiJhZE9$m~<4Mddx5k z4=TgNyP74X7~6<)O;Or4y6-5h>w!$xyYVPwA3o1UqXJtKLp%E*W2?liWOkhoLzxL1 zb2+l;N2R&Ody}WxrgZ;F;H&=g&Vs*BXpDM>K!CEUr02i7ETD}X(br;Wv?m>71 zhil@N78JDLJhW@KFnBvzFs~JXihEw?MTgm|Lh4)TmH5pqa}kD}J{&IReWgRmrye%W z@P%C|*a(XI9;g_lZZgRwkot5(Knbx}ksg4x<)FhD#Nmkd1;sKa?~bq5Kf3cPX=_>< zo|DgqovP8t`OFnZCbooDeX9s2GlbA5qcNN&p_8K-8e$2KLu?dRsdyN!o2VDsU1Kr6 zese@&+l63c;XAgNw>YaBA^R^HduzP6jKiE5T?`9D$Sq;{Se8Mv#pOE?kM3y1%f`iv zt9D;XA9YM{3NVovT7w#Z#pcbPds9OqTQItH{(&JI*rT5Jiw_p`7%n^A!QM*GAsFKP zem5kneZAXRxt#_j2JSp%m7IjyZP@w`U;Dsm0>#Gs9*Nu7b(-t=v2rrj(6Z6MBR~p9 zn7zeqM{Wq}k+Mfefjx+k!=p^S2QDd$;xw62EYcc9C4Io%^yNG5$||VA;ugY+;j0AK zH=-jYw&;_%lNmsLPyaGn>Z$;%TSVa=DxIairPE<8}`5v>T8NjybNxeJ1XZ>(+!`k^}u z;Lt)sV{k)VEE-b8#J81UA*&F}q9PQu>r&DP(pVA9m=FMQ&r;*E+)+%|@(Ze1J zqJ)?SP6#x4@d)El6HkG`ifsT+Xz?}~K_@z%QLm+Qtt}`K2HQYx*YKH+AsFA`h+qn* z5hP4qWNH|9@V)3B7u5=`i^>XPa8}Uh>|oV_dKfmuT++!-F`s!UgBvjgu~iojE0gcw zF0@uhD`63&QN-rdlC}&1*`Ely++V4z;zgBBhH(*a%RdZHKk-ywIlS`|kLd_$&b=}q z(MC}9;Sh{OeG?gwOI*Ic>LU=xWoEsMMoV#rc7B%}4%CNI^I#mUxmeb#cS_xwTR|12 zkVZKx^~F3RlY>+7Y~u)6Jj{*8^dOeo#%iXGw-ARbFqrQSuN}3e_1qH)(mo-;)EfR1 z2|^ymJSJZiW&cxnQ{a5Uhp`!gY+RVE2CK&~h^Qo{_1HBFz~h=isVvukZ!<`F)CZ>5 zhS=DFshtWUa>Wdp)bG34<#?w>?tw283!5=Q(1sQ?zWVrg6fttB0Oku%?$y$7v z;hRHmMM#lHP&9R?PS<89T*dnJCYWX>lTW1?ORXzGrFdS-YRhpl-;)-gP7KRHYaPj1 zJj8V5Xt~o1DMJV;w~GU%Pn&HZH*gw!^Aa$0LHG;(aJ@-Q0!D50K@&1peANQG*HA=} zQbdroE{hP-Xc1^7fCzzw0NMo)R(mn9=Bv0VhP^PKHOI3M*p^Chbc-Cpy289b+sFus z-Y)2oU4&!67}Ac87@o~!)uGb5&JTM*d5%MB?fmDdFjTaD#R6RkqY5dm8hcRo8bb2S z$V14|L}O$Rr)p&OxQ9eRCsQCy zdf`wU=-FZWf@$uIxTR^(eOMBN^GISoY=?k%Ann9MTDF{85?QiA;fUgVa=1`A|>ZdZ2o9dR&H}w$127KMrd0MmTt$2EIn=&aX8UN zd0`-@=XYCIVn;7t5K(n{aI~U%$Q#TWFO=M)@L(ndLCM2l#(R(*Tz220j3V5|u%9u` z91+bp3NP&qVahxKZ#KL*9IEmTe@Cp*Jc?{>Jh&ptR+kqbd%EWZk^Zko1!Cgf;Rp2V zln~f^*JvV%n0VQcAmUgb>R^{N%7DlMx*Z9^v{&t0M#|zGpo#&C8X=v5Mfc9cS&9&l zNi7Lhy>(VKMIvodp$&^JM6^h3sY7d2d=}olm&B{=JlBOl>|?E|mo>YzZ!4KxZ%a5J z_wZ2)9utp{xG>8u3fWmi$+h>EI}yk_4nN@}H61~rpQ0$P7!hUwV=F9YuAIdU-MdB@ z=EAd9`w*05;lt-S4kEIhl^oSzniO7=)hy_GS;&NgPIC7dPH4SPI?U!Y1h@@eoRTkR z`7!u-hz1aunrX?tPQpM9RPBflJ700jeQ{85aj6J~EF=CVzuU>=1cH#@lp+E@&y=Zk zh5UpO0zkUJK7^%>?*OEZ7nySSzST8^g90!7LXe?0ACdm%_32wu7L7w}PZ7^759HLwzU&9=Nxq#JXaONFQWrI(TO13Qu4p4D{x>0N0_` z!FikgWu(vTH}I@&h5NsbBxJqBa^G*U*6Z({s~x=qLO0w)6OgYYh2Nex^*7)EO-hWH2bW#Y+K^m&yb;tU+*(CkbtSB?r|~j3NTyjg*|DOX~Au@RRB}?nYb1zUJfs7Qa&*oTMy2y19q_PN?HdwC-g@d4N zI16c8MF4ck7T}_1y<8Kmx2K6X@!PJ}yvd3jMP{TlZDCg1zJn-*cYfkAWBhj#Z9fj< zP&pT6FdV$m6m>-?^n>Xrf=RPa@U}sS6KQM|iL^&i{gHU=UOpfsHx$FvpwCahmU(O+ zhLPo41=A4cUQG-UW##xG9PtW|HAvafw7y^oFvsut@z~VfZrR0ytw3+UWWvQz)3eY{ z*`c+=9aQ#&P=|w&LIQSp>*m7RVxbOLPWBx3%sB}D8@5c4exPd6yC0%0Y+FCO%6kk` zMt~1T?cp)RVaXADeHnM*CsmcpPC~dLbGKxwgDTMUJJ1(CEiTjutpyvJrrOl$n?*g5 zQf8;cvJlM-rU)5~IkOH_go|0C)F6UL)0IMk!QM0Zp-zdmKNUL8ec~~L4sW_i3hK-6 zZfOL4Is%w36^v~+BRHNd_av?zcFgAr%4va)tNP_N^?FHvIZqcNBos=(hrz^HoN zMWo>XM(!rWz8;TlDJ%3mkq0{%3#dI` z-HyCnvpy;fFpexl`O|tSJ>odhLL$nba2{yAU}2&SawOX_@)_izVnS@SQDE!hd^ps$ zUTBuAk0!^C-g7=&@7k4%E|$Wz!FtQxFyg>@Emxp?V2Q{co$aDfidlu4X3rw<02qz4 zh6)^-Y=Ot)We*5b2*42^LFd83LsD5ZQ8paVa+L~;zYG=b>T5kDQ06$5WW>WoTs-J~ zh;is_ft3G>*B|4aO4~&em!;Zex=b$gltMWJYB)=jZOx@!`xRx%6iO@NlS#bI#Bj2> zMBo!R7SQump)xOUO&6FsdLUN>`BWm(LF+g#Bk5VES#5R$>s{|ger+a8001$-0__3 zLn!;!*ANx}Do+tA*T6kc`0->9w+v3KmFq=nMu+2G-syp4ZZjo3VcoI}RA?my+YS_eiSm|6gQ=Wly?b zFcvstMPt!3%Pl;Iv4_+82@1(wq2-{wy(+#*sx{1HT^!L^L)oEc`oN%IvJgukbjHsM{fFJP#|$xhqi)ZzD%43P-?fp#1L?lSr78+yjMwG9K=kpd>Kf zF&kicS612>VWx&3&b{PqO>~k>3-{8v&LjKmIAj-nf1Fix_aF>(EWAYAGtYCf+W6pK z;d|uD7kos+2UPdNh)5MG?EyYHNT_QSH1y*EqUNBlL6rMZ&XNvQAZYnSL zErh@wG?UcrqO@?Xk5uK=UQw&%_zsh4U^1|S`jWqRh896s)4QoqY}Rl&9#--7zCK>U zHtw5Rqd`%o(KoOl06($7t{A6V06GbX&A93)lT`AuKJ*JH7SLc8*up?{Pq#}Wh5#vY zeaeQUnpQ5Z^yLN(#H{NS?i@}Y938?i0eNuS1)+Au`Q_2eqJ6xz3Y@S z191eGq3D_-0uyzlCEP`5_G2+d&|(71qH7K#RF{^`W{67bMBNg-ZvZam%(H;K)cIk$pQ!#mBHd@9%HxL79(c|S9t~4wuO8GLz_Uo zmL1r8O*F5E1qZqf?Yv~hvDz4239wg1Eyl4sQA0%8}9Mhmf2+H%CPZ$Qx4yGD{ z9BYuMHD?0UGYX>C1NO|hX_#E#YCA8fa5WF0{lSAFma~U#9Nw{=)PO2_qW;=j2(9v^hq3*L z^;554=*0_VpK=FdnCq%l9Oc|$b{sKIrA5O>)k=833oN`fDK?g1J2bEaAK_Lo-r9`2u1&l?+gMgch4m}rCPc!DxAleXWvHn1RJ~kV)-SfXf)ImwhJS6LtZJv z0Ag7vU3pcq^TJe}2U3vpMrTgoFAfQMSUC@k18o;#SWD)xv{3Im0IRI?>Z)z85b5~9 z7{f~(`tl)mT*gi)%d=X0yjwhB9K?3S%zl`fV1>X$6X;)#ZM)Lbe< z4lRdFT%*h3j4VOezblF==DvLyM7&UVC`Dyt3GKYL@0^_hPCIz2tHGV0x%qx_5zJ*D zW$iZ{ip!vt8AmAFHhsGl)WZPHjtU4-hxcJiB2S@s7}UWLnK(5bD&eY+xN=_vbW_|= zRft@bvR=~dVU)_L`c*Zv(uE4lebvPDEjBcR7IDOi=n^mTi@M2yyhXFdXFwc+`O#!! z5R|(X%5i~AO_dzYKuHu0K-F1PR!^`koge=xdn|yW6V*3#h+EI-l z9=79?*eejZjyD&?LnLe>HJEsa!DAKJ6Eqs)5`iU0D$RWYl>h>hph{4rFBmDD$iohE zg%KH0H=nZ8a9*PQohgcixrK&z0o3p(H=z1PdLG{X&h*6rH->oAT}?i8=t#qGNwc7u z=z9q4GH|SFsZ=jnZzJ*|8y9RWGlM0U0Rvf2ROe{Lv*Pn3<2#zX&zG* zH|8@wR3o=@`IJO!w-H!Kj*zS$(u$scSQv`M5sX~T$I8Nu4;^XhUG?LE8))kpFW3mivY|09C zMKgc4x+{V6OS#+^H??d-&=b@?!iEk<6Z%z7oeyy|t91c)5kJVS{Alnb0<7$9iYoqK zbK?*!l=t~3wy+hveeC+SitRqG%y2$}NsZ#lFt8fMF6pv0(@rq0*K6G~&O1=+^H>jbMz^({ZZ)#m&{VY;RuCObOlf;Kf--*6KE5-I< z`wE{%mS<<9a<&2 z9>TLAiow#F0*GM;%mJS44S0-j8GK(q14zB)E+23Pp$a{-`rMsoh4lW1`t^jCp>gKR zC(7uBgr=UpfW-}bQVCqhELH4I(7}7da1~$Au_WqCQ3o6fKr##OJUE4_pxG3wIOmkc z6Av+RLLd;YSIAt}ms=#5^@_#~n?r`cv*akeNOCxiB(MqifoRD75exQ5^Y*fS)Bt1U*a`bTVB!GcY13u6 zK^Kqi6~v3!cz6IOa&l7&N^~r@LZDoa?T{DVK_b{Y0Gs({TLQ80PxfkE1qMA;7zl*- zmtYerURIb*h*1;9@?r9*pfO-^C28?N{NfXNRN^YUG!5}X{Y=pLoko-P>JCS?43^?R zmhvL3Nx%dg3OYdNWnv*8M-dPa%wt$1YA)<<&;&W)^%W@&IhOO6Ilr*I5ls;88Q36^ zKF(q4Uiphv_i1b$l@W*;%{y2!PVDPT5E~?v2R5(D&P2{+aS5V-Rpn*zkn6#~IkF+) z-tdVgFqV5@!13CKpjiLq&NUr~8!%bL839;R6PgrgM){t&oX~a{ri?wXWJ?#DX*#;V z(RW^qm*^mKBAB$jXhQ9WWZ}c4qiwKIsO_`_7(y@v78H#to*n=^i7aW0y@*6opB6>^ zI73qpiX&Sx8<=gQ-X_1f-411*&!$)`wS2M!zyHag*@O0BTmuL`~oMZSvUpVX{^+S@CFX3z{cB+{2|; z-bxo=wL?3VtVIvSvjf;hO;2T}6XVWWw5FpkuWLYJ__AsED4P||e2ka-DB33Mqq%uh zMTO>|+B)^4i!c?ind8e8c(g_8saKBFUlR7IXYPG?R5uygsQu(Rp5u|B}MVD0&Yo=YTIw|(N8wr z&+mognxmnCNyBwB9?wfKYc7x7n&yHa90rTEohC58c*C`$FSq){9v-(PQE1UT;WCAm ztU%j!_+`G(q}M-@5WO~#z~XiR)%DS#8`T^ztrAYG=0|(nJ%d-_!)!8wzzf?@_u&vu zn%N%68B76r`_aKP8E}5jwBMne1XsbnM33~WajtCr9cr7qogvJ+>IPf@<&NRaJ1LRf zu|-Ja5yL?fBxVZ`Dn%>QhH#7BJs`VamAh&?6^;k&w581*x+D^*gK*No$ny0jH*%ok z+tjaeK<94F6nLxx$vW2$5!!Ph=y$a0(KVx?5fF*9j%eKh29@=4U|DZjwLA{8N+1gg zTX7^O|4BoJ0ES}d$Ea3Iix9&JAny%gdh)S?m7YR)?7#-#asLlAQ|^mnb1tNEb8fA_p-UNk4oMT2j@n=J!@6wq1xUNlqYCAcr)pE;$WmQBs< zAY?*_ISuh7sDZgM6yiZZmrc*KLToyg^0kC`!+95x_aHfMTe@x2F}uhop>(-RCTHGf zGUiEBF;AJSDVd@vm}#?S7R?i8##GIDlQ*;GX>-9Wn>m#CF|%am&EsYPZL@03A=bi- z56qsyZC_(8YFHWtU zM12CYfx30^uVtF1F0Ir=o^9ljN6t;)8|GLwbw>&1?SaA;!rQ6{*?{i@#@zk^xHXix zkJNUMUJLb^G-jcUwy2=3)=EA4G|xav;4!W#nSUUPK>oyqYnL?L#ucZ;98%oEWX0ncygJwKrp^ z=@G?nM4KZXZJd6=o+zOFf%FT$SA(*f+k8wFrRSV7V`%Yv*ncpaLTwtrCD+`XX1Umo zCs9AP{u)Nv1#$1g7@xs7z90Ww7&G>uG3T2|w~e-H;op7m?;_XxWV|px_S?6W_cKwt zH_n^&IB9Fa8ggE+bW`XREg$=5$}cC{OlxKCD59lSFa|l^*1g)9cRq+7ecJvzjd8LB zI4V=>o;dw9`n)(C>hyl0PNE$zpp?_Y;b*>e_=i!F@^Gw2zTH?4qc1DNamT;`j&tr^ z#IJyM0N=p)%Av=L;*Z94>InTDYnWl;&v^c<=b!fcGwPqX7pb{aQ@2H_df0oT_PtS` zo5N|W9BE_jm=vzJgE?Enn1kGead4KUd%TQMk;6!XuEku%2qzZjN*Ij+d{LeZR|Kww zAGyB9-;_~AE`_w-Gl_J+z0^|oXxML&;%z4}+SZUSIUc#^(`;#A&jVfohg*%X6DP59 z5WB=M$H|E=NW2o^yHCn&A`iy%jWWMBP-;Rt15X*VLN4sDx;vohT-30Ec>x&Co0CYP zgTE2)=6Xp!&h?sYj6BCq8FT5co8|`k1D`vHr;1XNFYI3v@;|N`zla)mq<`@*CP+1 z^*U0D)Nyj|y0j+OYjgW($mbDrU{W)uL4}3~G6mOqeE0|HPonMv^i|6|Dr?dJY4w0t z>FlgYoj;A)*+4ni*!u_EI^^+3e;gIKo^)N#0;4g>7B!(*gy@W+!GzV>ji^!ME zw`G`91SQ2-LO7<%!5B#RVN6n-7r_Xjl0$eh1+Dl?CUwG_- zgby)2b7~DKk|nZ4IKo2eoHP{rY#a%}se%i+((Eh)ORscvz8zvV{5``d5+bwG!4|kw zZ(BkgSY8e+PD_e&=14gztF1@hJd1y3d=eo!<;?N7P5pM`*_FQx{{4@fn0ou0soN*a zP3CP=6y}M)Z+C7(@OPXv5oK%R;`e?o_;O1qcRI?$jdwry-B*7VpO+fnBITq>or=>Q z!w_CUuiFq{o0{%#SAY1q(NZvx`qQLo!fvrqw_Ap73NNaa{2r4IoG_q!!DMJsLxSTc@O3KQfc z=ABQW^SGb*9dW`TS#ZCGUh{=eXAyQ`x+d5_)h3z%4*)+uHIdCH` zi~K<_Jp3@~0C$(m5Dt?7ot6cLW#xj;g?kcnol6wiJ(uW7DbE(d;gkV?xrLa*Cg-&M z%ehH0ikyZb$Z6EPg_z`@49}%PHdt7;t?%&j655=oN=z8noyCj zecdvamzs0-Q}m*EPTovjyNvMW79X}bd0`}da0=$eT!nZlKi>z)Wg z6U07?{+5;HNVF=N6Omt2ax-qv)iUk2^lVezN}V*vpJmIwi19`>7+d#6D30j=XM3r! zF8Br%Xs2sif4RK%`YNkRPMhKQoyN%L;&LJ@T6S()1>?F`50I!&R8BP|+%oYz#(Pz<6vMil^;!6`0+ z7d(r0cmQIuIrJgJ6yMGC51qvp%N#l-f6vI@bMlwt&5ToJBm(CN@{ggBc<3I6yNxR? zS3Hi#F!azUrTijkyu%M0OYa^2$c~MBVt@0>%4Oiz$v<;PQcR|s1KiUf%_0DIJ=X=61lL$rle#9|{p9R-}f)4#tL3`Z~ z8e7?nfiF*Np)WER6XbN}#KiJb&)oOqUtRrStkZvT_40b^_%+16hPIvv%q%|)IVClAVk&jZ16$wx z$WN@j^zp#TbS;xYzg$KMxpwR#j`6q-=cDBir`&vfNM@;%SGU2@?CihyTZOPQ{|I^V zCeodU3h(7-Dl4gp!E-x|4H- zk01{(`MF6G(*#?>sgK}nP>`!JC*3)PjmeK-!4jv^(DvoF7MV`?pR;-7!~fn{!; zsjkO1@W)bPnC-XEAkR6BYL&1jWqj=zee6g>(SvjIfUYP>7adh)G?~KVZWWk%-0!( z_>T<7uS&Z!4eb{yEU22V0d}PcRSd@|yF@!Ma|;y~oVB_#Fb^{ZPA@BU;>vh@7b_PJ zbF4yo>>k9xKIIho;V$^zGoU_%gN_{jE`m?Ih@N^0{4aHj%ZFv)2x4B~sAJ&O6W&=|DC&U+ko70ynf}rC+Q~^@I*AWI08QY+&3zz!;gI6(=R`4QsX#_um7iK{==oz zi3<40`>={rxkjF1?){y=`G@Z}%ipoWy~Rg1PH&BGt^V!SrN65DZvDqs2%ip8_0*fG zJN65gf^wasnmwaZEnAs#73Uh)xC>~_CfW}Y+Z{P+S@H-y^jHR7WW^(1U7(i!{%5{? z1+{|j_K%3Xb%HYJ!}z(s=F#)gMmdZNsxa7NF5M=49AWWY@xy3q^3|8XAIP1$b`0u> zbYtKYWJ_IlK4iwReof$q9oZ?aJ6ZG<75;PJjSDD^k2AM%9yz%<2Oqg0ch=0EKLpOLN*S)J8=}n7 zIlPKixrP$2BVF!z*kV1=O!TbEhbpT9+6M})@_$~6OUPMMCC_N%UzpP4|9L5`piEq8 zx%-c$_4GGhZeRaDRz}xfDjt1R;zP?^r~dHcpRMca`k=Y`+^@Xc{xIbh$15A=;bo@^ ze*|OAwX-?IU4S_}DXnMj@%Jn|G~0kQpofwt!JAcuY;J#Gi#fjZH0RnY&;9S8`pnDB zJ@t-HVfEwz;-SjF-FReq@<*07zWI^8joWUmkL>|0uER%uc=YhW-5})yaO(@xXedO;0T&bt=X=L*4ivD*f5j zkpA6QIhOueJ-GDg)~BBN`Tm3EPb*(rzHsULHog{oWnD|gy~H24e)AK*_XF2{AlORX zLiy_&%FFeXN77iC4pW1|Rpo&#rt;lab%&KY&Yiv|HBB@SXIFSPbs(EI4a}DDH2C3z z;EZMrlEh(3S&)5?+=uZ<9}aF$P~FZ|lyV1MbLS|=3w@YRyycAsGoP6Nvw?EB(e9M|yC++~G?YluQKrSg^{m}7Mg)fi&562qk z1jZ5$(jNpjYb99`PxV*BA{l68qVwnd9Vo4=+=f zc4qtddI}?iN6}L#vF2d5-v0E`%7fVVcLVxUV@oTkm3 z?j(Qz@Q?iTb4=lFQ>v??lz^So5#m@caF!z{rXE;kSoHflhDY^%SP?mPPh#|9oSwSu zjj3|dm^#ijp;p0;%CXaEzx%Mq<$6n*5501nJ70xaYcu|mc^6Xu5Nc1?$js8?RgNI@ zk*~Uio!!PsrY9vl-{t0GQbZ4RsoI-@@bL)PI+YddMs6y3x=R5-2je3cBE*p$(+cA( z8tgjatV&o40xB*mo)jwLxq)J}wh%sA94X>)%2trx02JLG&f7R-FlSN9EJ`&C97QpF z9~5b^q0b^UvVAa&6I3Y2oZpW!SIi|$L@2jUK!Gp*fA{j&DpYHy zZZ9J}9z*nG*s(j9gZaomCm;J(|4xe5nkG`(JesY8UV=Q%xfiVlN{?U{!r%P_w(!F^ z4H>VZk71bM3UZf3Jv;SZDpBDqXQ713a^|u-xeuz#5K)PH1(m-D>=yVI&wt?K)!}ypgLdyIOo0(@G(#&I!dEcR3uRFfc;bu-zH_eXb>6WY2&{{RlT>*zA zV$$r0dL{0J2WX=@d^@P2uYaEh z%;|L+;iGjfN&n8YC>v4(;*R9;F=v^))b`o-c<2K1;+X*VNzvG%=7w#ui}J8XnHT!v zluF!W4!+6T>FDqtd<{F#GD!|ICkYari9to7 zJWLP-G$1G_SfU`rN~@)TjF1|VkOU>aN}V&0{G?(FRa&jkV$}*-typP&SFF^~!mrv3 z{ADfbCt6Og zDc))H1`8OQ+*nu@&`mR%Jmf1Vw~~+Q;SijodZ}iVTlQq#vL9g{tDfMNUC%%~=&OVZ z0*{G0d?f(fu9rvC!~8xo7O2unS#_+q+-mY-q0S3bDODFM6-QkL>hKq!o{+8rs5sq# z$U^8C$``8g`ASh7>M}~TKnRHlqj0lO^P5(>$&ANPQZZZ0Qp8hkMVLuP+2{;nRnRG2 zF9=DhuT)3QGB+nZ2oG_?^dKB_!}Nqg0c&p1Fn~Qjaca%=8=+tvF@}LQG2ZaAdr6z$ z^zs5U5GQ@%z?$j=al10U9l z&K6Yph!KBCH&ju>;Uu@~ri9{VA^V+PqgQI|HeG*#RgH$IhzwnTuJD;Y7Ld-MP&D7i z{EQ5u{MeAe5#7f@ti*Vz?+OgO&mY#!K@lA_Ebx*Fq+(`I*XU*#oe&@TC2l2=NoYZv z3A7P0*4$zg6L*UbXlOuDC}0v4i3akn@WoB@gosbI1BK?=QK<*ROa)mG)^E+V=0=x? zs{Fu`HMgKz*HItZYJ@mck?3+F+UjD1ZbS8X zGeQ4WI%@_|TlzK(Mykng8b(FGrXe1MSL%VV5B&`Jtn{XM%vWG4L|DUtTGQ|sXg(9f z3z9MnGrG#qIKE9}RSc{VWGZ-7zO3+Wg;+ys-^?CQ1=pdSNt@ZM`jh&#gF_|g(nIJ; z(zfaiAiEOOnGJ##V7y*owBAPyCJ&l!Gu9P`NhDj4mAIj+Vjgf}=&G2l@Ci<0 zpm+>8@M4rllMg_CZQ%$R{FD^n6HRV)Q?>>QqRDNA;43)zRmt1jJh~l>8z$ol zwhdEQHWq`BFpvcx_#)ZFkmzPy0U79SJQfU*xkFmOG-J#F7ePhX82ADPopiVyS0UBt zDs&c{imqv(jaTq%q5|D#kiHN+KqRLRhA~(U@)fNR3f(4SlaUO~4{WXjafW;#FAe+} z@deP{WoW4$T?UK*Q~1Q#PkUIf3St}0KrezA9h6`O3as>d$mug92JjkI-Y~pCC1Xo~ zbD$bSO0-H8JVfhO_8wx7y+#OVBZzqdyAO{uHlAyQoH1|<;a~u>u>#>%AQxT!ph$C| z;77|#kV>Eusec=q#crZmK8#K@xicKDg7{NEl65D5@rw~HLH026L87AjI>-_^@kKl7 z#2{?pVD5m+=#UY!lDjd!anrzTie*otRtsfIkrke^nB$(M6gsjt*eCU}G+D}o6# zod~8!lwiV~C2R!oTOimCD+ja)aYB;GV2JS@fvy`MOP^__&~{P@Tns#jz$Od8VIcJ) zWG|Tgfc&mAL9k#>c7^}Q*^*SG`5l=0SRr5pK@`l;6r@R*#%zY^mN{-UT)PqJz5>Hn z;49HEfvK=5dF*E9l^FrkPJv~&@e^<&n7I=G?7l$CWTt#z6jr6Q2)j+qGm-?^WmljL z<>)fLW(;$f7R@w}@%#olZe^OxNC?9V0^MfWcLNcdO_6?g%Xc$~9SkOt@VQ8znNKJ* z(?uS&XIPn4Cx;9x-DAp3W!WRjqxNW|jF8_Nd_!b+a9shX9D9Tkto8^Itht~$M5J~m zi%}O*jW6YFrCtD$ZI9rbLA;Kj_QWcH6t}7(;bE0)NXP-)9z9l?{^f~52SMJCZQI#Ps+MXA29%pCS6q!?^EJ%ut@P10!2D@c-V z0YX71F%WA0bTHsJ3I$RQLB@p&RRh=1fnMN-6w=pN>1X=J*lV1guTit4y@^_&X;wP3 zBxq&4ud*N3i=^oaw47}eI2D#Yttk!nj}ug^fws#&qK#$He^`+6mgSX$6h!maE5?g* z2X>7^D{FkNM`3LZn4EeJG(UU|rGF`9h~MH68pgp~YuOu|&aZXagw79f+N8YsZ99U172f<(5$s#47e#TN-p{GkZU|LFON(G~4@(?{ z)C@^~L1JDI|32~W6aQP{e@px?i~nVZDU&-S@->NkP5gVrzXvprg+P_xpsEhe42Prk z3QkG(RZ)9Eaa917G6`YI40{1r4N<#GkJ_uKPBM)mGqVmdH?v+38jJ)l8l_b}7f_|3 z2o9uVRZE_AuCU5V5w}xb`_MYe&Z1pDOhJ&sncJb{NA1-j*&zUwY^MaXG8;ktsoQ-f zk}(ru9*C6cG9~#jCCOC56$XgAh^@|OB0oZCgs4wgO3{Z!m6ry&s-h@#pYaz&n?=&D zXA#iI+#)D-qnQ9`3x$bGDdPAf%|Mze3t}RgVGu%{Wt$3=F&v0YF$W@3EJdc@S4D~| zaN?5zJ0=5mO!XupJz=|*Pc_bol?Iflk}`BvjpAck`mj?AT~!NxQp*vkX1|? zzyps_+rSYm88%GncAZ1`bxLa2smVrC01AM|Kton0X4y|sQ^?!{om6B%o#K=_vr4Vp zP!t3SSIG7~GLD`Hw36Avs<`B(w^W0`;;Pw!ggnpB2xK@30j#ohPUmQ{!|ruLRZsDo zsWKrC*g4d|FI#HwwCvp>OoZ^%hcTmAnFkm^tCff3X73hu+6@nMDl4-U9{h4CfTrvK z3K7DTwv#wTZ=sJ6r`xOA8Wzf({RPFF7Vj7MVQVLxvpDRhffX9byqK1%( zRDRJc3bsPXJE~?@{UA*2nQd%Ok}cRR-F=lxnf)q)W|-}LjOq2IA!xbIPdpg+Q%QvQ z)Z>1t?tbKfu6<`Tvjg0S#bT%gKsk5-1HExS^habZ4Eaki3*nbaB^4=nv93d}ux_J< zO1)FW$?H-3b@tqTJxnnBb)p7Qs9Ex0!2nlqvkkfk6=(=h{BWgUo)`)OuS$v^MmI3l zR4U*-47FKC&7F=9Q^-gnG#d68V`3Vd^bMuk$1ohoR|1PgJ#!M|Kru@>Kv+Z#(gMV0 zJuypciju_%!prwci&KgNt9b)rBA^gbH9h z-}??h05%jttq0NggO(j+%Z0rab-%CFrh^>OyMv4Cb9x$wmz+i1>3JEv!9{LdjZZtuNC^xovVjTx7%{9& zVNVNKsUhSG7)Hb=T)q=}f)ClLuY-f2J6PEg7O{u=0& zOo@iDASF%^G_33lNgRs8VU=R$82X1?C5FtB5ErQ$HT$5qZbuzr@P)xi=y0kc9y~b& zd#-lU%l4)TLfa;X0;Z&w< zL0tL=nG`Gwg{;(Mpw&vv07J4Jf_RiOO%*o-aDJ&KJ6Gxq8W)ACfB{ei+CsuOK2h`{ z0l*DKGhj(20gyb|(7F&Nf>a%>2q5{?0+<|7_X1A5{+N|rU}dk0LGyIIR(&zJrXCq! zJt--!L?Cm8Oa-ZluA}G(8Wu2lJIoyb}%RqN!dRrzY2 ze27;0Y9-$nRKBTBc~FW+H7Hm{nJxy5ts3T*l7q?(BHE*fq6#H{BtS`3&}lZX7wA(r z2SYF*ea$tZcijp~s_aEcUfst7psH60>$)#qWJE(@NcQ;%#|!0$YewpeMnx#}%*f;1dL3u#xTrU4hfBSS@0fLNAtoB&rRjKl^H zehqwMCYDl+b5bCKU}x2!u>&BQZNi|&q5k<$2Q>u@GIo$)%I9EH_l1kLr)-*1u{<1x zc3G*_;F{FUCfPd6?Yh)zfGG@+Mp8G&iaoG(Fy%6`-pZ~(o3R%$(e zleUtm*fykM(?$TZl6Sq5yz2o6ZB3$8cFACK$%YM{^m2E1Ku6bMGjIecH##Af zVFIFXb(U?FdQ^fyoa|V^8s;mN7#M3I$_QEMtMr#k9Gacl7ONum4!nkokOy% zXrT1Ua1k{TwFue`>lK!<_;8s@3Sq#pIJ%yQ6YU{}f|=WTM2Y1l=5R!8=R%OtQfM!P zQAXz@5OaTNfZRmO|6n&qZ)8F`_d%~&6)X+9xk>{=+tc zQwCQRmKOFct<-?XS1mgpQJjPlkC!&2DqI@wUuJ3Hlo04Fv(hDn)MHlaDXhSD3RkDL zqfT=5cKj-D7oe~AptpmLyv(pai%$3$_Ds20-|3lTQrp1_G|7lZl_)y=4kag2+k;r+ zdOOuVo-gPE&p|YFu?Dw7Kr?d}w*I?hMV;CKIRtHVha*;YD6z65M46b{VbbE0UCs5j zy_?2@)KgaKF{Etg!2#KzgdHKZ6XjwpS&zk-d}(jGjps2SO|dFOEOipBzgQ6q>w@lw z%>afWcT1}L^qJA@%?v?Y!hAyzL}D4v=HZt+$~wA^&Sxb6Ps%a)n(E8 zebtN}E7c?83Rh^RM~zvk$LBN@5gd1d)d2i6!ab`U7lFd3(V zP!*I$3FvynDBHE@n2d3@qhA3yAIMf0#Ypl4;Zx;U*`q>%PhwlqN2=D#Sg})N|4FR4Yw;Rp{EUa}Bi`s?LD6iCq7k(|;KZT@5?4$vSCMkiAaz9c7$hyMmPt_RTuExvZiZRk zDRc-5WkKSqrimn0F*NIBUgjZ3uW2|E1VIN=1?%KAgn*#&wR|Y>F@(u}h%7Iom98Le z@nzCmy_1GY($K-EFFn+wSy#0WV*^!9gj55d)c1pkIT>*}Q=v@03Q@ij$_)oQbW5r5y8s|RZ!;&$RO!^)_(rqNco>44Vo5k6Rg_op2t$Tj zgV>G$0;tP?V4|xOwWWEqM3O1+d8Po%GN?eJ1Z8@VjeD5z;A9B5l7~11o-Tu^f{Y{; zjSZn6nPXCgssMW&>8b3zEGDTcq0&{zonI+4$Uc=~OISVFlwEF>yHMpRp+cxW(DicX zT~Trwig%iCPhy@IkVhS`bkEAl5g)`uUO+K(W6?|;J#dcGVz(L;u8!9B&Wr`P4(&!I z^~w{&K?XMgM-0I^<7ML;>)N!Kj=M`Z?{`N{o@#`o3vwt@K^JMGi$Xz2Sj?|Ln?Q8a z0~^a-oCD21t^vQ-49A{6E>z)&EjUJR+j44&?SO)mhNn#&5) z6;ig4eKcD}$xNje8YD=iOo<2$bpUr+y3CVwb=Si@AAz%`h*6N$4kTSp6z>B)Y^(?o zK@Z44Q929Cj#Dj8my>O+tYcJ7mkWPpYoX^u$tB?kS7xW?B8Fo2lC(3mD8UJo5Ov(gbXj}F>{Zv+!iwvGJgbR2D$pL!nq1 zx*dy0;+22oz4((1CPhJ1(a?QP%<`2XKa`aD@GiB;vr9pugXx7 zlt`Td1PIg&b4$h+WjT)laeawZWwA*O3-m^d(oP|*jlj}&(%-& zXl_!$p`osOyiyRmCy@pmRHkPND$_INhz2a_I|Otx^n0s&hSfb8W9)<660?7LmH|6F zC>=jB>>z?b;#PWc1X8M3N@4tgzB`qAkfz z1p@?1u9oisTIjNOgK97r)8J~Q7nmVp2w^$Him(`qvyY09c@)~4mHob?i|lzuqMwm+ z9#Q2;{BsijocMc`W=1_Znx(EE&F%`L$x1<#z2)pK(0d$)P9-EcV^c`d<$;w>B@G!Y zz|molkCY=dI0bsx0i~;op|3~_2$YFBrNMGCDtkoy z?@J5c7ysMhS32C2;(rpt5epog;mNHac#;T955$4#(iz2TxN9Nu5SLJtVr`|@Ix%#i zv_fU0GOz(6rU6J2`+~CUl(s;I$B4<2A3;j5Ih|+Mj z5?`EV#OyCg>R=<{a2C;xQ^yivRj`uJDYeg@gdQRU6BgFO58*r@PW6#5N$EIGjBf&4 ze3m@}Dw2IwxZ3CA5yl9oL!2pG5KX@zLM6EadjU=f)KaKBbvwslyO)7q9&zFKKuL1| zr3te5!KpC*Lg8^rec5HNIyYvY>v;{9vQo`-gZo|2TW5xfQ1CO*f$ZBYdm|{2yDxA! zf5O>Q1VwI2GVLo*vS<2!1O_hjZz*Sf@ z%Y^1sA_a5k?7c*y{jNcbpfpZ$%8`c18A3E@kdqnhR9V5c_TG~PRan!ink+lvcoRT9 zv4v$e`+BpiA)Qu7yH}Ouni5URqQl-ODv5w3+1c5B#>cHRe^irC)#Zr${0EW zwY#W3Le#zAug{Fh?+C+V)S!S$Khc=v8nQ8(J|?QYj92>D*idoa=;El}#}6=%Q}PZS z&yYggz%*&*BMPI!BhC(TJy>@fF%(X2^cH7A`;4%}mXZoV%I?_GYKU07-c#lIHiOqWT-OZhC%8@iWY~qaJZ5}XEmgX)qOK| zfCGl&UEJ8%k=N;3Q)y%QoeGh4M>c^EOr zji84S)YD;T$9A(1XBeR^_(R-wSm~U3p#OTuPjF`;@GJrdFjYiyfaPS8S?4jgYOC?k%jQ$Ej|Y zwJ`BJomQpnMP&tchYA zM$1$JiEfMI7xS1KD075{0&{X=zk?Mxaf&kY3UKO>%gPSj@`?iSpt68`K$_TZ?rpA9 zi6zbus8GN9ol?bgK^k&I9_$T@rmEo5-!gA;(o9nGx*M!yBh4q zy;3Nj-8j|?o7D9z!d*RaJ&G$@RE1z>CpDR=CQrZg4O;SXOL+-fiiU{Bj%>y!} zZSi2S!&89H_Tbi>*Dq&2Rb}MWwyQ$nvJ~f{S_GyI zht9C@M2&9lBd&*QPb?!x0fCMfBT0AymD0qW)s!4T6HbfpoRd%^*Np>Dlr-H?7P16a z^3v}~UIubpttyhaUPw2y&k;fWYUjBD7JZ!Q-yPBzrhiqET;bS~lYm}7+>(IYfm8&y zBqQ2A+<54`g*Qa^hR-n`c&uyUh*ux{f>HgzrEfm`y$25&yS`NV;qK9|&NXU&GV$^U z&c0;4QS!Gb&)+(7-0Q|4%fIvMd+h~x8mB$`x63vk_)5e$bJC6H{H1opW@E?F8+ukZ zJy&Nua_KE|15=}S1^BW^Kd~Jeeg8xW-;?1xE`$3fsJ~qjFjxU@M`?iwK9Ro9vYFT7m6Y7OZQ7`5PA5(lHcFNX#GRx`f!X(J7?ngCH2>G z&c)cO7suGN+>2v;kQ#gu(G2%begszHVYCAEym6Rxs{R;Yg!%IyH}+kk8GML{4}%A) z&^TPl9Hq{+#7*_Cia`g)F{ISuG}ly>Y7OU?!T?^1|GZnD zT*uF=w5-tR>u$8;bqp1Q-G3H^RaSDp>v@Y=4&!5&(09yL&`9 z?JX2!7Za|EpHch_=VzP?UF~`%st$&kI-mPN>JmSLLpc%M=mM@~)ZP3v@w1Gd<^0?% zxwfIk9%2FS3;<2>Ad~jNaOI7W-)C7^%HtUs z_Cpr+W$?%bM*iCu1b)&1##;x<2QyL9joaiS_E3O&PQdXe4L6pL0}$N;p$xx+C5XP~ zS%PujUhTuVSMqta0-J6M$h&~=*1854oxCz(G42KJU5$64*W%e34;r@QUeL<6j63=0 zs=bE&-R0)1^D*ur1l5*F9aGO>V29^&T_ejY_GF;1}D%rpEv=jIxU7fFB{tP#b9rsRZU zPFRi$sRIMZmJ5zJP(K^z-I@C&L~ZVEF&?QntxLFra@4XI{;{k7cf8E?;u z;G6l`1S0g-JB(njvKyQ>64&0olEmStApwrD9cqsR!OT8>4hJ7>A)?@TwT|*Gm3ccr924u_-!L?DG)i!@1C`#_kL3kJWLLXHczbWjT^O%kbsH zFu2pnSQ8gncwf|M0#=QdCOaC?<+;Hlk^*Z@S)W?NaZwh#)GCBKyST>9E3Rl1DuiKg zYP6P*1erb}2oD?qH9<`tvEp~N_-~f)I{B{W*WQH&AU&YLc>bstkV+A|KH|5y zo~^2K3?D1U&V{rA2aqvL+>kec8Xi&C&_0X$T3luy@fmxnCU~5FJhS66t#@7x@+_7z&#jm%|L$ys?Y< zqeN1Usgz@q5>P1tw;;RBE66Srh#?AMhzDWhAiPG|Jj$X3l8wtws!u+z@$iZ4fijqb zE0*G`RPj|37^MQT&0#~@u+hUMWt<9(^9riY6;$m-PRvD4bYxrDm2G^90ji}cXMUI* zFHcdKAT8Gm6D5Y-Udp2fbRZa|-Lemggf^*3o|)n$MH~CWA% z%DW+JEN(+1NLM*H#t$;JmqAk&^0jSO_N~WR3K=cu+@F2(;A$TaR;>f8Mw?CE4O1s` zs`b2Rh~wU|CSlPwi7l;Cpp0}O%kYAEu2=`qs&Y(^0Cb|T^#~$<6(P~z(QqP`B8Xk5 zDlfDoKHxxvwOz-FMZujRhXry6rjf@xJe}`%ESt&oP?sQoBRa0P!M?<1yn?P9Cm{xY zqQQ%H!UkS1!*v+^;;0Rt$smPDNRDyShu;8R1m*RFpdaauOa|^DmGG#Z9;S543AJq) z1SP5=1{5`W-M}4o~Q)XoW@r>cE>!4gjTr12Q31*Arr|Bjz^G(a|C(VnKP91$Nf!>(+en_ z(%po7W+$-6&*xbjpUImQz%*Vj1jh-Do5BV{Pckd`s6$}Z@!_EeTomCcXXy)0AwnWY zkj-zHzK8)G$>)#Yp$NQ(MKpTYf<}S$A=E+;Qz5XSeB^INVNh_$t40PBK$EC+0Aw-~ zrLU=KT+qXv^tpH}&`RN8Ka;Pb7w@JB@j*exFZLLbQ?Q(>g}NLr!4#o_yf}|m1tqAa zSG+&QDT=eD`|Wj28DyvmBRJNL`Iq5c+@nrc+D8@N!XlaV3C!&0$LKIac9`|;kGf-0K!40=L)=;qxk@UZxL2y8m=1` z7Q*43XOIOiMi+v{mh)0&3=2IOsF3P~0n#I#0M5k3PyNH8G(~}&Q|0-GX4rA%)({Te48cra94`Ql<@^G1~ zk>dd5;Z?fv0CZA1(4nE*@nRvgx;UQ9)s^XNB(Z|Yqu^`4;R zT`MU!;%SHTi9DO+6)Yp@n`g*VfpfDo^z{Y|g zEvXm*n2t(VUh*0I(qq#<$Z1)<8pt**8-OS$fTwx12>jewyTln#{tC11BqbEH(k*; zVrX8($y^z@2zT@qXkuOmhE@BK4nrCd>86Vxld1>BdO)tZhxHi}_Aq90#dSd;xSq123poW6J>#tVgSONGa%83(})a6DU@vH-NGH5>?~U zqq#_7nch(tyk+P^gY)pj20F`|-mxNJ(j%-s-2=SUXW$T32Hp@Gaq2L10(ED}$F3^W z<*+kIT9gaps(juUB9zyNK~=ccl{bPC&KtnWY9G$&J0igypIp(WRr`_rF~f(x`1%aT zU`F*H4c4AN&I&)}mC{LBSLNYZ=$^**m0P&)8$+^KtjCDRa1ULeR2M+1+-9Nk;^4rMUZ8Y{zdyvhE^|m-0^dS zyi3Jcx%J^)H^V@@tM%qx>a=K1-ni4~n>X;N{$n^Z@`*UJSE1~$pW zPXoTF)|Umb2%viIqb4PHf;_gyItl%x8jfo>FpmI*awZ)C3e|Xw_q9S;D5uM;`cXLA z0T!kRkmr27Qcy(BFFOh8GR~za6GB*urV#FerJN3;xqOsFULM8t2U9TIh)+z^P2NpQ zz8?fo{5c4$@7(arz;EYf9>j|mHnHaRoVtG*^?J*gL(4t`-Qg=&-+fe@EM@@yXF zr2||#$8cR~8y0N5L`RmzHUsg6gC}%SZ*z@Au7MW7jDUd2J*wes8m2e=@P-hkNltj! zTA79-C5i(l9+ZO8>Xb8AIrUOZdI1DCrhf1x7NgjJtYYKW0YSx8l>cgCG%4i4G(~VE z5`O3+FyEU+Rm3t6+|<)ZB!1JR1l4Jq5@NuO7>Fxc#_&KkQj`y;pgCy}3?dcu=>mI~ zIsj0`YM!hY%Y=qwp1OuDgm-AMuZgC! zHJd~sO~QjPPX8ql#xTGG!;5!+rIcCLpy<4vOz1Iks|5*GezMxbRHdyEAZMSFKx>^c zR1|>FAQ}|q77Q98CAmOq$5OR(jdIv{w7O2^tb;a(LTPtW5qv8G$w#GAcv19dF^dLS z+V5eXQFJh2bESi+g*S7gCQ8N>c6S(>s+{#O4~P-dRJ(`dpNCeZ1N)rFj-e5dogFmO`#;063kQ!G8jcoXtIMD(8*a*DAkjytT70m-redw(0uLGD2LlBS7{;>l zT`k|6<-1P4>-n{J1(3Twh;mYUP+}O_@R}R4ZD5INs{x5HJ~}~okp;UBUibqSl1+*g zIt@wg_k3@mc>)G_L0SM?6fx!U@d4 zwCR>`I7Bct7)GI+#j61}HwQ9R%er7;bHh_5JX>0@vm7~H?JKujVO?05xH)<-YpCWq zl+7S1n`NZS*+Ix&bkK=eAn_|DzhWwsohiS`bFO}=*G7|6HzX4!@9 z4a*YOwYFa~y{V(ExuNS41P$h>0tDuTqWMj&i&|U8umDXf*0s=OiRMH@hZCq7Q_X*x zc9yPwWTGoxHHk{b!VKWovCY|I)0`+RIrk>HEpb}jXpm7MTySY zXjez)1+6PuI+Mmt~ECilwN+1b`HW+uLKTAQ1@a=w{~=C(xp$l5ur9i3iF z$9@5L`JWYW))z1w|Fa^-v52Xce!fe`mr&L{0U-H5k)duWOmz+R#YatU)s_(6uSO znjzFTX2#04c8CB-tQjji6D{;~jI6z&_3DLWiOUilZHP#)5Qv0Xx;Fh^DnmMfQJr-` z!{Vh)ElXI=SazpI*G3Ic61l`>i+o~0j(+^8+Ml1JHzR3Ut*%YTuVni9W2QH>f#=4| zTi&dEBWvfbNVIp&Zpvdpg>cCAiJvUt^S2L$H3LK4V;_H*_}4Z&=ivBhs@beN@fU z7foBd7*sa0cEHSF)Z=$Jm$&~&34a}bl>21uGfsl7bT z+T4LhILC)$X0&uRb#~2ZZw1YEHYI?+%Nv@T8XG#nrSPptT-e$^ebM}`Het{jh}^z2 zD)}yfDPOVQ$XZO>67}gsmpAg5>?Y{i*!1vfR962uN)I7c=|F! zUz8!ooJ9MwhL%K2ZjK!*Ec|huLe@UmI|~*58@YhMPteS|hLx0X^A>~eT;@7!0Cw-& zLx)S+(ZPKFItv3ZU)L_pr;h=p@|4937dnfC3z{1`I%=vHV(uSV+jovygvoeH<44Jm zy!owPq2m@-qsRe-np^BVUAyF8ZtK{y@{9E*7Pm|+m())Q)>pF{4}R;`KYZ^A{E-%2 zD?IS{E&0K>?%eDKu{h!iD!>&};PlhaJ-t`N_1B+!J@R`HzNVH~UNF+!bWP&i#jP!! z4NWZ_=MI}ZJTEaeud|`Ovtu?vlox9T2XM+Md4Pjwv@{A7+#E zGg|02h8!35@n@v2ozNR@R)y5t)0H8rdj$>6&C?fk7#+G+oS+hDWZE5bBwWI}$=lV9xj0ycj8Jhul)`hw82>)mhc&re7UY(x*LWUGc0AtXP*dw0A)O=uxT8 zD43mSS<<<5D!PGzA>H(;t(pVct84v=lGIs^kStIL++u_=3c)b@AAREBtq)eI!X>t> z=A1V-tbTL-jiajJx$h6Reg}T1c9reGjdvV);_>~DKaL^sXt`L$zWL1`9sK4a10?)m z^GydH|5{mI4nyUbHRq(f$U$#zNFG@G)%`zt@XcEvLlw%Fq8QoAPg4~gH(6Du22|xX z^K;LdGbpc8|A8NWuXp%sKkU`xw|=tr4-bCx58wY@pV)7|`PF+6ODd~f``gzwy>1Ro zJ4^9@!&yOXLpip*oFCF;DgK{<|ABEqEigEjMvw?Uc|VuUn?7&o6TklNi@SdF>2F+c zRd@5I2UoC+8RuL%qy9=q$bKfVNQ^&jn1-M+b*+tw<}v5P40L7dqAy-T^wwZtZ+_RTYs(2yzqj#h4F1X{;iXYsaI`8X4>}9{+`}x@Y z=llG3-F9E-<)>TQX6Tx~jOob@iA2(s|X>?OVSw_}qVP z{cUo*_584V3-;Y{>*-Cu?0ol*?Z3MC-EVJix?}$v!!DiJebLkJY}>o$rk`!xJ}9x_ z``7Kdv-q?XzL5)BM;#oU-v7Op`!byu@A=2Hr}k}m=*n&LqUm4Xc=X!)e|PntFPl5% zw#e8=MlbtW&F1rl{^PcuGyD(jH{W^s`5PAe*O{36;11>8rn+ecjA6HqX4{^=(f+G;Z-{ckcLMact5r zzB28Ni|>2+l8!ePUw7%xH+=4{M<0IaudQR29((wmtNxt&TIUzeJmG@Y#rLdizyI)^ zWh;9!Z%=AG(eORLW_ab|Q~&n|3baK%Lzuc?^c{L=)@{nXQepWZjU^z>QX1-EZFf6kG0@7(quXU#9V;LtC>zi9st zV_S9_Z>>-M?$*Dr_}Y2jyC`(;vA=el@OXMbZN;0}OE)jQ#(sEt~%i{Bk~%Jt{!Ls$Oi9__--^vYU=Y7x83!( zzx>zHhVnaKd+@5e?-+Mt{R6j*t$uIK);Hq+`}bo~SO5GA&x|etZ(R4~#AELk?r8a0X2{`HZ=bWTuBz+L3#a_|FDA`=`P;$mS8aUa7ook^pZ%#3 z-&%CSt8LYv)fcRrw7~q^%Wt1qUQ_hUhf7XBYe}^HilzT~@grZo_iINROU4xc=I%@X z{&aliwu_9NPyThun}uII_uijpvJWnKV&wa`{FvHP{pm1tp+CoF^cnV0#Phwy|Y9AyOM17!o{ z0%Zc_0c8Q@0A&FApS(}LC(o1L$?N2E@;LdMyiL9)Pm`a?%j9G7F!`6fOTHz~l3&TI zd|lg} z-@0YZQ$PB_=2w38i|5|^^B-Qr-)Gr|)|- zJL=f&`pEB&+F|b-{bN%6f%i zx+Tp{)6T~=`{~*Y+^WAwo2kvxF4jJ+&DQF)OSDV1Ioe$9GHsqVU#r(H$MXqSXbZH@ z;_~<++&kyX0$1bWJ@1cyQM(2g%9r8Rd@Ei9SdOdl9k@TfLc12X<5%Lw{(orIS`99s zpQVk{#%pJ56L3F$k~UI1v-gboe@#f2$#{sSC3`oCijs!D^p7XpO#HuMYET<43k$|* z@MGNy+|AP#;yXjIISZJ*1mRiuUI;&bo(jD4Pqi3f4g68=c`6`^zuGEuBH&CHsLSQi z3H2sI0%f*fR9Xe-G|4p|qtSra4vbI(Mn%1bp-Ooua3c!U(Yj7RsaG-jm((aQ)#$hS zHxA!)g_)15PvLbA%HeY)D}bBM zyw)BcuPN}84xY`=*B3iE+>8V-)}T$3@U1~T)u5Y3hc^=#;j{5Cf%Nh4H{xFcTsuL+ z{4SCZ<-j7)0pA#b{SH49Wo)KlJoqBTGNd*GQ&s&&Dc25;)&B)Q)j?1t7@O?+|9}3U H!@&Omzp9#8 diff --git a/Lib/Tiobon.Core.xml b/Lib/Tiobon.Core.xml index 76878d99..cf71e7ce 100644 --- a/Lib/Tiobon.Core.xml +++ b/Lib/Tiobon.Core.xml @@ -3466,6 +3466,144 @@ 备注 + +

+ 用户信息表 + + + + + 登录账号 + + + + + 登录密码 + + + + + 真实姓名 + + + + + 状态 + + + + + 部门 + + + + + 备注 + + + + + 创建时间 + + + + + 更新时间 + + + + + 关键业务修改时间 + + + + + 最后异常时间 + + + + + 错误次数 + + + + + 登录账号 + + + + + 租户Id + + + + + 用户信息表 + + + + + Id + 泛型主键Tkey + + + + + 业务数据
+ 多租户 (Id 隔离) +
+
+ + + 无需手动赋值 + + + + + 名称 + + + + + 金额 + + + + + 多租户-多表方案 业务表 子表
+
+
+ + + 多租户-多表方案 业务表
+
+
+ + + 名称 + + + + + 金额 + + + + + 多租户-多库方案 业务表
+ 公共库无需标记[MultiTenant]特性 +
+
+ + + 名称 + + + + + 金额 + + 添加选项配置 选项类型 @@ -3514,6 +3652,317 @@ 地址 + + + 异步添加种子数据 + + + + + + + + 种子初始化数据 + + + + + + + 迁移日志数据库 + + + + + + 初始化 多租户 + + + + + + + 初始化多库 + + + + + + + + 生成Controller层 + + sqlsugar实例 + 数据库链接ID + 数据库表名数组,默认空,生成所有表 + + + + + + 生成Model层 + + sqlsugar实例 + 数据库链接ID + 数据库表名数组,默认空,生成所有表 + + + + + + 生成IRepository层 + + sqlsugar实例 + 数据库链接ID + + 数据库表名数组,默认空,生成所有表 + + + + + 生成 IService 层 + + sqlsugar实例 + 数据库链接ID + + 数据库表名数组,默认空,生成所有表 + + + + + 生成 Repository 层 + + sqlsugar实例 + 数据库链接ID + + 数据库表名数组,默认空,生成所有表 + + + + + 生成 Service 层 + + sqlsugar实例 + 数据库链接ID + + 数据库表名数组,默认空,生成所有表 + + + + + 根据数据库表生产Controller层 + + + 数据库链接ID + 实体类存放路径 + 命名空间 + 生产指定的表 + 实现接口 + + 是否序列化 + + + + 根据数据库表生产Model层 + + + 数据库链接ID + 实体类存放路径 + 命名空间 + 生产指定的表 + 实现接口 + + 是否序列化 + + + + 根据数据库表生产IRepository层 + + + 数据库链接ID + 实体类存放路径 + 命名空间 + 生产指定的表 + 实现接口 + + + + + 根据数据库表生产IServices层 + + + 数据库链接ID + 实体类存放路径 + 命名空间 + 生产指定的表 + 实现接口 + + + + + 根据数据库表生产 Repository 层 + + + 数据库链接ID + 实体类存放路径 + 命名空间 + 生产指定的表 + 实现接口 + + + + + 根据数据库表生产 Services 层 + + + 数据库链接ID + 实体类存放路径 + 命名空间 + 生产指定的表 + 实现接口 + + + + + 根据模板内容批量生成文件 + + 类文件字符串list + 生成路径 + 文件名格式模板 + + + + 种子数据 接口 + + + + + + 初始化种子数据
+ 只要表不存在数据,程序启动就会自动初始化 +
+ +
+ + + 种子数据
+ 存在不操作、不存在Insert
+ 适合系统内置数据,项目开发后续增加内置数据 +
+ +
+ + + 自定义操作
+ 以上满不足了,可以自己编写 +
+ + +
+ + + 连接字符串 + Tiobon.Core + + + + + 连接字符串 + Tiobon.Core + + + + + 数据库类型 + Tiobon.Core + + + + + 数据连接对象 + Tiobon.Core + + + + + 功能描述:构造函数 + 作  者:Tiobon.Core + + + + + 功能描述:获取数据库处理对象 + 作  者:Tiobon.Core + + 返回值 + + + + 功能描述:根据实体类生成数据库表 + 作  者:Tiobon.Core + + 是否备份表 + 指定的实体 + + + + 功能描述:根据实体类生成数据库表 + 作  者:Tiobon.Core + + 是否备份表 + 指定的实体 + + + + 功能描述:设置初始化参数 + 作  者:Tiobon.Core + + 连接字符串 + 数据库类型 + + + + 功能描述:创建一个链接配置 + 作  者:Tiobon.Core + + 是否自动关闭连接 + 是否夸类事务 + ConnectionConfig + + + + 功能描述:获取一个自定义的DB + 作  者:Tiobon.Core + + config + 返回值 + + + + 功能描述:获取一个自定义的数据库处理对象 + 作  者:Tiobon.Core + + sugarClient + 返回值 + + + + 功能描述:获取一个自定义的数据库处理对象 + 作  者:Tiobon.Core + + config + 返回值 + + + + 初始化 业务数据 + + + + + 租户 种子数据 + + diff --git a/Tiobon.CodeGenerator/Program.cs b/Tiobon.CodeGenerator/Program.cs index 14a3f666..686c95f8 100644 --- a/Tiobon.CodeGenerator/Program.cs +++ b/Tiobon.CodeGenerator/Program.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.DependencyInjection; using SqlSugar; using Tiobon.Core; -using Tiobon.Core.Common.Seed; +using Tiobon.Core.Seed; using Tiobon.Core.DB; using Tiobon.Core.DB.Dapper.Extensions; using Tiobon.Core.Extensions; diff --git a/Tiobon.Core.Api/Controllers/DbFirst/DbFirstController.cs b/Tiobon.Core.Api/Controllers/DbFirst/DbFirstController.cs index 70813862..f09c7506 100644 --- a/Tiobon.Core.Api/Controllers/DbFirst/DbFirstController.cs +++ b/Tiobon.Core.Api/Controllers/DbFirst/DbFirstController.cs @@ -1,7 +1,6 @@ -using Tiobon.Core.Common.DB; -using Tiobon.Core.Common.Seed; -using SqlSugar; +using SqlSugar; using Tiobon.Core.DB; +using Tiobon.Core.Seed; namespace Tiobon.Core.Controllers; diff --git a/Tiobon.Core.Common/Seed/DBSeed.cs b/Tiobon.Core.Common/Seed/DBSeed.cs deleted file mode 100644 index d201920a..00000000 --- a/Tiobon.Core.Common/Seed/DBSeed.cs +++ /dev/null @@ -1,643 +0,0 @@ -using Newtonsoft.Json; -using SqlSugar; -using System.Diagnostics; -using System.Reflection; -using System.Text; -using Tiobon.Core.Common.DB; -using Tiobon.Core.Extensions; -using Tiobon.Core.Const; -using Tiobon.Core.DB; -using Tiobon.Core.Helper; -using Tiobon.Core.Model.Models; -using Tiobon.Core.Model.Tenants; -using Tiobon.Core.Model; - -namespace Tiobon.Core.Common.Seed; - -public class DBSeed -{ - private static string SeedDataFolder = "TiobonCore.Data.json/{0}.tsv"; - - - /// - /// 异步添加种子数据 - /// - /// - /// - /// - public static async Task SeedAsync(MyContext myContext, string WebRootPath) - { - try - { - if (string.IsNullOrEmpty(WebRootPath)) - { - throw new Exception("获取wwwroot路径时,异常!"); - } - - SeedDataFolder = Path.Combine(WebRootPath, SeedDataFolder); - - Console.WriteLine("************ Tiobon.Core DataBase Set *****************"); - Console.WriteLine($"Master DB ConId: {myContext.Db.CurrentConnectionConfig.ConfigId}"); - Console.WriteLine($"Master DB Type: {myContext.Db.CurrentConnectionConfig.DbType}"); - Console.WriteLine($"Master DB ConnectString: {myContext.Db.CurrentConnectionConfig.ConnectionString}"); - Console.WriteLine(); - if (BaseDBConfig.MainConfig.SlaveConnectionConfigs.AnyNoException()) - { - var index = 0; - BaseDBConfig.MainConfig.SlaveConnectionConfigs.ForEach(m => - { - index++; - Console.WriteLine($"Slave{index} DB HitRate: {m.HitRate}"); - Console.WriteLine($"Slave{index} DB ConnectString: {m.ConnectionString}"); - Console.WriteLine($"--------------------------------------"); - }); - } - else if (BaseDBConfig.ReuseConfigs.AnyNoException()) - { - var index = 0; - BaseDBConfig.ReuseConfigs.ForEach(m => - { - index++; - Console.WriteLine($"Reuse{index} DB ID: {m.ConfigId}"); - Console.WriteLine($"Reuse{index} DB Type: {m.DbType}"); - Console.WriteLine($"Reuse{index} DB ConnectString: {m.ConnectionString}"); - Console.WriteLine($"--------------------------------------"); - }); - } - - Console.WriteLine(); - - // 创建数据库 - Console.WriteLine($"Create Database(The Db Id:{MyContext.ConnId})..."); - - if (MyContext.DbType != SqlSugar.DbType.Oracle && MyContext.DbType != SqlSugar.DbType.Dm) - { - myContext.Db.DbMaintenance.CreateDatabase(); - ConsoleHelper.WriteSuccessLine($"Database created successfully!"); - } - else - { - //Oracle 数据库不支持该操作 - ConsoleHelper.WriteSuccessLine($"Oracle 数据库不支持该操作,可手动创建Oracle/Dm数据库!"); - } - - // 创建数据库表,遍历指定命名空间下的class, - // 注意不要把其他命名空间下的也添加进来。 - Console.WriteLine("Create Tables..."); - - var path = AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory; - var referencedAssemblies = System.IO.Directory.GetFiles(path, "Tiobon.Core.Model.dll") - .Select(Assembly.LoadFrom).ToArray(); - var modelTypes = referencedAssemblies - .SelectMany(a => a.DefinedTypes) - .Select(type => type.AsType()) - .Where(x => x.IsClass && x.Namespace is "Tiobon.Core.Model.Models") - .Where(s => !s.IsDefined(typeof(MultiTenantAttribute), false)) - .ToList(); - modelTypes.ForEach(t => - { - // 这里只支持添加表,不支持删除 - // 如果想要删除,数据库直接右键删除,或者联系SqlSugar作者; - if (!myContext.Db.DbMaintenance.IsAnyTable(t.Name)) - { - Console.WriteLine(t.Name); - myContext.Db.CodeFirst.SplitTables().InitTables(t); - } - }); - ConsoleHelper.WriteSuccessLine($"Tables created successfully!"); - Console.WriteLine(); - - if (AppSettings.app(new string[] { "AppSettings", "SeedDBDataEnabled" }).ObjToBool()) - { - JsonSerializerSettings setting = new JsonSerializerSettings(); - JsonConvert.DefaultSettings = new Func(() => - { - //日期类型默认格式化处理 - setting.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat; - setting.DateFormatString = "yyyy-MM-dd HH:mm:ss"; - - //空值处理 - setting.NullValueHandling = NullValueHandling.Ignore; - - //高级用法九中的Bool类型转换 设置 - //setting.Converters.Add(new BoolConvert("是,否")); - - return setting; - }); - - Console.WriteLine($"Seeding database data (The Db Id:{MyContext.ConnId})..."); - - //var importer = new ExcelImporter(); - - #region TiobonArticle - - if (!await myContext.Db.Queryable().AnyAsync()) - { - myContext.GetEntityDB().InsertRange( - JsonHelper.ParseFormByJson>( - FileHelper.ReadFile(string.Format(SeedDataFolder, "TiobonArticle"), Encoding.UTF8))); - Console.WriteLine("Table:TiobonArticle created success!"); - } - else - { - Console.WriteLine("Table:TiobonArticle already exists..."); - } - - #endregion - - - #region Modules - - if (!await myContext.Db.Queryable().AnyAsync()) - { - var data = JsonConvert.DeserializeObject>( - FileHelper.ReadFile(string.Format(SeedDataFolder, "Modules"), Encoding.UTF8), setting); - - myContext.GetEntityDB().InsertRange(data); - Console.WriteLine("Table:Modules created success!"); - } - else - { - Console.WriteLine("Table:Modules already exists..."); - } - - #endregion - - - #region Permission - - if (!await myContext.Db.Queryable().AnyAsync()) - { - var data = JsonConvert.DeserializeObject>( - FileHelper.ReadFile(string.Format(SeedDataFolder, "Permission"), Encoding.UTF8), setting); - - myContext.GetEntityDB().InsertRange(data); - Console.WriteLine("Table:Permission created success!"); - } - else - { - Console.WriteLine("Table:Permission already exists..."); - } - - #endregion - - - #region Role - - if (!await myContext.Db.Queryable().AnyAsync()) - { - var data = JsonConvert.DeserializeObject>( - FileHelper.ReadFile(string.Format(SeedDataFolder, "Role"), Encoding.UTF8), setting); - //using var stream = new FileStream(Path.Combine(WebRootPath, "TiobonCore.Data.excel", "Role.xlsx"), FileMode.Open); - //var result = await importer.Import(stream); - //var data = result.Data.ToList(); - - myContext.GetEntityDB().InsertRange(data); - Console.WriteLine("Table:Role created success!"); - } - else - { - Console.WriteLine("Table:Role already exists..."); - } - - #endregion - - - #region RoleModulePermission - - if (!await myContext.Db.Queryable().AnyAsync()) - { - var data = JsonConvert.DeserializeObject>( - FileHelper.ReadFile(string.Format(SeedDataFolder, "RoleModulePermission"), Encoding.UTF8), - setting); - - myContext.GetEntityDB().InsertRange(data); - Console.WriteLine("Table:RoleModulePermission created success!"); - } - else - { - Console.WriteLine("Table:RoleModulePermission already exists..."); - } - - #endregion - - - #region Topic - - //if (!await myContext.Db.Queryable().AnyAsync()) - //{ - // var data = JsonConvert.DeserializeObject>( - // FileHelper.ReadFile(string.Format(SeedDataFolder, "Topic"), Encoding.UTF8), setting); - - // myContext.GetEntityDB().InsertRange(data); - // Console.WriteLine("Table:Topic created success!"); - //} - //else - //{ - // Console.WriteLine("Table:Topic already exists..."); - //} - - #endregion - - - #region TopicDetail - - //if (!await myContext.Db.Queryable().AnyAsync()) - //{ - // var data = JsonConvert.DeserializeObject>( - // FileHelper.ReadFile(string.Format(SeedDataFolder, "TopicDetail"), Encoding.UTF8), setting); - - // myContext.GetEntityDB().InsertRange(data); - // Console.WriteLine("Table:TopicDetail created success!"); - //} - //else - //{ - // Console.WriteLine("Table:TopicDetail already exists..."); - //} - - #endregion - - - #region UserRole - - if (!await myContext.Db.Queryable().AnyAsync()) - { - var data = JsonConvert.DeserializeObject>( - FileHelper.ReadFile(string.Format(SeedDataFolder, "UserRole"), Encoding.UTF8), setting); - - myContext.GetEntityDB().InsertRange(data); - Console.WriteLine("Table:UserRole created success!"); - } - else - { - Console.WriteLine("Table:UserRole already exists..."); - } - - #endregion - - - #region sysUserInfo - - if (!await myContext.Db.Queryable().AnyAsync()) - { - var data = JsonConvert.DeserializeObject>( - FileHelper.ReadFile(string.Format(SeedDataFolder, "sysUserInfo"), Encoding.UTF8), setting); - - myContext.GetEntityDB().InsertRange(data); - Console.WriteLine("Table:sysUserInfo created success!"); - } - else - { - Console.WriteLine("Table:sysUserInfo already exists..."); - } - - #endregion - - - #region TasksQz - - if (!await myContext.Db.Queryable().AnyAsync()) - { - var data = JsonConvert.DeserializeObject>( - FileHelper.ReadFile(string.Format(SeedDataFolder, "TasksQz"), Encoding.UTF8), setting); - - myContext.GetEntityDB().InsertRange(data); - Console.WriteLine("Table:TasksQz created success!"); - } - else - { - Console.WriteLine("Table:TasksQz already exists..."); - } - - #endregion - - #region TasksLog - - if (!await myContext.Db.Queryable().AnyAsync()) - { - Console.WriteLine("Table:TasksLog created success!"); - } - else - { - Console.WriteLine("Table:TasksLog already exists..."); - } - - #endregion - - #region Department - - if (!await myContext.Db.Queryable().AnyAsync()) - { - var data = JsonConvert.DeserializeObject>( - FileHelper.ReadFile(string.Format(SeedDataFolder, "Department"), Encoding.UTF8), setting); - - myContext.GetEntityDB().InsertRange(data); - Console.WriteLine("Table:Department created success!"); - } - else - { - Console.WriteLine("Table:Department already exists..."); - } - - #endregion - - //种子初始化 - await SeedDataAsync(myContext.Db); - - ConsoleHelper.WriteSuccessLine($"Done seeding database!"); - } - - Console.WriteLine(); - } - catch (Exception ex) - { - throw new Exception( - $"1、若是Mysql,查看常见问题:https://github.com/anjoy8/Tiobon.Core/issues/148#issue-776281770 \n" + - $"2、若是Oracle,查看常见问题:https://github.com/anjoy8/Tiobon.Core/issues/148#issuecomment-752340231 \n" + - "3、其他错误:" + ex.Message); - } - } - - /// - /// 种子初始化数据 - /// - /// - /// - private static async Task SeedDataAsync(ISqlSugarClient db) - { - // 获取所有种子配置-初始化数据 - var seedDataTypes = AssemblysExtensions.GetAllAssemblies().SelectMany(s => s.DefinedTypes) - .Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass) - .Where(u => - { - var esd = u.GetInterfaces() - .FirstOrDefault(i => i.HasImplementedRawGeneric(typeof(IEntitySeedData<>))); - if (esd is null) - { - return false; - } - - var eType = esd.GenericTypeArguments[0]; - if (eType.GetCustomAttribute() is null) - { - return true; - } - - return false; - }); - - if (!seedDataTypes.Any()) return; - foreach (var seedType in seedDataTypes) - { - dynamic instance = Activator.CreateInstance(seedType); - //初始化数据 - { - var seedData = instance.InitSeedData(); - if (seedData != null && Enumerable.Any(seedData)) - { - var entityType = seedType.GetInterfaces().First().GetGenericArguments().First(); - var entity = db.EntityMaintenance.GetEntityInfo(entityType); - - if (!await db.Queryable(entity.DbTableName, "").AnyAsync()) - { - await db.Insertable(Enumerable.ToList(seedData)).ExecuteCommandAsync(); - Console.WriteLine($"Table:{entity.DbTableName} init success!"); - } - } - } - - //种子数据 - { - var seedData = instance.SeedData(); - if (seedData != null && Enumerable.Any(seedData)) - { - var entityType = seedType.GetInterfaces().First().GetGenericArguments().First(); - var entity = db.EntityMaintenance.GetEntityInfo(entityType); - - await db.Storageable(Enumerable.ToList(seedData)).ExecuteCommandAsync(); - Console.WriteLine($"Table:{entity.DbTableName} seedData success!"); - } - } - - //自定义处理 - { - await instance.CustomizeSeedData(db); - } - } - } - - /// - /// 迁移日志数据库 - /// - /// - public static void MigrationLogs(MyContext myContext) - { - // 创建数据库表,遍历指定命名空间下的class, - // 注意不要把其他命名空间下的也添加进来。 - Console.WriteLine("Create Log Tables..."); - if (!myContext.Db.IsAnyConnection(SqlSugarConst.LogConfigId.ToLower())) - { - throw new ApplicationException("未配置日志数据库,请在appsettings.json中DBS节点中配置"); - } - - var logDb = myContext.Db.GetConnection(SqlSugarConst.LogConfigId.ToLower()); - Console.WriteLine($"Create log Database(The Db Id:{SqlSugarConst.LogConfigId.ToLower()})..."); - logDb.DbMaintenance.CreateDatabase(); - ConsoleHelper.WriteSuccessLine($"Log Database created successfully!"); - var path = AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory; - var referencedAssemblies = System.IO.Directory.GetFiles(path, "Tiobon.Core.Model.dll") - .Select(Assembly.LoadFrom).ToArray(); - var modelTypes = referencedAssemblies - .SelectMany(a => a.DefinedTypes) - .Select(type => type.AsType()) - .Where(x => x.IsClass && x.Namespace != null && x.Namespace.StartsWith("Tiobon.Core.Model.Logs")) - .ToList(); - Stopwatch sw = Stopwatch.StartNew(); - - var tables = logDb.DbMaintenance.GetTableInfoList(); - - modelTypes.ForEach(t => - { - // 这里只支持添加修改表,不支持删除 - // 如果想要删除,数据库直接右键删除,或者联系SqlSugar作者; - if (!tables.Any(s => s.Name.Contains(t.Name))) - { - Console.WriteLine(t.Name); - if (t.GetCustomAttribute() != null) - { - logDb.CodeFirst.SplitTables().InitTables(t); - } - else - { - logDb.CodeFirst.InitTables(t); - } - } - }); - - sw.Stop(); - - $"Log Tables created successfully! {sw.ElapsedMilliseconds}ms".WriteSuccessLine(); - Console.WriteLine(); - } - - - /// - /// 初始化 多租户 - /// - /// - /// - public static async Task TenantSeedAsync(MyContext myContext) - { - var tenants = await myContext.Db.Queryable().Where(s => s.TenantType == TenantTypeEnum.Db) - .ToListAsync(); - if (tenants.Any()) - { - Console.WriteLine($@"Init Multi Tenant Db"); - foreach (var tenant in tenants) - { - Console.WriteLine($@"Init Multi Tenant Db : {tenant.ConfigId}/{tenant.Name}"); - await InitTenantSeedAsync(myContext.Db.AsTenant(), tenant.GetConnectionConfig()); - } - } - - tenants = await myContext.Db.Queryable().Where(s => s.TenantType == TenantTypeEnum.Tables) - .ToListAsync(); - if (tenants.Any()) - { - await InitTenantSeedAsync(myContext, tenants); - } - } - - #region 多租户 多表 初始化 - - private static async Task InitTenantSeedAsync(MyContext myContext, List tenants) - { - ConsoleHelper.WriteInfoLine($"Init Multi Tenant Tables : {myContext.Db.CurrentConnectionConfig.ConfigId}"); - - // 获取所有实体表-初始化租户业务表 - var entityTypes = TenantUtil.GetTenantEntityTypes(TenantTypeEnum.Tables); - if (!entityTypes.Any()) return; - - foreach (var sysTenant in tenants) - { - foreach (var entityType in entityTypes) - { - myContext.Db.CodeFirst - .As(entityType, entityType.GetTenantTableName(myContext.Db, sysTenant)) - .InitTables(entityType); - - Console.WriteLine($@"Init Tables:{entityType.GetTenantTableName(myContext.Db, sysTenant)}"); - } - - myContext.Db.SetTenantTable(sysTenant.Id.ToString()); - //多租户初始化种子数据 - await TenantSeedDataAsync(myContext.Db, TenantTypeEnum.Tables); - } - - ConsoleHelper.WriteSuccessLine( - $"Init Multi Tenant Tables : {myContext.Db.CurrentConnectionConfig.ConfigId} created successfully!"); - } - - #endregion - - #region 多租户 多库 初始化 - - /// - /// 初始化多库 - /// - /// - /// - /// - public static async Task InitTenantSeedAsync(ITenant itenant, ConnectionConfig config) - { - itenant.RemoveConnection(config.ConfigId); - itenant.AddConnection(config); - - var db = itenant.GetConnectionScope(config.ConfigId); - - db.DbMaintenance.CreateDatabase(); - ConsoleHelper.WriteSuccessLine($"Init Multi Tenant Db : {config.ConfigId} Database created successfully!"); - - Console.WriteLine($@"Init Multi Tenant Db : {config.ConfigId} Create Tables"); - - // 获取所有实体表-初始化租户业务表 - var entityTypes = TenantUtil.GetTenantEntityTypes(TenantTypeEnum.Db); - if (!entityTypes.Any()) return; - foreach (var entityType in entityTypes) - { - var splitTable = entityType.GetCustomAttribute(); - if (splitTable == null) - db.CodeFirst.InitTables(entityType); - else - db.CodeFirst.SplitTables().InitTables(entityType); - - Console.WriteLine(entityType.Name); - } - - //多租户初始化种子数据 - await TenantSeedDataAsync(db, TenantTypeEnum.Db); - } - - #endregion - - #region 多租户 种子数据 初始化 - - private static async Task TenantSeedDataAsync(ISqlSugarClient db, TenantTypeEnum tenantType) - { - // 获取所有种子配置-初始化数据 - var seedDataTypes = AssemblysExtensions.GetAllAssemblies().SelectMany(s => s.DefinedTypes) - .Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass) - .Where(u => - { - var esd = u.GetInterfaces() - .FirstOrDefault(i => i.HasImplementedRawGeneric(typeof(IEntitySeedData<>))); - if (esd is null) - { - return false; - } - - var eType = esd.GenericTypeArguments[0]; - return eType.IsTenantEntity(tenantType); - }); - if (!seedDataTypes.Any()) return; - foreach (var seedType in seedDataTypes) - { - dynamic instance = Activator.CreateInstance(seedType); - //初始化数据 - { - var seedData = instance.InitSeedData(); - if (seedData != null && Enumerable.Any(seedData)) - { - var entityType = seedType.GetInterfaces().First().GetGenericArguments().First(); - var entity = db.EntityMaintenance.GetEntityInfo(entityType); - - if (!await db.Queryable(entity.DbTableName, "").AnyAsync()) - { - await db.Insertable(Enumerable.ToList(seedData)).ExecuteCommandAsync(); - Console.WriteLine($"Table:{entity.DbTableName} init success!"); - } - } - } - - //种子数据 - { - var seedData = instance.SeedData(); - if (seedData != null && Enumerable.Any(seedData)) - { - var entityType = seedType.GetInterfaces().First().GetGenericArguments().First(); - var entity = db.EntityMaintenance.GetEntityInfo(entityType); - - await db.Storageable(Enumerable.ToList(seedData)).ExecuteCommandAsync(); - Console.WriteLine($"Table:{entity.DbTableName} seedData success!"); - } - } - - //自定义处理 - { - await instance.CustomizeSeedData(db); - } - } - } - - #endregion -} \ No newline at end of file diff --git a/Tiobon.Core.Common/Seed/FrameSeed.cs b/Tiobon.Core.Common/Seed/FrameSeed.cs deleted file mode 100644 index c2c5fefa..00000000 --- a/Tiobon.Core.Common/Seed/FrameSeed.cs +++ /dev/null @@ -1,1091 +0,0 @@ -using Tiobon.Core.DB.Dapper; -using SqlSugar; -using System.Text; - -namespace Tiobon.Core.Common.Seed; - -public class FrameSeed -{ - - public static string path = AppDomain.CurrentDomain.BaseDirectory - .Replace("Tiobon.Core.Api\\bin\\Debug\\net8.0\\", null) - .Replace("Tiobon.CodeGenerator\\bin\\Debug\\net8.0\\", null) - .Replace("Tiobon.CodeGenerator\\bin\\Release\\net8.0\\", null); - /// - /// 生成Controller层 - /// - /// sqlsugar实例 - /// 数据库链接ID - /// 数据库表名数组,默认空,生成所有表 - /// - /// - public static bool CreateControllers(SqlSugarScope sqlSugarClient, string ConnId = null, bool isMuti = false, string[] tableNames = null) - { - Create_Controller_ClassFileByDBTalbe(sqlSugarClient, ConnId, path + $@"Tiobon.Core.Api\Controllers", "Tiobon.Core.Api.Controllers", tableNames, "", isMuti); - return true; - } - - /// - /// 生成Model层 - /// - /// sqlsugar实例 - /// 数据库链接ID - /// 数据库表名数组,默认空,生成所有表 - /// - /// - public static bool CreateModels(SqlSugarScope sqlSugarClient, string ConnId, bool isMuti = false, string[] tableNames = null) - { - Create_Model_ClassFileByDBTalbe(sqlSugarClient, ConnId, path + $@"Tiobon.Core.Model", "Tiobon.Core.Model.Models", tableNames, "", isMuti); - return true; - } - - /// - /// 生成IRepository层 - /// - /// sqlsugar实例 - /// 数据库链接ID - /// - /// 数据库表名数组,默认空,生成所有表 - /// - public static bool CreateIRepositorys(SqlSugarScope sqlSugarClient, string ConnId, bool isMuti = false, string[] tableNames = null) - { - Create_IRepository_ClassFileByDBTalbe(sqlSugarClient, ConnId, path + $@"Tiobon.Core.IRepository", "Tiobon.Core.IRepository", tableNames, "", isMuti); - return true; - } - - - - /// - /// 生成 IService 层 - /// - /// sqlsugar实例 - /// 数据库链接ID - /// - /// 数据库表名数组,默认空,生成所有表 - /// - public static bool CreateIServices(SqlSugarScope sqlSugarClient, string ConnId, bool isMuti = false, string[] tableNames = null) - { - Create_IServices_ClassFileByDBTalbe(sqlSugarClient, ConnId, path + $@"Tiobon.Core.IServices", "Tiobon.Core.IServices", tableNames, "", isMuti); - return true; - } - - - - /// - /// 生成 Repository 层 - /// - /// sqlsugar实例 - /// 数据库链接ID - /// - /// 数据库表名数组,默认空,生成所有表 - /// - public static bool CreateRepository(SqlSugarScope sqlSugarClient, string ConnId, bool isMuti = false, string[] tableNames = null) - { - Create_Repository_ClassFileByDBTalbe(sqlSugarClient, ConnId, path + $@"Tiobon.Core.Repository", "Tiobon.Core.Repository", tableNames, "", isMuti); - return true; - } - - - - /// - /// 生成 Service 层 - /// - /// sqlsugar实例 - /// 数据库链接ID - /// - /// 数据库表名数组,默认空,生成所有表 - /// - public static bool CreateServices(SqlSugarScope sqlSugarClient, string ConnId, bool isMuti = false, string[] tableNames = null) - { - Create_Services_ClassFileByDBTalbe(sqlSugarClient, ConnId, path + $@"Tiobon.Core.Services", "Tiobon.Core.Services", tableNames, "", isMuti); - return true; - } - - - #region 根据数据库表生产Controller层 - - /// - /// 根据数据库表生产Controller层 - /// - /// - /// 数据库链接ID - /// 实体类存放路径 - /// 命名空间 - /// 生产指定的表 - /// 实现接口 - /// - /// 是否序列化 - private static void Create_Controller_ClassFileByDBTalbe( - SqlSugarScope sqlSugarClient, - string ConnId, - string strPath, - string strNameSpace, - string[] lstTableNames, - string strInterface, - bool isMuti = false, - bool blnSerializable = false) - { - var IDbFirst = sqlSugarClient.DbFirst; - if (lstTableNames != null && lstTableNames.Length > 0) - { - IDbFirst = IDbFirst.Where(lstTableNames); - } - - var tableName = lstTableNames[0]; - var groupName = tableName.Split('_')[0]; - // var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute() - - // .SettingClassTemplate(p => p = - //@"namespace " + strNameSpace + @" - //{ - // /// - // /// {ClassName} - // /// - // [Route(""api/[controller]"")] - // [ApiController, GlobalActionFilter] - // [Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_" + groupName + @")] - // public class {ClassName}Controller : ControllerBase - // { - // #region 初始化 - // /// - // /// 服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下 - // /// - // private readonly I{ClassName}Services _{ClassName}Services; - - // public {ClassName}Controller(I{ClassName}Services {ClassName}Services) - // { - // _{ClassName}Services = {ClassName}Services; - // } - // #endregion - - // #region 基础接口 - - // #region 查询 - // /// - // /// {ClassName} -- 根据条件查询数据 - // /// - // /// 条件 - // /// - // [HttpGet] - // public async Task>> Get([FromFilter] QueryFilter filter) - // { - // var response = await _{ClassName}Services.QueryFilterPage(filter); - // return new ServiceResult>() { msg = ""获取成功"", success = true, response = response }; - // } - - // /// - // /// {ClassName} -- 根据Id查询数据 - // /// - // /// 主键ID - // /// - // [HttpGet(""{Id}"")] - // public async Task> Get(string Id) - // { - // var entity = await _{ClassName}Services.QueryById(Id); - // if (entity == null) - // return ServiceResult<{ClassName}Dto>.Fail(""获取失败""); - // else - // return new ServiceResult<{ClassName}Dto>() { msg = ""获取成功"", success = true, response = entity }; - // } - // #endregion - - // #region 新增 - // /// - // /// {ClassName} -- 新增数据 - // /// - // /// - // /// - // [HttpPost] - // public async Task> Post([FromBody] Insert{ClassName}Input insertModel) - // { - // var data = ServiceResult.Success(""获取成功"", null); - - // var id = await _{ClassName}Services.Add(insertModel); - // data.success = id > 0; - // if (data.success) - // data.response = id.ObjToString(); - - // return data; - // } - // #endregion - - // #region 更新 - // /// - // /// {ClassName} -- 更新数据 - // /// - // /// - // /// - // /// - // [HttpPut(""{Id}"")] - // public async Task Put(long Id, [FromBody] Edit{ClassName}Input editModel) - // { - // var data = MessageModel.Success(""更新成功""); - // data.success = await _{ClassName}Services.Update(Id, editModel); - // if (!data.success) - // data.msg = ""更新失败""; - - // return data; - // } - // #endregion - - // #region 删除 - // /// - // /// {ClassName} -- 删除数据 - // /// - // /// - // /// - // [HttpDelete(""{Id}"")] - // public async Task Delete(long Id) - // { - // var data = MessageModel.Success(""删除成功""); - // var entity = await _{ClassName}Services.QueryById(Id); - // if (entity == null) - // return MessageModel.Fail(""删除失败""); - - // entity.IsEnable = 0; - // data.success = await _{ClassName}Services.Update(entity); - // if (!data.success) - // data.msg = ""删除失败""; - // return data; - // } - // #endregion - - // #endregion - // } - //}") - - // .ToClassStringList(strNameSpace); - - #region 获取表中文名 - string sql = @"SELECT f.value TableName - FROM sysobjects d - LEFT JOIN sys.extended_properties f - ON d.id = f.major_id AND f.minor_id = 0 - WHERE d.name = '{0}'"; - sql = string.Format(sql, tableName); - string TableCnName = Convert.ToString(DbAccess.ExecuteScalar(sql, null)); - if (string.IsNullOrWhiteSpace(TableCnName)) TableCnName = tableName; - #endregion - - var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute() - - .SettingClassTemplate(p => p = - @"namespace " + strNameSpace + @"; - -/// -/// " + TableCnName + @"(Controller) -/// -[Route(""api/[controller]"")] -[ApiController, GlobalActionFilter] -[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_" + groupName + @")] -public class {ClassName}Controller : BaseController -{ - public {ClassName}Controller(I{ClassName}Services service) : base(service) - { - } -}") - - .ToClassStringList(strNameSpace); - - Dictionary newdic = new Dictionary(); - //循环处理 首字母小写 并插入新的 Dictionary - foreach (KeyValuePair item in ls) - { - string newkey = "_" + item.Key.First().ToString().ToLower() + item.Key.Substring(1); - string newvalue = item.Value.Replace("_" + item.Key, newkey); - newdic.Add(item.Key, newvalue); - } - CreateFilesByClassStringList(newdic, strPath + "/" + groupName, "{0}Controller"); - } - #endregion - - - #region 根据数据库表生产Model层 - - /// - /// 根据数据库表生产Model层 - /// - /// - /// 数据库链接ID - /// 实体类存放路径 - /// 命名空间 - /// 生产指定的表 - /// 实现接口 - /// - /// 是否序列化 - private static void Create_Model_ClassFileByDBTalbe( - SqlSugarScope sqlSugarClient, - string ConnId, - string strPath, - string strNameSpace, - string[] lstTableNames, - string strInterface, - bool isMuti = false, - bool blnSerializable = false) - { - //多库文件分离 - if (isMuti) - { - strPath = strPath + @"\Models\" + ConnId; - strNameSpace = strNameSpace + "." + ConnId; - } - - var IDbFirst = sqlSugarClient.DbFirst; - if (lstTableNames != null && lstTableNames.Length > 0) - { - IDbFirst = IDbFirst.Where(lstTableNames); - } - var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute() - - .SettingClassTemplate(p => p = -@"{using} - -namespace " + strNameSpace + @" -{ -{ClassDescription} - [SugarTable( ""{ClassName}"", """ + ConnId + @"""), Entity(TableCnName = ""{ClassName}"", TableName = ""{ClassName}"")]" + (blnSerializable ? "\n [Serializable]" : "") + @" - public class {ClassName}" + (string.IsNullOrEmpty(strInterface) ? "" : (" : " + strInterface)) + @" - { - public {ClassName}() - { - } -{PropertyName} - } -}") - //.SettingPropertyDescriptionTemplate(p => p = string.Empty) - .SettingPropertyTemplate(p => p = -@"{SugarColumn} - public {PropertyType} {PropertyName} { get; set; }") - - //.SettingConstructorTemplate(p => p = " this._{PropertyName} ={DefaultValue};") - - .ToClassStringList(strNameSpace); - - StringBuilder build = new StringBuilder(); - var tableName = lstTableNames[0]; - var groupName = tableName.Split('_')[0]; - string sql = @"SELECT A.name AS table_name, - B.name AS column_name, - D.data_type, - C.value AS column_description, - D.NUMERIC_PRECISION, D.NUMERIC_SCALE,D.CHARACTER_MAXIMUM_LENGTH - FROM sys.tables A - INNER JOIN sys.columns B ON B.object_id = A.object_id - LEFT JOIN sys.extended_properties C - ON C.major_id = B.object_id AND C.minor_id = B.column_id - LEFT JOIN information_schema.columns D - ON D.column_name = B.name AND D.TABLE_NAME = '{0}' - WHERE A.name = '{0}' ORDER BY B.column_id ASC"; - sql = string.Format(sql, tableName); - var dtColumn = sqlSugarClient.Ado.GetDataTable(sql); - - #region 获取表中文名 - sql = @"SELECT f.value TableName - FROM sysobjects d - LEFT JOIN sys.extended_properties f - ON d.id = f.major_id AND f.minor_id = 0 - WHERE d.name = '{0}'"; - sql = string.Format(sql, tableName); - string TableCnName = Convert.ToString(DbAccess.ExecuteScalar(sql, null)); - if (string.IsNullOrWhiteSpace(TableCnName)) TableCnName = tableName; - #endregion - - build.Append("/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。\r\n"); - build.Append("* " + tableName + ".cs\r\n"); - build.Append("*\r\n"); - build.Append("*功 能: N / A\r\n"); - build.Append("* 类 名: " + tableName + "\r\n"); - build.Append("*\r\n"); - build.Append("* Ver 变更日期 负责人 变更内容\r\n"); - build.Append("* ───────────────────────────────────\r\n"); - build.Append("*V0.01 " + DateTime.Now.ToString() + " SimonHsiao 初版\r\n"); - build.Append("*\r\n"); - build.Append("* Copyright(c) " + DateTime.Now.Year + " Tiobon Corporation. All Rights Reserved.\r\n"); - build.Append("*┌──────────────────────────────────┐\r\n"); - build.Append("*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │\r\n"); - build.Append("*│ 作者:SimonHsiao │\r\n"); - build.Append("*└──────────────────────────────────┘\r\n"); - build.Append("*/ \r\n"); - build.Append("using System.ComponentModel;\r\n"); - build.Append("using System.ComponentModel.DataAnnotations;\r\n"); - build.Append("using SqlSugar;\r\n"); - build.Append("\r\n"); - build.Append("namespace Tiobon.Core.Model.Models\r\n"); - build.Append("{\r\n"); - build.Append("\r\n"); - build.Append(" /// \r\n"); - build.Append(" /// " + TableCnName + " (Model)\r\n"); - build.Append(" /// \r\n"); - build.Append(@" [SugarTable(" + "\"" + tableName + "\"" + ", " + "\"" + tableName + "\"" + "), Entity(TableCnName = \"" + TableCnName + "\", TableName = \"" + tableName + "\")]\r\n"); - build.Append(" public class " + tableName + " : BasePoco\r\n"); - build.Append(" {\r\n"); - - #region 属性 - //build.Append("\r\n"); - - #region 处理表字段 - string columnCode = string.Empty; - string dataType = string.Empty; - string column_description = string.Empty; - string NUMERIC_PRECISION = string.Empty; - string NUMERIC_SCALE = string.Empty; - string CHARACTER_MAXIMUM_LENGTH = string.Empty; - - string[] a = { - "Id", "IsEnable", "OperateLogID", "CreateBy", "CreateTime", - "CreateProg", "CreateIP", "UpdateBy", "UpdateTime", "UpdateProg","UpdateIP" - - }; - - for (int i = 0; i < dtColumn.Rows.Count; i++) - { - columnCode = dtColumn.Rows[i]["column_name"].ToString(); - dataType = dtColumn.Rows[i]["data_type"].ToString(); - column_description = dtColumn.Rows[i]["column_description"].ToString(); - NUMERIC_PRECISION = dtColumn.Rows[i]["NUMERIC_PRECISION"].ToString(); - NUMERIC_SCALE = dtColumn.Rows[i]["NUMERIC_SCALE"].ToString(); - CHARACTER_MAXIMUM_LENGTH = dtColumn.Rows[i]["CHARACTER_MAXIMUM_LENGTH"].ToString(); - - if (string.IsNullOrWhiteSpace(column_description)) - column_description = columnCode; - - if (a.Contains(columnCode)) - continue; - - build.Append("\r\n"); - build.Append(" /// \r\n"); - build.Append(" /// " + column_description + "\r\n"); - build.Append(" /// \r\n"); - if (dataType == "decimal") - build.Append($" [Display(Name = \"" + columnCode + "\"), Description(\"" + column_description + "\"), Column(TypeName = \"decimal(" + NUMERIC_PRECISION + "," + NUMERIC_SCALE + ")\")]\r\n"); - else if (dataType == "varchar" || dataType == "nvarchar" || dataType == "char" || dataType == "text") - build.Append(" [Display(Name = \"" + columnCode + "\"), Description(\"" + column_description + "\"), MaxLength(" + CHARACTER_MAXIMUM_LENGTH + ", ErrorMessage = \"" + column_description + " 不能超过 " + CHARACTER_MAXIMUM_LENGTH + " 个字符\")]\r\n"); - else if (dataType == "decimal") - build.Append(" [Display(Name = \"" + columnCode + "\"), Description(\"" + column_description + "\")]\r\n"); - - switch (dataType) - { - #region 字符串 - case "varchar": - case "nvarchar": - case "char": - case "text": - { - build.Append(" public string " + columnCode + " { get; set; }\r\n"); - break; - } - #endregion - - #region 日期 - case "datetime": - case "date": - { - build.Append(" public DateTime? " + columnCode + " { get; set; }\r\n"); - break; - } - #endregion - - #region 数字 - case "decimal": - { - - build.Append(" public decimal? " + columnCode + " { get; set; }\r\n"); - } - break; - case "int": - { - - build.Append(" public int? " + columnCode + " { get; set; }\r\n"); - - break; - } - case "uniqueidentifier": - { - - build.Append(" public Guid? " + columnCode + " { get; set; }\r\n"); - - break; - } - case "bit": - { - - build.Append(" public bool? " + columnCode + " { get; set; }\r\n"); - - break; - } - case "bigint": - { - - build.Append(" public long? " + columnCode + " { get; set; }\r\n"); - - break; - } - #endregion - } - } - #endregion - #endregion - - - build.Append(" }\r\n"); - build.Append("}\r\n"); - - ls[tableName] = build.ToString(); - CreateFilesByClassStringList(ls, strPath + @"\Models\" + groupName, "{0}"); - - #region Base - build = new StringBuilder(); - ls = new Dictionary(); - build.Append("/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。\r\n"); - build.Append("* " + tableName + ".cs\r\n"); - build.Append("*\r\n"); - build.Append("*功 能: N / A\r\n"); - build.Append("* 类 名: " + tableName + "\r\n"); - build.Append("*\r\n"); - build.Append("* Ver 变更日期 负责人 变更内容\r\n"); - build.Append("* ───────────────────────────────────\r\n"); - build.Append("*V0.01 " + DateTime.Now.ToString() + " SimonHsiao 初版\r\n"); - build.Append("*\r\n"); - build.Append("* Copyright(c) " + DateTime.Now.Year + " Tiobon Corporation. All Rights Reserved.\r\n"); - build.Append("*┌──────────────────────────────────┐\r\n"); - build.Append("*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │\r\n"); - build.Append("*│ 作者:SimonHsiao │\r\n"); - build.Append("*└──────────────────────────────────┘\r\n"); - build.Append("*/ \r\n"); - build.Append("using System.ComponentModel;\r\n"); - build.Append("using System.ComponentModel.DataAnnotations;\r\n"); - build.Append("\r\n"); - build.Append("namespace Tiobon.Core.Model.Models\r\n"); - build.Append("{\r\n"); - build.Append("\r\n"); - build.Append(" /// \r\n"); - build.Append(" /// " + TableCnName + " (Dto.Base)\r\n"); - build.Append(" /// \r\n"); - build.Append(" public class " + tableName + "Base\r\n"); - build.Append(" {\r\n"); - - #region 属性 - //build.Append("\r\n"); - - #region 处理表字段 - - for (int i = 0; i < dtColumn.Rows.Count; i++) - { - columnCode = dtColumn.Rows[i]["column_name"].ToString(); - dataType = dtColumn.Rows[i]["data_type"].ToString(); - column_description = dtColumn.Rows[i]["column_description"].ToString(); - NUMERIC_PRECISION = dtColumn.Rows[i]["NUMERIC_PRECISION"].ToString(); - NUMERIC_SCALE = dtColumn.Rows[i]["NUMERIC_SCALE"].ToString(); - CHARACTER_MAXIMUM_LENGTH = dtColumn.Rows[i]["CHARACTER_MAXIMUM_LENGTH"].ToString(); - - if (string.IsNullOrWhiteSpace(column_description)) - column_description = columnCode; - - if (a.Contains(columnCode)) - continue; - - build.Append("\r\n"); - build.Append(" /// \r\n"); - build.Append(" /// " + column_description + "\r\n"); - build.Append(" /// \r\n"); - if (dataType == "decimal") - build.Append($" [Display(Name = \"" + columnCode + "\"), Description(\"" + column_description + "\"), Column(TypeName = \"decimal(" + NUMERIC_PRECISION + "," + NUMERIC_SCALE + ")\")]\r\n"); - else if (dataType == "varchar" || dataType == "nvarchar" || dataType == "char" || dataType == "text") - build.Append(" [Display(Name = \"" + columnCode + "\"), Description(\"" + column_description + "\"), MaxLength(" + CHARACTER_MAXIMUM_LENGTH + ", ErrorMessage = \"" + column_description + " 不能超过 " + CHARACTER_MAXIMUM_LENGTH + " 个字符\")]\r\n"); - else if (dataType == "decimal") - build.Append(" [Display(Name = \"" + columnCode + "\"), Description(\"" + column_description + "\")]\r\n"); - - switch (dataType) - { - #region 字符串 - case "varchar": - case "nvarchar": - case "char": - case "text": - { - build.Append(" public string " + columnCode + " { get; set; }\r\n"); - break; - } - #endregion - - #region 日期 - case "datetime": - case "date": - { - build.Append(" public DateTime? " + columnCode + " { get; set; }\r\n"); - break; - } - #endregion - - #region 数字 - case "decimal": - { - - build.Append(" public decimal? " + columnCode + " { get; set; }\r\n"); - } - break; - case "int": - { - - build.Append(" public int? " + columnCode + " { get; set; }\r\n"); - - break; - } - case "uniqueidentifier": - { - - build.Append(" public Guid? " + columnCode + " { get; set; }\r\n"); - - break; - } - case "bit": - { - - build.Append(" public bool? " + columnCode + " { get; set; }\r\n"); - - break; - } - case "bigint": - { - - build.Append(" public long? " + columnCode + " { get; set; }\r\n"); - - break; - } - #endregion - } - } - #endregion - #endregion - - - build.Append(" }\r\n"); - build.Append("}\r\n"); - - ls.Add(tableName + ".Dto.Base", build.ToString()); - CreateFilesByClassStringList(ls, strPath + @"\Base\" + groupName, "{0}"); - #endregion - - #region Insert - build = new StringBuilder(); - ls = new Dictionary(); - - build.Append("/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。\r\n"); - build.Append("* " + tableName + ".cs\r\n"); - build.Append("*\r\n"); - build.Append("*功 能: N / A\r\n"); - build.Append("* 类 名: " + tableName + "\r\n"); - build.Append("*\r\n"); - build.Append("* Ver 变更日期 负责人 变更内容\r\n"); - build.Append("* ───────────────────────────────────\r\n"); - build.Append("*V0.01 " + DateTime.Now.ToString() + " SimonHsiao 初版\r\n"); - build.Append("*\r\n"); - build.Append("* Copyright(c) " + DateTime.Now.Year + " Tiobon Corporation. All Rights Reserved.\r\n"); - build.Append("*┌──────────────────────────────────┐\r\n"); - build.Append("*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │\r\n"); - build.Append("*│ 作者:SimonHsiao │\r\n"); - build.Append("*└──────────────────────────────────┘\r\n"); - build.Append("*/ \r\n"); - build.Append("\r\n"); - build.Append("namespace Tiobon.Core.Model.Models\r\n"); - build.Append("{\r\n"); - build.Append("\r\n"); - build.Append(" /// \r\n"); - build.Append(" /// " + TableCnName + " (Dto.InsertInput)\r\n"); - build.Append(" /// \r\n"); - build.Append(" public class Insert" + tableName + "Input : " + tableName + "Base\r\n"); - build.Append(" {\r\n"); - - build.Append(" }\r\n"); - build.Append("}\r\n"); - - ls.Add(tableName + ".Dto.InsertInput", build.ToString()); - CreateFilesByClassStringList(ls, strPath + @"\Insert\" + groupName, "{0}"); - #endregion - - #region Edit - build = new StringBuilder(); - ls = new Dictionary(); - - build.Append("/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。\r\n"); - build.Append("* " + tableName + ".cs\r\n"); - build.Append("*\r\n"); - build.Append("*功 能: N / A\r\n"); - build.Append("* 类 名: " + tableName + "\r\n"); - build.Append("*\r\n"); - build.Append("* Ver 变更日期 负责人 变更内容\r\n"); - build.Append("* ───────────────────────────────────\r\n"); - build.Append("*V0.01 " + DateTime.Now.ToString() + " SimonHsiao 初版\r\n"); - build.Append("*\r\n"); - build.Append("* Copyright(c) " + DateTime.Now.Year + " Tiobon Corporation. All Rights Reserved.\r\n"); - build.Append("*┌──────────────────────────────────┐\r\n"); - build.Append("*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │\r\n"); - build.Append("*│ 作者:SimonHsiao │\r\n"); - build.Append("*└──────────────────────────────────┘\r\n"); - build.Append("*/ \r\n"); - build.Append("\r\n"); - build.Append("namespace Tiobon.Core.Model.Models\r\n"); - build.Append("{\r\n"); - build.Append("\r\n"); - build.Append(" /// \r\n"); - build.Append(" /// " + TableCnName + " (Dto.EditInput)\r\n"); - build.Append(" /// \r\n"); - build.Append(" public class Edit" + tableName + "Input : " + tableName + "Base\r\n"); - build.Append(" {\r\n"); - - build.Append(" }\r\n"); - build.Append("}\r\n"); - - ls.Add(tableName + ".Dto.EditInput", build.ToString()); - CreateFilesByClassStringList(ls, strPath + @"\Edit\" + groupName, "{0}"); - #endregion - - #region View - build = new StringBuilder(); - ls = new Dictionary(); - - build.Append("/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。\r\n"); - build.Append("* " + tableName + ".cs\r\n"); - build.Append("*\r\n"); - build.Append("*功 能: N / A\r\n"); - build.Append("* 类 名: " + tableName + "\r\n"); - build.Append("*\r\n"); - build.Append("* Ver 变更日期 负责人 变更内容\r\n"); - build.Append("* ───────────────────────────────────\r\n"); - build.Append("*V0.01 " + DateTime.Now.ToString() + " SimonHsiao 初版\r\n"); - build.Append("*\r\n"); - build.Append("* Copyright(c) " + DateTime.Now.Year + " Tiobon Corporation. All Rights Reserved.\r\n"); - build.Append("*┌──────────────────────────────────┐\r\n"); - build.Append("*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │\r\n"); - build.Append("*│ 作者:SimonHsiao │\r\n"); - build.Append("*└──────────────────────────────────┘\r\n"); - build.Append("*/ \r\n"); - build.Append("\r\n"); - build.Append("namespace Tiobon.Core.Model.Models;\r\n"); - build.Append("\r\n"); - build.Append("/// \r\n"); - build.Append("/// " + TableCnName + "(Dto.View1)\r\n"); - build.Append("/// \r\n"); - build.Append("public class " + tableName + "Dto : " + tableName + "\r\n"); - build.Append("{\r\n"); - - build.Append("/// \r\n"); - build.Append("/// 创建信息\r\n"); - build.Append("/// \r\n"); - build.Append("public string CreateDataInfo { get; set; }\r\n"); - build.Append("\r\n"); - - build.Append("/// \r\n"); - build.Append("/// 修改信息\r\n"); - build.Append("/// \r\n"); - build.Append("public string UpdateDataInfo { get; set; }\r\n"); - - build.Append("}\r\n"); - - ls.Add(tableName + ".Dto.View", build.ToString()); - CreateFilesByClassStringList(ls, strPath + @"\View\" + groupName, "{0}"); - #endregion - - } - #endregion - - - #region 根据数据库表生产IRepository层 - - /// - /// 根据数据库表生产IRepository层 - /// - /// - /// 数据库链接ID - /// 实体类存放路径 - /// 命名空间 - /// 生产指定的表 - /// 实现接口 - /// - private static void Create_IRepository_ClassFileByDBTalbe( - SqlSugarScope sqlSugarClient, - string ConnId, - string strPath, - string strNameSpace, - string[] lstTableNames, - string strInterface, - bool isMuti = false - ) - { - //多库文件分离 - if (isMuti) - { - strPath = strPath + @"\" + ConnId; - strNameSpace = strNameSpace + "." + ConnId; - } - - var IDbFirst = sqlSugarClient.DbFirst; - if (lstTableNames != null && lstTableNames.Length > 0) - { - IDbFirst = IDbFirst.Where(lstTableNames); - } - var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute() - - .SettingClassTemplate(p => p = -@"using Tiobon.Core.IRepository.Base; -using Tiobon.Core.Model.Models" + (isMuti ? "." + ConnId + "" : "") + @"; - -namespace " + strNameSpace + @" -{ - /// - /// I{ClassName}Repository - /// - public interface I{ClassName}Repository : IBaseRepository<{ClassName}>" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @" - { - } -}") - - .ToClassStringList(strNameSpace); - CreateFilesByClassStringList(ls, strPath, "I{0}Repository"); - } - #endregion - - - #region 根据数据库表生产IServices层 - - /// - /// 根据数据库表生产IServices层 - /// - /// - /// 数据库链接ID - /// 实体类存放路径 - /// 命名空间 - /// 生产指定的表 - /// 实现接口 - /// - private static void Create_IServices_ClassFileByDBTalbe( - SqlSugarScope sqlSugarClient, - string ConnId, - string strPath, - string strNameSpace, - string[] lstTableNames, - string strInterface, - bool isMuti = false) - { - //多库文件分离 - if (isMuti) - { - strPath = strPath + @"\" + ConnId; - strNameSpace = strNameSpace + "." + ConnId; - } - - var IDbFirst = sqlSugarClient.DbFirst; - if (lstTableNames != null && lstTableNames.Length > 0) - { - IDbFirst = IDbFirst.Where(lstTableNames); - } - - var groupName = lstTableNames[0].Split('_')[0]; - - #region 获取表中文名 - string sql = @"SELECT f.value TableName - FROM sysobjects d - LEFT JOIN sys.extended_properties f - ON d.id = f.major_id AND f.minor_id = 0 - WHERE d.name = '{0}'"; - sql = string.Format(sql, lstTableNames[0]); - string TableCnName = Convert.ToString(DbAccess.ExecuteScalar(sql, null)); - if (string.IsNullOrWhiteSpace(TableCnName)) TableCnName = lstTableNames[0]; - #endregion - var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute() - - .SettingClassTemplate(p => p = -@"using Tiobon.Core.Model.Models" + (isMuti ? "." + ConnId + "" : "") + @"; - -namespace " + strNameSpace + @" -{ - /// - /// " + TableCnName + @"(自定义服务接口) - /// - public interface I{ClassName}Services :IBaseServices<{ClassName}, {ClassName}Dto, Insert{ClassName}Input, Edit{ClassName}Input>" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @" - { - } -}") - - .ToClassStringList(strNameSpace); - CreateFilesByClassStringList(ls, strPath + "/" + groupName, "I{0}Services"); - } - #endregion - - - - #region 根据数据库表生产 Repository 层 - - /// - /// 根据数据库表生产 Repository 层 - /// - /// - /// 数据库链接ID - /// 实体类存放路径 - /// 命名空间 - /// 生产指定的表 - /// 实现接口 - /// - private static void Create_Repository_ClassFileByDBTalbe( - SqlSugarScope sqlSugarClient, - string ConnId, - string strPath, - string strNameSpace, - string[] lstTableNames, - string strInterface, - bool isMuti = false) - { - //多库文件分离 - if (isMuti) - { - strPath = strPath + @"\" + ConnId; - strNameSpace = strNameSpace + "." + ConnId; - } - - var IDbFirst = sqlSugarClient.DbFirst; - if (lstTableNames != null && lstTableNames.Length > 0) - { - IDbFirst = IDbFirst.Where(lstTableNames); - } - - #region 获取表中文名 - string sql = @"SELECT f.value TableName - FROM sysobjects d - LEFT JOIN sys.extended_properties f - ON d.id = f.major_id AND f.minor_id = 0 - WHERE d.name = '{0}'"; - sql = string.Format(sql, lstTableNames[0]); - string TableCnName = Convert.ToString(DbAccess.ExecuteScalar(sql, null)); - if (string.IsNullOrWhiteSpace(TableCnName)) TableCnName = lstTableNames[0]; - #endregion - - var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute() - - .SettingClassTemplate(p => p = -@"using Tiobon.Core.IRepository" + (isMuti ? "." + ConnId + "" : "") + @"; -using Tiobon.Core.IRepository.UnitOfWork; -using Tiobon.Core.Model.Models" + (isMuti ? "." + ConnId + "" : "") + @"; -using Tiobon.Core.Repository.Base; - -namespace " + strNameSpace + @" -{ - /// - /// " + TableCnName + @"Repository - /// - public class {ClassName}Repository : BaseRepository<{ClassName}>, I{ClassName}Repository" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @" - { - public {ClassName}Repository(IUnitOfWork unitOfWork) : base(unitOfWork) - { - } - } -}") - .ToClassStringList(strNameSpace); - - - CreateFilesByClassStringList(ls, strPath, "{0}Repository"); - } - #endregion - - - #region 根据数据库表生产 Services 层 - - /// - /// 根据数据库表生产 Services 层 - /// - /// - /// 数据库链接ID - /// 实体类存放路径 - /// 命名空间 - /// 生产指定的表 - /// 实现接口 - /// - private static void Create_Services_ClassFileByDBTalbe( - SqlSugarScope sqlSugarClient, - string ConnId, - string strPath, - string strNameSpace, - string[] lstTableNames, - string strInterface, - bool isMuti = false) - { - //多库文件分离 - if (isMuti) - { - strPath = strPath + @"\" + ConnId; - strNameSpace = strNameSpace + "." + ConnId; - } - - var IDbFirst = sqlSugarClient.DbFirst; - if (lstTableNames != null && lstTableNames.Length > 0) - { - IDbFirst = IDbFirst.Where(lstTableNames); - } - - #region 获取表中文名 - string sql = @"SELECT f.value TableName - FROM sysobjects d - LEFT JOIN sys.extended_properties f - ON d.id = f.major_id AND f.minor_id = 0 - WHERE d.name = '{0}'"; - sql = string.Format(sql, lstTableNames[0]); - string TableCnName = Convert.ToString(DbAccess.ExecuteScalar(sql, null)); - if (string.IsNullOrWhiteSpace(TableCnName)) TableCnName = lstTableNames[0]; - #endregion - var groupName = lstTableNames[0].Split('_')[0]; - - var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute() - - .SettingClassTemplate(p => p = -@" -using Tiobon.Core.IServices" + (isMuti ? "." + ConnId + "" : "") + @"; -using Tiobon.Core.Model.Models" + (isMuti ? "." + ConnId + "" : "") + @"; -using Tiobon.Core.Services.BASE; -using Tiobon.Core.IRepository.Base; -using Tiobon.Core.Common.Caches; - -namespace " + strNameSpace + @" -{ - /// - /// " + TableCnName + @" (服务) - /// - public class {ClassName}Services : BaseServices<{ClassName}, {ClassName}Dto, Insert{ClassName}Input, Edit{ClassName}Input>, I{ClassName}Services" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @" - { - private readonly IBaseRepository<{ClassName}> _dal; - public {ClassName}Services(ICaching caching, IBaseRepository<{ClassName}> dal) - { - this._dal = dal; - base.BaseDal = dal; - base._caching = caching; - } - } -}") - .ToClassStringList(strNameSpace); - - CreateFilesByClassStringList(ls, strPath + "/" + groupName, "{0}Services"); - } - #endregion - - - #region 根据模板内容批量生成文件 - /// - /// 根据模板内容批量生成文件 - /// - /// 类文件字符串list - /// 生成路径 - /// 文件名格式模板 - private static void CreateFilesByClassStringList(Dictionary ls, string strPath, string fileNameTp) - { - - foreach (var item in ls) - { - var fileName = $"{string.Format(fileNameTp, item.Key)}.cs"; - var fileFullPath = Path.Combine(strPath, fileName); - if (!Directory.Exists(strPath)) - { - Directory.CreateDirectory(strPath); - } - File.WriteAllText(fileFullPath, item.Value, Encoding.UTF8); - } - } - #endregion -} diff --git a/Tiobon.Core.Common/Seed/IEntitySeedData.cs b/Tiobon.Core.Common/Seed/IEntitySeedData.cs deleted file mode 100644 index 61e7492c..00000000 --- a/Tiobon.Core.Common/Seed/IEntitySeedData.cs +++ /dev/null @@ -1,34 +0,0 @@ -using SqlSugar; - -namespace Tiobon.Core.Common.Seed; - -/// -/// 种子数据 接口 -/// -/// -public interface IEntitySeedData - where T : class, new() -{ - /// - /// 初始化种子数据
- /// 只要表不存在数据,程序启动就会自动初始化 - ///
- /// - IEnumerable InitSeedData(); - - /// - /// 种子数据
- /// 存在不操作、不存在Insert
- /// 适合系统内置数据,项目开发后续增加内置数据 - ///
- /// - IEnumerable SeedData(); - - /// - /// 自定义操作
- /// 以上满不足了,可以自己编写 - ///
- /// - /// - Task CustomizeSeedData(ISqlSugarClient db); -} \ No newline at end of file diff --git a/Tiobon.Core.Common/Seed/MyContext.cs b/Tiobon.Core.Common/Seed/MyContext.cs deleted file mode 100644 index c87e3868..00000000 --- a/Tiobon.Core.Common/Seed/MyContext.cs +++ /dev/null @@ -1,225 +0,0 @@ -using SqlSugar; -using Tiobon.Core.DB; - -namespace Tiobon.Core.Common.Seed; - -public class MyContext -{ - - private static MutiDBOperate connectObject => GetMainConnectionDb(); - private static string _connectionString = connectObject.Connection; - private static DbType _dbType = (DbType)connectObject.DbType; - public static string ConnId = connectObject.ConnId; - private SqlSugarScope _db; - - /// - /// 连接字符串 - /// Tiobon.Core - /// - public static MutiDBOperate GetMainConnectionDb() - { - var mainConnetctDb = BaseDBConfig.MutiConnectionString.allDbs.Find(x => x.ConnId == MainDb.CurrentDbConnId); - if (BaseDBConfig.MutiConnectionString.allDbs.Count > 0) - { - if (mainConnetctDb == null) - { - mainConnetctDb = BaseDBConfig.MutiConnectionString.allDbs[0]; - } - } - else - { - throw new Exception("请确保appsettigns.json中配置连接字符串,并设置Enabled为true;"); - } - - return mainConnetctDb; - } - /// - /// 连接字符串 - /// Tiobon.Core - /// - public static string ConnectionString - { - get { return _connectionString; } - set { _connectionString = value; } - } - /// - /// 数据库类型 - /// Tiobon.Core - /// - public static DbType DbType - { - get { return _dbType; } - set { _dbType = value; } - } - /// - /// 数据连接对象 - /// Tiobon.Core - /// - public SqlSugarScope Db - { - get { return _db; } - private set { _db = value; } - } - - /// - /// 功能描述:构造函数 - /// 作  者:Tiobon.Core - /// - public MyContext(ISqlSugarClient sqlSugarClient) - { - if (string.IsNullOrEmpty(_connectionString)) - throw new ArgumentNullException("数据库连接字符串为空"); - - _db = sqlSugarClient as SqlSugarScope; - - } - - - #region 实例方法 - /// - /// 功能描述:获取数据库处理对象 - /// 作  者:Tiobon.Core - /// - /// 返回值 - public SimpleClient GetEntityDB() where T : class, new() - { - return new SimpleClient(_db); - } - /// - /// 功能描述:获取数据库处理对象 - /// 作  者:Tiobon.Core - /// - /// db - /// 返回值 - //public SimpleClient GetEntityDB(SqlSugarClient db) where T : class, new() - //{ - // return new SimpleClient(db); - //} - - - - #endregion - - - #region 根据实体类生成数据库表 - /// - /// 功能描述:根据实体类生成数据库表 - /// 作  者:Tiobon.Core - /// - /// 是否备份表 - /// 指定的实体 - public void CreateTableByEntity(bool blnBackupTable, params T[] lstEntitys) where T : class, new() - { - Type[] lstTypes = null; - if (lstEntitys != null) - { - lstTypes = new Type[lstEntitys.Length]; - for (int i = 0; i < lstEntitys.Length; i++) - { - T t = lstEntitys[i]; - lstTypes[i] = typeof(T); - } - } - CreateTableByEntity(blnBackupTable, lstTypes); - } - - /// - /// 功能描述:根据实体类生成数据库表 - /// 作  者:Tiobon.Core - /// - /// 是否备份表 - /// 指定的实体 - public void CreateTableByEntity(bool blnBackupTable, params Type[] lstEntitys) - { - if (blnBackupTable) - { - _db.CodeFirst.BackupTable().InitTables(lstEntitys); //change entity backupTable - } - else - { - _db.CodeFirst.InitTables(lstEntitys); - } - } - #endregion - - - #region 静态方法 - - ///// - ///// 功能描述:获得一个DbContext - ///// 作  者:Tiobon.Core - ///// - ///// - //public static MyContext GetDbContext() - //{ - // return new MyContext(); - //} - - /// - /// 功能描述:设置初始化参数 - /// 作  者:Tiobon.Core - /// - /// 连接字符串 - /// 数据库类型 - public static void Init(string strConnectionString, DbType enmDbType = SqlSugar.DbType.SqlServer) - { - _connectionString = strConnectionString; - _dbType = enmDbType; - } - - /// - /// 功能描述:创建一个链接配置 - /// 作  者:Tiobon.Core - /// - /// 是否自动关闭连接 - /// 是否夸类事务 - /// ConnectionConfig - public static ConnectionConfig GetConnectionConfig(bool blnIsAutoCloseConnection = true, bool blnIsShardSameThread = false) - { - ConnectionConfig config = new ConnectionConfig() - { - ConnectionString = _connectionString, - DbType = _dbType, - IsAutoCloseConnection = blnIsAutoCloseConnection, - ConfigureExternalServices = new ConfigureExternalServices() - { - //DataInfoCacheService = new HttpRuntimeCache() - }, - //IsShardSameThread = blnIsShardSameThread - }; - return config; - } - - /// - /// 功能描述:获取一个自定义的DB - /// 作  者:Tiobon.Core - /// - /// config - /// 返回值 - public static SqlSugarScope GetCustomDB(ConnectionConfig config) - { - return new SqlSugarScope(config); - } - /// - /// 功能描述:获取一个自定义的数据库处理对象 - /// 作  者:Tiobon.Core - /// - /// sugarClient - /// 返回值 - public static SimpleClient GetCustomEntityDB(SqlSugarScope sugarClient) where T : class, new() - { - return new SimpleClient(sugarClient); - } - /// - /// 功能描述:获取一个自定义的数据库处理对象 - /// 作  者:Tiobon.Core - /// - /// config - /// 返回值 - public static SimpleClient GetCustomEntityDB(ConnectionConfig config) where T : class, new() - { - SqlSugarScope sugarClient = GetCustomDB(config); - return GetCustomEntityDB(sugarClient); - } - #endregion -} diff --git a/Tiobon.Core.Common/Seed/SeedData/BusinessDataSeedData.cs b/Tiobon.Core.Common/Seed/SeedData/BusinessDataSeedData.cs deleted file mode 100644 index ddcf1fac..00000000 --- a/Tiobon.Core.Common/Seed/SeedData/BusinessDataSeedData.cs +++ /dev/null @@ -1,77 +0,0 @@ -using SqlSugar; -using Tiobon.Core.Model.Models; - -namespace Tiobon.Core.Common.Seed.SeedData; - -/// -/// 初始化 业务数据 -/// -public class BusinessDataSeedData : IEntitySeedData -{ - public IEnumerable InitSeedData() - { - return new[] - { - new BusinessTable() - { - Id = 1, - TenantId = 1000001, - Name = "张三的数据01", - Amount = 150, - IsDeleted = true, - }, - new BusinessTable() - { - Id = 2, - TenantId = 1000001, - Name = "张三的数据02", - Amount = 200, - }, - new BusinessTable() - { - Id = 3, - TenantId = 1000001, - Name = "张三的数据03", - Amount = 250, - }, - new BusinessTable() - { - Id = 4, - TenantId = 1000002, - Name = "李四的数据01", - Amount = 300, - }, - new BusinessTable() - { - Id = 5, - TenantId = 1000002, - Name = "李四的数据02", - Amount = 500, - }, - new BusinessTable() - { - Id = 6, - TenantId = 0, - Name = "公共数据01", - Amount = 16600, - }, - new BusinessTable() - { - Id = 7, - TenantId = 0, - Name = "公共数据02", - Amount = 19800, - }, - }; - } - - public IEnumerable SeedData() - { - return default; - } - - public Task CustomizeSeedData(ISqlSugarClient db) - { - return Task.CompletedTask; - } -} \ No newline at end of file diff --git a/Tiobon.Core.Common/Seed/SeedData/MultiBusinessDataSeedData.cs b/Tiobon.Core.Common/Seed/SeedData/MultiBusinessDataSeedData.cs deleted file mode 100644 index c6d51548..00000000 --- a/Tiobon.Core.Common/Seed/SeedData/MultiBusinessDataSeedData.cs +++ /dev/null @@ -1,36 +0,0 @@ -using SqlSugar; -using Tiobon.Core.Model.Models; - -namespace Tiobon.Core.Common.Seed.SeedData; - -public class MultiBusinessDataSeedData : IEntitySeedData -{ - public IEnumerable InitSeedData() - { - return new List() - { - new() - { - Id = 1001, - Name = "业务数据1", - Amount = 100, - }, - new() - { - Id = 1002, - Name = "业务数据2", - Amount = 1000, - }, - }; - } - - public IEnumerable SeedData() - { - return default; - } - - public Task CustomizeSeedData(ISqlSugarClient db) - { - return Task.CompletedTask; - } -} \ No newline at end of file diff --git a/Tiobon.Core.Common/Seed/SeedData/MultiBusinessSubDataSeedData.cs b/Tiobon.Core.Common/Seed/SeedData/MultiBusinessSubDataSeedData.cs deleted file mode 100644 index 2dc2a16d..00000000 --- a/Tiobon.Core.Common/Seed/SeedData/MultiBusinessSubDataSeedData.cs +++ /dev/null @@ -1,36 +0,0 @@ -using SqlSugar; -using Tiobon.Core.Model.Models; - -namespace Tiobon.Core.Common.Seed.SeedData; - -public class MultiBusinessSubDataSeedData : IEntitySeedData -{ - public IEnumerable InitSeedData() - { - return new List() - { - new() - { - Id = 100, - MainId = 1001, - Memo = "子数据", - }, - new() - { - Id = 1001, - MainId = 1001, - Memo = "子数据2", - }, - }; - } - - public IEnumerable SeedData() - { - return default; - } - - public Task CustomizeSeedData(ISqlSugarClient db) - { - return Task.CompletedTask; - } -} \ No newline at end of file diff --git a/Tiobon.Core.Common/Seed/SeedData/SubBusinessDataSeedData.cs b/Tiobon.Core.Common/Seed/SeedData/SubBusinessDataSeedData.cs deleted file mode 100644 index 21e9c6d4..00000000 --- a/Tiobon.Core.Common/Seed/SeedData/SubBusinessDataSeedData.cs +++ /dev/null @@ -1,68 +0,0 @@ -using SqlSugar; -using Tiobon.Core.Model.Models; - -namespace Tiobon.Core.Common.Seed.SeedData; - -public class SubBusinessDataSeedData : IEntitySeedData -{ - public IEnumerable InitSeedData() - { - return default; - } - - public IEnumerable SeedData() - { - return default; - } - - public async Task CustomizeSeedData(ISqlSugarClient db) - { - //初始化分库数据 - //只是用于测试 - if (db.CurrentConnectionConfig.ConfigId == "Tenant_3") - { - if (!await db.Queryable().AnyAsync()) - { - await db.Insertable(new List() - { - new() - { - Id = SnowFlakeSingle.Instance.NextId(), - Name = "王五业务数据1", - Amount = 100, - }, - new() - { - Id = SnowFlakeSingle.Instance.NextId(), - Name = "王五业务数据2", - Amount = 1000, - }, - }).ExecuteReturnSnowflakeIdListAsync(); - } - } - else if (db.CurrentConnectionConfig.ConfigId == "Tenant_4") - { - if (!await db.Queryable().AnyAsync()) - { - await db.Insertable(new List() - { - new() - { - Id = SnowFlakeSingle.Instance.NextId(), - Name = "赵六业务数据1", - Amount = 50, - }, - new() - { - Id = SnowFlakeSingle.Instance.NextId(), - Name = "赵六业务数据2", - Amount = 60, - }, - }).ExecuteReturnSnowflakeIdListAsync(); - } - } - - - await Task.Delay(1); - } -} \ No newline at end of file diff --git a/Tiobon.Core.Common/Seed/SeedData/TenantSeedData.cs b/Tiobon.Core.Common/Seed/SeedData/TenantSeedData.cs deleted file mode 100644 index 92d17e9b..00000000 --- a/Tiobon.Core.Common/Seed/SeedData/TenantSeedData.cs +++ /dev/null @@ -1,66 +0,0 @@ -using SqlSugar; -using Tiobon.Core.Model; - -namespace Tiobon.Core.Common.Seed.SeedData; - -/// -/// 租户 种子数据 -/// -public class TenantSeedData : IEntitySeedData -{ - public IEnumerable InitSeedData() - { - return new[] - { - new SysTenant() - { - Id = 1000001, - ConfigId = "Tenant_1", - Name = "张三", - TenantType = TenantTypeEnum.Id - }, - new SysTenant() - { - Id = 1000002, - ConfigId = "Tenant_2", - Name = "李四", - TenantType = TenantTypeEnum.Id - }, - new SysTenant() - { - Id = 1000003, - ConfigId = "Tenant_3", - Name = "王五", - TenantType = TenantTypeEnum.Db, - DbType = DbType.Sqlite, - Connection = $"DataSource=" + Path.Combine(Environment.CurrentDirectory, "WangWu.db"), - }, - new SysTenant() - { - Id = 1000004, - ConfigId = "Tenant_4", - Name = "赵六", - TenantType = TenantTypeEnum.Db, - DbType = DbType.Sqlite, - Connection = $"DataSource=" + Path.Combine(Environment.CurrentDirectory, "ZhaoLiu.db"), - }, - new SysTenant() - { - Id = 1000005, - ConfigId = "Tenant_5", - Name = "孙七", - TenantType = TenantTypeEnum.Tables, - }, - }; - } - - public IEnumerable SeedData() - { - return default; - } - - public Task CustomizeSeedData(ISqlSugarClient db) - { - return Task.CompletedTask; - } -} \ No newline at end of file diff --git a/Tiobon.Core.Common/Seed/SeedData/UserInfoSeedData.cs b/Tiobon.Core.Common/Seed/SeedData/UserInfoSeedData.cs deleted file mode 100644 index 0512612d..00000000 --- a/Tiobon.Core.Common/Seed/SeedData/UserInfoSeedData.cs +++ /dev/null @@ -1,77 +0,0 @@ -using SqlSugar; -using Tiobon.Core.Model.Models; - -namespace Tiobon.Core.Common.Seed.SeedData; - -public class UserInfoSeedData : IEntitySeedData -{ - public IEnumerable InitSeedData() - { - return default; - } - - public IEnumerable SeedData() - { - return default; - } - - public async Task CustomizeSeedData(ISqlSugarClient db) - { - var data = new List() - { - new SysUserInfo() - { - Id = 10001, - LoginName = "zhangsan", - LoginPWD = "E10ADC3949BA59ABBE56E057F20F883E", - Name = "张三", - TenantId = 1000001, //租户Id - }, - new SysUserInfo() - { - Id = 10002, - LoginName = "lisi", - LoginPWD = "E10ADC3949BA59ABBE56E057F20F883E", - Name = "李四", - TenantId = 1000002, //租户Id - }, - new SysUserInfo() - { - Id = 10003, - LoginName = "wangwu", - LoginPWD = "E10ADC3949BA59ABBE56E057F20F883E", - Name = "王五", - TenantId = 1000003, //租户Id - }, - new SysUserInfo() - { - Id = 10004, - LoginName = "zhaoliu", - LoginPWD = "E10ADC3949BA59ABBE56E057F20F883E", - Name = "赵六", - TenantId = 1000004, //租户Id - }, - new SysUserInfo() - { - Id = 10005, - LoginName = "sunqi", - LoginPWD = "E10ADC3949BA59ABBE56E057F20F883E", - Name = "孙七", - TenantId = 1000005, //租户Id - }, - }; - - var names = data.Select(s => s.LoginName).ToList(); - names = await db.Queryable() - .Where(s => names.Contains(s.LoginName)) - .Select(s => s.LoginName).ToListAsync(); - - var sysUserInfos = data.Where(s => !names.Contains(s.LoginName)).ToList(); - if (sysUserInfos.Any()) - { - await db.Insertable(sysUserInfos).ExecuteReturnIdentityAsync(); - } - - await Task.CompletedTask; - } -} \ No newline at end of file diff --git a/Tiobon.Core.Extensions/AutoMapper/CustomProfile.cs b/Tiobon.Core.Extensions/AutoMapper/CustomProfile.cs index 8fa5deff..7913420f 100644 --- a/Tiobon.Core.Extensions/AutoMapper/CustomProfile.cs +++ b/Tiobon.Core.Extensions/AutoMapper/CustomProfile.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Tiobon.Core.Model; using Tiobon.Core.Model.Models; using Tiobon.Core.Model.ViewModels; diff --git a/Tiobon.Core.Extensions/HostedService/SeedDataHostedService.cs b/Tiobon.Core.Extensions/HostedService/SeedDataHostedService.cs index 0d97548c..475a050a 100644 --- a/Tiobon.Core.Extensions/HostedService/SeedDataHostedService.cs +++ b/Tiobon.Core.Extensions/HostedService/SeedDataHostedService.cs @@ -1,8 +1,7 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; -using Tiobon.Core.Common; -using Tiobon.Core.Common.Seed; +using Tiobon.Core.Seed; namespace Tiobon.Core.Extensions; diff --git a/Tiobon.Core.Extensions/ServiceExtensions/DbSetup.cs b/Tiobon.Core.Extensions/ServiceExtensions/DbSetup.cs index 9a31ef0c..4c746db8 100644 --- a/Tiobon.Core.Extensions/ServiceExtensions/DbSetup.cs +++ b/Tiobon.Core.Extensions/ServiceExtensions/DbSetup.cs @@ -1,5 +1,5 @@ using Microsoft.Extensions.DependencyInjection; -using Tiobon.Core.Common.Seed; +using Tiobon.Core.Seed; namespace Tiobon.Core.Extensions; diff --git a/Tiobon.Core.Jobs/Helper.cs b/Tiobon.Core.Jobs/Helper.cs index b9802617..53a1bf93 100644 --- a/Tiobon.Core.Jobs/Helper.cs +++ b/Tiobon.Core.Jobs/Helper.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using System; -using Tiobon.Core.Common.Seed; +using Tiobon.Core.Seed; using Tiobon.Core.DataAccess; using Tiobon.Core.DB; using Tiobon.Core.DB.Dapper.Extensions; diff --git a/Tiobon.Core.Model/Models/RootTkey/sysUserInfoRoot.cs b/Tiobon.Core.Model/Models/RootTkey/sysUserInfoRoot.cs deleted file mode 100644 index 19109317..00000000 --- a/Tiobon.Core.Model/Models/RootTkey/sysUserInfoRoot.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace Tiobon.Core.Model; - -/// -/// 用户信息表 -/// -public class SysUserInfoRoot where Tkey : IEquatable -{ - /// - /// Id - /// 泛型主键Tkey - /// - [SugarColumn(IsNullable = false, IsPrimaryKey = true)] - public Tkey Id { get; set; } - - [SugarColumn(IsIgnore = true)] - public List RIDs { get; set; } - -} diff --git a/Tiobon.Core.Model/Models/Tenant/BusinessTable.cs b/Tiobon.Core.Model/Models/Tenant/BusinessTable.cs deleted file mode 100644 index 70646cc9..00000000 --- a/Tiobon.Core.Model/Models/Tenant/BusinessTable.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Tiobon.Core.Model.Tenants; - -namespace Tiobon.Core.Model.Models; - -/// -/// 业务数据
-/// 多租户 (Id 隔离) -///
-public class BusinessTable : BaseEntity, ITenantEntity -{ - /// - /// 无需手动赋值 - /// - public long TenantId { get; set; } - - - /// - /// 名称 - /// - public string Name { get; set; } - - /// - /// 金额 - /// - public decimal Amount { get; set; } -} \ No newline at end of file diff --git a/Tiobon.Core.Model/Models/Tenant/MultiBusinessSubTable.cs b/Tiobon.Core.Model/Models/Tenant/MultiBusinessSubTable.cs deleted file mode 100644 index 8c86cecf..00000000 --- a/Tiobon.Core.Model/Models/Tenant/MultiBusinessSubTable.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Tiobon.Core.Model.Models; - -/// -/// 多租户-多表方案 业务表 子表
-///
-[MultiTenant(TenantTypeEnum.Tables)] -public class MultiBusinessSubTable : BaseEntity -{ - public long MainId { get; set; } - public string Memo { get; set; } -} \ No newline at end of file diff --git a/Tiobon.Core.Model/Models/Tenant/MultiBusinessTable.cs b/Tiobon.Core.Model/Models/Tenant/MultiBusinessTable.cs deleted file mode 100644 index 46b1f903..00000000 --- a/Tiobon.Core.Model/Models/Tenant/MultiBusinessTable.cs +++ /dev/null @@ -1,21 +0,0 @@ -namespace Tiobon.Core.Model.Models; - -/// -/// 多租户-多表方案 业务表
-///
-[MultiTenant(TenantTypeEnum.Tables)] -public class MultiBusinessTable : BaseEntity -{ - /// - /// 名称 - /// - public string Name { get; set; } - - /// - /// 金额 - /// - public decimal Amount { get; set; } - - [Navigate(NavigateType.OneToMany, nameof(MultiBusinessSubTable.MainId))] - public List Child { get; set; } -} \ No newline at end of file diff --git a/Tiobon.Core.Model/Models/Tenant/SubLibraryBusinessTable.cs b/Tiobon.Core.Model/Models/Tenant/SubLibraryBusinessTable.cs deleted file mode 100644 index 075e782d..00000000 --- a/Tiobon.Core.Model/Models/Tenant/SubLibraryBusinessTable.cs +++ /dev/null @@ -1,19 +0,0 @@ -namespace Tiobon.Core.Model.Models; - -/// -/// 多租户-多库方案 业务表
-/// 公共库无需标记[MultiTenant]特性 -///
-[MultiTenant] -public class SubLibraryBusinessTable : BaseEntity -{ - /// - /// 名称 - /// - public string Name { get; set; } - - /// - /// 金额 - /// - public decimal Amount { get; set; } -} \ No newline at end of file diff --git a/Tiobon.Core.Model/Models/sysUserInfo.cs b/Tiobon.Core.Model/Models/sysUserInfo.cs deleted file mode 100644 index 2aa44b78..00000000 --- a/Tiobon.Core.Model/Models/sysUserInfo.cs +++ /dev/null @@ -1,139 +0,0 @@ -namespace Tiobon.Core.Model.Models; - -/// -/// 用户信息表 -/// -//[SugarTable("SysUserInfo")] -[SugarTable("SysUserInfo", "用户表")] //('数据库表名','数据库表备注') -public class SysUserInfo : SysUserInfoRoot -{ - public SysUserInfo() - { - } - - public SysUserInfo(string loginName, string loginPWD) - { - LoginName = loginName; - LoginPWD = loginPWD; - RealName = LoginName; - Status = 0; - CreateTime = DateTime.Now; - UpdateTime = DateTime.Now; - LastErrorTime = DateTime.Now; - ErrorCount = 0; - Name = ""; - } - - /// - /// 登录账号 - /// - [SugarColumn(Length = 200, IsNullable = true, ColumnDescription = "登录账号")] - //:eg model 根据sqlsugar的完整定义可以如下定义,ColumnDescription可定义表字段备注 - //[SugarColumn(IsNullable = false, ColumnDescription = "登录账号", IsPrimaryKey = false, IsIdentity = false, Length = 50)] - //ColumnDescription 表字段备注, 已在MSSQL测试,配合 [SugarTable("SysUserInfo", "用户表")]//('数据库表名','数据库表备注') - //可以完整生成 表备注和各个字段的中文备注 - //2022/10/11 - //测试mssql 发现 不写ColumnDescription,写好注释在mssql下也能生成表字段备注 - public string LoginName { get; set; } - - /// - /// 登录密码 - /// - [SugarColumn(Length = 200, IsNullable = true)] - public string LoginPWD { get; set; } - - /// - /// 真实姓名 - /// - [SugarColumn(Length = 200, IsNullable = true)] - public string RealName { get; set; } - - /// - /// 状态 - /// - public int Status { get; set; } - - /// - /// 部门 - /// - [SugarColumn(IsNullable = true)] - public long DepartmentId { get; set; } = -1; - - /// - /// 备注 - /// - [SugarColumn(Length = 2000, IsNullable = true)] - public string Remark { get; set; } - - /// - /// 创建时间 - /// - public DateTime CreateTime { get; set; } = DateTime.Now; - - /// - /// 更新时间 - /// - public DateTime UpdateTime { get; set; } = DateTime.Now; - - /// - /// 关键业务修改时间 - /// - public DateTime CriticalModifyTime { get; set; } = DateTime.Now; - - /// - ///最后异常时间 - /// - public DateTime LastErrorTime { get; set; } = DateTime.Now; - - /// - ///错误次数 - /// - public int ErrorCount { get; set; } - - - /// - /// 登录账号 - /// - [SugarColumn(Length = 200, IsNullable = true)] - public string Name { get; set; } - - // 性别 - [SugarColumn(IsNullable = true)] - public int Sex { get; set; } = 0; - - // 年龄 - [SugarColumn(IsNullable = true)] - public int Age { get; set; } - - // 生日 - [SugarColumn(IsNullable = true)] - public DateTime Birth { get; set; } = DateTime.Now; - - // 地址 - [SugarColumn(Length = 200, IsNullable = true)] - public string Address { get; set; } - - [SugarColumn(DefaultValue = "1")] - public bool Enable { get; set; } = true; - - [SugarColumn(IsNullable = true)] - public bool IsDeleted { get; set; } - - /// - /// 租户Id - /// - [SugarColumn(IsNullable = false, DefaultValue = "0")] - public long TenantId { get; set; } - - [Navigate(NavigateType.OneToOne, nameof(TenantId))] - public SysTenant Tenant { get; set; } - - [SugarColumn(IsIgnore = true)] - public List RoleNames { get; set; } - - [SugarColumn(IsIgnore = true)] - public List Dids { get; set; } - - [SugarColumn(IsIgnore = true)] - public string DepartmentName { get; set; } -} diff --git a/Tiobon.Core.Model/ViewModels/RootTKey/SysUserInfoDtoRoot.cs b/Tiobon.Core.Model/ViewModels/RootTKey/SysUserInfoDtoRoot.cs deleted file mode 100644 index 48a5c14c..00000000 --- a/Tiobon.Core.Model/ViewModels/RootTKey/SysUserInfoDtoRoot.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Tiobon.Core.Model.ViewModels -{ - public class SysUserInfoDtoRoot where Tkey : IEquatable - { - public Tkey uID { get; set; } - - public List RIDs { get; set; } - - } -} diff --git a/Tiobon.Core.Model/ViewModels/SysUserInfoDto.cs b/Tiobon.Core.Model/ViewModels/SysUserInfoDto.cs deleted file mode 100644 index e740c3ff..00000000 --- a/Tiobon.Core.Model/ViewModels/SysUserInfoDto.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace Tiobon.Core.Model.ViewModels; - -public class SysUserInfoDto : SysUserInfoDtoRoot -{ - public string uLoginName { get; set; } - public string uLoginPWD { get; set; } - public string uRealName { get; set; } - public int uStatus { get; set; } - public long DepartmentId { get; set; } - public string uRemark { get; set; } - public System.DateTime uCreateTime { get; set; } = DateTime.Now; - public System.DateTime uUpdateTime { get; set; } = DateTime.Now; - public DateTime uLastErrTime { get; set; } = DateTime.Now; - public int uErrorCount { get; set; } - public string name { get; set; } - public int sex { get; set; } = 0; - public int age { get; set; } - public DateTime birth { get; set; } = DateTime.Now; - public string addr { get; set; } - public bool tdIsDelete { get; set; } - public List RoleNames { get; set; } - public List Dids { get; set; } - public string DepartmentName { get; set; } -} diff --git a/Tiobon.Core.Services/TenantService.cs b/Tiobon.Core.Services/TenantService.cs index 3c9783db..007a20d0 100644 --- a/Tiobon.Core.Services/TenantService.cs +++ b/Tiobon.Core.Services/TenantService.cs @@ -1,6 +1,5 @@ -using Tiobon.Core.Common.DB; -using Tiobon.Core.Common.Seed; -using Tiobon.Core.Repository.UnitOfWorks; +using Tiobon.Core.Repository.UnitOfWorks; +using Tiobon.Core.Seed; namespace Tiobon.Core.Services; diff --git a/Tiobon.Core.Tests/Common_Test/DynamicLambdaTest.cs b/Tiobon.Core.Tests/Common_Test/DynamicLambdaTest.cs index 43c003a1..a4b50b3f 100644 --- a/Tiobon.Core.Tests/Common_Test/DynamicLambdaTest.cs +++ b/Tiobon.Core.Tests/Common_Test/DynamicLambdaTest.cs @@ -2,6 +2,7 @@ using SqlSugar; using Tiobon.Core.Helper; using Tiobon.Core.IRepository.Base; +using Tiobon.Core.Model; using Tiobon.Core.Model.Models; using Xunit; using Xunit.Abstractions; diff --git a/Tiobon.Core.Tests/DependencyInjection/DI_Test.cs b/Tiobon.Core.Tests/DependencyInjection/DI_Test.cs index a0b3a2e8..89848c06 100644 --- a/Tiobon.Core.Tests/DependencyInjection/DI_Test.cs +++ b/Tiobon.Core.Tests/DependencyInjection/DI_Test.cs @@ -12,7 +12,7 @@ using System.Security.Claims; using System.Text; using Tiobon.Core.AuthHelper; using Tiobon.Core.AppConfig; -using Tiobon.Core.Common.Seed; +using Tiobon.Core.Seed; using Tiobon.Core.DB; using Tiobon.Core.Extensions; using Tiobon.Core.IRepository.Base; diff --git a/Tiobon.Core/Tiobon.Core.Model.xml b/Tiobon.Core/Tiobon.Core.Model.xml index df038433..2cd41bdf 100644 --- a/Tiobon.Core/Tiobon.Core.Model.xml +++ b/Tiobon.Core/Tiobon.Core.Model.xml @@ -39070,133 +39070,6 @@ 修改时间
- - - 用户信息表 - - - - - 登录账号 - - - - - 登录密码 - - - - - 真实姓名 - - - - - 状态 - - - - - 部门 - - - - - 备注 - - - - - 创建时间 - - - - - 更新时间 - - - - - 关键业务修改时间 - - - - - 最后异常时间 - - - - - 错误次数 - - - - - 登录账号 - - - - - 租户Id - - - - - 业务数据
- 多租户 (Id 隔离) -
-
- - - 无需手动赋值 - - - - - 名称 - - - - - 金额 - - - - - 多租户-多表方案 业务表 子表
-
-
- - - 多租户-多表方案 业务表
-
-
- - - 名称 - - - - - 金额 - - - - - 多租户-多库方案 业务表
- 公共库无需标记[MultiTenant]特性 -
-
- - - 名称 - - - - - 金额 - - 用户跟角色关联表 @@ -42761,17 +42634,6 @@ api ID - - - 用户信息表 - - - - - Id - 泛型主键Tkey - - 用户跟角色关联表