From 561df2495367804006c3bcf9c7a56d7e14acd989 Mon Sep 17 00:00:00 2001 From: JISAUAY Date: Mon, 24 Nov 2025 13:08:22 -0600 Subject: [PATCH] perlin noise generation and height maps --- .attachments/perlin-noise.png | Bin 0 -> 114536 bytes CMakeLists.txt | 2 + README.md | 6 +++ shaders/cube_frag.glsl | 2 + src/Chunk.cpp | 17 +++---- src/Chunk.h | 5 +- src/Perlin.h | 87 ++++++++++++++++++++++++++++++++++ src/World.cpp | 52 +++++++++++++------- src/World.h | 4 ++ src/main.cpp | 10 ++-- 10 files changed, 151 insertions(+), 34 deletions(-) create mode 100644 .attachments/perlin-noise.png create mode 100644 src/Perlin.h diff --git a/.attachments/perlin-noise.png b/.attachments/perlin-noise.png new file mode 100644 index 0000000000000000000000000000000000000000..0ff27cd66b2d96c5d1606f8e44ad225aa32d51f2 GIT binary patch literal 114536 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∈uG@@m$@pW5zwlL{3Gh9(|M0jk`@@!%xz&S#hHK=QD zi1u{{Bra8ONH?@F@5U?3k>HliiY~3$$UwDg4GezKMY|+8ihw*Rx>P@|_%yoM$hg5w z!q!K{u4NV!D5#b(li1lJSZ>A8+TbMccs1RahUxCa9`l*$2@^A;Mn|d;P;&Cd_ousyx-%dlYd2F ziRg)pbs$~h#*-S=g^shf3NJFdXi;^5aC#!^Gb^}V4sGHyx9&1QBUFhYWGcb8Dm_=J zS=yB2PqgKIOm%;}%8YY-DZTeDX2d6Kt=BR9B5pvLMEj-IlgeT-bZD=RQ#*#rUxckb zeKEO{jx{6)7z;;c z0&$5{uTy_l(coqKzq6Rfr^jO7fS~Bc9qV=W8$ISQS-JHU&XsqPv zAtB!bJ^2LX-!QM*xDu2=XZC~H^jCRuyQaR!9iPOQ& z)RTA=0j-Rh{YmmwX7nM(%QB^p`|(wX2VuN=vnA#^P(9}} z4RLNbwmzjc`|)n0C1O)%y@Np-xI(Ab(yxUA3S&K@6{J1AoEA6fQeU<7PVIHHRv()(<6ifD4xa5ksvP@4Z^gR*xvlD&d-;onb}jc@5sh8Y0!!)ZifF{ zOI+n$j$GKcB_OOmpWnhrpk8maG> zk@AzzTn+Ac-vm6ZV*5MNKj@q(_cO>b<-hPHw9h9{Qgo!t&!AW1;p@kB#!B-rDrZ(~ z2COWKHZzl`)~;bWEp;ut=S|3@cSxgtf~-Um7d^HE)?Y?>DPrjv@io&-p-)2S6{=PX ziArHiS=q3J^*dp-4cifu8&&y6zm(HSik0@rVFp!JrT;oLQ|>R@hP9jbD!s1?A_r{$ za~hBexgT}8z)T`wB3~eDW>NJ0(MwVQ?}kSZ87PNi>CME=E-Iiou+2wVtQO-rFH(y@iVYU11GjAHcd)N8*u)6!E8@IHkQ&!o}^|w-M2%{;3SaUiTwc zY#SyFBGa+mg1e}`xL`jrJk|{YVAN+}a7SH{0@RNo5T#)eOa!IlU5ZP8_~*{MO)3hj zyua86am0u&kX#o2#ZzkuZE0PFTj3CMx!0b54AWt{I6m*FE=We=(-#IucxQ1`VUvdSm(IS9hV%tykcY?CVkgI! z(ykTPt*}*I#!JAd>A2C6msMi-#}r%#Je{h^C;{&Y`$3%bUWU4jjDb7DsL9{P&|kr0 z;*BSgsK>wNwA#zL4!kz3V;hgVQ~Cx3>S4P3Wbg0}3;~_c)f25@d#!=TU+gf!>_uN7 z!G~H)MNa;8*H(R(H>uZ?2e}m4F55 zS$iDP8Df=LbW|Hl2~iXm5!9FD9+w@kPcrEM-LV-sOME?8#vU~YBFRUvX`cyVHpjx% zzrBVyDq}RsEqhISV(me8hd2^(UV`gWNvUJPp6bo|vxok;ADL1IQm=XOor18G>B^m} zgw{r$YjvE3FW#P68$#-}&QztLSJ#|{@~1l|yV`k*&16kJC{D4_t{Dx+s>IL4Rb}{# zM2I%emJP3uwb!W38_$k+#FW*VhraJEah~`Ya5@e3WWGFJ2`^sKsfs<1GHaVH+Zfxs zvbH(tf*q=5cUPw5vXxI_pxgS+DF}m=ned+W^L6E(!!i}KZiXWe2qs~iuV3huJFcYH zEqRc@IOqm(H21l?u)ROYnDaofpAycl=QiWaml&z_C-}RweGtmNi+IZW;@U2fpyM3U zn36cjz}+(_nun>|<+3NGFwZ;gNbr8b4mP1kbKW8`w(ad&Fv3rTpy+SmnU=H5#|pf- z(vld#TjBa>g9Yq>+W=%J$fLTyJAyTV-qL>6_CQ z(lF&iC(1wA#Nb0AHZjT%vH@4f4dP}(X^Digdt)L6oUdE9=IFmlws3It`JsHdn4wc= zc75^TNN0!Ynsz_FNErE%UT`bcz$qTHfEEciHZgFVishI^Fpd2ezJN+hkO(wfAFf)# z_q|vCh+Fj#lplfj*WM^RhS+|X(M_V|3(Qy(pf7Ne9h+=XNX+MMWClPj_0H`n^SsMc zamCbRdhtPJCr`M($W#@vYP+KMHGVFTPB^+t*X=Vu#?L=Fc+3r^l4oTBcLBWGJ|gC? zwLO0T0^H>j`R82#TYdZq&y#LFJ?gahoFLQ1;@}|;z;3f;4C=~>PL~e%!6V9=AjO13 z%k864CH+E?ED0j_x(wCD0v9W~)&7T4tO3UcIVHQjJN9(h>#X@81V< z_DCuUcJk->^-`p|o@z9PT;HV<0aDXFET6P%F)16R`IXr6YzU}n_5O{0bMT0v3m|jAj}Ub z@883r^Sp`U44g$u-feU3{T7U9;GIT_D?rkSo%4WFCbGJVxV{a3+8nF78n)99UoTm% zcU!&m_(C1TU1kt9CbyO?t6D%LB8)ZuJ*^J9>8N7KBg5~=U2=G%)QX7zZbnU9lL}b1 zWnSk35Vb&I8$~e2ukpaS{W7KfTUh<^_CUH130Bl6?Hh5LssL)XQvihCWLh6K*(sGU z$&g}uckhl(Dc^gw*4KI!H+B6Y!u_N9HB97odXbPQema7Gi7rpMnXq!f@dz-?3HApy z63UUE2~?s7HiE!=85-@!Vxd(K)ujh$i7eq&2R}@0)7C$;S{ADi&4St1w1$&4sn^$? z8%gRWkgt%Xh!jeei2)H?@h$ukBvoHCTwF%|6jU>tZ*+Y^Ekz~He!|{L>z-07_eAeN=Nr8elH+F7+WQH|L;ew8ag=O91AbL{x*ef>|xZnw0wrDp29 zS0BP!_a9dlb{l!>R4ZOv!$X9aIaC6BD0fw~9B-t-^H zp?ItsoFL3xCp>I~8$mUd&+t^~vBCVWxd_e4-;m z*Q-&s+3{J8cQ;DyR&_xuvba7WVDIGqR5^Ot4!HlCbZFTp#O3K{?!w;99FHcs z7^a}vo*_10?-Q++tWXIu5^~MYEOQc~P`!!yN4F&VYp}*{gur)Hq2SszyvBT#nOY4Y zH<_ye)@Wy5Ek!L(@qK(|Fhi{gA!gUgb`|!folS6xyl5|#vLy|Ff@l6ogu#g>H+f)R zRK~`j*+9#!1(T93W+_Nz4QLm5cC3$1b7@FTkI6W{-^k$`+Fm=g1Vurt&pPEI{EseW zTgvo&NKi^Q9EuO@oi3-ec%1EHq(`hYn6XyYs+Yf709vB3U4glO==_R0x}EQYrm4$X zMG7vuR}=aEt}kw;dN`cbwusB5f9R^Wv(Nkij~iF~vG@liD6CNv)h@Terw@sCcakDm zKE<-9mgoD~E zL%o3VsGS_GMS^!__H18h8kf4?dA?%i)x_nVK_X?n>CkX6Z8Bq~R!xH9zG(A9xyaJo zX)i+?<{zD$6KYTgXXN9t^|~X(BdD^&AU*ynyQ>VJOisg_483Dq1qtc`;P_N(m z-R;<17`VtZ>~4y}rPvo8=LBI67+)4csDJa<3O_HY@-->?b-xwuwuR(+0+k=ZeGfx# zXD*v6->H`gYIFR(V7K*03RE~@32QQ!6~ANXMUh2)`537LnK=e0MY;-W_8qQX701^C z)UjR-d^%kzETgachl6sXrAf8*xMT^acmmE6nu4^q#UN8m?HYWgII@EV^Y zgG`!56DZ?nAnc{LOaRxH{uJeQdvTbsbBLXh!l-zXj-sr6Fq6|erc@q(S@OjC%~j!2 z?*Ul+IAg<2M~M1J{?Tt61_h|NQcE|fP4v-^sl2|LJ4GpfE}$#2Pg8-}1#-j7@?0h4>T+ zHWuAX3+$oaUfSgv^=faZsvWW_IgI6X6;55Y9Wvf_^>Sx9aGZeYhXy2&)&zVxqLk{X zfTj#wU2~7Gm|=)TX8edmXs>u-&1Ofki^;>pEop-f*@@QKY6I;XJart>4+bS?#PjF> zvx1N3*jV0IsePFa{mm4YKH%Vaa0{Do)|Be$OnJ^%Rx3M}v%~=kvoj~1{GEPa{txX& zPU-)CpB?;MGMb4!72&%j3d_zbe3eS1*_8Yd5&iw}$0(Lg#R1UVdxfhdCOqAWx;z|| z6io+TS$Oi0{Ia_DC&xEP<(5bQ-IdC$g)p%gZ=kA@IA9`f26|aBSOI#gQQP;`JLbCM z%ALJhajwq(dcZWgp`5N=2xeU_#QJUSq-L^|_|D0yAyBp11;gl`byvuWcvsV6=FK-D@_TK;wPy#8NWS#G#Z z2pRqdeQnwSRBJViHE;@ zflT8iwVPaSsQ>5Q%>yVwM0w`U?EpjSPVW0cOM0uO4=>7S;~hy2>0eW^qTwf)vtC8zS|e1;LQ#Hdh>Vf+s}OsX|&m-JGx;6-@t`lb+# zF`oXYxwxs}j$TybUw#C7EI*^9-5cLsO!soeSVvt1g8-o9P*QZ6L0L+Q=j!`yidL8( zYn0-zIE>@{!L6UW1a)(MgE!JEJFPd}RY0W4d?q!8{80i`^P+OmIcM24>6kQ+TS~m` z;jds)?cqIPd{&@Eb;P)b?lz9fESLq7=q&y)L!1`pn72X@<{|9LDR;YK_B$+~F_G$9 z=!#b)_e>+4|5z{rQgthVetY!0lA-+?GtUtC_oNGAWlo{EkDh<2Gp!K#yrY&YhD0s?+yqI-5AJ;Ake9c=Z4+h}^Z3Fre3 zmPVpmlbPL-hk-|K`B=Fo_E{hJVJ@GSRkfM2$6f%jsZAq4GqXk(sJkOgvI0zTLdn zgL75^m#bI?jVQBV;__|%B_-6IovuYQ*vFhj|(&C-FUNtS{B{I6QN({M!k@{I%Dj*g45>8w{q~g)G5w{A=hW_%vz67HX(VF5 z9T+vEcEK@nwNhRhH{eV?U-PTqDtlJpHK;@C`MKPZ>z^@jjiq-lftV;-;ItbCZNs;` zSy5kjoGJSd;uqQv%r8E2%ejgcTW2gf9?6Mg7)_Lr*dVA^(zsG1D44f0qP zM_rXzohE9z`l#9%azwe6C_5We%&fLbm8lb$8S{GyzIs^Sor0Dw6jw{27k>Oo%z6wz z9kkjp7;VBaRa``~2S9k=DOGgj)m=Cyda> zpp1(B8&}W|C_j3JWUU^e1+=~^yd|+teJ$4vIll_27WJbDY~*J<22E=7EW0hIMlzMo zZJ)XKG;##F=eyNyXJ+;K`O{_V_>%Jj)CAN`GcTYC^9YZBsZYz#G3N*wh;hb1D?PfRbrmo%mi(%sCjP{ zz{}<~b+}qC^$xGddwP@q(`NraTCCMgiBr#we}7oH zR!O$oT-Au_N#yyDIMHq^=M=JEpUyGWyBB&mL>5gFbi)M5g4y->V6px}cCwAS@aH0= z3jN*pDfW=aPzedX)WuF|74?C4;sarUf<3tM_8cj$cMvbmyDq}1a#!BS(h^+NM>g!O zD8WM#nzeUkO|SdFYbj!X_*4D^j1g|ELvkm3!Qw>zi);t_?v>@%6o_cIBa@!b#NzQ5 z6uZQ_IMSDUq-})Nx?tr&`_=Nv>ErT2LS6B4Q}&vNu-YUhmGH3 z)cnG_NxXGmS=pNY;Ery^OoGIxMc3tpo3l)3z*XOs2$|f8HNpk|BgRlP!Yzg^jG$IR zsxF8Va<}x7U91&n#nR%#w#G%ZIX#hJdQS&`sT;lYZpdOmx9sHT7*kKfgp2z77b_KI zzLdZt1EG!GMz17!W0rDdVeYwHd#rp1R?= zm49xk=RbYeoG(1k#!0ukC)G+5{lmAx2fm6Q_nQ7?CSn5Kz^J=@dquBr86eCks88oA z1*O8;GVo<)PAgHPupOQc7qwES39{>28i#23y8tZ|2Q zj$BC$B~|X|4>vbnXz;Y2Zv(K>2-|yx`y8guZbPyR6|Ycz?53ICXROiK&}{WQ{fQ=X zsMC13w9@aY?~|s~-?>*SYdPm5^{u2s!CUL5Cf29J(&V^*!0IL>kngJgz*RpCG0Mm$ zpkX=HLWmT%uS=Q-z&^sX&LZ3gkMsOnS{EVOf59l|asCz2W>s#-_fYZmkd#3b*u1%lJT9mkrx}?X1OxMcOTK+#RKt~{WIqEWD zLDA*9GXeOEWSfemqm6zTOt+YYIjbz+g|i~10--j!;597~lBGD7J-A*vP=mvAruT=q zQtl01QH2kjeCL)s{>~xN_nE8JZpmvfRan$+s_gg8LqZ9>^Cx2(*L*ICp z1qI)}Q**_m0JTMO`X;hlNV{IRBrFgln`lyLj&KZgl^V!ao2jlf3$AKq1;>tIg%$EE z&j;r?Y$pBIbcfw$h05gRAG!{E-5GosIQ&nUM3{jfpI?f6LQ9;J^!rdec$YTmO8b*q ziOL<9UmU+4YkGd0PvcE#NiF}ZBr?|ZkhXGMeM`KciB4c@J2m}UcF8A-|25lM?TReB zz_{5fq;Q(LFELEotyVrP&(0!gr&p@(1S?(Bl(GrjOnzD@Bzwqg9e6X*b@lGHBJnpZ z2knoC#?;DdG2^Ut%zxPmRqm<0@Gek~fMe5Uo(?PeNX9#X?h5HiY=#DOJ`mw=IYC+{ z?H)b(6BgH^-x~1z3Ae0e-=#?oJMXK|vq<(&)|nDctTHfsd9rKU;h(vMw8x22v{FTQ zl}UgkF;O#=di@3Y2Fd&#Wb0`3>Aw%3rx((^p5FQ|iiT+|BM33x*vgrJxoO+L3*U|8 z+VGQNiHc(YX%O&P63M;C!W&8HtS2|}b|rJ$M7>OND}~JKZ*&P5p)74vw-@z&vBNj6 z=$@@uYuc7;+!R=dE_MB3xzoQ89Hw$NtHW9VW z;GbP%pRF#4CBWmiCwcXv^x3t4x78fnOlnL^zgm5Hyj}f}6)el2a$DRnJu9E#6Knj# zK(zufniHhpV4A>B16D*&QKR4nI0aQrTW0(4qIgYxNw>-%jx2m&)m&j0kPMEc#Qq+4 zxH%nq`wR^}-LH8x7Qjm!os{hoR|~n6uTffn6Ez_|$oUqBM<&nxakVjebpH*KHYjnl zikE4c1D?1qVmP1Bm+ne@x&=*@2D~VFQTy!4R694&J4j(-%}Js(IP~ZkEmAJpNmOF% z4vu?7L*gW18u)J9FCQ_RxO3jP;-c)FS#5H~YcChqGs9(k7Z-QnrdjypjRgcPWQTs> zLQ=>DtWS9v4Oy{dm;DCjJuEUBvvdFQ@gC;zHtC4vzCW40zv{8wr9$m-{xGdAXz*h` z$h)@b-8BRITsZ9thi2{FSJlte&L$6aTuzvv##<0G!`C#S~;rQh@<6h$?T z;Q`c?Yiz&wJ+gN*0wY7elrzK$1qfJDJ$f-?0Kl^rhmS`63+>;>r`YQBKbi+AQg(hs z9=zR^$oUfb#xK(Y}gob|Qjc@j19HDMCz_;RB zUlmB5xOH3}d+UQDsU*n7&#dJ~r@t<4Uo#V_ckFii6xKQVF{`C5@n{v_=(pEmBGfD} zxY&Dut1S7g+OT%F?Yhjh(>(RwwKF-BqZt7sMg5~#Z?5nU2ozHh<8m0_CZ5)s|Vt!c>^gDw5|g+N&>)X4&Byk8XJCTlRl> zRI4MLWmbV(3I;NR|I?X4-;g-s9Y~;+2A&zs2PxnW(yRnwP1*ROFr8pz<+iTQtSC?S zh`J{u$p@e1<;-`D+K*Q}F|jjvl0=*no!lwd>cq0zKk3q(J6p9u2Sk9c$Paw|PomF`DBR#eaa%9>#|5^(TRH1eu?{5KI$4N2zjbMlHu_ze1Q$8F3P z`*n4GewPe<@}_HXni7q7@~z?^eia{l zC$rwx^VV>gJ*hv#bxjO4c>H#j?hkEl_nk_^{cF|D;3BS;lz3hkl_l#*huK{$aCz|$ zR;q=0xZse@Q|8S-&YWTc@{7W1dB^o)I{-t?yA|w`UJ{A-ZrBokz4N5`W}f#Wj=9gzslYIw^Bm< zQUqnqF1t&Rj&P?E8?+N2?>Gl2`NNSz>xpS-?YN#HcCv84-oXK1h^&?MtI7@PCy7M# z-VAZ880GO&aJU-LN>?-OyCLa#)QC%Gb9~FvNf%;1VJP<;z(a6<{ZMk}LDBlhbvo$E z%k%@YNVD8fJhsOy9n6$f+G{l0;quKrKlvc{3Q26lZ0_UD{@d{SY}m6ioNoFG z<)%`UOfZ5`GyGHIE!EWH9>Ye^%gx3gw zyOvJ?U#i1QDtWGV*ABzGM}uBwWm}#G^X>Zu*5!fW_Tb3_SDySZd{x2A%QrIFMYWSa zbIjJfx~rb>U}&&Lx)_i>MNx}k(%by7!r{r@&|G_CZ$$>M1``H`rw^Z?0?N0>7G58Z zwt+vBJF~71aBtq)^q~+T-n6St!ARB`=Ge@l9#tW=I`&3g1dwZ8=nI_1e|R@HBDJSx zd3tX_XyiIkK1Do*cOlgGi8Noc3N+`Y(1`}Jpvb8&AymPwku?mypM;9xc(rJ=Ecug7QS7_c*{J7u&9PfKG_-3%?)dK%a~NcH-e{C zUDsq0FkiX{OeuEfxIoxRwugAe^3 zXEVvn%dC}7FlPG1q~mz5IUZb|RB>Njgwz2{|2+{tW|gF3>;NuEh7m@B>E`Nd9n42E z#d8hpaK25~He04a?;YOdtl8C$RbNXnN6hPWUOjprdVg4roA-J++k$t@yJEwsQRMjP6EEf+rOCYMyYn+!Pf}4~ z3W^((>;?BeCrKK^nZ1BD9vHG{rhH+`S_@G3yW$B1MgY_939UL0z%)`ECgm=?1?wl3 zmGW~zP4K<~1Vi|I`W8C{fBqEMeLYRWP$_XM>)`E}Q?hsJuJf%_m@BfUP&6VxF0Uz~ z;>{xE)vEUY##4VRyO- z_+pX>RTa%Rrj=Sf{AF&sa8h9-3TP;EYrGR@7;tEOSSN@X@Frjd#Jstmj#cwuh>Ce+ z>yCMehYdar`0--Ip!G*{SbYqLc^y*(6Q^djGWQzEa4H!1gE?$i32z4JSpbY3&;v5m zbvhF>{sc4^+0!w%YYljJ1vqdcOh+Mm6bc3T32%y=&UcIEfMTiiEWZ$*Z=>JIc%_9I zdy=pbVQukd3BIx~o#th-le%k_uFAB`3=8>u$f>fQr|=7t;ithQ3}iO)^(w1!tW%zl z57`b^08@*KQpo`S=Rm+g0H+t<*x*%|w35FqPe@!IJgYcHe?5>j#T#5F zg+cLtr*`4&lL%VFC{)}^O`Z=mF+j{&2u;K5x^*8yfo-dCo3~ z>Yh6pSyf0Qg}@H~gtvqdKER%fR3r~XrLf{f$(B8{_*_06Qi&umTDj+B+yOfw0~X4{ zSjuA&d`(#Q-z(QeP3@NiZi9aTXwSiQ0I4NmclYip^X%T+Ihged2%R1esjMO^`j|0* zc<}gP)h^En^8jVH!kdT>VmH83NZ#Ka@c>7=6=!BH?=j_wCkzacz||FR1-S#E_ZPzW z>!NezeOUv3EX*F6iM-g1kV#%~M4D<>oU@;QVOS5biBGp_DXAp;c98b5(_^S#mZ}u zZKoxSO-7!Nt~h`EJ^ubNTdwEBWKfN67qkW9g?NJI>#H+&|5~rIzTVX=H7gvioxUe? zq}C<4{t}&E_~kdDC_&2cwE5%mqE#%*2*rYHkYrCcY6~%sn7K8$DdWfR!$|Pf8vX8|NkVvAH=LxA zqW)1hWmfu zfI^~ra|7>-F`_X;CSxJK<~!2SYA()kK_x_gi!k5S2#jRIaTVfBfZQd z7rSp~cJKLtGi@Qao@ns=(nkU>WPQBAeoilSUyNU1;k6RiAMsIsUM}iYR6K%1{$ zTgu}JyV_EO=YLg0cKn1L8JS<2;et55BH>{2D@?7{&rOyugmDG)5}3mta>QQ{5EhGT z3avT$b@cn7y*>Q1$Jd;!Q_nI(N5VQrdSt>L{x9ttf3=ee2_FYOAa4(+m+P_W&)2WD zu9!|7i#z1o&6xTnaZUc|D^OcJu4N+pJI)WmS_h`Jn?(0I{q+Zu3^3!LQ<1P%E?65* zulsZjyub3FbP>l;vFNMdN#cec`ihfBEDB8SIt;%aiOt3 zZ)aMFCHBae`W>F*FWe61Rt}=hgr?TbxUHiw+zny-gp4HQ_${h=Sn9Rj`d-&cQFOoBNxl5$@t#D0LlamZ58B9}~ zf;u*FnWj5<^6@P)Kmnxg)U|@kCKNZZitbyf(TSQ9as|Y?Wwe%JM z9lvO{!V|JNbNz8$OJ#MTT8)i^Z^Kvnx(P*5(zFS}2>1W`+-rV4?;6Y6$0XbBgCb^r zo3+eDTcJr^kH{B(ZIE2?T1LF9F}PN7YF?NydXtv1R&SiWLO~XgsVzXN zum(;8n3|KVsHqQu-$9qMJO5(h$`Cd$m4ahN2$sX&$K9_R=(hN`7@%vD1tv+htEuzFt1!Ri2`Xvd z9H#Z=jF&Jle%~15o~hnz=%MAc`oeke>BnR~KgN8X?rPaQRPHA3UWIMPv%>mcuQO{r zoA94dh7f|#-lyv$0Z#5C`h}-Ccbx^?;lVh(%1Z-w`x8}sVeOx2b-x4f75h4@2_#WA z)xa)dYII+BsUe1mKeU#HR05hKR!TcJ)wfFt)$g`ts z391|r5c^E& z$Dh+j>ytUHr>?iI!%P=%Oa`?8!mqCG@IqE%4Q73!i`0Tf#W`i_@IL=C)pNy^$y0j& zhT!YZ3Ueo?Z+UA>0AY0nvv{+fP2usox;AC39f?=ma8GVy4isE2@9Ht(9mDmQraw>d zc1Pm^}DufUPjSWa0fC=QFI&41Q~!Btr_lhlOJL z*5ugJk7l(5M#3Ov@JC=~FBuiH1YB}c_r?2!nZ*Y%HXMp@)(0+;w}(t;%HJ|3626e8 z%zD=FhccaJ2BZ>|_d*UXDnY56JFIM}gIV1d-#de1jr#HTPe1-OavkC{cpXo^0?acp zjud1M72Tu)tg^cTK(1jFAUtMT%qlW$L~q3 zPK9g3M9!FP35JY^@p4PSWg7KQdXMUCjDMa}N>C~`QgG1%4lTEnZ1d8!~n1?ufAI<&G3cE}TktztO^0E%|_#49vThi>~?~jlF z`50q-`@jF10wuQv_!S<`xqn`m=ew3i=96J1$&FhSUdGWHCrQi0iwy3RH^7{pYMvQB z3?8Ei2Tq?4#+xfoCyigh9Ezr3hS{>(Pr2Yh|&HOv0qR>==V5^4G2C(X{hI_+B^q z9b7)AD2hP%&x6tX&U8!+OfsLEHGNprkxVZq(VO`~$r{N#pJw5DlC^2#zlw8c(Q6yl zSz%xL8v^e}xaT|x8_`8&MtbBGSG`c;!2k)SQG`mtY7Ay@CrFw)2D9DudSK7O>kkKl zCvT9zJUqxmldSCR#x=G*{9Dh+WOsq@ZOCK*9hCM|oAFG8cW)!E@GHW*kDLE5;j99= zVuZO0xIQCHgl%xjDIS(pwRR*JP@LCLWt>?HAIXgY{7MM5uuz-pDw|ol&fLVx71kml zSq*9PI)L2dV@i-_e0S*x&k-L}g^CLqD9bnGGDADEck;Ou0%HPrf$TL}{DMgMEDDKD zJs25Y`DMDT8yo5ssSaYD6_#=N$nK>p_582b#?!0OICQsQ)Bpvcv#lB zMg;i;e!>IKu+sHgVYgFFFV7~A?V-6{smugs!NiZB|Dxh=P9ak8_LeDSq@K0rVO9|~ z=cb(EVN8AFlj@}%pTzpFKLc#NEXm9E$ejGqpS2=}BhnBnhamaLqFm*M80H$|B0D<)LBxRmkK z0HL@u9bjl#e!XyIxbYRxsHfbMc-3BOdc(@l2=74wA`w%`Cl}<6_`*Jrn;&+Gd<%!` zYFNEV@rWc^VS-KX)V+%HzKaj8bJ)b1&pHsELL=knZ8wwWcdHDT4QgBk@1gf>h2gC( z@HI@82<@^9@2^n(vhBBLKlP*vCtJZ2SR6oBln9fGw28eip9`kKk;N31nZJ1xd9o+# zWu!rHefH%81~8ry1bFqvoN^w;?vkwG!rjSE4`VondVVqs&(^Vua`MObf4*lu0RsAo zP3z6H zI6BJZ3oXR1B`e6Nw6DCuUToRcOV~y;k|zM{20nV3hI;lj_HU|kMQ9z`G?&=~(>33O zd|?wv5tDCMDm91Er?SI9{0DTI|Ni(tALD2tJhO^2~?vt1+}n;mZ0APqsG)_MuWU-(X&ly55vZ zW5HB7Y+s6o0SGs);un}&t$APZbhN8W4K3qPr_aG#OvZfI-QRQ_u7mM-{)x=u{Fb&P zXG%s8%%ttC8!hDM%di_1hayXWfA-rlOfm^y_pj*H;U| znWjvUeV1_OL+Pgl<|bS}T>m@;+5Vg}NbToz5W54$c_qhI;l6i4+v?rY((80aCV$8S zo$S9LFK3czvSE`!h81%9@KbYxD;NdgOc=b!Vr-1BRJKp4o%r>sW`0V8e1Me%eni+l$%wq8cpfM}RGMJ4J zxEue==y-$I0JODheg$Zbj)jMjeM;W5Zj2d&p?tFO_eKdjp!IietS5D~u;WedI^v?% z6q@C2e*5w5KXu2S4txRiUi7O4MnO2xJAD?I!aD!3P3%XwKaJO~Zi=@+zDbQ4CBJIz z8t#D}p!gbH(OA>FVk7DJR;&r!zELK!UMif%blna!s>ZOh)*ht?Vc@ldt2n>RMvvDs zt=nOYcvl{vzTT7|7?KTA8X!X=1JE{M66Q21c?y;39)q(O|i3P63d5Ysyi!Kw+4&Og;0n`xz+CpQV!={!&v{-JF=6@;ifn zS}JnwM2M&9%p-S9cV@Jk#$fh=+|~D(Mh!Ow&mA8>FmfZ-*w%J^n(~Blgz5We+G^fN zsyM7>fuq}Zo4IkO#3NgK;r4|OT1sZ}gls|%Z%AEMYm90NhHs*}{DR$>&YB5~e9=HW zp$qw23{M$cKM9Xa>*uF2j1jzPQ-KO2so#rsT=~!YlXcj1c2k0Z#9O~26YR>6&Dc_R z=Q_pJEZNd4;d)qnrb zfu9AM{%dkOoG45hh0V|J388A6ZHYFWIoxpi^c5eBX(}XbsbE5EO2})sKm4n-?ig4R z5B?y+l2<$hY>;$OpW zHODK+o8kfAf=tE~2w0vz2`l`%U8||yE%H2?!DGzu_fx zj3L%ExSBlxE%NM^^46YHWL7DPS?siy?8s~GF&@LFt{40>>W$H&04aI|T9ks-!tHmk1(mwG?rnWf%v@R%xP9~2T)h?D|`Ex+Rk?eBm|qFIx*IS$Gx&}bJjHm@+eIUIOcVvdDC02Yq&C7+ucEtpkEu<+x|ZvqH`t6yYn?{s=qH-Zgqj8UDuDr&mW0_8yuFRx7TE32 zLiW7fc>mb1IIk4PyMg@KWb3kL|7ypxnT_qUq{1R-{GP(z?9Ik4((k*v>(l6d_9GUH*5`n$FbwsLFPz)neEbx zQIQBQ+Ek8GWSVa+z)0+|*uAVojoJD3(*duBDZ@2}?yQBOrkoh0#Amr-< zPJE^EJF2BA^qj}!9bW|S6?ua^v*B(`y`n%GSNrX<4zqjLTI#Kux%lSzVJ&L9S>~$i zVvvT)QSP>;S>6|eW_-;t@ zgWe8+x4;~U0|>26I-PlBcR@?|bwzlMtDRvTH%Ndp@Y=Q%mtBwE{Lo8-FfAu7DKtJE z4Yp~1>#bDAx<+r?cPE3Fat9<%T$h+i{_V%Nf4=`SlK-kkSgB3|NIYgvdJ#_Nc;NWV z0M2;ikIc*;W)H(s46@g(@c4OU!m9(<6P$PxNJVmR7kT`=dje?;Khy?Ynw7F+2D z8lSnTcUmo&WUs~bMSHs%*^DfE}k}R>DCqnfZ!b9R?}rRGuW+RK+h|SL2Ef8_&7`%n%PV z6(4g~D_2H-4LvH7@-7#*lo!wMh+YkWDtEDKKLDqRB0@C&8wwP0FXb1C7raKiwqn9*-^iLJbw^o5pL%YyoE{noF3d>)Xf&@ zeyHk!Y&l`f_3Ba2*5Q+;5AzT`w2p zR(MFIAJ1vEZOIgMLO z8^2DHrZ9yYi~$!o)s=l})E~bue4zy^fs^Y7o`tXf8Aax5WWqCBXhyYpM{YJYjGf7v z_MvAGOcyBKZg{G(|V`5d`chQ7V>;eJ_@#op$d})yhWtJ5p6ZNFVk`+J93_T zBfY`=jqXjANt5DT^GjwJBlBY;!qe0|3KLgNa5xLcyJ40i)A$kVu^@!>@Y70}Z!DymaMw~gyfN9*X9l?yOasD$ zVdL4xtyqZ8bFFK@|0>QEU4S3Vk6B~ILGp2qQ@L9Q$#1^!g&VOlMU4nDRh1;)p_i6d z}n|M>{H4nFj7mXo0u^9kU1dLAk{}= zFm~`gBDr{0A!-psrg#8S)rKFrib^40=NngEzaznmN`mX&{u5k>Dd6d($O^n>_*f3e zTtee)yNHaa#Td}Oor#56mZs#Fp$U_1rCvvn{v7Oa|l*}(wp8hGaq z#j^}PCu3lYgJD^QzoXaaRmx1K*l%NopA?w1%?aPib)@O5-r1!h#IC(iJyYh>2~d12 zaML9BW$U-acG8RR80zU1_JG+}fS+PkY-akt_w;O{CY#K%$8TnjgTO(i!c*lB&3^Oa_ws0)TmZD$gTu;Tw zg6!&Ln~bP2tl*g~3OhH?co!;dcB*UQDI-}JfhL%WQyaY2-mu8?OU^c~Ajzi)*L)+j zgXvo@U<|pwt$tf71Ifc%(sE%?%bn0t}3 z&j?9ZWW^(FZ8FOo3TbdP8-AWTbZnnDOJ-N9*GRp>)0Bz`m3{b_ed8fttKPb_!h0tZwzRe8w^p`Ajo;wOfs9u`g4mRj@E0{ZL&p2lMI8AI*?zPO4W4 z3p^81Fyh>k!st@F0e-YS=Q6SBbnt%&hfu zQeW^Q_ZC>ZGNA?VSd;dPL59ZPsM84#LShKSn|VH%A2k==;4BT^)YrVfO%ZbJ;^6=p zj%&^)?+mgx1$_P)5teu1&W6KGgUsABTb)WI%1IU@!~mv>>Gzy!RRUE7Crx7SJ-yAC;a7QB<8SX3a`L!DOp(Z zF+C{U(ol}PPG7HlD*lRsb{E#2SyQfS2_Mq$0Pxu{HW@XIxx%4Dy8`ni=0k6cpwp3U za2@zEk`s3XX2wQN3A;sEN)R5Dl#2=x{l@*@w|Gj4FC9tMWbRtIi50Aw=K1pWmhmg>Hi#vt+cBK2cGsU$Z}JB zXv2aYKFmz(l8W#=_{vU>C++ZfV19lIOnp&TRUOM?hJ}((hnC{Q^oqjgo+E68>_Sbm zXCQEHe*YOYVVygcLbWy<>sryP0Hr*H8o;DqN@1Kta8 z9abkYp43U1In3MI-G8eur5F;_R?WVCqC@p+L(u;pPTCrC4pUD(U&j(_wS z5zq@&i@_X^M@~Bfjw4)q7wTk&%s>qqbuouA27&$X^K8Ok7ho9w`UsA^S*h#OC=Bt8 zB70AHR5E<)?I2x`pSLj-bACyrxKM~N!E04$83OW(0P_tYOU>oDU4+-SgrIg>57XmiZQdc&Bl zTL*gvJ&{z5O!RhYja0ulWhSCHYL~sE%7Q^A<2GoenNlBwJ1=6c%~)Hq3lE zRL@9wt;{fR*q$BUxM>FuBj1`X2#4a44JJi-FY;V)d`xKt13d6bD;Wvt0*_gL-h2GGP4UiRW13SE+kRC4xuyag@7$O|TM)wJ0b$!@j${!mn$ zA1EcfKqh5H%_NVL?3!@2!#cnE5vl&Y?)aYh7OU;Wg^-j(NJhfJz_%wW^q^Dj6LZ#f#j z4>uDJTL*`^?HzimTh8*v@b(S=ih<=c0kWH*%6}5FtXu0KW;EhaCk#t9X1+&vV zYn6~ZYqHJ8sGfEUJ_S;F{u#malbZ^9I3UGtWm4;D1Qp`drKgYuB&&G=<8o8sdFchC znhh&>bM9C+gqHv+Z1~0|1oYmUqG~UpOm2H48A3G;&R#1pY!DZ)1!Vh;*~J>F$+&p$ zcuH4qiOG_Af1l7}uN4fi=#<%BopJa%4AKdh<)dPhxQY(QJbXNp2_qp5UWYNR!7#a? z)lsi?6%j3K-vobf6~Zj%r$*A4@p$2>1lBqTe5ZCa1xzsbE1pRTxQj!6fn>AUE19Yo zy#m?+Xku3ua@8fD!dP*>{Z3-G7lNcL*AK6*Q#J>EV8Sh$0>k|e6N4E{MU7ppts$k% zGW$##?5Z#00XO0cV?SL8TT`uHs?g}cmGzKH3P$+Y9)(ot$Tl88nU#f!cJw|0AbVGp zhwuMy$6Y$|jjqYu_C}_<0-nDyxmSlNM23}_ln5I`Jy|_Gnhic2%TAgFBxJCuAlHy8 z27&Qm?YWulDZl0{@MN3hxtB84HP#sywX$=9KD!LU)T#TQ<5>5^$>jM zO`mr13||6eaQKmD!wb`CSa%Tb*vK5Erut#^4QBlQ@%^9g#mKTK%9s4w>e@=GGHTC83mA474hxw|*NfPm%A~$5=zn9~NIb3g$K$CnUy4nDb=+_^b$<+Fz`AH+Nce0%zHAJ9@?amxv{|qB1 z3Bx9*p2D^7+7=(*u6Tf47)oZE0y}+zO9x{Ilmei+054v>B6U@){+OEyuAZ5Jldih^ zf>aJVCFe2M4Tw9Q*=d-$d;Bd6-##y35E2d>_~JcFROmSSMx7`hnF6B<1xnC#Jq z=S4ExNS5Jt>OB_gD|39kC~NXm5Y`e6+CeY5ZLvbs|1P_*7Z7 zv+P!2wMf>Igctyrt19PwC6*@%Y!77ycO6U4ExwFEEW* ziiF??6vPm=GniE1x%}XDR%)(%=#v*&uL+HZMZU{jIGEfM&yEo78i_!;Whse_YBgT$ z3*^$OU7W7z&xCO9{IO;&FthmnYxJGe$=h-Lmh`JA&RZ+vb&5Buu`mgl_YMp{7>BRA zwuI>`Y$T3$UV;&>S%2C-bf|&rkmb?as4&M&wJ23B*J!nGyTCtE{3ZQ>zyIK~^sbk})Uc)j=I1-SuZ}|b zPxd>wGMnm$+smWr%e#KFjdx3<&j11;7B=Xl_f$@KY@S-gzwZk(Fn6e&S(d zF(hB!lx`@Ck15WOay^Z~=UCw(o^=o(*Xoa0V^?A>(B{HO~cTMNHsi zDZ1%R4@U|_EmR?S^yUWc+`zM~m3Qw)vc)|K`EA9_25g`yYzd`uH@aS^;T$nv5Z1w| z$8iU|bloIEUG3xhQY<@+>k;J!L;6A4uZJDx1FlqEm{!Ld&(e=;R@_xWL0X1M3(O9# zV45}o9SvEEESd4EVDf}etJyXvOFK;#KBUxs<@5yNKvioTp znav+uQe8h6T$o14#9Ke9^w&bz9_tne=WaFa^;L_|Bt(K?zOA>svlCi6rW9S&niN@3 zl68QT5h1WFmD4W$BsFOoMg+l=AyDS3i1Wg^sByzyHvHN*YR1Ym+}-TB*LR*Y2V=`M#vCGasrsSN65~Wki`41u8TW5*5w6+~b>9NlWs| zzOB{{YtU@gltLp#OHxr=hA+OY|<;+%T(v_7yn z#v3fZ%D)Wiw@9!PN;X1Nr1qg1yqc|8Sh1;FTfMyga3+TjEb6dm!a%4kyoy13e<3tT z8h=Q|BgHtf`2==IYo;BuT(m1Dliz7ucv51nQ6N3{%3dv!#5#CHJ6UY|%~K2O2AREM z!x4Zu*I_#XFukmf$m6??5o*gil5Ebs>%$ZZkXob>#=;t8?@=}q0~{W|Eu=wyn0b-I z8ZL`&VW^W?ug;JPS85^C^a}9Z#N|C(Im5!fZXK@t6%i^traFfVw~^Td5~RrG1;gi( zJTZ%k&IPu#u{8k5df~5<<}@5%5pd)wz)0#o_Qt?OxO!QOmAr=2~wa%6VlQ z3c*M=lEe5|e)rGM{Yi1wDx=pbq>O~$;_-ZVzcz|5hin80H(eoBtbvX?JMkArV-NW> z)Ok#$b`=Rd4u))jT0myVIt(=7)7%sd<$E5_lq|}$h&bW4ki5iGte9D2SxdV4 zB%V2BIUg9$WCa*G4JKXlYu8R8D@?QlwC?L=1OtHCD@*#dh4p-OfmiqI zJ=`tZix18m=J^Hjc(0WZKU0W2N6e$?J-%RR^%4Xu@Wg;0a~;VSaQtYd`lHa1_eq^b zl7xqR2Qiq(i*E)=Vo8oPC#HP8C-Tn|69B(V0m6wFJq{ubKqM)?O4^hyq%PxXp%_MJ ze8AGt9!%wyg%9Ph;^al7#cv(Yn5@wY-( zmC@|13DET(v}4n?Y!_=nUkBVBbJT+Mt;!~0inlS}G6V3$7g9@G4{OsorWB$ua)I`d z8q*H$l0~Qy0LgL?=@+ioo9jhOiYzItI@%zf9-d&Onrfc7GZnxL37aCBVyg2A$5+yx zta6wQ$^nqJCSn5=4Y4*BDv~;D_}Kq`J-5AHqh|>;l%y1rpNxid>6# zl;8=T274prr!B03j1CpTJ8tHRVN*Vc^8oF z5wH<$VzyNbW5^=Afq(q@<4?I>fMH%hV4IHZQ3Z{ZdJ|fjrIvdbTDx~ApMR9U1NNn> z#%2UY&e*Ros<9MFu(Zmf+jt#9-H>dDghvN-0>uU!AbYYNyVcr*P?TYU*$q>c;+X(Q z7}E~P#qlnM4ZLaG9ESTDQUD^0OvtIc6ECVQn+iy{u3|C4Dq$Gpv_JAy)nJBgW~}Vx zV}nRd`W>q9M8*l)-8TTC#W@zR&T~d6c!lQb<+8QA^|OVWoPU3fgz?kMI9{2Va}+vnO$lz$3v~ z>T>}6i}g!FD79aBp{0||x;uOX2RhGi8%c7bF=_I1(tZmUG28xIPJczJkM-W>RDmrLbQ^TjIydT%9n@ZOy0YX9KI@kQ<;qcf(JBtVn;sGhSDtyJrH<~<6 zGMCnGy-)bJ2ETMEflp3dUY-*qE%1Pn@pv}*;-i_xUu8u!o^FL3D-dbMqc>N}ZH(}+ z_~|K+T1iZ$eU{ab$aYDo%&&N7rpP_xY8%r1761Ss07*naR8X4>!uuxu-#&YT34xE; ztgGO|6!pa+^#b3f%2x9$<=d9Vqi@;FKfeF-UG9_lDQ{ehU|55Wp;3wW!f%N7#_2hz zaGPi|n?ATc&QFT+Y*GnpBYVzq;%C^E=(D>Nn{ zG|UwM{RmI=bUky}AacW-!fzuJd7~bI{d(*?)krg&#^>8)L=bL5vw{wiRda;k!CF!` z3skdp2fW&~k6=_Rn~}GKH1f*My0PJ~b)=b%xMv>z5ql|A+$;Xoz}G~$%OLWiJQo75 zEhNv^Ry?PPveVUjD4UX&_rYv9uiw7@fZ4lQ5BbO|4Fc%2@zZ8nxDEh| z#a(51b7dK{D;dZFXwD*cbyIlc6teha^^{7fFVf(3K$dUIj4r%NGC4P`0RSFI&Mj8{ zV%lqjXH#x2T;MKgEOiMVL8VACl)H|u?d2PUqN$XH z7PKkOyZI;vvzzxu_=PXDqoOVej$Sy>d5*$^EmO}d&&~$9Y2P#jVOYr%cCZZimVhKu z``U&SJoYpE+d<}=Mks-zL@Fkg>S5A2hTI6E5XcL>EVP#MV5eU0Zpj}f+8T^>E*@(G;WyYHYz6%WX(MT|kS0cN~RUzx8e zUyd-x03z&)P;jivl&LaE4klMEc)=F5@W43=?~$zQ)$3$vigYb-X)>NHOKcSWn7}{` zJkEDpvM;dC;@Nm7j9Uu3fmH!2!eJKm9HO=Z_e8f>u%mgXHLqdYQG zaH@oBG<$ELZ>}GPk1X>c$(@*x_)Q~keGxdqFuc`5?~BaSQK3j;2&Fs4VT$BA_3#yY zkk#XLK$bT18KNbB@ydj?i1fZbUUCuBK)%lFhmDaGmA>_Ax8!rO$r1s{L4c6Vk{I-#4E+-r4H34zPg&M)oUz0 zkJ+sVPn@573+o0V$nXzq8a963)#=c&k+nXUGKx9z`Z+0ZH0Jhja?c##eUhR&WGyAT zRxQ&o%?qbwZ<%~{smqvR5#}&30L)62?l2Nyr#J0!v?TBooP91CFFVlQcihm)4~jjRSuZt(syScu0c$WFu@$v;@~ChTZSNngiKA7}!67*p_neE;V= zGi?WirrKjOU)Y3tRr)%w6`wJU&39rQ(1_wY-SQO}$u~~qac^ql83k%M%aI=#l7*Aa za0TJ6n(P@9Af5s;tjKHc50{AS`G&ax)Wg+6J5mbNdG8fb!<<64`XPB;PmRfNStn%* zvT#hM$cQbc)F0q+vVd11I|U+wcNX|Q-UzQ9H3tmoJtg1Pa90^4*kFD0`BxGjeHd6M z!kPhu3v7Ju!$S#cPBuazNDN#z$de6=zoxMCayc&~3@u6cw*~`~oNz0$?o7WE%v+hN za@Q&3=S(oykoHY9=K_FNk0C!@$XYgAjCx*a!7$d$B=kNU&dthR?G)iO!w!exxx2wI zRRPS}nHNxqWUt~}ulr9R#J>zu#ZH?`TDuDev_A%edg&h80nphw;Y+=q`GtlWcxi`;q}kh%Q_v*3S}=% zV!$udf!nmY@b-3x_X(afCJ#2xh!4OV>}3K|t{I^aYe}1m?W%-czwJ^OCy%(gX8ZPO zm&`|jvEbDcZ!lwj3aL^nQq#?yBsmpGZ(;4;Fq~c z*{}SJ4euJEkVEKHugeW!Ak)4)7bLZG!pM9O&rBhST?K^0Yq{lCC%lD`%?b z7f1kp+4#<-x>+-rd$FVWe;^vwmaxQl{Dx7WvdF$1jM~DpMqp$-HMMy4kZCg4@uAt2 zu*L1Y*+koQG;^eki-#b4eQ4KaL1$;4QHl%v`zo#04F*G#{|@0$Qj zv4oIJ%NX)Ow`54=X$xy_cz?T6)C+?gbA5(-L()XU)xxx^hG>u0kUuzY%Is z%4ua}s*l1(+EKg(p&YY9BdpBhx~WC!1)0e!L(MkWtIe@o|BvPO1mRV!lnyf(@Zq|I zP>wNYjh|P#{x}7>J3UD0XI~iLG*cX`9)Jl@Oyrh66t+MBg1CSoFMl1jUWC*Zt@n!wf3htn%02{QNoq zyY5Y3a52F_tnWS

_df(v{*u6?6$G>jebgk}=>LA$J@+@B`G+&X~S7VF#ybp#g%s z3YaqG?NzVf$i&0XHHlEj*@P3UClapScy36{&fLDnOyJ2UIUT_GKL<{RydZ8A3qCJQ z-q0@02^H#aJ8{zEjTw6Ykw9+0Mz-)gV!zp}OHr=IH?on~X{>P?+zaw9csUGcXqMJ^ zA9{1W09HFE`#|6bfK&%6y~k?#Fh~*S`W1P#`Q@MNYCKh9QzYh%6I8I4NUlG66=UnI zB+E5l+v|}CdAo|OVYypXCv&Ft0Y(#Rre$ z1p5;{(9^JWddm@n8t7`7dD*=W$(scnO?JX2e}cSSpm=(FX!_y<2p?Gt&5>6O!9*>j zD|nVGBfNb~B<2$-v%b2VH$@d%u6XpkuLz4ClQ3YUR;91#y7+?Y5P(tOf?q$@Y&_wt z>4Gp1rBEjsbSX>BlLWrS7E;jO`idixmSYQGn5#J7(iQ(QNQoETtQ10Gs@?6bJIv#} z$6lmf%EOD56HF5*TV6_DmEbimQg*qHxuU{ONRYD81Wb{=k@!OoBpco;YoY7~Xr)VjMdn2ZJzD*|^%5NonPNr96hgm^S&AN`6+d z7PKmDden^Yt>~~8=mpStpkzGE6x>jNWsZCixTSB(_Ih3CwXcn0JPN@x)BpJM$Df~9 z-FpbKa#*S}BoPV+7>A|Lace2L#r1R6n?=YWc*Rz(VoX<%wU!k_`8%@jHu0rKIJKg3 ziu-DBR`{(4Q%aB@dt9Yc?Em5KDYK#%NU5$!>zUTQavAwZOz^LBJ(zW+fWfcvY)ZUP zZ~?i|8yF}Qp!i$|qy&zNxK>#*-p?+}nzisUZY_hr_$ql|xh=FaoE4FY6h`>|Fsspk zL`^LRxbWgJ?GzO;l8x}>gsj*MFU`J^6XcqJC8zMn%%!zFPeluBB>Xe6NddvLyfCs< zS*F&WyWX~l48}Al#I~9xQGCDZ_p$f!9bA>`QZO0tzQA*TfDoP+th^XZ)Q{{gfv8?L z@Y?nNbKq|a`Psl94)uXFZT99Xpzogo!nRbFd_V;V1E}QE1VOv>Mr!f!-3xE3Q6^~A z8b}u=_ztb*K-XEOcSbK`dN!s@SqIB4f%jv(x}+hjFrnbW^wN`kb9=Mi2R!rxGUaL+ zCy6ODX`K(an;@jE*@ZJXRPkDPKS_i1-#i!Z7K|uK$YRI~nxXDvM#yIx80Pt6q$u+%emY4`NUF&UW8(B|W)a4a zs=emr-4vmQaR2#2$2-c-#bKnZWvMmJy;L@~G=QF|l*Ezp1yD?Bjlc1hQ>$3%bV_{a zy_JJb8~n~P!zSF`Rjm+C^NPv^49VNczCeJt_AkXbKxOMIqE9M-9nJYI7rwobOF6y0 z##I`4&>C&Z;qY5;{0l8yO;}*6hhLFOtwxZIR>(?w4|JV7mMzL|GH#nar^Bxvd$Ro^S{lA28{(^b}k@yY@d zMoa#HhMDi``6kMAnvxH|g`M)v{LxGUT-I>uE5a+V%pRK8FzY?cH%!0RZ^663Bygx^ zg2Eem^qi&;@-Fh4fUkI>k`mg$NG<*pJ7U<&aBihJ9iaGXFnuU9MF9VB^I8=%U5>x9 zEqwmq3zD@%4i1g1c6wX0&^rUUL2GBKT?9sMpeo4ri7j<(#dE}&L6CuUN|)l1Z7wR< zTHC)A=YJ8BzZ8nfPKx+uv8kPSehfPp`HkKye3}8z?^E`RYGB3nxaq`&{$XS`s;g%! zR=<6FOUf}`JiG{K{y6rhjm#tjMa&ei!U#RZ{0!2)t6Z>Zj|E*#LmM72vHT+i6n?HI0N_8NSOvvYhOM*xJb9wO4GK*&-VuqryAP z91SCuF_N)okh%LI!f44Gy^hhu+@j))-vUi>CIgrTgYg)J?UVV_r8sNj&FL=)-9*K87>{ZE+mCPLgR4P!(Ly;gHCKpVI0BNEc!NW_vd$&3 zqv@zKB8Kp%9*#;s3t|Yd>9)Si{>qB;K9#M-Nb2qR1&}Qh#YW|T6hema{&VVq;RU7% zMRo#A$z#C87c>`|>wQuS@5MY~kIc!ZAhb;N>UU;)ufA~KIJkE@G?i^F@GMM-$?0GU zQ+B#E7Y$54lY@tKe0Y{wB)us(AJ$6CSi`{88*Glp@;9BDSHnGJuq% z8qHuZaJjB;T8lv}g^Z?@TLUhts1<|WjulgyR9(XsR0jF5u2V?<1{Ng@1D~%0LQ24t z*%W*gOPp7kqoQ;U_0J*5LkM#P4jLOc^Ng=VN|AB zzLI!0d8B#-#+p_ic8H{tWwKn?!)WgxH7Zg$*|6qR6qWYEm2I_(UVa_Lx&7HFKAc%) zaQ*5ec5qqE`}wtx*5#)<8M3bNsVG0UjH${nJpF}w-$FVvp*7*;apMffO_9b>%@1W$ zX4t!d#XF{HoCbTQCJR86$+ntTm^r}jbCDfB3aP5X5H+BDG2_99;pbDFOhWQ)7?6J2 zyB*I|s8k*n!oYxOB-5V@GM^bw1t8BGk99JLUoP-!TrEs{Rf&*MIS0%E&jK##rm3-{ zff+gZR)(jr#*bITfFTv$cu*dBU!Ezl%!c)oxzT({m*e!HiAO1rOtJ;|&8l}Urm5oe zFrM9NODdRkqV_8BHnX!*l)LUaG-%pPQ9IHLgNl;Vq5^5p1Rn`FchhN|7FKu#u&D)8 zw}AWEH~1z!9LD3oQ}S~0bj8{0(mm$XvQ3rxn3`MX>oV#Wuj2HI!)w1$N;|{VWQr_L zsq=}DW%B(1ux#27PhY#9OqyjCw3K`%*zw}jknLC39AH!}d1;}<0AwI+`3h2StQ3Ls zZ^z&c7f3&=g$Y39V#bHFLaB%^HGqM50q~?{(`CFG_c{l!XKN3Mml)O<$b87ESK&U$ zAkUhiXSk_ma&J0Kb8bcSTmt~5mCQ!(8BLvISZ|r88mK>E2ToEoX2ZeJFm*3n*SG)u zPt@@g5TS4xy9kdrm>DK`2?6S7yBxMjG6;>gERcT`cspJ^J2V9Bnu!O$zX#Nbb&5c_ zE3UDr7s7kJ&f1htS5%(MtA(uJtZ|`g$qaDoieyxxYFQDVz$;Fs^c%%1{4B+pdB(hY z*ZXW}^^u>rSlJ?z)#iAFk?_5=8E{2-0wV=z8L~!V7VT-h=8szLO=C9o zlivAeNole5HJACZDDO;GkUMYgGntK^(-nL-6qd>gnD7|7k}3uGbMJugWnmr&3|#lX z^BT@IEnt3IC+CyjRFHB=Oxa8U$5U|^W<|E{;TtONMy0cpDYrHr+j)WKbt9R&LNEa2 zYt9?#LghI&jbtD6ir-$#E!*3*qSOuL$9vQ3AOpBlaW0lBhQFSv%i)yv*QgOUy7pqI zN0RDB?%jc|$B*IhbyF?l8EY?qR=KNX+SGcHzD)3P3I1yOmfSb~I#h01=y$*qPi>J2 zPgulZS30__g+*96n9ek@d|>8{4yn@G-mFX=j9|0MFJRm`_+>I%ubBeQk z!!@-f)$?TihJ(r1C|eG?%FqkXxjDxoDVEfBbUk~dfFh8Lt^l%FS%t^2~#@*xf7xP>EA;7dV-jktqZY}#mJ`4*%}pjN7gBP zXW~VU?c)JJ8)9x~7zSB$QZ2Wz8{}4J+b}_6nmz~Xy24X)K>9I}3yOpdOW(c zGv?GliA#|{U^4~qtY@b)Ar;-p@w`2T0~)=bamPR6>nC!@r>SF147;1$RD`Sjde5Rg zUfPS`Wni{1*xGU5B?9c05wed_QDiWiqfOYQICouUrj1NJv{^lZuV0O5>^izo%teg? z9`?8u0`umP?dmJ08fTGaS7_~lhT^N1CCa28fd{W+t^riK(0#RT0%o^$_BPGRM%%Iv z{K0tvR4jlgsb!w5w4tO$u5RDs&a)9-$K-pwR1c<=CT5Bd239b!9kM={#=V5cdZHJb z`4wrTczwcC4n<6GUVNLnj`#eUzOKOlp_3_7;MRcU;7;2#D65>S@yQ^#aaoCq@#}%f zhj53Pu9&YdW?)4z#T!A?C*weqKYIXbcw~-x9P*H*~LDJfFN)gS9bMFNf zS}Z*5jbc^m%Bp>qD>1Z$k-B@kRV^)y7vx}oHC{nrkh%gbx2bU=Z+tg|%V;J!?jGf1 zk~P+~hrbq}l?iWE_quuy)14P^=mqZ&8T|AFv@4ivJmx2p3qdg)RyG1( zp|vYa%U;ak6w}d~bz|9wDJQk!jM<1cYy#g0k#{GXU1u64;gzhsww_Hq1~?M<50k4Y zJ6-LJ3A0diH66W;UJ>E-WO@_Q3(qA+>&|O*-6J8DfPynN~5|o|e0}XbP+AD}IeIvc$c9 zYj_J;jbL9S=EN>kni;<5XL_yi^Pccc1tUd~2F*~5NRbTORGZdDv{?LJX4^ImJQI=+ zi07s)edB=&oT|EHd&xiOTOaXM+rxBvp3UsV0aJ?ADci3yVbnbinvS+;Vb_Vn&sC;m zg%T>>hj4qnn^IYCxE519%{ny~9twXcgolOe3=SrIs#fFSCwK`SLcioh^IOlKS`nYnzRSAwJ5Ky1v^=mmTfAEnhyT+DdAOlg zxatv;1$U9b}@i52mL>{3X?>c{6{+nyldw7++SzgAb zR%F`rTmUc3{-gwmdL1KQuCRor3Jb8a4}3m*BU{>Oo`f*&cm|%T^8(~%r%|xL#!XZT zezuQe(6s~M^$e#>2p{pVQ1mWM>tVCppd|*z)C)qV-@d(}qt#uC78Z*z^DUTVex4O} zgt@D!16qf`c2ZZ{^wpk+v*Mh(`9r!?r16v;+4V7oWMZFaQivN;rTV3`GLK?}wxt@jM z7G>`~5R9$^R^Ag%TrHTh>Hvj8t|5YV56mSR`3f_ZElqV7WWw`r4PW=p$X?;i6-qRD zE~^W<1p>ygFSAhr1=$OAT6p-NFikJ^2#ka(u$(hs_g3!%ZcFIMdp=TvR7xu4FKKA% z05rjIAN>}dd#2Sd(#R}?Cg^~0R;NS7*g(14p9A+hd;QS0Q$!;vawh_%l1_fNrIAzq?zJ zIu0Z>@BOYYUf>m(lL3GjHoa%^l@TWL0$<9Yhhnz#Psp)rRov}jtH4MYn36Jm7rA>3 zGYD6TH7o(CRmkrJu3gM>ghbkk3Y84Ynp{x@#Tln1AY{yR9>7kjL1HA}v7|kz1*BRI zY+S2#gWe5OC0xG}0QO<^5=QH_nwmHjMh@%%xz=2-C-Po{$JgJxO86SCA$gJTmdzE7 zC5!L?)8<&t)Lao0Dggg(;=PgyXV}MvQ#ABG-&Zhay_JM#pH5&lMHG9{!id_@o-ML> zfo~T*YNmu8tMk|}9;PUn6}~0m>*||Z@=;}De z&+EdMmp?&J+%%*W=Y6l8me2>(rDF=n4!=b^z0i8a_6?b^i55)uW%_tvR@NFx*2D8M zn^>>2t-C9t&KOdX4H&~eDtvDD?jHF-kUc+R7R)te6xj%#g}1#|a$<~wK4C|xKt9G?RcuO13<}<4UgR{pPV%<+1 zDwaXL3=BnHCP=SJn0I+qYz3#F%wnno#$>NXV=*DG?T4>8n<1rcvFUNL*0SW(Q@E9f z7v0s#Gl;6r70IXsFeIm4un4^a9NP{2h?vk~lZ7N~M@D6bQ%~^p$+!RgN1TeNi>lx~ zJ=5c7?GI;5`6=}P81Q!rEQidoBAA{9&z*qlhR3fwBgeE^(@0Kn-uKkuj9NMny$M5T-Qq{z=S3sej|9(S0-$?BrwtfBsRWsLyKns_0b4JUd|Te#v@nRW6tffssY z7ppIFd@&dg{6m~wPK#5`-~_^+*AV~!AOJ~3K~$d4XkD#25xwkXU5p0MuTrO>R`a-@XURL7gz z?a(qQZ8IUsTg|u4X1C*Q2#zXL$+0?2o&uI@akOTHz!4shTG2ED_tlm(gF z-0He;nJQw8$F636a>`tUeNkyhttDk-GAIWlTO-lPY02rbU%_kzMfr$)_v;WY&JM+S zY+m4GIa^rTqr$#S0CpF);oi6Pr~tYsvAOWBvgtwCw<*&o#X0MyrS+<}saYf1EYHXr zH%h2i$o#T?9IN*Uw`>vCGFp%l3+ig75LNh)^WX)nUTA*FPR8uL*lLJjJM_q+newK9`6R5Kp% zE#qZ9KJOf}Aa9oW`Dy`&cb;RX>PB|rIx=e~42&E}I;}Hv;B+_{%a}T#3IXpPvJGjy z<(cfrY_RAzJ8?pmtZwRRTfko>^8IZ@<)UeAV^=V|HQ^nZj5J0?0`m}oHgCG`3{tFq z;zjF^jQ5ts@>{ot6f4d}Mc|5-mcX-|vZHbI-Dna1Olv~xB71K!!q~5?qM-MvV+S>C z39_rLY8Qi2x41%BNlvD{$9Pyu&M@aTg5N_gNtk}vn-$XWN=s152Lb$*44YV4KH#?n zU-{xgkL5G0My+3wMFwZG*9mwQx}IGx5_}514=9%5gvwKt;YdC4ItFLdWJHT+{Ja%> z#|tLnQt$Oh8W`EfB_ zS9lkenJVFBi8Q$ ztg`0u%)>GtY0Bi}a&jK4Fs4V3P4UcjU;No8IAky8NQMBnt6QPjHKagsu2308UIO^hdzDCOSOY`U zr>7h#&M7J;vmb%#g#lb~ql)@M*i_@WE%B30%SqHj0-K}Bf{n~9Yl`nZ8pGQPt=aaf zL3j~T>BQ_Ipb@EA;TXQBN>viG>BZZ4xP*o(XZHHkBLUXd=U`nB< zVsq{~*woREAv_DLcC8kA)lwjGF~L;gS*@)J>}j~|k$5)8k~u=(n3`SzkZ8&Kf^Qif zEQB}w$0d~mvW|e8XW%8gl^{R8O$M1377c*jr)@I3=77c!Jn-CR@=mfN&y+^+vcOG# zg(R3}$InT~$C(YO1v1sYe!CB(5Yu=UvaYkHR^TdkAQ@7s5i`Cxw|Hb>Ej5GLB=fbb zg=a^*qe^)h%Wi-8zkaS*K8ZDF%qHml3E$UGX4~N%%Ifjkk8iHx%oK|vQ`CSTstN!{ zJYZ*s_ZEYVkYi&uN2o7eOUB#bjTdLN#HL-?tvo}rgHl&Njhh$R8 zFyP)`Chs7aHQ?!U^FS-1VqJ9t--j@zSa@^*u&n8QvW_>)ZwsGHIW=SU1VrzCd3%D( zf@z#z9rGCB68*90_~b*@Mf+E47`VQz1~s{gWUb7$Xm4MgtqD$n_o6OP33#_8gqN1$ z75v;HvdUmf@2R=Y+MEDxdhhmvE#eQla!ra|qz6n7NJi8JSso>yHQDIwSDXuPqb9BUj^%5K<*u5?i3ruh33NM2gi3$VQ%>O`5V7 z8?a!iJYWEMcQ$1XevcUGsw=U>Gc~E(CapOvBOZ@Dsm89B$xewBol`;~16)Qx<>%j> z;;k_wG}{|0JaRCTO+aK#v&`nm zDtw(KXP@l%_|e1?SACXjL8r(WbIL@>YYN~!%yhaQTyMc|IUq)$_Z(e!345%t zBN8~b%~0i9jj!ZdMtT+7uD02Wb1b1A=KQyG7AP z1_`IU6@bP}Wv5a0)EYqM`TpbkKi`=MJObT_3friJC-+M@h6(rTYenHZ+#>Sq!ju(+ z%M`+TR4iCKrl)K&l_JF*wGKSxjx;OhswTIA@}2$48+-uragaICa@^VKv`UJh3*iMd zDY*6$lkxBfZ?q?4Wus!Y2;VrYb77>ORH15h2^=H32+W35s;(T*s=)yZa$un;K7i}6 zbrxBf`K!GGY%Jc@uKmO@e?Z9_=OL&nDUD!QH*0ldHcrJtfh!mmvxc*Kq~x)#ML_B) zVV0AczJ5*;X6%uFhPwDw80X-wXVxZ(yZQ^>LaImT1%3j~bchw36*ac*orG|{TX!Bj z7A^1$rds2*VhH56{aEGddR@h)sK~&0gXW%JKde{C$zzwbl&`4{cuYyqIY;ZY8h)Yh zHjP!B8v`00YZkUItGk^s725CW@w9^2xJ%i1?kdei0@_Xo8M8nL)Asq8B1{)cXK@o(H@WK{rw59mg`q!-6ln3Z?O3}^Y~)j7B8gooQ>#y;W)!n z;Nu~SJaZ|uo$=O=|7=DzMJoi8joEa{3^oz!v)CZXHU<7EFj!_}i<)3QA2P>YO?eZ| z)XJ`TxpO1yff5vyI+K6yK(OVQ5N7{k6?{^sJq^R;h*vGxkRG zDz;c$-n5q9CGd_yWtr4=R_x>dp`#ai6lbz}7G22Va&IIuG!a3wuj$K`FtoRUiKh!& z73UT%xY}VT_!Z1GIdEHdc=w7dmJ+h(5{@VPw9o|u{$1hwhn7yGl4C1)QXVpZt~TC7 zOO?xpbOob*rwFJP5-Dq@geS%$6K&;OJoN!ET2D}rNud|m^obV|PsEEGwSH(Oo|glm zu2dJ1@!(NuI)+TI{io$elIc^?2f7_?(GT;@T9dWkHSUfFX2cOyS)$fG6 z6mX5b)E}CZ$Cl2z*cb4{bGPE``K=i72;0`R?AD!4eR<^r-jDU3w6UvQ4Nedh=b}=X z<-XZSvhi%f?$}c7`Dq)KC8I?Myjf7q>Z=IV((GXsuWA>BFmN3tMd9{yuPDwWiNwSd zH+9~ul$Q#$)-;?RN`7)Ap&bqQjjP8dx8)U~8MsI(&Z**`YP~dZZ8+s3blod20(I<6 zNUP2DSVMi&jK>tz!V7{`-B3gh2e08_zc^-$Q~+R@8AFjIFcA*t5WO*B0p#^ivThs} zmt}r}r=*(aO8w-SOqSfP9>WW3M(7RhZ5HYc6z?Uxr<>NkPb@niL1q=7UiEpCm_?Gq z1G;mn-Pj$>ge>p%AiU%Cr@y7`>QW(q;(SJXsW@6W(lNRD8o(y|jIz8+%v<~YF7C8O zvi;w2W(1L}DHFHr%R{Y(>-61w)#9S!eT`&m)zcXBzVVE;7aCI{iyiM}ofZf^7=Jn` z;aFD9vKwpW0DcnW{-FZ7=I|47lh2qULt?<6V<=;J$mV}nV=uVi6=(9|2)!0o<*s(H zaJDvDxb*@sCz87thGb6HfO7_v(@JF{{9geT9GU$OTv)M8Zccx2bW zTFaZlocKQPd~7SSH)0xQCP~T&UmLGB_bJYvQxftU$K#C3Y&y--24*^G5Ev&7;!C%$ ziIYX8t~htATB#aa4`7E}b)bdk-L(tQ_331LTfDgpX9FWQq2kMADTfv3HIiPNFPQrB zSe7Zs!Loka4qI{7$Xw&9_OZ#vrpUCWQJHq(qs4O8myE5VvtV4{c8$S5L|lG>dAa3o zkoQ|T3r$DnNAisXdF$(hrb~fpY0N65pLu2X$?FwqcvvSQNCSK%m{z7tWrOjgD{xa7 zG?>wL>~zz-RAQD+^%4zuKt11##ym26pZ7y}qkL8!a{ z?@Sr-&=Nlovv#;60}!TPAt%y4Z3`5uN&tKf6pR$j$^m5i2ou?drmN$?Z8F({f#3nD zDE0*!wEG*1%f+&gLc1?gaSj{dtPH)c8yYaN|EoA>*<`P7+XcCw*Sr*qZ?Vbw6jCyY zeTuVexm~8ry55aCb7fi=(y3=tBUL9AXR|ssou@CaUNBkeQV)82>dEX2!M~~@G|7k2 zLV&PRmO6$;Lbd}b+2|xTiO!!$an`s+ms+&RqddL$$jD|%5csgt#}pP|zZVr^$`p+* zcH6jirgXQ27e4tsC#Yn;XRV^=~>YYuWmvyw;3Io+4I!` zu2foVW&n8PfTdWlBLKU`8g4j!9Y8AA_=xX0u8p>NZ=1@^>>B&iDkSyBMF_F?z zN{R&uBiLzIfq^wlbr@6l6jB^4RkgGy9^`7H*1!)QaPv<#aRRFWgDU~l&C0Cxr0%?W zT=6v7_e>;>{Mp0G3F|GhM#~#1rSK59pBiJ3VOg8BBPOt-Ur%vn3VsN_>yaUJ4gV_6 z50^^cDBilt5i*fXxP9wZKId_@dv)g>RikLLU8V#^t|&IrKzL#-q)22tTFQ6oD{_E2 z{so>rbQPa0T}Y{TLYK&R1gPvr_Sph54TeB%dF?C}NoXny;jn<%#4FA_5Gv02`D;|c z)-YtGL`+Xl>}pqdC2kFgxp%yX*3!0x!YByITNm?2^TthIW{zPMQr;*aRb#oZ@tK=! z0--tV*1!`0R!W8hKz5ZWJEnyY-pNkiVyD2Y2S&3lvR@_)2IM8$#8<)K7RFTv&!G0H z&n=>lX>bBbGVeM9fLo;S?9dCHGKPDJJb$C-dQ1lBP z-;ht%)26)k>?_;e|Fm2^g0PEt&b<5Ohx=9$<=mP=G|6iXq&2 zrl_vd!!cvIZrBm1ej%9dQGT0Nr0!-YYo;uR?yjGhX1gR94dKPC2arAPRi0=R+5{Y9 zQ(Z9#W+#vj_io&KH9U~SAlr#lVyN5PAwV-h$`!ta>~%>`0O8FwnbPq0upW{Cx&DNT zGgzi37I}7d^h93QmQ$Qb`cj11G?G(V;t>K!nKiLbl<`O&)5)JiqvG6Rifje51}A7Q z7CD%)P%-5h&pwuQ#ulDP?`iJSt+JLi4vMW2LyX$*;IVSO zNpTjah4)N<`2QVG2)>`}Jt-{enTgb>$%f&Xjyz2qkH3CmPV7B0FUT+eA$gdPypDn| z2%01}tb4&Y{eXWny_dD(4s#vg1sui}YSy8nFeDIR7)+!35TfO}W!=ddN0|IOWXF(I zRszV@PwxufB|U3`OYhn37JNz4@`Nz5^5_m^Q*o03y-CpM6`&alnjJY9au!37vSbo} zj`ROU0a~bmCb2Je)0;Yi)kP&0^?%1XrAjcjw1rgdQ-XN#*KD_!;oRp`lXI_@aibkz zD&?ZsG|KFJn!Z(!$hN-g+^`J>&{Pk8t~muj`>g=~V01AFKDHv53a_+#lbhSVX zdp`f`ibhlvXYGP#mDW&k*6MbuuQTU{9Gbb;niA?cCADlbDxeJF@px9MuV6I6HHIz; z^~3u6DIUyCV_v#*h zTTAg>PVtaXc?6F|c+<6d$cRBH*=UM(ICqB+jMSk>CX?Nw59jYe;{%$ebOnRs1dc}L zA_!Ylu@F|jVWku4BGnyoS}e<9q};WOAr%Xnm(XKM9pa}ndN=Jbx0SE?fD9C0vHDBRgDgJg>hNNFSBI}v zS9Y0p{`m99pTg;`4%(aT746isVz!t8FH`v>U08>S?8nV)% zIWhILr?!`|kQ&*gK&@lE@u{|u6jBeMg*1nXWXfP_BB|u2An(8M(wWT6)8H5vGMGyQ zq_p-IXH^nE7R5QMrG|dZ2vcc4g_;6WPZ-5^`ijpY?1KLscn{NQ8p+>u3{SlCkQIPr z=K0}^+ToQXHP$dN?Aj|w;3!W%VP;_XWs#38#YT#ck#~9Jz(NgglQPwBD-mj!Xu3JH=rLUb>1&Z*j=_3jJnT!LXhZ=4~Y< z!a7IA_IZ!w8|MYEuV3>VF^mgSkyKPW*i=>)o+hsNS8>ixt}L(E74ViPG{&4Vm`aX) zJWLof4SwUKqH$&}V>8vBdDv7bDp3i!&8&h{)&vPy8!x!SZB^}wl^1-ZZ`y*1EwI0Tc6JLR?+=Dz0K@8<( zN-&Wxv#YAYL?VEsM%k?c<29}rYR91rO)8S6O}r0)4)J~;h{}aMFMP;yaNW!Biy{81 z5xBN=#Zd1`m@u+;IUCy<>A9DF$T7EH0Uk_WKoaIg@K<$rJT14f9`i}*+4C5B5A(l^ zfrR-WKjmb9Elf`Z!z4VZ{F2IsITG`tiaNx%HX3A!={oU`KY#o==ttrStg%ArioS}u zc&x0G6hvcDyLqI{?RLn`lUY;XH~^VVUM(>1tB|6VXS+zCi-Q^6Gk~>DM#J zBV2+^u4Ll(U&VRA#JwHal7a0owW;L_0XzGO+CITbASF-&D{?)1IN29RG!Y=^8-0UT7RKPLSE~?%k z>Z0&uL|}3#TP$ zS7q76Bsa?nIKH9b-QhpyA2Q~`$|sIP%?4TV8yW;U`+$`y`yP3gnP#ERJaNf2+i9m_J4MIyWiqzcS~SEDx7rMh-DjUg@nwfwc^ zAAf_v#{XuWl$+P!8M*oWEy!MZx@n4+ATbybDkZ^Z$pa&30(o&PC&g%y0&s|JcQh_Gcp`N2#WyzzQ?I1FrOt9}YN!&X+D4MsL~raQ)ww*=Frx7OQ% zE>tdKyZXFacQ(CD0Nm_YJlcEB^BEa(7}J1uA()AZOjkiySy4Aq(IIziZ)LIn{yWY9 z0vq z728`TPl!!}tHjA{RO-RKn*9s@wdL#IS^n|&_-n8?E2Wu^Wz{6d^KKB{jrF8<&{WTC zc>6+ikH4xR2OxvFTEn%=+gqXM=l8)2GIS*08d7ogrsEj+*CC}l?@*lAFnAZm2rH3n z6`j{GM&{Mq6kA<%J1ja+PA6pF$IzM(n`fDniuNH@7Vz{5b!%IfA4a}IdY1bIL6QcC^i9WS*-!EM&5`J35klHSm*Q=-Ymx;Y(7I+g}LS!zU~Wkve!7{Q3DyL z)-Z%NnJJcI{JQ`EAOJ~3K~#Kw*mq4*{k%6_4w6wcQp_w2a-3Q$zBQHV-BK{jV)!8I)gz-0+z8vpTXl(%dmJD!g4_uLR-JoNjJ7@a~0eu8403FR$*$vBvRx7E2qH7fXe#|*G(hk%amrf z<`~}yfxArB8OE3JUU&fcEvdr0H1OU6Y{KSQqgtH4wX5yzqKYewqeEY%QP#@CDpntw4-lP zoTmV^#vW)ijap2~vdn1P6=%>ohD01sWMUIo^+W!tu2GTITFT}W&w4a+K_-)dv{QK( z>Sdf9F9*|-09S+I^m{h}`+V?a zSsk#YoiIJNu)rtaYW!V7mTx`6Ukd2Bnf860?lp?PwOe=l;+5BtEo=i!q;n#1? z?G?7mv(JniFp=JN&iu_~5X^eZ>Klb^Ze{O0JjIzTIGPj~%80_q5RIBFFk7))Az&>n zQnsq^Yh+TKtyk8O_w9UZFoCJqx2U>;u5=!J@}E(kyEs2EJ0Z2|C;WN<<8Xw`mE0#l zw{&4UT<;K|hk8R9JK%QTBGs-tNha05inA7XWx?1iKbZeDLQ7E&iRQ^0)n4=u%jIv7 z4V(E%Xnb&qdf@jNsd(NauYN!LzissJ#H%aLp#_{&0_O9(x@1SoM9#dqGQ!qjREfD&Pme=`!PTd8b-JS26S1=s@M(H_Aws$XKx6Yf5 zKh;X?#@0F@gYS&G;(y4YkPA<(x-KPUiB_sWwe+E(J97GDg!*@!51^9Az?z^jG2T;h zzz*#2au+*cR6<5xX}o6jzN;=sfqekozUR6Za`#eX%zP(VuK-Whj~Y?w{px)qX-5#V zy5!f@Y~_~_cnN>vORf1<|u?f#< z1;q~R`R zTj5~Xe(G7TJXL(bKhVw`la`7y{f+9|@Ncm>W=E)+{Q5xMP}`+_>ho^h+4O?loe9Z9 z_7_plQJ-bO@qwoR&?UPIXxEwmg)53qv+hF08EeIKIxW+%)r;_SF{KtEv9%!6PU(u6H;9~!1+rm zG*EZdz+Pk<((J0Wvj*3bF}OodXMQ`#6WS3f&b^$q@=HZ6q{gJ@U+%4M{O2{Eis22f z?>esx*7ZtoMYF%g;2YW}{AOZ@;=H3=Xa*~7wh8cZ01|wRR8@Z6qA~vPcSV(EEQ{Uc z@pi@eY7p3*29QE0w#me^+7YA>Oc=;A&H(Gez#~bPc&UXvP@r3Bh3;yNdA2k)ZNPg0 z%z_WI7i}df^+!qzCQJ_@D(@h&0y>Y13cOnIAnVJOnzmjF#v``I*WqmWl@)L%;0o{& zwCmavHqjCA z6ZyFhfwlzgO{|a43LwA*&7`w)<8;ftu9iW|9{0(@9fg@@E;a#_3J(y%hhj z;=C1IZCJg%3H7PzbD{6eMkw5f`iYwlO{2oXREb+Ep&+a6tJ}DlAD3eS1W49u83?2h zi=N(Zx$2G>kKV+Ta2(bI`M!`R%aklIES!?P0>B6(dB1_#?}YFQGs?3071r+gs2H&l ze?FN_#ZXxexwpegwvI;iDSocAHH+^dn^eRP$1;b^)$1$1xP{&3Uzl7vn(q@h_l=G z_}bz=(^WAVt8&Gz0|1LabiZpMr?4{livYP5k>oLBWxK~lo2O5t7>X3?zyBdGQ$ihLy1eypb->lmt@Qa###Oq*RW$u%U*xdj`F~B z3(FEHjI-8Hz||APQqBuF(~%h?wzMn6Y4()YHq&h&8#S_|HAY@W`R52@g&2mgkO;pF z(%kQ|4{8#(?M7V5gvQq{7f4po3nSs`MhclkJ#97*+}k z`85!D(8#2oj<$aHAB?_8x3rs zjjdCj&Sr+JBD2RpX^Nb%9b`GHCKgWe$5#jymxoA2Y;)d2=38f4u}m%Leil8QF4o3> zgu%~Yb!#%thkjc!| zt0DWq^yeyeRWNMC1y4-^?a>-GvKEvNUbUmv$W1A3p|-Ok*oG?w&A=_0S`|w1XitPz zj@FV9x(WZn8@&DOgnu!Kwj}`PE?GSuI&9G(fqIVSom(we;5SQUKm1_1g@y)I7iqKx zoe8asxU;Nf1N@1%A?wq+;{5M%#ubcoIA!L8btSWMskHT>G^vPQYr6@!#|D(VBq=1e zG*0*{H-l}s4dx`(!=lRBn<49xRoGyjfHnsBL3|iV8_KBcjJMwE>4gwS4e{ zVn|m-%b9kmu2z@-?wDfgjosjekGlQp#?esDz9F!5t#X=y8_+66e$th|D!>rd7`%~3 ztp(h+X>R5WRx;`AjKfF+z}(^Rn*mxf{XUe~TF5vX>VnZ>j3(opm)G+cXHT}=-qBhK zLGXm5ghR@eiRijwc`iM|$c46OZ+xKbX-&s+!($v3Qxj=txeHaJ?lx+A7VunA_A7~T zwoPD)(A(4xu2mjsY3t)WCrJJWs_--$DRo@}$ufl@Ri(GooZ4}#kQ>gE${b?NuVOKf zdfQLBX)&$sN4loj)uFj&=M$h;jRf>mIg4V;t; zT82VJg-=OjAsVa5Wm)f((C-d6r=#6j$YB#XeaK-1ZM!Xq*(8=#SM$K4rRzE7^kB3g z0*P-v_@m#BJ|I?=#EWLiIMeS|7UPTz@ze!fEjhfijeI|$O6@`o^XuxuldA}+>2fmN z6AfChjw(xc~UqhgiDhW+p8gzdX}{a8jF%9niaHB0dDP5CREDN?ImF}@8JX`=?Lf~wIzw2P2 zQDo;~^=1$Q1hENbbV2NPsCd0NL=&B68=Q=@fp6*#bXLOPx*;l@TcBc`r<{%xhRYYP z-&AXE03x$Xj3QOK$|{vdX-`>~2{jPkf;zKF@>rE^_>d6=+#V2|7H`FZS2j0m8hPf3 z#*ItzRcAyvWv#n9uPwtR1&WHGA*QDzBGd4!#)&$Hsf2eyOc#$?WLQEhICgLkKyUnLi+P*xX*)v+RkUiR=4HnjXBDPy?7xMP=qj^*!oV)Nfm-f82zn8k zb!wZiaU&t}fg;l1qZWn1s?ld!lUfT^!{sf$ekQLfK9|w=&Y-0IQqZpQ9FHYa6*%L3 z`(A5vt5nrXkVTEax>!f%g%V!=H3{W~xog`Zn$(`|W~domaC1WLbXFzRt@bOrc@eic z;S}527Ts3CVVGkA#XkjN_LB(c zNWnh>SbH2m(e7``X@U3Cgdra0MSzFOiB9ZBDsb*VF4b-@@O=gd1d#B(SuaRK2#`;i zpPDat3*@KB=B|%+l-33(<81CpI5`DFcAMZ2BVOz(S;fN&T8`ctsziYfc3T`=J7`ZU za7yBU{4Y*V3tD7jWJ^Xd9WfKmmS#8!N}Ic4cHU1ZiDs+mCOsCFCRH zJ*2bQl6I8LIFEEWuPqPbyeba?Zx*f%1rvLUihK^GYrvEuxgyy%qDJC$*7DA+4OjT9 zq^|IwU0_wR6c{+%<;>fm*{qt?s{uq`9Otqvjtc@ zlqH=HwvpOsL(x9XM-x14$}y>=b%)>NjA%#Cl1?eqt|clt!pDB#B(jZo!bxWpW2-fW zd#&I$AXfe8pW7o=;YSH!hr0m^Il_W8P*lrqBZtKh+q)~~=Ww03%rTqzbQujcw*x`1 zEV^yaRm|hKrgi|$83t7?fGs0TWWN5cf zm}bohcCoNAX7dwIOk2-5AFD~{I`_KY63};@@yN;BY9$~7N0_F$+V+~6=9|JJE$0M{ zD%ENEC%{mYPKAsRO2>eDwY(ds*USSN3=4v)6wGmT56@^DF4zE4R32R?oLVUC@FfS0e^r(uTM$V}*0U*WV%>J#yQE_bfs~%M|t$g2pMcCR;o8E7jFGx_@Qk zWdlYw3!@NvdNc(@b=M`dw68zQI%YnAUs7~q4s6i`XKtN# zCl)PF8b2_!d9KK;o9Mdy$$TB&`2%fhYHc|)jS_2*&#Fd?6E?H!M=BZ13v(4QXe-9Q zopDZ6jq@o^n&Sl0bL)Pr(lQcNf!z~C86ujh?$v@q7%gdw{WR~ex;#D|P6`GuiacO( zMtBDZKgbJ9zAg-PV4Sr?0+)5DwIr8H%ZX{_iMyiBq>*!~Qu!7LHF;y4%^blP;c@Umkl5z?~oAyGOqg2z`TX2E%YK9U197jDp^-cH|NVNoOL- zD@#M_F@M@7sO5j+TA~;Ge(Q(yWs2n)jTH=xXz{$M| zCfQ77xlLCfokMYw%Yq^nwx;D)fJB3Z z;nTufmwOv=Nr-Lz{r8>fT8YlV3~6vTCd)&T z;mo*hpwBBg$2Lr=An%Oaq(w~qKzlm0oQ7ZHzVNf^n-b8a*yj(l9Q2nm&iVA5pcKzp zaX5KfzkF_mYzq*Sb{}39Yb8^L)8(`>4e+?%jeL=%InybFMo_Yf=_cNnP6Dx&U!*5D z9rXdxTJC`|R6z)_VrVmH&5%{w1h&Iv1UccYc-B_Yw)ON}yEn8vHRxv3&zwer3@PHh zT0c=;98+VEIN7=lVrQmd0%JJ(2JCq_qnQk_RnYxO`+X}`TPzt=w>E%8xgcR=>gR(G z>3kf=|M$;-)M*U{l_EkA6|%oY#D5~=@4rmVpBZ3anY$83=coc-VMIiUKPi^cLP5fs7t z`KyBy+G{=3wwtIf{DiFB&9Vt+fwG37^YSy}PQ6!54`7;+sx_ws_GozG7&jSvBqBJU z5vr|cS@!vZn|WWyI4`7|TkYE9{)!QY>j5zi8WIs_Vib`XM88K!W1P)2M_jcjvkV{y z!76uE#*E}6Hpg9rS``MqvVJd+Xl>9?-R-j?Eej&dq78{_P> zjmUhp--CTGN}r%ha|4AMcl}Vt7Z;lJ9iNk4s9LTNgyDB3R~;ifP`vkp3Vh5^?id#XH}$ zUm@&ioRQ8IHWYfv@W-*~5^cf1$03dd8lld5dPtHq{QC3npQDmZp^Wfay7^|qsLD+S zz8b27=PXM+RwWR)<}dxDrUJFFF-Iz@OCB}4hW!Cl)xViakQYieo1Qs!O=)Fg@}k7A&C*(=yH;lZa`nV8)aM@bhA_#+Dcbhj-Np z9hX+fl)yDKX#{}%2|>7)xEyt85L3H~R7`qz6et7zid6|)5$c(qNJO(*s|bo|{e;MZ!%WaCQ^DEHJ2b^vq(B|C2*e(o5OFrijRkv+8t|EfJ zGkgyU9Kn1!sp@KNn4>ec=EH@rPnRGw*lebiWrVg#64GMgxo}#Wa9>O<>@se6jYlNz z5oqreq?ifiorUEE%@f3`pp9?SW`k`FZ6%GIhuD~xR=9!eLr#skFzfov=;M(toM~0r zIhweK>lC^&o@A_@IAtkX2{<8(n~MDE_6=^Z7ODx3mYr)74l`xXBKzV}an&wpO{&1A z84hfI86J^H(2q=Lwqvv83e{z2P?2y3E1Z`TV4!ej^+65JT@W37>J!kV*ysQIw`x?l z5>7;v`kT_t$)uI}@Jvf7gE3k~TtqX-EQd7TM$>(69WD zJRiI%Mi`Cq@J>10^`gIu!aTEHZ}}4%g$!o#1mZR6lcJ@ zKK#RY53YjYs^v0YL7B`6+-;^Nm1504u%*z+2FLNaTu!GB?|h7>Wl0f#| zBwV55Eab7%d(M1Ss|slkn`7`a7UK*8oMtFV>hZ&%iZr48%Wn(ex>|MDpHE2*PY~!L zrzM6&vxqWGW}I*K*vLv}Ywae)7NbnTgVUW|MIZ~Q;@`D;wcO${@Fl?>!P!Q3 zPJ@`4mhG;s)?j!GRl1yKfLMXp%HW!bFFw%ejoMsIb&UxZv-3LS(zOD#d?GTC$k)g+ zJ@uy{N#%Av>W6DC#Xv`QF}q$0x~}ukQ5cY^v@St8oe^bIaK?EAu*$OC)QA3jX=!or zdlt{z@_pUK$6W;>Wkv>cC3pW<_);)WAnOfwhO)p0;c|NhkuZ&}#2Uo5q0=w@6pZR* z;pQ1~QNeqoNxIe;+t?3065=K(+=e*6+>R{;TYhy#&eSsf`HCgolnCG)!df2b25>!B zvCqkCg>=GNl=4GA)~srVfoG`OsvK&yCCoKkrj0Acp54q@y zLn!0y6n;Y6PnJiGgi~%E7F|n8#ATk>%n^7FQFpcd5yMtO+rZ6?(`vuy=8z4y#YCdF zlO%1okJuH%7uiq`M7SJb|anymz>&wTeCfS>`qkD9iiU zoMZ{fuw=(SpyU!oz%7vy5L!wnm_)}^dqJL*j{Fcr;pMnUV4vrVvtUixjyG2bsO1Ku z=C+{#03ZNKL_t&vliL+C-3X#9duqHXf>>P-C@HVDxJ6{1(3Xy>3sqpaw3Q(U!+qb@ zx;ER|Voz?CPzoVIyGn~-9=+xV!J+~af;MjI64Ln~1zzphzy93AdLY_cUA7ZV$q=rh zLRk+mRWQ%aPjuc?8)_lh`0j7PAp!(;45x|ZpCgW;GPO(V<1+CyqubO$AZ&-=9{573 z+)1_y5rQ-`R1J@aYt9qdK#!UZnc8ME4>!gyp-C zqB|>#Xr?cI=$`t8+lpJ^;}fdr&tivF-A~Ny#yQA5+!&Uq z6RXl8K}!q#XqV!ux}X&ASA-UQaq?xQSE%y;QajE{KbC-)ahZpgS{apXd$k!aW;<{4fpU_QycJJ znnB1&CJ32pvt0^;D8YcP9Nf(WYFK5@^#j9gsEyClv_a)#qy3^-B`2jgWogJ*Zu5$u z5xc@8Djm@MRJxoY)O=ux_apbh)m~4TWg}=(S5)`XG)M~tWifLmxP*7UsXhUg1Izb% zYB|yEqv6kEZ$RqPYKw4#EqHcOe5NwiQqLnBuE?*H&DvdzvtUZXLjd}yslXcywUaOk zmyjbX>nR@0krdBa(208*`ag6eX{`6~Pa4;Pt$k*T2t zFbGyqnhG>CLHH;^mxsbImtlU!8CNZYahdedg1CBMhw}QdK+)RxwcD?3R3^@c-joU$ z1qy_!Lox(`K1PI7m|2i^@17lVE+iOWn40-ek9a*?wcjekOsC(2#}l!T&O0Y?zS_Qv zU*ipQ&ne4f5qC3sj?0-`Rl>g`MczdnUp+`UZHxByEH!HxwmS5Y>~jU`d1T2I309di zA`as$*pZW#Ifn>xZa_L$$Pld%P$q>{L=-JVL`oXLE8)CV_co%i%z_*l2I`?Z3b#kw z6Q&e_^bAAAI)TB&%z&$+MBGU?6s7r$^HuK$2zi9anIeJLK%{BA6jOnS5P`4sG=6N| zCar24qvynklD4_)bPBfKSQj>;hs9&cjIi@|OE3~S$ifitVv=J~*8pT;@mxqS%q+?o z!+&}Y%>6f%A>Nv^3q!X+Wh9sXio5;sXlB#SO4<=E+Jt!(B5JEEBG#5J)@H+r>0U44 zm<+VcIWV~f(ZavB#V2Th#{nKjKv&z`wFI;wSRCh0Kb37fiD1mNT;$QaAVyl`_4m`zvMvE# zo>36n4e7`ayC2BhF(_P>!r>J2$mXsM?GJ6?6lb&r^RyUcXgBxv2scCzFl!QkGs_Y2 z1e6nZ`%llcZPqu0W-qEkw7hnUpmF1<=L)3r&5|odwL_4#+;twc?uaUg@T9xd&L9!a zsXd8(uIat22xw$Aq8Mkv2%CfAb)aEErz=I@LOOALT4G2#g_%R z9|!!tv4vw|QesAt)0WW#|Ce5XU%Qr6EGJ z7aXw&QRy9tvYlmBnQG%AyBn$s$iiGGB&Ixt5&1hcM)*0479Ua4BQoL~rP9(>G%{E| zxvC6vWXVWAviq!HGBVzLYuiqJcc5I!%l86));t#CNJs#X#kBQBa$pE13lpk1Vl=2k zt&oDAzzGUE?cP;K6dq9!aiKaybxvFYD3h%aODU+yl^u%+=+RjYXPgBKw0sS6)XfRp z&8mn^qOi{m5`>K0 zfVe(pvH8W)2XRb+8LD;mcL=oQu34-+5UH-?YB?_Be3dDSQXNKTT}SUQ**r%(3$0(_ z-L+%Dg-tDNDQp#k2~NSleH(5GNWCHr8E{|~@S#V&JM5Tf@>B|XR;rX_Klv@b|TUdd7 z&~7Emq|8`7HGoyy`!hV5J+Xz`hL0UK? ze3#VLQuZSv6{Ptc?bt=shkj?Qk zKPTCg2C!)^Ap5^jI)RLoXY8znznWeo{sqa4KzuB>V$TC zFfyGqRRkg~VvJ_wOo%Jw({09SJD%p4-#R=cJ{ZnvX4DnfqU4@yDC2xpF;d`DkRBMAcbCK@(Xv!g><>9 zG(IXVZ!+RMZQqDp`Sf)`U+NN!^9i{a8@1?#0#bk~l{bJ(!%gSNeLi4F2=b}t=qlPQ z_5{lZM!u@;U?V1ts5gTs!3+U(I=+<|l&@$fYo2NA4-`*Ze)-)pPJ{pgp>3}CSmI;bph5Lt#*9Jb4uuijPq3pE+;2TzhV?~ zxCTVPyjH6wo6q6;Gu|zD=ffAMm&2Cx+_0*&H{UW3MrefDlzm>1r)T6=69iU&9P>?)SB+A@vXj?H15Z)V))+x_3} zKp9=yy1U?AEh9S-beB<(;BVXDJB4Q*$Ji6P8KAalq~#D>^F|oS)E@Aua74Z#XiOJv zY85WooQ0|!X$13`0&M_~o+=EubSI$T+i(EgcdAYhiKVVVt2!cu@!6iKYW+>yM5fpW06|8k| zh5|77vok8SjfbP7wG(rx{M~_|J&1}oLeyjG(#7_E^DC#A}O5rPI3rM1TZf!=LD0|ENKKf5xYed2ou!(?q? z4Wvk-kw7lX8f6xMD|R|Og5?pU$)HsDQ~qu(iA3T>R9vb|iod89>vnJ_gsy$taO zyjD~v@y7Ro_ZKMq5Le7ET#!G~h>*_67TAvDRI=79;?i}k4F*rR{XDbIG_&X0FL7f& zV5KFL#JH<^3*I@RB|s5~s9U(IhWQece-@^Zgm^kK;W>H+l9%rMt^J#B1Q+=iUl#?} zd~53YgVBQ5Vw^n`7$p*2rJ4It9_J2if-NCuucEG4GAaLzw6~GrY8k1ZC(~NURe@n3 zD9S??+iHGXFSm8UQffPH5qW=RNJk8?5iU;2Dvk8F6#~+@gD$-y@MWPTD7ZeJmA6%T z(Ok2+kRFjQw%&}EywmoI5a-b@SC^so2tRt>P9ZTzy3CCK0UU6Hwa5no>(^pLq&kC% zlW{&~XDT%3?^+@^Dzp+PCVgOAM6n}9%a_#9ww!(z4Q;lsilTMk zKYDVcjdpc8^%V?zJd*oct;S5%Dm;LC{@|QQHskCeAU<#=j#IJzo|tN^S*aGb8$C3? zWJz|`X}F3L5gBk-g+DSHPMp(Y4VeM`(5YbKO|%2M5v$Nfs{OY z?!;;_BJGf=E|2i;_l9_DCQm&<&$GYg)SA*GL2T1TY1vC}K{AN-D8)Em#eOi24{~RP zZq?K+tFZuERBa z!a=?Cr9%edzUK*;EW%5+q-!%JcQ*tU+r%mEq-xR_0>w=-F`nbcA&qgy*N1!a8cyi- zdwFf-LSrCKew~#B^Mp*&IXZROg4>GVoinFt zPN)j*1sw}Lus-{|#qktiWSpI(4~1guLgg{4BTe+he5dhTJA4W{47A0t|( zqWry_AgWYLKiRB`iyOG=%)_pwqKF*mNQD4fw?L*saM)G@+*V40+Y0=d{Vfv+kPEA2 zG(0dgmgJ_Cfdw;%0xkt_@SmG`2F`R8d(G2PG3Ew4Z{BX;)NHix$bj>=c-jE!(gq6I z^PNGUyX>t}#AnQ>M&*#i8%<{ISp=(D+6MyTeEXP{(iCT$ukr=tb3@7L0R;(-fe#{@ zB6P7%AfYML@;K4}PeDuV$YDKqr5Z)x6uy&vUcOU)h9?g7k7pM{#@WMdf!r=QR)&EH z22U@&-Lc9=C`EM+Cw{`_2J((O8L`m^-OsdIZlVmQZ#s%%;grF_r3KkThb@ovANG;n zh%iEDmZvII^rA;HG7$9Jh!kH1Lj+?H`mJyki*%z@5YDU1PRao3@2P482HM>QgzWH4 z$4Qz`?L=A*Dm%3{2sHPUOjPNT*+bbdt;W$&>dKdSMwy%)nE`s5A@!n!St3o$$}O+o z-yke$^s?9jU>ciwVqrP0a`g|26#vP+0eXT|WEroJ)9;`b(MTN;g5|}zE&SXqXD~;= z4J#NP6HsB}=zJgxdvzmz{rUHgVHmx{a%OCZ95b0Xl`Lazye1M2nf&+(1FwPq3e-!C z@*e7;tC9O2L>0WIH$5d3vdAU_%>3FF9w&)-agabR3+gBo04{ktye!x3k1a$_|1h0} zR;ht;9)a7xVM&{QKZUbj!e!IC>To;dIOfkGaT|ms;x;pI>fcPDQgP9A_$XTf(`k zz*i#B+F3ko(ov`LQImbHd^}GK8RsBk$e_YgdCGebL@`hGrh#>5=imK?;4-bd5Jgkp z$YGfcUVU6@LPUrx4L1Pci6XesZjl^O0vYHSvn2=%z-rEQ5m!UXDXgb2Vm^}7{tf*K z=z>e@6FGfQ_;jqFab|6V_I41Y`8#=9A%Yn!I(YiMf1$vmH-cf=RhHPkAS zB?|^8(395K721!+tz~DS%pZ_h5cU+H1I*!UpXZk zBnT$ql5ur@u}(xhLs)zN$p(N`pCH*8wL=L$*)|X3pc**33)6_^k$hr`k0*=VuzuC6 zlB{w(zn{y{9#~v2E6+f9C<>q01viA^<$;YXo(i8z81Z5V9mYDyBT;5XjO89d{YyM> zd00-{$A<7eYE;;4m|j&{bxsbwHNc}zK5jM}Y)92Y(oIc5L{UzGioEVZjy&4X=jWZ} z-L%QUzwe?*F)YA;hc29Ba_z?DgSH@@51)G%q=!}&K@?PDByHd(oSQC!jDj0o?V780 zJQa*Hm{%FxoyFL87nkAzS~79D>(lS)WT8`M$HB6Q);X{3p)8 zq{45VHH(>XK76t00Cv+RO8B6~^7_aC^IBElotKnvafw7_;67iC3~HeYH5H~)kb-oA zRnmHd6h{Te8==k(SY(wX##xnAsXUuSF;7LQgd0k`uFMJ-WP}ZM=5>XTtjp|D3tP2@ z%LD-)B^9e;Hmtqy=q)9KZAg`fOFOW|3<}wPPqXpk&cam|j*QaMyDVC~OApC}mki`= z5`(9zf;BVylqQOBGYZ59i*BYYj{lgbA~51|-Fpfl=@M8xd`a=+uXPL+O)URhb(6Hh#yG z)#W2dd#PK06oT7Sp2Z#CbgB63Da@>d>bP-xIbc9g0k=?9l?h+U--Nb^4a=onpV3$+ zk7mBK5WShqKHiQ(ESUx+M1@xPbO@{CqQVl!S>@Fr(S{2|v_y zrAG{)pOv0!B;NR1YFi#ad7fh~FnlN#BnlHXM~5@l}5;HtTd^9XX2 zqx(%|(3dND?iI??6Sfm-7`Pk{Ap2|wHne)`%HL>7ZJ0m#PovF+)XpgB0+MPt-Ew)8X8>HySv#lY(iyGNd<# z^@&(3ylb)}he#=c77`-Mi@4APvLGr@ODvezpI%SZrxZg$OxmB#KJVfuYj+{KGjzp& z7-wz1t4h#AS!Nu`4TOg^v6ts7Bbc2;#mL+SdYB-U86byfFb1&=hmEFBV3!0l% z8M!o{ES8lrnrl?VLzWQDlq zHbP1O#mNzV6S1WI*uc7i8b=&4ix0K2-mFmUXPgmhKbUGUlg?&WG#Kmwk#RnhXWYy< zQ@Ass8&R;VXu++3;;!JS(&ej7zqm_5C?!}`#ws`utY`YW5QsUTuSO>Gn2Ehk+`=AJ zf&)zc6~au}TKTV^zh)%QcS> zv@(xmpSSa(QtUHDV~24TTrG%Vwvo%bxJ!Wg92^SZJeC0U{p}C3tm0 zZ#a%|CQjt$mU57hF(R)i*QJ3-0%2x#{Y@;bF@j-&wFoGTE#43C7~>@UZOr)j6XY5- zA5XA_05awVirHq54d5yTke2XUNMD zTHTCLe_2)`luLaW`@G|EJK@i8{2C34q<=ZE1-;-IX?cui=Uj@(SFcT-);;jjk!49& z4*nX&X_#S}loLm!pJWRS^df~$UARiD`oR|K@mw(C>h1DVf^a{ZdHsMG616#;R&@l+ z@9Fo94C?}?gr()q|Lq|+SgwQG7qqkq(MKc(qHK{d2tFdJdZAVoI zUs|hdsY@v1eDpTD3;B#Y4bv`l^g17!lL*S6N;5|f*;MXYX^|P{;}BYN<*YzW()rM2 zMEU&*da5j3wL~qUpeJUnw8t<)ISA#QyDH)oB_LtBLXpfqd!o~XaSkH6x>|&6b+7n) zMZ%??pEpd40Ts-0DC`MHBI5_aQyvHcRSOHUCoEIVOub5=FkIUSkij}i{%qJ2_iU^X zeeNUS6hcZ)Pw8(iaF$=iv*5zD+Hv_relUn}4x)PyXm`_02qFTJ?^UBzdXZm^a7*oM zD}(1AvLhK{g^DSgf=;zlI$_R)fw;ELo1NabyXhqoE69#eNay6bRDjkM3zmCnmE8xS z)ONw;{QwE+Iizzm1u>e%MqHR@Bf#aY6Tx;tX7B2T9d~4-<0c@jJ!6Q9cgER3Z?(z{ znCL!=Z{z;ET-8rtf7MEmV~RmDgtt7H{U zbs*?mv#q&;lOsXdvkIOD5{u*O$~PFMigm=rztMRk`9ywMuwnXhZJCk7HFMcvB4HFU zWF%xt*V>}%Rk&egK+ae7fuF7gS=uPjm< zRnWE~z>kxWQ+!2pM#V|zL&G~)pj7<2JpI(=NNAH2@2oFDTKBHzb)&_OG~)<4O&WZ~ zbbqVHNRab!hvDtUMm`aDqc6!7xZz%oP(-3x%XiDn2yP6b3xSQVZF^H~_ z!2HNyu8UZv$~C`VzASTuh#G+Y&V`i$gKXVGu0KNi4IqC6Hu*e(O90m`5uTAEaP3%U zh%<8plrPPcsGp@>%eI3@BZ6*5emnXAoKZwHqqH}sW5MCJItZ7)1Rff_&ZO2>VF`WW zf|#Za#L9HZf*`@6h^Ycb2bSx@t(KR1mXXXmca{K03ZNKL_t)U zfg71aH+zQT18s?ind&ttwdv|I!XwmY+vQwc7~;Hu%x6KnYta>;$}{7$#DXI?&$8S1dRFiX5sDEPv>Fx5lbix^+w7k<{}M zoK9SYON=vOgvWb=-VxM{GTa+IAwTdRE!AbCrIrwxTEjdBfCwd;59KZ55B>BGvub&7 zQD|Dy2i+F7>XB$kYk+yC9`_DPBB#RrWxru;D<_&3Da$XnFf-10<FxqDr5ovdX<;}Ir)8J^Kev)B1G*J0&9;b(!#K+o)|?Tf<29&kxUQPCO|gE zSp_qV>%2V;MIas-h&_o=2AM_1ozg~@+cs-Tq-xUuGp&g*-8RCVl5C7tCO?^X-r(Gn z*nFq3Ix&L$Qe>+WnV~ooYq?q?XS6Bl`~g_kl%fTuFgSS;>UoJ7)3dNC#Tkv|K9f*a zMqv56C4jp%(!U&t6o>S8AI^^j30ExaNSDnC%!kM3k+M3jm-`tU!2rB`#i2TDV8+Qh z1=?CywfF*YZ>Y?Xf*+JG4A*ka+`_mEGq0ywD{jeWSS53vkE_rcU}pWMK$>9!d6x;C z$2fMiwC3FScC+yff6p#=DVDRL(anU!l@t2 zH?C{OiORcEWa*-Ta}Fc?hj9iIzI@J(mS~P%8E_ynmc=-$BveC0Sy!jYy3mXdoO%B8xj6B#^Wy9fUlFtd)krr(Is|_I zcvOg}ttD5~+@P;=BpYMX|9hN6`#%dA=bOMQay-K`5$+<`R>15Sg1WUVGb`ga$7tL1 zWp#Ckds#1$xcAr3TE-A>o+oh4GCaj|R{|v#c`{VcfK{Zw@PRx8(IrGqp@Fxyx5}co z5WRvxbMB!XHB}eau=!vb!Q%J`LrW_a zV+DdqB@B=S72dM7Is-GrbKI z0NSQnI^3{m&RW}$=)%*XDFS*~w{SJ8v9!)WQEfU1MoD-z?#zRT{DDGYS6)@^qJ1G_ zI6}=`-i3Xxxq8tMl9pe8|MPd+>8g+m%EGTGwFs<2@q~)60Y}N|%rb4{4sorz0u7;r z$lZ@9Z>>z(wh@AQ?6zDAVMv{iiKg;}4-7~nmj$IV*|9J~1&eu)3ebirh}6H})!=-S zdFM>V8FWjPI#ylh4{@yPkHy7ssb1VMKvMhGiQ!T$&tRO1vv4+auP`qcmvrU^C0pZ1 zNR>zKy(2$(#F)LL!+KR+Y8O1KQE)n4AW8Tx6cvJ?tK7!MZnTE1>}#Vb6R|L^3h+}^ zIoS8q_;H>4{O@t*YNbD}p(8rP7-r#5psz5bxlWCsOj~J2=1<|K||xZ?G?Z{rUG#!klv+4sa0{Vu(rqbl?dU$?I1q$h5I+p+zq!3XisQqIraA z>1zhJe?AhZy})F#Lh~1)BO7eD3>Z|~ft3+j)8#KnWtP^EDHWU!B?<2qm8GVMfa~6)h24FX zS~wHnmp82M62&_N^%pP*{eL--3;L^p{OzHK7;qx~S`n`YD8;`ADo$J;B}2OcwhplT zu?+33Ra-D+@IAhbpA^-tui~#MjI$>} zan>p|Ae3=7_+&EOe2k9(k-qs&L1!oYSL zDqSOQL)xEfp$aAmOQe!HO+JNFrlQ(+DPj|>P3E2JufHMpUOpXS4K8=}md{iRx_i?p zf|`gZA0DfNYk`3n6M6NJTYdlFreJj+E(8pv}XV%qWP|LtV6HcBbN{c^f-| zvsGp@Ms>v}EKw_`3#|>;=%n(xjY#LTnl6nQDN>~(0M{gWMhO(mv|AITHxB+i+IQ|w zup+}ZQ_s8b&L7ldpC5k!0~zPIE2`9WZoV3wDRS2}DW@ouSw<9%Nb>}u`4Hn~&~>6( zaLOWh?gl@JFZ;Y!Y*&bZaker3L3yxWvU4%b9DPuK(a-^Ep=#jy8B(nlWR&dKEK-Tc zy|zS&ncy=UHmxn=y0CNxUyvEm66-28yBUQ?R(*y?eouJRW@|V6z;Bk58D|f3I#tc} zqE()78`}kIt-8_>htb-Qj8$xAoW@cmDgxy8kDgRMTL+$<1WQ=3`Sy-8jQ}??By>#* zVn<&p$N;uLNxwetxQqy*80VbJsnj+Y;)`4f%P$vB6`s?wgk?h#3&VMH<|`wO#55>~ zS)OWX$pV9lAQHbT+23RyHDEksO?0#g;+lhqp@bW8w0#kqWiIJiTEMY!jI-aut|%wt zOtD8MapKysnRN3Z+UC5lC?`TYDu+Y#^PbawMhhY3GceA`EL5yCXfqB&qN|m*#2F$g zRc(6=?{<_bm#$b+%|$Ou!4h?f>1`V^seGcj)sEk)^*0oE?C+#Rr=UlMFI?yCPR)t6 z;pm3vc}@u9oN(7xzRtBg7m`7Og|3HCGYdz6A7d58K*{*K!I8^fPvQ4u#On-KsWaqF zi9EApL6HEYi{m%O0DqQ4x#JDQR%pQnB93EaT{KSS6r^m5SbH<3Z31cOW)}CY6+3mp zZZmJn8){*o3t2wE;vMKiRBIxKeSiOW+6hxJq2S7^&OWjZTC;KF_>!M=Hndt#EL>mL_-A8`GJQeH!#lJXC^mG1j**B@MbV^ zBXCjlo5jiYn!lfpGW0D*_xlIj3`ZriI~U~0+j#1!*|_B(rkiEkO|u*`rQ0HtresYV z`7$31tGPH%q<)DiKu+LU$*M;b5#}az1>;9(C$*9B6%ZX6Zg}u^?CyA(34qFy?N*Y^ zIA>n58(rtZEjub9wA`@_JcpJ?A@Cb2Zw4vxy?Z}kQ@c6B2DO5^X>EJZi0VUf` zftDy4Q4(owGn+21wKyXmL1>PUz-zN;HCd4}Qh`K6#GPoKMawuN=FzkK_H@&!x1f#i zv*IstF}(8!YfoIY_%i~Bab9?*?sc7Oc~57_I+8{wnhhyFNG7sa8x`nEDV&{w;vq@~ zm9}E>^_R;?L9(_1V|zfP)g{}2i;BxXT1yNwMfNw8guT=9H=c|ej5GLyi zxxX0QR*XA1-4CK^-_cmZa9dEC229F^;`fNncmq+}8fM-v)d6Qw%vwce7-&#W8v~cn zMTI&dhjBi5hm?glng3W!RB~vYHK4_1TKDB(Y3~~ z3<%PQSOO{nx0|>r9+=s4Pk)Fwi?WRKRnZ69UQzpjzq%6;ac~5&OX%jq;fDr;r-4)} zP*yYoi|17>U6=L^3VJxjY_LJL#2-nxe&zWf?m+_`p6xI%xOP+!s+DpPowLWFc<06m z=avQKgrLS&=|%x?3ncIFcd{ zY*#pfB2WK>fzIL6JcItqZwl^9f&5JFrtUN#?nzO??Ry%p?FO}|R*YrlE^*#Sf6+$A z^*DgWbiK>mxs**hdhYE+C_A%iL%DicH021P(FV_pu3vuK?Ds#vwVs^TjkdusuTo0E zaPj3hgJkkXZ-MLL91e$Ba+LD%q}iQYc9`bXW=A$TQ-JC2sPtZ*Ms5m2_Ul*o!L0&~ zR-J=ePyI1&IVz~5d5rdrLXjnPy>Tuwha5{(wd=IjjVQ_F2S{63uCE38!Y8uUKS3%nUMO5@>lE*L(xW&C%_NV7pEPy*g}lEm@Yhmx%_9 z+pGer}mx z3QvtECvu1>LF1}bwKLA8Zcw5z+E-BszuEm*1+9bniDpk;CBwrqfO2jE+lCJ=0g(4Eh0XG`%V5d=jt~^IqYJ|5WC*l`>&6tcuHLSd za2%Ys=SX`3S?T{6{~i$qN^`DH_ipvKkOk-QU}~O+aR!HLzr23`L4I><6@!VB`>Ndd zI=oZ~bHx(I`Jl!kGscfWNsj4MUDu=J5+x`4#|0=4B9eGIyAh#_YfLG|`OrisZg;kO&?xI*U>S1g zp^>x?JpQ9n2aLgrYqTS&ddA?SGoE|bo_2`Lj%%eP^z^Jj9GY4|FiOxwX#)U$=!h-?t#1ogfmE-c!7R>kJhF<`v5s=OZje;i~Iw#|XCEpz`eel}oo-XcJWs z5qmdE|I(PCX%dxV#`Cb8cfOf%V(U%(!d^%Y`<%0|I>x!|Wf_s13StEkC#{^2{UeTD zG7!zn9Y$MoUIBLOYts6N8Ph3qPY_tQBOjYjUnpDGT{nL;2R#AgJ62uWp5+bV>yf7= zaSvNsc&IVtw?W9Em|Jxbi;zG!N9+!GNwHM3DCSlskr4D#r7W@!k>hC?YY|E!o3|{w zxNeu%@%{Dk-uTQ)n-Xg0tgtQX}uB2w#pk8Zn1gl2s$gaE?jOK&g()lc?vf zb;#&d11(v_I3HNB<)Y3;;83knkqO3; z3qs?Nt}7owCt~^f7>cibH!%~Xc;_RYwai4dwarB6J_en1lyNR{M}82Lf47*H2Y7mc z2v^DZ3@0Y*(G=%eIIAEzc~VJM=@k&c1v|sHXIYZdogjAO7#vLh)3#8WH6f35uBu_I z!5+H*w?I6>&*{+b>*>^5cI;>HH~dn}pe&4n&a|bT*LEa$xCg zWp*J?|NMs4JP7K?;NP@J=#yoJO&e}zq_taQQ7mb=#^oEKf+~4fIKjB$rPUJM(O-y& z^Yy{PHBsePSM0lwX(;ISkD;Cmu5Bhlvng(L`U_XNd?UGGPPIt})vUujBAU&sp<G+j|ANM3L7I#w;mwdi=4WrS-qF6ctZETM2a6kjM1{_C#}(R{OEImVb9rQzRazl9cdupb zyF{~Xn$b-HZ380{hTcyFX1osLd;|ncS8(u;WA zE~v~qAN%j-)=`BH52J+$1Vu@V^QtS~AD7K6FnGp-9&R9|po-**W^IJuCYWJBYx$^3 zzy5G45P|GSlqFIbZwSZ4ooy%X7p~=hJ&PQ(wUDUY& z4HI8m0a5xoK~qTJN*=&CAG0)@J4ZUFK!J^rU2e7ts)~5WsU5!N>t0jN#1=kZGq8Yo zU9kmsLsct0WSsNw`yis((0lBT3SyZB$toltB)m+zV)TVTMMF2P0AbV`U)jyMBcXoT@fs3zqqcwFJFKX+g&M2n(S%`89n> zi_q3={an=0S^S{XEM#<#!!y_}e=>Gr(-nxuEW|8vP@!2oWesUo2aj1`d?Z(rVN>D?CG!~6JW3!V!0 zL|2Hm9hI%D~jef#fhzj2>LJL!JwQEuqLkZ zSPvb^I+!i$#Lp3ueboaZ)RN?s$NXfVgzX)u-u@5TG>xyW)U@eHevrWk3v6s(p zx~F?Bawb^eORhaTjC0O4@9|gv(in*5=!YRe8slK_ljT9mK=Geo)$LAc<~0N}hM+yd zi&f`Kz3$OAWJ@5su_N_Ne^z67uh$MFB7yje1Cep2&k@`^e-#}>uLQlzL%NtmMM&sN zR%%ECxZGa^-P{GGVW8#iDU7p+@W;e4WDYKv&=ZT z`8^)ru6A6udc#_--yh&89U71a)XE37xAH%~nr;nVPPe0?9qgv%ku_3_+d;nZ?@Jgl z6`s98(R6bV*&TgUiSpAZ=2q#F9&H+by-;St1KxX1e|{%K)RBq^8%kl}1pPh} zZTvNnd#VEvam#xjPc)w}_~9y9OvJ*`;x*kcSW@iG|ci1e20L&oSyzz(kTts5~^;b+V8ho zAye(4>u)<6&PQ0?SQ+uMsr%bqQqQ<2furYp!UrC8T?kJI>nB5p`z>b>O9;yJJY{0} z#^_YC-saqp;8*y*6K#laHsXU#;^inHjcx`{eft?@n+(bDO=jitnAnp@n4rAfPJwYK z+f1qnBz!%9XuiR-p#_t-T@rpSSP9$n+?$I{$b> zR6dbq?rOiaHB|DQAZKko>5=~?R*`@P`M7og#9l=*$27t& zk21LU8N6<$+~o#-dHV52F9@{A>?KgNM+bbH{3*qJ{j%H7AR^yUgEoaiHy@5n4D3B$ zH}rS0mz%9sW;?mb_Ty309}whNerh>h7Xr|&{wTe)r=m{s_T?>iy05;7C+-s?m(H__XE)qY#`rjMpxJq>@mY(=J2`^PWGfELg-^fowwo5hQ z-qW36J$!2s&2eZ|u;xAr?m^y_`B+T#Foe~n5r-%g&U3d9GAf_(5}rws|7D!HY0Xq?_e=SEvjMVv1G#L|r7ec{I-e1? z5m%sFuu&v;6=`MCXWB|&UF7(Ap}Pb!1y2Ihl}{n~3T9Dp6}ajM1o6v)E}=icRp-HS z#@Tj`*3!*41E%tA6!S=3`@eo@mxz)pYiHr)Qb%8QAycswUNvG*4d+5;a#d_Ek!8l! zRfwWjM0Z%Zh+v$#qCi~~bu~STh+S$uA|eQfgeFjquDuYK$X)R+`0*4nw40Dro6dXQ zZJ6@9zyAK`Z-4X$14LXS7pWd8WEm&~OvI6uuOEDK^6x9meB!icK%rs{1c6ig$N*>D zRP|%bT2wY5XVXBFjZ|<6zEam1olHTFfVLw@#B{!O@;Mvhy!`2qwgD5=l)7?`?O7hd z7Bui!p@l)3-+|3aksQXBR^gKUm5ez_Gl=!rFlBq=GHuz;>91BHs2dbC#|JRZ2QSVS zbSDZH=0X)fckB;VRUcoDphNnue~UVGiWBvz=hyu_=JqnwuOGa8o=ve`TI`l}!N747OHNd6uG)!ZjO;XPf62xyFc0 z%IFA`s;RVmDDrU}3|9uRa~#K4M$^qF1m4YQz-S7~xgn?Pn(a3PNi)SPOLlHS1mjF0 z@$sLuhzMd4*J2z(*^ubvUEar9uCbasIe|QJ=>FxmOMqY4rth-6h5 ziU_GU18^1K3Bnslf-WtzxrH{-vB{69uGeN!6edNBf*h{!@drz6){+~;_jh3cJj!^ z*9dXbSEYT?SD<`kSaqp93*w8&kqU5ZG}nBN@*hu7(a|_?@xxo(JPK|RpxVCpY4p(7 ze@^*RirJ7w*lb9somRa)q-;=5`L|@D3|BzVGXlTNOr%|%Yw;!1^y6HpV=Fht5flTj znc?eZIOL4_<(lJgBa4F8c2xC$;a1*4#POg-=pNV#?AC+VJPw^V&UguDekrL1_jL>+ z+@CtATrln}!xhozq1369-{%@$99)Hfx`+S|5x2zcKCyIaaprmWV?(owkwD_BI$Y_A zI`qxHJP4fzN@gLu_Im;v@!c^iR!k}8u8Qb02sXDU4_eL8dZzQqp@4<&Nwt##zYh}I z4(Xy!bWK_wFYO8kGJb8v3yWbKw2uZt)`vZI(jPOe6;~Lqk_#hL>E?5(wVMt zEfVgIE1tA;#gTk?-@QJb8zpWiwby%DJ{%d#eeZ*aCHjiz<>2l; z-hz4I3GEh-a$;_b!;ez*E839?4@<>bE7^uL`cFW#&u5b9h9SG$wcG#|I_oZz+g)}o zx3!jTcD9*Y6>)TP&YRWK2BAV*rMPN}x`h5sg+x84 zrAJ4R7d#QoCF{7LL90x=cunbN3aSjOp!Y8xF$e zbKI!pxiZs|s<^{hCodE*HL@F~DTyY25aO;1d?G}y**puuhPc#U+Z9`Na*5BWD5L6U zc%iSxJ_u?Cw3Zu)t+?lMs&jgUpQWYmX~IL!h#di)5InqB;L<9*$_!$h!66aEbP;Tk z+%DJa*Z3ujv(}QeHZOThXDd~<25XmvTy)7+zF6q1^$U|wJTFQJs6#!!ymJf1zZ`gl z_W8zbEb;scT2uqShi^Rww=X3s{cQe^sI)P{lbvXZ%X3sTA2Ahfj+GJpn^sPc78w;> z`o`?|{e*j9yXI9`w`g2rMb4~Mv|6-1H!Vbpxz&<6kx(rao_ucc{wwa`+gfIPFFbf^ zT(GXx&;_rPsQ=Xd=LCzhlV>$ub^*2Ud*-w{Xeo%ttX^fD$zlF#-}2J0VqlLaMhO9N z?3T?ER;m6B%>Pym+w-@s5aQ+S>0<=-yC{cwc`bUyUXNKojJVX>&$X*TVJ(AtVp@kc z1V?&aE<9#*ssMLNrD*K~t`lhoR!et&P$4E{vX*{DS8KJ8NfR3EX{{O|A`v&#lN45X zsW;tmdMBWr3w?Grf$}J`k>H`zrV14T;}rg#&A%m=r_=rvCC>O#i8>N{GYzhDNDaAG zkv;XmoRpqWCG8Jez2aETz7;G?a`3f&zC50Pt;^l;AI3S3|Ba)H%%oV&=PeboK>y*a zFpH}tBbZ<0(W#b*o50}key%x)`Y~%kc1nKnr|M(vm_kKxIxO2Fkh4?tW`Mvx3)+`( z%@NO0M`BsK>6D}51rjzz$iA+KAQ0(204_Bgx6#vIjj%ijgC^S=>9vuzJDH!>n)E0_g- zfbUUgYS;zhkOm}h1eEvDHfd(AIp+oCRg0fr9*Jt(o}RE%=h)&~mdQA4ZKGr1Hfc|N z%Q#PKFxHOT&~4pC$HwTsW)3$RW}EVGCwd=)4kvOecaY_6tea2xqEO z@Z$Jj(?=Dhu46-3!@qZ;)Iwd+T{J)U+REGlMJ~I1KL zUJc5pJVK;*0_aa8KcEOq*gFq4eOFO!N%63gT=`d9s2e=3qla-uo}Jo}PAZiaeghx0 z95uc4d!9VMPJRRTQLI7Z!*=1!f1!OtI@J`hb8GkJ+cM@UgsLp)eU|K0-J;H^ z(G2HR%1WKJT=OcTnM(!n+|1;rUf`CqOIQ`5cel383%A2mW5dEiI`Kk#4BdUaBVF2E?j-+NI`N zozS*CA4W8vAhyjaFUZ2WUgcVq*Kl9dB%MEaHXC^2b@CR;^wCp2?LUk&-g~!w5009m z!e%6-XvMQY0YUt-EdMHPN|a=#q@Ej;Yo}mI+?mScmj%57U*j=gZ5zV_yj#;n=)1h= z2wyO?j*`4~DezN#1M4j?ef4a|&|pT+YfbHRv@El%w*om>igEtHxfkssQ`ny$;IC+3 zi#lzLQo=pJS*@3GK5<=>k+n}Hny>KhRAoA8m(srS8a@M+Bhoj-nd5cxF_zFrp<2=~ z|Ca*~XKUzV;fy@7qWS^}yea(=v$_=w>s;Ea>h2gn~3? zKf-=3eQ<^B{NKPhZ~d;K;Ch~rZCmonukv!85T24;QG6C2u(qkxOVT2B{Rwc9tC{^U zlycE7zQF+=#&~j(cJ(}F7bM0RU(HaKxs|_m#WORrYFQx8Cw`DdG#}WR6xNd)J6K#Z zF|)i$qbSn)gGbjCTCUk_iMFdz5YvrQ5qZ&*jfnr1w`s&OPr;41(LDyrF+|3OmM$O* zNnx40O64Cqk;WY-)8)35wcA~AdM}a1rXw@FSMb|RAhF_QoLg`M>5iy#1rrTeYeox0 zcJV=-DLeqn{S(CFePEZ3ScM$w`2lX$XPm)_b?^R$*?0r_d!szlI6CZ6C@rLs&F zy*ph`XY858B& zLo`PFwm*N>7KCvdJ$j=W$Bf7a*n)N$QROxq#f zP-tlJRWF)Hh#;L=0<}sr^{QaI#XhJxqfN03-TC;?w97^;#21pHD*Sc*A7my83kq8D zf(VdbPAjKDf!aIX#+l+;v=KS(in>{1P-G^&%5u$zHB;X%93fAbDUvxwQ5~B(LQ6;H*~4MyC%()InvNRk&`%@t}DT(WS_^mB`kG@UOrB`Fom< zr%_0)u2So`_PH^gi8cg-sK+Tp60650#Bt&Hkrt_*xfj{l}#)3GYp zLWIo{+p~rIK!Kl4ddqNaR6J4qf%eo4897BDa=?o`EuYHCp_}76uYx)`h7%vYC4_~b z$E{sNOvh}0_l>hhARWn;L}a-YmT`*K)KyQ(3ND(EDu4Nt(umE9bG*uRy$t^&m5nA_ z90dcEjD6i+#_QfHq!B(`$r1SV=ifi){~$zj{n{W13xl0UwV7YWC1euKhbGvKgvYI? z%^o7~<`8RJ&cG`(G~Psym`>AWVvz7G(0jl%2|axc33>e)O_-d2GCz@qucu6D(J? zsjg=yhdIS#Zw0zpHYTCb)kU-yr4hK9VIiXR8`Q+56a6pa9H+O!0%{@n!zwdYX}ek732X8F4?ARt&*)$Z$10s9{IhaHL!UiUU2?m2Jq?dbol8Xtr{s_n|JnJHGV zs#}vFuoXgG3G^%kmxHJ_XR8L-xbOTocLG@50)a2H$;Wl!!-@S2mFl1nii;ghiW}1^ zM98ZpCvu)xPR+Ps8o?5H2kklaKl7nez@z+uqD$C8V&_$5%v1}jjhgew)SxSkWp0&* zGS1Wg&Bx0)=i@ZH0_~fr-B}mBq;o=Lk@;eyCUR=V7a+Di@6S6XuY21NL_L??j=wyv zPv<><>iy#tMUvNZW#n(n^5vY*>AvQK5>agv?(wwgRp*(n*%%o){BIEB@Y z2_nVZmD%kIERSgsxD}siGj&GheEKp$QIIZ~Ze}&ot`KzDx_t(#(l#q6Ea1A9u*^5@ zj|`Op7S6h036KUP$$t{KdGdMnf9IKvz%`qi9?1%cbSRvm>9&~16PG9xKb!n>f?ag$ zlw)U?P{oQDC%QbF-yhm&+h{cqJ6A?{J_NLPi`IcgXa$6!t+d#Dhn*|KW?nt0w= z5xH+Ikdw&Oi=>jQphihsD{#$%cSZ2aBl&bWHf?S@9JIA6!VGc zyodqqrmN<|wC+;^XB$IMWR~gYPtCd_P*#_)iK^jg^LpM(-jS{%Ec1)yN$*kkLJ0+4 zdF_aZ2N_*IIWPTh^Pf;$pOjwz_xiya%W^>pO=Vvo?uehAA3J|=Ydr7n5^bzlZP8}9 z`NQFJiLQ68+LT{^{{4e|SN3(uBW;Md%R!>~_9d>Gl2DFRFYNi?^tXSTR3*o9qWNH4 zjodYq&umVLoW?JYl*-fRda3Y6uOM2>r!O%_2z}%d^x)JcQ)^6gx_q@~s>?|+kMznv z^us1LbCgYT_hD~~3Sq?N_MY#NpCq72BsZH;#C{N=w~Pl7*}?}AomBY--^Cfs$Zr{* zc>LOS5%hF}CG$J6SL7EE9W&FA@U-hofYWy>QTdzlSNo&aGmdq^D}lu1zWrncM}fw2 z3irGm>E^5vQy!tKw*uGfwXuNf|C5Es1E z3&gGQbNPGlw_d=}6W8q~)fQaaO`!<7oS3cP>Q=#N`||7WfBw$Vq{Z?l#tX}^{Fen< z?Zku<;hH^9tq};c1&jXH^2<|uh|sRK|H&k-OC?jLpCX8$BW@=2mHr+j|5?Kg+e*gP>a6Fsw|(8)us(9#jkC2^*0KFo!&+ zuy!ssm%bq<3yRKv>LYHBFVQ?g#G3E^s$)4G`6nA5a0Xw;ro+#|<@;4##`##v{AMa8 z9z}x-s9RO_P{ zV0-^@O^GYNyjemtw+7U?q*fu~GP>fyOJ_#V@hp2e?t(|2_XixwNAAmVaH;3et$7*e zl}cIL>}N&s7tpwTT(#=yhYan&>q8RRD&zsO)-V}yQNTvX+HQ-uHd@ynr#kJ^*RIdx z@HqGx_dJ=*(G>*nm1WL5EJTri4T&jTsY*WjA+w-y3%Xe=fqq&?8&vrfXA6J89*xM9plFoJL4=ppk+&6+iZ&!ct)a7C!?s&euvj-18@4KJS2XD<< zIJ>_IepQ-rJ|6nSgSD@e=eH^%m9jF1x5mi#Q$^P|BS(|a<0^9A*+m3pkK-Ba35{R! zKAMeefs|X<{zRSB)A?90O&t-_vz%NftGuEV-Hg~1z2o^T^G!AW6fr>^QAiLsaYD6j z72?JTr!megz<(HlQX6qazGIs~dGL#OBcd^~hkYpf+xl0ltO_@q;W^~kM171Y|i1AyY@VTYmQ@J zyBnlxLbSkN%3QyXOKZ$4X^Uo_jayO`tJ+1^ZOV-H30z5B(2zSWL7`7T9qNtC+os83 zdD;#1x4rpbwS2gYGsQ3jbvB|!@{!bnn=`L%Jamm|QOZwV()onJPxj@l>L9cG{%(*8 z&pz)*$u1y>*Q*m?c8`eNsm?ebPsz5Oo9BEwfoKm6TL_il)GpXRn!dp*gJC%6C!E;f zz^iDFI+Z<$IzPqS6_vo4IJsu?DDA*jNM_UShG}rSb_fyqBjS%LRo$T%0-1p#sH?KJ6%(1V=6N4sztW}3C;bUe`BUnico z6v;@=e&794;i>2SicL@S>(x21-R9ig`O7&z0iROy_dma*34$Q`{%3<%&>t;E=ae9; zOMG%Q;*@P%bAI*ma?OaAu6aa$d89XiE}=vWZaZorY!q{Mc-r$=tva(8B|qPwsGCyE zU3Jyy=Etks;%(!XARz~?k0OiUeEi`-+6wGKG<$F^=JBlAAx^R>GgTZ3$Mf2Qf1c}x z;;HBTirX8zT^@J8UY_{mmw!0&IJjDi#b2Q>y-2Y0^Hhii*E@_VDmjy+_9Fgg> z3^RauF|ble(4@@FwY%eI4lx4d1>#5)J#;wfQLQ~Sxn|ae%H5{WfWHy{D@YdjUz@-# zM$#U$n6k!F>OxuO%C$rh+g6dPMW$aF3yJ2N#yAhzmuR*v%h||W-p0tmOEgC#CxCM~ zpzp!=ocF7T9Gf`F%R8r`rJj$OlXN}Gut6LAtr{Oh(*!}ZkxDWv;Zr^A4SKCck&h^q zA8wCW!l{HDuqZ#`q_*IiM_`#TogMuO_j`i*0b|4iZD)h+3TF&Vc#|%u!^hfIEa=>| zCV83}Hy}d%2B=_LPqRru+b7sF{Z)(1u&}(q;2MCF`>HPHMmcaClGkTRx;ULkgu7m` zg(uwLS(A1xJTjpB6C!NFtI^FdVUg#|0w{~{45FEW zpU3@)`=8#Q|9i&N>Lcf+^Qr6eAMfK(9N+WU`Gc;L9EJVld{O)Qa~j%;Pwy=rQst+K8L*wFWrlYx!lfBCQz+8LE0-l%IL~BR)NqtiUzr^UEXc3D1j& z>j|2a!!>t}38k33T5=x2u@18K%1Af}w@XCzJa+UwsJb0q@O5W0Pi+>yHmDxhlo!?& zL8{HqRONwjJ+ob^fDZ&$XXR8MRQ5?v2)bggtrx&@fZZ45!CSl$mc-Qx4@x$|j(49Q z8^wp$pBDo36BU*5*Rjv0ayy3+%#rOC80$^n;pl85{IWpNs&pYx#YC+G-yBKk?SKMt z_$5a$ztd--Ty-PiT_i*#bFad$jwKB-o1zXx4#nJ6mqXT2s?*AJvrPVW!8#WUAOAj2 zT^CQC@{1Q*Y*c>Vpel&=on{&y@UZTE)LaLdFP*PSkN3SZjGxE-;RXaF#-rd0y#Blp zATxG*oFs44ufPBKdsLYe+*&S8%z9Hi6&3V)!c6Pfn7#xSNt+fMs5G3MQdy!>ZGKWm zG-hg2+%sw%Iq&a4UEH9N(>6=vnv*H!u4==JLXSGXK-F6|zdGEc6F<%0L3H~qSFg}Q z59)O}AH?Cq6Vl}h6!Q(CuQmOM(`$a?JRKX+IV+gzPtjU#Yv7%zvk1gaWaVknL4QTG z%UZoeb6G45u)91ZT#oI|I~`jDkk_A=17XJGZMy%ES&opeXb+fKRzKUqRf_~Q*U$-r&qA$lJJF{7qWj?V5U$Y~AR{UY@ zngEw#7oyn=A^CsOG?VdD_)pxwMDs>i8?mnqxth*g1V3N)&k42|aUG>rZfz%~{kIF=C22s}jR(Q_=V%&8X7YYvYJzca|j*!Yy_Y;yV{ zM$7w;0Cr_=u_@stpw{0?am~lrDy~N46?1-xtDU1iXNuUzsa2WB;f8ADZ_Q_G`NrR5 zo+y}e8)ltc+vKRTJ!A%h11rK8^dB7O6xzA$OTU`mIG@;MrgYF%T~r9R z@54a^)sFl^6i+qZohk)^B|d+JGR~mfGu&YtWs(8@XI41H_E#d*L*mv3Qg>~R#7w}6!S=9CWC`3BGS$DB9_~x z!u86i_F(*_o72Rykd~X7k)|t%aR$Hfn70uqnMoT8D`(EPAHJxG z&uCIt%@HZwCxc->qOMT+XJ;Y>?FJZ7ibeCGUlzA*`?T>n26KkNR64J40U zXx4P(jAIRXa^>=+-|;V z&}gHWyApEVryq`mH5(SXl_RTIX8~cETa6W7eNw(3NpK43$`l0B-&41!nOJ)!p5uhc zWr=*=<*X+3nezk6v!`;e-L2_P_9cv3#5s26YU4@lIp5bAwm_-Cn^uHwiuX))QPXYe zKYRUVe0In3#<`0Td$o}hj7+5y&EQL=(40w7;oLG-86d~{Y9S9_v}DUi-urv@k4$oz zFKx-~R~q4UK}vBg*N!ftk+{X(l?lzB{m-{O;Vb8fx?dwsF%y;Au!?S8@+vJNLuikG zDU_wMqG&c#vWrSoab=Re+8 zqFwxa{XZwz#Vrvn!ppz!oh#$B7qmCdBgDN6K47l`UnJdZqcf*Cf*#gQRro2MsS1@S z`Q^1!%S~p&Gr9^~^9b|@fP&<>SBFlqDo@DV&Gs3~NMl47K~NfWuTz>{<_MP4Ht;C5 zvCJbg5|T5|Gz-4s6eK%+uSHI;&W|nH19dtO{x{C}XT*W4AlDHay=y^$7frXs-~n@| zAbK^TGgz(U?uD)u@*)#85A4GNDG~3P5>V~^-|>2KRfIFnS46PSAe$^__E$@soF+o^ z{S5x%Ijt^(G59*rRcNJkc^QfpqCn&xS`v<@ei;2gW9n(#wv%5bo&qlK9LPsw^rcgE z8uLYY^IM;8R%vun%&nZ(g$mZ^9>YQ>H4^S=SzUp2E=#4+6q9oNFn`?)j5G29_zibp zGQg7I8N{ohKDy3#>$!80vlPUjcY@eneL1q?D0^UEwyul!KuuANdVaU88d4eO6GXn% z_Ee-j7zPRwd_xM-Lvh`5SvZSp4&t`B37HJ@^bsCkD_@Hx6mwU#vx=rG#igl^{F2Ur z(5yN?pz9^Rl#iC4qgRsf|e-*oN?NLvT(jT2WLOy5_%UQrOm4{X7dV>#Xf1)|QA=huyk zfc7s3nlXCN>U0sIES#D#{TQ^Wn^V$V-legIctk^?UG-=KTi#aR3!z z6hz6%$mg0P8XJD4DuLir(jE(pD*$ zKTx_U_+9YggW^@a2S1hm9V!DnFMM}I^!u;f{b4(tmCJO^SMe`b3p4e;Kv4X^UJLWr ze?Itm|2aVnw=!oTQ~$bg5v+gXJc23{m0SJOs-F9naFkPWsVj5lYU2vET5vPEB{awY zjv)KV^)tgO-S#tjDyeF_5zgrM{W3AG)pj#3#wIa)PGlTWUS@os%<2Vo#OQGene3~bM z5^4EaYn|yYLGmJuZreW5sE&V!`a3ctiBCvb45K~F>9P4w<;KwYbD#=J^ zB4S~=EiNbUZ6c<{biYMxTas$5Y9}Bo9K;yAU`n5HoSY6 zhCLYP6T&kh56jHu3P+@5oEFt^)$`$q{J4ccFOi_cOirO2%OY%}yN^GMzFo=QfL4O={# zHlzD00{kAAOc6)~@?OL*zZC15_LvK4oELHad=%OJCC9B!F7yJ&MhCV6X;=sEfwEz_ z7rh&ojLjJ5D>C0NBibWgzxp#*8`m6EN!s9lZ;n4UZ)?Kq$L3Wc(&#sV32!8|iiliu zoF9&!M6vXOFI%Il@e#C>rKG~4Y(5g)(hkcF3!hm{zsw~4>C)2j#blQGrnlP!U6>+= z8bB1je4%cLW1J%dI+1g=m7-kJh~}Hd>D^c72xQ{%yDwW(=k|PoW3L0doH49}_cWQY zJaWE!mxlHKa-bRDbLQxWilZm79_^G9i10fJ7e?mmPI)?p7oEp{>qF2;I=?L2Mu*2M zJhp{$&Bxd_ie4?}cvHHBJIj1Sy5v&N>0Z>q+C_d?nz)K(z8O$039f0?iy~NFJ>FFR zj{jG=N=^BOoE4~vw7GA}yZyZX09rllbzpB#XTCW%IEjK?_O1@v2Uy9Dbd7|WdcP3c zym1E0`!vop;*BILa|K`W`W2}x=_291`Jv<{t{;P`WX?2?T$06185iW5kDhJLI>G#` zb@X<=AlG~y=;z|&g0mdu=%=p*(XVXKPL}0z5u3a4wdQh``DTgW*u@{vEtg-jcsQ+6 zy+foN>bM2TdCn}TE)pwBMG3=a&qKnW#yC-Gc@1#`|NccZHa)NjbzFVCr^%01q4jm( zXcT?pY{IQ2wEwS}xVvu0TP%D61gqLS8PVa8du0P;W$zu+uu*bTeb zxiuCN%_?x84OSqUwb<+7WPMcTnhkg#J6FS|2lo1a=4-Fu_cZx&b)+M)zQxQj<lIFxfJL*Lcwmz`$bJ6!Sv9KiYz78CL1#g^H zFJaRvLv2E7c1L>Via*7TtI}J}B}nE!cK*)`l61u55r zjV?HAGd6uVSpj=-&1SsMGheXqJ{NsY6AQP(DyQ&y9XJBvjI*uG3u1p-7!pbwl@pP< zb}eBkGCw>|;F^iA&WqC!^w>&Fowc?t;hJy%Ew^N@2s)m(-$v8T$*fHp2YNHlmvmNPYogh< z*C)^N<$<&U9&lQ}oVL53rmvcK5U%cYq!c4J2Yxrv3G&~n;pFeSd0qrjWlJaxmIP(4 z2-i%h%)0`oWjqVo8BvI*A~B^h*L-NqTavX;BT0*(K9=xWGqg98`ELC%#YQu(=HYr- zEORR`^Xa;vS2a9;tVac|SGCKnBdrbopbhz^CTlG2qJF53uy#i6_cjSP6kJmCJvAD# z9ntJ*3>Tjo5zc%@JGK-k-KKq~{{TGZw0^TkEqt5uU?fNBcN6_^y>Vu}4;APk?jD;H zO8?8*2;Q*eTyRCxy;D6r=bk{r>aqN!NGOSOd!oRaTyv{;^uy@K_;Ohr+Mdazo0Id% zF5N89`d!4eTb@cc=OkM;y4kkT)e5<4_M9kdSc{EJjf44R+;)7c0m2*b+h@6UrQ!i^ zCxh@9qS=r4abFQU=CpqEd*`3`Z`cUH?Ga>jk#eIY-+eRyWtln@p7= z?N|fX9QSbYwo0-t1HUYcy*?KW<(h*Yp0}gU|6Sh2A{r3kilBL`y4h*3m}S+;JQs1b z&2)3}d6C~2cR}y@6`ArksK(o$s)lQwl(CvUC(0VuVhdBjM4GM)*2Fd>2hJE}o7Xu? z@OFbSbzt7^C((;epD%l4=m0yHk6a4ME`Jp{SQF1Xt>19^TD(Uo8aaNo>RsK|`1SWc zf3pZm0n-GR{!DMANGkz<%W2bvTOug(JYk+H4eAHTy6}Nog6uX*^@c7ktVD3l5w5tL zYv#JT6NaW##KGapRCU+tJYfG|?FkJk30Pw5KVZMnWCFM(%S)}U(!$bSuo@qw5Qg|^ zc9NTxZzfxxH1{iB(iy>Rn%_osaZ?D2s22u2^|XE=dG{Wr1SG`yFLYfG{t9K*5aFy1 z;}XsC@Py=5c+Yix(m(o!qA`wZ_5=d0F*aRYLO&?D`0t+3z$%*;9n%q>F;4pkHYcQ? z9l8_Z4Ynd&bLKnxIf91oAWvMXjHT3L|MbSC}k~}9R39VLFu2~-xVgC^hkX3 z+z~|kVKsak*UZJw``6Jf#Zyn~&*hJ`mAcL2@E)ZET>a{ZDQa%6`);L-Uw{7nlRy&1 z{b?pjLJ1m^lf0@ZHoqCuNfA#eu`8f@i79`N-*EKyOmVLH5G@Q+E&KoN3ZZMCBIkt~ zOSMWeNH^y!^;(v>HDhvL_H+e^T(cJ3htJOCO}LmxcOh3bLNSk2XWrJfS<~s}plfp4 zl8I2=)iS~oLNH(NTGdBl2Ase$-xSqJ1S^*rm2GRW&{`*}8}VT6@kFzLZ=SmoPklRi zyj*h(-WQq+@!->XeBXQLb2pEt&vZG?<-K~>!CUs9|NadG?{2o}|I2|Y;DoH7s3MZT zQ)7y}XpVk?KAk)90d**~>e1y15QaL(6X|ji=#hmK$52tsg6bvISejq8+T-F+T*OAS zBdAO_*MB_(TA0Ahrm@Ve#_8RW{O2T`@iV#0m<*N2E`N+~ev8eTW;a#PJf6h7-PO#(sJmog&xPSQOttswCmYF>$phehhSllYQYmm z&c-!h3WIAs;2C>@_7-WqB4pyb(9IMH`H~GNwRaR+)66)Jz7+C}^ZQbJ%EFhk%vVJ8 zJGWlRmunXAlFm=U15PV~@8R#>qqGD;SH}1FEe;*ytj+VB8%ZaB1rLZIn(-HW6m_5t zq3;=qM_0==Q+y*L*0k^(gdC3bR=8@lv!>sjc+Ra%X_8USQSxI(u4=6(+%|U!8>rIw zB)U1FwUFODDD_U3qASSYYUL~Vus8WVKK*67)=NRFp2|3fz6jY7L7{uQRegzO1kv5f zAmJ}Y*z~j-@Fo1+dyZBiD7E+!zeVu-pWhJUY{QYh66paG#E$|t;4T=U^GGUtAp(#=6(P!)ypsX(ndF5R5m zTDbm}qP+ske8Ty9bgfA_a-wBAf%t7Gb#g`AuBjMj+^VbCf}5+wOEi!0<*!y>$I#*> zogan=gm)ZY!ry(>o>oHy@$w~pE8w#Ne@(x*0|it-6R8dB55J8pDt2uT#u_uW>aJIl^>`xhwf5C-YGo{ViLLc3e?+ZEdRkA+FV) z%md!Er(tc8=GR_|Wj;|bUoU9Viz`B@D`EG4#D50LlY~FO*Ha^571~&->2_uEVVerMTJ6Z@+d=J8zuLNuI5AkIN}XkLGN;koU_Y z5@-6QABL$BIVNszKwieUw|Ff1U0tDv$cgh}o3gzlB(wn&-hqx(YvpJqByal7NLJi7 z2ss7^B%f|J$3RMRCI2zI{3}Feiy~Q+c3uh2##KQ#xMpD!;ksQpH^jXI0N-o-t!mZP z+~N^lq8Ud*UQ}xFU!vKMEuL5Jx4`AynvqVu{T`f(yu@N{<;0y{LIb9 zSwu6ipe}z=-A$L%xaP;aLvPg)U*UBHM$8VsBo?O8NL%GZG}}8;5qI5k&!&fN&VS4f zYNxZzt>om#>{IP32@j^5<*lz-{C@-8%#~TZMkSJ`$t-iL8hoH2eCbqIcCQz1%>$5j zU9Q@Zns?3aNZZqwFUv&PAfJE-vv}_zDusxrkWby&TSWTb-{Tzj)-@-gRFNaZM_Z$U z;rIXhTXtaLp=FOA?54 zF{f;A7xX5Ra4Mr2K&J{n-MqGX$H}h`iksJk*5>7Grp*6dvDZfU zAwSXZxn?vtw=};KnIEW?q}(_GZgmR6f{a zN9g=L&N6VaCM~6&*2&0QPXCjcuDXb~zy`_MBN3hI-Rz+}md7P@)lsHwcsE+-QFG>l zFGOS9^FTzqR-oZzt=)PgJSH#x7IgDrwKKWRa5HkG9b}oiVv8h6o`sE@LUGAO_D)9E zhi&OWg&t3WVMt49?WW7A>^Hpn;Uf95YUZoh4_-G2LUJ^C-)W|yLY!ZVr`{v)Au0$i zcVw1O5N#m(Yy5G4@CP`dCV%XKP%2-W2BU9SN<-6S|6-~lRKnifRDfrdMU{3psQc7f z+a<2aHCLdRPpD1@J!gvR0~P0*kAWK`^D=8wC8G8%=w?~FmSw)lDU}b^Ou-8-)Z5<(e~*e9GR(&S`k#=Tl#gULQL@V@40ajY_hWBsY(J zz~*+(9rVT-;Yu=7YUIr_-4Zz&isqWlueZSAIjJ7VbU2?dPxVe;qie6IX^2T<8^NPd zpKC_GjL@zXt8L`uUnKO?WHuoGNxRAbl{8{-h`{t^60Zr%;#9GG<5cK|(1OpI zKUiy69md&K7u;;y%TZS$f0bAo%l3-C3NPvWV7wvp#PfLP_Yf6_hyU5#U3HAJie?>s zLjgiD=MZ_JTr+Ducj204L=*Q&q{fT4?q_k!Yv7U=zOq#5C8kHA@ml2@5e6ViZ&>)Y z8sz04MmJaEn&|}P+G2*Hoj!$3I?t0KY?Q(-|05a*iZI}+KIp2nc{;pQTdO`6GKLWk zL0%+d;SqZ&vjn^$^oreyycX{vst@yhx2d}dG3U-W%QH+Mn%5Q>-~?HIKwMAIq~uhu z@|$$eQy`FQrjw^F7M7Q?#t*cymD_BHE2_aGw)}jpEhIn#f`~t^%tK>mau!HunQxLG zNjDSaL`aKJv}5sEgv{-t)FVx8bPDZ)6Wbv>I&CIat&c(POElNSOFBOrZwS5NVS(s9 zL|ed|Chf&L%hBe4jI%JSxWpQN09%1*K6rc24SCaulUy3*6Jf}DYU8rZw%mS2+)yXQ z+{#%(dpRFBIc*62BNqtWyyOoJ{QSSa?ezMSATvf_ow76oRAQG9I)auK^s8Bjr3-6R zVl%Irs32W?m7OoqtcBrEV6f886A^#rU@yPT#}=V@d0O&9!15#ZQfARuzQqOcu%PsA z@h-4A-WI&`)Cqt6{mqPL5Yb1q3fC`T;W0IhK34@LwTaEv`6&gEop-{N6ig0$q- zcrfD(#=3k|X21{q=6akVh;SE7+QM~Lq4FO$c^IejU@SjkFXw=Hw~h2pZv)5s*kX-dx5|2{7br0o4KPYOJ&&Jz zIpV;ukeKgxw*aSJ5eVqEgvw#C>`D+G1C-5 zjmW#rikKU|yapGV4;(_mI=5&18flgaYGvV#4PNWX>BX%q3F`M=SC+ zVKwe4jIVtM*vpNU{FCE+&}eOm>E7+}qxJT{xB=ruz1C7sz8g0nP-VUt z(2~kM!I6g6i5GaTH_noD>r5HGD9+9&*>&5X5c{X{MSr0g_SFh}5IjSzc>)ju>1@e{ zVa#OU^fD|Hqftc%Nd0wGeoj_N#bTSaiqp^h15Z$5Ol|&Rqbwx zm6*?9c0|3X!S@D2w!tIOct=-o50RTknlOH1F<3}fUH6J)HbAM&2e3J_rge><7DRPf zW9fh7$GbB)ZD=OUM zyrY#OIw+Nn)F>!HCg581>&2?x8g(V+C#wV{w3pvig^HTlMflw9sr!#tF`g3|b!zu& zx%D|j-3dOA7OjpLPb?iYKu}}x&4#)S;41Tuz@M<|7`G}Awj3=sINPZxUluJ_nK#Zr zjl>apJ%cGU!=8Jkz-_iXpz|jNb9^DBJIn`WU&E3*-*B6%>)4^J6pg^ z=PvGPq+6a){65`{p2cQz=bpuTpAunb%g1}1TX_O_2Wc$;E%|BS~hf5dY>E`=V8HHDV`wf zt+2J=EZypsxXlS?tREJXR*Ss4C51Oq4@LwmypiHH9byFX_)4er;e*`WupqDS>u>~3 zMkN&Op!}$Yh)wIeg}$vg!lb&Tq%98trwQ zd0p&|w@q>BEY_Ms-cGImm(Mg|F)Jx*&Fx=*{mPM(cur14dyrUnM_^t&f~)Itv-601 zt>blu%Wl=`%b&-sP#29-XG*uCcbSThIty}spO7K5qCg3%b8q4Gl8OIW&X`~ z@CgRrydppq4s9{#r9RYJvBF_9dwd%1`tlKtx*#w^bgiKGx^!xEL9kk}kSn|yF zdaBw&{kKysVYOx)iTOYf+gar1t<&IG@p0sxl1nq8mT|Gi+EFE|)EL{3?EyJxXW#>F zYcu|Jofdw0=}ByVDKZkbP;+b`GCy=Jl98Wo#E2}t%oA%xvUEB!xt1avK66uCIg3M7 zS#j=_UsZ;dh35Nen6uCfD>0wZoq8;C-c5B(fmAB4tIH&<@*N(8z1o4ZYX1a+q7*1M z+pRh9<>nEU`BK99D>w^x6-!J5FXUx{*wdZYO7Bz>=LZuOiWRw`a?pD&1ZU`3Fj+>k z%1KFT4~!#w$R5bf-st%iNYu*|&a_C>>BvxbCQ#hZn0q^Yd}jDZaqdkEwa}VTD*22tbN3omZEm-V(ismw`XuYk=bVks3UNN#X``uM|!0_ z3mfXyT^P~qC^v%?t5vVFd5!Ao-Kt(Y5me?gPc6Fe`dFD;3!6-6K0to`A`7xqiSdLC zdVYFxbum>lEpqicGKq9&4xdGk?SEC~gipaLWPAu2DL!?>Ol79tB+7eA&b=Ie@kL7= zRw-?3n*jsW!>3L1_{42=0AQ^(SE_JJuP$;HBcSBwUY*Ej*0OK{n%r!0K7_n32VXuS zyKeI`Z(RHpj52Xu7CbG4cEZgIhdv>L*e!UzdGYJ)S?M|f(!?#jGg%d*a&o{asQD6tfoj9rgR zmaqiRRw25yY!lQJ=ciu|tQaKIN=8a(EWEDX>L&1B5bN*l*}EfkRSHMbnzuLGtaDTq zpR$4;RM)$G()4_^X4x3Lm=U##8u5lvOa{u$rpHA^ENU@54Hjc@I5Caf{Az%ad0OJ{ zJt?^5bWK*59f}rKPVS+a+`=M4^MU$vZEklxQ9Ok@aCi``?EDo-+P@Ue#!1@s$T;uN z#jxvF<7xe=7zr%On3M zS&QUhchb}N8o~L)ArDcNS3_{lnHpSOJUMX`5{NvkehjMjwNlP;GPnh)liUPAB@FB%V$ z7xe!Mr0!e_XM?2feQ-iH@9l8xEQ`guqM$fyY0VY^`joUNsJAXS#>#er67D=nf#NL7 zr;^8cvQ4+%_8#|qzN#paBPEPf`jlZel6QYWD}~>G&7_sIt{C=#Y44kAsGsp1r!7Z% z)5y)6UW;&+t#(hOCU4yvgT&K&p zq|ki9qJz*n-3aGp>ZM+a&TBG3&q6Il(lJ2*fP<_%bL_0fdAw^a?EfgvDw>g9Af98r zaj{ib8!KP*$7miOT$MV^eRb_pRLwLuhGeV{)~J|q z8NMCuwFE(BKA_yJA~z#HZ3Py(>8j3kiSd_Hvnb9Knx8OT_fF~L@K~bayf|}oF10f; za|8f5__{NiRYaXiYR-kOVEFj@{nhnN=S5GuN|i`rzGIi}(Oax@#`?I{Jg8$9>vdDx z6KT!c-!`{c;**+JkMj_@IaZ_#36lErNqia+J85@yg#S{^dgG*Z>;d)UEuNXlRz8hi z6!26R)K)oA3ddKz!o@*+z>mtHh)QZMngM(GO01ctXQ7^?xtJyfz=74BId-O}KE_9O z>z|DujmlxU^Q2KeeQZIHwdU<+Uhl-J)$hf6E7|l~jQ37pvggGum4wzirdj;4a;$$<5;c?o0%7GlI}u`Cos+bFKm7YA4(?WHLa6=3e$y;?G|{ zvlvVonWkrty(jF`1eR%H0GzWt0u`l)2*4Ovle=)Y)3PTm{BmHih)ZRr$aYrQLtpU~ z=AACBr1x7gDthkg>#LT>#lx|Xyf)b7XEFvQ zh+_KlxwNa|9JS(k)tXlbXz>i*HSGPn_;q(}Br!jg|0Fb2G%~H+bIcBEw4_ML6j86# zCx5EN5<#(pbG+wYXINqd12Iv9->a5z{nS z9Ie@{>tFrTD3gtt)IJ?UJxc-;nJborzf5iPa24<6)Gg`ak~DfZCW}CWFR)T>9w%hU zF(}}=DbC13^G;xjWtMp?3-~W;_yD!!Yk{IO+2-w2ghh2OW{m`J&>kEdI1`{Kc5Syk z%g)Ew@2~S0oU?oCEEv0j6rR`5!{)6YSnr=@TJz@(c$mmdZ2eSu5q^>N^$%X%WA%MMxCK)s` z@+MZ6Hj)-*?Nj`f3>vdWLJAP1g9AoFUX1cHE}NG>inCkF%$a-IPA;j!h?b7et~I;u z^HpB(A6aC-elhlefjr`RSAIU(f8la7$bz`>Jn8&?O?X7z8Fc2XnR-cMvPihlJou7Y z@uh)r`_pNuo>CWnx_4?;R-BUx%?Go-{z7`0yF-zeG=R(<4EW&a&Kx)yu^7L_m@NNt z;CKahT6DM9H?kW`OHIA+TV@taq1i{5d96-1AzDZ6q)$L8}}Z6*3-Wa~)LYI1tI}P}6Y#7;a zCTT1=yzob|Fn5P?=I>(eU`PQ-#Dd5Oq!FK2!}lsaRSGIH-hlhdq{Y8Z7S{VF=jX4V zPrJh;nNc+!OcOcdp5#!PiA8!dd=Z|7MdAS;grrQ48hktl?2F>;pTR0?{FLhRWvjDO z$$EbJfQlJUoR2RoYJZ}))jk?ii&8Ld#%tjh@Rg$x&!}7Oc_h#tx2DFtR(+@ITo7jx zR-CCEUPPkY{95~kiek8p8SI%RJfb+ym(HxNaCHgsRGig`@}yh6vue#disyEdd1hG_ z=}pRKjVuxmDZtU484rN?cgnCeR`Jjs zJcOJPWPG3d;+wAwlPY=l8vbxJk#rmj2`XrHIJ$8-uYRNA_N-+wByb4nk&mz6Ur+xB zo@3QsS`qNjf07>5*R|qfhCr>kE5)+?^DR~1OKUt8FzunPtI$N@DCOLb-VIxPiDg+vNs(}p-|pokite<{u&q2Q1~b_b;Gn~T;w z=m+PSOIDrA1b45xWfzLmQ!OP2CMqHbtXGx!{>i*@vwHuU$`-L6>s36h zEx91p3XA{pT4Tt>*r=pmKp1H1j6~XaZwf+)v=Hk?#oAXBnh(@{xQ^>)Wx;-=g7(US zQGrkFV~e8(gs8Fkxm3sB_YcLt#;%4hHmFPxio&Jalp$`ok=EQ&%Xnw`9EwCuH{)HS z7=HdkzEN)WJZx(;Ch6KS%lamZd#&wMkyBHoGZ!uC62$ADUlY?~gKxepJWQ5}uFkSr zvpO78bFg4P9!VHWwYrN1qXM7H>v7IcWR4mH0+(U6Uk(h!-y`Aa&v$WTWL;ZnPH$27 zGGVpmO;yu;D&+NGKrG_lu@fINo^9&B&N*(6pwjl!3#}UOwC7REJ2nfqNOAZQ8}X6UvKYSra@B4VMXcImd`)oF1z+cZ}<1uX;3 z$V;ySVYR+c1jK={=NZ{aagta~3q* zV)#627#NFyo8!De?#UH(!?QBdqRqKU%*9Hr%O9ylY@|%$AMY>!kaiYZb&pKP=YgnK zhqgB%OeG)xjP3~P^?dA%?K4?f=TU}GKNPVz5iw1X%OXmKJk!BxPgJ*i;jH})C(;g- z>snsv*a0yZ2fKcRiVz}T@g8K_W`)ILBMbhUWsVvj5C$N$;=Ez_sDeyYY*dS4x1;N5 z%`M+8W}>yfzAdm&5zj%S{Z~Uu>NkZV}yE4l1c$iR5Ox z+O^6@3&;wxCVL9aQ8kWG*H4S*noCjffZHPsHh72;6q>s*eMjE3a6%k7o?m>RT;S-= z!da4X2;-wV4jBt@yo#RVydgQOi2#BK+jZiX3mQ~!c zFc*?c05dm>aCGOwGvE0&~0m1M~Ej>8mV zs_hEw$I+U%lQH**jZ&GP?5TV#+>I4HU%VRh2L3x@;?ofd%?E?l;*U5*Foou&x?n*l zG-qU{eIHpFCOhBZ=+4OHwOzY-<~hwcfU`}4dz^OwefLTwRTiWn7J`U{{MT-$%GM%Q z863fSm{@DOBXToB@7%)=A(q;E4gWq3=k6Y9AXH>N@ibwEXub%8r5zO)6$32eYNrmS z(0qVD?`0>%W8hJj7th}0SW5~!?oNs|p(hNI)Ho!2ama`P99(G>=MB<*ubgd$5}=J< zu0M#?ng?rd={3MOG#wyrj~2n@Cm?-+d4*2z2!fSe{JVQxZU%|WC+>q9C!HDU#f3A9 zGS*X&qzIlCQb>N{V@|-fz!LSa*kMoU64IOO#B{LZilFUWVquVE$0rfZsPI|A99EeW z=MB|~bt*|rMciH$*Q(2Iao=?hfNt$wy%rvjrZcjS^wTx80o5qL*yxQ4K^IIcH*W)N z%<`NHd<@m4?aN&s2%fYMPiIw}QwYrmRGh7Ga~FkXHz+!jSJ-P$P((Y!IGF(I&N#ph zC@Rk8wAk#n^S9HQL+rFRpi(AI#=6}^>?Z8Ck83Ec8Bk?DFqNAHpC2LcjcnN^34$;B zgOko&{Mb3?I?9=*E~+#w<2q-{CN%F%f2xFlgRiJHJL4b!9B~<8uT@C2T(pL9G6$wR zbdHx6kcZO8*YB?l)wm+a-h4uwzj;CBvWW3=Hh^gb>XL`>RKdJj^Ct2$LgMfRoEb^r zC0MyRu*b!jkGk)SY)2Dl-xO68wUIkD$+UGSLASbGm&0_xI0VKY#xEDe&a^E0u1l zZ(r-5X~9ivek$D4fXhGj*7ek7y7RB;E)M6mgs5vY>c<9vGvs8?VDJa$1wd;nns3Vq zih8Au-wjEcyWsHpKUAo6F@exbJkbq!z$Y*9WMnf%2qxeE`N@jK1Dm6JCeGUp-DLpB zOA-9dMfo1*`i>N#J@}rzV4(-SX0EAJ8lF>Zx5sF7pwVXOQkS3{3s*R26ox0WKh=1q zc!cl``LkxSSb|D$4wufm+8A!_g;xpHVpxrH-(o(zG}G9O0Ud5)KZ6r<*|_^-u{-_u{gTNs619@#-l`tvke zv$gD7sY2@*O(pkPeTEH5B5s$Ptxak_2Dms1WPTrU6y@eYK&)-lPw$5%4wbeSZMI^A(}&&NIAdD94QCOhY%oa0;vBm)|4Ms9J7kIjSQ z*>j2iWU8VJDv+4(-|}(7g(uA@wbs17wZcKg6C|5otOA*QW|Ets)Y}#t!egLI^VJGq z_3Yp$OBCG;BAYh0C_Jt<7?0VZ;$(!L!bj$%=_4>Z2*HnF18Ibv)dk3UI1mQRtXQZk zi$_bA=1Uak3xNVO!i!x`6s-bRZKlzhWh(QN0iI!25krk680XpfYYvuNt67B{=Q`FI z&~917cW{K=L|XH9>oW09L$Pa~oPe+k(o(nrwdSqb3S9|r{NUkI&OIK&GbIOYz>%Aw z4yDoLW)<;Q!Eu@?>Te4z;x_?Zlj;tgnFWyG2Qh=R zz|N8ZwN&wImCEe&y$Z@V?odK<$HEbb~o94;NMpwux|6;1Z2HgXItvbz} z2eWgg^Tmd3tb<~;=Iwb}v=GzJ42DFPPUk>~+-yg>Wr2_D6ti^OOmD~m66PfBYf}ZrrgSE zzn~Jyg4xwaQWw_}VzU^WIA2_7COA-QCc03T$^v^z%pu9)EGm3p%&dc!?!3Za$=Eb+ z#rZ--hiYGy3g#m_#j03^kzUhVcvPTfl*rH#^QV!d{628!{?0el*=6iMZV~MCY>s4w2(VDkgE80WXM`gZOCyojW zjD*fWxfywV{M1q{4|s<3*=7Wl`Jh*Bz5p0D6~^cAMbf}Mv75>BZU9UPUw;y703#pJ zByxd$qyqAy+6YF@nv5$OGYyu!qacmqe4#EV-!bi*b~W?zfv&je8ZhB&{jLte?48Od zqtwrq@5;We%aiQY`wD_jV1%DB6f4!OS9Z8Xxp~B3X9dvzkhPr_XU-&;dMeH{`OOq6 z&OR`|ejP9)AJZywhJB<3^6J_GM$WPf>RNM*l+^K`RdL>N&XcXz{;FFQKhw1p@70=P z(_7f%I{*M607*naRN3k{caW@io<3}vg)N>&1>d!x_%7{J-jwUPGAHI&C7xu_QDZ4xHlLE-@cKU7&IKe3y99n`#%h+=o(` zcLZ8<%O@*eS83^p+zd7KfLx_g#Nix5jA?I1-KUY_(I}Ifnak$d=2n7&{c2 zRiNUm3x#H~gCF+z7Oo6?#{$e9q6Lf}vLn--6OEKPLOot_t_xM+=~32N^Z8qsO=hFk z9GF#iA%&i}Y0NT;xolnKz|N0=ClCi+PV=1Bt$Q;h!5KD0@7!nI_NxpkAJ!$QT$|Kv zG3sZK7bbR{H9k}N9Q%P+s5O%_DZ)O5k;}r~u>kWeSPK|Goi)x=`jlNpp_vrP67yN?To87R9f=m?BQS)>naOnLnZnyiaTcUN z-q*N3G2yQ@x0K+s;+LHSgp7pnIb~!P==v_2)(oyP?~J@+<93i^SCPNmjQqeZ@-(AD zsmyLw50ck%6|~0A!8)$9#{Zp_$@-33GpUm$?6cUpAnY1b(k;#fFoehj|99Vwm?^fc z6z9gfGFrYHqBRRHI_UaVv4jwn;NS$guSZ;9`}BdMHIEEuf5vaNvBPsJbCcR( zAJtFXM;3)<0hCI&fw4pHIY7l(28CwQNTRS$Wa?_LYfMSEL>IsiB6qUu&XYy8n&LdJ zNfp<)4x-!0+IlcL>#Z|tyG&xfe?5!VylD^G@ql^#3WC=Bn#&A06*?RPh;bV@&I!(d zVerb}9B5=f79Ub7JrIwzGs}9<8vm&&<79Y-!AW|_74x~QT?h7y188cRI*cMxq)So3 z87A|^^N`}KwQpZdYksX)z3u8fkd_B8L5p&fI@Q=Xb&k&C^VDR`2O$jpTBM3ijxuur&&%Az2 z3xUdf`7X#5ta7al=CPKzMnTdgU{<&aBXMp~HNMAosFS`@9|Ck>I3aUXmWgqr)=ZR0 z6!T}2nmsq{6gP6EjP$}lB6S+qKe4a%&lkW~#o0(=E*5?%%~YUK)SA1#{wjHl>pu1J z$8ipQl`v4TxzUmq>7gaH+2_86J3cosSdc<)b{;rg7rg8QUQ=Vilho^Dx#ayBk~S~W}*vtz*op?`K+)*Mf-?_}_p)7E0`H$$S#GZ66d&(Kg;Z@< zuL`M+58*!6iW$xH9)W@ZNyr(#fR6@y#F=BEGM~>GOQePSRU7w!@f;>NGK&QtU%$W3 zfA<%BjZ_S+RE|Nd`Lgr8Z$t$mQP+3Hc&baf3hziEBgX(m4Wb_NUA44ZQbZ-=JA5AW zISd#q)}rK=dS5F&e@u1-M|c37X}P(=E~oFc_QS&!DW5I_#|3n52Wn&PX@aq1hjR&77QoS zMO~#a9VXMq>dP+&3h2_BpFS{NwU)9Veo_5NYkn#)R%O1M;q&f*N?n6Ct61{7i_?vH zx3qVVRfwV)l$!-|bNC~$UFyAjMMd-NtsP2kPHj96jbi=Q@GKy9Aov_1$@<`FDZ=<9 zT1*f~6EtBa*d0-T?D%wHIFVi|ij8Tq?A%fMsa235f!8Rd#yp5Tye)3VAGPG)OQ<*O{BJAFG0OjV`_1SB4?&h_70AcAV5SlkV%iBf9`?tc^ z4I{3j+c;^QKEewr%5BAY|LN(@Eq^D;bV%(#v@hbQufBe<_ZUnTA^h z1;u$9t$FLQ@JR@(@AJ`A<^vyf$w%Q0v80$WG+v9p%6zGMrm&n$Zhl4OFeWN%`$D@J zBO<$2?Xs#>kg4S7?_vhCGpP?7mSs)oC>l_Iuc9l_)eV(NQsoFrR(oEJ{#*#oQ^_CQ!v?Y}KAT(FGMG_H$P<*M2-&en z@1&VD@mz$lNrh61uY+#F{#%r&fIr&Vj2U_{;>nx${^!jythyawgO^q2@20y)t z1>!f7k;y`6vgYK49f1JCen$}o6&azp`WkqbJXG0L|fWRS^{2PbO|AtOwd$jQ-7Mz~1K=RqNet2xG0J54#xfm*ZOBD+N#?EOsr zlQ<;Rnm5t-v}^2Tt~vg_{q&;cE1m>Se?CV7<3(weHg3t&YZd|}+WB3F1M7Y{T5Vms zy88cA+8M2LTnFQE@O0y>J_H2N)fSJQ9o@G;D*sMMBlCsOd@afddjSWW9nd(8E26?h z`4J>PEfs_>InDyN*#o8IOJ&0NDFYjBJG)UC+XWC6F zK#k~Ja)KdKr z`tIJMSMyrrW~0NQGoJnH^WKS_V;vmm9~B{3N5Ud*1P9a4iZg)2=?JC|Nfu^}pIO_L z2zCJ)P0`{9 zqn30k^FhemXT53}Zxq_PN+37CmL~gdy}&c3ox8n_KDXM79}vGBa{xOuz;W{=A&M}m znGh(L3mFc(0F7yqof%q0kz(R$F}ku395H_s=aH4}xW<=MYks9mfL5>lURP4Bxv_AE z%Ng#0dOUP5B$`V6=RUWdQaSy??8?TW@tOsUeC@+)rQenpG`G~QSlSr}`!S<>5NDxz zVoxRlwinuWvk32G5JHMjmLlZNvHVUwG&s76E_dDe5?w2=#6G@$f1Upxs5LvNgvIng zmD&X{RKJ2_+@wn_b}!CHB@%iXvw8KGGl6n5?D+~>YV*#yQ7Uq?O7`~|A9uyRNzmfD z_Rm~!Xo8mgP=sVOzj`U18=d_9Ou}scjKPouLk*%W-Bp*e* z*`!;O0x0|R`Ke;Ic@0MC85orA4v>+7RZAV;_Ffw|u<5w+->Z)x2hYa$J`xhcxQ8XHWIxc8ofQYsQq`YD(t0Q` zEx^UBv5*o#&hOMWvR6PbPlVuwkTMfgd1(2rlE`k0_r*Ns62%9bknfb6wAA{Zk`q>t zX1)xeApK8Er-|bP@(BNP-o{6o6KUG)7j8Y*Cyu|exZ5oJK$L1iFO(IW6i@_eMh{X> z%qhz`Pv}%2%mF3rX!mhUXXDdIE|0QDcccac(2$j zEN0{a%g8?7>KsnU^ra|GFpP&aKMS^>uwtnzRxzimXz7EJ(8XAz4_NhHnY%$K0|p;C zeYh&X>obfNz>ayV;E0bZipfV}h4d&>qS-~p`#*ThC{ZJ%Kx@|MAc{3KiTJ><(-o^~!nwej+2`L>A0 zXAU=BDhcpYYRnE9R;SKJ3Myx%_?Km%^lgnBK$PpkoI8JqNU`Qa!3sW%a2$Em-RL#M z%1|InO~3N;J65ev$>VX03^-60}Om1|ThHhFMqQ`xIyfp{9bCsQB z*8&JUZBdQJEptuNJ8Jz)aczTEtXM-)fAb>QL&iswEaiqwT6)32m%pe6d+*Is02e^# zW*jiKjKt+A5;;pO) zaGTRbaiqI*J|<@na>tF4X6u$$gV-gX&%zo7_QU#BI&@Z~rpl$>1^>NYelT!XyLOS1 zzO8Lqcs5k#ON*E0JIqE@Dwcfkvt+?lk8FRh6n3v!wA(Zp!RzH+2I0vQ8c<&Kz;0FL ziz%cIUfGqc+dknYcjSbd(e#|thhl0-8%sDCx&?uJ{9S-@OpNYQ;%gc&YO;Ue-KuTd zBjd(RrL2Kpx76nFdVAd_k7H8+{E~xtUQ<#^?ymnV@FDVh3*D3CWy@iCaVmeAVwZRx z#7#0>gdOB{Cfd{#zNQD<#`wOfZJVAOJ(Mu|b#s~F|Tk##iX&&s!Z^da_G@y7!X z?t&#mnzWQ(q5HdZshH*c#{V`-&a3F1ErJmM8u%q&4)z6^Ea2fv+e&}=|j#mUJCofBLC$FB!90-&->!x?R+Wrmm2t2(h(w=H6r@Lf|IxQ zl<_dV(cRZyBz$&0-^xkA*v+)LzOv2QtXhQ>1C;6G-pr5w3=*xMKo6LkOc9R8r2fki zEUn$k#sYV5&<55tY@WH1WHGtL?CKK0LHiu*bw?5zZ>{thBVfSv5 zh9+b&v_2S-QLu*&eZ8EQWRx1kZu7DUpk~*Ou#|lj==uCh2(QLWGGVN{`vpTLoyPWy zcUh@M8h<5nrh}okd)UT66#(*gji6fw->uFtMFF)c&hrDF0IMSH6jJMl(jO`HhpGSCoAwj;mBfSbe(u$ts zq9nBJ{>4A7=$pIYKn2TMPBT{Md770L+0PWVx!m@hZnNTvu9=Lq)$1k?chi?x7qjnB zqVN9vIDIa_xgB?r`Odk@CP_PagYq7F`b-AHf>KE8yxLL1t|hqRaB5l8AU{TqC>y(D z;88~)d+}^MVZ5Z*8U+!^Jt*!5_*47#bUFD?s_Tih?sx*7I$tE?EQz!26t>FOHLM_= znTbTdyGmAG$%I$ES}yYEyIa+W!*N9P9NCM>ocEcySJvOETpXVG*?nr`F zwuME%f&EvS%_-=s6j9eO0YONnXJ`e~?b{{Sb)vj|&%4v+;S0~vu@T#q+2b8X2~@q9 zI~6_wWgu|;$ki-Z+4^2GA3H+KjIGZ_2 z{W@Imc5!(QZK5^)3nE*0&4Jr)PqPrts3Zw=IJb9G@@-8ggpaXS3up_Ygpdd|0=-u+ zUELm}u}o&@9KHeimHp@!M#@|;eWLC%*`JRouK0e-Gnw=9i;}_xty#*keSQyxa7c+< zQs7u017M~8rPpV_RTka{o>61nT;1^5iS`PAH73jDSxmsnKh2;#5hLN1R$^`vH2D92 zlIDc1?tt4^7Bm|1Zgm}y%W+odICm2_IE5GIpK9Kx&6^2GKY3`~XCTk-XTQv_AziVk z)YW*SwA(4QgBP20K+`*CpK5-SWkQjXSA}@Wvd`O*RbIhxN#qV!Rk^;DVGhrCCt2(( zyr)~^!JzUtefadrvd#K?X$62}73+{rD#{Yo>BqHV;8{_+ajzkxy|PK`PY}b<;Diya ztd)F8;GOAqzxN(PrN?&c9`bgy)3b}S>i3%MhG_K+_OUk!YFU)TX_N#}Vm?d!)CbC^ zxih^U|p;1j4?$e4KJIGS#)C5*yZ8E12V z6n_g|;_|9+qv!j#`V;w8fnv&j4tAWbi zPsBff;GE00n?&EggpC%DKKv;gjw#4#Q5?=e3^F-K^)!d~m_O?4#tZjgPra;|dIiRM< z$|3K0s~t`8Y@QMgD6)fTJi@B8SV8R!w|qxS{+~S!)wbz}Hc-z)`^|+t<2;JLC4*xl zSe;O;4wdbtHW@bN;rRO3BAfcVZZkmd=;2#Q{Vr0QrV;aA}H=KuEh|{NM>Y zlb~uxac6w7?E=ng$|>(k8FlVdJ7bTpv?h3HX%ry3RO;gAv#u_gq@EN z5#~I)L3gtqka^{IKE?3uD8J|?O|ZYr)#bGm(!EM_)(aTBtK>)3Orqwmn1MhWOKP1n z*bbLRE|tok1d41(bPGf~ata@q7EjkEnyv{AsL`uLV@RT~0^isdUk(!umut*>hKJkO z{kk_wY&1!N#&d4DPXyhxoFqE z=rdMux=g;Q?~px}05l_LTL)WtHWAg5*0PR%XytwJA>?ZwExKfEOaNdl^r?R0;73ML zb!gFdq^}*MQzyh^ceWVdDQ78N#uSU?xhd;8p+F4=_~r$POTme8FDO;{YpdDuxzlNg{}F>rCp=u zE^wVSuhd)o=~MjY_OhUr%wu`AR~@zue|ewf>oda32!lTw<`0=SU_FBVzsFXKj@4gvHE*_BOeWFkyNnC&+6HW5&( zL>cEbx?wevOx*U*u?uJeAb`d_=gE;6Z4OOOeb)6L%@e_E4OY1>C{}xwm^Cc=r`-0( z@XZ?RovIJ8D@K>bE@2V`u)kp0>c^a-n|(NrFiz2^K_?C;!KWi7kKdHYjYpg)@sB*A ziMxuf+Plr(%+~@Er&mwsa`h{x@R{514|ff#Ibk(HW&cGk@xbscg1nf*@#`cnNjFa8|sVj;l(@7p<{$L2xQmAGo1aVgwMx**RwT0iBvX-U^1S zm%t2FuHCB#5`%S>^p#qRO)EvLhyjX8+qCJ&%dYOC{_GK2`+eaA=wI1f@s2iCOhln@ z5oUzAyux#0$+Q*SE^YZ&7=t7@Zj8R@-xZ}t!QC$u)qnn8Nt=EBaXL4yJX+V0c&4=@ zrGG6zd-yxL-jqFfs&mHFy{SQfFQJ=3iGBjb^dbl_JLiOn2-XKtk!5dUhI#g-5mQmc zPUo0Rr~M>A?DJ6Pgf@ctD|!4Meu|qqq1O~ zohuUl`|sAiHXlmNrEqP~nTxYM#ok&EFj}dfSCwy9?f1|Y9>xyH+HPck{xAK-`GcGU znwur7CDW+McrrB}<{-WPG@ow3%FGRdB)$10w0Chtso!fZNb@^v>WFuj0WH)|O-+c3 zkq5zXXj_Y?;~&Gjm>1=ztqdv^v#RA`sYU~BSf8Jdt9&;4LIe31LL=Z@ZP!(XpAvNg zGM;&o-vQC%O{mdR_eX_7ZwkKjkM9eX0}^^P9RR5gRS><86_zn$9tabbKuE|8zy15}!WvG(@h6U%FV$bZt`zhR;33;&sN_y~a#Q;1t_ueBLZn=nJ-t>2UPT{Y0-rREj#IDw;qw@%w|FX;UV-$4^8@$}h!hD3gR z`1MLka=eZ!8Z_4W8O%xG8GaGY0>i*y_)kqq!C)`}3WJc3c@KHUcVae2PYhiBa&Qct zk^Ld}8>Y*>YJN(+!urBsJF{U@bocT%zNgmfOJsv0J1k0@O?k7f;a!u{MU6TatUYVw zR`evNS@%rH6URicBnJxjQc!TA`;#o{Ww`XT!JcF@tiMM=om7NYGL=|#W zifLmQG%8RlLakJ@;a3niek%W68*XGJmk%JRT%Rr%$6wX*a8B(bA%CqU#BXZ1n-W_a zmFz9(BZj|2lTg4x?3Fj+Ism2z?B$!=%Q^dZk0;ll%Oey6 z2}E&#CeR-$nS8!cDoJ0k z1vR=FqAzkZi}v|wd`=n3(;WA&_mRR#iQqr}G~!rb+lcMD(e3eVw=$31DfN~CHx?U= zaE@TUXCUSwP%N5tI!LK61^-v$Pupk`5AyQA=n!M(pYlc8D?kgaoWOfd3}| zCopNuBaMlw6o_|~E=bfnGDk!Zfe9JxfmXx{=3Ze=LH;weLWA?kuulI zr6i`#U}5CaQCIAhbBM^lr+>_Y5`~-BLzST{b)Z`7CpaVFv_5TA9f|R4Wl|!~Ulh}7 zRwYGzek9-ZZB?ngGAQS`us^u7U(3zc&3V!cN>$(R^~Cz22D=0R3-((MQR>dZ9T8Ab z@!VJ)Cw4@#{ra~nn_Wrau+J!T{8!IUZyPKATc7%0U)K(tb5)1#z3{Pton~^f*xSFB z-HVsiw19$(NA{?-d^PIBPW#OM%L$Zu#F=aYnZ`=11jcbO^sG`$0Q6g4{$qmppp{1? zBuk+;#gh()5N{83UPwFKbb<_ZMh(Ba>YeNFUFAQptEC4pjIry{gaSW9&R8s=wJ}oS zBv@HP&uCL|G*wB*$$|oHfJkQ1K&1bB5_%k+hZ4yR<&Fe%XvdDDi$c84w9oF zwA$Q!yi-XYksI=6mOG%D zes`bdgYV|nqt*PX;nM(#!PUodW^(m>YnIwEJr711zLSLBchMTLq@ zO2kHu@DJIJh3;d8ed;fO8lg1W@K79p2h)|FV7{+8aa)W@u^!qVMHp18wj3UGrMKSF ztm7r)s!_hd3a|QSTT>)p8whxmcZj8Gd-%&xzhUD{$y_7XRmlV+#+^NaUXbFE+NYIY zZPO<9JqvK;%`Z!<97Q+wipI%kIkMbwLXXE9AP8O3;k3~ZS)83C-XW%+Z+1HQPCuA% zU~Ah`tYzOcb~89Qzt|aN`ofLEuE0{zWpjAI>?~`eMA-!?5mEJKfR@A!!#LTv43Os# zi|iLOA+F^$W1&#qRDh(0)u)HtT%Ycb-gA&EyJOWEpA2hq4Uum-JcDs;Sx>r6i$qbe@gm>3Qwm|il(G28hbBqK4a5& z>*MBGRpoBz%3EF$tLf|hG`2c0RONZ&n)LNIsWD4nv3a^~Bk`EpfV!8!I5{Ws>tBVZ z&pJWQ2reT;alft_2(tGtSHMYo=QcN%XF^*eR#cPu=(hqkM#GoI=W?I??k+BP9PJ#ve1JDC>kZN7E#~@=YxAwB{HsRWqj@&A zHy;Gcau$X9r&V2~siQDM2yWlw2FCc?`@(aG$$ zs5i+w;-eNhk}uo-Fn>k1W=>PmhSZ9=&q)g)e6~e0_*I1hB<_|mJ~0j)*A-sKK7!I7 z0DD5Mw#-VF8}nEVe@wymb{ur@)^1S>h|wX&I{G8RFP(5&4*AqgI+k-zw?m((ree;e zMGRn?lpZ7fs87~AKhbLWNoB@$6~o488~}eZeWLHjYlcv7CYXqLvTkB9Bg(A`fDZ~u zNydTnUyL0rF7S5=^gTT3XkLp=)RL|DgUN_~o;Cj5j5#$vC^Jq9f*+@<$_>-znv8_; ztzfuTxLZk*T!11RHndAIe-GhkGTAKNUN8j-kg+)Y5#`Yf?FLdzVT06y z5BZ3eSBzs?H5&)K=aoNb1>GKs)xttkj%X6-<@HSi8H2aI((+O;Q}PnzcfmNc8bECn z*>?;fL_MLn6M}=r(dl97Ea#77?34Ole;ZO5qhfFB`cbV=7jW0Jy()wKX+B@sX*E|S zrmL!jHe}dvumfvU5Uegg!mGa;ZS!3S6MdtT^ z-w+j&)>NEdXB%D8$8Wlo5%mlWXMbDtpJc=7exu3R%pA3jiiMN*>-u->$;oF7qDJx; zDIIYhkGbD;?N28m-KB{}qSv4SOfl z63nVnbKI(AC6lj-v*8q_*f}Nwx4vC4>>L2J?>r89ja?NABrt0!t})?NW#1`c4fBGW z$|H><>$8Tkx=cf?!o_%6g>aeZ6-si}u!Uceck1BtnGG9%g^5;{UXO&=-b`d7s9#)225RXc=Dl<&`6-oMvMl>x5Q@buF znKRo&S(Q-SfIzKZVkuzXc&37O6C?#<+15_{*XB@cr(8pWuL#hQ068T~z@MPW1Pg-5 z+aak1+X9|V>Sp1wTr>9Lxf(jz5@Jb(!9~W0Yg^`P4_V$U9s`{-Qk}li6GX zW<;{ZS9=ALX5P{HX4fW^kXG=&!a$p@>&JFxC093XNB;kCjVVd5NgJ8b3l)^d>X@FO zbRkEdt?kM0yX%LzLWAk#%h5^i1OPNvmE*sW`^otyfp4J2qMzR`DOQ}kDMpf`$C)a) zD9@Nu(y4YsVeYn$m^Q!70nqI|@aOXTS|^UDdz~$%J{rsht9Xfkv>Rlnh6rB|jf&js z-<@DEzY%1lMkM1}Q~ad=gXm*X^;Jo9_Bv zB88>>gP>5jMn73OR*51=yn7r?v#*GD8F-w3-?TSL% zu;sh*6e&uCKN}mze{P{+r$YwjcX$6C$;_Y5% z%u}AeJuEF(FDtgvOrGv`Y&buw`Ul~>zDTE||FvK<9#91bzjTN!n1A&* z*CTGe*0e0!(^kHMn-17bjT)b-c48&B!ffSSBw0pYZqBhr1>%f~8K>xkR}~%|Kl1NO zP^$VYv883c>kY#|Yp~Z)JO?sBhpOAk@j-uG9MG}Iu^h}}nVZDSEgIQkJ=%pI)GP=@ zo)3J#0bvh?sdqZOb|4%nuq4hEc+prkZdXh3wWiI_esSTfU-o+mqpFID?=HFtRU*m* zXt3^0&gLn+WlhfBpAh4s&cDV#e-jdrrL6w+Q9+p3*}j})9+{IorLZNYY~$w)H}Gy_ z%SRrdv*IgV@pmmn5D<#=4hl!pkDsvejiU>jP+Nb8x;O!0mv^@c{$Sxbjlz4ke^{u0 z%Yjc3)99`{<;#Qcyt6Z5M~7nO>=XkBBDq|rC7a5ZpSen+#$q`1 zmE;JrtEjN|KM6rIpp|#wuxHzw?=WNJe-nB%A7wpjdsVy=&kAGpSCnt)T+WMOg?+x_ zwfyj&YgaNvBH7$VB??Xb9S&Eh~imByg}nG^~v9=fFc zP^0%NLfyq%ecz}yGP8LVnr{?s)i zv*t36THMQf1V3_(8>5dF!^EL3zFWWiYyP-NZrEjKBR3;$Z3K`eF|YITOA4$83qN{x zzxDP8#l(RH3@20^_f^Shq(r-KGca=I;=C7T^oc1gY>-2GmY0C7F{=X?1iZXZDIM7w{NbM^qJdmYDY{3VqxM&&*iDe zyZLkV+#)4eW17pUrtaJEq>QSSJ3Eu}kh3#^RU;K^zr^COeJPmvJiLI(a@a47;M;3l zO98?0-b*cH@BVrfKdvzG&e90}K|5GIB^7pXJbrF$q1Rj-fd zf!Rr}|8ONF)VE84y=lKp-ll3(Cfaf!@A$c0@31k35@|B9)%Q4${^gwpoMeD~`j%N? z-!;cX$^KEQYOM7V=nI$!ZZo=|-tVWq<<+x%`=twVzWD0Ij66@QO=qaYBuX4YY{dbK z>zz|q=OaCzMe8MKhMKFKb!YzJd42$NqQ>vg|FI5S9Ik14l_c=ZLm1}wx*RquAxbgC zHG0D(De$mpfzDB=qLJ9Jk9ADfaxoHc=Uk1+$P;>N6Z+{rp4z@gG@E88wJ}i}!6~YNZ4Pyv8QzC!_$|GT9f81y0s<_RrUASD zor>Xa@tJctYsJ!TId})3^EMsumYfhV$EIbsk`8Kk6=}&E1U^dcB3R;wi3Ve)%RPn=@&FzT{gzUpoy;xvnxCyGMQ_A zn%z$L2uO7{e-bDT-|()ARacq-9~v8dq7dR??;bO&36xYQCec1ASmo~3_h&KeLga>N z3z*{Yfbg(jPEQmqzO4vC0 z&uVCymFKy4zA2gAg}TUIX2|GOap3+BjVKx}*s;<$YD_jo*OSKI)+k7|VcvocnwrZ6 z0}@~6mVs7Fc*Rez@S}iu?=Mz}5yasy%x#Jqi z*_c;uE^8klO6uTwGkbh6Q2XO$lN6YH2}kqfZ$>`CduUcA z+u>MZ6O8YpJTfu)aCS%mAup&YTj@ehqKsEq6en|r!C}0A?8R=xs+MAaobTTW)yz9< zO^{P)yD;_kN3#znTKw0PV;`G{@>#IS-m&&7rRSP7F~{%t5Kko1i&Q3kB|m*`d0&mC z1klpN)4>fx^vIZb8quo28DQsm1im`I6wimI zu;)QRBDs7&w~?Kj1O920KFg%{H`lR^jQ@L2Ez!GOsv-njUiWO}Z<$`LfO-2ICo{>P z4}=SE$46MF=h?H-lDmcGt>mLcglV=MaH`xC4#f)k8|}1R9G)a+Sl^Mt$LOn@5I^60 zzV>F=mb-}yb3M^c^!`i!djem&KVCKNHmvSDLyef}ESS8KRmY8Cr>Z*~-eR+0rDb1H zDH@>ATQJTqdd#~TgGlzRlqYT`;~}~sUsg3NbAA1e8Y}8(idcxJsIVb9DTFJ>*a?;A zX`Arss5;l{4E;8EX&i-=X5Cav(jRwHNz3zo}9p$iUco0XbtwwzTfbRSF8m0 zGgqHUI?}x<&=TUI9%W!8$srsLHaQ!yVnURKK;bmm7HI`Np?1V7hGKqS0&JVl;)Cz5 zFE;P|L^BBa)-)Q*8#C?s2;E^Jl%$N(_AvM7D78a6>MNgZ&0D=U6DTYnP0d*kA$=fR zz!vO^WAr19M1NijFP4-?AUExf=2OT8O}+_m+E1Y@CD1zEVEZYDhHvOxTn*$6)|P|0 zU<3M7<92SUmp3J;>%S}+#N0hq0Fw6GA3Jw?jXJ^(9Y?2~CT+yel&wo3{eu6SaF;dC zq$IWcB(5Yg>#5Qt<_16eq`p9A(XvR5W`T=rh9)OqheF|!CA{im=VVb5?!JYQNsPV! z$yfR7jJ&$Me3|~3Wl7(y$BG-~=%*!BLFq)cKai5gN7!nGGW1JffmwowkMaaa#`FY3 zo)up?gmtTRWQ$v|yV2xOb+#`a+t-(QO-*oUQHJf7<3lbrf;SP$79VUv?*Tt5=LDpi z9|JYl#UfHdc~fU!VJgM}OEQK!NRozye+j#D&K6mckos4R8wi5D#y={1tDTPpyo!M( z=Djbn?S%RoxSB$6na}@uzHFJ}E0)<_u?iDm#*bfD*zI$+G9tlji9`X(u)Ym_ea3GN zXvF+aQfAUi4CcUK_>yYc3ts*Bj-KKdG*}&&az*bT+G+Dn|mY_hJm9lKq5{pKnx{}Q-$v-dlX z--&HhxbIc#I^~vitPp*zCyuR7n|Skxm96-T|NT#PSlnd02+>_r$E(3OU}}!>8G|>x z&|gPUEQeqRT4w|+Vh|Qul|b*T$%Du~o0$w>VpU*>xL={W^G0aJ z)8dvbeLj7rP0#bhfPH>Mh;pPNN932gBKMQoe*_(yy;<(acH;CRp>%~C z-&fjc0VnWIDKdZ%KvhuU-LSoKP`pHkN{I7di+_g68E#zSBnc4$s$VHe4F5>|A?(IP zDOzkNuK?yos&lH7FJM9&_TSG}gDVS~@$HZnb5^p3#HG+bLXz5cM(viRV3Ga+<2mxB zr}&(rl*ZEBK?hzWsT^Kyruyo{6R24G*^hV#7CTOyG2m(j(czdza0Ot?dbV)Tm`!b)R3#pNNmTGs;HYvMM%& zo!N#}iY3N@(x6_8e|d1L>4t%l4(k21I2Ww7LE#v^YAqbQN5wZNo>s8ZoMh%DYh zYWLegBYuqJ49*isEmpty()) { + // Generate mesh on first access if not already generated, or if dirty + if ((!mesh || mesh_dirty) && !this->isEmpty()) { generateMesh(); + mesh_dirty = false; } return mesh.get(); } @@ -142,7 +143,3 @@ void Chunk::generateMesh() { // Now, upload this data to our mesh object mesh->uploadData(vboData, eboData); } - -void Chunk::regenerateMesh() { - this->generateMesh(); -} diff --git a/src/Chunk.h b/src/Chunk.h index 17ca20e..8962756 100644 --- a/src/Chunk.h +++ b/src/Chunk.h @@ -15,6 +15,7 @@ enum class VoxelKind : uint8_t { Air, Dirt, + Grass, Stone }; @@ -45,7 +46,6 @@ class Chunk { Mesh* getMesh(); // Returns pointer, can be null if not generated yet void generateMesh(); - void regenerateMesh(); // Accessors inline VoxelKind get(int x, int y, int z) const { @@ -60,11 +60,13 @@ class Chunk { inline void set(int x, int y, int z, VoxelKind v) { data[index(x, y, z)] = v; empty_checked = false; // Invalidate cache + mesh_dirty = true; // Mark mesh as needing regeneration } inline void set(glm::ivec3 pos, VoxelKind v) { // std::cout << "Setting Pos (" << pos.x << ", " << pos.y << ", " << pos.z << ")" << std::endl; data[index(pos.x, pos.y, pos.z)] = v; empty_checked = false; // Invalidate cache + mesh_dirty = true; // Mark mesh as needing regeneration } // Other @@ -86,6 +88,7 @@ class Chunk { std::unique_ptr mesh; // Nullable mesh mutable bool is_empty = true; // Cache empty state mutable bool empty_checked = false; // Track if we've checked + bool mesh_dirty = true; // Track if mesh needs regeneration static inline constexpr int index(int x, int y, int z) noexcept { return x + (y * SIZE) + (z * SIZE * SIZE); diff --git a/src/Perlin.h b/src/Perlin.h new file mode 100644 index 0000000..95af9f2 --- /dev/null +++ b/src/Perlin.h @@ -0,0 +1,87 @@ +#ifndef PERLIN_H +#define PERLIN_H + +#include +#include +#include + +#include + + +// Doesn't need to be super fast because assumedly I'm not making Perlin noise _that_ often +std::vector makePermutation() { + std::vector permutation; + + for (int i = 0; i < 256; i++) { + permutation.push_back(i); + } + + std::random_device rd; + std::mt19937 g(rd()); + + std::shuffle(permutation.begin(), permutation.end(), g); + + for (int i = 0; i < 256; i++) { + permutation.push_back(permutation[i]); + } + + return permutation; +} + +glm::vec2 getConstantVector(int v) { + int h = v & 3; + + if (h == 0) { + return glm::vec2(1.0f, 1.0f); + } else if (h == 1) { + return glm::vec2(-1.0f, 1.0f); + } else if (h == 2) { + return glm::vec2(-1.0f, -1.0f); + } + + return glm::vec2(1.0f, -1.0f); +} + +float fade(float t) { + return ((6 * t - 15) * t + 10) * t * t * t; +} + +// linear interpolation +float lerp(float t, float a1, float a2) { + return a1 + t * (a2 - a1); +} + +float perlinNoise2D(const float x, const float y, const std::vector& permutation) { + const int X = (int)floorf(x) & 255; + const int Y = (int)floorf(y) & 255; + + const float xf = x - floorf(x); + const float yf = y - floorf(y); + + const glm::vec2 topRight = glm::vec2(xf - 1.0f, yf - 1.0f); + const glm::vec2 topLeft = glm::vec2(xf, yf - 1.0f); + const glm::vec2 bottomRight = glm::vec2(xf - 1.0f, yf); + const glm::vec2 bottomLeft = glm::vec2(xf, yf); + + const int valueTopRight = permutation[permutation[X+1]+Y+1]; + const int valueTopLeft = permutation[permutation[X]+Y+1]; + const int valueBottomRight = permutation[permutation[X+1]+Y]; + const int valueBottomLeft = permutation[permutation[X]+Y]; + + const auto dotTopRight = glm::dot(topRight, getConstantVector(valueTopRight)); + const auto dotTopLeft = glm::dot(topLeft, getConstantVector(valueTopLeft)); + const auto dotBottomRight = glm::dot(bottomRight, getConstantVector(valueBottomRight)); + const auto dotBottomLeft = glm::dot(bottomLeft, getConstantVector(valueBottomLeft)); + + const float u = fade(xf); + const float v = fade(yf); + + return lerp( + u, + lerp(v, dotBottomLeft, dotTopLeft), + lerp(v, dotBottomRight, dotTopRight) + ); +} + +#endif + diff --git a/src/World.cpp b/src/World.cpp index 3939eee..97e32bf 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -1,4 +1,5 @@ #include "World.h" +#include "Perlin.h" #include @@ -20,7 +21,9 @@ glm::ivec3 floor_divide(glm::ivec3 value, int divisor) { return result; } -World::World() {} +World::World() { + this->noise_permutation = makePermutation(); +} void World::set_voxel(glm::ivec3 position, VoxelKind kind) { glm::ivec3 chunk_position = floor_divide(position, CHUNK_SIZE); @@ -32,8 +35,8 @@ void World::set_voxel(glm::ivec3 position, VoxelKind kind) { Chunk * chunk = get_or_create_chunk(chunk_position); chunk->set(local_position, kind); - - chunk->regenerateMesh(); + + // No need to call regenerateMesh() - the dirty flag will trigger regeneration on next getMesh() } Chunk* World::get_or_create_chunk(glm::ivec3 chunk_position) { @@ -41,25 +44,38 @@ Chunk* World::get_or_create_chunk(glm::ivec3 chunk_position) { // Fill in new chunk with a flat plane of voxels at y=0 auto [it, inserted] = this->chunks.try_emplace(chunk_position); Chunk& chunk = it->second; + if (inserted) { - if (chunk_position.y == 0) { - for (int z = 0; z < CHUNK_SIZE; z++) { + + const float scale = 0.05f; // smaller = smoother, larger = more variation + const float heightMultiplier = 20.0f; // Maximum terrian height variation + const int baseHeight = 0; // Sea Level + + for (int z = 0; z < CHUNK_SIZE; z++) { + for (int x = 0; x < CHUNK_SIZE; x++) { + glm::ivec3 world_pos = chunk_position * CHUNK_SIZE + glm::ivec3(x, 0, z); + + float noise = perlinNoise2D(world_pos.x * scale, world_pos.z * scale, this->noise_permutation); + + float normalizedNoise = (noise + 1.0f) * 0.5f; + int terrainHeight = baseHeight + (int)(normalizedNoise * heightMultiplier); + for (int y = 0; y < CHUNK_SIZE; y++) { - for (int x = 0; x < CHUNK_SIZE; x++) { - glm::ivec3 offset = glm::ivec3(x, y, z); - glm::ivec3 world_voxel_position = chunk_position * CHUNK_SIZE + offset; + glm::ivec3 offset = glm::ivec3(x, y, z); + glm::ivec3 world_voxel_position = chunk_position * CHUNK_SIZE + offset; - VoxelKind kind; - if (world_voxel_position.y == 0) { - kind = VoxelKind::Dirt; - } else if (world_voxel_position.y < 0) { - kind = VoxelKind::Stone; - } else { - kind = VoxelKind::Air; - } - - chunk.set(offset, kind); + VoxelKind kind; + if (world_voxel_position.y < terrainHeight - 3) { + kind = VoxelKind::Stone; + } else if (world_voxel_position.y < terrainHeight) { + kind = VoxelKind::Dirt; // Near surface + } else if (world_voxel_position.y == terrainHeight) { + kind = VoxelKind::Grass; // Surface block (could be grass) + } else { + kind = VoxelKind::Air; // Above terrain } + + chunk.set(offset, kind); } } } diff --git a/src/World.h b/src/World.h index 9993f68..bd003a2 100644 --- a/src/World.h +++ b/src/World.h @@ -3,6 +3,7 @@ #include #include +#include #include @@ -22,6 +23,9 @@ class World VoxelKind get_voxel(glm::ivec3 position); Chunk* get_or_create_chunk(glm::ivec3 chunk_position); + + private: + std::vector noise_permutation; }; #endif WORLD_H diff --git a/src/main.cpp b/src/main.cpp index 9e578da..9db3d37 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -31,14 +31,14 @@ const float Z_NEAR = 0.1f; bool WIREFRAME_MODE = !true; const float FOV = 110.0f; -const std::string VERSION = "0.8.0"; +const std::string VERSION = "0.9.0"; -const int VIEW_DISTANCE = 4; // In Chunks +const int VIEW_DISTANCE = 4; bool W_pressed, S_pressed, A_pressed, D_pressed = false; glm::mat4 projection = glm::mat4(1.0f); -Player player = Player(CAMERA_SPEED, glm::vec3(0.0f, 1.85f, 0.0f)); +Player player = Player(CAMERA_SPEED, glm::vec3(0.0f, 20.0f, 0.0f)); Camera camera = Camera(&player); // Targeted block for highlighting @@ -436,7 +436,7 @@ int main() { glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); shader.setVec3("u_Color", glm::vec3(0.5, 0.5, 0.5)); - for (int y = -VIEW_DISTANCE; y < VIEW_DISTANCE; y++) { + for (int y = -2; y < 2; y++) { // Reduced from -VIEW_DISTANCE to VIEW_DISTANCE for (int z = -VIEW_DISTANCE; z < VIEW_DISTANCE; z++) { for (int x = -VIEW_DISTANCE; x < VIEW_DISTANCE; x++) { glm::ivec3 chunk_offset = glm::ivec3(x, y, z); @@ -466,7 +466,7 @@ int main() { glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); // Just the lines shader.setVec3("u_Color", glm::vec3(1.0, 1.0, 1.0)); - for (int y = -VIEW_DISTANCE; y < VIEW_DISTANCE; y++) { + for (int y = -2; y < 2; y++) { // Reduced from -VIEW_DISTANCE to VIEW_DISTANCE for (int z = -VIEW_DISTANCE; z < VIEW_DISTANCE; z++) { for (int x = -VIEW_DISTANCE; x < VIEW_DISTANCE; x++) { glm::ivec3 chunk_offset = glm::ivec3(x, y, z);