From 69f4e802a116c83fac30c588a15f643628f052b7 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Thu, 1 Sep 2022 20:08:15 +0200 Subject: [PATCH] feat: create attach link shaders --- Engine/engine/constants.hpp | 21 ++++++++ Engine/engine/match | Bin 239304 -> 240520 bytes Engine/engine/match.cpp | 93 ++++++++++++++++++++++++++++++++---- 3 files changed, 105 insertions(+), 9 deletions(-) diff --git a/Engine/engine/constants.hpp b/Engine/engine/constants.hpp index 5037467..0c4fa69 100644 --- a/Engine/engine/constants.hpp +++ b/Engine/engine/constants.hpp @@ -30,6 +30,27 @@ namespace constants GLfloat alpha = 1.0f; } LEARN_OPEN_GL_COLOR; + // we write vertex shader + // version of glsl (since ogl 3.3 same as ogl so we pick 330) + // in this shader we just forward input data to shader output + inline const char *vertexShaderSource { "#version 330 core\n" + "layout (location = 0) in vec3 aPos;\n" + "void main()\n" + "{\n" + " gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n" + "}\0" } ; + + // write fragment shader + // we set the color of each pixel to be orange + inline const char *fragmentShaderSource { + "#version 330 core\n" + "out vec4 FragColor;\n" + "void main()\n" + "{\n" + "FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);\n" + "}\0" + }; + } #endif \ No newline at end of file diff --git a/Engine/engine/match b/Engine/engine/match index 9319b06a27e99421519604a933446199dfd0d062..35a20004da093295860980d467e74898ffd4f28d 100755 GIT binary patch delta 85375 zcmagH2Ygh;_da~@?!7x9n`8+gWz!QNg-}B8(lzvsh=n4(gMjpe}R%hC{WVKqZaXhmMFw$iAHU;h`P!csAeYwbQ9pe%XX^3+Zl5m zXYtBfxbmECY5@=rDSNl z>KpMO-JvL%d#}FC&Tf~Hr4>kl1sRz&pA|chkrmj|NBzxw0AB-$gUor%>m|s%D?Vh?B~5llu=;l)LBu$<%efn@%kkrjFiwq{JKc>vDaPgZ4L0C)vUkX7>lpy}fY!W3!@G@gY; z`?B;G{m}p#n%~`RFg3I0;ZZ{mE1uDrXpY(cWD?SeFq0FGj~aSh>Dv>^+XKa_oIDT^BZz227Wk{20kU$0>#~fFRZobS3D!DdgxmtEC%>D&|Ox|!^DSlflJ3p zy3eNG*QVZAr)Ff;q!<+Y1TpyMGox5|v~SMeR=<5a5GMnJU8KOs3hfKKuxz1Umf>aK zMp5dkP-f{X@ajqV-jj0PlXAR+r^f*rng`8(r3y_>_IBi1cJ|$Pdbx`obAQa#9O2>{ z^&t1%w-G{joAbEC_@jnCQ~H&}whPAqI2u;=!}2-MoVHz-o&wR_V1d-_JHnIL4Tv3Wy|Q{j6})UNQ2R2{W060;F`Oe|1ugz6waR?KD%3l2AdRmwl9re zDwy1urEek$?1aCJB@uON8zg3Fj(rXU3*pl-Xhx=<1-F1bnu;-WU}fn8s6MGwfzpDw zS`fPk;>RP5GTs6)B~5-L&5-KoG5$~VcuWr+VGQ)2*-0 zf8Z>D<6&{7;h@HhBx;tP4q?oJVNqFn5^5Q9G7jEw(h$d=@_Bm+%+m8vfy32*hk}2< z%*4yFnxVHy$kKnqXa0bRQ8izv_Yrz}7_~rev#6hA zx)UP(%Ncy59#qN59C|!Uzks6?>*JZS3JkP8G0eCTRoGGeiQ$Qka}7nw zre->z&#{_UslzNi7>aT=uMT}5Edz%c>!ZDn$3uJ7{jMuwZT74P;W>+ z7REe~SO8+f#O_K=v9X^e_J`f}M~U6FvHwYIG{=10>MIf)U=zmS_RW{g3f^~aYgS3{|a5~zAOPWjUlpZEU@X`SibgSVRfxzrF#hWqWe9?68uJEtl8` zOvntsMH0&~@B)dI>qWfWd{@ts;LJX>D9xwiod}NU#%4b~rMkF10So)co_r_Cn`dL~ zBo@?zuXi%<+B13^Kco5RRVAe;bmowiB=(OTTjeFz(Vn8kt7BtTB(JEARX4E&y}Aw7 zlEh>iYha8h9OB@+rmmpUiurbi8fYT@`l@3 zF%zq-=QuHoN@6FQSVUrVZDW!pR;4Rn_z_*i9ERC}u1LyGd;WhHH8*QL+Zj(K_Q>}C zeTjXDe$DyclGr1=?GGmA)5q9BeMu7Ev$2a3YxV{#*dFARjH-0md2 z@iw#i8YbKI>1<&mC05#=>=211_Of^u_FGR2v--PdW5dn1K7A|UJw{hCf=7Fy6nbHB$mgW9L zSdfiPmYBoFCK2YNcQSw4+i9XC-m|eRiT%&UCP?hU8?d8qz;?X>+t3aB&s_fTvcsh| zag4-f+1MzFO|Y@y5*ub?!z9+n#)e3&gN1!iX`lpKT41G5C05_Y`b(^ujrEgQX&dV+ zvB>WHf*sX{r?7*}dA=*vKKlx3A+b?5_MXIA*;q@7ePUzpORRy7eIT(WT@<5O;RxUF zt;Hoj9Z$(kJIYIr*4DyGNNhkm3o9zIt2UM zTYHrYO6*N5bIx9^!bRjI|H4j9tR?ibJ4}@w=Cv_v;1nAxAbET2{w$-9+gLuy^IfvR zL1t}+nD9!cpHn7 z1Lu7WGoKhlyatLV0nv8AS-}~aA`44RHJ4sBj2e}}z7dCcQVyix|20kOPXxmNaB-YyA z##Y;_ZL$AM-<_Al90$nv66_>hNjzoG*k1+HW|H}=TJ>8<&FS+%9OtBR7Ja! zLL0L-!$5mpRy;4X=U}yMW7{h+pMK3=JqhZyY@=C0|jZI84dF4Lji}z;>v3NP2t$Z%+XlYM&mBc#O z*cORZv$2B`+hEV@q{OP(k@vNU`Skj4Xq;#_-XI65DOh zc(}yM*t`*ieWo``*r2u4mF?5O>hK2}8!bCL`v&YQ8?*Y`{szpq)&?zqE_wrI*w_d; z@VGZ%qik%DHr85V@7P#NiG|op-ArQ4#u`cNA3K2S z7M9Oe9@=1rB>rS$)g^Yt#wttfq>YuA*nS%;Eit$4VhhXm+2=_aNqq7K?2e6W^tazcR0b*HO=$zOXF43a>hbC1&a6%xd^CJr*(Jgq_Fq2($Kv zkFX3qhmWx2t$s}Zr9RDx*gu&y^R(?8Y#u3Fn(%d5M}__IgokK@)tc4Bcv1Q5fS>Bo z>EF*kOTSjnIA0~aLWd%rxY4}h4pZsFT2)yx;o zGA0$i1-MDw)R!5f9{AlYdTL8t)nWnD8#Xk0H5`mYAOG_8Z{O#W&OLj?mne}Q|8dVg z?frZ9>l@#{{l_Ka-|o|Oa`uQp8u{%#>n9(mNE2 zPcKr6zZS@_U+>Rxk-2te3;g^{Q$Gs8~Mh)h6!78HF_t~*BWVF8d~OEmYqEV^-IgMv-hC9 zh4K>087s51hoBs~Dm(iD%B?5^9Ex%RWg(Q>>g?>gC|jcJhH@Ipi6}3jT!*sqn(XXT zD08hvdz2SZ1|Srwu0wk#&Zu+i(E)&uHlPEPf1{j;^6f9s0m@b=PoaE-@&U@kjpzUu z`V5qXP@X|q7v=Ap&>rOno6#QSnk{ILa?*CRNBJc_RrCO5zMW{VE6Q_}g>+;T=Xaq4 z0KN901C&?3LI)^&97YEy6HcN7(w{;HC_QJ;flE<#VapXl`4h^zC~JL#_9$muL3@yD$ zDA+yLv1El&8^x>@Mi&$tR~Qpe++Jafbq5B?9%20LiBefyXDm z*1;I7g8)Rpy){Pd9+9p>sJ35gbV0Q)s?*mR6Hx7jYSvm~4XP7SeYw^+f$BO`gVq`M zP(6ie>vdR!C>^yy>x_auBV7TAiy`Zc+Nc&n_4s^zbjv4m=o{&{%b&k!x5_HJ8!b z^X`^&!!p!_h7AQ9Mra2#m;j()7!4NCyd>&{yqFUP*8eK0DuGlF zSRMkra1=M9Za>sZ<~dFL1>qR6RLBjg56p*p=@6`|5>V*~IA!u`D$cxs%^M+<4dH|3 z!76Lz@+MHH-QPmJd`Mxczsifo74p`kdUz=68F~1?Q+@}hmKgYtKB&*(#sx%FMtyD+ z=iEMr`T|jZc@Oo)ksSZ5HtO#lP9VYMM@t@%i3QXngzd|)TDn)*>%pSvk;23lSOYyu zn3ayzbw!BzZN(zGyfh~zpwR>)cvP6LK9+)|MKmI4Fs9E6c{@}6OU#%R_Ku)>Pt1}P z@y@0CXIL&)%=;nLD`SaR@yLEu&x=)IB_bzLUBT>G$;jnYzgGbD@?qrffKKo>s~Ey( z_CKs8s}$nn!iS5XcuOdLp$6|n@M!2r4a}vxMh$9bsP}^)8GfzA#5*MH8}>GVNOC(M=FGR?XZL9CbYu&6mSUB_In)9%{5-4 z{v@7TlJ~Sxe{`7dItKG|s_|sCcIk5nZc~`C5JHF=e-=Zx^9Xc-V+7AM63?^ddR7l!&EZ)?meJm5IX1dl8XV|6=8RlG*h<8V z^J}MfHTCd*9E20j$YZ1_0LME|IlTi(^91Re^RzSiN7D2#c8o3LIgNF2o^wY0Lr_|* z@nme0=SDYR7oD-CC|Oul)JPdu$kXpEuy34kT?qR)#`t(#lIJP$zH`PdCoJDuV-9$) z$kA7wao-bmu!nJRTxHLOtH7>1qe2<5h0BeE@ikIE`X8{H&Zv(GyNs>iyk#!HRP1%< z&(5fAq}dZ>OdcN{6#W(0cb#G92zzDh7+|x-kma2wL5A zE&2#ycOs3Q6O+`X#*K+}9Ib+k!jqCb4QU<9X^A}pK$t$#XbY^tN?;YW#ASrVuQO&( zN(-9w99U&7`8&e)8|Nk!3ff0UMl~%tBoNR~hX3RQPh*P5np$K%f^rQp%11~Et^+|oL))pL=B8U%tJ&R{HaRJ%Yg-T+Yf%@ehpxtv$%Q;$wE@&j zi}4ErG%#xVlmt(&NI)&L*lGm*HOEMw@{S|xtTAv(UB{(VA z;Xk#CXAC~*?`)?f)+4CuBjdfPlD1t8~?Pe_Bb$-zSV|)8eDg7l*397I_gW z{U%LwusO|&8;#S`N_qTCfG|``^ibk5|9?jC^jbk@=>#0EMKvMpd!y6z2A&QEpix@v zT7ukNjHA-8afh9Cuy;rK-1#p8dZ!0&uTic zr)qH{3A_8f(aWgeNkv-bG_(Sn3A?$(_{yjp(R4s_wE|5D z3jEV(IitSkSBi-RTFL^#7VkE;)!L>q9Cmhv}Y-}nswndLniVN11?x_N|;z9ijP*voni%@(lv-3oSl46m7p7ZFpvtPF>a- z*k&!U5n+8kf$*i~&A^V)-wi}ZTebLEq^X-^^q7^98u~E^JG6w2gtbvX*rj;~5W63- zcWd!CNTZ)OcFaofJ?H@TJ}u!nVdYaH96;#epwf@VLO7^J6%2!h-Z418GM74-?uf%$ zYz=7iSenb%=3M@vtK@{{T|;s3IcZL6QC+EnK}VoDt$F)$4K{%Dj21hFzVe`Lr$hCe z7JGwKq5C16*CG~Cqq*@AE^6Kyq+wGaT+*U;k|yc~gl|lH==)60E1LHrX#x@;e5ZLg zVdLtv4?y@{i~5x`>+-;!tC}}&I34Ygc+FMRxH3Dhr|BH9u4xGjkXG-R@qBg(-yozr z&YR}YSCF|nf6}6Q6XCr`uzxmZ(z+ys+gfZEY4YKCcHT8-A3(HUw5a8zsYPLX-<;yA zj?g^Ny!%OWI~|(eH1BN)F24tO&E<-~qmgxU!aQAQDi5`&?}&IO#W+7F%@adCJ=S7F zK+-DHqg5%wF+IZ*fBqVQja#LpR|Cypb{y5UBvd1)!FYXJ+^^DiN6 zb2@|&UHJVF&OB#cJ^v4+nQUyHml)KL;v!s+c}mbsc6BK3R)u; z-Z>P?uP@dtzgW|s{psY}vhkCUd?7to}bntQ>}r0Ov@Npog9G-nZ6`U_${cLT85lnN{_EiSUxhLjP89Gf_{$fz_NP6a?(^&WZ8Et&AFgEDvI*3j5m|sZuhw;P0SX({i3SmjPU{E_rv*L%t)r<4Jqn?d?oA@i zaJq`Rn9gfKG2c~>u0omuQAWg~Vkz~S0qdd1v?MI~1cY8DyUrE}z4fShq*-qCUXh9l=jzWdQ>&ixM}Fcrlwjk2ut*+4@mPo-6** z1%vF+y-PTMCGodgeEK|{qBqzH{!Tr92JtI=2w}JGJle3jh6j{2zo3G46bx>^M5j$h|DW6H4KKM2~Nk51PFTjWWxUQm;}E z$Mv{@gsHSBCxnUmNqUQPQjgz2nzv^gW5JH6bm@#9cbu>@|3EmWdsPVf6uPj^>+vs1 zGiQKtd0ATOWMW^^AhG=SaExlK=?_I|C=-`m~no2a!}tg z=T+Dl5}di_8G_N{<^!*h;!`@N9|CyXG)x zR9E~#(##7s=B`YyUW3@0EA9uvK5qfR<>Eo2&m0bcx#A;}p{Y-YQZARbIgL7e3^e|( z_>!dgl^Fr6(i_gFega)_^$8nv0fNURd^46Nl-m_Qi8Q$=$;spLUZ;L;6D`D*u#z-u z>Ou&0c|9;h-+#@RxGKUk<^eFTE8zzseD;&EWmPF(6AH{|SN^BK^q{H`5?mr#C~*ct zqD$<(Cr=^dbLD$G1x@otW7GnsrXA6eT=`m)=5joQ6jL)U7(%Km-yqV2(r!pIHCJCj zDCEjFBjs(VdjAQjh^gwC0imcX-v(;r&IO^Esi}+`*;(9`?>IF2LRy6~rlo5>G}f<9 z_uQ@kteh+AAvIlo$at_i$0{uwS;;2z? zU3&Fj$?^`a0#gX{Yy_bbo{i$p*MGhNp|dOB8PZIr^R%nWTZ=TyVxZ~f%72$M+fEq= z)+KntQ$gtIig(~r&;oNAzpqPj)F@~~tS=kXA`Pm3uK13mI&6HjzF6ujf(E$amk{K| z#poR55;@hHD-Z^|5^j*jwa(bFKFPC>a+qPRgy)2nDq;M(KFza&j)4)bgrYbvwEd%v z;tq};7a_6G>@sxXD)FR4W9tbB3Hry z((K9wVTr4jH~|hWhP2d`Fr8HIV&^-TnJ2&(O(86ICDJz;v=emttaN!R(+LpJ8Nw=8 z;!)DnjWIs^A}Qs1A7E=;u{Q{dr~F{O%UhiC-uk#Eof}*QLW@GP&v@{K*O6zG!8Rs% z=Jbc=OIK7a(hLeR%4|&Xv^@cAyDMrSVP)GI-8QCqPSUFHaz$+*Y{ETb#m00;QZ?h- zjU{|_AA^3t6-{3N)K2b#aLDDQuOaFu+e7%u75xEeA`lDCBc>*9K7^yL=>DY1dlABM zQ!|vJ;A>a(RMNDj${$h;(1D$XYjcw432sK`x2{vX+xf(me=iZP(Qr@Ai9M$$OMkl3{vu5{(n#ks(~u#%jjLNCO2=#k_QDmPRssYM zorJHlQdf%K~R|(b;J{+;FpCx70&|GS@J+4OzL2C_%b~;qbx8#R$vuj z11MzunRhD$eReqrZdTw9Y5w@u*#BiIPjkwrf>;5yB(O5y8_um|9XoCqmA0m(q|O07 zFDvOI)tXxn!kGDZ6Ss#moW<=V&1GZi*4mzLR|AS<@fQhNa^Lu6Yr5w%iq9BUG_4dc z=XN7yTe@e|2w?Fnr3+y@IvO3f74^7}1Ix$aRuk5&j+$0FanDG0+(wJ&-7TX0HeUkxA z876Mr*d(LD_B2QPuEvn7^OS4`EQ2M^A?#3JW9p7{$Keykp&gYx zPYS}W`m8`O9H%WVYy|Br;5kWoN+VXFAz|MXHmdC`Tm3*$V9l8~7MT9sAoTYxE4Ysc z&B)8|F)zchska>op(V@zEzyq9G+UX|e4-h9ccyzj?*Xh0OU|aIZNrQgJIi~<(Jb1r zLT@2NG-at#b62ULj6J|Qvh;C;d5rP9N~eDDDWEQ_&`E-P10ZxWLt@n*5W2H?PkCrk z4;XiL6>wB?8bP}Y2L*<}?oU|whol;9)Y={6p+Aq{?9ZYm614D|(QkJ_&&OH72C}&A zgw-fwY}j4Gv22_1)9z$X8V&1Xu?3K5Xq7d?yC>bD#u#<>l<@pY6CA_h=aK5CqQ;~> zNuG4%tj_T)`7B{2CK!kIq&ey}HXiP&=BY!EwI;Kqw<<#Qk-t%8Z+TDsBcM-XNh1l% zb<4=yTf$Kx%GkFzA$tC0sAjWhr4lVU4Yj~r%Ravt|LjfcJiRfn&sd>KAZYYGE9YV+ z-osZ~0bvPC_>?p=aqc)jH}~$?HV~Gv=xL)aNY+DFtSj_0kI#l1@H9j~{!jWgCG3`L1)M$ z{t&J+Zz%|R%>@u{u!IGqc@z)fCiC_r&22hyeqxE+NHg~pgrChe)9HY|%@WR$X7x!3 zcg;5C>E!u^CEg>=qbAVYr#8lkgSkt8Rs-U1CUF_MXoaKv zy!6+n^iZ-s+AnbzX&%wwv3|%@pgBvIOq^f7OQcy(>zrV=X+qW~`X&BGn)b9u^P6qf zB|#|Qm(LIPhc>Dngk)+%%QO>bnlr^OF_BbtD0wYtHoEXBgfzc=6-iV29E8H=Kr3m# z74b`KPMTemqNdA%DDaE<hBa|VRcem=2G;S>dB{GykU zsuLZ9<;+H1={_j$7rBo#3ra$$X!;{y7lcZFQQwkg1Fl17WwTA4gAl6tMLs5tehor3 zvyF>xv+90P0f=j@(=0{tIcu7Yu2VknwqL#^Qk@~|GR#Kb(p6H+FMkzi0(U<}m_4Hn*1hD}1_Z*>tjFu%h@c(W1tJTag5p-#}DdexuP~@F#uS;r(FM?TS+U z6k<3iLiJTGhS#b~!SQofao@n4{M?h=-FZ31Jr&{O=bq|b$;)Z(!@QjC{)?A}J7h2E zXShr8a;CcxFK4-X@N%|$3NPolSMYMKdkZh;xxeS-e7EA;M;$D1$MABYyE-pFbGPE< zVt0RDE_Ki0<>&65yj*wC!?#9cF?(w|b>|VvoE$*** z`K9|7FSojV*}SsN9eIEnZg-dB$ z>4PDD?o;m4ygco$&&xCJE@qj@%d_rPW_gU4=iIl=Qa?=X&%5)RWp!R&aJS{9?}B?Q zD*4@RHEa#91gK$0c_mN{yTdC{Y7osPzdKe9qV>-2PEdnrq4T@*t3kBF`Q0gMkZ7K& z28rec)gWr_t+N=01MRlxzV?eJH&P*Mi|G7jOnbp)$DGJrxR9p&${7AA9I{uhV(TfxVFQj|U* z&ce?E{IF(FDlun!Lt8!iLP65{6y-~(c3JA+R!w{HNfl_-sz0w_>=saa^Mgxc*Mg=0 z_t^P2zS!;m(s>FCF8*iNqi|?Cr*db39r7v1-!_OWXweOMHami{ZCKlKd@^H0_ zAN5_`m1|ucMR_~CHA!!~5*<&Wt)#qt1kcb^Pc2uFBNF-&w}2`opUuULYr7J50#ZSG zh=<{VRGCQB^uMIK*kpp#t`0uuS%UieFRQ{UGJwX*q^_vH|ByzgPxDJw33T>f1|B_G__{$BU(Lsa|Jf*9)gYNar*~)i|s@=xqSgIp&zL-Z7ayRM+7{9SgsU8 z4bG(4pbzdT-f5LV4zBB;SQjT73Bh&KF5s66Y7_u=h*n(*q@G5pLladcxIw8;Q4kwR zK>O+)aXJ(a3>m!ua!8_24JcY)QR)oC1Cfw4l{Nc8QMwcLCi+qDQfJ!3OhpOFuO>{P zj!9XneQzbCsLFoC?^G%3Kcfc36%9&t>#Ky6P}$lJVvp{9U7hDN)*_^W%8LJi`O~hy zNrd01J%6E9Qt}j<09HelHQJ;oguIj_CC^lxfFUha_IRSAP>V$5b#_x>M4lIe(7uz( z_9D6b1EhC|L=~H<F*vW`g4!B(`+xLHC9s0lRJK*IBMAY`n{Hu~^fj*#z&&6hjRDD0?^2`Zx$fmZi# z*^%fiZ~LAdl#t0PbHQ}pS+{g7$8?p^AHpG^030f~Q3KqHLT*z+x-0@1GEWVNYAD_P zxylatt|-cT#8-~u#f2Bs-wV`)`^dHeNy+`a5+mjn7EPcA#1##=zt^hlw}nEz`gOJN z_ZKRA2Wd4e!5PvAQ1gJJKD_4e_gUohe<)8EHb))Pxi?SdM}4*2?WtA)QW ztBiiBmj|R0M52lqN(}OZ+l}G;mS#~6P6aM}iHskW( zopFD^RN0?MJqQSfM+KMr`@V7Z+|RyCZvzY&>)7@(vtQ^*oT6`~6JW_-a!rfaOtorYYk`7Wfk*FdD@#XOM9tUfH zWg=yMEJhBNAaQpeaj+tImPe#o7Kyu?mc(@TX$NZp5+Ut~R2pp4-9AUcN(UB@aJU{?5S$eju9W;qJcXV8hM`;F@fpaCej2 zl#t(Xm#85(9RU}ca(DZ1Bs_Ak7O*s!F71l6GS#@b+~2nx3ERluq~!j7>R@%o35%*x z1LBGX+~0pY*wD5@-R5<*@b^mx^Gz1+9!q*(2DRreIsEPCWaV%U5we6>q&NK?>|_T^ zD+(b;rAqjlTP^$@>10FDwmwMriA0s0gYfO0&&ghVhxI3AZmhR@{awS!_N*7c*Rp}|H@Qvm3oYet31j?1OS=~zqq2;9H%cw| z298Ik8ZEwKaTOussZ*HpxDHpo#xoC%&fl<=ex*=$9EKd)SMK&IK;^R0PA#_sRYy5j zPrUKR_YuJ9&@HdkYMWmxYE{?|-;OD_B$!&cC~r{$%LDiRTnP2B6aM>}D@yVV%wGvR zlR^oyq9%`g2I*olBATQc??C!SO2%$TKSY|k9T+d{x@=bl>lt=aN{+se?nvqVKOxupeYvr{K)2g#{QaZDscW{JOj1kqnD zP3xej&O?VG23gwESm3Zcrsz|hi3sPga7(>16k@z3MvaA-&l2m8hnQrE*Ql>FwG{aY zD;!b>9#q4Is{zMbz&A4hhK*DU^0yyq-tL`yC}CreyDbqBmbZHwoIhdXRhA!zBV8%} z%}%1lM3r?tEdVF?$YeE@mR(hy+$B?lh?#MpOjDzUQ=Hr>h8Pc8?v)vGcqezuOiSc` zndK9GIaL1-w_xbGDqD>>@eoXNlbT_brh-|H13d{|#E>+V|l; z?&?2O)*fdcUnB17zf|Uf?>WF-{aj@$W}B9CSHG~j=iB|I5T&PISz7LC#bIt)C-<}} zL`>_NkM_I6k<-;Qs1mY%B)Qtp5pWfIQMlS)_99#z=wLH?;|&DZ!qd4O>r-0 zi@O^~6#>H2;SRpVx|aJspMzDv zvtn)wcYTtBUB}G0E!_1fya8R8PVW0u(E&v6`+}CpU7u!&-1UXU;2?9?7qLX{`l6P| zU7zlFZQmD{TH5zGE=xIB->v4d@n|UPU}J8X0FQQWln}iLp9l_ z*!R_iD5If>j37i|MYd&50q?i{57sqQfV*IzRF!2{j^tyMBr#@`GTi)tGyJ+H0PtL6wl8WIW&ro9zhr9m5LG z&y}4B&o6MWl0%Re?-A!fW!#|-)*g2(A>ttT+`+aWfC&%>!3wdcab`5E6k;xZ9SG9*;RRcm7rfn}~;Vd}!|c?Up~e^LJPxcm7T;@>79( zf0w1^-rr*_82A2OOXS|)XNlbT`(JndL8%qaKkQ)lqfAS=^N-=n?Arw3^XJ|_;b5uw ztp;C5?tQ!s?1apUPlkK{tn5>G|C|uzzCUkix$`etTJHQymXEE0xoHcJhSE+JhKr4? z71>`|(Ez>kXecK{A7ma5a{i89IkX&C_7@(u(OX3k z4Q-w5W_Xn66$WM7i5ONr9i?{|v3%T)kSfaQFEK%G7mMCrkF*w?aTfh>< zE#Q1T2iWg?E&V$v*}~O_oy_SKh6zs}bFuw*a2mEH>vNZUNb) zc?&pS&jHR`YH0ZS{c0cXzl0yL-+(zF=u`yZSE5uK%{ugOltzQ5sQ*YUBY z4Pev0$NBM-lbtxAa71kUJ5F{cTL5C?-xG@}uYm_bl+p0;^=NoxS;?c}u^e9P`zMyj zqu~#q=u3vfUpV!Lnzrzb|J=!rAr~QY#m0YOIhgPJmzKz*;gu!wXvnri9u2C-164+Y z17gmH08UHIH@>F577Z?`715AOV;k_rDKbn%L!ic%95+qp(GaY$oA~THXYgnU)!6Mk z=3IC*L}*t0@wbLvF@)Usk(S7#A=(moG{i`IoIDz0wVcsFgDN2%%TYAs*8&m|rXnXu zlAVZXNUf)__wI;?vf>&jq_GY=1t6j!U1RA;%jhYSh=vjxKO1C5SW<{0BdmJw^^CBb z98P$@yd`q)R}f95^WW0gB0RsNk;G9@RbvbB(2ftykAmu=fjkOoSR!|RO)la_G9LoG zZK=8UGpq&UXF)AX9apA7f@`?61Q7JMK?>HH5ZEq8t^OUs?#+R}38x5?prWP~&Ze!W_Oyx&m^ zDAZkgzq9N`c)y#*)b|x-E7-#MJvByu`@L3{{hT)=SER z*^Gw$Bx3*NG2b8@L^!}(*pEC<_)3l^@`S^d$n%6FmdK;wsOVZo!`B+yq?xwxXgH;@ z>vaSmqT!6`Uzrh}HD&Yt!8uFh(Qw`pc{E%UgTqoD4VNsDN5f@H(TJ7)QV{E z{eUAC-$>`n#t(=8X{=Xq({>&WKVqdzm;jH4TN>N=g*h1>4Yy^VA{y=pQAWdEOUt9- zo~5N|@P*yC)ckOG@LDvGSxU%|a}*7awSX#kE+}q>KV&Z=8vfE)@px4^2)2lZ=NkLx ziNXO94X-rTZngkKG^jdV453ODGaQ^;Rzmo*f>ytan*mGA&w^aKOd7fO{VkDu-z}O- z?+5A3vDqA(dp}rbpXlb;{ALId4bVG33-VebzZpWgXx|KBmYRD%LJTgw@3lnk{YXpX z-jC8>OABJ8R(L;NXRYvPfR;_91^IP$YPtZ-n;}JK2a?3f`g89W(pjYxb28lfMP;AD z`{_cI-Y;f}-1{Xgk)H)6t+w3xrF1(jz|BB*DIqPUlJ_g<0kuDo-mfHk5#Fz&v*md2 z*P({=es!JIMpjOM@cuhG+uK?I!uz$wn#!}Ft`Ox>&_I9vW@seG6VcGv5_vQUSu)0rA>BK$1qsk6Cl%*pU*_(W$(UChbw zXy_;V6w%OMh%y>JwX{4M23lGk4TCJLxETiL2!~#L!ITisCW?j;dO%a0{^BecC3_Lk zFji;n7vML@c#|j2f=r!_=_LRW4U=^C4=!tBh-jE9*0hRw6ig=(^XF#)mSHBsfkM%| z8D?8%^0Q%%9A4xJb1jia!#vTojE03e3n^;a!lPj^{)!GVSZ)hH8l{drZrfl8} z%Pf&c!*WaH(Xi4ojo%EbERjdUYD?tNu;%q>SSPjS&G3cJR_-!Qdt`cy{4Fqe5$i)a|(Vgv9#_^eY#!)O}foL(xr@qBchlN6Z-wcP(ggD%M6R}8$Nve~F!xGCj9u7+_k%z&884h2|F+@0=azeO03Q$$58sGIEoFwo6(Qnj z6aQ4fcOo2u&2YFX#}naj%`%#Y!~ZOihr@Nzl?;cQF1Ge7Mc6XjN1rPA*~QA?FQ$-n zA{_3B7NZ83;c!>Tr-!O_dG7Fwkn#6H>hkm9o{&qzt2`neSmyDF_|+15MEqunzkNjK z|HIcq;*qpoM8s1U`v$*e;!DRP;+cz$JZ0L?BjO(y`|-L7@Q8TjVn5**<@y$Et@I(3!kj|JZsI3|Zizf1T$acq!jI*Q2pU5PF|eD|uskea$Y2=}dF2=) zBElIPwicgotsx^KlCi6a_(%{TA|zrNyY;!Ch=@pFbV69EW1)H5_LqEK7=ffiF%d+{FJCKM-(B^&=Pq_G_ph< z5=~wU2^v%>GJYLCMi<`FePy(wM8AVyCoK zR(yk9-3RC}e%LQp&{2J^8W7w9Z!%T&d*DAyo%)anqU~Vj{}4SrhfW`2wpB5-)Q@0a z--JFAx`H|N$p6S5r2&0YC44N~iR||&x>eO0pf#|le5mO8AA;05@E;;X)Au*R+wnhc ztpGnO^DdAJt!S_t{3aEVa$7+S%^ENd%*yvfN z{s>ejZFTL_P|s$kkeZQQ>Mgw7v((Yw#*y`tVp>~asH`mq1$BZpXODS@U5&jJ^;d-pMdI|tv)>)&G)c| z>+#+g*@^lKR1Yn6w1)=o6v(jRswZ>{ghOn7RY6fhhbc-te)uwQ$NQAhZTc$VU$cmp zCZ{a))nDT%o(9NV!Y{Jm`X=WC=-Wz;;#t2D>hD>{A5HaOs76@o=>BP#PzMn;p49ij z{gEw#nMCoaEAhJCB1bI5)f9e*1>+5)dI<1oQqfKjaT?JIkre)rHNFevCUn34OP{AT z^iSBM`_MbEx`Fr+?J2Ak4}I1({3S~oC7k0^=`XTWAQAEq;VC=M5R)1;^ zew@m_9&UDe5!A>32R*0V+?phn{dL)F7=Rwa@gt_mPX@Bar-T<&+5A!_s~8w>TP)ie zi?4(iQQ3O@fj4e_YfuOMA9Qm8=}RZ!%~fn|b2rQYe;Iy+AwIsSVg)%B-%oKYGO7DO zJ7ZC&D5h%^H)npRvV_$p^DbB~Ehbr;b1^u*waT9VVba4#;KR1~VXBXuZt)fO6f(D+ z$`<0};M1=PS|d&+W)5pP6JM119>)@Ab_Hv&#mr$XXLiL`YCbTTGr?LTm~f>%yt!nY z-vi&9nQ8J5gL}#9Ifu2UgW=RZ_+TZTrf?g61M8K=%wa8O_E*{N!X`6fq@tvZg#U#f za+u4hgH$$ljY+Kr>bv-{Lnr6ra{4fpZEbAQdxJXSzjVd@XD(Qa?`gev*<{YA@z+|^ z9OiQBIF;q;ZBmbbb=hL(u$D8kRCW(f5cm>21WUv2ezUclK1F4FaLEwer^bR?ezKH6M&0p_Yl(!Y-z|AXMqL+Dx>r|7oggLDhiN zKHj^`w5npgtxT)M2EkGLfjHRi%gnS^BN3r4)ERi0XRFOb>qv1`sJB41(^i{_)+rv@Q2k}A%}ncEyjS4r+~bf1;>TPDGttU-%TyPIs+6rZ6D>!6 z@pUe>{y40EQ%f&1t&-#;nQ5&gqJarD?D!|TBTx4%0j4Dy-tyd*01lFoP*FG zlN@~O)y%XG<2f`R<_2`PExpXNc-Y8HYt8q9q6Un|Z=vubW-k-1ci)4x$$*QKigtpq zRwi0Mpm+5h=o*iw%OVFMPisW`6Lzf(2pvJ_V|74rZDm>y+MCOp1^r^;P!y>@?=eRb z!&!+|v(FXfNAl$^P)}HN?mr*jK~|=90gsV+8gdJ?hZdDu+nLtOQYI-^CjJHoe#G#+ zKmL+~jzp`|N;4BG3+lW7qWj1$Zk*NJ90-}#ie$58Z?qa>wd5y*Fd2!~U+-4Q$a2FUpkx|j9BmEQ`x2> z=26oGH2O1N!XY`#m6=v0JhbB04h3tH#mr%?OteZTn!~RIYmdeJx3#B(G5>I6TI=v3 zYu@uW;NJc(-_EqM0?eM3iMS*2^B-$vqV-`RlUWd~@)k3PwP51S0y3>Wcu2vAZwgvx zi~4VKWu}#dPk(XxC{T_6((OcRKsVEd^tGSjMX z++?bgaQNd#EWy96m5El}nkGFR)GGg?)Bd+JtEUIm;$jOjt&BhtZmtZtl zGc0BfYh|K!1(_3PZUE~mi)mU*`;WAy4al@6Dw$*DU9pJXW<*r!KW_5khnpdWl6lwrM38ycnj;Vblfd-JysOJMqN&;l=)2TM z8!|-ZU2`j%>RwRwx70H43P#RL1FKW;GSgO@c~{c^O!Wq+zO>XxyJ-J+4Ww^US$Wr$ zt%9R|58@4r>@o8$-y&1}H&ofS+RVE$GfZ{FR9ueu5%chvdDj(qm<&+MKviif-T!=^ z9y9M+fo$={sX(YnRgx8k1y(zx*t@7ZMB(q89$rq8Boz5S2sI1^RBLl2mXL- z3sgI~n%=A{GVkh0K9YG?caO?B>U9wB$-ac=&Ae-mq&SeJ2jYhhCnz%S8oxper6xg7 z|7DJ8l9_h-Lhwgj$P~3EbagDf%)5Bl$h_+^!iFenZ@heJab@0>*8$Z;z_Uq3J3*Kt z^R7xIfUJXVyRE0MiigS_iH@<{a*lvgYQ#kG}pg)}gi_jl-ZJRlJB?Jh?W!&!M( z>H|FaA!o&bTGXO*|M3lk9ERc#Pq+$nHnWmipf$Cq)Y{Iwen)>iIqLz!D2rtEr{yiMXgyJz6PbHHHHWz}@0#p3&20r%UyJ!~Yh~Vb^|smbWKci*FJ0zcDvRAkOvInM1GM87 zHHWz}?|SZUc6t-6#}+e(wKDJOf}r3_5HM3w67VCI;NRAAI?}FM=@_5$D}Y<)zkECI zs)mD;GuwmJ&tm4VR_0y*kF)oHkD_?P$9MK>xMXulNXT7!LPA1lp@&dIFVdS-Y0``I zejr7PbY!X0d&dHZ3Me3gU;z{m1VmB93MfeZKhNymCE)k>Z}<7!?(>#;r@b>fJ3F(R z`>Clp2U;rwn)y;IH8JeM*I#^w(fv^4+~EICu7BJWzSFe)GgR;YS3Pgs^#h*$%G8Eq zRw^0)|G0u29W53T<|~@h4`uZdEc>4?^wpfNH+N_0Mn}P|S?ogx0?S&3vi#kGnql!L%8Hi)%Xm|Fdj; z#)uB%uEW2Z`nk|;{$KsPao7IGM)x!rO8Hvs|6$z4;xWcuOr#ulJ#30@HH5jV?Ryhz z5M zQo%p&`X~wte1UdZUqE46p29>&jui^^A$#!|xnObv7vD3 z6%{fDF%F_hd17>qbcZExs^T2O4_S2k+i z9CzK%F;#j(Jos4^|G4XY%&0OdF%yS*ex1OB#m|2mZ53kpI;vS67zq@QP+X{lq?7<2NdYn zfpOPyw^_XWKvEy-&_~4ve@sSndE>4#m6-c2nsL6n+jU1?-7@>KJz=VN@(_s>^W=#NSBmv+6R*I3RvABFuN~8)Zh6 zgHUw>A!W}H7|npp%u6hz+V=NFE9H1X~2BfF^rL9 zrs_bqwO>C^J#XBlU_Mf64uaN%fM&kb`o~@T7^Bo&3au^F^hr<3mt6n2Ya1SZN!24z zyAUuMC@eFz{&81HXh`)t0G2oXl^#&f8+QrZ;YrOnXchMbRP!a*Kkf>_B)wFv3#~Q* z&3vi#kGsB_W=8)Cw5A3$1JRqQ^^dzcJT=umPT`sA_7)uY~`X38+4wT>rRh^&?aN1*poeb<0`{sOOEls%$Ye zM?mwnfZ=?pHOF0!sM1ms{=XV(y928ElItILrTJaqB($yuGy~C_h3g-8eTr3yveq6z zwZJNWIRw=6rn`p63!kA{7;0q$s`--ZA9tN7V;XG?txf^We5v)1yUv$0i(n+QW(70@ z(VMB2>U%K$+%n$O-w55k|JBbMcO9`AUCB34l2!~;|A%oGBQ(ZcOr#ul@dbcN2y<8a z&mD>~Su|Sa!~O3XwO}g@ylO^X0kKXkn8iapIknN*Mz8V~%;KRGIlbd>9iL<=n8iab zI7$}7yMdfupX)3m^-gd(FYr9oHBg?XyQa$X>#o)EJj=CLo@cvG`6QU*x-QT2T-rqj zT`UZ7i27I3 z52HMieiYS`=a{Z8wnAr2H`l+C?%^7Ane@x9N%Gv&wM3qKxpv8OZ=dTE3HrD$%X44X zU3u>3iu#TL`@1U0^DD0A@;ulzQl5vp7R&Q6*M4~(?)p}qN4jpy^C(vkYSS4r-W4U! zlUy0{JlR!Eo~O9l$+Pb@SAPknxu(eTOxIRtFr-;t2OJmVr!PfYf$9SS{ zo&7Ms4xOD?kD?ZFFR3n}g04q0uDj|;DT_hHaHx*O-yyETRqCyytcU9OeE@>Y2Y-dn zFLdxCsk|nw#r0Ah*YNB~h<6}9M75?UE^@B``aIw8bnqD?^MluhF`bCVSLu!FXL>uf1(-T9--ka^vmWbQiiwF$%p?D z<71JLgq4=yZP1V_vzH()CF1VSa~&C#Ff%YT;XMp!~@Q9zx4|Qkcoo zoPkzzBO2i}kFw8b_?;9MdFhM5YR!mqIBlolB}+ipidcw~q{og1T{~g~PNZjuEnkAs zz{4spoRnd8eT7^XPAY139Ru)8>j1aod#uNAz@W%{mp2?ndG0e{2g~;Bk(S7*XM?`J0yLiRF5wrJU%CI#P=V~&Or zKvPP{B;eP@+7}@1E)w3vnE~*+=2kh!&^v!7LS~6~(Dh7OdXPT!2) zFXf&nTnvN|=`V*N#C?B=^a80M{|!i!Nj?ZjZ)0^q%EN%vSAyb40r3-x9|y!yls*Ya zmuDg3rvYiXP>_mhrla0@%)q8tRmZsxkgUr{+jaaMldd7*bA=Q-R7Vzt4-tij z`!#WWCk-}r{RD>RE@m;=D63&K>2H+iO7j}!J0Rl1u-5>MvR)?K0PVm5d#--a|5l1wSpuM`!YuAd@=$63mV=RFAi&+*(sUxRoiVved46ko-E8Z9N|k7oq@ zmeN)DZ;(>P6NT>VRiXyD36%ee3C1)IliXpE+q2PdlBNPwbdQ|+OqL2}ui_L(Z#ui8I zZdlcf8r%t{xX8pV5LYd*=4)kf3`O}-TTla6K(V42W9?=MHexj2ASBEfds%X(Bc(=U z{Vk3aXbRsWI7XUGcOAfpM`hq{o?=29iL|wSAsaE}ir_6szbJ`(mBZiBm&x!M!dgOY z`!9qIA!zLvidU%7wh=?O66$~=Q0NEY2)}|cBzZ%QH$1IHaGyw_j6fJM9~vwCT85cL zVsMW^iYHqX$(41<#xq%{7tu+l)IHYZwYlQIg)`+-LqGyw|_G7)tCLH=YX)Y z+7wHS1^oi6G3L%l^uoKq3t_m3709d8Gg#Fo!$JGV_AyEgRvVz%BM}>zkgH6mE~IR% z8tL0J5wp4weBu|18`Q8$pB<(~(QXKZX?t5E-P2X|&!>j=Z7}aM)UPt@vYcnD>Z`a| z-v%cPNr=T?#%LHdiunyyP5si)DYp~DtLo1x8Ktp8RZkZa3Y)gv&F5LIswzIqMg~fw zyW&}|x|l4K#N`qdD8(+!v*nZ#(d+pm z`cFKE-jwm|K$|TN#b)@o!Qas$e>~|;F$DzfK>UXVq_QhzVsZV$*H-|P6Zn8(NQ4h6 z5sA2o7O6H7d>&M(0mJ$$slg(t33@vrUhLjufRY+&kPIZM-3>8(NwnjaeFMfK3hy<| zB<#jhhWut^xKjBo3DHiP!5oB4N;SVJybroM97v?bis13Elk@&0TmTY89Ft=ai^a#2 z^!r(&RC_vcSm)-Y6((AV_!NUKnTLZ2^jsdEi#aa??eoR@XH&*nNd!OItv@X%Qc46O zkj*7x*B550+U)sHs&bI1rsYL(FH*i(_|z9UOoo~0$%_m=>uXOb^O zzx)pKvn8M7_4n5s?09ORM`QY%zWslf{?TxsP+!%s`{VJ*9dSiMI|hHpsQejdoNGwS zK$0Dh1~L$6J=NLRL%v}S+Hu6i#LhLIRIvuShHe0R%+Zs# zeq$BD@ki=U%89~xes73F&r%GVXa1+n=ltGijPCoUN%yUfxf zLK9GZ8FiyOz|{)X#>Fk8VT{C0P69WUIEIVOTR{OchsRyU4C8s1F|&BxWy~!8;4)?u ze{}hbDaD^$*_RmLXBVdymx}Jahb!K5mh^O7dQsP<_aQwm*D?=^r)YhqZ+Y-2@C(g@ zt7NP+(j?Qm#z<=}>L6pS!LQd2c%8&Deey*Bo(@})f7&_p|JTk6EAr{-e#S_SWB>o> z<~*kbEKUi z$Q#3x!-AY1tQ z=IkemvRq_V6iRear9WK0X>K+)MH{aKYg%EcA6uIano9gC(%@{my|^E{mEa!eoihs- zLa(LxnmLPU;=3N$vJF!!gtb_hWi!wK*HBzD!Xv0NU^zUgSVRG8;47YZ_FpX2xLwlt zm9k<5ZBrq!Div95X94T89xO`mRhTUnX&D7p@b|#Q?U59RTqUDXSFFLc`8AYA$dVN$5v^Uz1d%O?M6KCm z5S1j6uBDFxkt2yxnj4XptSpI&+A$QdUb3r=!vQu`7E zvXU=^qau|F+Q!d7G!DIhN>E4Yq_u4UqEis-ewX%g8i>vX+M)m0r>$!Q;w725 zL)w>pL3DNcZoVwfaapwt8NU!~$Y`Rv68>rogcH=@Q8;r;v@+*8 z4fh~s<{Kkn{GhCnrVbHB5b(0Wb{|QEP8ku(qCHC;IG!R%36dxmy1M&r8H7nU)D)Df zv3V#@*C&)T`rA%>G<-Vvad|ZH~%n#ohmZed%uztkNV%BT;7zNJM+D|Q67lwj+eI1xq zEz&E_QAn>bD>07M(AqHn4`tGAWN4DeUr8Ud!#CnCBI_MB_)VM{3BR%Xyso_vW5B9?#q<|!>+Pp*%E=f4G_cwwFmPD}j zaa#}}l5lHd!z7icy;20R77XS^FJ1d= z6Z9fO*-%Ph$1IW>*`*Wm^PS92StQxmZx%UdIJiAz*|a1#P&Tq{;Eo1^;;jC%Scm#U z8P&~_P<)Y_*g`u<0}KC$0r#M2$lDn8{T>zMdln>;Wofo{R!8J7Euec)CXt_K&T~A) zT@v?*S))WKhfVhavU@&2v;(HvU7jlAg~kyYzvgTNr?L_`nz9QrmHfbSzHCaldm`oA zL>NntUw+ODYj%khu$L)oxA9d{eiGVLVEl$g z2sIS=d1^yJwmCCx>}eVroddsHEpvyy{^vp9PgaAk;LOI%Z&{nN;^7!kWcgOd@yz5- z_sfjl(U7k!L@}#}pS{kDS1G;$Gfr7Y<9K3dehu3wQ&Oh*<3bcO^o>AhL!62&B3WDG zQhhj+!;fbh!I>+ixRh@$#1n(_o7(v!uZq@|^+g;{3|%u2+ORIgrwj4K&|L$e4e^>k z5&GXao_yp?4Fu0C(&AF-ULl@ngZEK+DKM+H7hProzDHII50nB%438W{*?tkldl%kv z8M%|L&zex&Ke9a+J|q(OG=u-=HR7F)oEL(q2 zTX=m1pJ2rh?~LqDelb~nEd}4L1F$>!;bN8FNG*W7JoR`x6c|7Pck{IbuqH%SSCmnd zC43n!lx097UUfHV2IE}F9B*}R#)H?8cY*Creq`5M1mmb$_nYIwRnf(d=C%&^Rf^65 z6KUgjV56L)akQI9gR>tgh;s6)p;6A4akQI9gR{N~`TWRal(RIBcJpX(UO`k*PJW~? z3TqfBHI4?SBko##o)R#y*~3SCn0&9NH-zhoA|U85i{l*mfsB#Tfkb7fd@j!hgf#A0>oO zy*zs{ly{da;NS->)H~X;Ngy4Y}uj40Z?kle-pAp644H#M* zfbhYXfF-zv{;L?l7gaI)N6-uXP6LAag)k#e@PY$3as;C=3$cXY_)qBY2|m4r+!LI_ z@a!1DDu~VzO!-t%ejqsZH|qZmQE(WRzo64qD`nv`+ytGbVG%t+Had|Z1VvHiuM!-e zjfYMI-@s{B5#*e}qg4WYfl~RJVDlk7{CW{!E2^&u!O*%WJc8+%EvrosR{{0kl4vEm z*=_{0FQN1Z-oBwIYYASQi03c_$I)Q;8Z))?Bs`xZ7>NvBA;`tW=68YtDE!9+kN$#} zqsvqmt-_Q9!30#<0D|b>@zGO)ooF$>*NLX;@EwAhMR2_!*p5zRKfxHd%vFMl8l1g7 zz@W$I{Rvj1%&QZ4V5kW}i3~h}C)l(Zue~E!*B{Hv2=pG3 zeDET{Kd^X{pnEzVtr2{JgQEjL3%uGgilD|kJU}5R`!DX!2@V&+vNVDNXsL?`Mx%dR zPvC&%w+WU-VQVwNnkLw*NszM@?$r_Xua^G|{)K{5YYu>a5qz@~{zY&$8~#Pmei)v4 z63jx%rV^aE2LB?c^a%b%FmV(7i(n6KxqcuxyaDb-u)H+f3*HMi$80!3xq6C{*a`Ko zW|qa3jjRG;@GpWMHQ`?bcdNp`2#Vuz+fIV-Z!5}&1Vw`IK%b!hYj_GLIX&QCsAScN zjSaO47B0r6l3*9=r5nK_^jL!l3LjLIi2y!z!L= zxi`V*u=to@-Z=QzO8`eu!7&7nwqvr2;93$MHW2*V9V?{>PHcgD5e!GCxP_ouNw^n* z@0afsX4%Nwe90Vo#(|039eexnn?B>ES@ew61}f;CSSWhTKJ zr7;&vurCSzMQ{`Kdy(MYUPZY{&eS)SwywY1SelslywCAGT~nY;h1Uqf#7>Ye}~{8yDt>C+89f2 z!U(pYS`!JvFTlMBhQZIO5-dOtUmz$y3jVi>C?*U27eUkY@GpXRFZ_$3%6UBhC1{T_ zzeTVURTd6sQ>#{ne-Z42>vSXd0FF4AAQ2Oe6A9)6%q2)3kItXqn@{lR6@nG0ao-i9 z8|&a-1YaUEj|r~80fLcnwJl07hM+gnQIw!zKlm5HRy^paM^Fe2uMI)S zhPbO(N>C1Ck zzsQQg@`vUGH`gdi7lP~P65b|=wZp#%IAH&Z;6*fwYXpyrD9WD%`_M%`CHN4Fe$sja z^h6qZ5$vi7_ab=Zceoe9;u&zS-t2!4g~Pwd>X#stw+J3TRFsbhhOLKx5q!B6hd%gU zgja?UI2yvg2zsCdOA;KO3jZS5)d2oQkQ1vY9SC-u!=eR(-Vfkj1kq^ZrvQBFFKI%# zMAr6q;9msyiegOx!8ZpKB?u9!oRBL;peMn<2*%$+|3%O_1>F}x+ZymMf>6}U4uaZ? z@J0`Uamz5sAXp36dQ1>m5$**)Qhi$xSqxEk_)bv*XJPmk!6&GfdIYOc9&HFJm%|(5 z3BIYXD8mQ_?}C336vVjU8-jAk>kY|i1^*)W2}2tzx=FSBEIa@un297-A{g#N%Na|Q zjO5QGC_D)L7eVwl7{?Km`3e3-@WCG3tr83l#wdee*GTvmu3G9{)KnBf#~cN+YQU}8J;Uj*GQ z!M_Mjje~y?Tr7!IQv?sEV3a}7Z!z3!FhC)6xm9!3&N33j84+&qN+4_`;UkE}=Y;9mrh9Teqjg0>eihd|KaCPo?(^VS3}wVjKgT@PqHGr!@mgH zuj11JaIi6f|V2ZJ?&bMT!Uf>&|N-<9BAaiOdua9@Le5!_4?%0~qCt18Nu1lPyF zy$F76i@P0y)xTqq0pL@&r=$Nu%GG&C6{Q+M8iu@$39JjTnM#UqRqaRc2+Cs!uKkOp z>jb}`*IPm`Dh@Xu1Z8(9%0q%BlQDNO0-*HQxRD|#xe+s@1cScA4IY7S)J&{aCrV$3 zOOBMmn|2b6MRj~gFsu(cOM>O`3EyV1d}t64T3Qjkqv^nXl5G;_HRQr z2om2?l%oWnK0r3$5o-HQ@V_EN*|>8kPhi8HRBeJtq`D=+SoC<^2;Tn)qgVjDldpk{ za`GkHQ4-soy~mPoaER3el%j%8!0x;z)hf@XGO^uxTJjB!kA(VDc`R&zhTU05>hbMH zcIR$5WR&FCon_{bLw=NrImM-ZghDzYmAPju%4uIswGU)Ka_r8096#Qxo?$KY#t|AGm5Ou5#|NUmhHxh2qT`x5u8{w!xV2KDFoUIrR=7*g0OAveh@g_ z650xc-Ps<;M5b+^jI}j(nGS8!YfFKX`5I|Wa7k^~8 zv}i0(ZjCeMpJa);7hoWfJzAA>Q`|0R+P9%|&Tef9WpQ%%oM2hXgW|pdXU$$}kqPCF zIvK>6yY;z~F*TjN-grL5ZFa`&E_};K7pCPuMCcVp==cAJLhg=AP^fAN;if#n{5_wc z)uK9!cAy%<{dzJpN{7A`!8+$#E7 zWDv=sh>R$KKyP~wBT8=YdtUDD&02FCDd)yNsi3$^hl9Pz$T9Z;8jo@~18$UwyVfcw ztTw`N*^aRJR2=1$yxYoxZfA+-svNH6$+s#e@;)ORRG2Qw_nM44rulJnnO1N0yHL40IE$sQvg2yt;xo`Motg0{!YnfHOuiacs>OhQ&F;MT#{ z&aFU49xN9jC|WmkiAH$n-vAt^a6!2U4g4-tDtmp>cPpY_R~mt_7W1Pg>q8LZtqwBj9V*3}Q=jA~NPcek zX&C)m4dHG~!N`=zhfBdaCsnyO)8M*0{Q~Yi{A&uvnHA)+i=F{df)w4MsBAci zaTG~+iTnXBU3FO)LoWz$qny=cVn*VqCclkMxRN|ia^@^tFn#MW8o!A{kfqr?MgD@9 zufXG;H$wTCI(XSjz>C}~tayYO$C);p(R-=~zd|B6Fe}`0X?JqNqjwh$>MoSjcLYV= zRFvNc7A?n+ogk_>dMu1?Rp)iwaS-@gH$? zdNJIWrPPQB4+giy+XqpWH3~T%Ay`KDC}_mmTH`|0xB>VX?<5MPMv|@MkA6n$Y-ps} zW>+y8O2`2OEHM{DTv4NhBNquXtdy~pea9b2TB>@vEQVlV+;eZUrmK{gw!-gb0Kz zu~{ajmSbALOnqA-`WvZZB&M-#=w3fVT4`aswJ>0%F0Jg5R@ymE2ds3qU0CH0#Kib& zbhmlX#tpmDOmCYDg(h>Ygv>(7K|^}HqSP1^%YqTgpg~;*V^|i$3<~9yF6i)U3@O5N zg6ctPSUlqscyNlM-HAZ(j5FYPukr8)507!^*afNeRjB8-ABQVlSdDv~#&RIWO^0%m znX%I>a#%x%nuqcMTu+L4Ks}E=gkay{qFte(lue?H2gs-!`7LELWz*z-MKK%!l*r5E z&X(MFuA}`492w*SgVdV<;fM&vz%7l2Eb=y5Mujnw`%{4HUOfa{VRSW?AD}D`>?UB1 z`yf?x;L6vVNpc6IdJeaR%>e99Zd6oD?7@u=H}=_`+)bEpVvkL^3a7o?)V0UukQIwPW=b|LGn|Leu>bBaL1)zQwits+c=xDUE z-2k=YQ3Jb?fAuTONu46=ZM5%i39e(}>2-ou!*Mf1P-_fU86c5SPJSxN?i?rMJBuT( z@PPn06IM!iRW|x+);oo7@eH@8!lQq&mk?~y$xUO07jz4GPrgP zuw35F$URwYRm)56+~D}|8*uQ!J-REoAz@?CDJt6FRZ!F8l#9v9vXV#0j+G7+0UhPeDO#QS5=8AGjOh#|p2GwxHLHLALF$rAZz zESAotmqA)Mx^ZDlNg-#J&IJyDQ9Sw;KSOE00!0yIanFUA`S3t;Ht}$P zhtoV<Ou3XChZRtVMy#mL_>;{?+qZsJaQ&lqT2 z51UyFl{v4M(%@GKCEg>?vGhW+h%m^F?zbms`; zESAS0Ntq*%e=#R46Ih*BJ(EiV#G-JxjbfR%%a>UZU7pxr(r^1RPr!=UY|{IDncv_l zD|VPPzL!z)YYU9}U`^h5Ih7E`((>PKP#dG!zcs!#eg!qj-vHx;3{Qqu(ZTQnF(%_D zm{8|+C|VGgQ!yqN4h^ztW_uL27%!tjfhsL8VY*86wB2p5$VGCIrp*&jXZwTEZ)vpg z5x|~h-v`Gs@3S$PGlzigFQ<4c^Dd3aOc?=sU;*k{=3O0Q+ztK;N)ED~Vu?q_1ZcFh zIbSp)Y8XZ9xPTca#8dMY;*llMvVx4q$B4?{S|r*&7g4*sh#JVX&<*St&S8Q!(lFLH zU~?F4%KB`O5b%H|=p;lHdqy_qkIfJ@10gmBLR9g^1cG#A{Z_R9Tp6?LW{?VjAol`6 zDi$+C6z!xVj*1mqK}nt0y=ZmJ#*2zI4e}*ro0xV8@?tiA^@mKiX|#2~Xv;r_pm~YH zA&>RGeT65d>92lYP7nC<(DrVq#M{f`LUg#G5!5t<@*Jvu45?=SOh4FHMEl;_u3#UD zqf=?AosJ^6 zak4s!;be1Kg)_W4Xw`9GFHXWNIg%(9#7!gC%95xU zbPVm?T167ogSc z)hmb_N38W^x(5YuTtS^MqLnZ`qJ>x&`Fp*A;&`$nwo3r$p&UdrMiZXB_8@VpMaRY81y zX6-1`vnhxhN35NK8X?fGAZ{G7b}qoG-WSA;Bi5H>;tmCI8>4Hr_VMiM9myL26*1l6?+tf)7IMq3>k zcOcNIL11cBw9JBp-np9+0wsz&_nf;e@1h+YgsS8kBBf9={J8)&DprR8snQP(5>3?f zbUo}95$Rh2r?wi~yR24ggY}@CRxX4F(~VQK(`C%F&qU}TPP4lz2T6bTaGKp!MG{ur zBX@$Rs;wK;qTMcInw?28!qn1aI*l;3CE>)4@p9U$W7Ca5#ymT-8gxhh;1v;@cAM># z^Xjgqwv*tiZPAQ_V30WZPO_swRIZ(I zFG)HF6Y583T-3rXWOz5?zbrE2vNdgl=$(YK~3crSUv zpln%&gSrv7Wm*?+92wilNW?W;>l(tMw0uCuKTp8uW<+wDj6;mIhoNzWjC$+Ac-d1E z*zzYC2it+s%iRiTv4QV+dkK2`ks>3bSt2ZaXz{!Xrg!#3 z1UqE$%%KLq<*FUFc(+qhDO2A*QY3|zKwqgHu|$4CX1yNz<&h#bHxqTGePZ$6BXc9> zgSAgB9%~3}w8zR9?S#df48oh50kzL8p0l)m2Nk8Avcy)VWPqMCN)!t{g-mN-SfX2# zml>}QA0^U4ul57;j3s_9nVU-LTd6q={iyb}CE+NU-Qx5c)a05F?Sds<(ZEdEs>h6m z<`Y)wB}+m%G7k^XTaOmiLU&vO^NJ;A5Sc61>+42~S{a?b1M_=J%!g#2OGUzeFiT=C z*0O0oT4KUNA$ecZ!^VhMEf&3y_Om4_lguZ2&KOawQomc^-Lk~ACNBlcTeaUTo)sV* z&b2tE?Z6?DE~2C!UkTOUEpcXyrsSw_^#NME=P*wfj7?G*| z7OWQ@D>8g)69^wzybawD{vJ_GUC5I(q1M=Nv`g=Jz1TQWBtyq+h8Ax1)+KK44qxG@l z;9r}l9&L?XMCN^`z75QbD`du4V~jagFUqRL3+Qi-7b&47DnqHL)pL|e9p>m?Kq)kQ1enFG-e1W4 z)27>fU`}Kam$JqtMu7Q~SFen(%!)O7H=k&zcGmP=AVZt7II^wDC#W<3RsBaYIW?zGe($}-`dbr4U3KQ?`lE@Wk$N^m zZ}6%pr*+31kk-YT%z0jg8vhTOe`M&X zlSHl1^7Fy$V~wv?2+Z&}edHv>`!nX6wEouE`DB)Bu5X%z@?MMHUK?ah_=wCZm-O!@ zq1ygEp%xL|CnJDmgpZ(L2fp)51(sIxJ>5H7xglibiv_gAn!1C$kbm^cQ$^#@-yVRu+?sxm%vA^UO0U7> zNB@Gk(wg2f2F$O0`mEPb=vFed2YS_^=l$6_H-pM*IU#61T(b&GqA+`3H@)_%10&|Zwc^jF7hk$t7>RF4Xmf8lx zQtcgU;$M_BO4I+EhGrUxi?X)Qn&gTDvx@?a_pF{XR3Aq51J=YGN^D>1Inzaw@7I^1 z{-HIg6`7TIZ8!waMvs?zEFQ#RYs?f%ezk!3*ev%jUR;h?<5xnG8qW-UYG&x+E~uTb zdTexzwUnH+#vG%8(MKUUW%Yaxe@ex`K+#THRHJ^jyWLCT4M?#UEY|hAig%!lQk2>H&#yxN`jL>T(EkA(PUHgLm)0%W9m_| z4G-$HOIFW75Dw=s9Mfj#?PiFAp)D6f?XoqgE7e}OuaBD{%J@cOOr(8pM*a;JU1`^? zF`rT6MfidCqnVeN%7VCIjlV%j3Pujv&u0FEsdm#Eqa;95pI&^+%;ct?ko;=(cqzG2 z3X*1zTjK|ixi(0j4W{PW z3eCT*Nt?(#tba07q}42354`(U@Au^SUIFpI8vhOp=6&Y)p*1!NCG4Hj1H@yq$db;3 zcw$X0MalI3da2h%vGRTC7{Zp^0L;_})j`;8MlUy>7hs3Y7*5PO1;S}do6oRKPV4hu z$F*nCK`>pm*llF~&YXwXJk{W`sq0pN&}_-yQ?hM>{{8F7$4m9W46_w}MCKknW|r`X z*?PHIB3Ww+mR86X*A#`~eM9dtOB87woD81VmNJ37ZoH<(+B|pYznyP`h_l7NLx~4> z+**Py<`M{p^LreNa7>um02A(7qAmV&DrFASFU}H)O?R>LO0mV=C9~~a5UHlkCLHyp z+2T_Wt9Q^&NYYKoFIdN^W!U1XP;z=NB$+l(M;J(LI!kXbTcpMYKLj(&RKLw@aA{lm zOsZ>d>N97HMi~{Lu9dSTt|v2viKt-n>;aMbMP(2bZAo|+DVpx5i{_x9l6ck4v88y) z8>?r}5os99HxtlhOm|bn@rO8YSLaMskjDDvJ?wqt9Hg8W#LheAVrzwd%2BMeEGm(-ByfXDME3qxz zy{|2H86~MP`m%WJ8rl@ro_xZ%Wqdcjt-Z&_zuDP@6Y2 z4ZP+r>#6fGWU;RUbA-)Xjm&RX=xnK0;aF1UU30jD1HN&Q*GYnWWJ)mvH;hh zb2K^K=6#(!aZull&>eERgZa8G<|LUMv3eiyGLBL4BU{20@{+9}j@UelU@A3| z{(RJy_#P!6tkBc?#fXUP=I+6kNI5!FxfHtD1-F$k^OTSwP}bf_nCFm&3M zkV59^hakSNc{(6$>KtByzO*H_rDX9)y{#@XGiFo$tSwC2ah=+L;akUg{|eoR@vxAc#fh*B9P7J~W2mT;NO zjl7B|cBABLkB3Cq6Jtw2vNTMOT`Ee|tVMOJJ)u0AYukdb+l`WcV*&_=J#iQ%joG~f z**&|F?9>TUASqx^oI}ZP4t)*`HC;wSA@+pLWRCs{M5x`Ulc~&t+n)F{B|#jogxfup zki66zREw}DsU;!V(g;MP-P4DXgO~NtWys=`U%~X)lgd-$&FgykWuly~MMp4W?S-3y znX2*1l4Lh7`ejaoNVXe|=g!|CQtT?sE*Ime54x+!@r3`B-K ztypaQDwmqf+G`#CS(g!X_2iW2hFe}^Rr;|B1Lth7`x^bia*>Vw`(QOEXx%TKg z6l%9X)Uq3+&dVIc*0y^>vY4DvddLcqTE1-wFzeZ4ijY}480rn|#_jZI4!9fIi?pYt z`8Y^kup77di+1U~R){L0MLb|OL#n7# zYf|#=XL`+*=%)&C5^kV9u_KuwLHdxDDAQU+^<^tXMXfCsV`#(di62pTM8CEYld4b1 z8);AE`;)yM*wsecjZxB;Z$ON(C*_od#J)|>S%qTxkVBI3_M}#1mMfzVT7_cS&$!_yCdy=IbBy~H1m~KkCuo!08lj11x z{G`XN#*?VGD?ww9snK&Gh`IKpX4FWy17g0}a2C`CvA~|(my-0JAl@(~t@eOeWKW(# z$?LpRT5L)xu}vblYXP54aOAOINAU?Lo?xiFeWuYB4B?-$w9J9xMNlC#oAdZ`oajf}I z?XkBgd5NWZ((cLCU@e7(|Cv3}RuPh(0+Q2qPqB)6$T|_9?!628b9+((g;jqC@ul6k zf&6kVh_CD^Eh+g}Z?O&+_oxrRJ7+IEfV@Nd_37)7^E(*lYUl0oYsozKrT!t9YSKmh z#yU|(RTK1>^`c_vZhHJRdwgy-lp6HayRH|dJ2uC|1nmZjKN`tQJqC@R>pD}N5A%~9kmHDvW`0bEI}4v%*Dv>PAeM?7ONT+9)#9`3Xg>prh5ph)tqF==sgyc^!$Ib@Z;jrT5!}i^ZFC**HhZsbpIA z>RZX2G!e{1NBU7R_x03&*(6Gax{iaH;z+Po0kc&@J$dnFx-TPew&1tQB~IL4^* zD2CFG_@j`d?p^>%1qUw1Ht5Bt>0fQe)O3%&`qRz0!qlq?X=O)RT2%;t*sC|(f<}Jf zJ20y`ygkUQ#cHf!rt`{n5V?-DrIb9>mu$gJz&|g7SKE>NHhIA(^$T0jj?1U<&Pgiu}sa-ihZ|5jn29ngH%y4IB7;1N{di8Cn zq_qRU?BXcWj$yk->Ar24fqRX)>Fy}DgiK|Peta7yP3yf6W=}_{@5v0+UE49O#yx0S zA4jpY8sPaxg6L+6B zHyVTh!yPd{k+`G}B>qj|^^&@KC;FFCg~6QWC{h%a>n$@wue}pB{z7wo@J^8% z+K@9_vmI$mDC|@~|9B@#qVZ9LnCD2lOlHszdhjkJASXtzu}dVyE;|RI?ucz)i> z=0{-ecck1Qa~QLDz~Na0BDEd+s`nj*)6sEwN3PM+_u%UE^K38=JB+~*U+$-U!IATgJ?*ehuQDhz^gQJn}PaK{<3&U#b1CShdq-~|-tP7G84r4%7XbU7K(Zx_Q zCKbdfhi7|fg!#NHh|`X^D|KuTo&Q%HGXqa9Np8W$Z&lgMndOJ577FR~4ommSF;keR~^`4xv}E{N3H z%RyXqB;BLrFP8uJ4$lcnZX5w|-H{wt50WKMK>TQina{5Oh9fDHlFcVU{A`A)#7^s` zBe^yuf3<+*7Q-ONsor2vzdDjSQ}ibMMf=?hw2rOm4@dGSN;dFD^Dl=n77xP%f9MHxI`;M5)l&CC+2UrjSBK6%Y5Dy)(_b4g< z0K{W6%-KyKo;YH{pzbZkjNyX|GR$0#VuUj`lah*PnwrIlWcgt3D;AB_8CRR4X+uHa z<%KfP9rhM@;MJE;iC=e(#TI8#bevK>Y5(~`_UEtsQZXENV& z=Iy~IUf2w@Ee%AfGo>3PlU@K(#0>KW1_oNXGkF{(4SRwpYKHl01c*#$icU%SFF+JG z!)#=mEa6PvP04#c4wg&#Bl;PlEN99|ibBqVC}Wnw_h?vJS!c|TlNA>Gd>(WI3)$T4gg#Ft77foH1n@V(FH52L`)ZH8W7d!yu|V zy)Q73?J|g5GmxEE$ePZWo|N=j1W9c(%#{-$>Nry-QgWJ!t7nEe&+AfsXW?a#q{rl7 zonBL|k%F}ymg*~T!Y@=^jX7!2!uxgss8p|{f3R1imFSZV-g>#NB*@a#R85~l?go?F z($9^`(ZlxP3r#;)f^@SfeaSEVwbI@y`^0;(RX?M+lhxJ-k+y>S^H)t6XR*9)Z|q>d zZm6VeLQ=S#wYZHbPPc~qQB^N@P84p<6)B>GRmNeNx6W6Rt5U#-pi#@bO}>(=$S7qE z<6;}GPA&NlbC+ceyMzd^dbQNc7&Y)$!#F7=i_Oq?oFU0s-F77r;yX9+r^Nr40SI?8aFvKN-;Pkx&0?7DNY2$aRe6`O}RPGVqZ4 zK3Vu3@&&Lnf=6n|*mOg)r^7gl<(Yl`Iew((<+wHVZ>S-c(OUV-%W?aF{*8S4p)Aph zYKUFxqaXan2!|BS3?;?=%3D~|Bwm#L=8Dq*w7znoM8V} zK>riJz7OuUlL7XsAxlyW%_4y+;44s!I^OFK0R5k+KUocVH^I=qZZXbcIbXtK=ughm zFMXQ&7o_+0iZ@gn`=ihso)=MtUNhOaipbv~*h%kRQ6G6;#FqY;!LP`5WNaO!N}AD5 zFqP9UvqbO81xo6?Mx|ON=*P~B1Ya0i(dm#!afTjD%AZ(Xqd(po!^ffgp_i6F!^#(? z6)2Y;!+5vJWM9NEjK5@mvX}D(SEcx@n7?0)lVaF-ORk+#qvo|NHNsRF=2w`Ut&hGS zVtq+W+s6^iFY|~}rA5qyOB9K8$@+Df(6RNDn_uf`sbHLRCGBRtr*%sA`_lE+zt-m?NNC8G)<3_9`8y>a%K43Ncbz4W*$D zRwpx22;Et~@*`Gfz7!$yyG$2TAp~37B2oQVCmhH$tPDU&bi;?tT-_n*{=CE}j2>n- zp^i-hR+L^Cg((t|)c%)1TeQvDY|9i|Ak9)R&>qoFCx|u#V{(lKsExu<3ui+brvU`{y0{sJA zgwaeC&$>I-*9)r%)Rq&aLbXYH&~*`$JsE3(^EDz$rU=xvS$?uzO?@T~qXE69cf5|3 zkJE(i{#F#!=Uf*-8Pi2x!LuhZs(uE!fofu{&(sfJ7hdtYehDdvm}OYE84Z~Un5`H1 z0k1WgBchCe()Z~Ub48#Oz%$yazvSi#(;K9AMYzFyX3catlW;ny@XR;UYku|a)eMXDmn@e1xdaL;*kHsgGUn@JBa9XLgm5FwKHAWV?5j{BT!egP$wc2mCeMhqrx+3T+l^t^ zQ2bfLe%LT_j2Sk4fR<^5Z8Nl=rkpmMy&^;})a;Ax(~TtiMZ>Tc8B>!R1N->RM#LLN zxP7uQ&eC=+F(N)WYeb8pE5^tpEhQ2IP_d_@ZXk^lOIDH$|I|eyyEI7_y<#TU1(DR<(Six1g}noHkO=Gn`wutzTcbb?b(0 zn->+AZ7MD+g1Eiutu|nd{5TwpMw|su)KU*<@&<; zwzauSZiq}y4(>$>K~Jb2Wu8dT*G!F@lDsw0e^zCAQKh$(dR_j5870tjk3PbTU#++3 zv6E*g;ko6d6~&vqRmJ6HH%r!!K*@is)z1vNZGAwZkbHZsNS_=McC)qS#R`4Fz{nf! z-qfV|lWKj37*t%gp?pz!k$K_){klE&$E`G9+M!QK9i)Wrg*dw&3lWp_aC5-xx>p}| zt00&KZ|cb*1EdP1ICK|u*Xf}!E?bW^KYT~uc6&t1lprTcvhH3FHPgj-v-DGapFU9a z1*?V%w;9!=4<8Vw5DIbqo%$a0^m#pbY_!5}a_~mX%u9ns!5wxbv2Y$N9gY#)FiHG= zsP4WE66c7$del5PJx3&IVW4?Lc+tJIS;qqN#O{O(n zb>JC5ZVov?MxIY~M-t8_$P)-pih(ERioHI*JlIb>UwX**o@76K6=V|57gSw@^M%

