From 9e3d7e4e503581f0890bcf3f8e29b83c2fbee8db Mon Sep 17 00:00:00 2001 From: Christopher Kulla Date: Fri, 24 May 2024 17:07:15 -0700 Subject: [PATCH] Implement new Oren-Nayar model from OpenPBR (#1817) * Implement new EON mode for Oren-Nayar closures (via an opt-in keyword arg for backwards compatibility) * Add test for energy conserving Oren-Nayar (on half the sphere so we keep checking the old mode as well) Signed-off-by: Chris Kulla --- src/doc/languagespec.tex | 7 ++ src/testrender/shading.cpp | 108 +++++++++++++++--- .../render-mx-furnace-oren-nayar/matte.osl | 2 +- .../render-mx-furnace-oren-nayar/ref/out.exr | Bin 35774 -> 34912 bytes 4 files changed, 101 insertions(+), 16 deletions(-) diff --git a/src/doc/languagespec.tex b/src/doc/languagespec.tex index 566a9431e..db9bc9c6e 100644 --- a/src/doc/languagespec.tex +++ b/src/doc/languagespec.tex @@ -4671,10 +4671,17 @@ \subsection{Surface BSDF closures} % Optional string parameter to name this component. For use in AOVs / LPEs. % \apiend + \apiitem{energy_compensation} + \vspace{12pt} + Optional int parameter to select if energy compensation should be applied. + \apiend + The Oren-Nayar reflection model is described in M.\ Oren and S.\ K.\ Nayar, ``Generalization of Lambert's Reflectance Model,'' Proceedings of SIGGRAPH 1994, pp.239-246 (July, 1994). +The energy compensated model is described in the white paper: ``An energy-preserving Qualitative Oren-Nayar model'' by Jamie Portsmouth. + \apiend diff --git a/src/testrender/shading.cpp b/src/testrender/shading.cpp index edf17f94d..73821a73c 100644 --- a/src/testrender/shading.cpp +++ b/src/testrender/shading.cpp @@ -101,6 +101,7 @@ struct MxOrenNayarDiffuseParams { float roughness; // optional ustringhash label; + int energy_compensation; }; struct MxBurleyDiffuseParams { @@ -316,6 +317,8 @@ register_closures(OSL::ShadingSystem* shadingsys) CLOSURE_COLOR_PARAM(MxOrenNayarDiffuseParams, albedo), CLOSURE_FLOAT_PARAM(MxOrenNayarDiffuseParams, roughness), CLOSURE_STRING_KEYPARAM(MxOrenNayarDiffuseParams, label, "label"), + CLOSURE_INT_KEYPARAM(MxOrenNayarDiffuseParams, energy_compensation, + "energy_compensation"), CLOSURE_FINISH_PARAM(MxOrenNayarDiffuseParams) } }, { "burley_diffuse_bsdf", MX_BURLEY_DIFFUSE_ID, @@ -459,23 +462,24 @@ template struct Diffuse final : public BSDF, DiffuseParams { struct OrenNayar final : public BSDF, OrenNayarParams { OrenNayar(const OrenNayarParams& params) : BSDF(), OrenNayarParams(params) { - // precompute some constants - float s2 = sigma * sigma; - A = 1 - 0.50f * s2 / (s2 + 0.33f); - B = 0.45f * s2 / (s2 + 0.09f); } Sample eval(const Vec3& wo, const OSL::Vec3& wi) const override { float NL = N.dot(wi); float NV = N.dot(wo); if (NL > 0 && NV > 0) { + float LV = wo.dot(wi); + float s = LV - NL * NV; // Simplified math from: "A tiny improvement of Oren-Nayar reflectance model" // by Yasuhiro Fujii // http://mimosa-pudica.net/improved-oren-nayar.html - // NOTE: This is using the math to match the original ON model, not the tweak - // proposed in the text which is a slightly different BRDF - float LV = wo.dot(wi); - float s = LV - NL * NV; + // NOTE: This is using the math to match the original qualitative ON model + // (QON in the paper above) and not the tweak proposed in the text which + // is a slightly different BRDF (FON in the paper above). This is done for + // backwards compatibility purposes only. + float s2 = sigma * sigma; + float A = 1 - 0.50f * s2 / (s2 + 0.33f); + float B = 0.45f * s2 / (s2 + 0.09f); float stinv = s > 0 ? s / std::max(NL, NV) : 0.0f; return { wi, Color3(A + B * stinv), NL * float(M_1_PI), 1.0f }; } @@ -489,9 +493,77 @@ struct OrenNayar final : public BSDF, OrenNayarParams { Sampling::sample_cosine_hemisphere(N, rx, ry, out_dir, pdf); return eval(wo, out_dir); } +}; + +struct EnergyCompensatedOrenNayar : public BSDF, MxOrenNayarDiffuseParams { + EnergyCompensatedOrenNayar(const MxOrenNayarDiffuseParams& params) + : BSDF(), MxOrenNayarDiffuseParams(params) + { + } + Sample eval(const Vec3& wo, const OSL::Vec3& wi) const override + { + float NL = N.dot(wi); + float NV = N.dot(wo); + if (NL > 0 && NV > 0) { + float LV = wo.dot(wi); + float s = LV - NL * NV; + // Code below from Jamie Portsmouth's tech report on Energy conversion Oren-Nayar + // See slack thread for whitepaper: + // https://academysoftwarefdn.slack.com/files/U03SWQFPD08/F06S50CUKV1/oren_nayar.pdf + + // TODO: rho should be the albedo which is a parameter of the closure in the Mx parameters + // This only matters for the color-saturation aspect of the BRDF which is rather subtle anyway + // and not always desireable for artists. Hardcoding to 1 leaves the coloring entirely up to the + // closure weight. + + const Color3 rho = albedo; + const float sigma = roughness; + + float AF = 1.0f / (1.0f + constant1_FON * sigma); + float stinv = s > 0 ? s / std::max(NL, NV) : s; + float f_ss = AF * (1.0 + sigma * stinv); // single-scatt. BRDF + float EFo = E_FON_analytic(NV); // EFo at rho=1 (analytic) + float EFi = E_FON_analytic(NL); // EFi at rho=1 (analytic) + float avgEF = AF * (1.0f + constant2_FON * sigma); // avg. albedo + Color3 rho_ms = (rho * rho) * avgEF + / (Color3(1.0f) + - rho * std::max(0.0f, 1.0f - avgEF)); + float f_ms = std::max(1e-7f, 1.0f - EFo) + * std::max(1e-7f, 1.0f - EFi) + / std::max(1e-7f, 1.0f - avgEF); // multi-scatter lobe + return { wi, Color3(rho * f_ss + rho_ms * f_ms), NL * float(M_1_PI), + 1.0f }; + } + return {}; + } + + Sample sample(const Vec3& wo, float rx, float ry, + float /*rz*/) const override + { + Vec3 out_dir; + float pdf; + Sampling::sample_cosine_hemisphere(N, rx, ry, out_dir, pdf); + return eval(wo, out_dir); + } private: - float A, B; + static constexpr float constant1_FON = float(0.5 - 2.0 / (3.0 * M_PI)); + static constexpr float constant2_FON = float(2.0 / 3.0 + - 28.0 / (15.0 * M_PI)); + + float E_FON_analytic(float mu) const + { + const float sigma = roughness; + float AF = 1.0f + / (1.0f + + constant1_FON * sigma); // Fujii model A coefficient + float BF = sigma * AF; // Fujii model B coefficient + float Si = sqrtf(std::max(0.0f, 1.0f - mu * mu)); + float G = Si * (OIIO::fast_acos(mu) - Si * mu) + + 2.0 * ((Si / mu) * (1.0 - Si * Si * Si) - Si) / 3.0f; + float E = AF + (BF * float(M_1_PI)) * G; + return E; + } }; struct Phong final : public BSDF, PhongParams { @@ -1615,14 +1687,20 @@ process_bsdf_closure(const OSL::ShaderGlobals& sg, ShadingResult& result, ok = result.bsdf.add_bsdf(cw); break; case MX_OREN_NAYAR_DIFFUSE_ID: { - // translate MaterialX parameters into existing closure const MxOrenNayarDiffuseParams* srcparams = comp->as(); - OrenNayarParams params = {}; - params.N = srcparams->N; - params.sigma = srcparams->roughness; - ok = result.bsdf.add_bsdf(cw * srcparams->albedo, - params); + if (srcparams->energy_compensation) { + // energy compensation handled by its own BSDF + ok = result.bsdf.add_bsdf( + cw, *srcparams); + } else { + // translate MaterialX parameters into existing closure + OrenNayarParams params = {}; + params.N = srcparams->N; + params.sigma = srcparams->roughness; + ok = result.bsdf.add_bsdf(cw * srcparams->albedo, + params); + } break; } case MX_BURLEY_DIFFUSE_ID: { diff --git a/testsuite/render-mx-furnace-oren-nayar/matte.osl b/testsuite/render-mx-furnace-oren-nayar/matte.osl index 2a67f1b16..918b078c0 100644 --- a/testsuite/render-mx-furnace-oren-nayar/matte.osl +++ b/testsuite/render-mx-furnace-oren-nayar/matte.osl @@ -18,5 +18,5 @@ matte float UImin = 0, float UImax = 1 ]] ) { - Ci = Kd * oren_nayar_diffuse_bsdf (N, Cs, roughness); + Ci = Kd * oren_nayar_diffuse_bsdf (N, Cs, roughness, "energy_compensation", N.y < 0); } diff --git a/testsuite/render-mx-furnace-oren-nayar/ref/out.exr b/testsuite/render-mx-furnace-oren-nayar/ref/out.exr index f6b655395c59826944797b9dca32cd849f00bed7..caa548aa7b4a9874ebbb460444f6b4068a2ddf2d 100644 GIT binary patch literal 34912 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 Xb>e&klz^mf**v+)p;-WA(akadPL#>z literal 35774 zcmce-bCl;?vnbrQrfp-|wmEIvwrykDwr#t68q>zKZQFMLZa>fSo^#%F-@DfL-<{ErqOBRd;=M-wL}3p?BY zwf`3bP-6pU12qd>q>LpygS3m~Mg*8f@nU*q-rIxx0yvbQ$y`2VD{wy-skb2K(_ z1p1%7zlUsZ;cj9r=wxqV}>vju>i{byCWbVxW8olwRrpsQ{nz|+#~i6Znysj???QD6(aw^ ze{D^^R(IWt5k`0*ASh6VA`)1SxA?jyGqZp3{vXQ!+{@eg_|L}wXz>>U-d};D{7cCH zzja3V)mb^#-*=Yn5ofZbv!#LC>;C}>SeAzgC^9tqLmVL@Pz4oSy$n$`8^K}}YbwUf zyD|6iYU9@Pbndpb`Pt#+={bab5u}{dtlq%L)?z|}VuUsn*ANaWN>vmH4Ks4!NGO`n z>hhGi=H|t#l>D1Bw<5j!s@mzwi}lVXxPQl<0~aCe|3WVSaLE9C%tClr z3O8Dygty@NP$of^b}QhtODqPEg0R{?A?U#Qp$N#T{Tgt6?Be*wS*Dt?K$&7>Ekj(A zr1fSX0VkEgRvFrE?8tm*9Y4yV{PgukD46@0r+fS&U&krpks^b$*WRDCB~Ibw>WFXx z>;txrQy|yxrG0m~2vdGkJb?1A1E=hLJ-sd@3FYQrV=pBn92Z77VQHYKorqjoR@~PE zy=Uv5?J*srB$B{OT=|rpn5z@6B&Gsz2#k=JDuy#k1uC<=uiv$N3nUOzF{wYKrqupxT%cJzI{wvgcxPA|K!qGNdjQyMCii zkmBw3>t3)QCq_Gs?%fJ5toe$9_H`IW+I)X7F(dS~wmKp+sh=E_dg`vey}~^zn^?pz zZ>q}K=D#bK>nfvb3B-u`TppWnBb2Gi6f@2T0$cOj>pDb897emYaqGIcf}l2rw^%#k z+lKwU{X)SHScs){truS42E6KReMBk;wm9te3#=pYExu&~K0?ec_5<4ep9tR0<+6TJ z^B74qg&424oGkHwBIf#e)~}4*<-+{8h`uyr>><$)7pOKurvMV7p-Ev?49l4i-G{{g z05Tk+^ajEi^+z*Yn1ShX37tnw5L^&h>;#zmNa(b(H8H28mLljldO^m*BcrI~?Y4B8 z$Niw2V1=+qxW!UZO5baAo{=rs6MY?9a5V{Hj-xDmOqdkg`3!Rmds45cg_k~$>o;=5 zNie$X4hfFmma<*ds*t6cELH7zYrc~2-6*N!Pq03Kvnwv8%8_|JMjs?S~It><(-a;bPt*wgu~3V}td@y|KAkHlKv`d^}YFL$+Fb_bKL zGAz+0CpsL^uPr!POMEYQ{4daPJRB%F0A=^jxt$lekRyJy9Ds98=DX7G`=96v(dxm5 z#8EBYMKd!j0vVmNPGi+Y$G4)er^^LUAW$Ucz!Uut(BDH-tdpIh7K3+zYPI9ebeYYc zsZ6J56{s0pa!(4e@{<451gP#N4;@lUvQ!|=lycZQ|7y-T>#%VdrhUO|Qt;4EW=m$( z(MKA9qGTK@!!a!PLGa^>kt(Tqoh*K;Vq*!E>jY_jMO%wm@{F1p;eQ$-$?Z<#;lXo1 z->~bDv&4ocvTZm$?h+kT;m*f@2#g-Kb#K~-j`z}gO34h@#+kr3YC2ZM>EhEqd-b(` z4Ac93OqJ3-!M=JXu;aR%Z=Q=eX3x*pP#wRf;kV4c_{{z6J7Dne=A!5UjI)By`zrQ(xM#pwN4&oHAb{JH^L%`K*4I{FHK4evD$8_J`UeKp> zCT_pTh5aqhe+l>Cb(H_~JH#M*kq8{^&va7@zVbl?8&_y+S4u(?KKv%iz9xJx2$j6e z1>BjSpWpFYWKb$|=vz-sO8jl^m#hn5G-+03n-~0T%Ji>)qiro!)$Brq=2VII>yl9q zB_OH__ZpvOZ=lMT#r9co|2bXRUU^V$Aco&-**m7uGD`?>o=J{&rDY;Ee&L;nTEDw7 zOJbUWL%WIYtJh4dLGDCnOPd9OOA}kh-XMB72TTQVEQ5fcMo<{%pyF1lYhd) zmnZlN4=39EF9ZiXLa3JNXYwO(8x$jo&=E+eab{z5$5|E_e#IT_v_h6AeDXFE3N&*0 zEvH;mEY^sIDwk_Ri=I2L38Ofbe98Lmp&+1w^YL{^I8|yVjCgJ`Os7W&zB`yiB;K(a zrFEwQjRqs#)F&~Q3~Eg?zE7iey-m1n;?7&0 z;mc#260R0>KKKqtvqZYY@xmP!%K5!a!IZLe9njlx&Q{Ton12^pcrURLUTa|qTghL6 z%)SmHXy1wLGFCypUfgPbxOY&h5PiV@ol$Oh3j58}h7)Sq6caqw`=o>(Z8N57v+m_` z@3exR4U2p4q{56aRigsM!`z=F%-Q#D0c8r!ceCd2s}XP z)9}+T1M3c&_0FWnprT{bXve}qF83zt4BP*idF5mi?+#YyEr+o>TxqfRjeUv(mDBU2Id=D*qWt-&=c%jD5tL52(qb{rHWHnf54wK)M~oS>lhra- z_s$+7*;$Rq^NHG)n``M5k`ArAMFi2v!1Ih&U$&Z>gfu=}T1PoX{&mETM8Ug>GH z*e@YLvN(&mde&kRl*VZ9;r`6*madP{+}BFqhD%A+p4a@hBuhL?7a(KerueeKm~;I^ zTX7xigm}~I)~8?E*Ob?YewX}EXNXJz;SuLR-xVN4Gd)K_E~ZNyIILT9KJ27w_w@?@ zmuq+bRBDg81#E7i(-fHcuUuRs)^=84hZvQ0#m;%mY$ zIDOXTa04T8zYxx2Z*t8lTOupE-@B<29>jE}_KqWahGJt2l&lWzp;s!(<$%!}9?{X<0SaJ)SdX?XX`<7|mNA^C0|aF;5#UTx99ajGKB zTp1H=vxvz+TbCx~Jsh!iA@iE==4*Dz^7;^Mw+Wk)e_m7lCeH+<3Vjj*g%~{Dq=VZ! z5x{%g<$UyX;G6XBG=>wy(cD-E0Tu$3%$0#Fs2ut=D&WQ)lczuF zb(-uO&lgJ|#i+VZ)Ep zk00}5{T5|ORdXFuXjAGjG)uS}GyaRcfiXMvzDL?;?PiTv7V-y>F?c#NOS>-mP|`C+ zZ6`5wK+8=GjNBbqP4b9vzr~zi7R(Zwoz@>03eQ|Vs(c_+bbw=O$T2ZZnW5k?n(ENL zA%$MF?ZE@aw|KK@Ho|D5dkoZ)lJuX%Dwm!Q70`6z;FxKHMoZ zI%9A0r__^62yr}BnE!N;$eSywVX-(DT0sQ62+N&uZ~S22y6NYPHQL&GyP{YO!A>My zu*LL6F#xY%d}M(HLwMlXA_|(`y5vFm5KXGuI3gIpQCn}M2%j-mF^)3srJ1OsWKB1k z0e0~uw6%NM&6cC@qI=V_|9`}u;X;)>8Rre=Z*%uZ?HOXA6HMQbT7f`f&N~XYHMN@I z%+gKhPU0GI9|Oed4dj(97_lH`(S;@iV7RNqcr&YQFq>@;X$+^Cp{kVw$`uJB zfYxLVg#^48qNZBn$n1<{Y^jgnW-rRp&rG~|_=p0TyURL5^%rnSxsVxken-H!%LvV` zD+;?vZ6MG-5|3EJ{`!bX*4&s)fr}E6!pN^qb7gK?uw4jh3A5Q^(lV{2=p^vCtT(>F zZ)V?8RM`*6G(4qPT6 zs9QP^l)ZlAgHt8cCaWL{gD*qwS}^~1 zxIAJiyDXMpAI_cy+v=kgN3$vV8Kibu9qFipp`yXeBS_`||1A|HnC37O4{5ayqtoYk z{#x(D-Bf#$?{)<;xTJtBynr=3)wLmuEV zJb5}UpfVimRQ`vmYbKbSEeam;8QtPdw+{T{PK(>mXV*%@;UAOx%6$JTQ{x)rN6F4x z1)*D{*$Bln3bR1Rs*aS=v{K;sj6z*4b0b%Tl!{2calkFn0j+td#H-y*JV>EBFDs-} zc*rE`gBuH|cFVNQv&vo|(qb!sgXQhCpf?CL24$zsZ=SCXYbjy;;h0_+4`HsOnU>c2mz{cdq$xu+N?xsY_lzI07#h_Pu+xd8d?RV3{ zo_&Tvyp6G_TnO%Y?CMXVJ458Po0qAsl!qzZ%{#SL)hnn)HEH5SqG{ub6&M49jV3X* zni}K~RCfm`qaHK9j~{kZKk2;B?s`1M80Jg5Wm!F(eH4uSq55iqR}t!XPtR;e-rZ3k zKO$Sb)rMN}n(eyX*DRWACE9mmxx*EngyqPW{eS`()7I+Y>)HSjcGYjtK}{ z=l};ZMABa#7{VvbIm#Qk)%=WkZ}U0XWzWo&NtyaezyI5*{`GEi@byqd{{$EMTS>dg z3^`jRnFMJ{a-5P*w>a-}aHZ(@YbrZXH%FdCG9K*0fY^PJ64NM01}%#R4AB+(NtbTcb4)`&w|OZ>5OfgKRhKT?9R8#dQdQvAWg;b@5` zPG_!~r^DDhB0$AfC*i`*VAw92gzn<($E_TCn}}0e;#XGP^`O&ApA9_;Q5jwH(@IvS zxTYq`lw*humUP$=^q6~KiG3|+$>W3iB){^PbD{k#>9_!J;Tn=KUUUn$gBAsg4lT*mQ3UIt!?nKEX^Gx^;TT)@AcT zb@lJ~rGy8RZF*>apAtjN(56t}CRJJ;=I=^2{@(l4=rMIiq6k(VIgitIZ{?BnM*W@B|lS1WmiqJy`FqiVTA7-g@tOUVRm- zLOSSJLE^vt4I@C6m;{Ff>o>7gj z|5>g2tAsV#%H#g7*Be*hhfhVoLpR*W9|k#BZ+`!@pfN<@6iuq;CbV~l<-{5zp;V%s zY|1pWq@QQzJ+A&wFg{pqHtBQG|L5&E*=i{T8em78I4^t4FMD}EY><{RS>QFYcz$G) zu`cXca*#;rb3BLDxYU}s$s1)c$#8%agF2qi0!b4Vf3A60LlZVFP0Bpi^p2E3O{4UC zhh~o|2Y~ASiTG8y0G{%LSz>W=!WDDsb;KNPRsS3g$SiVwcS`9Rq`hPH+Gw!XCJ)H{ z^_9J;rHwOj=X#)LgO9#qMM^Nyz)C*SB;v0iZWv4+k3mF(M@o=~4rtKYV!lWpYo5ppYA`{|$n16$67YcwW>5HpDzX^8;gR*w~j&DmgnI!nxM zsvuQi%qXR*Bo=Xt{8du;n~-V9Y^(q~2LPraL-bX|`)G)x>SrwZMQY?-LR0Z2;J5|U z2Jugd&@OO*G4h`Ro)sO%CVsfY{g_0y&9rX$Sw>FBj1RCx1v>6o$nhgeO3J#Vg?%mb zgrf4Hz=VYJk$BPD1T4-5aaX4d#mxkB$z36h*QBqfINJK}boGQXjQP&$LlL-A8Zxp< zV_IJcGN(G9oPc0AzrQ;VvN10px)V0w?;|IQR zgOdT7blk4YPpr;_hLZXFSPlK`OuFUbqVIY_W6=si3AdAwdYmK62`gFQc|~MOioV1L z;HgQIbd$+RQJ20-hc<8hTC)vqNK*iw7i2}pER-JnD$eII!M}BGicqIcN&82d_F00zc5aI?5FCOmH!Bxqijswuy{YhCrBAzw>~vt%1#BBzT$SI zblxX7Ngbqd%2aa|%Qw|dU(0fwp@q5>Q81@Wioy-~QoX%zxneXk)FBz^WYvO=t4wAr zUV1#dNk@KS@qsj!>1+EhxsBKFSN(UnLv2j0oJPX=ChT-8NfJ`|!S8!x{5iOc(SI&0 ze0o?L`9tzEaa+~+P2H@{Gja?93?*0FwFRN&@{NQ7O0tZBr4%_Xt2R!($J>}Rvh`_3 zQlsF(krj!Z$##444kWj<4eCv18Pk_KEL>)c2NFTQEITQYMqdKPdYV>)mMNs<%Y9jf}6gm^${ z5s6-d*=WOs%8>R_^+T5oe<*< zJ>|#smD(jm+6EM71*5u4a@~^sRayA)lB=~6%TDnGJl8Y{-ow$=NH=2nXF$ang|Q2g zQZ%QmY7bk(k@TgI$H1?wQDQIJGO<*N;aCyR zRzpwXkzdSg3hqB${#DyfgwsK9-~02I@DDmya>#wXxr|-;5~1t797mb6jIb}VO8#sb zR>)nh8!?4B(!5ENn{pMOmTKcjZ9?nZkR+}Un#da_xs75S&)!TmlkW1vkK?N)CD-jY zo2zD-{eB6>+I#&nd_OK&^;_BF2!eEJu=ErMmv{rQM-I6?#TeYLbAQ!Q{?LdvgcHs& z)zC5h8NolY&>o97dPy1QPY?A)o)|4Zmkrgxc8krJi26`FOdr2!;y&ayNxeZ`$+Rq& zeo7&mOYkO&wIZf$KpiW2;7k$fr%MOT)^0sgoJ=6ksvUn{cd?Y9?g`YWHP)2OnJwa* z6Z$emb#X;w%A^S~uA5W3wqS!)$5GmXEHW7mz0`EhFGuoaAiv4rI+LVqza7w6^u2Wa z`J*HELh!>arSoL5&7d($mYCba;8&wP2x{)^GoEWP>`KE@%{3Yg1;Twv;x+{Ougk9A zDZYHv7b>;-iagxp+M=HTdj7y~lnh@JHqli7OxQrz(JX0fN%TU41x5ln81}mElBz(f zW+ep-q%DWrT-%baBt(&QeRREDGHG3HnCW@tUTn5Mb^FZFjU($D|ILEKfxJpaSHdAM`PHQR8p+yaX zq0v$l#lQLY`&$td0gW=q4xl4x}X6B_d_EvSUm>(8=fX!x(tcb z-SwNBG5%#-QQ%XVLzYPXcM2qqs}_l#4oF({nSyBY_+{S}5S|v91Bt!3{b)Xcs<@&| zdTtgNc&}WM>XNKTtR=A-_-}|?*N6-tC?j7DjVRqZM&tHlKc9P)zPi8kILVA@^^xTY zSW2)tPpmqirq+vG!twbbNea<)Mae~Y17vd(jp0XJ!G&rFI4)h3Ju^XVvRb%7p(=F5*dg{;6O1^xoVK{amc1Qfwvqlhy;c7s>?q8 z4T^Qr18P(i#%sfu{o~e6x0Wl)h5db~QFg6?7btDVoyT5CNr+75m+g>kgo>n4`gK6W z$^w4dee>c$MZbFO+fpqbN_Jq%g=^7CXm4X(0X|7wu{tEAt%iYUplLAI<$!eC2&MxD>?pZ^5upQj^P_qPD!WiR;2 zNc2;HAp|!l$qKLMX$DIBaS3Cem}GI)Ef#Z%-Ss>NEf2RI$U#1emb4s|&7&c{ znLW$pseO;YXHje0kmq@$G_cV|Zbfz-)e75aRxl1FL~w>FnJ@!`cGr0hmi;4o2vHlb zo@c30c9YN5adOrdAWxb9<)M z%SJk-7h4ovW)*J|jvN#d8y3mSeR?g8#bRPVbAjqw>vmuPQ%-&E>%2 zf`tCoSbt!I-HFTIFoy^YI$zNPn%6MG{k}!5NF{Q&;<~+ZIP;1m99BzrTH-l<*>FC_ zTSL2$A-SzLmCSu@gD&ADwCn4YbLfgl1yPdwj2&NBa=Uy2Wo#f|N~PiQR2bZ1_oNu-{Z)%@;%VgdZi{98tp(fElYp4*+KJkd6oFVh10+mbtfG>( zK{R-t7sm60BIjjNPL21w4`8BJPxG=iM^C|#)g|)LeRepY$R9mXi6LVbKk=uH(gwXF z(HRB5=gDXVWbu~M)S2qwENAc38_+8zQfwy}M1KFTsA;-z`=89;M7O^=74`qZ@jDIA zt@4zAJ=l7cHTHB|h=9+1E{X;Q3KsXT>t&1(s8YtyR~M;RTCnb%>T!7MS3!(`yw5RN zWXl5&5^F_UQSEIzw?BaHzV!2vvEIq`^hL&7%K@8Q)7%=6166S^^it`f z*a)K_QOdogE>5fLL0*1*&Zlc(1fo2VpL7W~%_cyBwS^TPOE(H2%fe*|6G zcf?*7#^s=IkhQXXbm5NtyE@)AQo1$*k*%%LPA$x>LeP z+h(RU^X3H_%9GwXNH)m^1^?ukRm~tbOw=BTy-N*KNe$C|ded!Opk!JGS%$6)sy`w_ z&?f}RB9;D4dgy>jg;mq9ZrXJ`Oy@VZ4u8k~@rpyx;*T-1m!Q#iM|5i;V1oq}5_v%_ zqkv0=ezX(!^$~@F>%}bn`?Q?0jOC}*-%v@%3ZRGkWQ+nKMvgQb<)Gg+?&Xj-+hR--VVmLQV>HVzB2c@l^FX26pFm&iB zX+mkSql5flUg{0CrzS^j-w0*pDV%~OO#R`y4IBG&T7}VtL+lgijdxlLt=&45X-j|W zjrnP#_fEsP%IM5XVSNCCu|3jRtA)gLb~-T)8qQdeCe1)xB^ad}pQd!9>ceR2o{C)L zJ=?2)Zd1}T)VzNo2Jh#Aq0>OJ1b6~YrAB?rJ~WhLffC!TOPXzBE`T?Q&mc6E*E;WmlM=p@5bC~L5X9jaf^87Y z1K2E$tV+^2g}^zN3zJQf>`GnFhglSU9hdgA?o=Z4DmQ%6k)VP3UUCFMD9Q-nVUFKt zgX1C$*@xH6iP*6qb_Bq zbaJfYt>-y_>W4n=7VX2vh7m@zsx#k3+iEK)t~~`k9o^t#^7o;FV5?*@Dm>@LPr}Z4 zz(}iq(dmC%z3SgqubM@4dFD?X*U5-J$fS~B7*Um`5baT@w=GvKp2?%P5|@3qQGICY zUqNv4FcAJZMs7c?FLOjqX%mf0B~$RRJoDJmUXMNuCR}Rgfis&zK?j9>he7~HMdwqHl3kR4uI&y#w^DY29if|3r1}$COP$ABYJizRY$2g3KCOOyLQ$Zk z8Fy6Mp%zZ>=nu84uF3{_A%5?j<&z!Zjk)j>(3aCe;%p7zY(k*Dz|F}@<#{p*2Y_&keNUSw@BWkez)(8JxDxP4w|KnT$xC+>j-Pg`BCwbuJ~kD$D5 z{(b3hP}8>j)Wdu)oJVnmQsEZnDEYJZ4HTroPzRcY92l=kd{Q2X7=grYAGOi;*eNxI zI#w+l^Vzno$;H<{9MRFX1S0ywkQ>;D5QuhhBCw>odkyVq3I5R8XolBe0!x_^P6gBJlUV|ms9bMX&KqQW0bAqM^r@-+m8HXsJuSD{JelD=pu)C#m`&1O&Kr>v>Fk zqr@Gmp+)p0v7wV0ZH9bO)-ZD2l}t`1{VsZPdGJPl^CmcRNleGHwX{oZ5IPp;362c4 z&tb^c?AU|08?%spHk&~v4_|uR4u93pV$2nnN-KTmX~>rgdPUU@lECC6(}Hx%K6J^2 zaCIC8kZJ&?SLqGoE3LiAOa* z`G0xmpWlwD`P@m+Q`hm*dbcjGwX^k?fB+NCs;th%3lY;j0@2{J)g;o$ct{g?T{IqS zpuPSfXhqUu24QC6v;`BzH!KuDCpkPql9(6~8w)i`}@k?LJF+!#*x7CVe=@)O2SMQzyV z>XIK+TasYcrR`fmhhxJfV%Cw65JZNjOT}KImp&Xj&jWD~bCD76<%*Cn!sq;% zGzV>usl|LQuA6)`*j+}5x;l!y;yRXUbF_T1eai4wzvy*9Lo zN%X4Fq5ULX7>x^dz&NVToayZ8IKNFX0%(I(A}|=DXyBiL{Q>SG!{io(W5B2q7Ym0} z{$UaP3)Yuj5+zA*?KLq0+UFzJd#zWQ_S=-25|zv}Zq8V|87R>w+8uC&*ddxK6pOih16ut59Z>p`UgchVWo5*}aIn**kxVYehtn9`@qD(1VXlH?XiCqsnk3+>XTb;_E zDV7s{{{jGPq92k6(Vz%n0TOW*lgSTJ(BwpW0mg;-5kdi5cA80`h&z?$lNFmI(1T(x z1}@gVX-KM(mGM;_XKKxnuG50DqbjB;JxYxxsi2G)``!i?4s} z%ZO!U8LOO0TQVMFXg_Oy88JS_XU=X!GIqb}xkAw8y8@fe$*66_eG6`cWZ1rgsJ(7D|+t-b9;n$G8o4IT)1Jx@D!4U&bdUnK9I@L*B8_W#7!OO zyiWP^L*k%5Ndzs>nGi?=?Uj*;*vPHkdp_nF&hcl$=hFJrjea=NusgV!87WQo??xpMbKxSM67NHj#Vt z4s%cTnqa9}*+E)C9?%b@7{#(c`5#Tg?>v}n?C0Yb*F(ao-7ha1D6fwI&p$BR8S31r zZtjT%B?#8YaX?_2FX}~?es#AJSpQ!m;Q}*6Ej!;>V7#DeD zZMKEki-1J;Ah$6QSfIAYWT&ZHB}-xmflZ9Dh8jPT3S*Hk zkye!O(-`#L9T|ZHh5ut$F3ItRHP=tZo=KFVHA+Ae*g|kjE8u>J;1Lu8Z7~pDfTmBm z%(gDw$n*EH&3E*>+1U?v-@Q({wCM)%eJ;G?D8Jm`HGHRh5mby)7~C^MZxl2!&{e#{ zvo7nm-NdQfcB{pr{}nO{BAPt|5Q6og6cRWcz1I>I0)=+T)NevtFOX@!yYV(|MRdW! zv+3rfa20+03Bp4{z?%xmOhGgpfgb#+6c`Dfzu=|-hGl5JT~XuX>Baif?s2<+ibWC{ zNLAdf+y{mCmk9(|lcy9B`tn^N5QDBj*pS}6k~rM@BUwDJbgt!5HucpYdrep|WdDcP zreF?l`vU?3UgFy_EgQ0{d{d5j=Qa=GuXwcbI0pU@4d-1-(iZM9Oy}H}mDwpeo_m+i z`pwzJwUgvV^xM^C)9hbphMnpzM$$skvtZ~t$Y&0PJ(4-~o`>*GMi$RnJvy3nJqLS7 zyr4?3P5pNzc&;3Mfq&G8+ruJpZbe~9CtlQJ=pBWFz|U? z7;HsTYYli_z~2ugB#>cI$LW&8(SsgU0u$u*ZoFav^Kz3Nzn+@)y7#G4r;Q2|Ih|=N zRxrVFf1;D@5rFTJing0Z*otXF>X4m~A(^BCu1cl&PaoKQuYlux3HoCk)i^-W;UZ82 z*MawF$%&Xqd9iniBh3j;Xh-Ji3;vZiH4JM3fZguY<}SoE8kvjwtd;aY$ci$yPR#=1(W4(%qsmI^+T{PeOu^gy?$5=n01P0cEG@2klV0=#3OJ1S=9oA zaI!h|HiyfjKS(FT@Th&;ho9%H0LSkP%MQNNl!A0XXrc@YLcE!UN;OTCi(3KAJ*f#r zY*EST?%sY5+RHZ$@J3zy`+&f!#R2dN(|bWah=b_SfvL@ZkGnG$=sBW+ER080Wq4>y z=u2j=+FHZ;-0$c12&(_dy%kL0YQ6T<)wJVe+3|=<$ zCyaAiV==(?V50_D?ki375_k21z?f+ya!^$W0xE=)yF>EtL40adM%codHHzQQBqs*Q z@S9J+A*0p)q)jg@`8_;(Ag(Sa!!PT!xa%tf)#vpR$VaCqfIs;Tn4~Jzf2Ap>HidHd-FnAnwoA1)8kbU)$UD<30EM zl3RuEH+IKO^xbx#Rhp!FqI)=bErsxKA`bZlRN^ACCNLd)c4EiCbl!^iI@+DL<9f_* z4ETVQxx(V=g=c4xKl?ntG1;-~MP{lEwS-Apm&Z^i!bPx4D%Os=bXk@q2|Azu==CVR zD$M;?!7&4XK@P}zCJO7r^Mk?-9y~>ttY9E0^|wz}(+}hjQlwf-;+;8HoLz+(eaq$N z^#Vt;13|2v>rIjOgIaw7QG{6Kps!%&!4^yxvbd${Z@ZH_OsUoji## z<0;D^H(Cz~dfKnjaE9Or2PK{MpJw=7hS8~po#9G{nvF-JCydSGbpUB9eVy5TX&sOD zq~|G+5R=L2+dJZMz!(OsUgb(cPrrCNsB65uUi3A|QD!_FGk2Z{aQf1e`|>4PZU_55 zo48Lbd`yAWl3w8YNYvi%(!6MW3`&Cl7iAg`_%4UN_Yl>h&+D3WZ(g$1^T&sr16Sdil`F78Xt-L;$=jjxy<7K=} z(vcAJt>H(8+EoD2sH9mAX_JVBk*lNX_Xr-R@U>CGcZ^25p7(6TXza<8ssJdv@3wE~ zPm$91c<0O@#OUF{2c+=30gKXZ7vuglpxM6HKYDx@$==kO&~jwg>I)}>%q8*$?BhWV zw1i;5qEX_G<@@tdIm5%uf2xq%v8^1#1006HK94BsT#85WPTB_0*^&b~3+m3OQFe&K zB6SpK3gq`2N@t~QhO{;e-0x2Ja(yc9A0qxuNk{<|@!|(kxWQr=o;rO{q9TTD-4hfB zNa)mkH*9(8Pj)O$zfch}?T=}7@HX5WTtEC?ONw^Yjbj(p0@RYek+(~!$Af|}*XRh6 zx{w4L$hj=N=VunV@juGr!?Whf0GZssyM2|PJ#CL$g}&7w$5jjJ80W^C#OHW#_v^w8V3!tMNYOHud|({OspvtdThsM0h^HS4R_pw$TZc+yY@)eQ52kCvJz zQt=~{RHq%^d$+4mkG{+A4F~eVQ1gU0vn~XEC!%4utUzvz zA6&MMAiZ8jSK(WR9ba*(Esr>HKcmrFQMZ)NF`>24VI(my*p!2;Q1R<`2%HH8dS|*S z$lf>mll;alkAqCRtkKAHhXMpk#_#OL@9Zaq*l z(@9MMY@5Io92;V3;ob+_;C4Jkxmp8m!IgL-l;eRtNOzrkUp?5d;X9Y;cpoAOaz8{m z|2-)I-28SWF~)8b=!?UwPulA#Lr_%N2mT>VNOPXU>i<*Hhwh>&2Vp+_V(;sRp3|us zz(pnngl&Cy>(5q$UOtUAFc1tJI8&15IBFp^3LA3l<8o=$I-w%41PEGMtX)!b5mPy5_-_+dlHXQ;q!7fcmTYJw z<6S(e^2EO2ADeT0a=MHXlNYXI@5uL3AHC`{K0Ks_Pr?Frloyar;7yV7*c zllIA?VFDf+Oi%CJi`P`BdG7}9qzVsKa`BErC;JXsVm@{%7~zE1ahI#t5655w9*z7J zPj{9Nv^FJtMxknQPpo-d$uH`@QSmyL5VX149g7O$7#_Sr+dAm@_XP_&+)(UrNUCGYg{-I{?VQ3+5+QY}9f&i-4el+Ewvf|+jX zaZV3s`$o;l=Y)AFCC2jmFq};6@(BGiqDlpF!oXnMeuxSGcoTm z-G*t)_#t?WV@LC_@|bNV<{lMV=k{!o$aUK@)nlRKA-cEWDRb+(HdZD>KB2ADMOHusRiJ3l%SUFBujCAeFoW=;^p2$#}F` z#~z7_6W$};ba%EU8xcC^j`Gh{LlCgqBL#F9<>8}&vWxFmJBrn1suPeCOVT9h>K8;U zf63*2>(|%lc3aN3f<-lt|K9}TdZ>WCSH?XfYw}uGE_O<}>mHZcrV>>C1(qMKlk0kW zzcOCcVsXhk3c#y58-~>(JO7w0ylbhACsI~~;^l=XIkUieilr zVzlG377pXXYR4Ee#ptDp?g_I3&?efIEi|qd7jD5)Eti2c8K&;`@ymqUl{48e8hVQl z{d`x4D_#hel*drCD-0mbfAdTwdgUP;DB7%QkAS4obAFaGqy%Kqyq6wiGiKEBPsBt~rWKyx?vGPIl594`~k?D^sDF;N>Li$dH#Sx+$vkvpL| z*>$y!2QGVDh|oK7D!)f9{~C{%AvfYaQoQ3=T`&=3KcpfrR4o5)h0R3J)=KWATweJ? zpf%BsyJF1L;`B8;Xr!Wp?rcZ^dq?=15m$^^)FVAnYSCwpR$Ad ze@?*UdT|Lz6B{KVxK}4)Nf>yJ8i6{3R9xCYVLj`lntv5i(I4z`oR0Wp=pEy`Q`YipI1yD#%yfK4?YjO@#5-hy{V!5`{aehzbu6l-oOkXZ+e$G@=*uk*Br zO|SDzbt;c5CGQ@t{^ig4DZKesNk&4^q(Hh2%%LdsCwmFl>$K*yAR}EoD+5{Daoo4%+8Ai4_>-}Y1 zGbX9LVI8xD72`3Z_`mNmLZ>=$SGQ9Rk^QGX8Zfah(6jn?Sr`q|H zf4EJJbgA6+$g=`qzff2Oiq0Lsg-kOgicEN}f7kdk>V3L(9=D&YRRtb4!78VlU$l{3 zHp^BD=-!bEYddIUeFZNS#?e@3#VwOo8_7FGqH;xB;#w|>uH*rXqnBn%VMQBm^16ll z0yx2hae>EY>@q5sjZ8DG(Zc)Gin30{fzHDFRprs=55_NBYID~W<9fuO z6jfJ*yf8AnxLu00;1m09Qx*qbiNq z4Wq_pSmnM>ut{aeL3-t8;e%ZR6|D7@r8f!_O3*{?NB9ll1*!RLcV!(@r5m7NDF?JK z9Wck{doy}5N-gv_|EaR-xWAU0xcKELRaZ>D%2t3B%TEfIxv~FZe&>hz<-g`Jf&kfQ zpVbEdW2VxOn}8E6rB%1pUzyls7g5Kbc}c83TPqnPV5tunyG;LwueSh-t7#gAaS84a z+}$BSaCaxTJHg%E9fG?B4em~m#oZke+})Sm%k#Z*>$`u|UtP7QX6u}pKJDGxGb??W z|3L+V{OB#LPRfd}lAh*j?(|vbSG@eJt}Jhn(>A9M;VJSXG)DCktA(kt+~BUNm%h?} zau|O(>JPru_3ZFJ;jfe+`Q`t7lU5~;Ip z0+h}V%^Aof&%Y5I1OZxI+1s>&2VZVDKckIQ z*WWm&%<6nS6_r?k-M3=Ch<|aL1zvYLEIs02cQpJf7kE#Y!OTnVn~UQ|PhqB2t;4sB zP%*s9+vD}TtdFLq9*vV(;_r?b(9Bk1@`El;`(hu6EaP2re5rUbs_rpBZO%nxMw#eO z{zqN4joLpLw^%|ycm8Fkjnl+VSTQ(nZq>WzZKisH>aae0i&n$(>YApB!Sh(DrELO~ zw?W*kSE@(xtz@uDK+@Oyd|7MQNz2!2&M=~li%>g2AL5E1JC-ZBa=xg<=lmGyC~&js zd=lCys90fGYlRRH|2d(^yVG> z-LXBJ+a?SnI6HB4%V0?v+N;?ajF3TB$21JT9xDz5wJcn$3`u9pZ?v}(Sh~(hJ2D<= z+J0`mp3+@fJ7)ACTe&ede*{K>ffN5fcihXTgTZJ{%@?0VKAKW*>Hpo7nq;?PP+)-m zBZz%XTTDij4Mraw8F80_7acxF5qFrQk-De6ylrOt%wR_F&F5*`%KME%KHZ#fY}nY0 z4K6gkKbRo|x(t)dr2ID`Ik~gi>exko)>EhB)1>cRQkB{u z>X6zlclFC;Jk;p}6ti_#C~_hDfPQokr8vGNW~nA!VShZNAu%^gjg*k(JCDIy?&4M1 z8cuDTiP=zgu=~i_AA}N(ZQGPLvx#_AOI*6kLip+Qv<?SQkkUcLDgFrG z7$}l|Vh;DjdF3e;$CEm6PsJ~#?0}VoB>C?4IqI>_oh;k-y^D*k?J{sKZV-zH!Xi$1 zV`GyuR7u=e7}T$<1b7&g>l8%OL1Vrlv#@Ju0y=tE?V2*_I4#M_#=F)KF=u}o=4eiT zlbojzv;FnXe5MdDc?+`oWm{A%U6N+G-!us#l?kBK6kmKys}==Z)ZwS%}JL+-nK8-=}DxI)sY4Fi2n^RsV` zZ5q&7`wX2h!M<^hZ>EO&;#b(4wz#v!ljQ5~b~ zq%QDz9YCm#-s(0$y;DF-tLO#wMhtIC7Cn(BSx+5HK!-K^P@2emD(VU+Z%%rnq2 zrV$uhcLto*%gFdn=Z0X&{wh$aq|$CQNdcL53Ymtvp4NGUHhFNTy`_Jt-IM%YzVk&e zwpYkohMNp;LQ^e+xu@2Ev=du|P#vZPJ0fdzNOT^Dse}UiIInyl$MAYD5O}MA4@c^Y#vgiv zXoEywGAFt^ti#SE%Ayw4ugGS^0I0-v8I5^njm}=@3*x%`5U;))qqF6MkuZn*X?n72 zIWZ>Ej_{5kGBvlFIBw!fnFzNq);7hALZpm!xZX3)0zt`_$ERK*FK*mQ_skFv1G&|G z1f08~N&%Y6IoUZ}EJ?mIX#)a_(0-b}bwZ&BM&)%PD7RCKp$O zk?3Ftd@9Dq3~y#jAGbA@=Do?nHcChkv}Xm^e<-)l$@w1PpsUh(f7&K0MZ=t^3LK;s z3=)y)0W#Ytw=)2+T1(v!a4v>^Lh7x4dr6OQw|xtj-agGR2BBw*nv+0oUjSFew(?s= zjS2~D5m-~shr1D0y?Qm6c%kq2H*}C5!RLU-a)gkm+4Q?vVht1m`9Oe3kP0?lDAgdH zSOwm9l8Np47EQU@wl8{*k>LLO>>Tjx#DdS62GuktE)0O_dNZ2?B@tS6lA;vl^2OlS zFOTk|a2mz*+H0w!*YTwSKE57iA2z>^owP)U6~(*iVTXPGQ4D)aleJ+nwX&{Bne7y= z;^rCYX|jw*tW7zghOMk(;MPh3&E@ygUtjq<#xl4zc4z+%9nR7NGqTHQu%)WHW7Q;T z*{;M=1X*OClGWAGJ(j+=d}*)Q$RIIGuO>`{87;R@z@yL5ZlKkjhd4ViVzn=MJ=vZ@F=l3f_$AHY6pC{gz0glt*6f*6ruAeUAD?rUiuXOI3e z>3eP30&%}G>w~QmpL<0jp|c+P1Y0CUO{li@{7gMI)md|!6G^{n*T(Vt>8I>s0jl1V z>Vi+nZ1JYXGean{cCb#N@Qbu!(&hrQ6_MieDDX-=sgD*Ug0FWYy?^HD5#CO*>R7(0 zCA!U{w4!4CUWY|r+jNChNwNm;k470rDNg>)3qlE}bn)KZJ7#>nEYfbTYPM;rdJqC+d+)S+_1e!J5l zxJ@NOo!E}uky(bfN=@&m#-aup=!oWrtn=Py7<0q z#zeS;YZ6twTqaDNS?6JcD)uPw{CQJt;Brs!_5Wi^mLY!evJK&>u`%#`Rl#SVqZY&D z4wz~@D_1bhumHq>|Jb%%T1cDWO^K-B%MNn&|o3nM5+QMaSuMZpx|7!oZb zYLiZ@J(FN^q&$;rcfQ%Ac2HI~j;s|NrcX>s!PK2Z|1B^gaV8*+A4!y@X(YSXsuMUn zuwlvE_A+(0gXQ?^Yylg+yEpJWb(A#9i!oGD!tX>$6ATqDDnpsHyg-$%p<}thqb>iq zNjPwPxUub6M!)kmqkKobAe7cd*4DA{{lLT7@fyQ8CNWTx3j8r)Bj#Rl@#qEjFWvLxC&Gj zUA@)n^SL-&qaLY_l<;$N>N;G6?{PJT9gt3PbIP{ppJ=sg)^&(CtY6`t%bfDAz%*gtjJG*hU!6N}}O zjaV&Vlt}Qc2(zn3lwL%)37D$1pPCZJOQt}8n&X?CIs}h0x-{^AfK>_XedUHHk7%J% z{p=k=pByA5*@rn@^gARdX=qci{(I?+Eg7|rxn6BB>gc!?io0$~qTJuP>w>?k zZ?1R~Q?0^4jfaR~uEMX5AH+;?xXiZuhslA_xC$X_QQj4J1Bx|^Z zlO+;~BOJhY(qv-qVF{(wbL_UQ(c2LalADcAl-jZxr%dfbg|e%*yg`Z9BlQ}+a@c1X z;V1+Uk@W3X0ZFI@*IgR|MS}_DwXI5a3T^@)kP_hST125bYL^Fob4#qQ!l~dvqlmMl zGT?%8-8ohpiia)6>OyfT4i~@{p9gwD%1S4t)`M1O#hPro&Vwlcg(#5*CwL6JA_SfK zXpZEGWzBbraMk^u9XX>H=>>G4E7)wxMQ|jo7&2RSi)P*Cmk4&OfnhVPLdX=&3DSD3 zE_4x`_i?ECK1xCD`!rYS*0Wg@sfE{W4a6T28(7f>>hG>0P(vvDa&sh$9hN=3$Kg&D zD&HO9rb%})16ooAuiHQm5nVsB59q8R3Occq;iM7xGZ#!lL*g`>CouEzxql0ANeLL> zzb5RwEqN-bgRU*=2wOJLDJ7h8pwPld)^-8N5OS})6ww2+kt4kGdJYVYET+QUsg5YU z*L!&7Wc|kzGY%4=SkQg+WR3_KnEboJ;voaytHaUdXc!dSBCT|O9NJjTu65^v&nLVW@&z~t8%5q&OwQyP^yMD0-#)2XC%UXd8Hl8U6H6Q5}U%G^w^7Vxb4_cY{C8-z8x zW@E=aD4T|QZ3{Ec)!R}TCUdVs=>AyhrW7Y9S4s7)!s7_o+B{NAS{7!-zC+z>``MbY zJAO3B7sd_d-SK#PD}81`M8(3^@5zLbEzI%>x;i31n_12#-L9Qpm((m1a;^kr9dhmd z91A>g-3+)N4zCZ)S|dYay)euTUGCYV-Sf+|@kj>~@y&o%kzs)|oFZ_FdiK9H`wY;u zT(#x>CZUYTF~!r3Q!S?qM^icWe>hpM?;N{bWB`Y`!g?O@v{-~RjGn>)YBPh1aM04X zy61CbWnsg}5j1dv^=oan-AI2|JD0aNoktG{#*YL#8dL)h-2@FD$ZW%^m4aBK^q72c z`ZY>40BnZ>X_Yqd5yN9%j$ViJ9|ce$6vX@v`q2nT?u>=c;oUSzGxjhIq`sM=)=X^W7>=Z>UuRGUUP z=i^;SqRm~)mEQHv4 zqDg&pc~bAH4vd^3GgRoTg4h(i7;YV86hwl*iwP-*5I-5&WlmJqkMe*15m(kj+o4O( zSqQ$Vg1Mp8BK>1&pmr&h^g6#1+`oQA#bAkxL>*sLEaJdw)b|SUkPkQ0^YNp~mY7nv z_d!SxGD^TTjlf{+S^p%9T$q!)^Eb#z+1ZSF^^!+im6Q1{yHts+J6g_(z{B^ZD~PkP zEW?Q>J3DITg0E#4()OtxpBS~7+y{wX{WtFxv_0Ig@ok;31~R6*aT4>uMu9sL>?Xtmf9XgTh>F zrdUC_fVc}%?T>vEk1)kCT~7WZ;~c`e)COPUb>_KrA3GZNe(`#0mJ4&yx}`^n?}aZm z0Ru1$Q^gGnAxz%oT3u8b#vs@g#qZkc?FBDR%HQ9wp`3d&uC^|GNv$xk)7JliXC2p2 ztPrYEDu5i@FDF$&c;E9=*|U?P&++p>NF5NJFP#i;Rh5_q0*dh(GggEmr>womxRi6q zCmU4<|NESko($?{`JT~BHo>?aXjl1Rt%myW?yG7qlE3uYW?C-%A%anp1K=K9v|zkX`h@qEI8^ArT1i&D`&k1d?HRYH$?8Tx=q<^~c0@GtLbj%SuE; z-~D6z4_nf7Tx|*BRRqmJWKM5NhhDtF>rz#8TD7V&yVYc~x+Ll&wEXg^2(Hu}SHuf_ zdO;0}F2M2VYrCiYRz5+*NzfBWoU9a)jt zov^d=@(3({ZvFhZ-qeP{?lck|7SP#DY-%F**F1SA)E}2&U1#iFpJqmo|D6#prnwK4 zL!iCwFiWkOD1*g2uDbcj9~R?i5j~mAk#p69!zfX=$AoalYhoe8L&)C*E=1^N_-=|i zl0W#{S+(jX(bKOIt05G!?Lh!^Y7I_5@+dFt0sT_zNJr2#qb1pSgH_+#kX|ECV!Q3j ztTZh1Y&@BS5PCND0lC`OB7m3US`L%V1I}96{jHvmW2>vt0w{s=7G@XncW)BkE|pGrJG&`zpSA>HQ`XCm$VxKgA!^aMZ=p{V?XC% z<^!nqb%uX%kwh4iH5$DxMp}}c%1i$&%UKm$rN10Qr^kB+ygLHX)Fl;VTnTQel+Ep0 z`GKZZN4L8-%3ztV;+6l`Z#cisY!E!P40l#=hHwxdNMV~m{lRzAiIq*DS_CxCVlKl% z4!!KkK3?xF2)}E?INHh80$uUW43P9gS?p*q+}w`CRpjYwF27&)+xgdf2W(g}sh%aa zLHp0$Skf2cWR{j2x{i&s#7^+KB$n{aP=*WSw-dUY*bI zDc{g@j3FUpW=q#u8%o09!($7`V8-9S+!GlWe!I{)TGe_7m}#ER zsjuRA{B3tIc4i`vm|x-=2u>o`oJ$IcilpdSz3g8k5qQZi$PM4k2-w%CX>mm+GuU7o zDrUyw)xh>d5X0h^_>4-R=q^^A3F~jaJKM?eeBk&##02O8?vS9a1HBM7eu(xNR;R>X z($;w0t_vpzLMJVOXA&Igu>@ z^5Z_ssh12pE^7%6P9o?>F!UjS0M@T|@t<$o{~9*H zvH`XrMtqL5R`rXu&s47^u0Zotrlg>A?j2fgSQYg4S)8AlQD4y8SDA;o9EUk*=w}9* zMsL|jJr?q+pUjkd9#@%u{;yI7Wi$$Z67(LPV6Z8b7rVfGd~#8}HuJ|`+-D8^)*`Ik zED|=Nf~GHT)G@*Xgaq?94Ai;4I^BzRg{JsY`SbYlSzlzSD(+h~8z1KQYT(H3Sd+4j zmhnrhcGg2w97a=|yJoUKHnO=x2WOF%eL?fjd}|2qU@l%|POpmoOp+q(eEP~1)-Wud zxPP2mVGoyHS{*^MrieucCFTi4CRR0JpY7(RI(}U*T~BWsQxdqVopL!EaP&j+TeVeB zY+cvRyYQK`#D^aiXZjg(&AaGf9Y$#MlS7@C!>1i|Z{?6qx6Rs(Q5Tc8MD{4SSPVHZ zR7&)+x5F{4qC|B*r^HUVSm=$@KI3JLeWl;yc&Md>^Ac>;EBY)t=nS!kVom+US$|Lf zHuDw-i(Ng&HW?wyTgz!=*DyB`1nkeU3Xkps4S5*FWtv?ln3WiyDMJ88hWj8ElqQllm*u zgtYyQku%i%O)${*^@t#*a0R@0I{dvYc*+}w_@_+h=T%Jo_P9^j^K49qNeXI0L$b6{ zF1>sR!fp?wQ(~*{M%O$fi1VBP#j)EGh!%rORj3xNbIW8=0WKySij?TFlAjs(Z9FB6 ziGkOrSLy%FHmGF|z_CMt=k5p!n=qJ_p9$g`^6-8IqGLvgi6tj15|dlH^M~!~M3Esg6 zAm-GPw*qxhCb=Ruiq12h+>jVyZqBb!o?HN%$a=Kll>;81e0v%8KF49KS!~G2E^1k} z#p=#~QCL}feo+RvC2?>CQCai@Xz&fKgH0Sh`~xS0=yTiqQ(B5kxa73l--)|m<`}{$ zsfMgZ6j|#+>{#)V@TP+(L$yA1dybbyd9YcB-f!Q&s2Zk}&OyS470ZMHZffYD7-zX^ z(<3r55=5G}&d3f4|AtVHTDU7l(aa6tz#W;8ExWGO7le&kJh)cV)M7Ho5WEtp#$+rS z4voCsvBNYe0U+9PAG3Pzxlye!oZio=&}@JPGqf zajmaC${>lX+aIh#uzt4jkXnPShMyV+{f6kiBv=xa@*?)|9_myL(xI}<@%GyI&q>#& zlKGt}TK#5dgLDk?*vD(bwUM96sK|V2M3(}@NUPGgwU@rxl=GbG`|qrLxx@T#O;e!~ z80h>wGn|ez9s`b?_q;3Ce`|1Lv+6ACOxh!(UYC8*CFN*f51JT+-)4VcwJ__E`1#3wmm1Er_3=SGUEAiz3-2s+LYF{Mic2 z?tnfWlPB|6g38z!iLTnGzVgRN-<6u91+5JqXJD%ZX7>+4Hx46bga*i8o(T5X6Y5(D znJfH+zMt9h&Ob(mo#tkV!nd;uFn42C> z&}}w*cB^#s-RwpRUkO?uyww)?8vI&oURPn3Y?dWnGOx~*3hzuVD4tY&PmnQ|>T)Vy z?L+zTJWhL=1Jdc=@^b(y-ka|`-H?gH&}FP5Lj`wZ%aK%R!ZpR&h<6e@%B(5LY%^R2 zdY^oA9$ug6eG0%3`pn}`$Q4Ie#}62KLLgpawU%;0JX2k>-6}XCu zZ2w5kTZ<0*ECXc`##inDXKm`~Bod?abwiZcVqyDi2U?ER6<5@MH@v;pCS*lHNyH8@ z95xyG`&L|!4CiR*>P4H|`)7e1s^@jJ7rsU3p%{4Bp?YGcLG#TB_vE4*$6BatGN-IM z&-PJ_6YMTrP15GK6>WVfHjmcUbYi13eh0w^3S;VisgbApPd-ERnqiNl&aCQEdK;D2 zXn(?&UA^BaEhLinjO^O1k)*BSH(aoh(J6yuNMIQSmGphHWb-(;2S1C> zIKN?!d8-LU}iq_o9dW_H?A2C)MA%p<#~`R0h*YO@Npr zs@gz{D4si>>bpVSv$%R0g!G%BVxypNkK;Py705B8Dhf{(<0ZF{09ZIO+eK9>Bo~k~^rJ_8LWe`0TZqSX>l)5R+4bpI)zB{(V()Y@b3c4rkm4+EH>7KS@GTA5!BZIvC zEY4@vQRj~O^K=fXMb;zeJ(wr8;GO7b|E({ac*HbIM~Frd&C;Gi5Q}U)j7jr-{KDSe zya-XU$f<2X9(>OKaT-&?-BZ5z!dHX3I{N~uGNpQEXv3MB$x^r^x_*HeU^}HaOOv@C z>T=-UB_q9n>@Ec0qD_EbO`HB%aA!>@?$1%Qk-!*b@;*E&fi~~_eQnR?=>0v4b^W(T zj$)Y_5M)=GNC|tuT@I~)jEMD!q9w1D5{o;s6z_6-)6%wtR_F6t+ZOPye$x0HGy|@B zpgvef5muQE?wuer*`x&!bM+5fmuTPvD(8Co>-j%-zwfvU8%ovxr&7?N0qT!a-Qp$UNX~I%2jybCv%dy`GKyccp<*9~ zK@O9wIBoM3tGE=g(4zHc9U-D-1yJ{dYB~v)5pY|825cHf$`epg`tun@EF8y?irkVz z(tu)+Gl!Q%z}xb%eC<&zq3-Laf>=B0x<_5}so$n=qNX`#nJuYt#<{}}wSxLR%iSUF zx0~@V)Seh;ge$hoItSHemm49^wdTe7IFzLgxN@{2e*=2AV|kRH1{n8G;f1=5?Z;Mg zz~^y2Aw;Cyr3(oaE8nS=5On66ob_%c>|SIN!@5$g>yOYPcYyaHh*Qs2{DW1x^z@3*I-4K);-6nAxf zNYt3=2A8>M&I+~Ji5SNn_^k<$;!Rb?ByjomJ-4`kukA-0PgqY8q*J9`1pd4T?4EEH zvNT|{%;fyYB)y6_yw3mN6v){i+56Ddi<);|IHH@cuZFHFW?N~+MjH_qSctTEv)LNgwH&EWcXR{*Uq=}6Ju zf^V8Op_aLhr&dc42#|e+xPx>VJ3ku-bf1sZ5csC{R2Jxnze| zN0m%xF?$U0xFV27DJUfhYA*r7t6XlD5&WH8Xn3L_J}9m9Du*LV>gxpW$^QZx<%ZHn zQZRzAQpdp`(oUKlI+>?<02U0(0QQyMN{s4lU)4Q4wL$rUt~_3ALN_|L%016F^|B_r zvNqjq=s7ce!&4{o#{NuZ<@DR>U7oKO6PY{k`5Muo4F{m=f|aEnt~YC$wwOEZ57zxVJ99 zOHI_DM3Wm6lMku%p4BWC6jISH%JNS~gJAZ;+dvb`4GzUhU|-rldj2x`%<7 z&Y9<1J`T;%1roM{B1-3TEl(^%JLE9nmFDYqQ}sG|nK>E>luFqCF%B005EQ3Fg+B^M z+m*LL8X#7M12AOP#pX$9$v*n{2L%VRrhC*6AV0{Fi8lZi?000o@D$$Q?|6#Z66^l*hF>~%q-Z($r{X#r~uaAzVobujuv$}CrM$H8m=aC{sb?kx%|@DiHy*ctQRal|dvsM)5*hl*jL&cBq1sFkC#k0$l$}4GVyGJyZ9|8o z(Kj_6qnp~O$hB?`niK7fHyw{AIeS$yKOF{kxH5vDTx9evgQ|hTOljb^588L7Mjn%( zSARs)q*lpbti30i{_UH~BVWB>*^Ki5A$I?(N#p~MH3Q4Q&Z*pP9vwNw4)`IeNHx^Z zY3y|RNF0*X`Gta~<3O8S`P9Lrg>VZ!n(#=R49-ec^~-~p@ti2%;_H{z4>>zj88?~D z8sIpnANWVaJ~Fvjb%$|5G8(>A7ksy}dIi4f>%tFij3XU@?QLj{3R4o>$_GIG`%dTU z=5S0&m&ccvij^lHdYoyNnsCKIJ;`)HcIc3yP>?Ca+sM?F#rZ^nk7Z<;Am2(9m)n!? zqDSKnkC)M;CnVhwS<27Y1N3EOg-C?_XI+wF@dStR50PJEE-29eHOWez#4vzI=o4KJ zz*MYp;1AuVc|eR z)K=)lX<}^5Z?yovD}z6aWG`{g6=^e1z=tFHQpjR>yNy>@?(E7rVG_SwAuF7SW1llT zmJVK%W!fuFt~|kEBE*?R9o2X`eMREf-<3(uly-~;GZdA@oV=Vz#K42-?Wc-Jf!2-jA- zgxi%_aKnag>rQJx@ylhOAmdZn7>M@ZoY1A7&JG-F_InYSJ!Z0mbSLm444+jpsT>ST ztSUsJK5pTOP*6^^l@7b7{}^a8I4%jVhP%iz?(jk}ZUFVjd70)tj==+wQp>FVfkjs6 zq$&fL_JeqA=jW{?uIUONOr6d`p0{HF8;O9QIKTKBT{Yyj3FmnUXA!lL2%u#NIDq>? z8?V4Z?y9J@hPmF8s)&1=C>EEK`g5DnTiG20p`7{Cv2@ZR3XMr>5vhqs-*HtOxGieE zSl(JbzV0c8odB~R$Rx2FLt3!90fTP99|&ZXPv&JYX7j7Q2*2+1Cgfw@2SVZ zVQ4G4`% zE^nIyhcgB1%-UhPNj*6OA4I@(u;}MyEhF-gM51qFz@4>hH1dNuP&!c0x*r!fI8F-x zu;G#)pW^m9VU6M-F}VXU#i-bLQR~N^c@U{ghx&^KO%I1M-&b=C z3qSI=+uN;Q*?#!Gy~0S3tR5WPxNg`R;R;pbM%t-81l$EZW1cHItLY`=!#WT;GFiDB zJ%~&dS;9@qIzzfii0X&Y9UEjJg#jZNlABPMU z2Po|!h98hNIGh`9`*I~y$2$I@%s4pfL-l$8HPr|HS&OXa8AoGa|9)D3cJIyF_Z0Z6 zhnej*Qlp39IDYprs=deyn`W}M@^u4?B9Ju2`C%=6$|Lc$0a_80*pyX9SEh?+*gF%+ z5#@Ao__!j^0o(e;JoLI4T3uhB?91QQIM(A!vaU=(s^0Q9(2P08KUD>=h|~c%M1d|= zM#NXRshjDAfHy;zKVr^E#Px9wL zP=!X*x9_&tIkl8k4hXfat$uI%p0M6i!%x6$WQHxWpVyWGQ1yk+erNRN*N_$o`NBWd58S9? zed1PMz@{enR_KAvt-0|Vi$?_=UAc4IJlcYEj0H2cLxz^fC zEeD^ORZl1+ihm-e6H#ndtid|VeJ3caGYm};@z{PKd=-o0)Od;S@haV)Q%@L5r$3}L zk0AG$3_$fGhWW=mgLSiobD>1{4!#68>)~{aKjCs4|Jp74Px`21(DLqFW(nq%?B{PX zn26}2jE44l60ln$H*XK}UpAvy+>BcT!aRUSS7n;9dRY28VlG|57*d!!Pq51DEs%g< z)S3LW=3qCA`nNHpk14Gj-p3BBj4N!Dcq9l#B(=T~nleYwxT&Jex8thR%b<7#{|1qV-ZyZQyx&k-CrOW=9p9;0>lC<{#{x*YRIUjT_KE?g*P=Vx25G>!qetm?(4i3|7 z5!vxs10G|K7qpSr_N!E@-z5J%YeD-A?s9hoO!T%!QH>~cRqb*aI$XjTFV|^vj|1=O z_UlBA(L{RU2Rr}8V|{JV-N)d-a$H!(BUwo0>sM9#-Fb;1K{1Gx7VJoh)b6ir<_oG6 z098?=aZP2i-oHOe0~i~ZA=Z<)!^9;d)d$Jbi24qBe{EP!+>rnINgEzAN=+zEzP84a ztbz+H?Op$wM>CLc8cp1@?2ee+ru9~JZ)l8kh&5)&swWtnTRYdeSy(*S7F9|`tZ%a- zh^H6iMaIFT&eyiNBZ%Ya4dmBUJ*;<@*^n%zdl7i{6;FilzO%A_RVn(1^_4 z{_bMWw^m>0{TXuT3-`nj@vggx#71bny73}1_r>#74n zGX4)g{j@=@9nrUm(bR8#w@nS9^?zwopy>-?#N|CTCgu%L@O}2_KK-uG2;AZTc&1v+ ztOS>TjWD7Au^C)@N;w5Nmu&@GgH9RR_Qlx$mlFmx;ULL8j2XEdqq{su1tq>JQu}Ou z8p22Sq!`Wo%*tT!Qn6~Q2b%VZrmfEtRjPN+YOEZUsPJx*Ec05E*zpNDsSe@Ui12f2 zGV@mCH5$(jy(CJ);VZceg9*jdz-o`2bogMa zBug1dBk`hO#V8BmkCXX>sjt~vT2L@5!+j6PeWW><)fesamf@mIzYY4-T@r>NRhpfK zwTJBCgJKMvEbL*Ds~@8s27{J=I69B%He(MiRxYj1CAHROH9CequCu5*#{n(V=LJM?z>*SSDH1Ae^@((7ToOZ_>(K|1BN z?xMou)p8@Fo8K<~XnFJ2&2Ln`Ku{o1BC}>Q@qSGik+yUpwK^%g#O5oz1u}Yr!YZ`C zg|S5ag=B_N`$3v>tBbH_z#;3UAx9WDS&IrscS2Z^*>df*Mk4YI+=eL3Yft|YXB}f+ zae-@JVZH+|^Q28o75*5PdK;pT+{*R0f^(Ift_nk4aLaYy`r5ev2ag7C3y}WHFc+)? zQt|JQoYC;9g6eTN@@?qNTnn7$TGGSg=}6uSe6G_>YwxtH*vyW{UnJlp5)!zTMHk6b zw-(=>?0-wge(V^4o}=&1O%vmq;l(&pn|#s#-SN;wachoPEnl{I$2+mMyYEU&kZyMr zA<{JW7neMZdOJLZm_>cUzP;DNnmmqp!PcAbqQ+JCPxvYZq;n;!7dmjH}$s5&IA+1+{i& zL$n1}w)(NGv|)uc;HjT9YHgv zt5`z~+itP}i|VTG$RH&qW(e}KGwi3E-^AKl;JFPUb)okE>d^;}gqXk`n-VW06_sxO z2=+3S)O>@naYGVS@=+#tVO|ohL6jK|MG<6ElC`zExc&02OJBGKQ%fQep~yz$DhM@^ zPjBKzsgWSo(5pHZV~7kn*D1oaTfV~W;BL%@CLca;acg(JDf4x>?!1aQO@^Vz<{LvD z>!^61VKl5Sww$9_amp&S(#3XOBOxV^L&o!X;b4l62#UGo-X}>I9_I<(bPLl3tayaH zKJw(+-Tr#ahO?Nm_s|ettN(0SogECjN8BeL@Fbk3KSf*ueA*x}D6SfU>@exF{lfKZ z09%4GhYEz;ybrbNy?$t%=%9avo&o3hF2S$lj8;s9RiHCK1D3_Ys>zO%9hx8X>by-3 zB_>$GdD1(s>o|Xk6`~v0F$4tp!oNedh=2Fka56h`1f3vp(stg&8~K!v-iXxF)-mDy zT24pqfY-+#Aus+oU6Kye>#3i^CmGA?cbTBRJXlqhX$w;Y_q(&L)57P=HdXQx(zMY# zKM0NR@kr04TiK#G}E%0FHCkZ}d$|A^XYuTPvk&H3ie$(4Tmo@hqi;dBC z3$YVLmGvBYr7%FAzNe}V5BWn`r0CRVQ-Ia_`H$;{69 zGd&EJ=vsQ7y>42?_I<*@5c`$46hEb6+l-;Kq{ z^de5Y95VwfgB#2uO}fbo40 ziBSe@7m93ShV-$HUA z%vY*~*Wr-XHPxYs31EVnx$A4zF3X_dm%fI@`(`J~S$}IL|3SxQ@o7UJ9v&iZpX%*zi957{<{}2{8r5p(rmSQ>aeH}F;A?2DJ8%+!Je9})YKMzA znhAmCi~HI_lCm!8w(NGN9T+omPz&b{~vOjRIsID;yZoH%@b)DtQ?YH8-lLi!!*rZ)nSY zmQWe>hFpY_u{6}q5lcqA(rmr*6r8GWp50$QV>v-n5)i-tl(UJb>tyRD7oVbq`Q^~( zwoJr-0eO(P=gIED1k!fI5l@-tXF&XJ3y4ySYNGu&Jsyx2wBKE0QJ{~Y4@@TI{9Z4M zORu`D_qiF$721PE5LDiGqA9>glJ0+#C1JpysS9cYBr(Zrk-)og$AHV& zjP*N3w|8Qro;T)^Y>JT4bOHIknC-WN9ne|q`}v)ms;1%No}>R!kClweI#s$nG{4tj z4r@=lx<3lahtZ7upCtU>bULCL2cyS$4SF6pOgxlsn;CG8l=+i328b?3)4L@&b_9>C z^ib+BZFHWUxB60Kon55#q>rG%KQPsfrnk5EQet37XpY299pHFhtZSR8nm&l!1}jec;|e|%;Iq= zXacV>E5hE5h;Q+Uf^RoQpwWZ1zAP{Nl80Tw58DJrT#6zI+&K^iPA+3fTYvf=xBYKb zga3%Lc)o$Kf*2#?QNJAL>OF?ym*H~9f62V593w!_3)6P=XrYW7B^l+4R$?~R*V0R> z%-;+-lR7b?%7i7KdcbPMi@JHZM;Pbw((>w0mIJE|GNJGLGNeIs9Wi!?R)Bs?{vy@U z6CN<#7KddH=yGtJc{R7?o6j~MF7{L^2;A%YK;fS-;$N}(KQRT5Du@6XF0|j64gY^% z;v89pT0OCn{|F2CnYjTY_OG?JWnQC4?%$prZo}@uh6e!=%JO~K;9mXL-^X)Mvg_&R z4Pu|D*Psuutv@ltlEO|2e{IDce`Lqrm;Z6g5W@abhBE^;#Sd}&i4hW3U2uHi*`wED zF?I74I!;a7x^lBb?E@i_@DE>mG6k%({6}p1Qj5rpIE-9mlPy`~RdsvsZW9+GkU51q z`98fI!z-`!vt^u2g{+aHNp&JLCZ1b$OMSAm?giq>Rw17Y#W14ox2%b~YdJwA4n;AT<|Yfc@ddJgtT-dxpeZ8G0Z*q5mT*U8nU%!74#1 zleRPbP9V|T(xv>Vu^wney7rOWK<;Ht6XmffyCEHUlZ;L7D_vQR8e^!UtG^8xSH}G*%a-~a`xJkGknqNyqV7xT zebWvYd|2F^dGUwhoVWKCFEykewofYBVzT}4{P?BrE7!RMADs~NXvX27RWl>Javpyw z^7i~|cWU|0MJaZtfBdQ3vE+`?G?DEYMp~+qCN7PbIO*E-ZNM>>>8GXzojnqiH2ch# zgNxZuw5{v7RJl%T=J`XP>|3AyHxTyj%r&~q-Y=&hy-UgK`OZ~9!?xG|Yd4K$|Z-GJYJu^4eVC>yPoDbe~mil7e}sYT~{+t z+iTy|X)(7;LcCOgt>!aEJ({H<+s=IO(PiEB(nsE6*3zgKr=IUz^dvg>z#&D+ zpXR6KP5J;_|FTK#TkFm{6OFu7Z^{3;*yOc#@%zmtk43}XL{I9lue&gxt8a_{O=tF- zz#DMiYR}EJjG32s%p`nr$i_3%&ZM9G@l7i|+HI*TuTyHchxhrjS=b-%Uz&BA68KV!QKEjOnfekz%E zwpi6u^mNY2nrS`nqv!tLQX}=%MwHcU zqj`M~!>9ePy(4h4?(`3})An{Li9hc@E=d0dY!0yR6r7Yb>-~;D{-@MG8!4@oGF?@a z*M8nx-2a)N(VK*45t@+)>sEE1;<t?;VcxrWq&PmzXC6i~^ z&hXFsJEd#V?2|^5WWs!pZQb>3Lo&-wK_Q#hzPD{pO$&UwEoD}bL5k>Q`w(Ev6beT| z>T31vbzZI~&jS5@{^_wN_Nfx<0>i%Vb)?D@A#FX1+J5Sy_%O;7+2lawo|8a(yN`mno*4Z?R7HSfj)tkta`0omNLP> z60J=-d1jjU^3=ocUv@WCid0Pbwxw*{j@RqpyAvg*zfZrk#PWpv9ZTs_ zXBBpx-@6J$ywf6%{eP~IE-QO>lI*OXx|Y6{U8=QKr|YM^Ing)sd=W^U&i~+|Sw$k= zze=Y4*SR@S)_DHYHV?jth=0qUm^|f}CV2RWyydp!W1YU!9e&wo9MrEka^-U>&)N97HZQTUibVfXtOfq&b-2(rBQBQ-6!xQ z{