From c14d10fc3f59f0da9bd1065fd12d762a676a49f9 Mon Sep 17 00:00:00 2001 From: aleksandr panin <38907423+aleksandr-cliqz@users.noreply.github.com> Date: Fri, 22 Nov 2019 17:09:07 +0100 Subject: [PATCH 01/10] M20-52: Full takeover of Ghostery rewards (#462) * M20-52: first proto for myoffrz rewards * M20-52: linter * M20-52: typos in package.json and yarn.lock * M20-52: typos part 2 in yarn and package.json * M20-52: adding test locales for en * M20-52: turnoff rewards from reward-box * M20-52: adding web_accessible_resources for offers-reminder * M20-52: myoffrz actions was renamed * M20-52: turnoff ghostery rewards (just adding flag) * M20-52: move inline styles to css file * M20-52: fix typos * M20-52: [locales] remove duplicates * M20-52: rename locales * M20-52: locales adding support for goo chrome * M20-52: known rewards keys for poland * M20-52: rearrange locale keys * M20-52: fix typos * M20-52: clean code: src and content-scripts * M20-52: fix typos * M20-52: clean up for app/panel/rewards * M20-52: clean up for css and images * M20-52: fix for eslint * M20-52: fix tests * M20-52: fixing TODOs * M20-52: clean up for unread offers * M20-52: fix typos * M20-52: adding missing signals * M20-52: adding border to iframe * M20-52: reset rewards_opted_in after migration * M20-52: revert pl translations * M20-52: fix duplicate translations * M20-52: remove unused eact-shadow-dom-retarget-events * M20-52: remove unused code * M20-52: fix typos yarn,lock * M20-52: listen to myOffrzTurnoff in different place * M20-52: adding events for myoffrz:turnoff * test * fix test * M20-52: new cliqz version 7.40.2 * M20-52: update yarn.lock --- _locales/en/messages.json | 167 +++++ app/content-scripts/rewards/HotDog.jsx | 84 --- app/content-scripts/rewards/Notification.jsx | 145 ----- app/content-scripts/rewards/OfferCard.jsx | 361 ---------- app/content-scripts/rewards/Settings.jsx | 62 -- app/content-scripts/rewards/index.jsx | 249 ------- app/images/rewards/best-offer.svg | 20 - app/images/rewards/exclusive.svg | 31 - app/images/rewards/ghostery-rewards-beta.png | Bin 50589 -> 0 bytes app/images/rewards/ghostery_O.png | Bin 54004 -> 0 bytes app/images/rewards/light-x.svg | 3 - app/images/rewards/powered-by-myoffrz.svg | 21 - app/images/rewards/settings-kebab.svg | 5 - app/images/rewards/white-x.svg | 3 - app/panel/actions/RewardsActions.js | 25 - app/panel/actions/__tests__/RewardsActions.js | 26 - .../BuildingBlocks/RewardDetail.jsx | 165 ----- .../BuildingBlocks/RewardListItem.jsx | 132 ---- app/panel/components/BuildingBlocks/index.js | 4 - app/panel/components/Detail.jsx | 9 +- app/panel/components/Panel.jsx | 4 - app/panel/components/Rewards.jsx | 282 ++++---- app/panel/components/Summary.jsx | 5 - .../components/__tests__/RewardDetail.jsx | 179 ----- .../components/__tests__/RewardListItem.jsx | 156 ----- .../__snapshots__/RewardDetail.jsx.snap | 339 ---------- .../__snapshots__/RewardListItem.jsx.snap | 346 ---------- .../__tests__/__snapshots__/Rewards.jsx.snap | 28 +- app/panel/constants/constants.js | 2 - app/panel/containers/DetailContainer.js | 1 - app/panel/reducers/__tests__/rewards.js | 72 -- app/panel/reducers/panel.js | 12 - app/panel/reducers/rewards.js | 31 - app/scss/partials/_detail.scss | 4 + app/scss/partials/_rewards.scss | 227 +------ app/scss/rewards.scss | 614 ------------------ manifest.json | 5 +- package.json | 3 +- src/background.js | 252 ++----- src/classes/BrowserButton.js | 8 +- src/classes/Cliqz.js | 1 - src/classes/Metrics.js | 54 -- src/classes/PanelData.js | 37 +- src/classes/Rewards.js | 123 +--- webpack.config.js | 3 - yarn.lock | 11 +- 46 files changed, 390 insertions(+), 3921 deletions(-) delete mode 100644 app/content-scripts/rewards/HotDog.jsx delete mode 100644 app/content-scripts/rewards/Notification.jsx delete mode 100644 app/content-scripts/rewards/OfferCard.jsx delete mode 100644 app/content-scripts/rewards/Settings.jsx delete mode 100644 app/content-scripts/rewards/index.jsx delete mode 100644 app/images/rewards/best-offer.svg delete mode 100644 app/images/rewards/exclusive.svg delete mode 100644 app/images/rewards/ghostery-rewards-beta.png delete mode 100644 app/images/rewards/ghostery_O.png delete mode 100644 app/images/rewards/light-x.svg delete mode 100644 app/images/rewards/powered-by-myoffrz.svg delete mode 100644 app/images/rewards/settings-kebab.svg delete mode 100644 app/images/rewards/white-x.svg delete mode 100644 app/panel/components/BuildingBlocks/RewardDetail.jsx delete mode 100644 app/panel/components/BuildingBlocks/RewardListItem.jsx delete mode 100644 app/panel/components/__tests__/RewardDetail.jsx delete mode 100644 app/panel/components/__tests__/RewardListItem.jsx delete mode 100644 app/panel/components/__tests__/__snapshots__/RewardDetail.jsx.snap delete mode 100644 app/panel/components/__tests__/__snapshots__/RewardListItem.jsx.snap delete mode 100644 app/scss/rewards.scss diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 9f34a79b1..363f5ddf8 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1993,6 +1993,173 @@ "enhanced_anti_tracking": { "message": "Enhanced Anti-Tracking" }, + + + "panel_rewards_view__reward": { + "message": "Reward" + }, + "panel_rewards_view__rewards": { + "message": "Rewards" + }, + "OFFERS_BEGIN": { + "message": "" + }, + "myoffrz_affiliate_link": { + "message": "affiliate link" + }, + "myoffrz_copy_and_go": { + "message": "copy & go" + }, + "myoffrz_feedback_option1": { + "message": "I already used the offer" + }, + "myoffrz_feedback_option2": { + "message": "It's not a good deal" + }, + "myoffrz_feedback_option3": { + "message": "It's not relevant to me" + }, + "myoffrz_feedback_option4": { + "message": "Other reasons" + }, + "myoffrz_feedback_title": { + "message": "Feedback" + }, + "myoffrz_get_code": { + "message": "Get code" + }, + "myoffrz_offer_removed": { + "message": "This offer was removed." + }, + "myoffrz_optional": { + "message": "Optional" + }, + "myoffrz_powered_by_offrz": { + "message": "POWERED BY MyOffrz" + }, + "myoffrz_show_code": { + "message": "Show code" + }, + "myoffrz_show_more": { + "message": "Show more" + }, + "myoffrz_skip": { + "message": "Skip" + }, + "myoffrz_welcome_link": { + "message": "How It Works" + }, + "myoffrz_welcome_text": { + "message": "As you browse the Internet, we are searching for attractive offers based on your interests." + }, + "myoffrz_welcome_title": { + "message": "Hello!" + }, + "myoffrz_why_offers_text": { + "message": "No personal data leaves your device. Your browser automatically identifies what you might be interested in based on your previous use. " + }, + "myoffrz_why_see_these_offers": { + "message": "Why do I see these offers?" + }, + "myoffrz_why_see_this": { + "message": "Why do I see this?" + }, + "myoffrz_badge_text_new": { + "message": "NEW" + }, + "myoffrz_conditions": { + "message": "Conditions" + }, + "myoffrz_turnoff_rewards": { + "message": "Turn off Ghostery Rewards" + }, + + + "OFFERS_ALREADY_TRANSLATED": { + "message": "" + }, + "myoffrz_help": { + "message": "Help" + }, + "myoffrz_learn_more": { + "message": "Learn more" + }, + "myoffrz_send": { + "message": "Send" + }, + "myoffrz_settings": { + "message": "Settings" + }, + "myoffrz_tooltip_new_offer": { + "message": "New Reward discovered!" + }, + "myoffrz_turnoff_notification": { + "message": "Ghostery Rewards is now off. You can always turn it on in your Settings or the Rewards dashboard." + }, + "myoffrz_optin_description": { + "message": "Would you like to receive offers and discounts from trusted Ghostery partners?" + }, + "myoffrz_optin_title": { + "message": "New Reward discovered!" + }, + "myoffrz_no": { + "message": "no" + }, + "myoffrz_yes": { + "message": "yes" + }, + "myoffrz_rewards_new": { + "message": "New Reward discovered!" + }, + "myoffrz_apply_code": { + "message": "Apply code" + }, + "myoffrz_cancel": { + "message": "Cancel" + }, + "myoffrz_copied": { + "message": "Copied" + }, + "myoffrz_copy_code": { + "message": "Copy code" + }, + "myoffrz_expires_in_day": { + "message": "Available for 1 day" + }, + "myoffrz_expires_in_days": { + "message": "Available for $COUNT$ days", + "placeholders": { + "count": { + "content": "$1" + } + } + }, + "myoffrz_expires_in_hour": { + "message": "Available for 1 hour" + }, + "myoffrz_expires_in_hours": { + "message": "Available for $COUNT$ hours", + "placeholders": { + "count": { + "content": "$1" + } + } + }, + "myoffrz_expires_in_minute": { + "message": "Available for 1 minute" + }, + "myoffrz_expires_in_minutes": { + "message": "Available for $COUNT$ minutes", + "placeholders": { + "count": { + "content": "$1" + } + } + }, + "OFFERS_ENDS": { + "message": "" + }, + "unknown": { "message": "Unknown" }, diff --git a/app/content-scripts/rewards/HotDog.jsx b/app/content-scripts/rewards/HotDog.jsx deleted file mode 100644 index 365462653..000000000 --- a/app/content-scripts/rewards/HotDog.jsx +++ /dev/null @@ -1,84 +0,0 @@ -/** - * HotDog Component - * - * Ghostery Browser Extension - * https://www.ghostery.com/ - * - * Copyright 2019 Ghostery, Inc. All rights reserved. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0 - */ - -import React, { Component } from 'react'; -import { withRouter } from 'react-router-dom'; - -/** - * @class Create the Rewards "HotDog", aka UI element - * @memberOf RewardsContentScript - */ -class HotDog extends Component { - constructor(props) { - super(props); - this.state = { - closed: false - }; - this.shownSignal = false; - this.iframeEl = window.parent.document.getElementById('ghostery-iframe-container'); - - if (this.iframeEl) { - this.iframeEl.classList = ''; - this.iframeEl.classList.add('hot-dog'); - } - - this.ghostyStar = `url(${chrome.extension.getURL('app/images/rewards/ghosty-star.svg')})`; - this.closeIcon = `url(${chrome.extension.getURL('app/images/rewards/light-x.svg')})`; - this.close = this.close.bind(this); - this.navigate = this.navigate.bind(this); - } - - UNSAFE_componentWillReceiveProps(nextProps) { - if (nextProps.reward && nextProps.reward !== null && !this.shownSignal) { - this.props.actions.sendSignal('offer_notification_hotdog'); - this.shownSignal = true; - } - } - - navigate() { - this.props.actions.sendSignal('offer_click_hotdog'); - if (this.iframeEl) { - this.iframeEl.classList.add('offer-card'); - } - this.props.history.push('/offercard'); - } - - close() { - this.props.actions.sendSignal('offer_closed_hotdog'); - if (this.iframeEl) { - this.iframeEl.classList = ''; - } - this.setState({ - closed: true - }); - } - - render() { - return ( -
- ?2_B|P>E zboV}D(7jjpp!Mi!w47-X;Z4)~6M>|LZLNx4<21yA5VX8fH|O-%b>7)pyHB^P?EAaS zoPZ~=#E*n^4vA|6K7HPvcGUS26gGwzhWTYFkNcj`@dhCue2eN)HT9wa7dQ9X)R-pmumZ|!jt zR=oBg{{9}5hZ4OA;X*?6y%5CDI~muDCqcfSZ^G7U?_3S!qIsQjB9jMx%c1=KuwO_X zg9@EsRW#AlM($|hMHkak(x(-z`5D$1w1=aQ4C_xg>6qgHLvo!t BMvOwRS zBd8_bn{H}{($Jo3B@itz{K)WMmA244gR *^pP$#a(|0|LNa=VeEkl8ytJte-O!b-9Ws2l z;begSMRw9fW8QtW5if0IxU@$LUs(jDQ5U``JMR-&?soSZ%IrrcMBSuM|6G+8kH>>d z4J(MpzVs~WrJOvSB(%PaazG$qIaqweNtbG4d#1`cX>GAq`yvCyZ=x9s1l53^&VsG- zwN#L^bP+k79Y;}o{YmNb4#u+xpu|;`u3{m_ntDYA9~z_;mp!&w@h|39epNZ!xQjOG z5?8b|gE*7nI;xv-S+F;&w@lhwpRkcV?E4@J$yzM@vQRd8_6|RYASIo`F7lt7U9&h` zjI#GOQqP>+{2JZz@;`NIp9L*YQF%bhT*(cCqHy2dM4W#5rRYo0t|>bZ?ve>X)?`x2 zsOy8J{~du7GTiS;=dU}jY9fi?E4NNHN1BNgCamy(Z4p4UiRf0QFFonnY$;1T%Hq0T z@5X-zxfV`3SwsdtzW8uq-Q3HVq8>Y~k@X&r?M SMa{DT;tF(xzyy}K>p)H- zYkeh|q=FPW*yx~_H+j}LxrVZ1nRok`!B9K5>^j>xk2dTSW`7NKT^lv>S&d8;U9tNX zcaoL^ki6H)@O@H^ ^bi#7FL3^IOepSNKxa|50Iz7~)s-&+nBZ3E$67$yEE+uA#xhj32$t%p%==C1()e zldTloH{-67!pB7Mm1aFo6z%vPVZ0G4Z gGDE(D;{;oJP zL3twk4JYeAE*!$G^9So`&W}l9?QH-m%;xZKJ(cBd;8sdw`g%ePAzhMUD{5;fUcQT} zk<{1T#hrwGxI<27%x!O)C0%DvzaGW&ZM^hm2d%TS?eCLMnLM14ebvZMJn*iOI<$tY zVb*(IQusOSoy@Kk -r0w=E61h}F6Lk}D4(9q& zYJLpqZg&j2XNo^`lmChb*_`BWT&KhhXkB=J37yYz@;F~*P$$!!@2H%nEab`XT{+tL zdw7LAMf9KiIM?q%5TC35_`M?S`LcJN#~qipb(tIjLbiM*GW - ZN&g)g^hq=FT zeU_No(Ju!`-S#(G?{umA9j!HW>fYGele)dvxq2HT#g$?uF!nPe=9Z?boWGwwwWhpE zb8v&R>zFWQqT3D1860p~mm%pc9gKJ|RBv@I7O17-qW|w9KeBhfA8em<#EA{vy;ou# z@`(OpD#+lv?4_0T{r(Y1U6Hp?ebS1$)83$~LYD(SaL&2pO&S^5`W?5ka;xN9MDlVE zC8$Oh13Ih%p1YcQWj`j2uuu41HYh+UNH2jspnO)eQI!~c ?=?ZGPL5DV55sPwizA=LJFX1Qg}` zT-@d5R6vu&(-WdZ3DV_Vo>X^U($uSmX8|Wy$rfHO_LnyiLaukc8W)ssTRN `W~FoP>~kvX?`Lx1c3K2be9~)S6X2i3S+=8MTXXY{ zGRPJ}z*%d}r&?1BYd f3%<52h?mN8Ha#(5HKQZ5+CTlYZR@JC)FX|fNB!5v? jCL=m}Z3zHPi@(cpAUQsJ-_Vu&&>rG|J8*?a7A^6$`z;5i*i|-YZ@46?Z&)C;E{~ zN6c&q-Yr#GZp-DI2t64Qc8(V^cu-F1g 4pM^z8-Y;> vO}>CZqp%~`p9VZxqf4*prQxqAWBEpg zblgm{n;uvZ(uFv0V`wetmmfY1p^Jn{TvHIA0}5=`(E`#ObX9>FqSOo?GS>qmfkJj%_V zW&UFG6nhaGj5zSe8dIMS2ZX#1Py#T17c;STOaQswIdKjc5j=Uc@%`ix?@NyWgb!L~ zpDtc4b`$066K T?CfVa++b&6bTpI-4K|0B=`w-ptP^kb }zVho4lGL3xpu;nmjE z9B1u?cTWa=l#_2206J8gTI6K{30m;dbiZSyqyhPr(`hxyg7gC8M-Hpl{6ar|OX-jx zF;yHN!bB!X0*?`-oP)kg=ZE# kbv!{IdoobTV#wTcSMZ4Cgd~U?ST0 zs1 K=dy^7YT~_d&y+3tb-2rmWG0zIZv{j07g=X@y%q|Fhs_dy za7-&NhBfA_&97|oqluvQTm6_dB7e8r3k9wzZSMF=yKHz8hYJx$^#9)PO`4Rs *wvDZ=v}@OT-XFvgHJ~d5d 1XxOwSd`x zDZ#WHzhR!`Unf#lykEU0{hziy1+iWGQHfvw_EQBzPz;o0#P_Tz;GeItrhYEB5^xUl zoDmAaeNT=6s36Pm*)O};_{hqi;a;D;Ox7YtGTAt&N{+%$vmJ0MZjTq+lx6O`yG^Nk z_HQxb-rySct`w4%@FwTNnFn?RhiULv@{;jGd7~=t20op*P-fas7x>^s0`a@pN0+BL z-4+w!VVoeuS{W52wMy+|B5v<6sL%hqv8f!tFwx;MZTZo&=DM8wa}ig>4(|)&F=uG1 z{m?N o~?D2ne%#t;WFpRgB!ylukoA1mALGfHh8*H960l$T1!_hc>{ zJ^Bw&um02|Oa%((w`%!8*bN+4&y5;$w@cmQ`}tIi?rt#)`g2WWx7k;xHsxU%M< o;7id)FCbcwwrH@M&J>l6~K>E+v&~e+}TBD&?{Q)vVsafal zAOnAPguTzW%qA5Q>Tg?_(0Wvz!sO^anQ^Anzp2#sHlksrJ??zcb&6%Q?L-RBghMin zbxoPj0l}sibv&av0@YzaJ5*u`kdg=9_MekYe5_6WS$;$>Mpjv!^iW($^VvYm|NFMM zD8dYsb;iq^jSe1=BIqIWX95=O@15XwSUBYoT!u)f@!h(zUGw!jdybW+3HEQ+Ijg7i zIjdQM !E8hZ}1vAP0UXM4SJ3m qS{hlD$Cd#w&$x)C4?t~ZW4;l7stFb~^OZ>by8@TDqAXM!gNpTGPb#m ACBSg{S&NHfd${+@T+CJ0 zHvF!M!B*u#r^5g)pN=a;5URPp~*L=Zpa@sF2rbiC-Kay}#jof9YBPqYa?mbuVT zUg22jO}of`Xuh1dcyb&*Ih~teGW=qBh>-~I*YY`vo$ 1 zU(VuG2w^y`9kdKdaX--O(6!%u#B$EcNPS1JIyW l5zcE6J=Ik?%x-=F``eM)6ZB3he!_+`_2j|z$A+~Eo9!ijGfb18Y-n=8E`y3`4 zi9zRWRM|^zdY4qM;`Cw2t6LaA^k~i`Rvo{4^9}x-`nB?#?1QV%$o6C#TK3@f_~TKR zsne?vt G+qL6Oe7j3|;5O41%5R5wY{qZ+WpwM1M#7Vv&~gt1(P?_9jqlp$gxX5|{nf7TIMH1aHEA(b2I)nZa`86dqm z%b#T!5lvi}uw#yH>Mm(5sbRp}cwwm%^xggLl942Rd~e;`)V~DDe66)9$GFlkr(f;4 zJ(Cj#J_)Z%!jpunz6J%R0sn^F_bu=77}r8Cmu5473Jh!j+jVz(t|GGa17FO&@iaJt zrq#u3h7WE&t(Js2?d&h~85DEJUQ%nGNWyt`R0Dp5`WNFc#ijBbIQK9g+b71+rUPF;{>`s?>>bkdPesG5yM7F=_K6I+8F_Q zDZeyS|Fqpl&K?kZ5>_N!;4r)xoRh9~(2$#j$s!`fg<*?^L2#Db!G#3UTs+D~cy7Aa zVlpC^Z-5vwtuK09T2^^$At+I-p8-z>ZSpad!Ni~&Kc_{Jx;IN>ru$PKO1UzoSbAus zD!*SyhMX_b_Y_B4@p2%%zuy_>`~#Tt)3%Ed_MUA)Z}m1$BKxgJQ=*EEL~h9e?gE3E zsmr2xrd6LAWeR3@+&f65vzYd%(27MuE<4qJExy|XpS2ZEbz62N$_7Y#OI|&W!!Fot ze_2Ig{9pZCa*b4zRa9u}AR!k{QfeV`KA?d(J;>fOQu@bGErsvl=6YZhn2JGzB<={B zoF+#MZAB~ImzI-T$iz1!qN7|6J9a;iFR6Pqm^^Mhitr!%_ma8axuR>A{`P73A4!cv zlQS=q>(cDp5_|Q?qA(r^@=Ikn!Xm`8nuAxQ!qWWaXF6lD-UH6nn8PVWBk(dB(em~P zIW4Z8SsxbMqknS aK0F9_lW%yyh{7LU=8pn9O-V?;Pnu4wFar0`^nh zuMh0f{MHbGN73f-**M~rjdPJYPW@AER{to|)y9!5kThIRPf}`Qa-P@dX=&0Jg)?+? zQNNq)9&(>TIbU5|H7Eewe(~e=8RTZKFYlB~wS!Vjrd9g0N+UE`&g)Ze%35+>Z+16mW6ZBdQm Qj&Ye0XRddhuAtI7j;zQ~w=gZVe1 z_<+4m8oe#=@aHFwe7^-2SPWS{dxJQ4*7AH*ekD1emv{eRo`01*$>VLRW4y%X4JP;A zgZeQ&5fPiEl-M%a+U8#0Xrhzvx5n7fRN07ODK{97Jg$;0N5(tSVpcbWX1sE+`U=#P z4g_CJdd$GK_`9G{aPD;I>2K?L6`k1UYINgqZ$uiUm&)cVjP4gtWj>r`;NT5kUw@5w z7iaAx>2gK{Ee|QxhXkcEM2oTOvpxK(Bc6ZHlz4H|z;N{y&om=`Z`ZU)p!f3m_{#}u zi*yy6`tIv_cP@%p=dp_u@AB9+H4~>5X1wpNOrrZ~#}BLgm4-Qc5+dNeaEvgd*@E-d z?nDp7d8W_68SLkMYI2W9qu+d2XH`vx#Bbu9L6ORaV;1LrQCKI{xR^NU$h{q8Y{B&` zNDzYG2@CX#qoRB 1$@e(V4Kvl+M^VuTr%r$?KCep+s-dK@ChI^ruM;bM_o2(5?9=wjq*d*67 zIhwC+`m)$uvelJYBJ4@?1$%b8rYO?2z)jnU&Oj;I^|{M+&=nrhKG#F*)^zF@VXKn= zeK$i}Fqz%7Bhc2m;LppwD~I>@ET_oO;UJANWn(ot@$KX~x5$_7!GC0sDeqaua3ZaH zbj`7ig^zxU--6v%kYU-V(VX09>MJ(v19;rj8|Bqr5lx2typg7;28|8vg%enU=i@|& zdyY6_` 9qu!=#eP2yf%nT~{G zu@WuPR1!LvED_-*X9vef>15NOZ<+h&CSD)0b0ei9sTz}V%9O#$H_N{Mh3BV>I)iU{ zu4`F`nyM0)-GM@ziSK$Ba(6{dcx4a8*$_;CMgVbQ{`WWAKSbEkT zFUv1$YWsOfJ!RV%9&*SLG;sI!N2;PjH`-i%V4b=!_J<$VH)ewgn#c&8Ah>V6O7i)9 z`#s-*z-SR6ohHQ>-u&Ygdt68wbcw6NboVvWcKW8n#%95%Q@-J97yUfGD4pA%9pgy@ z%L*d1rWn~=9p81~kKjR&Pyc}T#ptJtrfm9JyMNZ`$n1+Mkd)*3;%a&mS-$vVTTrbE z>l;vz*!6sknTf6Mf@jMv=6({faUz85ZGV#A>044Y?9{0}xGS13@B;Au=bCQh51 gNm}C~(E>Ij5Q$wBka$;(gLC$^9_F4V z1ld;4DepJTF*zjJdNuCb%)Sd9uHsQ_!XI;FxUlt!?x5jAV)g*v&N{P)3pjxd!l^Pi zUhgC8Sqg!Y!KPs=2p;D=FdN@+tMGlFn_c~1yMRSBzip&ufOM)Ewabj;NM5csBFe@) z PC8h2iTWs3>SfeF<>iqyp8Sv2(mI<_b=By8y}LQF%mom#C~ZtTh}NZ0u{%-c z;Apgdan0npOCx S_9dpSb;hT_o{uKra7 zUT7sAb7>lCBH#C-g_19CAjPw#e(}eGtn*B4f+*bmlXNo$>}~uXMSVOdUVqHK97R~e zv+r&3Fs>@AZ9frbgIL<`j=D9zrfbJyHSi#nQAByr)8 u)0)7zsfgtB-ju~ zD(U~v0EVUYWYk>8dBzCLsFlABlVdLjSqYx49yvi%yF)YxGs&b58EulCLS50XMivav zkK7L<)d%ghyx~?o;@1)}Mx{C(`3%TtE;X47nF2Fe&=p;zQI;wSBXIkv++Q$_rq{yv zh~BN$9KgFaXHQ?kH}#U5pQc^KKd&&Ng6^k7R1Q6Z@khs$y~NHtCA-hoUX{?nkio)b zz(`UZ&Mb`N{{&sH#X3BG$yjOA9XHFSj`M9-;E>?AZoc7>Uw~IAd~L{%ik+;d1(cj> zb;?p}1lGBn|Cm${3UZI>bMFuay$TQmhy^Hg?ALmImuZe6t}2_6D%5;G_T!nmtZ2dY z$;JK9jjSl^;@o3nkp9beYhNfVZFe4}XxgPMSr9Ut6x3jT^JUvN=L v@I_zh>54Vd!8f7WfAx}eSq(-jH9dmZFp`*{g~x| z?PM=> &cu)fNZBUUK zl6>9{*C8KSan?e*56F#O6nr@$gI4qVo_7)d0ARIP@L2%_hZ)}ls>MlGbs (_}dr3(z-Yi2cp%nXQP>rS@_n2>$Z@%&1 X`D-j7kU3>GxHg z$6%|StV4o!I*Hi{mjC8dGcBeJykfPiVP*-Vu%0@Qqtd=BiB5Y*2ZI7@V~8%N{WdTV zhb*=_$FZ`67clv(C4I6F4E}1p3Gr1c1GH4r9D|_Fbw%pvOp4Dt56lJ)*5W_e7T!7v z@P dxhkz1Dc2s1JBCZ^z0m)?&A{9Ulm`bqb=sJygJKPj z?c 0N(nG~^byJWkb3tQp( z?nHf?wTKuo(j8RZg93Q6n$B8YH#NDdso#DKr6SrHjX2b>6F(6?GTHAnosOr+LrHeR zK<1px<^gH)mMpdEACI+WGf DE7XaAYXN+cABP9V&3_y?U|d*g 8 z9?EmIWT;_Uks97a3qfn5sxOPQTZB^ntidO!CcAr-kmPe#z-IY{xn{rrDw_QH!Bnfd zID4aNZ458bvb2C7mXAKg@hsW5K3v?EXfd4bzPxxe_wd9wq=Ue(?JU?<8L*TBZ5PI? z #yV3QABvd* ztx;jGx<}n-5E^+VmF5d!*w0u{xChUF_1ApLp|ZUD{g(1bV42|I9CK|Es&1;Ty9)6K zNWe5R ?Ws-B~_y y8n4)&e>c zVg*lUt!~G4`HtBWZGwx5acgs~64{u5ykiy@lJOT)SDGr Ye)aP8ZivVL0f)fDmH`)2&S7B&U_ZXizLv9e1Oat+k ziV-!77Vx0aT8N2}=9Q!U#)|>hsY+)es529^^%#O-bDSHhLxThHWagKN@mfGqW6h=D zUfciMbtEX{DDvJik_N6?sU@Sj$?-)|r6R;Ehw_f$tnCr=>B@qQPit3C;=9?E(Eyw! zHy`gSV2j qZEiaY#EA!lj%B} -eo@wRMWN zA@yaPIz)yCzYi$=-T=11orjH--F#YW<#X==-G%pK(6^X356UGZkynBB?p@X#b4RJ# zkEUOZ03` Z$HR|!pqgb96l|2IJ=0qp{ z@}JM5>{>?Ol8UCz?Non0(Cm46n;2?xj^pnO`U;RGm6x@kP^~t$1PEi$q>b4W+;0q( ziFaY82djH|hrq2Nr3)*WUqj|FbMrcMzq~7Q;0K|rUS8x#UZI`LgF&vIgHi7V(n2nB z$cJs=B*51nETi3vuQGwltpBQN6QBK|%KiTa)yVJ#rug(E^;-4Bpj4Fn$L!lQ&6T6X z(0vyU(ywLFL?g?IWrag8EY>DYH!0rFxJBjoR2o2#FALb$-T#WVZEN*+{s|5e*W3b% z4u3Gip;rA22aeaa;AU3s!{eU5`>CA P>99y|19uTcb%tw?kXMx*X^X0{MU<3>;-nCo4^3cR>p!W zAK71X_3Z&>zRJ)p@|UhQ6oHY{T2u3aAb)U(1Asw}O=xwfS)kx7So*qaM(LmJOh!J^ zOH5cO2Ytm*gWi9&cxhN!1h~JYw}Z9i{)4kEB!`}juNbqbY^U8U*5M{qto}} Q zTf(gHCmwV*r?q(o?(FindlzZrS<`PwRQ%wMgag58qToP{a>lsK5~gk KTD< z!>q5y`J9sPm>jDMc% MybPhV7<|)e}Gi6r-2ROf3 ((~u({%z(@uzX=|8dPaR(-D)o!q%MlDCXj&HZgQF zJO$yF2c!dqVv_%z6E!ynRecS{%KJYX;+X`UnvZnu L1d$9cvj~ z7n#77b!qy141`pdc?+su1-^4U#NS2-fzfJ7R?&I+re`=U=$WTPwG2w#y_~so;2+ ^5)!PEkTL zR$m$6x|5yw5NG?q23>y3ATIZV <`$4^AU=@(@wm8g-0-W|BUTQ*zi*5o9BzyP6>tS2ij(h$?(~hKd z9itzL4U#vWXSt#?xhSB`@%!rD;B50=7u|wxf_#^m0{!(PN)aM}EzE=rgWM0mM)G z&Q~DN#GYUVKG!609&A2eq~CSQ6`H?qevAj-BxzXV%+CZ@zw8tDg}(}^bNkRt=MpFP zLvX(Vjh_$v0L)B)whbF?(}a!_b^CS_woBZ4)#G=gvjrT^&g-*#Ep~V}3>Ipdjckn| zC^wp3^xrd#mVjTkX_OcSbUo_C7ijREk#>DBNwztJkm0@H0-o+96Yx!)seQu6+kr8t z@SPVNcetbfJ8k ZAeyOQS7~MMo!FDJYi|^%P@;N#$$BfcknG_QEyO01Yr{49MNSAmIYXJ z6s<7wG;eM(qB8co1B2Y9m&~gAPQ(Iw?jXJ~V%?)?o(cQiex|`n9U^Ea8&ETF$*BZc z?3zOY>J>0AY2b~3zY>mLQmiF_+6Nv?;DG%2`Q(YCIE9h!AYP_)l4((@oZyQ2@AzjX zP@P2I4=*jYhx*Mwk9mSmk0WMu5~v_#%J$97gEsfPSN;;TZ;SZ=Ssx3J80%($p4r4m zo}mHN)VdB?7RL}l-`WRUrZXd=#%?b W8uQlI@0FZKD0_nsprb)*t$s!>Q zN5Wx3=%_`XS~H*(AMt7f_98+$by?1$tIoF-)hASRX(XMK6er1~AoviBcfSIER3U%9 zD?)gMsfQMY<}`Ts{8G<31Fm%jzxr?8aqEFR)AygdC2qQOyeoW+2W7a 8p5qO`Q3Z)5m9i4^(jNUXe-z4;V;8W6i`F5*dy-?XnFhX$9}yo zODNvZ)`y;Qfsk3IORMzq%uSttZTkOvLJiEPT}x&p{MgJF{w-Z)&pGop9wfQOt_(W6 z{IbnQ9QoAWG|z1h3z#n!zY))=+rJ8bPv1`bc~fa*Ugh%Jx9nFd!)ik#I*yXFe{lVW ziEq|7`vd-mWf*cicQiO&$pu0f>T$ktq4|P)ic-5$pqL`{$Hb*+vY+Ez2EBTp@B(re zMT(>-c+=b(4=%b|mEoBhCs+!M((2xjgyLtvq0exjPs=irB7Oh4;-;0F`sMMwbUn11 z|8Em~_f3_IQbc0GOC-QO?^OIBp1uOAs;vumQ&NJ`C?e8bB8`9uDqYfDdT9YE5e_OT zp)`_;bR*q|1}W+05Yll#;sA$u>+rw##<=5-alOc1d#$ A_R3X_RR-ZHX#%rqU%c``oUBa|vs&>Bd zzn7rZo>ORN=!u?-+-Ho#f7vkp4$Oey?sp8Px}o)5#VN74ci8R9=;B-@N!S^A3tHgj z2Ev6IIyo6DF<5Z5XxCZ@QYjYZyKJS!dNy3hjKOuXin_lR)N_FTmw-{9iLHs7-iQpZ zRczjbWXwOYj@qYk6tUuI{ioA-!MQEq>xd;e-cv9Ej;3go lp;Q2#4HXVv$k z$VLbny%<39{}PG38rF>WkH>h;uSMlD> {tG_wr4S9`vy(Om_938=uIguKW0AXBfb5-UR2wQVAC@v$}5A7y-EP zkq &q$Oj!puFLA6 z?8_z2!Abzcxpxzq&i J!G?a# zNPSHZ!v5lh72ueUZ6|gBdRP&%`eI-9ZL`w_GH|fQ+EW3)Fd6(pTTpo6F?Xz`3sL6L zFA5d1W6541&&N~_Y^d7sw_lXS@2SxNwOv5(*8<&hG8aZV;6O_9Z|eTRx2WlVWC}(p zxWW-IUE3xTA6#fV5UT&4S`PadJer)YgSY+SKCTM@Y|=YrPK6J3f enHZosDk-@Q12ti{N2;Yo?QU8zu7j0537So3`Rb97_r|!gGI{t*ti)e zYAPbYl;=C|3o|qrv2qW1gqTe;h>7Pv8U$B1$d!ZG|F=VQW_jk*r}+6MmB>}Aj>T`9 zrM`m{Hik%3J8}rFSNKHg@pxl238Zk>D$R;D8OvM(+>me!6xP70iOjgCvwg|yYg1zi z^H8tf#Q%KlC(}u&W=o46HSd pZ!1+=)}c_|nfK>MHZUL)lXSM34jfTgp$`|I$8=qX_?^Ulcu_PY0a`ki>saov_ZU zX(?a)rpB!@VzSsgh{j2r22v>hTUO$xbWv8^e%uF4orIHR(fyD>tw*=ny!%XTGqUUC z62J0GAck~*e+kT}-p@T3nD4xG%!7z2C%&02+Pqtk>vtz;kHU%e#!kuwm~3)E#{suE z{?({#oSyHHgX55G!kSN=gY~jxtBS4`YRG`Cv=-;k2UOnm?*T(>1ehY9pXA2P-tg}s z5&z<={p2#7Dz~YqHX1|MWb=xxTW*=4Vmg4~^g2EazY`s|(d67@%iW)&4q9W@Da~Qy zzo1Qk;Z=4T0;Kn}is;&Z{F _z_~qaSpM^?3n-))cP~52`0;y~| zWDb&L5<+Z` _KmUvIF{VPPyd~~LK-emg~NyfzZzkfJ}j##>3y1~^cz9)n! zGj-tuZJ9!yLMI}N_dwhHGkB!y@X)yN&^3y(2HP5p>GC&ch$kFr5X{a8IgH~w*2@*c z4& U#sD@o%x7xO9~UgB*(`1$F&M|(l|%)EM> z)o;6+%*p4*0yn_vonk)N4ft5*?=W(aiK28wROE6JcM`^8DGR_n8OGn2gYQ8X>+>nF z!F1=a<6WefE1e1DiKnq&!mcFoCdG%h%(PCp f+{f zY@(PI-XNd4HCXw)I{acD14rsrR@(Sv*YAJ8#lk)*%`fdsR{A}qqg%2=%ka>3>5F)+ z+q+u=AC^D=&R4~&Sk%aCLO62qUFO3dKIYkWGog{?++ooO=4SNLO3<=WAr&YJ3vGJM zI|{vdBOb#tPg8NfBzZ|$%WhhW{}CaE3)NTNmfD#3C>o0eeKm6=hTjjSX#6bd@Sv_F z*J w8C(fIra~cP8R7~b^bWq-kRPk7Zwjb zSu77fk2=Zz`LzPa+)n#mte2VhupT5 lZgFxYO?HRGh`-q|5vHIHs_ ziRPT{JVJ7KKxU>Yqqj{;xH8Z2+&+eJPj~$4v9lD98bt9TuQtSX-nmeL4kG14)o&G- zdd*R3u;Vjh9$YSBJ$0qZl6J^Ba;e0DnFJOV*6X2d;5~@=m%!eg599cvhQwlfKuD{R zUvwLu+-0zi?APtwcU2wy!d#6%-DU{}?(9B^!*SkrcGq-Ss;BWv*D9yJ;lEwXc6Q%U z0=j3Ke0rd4Bs%>6AE{hQ{qeQ<=MXw#1}w YFlevgaAW&wO!Py-?Ifs=dwW;B7H~9R-`XLUP*PxZ6^_ z=-4D;3#ePfqcJ2ThOlYVL#&h>5-Sv03%+G9r2J69J5uR!u3;;1cCXaqFKEOgLez%A zf292!CefTB>NVE>6?6=TA%vmP!fd}l5@ihdEan V@cZyj!mk>z?Fb$5v#Fxt`n*@E01CQW_Q^()QG~nx`@<| z@JQQ&Sp8Qdr58M_Thqt#hqt(bi?(t(ZWYt)h&9MNCg*Ug`jh;%*B%$_?@ZU4%^ZDE zNGPBt<3~l7K;b(V7lH%lsrV+-%>BqI8GCc}0Sks|C>94UD9kH^IR$W#k@#JoR~8*? zO;TOF#hyxY_e(O=-510PTComu^zxH#Dk)EDy2-VZ#~82r=~Wc1pY7fJK`k5sbJh|4 z+7ftMYDQE3ZL|jzZuz*Pp!RXlsW+4uHfxoqHId;#@&0)fKDHuo_i)Rb2FFPGB?Xop z0FlD9>>_{up+O-2=oqgE^Ag#zU-}gL_`Am3_YEacmhI7v^Q(5zGF5Qo+d`Yf^~e&d z{i!lISsUz8^ar!F$QL#)-_p#NG=feu$T?Qa?G71|?W}HVQI-l?*qaVd_eG%U9e=oN zv2FgW%)(Q{m{# ye`)_h?>xS-Yf;N#Ph)bA6_&O?B~)4C|6X3#S=(?3G+DLXSX4S^-D2 8x9cn~kH62;?}^EvP)oXZGb;U6j*D P0C%BlDZPj$HU`+j^sNOf0z*Rq-FE zPujXCM)FIU#-utW_)1l@$JVMcw%UaPhSP0@S!uUMCBBXb!1j}0G$evUS4Yjsux^Q^ z?%A_uV1wc@p)a=et;?bv=RKOX2O-zj{H3W=QyTbD$oQr1d{+}fr@6&L|NKN>Giqk- z{D(!0T4>mgq$>SaBc*-?`IMJ0t-%>={mA&G*2H-g*mLZa`ZU5@clx7c3blT=ss%y_ zzrf#htm>IUtCBg9p5{cum_FFtlg~J;TPGb)?m_~R;$6zsRP80n>ps)bAFo45*eEbV z`Ew@n5;j|WNHz zN3ev~4=eH!t9IMcHHyR+G|E$N>Btkn)shQrzmFeb3#=Oem5d033})XM;;ut`zK zglrM&7^FJ7*kxqeWjo2w=&ZQj3hN2R-b*9!cOZ?NFrr=uH^ dddncX4i#rVC za43#@iUCt*F;xH;0`^5=kjav6gl)?!Tw($N270XAXLgTkclq4T;;4vqeJ48ZQg@qu zZcn~mNR)-u4w@*8&!wf=oht6=@3&<6fiWR?LE#a*|L<9%Cn6#=s#dJH&Q |d(NjscM*c#2(g}m$Ir8fA+%WBG4j18K zs0F`vc0*@=)udt8h)rLmeu=DAeGpSWd+JzxgV9A_kTtVQpJQyo`J&6B %Rt zZmz7={6EJB_V 5-<|)dWNEEluWk1ZzC2^N`N^QjgQ2P zUgfB=^qO)GYQQAh@|ciZJaz4O?p>L_%P_qz2)3i0qR>8=mMR;V68~aj`R6@dybfg9 zl6_A5X 5FzNTsrn6Pqi=&w)gh?(QlvtE< z@yTvA4DDC_?Z1@yc=B@OoDV>W0=Fl#N6*QR94TpMY`58W4cWiqK(VY@uRy;G74?Om zSX`LQCb<5m6jzPBrG1{AZ)H2BJ6uM;H7ptK@DGDsQlfoU=5A;%FF!imCDFc`Honq< zJ(^OH)84;%D-ecwf;LYgCc1N#)?uNxDV_QJ!f!z%=m@4qRn=&97F+R?UPKowc2d1L z F+HuR>ZNp9DBp!nBU53>EIt4I#E{Y;Ekq5J_%ol|(NOkJX73pgT; z@3Bd`l+P;nQ>-l<;W-hN =*ens+sNw4A*_KXWpkJPdoXetvZYwvhuuP6SsOns G=JVeaJ7QeRed8JL-vs^Ve~Ug*$loj{0FwMiNTzA=?y#V&-<>%CZL$_c1K z@@yKtXE-~D{{T1Z-DHU41!AW25S%mX@euz~X{ZF#agRh{5h!A{7lQdYE*Gl)Ri7M+ zC+ER{SdJbr`%9U2e)|zq727WK`JXx??HD3sATWt%!hN*9bjR=rHm0gDp+IMr$U{dx zpHOpWNQj7b?sboZ-M03+I+X6fZHLnHZBG8xz@0F`G7tdQ@4Yy!&l8<+u&?_M#8F3c z%a#dbjy1h7o1oAo-s%EV;gt`!qNKlNXMCI6;zQDO71Lj&kbY31n}u)l7FXD7n$uf~ z;u7%Lx73K*E3m{4ftJIt7vVzdp%?9`9mx wr!{M@h51&@jnY-R;_KN3d zYU~;K;Rbd5)lv2GOXQAp(S;-pk-3HMzvbAZu-GKf)QSi>5oXx}u&<>5WU87fa;P4A z)A1pq{>ncT|BqgV#wre;`7@l41r`|_FCWcsqeAP6gq~nSJf 5=<#KPDUqfW3=2D z+#SMwP;oE>wf;Dro~VE;Y)Oh~TyyPJ7VU4+J#PlX2l~JAME@|*P&XUKFc%Z?jHGV8 zjy}#F+5T0!kF?nq#ToyNerv9_?7Vf==|V|%m8x~{GqWAuhh8d}9Gpvk-hN96?ajcv zB!}5f`Sc~Rf5m}??rG~zANRe<6yYH3W*?W|2IUT6xv0^YGJ1t}8C8&n;^`9DFO59q zwN4x^%5)nXR$x^$0il53n1Xel8F&J#V|L(3b3V82(Teb39oboBM2vF^zixf}EpM$K z1HQI8!*xE`BsK7%{ZJYP!#O%|*UsjG$!2w!o(nBzW7olv)Aa%@S$cdcQIp}E=Q#P{ z%p%O~vGrdD-{$(4R!}Kz?b^M1rR8ab%K&;u!VhNyj|m`ITi_W(FM_Z;4;Zsn<$yl7 z>Zm_i8d?|Q9 |wyAC`-!8JLHV*m-cG@2;5IY5$zwMF} z*l_dv?UfK8Zez4zqiv}L0%xkTiKsxyYfGhmooz%;bAi-7yj7W zwkF(!kL{0LaYqK-v~=0R5~>6aI;%M+7J~_+P1^kyV-%>DPi+%x>M^vkjgFeetliJ8 z$PYOmce~*QjXR5k6n*Ezbdi;cz;RZ%GMc<#l3lRwW~jvFpY)UMZ&-V^hHB>N4?}}g z=T^A#oEXL|TpUjs9k}Z}8gi^7ml5TY&C1PhA}(FdxpCorsli7ut21}8(k(d-^JwY+ zs{f>$+Gk{%o%!X!ZbH3rZfaKA_8Q +4qMFZJBSS7S2m1HaE-U`j;d(jA zEWQ7a26j8DxyJK1%N|K(1BF@Mre$i!+pxJv;?FbLOIum;bQ41?%aP+g60hFSr;#ip z4mb`#|MkVHG~VjKSu@Xk&M1KQ0->IAr3BSvE<>pLA`J-skOYb4R{V2^>()NoKlW|? z^OV>C`hz#rrc5jU7~~+x9q@$&tpjEGbDq0D-_elGmHq+o5b`H{UsZd|#KU))q|E45 z23(GYqQPMBzbd@=o$<+=C(o`dge!bsw_T~puO{;aKqo N*9ZRu&wO#YT} zm1*GLlaZ I*Dff+(JLx!*-+($n}h&k%so5MIEUFC&ue zWOxO@VrMRYn4RVC4?k7vHyMq>&8EM+YJmSTkjFjnD>hR-)Oo#+j40#w4c0qde`~Qo zXv9dHnn}9SS)b|hs_5bqImPDe{mro8h-_gK8E#c4cU_7|*o;i24!K*yY#c@V2i7~| zSCwTl)}LJ(zJv(jdtgz$3-`^4tki&H1*iM0hKv85sA*pQj7=JgMi?kz^g3R?peG+= zy1R}zZJ*n_u|OJH2v7hboTW}E!Nl{(ha?B9sb7N0ujqRUJ76^&59rV|FD9`LR{wUb z9J2ETVtL64)9DAHE>pSq2fp3j!{**OS>OGc*8Z-@C|82LvpLKK?2EkxM7=I`oO4(C zrBvGB#3cyxvAfd8p _ rTxZa~h4@nGk*DQLvUT z_O60zXP)U?sD|B)TlY@}gh7IdH;6EcII4SzgXvP7MFHr=oW9%Wxd?#<@4~lciZ06c z%HI}S`fHw1sL|Xw`6 QP~!22Dia2JIX`g8t_lBg%8H|+SLSaMH&ooQ+9H)z)9HNVeNfUC4M zVQ`hur3pr=X03KH3KGF*=eqogo{HXEf8njmDXiBjU~hDBV*&2U7THvt_SbWc((K{3 z!d5)(0}LR`9a|9)kfi$je;o`2Ss(Ulne`27B9L_;awP6n*mPP9k@;WZ3N)(9HxztN zd7WRkUUziv)6}KZJD1 xySMK2zL6OHu|wCF`j@Bsti^#)*-DJ zEbVlvmQf6L<}Do=uxZj<0BlnCb}`f}Yt`wapjZ894Q%Zp7W93*rS(r#Gfjj8aCmRQ z>jOK7cS|2%>;i248YfT!C%4D>i~`Oru3#$_{V}$HH*^O;IO`SfO?dchm!ID`8wOM{F#$mDeT!oz 5E2hmBQ zmjB{wzFw-$rrYTJai1RZu*x2dO&Yb~+woMr_%i~LZU73)7l6evS9*ywX8GlvuH|MW zBqi`Poqg{F@uR4&LiY}s=-@7GMeF>}S-XAtzq||aYeSe92szVa`6Uq%qS``y4$51Q zg2&1B)pAje4u`kNs+r1Y$qS)|Vi^}k1N^;bV-<`P4I^etDNhJ5_BcfhQvc(kcGUT= zR-$?N!C-Wp5fSMU9}`$dt^zQm(o6mv21}TELMA -o;fi zQ&(K+5E2^ojWno4_y!B1N<6IPx%&xJcAaRilynJ4MNG|}xAQYa_1glT%~Q~ScAM-f zS*u(v&o&Sj`h3W@{MxhCr?iI0HBAW XMbq4FYt4=Eo?GhKeu zDhFudHYvo>hI^nno^X$kZ-*S``VHTAX3nuhGA)^zzQ=*~Zi-B($*@g#`e}+Du$2*k zB-)lbbZ1sqYhX6{_zShzD=v$Jt>3)oOc)(_X|*1G=OTXkENl8+Vx%=agm#%x(7#F; z$;qTY^M((n$hQMH2>#*j35Lw~T?ef^ izUy^I-rl`!|`Z!b~Lwa-;E8lMgo21M5loj?5RomvPwkjS$EI zaGy@*Y+h)jkJ!pP0CpLGt^XZN{S{{dj8m@_3kn;1b-wL`oN6jW0=I*R(Hi076}etO z0zMfHqiq-E^~owb6hAJkyxlk5=!3IhARQDF_~E_X#+S-kX|K?*Ld$1#m#>R6M-& X;~mj=4gCfOpwveUi6!6X5AUSPGAOwOo7k<|@ D?<9tr>O z3VwH^_pR}LgxZl~M;S#GGil6src;(7SFi982DG0iD 9PQpWEd=R@ zET$ePc9y(J9Itk#c;B^jW^?_rqBj*KRi;-^z}Fc9R+0bOZRh zGB(*(Jvq*a&&-C z1?VaD#{m?$T?qtjilt9oIVOf07>&n&&Ha#dryH5`KRNy7h9J}BE4Q7(7es<1K3Pc5 z%^M57PRy2Bskm&vKp1>}N5-dep(gfgsnv>zUwm=v!-RK^eMNKer8r(;uy$#K;23GF zG>aG0F89%=Fa81l$k8*%DNN^h7wR({U#mblsV6Z>KL;>}6;A -iguKm%o=@BeAB0y(y$m1uZGVdF><|U zTYK9ze~Pi-g$=!!@F(5->Z9~R#wzvok-d(tu+jov1B%_L4tYbga6T6hK<`#a0Ufiu z8!MgTmHwwJ<>E=F+4l@B(iKeY7452n HHZ@v$H6bS3eHE0m}JV@9E04WidJn69RW zJruE`06Bw97s@l~MWaNynXi|$E^?d$dB~L!Y}%Uc@;KmzfZZ#0iQ*QR*;gewz;( RY`SHaN=FzW^9v%HuYWwI^?7b>52KlU&lwHWr)8=9Cr=6E=-jA%QT?$%4QQF z=>x&w-uRdE=kn*g$8NIKLRY8H$@T|99#5DM!jE&~TQ(hTp@}FcHyWP3h7x;cSe*(l zrUmgZ-Zg&fprb>ywd}>FqqGDg#N~|R%o7g1%8rj1f1NMEbXjL%zA=~?qmn*D{c=s% zY1W9!uy{uWHt}hT_~fIz*DV48LPbe7m%HS{IO^41U^&G>pD3@?< H@0xTj?#FPI3lIR6@-|ZX zNcvvz(iJ_IAr#Gem33+0f49qAfo**Q$lD|7<2oL`Mc7`E>DQ5ZJn--vv^uXBTfyAS zP>9Ac{lh17c(I!eu99!FWF(9onMeoTb^!v6%_^N%fM)B!G&^}gl3K`<6~jjwqB7}Y zFhGR!CIp53W4sOzZPtXnbVx8D(UgT$ZHdyq5wwV?hf4Z?n*<^6o>eVyg{9t0=``#k z!8Ut)^ zDCQq}){|@@{oRXGxQNBI9C3Jcx8P>_Y4P`y(W*c1SLPpw -_A%P{wSabdvylunslN+`pd9C*=0l%}h>l-iF;~q@ zw0RvYW5GIy{#0$G )wtTHvb|%~BxI1;87H0@D zEYv%}A(J2{PS8;(UZlB=6~FX$-N+aOnh!Hdzr~MzPR53@_ts)y!6e4Y6QI@=kF9T7 zcRZ~!Fn+5A$$jRHU5P$)YNR6aAL{Z?kM=lcyK68xNg6)y1Zo?km@e-J8&&(>C7ZCr zfqvNn)t$Y) 9QVSAC7} zhl1CQFuO5c4bcWx9rpHJoe$+_wqhK*G=IkZH9sa(NA_cINtVI fXC zX6(T)tscgYVE0x8oK8)XdlX`Kue>HK!}>=Hc7=(2s*`b|6$+nq0vED4A_R7CogLV1 zI1J1Dy<_L#Zh+_UzWv<nyoPP!0en=st@dv7H1XcQrn%=Wv=3bZi#}n!9$2L(ZOe zLFhXjbsZj_bX<>mm)3vcGceJ^s1qmuW5I9OV^^lMl>)7X)4dV=W|C00*lz}mVc{S* zXi(1s@T_~t!|Z =yH}oJl1(_h)Dv3Vn_v2H>oJS(ObTXd=82P&dOeqTF&vZ`# z1K7ELB*v)`u(<=}r$_(_AFuv;`)2nO*iImI-G{gK;qr^Rf${d7sC7r1!4Gjpq!_MN zlo uG&g#&;5jg?gu-IGbL9c{DcpJTWDa9t#y%cc-==qyaVqEZh*eE*LT;n4 zcKICwPE_}SD@^)X%Z{6Xv4L#*5Gmj@F&<^34foC?(2hRfqbT`m 1qaC25Ofa?ZX``q_iAS=1$bW&pMN%0-BwxBT=nxW1i$Q=rgpkx zJ4Ki-G0)}1W^F(KFS$oU;efKvW>8JhmSemwmI@}X+knIwuuLLRtbAPGr+{5Mz01es zmvUl{ko3O|Jp J|GhXiI*$Rypc?nyvx#%tR~A&VwYGpF?*0| zi>18(d9kA*wpY|xpY&@|r5BTetL1wy=lI6!$%)5+1#A_quMzG^Juj2lYo8|cm%8W& zEQi+jeYBPv?@ih4Dj)h0hAJ=Cf1tXz?FTmdo#xgbhRf?9-gpdPU4sD9|GZAoR+D@2 zZMO1-fk0g0K=S@c!s}sar~Qtbu6Eay5O42UbzE%us%n~ 44`2Vs(#tfbTJMadx!;&)$s#FIbTd$)Z@& zR1tKR*lNSMwlN&KXpagIBS~d|<0HZWZ||oBsBqAy%>dbOETY9s3;#7bdqLy+ijTMG zN=LUuGe=Y6C}S5hw+#!4cqfK;XYyA=kD3=Bs4>eubnsWP>TE)!DzrOi2 _sTw_ z0j(d4C=)_)sKGFKzZ^-Nj-TS{(2$w|6JC@5j~v5urEah%TRiaQzxxxd<6#H+FTMZM zC7Dad*uD8PRMuZ{ssguR>>0u5ZpQg#TtEXQzqo4t7u>e%G1 &o8nGs&{ps>+uO<5tYsfK9$8b78;x z(@l#D@|V899AR?b@-%t)m9HZ)7W}V+A@+PmytVz#i}Z3s{o3lli7l6`qch%0RyBP9 z|BAMp##y%g+iKPFTy9}oGud{ns{v>b0Ji)UfJk2mo3(syKqUv)%0+#RSCt#@Ick#u zB&&WRJ#RgwUg0~=@p%}jeg|a)pv9jqD@xHQ&xeJtQg1`|+TE2@F}_8Ea#?V5<~%7( z%rDtv*+z}}*oPs_1;*p;@Mzq4^mkUHe%AQh@boJF1ie7i&k+6Kc5!G5b6c}s(UHl7 zb#nOKpP%uN!?FgWAlC%@C3`)A6&&A$(wslGm#?;T2`k9Fu0jf93UB |3nGyq2mT3`jmP#2RZNkYla9V16AJ6Bl$kbrcG$sDF63p$`L zG`{(XN>Q@&VC$<30)97l=bI}lk!*{fT3+o?SMvGPFCgWF?W 9h^+q5o zy5P#AzYPBN=cuT?A&NhP*))a=WIGAtg%zTgC)s(q` r>uYFiBu&NJ3 z )G&oom={ z=Kru}>g|4J{Ce|G`Cr*c?8Hx%w*i7(D`H-H9!1-s4o*)1`ev+pVnWkO0u9Ey-TXs{ zv|N_xEn7rw-cOuF1T2K%?4nvB_yn*5E?@<}cD}4UvYrK>J}dr`pydX3AH=RvknbQ5 z0;N(lPw>qn)hw^(Uo>Mclng96h84yq(q;sW@O9-T=sel?%H2-m8}j(kjOIH&NYr_e zXA6)n-kTT5*)Ztz=)x&gi^5_DK|2o8zP`;qw~5UER@H&LC~x-E1US!$3{nUoa*yRr z^gg$Q=78nrqc7zti0D$B#P<)liC`O26&aw{D(wf`Zs(D b9c=0u8=a6ez#ZiqD1z8|1;ydVp)Q)DeF&aLQ>XcpJM4HSIWwPk zdvt!R7~0W~kE4w71n})q%(8xM)6F{q#}7-6tIF1N#BzzdCq&bjEV_EWzVEiU5A8WR zt`4Gj27Uq_1nzI-T2=O%q&sNb>jf+p^vfbbyeK0y3xf-j0pnlfI3})09FMpi!s_pb zCo4QXO~k`#?aNhgP!2SpQH3fKo9Y>*Fr4x?!1puWgkr*l>nw~NcMvn@e@j&!SV{Uy z4oxUZ;X>-Y;=wL!P=bSResD;Q(aF(1*R>z~b%Q@yz(q73cm*tgxO|8!*w}m8#Q?!z zkB1Ii8K=1Su+_}prHu`rZ492fc@mc-i1Pl&?QrjMJ&mUo98`T(M~frm=E8~#jg%fc zKbnw(cp7}gY3v{`E#Q0mcUCJ6{{Pcj6Km+=!qE`4QcM0((OvFABort?#GZmRsMpK3 zHTL1^a#SR4v>8{2zvMtGC00Mzf^Y0d?@|blcHi544j2CSVoap)!Y6D5AR-IsVa1Rr z@boQu^gvSqj27V$zh5r7*l+jwq{@x^5Vh$`eIJb3Z$(N*hG>IWuU`x(kCvToo9r{h zu4A##tyO?6#)0FhLVBiZs5}($evx-dOC}T2nLJB?1?MpdvNnewH~?*5Ne8C6Lnzr- z#-q_fSB|7PpQ(;B31Z)sPmC)_Tx9a}*CMgMnw~7VkR*@Nt5wM}K!My3CA@o_Z2tfk zF%smC4ecoaoBh_MM5j3b);Hkfr_~yH=Y&Uj^JRn%_;d%QH{{=eVrGy|u8FBwKEgQm zYu^XjFl&gy!gAhHkb8uaJq4fY;K*A2A3IFLFj8mL?L8-pmAQt6L0)f_x9=9VEY<2h zPZz} 0qrE_n+@sMSCuB*>#?q_YkAjnMu+q~ZmkP#`yNPhq0%gWwCo3K;H++M4$1qkz# zfb5VH`$^>To)bqx*d+e|?nyjI3m5Jf{7k<*_ao>n=c+JPHnaAj>s59-9N+rWy6!5a z_A j^O*p z;Ppl%=j@txQmYL|Y65KRzAdDS1D#WQiyF~)F$npWv|=yc 9~z(&=`H8NpetAon`u918{7@uj=jILHe&Zd23_k2qZvu5`&N0i7etXeKvehA z-Y|2D+ORkaHD#wv`IeeYG%b3i;s^e{tE%(}SmV$4jbQ*unY)6GoYHAordxOe&Uy r0cNxr_Z> z_51aK%o)YjgjwUK+5U*DrwS8`2C`}U$ec1~x_N`9cFpT3#4?N}1{YEtj@0u3{uq=8 z0J)91F4UGBKrnDA-YX7xzDwOx%LqHizu#vUxhUxlc!&*9K%Z`#&0n(JEm`dlh2C^u z&VpNl(V2k64aj|Y6XF6WUyqqC$;eO{hn6&Q0(Zh{%+@YRa`bT;DoV=koZSH>o#{aK z0NicWU?33kx^YqWPwM4Ml(XWz#&8hYQDMR}k8ZNs?<%8E%C7s-<&Jct)t3-3=iICn z?Y?XVM&LG!l$oJX9C!IWSaIRqj{iimzdf}F%>bAGy?B)vBR*$)ragyi=9Z)-l#F|X z@n^CIpOXGB_jJBfYC?bm36x9E_m|dqQITDFu5TIS9!Vw02~4@y5r)m1J QQyU9GP3mf}izVo3s5T3YYGl z_u0a6cjPd_8)^&oCB#VcH2XlD*A+i^uNG)eTPXnA65 g86C z;w?Yp{#U-Ce2pydqAQkFi+N )PXKwm7>TIjyRp@WcfRelv0 bD4YOZz> z2Dar3(?1;=IcWXX^Y$$YkJ!uk#^3wi76+WdV~hEJT<3TjA&OKn(P|HCDuKDj9srw) zFkR}(B}esW%6sLIzL{K$%cL)Hv+ZXP_?5T%&*;Yuf0^!Y{uay)F`IUq|65NWSkIVR ztKv2UKS#g21td ` z@Xxi^AL998wk}!?Dzc4wmB(J~r0i{`G391MC2(<44SWUomX)4Y^(AW&0G;OsV555J z1BGGm?&YA+rcIR!tc6 fbox0 z_XECj7+s)W+eQpgZ%q0Y+!OlsuX_=`i~xU+rRe94)miPW&Edc#a zSek_eIHY1uk#A{4LeP0J$ccYxqYc~Wte6R@8GKBd(z_^mZSAL@Qi3fOxWF!U*W7}5 zfMiWi2EMEIeCPxR#0)oPTuVI4v1 lB3`ghdQd4X DgW(B{t mJ z$L+;52WB5e#TRU!4o9v%^u~vH8j+} f2k=GmlFfzX^ahVZp<42@9i8}ioIwm2siPzMZ}{igb_)myZ^ z<2AGpThxKKm*_peK8u%8kSa!~%KcONX4Llkpxgg&C;TJYZ!6?Pm1T(~>lN$Gm m0 zc0Ns4p)8Zof$uYbKBV;Ipm6hOPf|d6G;lO(Q;?zHymL91V0%rVbPklEmn~Kt!9v<& z=CeliIc`8awFuO0P?c6`A87uN+~fTeD6g>I##een@6L`hk^?nm$2Xa7AbYFhOq&b( zU}-qYdE$|->JGd+O}@F?{~q1yO)+_C>W5;7tB@S1uELsk+HZKlY3ZR==NET<0D~!< zkSxSJ9+h})ZYux}-XUX9SW;vY!}8BUq3vWy1X@?8IZLYfQZ|oR$-hBa6$iI8Q5ylE zI@V0PcWGz2b*6t}e0i7#UG&fl-)(%Oji(7_IBhvIO?`_2udmv73Vdj`vl;3;6t5%= zc7NQFB(qTD=m@$PDl 6w*B&DqNK%1_QB#` zLCBxAKEL6d{p@W_bc&pc|3{KApiA>!O6q}(I*_ny-z}z_O^a<;h8^2UI*!~hbr+#w zJyxu)G)YmDe!W`E#aHh`VZIvFR_6pP#*bEQ3k* fL z?Obt29bT(SK+?F1cZ$}%wc3sp#ZlHp$gv1ttoW9?X6JfJ?1hMIvD-s6wEjtzcVy}* z<_*@V{pcTG*C1k=f~=VsJF34m;DCI-j`yii0^HguVBwZDX%9J;(y!v0Z4q9u-5oc+ z#U>@NEQ*=v?~71eJsy-BowC@Ssx9CZhyUjN-Djd_xC=Z!IPN}Q4}BUl4^TEorz$vD zf*_IYcV&x126$3u=LUZo_;d{n&Yi?uE@+}o^0mV>A%D5E_b94hcu>Yhab<8W>TeH! z6daeMtO$H>uuCbd8H`;s(^MV~itf@KW1IF_yw_cZ*1fV}tD4SWs;Il&_x{|6B97%% zK_LQPW4Jt@c 5igAiK`x zkdKa6W(4yC-k7*d@$#j`vrt`)6JmWY;#Vrz#7e9B!!kKDah_%2Hagsx+4Na)QjjI3 zuto95$~1=_nJ!jmv)f9l1gOIn(X*HX)9fa(8WeI6B+wM5^tU)e{DE&i4k{0$3W9z! zsm;gqtKwx?kbYfK3`a_?-^4W5EQ!GqR>jeZe%`wU?mDI4r?VYuVfOq-bLl%3UtMP> zGz>r%zolb_OOLFfyzRvE^g Ma;y=EY3+edGC=bz+5WAllMG_arj`Qpp{7+Ypuh%3zGEE9f`!wR5g(JJ3%ItU z%@InYN2oMY_2|~_lmfSi;<|vIQL+yFe9X(aNqYwh+ftsFZwI})#MkoTGmvCuUV5~w z_clYSplp-!$fZ `P!U!xpMq*^@}fYl|SaEEY2mhIfc*spk6mk3)nwS83HVUH5XY6MOUl^ zaaU #zeXoN+-nW$T?qW#w5+sEv|4hutxBF&wOe7><8Wwmz zS%@fr{)}&FLpoDnCzqqHW{n-VO0LGbVUa6y<(gBE3*Mhi>}i=~tsHOT>(c^z<;m)N zVggT5q`W2T_& zZiVugEPic57X4T^l;e zUC+!Od3{-%<=Eu+hDxUQcVf|`kB6<2vzxtlcI;%8hLc&zxaa1sy1$KdH7L0J`QrQo z#?c8dfYi`D0g?v %fi*>?ecWTDrTR3Bk2}^3!TI}7b&JD>2$4LF z)P5$uahPYqV?aH_ZSt4rQ?^PG+Ao2pFAxqpiONqmUb~O;XO*hEp7Hyp$o@A)C_bLU z+~~9tJ-hF^h}XC42lu5w)ep_^Nmd }M$u^v0`A%Bspe1vIwE zd&gUiI{uYWIeXyKczyFsADUlqki-5Ef$|qwh7u)eOI5$3$069V`&Cr&Q-lk$J89*A zY;6fC5E32+=Qrl3qvP}*nm*>PF#bX{Y8HXi*1ccC;}2HP<2VcYVT__q=4x+)S7}*E zsjmU 0*Ej0=?UcK#uAT!}2I1wpyIN*#Vwp<;@ht=!j+9u=w_)@1+Bzuw`WNf9 za}gS^w&brVudv1Q{fj{*^kk6}E^#RpHYj_RBRCWX*Xx< +9uJ zb=^Ts6D2nLfE0T03G*Q4JU%jgknFX?=c; ezc9BN=6sb?m*5nK(Gk@qg(1yZ+Dh zUhj2PpYx3Sxz}^gTAo-6Aw!`(L-i-=%W@_&Ga&Xz-)P;(ffc^fR}7x7_qaGdPGK(t zOyC8W;62mb05AcCdT^=%&Ex`|QJawi6g!FJJx2^3s}?5G79z<)e&5kEvfX+e@~*=; zw=&d{!;Z(*1vYTm^F7WQzMC)i-QBD`x)G$fN8iB4sl9ef)ij}$h`0} zar13VzCrS^N%i(~8Sm9Ps@XUlhl+cmT6T(1NkCwe$^Ev*2fjrhMwjTHOjS<%n9ak2 zJ!20IBW?~qDjz(Qj{r5W-Vf96Jl3aza>g$ZDJUs_mPp g$0{)e^ADQu5lh#%TI7Se9>N) &Rkn?ht7AsBwpw8mOOXZ8FRP9+OHbCvofu2jtG3E$rv)ii}_;NIHFIw zh vsZ zI|j&&;4!B#>vZx>1@%=C*SCD8YOVlJn9e_!yLMe?6GLIvTHUErGUQ%Oj5PgM0u9VC zdC(46TOU`0JXJ6*U$^yCCndjb{ T=akp2;_lquHyoW=W@s z)t|3-`>X-I#`iS5g=4Phk7ycD+`yRe)EBt`yiH^NySRAyt*V(dAsf!X|HvPATa+#= zKM(*& eR-tG#iylvsg)NRw_hNL=@PBMKO} z`> KEBO@+vq-R%&x6u zP!24$7GQ_>UN<}5swIAuheYEqr=)>eG)uzExLk0Z_TV} ODFix3qFPc2vIUmCIr#^KSKLp-fC-`rWF08AIe%x5 zivtk(u@Wp(;gViQj>^gUc 9dcNsyG&Yoy9}o|*Cet08~GT^`_LM= z0-(fNa1aPi{O_Xuj)EkW8#T(%XF(2d!Ah-(LR0YXU 4bg61TmLN??K!ePH9*(+Y?0o_`cGmSkxV!%P3SYf zNX`dK8Ut=R3nrf0RR2sP J95 ze0;+}JZL{_TX>94b-%n%GN70h JCz7^l}=( z)(hv_cJ16gYQJ4~?v|61No^tjg7g%yIW}|EMfh4+)^bMzv|hwEYUw%<5Y)T>ZHR96 zEXjz02ad`!UH4HfF!AZQeAG`|ugra&Ns~5@_12(I{yYA^hagFY73e?S4;TPx=3FLL zLlMr{j|#BsX@VYrU|i$iI5jJ*W|**w2X0O#yiCv;2%5EM5?FW_=w{K%aca32&58yx z5MuJ1R{xDgoQdEO7e^sqwH`Hqk6?)Ue)*J{-**Dyy6hu~CDxjx!BJ%Ndy@78h@fkT zQ!27h{3%s#52m>Rp0H67obfXuF|RSASI Eq7~u2-x8-!w)L1VQGcin0+EDakt3S~0 zZXgF^)`izG@P!L1v@I!|CCn|X_u(4nOlVv3IBx5lr^}x%rfWe_X|Vhh&uOCX;tAc# z_c&~-FIAw1hy=~a&vpXkV(PpEE=GwC*R}U!g7> pg&^bZSa88* zLy8KU=nrR5`6UQ4P{C+!HzTqMIO&-d*$^_W79L=bqJHsxJ5SmJ2n 7YBnK9XfDUas2M_s;P2F+SeAmQezgkoXuJy*s%* zNr(F`H<&|aDu|b+ySZL$IrwZMs~Y-$6v1~-Z76~ET!jN*64j`lh6u`x_{3xY{xr7O zhyC}!l})wp9q|0`M?fPw9T9nP9&!( ^y`3ii=_$!`TlylFBP4H9!|2N*wBjY@ZSPwD%lh%4ErZnCY^n>*5 z6#V*RAHkN>1=zu7=k+Lv#BV$%X8O1A88E?LkMfco#D62j4`brxo6J0v^YlQ+-hDG3 zwB2TSpF_3TjfMZ-o-IO=s8jhSA}}7VvagF&G4?zQW?{T102mG!kGgmNJO{4hVQw{B z14V_`r}QGK1*k3MGd;2GnbLOl9c1*T$fTM(Suz)CJ_5WbLGQv0SCPf&Ov;~<>5|`) zWkiY`0soj$0~Zz&`k=j=dB`f@%PE%p8=~3u#6M~V|MMyQxvQE_=p$47AoKzQ q z?G6Bu@{)ACt^xT3ne==%h_}%3{Zod}x%IR^2GLgW0ASh->^|%_-DB@4fdNpSnJTQ} zs}AqTY3EchoGQYScKJA_@>3f==?z)xF6w;Y^{4{G&B|0fmeZEzIibS%=JY89U6Mmw z8Sqldyy#h_$uT#tgkFVr5!5wDN a3P=MuZ_Bye8{3zFz x>R=nzXqb@-Tzh90R(7_-5 z4-)b^trR4b`nyz>6esxmW58%~^VY=~X|ikBoiz?$c2*EL1i~ezVvi4(au4gXXJjaK zk(95GN*Z4XVBXJ^p~I2}G#F;~)XW w5KZ&|sH;VZ)FJklBRYs5JEl3mhbsAFj`V;F*SQqNk~Pat zW~N2wgNkV-Ug5Y`ERt(QeDp=o(okt%7jouE*qtOX>^1o(y}}Cqz< @R z@m}M-Ej=+(BLF;kxW%zck{h9Ige1hDCYQK5U}?2?J?TUGivQXNxfMCf`zCOkMv((W zp+$`?XHXq4oHTXve4hOzz20!Ls<%{~OJKg=nSk9Uk%;Yih%PkI=2NS3yv?sq`Bmp4 zP8vG!W`0J!xE_TVAE|nEIEZYPuyG;Uw%Uw^wmtSb5z`mk2}fQN{0U){DUMHy7cL6y zI4|?-d)@u+JedMv;|q`8 #lh W>Xm44lwhOTnw#a%;Ak48S=v(v`UQ&S^CK| z?>gTeu^GQOr1eWaC1 oi@Xp3%iSaXJ-%c~QU~98RB1Kar$`kpQzYB0n z-}m${o-FCrmrQTH9LW1)i=ynd5xyQu4M{QjH-3c8eSD}t{jxhuU28;}!DuOg{;7rm z^!M@)Sy#y-5u4t(-~VZqL7n5-Z$1-zio0r@hU@uN0Y1}BiJ0~-_#~BSAuCF~BRwhn z2_dPs>4>4U@3NEWJ7xdo#a={MOUtI07Mb|_5;y2uxfOJuFUoPCh}`veMlw2|p;7bv z<}0|wyU3>E%N{DvuAQSh)mD|106K8YWj$Db$dCJrX y RE46s4zjf4Nu8Q|E8>!S^ z%TpLFJkwv`Ok?11us@SPFG<1N#($9Ji#&G=nvmhIn5Yiw__X$-sIac>{9-fPHZhqZ zDD9Rp6EKy_$6${vk9Eza-P%j+PAD%)PHOuI)&XmZ#>wDw%9b3?XY@Zt8>b|$KN;8S zbO9s`RHcC{>}k;k7v6Xzx{n$lQ~NLN eN#Dz_=+(&^Orgaflpsy4lSkQf+ot$1_ zRg*#(m)TzBBepr7xD1Rvjzw*O!BfBfYj{Q}9R@t#3W&o`DiKjP^&8Qy_>gdNnK3?b z%loi!UR~r`>l#{x49@4AlwL9~n!Cn_6 9XEea6)5t49((hm)s{#L6jQ!eE~ zj&m#zCNftWa!-m6$o*8yA(}b#3V$6EG%hT*eu}?>(Rhnso9*e7+&3+NX{)pkB(|
fKPeuRRroE(V7gzsp>=)nxXTj3C1jV2`t&nYeukUJPwHt?F)Q>pUEX`1 zv|iaU?*OP9In~D}R3OwKpfvlF9?Qbx8kCc=4Ndlu244uJ*-6dBjk+qIqEB-5ufpmR z#*@ev&)^~Z`SJ_n8od+i1-^NZb0FfgTu1i)9DXXFiZmSV;=iGGr8vuWqR2pd#5j?u znjap7?fklgFu!s^fpXW&$|uGA#I-I4Ygz&;^`kgYZC{iTDv&Fl42DSRT8=uL%56XE zW&O1g)X$IJXfs}-UB@1Qv<@&1#9V`3WZ8QN>YWhBWTG1in<9s-fC|X>NPb@my^Omf z^XG$>Q+!V1i*Y^7=EZJn!fI|PBxrW$&$6VVX~oyI6AdeQav6fhuzcrFHH*A{8gHWl z((^zBkMnJ5a0O%7l7-ZL#K)+|=;?7-TI-m>yg%8{880kxl2k15+yGhhu;=GfJo{hN z2Q{7FMHO%SKwT%}>-SS)re`G~m+{63Ruk{3KG0Nmeq>hdy?M^JSFg`}A{P2(CszoY z^U%2MlRy2ZM?d}W|6&2;x9%LYRBP|&h2T4PEx#EjRVxhDkrI&z91?X}stp;tgsFX% zjxJ-^DmqTdI?A-nKyuCn&IX2wo$C0&a`^jVs5IQ8wn&xrtGHTYvCZ+vOHfe2w0vv? zRc?o+OBdwbF*L?w7132-?dI#4fu+FhAvchve-KMBqmk)b+>hV& ~}N!m?{hF zwySJ zzVz)&qD9t*Wb!7h5 zj`bC2NyU1Izv!zhZV)b^>^)j=Fizs;pxgrnAuzT%_HQPckR?>Ew`;W9$o!~rDpW_~ z7ny)fKCU_mNzx@vFP7?bF+bdgUmxN5)FQsCHvQ5#ohaL$p2fl`u1t(LUXG>~pY xoZUo$wt~}$4uqQ{5=* z9blR`g^$~Xz-sSC9vidJ4+RyvsNYEjGu$Y*^C4_geOfxmBGA*Eoqa$DcbKqT8w`Fe z^ggTb2($8XNpER{$+yx9&j&R;Ez-VPpEzskl8<@Z8ncX-!d7QvM>YF6=MZ7&A&uY} zhGxjs6ssx|vrM>$3k{~Fp^$y{A-bo(17%idJC&yi5-ltE(ZZ)2g2s2~zhpUvy}zxI zxA@rpb3jfT!6tW%C oO^XD4%mLrp#UJ9*9*ixJa0NZWdB@ifLiH>=h*)KCiO zu9+`M;H&MLNT>DQdxoB h Qrf+4QO|GOA4ur)YL)BVO9SlfJDqUJySmZIP>?IVFvM&$mqv!uwvzn!9dCe z^-VWbRBnwWInw+7AutVaOL@o>gB=H{I5viad)9(@_>7tSHD|(SM9}t2S6!qqF8uuQ zA}GeLr8dL{bFadDE5e_f5#(C)1#Y5{_^j}6Ytu)CeW*a`RI-u47lpfV{~h1I(&W6q z4=y0EUV7ZC9 K&)*rMq=vzG@f6pV+oWF224vx=*6X}7bi7#hou;<% zGSNL#O}l2t7yJn+(|I9T88;4fI42-M(>rr^)0Z1kx(DVzQ*j1&0G8h3xclJvZ>N0I z1*#vcyRjp(BeJm(eL(O0eC!b^{ZJ3WrZa(ZO(&XPk7zQKUwbpiE3zGOEPLWD={Hcj zC|ASO(wA*4^c&{gb1WrXP2?>cnWq-9X88U$RCuinU(I@gL{k3c7xo)Rxeqyi_?Zoz zpV%nclgLF@oGA!OP6 &2S@yo<#<<0$%iG2 zi{+f-lI?unZPQM%-u&>{ 4mT`NThvSEXtYKeHV|1 u+>Poj-(VlQa&P8e8bv5 zRokHT295&aYx({nXjxtlJ 4EpL_6Fh*BG!mrOOHfbD> zF>B _#K~I|_c?y_CkFVSK}@*1B! 8~-Y1ismZY1X$=TjObB%Qvm7&Yqoc z6OD(vOKd3g=AWOu6H4tWMO_pzH;T#~Q#Ue9m4m4(uH|=1N>M?kg4@_2J?B2@^^=3~ znjTZ_3}Wy6VAxzzS6r_$OGsG$eZsK-`w|Q-Mi{LzjHL*EZacHA@JE#S4Rfu#lpy&- zWyMg*(Je9oEJ;d}vtq@FC^DnSM8xL9-Ts>DYOy?b;eV)6BDkMQ$BXXCl;U0grSg5N za&0?L8TtbP7%yQ=FNE-Bf}|GE*U$R`Q%LUB-Q#{QbfIfl+Wnhicc)$h%@_T4be|Q+ zfDfPeB1u03eh}GJ^48IyiSp>5z^bwl-*=hlS@1E c1?w*IQ1}=|8e!r@{M6TPjv4%eG@b5dudG56nr+tBR zaf0UryPvc_OK2~pwrC6m?nl6Yoc%Zld%G9mF-Hi^MElw)J5#&DpZgkkbzOL=p#y8k z!z_`%KI7 OJnL!LU}Xo2!W93>l~Oo zuJ<5|A?=CK!uBl;mH+t{f+IkYG($9N{>36>;^CWtHiDw13i72#$fLBc;FUEEQV36n z>w>X(NwoBGt8w^MB@=jhEO1sb)kZBMrf(ZYcX!*dLqS}*Yl1)@OoX mf zVs(!8Q~Y96A|S7)M=~eOKp>(}I$|=D)Lo7?gn5uNIEb@N_A_R DjuoQUHwnZ*tDgBN{Z<8LVm@Uco&)rQUN&9o!sy_|xlCuTf{CW 5PCBRVJT3_vmCkDEKwNAPamlkpN8Po;2LZzMZ 12+?|SI_=uCftD2BZ-`RT`$uKQUk8784e)lHiKeG^8lpA~1MokDF+Fh@+4 z7KTP9vEbIYOPi~8kf)YbO4Q>U0+5Gx?7?Vi>ra7)WvmH0dmnE_G#UmhrPo>U2-~O< zFDdE>fD=^}k8isr9E$!^BjFDy^HRa%S0&ZzNfM{mYyWPljeHO2#y0o2HsXE4?3Hu2 zz%m{aA@8$2 n%^Y>l@q!%4cjJHh!k)gN`=I+T*2 z; n;*VK|wC zqxupC){ua=Sw_cd5q@6@-LrHU^*wb$PNN~=K!W*!ZFTP}$SwE X=21sW!li`^25Bqg9@ z61|j^0ye1 QbPjQCzhjISGUw}JdM5J59iDk7z+ zc@&;>gQ8qu=?uMP`Ewn(FE*z*4Q6W!oU^{REEdisF?VQC=@9 @b)mEQ<}&V<+8R+cxlMH?shGmMH)s7U+R65xWVi_E6kzk zDP)Q+>{HAO%<~y-S_G-h=T3uwoSZ=dNs5zfMsH!A$Pcf)Md?8mzYoJ{%utG$%SN5o zez-3VZ 01rN@=Io3`t ;hgKB!PWRI zU0vViqaKnH1zytRy@y`nFx ^whbuvS@mATdPi<2iJ@T`pg|XRfduG<3yC%7JZdYZbozCvR zX?ZN$dgJVzJQW#Fdb=uu>pYxa*3|M3O2^ppk c$J?#z zyAnu^r(|Q~>d!a {1 zkBts!nl%WL6NyB`vz#W9Yu^aomto