From f15103cd56e7f1013d093a742c11dbe7e909b991 Mon Sep 17 00:00:00 2001 From: jeffin143 Date: Sat, 27 Jun 2020 19:33:08 +0530 Subject: [PATCH 1/5] add pr curver --- include/tensorboard_logger.h | 12 +++++++++++- proto/plugin_pr_curve.proto | 10 ++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 proto/plugin_pr_curve.proto diff --git a/include/tensorboard_logger.h b/include/tensorboard_logger.h index e2c72ef..1baa206 100644 --- a/include/tensorboard_logger.h +++ b/include/tensorboard_logger.h @@ -140,8 +140,18 @@ class TensorBoardLogger { const std::vector &metadata = std::vector(), const std::string &metadata_filename = "", int step = 1 /* no effect */); - + int prcurve(const std::string tag, + const std::vectorlabels, + const std::vectorpredictions, + const int num_thresholds = 127, + std::vectorweights = {}); private: + std::vector> compute_curve( + const std::vectorlabels, + const std::vectorpredictions, + const int num_thresholds = 127, + std::vectorweights = {}); + int generate_default_buckets(); int add_event(int64_t step, Summary *summary); int write(Event &event); diff --git a/proto/plugin_pr_curve.proto b/proto/plugin_pr_curve.proto new file mode 100644 index 0000000..cbf369b --- /dev/null +++ b/proto/plugin_pr_curve.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; + +package tensorflow; + +message PrCurvePluginData { + // Version `0` is the only supported version. + int32 version = 1; + + uint32 num_thresholds = 2; +} \ No newline at end of file From 7d07bc09ceecb294eff50db8276ab3ac7cec3627 Mon Sep 17 00:00:00 2001 From: jeffin143 Date: Sat, 27 Jun 2020 19:54:19 +0530 Subject: [PATCH 2/5] add implementation for prcurver --- include/tensorboard_logger.h | 13 ++- src/tensorboard_logger.cc | 152 +++++++++++++++++++++++++++---- tests/test_tensorboard_logger.cc | 13 ++- 3 files changed, 157 insertions(+), 21 deletions(-) diff --git a/include/tensorboard_logger.h b/include/tensorboard_logger.h index 1baa206..1213f35 100644 --- a/include/tensorboard_logger.h +++ b/include/tensorboard_logger.h @@ -144,15 +144,20 @@ class TensorBoardLogger { const std::vectorlabels, const std::vectorpredictions, const int num_thresholds = 127, - std::vectorweights = {}); + std::vectorweights = {}, + const std::string &display_name = "", + const std::string &description = ""); private: std::vector> compute_curve( const std::vectorlabels, const std::vectorpredictions, - const int num_thresholds = 127, + int num_thresholds = 127, std::vectorweights = {}); - - int generate_default_buckets(); + int generate_default_buckets( + std::vector range = {(-1*1e-12), 1e20}, + size_t num_of_bins = 10, + bool ignore_outside_range = false, + bool regenerate = false); int add_event(int64_t step, Summary *summary); int write(Event &event); diff --git a/src/tensorboard_logger.cc b/src/tensorboard_logger.cc index 061aa2e..7ead4d2 100644 --- a/src/tensorboard_logger.cc +++ b/src/tensorboard_logger.cc @@ -15,6 +15,7 @@ #include "event.pb.h" #include "projector_config.pb.h" +#include "plugin_pr_curve.pb.h" using namespace std; using google::protobuf::TextFormat; @@ -26,27 +27,31 @@ using tensorflow::ProjectorConfig; using tensorflow::Summary; using tensorflow::SummaryMetadata; using tensorflow::TensorProto; +using tensorflow::PrCurvePluginData; +using tensorflow::TensorShapeProto; // https://github.com/dmlc/tensorboard/blob/master/python/tensorboard/summary.py#L115 -int TensorBoardLogger::generate_default_buckets() { - if (bucket_limits_ == nullptr) { +int TensorBoardLogger::generate_default_buckets(std::vector range, + size_t num_of_bins, + bool ignore_outside_range, + bool regenerate ) { + if (bucket_limits_ == nullptr || regenerate == true) { bucket_limits_ = new vector; - vector pos_buckets, neg_buckets; - double v = 1e-12; - while (v < 1e20) { - pos_buckets.push_back(v); - neg_buckets.push_back(-v); - v *= 1.1; + double v = range[0]; + double width = (range[1] - range[0]) / num_of_bins ; + if (width == 0) + width = 1; + if(!ignore_outside_range) + bucket_limits_->push_back(numeric_limits::lowest()); + while (v <= range[1]) { + bucket_limits_->push_back(v); + v = v + width; + } + if(!ignore_outside_range) + { + bucket_limits_->push_back(numeric_limits::max()); } - pos_buckets.push_back(numeric_limits::max()); - neg_buckets.push_back(numeric_limits::lowest()); - - bucket_limits_->insert(bucket_limits_->end(), neg_buckets.rbegin(), - neg_buckets.rend()); - bucket_limits_->insert(bucket_limits_->end(), pos_buckets.begin(), - pos_buckets.end()); } - return 0; } @@ -243,6 +248,121 @@ int TensorBoardLogger::add_embedding( tensor_shape, step); } +std::vector> TensorBoardLogger::compute_curve( + const std::vectorlabels, + const std::vectorpredictions, + int num_thresholds, + std::vectorweights) +{ + // misbheaves when thresholds is greater than 127 + num_thresholds = min(num_thresholds,127); + double min_count = 1e-7; + std::vector> data; + while (weights.size() tp(bucket_limits_->size(), 0), fp(bucket_limits_->size(), 0); + + for (size_t i = 0; i < labels.size(); ++i) + { + float v = labels[i]; + int item = predictions[i] * (num_thresholds -1); + auto lb = + lower_bound(bucket_limits_->begin(), bucket_limits_->end(), item); + { + tp[lb - bucket_limits_->begin()] = tp[lb - bucket_limits_->begin()] + (v*weights[i]); + fp[lb - bucket_limits_->begin()] = fp[lb - bucket_limits_->begin()] + ((1-v)*weights[i]); + } + } + + // Reverse cummulative sum + for(int i = tp.size() - 1; i >= 0 ;i--) + { + tp[i] = tp[i] + tp[i+1]; + fp[i] = fp[i] + fp[i+1]; + } + reverse(tp.begin(), tp.end()); + reverse(fp.begin(), fp.end()); + for(int i = tp.size() - 1; i >= 0 ;i--) + { + + tp[i] = tp[i] + tp[i+1]; + fp[i] = fp[i] + fp[i+1]; + } + std::vector tn(tp.size()), fn(tp.size()), precision(tp.size()), recall(tp.size()); + for(size_t i = 0; i < tp.size() ;i++) + { + tn[i] = tp[0] - tp[i]; + fn[i] = fp[0] - fp[i]; + precision[i] = tp[i] / max(min_count,tp[i]+fp[i]); + recall[i] = tp[i] / max(min_count,tp[i]+fn[i]); + } + data.push_back(tp); + data.push_back(fp); + data.push_back(tn); + data.push_back(fn); + data.push_back(precision); + data.push_back(recall); + return data; +} +int TensorBoardLogger::prcurve( + const std::string tag, + const std::vectorlabels, + const std::vectorpredictions, + const int num_thresholds, + std::vectorweights, + const std::string &display_name, + const std::string &description) +{ + // Pr plugin + PrCurvePluginData *pr_curve_plugin = new PrCurvePluginData(); + pr_curve_plugin->set_version(0); + pr_curve_plugin->set_num_thresholds(num_thresholds); + std::string pr_curve_content; + pr_curve_plugin->SerializeToString(&pr_curve_content); + + // PluginMeta data + auto *plugin_data = new SummaryMetadata::PluginData(); + plugin_data->set_plugin_name("pr_curves"); + plugin_data->set_content(pr_curve_content); + + // Summary Meta data + auto *meta = new SummaryMetadata(); + meta->set_display_name(display_name == "" ? tag : display_name); + meta->set_summary_description(description); + meta->set_allocated_plugin_data(plugin_data); + + std::vector> data = + compute_curve(labels, predictions, num_thresholds, weights); + + // Prepare Tensor + auto *tensorshape = new TensorShapeProto(); + auto rowdim = tensorshape->add_dim(); + rowdim->set_size(data.size()); + auto coldim = tensorshape->add_dim(); + coldim->set_size(data[0].size()); + auto *tensor = new TensorProto(); + tensor->set_dtype(tensorflow::DataType::DT_DOUBLE); + tensor->set_allocated_tensor_shape(tensorshape); + for(int i=0;iadd_double_val(data[i][j]); + } + } + + auto *summary = new Summary(); + auto *v = summary->add_value(); + v->set_tag(tag); + v->set_allocated_tensor(tensor); + v->set_allocated_metadata(meta); + + return add_event(0, summary); +} + int TensorBoardLogger::add_embedding(const std::string &tensor_name, const float *tensor, const std::vector &tensor_shape, diff --git a/tests/test_tensorboard_logger.cc b/tests/test_tensorboard_logger.cc index 584fd2a..2412cc4 100644 --- a/tests/test_tensorboard_logger.cc +++ b/tests/test_tensorboard_logger.cc @@ -106,7 +106,18 @@ int test_log(const char* log_file) { tensor_shape.push_back(tensor[0].size()); logger.add_embedding("binary tensor 1d", tensor_1d, tensor_shape, "tensor_1d.bin", meta, "binary_tensor_1d.tsv"); - delete[] tensor_1d; + delete[] tensor_1d; + + // test pr curver + vector labels, predictions; + for(int i=0;i<100;i++) + { + double item = (double) rand()/RAND_MAX; + double sem_item = (double) rand()/RAND_MAX; + labels.push_back(round(sem_item)); + predictions.push_back(item); + } + logger.prcurve("pr_curve",labels,predictions,127); return 0; } From 3f465bae89e71669ffa698a34d00baa6a45c3ed3 Mon Sep 17 00:00:00 2001 From: jeffin143 Date: Sat, 27 Jun 2020 19:54:59 +0530 Subject: [PATCH 3/5] add example --- README.md | 1 + assets/pr_curve.png | Bin 0 -> 186205 bytes 2 files changed, 1 insertion(+) create mode 100644 assets/pr_curve.png diff --git a/README.md b/README.md index c96aed8..b1adade 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ C++ API to log data in tensorboard format. Only support `scalar`, `histogram`, ` ![text](./assets/text.jpg) ![embedding](./assets/embedding.png) ![multiple-image](./assets/multi-image.png) +![pr-curve](./assets/pr_curve.png) # Acknowledgement diff --git a/assets/pr_curve.png b/assets/pr_curve.png new file mode 100644 index 0000000000000000000000000000000000000000..e54220925ef5a1c6e5c3d68b042fe6687dcafdad GIT binary patch literal 186205 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�SdUMX&j-A9&jW2GF-Yxn@ledMpi(IRl=8cf z*1xU^h7J(ThJ{|#x3wHd6b{ijULwq{oHNv6`Jf2$w*Bu_Y&y_zzKUS15+^}*APspZ z7ZaUY%G<#MTbb8G{6nluQNGajl`Cro3_IttWNQtb^6mGA+|z}eqFe~ubufl+kMK0D zNy&#N-NP}ZMGYZ-P*w9dejfU*toL6_KtN2CPiR!AET zXPrnN;^hUTd;E%y>x)P#)jFx`UnTUzwpr{&cV`dTJ56`xwp=~ZhuJ^1zsc4Y>TN&1 zLr9u3HRvj7df)FXW2~+4@ZDf?R4wia?`uVRTDq8(8@!0<+UNp~CqF-T(`O*{|C43H z@@Nl{XpGLc!l{W76&JQyO0}f+_G5Q7Y>z;qpQ& zM^qObq&0`>bC&Mb#*jYqvqmY4%a-yz-jV0-EuJ1_IFlKD)@SQ^4HZu(j+3ETo#Y|C z%s-&4bR-l}^PJx01sjgG9|sCSgCSrMyhrCbwR!E5%PPm} zaI_%;FWZYp?lm`yv`SXP|;y@Fs<&t3hnl{Qn~74cFvEF>8wOvxopE<{Ut{G}1%vT9T4Mc2;udxWiu!=$^y z!k7FLr^P2ZbdzavL6P*Q9p^&s(hS#i4(%r6KH_HYn6Q_dMoqPret6Dwv~*W}0{Kgl zXzy*Qcb5g-8ZEb&i+iKCh}}MShc!2RPILSDdRUcDW7O~AQ&%ZTv%^nW63K^G_@rbF z-9gbBLd!$yz<(P@#kqnACE9>aJ;x6b0;;+FW%FpU!&%Wz_iGD6X5|{F!)&JsHp}(N zxXzA~Lt9P&b#F&6?Oiot|t>^--#_`m>K4a3x{+NxLb1PAuW#yE&K|_^N{&iu7&PJXcTVv)T?g5ym6Uk|k zklApj8Q{XgmKVrxKSK+LmcCJUZ9QoR+)!AqtvttJC$7AowWk1)4A0-FtjM*6z{BMW zORSytPKw&(Z$Z=5=*778o2Qd@L79@~Pe;kDG7{$zddivxe%IU(7aY8MyFujX+n<0VZ<8X~r`<;UN@c)@CcSf3rm5r=SSv&{Hj8v3#x*O&FZ=Pa&0;f2%m z-QoP2BZxSESW~J?o7cnp&V+CgS?d!6z_b z!Jrmdx@E%we}9o>D@+K0X~}f@0c=aNkV@xOi&u|`w?&Cx-f(V?uL;@{oeigo<u zqqpkajgIOM#XMJ~+R}&CvhU`&yWSxsJM4HFB0SuNOb4q|Z`Dc)CXL!Y60{UQtYZ+K z$$45w8b@&*Rvyj4%)`xeFpGRMtcwsK_*E~oieqk>;56HCN!Zo-b%2roCc-BKOLpDh zm2XIc%Ts*NEv)L|BEr!2EC^I4jm{x8FDZFxor)n&+7DHjNwz4VKSzYF-?7*yrdhw( z9_+daZ!a?WH0&fVeeqaBMs=1+W+yZY#($frcc>e^@c1P~9*l;!G!l|K$2){(O5?n_ zu3f#`pk1N-HGn6Pun8=AxT%dfn8$@lWIOK{z^tp|Cs1%C1bcpWCBNVr?`cXe9@RS*a zu~}0v8q_giK6TijXxbCK@;h)qF=4Z@Q#4a&d7uvBIS_Pu1r=#A>9YJ4sCBQzqkujX zmh=u`HC&=Yw^wJO`Z6CWqL+>uEGMMU#0$)9cY>)Bom+xkZ1B(_GHtLPSR+ll@I!D@ zdTNIv=RmOG$>dv?r{+ZmTH~z_)*Rh`f`mf`T?n#t@+|BZ!Yc5`C;ioSu)BRm-`tt* z)X9^2dBL9|ATlS8K%=6kvq|B)S9h#}gF_kM0$ z=5rMI40Sd&0Bt&(8?KvuS{$K24(O`lc>xIGKcmdwqAojeI}qJfNP0p9cpOBwMfssD zUFYQ+R<*CDc|~7x;M(hTdAMb=+s4jzvofZAS!r5UjGn$t>vg;i`du{Vz&Slu_~WYX zwNO9>?RhTTy(ahu8?ZHl^XbRj;clDY7Y^Ln)qLw00NTt^D~^zF==$QVUjv2y;DSZ? zCEmlYtyY_DY)?%5>$)>A?@x-NtA%6XI0sDcg?(yvhqwSuE9qm1iakl5;hfrcaa&91-Zub3o%jC zEw_tCt**UE6bd`ELNF74B2RPez}(sp;K#`~HQ=GOa@7}QH&A+2aOtH{0}d)tx$=-q3>0RdpIVzmXSV%prj_ zj|e~C3xB7lxM6%Rb=Tn6S6~Ht{6yDpL#8K^?Rqa_6*hzWu7BD|Mnz4JPW}$*!kC|h zdTTS!J4H954%v&yl`u|Ri6gW_Y8@7OP01VR!ZboPd_62rJ}U{^`FE z#%pHW<9f;x0bFpC%SUA&_P+bxviU9eDZ^oGj^LR`G#{xiCk~FhA|!!%xm=IT6Lm;< zT9kZ|CjJl4*PE&V3SR?b>-WzX%Tm2$h6k(Gn7nBYt<8!=GwVoZC_fQtx!ez zc5l=Eq3m|%iVy_yQ90&C89^exz4eH(7Pa<(nj)F=zv&r{hKvp$ZZ+!vkbGmX(^6q{}4UXm)`d->%n@1m+#8P$1-&qu^?96Ry-%fGr+e`*WoYvg61q>~~T8ut+-P;HYW5E3br|B%p!a>@PhD~Bht z+3z~fKv9{jwkM34vy``#r>~)1@qA!K85>QFdDw|N?CmQKAp{_-D7T`ofIH$bHhL~36MN6f@6hSqX*r`OZ7rg#hpsGu@rX5H*Ll}1_BN$BH*;swtsOJ$^cS>Lh{mt1 zKZ;ly9F%XCZ-|RJBrC9009p{Rgms&1lF5VNclMb)nA?98U`*gH*|dDN(v*wO=y!{C z8^LpS<$js^(F|y%m7&B@UyWNUCLsHUs#dQKvPukF*Sc+r0r&zb*BG{K+Qa^t|A-B= zH?A2>8j_zJ$^J@?PO5utn6UxN{iEegEMK^H=O4N{1WvLdWLqgID99cxc#NYXtLzpA zk7?77{9sdr(BG0u)$Dnh8J0cLys81wgY$ssM~v1=X}j=v%}TgA_O@z& zzQa#7Uq9OqVha4=%m$RoMu`rOgD41Faaf2!Lq}eY@JB=D;#o$i@P^!qJT<)hwp6AD zez^bX)2F5-CavZ9KbY=yv8w_tbmaTJXvUe3_DaR2A&_-}(v=%akL<;9Lm-54b+}OW z{L^jKXe+bIu|9(ATv$SlB6q z;L@IaIH9^xxl@xeK8o*RsD*Y2LDO|?)>SM&%GdpLThxH7L3S`|C)E}LE-$ZP>lMb? zuLsQxe6C<5TgH_!Y%i{r5p*$u8@mu+lbn`cUSkn{@{uX|oMD@>%~kM|=uvuCG{=Mf zsyQMBo$LbKuChz=!d5Q2i`p0K+($HF7MO-y;Y8i5nF zo%abOY5NI(QIGAv<5(_H;P#{v$u6gi1u83(0(WP)H@Ks@Wa(LVPzJHM7D>{gpHdg2 z0*$q8nKHb3n)OSRy9|vPXLI)y*4hp6=Id025{JWdgvVuzlM*qLb{ZRsh6_4|)E3Z! zBAoo4ht~TAY&BA4gQ%=V+BCM{cPdgEB zU*VveG}vgjT_aIyUwcC)#q=Q_q6yGvf`yh5f8uv1$c7>OZ0!BtEjD^Ab!NL|svfPb z^r9Nk_Q96sR}-UF$Xt;Wc~K1D@gC*YC1%nORO7pfp2bW`qI?EpX0x7CcS?~~hhI#& zCfr)g5L%g@mcxWI!_gv;ONvjVA=ri!w53Wo*#j$xf4FN%Kk(uA*c8hD1@&Eft)oj2 zZgy)huDSnk@D8Jajr%Uw4@96!GV-V()JD`r%K_gP5>_ zJzjPrw;;u^+w9naNXC1ta%p8ZJ^V+N6!fnyW0&g6mp!O1}TIeXTAIdPZHd8sLDF02I^emR^U@3cdA6>yL2bBzxw zO;*+(c~#w2&=`^Zu3FQD%ZDWL?zS?H$ScET@HkC81EBymiZrg?h-L z7i@%jFpCRRWBdBlkR<0?2<$EEg}^@Yu`u6L5H+t7Sq|V!WLV`~A|Mm>dxL>DGYF=u zXI8oRETE-MO_%aclOD_>k)zgt4@{`$=WJd(o=raYfvM_QK92JXD7}pHTa;LgcGw>J3%25gXc~8Q17&r;G5}}NYfSGnzQCp>zRz7iywUM35bK8m#Ex@`N+;?gu(%xS0No)#Sr&sJsL`nEoKo!6gGvLE@YFr|Ml<)oql^&LbLsN z8oVRpY3$tBwYju!WO~7K%?UrznU3V%aTdxMb0$l6+J+6j2{wHa5OQ5-9> zWWAL#-{99H^0iFCP2?iDN`1~80dgvuPR2_F?Y~#CqY7d+C_PUK&_uu@e`8r9f>kSC zHim0Q;k(py_b1JolmhI*BfjV-=Y z_T3wSSLu@(nw3L?31IfCmAKPgxH{4b%b7+Ej*Z08qY>|IzIPkLxLL@K3$)MC6ym&Z zN!V|IU$mz?>FlmjiMGZhzVz&*BCz-iua=$vJqBEn0 zG1~Aw)_V6o_ImgJ?RWjY@A&?E{oyz`o_XeZ?)&Q3d7U?>_Z~C(Ym#5mpcLVkwFmVau{_&x(b?g?ku6GxnxS*LB9DtV%@MX&Psc=glpsQWokEsyDMnz4;(~- z3?lefwqV0MV+@Mst?usy^F9s&vr?q$4}#sEij|=Vf{v)ajx*NshPhCZSQqh)wveXd z-@7Qr<@(Scy$hNU*`yJDHP@k06Gj}`;^jSXe_rg_?mK1%18 z)C9r43TPU>VA;M2dZN0%?7=qW)}7-TVvLcLzRXU=bn#De>;x+;0G06pxf!DvBmPiM zFiDtIfh#2iQkSJdC$#GoUa1;Lh~(v-VEMossKLuc!4Qip00OYy4tAsm9H8=BH>-6><;Je-m&*hh5 zLLyXlJEv)0yf+frZ6$I_G~fxg65p2ZSNFFI4^P>CURuQ$Q**1HWcf)xFh&Da)|*wy zdCTS1Mpy%TjT+isuy1}Yuh?RCGJh(~1Jq%Y5bnd7bV-K*lzInBw51GmnffKrJV1J6 zgz`bSbLb8~6mF}>o4XU|9*op!%Vd6}_PDme4Zs%a;@0Jki^RpHClD-jF!V*3rzU=h z_?9v1=m(Y7$8|<6NFPdPbSBa@Am`b+k|e`3@%#MqIeXCbRmp##lbR5x+qvO31&<|) z3o|t2XFhoD+zMqAqp4TWEUE@T+lx`<+X2(!qZvx<~<_t`&b@xkbR=d zc|m_nzmw}d;LN`f%5VL(()z2ZJE_=LD1qivU!Ch9@FhH+#n3dkdcStp-CV$Kr`$>h znXyGTw8ETkdn>?Om&n@XZdgVE=@$9$;sTw@`nlrQ+NZ|HAK^&73+j*(o3i)7G^vY1a88Pw#j;hFlg#$fyE07Tv0r%dRM_;Gta z+PV!bu9jLw?yXu;p82ek@;!?LTO;tUcXjVOVx*Fo{7v zUa>h&%uY9$`8iz7Q0S9rV0rR1>JgZ;)~vrI&G2*vfj?GWR>{WZAP`4Exffb%nk)oYcj?l#txYY@+nIj#x$=K}Nk0@KNn0m@jV}Idu0!2@ zXv@+PbEn4hFb6P5=#qpSCNNZf>fAYo@q45o_v-ba(G_ee#ew#b@8dt3zygxl0j_D+2FPXcufCHC+USg8WdL67SD3 zjg{_rWHTmN(QPOmlMD0F-7`j4KTmti{QaK7D;s#YD>Dv^uFFbUpkICi6;gRLBo?T? zN_4YD;TidG`iWCcLQUDHmEIqk{j1)4xso0%ppYgK?nQCFZ}C8kUP*OatFg$NPuGg| zR6i8(V?`HaoAx#fRlq~KcoLa{8Y;1)JnERoo}HOS-Yzan=Z(|C^;&6y#0^REAJeJ* z;$sz{kpe4^vptmP*`}JZ0Sp9B!DVv)JWqnDZ5Ea8brKdOm+c^Hv=G#vapE033^d{F zS3=WM4HGYeveQ{Q_9O`I%wBMqnb%Iv+H~bPeD-@*7s)~^KO;wR>+$rF9^1k_al^e7 z&0*CZUlctIWZDrkG_UlAhEA3%g|NY17rz$QzmC=lP2&%=89F3iPz%L z#jI|IZ}yKwwiQb?*677&@%lZOCj>J&6u^aVWwg3$xINqaU46=ftB06pKt>|X9*z68 zY>6kNdWb?c5kZ_!3cAF5SG?meo$ThZly=1Gm-6=qi`b zb^{FdG+a`w%aedA^v=k`XQ2VZ{zlecEHYku+8f!+Z_Mmd++Mon>Un!d`khoWuyF;F9Zy(xPAE^tXl=trr zwYDrRgh98#4m5EhAIv}R=t&LupDq>o_g&=%9CPt{XE^0PqGT}1NomcOe^$C%A54AC4J_rb8Eo>}I5CyPFnduxF@K5o``|L+nqdP?QEr+P`YhVgnIHKrTo*ry$$#va%+iVJ z$JiTLO40^c@nZ(>XU4QOPu$fVrfiD?(m%@1PkTQ!dweFC$2#YL2i6*r?F@_&vvqVI zLNwHCWZ;fz-z+KbhcE<4xYED&#O6pchMqNr@qcue6FG`>oYj89O8%vF(0jAP4#>^V zv*rux;tzdz(YJMau{ynw<5Rv+pwc*ke_d(3X*09JsOfzU482l3KRLZC#L`igJ0P$y z2h4J*l`#e$uQNBOK3Ttwr$)LdT#JBGWl^GO#aJ|%`3x*osRlD?1XDKitE`{g@*NjL za~>q{a_tGf(wK0_iS(;ra%_WGaspk;L4rGHzdxw#fCJ7yLMPw674>6w!F`4jdNZxN zOmL!yET?k*)9%%MGWI+2pZAB_SZ#B^PDI;$Ju!gWel*Vg;!a)tA6x+LIwC3B7ALNB z#+;>vh7L7yn;KD$lSZ=X=p%?w{T8EX^*7gP<+S9;`ck zr5-%!m>8%Wyc}(OE7JXns}f zH|+>1>5HZX>}k!_WEjkVoCDQY&RY681RvM$qQ?y{$jB3F97Mp=oj?k}5z@SKpI&eQ zI%`(=-8#rOY^fWDq#`P8SpoM(DCe~JJ8k~95z)l)Zq3IQm7SdCB?($;; zhvN{UrGBE*#F!>Z^Sl|uDGW1dDZBCVS(dD?L63aP;>St68c@qv=(*7I zgTp4GzQih|C3Nc4{QZxlQX&mM#8C50m!JjHK~#=dI^AK%l1%OM+&1l8^W0hjTUjn% zb^N|#lW2CP41SZZPvy|kqP3hr&VLRbtsC(j6DMbnsg5>K(_^Jf?6+6WD%0JL$ev5; z`=fcL%~O*9p|5!em<|P6zft{eGI!)BhoDFra)Di~IWYjZhjb&*qrh&)W}7Yv7pD8K zU!Kc)Nx03$;>I*^DodMnPqq$6g+Cj?WVnx*h%CBHIvE2{D-#w-_3r>in9xjW*HO4w zhm2e==G*J!RBy%D2Z*>;55wX?Uo4OFbkz&HITrE)p85mB=G_Xn(=BYer?Dzgqnoiy zKXsdu6I%{-K~y-BBpA20l#v^aA($)0&vk9|%GwQSLkZmzE5 ze+GJ19$hzLPQh&uk_LdVcI8OJ`%z9(eykL}%3!ylgjL;LUzzjXLhjMkTz6H&W0pr= znPF!&(AWL!jOr8GX%Fz{jdVHJske@x`VCs5EPd!VHLh-tQFtkjn6Rl;Wp2^mp{5K6YI)a zs-kk-eCTeC7N)#DrW}3jSo!_o$J;jq&qx-Jr$g*aIW7FZXf_|#Hr{qlh5?iFlelZ% zQy>OztznLDB^`O}A(0IVJQnAh$!^#xp@0|m2ORfc)6aD590Y0l$%qS_RZj!SeAAxO zJpdy8cyA z6>t)_1Y|ADGQIAt_vBQezX7=Lgm9E4;^_y~+JqW;J0NjW(DFeA8NH$_PzdOUt%clZ z=j=b%n}Q~XiXd9Ghn`SsU5zV7#85hsgMam}Elp{)o$-?M5fSSFE?8<0nzC+Y9ufKN zAzJ1@@?&Jxr%e%5@uDXxrRZp>+qr6|&J<^SpgTaj#Y-KSj`^icVuGGX9M^t29*#M> z9kB4)sybQk>`tGLOe{X($^xX&NC#BE+IkROlpp(8Vo`@!`>pWwQw9<}TUwz7Jtj6U z)&yg#y?Id{>?jmwnq;hflG5#-l;G-u-}fUX^2lo0Y5He;U0{@YIaCH-*gOU{=Fv75 zmHMFb?ZZ#Wc*^($%}0XaPOhIt2|kPre=6WxHfx-Gyz(_+&ikq9gT($;ZZ_JiHXX`M zoi%K9PqVq6`hx_o44|?$9$Zb$LPttrzXZ2VA5Wb0;b3OtAclx)l~miGJU8H;D{|9_ zFHYEbJeEA|mg#v{6qrU{D2Zos7l9QBUC%}3%?zj58GQqQy;Qvp#TG4q~;^9ZevY-Gr#?Q_@G9iPD$4u1OCRe(IXqzIolWo-y9u+AXN3C7O2L zXFV$5{sC#GMK2=deZQSG>b*dtP98X54=&k&I0K)iU&b zDE80FOO(v>;A$v-l=%9P_ng7)@9YWVdsuscekfsRK~m@D+lro7>9U}^s(e{QH%d=P zj2+c6mK+s70Bc_L3frw7F6gFJ$-s>e5NhRRj@S9kse>4R ziGlB#btPY(HyszPPUkKSz4fWmwJs4}R2OumW5%;_O2V&mYS)j5zwK*x_K>0RM*$3D zQA2Rjrra=AWRNX)GT^hc;LI2dATmT2b!9~_l2cAs6C!vmmi0A2;FTuY@Ls7in>89Q z)5n-$i7reH1GKXXZtP<*0Pxr7KskSS-VfS$T;Ma(c zgtV~WYV|Z-z}>a0k6*jHz+Gh2XJ2jWkHt5NO7GNLP0@G>D4lQHx(s-1YBPM7@?@6l zmo4-^^QMBre#V-$&>1u><5dmej(Z;y4rbaXf-Ob$1GeVx8Ruv~MN$td&NZe}XjR| z-ILg>ad>BM$jx(Cc1GUpnwa8ltJW_+lYbh2#-Osz6b=u8D)jT&jwsjH!H-5@+dH$enBsIT!6Vbe zP)Ji5+Nd8+)EBCU%lY~2C)%ra)0%enIncV;A*iZX7Nw5#&8L@#>J4pt5x}6*Z+^1* zqgeXkT4kv}0KiLOuxe^JjWJ~lRtxp9u?H_t>)W!iSVjO7o2|B`Q6`?=S7&FlQH2jF zlbcxC0z-Xh;B#1mQ~MH2veBB#a*~u`rAV~f)?&C+rCDAM`i{p`^S2Rd|Fu^Xa)wdZ=eXO+wthdm zvin}iAUSTEZghVY&pjh*sg?A?-imo`{gnMhR*1W(>k)-65At$d0O5?&u5kI@*9M(H zUX-`8$zdbgw)d`0m&cgKg#ziOzM{X9Oq=lrIZflBw0M&Sx2Zs^KB5sAG2cU?+ywLs zgHnGL*F-*IZ4Br#7+QY6JGM~ZveQKxn^do!0vN@i6u0$Q>#oOjy2j!0-<{6ZK^r*4 zH&)xy^bLmGS`6>pPP{$-{dMv-&h;FF8EKIb2#kA>EFa*M@RfocCnqV521ic*df4uI zTIgT$WM#YD1MVFWmB=U8}Eje~WvnO(`2_ zZEGq$;tq51O^=FdY9cZlhXf0mcgHv68EKjCbgj_6Sm~_a4YZtcNRtO?{``6SZ{1i* zF?*|ZT>3}s)V=Gx#=*!HmlhWSuKkG(RE|6wp||k!XZCL!``;bizt`md=QU}%M}2U*l9!Vf@U-Eg2OmdWJm|pIU+9{U(q5W4n(-f8 zn?a8Ommc}XlJEZzDpUh}nAg!Q6S)k?d9`%7=^7^eMuv$L_%oz*KveF(TRMP8X;tYr zSyAEm7kaF~-BGJ@ZZv-eBmb|z%?^&9G!ds+QV>=C8zCa_OhwT$Gu*Qk>C;x}7{mUB# zA@K!TfAw+T_aXS01pn42!XAzsbP_~oaFq!Tds#}2HlYpe`^P6!T>_tPC%;e z|1BAT07_H3qUi9i*ArN9VtIf)*OFV1^_u1Ae^kc*`rm9Z9AI4z9{h&J6c0CsW5A}a-`hOx=t%xluI$G+JZ&ddwUfq< zid_#`rx&kW3c)?VNHgQDu%%5uu$5ZbrywVi|KIGUz& zN|Js7>+w_0ib}oH4gUy&Gc0}O=dqFDr9|sgt6e+m+>AzduAThDKF{OVHZ&;PX8C&x zyqd1GYsVf(c16)naS;>!lL0?s#(6&bs^+;I$lQHUFz;|kyn=_GsT=1{18Zl8BfecJ zUy#fhbn*q4pej9?!Zg8vgb^eJ4N3oFu9;3dpVl{Bv_jR4ZbRhNLuIersvI(UCtGo-2k@%%@^o?Ar5!7{?-UBo- zH%GS-kxiFp*OTJ4=r0Th!lk^MM3jvSy}r9mwgoG)OdYZy=WnHLFNT`*9<;uQe%C6O zy+__d77v+#W|{e;5u>v%?etvj7r#dDDbw8}rsmDw%OX|A|BF)-coI|~eRVn1Cw=w*$_K4g9w!;nu3RB_Soa8Td2 z;fF)1VmJe|XjZdzVMyXoLs$q#N$0o!b(F@jY-w_fG1%=x?$S$2Zc}PAk5R?ZiDF$d zNqvk)djOUuTE2>03B;`ww&p{|W}vju#PcgyM)DpT3mb}#RV$OO_)b#eMXy%CvmZ7| zX2`7xQL4YVtL$iefx%QkV7zK-w8@qIA9|FZDkC-lsk5qA_$nnmy0HN*0awLzEeE8j{w$niu7C8*~F`M-M7hKn(J)VGrNLRLf@7w+! z>+M%qm!q`Bi!Sk#Evt{8YC1th*Gt8GK)5i39<3DtAG5LrU6vwAJ<+)leY+_P1;wNSSJ53 zy{oS0$kGZW_w|7Ysb8@%dULz%N!HJl+!l?fwL1PiRzZ&Z{1X|*cvlY67e z8*(92X2PzwB)9a_5woWjS7!#-Ch*CzHYx@LTCmHD%56RVQ94w*TA~~zmFpLu@U#Rjy1i|WFg(W5tOeF0-N;C z*k;k&o34=ro^*~{hSN{t62AJUKr-9w`lSQUXBU-zNhB4^o_ydR+N`&YXhov=1A+5s zb}tTxy&gS9#BD|iFT5uH;&5`lL=w136WV#_7BS6z?BW&HqL)FQGHf=~UkBI9jx4bq zUGAc2;@o7@nC$cC`pV4TYdl$w%!|_$dn#2S0li=7E0G16G#cgWrX%0WW99cD?E4;# zE89e!a%LWIg~c?x))W&%!)oL~up2aKfP;c4|85V=hdy#{TngI+OpV*r zDu>0XS}mZfQ}gJhkiS^Lp!_r$VcAn4PlQ+|Uf9ojj6aW6_&IWk-3wG^&GgPS`COSe zW#*NUh6%0?P`OA5cjAlVZ5b4r^)SI=+OH(fzLErtIQcaG4qOx!E%B@8KdpEW{P9Q1 zz`%n@3x(SZ-oM8T9eA~$n;ju40tAPcNMe83f=Pm_@f;O@e<0|fC-C~GOrV3lmf(yeBU&(-7# zu7)M#5=GI8x>YUi8EH^FQoXpp27rOo`#k8}QW20c1iODG)OdaKa?+i{)*`{A?sflp z%Ai#Ns>IfCO&$0Fe=14bN@3vrT}Hs_+q;r_T`MzMNfi4^oxh7jshB~AyZMF*TJ;v~ z=EBIi?3#sE->Sqf?b$cG27FX$nUy@pAJ7V*yIF|B-meSUehe4w?+IpJO2CujX9Byyt+u+l8aJ8_caQ=v}|vbC$Xv zU-x?kWHMsnVH;pL;rod8OLPSjZOu%+zIAZOX64u8LE*&@(c-&}hVK>tCz-xkRu#ek z-F&oBhZ3p}Ofq#-J<1{R@40&M4<#t#z{$EiDrAbNUC0FT_D`ddesCS#wL-sECqTer ze+_p2B8#tRJ44z58RzcDwu2}aJ%O-a{+M|x$*YS)XIcVTso?iWYBKs4X-@SE3# zlY`+`6JM}EMnC8ZqBclz*#=`3(aD^TbmT^EQkni7tEe4Q8@)W=W84xExU5kSn>pxa zw9wfHX?>QySR&yrr}@gf-QzLP7Vx>H{V1QOX>Cb5qCQ6I%VjIrwoA&8|JXI9~=8F&WcJ15UNQTQYLB8=ibKW=Excq*i> za_s>hi{4aII4H0-x{eH-8s>!<2)|d9de8_}a>zyf>U&09;Wq2k(4-HaqzOL*9D9s; zAQr7MrMCPAnQTAqsU>lsa8!VhWlrvS0=G*}*lAc?s8VquzfAPbM!_tNpSbnvbt8_& zz@hO;(;Trn{bQPs-0mOT^YLge8cMSn2He%ryC^0u-8QlI5n$SzLUprgBhwx27ooB6 zq>)2QlF2C8f&tUKXdr^{3flb&Y~&5njthiLg^Kf> z1GbC)7)W=H-w}O&^_n%~xnV8fES}Vt)(sHwkNThQcakXYwO<8XY@_Iyy8_qwvm&I< zMq@lzD4iGMY{43l38PC=9>Z5_Jb@9HXH)H6i-BTFl93#+Mypyt#3{J)I?kP<1Sj7e z&$(-PIr*g&t|V=lBmApZqQ$#xUV7gNFdu->y$@#Qn~_GrU5-rqdVT5;;KN?WRAj(7 zrX>CCg}BOt-lmr;QNq#n(^ioKUcE#-Eu>qSu@t^qO$o<)8`4)z{U&=){Jp~0D?n8=Vm( zPblN7Ir(&Qztv5dqe9+W&6Z#a=;p?9SUas_MIPT6i2NZ{0Zg&>47kK)s(rlpmDHYY z$jP_0p5_vLv+-Ns5F?q|6F2pd!DoW0>aP)e_xU4qN}5~ktx7fSy%_7r_(n)TYJSIy zK=*2*61Mrw{+>Vr=V2k9Q$+DI#lqMxNj5y~7jATX%261yqlwDB=W?@E-3+Keu>;e` zL*rV~^gQarMUN~x)T>s&8Tv!9Waw&*jv|FEz^i;gzn`coWZJfyrshj5Hcz9}@^2&S zXnDte!0B;EJ5^^mYEoS$?lt#U^<03}E#^7BHGIRC0pknJS}s`dMh+ScJPEK*&Zul? zA5z4me{-FgG;!Iv9P=@SAoN{nBFf;D3m!YI{82Htw97suROVS50ueZN{Xk$qIrlS6 z_k?qEA@;DmAv0c7DhBZ8`6fmyQ>VotVhOZj$G~u33YS-feIVI-;MMtJx18G<^^r+# z(R5kE0(2f6j!6qK_m5fd*~qB!&Rmd@D_*#5G(-w#aC5lZ|Muwkto+w5k;RGJWJz`Z zYI=5c$wUqF?VJAR+(76Yaj`n$4unW>8>78q-l~N_D<;pyt4mC$zUzZ*h>263{^uN= z_w+G+^8Q|qsX~GNzNs<45v~!!%qx~MZ1K9`FY=S!o3S^G+P|>eFIXG|sS_>O7xMnwXcu3?6 z3bCv}kSk?gJQK_;sp>LeV{`PGr1m>N#f=sfe zBUWvbZmuA`)~_#qfTR78kCN&^AyZXq8lwRdzjNO(^6_SsZg(;UP+pBl$2R5qXy5X> zNjHEPUsEo^mdzDi*?G5A4E_NY3#&l-vu63Zjgl7U08AJL8~F?`;q_#bPrgBQKhvY% zCq%?SN#5r`DNB|ttn#R=?@C|1?(T9aEuQQx9>b_jw&sxLmvpKL=ndQP-SK7TR+SZP zSs=4z{<+yUie=AvE-CF_p&QXi*7j}K1aJ<+>bkDub^2}3(9aNA(aMsN%mc`jk6Ydz zdm#l2i1*;n49jp^W|pu=B?y%6BG0pkmxKun$45kp?D?bEVqb%E9TKg1cj%-ak8>61 zTgXwvb1}xX{FPYT_tDCj%)mrn<8?L{MI7(_ueSwJnT}@41e(w;{lucA{Jo4~RO#le zCCI=^3c$F4YV?raG8x7k-Pa{>fKuvfav)_k{g|rEQSwB4!UuZh&@c#0jAsz#hfY7k zswgBBWz{>vnz|&%jbUDI9*eLsCgg}wCZtG_h|>3*X4B~UJiUE8fuKzzktyal|6Dnm zZedHI0~lxP#K-{?O46P?@*5>?M$zoc%-tLoEL(=FFMtyyYWL3^e9BMlOhl!83YpFL zTdgT9HKz15rP<$Nn@#r2B@4G!idP@RF*U>THHK4;ImX?qfSN$F4^~%eW#0!M#r30t z4g$9Dhj`IL{9+9C@E2*@l2_DDxbNAvs_Wk#5k)TaK$8;5;wktPaT+v+&~DGZ{3X~1 zP8Op8*mbJ!?lv!Co#*hW!&=)e&roJA4EZxI?bux0yCO0*L%=~02$}3K+!UJHi~4&Dt1NR#Pjv_(Fnlb?oZI_N_L2TL@eE;I@hzJaJmt{XV@g5> zF(*je-3jb$S~>*oCB&Enxs>0HF#u#Kl^jEaNg0h zu9dM`vI`JsArTv$Zye2xL5b8q!)3HdV3kV?8x+qbq$V8UI&nRD3_fJ|a<_xab^y?9 zV-fcQLg4`Mh*q*UFUat}^KrpBqC(jC49o+(sTyLjaSzw&X_;jhJVs>azjZY%2F&g# z=N4X*6_UMYZbO|JPBP*C|;=e#Vugwi#DHx ze0(bQDI{}5k45d(C)F26i+9Dq^NVC)W`?aZwVwoB_lx6|hTq`rjEuEL)b!QyGCGz1 z($7gpo934n+C={nKi{sI_v!sAH}n{ek<)c?5%uxbHp0n(asY>8q!8cit{so*yC2bO zE<-_r{*6RYf<6*j*4Hb$g_dNqIwLcswm!#Q6vK<@s9FxIp|?sg z{_yl9++LT!a}zI4w>zVv`7y$=_Q>!yWo)ytfWWlA`S0-JH;=2G-M_D)mLoGewDyHBfIJho%Movr7Y`r{k@;q~kgIhac?46X?w= zpDP#OA0pa#TK45wsZl=qqB+mRYWID{u%{V&eyj(YvE)g+Jgs@F8rdkG?)VXbJ0XwD zLicn6{Vc_#E6%ksk(``U7tlY56aR}aCq4qCbY5H){F zm(JZzPk@owQ5d3w>u{KB$Ki zMYGmw@2A74G{sX2p&{%e)8}~L4wA%-$(c_lXHas;#pWb`F^tGA^LsL&vZ?#F3CUyB zkw+7uKlQPvpzDRAjy4a6kvAuq7m4K2h#f-T0D^Kjr6Oe7;%$ zEg-G%?webLO-?Z;4l3LGWL0&f|CwN-h2Oz<*9sz2)S`RNLgv!mn91wxs0ZGuy=J&GFDy)GFssR63ag zLVSh@kF0k*xMf&=MXUdTZvAIG8}!G+A#yi0)yRfR!vv+=LXAg#{=>!q|8qc6 znH;mLoiM7FR4>s-r+8=Nq@MlfHmt0}@!o zT0Nv|^TN0i{9`17*^C7fmR-gdKi(;DVtscJA*R)O)!}$_wLMQThp@i9I?y7cp-7dh zRei^)s?qm5h+l4UfVY}IUNXMxne~Hy-~j|YEvq$BNN+u`XZx)3NwAm3vgpFsB5>-| zY{NIO-L`4ZeYd6+)}43mH|%vKRpCA~@4v8!f_I!b^#mNv?6`1_RNfn<6}mXxgmB4Y z+w`+5EGs%(W8D2?PO)n=Y~jMRP54i4^_{&{_L@P)h*Qk_my4sZNj?sB z*)U|sC&%ov-Kh(2dpL)Y1uuK$kU+GVH=VTq<>?0Nr7Lo3>D~=IQkma^)b5WY#aKF) z%7wI#emn!pQW{b6bD+F^b)+eV!b!4lr-P>^l7cOKqlD7K(x7M5ol)4?6nVvJSvttO zuR_?6ciwj-kt8EJe!TRoPE+r9ST60=1&BF-exA1|TjNpi+I4qW9<2+0OH(To`5{w={|y$Lf6 zAYLn!;ashdw?U?Q_qo~MyeGO>XF7Cw>-kLyLc0#Kv&${5@3iuw5--O*rk~du6Ce*e zlH}SJApFH$>H4FKc*sQI;!SrDR~baU8>s1<+X~){I2#y=B0^dj3zs9qZruC=g`E+b zw4Kq1JkmEU)oIUU=%gjeZDm-6XUX}kZ@N6g?&PJpL6|-SH}FcJH_Fg{rQUTdcTCi& zmL=1+_{C~<%r*;FKa<^xDB&=R;W=$txc@sx4>;mdQ(Jf#e#2OC9#qO2)cBa^O1Q$D zM|E$b(Fp-JTKQ4>B+<@&(W z_!FnWw@&J=%l7ylS!*;JsvYButd=ge`(P_Ap->bHY}2)gR1!(UAmJ7;&kQ9)7V(mDms@$!x)l`eVb2V`vK!S6+T-pknP-`1~EZ=`}wXoCcnPzWHM<5x*L8kBCLS$#*s}u z1LBi`rCb5ot;|swBkTNgCwi zrxA336sGEd?iIWOp;ZSXG+HCMiSglpL)4dnfPfQ*q2>94G<;&$gx+l z(L+pk*dTACf+y@o7um^KG+x(G++u%?XhW2=xXV@CI1SNTvV8+@HNarn{vkNY4m&XL z9{bsyiKY|2(D?yQX~Kid!J`K|xI!69I{u-Bn=aHN8{H3V(_);6Z_<-@=efITR7h->GoT zq=+uvY`%l#MmTapzWO&&WHR2e>v^z9JqH zeUI>_OPO&-KX#f~K>CiX_xJ* z<+v4qd0mAFqiT6V+uH8uey>?fV(63+buJryJ+CpI(l#)}{Gx{$bl0TTMl5Nwx{|_~ zdxLCVYW&a-*CsTTaO^(LnWe(=F(bCx)U2iilB#A(H8AS`f-t@g29MWo$U2kG<$=#= zt<0AY{T^zj3bb?1RAVeZCKa1lIb}I!(}l&Tc1NW#);sHYEg{7WnRSH=jmBQB4-CQ_Az{ zd9*Yas4p&s`=fz(k$g|Ta4Tk~Z(&~OV9!v5jB&^0o>^HtH74go;ll4c2{MO$_0Ri& zMT{wQa^r$)YXaWnwV(5RW9}09vjjgJo4~x#V_~2&T+981pZ=}Qe|VKY{EJN0&1ZmX zv63lwy`TsBibvfId&uG8acgR}>+aPq_rmL@g6p~(tt7NIt(@lpx;x>0+q+{kv8_nA za&phnb@16%xUpJy6oeYq`H$^S;3l0a5m^L@a%&{2%NvV#H-UAs%V?)3C>+}IT^8F4 zU@`i?2qfG@HK~o6qjJiyY-OW{)7KqnhXz9S2{+yHmHXUJf1YgS#mxP(%ck?ZQ3?w~ z$cgLrQnESD0&SKrQLUx!V^{Q@xja7+c^~FJU0P7V7&XIXBaN*}Aa**vf*>%}Jn~q0 zF*nEj;$+3L;VY8cY{^mQDImA=9;mBz%c6qG7U(?NK89-+(ix;yg|o)Ht@=zowF34M z(IEf}vDSBNf`Z3R@>H3#J|a6wq&0{S^V-b>z%@KgyM?4#qL<0gKxypJ_%Yy0lZ}m) zBBA&rjhg`jdz)^OE{5Dn7*T_5gcL5Ps9|@MlIVErCssnM|_F&=Yb- zd;VzXPm|U29rTZ>#d^5*!^O0^3#p@`G(kNchnoys@LnY@7f7CbZAg}TN|(>1C(vrn ztQqz7Tb7p(&Vmux?TxsQCr8_nhJL+JbXzlSeO*%mq@M{G;f1n^>JU8I08fhJr-tKuy2c zITQY@&cNHj56gEt6MKJjkL1YfT5q5E3msK`!dWwMX+_-sSyF^>g>~8%eNPEi z1Z13~K{k=G=~ka5Rh|Py{?r@e_NOYxioy%_W%>zr*<~`?^J67!uXP%}q^NNRRWF*G z1v|`H-|Rmt+-U1@0vhxEO|*tiRAJu$WJ1#pP~Z;mf-rPK_yO6(gcu`=?Xptj8ulN; zW3?@F-y3@)Z>drckLPBy701hGmra%63|_aM$0vx12;5CW?0odw-d~+afJcud<9* z;lfvwt5#4;G3$196cI1>7+N;$E2R5#6IZL%LV(+;J~z#JwKTUK7vW&YoHaaUieu9- zo^@RM5cKkF0KG@RH8n_qWbV&;yU4PryfYqn3uy?av^YAO0Xhg{&akJ7*=3Z70K-zC zq}2~S+Fa5ajZ)opQRx$)tPxWAp+#+of=oAi?M+;+uz0+E+vW}$JvWtiJpF|79jM4s z2d3HjfCl5H(CGB>b+vI(0+lCaa&$=;u7K}bsq#Y>kfO`L!ZbyXnz!(lp~*4nt>gja z-~Nb0|M82E>m#6}N$&~Yce()`yYB&~G`ISUExdeDk;a|)+xq{(1>hfXvfI1|cdqtN zF588nndMGy+D)q&&7xxXqZ-Pbdyc}}+wlB=ntN>zq`|+RtKqZL9_2pnpCKK1;Tk6KFwxiw}KP!ts9r<%L4!)HK}i>t=9 ztu8kbcZkkSao1kAR(|(^ZG1)xv^6=u*6W=}HSOA7^S=3k?nc~JDlHReQuIVd z=TU_5V)6M>SbR5Q;9T7ugw%bV^L9ZG+|DpsXX<9uKL0~q1H_M$?^G5Z^KgI~7grW` zPB2xvXB!=zRlEsD>{P>PkH1!T`68ltn-WbIYT7PqhwXkAfj~>y@1dD};0DX7Hu&f? zNnt$TbAW9TulgAd=bCI>I?E`|O^ehNU5gLC=?$NeJqM%g7E?{FtHNaipW>{IXtXPP zxPRhFK~7byT)UiwketckGii+ivVdcS@B#cq@tK8EF(p8o7C2}M4Vkz7I|h3W!jY3P zIqBsTt)3}Bh`Kl$czKvL?<)dhhDH~5JN(u2XyaAi>Juw5uGm!9pzwdNY0}#G;A;$E z?m5-cCX%v%dQbE@j)c?KYF6v654}HbCK&5&##DpLjTMDAME{I4^jWjP`Dc#>pFV`` z-9+^VhSG+zB>+2h!$ja=AL4P=7p5ftbuzZ_uky8NWBb%8I5y>leDMgT50}yf`wC_@ ztO=iiQ1a*5r2h{o`#U=Ru7O+mN$`(a7SWCpJ^L>^KCd_gh$z|A=0iN1dD(_0-j@vth=M@iggR&^TmbPcKt5`(|ISJ zf{ASCIi806+K3&_>rk%~(0fzDs{;fYD zE!t>Rn)cVJAF+j2IAcH~WP6$qA}~LY`$iM|ERw?*mXqi~UZ+-oQStDt+Xs6M0s*VW z87HC*!c?o~Q52NIZ=32o3D#C$&?rClC)#h!=F@F$%(yy|pYpwK3=JC$(f~+{AH*+1 zr?pN*OVhHVMV8;~-$!c105GCVAZ8Vo{*fy>g-Kqt2Sj5MUH(Rp^KAgn7T;p-R7C)z zok?qeK94H%6rgh0@-*3_2THPku?u~Q4+~|C%H@x2;@@{YIR~2b6uy_1*<~X}v-Tfy zEA335)G3WHCaEfx$D(ZtuR0ehrV5_Zj+^x(3B|`5Uj_Ix+>^P!VG&DE<8Fm}s}#h& zoYLB{ybk<>C6q9spAV!-)2wZ_!rn7Zg(6H7=(5rweaIOlO-rnCNFXuxg*-DPsJe>| zOu{vq`%%R*7I+A-<9K7Ps~qHQrkd%`;vD(=uZuUYJXEhLbPaQV%1)KI0UfLYxw6W- zS{$`d;M{|tEI76PXwoh+pCu{xOq=5wy+zRY{!%Boa6e%3_KQfrcy*VjvG7BD%PUp7 z@0tXoS|+N;ZX;8Ub21^jjVpJ(7F@r+4}Nk}jh!ZM#;bVuC7yH#NMupQNH+0G8d6|w z_l`EIzf@;H#;AKAIGoMqv$4uccGo@Wa>gCxkK4&h)KjX~Xr;abN)58|3a)#c4^2?szG{_W0WOctJw~i46hDNOVcAC6R}_kq*F{ zEBs>9OV+T1@5?zFl_YXU^~kH(ScsJ(WeXFjR$J#eCiG7pherKcvb=Um5W#I4&F8z# z5lK}rL;k5$LH!;MG9Xw+QD?MSwRow|U zkT4CBx-csMYQ<4K!lDb<9TT$=_7I)e7}%m$9qQ%fk^I$d#6G97vZW<;NO*-;=rJLG zp0(?6mh|F-GZ}MXeFmS^*ri8fT@Q&n+g~$7tjj>(lYndtA`ZiZs*Uk=IOo-w%i~Bn z0sf~hZ=^5$`E`^BoRD2_pOaWW1%+lg3^v&-;1o z++6skf=m7A0mUlngxz(?qcIC8eAT;b+GyFmmflSk!V9234mcj#7( z5vAhZ5TXjQ`j4Lc0cSawTB*XLg%QC!51u_Kcii=pvf#hjw^aT4ivhQoZQyw1WhP>= zvg!W3Uhclujgo){B)<<(f-SGH_qJ9&f_!#FMDhO!=k&PPB-S`HG0f_AI4#YcDhsFx zXD*|{27rh{wMwv4$>vo{sE;$`Q=hfdGb!1=Qj|s?Zqt4+lPJ& z*8dNC?-|x)*0l{QiUm|06;Pz9qaX+t1XQXx$|x;L4^2d*gMb0)Mny(ZQ0YC0bV3hR zKv6(~G$9F9qzj=a7<%AaS8(PY=b60s`}6&dU2+m+3q=Ak8Rl~FoT;?12}<4`_dP3QkAS9M?PGv^dFNwn<2E$2w@ zurJQ?N778n$}4*k;bfx6ojXfFEVsxcY1M}@92p>YS2kS-C}v~w#Eece_l|`V$5Y?2 z5-(Cu2>ghpMvvl-j&Y(=65~opG&9A~I%}_Zydw|i$GMyk`m2c%l?g6k2BLuiI{$S1&bjitXgC^&i5IAK;v`QV;=;K0JEYVDa+y7vc(>10roL zPk&`Y=L?jH(-KQBUBUHp9a;)M<@jRnP91;A<=hzo-KovNgfb;gQr4r&J%o=sD4eqo zSig~AQjRlcMxAo6(e4saMU>51fv;cWl6A`1c7BhXqD+{WoKZK#WsGxL&z)&mA<+1B z9hqtN;@a$|ae7U8xM29}&@buVMj@hi)JE49?CVu-uGBqY`Fw$La z`u`7bxCu`WcmIsaZL$b& z7_1eFyLC1#l$xh5_LOksh$-FL+iNz#?k)fBTW_DNL>rmH;`8jXw5oSs37~AsxKXS-r<&`P$dTfWB)Mu?TWbH5OB)NF`g`F9h31w!CMOO zig%g^QR**E*RDo~<_A!ZQN@rNd0AyNk^I8>jrJ+EC8iBglZqE7D-`g9PfZj&wO+p@ zt1LWk4}&DKLam_22TCmyb<~?>mh5I;XYt3hD0_6jCl;Y^*nH59Nr+AN)!Ch7CF8rd z#HHuN5qp!EFkc(C>$|?D!pT_QGIPd3pv}_QaHNBfP9>58pYar`cggbgxUQsrHH5PA}Q_*42%tP@`V+W`g)L%$Q}fjq2n7}F9R3q`Ud&h1C%1HY z?=M=i@2r?oe~Gih7sT%-NYm$>n}>s|HD`?K7U!FlS!+kF_2M)chPUA+V6cl?YkUBZ zNMgf=P7BKgaql|E$P|bdvgWGRq#GFPxe|^W1>>OxMnm6Wt!hEpFGZ|ytZ6v z!SXW49#f4S3vy{ud$n9IPWp_W%hF)2qA$({PJA><@D5vOoIfLaBr3kgC(Udn0HbW*xd3pO-A!2dpo$jHYb(#NpP|Zs-8J=j$vdt z&-HA4B4H}HBc>R!)TV=57WyE2NIwc;XKo2WTg9R0+LgLpM^Xp`G`r|cb`^Q7a*A}z#alta2^Dj%!*bqBb6V7k(o!+d^?72j1l9P82bVqrb81GSQ+>-yeQMcFrzE$vpGuhJn5XZmX$ z8vbjQ>ob$bl+uQaz2QD$%J9x72{#-VFg4vAGS(6Xo_^S!|J6C9M|0?&trYUeluvOuHlQ$Oj27ZV-MWdvsHB zLPu`wrHSKwmXlcP8w=M@QWhjoKHD(R6}Gc+o7S;TEslgSdWo{Akjap3$x>0k78MtqTTm z{k@Y{Ok5ZEQpg<(a*5Bu6z7%~LtjR5yr>!ak-7e9hT(`AmMBjf`HTSenmiGyqiY_) zhIKl`7rKhPp^RC4w}sS=jDGjcy({5WoIddf?Wp*ct&RG47tW?H><*ZXX^MxoGghrqR*#QmYVtIrlbDf`k;Qz+TiPl{K8jJR6scD$3i!zH4H{5EGD|RqlQ{;92k2 zhyJ&W*`jwjQE5p&RU#K5HBrfJw!l`7dK#~zou)kS9{M6TYEroHI7q)dE8^NKiv+H6 zds?Ju>#)-I-No{{YqCD8PfC|H(u_sF55H0}^oku#`qjumKI=f)q3^|+%H6*XIE=n` z@oE-q^O+f)z3-hhBB4JyYb!mo%UZ#4IK5H7tcG@a#OJ7mOk5Ft;EYC1^W=dtAuUS# z5nAL|jF5s|KcBN)(uz@9NsEnWT%U(_(|nrD)HUx7L(aw-{*37V&;N59+om{w)Mwt` zO7#G}IZM0`$$&FVb6rx%$4dP5%>kO#U$Jx+omvH<)~>&F2vr~NREtU6(lyaS^y$ZdZp~0SyeRbVG52Zg*mu_Myb@EElm(BaM$G6mi}x z7th`-_YiIMo|3c2XJzf(e$vp-e#d2hJKAq&|B*ne2}+^F3xftcf1H-M+bs8qRe53* zxpWU5dP`gOMf~tY`Qk)t(NmsbEu(_av=k4MGIi~lZda2|pw*~gL{j@jg0&F`y{jw$>X}gH`V+7GM9)Tl71NFWX&qLfn3%8>9&xGkKf2&4d^7%X9sj zWrkYgtj?hO{10-Bdd9Mz$f<7^{i8tO%PFWOo?&r%Qms2xDxS3 z#atfuN4wg{YAM`*%yN^pH+X8hAWA&Y{qqqvAykTB5o+;pSBUmX?9hh@GvGX?+r+#A zqH(EXQ~F9;vC`keij?2hvJ76zkZjnqiXiUa^v;)vpxt~oU#~rXil_8Q$erqk$fxZV zzK^78qVzIu>i4InQPnUK_!l|69I{^(HFaAO#jU@2yxl5Ybo`VIW^|xIG!=u%Y1B3o z>j7DV{VOw{BZMO@yAz?`KmPe(#tWSf=N@b^72eIEy&-Tt(HyloTInn+8|Qj%YX#P_ zB9Tw+8wEVCCMX9=J;A8yQnU@54SD`{m}&1<#2FsstTkVqaMUL3F|9+Y;`c4xCeE1- z1Lf1i0~nLz)U1jCx!Q&pna=92$0+01|hlxVMs*#@@qP%tlEMP zYmNbal;X^z7I`wqxXfK2)JR{-^8?haEVc`Wk>e7$jd7^6H{)kC=R`BgB z93)i)8pWh%rpISROJg6&m0)slylVt0D%BpE7u4P@)Bjl@!3tI1)90i80 zB;mO`64m=(XMJyN)fs=zFISf8%g)^qe%#D3eT2`oD`#N1=+?-UC|FRG46?WlwB)vw3#rDQa zULw4!`4`rGvnP$DYp-|T-R{GMzgs=DW?9f{~X*; zf5Tq-MG%!49N8!PQLEcQC zR@J`$Kda82HbOPk$3pfxVDB>YsQ1r$7H>us>dcM-3ir zPC32(zwQN;KC*4JO`^sA>!VGU$hNsqkNvk_{ONC4;ttq084G>3{}|&r;5Y%;zdhJ$}l1>>&_dujIgCP0ls1Yn!Ie^#_i_0UKz< zCGFgzCQZ=RH6n?*PuEM^0jdl_ZTbgy+9+qCd&4vc60d{s{e^)K6h-rg>Z2&_GjP;r z&rc6iBI4{Wz|m+25z4J}uen}7DL65u%b;6oNsWdAy%mCbNohPS-@9N6G^y<;3<^6o z?6tjWlaccv3MpcGEshtqOS#tR>YH*DPAzMR!{vASQr;_moeeT}atYMe& zj&^q{e%QjoD`V0{-}M9ACP5ULW&L||Be`g1#~!MMMGYxu3Lr9OZbN&h>L+cNI0Aye zv~GY3dov!lfO7mPKCj`7eGJ4lZN9JBG6GKzg+J~zH#i0SHxE$Tby=_5uq7K`(2>?~ z2x7TAFjRcQlC4CE>!kg?4O^Yk)naAa0U`fI+Ka4jp$`JTvC_%%JpZHRZCpo;|HiaS+De zl;+$bATK-90iqfe=(14Pm1{yD)hz&JT2-bi2vbU;SkK)0a@CK|MQ`j(+N_Fr@w@I# zO)t)~%K)8QbuvP=ijrslvJIrl68Ol1jPlOJ@%utBYrnAEf6sYYE&5j`t_(HJq9$JU z{i6Wsk=}VRc^LJVd~$^;uB+75!G@fne<43s&I1JO_#yJ)>o`vU(u=uXbmXADmO)sY z;>>S-el+W#VG6m*`gq3l6&sS}<@6RcsrGmE0RS+4hBU)jEP&ME4%uerd7E1bz0ST7 zY?4s$H`)s+ko7Z;EflnkSm68d!BDvp9V#-)8i)NM~u!@d+e zZRKqz;z(k8+zjsjT#eG%p8nc)GOmF2MZ9CdFacjh zI>6-M-xPfB4tp?W{|cxcRm~bi^7){h$7mOEAIkenyx$li%DV=x&w%qvcT)wamBgc$mZ2x&+<%Rs$(vFt!JGXYs2Un0~)6oTMQz%lQs|w z0_wgxH!8i;2ICW>g@RlMe36)b+S#c$|p=-%&ih=_QLf;j{MF zG^Z}d8hvmh-M3QLnX|s$~tT~w_sO7@2s8Ont~{&5x) z))FYjYmK#0ctj1vK9cBj&y@N1Ozf9L-nTQ>bLt|sEhmA`{Y$(Hc-S`ZHI@KV7Q&s+ zFUkJubMA*w0mQGo*p6MB?wKmYj5n*y)0Uin)UE$5(6Lm-Y5@suB*QV7qGz_%l|OM? zaI#v|4a7n1?U{#s?G~Qkc~!=;Ns#)f%tI$jiIoVQPzr6b%E)|2Gpo|MKE%p(fbl|^2%>ntEZqP9R9m0f^W%RKjX%X({d!7cac z`TPkjz0UjQhb1>wvog2N5JeHx4BjD1%Fg=0g~z{RS`0@O^~KakefdBYBxji@_zfF` z!jVAQcIxw;44f}pFb1T{r48V!4sc%=Z3^J>?O}VPYhWiS1Fw+azvojwx`rFobL_#&=>8xlgbFY>J;Wj@wEaP)H#*R9<^IlwSv_x= zm1t$=aXpXbYgVF!MMFOL5{mD2>*iE)c=>(o6p)ug*dpmuUmc-*>TGsw(Tzi4DZ321 zFOY%MATtzhwlo$kps+Y5Q3^d1x))5-M-cL({i|;mY(Bnxm`ZX=*TJ8d$a@N`?f8xi zeF@4qp*niT{99jDrpE+yt!XIe@%ET)JUSgHZ)r=(jKPe2tZK}hPQhI<6+WmhnCbgX z*TieEgqKqE9+B$eLG3<4pm*406(28@oGEz3;ZNhaGCMe`B!{jJ;Io1Knw!4Sms}3} zj4z3c-aPxrBvaX>F(0)}JNyD}X1(WbUik;{IdNn)5pVRR-i7$cIDrN;9;Rso_8Qws zeXh3UIq;IjX2P$#K&)@HX_y1JVBW?b&GMk}%!hT;4N?!#-kv1KdmH9$k+R`&i zi1PCTJ3FCGhAqh7)eN}2uDk~-&w)j*G??TTF|Z@6_+|=2hH!&pQGxEfZA5EQ^)MZ}?DJ2cNuW zkriEL@>R=?`bhJOX8P&oWyTewL+JRNf^X;dH^dp4cj*nWnZ(O+#sE+T^XF3|4P zw`$Bb48+{+P&~S)i7V`v3A@xpe76Nl>g1M` z=?IRzHJg0N)xj1);&U?mcJ=_)DO!DbI*yfZSd@9p7UY=Kps%=&{26Ooby~Q; zIQ~j9)Kw3OBK$;D51?dNbAux^_eQQTcjNW`(yO9@aF)nJIVWStiP19AJ+NqKS^FvXc zKy{5Rh-Ha|hFz^7$hGN&gBPzH$Zu8mRtRBeb*r(aXXHML0p+??cfulKcvawdUDj6$ z>bES%aXj!q^U4BqFIvm9 z>33Z8ufaW@7#Tcy%-VFa+mAzFB35}8>1)yn@UuNzEM{F5zsJ~Rp<~`a+3ni8sY9px zMpi+Gb#wR2SU)2(<#V*~&;4;g`TD#%DI>%4t$t5i0)rlT&(NK!3E?UN%M5kEE) z@9ejY57_P7RPa$J9TCJoYV(g=@e+OrNk`6Cu4j=v@cHd^qilzWjGAM=lk+)(X>RBK zkG=sYD?uL6J)pZNH&RD1`KtQCEx}&ws6xTs8UXK&bSu#rU)A@;UMjHjm>C->!Fvxp zQ#N#cCuUHPkF;%~x-48V7SjqNszG&yeuQTT$-vgx{B*R$lB3cJcqkH zof|R7)z~|uO5sEV^mcFz+P}#xov>ze?0+;$g$^yw{@2qfx_YhkgpyLSjYx}krJd*O znDst6+qPpipI#LkL~F=Rg4Jb~y4k_OSLu8WPW(%vPYBUv^yUepVuzpLV6(1-YxihD>3M%H@n0VY6dPtJ>RUKMYl@EO)6QMH!$-ws4K}ZP zYfG*6jcqSTtr~1eQp-accNmpG_!C}z5pj)D7;Qdj<2mO>ISa(4NZNI@szaEebt*dl zXg%f0mXi3hYn$(^U1y6FlGBGZ8zIziwFPNT5t_?B%+4tEz#YZ@&A{JSc--VEAiPMf zWeb7&PwQ==nrDCa{y$@t?==NEg@=pz(tm`=ijNhq;KmFNEuz{BQIIQ~z0Son_i5h* z)fhGHoBJ6-1xfI!1}+0t3|oM7v)ynV(~pI)0Tydj<)qK}SRw%W;!k9hnPRBI0f2Hl z8n%lfU#R$mZ2&0MX2LB>#TQJ34W*d;3ThufqnuYRM;~H*${a?jdqK`Ilxg@=45;t$ z&^z?%0|UP*;-Yu%6lIEmYyAO(^3~dv%%~Wk_8^$;WsT^AOonqu(H@>CKArPpGEZ+F z;1ND*{HpC_=m|67;djJKOb2!lkX!LzWc?WPlcElY<7kF%CL0rnl%fp}pz&^*dyxll z!tkr-P0f@4_uIGs@67zK&8%Vhe|k5OwljRfjfUtE&oizQws4|;s2c@USPsS5qn>Q+ zVP^nZf~gLvxR4d-I*8-~4(wb)E%wxlrObxDp3hNk^{YDs}MBY$r{)S z_h!QKb21$vtRfR^0IVR8o&#%wiL*lO0w3}sJ697qFR^IOl$VNbGh^-KLI)FFZ6s44 z2V~U+vhel;fwIqayZ|xwkMUj@A%kWsf8N~*Apf>MemT&!1Z@aSTp&RP;L#`)t+5EW zMd>#!z@d7o}MKcAHF5GBC(8B^^F>J=n76nu!-JBr5rs2QUfp4r?YA4MTI@ zP=krWK>1IA3QFDjf|B-tAim+a;V`gX2)%FpI`bOkqs}}CrJh1EtQcqrJAtmW3%~I5 z@%R@a_Gll}I=5)gtor*r7NGcv=63<1!pMk5r8I*0WIq4v3G_qPPj1N&8+cpgA^4)q zw|6_cUqPe$V)fm4R%_FAGSOFtg=no^VJ6?5UhXASox;(duk&i>GzV6ln@4d`GO{@|GAlz4iycnl@>np{B8;NYfq^ev8 zLIzPQtN}_fesZvInf9dd>30uzYSMVO29v}J&?j6+TWgclqK42*E|Z_+2;N>o108q+ z=_pB?&`w{pR=Te};J=!sOCTLK{5oo32>pg#K3){!JctSM!$i|9u$T@cj}3x12b4eAm`xem|u zAR+SG0yV1>Ds0=k&);lqwn0uP3F=~M^;-bf(O+5rKWL6Q7E%_S|yp609L$0OYgz62!vA??5 zTr)}a;u9g>4aD~9tpVMR0TQIGvxwK}0Iyg<{dC4&)3+M|G;Kye2th@PNIJoa`Z|z$ z;hou6-DV>4(qn=9$RNYkmZ+g$uMw%s%9s^)qP3*-rpyCdLVB+ zUMTGTxQG_Pj84+33j;5AvR(cELmZt5y-1YMMyG^0eT&&J+E9e3Xpi^fA5D6z=+=Zg zi$F!v6-^42nJ-DtDSmauyva=fRg@n!EIRhBY4q+wu%^0W9nyNb6jEYM>Vp78&p7@; zqES^$v(COJaTXeGIYIH-DydY2VHdnLIPoLVV;dA6d_jjFVfh$wH%zE-k7tkIRG z0M=h%konbZd1)R2t_@z@&WW0=`5lUP1*x2bN1>87|x6A}oX{!m9108M$_wBTdMiL^hO%_<$HtQk}d#z zJ2}>7X^>M#Zy!yzxLJC&LoYmFS2 z-N#9Z`3*v;?>&kKLsi6d_=J98M&WsO1 znbywb_1cX^Rx4)EL-coynVebmmQGk$`hKQ9@HxzO*yGrBjK$DOP~5F#jb0Jihe8^- zBCNdMGoC|_piZ+uxgijjs7veMG93R1JTofny7Z;!UGGKFmnIO4sN$b+hAMn-I!7+S z*g#d_qBQ{l{*f;DtKFu9cQ5B2SOp_K)^y`vauL&He8a7M zd0iHl=7-~u2Ix1SxbH;TJI+&@1Legj9h9s&ahEGU!XZF*tX2P(bnTmfKd6d5(cZN^ z4x$cwv{)eB^NES9W8b@c`)pVSdmu#8yGoXo&p|zs0<4Iyr7Cj3u+D=>t_POqxa))= z_pZfZsC#7t>OhH(Yrej<>tWt+n z|5+ONvv}dGrrbxFQ!aC=ij0xsZ7D&Au(@lrLY| zxRvKR68vI764!W1?!ns0^V~+)lcSw3S?lKN<3S{`Stt;hjdvDG$JqFDiRH$2_f`2D zS!UYjmSU(kkj#Q?cZqOU>8o^)XUneN3hg?{tb?P~rEoh(;+ca1Oc<4tz)dtX<7^mY z82T<<91qK2A6t&=>JI&%&>8j;LZ*A!(PzjY(-Do~+#gH-V<%H8)%$bctT>M7tU_FZ zQLu(3O#`(-2rF7WE@C(@LlW!!fd?0 zx`Xim_5sA=(ppc)neq~e7h!s%t?xNATz$%IaG#H|l*IoN?*8My1mQim9SdJw3|u^f z!dp47doW!~Cj?$g?)YrTSZ5JrE&I}+vj3I${d4&@fyu7ha%gq9mMO3j=UChMnY}D7 z8Xm7pl{&?Z3;_Fx8|G?GWPs(L-}=|jvB2xCxp#4OxI7|2nnj&0__=w>-##lW1dltV zZEax0D!4wd647$D;x$a)_W!Y|w>$yYVF=WX-2X8@9b8}9a?H-JgFx^W&2fsU&HVze zy=jvMV-YTiqC^=*Pg@`!kO6)Ec=!K|^fwJ+Ht=$-n(Nan#Z0l_&B47J{79B)WC zx=x&t2mQmwk$+RmYM&n@ z10%5OZ#MOpDX#ua*Z_Ve7tf=QDuX_h+hm+znIu)r{yu&8KnHg$gtql9g zWi(Qh;rcAsLsd5t6XeB9YIa# zszxjiae~6vwb{3-%s)wl0I`_Y8tcsXt`w2A0wUDrm1(gcdICo1*9F82Z77+aYD~{DANeCOcxPMF8Ac|Da)t^r+1I9HWqMz(PwNtt*OP`k zi>@;JIF^X$Bce7|ZiOHH{(~!e8ZFJxo;{oDDc!6HClX}a5g>@a?DIBI*?jw$Yi5wk8te%;2F3H(dT%j?ou=`6V{OR^g>eA|APTv@Sx+SCPX4S$ z`p<+3qPD`MlTiMvH8aI__PI6sLOkk6fzKQxgLP`x-6zBhEouGP+puAw#QTjFtysKE z^38FkXQ~rK?hV?HXsc@=d`I!57LeBhyN#{l4c8dDV3}ISO>hQxgK~dZZ!Y`XRVXr- za@zduWq#fj!Rj!nw`O=(6>Vz~<&-AQ_r%c+Obys+7ffUgx;L6JIO_}W`5S4G?99r8 zB3Iyn{pnAF7%nJ<3kGPNdNK1)`Qz#v{^d`$|6D-BDS_7%efi>)8k6DRF2Ip$liyct zi#&k+OWF6&ul?%>kR!O?D10^2R7`-ALz+!uBhzwwN;2#fx!$%_Cy!Nv=ed=hc`=>N zU5MgDFL&&RZ$X^Cv*I;QCZk`2{VB^Aym|rmA^l&DlGV}UqG9ZH#V)6$8Sk2g#3~CS zLo7_J2>S?frOYp*{R69>#t26C(dOwivtT9703IlzhNUxdD`96?s1sR&>Ksf$rxZtc zfX8R;&3VRVPegJ}yn-^bZ{Pm@2vls_{SsGQ!!B+3v6NS1yiC4b5r;(r!}ZslSEr5# zRE%BQ>RqSg0J|c7@fN$sU+^iO<Shv3RTni?zx(53I zktKFLmHY9$13d5ElCzIVF$!di$R=Vr;kRm~f{+fJzW89(D*o*p7!-u@ZX>)t&G`P- z3|O~%9XalRe;GOAs99(UxlutMcTn5ss3*Vl^&IyZ zzv;fD(pw|f;4-2NI%p!Y7ao)Yv8ou-IX9QugJJLZD$xbDR!|E}5d6L$SIfrTU;gZjo?!*%8rShSo*v9{I|7(cvyD%?Y83(dVQ)%QT%aU29g z1O&vDJlgUOFaWbC+uVos5fU}{q|o==CZ0KVWi)b9XyX|_gbxP=iinPSxZ1%CX<0RT zdgs5H6XS2iFxX-Hs>sy`b{XP$*O|uzvGf*A0UF;1lA9>>_xA?^+Z?>7_s+^fJJJrz z18_wS?XV2xhwc`j#usBaV?~82daVe_-D{@Z z!rl#-;TcfC^=`?p$*NfH0PyI`5CLey40Xw%`w2iEDTG-l^qF^;VDb>rcBG_@j)mL} zW+z`2lBS0qS^NQ^Y{XvL5=^2IIGg~&a`gb6MOVnsPGJbPf(nq@@HjxU+|mt>QsPg1 zUjd$4OlsAhfeW#oI_|`H$$?a%P`yoV7AeW`80eqxoddfWPkJi=Ecug!T%A3D_jUvM zF}2G289uaGWHi$wt86A0DKE-V=8+5Lq@b)Yy97M#0;q#jsVV#LI=$bQD*jHud(N~I zih7#qDd%axfpxH6%P+<@%~>gJ*KxAsk6|VjruYW@Kf5|{+v-{S-Uzp2-5?lc2bh+O z>odS{%MSDE)C!?=P-m{bUQ-yO)CO02zE`tYh~G{_?s!aJLbL@)*SeO`q|kTL-M4}a zl*Jx$ocg>*nr{OUUefG{vPzqnD>P#-iOD?Qe<>@cnkPx8il<*6AFm5=eZF=Dh~=c! z2`0)}_rOz?LgU7C-J>2Lh;J#_9QPe++<*@;CwO_UKotWq?Tvxf5 z2c@J4>KkMr1at!DZXAlLQkXpai_f~#l`kerIN8#9F|C(fV4Ia#VW{}0-o)U;6UEW$ zaOa$6SQ~)+F5NDR(EGg(sr^+KybXm9GL$b~YD+X6y$<(5JmFln&KSs+ zo&F$Efan_a*?hfJtSTCS`#BC6ucJmBv>Vp)ckr!&DtB>|55lG3)HUptb__Jt?PALv z{t)ptoM@#a`|p7xRtfwOH#(U91H|xCJiUR)_OLVGDyW3b_w}gvJmfnXzBqJ><6{z? zc1aXJK;8;X^k|;M!^tmaa*!4Vz-2Zt*_U#ZQP6-o^|DoU4RGtLcm0|!tTzr~$ZA>; z7uN|?tdw0O!nwz6OQepsrUp3&Re|*CnrKG$T>}S1>QR+bQVOUt$w;@CheN*sxvIWG+wQQE*Ec7S^zJR0^c!CnU>^B?iBbjB7ipL?Y@{cFV|JVnY!O;#Hs+R$c zK?>AR)UIM@YZ~0%P_G(}dVj|KyJaU-9(RyaWMsAkOICk_wzYb$iM&I*VA#?Qv4~7A zM_G=Vkv9gsYL~i0s^M3yP4QFkj}E8>s7T8pwI1Z=mhW)uEgo)jwMTawuRy)~W=pdG z94aTq4bF=dxWc*nMMRcaaK(n8$Hy+YtjeVomk|?k$Zx)2ui69bgcNn%I%rlE@2CfT zC&G|T3&lF=m6OTJzKzy$_!ptg^1=01{Z|vK*@E9rqz0bq+f>^7U~iW`qs(9S{fac7 z%Pbu^Ti}4bD^V}+_M^lU>vf*|SJv^5IC1na3`ygZ)N11g+;*11-NNal^pb1a{7YWz zsB{g68i+^7NP%NOv}aCw;&6e33|y_(b;S1#oA2~tq#y*&vdQj+c-$;FA5SR_e5W2Z zcUw^vmq8oQ!>_YZp!v9_CWSoSLC8b=qEz=SO@uS7IgEkwaT{>VpSs7^y@S@lwrnYf znYq0jWVsL4dH-1Mvy5|9^CYUF_ez)EYerRBQXFNRZ}}`W-PSi%WWL~v4to!B`K5g) z5O!+R73jC5W4@nTJB#p#xTr;=#^}W3>jt6qPe%Z#09*}OX$WN<_)a<##nl1i-5<;E ziv=^H6y$O}?t}6~H@GJBqG1CIGne)=g3Kd`Qo-hix1OH{)!oQDvWbsZl)RUFOlDrt zskqyHn>#_9)ZI5T-q{KBW`_{6K91Ty9y+(}^gA&H#OVQ1$En2>C+j(PQ?qWwvUzuX zcd4su-bN07TPQ`^Scf2-o}}Z?v`;|$??C~t@6T+WWsD>QoFTS;Tm%s$NfT(lv#ONd zItVJwfya;0An_HkxUw;cpHbEjEnK0jsbSb}iWL^k9_%yMyAgr?k;sU&2**{JH70u8 zH~aRtYur-}k&<F-_&*dtL57x)g4LAsYl8*6V-gO>cuNtsCr=2HW; z!1{8KE(K|jOEwf>I*J_o4GSsO@k_wr>f9zXc6Fzax~fb@W)_t1Qr%8mvi8a#e}Wrc zove)x{ljegSce*7Y+yeI7|gY5Y82N%Y4DSr3vh0L3^$fE|0gU_3x`at)R9%+i2K4q z;1Xv44nL>C`i93qZ>{XV$3QqYJm zyIG?bQ7WdaW#yI`{h*Qz=g8d4BP=?H@W$v9-Th*PUDu!k&dm;4xzo@e*B0Smm6w!- zYM(qcBbL!9zi3N&Qdn)C^pD78Deg6tu*SgqF$(`l6&ocuS&0a>h!3vwA_MbHH9hx7 z^cxAuZDxDga3y0O5YOVc)(s}Agq4shfaKz+eY1LxMR;Yip+AUlW+^aCQ`XmPk0s@i zqKy?#U|U#GPNZZ&j>0m+@~Sp7&b|Jy3~2T)K$S_Xygr@~5Bh|ig_g~gaRDA$Dab|Q zN%bv3pd_f2YP))`^;FABV3`cI&_;G~#b@6%@59F@G=BU2Y?tiLgmUd(85djM`eg`|I}klc?>8d9@JZptNaQR; z$P~3x(0c%m1W}LlfgB_Z1L3U^Pl#w|wq~+Auz2Y8E^VfM#Mq(ZKRFFSk+mG}`Jc-P zi`w%C%N=p9&Q%JMWY~DFpdzZFa@T1F>VHJ_3Y< zi^jw8EsZny37uu08g9dzSVRRvvNP^IT`}_w`URnT**AC(O&}s3h#lMr7L)R{R!!g% zg@2@;9{%(h)F63v;-w!zd$~BUZ^hDj<&V)WF;}(gE5&iYltBtN7@Ia#19w{QFSgHh z_$<&eZlmQoEfJ1fjE3|jwj-r!Cq{t-qqsn1J)KuV&oH(CEht>GEPAJ(;czTbSkzsod;53I4J}_LAvrN#Kd%}Qsd&%W zM@A`|Rs`hveSvMK2j}g_SFaihjf!r@BV8eoEz(+}Gb~fH_vfv(Rrn?(DebVTM#&z> zfc+=~C;aGlIlWb|2iwHDi5Rc(2c2>Hz0Y5B_H;}C;OBq%n$h2{g72!0sKw+jQ9@}F zA@r8?qSbI}dpdlCT` z;`HioTvxw?i!OfVwA$UK>Q_aSc#>64)=z5zcVdWr7LcRYC@deR*>3@xl4V=8o1Yp) zC=V}<`ys=VUP-b0v4HOmDWU@G`gm8deH087SN*2p=h@w~{>WFLwFp@V4d?j}D&&?t z4g4^Z7YwSs&_?mEJgWx(NaqgDFh9YphT*V&vhM!?ZrFwGU#W*YwloYUu@Sxb%uW3F zuFk^o&D(>`BBg2=MTqUuFxy4Xvd{hFz1FhL5rP&$VLBU|dN+6SH3(^nLY+PZefDKM zSS1Y8QJtF8$oN;pFM`4rH-dTpIn8`*s^Q1pG(d{~s^?8s8MKv{9H8+hvlnwsy}TIo zfztnD&5poS=pCweWTe#V55t-{9U0s8k2Sl>0y%LJ9j?>%&BN$UsGuHRA-6 z`Fm(2VhRVSZZ7}I56?@5H_Xro?`LeZO=!VjoF}w&=(xurZwZ#=Q=IMm)0!#;%4> zA+@hu9V72sbD)s@pfH68fq!jHFvVp>q_d%nK4$=A`4~uxYY^yQQD5Zdn<^e22 z73m%jjE_lI%s)Z;`6UL1R5-&C-3}3xEzs+0-{K7l3j~%vZ=8V}DQlpwiz{Spn5a6_%C$tuHfn%-{01b3WOcn;o5r7MO zNnlzAA?XCnBlK{<2tQ0f;5IN1beQ(dLeWpVG^PbOK0<>*uc=SV=O1>B%e+cN*95S3rg+zbHjX!Oe?VD59WxLBYo91p=-HvbAz#sE%m0|4M?e`SVZ5#w(R;Mo4sr$pduW*k-&@jUB>V*8U z?$@rN8z#%XAzt5aV`@gu&I1f8SvYfQ(n35;p|sPEp79mwm*D+9LEvEL!lKu=DsCz3 z))Wzo5&)zQQr6jY6*9m68d{ocU4X2rJKnynn27gsJx^jM#g64vs!jh>ISB{V8EvU?kc%+L6 zOw%ztE9M>N^((!3LGGv$FxVfcpe`TU(I_}GtGnJ@ArrYlqy)h0w-2`Fff34`&g-0g z)7bP0kl!VHr>Ns*7e=7X`eM&`XU}p$@hk$TA*Ao2FA59N>u&Q_0IhrMF1z^e#vZ^d z7s^|%NSs^ylkq_CF|`s}XQ8}_IG^(E$JtfBLr{2HboD{(hF!uBaGt;f?nGpl&`nBh zhjrb`flmtF?TrDnC;@+;jNG0EnMv8jaR;BME+0rBY~MfKSL?MB=vUXApxkM)JQX&O zV~7&(#)Y~PHx3dT!~xR1i$tuo)`JR4GKDJ;b|PGJP^!ENot&f9%LBXgBL%p~#kDmC zVLdNA|CkL-`Q*Jg&c2PvKO?tb?~V{apIc7kl|Z6?DQ@Q2q=3n|vpy0rV`AhK7t81B z*A+TwLbzYIZV|FU-Q~j*KXa zy)uld&Qnh8wM|5leptms>t2Ufm)&)~y?=IK++<}z*Xcq=+@8{rdb2!bi;BZ{oy6Nh zed0*zx5!qEEkznz_iauq|(t8?;rF9PgJP?nXrR9yPoLNa#LOgw}lwurRglc_|9fE<`d>x zd)FyP^%0#>{d)gWF=xH`%I;x^b&t+}83hVm_)6nFt9gTY9KcH!(}5l!0I(fVRtoDW zkiVN-(F34e{Q=u~>c;fDQv%ChH%?33r4Pv$2ezt%zfiz%2Gjeiodu3BBY6R|vF#an zY_8DR=5Vy^`}6Ul{(xFKv=;4_O^%eZZQq$J||e&q<`AQoGCRB`IIHG0qFb=6(+$;iSX-D9KT&U+y}CeCrl1;6sK z?_rZW*WP%0rr+7Wi&ups`;iRtQsZ!-2uxGai;|%Zz+oSFe7$hi=JKMgQ(;$oe{r1d zY=Tc~vB_fOkD%_yQNR7}YosZ&VTo{@*Jaj0puS4XyWWsreEsKQ=pc)s9zbW5>)+p3 z6#tED%81PN2aKha-}CF)^szH2M1VkVTv^hXl0q8d2T=tI;mDXT_Q@b@yi^gwK}0&d zDNQ51RwM_S@|<63)kQVL#LI%D0-D)$J~u+K4)#E`WhN+Y=~w-hEcP;Ja1f^O?$RX1 zoN*Ht{i~mXs{G6XK;}6h1{1QdFoBK{wGn;Ad_*HxTWC>kQu@hhVtz_tLD{{~nv}M5 zuIpz6kVo}15*yLKC+5q3UFF zX8f2&re4neh>)IHiC|}n-%Ow{m6RT)5Z$$uVO|lN8>df)fQvkuP~x05_;Vv6Ts*7# zsowR|4le2*)0@Ut%4tzPJHl#4@(aP4e>$WQ3;ljBW1XKd7(+mvz|dVVw4uh1O!pVB@Z%KG7sr zbCZ;%_JL*RiVIU9C8OJqj5qo$=kY;xp|%k!x8#rXTD#BFMF3*&%qp ztzAjd4}80_m6a zqSxXK!Kx*x9YNT<4^4um(axLR*CoasOvy5dGYq=@<}RxXTtE<6ky&Ce-!$4ezlgMv zQ*S7u348y4?7ewB)P46q-lC$CrA1{=vPK({ok}H4DND9WlD){jOr%9ZF;UqoWZ(BK zDl$TnWo%Q{Fk?5?nfabKx~{tK`}*8>SNHGt_%8i1J;pTN-tX6PUgtc|InO85(DR8- zA&eAfoyAjO06Tkb=DSQgB+QLYE62@jD;w(O+)W%F&M^sh+LgzVg`c`YFmYqpx`%7# z$^g=~GJk)#&6cB*tVua&z82e4`;^q=d}hjjP6Rz3Icy?L1?=rO2g!2&c{aXv6@U|f^JlQB5%<|Mjk^AsVdy0d2$Y2m!) zItO6F7@X8oSsBJ|TpTRq=K*}GPtS0l&=gOF;Ep5=;#Gtgw-VkQqT*UI^6^`1iZ1 zS)6W$9O(ILbG;HJID&u-evfJ`wt@kY?)cqcGUXndiD*ofzbq!<8d$OS*5wg^;=F z!L}U^ZP)JjvP+T7Q|3w;+#iH4Czj%@^CAlY+-2Q&=~y}uY_i5|+WWjLadMjLf-!XZ zP!nc1*gCr{+nq#&lfQ)YQ4duN7Ly3L!nJ-|jyr}B`F)Jga)^aYOmqdY$&3T!xoyg` z4b5AuIRfBd!@qexKj}l3jL3^9BAB@JSrwBZXJ-O1a`;Rd8)Qr?b=oPeGtGt+qqnvx z?GqJkKpB(PIHcWB?cXF<-iA+^w}e!qx@?&Xc%wqpJyVN0fh9E1<1-CpZywAS#E3Y& zr-ltuJ9?Hv_xIq)JdUkRTX295OA6BxO)jI_?DJDMl)}t;7&@NeTsFjzGR5x zoC64aK1&`O@}L*PIp!8ZP}IbVs8zC4 zw`~Dr$1#^}fpT7cdW8->ma-S|HvKEkwgdIl)9(DzvoePDT{JyUy&Qk6!@sNXs#ZH3 z+{m$q4es6%16D=OlP5&b-JBuS+bSE5k1lYz%Kzg6(!6Q2ffPZVk41P}NigLh5m|($ zlO%K`BnxJ;yZoej#j6IDsea=NrwkEd?x%VYk}06)JI|`d|ed;_Ibf@)cnk^s?w{7njF3 z6z9*8r9Du%Od;=!$t#Y9ZyXi|?9XwU?a+@m`EBiSp=jXhJGL?xEL564&<8io-lXc` zKY~r){*DgVWs?i{*cMn`!siO~}t)k`3iVc}VjfqBj@v*xe9 zz6k~Zb*oP__6#5L4NnxpKijya6E8Yw>W`N6wa^3`?~A9Z+t&6 z%T{m$BB%6t#oWT}FebqqwA9&t{)?~6pMr1uTs%ow;3byVgpH^ZCS37X>+zBjOpC9i z&8CIR9T5cN`D1BX>t9`bCk*tl)zudkF--(awiRh0Hb7+jSXu_U{szR&KlH^wvn#lk zn&}KY%6^%^fFbdfvS}_P|?EBl8-b_18d%{Lz* z3y|0y;kdNKr5iV9n5efx?VAtz>ULN7tOnspfOPGp>JSO*#cx7hK2T{ZD5s`zp13(o zh1lRSgwW~W|KY@2E$TndX%M7FKwz!8&}lpoJj=!et(1#$p{qeh!?vC3IwjXcu63}w zMK_I?A`eGUrqrl&d^u$_9nd|dn`0G*bkR2gidnX$Yl-jp2V*1u8Uh1W_tmCTFpQds z(>Z+n<|fBbjn2%NtZ*9RBt8Y5zT>Dyo!JwMKMcYT3;&n6i1DSsWOm?eyBEfLIn3P3 zt%_KEF8)}Ws#m=<#zaOs>^XJM^u|C?HQ&iUC{2ewq+;m3@PoO`xBqKcFae#LAvY!E z;N42m%hz-Fh%jO_JdMxWdZydo{b6M6VAR5*Qx5+ygoBl43j;I?7N;vrMtQ;F zFy4T%yTSdUZI!3ZiPZHLYN*By4}Tb$8W^>ViAS{G523k?4n1OExeQ={3N!lNEo|x) zVDZ=N@xm0yqtxhvJgVuiE!=<3ATlye%ow|%V&)%)Fo`c=!Qi|Bc|<=465E0RmHaXo zyJfc@*s#!I1xoj&N-F3`9sXft4#9-heAL?U!w^nh5?dG`N7%2UHQ_u9@i?tKjNL27 z(?cs1Bzd)0i^Jl&^MAwQ3LztW&iguEFATrO)m2c@7<|>iPbLs7tubaYn^7UJ5`0y z5-M4lAm4Ehb`{MJOX5G=Rr25k^t@WLvqi=;oi_c_6DS>Q@2#DCwL$h0#;Wdw<_>-> z&w$Z8wAhyAu-ldl$-iHQsW?dJW5r;P$Sv-X53j)6s9pvQ-7-@B$|lXp1@86kwms2L zk0fZ{0;bfHw>fvgno{{;xBZ;KTE|*e?#oK-kB!J0ZE8FJ`VK>en7J$ufA9mf2-$Y& zd()O6+a>Ne^0`}tt!GImJZ+2xrI$h@XV|{Z`wbTJkvC4lb>(`<^&IJ~))5zF zTqaY~jB14?>n}ZN-#_W@X+tNVAW1dUdQ=n;srTdr#h(c?o|8a$MAL&kGlsq&8Cs%m zoU)T&D<%MM^w0Oy0QYpZvU}>Ff~1^;!Qw&sDh4J{^~m&+=G-KB6g8YKLv2ot(JFjM zxqSLNNHZv+C~|6^Hk6WNK^IwWFpbTL}2 z@s@kAR&QOzZKvtkx9%;hGsV#a`21fVANSABYJB4YfXv`O9VO{jv~U>}Pn##VIyn?{ zqO`MDE9AXbyyg#_h{C!zBlRvvl zw7Sz(c1Wx{`BG;QnK~$>m7FP}pRWz_A^WeLq<3OOGQUV66X=c@1MY494le0Z z`&3Lw(of;$YU57F?PFY!Z?PS><}z)`jGG*4FW`3I-8fuy@$Fhb2p$54Rt{YZPrZ%I z-rXFr-lCgr@dPOr%!bU1_~Kt34x>z|Q(a=I%LazGe+s`HZ8!+c#%xvzI)T z6CK?8xM$&vTnlb0%bNS;}rg z`}1+nuwfr`-IFU?&1dFAXy@ODKZM9%-D1}~;9TLJxt&&~+0}qh%}~#*pvHWF7MNwHBX3Y! zuRw;bvcv}fYZ$BOWX0uqmrd`H5a>omm-3!4tXYw3|r&%@r=i0LKdQ$26Xa- z83d6=xKq2y%J;W2U7xqw^J0^Aq4T6!2(ScYnKfW%NyL!OM;7Ov+=vJxm^94loDAKp z`2>|;A$?<(Wt1$ut7ff=i59MrLdW2~>m|CL(S%=X7iK68x(LLaN&yIcFa!$f3a`-m zvnlFSyKQ42P}4jr&pD!AHIgAu4hf;1xW!OO)ti#TlWXm$<6$tJ3%+bDwWuB-prk#^ zsZ*`_c7ql`@Ld`aMZmwpF8D#qJWyayqSS7a7i!GzDuOv-&Dg=;blKX#b@c6}3`ig} zT^?VJyKT;Ij?23Zt|+{b`Tk7}e1h!Gjfx-IET}0z{MljMre;DWQ4b%75b>58rr@h58 zBpfTeI6d-3z)%N``0I^7I8lg0@gF)WfMU@6cK?67|G#6)-?8Oy;NmxM@&7n*@f#KU zjfyS6vHwRwt{2x~tAbNffl|6O96fX-WWPf=J93G zA|z@^I0toBNgFNJJ&`HZj{RptD77Yp$)?LKsuI3ATXySyau%ctJGF~x;m=pNQK=d2 z_N*76Ei7#cA7PC~&mS+KQtlAr6VRrJQdLq@0`WFYPs<5o6Da@=gMRRNe+E~U7gliU z|ENyrrXH#inVGo-4BHRZj!kup-+;P?>jguzLP@~VyEz;`;jwC+tgz0o#T=P)mo|j8 z;%+TaA*MPv!>iSdk+Mz$r6oSCHlm# zMn|>cWUbna#cgu*Ej}%u)67#HqLZt48nzz3u!cR;a42f6T*vh;%f@220yBI@nUC2h zU0=tiN(EK*Z2Q zm@0{|fS%^!bJrMZ*Kl0LfU; zW+4g@W@FpmH)nfkdO+l)d5g&WJ2e@*lfIoC_n<-S%pktR`cW$s?AL6NBW!i)MpN~A z#3^s$&n8%=$S|bG#>kx}KB;REIb9h@({lo~kHQF;^!dMoNkbNcR-Ws2q;x+?D#^)b zi~U5MawETc<=fy^g*E=^Ogy)>3W%rhG9A10rUnBB_cCpL)Xz;2){jGYg-n+3dkH85r*B|L%EY#4#v6&|=9Y7aEXkihbb{Wu)gSs8*I}cMP!urQQv4ou9WC ziIfnwx4QXT<2ZP!2}8Z5(yi-o>yc?nP#89{tH z8mt?u#;y{PGE@WT-20~F{$9fm><6!&R}B$s9tUJD?X3?B-!LAUh61|!)@{7C-UuMZ zUi`5SKyh9CRgbotTGUv={rY)2nhF1WA0$NQYnkMHI=WopX%O(P71F5|&>)R;vh8eB zIQ{s>8s`!w`E|AvT5}SI-bcvc=ZB?bTpEX1d)A_x2+5yItY;y;I=2hoc4j(MW|zy0 zsmH*BFjvNM-*pxB@*3(HPpkHP9iISo=T6PXOSoJwRb;IUKLe|HV(QJFrS$8ks8^SP z%3?l!LzBr8Rl{kzH>6eRTRowzvEHIO)|~KWFFs|oscfdtH)ErkbR%de=yheg@9xpH zdU8p9-YDPAX!=8dD8|kLFt`o&K=XF= zSx(yte?kkL7RFW2fGD?GVutpeLtnEe14~dSU3+wQVh^PfCj|&~`bPDG)k9!l%coQ` zmN%i)oOG+wQvz>|JjD z6z#N+eo~|t-6y|Pi?=48n1q%e&?9!XN?I|34G?S1wAAQ1M|or9PktTlLRwWY9k4FG zU4#ghH1p!y5*e_hO21-B3GYq9uX%*ccWsO(^P5wz5R9vWS_NY7$6ed!-aDEbus?im za!{iuyD!}Kq1&*Fa?4$P`*@oW*KjWWzUP{4Dct<#eae43mG*`i6RVCcx5{%0XqPp8 z1}iSpbKY~+I${N1gs}vEUukwnJ|X{RU-Lc z+fv;0Chu^Hq^I>6T9|}hODCoe))txd_g+HX>M|J7xA{YmM(}*lw^l@@*&x(YXH+W*7*GGEdE^qekmx}Y!B9Jb@bVt zoeE7FEl@jan$((^{oJ3!(uFXZw02`0R0ZD#sw>qR#c&q z(x%r21YLy^V;untM+qlG)~vd0J!~^@{u9YleK^pVOFSM}o_A+__8M3!i;j5) zi`TRCjVWkOBx`6e_=$Anzv99sDo8GyEksH-B=qZwAAqC9{~w%N?O4gt__*;2t#)qY&F5lKpmdG<*OUT;$6{Nma}pZX-$S9rV{N3I?iQU zoEnS+xj!PQB_XBt@m{%9?pEs%n*Os1njj=dsjwoyW(U3lBa4(Ghm=X@to8?ydb)80 z3y5`U0{*_Q&dV>VKkFSfZ)k$!l`HvhdjtDv1xkktM=D?VW2+{8bhMaNTW;BSi0sJx zxM<6;^%DyTyiJmr*{3V@vDJ9%_ujFsFDfNkf^@S}MqIfW7%}VWgld{#f!gx?eQcTz z+m-U<3ec8iJ@?xy@moiWmtx1EAVan?l!a9Qgfji(BD>^cSn$X4WKCdwlu0Si=JZ; zv2a{M(86{~f9i>$$xKd@!Kp8KikwirCaCS2f)wcgLI})=;cIt~6|=4@^8*3&?Qcc% zrfsCYem*6B@y*Eg9Do*-`srkHl73F3niNr4{L;J6+nWSRN})OoOU?W^x1j9SoLY*g zpq_|e_)>~c3X-5jm#-ilVZnp8ij8Gfn~AcCKwNXVHeBC^enb;ww0$O<1$a2{)P_}cmt^jyH#Hui< z+eamgIKs0b`P$=PLwjFhaYc@We*pEYL&zb!r!w;&o>wZLgEsZ3vKWp>wUTot_A{GV zg1zu9XeJk6e(7zp0pQhy-qC_~Qrx5_wA;tI7+vHtC6ecNJr?DV#ZNLvP*;QLIKub|}9^f@=Gw_SrCWQ3KO(esagIr*<+Q=8QK> ze{jj|0-PD(>=5A(C1`5dmd=Jsi9?RdEI+=WTYhF_uymmul8jVFA~l`>dmJy$i&MI@ z!PQpd0;V#7MOgbhC5{FPE;F|9MohdxDg|>MqLosq1<-MS^ww_8iWClLuVF7)S+z*S z@t_16FVIp33#8&VAElSJ6nsHc|neT)IoOIIVoD+VX)^py1Rv7L+KhBBUIwKA4b;$7`f|IfV#0?&R4= zp>Nxx)0MuYom=aOq5vszfaq6*=sL@FbI4iV&z$=Q3>`@srjkB!g3&E<#aHTf=;qlN zGasH0+@8C6*XNQF7Zhp#7D=VNJt}Csq56G_lwFBs{^{nB$8lB18_cYh`u0$G;ErWD2FajiEuI#94pvTES!(q+N_=cOV=m zeOA)21X1CH)8yy=TUt#)CUQzOWEn9BdzfBR1vzJ1Tr7HQSfzoL8xy(;) zXV?_-j*{M6%A*?nFu!8crN*C_=$+@IPJ5ZjVO!+3yWrA$?6Cqy@nP?=j}i!88`Xro zu?=_n5I1C0PWo+3JK7{`FxoBPztL&+@6gt$?sFH~Ped4&xEHlc8ppG{zbS1@*2iTj z_*1{cfzF;>I#U7ROg=Hj!K#F)2BM(e`qT9p5^nL45gReFq~{PS57zM`_7GT+qOgOXUtZFmu$rqY&2=E;_+S)1$b`XLu4?&EEgeC-pO} zW*(0{({1r?O>V%PMNQqE-CQ<1HEa%y$T3+~^(}s~&Y8rtiX6d{FXAH!ti@D{>l}G^ zAkczMS$>YBKs7qivaZaZ0EDQ(NZppyZItGpmEBWjckAuAEA(~n=`oeu2mBKH4*q8Q z8lx_%=Hc9=FCL8!hlA!7Xj6x}98BRXneJRS?*HC^RB1EV799u~H%Yoir`?)9EKC@4 z4@{aW0KXo8Kj2AQ-LvfLcn7qnbzDC(rwAnp*Z+1&!tYkM-+h$7`zU|+QT}ey{oSPd zuUq*3RomY04)EU{;Qx=&3;g?9*Tlw+dHpf1mXLloYb(|o<{-5Xb7*$in~FmrTphMN z8+>85Z`2A4@y$>A!efO_oXtq>ksGPK{-|GD!|L^4&G#EPH^flKx4DqBp4iu`b|oFD z+LHAY%bHS~2_AmgA1(XvAQR}U~dfCsVGeNq$aMmeBW!uHfFr=OaD|J+I5MQ7=IKW1{ zf8cfq6UEQaJzV^s0o5$0&Or4b+!49CXnng$(InN7#w@4f@s_mMxZHhddjYvT`YXs~ zA<#=p5k43Zk_)VJK=55Nj`C3@1xj;=vd#JC^Rbp@&Im)ReeV;N7GTl0g5K9S)A7P^ z=tY04`AHNg8Y+IFpobA-=sqJhM;_*D^_B2T(QJD??y-i=7zktICbKXS`Xl*+R@uEk zR8lD?d!at|k{lm@6~E7AZip1l{Ow3Ve!apBunA`0S|^vTq0X-Hd|F+N)7&J&Hhyv# zpHprr(SDvXzskO}S%u&yAfb}{y0CvX4`NnZ=FxfJmZ*99DOF-*{Kz}VA_H@lNZ6vze`1hl`e}jPr z;XfnzvCvH(uo@)yZL=B0E15m&xbz% zx@iGT;u|jG?_E=t1qqrtfV&c*22FeI>aT`x3=198vaInP0Il!T-aEuQKgC0hxwF(U z-c`=XMh1#kBD8*{8WcGrG_o{8?{|vYC^HT zf3lyC&YnV{95H#Oe<4siJ*TS z;wECl)9`vuroMwsnH~{tdiB+{7fG+Sj>(ZCT!ti}w$$E+ALxk#>9_8QjCtKTV@9Ky zVqi(R^%4x94zOv*;{syMcs`r(&FNg=2n6W-Tu5-Ls@Mt+dGbjqIiJef+1|y9<*?8w zLW#A_ZJP^0lmTGN->q{ANT@|!)81(zsOd15`)!+d_)nU`Mq?SKWMLHb(wY@+Uo><< z+`{P$3F%13K>Ph?^zcLpdUk?ok897pDLbe{m6H0SD}CwBA*4?o=z((osi*xL zLy(6v5c07{0z1{!G5svC<;HRO=&48OJ47JA1g(;4L@*8LA>Asoq55$(zF#}OoPB}C zM;KY{ZfgI!obU2<`+R`z%e{@7%`tHdt;J|V5b6u=8je&)cDFIr_>5`=x@ zy)kg`)Y)=kla3_lg$PO?K_$zVtz6i6+nDe2@~cNs?zh{F?<{cp_~t~)@x1e;igTlt zCb;UHll(KyjaJbc4ZZ_9c_Yj|W>1W^u`_&_8?t>&CUc^bCT7~~v7B_+6V;vCP@ft0 zQ}%jt3kI0;)y4-;%_!>*=iuFYn^0rsr)MVX=kvv&L^Y3?UL~@5*C`DY$$Z}oO9*+p z1!Rd{jyNv~=5Sr|(DqEP{rp|+sUBh@`avo5>O)@{>P4xp`+>lJ>mcIRHk_z4{)8xN zgK4)Nz63O5omu9<@LAoRMIEk7k*)4F7fpU10fcU};-8J71>_4fGyTT|J19{FC-4_Y z35H~>xK-N~Fb|RX-(pFun|8(CRmM}G4>Lzd ztDsx}hRj=V7&jT9$*Sh$6*rt18T(IcGv-#@-p(zkZV-RG6L20Zmtr zEOH0I56gfG<3Cux{+%BdY2Z25`PPRBN&v?&%D&r;@w1w5MYn2+t@xAV@4+glS+KFX z460Ju&{JgsdI+hzRJZqWh}?s@KC*XLzZx?pI`n7qrSe${GawCivPO`Uad&Or42vWX zzGq+Z25!k3U~W4z*fRj-w>tGR99rBdlPg6hCbQmFO}WkUynzDzGp#unq!xD23Yv@b z*i{e2rd8;$^s=7L_~oAILBL}6AE%H#)+)^Sh*Hp`8kslo@xHH9f(`{9k~BC`U~0C^`_lm6XfQFpoTiJUoV7IV4x*rv@-6i^q>JbUP^ zz;o~ALH&}M-7T%QYIB6VPzO?Iuk^a7xZtdgEKfPD8F=W)fE*9>y&=k_Ligl?j;t)R1N31{s(VvJgt8Az&{u_>(y=$c(N3Zf5p zC_7aV;u(ZnJkH(H($c^!tZ=eXHyd)Jy@WU_&Wmp2)8J38wb|Bqt2G(>_C8byYbk(*eUN3+bX4l?0@;zM*D4sTgk_q8+llg;8%x$XUNMJG@U zQgCEhhmcVt;#eI-phkW|<8V4IK0bZh{>xrz-5pK)+Rr8HesqCJx!_d%wU}lUa-YxY z-{5CorC;y=coi6-Yw3k|W}n?@&LX0>)ej^t1zK~gBf_qgZ?mr!Yw|L`C1>FHWz`(e zU|BS$UJyr9=BMqgIL(k#79rksl{?E6~wKi`EsWSubi%6KRuppoQGFgU2RdgAe3BMXoqb-MQY_&9^{suallL%G0Z zM8gaGvl>iYV&Cb;w0%yzRl^WRJ$S;J<>QrJ(?EhG9<5PR?i~hBj(wre^N*L<8m9~; zs8^aE*Ecp*USH&uK8sqN8?LU?fK8@=W~v3;47ZQ&6Fe~Wpt5qW)RX|T(ugbesAf>+ zzM_VsqVIX?_PUTPHX5y67_VvOyA(NAa{E`-uq*5e%c9zt&QwY5Qp7p9Gh&OSnf`dW z!+Uq(&2&+Os*T^h0c5af|4ZaNjX4`Vy$1lHU$Q?qdb*`4q8Zm2DAhTQh;NP!@P{~n zkSKTg^k|oAnUr9jqE7lD=Egd5kbB=+XIYLIp*JOP+ zS72D*CGhOoqoWg3($QqtY($gbPs~xFhoi|&|MY`aGjo*Qu@{-PUN)xlYjt@r>%1}c zekc)N!wcqKHrz}#+>4u*$iwKBPTJ_+>CLAYld|uOb>V3Fn=5&pQvoU>bhu*g&Fe&Z zvjZ`h(D%Ddr&Km$A@S$z7!^+r0GE2`fpjclH2pMneVe_HS6e33cSvW02pZQNg?!p;3__@F`>yi7 z&$=@TWcnK`5`tGV*9tO7kKCB-ujgY^u8of_0e#zz$yq(h$*5vD^N{8-@9H8in>5+X zsdUnDO@U3VP=i6I;%?r5t-U_Ic@tt68Q=LWQY&76Pm$TpH712xX_wYj@;s z4FH?fR15`YsSGKkE=$$p8_Ufi>`OL9ftHG#uA7^i`R%PumDL}TX`&L>SX)?R-oCwB zBPO48*6)O!U6wD0Obb}k#Q1o@{P)%i1ABGn4V1mtlT-X&Hb*0?Ub1?n4_|`8{myif z9d}^J+Jek~TG&NvTZbGt@{u-l@Tc5tv=X(M_}f5`hFc|TYXHAeUQA3mA~gW#jv|+w-3EmR?;lYyfUZShwpj89_ey8+M<yeuuM04{5g!skp9C^)=A|7GZ%}#WnE51 zGCO@#TUK9i?BcKzXlbHC3o3?GCE7Oy9TE}ug2w+E=#*v&bcDhgU7xd61>w8ypWRDz z7f_sm&6=*v;q)dm7$gG&EeAfuIdz%!?=+7B8G7vyV7u!~&0Le-d;GL3Wq#%wyBq(< zfCj-NoKoJ^%E5!E(o&$&W#3o#Jo-Zg2wg!drO3;-0*fcv2{_3FO9`z!m<*E+oD7^* zCd+Abpo5F%6zTNiw+?PI-FwZw;y-3+KLzL z*2foR-_cZep&*4hAnnJ2cg0!mG})ll3bMd6DSOT1`T#%<33@w(FG0J?2}LEYH*(AE zZ!gF}BGU^SIu#CZe!bZZ+M-+bC4qjG8Jw(lt#gi^>$@D;cbR{%iagd+rG%)_-HJ}? zdPQXelUEM0%~n!F5bD2YUbkSu?@R?uto-TIr)3m2z^C?Asu;f*@bP((NIIvPhe&%R zX4II8Wr3yQGM&<8#!gO7a#v~Y)7x6d?-khSkd*2$d1(;z?Vd2k3ssu(lj z(9Q&p4hL!ogk~du`l_P|;U_e~dx_zlI1ALICeSaQ1E+Tj>`o>7)ECLUN8W1in;Y ze@zrYisgHYMr$kw7EUhcp4X4Nw&(bP1vB(gZ$%nvizleywWJ$Yd7k`~7o-^UvSAJJ zBRdW>U9W1Vx2N4yI9ppeidgq@B~JucfOuvn=N~}BQMd`w@HIvhy>-9D?@Is zVHh}YYzhE79E^tN<0i2%Jm|rGsr9T8Snz^A!xAS{>`ORC+mm=KSY3|R7@sHqoevKF z_$a*6&g}eg-HWO}Q$S8(`5xwX8?j}PJT49U^7(#beduGBDbAEgq|x?JJ3=2Fy69ySM>7tVbKD8zd>bY5=)Aj&myN9d z=~_l?G_!OYN0jU1TNO--xSO3{w$k>z7MAv7#Byw6sF3I9yj;q(V1MN!H?4?M%)`9O zytUvj!ck_tg0?4U+aq0iFPpsTV-^0eimSH%oJj_oo@ZMdsI)NO+Zg5fgG+a2UZbV$ z5nnO5q5(XBz`H+gfPXl)zU`SmJb)Xh|6CX$hao4M zg>B3ak`O)n9(##zSRU1O^t^uLAqX{?{|qybkmKKm8We_Q%cxW<6_fSfD0c~AbfIi# z^K$T&#Shrimvg(&(s%g5 z>Q477Hp}VBW+BaH_$KFI-Sa!XTlYQ_m&#k^GC5Q*+=38Zkmsgyfc4+HRH&&py2Eu` z6-v&%>9_5B11zYzAz^KvMPv9dL{fCGQMq8S$ug^D5Ez0CS`te*k{N+Ay>*mt^}tKyNbWp49{bjt7T;FEV$j9 zVB5xW(b0v#MQIaP-{Zk#!6y55rE|!Yz?<=lR#yDs!`?+%xS)y} zD{xG)Y!?@18ATu_$<2%HTiE^&K<}ex z(@yRS8yT^59u4x>ywb(J7w-wV5;C=5o*L68AV5KG^xKEu4sF_C2+G>p>TMVH{;}n7 z?X>|9Qt4=Wyk40_9#qr`IsDx(!Ij{69MpD(Y)GxVUo?qO6 zYp*(ftQkz5;(0L?8!WdSKdh{Ox7<(;pjO*>r`2s~k(ly~0IR;7rK(v2i3_8<**bwn znLlT3yXR+9N488yRbW);TMo%_oC6+kj7#q7dX$?gzW2iJe`(!gIACnqp~c%v>vAP^v_Lc zOyTz%i|Yjw*0#6MxG&5liim#YE`Fh`1GHzax{#i*Sd<(2x2lL1Uu@E|jk6oT(A3dWo2?H=0(3Si)Dj} zRrzrae`;do`4yc;JEtrLOifyIO2+A1?V7HszQfz~6@gaZe!{&7>Kov@ZtixqUE@Am zA5pPl2HGJm2iCh6ZInabCQtL>v-It8ag{SCHo(~vr4?oed#doq?elYcN|6a0Y+w@& zbmfs(K8@^M6=&%9g~6h%*acS_xPf1Lmu;t9Mn~#+O~D8E@m9lgIad1n@7Qt-7xg)i zun8%+oMJn*n$Z&ujMzuaiN&)pfi*vFzn|Na+_XIiP{DME(*kachtzyC|oZqLVI1eAk!Qiwhx*-Ctz7NF+qQko8Q^cmDCDy1qpe}Gx4&zz+h)F@d} z3PAZwR5#;tlFZChERcC6XVu5Jmu`^k)>zeraaj?iCz3aibO+VgyWxkE?&pp_Mo&~R z0r=6I(~K_m>#m)N4%Rd6vfpM7RCnmoXV9?rlswuk%; zf(SD<^;Sc}3n;(9A!O@-HPj`t=*K6F3Roney@y-D4GAr4JgXH5wF%}TPY{x_>h68% z`P(DP8fS;0N2|X?f;`2iYfLk5{S;zygfJ!vnou6CdTu|TS1*U2?Ng)9S88tafHvZ% zwKifP3X4=B7?+;QvxlUM?#x=Rg;RbxEk+%jby+DhMZ{N!#K10O5PJssN(5GsKL&o{cmisNx7RROwxo1lN`qOe(9yg}Z`!IKVSX zcW33%jtjUrw8ULyRe5`bIF951qzB4Vx`@~JmTAf^XTgd*arL4VuIhUn*I$2swuGD0 zqqKU%Ho+db+3F2d!J_^p*N1Q!CNmx{w{08|4byLfoxeUx*im(QQ)e-vw(NQ3!kv+( z=n`2suk;dGWGs=z5=-s4Zdw7)i#D8^azGoJco`cD7iHt6J9#kVUM4S_9%*v#F3u=| zghaGH|8S~Ol}S^4=z69Fcyrl`O7PzTN1q*792)r(Tr^Pxo?8))odN}4pN*@eOIcwB z5UYGYrbDs!X%t z5hJ!`;+KwCMy%gVqN!m{Tx`Ud>w@MH+g&OHqV3DK@ddwsuTGs?+uEblMfiMkN>rN! zh+kTY+oZ02MVQ1EVT~Fv;F6!>3pRiOm-`h14t_`Z{R(2fxpgM1Rbe_#OrWni#5z`8 zrZu@}$OeSh85+~Zvy!cfdNxRny{v33a7Zb?UmYr0RUnfH4uV!3n`i(J6Z7A(>Bp0 zCERzyZ71Zg^)EqLWL6Q0a;)nbI^B74`&_fvO=3-f6+&d$6Iwtf^^-mNb7ZDJzXtMD7htE& zEt>dP)%e_m0bJRwAqTHT?Aj)<3sW=#5>}C_C3Eh;h?qdno`192#ih7N(#4P6g}_9@ z2`IDZXXI7BJ?98fc9T=ZiadjHtsa^azSNq54DQa!crby8O2zb)#&RQOU z@X7ASNa_FJ@af0F{T;1;3#WfBviKdX{|1K^SI$xn;5Rt*zXdq-+q(V6BL9EHB7ZNp z|NWL*6kX51gKT$V-ysCUjk-hp=lZ;A(T%IuH^*Fg@`8^Ed))gh+6f%KJHO!Yc|7nM z3zf9SA+huvXKIA%JUt)eJ!u;{kQ<8ql^a5NK}qy5?o)kDwl%tsHG43*>*<4% z!5SChL*>iOo8_q9Kpme}In%pgp71fj!r$Mud6!ySY+ikm{radjvnv{`TfvK`{}nHO zQxOiJ3U-YLv$t3%uXYg%g4w0}Z+IG~tB2YT=#T;zIDT9KHNk^_AHpb~lOmR+3>-$8Gb+OmYB_W*SD{za_! ze*j&t;P6z6f{XPibE|Q17$N_drl@}YduP(u3s7s2bK$jpYDSH0`|1sBr~^myV1M)k zBy>1Kd^PloNI0u?ZbQEP;1<-ds804Jn@9wZFDN?DM4T30tKcKQ8C> zF5u_LsnVAE8cFsEl9|MqieK#B1A;Imm!YUZ6VXKInh#K7PO{ce;OvQ@#~9+@B};FjT)n`Dlu6Nk`4W=M!gIpE%db&Lz&AtBDq; z2ADwcPV~Jj+>AtrKdNh*2Gh1T`w3$w3hG#V_X6v;Ci+#@cIEa zq@&Am^x`1YO(FDB{a4Ox&MCty&&S*Wq*vSj$^aU&$wc^z)yx z0qT9b>8KwYo$p#Yq`~QX$a1Uiz&FH_N=86iKy;6&d=SopA{?Y6OK{y$OK4jQpHbZj z)j8Q#btl!440eex(py4tI0fZeg6kTwSrz`Ac&rwe^b&mO3MsiU+^LNVxGooJuLq;o z7`wws*fpB1Eb6jRJ5$DMiaw~#c8iXs}i9`(X(kgzIcZeu=(#G zF&%oF4ULdE?+Cf}7`&}{+C}f$y*+kF>fJ*iB}?EE)_k{mOkv~Lw>P8k22$K_Fiq#e zPdX*_RDOH2RATjy*;-^&pw^0LTM=P4MIG{cR)0oRJM}~H^v(O!JKz#Db0Lx+mUmGuO%8~W(&*N- zhB>rf;yJqBT)OW$MqS4EX_(D`xBVNYJKZOv$-N=A#AoZ!=ao5a9fiYKg}lSLFxBF_ z(Y4~cpPGaikJ_|mn(55OD_3C1t9$e8&1f-sN8TxjN2lkvX+&zvm8BZ1JWAJ&n>TXmWlqfl;VM4 zQrS9c`l;v2+7TT^mc8cG>@4#}Xqk6^YtLSy66knuCAgcu>-ydr?wez&X6-v7H*T0S z`{?1pa~U)3I$(O}n(MFv2>prY1I&b=cq1lD`y(H|44wT+C} z!Enb{jWUO1icck;QE9c7d3R`7?(HGp2<`YQXG5U~rvCeSm!(qvf2^Ege2S{!G6crE zqM2Sc$ed#A20rbz%}uO;zLgeT+dfF%RarP5xR*IKMwFhzCZb% z-PVcH#J#KT#ZdOZ8sEW!UDsEgRoXg{;VzS}OPmCXWA5_efw)*6`m>ucfD9_)w@dD@KA(6U@&Px!J!*y{c+UzWU ziu>o=j#w4R)Eg^jodb!^r2Vb&eZ8hRM!2@VoBg>w{d!Hiw{IgFuV{g^$R(%`TB_z@ zSC2y_<1Zx)<-Qk}rZ&ByCu9ysHCm3vc@IV>DZW$0S?_ph$l1Q<>qiNSPR`8gvT`@M za5wi1wq(PS@_`-4^-3-jHKa^#eYmG4J}{e&#mpZ+!J=}R<$ZDHy{cZ3kO+yjU;XNQ zy=HXp_|?(hY=3sB&Odl~Q$sa=$AzMq!eDQAY5Q%gih1j=9Es-wi2KW?rNj_YnzKTC z(^945OGxiE9M+XHNLt%7Sxe^Si2KCsDXUmnvNPk#C96W&v=j}t6hnf)%yXu~x~Fg5 zg}2A)R`wcdx5P|UccAeDZeCU8U!5j2IDJp}M=19VkhQPN8e}*{r?eMJKMjy_zVB{f zoLM}6k9Txa`~PC^J;R#Xw(nsJ9ziT13JMA;#VAdsiF6cDk)l|rq9V;u1f&z9h!ruG z2-2I1N|W9MEEK7c4xuR!0wy8UPy)$2gPwEsmggSNxnKV8&kx6wJRv)Kuf6tKbB;O2 zn4_W5k7S=cBDKtfV(a(eMnBkEQu8A)KHbW*`R_kQZR@VR<3*E}lo58G3o>AylfC_r z2C-2s*FU1^(c>!!Q$2oVCr|rocn1e{dlqbV*RGF<`_j|HRivQPP+w*>VP}HLu{U~4 zYSD>Tk|Jd$9N5iID(t+|O{)FE*`nvuJHJW*nlZVzq+2ZqCp+b#(1~!f*M8c(^aL4; zT(K%0tU!*uC>Pqp?ZswYa&2#W!K{_`CC|*Mkk_`X?o`F7SyN(Ny{)okbeUETnnuIj za;Lb`KP9AFoUyg3wb#E%Y+=8!CT`R5f+2~8Aq8%@9^NjP z&4c1LX;qvJC`zE}s8QVGeJUGRF7}BA!Mxm}&U%%Zv@51v zuxiLafVx2Eli!Z*8+s|c`%6R4(cXexm#&b;E;_#V4a0~9ca!8(ZqeqAv!0ZdYmK`H z3$JC{a&O-fcQY*oPmlK32Z9I&lbcb$C6ffZK5Xcz*>H6h>*~Mjn)RQvvc==)3ANSJKz(fp%PgPjBQ`K!`f(sK8yQFr^H+Vh-_S6G!QI~AXh)enfa&rXFn=y(>hui7q^yjKyn1c(w}`Wy#qmu@*!C?r zc7^q~YNOK-d$t5NSGM{>em8i#*0g5)PF2;arE#B8rFhKWwwt9~x6f5bxzJ`=Tw0@Z zduF0j^_YaudCrIG%4ObjW%T7s3RF*rrk{P{CGkuFy<14vPUw)J5ORZ}pbDDQrImA@ zz~A9N%}xR(=;JNdinI}&XSL(Z5v^Jo6Z@4gj_Weg_Xb-hOPg?29uHLw+i|zgdgY!3 zN0iA`^DqJ3F5`Fd?0Cdoxto?~hhu_=lJpSu7Xs8Jd{8T_OGYcvem>_zOX{0?+*M@` z`PDi5A`~Oezcy=GiI`rK7Mtrv8M%^gATYqtR-aQ*ttS)3C@f0^TzZFrg}h zd6w_|K4Q}`jR0+yC=KfDRoe{}KyKN!O_q>*HGE;x8eV1FcOW6#uQt)CE56>up%$pB z3PGaH%ekvw=o=)-rf!Oh%-T8{iZL;AcD}7$FRNd>8Ix?X8RfDOb$=uJ=#ZuVY-o5r zUl@asC^YVN6qWOeqZDaptF247l8yHnwGG}gGb_fgyQ#V=nNFpf<`@RL_94vqG8jCVmtAwOk5<{}-ai;!s_-W7 zvdhs7vDv8pwQcAr*~6BWMAZict9CaQd!Vvki#4{@(dKg%V)S!A4V0|er)BhIR<=+z zI~CW!rBdEFoKtN^mlHo2mBvXbImJ)XYLM~ozL?yU_1Yx;u!@CXmjrFNkkcV4#i#Af z;-!bzr`18;b(VvZuWWSRYpJ_tXMI84nWT-#)tutFc1LY|X4SP(YFlzoioZliC(^Of zSJwe0o1hU>jEYAet}lr)zEt>uMlgwYt(RD?Xg1-i5UsI&A5}p%Lr!$p)QFoyg$hj* zp`i7i``gS9V$oRc+z$A9Tcj5ARkQpEK$8$E5N`vKN0M|lJK;;U$y3ShwVL@2@;0qK z61UCCvUi4qgc76$QT>*4ojS|p55^d47h=05k_4W*OT1JNN*b5mU6g9q@yh=y=vAb~ zR%}jjn<(b0=x+L$Go_#=pVQbOkbOVJgS|8Xf9@=0iPEXl74dk&QC)>l1F3gP@;Ap3 z-8MsATPjqFIVsmkviJK=E9gf1b}70Iw9VQbXa^^8=ct6EK98J6Lm3Qe1+#X>O2Ryo zW>G9QJ+;0^y?03~({Z{aG|zvX5`Pp)_(~s1i{iYgl0-~!O`n+ToAZ4s`}D<2A*QdZ z{h&fXUS6&8Y>BXtBHnR)_QfbZ(IS4*V1B#l@@)ShO|$Vgde)O=Y3a=-YMHbShf^o# zvyQV^^;plCJACIT_)6$vj^o++=(BzSsUnl{>BZZl)4+KREbMqcZldOKKy%v(!Oq z5cPvCl9h?ycs5+q!1$e6%B%cUq<2!})3NrFS7)n%HeN?Ky2_WGaN)y)oZx0LY<5wr z&iIbq^Fg*TYa0{G9Y~VV7ZiB?rMlv!%`KYB=o=S5Rt&lCwQ9-7YB~0iT47m%sSON=7zkKJ;m_E^iZl%Cj+BO8M7*HJN2%@{hndC88r zqy5^%qDane5C4R#RGo9J&ZZaN3N*hMFF4&zlDqxsNPhCT;C5%=_5}k;L?--EUJ#3g zxP5d;Ur6O+!RE=QrIQUOfj3{v4$)2KvAASMJ)ig)YN{Sp z($0KMhmNPmMu(Y+5C>I{S|q?RQEL?J9H~}VX)6`z>N9po_p9b|7C1>s(zaO} zU=31lUOU)bq||6hv|bYzx%|lr5ALcH_e5NHfY=ag&r^l(&Q>;64v^)oy?=&QQBx3H z|9opT+4h+%W-6giwV)|ckaqvsDkCeWJK9^CX9k7k*`Hw5Q6dH%Gg*bJj^(%<_sU|v z-OZOSM6Rf?cvJ4quN`Ll2&Y2bCeN?eEfwygBJ3L>PCAx*Tj8mp$4XKRy5?jLBlExk zJftH9f=adf$h+i^7RmBL`jQ#&jU2;ZsSaid)bS+`VEHWN${0;S#|X#U6lybfCT&#|U;Q7{o+|_2#*( zbANA#6gs*&rO=ov?3qz5d*?&9aVAYTH8uM5>xBfRd&V8y-KJ^t#7JSz2-V#?5Auh&{5{7d^k7m zv`6G~vKvl?Z_0OWdh`Veoh^4z5?jPX3e8)ZO?_aNR|{f$KO2>L%ruR*%p@#-w9|Aw zfJ%7T-#JuLScL;IW**(%wk?J&@uFYt8`!jg0&o0oNDB7qD>-7Xz~Lv$o#&W4D$w<1 zLw$TXEN6i)o~?jm46%@28%_dr2)%GMS5sCfI7%{FrZGrCUvBu^K2x=HQM1O$TWXJU z=B~;G2|V#E-h|`*bl)69@Vevx?8EzRJ?n7K8&XkO+HOxH(#FZ}T6B5}yn?SKsmb5$ zG#=2VOSXOCZ@JU0d_m!M*!}#l$Hg&W=km8YJ#+BuB)AX{E^&SfVfxiBe$95X+~LvX z4qbPAd*yUFvvc0l5>gsfZI@^G$yQP2k%aMkx1@V}8YWN|=rEad_JVJ@`oN1WOp zlI8e2k`3EF(l-sm64~GZ=yj}lyt^eEd1`*yk|0och`!Da%*egiXO`(OpJdQpZX(@Q zuH|et|B_Jud}6poH5^~?{#8_R-}5zQbdCM)QHL}@d?3&9Ul0I%AWT9&B~8Up9XT>= z6I*rh@;^#87K9d=a@Slv#7V8mceZob@o`uuB~`1QFv7uIzV!WH|C_?U9S;Oy=4AL! zu=&*u!_?~%_8mX!Ral&X%{WO>th=PXC+nO+ZTN=-kLHE^Fe)J{_{4Yuc@`w3_Jyrfw&KSf!IOn zXptE@<%3gW`uRCck9>w^IXyPj1fiPLP;_ekJZL2&nApsj8#qzjkW$n}=(bYH1@!R; z(5}42e1iPy{c6!_+Z9+dX(KhJ3ys|FqCbxDm72@$_4eondVH1iTB_Q3jSS0wiq$e5 zx_m9J4H><9y1aUJV7`{uobj~t-8Ig>IgF56@h8%j)J^j^wa2r_R~wYjDNJZgk^?4_ z?NyJ&`&z?toj<*~;!?6F-78R?oh^e|bnRo$G1LJ>=r(NeI6Gm2@Fd#|P}jBpgx3BS z!Qkx`*32<7`1?o&)wxt`4iz@F_%u&(M$7QsV<@9Rz;G2c{az>s<3EuwljusD$2?bK z&fr)!4Uv6eQD9sIP}~`woYp^ZFTJ2tWaEB$i_UD8stQoR-s?hjz?H z^vsEc%t6^Z6E)W-B<&r1#^90jWSRJ=D@)vD=*yedAmQlpmae_@r|N z+Gg}t7^u#i_gflZnVDakrsC3jASo#cIV@YT#n27#jQky12;$iD>nee+a_0|qd|&eT zb6QlxxT7AsdH?!a=BhJH|jp8cfE~vwR;)nDf-y67oo`^}C!7Cjm^u z#F|ks#SBubp(|oM-z;7}-6$4;ISAc4=zaHVDIK}FAowr?e=IBeFP0NCLd?_Ux#zZh z)Hzrvdug-{dK!5h&&;i~^6@qIp$j2ZcLG^^4W=W!>#@Ub^Hf9H{aV#Mg>3_O{GK>A z)atxbo&Iz+xEVx3T;g(v^UZggI~A3e6I3eMt%bUV1LQOFA5U&70lU=E1fi+>We>L- z)UCTE)U4TV$rCeEW9#a4_e1`fETba`=42Y$aZ~MZLehNUF;HPm_HQy6;6!?)A{U@ZL>PO?u*@G~{MQ~bujTM{R zjwm}i$7T3;Ci1eJk$Sh)1{b);$%A6r>&qGGe$DnWSB3{9n&o5dI$Z@KwJ{BCPZKI! zwvrQ6F#EnB1Z3?D^*4m}=XSd4D*Lo13Pj7=ACq{J$vM;1G}Y;5piD{E9mS!B-3EkX zWFj;Xg~}5{`DS1*TTJie?(FtpCNx@SjPHaJ>h4>ShTIVIx6>5z7 zy%z3_!E@P$G!mWEKbU}#+8dB}&(PznAN0qruxJB65C?dLqu$LwIMy0IRh`&MJ38vX z_1qmox6YNqSU2zE?*%pU`7@q4Le=d%8T6lFp4hp^kCOg9lo? zX~=1QoRls~Y2?k)zWR@&`V%FxoYs~xt=@&^p89o7I;Oss7Nvans`c*)E#gggk7+6z z;hgP81O&!(c8Figa2s!Z=v?;fqm&4C-hCiVAtrt&8OjSp9x<+gZ zpeb%LcYesmzY9tsGGbA0{)-Ycw)t8{iM`tFU_$zl@%zO^K9f5ScBoyRwbScatwet1 z<@4#t*_barAYmVst*;P5`wd*o#1zk%d>sDW3&4hD;k$veiJT#2f*uXBe2h`2xg$}R zkmn zu*3L7Gf$J~cC2Q5Ykjv5Da8?F^`ooUjh-E`r%jq2L@)``=vz9~Q-k&I^_53UkMKk& z7c*u_wCO%fMFpx9ZS!(kY?2)84rz+N#e(P(acs zy%1WXO$R7=6V{3sc}{grX~{(0f%=5!PK&%dYr!)i_JsF(2=lM}IHLbWKcJq(NmwrE z^@b(b1A@fe#8|0oc%9bSP>(`#Mi5wgq^IW@7!`pNZwEAXbAYGKNjbXzR>kCWF@cjL z;?f|2m5EekjAAN~Tx!rpZeT3?nl&XE+au{H! zjUdUZ=}IypDx0;>z zRF>ddiSCuAbs;C?l)=T(&0qDzG+)VdnOB!BGhv*ydA5UcC0(y2s%}E#IDw+(TzV?}y!Q3-h`VM^5+xw$=6^5H$3=b>}(G94ExdVQot#g5~gL z;ydTS5&Je2%2}R0@Ca~BBIf@M@y>PY0bkE9?=evl^~YVBaOXIprZHc>Aq)J3G|T^unl`@y>KB z*g6aF8uVB^Uz4C6d^^!h>QZrj-$oA*3+IA6l^kznvR+qbcte;b;r3^UCQ>7q#)lE~ z+GVOwXJl~7Jg4TH5>?mVx_UJDtm%G)@5svimc%w^?U5HbGG<%j$i#WfOSQSrYev~^ zd!~kxQ7hb?GpjH5XBeI342Jw&p)Zb|pevofCw%DaJw3(Y$L5PneECjKFO7IbJ?$~_ zWNF6ToVlUg;u#gCQBET=li_?FG?qE+)`70omdc`sw}Be}uopkeP~uiEJ7MkRwb9xv z2Zwm5BD2M^C307BoXL(wXyz}ww|1QdV*BOhfOvKSuliv_a2H#|tMyGgsl}dEU|0<1 zO}*9hiDuPc_ZO0x@~LUre(yN8mzJ^2GSilkm1^}ili#%`ia0sBx!k|+!KfhjFlf1X zZJ{M|1hFzy(Rsd*8MBJJo89`;G!aBgVYHehb|41V<7toX3s%6hC_~lfL#x6lK+
4BT%`f-2CIn8z)o!uI3K{u@_zUyfN)lf6#a}KQ*o{v%l!f(|Ivo$PC z;3#maW3E=~9qA+IbU5F1`Y;sDxdlo6o;_)zV@8`OrZdiPc6+z#N6aoO9ILY20z8~u zq1%dgYvx<0#hrV~RaG`9qISbjzb@GrYtHf=^K9mtZxfFzx`WbHQg!8WtKhkD} z+hk=;#f@plo^k{ARa6OMs9zq`uz>V0x}wPjPrW5r6{a8P0Fy5_wzF}+sX+5JRw83e z?JlZK6rf3(A;8e^bA4!O2l2S4$(M$#e9Abhl^di*$U9-oQk}C?;B3ge_!h;yI00cq`MEK0WxAbMRJYEfl8ka2 z@`G6Mv857P{M5=&Gil~**gR~ZWQ8e+2|e9DcXx)DrifyTHg7Cv%)ME)ri2mr_#9G%Eb^MYnefl#}f%16{k5k}@m;U9IQFkYJzmZ&!j; zSP7mTodMfRmLhcvHq-t%V^f^D;(Idq7&-7O|Dm6T&D>SHVHR;jXsgkM@u4f=z%^;i zJ8O5o$M4c$8gxaSo&gEGGnms@%_)zo#VnbD5T=S8&Ws}@7^A9rtJ;yDqrG}>wIt|Z z%J(r!6Xi~WwL;%+40N;Hj}W@_QA6If|3f+Q#B4uU=j4F-TLsInthnwHBZNB}Ql1px zV%?ufOj(%VVyo=--m_2CJ!y$k^c`Q*1on*C(0fuUynNy&*(exiW`v+??Lqqa((kG< zroC2>jtOH01VSgz1GRDV!|oFAch^cV0Wr$nu9**%llTp`8uG9*4f~ZEh#p_+Qn0KI z7_>=!=%&DvP~*`w@MmI^fJav*i6Ab(6%Zv@ETJeW(g9e34c>oL5+4~tH^ z<`~k39$2u?4jgMHTu7J96m!8}%c!notsgF@{3e`;bx{$QsuS68cZwNvL^Wq9fdPd% zb%Rvy>AJE^k3E|C&OODWre!9H&~dPx26M3VhI#R9Q{#*olGD1R^3Adg-7_Uy-#D*C z=pbzI6iY*T?IP7LMUN3UERlOj_QGT=gUJ}I(0Rck!Jd(LL~&p4cr6)4j}M}JtX$p! zsbzOf`?DMVGu07}NrOewzK%A5@Vi6ePcwv}7(GpB)dnig3kRV%^Nl5Qcy@x{wnr4; z!u5q(2zIajF)30vde6M51h9*_i ze^?;5x^3`!)O>_ugzumw)2BH#fA$nj?G(eaj;4CfDOxb%Jct-xsV2{3m@(zLrqZXR#3;+rTY;P#v}Y1)OPPi>ja#+-30{@g_#gbI9zzdX<&iUB`>Iu9@RGdqb5k_*HST-E#T=HbHFLXa+t7I$ z|J8N&EH^7p68gxpOn!VJZqirgL#9?2$M(oGkT+CC?kUNfVTGcv(cm+T2R}T196@b| z2(~B^b8%8S2&|>~Ih|rI$P(r-g-uRckdX zGeW+;*!}Pr{N*H#yQmn|%M)WaX3YT0Lm~8MvkM1aqxY7ulFPlS?(Q_7=BI%fn8%*! z6i1h%ogjlAzptyR<*ALZP0Q>uSL)+bn8TH{kptS`kP$A2$ryt6pKm&GY>(KjOEju`%yb=9FP!;C-S$R1 zo8(o*VB&Nj-Vk}gk&yETmQ@qCSahrocwohaElC)Q-($WVsODkSNN`4-`Kcus`vQi<&6wbL`CPO+cf)MxWB+)=(TCu0a+=YQs}0 zdg?{3^O13!BtvmqN(T$Xn=WeT$c4SEedM#G*~5J)^Y$cxepK;}zCkKcm1hkmKE z-FS%r_r#<03H+B*N)S4)sADb{W4_G31DAVgrMN7rbA{lWIWLh@Ydu9$ATT4~|IOD1I35h#Bn zX~RCuJ_ZYeJW|?o234Ag=6Gsn!&_MG`)knG4aa^yongwE@dl z1;^_`I{kGDbSwEzdu?@cW7xHl>l0&Un-U$Mb58qbPE}lLs9LS-+ry&z=lfrx?bHSy zTOG#c>|LXJZbv4=`I+WIULQspP|G=hD6E-u4^ruwL0+JfDseLtC;XRQ#cZJMNR){v zkuv`@d*e`#U)7g6>2|Yi*rH+3R5=3N_(Ux@*DsDtYM=kS27U8srU51&K!g4}??&Ap zqe{JO`sbwz$!mi@L_FrG5N5j&!b&o-!K~?qppUGNvwxLT!QkA&1Ko)=B4<>i+s-$+ zc+{7u(hkTPmCn-|bs6IHi+$rsX|vX{84hMj2tWn!ON=sdNW$UkJh<;AI|#p zv-k_eSWTPodJY~j*|7SA_)m*Z(gfJ&bp3?N`eQg*Q=;+Q>`mvAp}Y3l;#Nc1Ci@q5 zL~sj<&?ev(-i5Iz$3fPz7o${Al7^P z)xhnt`V3nR*i#P7*nNa83Nt!!wwQ|CQCK=DJ!rmicEIzpL9}xI;K60grA)9?b=KbT9e5DXG6%oTTQMQN`D z7m%@jh)f(J2QmS>d6#KBdX=eJY+2vM83%GxaHbJ0rw) z3@Y%E5%>N{8c`nc#&w57_xIK*vYrK_ZIs-u&0S|`=wSMc0aWrel!Fd|$55}4+FZS7 z?~dH@>PLkbL#a^n$(H>Hq#Kw#{e&Z-!|pipO^bmUd>})o08>}vAhiq?%% zUkyq&GssCOB}PRrr)L%ATu19?iAkSHV}MYXu^?25>szoz75^gq$cE0{ihRf36&-%| z+Nl!qLCLt|X4XKn_WQo3{@+a#tvLvXUGn|hwhltOq?>v|FU;>A8Q&}AiF%TXk@AQ$ zuN!a$jnjmVrCP;PVKWNX#kkkd%gZZj9bYryb<1(tIXMzKZ}#B%5|_7$DBG**cC5{N z;~Fgl?(t}zg(oH0<9+a{awL;*Y(!3-*umPek!gj>rZ3N2?6XHZ7f*&Lu}q|NsP#qs z7(U+sLwTzz(z&#I{Y0*+%CPlGR}7`Jx6dfD{CdhR09U*IkpJqq$Vihoes+T9`6?yo zGk`IRGyRu0d%uOe2eo7M0$nr2j`1(>5HEm1x}riv9J@7jvbLlcdNX)Gv$*(Hu_f~q zPMZrJt-Dd^ZY_C7{P7MX6(cJ+wLR%n8hBgnZ5w_~dS=&h@2nzm1!W7CyXx9$0fL|o zB2+hZ#^*mX_4gwbtdCWKd6MWvc#GCQzj^mN15Xh~jbNCtdI43!>cO)WBqb6@R+*Z_ z2>FeC_Ih^xzVHn&BrJk{MzmKujP9o2;+d+v#zO&Fz!v-Z#lQ_@Hwxn13N*f#TFbbr zB;PglY68lVaN(#%pli^s>^v^b{IchVd7%Jz0Q(%qfIIcUHSQ`=Zqc3K-Wiy5{%oM@ zp#$r_IU;2NyC`4lG2$!NcqdFl^9P{II6?*YdVA+$#qFm1{Xze5+(K6mjF`lNJ}bkd z%m2Aj-aouQzp*^PB*uJ2b2iXCQvG(A1{t0-oZIpni|KaTmgUK_=G+#n+L<`7>+nJ6 zrlo(@yz~D={TXOMznhi*y53)Wl%FxT{WV|y-h9c~du8?Jea0Zd&6##@^n=wlJhRcS zgR836?FAtLNPR#vWtCrkC#C&)i&Ho&Ey*Qp#TE2M=;R8&f7 zln1h?_zwlz|7INg53`OpyuzRMU0Yf z!-h&(*Z};HHQ!f>#tUQ;+w!6+@Bo@S6;gM17hD>8uva*Uuf!Gr?6e|zw-8CwthU(+ z3QvXdz~lER&Lyh1`m&!u{{~U)g`}0RAboGt{xb{GV)iGO)emZV*G1-%U%N?X&97<0 zi5+R{&<^Hz!l{l2)OwL!e22)NQ&3VSYFO;W4ryF_281x$*;TWGP*}~7|Ny*N#I~CCp3RFj>@jGsm z0+MvD#?{~YV^Zy)=D=P2GWiae$NVi%j@yRC6A#24I~Z8fbOCm5yJ)IZ9yf(H1ujaz3^L%+G`a&Qm-m{eB)TWk0CeEFXV zdbWV0|BvqBR~@rYOa(N>cn^3N5(YY;k1YE5t0M!YELREti9TxigMDri%+ctflFZ!h zaNEYZeJaf3T6A{8?U57K)^MjB|IVHIrxK;stwJx=^9_lPvlC{AQ=iURGAE4+N8XJm zr>3T!siFGOZ$KGFDChm^7&u2o@H8SACJpa{0b%^j0r91x-VER@&p>-6*F(LQGh;Kf z=Cmk#5cNx&ICGbFL{>2@B;eqqzdP2P1o7{}E@2@u>h{0#@aPmoIu`0Pa-9AVb$bZk9rMbzc(oV~t|8Or$KJx-z4$bg0%d$IqNrtH2VH4r_ z@>!R?<8$=z1TKcbat+Toq5a007ktpKvJ_k(6R)TW$abZG2Y1%kdiFI7(qyPI0(#)* z(G>XAK;ZZhu!8ohZ7#X}q<#_0FId#uV(zLg*@|Z>{Z_p}e#h)2i9+ib&VeU?E4@q_ z4Qr;Sv&(ba7*va&B=J}ThX3GrXg)&}tE<#=9U6~8TNvqP(K^1ZpA@*JKSV&!L2$ux zGJ7JDXsY?9WTC(PK=-oCvcdBF?lKyz*tBw!#Q8$18|i~rC}MV(#KyFG(I%kMMDrlUP?G&eV|e^Sh9 zbKVd}Z0l-t-eFvBpbQ-fD8+Q<8FJ zn)-d+pR6nVTC&nQni>su?t7GN5L|S=@))Z>d63OOtpX9RP%>&!NTFG-mz=^QGs#f< zc5F4LXT}pAL?1wG7d<&o0EN}2pF@LxY@q|~K3I`UtA%eu*Tud^qj>bp;CD{oV|FR8 z{@Dq9Y9L#KL?ThJM$g)Tpl`KYaQfDqVKA(O-3AUf;`ReiesAjN<6aI;6OHr&fb_Cw z{-!_C=6}U;Xa5V1D+axJjr$ZWb--x7XTgtc^*%dhd7n$vi6qLb>8ot#o^G)Fasquu z#^hl8`)5ZK%UK?QhqPC4SWD-fd0Xhg^7k`yuFd>>-(k2lEv;yC@TF)uk~{E!4|#Ns zR+xeuB)l|v0#@5&0nMj`Aa#XA`#Xm9pHJXfsq2661vkN{O47`niyT?8HFP7-y0VmB zts`oy0OkpL!gq);&!hj&Jpbhl{(H6S=USQkKibKQz{GV&z44VJqBk+Iv`2>bpQ>>0 z*;rXBu^}#f_3aJu56GoQs*2?fhpfB4Vn_4Aobv$n`Cp z%IzFiqIRg1jHBiSF&j(h^r-RqsPVbeQ=VO|)X0QM5d=w@qiUb7!deXz(jmhZpS9TR zXg2GV?Fm~iFIvJrEv{}z^Bismjg0!DD;wCkuvWV`wklkS-LzI>aS#tS`{BXwzN2A6 zghQAV+-I*cH3-OPc^I1vKY&!(xN0$c|BdD1fQ%A1T(mIj$ffF+V>ewr#GcQ=M!0u| z!#FZFIqJZ7-+_~YL)0|{ANb)1NR@W%Tj2YQ6+)WUbq{e8`QZml4Ycu8T1}@V z8j2#uOL(^#Bq6%Dg1Z{cWVa4cs37CGh>rB}>?>(ZpyK9oCU=URk7} z_}fD+S047Nt#8-9+N)urbc;2*e+;%e40hC0fm=WPK+D5=81BVvbL+Pt=t@&$Mb?qk zSF*8J?S341FGAgLHAl$hGL9D{|22AYa#^}u{&^Rs5w*Q7uNJk)t5jmkzW zAcr7rvo?LD?CfY2OirzW^9G;SW6A130y&luvK4_O{=PT={FZjvKm()z(v)|czjZK{ z&$U3?v2%|2tgJBSB4nebS9>>_x)gjL^O|3nC3a@+LAE#)+I`|unj6_qSwpAVN}7`G zSk2;y43)0oeA|Fk`4hdzlclCE6U^_$n(IGjlhlUINbIj~MwS8KIo@N^qe^Uh8fxKC zNbQchGl#8gB&#vQoD_QYG`$2QXJDpb&D`8L&f{E~KWH(W>3Xe2x@wMY1Aga-k@Ken z(9Eb7#NG=g-oglRIZi7H*wdnah-!W+Y?@w+y|G5XzBb&^N+rPPsBOV2LBDMG`P%Ll z%BQ7!Br`sb@>zP7i5Z019nQ!XBWmj7wL;c4jnw%Om1|aM>X;0>M`&0}UPAwL2X>{Khy2Gb872RnC?IP2M z(O*tZ7>1!ikX=HqmL_&wUW}?z<|Dvnzpm(=c__qd3O|HXKNYX3vJrB7{Bgst-6FxE zUO6d`6L({i-yOXuAIm!Ajy1C#k37gOI;ItO3vD)y(>f~JJUZkuhr8BPX;~qJ zh)V81gqJ@RzxuIPCFpcHb~rSa-rbwwt3QfN6||ub=VB;)bJAo-kVg%iCevv)vi7~bPXl?X#WvcDJ)ZC8xzRu^&ne?IV`D};S%gJAxY^18V+1m2+;YYA!i_{w9D4%DTNN1T(0J!(cGj72@Oi*8Gx_B% z7{mX0vYj8L%YbFQ%#^PeWc|}BhjuMyLDJwX0gnHU)-b!*-Wif~D_HKST;{oIO`7*#vP>VudU2f^rtJP)ONWb@9}470-S>82=P-S0|X=db(#t zp4wjN)34j)d;G?mgra4nKJXCMUZe^SBYgO+;ZcADe zH05-|qVk zq9xprh;T19+5B~s5Uf!GIJ_H#qpJk=oIj)gGFnAHn_Iy`VAGCc3^lR}S7f)(-1H%j z`ZD5x`+2v@U{@U>VnKew<1Qf)(DPx;gHGaEjU*qe-@KmXO=2vhXJLPE>uE12RM3VJ zV@yFPk__e@TU*Z8Us^K!el7f!P7ZPK-3(aNR+O1pLZB8WN zMXyR{fl*nqISIkL4I#dc6S)#ryyCyH;;qFd8lc;U^H9mb8H04O;-D%8}le8J{W56L%$3zsK~IOKhH@#LofE58OlZo6I~-@G|s?Ae36 zIMxQ>rt#M|fY4a-b83-od~LW~$8W3l_3+C&ywYGMr4^@N;ai=aS@#9$>p3%dy`n4X zkvKXFRp^mfX;f~KbW&1Yxs{Gx?BT=g&S^azC9j;;uGf%4x zNQif?&NhBd0ASaYsM zk*yw$`>4HmPMKpW_Z5Am*&deWAelJCVeoXo;_PDzzlTM}_ zlo_jok|^JJaTY*ay!Mgi;yhS44pFK%WEuK@y>2zV4oh5?KJ_P1(d}s_VKPJ>B}!9f zvTkS*c{VPTD5vdxY8xW-)K0}}s4KdCUy1!musAgKwb!U;OD;~)W5}AXW4O>0A*^OS zCQHYmpLNvcuFM9IBh*{9aVcc+xj@WmzP_fg8AytD;-?q~4OhQHYJY^@0m^R`o5fp&a^p zBa)T5vv1kLGa`yuBP8Dd*-yF8gz~p2~ww5D3|HCD#0y@GL68_0szX!dzJ03kOOJ z4DUJ_%P!H#Kd3nlmE`htyLADs_X7uF*sO!C>Je;&Z5)hSU$GWhz%*smTC`auTlFmu zF0avO->l^~eOAS>cd1qK>7s&-Md0PO8Ia`V4yAgn*5=RpdEBldcPTjHz20YscFnR8 zECboAL`#g~d$uEV6eJYkXP;>Uw1d_0}KHp;nEfioYWM zD0`LG+PQCNj~!q?cK*r1U(Zftu~5Jm@bGLsyA|tzJRRL!b&a@xwQBh@{UYf!u94rS>4J$(Hk1&&8f)$lm#1TR62XhnFqFzM z>;%|+9eU%{KVK+^LH8y<9z9v8znN6u_dK#Ubaj6DYD#zQKF?vSTYCd17dA+X{eOO$ z!cMPi@wv{ntQnU$J#tn!<$WrJ5_^?~%Xb)Bwob#FF*oz{hUEC9LXV#n%S#kQOjvIz zsWq>`mU02ulCN;I1t735!+u%*X7Q8ByZ9*ZgxLc5Xurnr{z!TJJiX7K=9o_iX?b$! z;a*2m4W}S_ezrsVo(_)=N5}D61?dl{n~mD&*`Y)lI0u*jn8+&WxZtw_Izs@Ddzu3- z5S~&WD40g=LaOf6{7|uU*VJ~v(tu$p$EP76?_dWALXi9hWMX$~7roHe(vwPMp-&MC zxDaVeC-6&3XihOxz@JHW6hckhXSv+sv+S*aa*N5nNk`ok_zI@E0NtR%-KI@yp~f%G z_D^taonq0zm$Nxke|nq$TjslN7#zSC2T}=fW<)#aD5;9p!gmN zC^(thcRUE>JDu-p{RLB(jcgsj)CF)@WSl?rW&cJgf2Zu`lL6fGg71njc?pAELZh%K zQ5CMAp~6e3(m1jjKQQpf3B6ykNW6}{+^u7B~_cBgu_PP70Epq$*= z0jQ#uKypCqF!=c`D_Qb>fts@AUJ0yIXr-0|Ul)W7*4%7(@*>Bz?6A^P&$P(Xe5ZG{ z>8lc^KMnSb=&wMr9dCbM>&#* zyv}+C9<1lC8a~L)It}h4!##3*4`+n^Wp#6N=n0v0;bNtCcZIPDz6FcEyt9DaYOki^ zK4^z~r=SBk%G);7Qnz-(*OxjDUtP^MJJ`edJDlno=nAM|kF3;ASd_4E1h;4YREd3> z?NM8An8_~o3>*uWLnZ@Fk9R7zX8DzbS~=vxwH{Aiq>+CPwecH*n*7fQ>PgP2^Ekmo z{LP5eRg4Ym8M1k|V_mEAAOp6KA4;66L)yS^IsDu8)>!$sKi0=NYXC6+G?S^A zjWE<`nWN++gtRKZd&GjCCObbjV`)}WOl+fgcAkgQ2IYDp?9RwOYQ%Y+P3uBzIT}~% za({!yXCIkglAIkrUE5Di&YZ<}Tlg0NKx#{<5_0TG?Q$5yy0pAJ5fmIPKEF&O-#GB! zZVf>dTmCrFk~;vQ{#nx4o5Wahp3vjzSe5w+x14sH2ouY1zb0YfQ;6ZyO%h|r)Hot)g*YP}Pw%Q&hC=XOqMvJqU3Se56< zhlnQFb`8xH`NR-Jkrmmn1gtw%ca5V;@s{zz99(q8m4gdgT~?~OPHs1 z!aFermkA{z<6!>gAVH~{=(@+dg|nl;?dUdz21GQY{Xc-jETY}d5Yk5E5EYkIslaX{ z>YaKe&N|>~ z7yR@Dy?4;Vnw;I*oz-d?aW3l<|rBO_ES2;j65iXa1BtcdZIRac& zFI+2H4I~EiUneoJSAE|88G6uUDp5Dt0#Jb~$oPZh7&Bp7#YRXb-|~9^6XfLInIIz% zcRAwwXp^m+$!KP`;wjbdh>VfdA)Wx%c|U!Sxd|>N^zU8F+3x{5am#)E{7PBA3Z%|_ zqdM#ALI4t8AFDLE3)iFjH?OC+ydxP!_h7MOT~n3)+76OlA$^qwW9QwZNW8{?CDjq2 zqs`I?8QZ&##WMqnp()ABI)x5}N?S(z%t+?6z540EfFVC8YAj z38dv>9;NrY+)_ao{@wuyH|g^M%tu6dAV3~J_#xY&{%BQxNT2rtVE5fWRl*;kTS3=$J)G)e*GJNZukMF{$pADmnr7y4f;b};>4jmt$YQDDzhNdho*l+vuLbjt^(zRGrga zk6mB2anCLyzlv|<1!1RxmT-B;2X5_SQlHL^H9XZ#0WKZE!up}K0LV9E6eBV-}za)HrjR@;F{P4iER(ABC5Q5&JacV_^2nDhn|y1=NTkZQn!;C5Vt zmI-#i!OTp_!S4iw6bQ(Go(`j;j5>9g*Do@I2lXqvv+Rwe)~t|>~s?Jj)Jx&1SL)1hYse8i*FVVF;?z}DQ)cF{( z?QuACJX4;$F$W&UZ-JmHvY{UELY)58)(0LG{8QBfy}8;GMQCW3Wpwotxo!9CnP|+X z-Uf1erjd(%VwA_2x$x{T8oCt8J9oc6zNia?$q8!)XV`(~I6U8lYI|E$;ua+K=?^}l zJ33#BXBt{W*dkk!(=9yOMcun5>=M%DzXEvws?nPh`~2^bG^*B~WG%zGMGrsS05Vpk z=wIfzs~griuYL9pwqL^qXuxB0Z)UtC#~+1D2QB=Ly2c>hQ;dK-&w5Y zwtw#S6~iZ+WIBF~9Z%7C|C_*Xv;PW@0b?-ZaK^=Qmh$5E-`SS&BFei)HGF4>hz^;x z@|l2!L$eNC#_XyuW*9-84roTl<2bSs$%B=7BQkv!Hf7hpUeV;j$~}axV%3y!9MJ^e z{bcRnFX0+8cQpSuH|m%E@E2?Dm&Em#ikhW1{zDP{|E7vMFg|vZs~qn?MM>&g64Vp* zqxPs)@O%ryav%)Lu)W;6@P{K1H<>?fG&n9*<876+Aj@7*eY5l)dBEZC+b83|$J$9R z1N~wgwZNIUtS$q*n3zbV_e^ z_8i;+nb(ecH!ase@;KtkI5=Y?Pp|; zB73{dCn*%8yHJb^OO@WaakAN z@>xnM9A3A}W<{d$7y2f)mcB{e#9 z0Ecn7vnwv6(uLp{jro@sIh){}ze4|EQ7$g5`#>&NQH6uOq5ovnX(pfo!h?%XSm`}5 zMi_$dpU44L`=8Ly1kg{Fp!Im95`y#0!13=ip;@;|YnYP-86q@Mjl~-~1oHk_rH# zBN*U|r!0Yqv-AIH-2LsZfI@J>uENHWK`~UWFBaqhL(kHNzWxEZv z{}t@-z)>}dxTa2JfHZ&%wtxCxQ1jorzoQL^a6z^1;&J-h4jbsK;<7ym`IqHyVG00u z;KW)17#eu52XN}m6s3KVNcW!|{|8rB0c$DM(HG#IfE~1L;TS0ooQecPIN|)D1RFZF zMX}uy%bRTyd;?Q6WRVMs$BjE?ZAYf%2Gf3h>mTSW9n0_6f%c5K%(-Lgpf03{T7m(e zMeL;(*UVxgK~GT>LVWNd{yd3UoYZsB{A&fdH4g1^@c_06FjA3O_N$`(nLX6%=}O2S zl?5J$uCbuJ7Rvf5g>&|MDJZEL3=y`nmPPM!nGcsZ&aYjz#4etLAlUO+KnpC{Lh+I} zc;th#S{7Dd_Hm*3r3BDQN$vBR@7Nfy-3l~x-FtLAE&bTFOFHizel`5PZ{I)aln=Z* ze$=^}mzVdqLWElexm#~qX;~H?-m+{itT$8yT-i@~Q8P-T|lmn`I!GlPCPw`M^vz;k%5IoJ;UTm*v zWF=wwFnzHGIt)yDgJ0j6_7PidwHgU->xdG^@m`RWx=UE^dO~r|oPZ{dwEp-5Lla)G zYk<7cJl1vg(_&>VNm}PPE|%0H3zbbl!@7v-)dtq>c{=5x3E7(lvQ%5?(@2LlQBa;( z951AoRQ$3$1vnn9y~T?lMZhP}pyM{72AzCsy7cuMXMViXD@wawT{7MBb=k#!)XiAR zAdt4IJk2NbIeQb#85`W4BPbAGs!c==7Y7#O9tj?Rgjwu_+<_p9m4S@z#%#$|*{St0 zj~)H;c>6A0pC9F^@iq_&%K`ddYYli z0WwJi&#ef7rD#*MA>Y^jJl5PBMxZd8WyQuUs&X+0icGL2u~;g5j49nN>Y$&I+=6!I zx5in3?A9E$Z;@hcz*h}_UTpQ@S`E+s=WVx{h<=~MFmxV?@^9h;!n`Q(cK--G{4L2* z^j;l29$hAsPvfdmQ(B3@jpWdLZc-yBHa<4jiV$dLRHSCz)st(_pR&!?EGi*ub&va;f5eu62@Jkq26cpZhe_<+bk+gu|H!3;buqAeX+-KiC!?0C5 z8?XmI(~eD7cstSH(xClP-v@yQN3V_ENIacP;$S4InZ5&R(Ro47Nkdj!d1tc|A#qs? zNRWYz*1ltjbFB<$lXXm7GO?bBYNCNy-mwy5x*Yb6Rz>oA%EDU;i#;f#{lgVhaJRbk zkfN>ZRUJ?=JZy;~bXsq3jdEF27CY+f68C%`TxI#mvevzj2W|=-ZzK{gp!7#X-ut*+ zK9@FJn+T;Jo_y=PT-hw2rJPu3x%%D<^i-{k7))=acK?|sw)rWTFxd{IA9jc&E_)Hv z$wXtz4kbd4Uh^nd5P)*dQG&*2@OE1mXFlfUFEz(nc*tv7W3Hj?=riir&)%2OO=g@>d$7KkEqS=-bcAhO+Ye)l zoA3hj)bGb`*7?+bKm;Pa@!$#$D(bbZSr~t&Fp@2nYi$|7qTS;evRtpeRFZzdyfl>h z1Ajv(jrd?18pUA$SjepOotw3?=}Zj-q%0a#9=xk%SZ{m21?`Tt?!*^+;RLZ^^d~k8 zjdPThO0-+2$V60^jFy<)Tle-*06e}_2p{&{PybT&Gah>uD8-N5Ujih0h8}ojdi$Z# z!4Pzf*!GTUCeiD%!Vw324_yXkCVi8^ODC+2xv(Qea!)l1AiHOWC2o%&U59{n6#Q#m zm04D!6=wc%;%IYBk#7CM#T8DHxSpK%b(heT2i%7f<4<7%7rRA!keTU6mT31QhRW>< zd0zH{?x~e(few&^D6{W!2=6OJaMmByT?oMmc^y{*dM+L`U~e)imMT#_iZes!RGX9) z4`&8bQN{h_0ojY$4xNe01(#^5;J34r=5Gn1u-4@T-KG^>et4b3z z?{bjHTW~Pd1$`pRZKB0E1>^Rd^qtxtcrSm+L}aQCxYVDB3-}XOk2rPGWuSp9t?%9> z2fa`=hMUQ?Bj=M|5U+6adJ{>M7fRt%i*U^%9_@Yqh6ArX+Cj8@+n8Iw= zL%X)yo^14A?JU2oSGT!4C+~l5O%==r#{gpCG^k8nhQ7{y3 zF4sqQ6;nA~GMM%j7?WSe3FMb0q^nA!Zq`m8R<6{*fA?h?in>y3uTM0MOyxSyUC%eis0F$(6fCd3ukRnQ_C!$%kH1D3 zYjgC3iD4O&dx8$PS-~}jEeiOQ)GHqI`A#d4aTms1cfn zD+EWk1UFYS!e11RuW0zD3y*FvM7?;w6@=BVD^4pox)lOO&(5aYz$5OLrXiOBg6Kw%{Bwit922uLH=xN4+oFXoNY+f^bR+fR0IU zZA9`|pS)!abj&e_tYd}qwS)tB<#1nyOL+6WA#y^N@mcY!Uj=q<>+PoeZUfo%#Y=Xw zby*ik$HO+}JdN-By#U#&L7nAWVNBvipm1Bnv7#;xFI}_FKj~n#5nZsW>k+Yc!RCf{ zFtwd0vzVA5(k@4pvqDv3esp*vlTOxq<#iZd_i2-5Ee-E(Wy#Q#Vg&N?aD5`WQY zschKW{3s+J3^wj~)t>`GC%H z@znu@9a{lj+N3>AA@$g%&*!R9Y*TlUpIbZQ*{8P0Z*)AW%tQo^Y-OY$*vAl1#T?#u z%&irpBMqnVFf#c0kPb;CDRh;F_0*~WH^oNqUwuE4oQJI!LW|N9U6|*n*)^cS;H9I_x*LDIq zt6v3@vlDiy+vrT@r2kIa!qkQ=+3$e}LAHI@I=AOh;HWz)JCo?n^z#9#EjO!G(SdaM zqrT6LU0`^-E9R0eTTDd>AuWJeLMgo7w!FPKKIbERZ*X+Pp3b{x+H-BjjZ$dcFU~Z4 zfD0GfK^D2t^>wY)$HThA^Vx@cJ&i7NL=Uw?`?Ogdjt+8tcpoSfh0eLX@~oYZ8@B6^ z!KROZstWvq?$d>e=qFxUku;4TVTzQ;A!7QeT=TAhrqj(($4%t(Y9Yn6I|yExvV64H-+_d&UP{#wnDWNnYf4*n+nwo0wlgI>qH?bV3Qs*BJF1w( zmC6vbJ7-rZ?uGv@2#6-|W$r95B zEY^DL2N||0bVpF|qX)~a`RrXwP_z? zkdpp-KSdi(UG39jxDUBp#r0u8du3%8UG?dmLMlPWMloPL1$t_3gQve=mft7bHFVj5 zv2Cn)qWi6ICx4EQH~zs9L%&wSA{w8FN535NOO?j0Y5Ab_d#3m@Q#+pm{j#GJ;;E56 zjcc2eeH6Y;I!^6IS1jy>&aHOI^5ikYk?t`yZ@svM5>R$>Ycl>N3FC-bPD(3pFiB}E zYlD5=Ydp(|(!eMEMQ{hKf{kT&*y~>7%O5xG9aO7ImE%^Gp}=rKMrxs{ORbr9x1Tma zyFpvC&UiT}C`udZ(~3HLAG%*RAY`g*;loj0SK%-yU!xo$q$gbkZeET!hslM${azho z4)lc5InQ4a0s}&G3089n8v>l-5;2xFxUfM7FaY~lL0!jWy3aK|Ik8Kh1^`P#>RC1A zW|BCyT8{XQa#dYI3b$gQ!^c8o^mAyCN|w9QHm}CdUD%tRnZB<=Xdl1O!BNdG7(YYP zqa(~snJ2u3MEH*x>0U&X_G?2le>2Znbdayx$2RcB!*|xgkc+uBUHhBM3oSv7hBMVx zrNinduQ>m-QR`pd&~~sHhv8b2?=ihBF`U&)2IhkWF458-Z-$R{srNxUlWMi2?-kZ3 z)Q+VDx!e{{+O9JC5wU%Lbz?nJ%g@BvR+fcRw`N3XaU&|LgY;)u>}2)fmoTMLRVAT% z5A?n}-do08OSM|^!_6LLr=|&}fkTp`4_gk4n2HC`PO6JhnL4W9snwBT3;MX*qax*f zZn;yLJ7t`uQK+bsvODt~`oANG9>pKRl5YcU;NFjZ zV%lcy?;gao&I&FWX$TQs&ZtrWJKW#(RtyJ_1FADXF}r*pL9k=x$|@Sc3$>~3W=*2)@B*aw=uWz=|h zl0S9KVTLogFroO;P8>~}ZMyClt)TQGZgq&FIrn%F-goWN63121<&X-HH1ld`=JFQC z)_zCI3UmCr#U(3G_Az^Cqh+ELTlTv(*$aV#%`E)or&B~1LG@L7vl1*j88JKx@1}0u zDq%`={qgZgY`TW2cSV}UjceF%)aKi$sEJXRb@>G%kp}7n{(6iZVm~OQDRHRt)U~#j z$fNXdK1JDLp}-i-^cdER<Bl$`iPh5>g1SzO`~k}Pg*((7%ZGK+a8z-D@Z8mJIqJ>j^99VJTnolwtOTD z@!cuQM_rOd;OB26ha=qXKZ}UYVnQ6rL??c{mj+YS~Xz zEwbn#iarS3?(BijRO##iFN}2}JU+^n4Fc-}$uKQIVwn9he@dhj=x*O)jJJln1q~A3 zS~sruf9zyYb6-6KG>;3rS6L6LapE1zrJzrc3rZ{pV^DM*Y&d1SxZlp`-puC8KGXRQ5~6no%3bN8Sb2yj@4f9_6RLKwQv1r8uo- zwF42W4%}t~P3)1(^VXF}ntHUK@ry2P@ow!6Z2MwSe7P)Jh~Os)dmY-pDpzpYH6orxN{ z#A4t7%|UjgGNsAAf<<)h`##T>d)(sYXI+n7HJizQ_9OE8nx#0 zu8Uo8!Ze?vIm$~s1OrpriyoF!EAO%7{#xPI(B6gYJKAizm0InaZaPjhRht6srmg9a zO$EvURIj~lp;q7&irt!bh7?VA36~avqVmY@>MMyEZK&-)&YI2=^OEd%N2gk;FYV^B z5i8Qi%CXaRh^CiCDe${urME1bpesYWptT{nE}ePf*GC6i_-3eocKb#Km4gY z0wN9!(*t+i_v0*y6mFQ8ht#la7~neJ(uD&bE)V1j5|`;(V#uKT>o0IK(@Uo8g0$vE zl@oqiSvsQ?edr)nl3QhK93xk6elA|xr?F^z??oxThSsg#gHdjyY7ueoY#4GAmqIe^ z(}_ks(TFr{&QYI7L@=ww4foJTa|;}`T)?J((ys>E0xrP`QLZG63fz!s)Oh{E9GqRX zt<+7Fx0;-w$|k_^cW*bQ;G8{BnBeFQIX+?MO2IwHSLxbmDm0y_YSA9(<42bu6^miY zVq=&diS7O*?z+1=(@9E4@}7&3J(j-I4jqcok*(^{h5XzyJCzpW%Uf^V5P?6dONB3> zps!HNmr}dN-gh;{Pc$Ej@y&n4`zeatGQ={@O;3zJ4nJH07p(Mqe4mq$k{GbV+@){)8# zQeB=rygtLa1pLIEp;qW*e}RLZ!!-nzA_SDpS~#=yQ0aOX45Qbkm|}UUZa%2| zC|kq%Y&Bc^?rOpK%T@+y=#Cddus2M)jaWbr1uTLrKLLm(0yHbrn)P8^W=^-AVjNh^tu})kO_{J#JQcX{ z<#nx%Y#HHA=S<{{7xKG1Bq6vVPjmA1t;gI^o=(y>Hx@DJ#K&cgt)o<^Ry4+8?T2vw zE)#0H-{7AVw*pmQgoAKEkJzWJ&)Qe9rohcSShpyK&uu#?ZV9B=ur>toir_{sV)ezx z<>|%fh3a|WuUx9yxHx#*pZaAhHFR1g>iQ?44eiR`Un!R+1K|W7;%y$d9Et;!q-m^wqaMc3%R^0gw93G=T_$T6cM12ak%h9bJlYui$ z1OlYKESbYh6XF zM8Sh97CXjh4%X~!S1;`lR+bRu1n<4c1}N^Oxi`uZ*Q32C&_lDh*d^bo4UxyGf}7d$lln8AmkD6t+ff{X6ws@~uB#T>z9QX97v4F`QjG zV#Yh>I();ry4bQ@jcy;YPxEP?tKH09si4F%Q2d9A(R-HHWTJ`7iNNtvirB4cHQI<1 zJ2bAG+Rg_T+3)nOKk^+G3VQeZm#KuYXqJTNkkLdxcgcSn?mC-5Irqc_Y0-P*7gP}* zm0V?Mke=S!;X+e*{;OZ#u+vLw>tg20OdLPoBeR4IptcoOq@}0IA9~JzZXF2Z6g7^u zEYa+496L}2eC$D9Jr$Cl=~+8^sr`oKU>lj+Mt1oM+^bUTRt^;Mf!aNT?=WyLOQ_E*pHJaUkxD<4^6UDDlMtaBR& z;?(?(w4UXaI1#Nj>q@AvM&2FK(Z_na7d?OI7VQX|4;8(&EL035Fy&UUFuxr%F}e41 z{CT0J_X-?vE?EO(t1D&13O9#u1>Nt_?lw^PUmdlPvgv>jT+a9b+F4$d?JH4m`^0(3 zd3gnyDxK_}?Z#awl}$HMctJa}R*NMVA$>r45_lY8jIRd?dFI1zB`fX3Ss4Y#jgK7XqPh`Z~` zgs~^=aQunC{?fxTuE9MCq-Hz-%)&6a@$+An{^Pt5So_Z!-FF}muMx*icj7+zuRWYS z;lcmZ#Q$~mSTLue3irJW?g?^vfZXP7Ullw-?mxdJaT6$+wx6&|&K-LPw19V@R23fb zZ@a<14Fa_RW(IV}*ZD^fpjP_bS)lvRbx**^0~T-pB)fecvv`sOI5_q_TZ_|l+kbp% z{4E&y5cbwY;CSM*N?tIAXR$LG#~^tXb0kRuQPm;bk&<4l9_jy36MubxEoN$mKH0#DR<$c!n83Lm@i|HtarFdFKuw70>>9UdNHayT-1J3Njv z9R9lQ@dMkz;!K9rgLs(5z0QNY74rF}{K0?O%xfm#uvTV_89iP+ARR28u+gCYZ;Rs` zfOMf*;bVIF!%Gem^raQ!Jn8-NKY;mO6+kX50Q;0X1Oaz65AvM0!~N%u&fK^si2|oC z-dMM0Z1Jp8VV&ptiEPi!5m=}x2lMB(UyFyn#%%2?YMWmjnfo{1%m5^K=TXb4%a{l} zp891(-n+o|!*sS{(r+F)z8aip`Mzw;W*M47p~vM1MrKdl&eI@oplRrcs2ddvfpId_@cC=6Blg~W(siP{^=?t5mRd(O zv1X)-wQgk8B+LI^dsP7>)C~F-Rvw>a4ZzY`geJ9dz6DO^Ny;}*7W%XXnp(;VTg-j7 zRT%G#{z%Yol%rMnZWPi$HhUDkqFC;}Yjt7qf77-E4@T<8X>4CU5m#6rZ-l2{^*g9) z4Awv0-803KW%LBf{)_d#JAzU!Pi?-~)dVXc zUh0RZUPB=}iVsCjI(h%&C~H7|v_h-~c#cs*1hy~}I}IaDi#XgX51*`YFE2@)Lx)!L zdR1C}MWZJtZ{)PGMf3Q|Nk5T#;1_p<6_wnpKotjcY%ef<5nxwyFv_v(bo^y2=G)};4oPfIPw{A(6KW9K`aUmgl-B%DuU)SZ~z#4Vb)UbxFwfPusuGZidCo{{X$Q`}<{)v|S9PyQZ`MLfatmI$vN{#FI zBVLkVD=t@FvH0@TZx7Dt;$G6(aVSHrMK$DZzsT!5{~>gSEQa09exu*lr3L;mT`jU! z8R_4>`zz*XdYLdr!H%!!2#NzhSzvJu+Lv zyC8LUa6#3=db4HiYB)ha$-kim{9l_1U}Eth>F3impE7ZQyhsh5=m}#jQIsLmG-FSC z%(m0+W@a{VxMt4)<=kSCAWha_P}0rBTwxl=$j7#SLmNJam!=7YW{jzg{O7p;yw?PP z(E7lE?UY1B>3=9oYM!^-ddG3qB6@wVPFE>$eeVs0f!nB5&WvG#kO?kg#J~t_9f5*e-I|(-W z*4Ap6|4-sG%9$ar>!Y4-Eg*TM}a20|?5&mDMZVc+-}D`q2?lH|5PP3K)e zx;w0)jGL(G=}pyFz@M*$9d3S<%q6YFm zm^fiEe5P|Gfrou7TA9c=Ds$E|&gI&}eW*fx==kO4yJJqo=l0S8B8{G(SZK_9pli^B zbwB`p_SbS(B3Rc+l_OAj1pZ^@^If$jtNmdvd5Vu!olT-lxrZ>DCBqOHCy!5XJ zq}OZ6!)?K7%M`D)(vmYr5t_6|n4g~VI)?K@v-i}^q>tr=4274@W!UW7PAAYUEjmd= zzrpt+ZRv=eeA)Cz`G#PDvFp^X^PkyX+<)!uQ%M8OoPb@%gZJ5tEJ%*733TX|{zQAi zt8ONEEYBF(A~(XM@yES2L^L68i(F{SSGo9ymlNUf%3W%Q9xSo)he-5b&BaYe0ge)(s= zi>G3YQ&wFCHZ(p3aQt1mOW=BCmyX@L2}TgO1b{+Bo=*N@i+U{MjTezob|DXiPvsUD z7l0#?f*MQ8$v+w&CTV!v$tlRF=-AX_^JeWYS6c5h(j5KZpM3U%?OjInoL%W8i(KvK zhHXtuL<(DcRJwUP+HEqmjx5$O@=Bz(O^Jo@l)@s~iPtkbJxBOYke!Hiy^CIu+Wpaq zovBbbVS@AITLl%4s}Z>LoHG<7o4KcwA;<}HBS8sRJWn=tUlBt{RbhjZ5f+}DH9H2g zpR3wv1AUc5!m{lQBzwAAhfSm`N+;j;AU6fOGz#tR$`cV8i$rjXgsrJ8H&w*fDy=6& z|AxaB{&O2oJvO^#c_l$=uPMALeC_EhTqN95xWp`T^9(%KG2oFAWr;f7i5vh=feZ6g zL??|mk7uap_Ok)Uer@42O1v0pVtx{XN>b&=d&q>)jbB+e)qc9{l~ZuQa-$1*xuc7I zx9LXkFbDlz`hCHP18KSX6K}`~1KJNJQag1;ki{b5s+$fc>??sKLj(9KC08k&?u4(n zA0%-|3Ke@4WXD<-OEdbcauYhnN}bT{_D`wmz&PxUOdc*NzJ%*@NgWH)gS zZS>1&UQ_?;-Kw{WJDytAqa^%BX!cWzxff)?O=q~(LHtCQ$9Nu zTC?#>*v3spN81Qb^eS*ihZsnu(3zve#0qBD=Gz|Ia+uHv$UigjvTZ)+ApO@zN?^TW z%1tW<07de*-aNeG`lYD;pP(sFvz=A zjN4v9WkP)?_7o%d_W+oEbbMg7C;TZvGM}2X)UPa~FpDX2rh4g74LbzEW+{x=xs%dZL(yevl_$#U+qGw$X9Ee>$ z<4(~tmTJ~kDE<|&NtIY0+l7g5gy!OS6Srena(5erHK}2v#@PdBcc>L$t3}4Fol{Oo z@|DQNHjZ5%5(#Huj(Qrx@fVmK3;!a;KO`wuj5bvGIgN2)mUO>@PZ{Hf09b3^PY3rD zXA(G9!+%}=JGV<<`F#LFPd`g7;?ePL^|G$MPZCi#*O@s1#dT7Q7=QOlh4G(Xtxy0e zSd`bDd#56Qo(|y0-8c8k+4d8?dCZxW;{+c^oQc@e%^kngW?Jn@Ji4oOUsF{FLX}N> z?G*M2B=3_(?5E{aPQfRG0|;FIv*_tl{!3e!z^FaWzn?IiX(hO@R~OFCFN--pj_#xX z(CmK%aIXy5x8+OH{8PHxi~}G@pwsX^{VJCfKt2v0@}JPgCjuvIRE@gx_VlX{Rn#d@ zH{>M-AU7hrBlrBTXa{VX#1Hmje*as*8DQoBP*FF_ubv&57`!k0?4|NQzNzPoIebFJ z(?@6E_bwPZyY)9Qs1s|@`1#*ZJ^8zs7>s|Td@lVTl@p`s&b37(o$fp63czxM6!f3p zY`hN+zuKEBM|;XHfNUGxA7 zKBI3qkb}!Yb_~p?`=-MXZr+cCe|)oU6?1qI$IOpst6>=zpKa*xG<+gtkAJ_S1AE~w zdiU%UORh?QjNl(wB~SN#9Yc-2Z??}c^(Qj@{K4TTGUX#4oc@oV`5VFM!zE}i`=)ba zVE?Ol0uWH41TZZAtk!gjr62YHQqYhWxF_mqKphTvpN_5QL@7Q48Ro-WBH-{u%GzJ) z&k!uBX?b>(y@z1mG!v|5|755kKy5h$*|cY3@c*&mpUC{bh!yMdaACOzE77a#s>;5r z>qQ@=N(u!Q%eWTZ@ccAq6H4PNH=rOvdSSH|eaI=SW0BvyzAA&U~06kWJ$u2qt+AUfx3-9$J+2xfN3j8v_)VB@fG?cZpM1zdCH?lPDcPk-Vzcj2_ zLnNygc0tomnAl=gp&yuUCXyFHK<1^P3p)|T=RdfAmim_x?6$@!> z+P;sgG8RE8PgS90oHj6J8bQ&7j_F6sR)Sa%&gIKvFMLDxoSCh9^QW<-!(Ua8J6U@S9{I?yA7 zjO>L?y@WfDO5Jem*k&5nT%7%$>d;>tPF{~C0q8R_E*eXn3cCt$o!V(|-8qx*FGB&@ z*jZ&?hAEgWr7Kw(!_1eBFHbwANrvQ|I3 zmvcorGpk-Y*yUGKxAM#$-J7Zb*_7q=!h_IH8(ll7T68=U1Lw@mH-B+a$xwj9rDREk zQ=OguHF!SZ_=5V`>u}6|yw$Lbu>?i#C4!{vW4aHt0mXX+fgBYtok274#*|R8n0PJs ztzV{cL40nRK44~-$bf4NNQ=P9bw`>v(gw2qypq5Ns{9}=H@b5{^+4e&#`=h4oSX-G zCY8=cOuvz;0G)(VG!H`{3Q#fbNMIC~t-bXJSr+PyX>!h|%k=?K`=74fQ2zB5lqO6E z;Z11X7fKk5E_Ts0jCLF9g?)J=(XRVVihp5Ewn|+G_DHm@2j65hZ7fYGJ|;fxMV1+U zDXGSbe6yhuJi1BOlA49rs*!->vdj8U<=DDGT5ef=^P19JzUeK+wv z(0MRyLWTz$fr4blnPd|;@yT0K2`=fbpNZCbun;?9O{xzhv}y%wx@=#?7_9q{v!6GE zUD0kQnzSRmf6X0C@GDFjYm6WX=ySFvr!ad;>{L#(qBki;&%x8Q3n~hDDuV|0KZidm`I?C}{c36`=QR(nMpLEr+}QbRr#J!-p8PC2=#N zWpp@@yZP+r7xch4`&?nv6w0uf5z_AihXU9IE-i3`?gf19?C> zw(4h*=xOlb+BvevH#qgz4U8W!OW(|y%zQ!5yl;1fsB<;B*@yh`K$V}Wlu3eq=>^VM zZwkMxEqU$t*1qN&2Od+Dh)-`PaMlj$-`%SlH=>@HPVE$qDOxJex2R(deeTYIN>PiL( z@H_D&)a++lyPK!->!S)8xIN!l-PKTZq6b(%6Y0}QC;EE$A>pt-I%=ILYDtg+*dU1=`7J>V&#FiBuq}cgIvhZ z6sl4X)}K6*(RN^-CcEa70Dso(q9;D4tPRZ6ZH#waB?kkOSU$i-B#7@I)+0-e)?9B# zvb=u;$E(CK7-Jm_>^8dUMK*EmzFteuFMQ%Kk$fi(Rh8BrI_QTF<_fW+o$s)WJ;$JP zS81}Cg)On`Z*n3`Kw=hJ)Lb4X%NJ#kXX+irj^FukF)h{#MmS|o##mfjk#DYmQWz>S z^;MsApA$wKE4m?d2E!S8!+o_$a@*agb;ZkB*a9wOJbYGz~1XImXtet4{= zaqzl#jfOx#sil{lFVIuu6C^LF9Q|NpQlKEk+4}mp#isngF?rXmJX5a{HyG zVZ365K782RdW-jWnMGenue*;^jwVz&!hdD8xL=1gggEZrFjK80MTVwPtVO}2qu6&` zKql*MoC}pk;WzABmBRC3`B^!@uI}#UJC#b;*?<;t>03?siL2J@Hb&#GlIp-R<}65i zpl@Ju#{}zMCmzhXg?2KA+?=fLa4OxHAO4(^IsJhc=X=-NL&=8+bK*3hgNU#&+vv{^ zu6>%OZ-DoPov8JBbqV3>t8dwTKW-;pvJ=)3+*Z|rTCuEXl-*i>e6i|VZ1fDSttc5E zMcXQ`=&piq?hUz%Xy5yI$DL#0)%%=q|{f({9ER+{;b87Z}%Ndk46I)XRcx*L$Yu!mjoA?E1zl( zW;juu7pgv}@5@H%dbo%&h~(e0^O&ZiF%xfCfbgV>!82%{*#c$DZz@#0CdK*E!mRp` z@^2{DL*w9$dqdbW_FY0uY@m|VwuF^t?cF=Kdk4kLpp=$H-46|{LQ&h`cADzyZ0i8U<~=r6SBNS`#ai#Q z7F0wfy^xXZKh-1k@-Rkl*4`7V6Me-m2uRcQ%j_iK)$>|+XRJRYStL)pf!QBD4h_>d zkAJ4wwm@&{7e^;`y3b|@M%__ecQsFMynI_fkiDcW4Yn<1NE+HpD>(>t3KNgjiOoz? z#M#=lGNzfp=Z?9n@PH3Y-NA+NU$2`B+|z$&Q$}Y2NogdNoY+U8J)9ByV^K^q*v2Fa z)k%O8rLBoXRwWwue&YOMl-su{Sy_y>&#cE=S0U7Yk7fK#tM9IC5EZ@h2uN|t(fKPj*4iARq*?n;v-EmjtANTTd0QYtB=g!ir;r7=Cl?u0o$b|T>z7qMEG}3lo_VkY7 zYQxxoc1V_$lYd-L#;BX5k+?7glDD#VW~)QpgIFX7@fyV}x@#1*kt_0V-9`|WlF@=J zjbPSt#9LU_THtMUx`as04@sS(&bNp6n#Bko=r(EkI<1J#H-6b(Ympe|B!N{hFw+%a z26L3_QO#Y_k2AY&C@D^;;S}UgF}WvAu6<2xr=Dn5vO3A4!G>3IkjU*;GOe|%d{aN= z+!IT7vheDtlI9+ZZ!Ed7#CK}PLL{Vu6l{TuZJ4n0?trtJ=lBJhHhqPdyDV-%;F!r%aMwhMLYTcmF7cmY{rL?ZH^)Y1#0zs0Fiz|Bf4z85U zJI_{7G^`!%ujt-ko~p-BH}U3KoR5j(Uu#`d*NQ1&pizg%6`mt-ibsNu1qs}F_WXw> zR2qYFDmhY_f(mlCCR|EP%`ndNwC^*T!AL(!D;y}$SlwKEsSDNb!h5jEU%bzjM+67) z=w0|6W47wKnL;zOvToHRier1%T)eZa&JGW##PbTx6VTNT-6OlS4Iev$B0LyS#9i#% zHwpL$ZgJ_gch=B2S!i7prGhTyw`ays;5WrgT(1?~q0YmXI>>eh`ZT3UYhKwU$KkB% zbXYSgzMeIcCAamCtl+Ofv21Fq>aD)K4vxwJ{Sqp3?*ep!z-#BNq%8O6JNYf$u=pW4 z6{W}BLT5r-0VA{v$HGq{PhPjd-Ctfs+krLXPvarD@s8mlR%qG%$PE@EfK*?_RVkzV9BbIrw*289>5R$Fzu^x8L)(NB3-g~B)C;d$JCjb2m$tGHz zCWR_XmW`dYDc%ndFn_2pY4Gltvn#JOpBV_3taJ$;EkkPY9DM83JLgqO`Milg5KFM> zI?-f3s*Uw7XttE%N*1KGvCw&$N|Lw$HDfgi@HEe@c8U}?Cvgf6@#xEwdBAm_Imte@ zIC*Vc)BZbOp`a#FF$g%fyIz_Dpjjt zE6^|@EmytXi*$2b8GcJ=9AJRC<2~N;SAjczrq$z8hzJQDdy&e{6b<^5OOodVo-PhB zH65vgSo$(Ubu{H}-44Z(9J@|$_wx}GAN~t326G>S@LZ=6c|G^-eS9GzDl^Y zovG}8=KvVT+vyjbYF|N>NmXvDJ~a{R58hrd6diwkp~2d7fB2yH8A-S*V&kUY@S|d7 zh)@tiNX^I^m`U>~Amq$1YJ&;ij8v$0o!)I2<8)n)jU=3y?^z-l>-vBqF3eXzGK7%l z!H+xYQAt6681L5a<9=QvuicTpA9=-{`1KX>D*@H+i&_ZSy$a+_gBe_=I6ePCClK?* zZSul#1ul-+{wu8F8_{sANeTKb8Pi>_OVrnoR{h0ydI0)#`0MUF%wg7jDM8IvRh@cQOFx+BlrxeTo8g(*QtpBh zlz2C5P0HP&{u+}~ehcEPjBn2I)_9w-hy%u(P6PS`7oKvIPk;2=hK*nB^WsnGicWxl zrml&ZqgVXA&Wj(dh4MZgC6Z$%A!WDvod}^=i45m{KlT1Tp;;T}gaL8L!D9}1xXr3T z{3hs!5Yd?MT+J&O_2@UWPI#2khnty>SG%bNdh|{A@D)GheYapkteqA26=?K0weDQ? zZI*uzjIhx>W*xGyDnQgxDD&d9SOV#X>gFO_3%Ej;x-wXp&I3ZP> zl0uBhhGzov1x8?&f_&>MdArw*-M0Ccb@mqw6=&Z*KBq{2zcDGTQmpm~^ z`(&*6)VgV|eAnE8-l}ZEkJm-}`E@MySTT`p2}XSCSK$Oc`KS;^s|U~Uy-0KGP5j>D zQ1UhzUBr5JwDw?=I+>rHZ-TgCwPcN!e(iSCt#`Lwx!g-BbmA~(jkpn$CJL?dOyZ(oYW1*l1?uzC_hnPX9YOl;I!EaygA?`xwG=tJGIgY}M$p6|YNze%|Vq4~1{OinU|Ne2tcp7%fj zL>EE1%(PLS3>&immg`p1Fa8F|n?1hUuV0Su`p_KQ>IBMcCjGj-h&a%1A0LfbFf!BK z{pl1-LEQ_?WDV*pg{SmaRsu1O7{=W1BHkJhXD3XrLBDf&`AIhsBs6qR7{A`y!t+oq z;sH=ii4brja@KGM(fzKCQeZ`34}Ge>w1L;%1&m&yu$OP&Khk;PBYA+dJzPT?jGtd= z=b75?fV4)Y-?Gpg6@YSvr>dcft#F*ArI-;iSmf5^+76HT>sk{jdk@uzpf6g&^#s&~ zS}YE11%}c?Ll40WK2A4aBEgm9RYDdz1(k~7g453?u15{i$g6DMEjqKEeK6T8di{xZ zC;#9Y2YP0dh8|G2CN=tPW-(l7gksg-k ztiDTfLAAe{xzlln7s)g8Ix%rQJX1xJ^(Upl-Q>GHwmqMfM)^pX6^cro^`vB(9Ff&w zpBto%N04^tt&J2Zk&nzGq##``vnW=Vgb2xo-37$D@%su_$a{ zy_60Z1a`9WhlEu;WS6Yl{4Tyf2rn2nPNrSC++;M?t`-Clb>TKwQ<-&nxg}IuG&HJC zI^gVi>zYf7n}UB3_xpE?-nRatCgKzhi%$DNE3l&c}^H_&3a#G5yR9bS^+!my0wESrc(kgDE1NWTy* zk+y}GTRj>imsDGqt5IW1k(Xgb+EwSHFAM#Oe&hic+2~YYOV{4vmyG9j=bSOr^F^7Y zD^BGJRVAI70Y z5-h&g9crRFvA3_O;R0-x?@AH4vd%p`iUk5N5wo9PIsIggI!OaYnTR;4dC;M`p)tG>Nn@@m%8{Bx8gi!=MPLS+h-}LgjDxX zWE9RsYMHEH!DO{IW=vk8mE9&uG^+p=p_&)XHmH-2q9b0TK6_FJywA*Ed)fK~#N=^7 zLY~##gl(NwzldzJcGpe<*v)s3^SfTUZ4NX_1l= zP(m7{hmtTrKnXz_q+3F8=x#(1$pHfp0qGvPBu7GGfT2OUWCj?(d*-LU?_K}<;ja6Y zwS@7UGf(Vi@BN&PQfI~Vj&v>=tQrdSi(uf79MZ`_D<+P(=d8e|@YB*kTcA5wWS%l= z&**UEraNrV72iajrW#|9zAHLE(7%|%Q)`JB)rq*>7MDh6vdJ{nlf-4?5V@eD7Gc7d zqC=HTbrV-tFC~u~$$*DfrHYi*&apS;$x@FOjS+apdS&1?osD? z=neZgj;U*LGI_?gC^vSR^o&m8P~Vbb$Gvi^GfP3`C*paXT@}dKS}G07c!P#fsKA?9 zT!ovBW_V1();R@uOz&d$K_8Rnr|PN*7guW8b0UjZcPEwTeE?g0)ty0>;DCQakX~3; z0M$poN|kwfr`uzl4W5g?Jo9o^_7sfWsvND_-XQ4MF#w0iHcpT!vFnS}^0zls7DSAZ z6j-$lQQc!2YRSTMbNEg z<~@&zU9^LVJL`fJAJwE20pXywJgKU1`^V|wg-qFI$Z8RXOIJm=pLl5uhA03+=<`b1(8o z*QPyFVrUKIFg1i)8-RhfrX{S#`>hI$y9xf-;Hl_Q>nne7GmV8E1ztU33?+v(_B4} zcKKGY3R=x*EC75np=#95cZhmZX3P1l%-3D;IrwO;rkprB4nb2YKdG83lC3CU&BW?G z7vz=dWU!NQk=Htc>BW7{egHc~Fnj5@>x@jt9L0QlFxAdc_bpmkWh_4;N&bSoxT(WY+Y-e)pCBFkfR!d|APiGgpH)ri!6vdyLcj*)UWKC?QbrI3TfOog)AZrHz z1k2DCK793eJ8{zasQ%qIa%-QGHia?{Ti~h(Nh2@4e+vgj?^gc`Wz|>E&-+>ZisuWo z?QJ7nElShj5Sw`QZsAfkMizDo)?&E7ox`Kb`+-KOmli(xX}+Ydw+(_(s8-4?Gh*@` zVMLC+zv$6R5+8;Yo{~O&35RUUx0Vc|#JyG?|KGHgAOvDXRFVA9 z0q+VnzI1^qou`iC62f9+|4$6D6ap$I@jn{>R`^@+~uCfdU0 z**>)!*uBxaHZq`!_zFv`aarE^=B ztXTaC0I{7FO!rCp-|Gq%8BxHEPRTIHoQ&`!F&2+SsKW95_b<$zqmL*133t)fA+o1+ z<$mj7c6DdJ##H8SanmK*K@buv-#8Nb39g8lFl>I*fv%nf{>%^|h)j*}l4(0FeW6}f z?p}P}^uSGp$chKg+S)vi(#4xg^k@H+5J_)VB>?ehyck>XS0&XD*1Hm?)d zd8w1@B6!vdwB=Pindm-HIkiI>=!koHN(@nkML)LVs(jPJe=xEWRq*RG);NT)bJv{6 zn!P4MxD~4U;Xd=lgy$}Mq?ga1!4u4$h|jn)nShgc-X%O6V9lGeowg1$AP66N(j1V= z(~|dFfY<%uQEYp{e}$Zz#AT}ms~ko=RIg*|pXm)dcFESL;=jSfbO~>iYF$AH1I4Z948w71A@fmupRe(c10&%3BtTKuz=AQn_! z`XkpUG?bY;m|cpPV^$yM2fu)ORbW!9f8Eda+Hp#HB;Et(08ewQUxn$8+9NT!6nrbm z$|=>_cVck{Q)8R;8($shV_SUS(|(4n+WR2V_m5pP^%zpw8f!U0saM1g$YQ3CeNc~! z%;iCe90~?>k{L+9FdDsYB^62xXrx2QrV)5JD?he5Vy1|+8$|Ul#eh@h=6-t2vK!md z%D5v*z#t|{aIuuUzD6+MxQ`4^!B#XIJH5Jp1IHJ?q2AAOF{2es)&&Z1*sv&$D(D@sa)SK+7J??F3YNr9INKhH9Ux1{&IW2&@pP1M6VdL)**(0q3Yh zOH0G&(GGZ$^Pqy`>g``B=sUY}t`aOF!S0O>x~d-2r+`nOW){O&e!mvXNf^hRRZqp| zE$Q*CdM7ubudjv`7>>cj^g7y~t$6#jUsjxmeRwR49n@0yKSG=tmMsn($#xxg&h**;=Yffh#Lay8lJdn9=Jwy78yA5%Rlxrj95ALX4pJ_JX}kJL=VcxRD? zB~8*;{>0u0{AK&#ef{}Vdk!y+;PS-p|5)t=*|-E*qV$iu9*8TR=6W53H*}?S-WfXA zIbLf{NY^+8m9E5`Uo;L5nHMYZiKBS)h!6?}d^Q_tuM!cLaB=3te>b%+=)V`^m~Lu0 z6Q6Usmkq$uO-GjZx&^XTqG>NqomBZw z{P+VE(!1R2I$HiyQz%;c&AB-7-fKOYa>vgn0Nu&@868uJHN>-21OQvFz2TJP3A|rx z+0|hXsUivEI~bFS4vEd+7Y$DM;zY3^JMuNuu?@2y34qO3Y2S9n70@j6D%vI^ii0}H zrg(iq+SaS@_i^k8$-NG0M*Kd|!QM1Is8QGIGDK3mVH=4YTDtr`t?Er9W$$4KximLp zYU?==`sp?i7O4$LkD-pNZ`4+3>>Hx?Q%b>Fq*b_nA2P2#@2h?`l5t0nfZvUEBmsMJ zHZ^-rD|g(ZIe14Q2+J_n>bLW1yrEngjd7cy5a%w$mSZmM{Tg|8=C4Dwd13%F$unNY zXg>DuD2r5IJg!G_%^IedJ^*f;2rDBg-)pThXx@%H$|sv`*Dg zOf``V5yX2-pz`}&l~!wM7g&DQm0sn3osFVNqfW}YpITNiV$|`JO_W20$WoGCSKFF6 zS3&0AfUyT@coZidc2838CbxUs%V99e`sRE~W;t2=lD3^C=rSzCMm*?>FSBs1VxwafStFb1Kb(q<*a$^-9)Ey3kvS4H3$?tbky-!z@sh(w zODoUW&BpH!(`U%1)-g(Vf8Hn4IXe@5(fti38DGjhRaoIC(tZ(7-2!ZcFxCp6DRqyX zijYsq*|f7Y{Y!@;!10_~zsmoWV41bx9{lbVM>edkjLy4f_66#a`;R$NgtKr9-ZF~A zqVrb)(b4zyupfwlyOqd!q?#fFAmkD5(esPuRmtst<2b0&*wf2TdczZ$!7!qe?b=3c zQ0h$7`zda&>esN^JI=UB-=tEZ74epvLRfW!9bECg6 zk?>I_IzUdhTmmwFyv+ioA90A*(K&Di3Z`>*0bsj&=%+JWvo=nZs9!iT-vIm95oF>^o{B-=g!H+^(Z zj+nKCd1-OsC>(u7z_ zi=Ko3KF6+_1kzq~*cN%arpoAatqEOKGP&l+Sb}{8C}j~iZ5Bm)dS+3XG%0P#18HD$ zR5~cVag8?4E||)wALg@?=D1}bW6cPSd*#vtMrjg!4V&dYuJX)Y{vycM18=a?g&d6W zp0?Ah&jYvmLCC$G+Qs;A2PPpueyayQp5m`c8YufD|>rF#Z40ZOA zaHg<5kPvx19%(+`^k3)T>LBMA%tZ){m>*# zzJYzc*THm+kf)2Go%}!(;S!BrBo?AnCfQ$cuTl6j$6;d{pwpHIapF1=MtqKrfU$e3 zMb;;NE=7p=qdu8-Mg#%}RlN}}ocPOaX6pdxMm*42n1UqEjbMuU!*V}z(e83DFvf_D|N2+8 z(P9Q95D@*t+`l|wQXCCbN$}6a zg(c<^&;39I-o!W8?+lR|emNl7&~a7mx%SkP08#=wYq-nqjZQq4p%cJXbnuG#D-w?t z#*v-%!wPHv);BmnUh8SemA~p(BreEoiTw|W)qgzcN}%p|Av5anPih^j0e;mzn?_)h zaRWz5FnYTPY{wMKj$+_wcN~m(4-8AGg z&P(n0&2V(?bi`tJLUw_-`oV92+lCQSbM|{Y;`+n)d4=OeyZG?_V`Y6#0-s5G?Y8sZ z`IYTmvx&=AW6sZwXThvcmald$_>t|;^8Y@tLOwoa5-VUGINqSxF-A3eUJnV^A4&Dl zZ!k>Z{4S`0qfu6)?>O*Qtn8IefW9}e_@YML3Jkg(ZXpYpt_B&(j@D;Rf0X(Pzd`@L z%?i!^r=pnwGUU1`Wt!~2hf}Fw23jXN6K}Rtz}zFN=oeAbHw(IaT{#Y{;lS^(4y8En zier2iL$!$+`S~j!59a$z8$aN9`CWxC92941LiqRgL(LXt%YW)*i#t8jeh&D!0jZYp zQdin_A0gOt{2BNZkfZZO6@%%^yvtMuHq$BDANWn|E5-H+Ly}ul#UG><$u2ye{rZy8 zu8rU$nL)<(Q)7cP9YJQDLnEPx`}(fCzJGZ7bKvnb`eH`S515{6Gi0c{`Q*9 z$+!cHyBTyN-gJvq46A}oHCdMHY4XUnyCnR{D(1l~o~AluUc(D4Na8gEnNXfBipN9E zj8k#VU$IXz*B|zE_wA6P9DF0Rx4y|k&znZ&iV7@|KY=}5+7F-RrX+Z`?S{UQc&|gq z?RDD_9&zbEulhAOd#M2xn}4_)CGL@TJky5#otuZZ06@TFWq3XzQUXk4tUXn^1lbd# zc->U;I#wmsCxw}(BRPrG%35^2vYW#%C=<%~7=Q-nEEl$=O(5MnAC^crwK@TPE_?Fx z<6Gq#5zS7$VGcihX8nxgQ=i9C8=hTGYu$#!${ifpU2*8wSLJMDDj$%n_AOkllZ^Xd zx$s_tPp*UR;L7GbW44u%ykkpNhbkv+TKot2ne0k;lxu}W6%#F$KdaChbO;Po#-;6@ zve&0mijR;*Q4?83J}iF5>y%dOBhga+4MGT`TF^B3B0EfO*O2NG!Gy(dcdLYdmjHAX zN6HY^J7!LZ)e`P_Jw$%!6C}x9zlOsn$q^!X(~GllOfMHR6d*ID*Yce^rufLA@fJfr zwkzt(7t4zqWxSjBW2f9EWj#$QcEm!we4$*AV7FjAu^5USw!bfa2b}7*tb6W15tS!S zM@DDR`A;KHLqu8#*mkOX0t-iN zCwtW|20OebQfoLJ)tL&?C3w|D6-$2n;)B!06b0I(c5t|+xZ9D65~xpQ{ohAxsWsHLruk8?Oy0{;=IdN&Wm)19$M@JL8u=jYSk-87CUU=vfTj$CjOrPq}AYD>Lb7V071X2seIArfh0QY zKoCYcgzWjB*xHEG;9>gTe)tg(sPzOUq(-Ljq`-O?*>^_l_Q4=_LVP21bP;X;22M*Pt$p?UBERficL zZL&53-f15Eni;A%Iaqecz6C}gD}uK$k3KD@srlTm89}Mf#T|Du2vNy(BG-{IMzn%k zDVV&p)u|$WhV0}cN4r;wY3L4CpGt8xrfE~ot1l8L-d%mTSX&IK&NYG*j*{6W`ioi$ zUEG3nCPTNG2%m%W?!8bJIymH{Q zdYZDI{?mq~!Yj+WXh5jZX8M84{6u=oeZqR;#q;{DnsgQuyWRUy9%X?~LCW}TZAdL{ zX`YJZYvxe}!Oz->L)UAaVDAdm<+35TRz_6d(#OwV)fFnd#&2sbpsj;H3MMtfkToLi znu#|;ax78NWjUn0sb&RsHdHZ`+QKA;zows^6Eij&O44QgaQV_iH1*K1y7tj28qr{U zV2FBpx)(c)hNtbWUG|11bcDFpmTaacj4Rs->P&gYw3GC5z8Yz=ZQd38*u=xJWA8G? zxy3Zk&5C)Yh#+{^u_M#wHh{$6qa?(mdBQTALT(t7v|I4$C|jhPnq& zxVZLz*vrkSPZs&2`6ww47n>zU`B$Z$a*{K$P9Y_Ve!@m8EHmdcQKu3aHm`RWcBE0o zatWdN#g9u+M}xbh*wTXP0Z*(z9;yc2pGVMf^y}X};v~L@uDV74?vVoABUaJa?w{zg z5Wk4pBNg9@I_JqH7#)XixBugi9Bn`YP_I=0?#!Z!;pFzAJko>0($i}#d3aK^%H41Z4h2V4Xyi{NIfpAW81Edbx~b$ zHQuidP?XPCZaSZpW7VH`;SSc*N`96mMHSv>9s{)RsuHfrleCX1FX}LP@!#S$WP*$G zlr)-JvZ0!rc`CxHFzKtd=78Lb$8|rU_EBUtR@wg_G69rMXp|8;mt`2NpWRo5GQ3wIqkkM#4U4Ev=sq|j}-QJe#zQIgC7nO7P3 z8+9Toi4}Pi8HO$^4(&U^o_M?-c|03Ew5M@A(UrC11~DNGOUPx7;FS@0h*+11uc4K5-I`clon3bn~ z$H;K0Q{sL5acx6t0&ORG8q}cAHe`_rx)7G3YBY$`US_ z4*C3sjVHB^%|GjIvQ~;AuNm^K*zM&ZW61cpqi2U}Bp19oJfRW*K!w%0U{hFs7ad8S z%4Dqu@1|BU3UX%#4Df-d?CoqOZNAwxNn$Q^a}ZK8+JPpxK;~H^Q*Qql4X|JMbDWx!r0-Kpy!KqJ-MQ@PcY`fKAovMEPG=My!H8j1ky}4 znk4)CocTdICkxigp@Oz!Yq*+N5_hSX29*W6{QNo3JdblL=l2V zQylfA>7cHt0x7-GsAZkCSC*Q(9$NB-i~7ztYBzTHwKQTiBMFzu52Y%reZv(FWwr`N zksRV#B_(v(@iW=CV~ianoU`M%GALMvc1IDU1Gr=+*=;_!(LRj?&@wuJi zhOfTQHZyLhG4%B=?T8AGkZcz z!Ls(k2`et}pId%Nrkgq8;WoS{)fp+XsI9`gzx^=mQI2&XdDuVI8f16>Jz;h+Tkxe+w(t!B zMsvPqU4yj1^yt3)o~E}WPzPk4w;oHV*gDVS zhA%nlP(?mv%8qZmo|bLpRW!WXKlt|^(<*E9Q&>m$nY&fLc_%I9$-z3N$CD9NuBTBw zRvq18&N_z1g8w`+<=v>ba|C)uqlyhBRw={R$wkxr*H_B}r&Hc8(^3C-GcLHBF~)oN z2i!GNr_T9E$H)nMkJjM&cNx}3RRFpYnSX0pnt5Zz%IZV6P0cLC*DR*E-Io_0b>r>U z8q}GhxoPR${6^BCCQ6AAa{T^a5>N)jhek+5&#op9ki`1>B!(^~`-B%q64E|>`-@Ng z%VLvyO9l3R;b%VDydSmvzYB_qGpvHkX9(rjv*Zg8lJDh(Nl*>N_f?l^O~lkkAB@E3 zZ0;x$g+FrST=AYCtHsveK`5cfBKIP5P?nRSB_;q-t(FK?J1>g!Cf75u)S?|jrqE@_ zglY~8Ija~Eji}$LINF-&l`SU99UId|DCsIrD%-(S2%fcEsX#AIJ@jHbA?$Kp#+qYJ zZs@7b=51yYFVZ%>g^%_WFdpyjyfNR^s>WP!dK)Cm^YPq|v2+zN-Z*0uEQ4_Rk;brT z@;7Zu7br3SgMI zXWv9_bu~iPH{hs;L7r$9+qq1J$;e4sH>)Q17j)K7JC%z0F5TQ9yIkeN^hP7i=EHJ` zlYyLH?Wq5cUq$XPNsGO<+O7qsEVumL1w`6+%GI8TC`{w38^o!OqHhkbH$@~=pLFPT zbv*rjtnh}4vB9(I!v$B~wrC&Ht`KED6KZ@OE`+%C^qJ@)p~DSQ3;($gSv8fmg5_-N z7w_vSWUe>j^`^?JTmu>oeit2!d_wb^s$eF}NM~7kB@I{>UhN`sWJl0^9nEY{jw{{K zj$N=mqZ&-03!PW?-w_7t$jjwtgozD9hrOAHBJzbm{zL*A|Y_%u^Qa4T~b?^n6Yr&#)R~pLXXL{4Bp6 z*E-EJM=3mPg4aF=5JC65j9Ops_(vZ5h?}bee7~78j-HP{F{FO8;Nd%=hb(8MpAQq4 zztBn$koxW6GZTeFL{vca7PHa}B}*BD==-7~QiGPY-}Lg?Fyo3B)x6x;i;8-x3+Uy& zOLb8zCf6!$+L|SNq0V}$)UoEupb-{D64(uQ`JS!-c)DK}To3A?02AaU_P$bAW2QG^ zFPv?MsXDca744U?T-(nFu4t5pd#Xa={Pg8p%if*?)uvOK3FV(hXC1O=f#~t^m2~z0 zz8X3HxTI}UbnRa~`xKY7qbvV8F$UoWnFHYl(e8eyg{G7siz~BvpoY10(-oRkK^^=nsv=Te)&eo9|ux<5+(e1!R6qB)wzMZg@ww**N>g$ zaei`l|3Y-1?f6;sXEMq>d*iekI09M-@q?+qE`Adbz=}0VUGQILHX*XLHYvKJ7rJO5 zBKr9CqW+SoVx?iQ$POdivV#s*kX-|{26MAwTUtx+xGC6;f>lvBod3AO#$7m z%|H0ZDQ)V;+ww!p`5t2umIp|Fcug*#Jx8Op9zvS77xrBn(*U-`WzNG9&=ujXKdErB zP2_v{%QyzRwr?=wg{4NdMl(HCG_hKSQl#@OLE3vXfD4YC@9-N)O_YHPT)8X$O7FAYn!TpN*g)o!EAn)aw2Np#GbiR@`U zU7IxjdMhO>YWP6Hh{dG#d_icdEW)}zMOxT-{#F~)&aoMN^9rY^vGtWrWAwBP_1hjo zb_0l&aMn0cR8vKIB+YS^Qere$wr`M&aYzVmWO`D0aN!s^|b-D%gapeI62 zY@X?QBm~$X8@@~CLV{u>k1>j;>W02@E)W@ChckEUEmVzs17Q>VsdxN0F2le0stXQZ z<#);bbJaI4c>-SoBQE34f96k*h`tX+@i%Pt-?dLNR1+MDiZ09LNRyX#rgA&}h?hcs z4D1O~x<OTV{1?1d3&p{eJzDu2ibkm=Fe?P3&G&@1^w9`_XcEj5N-wE$HH{ z76mrQ3o3&>w3E1kwL(mRV~m1oi#5NQf&yfNkX^P}X<{J@q8?(ZbB6m43f;#M9-cVy zl>GfhYT=B(q*#sry4MChBPOlLaWv_@z_*_=E_u&iYqW0N~XE`jkG~fyT612wDC08ukpuz=9|$Hr0@{mY{p)gix-{#zukF8=uAn z5MDbQG}Hh#VK4UhmuCKF+IfweuUtC;6Ssk}uIJLvm6s>JHtfQMRyR_5G(`svMY;T& z+!0HVuBR{aptlhXm?5$e(+b!=GQ)*BVsm3J_nk?)&yyj=rmpJ_zr+OF-$=G~CEjCU zz)7W-9H!a14>q$rh9Au1bkuz+#?E!iZ45SL0A z4YOz4yLl3gJcb8eH8Wl$fW-Pz1g?=n{rRI`?i1x}xL*n@-WtG~15e2TxFB&u@9n}+ zFrKQL7jH9DVd({#S zgL6RqdiPv1D^oFN8?AJTn;GSBq7~19O`*ta*OMP5{xo1iUTyg4;bIOoOlGrGDW|y9L~20* zV$g>jGjt)tvAgxS3Ph;T-<2o^U>A{B5co#69H%QMV>L~>+*eBgi*mAYl+80}53&me z6ua&1%rB=CAC?QQnl%8*R4Ar#$8R2J>qvlZ!op4t>6D$d`-{OI!??Kk*}Yj8CMSrq z@0jpe&1zqW5o8%N4e$%#scXjhzs%cBHTl7SBX92Eedb|wPa(fdyQmvb+Jxa)VaG0^ z&p*h@@hH}Hx4ix1=o?5hiu1mUbET>J8&2+U2yF(7EO%=&Xnv?$g*9C4R+MpKuAbbP z3wPJnkgMGiOJZby$W)rQAF9dx!*v zTx~=5SdG19J?HUQj}(sf-!*5}kGgJymrl%j@;zeT9kAF;Ykz)-v3^C%cfkVBVjAdU zpXcvy0oE3}$Z|-!>VTwVdp8!xO3b}<3{+~ZeClu%-zALc?~`%Khs+XeT2HYLZ^fAP z=MYukHn&ZK2Rz9Zf)_7;?%kkc2SvzYLV@_-Kd+Q%JkpEE76tUt0bzj6+M8`ZanDy3 zV*UCO^MZZ_^g26z2%%>Ut964Ua9KNO-YqWA!=UV+IiLS7?zk^bpYA(H+!w~_-w`>yETuapxk1Ud7H0+sOn2{VX+u} zqb6XGdbufp^r4wqiUjN;fo5sASK?zj-w``Ol((ul(v~B@KF`lvv_id^)a{+iMZ8!@ z_6M8k{Yhu+W@vuy%(g_=c8U9xfaZROLc6Bly7s*6j*q6?QD6{BWRsQZ)C!8-66x>X z&PU42qtwelRhG0V6+)!hRX)_ubM5e$k2CE>Oz{l=ab$i$q?dEsl| z{7g`3_iXln82yb8EnCa6hMe-W9wd&^?6`ebCr0K2zmm5Gv+r)KBDIGOJLi;iHju9d zRGi)j|88K5Cy<&a_Tzy!aK5<=85EMHr+T`Z%(3}IjsI;{x4S*CVS*JbCdPO(H-UeI zXxpP;-c91t9E7Luq1ZJH9ProeP2B{*7q-#0U%2~DCOTLI^&tEFS3cv{d~(|Z624Le zuQkA6x7$T8Edgcpiu&vQ1(FZUr~+@vywIdG^pqgrLyA9WRSkaeg;sU&$D}_!pDW;* zEm?4*G65x69es{%rSPZp2lSWt=g&`2I3Ft4L8;ZHc?MTk5CW}OS|T&VQ-i!I?^1C! zdV)s<%>G0Kp$i|2X(n;53oWLCj#0N#h?qweeq;LDe16hT;?c)n(+@eT>pIv?Oz{0ADC#TpEi#B{ z?}G5YE+^pF$;r$=fR%bR35#wQ{hsym5&0Q7Dfgs8NQ^p}q4X|em#vzwO6d4%-ltUA>jGxf=84N5Li<1rm!|=gq%P zR{YfTg~9s`dM0w2LTi}>CJ0}LY*6>7$%-;w^7IzMRsL|o%n}Ma`Yxk-yziI;qd6DZzssgYFq1!U(SeSzsk^18$LN1 zZ-(V-(&OHrqp2L1_v+b-M01Y{b;HVKE1=-+J7{US3?qbpE;@5#MG#*~juKT*in;M% z)hlgiC@#O4p)G^V^>vP;jx}m*(w{OS&8L-AF{%Ffu3Dn7nR(;dT^=uBAQ=HRoC;0V z1W2wJN3fY3T_nwF%BHt%A1$p^Bf!QISnhTh&Yq0%@j~d(+tqNkQxQty#fD%l$F9*i zoZp4lH;J>~=R3bQpP=JygkF=~KmseFikJ15Z81LkqVyehPspvA=NMMgY#u((gKpe!X$Hsci^q5RlOw3$6@4o+bVC zv*v-;_DeEuzkky(7SK%2SQe!IE9lX( z4mQ1%Q~iz^m^-I`Z;ZrKm_pY2y*{k}WEm?rawx7Uw{vg-UX(>2-)XSH?=1`tNV4IF z)WDbdCr^R`P8V4#JQ)^+m_{Za=F?_9UQy|5EFy`FFxa%}k|knZiXnd%N;K=!cbM!( zvEjZz)_Di6p1s-mWmMKP`+)uS0v~&^MD2~(xgiykKIyYlzfJ5QRQlML%ads=9*Ck` zY#bzCsCPT^jn4CTUJIX)2c!CFhcL@AhrA}?yialCe%9&pqKM3)aBX(fjz6Zsi2Hf3 zHZr3~^pa<_V7BO3f3+C>o`}f&C!pXKi?fr_e|TYU`M6vDJke+7*!SAj2(3@buC>Y? zi<1fYvo%eFT^&QdXq%!e47}mY-y+%+)lI(>c6;PKH0V+gy^DrRrA&tOTbE0BKO5xl zaN!%my|Q1e7xZTgE^Muig|ak}d3WbQPI1Nu{W5oGp__hvFEb0^mMPw}NRNZE-SO>% z=XdXXfNWTG&)$?byC8fAwwL2PwzdBYmI}AjA7c~WS;o2E6Xt1kr^X|d7xarNB=tXf zt>wNOBsYLwM>rFBO$G}1f8SA>1&r`Q)d`|FsR~;!M=loR8 zWvd$DsHby6$q@)%>voBy2peBPn_0f3siRG2!5y42#fX$ z6_Pd^9M2@|HChGUcSNsdo>BSxL;;`Uii0srsdHO4gMy{Hhr38 zLCL+;-4n6#KEsw#H3Sjj_jcQ9?O@j4h9k>LH_zblg$qJr50n*kPFe(fuKsSCPcL0Y zacFlh)7c{pTn*V%}7NR@Tbjq?THUcER=e>hnp z81ZhH^?a8wyU{TK6yWB7pEw8x9X7rFw^a!R7Nka0M-ufr9ZMDXOTggzgyvvZJPAXjdL7=_3fAZ*VIhQZL78d6|%Pa$~#4)Y}mR))osd&!*K4Vxjo65 zm2A>^mM*#n-#+?@)Uq`>`$X4NJ{7FqV|ks!q@8|T`xPDXQqtloElIQJs>KrNR+OR! z9IF3P%8E#!2oXaFGc~ME!cYSSK%Y)WQH9L){{3t3eyoyd>Jw;p;=PI0rV7Xl5KmBq zvma}ugffTvm51>A9?x+bQsa>CZD?N%c-G#=rP_?WZs*CUU6k*zV(TaeH8viQ%-~X$~8L zZSX0GRmQLs|AtxmhGtx>TEu>{DGYuA=?i-M10mO5BzX#3@tFm_QWdRyLv5R0G2*h-J*=5`&9xdcjV$i|c;;uBj!Oi1l^on0 zc|tVOs##Mfvy)M4zjqxoy4mg6y+rPZu0~YHx~5#$vcO>ZkAa#X>Jw(eUY=A>qznW4 z+1{~qs~cCf7b*lqJPoYIq9n&na^{RJVXs3smd=)@Nbb_zCEiNhnHi9nWui24@`{tx zJcFQvKhR|{yzZP6iuLqo=%C3EbQh(XiQwNqTFr{r56OkOsLkg6^85KdqK($j(LDcN zXLY2_+y3LVN(NUtO-*Ckh$`c@-ONwQtD|TBIkav%$HwoX^D|a~!NrVow%d7(x7Pt9 zb-uy48x2gw?kQDr-MIh3UPD}v$$1TZh++wdHICmOLcW!98_Vo8K+eR0O#17^ z+<&ejGdQnBC?8GI-_ER3-K^+JZ@|fnnE6;8=Mo$yy}vmB)+W0*VPiVY3U=J)8*whA zxv*TI-6k_`ASnOUfl!bj53Q`zLCKmHeT~8la%u1OhXeYU%T~&&5cf#D_J*i6!Zp_q z6_JC|d}xhBpv}}%CyX+y1X3Csm|0{riY4H5ufHL#;MN}8YUX~QU{>`fyA|2ZpP{lq z4^mzwL3N2z#PNC$FnF-G;AOWH9Dv*1KVaVRz9+JF8>LymIKY_d5V<)TB9S-HVcA=v zy(U8*15ZDzkM&0y6y6gwI{Gz%(dJk%w}SJRjN)yDR4>I5dB@RiX95PkGrv=;C*y>e1$g%p;YK$)u z8Tn6Jkum-%yXLLqn*qBkhEZ>c<4Ei049qzL$t0$QNU~4zdk>W9*Dp9*p~}TS_YmC8 z9o`tPV}}jww+Av3NbZtp6qA{H$>S9{N+0Rv7q4Ja&-@?qn?Fu*HXi>%lmp&I6Q32N z;W%#3ZmiBU%;xb4u!bdAc}?D>kTByl#lI_)dFw)|Tt<)r{YY}aifDEZI^#@<3A$Zp zLmT@Nf_FJ*=;i)`taX--dfg)~f$*GO9pA_-l>SJ9op>2e z`T+U0W?Cf0HN^mUQ(*z+! zS-9%qY!XWeUCr0dcxsW~GjusF%bFCTcRHCk-7kUp3h zZxzR)=aU?X&meqRfo+uRZD|3@>FP;-**X)I3tL{;%3!g@$pM$xTmww?6~qU~!~s1* zoH}ClSZ+R)y4-GT>v}VT(=PeyHb8?M^FqACZ;&(t8JW%RnmHB%{Rx-*F!ww+o4`d| zA>b|jo;I2AUyb{JZXyF(MKeYcFv7So1N?jT?ack!g@td>COb)6N|!uJ{)HK0ix`Odm%;=_Ui=6ffd!G3gQSUhmLDlym z<_yz&$qvB#*rD1>6i*{{ka@?G+9XvZP3%WZ(U%K)9>4XaOrK)QJpJN0Mt-x`gDvi7 z=7q)8S4@xE==K$rRUC#-){6OAs-K$rc~*x8$#?rV>~L*ceJ5iVTi}CLcrPT{AQ}58 zZ#ZY*;3Ax!w5GkukwIPMTz$9I9XY1NsWd~o`9)6CTU6wLC_JzdV4BMnI=k38oOhDR z&gu4&vHbNS21GezIOS2l)5;oiw>$7m4+B2=oH8?;St~n-eS|k?_Xk{TuK2Lp)SwIh z3kfM0Yg|YuyR(7Pn>R>~_!2CFIgp8)o#n*GO4?b%YZxx*JXf(eqvF^2ZE`K328esN zX&-d{TiUr!c@D5(y8g6zf5;lUQl*q%@Mv#soTW=<0X^lCy(XujpB59kyY$Fd z+Tfj;<)o$k4o=va0sB5!mU}>vLLV&ZFk~@G6>?=)xvMsOm6&;5+|%02{6v1VB0I0t zxV7sg%SaymHw7aUoH9u3F4w0bsi1l!ox?YgsykktG*3fADC8s&v2+oI>OKSYpO&c0 zzS?RLCt}M>2e)ybAisy)X-rx4x3fLbuXRP;i+r9t`qHauFWm_)L!Y+1Y31lx&s^Q_kx3Bg>zEYcV~(c8=7@jA4eq_DD@fCB(C_N~zs)3bnwa-L%UO3J1>= zs6NCCyoQyukQ7K>mMXQ5e+}G@7d;nH^TmW2q-JoLatrYM+DPv(ru66i!*n-0*q`fY zIPjzKnL(0=N|NBAPc9(yD)hU8&W3=1{||q2zczLpH+bnUUIgXmvDOX%&q`C*3Il>R zs&8`NW;{N;u6*(_lS1f*U6|BnXoiKDRF5438}Ru^u#PtR_CPy!(>T z`8}@HuFcZWvs3Y+7t<4Dd=p# zBBIVz+}d&Nn+AG&>jlNz8Xu8rrkyE_Ui%|&I{L@SL_c6!4fb3rIjUro&@T+l`<~GKBMo_=)?Iy5%B)tZRgcI_M6<+!Ao;Spw1TT-EjfF z(U)jqM_>;lDE#3EC55RSn}(grxNUTO;)_qi8aRBqbH^^KK-yS@hN4wY;$A|JQv%dtS&J0)mBz;u8*_$N@~&Z@bd{BD7wV(@|<+(!$%57Qcger z_H7S%J<@yg0B<@^;%BecqKw1Y65(1GB@Uhm*?-ySsG;#+ye~gwd^Qny^qoJ$Ms8Kl zJX3iKyE3$#K|YJ0t6Ce3tqQaDUKosB*($BUj{1?YYau9fh6>1PrN^Eu{D^Zn=iVK; zFUmzpMiI}zqwmIZIUXkP>qoyjsI@b-cE}ZvJaS z3>%IWg$-}xNii@&^YUOa{H0zR0~9H2Ug7o6B+P9kiS8abt835JRno?-zptvj!uaHUNp;ixH8DqRxTdy_W_oPHOL}wJM$4_Q~v9R^AoVgBa~CZZO3lS$*_W zm)_!>V4G&-)lcot=YLeRvAVWJ8t%UBayO|}h`Yl0uII~VH?jyIYxdA*?{D+aag^sX zZ;K!Mlv)l5gczL97*sxHu<^I9X2sJ`#Qj7LkH;=_e*JRA+c&t|O$XQ}`ePceTUb9R z+awAo5Wqgm3qQT0O}Dak-COYpbEED^N2RhEFQWhOu9C2gYXPJ0mN=U@?0XfHejt*# z4$cr#(=lwy-?N3~9k2M<8eogiubzHVb|}W@>mU#(yJaq%AKc~@A%zHc!KnRI2KR;3lxzSe9wmJ7v1~% z%ecbPM=?t_78se?;UCWk@4HnO&&o@|_q0OCyuKz%F+{}IS!+sQ>dFV(jT&8TG3SW0 z4lM}!%V_({o^A@eGTtvKmEq-(c8+fc_BN0NbTtL7JU;Yy5f$O+BG2z#PRA7!R+5Lm zCSp9aVz5x&2zLpR_lZwyuh&}QO7A5gqG!e;$;(+&@NlAdjYRaW-E{Pfx5Wev7W%Nm zOpwyFHqsRz5y@I~y`o?mJQpRe&_r4ELtI%Hs=?Jb!v^pbZ3upDt5=S-$jvm_H00*} zroQIBckzu;mnHvTX-XlbVuJHn#AcbvX35^RBJwOfC+92D4BPq|iZztTjd@&GwbH&z zpiX0FZ-KPOis1Cqa?@zz4?XwCW=R&(>fkBl;3eTje{9pJe8sxlo(%Tfu^^kbGxwl0 zfhgmwjo#Hn`rSZNr1@H{7ppWh+fMsm+?9z-`7Jv=n!mHcOd2^P;^*cJzc;yDpRVUas};%+LvO zIR#CBL+R*bUX;7cuU7S&-FIfNSy^>! zZ@1)wc{P5E;!Qgdt6C}4wD^X3Um6{H`=in^-C4qDOOx6u`^jpXr;FnFjL5@nTFwl| z2w&s}PAS2r-bWhZTf|QhrW{jC)>FWIecr@I$@!x({{FH}$SsmM6G(C@D&4_2P*- zeqfumjy!;0D!`bJYNx)(7pk{=UOf?rF>2cM6U#J1q;GP}C2<{j&$PaQU`3N;#_ABF zKE{++ow{ZN<WhDTS$;_P(c(WO~F51>tQ>GROPAL^YRWAn>kL|+E z&t!1z01I79Xjvm>vu3|9T&i&t7F*9Lo^Vy`XiV(~%MEw?C+OjdXUK%!Kt2BktHL@V zd2{25d!A$(ysCKQ?;TfN0pa{DESImIMVcFyuJsN(b+_CQyMe7tAzE( zjP#3z_kuM<4gqZL>vILL{*1}3t7F;mHXERD?yZ*o)!=J4Oj1^!Xe!l#q(_+x(nPhj z4%64(lTKw;(~Sy_>Qzk9GoT1eo!kILbhc(OZtWCVb*d_z5JSH#s>JPtqB_w>qleNDq z*ijzsxaX5*45l=&58tGTwBtg-`#0Q#4fMp=a#avp){8mudPh>OgojrxDYazs*w6NtoZEV+a9-H-`#pndDE3FET>mm z{lk!VNZCSr5s{WNMYjSfqLG9{giqOje78A#)?ifosBb{IWUBgv+Pt&AD@PYNpVePz z$+(d(6*SNpWmPSyd&6mxp01%k17~VHBoT5ke}D0Twf=VXS`u_+XQ;1NPwQ)jqoc8_ zNR6dYxA-`-)nbJFH{;Eyu*-kk_6mMt(f<<63kG^$pQ$Gp_c3P<9S9}qkL-6>FLw4; zlQ@xM611^fs{Qtx2ON^vp5*rUy*3W&#nN*#>!K2tZ>4o#oT~mHU3&54L9twQh3>)g zF38+T)o1LIiVSMtV0oS-)2=~U(2_P#{Fvoj8yH&TnWJ^~862mpIMNGMf_6o_o4tq1 zcULMcG{aEOD)3OYe}c*yNWs6}*trcdQ4h`z3XUAN=he~_N#OPCcJp=-N;)!0F4as} zn*COvm7k8OT5!H}qEqy5ADj|~OQd!tbw1W%dP1#c23~ff++L*$CIFI8)_nt+{fyh- z*Q?&FG<)}4i=q7Bq&zZhei0&uY_IIv5;%Mfs*xoewk(cdNvI19)*I(Zb`ELp0%`9u z+xnbj!@XlVw?cKqltf8tS#Uj%A0M3*kuN(5Rq4F&vM#R-qcFe8I`h!jeDjR0(N0gS zv7S<{-$I9HcW^SMi7^4+vQIpVI$P@KYhvtWq+OoRM`^c2dOq^oqY+Vq>X-V+8*T$0A--`tf ztNS{5q~uxQpTk<5Ipy+K-3sIS9J13}Pjf%;j`O;ziE5%hJaxRkV5u=sE!;hAM2{uk zF!zVHDKaZMxIsGk8M9yRsvpm(A-NK!d17eP%Z*yyC)E}rb5c-IfuS_K!`KQk%ONjz zYGsvD0A_}mQE*KwHeI3J+~w8OUyYRk;bk%9hOQN<8V%|S*jdG?q1eK9KkS6bB30gz6T!3@p(7W1!P_^Ci0s!W{Z?# zyz8%FdLQTt!t^w=ss{QRQ>RdRSqru8!@T1Lj|NK69ceV6n#f3ZU7VN8)P>fh@6$Nx{*;&!XcI`B%C+YB={4Azjn@& z+lC)|fjb^6NY!LK-Bd$`xd_$$e7~rXJ`%0Z2tQA{O)*}>bQQts$&eTolD-(3|- zEh%{xR*kFC%u>a5)yZ!jUFLOlT#j2K<8iUu<4N-6sPT_p?flq2;R2A5F~U=lHCJlb zE>_JqJIdRvyw~JU-N?p1!_m%nb5K$__tG>OkEmShuHIlZkYa1LZm^vYfC&n$G4DA@ ztk8HR7u(>9EyICwZlqRKj*`46w~euqPUuFQf}rlMGZg(M-+Mn;@Ly`E1i`@Ld;j&;i9FYz1WzO3A`zyyYL=sqMZsDf;kvvqp~@O93w z{j@t7Rv1b9@s7ygm`!bTB8i-V5FEde%-2TJO|c0we54UzxEi?vsnu?}cxJ|gQ;Kr? zpb1Z~!Xf+`Tf!bc^3kniTmg6Kyh;g6qUSmx9(y&k+L367UT+DPCZVN*83d@}89UM@S7%6=q?;z#Iv3jb~r8FOE$b)WL`7}qRFK=^rp z@&s(ye+w!BZ;SOdzW!ose?F4uiUWh2Q6DJaYI!>ey!`HjliVP6U*c z)16yc#c#pQQ)Z;=b`{^1Y*lUdPMS*|`GYZ`X+_?T#^AC$8Ubt=?(MBc+}C`*miMPo z)|6RFy<=y{>3q!O-R(9d*R%#S-S$pAD&I+rr22X43L5x@Jg_>-EX!{=K=ld%064zT zbAT#5A_!j8?zbA=rwri+VXwV)!#bwE`hO*OItw(f;Bax9zKO|w{0s2@Z>Vi#s5iWI zNs9ll6j>O#-OQY(;z!O3Uu&l71a*B5DMt?{yNEufI~`iD-)U`Tpzl~7-IJsbeI+I# zXs}Ibf;}f*3tJBlPwQ}ae1D;_C15?KTrqYy=*sek*s%Vsackc?&-s-Uew6xs_2&b4 zP2}L*W--QNRfX6u^D)iVMK~+y+t9s_u2)r${W7$MA|S=X0+mQ5z3T#);@EsTX(2xH zAiD^gz#nZJR|WW7n@zc%V|oQn#J%8(yuOxMj_LL%P4b$u4%B1X!EGpuh*!;+Ck`dN8G>&SpLT2Idwpr zSOAWE;@dbjeQ*o+QR?Wx{?&rQp5~RY;Vn~?!_m#&0>frKh+qHU#}7oN@>brJ`X6aK zfa&AEC1R*8dI8lp?0!sehR%P$)mbghqCR8%9pT@RuonZArxy?{Y+H%G5m{pt4C*e7 z?6o{W80!h14I^W4ylu#p59MKQ;{xu`VQHb zwSqL_L<9{4hpolaE-b@|HCUV?sp3?3o5;0 zprMlr?I2xtKSx8z0O-Zd@k770za9!WN+et`r%CV89gT)R57VYlB}j62JmRRGcVzOZ z0knYs#Y{s-7AQRC@n8gvnrwjTr?+CiwXfI$T$mcWUrPgU5a?E%G)*(%?4a}Rk>gZq zc9@zC2QBb#xoGG(3IprqsbQd5?>T^K_Cr(ZU_0$?NWjWEk!vf3lG@a0hJVlgZCjQ+hU1lJ6xqgsBLP6YGd+& zo4500-~u&v(i0Tkb6*_|BCL9rx2(D_b=+zS>Q|=%tLOsEa~KWk%Ya}cS=o$+L-~*g zR6!C+ZNkkxzYEQa9&CeT;lL>%w}=#4@|7@^c$?#Znv220!c^hMGj*vLyat!o)1abp zl~1JQcVtMzvVcDGN6snvqg!A1F?1w8yiWs>3aLZ$T8RqOSiGgRWDiuCtv&!`SsX%c z5|BvEEEBK~m7g^FdGGIn9%oDkd&8*d{H#$vkWwB6>fViQ=Qgwx6!4sJ{%ajH}V0V z#-=E`D%OOaNgt*J&eQqU#R-a_Y7ENsH8GLLqv6u;*!yz&k1l6oEkJ4VdB+hTixylN zr$|0TNYlL6&;>|Wihp=Kp%QY8!SR3yWtoG^!?u)na@!1Q-JQ7Bg#Wpicw{jO@r)#D8|g+gCoT`e9xTc557nu&Y|9)I{)nHeWF_<2I_ct|An zk3{VU7Ewa}lHuMh+i#|BwAoSZ_os4|WNL)%O2?DLY`vHgJEfl!E2JB`^7otScXQEz zOmP5rh25^Kg;1$L(Kqf-xNzJZ;E71=gb9@$QABZl@}OHp-;4R}H$iZ=7mKhof5 zO>V7cP3oLzHl;Xh$hfB_)BL7jMLm$%yAj2{$50OwjqF(srAVQ}lD1wv!aC>)8S!$b z>ssXcX2+k}wIj6|je6GT<$C00Z*u75jI-v?i6a{Fpj#pKEL7#@W$uzOV722vf{mSB z>zLU8`*bQ;k*UFSU;AddSLejGZK{51o~q){`GLzEL<;?z?SqhcwJLC@T*~Hq)0pQK z0IXw!OdM5kstfp4zJk&Y;T#;;whb>ci-6MqfPn&z_011QAnaNdxKgeGFxwUNs#0yX z6K-~ah|9lOm+`@ZyW_r)#^ z2LZ=9hmwe+%J2t0jz?t8WIUOTzKeW3ld4(&c+0bNbdz4ykF}`?BwYd2s&00q(WpIm zJx3#empFLxSDoDvA0vAT6yY4prYTkHNuULqKXhn-cCh+~!UOSR9bLqI5m*HyTGaQyYdbp`Qvc{_4((c_3s9&23YJ4@^ z9bVZ+6JeJjV9J%?Xxgm$dpn>CEC63#4xVr-0k=&XqcRyx|3};Z+8PF-tP(Z?~Jd|0@5R}AQdL8z_oag&uQQ=3lER-z}B7Rysv{wpqyf{T=0`DlCg UOVYO Date: Sat, 27 Jun 2020 22:33:07 +0530 Subject: [PATCH 4/5] correct histogram implementation --- include/tensorboard_logger.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/tensorboard_logger.h b/include/tensorboard_logger.h index 1213f35..02908fd 100644 --- a/include/tensorboard_logger.h +++ b/include/tensorboard_logger.h @@ -8,6 +8,7 @@ #include "crc.h" #include "event.pb.h" +#include "plugin_pr_curve.pb.h" using tensorflow::Event; using tensorflow::Summary; @@ -44,9 +45,10 @@ class TensorBoardLogger { template int add_histogram(const std::string &tag, int step, const T *value, size_t num) { - if (bucket_limits_ == nullptr) { - generate_default_buckets(); - } + + double max_range = static_cast(*(std::max(value,value+num-1))); + double min_range = static_cast(*(std::min(value,value+num-1))); + generate_default_buckets({max_range, min_range}, num, false, true); std::vector counts(bucket_limits_->size(), 0); double min = std::numeric_limits::max(); From de3adcd7d41032934933eae4f67cbb0762feed88 Mon Sep 17 00:00:00 2001 From: jeffin143 Date: Wed, 8 Jul 2020 11:51:03 +0530 Subject: [PATCH 5/5] rectify impl for pr curve --- src/tensorboard_logger.cc | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/src/tensorboard_logger.cc b/src/tensorboard_logger.cc index 7ead4d2..fe8d0ee 100644 --- a/src/tensorboard_logger.cc +++ b/src/tensorboard_logger.cc @@ -271,31 +271,24 @@ std::vector> TensorBoardLogger::compute_curve( int item = predictions[i] * (num_thresholds -1); auto lb = lower_bound(bucket_limits_->begin(), bucket_limits_->end(), item); - { - tp[lb - bucket_limits_->begin()] = tp[lb - bucket_limits_->begin()] + (v*weights[i]); - fp[lb - bucket_limits_->begin()] = fp[lb - bucket_limits_->begin()] + ((1-v)*weights[i]); - } + if(*lb != item) + lb--; + tp[lb - bucket_limits_->begin()] = tp[lb - bucket_limits_->begin()] + (v*weights[i]); + fp[lb - bucket_limits_->begin()] = fp[lb - bucket_limits_->begin()] + ((1-v)*weights[i]); + } // Reverse cummulative sum - for(int i = tp.size() - 1; i >= 0 ;i--) + for(int i = tp.size() - 2; i >= 0 ;i--) { tp[i] = tp[i] + tp[i+1]; fp[i] = fp[i] + fp[i+1]; } - reverse(tp.begin(), tp.end()); - reverse(fp.begin(), fp.end()); - for(int i = tp.size() - 1; i >= 0 ;i--) - { - - tp[i] = tp[i] + tp[i+1]; - fp[i] = fp[i] + fp[i+1]; - } std::vector tn(tp.size()), fn(tp.size()), precision(tp.size()), recall(tp.size()); for(size_t i = 0; i < tp.size() ;i++) { - tn[i] = tp[0] - tp[i]; - fn[i] = fp[0] - fp[i]; + fn[i] = tp[0] - tp[i]; + tn[i] = fp[0] - fp[i]; precision[i] = tp[i] / max(min_count,tp[i]+fp[i]); recall[i] = tp[i] / max(min_count,tp[i]+fn[i]); }