From 2f6a13ce32bf5704dbfea7dfc8f72d7ab315efe6 Mon Sep 17 00:00:00 2001 From: abrennan Date: Mon, 2 Nov 2020 13:03:36 -0600 Subject: [PATCH] RHDEVDOCS-1952: Add Kafka source using ODC --- _topic_map.yml | 11 +-- cli_reference/kn-cli-tools.adoc | 2 +- images/verify-kafka-ODC.png | Bin 0 -> 110681 bytes modules/serverless-install-kafka-odc.adoc | 2 +- modules/serverless-install-kafka-yaml.adoc | 77 ------------------ modules/serverless-kafka-source-odc.adoc | 37 +++++++++ modules/serverless-kafka-source-yaml.adoc | 61 ++++++++++++++ .../event_sources/knative-event-sources.adoc | 12 +-- .../serverless-kafka-source.adoc | 19 +++++ .../event_sources/serverless-pingsource.adoc | 1 - .../serverless-sinkbinding.adoc | 0 serverless/serverless-kafka.adoc | 27 +++++- 12 files changed, 158 insertions(+), 91 deletions(-) create mode 100644 images/verify-kafka-ODC.png delete mode 100644 modules/serverless-install-kafka-yaml.adoc create mode 100644 modules/serverless-kafka-source-odc.adoc create mode 100644 modules/serverless-kafka-source-yaml.adoc create mode 100644 serverless/event_sources/serverless-kafka-source.adoc rename serverless/{event_workflows => event_sources}/serverless-sinkbinding.adoc (100%) diff --git a/_topic_map.yml b/_topic_map.yml index 5e03a94989..90f5714289 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -2542,9 +2542,6 @@ Topics: # Channels - Name: Event delivery workflows using channels File: serverless-channels -# Sinkbinding - - Name: Using SinkBinding - File: serverless-sinkbinding # Event sources - Name: Event sources Dir: event_sources @@ -2557,9 +2554,13 @@ Topics: File: serverless-apiserversource - Name: Using PingSource File: serverless-pingsource + - Name: Using SinkBinding + File: serverless-sinkbinding + - Name: Using a Kafka source + File: serverless-kafka-source # Knative Kafka -# - Name: Using Apache Kafka with OpenShift Serverless -# File: serverless-kafka +- Name: Using Apache Kafka with OpenShift Serverless + File: serverless-kafka # Networking - Name: Networking Dir: networking diff --git a/cli_reference/kn-cli-tools.adoc b/cli_reference/kn-cli-tools.adoc index 394f623260..e567fae6b5 100644 --- a/cli_reference/kn-cli-tools.adoc +++ b/cli_reference/kn-cli-tools.adoc @@ -28,7 +28,7 @@ Key features of `kn` include: ==== Knative Eventing is currently available as a Technology Preview feature of {ServerlessProductName}. ==== -* Create xref:../serverless/event_workflows/serverless-sinkbinding.adoc#serverless-sinkbinding[sink binding] to connect existing Kubernetes applications and Knative services. +* Create xref:../serverless/event_sources/serverless-sinkbinding.adoc#serverless-sinkbinding[sink binding] to connect existing Kubernetes applications and Knative services. * Extend `kn` with flexible plugin architecture, similar to `kubectl`. // * Easily integrate {ServerlessProductName} with OpenShift Pipelines by using `kn` in an OpenShift Pipelines task // TODO: Add integrations later when we have docs about this. diff --git a/images/verify-kafka-ODC.png b/images/verify-kafka-ODC.png new file mode 100644 index 0000000000000000000000000000000000000000..1f94c0e028c56af612ba62a56cda21019a6fdd2c GIT binary patch literal 110681 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 W!J!*_9KOayGY1F1yCbYErWGo8cM zXS{U+I~4nmIxW`GeWPn1XP@(2EZ180X&Mw@3e2z#;>1dPpl2i&}POGUHECGAoYgzICT9#0|J+(0JRz? z?a)s1S(1yJvZ$Zd$0GkFj~^~;Z3c%!$FkKUZzRaWKUDI%hLE%23Zvv7uAkp7ft zUU*tF-!X|Zo_2bEnisR##V0^8QRx%Kq=0#PoixA!uQjbvw zl&67gSsWn-@LqM}HYY*HU_F!<86~v#gpgK1rO|zJ5O8nOP)8HhHu<=g0!QHA>7*|O zG+G0-JcYuuTlO6|`*n>7YqIFh*by*@-fybbYJMYuUmzZODR|1B zpJtk7gmL_zNEzs>S4Mn|{BX^p-mS>8PA@J;I-prgArkRV7V0lTq#gvd865xyiT)w> zq|`qz+Crf;!A^5IWc1>Ng<|5wFDyPDPee>ij92l##L3!8r6CA5?-dd*xqx}*u@88F zd8QUkh?`c{O9s_NwFA60%{gZy6r3cXhcTq>V_fc6FarZTD9|1O#xV#tpDTnS&Ax&) ze25@+KfbsEJ3%$xI1ss61c%t%1z*(vfgzs1suZe2*FXRjv zv^QLhF1L*yUGMGAACB~;9ATD$M!dP9nqeik;YI>5^}V10;oOo*`&z1kPYDUh@*k*b zsg`fq(39JwQ~sm}cLmpn>zW_TM(|le&j^90sES^Tq!lS>cYs+;n-MoG(@3)btVJo=b0u&#Xq>Q47em7>PnL5t`)}=y{Q7QTiZaYSfkwUWb%YeVlNgR2KWw%J?};qJthHCHoxo0 zJ13>TSg++Vu(2A2z_`gt-O3P2J&cXd!%%B7JPnjtJwrP_s~e$P zE<505gApP)4D^&F^rfn9nbeoRi|9Z3rzArL7&^)kL{7j#Y|?i~4J0$6;xx(nWQZ@} zR+K5jLk$H11`sp$o*9ARiyzVeWJf?%=In!jxWI161=sq+`T~p77W+!3jsQq|-Iy&O z2tuGZ?%H&>V1#io$q*{2UM>hFwtgA6%=YLy*H8Is(P&EfdlR;N+=c)PU#e$!O60u! z7ikNK2gd%?jJjxHX{j4budN;qe7;Q>Bn4nXbp+mbm@z&1Bg387B5rU)fc!aKlINt1 zXyo|6-;c0g#J4QBRx6*|J6@wL!jV;sgTRLLV0{n30faXaUu<6+B-kwh;Ab1tGryCg z`;dz|QZ7t9;jdsa7Bigjp~Flt+^0-f02w^Fn}xg?P$Y*60Up-1=sa?AY7D~E-tmuh z90IOZ@b`2mFlSJ2q__r>0W7<8G&v4vq}2HAMSZWi2?>dW2CR=!CP?@GKb%)SPL!cH zL9PHCp4gtn7zSn>bq*&);;&?%pB2Nn;@b;+ZD%mhpNCQ_25>(x~{5 z_^&HxxPjF3vYQpQ1JVvCRT`(FsjZ3Jvg1nzg_Y-&HgOw? z(ce#DqnN!pNTk64)gs8R!QKjK11yoNEO^wq#$Sy04V{E+Fv?lPLNv?&tCDEP+&F|{ zyPV!zvcihv$^pD2AWxH*MDH+2dXm^E<5m^?~D znjq62c6Y{*8jm{gfY$WtLm50>9Tc?RIsN&Y&c$7rJtf`&Z0ZM=y@>eo% z2IPGepx0tiVi>Wy@gn;zI0HRAnZ{6Q++Ls$x$Pmq4>WCR501HkxB;-Tn_$h)60foV zEaYb^4lGHy%+2X}J>%)K_>~F*)^XUw4G<%oE`{GkDtz8~4c0mQ^Ofwqk+J9CY4JZj zZ>yz3Tjh+uKZMxV>i8j%N}?J?@^7d$q=kS1g2dZa!{USufEq8607v3p-8BSw z%U`@&Vo0WLFif4I0QUIouR|~Hytcj<3;;iur<~NIS1gr^F3Ahf{?z^g;Ox7RGT?Xu z{3^?T66?J+E64ItsSF%10q1`}R(qV@r@#q7F)lfohN27> z829Z%`xwVxOGsk(Dyh1>O29%C(za2qI%)_A8L!GOXJ}O(8ghLFD7M`pr0d<3y{3{< z6o@yt6bD#(Ta||fXjL%{s0IhI5orNeQ7wjy7Ol1&4BnP<=5n& z+=aWX%z^_^80_MK7vod2i+>M^^XR=}VS_1(YA__Wh7D;o9twA;8uFB0>mSs*LT+;7 z+eGkvphS@Kc3+FcsN2PQo237hm8FoS<;>-gs@tDmmCxcB8n^-I`?!pR^T)t(o=*~yTnNncyhMbfh2F9`8)c+C`c-YiSsyKOrm^&~sCT8<$ zL)GKT_y17=W+(otH-|m|bzci#-j3=)?a->i#N@OW*C7c00jSOB(#?Lf4Tk>^G^UmZ z1-e#}Bph}d!2JLIU4X|^s%+Pmoa_IFytia{#TqrtFi^sP3=gaZs;zCUK|ZnRzISR@ zi=JoJ{1dba{BaFBZlp8XtdvZ&{%asQq}dVjy@`%o`;fXJFCPJt zp;@F}F^!D-Fo)7M1H{Wyy1b!Aar-#ZtRwqkaNXftc#97yt{H;aDwgL+E6^7Wr#90C zo<<6k^-AvwNM|@g1_ldEQD?oY{+s?4h22Y*k$=n^@M&X*R*T$l^hb3K4fDfq&$cRq zS%F-^Us165k#SiOSr)?Z^q(l}<0WU&-`lB4)vrsZ8*-yh$h^3xmvCUN0sBgtd)=Jt znCoE%AAtNh=6!i-*$bIS_yumTBCKC>6B=z{~`oM}2+0vw*c`3+*3T zC~$t$%5mUa5;NCWWlX$k(RzrzqH)&7}Ho%Fps|YJubl zYAg_1t*g^tGGrNYz63S_p)?9{Dk-x2V$4&=Ut?nSjx`j!-~()-ziii+D3!NN!oj~~ z=C-E3)~h1)lKnt-!rj#sI>D1|{>27o6chAaR>N-HVUmw|CR4grL6$-3Ah6w%%4=kw z(Jo_l4Qoe-Np8|BO?(PN5@>*vqPgY0A@5JENC@6Ka~Y=nu4pPmLVr+zQU#VA$m6gzjZ#VHw)UPao=( zKSyvY(Lk4XuHYr{e~mL|E$<84@vR^@1m5P{Xfygd$`BuK&_ex~DsqJzMC)E=$?Vo< zUe5ehK(CXSUmxtq1r(yBQU8-ka#2q+WdJ&J{6R7=8k$~`(w}K3(4+Mat%MY)fz?%A{>8Kxk3eZ6Q-^+!lwM;s6Jmi?0lXq>2Q)X9obl)H}!JsHsSx7QwI4?s2d3?a(I#et^xH5(nyk44FIqn4bn`W*X7J8jXzE}qt`b*hb z+<5l|AFX`I`CB{T@(uxJ))5AZYzWOHX#t3lJSCg$58Qr~>QWi6w|wB+B3y$%=4%&a zB98?H^da4K#B=?%)dXHNiz`-Mry4->0NhNS=b`Fo#OXi zpc3o1vdrh@XKm59gIHSQ7((vQw~k_4TH8rmioMTXW76NhAEa-K<00!!A%nz#Qv_fL zQ6+XJ0?vTf*C4x&oDNdSgSqJXz&W)}QWd zU5s0#e*Aoo;bB$|SIe9dgaYg|qp><-%08saROC50U@6M1QRgW8;%?&WqJ4kb$RId; zqNwQCZ;>M>gGoBDN8*DLrP@2<*mRlO-??TdTpB5cmDxGxhox?%jr)B6eJCb87HYCd zH|aVc@scFtyTtfsU4e%`v~OrU8;(lmpnIS1KpCv_I4uC#;_~fx%YIEb#|fV;AC3NT zr}!njD+K$UzhVhyt0NDH{oP*-I4ZPkG}fIZ)Ee$CCj5$2)ZsLg@K13ayx(;8v+>gC zl>e{$hZ|Gj+)DJf@V<9-wSvFpLAYHyhUBkpB0I#EZ;2BV=ZXijSTRiqvM|No0KMvx zAWN39^dvzb*~6?A{A;Xq$_w#CUV!OO9&_y)%bbmq@C$H#f^F*Q`*;oqaYQ%#9&c4T zMPmLBS>FMUb=$^$Q})WDrDS7w#eSugxiiNQW9$=YC9KZ8-o@e}&@%BoiaYj|<%9HHOXYma;gZ?x` zPStzut$lRZD=GSfrK-1Yj~lvLyVX+?;UBEHdK0jjBM#-2r-W=G`&QVQRr*!N^6HoYP*hy;EOcS-1s-fs!i)TYyX?|yEvzy4)< zh-XLl=aSu{K8vm)FKPEb{4Co`Dx29iGcAURP$A2lLE)+lit%-30VG8Ok%8k&?eABe z+U{CiJ%MsQTp-_n<$Y1Ix8eR-)db7E_=L4REY-wsjfT96ld`MNY4U?-^w?wqm{4D< zZAB{g$A`6-HwvW2!)MS2(^$rV>BgojKi>WFkXvhK5n_wJcN87PUsoc8VIh^WYWuaR zq)jKyMu{otPpuT0&5x2iPp%&o6-T>V1Lm@y3)XOD_@NE6WEzEY6>C93!O(Q+j_KMy zeI?OZE-o(h=ZuvXCb3S#D3t!AaB4oxn%VebIEp2&Ec+{v259rhQSAyeR)UpjiP>&-ST+dZu8{vWKrHx{DY!~XpIKr zh@`2ql8Jlwrk~nAnI4=$g930HyU4@j{@WbY_%Tt%XLX!n=b)L$wRbQ)=zvtz>$gp{ zwT=L4;(3x=_1+iRwI}dn!t| z=~|BlY)VRh)Shv`mLXhCzjTwrFY?VyWW!y?CaOOo}QkldCI%i zh7p1t54qL$Iwj)~(T)xsC-Rr$Sblk_YWM-PDd6^JjE;)pCo6I1xqh-LfP}sjQ=l)+ z7M~hQUw09${FZyDUsWzhfIhmtA452j)^!ICyn58x)60uszc$C5T6*F|)IUEt+itV! zEYZ3ZT(kM9U9+i`LbLd5own*14kaQ&MaZ`0ak>vb{zdEO(U%JTqO6z`yNTR2`02fe zd6z_})P-56GHiWL4@Jbc_?z*z9>@GqdZaZ@#`|TA(TtYo76^`7lI61o2p%TZeZG#3 z6;^~k<|Z*MlFAIl_M!jzE@kDq*h%#mvU`>FIhaIl5|BOb_w1#PwM>A7HZFU6oOz}b zWBQP0|KiT>p`L+>^=sX;@t1ozO*+-ZnjIz2^6?RYtfr@@4|yL%4)2X~Bm{z}B0spX zrb_d>r*&mT*DF3*hj!hGeaoJT`8kd9SLZoA6LaLYdNeqszOCZh#9ugQw$^|5^4f(*ro^F5Izd2L4} zELT(3rxHre#e3eFq6Qxf`JPS|f5fw0BqG8ddWbM_>6EG^(QSnIA6u$P@Ao}JL%DjQ z`19IL&5QK^yfX66t~@F#-=V{qqolEkhyH#Ty>Pv@I6)O2+4iL4_Ea0y@Y)V**T*uo zoYd5W=(9o}OU~i7myF@W8Pfy?TgCVZM>Y4DXRW=c#nO^ z4RkOsz0GrTp)#t`T0BT9#@pQTa(t}wW6jCX&vG3e>2$=TofX@sotYdvE$N& zMN&ksvh!Ur)*nmRO8ry>#XU-%CVdKStb^7a@rGxW{Y9U2ywYphagj=KqCxBq{AhbJ z6}~)ucDYek@4?+YI3|vS$R<*r+d1YcF7e8@-ZP2>{fJj|vH!4gR(N@CY!7$hLebvD z=B}1Z?)%U-Me}t|mM~M7#{W zmQF;o!6_2j;wq&2`-+@S8|I^`={{3kcLKayu@i}-6lV7<*I7rOq{NptTC5X1f49n6 zDr%mkJMI3i{4e@y)RwvM6Ect_N2;s;o_4P)EFjZv=>FjHR_gG5=zS1U_B1-_vIvHx zP@kIf%TYPL@o#-HZ%((!k=ebynzc9Ag-`)IUx@Yc%<*cve=-&%p$G*Zv+NK10JQ3K z7()%4ey8lNNBRD6*m?Vq--bEk&#RqyWc3icOR~HwwQ_9nV#|!kGM(TDlo*h zt!>qr7D?I?Ojxq=+=Lpqqq2ctZHf9+{VVgWkBp6ae9ntv+;YTgjEINDHdg{mcn7Y0*v2${wu%qIwY~M2fPrRdf zE~bB(Sdn?moi)T2E%7W+ffFtP&?3pJ;_*UY_d$=~nHMX4qID_;G-U!r@-LOlTJKRs zrdW>UtBl)CHdY&JU1E%5!^06NH(VOGH6n6$W~$gzrFB#ayG|M^D9n!?IUH459A-rC zJ|mU~(O3|xFDs)}P2f;5FnFSmcQ)SZXga;D5;li_^kjz5JUnLIr#xi0Z7=%lk z!E#1DhS;EhOQG|Q1T@f^1OX1IlSV(|H;g-pRvnhZ>{;-=prp>OUB5x3Ff} zvm1yxnk)$kvHA7nwvQw2#0K80><~7GdwD!P9GU?X#i3Z8$nLqYj+vPE@~OcU**nG? ziiN(-yDJZYvP7?O5;p+m7(s>>GRwnc5ma~Qo1alUn4YwfDbD;j z;iZ+oUfcA1c$X4FW)1>x?|h$KDbi5&sv-uL%_s*S#IAQzF<9lK;ML(Upb3M5F0ZQE zCdMdrvHhzGxVWZ&el*CcpHTF{h?tic6@Vp)=(c9y`R;sg8~+01H-2V62@GCHQkM5f zV4GU?RGi#T3_fRn&50EK-ql4VjYz&s7R`W@M+XF}653|e2|b4i!&muZ@FQFB9)0S~ zu6udpcH_TeU$>Z1Pf}qqU)}g?F8&leX{*I1k=?H}JQ^-U=ul!z$ox4>XbEf(bo$_* zeXXp~>4?11I}>@Mu)jotav#7X9sgLu_F(4;(5P~6^Q%BIgoQb|Js`8|9oRjGp=K)9 z;yu-#KD->ktyXMwg>%CXtX<3GB?ALS8ChAc6X2QuZ}m_dto<^E9ymMc_Z>Z>Z8{6HlJQD9BATXS-CIpFm^y+mNF$5pG#-f(<_o9u|98G+i3y|5c;ZDv^`woMe5Z znu31tQIL|nK6{@KvElpLr7!J^xj~`}f#C@<*W6 zUJg)d{&On|J}{=VeYJ`>*ZV|A{`lByXqTHT-nPyMIB!AAT!Q>T(Y zL15<=QPN|GZi;m#$K;5-)cEJIJRINK#&6~Kp)ITHOgCd1t^Ru^zc@S-H$Vf=1P^F= z$?_~yzLuFrmAT3(ypG2b8;Knu*l$rjjtQ^)2vGU@Xo$)NIpY53cfh%RQ{~bt*a=Wb z?Ye{9crY@baPRb?M2Fz9XneE$)-jFvxE(5XMrEXb%z~KQw2{_&SCRIQV&5n-Z&X^~@u{xs$*8~x!s=`K&?vuf z!T$vGWdiK{S6NwUA2B06J;XK7(~sI!dVLa&e}X~XU~09~t_^3psh;x}Etm42Bq_nW zxBm%c5OZjQU~KF~$IMhd{UYsCIC;1iqt}v7swI^#(r34)wOQT=;ow%QX(G)t`1iD; zxZu}2{xm)g&W8)%tB2*=dCj?o?)bm53Z0TmI<=cji?Z`g18T{(@I`^C)1DPBL6@)cVvBz13 z8ou$LQ?dZ6PK1O~XJ3TuMFovUAE|ADmdodUSUUmPt5}~rgI14I|66#RMfEo#r7k0A zA_rt7So^w=$YLCtRc8 zsGIwd^)`|9f#@>C^1L=g=fm4Hn)Ar%7i;Cxc9WHSG1b;f{@=AA6g62O@LO)&SKRj> zQPmK1Z2xvEgP)BM-D3g5aXRIxNfLL{q^q4o{#M;p7Yp^{i{BCkw^n3iWre^=zd(yi z6cbGqIdUtPrX8BfMd0`&a=Ae>f;50}_|b1JcjLb+1Un;|#emyqd@Nlsj1hf!ji|DNEy`i4%;#1n!L22zN`%?W$zJ8xc#>YgAbC?BsBI9 z>vlje5!tL<057Qw>zg9l7S^P`Y6;@Z;zkaBXAAwKslV#wFMp2w-!S9FKXRcRgKM-b zVY2VSZ|#@J;AaX;u1B7#0=4^V8&P%?ylOfL(~sJDLCx93Lc>fZzKj5IXwk^w`WJdS zXkjo>(ELbR%^&fX--b@AKX0ZeVI58@TZgjz$XY)RIo- z0YTe1!h!0;^dpdV@uwX#%|LjMiI1mT7S~?`c}i?_<+=ZdA(LAz<{u64P`(Y@r0$Lg z#2F*?5904T93>t22*PEfL*N_uAI;3oO@F_ssG_Hr?9Du$0eTtv3QE7&fu`6S;Bmte zIjmhgiNz8X3DKXBcTp1*;taK@lX)WK)0*Ziypj%4TpZu-9HPYp1(^2dlR3Vd+s?j z$C3sPda-32sgpkdDXEIV3eW@T0T7#^aAN}6_62TeAdY1(Q(>!`OOt@lL-{=Y91$^$ z8U13iR2TAo8;8tpxn#S{Jq?ivB-cFVAItQI-)K^Vx1F#8bcG?J?F?*-|HfFoN*VixR<`p}S%G3fmA8+8@R18`a zP5^bu(2yCbzT%+N8+A!Vg&+vJ;!d|vDYgP7aXle;{{-|r{)V3nMG_;fEfhY`Pg5*t ze`jph3t7%-{lZp$6Dq%T2DJMm}QKV#Fu1VO?i= z^YZ1%dt<(Q&`mZ0iUhZ+$4*emg_M1fA$#-OomBYUPZ~CPKRV$j=%3!p-u{ih_}-6F zqUIMDo5$+>@lf#UBG4l=8X(Ro=o%ZAoBN~8_9j=bJY4=5TC@Sp>E6@+M=EcTo@Dw3 z4=u>`byz{^JZ)X)!k0Z;aIVeVziOCWQg^cC8eFcYACJ6l!jh3AQrw@U!W;0NejtT3 zjI@Amq}4#8E)G5lLV6d9jn95eJd1~ds-gDo;KPm7sw?pOb>L)>H&bkGa#|PV=1yMT zy4o$sYgwGc0j^DH8%^QIQgR5c7EkxP2Ltg^kJEPwYf@C&KVD%^HFLbQYsa0=w(!?Tv3m&>v{eq3dGYjPmYpwKQ``6TJSDG6a zGtCPL{tX7d^@=UQ2{!ASJyyj@%&?Wa&w?F9v%96He1&?|2;{bqlY}4sVNsLlurV(1 zlp>4^Q6)m&+FKUINrrIz;;p{}viW2569s}&@W|kWkslk02sB}Mo<22MdTuU@GYM}{ z%E6)lH~~+i@yIrL*5#}`i|cUwczl%MtarMn6aINhR4HByeVAW14^y5#Kh4>u&wx>w z!WrwsW6WsVwws?7T>xSHcH<~4(8o#o|oM+Q%uatspAo#o0M|sq9 zZMzT4jC1?8AM3~sSN=|#9Wd-ay>===0QXJY2=?{*_3L)d&V;B`&DRgxPbbL2lht2N z(8{*%xjyM2`2PS_^~qel*2o_0ITT)jVKtLV6H~r5BPa~BQ{5M)QlnD@JB&6-PX*1A z9)A;J)<1ia8<0o!(sWvjH(84_5Ahm@YV(upmjd%~5nWPFNLwIsg#azr|L=zJ8#8I( z6JP4qBA8dm9ti&7QXco>qUPZJCUtLGJhBiDp=RYq{0T*&X1~K)!F!S7;Cjt%5Crhj zC_8BMd_l9^DFc}#09bj=ukNAE#fiTU+gY@KuWedyO;`yc2dQmuUQL75>N|J% zXqvEK4Y~rKc=~$EV-HuIEds6m&G^!9DkFejV1Xk{`41JTi?4~VeXD$d*I|`rgcpKG z)}|@Za2p^Ukog!Xm}Aog8*{UQ_`YF zmj!O{uVqx>vjs0rxvBID>A2zysM)(Dqi{1vK5WZ-@e{?^goWcT%@Q+-KE0D~Qumqu z(I@L_du-sM8h~Iu5H8h0R)xix;toXUfJ3>z^UPozWQi-)t8V0eQPeU@NPSA?Ie;vUn(HHr&!0OlQBMHzZMrs;f31iZ60Z5spoW0In;?_@yM9zor-DpE5_!u62|?S$hBYZ zE!+%_L5$YxOD|u)CWIdPCvV8DE7w9pUN@)XcVuiyX4+|BPT>}q^+iw33CQw@W8NKx z;^n03M&a(K)E{0@LdxK@Z{L0p5kWY*Dw}?zcVOT|$d>QU+GMJ{za%npK-K?g5Ep@9 zg0p>CH<5{W1Rj|R?@DmCP#rkAAWSkcGD?+%({3t*r%j}B+ZRV{{1j>Ty>fDgo3zmR7bHT8XLES`un;MCFKc7rwsle#o|1{APqt1AzAUEAseRcsqRoV}BQVCt={ z&p*vy)z>4uRy#+>^ZR8F9y~x^CO0on+t4tY)umQ!T{ac3nLv<}-F330%LxU_>JNmD zn!Jy)tRS%CkHK}FA~ThqT~~g3&LmkqXN|kpYri4Ih8e(_B<_!;`R~7WHK1dZMN(<$ zV-EW^n(nK=4E`lwSoREi&CJ-CRgghrhzK1ZuX-$;$;3+O+WhtUbUd$f=_AmC=tp76 z7d>V(YieXxmd{H{T0+P6oT8$3D7bnQBHtkg-e6*A#xLBN7e~M{tfW|f3P+i%rN`@M zpqli*k4^Eimd>sWnpsI}h(-$`VDuRDO`kd2|`Rbq} zG$yRx_##{4I4F*Iw9tqaQ|ZV&G*n~eG44I=R1Mu-OYC~Mdi(maUcDlKVHs7hzfl() z`diBjv;q`3b8~aopoX#$RK}nA9^|XsW}n*P>gw2`B$o3<@S!hwdM17guQ0{tcu>zr zgkm~xcM9qL4rwS<<3_h)0yKf05()lG7P4{!A3V0^7<%;DvP&>4QorBR*N27Hz9{Hs z8Uk^_&ib?)lq2DCa)_OroN~aGhq4l|y1>5`gHF=Re?c($zr*F!$*JT6LlrdHD8)I5 zz7ad0YB$MyF2ZCe}mhtl>Kbz6&X66-`wQ3tRs$QSy9AL}+g0|yEplP z)dkT7xWnO*Di=8rvDYtsaCt`D zJA`ry3qP>m8=>Aj5&_#FV^wYW@F>l$Y%o9Ff=Nifz`972LLX%g<*h>_kCh$l>=2jx zM9Qft5(JSM_+`_m1er;HwwSGY13H4-TsU|6pCrV}3&J`%G{WY9qT*eS$;~xNwG?0H zk>*Jt-i132u`39Ui7;cWsYp#t&4l|q{BtI85rX&`MEtb1(Er}&_b0yfs)hrKFhYuN z!VR!VE_yAoQ#h{UI9H$}&Y7N>onnQijk4h(2 z!IYKlXb2vz+`TIRGeLw*z+==t_%dJ?T(`9ebx2qcVRPV3fdhz#GVx!oz^mGZo*qhi zdJvyL5X%I0Yvh2B@jI-g-zM(qG>)F>5}PZqexpgL57Oo@grR0(VG#wPt0X47k4MH6 zN__M{wE2Ig0>Z)0@Z=#CYHtwxO3U-J-)r3DomXE6A`01nV15m|A1x83c z_SeC|w|Zqe4W?0arNw$oHZjN@gXl~95)(cO8MJ|1P5zirXle_CNTiJNdX=3VR>$gg z#$mOHU6A^$M0SjlrmxD~?%$&@AY$O>aZl z(Wh+x?Ugq0*elH2#-Er4kwE9hQy);5oSlWigG~f-@g|b5dxfs=AiLr+roNVDdsYwa zcTg#?VdGw`V_*7I@^%j+YB(E?aONUg2;$f3-ottUP3Ugg0zj)2NRE{Lex zlrpMOl`}9Lx%^N#+5*E^zJB`_%6TxaN;2O66<9z{!;+&;w}THhjdDut`_6TyNl`&D z>IVq6dU|^B@-}zK4igj)nP7+nEeb%5%z}dJY42!0!OBbE`a#n04>2Z!ijxwM5}5h4 zb`l?)H6zCrHmuhDs2-^Gp|ExfQcdHbYbQQ)`xv+>h`eFsFN zG2NHCB`O8V{wne@zw5rvd+Sm)ZhJ#6f_l&7Y!PeG&IQI zej|Z7yR5hJegpW3P*G(-z7}kCde@efL~Z8-*L!PspkD%h@#FnHm)2j)Yj~{HWS!F4uGb<9tinu?NuGo zWcZF~$@GvBw-5+UxwL`D?Ob(MM1%@zK;gE@-H#AYI!?n}GBq{5^pS?Gc%DFr+>n1X z-FNmWrak}~g)B=#e`Nw_i_tuP7pLQ_opbQ5w-dVA@%{2)<$Q+`ud*XB3cps;o1 zokxkwczx7>ywBQcLP|EK&BHs{>}FNd^-s1p?WhS+R%BhNzKI7ASkM);W$hqz6Y|V< z+s~S~(O1wH#PdTS$OpUz_(5O>jj#eSG`}%i>O7N1jf?5nRq!c%&jGZL#KUPAoaSjG zY(-U73rJo;!~QUqK=E*|ieh>LkC}eIT5v2amiaQ2_h0)rcRMB9bn4G+!A`J{Q5MrE zM_6*_lZ7Ty6aw~8htcclWmD>-CR7!7sb2t!mV@5`n|`&T%kcv#Lkw1$FpgO2UfYp` z_PLnzw|I6=%yaCdr=`V00VU`hNDU@~!GUY^Fe8Hs;Fw3B=+;=IOz6oP=LnHF<1=}H z6w~FkG}L+)f6S!mkYGYrz#x<@G?v!LR+CnE~PZRY__UD|-AOU2+55&m+Q1 ze^RB~Ut0>=p19@rDFx`VU__dO%(Uq`GZYnHJB>sC6>6f91{ljA<|NB1W_~6+?#pdR ziFg?BFDsMkhUV!3)lD*A;hP7Yc4gu*GYfd-kO>CB_e>t9S+DFkkM@c+0&Nj4)AAXT zb4b+50Gpa}9X8c*s9a!a8;1FbLKpnh%Jhtk1awiY_>$MNXU}$|Y)~f{#GB_op&+aT zMAdfPBP&iPJyG8rs3RwS73ialL#VN5BF3P?quIVfDd}Yn6g<@zB0(VTPwTy?%Q)Zr zMX-^sDzz4GIv+VTsh@WVdUGS4Wxy$pRZ4iui-nbSy5@mnO9&Q6uOSUUcqV_$%CrT9 zYMDh?7f-yO=@2k4QY^YIO)Lgl95tZOMVsj~%Zg87|E1x+#F1_HWtB`6q-q?;2=ayXza z@@OJpZ1rLtjDujRFN3JQ$+ZUs~oRok*RPe z`i|JO6q`|rd@iSfUz@)L^T`{{Um4%Md-umGr>r+QjG9=bs3O|%tMh?*2Ww!1BI-M3$=)xl*in%DP1H&f~WFIVMSMhSoJ|w!AM&8kaOG8~G>oioJQ>m6H zW}czWU4k4$l9r zxZdVmB?0Tb0+-gl!an$37Cu98z{>HZ)NQ-JMZMF|$aup4K{&uo`dPir=C9tsV9bd( ziU$Jr_V&%DF75H`sdB#JNIQo~nArk2{6NGr{Lw6Rh*igYrYSnpWu+`-MN!o-LQc&3 zQPKX|5PTHUHhB#K2>4@L_)>rnofUYnIlwP0`~iBOX4f1-lOJt; zeFjmH8JNz|20fbAVat^(9)MM-h3Rn85QbR|*&+cgn9+6!A=eS34xd$l664kkS@?VS z{fJd?znSFy&O_MBI1uy__n*N;63>oV%n~A{M||emNg($x;Q(4hEiRred8w?tEAZ0(wgvlNi_Fdj#+|jGFu$3~0*$8I)9tfKl7sUZn!cp@l>H zyJPhFch@Br%VL_rgYEGIfZY-H(5{m}OsLu6? zM@GF&!yvu3iUHGD@Jv{Y0&WliR8-znjuDKAU+wSLhn$A4F*hxljiu?+BTHs&oC<9| zDrC^HKf<0?+a0bDG(lH$*&R+o%3ra(B{JWvGcuXura&}rIA_Z zthpBDam%F`ZpP(?&?`^8?2Q*Zaiq%84nu6^e_lwHb0Y;9m4}bal0b zQ7J@CO--5Rjh$-x4B*8>h@rkqf~N$w-F4J!U=qt{dhJJjAVjsu6)J&|KMHTh7Btx0 zZ-%VzX}YYa=M+WL2=sc~bM1=(ja97l*b)#NpbNEGF05DOZNG>+wn}=U0#Ql9Piqo0 zCeuRxG(&|p%sw@5i=hX>kI2m>8LhYrM|QE2%!7Fh5oEn>j!q=HHmC5e8#~r!x&*rZwGvj)#B-0?*oyD*I z(Hwi`I1%uQrT#s6%Te2VenTmp2xm|2m?X$=FDWjotO5s`MtMfz<@CPB>1{H{T1vt`bbX|r--(6^}%q4+~75p!R2 zBLAb~3>37J$f|fvPKnuHzj#a~(ZRDVJW1l^{aCOAp}&3UWF%Y1-4lH!Oo(1*m3BRi zOj-q~2a-}*d3os9>haL8hMZl74hhqK&va<(>e6i}czJnE!YrqBXF!R5?e8ZvOaTt?Q; z1h@+(M1>>fA1)2pOPOY8G>DZ;-6q2qxsA^1;7Hx_>0jO>+rJg^0~<)X*vCRv9|)bd znpN>O5&sZll7|z@|0Ps>f*kYhKBSeA@Wt{n*s^%Gi*Qoe=~zJpCH51_C0`u~W{+6D zKoLZW4YX1R$BWz7C7Ry|5I}Gx?e5;ibFIa-9c`Wr+g+k%dmg*J2y|db^Z!4g%jf)C zdDEE#?NZf3sXY=LgJjYbVwi=%?5hu&JD*C3xs25o5A4Bc&X}hXw!DHEyqYVCcA?1# zjs-xcl9$&77$G^5{b~S4f{H>W};v|Wi!Cu)Y}SDl9D*U`r)(uX!Mnapo7zDH0tW= zT3`zSk~Z&pcEN2to*ImOOLx$g1RVnduDY5jL4FIJ3`617PQaB(oF^By?qr08VyR~G^X zlXp-f@D(zCkeAD;8U#Eip}j>SSLYN^NA%3h5@1%>!|~MzQXc@%lZRoc99uHTo`a#z zru2d|^jcZQ0eLWtN#=6i2K6keyO83HX-Z-TTtZh5JLnj{d$_Q))Cv|4;5QQB^oT#j z|02V%t=PEt+>+6xf@U8sBIIv+z}KiY){OWK>S8*SOqjTO35LZre|x22HTL@ZLTe}i znbz&w?3>+>Q&Oe??!64&Yp>$;#$PR6-EbHRXZM7HNfZTRrla3}egjDdG6um*fq{X# z10wwVjZ1@NVh;U+AbL#o@@InpPMUxOy+@-B*tzq6j_5n*SIJN?U;2am_K4N|cAxAA zn8bA-295D9IuYM^Lwn)E1;9ZfzAwZr+5(Ujugc+j5}7p_;J*&-*n!K9{l3uqLJCut z1gx*)40u#BTKiNo`l@O5hG1?l*x`+e^709={bc^^knRUif;l(k6Vzcr7sOZ?vx}`8 zgL!hrFu^dVDlHy1P+qxv&n_BU56Ce5ZC5P{Y53bz?X%gBwoL5+Q z6{b07nG;9{;a`Daf4#A@MYX@xp{I#wHwDbzog*LhwzA6h9=;liDC^Ik)j>|PDl7ZH zI;k}|{5hi=jX9QoF zor%lw{Tp~JVvEBFUaqF5X3~9c>Yj** zNP;hG;=Eq^+}s@NSo}^P+)~RiM(T6PPoAiHnek0A!O-2-KMUWd?a%Px*ZKr)W1q-gHXoiD4H|6Z9rS-%hlJ_yT0Xo6*N3JyeY+t z6xwRvhV=+>G+Zx4Kbko?3Bf?S7Z05_BOrtKI61kEUTY_>px}b;UAjCNfzFism_$`~ z`H%OjL`B1tVK zAs9-)oBCsM=?OcUpBOtrlX3jDM>z)JMw**uju+Cp>P#z=_~GKj?*xd!Xw8tnry<9e zlb1(!@rTJtNoX61z~8jhRiogbap^xpU~HJdidSU@;5K4xe|AH<%VKM3Fk%?DDY<^c zymC=dQIQkw7THc9D*!f>WiEDhjnH)0@>vGWgT+OAIq+jGiX@yzszZFw!PNv0L*D4a zU$lsbs+*geNl|tj;4?t=onKn&ZN7E16+Gn@(tQy*$H(O421;vGhRR1fn99qao_sW) zNr@$znq$leIdcGXq|%g>l&AqQaR-&|YPadN-CsrR6%RDI@EJ&G`kg(dFtR67G*2HM zJy6Ja+I0uGG+>;U#TEE;aPt)ezZ-ycusL*UPnoo82Z4G9%WSP+S!akc2L=YLAhB3O zHi`Re4$uL~s4XfLhSPq`w3up*&dJa3WoHnX4b+7l$$t%eGDNZI5avYEtZcJOIx;~? z_!a%~nDMHb8Y3xkkchs@#B2X(`Wqit$9<+BAYVZ-jwDqM-H{SjYv8Cf^4Ly9^BJY{H zh6b#gvo!Z=_|-s2ieL&xZSTxi5Po-{JuW5cWz^YAwGS7@TxOWo2cQ zgckJC+^BA$4DKP%4V+8AXE_!G+#-Zxxg`TJPn_@Gf@9}tbWk7x96Z;M2@Cb&%adbI zKvBg4egqVgS8e&pAd#a4Uex(aci-t68^obpIvJmuNX7;S13A0=ETKJ)@c`)_zY7h>Rji@4t`3|mdXF$%XrW;+Zra`ec)!-uA74(u2xLDO??Y?(n~E^0tPKp+~{9gnAR zC;HV)Oz_PBoHD6bWsP({LestI`{|UuSRI7Xuk|(h`ub9(-7FJ2+5%FP;mUuf2#1u# z;=^Q`N#u0v>rJ=)6YpUEV71Crd2c*ty2YfUr4<4h($Px-x_0!jT3I)NJfrEM1E!W* zy!Kbe9zzSJG}Xq!;5J-BftjuBNxQwT$2!96>vi+{?@eVn!N)j#^QX-uwHS zD!b|PxZ-^4EpmODDOmQ8T3?A2LBr5@9&=NCihoIv(Zw+7SaPXb=ynYqSdgZhLBDAM zWnl!5uW7a`?W}%nxcdiY+eSyp$ht2G&9-l1&m4r!2ZkD-H5D0qDtx>dV!Od2YDxVm zYO9CSfofN=GI#blMXU{P#2TXEF4putE4$Mb<8aL57TU8@Y6)c>eDR8}& z@$aW5bDoP^%fpe7Hgm{Qe`(0wGXwz)On?nfbFLxjcp}mcp)tq0Ez&9%$<`sMN#G8j zH9aZ{K0qJtv@2e%SVltE!a_<&;TyF63IcB9Wte-~`pf17^siFWrCzJYDUTmoS0D-ZEe5d8K}mnxHMQ0b}Q?)hIu7EM{Tny0d-_2SZ}#4TxxlsvGBLCT>l1?k z%5fa>ED#ywWT8?oJMXwOmBz=26O-*k8R*npKyj5U-*iL>j?leo_Zd9_}6FQ z)f3#98ESrhz7fzk|K~xw3&`VK`}7PfAiGb!{Q%)IzC4uu%1unEx<8zzWe+S?Hbj+V zCn)?AcIlE-0-Q7gjA%@?>zPXD(OiFasIcxzld_s@##Y0WYQ!w%R5kdlTMC*~p90Y0 z9CAeE6%_=I+mK*y0w#)xpke7r;0#e;VTB5r-}$|e1>%ulDloCAAmvf7PBA~+SpR0x zug+i6Y1l)XTY#z6qt3#ArhHN$5i`{3`5uicXz&!TX6H`AD81c{wiY^+oF*vy+I}WFQ8n-mR`?@ZK=2Mci+RU^R>-U851M1rG zaLQ1a3C;a{fY2-o!_Z-BE4vSjKKC<$px$?Az~HtQJ+vc_L>O`tGBC59fcN^dlPCy% zTR?-ufGIqb(W_5DB#FvaO_+iS=tRgQXeN5^DjjYoOnI*iVEeztV6N^c;xnKHy#y`)%6G z!JKbAdcG2A*9jDyMQ(C$I}Q>_NCg1QyfoQMddpP&Qlw~r^{;x6Plgtbpy4W6P`Zs| z+V>iFp23!30WBB36yiGiP&!7&Z6>=0+wK?DRb=6m!Moy2K=uSM3nHCYq?;seaWL+7 z0#YHZ&?alGz$GxReG{2IA!uAl4o)*Tq)ouwcWWl$3m+*Qb*7RITK1MjW#;8+q>&(9 zs4d~T4teS7wZX9VwJ^?o6xfJHWVk$=j3+T=s57itJvZ{HswN0wuM?Q#D$^I0#b`kC9UOQ;h$Om zRxaIZv@WuFT237_dXrgI>DKxi;iNJ&VxAoHb)T8)_THA1lo-sdaOb|dU9Ri^)lQE1 z8NvM8`w6e$)+0=&;GGsu{K5^Oc1>hOax{Z=a6p(~KEN!1L^kJ!6F^xsC{fU>$p1am z4scsE=iyo;yd=W9^IrOKABGlZ!#z)s`%SEH@aNX(GUVf}z-wWW@wC(3leKImMl~9{ z)V;dRYZ|6HBn9ZUdFJDb!{Cs=kK*H)I}#~GIVQ`-F}F$ciNFA31iU|!Zh3Crec zy#n!&20wKj-i%B&o^2udKwFRg`6Rl;H%e5&=5|Qf}SM z5J-P5D4btjOuPnjWc#fe`tuFL!1%*(GVtjkWNT=ji6(y3j8$5%Tp^_w+}u2%J7+@e zlf=sN>}dTJKPiX*k{CcV&C3dh^*XvYI6z+hC6Dz0sR)VIUk^hPMzHYREQ_w5-XwS( zOc&j`O@j}-fW*Q80}c^&1v{*04p9@opkONiPZU66s*ofMfm)EMaM~M<56@gF2Cf!T z@PG_4(B1O~Phom7ujm6}iXca30f8;h&=_68I!+w!tx~-|R-O@)F_cG)3kY4YTxWdHQd=xv|ZG8AOCz1g&ZeH-*BGwCin;Qe%CE)y= z0wMuQsoOZw=3>EYfo7T{1$g=MZoYt0LKtT?<_rm&gs)deOu0+~H~Zvg!}ATxcvrOe zdsjycJmi!FgoN4<_rcW=@;ZyZeog0|%q=LO@bzDRCh7ESMQZ^V2Gxg(={IZ>j>u3< z&@DV85`E}luxs#1(_246tB?O>3FJ<7)eyj7B5@=%}1XGJxG}93Z692MF@*-Ph7k5FY%C8L(ra zFKL>*0H=0;#l7vAQL?q=GaK2)hZ?dnhXG;4jp^H6y6OPOjJz1aOMDJfDVU^PGq>vC zDU;9%9U&}&2NWMpzzL}ig#Y9GZYCw9E&NSJ5DS1%88rRFL0>a3?=(>bg+Rn$Z?k3H z$v5sfQNOw8hg4QoevLCTO%2m%$0XW5D%Zbt$a&aDU80ZC@&sl`)>8&RXTt#ZV`#X} z3$#%vc*NUgUoGk!fE$QpW5C)(1ouOm6XXj2{rLz=8BdtzLCq0TkmWd9uaE-fYasiA zCNK%yfTta$Xbg_TphF2oUn~+e?)e!6ul6^ij0r(U!rm^YY-@fTMj#P`i z4kX#!o1L5cRk;!~!zAI(rtAQaMa_{JqRN1Vb8u94Z*^T;cl&6^EUj*~MuYgFyBdCY zUen3sOq%PL2zvE#I;+oK(hF?moh;y7*P+diGD=?i?)N5|ph7=JLz~Xg#_1M8OsV@L zSyo~uZjvmNu?uZOt-#Q48`+a)pi<88o&Q9O1i>nV)m?;4s1qCKb zJ}pz^I>#W>KyEVDBy+DDhN(7*#yRlkDYuJ~BSA9(8H4%X-!mm+Y)ZsutQ)gmpo!&v zo;+Qj760Pf0|iq3-LZ_rKYZFvq>Qd30Fwao+`DmY5(2Itr8Z=Ux$agxlFOfb4>QW# zHv0^w$NX2@;BV!}-owzQ#N=cw7;Yj!A|O3Ma+e)Y86@kiXK)(}473ct{O~gvs+1=z z*IkuD2WcOFytXBj`$hhpx;zGlrkSg_G-otqc47crxqvV1CKC+v)$WSIKpORL$w_#hbnK0a>E6EGHSGTi96j)*>2J5=YHFTUU6z-UlCqS)1O!-M^)J(s-mNeK zs4UvqT8iZXQu?^+KS_Ckfdu^I+ACoTo-&|IvmoZ~{T+Aptcx^(^45mFzW#3xG6)l( z2@);)*oE`wcPMa{eea{lbb&13;!=6IwH6p^Odl z-n(F8K|(^}HkN+1es3kSP6kqT#}w*51G6@OxueBf+Ga!`yhOh5M z)4)wVLAdQO2#X!EE=yv%hQ-T2{aW`SKiUexhX5uzpfb=FLXA;P5ue@FgmY8o&;3wwzhW~U4uo-ATaP$Ud% zS`E_6>!UuX1p*4ckkF=YI$7C%-;K#z1_pE69{s(&t@*-~2DSn}#;Iinj<@Kc9mv<^ z@ZUdaZ+}$fFe{!K%lS+}{jI-CrkU&FpV7kyiG)(B z#F}TvPQ0wFWH2g7sXFZsu(YQPJE)KSek$nr4WBY>91@@GO^+^zTms}3*S1dHg|e6% zZ?3>cfqvsN2l9!ju%};KT=WU!&XlsF9lj-y3WVb^)5|7}IsgQUvh^%@9zXB&)dKx? zYiUtR#zNGKZ9=xiIwhK?P^3tuxPR(b*Xi(6N;HIhCU|l$LT4kAr#`If^V5Co>(0gWesfmD-|@bHqn{z!w-b@Kk@N-a1I01RnOsAdp%4!DI6!9xE=xbUVvlLT@Q zFatj|bQW%N6Tl%#rgLv^y>VUa6+m_#7<|yxN!tq!Bab5O(YcUOY5Y zleu$KODTP-;gHmfoq>kq&3716d?q(CZN{)IYWdCm*Kgkna8byP%>}2} z;QcYJdI0_-kn2NXS-_Q1x&1~(UHXE7GzeZTws{o(;Tuj*7=~w5(C=a;|8;oBNt9_{ zawt;A1DieY3o->Cj3pwn;owY7S9*Mk`s~BDJ{khYq_rhk%c0N}E<02iga(a41~TDH zm8Z<@ucln!Lj{qIoS0;{0-vsSGW|US{*Y047f&13gi61`SUz@Ly5c?;bP~vf=09^^ z(mm3RcfN?|-m@{!dWMEwCyrL_^_Wo|yD8_EGpD|vmDRZ058(m<5&99|%@0#;u`Q(f z&|UK)GeR1H(ve^ij`}G;wk)t{$k;YUQJ+X5|0y^c~<>x9|J* zUddi1M97NlJu)gIp|VGzvSsg0LNdxGQP!i9$M$##$x5PZ5|Wki*#6h2_xJrDhoj?o z<;~~0Klgpz*L7a!d0u%Be9q{`{;twUAI;;LLS46?zQmSTY0dYgC1iZUiGoK=xLR?(^36|i+p);%aGDG|fSva*7aWx{A5|0c_?bY6G{02L2e6YswMMbSAG z#KAqY?>Kb#@bHCf_2lE=uwWBp%P|g{bG!FiRWag1iz~7^rhM+KFRYx0us98c`YDAK zAdWIuhn|BONnevs+p^_q2c9;HaM;98xI)c@vmtmL#uq%$tSv0u?=mVmT zp;LGCg&|D0V0Gib%b5~h!}iBDcx!)t)FjlpTonl4o{p`77q#dm2ii+5dq4PWhSaSx zuolo1i0gX$)mcgj;%qFf6tf_AO%@qBa};sgV1GQFns#BKThtX9=HFf^XA}cxbj#wF zs7*>cb-xC}wHE%0UBaHs1ttf@Rzi35JB$3I@_eTj7-bh*nbn@2e-1}lzWBD4->e{+ zPieqSIIaY0W#AX9Y!T4nrtYV9N3O1}mX?=@I!Us@dAEiMZZ=Vj00>1`R;|6WBnGGn zc~>1nQATCMpq@%vwvNIEO}d4P)!a@51RUWWD4NZH6lfOCHI)#H;Khqk5H6r=O;jta zFurc(HOY_cIqvFb>of7m32x3D@ziUULaS3iXnXH1zmA(=D*v@y{q#CU_oZ*rjn#e_ z;P>l|A^intpJqzC=H@%m0yAUKJ9Tu9AbpuaO51dUNcd!>?H*}`*eycoasxZPKLdN0 zs-cNQqB2D@IP~pX^vjo{=6#l+*;eZGl}YS}P$4^r!uPeclM7KZFW`p~f;Fho+hz1%LMr04+xOn+n>Y^B;comwcO4 zl<>c$cqz&ks2b2byJ+sNknWI@olTXf#q-ACO@}Q$R_tpj!}(^Fj+=JH37CU@uJXxm zQK?!}Ttbw(Z{7Om)y3k&(@=~I4Ay}BsFomw(MA_fl1AXs@<>%@qVyz-SN+eQ_FG$9 z@Gah*=7Y({CCW}1Zze3~OhQM7)1D+5xaMGXY z^8EyjwI77jA7f)cSt4ZOAaOjQB7#B^!8Ag0W2A2j;1OyihHJmIr^{)2NH*jKJk>b^vulnnnb$I}R1+-s*Y|Stz=L#7~ zYmv?PRKLLJLD+{J4XYbBQp=KqUJ_B5nx#i!XIi0&0#rAuA5)RMED0Uq&^H`?@F5gm z>F6PgjDR`!zt8=5MekahT4F;=$4Jdd_V>7x9Mo)i+{SYydG#lh9!4q8bz>gABqIkk z8w{&5oTPu+75plF?u+>AQTImnYY#6c;eM3s$b94Oh*YH)aA=Yq8<+VLXhWv+V6~Iv ztO(lUB!lN?P@D$1rOoUsLFs1gxG+)HX|>Djcqj5f$*2RVe^Ob{mys6NRb?SH?b&Gp zhSqn36YLg*|Cgy1GA#<^Q|>N8Uvl?WG?9tpfE*O@9XLGU}3dU8dR-aP-we_(hskJp(bA3`|5!y-pGZVMcf;w@t>7A|`_k8YYq}M)N z%RtX>uy2f%9AC$$gpDYHXMmVDvu;Lg2SMe3y!M=ScLql>P1aUZlvg|hor`||O7_ygp{Jk>~yJ^bBLkv!`j zLnYBnm5lA#ubzBw4~d1xN8TIixXIiEz-2VJ?K-|*WG^%;`(d2zz!G>RnN-}4+TY)g ztvJ{ov5FaVWRP6>hx}X8-w6v(^KziCWGQQPeN}Q+S&tyDy;jA?>X3T1hdX&TY-lOc z=yfEpxE1t$e53&xA%%d3p~7`US(%H^nw@YoC2&(xyEHD)O48z3bFTB-OFS=Cx#l?i zb4`)E=hyKXS2^+RDqH|WYbxx3fdT{qlE)6NiZiFm8&AIadu3hQ9sb)8_-eT7draA? z5cbyGt)Emqm@o02;t!3)86=4N-sfS`IrC=w*{9S3?y-kXhR$~nOZlF>ZrQ9n$f!CK zVbj4-`ZLA#?NYU@Ij-X)7t@XO6>R$Njm)h}H`_-TY3Wxs>D9=V?l4qp;45k}`c3NR zds+eK2bM~Ji!W;Edw{zJzMeg#O{%aLDP-T@zKCd*{}BVrhL#2f2F?QEK{pBrZKx3) zTTwHVheI=cOPvhsT=X$R`TDlOQcr%=?n1EA*5sLu_pXa(Ess zm`c@1LvRSx2jJHdQ&?CSYp$<3%Q6P=D$-7Q`I2|sYv>wsNsf*&l6&=Q7A}=FS=k;m zR|Q(OSkFeGAMSAa`t;mR8mXHzd~INJZN+MEeZzVDq^-%?jATwLv2(?9wf*muLWE}j zMYrB}a6)&T*D```|C}7StNwkH)W%Gl7%%^N`t0k!r@Gk77vDWx)Qj8kBL~1ik;0T9 z|6}^--_`0_QR|sze?lfc$S)pc+r#;Vk%JKkL^X=yUVIN54u~GmwxPc7E7oM01cRJG zO`y510KyHb*QHGzwisa6yHB^`1J9R*iX;gq#YQd3Mh%pMSn|{7$tqRV+fUP%3ujlh zp}Ctd@wfpij^=_A?I};!^;bb+>kjtzt&WoQ!DkNM45ltCo=&iX?u4Ddg$rRFU+$d# z4V1>#xYPVlHw*c)){c85++Xa4)kO%JqfG(QPg7GhU6U}@h>9(L*!hUWLN2FoI|y31 z2p`ALklWuv#nsv!+CTNjCrFb4N(c-jqC~x}l5FnZ9WrJhzrhPd3SPkYu%M5K_a&OfcsF5DpM4f!)FjtC{8$-YsL~-g5LcM6 zd)BNtS|&WSvymLvi);7^W=K;R;Yz;yF6_9EP^m!qDIhA! z+*ApzO(l7TT(n2`r$Y{5CmB zlkN}{P2@RciWenH7}k3i3(8;iL5F(Ukzc`_)4`Kxi<}4 zgN-H+7MliZv<`sFRyOwm_68vDqVpZ+`}aXa{U+I;7K;CZSFg0ZXa``2%>p{WRdp>- z$-=GTeX(A~K9#&+iuO9hc?AC{{J@tCT1U_<`87g5t)MzXf(N9`S!iYM_+I-Q{A+RB zA0V%Go@x3b;8lSTm0>&i3h$F@xC-;89*V;YhwB3v0tX!fsk{=6{p90yz_X07VL{{z zh09rYf{2?h{lWRJ9F=^V+w;lmK&Q-!g?#JHJXus2aeHCa(nRXX+^-fd$jF{|LL{vu zK^vpbMNyyIUDS`|7dlzm^#2jmU=0WUmXk!Fdsk$@)Wf#ufXx(TxwG~`Q8Ivq$x?}^|Dg+J8NPRV_B!uCvI zzRMHJeKnPx?@N+%xI5o2M>l-1>)^lW==^TBM&4u4&U5Bf{}$0f<1MGR`O10;6LH1MS=D#%uuD8GM%(RMBZ=Vd4lXsN zf~Ja;hdVMkEX==h-K_<$gul?X=V-}vZ6+AajX{UV4te6KkmD(V1(P*-Z*hhtQVk+4 z!SGj804Mk5DkgyS7Sitr;7D~r7MgiT-2-WUv=_D+au1Lh&NZwxW80!AkD||jc@VNq z>%EteyacwXq^X@zGj{U0=2=u)3e*_iGWHHnN+~wdMOr zo#IO*w3^7z@J7Q_Kv}P{I*gYjN(~>rzz=@g8|blhPejvn8Q31~EN8{fwRHAE4%E0UIrkVNz;K?c_Lo-m+GmOj2(07i)F^8Z0OQ-iES zUs53sa$e*PF_(RKd9`Unsqqjah^Jh`E?L8Znq4VbUrjxekF{_2i9Q+)`g!MYGvtoj z;g)#b{EBk3==7t&4=tx@EAM}Nb?}jUpV>NqlMGpeyj$N-`cFB|@a}ecd596l{{8qF6ms=oYp3FH|e4Nqp zYsmL_9P<{5sn1C<`EUCR*A+aK9+aQ1ZStnlcirbovO0Jdn#Vm5m||AalBbF47y5ax z&h6pp2agFm^K!!_(-^i-9%=?iAFV(t`u8+s?fId6JB=}iGi)Y}dB*c?Ox*Yh8c!2h z?S_)C;_Dgc7Skg-1mI#%PYQu>L(S9k65?10O#UKZ_9L(vtY7l;=j89cKZf@19Jn4p zm?DLrS*6fc8-|_|(7-4GkN6ktAigJA-UGdF8*oozA;Q~&*&uht91z_{(e6AT3?T-P z0`3s)t+#Z!%uIRm8=Y36w7K7Gx0NSb z%a*N}8Y`1)k>4*fi@+P1~HXU?#QQtP_m}>N6{sXMet1XyE#E=&i%VWqD@*NDv7GF>PsQ zi2XmwK1=YZPfp@!{vm|t8^P$)QIt)_fa-cl&#M!v_tBvBTsxzwc^EL8`tFfEQ$gZ@ z_wu(Hcq{*8I6$r%5xWCd5HK}5;3BIAtH5lqKsq-D{hVs|IW6RdLKuz?4tz)-3Xo_( z%4{LK0GQgQ3X$Rg7Nri|Pv8N&1FKKVdiiw1sC7pZyvWcF&Lhqz*#-dw9d8F@mI9WR zmbCTsBEVMjw?BH$9a@{o-S*_Hl`M%`s*2nI?JN3c!aV`QE_QR8fmsV|fI@#1-3jpj z^R1D2k8>whfg4d%PIZ&I45%#%W6#87x2vDBK92=N$@krszrC@$oRsg<-Gkl<`;Hgb zuL)N`+e~To14+T#=tV)E9cGqw*-4qa^Y2=q;OtPf;1Pm^+CT=z5jJ;lv6v-#t1!l^YGz*ZJKh z@}Br!t-79GIP|%&DMqu~Gndv(xY?HFRnm2887r-~l0Uug^6Et#3%7gZO$~gL&t^${ zq)NukOGjaPI4$x*t;wc@q_~TMA&{8jR{RzGV}f-3ogJE`^@cJ5>r>|-BY@;fY-epM z2}C5ZFK}>z@YyK}ZJ;R&c6Er#)g4PMJ&mMfW~f;g;Htp4qjihh;ATEE=s;_)7Lj%+ zeD=cYTJD>UL5%xj?3}hCmFCx|)>;PNhmd@LW*R-FtCh$`d{#Vw zB_ku_fRo~Cg-KC;JsZ*xP`~|Omv2u|)b!>}Zc$NvFKVXQZfh~3MiF2_Xh4g_HAoJs zn+lTz=&0oRi;o|`86B!STf}Y(uN?*yFeKRZT`*PNOMErTm zi?Gj+F=Bxs<914RBeF6%*Gn0?xn@5796XLGyM2;XjV?QufurO$|B^~|tO@swwT4}P zt|x~7oY1vskpx2JkUdnsAO7?=r{`w%&8$~~QM2#XHa*U z^k(yF(D-oko=hcrQPBP_6$u`LelyE*-uGDfUnXZS%2MNrIWGz{ZZ(XcENf{N>VFVd zkm6Bj@y?xT;f(o2La3xXFz+MhWAc&w*3&g9+QuqEJ=e=%mxXIy9U_}1NGWvEoa&Kz-=d6YY zO{#cEFlKt@vbFdv5Y<=EplGI>I9C?M_`i9RLJ({fFeg9v%q=Q6`$?q=KII6W9=_fd zLfHa_Kx}DYP0F+E?8k_25JKSs!XdA~;`f%2kgws4eV}Gq-x|^{0-LJcc5-0@)YDhV z)A7}x@-e#kxk7lvLW6Wm+!)6*)DPGaNr1TbWKp7yKb()A9P#P}fLfcE9@GVqlp9b; z`B_z!mO_v5^mu9*<*i);rU*O5@SaSmPSFfE`T41Om6o;KmK?!6dkW zoip()Q3eo@t0rTSEmQ-`N1S21@0YRLxEl1>`%Zne{qRxp`E44*?f#R8n1}j@^h5m( zEO)H-L?5+y;%&EBC9D8yS5$SJ*VzbvLzKZ_&gLc`uf+#%rMJ^!yK|$XU>fUUnVA*d zAj10CNk1g!%L47}%yzFq19hI1IZr3`4N{x0*ar8ToFPf+NQ7Ixad&)kZrwaP!=+ah zqTd|XR748x+Q)ZUcc$r*P05~%epzPN^dt1!>@(->;bYlbcX=H2fVO!J6>z8kbu%3s z6IHX6Vx!f)TP9z{th@}*D2^*_9J3w>xvf2kCQG0yHi`q)7bz?$6wNYlUh*okC{36| zEgvIz{NJD52>%hW?@O`igxWPFFK>zT_kDVyg!{|1E;dud4pJtFWdK%59WoRVPr*6fB`} z3_nH3_>GDP7>2? z9YH$_6{_2|2`eP@2syxM=+#V)&m;yYfl;}+T!TG*pFXJpYXZrr0EHg;3v41pR|)rv zdf70^Q8r``qK)eWK*B@3x;D;u;30TMJ%U@|0j3w8Cd0e4upAs*9P}&`QENVZ8V-_V zm=xjn=R{@X=6JyMk|A#w@N(){94z8a?N-P&^MP3q-ya11^_vZY_Y~9w!)1Q{V29So zKQe^2YSjqVT5Olo^6_qGZ64GCSPE6>=R=QmU~q6|V;^{9Ic_r)p^?kgTDEhIgT%fe zd;UqGeDq&#eAzhuyDcNC(!@xArtgvX?(a-;Wo4@fUh?&fsvlx^W9eDH21L=RbtTcu znQwFkn2Cy*b8kez65bGCK-jwZgN~@Xy=;v@!7;pJ3d;h-Wdsa+SzNsL02E&0Z{NKW z2a<3ju&N8&a-q2omdqioNI?dIfk`JsLkkM|`JRlT>T2=nzd+v%M-npNQ!_VG6LJy@ z9p#PAh)l3IIZp9@c=n6|k=EAK3>Pu$<K#*o_}BsPA_o13RiuyYZ-WNRMhua$1hbJ(wJbsj$YOK<;lAe!I|{S!Iv(7 z%R(}{Cx&SH(1U9YnbGGe@eTfr&T1%7n9X8A_MVcHlL%r-#CaXSRaL@R71$4A0Xq*6 zjwM8)uD%`RyC``a>WVh{@7UDwWk=L(lLa&aTj8`N0T;eyh!c`E(5+I7pr;8`dpJu4 z%vfdA_GFoR95VcRnU~rXlFOW_d4et-h5rCqnzBg^}BZC?2HYyP+}@&mO}3 zOH$Y@uqc#I3Fu+AK)gi=XFwf5kSxTI5b3beaL9y$W?(lbV|lMF=o&}~fRgcOSm~6| zfYJiOD?&sT8qyyT`Zr>{0N3E*b-Q=pf$*C-FhfBsM3^wjZMvAP6RE4O&n%^Ag?}H0 z5;aV4b@!g*wGUJ@1w9?l+Xo@)A>dvLqK7N?oEuLZZi!K0<#|~w&LC}|$mC|NnNLZF z)N}Kb0a5K$+C;+Fw@8HVQkbsTLj#igV!+vaYlrDm2b*_qeJjaVT#=_2 z!Fe_vF!#I#Wv6OCE^;dh_8I`hn7Nu)uU?f_UP}300c;?Efb$0O`oxhn<>qA)FrUGg z4k%^s=}eJHTifL5%HaKZ8OmpixRj-)p7yGrowWsG@0ABlYSH54C8pg#{{!M5qnjg2 zgHtyuoROXkelwv}Omu?JI9=$Y zhKZZ5QL7EGM$jJ?HWaGHgPV*dM*XV-P&3#k)rs7!%y}vT)GGrbDvbp@_+)iT>kYyv zwYpM-apNI*e^%Nz^Kvkzoma)i+Bqp-u06l{Du2k_YfzJ0)T+SXEYR5gJY;bcFyrPZ z8Pbt5)z(<2#?2kQuMe0=3;S$^o~^=IP(g0w+H&-5VOzuLeG+fTflk?Qbkl=o?#|G5 zaxl{%HA~;FQ_8D5>7_br4s zF}oAPLWSL>qWqP(!+$D4)Oe=(9t#O{MoqH5-P?^G9Y@)yj}rHSVAt2G#7$EnL~{Xp z`YWgm3n0{O-ga?uY5T*U?f`a*1Wa#B?vwoc-Cr_Fz3DKb&7eFmOQ)8ho|0H9RC**} zt@8lVK^nPUh{NiZ!9G4d11|($zkbav+R{=0&vN?C=Un!}?jXzN>J9Q!JyS!!VT~0P z6$zVh6js=#K}RT)9(MHrFQC!8{j0Ng8-q^LOTbPc(C;@^4m)FiJAl@<^G-vDRpzAu zsDl8NZrL_jZ2b37YPMl*jMB&T>7Et?9bYXA5)MbQvMmzz;tYFsrDbk)~A_~MC`!J6aiUeOmg}O;xV--87HPeN-Pwo`Ugu87Crd#NJkBWi>${@ z#Y3|PB@A%7LVk=#Z%@zWm|Kf|H@zW#!k}Y2z~FxODZVmQK0xG2hB!=D0rp?vwbj&Y2)%B9a*`dNX(x^f^Y=y00Nq7kQK zWJC`NoYu2{-YVc3;NdmPI>dZG9&%srrZJMc^FJ=YfvpQru66T*$DQ}XlEi8jw=R48#w$|e0*xB zoS=WO0Uv7)Vl<-fgTW@gB?lm!T8HK*>zTlHeBhUz_L=}OL#Vk3t>4((^X^Zx?}BoC zcaXOoH)?}f9KTZ7VdZK(T~dJY_xFcfRl@p&hOkLp|J%q&(VI7))+GNU@O?!He4730 zhagA^h5j1&lwuB=2OX(in_P#ByzMKZItPpl!jx(i`(mT|zsj&`#^B063sfz)plHB|rh)!VTR#a3Kq!Po&*gDXx?w&Ioe4>@K;CV*!A?v- zKcfrl`w$&;W7XiUe+9&R_42Fd*#|l~M$lXUIu)T%baFXQq6rhk0LTFa`6QQc0g%sh zN^>>Ms~Dqg&Zg-qM(-4dLZS>Gs~tX6urJQ~l)NxYEfswTbV!vTU?6R%|6`}iloKO% zlZcSF6>;rC96P`j#e&XKB;y|*f*9Wy78mnPzvtxSbbRn25>7RIAhPFIN#F}C+kxf> z*$-wp2+~002K@G+lLube4FPp?7(k0tC01+e;JgwR&V-v3QVZa~nL?O=JQJx~Ky0FB z*$1T1)31WBSPeN!B74=+k_$R?OwfgNmV(NG{#7T%`i-iz)m4|4n$!4lE&uJhQJwK` zR;SSH-Z*~usJ<(jD|4wWHkzefLB3$98w`fbup=m7_m9HF6Y$jfXB~5|+H3&8@Emy` z#9AC_MZC4w8Q2T&?&-lI0yV=iSKx|6Ig6lfBoV5{DBv7}A^Bf}%TkqwsHdattLzZN zqHPFP@BEnJWthZ%_?y#G=LBYh;1+LOdk;(*l&T=H(p*1;PCWpso4(i1rR-J|&+0>4 z7tS8Ap?xVQND(70i-t#04CRprdwZ`CuLcroHeUZb1T*Y^Z+!00T(e1n{9N7g=${|oom>Dr3Pff!iY40249wx95gEV{k6yRfIua@|2~L0noC#67@42_Sa~#g zpDfhB{QuVKsfb1W`^(?hPti8UWKBoo&ox7XRkt|Y=ru#&Mj!0;)RrvqwdsxkHlQKG z>>z~^6j`(YFJnO^qvrDUt(h=n zY#3l4tV7GP0PKo@636X2k|}P7IP8I9?5{*5G71KfPe<2OY(TNlem+fClePlLB0!Tn zS`G03kr~-DC04mwvKtT+0eazePWzQIiz!zFYsz^{35=sHaC-6o<$F+a8#H0+Vn~nU( zu=G!!&Ju@8i~1@qF`1Qdr0Dlkb7iWQ3t*loIO$e;$}C zoM-I*8#WQKgvdHT;SavgOoRMU4ic=$XetcpnX}-z@^c>eZ-}18cW*v}=flHQxNFuy zmVnI5i2wB04zl5M@U9h&Ti*)9JpgC%Y-+c8ClO9_hJri;Cz~bDA7E8mEldex3IQ}f z*rJJh59~qsM`M3ePd~9?`7_bL4AGV9HNGMXK-du&x*fNy~7G*ZWZeC~G8vjRSmvX!^+ODx_M*f@#wwLjd+h2_2DvgLu>5PeQ&x zuPU;X90gSZbiIUo5Rp2SpDe6NSATyec+x&GEYd>SGKB%v2yTJUpsrn`4hDx!yPsVt z+^+fx6b$7r1$i?yF}iKqz^Dec8zTpZ0f6g_?t2~<&L~HtUE0neKR!??n5JtiDy*jc z041CNml8}?R)rW(v<;8z_CJ~{i;Ufw$3nQ zmTa`k_ZAo4*3O%Cu5%CORwvKp6FSAB($kp`cq$wl2aptK7W^1~4=-=SwTrl*h4=M~ zQ6Xaz5U9o`kv$JeW~gNWr=drr?TD!b809j+%^n=^4nAiAj6#EkJ^*taaD2r*es#udj%|M^=U#&xrBQfc*X3*iK7o+0wU*xF=%`v1WufP)n7&EFRdiwgE0P6p< z)PUCjU64u~T+E1xB9OBY8h43)9u2x2G6%$!$rp6vZIj0U8`(QJ6hMySxzLAf1Q446 z|JZGPS``oUcUW<7#^B}SQw0R6ndBTd=2PL4?o}4S0&70i*a<7RBEU}_{*-wB*>#SY zla!Yp?OAhhveyjMX>{rgyIvjmU@ zjDIP6rnC6G)A5%2#|51P;K2jiD zSkmmdjBs3d8c~~+J^8#6)hnMQg61{yI3n&QQ*>J=z-Y-m^V-+0CC)INR@;SL7bg_4=$iULt$#_RnsXpg3ZQ#@nT{)BWx+A5rK;zK12lwa4xds z+l6bWb%KZVTf)stj(K6W$wgzF`ga=n0r$CXvq>$<6Mr|BYf9HJ#uEg1&& zMY;|_k#&^D(}TT~s#*$8O5Puhc`mqPc4EAVi3#|PFS$A*+sQ$PRW|&aEjO*953e=g z|1V?;+@a3fCn-ZqUO_PAdxVbPJmOT(Td1y(2n($bVo{*(4&8Wq#KHWe?hMbkd)v`+ za5nmka=o3f$w@!OkrN5i$ITI#XjXPGPiF(EAUHl!$n=5)J_%s@!5$Y^*G{125qz`K z(bH3h@#%{Wsd)w{HG&jvUidYTUW6~e%wE7wNfG?GxKcEvlbkzcHt5N(KFsQZE$+VD zYh#K;Ey6@C^=(tKIB~G)g7Fvd+>@>|%;$ z;f!zdWIgX{gSj{YFG8t?Ujom^eKBjR&^n6fv~I*DpWvVD1dpGP(qB7%BD>ad!+g5) ztuS)jhlbP@6UgJZqiw(h9lm@6vg%Hb3A~gL2#JHaTry8Cac9S~G+>EQGVkxn^m*>c z$b>e=Q@r%#EYV>TF3drfuIp>u^H!58j0$TnMT-le(y?G&+ z#nKfpyz^0(-oKAmWEY`vdaCYw6Xx4d0EHP@+(o#3zJFh0dzG|?`)Z}nD3_6Z+`i;n)DM_n{T#kC%@>CKeJQ@NWeo9IEo3?6AL_sO_1%{}bCl*yl6A#c&9@IC2gcJ1qVb(4A~uhnkD8k2D+Y?HK~7QrKDh;*BY&n(>W z;t@lk&+xB8umrbz-}?-1c8wW{_;`FKC$vgZW|vo2@j}s6n5Q7j+V+O%Lz<(dy~YIm zC6ic#g6ww?ssSDhFo#IGAAYc%6@UVB&_I7%_qlEO)FWOqN-Qd5gT>Ce@LQJi;V66HYP*2sBz@Kk!WP~p05WtjG8mP1jNFD z>d90uL+61wMYDShMAQhTCR_;!EziIN%~mG~35m0*hMn@Pb+>KJ5SeR-*a zXn6HS4|lF+B1^eyQ?*4cS4{BGetG}JK^r-Z)x3k7!k*$Zca{g*jeyjsHr zC=sOZgA)@Mf3qdg(PvJ$_zauP_?O4lP3CWs#@&Ov01Za-$Xud->|01e5R;`OC&bzK ze>P1DzGBcvT%S5Q9@#zy2Ijw!SIE>ClX9~#qyhyTp>g>DVb~*+eB=0YTY;;YaKEyS zo`~dyV_r*m-449Zax#_u;DIF!dY1Spvu=+MWL1%A z4?X{OQ16bZH7LKG}r3pU>ZN z5I~(i=F&h7z7fu?PRIKrEwhN52}lEoMSXx=p(M={2xLkqz}rPX5maCX>N4LHE8Pu=3F70x%ck7IfkO=Eq;}>fHC*cAPDa*rmVp14DnY1 zr}z6wPA)A+j}*2B)GM73pbK8dDWp7KooJ{A$E$Lf&CFQpD9MJ{c_H@DB8}^6Ne-aT z2Fx51W^TwW5DOfrR-P&IaUb85WO2j2I6rc7QfIFq^645rUbbWHOwoi^cHmCn%R`y1 zkt)5n>+AaiT6NPP4s#R`Q`5F8aO@_NtI3^TyW_Wmb zu&zGd`94$!;Fyaanjh)_p6dTxxkOSgL0fo+Ju4IrQo-y_9m_bDBy_x(?N5=8DgpSaj9Y=3oK{$oYnciBr3I1DR!QQWg@PKM`0kLtaTmrlRu&=MUa-M}#(d#&WpbEMN;DZX#s9%uOHgqmvjNBbmn)EwYip9oGzHkm$Ttx; zoka;yI*WTP8VrtQ3&4WRkU5a)L0&W{l$v|_{6=^c=}puO1`U+^L73kNu>vNA`HMx< zg#m{FV5Dw)7)n(J7z3_>51_gnJ?+K=T+2x!VxkA8(=1Q86yw38vUK=&=qCK1f5vKQ zL6?UY3cwKo9v94s0~+JkZG@x>_Ius;f}x8J9e6t^)?nzAC>%ZHNP=~gz~3{;$zt== zCew?zgg$@hs<8{KJdp0o^Wb{LY!!*U@}%Cf1X&WHErDE>N#=bjEc#<6v;R#0go>N~ z?$a>-6n~V$dMlw>lfU;s+cvOApv?<7IZ`41R~=~s&$ZZS@W>ncdJDAo1 zP9KP$16-3}dHdP!2YBVsBCb17|5O9L0Tdt~Yd-6wo(IN*ODp34b|!ciACV@&Aq+#l z51vK1TdsC?JV^TlnEtkl0|hcc^|+-V|J}#!McG%0E1wsB441m*yS;-@g?5+wJQu|_ zYvYOqo(|aDwRtO-|5WE}>V7We3;mprpTG2AZrXouw&N!jicHQdbmNOvu{-gY`%L+8 zao&ZaboEnfx&Xc&d|2ctAfw?_OKSdu1A!emUH|-%3`eDC0peYOh?}x|xlpjlQqJ8~ z_EhKh>tAT1l6#~rOb+mfja6N8%0UQd%pjM5S^=&*#|HswjSw@Ck_SpqZ*LfQ1j2(6 zZxWn5AFo+~b#8kW?8rl~h{pK^!9aBM))&2vhN&YOu(GB=ByUI@W@Tkn8tQv~i4@H0 zL#l%g9wE*cAd5nN*kWyDc$gcE>yf!@KyL@rk;i!_hYO8k2$liesJYiAxoY4`kC@vb zt}Xx^d7ODccWU);)7|(oOQ5B6lO!YF`aWl!@3bqwxbu>Wed$w!pboLp)V(t%td%Kq z(XS)Ke$Pw@u%(4p&_2OEe^s|9`C)DM%qwPn^>5QxDNM+?#reS@L$WW7*=3P*RV(aZ z_G8*Yv*~MN7Px%?-kNq8TX|%f#4LfTJ9A~#YPItjuDXM|IA8vw?e|(c<_(6Hm`k9IeP zTxCE6)wHh~qGw61?9e{wr_Y{6LhTQ|5(-NZAAD`~2)<|yGBbEUWOO5pSJisR3EonO z>*@x0#tS1MC0;vaDYV>^JhN7WlcV zXE{+ICzxDtTw7MbgZc`TbMD)=1$J4yf)L`tKOQQB-xaf#*jQ0Ba$|IEaEA8T{{dz? z86p<9*_RVzea4Bi4{+neIp!iUY6Wysl9{6g$=WCLRqij=ex(E?ve)yP657AwojDNU zzuk~yJx=pn{a(4_^4;XD*R3cj*`Eq_DLagH=1(AJnFhg*3}6}U8OnfgBkdPpU6o|H zh{6(TLvsqM{leUKU|Lm*Z`aLr1}rj%V4dmdg^uILDfe;@l(AwEM=EVL&;}{V8Z-a@ zVuF4r08)6(-11gQj3LB-mN-<~{{}lg1U7f|BrgJRAYi428?6cYq{m*O)L0NBJv{C^ zW$eS}t|4#T%|6bKT4xMc76LXnG@m=+GDE>)#$Ln$V1|XJPb|Eo{h$ps3`N{aXbX42 zKvh}_yifq`^!1ZE(ffg&sR4?VYO`UP)={qhtGD}{YuX-MZt&0Xz~|v6O#9cGR)zBo zb)oro?6^83ZWG^XRBeQv*XV!9S?r3hn){QrUq22KY*+@>1Kp)Lc-_~fKJNy+NNOOT zXLI`WQF~+ANtb~-LzQo{ac>;mKqz$LMJ{d$v$7>=nVoH3IJZy zz~}~do_{!S&F$AQ608O+(Z~mYJ9QAOAi!%13Lz}a0z03odOp=JQb0|OQBFVk_-AcG z2y^Y!N%PKyu)J^tdL2}eG9{oh@`0xHIUylEV?r_9dmbPZD-6ED7+HS36ER;nZd__> z9uZ~30@>I!Li0oVanLm+%aw-sgv{Ip!++=*5J#z<>bSU)M?fre!Gm1)3J^Fukn&f+ zqmBb$;;(+?;OGW-P376l-xbNnvGSq~A#0W)9ah(vaGtdXIA}Nkiy7J@a1O$*o{umW zNgD3t;k5@m24SI;PyRErIk;#<+q$q8g8Cuo<#N{6p!Xl}*Ukg#%k`1n6)uz*6(QJk zeExjZP+b*x5b#z1T3aQK4u#j$i5_;2g3c@0#Xm;O{PB=cy0D(W{<4E9T6m$zxRDXd zfQ!Hngfk0Yc6CecLS`tVr~I8K4ZN(Wa7CQE08xs%^*_uT;>`xR$)V!wtJ(^4LSAc} zmFrL~aZ^fbWCB-q?L@qXSpf zvP`wldA1kjdPd9wl1#ef44sMBt{L`l^fj%onr9K1Sj-TnGa+c(S*>AF2iv1~)L?T1+bPLkDAYBFQSO6w2sS6HZf(NK z^MqhpF2)m|g8#yWZXO`&tSv3MH@z|z!K_Ljbi{YK|&1yvQwJ7cW@mOkC9Ll^}8iEuQY7 zA3w1$LagL{f&OSI4w+S%3(Lq@)RPMm254nttPe*+OaHaG<0>3(6`vC4@ZYp{FFAOa z0^{S8KNEi0?A}Mp>m&B(NA9jY^a-ea|9-%O%qThifJCU&JbwQuc)l!@Is!SESt z)nY+1GQnwPV$tLVif12G@MS59z?;;Ajyh%B6~m;?)<_8Q~c_7Cm!W@ z8|x^Ni0WVltN=Imi>TyRS%>OO!V8b2OBNFSWEJl=~iAhr^H;t6dF@xsORVS1hYs77;N;*Pe`;V;@)Fef` zhT@<3Fn>s99*3}_a|aC!t|oW*S~O>2g`>Nmh#xsQYDC%b~F? zz(Hdga4NR+F%X#FG?8gYYKWtai0;RcZFWb#c>~+rfPpX7){4xK0VY`JKZ7MCXoX*v zYor?v^V6U!bRqGlWS5pC!>uI3ili}O)AEzPv}#-Afg&yPu_Eh6z*d-$yuPL>Y3wGJ z?&xTZdKN1fhelD@Tm=zi#S@1gv2bmM2$cwqxZ6e2@#2jW2=Utuyf9Uw_<9+^R?f1=fn#O z1Wl7W4%s|W9f$tu1Vy@nuM{%(q&i59cIEZK$5{i*86iZB5+c1Tje7Y;@M$+MC>JPP z9=PVx>SuSi;`OW>Ia)htl_Z2Q3R3dif6KDu#nx^A)=EdL@{VNo^O2Cv;4wC{Y7#pS z;u|bx1s-k`sLZtm|Ht@@|K9E)i}?lBN;bHt*kHeMnB(v4SlH}PJQr`3P!L0@4I5NG zwN_b;-qFCu-ME~veJ;lw!?b*4o^(pq{nN`&-pZz8ADwcM$Ncx4nkadv50mz{L|#i~ z4ynjdyHcU39#WMX)WjB=eO>N_UGhz;(p4ki*1KEfN%IsRGE2nm+@j)BMA1fFEje5~ z{~oCc9x3^Tli22_mJ`ZYkoe}!1m_2$I`qaj=esX$WASu zhJjK_c}XocFztgmLWs|UtxHljqIhVjFkI+ktCL*LFPiLqn@|TwI7DwWN4(J!tA%>u zx7fe44|z5f6w zv;LMbUKTO0oM2CbQe_>60D-{4M@K{B34F|_@GTz^A!;@3!a_QW&3Qc2IFN-Sz z4B=+%ip$3bk?c{NT7EHHN;AT9`f!GnuV$O=!fR}KJ<3h1y zrubsVG{t-yo?eixb(FK}1=gppjRkMK{jx;jc2xA^F4u0&q>sPIh@Hl>EUB@n{Y>vX z%vs7|b{@N^u(X2y-QedKF!z51%N7R9<{7G)?!cR>urRk%@`j7MDr9Ame&nFBi#6>r#y}eN$k~n9!yiq z(^rAGe~RT$f{paFtW9XK5*(Qtm67eIy5Yq`PGCXVdBoYeo#dQlG0@It+|BIRE$v!3 zBQg@)DuS{d&kh%$LK##Hd2_xM#x8H01QT)_SR8RhhM+w&* z=NW(Jeb-&*y!T$0{vj&kJo9{ad}8mMU|gZ94?SBx;AZWefYIW$Zp31b)!DTGc@2UB zS)80^Ck65^m9FkVM^>~Hu7M*RxI|E82kWX0@zp)QBDO4T!9b_#s1m(j_%P80n5<$k z1Ro137bv!c1xs{3u$v94#78gZLa?beF+qKl;l*LzfvAA{0LFhPdEMxp;O(@+^ zzKsQKCerz9_mo_|uXbn|pOn<*=ZRUJGVF6F%%*GT#KzFpEs84{BV(2KFln17Vp~t;$f+W?rpctm7MP3&gE5>QD^$&I#D!Uc<~kc5h6GFsBGzB^)7rEu?_Prvu4Hyt{RAr}{o%d?z+6!j_sHk%U zQ$yZ()EhOeMO5HjE@{t$XIG0mf78U>#xz|FQ`%a2l6R!PG7w*#h^o^3aW^TVqdHz5 z^9>|bDiig(4)79IGVnrtOI=@+n+kU-m=Cwp>v_K+UgRC%zD2|8{+*f^9KJt6;O_3+ zi{B(}vxkuN&~}2Y@b+NOgNgELm+KJw!{aM;$$fQdg2ja8DyrncAhU*iLHv^r(r;th zw0y2$Fpqq%2IbMR#$cCXxw!2XvX{4gI;x*lGIo%*GT4J7-(ZX&Qw1*ntbXO9I57-5 zs*$AGl@}Y^2VYjE`K9b4qE0W#sL`q4kfjp2$EC!jBZkS{5n9d*Pu04>Gq^^*)f9EM z#KPkC|7JtT3yWLk(D0ta)w5M|L)OkngG~3GTK^Z-Q{4$w*1(N`TZdJ78am~hn9!d0 zSyLPG0I!PVl8fvUZGXdd8|?4f^OHB~`|i&NX6}XLX}d!ZJDdh7;~91r4j~cD^sROIbbIW6oBMKyrgDb2`L%;OM}T zXz#|!jY;Vw{vek_R69{Rn%uT;qp^9OXtAht5r2CAf{|XxC_;ZoI>NM?C2_7`Dcn~C z@kUkf<3Jp#LDOETi(jDU{G)1*Gg4`KbYWBo3L~(<$uI+B`ld3AsbP_$tjOd_HxZIB zx2158#KIz~WB_bG#SDjleGJ&Leb_R?HWzp3hdu>(ZT^Ia%k;}-|6J)IO}jK`l1lf# zo`3pI@T5xe16DH;x9Q#Ciy+r0h(o%mqn4|s^3I_Rs;c;v=3*bqPDEfNa};-4p2x6? z*X?Nv-D=xs_&G#F`SW3sJ$^L~8nmO8$*ac)3f(BmdvTbR5>{+a+$pMHDH0>2f4dAT zvM-Dy932@pD@vGOTy4+|oJj>Li9+SLcdX>@1zM5nj%vcJBXfVSWs$ zlrANRQMbTN(ABfBv7#?Z;el3rEK^gl#f4MQ(t|8}2U!UD$d)Dcc+flbZ<3fX;y2T; zlZ%y;ix}&+puzwvYzc4EXOfE|v5wm=4$Ifkj!GZa{xSwgBwj4tdg_H?sz%n_?eIw# z<$2+d$LM@VJTq4yU&i6)G8^hiwF!S{zS;FVW0SeSGPCrpzsr1DPrq+a?$PXE$_8AQ zyC;rlf zr2FPz#8i<5Z8K4>@6I}`*Z7hp;4W9r)d-bYwJI|ysUd%(z~eL8Ik2zz)3^i3k=U5w zh3dc9l_H89V1Jb4%N4`q@fd?Su){DYp}2Y_lz+f@mgmsuno)s}yPM~6G$(P6N|i7Q zdhJm+zkg0P5SNjW7{9=u$3MWRD9{ zW*TI$f}1o$Q`v%jDhX80R91658Qg=(Nt=Y+w-t`yvncjiaCw2_BkOGgm!B zzKx_3J+Lc5wcs8{ExsZT24Q|XSkqd@nlX^SUYQyBT!$gP4A~PUwcBKxy)4f>iW0E; zLX{HaiOJ(%O~)HT4fV_B605Rd;y9buDBhVy`MNAc?2NQ03R+HsbZO%36dRdAXdg^%^T(BWU>N+N>) zA(?u?SS*xrTY;@qb}BryGHKa!Iem& z_pWq7)$0_n&pG-wGdcdAz)=&D^<&7$mDff!VKurCR3*U%tN#?W+^3#@L%MG+w$asc z+fC}S_U(LWC!2^jxd3xhz}iHx`?_<8qL4NnuzFxA5~OeTBunrC1|t)p{^S8QGM61x zD4OJ88*dYAhl(g>?8mA}1e7-EiRRnXI%;%TGO$r(A@}jB#;6_TunV#P*pNJJU~o(_ zksLH9NILfTPSx0V+2xt)L$?(pOgEQyV8q>17@ipqtTN za2Nktn?Vi=^b#Mi#9T4e+L$Qub7#pUh#{)4W1^*ztKE<9J>QZ?7lGZR7Xmd-r%r8P zVTBw^I2bDZvsJ}GQPmm&QSnEgz{vE=1k;ouD#$PBZ3UgdOKpZ98Vj1$#5<)x4#J3cmsC?`i2orLk_{fT^s-uq1RK=0sypeH)WQ1u!XvB$ zQBnrD(V)!7`;7f736>6Kk_c8?_IRf|CN13K#Gl~DW{9z#h7Fnq)%&Eku;a_3T<>In z_8kkn5eINe0Tv?)PzCWk1(r8`&Kv4STiH!dj=q&H8C1Z!jakLbmdY%i!6dQz3L&aY z%&WU&EVT1B+3aKQJ@8+XO$e|?vQs92YSV_{W@_L%8sF~FMUcn&$WQVXHs&P{=*vhW zp*EJj@>L7)(y>4wcc)me&zgbi@Z6~;j{)zL>hqz|n735} z)#alKF0&cfdkLeaHL*{FQHECR^up?0%%)GR%vHN%v^yxa155O7M}+nCDEw|twiW<; zb;0uRi4zGONuHq&=-OSqC}R@w(7YUKU|9%WC%0r zHa*s-5=H(Cx0L8W{XT<6Gny|aCN)pH;~50D1D^Ht;bNFe!IKW` z{Jxu*=o%Hu>Z{E0Xx3oMhAr*HEbUYs7lPG``tVW067zPGY56O6xhB`^_gX?h1kGzBe+cL;_%a+hrL@;T-oehjRd&H-?)v& ztA{jp()8Uwk|vCa3ZJYw*^WZ)pi!9#{Nx{*Z@hQ=X$|;q<{Gscr_&;}@J3^E`QVl* z;9NO+9vNhr}ru2eS>DbEOfD+=Y*FK4Kuv6_0y<|<6xt5SB*?Bj({VExn$>x4x zEFdbRb`&f74?8InzEi0arhOcLR^(t*#OPFW!1LLVUlV+4)>al#e*u;!kGJS;I(i5Z zw9~7lrzWJBa7=9DDOru^;HVDpb=f}IHf2Wsup@h|OQfT{^#by5-SXet+V=*Aep|hm z7rCaz(r>P`yS|^Mgl=>t^9v)`6^@l_!f6UkrXxQSgZ|D{dDsZ-Y~J&u2YzB`Rt~hJ z%R7^^p`lqfD9{~qY*xvj=4gPDf{Isld1U<3e&4O7Xck^{q_Z&675&c)ab>eiof8z0-&Q&~-~pwz83ro2IrxD^4Zni@p17s^`X zV#O8SGMxfZi4;EyEa4b%c^!*u>XP)5NK^f2BT04>1Uelq-NT@n`Ft*$#v==W5dD4g z#$9VO{mnYOopjT8K2}fQ9rI3APvW>|4I*t35Mfej0rc=Nj#H>UH zYKxTY*s{m}NfW8BEcp6@Z;=v;ClBc>^3Oomb$Tpo^#S$(y60fC*a4eHYjj#U8ZaPE zFzrZ8eH&kRXlz$;^T>_iz6Tg!w{oNRRwnH+9m|V#PEuAZo<>vnNLI3Npbq!U z`{lC~inmDds89Iwr^;lZl65bZ1zA~W?z)dBE%qTWLwy9Zmk|09^EOR{=zeO^H2khy#S?DvIJ%3kW!LeD7Wl8f6+^n>1t7 z({6g1>s>LKcA@ocfOu zlJD0%n(hq>tnP{G)HmKWmL-|yPT?w}$H>5Hmh<~Oi~sM)U~fGvAn!Tx!T)l=-pZi6 zj_HBTyCqGeoaAW~E zd>8Y!xaPENrzVAoRFfGT0rw!NgeJ_$A@Hf~rFi?YFOaiR-05+b44tlom?={z-4h=IA`kB=O6zyq-jh-)ap=|f^ zz`cQ~Kz7EI%%ATUslVSZdmD~xaJ|9DYwM*feAl9%!eFljhhEGKjiMQq%7R2P0;4Dt z2yo0xttY05#ZqW=>n#nzo`)9_;*Xpf-{}Z8?#Wr8CBwg04)3W>?r1IOnMpyo57v_F zFo=dW(Ti8!Xz-;c&9W>p{LtcT^O^^OxgAPp(4;M^Txv#~5fq+2n&^q#XT1dV z=&-*NNS^sp@$ zEY?{wymJ{`5iv*%)wq9$bnH3%pn!_!+;{Ky^fAftWlzTj-g)1<1=lBbeGt%`zVN`A z@U#2h!=73mjfb)Qv_UVansZ_ntKW0R1H?F_qvPL&gMYuEsBoWz$Jd`IOESg)4C5XN zr{nX%H4oX;PpJatvG}^GVF<SZ~TG_v$cUM?aX|^>@chmK-cdIz)sJDrZQ?Kens%WN3oaUi*!v;N z<`Q@f)ovP2c2x!`S#Z7KD0?9}_*JM_qEokKX-sC}RC!puFlur%e7gFd&u` zAPhjmm0ciB4uofCSwilXi+>uN7veLo&jc1t_ZZPTU)@CSJbwHvP=ZL*0(azco<8XO z`&0Vj&|OzzWP|S#7Q`>4Ul6nq?7Z4yD4P?phyKT6U;>CT_ETnTObpdUJ2LcZ2OTGl zI~9E+)vOp7B20Z7%DMJm5Sq-N7w!|cw@!ODA3+|Y=7k&oz|+h6Ir>DHTefoZL0-o9?b)E>A+;rVp+=MnMicx_Ofn&R2p-VIKJd#&{8cN-t~IsQ zFZdarknA`ZFm!$;Q4uM^v)TD^=a?l`$Nl%^(Qn7p>fiBk?8Adfl{=rc3er2l&C?tR zOq7%R1sFP6i_A95%lbhxAou~jD-J_-Hp&6ppz-bpWiF{m_RuhSkK2uZKk?8DESeuf zR6c~KM=D^v>_>n)i|yl-at)9PSk@Tae>c?1DCiVbB2?~^&TD)M#XGb~n7?|7KfxU= zW6%jwew_K@F_hb=_0y8)y9VdZ^@qm0hh27jR_E8J*TPHPZ~N0+P#-z*L)-_!y47DZ zuwGxV_^`OZ@D*ZII;LqVh`6}Gr)=vGa0DXPUeX!7p>xM)+go#EZNU=xfgum1MNoB( z>w!zdf%WH)GfT-1X2I;_^@Y>BFuxsh!<3jO%&iC8_~>7kN8ueS(f(5}&aW>}raXl! zBikl@BZoZ1`K?}<;_ujkS|yUKUS8emRds-Wsce@Gl^@@`^u3P(+4g%OGScQNXx8dj zF!VU29aWKU&VV2;*z817CH1~y88CMtD%$H2zIZ$pUcmFWKcHZcX*SumfWRq4h@!R( z*(KwO7#`j3n%912U9?22jBJ8(*bECUlkR>O>5cjpzv@PF^j=eTF-t{+6r0N)T3_)*9BF6eiD)_)ql@R zUz@-$*<0K?gN>_y@5g12icstC9bS;md+F)hHlqRN&c^r#)OMsoL2U2h7NX@{T9#y& z_IF8@u}!L)zvsaR?IYV4zD9UeH=BweYSR(5J3O64nGCch9?ft~0ddIafJLGq2`M2i zu6`L@l%x(<5AX>(y7EG_QN2i6Pft(HNMiupj|*)pmaKA7Se(u6--EoBf~UR~ZtVk? zN9-fEb&Nqu4dBf_yGIb+} zx^aC!sI%=4G=l_7&6mo+Z2GZEXM?7AW!fsavyYUOWP1xiH<shbT6~;Q`q3F zw@;7GKDz%JrmKyBQjIuniHxQlZ(MY!6o&CKOh$khg!LOo9*Xhh* zc(6IOhS=;U6uar@xttt%m-FX#zyb~HUbeY29J+xNwOwlebJNJ3SV!z2n^v_m?XSX@ z)T@8E+RdakEP0%+p`1h^KB`5Y+O&Fjg)+w5dh2ASzNEq~0|j-Pg`3T51HAIYaEF$C zi}=EOj49oKYC%4z+^z@hY@WJjSRz-M87B8_!)_HP*2X;t&_sm%X(mEfonm~RlksC! z2nW+gZh7|yTmxZ}RJEH+V+{ot7W(GMbH_Qx3TL-9yN*Woy9Q^MhIXrSndbOaB7qj` zo=FSLC1&V&R9?gn9_8zdvVi(XQhxbA~`uR5fw=!P7)LJ*TO_*N5MWP zx@Ef^?_~by9bgztcuah^h`%pRMw7Ch6aQ7q;$!5X50$KJ+~co$5^L(+J@(Wrl@Lrx->W_s}KxM)3CS-Tdd(5gi z98c!4t|S%b9^Xgx%| zg}AH}XTZA>!5Po`xjk}clg>8r_=V?l-0u)IyzO9bVoDPM=7Y=L!1E$OOekWcPAAH` zQZ)DmQ5gxqS!BMDdOH#cn=%VA!K)Piuy7nWL!%2lHl)EH=3!;w!ULh=o6+224g$zU zL4P2C^#U=JIlSdi{WBm8aSJvS=s}keIs}3PuTrWq7hVx3zGV&dk3U|E_m4rb!==t? zn7^#t%MqTK@8?3_kiKzaV}}U5>H0xsh7HLL80bGOD6jGe+8TQ{+*7dKLIo@?$yH76 zi${jxcy)J^Wr#TP-6S*GcUkl*jgs>7O{v9dLm@V^KTE|jXOQm5jhiE;tc%E-7?7+^ zmTo}v&8RnK!!^}v7QA(&`k3r!rW4Dle%AA% z1h)DRjEpDihDtt5p$|4J9vtLMZ}-glA75y-?5u4Q^ypmH{Sc}saTj7K3}3DqzE?~4 zt@aV+BQ#U{4~C*JT~#4Rq*lJX&lM&7+}^BeScKJrIi3XoG@SUSo7XRcuKu+eGy0W5 zWEM?VXAA~4V&QMKF2n8ug^bRj3$LXT$1SjSCr*y#ZtLij9l}qBWq_B3c$f@UDyjd4 z=o@Q_G%f__9N@b8W^Yc8z|;n@(6oJFPno?}NWl{k*BPzpC$rO`9ajP;fj(OUXR{tW zpVED`kBzWZBueR5kdKmre?>onRFEjMK zziG{k&mVb^fSO*@d%m$6Pr3mL$EyL&tWRJBD*x5Ns95a*LAHLoAtMg^+=?m_I z)1liTlDm4;koSM!UBt)Ic8#d?wjIy$RnuL?;2pst`K~{LwC;%Rg;+M>-{QNY_57_J z4-GG4j^m!J&n&xt5GiHO`SHFaV9_BXIQO?x;&p%T8&xO!y@am?cOi)`>3pa#1(PFt zk-`Ur59E6ZHFm!BDUjAlKQQ(FPv_+07OI-?s!nF&RRYs=bbc(R;n-fE#0$xz9mPd| zqs%o>gOaKrrc+%VynC@3PsHs#v3et=n%kb)c?#3feb|hDhg7qa+N4y#DGcE^ zwB~`PvO&A}HeBnk?ugvyl6o{MBJ}p{?6<|7`c-lRG$7&7Bb1Kf3-B#;jic3RRC*c zpd*J7H+z*hCQEYT8LMh@$V2J*2gom7;qHz+-&OAh-vNqlcm6MRh`&!J z5`_&xGv`|vxA88mrHU@?A2tV4T&{JTD?bmZei*mard;Hj=si>H9l&=$6q699>+_>qyO zr;*@CMX%fV3ad^X!QN?hsf-Jil;xZ`$<0ZKi<8_sT&h8r&(?;vo`JMNJ}efyi7g?I07!HJ}dC#MfIdE|0eZA&^mC|NE%)QaTZruBq#T zClI(sXb@Ji)VlrLRNMLNhM(=2CD@lu8yF$mXu{+5rNL_UOR4C2$&BcJ-{|ttXaOPQ zbkVn}i%L4w7LieEaxmK-j5l)O@#k~fcFT$HwC~ab_J{hVpeym&Sxf><-i)gu?-2iS z%)B|F%;W(9QbhXyWQU)eLWh@hw37O9uB?qy z2h%VE;BT~aC$`~hbNO+xxDkPWx%ky@!GdipQ_2e%>p4 z<#>X|`l87`#^^l=PX_}Y?S;g@hx0>R0Cqf^uA@bcGiFZ?lx|>1gM8j^YVY$T=p+ABxyTPjXdu^~bIiN# z*M2g9TFK%>GqCE6doe1PgEXj};YEK>{yWF+DqXVpd8Yr%>ZO^Um+EhU0Igs-E`v zBGjkjEQ!EyZJ2?)Ltc%@#b7jw{ZM=nGHsTZwd;!wBclmvil|5YOI%N#q7W=r2l zO}Q4XsyR`8*C`rM3^mT~nT$=|8^)}ZDcYr7d6smSzxG4W+|H(ZIvxF{{gUze@fES2 z-exd`@Ry#>R0pYLfQn;d+5nn_P?EmE~`Rs zS_V{}3JC#%~MlKKTPHb5O>$a}t zRcC{lnsZy1C}7l;Tgl6R)(XgB@f-a6OiE}J#rWhk!F2)RwT`11@McKU6-cmiMQbFn z%xm#Yu1qj%@pFZByB>0!eV^_?xn+2s_##D$&-O0FLQV(B?~1u=t>Ny=jYW;pyNg1W z&pxY=CK181FCK#}4AO!m0kfsWI^Kp{pd|v3ktzh9YFF@#P6> zwh?o!3uK|C{5Z2^oI<<{M}HlAqhL6kS}Xf zlzW!;XL{Xga z02-DrhTbLo3CH9n!~WfPvn3>5eQeR+u=M=5ESdIeJb3aRXGOE;t2S%8IT20q)C~35irJrKlLXduxH{lPBDs2k)y4(t50lKe5PWzBvAEj&7?eoiU<^u9yUiU;Y^rVJmku7p z%jri~D)F1c27jP9_v4<7ya!4}9cUtVw-#+7?Hb(L(1)A9|0uWQQZ6%WhkgY?kua$5 z;Q+#Ks7yNCt|wO1rS?_!NBKl&H(3u1DR+jQlM;hg+0F#IbQl2vZecg?GC=c7!&MoV zF1CHE9memYu?7vPHj=@`pu2XtKD0$@@9+VS4qz#>&?~~$vq=vK97%8;j_&e6IJGfN zp3I=k^*w+jF=4tU$zEL1ex!;{uDuJ5(V}P; zkDg`ar0PeMUvUi*I|V%btHD_N!of(IHCyt}lI+|7eOAU*F{hCrL}Smz13Yj`TWgpJ ze+zS3jV0^^K78wzas9zQ3qgC3?`%p_-p4}+h{V)LTuzSKK!^0k=eeSsAxPome?IC zL`>IuL${kRe7{yP2$vDu94wSm12Yi#!9@}Y6^2uLJ-V5j4U`8m!uNm}XQoW(MDD@2 zM#i^(c5#Yz-w)Iw{ETgo_-9>p$H^~rX`fAcdQ1lXW2$vA(v^v!Z@{468*s6X;guV& z*&N_&@WlJa>)sOjcLOUoZ18-pCXcf=1BgJ!6 zj820$2zM~EBQj4)0t15Hz4IZ4K0;eV>~?|p>2f?zOfRwrUHF)Vtm#VD@6w=4p0>6Z zjSGyMA}+M*qSvCiXH8<>p_-}SB#CcME<|_cH%E`(2Skc1KPTD5{6dS-<}P4z!Gnj8?31A8W&rp)~tynsBKDaaXe? z;Bc$7TKOwk6>TSZyO=nSvnMtoK8s3 zH5|D|{_}hL+bvL{JRdSC)tp>EUf;Lq>9hu6e-s5ReUT4je0Ls`5Pp3kV6cfB?rqwe z`$zg#M666}I{aeJrV-m>5}UVD@_tz4vzBGD!w{?iaHSu5wk)vY^rOXjjL*0!t?mXE z((ax)km+stAbEF+%iB0{_Tu4H>U%(wEGP81hd-N?TBuBZw=tnaAh8ApDmXb748U-E z%>=O&dH_jx^e@Mku2dHM%AJa-I$r*KvLyGEwAKgIw_n*;uMt!mR2>SK0X4O>NH;;| zy=4totcM{~Jnt4_BNc9wn1EQcn36b{=%p zwZ`^|Uthm)$$YaP2M77vU6D%VG4Sz#Pa9p?saiAIk?Q7;>Fbiq1GR>ic+zuD^t8>F zk#a)6LANK1KDJI-z(7|0T=y4#wSCScZyLe`f7uhy?>nR0 z3)Q+;dljc_)jvA?eJi17NoQobk$ZF|%9F}K%HrzE3q<3cGlp_Pq9Fmf#A!y>mwz8N z%_dkny)uXA6`#3(?^_KGjK#$|G1lP)Bt0MXtGO-P4wgbLQfv&y6b@~krizNB3sM$Z zPF?V{6ptk^GUiQzjv}>J-bYm7!HaN?zCq*x7{7t0-JbV^hTJA48|5mH- z3#!+x0lA-zOqPx8K{Gw|lz(BT`xrALy`Wjw(T%F*TIFn0*cueC(H)`6nklM=tD$wSC**=vA(wVdI2}Ic<53i=Q2= zrosQY|_{|^Eh)NW`3+7?Yf*IEddz1_EHYirBCh9dHFsl!1LI};jJ)?>sn zG;4>LzQ0NI7S@>^ltQW-34{Q41Ry6Dj&VW`2^#C@sWrbE8SiM!JnMRJp*WrXeQ&^) zqTIK9`bRl)4$tT%4uq8sTh-oYW&EQ&{Uha9nN!0gr0J#t+1zJOXa-!-=;O_i0<1Y? zsdl&y!Mpm*Q=Gr1?KEuKlo!u^ZEp)JUqhJvKg4s{#<9Hq!FNVnp^+rufw&9_t*45K zjSl~CRc?gZB$|Zj@4v(11|FDyZBX&2yx1`lLrrpAgA&Kwfa)x)F|OWxsNDbuLsu7iCgG{qaJnbQTD zPrXGLmMo+_z)xjtykb-R1yG4=7mE3! ziY?9*EVBu7xSCgPv&HUoMMfVSjAT)>C#_`Pn9K-Ru9eIa{{OuSvZE6I{-*Rx!Ojwl z=R59M0zV?x%k^K(U0!|vy+!xb?^hllWh+&uIWK)?_WGZbkBvx#)HJ0!^3xS<-698% zQ{!=eo}Z;WuL%zZ6~jdIPJsYsrN*OP&~CeJh<$Xsp_8ST`iudni$c$B+RIG>Q-fB4 zc)}KIdH@Ll9VcOdai7HKT*h|KjyZuP(1df z73BHUQK65*8E%DGiP~q{zGf?I%f@TX8W@&nQ|)K`7jLnkQH7kbaxB?BiId!DT?~SU zb<7R!5>etq5zyMRl~q>pJ)y10*B=e|exG4mK`uDZdu}`vwFL%5?<2x<=>KGHz}-KP zay`2I%NcTNP0ZL~FL|F_^Q)sLUy?}W3|=$QrI)70oJ#fm$NC}H+=O+S6<%o-~%Ojb`%Q4clEEm-^dyGJ* zZt4w&Lu%f8*!wKikDvQo**#mWwVHF=Rimqw9@kp8fwky0wMRaY-ta(DLr4kluh&k7 zn-I2FgeKhz2HhYC1`aWnZz~_LP0Y;Wbziz3sErHF_4*?#UcVb}e)QTqRb+90!Q<*B zMTq@8;wR_PK1OlS z+)ERm7qv`ff~qBbAC>wd=6N%4SN#13{D<&ZM1hELD_8VJ{%jl$6%~~MMwlzZIBo+c zpxv@WithqM_lK~i^K4pAUHQkxvjl({W74+qT%KQ!HD0Vq8IGHame(&yYRvLNAg|>x z%*A0iuEFyn(`LUVhxgT3o3S_JxeV%9an$f^HD3PCthW^Dn3L(}dn1Q2mB&v8^g{ZR zJB0X`?uOKMOg|#-n{T_57T-8M0Mt*>Qe)-P){PmVtr_yr6lJ`$`HzB={ZJrGswri) zuFO!Qk{}||AYxYw#Da1xq>8E7Ra0m1uDHRqh+ZUcEIPp|Nr(aOno_( zKfJFabaC-jS3h4(XxW|l^WjwoAgyqQ$GMk;ibw6`d<{Bxh_x9JDW;%MYv8<{`Td0^68LYBB>SiBr3Tx}Vgw>M|}_i-in;P0(1aA#i)t_=v) zj84Gw4WUB0GwES`u2cZJ%~&f;iHj}S2SvDGRPx>b(gKL*ZTlu$Er%pIqCcS`2Qd}5 zPyjc-qul8_&{zK!t8n|xr)bZIofzdOE!vG1MV@tsCZjUDM>UPV!(Dzmlew>kBxU!u zy`);L&G^%#6`Q`GWa4HZct2$qzC*b?Estc5TbsfCpUI}<@HfHY=Mg&nU-BpDZ2m8* z>Cc1p4iV1H_6@Dc2Ca4BnuVnLgQD4y!EK4giwJ&ynGIz=fop)8VuiZ=jRjuJmh+1q z40BLWf*JtO6Mv-SHHYr}7Q@jSV)q&fO@hiLU9|3jrPfDYf;S;zS0ghx=|C52eUm;5 z2Qco(h6buVKlA3G%CPverJnW(`^H+jEaC0)vUngdRkL#7D>V98#s#ooUds2)%X@zN z+hBY9YZFXb$>66v4!X~{)1`(%aqyu;oLsjzi6C&44*e<6ke zpVqtWNo4;`H^qlF=f`U;ule0W^+acKekYHo>vbKQ)5obd1(5T$8;}KAa(~lhp8cbG zGA7*?wp)0tgUiuWPh?Pm_h)HV;1JmRX=afa8-3rl@+Wgkd2t2db`pk^t}cM8mOYxj zgSlf~hh`+NV4D=kdp|1i!WTLShq&(n+ftk5r1*2EcG|^DAQ2|mHnw@Ds|(`7;qmd4 z@h_@jbF?}QP`n;lPTI=eQQklXas0* zAlvXb{wd+rN^CCHiqpGz%nvA?V}?Jn37>!I0&;~^B=l7tDNe5j;qpInXBSQGl>8%i z(oTpi_G8|ttuMA^GJ7bY>v6y++_NT|^|m7v7HsJd}zVdLww zlURAb-(4)ke}r@XO9>v{jTZv|d$4-__K<>}B7UPBOOnqT6wz{;P2X;DddbNcJD!5q zo;kpLGMA~~b~P?#f7r}t^9s*5R|LPs>KL$d^8w&{ovIQOo%RQm9fT?T~L)OXi3SC{`y+JQH2n>_}b?F$#{hkYOm_x03Inr2? zd(4IBc8s~g0-A}-wWgFG+yM>$vZ3XZ_#UuSlf_w#=1XNuLlxW*mE6=-yX>=r0V^@u zlsQW~&%nsADtopv3;^1L&Vn3YR`c!9^+@Yz-QbT;E4}A*uDPh9aR<)$i2gK=%%iKW z6+R=QToo_*kD8qETKnyvKwSoFeTlCiG)qj60x&fyKBn3Iy8#oASaSu?IkE%AV=CK+ z8h2MpgLcra+uv&}u6&9(Hs{Y_IRO`k98pL+|8A)l0KG)k6&RH7tDKYgOYCzYpo_)n zfmDn+>yLj4F^q&SF3CQv875D{JzmGSe{9Iil`H&lh-aLeF$K7J0n^A2f1)G54hN0s zc4le+72QPb<9lJxIk9zhRd}#e>N$YUX=s2GX!XKvP|v-Ai35nHZ{6YEh>b0w2Hoa^ zmb5!gw`raHtHXsFMHaQmwS)e_w5hE_J_4n?rr=6GhmckZA{d2@%T4PWD>#{NuY>e>75P-q{y2g}~JL<7-eFvQCWnA+wMbJ(& zv1&`)D02DEe5pV{0tndjZ4QKI2UcdG2JhY~lwKG3JXu>h`L1#Uh%&*?Y?tX=|G^M< zIV`)yd_Xf6asseEy8~eITT344SjhI5e&zMG7VB&H0ADcsY@!i|n+dS&;&Ct=008=5 z=k5(gkZQ8?dwx!yF(q|*NPxS!MFlw|ycOO30$6Ck%B)uX>1iATU>UWBpI%)T4kV&K z=|WE19JV6RZcpaF>9@?_1!b}>xc+i1Z&a}Ykz4^zlkxt`nc);Hfs-yHm9Ln-Qw8xy ze0pq7S$QVx(@BAA66@hP%RzIYD6e^M(4%8$$i#*>&N2HxjzHUy$_BgxMr(3H&cL;F z8YCTCm{q#tMD&CTNZ0-o^lUK&d-@yCzU2l3sXEeYC9a0S5bJ%9C-}qx4`b7wwL?d3 z!aOkg@SdeB9DOjf}ZH9=3CXC`0;yp zFJL4TqhJg`TiCbDR`98xWX9rKW!gCSdU9dd=J!Z46&l^Yg$dx&e{C(=8-jZ~68bdu z=u@}RY*(Y!o!`)>X@K@3idpe!0*6HJlsJcDn6<7d_p=w>&9Z^@+iK(VgJIcBV8Q_S z^A)#7bN{y{vJ^xDq-%DIxWjXKqz3#E+zLJM!pOvMz%#gUSvf2;tPSd|NT;CTNJn4? zdHPD5<_@xo)SBPCzSMyhWOzAEITe)zmpI;*Aqu6`{bNUF7FzWocG_V8;s2&zdmS3Hiy1(G9&FsRkWA=a6gR?nkKBsXg{J#h43+k~WB7}v-x8ETy{+h4#vg-=*-W5X zT=T#Tj4Zm@cNc!7n*KB>WyX{k!mYTHzhKfuM6M6F`kIZG=_r0R7-MIfKEy{X%I6ss zTO#9Gh1(K+jJ6;I1O@_O_In2-y$5_wtbxVl0dXaMO_~S#ZT_IJg`%9$ z{LGbt5!N_3&s#Cw*+ZRA-c4iC+q2M?1O>lFv)lk^5>n6RM0W#tAm@NYg2sx?D!b(( z;fq!G+3i?83X}gkpI`FaP{Sc-0YBB)<5B!Di zLWCd@F9nq|SSTGw*IY-TYOWEV4K6OpUWvGt{oSA5!^X_=`pG|i@=CjUN2%E2+fRoH zGd7kozLtAmiW~qAgGONC%I(e+$dhcKVNHLrSd?39xG7*53qGIY7xNvOQi1|{fSo8K z?D6TlL&-wxe5dk`ySjHzQb*6dd{PVGO#tG@H;Rv^yg`ENL>)}Xtq+XoLihewx%RdY zUzR!!KIasp?2b{PT7|Cy+i##vaVT^&uH}liIw6FkctYrmYuMvxKDO>E z&P$hG#}#IY;W_cr z{L~1d$}Y5-2NUYkd~?Of*l|eLxY5X3W3`4iVMY(mN>_JmZY}{#se7#X7Di?ncVLvx%J=P7#%~D@!-G} z%_Kp?9HC)GcCe~kWOQfxi>^Oxy``nK{17nn4FowsjEv4jS^4IMmBn!lxKqd3#QS#F z&t5l9I3d3KV+L)z{f@l&q`I+yG)bfYY30@vJ#z|NJ#-lRs}FWWQyEkl5V7Zky-x>r<7t2=8wCzR(s z_xXQcp9Dr8=SMQkLHj`GrF$S2Q9u{tnT@)CD4dUAbSh=*&?KIB*<}VkC z98CoIObA{QuHSo47Rw}Ihtou<0~1%_M}Fz9V&Lo=^VWd8lXA zZ!dAh)L%pfK=(~XMrQHo-C$eZv#E+6*acpf=JV&>N97kT&%wy=FlU{@LO)*zHls*#$NPSKuEK z>QckdAzzm;l})yacrkr{Z&otst2D8Ea$5thxtG#RoWE z&g2OVI|Gl6BBVbZUBko-UTH2BAm&4b9@h!6I!d+R6>~H^4pQAi742LP^hUT)@jJO; zok%D6P_DKu@hp3_6NuEuo``F_(e8rE-w;Cy!!_PZ>brS??e`VxB6pCj$VWIL~m zXMULo>+vZ3$3m27E>bQg`hKfONoAmV*5lrwKpP%u)Bi=)TYyE` zJ@4a7OAFE|2uOFgq=*vIUD7Sx-4fD@v`VLRH-b_E(hX9wG)wb8%lp2c@9+Oyd!g5| zJo}t;X6DSyJ!kIhh+|?D*L2?puM)A-?_}}=ufB613@UF{zNse!z9owoYQ_A=@VZme z7U-+XX}@W)a?;mprQ2%q3r;E+a4$ol=OJZjpxRc0D9-UCt%51jUZ0v%^ zW~(DJ=Wor#_4D3AUzr{L&LsW*k}uqMNji7ZhUS5kOuT~3I&OCg*^4qHhR(Qt5#w3a@*xlHHT{Us^_UwI7kEM`>#6JD|#&C)__ zG*r%eM7J1Jwc%{<*J+ZjJhr#Cw5gi+I?bxfGF`AcKGA=PfI;9Nh=N`+RL&UYPabMm%;n`X6q<;N1n ze&>zdx0H$#@z`vmO^Tv@xvRQ0EZy4@6}-P{R&x$pa626Ph-r9*3(ZnrO&6$Tq}r3J z7+=nci#k8HaxU;I>^~u}qt4U}`6PvKH7xXaKr;Sk1HJ}}O~23P{tMhzr4Z-(ubr>y zO!sn^JKyC29htO6Qxp}~Nh7Wq+9OX-$ja$IYVEztvc)B&8T;Hzi2agg=}7=gkm43< z@EQ7kbEIzoNXfKrVElebM6#!t=?U5Vk`SJU*Y&4Icp9>$`bD|PbW8PS%0>FB#ahWQ zK!6Djy5x^_+(SWcNfWoH>KRtHW+(9^9L)bz&v3%Vt`61*PdR&fWt)WvhaKwIj_(My z3INNH@!ze@(XVbSkdBMvnK3&u)$cN@Sc3i0x|OR@G?@Qb>HTjt6^$9khrRn3qt-$1 zki~}A0g`b*hi=p(E@7@Ol{?S27lf%Sk5Jxa1>i(fXIdEu zpe9{?X=VwXh?}CD2_$Lt=+>L!Tan3nBx#jBfTU4gDyB|wB22xjN^W%R@N7i$@O){X z2$tadrBOZ$rae@J$v%I*s9IsJY?KxZOmxX&^KqD|%>C?+VfMnrI@NEN4smLm-bFIv zlax;w+XN6?;$VMm`EA7u4MdS_R4>;T^nGA!(W3EZ?Ie@yQ6`#19AQ$Q*<_8tje{j` z#^HC|n9)i_0g9yt1fxYa5x`;Zb7L-W+LMAS9vq(8^jKUBDYzR!&yal>Iv@1JR?Fnd z!^LDM>g8s@SzD|2@uKVec~?UuMFsOrvj?>uKRIN1AXj>{QB5A!#PEttzC=gHb z?%Lr@!TYS7?pU_fg&$^Ex&%V>uojZsX}`X>E8*W#7R7i~sMu`*Ei@-h->+MBKbnPC zk1RtKpv+Mfx8M6+BtCU3D;JIM{Nnv0__@0I4NR01Qh8O1BwfL*6Q)L%TjQk?q3h|k z;zcp&Zo1*mvPi1^bltCeQg9{^X)U9qTn&t9L5pKc3llNK~Xr3@U zg5E4qh>GsZ>o4B1_Y_zzug;7+%|xq|_)FLP9Vf1DDbLuTe}eH$FvRanGuY z2pGR58su7gr%NzRPasV9AdkW|J67JlH>v#2PvkEWwrvtn_M{=vqO2ez5WljIbZ-0Zb1>AEP>1Y? z^Y*NLQ#KpwT=n9zSTsPx^f2skbENKEu25R3u1UQ1ner!e!rT?H=0APNq2haCn1dInoaNx=eXWLreq2?Z#=nMyKO3Z z8;SdR@hK$TS&Nb`2FAcI{x`o)Eb935z;kaiz zCkq-{mp_6~0W&5tB6twr9)XN$xgE$8Z8a=vNbSr@Z4 z&B$*GqhO>mmrbNgfB7{5MnlVt8QW{hl>K3#Xi)W!E@(`bNY}XeP=yL`G6p|>Oizyj zs0BuMp9mDs4+m<`*-_PPBs7}Y0M-e(q* zntyOD$=@{6iwiLGPY7EVX$$#Eci2Z0h@mp+Taa(vZ!|||Fo*D_F zd0kCcytJd;W=hY{VtDN+Vfj1FN~OJR$(}{6IZ70Cbf%E-rvUB$0b?_uBDv>n9=`b* z^%t~-jC>(~QCci|-vAW!Y698D4|wH)BO@d7rg?WXO&FM%z#}Y@i2oeF5V5fKk%rIk zhR3b)ROa*WwyRXd)D!XB*M!=Ycc3VKF!-*3L108k`x+bX>(8eT6{=aye*CSV^?u2x zn~4)5euJUY>d-rrDRLltCvFJX!fLj>Siq5x00|6|Qix<{QBu0woxx~-p>nboS?Zd+ zv+IHlZ|h}KBxO=0GwS9)P9f<}3m#S?O!$5Y1K}IRm%N{L{PN9AGU_3m`ZOG!h(rpB zw2NF;_3OFIZ1~hZ7YDq&Wrek9dWj*Xw-Z!Pf!Sn(9&I)iKxLokhnBsq`oY_@8X z0pSI_1#%huWn-|jIVbaoGs7#;=lrDQ)P2%r5!TUdxW7AD64Usty_{e#?la(GWIaE8 z3OJF7u+mDMT^>o6tBdcgbu$9~!_(v*pZxSBuilsux~1SNG)UQ)0P%1k!EN zt=TU;muIbP#)J%wph6DD(0Inay4hBowrR)$ z5>v$hop8|HFz|_deCM`nF%%7Qbw=Hhm>tlUox%S^M1&lY@G&tO9A#VWBQKXv8_q=X1O_kY^}sRMiw`l8%mm$p%rq(;uc^9cKFyz4b{yI~$-QfrkZTTtJ>Kl_ z_g$+mPBm<<-q)w8)v;}e(sLG$vg;%O+Ld@(+mPIJ1w z_Nv$*ia`OdxjM&wVk7@BaGQ5evpp%81_tQkOa?~!dlZtY4&x`FL009AF%N8E|EA-ExwKzpL~~H0se)Wz(@$daH$E z`o4GmI77bSKHrCide5gAOn2+{41cf@VcyPG69(ANMC*KO?+iU$8!a~fQEj9SX={H< z`cH`KNEV9_d=MN5h~Oxz@hS6H>t7p5VE1Cdpu&=S#ID{>D!BO z-Du6@Z+MA0TWcTFRu4NA4(~PXe01lFTA)m)3EL*>AhiK3Izv z^t;5e7|IGsdaAs7ihfr-D#0Ca3tDhoThlbT?*;4moXTVhlL`iilap?5L+ydP7ar?N zbal3e1_7Luc^)HKR*To%Tc_R>63&S2w{;lcSN%{ipTmjq?t__tyS4JZfq{X}BxPJU z+eOa!_UPts!-lhuwh5^pqpyPzuiKoT5M3|D3j#3=kM$&SRL+jBORHy^+C9V8PBzaP zfh&o+A0r{FW(grqM7J%Y{q2psx_EM9u&in*odWQO0A263V_alj@CwGo26?5YI4#ru zc~vCU$aq;&LGH0c_-faCX?R{I=Q(!N?0>ZY$AuJn?L_3_pQ513*wWbpC-VLNx9POW`dc~WJ$Z}{`pf*l;NasYfo5Xs>F^|xG9F28$v zd%em^?Dp78fZoxHh@b&N!gJV9kA$q$KZaT*nryrd6A%0x_QG1P&P*nE_~?TPA?cil z*q_AxP=TP2#F7PxT%MllF6B!5%=0ZPweZ;sr`}d$m1tIUYJIaL@^fs*9ub#7wH(RnE?G0`F6EGr*Voq<(s$c!czM^k*!U03X_;%>y2OHwTNUE>C_(G$jqJjqAtZuT=Ml*-A5G3e!;9CcG zQyrQiN^Z(WSD$B9h<9rOh3#rSF4d2H2+x$` zd;eIiZROfk<8wA_lizS5ma@!m!&NLkHe;WjMZ+>1Po+ zUl1?xIu7jTA;b1Oc^|=f)|+NhKUd|l$?m!{!S!pX{Pmu=>-hsnj$28pVP|wjDw}SO zc}$`-Lg~^$v(NKyH1XK%c%_W*Wm?a$9hsO%Rmv7xyghF4P!_?^*tCLyTl z++O&%T+8!`7nld5NU*fkXsLW6sbgF}P??|i@mc=ZV{qW7s;X+t0iJ}^cnD@t zT^5;jqtm(;5wiMvd^E?*68N%sM{Pbtx725>*AnS!;7u3e3F~p9?XuY%=*C{cFVP>A z4f?R_m~%j>^WMccz{@}`3=o@n9;RqjS&v%)5~!D%+(NX{j9#e7GeSGZ^U1O`vwlYt zOp$pczp7p*sy(E3M1`c^mj8rntc+@~67ixw<1sM-Zh>Zj5-L^0{$k*qO|9-bG9e0F zaZwWBF)8}rqQDk>JhV4i$~xmk37l>`j@!^w^ow}kp7T75PfJW(J@xO5mjDf)J$6WV z&j;;h30i#?gJl){`+j}-G03K`dUd0%;je`c#tpwz&q>Nvo=^NSjw0}Td7*A)cjbTs zWOk_HWk-kdEn4SxM;m=imvA`WQ}U}+)}vVt{vv+e1%I@19|x>odbNG|$HZ%`4tp!C ztnZ#TyUCe_X_gVp*m;`Id)m#lQKF-xd-}}k0rEB$+WxrMR#(7y%tPC+F7s_cS@aYO zkPk}<|4!e`cER1BY}M0(tG807aBNy%Ycv|P8LdpWF0|A5fj7mohj2d!(lI2k@BpwM zxMugolH~&7nr^k^xII4}!NAnAnJVA&0A*n3F5?W4j#mPP@u8uim2qqj5bJLJsLR`- zvk7O7JH=GmHS3lXBK{OaF<<7HJ^#t+!Y5*q0z^D-HYRnnn^o7|3b8{L=|LV{B zde@2*<@*T0{C~GcG$I9to}VX-5Z}S-!lcPr=5AGQ*YlKN%7a>8@b6YZ!`FtgZIOtn6nyF=>+> zO&fz|AAES$#Q!WBST;eRw-fYyHo-MSZ0}ng9UHSY3oIi#jiY6+uBduKT!@zgkQ}-P zUIlpCk6))67P@$elzREtJny%gzp;Txp0$bL*;@W)Yo&EBRhf6Ub=-3EhHrd0RHC7( zBe9(#JYO#}F`ozs5Cgv*72;{S^>995UyQy^Au_%ns9|J@x2yb!o}*>+&FFTG)vpGw zkGu}=$Q>J~AYjM}EhmE|g5D=2;^$jtfHDn;`Si3lh(`X-wM(pD$eryi;X>$AyF(Picg?Kp&o26{`Up zHULbyLMQM_rb>IOH(0pVsY61PYywWEx&AJyT`y^Pq@RaZ~Bse$wW;+72cB+KkiGtecz+wET^XWK8Jk z>9GItB16)ages+mpD5!0!S*8nMmxAjla}g3`vcOlISAzM#YH--#~5U7 zdH{K6JYE2_L!(A1p=ocZp-3( zy39qV&^5Q;f|k=jTd>I{kT(6*IbRMs)n2AcdEog}DGO^BsxSExIo$0s2V3iXV#)dTnBCRq z$T|`SjYwPq5%{pA@7=fG$?5aiy^)F2&_#m&jb9nLegvuX88H+UxI`f!B=oW$&yyvp znO!xaTpGF(Uq19tZ_n{1+sQAk@!2dlXaFH`rSlrKe?2&8wDj|a2r^o#^L0v;d#}Q3 zlM3hW_(*$43-zB8s&0^juZ?nCu3+oc(22h>!v+(5h&^c-!Vvf+EL^Pi^ z6p_u5?yO#kF838gkfuH1;^Hj$BJC>dWO1cwcX`BfeK7HmLZ`X-=bncC>B)nd#83>Sg(UY91gV*-D^>X@lthe(uq%$)!({+Am4lOI*B)8>-fV{oIX$A2N zIv2m-bGABNwN_}Q=45Vm)03c}uTP1;9}i$ktdZxo(}EY93oeJVhr+ zkw73w`%OH{pHEVX7QP%FH5>~1u0QbCX+z8qa0~(-ww*q!t1#uTrR5qdHo*8-hFYcV zl!Fy;yL>KWCrUQO)U~GAGpkJ2{Dg9SLLLn3g@et#13++W(y-(;&_ z?g$Ej1kO3`hMd&!R+yn&)~k+xad~RDcuidG^0xA>1A$eii2wzKSQYFsY6VJb@e%?n z<0EYy{n^*VAdKr*{?t>}>P^eQ(C0@DpFE+)M&JnGYL=c8Dy2PAD!>GMg40d*A{Ilp zsNuWtw2#$~1TV0e&}$2H#;)vW{ld;WcTYpb?{d zGobsCQAe_7B~m=#vMKC4z*41C2xg3iT5bRu<4{1Z=s_q+cO$q%YInKX4#%5_(-Naq z1NP)z1{%{O{_#C#6F)C(z&GjTP*fNBWC=p#_*=DWM`zh)_jF-%Zd0>Y5J|qoBFA!3K?D*ci<}StW`9d>RrH5eX%C312Z$>rup)NFlGDgABlM$5-iX4T(rXjX5h)Xie4&<|)GFe%rpZ;dafq`*k!bt)g zZA=0E0Lsfn|BR*Fk2W^VN%)VrwolOoUAH(>*^GkN=IT~{e)z`7$QU?gC6gbHJzA!x zH9vEQ^O^4Hl~~-2U7zimQSTY0NTuh%YrB~yLLs3>P7G*6Y_P)x@Pd>@&mR`D{ z#&UN4C${|8Uki&`!O*aY_0f;D{B186Um!2j%!H>}Z{Tz7GL*d~+7~~AxC4iFBDF8nP;KGS?pd1z`DjhxjGx9HuQXtiN&|h%ZdFHhQvY)qw zH8ccVwKlo372;b*@wrwLW%4x{(lQ&*LFWz;4;+9X2xku801j$sgj~L}1bhk@U9+;) z%yrxY@b4JJ?S{81FMfA2<^WOE zq2sp;?Fo;CFE6bI)@%4D;8$_MRvMMcmwrdxM|fd!7Y5rGB1!EMa4Z3S6;p%Yo+wss zjlGwFHqW%0HSK{WN%4L0CU{s4BM>1VkHkHzol2zR(x;(4%DGm0lk?wNsPk~@=jQlE z)T=VoKLvlyp7!I$XKYC&8q4sXyMz1VhO?~qE;;ePu*{Xq4+1p`y(>{@=K^@)sb*zPx0yKAz+oI(vYZHz7M4H&!krJ)Ojz5mZ?L zCl}p(g_7v!BP61KA3Sd-1Y{b&xFQ#8RDdlP9Qw*s zLTg@#1Ly>}4S0dr7r2w~`>iqdGdl(iuQV&!>n)iNo-$Jwj4jVF;B?Cc6}~Dogij3X z52&SbE;7#TtfA`Ex(^lj_6LZ7sMF`jTa}>IpW|Ho3U&M+6$2YuD?n&81`~`2Z8v7> zX=Ty1lTEskUl4_KLcj|=M$RfCLcmHC_q+H_+uDe?uLgY-5+MWuPYf!iy5DfqFfgE^ zhU9jYxQNcJSFC-sq1tFy9vQx|QjY^2*a0aW;FT^IM+b+|3^&O|8TZc0B98?=r&dJc z=zu33vT)HV@)Q@{_sSV0L}i6Plg2pMYq^X&AYia|OKp_k&?ey`YRM!9n2zM+WbVB* z!0`=e=h2bSaC!jSt}fLpdY~JsAOw=M$qZ?utj|hedm$Uc82u1ASEg{KQP~T_RcT4G zm*=Ib9<2u1vJWmM&o1*p+6gk0+0+KKL=FT5l^#ytEEN) z*1zMq?k`e4VtCo{NLf_%>kV+N0I_^RLV}9n(7(@{V3hS}mSvwXE3^3pTKi@T(rvL+ zU^M0LL4h}i_VMjDgaIa?j}Jiqpg0>KYy>&|rV^dJXKW8lH55=a+g%|3a>Oo6sFr^ZP6tkLm%1Kwh@jQNZ4q7jsKv?5!ctgtojWP<3*1i{4UiA z0j$>Qo(;4Qf_-Gds-bD0KD{#vxZ!*K3i!yyhrC2FVPcg8Dmf-Kh+%kHSKd@CWP7ky zqS~pfDTJIJw;~i0kTnLlC3t}pBIk#fAaAaknIT)&iltXfwe*;N_V^a!r2NNFT^$(+ z0hrHc59jwziTTe_nQp^JieGkywg=KD7n9fS!nGjp*YQm$Q*@q>w(hfs2_HV_uy5Y{ z{WfyYg~_p;X5`;ltWm;g{fmxOuMSH~-x(!v6_Rh*>fHca^np9Sb~D@)WqQN_a_9pE ztR${t5D;a*%oHYc`SbIci3v@U$9^2ZgaC~*CP(`7wTvHc;XAs|BC^)CO0gVgkH_H*Y zU9hlVfVSWHi=IuJZ5-`C0}3?*Hi0;UD%Bo z)CY0`^78dRf8cFT!Ac=a_4oFgd{3Y`-$*k$I2l)l&*u3-H?A|l=1O(Gp@PjWgWtYO zO<63AMml^sP6R3mn(n^O%8CWBLZ_?D(B$5cAe2l-CnpoQ zZjB;HTpu7A`t0$6#6d&--c$v(Hw=mm@w`6lKRo)uv39W1Z8cME-f;>6kd}n$e1kIy zza0r=`Es{HzCbDSe%Px$QBJ~{kifoJ@_gH=a;Qri5Ld%ZqZUste#gbXi<tB2lAh!NGUBt`GZWM7FtczJ~H zKp#`hK9K-8U4g*@)wdmQxEs4u0rl1S@Hpu62|+F$HF@fMo-Fyxg`IW;=X{X!XBx+b zULe?<#ZJ;dNBfb2yh$6ypGA4@ex1z1%+iJUgI-8s&w^4>MA+f}n1(+PVN^)V6|~tC zw&2nFn@y)0`Q{3ywZI`RP9-_;Sla#uoIgW=?9J7CR5(so(){}M3oLO};GWNJS^dGJ zmQkl^RgP>7(f1!eqyYu+11E)@wu*@xB+0h{OjH<@aC=*4{E2S1DJxM9qBQaDT|Ra6u)qXF$Wdi z_^bKg)WyL!>SBh7?jWz@Ke;ZO!=9&;S_?lw_yKK&8UFmh)9=`TAII?OBLq@sHxq1I z-iQiuI$BqFV`-UhJ^s~j&f7l~=msBvw!?w7!9_yF>HxSSC)lDUU63!asD>{l!QKq4 z19}p}t1e(j4#(uFSN7_c`V2f4!b(d^bFKiru!b8*tlQlN6D}>wvW2RqYRPp<5sggU zGBj(|9hSX$Z$7hNZU1cs6cB(y-raJGB39{VD66CtMH;8)v4by) zUaS6jT{U9|WDo2PkYyZ=YwR0BMiq4P+xLT>0f-t~7js{$jqW*(!yFG+dn>hBJr6q3 zTEkZn1Hn*CR=UCfNXz?ceEf%N)(?($3J_p+PZX)agX<=@-PI&z@n>bawQ#e51OcW4 z0s&0+Qo6civvu~Et!)h~PXW1oV`HPB(=r5D7>h~euF5Y?2Ax{<3oovSlrTQf6;Ga`?>(RC0tDhtb!=mrc1 zR>^CCzXKB`N=ea8i8(4Is%9K%(_l~G3RETk%`_@Xo^_{`a$`B0#QitTF(*&+OCHfD zWb)e*=5S^kDRf;#d-;1WVhY$WFp)8Bepjj50#>7sufbr_MLf!VvJ$J)g_?#qQ$~iFjr43*-^;D^~H_bF&lZ0{Mu!mn6DCmeArF8J@GXKt=~E=Y8{U|kn}E#~Y7F?83Y*5YSyKlmyA?Ea8z}#z zl!Yv)RSLb4f)@ktARlE_q=BCGhgt=l?`R%H}_OEi}iv!Oh7c8wdP znIe^;`7qsq_J{9 zYv8W!yX`a;3xb=!60!=+1Ac8|fAZzds+GE4@6dNj6#wVM z%MiRgh33*n=NM=94*K%E_!2#9yYvwC0LL`>p&YtS@`Vm47{Wpg5z#&@wJI9aU{mLR z;TFyPGp&2YN%{3YX(94Q5tP8C9Qyg(_KC&+#(<|G|MxvThFayY<(ClM?FmgP;mq=$ z?j>(}Ue!MaV^+LC^B9?#rTqQH-@3TKH_bPegsIXF|J4Fmf;u5I6ciL_BX8m5YeWIC zp#$#=fUyk$sO@Bx zp{P;Bx%d2e6j;w<1;Jb~RZ^4;>YgPhlOU>GyAt(!#>}l3<}t4)O*u*CDgUUuMdfW# zK^2RXK-v}b0R*o=@9)HgQuLoz+5}JTkrP?+r!`N3HV#I12jiuvGE)8=95v384n@cf zW4o<8{?sqKZ3j|AnkAEB0x=*z^77?7Ey8z}mLeMLFRZ>IGlMP0;Qi-NraVSO$tdO` z6~rW!?qtcJ=vg1QCkMasK8CMgs3J3E4!=lPZ64+^R;|N)YKLx4u9FHN^44PAWG@|G zBw}+x#*sR;Ue#cN4e<5?LiFPY&ad3Y9j=k|r3^_e5Ry_XS2Ya`0KD z(w1=wYgPqP7;9&p+Mg|zVqFmEZ#+j)+_?j83nj>a%xIYW%-YS4JJbn=tP!QQ=2f`wW%fRO25LzkS3(@N`ux zmw$+%mz>)TA_rq$vW0!2&)Qqbl``mR;J3}Ry)M%nz`?y@d=_C?f$Q_ULWNni3tj!1 z?SC2PJX7%S%#oIsZq~s>Bj!Pf1hspUb*K7YT~B<<)tL1`(DkL79%L{LUgaXQL+0l+ zJO;%Q>Chz)M-5*Xueu7axC*zXG97;bZOv$x4>DPLT?{I7=;mz*Y9EJbFvHE>{q?2W zDU1Wu*u4CO%#bVYWBTv%r$h}|bc^sv$h;p4e;SS@7jk); zw?GG^xzdW2D2Bq9hc^1FWD4o6)O(d|X&oZyVF(+h`>UYT6gfr{=}Kez(Q1`qxxpu* z=<1oPj-+rOOI2e{&yPKtRz}q|K$V$?hiCTHXHKTh!2z`b1V~jC!#j#IWq91H{zd(6 zrXZ>~Nb=YP#KRFw7#q3c+fv@hb4H|#iXTqIN4Y`ZwSU8=rni6fpw2JHywmVX@9R8u z?WQDb943?;vDsd=-@P;fFXX_(3){SwMc}x0!ccfpZ@RD3ytH>KY=}JcD1*y+>;s0~ z0==wK(Zrlyv9?5#ADWTfAFlivl+<^yV+==d=0R1*Nt-i|ncWb{Q(gI<&Pvjpj(;tbllUvcJQn!>kfb zWlT%im)*0=hdM(Hk`8;r^;_l(*qM)%kMkRq^d;=6rC+5crHU9unUE2?%EnvXvz~&{!LZj}8t( zU>a6Fz@Z!j4y-EQ>fClYQJtsKC6wb0IzdBWE3SYj`cr)-+k@91cT!a9(dkK;UU5Du zrMy>60)wTyl!)?IL(dgQ*K!@0&g~51v>Naw>@Y3n7aqoVtgkJ5i3sy?t>vSUb-x)6 zty%n&eDEt+E&aG3WPN~7L<#+-bBB-r?G>}F-!A&r_KaLJK0WP(k!&CUf^K3RQRfR)CdHhp~ITs3D zABY*|&CYH0a?HOp65GJE_xvgYc6#eV~KdcTybkW{$I z3WK=b?hGWz>;#|5Od%`9Cr_c&*q>dB$I2#4aLE=!5jHBET8nqAJevI52z9H*f|re{ zn}alFv5C}&2Mb0dIYeE_r+ADt4+zp_Y_6UgMC^+ldMqJ^>HnKOWp0WQj9pytI$0ZK0xz#RzB(Xo(j~1X64&HD1T|vbv zORGtJARb<@t4H@(EY~wI@oSNst0Pf-W`X^)il-CDD9u!SLBWJc1EH$jcLVS&XfZ1e zrkr~B#qKCfARuP5($uE^fbuQt^r0vWJ*9oG8~f=Co&p8y&1WV~_sL3iG2c3NG|1@f zsR7g+#T`An>_=xpiJAtCi@et9!L0<$vs}WxGwSCANzYcRgmg_2am*Sq1!Q8={liT^ zif=UonlPJ6K`KH4n^Hs1a(3+tmp0=mq)?(#-a;b|t1BST%q*a;;4}05Xs<`RB*MGR zD#Xl^nmKvqH%vo^|7x{{Q692yl{oPaIrCh#H9^=BZ9%B;h+}u#H}{%CGv;w2ZZ$I} zx+(N##j}s&Z#J#Tv)aU8xn*Y-*pb|gTbEML;TIixgR>tEH%n-Pd%m5F_jVAEoczcA zl+c4IkugyvAADi|yhL)Y2%C)vdY1ds1;5B8?TqT)uBe_K9hdvkWw^l$)q6;5NhYf5 znv1`%l1=b0$FU?HjLh__Y$Yr|eA80BOz`W`NyARHC+y2n12Bj?F*gt6o z;SL7E`L=0F5E4*_ta_SXrOmqX%3U(_VDtN9+F~e43*5w};OeBdQUMQ#Ko&r&0M_{V z^QV=-d*62%oaj1feA4yhna<10G^OWme4tF3w%8r0bQqmVdRI_@!YFV33$!2qZh-_HBV%*u%qmh^;|QLE#Pv7a)icjJJkYP(>N_@pDYA_xExA5`7pI1` zh-zcTEaM}8Pe7p84IXs%TfUSf4}~yl2he>f7(>jDUiFvFzRFs zkdKGRb~AO@B~zgFB@Pg{ykElptH|JPWN5gQ;lQn@A@-w|99SB<*CFsj-HQvH-JB3U zP454|V_602n%39rfJ$-L$_wmAR?j&V5mv(cR-z-%Kr;R@@yoj z_fS<%yxdP_?A!$@Qh2n-Ch%#d5_5{^rOe{46U?g>G1qq=Z`uYSQa*O-BBhO{i0B45 zhz6}Th#sMq|IR;cG1>iz%SW@#`sIT>Q_;_Y8KeUlq#=niR<0X9!q{|=4V>E3IBaMv zcWJWuAYrUWw0YIe!un1(l;x0}ZeH&HTT1wyRI)O?7uRlo1W4pPe=0pbfo}iEQXQ>) zobLH3onX+*r|WiNpIf;CW5I#el(@uWI2Brqc-DNG|7Teqfg|ZXM)Fzv>w|ucOS=-ueC;j)U6aR;x9j%eb^Qq)Kq-RD@EQY-L@q((<^B2@#=Pg7>{(AFZ^o{WU z4@5790Lxb<6`V$bK6}P*Rioj_$|=G7LFw_UNOzvdLW~0ea8&BwO9RMWp_KJUksL0K z5geIV)X};cgv%W-KN$j@HW#D+KBhXE8}E)(hzdkZufmjBWc3w#x`Z9qyGs&C$5!K$ zgZ>rl4S&N|tU1;@fxaE;(9QpZ41_RS#v2$KB(E@i!ZLSL`CAvj26|#WRo^vSX1$JR zdT#Ifzt86F0N+;Q-5Z42+1Fv2&^i_<1VS+&gav6}-qr2Nz-L~cC!@@OC!M;aSJ)gUqZ>L1e(O{S9yQi&vc7C^T&MBqcS+G%9|t3Sk}o8u)%M5oggdco1j zBy2K4>a4hHNcbD|6=l$!o9v8O2F@)Ly0^{J|@F5Ol#6R-eM}vGd+Pnie?DSk&S-#c#6ciz%&cM*G8`*$P5qpIW$nFLt?pQR zK)}m%P6Uf@qyS@)zPr7tGU-M=*&atzOl4)7I;IwSi#+s^ue-(Tc+iys3|(EFz_nTD zn?>IO;9wI+~-HTP0nVlUU zhDp2{ghnMmjPDW7D_$nJxjFO87%J!$R_DuTuQk0|EjTNCjRBob7!1U8XzuhJSZ`AnB6Z zD@I(u>b3RuwpQz(uZFEBtC%B-iB#Sv&Xj;l0DokxS{9SdXW!t%ONN{6Fr7=+af`GG z69MyIzoY67QCszVtl+rPdj3ZLBI>Na}Uw#`=8e&^?> zryu+=K5nfyzgN!!b>CFkt7}+!p**7Erup8MNuje$&$eg5qeyRx-G+#Ou4L%z@#cu_ z(k;@Z>#>F3%@99n_{y)3Ll)nf-1hRw&CDi?%;anBW~AE0#RrFnf3M`rpU!L=Sq;tB zHog6_#dQ342}!T*R`)RAQ~8pCODr^!{3|HoEdkZ&P3cMb-4XGO+eykb{?f0bva?*w z^&k*Pp&kx}U=GNbFTDN1#{J>Noew(=%`;_*n;I(bEgBRwG{r=Ks})qV-|CJRD5u58 z$6E}2{DMa1DaoQ)nvhH#Jnued-}L9BZH?^|`_0XMfEK_fPv>1mw%^NBsZNy}oKBm? zZ|6o({Q_Du0c3}}R>Wam(0;K+CtmC<9aI?D~c|x8UHw$qhO`gGbeRcY786 z?j36t5d^X$+(oD^oMbdPUt@q6}1QN&2` zXNC)%FF#VQ%-qc?v~LbSFkw7+;517`MfCNcl5;^wREc9KvtXqCdeA!H=r^0N$88HJ zv@4~l$7bf!Z?r#<1j`Kw7q*W%+FW%gWw%G$S`9zm1cQ^PbQwbo-)2}jI5-wY^P3&E z#tc}ro^EYu8Mf}Y>FDSj9UUdoU7VkPH|1v$5YS4i(03Ldws5g8T(%)>O|4)2rL4A= z?Tq{iz%}5buXi=eCYm%@uv==|<8C+8iCFauGnb%m6^5p2Yzu_GSrmJHvrwAD?pBeM z3~Z8-D^`5-IUJ|))guOp{F<5?{5hWkm>Hk@$qjeL(BR;(rkq?j8NbbE2ZQE9AW2PE z!y+etPe_IRE?tXi8>`vCGEY#NqiX`zjz9$Ozg7JdMgah7eDUJNuTMfQCml$*&lAab zt#Y```nED0+koXv{;HI@Bj~?1nhUCYGu@%{ObQs-*pn$ncj4&R*c$5U>K|rLkB`+} zzfJ_7ELKQjP)LL}?Xm;ete&2Q?adXm`oM(chIt+4wGEnF#|Bea_<+M_YKs7Ygt8Rc zWre@gI5FTCJaYf=<`>7zX6?KzHlS)+iMMLwI=z;#PgDtU3^~#Pn zUVScLwEtgm-yPLt_O*-S;3yU>fQpn+Km`O9Dblfl0g)O)M?gSA?>#7rj3A()Nk>`& zkwi)WsVX80A_55|2#BC`kX}N$`&H-negE9GZdvQzEQjSt^5(qfoW0L}o@ejsbE`Xye{7_6^PSaM zlEbjL|5~dWM@MM^VoBD*!p4P-D|&{PrpudV0tZ48=t2^@4hIfMZGL0@R#Q5q+v?DL zTvES1Eixf2EX;snl(m!~-VO;5LMYJj^gZ=s@3SAtFLk;|&+)KJ2o-J6)g7`dyfs`_ zSu$GOQsU6Ux4t&l0{ykHea{k|k4Pe}MPtCya<$!~UD8cGu+YhCnt|3)^uIOw7eChP zwVIrpL@mz3!lKt-Ls@b53qMUgaMX?f=;J>E2QGcw>S zDrf~=)YjG>_xSNsF_YSkEUl={VT(ZF;_hemdV}I@*RkrT#AOb(?Xcr&mV_bw$Pn74AY93zwc;wRB%~;f82% z_lM+FxiltMIlqTH$ohU#@$>b))zoR>u+g-W=T*2Mtj3O@a`!k@vmABxU0)H!X#nx!SeNj9g7Av5iFh&fo6%z}ot{6qa^!^79Kl zI17A|uFEJYngy>kS@2}ZhVSR&6GuUWm9&RnX~H);*=}Z)Xf&xaU+=RgsOm z`snR!TUoT*>16pBqW3jE^qjJV;%k4AlYa-xW$tEnaQa6%w~yI zuA_ZA0z>12S?zWoM^=nZn@c5K#y>M4nLnAsL*Y4T6?!@if0R#IOqcUA?g{4gSGwss z(>YZ7YO4^ce~M8+OAq$;<7MSl@VwfjY^pO<6Co?>KUYvDgxdYbRai#} zC&-w5see;@!p~7US=#aQNfMpfpMKE8UHxMluECm~N(@}tY+_?D zFE2@ISO}%-*>cir;!}+};|~@Vm0l$O#cQ(dbh9=#P_>KYpD zU_BHf@nl05hGNcr=EiL$=ES+w^KO~%jKO9H*su?Jj?En`QudxA;?8>!-&tSJP5snI zQ^aS#>g+ckIxB^$O?HVF6f@hnBW_lqKjD@jZsvZEQ|91Vxo=rg{2KUUlv;BLFD$6a zfB&sgZDl2h+TqZlZ_Ml6eeg6_r53()dTpBUJR~GUU7_?;Rh2^1JTY8Hf?OUCX*w~2 z3snQ#8u*=T(A}M{&+JN73^2fluirE`a_TSCW3uzb3NB1{QWzzyEG)MfuUcBPptdqe zDX2o+yo%Uq5o`wWuP*dmj*E@WRtj2;U0!9~$u&~gz}L>4uB8Av7$>CT+#f1Dc<`VV z;_3O?O=fMyXl`=sqerfE{|L=wX*&Efqz4_b~ zc{2-=3b;%LA#OOq&(GhBW7329`-7HxC3ancY$wsupP@sC>4h8#a;(#qm*Lyzcj!+@ z$)F&3pq!rR$_^U$G#kGfDs4}S5)<(J@}{OyOq}BG{4VU?pQKk58A4g$x>sIRO80)Coh_!%LH$UB%L23RtjV{tILFukYYM*um@V;D$Ma3Cm&1R)iRLmRt39HMre{U+HZ{4|eVU)xY~spH zDNZ!vV?ClJl~Ll|>mT`IQ)xH%85NhBh0}!5%x&x+()T->ecfhM(4kJsQgEcYk}WW1 zP0*S{1jq2K*GkLgYEB-n(GlQnfLH<*2Gv(4rOxyu>Nt;{=Zlbft5$gAeO~#~vV+B6 zhVLTt2Iu)mkw==Gmw~HX`oFmV>UbJF{-{&i{b$?@Gecb8j?sSM7^fW9=JdEu5M@v& zLTWZ{Y{l2#d|dCS(;u}?{SlMkB{c2+jWfYSb|C!e=KY=NK{Hogn48dENAMSzky@8} zNl^VOTw$jb6qlkL?8%ZkS z%9AJl_%T!or@m&C>O_2RrpwOydqq{5FGX?Z*%1^8>woRJn!il-wQak+`>?`Qc)(z5 z7|Fn4{r+w_x3AgPj>jaivgTwn-T5G8u!ur)hUm< zMySLMiil!!NK&qym?II!=Po6y2WjdXmVA%$y|Pd}KA!8~(s6=$Kr}}hB~f%O|Do@< z&oAbphIg6=X%2r(KRqzgmWudqp9$J-#R`XaUtUGI+Q3hIHg7+Ubl}8w1AktxL=q*Z z*|z&r|J1N8qNM2S``7bpvI;q(x(>}LrmZ@@Q9$p!D)Fz z1tzJB{2Hj%!dQ-ija!j@K}-v5&+(Fr!^JzD>FRjTKGuF8vLie?7kN?ncQUeO*LD34 zrv=f}{jXQxgHQGl*30Ugk^1V8USzuDmHU=N`cVI6){2uZ%?ja53lFL{HrKvG~KFHmXb=uhgAR zR50mwW-xXoOHY`cK#ehSE0b6yDY2^$cgD##Yg_5!1??wBnBOdFaiKj-5!qnNfQasA zueSb0Y|)f?UyBP`cOM9;Srd8DIOZxoccvtH4s4zOS3b6R&waO6(P z`#BRo|5(0vd$`Z5JUx08pBi+LPBFD1J)M-|!$6%J)MoWDb6{hy~ z_E<*tgYO^xbne{QQqLFQG2Ms#lyTv~q)~wZMB2(%7*2QplFj|oq*AHyP4ag#xeo14 z8B)h1)o=F0+jsA1trk!_@BHB)Eg!AXEAM^}cD|Umg|Fe0c5jSn)ALd%DYrGf*@YS5 zMJg0F#nsll_tAuuBqa0Tf$W3;?rZ=Zcc|NE94D?m_n z-nkU!IW}*9Fzp&XUGsQwC%IDM=_ZF1yW`V3I~=XYqDF_@X*-lXe*bwI8{4hi?{~!J z2cmMs3!2N19sVmw|3;*HLS^7e(H`7pwex5|v2p3Gr?0kdduLTRVs$<0TBF5fh2s^3 zG~5^}lG`oXU$r+wOQ~1?>&4j<*HdV{K7CJL-e#fRYBjxYd23N4Sm!$>i$|n5>d8nN zHh7XM=Qf+YKSnyfYpF16IsshWumuk7c;0oATB}Eh;-zQ$dDz%NM>|oC-A5#8yJhCJ z$6AyzzOkWYWo3PSOtIcWN3u57SFtu1L#!wFv$L~T&ryQ&mm;faoAEf~^;WftS%)s` zLc@~f0_2}%uqvA-u|H;v&1wR>g*w|HB&XM|qt7Y^V8LRG3{N45S>oJWf9#f5NecMPCe&4qo&NCEpcHRrI;8SmA>y&iK3j?VFLcl{vZ9bZd!+Yy7vNL(N!P zXNp@^Pzh;!sr^)swlxx=9uW^lC zD8bR8JUvF?oXNsSpC-N}sNs6*dB25=i*aUQqR&j@GJ0GpHI?8vUON!&0RPD^_Le#& z3w&BG_~VZ?&O>{DjL)&K{`sfKi4&V|tJ2dc2=9Q(pB^Tt?mmKq6L=)rJ|1~wSb1py zJ*c`H0Mfv%vSXcXw#D|}CuEb(I^{D;?FW4)<3usBc2v1YTLk7(Y8IE+%J&@4I)>?}vtyp7Puk2vf(;I{Gonm1ktA zg`+Q3Bd3*(`uO^|d1PtSfyNedaR-tl6tdH*t%E7x@kYM)Rde$3<+6a8+SrV~3*N|r z7^YK=pMr*}#6*TkwQZz;Y2j)2=_ol75r9|=Ujzo{f7}h$Zh$bSTt@);6q7%g_N}Qt zx=)w{+0>(VIYqsCzFaUaQ_>;qe7FdF+o#Iu)2*p>gC#RDT5;|Q^up6%GSf9nHB(jA z<+KAH7^F1;iQX;3$n2TmL@T;lcX3clVmoF zyCEM_NZ4Et7(-TcClr{QYOo(R0Nx zqn*RHz0$WbLPC*DZe*MaG2Mm}P01+CssJUozM#sst?`8bhQ32{$hw;y&S04(II2I;* zFr%ZRj6&-$X(vWD@b4l@N_}o0z(8qbE*5_vAmAkMht+d@D*_7GeS;}i-X85RLN0Kd z0hPRIx~{Iz4JhUXj~?xXg8r+G>BpXBJbbt-l3%%xR|x!tjDYDKlS2(vH|0&`RsFi! zX4MAYeVf9^m)LVg$IC$FN#*GYXCSFLR#HNXhV4anfMTLnWT}%jp%xy`? zeD)fnp`aj_u5r3rkVO6J@Hm%15S5V7g#w66p*=;FzB8Fk08%qb;R|~Xg;hHQzO>Rf z*VHvCYGh=`s5awZ{pUM2ct2Od%MeA(&2H*B*@3u-}C%0QSUHz zegi0_30Eiu)Z;(bEaSDgzC==s=1V$f7gfWYl8=PPqCp0JJ5eWV9E-Yxhr2|PQ}I{KUeV2I(%1RpZ~bn!f3mi%xBlT z&gBE!#LTO@3a7y|5Lk^{s_f4*DRV}K3bH&AsEMn1=u|ZiJUe{B^|4P+@4k)Zr|di^ z9_w4Zg@q^rUYYAo#AD0HP7&#j4GO(x>JJ=;#for)Cj{y>BtDz%M&|4#{o=)oDK)sk zNEs;Gk|{8+HU`nE6%qj?UB9THR`mW6Gpm@-@8lQ;#l*PW^(mBR=uey#GbyD3m*L{{ zxm*X3cKZ>Rs;6cBIFoeTYMwC_n*(JTTuftSW##I*kMfKvzhXErGJ@9z`EByY!Q$G0 zg`$HZg%}PX8nDYKkPqfKuG*=m}IC!Wb-07$L-2Pniqm>eYYrd?lb(&BoRi z3!Da{(uV@EXkMXpL*tp{yF4skaQ8&L^aoySkS@JEMnWNeYW;&&>87tbr$v8@&BJ28 zBHUzhZH+pYvNQ{>5tRHopL@ji7TlRIM=9#-9v&T(3`mP?D5G{KZR`A{5E6 z1Hhnop~eb`ud$&+>-!HLB*0y9G8sUIT*WH@1n)Ehr1UX0rvsfb*bwai^eS>Az{NqX z3;_!5j9jW0;S5?G@e49b;9fD7&2e&M2J0!j zXZ@+cF#jUHh4?%p^0nsKY!%Wq^ja_W<`bKgxkqkodX2}mw`jXPgN9@*+Uxai--^h| zt>zzDh7N#HQigqjbD9l{BO|xq7x7)T*RMyZM)MW84ZaD0u3G!XP@?Or9`^ zd1m+&W*Gx+eG}ZCH4FI`mXm-suzu6J~qDNwy=Bw zOYnO1{-%ic_5uQ77(Mr@LX(VA%};o!Pg$d^7f7%&vRO#iaAf`ttD&TvT@eo@iywMM zTzf|N<7KEqmBP1y#Le_xtgQcDSo=L-U$kbK{)v*bMhI&;`S~dzgUgn#FqsZe%p+84 zLp5G_ClGz>$Cp>!XRR*h&`r4^Za^qs;HhooYQXc%&djtTlofk)rVD>0pCV&l%_*az z%V5NGU|L4Hf?+Y6VaZ^_>w!8O7Z;ZUZ^!6vjHGX_4J$XkfB!f-x&`eNcK^NzoVwtR zbO8?X^sw{F4H=4VgJbvW;Ih|MH<@X+zM;9r#rT8-3_2d|oyc`KFHK?(Eyk%by@~&= zGyh?=s%#5|?FKC6DP?5|3W|#AyV2VbNB;S=px|ZbMq&V7tbGymeS0Xt!_TTcbL^{n zL0d35u9fx-j+}8QEGj7RZ_3n25I3#~d?EPWwix_+t9>nKgc9e@#igbe0Idkf<|4AL z;6dPCgzC=3LdXC`!&mX8F8ySPQ{|MZ{6^b^;E0f;`h9EU1P=cE>lhFuk!i!zD!d$e z1LvCkzbD$orlyLK==ty&5dncqx*Lpha2;B4ixO#K!Vv(A(dnAy%p^(sOd^rkSgFmz z61#6eo!5YNf)ErG#JP9x-&!qW)z1}JXo9$!8n*c*Otl3;@^2N01&ABq2!VXeK$8sY z-~6)=amyHspqvYLx7pM4(dt*Po|H0N0c~ah$}An~!#T$oR8o5#wtx|;YJpp^L8K2T zNc&XoHps!pH&s##vsN)#+QV`9a9-t9g$7>I?jsMBp$LnJr~^G(4QIv3liX)uA*-OW z)2I%Jg=)Z@LoXJO6vo4c4{3@^pR-I{s?ngt)4>RM9rC*z@-dXOV*&yQeV?in#IWCl zSRxyM81%z%Mh=+KcESQeI2VcUV`2Gb1@WV(Kkg(={l4XSKI!D=IOV=2!{Am=Zsb&jb@?$$#3N|h0Drn2Q!%Sy6l>whB}nAK9V4Jp6nIMS}C(_2Zpa3do*pY?VU z2?`V|&PuC-Q_%dmwYn#^5o70k!IKNBajqyue4shcm4=49uJ zh{|icrFcC3gC!-g*;eY-UgDQ8H?F8&CVC7lAZ!cx@j)L49RbXCGzT`B{X19E9e`FbG3OeCHIZkiS0N$=~NzcsM!=xxSF*Hy@RXlm)i zXdaO<(AL&tmD;I$>*_zok}l%P7X4OtIWKbly!!2=rr7v++gRKo?2)=NWdAP5QW9Ti znVqfeD1zdBHV)cYR1rgD4$pNup5^r2!$NHczPooYpGq2IuH*q}hHc9(3=9n9(L2Sp zaPmB>fCB}t8%zGtPlody{($-o6ri4=;gd>@KM^c0fEjz9`F&L;IW=KG_3hEXgN3ST^amGn`qS6faha;5y(K^IlZAE)P6b1h%-qD5 z@cI5$QP#U$(1z8^NavOM0A**iuCUmRpAdsZrTId6h(zeA#oIaM`$R+cm9P+*JYeTUDG4OjUH-BrS!i_x!%t&H*+-PX6Z{pHIZ`kYh`BvtaLj#i?-x znln!R*FpioyJztTt{#SFy&c0sL)+}Ygs+xmcW(W8m5lF4O<$qacN(cPEOgIoWuacM z-=bku1IGirRGL-GL#*O#1U1|!TW(imX7>lIU5Dj>7cmtEn4hUi;GptC;sx&X&)AxU zw)>vwNf~FpU;hV?N}{;(HzSLD2n8ef_tkjE_4n!k|H$+I>lYc1Qc`#jX*xVI5)DTw zJx}k1;>?=^h&)=U0dqvZEi5M1?CJxK5_w%YyQ^*#IvBtK9+#XNutSy&GzWO!)TGf<>J*cnp5D{~K{$3>F6*x)TSj|(m&Ttm$^=efe3X#x&FCz& zR#Rk76w3uHK0_cX#N{Fi3Z|fXK*K|bIZ#Im%tA0as4FaAL7 zqeqWIiDw(+gQa{#v>r2$W+`k>X#w(k2m(>=RZ2=q=In~|kC3PsqH1(2Cv5sFM@@fi z{bf4zFF+>4#QDXQ<1wT8>t%iZBtd%!ILCS`%ix5k`b?X5J4y$Ex?TbNXU*!ED5?zs z-UKcF1_v3JzGs!wH6~37rxPp>`7aNIc|lGastwM_lE4*r2!%8e*azc75>U>k%0t=_ zNTcl#BLW*>ibA$jY-rfO`;6$kD{I7vw$nK}JRA??CbTy|1_!}6WGp~ZlTs^WCQ`E0 zqOoru9*!Ce+ryg=Icp$I;g&5m)0NCXM10(AizKW79vyQi{ddli2z$dL{`@5h>Wv-G@l{| zMEOv*eA%Sb5l+tzz>9`Meq)`K)55`x6rd_lZBPsi;Q<*0L1ZsN{MrU!goiS-wB+OE zvxViQ%jNQ47WP9F&{HJ0lzOGlbVms5&Xh&o^R6mL5&#W=Q+<6s3J+}(3Xr5MXle@I zkq*T~1OO7_Q15O4xPtT0A;U4*y1F_c6r5M>fTDP#p$lZMM~fnPS`bY3%)i_2D< z^iGJZhYguXha`eldI!kZLjwa(>mv>}fwYT9*0VW9R*$(f-3j?1xj?kQ1CXvkml7(H zPLex^Op(uLw=n47kq6N9By7_3;Efk@Af(R>HehTq|NY*yZ^PbKS{)HUbX?dRKQ9TQ z<8EF#eP|qF0Efe17jOi5kW>WPsWy-qf+z%+KNe6+;VM4e4D*3dP0$2D3q*;ruEMPQ zyAFRHBg3{mcovekIIAxn`DxU*lOcO<{#Ve`*xZZ;(Z1scqDzjd!oMv8hRO0f?!WIzI*4&aF$5? ztPf6;cwOPM*{|QLcnwZZL(9;LQ7GK+e020u_%1YLfgs^MuzMQ#kh^y|IXQ(~T&CT5 zD+89CK`(+1_`r_44XR2Z`C*mbae`2An-5JPumCZ*PMbdisLQL2GljM(SVl>nm9@1^ zp`jqc|3mA8{JcY8G1-g<*ybO7faoIw->?* z7LnWk&g>zXKHn^8W=jNqOk;Jrt)xb76|?Fa#B zEF?d{Ih3m4r(0lB2En)i;OdWQiXx=T=;?#73LOhR|L zw{Wx}>5cRAr-sq+RrUX#BquLGL>|Q}pX=09DyvFf{ss2olfsfOTn9pc&>ERvE#m1Z zve7{97FOWXZkf-2LsG|NAN1iSn?gdOe&X1!?b{y#iLq_hA?+dVv%p??{nt$~-*Hv~ z|A6cnj1;atKch ziL+uBHKw-3M&R;w;UsD72KiE(ThG`yNoUpamzAMg&g>$D(Xnv=aGagVaCmTVaebfK zzXkUBo01#9-UL6tsr)`e;P2Xd{egokw3?;j=9ZKQ|ow2#N+y<4Bp z!qVe#vAMbP#iwAy4$2+6KQLnAq}#gm%h|H1EDXfE)}Pr05dlHX%T_u$m5yjFeVKrDoCQhcmcH_ z47?EJF3$dVSL--mr-%(uR=1wEgHQ<+KtU4S_Ysn>L0Z*Pu%Qpj|f7_A04#X{{~bLP$2JHo|KpGacfV*m8&^TsoCFov_5=7 zR8#|TDVge`>D3n0ZWq7*TuKX#vx9X2_?rg}T+l&dY;!X+I&iL7Yi?g1FsBys=M*lT zJ8^=*CPLy~T%weQiFyM!1sjm+Zg%+BcrwVuS=aiF9Sce2MCc?EPse&a^SGe=nIyfK zCAo;}C_OSq_1eeG1il}>hu-LA^XqdEsH+oLi~Cgy-plArMm*?A@6?~q@)uq%)-hGl zKZ3(OqMVwR`TgFpCb0t>okPiWtPTYJDa;Y(K%=#e;>^DRywnkr@UN&7-XFVl;MYcm zzpKdZCI7kv@{3E6>=@`yBjwVkfOu@+-H?nGgjF9Jy6KZ(AWqHUCmKPLQXV|TmZNeL zlDb6Pg1zGK_)Or4IVywuYl4K}(KvpucAQa`(wCDNMSaDL{#IFTdip5IBk>(yomh9?-T#_Y<}T@y1#z~XiSKU z1+M|Qx#|e-4K7O3rV-*aC?P2UWk&{MT*PRLehm$)o`O8o&)npj8P?S%7l$ zb#RdCI&iUi<$E$(|5vODLdToBUe+}OX!GO#=YB}31J;eF3YuAkM@M5oU$Xu1i}T&}K$LY{#?2`|SMYH;=%H7-0YetCT~>2({DPgN^oC=*$^ygaibAi3}7L zX%QOw+=9@WZO@(#NO3fEl!wT3wWoh07eZUVfPir%5%pY)fsVd{ z36v<^z`&|@ZziFm0g4H7G!n2NPN`qNZs6$X7}sgYRliV2&YiFOs3ce4M*-#yji0CK zX(7a86w(h4u9IKER~xE; z0AE?e(M`Ev#n^W2Xa$KS_Q{izC@2Q_^ySrE1h~MPG$5tXk5L<3i|j^V?D8O*sDJ|r z=`vTnIz~!5?`9RZ@cUL&7WA#_;vj}bt;nd|4GH1t0cM_pWZeQmh)l}HI^( zWawB15yzpgw|exwuwh}?Nnky0Jl9?B8q0lV`5?&ivSyi8Jsa$iYp1Jzgb3QhIFR@W zYF6R7UH&g#RP;N;HpBK-P!Z^hY6Bq+p*DdWt+}Q*!I`!(4iX&}@Q6+9Z-L9tM+-7dIOl(HO8MCBqtk zbRFw&3fc44sraPtU@z?uH1m!>MtWNrSNRqqYyn^=V^iSBS8u)0m{~dB_&IW)PFlq?Yp#*$D(?<*II#y zL#k`+K`DgR z@C1_m(I$v!9F(3^I@JiR90gH`#@4^FC{w-2aEKZ$798y`aiQPdvbDsng%3*35IMOO zKEE&&qg6o~lJEoFROnl+%2eUwOMj;PFyr>#z7!Wy( zLCI(rEBmY~6!dF3Kt!TRk!!Sg z+|_zYp|0<4E|eT@&6m0hGZtc(=BJ7b9J&b#p^(rWsUkvT0U$J>=r9KH1>J?WnFy*a z^=}%B!;n_8Js$ok59s&p)PP=>pLTnZS8CfB=AQ{~bNB zNL`HFgAuex6deWM=fFDf_JCP)96CfqwkR|Y1Xx5|e0AArG|WuX!dgg5ihlO1C0rtE z?@8#(T{xwxnYtg6z)EmnE>RRMI4ofcg@%P$ctH<8YpU;zRj=Q0D%$9)iv*43 zgH&c9g%(3C8sIj+e@q>Jl039eJQbk^+UL> zb{uA*4niY9JN4W2Sc7qJM2mRVyhe8QPdvA_ww4l-P;^Mqzr?mBZ9SQMx7q>`#aHIB zh#dI%#+EHxuD{YiDQ&KK^ulHahp>QV0vr^Fqv2^q<17wwsqgF#-3JAQ+6ZCU@1&ER zJ3V|J07Ti7KO=xqhZbN@@7?=z_Yvuz?xwP7r5Srs*?Xev>CeCcP-UufN!Y!6vE{XL z!iEGv!jTPdWKj$1*<-!Yvm-#!2$%}HJU@n-u3?f%8txCEd8=BvZpV!)Ke-dYy7~r2 zzh@C!ZmjHHPyZ|hKStCRzD_+BozhPfz~qan{tSm~8W1{2n>VrdH|B-Usc2sOzl*fd zd}Ji2quKWGeH}W14AC)CU>5WKvU2_%MptxO7t<&ng0{o=Uj=OcHBOoY>q5VbJZ8 zlSLukW~Cd52i($6<_xTbj1kN@^EVGnv(1IdG?7%b_dnxfVOUc@ZeUgbSPDwpWudSR zz8C%gh=1SS4l(^oBF8$>pIXhI6M6H@E;WgTD2JHuo; zvA+d*{AQuyp%(~A7JJ9?&~OV?F!yeL;86Jb@vQZjFR%; zNweUf2H$3`-^Y5@o^{-m3>uKyKN1!|TLc(%Lm3k3^MhcNHzj04MX67$kqKMa1ej7h0%~3ledg%s-YQ}FaoyO<96T_A-Cc`_bwxDaW zs*}X%Xkm2l|K6F@=KXUAcal JeDOxe{{R>LgQoxh literal 0 HcmV?d00001 diff --git a/modules/serverless-install-kafka-odc.adoc b/modules/serverless-install-kafka-odc.adoc index 2c0123b033..005696690b 100644 --- a/modules/serverless-install-kafka-odc.adoc +++ b/modules/serverless-install-kafka-odc.adoc @@ -9,7 +9,7 @@ Cluster administrators can enable the use of Apache Kafka functionality in an {S .Prerequisites -* The {ServerlessOperatorName} and Knative Eventing are installed. +* You have installed {ServerlessProductName}, including Knative Eventing, in your {product-title} cluster. * You have access to a Red Hat AMQ Streams cluster. * You have cluster administrator permissions on {product-title}. * You are logged in to the web console. diff --git a/modules/serverless-install-kafka-yaml.adoc b/modules/serverless-install-kafka-yaml.adoc deleted file mode 100644 index 597dafde28..0000000000 --- a/modules/serverless-install-kafka-yaml.adoc +++ /dev/null @@ -1,77 +0,0 @@ -// Module is included in the following assemblies: -// -// serverless/serverless-kafka.adoc - -[id="serverless-install-kafka-yaml_{context}"] -= Installing Apache Kafka components using YAML - -Cluster administrators can enable the use of Apache Kafka functionality in an {ServerlessProductName} deployment by instantiating the `KnativeKafka` custom resource definition provided by the *Knative Kafka* {ServerlessOperatorName} API. - -.Prerequisites - -* The {ServerlessOperatorName} and Knative Eventing are installed. -* You have access to a Red Hat AMQ Streams cluster. -* You have cluster administrator permissions on {product-title}. - -.Procedure - -. Create a YAML file that contains the following: -+ -[source,yaml] ----- -apiVersion: operator.serverless.openshift.io/v1alpha1 -kind: KnativeKafka -metadata: - name: knative-kafka - namespace: knative-eventing -spec: - channel: - enabled: true <1> - bootstrapServers: <2> - source: - enabled: true <3> ----- -<1> Enables developers to use the `KafkaChannel` channel type in the cluster. -<2> A comma-separated list of bootstrapped servers from your AMQ Streams cluster. -<3> Enables developers to use the `KafkaSource` event source type in the cluster. -. Apply the YAML file: -+ -[source,terminal] ----- -$ oc apply -f ----- - -.Verification steps - -. Check that the Kafka installation has completed successfully by checking the installation status conditions. For example: -+ -[source,terminal] ----- -$ oc get knativekafka.operator.serverless.openshift.io/knative-kafka \ - -n knative-eventing \ - --template='{{range .status.conditions}}{{printf "%s=%s\n" .type .status}}{{end}}' ----- -+ -.Example output -[source,terminal] ----- -DeploymentsAvailable=True -InstallSucceeded=True -Ready=True ----- -+ -If the conditions have a status of `Unknown` or `False`, wait a few moments and then try again. -. Check that the Knative Kafka resources have been created: -+ -[source,terminal] ----- -$ oc get pods -n knative-eventing ----- -+ -.Example output -[source,terminal] ----- -NAME READY STATUS RESTARTS AGE -kafka-ch-controller-5d85f5f779-kqvs4 1/1 Running 0 126m -kafka-webhook-66bd8688d6-2grvf 1/1 Running 0 126m ----- diff --git a/modules/serverless-kafka-source-odc.adoc b/modules/serverless-kafka-source-odc.adoc new file mode 100644 index 0000000000..446f2a30e4 --- /dev/null +++ b/modules/serverless-kafka-source-odc.adoc @@ -0,0 +1,37 @@ +// Module included in the following assemblies: +// +// * serverless/event_sources/serverless-kafka-source.adoc + +[id="serverless-kafka-source-odc_{context}"] += Creating a Kafka event source by using the web console + +You can create and verify a Kafka event source from the {product-title} web console. + +.Prerequisites + +* The {ServerlessOperatorName}, Knative Eventing, and the `KnativeKafka` custom resource are installed on your cluster. +* You have logged in to the web console. +* You are in the *Developer* perspective. +* You have created a project or have access to a project with the appropriate roles and permissions to create applications and other workloads in {product-title}. + +.Procedure + +. Navigate to the *Add* page and select *Event Source*. +. In the *Event Sources* page, select *Kafka Source* in the *Type* section. +. Configure the *Kafka Source* settings: +.. Add a comma-separated list of *Bootstrap Servers*. +.. Add a comma-separated list of *Topics*. +.. Add a *Consumer Group*. +.. Select the *Service Account Name* for the service account that you created. +.. Select the *Sink* for the event source. A *Sink* can be either a *Resource*, such as a channel, broker, or service, or a *URI*. +.. Enter a *Name* for the Kafka event source. +. Click *Create*. + +.Verfication steps + +You can verify that the Kafka event source was created and is connected to the sink by viewing the *Topology* page. + +. In the *Developer* perspective, navigate to *Topology*. +. View the Kafka event source and sink. ++ +image::verify-kafka-ODC.png[View the Kafka source and service in the Topology view] diff --git a/modules/serverless-kafka-source-yaml.adoc b/modules/serverless-kafka-source-yaml.adoc new file mode 100644 index 0000000000..e8fcf11066 --- /dev/null +++ b/modules/serverless-kafka-source-yaml.adoc @@ -0,0 +1,61 @@ +// Module included in the following assemblies: +// +// * serverless/event_sources/serverless-kafka-source.adoc + +[id="serverless-kafka-source-yaml_{context}"] += Creating a Kafka event source by using YAML + +You can create a Kafka event source by using YAML. + +.Prerequisites + +* The {ServerlessOperatorName}, Knative Eventing, and the `KnativeKafka` custom resource are installed on your cluster. +* You have created a project or have access to a project with the appropriate roles and permissions to create applications and other workloads in {product-title}. + +.Procedure + +. Create a YAML file containing the following: ++ +[source,yaml] +---- +apiVersion: sources.knative.dev/v1beta1 +kind: KafkaSource +metadata: + name: +spec: + consumerGroup: <1> + bootstrapServers: + - + topics: + - <2> + sink: +---- +<1> A consumer group is a group of consumers that use the same group ID, and consume data from a topic. +<2> A topic provides a destination for the storage of data. Each topic is split into one or more partitions. ++ +.Example `KafkaSource` object +[source,yaml] +---- +apiVersion: sources.knative.dev/v1beta1 +kind: KafkaSource +metadata: + name: kafka-source +spec: + consumerGroup: knative-group + bootstrapServers: + - my-cluster-kafka-bootstrap.kafka:9092 + topics: + - knative-demo-topic + sink: + ref: + apiVersion: serving.knative.dev/v1 + kind: Service + name: event-display +---- + +. Apply the YAML file: ++ +[source,terminal] +---- +$ oc apply -f +---- diff --git a/serverless/event_sources/knative-event-sources.adoc b/serverless/event_sources/knative-event-sources.adoc index ccd488ac9f..212519ab5f 100644 --- a/serverless/event_sources/knative-event-sources.adoc +++ b/serverless/event_sources/knative-event-sources.adoc @@ -7,22 +7,24 @@ toc::[] An _event source_ is an object that links an event producer with an event _sink_, or consumer. A sink can be a Knative service, channel, or broker that receives events from an event source. -[id="knative-event-sources-creating"] -== Creating event sources - Currently, {ServerlessProductName} supports the following event source types: ApiServerSource:: Connects a sink to the Kubernetes API server. PingSource:: Periodically sends ping events with a constant payload. It can be used as a timer. SinkBinding:: Allows you to connect core Kubernetes resource objects such as a `Deployment`, `Job`, or `StatefulSet` with a sink. +KafkaSource:: Connect a Kafka cluster to a sink as an event source. + +:FeatureName: Apache Kafka on {ServerlessProductName} +include::modules/technology-preview.adoc[leveloffset=+2] You can create and manage Knative event sources using the **Developer** perspective in the {product-title} web console, the `kn` CLI, or by applying YAML files. * Create an xref:../../serverless/event_sources/serverless-apiserversource.adoc#serverless-apiserversource[ApiServerSource]. * Create an xref:../../serverless/event_sources/serverless-pingsource.adoc#serverless-pingsource[PingSource]. -* Create a xref:../../serverless/event_workflows/serverless-sinkbinding.adoc#serverless-sinkbinding[SinkBinding]. -// Add Kafka once docs available +* Create a xref:../../serverless/event_sources/serverless-sinkbinding.adoc#serverless-sinkbinding[SinkBinding]. +* Create a xref:../../serverless/event_sources/serverless-kafka-source.adoc#serverless-kafka-source[KafkaSource]. [id="knative-event-sources-additional-resources"] == Additional resources * For more information about eventing workflows using {ServerlessProductName}, see xref:../../serverless/architecture/serverless-event-architecture.adoc#serverless-event-architecture[Knative Eventing architecture]. +* For more information about using Kafka event sources, see xref:../../serverless/serverless-kafka.adoc#serverless-kafka[Using Apache Kafka with {ServerlessProductName}]. diff --git a/serverless/event_sources/serverless-kafka-source.adoc b/serverless/event_sources/serverless-kafka-source.adoc new file mode 100644 index 0000000000..07df1a2660 --- /dev/null +++ b/serverless/event_sources/serverless-kafka-source.adoc @@ -0,0 +1,19 @@ +include::modules/serverless-document-attributes.adoc[] +[id="serverless-kafka-source"] += Using a Kafka source +include::modules/common-attributes.adoc[] +:context: serverless-kafka-source +toc::[] + +:FeatureName: Apache Kafka on {ServerlessProductName} +include::modules/technology-preview.adoc[leveloffset=+2] + +The Apache Kafka event source brings messages into Knative. It reads events from an Apache Kafka cluster and passes these events to an event sink so that they can be consumed. You can use the `KafkaSource` event source with {ServerlessProductName}. + +include::modules/serverless-kafka-source-odc.adoc[leveloffset=+1] +include::modules/serverless-kafka-source-yaml.adoc[leveloffset=+1] + +[id="serverless-kafka-source-additional-resources"] +== Additional resources + +* See the link:https://access.redhat.com/documentation/en-us/red_hat_amq/7.6/html/amq_streams_on_openshift_overview/kafka-concepts_str#kafka-concepts-key_str[Red Hat AMQ Streams] documentation for more information about Kafka concepts. diff --git a/serverless/event_sources/serverless-pingsource.adoc b/serverless/event_sources/serverless-pingsource.adoc index b30f539edc..dcc979a471 100644 --- a/serverless/event_sources/serverless-pingsource.adoc +++ b/serverless/event_sources/serverless-pingsource.adoc @@ -11,7 +11,6 @@ A PingSource is used to periodically send ping events with a constant payload to A PingSource can be used to schedule sending events, similar to a timer. .Example PingSource YAML - [source,yaml] ---- apiVersion: sources.knative.dev/v1alpha2 diff --git a/serverless/event_workflows/serverless-sinkbinding.adoc b/serverless/event_sources/serverless-sinkbinding.adoc similarity index 100% rename from serverless/event_workflows/serverless-sinkbinding.adoc rename to serverless/event_sources/serverless-sinkbinding.adoc diff --git a/serverless/serverless-kafka.adoc b/serverless/serverless-kafka.adoc index f9e24ef2ec..b6b216f36d 100644 --- a/serverless/serverless-kafka.adoc +++ b/serverless/serverless-kafka.adoc @@ -12,6 +12,31 @@ include::modules/technology-preview.adoc[leveloffset=+2] You can use the `KafkaChannel` channel type and `KafkaSource` event source with {ServerlessProductName}. To do this, you must install the Knative Kafka components, and configure the integration between {ServerlessProductName} and a supported link:https://access.redhat.com/documentation/en-us/red_hat_amq/7.6/html/amq_streams_on_openshift_overview/index[Red Hat AMQ Streams] cluster. +The {ServerlessOperatorName} provides the Knative Kafka API that can be used to create a `KnativeKafka` custom resource: + +.Example `KnativeKafka` custom resource +[source,yaml] +---- +apiVersion: operator.serverless.openshift.io/v1alpha1 +kind: KnativeKafka +metadata: + name: knative-kafka + namespace: knative-eventing +spec: + channel: + enabled: true <1> + bootstrapServers: <2> + source: + enabled: true <3> +---- +<1> Enables developers to use the `KafkaChannel` channel type in the cluster. +<2> A comma-separated list of bootstrap servers from your AMQ Streams cluster. +<3> Enables developers to use the `KafkaSource` event source type in the cluster. + // Install Kafka include::modules/serverless-install-kafka-odc.adoc[leveloffset=+1] -include::modules/serverless-install-kafka-yaml.adoc[leveloffset=+1] + +[id="serverless-kafka-next-steps"] +== Next steps + +* Create a xref:../serverless/event_sources/serverless-kafka-source.adoc#serverless-kafka-source[KafkaSource].