From 8030518fb7c8ce3b6bb741ca0f2f3632ac532899 Mon Sep 17 00:00:00 2001 From: "jijoong.moon" Date: Mon, 20 May 2024 11:40:18 +0900 Subject: [PATCH] [ TEST ] add torch input and output test data for mixed precision This PR add torch mixed precsion golden data generation and input and output for test. . some fixes to test. Resolves: **Self evaluation:** 1. Build test: [X]Passed [ ]Failed [ ]Skipped 2. Run test: [X]Passed [ ]Failed [ ]Skipped Signed-off-by: jijoong.moon --- debian/nntrainer-dev.install | 1 + meson_options.txt | 2 +- nntrainer/graph/network_graph.cpp | 9 +++- nntrainer/layers/input_layer.cpp | 7 ++- nntrainer/layers/layer_node.cpp | 3 ++ nntrainer/layers/loss/loss_layer.cpp | 4 ++ nntrainer/layers/loss/loss_layer.h | 4 ++ nntrainer/layers/loss/mse_loss_layer.cpp | 4 +- nntrainer/layers/loss/mse_loss_layer.h | 1 + nntrainer/optimizers/adam.cpp | 4 +- nntrainer/optimizers/optimizer_context.cpp | 13 +++++ nntrainer/optimizers/optimizer_context.h | 5 ++ nntrainer/tensor/blas_interface.cpp | 5 +- nntrainer/tensor/weight.cpp | 1 - nntrainer/tensor/weight.h | 9 +++- packaging/unittest_layers.tar.gz | Bin 78462 -> 78763 bytes packaging/unittest_models_v3.tar.gz | Bin 837 -> 1271 bytes test/include/nntrainer_test_util.h | 23 +++++++++ test/input_gen/recorder_v2.py | 33 +++++++++--- test/nntrainer_test_util.cpp | 1 + test/unittest/models/models_test_utils.cpp | 48 ++++++++++++++++-- .../unittest_models_mixed_precision.cpp | 2 +- tools/package_android.sh | 4 +- 23 files changed, 159 insertions(+), 24 deletions(-) diff --git a/debian/nntrainer-dev.install b/debian/nntrainer-dev.install index 4fd55b3774..11b41f990b 100644 --- a/debian/nntrainer-dev.install +++ b/debian/nntrainer-dev.install @@ -16,6 +16,7 @@ /usr/include/nntrainer/blas_interface.h /usr/include/nntrainer/var_grad.h /usr/include/nntrainer/weight.h +/usr/include/nntrainer/blas_avx.h # todo: update dataset headers /usr/include/nntrainer/databuffer.h /usr/include/nntrainer/databuffer_factory.h diff --git a/meson_options.txt b/meson_options.txt index de2578cb47..59accc1c1a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -40,7 +40,7 @@ option('enable-fp16', type: 'boolean', value: false) option('enable-cublas', type: 'boolean', value: false) option('enable-openmp', type: 'boolean', value: true) option('enable-neon', type: 'boolean', value: false) -option('enable-avx', type: 'boolean', value: false) +option('enable-avx', type: 'boolean', value: true) option('enable-opencl', type: 'boolean', value: false) # ml-api dependency (to enable, install capi-inference from github.com/nnstreamer/api ) diff --git a/nntrainer/graph/network_graph.cpp b/nntrainer/graph/network_graph.cpp index 821731e949..a7e10bd740 100644 --- a/nntrainer/graph/network_graph.cpp +++ b/nntrainer/graph/network_graph.cpp @@ -624,8 +624,15 @@ void NetworkGraph::addLayer(std::shared_ptr layer) { InPlace NetworkGraph::canExecuteInPlace(const std::shared_ptr &lnode) { - if (!lnode->supportInPlace()) + + if (!lnode->supportInPlace()) { return InPlace::NONE; + } + + if (lnode->getType() == InputLayer::type && + !istrequal(getTensorType()[2], "FP32")) { + return InPlace::NONE; + } /** layers which behave as a no-op - flatten */ auto no_op = [](const std::shared_ptr &lnode) { diff --git a/nntrainer/layers/input_layer.cpp b/nntrainer/layers/input_layer.cpp index d9f058d8ce..a67701da2c 100644 --- a/nntrainer/layers/input_layer.cpp +++ b/nntrainer/layers/input_layer.cpp @@ -33,7 +33,9 @@ namespace nntrainer { static constexpr size_t SINGLE_INOUT_IDX = 0; InputLayer::InputLayer() : - Layer(), input_props(props::Normalization(), props::Standardization()) {} + Layer(), + input_props(props::Normalization(), props::Standardization()), + is_inplace(true) {} void InputLayer::setProperty(const std::vector &values) { auto remain_props = loadProperties(values, input_props); @@ -82,8 +84,9 @@ void InputLayer::finalize(InitLayerContext &context) { * activation data type is not fp32, then it does not support in-place * operation. */ - if (context.getActivationDataType() != ml::train::TensorDim::DataType::FP32) + if (context.getActivationDataType() != ml::train::TensorDim::DataType::FP32) { is_inplace = false; + } } } /* namespace nntrainer */ diff --git a/nntrainer/layers/layer_node.cpp b/nntrainer/layers/layer_node.cpp index f41752a4d8..18789b370e 100644 --- a/nntrainer/layers/layer_node.cpp +++ b/nntrainer/layers/layer_node.cpp @@ -475,6 +475,9 @@ void LayerNode::read(std::ifstream &file, bool opt_var) { /// @note shared weights are only be read at the first acecss if (run_context->isGradientLastAccess(i)) { run_context->getWeight(i).read(file); + if (run_context->isMixedPrecision(i) && getTrainable()) { + run_context->getWeightFP32(i).copyData(run_context->getWeight(i)); + } } } } diff --git a/nntrainer/layers/loss/loss_layer.cpp b/nntrainer/layers/loss/loss_layer.cpp index ab2ccf8be2..8d18878f49 100644 --- a/nntrainer/layers/loss/loss_layer.cpp +++ b/nntrainer/layers/loss/loss_layer.cpp @@ -24,6 +24,10 @@ void LossLayer::finalize(InitLayerContext &context) { nntrainer::TensorDataTypeInfo>::from_string("FP32")); context.setOutputDimensions(output_dim); + + is_inplace = true; + if (context.getActivationDataType() != ml::train::TensorDim::DataType::FP32) + is_inplace = false; } void LossLayer::updateLoss(RunLayerContext &context, const Tensor &l) { diff --git a/nntrainer/layers/loss/loss_layer.h b/nntrainer/layers/loss/loss_layer.h index 581e9477a8..418777606c 100644 --- a/nntrainer/layers/loss/loss_layer.h +++ b/nntrainer/layers/loss/loss_layer.h @@ -47,6 +47,8 @@ class LossLayer : public Layer { */ virtual bool supportBackwarding() const override { return true; } + bool supportInPlace() const override {return is_inplace;} + /** * @copydoc Layer::requireLabel() */ @@ -69,6 +71,8 @@ class LossLayer : public Layer { Tensor l; /**< loss tensor to store intermediate value to calculate loss value */ + + bool is_inplace; }; } // namespace nntrainer diff --git a/nntrainer/layers/loss/mse_loss_layer.cpp b/nntrainer/layers/loss/mse_loss_layer.cpp index ed4390655d..356acae6f5 100644 --- a/nntrainer/layers/loss/mse_loss_layer.cpp +++ b/nntrainer/layers/loss/mse_loss_layer.cpp @@ -61,11 +61,11 @@ void MSELossLayer::calcDerivative(RunLayerContext &context) { if (ret_derivative.empty()) ret_derivative = context.getOutgoingDerivative(SINGLE_INOUT_IDX) .clone(ml::train::TensorDim::DataType::FP32); - + Tensor empty_tensor1; Tensor &y = context.getInput(SINGLE_INOUT_IDX).getDataType() == ml::train::TensorDim::DataType::FP32 ? context.getInput(SINGLE_INOUT_IDX) - : empty_tensor; + : empty_tensor1; if (y.empty()) y = context.getInput(SINGLE_INOUT_IDX) diff --git a/nntrainer/layers/loss/mse_loss_layer.h b/nntrainer/layers/loss/mse_loss_layer.h index 387e92b3b5..829b921668 100644 --- a/nntrainer/layers/loss/mse_loss_layer.h +++ b/nntrainer/layers/loss/mse_loss_layer.h @@ -51,6 +51,7 @@ class MSELossLayer : public LossLayer { const std::string getType() const override { return MSELossLayer::type; }; inline static const std::string type = "mse"; + }; } // namespace nntrainer diff --git a/nntrainer/optimizers/adam.cpp b/nntrainer/optimizers/adam.cpp index 530e7fdf31..f7189dda7e 100644 --- a/nntrainer/optimizers/adam.cpp +++ b/nntrainer/optimizers/adam.cpp @@ -79,8 +79,10 @@ void Adam::applyGradient(RunOptimizerContext &context) { ? context.getGradient() : empty_tensor; - if (x_grad.empty()) + if (x_grad.empty()) { x_grad = context.getGradient().clone(ml::train::TensorDim::DataType::FP32); + context.applyLossScale(x_grad); + } auto &beta1 = std::get(adam_props).get(); auto &beta2 = std::get(adam_props).get(); diff --git a/nntrainer/optimizers/optimizer_context.cpp b/nntrainer/optimizers/optimizer_context.cpp index f70ab773a9..8380ad6613 100644 --- a/nntrainer/optimizers/optimizer_context.cpp +++ b/nntrainer/optimizers/optimizer_context.cpp @@ -49,4 +49,17 @@ void RunOptimizerContext::applyGradient(double lr) const { void RunOptimizerContext::applyGradient(double lr, Tensor &updated_grad) const { weight->applyGradient(lr, updated_grad); } + +/** + * @brief Apply loss scale to gradient (full precision) + */ +void RunOptimizerContext::applyLossScale(Tensor &fp32_grad) { + if (!weight->isMixedPrecision()) + return; + if (fp32_grad.getDataType() != ml::train::TensorDim::DataType::FP32) + throw std::invalid_argument( + "gradient should be fullprecsion to maintain accuracy"); + float loss_scale = weight->getLossScale(); + fp32_grad.divide_i(loss_scale); +} } // namespace nntrainer diff --git a/nntrainer/optimizers/optimizer_context.h b/nntrainer/optimizers/optimizer_context.h index 6b4b983e35..27f028fc52 100644 --- a/nntrainer/optimizers/optimizer_context.h +++ b/nntrainer/optimizers/optimizer_context.h @@ -97,6 +97,11 @@ class RunOptimizerContext { */ double getLearningRate() const { return learning_rate; } + /** + * @brief Apply loss scale to gradient (full precision) + */ + void applyLossScale(Tensor &fp32_grad); + private: Weight *weight; /**< weights for the optimizer */ size_t iteration; /**< iteration number */ diff --git a/nntrainer/tensor/blas_interface.cpp b/nntrainer/tensor/blas_interface.cpp index 6219919fd8..e8fb78d734 100644 --- a/nntrainer/tensor/blas_interface.cpp +++ b/nntrainer/tensor/blas_interface.cpp @@ -842,7 +842,10 @@ void scopy(const unsigned int N, const float *X, const int incX, float *Y, #ifdef BLAS_NUM_THREADS openblas_set_num_threads(BLAS_NUM_THREADS); #endif - cblas_scopy(N, X, incX, Y, incY); + // cblas_scopy(N, (float*)(X), incX, (float*)(Y), incY); + // replace cblas scopy with raw temporary. + for (unsigned int i = 0; i < N; ++i) + Y[i * incY] = X[i * incX]; #else scopy_raw(N, X, incX, Y, incY); #endif diff --git a/nntrainer/tensor/weight.cpp b/nntrainer/tensor/weight.cpp index 0e9879540a..ea8c65a7cb 100644 --- a/nntrainer/tensor/weight.cpp +++ b/nntrainer/tensor/weight.cpp @@ -130,7 +130,6 @@ Weight::Weight(Tensor *v, Tensor *g, Tensor *v32, const WeightRegularizer reg, void Weight::applyGradient(double lr, Tensor &updated_grad) { if (isMixedPrecision() && updated_grad.getDataType() == ml::train::TensorDim::DataType::FP32) { - updated_grad.divide(loss_scale); var32->add_i(updated_grad, -lr); quantizeWeight(); return; diff --git a/nntrainer/tensor/weight.h b/nntrainer/tensor/weight.h index 8ac3aa0190..58d1df710b 100644 --- a/nntrainer/tensor/weight.h +++ b/nntrainer/tensor/weight.h @@ -323,7 +323,7 @@ class Weight : public Var_Grad { * @return false otherwise */ bool isMixedPrecision() const { - return var->getDataType() != ml::train::TensorDim::DataType::FP32; + return ((var->getDataType() != ml::train::TensorDim::DataType::FP32)); } /** @@ -356,6 +356,13 @@ class Weight : public Var_Grad { */ void setLossScale(float scale) { loss_scale = scale; }; + + /** + * @brief get loss scale + * + */ + const float getLossScale() { return loss_scale; }; + private: static constexpr float epsilon = 1e-6; /**< epsilon for zero comparison */ static constexpr float epsilon_decay = diff --git a/packaging/unittest_layers.tar.gz b/packaging/unittest_layers.tar.gz index 7a435aadf450e91772b7af0e61af527a3b404952..3bd488a0a23bc39a7cb6163314a2decd0d8a5f7a 100644 GIT binary patch literal 78763 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
    6e zUAF#yzq^cX{2K-r|D=5*p??jE{)>F$f3bcK{5QdKweN}ri#$F5N+&@7g#Mcvbj|V0gY0Ki}L6La#?z=$%z$ik&M!@mw`-s(Xlw%}T+$W+_8ozsB=^7KP zZp;1h;t*b@&;nNn+F_pq1-Lp>2vkQZflp~KXt}3Hmf(|on?7VQG+@Q`ZYj(lq83GRthc}ZRLSxbZc1Tkymb_&S-1j$_fJsl`yw?qiKC*+^ zJbfob2vhicWE^uO=o%Dc*Z@y<1ov)4GM4=i%FR%@!+d$Q1h}`aQ11rF!?6#cu()D8 zEIM!r>&dQT4&0i7d*922qpIa>O=BxK8qkQ{yklVDxBm?9Ry?EjAraeMWw4|vz_T&~ z#%xwNc*ncJl%1cj;+ryRWQh%|XgWeQw2#F`s?qFyd!JFGs>?xX7@?kB6K6KuO9qbY zdTv3zKR!NW3*65-$CM3@pw>xCaSx0OW(K{vfD;dEfa9*gK#k}Nuh_w$|NcJ6`Ug^J zv0Lyk_g#!I1XC&b!pN%88iZIHtj5!mim-qg@Q(YG*N{X68z5Y}LW1 z@K)TJun(tel|W&&5_wvGpxjKnhPlTbjvI@WsiD*5!0hs4_N+pC(DrATrPhP7rh5Ti zp6vFNU%^!xuo*s@PG&;(9)&S$Pk^W;7i!-hX0LOxXVwRE@D3Yk zO3FM6qV-SVl`@Du)%&k)u}A39=H*Qs4d6+zm3TZ z$yiwNB>`7zXM?*}A}|aO|7?CwBzPenxY-Qc%j4L|Tm~;}55Oi$FY)>S5z_u#3^nFB zQ;8}86o2nf-jHz+ZaEa)8qx?>{cKQB?nGpn6a%HPaS$|d3d*!zgN9P>=!)S9Fy#oL z74OHOy{k=7ND>3_hh&gUwGfg`oyUHEV>~+3J`YW=E9=_Rv?F>53YeEp1z+dF_y=C7 zgr|vyyVii&QyVnHEE}GB$szS1S2Wb|9>mU^f-+1Mz-N*XTIFWcwTD(x${mJPdZG#L z58y@BQWW;lmpWO@hK%T9JgayB1`L^g|~6kmO+f0+!LQhfkcRtTY+BOi77`aH9t zgmSqQ1c7VUP#Yo>;L45hRQx#=7$Bk#=~tyGVMYX=HfutFtQs`6hQZUtAfOKGdg}aoJ!IHx2&6W>g=M^A5IMPzYDvt4BHc@{%l!(hIzAjtld#54 zTYN!&>i~*Rb3a8WpkSSsQ1Es%*^(WFjdT+j^q8S;b}oe2%mzr_lnpIcCE&uuAoNna z9Oa$ghNcg`g=`1zs-^eW3yw1=JrZPQr^*VKg3RgWZgVO0(6 zUgil8$53cas2m#5JcrCuJBC$_W-_mBzEDp+E8#4WLfpJtFjZX@Rz)2{k5oUPlJG|K zI985+KWZp_@4`X2W>pUyPaU@SsT>%mVh^+QD`CNi2)McE1};@J!{a~fq^{asqUsIL zLHw3nP(Qf?MvjT5q>?uw>+G$lR_PSlP*{MT-}v^ksIeg?G#y+-XH#ZFQz3FiJ7u?S zGHT|Dq5ZR$lZ&f)_bzDOC4t^?`1Ug*`7 zixB@=5^%~fBqbtD2c}*}>r0hr&op(KROCb7bxkluPMe7mNrA%~Mu7W!X|&^OBS=PT zk?6hQ`1lDsrfevtvOK~eJ^3nRW@bal>`&C5u^~t_x)cQm?nd={>QP(y3$)xM7>14C z3EZVp>@_alz@DStMROCOFIvsQFmuB&;_e!TzYYjz4;QYcK5x7Sk+;u5&6A@L^D&pI ztk{P9zMerPpDrVnrB6_d$~&~eeIrQENt}I8>8Prvu`QvPw5Yy;^|1Itrcl?vueTnC!_r^4kIUevJY(J0K% z4b7bEjhy5|k^kFRl;tf4B4Li8-7l40mS+g@tw*Wb_opG_C>eC}o-di!uNqgnRI)v^ zlt9c|7Y%GtLSKYL(T#gwsD!62DEfgCE!8=cK0m^Mo@33TONw|f!b1VQw$5U?>NUYW zYzE__7NCP}nuzF!k=9$+u*?%R1{xH<$qG{Fp2={u+My2`^-2q-nchQ@^OWhJo3iv~ zFGG5nB8MJUSOeCzl4z~15-V};Wl-n30iWh>klBh#R!>7SYVt|8y)@|%y~$<7ZJ?;1 z9lCRP8d`tO5Cu5df-bF0>zdosRk@RBi7X%b5_=OZVj_mV?xPXUOsc%^Cs}m%ay0bF zV?FX%k37~RkNsEj*viAgFd>Iap+;l$c>iHEvSlVUWBM7GVLX_Gm|UbZ2CQN_&-X{6 zhU-ux%Zc0msR8QUl$rcpTflmfE|!NB8!{bnUh~`K+b@$E+5Z_1LctUgJ_ue zIv=a;Tu9w*-A#Os-vND29Sk2HfE(@ig7Y~mk~vNR^>1y3CkE>H-c)JbZ*MIWj z8G5q#4k|YrNSB4l(k8`nw8F@bNUo(1J%lGhf4JV4F8`oRKO((oSnvkTvQnV;TlJ@} zJ1En?TIcP7AHbjgaa*y*(|6f_%>T2gk!jcbk0F04K;Kla%m1@!&-~9X0lvJ^@kpNH z77F9OyLM9a)V0_-G=f>FPzgMRdo0f>;<(?A2+%0rOI@qj1nv%-xSiYs6tlP)9}QT? z+_}{Z$IMz_`MyJVJo5rFFK-47<;^%tREJv^E(9IwepFxKGG^HJQ;hmNJs?hDP&MC? z$$xqcJB(X{x$P`m=A?(~#%{qI-(~=pQ$U@Mc+E(0b6{2adh8Ln0}P&J}4B5F;H-8daMZFU>7M()G9nR57xRRd1(&V^2EXY6=d8X^ZOG9vr+aaOh{ zj`$|K3ml4_|}ed*{msY`X(l=k&PV8y+%` zhS%bZ3o+Ez-Eko9x0-QUoCS$xa~MxfD7CEa611HRV~;D+#n%oW0cV#7RA9g1P-4A| z;maEtmWROOR4N1r6>yUW2f+DjzKp}R#~|js3n%qb#>)MpS<{csX5UEDVRy{SE~(pc z6-wn73RZZWuL@bZHG#z&T*^HED21;Nj;FM)zhQX&#JQbAZ&SQavEUt?hDTnx!9LgN z0^29oF(+9?Fhe8`=RVqu58Y71BPX0HZ?~JyI4y9)wgG!#I4wS`|A^ z`bf>Z`;}VS5=)JAIm4{n@CDB}8^*jl{I~>+eX0M z?JV}NYnIsfSp{Qq&K6cp_h6ch`cj?GZ-d>K9WazGfSdXW)HAIkY_UsIU|Q-@eEgUy zwPVyRhNH8WdegfIw)bzxntq~Py2#JrXEt8{8aQ_yf1Q2y|8#p3p?_hWlrJkOwwA)7 zQBmbfomU~vx0`Wc=N#Br@R+*tO`lp3=7knV)v&f2-k?rS%%;Y9gy8fBW#r}(#fpAc z-lZSzh}=Whu2lgI?;F%r#*Q2o-%e{B@PMFu;~0N$cZ=Dd4|4l2v88i0H={_!UFhBI z28g~~k2c0=Lf=?@RzSQL?^&BPop*rdEf9Z08OkoB2bculS~ni$wpfMC9OXt2zO)Fk z^LsN-TqP|kLq~8kq(7l*H9J(6ppDW|A+!!@L<=s3!=Cy*=H83rc`#-)y?*vqlDgs@ zb@s~|bdh$&i6wg|$5$JfETM&TaNtCUd!52{{IJiQtC`DPJ=z#`B)A~?ZQ;$^4Nh4(y7uKE3cRa4!Ia;`Z#mk?46s$k# z(?dJ$;mWO0s`L0g{B_SUI`CB{jMMAO;&Y{n49LZy;E`_#$O>|>R8NCP(^`;J1C6mf((H(8JEp!u;F*BG_D7?x{y(q?d zrn&;}->AWD_n%dMdT|ch+P4~8Y^vt&T`0#o-K+G(>`q7X+Luzq^|mb$>6DqDA89_JCgGw)7CNPrJ!g$kj#H6PsA$+SJ&eJ1m$_$t%(IdOhm% zqxa=pj)eLDVed`gsqEVQaYM$;nL{!}NaktZ>sp(XXp$sNQW_|g5GoZaBt?=WX&_OO zOkv+^?X46^p+O_5RGLSPs$ZVxJn#FS=k&hM`JeN?&;Oj?&-e4WZhPO{*IsMi*1Epe zwbp%Iy?)bp!CsfaC)^AYRCQsJcs}#xW+14!6(bK#4M(`?#veXg3m?21LC;p$qrI>7 zXpyN1kv*Zo`{4>P$7~j}5B)=V@)G7wf~`kSnsh5U`9(`opR4h_@?tK@@^-JWGSebq zxm;$S)x7G}OIFb01ryN|^NoN+6F8xEJAhR-Wfq@E;fU?o#}*IE0que?Mmo)rclGL6 zhbrl`nr37RmsfF-OXeojweBfrQdS|08ddTQHUSh_V4kFuvs!-<(mbX(F(@D-M^ubGi zc2oIh@-8Tnnegg7ll~ghiu^;Y&bT<@*E$yTGM6)VciNL#PP2&Kh&0BecnX^sIht9x z;2I;nZ9Q|VV>i2bjt9Fx$eFC0^qviEkwY&8lB~rfW2f*12Ameb2xO|(&UPN5B-&Ss zt#GYoL*3Pg1GH4+=nOQ5fBg=koo0-RqOgSy5#0h3Uyo?oI)`OOpgO zlF7+V9WQKoUW&V`~BQB{jN|Hj;_w0OP*ev_3(y~YaRO(Vy_6Ulva;$}1aytRT_k9-S57mnnc`}o1D zGb3@)&24mER2)@2ql>r9{!9X+z3`fd4>UXE9lVMeN}HzNr^~eUu;u09{C8HF@a=9M z?Kl%mg$m!mXR%@Y4+WQqcZ4E-ooj_}tXIY}_^SMpE9%%YZXjPJC?7Irx??PTEy4!zDa`T?gFK~?RfJ?W#{{E zX5p55pSgoyeRZCKQutGrrs2iq@q%NMrJN61AAl0kHuB^Y09?wfl^eonyx{wC-LGzi3xz&C>7h7HdE0n|C z5|qR(Y3Stg&pdPvi5vrm&%My>oA{*wHO-_F%M zvx;FZ$~tlfUXc;Fe2ydC$!h$UNA}~MBNMnQN|teVIG*ONtIu|pJhX{hV4;d1TsIS3 zC-1qDf-sOCB3o;ES=)K~!0-HH!?FdY3%hDMPW!@TkFDIpFE7#UuPo3u*J|qd$(!pI zTF-4Blgaf8e#LdL5q23f(HZt!+l=G2GzAskbhzGrR(M#ZOf5cI&pmKZThKOYHb0_` zR_m<^L~6@pxk}xw{5K=#p+cYY^wdIs?wPsS-1AHp*HR*zJJB`4xzEPDatdQFu=doP z1Ve0<3SDLS99;}v0(6)M-(~M9R=Z7$j(M!*xbR^XZ)~JJ$2)fbabFV6bgXtmqpqaG zkaP}ReA9-`dbFD+&3OYwb0;IpO@a^VgZNrG61ZGt56V8S!PhFy#kNuYbp7a8)SjDC z?d8zS86-RrCPbN$q>e1cgmomF*1d$euLt5*;h}g~dJ^9MS&ut9d=GgVpF#tt$ztb8 z=`{cL5n_9egNHyY|Ay0Uuy_&!gO84NY|S+0_0AYZ2W8GhN8asclU9D?obbL(6IgM+ zeWL`w%X0(YB7yJYFhS@)o7cspDS zsYSW5JltnvGzY~aj<^*bEPIH5a^8NdwEZS34o>4+ISu4S4r-t)ZrbqUBQ8{vuT`k# zqb%-K-#}&FYBA0^Mnq!dG#tP69xk32iwj;#aK9GZ!xs-Svp4>&o-qA?eWm3aPspAbDb%ex^kf*E0#8UMo8_311!Q{RBC|aVS3`4W$!FNe< zjAxY+^Q@f^=C+8|46`BXF0VM_N)q8{ZxZCW9HwWhZ!>R9#n5}{k<@635-5w-usXZ9 z6UlYM3A%fb*m-RyxYH7u6}$1)^=wA3+S=gU;3ZICm55AIrTHV;+9}`T2vt!z0;x~c zaCOHabT&{5zZ4$H7kLFT<_ph?dQ?- znW%ssVYa}6CF9U-dr!cU`n03|J~FCFWG<=u-Kg4imv8}>8A?>9W z9g*__%BPni!`T->`jHDPRCEWI?*L!ZuF=_|2O-Ay49{(7E3Eo{4e~baBsab6LHlt! zEs;r}jC2iZd$^eTJKbc;57m+Dd#{j)Iyrc{VGBs!-%0L>*F*HGQaUu`E(jaOL5}%g z5Utn+srgQnzdVZS-)siSBi^WG8jsxjycTAqrBmhlLUM6H1&vyeM9;@>1+BC=bjYd| zZg@0+`J4!lGt8z{oHiQxsg4RRmN79aau|b>d^BPGD^OTbPA67`L*jtR#DZE8O@TK| zD|!f);+sI%y`2V5ze>_F7Q%=V?UjD(DKjir{Svh({1%p&1VmuA>Ry~FMmx-`c4Wkhc;+Xqt@6g(_@vtQHIkaXSB;A}PWJamryq6lc9{$>*@fwc1{t!`5cH#XU01UTgG!9*B(X2_hK9_O&Wn;`h9Y+ zF3EIoP`k;jI6uOveVrTLhf-`uTbXi9-%aPN*?iIIk+2Oed@$5uRIm_d+t+;d{TVT4 z&areDsmnS|QK@l6IwKqd+HX5VuWp8Sr=K}yM+|1fJ`F~}?mL~vZwkZlmdcz1c!;C% z}D)YUm-oyTt^|f!48`=gK5KRRmQx2C0<-D&*`%TN9G9!@*k5llnsc)Q?Hnn|894Sn z!#&i7M}0rf=*&Nc_sNPlX8C?Z%Fkl)!4*ev-COMJ_jm#d(ci(eEnLh!8)e9JCy&PB z{&^@@*O{~V;bH8F!_mk?mcYQaZ#c?HY|En#Yv}q&fp>-hkzut!IR*%Ayb?z{F8{1I# z!}-o!kz>qIUuEYQhZ&A$mY(#X!dh-<(;V)u_;Jn=72aT5dzcCIcIOh!Bg{bOGXRIG zK_VcQ(EV zF8o}k&&F_5N1XID8dKBWzRfOC*Q;u%n3%&_lRI`MHkkM9M%~GA-=*xE?-biA^|aX) z3B@^G){dyMi@8xX{cUSmpeIy0={ECfzip{m=yKF)+nCpOTWVAs3yCvfU2Z!0zX{>o zd9{P%vAx9Mj_X{sl`u~GuK7DHO8w?gUZ_~@@KyxN7}z*1MG2f+t;lZQl?t}4Z~igQ+t@OOYyJ)H3q6&*Kj>Tq-#C+}EW z(deMRU?#{25*)^lHs&<$vbXh#(`2P*?nK3RMl)S8R;Xu!i__bvUMF)2Rd}VB$%z>v z&Q!?;pb{ljr^^FVky5J!v)4HR#dTCTwJ--bV}r)y2=y$dHP2k|N{{XK9WsTyl>Am? z(YP6uSES+NU*eb=zl`$5J36Z_4}9z}cnNiQb1~0Rij}fgmtdU=s&3gEsjWNQ&~&Q+N6aO*P;-Sont&&J#{oWfbCI{|NH zdpUwDXOWLE4-M9{a+>8c8SdQ*VqWGppyt7GoN0Ckn5nB?;HwTBICfUMagXbF`|B-s zyiFO}_`BLGC~{Nhj#<>r^z+Yt{@Kqz`}yb3(8oX5KPqD??e_B~ObJ2`GhQ)T%kD6l zW}0mLQB!jJW)%%suSk!)ya7{AErPKjuHeelp>@)aNd75taD3TK{dOy1@v7snbnbrg z8MRX*A0B;MHk(n%SKys_@)T`ds067g>NL<$hi=*A!#d`>f6d*8Z1mVO>ZNT!*fyZ{1G*6!+Oy|$u($b z?m|a+s!vN4ACRpLCFsV1A`bgr2=2VsLy}&VjN~UPy659XGD`RgS~+JLUB4#@1lLsI zgY5!FX{sC5`VdOD6nnFBZ{69eYTtM#*BoP(K0d~3jnij1>MG<`MKo&KaF03Kv=tGj zlO*UeMX9A*$jo6?jJEG)LZ03r2gaIG`JF?cyFHnVpKJ^PVnhBz-PT{?KYx?^=UWmQ()Y8Xv{>398J3W-6;@>T>%b{V@Z5Y4fQoW zhKvqXQ}mz))K06>CueQpnaY0DIWd{&hXv7`x3(ZLri6Yxs6@z&5V~xK1?W6hrsuQ0 z>4@Dy^wH`(h(@PK>ITY+x0r*1@Iw-k`iKNrWk82v6#=qevvDY=ZbLau6&4cGz2;3`FH1ts7KcbSnhKR~-jTr<57K0vanP?{r{6~)P>FE-}ZCL@TZ=W$DynE!) z8-nT!hl1itCuqMUMJi(&*|X^-s*pyW!p9BQ;)NX6c4B?~Zy1F}=u!iz4n=B+Mmbm{<; z6?XW)9ay0}T~H?d4=xxYQ15$!gQq;a6eWxRki9R!lUb zrjvOZkw0d1WBO`(e9du>@9dGC&rrhvGje-XCWRTRXm*Df^qe__w$Ii@+ouho;>4d+ z^+uzLZ$V7;%NlT=(TieAvmwau0D5p7;N8bJ$Wr?mc?Gl4h}mYe+DnNFxv#8g-BpgZ zsppVW`zpcg^#&CFP8&K;orbE>n@IhXAW)S$gr>X}5^ zF9k(w4uuCTV`#A7OU58a0ZM$P!%j_0Iymza>d-h$#*Ws3h+S*ZnTl6r`qi;C{%#t3 zzjGoAsmw#EK?lg~2?TMEujbTGYeH@>Jb{&VfF`e4D0otZ67SyPJs<6bqK#gW9)%^K z@V$WQJKtpkdU-@H4K2{nfY=rpGFpEx zk~(^VruGO?`%ju+>wBA~PhL#VpF9YUy*8uc?vgacw4H6uilGJ-C8%kt2*=dxB2?Y$Afw7PsH9b(6M(;DT#cIjnwmd(k5$ z4jFqOo}>oElGJCt=zQrYSo1iZ4t(+keSM@1#&(Cv^5{Jr8=f+JTYrYLs(TQy z>!(tYlj-ET#&a@8-H^N(kWBMNiqMIRCqap?F=J&X3TI0n@PsDKuF@$P0<4=EH7d&n zE7Py+o0Z>C+0bqDbA~Hp{Qt=+{%31e{c|Dw%Td6U{&6&Dx=nQz1#FGbCQv*XNX;j$ zVQ1D}VBDW^saNw*V%U8GJYwFmef=66dV`;u=t}QBaD-uE?`T-q9kSOv2}(@e_^U#0 z(3`W8V9wf=|AG7cJ;=SN#%_C3kYc0>*gx~*mU!jkB#WVtd~6W+(PlAhe*YloN~beX zBYNnorE#>%;R{}TB#kesAVmdTp0HRmp5L);7)@C*fa~$;;4k*OAN}Y@Kl;&+{|fr- z+^zSiv_edjn74mmG>Q+BgCEjaBXB_H>j%*Mo>X#SjRSg8p#PtKE=#F963SO$CfNNx zvwE*G&Nw|A0-m-p3m?^ijch6EHlL2J&Ku1+6qZY#J{my`*Bpj>TSw6Wf=bqO)IfCq zf)%|ysDlmKRRRIyr;~nPy5E=X_oe%N>3(0j-e!u?n zuc!m`2m605{wDw5U)F#6^Z)%h=&QLNE4PF%nPE;-XKjZhGgE%N%n{0te+LCw>Ns`4 zX{wMspN?-i0m>8R;G3aR{JuKE1qIXSq>J-0hj)dD9zG3!tu6f5vHWWdn&0wc2|4$T z$&cSWtouGQ{J_`0)P{L*@~chiqsG6y-}tHV$9oUkzrOdd{aNkezH>jWv;LdwtpC;h z5f>d=UQ(7?);%igAJnP*--F+ef15vl{M-Fn|Lb?-zkmJrPeI@QtNbt%*f?q=ec?YE z8qbe}8<~sgGqin!nbqb&b7m!Yjc^#Q}(+8BI%M1WdxQ zvrxYz3*?r%LAv)RV$nI8DodY21I*&+814*kg$rnKOBX%zy@h@pI39@@YQgsTZS;`J zE65KS2YM-TV7Hmji)B(^?sAsuCa$GBTo%#d+#ejbu!eqAnuIcT2`-6Tcw%Tx#~yd0 zG6!6#``4?G@qHO2E;T_0z1!&x{U#cF?g~w<5~3+Jr|J9L4r-hn{!7j%&msAAiFPUI zw5rnWOM^jPc@^EbF_ucI=h4dt5{dj!N0{vV09nlIVc!=AvOKv=So_$X7B8-ZXL6s& zn)ej0u6#&%PdB0`1?x%KR4E#mT0@qfeMAa$jHpRjD(t^In2r)ygTwYNDr!3jBx>W4 z^oOPNais(iYE$C7+3csQDH; zXj}{psj(z_(L?B!fFerMOsJVgAu+x^jT9Bi(jbxL)K^P@UQPQzdJ`2m1NZ3Ba7!Lz zIO_!6cKrf5C@l+WX1=tgxq{IPokZ6e9i)pV8AE34Q$m#Li2l9+F!~fgoAm3^LCXnr z{mR$uBe861fLAdaBez4##UZdFvxIi8c}9|Mh++da2`*gBBpy675Sk?iZTsiZt1I^s z`_221&Y3rC=_q45Cn%5D#U?<5|3egG;Y)`}oTuusLE!JB$~QX}L}OeP=$suIuvLJ_ zzheKD#4pF+_U`|-@BX*_^Fl&mKV(ecREYC*WVgP~WhTtt%5kxoZ__uYv|P2~f`|td zRm@@(n|GpW-x#}}eTMHmg}=1N#B&5P3COmRa+`x{Ka0>v?=onzPeH@XV(i|$&jI_? zGWOUTNlx2vG3K3V*H3H9EtwXBetYdFm&Iuj8E7dPb(X`q8OX*j8iG`_zi}#W-?vd# zAIP=P(Wb`>mNRxzK`0{M?WgVglGzEry-sTqN6%cttRxCYpm+2<*|~ZP>}c>qL*}~K z{j>YKB=iLyUL;Nj1W#aUsT=yBYx+}tx*G(4Y2Q|rM~uTpPb=}8%BU!}n79vK4hlVh z5+9iS`2KXb_NmtN*qcPAZTKei&UF4y^(~nu^q2Pe$!Ve%ku6q|QDYG2W;cmnv=3CX z*P+VW0YAO=zk~VzY=!;!Z=-Kc`Dc&2e!kJqH~RTTKi~Kn`uK+DgBUb$i!JpY-$bfI zeUZnpg=DkTL3a8h^ZzUIE&fl#@BROOMFEgM^8aluY<~azzlCLg{O?aef6nOsoYDO` zqx*A4{|qX>9DmE@_}4i8KZ*(b+w=B9e{-JuH|KxR)mH;!vDpot-LPvlfy*qh;?`ZP zVMQo(KE25M8d1#aF*3&=^V(SplQ>8YT#vR3$?!vOe}y+uuc+}Bn_p^R%zU;4KigTs z@2HdDwnTXfw53mRf7XY6?z#~5G>JP*jm5hkWI^10VMtn;!x_!>rcdsxa4&bI@r~|% zK`kGIv8YH4-%sTozT`4ku%oi$r}|#Hxx(@J9PXjW6r2;Y6IvuSz$?{*^YSD^#TaSs zt1;X7MtfwSSA`%?OG-b^j=@)b*YZct-}+O19)?12VMGiz^yq-TYEi5~ zA>M}c)RO(c>#d{GW@~;rKb_PQFavIVf~Z9R9Ug9|^3*oQhmmla?|hrR9k3IsGz_Ww zm@1~9&-C+|em>LBXMTo0J`=w011r-L%X)l>L`q36$jjjvE5!Ax7&FR+@W0^y|M>fU|NqZGfBu#J{44$WSNij>{0zVP|G(w*`_0GyEe7z59_PQQ#qe)` z_sdW2U-Jb1ZN1H3uj}*wk3E^pn$PwG`5|kZZY+2J^|BdGbpgYe^2h1bCd0OJu00-s zhfH5-Z#?l4o0n$^`!CfwMk>kR7^@YIeRI|!|A~yU-Bp;Uw$f2ILLa+XTKtFHwteUd z@`iTX!DwG~3er=(056yZJNd8+#9ZVh*5m9)yN}s$L)Px(xYw*?tgp=n{c>IVVMi_T z>CP;tpXob99w5QwGtA4n*9IQ9&M|V57;_-85I(4iX!K@vW zhC}@Yj_n>Jaf*KWPuq9vn>?-(3q=EJQqY9z3vlODvt8HYS9I!}2(GQi2^1t>#2pqO z%J^vOI_1QKdS#~rs8KtxW-PxZxAzJeFQqfs-P!jQ>Vk(H>Z-8O+FKU#JjcdUgb zl39F++Zs2BIbzpblPWHSlied7-;C2o8@sK4s?Q@Y9`02UM)lGP+gT&kI9cv#HqM9l zQ>V4!T<>&qMq!&N*J0EyPQ$+aj`Qy(;$<5?IKJ8$3P6vsR34lsu5V=?zpj#Iz?|343XbJnNm<4*ThNP?VY zltaYy<4C>L_NVtbloyX?^$0V1HS)}Qw~1(lj+gBMujNE5OdJp0WzT3{cEpUz9;bdj z)6Zx6`Ak2b`5F57jBG|GdeUscNL3C2W5c_D?^a2iw1r{T($iFD%~4wVekOf#;V{jK zxkUXIVlY>%pb9HKG4H1DM78w-Fr88c52LrxnD`X7$(xXvMPHcd`ibBrJ{H8U1W^&W zWcqQNJ_?^-gu0;s8GooC-^Rt!0#jSU+9pz~!A10nJ0E4$D1i7M^rI48qRB?tS0*tO1iiriEiq+2twj&P72EgkaNXH z;N0L+x>KWp?kGM8Ve@$1{AuEk<6MxI?yKr8t%r^^<%1OWNRYTR!@S( zX6vCQLmULGF@5N`0Qj~I5bq-aFYlg)hNUlvP;)Blf480<7{sR?m1ZD*!~hDkS0QEP zGSrbfjdCjou{Enk!8yG;+A<`bv>NbeSFAYwu)c;$O;|@K`|XF`7isj5`XM7T27GhJ zQSYe>pvZYVbh;)bT)1A3PznX3fO~Q1Nq@63HYn=7^RLR$j<%* zO9E=B(DYA?(DBiv2T(8`a2lc)^w1Z)1n5|`2a4X>K#Z;hGpnN#6oi(e zF=Ml6V#^!oHRscoh1T?=TLJ1^wuNNbpQS^SUecJMU7UAQUy}DRne_Uy*C6o+V`R(^ z37%F0M8N=m*YhS$HCP&By%o4eOwp& z*(}3tTO6@Xlsy)5F-EnbcOh&^D(u>L6l@iaB9VF*Ts%hvFLD}=J!TEXL!J=O<#mDL z<|`20(*x?fHF&-y9}bTh$J`PQ#$qXR@No5VSmZertJ|K0sOQt+{IU6<*xCl~ChtV^ z_YTAP;m+71XBn2M62MLIOo(1iVQ|+Jta4%@POZNQ+oI(;g8QbZ(n1lGhH2nW5;u{f zVJ3u_Ek}m(LvUbIHPhZT19Prt!$ItVo2(SDjF%QFKcj$O9yP`zj&NX@{&=iir-l3O z^8_r1XAK*Q*B6e&*M>zvZiPD@>@pKy^K`^DV{epX;X74ST1OPD9Ch#Pi_;wj7g z@UcJ#e0uUCyiI=_91hw5wL`42!-a)-)a5m}UC98~ye|O7NrSP%DlhDHN*5oBeT`E5 z(x9)ck$a-CkV-p92oJ(OpTu$M0uNYqd^kMj3SrT8Yw@`1bFkx_9p>uVfbqFh^k&ge zh+J+6cOACF_61V-)0@%Q%5N@KHPgoit}}4fAPxL-pCu03D1~?C1z;}~A5^n$ES^xH z45ycdpb2>^(78L_=!n_?d}L-bNIhPU-%am8PjU`J!;1B|!|wu&)0>AC%M@{@L^vh| z^YEzkZn*D%F5-hboHcF$V~sQP&F0tWSjIs(5xJLKFUn+7i`-$s=mzkUJ45Gwe2vZ@ z&V>c4`^cKk?QE~|7|?QUfN!F8lw?0a149o3>%WgUZcJdG&Gvu<)dqOD;tVZX_Zs=d z9Dw|YY+@gq&4vtf13Re(Xqi$+y{11!Ph1W`_u#$cWzTkYajh!!xFmy0RVlTw<^WQX z#?s^bNruvVVCq#N>Rd8Zek!GP3pud)wG@7yy@1TP766(@RiSfSG8`5vqmO@Fx2Zu2 zR|qX4Ru2L|+u+CVMs5RD!*c4{>Ikz=OXJkgK(ekY02W+Og>k2nVNho&4I0P+C2whL zCOU^$zYX~1J{ok$Ao2TVj7U=wdDWWC_MWal1eO>+pztQygzl=XCVlb|Q+2S4NM+*D>!za>(nOGgx(nTvVu$iZ-jLp`<-2Oo7TF zqIblZEuOOnjop}p`sT=zm8t0M=qHTTOf@=U`#rYol0M`qDg4q836rDDo5MY5^o(+p zw$PHa?vP~j&OGM%eBI6q4ooK7t2dJ-(G5uXHji_(LW=1e`=*Agq{@j2yT`H6n?iJ_ zr1IYEy2-P7e29Hmrbt(y$7K5hL#l6J#u{%r$i527=EckD5x>XMBx-8{o3*WqBP6@t z!AGx(IcGQ!B&N2Yk@w7j|5=66i^*rcM;CBhm)A4ht5!2<@6Ew%&p767(sAb3x&F$D zUuQ&rs~^1ET1ZI2x^KrxUq9w`&BF7HQv?}LHEX+qXFH#{(~37WIMkY0h+rqav7k7+ zQZTAQ$eG_8hQnLi1gd2r`0%$qg3e~++GN2pXYuj(@Gx+z)mo&8>mwO~%)9dfY#`_S zt~wqw=((WI$O8*RHwY5zWouVRyE(fSuy~f{u-bi87|WX(3xdB^2#!te<$g3;jyI=X z5_kwnVE0~g!TVW6V4ga_IcMA&T*z$~^!20h>>=#X*(P|O5Lny5&vV{xq{Uqvy}7op zA97ADg1;wrlRy4lS(Z%se^1tyk97WfqT6M{{d?jg=0g9T{A#oIJO4fD=XL$OuAkTa zF|TVs7QuKboZ{VWf5>_4=FNNN8|4^$QJBpfk;9oL8pWuqo#q*ac5@=QzPxW+(j1Sh z5@8pQI>2d3TEj#PsOO1}f58dS3+9<`D{`E^UX(TUEZ}^d7RCt8t>sm(y~ind=*7E| zc)(F#U5HJ)zn3#7Vin`_ypHE7^^{{S?$4Xxx!SRg&F_AsqDQbMW$r$F80>Wb4*pL2NURa-Ki)@nDG+vX2(BJV5*m8 zus6TeGfu1B8R1>mo%W3uW|C#SSw>Qc$+*3X&DwE}nH1~6bQ)fCTA(k&Fp*Q)qbW+v z{DNJqopdAP$$Bt?)z_T@%|)2L`|Q+d$WdLPK#WA9Q9`yPvXDN;x$3qL#RQG1dFQg3 zjjU^C!>1b~SJ44TSL_a>@4pGj^@CgPc0*a(~#Ajf~kyaRKZx6V7yW&=E$E`jivu3}nV+KqpFUNmfcNyQ|I|=~||f z@{bpILShGz_&zR4$gXFm!h6o$Raqp+cM94s2(IaCYuBV2P}c9{Tj@39Sy#5v9=rSa z@`q3yk-P!>CEbNmgD3nXm8&>>NeGp(?#5cJYcZO#3D2960+ORT`BB#{(R-okR=Haoj;Y7kA;hs4$$ea3ijg6@a8i7yo2|LNQF@$ch5);9h5|Nk8Hjh%z)nsD5T2LU73)Avip!mQFV5}i_t zQYMb0zH=rJH@PKLDXNGvX5~bv#D_imSpm*}%Y!%jXTxP)3D~T?OU7&)3w{}rP?EEU zInCVzwJE1yR`^roSt?7qPd_Cqt~bIN&lqSKBtcbgkEgD?$I*+@TWK77fp%YAM=bM- zp`m^enLD(Ma=)J^uG^lVAyczJu6!X>xDt?`nf-@$$y=?A&XX8KM{I6^benqmElmlY z&C8>A@>A$Bl|oo^{2ZuBE~Kw+br6j;+hNtPOmMI)Q>8~@#wJnZYUIFP(8adbYMjZ zs6Fwa=K9B}xlbvTcWZ$Re?!oUKSLXH2Ggji$tdOOCGhDLhN#U$NcY~o^rXXisG22$ zR^4p|3FR`H_|y|A@AIcg!;jLlO*3i3m+PeHRw8X2zknKF8HTD(Iug$HSjbYI3EyHF zz@LgiW&Cd7ZK{UZ&vKw;NfaSnYiPyv#dPkBEI2f2_dmQJIzOarL^{3uK^~{(oFo=* z3@s0p=Z|eDM(@yCIB=qZ?wBTuJ;i5&zlk?Id7c3LfvwahqZ{#uxY2 z;CCy&MNbO$g3JBKFki!o3OU=7m@C@oqj4cjbJLF)jBZ&Q-Huc$i zwMVDG%y23;8fAx%o~i)-OXnD=BulJTcnuoanOMwW5Pp6*1TXcSi+i^}f$JBxG8eOw z5j!joG!CfYg=Shf%v=;pag++hw z4YcvtM|U9qsv6$0Jq%CSEsL#ZF2a^qWI@@t(W&yD79My^8V6l-!^&m0y+V|0Oy9Jo|&&S`~7Gpuc zURc?f3A{RE{APwa&i=jz2k+L#Jxg_9LoVz)zKFm}WoeBzT0^qwZ57w&@f>#|`2PaAh^^@qyYbMWe$hIqw@ zH}Jzz7UF6Zq1*hz1g*n%X;Ggp_D z!{H`JD(KFnt7V-aGgOk{wwA(}Vmm4$vXlB;=Ro&)BgXe@DcI=S(V2w<}@GRH~ z<-;r?Z<{6>J*S+E4)TII_tU}ux+PR)t0V2zWyE*fR9H7}Cv4wk0ZsWsQ4gn(I4aJ7 zgwZ=7af&5KPBcOeS-Z%CG9S<(=`c*m3JUnTXrt_5()Yb{4+*pHj+b!eJ$b`1n<4@E zTP1%ue+aqeh}VQm@i@K{tQ{*~YM}=1Ng`L*gUq+^cxF<^ICVpdIB{8*kx!g6sZ-mC zT=nJI)lSKrg6FPD&&E^kp^KW1EcU88Pj#xz7|FzJeFv`BvzucR{*8KW^Znaov=M{gsC ze=LzS@1M%b1obkvD=KTIzc|1t_KW3oTRW2ul@pAE@k>VfL@BR9bTCgRUxjt3I7ez9 zCZJR8DadM4jMF){lRV{(`MmsY5wJ11!Mkg>nH1d~&a>OB&JJsw#=hEjgULIPj0BTT zaIS5R;3&UHbGrJ0aK>E;fC5i-!qXG}w>eh#-{LMpKYnt{evQBUYAe`lF9Z*zRh?&S zv2gab39Sv&5pw35JmMZdxK2>{ejoR=J|0ZZZ7|-4LER-vgUoDu$eazkGDCKN% z+@-er{RM7Db2T^e@gadzcnkN|=pOFzDuddOql&quc6+%|S5#{qVv)1>XFunnhF!IC z>AKFj?F!C&?aBl(CU?0HBL_I=SUT0t|5C?QsW`#?DAg>mP!Mruq%@p+!e`WaXg}h9 zUf;s)>xb4_>)JsZ<~oZMZFCL^tf+N*ik~YG%hS(IuzpOHPEpB-2%7$HZk!XIm5})NpQ}WoJwrOlH-;=7cX7XO#3EnDVjH zSfSaIYfk%|VGq}9lGk!+oNxP1urj^2jMT~wW_k2Bo`>jn#&U-|D%-!ELnKbHN*cCI z&&hViA!8eFZNN7sOkW-?pS+7x{J4T$R^-SGEx*s)znIP|BqB)mr4kA{lg&B4wwkT@ zz+tK-x|v6EdwDzR#86133L2%H&FP+ZlAXQ)F$yjZ7>5yicqdkhqK@ZEzt{>Fw@6ai zTt^1@#IPL!kCFM|6X+wa8s!(CMH;u;dEI_-?0|7XPVeTMGJE$~G8gYVGDnBnG4oz^>L-SiatSZ8&&8XpzdipK z`#jbE43=%P z9Vo>YUvv%c`QXLxyjzXGygk9UzjhD|-uA-R(pEa&_ap99P2n%jD#NN$_5A92Z{gm% zhcI9%L!&b)@v_&F{2M`htZ_M;AHLZLuAG;|Td(Ny=L{~y-IL$Zc)1G9f4rTaEiVsd z--YqwFIxP6Fhu(CC*r5^pU?&2D?^w4&55vp<)I70{;Q#&KdAp`VQFLYyZDc-y;cA7 zKYt4P*NOVqiTc-x{xSOak(s*)GF=vduZW9b(|T_R68Fa+5*9#ZuPlr$bi^EwRd||; z6i#LDLyTSpBda$UclSo%LFJLyPjwlt)It!pdI-M0{4yBduZ9oLRM0o@!%<*{CmWO@ zYlQ&3d(v23z49Q4uAPjBz7)ng_8wzW-?xL|hAwd08V)INEa_USpz&eKXeK6bXB{bI*+_|MD2dCoIE* zcKYIRzHi`$>>@m8$s&-h*#p<4?6JI`BcA#_lTr6cgW4=*EID==7TSIc3|{o0Fp~k8 z`EG@mJ<5czv|0Gey+yyoV(!$sVk5yO*bgE2jz!$t(*&XJb*Yu8BhcEMEK6-2=L)N)+m^#NY^2tm}t2wb~r3q!3(;PuV&F!jfH zUE)3rpO~-)KkTr?)e57qSj7!cagu}Ab7sTB)1&aBBXiKA*Pr2rxFdLM9Ez=VWHDo= zh~?H##;fLr;I|2*;Z3yNFKr!JWQ9ZUMwl1681Ek|iBGl3;Xs!|FktR6Sf+mjuIyNi z52<;A!zmN2U^oa%cX^|b57Kz=D{ol4wFb2p`{4|`PNx1tBvvdw4DaMGfo7956lse< zMbBk8ub_iJhe$wHu@c66}ya-UH6ahCE!i zj)Z`w1N6w~5zs7u0gl$cBd<*jpt(~Hq*Nl|{*wb#4w=Ijhh}*6=p`9>$Ou01&!DCk zX%H3RNk5-TK=Zd|!dmZBq@+=X9bHq0%%`P6V%8)Yr<;hrMC=07xpl-pT#{87b_UgK zNP~pYo^;Q&MC86`7X){mCI+X(SnWM$QAXVk2zxY{N`Hw*Yjm?fYaO2miltef(mFIT zG7WrgPNMbi5>PM$&KH~~sK4@2hTL(nE#4BM58 zAgv?^;vQAN^F{xsy>Ef5X>0dh5-L=bRHTrEq^r`JJYrkiE_xruyKKq>Wou1$CzvfzVjWy=; zjPW$be~g|npA0yvC=K@AlLs?W_Cu=qAnbbn1f=;Ht+7HQ{V*x>sbWk{AlMZ6m^sy9 zBvCy(fZp5DjmT|mVfy{z2JZ!QARBb;N%}@ZdhgyVjGTrqvr<(I6m-j(+%G*zQPT*< zc8e~-EvJ~lleFM*`RB}=1QQbJ`-Hxn(w)q-I>^9Fits_g1x9(B7C91_N4ti1BVWN@ z=FqEV@byDSQaT!t4)+|H6}tuz55zDVPV2$ZqncZBww~+0LWB_YSruc7# zb#L8B(xOA8sll;zj^akI6Xz&AVZfF%OqS(JhPE!Js!aA%6H$tIIJFPV@Z1V~ceul- zPlV~L^qRKzcrJc4y&GfVmQ082jstFCpXe;Ko?kqAvrWefdx0Qw9T1+K&e%TBq_q1a zP$I^PfAPjTXg|#j;>&8#E?vk(7%0&bKIHPN4M#8+u9-2{iaU~7**^jIY1-80)9Pa5 zyV{iN3yR_yC+7?AuM>qH45q%1Z{_B{LYTwj=}C@8=2AP(k9Z3w?9t(T;*N43lHX## zXA6*{V;Sck(G%@{1~@^)Mb1}ASrD>+1Jdo;z&+6xAb zgf=lxX}eExKSImlmLEb}Z$JAZ>6a-~ z-9DE8Zc!>-IqoJur2i_uZlEvy;YgTB^XL6k)1o|nmx@u8Z&Ek@i|w%#h+ar1qAs+s z+DL3-G=g7wjiOvTcjXrj-b`hk@TE0_6zL_3CSog%5&X}#BdMt?^!cLD&D11aAKLs_ z7kWpIf!LtQjQ=XjoRU-3u_@x{8l&GHy-~Lk^75Bx5 zmakEuV=|4!n=(f5rTtvhc`FdyS7v%#SPD|YPl_hJT*&Z3E%-)J7inctBBP(Sgy}z% zfXv*xK>n9wATW3m)M(KGstZT*%|>$|;eH=-=;>`H-tsB!Yv)K5>fPuEXe?E;O^KfS zP!kL|zMH=yIhM8>pF=fYj-*eW+f2EYMT%9=b_d+xOCp|w6nmK20Q=tE7|*XNt?QC;5k)Y)ifZZE)9l5m-QgyZ-b z8wx${u#8O^TGKC{1P-~6YA!EA+H=EE-Ia@QWmP?U_|+}sxjBx6?|XqFJcMZc^^NG` z{tS54zJ|T}@G3Gox{pjVtVOpc2cZyNQw_&-pMb(L$D`3(qG5haEDRg( zfcDu1Azk2(D$LJ7D*+EJYBWX%myJYgw=gj7s0vakbL%2=3XW zgI0O$2ErRO99!d$@;C!DaBdm2uA6{dty5v0e-AVuY%bDuz7Jz&I-tE)YH;a93nbmg zzGR*SQtIjs^@{w^IQJU(qSzZnd=3N!xfI;nC;%-*Mrhh7O(Y+wfVKvj0(FrJawtuQ zi_h}VEyKs4+mb$rd!UMXq}}BoQSFBw3VmAZEuA+Jb^jEK6as_L5Hb<@c1wWKpLNmc z;&)JOo*mR-3*q6TZXg&wg-1PCq0H;e;8W;3a7zWCsF@n*>WbIU(d!Nvm*)%nc`iVC z?$@ET{nYOCg&LF7;NWekxrM$tPYdp>I|P%b?I(t=(ZD3&9Q=7*Cz2e}xpfWV*$J8-RB6W8M!SQm#!)mD z)zJ$YPXfJhkNK9FGnk>%B0)*U0$M}92eWJAZSd~%Cw`^(BIa!O?O=-QN;>|y4l_IB zCGd&6#_y0nhLLv&0u`Jsz53E;dOKYVx;Us%xtk)Hg@ca*-H2Gaq?0*=QG?XeEzlpy5-~`j9Fpe32C=B=q*V6ZH z^q^Bho{M9rsWU&%cuk)hameNncU|OcE)xAdj!7sva;B0uW<1`(*8O8GHH_qM_yb#N zw4RF|K(M2g1!6OjxhWdAV4v)6TmVkweo?8!cBS?x#qkt(wf{l5ja*|_j#|Lky+45W zFYJRBRYY<6#XI2PfI>DQY$|8HaU0%P(hYe(Th5tnI|M`OZnC}7eK^0c1Gv6X8>uac z;!Ka9f*GcDEVDS219~*>5 zRZr(WMAmY}tiE8&;JwIqwPNd9%CIwO?2i!P8p8bu+{aY(Bjn_6#XrK@w^P|4!O-J5 z{1JY==jjQ4gmzxg&I{Uk!9N%2xMnFJqPW*fMCm+8FAa*K0t{Z**zdnPiszMTt#YSS zv_Pr1Xu_1CG-AUkH;XtM<Gk;$g%3pmQAVPk3Fh?G*Adj}-g!1L_Z)4i zU1Ia4<9F@M^VF*ms!VMDUNCn{GNpGpiOvZO2g?sc(l?yDFuTUffu47FFxDFOw0+2D zYU?Wp=Fx`3)TW)vl*{_L{8^j%;+|SHVrS=3wBy66bV#2tv9w;{)-%xQ$YYk@={j;9 zwTt8_)}iz7LXdW0B#M_i0?iU@*rMeX=+dTCGWumLir627nqwnTVsa^*FrkLEOt_35 zZCy+3Kh~g?_Ce@u&D!>Lf&T{bhx7kn55FL^(loZ*|~JcjVPjL z!J~}c93X2h4I?Qpo>PWiH<%foiBNNPClK0@4K-UR;4tbq88oj94$&-z#Q{r+Ltzoz z_O=&^VfGU5uMtd&U>S9kF^0qCV&RUxv829RCaG2|px%cglEbEu_mj#=k@rpDUUPvQ zD(nW!^LJ5yHm(R$qWHq$IrM|4S0Qs~J*>9>L5uLW^OEWNY7%kJp2bwG6O*na9V*Q` zM&@PihvlbA=@$zl|LOSH8f#)D9@kV%0vFEx!>uZJPzUnd~Pgg;U9cEk}so>`Eq4y#>UU@kmtvD!^FA!O`Wr z$mixc&@pW#G-sorSN{W~WTQN3`g{TO8evKrlkAC2cwfk!b7NlVuOoZ)pM#l0)k)mA zCyXBd15@u+z!(MZ0S2#E!ra$KiF!afh#00p{6DL~UESA{6T`Q_uBAzkm--X9-{}~! zUp|4vaH*j9{#KIhCgC>mMNDDp7O3=p;n&i3)a0yTdE#{#`1BEJDl8-VPW3R}#+r0H zT}<3LOX9x&Ig_RNn%KpBAn~>|G-(Wj+x!keVR;PD%>RW%rHi4{WCALG?newyt%R@M zml3BaTVS!Z7BL$B3Ti&R4x1_o!8#Wxyfui#A7o(VOxj0cmLoSVdxjfVAS*O9Eb`-yE$5!8EfhXk0c zfbx&yAy+n)RC>k0>g+4P#2ahIP?{#q7`ASHmM=)U87bfC%0gS(Ln+Q8S zrFgY7_~p$ka6M!Ji)IwU>gX2I_stDrZ*`RXEB_;cYo;QVm+G)f>L8Rd@h5bt1fYGL z#5>%Qq5cJ#Of)weOK(Ve9DiqE`ePjB84cHU~-+Bu(rw)gr?K) z{m2?+CfTAT3ge;HV>je5@i|rZdI9P+YAH<2=m?X!ROn|n6D{xIf~-DeK{;^{bRVLK z&NOd=^Sg8h$D{Pnonf6&)vaNGekMSn@}Vfn&;d>CmjxH*Wx!z_PQmjfHSoktb+kgW zADS@N5-wdl2RU4`L~0^qnDb;7nte2tnm<+_eYP=x>37#b9p4kJ>jM|2mGFx;R>NLh z?UBbvBb2(KD>7c9iq7eHQ4Np#psb#u$Z53~d@@x7xt()Cx(_Czg!ptQcz7B%mIR^9 zpDdB88uDY4nABcfK_VsaFOG9^wQrN-Q)bAbB_{g`Y-FC z=<^l$dXFM?SHh#GThBt_E`BJn*$<975sEr&D&oIS%YawAO+?;Y37EH{219)}Iz#V|K|n8fFFne6ILK07 z3y!~C#ef%^m?E>TP*pz!)b@#|`>0T$!_*~UK!>f2cg%XmYl$3mKI8|uaU1EJXMI3b zP7u)E7QuMFT)|x1^BK4=o&c&nE5ymh!-4+9g+SFlmhsyyWc1c|fS=2L0;L+UuMA=$nnp0;lZV4Y{Y7vr>Hy0WwFuecN1wiwN=G$BfitFjxSVbTzW)Bq z#hJCVjZqU_rtubRyuK0gPCNs-4;o_z~+5QH;9n~G_p+z<51*gK#( zE(Wd&9tQhrF|B)ep5?A%#@Hq>cRZuv*H~SYy)Op7wFn|oJJN4_6t5mvOnDj|6))P@ zKntDE+e|ljPv@Og1%W4SF@h0aslclf$%2zDKzPX&rVqPF`_}9P6S7az*D51HH)n6A z?}Qdccg7C-!b@M^ShbQa^iqIthU{l-rZ+QlPmW{`Xe&XItk2kMorOD#NLqs*dLGhrilQ;scmSH8$85ltRjk?=eSE}4tEo;yUKnhOQO!%sQaW^Haoog6oyc{8gZ;^UoH>yiGN z*WA)HFD|GnhchnS#O^)UaYaHSZe4B<&Si88yX=({-doxc>qK`cc>PGojoEe+zr}B` z>wvACH$RFi)nCAM(`#lcI;3H{Ax=1^a%#blz!I)@xuL+x2?z{6Jmx~wBe{)co?N%4 z&+Lx92XOKNNBm`xbHPu2in(nw1`8a!QG%_0kGS2JhjJ<7Rk>#;lG)OSjyN++4jW!+ z;kMf@*-C<^ACBVz9M?lVDq7B>oYG_`l}<2!;|^T^;?0u$CaZBpUt^vLvWC z+sOS08NCLgA7ONWHU1Gk^qa!{2>(i~Q#)^O=k4vhy`8tWZM#mrb@)!(@9`&vQ{wzZ zvD6*Tnsz8D7e`I55ZTTcz%Lt7!`ECviG59DC_6HW&e?HIY!UTPG(5?O@BOlYzv-Bj z7`~38@`gitrSo0!nu%S-(-y zVyLay;6^-^{B|V$A^4Iw=18`PIC)b_9WB7Y%RA^z6P7Xk&@iTQB4&8i<@B>5KGYgZ za}e=lD}5HVu!DLt{&IQqjc}j1w*bOtvm? zDocVlJNKtj6UvyOS9qY~);=^fY87puoIrcce#>0Sf%GQ15K`Qs7N`$YVm@UXGt*s; z(G9hNR-WXmeTQ|<)WSn{b>}407Ua7|o-L14!S$JI*`ymU*wv2=aEHs9+^npLX#P4C zHt&-bepw#Ljz3?{e)Lwuvt}uByL(W`-Mxh@C*5$>s|{@bj$c^&9m8>d?Y>-|vK>N0 z)!CSEZLE1On6*`uC4vH!zZw))9=Hng-m?ycL2yOC>+ z4*Go{rS6It_Kj-a$N4{80v0dxk*@iA_|5b3pTF4C$A95po&x?);=e3@jsG$?F&$}T zWiirJ`uulGQ_J@C-@ijnwZ5u;%iko+(CeO8b5(Kp_d3aR zk>#Y~eJdv`BePv*S6jVgb+kQ7B?W(PKiO|(`pNXgvg>@)RrXm1X<1pG?Y8-~Q`-FQ zclj>b*uulV*Z()c-^>1{W1IF)k+s)1;qdRpxi@^5622^S=AZuWkL^r)7Sa^4ssHHHfg`#BA*IYCZZn zKMYkU@C094_Te+m>SaG`jM54cavh;}0#m0&CR-^wp3j=uu;bbF*6T3T;(E zdP^9NiJy#54V{i(r0hhuE;OUWaUAw+K^Ud;1P?aK3x>Nr#U=?Vg2$^(sKOQ%K^K*q zxXMjepnM@6&ndcxODZr3l3pU|dN)p+1nge%fnEO2i?p?jZW z_XB)v5-Y7=MWAMK5xaIc4M?blpm*3xd=v<9@Yj9#_j%Z4{-Y*H`WJ9WU zJs!EN1)IiVd`nVKQ_5&usCER;%yVqDSJ#LqklJe#VvYQlg<|Ck#dyR|DuOo_s)8}i zEl9C*E^bokCg^RosnuS?7vX4JQwvI)f^h$=kvMd3bgR9@VlDEN=%Z#5i?1UeHvi0J z*gMPyPg}JX)iI2gnK1&oBALC3O>AGJ98l$;2_}F20^zjq97jzWKB)w_ZEi@&5(d<-b_| zfd9`6@K_q?({~|C?Ej{73$8W@g^L|Ko3wHLb50|H_|I@OMrp;}F&O*Z17F z^HPzPlge-Bahvn_J7=$MQ%-gr-nZ{$oL6?N#%;KBoBCutSjH2DZR`97nQmO0x_S7! zJ}LM+KNNl|BReO=-)#_nJIZXX#^3pG+dQ^1dsP2{Z?%1&(&l=ydSr8g-)zJGu@0GT zGX5$RVVgFQ*(&R&e?JfJ_r9;j-{*R~*7#rN+~>$};%nTUs0yS!O3IUON%&HuCWECs zIeS$PfvD}(#n(D%n^8PdEc~#+gLqK zL7=_50MC9ACecTTK1g`DRL_&*QZ&CY6-)KBA1L8b5}w~zVFH%&TdAJ8S^Fe)wQ@^uALzLz7>=c8afdazNwmCw8D@58!Assi(-FccBlRp7r2;4TZ)1yVgr zDtO=Yl+ABtZQANT-`aBv{*{-q5?(5l@Niwh3sV~`<>AtKM__)KM9-8~9xl~W%1afO zM6~M3mQ?VswcN+!il4U5JNmto6G-PB_5-E;qAOVA^Z;)d+!ITADQ5?9XciB5m&{Xi zsH$(gv{o|jNS4^kYvti zmB~m`v)1)L6Vvwb|L+iK412>ub<}iaDSUYJ7EuZdAySWDPi|>4*9dy>K^}Q*FS?`S)afu8E1mL=|=zXU;kY9Dwmj+N?Xz1=OmxfL_V^ zC|6Gl#aX`~oX&f?Z)Shuer!6B6V}4h7mvbG8Rv<+$xC8*G#X$_HCTL91!_t3*=;Zb z9rP+Bbv0rra@oLGzB>zS<|%<0`;Wm8T?ZSd*LLiZV0rZU;XSaXU;s?9u_jh0)sctc zShQt%7uM>zJlh0S-=9!rPk^uti)~TyZ!P zZO>hcZG;XuXsA7Q^+8y8r!$^+c@91U%y85tV{Ce02xebDMM)pJ;xLUYq^?qfdJT+2 zclNrWg0rjfIx+^2h&95`GW+A$6RKG2;ZKq=d<>p`R0q#oW{N>$Hyki{5Psy}84DlF z<8tMWxM4vClJ>Lyep763-3dQm-Hg&Y-b0KJLGqIwa7%wH+|{`k&c87NCmFV&s@f9N zeQg2?UXzS0{KL_sP6)ksjl`dCPs05jA-*}q5W9w};XR|HFw@r+FOQpqjRGY))T&`= zKO4#A;hBo@IArj8{CN8+oN{v_Zuk5D==ZT|gWw~@4y^C^tu{Zs?Z-{Gk3=WJj>FXt z7qeA2wvi3~mE>p2m7N%6!tsCx_RjS}X+}Y;X0abR{mzN~(j}LD^bT+r8-*w*HULf3 z*v3lzHf->HJ^3|vA6@fJKzSpEV>+pZRx~1MpvWGy&Flr*o0fDmX2O1Rle69s8y7XXC#~>-aBW0H&sv7M50elCMWvwD14;TSR&v zeC6r}61&?H)kXE-)#`l0`=x~0s;q`M$HA0dpgl>bErD4ojQ}1z3sXK8&>?-ALHCPB zEaxU-2I&t+>xUYnE5M^=sI#XTso;*J12^hexe@=oeUS5IDupfmc&v z1Q)xU$Bwo&f}(Zif)pcNICr$IAh{R{YQpablvS7D>VRO-Yu08weSKd+l+O}@@JSEA z^Bqm8-k2tt56TJphlUECbkY!1^1H&r#eD@;Z+!)DEKiU=V;O!mI35_JZpG7$q6Dvh znIiDKXeO{WQiXc=Ed;Ld&r$kyErHfw=!5@Er2RB|)=R`&T|vE>&BK@K8c~9i7jF04 z-;305*QOb=s~=jSs)-Q$UHJ%j`q(FCznc?#SKX7$J-Y$UTNy|kYNnv9kE@8< zmpyE#*cDAXr33o~&qw{PO++fYS0Gz`ZFXO-B0Ds)lKf5G+%Eq`vS9waMLr>3p7R2i zdiePN8vV0qv8R{cU&sLdWc)WVZ{7bn(#*`#+|tb4s&)PUZ-4%~uaEEI#r_KyNnZZ2 z+@F2_KXm->AVEjo@8`VIc-?<>-rJ8iE3Y9-KhGvd-SUjtwNw0)ldXpz#wU8^olb|A z4VGU|jUARpipq25`&nv-W$Zl|P zn~tk!J5r}7iH52tA@!9fX7x0Hk|9eWdAcgDw$QUCti?rHpbQn-oJ+!)fSxC4n3e7=Tw*La^A&5I5T?;$m-eJe8~h2hU9* z^d!ESSh0?5S8QkfEV!JsZ+#vzSG0m6S6x_E*bbExZ$gmG3kV9M$pVE!sBW%~_LCFg z!`xM1P}vHyw{C?URaVH0UI&{V&A^OzT2N6L4~YZDW0`m)20!hDD*5Yx?|hRi*DHl9 zxt&NMPefjOew(~QHbYq73vX2X2M^hBaPZ|j5Vc5wyxL?JIZL+&6k1T&-k>8o#s%T) z5jTJt>%Il^$>rJ$;oSs345i$_W=0?iTMmbsE4x7bk5Q=dU_4&YYKPSh)6nfy6FfR} z0!(h^j6=eP5M4HC;056pVo&Ng@@oKxNb)vimy`_5@t`$iS1=wPso&4i>))1jg&3}T|D!_{|Z0FvIp z5^WFIdH4+Yj9UiRy%K@DbrI|tcm`&y>ws-X20^a{2jEJ_?XYz3G4LEY3nm^o539Co zp9$C!#YTaQOxZUzZCLy>u`pYBm&3PJ{kkj=`>WC*V#*3-oeT#=K6C zAo932UiVrC?I+I!NAHCYr>KO#`gFq+VXZMM*#I3g)8T-C3)wdRfo;5|NX_qs3zbzd zWQQfL6^Y;#ECSW!6|gNy3A6fk!P!$((DjHOo`zHqC$5K?FXQ2|k}?vm?QxYubDUYJ ziHBY%NPW|4QZwkJY75EDqC_6TNSGQOAu5}+i0pcG7|d-w1LhRO0R13aWK5ogr^;C( zoBbQfre4wDxkLkcfHSn?ZVV}YEK%`H#dkJFgr$A!WGc2lftuOYMv7t z3(c};JFg^EQx}p2^EU`@*^Z}8FT`ZW$Dbh_mA4Cjy||ljO`1WzX%#7K|JI5gIKea9 zWy^jd=ix**nk;NW2!KPa;`N2kaX`pKvxv~TJ!^v3gJXw4@P^q93Y zZBiLX-yJ(fbnqQtw5v!7q@LD%yE_VPr}V?9r($R@?#@YNCtN_G|)&eI)eTRSl{`6mX9C z9B?MJ#PU;y(As?-rj8Cq%kks!=D@e`;Sq_W%=VM{YCgDVNq@|w%R$4^8rtlwAj_5~ zfZ?=ocqZro&fep3wtp!E=pvf=$HAdw0R}zS!n5ff_<9frl=fVOZZZ9Fw_pUmyJ3wT z&v!%rfx}Sjl1la#b;c7ZrJzydkMW!JVNLT#@cyhPF1zc3y{({~<&@`-t{ zbE_s!1rmM6I^vqB*Wk54ANL%83@Tnr;pCg{=r_#@^XGhkQWp!XHd4do``&}$zK*!> zYzE9q?}vU{F2lw_=4fTq1<$Rogf?1QsJ-?U+{-e?6sx1)6K9EI*7v}brPZ*^p%3o% z%ZAR$X4v!aC3vG^i9OT1O-Ad<{pTBom= zMeCl_C9}nqRy{hK5)-`763fL?iBuJD>p7a6=%|&wNoUhsp>gETM0M#CqN31`@NjHH zB)8j4^9;I>quO2)mcBM4Oitb;URv^r2TrYsme-=`r$^Mu&?vV7y)ASJl_kdrS0e|) ztXrh@B*Q40dB@wdjHO!Ki=zULucPj_TT5xTkEI;S)=&zqqA8<6?LjBEgc^`GGa|ZQbLpn9{!cOW~+f<4(p+DsqY)sAF z#HFSx8Btk^rW8++OL=7)QU1s0QlW*jsJ-2SC~Ed>%0PP-rRp0*t-dLdyY`fBq62kl zkOMU#)Pd@H!=Bo)+<|KD=Rp0NJo*2Mzli@|{RZeW@t?~zHTpFEb1jUG%^Tx?LqJC& z$vRxr6(>QsyDO|;)eUz~u7;MX@zCDlKCC<55AP>+$G0uoV;=DVxmi_O($HfSZtMa zg9CPo-l%;-fQJ?g!plX5aAII*a&+D*=p-2rIETZga8IO9?IjJ8W}#t@HM$L*ir2Oc z0Q~_?Fj-*=c$x-4Xvs2CP(2mJ9xixj>s``&Z$E5tUI$c)LmeP|VM4j>M^ZjTo~T!4{eG1zRWhV{?Qp!pRJ?oXlc@COI9OgI77 z{FkuCs07{wlAvq)0`}-rxO<8{2IgFX#H{mhIYtfRRJA~j3Ao*SCotpL9h*VFKH>|`8l&kK+crSN6*ttWj9++27lnn3S}-U9yR(`hf|{=@;bjYMQjDqWfA167H?&?)EEgIduHdV*OKLLsMu zc+n=Get%&x#Hx7Hriwd&PI9L2@Pdh#l@Y>nwNvzC(|NFH#Y8%^+eSDTX+^ia7D3!k zO3Y^b{xbG3wIlWrb@28sYJu@#Dr{FKwLNVIRhXPijeWZj53b*i)*ctIn_?nnbQEGs ztGlR>`2c+#2RvT%@u+(vxYm@IIa;=vaP+P@^lci;K7%go_)|M1htx!~5`vuge_1M1IeAYHW zCepU0b8srWOEF?|Hv}aj?IYspW+qL=mbBs7+^xY{9fE#ENHJwhnt5hy89TO~Uy)ey zTtn67)yUecVcTKyu(nPOlP_(LZC^HqkM-ET*?iWP>0dTJWY@6p!9|;%PrQrG0b$9DC%S6F&CG z%%NahUs12&Ymkxr(D$NFfkk5Gx$RDSsT9~((5z0d&lL~EQ1Q-at~l$czmGS*~R7P^5S3a=gmk$*{aDzYk~Ikk<^@J0Xr-UHNYW1+sh&&s=KH}3@^knIs?PS~IOWb5?A;KH9O_e_v3F7*eZ`Tpmm3#{ z=k!(m-Jm|=e2ukjNMHA?%lmG`{5u@eSCmHlV5p1##@|=`Z~Xq#AgJZY@9R5#Ek}OY zw|dT3J_~;ByT!V6t$&>Ur@y~w&h@Oxm-wQ-b^8(@)wi}^;=B6R|4V%O*YC)e__{Iv zH@Gz72SZ)_H~GHef8+PR20<-HGQ7)hCc~pF$Fkhca&(R?pMjKbIdb`wTs~FDq7p@d%69iED&}E=7ctQoyw51!h)3S`%nmy&_>dP^V!o~4 z@4r1qPft(JRCRTARWJWOg>A%NBW$b6widLR@SXGfmHLUG4WXbsGp)J`+mt^hY+K>? zB8OFVFHKwP`+uE7Pj48h`u`b{VE>@Ns1W~%iIEc{rbp;H{!6Tm|8{hAkceHK+4wJs z-v388)QtYzi&I$JMWF)w4d7;48~lAv1fKk~4{oBB*MR-yWIsLUUFeTz!hy_{L#2c* zM+A9Wb(K_I4&+hSdrn7L*eszRspm)6lcXD={4aLZ z^S@4r^5Tim4)}bGBU4~=0t^Wkq4Hk4fm^`bYP@K}B~YW+u{xYucjI+Js*hF9)i44* z6;_?IiH4fvB6V4;uBSfEj|(UW?7-G@4Svhng}9W*kOG_GOwchq_~$!=V0kY`=FE>} z;Ka^rjCU(jeEakcl9?F~KXi10X+h!8=UQJBb>egKB-sl}E3UHVJhvo($N85SdhU;N zW0K-MGN%Wb(@p5@6zqIj8h%C$>^JCC}yp|~QAU2{j6UcBv#>9#Pf?|e1A ze+~bS51c+VFx)?QVt62p2d_sVP#gcdh-v({gNww$!HGTYpi&9+{$DyF`t43S;LNn^ znSuuGN&;Eiym0ryO|d-DM5_Jmny|l=&-w8erT;#*r(>`#vdg%OEEpTlHHO8*jGz*( zB1-rU$(isunQZLOl${+8%FdpU<|OncsO$({Bk4hCiPP@ygzb8^!|z?V$nGbAXjT1= z;)h+o*Y>fqPs9`h=QJY}weA1q7x))RoBtca2v}$Sm$*2(=;MENLiGC{ zbUqb@7Hvm4j<$H&fdrH}XaOjx=v=Mu;`qOAwn57Op+)Z#TZf%Q{=kE5i0na@9WWzZ z((e)90SeOn`);J9B7@{@jUX$+PBX;=V#%Y09wgfsyc_UrX!{tu+#{|4yz)l{4P-;s^~bZ~ZY7Q2dFoGJgi zIy&q5Ul-Iy1slg8Wa7CHpxGG39Av;_FH>|m*A>i}?2By0xAOCDpOuEcxPjUwE(P5r z1z`9ub5T^`VbC$MC1W`ME{YyK*e!L!eqbOdcRc$`<%7^JONk#J(Dco>=l|V&Ctl@4 zK-c+_JMWMdAMY>S)AUPxvc(?UXTV_6;k`1PoPLxUVx9|EtvCq_{@nrH>NXhuUswt> z8#D=mE}ubb8z0hja1>5^T*Ry!_7rDFMiA3EcY%G;A{;!_k1<}m34ZOd1@=6Ci*a0W z1{!zX1@qRffh6KMV{*}(6p1Gj#r!$UsT;$XRbK1KpmB@v;1CIPEJ%PPxGV9F`W3fI z420zmZb`e0>Id7fkLse5$-`CfQ6WeLPZey`DNsS|@j7|9Z_-{y(U9Nzyd~Q)MfR)& zL{VxITZsXMOBf2#v6XHVy+@TRC~PH4Kw-1xI>RIJ{c;v1pX9N)kd}oho)>1b2naZj zcqFz6V<-v(qgd$cz|}#dr`IM;|KCv7|JwC`XGd-OpNq4r-v3`GMD^P#Wy=*;ldpr& zD~F|Tf7_o4wrqh{_J0Oy*8ge0LZGH!=52O-UshV>IJMiIT3`zO%+2A#@X1U@#a7tr z_f7Ddm_D$gU?}eCzZgCL_j!E0_c7*&_63ZpE@=5cKbSvn98}c@h*su;gzm0LRVVVr z2cI&2<|`PQci(2|B;jZC(j6p3J;v3>-As64q|Qlzk{=$|8+w2yS}`@fEi)^Dcb+S z90zxw0Mfqd!oVY!6jOgzA}85TAglTNOx(NevB(dis0+=Rn&$}b1QQ-M%IUIadrC-uOrqyPU7ztlPY?{<55+e zmFWJ2j>M@gL-Ic>Apv(X(QhUx#OBsmT-el;m>hB=1${l0@Xj(gD&Zrz{N56!O{*Iu zrNd%n^H?Y4$lKP+%(*RhCf859qhm&b@@O{;W<`DUWJsiPcVhP4qP2X{~*%p|D!@80w>n@6i}`9A8|GR zFGs!qmu`sKKo0t2banbb9G`B-qz$!4emAVZwBR;XWRS-9Ll_GwoXemj?5Cn(J9@~= zjJefr7FjLpO!~cTrTpx>Fw*zT=VaW4EON%e4}_;!k^%cMqq;v))dL%jyAIxZAR($c z(7NEUCYNyU*-MDQ$0y0Du!CgN#-Zf?pQ&VJ+xDdNJ7@J=?kSc0HB`xCA`@!gIn+|&hC3tgS&zY{y;s4!$OgcSz67f1X|$p4es3Y7+Rj$1S20DV^&8` zz?ZHLasSAvtvjbH2B>7pOcjb%WqQiEeJWR|4aio7Z1>m6!?h1*Cu+!cpX%el zPw@{AoH|W+{=X7uhidZQ!9_3sbwX4Q9d4P93g)J@xw;)QHaU12rxvAw zu#G0lNduBdMB-*L)OTQsw61S6#qw7fO8HL(jkuBr=lqvF6D3x*X z2wP;_xg6Q+~>ni(_p>=FcjPewuKGO;lI`bsR8 zm-z#;{XJ3N?r}(%e%+}Yy(wkBHuL=rNG<=THfH>nQ}yw`SnvO#8=~XlW~XA959ZBh zI(3c3H^+3xZo>mnsqyA&@eP`FUwJ*9w*~OBuTq|hTBx8Z6D9yd_m)$yLshvX-1HHt zh`vo!Wdn(I5`JiRNIiZpR?nYSP1U~GkVjqXYH{`f%ZtMFT+=|dYtl~tzmkUk8!!IL z(W!d;my1}>|GFT`QzrL&g5(`W%x34$Q>;_je>w<8I&{279s3$i2uZHy7{PEFx!qIf++VG>5*MlVC>f z5_ofTAh-U5sFaSUWZG#>{9l*)_4W<{JWLiY0}aw>{~*%vf1|~JNhCGIe>v&&ls`PR#ja4eVuk0J>Hr!i8Of z;n=N9VdjD{(CyS$Fz9kiY%r*d%pW~YIaaw+#92;dxzPDYbw!0+AIR9}vw@72e zp#U_lh`QF)o`-9j06I_L-jHo>(qj&yI9X(gDK6R{t;AOuTUp$XnZrV4aS>4@r91)@ z=fe*&mALne#olI%Sa{wa&BAOoVv%?CS|z%lozCK0myLkpfBO>k)EK0Z|BV;_E61HLgGUZMX{;^i@f)Xp>I<8s_=;642A zkz+W}*N{y2GKT?%61UJ08Ekta46gmsQLXb)`6qYRPHVFB)TK^6Y_2fHQ+Bfm-*fnl zvcEPqY52d<;(x@>;_C4~`v3pY4bkyiaEEWer!za?RwW(r2GSQNP3_9;D~w0hCaz58 zQ-JSzOK^US3wpA98M=C^bu}K;{C^ogSH}BdP=2Pz`MEzcc09K((Majs+)XJr?F6@N zH&RA_?Lp+W&XDslvvudjg1jC0zwbAxyf=sXdY%zS?|_G>IS~oAcYTwGLa$t7ZA!xJ zH<>j2-)Qk45=jm5ANuvbbVGD35|H{_YSQg(Q1;}SBEr5Cb7Y5>4`#H-$rS_{WE=sx*Jh*g+}3z_KP&9{u^~|IJY2*0kIDmnexD_+IERM+ zua35=155kbxL<8*4tL2Xx^EKy2JDSlAV5omFw=gDj%l5qiinsQXUCtugq%y16k$mMK(RMBp)ajtH+0Qj7MVvjZ`R5 zp-6=dGHyMgmL4L}L)q)(;o6S+k!8C#M=vUMlQ(O<;|4NiS^i)v%r4Lq5^-5auzft`E9jnj(JBju7Kb;WO$J&HDFqiv^ zaK*?zxa`VvFxy}lew6-W71_a!{aAgjGRDkEb;M#vB=MQzOg@yCkoVH!;InO8$$krj zr_F1w3>B?nxN#q~k=d$k{F-fb`IUD5*R6-otgld)1-69Z<5_8>K^y2FPFnom82*7UP&a!ad6zQX03ykVb+3uX50KLA9_rp|=3F-0L^KkX!bjgN%Zo}9K%x&32 z&<(1slJO7eG$Oo2OBJi7L=jcRLeZ1*5KS#)tI_1ZD{55=jPG31- zU`vc{e8WU~ULt2kE`?)z#KJE}mgSgJ4urN&>?}eu)HG$-IT7Jy9W>r%80tcyekTKKkx+(EIHnmFXS5jOjc|!T$ zp>hBJ!O@`x|6l$3&$=PXPj|X|nUpmMztQT1nrf_n(#Mfkj>g6koyYUkpwq4|mSbE?bW$6NgUSEcFQdifa!Pbn9`-uuw>hR*t-_!8m{#}5-J{zAQa_FBOyp7^{7X3 zX1+;Mv|bfjp(#O-qW-8yis(V=RYWC7)6jD(h?M1(5ajIHAzrQKdd9OHk7~3Y^(s;7 zf953LoNtEzx;M*hb*+E)TEBJ9%5l^JJPS>A5~o9pYSWerugLZ=%^GjQYXk z*)7eQ?0wV}QGbJIt2j8P-?(|=zM?JGgI;;oqbIhAZoYS{f%|9W#NLWCg|QxD+L-s) zs19Z^?uH*rbKl6Obm}SAt22w`#WoVle>O;*{jdU?9JPWi`~yU<^@DTr8d=z$W_?+g zgc_`H_7E}V#8+Z$%{Z~%gZJ5q4UwjOg=<*+DUo?~D$L2~G?(%GpM$zaM~L-m{!?_b zP7%{z8E$GgVmtfQW)jP_?WmhKc1$kmzGaW|PFlVs>+?0t*)V6p91XX1-!}s?FD^NA zKrII&IT8@sm_s3bx;B}vi8khE^j)eBod_K>krnm9)EVOMdD1f3ffq+LSl_UIfjnHT{W=(dL}+Kz%TWM_Y4n z#s{@A1@fl3HPw;YmBtRWjb>MJt?;yGqG^7P`e0r9oef=Fg5lbuL@v~y#tb*mr0e3* zmKYxxhuD_-5_xO11gDJ17f5|P?m_q&-(^VY(LRK6sf#;mJ5nEM;Pr^v;5YQA*|3eY za3B66E&9wk%4H_o=s!B{Xf`G`qSv@cL$eR)`yrJB<-_(g9%&2+=U?Q9wx)5W^EVmWF>cg?dYVan$_MLF`gCpx>!EK^PLv7#g0V?$kN)wXekU=k z8^giicj7ntP8B-#)4mNvE*dj7aK@T(zh)yzfBrz*Td<8F==z+^K!^I1>g_0?AD?ia z7UyJ~r*<*wg7F7PgVK?l{-HV<=L|J|G`|98|HN2AJt-gh?qC{+*iIK`qz?McAp_xo zb#a^a3oS;3r{^g&x7GYA=+}3lov@FgUTA9?+cvTf{bmMz+-SZNoW}*y4tb#OupQb~ zHa;Ahs0rvQWJ&q>W}{;tzU`M0=uNv8`r%Lwjta#h2i;4{b;F zLx0n`0~$vh8kZ9U=ISaR_&gOhwXG&^E|(86@)@|-IR)ZPFUbwxI0F66zr(y=iy(5! zZSaa*2WcVu;isQDocBHhIX*k!*Bn9KC#OU6p0mKaMT|7*H(xn2@)E=x_mrnUyaj_F z9)w$Gz5utSdtu=Pf?eYSrG!7K#)7OsRTZ;l5g;||>YdMDgGwgJW-%ZEoFyU3UF4~lska(T?R zXZeBHyGq}=m2wZ9{6_L={D7~x-Gryu-sa;?UHR^qBtEuHeLkFZ=1HML_}Rl>^3ZZQ zQm;1I%CPmlc=XkONmW|y;DOb9Dwgd%xeNP>x2qYd9INijmUiqf-99jZ_lmgA$K0#S zKG{D+3Ge61tIs*gTYcA(|M*AE+>k2sc+R0#yia_UT(`tVAe_$QnUE;9jjY2x2qblm>N8ArXTNJubLcF_mTAV${KP}`b%*9%V79ouBYsO z<^Xi?TMcmoS}67E-;!9ct6cZcGBA70fdao)@}+4$u;`PM&@}cpIJ7qlBHG-AyHzqF zb7ef-e7T&I=NbW?VmoSx$TV3u*YO?J)1vf%2;Z zZE&IIx6tECLkJHnC!cU%3Z1+8%E2MaVZZljsJOhkoZE6fT!@_w?gSyxB{hnTswa7nvnZpT$D0uVqYn`us~VswE~)Ywilz4@`BsB zeHkpa-^^ckjDo3Qg78h40GsUiJWMcKO1AC$VWoY0vwhosOvtitZ?tb`+L2wnU;WSR z`{0}6cKl0wy)^rOJNQyNmfMdlvv1q~n^VI6N?tCGu{tqS#s8-{_p#BP6%|oO8Z#B0 zZ@#R-E9MnRh53~h!755qw@&5uii+k-5*&DUQX>r>Q`eeQ2+{XM6{V@$H7$&(SnN|- zQPJ#Z7DKp|Z{mRPbFir5&#F5h=p{+Tq;s69sJgX>2Jfa_6cvRPTZ$@5Q@6tTijs=l zinSb=?)ABd@Cc1#Duf%!4wR;@|G)&RipHJ;L={zf&6E)Tcr(EP_w&6SC{5jakqaC+ z{LW|x-g*0FKxBrdODcAbXAYF6?gzeeMHSZhH<*eUIRz4;S*uJ39`vXLD*mjxnUB_q zDhfXfP*mJF>?I+Zr6-CiMh2uyDoRtg!|FbYiU{{i2fFW*G(_EFCKZEv`$;NFQ}^oI zofH*e-d!D7KG@6<4H{OIRE+<%iUXyoYYCYls_6YoiUUz&cSwkB|4eaU-qs`sN>g`% z+)YujVfUP33^;8<#IK8yRAfwE>cF2>7d%;xigt$=Fcouywu*@F>+f>F_Cg~`MQQ5( z&zMqBM2O#_F=Mx@@d28>`F4>awxAY^*LDtINjf zvaz~stbX>fTKF3m=kveM?frkRz22(q{eRD^sOyz`mw%7t?H|vQt4`ILGcgXGsOFZc+ZsH%cb||=&udP zJy}AJKA)xCLl^Y-4DtRVC$v>QC=cG}MB4P;s2SAtNA;Gx2(LV@0)7=E#q6wE;=bd_ ziurC}@Ztw=DLXIvNj$e{a6r#S(%RPhSo_Dp%HDwy%DFSGc-0}b`DnQtkIFpC0y95S zzJ2u&^BL^RCl!uXtZS@F{qKBvcX?3E-Ef zwBr}I*X73}n(}VfbCjyXMkuqFuTd7b`0?gL{nBI`q9%K&qM7NWk zcl&?adH)N=IsQMl_dm93*{1CMkI$>9-{|#P8)01=xrupPayO03$+8N8Gq)vO`&q1$ z_6M79`;xu>K?SK-hdkCHVzX$OUY{+rHn4h~zio=nbYlk>g^0EHl#>p;cFvlepK5A< z;{w}|;U{*;$YIeLMWWEk{KU6;iq{e2`J(LkzOv{0Xfc=U$9AQAzEA!B>Dbv8d|>S+Y^t zS8I!8TbX6u8uycQG9ncUJ4Hc~N`#WGem+w&Q!SsUgMh{42D>X2-#h;&1cC zhdk@?l6NS}i09R>=cW}&+h04b2;~3pn32+v9_tZx+KQ7C7E>f&UMz zUc~%*9d*20kp4H8|FmtH9)B-Ap4PUkJbQ8Gf6wdvzpVlTpIHCfw(R>ae^F7NMY{aP z7oyqy`=FSdizf2{KQYN|0!wV$osB*`gkAVxo!Hy;sI_l?6uZA-l4)SjQf7I0I(S^s zDr>grVfqk8Gq?Rq*noDcSVxZxmL~>?;g1rTU-=AC@ER@Nk4iH2-kff_l#yT^=bFM& z_dPKAduCZ#-?ePb`mdO!NnFlMw~0*H+tBK^u9$zrYF>9Og=)hQx( zj|_GpdX}vJC2OuQ525Qa>2tSqy$sEz=(Fo;;h?99xf15G0EYEh2M%O&hH4R!$3i_N}DEY5F$B(uG@+>rw5s#tV`0FU( z^bY2pR43iKC2CW6@|k@gKz`I$TE0xy0w8T_e;er64xm107nGf@Z$%xA`9CN0(H~|) zkFLX_^*O1FI&14yNlZHU(s?r=*CYm79Q5*Px}zV++66P{rV@%0R)0GX6ZGQK-$p$#0~aD9u%kpjd{9Ght{)@ZH+eJP5Y>g@WvSmuCrx_J)A@$j6k~+;4Qk^j>}u%O$P;aiu}OV{wm{pX{ZV$h9uChBHp70+ ze}Xd((AH)mn}=aP+RGS|9wg>~)YWWi$OBL(M=_i~jq46+Own_w)|SXm*FqZQrE`2J zJGGtGPIB5slTi?K^Hr3Ghk-Zsq4E5QI_dg_tREkc2KpNH0Ag>9Upl^{Pc0=hX^u(H zPv{Sthfuqs52@d^xl7RZ9U#0=Z}bbTr`ebEH36J)rWPBihugFuFZ2biU=9ln41x85}Yby{In5iaPCpez%m^)i@`O`s&X0 zg45qNvJd&t9EFaxC?h==&^|@y*fn1heX*_aS`77~F-F&`QdxCl9mWTd8FdDDO1~_z z9UafHF2({U`;Z>ir8*-Wsvm$p#vO&oX!IA2XOtV;T0kG$nxAC-IH&a&L4SRUwi2)o z(F1u2;Dn__Ui1aV0p&^i8P-QRkfx0sLmg2@dOp{DF6nK8@j&xE8lM>ZW`m71o67|* zf^f8HkRtEC&69sQ#vaej+Kx4j;Jzcr0wgtFFda(O{1rm)}EK_C3c^BXMMR9K73aEa){{pKUr{j!q-?Kosu_ zH=X`0H2rsIPCpO(9>WC-w^cMDR*v0xb{nu%WgAlLp;e~LKKk*9Kj}^#4ML&tiDHpl zno#!AkG6Vzo_3E@VAdzM;i82bvygQVWc#hc6rDI48(_gZ4nB(7d%@hau>x-#xf&|= z3u%t{7Vca+ingNO5S>l2QtqO~Y;2}LzQU9RUked7zpm$s{Q9#h=N;6^cNXe5xInVI z5*PK$5laFw*=z=RI&1@|Su$>~OTeUv!K|$439Q5yaJy*(oSF>S<@L$t}1uOlU)D~aZ#Re0>UTDTCJ%|C21NA7_jzIRg% zZIpcEli!UOYVP_9{P6^on8wri4_$fnqAcOE$2P%wXDdN(Z3LfER>;do-lp4yD1NP5 zCYK&IPe9Xhl6^&opnAPfa^xX>rQyi4Lq>vea(6+|;u&>YQN`C*oS;*5&hQ;xM+@>- z>UsOtM!c0MgzC4IflpBi?v?LH^8GvbxaZJaBqTy%RJ`>?+*8o{?HZ9F183E&ahg7Z z&T%bvc32fLE**!Mh^LrzVjQwUYw^261eC(sGBtZ=Nc2-sGh-ptd*oqkN;}BSIYrGp zq7i?y5;xyeA*Q=Ln|V=!-KQe4FD?^128}@9p67Al{XTx243E77>tLU(hi;xZh>NYq zZ_#rxzBnBxOMBDPM@0O}J877{VGt4VKXDpYlJL|I zGZ<-YPvb*H5LXmt4JUUM2A^<*KT3gDn~6{qoN!Dt85uj@A^S`v&MB25;Zzw-E7If7 zyx5PI1~%}Rs|NK$GHfJ^z~*RGcJE0Qr}}U>2Hvtj?xkMB2-Ro2$n1G6QIX9`Y{h1TQ(QjZg>4MiWc~0vIklh{8yPuX zSUb~4FceE*H82U|MxT-%&zZ%Y8i%W1XOS{Z%z91MW-)T(pu09x@bnyp5%s2U3R;gF z;th~_B*9#j4t!kOXq4uMBB%Boewk*B>e{n>g~~JH;+q5RWGT*F*ac$p4BRJE*6`jL z`Iic{(5Z@fGgO4aYtCA=v0^D0~?90fUo*v1)uEvKKkh-|VkI zbzB^;^U47GPc`B~$Q68G4DS|3BcZ4}>!{n2&2HR{_`ZoaxuP9>TrDA5S&{$PH<}x< zx)T;P1PaEv6LDv$9hEz+Ney3U2#O0@bDg8ZK+5(Co!=J(pfr0HLF1B+%q!ZRRpK&W&)v`GSWR&1czV8Afs(3@y1WHX|kFL)O-Vk z9iBC`=XN>aa$j%3y4+GQYf_}0-%98Lk1j&|s%Ww#t&FZ*k|2!n^`-00jD)ED=0a%a zJ)F35tgt!iF-|I1kVP-G*l3?Oh&p=_k;V2bE;@^9Es zMa@V>@?!TOOvo>WMu;N1CClJR!Ui~$$|CE253px-wC?&{s8nu7iTWtMHZzE8niqhv z$I{W*F9R-1)EUa9^%zF2yrX!Lv4~}bY2k48YgGFiv3#`{ zNE&3Ax^FwS_)rq6O75b&s9>FQE0k!AW;fhfuO>!}2b=Q~T z>{3%!dHywq?vNL*D;5cchc`nvrW)}NIsGfp2i?D>(M<2+QZagj>BNwD&@KY894SCS-Kueah*09(jwH0w7aBhG z6?UpVr`dPIgwyZBXt>2bu4uIqS35hMAE|93h}P8edfhwIv|ZLhU0A9Rl_tH3OFu=N z*N-L|gZ2si7B~wxi=z0jrwJ$yi-w)k1H8U^4NbA}unyRV%LZ$3>0l`Wof0ul{v^*C zO~s)htC4o)0R|1KM(pJod{}WNbnXVz%bHh_6q|wArG14R9 zCLDCBgLVE6n2#)k->Nm}v7izeUb}JQKp*7jhG0$aIGk@=2GS1Tz(iS=8`1=ykk%L@ zS;tuz_5p&PW9z{n3|lq@1N>f7_i0gx>Xw9*yq}rto6~r7_aQ>Pmh!P=pZedzi%T&LE2VNigX*g(sHzPzk#%^oV3)D{=Rho-*_z9&yORfHqHEhdS_h0 z$&hAD2ISFiVO=OfGvA{f+~YXcjHd+jTO5u$@tGFwA6lEtJ*1iJx*POcH0<~I%=c)I zCWn3|J?FtUF)i8qneWj$*jk~P1n0nSl6kx9XIiv>Xv0_6(q?o*zKvS>g3o-9_Ga7# zzL}tI`?+s1b%{KN8;gg7V}ysQn+`+hI1ol)p5az^Z4n~|Ik`>1zCPVOcoE$D+tb07cV+tPc75x z$;?r5+(6mJf=h>v6YVTJQtZ){DEwM&HEdfEDY2eK3ayMeW)vuXm1|C;Od{y=$Es95 zKAOA=ol2cHETqxtQ>clkoES~MMvjH*(De#qsbO_%8uWH@!N`DBM7hS0m~`Aiwg(px ze}x5POLF+kp)9HX!{y z?i9Syn`2pL=ucZcjHhug*3w-wsYX=eYz+0> zQbX?a$tHajROqI{ne<(R9&L}-B*ry>+*`|&K2378xqto~*ErP4K*KuMqj6|!i!Rnl z4~JVPEz+`{wd?#)%L6Lb4z>+L|2LXH`X{WL`A_!y$Z1`upcL~Ny?(M7XsUtKbz87s zO4Zv07)k4C((PuhOY4sx>*3Ab;Li*Q7>obw_J51xX|ewb`^)(6JAbC%%=!Q3+kk&H z|BKn+zl{GT#^z=%^MCy<*8DD4#VM=6Z{Aj}yw;1nC|4oc^H%0()bA9>wcAS^t#**t zQW?ALyZipe<`SPxmKco8cD< zl#fgmXGD1xIBW?f${jQFZ9;PY$uCEK{`?X<`=xBQKVx@=e~!=oIv43n4DOe>+AsC5 zb78-Z#r`^v_pf;aU*}bQiRu0`$4L0#-KrxxbG4imqa7R zpfQM=Utaexcc>Y2-g}%x^UfdYoNsO~x2ta5s;;iORky|rTt{qV_+_y6dBru=mbKB` z%j>*#W{T^gF~7*i`T=3UYpgGxWt}@%`@vY&LPOb_aa_lY6w3f*#WG;|Sieb`iHp@0 zK8HHMv}7nNUzs__HQY`%PSKU*tiAcw+m!rtLf6A zAHEYtbkM=DsP1aTy7$doi|a~wk8JVUdSL-q9SCco8H3F zfpPFa+DiQ{Ugm51i*T`^F__knaF3Nfin_l`n1b^PGJQ(-e^K{=DOBXKSLkJ*(!F5( zd`kC#QQ>OlQ?IE!5egE`&m2-{ZC{RaH=i5L>%w1OTBYw}>Hai-r*y z`jSdR#$VtU`gE1t=G-x;Glb%Rb8t}ZPbjr?G z(!5j2L~ZX^$p6>M&%MG>*8iJ3ZrYTIffGY#h6GL6`Ufvb^ zzr2>9w!_1RxYBKj`)PJmBa-9%+`!F@>mI!DnW1=D5{*6XVbCsp%F9o++Ph!Y;=2|s z<3pnx($kZi$nBd;iCnubzkl6wGVofK)~C1?y%xnL6S=augq#6G|NX9`L7+>q*}^&B(Op^J&oJR{WX; ziS+c%wL}-}Pfi!#<|lW4kL+@bCm;l9PfpxS6XVl)nBI#Y_|75zj)xufJNJX3O~+Mq z^td$!{p=-#ZHJFkQh(L&ovB|Tyu1er_P5wR4ci~UeoX>c1N}v@p9Ns;C(iblFn!i{ z6U=cS#Xb=0Yl(8QKGoQ_L0(J06|DVsbx_t{vh*>bEdSWgk{MXiHzNUT{3SWYzZ$H4 zHQD@G;^N9=#B>3y{o&YsA+U_tek>awJ`3jStdFP8R(A|P#=-8rz?K`9r_Saay4$%nYM}54a$i8vRMz9HtK=Zmu-7s zk)JEe7e3GW@LG5{Yrk})?0DJ;WinfQR5_b=3ar~#Baz={Y#o2In)(|n~ zjmqNQx{bwE&0NH7zVqSesTJ^>TUD`eaA#U`K@vQgPy~lN<_cfNwuPy;KLZ!P&ceZY zO@#obcxbrMP8>S@7A)SagIYtXiV-*Ki8VrNiYG2M7wzt3!@QsjNb=bMzZBJhW81dF z5_ugoa#;xdW)6kE)g$3_)OD1X5A(j{eSBYMT6U(qmF|E3cj}WBE}3d*?6OXK^JoLg(!Rb&4Squw6Z@P8{Pz4} zE1F*W0}`Pvq1siqh|{pAnJj&4=g;I-Ja@0)27NZ_D&aIwd6xd#z)3jW_91N^Q=ja1 z{YYYImflWkuUSgme`qJf=II2Mx;7C6-R&jX!ZtgEykVCpOPlYwPG7}yuJfJ}kIPX) z#FC6RFjBqB4`iY^HXquE|DhAlJoB+h3!VQJq}drAL{LsH+2p2Ea0 zuThr%xc(#IRXjJm?R`43ZUPy*!B=4E(u?szMO~_>OBHpgqAvZn)g|t~IGF8!v&IK{ zhIs~lFe!A#q-n4D|35svJYQP>rSa}qVgGv_p_+pD^{s`FtPv#V@o93>H%NFkDv>5V z4wG#6_xCdW;+V@aF5x(<@gT+Z>oQHp5ZWMXO7|;r(&J+Jyj!~5V&i!E$?_s;(HGrh zx_qDMxSC0}B%jiGHEUX`=SUGz-ZH6tLo&57w$wKK5x&Cb(@pabw$wKK*?bk@)rPY6 z|CMb0ZwmjW{rB$j(*FNlygOI4|F0#ewgzL=Ev@eBr0&{7dS3fe8p&~qG;Dg#Q*B;` zA$x${pbK7Vux~$`&s;W;O#ToIPX2@F+|BmHCEA{zdE1AcUv-%ey3xYGO&DmHSgkiX zYCK5%8hpiHE^2DH?LLb*2G6H<9n(mDUA8UhV*8;KjbCgYH;^v@C9<)hf+yK^gY0QJpOfk=B6J@{O zXuq_`0E|tSIZj~G!+0$Fd2-fvYxX&m&0_24tZmYmSIhUF-S-r2w;X4&;iAr2`SCfc zy+#>ct3C$Dy=3oZ*D*OUabY>)G0Kg$SkyDhYBbA&Y2dS1HkSBpbckhw<%{QRJz!-* zS=jkURtK1OcFuv_qZQ>qise_aK8~}zH)VlV_O$s~01T zSAO+F+QQbe3!u7xG^9FShN>?X!N?ZHQ0R08nrT&E|(+~BFu^y_7?V#7Zm=<{!d z@D96$Gu&qoI6Dq1C$ER2&mMu?&&cz&+e61edT27!A1W0DLyI1t!0g0t;n2NxV5d)q z3y1H)U8y!4NUsU4V~<0j-*N!|Q0R7Q83eRFEG_uT6Q;CHgITK(dW9U8$Ef%CTlvY>$0y=evVB%1;Hy>Ie$?M_3^5bRkWmq zJaxUDT%0^s4u2dkuRHH4v|ce)TD3uxU6zlK3+(D=Ma_+tvmIu_q(0ZAxMw<96A#d2 zQztoq?v?%XyU3SQo|Nuu#pU~Q+#?0I6c`nJui&DBpB3Cwa8|(!^YJAGC1w;VxMO}s zrTY~eSCFefQjo6Th=M!?Clu`QeVu99nevwHqvG$>7c#~;Qx%h+CYdnr-N_Q-=nY>J zj^{d?P#)e#84CmzEu~5(6rJ~$5VLcxn&6llZ$f!^<*1#43cG#pnUK_Ij)d@cc9vBP zyK`Go@v3;^j~x+IT#Jr2q4DB=2E<`cSyJ)1QoIS};ca+sD^ZbleY**l+svVeo`)PI z6;a)sOeha;dbpmdSorlSqGHspaRMT5&RP@Vj@CD!JiPj9?Ijg~kE#eN9{Zdjh!=xb z3M$-}-885u53g=pJxN9W;aY+U`&xS_qWB#>Q89s^AgOp&yzk1NQx#6DwYG5oo&L|#UBb4v4LQx55*7Pb^(J1Gwi1sI_XsMk7wZMv z^Bt+FWL>8Xf{K9Ega1(bQ1<@Mm>D>8?xfIZ<3e8d{9h;K*k=B(V*USX3aU?=F=r~j zKkT+4xMUdZ`|CgwSx`uOYN$Qm>tU5JR zc0b@M@4j|Yy11t*T)*uGN$&e#^{iy6c)}pL@5u@Brcvqg@E4JC>Honu_9^w9>*{0n zj}uG%ZccA3|CC|5yG0x6TWfpxV5eUs}s| z_216F_tR2C;!1a-yONrzDLO*-za?pdQ}&af4Q(>d)=MXSC#4W=ayt_Gun+CJ@|wYz zmt^2P>UXbJm`>9g{bC5I6lRFjwPdbPK-Ur$FA1#a4DGdT^dZh@|@^VaTnD+9ZN&(zcaYs z8N@g2pF|HpG;Mhyjht+fLfuZr^6yWZMC~UZF%%rzM_uy@4M+SwryeyvB)zU|{+;yb?n2U?HkYWTY%SCpDFAIV|*AFJI9CLA9mgaZQ=NRWS?dI z4e*?2G&ms>y;%9(OMR^{##@P>vzP~$I{XV z1#5pEtjFy9u8!3;^M0VtG2d+cM|tpB)IF;&q->em)>~Gm2~1o@D3b--1h&j)(g^#CnndW%pRWFU&8-#rm1b@JP8(wG}6C>Xj$NM+ZQ3j}&M${gRO6>@5aS*DiN^7*#O~vNg#0h7i!D3#5wHF{R@AwC50Sf5L4U$q zbXaaDCU{R1KTB*bu5H&!e1D2o^!n-o7|#mgSbL4w?BuV)Z}VKlhW#^Oil(L5b$%1^ z$iV~9cdkY}QQSeCxA_CnYjY|bZ{#h0leZdn{h9>1nQcVf+vF#3UmnEc%d=ydu`@qb%ifS9e_#n`}P$gKPvTKPDNe6s=K z4<7x+6<^g5PkR+Zqq?4A_D)YRa78Dv`ZBGUSl3nD674EZvhN`JJg6b|$nFK>C$RcK9WgWJOSn7^L_f(vJlg6lF*|e+eA>1%WRKCq!rcd8>!+UL zJRcr5xSbM4bjgM1i{1y1jxWHD7@>Nl7Gl?BBS~&c7ufU3TKU+y;gXlLo|YVF47x#g z}Bf-=5FsJI|Rp&zU(hbIzIPob#M#=zBY6Fos`gFiwAD(A*{6m`elH8Q)8_)D4p^ z%*w9Y=t+IGm_*H)%*Nc#%zoKFXxpHpbmL@KrpB@dvKmZoFpuHS?a2(NmS-MJ zN~cv`B{6f44`due5Xbm@?&y@-WVo-frFu;VTwypQbkdK;VtrrfQgt79Fx;*>C6X$5|NtT;C=} z%_|h)ePrVTwgU^!BQLToc=S1oSiFy{?urW(3)@3QZNhER1`#@B#j-=zj;2{GEVF16 zQ#S3OSiFyH#642LBE82-sx1u6Hy7c3WC=ZMoW=H_QfLcqNy~8-9kOCs>#a*fa66mP zCZfz@MR*@s&VQg*d6%2e zi^GEfH?v7AYaS%*vmh%}0M(yKhCR=2Ag{tY6fSFr9ETpq7FWch7uHp1-IvKN{N9P@ zgr)n^ENA<6?{05yAlzslTt=MMpF*rRwI#YQRU-=eHWBllJNyoij0$Mn@OXOX7ym`%wa|A<7Ty7g0{AH7T*ta$hVl4Bxo>o?AVw3XkC1_XvdomDF6-Qt}bMjy=Al34}HzUTuF;%-nZA9T?H=~@P(j3N&K z%Uj34V^h>YpMc(c|38)g-?#q%!MvmY*FMCyqY8?0(Dmm($kfLR;MGZ4l-y(i`wu!J z_1;lPv3>_B7dQ@LuIqqaSvRC(Yy-E|_Mtk*2bjxm;fT;qwHp(CN8lp}Mdf*xh?vh4 z#6|H@kxV2QT?mB+Pac-;HWEeV0rC#IO4=55Mx2J(`Mj|C_VY|uBV*^$;8C*)X69~0 z5jMT^@9ocp;{J+|5Tl3r`fY=Rs-J;VamNms-zT@kZ6pnUl!I#j%@CFyg+(4ag2vcw zvwxYIiQLEQW5&PPkO_}7;Kj_l*bgJ!Tl9-oiMH(bR5Hg(NO2K0^Vf5h#D7|!D77y& z-!1tjO6w33eSsia%`r>O@wTvcAX?f$yq+T^TH0|)+j>ayERm;)mbNL<>pi9CdZp)X zrF~UOuP>G4RdPR)_}6`S&Ko)Dd`tUeX`NrmGa@8mLTY|lYMx&59wH3eVH(l($HlDt>xYfG=Qm*{ztbH8~fZ2x`FwnEx<_HKGmpez$wcb|TGj-u{$ z*Q9^2^`On{_|&osJfcsT46U`^fZNGmnY%=tBq}Ty5?Q;Z5J}H(;ryPCg!cXVW}S`w zX9BD91hM*)gZQ5d$wH(Gk;dvw4&pHe7B$Ur?7te^o8#GW26pVhuQ`2cvkV*F;vn`l zlOP1`(4NFw_S$HdB7tpAyr znOm5fSd09>nRM9ywhI}F8Sy#!efhle^jYB_lcfHentZ$#;J>K;J?xTJLZ4ehs5QYtqW}V7u7W(-p_Xf=XF_>)HO*RtdWwF zTt}iqv>t=4Atcv(^Q~2RjdF!H(+*Wt5u3Y`g)N(}G?fC*B-m!|bsjLY!72 zCmqkmvFDcNO0Q*%TF6SyEeW@Ux5>0V&%363+d2L@`A+i;3i$9Qe=X?m?El2;e@)HI z%}vZj$4xD)Ev!1~e|r$SMn6YuDE4sTVB|FK0#-OKu%(A2XZx=EaBJS%M=&Jcc6cauSx=&q< z94}8qig%u&bx)Rq;ff>(bLxhc6`TcL@FPLQf^qgk%!^QCx6_c;58&Q+s(A61>sUY& z1F(4&@U4ST(p5dYuDTWu+Z+W2Z#BHv{yk`NmkzREWIeYhlRpy_jyN z-JnzQ2XM-dV;OZffOqXYRyl}+*K|K4Xp%QVp`&#uxwquIt7!Xn{jqi5kxf4!=Or$m z6-cbIswRf5&LxaR@vYmU*8Qv2@vJSIG+N95CB8LU5v#jOqviRU@4LmZ|K;~3*nfqkG%pNl8oRwvHOtNy?BwevaB^pH8zd;$VILwrJg z!aS$?hWUg@J_w;)qm6uvPT(NQ+Qn-_-FbbW~Bl=@-xh51=Tety-1)r zLKnO`4@JH8_P_OPhr_D zQ7|g8l6J&`d354O%1gDRTmWIwiapgWvTM* za@0Pi2ij7Vk1|zuA^mhYs&PymnS+l{dQ+-3mE$!Vx* zeiUqYnT1TQ=VC`^I@)_VC8JRXvtSVK4x;ZD3(_6xpfRi;GQOaXH}3L6`&7R~QDd~= zQn@agv^W9j?2NQe>oXblYdpY~KTd?)y#`ovG6i+_7oaWLZm?kfZqzV#DKe}dfg&oM zf$xB(kthKX1q35;qem|6#oRPEigb+kSjVh?g80jcdh-P z)#2Dp%}tQ)x&gblFB#?sUxEHr=g9BI9RW^bDpW5CMr%E~ppi5Cq2CK)QR%~VNVy~j z*nZc64Zk9tr&SO^#Mmw9!iSn!M@fY*HiFxW-;wdqEtq2FW3utb6Xf?Xa@3tZvefN_ zZa8PDlijQzBN3Z^f$h_|yrd`zYW6%kH9TqzgQY zc(Th+YSat=2$XYx!Xix^k(Mxh*DrWrP#Ay@kBq(=Q2N1k(d zLAv`{;hHxafNd}2x~zfIGb`a%K@3zk>7!dsT9C44DJgrzUohveFL}P-?IT0Ei?JZ> zG<=Ox2sG$-#tUsWKu`k@kIKdIpy8`+KMLFr6ObC96 zw1fQoZbaM~V|=(=C~oF&hP#B<;dVVZ_+YtyxX+3TsESiU&SSp^d97lSe?42^RFz2% zoT@BHx&8!mwz+_N7hZTXD`Eir{4J4I0cYbZX)*{ti$>wS(6th zxCrJ>>`uyrZqIk0dJWTbU5W3RaTfG?Jpt;Q;}BUf9A8&Oh0GRg^7F0u{DTQ_FN1?C$7F-O{xUq*q6V%!m%$s(U571= z&Sb170UpkUWc|o=!Jyge$tbO{f~aTJSQc+Dp74L{y?Z!SUB5Rj3L&9F$@!QL&c`+9 zcdR9e9FkNzIdnwQNs=T=QjUq7A`z7$IkV;%b5$xuhr3ilLef!5DxKfE_IvMr@9TMf z*Yn%&wV!*xd%wQxpS7+v$6RBsd5!V;eCGImKVy*qY_fhpiD)C(@-onYZ5Lo}b~l80 zcS2`K3ika*LAC>n*DX(DS{gDiD5@~Jh1Il;<{8xEmkU|9g-|c9hJ2@F^mD%0>$Mzh zo}G+BjZ~1hk~uMu$c4ST6$mp{4By>9h~MiZGwbq~0ry@K+TNxISqrA4D$ir!lyV52 zmJ&sC@@&z3t+l}6C=+^=8uYH&hc`sWGT(iD@DkoV{)m^NU~)kfEo(kSm-;<{#4&T> z#U^FsFzO5F6kDK?u6x0ybvkiapbtYUl5u2dB9q}9jJtV9`JpcFX@xL-^w=?ClL+fCP-C7B>K57wtYUC+zH*wbhrh> zc$mwrzqAawd!0n%j&DSStHJ$`v@d;tQT%-ya5wNmTa@a+$Gip&s^?Ra^74*?>8SrE_v?Y5&0aIjm|?ty7$r2M;ZTAPyhc&{GtE;r1`vjR{m#J|NLY9 zXZ$z%@24mn)_;FR{KOqmx(CLe{~hY7w-|rWG*KGL&?#>7c|z8tClT z=ZWXkG9voo7U+1rf|1uPiO``6zFv$p?B0+KzF%AEoX0GvR9%9=gPo9!m~JH&30TGbO4f8a>=tsCpdHE09ej@ zPIUG(g3z5WRDeMcL{HvL>fgSG$$WE&;N|m&7Js6JN}4%Lmu4R} zwIpj#H*vXj1GFw*1SuykI4a#r0=Z{NgP$A8Gdd5v`@2c7!$q?6Y7Y@_E1XOP0i zr)0C{crsvh2n5Rgc=Fa$Sm?DeC)q`bcr&TgLZ=HPSb|S_Yc>#x;}75`?hM`WfE1k| z+Tyz%oPW0zzZt`YU5okjw4p_O#WX`0BO*y=1*@Q7UL5VcqmfoUw}gxw(8j6Rli3PO zS2EY2invxJlYz8sy3$k}m~W%lbgPkImbM5NB`qK?uLd1dPX8*fBYoAWWA{bKa*Izb1!H{KRcTK1qdjomP#V4bVoi?8JtRp=m3ULU3Msk27>_8;B5`x? z;H0!YI7s{)J?5Ydy=#Whulads1cJ^HVxSw?Opbe;0Kr8isNCO5gxy z-nu~a)Jeo?PAt>}&wyt43GnQ>B>ssTx3|9qm(^{wU5!7etXhL=yzj!H>7&uDjg6eD zz6=O1eFROFlabiib!fJs8nR(bk#OKd5cv+MlW|9_91W!F-w6`bWN_Rgiz=JZ{lznN9bZC-lL5G{5sNt-h4>nII!m7rRk^n&A=~1}j^jXj@VDZo~3o`fM z7hHN_6pEm9(S)>6l((%Jx=X)7N4W@U>q{ro24hLnhhk2HS2?!a|J+n4FbhE6C|#~*ha%mJ4Z zw{TmRJ8`_7QujCBh$1;1#>^G#53N^fsT(wAiZ-G(qFj<3KnhtHQrNSC!@=~C0N#E6r2CP zkl6LiMn`oe$+Qpour9w8V{dH|`}`R`vZId3C5y3P<%r!?e1&wW_K{q#XjrAT0yK** zlCAL{iRp_-bR)6{FD?23cLToRAiqGupKm~JjE*E{L^6nP+#_<#%7IL!f=IskBl^wT z17tMWfhXE4z#_G6sQzUPW>)&b-C5r-s*EI)dT-SsqHrgQzC_$q%C0WOUh3W8>lckG~{-;$D+k8=PEV0^={_lH1W1#MSB@iP(RN z66DEI`a4IEjhu42$EJw{<%L4P^Cx&?s|FN?e;^TaT1aWl0kY)89b$BTB+K>R1owS< zNatK-y5F0jzv{jNdxLHm-+z_}#3~v48?Uh-PKDlBbsF>>!$5J{A)<7mlz2P2(6=@| zpgYZ)>1TVMV0Vw>#B$FnoO}H=@g4twaP8jG-f`y8Dl!C76NBJG;eBF%e+KCfxsJ;o zR)E?O1)`|qPqga#$c@Bocxu~D1k181*Te`MbEE>e$7C7Bp6!sXGCo+7~`$Ou()$1U=@i?)b+6;r2WQowut5o3{PqIY40i?7OAZPzwA|6|U zFI&p}dhR&>$5q($Jd$#qIgj4u8BR`Jvt#zmOQn|uZzkhh#Zg{O3t8KIfjNBT9r?WN zF_m$)gwFSRf#*&wrt{k-upjcqK&4j>)f8SvU0Rt+B1Vj09X3nAXHGpl5Zyvp)&y)f zETs+AFmfer!reHG zetW4CYlW9FkFwul$$7b?L9YR9m@CxOO1EEpu*LBaUZ&Ixg~k~mb?i4tda;{Sp!@i? zRSo2PIz*CZU4@q0d@Sr zEOdF$2Q9o^_p4u72b9qcpG-R99s{$w15u4Y2WfgXg5?Vbh=iY z7CWOO7UN*^98Z7k2SJ_OP`+C(AWGKg=7M=yy@#+ScymcuYjYx*;Dl5>28Z{)} z*MO_^RT-_@(SU zf_^Hj4v5Fym*??+OgP2?OJlxD*dRwstQwVdo<}tjE09FfQe+%{1vPxT4&0M25WYAY zI&Ai!F?x!~$9V{!F`CLW34P(T_b#_O^)-Xqf7pO~W{x`dMB6o#kzI$XKO1pVY`4Pr zHL-AhM?PduU5`GG(m*Q?-ohMl#MnEGqdM#*I8`03RGfzfcfepYSNQz})VMzfNg1ec z<@HI$R(Q?x|)PvcYxqmYEE4ob9yawO)D)uL)cv!r@IW53eX%#gBNlmlL$Zv#!B+ z9FXeU@^6oUjhP8U)AK;PI2NrtrG^f8jv@l*biKh#Y!u_*={KG)jycBNs$D-b|mgscrcdSu?81Y3G z)P(p2mUEh3QSu8mAhvc1TEa@B*Ogy@E4}&GxS0N41ietsg&DJ-!(a(UVHek=h!#Mc&agbKFWp}&R zf^9|)Y?RrLmS!#iQ@?xAovM*|;qh zVDKpePMuCe)`HWta+D%Ex_#;nVw`M$?4HQBif&0-) zv2AFDlNxe~p9cjS<%*fq2GOrA+{q^@fnK;5TX8&Blsat z;#5*0W?L1VE=U9cFOkW8T}N+)AB3B~A5UU`!2DxEs96e=08K!$zeDs$lpcH-tcy~K zU@67;`ba~}!Wi0H<_4Zt+JZ}0&jgS3WDuA0!#-bLkr{3K$URF}(z0+SG15OyzIPRa zV(2CM$U;$a`FBqHghCoC2;3%4zX#MItxOo+wWB#Qx^~WZI@D zP;^h0j6BeVH*$7C&MVk>cx=q;VP6KR|jwYeH?gb2!!gsVy#>XB0jzYxp6gw zaZ@J?o(+&y;w%(STSpA_RUmz~4z9UjOJ3_tAR%3j@L^9hK-Np>Y>KDV_K#qnwI89K z9JhhmneCA4u$jI#*as25nNZO^pX5sT!oY(95^-fdCDd}qN+?c>Bjml1(*hr9nH#S3 zPu#2dT`zo`R0wSWml$bYEF@muhadkwS2ky!C1vGP2(6vLF+a71(lMneu}Kv*x>sJp z${A^NWX^8rz*(#V!uX2(ly@iu<=(D5;m}&F5Rh4#`>h-b)}oYy{;I_ zE)|lyXHU{?{)a*PeJhswevS%k-$OFy#KYp&5D-MzLp0x!Sg#EyO1d}b-nHYwXQ~{0 zR@#OoZkw=4rq)!ey(1~A*awkv=Aibtgl;;%fZPf;CaV;-Ldd00%z%6aEz~cAcFttL zyznk;(2k&6Zp?)awQ%4*P9ZDSnovLSMLegB7I!fvYo0#_75#WHe3XV$^jnF?rfc*V zu?GZpwnB-&5%G<5hZ=1@-5`1#KMjf@XDZ#n{nzODKd)i_zsqfU86}}Zxb}X>|lj=`wEs_ZxMW6`x=u= zrd-cQw`=e8R5Ibd3-HaH^N{*j2^Xu;^hw;z)soiZ%ov@=_J%9d)`K$yd;JQ~f|u!n z@gH{MAAQTXS7TDCDHi9ji`YBmvF=WIOy)Q-8&HIe3ec%6Dqj8XG z#Z7gZl%G!w9uPUjY;o8Fo~ksbEkdL2+(nmKcTs67Z}-&NjdIgCrcZL{{-EX7XJlr> zsY(NS`&%n=K2jM%Vs%N;zB8Pqb#vjAMWpqEqGowl;qBxHOe5^yx?jYQ%b)1K$6(p(Pvh}Pv$Dw4QG-t=Gqx_KW8GN&lEwqZ>NdD$~ zwH(r6hU7C=S*N(p1o3o4d#2X`b9WG1Y^#GLFMn#!7curgdLnI|EXI{f zo2^euwD3KXJlMdv`nt0ZYKYagA{=TaML*NNPenQ2q=j-jYI`^f@xq!w^Qs*(R@b9O za84Qa@P8YqvGx{MuR9W1i*MOJu7;y&)@I)_Yk!W5RY?-;v?muy_u{jxa()aJ-w}>h zo=@gX&r@Zd?0?U{93up->Q(%vl=)Qeno ztf9VXxH5K10rc+4V`=vXrg*`mgV<+N2gQyZi$m{q(<3g1(&q}T>2)SW`23hmjN0$g zqi=q}bG{~ExvDaF7GF-BgcZ;tMI%ycwV$36w2B@qT1u1*{F%MkK@c&Q4s?#*SI?u}&OaRqpt>aT@2pPrLe|42xuQ=n(xG~mA0rO46}DD7NHTTVJe z$eyR*>`+C*$4n(^TXN}|w^3N_J42SN>LC$(9&nBr_h3cegCxqh7ogo-0Yt3rA#+PpKPllGGprj3+s@Bs=J|o!hZ5wQUa07tsvQ}595q0 zj?lIEE4_4#82&Uig7NS^0mnDaA-0VTa97KgxX+^SS9dvLb89S-TonVRI?hCujD?fA zp9uezC1_}r(Y~pX#I1QE?ie|N_0HZ!r6`?*>>dXgn>!VqPBe$u^I2ri>=croJHR;+ zq(K(+9wxGD{E3GDE8HYVXL{F8AV;L#$T;N>w6~EL(OaSf(H3Q-Gi`3&Er=n~gUv+c zzB@$!P$EsERY>irYViM%MivOaqerSIkn_?ZSas}E(%)D>?`_Qn?)y;cc&Q(3JaG&@ zpOYcSrn(cMOU972_Z_G9RW<4CFw>2U2vax1nDM_gLKaO;ji)yzwPXS78bbOOLu2tOkp1l*49-iXS7qyJbIh~2+{q9>sQn2pK>%qi^&7ery8g(bP~Gi zAc1a9RYBEEDTvulMBUK}h?0>-nL}FW`_NgS<#bSM!x(fuObD%Weh4ii3Lw(p9mGl^ zbmoy9Dwr#TJcEyd-?Z^4WJMcntYP7Jfecc+RSEBxs35b23aH^xAH?NML}AXS;A@pO zlFN}ogC&x`@=C)#_z4ug53vJB2iW}R7GWw_M(vJ7Bm^Ag!V=sP0w}%rv~pPJ58RnwGo4>|9?`x;};+s(VOm zMY|{&*Rk9Ze;w`*KFwWl#giNV&VcKX6fZa=X(R|!u@pRWe$2jmP|S`rPK1V&{sfms zkR`tD#6B{Tj=rqQeKuE+p&tid{~p~wrwI;e5M02ghtJoDM0xb z*qJ{@36{smv&mPK*g0{VpqHmlG+u5c=k@QAhY5bL<-I6ZQd61hGAPBJ(qqiEskh|* zoL}`P?qtumoFc_x_kW)wo9HiVKj7nv(XeOTG7{zcRXzF_O1LgA5){Am+izw9$D{65)G* z5m(`nltx`biEP3mf(&*wb&DL0e?&s(Z>RYe7Z4xe40x8jok%S|OwQR0vjqDJ)D4&u*I={VC5ZGKiSn{keyz82$X9{jYl2{xS-PMzZnD6|_zCO!V+0c2 z(MD=63$f=CSFqNmYe9u~kSp7m&;7i;jC&^k7PtE;pF7MuhIz*@@A&(?qv`kYKJHr= zFewOu+y_$ktsQW36KeXzXJ3g)l8Eggkg#z%QAJeC9OfbriG%yBx&?KyO?&~RRqqV)+nV_7P11zp!rR)uqR|YnlPx3zV+;eb+;eV z4dr$y)YTqsAF@I7<^54)mL56~A&Vq4Tp<3UF&cky3(9L=i2|2|qlClrkXpPXx-9V& z627cN-MZV+jpqtTC6EuN0}3F0f)|>8a~XJQQ)s<0ADYda(J~)^v`R#<{S_2YQv4%Y3%Yxo1 z6EN#K2bZo}k;VW8;`A^YviF43ZG9A+Q-8ojWQ-+S6*WoX4R4Sv$OJFJD z&wOwc=A7_J>w*_?63R5FIUCJ*OA^(289utam5;~sES=1G5h*I{2kChBh5cbP zRz4Rgo4qH`lCR)OB{97En-+f7bJSWQvx;v}G@WOcD$6rfR^rJP$neHrHR3%pEGKeu zTiCjoxkx$TAnH`Q%(rpIc*K?Sj9eK97dt3$8rrj|XDcW2X08?E1s;;+-P9lAKJHNC z{hVKmwQA{`Q?D?^(cai$yDoTd&)~Oouf#`>IWw|7%Nf^R3C{cEWt>M_4bWH5$tZNR zKGK^hijJ^WXy|wwH8bN9w%jaWoTqt0SsBK>%^_IB;sB#2&1Y_}YPVJnqdBqVCfsKY z3fv&BDi^dyaa*n!a@!quVp8~)YMu9q9^aph7g;I6i!~ppJ1$0)htWkU`fPRGM)_)f z7jG>qpX9=Byfu%N^_a>QN~~pN>OvXFK0qH4-AhSd6eGGFo%HN*J$h%a17$fso0@dO zx30E(0^f6XCtG#8md(FSSmVB9Z2i&utj)*MjEt!Tj>&7}OBc29vjqLL&e2rE>qB^DzsaST9 zFUw6yl$tlL)UUv%<>xqoViTx>?+LsMC1JcAeiZM_iuF7%wKU!^?-=GC!@T3~^NtRS zVs>TsF7&Z73}s&bjxwvhfsSz+G*8-!cP!t;PMRi%f?W5YNQEybL-Z9mtB1g?iSKd$ z{Hg4as~_TM7$7AiKoP5!f#0YCh}N0|0n{0CZgo4{Sw968yBDGbdiQa-g$VM?ivwzG z4cp?e6P-FAj5eq}N1oa?C}n>nBwOi%?tvoKMsg`~`{s!n`hTEXUb?7zQxzHGf|qi73%S0(IL0ef zOW0N8_M$Zb(dg)iezaoH0Ij{I0j_G1oUy#!EN*Z^Q7g9~M*1F7$m|4_ej(60u8rf( z99hYdIY=V&D{xjdp$TaPP%1JCwP=UIvC$vMk4MSy^_l`=nMBlgSOi{|q{G^!uj&69 zW%b`9e(L`}dq4j(Y61SC{{MIR|G)gd%#DZrzy6XK_MIH|ogDU^{LlBD{FnNHKkps! zGf)1HeNH?7{F(P}x$^(I2LnFgj1ldFMj z_uy#qTZbb5`x`H09T5I&Ex!C!BI>_$mRp^mN{`>tEl7^pP3vW3S}$6!&DdB6)D#vc zm8}|EU&j~mML&I;cNuZ5qqfCcK5#gWVEqUXFI40ftW2b1vttE^GgG0taxbTQ@GyfH zlvEFX5~*+%3T6V|i*oCqXd?aReO86r4qIj#x^ti18v%p7_vr4*COT;BX@PXJJleWq zKS#u>fnS+>syg<&NJVR?GJcn&%MFoM2j}?bR$CL&EH6MVceg|m5*=vZZYvI_RqlKe zw2a?}b{0uln?@aE=9ez2vFedCOzGH*!@uXEBi1v~C3|&ilS8zn_qjKpu|as~JC!7Mbj?66hT z=fmbh6ZiApEf9hb&w8X;n@$@9USrqKeTFV{9I`&`eT4Z`TwUFhomi&3^c9|Rdm%}* zR7VAxAFWJ(E3hnc+5St5TkH1n=OoM{a?g~Rhpy6ewErS;1Y{Z!EHupMWJG(Nt*XJD9xu2ZsORFu`T2xmc;aGJjt-*T#ewn)d zFsTX_O|oz`pJ?1(xK;n#7HLav>ZrO!NVod2{=Krs%~npp zITv!5X9P=~H(5RTiuh7#qE$1pMwd;lHDL5?&(NM4Zk!a)c5~nBV@;yw)T8SLKj?ap0O;zEU!)1eK7cdH6YM}e$Sn#!O zv+O@G+d^{p;D4z7l*3i9c+>$-%2R2}{r$&GCb+&G_O2f05W^hepTr?X-sN%Z8dr0K z_t)~rf4a$ed5_CKketqGJgdcce16Um*S*F`e<#ZLmXD`?M4sU{y$|F}5t78g^IaL) zqnZ43lP@q|Tni|}AUC|h&4ZTTB1(^6ZAH5U(Dal=@AyexiIlJ(OW$7Eg~gNik-R!R z(DvXneKkUm-SrX|h)%_(Ph#noxKVU{=T7R>ZXN422NzKy$zz%4k7DZV;2|f(ErXN( z(VE`pN709?ZQ*R&b^Lf#8@3Ok;mfHK{7CpMy?6T@=y7vIA6+sD6VgTMdeqRu(M3db z;tR^d&$`yc#GR^$F=Td{IWYUnwov}l7cnUnODQ|`+`3D#lGKxxANj^YNBB-g_c&MI zR@Np~HdEXX1>xb8&kN7usOg|#5=Z3nIot$z8F z&KNDrM&N3y>DoB7M^chyG;hF;w?b@lV;|Uo9O~cm4wmTVl1_0U+I&MN>Dam#T5f!T z8=1MkY7gZuR>QG*F6i?7`LLsWKJu?T2#V3u(MFSRAkujNmg^{@Jwh|kcB@6G?NvG` zEog#bb#L@(x-$~hLFm$xU?exL5^%W+8r-Riaw@OUS)VH4(rkIOHdP!w9khijG527R z+$``!8gzgLk6w9C25s)E1HJW1D79iPT0Uw%xVIHR?Nlxr@o^#&y802QWt&m0=M+@E z-xwLpF-9eZ>d3j-0Ugj^jdbM2P{GbL`uw|5=%|<@T2VO(+-f#MvV#@M{+*+#tumui zd`?oc2LsXCIjImmaxv|<@({h`+hX+9;x||jN27ZAjp+F9U8r&9WE2(u3hum|hU7F> zq0eIu(Op5($ZN+jj&orMT38y2zV6+L=sl+Yi@h&_t7&^1J`K{OQbZ(EhEg<7=j^ri zDN~71rlc}Y={AW>rP5p^Woi~ei4+ZIueGI;q9_ey2uT-ZCWOy9oE-P|-g~{@<^O)~ zcb?zx*=z5$pSAYhXPx~_>)Gpp7QshYqc_Zkn@?GRQSW0wU#W#~-m4yPz0U*~pl}d~ zZkWr9ABb!z2aB~vL8H^=a9iU57+gbum~0KW#NHTM*NebA+s}iiR5<86M*&_q0^$7` zO0e@tGg$Q`7WDe41SyMg@Ks}Pxb5g0!0|r}tR^YI56P-5r36J5F`&Q3 z1rR^*6PTE*5AQ_ufy)oS2a+QydF%BRZce4@CC=hY*NdqJiBy(xo+Ew9ZYHYjtBR-o zW&*rREMZB~8kTyD80j>&9F8+JA}4+%Nc*I_usr_|^0XdAA9<0EH=6n3BdOcyR_O>d zb(;%*_-HjyDu{zO=cW)JyvC3>wyKfOqkYJTi5{eA(|hO}_>c-|+kuboeTZ&kYGc9z z((R2!C~x8xTpqUy3|xE|n%Ia@ovQQ6woT(m_uX5`=4O9#b-xCv%ap;!3l`A3bsu9d zMi`!|Q$mk$l6 zRb}?$@^FA3MflOOMO)FqewO%S{3I|o(GS|EohP>3&?NJ0MaVtZXOJ!j?8ve35ez`H z(L#?-j3P4d@!n(cebMbSgEIgfZdSz|J(a=TtZ8rr(;YO$)xeU33o!MFDyh|>On!*E z2XBFUNF<;iT{pY)`V?|EWZdYp1vL_)}Epshc6_*V+)-DAR#}||R&Gg8?r&~yW zb}*?rNR{{f0Fvbp`)U`X$H9>xC-Zme{`MLy?Y|Rgvqxc(?W*9ZuRZKDB!^mZsV9AN zjTlfK)Qb#NJb5Dgp*qTIcKyVtBNkN1zD#cK|M z2I?4D)Cg#m;d6xRy$kgoq2BY8^qz@2ePPqxeo#sKEFLy%Clyv6NCe7RBHJelaLW}f z+_ugixQsgw;ZDe`cX|yyV3R6 z&rn5CC;%x}L8GA;Xevnny-fWOdc{GO>T{gO1Ypbk6xp(GiRgnBZolP4JNffVJE1M@B$_hOtkb! zfAqZn6EyY8c+jg#7K-$y2)(x@pukNRoqK-or+&Zi*Y^Lv69e$$_P?&7j_~{cUjke? z7!oZ?$!=2xWodVj&fONutUMfDo^cYb4^N;*KT0Le!kefyLJUNAyhm$WE0Kd6rZ}n5 zz|IyUyOc=O`0yE0J)nektUiJq5__NyPj#R+qz*BPUJ-8f)gUiNfx28{NU5GKLoW#m z_=SdYIu4HpawpHBY1j4xMs{7HxSRxH4Duw@PYwjLTlXUCD_WqAy${%hlp;oaxCfk$yONN?T;-VF>!%{Gz9Hs}$O=q-nGVG-JO zZWnNvRspnPKkHkCcfh5pJ;=m(J75{GP~J8@&=A>5>@X~+`p4WwLrzYjLL&DO&$r8< zlrj-mHm(Q_u)mDv9tZ*j7SoWidj<02Y~?VV0+>xh77%4mE>iIa+d#3$Q*_ka0WI_6 zpr(VN9P=7~#Hx=3mm?cdnrR>?1Mi55MX!Lh**>r#;4w%!E(&SKy&(Bh1+Y0)f{bK) zqQGV1VC$;8s8qWgmC3pQX9XAJm@yl9O-l!g$(=koIHWWRtqJr4H@nRu!De;65YpT7O9WMxuNek!1a9JSLQi-Oe zN`Xd|G?2uxLGrZ>YSOVBwBE)GWLQ|C#}xt8xu6bWwQDDm@hw1ea)uLV`()(Xxt<6w zRl>4aN`(`NTI%AwVQ6Z85>?;xBc&{N2Sxd4Arb#fYKep;aw=5>&NE*V({k^kr&))= zsX=aNb%8pX?>w1cNZ5h^&3wd&T8>n&)`DG&&B6R9Zq!MiLr9_BfOT3l9k@kw5P6Ff z(T0_;c)s@`W|Jue_YeXpanOp$B*2R42|FD#0Ov(J&@U-N_L0TtQ1~fit*?)o+Csq| z?{Y$m(Hl*lF2|FDoAwSv;v-to`gk#TIe#N%W-u0|TPZ^|lU;!GHViocIjr-3Bh~ug zBWSWZ%_7&FBf>uG&gPSfc)t5q?y4S!dJ8ai>W5y)vE;XKzlRvfi6%)rYG3jXEQvxC5l)!VKot{?Fi4R zFMt;V%%QTF9=zYX1L%gxLy*52M$SA+WZtuYlD(3^NS6sPV^av2J*W^oKVeI}H?Uxx z0`5>s*%MZ5TnF*3Ca`+D2JoG`3Cc%KfXu)-5IF7wOQw3lVWE?uhXn!(`?rB6!#m)~ zpxeM_bwBvVk_pQyyonF1^8mAP4%isc22xX&!MCGgf%%E4(Cft&Fg`*ax?I^0&K^Al zUaVUUe@`cX@2A}$FKrF$oP#0^PuGEO-x$L|QFlPq+BYEm&@J%JW+bro*M;5(wFoOY z4S4%~BhVea8z@Y+2EV5z0-d8$aBkF4p8c;PB@R|RQ$^~%qX=D@o=l&SA(RIp4W#7S zsKO)KVE>^<#3IT0Xvazg)Q~QUPbAUcW1lVP+296r`m#TD!9xwJ4=M(XJ$`uwP6%b~ zHUz!LJ5UEK{ei^9e6v++sws&D*y=odPP)Q*!!`qa?2u+qELl#erJq|91HWH^tXHs1LT(Wy6 z&~9*s^^2{r@A(FFtH(l^R}l&;n>5g(g)uCjj4A}@pF+x0WY~R9m6G?D9U*UBzCZ@{ zJ4BWjU8H30{SIfg*WtlWWl)K-AM8_4L8n|-WWGX-!1D&WWb2-I zLe4D6BNMl@lKP1pa_rP&sJS5x&Q!!Wb%7REj7oX>cJI{P6TRaYdV^*YbVr+x)wT4gkOY64Bx*YD-o|M9B*!Rc8`z#5W`s>jL@F9&Z2 za;zobS&}2=ui1w+TfC0Ct>sV64B8B<;`>79zziTi>jXH1lfco72dPNK2z2~lU*K_6 z8Mx{IG(hG7Qa3LnhK7w`>A9JJ9jWqQTCX>_W=Q}}JZy*;`f1?Ha0m`n+(D#=V=&y@ z5=A{eO9gn?0Oj&lP}Y2#>fF!Z+*ogpq)TMbN0|@s+JYcxKhF@>RO!RWSA*ee3x7gR zb}lj4-I>Y~mjMop!-PTqXkzB^15a}=;H30{81qpUROEdi z)HKsL?=9`oVVgFhPGJ+#Z_;t9Pr@Q}eEWQ&uB{J?RkoY>{h=$dK+6Yj(tnKNYqL>< z(-E{UAdbhMw-rXA*L8~IVC!BqyXHK~YHEeMuJ$1tBGXY^d>kRC=7yDrPQee$cC%kO zd9r0yjM*d2-}Z(mv9iY)hF(3iTeL-Xqj|evaNV;L#;~ z+;cXP4GO{uL_K^zTZ~?Pcma&|SqEE+uVW^4lu#^k!)u>r!S$?K?4mUjULSN9l)X5C z^?&O?F=i{Vxb1D&C-xlP*fbkP_Kt;0v=)wYwE{zB&Y>x@Wa0dzC3sW%063`>dOk zRb#Jx`p7nVC&t>9&#9(SZv1!Jo913nCEy|c0c&Z$p|XT z)M29=wR#sZ=9Aw%`^0M3Dg!Z}wt{Ih-{Yj4 z)p%ffFeiPwSHV6v={)sb&kbYmn{aN)oFJ!G^<}Mn5XoF8qhy+{uK?FIc(Ly2*g>k~ zIN@9DL_b_)iDO0$p<-ME&OrO5Jk}{~{Y3AS!p?zg_WWfxnSd~5`7RGLv7NaBBwD>; z{kCQj?3}e6EBM^-8*&%9Z-;L-HD|Jxaq_9~9(F zw^T?#`3_~)O(}8cHuepRIb52y-E?o2%xrv0>N$on zO~W2AEqnAcnZ!yY%u?^Ley?T$%Qi0nS4ZH-9}#|6al7!6rDp-N-|92@IZqAMT*h!F zS`H?ICcI>djw~??nJ#A9yi5X?44p`z8}~rZp;th`dlh>2g%PyE;+-6|z7+*c3jOj{ zN?95`niIphD^fyQi#oC@?`>yl&s}P27rG3Z+)HBh>^}y~%-;s2Qa0m7y45&3sHsqM z!LWk8i)NmQy_Ia}HEJGbz%4m)0q=g85)*Bn?q&R4N+IbLRYSB@eqhu5+H%mgNCkIH)xm|?Hwnk<${_ZcG^nq)0TXMY z2x(nWB*8Qit_k-Q{=)wI*Cv2}%>Lue{~GBT2<^XL0YX2h&<`r~gZ}$|&~Nr1Kld7g zZ}WXco~=iIvG@2n-}t%S_&MD8wxB}S_tV__QZHoz-`sd~u__&?Fh+o0o#E8*PDkLp z#vLX13Ijvh#{w;;4rk)j9vtU8%2ZlWDRavuNutt6oymRQgVp!r_S(^;Owe#TAodmR zxAYo_W-Af5M0E`pRD~Kpc3qR7v;1NKvmuU@T;G#rfd+zCJzwU>+IMMA33ZTj}}hcEGG%n7Cto#W2@f!o*lvvEb@U%ffbJWA<)~ zOxE%#6IrGjVq9=e-=kdB#mSpyGCOuYt0G-A8 zu3o4e6-SnqH!-Jr_h22pF3pPBV*{pF8{m`~y~z2M_wZDO2JDyZ2R6?wW?dC~Y|xY& zZp`>iEnn`;-h!ohHl$2)4paVMG&AO926M)gd_rjd{TOiHi&uNDpkea!;bF!+9A%`2 zHyuy})8~x;{Cm3?ywAuqlAV~CC;gj5L4s=;lu0&VO0VuP3%aDl9Qt4!@gwakRWGm( zXOA?N)NnP)xsq<$KlqH9P>u@as8Ejn9635NHV8$m2%%mUgaZeQUBL1B2%IoK7hH># z0=5fNm}dwTqBb@V%$-RRCd?MJ@SqXszi}<~xHNz@W|0Ty<*j1Y?{CGJhT_GX>r$|nQ7~kwVnm2!^8(Yo1FJT1@jDmr$&Ia7v?`>gDSO6T#$Sp-*&ScrEUz2JD+hp`%;>4H@A7euw188(Sg}EsDJ&2+U#~&c$ zvj%n>Bf@HKXR@q=$QGv=X63_-LF-E!=Gay8SS@xD{aiki?msJn#G{P6ZJQ-`goy?- z$&i~H&DJ%a1gk5gnK?xVP~yT~wExv5wBj-;a!2X!-R1+myzPV8fw~a5=)_R7@~b<+ z-XK%6r@Qu}D6>K=DKmxsZPFdc^yty;b?JQ%Ob4lnfZ0|yW;Zfiz*7qyqYmp(G{@yP zI`>l`?Y^}qnZ0m!x7W?~4`OP*97;N0TW>Po{{fh|{(+elClk?+7trIf6KJoY4AMaR zQMYaTB5|fe`ySZ;d`~mmv!ZaZf|*&l{5+H*c?%y8s>VZCs*u^G9o?=aI)T{3l$X{e z&1_;#9*B7o%VVXPLi_EQQ-|gYQK+Vq4_F&C+mmYuiKW;3gBWOJ*3dPm8Bu zi!NxnJC8Xjv5ewOdQItXb)eeXqd7-6RZ%kzizX_*R_xN zcAnte9=GJr+kI=t%bVJ{3C@aL3cdV#5t-Ap@X}HlxL0Hytaj9fi>!R1;;<&-yrVCE zvDz07%JqTvmWX(Mcm%Y~y3dOYx!-SCzk`_O>n3%hNr-b2fD z{=AW}b?kY<{L*vMr1%EBPU zfOFJy>Cxz*q!*eez8Wc3I(PefAC1y5JGC(ZYRk2-Zz-o$WFbfOqxSDFf}pJWk7VwR($Q~=nwCK|X` zBqPnVp%5iKV@;8W0V*+0;E9hRicB3ZjGz2p0xqsj3)ipobkcRwbJG7QvwweU|LN)R z*8kDhG1ApF($V=$_t_NG5ypT166nv{^7C!{9PIxKp5yC(h5SCxieO9~NebjS5h%I9 z&w0Yng(8^0L@>Wf6ZtJxuj?Bv#<%|Yv3!F0Quw)4805Ea!31-s@cSl7?lWw?O=4#$ zJz!k6A7>7!$D?FH%3=D{SlZkgRO zxM55$n4H*&xY+A{G3FvzKL>M<BJl=SsRZt_9y7V@)@2F2haB3EFvFe{z+)D1CK%47ec0 zhEKy3=tZxi$kuvsIMOYcy!f^UJTb-`)}0$q)_*c2x#wDrjwHE#e*MpqKNJ6#y%)b2 z{Pe$|;IUxYRe!4cV{XaAKhO)|-v$Bs|C6Nu-^zbogFnlEJtN`w|GxwzdE39{Q| zGw#evfgvqJp-!O<6d$t+R$hCKb$Z4@ep}~5d4!v|6R5oAfy;D?Vcz*@WIQkghCC|( zhfPmo?tb{Q0-WqrM2yXI#N2w6vJF2p)&5Ll1|!})2lm&K@kql6n4zSJr>}d1BA%Jy z{o5)bzwN2E1jwi1j#Wpp2+Fwg1fOg_Ll3(WN*7z7B_jsSrK@)2knN9uBfpF%$^I++ zcmEec_@4^j`2Wwc{{Ei-8|iez|Ap(n{t}SoZGTK}mHlsA=c{}m1**ueb{hH3#$pJ_ z18!ZD06pJ!>dFyGezV#5^DkZWB;&jJ8vcBYp!^VgZb1;tJ;|39Ut|&Y8R&N<)Tzc~ z%*9T^086Te^2!tMCV&OZOgLXP1cFZ(8ob*9{pbpi{cZx})7w3?fL!FZ;nH&Za`1Tr zxU}3p6gBejnLX#>x%^=4keP)1LzhC6M0Z}j1$BQx{~h0F$LH66f_?Ik`wSs-_aSjBOXzKxg2juJ@GfNo`0nIQ znAT2XHRouk(7XXIvG9i6`pya^TpYL@9;XgtetmA{bRyu4GWyNKpxy%HI&qalFCULL1DbUuT&DE&aCR zvJJaHnbso6?I$j?4n7!Cg4d>|!i{_L;mbC8-q@rmO`spjWrA71iO>;ld&n>2MY9F* z$Hr9%|GxsC|Np$%pMSvrjk?kQjfDLFSAYa>+r2&}@fYpB>GOQv%mqO|4&Ub@SaP9D z*B5BZ=jnX?oc!7kfBuDk{Kwq&d|C5du6uzT^IiHq|5_xY%kKE%@1eJ?BKE}WL<7e9 z;GsLx@k$sDH=CS+>zAIzvg+P2{_?o*$_$n5I73Aqf(b8R)2n9m87cKSlX1N36qx8* zfsbqapHa}PYxwicggdxge(8p-T3?eE4}@%`uVQy*X#dLul~>L*8eX+ z7ythc>i>Fr-RS?uLjM0NK$N%r^4^OI)PMQy1^wtcOE|1}rQ?TXy9DJ}Q1Si*opdFIO zVA+K-5OE?4n{;k~=`|r>yW}x^xF!U;eKh!tIhb3LS5DzQ*X3dJ`8jaW=`84WxeP^! zZ^V)b2467;I=5!x$*%s~66}y~r!tQofTu6);@4qrz4M`X-hF*8vFqo4UB6xUL-1!rfzro#<3eYp&>zp*(2L5%* z14fr_-F042M>qU}e!1QBZ@~Cxkn>;E8~(%gLilfji>KF`#YgWq*Z>BTGg`;NS}Tj*^kjij%DjX=<@yG_@0R< zhiawblng=dW%ocxM>qm)38*dj5nwzYW2SRnnaZ^*0?HT4QFHY@lxva?+$vU3WL+)O zTQ(dqq%WAgF)9aJ%g%yZnpaSbcQ|OA6NW5VTM_vw4 zv#~>$Sxcz0nL5Z!$^`69-T?q)K%2k%jYtAMiw*!=b}r zITY3$W35Uj$)OxdPL)DbQYod{dG__Z@4LV6*?Yfx@9%x~|J#4R>ssTQb6wY5Yt6OR z829h~-S@cfA8)gW_xMhzRdgU*GV@9K86i;BRe&ue!q8d28Gq?;Cdanvkc6rED0@;l zu(Lj(S-m~b_I5dOS{R8nlc&R=P6*y7p+eS*T}P*morC8GvPk<#Co+!n5I(JL0@ta< za4_mH@Iy{Qqbz`z$x_5@$iap>^I%`rWcXnJ0@@DCQz7k%M556G*v}0(!2UH4)RmxfmZRud!XT{yGRjf`l`fjm_nrEO{hc>!(2-7gx}{`$`d8e_4>Ks<4%#YDm!pr_OX zbC!jHU#vSUIQ5N8_)v;;i|4||_RHw$$LVCIY7})oqX+4i^FTqJk9z9FabW8au#(=x z=0Dy|u1-pTXQ}sasd6~lB_+vb+6Li?A0CkSY%N%HS{cxkG4P%W0^`rmKzjE+bSx%; zsC%5oA`pa*=8DiZZFV5U)#4785UkyM0$0s4#Ruvf&@@*Qs2wcA8k|*VZ?_(~Nsg1j zxbq}grx*KJ|oXYx4W_i-ybnY0xtA+;qkz^Un=mK8X{)ZG|+*(nokk9@Krc@x&= zrco|Rk>IMGN!&i)U=`#e;H&vO9Fma-hC8o;m^BNPpR=i5u8w$5kQF&OR|-j59E2$2 zn`HAinsR$D56APC5jQbAQnK|m(vT=%Bg-$653hr-$N@Q=>h6xzVvL5=kWHf z7k%LCHgvs+f|Soz=x3P$?P8%wi$;jkN4FUxxzcg;g7Qq*d_#zSqWkjqTA#NAi;-*f ze%QBjI|_`9gGUXsQ0zSwkQX(EOM9&bO1c~jRz*|rRqSw!(&iG4EXiyEOJsyGo)yeeY(RRc+VH?OE zmq$Zu?ziyqbdcUV$p18rpOAKt%ruC@bO%OH2G>H&nWu0hI1M^$N5g|T`{{S$Jo-{a z61_yZk)Hp&kN(sW3L^PQP^r+(o$j^{YF|x*s(s67gB~rqn(XD%w<}1)Wpx~XP7y|Q ze}j$-n)E9r5qjm9=^&$3M`!xTGIir67=LSh#>dE#nLAhpbs8dct1m>+K6K z3=zE|RECy+wSvD);|fuoxfJ)!{efQlmcbpqB+XuGgoT=_;D7K6{Ze&+E)Hv>J7Q#* z&-!Xi>w}9>XY&}WeDx^to9Dn*#SxYnmx1S$aCow=fs{<(kXZw#P_08XdOYJE#3tl` z=Jk`HYZ!$jj|9_pX~*eGg`0F>K|cMa;n&xqK|yqAGPsH@M;x_8h}`%QIqaH8zY>h1 zFD&1{ui7dg6}`YMPZNdZW~y|iuq1sk|068S=t3F~>gf#yQq1fDY33!Z!?e3kXRhok zg0RHVwDXkNEXU_Q2xV&mebkN)IwnI;`{>JWm&9c1r4k&gRE1_tdk9hwh3WSTsv!2e z1dyXwXh~5KW?y1Gy{ANh@ja%=@NeY8m|g9#KxQgFD0&pK1E+w;XDRyR&o+>V(&0yC zgpsS)9B`=`L8(4rkbI;T&YVeu;^p5^`t%T5EUJVK+IN-BciI$v^W>^Yh#ye-erkJ7<3^(H70O}snI zAKs4Dhb*Dfuvu{(jQUnUEG*?n%Jqd*?~Y*PdU6B2iQfg<7ZyUz+f7J4Y8riDhdaG= zr627q8%po~6ho)_$$;pAMKE=2B2{{62E=yfp{8exY14z_=0GulQP#b%11{5 zM)?`gik%Ad4!*p(abhli==!d= zJ#^RlW}3%QWJ(W6GiF6H%y`|ev`ptnW|BaZ8K@t_@CKBamwaIcJU`IOY{oMeY~+}F zCne^u_IZc#cMR!2?i;uJZu9=XR{z<2rupys&y1l^fU&vJQ2pnb#>4v0UxFdN@#Uo~ zVhcpbnA4{avv4PI2@S`a$CrU%d@I*?fjAj^G90vuGEm)(VDNAXW(V0!gx9|!c>%j{ zbK@(x!s&z!=d;Kx{1(pCM1Yo31W6UsV;_bI!57UPXpBfHRzGnQYpyl|zViXNyJiv2 zeO*VKY_}8kBbSsq822 zR3;=rzMPmzf}-tk@djt&s!|27Ge!{KWB0Mh+V$Wv?GtirIR-^@QozUIDrk4ffEIfL zKUv)dq8jbk!B!7$ahf1i_dGE;BSU`JJS9i{a$wNTg)F)y1(Avqu;>M2lA0z)!hdm> z+{atsQBE!F`nezJKkXucNrzCDg*#ZfuZH5nWvJ$UJ#be?gOd$S#I`Sl*rG(zrbkmk z9KMAR``uC~)QY>-uoZa)P-vj3hP-*(4x!qQ;j!~V%uzjzIoU46@}(_|`;<(WMxfFY zBcL#9J~3CXBF3C9c>QEGM7GXHNd;QyXLcO~wN~)tlbRv*o)PO8_yWJ2TuD+MM5E(p z4}tiOt=M^eD#Vwrz`j%_Ibz1Smgjy(Zh(wzX`oPIS zHEN3RC=j?r5$^UgxJxD(Qg&{H-M(hzRBbHjjP)e4>)WX6^>N_$Oqu&NMVfMZ!NTG1 zllY&X-^DFZ=)|IX*_AZ}L7mEWys6?xb;aD&XpI(CA_cJx^`P13Oi+$o?x@+VT^5b;clF*V}k= z;1A+<=K$`{awhZtjX1P+ELL5<0WC&qE8N9Qs%s(Jw|PV^#Iuc)Gv`ieJC*q_-Txmjg31sOX4DpGT znV@}h;85RDcG19j3syUa-8#*b{u1X(%O-_^Q@AM@WGB$3uRp@26-!E!2h0RI#yZRw z!2-~jx*fK5oo8Z3x!}E{qmY8TF@M$QHl`^3GMI@i##-BrE#I_`V|x#6VaAm^(#A^y z=w;8wKqu!K-K5RXN-D10<}>{Q*8LtM@{}vcU7iPa-;5cxK}UGh7>Wk3wvwOeSD1b8 z&w#Db7@WJM+#+lGA@&n9l@YODNPFMo&|z9K@Q(4LmtV?-XnewQo&6C(poJB4XRoe+ ztLg>40l`dLXD>=j??9_G$MHv831y<+royNn(%A2FfMwJ(b?hLj%{;IcVO~8yK}#3h zhP+Hs=H|dSh&-TF8n^BfKj-=d+V8Ng;E3aMG%uo!8Q9Q=!MhTr9R5hs7Pl~x9-HCP z-lKRyYpCU#Ek-Qov?C*)B1;d}X41VAw?V1FL}t5JIpFiREhkJZ5ga(Vj%ie`cM}?^aS*6<=G#>Fcs968E9tZx6W_W;>LW9_cgfPV_0s92bpLW@}K*Q%xwb zEmJJF27lp};Y4ny!8A@%XfRG$8id9d)Z&Fzqqse)8_9*eTI|Q&%XqiepQG%yl@rV0 zayDbF4EL6B$+hK!i!3Uax)RaRTiEAEp0V8}&Af(+8+dF>1lHWW$*gdlINc;K%x{vK z1dhj^u;X(K==%6}u5GUd_5F(_{&r+DUH{k!eSi6x$6AfH7+mGb^Ih}^mTWVChzaW8 zD0ZIu*60Nab8?aWL?sJooWq~GQiV>d+d*y@nWIzhHA#-X2p)SyiTBGDqAtzcz`pX> z!W%cr&{A+H`XU8d)I8s`LOySXP23aSCq4s^< zT*vxqG~X_bk_)Nge3`I{9IG+{(+p+ugF)2LdM%~oLMz$TvVnIlQd%KRIO0w`omjXQ z6-mjkYy2%NPJ3VHHLV(i5Sa_`$k`bvsY9qCsSxVSAEL$%5sQA`W&9DBX3)`>lE|3F z%h52G8|HGuTyB`l{TYV1+^ca%sQ%Rn?ED_!6|a~|d63l>zg?Qh3X#^*#-HCP|1sIv zR#Abl!GD*!|SgmJ{qjcY8L~+Y0Y< z>}R)BOQE*{an{ID*K*rBEpD}78q!y2X4|p|4s;vM7TK1tTjnZY4pf(qmU3>Z@n&vZ!jlY{%ImMR$MsX^v(NWsvaeUV;LI5@)K(!; z-onK5WLNP7n6#t`7d$$JzNR&zs)2iOswM0Hi5mF-M*kVA|L(rpbK8HY4)j0Mf6UE{ z{#*UW#K_p#cv%1WD=-{y8jd#&$D97&h&TN?{!jIvf7CmMj(^uO{^ff!|J!`-Kc4?X z1N#4dt(d>R#y{qwr!qs0M=yGGLAc%+db+4E|Am+W*cEo77KI~Z-Ly&coV%0w=6W-5 z#q%G;vF`__zv$5mBuDZy*U3Xpu|9qERv;9-SEhr-O9^L#I4Z7IT(jXN}Uyx0cG-=~UQ~4iFlHkX)4AOGTmk3?#gRdjC`JXc%VwW8< z^!s!Z`pJGddKrHLKd)Aib_$W?%X^=PW6S5#w75L~+wtopCP0H8vN4t7D;U>hE15BU z)q-8=fy}O(6X^C6$H^CeIjiVsb%95xjo?IC1838N_h`**Yg#u$iC@0H8f~8%M|yqN zG97ZN%!v7|^nPZFRcyswEA#0@knW$xNGC~O-}q#-RpyCcSl6M-FT?Y!3NMNZ)bv9I z?EDKQS7`_Osaz1v%lVD3>e7gPS04x2Q_b|jFLG8d`c}}@&%ZLtz2B{zQ5@fS;}Lp8 zVYuMZ!qHY~GtNTZhGzAdPfNk=8)BNb+~fz9i(00YwP7K7 z8>ati1hXe$6+P1^o3S;Qu)cd@BmZQsI#Y1Z>I)aNjps^ zS=b4Tmv}OgA-%*_bdMmYM#HL0r-r}GL!9sM<6dcxNf1>z)`F3&9V4**8iG4x6!`D5 zQt3}w3mE^rP0Ue?o6NpDDOTd=!kA2>3G~ay27<@9pV=wc3KD8#uj@aWWVKZCC;yUm zia>vTduhu}H+W=!h`I3YAvxS@gko(=h|_=zGiS>krfPN)v&grX;mj1ap6y@-CmRmZ z;VKgaML$#-msKXTcG8&ZboL$QY}zD2z0FGgj(Sp}8Q_H!HU~4Zoi+Tv>1)u%CHKjV z^&ZTv)hWz;u-E7-C-tE|w>|jo+Y3Umqaa_I&G8H`qz_ zDr9z-ipBa@$vnHA=3JL_Q9RctkZRd82iepnfLa2VY-pTGR&<;oQSN<^vw9&SOcZ=p z9M4xdJ&G=rKZ#NoMXhW^ zZpy&N%U7XdwH+?DNJ0n62y(t-0Z3USgUnqKazbSqUw=ysuF-x3Hd4Dtk7`Sa$thV% z)W8V*E=}jk^4N3yYim+z z*~5(}*Y^nD#8Q&kIsPv3Z=A^w-|?UXe=kO*U&hjdilJo82NlZdv<@CM-IWeM^qkIJ z6HI5m8^wIjY-EP{=P>^q=AXm-^UpBEKS_lwu~=7+GL8olKfWDYR@CH^)-dS#G65zu zoCHgYU^M$d4)sz;k6hG`B7;`n@dIiL+@?lC?0Z+N_H`MQsk@Pd(Sc<4tumg5O%@KH zHjeC`9ZVE`LUCoXGVY&iL-Lg5KqF-h{1g|X=@t3dFgX#n&iRd$YR|-q*1g<$d6AGk z7zG*D7s&0BCaO<=B;su5kw`CIfVHI{_^|nY7$_fpkhE zsY>~&MCw@xYMNAyJ$El8x5+`+>~a6!^}YWS{pYXl|M&0pA7k_3`k#LhhV1XQIV`G| z0!nJj1O<6msad-v$MsSI$kO$b#x`hm0<>1izIAUh*0fXjG zNPPZGoUD*QRvljo{rk;H<Y$RE!;n?`~xxUC>WOC5nU4=sDbO{}xhiz8^l&6%v`Yk3Gn?$ z16esD4T9Wm@#bjM!0w+7kP()M8yA_wq^<;#HztBm5~ZmA)du2W*+>{=H^?uQ=&l_MeOoJkElvA+w3?mIwgN(w3F))TLRG9sufpo08Q zQ(AfF(SrTGAnjjB9E!FxKxJh;;55d(hkJ&TP>meKcm{S-Ng-MX~ z1roL<2%H@RXD?ru2$E)q5>&}iDr z5bA}(N3{2LIQVRN12xHMxRdLHm&HiK>c>`4aIFhY@4Uc{+lNt^)eIurH4)eR`aJdz zC;kidpZ}OW_Tyf&s7`#@Av+HR_koY05=t5j$~1v<&{?*me+Ns)1xL2aPHY} zw=|yr6K-r;3|`LPVD1cYxleTgSD+>=3lU%lx3 z<>3~>#^Kzq>)A;6c@XEJ<23r+ssYZ7yd(}sp^@^xKh3gv-yHf3iZh*MqR-X;xRe`k zu+p+acqV=Er3S~wSBM+?{XE-$Yb51R@jP-kwrhdAGkd!hfY@#o@yJrGrcxOAk zp=2C)$i`T|+)wrF6ENG?)le^d-RN%BPDn4+x7=ZWmX5i71%2xO289n_QknYd@Ob=F zrjLC{&2%qk3`E9RD75?rd7>kkr`IMjYHdrbp7f1}0l!OByW}yFvp$1++^qmyZVJJt zabjHSx@Ou#b0KnXY(a_B#krDpFDT|*J#F*zKBc<$5`AW@h()s77bMpcOsDy0(PbZK zt5sbKkl*B^RQ>u5%{hy9(*;6_8OZ{Y46iS^YeMs+!htcZ#c-L z#>!DH6UNh}OY}LEiz#?LaALM=j-eOn>R6dv--4E&k)iq>?=a8Y!qA40Jb3Zlly(d| zz~q)9V)~FPFIto|r{RTHOLTR|2CvgSqWvJ?V-`&gkpJyHNUFlL`urMuN5q=G5(A z>fz#J%(yT)i(F?tC|xj`san@U=g6+Hx+C)v8CJaKZYry!kH7gw^)|$Tz2+2frp|CH zrAE`=7L7)Z(~>FgVtuMgZ4OGAZDsYomCG%(UI}aDGdWWt4-s)nh0!AcwCo9FrPv*b zlAcVW%rXL?VT3N#>@}9okaa`jzK`cFxj2z78RtShhsD&Rr&in(w?0s>m3A{9zD?&Q zoxchZF_q?8dga)+D2%@Kq8x6&dCge!)2SgF!^BU!=A<*bw7EIfEK+?@vBt=eoV|Lj zW_mMeUeA-VYx91NHm_>UHI@BTZJ5yW4)?Zu)lSb+yul-u^`P4(pAj62OMC}WAMU=VagL5M-A5@BQ zcTe-+z>QDb`3^D`2f|t`Ea#20xL#DwnY?Z}j1fd|=FigQmLE4aT@o^pl~|sLa$9Fn z?Lj8!(*kSD54#2}4M$CYUd<$KkeV1(Jk}HC$xg6*BpHunYerG0tRhfIOOa(Yb(U-A zJ)hp8m~0u)V@+?jKWyGI<{~fdd<`-xKL~REN9fDnLa5SJ#|k$bZ7Y5x*~L-zA)LO- z42#k1XmiC;tYv2LQ**5hch1^Xr_AR}n{B@Lsw6U7>0*A$V68xjB% zE6ja$sE13!-g1U)%=0PE-1X`U=tJxvS5SK!EfMA+Wla;y6-ySv^QYd_yY#!LN;!n< zYIc@dy!$O(#|h<{nVg_M+5R+tTy4e+J2r{_sn82Ka}=4`zjac>{BxLp4)f1p{`qGZ z;-C9F3aG1Qsk{Zw-iWiTmr~i(N+lUgWW%%daZ_V4@!T&%vfe!b=NrF)ou4h(Qe|kL zL+C8%yQ+)T+kKM~z90rqzUJe{$7ArdTm5*AS1`JYBY4jhTF~dHLuj#E4f{}8 zn1n5@$Kq4d(cs!?rS;l_XuWs<(nw!#0o{{Hp3F;p=x!c*ayEy{_6tF4za|o2bd?ex zFd-+uRAL+9TD0BWmFzzm1%ieN@Y!@7CA)YIQTe=uMCZD&QXl5BbqYUt*8(n48@n#C zD)S~&Tt#{Ov?vf&gg&RTD-I!Sc@29%A}BsT8ZXx_rY5-^#JKwjK5M5>#wDsjXLAgm zzfc!EN2>k1zOBFOKmSns=U-6=^na}X7|)n7^Kbf((To|!L;JtXjE3uf{w2^I8p@MU zBzGb?@$m+T1p5Q0D;S5LE+uaImypi65`tcqg2GJ&^7^(Z^vI{8HisBId8;=${lOGQ z&CVlV(qu7S=0`RiH3HQxIdVV6g-ko)O*-~uKp?t-<3kB6R&5BsswwIbw&;bo@S!f}N7ZwsyZ*alyH$@>U zqjNX~ErzRoAF*;}8i`RYM7skHK}l)_em8gkHo70iZ4r&sjlJS{_Sg@|{YO4_FcSuT zhXo9D`(UQpA0~Y0p+tDkaYr9UcP?sx%yvs?emELm4Jv1ECtTw>CVa$8OmAU1<^3f7 z*L_d#cfzyA^s!cx5vgjdBH!oe5QRm_?RIk3v?kTVgtLLd5KzfY=^Q!XG;I%P25x)Pi$|c!|A4dXs%EQDxa~QjO;sv z*U>bb9lMylSZPg4Kd6&(%NEe{KZFLq=HSxcV1zj*DBTMO;nTNb)Y3%I+_y=nqi!XN zoHdHP{??72$^#5skAX3yn4P{PiSp{vr3P0U5N+!n5WD_5wQP?Z9^7*cw_LHtJ!{L@ zJ=$s{`f>-(nU{#K^l0MSE;?Wz@e-#k(4o>NPaq;*J#2162m~8^MuM&@Na86AMS^|U zuyQgIlb#K0ZL?9VY9f((=uSB?5oq~TbtE}O1{B^cg!LQEkjmIeq-JUzxXycr?v|(! zBesQ#&bWp*3MJrxxU;aZH33b@cP3j0gh}K?QE=LpO_eNsj{STxSl+^HBH0^?CoejT zQ>>+7WZF3*;TcO_Zq3CLcP+(hly?4F(RE4h((uyD_CMLI#2$24)Brc_P9m^uH%Vz3 z37>AALx)$Yqrv^uwDfc~=Tn%LY+UehPT6I*VRj2Ke};4;fGD!M(5& zON@IDl6`#1^OZrp_8Sz-8&vo}l_eGWPQ_=?LC z48X_;N<63Xq=5X_{XdwV|-Yybet6m7dr#hZyBEbyV+#QfE8P~xdmy&?ZNs^ z@obFNDXzuIC`$IEFZUo;8(~P8 z`W&Qwqn)~&{|+fe-z8;^O-O4=0y!45h(t+_CiOx(Nb1{SoYZs(lj}=h=aR>`gNjCv zA|GQ{T|=t$Yz%H1^Ml;u6Z3{oCsp{EcyTx77* z9Tj5U@CEHWU`4WnUt#IzQ^}5$TI@?5NA)A}cxCZ{gtLqbx?-oGCo&apPd!Xowl?76 zdmd*hFc3fjWv- zy~qXLiw|ge_cvrH--9?cEtVUw66rFSjW|IR(FO_FR@p>6cdLSt|9!k|QY_IrCQ8uM z1n|9ZpU12j%hlPl980WLvXGg-H9bsRzIUv8Q87SWSEN)tW5p#JD_l|1?n)B8PSP2ePEDDCq*TpFE z*;C$|S&LAhPA~o>?E}(3Gs$GDXRPNS4@>#oM?3UwNYdhqWNmUbbz*@&xI}Cv5e-X; zUM7p?f6GU2rhUVsWewTZ(0Xk5A&}@xh@;S>ad61?G}@Qv1j{3Az|dj>cFHWG;x#vu z_bo@zIwd6tt{#JDO+JN2XI~-lpM;3{z(g>0Ya$5?H<0_+(x7Y6L3DYpIEmA5W^0mz zh*nV^s#q+-)n9ZCw+iT_b;xqD-Pv#)?-`8adj`?{d>aVp3MZ1U`_T6eInXt`fHw!8=(gL(cek5DB zw&GKUQIMxUhriqJ329sr1@3#d|2yvY--FcK5_-_}{^hoqO6JPl`s4z=qAADW%*roc1|^)d3E=e@B#@{}hiO1aQ#n%*p@s zzAV|!olv-&rhMnVp!S@SqmSKO37*~c)cTGxm^n5dbs8>3b!%pE&uvY|-5t~Llz0w`b*q0vmrH6g#VPAUKm;M9)_k3yV z9~S?#&-?#Z{M-1?zoHM&|0Ms{=pX9;{Vo18T>tN{!BEfjU@0HI_%TBgzv3`N8R+xF z$7B(9{zu46R;1%aZxZR4wPb$v6_8utPB(5D%^&I`oSErL94pt-TwX06ap5NXy|?h+ z=kkB;LGwp_EFr6*Ir-&>{fwda+;;Z+-+IHmy!L%&d`J1;&JPTf|2nrf{rkDS>7Vs3 z9(wNAbu<3qx*7lK`w<(VQJ7Z{U(jij{6FYZ`JV^>cK*-&>*v4Of9?PEZ|47S{P!=x zQ2y2Vt$J|4W;%K6F$>D?PlqQ-8%WQbY*fBjlL$Ra=0!aQqPT7zN_`p6zN&dgOzqM^ zF!C&AJ$f@dtF4Fj4XGqAxt=;QS&!Hx3rN$mmqfTJ9aSk$X8cuqAOEkvbhs_{HbI zy`&eIPqRqg7y%V=={DT)Nd~Enb0EQG02{TQ-d9%#l%f!RS!Dhoz~q4jN|9=Vqswf>FdrvKu&7fZ<(Sx0p2 z_<6z>-6jcBj}dig5q$K;AyChd!&+;?NK2j)^v?f|w?jTy$lZnBJKZ>cK!@x+@d(6U zMB-gX^NCGu6e+(vg7{giCj}*^;iP{dc@}?=T<&DaxTQ~tc-06zW%PL{-@6P%Chh>O zvIpcvdMUX5^2r4KPQ+xa4P@HNqsUQHQHn%6(yHc?RoMoldedpV%yl%ZTDBG{#~&kx z_S3;Sl7ZJ#W)Qo}mSoIXTQc{19US|)2_iS@A+5o~Xer>Z&42bBiO{r;|oDIO;-DO*h7}Wq9%# zPtY0gBo&kIpfuwJWdHW}Y{$qHqDAkf4(vP()s<@CpOi=10(x-NlM%EQ8wC$4ldwI{ z0EAXZL4E2PQn&pSHa~aZzaF!_7DI@W1$*dyI<;WsA+Ghz zwKIp-lIcl{Ukt_2#( zb^VV^M97_rh)5;5UuNF-d54PVvL#(~kwPfREp$UFNpdT+QIswc-6`h#-WjEEqSW49 zcEwhy9ksjI6#wk@Nu7PpUgzlF`meLkUiy`Ik+r(^5We|HU3#K;HL{fp!cm7^1{~kJJ+1KToO zxQkw4v)1i^U3K1AZ>fvz@15_;@E2rksSK44o`I^V3x2CVen39`&7!}LZ>Po&$bO5v zrOaJ*Tv~LTbse!9l)C{ZJs$Vr^Bc*xOShtBok{4{*sZv0yx)L)E9Y_kK0a@y;kZe1 zhvncHXUx0%luZmM0L}bZTyfubz+?X%`2F65V*K0auPMLxc_-EzV!a{O8)CgN5c>6o z`{Q^#WQPs)oZi4zhR?@tWy{&^at9c%AI$z=_$~g~@X!7Ke_{iWFZKU6=Kr$)hmDnZ z{qGNf*fUz}87=mV7JEhy1dWfkzj`_TV;%p0TNC)(|Lr-yd7l59=Rb1w?}4$x^gDsA z@$IU>5DTKRGlwxM4~N!gR|P*u9T#+uF(W+(n;G+Q36K&Phch?|!tnb)Lubq@YO=%n z;~p3bpRXj(v&w}nHM0Ds7ezOfcVzJ8nw36CTodCflF6uu|z zc%;GqrY%!A=HWZs^j3mMNyZDkHM+yujC;WK)L(yquUwjrc4ITy_ z>2AE2=MWu);rE?-SpPxY{Pai4ln{gU{qoYGBidgpDP8mWkU7;?swhhP^Z#fLquF2!0 z8d~sNrxGXNZrn6NrE*kf4%<+aLK+$d38iO+U?a~icqltbm^=FgneX;kIA-^j0r{d2 znBmK{x_nzf0-0b`07bEGXw*zYUX1V#yU}$jITkctxLr{TI2Y$&xpgeP>{>}s>=t3i z*|Guotn+*Eg-u%s3eh2RPA0&N^+h-h&F1cmzrr47tt4XB_hk6>(3o8pj&{sp{P1g@tpUxSGko3J?hzS5_adW{H7gEt&B+K=4ywBYC z&4Tm8jHtHrc_h{|Vm%|)Gh#h65c>5@WWifTp?eeK_BI-;COcsd`!a^Z_b7LsG={P0 zDPn^=?xTCQkvQhfDrWj3NAz7y5)MyU$Fzp*sPdUs&yE`}ORu?%gk7`7f_G>s7TC=B zufE3UpZov+gaP3Hz5lnfHW&B*e+b0>D`Ni@vHyzLe`O$i>i>WB^!v5P|8))EBah>6 z_G0+k`##?D|KSt(+x<2_9oOIgmvziy%oe-DP`&ls@BAM_tztH}#@85~ZQorv&Uh#9 zcKZaP=e5SpWabad!Gji1c%#N4T2+C>TZTFG*Q`T6Gm*OOO<1P2#z8;IkhoZw|BJV6 zKiYykq1k2xE~rey2AYlV0@c|Ljc8=eBwrE(ULpRv%$gs%F^lI~wFX(;_5;JS`gX?0 zEXc*yT<$=8huFthH0u&tadJP_3V96YT)(s3vOXI}*8K=pn+x%S)}3Vf(uLfXwG+@r zwM-K3BXVeVn@G|OcMmwed+&#m^Mk^%bX6LjQP~LJU$|!5*8YmlSrWy!aXW>BhL-Y; zeWlP`U48Dp_(*aqq1$2CJ%5PWcXB|!_=;EXB6teE#-t&3)=g|FC1sl`8Z6wP7|Wk( zJ{&8oIK;o6poU6puT`bX$dMG+Xot>ehIq?Us{#4k4kp6G^DNT55oWV!q82aLHPhPh zNFn8Jl;L~sHbcs(o>f<(NiTLKwW4MlM-GjZ5R4;z1v)vQj03>lSUhlYRSK#)crSFC5m zdPb~g#Cm2R^y?YL>^->SnmLlI&;t{PnNT$9d$wX>8XdD{BE2U=+>(POwcv zP7%4tzA=h7*Rh!i%umJY39={_@5b(W^C5V~DOP)xBekWD|JD8fC+q(}|D}FQmPSVU zheQUg4*7%oe>eRwYnfagNUHiv%0#2%2-W3PN>Pv+T$W zaM+y;_e;~+!w)Fcn$kqWw<=J@l4v?(Pbv5W>Z82ZhiQkT?ice26V!TsA#GZ2MSEO|acjs9HrMVl9hLl&#*b>_bynFvy@ysp-;T6L&&Wi z4#Yafj&PhzaJAF}h*+5pIa`i_jq))pS?ffOFOehx+_A)M(I}$V!GgY^4OF&&3mdw- zL0hn%_*n?yi1RdbPa>EMN?St4YM+Gw_fbUK<{ZTQ=ml5G{6OXUE$Et+h5hy#lf#jY z#C%@}Q8+JxyE1!V!)gj6+GZ1tQ_D$u?OjOSFq9{HG#*!&tAMKUFw!e~7dsg3fl$-c z*l4I832dlD&20+^?@m4(AWo#gQkf`t=-{)Ll*!9uCS*bh4~z|`6Wtme(m&5Lh!R<3 zJc`5}ok(sQM?q1!D;eRmklc3Xk|bO1c(4JhJ z6+luAQ{hO^W~kP)BKD2T$)s=AlV;V?r0PvEsC+eoD6jP(9vAerf%F42-EB@3^CTzeep@@l~y`;I_eSR85bZiHzD%ZSPu6|zS*lCZ_g$fP(I(*K={ zdg}_8P3pj8*d^Mz{WUJjJ^-hp_p*0N_b}uC_`-kJU*2$4_P5^89*cWt1 ze|T+TDrg#=rIW8az@m%tBt1NkjcxM<|3*!ib|D4ST2IrUAv{p^lqaTAOIWL)d_T_P z=oSSm^T-rQHYBsJuBR}47t8V41$%MCJ2hPDQGw!gPOtU1WTDZ^W8Y&zqV23s& z2-I4=@GmwqaeSgWZjX#bU6T9Q*LN2%+R8=v=&*FWT|)~e=cS=yjYF(Ki6e7-NgkfM zB^meE$dhZ*@lR7akmW)xIw9jBbLNI298^{Qn1}4RW2o~;H=eTKEY4hR!Cv1rm^pZ< zT`>3O3_);U3Y$^6oo$fXjMeW8c*n}+Q0vsrD!!^FFFxWS&)i@(t3Nwk(3x{rVBLO* zd2&XDhT(QLUkbVG0uLj!Fg0~Gz4Vl zG~tO4%|Q4+8pt62F#2UfF>mtfTJ&`7I+Xdw3{3N;p`VgZpii~_+f$z^qL1YV-EGC; zC|mVkanhg1vbIHJnMs-```Pg7w&2B%m%hJFw$|BKk29AfT%n2Rcz%UwQaQ&_*cU+} zuip}Bo(UyK-sg#0ubEV*h(a7?ravUc;8Lva_p*1BnbZ~su|-( zL{ghYNwtdAVe&4HlZzR$Xt;580hJ&_O-)3>KbMQjX7%xV#;hjW({G5}II_gG&rI}Y z5i2rFmv-DYZ9O^4Zx;3E@t4boh<)oV(VK07)pf#yju~Tg_$xMSukO!7iQ6RlT-eU) z`D}!wP~qodKiE{1}Jes}jtf3Hx~Sq+*b^)UIgMStrk>ne8?+);vx7pX}^P^HiyZ4w3oLe zYAu@kV~xOF?itTa#z!#2eVxOtDoN&e_I_T#Gf!rCrwV%1lg%`Yt49e+Zb;JdE_YS6 z1o8=-!#r$IK_~a-F!!?R(fM>Y6zFn?TN)&RJS07t>5r9BWk@!2_kAtmu5(2aId`}P zQzTG|q9=m}tD@}tIZW=Zdi2#MH`Ho$mFsUPiBR+$=2)64@+;0^Y~}xg+!;3{T6c#V zXeNpJ=b77T#M2B@X2(cwz}xZ%V{`d3-c6SR93SLd)#bFEiLSZEM0%Ov$x_l-f6({H z&}S=FC~D%}Qw%~Lv;WH8x4_l3b$utL3o4Z;QblKVB6(%0_jaL#)?=lkC8dCzxw8^7Owuf5k^d+ssj zoNJB$9Ba-s{LqDwSJ}r?x3JZNCE1n%Au-<0>57EAep;}jOp=XVs$_AmrszO{Jin@#UVJqCkN7#>xHcaS8>_&?c})Z6Fk6g4L+2y8CPFD1z9PNg!$Ij zaZ>pKV&&h6>)-g{qXWYJ?a#US-<7|L|IA;p+Q)0P&wOt;7cbX;Lon#?;yPO|>nbI^91Da3KUH9JvmDN*!GCzS3f zRxE1hHP_svJJ)0 z*p=1gaMm^mDwU*&N{tm6w{Hr$BpXRKG8ak1^$o1Skqjs+UBbEyJW1%*3U*vnBhql# z4|1m#L+&^hCghQt~ZE5uPtNLhh$*CntIzgY}u`p^x-p z^7_s_R(1UjSgXAm^qZW}w>m-;FDZjLq@cs|vVl7~gyihef?(~lWX+Uaa65erT=%;~ zaukNa9>+d}E^iPFi98Hvz!Qvb_aWT!H`E5bxuij#k8&j4VW;>ea2%UW9)8Xvvu#32 zug`=?n&d)dyb7C&cAS-9qqdhj&Xa)Ak(v?du|r=X`Dgy24@nz8979LVkPWx z9s>QhoF(N6{fM7K1loT6D$Ho^0)AUH*oOFca@xEC@}0!d+6R|GO8F!SduEH24?2@= z!_vsP3v)=>*J?KXP8cb-awR&~v{C-)(JZez81^gAfp5VS;LjP*+iD*OHW$F$=Lt}` z)Q@HB*OS~?9>it#en_6W?_ajZfHs^Qxr;n#lE={rr&;}p6gjm@UT9gCf!?D4IFy}B zcFydIZM)3@=i&Cy_#za9-LH@tdm3O+YXaf0CYM6OsB)0}g-#-W-{;90&>iA{hmJMHX=id_ z@YVB_%r*nu=h#gsXXao@b0z%Zs25)D=z^PfG(z>oNb1u52*hX~0o6l&@M7Km*jukF zmfb(9o+1hL{Y* z`Y*lFmAFaZ_C5*(Mke_Dk)xo+-Gbz$##r;wAc*)}3upTc#Br6&ux4o<2y&+3#kGTR zMo%+5Mh0QeoqpKi{d(x;p@(8f0L)!zjt1>B#*Uc|ICSue_BhV9?r-4Ru&&r8c?&pg zD@TUGR=D0m5!7iLd{D;)Z~f2;9z8rT8CnI5o;4^HX<<#l1(*ox*z(DJNV(nz@7&>y zt@riBMst>6gKIrO*|FRrudYAtenJ+z-<*g&t?lqJMIYQ-yFWg#c^70In~o=K=0NIQ zKg<*iz>|8^LCv-)P;dPZBH3kFo%sMZ^-zIusZecvEE{_F4i4J}{yDyGw zU5}UTQ^y~c4}ej3?D3W>w%9v}K}Hi6V&k+e)Ry6M@r~Y#abor?ylT);e84UhzQ%XQ z6O+Bca^!rR{n;3ri&+@tGX@VXi34kaI=&a_40&_s<8`-(;FTlaLfb%Dj8?Y*uLu39 zDUVOW?JH(vhSwhAe;-2@=RlcHKLul5O^N=>-Q?DA6OaaZ>bmDCIC^0;;TmGex}Fvg zyGoj(ujIgl3{%oWd^ed<&4Y%Dp_F4w4j2zMB?D!4lUc@gV4J!dPH7v!ktj7Ze*P(T zyt^IDf4B>rs|_GOt}jwwcan9S;s6^K?1mkC_2ELwK=grkj2+!;HiVAf31QO>K-y*~ zGT*8IWa-Q%+7<)OMH*`mjx=*->i$Z%?q z#rcV+1Mr@QCq|ft9q#j{X5gMM|4o z_~Pjyd@r}$B8z93FC09QFY*(lYAosr4UupSpLY zYRY+()r#p%P>W+>vqUlTVUikay5TiXrJn+|@QWGMsZ+Jc{x>1UQ&8btCGa0eD(+Z1coMn!dsbw_ox;AQG&@`TPcH`^5|sZ4jwC&%_ypxP#;d;rOfw42?7>=qr3;p zqZQNk@-m+0GM?$9sez{+QV%cf5*%a2QO{S3$o*^_FEgNk$!+3M1yT*v6S;W7&Js!F zmDd}MRgU8|EI7@~az&KFm`9ZP$OD4x)m_oO7mDq^V$8%fY~JM(R$@jFb8q2Oq<1tM zeG(L)l#FvowdSs%VcteYVv3l>`$Z$D_=5)2rH7-bw1KA7g5a%a#ga$J{-_`2U-^yI zyi>}q{8Y)_S#_5UuRqQ%i%}&Fqw6hh6^({%dTO9`xj$_8QG&Q*)6l4ACsD$M(>zjaf*~fk1vc7!AeY7nu>ZRL!o71&YP{TjX-F@aYa=oV+~fwsyfDU;7LH#VOJ$ z|DgP3{AZP`&+1j4Kke{dxMG#7_kT7N^f&n*^$m=T{}lf*Zj;XV&p#oZ_lY|16LsDv z`qv`jN4k^5(Fjjpe65=#9#Lu!?%kYmQ>ZKCHTML|W1}%|@>)Ezw+xPE9zxKdT&m}w zez>987b~4wgXgJu;=KL{yw_>q>J?R>^RNJ#p7%!IU>^1ZT|7A-@JRhuPI2e16bjP)$ z3~)>RDD=+N0oS{;V02~$&b4cTmovn`@3Ai~S{qIgqmel9vOGAnov%wLY2$3`_4x5U z16-gm7E9*dg5DN#@Miv8SX?|7FF8IREqU_=Zgm?ClS2k#qX9iJrP~Y31x~|jUA*wS z(DCrr-?UxVQR#-*3x~jhRUSCeQW~GRA&1?@B!h&@3Gf_z9IowLhm-r*g87-@SYe0~ zmaVr(UQMz%{>L>8jE8T0TS(^{&uX$|g`aTMOmUj?-bvXHJW4!Iwyph95){^BJC z``4_+?w`zIO3E1Ac=sb*NgRiRdmm^U8~Rbl-~~MHX^g$;P~A_d?%kbpMD|S@!Q1~o7i!Qv30Y6_`^5sk@ zS`--z0rqFutnwbr_`(vTH!}vp_D>}nHN((X-@P!xrG$0%k!BRM&!WOjF%UZ5mK>NF zh9)i93(M+@S*Lyv$BIRVY886e(z7#w{v;b=rU1Q;HL73SHXxcex?K23%jT{B>ZVmicRCBVif zx$t618jLPUhW-cgAuaI`P%THGdub*xytMYYLZ-`TQsG|1>StnT_Ibpf>S9V1&J1GW zx;hc@t*z{Uvrcf&s|(qpVMS86>M(I}S6Fcs4|bh`07+|9vbkRsNlEi4cH9mPLbsk` zhfYz242fs#+ZcTk>hYMloY<4hGCRV;B^h`SbAgrHrAm(Z2lA8UAu1xaltIRB~KH^jDEsKd>%!_Ym3`sZ+^RD$snN~ndZ3@8s9mQ_~j|2 z`GrmU7{!U%B*>9|%%UBq*({TFEMs0t)#x9hCgViGNa`S(xo9Wy*y9Xgp9$Md_6=k1 z@=Q=aqX(<+l)(7yk3vp?pP4MYnO8PuyG7Rvaflzf2?d>*!H#>DPO0^ap$b_u-o+c6 zz{=hU=*voAnHt1~Xv;E_KIZajbw;rlt{Jk|%DR%-*$a@fy&APWPg$UMSB-LfNl{{Y z2?as-Hx&jP@uhzFw@Rbm5R@Y(rrEaDH4@oTI_e!vI-t(EM;+%rCcLAUJzb1#Y$`a< z5JkNIDdPAc7da1EIlkYaEm%YG1@~Buk3Fr{afzN%MW8#DU)Yk5yVVXVx@FP_-~Kk1 z^HIIVwMr}V#cU(6t5OrU>6$dwpJTuYUI@9sbJG0#hlBBA%X&`Jt}9kF8_u~I<#X1T zy7E0$z}idx$M%WBxZ}$6P~3* zG;d|83)5xP_QIfnNmMpI&D$uI##qZ<<@uY8;9Xek$}GN~T2S}sFg51(N#5uu$&7=- zO`aR;z!UISF~X0Ag|E9LQI^XIZ_k<}=7QiZugp7;cX;?pW>~X-Vcx4ms_~$Z_kMX2 zQ$67(&u`#*o`#PH^YK_WqL4uSIaOfW%LDRDx-K`#+g#n*J|+!1GZCBG~5}Z6H?5c9BqMi zvmx(wmJubc(3cmsGn{HFTfoGf?aElJ)D{#_`n>WjJgRVjJkRQL6czQ=osp=MW+Kw{ z1l!U^@kH%h(`_f>-8*TE0@vyWZ($Afk2Y5VHw@a3p_pmP-l(C<; zHX)KRo0vnjTn=SUo!d@1RfGx@&h$jw&`X6D=N>bym!?pRZY*YU^F0=7S1+ZS+PW+2cOmlj4PwP6c7<{b7)8{y-QP zb{#vl5>j*KIhNG&!Cv*-u$;<0@UeR)^h>^h^U*ruHmDH~?;D8E?cahKE*pYe?g&|n z3cO)JH1QdBAJ<)8j@9M`3P<9O4p$Ctlx*KOIVgt5$Ww zs}HYY-Qx#|y-owZJ#{tq6AS&nZq8Gu{E)wl|9yWR&;l2qg>L`#^S?|D%>EqzGc@ST z|MkyECui#9Or4zRU(4V&oKPPJo5yJ2+v>G2w&x@qm_8AY*%1x}5s?r$(HbALT#Yr5 zGp;f^4Q6~Xyu3*dAMrND8+Wh}bzC0Hmy2PA-7Zwq&GGo$dlx+8Y9SohrjFOU>_>E?CwLvENdKRrUa`d8)MNr_LcLEv21r| z&@5SoCpg!^%Q80{^2G-g5sW$!_0z9py& zi{a>TC*%uH;P|5TIQ@DH`W)~c-I7N*Y?cbXy7mp&xZXh%@;zX{qQyAh`8tT|Pw7s7 zP??$xLw6;SYX*CfoNoziP?I3{Pd;UggH_=2wiF0kdywR(g&>vrrOad zAuTo;U}GW)Qi(*1w9mr9MhP-tUl&$RT^#}oj)L{w!^E#X1}O;6LGlX;(j?c)+?=lp zdmB?A!Tu1@aSTWLUgu!xCP|Xu*R4GU@idd+t*$m?$Avqinx@eVUD(JhZaRrHCp_Yr zq|aoB+lQj_X^R;ZiC*l!t+&zpFQ0kUZp+y-J$IvNj_a7{40U!++AHK9b&c1hU@R+P zy&6?<;~4)-UzpuY8IrP=r*gN2vP*^@M;alK%y~&8mQIp|L8ct9QPP~fqPGOCyfv12 z74wmCYbZo_=RDxDn`9UTtRUE}mObJAuz75R18@-rBzh{C-du4X% z%s0%rQ7INF-1R~`qr$>J&SMH{+j0hNZw$r6jFYX zS^_ssSBw$y`0qg`EcWUv~W7ppF5Z^pEi771ykZJzONq}f=AcR;68>naAiU* z{*Iw>*u!6@J(e=!bh7YQ2yyh|eg*DR68;r(a(B|d!p3*gg};K1%QN^De!J#r@_&U+ zUeL)4I(fmr7Li{w;giCsH!BNM#eiA0I*jtteraKK=s)&CBsjj!!UJb2yZ_VJF4zn<$PH@9tsERje2*zc19z*Vb(PmZQ|R zy>gVp=6Sr?+j#;-)jENl-Dt+<;dI8YU!Xu#ZqUxtV0-M5kSBQ^JC5E*@?{!v>3ct{ zRve0>#gBnuY@M)VO%=YhEs2bI)qq0|t;Q{pp*S|7941Yw6PmK{BSKBB3&hh_0A?@ov*5|Mf zW*>s+UM8rp+y*rJsm!Yd)K`j60>s|zZ+ph(^!nseS4T}xHN(! zzI;aMxZYrAE{cV|b0kr~i)`rIN+Ijf8Dz-(3K-V649dJ#5$oa-*!8YAiD2W1+qV!l zk?&0%XZ2vDcqHtJizLr`q?1~iBI-jhCON`H@?lCPDRH}roa-)-l;R#xS+I}#JHHZ? z7{&`4nZrDIauwK=%}{Ignek0^0EO%6j8j7a(yBi|CS}Azx0qZ~lFX6oL8(OHXbkEz z{4&rrr6gy}bSP2T&0e|VM8t+@Q+to5fzFctB);Gb(G)CaKNa6#6?pfU%Kf*QMf)mP z@!(ui>BeKl@)irY(g;L9k|thvUa|dOPa)3Pv)QUm0@9tNg6#YgWPbV~s6189yj&9c zFa2ZtToYqM61z2ka8?@_=eMibac`rM^K2dF#+2ERE@)(#t4U-_!75neycZsh%OnYU zu3($CjWvILo-I2+k?2f|Bn^(efT%BoTK8FGnnVt9&J1OP%y(1kUj>sq{{&LC{vc#a zYz5n0vr!NIL*!)8bn;-wF|uq}#z}Bu?uYnl)URL``_iYVtm^&s~dHUEc#p z`^`GYeRG^Bd!?d~5h}#^DYL?XB(RCa$S$#!bv zHqj+)ancTu{a@(UqI&GhnL}mlb?|voPnwG>h?ebhh_)~%J@U$kGiO4a4?SbE`o1BS z5g$qPI0p2a0%6y(6bPz}Kz$3&lCV?(*iI#=dg%b7b7~#D{!l?|r|p0;b5)`{@-_5* zavhqh38B?5Q1s5#B>D&o)i=ix+c_HGd@va~K2Rsh>QQhlIF#tvHWRuko1rZ4liDL= zQKIxM*j4_N=<5w75ji)>B4Ic@KeLHs%{xTK)s=we<2%Gle=SHniUzJ?I;nPzfZFUU zNdIXV^k~S0GT$+T>$3@Vl~x0T>%q(ZD;sjV2%@jtCP9)*(r^3WLJfbKQ0sHoRM zTrx@*CR`{0$-tpF{<>QG9HL;V941~6f|YJC+MIX?4qjUZ_|F{J_%QnLrz8r40 z-;F+AD1sWL=dj#nB7Ws*j_+~Hz^>PMYR1`3Q26Bvyg494-EHI1Gt6h>V25Qmwq+TN z&J4g^ww3TcB&WgE9+R;fcOK1OTL+>(*SIti$-OOM!@FLFQgdtgT2#Z%R@jcHSXbsm zbtLlJQNrewUxG95tib*J9k!e9cC=xdH_r$lZNP&yOcV0(^kgs2YG5pMo0$rgcWCSNtss{96zx;5W|ygI zv&XB<*csCL;L~&#e3gfQ^P+yFLAsRL_uviF_~jNF&xV1gff{&f6IN^D7G}ft!_4sG zF(}lC2g=#EP#1nMyLww0qnrDYSr>T+wM0e0dfySyUzKfN!}BzE6FYWX40~r$IDCuL zz}W{Q;GOYmBC;d(#wUUQgfeQ8?s38LtuL4$yHbl8+8>zwGYZHj^A^h=^^NkmI+-j! z*@}WLIYR1)i;PFzUNkBDBy+7g6!oxkWBX5PWi@8*VJ^J#KsGh&m||CHcsuM6YcZpR zop;idJ**}RBteU{QauBE_uS&(r$KP@ZY&EQ_Ot$%lPSY+ ze>Tu`KV{QuNxpO|N3X)(qaQvxNVL{2=lchvj_c#IcqxumdnEMwx?ZR>R*ODtei_e8 zxXJC8wdR`Eq|t7f933U+!6gof;;ILEap&YDxVjPP^f$v-lVK8PE;>n8n0e=(=Ns;?pwkAkt7HBW=55G69}a(otTsG1+{*n5X}t&IUtx@wIsGeq959Xh75-=D zI(72)PTtvcv?kw zd5)_M1qwqVsIEeD=KPd$fnS%Kg(@4=c$2)Uc_G8c3AArSQwi@(nUB7g1QExw3yG~8 zCEL{)9l5-R**3|W9e_u$)styfthSPQI?SEgU}A(q9`9r>g{@+zst#vIIAeB%%vEO5 zI}eIOrpWm1US^Dw4}0e2a5mWoI1(!#|EKh^*+p#HPe{NO(!gz=gwrWc?B{hYrnByF6~750bc~x(vi#= zN{NX+{EYRQ|H9(MqYTh9Q6^PV253Uia>Qn9Alr&~xY=zWl@wFK4!zsG&r5s?kiTjbVE)7U|uq^vITaTULaDsW!z;EYC9%^@lcIm40uzfwbwqXnQ z*dQUSjFP9Hr*9O--*_qXuh*u#T<*)w&YFxDZju+~e^#YmRfY;DmR1Tsxhc`JXUlN= zdr{cgxs|LTJ?NU(TZ99(AxOSzDZaP%MRE9m>@-|I>2r{jOpON{@czx>=jBKfQQ93A^Q{zHNPqpds2 z__<$o?C)s5jy&YQ=OY*U(NBJ>>mPl(qaP;z{(Jiug|yD(Y})8QnQpu3Pa2=-K4y({g!N~?I8WfJZv5PN0V>=Vn1!WYr*gKru3?%zqOSk zve$Q}4FBBA@$}r68vG7>i-Q&5>$D&`#9Wc@;ezQ$?le8EwG~e&E2R@1vVm&YOq+VQ z(gu+@z&ENWl1Z>?Bl?{DoJ)@H9pyS>v|g|uRi;ce|3OV6%J#eEN~!pcoF zt=P7|!`{#4GwG}=Y+L&V(PiI+bcenEU(@Lbe3!nSP)k2=4*cGyJ96uFq7(mLpi}-2 z%U|&S`CcxoeB51@{oBR?f5ZO`%}oEq{|)ucOgh(p{3EiV{gtMF<4=k74^G#?A!_O0 z-gDpgi$rvsNPgc>|Foa}!P#qnIAX(`iDM=^bdX*^!=EQeL?gO8-l)XJ8Z6{fAHU*^VoLSqwpub_4E70pZ>3-oQ^TU z@3ztZv5XGgI{2$df_|!#4qH3g=|7)`_ea~;(m%#}V(s&P?Q)-Coyl+LomC=qXT)@r4{I0xe`t*x}&08cvq;%Y47$v(Zl;(GVQcAosx z7(wi3-e>>fHm#g2%~$g;qUXE}Y||$Qe{AF7B0WzE%JIUcBwD1W)!;TB)yDJtOHZOj z{8prAZq~szJ-N2>aXX*?jqg384-{zdMSL%(O`lKv&G^Aq<#s;rtaXsq&{g0YH3#C5 z(C&OsZ$wKiR_2TJJYOaDUC)m3ZAYE9_n+_exr6?VmkQf>X;2#v*WkZ2u%JaeTr}?R zDF|%SGqIhAi}V!nQkj(@?RpB&SMjd3-lr#&J!v0z40tcj7mYit28-H7gTKM{0lj6Y zA}!*joF&i!Sz>h0wsDF&Rr8&fHnfd9658w)Yvh6bJf|DO=i9QGGWlyUQwRq*imEg~D}N3I;x z64pjOqJqLFP`dV`NKnRGq&7)bXqa&fQd9a7&0r_Usnr&WdnyXuuL+3tWO?BT&PZtI zbr_=K)r8Js4yZw)74=Tg!nvBNILiDb;nY7c{nG~$=MyuKcu)i6T|5q>(@Kf6{wtz$ zJRH#`N>FxO9#q@(*{?klA8{=vjdcPjblAe0yg!31=F6g)hfaW>hP8$58%yCzUkUu> z;XSmWXb>b?m=m*;%GgC`Jl?TJN@(^>Lf8_ajOS!lFrSB}LlINOWSkf-%$;E@gkoEg zwNtYFS*VUKe3F=Dh8@!-uvNGTe#zAl(OmccinV^CocI6P^?stYexl!>?y-c})ffxA zIV$2upXOlHZHjQ${f*%M^f_6xUK`LQH}JEu7Df#sNO*M&nRJ-OUxu_mjG%~!+WC{7 zHtm}rOYd%$rj4Vz(^W^)@$TG>v_+6Ly?VG6?dXo_pgY~@`IqO?r;#BYc1e#mI6RCN zzIlS!sRI11m1bHYVu{OL_(EIlexmwuW)kdDk$pj96(X!GG?=^4k> z=~>4QsGW7i^XXYK(X`*t&Ge()>*>Uslj+WW{~!B(q|y+m zm+2z(n7Gqo!Mg$6469I_8JGe74_63lZtNmkJgdo4%27BuOrH}&Dzsa!D^Av3E$myi zjO4wy6@Hb<71qB;+{LCKoD=DVC#&odiu!Hf(EHeBZxLt~2V#Msi*Uc!4WV~>(^Zk7R9EVw(V&QT=QmLZT3a1Q#G$Ft&InnLQ`X%f*CK`J1G2qxYm7GBTVuY>1q zY2%FwO89P{3i7V^T99)eNsbjO;?qNqlIOA+?Dzm3p>y~t__#ukjfn3ryclXC{7~)y zrJ+$|g7QbWIqNQ&^;R4gH!9%Td*klXeHhL~xO^o1Qlq#id#?|plHW~2~bv0n#m~s4sGT_$*-{H$C ztfXtbd{OV&+vypb`}4!xSMq}%_d;SGVdiwFQ9kWFR)1MO99OjB1FJ_$dP?#y`$w3r}+Ho16E%InQ}=@AIUZvo@p{42c^zC`=|}dUA>(HQkV$VnQzw6h*Nt zEf=ejW2m9k2c?>#pJlN6PZS(72oUubSiIJ>u$4;c3Mf zA?(LU{F7jV)n_lj!2^Rt>OIN61VvM~lEJ17@V}Q%!nk0*cdG^b#a{D;0mzP+iqBu~ z5-O%m@<(6Tn#Gi7-pzyDDyxj9n-w=-Kw<<8mQJd;3{n6vp6 zBmF#&%AfFWZ!7Vg7kkTu-QH<9d|d}e8+wqp8t?-BEx6zQ5#IK*h5z=H7OEb{@K0N#@QT^*V*i2wTy9bF6Pts5 zGy7|0o-R$e=i@yyJpFVd**%aC_Qh>*;A|Pp>{%e>B?l2*Z4Aj@W+2^D>wNlNTUbfv zF7c9c58I$`S~aQ4ltUc2$ZI7j&~7>eiqJct7?lqZo!f~epYrKjIJrRRH_j8nzKg_P zUu=Np2{*x-8{m<8@6>g|QB+8tBxXQy$7XVo-pYSkpXk%~Oa{W{qYC`t;!DCx{+YhL zi(NvfEySm)_l?OdP>^QyUgB+0S4+#4zt)RoNYd;^vxBDf+(%cG&-41^oV4 zL;XKcd>@(t&+~uD`$N%M_dR=r`+dhmrb*T1oO3ckGpkN_{4KZZ2r&1U-%c)|3!Uk- zj>&LtQX5o9qb52#lsVDuRQNH2D-cDfWRBI$myU$@c-0!#WaBiKnxylQ^@@P1y9u&> z1qcnaAo)r_Jz;?KK^RqA2-3x2q`yxj?nCoOntf3Q{prP_XmV3;{R4MUVUgX&-Goz6hiKwqCqBM@oXy|s7fo|^s2bIcY_9_?bQoj&e8Wq`cnMgCqM$@@j^H6nLWa~&;m h4g_RXi1k6>V`TZ->lc!k{ zFI1Fh_n~e#jb8L{rIbpF7fN|(qRBiK>HJTom6e!8W;01lHr~*aUU1L##tY_6Gq&Gn z`=9@d@A>Wg_T5gBF@0B}RvWu}mt3#c84?n;Nd|2~qMn&V3JbNG6>p`Vuj1!hq*N(b zM#=j4`lx(;6)H7jNm+%Gkt!y0iQh?2GsPRFQYLwCvcaHF(petAeD6>Bf6B&krddvd z%NocFmXH@N{jhpYILW#cN`lLZK+J9*DTb`j^`s^&ok+Mi@)uoPiui98vw7KDPx6j$fS8VMsHvWyVm6-f z7z*8U=tNTr*nKomnV$nUlw$%rOV->y1{rSdE;6N)JPkBy<851X>GK!C;)EU+ep_LGq@-lTVbSpoLhLX)cU=U0X@0Z>Oow0 zbb +float mse(const Ta *A, const Tb *B, uint32_t size) { + float pred; + float ref; + float mse_error = 0; + for (uint32_t i = 0; i < size; i++) { + pred = A[i]; + ref = B[i]; + float diff = pred - ref; + mse_error += pow(diff, 2); + } + float mse = mse_error / size; + return mse; +} + /** * @brief A helper struct for performing static_cast operations on types. * diff --git a/test/input_gen/recorder_v2.py b/test/input_gen/recorder_v2.py index 08f1af31f5..b25c132f5e 100644 --- a/test/input_gen/recorder_v2.py +++ b/test/input_gen/recorder_v2.py @@ -31,15 +31,32 @@ def _get_writer(file): - def write_fn(items, type = "int32"): + def write_fn(items, type = 'float32'): if not isinstance(items, (list, tuple)): items = [items] for item in items: print(item.numel(), " -0-----") print(item) - np.array([item.numel()], dtype="int32").tofile(file) - a=np.array(item.detach().cpu(),dtype=type) + np.array([item.numel()], dtype='int32').tofile(file) + a=np.array(item.detach().cpu(), dtype=type) + a.tofile(file) + print(a.dtype) + + return items + + return write_fn + +def _get_writer_mixed(file): + def write_fn(items, num_type = 'int32', type = 'float32'): + if not isinstance(items, (list, tuple)): + items = [items] + + for item in items: + print(item.numel(), " -0-----") + print(item) + np.array([item.numel()], dtype=num_type).tofile(file) + a=np.array(item.detach().cpu(), dtype=type) a.tofile(file) print(a.dtype) @@ -110,9 +127,9 @@ def record_iteration_with_amp(write_fn): else: inputs = _rand_like(input_dims, dtype=input_dtype if input_dtype is not None else float) labels = _rand_like(label_dims, dtype=float) - write_fn(inputs[0]) - write_fn(labels[0]) - write_fn(list(t for _, t in params_translated(model_)),'float16') + write_fn(inputs,'int32', 'float32') + write_fn(labels, 'int32', 'float32') + write_fn(list(t for _, t in params_translated(model_)),'int16','float16') output = model_(inputs[0], labels[0]) @@ -136,14 +153,14 @@ def record_iteration_with_amp(write_fn): # scaler.update() - write_fn(output) + write_fn(output,'int32','float32') with open(file_name, "wb") as f: # write number of iterations print("iteration : ", iteration) np.array([iteration], dtype="int32").tofile(f) - write_fn = _get_writer(f) + write_fn = _get_writer_mixed(f) for _ in range(iteration): record_iteration_with_amp(write_fn) diff --git a/test/nntrainer_test_util.cpp b/test/nntrainer_test_util.cpp index bcc33e40c8..5777bb75b2 100644 --- a/test/nntrainer_test_util.cpp +++ b/test/nntrainer_test_util.cpp @@ -332,6 +332,7 @@ void sizeCheckedReadTensor(nntrainer::Tensor &t, std::ifstream &file, nntrainer::checkedRead(file, (char *)&sz, sizeof(unsigned)); } else if (t.getDataType() == ml::train::TensorDim::DataType::FP16) { #ifdef ENABLE_FP16 + // This needs to be fixed. sz is always unsinged int type. nntrainer::checkedRead(file, (char *)&sz, sizeof(_FP16)); #else throw std::invalid_argument("Error: enable-fp16 is not enabled"); diff --git a/test/unittest/models/models_test_utils.cpp b/test/unittest/models/models_test_utils.cpp index 741e008994..ac956d479b 100644 --- a/test/unittest/models/models_test_utils.cpp +++ b/test/unittest/models/models_test_utils.cpp @@ -50,8 +50,41 @@ static sharedConstTensors toSharedTensors(const std::vector &ts) { static void verify(const nntrainer::Tensor &actual, const nntrainer::Tensor &expected, const std::string &error_msg) { + bool equal = false; + + if (actual.getDataType() == ml::train::TensorDim::DataType::FP32 && + expected.getDataType() == ml::train::TensorDim::DataType::FP32) { + equal = (actual == expected); + if (!equal) { + float mseError = mse(actual.getData(), + expected.getData(), actual.size()); + if (mseError > 10 - 4) { + equal = false; + } else { + equal = true; + } + } + } + +#ifdef ENABLE_FP16 + if (!equal) { + if (actual.getDataType() == ml::train::TensorDim::DataType::FP16 && + expected.getDataType() == ml::train::TensorDim::DataType::FP16) { + float mseError = mse<_FP16>(actual.getData<_FP16>(), + expected.getData<_FP16>(), actual.size()); + if (mseError > 10 - 2) { + equal = false; + } else { + equal = true; + } + } + } +#endif + + if (!equal) { + nntrainer::Tensor diff = actual.subtract(expected); + const float *diff_data = diff.getData(); - if (actual != expected) { std::cout << "============================================================\n"; std::cout << "\033[1;33m" << error_msg << "\033[0m\n"; @@ -60,8 +93,6 @@ static void verify(const nntrainer::Tensor &actual, << " - " << expected; if (actual.getDim() == expected.getDim()) { - nntrainer::Tensor diff = actual.subtract(expected); - const float *diff_data = diff.getData(); std::cout << "\033[1;33mdifference\033[0m " << diff; std::cout << "number of data: " << diff.size() << std::endl; std::cout << "\033[4;33mMAX DIFF: " @@ -119,6 +150,12 @@ class IterationForGolden { } Tensor &t = rc.getWeight(i); + + if (t.getDataType() != ml::train::TensorDim::DataType::FP32) { + Tensor &t32 = rc.getWeightFP32(i); + weights32.push_back(t32); + } + weights.push_back(t); expected_weights.push_back(t.clone()); } @@ -158,6 +195,10 @@ class IterationForGolden { } else { for (unsigned int i = 0; i < weights.size(); ++i) { weights.at(i).fill(expected_weights.at(i)); + if (iteration == 0 && + weights.at(i).getDataType() != ml::train::TensorDim::DataType::FP32) + weights32.at(i).fill( + weights.at(i).clone(ml::train::TensorDim::DataType::FP32)); } } @@ -174,6 +215,7 @@ class IterationForGolden { std::vector inputs; std::vector labels; std::vector weights; + std::vector weights32; std::vector expected_weights; std::vector expected_outputs; }; diff --git a/test/unittest/models/unittest_models_mixed_precision.cpp b/test/unittest/models/unittest_models_mixed_precision.cpp index c46c5fd21b..7c9204b7cb 100644 --- a/test/unittest/models/unittest_models_mixed_precision.cpp +++ b/test/unittest/models/unittest_models_mixed_precision.cpp @@ -25,7 +25,7 @@ using namespace nntrainer; static std::unique_ptr fc_mixed_training() { std::unique_ptr nn(new NeuralNetwork()); nn->setProperty( - {"batch_size=1", "model_tensor_type=FP16-FP16", "loss_scale=128"}); + {"batch_size=1", "model_tensor_type=FP16-FP16", "loss_scale=65536"}); auto graph = makeGraph({ {"input", {"name=in", "input_shape=1:1:3"}}, diff --git a/tools/package_android.sh b/tools/package_android.sh index 6e02cc23d2..5fc7ba8754 100755 --- a/tools/package_android.sh +++ b/tools/package_android.sh @@ -17,14 +17,14 @@ if [ ! -d builddir ]; then #default value of openblas num threads is 1 for android #enable-tflite-interpreter=false is just temporally until ci system is stabel #enable-opencl=true will compile OpenCL related changes or remove this option to exclude OpenCL compilations. - meson builddir -Dplatform=android -Dopenblas-num-threads=1 -Denable-tflite-interpreter=false -Denable-tflite-backbone=false -Denable-fp16=true -Denable-neon=true -Domp-num-threads=1 -Denable-opencl=true + meson builddir -Dplatform=android -Dopenblas-num-threads=1 -Denable-tflite-interpreter=false -Denable-tflite-backbone=false -Denable-fp16=true -Denable-neon=true -Domp-num-threads=1 -Denable-opencl=true -Denable-avx=false else echo "warning: $TARGET/builddir has already been taken, this script tries to reconfigure and try building" pushd builddir #default value of openblas num threads is 1 for android #enable-tflite-interpreter=false is just temporally until ci system is stabel #enable-opencl=true will compile OpenCL related changes or remove this option to exclude OpenCL compilations. - meson configure -Dplatform=android -Dopenblas-num-threads=1 -Denable-tflite-interpreter=false -Denable-tflite-backbone=false -Denable-fp16=true -Denable-neon=true -Domp-num-threads=1 -Denable-opencl=true + meson configure -Dplatform=android -Dopenblas-num-threads=1 -Denable-tflite-interpreter=false -Denable-tflite-backbone=false -Denable-fp16=true -Denable-neon=true -Domp-num-threads=1 -Denable-opencl=true -Denable-avx=false meson --wipe popd fi