From ed767efa8a102d19b5fc09e4191b712bc2f48ed6 Mon Sep 17 00:00:00 2001 From: Marat <1874024+vanilla-thunder@users.noreply.github.com> Date: Thu, 9 Jun 2022 20:41:59 +0200 Subject: [PATCH] alter Zwiscehnstand --- Application/Extend/ViewConfig.php | 76 ++++++--- Application/views/admin/de/module_options.php | 2 +- Application/views/blocks/_gtm_js.tpl | 1 + ...impression.tpl => widget_product_list.tpl} | 0 Application/views/ga4/add_payment_info.tpl | 0 Application/views/ga4/add_shipping_info.tpl | 0 Application/views/ga4/begin_checkout.tpl | 0 Application/views/ga4/generate_lead.tpl | 0 Application/views/ga4/login.tpl | 0 Application/views/ga4/purchase.tpl | 0 Application/views/ga4/remove_from_cart.tpl | 0 Application/views/ga4/search.tpl | 0 Application/views/ga4/select_content.tpl | 0 Application/views/ga4/select_item.tpl | 0 Application/views/ga4/select_promotion.tpl | 0 Application/views/ga4/sign_up.tpl | 0 Application/views/ga4/view_cart.tpl | 0 Application/views/ga4/view_promotion.tpl | 0 README.md | 51 +++--- metadata.php | 159 ++++++++++-------- thumbnail.png | Bin 0 -> 31399 bytes 21 files changed, 166 insertions(+), 123 deletions(-) mode change 100644 => 100755 Application/Extend/ViewConfig.php mode change 100644 => 100755 Application/views/admin/de/module_options.php mode change 100644 => 100755 Application/views/blocks/_gtm_js.tpl rename Application/views/blocks/{impression.tpl => widget_product_list.tpl} (100%) create mode 100755 Application/views/ga4/add_payment_info.tpl create mode 100755 Application/views/ga4/add_shipping_info.tpl create mode 100755 Application/views/ga4/begin_checkout.tpl create mode 100755 Application/views/ga4/generate_lead.tpl create mode 100755 Application/views/ga4/login.tpl create mode 100755 Application/views/ga4/purchase.tpl create mode 100755 Application/views/ga4/remove_from_cart.tpl create mode 100755 Application/views/ga4/search.tpl create mode 100755 Application/views/ga4/select_content.tpl create mode 100755 Application/views/ga4/select_item.tpl create mode 100755 Application/views/ga4/select_promotion.tpl create mode 100755 Application/views/ga4/sign_up.tpl create mode 100755 Application/views/ga4/view_cart.tpl create mode 100755 Application/views/ga4/view_promotion.tpl mode change 100644 => 100755 README.md mode change 100644 => 100755 metadata.php create mode 100755 thumbnail.png diff --git a/Application/Extend/ViewConfig.php b/Application/Extend/ViewConfig.php old mode 100644 new mode 100755 index f9cb0f7..15b2ecd --- a/Application/Extend/ViewConfig.php +++ b/Application/Extend/ViewConfig.php @@ -25,46 +25,74 @@ class ViewConfig extends ViewConfig_parent // Google Tag Manager Container ID private $sContainerId = null; + public function getGtmContainerId() { - if ( $this->sContainerId === null ) { + if ($this->sContainerId === null) + { $this->sContainerId = ContainerFactory::getInstance() - ->getContainer() - ->get(ModuleSettingBridgeInterface::class) - ->get('vt_gtm_containerid', 'vt-gtm'); + ->getContainer() + ->get(ModuleSettingBridgeInterface::class) + ->get('vt_gtm_sContainerID', 'vt-gtm'); } return $this->sContainerId; } + private $blGA4enabled = null; + public function isGA4enabled() + { + if ($this->blGA4enabled === null) + { + $this->sContainerId = ContainerFactory::getInstance() + ->getContainer() + ->get(ModuleSettingBridgeInterface::class) + ->get('vt_gtm_blEnableGA4', 'vt-gtm'); + } + + return $this->blGA4enabled; + } public function getGtmDataLayer() { - if( !$this->getGtmContainerId() ) return "[]"; + if (!$this->getGtmContainerId()) return "[]"; $oConfig = Registry::getConfig(); - $oView = $oConfig->getTopActiveView(); /** @var FrontendController $oShop */ + $oView = $oConfig->getTopActiveView(); + /** @var FrontendController $oShop */ //$oShop = oxRegistry::getConfig()->getActiveShop(); /** @var oxShop $oShop */ $oUser = $oConfig->getUser(); - $dataLayer = [ - 'page_title' => $oView->getTitle(), - 'controller' => $this->getTopActionClassName(), - 'user' => ( $oUser ? "true" : "false" ) + $cl = $this->getTopActionClassName(); + $aPageTypes = [ + "content" => "cms", + "details" => "product", + "alist" => "listing", + "search" => "listing", + "basket" => "checkout", + "user" => "checkout", + "payment" => "checkout", + "order" => "checkout", + "thankyou" => "checkout", ]; - return json_encode([$dataLayer],JSON_PRETTY_PRINT); + $dataLayer = [ + 'page' => [ + 'type' => $aPageTypes[$cl] ?? "unknown", + 'title' => $oView->getTitle(), + 'cl' => $cl, + ], + 'userid' => ($oUser ? $oUser->getId() : false), + 'sessionid' => session_id() ?? false, + //'httpref' => $_SERVER["HTTP_REFERER"] ?? "unknown" + ]; + + return json_encode([$dataLayer], JSON_PRETTY_PRINT); unset($dataLayer["user"]["http"]); // das brauchen wir hier nicht - $cl = $this->getActiveClassName(); - if( $cl === "content" ) $dataLayer["page"]["type"] = "cms"; - elseif( $cl === "details" ) $dataLayer["page"]["type"] = "product"; - elseif( in_array($cl,["alist","search"]) ) $dataLayer["page"]["type"] = "listing"; - elseif( in_array($cl,["basket","user","payment","order","thankyou"]) ) $dataLayer["page"]["type"] = "checkout"; - - return json_encode([$dataLayer],JSON_PRETTY_PRINT); + return json_encode([$dataLayer], JSON_PRETTY_PRINT); /* // --- Produktdaten --- $transactionProducts = []; @@ -87,11 +115,15 @@ class ViewConfig extends ViewConfig_parent */ } - public function isPromotionList($listId) + public function triggerGA4events() { - $oConfig = Registry::getConfig(); - $aPromotionListIds = $oConfig->getConfigParam("") ?? [ 'bargainItems', 'newItems', 'topBox', 'alsoBought', 'accessories', 'cross' ]; - + // general events } + + public function isPromotionList($listId) + { + $oConfig = Registry::getConfig(); + $aPromotionListIds = $oConfig->getConfigParam("") ?? ['bargainItems', 'newItems', 'topBox', 'alsoBought', 'accessories', 'cross']; + } } \ No newline at end of file diff --git a/Application/views/admin/de/module_options.php b/Application/views/admin/de/module_options.php old mode 100644 new mode 100755 index bb0a054..dffc84e --- a/Application/views/admin/de/module_options.php +++ b/Application/views/admin/de/module_options.php @@ -26,6 +26,6 @@ input.confinput:hover {outline:3px solid #ff3600;} $aLang = [ 'charset' => 'UTF-8', 'SHOP_MODULE_GROUP_vt_gtm_settings' => $style . 'Einstellungen', - 'SHOP_MODULE_vt_gtm_containerid' => 'Container ID', + 'SHOP_MODULE_vt_gtm_sContainerID' => 'Container ID', 'SHOP_MODULE_vt_gtm_promotionlistids' => 'Promotion Produktlisten IDs
vn-iB?6)U+VIAsbVIxfQ8XT7x+J$9D_dR}C1}lsnP$={zFs$7d zo~@r}Hw9T?7v^CM#&*-&mMaWd4;J4DmS5+pXH<_+*ywd_$0-AG)ZNco57s)6!Qjv7 z@Oi`P(?a|E$w%IpQ5m?FF%WZ0D;ie@tgo?~(3vAlq9;@cKEu6ZV(?3EFhQuy2k)>C z1Uh+=?v)sXnFh+0e)wUpgKWJ6;({BMTNqiiOsI&g30FE7Lj0mI-;#c0!Lf*qZ4qVx zFrPRJx7;&Ex5M`wB-DM$*eHD^Y_mdHV4IX5EkX!0dx??txeu7@%+Je9Mp#l0=jjIU zPcC5E`g?!UZKSD}g#z0kl@=d2TQFPZY6*P((dt<7$}cA=J#*a?gobM9dZ@6ka16XQ*RYN{iwVzJ(pB8pkhAf4$U5XCqjflRfHQSKnlBv|@$_f2 zINww26 =#Xm%dcf)sV2Dl8EC*B8@j7g#*yL z_Hm?j29n)8dkx9 }B+jao23~ ;_d9emq1 zn#CLn-#9$?ieLnn3*zGEG1zA3CF|aHITN35q}ScLHtWw}^s|*pU1& 2nc z<0Hr8b#x+J`TssX^878cUMh_n-L6MO_%0lE(Z}EV7r&0Exjg!1^VGG#ZS`u&(qU zb1CTZUhUxlU!a^MS-@X)_{hCuo+c=B+7Ka*`C^QOb&P4w$pDm0jP`f0XE@b=&_JI? zqM84#q>V}yX&pEo{nuHo*lil!UmNhwF$Cbb2v1RJJdTGs*e$}sCZ{nWuA+iYh8)21 zC)~Yo)?#K^@}IG)v&7gU!Z?x?$F-b~ha4?@wk^XUL5@^3DLwR0NnZ{7i*ynY5k|Xf zaH@v&6OaYCDI1KD1K95-xT{6Jb5GFOjnKg=mqn+$!SJABa<)#;zoeafHJFFRsgXdj z?P^W&SMou+J&BpGE$oRYl>0W|PdKgOE;5v@z6Qwn6u114>Bb=%n(K&lfZJg8wr1MA z8RVGnGgrSjjb6Eu?&c5!GVYexUZ&v@i5$~kNr??|Cz&bm 5G&8oNHYjd)fGa z5qx 7Kk64`d@Ns5r+Mg =S$6frvkoo{p@V;We%EU zSx)^fr;lQCY;^y?i);R2AO7sPxJUqTp-<4L*cJo{&DzIFnRFjkR~8Cg(hbefkkF)e z_!lu#$dx7V1;tsn00HBt9;P5^5?^Y?%X!P5QBT}kTF!w-hKr~59EyaPfdS%XKhD=g zD6U>roMy@c(q-x%#mbazoi1(LT|rSi0EAor&!^#d5Wa1m$Wr5i@*=^hD_!g9A!OTl z(ZDVy$^_4%8g={TlJppjK_pFE%3J)MUGIS1_n(P2jZ+3VDm&r9ICd2zMEovnH7Cm_ zB3a{HsxqHbzv=z+c}l)X1-OT=BTTlG1scnD{23CV`ib~}-x-#zFS{%%3dYHzY)gjV ziVZ=9k3lz(G(m&~$}!VG)u@Z;Xp3{@C ?KZ%|xK018wc}zf(LK}r z(X;qE)_HU2^Ux+{1yb8<0&5?r)X{y#sXrQ26pH|kZuhbUa77wAR3c^M(G!O{k?A1! zqFb+$w~xA>zlT!H>F_Wq-Ouz>k63qM-dg?k**P}9=`1(V(|BA=@<9CDV+*UJ*~S|v z0i1m*t7m#kXDujtyUzYufDg& Oe5>qOSsf%8;ksmhN z1eaJtfw;$`F%w_@S6;645F8u5A^`j*zy+q7wP<4@Z~W){1xR-k(XICS75eM(Cb<1^ zk>Gtc!8QJg`Im5(y-2J2BOy~PiEVKT*?caa%cl>zo2Zogx?I2K>p@LjdK_A7mCmH; zO{%?1M>utOH1%4Qd&-mGirCUY;+f&Rh_m>0%M){5S$q995rsFPQ7Iz1$Re;IRPL|j zjpcJ~{xZ~5)9RmfmYV%?%rJG)(^<&R&WL>pPRplV=nv?_CyGm-C*P;83aokuA^jzJ z!rVpN!pGU8WKQ~>eHg+NQUHc6R@Ia&B#CaBUWw_!X^7rhn^rufHrZ{XF=~3tb9=lM zxb|LRG1ERo`H07}UqAmjZrcr`_}x3 Wwr-p? zSb1#8npxSo$a=q1k}cqMMe_*w^i&BXWT^ P9H;T-$#0=DGBjeGSJW+7~3P14VVN{gxKuy$-ik z4T~Ht*;9B&hxq&*s3&DB`)WzrMg7Rhg}}N8B0$evp>FmSkvk?^NyZSRU1@zwdF&3& z`h@@|p=u|}&*me%<+!ahlE^VqXdLg^n9T&7Qw(ZJiWGku&d*w1eMs3i3(V}siY}?A zairpA4WQ-w?H{Gri ;j{xh&4i*siEOH+mQ2UwM&fP85{#2$cs+`hv?y$N}C@a~^KlPn*8GP1v zc-l0r8U8f^%rD|olP;RZR(fpF2A87lNGWdgruA@F25t<5#qHopeyG%wrrfF*tR9|J zZ*|~;1dkmUM0~)_s>`(cGI**;2Z_F|Je C)});GuL;OefcfXa#Am#f|SrFt{%`wr`cT2JN<-UsAk>rU+nd5Q&XP z$O2lC!G^3nl~uzKY)BXc)J2Sv i ;S?B#fA=jOzyHUsW{E_D4oHkiH^}TNlyD!l$PkP5NFzK=xK5@{gic< zc)b#(sz^{{8MS7s078C#pe^n?4nJx&_{67i>!kw+iM7{N&C2iVB)y8Rckqf8F4*0u zk32#@b|3;RL^hEQ4$`G5t0 wT7XVFx`HUdrP_PvU-WHFh6U&iS+K$tW^w zfT)=WgcY~4SuS8xH#8|8X1|61CfQ*>?6Y4>`?~2a6VT0GH2rPwBnH$bj2A%B`MZD2 zV5PQ`%1cb#!$CRf8?1UNAfatj4*W(Scy_7SWGnRf6V*jM4HOOw0uG~-V4l*fpizp@ zM|J23lpD_-kXVE8u#e}8Y>(`kFLH$w>Qfp{A@0+fl4#*@%1UM5#Z915X_}|9Z>xb! zxOvMqw3xGKj-<2~qn5G)H+r+TnNL22gkV)`8+rFahA7D^cvxZe;`ggHyiGLb0uTf1 zeXTz9Tlci^;*_OJBy>6hb^HPP{z^v;Z`rT`s|#0}A+ 78DQgX*C@DJRTnye dhWzsV=UtN&zT4Kr%L3pSO0amX%Pos!vu7d^FVv%}cBehbyb zsGnWmGXBYW4$*Z`MX>53Rv7hK`2`QX+LL{rR*A>}!%tm}Q7?#=pw6y=@@P+Tx8imj z@GG==ax>o&o@ps=90?+D&>gsos*u5G?$8%)n-W&}w7UE=BOF7xC24d&^>wc&oVW(( zeW5I49sy6~PqBKfjzj+Z38fkk!8HVA&aF`~>NtyD0s4xF&e{OyGje=P=N6_Bobu3x zvwJcfH{hV^t*vqwE%dEqCYXc1+e{ce8L=`Q>0?^-8V%8ckAuE5dGuF%mjXjZq$>v^ zNE^vOZ0y#xZZqV2=tAZ6>JK$}D_v}Juz-L@EQnVC8&*-VLact~Pu%#1h{RSK_Eats zcj`}##MF;SSU4<{4T32hjD8EUIYZL%4_%tKPD3~IeYB<^9tGKse_Pq R8XN#kl^pPzAYrC zz*M!d*24twPooso05>D?P(u1BzKg&$h?GGJ=Yzmo4t~z`R2%6CdVen#1WTB(-0pf( z>qwEKdD*$y2`=B>hH|0+-xH`Q#OnL41gP!&)e38MdcS^bmd7k|s%drNBi)Joi-*jY zwlh>lLmBGz?s5bRM_Pf9X$ii3>PTj A_~;si=F1&s zeLb=~F4k|DPniqS|JmQ)dq4evA+BAreP+Kci?^q(56`(1%w&;i{o&O4U2y!BP>kKX zQmwnUsAUA7ZgiKkuk8}u#PE!!B3963r`EI{1^n7&=2ONeW0IAZI<^hFY(&Cc@*N%R zNS!4<3lm;Xp0!>JyGIP6>Q&Rb5qyzY6eh#|rdU>c$fKvP=CX>-_+^f`-PD_Ha*}05 z(VyK#ib*LT(X`@K#1&x61#v_3b} } z-q-qP!{@FRL>Jen%5#qXBzrfR5>QJRGHfMSzhtr`)>ie#NMt6#adK1A)`l aP#yvs7vt+od- AT!usQZv zWecu<@HY-jL_mQxBra=Y0Bu%EgbY-V%s3arhl`a>XXr_-$h!4PL7nPxKoAyF{fy irC@HTS6g>7_RSci_{NWI`0 mR hy!1EG=jA*c5^VDe%TuJ2HRta5E zzN3JYGo>LwBFyw M^@91k@KtzohWE#pT4p*Gc8PDlx$ImQ z&saR~dgDaas5>@v>G2l?G5sDIf@&wcgOT#|MDzX6CrQKD8z{lXSPf1G@3nvR;lC8p zqXRR*7j IuEB)5BnykRwCyVk>fZ>iR!I=W&IkYReOwZfFw4uq5hv#K z8UtfqKp57Gu}`b7%i$ri=83EY#`XO=E=;ShUSEaNf{4jT;V0(3wlqyJD^az*%ZozQ zKMZEee)Kv8UKp1h0&E`iDuw;+`CH#B%_=B)r9`PXUIv|3|K4vW^6Z#}rI*23=B1j; z4W5r+;uWIo%oUgptu1@{uq7;~9E;Ivi-lQ fEPMN`Onc=~Foue0@_Ui*eM zi*Lux88uuk(&4fLIbZ@-no=2KVn9pr)j?kvTZnF~hV8rKzHMQ_l%u+qeMjr^v;u~C zqil>Xq}g5tciH?nkKiS; *50^x|#k{R %RaRCof+4zEZX> z@Jy#1Zn6q$v;FVHRvSpXO2*q0(Aw=FsSk*cqTFt_FyN)-)L9;$1(-8xw{7=;F5+NA zt5g&(!*;nF@p^I}Uxt4DIN@|1$G@-(AAdcD9 7k`l#Lfq#b4_~aW`Q9hSCKkVRHlDIN z0UXuZ9JbtipI{bpIa`GlLW#yM-}fo68-90=V3RIPs(doudIg2pndH=kEAL*N*sa-( z)Y`>Uvznv;0cJd>w$#ta^3N?bI%`4@j47UpZWOJZ!PLi0V}B=}m&4+@?ZuxwUsg6> z5COSnTE(Zst7D~TY{o6`<|b$hWyF{l@c9AgCG7WnEa;yU=`wJg0`2F2>ByywH&m!0 zK!Os;D=#B@g!PHabNRlJ{jd-Q1j`^}-d=|v6S-|t<9r84mXq)eL*&>Ec{g76o-_N( zoA1lbWn7UN=aKYSkbf@v<;#^vJ*4X{i@MCT+0873^cu(WlKR-k;>|wr_IxDoi88P< zzIjSjs|5M;2@jxNPI&{}=w5tB(mwps``EITQx|$d)YJC3$Ema0VZF@7&jU;Oc%ZbD zt=@Be_6dfu3)7fPbY5%zGy80%wZYN`x?-TUQ6J1;oE$!odSO61ExtcQ50+3?m^Vcm z_OdOgxFKoqpb1Q4k(IqwFXxP*=hgn#CqUR;Hj4Q3v4xSF47SML>O(daNh8k+CO6In zzudjVt?S}n`eSpB%C$VV`Fjji;d{TziS{Y4Y^eSFUtWu{xe8xdo(zIQAkzlQmi+kf zad<;U^{y_WLjh|X!^yQ~FqOrYJP3d#m<*AU8HSdx`O)KLss&h`s4R>%;eYDzqW-2@ z7zMiDooq1>_Tl8Vk7d8N5Zz+tuGM>i3N8)A@gM+o{eEvfdhsPCm)q@oZvl$(_?!Sb ze27l{kAIf)j=m7l;rpTeDeXjoU^j$?p>yiM384ISF 4Slz|1-UC&d+TeNW6cmw=r`&AOzcs0zz z3@$4Gjp_WE>~0A`g_#oc<;k1Lf#YU5VKe&@pG}Fo v!kt*v#>T*jCF1cP~wS1&V$d w+>_Q#HzgqpJO^nP@*&$TB$=JDBA{ z)ZFt-^$B_(*v7&?S!}C~X-;Zp&C9qB+5+WaYO8T-E!@eLejE;z)fa^W#Bm^h3bsit z;y 2FpVD3=0s%orlW( ubz?{g1dDb7Jn59x|r<8p;<{a{7$0k6LbU`dOJXctAuOfpQpH}qkfRS`XfjY zEF$(d5Pnw)u9KbJh(B?w4^Nb0*G0IXSGbvT!Z}uwZ>_ X8cvULKi7G)8PbM7EdIV3Omad|q2&l^J_gWWNhob$ zaxHns$WDyhcMXMm^VNYH2Zt$9a{QhaY~)H^79p>CO^wt`gIC%=qZ#oYrnRl$;V8VV z042`Mw&hVz74)+{*mlN5v~dKkpFwU{J#Ao7jh-Zth)e?KLJc`Rf!9TLkM)W{0uEa| zB~{u}Ry3w8Q-0!ox1_cT1e9gLSddQa*U%ljNwTgc+m)?S!)_ipt6gAlz4hRY)nBxJ zU!<^vTDH*`llINsYS(JQ28pgJ2KcfPNd1_}TIe`34O6P=ZW oYc4OQ_OIVSEE*;ER _-`G7Y6Mg-E~>Lns81{%~S#3y@E zG;yEQBXP?ANrwtA`Lyya1NgnCfPFUrBbgQWxn-pB<42>0gjv!i)@okZ9Gj<71Nki1 z>MJ1I)r5%HUtsD5W9bKWSiQlpDCYY;9WCUsR2T6;>0ad{G+pPIySrlGz!JuC{$KQK zAEz)2o5E(yFw5>7JB*$ATqM~^5Pt_!^4b$QV5$z6Vde*lY@H23iHLYoP!f%v^*+bF zE1Ry-*FzQGmdvC?T8qZt7;RqPD`x#WyLC_M1XL|#Yh$POe`%jjo8s}1RK|$lVwseA zsSB^9u?V^<@^lU6+snQe>4ciVs@hKFM1pNYdlg^%yq2D`9b+Q5nX>9gWW*K_257W1 zVMt#V``Ws*_o$x6(~o55@ivJWR1D$21xEM`^w$J>kfd9AhE{=DYQu44S(r1B&9BRl zw<2W`r;M5;nHN=qnpU0~^^>CGlamBs9o$h2pBKZkPe51U0uk8 (7m}Uh+P{9`7f%FVs4|U_Hba(Kh!Zuz5)suBc22eUNO+( zVmQ1~Dvr{wiN%e)9|;qFzP^lP*VvUK0GM_2bn!)U;v(I9`f?5`V2U^>-ErjlpLLVW z*LQ|VQ&|!81V@PieS)WzRt2(7+p<&unPImpI`n{0Sx4N_-DfH@07mzppX!@^=)d6Q zIYdy2c?`}L7PfRu@z^XFsyE;=H;@jei3);`C&LJkdz}ri<9+G0rGF5h$Ml`EzVx&H z{M08n>-|^x;;BoYNURJe5|BO`Hks_lo5+1ll0*3jl9g36T{N$xPLp03I2xD5#nQa- zHSz7uDiX7YVf!}HOFz}ANn!oby?Kji7y=nin6ROs?on~U=oqE=ZD@x7J!jyTg+^#M zHoW)Nso}xu<>So2&R;$Ep3LioJ2kCsZBNG6seaI12ton%Ksnko`^`{#3!=CHt^h zh<3|Q=u^mlVT@H##mOHvzlPAGMf^docfDt^q!X{kwyQndmgYmH#?zFj7gj%eni%=> zm$VP_*<2rh-Iym2s^yO4iHphHWy?aiWhQ#49ep>hBtzwm>-)v|HaOmK;&a%w!44_A z<4>N^9KS~aco98)eZC4!NvH=-$ynz{@pCo8?surVO4xzy>oKb-I0ae-_G1?Uai=wp zY)_r?Hi|k5P3F?o5@UNGsg~~%pjNEODvGFvKZR*gPuGH*=ENIj$XID+X9kEW*sDyj zw07!sJ`PH)vovhV$Y`1|N?a08b9KnnVZnmF>3J;&QkaLa9DZy082b6RyVk@fcV$3} zfe^lKzFqZeX9|cQn{<|q|Dz+^3Rzi7909yihksa?- 1*md7q&irVMg*o)A zTx3Rtfp&S$e8;UP^`M9eeoWxyuRu4WL?cod8~)!X>)0bGh64~kWwg0`#? AS=f zpyN;YW)=^fcyb=5CkCD>&?nuVkCbX&)*p>$?;tVrc3BY9@Q4GNTefKWNKjQ*F~38M z9|1NAeC)OQ_9v!%ki}b-%)~onV>)ELOxRV`0UEc5Ay(HL$;Ll{nogoz<{_{@`fO*8 zyr8p>PnlFG1}9sr2^zG!Cmk=H?x~u#BdWy%i#k#@3x&^DbEaPxn~fY8q>e3}SKRE{ z$2g6Fv<^wEDhYQQA5%5WKxCmPm1)~X74>?Qr)gPd7KfKAjQD^3x;3&I^B=iEdAJQZ zaWQCvIRQ-~g0;BEhg&-OO=*yrP5$$NTFgw0LcKopXt+6bDCUz*(jjzMiDyf3fvu?P z-ElX99kbGXdgW`GG^lxr =0r{x*v^^TFRON#D`+c*zckg(D#1?7G7g V=UjLu9AK7$149L8n4{K_`Q-C`t} I+^qu-kE96*T zh9qP`Q$De|n}G2}WgI|jGJI55*Re6}Ujp{Lz6r+FJ+{X8f?TRJ8lqv|cackr%Ryub z?!Uq3-yT {g zS8;6H$()(bLepA2rBVnmNr+eWA! kRGDbaD8&Sz`MjV=+B(K{byq4;hffa7c>sEXU5P3+T{5{_HbDPiSEq<+D0 z2%OSxO2Lt`d%>vxR*md g|M-GM0ll1XH<=^sq zf2)HIIfjI_Y4byoKLDe$2*<|ZJ%4DYMruyg=K-xU!?F$DsjYGk)2M1NO=Kc)gxa&? zVr6*m^(=kFW};9WAM@dw1*;iX$MNNJBnTj^L4I tKWnl>~zd=5VoAO1Hu6aOG%v>)ny?7MmSgR(0B XQR<5uV3MBySyeJA&Z|oOcj9{~jUqqgt5KJ~MDP6VCG;LbcRy9zcwx z7J-Hd!1jb9Fa|xy+rhMYHmOBq;G@>lx+tWeW>#`A!Ilj&=@5pZ?qA(_gd&3Z?vK-l z@Oip}JVoj|RQJ))$Z+89DOD`a>}W~^=4k=iln1Hoz*M9qVSO7$LY~d+yR0Ihv892< z+MIW<4tnQmHJ`HdB6=s7-9VST@+wbkY!{j8TQ^4CvQ?rfcz%)X^jq6UDm#r+VYK8a zL(<$iksLIvk?Gsi)hEy4(-tfpPq-7W<~jNYs!66zN;h>JaYN!_dyy?>-VTlh0^StV z$^MO_>Ewx{jPtH@q8d*#x3~K9_RpSE6g?&+24UPjjm^W5KYq7;ZUwQyy}0(KNOe4p z4sc|&Q}%q?)$+wG1I**)*%ST6_mK-^_&`}rqEv(1yP%0tb(0$GW8~!txM_92LMpE8 zg@lKfkm%J(cjbsOa(4;A36M45CqDL4*t!*?4+5SR?J>2%Sw!ET`kn(3-Q0Vr1*Vt} zHmDk#)tws$lmQ ?mN_0a4mow%=jnp z;`akRGWtplZaG6VS5#(f2#h#xNj>p*+1nA-ELj;zDhZ7~D4D8@0{7n>2%Q`BHjt=m z&+@47HUIr}AEGyCVpP*ut|Y*u=mBiN3WRF?skUDIjk0%d5#=n210~|+i}048wY~Bz zN^THZV2_%gQkz7cua;P?MlLj7q7NG@v|QLRuUfpa!DfnFJst}#X1%E4<4yWe5g&7V zR(xB#=5NQMCUc4hZD|V&W@}I@ym#7a0}64;RHK*FOL3=;N>fptxr>IOz25a5d=Ck! zCaRUYT| wQ2neOODSEb5|W+ZW3&K5QAwKi*j1Gqi^1Nk82UJPzV zDW2S_{&wZ1^BYKf53&|T1v`Z0XT|6)#xW}HRF0EKd`nB0P0VvZlO5zxNbG=dHVQ#P z^~5LZ?4&LjHeVi&q@l>?Jg1<&gp%gSaj}@9zb@JxfK!~XBR^LRhFp2ec8G rXduk|%pOhDaO+qJwQm=-z}LKVr` z*F2edImj#mg_ZjhQ%TfrpUG!-RGcKCL`_`{fnHJEhWG{a0~ABj)e2j;?+SZAeU8ck ztixd^&Vv#O9}He{jfof}&lUW}mEO*p(Cwjerxv}BywRVB5d_&85M7T2M!&(rsH{co z9sfJ3Atr1hITDM3;S26XTRoWF^;L0O)nqfQ`MB|zW|V_Acnziy9MBP_$mc;zWh#_E zJho$^`|_|3bB2Vx2vu`q;;_CJL=t7kP-ONuwE7p!3v~1mkEB$@MPi{$Q+-HE`{sD1 zH5-551ODl2f-TI71wk>^nGwgS-A;~mqRLkV(l328WOP7EhDxDgQU6ed)#3mQH>|PP z@g;!f6U}91e-vDVD45_1k-uknZVsMcN?9*J1B!PLoPe{g1>mCkR3F+gj)U`ode40y zUZC(0aBP+n{2~(! svU*w;Gl&XstI}QAF2E9M{#+q{6dRjsBNj# zht)jpuQKjKSdUc;l$h;q&@<}|d6r|M1$-h_&|K=Xph9dw&&q`2f5sx5`_tV5gYgrd zcA^p!Egv3Cq?r&l#?P`j!)8e@3>(nKPWmTW*V?#nk%oK9r(kLId08vu2TlI~=AKfXbYzS)r^2m46u4M)J7B z7#-bSX(YWq&J*JkSrayFhK$rfw8QwQZzM`jJS3{neh#z{ha5KA0sTOyG}9r?o`HlD z7~ihZy%wa 13A`LF;wIEP3VO z879&9OEIu+{>OCOV V8Y0jA7X1RRRQPInpiLx+4u>$K)0D# zKJkpjLPDpZ1ZtBR&}^ce&9a_8H3J91M24W1X|%1~ywwnsGU(FB;JJ9c$n~y?!{=)^ zgo}`~In+NsJTZhI@S#GiyEL{xD=6d*N?zbzW |Ja6A~ppo;zz(ITlgwI4{pMQ`TRkVL~jo@l%52uP)JIqfqf zXL_qz1^u0HT#Kvy%8TYWzC=9<2~V|bn#Cgg1(RHhiIr$+V#frR<0nQ9Gv=;TaEvb7 zNs-v!>|+ -m#XAGZX!5lCBdjB|M5|HR UcUnZG zZaF&2)sK;mFFqVd)>lC9B{lg4S$@)bJeZA}b5T~9{Y)zFgB_pLJLaX;&r*`?#zal2 z;d!JT+uY2sY}MGPQO9smIC^m0sf(4Fk$kDT2IN>v-zGgo =Arw?nyHvv>ln zJ7gr)cbI*{y+?xs5x50d_Wq_Fg=o 7vxT$YJ&L|55 z^vW;#(UT6g=rXUSya(jq`Xo?Eqt#0PK>eAP*diFKuvP-}rTSI>Qok_wkQ8n}-Z$F< z2L&f2a}WNmnqfPSbpklFIGnpu`GeUdBGo`CuEE z z(&OkYEH_T4=Jh|J0GQSifsN#q(PU!UZi0^) 4-;A7|Fsx~B ziKE$ K$?OH-bV zW?^}SbOV&3g7Q;Ef+l&URFduQ_ axZeiHT-F>s8CLYvb{{(6`&U8+EC7_+lDegKE0qL>4!5qO?4NagRGOt~l8v z6of(_#TPBJwR&D8;Nbf&>5LA&FH1LTwyqYvC}YumXL;ZF&~|JyK+?V5y}pvtpInI+ zMkuM%mQms1-=}IWKQv<=HegWr`2KD&ClBeH-ogOD+Eqvt*N0<-kx>v>X-m9UC1OsI zs^ft GEyrp<>A1Zb^0TswCI6auEmB#7}(s230Wu> zB?@aD8f_ukl~lB!6s`{DsNdqoZ#QJ#soQ2%>3|NIOQ4D@WkaFil#=Psog9F~IZJhl zdN6m51Z96^3lS&M0&y 5#Bnzt7N>RK*$hru3?bB;11OOwi2LiVNI(Tz*10j(La*me|tr2fUiF^;)vg zQ$|p>Ni?w?9PMTfs}mJq+f;M0wYpwPyOGa xZq*+yNo3JcOjfKniLpg1I$X PuCp7~uFY zUpWfn5foyjC#!Djjr~&rr3XwdexDL@qxf*@`YTE0*dCkW*@@f5#5;`R?RZq{jF+s8 z&R|yf$->7AU$PSi;{Y++fG^mG5+=4pWqM1yeI;&27mH#yH;U7Ps)cBJl50K-Fm`l` za)Uig^;c}k^SU7@5ZsM$oI%h= B+I$sYUa6V;o37^`MKQ~|uuD4ga#~D-{Ny6%Z^o2 ViLHd8{p=tW*` zx*zxHH57Y lBmN;31Wv?OX z^Bme)@>j8Te8UpC(-oRL%J_!Gn|3v7WbWLfi(zaFqqG+c%$bZBRRT(qjLNZQ4e2d!(Dw^J;BkY|!gbns zKn1sEsVrF1^vgocS$f{<(g;;?pFB@3+@%oCwddQQL-TwH(yy{5Kz)4g989xoU=1k= zVm%FF;4j-mtxFqOZLHYvbu4a_vafyY7=-2Qw09UHHd}f=9vU`P(1B&l!$0@tbyqb& zgYLTlgHjX7X*pAZX4_e6k_it)8nr=~$~v)sq~;HdsmP;i;at-@udS<|eH1JI&EFo+ zk5>a1{`Nx)N39F|YAUP^*bd&Ks@`p?iG3AqEV7*w@q1UP!-`{p8POW=*a*9nKG6+y zNOk=Mfp;3D`lbunTk(dY^t81LSje;h3<(61wj>H4;MFFpVyvGC-IQdZbC?>~bAruV z8p-|iu*%_tJgf-p2o>4_uL4dcudu}S;-)Hhs>{EZZt{d+4K36PenSL?VkTs5Zn8E$ zJNi1+yM&liA@P*Pq3C05>Wd4c_Qbbi>LB@q4uR9VSr#~Vo&}EJ*a`Hd7 G-4omaSn0Rg~F*og6|h>rfGM@8VcuLZ+%^;b|k|MxHc4Oe}3Ns8; Q@`#>%B_NQRULq|ey8doQX96~!(fj9&JN}mK{lnkuy~+OlhNCA?fs2D zhfg+5`1>>`r6VY&{#0FK!xG`Unux{jKhA =%t0u3j*)6S0*rITM`kT-0085y&> z3mjB!3A#`8h#_Efxr2tf6vU|Y7yad^QT-^!mk`$n6g?lz6
~y|g3NHVR0Oe=@X~-oxw_+J($h%3Mic*y!E@ zyo5(Fq$h6PN9BS$^yheM+FNGSpDsx3$>5XQx-|+xIqY-E8fA-CDk5M(u_3TBu}-@4 z)L7`WylMVq2QRO9Vri>$CJ&>V&zX{(Z@F7ObPOA_2+PF;s;_7!Ml^trGa&H24=K}P z3E>0Wg>;7#c$A8S>l%5WaR36utr``FS6dw*9NBw5pM@c N5+22r#ITnLvSvP--**T|af?#kTp@gacF1rvvqj`s)gV0+Cu*Htv1+Q1 zh&X(-uhro4pzt`>!UKLK)R7Aix72@2smNgltz7mrfYKrJ`I(pkS$2tD7g~9wRNVZ3 zN9vXLrMRJq5N2z9;NeA@MZEH+n#S|u?{`xEt~v#dcH}2#Vt7a&)uXf=DCmR+x4t7%jg-kAWw-c$8??jAP-m|&Gz^5uzNyv>&+G&AH2lr^)K(!25TG@G4AfA4yA0Z zcME7m5i2uABFDjDDy%Vd8io)5IuaIzv#S^iBQ1WZe0auyQbmm)EuD5p4oXi-gx {Luo8anU!+el|rA z3sKi+%0=_Mt2u@XpJ`b~yVjb|0qTy#?sQXPY)OjWpQ{9kqCPCk;3Vd?7R6$i!<1Ox{zc-Z9mmsrj#l( {uA<_>VB5x6ptG$!Gg9rwV3!DnFiyf?sb_Zd)1F94XD ztWIa%8;Ky$LEzF7`tDS#cH7uM3CJTpk 4|%On9yra1##HiDL|XCY}# z!1A8^VA1G07(U`m=u^*t0?dPiTL4|HR2Q9p%}?aQ7t{|uqlje;J+)h~xa!_vbq+RL z(@jFR-UG*GUIwlB44ie`KfswMklRIP!yS|3dD!%19`aTObX|g#1T2~6yr^iQsF*Y+ z;Hb^Ngzn5U(4IR5wpC7pyxRpSC}Kk}<~;8pG0x^1ik3MzE&CLll6gwFPwdPmz~aqA z4Le)~)6u0EC;>~Rg9Efc#A7GWvLFiyYZ6XNJpxB2UWA?I$*`kxIuzUvXklZ);(~MV zC6HMWSh;C9t@TMbz2#{rIxXOG9XCUMWC>U@9eT<0K(`o$OrgjFQ*c`PQ8+sJB5W?5 z0b9yvKw2q+0@fU3Rv^Ht=%(QG_9x+#mfs>+ )bomQ05}a8W-uc^V8m4QVY8 zXSCc0id%$D#(9uZCOm(tIZ{>vtBR9CX7w1HlKq{CNkvNjxfa|{CJ9(F?Q7t|{%#=K zGF%l-POSk|ap5HdtppT6C-3zGD#{XA=?GR?IIV3hoRoW7#H?}=z}P{v*q2OuGs(Gx zGI=5w!c&R2!U@T>aANW?5g&@IaR*9K&3v6z83F3lmdD`a)?Y)3%EW_}rDc)~OQypY zw0zO4?6x6btrhMFFIUckv@+@IwAg+v3x#^I5uo0XT>~e#{0544PQ;>;K2(xn$s|)% zL?l*4pmkDeEu5TQgZr&QEZaXo;f2Ms1+!{_Q?qN~l$IxvS>;5zB(su9GAx-InU)V) zC#Ied?hqTw?|?Kbi_pOCK6oAl#xo%UoY?}D6rO_9v#a4G;kw|9rV^}Vl7J=Cbf85F z?h{hKfrMhgX7kOEce)@6dECmcne8xt0Sf{~O?6?u@*+!Ord z!VWS?z>;aN0$0gRayhoYVeOczom{n6ek3IOkS@iag|L#bk;oYN{D%VLPGS*$T|& zuvpyz3+4|)Yl{Y|nuN)+E?g<*!WxV+Nx+inkV_sQmE1N+vk6!+{~mb4_;V;YN05yV znN$v3bv~q&?XbvQ1IeB~Xirz59a)&I5ir>ZX01@LTR@`~YJ97pOfpHpl4+kZEeeF! zl_|lhw)^0Br4K_Ha?s}Ngto$FI8l89v8Wd&r;4Ds-C(xO16M3@p8%aRsYsVe0+vks zHz^E3%gI3}FToqNyI?$>fHq?Xu(AnUO~WM214~OnQcKO5brofjfF;vm4q6qr1rjU| zT}lZmyal+D@fRQ~$qJH50+vj3OgyAX%8&q4_#wE`(kIit9VGYk1}>NKmPsa=<}$-# z-mppkEL2r>G5+1^x~|>P(J_)pB>HfFD!A@Y2Q&%TGRZUt0V~ukPqi%TW7tvOswm2d znx?hWLEE z{k>A1&MY zb}E&E0Ib4|2pJdXx?b1WXv5At54UgQ@ed)e5i9GD>xc(y2Ms_9L7BjMIWG;v*rv z`)WkY;M^=b$H{nIH~yO8>*K&R_&anig@=1_+jtOtj(J$_Q*cx8HAe8QUYKd1@!M#_ zalefpg?Sz0f4l8??e^%m2nH*e<_KWXM@gj;|1my3@lVtWSp5ew5QLsdBoga8J3GfF zCnpmq79N2g@lX8^T?ID;v-5DfZQi_j=f! HUNARIjS4Hoew=&aHUO3c5DvlwqI>gI_ow`kSuD?QYyIiu+zcXWt)*-jnLJ zt*vdQ`dNwB{+O;w XX4WF1~*UZkt|y8S>a}Uw_IeP%25cjRVs6h%Hegp+>2y?3?%j|A{(eXf&$e z{x|TWej9;iS1y-> &r&1-$-kJ|KfzY }pYEf60c%LX> z(ck#)R}omzv;2ChyC`88FnQEb&@(gyZ98|0GRky-0E-$0jXvda`5&-xUJ`ELnErr` z;$l4B6Yd r^K_Vv3FprkrnbLyMdRb+kj-YN6Pw+jOtxcF-K^5H*^lB#@?)hwGx}Iy8%FGN zuniuEZS;yTcvF^jEDhPzmSxMJ2Y=6c=_QF82NJLrE?fwMgM&xoh;~!Z`2CUm*VqBh zi;gw{y9n4(xG~|e8?Zxt3p>O_7>Ed%sDl$rSiXEYOifKSjC2QM3X54`UEfT4sy*%e zbp6=am>4KfB!{pOB*YZHh|l?A_*p*CoQS(G;ynto WJF1fne2(^%t&tI#18R{6B}s za#2OPG=j{{q-@)^jVSmv2tutPF|Y?e;0LH5L^~Iqr-nq0ASy19z6Q66Fi=q^2*fAq zYys0cl$4kBz5!dD4!B+m }Ch X8ryBjKumn=7d`k%RkWH4-=D< z;(Hxvmvt)F#KeRc*k-EBkn!h41lubtV)mqqA|S@^;rQ)3x?$UVJJ#i2McJ|ht2qo< zIBGA&PVkpuKteG3OsP~FrcsVY-ryrrL#76_dGlrgSk!UoeDJ}8-{3mx#9<~z=i^Mm z5nak&YcPR$OXZwSX+2veH4|V3y1A%zFVI&_rxTj#y@UH{upp+j2cV@eFNtjMo2pa> z6xqSoH-d}#B~eV@j({~fJS+y5z0E>rdu_1M`;lUs-ZvQVqFd-YlQnu$So}D@s$8iY zMS4HFpFp1Ki J7F;(Qmf^Fy N*peky6?wr1C|wO2rLE9 zWkJRBqgY21)KR8ugpp%}UVldA#ZGyI*Z16Q`1_#${;^DpIx(>%>d0~8;Y>>H@ZdvR zcUKp<%a(ybEYSyf+%ot)dhZthx#UOo3LY=drs0O_um!ghu)ebXcYOu(D^WR!ElxK` z1-dMH*SHQ7{EhW~JHC&B0Cf$CcieTq=(z4D!q-Ou9^1wz@aL_bXsEBo-(PX=d?UL4 zVnZAD@;n-kF9{v(i@HHfS0`cXFR93II|<9T5RVgZzJh=6n60q`uRjW}T|(|1zWRpr z&AodHDgHYxCaDU%cNrj*Q9?K{<982$iE}E?>#$s;3!22gU#52BhSWd|8dtiElTPry z#e@sEOMXN 90pNhK9eZskhuCMfAS|k#^+v(*Y?gZnjD24;A>dE z4}?30--t+0cN5mzz4-Sp@Y+ty4_`t34A$FMImus5>LI90zrNp&JGWpSr$<>CZj{dh z_>52D?~ds}D;OMRD^>>2p?e6ly1Tof4cQhs18^^aL%oCv5wJc*o+fo(rGVkN5l> z_iw;$aJr6(&zs-T(eXLV>n}*DALN72?MHV0-}w6_1Q-L`)mJdzv+-2_;>C-vq|P7B zYbHlc%p;2f#aD1({d?T+z`XxDoy~st^ixlLI)U# saaSg*RlgA3FNfQ!ho)`b{)|g{<5b?*9&f@*8-=on+;tdj0sv zKVG#=c6N4Nh1Y%nnOz>sdO7ZIXl-r%B) uEpA^Hz#Zz0k-B>qZX2+U z-hui4F4}47ZvtX!FtZWiqOKNnKLMU_J;8EQr#|VVlP>H4_$fA)jN((r;JN<&2w>`^ znA_iBJ-!c*t&WOke*K?|4g5Z0XSA-N>(()g#aLI@;Pye>Uxn{?1|C0$>JGu?hA3do zBrehS#Rk6w%Rh?W?W=g`dgfUM|7C1+bX6CMx+;P}k(eblTrwu8DuKc4{F;8mG>s>) z99Q}hMgz!~T3V7zwr>4tO4r|CUbF~o?4aTI#$W0WXERkjTW9PptecM{l1cM**lz+* z!(;T0Zz5pA4!#`U^&jzh|499ThtwA|rsH+*L(n@P^F1H`ej?H?viP0^81D?bu2jDf z=fo^l;&WHxvF~7B{}7y~I;Q?Z{SQ+b>*4442JaT{Oz+|wFPNfauw3uKJl<2O7$3rW zJMf;Blt1>N_1JC%U GkG46{;X!W%T-q#eAFttS$FZCH??0s;kP zSk$49gD-G9Au(QOMwwBh0qb~wTX!z^q3y}!qc3gS27l@}AHk0HL#n(8xa`E29K?N^ z*0La^^J>GgJ%kl}PDf|wQ}|I}X!mZi2vCcCFP7yF>U53|hT }NiO1fA0KX$nM;AOl C_=gXfrZ)Z z9e5B-i*#fZ(ion@a;&AQ!{0ZP=<2#+KuKdg-%sVjXFeAJls93yA0=hK>riLp V(lfRj)&-nc1xKAun_uCqYLuRwGPOEHp-PAl3Yb%C9%=d4}r^+;pm0PxK`OAA= zeDStP1miQ`{&va;j7sIWv~6GM-AipN^{={4-`UQ@IoEP;K)l~gr{A8Z0SWs7mS;C! zbPqmvD_+u0%!$Na@y!(F;-s#B7eVQ-2L}hk{&V?&z2M(B;QhyASskR~zrus-QS{0Y zaN{L!@CVKmf*Q>lITMeSec(&ty=!s*PkdJvx^6g?N HClq3xBrsU1Xy#EXH*cKRju*?POM ZN>TmNnsHdY zP7a^bf$#NwP1lcfy>Bpt?@`1&mSOGvoB%5s8sRJ05RDK$ttw_C4JC_(pC2`$Hyau0 zMbn%g`&)oVb;CIFOw;^#+t Z z`9OLc{(W;8WblqhN+k=aJ=>U0Q(b7SSUz%3xZH18-8kypih%WA7UO73`TON>DmKM= zywkG@tOPLAyE?Q|1bbG|)HmWtW;%}h2^_zE91H*+``{}W<3Gb^b>VRxzsvvLxN+l! zbbjg5rF2aOkNuEbD2R(DlBr&7fEPQC^$hk+(CAx}aUzvE2OICtZPz^^YE;-$g*5XR z0ihjrAd=0$jI8nd)Mn<*oA-r{n>O9EZQHiOg%@1lu~O6g5*N%*aOLkSiu;7eo0T}- zY5 sf6;cP40P6?OU591=SD&q)jNkoZxcz_hjd7!n@EDfm^<+Fb`sky7 ziuL< q<)}iA|Ng=j+rca*6sSn_{{Q2nUDCtcX;Jb{H1*s4QB7BL~XyF2d zWynIK#C6aZ(V)5wRVvo$qoeR9&Ocq$_0FIZV0s4k-+=qSvVCO4{URRwA#QKNiWmqK z#rWY)dF7Q?{`Py{|2}jeHSe4^?^F21g@I2Ic8C|BS-0+u`EvPgT| 5g zJpUHVr#GO+`1i3y%W0pkBkGLLI3eT^y94Xut+;=u&wOakP0@Co|8Ok(UA_xP1G5aX zfe=e|$-M(V98LE~g>+dz!RI2?b~jQs2om(gr$~o|TThTTGRF&xrP8~pfso}ZywS0l z{FI{B%CNr^iIhvQF1xzB*JCbcnw83@ZCm}2 2y+wq>5!l%Y3##bN^KO>g>3PxWKET5PxmoGpO%Gw+5A70sXQC0+uA7I&@ z#^;j4{ 4dG zXMy}Zf@6tOQ}zAVNME&K!-i{Ke);9^k+Un+4Yt(}k&|@bHy5sZ`fe9rbkW~jeDTGP zmZ;N*1`q_FFXQ*T*B9G_cuipC58Bk`uEM (gV0_F8|Kdb4rXs?LR_;a7(H?;FCGDoZ%GLl^e zHNEKHBKZDP48!D3;!6?uEE~)5F*1A!NkdVN(KDI k_QAK6)neI~pA~ zO#^oB-0|zOVcZh9F+>%_F<@a(qr!T 9-+9+vu=cUXfI1 &~n)Sbq@n+J^Y1j~sdQ(YKQm zwXpR1bwJnpgXcpbEBz9`?TCD+k8Izu<2MKv*YDWAy|Q!HE&^0iVx~!-s#8Dp0E6^- zqU^_?aKam|`@$E*43qJRiNC~m%lhy5EZ%z)iLK#ja)DDVy%V<4>)enbDM)236PA@k zVU2s=?pJu <0#{_|nAN%b6V>+xYL zd}|9;`nzts?Y3VKBcKL=h!03T;i8K!s*bdHJt+cDiZZdl@5(1iSL6PTf$jz=;#Mb} zUTScD6it;d@S67a_6IM$^wMYOVp8lQZH0k>0Ras3OJIR7bO*A4&r>Wedg*Li+Z%95 z*NQ_!%kcA`KwqCa0e;jq17l-PF2RwsoS%e#95qefS4@b39>u;JJJ0iEnWJOaAWuB~ z^wV3Pe)?%-r}{~uj`J*a%D|dgRk+iLn@&Sw@nU-BkMP`8#5Thg&Zxd6@X^9@EXOh) z9au{7j-TL1@5jRB@cf7IzJJ0~XN0X{UiGs7pS>#quc|!L=iD_R2}?o<1Pqj&AxIDg zsfcU}h=?q*RI0-h5uLh#<7h1-MOzt^c1DX!p<{JK6lz@nQ5F?k04uVTkU&@iAp{{1 z$O0sH?fd@c|8M>r?j^x(bR u-dDB?sj`ehr`~^guLMXjGLUsd~Cr&c@FnErkP9)h|6P? z3Fbx?+XzBERqgY=)))( YzfX<_PG3kxSu z@@p`ki}Cwsct!)v{XGz5e@CDDSd87V7oShkX{ P6 z581e;FRp39sl<2$u||%xYu9dBdV2a^Xm}?vUMck5O7L5_HvGo{%_QNY=bn95Kn6HQ z)RM`x$oSYk(0K`IUD8reXL#s`aRAI0^VGBK^yzGzbS2hmnuIk}qwo7cUoV5hR4Lkk zwDdxAHUu+sIDTr> w(3MTen6=X-H0Y 9QY7}!!WDhf@s9(L4yW8 zvTfV8W8{9ld-oRke~cnAjHyS$lxd(~4>DpP1_={6NLx_;_y!Gjff@F5$ZMrG_4li< zzS{C};ohHq`l(S^SSUEIQm1jf9}VA0T$OlUINUH$QPI>B4mS(cNK2YFIV3C+V1SG* zDaly1W{pt*30Y2uA*4vy!Z~eoSoNud-)curPE)kWg8|f|f?Gk%VIB0!L3I)gi#D;X z_ tC1_4znj@`5#KZ~+a9;w*Vj4K*Oq`gam}7+LnZ{Z(Wd2Ve5PS>T zmrsX9#6sEE2b8GVL}| r04cbdbuEi{Be3lW$K&^2N=!eXB$dDl%r}+@zcPi|dKF4T# zGcc+iO1n~Jg_vh+*AnGAD_6kXb6EHu&Yui|NUg%u`W4hc*Isa^E3&c{!1TLK2;mw( zu%bUYxvwQAi>8z{eU2cnC6mG0%Fx=ll@ $MieV}GmKIlY zZ64^pxw0;|gjNiJ6*5R?N7X&$IVB8gD9c9=ED45%lUCt`UHEQkFo}sNP*opZx^yWW zWk!!4J;X+$)HMmM29{7Ab8~Zzx8HtSbaLp>p*;r<95{q!J!E;0t?SmU3tWB8HH{Tf zlOYuq75O@M?kw)XT)C-Jry9&{Jb3V+kZ8P@Y;Zt}*l_WOVa&VD+6Z|vHX#*+Ll6wM zRjXD)s#IAxENgQ*t$Ie7U&0C?>-NaQWqz)2AhvS5{V*V3H(mJg=QL_;i3*;JTA4 zl+O- metj+C<0SK#m(dp@yXhkc1iGlHfO+RTTwGl8@y3nugP`fDeqm9z2ZJ^C z?Ac><>eNYW3RzBx%Rx*^Ol;n~MT-`7ff|)B1Y>YC;t$izAF+VL;VmaiO8zu>@Zcp_ zNadS1Z#Ft~=pdLS84D}FM02bw?W!(FgD&OO*mJ?MU3?B5%V03Sp{qjrTq@As$qaq- zx!lKdc+H_hhyE!oE$wxTM_2hwlVgl?&nWXBZAzwpM)`~Q$3DS~5kiFHto)St-q4P8 zj)u;^kmeZCUci}LZp?L}2Z8~_9tu9`4237*%=Stc;d!%^nXji)>3%WAcxTR>Ne%3J ztclx{_QW6zp%Y}{c4s>Ac{uNhdSn8a^-0sw+r@Q>`ML$#qF`3+3+Q7pj@=2yUqP$F zB{el_vT A?eBKvB-&y>ZM_ac0(&Uo8a~C1J5r~<^`^~0Sl)S7Z$Z6s@zJg zRB!-{VsD(^FQQ3>LWSqfoH^CN !ajNOWW _Fanwi+W z=*W=_FgM`?C5`cVE`)yl`WcTt`lvB$)-0n}uU=O`>*}UOW}|NPMev6uCvb;?hCApp zyhiw3Fch9GBFJ dEVTEXhI-P~#2%|On zFhUv%G1ZRIIj2xU?6gMgoISWCP0&KEKAanjvl8d-#J*i<8`E)iN$XAg27Tp&zVizU z3-h4B?85m~Di=8#lU6jL)|JRlrs*XsFigb_Hqn>E17IjzIcqTxbe_+R?FeNU3mSmW zpHvwve+jDRSUqZm2_~kbSo%ti;rlwGTKNoU4+$_Qo|rIU!bB1XO$Md @mMkNTUnMa(S}ABjKX@K}LxKh!j#nHGZ#vqMf&R``G{*5tPftHjqfx;p3QP7G zLL*fbq67_ne7vM2;FLZbI_=4XnSNqgG<6H^;k;04+Qs_mY9J*dSkX$g5%c~5wSM7G zWdx4rp )8? zl?9+(hu`C6JEvfsJ*)duNt+acoOh|fq@&IKii?Zi!+8~4Q?#Pgyy@0Qv~d#aiyf4a ziCk>slmkym6>#Gx@xXl;u<2-2Ch1O2uEXv2q#ij^bk&)&6?3upj$k6k>Ku|u)VSY& zw{6?j`0&FIjX87X7+-AN`iCY=mymvq)YQ}okYsOQaGEGhPHHJ_(V_KdOCPNoM5)K^ zp3ljvwj7l6z##pamc XsiW78(D1Cz(L zNK8!z808xL9)$khgZ}PeWGdFetq;Pz4rWHJHzbKA)$MY1qX}ItVJ0G9k-h{*NWI?w z!t)wM{9MdQ#PJLWzO?4eU(>?kGqLrzD%m hf-mT5(?APpCS zHAL%|Fd-PM;exTuTbeFR*SU+y?_59>N~Q*_vDa!>VSQ@Tpo!8*x|m_K6H!pffK`OC z9P@VO>{*tle)!v{+@R53iPrB-3Su&?1PFUo6HIEQBhi+-YWexFm4i8)sjPez{XQ%2 z!EA$P?2KQ-UNT?uDSKsLg$TgsUzq_S@5MmY9Ca*Fwuxh{XbAgeGBTW%m30VK${lnQ zsY)t#6F;UeR%r>cQSV}54Z)Xl>L$`eq{;9UbK3~v$HRAE%ZrPP- JLz--9%yX3 MAk+?N09*}W8hkYy1rrk_7)}wIf=R?q93Mio- zc;Eq}Teofn&}e4pg9Bn624=Aj40|blK9A#T@VO25=@!j*r7r@z4~E)IQBhG2i0o09 z%UZwzn$!+QcD2iO=*+oui}9@I(Y95%eh(IRe?h2LK30dg`1sD0NWv$lZOZfw)l^wH zZ;M6*N((0QNBi=zeHQUiIGqb1mD?J6u{*ar&B+uMzkf_vyPq3vsKWR!fBS7?_3G8n z1cJdl6$D`F4L-B=TsAVo#tj=zg0NVwDn{5Bi+#ILzoMl;aa=f7(fY0;T-2;}4aQ#L zNE0@nstB&v;~CxdCqH?NZW1NX#TYmox8m5l5?T D2cPN%rJ ?X7N z4ca@2`#h$egK>Qr 6>`P^+>c`m6)HFh6UfPG)3W6p9BYDmKB%FJ35*+Q*LpOc z$PDb8Pi= }k<@TdmaV6y2=%0!JwWFmnrtc}MOJ&jb(kOapuHpy7% zKu4Q@>y3*`MW5~s$>MT2ky_kDyU&8K0v-+o%v)SebFsq_is`St*jhzOtI+U11obVK z=0qo!&`E62;614C1u%)*B_}6ehXs*@J{Qw$#3rC24jJ5_sfYggI(F=sos^jP89}EE zU1MV|+OM(TwzI4Zgi98l*IC*hdFTyQtPU5dw^UckPBasOW}GemwN{yK9#_uZD0#4E z1V89@zX?rqC6kS*O~TatHP*&B9Q+8v$HeigF$S52#rP=D(-hvw#;DA%sBM|_9ZtLN zK317{@%O*`T{Z-0PZ?#M3zO b!MFTfSrP~-aZHm!|0qFHeIw^G`*Tb87NRp-w7Ugm< zjvl$WxsRx-mP&P|O?;%NNDvVxAgg=#=_x5GKgZ%YrtYbvg1|gQUX0<~&CGLbPwU)R z78(?4dqzgaLr^crqYZ~^N`?f_OG#l8C$70(B%jLXDSKVPA+YZ;rk`NnQHAc;8J-o5 z3Vl@N^G(I?bB1M0v5$_%R?;}NR);oL;x`#1ZF#Y1g2DUnynkU0Eqx4CpKG)WM-JN5 z3vyv`EVD^rca)|OW%Fn%eBy}{C*p{OqVIs1H)xr{F%IqT9SEvvt{Pt$bKY*oSUiYD zI)(uTiD;gL`>a;&CeoV=Vd&7I)?7QCo1kSexw%3!-CE;bBhkN!xSvRW!Z}3qUk9Sk zQ42FFJ;wfvSLP-m7b=>`O$j?Y+(QMF2*WwA5(mac8~aEiG(pK27Z$kun?qK70ORf= zDlLS=d=EmVTr cwWKM0 z7BLaJIuv>#;B s zkx&X4v}GPt_Kg@1YM28s*9mgrvs%MCUm);Hv?9kr5G=GY94GcIhf&_{-Mb47a^L>_ zMz5YdKk-#n5tH;QNK}@QX^nGDd9VEpfAbkc(Bt}63V%a%_(f=sxlCii^{}cP>+OC# z6%N-cg77<`6`B)RKYtyLw~#39Rcd^^7CQV?Rdsb=%*Qm`lNAs;X#nBF=-UE(pA8|F z$YO$KFvw~nTR_htGIK6e2 qF(UY66z)>3KYdC5txmdS-#}9MIYU zYCAag5Vpy(vVtK?IPJ%=XFz-N@I3?9y%Gupl0pv0$MMaYi3NKS%qk7vJxty<%@Lrp ziQpRd;-Rb(5ibQh3*fU#$KwWp)(*#gT7q&UYOQh@rB*%@-(SbM(`4ohHBArE_pF_U zwtqyQGlcqfj=f$+N)!t;j6dKwX<;A6sxlT_$W QksDgXq{#=lHWUmeoA+x%da3hXu!-fr!H?NR* zHS;F|Q_vzn5p*vnVak*#XJ*fy{SqeSCEd)R3FM+W%;JMGl+I62TwICU@|#d(ei&_` zMd}XKj8i$zS%|hRq}EA{7bO=%|F!Fj#qPHX&&P@)@@2MQB>zg{BH{P%-(M_P)jooK z8Nqc*iCucCbo0<5Lq~uKrGjC1bV5sL(WcG*_HEl1uUffMFg9?RMHt9My82G0M{T$0 z$PodCb+}xmW##1$R+N>^XxFY?CkUTp-1EeU5jX59EIb@w^cC%) oYiru{>Bg5wj~Zw2 zT(o5gG{_~mXG?==bEfIXGj^jtWg6PNU099>&My} (dmdQX#kNJ2!QWzx`c=vF3n}luVF*suG2O7C=IEZLP%ekVpvU_sYr&Mh#6c zzihu@6trmDc5UlG!2e}&aV{Yd5?viJf9OMD?KA18%)@vewnwBCN?t|wVj
GU?W@lni1xf^VW_ve9mFZ9|t&WR3kmHQc1&$0V| zNY@I_Cm 9T9H0vCch8SXmq=Z z=G)(fttl +|ltuN%(&I)8Q5SJHh`lyL3ax99s8 z-@w8UHv0bk`=7w1k5iQusr6ad6H&49N=*12p_*4^?SypRMrp3z6m&7g^mL~AeSMpd z8Kd2PKN*8d;CIr~FB{Xkb?XJtG@1s^o!gP#xN$F-{Jz)!@)u*&s8PZk`~34w1~aWB zu4slvPs=V;CPxKezHj66eSdibF<8~0@8tM+qidHgM#oN_nuAUkVH5`oxQgF@JQxnY zLkLS8T_wys!8~}ShR9Mh28#?>i)tt4;C;K*P**PNH~BJNm+>S0vr7grr$hLPx$?(J z)8S@FV@?ij@}2VBIG4*g)^s?ZHZ*?=ChcV~DgQU7ZT^7%Ab<^4iDnsOuQ%*%5N|X+ zTji&=(XFz)eD$&8$H%%oo>FVf`6e9tJ&eXQMKEsvEQ`z?i;s_=AFDRKf~-)>y7boN zi<}?&@~}-9H% 8>%k8uKF}7eq(EeVe0a35Tq3zJDSX;fEZwbcl7U59P2-RTMHskobkgYa5 zRr30x&wrSV$}+1H6D@6$Jr9}2;&Z;L?vSUyWH!R#qM`v9n*-PM>-Q$cmQM1p*Xzl| zu-#1XDaVTei(R{RP0!EIKduKu^gl8x21A&i$nTf_F48>$Iy}jsm6c|88gx7kbh&|V zwZS~Fdhok(4#!#$>pGlJhWTT8@)2PPU6H2rQV8V*QPxew$M#(a6W5P*5@Yx)n7rAL ziQsg8ONq~l7Cr2~5*Z!Y3yo|7YmtXyyiDT%{bFzlD?&0XCUScob_T0LAl+YaUsA({ zja*J=wlepavt~ih1SBKWv}x1HkorruZ{L2wXVIKwa{MKR_4UkF`F#_C)G}W*MIhu& za}c9@!gnOn?f7p6e6Wv*_KA9KpKht>Alh%;GWxMjV5}67U?A|vUHSQaF#MZ!Oi!&M zVlGz*3y^?0zGCTs&IG?su;7O{j$~Ffn^pb?{hv{77=7GvaZ5206{_l{C7s2kW%&Lg zzP82ZD|%IjOMl 8?U==bm4&m$p;DwdcfRkWLOCDQY?xs7}s)llmcy+{=QRsFXj6g`O*`RcQ@