From eafe23ec272ae6a555be0cfeb9a57a70422628b8 Mon Sep 17 00:00:00 2001 From: Adam Yeung <47261130+adyeung@users.noreply.github.com> Date: Wed, 2 Aug 2023 14:01:43 -0700 Subject: [PATCH 1/5] Create sonic_frr_update_process.md --- tsc/frr/sonic_frr_update_process.md | 78 +++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 tsc/frr/sonic_frr_update_process.md diff --git a/tsc/frr/sonic_frr_update_process.md b/tsc/frr/sonic_frr_update_process.md new file mode 100644 index 0000000000..b3bcd8bda3 --- /dev/null +++ b/tsc/frr/sonic_frr_update_process.md @@ -0,0 +1,78 @@ +# **SONiC Community FRR Upgrade Process Proposal** + +FRR upgrade and patch cadence is largely on need basis in the current SONiC release program. This SONiC FRR upgrade process proposal is to formalize the FRR upgrade cadence and process for future SONiC release programs. + +# SONiC FRR Version Upgrade History + +
+ +
+ + +# FRR Project Release Cadence +- FRR release numbering scheme x.y.z-s# +- New FRR releases roughly every 4 months + - Apr 2023 - Release 8.5.1 (48 fixes) + - Mar 2023 - Release 8.5 (947+ commits) + - Jan 2023 - Release 8.4.2 (22 fixes) + - Nov 2022 - Release 8.4.1 (16 fixes) + - Nov 2022 - Release 8.4 (700+ commits) + - Aug 2022 - Release 8.3.1 (14 fixes) + - Jul 2022 - Release 8.3 (1000+ commits) + - Mar 2022 - Release 8.2.2 (800+ commits) + - Nov 2021 - Release 8.1.0 (1200+ commits) + - Jul 2021 - Release 8.0.0 (2200+ commits) + +- SONiC to stay out from major/minor releases (x.y) and use patch release (.z) for stability (eg, FRR 8.3.1 instead of 8.3 if it is for 202211 release) + +# SONiC Release FRR Upgrade +- SONiC default to rebase FRR in every November community release +- SONiC FRR upgrade test requirements + - MANDATORY: Pass all Azure pipeline build test and LGTM as required by the standard code PR merge process + - OPTIONAL: Additional tests in respect to specific changeset in the upgrade as deem necessary, manual tests should be automated and submitted to improve future test coverage +- Rotate SONiC FRR maintenance duty among repo maintainer org and others (BRCM, MSFT, Alibaba, NVDA, DELL) +- Responsibility of SONiC FRR release maintainer + - Default 12 months assignment (or until the next upgrade) + - Upgrade FRR version in Nov release, resolve SONiC FRR upgrade integration issues + - If there is a need for May release upgrade due to feature requirement or other reasons, it should be requested in the May release plan and have the same maintainer to handle the second upgrade + - Triage and fix SONiC FRR issues when applicable. Fix may come from SONiC contributors or from FRR community, maintainer is responsible to drive the fix to unblock SONiC community + - Submit fixes to FRR project, submit new FRR topo test to FRR project if there is a gap + - Release maintainer to subscribe to FRR project, and be the FRR Point-of-Contact on behalf of SONiC + - Bring in FRR vulnerabilities and critical patches to SONiC + +# SONiC FRR vulnerability and patch upgrade in between SONiC releases + +- FRR CVE Fixes + - Reference nvd.nist.gov cvss v3.x [rating](https://nvd.nist.gov/vuln-metrics/cvss#) + - Bring in Critical and High FRR CVE patches into SONiC + - Sample of [Critical](https://nvd.nist.gov/vuln/search/results?form_type=Advanced&results_type=overview&search_type=all&isCpeNameSearch=false&cpe_vendor=cpe%3A%2F%3Afrrouting&cpe_product=cpe%3A%2F%3A%3Afrrouting&cvss_version=3&cvss_v3_severity=CRITICAL), sample of [High](https://nvd.nist.gov/vuln/search/results?form_type=Advanced&results_type=overview&search_type=all&isCpeNameSearch=false&cpe_vendor=cpe%3A%2F%3Afrrouting&cpe_product=cpe%3A%2F%3A%3Afrrouting&cvss_version=3&cvss_v3_severity=HIGH) + - There are regular security scan in Azure pipeline, CVEs will be filed to sonic-buildimage/issues + - SONiC FRR release maintainer should subscribe to nvd.nist.gov for FRR alerts + - Need a process to bring in CVEs to earlier SONiC releases too (open to suggestions) + +- Patch FRR Bug Fixes + - SONiC FRR release maintainer should subscribe to FRR project to bring in critical patch which is applicable to SONiC + +# SONiC FRR Upgrade Steps +- Create sonic-frr branch for the target FRR version + - Contact release manager +- Find new package dependencies + - Upload newly required packages to a common location (azure?) +- Submodule update to new FRR commit id. +- Code changes + - Version change in Makefiles + - New Makefiles for new packages (if any.) + - Port the patches + - Evaluate whether existing FRR patches still applicable to new FRR version + - Apply the old patches into new FRR version, and generate new patch files + - Keep original credentials + - If the changes are already present in new FRR version, discard the old patch file + - If the patch does not apply, manually merge the changes and resolve any conflicts + - Build and verify + - Use PTF on local server, – or – + - Manually verify BGP, VRF, IPv4, IPv6 (on sonic-vs.) + - Create PR +- FRR 8.2.2 upgrade PRs for reference + - [https://github.com/sonic-net/sonic-buildimage/pull/10691](https://github.com/sonic-net/sonic-buildimage/pull/10691) + - [https://github.com/sonic-net/sonic-buildimage/pull/11502](https://github.com/sonic-net/sonic-buildimage/pull/11502) + - [https://github.com/sonic-net/sonic-buildimage/pull/10947](https://github.com/sonic-net/sonic-buildimage/pull/10947) From 98e06fa815b1e6683867260e06a42529b0620158 Mon Sep 17 00:00:00 2001 From: Adam Yeung <47261130+adyeung@users.noreply.github.com> Date: Wed, 2 Aug 2023 14:02:12 -0700 Subject: [PATCH 2/5] Add files via upload --- tsc/frr/frr.png | Bin 0 -> 103051 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tsc/frr/frr.png diff --git a/tsc/frr/frr.png b/tsc/frr/frr.png new file mode 100644 index 0000000000000000000000000000000000000000..66fe10949d64bda0058176206da7648769375445 GIT binary patch literal 103051 zcmeEubyOV7)-Mo(4+KbX3j_-?$l&e?o{%8Hox$BD1PczqeF%Y&5ZoEuU4stp1b2tm zIrpA>&%N(E>;3)K`eyaeJzZ7ZC42AM`}eCNR8?6HghhshgoFfo`9k_N5)$e<5)z6y z1{!dO846tiPRLHLuqR+yIc;1 z$f~FF57U(|wZzXo*DvUnP2-3_bSu70;w8tRoX@`eJfj1{yKXjY#30*!%Qk%1VzH{w-LRV} zt%1VWh|)64B|1zIaK_T$nhM0{GsianMnwr4)Hi=Mqz!t(Rzm{cyWmPGD<}xZ_PkI&-FZ(kY0$o^=o_69 zUo8A@D@KEot3U(BaoUTys7%Alj(Bo{jDzF-^f-fs-_rPP{lIxAQ#@ptQ+B+Z8eC4r zPca_L`R?LvGB^gjVp{BVP3Edg>Hdpjk9h4W2|kMGiYM<~D0oT!*fZIv=`z{q#{> z5Cw9;Wi~7N(O>2PN~B{1`U!H~vB=rdsN|gHSc1l <5fvNajZlIyQfis zo-O{M-R8%TyhFD(WJYRY8N$jlhqQ*sX0qQUJdk l41*vT;rW6?vScc4Xhr*rAP*p_ zU;prcjCN4RWqYgtSP*$~w5yA~d~(^D=W7x*{BUGyplWFb-I!cdz*Zn)=vxEx1}yC? zSA|`A@dm9btumZZE@%0c#A7_NF{6m;T~-z<{|qxoo`NJWn>BrdxL6^==5lm{WqC%+ z!wL_ab4M|E_00W|6UP%zFD?ocW3XtHF}NtAz0ze-543~+C@O5%6Yp`gunhnr$K0cK zMp0Vj6X170@qa26ylOc)Q;ZSsh4S`M7xQQ|twIQwaVO648n~}Nhfq6yhH4Yq7W;;j zuW!E$e;yeQskC`F=j!7!CvzhV=|2pw+{WE39`n9@W^WYjVYZg~eLaX-sc#jDzXUnJ z=~(7Dyy?p)YFvE_0eJ?{0wnQ?9En;HY5kfy&ESe~d+{-7BPCI;t ^McH=RKwG_BOk zJYy>x8%dFiuNv$x1#t#n*Yjp>HO3b^V?c@;2628}Cz1N|iis$tnJ1}xzIH4LepuuC zMW}79P^4t{*bRa{xjFjC7qWbsn9~=$l9?!b`CJP1xsZPVoDBkZk-Z3H*F8d!S-A5V zxF}swD)goI^X(3Q@S48&iT{VvhwgU@ZszP7AzymK#8U{mS)ywdqtiQ)h~Ep3^X~lG zFdCun?E-HT;4@(&H{O8t--^!QM^2s4J`WxKsQX%~Dx6g7lcxouA0yuM`U|@0%NgRV zwM|al^dhe)G-`B(*XSBid6zHWchcix#D0sfK5LHEB{ui8CtY0;*ZP*}&&4FE1#sfM z =S;~o*7ND0+r>U-NlL~`N@!1VPv?R_gUF?j~>-?Hld%Y-q8MHf32xqtEO|K%M1 zaREF8$Eid1E9h^jeb@y+zO#r5*)abHNAXuv(7`~{rc*ismHLZ0{|hz_5I9Vt0K*?P zq^$jK-}FE0@lm|=H)mw+Jfr#-gzY~W`7jlj=ON#Kb)RWpVv17g xcEq#W*-Cc4$+;?eN8b|=fa`}cipWo$a? 5~jc*e&^OTg|?k-mF;B0*_o^hKG zLKKqNd35WXIo}o}7UL1rs}H4ccUd=HuIHHzq=w>x!J|NHR|3xJKX`D(uXbz|T_jBT zEbW;=PjfBpp4`9D=%%yQ9-bgu@8l!1W8h2Hc^dr+ogUz%cnc7kZ4}gI z#?)#ZB|GZVNs^zuE(@PPfzOqJ>9sC 9F(`2nGAMFvq&q2pw|3Z8 zFMMZOHS4J0bT)0C=C$9zXRFJAZQL2biB9cZQhPioH1LpEC&oU`X-H(U{%po7Sa$5_ zte)5V!rrNeJ}EiN_o}DrTOfKedMH4;uC;J}$NH=A{_A=zuz5)A-nyv%NZ#psw|c`g zvKYQ6IF_eGu3de)J*kZ+O7;YbakZAD-ycHlYcb_j!Zcc-0d`srWh62sTq~qO4V!rV zyjx %SLZUI>o#YKE40H=zFh=g*QEzW(jJj8Q9LC>tZQ<%;O7T4XFs_o zjxjC6b*4u@!!;946hMXn{aO>=7qt8z6s%hTMMKvmp%!TPKo4Wq?~zUm)P2|X um%a(WAgs^-_^g3AzSKwJ rGBat)T+f$A50bWG%O0?K~ zXHYmYQ!c41w$Dy!m-Xc2NRC_@AQY1j>#1Q1`(|Xb1)p=a$L4mwetxUE%ksOc-I^#& z6WIPy-mh)fU>fbV*z8}Wem?6I9mzbEEro6sV=64f1=Cp8_q#PcKL_40bK#q2Q4Ds*qhm%AufS@-arQg^@On|C+Xp7%$mB1!tnO5Cfl+F151$0zi^ zY||e<;{}jAli^Fj @Qeh=;_ w_N895C z=I07hi?8G;O^-R0DI%kPFrp_e3P&nFrV^{(I2?J@m2Cgx`rFq`%SpJO;@8rsP9d@@ z66|7?EK%O7)IPO$YGk6Ma{GaV${Z2rfTtU29`UwI)2%UrQfR`udd_t{JA|r?^I~ew zErimQgKxpR+yhW4V=cJ|5<@EYMP%(xmg0J&?V;n2m1)a@LY$%L)*$R%m=J3?TC-tW za7WeG>Zc%w2o-*}J)N|qKA;uutkG$PtfHRWj=dzo5Q|aRuZTc){S;+~qw?oXw`bZ1 z2hn)w3~@~hvD@$nN3+-OMvi~9HTnhk;<3F@iyqg!CyYm!9PvG=UC-_Axiu|YP&|7Z zdW>`Jp=rNzLe5Qhz><8Qu$=ykWzF2W{5uJPo<(Jg_7VNC>sthpgnj^(g69`AF7(~# z$=>CPwxFq~$(iMw+sML$euKovR@=)vuMltSQEaegrg) AG3Cy6H^(W&u zkA1EPXLI%NxjMyE6r0PE0oIvy8e|3Y=8odKmrft)d2Zzz06L3YSBl2*;^9hHbo4G# zCvh5jrUh^0c5=wpL0I@&z+}e2c{g43RK*h(^(j;Ls)xmmSC&Y|QA!)a(Z~VR?Nv&= z58C1eu<7)4i1vsdJVULt9LF*s!C4 dtsUFmC8ubZ_ zx(_@&c!Yi9t)cJZ(rhg5Hr-4~SWVB(s3Lm#h3&rS{ MTxkx9CKGTjIX!^?5_FP1zx96 zTChJE3Kd_3pDSfVI5LhOGERDFJx9IPAV~sWVsNsbs~3s3F?6- *%ZbPdeP zL1nC9Va_D?xDhi|e!jD}Fgu6P #x4y}Kj{ zA#ouIa>?kRqnnq~upbyTu6=m+_3B5S4tBvp_m3~n0*+=XF)Kt)0A&4$ip#~{5%tUl zW_^Eha!2_b|F0g1KkK9Sr9G|#fesz6&>;NhOM06&9qidVxWDjfn)ga}c;!`C^{>u$ zt>86f+sr|_BvwE34W~>YYKEkR+SOGvWu^*kf@R^%#w(==%W|^;>sJvna(En`?gECC z)4Oq8es|tUIu^a`Fni}RUF{5XDsG4PS5z!GilsK2$er%q%A0K6r#p8kY)ec -guifGZRZqH%|7>*~_Yj cz>Ca}!LDdwGKFVt9sdY($gV_V3KFCYc zAW%hHa9u<8kQ&f?&x9WLT1|=$v%z`-ZSE|XKvw%wmoL}lHzkHkhxLX{xE`|L23Lj5 zKb*t7;yUqVigY5(4%#nx5&u_A=A(EIhIMHN5!$@sdMh>~pCN!ls(XxGO3W5zN`^o&730xFUf?W5&dNF$IwL`5~i4L({v{V!w`23k+a5V|CZh z$ZaZOw}!I=c9pjx9Cdm$?GARz9EKVJLuJL3)3RGo+*pR-+SBE_yxK0_eV(|aaC>z+ z0O*fhoKD8{=_K)bHYYe?Df$x1l=Fqm{e!MNv#_%M6#Y1H(MD;Vu`vZ7){s9qlAJH9 zW9WDcDs4LXTE9D^>tNPtXu7C5!mjH`z!Kb-UE&L9PlmvmCYj!HP^Um=n^Ws96si9H z?i!nP$s*Z!a!KbSj?))k?h51+rF<)NFQYqjCXijVq{pCsU?Z*%nI~$zBlQU}({Va_ zA#yHjh#oQ}nhl21vxTRzvb9vIWat^fQ7MJlNs`>B!43$^)XZjq?lN|tD$S?`PC2^H zZ^H_ozs+&33Ebhu2V-Y~LorO^nopVPNl%_w6l_L$8rN~2plxDUa4mHOh-GI $7&r21>Z|Za{O$lpqn*|4ZHY_v?>w>Yy{pMvZduh$ky$ zoP%1l* F+HZygwK;y@#fKm5pj2Vz8(N7Pmq84EgV~8YFGiND6wsLTIEIR|%V?wXK zgE~j>E5eZ-+@RVRIQZTc+Xwd@UhnONBMQ-c(9y%w=1r`|l2N9v+kHF{60*dek-!y6 z7K@WDlr@JgeLP9hN=*|K;Sg(Ti2P2*(u5ribwl1gIR4(9b&TU2HNF!B3`= OK1h-e3j-vi+!F!JPEIwr#p%r>0s| zrT>WMU?-S0?1d*3D=+dWaGHrdn;oPlq< s9|I(qsqt2H7hh}y4<{r(O~O*!H@6cb
~4gn zTY{b69TomyEN8H%JC@FP$Aad|2>UCIReQ>m=m!Bh4joT|a0*WJz9gBlKU=O&4i_=6 z8={Mi1xN2okxPpC>tW83$s1#uvNARpv3zyeBM|NSi5tS}Gnb@Q1cUkF;JJT=AVSZ$_&6K3Wthdk9H6@D;!#vu)}h zf_OIO*2(HcpAJd3wQkb|QS&_eSCH}hB1Q%Ua#W%Kgh6+fvXNv@su`nR_u>ob`%a6% zWYx!xcf-MrCBYdrpi$OgeyQl^`r*dOD;5PiRq}10?Ba8>_uBBpDk|;gq-&dtU=e=n zfwFvgrQ~11vx#~pIdWs%`6iM9+DYuXKjdiTTtV1y|It3{``ay>$6%6tI(C0u#hzJG zY*MG_({nkMH8c{6*39CXNJ7?O#G?S2sn~Zu0QKzyd3Lo^Gju-hHRQ=~B@;AVTBw@o z{$ZYnJW$sV2moWsW3`~Jz50gQxv{%kOz7RR5_mzP zI1PmF9xsJ&sth~9Tt1VtH^ S7MOai52_x^7G_L_r~*FQjSGP%Yl%9i;xm>y0M3p=ojTp*iu$ zhbtTMDo^<`575Qc+!rYkSAxa@qR*FhVYjfqqRhzn-CW3%xe1($-i825P376`IX3b! zFjmJ#xD0T@wN#4x*mESZcY@}4peM^T7!dp2(k`mt!vou zrBGq;!{6IW+wTgfX)hFy)h}-lP#?? zU?wB!{6sG3Y>};7BDB>(tZ&_bz4f;1xQ)Fo%57sX1BCvz28axI9Lli4vgJH@q8A3T zna~rAFR}4En?Z6aJ(z?HQ%9VR-%q8T^=yB;@TOf7yn8h(xP2iHOcYbN=!@o8J%IUT zS~G}*b7H6Ae10O?y$!@Sb>T{3O-n54Bz4zIls^-$>dAlU_`><=4c9dBmJSds1c86> z!2Im9F(liLk(e4@+6D_Q_1V)^FDj8sZ)kWxQ~J-O7^qgThvBern7-7|`#SD&wBt{o z2x}h5c%%6cynEvW8S?VU7h+6~#2oT@HRNS&Jn&IG7 %M6Ly%B@W$K%%FRX?r zRS_7dT$kNc|FSdxQ6_$rUaKF{{{j1yDZZDu4#A_=W11jcN%cAEVVtOOUQaPkWviYY zO?MuBSyey_(!J}>)+#c}Ue5AZC*3}jdGG{1#2{U8!fv@el(+aeeWf))Lk}v_lYBns zHqFzi`Ct@?-EAY4c5np^nvux&cMGfMpI5H@ns0zpUdE#hR4@148HM+3UK!j|cdw zShfHa)w57Vo3J@pY+0|I)GOD04LEETeb vng8#Fq(^J@VM; zqI65=k#^L#nW=DqgAvTQ3 S~{H?EX~Md6iOcyc1RnKMN5ieeC@Y zM|Kb6`@T-)Uffp5&iG=Et~l9flKI#3z~*3n!Bq&7zFEHuJHgjA_u<%up{w3vb$8!T zw;5>*b)9_%HY@P*lB72_48Au-VE!3!tsMJ-K9~sg)77FL3!4+WLl3oWGzF18zDrIr zb|a{uB7|S;rrtTx#&G&q70jRkKn<2B>lS{~fQyB(b+M0>O(9ZWBuq(i>u#dSh_bqY zK_av3^Y;9Ul0k6WfQqE3o*KDimuXETLR}62g*Z$}f*i4aSjk^7MEhLl_xQ`FAuZEA zJn&}TH44|&%kuR>8B;ko!v_}Ea!xU3@*K->ybwn!{(%&LysD63Ey5u#fdsBanggp% zgm2?(vx!qw)p#q)oev;!jxCRtmmc(in^5m>j#WlK8$PbspqO{fz{-M)PKh_X9Au zGtE{Och&<290Orcv3#8(!^fvd&J9gQd$YC3XoClF1cT*~Fl;Lhr}cixdP3Wnj&^BL z@eAFxP*zzH*PuO=1`2twbSJm`V?5lRmvBc1T?R*NF3|h45571cas>qKfD3k;wW7|u zF-`e(?g;-bO=r4nDVT9KwfL5ZoJu@{>dPLCVW*U&sG;l={?D1Xxx+%A`gD>M-RCEz zrm5Omo%GX>so3TEXk)^};hVk2QYn^3mo%G_o3q1$)tg1edxC4D0xr;$3PZi5D~SS$ zE~#sA`v071 Y36yY63+=dno8le1?q)3@X#wsJVDol-7&^vVk|C)2X8M-=~M0I>pf&M?X2l` z*cGDdIrgR3%(x5lGp^*nvX8yO(Pu!HP&p0z!ug&4=Xe-ejY@X3xXRI}ew%Pm=cmz6 zElisXn}@@4*_ALuXf!IBBNpuLiuyBYb)+(P#t*4Zv20NGY%w^?ARGP7T)X%4j sR)HVWo|9cDkNruV@hDxHnMjf~dg*}g%UyMcBS(u(|zITp!s+8BJ~Ni>g0oN#zB z1iSbn`(#V}`CGS)qjJv3;Ho`eqYsypv96CRSmJff`GCOXKM`hW8cbx@hBX-Rq@Guy zp^kV|YcG2}wckyt;p8Op1GHz;Wk>WIoyJk6QH>!{$M3muM~jEq^=6*+PX=cqxpWE^ z`NrMTSkc81-1{NX4>P$DoxIGqb8a(IRBoRo*v!|IH!*w00MR+e%>AmZ6N&@*l}_G! zft=W5Zos4)-a&T&;a$m3Z1g2%3q#Y-+b7mlh6oUZT8F3vsXL}L(G(?p6z9b}ky%QU z)PH}}_MWhF`Uazp8!|qgK3Rm94UraFI^8hcyi@H|Rb)^rS+?JFRozpN6%dd4&%kQ! zSu?+N7lo7JJ3L<8*=9`-6_L~UfxcI2TN$0N-pNH#q)d2~aE+V}=$g9Cp6pCLkZ zWYQPR3K|Td!g7(!8AshT9p;AZ6m{5SzJG1;jOAO&HF3k5rR2*MBMZ$z>DKk(2Y?Ow zDm5vwB_e6pI5MmO`=)1GS{K7{|8UqU8zFxFK{*)r0~InQQbIf%a#g7=Oaun0dA(`l z%oUHOLuP>I9~E#%ET3bkk}r)~_VWECLsd1hsvbG}hYA1Df@Ep}caXyoyV+pKQJsq( zB(|>&b}g|VI1zkQ*A-2EE|J07u2^$hPO-j?)PP1tq*r|gEW^ Bccg<@lwPlwzp@Er2H6u!X3TyhC2QV1bSAEN9uIzh!hoQZ z$BWs9(c?F^vxgDct9<%k5tCzBgmoga=`d^zi!U0^9+s+A#aRkJewNRTQPpuXGMonc zRL0nRCW|LXw&HDgt&NxKu!?2DvdKJ54)`Zb*eEA^KOU^{ Nb8%EC-lj8F~>WJrRyNkXtez(YWUG8^@jk$jLS$^P+ z1wT1 KtK%CHCEW59!f5O=Q zvxFq!&o@PA&o?A^e(&?~rzPmlFdTdvpDFkAjbs2NNd59z ;HT|U$jQ9H_ zPg6nu%v%(cT?PAyUHOti-Y0(|JpdHG(iy=GU;+bub>Ck9!xVnQT%G4gs`Guv^4}dq z8xt(v-4=5IJPaSs{*t@q$p z_@483IfCeb96>_4f;4}2#Gftr=UylOqu<*NkL(lQ$o*XoEIA+tmYckb_ QPEaY zepAY@{f88NW8d0>rsu3EGW4qEK9uFxt#e9k!5}4oi3+Q$Jpy>FkK%(EtlCxmKeVd{ ztpP}1pdi4N^^g8l<-~Xc4sXjR{Rt`5sAdn>g;FP^ix Nlp7avLgAU5tVo$G(zPnP$>2DaXa4%T`%J_Q01T$i*0lNMZ!Q!# zMhUy?42yhkugoM{P`OLSnolZU;o>tr^*0;~PRSilN^MEQWjA~|ql4O;DUSG1wSM}o zI1PcAv;ECwojn<*l7U5FR%p$2MqIhZLnn(epu;c;(tTa{@9jJQV|sCWzA(_6z!I+i zzUrUMsy`EQN3xpQ-)}_wfA25u_S8^+`rrEkfnbE{H%p%kIF(FZLaIHqF&~-%=D=(U z?e{$1@mov|YoILuEd$-yC;%ywO)BJCzcpDbulG|fAzufzsMhQUj#I*R{I-QciufLm zQ@H&zKiOzALd9)*fwH$RvZ!>cN%LYQu;WYyC67GgFVW*mb!+dtksOm>(pbfukvltC zFk}QaNr~dBBXCk*sM8&4Sk&Dz%&0?qFj>2vS20(?gL}&9b-6)SGg9F*MA#*ub8W^t z9|jv#EqYqj@2Kv(x+tdP>`_0uWC^noQatw74j7hcIGBoAqH{mqb%eZk{|1nf(3y&F z(9th1Z^CF Yx(f-5BgI+;pm<~$b67OYR-8~X$r_BsxtkK6yDr(DQy*~xu zFM09+<;E;`d^QKrJmUaiI190zUQ+K-sLL?xUaPDZ`Br%JoY^F0M09}!bA7+ z_ku_glC=m@ZiYu#_)Kaj#$9A2L4D3iGbtEv_))%PMU;8efO8Jmay PCE-3C6PPx{wnmOjwn^xBBBOo26;yCEa=bw1u%oz%M}$w n } z4VPMU7GgEg{~M9b12(#HU;r!7eJ>1ksMv1+o_D>SPzA!KT?NSya;w_d%S$5=do~BK z*six`X*On&{^?QU2)(Cy^8eDHd`(nG^JFIqt$>X=$q!rQn4`V4p|Ww _7 zn9MWrPS *Q(Sdn!W3fvToA(l8?? k((t8BR*Zc z!SnPt2l?bHp2$gzz)ne9KOkC)`|}M0Dq;zz8t_ll8qjzS)85BU2QBF2o`rKRle+5w z`O2N7;~2_gGQz*%MLzFyKDT~`u;Vk&@~K*K1<1KHkIS_rP-Ir9$;1z>svW<(OU4n) zW1wS`fAg)L6j7wyodBVOs5+~^xuCPFAYc7WxY{+{R(V`3g$yL=`$D4tLXO-0z(6|- zR2xAm=$v0j9Ua=$daO89r=}t@{zDf&G4$Qz4{PF&C2s&MJy^fqZ{ph$O&{6LxJ+bS zlCnJuqFOk41h!fd^+;FtyI4X$2C(#0fL=&)dD}a8w?33*SDQet?hfnw4#P*syT7nE zX!VPx?GV3~{yK)ehS9J8q5x}7Fm)ph)uVMSapEX%O5?$1*sy4I7uR+JN9vuV^X1lN z8RC9k)Aph6ZZ5d(=2DeP&6ugr1MAnlQe@uwM+J}pPS~oLQ2d@LcuM3*V z?E{Old(?p!ryWOT!#vr}O@XAE8pNKSOhZbV>jH}7?0(Vf)7%xiI;@i)Y{})%&kHW) z % zfZb0CU!Czk5?H7WcUE}_YZ7}BO#{Xy;5Sq!?}j<4@7G`xcd+UBl2m0# xbFS)wOJW&7w-e)3f5GuE#arI{1NY z@CbX+gBWJ@UDt00`n6-iDcEE2mgr~xE4pSWJ8Q}ab6(2Kh|&sTJ@=NxLx9Wg8s#qs z06Fx+ca>NNCDvmeREs{uJB` =NO8(Mt2i>S6k8oI2xc{e5g-sWTf0kWHv5!KMzym6GCMLaPr0JkX`pEupEyyjya zj*HNHhAz34>-xa?>Cc|R N{`?ZS!L>yVJN+y s;gO!ED1;_j6tlZclZX0h5W zY`0#qzN$3*#%fqb&-3%NTFeDzJe89 }!Y6N7m#E=+)>BVh7yh(pn+QV@Rs;>xQnqEtgDAi^Bc!bdL@_iHz(oLU|d zPi;_hxdR{^7wgOEqZIM+bPZdzpYLT$HVA(P>b|&tSeRiz>7{=lu W;qq(D_0n=v!6YQ7({gfa_d&1LyBB(1b?gaO~SX*L47 z4O?(}8k8RF!VNQ*C;-rt7<5!UuSj*%*(m(#e#}S_q1}o&f4TI_Uj@ZGNa%nQ%smHp zQ?ayIuDW<{3D+E*>SE74_{q)c_j^SJoos}C2Z9-719{v4uz9@d2*xaLqu&dP%1 zyXxkD=+usiHtYMGj=RQ${u(bp6r~)XKq9a=zSNwqogI)shD7_&bKMPZnIl@{01~oW zDdK_dMcH8|c^W|2cac()7VKrX&6my@3W!V7I-qsi&S8n=+k0WbXH{$LIxANc62V36 z?6NeVL<->#8=;7KU`5Tui>}iM!>%NPf9wzw?_g}c-v1r&8h0N_snB}dU2cH(%kS^b zn+OXBT{5$KKob@m+hpYp*rum}89T`9Yr= z$6r{X8E&K_)`JUA83!s2c@L*}h&a(3I+vp-&@4H{^L-L_R)UbN^M^!G14E`nVh|US z4PJak2>0#DuQj-VL)?#Up`@Po#*`@znftg7Pc|Aw+Q(Rv8J9H68#ywpYNQ;WT~wDQ zY!eT#&|?I3HFi16JTQ|imngCd?n14zHDkpFs~>w4Hau2b2vma_9DZ#Y;zbaN#_g0n z* TO5s%f!QA4J^M3lGcyB8ScLdriaV~ z4XrS{sB<_}QrN8rK&6*h(+3>GnugCKEW(w=e!>=Q`5TPHje8z-V%rg^+laVFj9P|0 zeWm5H-~_$EYJH1^w|of^UXl<@WI-^$4DkG_t6L#d`i3o12LS4-9aQB+a>M74MwaVV zTpcg3)Rhwv)cFSsd;iSCsBJD;{7J<(;Yx7ox~hkW(e*P68xLjx7Gd1eRv54COF>|O zcp2~U<_qNeFEvIYc3nLCDP1*Xbqym@k>9c5k&%U>xEwp#*eoYmpFMl#Ebzzz!(}#l zKbY_HJ0---fIyOa Cw=B7j=*`}h+W0=;jugmjCF zm*wHa%Qz|LAfDrB+^b2^Cs4w>0;}R73DDx^yI9w|U%ERtM!lg8AP&cAjJxol=ucqa z*mAdg9^4hFHzbs(Ms#2*gF}(9gR2==uF@SvY mUK?LZ2eM54oM!E(1w*zn%&9?x6QQ8Q0A7~ Ab# zwv2*B&y%-1PnL4TQEqs#?xWeAekrk7{GjZQCq5nG-l4_kNE~)J9my|SBzPT4e0)jJ zDpcI_aoCkWF!aXoR)b&hog5`m=?>vCb?>S%%9G=bZaF-c7>S0OPgadZ`KFC2*0VSc zwwW!gt3=9v%*cs1_@VV!a$Wa$kj5Dn*!?>w11+%HkY^A4-_cGMHglQDwP3cc&F~DH z*#e00wa;s1*&dLOS;*B?DGfX8TV@kQcGrb{!b!RsQq|4gzB;%WJ^P8{P#E3(ES70- zKaf6<+51OJCR--$3B{LtG_*H3hWp 2>^ z{zF{vF>X$TLhN-H{2QkBO*-Bm(1-pAw{><~_7;X+WV5m5K H76Snn(^nvIlBnHb3^UTRwL;BfY+mhKO`CM>I{O>gjm(IYLsI5_M^+H zGgJB;1i3^W)2jyBjPDg_bt`Ze^WAKv$(vL;%*S5&eq@R#i)mnTrr7~m0icBi=#S+c zEg~5j(-L+yLO|F1UfAF?TM-3zmnq`FJjHpn$BSrDK3zVKLrk^j1~S>Vkb%RnBb6_F zO})yt^HNBOOj^{gJfTh%URnY+XXA&B>PoAn05tcRzoJSTrT z1FDd&?;*)~l1*W8O@-SXjzdyaoLZYPZ@aFW3faqc0^PUHLDx@-MlzkTVtqt1%{ZCb zQ$6CYFw8FmlS&1uh+?ny{To{JN2}~cV^wqda}2q(hStVWd!(MqaBO8{?Xh<;Ul87> zL}E;?uLxU`a>d|o)H#z@5ys9 NCs(WG{104W7R-O>9q?g3y&H&bG8zCPGH7q=m&FJzSrxapK3Z|5oam zxp4rYyS&FDJIxrvX?E^6vJ`v*L+BX2fUH}+njXi0cRKEi62#i{v(Tk=Po2N{bk_6o zs}1pCQdfvHKjU~^Na;|yeW=3Hw3vhmrx_x#Gnd&@B#q|f!WJ(zq?UO`6kT`s^WAOJ zsKI>Zfuo $7k%9tM#rr;3I|}5fK{?aHz~-G=F)= (*}4=7m$GqWnJ{H#Vk|>pIHX%MDUuH?XYNG#x#(q z6n*ol^p@fLf`t@O!~mmfFT9GMVMsZ|*lmi;pTQ+Gz|)w9?+Wy3GOV8({A$bubIN1a zLy#P#MXYrDgNI=;@OCb>R(%53PhfVoe3V|x!f28Uq;d=0{+ur7Y}d-O?u?V4RCFHc zN6~kg?3HsKPKLfibEjqfNGnFVTD=D MZG-$O6zjwO>g2lhS!p zqq?j{lX}ZfElE=SpOJ3n%yppp-a|A>GY1nmJu=aDCwunE5w8d6vl)pxEmj&tEAXGe z5FEy76LU^KX{PQzZp3xg*T;qp*TSnss_lN7wGg>LO^L`k*oJkOY2KJ+{|>gx-Y}d? zcbYD+d=@7IS=ZLOR>fJ kBmJk8J@~T3F6)LGnYB zd^XRprs+DIXpl;!ss|F;UDYeJ{ie^bb4q9TMZ(p^+uj#C_jx%G>)V;zEV+IxSI0S> z!|p;bN_geW^XYeSNQnrtWbU&7EEFP{b8GhEH;=jf$j@yhp9x-n$fCUU;BA*{J?SsG zC^%~V{v>I7;bXZHSMDRP7 y3{ka)d5whYA~Vx_jw%-MJp zMgQ3@X`cs0&`-QahWk^IIHX~Hbg9FrVFpC0wnO5i$p~%n(e~C>8payaAr=Cd3?H0^ zfbVK`yT_qXapj(=`W#9ET?|PI%iAXTo?^bJgTXNRZW#RIOe(~~Qfkw=7s-|- x#wF7#ihxNR1kdb>jPnJ }k47nHhI *^HmahrhYMAZ17-NG#lCRP1Hch!wG?+tBl7?eNRhLB5gn( zPj~;vO*zU^TNjaG0Q_ZgLS6E0k(mi>k&j3R9x-YPF0l131)JYmJ6@o(F+g6uh0qq* zHA@d)5;MdW=g)QAogS6B65JH%VfhHn+a)T2(H|rfhua 9NPc(pb16eIikRs%TvlxqoLzP~_s{W Im2+~rIAhSm3{qvoz2qKOnHp1*CH1a z)70KCPCLC?SG-C-L(1}5O0QK)%Kz%Z@d6a|OR?1%0IHd+9x<2T3tS(y;~UnDzQAK2 z$mJpGvdgKvY2pz>K3zk!rH@eb&Rji7WH|J%dRfDgM+XzUQoqrv6Q191PwDBr`hw&q ziiei?D#7YF7nOyk-CW!REBcAj%#Wa_Zf8Nwh+e3DdaKHrAB@n@%+2_o04m^scn-d? zwGrBl5A()`P-*a(ub80@w;KemjlVs{cZw|hbc*uj-Vceokc8{GcFwP2p|kk4DE$v> zdpCbLh|GEV8YA1YGsc#5o k8M`dqBa9&eSPOBIQQAI?>dHQIOf?nkb58cakp37#*j z%6bc}e=$Pjm(I!xLpf$u8Lb>lh>_)=iQMfio&FH0yTtVcN?hY?eN>#dTGx320t0b* z0LBYC$XSeQV-s6D^kmsE+RVF6OjSB%D8v}~vX!B4K*Uf{;#a@$c5!!UJHeKpZXP;d zCPt+P6;<*;=gHR%lup^a3w>i@@_?$@<&NC2x~_5xVU%<$yw@E05-aUYP;c2(*Nk($ z-hR<*O(K9Y!0Sf1RK%TSOiKPwtHgTP7vX_~(me}?S4ZJFHP;t(iyi>*B${iwxa<>x zG;=-4Rj)L;&t70p3-OqTR(q$jbovz~tnuM!HI6|)C#I$3)yZvZS6gmsc_F3K>I-$& zhSA0-FE>I`pG?zEk?6MLh3B?c!)MfHw0+vA<^6hf`$=Jjy+G>7nr&U z3 8Z6RWt% c v z*=TD?NRm*wQ&s!pQXnEuVv9**0w0z{e_hGx bM(H4c%M9;1MKIz?!%ML51 zA1`SueKdd-YVU+44_G?Tm{`3>JpchMvhrm`1p*ZDk8O2vk>@S&4oW{>e@9g@=UsWa z1b{{hzLCplNfa(;4?A50kYabS$9JN(b6!(M$P-M&`3sTkI=1>gIhSJTU!}~Mk6bkJ z>@jjdxPZ`}zqY5q;cUaZx-1*mC)Up*dEOSi_r{b}dMr`G5T_;jC34!;fzN}bc R^O(klSBx-<^W(O3LnC4}Qkkax+O5R| z1rl##YhgGlZg;V7Gch~VV^O%Nj)qn~40X}i^TET8B_WW* zNOQhB!aE7Qo3Of)ImMUjao3(T0kg)umrn!49-bCM?-9Vi=7;Ksg~dS_8AfH34X6pv zV_|%_mxJb7f@(luz3mp dj+&NoR E5HEDsQd!<{tbKFo;yAO%GU}+U1?O#^TxtY0hJ63dvWm~^WA )A~^Y>^0C_ z&TgaCKl185kj2pqUzmHAJE`xo#$0z<`#$T4{!o}d7b0NnYej*`8sW<591XqE78Xf3 zG5O5M`RbOcS$fXv6<%E2)%{7v!?Yir8WEzE^J{KqL ?XezxsU#MM98~Oe=F* zE2KToYTWeAs&B6ds89iiz&D{EVxj9e&jQregapqj5H3-~@d+B05D~?eI>uk^Kbv`u zEYo@e8P4QPjQHySL0n|BS^v#(OhAER{_OI@C8N>!!ZHfM=T>aTnChIWZ2bHTf>clr zs?p+j?k8~h^dOCZE;i@mcR`F=LUAW!uX*2RVCs-Hmiq%x_{~o2Uj0z|WN`=+I0?)7 z1}h`(IsA7l#n=YBr^t1!rg+FN>=xZNXPEWAgcA}+1qIl0*#!t3&U9iUL$x)%Cozqw zAJ{BC?5PA$X4%zqe2y9}apNEomYM-vSEgA{g42F%e%rRyp~!|`V?X7Af~e^yg7} a3A^aZ-;&wr`vJsx}UrUnRS-^Pn>lSX3$ z#dD0jj9C2}{GL4hAzV++V-6%veLqz#2w4UmVQOgAii=mS)6ZDVNRZWi88Mw>jDooq zyD!VXdR*+c9sX=DMh)%awvlR&L|mx4vIjX*X>cav!jaZ*c_|tZsVXqPDOkN zBMeF#gpQ>OL(}1R2%YsO23@mWSyJW@!!^_Qp$Z%uotg4A1bAihur<;y&|=<>r(}xl z1hsZAt1D 6QM z6?;X|i|C-0@gc-xnz4It>n>>Ytzj^o;}Y!}stz8J122*8Hi@|58i>*eN8Tm9VJ^V0 zT@B%OG^}2 gIzoddFgSs2?&qV4?-T1L-v|3K8FZ2#C$37muOH1< zx DwptvF(se$m@ z$#1rScE&R!=g@m6@c~xJ3esAomMN#1(AY3FlSizRUyU#g@L_^TTSrN_vJC+5{&=PC z`r;tWJ)GlE2mCilXo7E4##;nvU(B%4eC8u}mBU3o?hwM|e4&v2aXJR`d!jJ`6nqy| zdtE-kGj>HGSGdMfqX0%@4H@?1^{+PJ^^F!2)I4$tK3a@WvzHZ&pYd=|?vy1qxzKoF zT&G=EBVsn}XgIf^3=x=Bbf~E$G$oX6Bqo&^db`|OtSx`Md* aA8G`8t_ z`5A5ZuT%!hxf+DEkpXH(q-5qaNwK=AyqI&0;v(Cdoo(6H|BFBcs&YAF**B$a%Sh06 zyStP{=oB)n@4HR6=( KRHzKZQ(l}7UzSJ4;+}t~5N;92 zN|}B;qS!QWv8mn)QaPlfuIbi#Cg8@+``@gY-{gZH3dnH6a8&i;4aINA)%3@S{ZlMC z?*Fgi7bM0?W?;!HZ;clQ{MGFD-!umBqDK`{{h+V!rv-kArI|b3c3df Jl9CML0 JO9PEe#su{XYY zF#i&~p5A)aqHP {{&K{^iH2pR8+D^1G9iiTEMJKqf_nv2)YpH- zZyXU5a}e@4vjSOssbhEPQ!rA>7AU~aF$P+FWp5NgHtatbZ9VvpV?UA_OQyCQn8$NC z*~nD>7%HXb6gQEVY2i1k*~!<5dEH}CRH`3kD}N?x(T;g7y|YZ<_e*Gv>9hOUuRO7c zH-ChkkK8Oz@>Z8rYUQtM4w%XuzgZ0S!h-ix>uawIlK;J+|LX;27%;fN-0}Qn_P>^7 zADmy2i!mJqfzsRmUNV%mz)pp2OGneDur%}!+FLFe;AG|UopHbW`?Y?df_ejqb|$oR z4!`9le)i%od=MS_TO$LW%Y@Vf+n`v()6u9$5#Bw~hFd_?Ku?yQ)a$ez8O%y@guX|< za+MwgsU#bkPf*^RZMJos$~jb?e!^Z>b!h!g(sZQt7el7nDHBpT1;{XYh*JHz_^KDy z4F6&@f`UJ&4<;}u%k%yImZ5?#&?^;CLute&gQhoJ%|y0JM$j`oggE>G&3yDL=P@?> zwQMl{Vua^lR*G<=(2fX ??0{aP0oCK2X5uZ pA_Q&tHu8SfU5l6>a-+M$IvQ?KjL46KWQAo83x`< {i-HuH0l>FK*%$Mjxwt?Pwwkj^shZZyBqt*$;_VrX+Tpr>vCyc^{9_ zD7iclixJ{tQz0VEu*s=5;69)5+9m*R(!8T{XUe(pW*|%r%j(a}$xP~@HOdxR%aCTK ziGp>7GOLsQ5qx#DOkxIOMg!PH;*6yZtC^ag`-{&0Yn_3&Gvv{l?ekomO)ZBs|XZ zqa^WxBNmzk?{%^eu`ibBC*1b$#`EEU&?6jKPT4f-3B;MKO$+eW07 $Bg&9MPA<3qtF4dGlGm1SYmih$70+#BwWl#6vqfkBn4sxQhoZ_K uvhdi#{z*GbD>A}0V! z^h>t|_h)@OYSdXwkyFafDY6M1%3K f61zSw15SR&qMD!hAW!62`9fUNxj^x@ zkS6m1yU)?nk!yy_c}AcM@j|Gyi2;0nQaNErV*MMBOjVKE!OWujo=QA!=!Un@S8<~M zI6i=#3t*eAN|6N-5%dOD^So*}c3>EnO3c52MIvR5UqH!a+OeYyS~Tm=^n|;EmTXri zEePl^%{&c;@9%%}1$mD^`-m-%Fmt{up=9*ges^z4;uY341gpBskD$?k-E6G*$v2ni z4U|p7{kdYxR UJZmiNOMY%IlyS%{ zI=KsBjb|sPo(2g*AO#jx)xwQHf)U&%bYl6@3qQbWkFZ!J |lzdLQP#-)?NC4izftYn?bXloQ&J z^#?uq@8eoS_j{ceTv0&G*Jq|DwTa12qmgDZO4W!t78W5!r>jQ9C#-S(K{VA=bvhuE z6`Gko&34(+Z#{RUtd3Q{mQyy{7>_I?cx?5Tuo(@dVf5(DFG$K Y7c z6P0s+%I+sAnE=sPM(=0xi>~|I$$V)D{f6)xFfk7MBAsUPP|W0lwp=>(GZQ-h4F2Rw z{!j=|^zG$g+)f%SSj#yp^KmEJDoQ_Od^_>2%zkt4O7fnRl#)6W72RY2)nUlpL`jCv zVTjB08;hTM6AQ)uz_q|?L1LxBYYaL0HedMn9T%mx2j|?j=j#jI(B7T-NlEG8&%waZ zPC?1nuCIuejh}Cq@u%FcX_M4fuFZA!F=Rd5-1`*igK&gyJ{TwPA5f%+6e(3wUioM# zx14uW+bt^cp;Dj(&G)CP6l-4ueMW^tJZ&heo39S%uD^KGG{vULc7Y<*V1MAnt0RR< znE;`Z@^Dm@l`qOG@y`QagVirjap26}hQi%_9=(r)pEHJeh9mMUu#=#C5$iaxXzxRX z8b4WXi!H%V^VilUnz}MywHd1F7G1Ilcn8J_(~s+e&(6HmH28i|QK>cR%VT0j^m+wN zQe4VlaEs@`^X<%OowOBrTC*ejMK$5Az-%-Q*AMxl*{aC8 OQ|ABW2`+MZAa! zzj$SQc$!)4@L#{7_kt5}RfX5M@M#biqw?u8r>AukD~)s;aQ&}nQx?x0 _)!sE1k)=Ex^N%B(wBO?sT7i-^=la1Ce^?bk zF>j7?99WItm-Zw*{q!_5e}*saWvoEgxLdlMg3ZRZwQRTBZ0C4$`l|>jh#mGK3=Uek zJ)EW5ND5jk`3BMx*V*Cmvvj%d`^(#+vZfxw<$WwT>yWxa`WFnc9py3a1r5>Om)!MZ ze>tUEa;c(N)NZ2qyBzHgal&9c#IG-T=<}SmM}aE{x!ot}*|gg {Xi{+&7FGS&2rsYrAjb}M48s*CAqV}I=dGq5x+6p8BhOWi6RTzSKrUO z*CY1qyZDJ_y37~8nnnhfi$G@iu}dh}#Ec`QHwAuUarU5WV;^TLeG?T7*gwvZObe)Nyg~~KN)0AD&hc^F z^s;yO>*n6FCvJTdC)bfMyl)RrbMv3^IvvHvR(l3Cl!f+VvP4#ROps4Xp< DKVaB{|g6PZC8k=DuK7Xy9!$-FV_bl@>H&mHbzYD_(?&gqU-nY%AWw>VxjIw-u zgKJcDlra)lP@VSW>}xzKSETR!U%tTnr0r>1ZfYf$1z!dF68$AhdVH }{?|6RbXF|zF-}j*u6AZ042&~fm$AtWAyk7;u71V;tasQ0p z{`^EPTreeEs$3Xp=HX`u@$99 b*V7vNGj|= zY*H`x+dYiM1jSitbD6h_ny)jdp;lOyYOFOafqj_rP?qH5)Mes9fyPpJi<-b>$)4@2 zYTEDnu{`&4o@iF#p39kys_;8OEIKbxYJr`W5!g3EH%&H^9XJa#doLLFa>Py2bnf8h zZuep1THwYc-d02FWUdKbBD`n=KR z)Q8`XPXop8E6oPC i>Bha!!y61ImQuGXGcz|GxMP?hTV_#s~ZV zUjF}j+OIQzL4D=F5?Q3V9K2xMUgoW)Qf>Q~epQ%n%v;^7oEhpi-n3r|ez#S1`RD1! zaOliPCsl#@3QB3jZuM8ZPG_-F 7i*HQ{{ar{7|6_?c3w _5Ot{9yFD8%=)i$kAbdb?$J%IpSCi*+MMMZ4^CVS_k&%ISOl{|6cJyj zO!g6A8_oeg0If0FIv{3oN_4UZ;);H^V`*|jUC*PSLB5Om$y}*~RO3%cU=>vYCC0dl zx-n*o+eT7M v9XgX!4>D>S99q$oS=u{`;1-y4vhX=+e5=2H}@*!SwEUoptS zxM%M(fn&TXAU}b3a6>|Y-;e7y+VF(HxpC7$S9PdTAWeIhD6ijA6ACW?BJ^5on2|dO zpO5ZWK}x=-!jK1@E@2 uhmOimQP2Fg5GQs}>cFP-BzFQa*&eW(F!<~i=2B10fX$QlF)vvVh= z>a_0tF}4Sw$NN_>dMyKY1pJ|lA=4CRt8ZtM=a2q-RQag}kNoLxr(;r+Ej|w;k8ETP zN(=|W!oPrXW=Bx-NLgQ*t)|Nc1~V2@%THSx`MSYWnUl*hxJf?jta8OBsoBal7_C}g z96C51pL+aCExcs6##KxaD05EPd2>HEU)$i89NR; Nk3ZE^VdFfd9cb#7yl;Xm-#t@N83*Q=b =CY4cRzh`x# +61#DoQ)0O7IfelX+kKhwl0`hg6L zSTx<%zEvd4c8mgHwNpZKH2OQ3D_tolGQKJq234*GyAm5fIYWB(NY;8Np*7;$@I5a_cjpXx= z5_>M7_c2{3gcp+Px_{q8SeH^rKa7xy!7VsLZuW|z(6Ssq_BCC;oU3&1_Gs4nf!_Vf zIB7QG0zIk9r7VAkZ!o?`wxsL+wxV}n)`>jya&nx3>zt~P8PXH~c4NB%4TWKyC|)ft z^n+jkT=)gv`9;Ug$|Y%a+=&j2LY#A$pabdQVLMxny#$8}xnOJVINb{3g*bU=E1`W5 zrbOZbiGwHfZ3xaSL-B6wd^lbIaxB(Mf|!T<~Eh N3;Ko41*=0)^}2hhvRWK6x}ODVBClJ;qiE1+B1iBBhy(*Z?E#rrB?uUn zBKebLUPnC7KorH0WLqgE8EEYbe7fIfZrgMeJjgmO%@&0IV94eSBtju@XhQ-Iw~U6A z@m7?}a>w;FdHPvhYtWBE50Uz{>LZKA!K(gYC_M_^|Tf?!c$*(*ZCjMZt0?CzRIm z%Ldl}> wLiR!s zuvS!4CX{^~c?LwJ0irYhaZA8;5-T xf7kfxW%K7 ztk&H`Q&!bIRFX@VZC)SyG*A?;B0ZmsccE9TSkL-Aks{VTHD9TX%t==kkyUqv3f_8` zfCH^xrh3Qc)v=`d!U)1BHqq8LwQSV|pKOS0sEc_;sT7{f^2RLnC&{_ssjqmi^{!Eu zaZM&S7N~iRn=dqiCbk(-zhL=o`G3GChr3WR!3Me<)xBsDWH`yX`pu1~HXnAMt4>~( zq~dSqvrdv+$K@+4YFau;&q)#(x%|8J5u7}BtK>d=-JA<;cXvR!%(wNVKS(!@!LN@$ ziv4O 1o%V(+ xeVOdjn z;|#oRmj{Xp6axp53Av%tQxAZpR0TuJ?HG9cje2aCGp6AN$ysvN@Ad5J`so{?3dQ%4 zDtjgW6a8jZqrLfBn|zKZFR8r-hy6p5PkWDwF3?21XS}I^@H9*H_|%h>_!;rt1_LkM zJ{&^9hx8r>Wt$U!5T;lUyZ+ju>f>!@X1942&%~h4Ue0qs-S@qbZ*L6_n!+P_4UTM; zDgA!GAdEty9d;QKcC(tdc&zNJV-+kboL|CiQHDErry^GXVtIMcqGfq_Jn4uuY$j)D zA8Rbzzzg^N`c3GBkw 4Uj%G#CwCdLx?J<8jES+lm7&PFs_#NxPLBgD3=M|TX>sT z*lv # z_afVMdo^>=s )mYG zr@*WJ{H0i$?6I7^_O?GIN4c|+^At$ZDi--95~gbYvR6Ao4vI6u^ycvX9GhJN3)j5O z%Q4c?WRE?x%)A;7p|UxB=+rTRLQ5NWx9iMNSvI#PSLZ#-(itD$+V*gBi*23b#cPi- zw3BQpOLw2Fy$R1vJ=rLa>%MXB>g{*B*`Ct1ZI!Q#(FBFUjv%GUNJr4%=654D2t(Mc z>lJptsn~c?Ge9bn`+ldu6|u>UQ>l1{rPg{6+Cn|cMLQbFc1j+8j;9g8TxuxJ{miEi zI1k%={(^DiAp4fL?r61J6L>4^5Q=jd4AX>}T|&g1% fYfhMJlj z $ gUKr#99f_8CK0aqYcRJ0qc)pq0GO5W2GE%W_?7 zl5m^hkfY2_jbROM6% ?hUW7z&gmb$rc1EGZj+OvWf$ z&eo)i;mwT2XVmk(0|unUitu6=N*H?bWi>g7AGqIH@)=rHzyFsPz_RaC;S_b1*+n%0 zDRS`_d4%XZ&zF#MjWt$YArHWYrPyM`>eX#$tI?_^#>MS`#Ar`Aw3`JLI&^G8#qe`E zZ=3(~TmowY|M0UZQzNCnpuEKyf=Y&L88q78Q|v$HGw|{yTVTZqhaa5^QWMj#G`&%g zSwA?KtMg1dfXkg+Ob_in(}BpH*H162kfL7jtdzOF#*0_oW Y%l;n<4IN*Kjs`j5^idbJf2sgMF>bsgU{Sp_nJT{6U*M6ZZj&yQ0QsV()ug&< zaf&bGg>uaYCv3ViN@BWBxqT8~%4A*krJWF6sJuH6rEXdQTB i2mDV!$t(hDmaRXGyH7JnxhGR;C-Qs`pD*j(P49R^x|{~#CLBUd3?EsL+CZJp z;>w3J1AQg$LuR$Ostc$jbl%)`xnV)Kx`=#ZKEgHguN1L-PkHr4Fa8R%y1RX!J+PM5 znxjuYKYL}4<7el6IhD>%D>wKXX2p=N07P&u)Mc-b&&3}s?Je(p`mjMtqutq9m3onk z4Gf^9UbI?eOT+sXzMM4eP!qWdI@8MF_Yw}T0I)oTw7ah{A(o>wUR%+Z`aoQj54zn0 z#Xb)=O99XDux!+NP-EyDlnk_kDaJ^fvsDRUAhFh8L4?E;xo*KWxVz@6!SR>)e^ zTh^oLG@*=C$p3ll+ hT~xvN{0*1f2+!bowx6&6WQg!h@oVW*J76M1bL(xAY3~q z+SQ=#)Bt%j3+3>m!@XgblEGygyo;Vm8l5UVAUG{IhgP5%n`y`y5P4tz+_tj*PX$SE z=f!fHZy_}h*!IugZV%#0Jv7ca42=8y+AE;q`f*}fNXNn?Z}Pd+cC)~GkH61qe_Kkn z{+@8ZK6NuI)uS@1uCj)9{Up~E{cI#23C%d+=&T>@rqZ%>#yzj*R-3EuZpCeGYJc-~ zfsYU -!(RonLw8w4QL4)eIz68~1sYuJc#givp}~BZJe&bwfK#xs+k$XpR|}V3Z_e z3>>=J{`|Hdn%1!E_Y}rt-o0qwWnNp61%wNOmusj_#*rXND_dG1-#K0cVebG?80)wY zv|!uR$Jt@`H!$05$J>c2bx}yeuFtQ~ir{;a1`d#h(S8C+ywk6~221mvusgVnb+*-# z4BT4ULYj6-s=Yz(R*pyi|03ruhgS(DyoEegzzY#KBbH=U#rr2`)RP3eP6KkcJEtH^ z)%gmB*mZY@58Xfd>zG+%kJNQpY`!J<>66&4Yf}o?uk{oelrSP)^`28qO#!!yqT|`; zej9?Vh9oBQqD@?^qSk*Vl0TtlN4yVimEOWG-wbq^?zX1Gu @y5BF0OIQ0cn#{hWcH1TNIbT_#GmM474}**Nd>XZ2$RNYzUycPy-YEM zG^@hl4O+%MIrG5F5nsy^7;Z>7tZOxAtC)M7s3aPKkoQ)fUk{J`M{7iN*7wi2Kf0@# zeg?gUGI<3F7>|r5VI@Y8akw91N|gV|5;8gcoIAr<$I%FzwCkeSVYXKyUa-X<5=P%> zW|j|Sy8jt?Wh$fVnT$x9z>r}rz|$1TMI%WTEAV$w)h_!Z1S^#ZFR7b*giWN(%NB8w zhnmp}{j9$|4)WZ=-;w?*{+Dco!7mskp+<+jf%$*p+h6dWP;Gn-RspP*|AZxfgY5;q z0cg5zn#1>>fcsyV)}Noqu|2}7NX69uv?KZxto6GE&}{#(n8$wt%YOr^zh8h#2mo*K zG?agvKK<7n{&;%@pxK0si1WXV?ysX3oPez=)EKPBj3O3T#7b?*OuIb$Fu@=93;W5= zkvK{U>-Z}^TX!stSALO-Ji*QfOztRimkAM?YiwUeN#&6JE(ZXRI_nL% W@=q zrU2==3OrDACFU|?e$P-9GNd{X|nNXtXf`kZ`NYA#O`H*_;N^7ta%c{J7eDylb}B zmVuOXWCiw+JDpMAe~`JKcCyBL4r|JrO%1A#EYq}E%K!vkq$66e(#fp7c|cG42;n=J zf13Rrwu}hFDJ>Y-oX?nY#F7Em9ILGNKX&6^FP{tx)H?5hPM}158VZ#YDyXnfuByz5 z nQLdlR`EYBMA!iH;)6a%(ce#OJjK^w;H~Wn zcgFvC=Dx6;U|F2v{O_qof2_X1W$wiO&sFiFGd2BR$KapK;4g2@Ai aZn@7;%2Oh*BpLHt*1=!SW9!pv^RM)=G|ZxYGB$<>3Ce~|xj`6)gC z7_$uYmw=;+HE8ETr6KbyIZ}}8qH 22o;)E?Wgp9rd y1#b$i!HmWXv2T}|0g8johF&Nsltv-vp-jfAIEy8EbN0P@*n zI&hXv0#i**!w5Ei|1upRW2M&+#+JZA06q`6L}C;*rrxNRk?vvm!NVR#Ql2B8gkybD zSh5THrMHA@nyPPETpfQ0;Gxb?i `f0 zM }hf^G0WREb-{y!WeU%|Y-KLB8m>1m9qvxD)3bFi(_E0D$6 z775#sC2apFQ0x-0ul%ZI9H%VoG5?Kq4TXS{(FzzHFQ~7Z)oOMa&)>1FEjiCwXU#u$ z15)1qC{6@-RRV>0rI;@>SXA~M9#?hDIL-s4_#*YdJ vx39Wk~|~IQKY^3Wd|$Ab{%#6H3u) zxd%Hg902e4`_dqAFh9XmZHA4N)&mExG2aQ9YLWlrZ%)n_@|NBGGKD%rbmI5UGyn^g z97kixf0sog=U?4ZGiPH7!1RPiLmBn*>Gw{K!1OqUrs~nbxiUtEyBA!*!}Bu`U6`QG z^X!uV5bA3JOthWp-Y-QNLsbb%_08HNNEAuPGYe2=9DqImB6t+A?CX2 >-NAj ziyIV}@lsk57@G7-nrgug+OMKvp4&8$a1z P*U}>phuD;x*sL3YTrvqX1hOI_UwA}{RvNMhUf$y$&0d;y2JL_) zgJ8F6Pa=Zr0-SEvW{pvJ4}G&@N#Y6o$50Z=s~~NYjN{>MmV6$(MBJwHWiz6MO;!YI z6Ip6MAxsIgpOGA0mdW1`yU7aNIf9LKT$)bUC)vuoQdhjb^)>R8wu|;?O}x86n966c zx4(hv0)`co{qO7|=ufY{(r!X`&4zV z{&@i8qMA*H)`P+sGv&r(6R4uX8T}B#@9g{UCDeWH&LX@9bl&TI>k{7qyJ{S*iX&lR zBly*Es8wj&_mVlS%XcyMTWIj|Yxf*q%54L8c-0DR=NU5T>(+tyY6~PkLX;FtIprRd zU%!yqkS~zZX$B)Tbc}{o67)623AzXQtV-J`*8IN1w^iz|(lGzzhbl>Dsy9~9SB(gZ zkvgZsyynPw{r!FaIq2sUh(KPWrSQH#9%H56X>XRT ?svs?e{C6&VtTO8VBEVz {f&<%^pA*G(aT1c1D#Fp z yA^-g8%1ljx|v* zhH~S5!8srt%z@lf&E-jlrr}sH5a>0~qg+gY{AdCk_Zf^l7V}5o=nI*kQq1cpf~EuQ z7Tg;zSHkwn+L0?k9qwhRhuTuJS3vay*wmAqnn5ryUgix>%rjyBDSu^Rsn`!{%j;++ zN?ITl4zMI6o|jJ)#lixqvd6$!1>g&TnvYPqW+Z}M!A0fA zeP5{W`izzb8zt`pI3z@h=fD3jXk#2J(Y zpz6K0T*C(XRJ|M6t6d`MTmCdHcLmO6M5#~bdvh@BOK=paa;1GDD11Lac^&R?Z$~tq zee6g84m>1yqN1xrT7O*qBs 2T9&Xq(r#KR9D;;6shqj&wy-D$=P!G9|Y!H* f$Y>HnO*S ubUmA7_vD7WWg@`uoN^0L!4zv$Wt^gmNiT`2} z5T&7G@d0ev>&37Ej{rRUwwt*cj6ACWVJq(|paKi B_DBy(Wv5VZ {SC&T5$4CI=a2EIUR>PX_s(P6Or z#jA04k|T;6;r-egGY&MTc)%R>;IJRsu_S0&(eHxVXQ1&xHRwgC-%Z_s$#Z9eiGA|j zKxhLd`vhZC*>t=|)--faX?bPk`&T{rRF- #H&R$-MIfK zrvFyjI?;`m&Y`Dqn1%uta0=}6`unN{-q=VZBt$=(whb*p;Ap`((Ue;N4}6p3w4BeS zSro6X7lMtYQ=I11f6M`O;#knaUGyaLfbrj!5h;JSeKE*YeRVHSVMT6^#8dekjJOrE z8h*>4{&f==G~gIu*@99zqjYn!@AvPu$bAd72VJ&CpM};>pU-cF{(X4n7!ngGo2Sc- zdnJn$@u6Gc(`sZ-5Z)6Q(D-LS28m4OPG~(S-gv4a1oZwaTP8lP#ZpW25Fl1dE>K)7 z!HFn|c(BBWA~-g8P+0mG%#afJ&X0&2-7Wn$xbbf-J^0Z8f$mB7JlfrZt&@NM7=I21 zuYu GZ RE7HpL6HZH7Fvps*h`%kbD}3Q`2nyAI+y3j8}V zQEyL(R3p&7l{TG~8-w`F9-A7cL3XKj$2m;_UjX=wL6d=ZL88gxgH;f{7hi2X!xASw za|7L*ugk%dOY?maPP6b28yRoy7QQfX%vspL0&b-GxMds6q#Q1!1E@h97%e5+>^2CM zbg{NvWZQy(v}IyNwIeW5B+!kp(VPmWbWx{qc9r7trUi@d}bRuMbc*y^-+ve5x$~ zTAHcvydbQ2wfSQLkL?^30Dv}^@ILpe4marW9Gp}>sW%9(RDZzpUQrL#W41T1WOQGv z%hSeB4mq_8>sl4$g+9Jpa9f%MUAC1RT-lf;>8k)iuO#p$32jhE2u3t$M!0VmLHWpK zehau;?X9p%8|e<-b`U~{ Ov`t)M`ih0d&mVkWwe89_^#4=r7@sM>?t0n}m) z1?i>)Pc$Pe@<@3XoMVMSHgOHeOZ*P9;1W+6pd)Znf&F>^ yZ8pYdK(C(xsUE`v |K`bkG ^a3H^{6W*{@SBIC z9+*~LWT22y+ma%8=)$I%>F0%+={j5niZIm^2Zq1AfZz!s|17f)&*|6*05D$P4gAqp z%%&Z)z%D&k`U@d66%0?ASJSrTz8=uO!;yTfoUj1O{$D`CM=Fy9A=GtN-U^QG{rVGp za1$sqL!`R|8X9r-$YtXzP)n9WdjyC*6xtp&6ajK1@n+CJzJ^?bvJH`jIy7fOQB*jb zI%hN|HlPBd`(y4hT!#A!@^^rGL~NG6d=?U3y`W`X67PaU&Tijw`3btaYEZGK=tc&Z ztC<2U8V5Pk^M@wWre^1g6A+=5x&?x%yx#~k41A9wuSR_Cj6bJ2$~1HIWBGofWix1d z*ChYqp6n-pJ^)s7+;9Rd(S<>WZ1@9QrN2;6@Dil?w=(@J;- tZWt8s6 z?Z^)W5fD`8gjO^Ofr49EWrl1)Fg1`o4gKzlc$Q_~m5kP1$2|L`mcX;6pGt%A-)lCs zGTK#z9&IrixikT=?`3rXgmc?zEe2fGtc;B@n<+~Pxv*FPR5F|3-W yuTX(ES2sx zxNuPz3M)y*UXb2+AA9~G_5rJJ;n+PtF3V~QRTNbIcnb#Rkx;Gu1#^L0C`;bDxLope zl*Dmh4Ei~Nz-3(k6h^4&qfLG92>ycOYpO rC|zDei}y!Azt*pw*3w|`ifA+B(`=i`+585PQt@? z{0ayfP!8LQ{lE#Nr9G-`y)9WI_zB3rrlnX!1Bs~Y2rrGBTzn_UNZF_&$}J8a-i;pg zvT}K7-^bxV7FM5&h4Qfb(L-BMBsw^%PtBBfNiFMzj1qo`lX@4;1fGmn&W$5Ns-$*x zhSCwmYxO-|g15D8{KQqWU`)YYvUvvb!x(_}nMvDP6pOv#Aq~sj`CZ&ul){-=m7)(! zv8?E4atUrE8FvJ;*yUcr4RGO^)1^DdfQO=O`wFwZ<_Vob8qqwSgH(h}y@rTZiUCEy z4}u;f%Lb?Cn*qvBMiEbv?oKJ957sjGI+@MZzJADhREh~ri%7qSR=!>W1OZl@i!w~y z{O7ZNq#p>rq>lV{pXWzhrZwqy--lCjibZC}SM5~{AQVZvJg#K3%=v(vN&VEYjWdL@ z4zHaoY%?aRH#ak`voO*8EkG)fb~T>Ac%I3P(>9K1%@H@5hmx>UcZgjIn>gEpH5~Oy z=pagCgEK#ov4-$A0xa8@>w=5=s$1A=A~Y10mS{9$4(hm&((1ZUN3`Sliy@E?Dvl vOY8Zpaq1Yxs^`{SjCH zvW((A3XOH?IdncY(Qv%kF?b}szcJy%8Xn4|(?dbi8XplqPPw~XPpN0&I|Pa7fr1bR zfeAmyebAerp1*&l%G43s2MS#A#$a~YuQ+_|yeJRfxJyDOOc=iADPdyn;h9#AFwGm` ze)Pe}N4zfLqzRhL>Wex;ny{#0{0SbTj4lqz%T#RsM~tA$&ZH6^4X@3%({fguKzVM? zD8bcL6?&pm#<@<%QYRSeMp`V5EFa@N>`0dLN06G70jCvigyE(j;NpCslr|>4Aw{tJ zxoVW6Lk1llO?1QAZaZ#$hporBAhy9VVi0!~fkxX|IdfH(siF#&6~Q!$%zdQ^Ya*~h zx_vGZ!^F8Zge=6}vx3RP*>0R{*o3$wQQ^Tly <5de`PRi3q5{$46iy#3kz+|OL rFr4waJc{&xL?XVvIhX|c1$#j-pqr%Tq} zQzGJZD(CoDYRI_sUCBL2j|YS4$tp|++4^&^sK~Q&x-A~D8^t)RbPQA8kCkVi%F$6U ztZYS(wN$Z@GKnFweSBTwO!7K8!uQ)Y7v 7IDyb+=uc z^y))E*e9uEQCznYs@Zt?Gz&NC1m7?>F_MlGspgNiyb{ z&OM4;vws(5ia>^yu?)1|j9s`gqKAFP)hw_RsSngR>fg85|Fj9KGog!T(0G^i6{@)K z6AOttsWNcstRxS>^ug1S3+{M;M!=7r{vpQup-(Mjo=E8VhX4c9fR1o!ieURN1Na_$ zk?B&02T{MeFRHVYlJA%Of>o#)UKvP 5$O%&M%&M(Oit?*O2d+swo@fX z5b*q(5(^Sr9^b;j)mof5*eWn!IhD(2&^0TF@+5XsoU;v8#cYxUSfAL#bTgmFx3G;c z6XdeLmu;}^vpo 6c4bIR;30(>dbMMb} zhc{$YlfK!pyJl^VP1(;=!OSYPxK@V_f{bfG`XdwxM0TgAx4*e-8R6f2RPjdyIl2aC z^#)D;8=7S63(MtRZibDm(J}ruBbI{aS*M|Wg4eO3`~q~!^is_b{jKmZm~}+KJB`mH z$%`BQ3FNlL(_4EI&*~GbIRd{qd|pkGC8Eg7>41=>a|t-VcqzA0$jPwE$5XmlsO^!5 zyERvBorI1N1|zxR dFn5;ooU1dT=*r zGT@B>=Ps&D%did!q72(DFbUMc6M@JpD@gz#l7k+0+H#&3k6+_QI!O1{L{q+at$3Vm zkp1OCJF;6XhWjyLSxAEBq<$e*QPLf(f1fgaZ~43;Laf7Qd4`Q~o3M05Qx%qW2Ii8a zqP2R- v-QJQF!LUX36`gb^Y=GX(Q?7AZUqkTw5AKuN$(1u{P9DM#=)iN0Dvl|EAEAC z#cIC=+4pew fvW9DnooO{S)6j_iDUM(nh@G>@9eTH+ ?$+%1C$l z7Zo-_m}<_>cSP&PeMla7JK~Nmu*Q0&0;|Vb35pMPpD-b9wQ*jhj`T-FJ;@l$eT~+y zejq)57G*1GL%eO8jRlfyVjmE&qCGx>Nm6U-KF!tuG)BEY$CHg^t)A 98GBb*7#hJ`j=t>;&0)tjbqv2d|k>} zM5vq^&-Br2Rf`{94oOPK;a#O3^>&o%_@X~_+Me}OeyqF+82FE`OjB&9haZtPeRQx^ zkaav_I{;_*ljwUIQomhD>A=rM57z?LS>CA4zG~_NyEkn7jvI$DE(a92FWD> 4!u z;>Vw}7v|8nQtrt|HD*h_(JLhR%ji1xx@wUPRzq HVoNS& zyu @y*Y&i*@2uGeiST5JYGnUlk#I!c>oUiZm4I6(K@mNmzqMjw+$PU?%KE8l zJxOfjX+=a{g6!iQm%qWMq($hBrrr;4oIL^|VV57rr5?4EbyG3w< 1r|ZDy4OT&pN3hN&R|>8Y z#UjTD);ZXLxkrGq=b5xxU^O @LF@-lA(^p$;}I~}#TzS`Pv=JvaSugyI?@YX?gqOz0p;{OQsx8WcM(g5 zi{Bxi!q5@2HQLdm*%0c=aqM!kmXXU!dm^w=ZHjerD&D~eU-2kw;;znYq_lGgvx}*g zM^3wGq~+0UWMN70R|5QH>eT8-5}&e|kjP?e6(!3)Hum+qx(UgFd<{g;zST6O)^@ZQ z8hFNHz9iDbZ6_s>g%%UCfN4YVC5ps0ggn)P<(H0AW6@3Eba+49YFv5T{{XAM(gf+f z=YC%|CgV%$U;e~5?S&C{T&1lBdwk49al^4#u}uXYv;KjT zE$HF2x{8aPkD~dgUcQ&@jsNDjovfMcL2pUii+K+^15&xo*w88sMIEEkC>4wue1RvI z{Tv;=FWBsGq}#pxlv}^)8TA?tbvT01NSE{vYwX1nAtrH;38m*5vJK`GH)9PNV|K9G zrVvaaz7eaCw?eq--Ohsv7R*w6j|676pFc68-ghM1om2tD_EWTX(3vXcuZFJuVPJ~I zvkivY-=ey47SoT9u#%70x!}@a=Vbtm+C!K)PS5;R9+|x|6*yi&Ba;X)QVen?!~aPs znQzw$kV(67j&V`9Df!VIy7+ky*(YOei4X#^!_2ZyxlG9W%h&i%rzCs=k_>+)#&{9* z_x`wHPayA?U-6ZYt<|7|xsJtIt>zFkSJ`T$q3Q9ICy$CjSl ICjv)~FB;Qmcj>Dl2@yx+-ekT%XFr_$nx{lIHLniPA)L!;ZF}^g z6?^(bH>rjp9oC0C((R=1G$gi}`h(u?)bWn R}0F> zN%Noo+(Z_`a9Zz;B9-mp)Zv mi7kT%Ns|9Vjg!NYTZzG@5^uWCPVb=j@5@rJN78Ba5ug2 z7^d1)cC6DFOoa|X-3?qNNDQtvZ+sq=QKi8 1A+oO9Il(Z( zLX&kg+A^e%54Y{}P^w!N>94O>hnR0QVso<5yJL-RiYs?L$E|`1!0acQ8=)qg=VZcN zmP=I%9alH*DEp=#HtmR(lKtF>d_AcxqykfIgBFf2K~|Eua!(XLjQ#c5 zE}?*u^H-wTJf|er-Z?ON%ny|yR%Vo6oWCc^MZ^?^Hyq=UosM%)5 O(Mt#tiK0_K^&dEu^ z6XB>E=_B6UdYb)%Id?J>gPtdbx>`gS>4+jG%_Y+5L}9@6IK+{1$%O7v5I5Puca6um z#vm`a#P@-}CBUlf$|xl~R6{eHp4E5Qv!Nss#TLgIPnas*9KDVFPW?~>GNg=>#q=4o z-Cp74^P}2umq#dUAc2W+7&u!qtAbg|wy#KyQ`=?5ghszSgHd^b!M_%r`Dj(xe>^(m ziBc1L7_)6ehXFncvDsH@Z=%)$2-yVZ{)t}40^tDvju{Rt0-;h*E_?v(!%B4>2Z |dogccN>jt?B|qWRIKD~JP1uSKQE;$jriLsiRbX4e UCdT zNqxVQ7ldYe6(2_folJmBi1+f!!`Y!cI@dlxg-NS_y)f}KJISVa6Kmk@4)uXf%P6FN zZfyLN2$Fp`WRJCsM>HwPo}mcoy z5)||?q4l3^dVliO;yF$DR}BBf5pp8<60kGwhC47i|0{5UlLH30!Pc7q^&~#et#cYI z8m3LI#=j=}FV^rWoE9MrJgc?txvDzVA9{7v4;gD9>_W4v*wj^No-IT$%#lT*aMX`g zQQm$XE_k9AusGExMU(4)YiORX;zToAub#ZL{fCw{h5jbF?IoDDp4o@|HNLvf-k0Pr zF194_9n*%^P|0M#e q`VvRB#nG!W#r6%p zo+&~7EoQdxgngwxI5uVnxKN-7sy^2KLL%`*;s+R)hC%KIreI3%k9|Vo@__{!iE2Qc z1)b9z%7-9TxxyYNe>9Hd7t_zG*8frpxaQ0=tP7yOu{~MqE7|mO{=0FLmxPk9z|K2F ztB_^^R4(=vVUr=|k6>4Oqo7jXZI4t3JCC9UmBn~v_8Ac9tL9?cK!p8O!T^Xo-fTGe zDrW#rx03FiiX9;Bhg#CDGJiAnr*uzRKWz9!O^W^b#Q#&T1HSiFdjWz=)ZA5Fr2jda z|Mtz$N5IVv-9Ih}__zP~=f{$0a74+`r=6Jpd8z%+?^8fzq~cvPW;=lV>^g%mM`{Jv z+(1wQlvnXHjS)<)xB>M@dHqJp03ZZg)=Dd;q4RYBulfpUs{yEM2-D~z+r9uFM y z2IU|^%Hea6NT6M(H^&V`Ya5INQ0B!t70UU7W|m1qLGZJvuj7Gn%d~@!haCY3X7H3C zNgLt30WUwtP*iLL)v@{Ss=}A}KjlBH@l@B@H!otJOZu|^FWb)FvIO4^$;>{c4Jh{j z=(cr~PvD)_GwDID^G|`emu0ukWEl_yb5NdlcPuA}xpA-J*)u2&NbEwl4rD!*Ene3E z&K=1R_UB-m@d)}mCnC#aZ>lKKWp|pn$^np_eLEdj|CbUtl!0~kRd)CrIHd=*mJ^>0 zNZ1UXHm}AIug~|cIc&ScInJ-jveZ*I7b(|{@U5b00~PQdfJ!YU-@MYC!1}SEv`4%_ z%uJov@*QQWy~RpIJ7TKGXeRUapOg3ZH$a8XmE5fZR|XgzQu;)L03P9WAQGzpS8os0 zX(xE`!{6UA924YHG>!K}l39Z=2Pa)8u!mtmoql4E)m$L1e{nauZXmQJ$Z@qNq7rjKlf(*a#&+I3Pb&eC6ufVtPtt+9Ym zZucdi@cjN{-PxZs6NM!Gfj?Y*h9Lr)9Y8#xc_04cqDvtI9<}R5{x`puLu`LW j6d}yz^@sxWdkUy-Ha|iBsBCmLhwljQ@|0*tIg!&8=5rrorI1VxK}Ce0bGf?&QkZouh VB__VJVsi7ZXYU+3pN0qdw^+GL%R;1#*B5*644iKm0KfT6pJQi&NI#Srwd@-+kcb zKS)V*SeNd>f1k{v+wk5ABy;#)hN`C>CioI(Ji9Ah@sNysr0L)#@cIfD$ks$Tp!{u* z?k8D+OE8ZieH#eVd*W~42NJLBfavz8dkx84kEgA=_bDx#!%A00#^r_=w-rbtZVP|@ zZb=d|i<3&X;*X6*1} -+Ic#r% zURhiXOz*NuwXH!`dtHt;AkQ<~1&v2AnkbjoX#!@@8O9(+%4zpfqU F7|Q6;Oci_8U&Uug=SL0kcN} z2nXYTxdLW#R)(=8?%e3F>m)a8grJ=G{y56#8;~25Fa?#fY%~+*vCk3hj{k>o0b1PV zBteBEek )SoFWz7 h#v>pNO)dlPa|v@m#On%feHqxbaDWcmj@=ycDmW+zDmBF< zt-k+o4wMKaFk>_kQV+WE`~846y3`^M43F@{XJ1AfSp%RIIf#y9Ok^dOIC`^NVm=~t zDi>@TjLIdmna>v4n^h+6;rY!lD8Su>U4LL&%HZbWIIseZaAr&3;~~ReE0IGnLLgHM zq89idSU@|mdBoCvn-C%mC1PLq_gEOW)G+=>L{wfAbv+fUkuLFlWJx zNo8~C-rhVQc@~VBHTdw+`>J5ECFz-5J}|E{0c~?HRNEY@kQ*SdFh$qJPo @g>(l?H~{75ZzY2ejfOM?fBmp_fRBY}Jz$6!SYL6jn4g^ O%?mt+?Wp4%1WS5P7z-%x6V8?E=fMPpQ JupRu4 zwEy=O`A<>d%YX}&6aYe;SSM|KW)_&58km@-zxC{6(dej{rMpZUC?^g=O`x% fXbTAd{6*rt7A-8*}J&JJ%SwrH1!GkrcA2Y~@wv93hN*V%cRmQvGk49?^O1$4RuMG8!zF@D$NC|1Q{