(oZq3ylemEjc&p^de369j9KwgV50{_u4BFz&@N^L?G>@6G zP*iJr_9*jsroc%}IBMVghOE>Y8;WbaeJy%~b{F^;iQ%sM5OCsy5f9#fk{ix;0$UMu zO8Q}kba!#K1TZ?1!?0Iq{9Qn z^e%X%d^gEAuxj}l>XBYJ7^lqA*4BN&aT-NH!>He5uU~5=R@4R*jp~q&CIuQSSo4x8#Ea>TZ6LFitAyh zm9$B80}EUSv`D&}Xa^gJSD**!h4Rb%vhfVocr@YpESVDtk7996gR~Xc+cKgXnWvj! z3(_e&k@nkMHtP!`mMh0eE#b*v7k>wSR5SjBv>MQVg-!%~{Uo2m@*^UYH@z$Y(S$pg zSyKtGW8N<&yoR;EQQ=T@pK!YNl28r{(Q&B14}Cp_wDi^bxQgZLIZ~6Km6e-y%I||V zRP)(zaLI(Y*|jN>@OFleBfOcJnnrjlD~lY$9qbfPt#HWBM%U^{sGY^-DAZOSRy}nfaMy1`8`9dx0pV$Rcq?C?E*r53d)2{jxD4%|8WHA+3r7~w5S*KBicd+Kh6CTB?H4X8A8zYyK#O{N^ zj&8Cfv`3%~O>#AmU>6fS0sWG0CAx!I_94XOBYlDB?JNP;U@6kRA^3z)`c=W~A7kN6 zZ3f}phk~unBD|I5e;wfo>_j5pPQ`xVVm{XBK@#d^La%_+i!QuNbQ7a{Aq{EYHH&7I zGz6cp22#f27EgFG1iLVc@Kn~#O2TuPd>P_$n4R^a3lEb}4U5YG=#(xTC%T=L)gK^b z9nxosu45zo5_pmJ3A{`NlEf@?5T4BNSi*NRW2O_{#jIF?xC7^AHa6JTDS7yIofxle zgSho*Y8|za%A(*xn3jT9A^Co zAf(d_e{boST}bQew77jjly$n9V|)@kwO;h_-Vu) z7;S#R@>?CS(_<^NY(V!vA-a#z-#`!2i-+8y+)QTfj3K;+o!&i!H!=BK#MRZyM-n!c zw0*Fp2<>^9XgiD32jEBAIB&J%lkf2crmk~UVhYvHHZWdUoWL4z6W+)yo{6|@hkrY7 zHOV_z(N`)w5x->=ToJz_g?8qcAG{l7oe^EZ@_7d8CH)to8yNi+v?1*qG)8&V&9Xj{ z@CIh(6vA^@9?}W#WyY@~JcG$sDLm1(oz>?~QrOPC{VmiMqdW2~Vi{HbVZXmY3(}Ln zBJJI*yD)roEl(M(?8H50EPPiil6Od-6NML6ARhvE5z+gbY$Dm>Aa z#q9beDKxR#ISTcgFjXeeZkCIWpiR<$C;BSW{ulHkJ#9#W^0t9R41b;z$YeXSemUZ9 zc{4VpoFp2#xr8?}dwv78o6(-rL?>K;ggkRW9RWm!adCX1i~}e zz>=RDkrn8er%KPD3d~gUxwdvTvht{*lWbs@5+23ee4Ow;cELUZ{!(=R6ww}L*Za_k zwC@7Z4b1(JL~@@MO&sAJ%>8MEH!=AoglDj%l_)&i*1(8e&{l>Q+x<{4cg^bPkAa=< zJT(@@a&i@M8Dst})*%y=6K-}2A4PZ*i^){NZLC!8M%;}*!+2G9PRk`32eZ4H@ZGG< zC#0^dU)M2`Xl4mN1uf;6s7|8mSbo2T9;AH(Cn{fRSfXMG&td5wOL!Nvb0*<^%+5^0 zJuFsU#KQx=hntU82qSb#mFhaVbat^d zd4~Bk{@<|K*GlGnt&}icD`geXOXNM0Aj~5PRwKQHzQ7u;XD2l2E5QF8bsM)9y3Q3m z7F*?q^I4y*3|_G3i?mYn^L|%`mDoPYy~(X-T4}6-p1J)MmSVWpL|Tiy&C=p$iMB!F zpvAWkC#nC!)3?_OKJ2!(`ZBlW+vQGLQ(V)sriYZ|hiVVqnwDLtz$i_-KPzi`wU=;` zHQj7!eG!%#l*Wy6iQByeBlY~_ifP)LM|^XSOgJ*6WY+X@{_SN8#p_m^$nesODr?#w zzWnvh|KZDLPPdKAJ$(0$5PFr+kv4jrj6RjEcOnbdc+SS|O69LvQw#m@26<5Lc-EAU z4%6ghUj%qsP-~wZ_xzZ0Ubz(q>ILaeKr++1cnndL&&yzCw%97mgwG#nGIJ z<5Y8cB`Y(kVBj#EIIPvg_~&Kwet%_W-#+mqJNwRCvp)Xd4`1w)=d-5V%o=|;-|gQq z+-=w2=za=@8vn*)?X|L)HIuxZUai$IO}o7r4YQ^k%bIFlex0u2qpT@cZtn$ndlmld z$;N+o>dK+=dx*IE)H)j#9oC-uwJ+f|F5&jePpqd=#fzS&Za=4PrxzMYeNHcT5D-S_ zz(+W7`^=wK)95CRN|HI%a2;}Cj%gyQQ==(ng$Z1pNryKn&Qr~zbUwXY{)$5Qyby*9 zp>KlqU3606Z^jFK6kQ9QqsP;a(c=m8=y)qBrfB13Lh%~gLrHq49)xr4Mg|;c|OJbkieOB>`-5E>0J$)kyqFXqh`ux+Zt{1b8-f(B>$T>c( zFQAX{^`7c?0GP)hqW)`B$0y7!W37&{(FH~W#oYL2u0yv_4IOJui!JWD_rTg88|V7! zfptB$P3^D7h|97AGWbNj>%xhHAS%_n{zf~r+>7(6&tLzS6A05(^PMr)kho-5^@rAy zxQsx}A$)U~aLi33BH^c33omO2q~K76g-EOu&p)m+B{p}s(mgI?x4rFPze;Q_)}cMd zZ5s=ilO6De6h3vZs}kEoc_19TEU`@vc0pqAI@lSB&2_L-63gURfM3Z65-jQn4@hk5 zYii(~5(~zx+0Lw&SiFO+kXVd^EtQz&U~iWR*wa06IJJ=5rd+K1{NGzYTaujAf13THmX?#;QKHy+KNi550d_!X24_0CNLSk8?tn4Iz zpz|QHsy(`rY>|?qPP26qJL6z0CHA8;6Av73WQmyhS^I0@EzjV7f{^?@`gLt5JXw3GB#j$aDP z>-f-G>gqdKbBXO6#OM3c05RXYuoK(e7nhPRz}Z-u#MU|?PL^1hbBRj#2rk=gGo|j6Dc8}E6avaM_=<97mc)uXS^Jj67CLRGm%bkk}1pl6y()tP>1{Epjl`-`ft>&u$wqOTz(s_4Je- zR(CMfVI#+xZc_J-gLRVF90zMBu^hS=B({O;L@-)P@T}9gsl-k>SZj&JI7-RF*|nJdcI+A0u4iByo`H=P7%wdv$PTwT!Wt4g~Yvp1i4 z5|mSenXx36>@=Pwu_ylF?-ObXw2u-7H_mV*tI*yv|qgP(!*cm~#XAl9Ef z{X=Aj%^cw?607ZC10`18!TL$8n1l6^SgeEfl2`$SwX4=$f*u7{>ngD)&PLNkV!t?8 zXNlc#uuc;Di0-cyOLpV+>qs`;+3@R1tfYh0v%XCVD^p)GaSqc!Vt+aJr7VeM z_v01TlCI*WKF6cdJ6TG$!Xew4IEfYQsjz5?O?I#di5WeVE<|FJyDQAFv4FX$mjeGT zY43>@;gmhFOEy03G&Uuc>FC@NE9hXF#D49g`U{fS4(_zLsTYu7FQ>6rVoSQH#`z?c z={OT6u?fz^hfC~PGc(GWEq|uGsjqV)q^59(gB6k;9&s==@MQP|X|{zNAF_W=j| zLxNgwHOO6wb#rt-NNkLQeIv0Y4)(dk_BhyOi7l~{kZ$T1B{<8;%nK45;#{55^>Q%P zVQXh*&dau04t7RjMIG#8VB)48&#S$EjMMlp+4y=Fey{quy|`DE&{bb5|H{c3onGxT*{q?1 zsl|}wT$jq{hEA%fwjs`(NGxDZab{0~<^yMtt8(CL4)%q_>N#z{lGu7j$D=_N)^rC` ztN%CdbVdFY%#~)}B#UD+d{1I+o$J~yv0of)r;P>7C(men)(Q3s+1Tai7EA0OIB#F;0*Q@tDhzcYUpY=s zmAb)vLdA`KyaYEp!m$#o?O+onHo$RalEjKRJBb=3*};@EeVqPgl+0sCBeXM*25T## z@s^=3th?;L1~~g-2TJUcLNe%LXY&^+{hQdZV z*o#v4+%vE`4)&7NML1YHiFr9DqVci>XF6BXMPgkYtf#~}I#^$c)p4*_B-Ycp;(ikQ z&RH7$O9t#{eC>d0s_!_VR2@!oc8Ec;!;#Ox20EDPuj@0gzzYtj;@S8aSPcj3F9$C3 z46LMs^^m$E4%SIx5d!07mx`0u5w?=TY-bjlNbC;>t1q#`PLkJ>*mei2Cb6{+R)1EKy>+oe(Q*W55B6Na3<)V3vawmAXmKz(zV) zlGF`+2G-TasO(Z+zu*YtWaGvT=9d_IK`q(*68o!-!tzS&o`bn0_MLqiPSm@t;Xi!(yzM2cVvVY*PYlyn%e_E&CZ@$Z^sm~L~DG8U2o46GmW1BDcH$Ie4VU&HHx|J zwX&jX7IU3wWi_ao?s}({H3Wy(T3O3+Xwu3$i$jrC)?bkP)zV6-Rm^p%rPT_DjV-MJ z4&z%|8*8Pz+P1W=)=FKdIm)x2q+Mw~EDVgGQ$&lBcx z`|OTBi?-jK-(X3*gm18f*P4fB^xp|{rhR7b)6a+5)7O#Dv-u(&oUba}LmSLh?KalB z+8+ncY)*UsYk8-dQ<__E)QPCzi<`i^rLV2jdZEemYKt3dTCFw>r+ilH`G!*-)M{O8 z%G2kwrWcuz<;Y2Mr_)gn&Utme%}TI*ZHZ~vr4 zy{JHzu4$+Ow9Biqvq#~4?waiERXDD~@c@pk*JWpS!?D`>?Ci@pzJ}v{9N)sRpi9$^ z<5(8Qs14cKt#NFD;}9I@;y4$_Y#evs_~S;j$8qo`w8t^zJ+yaYk+;Q3SxoM$IJU;o z+>8!zERW+{9M|Ev1IHUUUdGYbiVkobgkwS684taW_BbxziS{_2+=ccyR@ja9IELb@ zIXiH?iQ{D)C+tIe9Pb=Od$WP2jXQ=8Oie5IF*?9;!YOosW0BM70LQcE(E*N+aJ-CT zhs)>y$5qJLf_NfQ@U!gf_E!J?MfBU&?EVq1<}0lY{gYu_=pPaI2GhC~(+Z<>p*tN6P*vL_bl<Pqn`rfM6Wf&39N2&H$ggtTJQ&$p&V!eelhqfx%jh+5A=he<@WzAmq4Cp=de+{->3IrbFWL%)xxG}~@ABpy zQ;?LJhVPxO7}dkotCp4bjjvq423tS95vz}}@{Arh|CQSAFnq(b-uCmOv-JEzuBmUN zrdyT9G;)8ncVRo!=-P&7J5!1m|T7oFRQ; zI7TcN_6?n9C*Zt%813D``Hn+Vp`bwdUh_2_&loo5x`1D8TkVKfv2r(+v47I5c+w@}-K(Ok3l9L|@B^JPEc{M{&ymurOc z7mg>8;R&KC4{nbMG$V!Y#V}i@U-+8`lVU~*7w=&X%xK|OCT7_0v2^Z%r>um3A)Ob+bg@$Y4s>1sQ^ZO~ zy+-F7F)OT0)O0$Zh^uF1qgK=TprSah98U2L&PKFZ)i8c#-F(2Sg$20r!aE?U3t}KO zXb{P>;U8*XPhD4P&`3;U8`3ux=Tjcy`~}hW-EVQ;R^ZFXiSC8ohZ7-nuYB2?L@j4ynyre zB5_|Diu0Evhd~o!7!a<fYPW++`aNG#d!#AkFi0FVPiAAS}-2N1RM&=WAbj0m13&Z?yB#fi( zsFuWBC}vfjnBZGZ*Kpijs2^d|x>UVGdKJ1#q`T&hT}@cw4c0p7E>NJayW>75>~VkVyGb>C zeZK(qwL7{H12%t^RcdnGw2&`>-Ec>DC9EBmg8O@W0>ZJ@-8bFQyNIbBV!bmtCiEd9 z=DzI?KTlYkb#ih><^e9>=$y6=veO4R0R)`ThPu2;R*`%}^a3!8y@;*R>2sBag* zcxrq21Ur-aZ+B#L9xzMBz{s|l;fXLbBcdEJG1%YSF2f&2Q{Si(47U;S95LmQd~VZb zK3oUGV}$o6=137-NRWYWSued+*w=MAxL_l4DRFZ`tT*3E4lRSN)$KE4b`w^}+WS^Y zT48Ecz=*m_P{~jj1r3o+vuW5uMpQyxFs+7Ld8Q`#N{~9zh^a!@Xl7NKnvm9=uxKNu zFJbYxiMb2gJ#;w%Bi4vsOibR1*7&KFeHotsOE98$5;h^9b$V)w>(VIe!PK&@?Lk)h zw8Dit(hgvLSOvObhQE&&x;8Vc4%1S6WoY#mH=v}M#bQo=$2m9wH|B=~%kkM)eGrUWI9v>MGQk=E-LuttVI2zhJfn+Bt? z;ok&-*_xJWbHht_VPjN3Yx#`i(1V>JXlX=Wq8?n#_DDBEx4o0;J2 z90lw}BephSzsV@1uX=}XZ8bu$v1 z67=0YtM{zRzT{cxsHYLTn6TGUt!=aF`Z8w&>tn=zPuPNJ%bcCy8$e6HzY$X*AF$Ic zta7tceDn(f_aGy#Ct*)MxBAX5>pK0hwS0DbOs~?Qh8j_qK$*ShI!D^qS$>Q4HoS|C%+%s_QE< z513^nZ6oaZyVfPEM(A)0*xN>u83wGN6+gF%?+#7MLL;daL0j%yedadv&7`DQVx%r1 zY{Wk6#N4{RZnOfI8L58~c5k#5HLtR74Q+)hjMOFtft_1rb)AVCF1x ze1m-zmqM-8^D4UTCt6?6E9I*?9J(z=eEvdcduhBC_jdWThaG`!GZI@6wtg^-9fm&( zOUC>XC8~R;5&t$Z-z8b2-%d#D*#&|*mUb-|dc=vqFuujRoO z$W9sl4U`9IcxvPR#E9-o9W*@-=8WMVLd;660QXrV_RVlqs>b`YtDZMvzai@0K^PZ| z$Ys=MSUikNhQBT``V1JCjp)6^oTA+M%=Rb!Ef`k}|0QDXP@8Lp|9z}n^OeIeJ~yI& zCZ=?L_;cOx7mT32JqmyGl(cTmFX(GFAF3~n1O~{s_t46_06%s>z2m-N58WXi#&<^a zD@uLyFnwWF6obK3{c$cR9uHipSOxKcN zelh$%!0-g!#os)hNKLa2EC}~COn~s75q*t>{Zp)O7o_`EQcu4dv0)GyX+c)>!t_vc z19T6Jgr!FCK%zOi>SXIt?SpOs;^7HWJTRaf?#Y z1|0(CHDg*3R=OvQ5YzuXrT;sq{M?~t;v{0$1gwFJ(o-L00n2X|T~1iTOc-INi2E_@ zdG3N{(JzQevW_iE3@u49jxY;9AZUp7`=XR)cWADn%pysMj$!@?BgXVEpgh)pgHhOw zZA;94RPydPGkPoxPtYX%?MUUHc|HPoycs)$L`{ZRJr~C}Z$PmvVisOV*puI3B-ve_ zrm8O4j6F$ApUq%WZDtVO@VL{=!Z(OHxeH9X>36{}8%?vWEKZ8q{3ozdwt5&Xq|#<; zW;E16ORdNyP13^YLdu!(jR@OU8b$@v{{jrNXH^&#&4ks&Ts>h;Uy>er|07^k%p!*g zYiE75Bsnd;7NF{8;-3V?(e>6edCr?%7lEl|7A_tGrpY6#(9-lk3-Z3Mnb?4^i|J6; zx7G134WUYQDxx?6# zz`B^JR|wn0;7~VH>^isd!su>B1!K=MwotzGh5K zVmA7%)Mceozi$m}fLXXLVNYndLAJWyHW;s%(Tj+wYK>i%=$l2(4>6;55cGC;YumD9 zpN6f`{kj?TJz<|Nv2HC(_sxyOs3XiMe;lv}m#l<$Gku5FK=+0j)rzp?yRA;|qPVC2 z#+Xra2>aq!Yu3BTzWmhRcr)r4VP=~3;k)Ufk*k4CG@~977G(YNZYke6>TZe|RSFBs z_~M{deR*>GKv!VX%;-Uc{SyjfhUtF;hPh)mjG1QiYGR(Fq?&Cr0V<#8n9+xcSxh0H zYcsVnAe(1KUn8cJb!2%;hyAoCEHI=0;Nk-?7MXr60R!aQ4`Z`+3Bgt~?jI6-z0G>MA|>zwt@Q0? zdJ5B#9Fg!u8<8Pix_@mQCqtjbS&D=nJ>@wrJ0XHV#Ij4J%>0i$EYe~Ob z>FLXhnpu4h^n1#vte}U_-;BS1MTdD!Q%hk+(Xn+G|+;M8qWw3Q@WlHG% z6Tl9e@%IS}vmUKXaUGdu#jlF=EvEGU(2Va`1kCOwR)bZ^X`ju4`lJ~*oUkaGlvBb* zvqcEhpP2ERiK+Rv^)}Q|R4$!0<4zJb=n0JTreB9)7NYv#f*JoeG4H=_-CUKPHks6y z&A5o7z;2SOpPBwDaLWv*wRgpgZ$V6-OID@T>1kU@{ka*}m#}0vy1Q)X{Sp}&gB9XYdZVROosS(Gw~u313O#i*Cd2yQr8d6L>H3BXliAzNlp9b9YBxG#L@)CQKmjI z{qbmHmLCb@FEhRuF+H|f&DUn8rCPxLG2_M&R-BeK9xn0ge)$bBx+nf9G4c7V^=mWh zR429JiTi@E$}ht3czBYSGXpS~Cq60#%&%1D=kfU4(5NFOfXVBLFH6i!j}@~nv-v#g zC&UxijIgE`VE8;DHe=|5@_FK?b2XJ~1w8(*sh_?lVl?$w<#EkJ2eE`f{T@yxvM-&U5GcXc8V(rbl52J{uNc~ha zT|{rvlWe8}$&x)qIuWxY9!9FoOv(=<%~NCqF$S%MbekFdH;fEVk-4e$L4`elRl=q` zSujd^ifpDvUc9Asm$I46C>W(ZMNWb-=hG}yuswa+-a5EG)AvRdV3j=4_o!*$sP%Mx zvM>1~U{yV_B~TL?;i*=s4as$uuK`xW6Wf)rY^*$YEsrQ$=%+vK+MdV-#BBW$MqQif zN)uhr`lzM8?FR3wL8riiSI^(RUP#rXKOOf7TZ3!G>zSNK`!T z7KkqiR(G~)ZA|t}q2<=v6Za}%H4?0$8`FJfGcm>so?`0=doSABy0NwI+ydx2c%swO zfn6zOg>6bmt9l(+Cr?T}!s_>h(ZwEc(Nh>*JxQ+-lm4OAVN+(ESIP4po}`(C<=Fy3 zFFYK@J>Q)BHH_Y#B4>$-q`N?0kG~-?^Ki3u_wy9JP0W-}tn-@^d`oG^8|aC5;ih0% zY|eYhu2ZR2>U$MKze)r1nkT*|G3~4Y@0CiMPz=y8PyBL%^5VYe9^nxs)f-f>j`Spa zLyWf3I{99*uSy2gqdf^v2-{Z5`un|fU$qv{jrAnZKSyEg9dA|GoEg}*9M}X;LT|## zq1~m_as~=rg3E$Gi|0b zExuWvgonf&{SC$(T1Z&HX0dv(EKg#-5}^9^fHBWrW6!-0<84o3F=7hPEpLI%9H9s- z^d#0LrXX#^i*2S6Exsk5#FvQ~#&44zu@jA$0%n;fVHh#{^1xW`X(%>;{mWpj@FdJ3 z>KE*b?p5{%P@gK9)tC-EaAQ?hUL#C}6q z6qN_>dHkiZ$jsunOS(6Ek_wds^St$Ri{BMI&WhNY;M@Bem>r(zhQw$gR)ej{zH%P} z+wF-SPS{(Wtx;Rkee~hKd!HwIGhrD&TD!Jpx(?Q|Zf`9U_~lo~k9cBIaPK$v?S*m7 z<1Y)t^mT{vfhVRtFixjFUFwrY!i_6GOjkF}Ae>^NGiQ z%Y)w5lMAOk@${P>qo)q$tjB*L(^~X?Z0dpEVV?6O94GFZyD%@8Bv=wsd6R=UGgJgj&BfEmvR{~jNQ;Fc%u`O**!co)Wx_Fj{(HjJM< z2?L4wlWs|OJ>ot1tQ#;U%E6Q5oNg8GAD{9}*WhBozVPmy}WJpU^U zorzJ4{BBj=QQYS{3(RCG!%1+VyESx2X4=;kfCaInb%YJ3l+DZh^bZ`EB`U%2vZPzY zoVa40+fmMUJsIAGvLwAMu)No-u$>iMJ-@b^?o3ZDG9U7StZaa&Cf~sbXZGXG`Y<9` z++JdWt#@}e@?Bg9D2l~jBB;(!)}K2weXme{7G@>W%K`g)r&VzmZWUvI#k15tggxzH zy}qlY@2ii16=8Af3A@|K+PN#a+*+FbWR`M^us0}KQ<->&TKy9kX)HdbJeZ3gz({8z zNT;lPyZz;#QdX5@@y&@ZGYv*5CIbJkEUvXQi|qr(+&BkJ1t#vetBP73cc;77_pzq! zuIBri(x56!{)Bq?YL|6&cXI0FFM-uyQF$@D#z+cME!&@Kn_$#t$u)?XVG*y^z--S4EN>*AhjzTvcuH)Bck54sqIGpyLX zNxuH{=BWisYED?I46Ehdigl`$0M>^2V}Y5!4@ZA5uwsWu@EnEtCFWAr?ePih=y0MJvm4H2Y*Lr?mxzI#f ze?3{|B*HXn!M^foCx-&+!!kZ0Xu<0+`q??r=nokES-cPXx#2!+J=&M#`dYVQ_ZJVf z=uy(EETRKZ(bh}*3;V_ognB58o<>mH>(-n5i}^ad1#CEr+fCRP#jQj8%edazY5lQ3 z#aEYx4Y1gxDxkh~S!o9{U6Z1%b_dG%ZqWt4$>J9g)v1KF^gy!DM|<;RmU51;;!~`P z2hv^Nx3IDg)b?GVM-DSsa`md9z7MjRAFS+4pbcR*OCCqq#v9hcgJoPt{npuo2{8jM zgPPA`v}%~kOElCHdoBy!w!DYZd#AMo_72Oa27!^cAB=aIcn@D;HH_sf;dNr>VdHVH zv={HyPB2!nnAybqPKE6nJA+%sfLY7pHWE|$cNpvK+%>Fahy0;+XhV39#e7YCW9y?s zDZZAY0BvQ7e-d=Mp!M`nvTp`m&~{d&M0H>n4Xf1QWM4SxcCo~+gx&6A^*EfI*8M23 zy{yOr!h-2a_A`GK7-n(WSPrnFXNVcR+}e4#OyI_JU`LrKVG<6(IL4A=YCtgOA&lcT zb7c#R4_QiiVjkn;T=xm)r@F?>+y~|)OKwg~TY49Diixr(|9UW=U{@ffKoX2I%-<3> zA~T^2jI*rpgc>HO5x1;oFCjH#o{TGW_Ld@02F#fjNoLvj!9~Qlfn6vj_ zXhEV)INj0ppqTT-oWmctI|yC{(A{d94I`-VPeiSM6$U}p+hzu;In%Ex{`z{G;(hNrj`6I9ooA-{vhzUyEN6cgz zJT?fW3YZmimx&81a+#RtXr2@7HrHsuCI%(`LJXrdTGVb+2L+!yDX2(L9WYT%VWdzS znx+hLKQ$;Zk*JwHU=*_(-5ClaJ*Y@kV)C4WQQRJAIjy%6L5XdMsYx|zrro9)C4Q-( zB7=ze<}(;&>?fvG?x)KUw09!j>82UFxmLkMDTf^W(eTSNU;;cOE~k^zP!v zRo;vIxW@Y@Kd$%29;Wu2ymk3;v$r=tZuP#&kK4Sf`Ek4VBYxcB{gxkhdIL}S$u4gM zVix4x?JdoZd%R8gaj!QTQyb*n=PkvL`@Jpr@qqUgemv-%&5wt?2l?@^_bNXg^*-Up z54_>WsQqzod4BxR`vO0HM3Cj#CD{N$u}3qOABJX;remw8}&OW-16Mn%){{plMp@pdwvqFhtky)^~UO`Y z9!kyq^_JmTWpKN^=?yfk6B)rThn_&x^`Zb+AU`%gd?CdHBXbrKJ-AEMR2)cM=K}Vo zkg_2~aC6GIg!7<~=e&hrgq}iC9MU3W95o$IOh~JIYldms2()^Wx{W}uI;T5(PeS{A z@X_s>wh+`ZNo$=4V>Jgt+5~S&(zNY>_bRIJE<8&Lc`@X-&YDKOTmW;0*uvy(Bp}a+4=hrGyvC9 z@oCh7Z(IZ}XDIu73g!!d-WU8(rQw4J%?MWfH(N6k{34~{{X|wrY(mDez%24~3&?#^ zz@EoAT4cA55KLeb8TfPHK9{^s<7y*r=K((}Uz3&iraC$D2lzip!{=yZL}kzm*{CjnJ@4b6g10=#D{j!=8_!b9rfYfhiM z07)~D{`niA@Kp*v3!~V8S1>14idUl{f{XQrQMEX^Q}|#U&a3C|b3@YxL-;mcOYmYX zL289P)T~ZS?_$ITG;If{eTvTCvGpK+QAr&;4&^5p`$f?HYNN&24IBM`V^2VOW9;j2 z`De7s4{-!utV_xGm^6`UKHPbv$`CG}g3w zy^$2Uuf8YIbsuC^tzKg+KHb;Q6YBDVFZCTzt@Q5;aQ%%u3A+L5RRdbRe)yDAsH&5S z+WuRm)w_r_Cq!LIME(6&^yO1>fX16lBI@oxqS4ceN>M3vh4B8%Bjgs{MnheC6kTcv zU0N$z#J+=hLR$3?!-+R9nZ*1_duqyOJ{vfcFC-f~o&7WEW z+WbxO#x=n%M@If8=|k`VgC5xgqE+~(T#qS`Z9i;tZ89I^@N$!FOg-szoLbe z)LBn_zDg@#F*P7Ji4%jB&WlgeB<-bg?0X7YGnCQD@~583H~dF`w=NZBBrCOJ~<`|D)M`DEkqe73@B+ zhZZ(NXK`<6ylH_S@jN1Ij?N~RK>Vq*L_}1GqlbAljpC+-b$bV3*djeRvbl`+N}bI^ z)!K&Sf78UcakI1Iy+lvAjmj&8NFMLCI`b419!;VKq!kT#xHszT_7aRw9KQxJUybtQ^jh!OiKS+@s?-M%fjVY!U-sf^Q6;2eOa0kLZ)!FnS zSX5ADl8R1pj>6;prOtk$T^Zc-&l2%?-_+SJsB1_xLWy|1X-Y)A!+zFTui;__=Rp+E z3qfwjd#Rp4wQUFyBHq90tjKarBj6Zy$){Vy`+?3rVPf`f5Jmln&P2Tbgv*0OQxWgK zb>_p!)K@41DzqLR@7vam^EU&1>jMoN=?eb7rHuDmE_U_@q(=)d(KJ8;{@C$;!4!?wHF&0jRFI7ClLL?>d9fEb0x`+$p4 zHW8VC$;hD+A|CG#U2J14VE_NOwLOPSE47#+#9l!*-FoA?4+*k@> z7hJ6A??O3))WUJTzCU%b$$yFI+bla0y@_~VbFoj_iKZgnU%FU}GXnTrHqdyuDQsHU zueg=yVK-dC=Uek|2e2pn=3@7d8=-UuuS7FbgS*T3^Y2{=+bP~e@_0XRv3e7QM>VJc zX+;Ab?>}AaTxUVQoSPQ${@cZdPZ!}HPkf*rwda3w#5>5%%3vQN93 z-ZUk4yvw@TinC${o06yny0qi{116B-O}JRz72T{V$`Jxaw8r>i_Qd+G>SlM5&a|2q z$&N&CBHlIK?C=xOR>Zrmo9)^pfRAJY5pN2c7F4L5_XRi;RH(dnDQ*}+g(`UW;AkBA z3huh~81ajXEl3$(5Y1Jg z+5kKS&_Z-*y7numTI~vIPp!^j)&dol=ciT=cB7RRQUSPsR0ht&Pvza;2CH^1u3rm3 zn@ZI(R%Fpfur8&vhXL!0`mjEeR)1`g;a^1A+#ZY<{_3>f8U37 zNA}Va6;Sv+X%$FE{)hh|&5)arK9<(OmtZ}WR>A79vh7aYjl05f>(U$=1(PYW=F2ei z>g8!3uzkAHL|IWh#TKHt0eT2=C zaxQP`DYTfTv+Ab>;N}sTp{LQb>$;nVWTr52WjrRc^%xNpHxG&>#skZvGFJ}o=3$wq zOdglF1EMdNp7(`q71FCN@h!k6f5G4?S6+&p&gsKE>13w`0sl*xnlt}=P_ zmMfEoZ>4gL$8QzP06K=NJb%ebub4A{>m-|(nuMc}$?9Qy`W$7$X3QF@DDL_Q z%7^!LHtrQ0csmb(9Xfm5+P)T^1iSQN0g?G433iJiFwZ;*_Q(<4JP8gemM6g>#quOL ztXB|8px&-&VO8@|HhicDpKB|#;e_l&WW%X|&QfNG+KLLJ<4HtA4iDa6I zix$~%SxhRkv*A-=y6kMYk~GI=)qNWN6z;pge_lkiPu!yRSvY`B{{8-4+6 z{rY)CfXDv6&X!;^q&dpVWB*8J0VD$lchs_yyv|67iyb*{13VjQxY)db_QmjQ zs4e>x8$lgm%512sSe^~_6`M7wDZ<}C(R?S!%9RZ?VOm(zKPelUxq`pLtx04f? zhE^_iw3>D9%g6w~2efsuig@oy_k0oh4q^g>>{Z`Um@@KRa!0p?^Jh=!Z+SxCe}Ku|{|xLXPF-kssq?ui=>y2YBQsxY(#k_O1IXxQc)Nw0E+JwgSm|ODk-!9qY*-^EHO|h4wZhC}-vc(} z&W25LJh2bFr%b*NY*r@EhAjcnm)r=pxmW?8?F-)scDh&|JiOz+@NC$v0?e~vk1}~S z>{TYuhJDK9*>FG%F86_hFmqM}hZN1T;c)J3I4W6@4aZ&VdbI5+&xRBD@%v62;Ms7> z#oWhifM)~VC+58;05{Kub58#8+roJR0Nr#vCM`tZZ;Y38@Mk#8_K&` zKHTZJFFYG6s?m5hR8l6-hRVw1*-%B9JR7Q!FZ7PYzAaQ&uJX;HhBA3J)O4rktPg8R zR%8R-nC->8D()%Ih6Zl-0TvYpcs4Y0vpg@^0MCY|ZifFyQ9xV_PlxAZpJH=pE=-vX zEtJXkhE~et+0a_G<=ODOyI79;ki5{s+}kM|+PZ`F?lK$NtN9n3Lr2Un?gR8@Qe;CH zHyhqe03sW@yV+&zF{BXL&{Irmyqyibgemui-fGHuHuOMfVcg^u1y6?&$~S(i z7^zI24WpFFv*C^0*)UqNA{)lK*>Swhqe&8XiV1EOo^As?8z$kM{UQP|eqNpqZ@JlM zydUNh%d=sc>{DdJbYaSDn4wIb4YQQVvthPs%d=rlu56$ow6Hk*QbZ45kk1|L?J3h? zksD?1t(&Q(cu}y*&0epiX^){6pTjTp^ywE5AA#C3ggJgZdRt) z_C-?}*==sN5Z_p(kwgu!)6KTR;zNsFUo^l{6}!GN#jejy9!jz8D_U&(VsN?64=R&K z_K-5guJ6uO{vDO9z3aQ#{Yc@Mi0lbB>)l5H0r6(wl$*7Rwl79(`)(Go%)S`0?aMwz zWX}szM)rbYd1NmsR_ywU6}!IMc`pzc#3xJ(yMygo5C6g)T&TB8z~6SnVsq31VPFMPM1 zOL#UEGT09V?2F;q5Gnf<+29wZ%!Vjs@@$AvCeMb#sx7hsrChAxq{ARSs2285MaqVv zMsQqTnGMOZ7m*EV2K(!#cuFg>A;VzL?-78=hD?LKhkT*OP9hu17MfEHSvuhK9=I+0aOtJR2J4&W5Iv71^&Zcs9Ibuub^oEWa3@4eex~A{*KZQ)WX4#qwIc-3GZV6z~F$cCYO zP6JxJePcCeMahxwB!8?YX9lbeLzb zHNEU<Np$26#5SYp~df0uXNyR;m&C`-4@&l-aOanLHZ;Yn9D6 zhjpqk&xZB6vVkT{3!9DS1A6!tBe)EnPlz`N@5@d^HtaCivLTvA|K^d%hTR5hhmW=i z5ZSQbUbS1Ol zV}reqZ$EHfJU)83f7)O}8w*5a!&wzzo(<=e$+O|SGI=&!P$tiYOJZ=jH(XXG&xTKx z$+O`zBarJ>aaGbH8@|9Ei(QMm%Cq4sgR#=K?>rm6HCUlCHo&vtdxLGjeS?~aZ1_QT zDfWh2!j#!?Tjig4yZDo$c{bcpjd?cQ&6N!_h8FhRIm(9Ljo@l{kS(&|zU)L~!y|+3 z!S|kzLM^i4iNTisu5lo*c$D;y!CuCrPm+ji&`o};sA*?|TbN;XHh9cjcZwiW-kkZ~ zkVlxfM4k}%n7ijuNRkqwzEY^Z6n^kiM@QCDOG>W?}myNjZo5V1KlFqyBD07N!45|b+Th9<(4 zd&6_Nv!R6?PwWjXmC3WAl`?rYv<`^AWIDWHvXFhYFFYICnr!z2+ZUba%V#i$%<^~ZL%UhNubQk6ihELsz2P+{|M;z9s2DF2oTvY-DG3&ivj{f zHp~)}D))vt!jyZ%yxiF^UwO&*h6QqXu{SJq@}H-}BGH%3hNULkP{Q_wXT!TD8;u&5 z`@*wfg$gjwhLy_X*|18PJR4RklV`(P@&)%lnGWlet9)}vthT%yr{G zoj`!dhRGgw91leZ5ZN%*!|xQ4_MKvyFgMiN!yA`h!DSpd~|@Rx`N;{$p%9{r`lZfC!Tc!x~HcZ}}l;a?``WZlifzg&!t z>E*YE70Tq%U#UzU{Z$@*XMmW0Q(%qsTtt6^hn+&z$Y+U1|2+?z-i`wS`_sm)9u`^1 zmhkXz_plEu2|#QHJJpDMFW9Y2@j{m;almb0UO zMVNTl#J_fM%@e~ve9Uh@V7M;F6SsyhmDfBSzEUPnhp$CnG97Ms*qeAT&wb&0!A%c4 zjDJIi0Fe&2M1%3e>~y$IHsXKg4ZR894t^8@&Cr|hg!oC=Wf4`L5qFh)JR^QqCeMgp zl*u#VUha(eO*$_!;(><^!^cibjaW<_Pl?AK_WUQd|9nIE%fn`UWgYx8GQbzV#_W|S z7QaiGJp689Vyohd-&7_Kzekxo{6S2GUw+j%Y&uqs9$tV24<9L`U(g;RV1Ml-g0W#6 zG_8MK8U857y5L*K1c>m*GWOL9p%CFuV7bb~L}ALppr|kl+0jq2$Fo0GNR>_p#JwO* z+Tv4%VxqAOe{sfEV7YK#c=$6JtAcM$5g@`}S~M6xMs5dX1aR;rJN#vZt<|){UryL{ z1GshZ_*YO4^7vO&CXat5W%Bq}X1R8Rs?vKA|C)^bvE6o;hrbSE@8QcZ+Rz!v5)b@j3i=5Xskx$J3>=s@|0*MM-(a1T$wy2S}2pJM5|mWK|^R6<2K@} z=@D(cfy)y#E#|A|@q2^*{9EmM$V4Pb(@S_J7BMiUB3eShUE0SBoJ*!vQ0mur$^vicv8sQ>KGYIR0zhhzTZL+0Wu|* zKqq&!=jcZ)5fjj$>vvrTCZqdeQIv8(erHj7^ssDT^L`< zikQznLfOT8{}$9OMaT3n3c7E|HC(jr`}R1D#cabxTt8{_5PS(d3@_n{uMr+HL@Z;~ zYltrN3{a&V`WtG#l8t`frW=E5;m{4K^;$Mox9L8h208To1)$$!m2PX=#F5w{^(o+H zIy`-2KjM9M{VU=@uLHH&p-18$e~8%0e!;gtIDG=t8HYZBw~`SDSffoE|EiV#1E{-- zj>$uV_X;tt(lq$C;rb(vvAVT{MlUcLzd^x^PlJej+0H|>h>zL6zidf4&^2>Qd_SNl ziMYhpHMKP_f$u0ans4nE(4VvLZ)|!PsL?i!>yLSwhAZkJ(#E$0Ptqd3WeedaY4lb2 zv%wZ4n_tImDB>3L?gVuh@F}8bB?xaLJ0g)H?y>tn0Qnl+Pygb(K@jl=vwi}f4K9!u z9*7PouQeZi^)=#e7C+9O{UYEil7@0rH(mBfVmNQB45;(y>|q>!)<(f<327H4=K0I<4DLL5iR;8Fk=_*3S?O}Ns00Lcl*sWWhrEQ&$|Ty(cYyTu z{~@;>3DA#FBHHL!+xCRdMuX+55ua2sgItN9t2|w5EB8b7iBj^7CWo?v&Z5`Z%9~I< zQA+YwP6p;m^YWfM;X7)7*!qHF@e4`3oXN1=4JL29>1@zNTUi~dW=fgETdu^fONEy2b5m(KFkAm$LTBsImvxk0NFYv%`v%LIZ0;?2ieMFP+e5Y9Nu!} zR0ItFas%)4E>!w>d0i7I{xTQHU9O+0vt9G-o}-~ncl1)Oc~2dMx0cSn!Ht#oTo0<} zl`@C7T)9AJFAT7i1EC5CCC1ltxXY!B@jX~M{6fe!t4`Hq*-_*2Wjb?Xx92{bg!Jlv z<(l`yNAPwHW()&zp!W$mH1w7-%MLsAF6gr ziIZG&%jMg2mRj4EzeeM~`Cq+OVAT=0dq8LX@FeYdbh8?w9APTn>P7G$=>_<2B8snQ z1?z-fhz1N&ztt)?4|mF%O@M{a)zux2H%}S8XNbD15{^`M;r=J#oN%o~pan z)`u1Urluw1#lmp!RCQMc{KGc7UKMx)$?1L)$hs>OPU!8y^;CSuLB)>^u*pH_oPKmW zEtfzicU0Z=G2RNqp<7*F1J(OV$%m44R}u+i-9_JL(nAhGDeJC@Lq$vdM}YUJi}b6w zepPqPK$So}>p}QLB@{2>(cG@PzC}I9=@d}K9onwD#y+s=`k{9#Hg>#mjCY<@PV`3`N@UA0T;d<1XQBHz=EVRQR$`b=Pw%H0>)2)^12oD0vR$ z+9Q~2)LldHyqIh;2L93_(L@Cyd|%gPpX(}S$FlrJ1ahPJXD!V$v2uDO4MCr?%K*mP<2#F@;2vW zP{)A?)LrB7j*s^|9NH=W)!QW!>aHu}Y~@O*wku^0Z)M$e6`y4AKF>h)rBdebmMa6O zyMC^2OCLcNJXKD?zuo0})Lkt**z#mZ%l}vI)LkX;)Q|hn9I8%AnZw&N0V>f@cYTdt zCvoWr$lg-Y9PY}xt5Bjn{3@vSD&@bum33EXeBYXPdi) zYce)V-tp&<{v_mxzpnI7-E|8qf%d_?blc`__&oiOx{Epxbr(6w>n{4&5VQ~qM%^z% zQ9icoBh$b)fN7-F4$@SZ@NFiWjR%_X+vDt3IAS>-uuwn}zKO$+WizjU|8@qh|F>KMo!n7%*D9oMOElAUFRJu#yto@;C|P&C zNCH`R(Km+~*>zW1XPYhys(gDq9*ImmFX@VaNZkXgXpIvvA z``)H!gPQNqcHI?%eBgE0R#3YXE$gms6e3x7{eiC+l0?5g3-#|UDHf5p>#o}Pjv3cv zgU*Zh&-_}2MAlv7R*RwZBH+`cM%7&l^Vwb029>2~`M8T`jW1w7?^<_UX!HRP4pCxR zcNKKO-6??Q5=ARPxFYMW%cX&=2e;#2yj^#lM;WPq4DPbxDXleMz<%Dfp_x6sKSSV} zBd@oQ97znP>aI_I!h;|RW(=emO3vfU7m#}1)w`Enl+=f+g;G*uD!Z`$BJjLx&K+CT z7Yh29$(`xuBkNKRIqI%!U)u6Tkna5-a?vn{H>kVnW2fTv9sT2%U*Q!H1M#gv)m`&4 z>?-gv6d~4sy~!a*-Bl59EP1CXkka3n{zUF$0)n*|B378`mdn<<-dBT?ke%7 z?L!bAIz{3oe8}Ogth<`_w3Vfys;!hcyyZ%iT?O$gn&tsYqV|xzqNM+JSJqvlZ`wUi zg>>t=@N~z{H zU`z45t3$Re{QK)>R}hSQBg)?FLxlF+jN|6CScoYQ#?A?vPV;SeN)qputZ{>`iC zKz__v#QcHLDSpO4W9`Uw0PRoyzNC*j`1VZnOxPU?vBI9&88=a0Kw!yx(%?1vPwB^asAA9rcEr4rgwytW1Z zf^u`*^)qIjLFd@CrUB!wLKqUuJXK$g_?!P%|Jk@}d^Waju)h04YrIdhKx*^H zUHojL)YPH1!KYauwfW<&l6Vv*HIG8ed%>srVsi7xT}6>~sec!$3T_c!$lbGX*R)X6 zvIkl(`7{fpHh{rk92LG1R{DsTN3X{2i=aSi^T%BYl}ybjXl42|Ureo3 z$FQrq_pzy854vsttN(1=Rd$o9ISg7;e3}JPn?LT_mSt+LfYx@OW`Wd7O$@uXhG7ec ztcOpacFCvuVsi7xU5&BINUA@e>Z<&5@Tor=cRk^rBbIFfw6c7f1yUq0_>Yo3qbJ*oY|Agm^$81Jd z@&&Y{6~om3Vcf+Cjd2$fDaT#cnkg7}F?%(B*`_EHMJ-$~BHmU*n_(bO?bsy{Yt_&a zJVcRG8RE!Qo=|TI9*dLJHU^iG$(GO(JX8ipDM14PKu(X>b&ipGCb(=Dd4A2+Po8JE zCd>0I*9v)l!?j1AXS+_w^BmU|d7kHTp_6iY-gKqO^Fmi;dG;=LwUc0pYot6cbuE(T z<*t45yvp^hJg;%xk>_=;C-S`B#Sb7mJsVt^^1RX2M4mUf2Fddl*ED(F>e?vJcf-rc zgxm`ce2?MohaV%~>-jtUid1+QUgkRr9);hR^yBbwNk0j1%5zj#*TjQ7cXQpBbPrd5 zl&Ul871soL?&(@6&%IpRFwh zO){pt>R5#qBZh)A8h^*Xu%^@=Nm&ookum^5=77H>U*_O7Qkf!+#q?4gql!R7yaVz3 zYk2)*cwxN)ovC6{1g!K{19IwP)(b2lE<*2Gz9~bk$ME~m>aRu(!|iB~>8n5tP(wKi z#B2PZsyJhtxuOx;8Qa_yB+o63_tVF=cV$SrhpVnU_wu^BOVHaj2IpFHe#6`#vi?6F z;@2v3L{Wz4%buTTuEpE6dHFKjb{dURKKu_E7>#_yt+e=Wf`WYe*Fr?4ge<%PzBg{8 z#s5nPvKU+`IbbkuYPXy326(1i>(A+!D9(@I`N%`+q?i%-turH7CnH#VlYH1O4Sp6w z|JOdYpi5={M*9^d{`CZA@HNp5Z=zEx6draO89`Y8?u{XQBcURMnJwPM1YO0#jd5xQ zS!PWvbyh1Cu7Z=Kn_h>!a^VIzk@jy$!|x<9kD2vnLsl)M7EZG%>(w&^5le~R@YhNIyvDbtLsAm zcO2Y~FZ~{iXQcTr{f56N&%f}x?5;43hARa}fJ;7iBCL*>0KneywkZD{Na*tf!|%Cr}%+A zR1%IH{r93G+zV+p$xxJ!?m*g45{1EjMWP-v9Q_n$as`*=6ZD_S6xT61)PG!c?CpHz0C zG=jX2P~PnYgr@irthlFU7;)!8IlqJWZ`_m69U*Q9K2y^UieCJu(t2FMxHY&orOWYO zBc*!(V(1^L0=xHci5Bu$5*07pi_cpjqt zQyK|LtWPTQNFy?j(o>aygHZEU|H~p2cW%I2JFvoAUgzDVE#XfQGNc8j+l9M=#s4@c z%RyZC+_m%HL1TRzJAvF)ExBX1qp$`*A#}jNk%}8{L^}IWQOGF#2?p5iMiz(O6^o!z zrCY%iUo)|D#T5&zwY1LP8iZ_Oj%@hLjqS^|v@0 zT)|7_5ga2?rn@>|$bxM6pF3S>!;!XD*K!b3HR0dj4(z6H#RU$3M{gzrGF)8THH7-; z0fcoRXr3<=1Et1QhHfcTTM;PqhHzNEf-z>9FUKS9R>J=-rhJAYjF;OtrSD_zvxAhA3bWcP7BXCbK+*rn(S~>zTcM|Hr0OSVj>-gV#Caz3z zH=$Yz8Di@;cs%}QXa%!E?w&&3jXs2_N`j~;#WLfmQak`+KHR7EYLGR|m-BVNNWuFf zU}K0-3#~P5yaIW@d>vCfTBsY>7$&AdG&f&tn&`@8j2CKIn_*%TNNC}Na5D!e!q*U#R8q79{F~q59+T zmw6Uar_k*U(Ago>kMZ3L=G!Z`wz+o;RmFOCa^%)Fcb-t+{K?2yFZQSI1H#T~Q!G&v z&?&GQqx?sqm);3p0KZ@!#E5C=Uf*83X zG3iHT7gsG%QFb6@=kdSD6jov`^Skl$m>r_@cl;knseUvQT`9XT_xMvrL^EE9==pf| zFPHI@!fen>P;7*M3;Z2T3&wM}G13YySCtL%No7~c#NvWDLOOzSVo9zN5afkQNM2J! zpJEgKUxLaQFucE#;x7^!qqh^{8_F@vmKo{xKp!|3KNZ2MkM2E#5^2CpcnG+Ld?%H(567F)0!~W^1}b&Ew%gEig2FAyws&sFS5daW_*e6GfneT#RF)U~`^cJX<7tUl9K@(JZhpV6u0? z0t?c_3yJQNU+O_x!Bpp9F@(%^*zOmyUExIwmBx6@imOn-f_q~k5&0bsZWA6r1DU27gDh>jiu~0FFrMVEjk=q(0wk>CJb(n|OUY6C5&VW_}5PdZE^O z7xb5#mI8j)C%@WY$K4hkG1K30&;MQe$H036y_JH4U&Rx7#8nvDk@!1C7Re;4e? z80TK03w;(%{_Cp$CGfKtiE*==I#)GbSXn^#x@-ezI5`*@{?|nn{Zwg@?)Le$;iECX zvI^j%!}Z`YBKeuy8{!{7rx-Rr`=2(Y+k1R|ZM4OA?wck9_R6O8%LzrZ+` z`{6!x=IHztOVX?ksGqtncaKE|3-4Lk|20^RToAJPHF849?2_`Gw zR{PKXW2+b1pwz-<+}Hht#vD1mkogH)JU5@EEEM}H;R5Lqu2@Vv7@sVR7WiTz4h`~f4Rbwq zZ8(N$0+&^|jIYkwgo|ID>pG?Z;xCfqa;BwgyeV_071wUIz(uEhf7DXZivC|Ae8k>R z47F;xnW%`w2f(!>+at*laYupcM@gJ`0=SXHQB|iI6T6sL{KRFK>GP~1oBFn!DX zM}QyE7uhbl(nym`>)S?JFV+Hojlnx+W5PU@8KpmI!Nluw^|^-}IqaWmhM}ujqn{g3arG z1j4-o53Rp0k>%ukyEYyDeTi%{h7Lc1DC5Unuug4*RVXFON+L+};sRMBM-q|RsA3?> zNg`gWKN&=MNu+62M}f$dM5fjik(Q_+i5%@Cl&rTzMM+iB#!;_|Bd0gd(sFNus4IzKT1Gn%^<1AK zzERrA9UvMO=4g9@HpY7rRHHxyRVHb}-UHFtxgX{xYlSf)DbY0W1c>QcNm^(V@FgtF z)$C_Lw2R;}+(p{LwjkQOuYg#kJsbd{gG|px?M^cg9sOAUJGFn9>`sN+qMf~`R#%=Fg7KsGB|1hQz)QD+MCN=lGKxzOE%W@aNy znxXa&)nvICn?au`2YIYeOBOP_p@*Qx18n?E8|oVnHZ^SU8@Pszd5o%niBy)@bt85B zLTzML;Nrxmf7iJAg`k6hkr60!Eg(P9s2E~JLNy4e^ zT@S)v68>7-)*u2T5u{~~1ffYHR9k@_wxn_8h}53aK#;@Bl8x55%By6s)Qi_1U=?A> zP=8+d(zK5@KoS->1!|etReJ=5x4Q%K^S#VY7LqJ$RSBCn9NZqVY?_kmD;wE1FnNTI zFsr{T*1`FqM7qpBi$V#j%of^S8kqM#3sumOmS$^bb%af94&B2t ziTu{{GsjbcimrobvB2v6OEW!7M#~M*3M;vrBv*yR))(86Pzr^}%!T8yaE%;;NQ4O(ve-oh}fCEU2JA z*h=G#K8hctmMvWgn(-&ts=?;>sh?%qsDYrK7(8d$g-km?Tus9mf3m<#jnK=`a2Xo> zr1gKI{uP(`tUyD7-?}ywWScY6){Q+)eWOA1BiPb9`uaGG!Lp{P{^2;&<$9VjFD?Yd z_F!0%wK|3;Cg!#LaI)t##VaEyX7%tJ+Rx%uilt-HDeHI)PYlgZYd_1nDgH2mVut1y zx1VK8@fQ2oj^JBjcw%t%SblKXGaKSf5fn2xKhRw;@-JUTzCMfLiJ`0bLX%R8N%5Ho zo*0^+^DYp1u^M+!|5*=XYTPk`Pxb|WR-{mZ&VvY^XoL4s&r)Dk+;4Q533#zo4SWO8 zXTLHELDQac0>$EL>!-E@c*0!6k?r@V|OuHu<75`6jAs9 znUmjs4wuJRq5kd%Ss6W`mhgD@KEWd)OwkIvlb>H!Ur9n;1K6GX3bIo@9)p zs?Wjjqi~MvGT1E&d&@`WfQhv6)3V{tkvQ7TqrusW6ofllHR7=wj&}2CaNcfAK0i_! z?ks_$-8>qc0f;Kx$&Va{JEL&4n@5Aw7I&^*cl<{fm}X}?`DsC|CGO0#jq$RgmB!^L z+ZZo9wb|Q1RFY%bAkCHtqJ|_QwTZZnXV;WOyw;QkYDpqZ%c6nWlE~Cvr-3?>$kC3k z0#O%4Ik=!!2<<$(o)p#5e#VeAyS{S{3Z;p5n?wUiG}Yp1p^+q-X%YIR+QMBrVLo^* zB(J4b8AHkJc9LkN)&Cxn_L6v6i)PSHl4z}k=*8+_wm61Cdq`e8Etf(2Nus@0n?d_a zqJt9FX*#Ge8ar=(c2V|ua?GZ*Ylu!MdwlpYuH;q#2_x)X*|XT72G0d=+;I{m1#L+aSt)CMkW^tfLC zWIUeBi4S1!rUoy?Q#c^?o*=mu9^w#GcM9bLf(fZY z`HbKu4tQk++Dl<=>ns68uT5}&O79k4t=Dn;O-AVEV1mJJa+#T3Irf<8Z?CnxCp3vy2| z@Fw~$f@%xvZAhMEC=3asi z-oOJTf{)(ALn8w1Q#>{$cn`N(=Lses#&Dqx0B*FDWC9mzHJcz14pog{PZ>OuAsB*- zM`wci-=gpcT3yF|AAz^|1UzFQ`T&jN5J8(sc=kr%L598~xQ469ErKH`{6_>U(69QT zFI4BQ#H=sD=N)m!Pq6=2MHxe|X}Y4!AegWau0!w*oM{6=japdgO(48*nM*`D8l1fy zKw)&nyz^CyBx6dCAOwaQ5bP;}N9zP{Z^Re33BK)zrDX(lOJJ=JfsO{SkDv?26`v3+ zgb#j2Fb)QPB6wT`Pt6F*w}by#kty}FQg}>4kUJNvZU`Mo<+_uz;XV zBKGnSIAD4g!P0O=Vd1Fd8sk-J1f@5_zu-`+-$}R^!I=JVFM@O1;a&uN%fbJ85RDs# zN6G}rX}F0e7<~o)MeyAt_!q(04e&357V!KZ2o9`+e-XGbq5G5|+JgQCHKCq@H^dNp zkd13JL7`x{7r~Qia4&+HmB3j}v>T7owh~PFT~Q7Y6v4&u1VPW&@Pv(^Z+G|?+NCv32OX{`4ocml9*^E z&=cTa1P4*UUlIJiS5bZTg ziF%D8xc(LVi@?7W9`_Qwf-Ke}Xgmtt7r{H3=)MT*t%Z9L1bX0J1l}Nozev;)Wqy;O zBkC-$2f&xP@GpW%@SV;CfynDXg7xsYR|z69)$#^G?s#-GtiV)1{3;!ZW!;{pS1i@%{EeO7<0RJNR9harO1TE23 zA14TcBYi>8Y##>e1lMZe1(XEYV=w^d39u8Ri*^KK8^XN^s=5(uG|`x^;a>!|al4=s z96-+26P$vPcL{EEfPWGE07Lf(X2qlX>IHBIyA(nQ_@bLcf|Jy|rZHIpmSZlz)2`6ie55Fc2?nl(|J@}zxmZ!262zkLHMpj_q8|K< zU=!*qo#4P!_!mKKi0TofN8^zx!Ne~xkxJlt2>&98jD&v?48o+qMS=}`;9dl?U&3+$ zf?fMDUh^VC^(^YFIKhYn_!mL^FX+DrDkY)+BDhlp{zdQ>>SYT-<+t!Q4}y_!v`-0c zzGF`OhA90d0wX!|SN3&5)`t_uGm%lRQDwFn-BVX%gDsyEwV zutsnL?@XvlprXtt6I>Vz{~}nv3jRg#J#xR3;MF7WFM=H?>N5m;k=9EDp-8JX2w=i? zxEF!WvZALD+X;5UGa1Ydjt{~|bw zQN{xTOE>t}V1UV!FjgaY`Fjj>35q8xN_~Q9-bDBpQRp=I7r|d`(0>uce+&O2_-P#c zi(qgGtcW7GHwB{%f>(6-*AReTK7)S|4DJN~BItn*ttP>_ws0?k(-??0N!k7~G5C{#>{hLC{gwM*f#6hRyYOScKypgNuq{D5nR3%1k}a2>CQ z=)2!BSR>d0-^n3xqO-(0S-3^IP*xKhz6}2&7>H}&VS+0a;a>z##=yS_#=*~jC8&NI zqYQ!?Y3RO20CYd5C>02{qDQJv@b7%=qw*3(BnSmhZWVO_v_}z4{u|5I39g~nTS(9+ z1~(oA8Qbu^If4a~6~%!Ds@lH9ofJXQ^@@^05O)dpp9Di+$5aDB;u>6X2xh>Uwi1j$ zbsQMU{%0S0-Vda(>Z@h2XaNd#CwJS2J6Gt$ z+fmx#PA^$@XXYFpDF`<)=dRQbP)Z+5ZSEHfcUo3cZNCgjj@|jzA|A;PH!&x=nmWtn zTCQ}!ldZ4O;a-cxa)b(gEfxH#4C&EdDOXVvR>l7ZFOUND%V<-XKHZgnjs3i!%X#%)A8KLW=sWz zg$04zOHR3*(C4%jVUgU_W(b3Zje@Y0MZ@Jlap?!!ib!uwNR{Ps-A1_<7LCQlU2n$h zk}R;G(ikU{8>7mZC+>tZjoE@>td%8@g~fewf+ZynO3+2PV!0(2nGEiglR?ZW*Ns@8 zTyCB5RA*5o3OPGlP^0qu2)*10&7E~GDpajm9txE#0pIHL+KCV&4=cn-meoKtfSd1R z`jxh74p_&HiKeQd=nKkyECRS0PrQq4D`D>;$>oO2GJJ_#xUwRM;8L9Y3j3T2JLRlZ zljjtS2*NfOM++{u$8!`x2K^6(px&${d{W zgu-eg9M|AHdq}4QSy}RJEwOYttjocp2s)gx#3t-#MmQ*$9In+d;tLy$eyrRlaw?k( zcb;X`%t!Nyke`+l*<8@`ANgUH!&v!XhYNk4$(67GFKxdnr_lR7FLT%Gg$s81LO~p& zX=j&VO3`1gCQvlnbr1o8Tvma`(cms9&BEX-#VO1slqja<4xi6z*aRM?t)VBEX>eJA zoQ@=S6^LAm_YCo8#0%OIehVm-@8>IrDE@Vkl-w4DnUVnV69VpmF+&Tv#2{S1k7z0YSAVS_*8bPZVu$0lrx!Ke3H+roZVNeGs z+?NHyJ)njMu)QeWp#A+Idrg&3-ncPTu!E6~Y#fYiZ&?7XC(;6UjXtwrCUQTRxm%4y zayzM!NZG3}9ZFDNTyt`-7z&^J6h8L?A{#2Q8x)iP8@p85V7Ud=G~JZB`^hL4`{jIg z+m=ni{?+UrQqYET9hQJp%4NpFLdJkKUlua=tD0Paky-AWlFQwzf?F3%S=D=(49(rE z2K4boQZ;iEjAV)c?rb%(#GXY7>h&-9rHshA+x3~u=zQgK!FHpYLu;EXw6Gdz&$$O= zKYW4#3_HWUae%B`aro(yp*vks~E+3cRq=N}1=n;2LWrf`F8;Tg-puvU2@Icb_a;%5GCs zsxXN$6dA?(8jURtX7IT_Zn(4JS|*0OI@Rdi*l{aK?!{E6&ce;oI$R%r!okndbeuyW2D{dX5m`#rkivz)OrL!SWmz@C@d&|+cK3!uBieQwm!d}XASjxPl|5AxZ0DeA zFm5BoRa0##6-|Z`un!^AyJ1W#s%AK<{75sjl5NY_lOIT0$+18su z8XBXBg_jT5jBR6K{`Dbi7D!GH%6LFUk3NEM-{Z1fw!V~2q>Km1s2lbzWiw^l{zmu>ppJK2SdOWMqeYY!IC_% zpMW{;a#Z^Ro<~n*cXEHD+Aj^Y4q$h3%b}XK3wJh> zG|-(efo&glC%3$)$6H}KfnXc1$y)&IPVOQ?1K-XgvE9TQfz|3YaobP*PwJtL3C3U~ z(*O~x$+5UkC1{LE#uEftSVj6ZL2pbnd1nxf7>;H{&;gxxC!{jmITlB|le>VzoqXhh z%RCYtE;(vWo}#2+n5w2B>)8aiaFf)P;2S*U8AQ+x4dyc#QCHN*z=WKTGI&@;P`Dgc z6%afwkBaymsM*Tym^nblb<<*Za_5D58ZBid!R8>mTm+zf=qNmx1K|Du^ucIr>QG$N zIup!AM>`Opx(6j!&F=d9Cq-E+s>3;}`9(Iu#M~5=uVvuLGmsYYtiA$sV8mN2-htm$ z0ng=GgHj`}wQA`QRLws&7#485(_N_+5Ioijf!1#&6g5d$wY5z_1WLlGy}brRkR<$- zfb$rgtrN{^)=;ViJ7@+Om{1uO%-@8{j3Fd(C}Z%-C_)QH5mqpY@Pbi97-R%d1tW+q5P`Q^Ou-mp^J7@Z7$S}%hByb!1f4$Bpwg1X zi{+oOSd@NCkx@TO&|D*5o^2pKM|cQF0M95MF5;l}L4S6fwUmuo@Ou|v?+mPYCJ6Li zP?TCk1K*xn zJhb7V9}iw0=JT+Qhxd3m$;0QIl@iT**2K0Mz#1WOj)B;{vJWK` z_YK-t3{aK0ix=T$Kq78d1pL1{pd-$Mf*So-f7kU?z79P++t1rxhg+2=Sl# z2Tv3MCro%XF8EKhd#PH@j@L>8Ro)KZ?9$EJl4!G0sfO!WlsM$rO|a(yJC zW97Mx8dSuxO(LO~P})GiUqj;rz6DiSCgV$_d5at&sq^}kxp%Vw*-P0hUdaUGOLd7qKXKW(`#4yk1JZk&O|*7;E1PKDWy92iK54v8)#(l|jbF z_=0?nHZ5A%x5Mk|hZ~x|_(JSwB>y1)qD}A#V0B)Vx?^8P6rBshZ4}GAJ>I(MOF$0^ zhAV=84AosLiM;$(H4!O7;d z3g;$tvv^s=yJ)FaVc#MtTjT>=j;yxc1BPK>nT^2d?(s6XZ5VobbzKPUMbWHUYzXio zDOPt>g0oo`M^V?|#3hX;-+@UBu~Y6wux2@{s_3M+8^N0G=mUY`$K43lGJYGW<;UF! z*0Pca^5bp&Rpe^5bpT&vSeSk@!Eek-5RC$P@tfqw-3Zpk&R1Y= zvLAONSepip05RQxTx4lmH7Nb~wjD(Y2thes`cqPUl>NeTKFVJcq13jdKz9*Cj{eT!ek5froyl zR~aP2+?;!GM0u_vgvO}{N31_VWldTYTvQO(|hFE@cb0we6t`~ylTUTz1n8ry-aR%?y5U^=aL&_u!f z1*b@-%b2>IiC})5x^-3XlV0rR)UB(cB&>Lh(gC7Mwr)_1400JWw}*XUYUsg3MVN7YMCCtYkHNTB06=TY;NcPTup2z!B_8~HTp+|3`Q=|n7Mq@Q|XXCX{cx% z&B<7oIT_0YO~nN(tQ!tW{2l%FP*GJKHcHPNCTgmst@_AeB1^saj=p)A@TeO@^pA## zBK}j7(Nw3P;mzg-(Ha zH53EYphXFGWL%xs4dbfC313p@AX;S5AMtF2YUwAyf5tZ=zJbOW^jADIF-i{xz9%QU zJrnN(TSPoP%5&yz5H6FLy$l3CcN$MeRsG*UI@*TUgqo#^3yj~kJPliLPtd7X@MFM-k79ZbejGK%9-oYut?L&jDz;=`fQHJ}e} z+A~HAN2x{sfbM2QeufJBnVKF{P%M|ps0I(#UU65aiMwQ!)O(K>2`%Dwfj`1il&s}w zW7;Tp8RAZOxU7wF|A17gmA;40IL~e3-k$@%>gj|_kHgsmM^{g99L`ukOCKCks>JHw zj}}FXeiaJ~hb-<%V0tniA=nX%dk!^@j|Fkm;@L*YxtH|JF(M&wHTpK~m?i9EGG}$y zJC703)lyJd+Q$~p12T(aGEw`~;e4qr=v~|h!bcWQ{U8W`SOnsU znfga3K>TBg96`yl2_T-DlF^AE6l=s>N}@5!(^RXQeNalhav&_$2;OXZ%KQz&W=f9Z zvai{#;m0UBf;EJi(~26^8^0=I0=un-(BB&QH-+;9^s%psR4p504lU3cT^P;P6Q=KY zRTL>2!+?dYp4#MZ?J>w{8K3aeJD!eX(>XFvyg=D_!&`WqlLeU;% zMp>gjA~XIjg2k9Nx_%5I)*5x6l0vWPqrIYhVERcg6Rc4|g~6N>q<`QQMbz`-^jlt0 zO5N?$6DEkHz~i}4ddccOPNi0}_2v^qk-%(r1;wqNU&x$q)n|}7mPMRtjgCiW=IQU& z4^I%OqMZKI1W{kT?yqN0ghSS2ag?(ro}kXGiFz+G`Ia@Uf;I6enVv2B@`<9DR^lO; zm90feVMyuOsb82V(zVX)Evi|I3?Q$x9yAFB!N*NnO{-@kd5L57Dw9M;(Ox&etcUtR zV@L^_1){#y?ZB8dr3D*z6RWEa+{iPopRP|reZ1cV8qKUx8PM>k`pHRf(J=B_T4TDA z_tdT1CnK^h9xz*5V>x>F{I2U|CX3o?$1}QjvS^^TP18?L7Ns>i?mx6H)uHU>Pv-D6ed82SBQSFwn0>6VeDRNGQI!68 z3gR8WPNTmydOn$_n(D=-qP%P3BA^Yj#(hBMqi^&sQ&DZFKGpT9B0joTNeD++JsFY6 zbT4LlteNRDJM{BYMd`rR)EI9~>;nx?y-Rw;Yof09DtpWc)~M}d4%P>}CK?BJo)6w+ zYpmT3UgO^Ssn)n2nEb^|kI9PQ6E?LQ?k%k;aE6A|_eYwU*%>t3YSnugp& zv&Wokjk`qVfs6WxX~=idTVO7*rUamfJ>RX;Kbd|B1iozQU7v=$O^158k#$-@%^F^ z{QP7+>~&G5=>1M$zGF??O6H~^Aof_@YtYnEE@4ohy=#sCosz35`mop0OnY{P#(UNT zR}7ezry%xQ-RG(PnCb_t@wt?IeO5mNb#LY?&^TmGXi4TdUNMfqv(e+FtcwM4)EYIF zl3y(#J~Yc+X9sf38oLsbl(o#zr)Gxk?SR?|tJ_A$D2l0U?W8s8BN}LU43g7U_gVN; z${Mr}?Tj_{N(^pEJiFL6e`bx%WuQCngE(i6e8fPb;z69Zx>qugm<{3!Yg8!G3L@2u{DARNx&IHta?Uz#aG z0~_g3yJSu1O0_%p7tRvdMHP&cv>(m5JH&&yYK=NYg?exU?Yfzj2ibc2St7FNKX5ng zXKR!a2aU6AQMb$-{mK&l)#~<8(yfHPe3mE{ST_O8JJzUDWcDwje?{gR2K&PrJAllh zPCfVybXB&^(7b0&*hpq;z1|xlwfceD;Qej&{7By3K_DJkW8Ynj2zmClP>>112-0y%$=~)3pjx9k+g5>Lu^~rNlQh$8} zX09#CLuNbu;9QYfv{+T}D%lcSkQc{HSFuS)PU*G;lB%|t>6A2hpu6UYV&10ALJeEu z+hl%T4C=K^^>|*dYTKf}qa=XC*}672*E*)`dkKk151pQj*9^ zP9L)ti_zcv+M<_Ivc;{(E)ZF1*IIx%z!vi^nU5IXAXB~OJ0J$zqV7>rK_9t5BnHl9 z`iI#(fvMmv?4fU5fU$_O2F#H*Ph~Q{T&7=IfL8w|9wKOCY@T6c-aD^HyeTpR53Psh zc$;TCnXB{kR&V0cwwg94*gUt%{PwQ?+MBQ$Oq-K!o|qzF+KTE2-h>N9t^@Nmo2MC> zPW`VpadA0IlQV3dS>%2DzFz7rk*a#T>FwVVk=6F(K{&@2rQizSX-t=zXLElI%@n?* zN}F$s@=&sr_5G$PshSS8w`@_RD9O_Iz9ouuIM5TkMYgC$Qu`o?B{p|E5Gg?iKrFRI zO{S!;24cA>`G$8eD{N8ADX}r`Ri@-(CWzIxs60wWme9*D6vdhZJE6YTmcWaZr`$wn zthc$p2a!??<)Uq{CAiS5c|PRTZj&ilF$R*&wuBT)%3^*;+iKR`v@!a-3q?lYn{%MC z(-zl;8kgVE|5ymme3|Wiw=I4Kncl8?nvPo7OwGNvxWi;lDWbO~v(kHD?z6?;A@hy) z`gAh?rRG6fTpU`Kr|S^?JsmCJuaChzY>RJ9W{7?pyrM@qR{OvfH39ui@XkIsN3K1g2)_3D+VZnejiA+vmI5O%v!^mDu*9QOF(l-%Wr z+|Tabg=D9UnF2{6d;A~WjOY9#w?QlKxPyXE$z+ zqo0DPZ!gl0lD^|WG_)Hx>~nYMw^oRXfsq{cHAUT0V_g@$>`EkV2HRK*d)yf^D<|mv zR-&6fgXiDc%l4NnCBfVlrLSKpS_Gb51kDcisMpB+DogiUg%NxOR%T~=kyT{Y>I~3 z5H{s4jIOnQ_T=i6%s8okgm?p&r7`%mohp{wkE|i8MWSwaC%F$HoA*zFK4zo$?ZRqwMid$SVZ9+8Fp&0_>0HU~{ZJA-5DH$`<|5Y7|Q@%lTD%LQ68= z$kUg)OS6ONHt+7H2AGuzU^Pav6QPq37RWN`-& zGfc@1_GPcz6JjVia9v;ZHde^iFAt45rbd?qAm-W=no{HF?;z%z&F7_>AQspY`%=>H z6%cQklE%A0EVL(1rKB(~REtc>5f=Mmd*Vt;LfP*wH6``fs+QRk_mxJM;29;aZg%%r z*%i!yXr(>jJOl0b1F_m{^#@jhc-x+Eo08v>L98`feXSNC*4YysWgzLoE@y+;wwv?< zvC*EGK*{G=_oZ#NyX$~(I2+-Z+D+fPMub)m9|E;4_Sjsid3d4UW_Q2AYATL{w%wjG zh?15yKc4U#G->k{+-Y4zh1Jn0xF|Yspjs^onaytEE2$GtVCN1(~mR z(TA)>tu|%h?6*hxl?5~XXMO8hk*U64RsVji$oBqr7a@+=qbE_ge;- z14&N-$r-ylJx8CrPQ<1i`~&n^dqNzASAGR?&TiZ@o}2^Xb9+(?O4{ld)?pxUmxGrt z?a2ek+wq?6zaBaN93x=uYkTY(GBubIDdXcUE5Ua0PFLDCsvRV9KkF8b? zO0)au*Vl`Z9lj1h%6>wPL?W4gAA`mXd)!WH4B%M!XS25oss`d0d%_7y9`fq-tKGPP zp39E>wmtb8B_nvJddF_ubkFnGhiwo!-qW~xXn)$1Bhdmp-9n*p&&=O4UYqXQi#4O< zK9l#inUYrfK|Hj__M@b@1H@x9B@uf-Jh8{WMoBID)4yg)TJhfPsXb{GB`sOA!hw|7 zkg=pc^vsQ-cwpceaBYqvUr^;-553<;Tz4;{x-_RF#e&}5Glb4x$l(qGk&=NtX)Z@f zHA+7INtCdcIDC&qG zNy+CQf+*%N>hJ_AUrTo+&7)*B`+^LX97^B`-LZrtehVepvp{4y3}3ll3dK;;5qlhx zlr8fiDeJ%m8>Q`8o2<9of(hzPee_9NaAmqo=c(XGO|1ms_j~m-TSRKw^h;n?c6fS_ zIhOTU)lBEbtsts7QkPINUyt63JBHqEz^my<+(X{wPxba&(X>ypJF4SI{FBV9L-mDQ z(X{nX^-s1U($Tz1G;*Z$s|;aGx*obsqy+ZotyNP;$`&%4r|WgLVa-6r3@}?c+@rxv z`C~L}zU+9(jUkAqF`c1}!`&5~e@gp_Alf>Tvmr@2%nWy8hN1SBMgMRcD(Rd4V0Lj7 zY0I!TLv?jK=HVtXH{BiSi^+VnO0T~iQ>Tds!0hSB{ENEYoCk&ua6@=wJLav zMuO;Px=y`6LG*XT_o2jcSiikpq^OsL9=bym*A{RpX{aOOJqn}r#yc<>KY1VmjBrHV zAg}Fr`q&-frN9oagE`s}R~WV7`L?*eX9xO*74Pal??A6ogOPh3u@fl#LDl1Sq9~_D z=}mWv?7$n$>{LhmJqkN#=nHnD%L(L#VY;KpOVz5HJ@Dbx?dDu;1}D7y~CYDdE7l)M!LVvXs(Uv~zv))D8 zz20>BX3>yraKzbbLQ?(@5SvWLwsM%W+2M(&WO5-8TOAlm1S4J5<3Vk6M3<+izJBl> zlw7lM;O%rIwjl3RsQ$-0D4f~Hz})RfnnC90R=vn>FvF?2*O7RL%$t4m_Fxw6aTLsb zj-)@y^k)_iINS?Cq!edgbXB;t?YuO+gb3^aC2Q}xvUf1`C^rG1}ApOFToKYLX>uDe^u)Gj%4j&MF zWVYwE{j$S77eq?sr68_2 z5*|?U8O#4ihx-I2``CkBbtDGYfh6}I5ZBExrP%lX&(InlqE0um1+| zj~V971`z)`qJmLuo-=nqC{80xIL8#i8C{H$vuNp>#ffBjVUDlp(yY#yniOps3c_v% z8jTfU8Xg9BqGaE3Nc;Ktwwe!|FjYo#~0i7cp`md7BrtIA>A`N*bf+y;_19=px&DqBD^% z!tyxS#FNcH)l)&FIFq_j;%Nw?h#4lGIZAUTj;CbKD;Hbd0jj z=%&ZFvC244@5<0RCawVWAxN41FEtaDCG!Br?*h0o5z$?_ChdUM^-48CDsGW!_qE2`*>>BZNjR^EP@*#E_9` z4QARb^LBbm3}uikYw&l7081=0_hWpjX=3m?lMMZ@L=Nu}JfbI-1 zMGYtvW9VJA=}&p4U$Q>+FG|lo7^NS+C{iN6jWU94G)~G91Wfy(jQ;qdh%Q-$ z`j_QGFgBIU$@xvPqV&Pvh%j$2GY<6F z@@EA5%nXJIOa9H0-6|87;W3mFeR=0gJTg0(>|dUN=@lv*iP$7V_hPN{Vefw4H?QZ?~iZADOJDny$CN~EJIXwTeR}7Tvs{Q z0IhCF1-A%+>!`w_xm*UDjN$=`)UuUx)eXsUVON@-c^UIlCCV#M0yh#$nWYRR(^O@5 z1tdEwS}{VDENFtVe(rb}%9bf`8djdApp=hoS}W}RU1=~k1Ywxg3ezUhiz@2=SCF?#uz+}| zS{as=Dlo%zB0)xus`?5K1z;2$W=ZnPX@-Es>g7<7&x)~zYQ|JEB)@L!l ztkkAqea#gS8d)a+#a9AJsQavNnN$7H74box0b1>lXbi8LKZ_Q-KxCaDm8_GNW-&mi zRl(#AKvXk@%P7&8^*cWx!>!E>qsZDAFjf{++YH5Y5?TE$sdhe=EDf^Smr`VM5V}K% zDCj&LO-TUuMuj0eiqhGa6j{3!+})5Ed}0)$E-#9VBz84(2z{<2Mp0FAxlj+!%C@_# zdBoA<`RZocUXjTy;AHdxTp@gMA!7sd=&Qod+smwFnbjQB4c>xXkVVgpwi&+L$1E@u zZeKG}Ssd6bT1u%c{joo)&F3@-S*Rc49Z;|?^O*xBQ(t=(uT2>AUj??6!TPzY!d+uX zut?EDTox@#3l@bPK@o~FG+A-ED!D99yoo9hP*H}b!evK<;V?26PKQZ30>ms(sYvNf6vU@Okm1*Rf4U3%? z7TAmDDiiKapOP*$Ltk}WM1{O=#AP$O8YX9^eujcsBHS=0>zp@1xpLBZ2BKszDBr!sW7dwjl5|n>kEIvTPEImE)kX8 zvJXQ`TUelsnGW3uWESzW?sUn#2FGH`mOqO` zmYC6Lt#~eT)9}qiSu!j03s=UwN+iG|SL29Y4Mq8Oe)^?!O@6_GG7EOCtZ2REkD{=5 zT>)2M0kbi&S*({jbd6H-lCuG{?20e|+$b_ox24={C{-dCR)eQ(LPDQou>dwdOFbg5 z8{*Taa0`r}Lk_67SnX_uGPRTKv==!r9PS#`&{N z>~{9n6aEw_PMc+5Yn!ly>P`O?^$M-@&b11VKPY+Y{uDNgdN?v~>wU2!Ew4|U+SaB| z8m6Y{SDL6UeZoA|kr$Mres0r$s-TACRV=1(orWNnJHW zUs+tW>xY9Z_PpZL)C*7*4(<*jtu8-8`*RpgJ@%rzzED!{v@|vzP4qy_r)>fVpHD49Ef7bDSsPH{y~%9$Q*O#nfw>W)nA+Z z+wn&D{PFoilWz|6y-NN_--7`;6a3;GL$1kx{?-H6T$BIeEzEe6|KhFC3X}i*Jr!MztOJw*RY(^N(%ny5jhIeq@A< zg6;An21*?$A_NEy8xU5FCfx{e87QFxLMUMKBZLuHQs`g|W=CrwmDm&)$}yC7aV5Zn zjwY&#)0MW#HXxcdNL0~!)2K+MmJm(Msa6!$4eeat^CtQG{>at)e$Ku3{J8Hv|Hw0U z;CIu{_^m?6iNKcl=# zYohtDv;x<8S0z#rR9Xwep_X?wv)Y3O_ztk_3Y;d_FU(A%P*!c+O>oy*}dvgO^3gl){Gh{8)1 z=B$;2=T+3DFu#sV;}qa94KdD&Fm|UGQ=IaC$o3zJeH2#9$5hGKKPb5KSZ1CcirxkZ z8qY7nly}ZoGwr`k?P|6%!Nu|^m7TaX)TeNr;Cfiuhsm{?@oB+v@bw~v*;z!7UK!aw=kMZl$2IdO@tbklw=-QTU|b=2tQUzCc}!{T~P(fGpn>-3fEw zvxkEaM^auj&o=E*9Z@ada;jvUeh-!2OgwwU@L)u{W$)ETsGSW%B-jf#mA6Fi2K__P z+aL)^(L14@{}kN`*X|g;8oBuPqV3U z13SG;Q==G4TTShZvv%3`3%;DHce@r|3+kAs8>2}E2)wEV`C~{1FXSi5r5ZoQxbbWhV;`)K7pRwU=$POZNcsiQ1JF%9>7{nGa?q2a ztAF%WhaKg8(Y;W-vAHT+{4?a6cv;Qm6E$cR1o{j`HgO1>1-HPe;}?{SLnqQhISu^0 zI40dXVAS7afRiQ)DyaZ%x+WgrRpibtxPaoCLgwh8PDA3+{k~o)Wzl zCVgA<9vH4u^juh~Nec2bj|~cLdMz^s#}s=Ln@sIn*xh+7sNy8Su#EZ?UMsi<+}c5| zt&9%|-Vdp7rc%bCGlJ{E`OCHr-L8v%`*fz)cSP@m%0Cc2AGVMw`~@2aMW1fv)j40E z7z1GBC;mEgq9-6Y4mdfbZr}l z;NcThq%h>Ah`Lk=rGmR*O|7TA8pgW?H^a3Zrb@=4Q-bTkvvZ>RKz~>CCUEA@q9?(N zf3WUUztIGj`2%fFcWSIz=4f(lXIE!Ft^+NGY!p+e!s-{fRURs!7`v!}aaNeIzC$0U z7z?3Rv9AUDYodE0Bez6v0)0sI4k-3WulA=K*5zYbr$x0~ydp8`gp1&53f6K=&kD{3 zyqzM9Lydw{5W*?Z%OO*7(f30Lzh_;&Vr^y0?iRZBHEJn+K_go6s-WN-dRCiLS~v z-59S+?|kT;5WNN5?GfDxEBkZNy^s~h6KUsZZ5>}V;4tJ!(eprdawhjfGFhduz3MR;> z*e(u#wcrYvriOYMPYMa{ge^KcgB-i9!r(>bs>1l2b$^t8Ug*~^dKfl|`=VEY{TPbu zW-sUPccAI@4GW``x)_H7f|F3g1EP1psIQ0~058spJ^;CW&mIT#kF{QHWWxmaq(cQ1 ziBvfz5;6hF^9iQa0v{@pC~e3v0HEo+-np)3Tb&u^lq@f%DPv5ZtCwB zix!yhq3CU}THN{C{{fh3F2(BE|L+NoLUD2f<@8^qk zQ$>AzwqmCkd!d{MMUO*WBBC3x>f@}Z*V}@GSUAB&^<1$^Y!i$)X!rDtn5`|^!0`#x zyN6R>D7YCaSxM$zPW=|aVYm{0DtZ+Z`WK=n!Os(-r@+s1qL)CXK4e{|-kmtV*UHLC z-1xb*F*~v9h&9%vr+;O+6DOLi<<61Y>w;T1ZLgzHqcxt+Pp}?I6rQx6|3>1{uPwKg zxbmj8#bJhN)){MFPKv*AQAcWYV)GfR%ye9tORZnYRp(cQSUh?~6geCng1YSvSXo1FKG_BG_BQIGHULinFdeMj#g_?PTdGc`ZT_nT3fA!qjHy6>GOKJt8i1jKK=V_D!5=R Q%-MNbpI4hS_@*`Wf8&Pfw*UYD diff --git a/Engine/engine/match.cpp b/Engine/engine/match.cpp index 5a03ee8..46f7c8c 100644 --- a/Engine/engine/match.cpp +++ b/Engine/engine/match.cpp @@ -81,6 +81,60 @@ void processInput(GLFWwindow *window) glfwSetWindowShouldClose(window, true); } +int shaderProgramLinkingSuccessful(const unsigned int shaderProgram) +{ + // check if compilation was successful + // int because glGetShaderiv requires int + int successfulLinking; + // here we store info about compilation + char infoLog[512]; + // check if compilation was successful + glGetProgramiv(shaderProgram, GL_LINK_STATUS, &successfulLinking); + // if not display compilation log + if(!successfulLinking) + { + glGetProgramInfoLog(shaderProgram, sizeof(infoLog) / sizeof(infoLog[0]), NULL, infoLog); + std::cout << "ERROR shaderProgram compilation failed \n" << infoLog << std::endl; + } + return successfulLinking; +} + + +int shaderCompilationSuccessful(const unsigned int shader) +{ + + + // check if compilation was successful + // int because glGetShaderiv requires int + int successfulCompilation; + // here we store info about compilation + char infoLog[512]; + // check if compilation was successful + glGetShaderiv(shader, GL_COMPILE_STATUS, &successfulCompilation); + // if not display compilation log + if(!successfulCompilation) + { + glGetShaderInfoLog(shader, sizeof(infoLog) / sizeof(infoLog[0]), NULL, infoLog); + std::cout << "ERROR vertex shader compilation failed \n" << infoLog << std::endl; + } + return successfulCompilation; +} + +unsigned int compileShader(const GLenum shaderType, const char * shaderSource) +{ + // we create vertex shader and assign its id to shader variable + unsigned int shaderID; + shaderID = glCreateShader(GL_VERTEX_SHADER); + + // attach shader source code to shader object + // from left: shader object to compile, how many strings as source code, actual source code (we leave the 4th as NULL) + glShaderSource(shaderID, 1, &shaderSource, NULL); + // compile shader + glCompileShader(shaderID); + if(!shaderCompilationSuccessful(shaderID)) return 0; + return shaderID; +} + void drawTriangle() { // we specify three vertices @@ -108,18 +162,38 @@ void drawTriangle() */ glBufferData(GL_ARRAY_BUFFER, sizeof(triangleVertices), triangleVertices, GL_STATIC_DRAW); - // we write vertex shader - // version of glsl (since ogl 3.3 same as ogl so we pick 330) - // in this shader we just forward input data to shader output - const char *vertexShaderSource = "#version 330 core\n" - "layout (location = 0) in vec3 aPos;\n" - "void main()\n" - "{\n" - " gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n" - "}\0"; + unsigned int vertexShader = compileShader(GL_VERTEX_SHADER, constants::vertexShaderSource); + if(vertexShader == 0) return; + + unsigned int fragmentShader = compileShader(GL_FRAGMENT_SHADER, constants::fragmentShaderSource); + if(fragmentShader == 0) return; + + // link shader objects into shader program + // will store shader program id + unsigned int shaderProgram; + // creates program + shaderProgram = glCreateProgram(); + + // attachShaders + glAttachShader(shaderProgram, vertexShader); + glAttachShader(shaderProgram, fragmentShader); + + // link shaders + glLinkProgram(shaderProgram); + if(!shaderProgramLinkingSuccessful(shaderProgram)) return; + + // activate program + // after that every shader and rendering call will use this program object + glUseProgram(shaderProgram); + + // delete shaders (they are linked into shaderProgram and we do not need them anymore) + glDeleteShader(vertexShader); + glDeleteShader(fragmentShader); } + + void renderLoop(GLFWwindow* window) { // glfwWindowShouldClose checks if GLFW was instructed to close @@ -141,6 +215,7 @@ void renderLoop(GLFWwindow* window) // glfwPollEvents checks if any event (like mouse/keyboard input was triggered), updates window state and calls functions (which we register via callback methods) glfwPollEvents(); + drawTriangle(); } }