From 7eb36102a97944c409b12c5eba3955aa5f750bab Mon Sep 17 00:00:00 2001 From: Andy Green Date: Mon, 27 Jul 2020 10:03:12 +0100 Subject: [PATCH] ss: server: h1, h2, ws basic support Add initial support for defining servers using Secure Streams policy and api semantics. Serving h1, h2 and ws should be functional, the new minimal example shows a combined http + SS server with an incrementing ws message shown in the browser over tls, in around 200 lines of user code. NOP out anything to do with plugins, they're not currently used. Update the docs correspondingly. --- doc-assets/ss-operation-modes.png | Bin 0 -> 331725 bytes doc-assets/ss-state-flow-server.png | Bin 0 -> 270340 bytes doc-assets/ss-state-flow.png | Bin 252286 -> 253830 bytes .../libwebsockets/lws-secure-streams-policy.h | 28 +- include/libwebsockets/lws-secure-streams.h | 31 ++ lib/core-net/adopt.c | 109 ++++++ lib/core-net/output.c | 11 +- lib/core-net/private-lib-core-net.h | 8 + lib/core/context.c | 19 + lib/core/private-lib-core.h | 5 + lib/roles/h2/http2.c | 45 ++- lib/roles/http/header.c | 3 +- lib/roles/ws/server-ws.c | 77 +++- lib/secure-streams/CMakeLists.txt | 2 +- lib/secure-streams/README.md | 129 +++++-- lib/secure-streams/policy-common.c | 49 +-- lib/secure-streams/policy-json.c | 86 ++++- .../private-lib-secure-streams.h | 14 +- lib/secure-streams/protocols/ss-h1.c | 220 +++++++++--- lib/secure-streams/protocols/ss-h2.c | 2 +- lib/secure-streams/protocols/ss-mqtt.c | 2 +- lib/secure-streams/protocols/ss-raw.c | 2 +- lib/secure-streams/protocols/ss-ws.c | 35 +- lib/secure-streams/secure-streams.c | 130 ++++++- lib/tls/openssl/openssl-ssl.c | 2 + .../minimal-secure-streams.c | 45 +-- .../CMakeLists.txt | 9 +- .../minimal-secure-streams-server/README.md | 72 ++++ .../minimal-secure-streams-server/main.c | 332 ++++++++++++++++++ .../minimal-secure-streams-server/ss-client.c | 86 +++++ .../minimal-secure-streams-server/ss-server.c | 208 +++++++++++ .../minimal-secure-streams-sink/README.md | 64 ---- .../minimal-secure-streams-sink/main.c | 288 --------------- 33 files changed, 1602 insertions(+), 511 deletions(-) create mode 100644 doc-assets/ss-operation-modes.png create mode 100644 doc-assets/ss-state-flow-server.png rename minimal-examples/secure-streams/{minimal-secure-streams-sink => minimal-secure-streams-server}/CMakeLists.txt (74%) create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-server/README.md create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-server/main.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-server/ss-client.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-server/ss-server.c delete mode 100644 minimal-examples/secure-streams/minimal-secure-streams-sink/README.md delete mode 100644 minimal-examples/secure-streams/minimal-secure-streams-sink/main.c diff --git a/doc-assets/ss-operation-modes.png b/doc-assets/ss-operation-modes.png new file mode 100644 index 0000000000000000000000000000000000000000..8c0f5d3b7f7f612c7940fa6fbd4165d1aa893b39 GIT binary patch literal 331725 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
FMu~ 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�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μlHL$AXsO+6OuKEYe_wDzsB-($ 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%0ALf7{}mxVTq9 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
#INAGn-O}`@}{iaV6l;wx# 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 VSN?iEaU}S)!FY>N@*2le{|{P7zW)FK literal 0 HcmV?d00001 diff --git a/doc-assets/ss-state-flow-server.png b/doc-assets/ss-state-flow-server.png new file mode 100644 index 0000000000000000000000000000000000000000..9d8cfd5bb52cea7d99c5f8d0f8def25df6cdec32 GIT binary patch literal 270340 zcmXtA2RN1OA3n%TQK3{)X$WN&*$pYHlw_0{vdP}3A!RlQAxcI`Rz|i8WrmCpO32=O zod5lP-}mpjy1qWnIq&;E&u`rK{kxy@;DVas2Bz&yBob-ExwEG)l1S_DPnr$}I{fG3 zsl{LT52M{#Z3hyG?l$q4s&$t27=FmI6(+exI|q;scFXt+j?{B&_;YhEgy98cWbc=qImJ@O|vpMJLcS|IuCqrF_~FSE{2 zQ!8y!I9(R2SLCj){>R^_fR}o2(X~U=x0(De(omhG-g9@|+4DK8Yg*1ff7ayed#LIv zS1(#$S65T_oJ!2C-mTt4<9_C=n_0uYtS1@v+-3c(*;Mdj_9Go5uX1IWoSb5-q=Vq% z^5%bjcQS8>8MUKgYu@HR%6{^U=i~?T8|j8}>cakrzI$9^i+2+*%g$s<9{pL_^5L;( zMYH8+)y=Gun$O7kgLzq%JH2vOelq_1x+-OD+U2@k4l^;{>nq z4!F4|@1F{Cjw{6~*ziXyo`=9WcLeX(+t}XvQ#eLlu?|D|-r7Eu;A0P3s zba6B*joB%k|4c{!v3yrUO4dNMmu+>-%Dlk8_h6@Xu4(8R<3h~wftu{Oxlt~M{;LU2 zNwoJ8I7bD~k!{z8hRmXW=DMi-|2A&NlRAEE^72S~cXfDVp1&y9xzdrY^Uw+7b2L6z z?s#9BALYuLU7c$m{t`1afB3(PJkO#^Pnlkf*)VnOXYRbka73erWmqv!Tqgb9cdr)1 zP147QJQBPTu6QgfjbFR`gCg_q)$9-QSsUoK+$xzZP8koI8!eJ_r?U*p!TabubN5cT z97q^*J4(AWNV=8(z4arf(g|Dbz@?6M$Nka+DoNzV;zkF}B{gyt z>%ON>J+^`iSD1dwM7O#07sbCN4LkD}wYxi;UB2hT^50D>?`PDD86>5P|F&K2Qomq3 zUX<#k$hB^+{rYO4%V|Y?3aK?Sz1;+W$w0**=hu@0# z{w-qaJ9gY?P5bR!?dAJcBp2>I&L-cxe>nPh99j#ec1`dazQV%HGv6T3vwNt&g>))T z@V__+Q#fEZ+3))iF{oq)@R1!E?__ zL{F3?#jL)OSB~Sf6KC}c{Js9)Y#&oOUV41@CJBe>%Xg;BN*YsAy>u(1N15%M-APPo zEz1)2g;zgV(vwrlN{Tj;u3TIRJ2M+b?Q@=)XJzzO&NgbF@yD`O^714@L&NXM>UZMe zcHh2zdtzp0U7Sv~MY6`&QtQ5d?>L$Hz0P56ZEX@8JNu(2PfnSd9^mBUyng-q!`N8; zXB}HfN#tJf+!TpjeYstz0$3ocTaTUT;?hGt%Bt-Y6d&8B&6oZ9Rs34;ZJ*&s-nwPQ z_Lj_!wE3i8b+Qk0bH#&ph$o(Va^SS0;-wOAukFXI&aN)azP^;SvADRnu1o2^y|pPQ zER?=@@#0w}rQe+&9QN(s|0p8ji@wil`Hw8KhQa7aHQUG3D;sxKTu>}+xnJxgpO#@? z*VTVxN&cJ&^##{#+}hjDyi4@*+CfYFwUgqz9K`&(-KVMdl4a#{qn4fB+}#@s-5ewx z|H^mdSev)J<+QiAcl8LDIPw4T+Nr6hx9gx+xb^_RZW zGRZ4hgHPxEjj~fLGN)VLT{CY=+(1P|r6!m6UmR*2yOO5Y*Hd=Ks=GMGx+4eA{P!=< z_MUBate+gIrg!U^cXtUVSnhOUka)J;pqM2`l=|(w{qF_q-i=%&toN0alM8@OjCCqSMnpLa8bQ`$6@g9suWdK0Zp7h|8lt4#Jos{ErayNnRRb? zkA81$4c{f>E_CDD?p@vshSW4P$`g726(M^w<@4vwYM&i_tCQ_t_E-Kzao$(GSXWdXUdNO}m$whi{Dz#4z)AAu&$}CxUTmOOw z-%*ic$DXRkpAokB&TD}%emubT|6h(o9+dYW#o_L-0{c`^132L6Rj;=n)mOX z;0g&<@ie8)J>8n^C2n{W|1~|$v|FXT2K#!9f8H-Gl|K`_^Xq%_rey5+>s=TBU($xv zVr6R;xxGFo#d<4wdlxtEr`?uFJ3`B(zH!02sC|en{W5=P{ucS_?h_^a)wKVtSas*v zMsgz^W$w&s?H!-t(r$X!b*|ePvTWpU+~93WR5kwn`N29`+ORRk|3J^l(DuISaJS*q z+=V|+&hzr}UdZ1^)5aA2StRd@REBMesJyu^6<2u@UFa+MxY^<&K>p&|ca7}l3>ujM;F5btumQ!l$5`10l61m(?S z)zYJ(cf7M>dgl@u+p6h=iY1?HAk9fpjosf!GP~pBad|DQe{qKt=?(Q3p;yZukvJje{o*4&FF0-VE zG4@pPQMCX$*goiJrn=BlR+3t^Rx!G(hdu6=(<%3vzh%0%MG9B1ULB16f4%u^J==6% zZgOS1e!7y|hc`xzs)c5-ZR1M7NVG%frk-S;(o`ub8%5L;I*JneS}l!_e$OFh_O-)r zmRnP?Bg3Q#X~t_1$-=VR}!2r_Pdb6L!~{k=e}>VFY( z`uK&{8t-j>K6}KYc=OjsTD52iL+|!2_o*z5zc75eSeO{yn9_LfWAUso@2=(c9ae&a zA1)Szagj_oSEPp4xw0-WB-^f;WMpK#)y}%dxaC04@UX5a%Ypy8)yoyyb?b;kesu()p;^DcZ4$heJN>ePk50^g!#> zdhM)mc7x&e4$WwarW2{tzo)y}Vm)ma4PBIve$e)#3scpCk;2Awva+%!YX<)%{hrQ{ zk`lR3_crhd2n7BtaEWiY5tt-R=H0#RQz%JyaIGcd5L<|0n8fx)!E*;n4-c~Cv5Oa7 zE-P_6C{JS`{O#LH0D50}Znw8G+FPXT1(U?q;f7(`j?5>xK=hwqzkV(3CGwwF^5!1~ zT&5SDs3qwL^)T6rS(~cPD#xFe?=a_$6p6SjUn*O3_0r5SQhKZ9uVlaS$e!*UpEmo9 z8-5`Paf;jQ94}se7q}GFFg$xBTL%qRGG=3pnpuWz;Ti0!$JE4xe8NRs&oINy%`I|{ z$kP`B{QLnK#+8}gtM0>>TFKmGX69R7d&=*4Cm1WCBs)^K4UvS#8OXYAj2Buikw${n zbjSG*PbZ0WcS|q$Ft~CvhEw{N8%w(T7m+X}h43TSlJ!eub#ttQot_!r=Qk!h?%vu_CMSUnaH_Fs z8rfN3GE1s@g9_|Mnd@KCt)HK#zDJYxEI0SW9XhL@`C%=oy5S8xd2+qHCBi*|yu3m| zLquDgn6GCt_9N@0(mkvr5m$T9aaiYDhOy!?t2X%)CvHuqAH1hVR$)F$RqB0!yqJc3|e455+x91L$K%UzM5@4$-T07BOGJlLICpA5ajXiH@ z_@btF>q!RtYBvv$-hlzX+}zyW06gz~rQcJ1)iXoQ0lk$WQQR#gUGhHkgakFxa2@&a zb!y(jo9=&1nJuoa%A_fcbfeS-ugtIOs<5i_@${6oY<-si@RDGa=^;`#D#*vjH=c;h z$)iEOsApST9%Mku*jMIxE{gojcj~Q)6z%tGE0CjS8M!1YaMUqx|tT(l8p-OfdzlOH{WvWR$?=SZv&!k`y?J^PgPWS_*QRk z?}dehP?t+sv-`SZ00NGq?P1dc^-Q7cH2%MPhbh98_9zg5)4#k#Z%-D;Y0H_2nq_WtgcQ@flv`o z$C~>cXm_wZJH^ScbjLPHs+$W^J-G<+uuTSOTS}$Zmukw8rh`drda3grkr1bbz(Xd-*7=gMk&8fr^@ z_!(|%E-`ibP&DH?Jg>yFShsGif8ee0_-6ZTnmDo76eR^pAz8MRdD_EgX)tMKu&J^< z@x#GXO=V3@4vXyk!l-|;$6qZeK0Te4g@xrS9WJ4MDBJ4CW7N;N@ormhiJf_YhJ57X z9`Q@TT~R(=OWyD7UY`QCB?7JE%>sA8p4n~<3)iVXUsYmdf0mnmNLpF(ym|BH_3!%F zgoKM&D7B;~|1Q);L_Iyru0JC`vMNsPlE1c_@sp>QZu!EDT48RN;JJhH4}2E#r%og^ z_*}U}sa0HC6=GYpv?w(6+sM_HW3B6}?|wF|^$7@^y1KfXxB`(ZCeku8jLgiRo3i$a zGX1kcVUdyNDucO>yNpFI{<>~(&}S=!KfOIywm(@Yj;^ndYBZJU!kZDQE8a#0B1^XX zv)zSTdfejtChs{7eK#C#NnJ-zU+`_;JXZcoRn^J(hW}@WQd(OUn6A zN?P&Bl;-U$^u`f%c3gdIJ|2UV;CCl}HM@6TeUM3t9wqU9{abRe&!@L#mutBzOPEr5 ztGNmnW@3Rp=q<)tM%>W92gJ zY-|soJh{|Wi!I$#<$EUnL`w7T-d-LjDx{^xc2K0g(pxnBvn1(T7no;BS2;&rOivkh z?+W+nk({PdjHm3M7}w`_dHC`VZlz5GVQK6})LM_fD{bbHF?9uYHR zDEEvE45gnw#s3#o4`yZ@2`CcAf2D?nLKppK{KMKJTNNU&6I>K=vSu`8eW~-61?;H$&)8>ys8Th5oP){^aCR!BLWPgpczHb#g(o7Ey;4Cw$bJw zr!tc>cdd#$iJ`W{+`rFY)-iC5Y5jUYc>aHPj{UJt>H%@_+`=d<_sLKl6qwcJd2zWv zG@mbe&gdUnFK_;*d%>dk=VJkqt_*Dg=c>5iO6%r@x`oB|Y)gmVpBdk1rdsq`{(Pd7 z`gBHN&t1F6YDqj&Qagld!k*0b_#XH1p)l!^v~b@-k{)vcwNc`z$~#!h$=325N=@-bxwC}b=*g4B~U5hB{~yQgp0NA&dcIDF<#YOrhYCm)B#z)M*9x3znU$~R-e|ae@VV=4v*&L2 z+-HX-Kdu)HUGhMcetkKG1KcK|_=>`>8quW0#LYW*Uj6lZz4~!bDPg0}46>^;mwNXI zGHa6*h1Lyi&$<%y(PKPnyeOS{LMDTGO2(#`ue{rREjYI}iKdNNFU)%>KVK}a@gjMb z{Q4g6Uf)fdHU)A?wUnj)Jn!s$Ofsf!(iecquRX(<9=9l(8jN~(2esNj>*#(E4@fnc zF5`N#i+{FgzSTORp%GdxBO)q#PD$zJphs%k)jKGZu?WG)OmVC^* zJ>9H+7qR~RHIc^dbRI45t|?!@B8r)G|mzZEWCx)ih2`C!XI zu=%3_TLlx($I2e@v2{Z`d5Mbnm}@Uz=qbOA!r1CA?`3POw=A02j~weAA<|O}C6qO( zhK7b$Nl8z_!e~p$R5WZ-(#kKD!;ieZR`4`YHR|ctRleKH<0Y}GQOE3Cuetmv?0<0Z zdC!M|=kYG%UAY-1Cs(ZNqK|v7&bIa|{N6#Gl)*f4R5MCgw<~Yl$)Q_1MNfHhp}lZR z=@*;yG{>&UF&7Vq4OXg*6QqjB?mxa;^^)z%eFz|ONfIfg_4Vsl!^T(Vpqw@odwH1F zM3fcHcUdyMp%M`hY5U-CFs*or53f;)k!9oq?q}#6 zhj@8+^YQst?(zssPZ!#}d9#G~iUf)ll61YTt?km>sB+XX>xJGBxi-Ytj~_n-^oyfW zLqwg1G_ZZzxi(xL^JBDekn*JG+Ki7$?L-gxSP``2oU$^{zI}Ibi6&qel1*n`8I%YK zhkjX_@N)F zYiWI+g5nL7_LtHkI(h6h}I6K@Lb!O6IZsZ>%~n^UeliH@!zwq~-o5)G0WYWhf9#+`2ObT_NUS0W((*ARRx?U z8Gf}Kv+Ys=D&DhakLP6hR>!~J%JweMGpt{4Jke7op!1%AOsvQHtw(sf1b6QyBT}WZ zeed37TP_R<38@|4A$Fq_X;J;rcfG2w2Y9u?k`)SwYV{K0t^HRPx2$IbDhrK}>x4nM z<}fLYGrXXf@o{lvkY9p(BHS%4I#7J@ zd+z)9?-Q3vP!698@mZk}Qc>M5?JA@gva9c1!I%hb0d$nBMebn;o(W{@#UwSZj~_p} zPJKP7$`wypYAuP7ayf#~O~7nmr-U8Z=4bwk*5Pw!&+e9$eGUYSY&dh_0_z=m7E{3Q zcdH3ni$f`C+n_K#fBsy|rZWOvP10%Tl|;f2^6hhFD-Drb`+}#Cu_ zOeJ2N^7}n7ph!Ton|(~kpM5eiF`=Ps2hKmQ!Hz<5h)3N{aQ9Z1HLZ&_UoALK!(2`Y z-*K$clm|4BCE?0 zU2T5omktX*Osbz|crM*h@n6b(a&>+it< zkzzvbGdG&p$TajDg)CbHE+sZT+;d7R-Qbo&%dG|$xs_7V^I& zTNR#mRVlP9Usl?rDXl@pC0J$m$a z)*Zs7zUL%uWe9f?mVs=Te*#qq0}R@p7k;}$YFF#3s*F(OUL__HfsJNy8f}1qg=GMj z9LR3fGoJa|kT`xE<(!ZU?0YK~78f(jn-07-zHqA8tM&Bs7@Y`U9ZM9WUBD1>;ctA1K;kD3)aS)16B4MDt-Y6>UHVTGQ4b6g{(OC+ zoo&I6B|3fPjEMJ&YdIzO$hCY8E5616!D5DOBAF;+#*>tZFJI11O--rXG0bV#Oi*G! zdFs^R+Z2p~nlgW&OL$I{(R29NSY$t|4i|Ko{9SHj{Y=&?zjnZ>1-#JT>4>6&!lS28 zHAmW!D-Y3!PGO4pFEH~bC+IgT>Ws9w$w=H1gZs5)cm-; z4G^lHl+}6W9mkl3R*tVsd}1N`P~vbs1}Yc`nRn(1XInHs?kU+EA?ftSjh-aWX1A+) zleckCTB7Tc&pAt~wr5N|7dOdYP}^^pvn5Wh$9Co0--dX84aoqV)MMI?wdaHZaGjvDO&isbLW2H z{%d08Vv&jL%S9dFh42_9ze)*nEG?>OyIU# zxw$SGloFQhVqZ)vD$@-=X%)H(^PCAZz(m*+EhO=n(_mxyOL8yDn93#k(|zAwDy%28 zxw;ssAitGc&r0_TWRU{7sQP0_&o$F3)JVNE?#2hnZp=1%>q(&jRD2u^Gnx6N9AO_* zQq@RJK8LUnK-ldcQayw@_G6DipgMW4&R!w@5@^H7XfL#1C%5NzkW%gk2OmI1DHtz~ z3g(jHNRbq*s`$hrSA*HdIW;v?qD=JtCAxBsWs!cNYeT3-ikMl81j{ToZ_obyz6eL7 z)@@CcC~;dgE31)I>vS4!?}a@dK76?A>l-$#akmjuhsw%I#iw*^HnkE?e*ec+tFy`7p);FXQ4$XDB0xpf_ODLuw!Jp?i6FFyW6JY{Ozl$oa^E3$38NbF>Ox z%MV4vyi~MJH)c!!+ccsvpyWCZegEn>0u9-}T%$EjzaFsBjkrK7N?i<+Nywy%O6@|6(y;^Sw}EYw+3ok!a{UAn!9zcV90F1-l}e*~*X zm;3PHM75YIjA@R$PQ(pf#b6kjzIX55+xbqzo40H^g_XPUE$&wBvh|Nl-;G?75-VM3 zI$D&6w9K#HwS?u>CL|?gdCc1&Ew%yTo|m3Hone{pGOlK4CnRpuX)xNJt@2Fl>u*nR z4eUIf)mDn=_Tx8ST{8cK%raS7m@E(WnXVNFrjef%#c1@C9}AHWs0&1O<(uKnx920X zj#&^j3f&J|@PK}oD=Ag88jlGSV2JUdvz!#F>pf=9j}yN>z1B?KPS`Vm*2FBn--k8B zubT_H(t5$d($)Fydh~4bADR1!s{@v7+xbD1px3nD`!NLij9&Yd@US2b3CM;y$N+8=lQ27M zDUpe|YJgV`ZbcJr~xA%#62X4rGcO#Fq&7$xZ;G>QD-A^%4y8@0T z__F5K;cY^mU-WS1DQtUOlu3hEJySTzu+CU zt)Guh0-~T#*F=fe?_G7M2;?LXy_!!f{u~P8?vbM`hA7aQDiSNNELe1XdfXdwf+z4( zr&H^-m2n?RmPD@2Pssyn(f2W&K@Z`Zt2O{D!34uO|FA*C@)CymQC)aV`^r{^0*lsn zwUB?Tbn@Tqot~d}>8RPXr&OrV6qP($(uoP$(9dYf+Z*1 zR+vpsL(R5dU2+1aQjV4NvZ6~u%O?hr@8642Q&Z#0^avpGi%Sl0Y(&d=aKxw)AbSv- zjq(jli9x;PqYvq(wc801#M9HWts67LwG=%zG%IS}o43j>dzKCJ+Y%5$CEySBClNhcV6g8JS_Fj1OU7VME@ z4}yaeZM%zs?(7#P3;}l$g;{ys&=LrAN!)a~<7Wc1VtK()mCl}JfC-F8TDtT5A?vQl z!W#{HAvQ(I`4k&P`Fccw5>Wt*YgqsRX=vq(o1Z4x2~hg8eZ}x6Xn*@7;!~k@69_0~_wr<@z)@|GFpNZciB^5Q?n)U>Z-rZf2k&!X6HZno_)5nk7 zj^Ese^v=?qyq0%FRP+h9jKHnEQNnoh9Xd;i6M^GZsy1w{5d1yE>En;!7{ z-fu5X9ZLfm|J~&=o`CtS<6xt2j&;XVK2`msCi}S&ZRhc>T40(*ct+S2HAF>3T*2J6 z^BoTnUS=(l2oPQ6=Gpd8`rWpJ};2`*l;(DMI71`*jl9blJuFhWUw!e`K=7KTn9_cNNyE zlC`A(xQbr4Jw9V_mgj2bb;i+-T(e&veWxh22QjM(A`~M`pPF6|2l-|;Ha4m#ANpyt zVY^sQ@$wi=4{(}#;Tb?=@8HyH1ufs7lt2JLj^4U;%SN=_CfdUjwxXuTM(o;vjSSTQ`hB+l2Rkx3_l@>O&T#vD_t`hKmVt7m zf_jBFhIoZEDdRs2a?2Yv`@RQT6Q%{oX z*l5JeTz19yeWcxgj$%t6ac`Jz<4!Fr>+>%AORh7h=U~yKh>{B(T-}N-4cZz3Pl&}}#3}JQy>P%FLyeQDO0BJ!QTNb!Y_~pgGH(h)c{%Zup9$JDn9XV&& z^45+2*&jCJ$`H+zY&TU@TQCS}=371%7H?iNy_Yii5ZNk}EWp+7>+AcNc6X=RnKN|g zN*LtazZn`Gt)i~pV7)AxtyAl}eydH#{DVyO6wSkzguh1JCcj}zOEBYF;di2LV_F$C zp^2O5I@_m2M=lB`*Y$Iwy2ak<$S0(ef|3=+J<;J&QPrV`F1bSN3|PJWJL>)`jI*~_|B1W<|lzKZQPc3+OrAmpjm~+I*pA7;({8GyH+-KjIa7)PK6HXWZn}z!c-YOcc_bK z)oGMhEYRU`(@srub8}B9APM=EcUWZqe$Nat*?;_aBw$KC2u`?sskZ8F@r!;EUQHlmMWCNg z*;H9S!X6j8O-CHF)^QW>3!eFQibdGCf_eH>^R4x4EK{Sk6qo(0`meXe9d8mAw7R6T z_uEQ;1>JY5mw^X+dwYMbZS@igTsqt5vq#AmZCZMHB&%HVyZiiDEkuQ6ExY=d^78Tw z>yBf^3%}PRmrbiozYWg{=;j0h;7$)F#XfzL>0$Ew*RL|OSg#6{VPd34NN3RHkEO9} z+}PiIMLz-M(0>3Uk*bDxMJ&{F8IPxVG^G(<4EZMV%c5z}J5EFOR( zhoyF+p(N9gm{Yi+f?s|!bG=9p4kSZgZS}LA$JbV-&vOW9l~#rEQ@Mh`X=NDEqKn1@ z8;^A4hMbpM4JA}Q2xr7>2|`aYI0b6y0Pg3qfTIWMAY_Abz$%Uds^AVWJB`vM9pb`kz1PsF9K5Io=)pYrT`UBNLH zLH!T$@x8?K1hdu2*;f7V3H?Ie2LJ|5Fbn~am`Stw_qwemoTK>t7B2XGRdRSE2I7n@ z12y6SGd?b_{YUNxuB}&h2fsQlSiJC3p*;f>1pnGAShA9-o3K=HGT|cOQ72TJ_z>Bu zwbfkig1+ zyTMd#@1`UV>SkVo9<CN&ibpXqwXe=S(E|DqHLDYF?uM860uFRQl2HVyAOIK^ zxNl`~8bYKmk!p~@A3_rD85pR95*{ILyQ|23_GGH&v=3$82fZZ-pfuC!hX@GOSL`$c z1H*1e-+<|jMIJ5ysKgi};;1DDro;z$c^P8V2<LXxmdD>{Sn1sAP= zRyrB!6wJ=AX$OJ`Ygj#DWkT6$!!(yr>;V_hhnn79lOi}fIs@azjb~DtMWE&&M^r&2 zp*^fj$5O7tq(qFeUAo--AXEYTsA6#mjEq12lmolPu}xcoeeJ+G#P_U&0)0t=pmtfrw<9} z6-EFL=Jq9)!xcojJY*^bkXh5H!0jH{Egi_8CQ#sucCS3MT|=VOuiIKL$Y;5iqwL1CXH``8A<8hAgW`Mw8|#K;P#p;J+3K}4^9waPaOd&H znLwYFNqWTPZ=7*T9EKWtI?J^7%a<>4=oAoULXbzSLTrChU`|25et}!zs4w)PcoSU_ zjb0^XJD@x<0!68ZZrl&`*42%(LJtF3%*qeqbP*{3O<*7`$DM+RHT=Hmt+ptvCX29( z)S@^LbpkzxY$(}|d*Bo@AP+ha$38$LjA4_6vjZyIwRikuor6U7A>(UU_ERU_qTbzY zRV~^vRjW5`t7qBCWNU*)z-S@w;L!BUIzK8(&(J}Fwlp#|Y?6k!lLH4T667MLb~pR_ z^2Yqf@pN}ub{EU+IA*n5K;Uh(j+3RUn;U_|SRo=pW>dN32So5sWaFSohl@Lt`XhD@ z4kdcBofM1o1PSa9f<-h66IPR6^WD{R>gt;iSN-4%#0WHShj=h#>8*TIFNmv9TdKsr~RCU5BtFpq+Ua6XDHJdH_Pq8(u18c(}Q`rb9pZ&nW>{66SW> zF>=Q;z;u|d& zCMFe}AH4GJ>Y=&$HJmk~zQ^v2qXrl+@u6x9(^3qyZn{AnCXASg#(?#hpz-CXcX~6? z-npaxynB4)OG!L4NzsYa)4!o~t^L+qKgEwa@kkBwQscgn4Cqnc&vkqF-lAxiXiap( zWdTH}Ie6R00n=;=DA73!v;sUlcOcz$s4%jf4AsMEJ3;%Wyv8obWdsT&nj8u-L0OQ? z5MK7-j2Y%s@Uqw6W!#d7(t)D!8%<&l`Y{C1;iuCB+XuCsW0Znc8<71|^U*c?$Dq~}r7Be1iv-0DUMcRA>KjN_1(|h#WZ*3^4(c>#Wf{#-TWGnq}X6rYQq; z8pbR`o$Sw7QTZg`=D_SjgsTH*SIn98OidHZZ`dOch##7ix_fv)^|KthYT1^)C+U1_ zj+Vn3LM`bs|EZVb@Q5!$W2QQFq3MHz8EhPEv3-y`ARRY}{Z4JTu>k5r`V{)Sr^g^5 z%=yUGyiy2Qui+lVc_t(1&Kxn`wneiXh_06~Laks%&cU@8OWp^7Dqht6-u%hn{0eT@ zd$DgTlG4<@AJDKV7G^v)3_jBTex`tg5M09``EV9UOw)&0@1?K(^-I9`1p0&&2u+7D zOQKfa1i!>BPGBz)!^f^sV1nrZ$AIp@7Q0w0-u(v?hQxV7NrLJ!GuqMW*tu}r0g**$ z#N<79)Z-hzJbu$x!?(V4$Asc>no{X+x#3g>U5q`+8%b>AILgKx*EmsB^!|21ji6QQ zyO@|t7nUjIyR7@O5aomyMA*v|lNiF~mbgfExs61HkAVXi*+}Q+VL&}J!b~I{QwEbi zE4!+?`Xe?PHk)#kL10Q^?=C&_M$vUc=zxc9Ac15jq1$0&w`|#R2Ts&Id&&xVBYeS} zpMc&@KyKa4%32C;z$xclXw>e842=XzNY%|fz{f`@{&mk~s$VJukO+GVG)H2J4sHa& z>_%Jqi$ew>P_fbJK9`pxp&fv|YBA0~3%G+x85IZ?<{DFQ2yG#w2t37^%~0aFA4(xX z{V{S>jp6DCxcUr|d=@5F)q2CVpM=AQaD2VS;U##(32z5z9Thh>H|7{$FlJQ&O~ZKd zYN6{RY`MtwFRZ9aL@j}a7E&(i1CK!Bc*~$8(fYq*`Ux~Zyy%i}b40{8ycF0!o=~Wu zq=HJpebN36oCX$gFuFhbl%=f(e`o$Sr)(wK9^B8w!Nl)oLck+(Yk-@qJ9a3;1c-6l zo})*@Kwr_C%ZAfR)G$Xd$3v4~_#}izqEpt0)=$7eux0C3McAP}U>X2RjVXjwj;5`| z5zE`O>xl~yYA|6qgk_5m*x^eics9@-MjGpwQ+^WqNx@it09<0ke6c(yKsNJGaHa>ZEQE>ud-r~PX`=uU4x^NReS0HoodSG(dm;89DY5Bh zOl!8CdAD>@bH2#aoElmLiv4DhEq3D@3FiBz4_N4j5fS%cuoV^-hP4WVg&Rr_S}n2> zL^xFU0csZ2sj3y?T{pzOr|HL%$)u)LNCv1wh^0H29`bUCh&5VdM@!gK<5UXj8qNvr z6%?%3V9tOS4J;cqTmJg>R|+d}t;5934++J!<)rn(Y$P!b8ZjH4wIg)N z1&ePKUu=uR*Bt2bleXRQ;WpSIZb<@ifO~RKWbsb^WgKKTdh?j|<1r|tgrm)KA$?E_ zgzpC?GhC16Z0n&2xy>{v9&Vf?8V3w~xvteIH{pGC3=;?upT&J|H4+AgF-^z z+)e0=H;}G~536{2yrwv>r{ZI$64U#eOfnENRah5fE;gppPg(!#8BD)Zv6Pj{8NGyy zlNdR3C|4FdK~)UF;JkE37WNwm)Jn}a_f$nVl8D0u_n#fJwphzyy7$)IjM^Iq#eeK4 z1+fj(YP*oyo?SJ&rf`8)OGSjR8w7>q(--LpHdB1<5Yi~#$2k-zXqyDgtj@SRMyLZ2 z0xFESexXBT7?u0qvdwQ8WxPo!z(FyNTY*xLK#3jifvAIH-S=Q(!U)l1UqcY)hrcke1bjx)bOKBhRnOJ6 zO)2qpp6trRset`A2+D;@Q^ucP&vari}mGooFi4RKe~tS z4MehZP-RFxSGrU)>?V3nz@9`Lu=~A8P;8hy^H;}L#|Uu5?X&U-9f|L`9E`k3-+icv z$U>;GG$?PkVq?3lZC>Yvv8{Q$_BY&5N?7v9;iGg6vyy*jucrTBNGtTkHJ$%TD!bb=he5$_9$PmJI8r9|D>Pi>_s|358 z(TT$e4v*eIy65x|T80zE%F&xPk*r~rlq{Dnb@i*1Pu@@UUb&o*&mc1-?=}k9VEno3 z!hQDNrSYOdp9y0<&C(l2x1V{{{rCjo z%Vliji0FKivXauP^~Q&|Y2k%|`Y^|Rh4iPt|M$>P6{u5patV&+W7Lv-iOLSl1^$7V zSap)sk4)MP8#W+GX2XNG29y(^H=B>NOWIW)F~f;LDeQAFz)S;oq{CMU-JNo2|5G_< zi$x!|W||(Sk84qRE3F4gE~Tn|WLnGLNxJMad~qEEBMBC(p|=5x#S_IJHgK@95&O53 ziwoRjBg-!7hfEZ1UeJ?~p9Nd-=jyd~aINwnSQ($O*?$Hf?Wms(A zo2N;{Xd8yCSqYv)7iEvUGVx6KE}oE(0K*PymXfn`&bQ~7^+N3=e(2{%P*CG*SKy?D zHioL2CZnjN!~|PAD&O>(rsYQiD~r_G@-<*q$Wyd=G#=``gwpDpv0*1qwS6V|&(+3Fo6$;-Ag zv$NeE)jiAaZ{(pW03`DqIWm^L8X6jk?)K1v)Xf9>$jis~W_sRnppFYR2s$_7!UJ2M1tjnN-x>6A<8{20jG+`}5V4OaEdIIBwNkDbt>lz3w4@wUbN?<>N zLc>w2p`ii4fE1jIrBzk_BO@c*Dc#N5?{93v%L+XgHzU5$Eh3LQ8~{5=zyWrAD6T*U z7^4bI0w@sw{ym$uwKe3f^qic2xTA=t1hc)Urw3b+*9|y3;X~{JbumMaM11W&cu)~_ z6^zpe5+ey*^cxObywA>l05>V<7{2j__0d`4OKOgLEs5c{Q)y%4W0XfiYS7l^#QuVn z?u5mYFoX#ikiZcmqN1KWdUOJ2LS(vC`}@}wM->$nn_x_GbacFc2gVQppFp_pFKBAs zi;CI-K=uMAU{r-m7cLM$oiJ?SgvxcuVE~KU;FX6(jnI72hxfyTfo$2r&aMF72Aun; zriO4~#lL!WH!O@D7Mp{|k8@%w{Mkqtst3MWY@z+|A_q)I5%ApFCEhYH$W*qsKZA<{cWiOhk{uay^y4}t=Z^xHG*;2E;o)ki zR1M$1pH@{3f@BEs=QB7Arb7k*z9=6J$?80fO-=aTq+ZB15fKsJa1Lm!yF}2{T+U-I z5Yt3ly9$VPa(bEv;vVFEyWWZo5PgF%L4fGRgR@sKGzW9bsR6uqE%_+;@5|m+#h!d^ zA+2^tkF^M;q+#!{Dmy7{qX6~$H``}tX1Z=h_=F?U=1&G(*3qfLc%d!RL^*YlK}AL7 zM#D>5C`^Bchn0u9N|Hju!=E50u|LZDe>PlFd&Z9ptRn_w+z`~y9ic=P_74BPS4Gy=Tol09c0uw4F3IV zH`utJM9lnfKSY@Wi$shN9vA}iW5NKbm2r7~oSv_BHv)o3LLvh0)LX<*0}8lO=Rblx zx`myyGhGj~F*t65@NHF8L>ytFVqsx{x@Kr;82}_792~sa;carV0WiUBj}_wh1U|#= z=FN}z(j}l6qDcQar-KPzW@cu#=0+)K4aiB3n?$)cw6Uopo&mmeC^$GWvh(ug%cTC= zs7go(KTr(_M;)XN;!F)m+Gi~qBv=#&8@(y3E(liw-{Vt5pFR~aC?z3W>cHyN+}w_X zzHNTzg~=*BjXQA`3+n)-SoB+KD`9_^?{iSo(|e9a0oTzXetu(EVt3-a4W2X$qZga* z;-G|t|M7GtU^%bb`+qZ5wk;vUHY8;yWJsoMs7#e9X;7j>hGL@(B`V2KgeYW)5KT&m zB4w7$G>|DnqEI3Y8vdVk&iVb%b)D+;Sv_t%n>~ov? zQi^tMZEay$z&~R-eEdZ91W~99UC#kl+6nv*4sOXx7tze%Jhy4xdOZon;&W0pleo-L zln?ivX}x8v7UL*Ebi8%Ces zs`{c+r%qCPRt!DXsukom%t_Ba8d+IcsO`==EvcK~Rb8$_+{t&}h|Tochr+{wABb*#F)_UeQSCK`h+^1fwDt~4h3Jn^zp3XbC;Lo_9bxY_U(J~#*HShs$EB|%|sDA!OTpB zYIa;74e5&F-xM%T2NHnO*u7uBsqj$sKhOG9m360$b(AbaX|4jb!m>>Q?#R>EQ0cem z+qduH#f!DK=RJMermZE6_bs+N0EeFI>9c3A-?}9TKEWZ?1pGu29y)B;Zo{WUv%tr;8~6sUh$tNzOh zuH@+{4jw!hP$`M%)~#ktaf`-8E9Kawix;2JAN}`r8shXnc@2WViuGt^Z>69NTp4)i zP!|{*^=&RZ`k2X+TShxHpJ8vm>)=6$63?97Z$v+UHcjcssZ*2f?K=?`32Xsm03Z%^ zf!isu64?y50=qDUZ}|NAvy{7GVM6Njk!=E;75~+a>gwzFgmWb4DF0?yUZ$w%*;GOL z5{(I5+FzFDpX)`pT?jA*GZ>Se3GI?z{qcZ(k#gAU*15U4pgGfn{fJ32j8;+6^le7* zkC=%{;y(jyOX19;5q+8FwVRThBX(5+U~;k!Lw0Bk)YQ~8J1CLQUcSFFSA-$^WZYhah&=shRunWL9}o1}@1T z#D9vHkMGu#vc`~>pT@fesBpn*ql$wRAOSI9d-m*^)6%66sbxEi_E{V3!>LS3Nnu3C zh#cYh>q|#zW+G}GI&|o1cyo~qY~9+z+}vE;rr5O}^x-PH-{#-O?!pu@)(Ybhc_TeZQ3|MbMos7@w=*}sn3_7x-rgKKkXG$= zRs_&v@bAl^GX4rGkTMBCh4?$kro^}1g{5y$`y8Ox0mi>2*#e0JWq?>$P)0-^IbuY_ zC+aSM+c3O^WMDq6V{zD_t^_g45YEt{9mb3qL*Z{u8ODTD3nJ4;zEvt^l2NWj&+O(E zb(8j%zj1-G6CDeWeJnOM2%v$!>His!ygUw43}{=0AA zL`1^D7HwDZsP>A%|GvxwW`Bl{f}AoUfU8ZR4;oNu-Qlml=E8=ie99;`gq`<2GH}Rs zq%Z)~ozEO++1b}!vaq&}q80MM;uw&Lfug|R;IM_IFH?Wa^nD1mw9w5h&$LN3$oq`E zn6xwuaOSd7nRn`ZL+y@-X0?s)UVid+rPb*0fU#v4|GNL%Xx*g-4C&5pDl7f)VJr;e z@qf2YLrB@*p^Wr5-O1$>0oIZQ@12)FSC7?{k-e>PHs9846 z)>fz$UUQ?cjP<QTg#nDmqu8RIBOuJj%(5qD;H?Lq)H2c}^RRo>bvx`7o!C9zBZoSeJ0@ z*md|i+c{*8%Ss=S1XoJP#*%-&spoT>H5t-q+&R%xka zTH1MIo$SS>-ewUs=QQYiPBn>cRE5-`8m+|fYYh{ELPA=9`}U1mp~VukK5SOgd4Kr4 zp<@IwJndOmxNPrkuYZg(m~*X(id!bubj8aDH}pX@4a3kve;<15LUtBBZ0;ww`SZsk zzyZrIes+32L0o)d)-YlZ0wJ2JSE~b4AoXHAT3gTRbtEBSdqP6OvZd^dsQCD8K|!j0 z`t}uGM8;Ntt)e*NA5CYxIAG}3Gc7MSS7YE(;&d09=|q)Vh*Q7+{Hd*_Wim9EI+YXQ zPMN?A<_)T$g%p(>M);K;gktm?w?NrU?->B&S`VCX`{qrv8}ElKeO;Suwi0Zk(`Wsj zJ$w9hT$xq9R{DjHCRcyyr!(u^>C>7dcwUB_4f51@_M&$A@a(@UPGu86$59v4$f4#j zojh5TLzMNkF_u}+o^=4cAxoMHiUME=qju>2XSOBN_O!2`6;CTNxk*INt`g} zk+HGnl;)zlfoB2Ioc1W1LV$BTu&-f9b6)sZ=f+x+)WLntJEth(HJ=m2JMld|oK1LkFfGiaJV;mj3QP`vUT2EUW zx=X4L=G9F-n~2^384~c>E`4q4Sd|-8V$dC9DJX%UGJ#6I{ZVkWarYZ@nARDwt|pYn zkYxvFneyc$MmQWjULGe^6?sU657Z|zY(ksk9U`fA9}7NwxPf>&FepgyI|v=hY&{1| zCT$x(-#TM6>zMuHi))d!(n@w{#h~3g8XFiG3}5}N&%%ci zt+s7D&L*xHad!1X3ar+FWB=$j%3&cSi42{Z=m+R=2vS#kR%a*czy{IsktQRmx(*}P ztT^?4>)4|i>$;65&Wx`6*@m<9>C>kp@$r3Hf3q|!%9rjk8o4X?@3$n6vDX4_&PD&T zquc2D2r57$7zyp5>Oi=oq<1O@SfL&{i0Vc?Oe?nchH+Yt-8TNREz%{PuN^GLA2NL~ zZ=OiO0@rq3y5Zu*;Z!ppz(tq{FgEm1%3HL%+G(1_yNmZ&^|Gw*i-7eGgB3ED&VHJc zxwAWXXXl|q!RODfYMEC8yQOkVz}{)k@6Jfcg7)w4gk&;xY|MpXl8t$X*3c{gBYIhQ zbvtE#`~o%l)#>IG0PI)vL;=735vg;;oOiwIRPldW0N5+2XjrJLB2fn@E?d5w;$;U! zit--EF=MWGGS8%Et5SKIZa^fl#8mqzx<>WN-YZwGG>-g?436Xm&lGidCe0&Tjp?#2a z`g8%R4IFFUef&6{qrj*=6Td2khK39hWb&%f>KSXR&ml>|#bw^VFCtv^tZ<0w{>Xqu zBud|-tgK8EC6Z3*NlQAvjU2-uWsk5S89HJFt3rl_4)^^)>$IXXY{ zPBigcc`sirF#5B2lW9uCTYbqf?oGA{_)qwIhJo5SRak3yvP!dmi6*d(eGJzAXil6}J0%|#E%Y&39 z&Wje^fyQlmp_UZ{kTqTXq}a-OW^~r7TEZ7gr}=U(<{Q>k+JedCS2O6|!p+$dJRGf6bp`veIzdk1O{j@L_Z=wc2Lz?qqqQp)o{~Jx8-sYcw z{^{Q47sp0N{mLzL^GG1}^mE*P_N)PlsMc+-qZFfLR{6IoXBgAt^yv#gQ`bD^aXz8% zTBvR$gY9|u&N*VVul}?LXNQY~4_QQ;UH^Q2efa<}&MR!)hDi8q#3(D;yYkyd7Q z#q=s$;H7Wr-BuGr${jy4DOvCT?1=cpVjt_PxnLp}zYOrYvV9 zw|H`;U!x;s4fPs|>O`-0R^ILE-Ymb_P?>%_Kd!BA+%LU`4BK%zaS1u=mh5RLF4c*+ zSo&j3N_u<)ERy=QjM!K`DGyZ}8U}3Jw(S%Bww>)R96jofUL__sV17j)(j(2<#!SnY z=+$O47Ii5zDNQDxy>Ov&!bt@+WKTv6kg1O~x%8Db6zDU>yE0+yyP@zCoafDOO_TQz zicCon6r%ENI|deWD3XY`ok>j4{F}nV?OMKV_>a>&@%siUHq#HQsT%Wcy|5jyykxOhd|jr2E(3{evkDnvL2%NL8*}y&9Q*vZvIRJY}(WC(HUCR@UF6 z$6I$WT3NsS?<;YoZZDd-CN?V5OKz#xI<0K#Ll=+7$yLb47W zh-ZTb4s>R)``UTd6um1^@;jmT7@y7w_RBhBkC|Hgmlh*OjLcfh@w2C%cl7 z`3qNxP~pLY2LQFkM0XYkX8t&mAa&K(=u9YpL-y`1f~b=-Peq({_pY#h>Up&%C<~f;>6y+aR|4v}(?s9?2Bs)g{&I{=-T;X|u{}*3?YU zIiCABY}-dVWoqY94mKEv285Q+2Z0tK4#Xn_WFY>q=#!ayrh%|^Z0FL^W)%LgUf_cM z)M<1(ekLBgkWQ}mDs7`SF+^)zP}^SCuoWSkI_st7jmxXtx+^wXU94|Etz$Eb3cbRH z&5BUV&oz$Yqe?Q=nw1UixMGy)n~It;1+z10nzdu1!p!w*8!iy@LNe>Uetmgfd23@b zS`&n?b1w0riS6neH^RMl)#6jXMe9zU)Xq<@Dek?AdGE*PsWBr*RZ~XtH~O%rZeG2* zo*vOzvR~lCBKC1gYU*Qrf$}dbeMrNM;p4qyXT5{(6F)inY~+l_6do|(Gv1~3b4;HH zydd~Wrlt_vIP{a=pIt|o@{dW$$<*Zf;-v+3nOE&q+cELtzBe4-emisu>mU|``DcWa zx9JihH|bAny5L4&n}+>mt-`9u0l!V1oC+rNtKBfDi4lutd3)uX1(O!*|LvS=;n7*KqWUJdIHOh1>6w zCr{>ur#`!K#SdmJiPadZ)f$unTmbq^B5I*DY@~O#aX%&!ph)0qWa^$B!>jJ0v2|n3 zMNlOj#$7U>0hu^(^*0AT0?3Vcml@7$AZ}3XJe>979a48;V!pk+++7rDLzinotP9md zDiTx_+TuxWZcn`15X#$UI{DJpWEAom@L$&M^y!@f<=?%#hFyp2JWroC6wP!2PaHX- zIPzfe70XeJ+qP|6d|7Kd1~-=@9D_o493nAu7_T5X_#X{U&VT#)bFbDx_$6-Gwd;xZ zp&ljHoC4`TLgSw@JXZr^$mm5pIiHdA#`4mp3w41rA%>XS6RaTFEJ zE#%ki!pBUUz*!ohO#|GwewW^*OBV#=PH-5K@M!wTJPO8b0n5L9{W@&ZtFU-ldWyu>VdBh?Ap2W3h()KiZ7Cf zO`A3mWt6j2y}i9*dg^0(nO85hwAJ^^uSxs%Y{83lJXYz-o2rI9s8$A(<>Zm&$0rgj~_pZnHfIJC_XSt zyTTlQ2O5>bOmx?$r;mbhkfNHl%+HvJLI-#hUQQ>KUzE7r(|lo&83B)-=Ix219!gm0 z$jOtN>GeU_sqZ-utL@_(Ce?+iAJn+diabY;1AH{lAmeHn>GeSz#J2wpW zn#l^9E!!ZOP|SBnnun-Q4U-Z0B2U^fH8nN#iMEjR5R00ks~255JrqIl%(^ghptH>z znJxV*KsCm*QVVV7M1JU%X;CWMLBAt-V7mNQqR@RoGVZoGk=A# z5+sK9Ib2!bxDPABX169?AA``O4;dt5;?!un_*Yb(zj~4Eb{mXN23Hw8craS8_Be|Z zm3pS+R1#ZZ{+*ni{pn!=pBFF>1DKhhyp+<$c+8k%x7G#+2mgmy4L>+dTRk!{k)B>- z7E{s~lSjo%*Y!-)vnGz$=Xy4*L>IxQoFr3-0T^Aj;j6yrPFqs}pF|vQLDfyz@TcVE zZ`9o#)rrPgF9nW685P1Yai;DCk zfZZtS^eFZcFJwG_$m8?0C}Uf1y=fBuvRFjMvoEh z7z7)UOd7dLGf?xe3wn$k*@c3fSz3Lr{lJ`qh82rLhB*e>0j%Zi8w0F#PU_(I>C-~& zLH*3Hn^;GeGM?CB;5=oT8vLE7#D65KcR?IfD!1qt@WzzFRQ!-Gkq%W+7jz!JVhdG| zd04pRYnul?yZif%9%(!4L{KaHPl;1Wi#q3{q8g4{b%$bOduX0Z-vLKZyJX1<5>G&^ zCIE2(qb9V$S~I}|z$NagZ{1D7Y~WkJmW{+YhZgd{d{sJEq$ah%v7-3nmM8O1NWz8o zm!Ugacw=b?vhP^fz!`mdLUZxM$m@RCxB~7c*x3A<+O9w7Q*3A$SL4HBDG@mJXF?qc zu)#gK4LLRND=pEhB}Q2r$ZnfkNkcQVm6jU{aQEbPibiE$M#UBy8eJY{52nfAT~jwcf9lP;R2ciQ1TiI zHmypfck|}W*+$Kb*!HjoJq8c9(OnmN^5oy4PN&3MbRQaqvCj^%4-o>dWyC=d@0bxm zFH?!G{yip_1J+rK{U%YwEcDTDXnSV2_d8V$U;Zwj>|SzGk}x@A%Cc_C?Yd_SUv$UE zmrR-QeE@kCK2Cg=WON!-f@sD2ikK5kajI-8NS8{rftp~V|>Zj zwEp85+WLc_jGAvETw;^T+b|li=f-pv>E$ENcwbx`bn4Wpf{#V--ud&s#i%YIK`P~5M#BKFc`lR~Yx zbFYz7sj^%Dcdmk!p9?F&<1Xh1b$|N=c9rA^7toTJCWFy@e#ZgMO*j}QAs9s#Prwv{ z5N>>yTT?>SJ;GAc)!redH^>_@2SwV17Z#X6|0v+S%e;B;gH4z(Yumnk-orU%HO<<(kjMK1rv!zTos;vK zNpqniQJUfJc?K0Or;~ktlBpSbMUT*S$$US!&veR^Ti37u=k_mNSl+%O!ZJQqmkRzQ z>D;9vfZR8sxF-HZE~RP0ul*Yd0|1z$O@$s^P=V)97U!3l((z_yfy{BqnEtV&M@{h9 zK#SeBJRh|oa;OihkAB*z6_pO?&_XEM&+C%mlKfDrM?9&w1P3z@7YNhStX0>0{FaRk zarvjuoKb&Gs@uJ5*ENxZo<~W+KR3F(`-#6uH5FAKC`j5ZkOJioxw=C&WIc`U*L`%d-W8@txgV(y7Et(+PJDp z|8@;MYM&;IAlH;${;T@8#3*QwKS?M{*G^)i55voX#6%C}G0w=yX{x6bRV*z!?m6@I zxO>ZBqtThTuyxKYeKR{{K70px*n+-|#%#8XNMw*Unp%w|$MTjMQE0HQ>=@eSbcU%l z!vzXNIu7L-Zj9m{%{S_N+;!kU?`>{wZg)xfh?d)Fm@0tS8ZR5Zy}mpVb+l7m^pb-a z*W!})C9Y9jmkER)0Jou`?~n;UjfrIYm%abS(M4!sB%{{-z9 z=PO&crQJBZ4JmZ)9UQisATrIt;T~>N;`#iaK|iVb=`G)agQwITfEO^59Yo6o9Hx8w z4dwCz>4$Sjk?7*Zuodhg;GA}kc=<{Lg@OfWx4fd*S~}I8I~Erg!_N(5+`#_5W#qtb zE7&F1evu#+(R!y)>Iu1{HAtN2I*(iv+O&nnkz>cka2F53O6E?KKsi~~f-p=9C#WRdam z8JBF{^y}SwX353#X=$BF>nd|DLfeQw&(ZNsC)HePe$a_q%j={82M?yaGXV3Sayq?JtMJVS zk;-1wPJ3f{&)1JL#Js=s&MiK7LOG(T9G_EpVE_In+}1%Wj%J}0yu`uuRcj#>DV`ta zs3^?P^i*F^*FSlVp7>W4>>`&01JsO}k8N#4`IdUd#4mjg~~`&&2e?j0ueRY zn@!91KT42SuW;~yyKartLX`geaJOyMw0@B81q^)=JB$lrRbLR9BVm?|TxQ%Rhhfuy zl6Yovm}4&H5`kXcYu31bdemJ!D1ozrH^MS0D;fBO$`_Ta^W;mw)uIJmJ9ab!ped0W zdm?}2fU0y|Ai^!WIz}#91K^9V7PF6UQ+T9Mx3CrI1k8B1AGp}t^CDRLDO$nq4q^*` z%`3{Z`jN7V%2i}3r+@v6;TxemJ;_2f?BB0o8d}j~j$R(D^S$H`6UZ0Bnt8zWSC_rp zBTk?yS8my|ki9}myQouJO1IBqZr$G+TXo`dfldCuYw2VxLKWOHYCV-X0b}>R2I3Z1 zCPac$3}auxNu9=?4iurmI%1GTH8TA+q@5n~lpKB0Z$7I8k?<^eMx_!U6`G!NVOHTeS%OC&qm^mjET7e;UxsG=A^t^ICfm+9C6o` z2*5$n#PVyzFrkp32NEryi!HQF~ zW57-x)!fq)(9lAqv*Wnw(|6PKRe1rT9pO{kfioe^Lb~A1nl*zFuyKwsHZJVBYUBTD z0gS~l7VqEaO?xRLbKMdfyKc(lP2p#t_jnJc1{@}BjRZ78d=F*&7)A}odIp+mi(^;v z>;+4hD#BeX@WhFp7BSnNvi!KQ7Va}2z z!Iv)mp4p|L*f6-;=&q|*%VdM3Pl$}zIg>)P3j3AinkhwfS9H^*MTEqiEVyISCMi?= zk1%hx0el8yag7ED5^YJwbJ32Xdq3r|nAeW&i66I5mYtq7Ws1hG>m56EC@XtAhCbnX zb2lq0%a%jV6c2LCowTJPffK8QN~?R18Up>sXA99vBOlXFDT8$+dq}K+lp%u3FwZv3 zus5@eXl-u2dD9KeDy7iI_i^VktWA8tU(|u3BB$j@LBl*^N-`f$G|>@P3F&?``&)XbQ_z5mFuT8ygNIA^tI+LcwD- zMu}TktMW_y_P?14_Y>UEk<<*!cpc$|c7EJ0KN~Bn?3AgqGkm%-Bs2niz5y* z6~el)fepVEuy4)R?76Cm7tv@QVo8j#QEPH=8gaFYcPwK$GZD){zoJ1dAjtev?o zI>Q1qnqX39fu7k6*M z|CZ`gYd{cFJ*f8yR%q!(fseKg{^UqZOtro7EM`35+5&I%m%4oeW1)v&2LtB{>G|?q zeT&*dV}~|0J$UGl&Y9sEy%Ousk2+DTN%aTkV_|8j)#uN;y1I=Uorpj(e#V_1b8sRS z8wZFk5}NfGW#8!lo1xyn;>UX3gq`Vr_MEA<7Q^-cCy~ZRP9>BO=acO}5aU%^wxs!K zp;jE{*j!UPJ|L^~C;5}06Mt(c*iM+3YnQ(=ekT*Yu$4y=6CaXv15U4}UBdEd>n@^e z)R6t8=+h@t@;g94G8`&(3S_m14wtjmGs#FZ=UVA`_#IxYbjRh3TeV``$IM~{^LPg+ zHRa|KrlakcMk6iWx^hK<5Q#ayG3Mq$%-&B6Y;s3DB*OSt4@dLG~2XJ<`x^1l9spBan4!uDd+bI!t>ZYKAaS$7)lP#v|jYu zHiRKaL`Kb{Bd_eBhs-jn=QO4cv0M8CUaF$XINy8bP=*n-K&F5Uyzqy7!O~B$B zYpYqiG#6*Q*enmd2~CS;7fL(cnSdQ!Z%fP3-mRTGCjBz=2(dxWSh znKa8&y~iBWcuFBpJ9~Ro`&?)WvhZf)u{*#2#Py{B{_T`OE2AaP7g}3cQPoFR>?7aP z=>^*DUHI_9gIh0O9t2IvB?D|VitXcoro^11d-m>~c%#;K+RAT~*(4;*$PUv8_1#m} zeW|tU+Ps%3Ssgtn@Ly|rD;&xdB7?s*WFMdC1U8Yj`?c6(y&)}c_VW)-z zf{DN~ITe5El-%Z~scEEjt`}o@WB_rD!A6pM1}+8Uw9;#TiZR4vu*B!MypRo#oNnW; zS%A3tFb1e4z~p0%j1=51r54{n=n>;M_>sqaID0X!lLrQ;x-!cH$$+?@uK86zrN&f8 zupbk((%g_uNzDmKi%5>foLsXFz&*-9JB_cyYs&*qU#a-`qcIZBIvgR}f(n&YW-$A;nW|O@DUFRp8)Wf$!xFY{|C6FasD1y5 zKG>S5{r>#%W6v9JFqkVx<3yM2QEqO+biaF9S+R2_uXcB5C~*^nWp;iyB%x*t|Kct% zf#?et?%cW4h+g99snB@WTx}SS4*6`@yLXEaQ|$q>p~pDCe}kuB9%NNWaKHXSyW6p& zT~X1`0b16IT7$HjRG&$z3eFsPMcz9o9y#w^H@DtzAEYxo0X%QI;{f!mXsTMcBy}3{ zZy()1VmplRTy{uhD6L0P8gM!o?$m^j65=~KolL-J5u^HM%=;5qi3P_W+^ew&Z`+64 zLO@x95zn8;B#c(^Hr4|ekI}$@1rIt$c8);DXE6&bwVvvW0X1V7PBtF!#kgt&oYp69 z87Hwo-pJgCN z#K1!7^l=3dTNb5|?jVn_S9Dai`!4edBP^~rbn{-_wY^7u^JTS$uP(NTQq#JvwI{4c z>h=6??k-*2@{%s)esezMmb5F(BQI(DtUkHx7O2<_%T10yYm)G?i%Hb)gW+$w9eX@z zdXTH-;iC5gcGNsrn{l{wf!^mI^=n6!LbE}+FGK9gO7J#r(Ux~vcIYXsE!THf^a8?LPnt zk(Jf2)CKeAMeAH7hFLuK-n)PQ{*u|A%teJMrm)9o_2^9;9Az1ke{anyySrbo9Ufp{ zK%?{!lLjt#QocatgWjyXM&TmC@1z1E4|v5Hdp}5YdoXfK>F~g@CKM@F#SRPhp3UAv zPuyJX34d`(;No1(K|@eYc)d1=dqqtjot^B{1uh}krOwa&gyVE?QP-k~v*`J8x2bkE z=q|7B=K1sIz5eZ&Rb6q%4AKkA>Woj_n!?5F@Ikfu)pWt(s3A1=~7TPNJ``?fZ zDVvxrXBptNu4BjTo~Pp7+R3`I!|e<|x}e{SJbuFP}4 z@8gY&M_7Ov=TM9di9Wp=wp`-U=QAV1d&*!343_jg*=uL8kwc+i0^OaXUd@H|A(W+$ z@h4{1OFW$kbS?SY=z|bSv=OXxdCki8CF3{L=U}d*I4&1 z|DKGz@SWCo$9^Mx%d4D0 zYQvbvL(}i2?~8aS+`gkR<6vRxOYP`+4D%{KK2XVaihHUnhV!_MaAM; zc}Hvao$NF9sJ>%#8fQ_wtV_9cNv>o;rhpOZ#DteO+@z)G>&{9}rp2_;#T}y+p;lu4!7EEm_d!JfV5RRFP+oM|WTUF6 zEUAzS*BpYb0+K>KT`;N>wuBMENXR$J*@+z$o^1fb+q#X8pkl}T_V|Fv$H0bt{pa{+ z&0fy*u@oQt{1Ee~rmtIsk5tec*GiWvAeF^!tQ}a*I&>vX*rJ>5be&=Ps zemz^q(cfa3_zF;o=6@R>f_TE;zG+)ywYE?TVm9*(2a>D;N39U?X@Rls-K@c1Q`t+c zw?ftKLDW;1Q`-*iyhLr7ms_c?!jQ!^VzI}%k!({(mG5-KLhYWMO^CCI^v_bSp}>ee z*f^;0J4Ix3@&2IpeMIyFX)uN21gV*|CUdEYR)`SkqMhaHD>`bnUL*DOr-V<{A~y5z zacQGyjW^P1g3pN6^C`Q3)a_Y`ZtX3-ro>Y!hh9N4lZ1SVeqGrC;Q)tUXm_S<+p`CN z1`Alfo7o1&y4Ac0iWlT6rb}`&u!#T(n$B&+8Ej%4HbcoGQ?ikz<1a*@_FsZ6b^+M- ze(KxZZcv!Zy$8g&uRHo#eEI$`;%p?^MNDjTyNMqGP+WK@ukADdh>3bT;;)X@-P5p| zkbydV8O9_;hvyep#@+heUg%l5w3mw?EWGcdAbg$lxeAPn=3)Cw%l;LTP3H^?M&ib2IZE zP6eyOmV&ekf@^e@qwcc~|9P>1k^J}!BzXi-4FZ!|z*==BKa&$oaP(>4G^mMT>9r$M zb=N>P<*sU9u0y5!@QO8k10k03f8Yda5gtB-1o>wKI?&}PsGt(xqdl%Jo|TXXaH__=!!hHXTFJx9Iu#)KstZ z3&tW&hMgcXJY-TbYzJNQw&uIW(}%{%N(cw*`JwV;q>G&St}>TK1>Inyq+qhmGPMx` z<8930?SsM+F%N$1VH?&$N{YaNc}nF!{+LI^lWAEJ&$8m|UQ*!0(lRse1byVX#1WAd zxm~X5B4duGlnc`_Q=)Fdg<>f!rS7`ATj1aaxMYPo*lLmYm(kuLoh-z<0s*=c4QODZ z$i(?oCkG7sfQAC8rUB!#A9!XA`;utW79J6_1@HL*w7RKK3+m) z(PO0azYen|*GlqqjMmJwyD4*DG`(X#+#n5qpb8TkQ@moLbsnuFk%i+NjZeTM%hD#s zYOiN$H8*N4y#$&XmR(uc=@?A*{bl;-Jj$-sJr#fe zoL2pk2_>m#KxCY+=KLHYHH^y~FkVyF(E|rs>MWXrLxs7^$YQ3D>GS-lYcpAtw07kN zEHhhcx>o}FD`L$E&oWKN)XrEz%dSNUszCNH1vC(aZL6uRJ+^Q`G8@h++G0K2L~xrDTOQqN0@flbLO35K5U5QJ{xg*;5{hhV%esDeoMJ{kpab9|DEj{ z*iidpN4X)rVJJc`B-9+0rmnVXuU%Li`eW|EvgABCmrrjpMl;%$Yx0lPt*2-#G+rcMsUs^;k7yxw0ao%BN7G+7r8SkLVQvZvXXHUuEO7zt z+V?*+!prjOj%z^Rr=%?fGK>?0Q=UG4d=)1eY`MVAN;efa^X+C~{rCe;bBsk~BV44i zhZ-E*i(oJMo&!Tf=|*`Oz1^D`YOAZbryj(%h7g$Jvz@*U_$$-)1$`1%v-X&;ix&N4<&UUvf&oe>we7? zugc^Pet=Ww7U352IYH7j<_AU%exDc@C)ZMchHhH#+o}aQJ$9_(h%zAm2?dwjnP?Q! zp#+6ZR>y&ni)mV0nz@r2c7RniypK<@wcQKo(L1|+!Pkt^HyOSOd15*Sl^UD~lND=y zL($*RFbXQnytGV|slN#2G zMtAS7)TYhuwaFBbi=eRVxUWqnn5icprI<4~Y0|gaF?ZeTbNLuestS=rHj@iL*h0NG zSn(#%dM2%zq+1~f9s4;FsHUNz_1BfuZcI!3sBJI-A7qXWX?$c0_ZV2}n6Jae1v{45 zn_X4%-7$a+8|{ihHqK^Ef;J7r#H{bMSd+7NKM{CE$j=BmaS7BLu{LaWb6tN{q z0W<Kr<5@IGkY+bK51ogRURXKqEa=FN zIy?^9i)=zPHxeJXy%G29xq$oB^c`$Ju@Q67FGBF-z@-94I=$|O^}fyd2)!+}j@(Jk zburG=FPMkfh5Pjz!; zQ;TM`cnf*;2{R{w?Y;HoiOJ`cbQ}ocp|`2!q#CgQGVPljP0R70rQQUn<(EAAM}I-H z)u|3sXv07mT33gA=6x+ncQn$UV#Ff`IM>1!v-a6 zTkh`ujy{BKZdF(C6wq+mgQ|xp!{~}k&+u92nj0_jb%8vC^xF(3KHBvXYC>Ynt4l+U zL=Tps<>0`XCntrQAkh&t!08t)tRytb7?>$_SQTwu>@K~=S4ljz|zrPNg-J1NqI&A;`np<}b-q^sN&>Uh+)Uw)vQj&0% zkzel;`IBo529Pu?RBB`^bK({y*?MsUO-DAkO;=w$#jv9^**bE~kda>HO^_f4hkrV2 zt^z&r1irQJ&ndc}=}gK+vgk-YeGWXdWvoRw)oa;( zedNuqmk&@Y?sMxnJbco4jxT$q5G-)>rNP@-LI%+e?$fNnBxYx_%Y2MtaCx?WUyuQ@ zC*ov;&Oui*G?h(S-`)Rt?*~tAM%lS;oZq**n@2wC9Tx(Bjub1-`KzaoOIXm8J>&-` zYF3V1*h6|F+Zd;ses=!k5w4>OFk;aO`;O?vC_cjTW}QXPHx2sV`-E=NPLjBB;!pJS*xO9X<1cKI9lB zSm24cxS4trUH9}PAkkL=O3CENAe;JSD^|?I>p(v4kJ_fjx;Y5_-2YVy9y?&>;qdn% zA-8)Jr9SE0s^hTvzt4`$tkJbmw3YiOpffv!6^RL*c#u%hh7Z;GoX(_L@hzdsgVau61Xb1ySHP%i*^ z$9QGW=Hmc-n3NK;shaf?htZ_vX&7!hmwm~f;;|7Y-EvP769IELlc2ptsS9)*(Gab7 z?>Voj5_*(ie357F?b5c1@uNNDQvsRe_Tzh=^%GY-$Wy+mTi{sBdn5TPYDP^IK{-4v z%>ZXUP_JPaoF!Bf#B|1)U!J4|%oWrocAnUQ%?2p}iGX6;g8~lYJHrSlY+FJQ1o5~5 zmE~W-JKNbNx^G^vn9mXOf>@mQq0hLoE(U|d=;aI~$8C*wmwPd^@R3y4$&TDe^Kau?fl~KdI z`~123!GmQGPy@LjJZ#rSNUIZ^53L`o^u^eNR?eGG`K$`UOSxbAIc;3fZr=~Dp-(y=D&yWsP#P(24t>%6jlEUSZtOXCda`9c<*Kf)jZ_p^>e0Y#) z5nVPs__O}(TJ9GR$d~n=TA1-_<-Wh7KZwURm9BT(U~(!Ypj@{%0B6gbwQ zU{F-!7>AHsNROawCyYeoCIRQNe*C3tTiPk?vypkrtxzz5^w`B|7A!wKyoZr)^}YM| z7v;pZ;|(0A3X9U)ykV@?972HHX`f}@i7B2VAVay!+WyHxs)}e6}czR4iCT z*q$3mX(jwoih0alkv#Yhbj9ua8xX(=PlwYsJcy$*+>NesJsJ z0IcXpBB2k1p`M6lGPK$ESNw-6Mq0ptz0UoDb*7te6s}N9SyS0Rm%9Mmp>-MTjZSh6 zfv2MBCKJM#)h+z*lNrmCO;2Cz1*BcZwM46In<)8F?=1tWPWB{q$VvnLd&UJ5IgMQy2ZxDdGX>&+*d=e(V&u{ zTsI2!YiqtOzGDNCcVXwMzdCl5>oai0*+z#+L*A@rTFcf7>gZ&)j9s#8JHZ?Onz7K4 zd=+roiA(MZyJ{qY91JiO(t4N&YjzdBM5dR~ZrvPpR|5iC;uq);f#&_>^A~oGhU&?B z*v}#5Ncn!WrGz!{0ERela&@(T`KnD;3fK;l#GNIUzI1wdEmV%P!hau<&Aoq%!cSAV zT1Zh=iXlKXl$45Es_zxBMgn1YlYJ{sd!ljOOOJHnB!BC+R13n%^Z5UvC=LF_ED7MQ zQRM?-m03jT%f?vQKhkfpR1;7MA$taS6?o(}T?bRLBDc5P|HpCKSl#F3pj)KJ6l_;+ z9XUbw3v3~^Fc{!}8)}Zai=wG<<`CErpSlX$6)R@f6^qA_ppia(CT$(ryDO#sF{&B{ z2ilgbqmhF8z}jy8_u+H~*8;q%(1E~SW`vwlalzoB!$>hDdH&PJ2Oc6EiGj!XN75@R2lnJNz z93%TLc8^2u7NVs`!PNg$%Ns0MDrzu>&S@DIdi_f%2K?I0oSzVAr6&%Zj8e!@3YBz= zxVt9Z#rQ)sxP)Sn&AoWl+I&5tJefJ8B7(Z!l3#i*etiR^(x>d0Hef0H;uwynMcW%1 z3S%`@;PI&Iuz@nT4k{NndOzqZ$cTR!>&kX-)nY2@M*)+(ut%$Gxw8FlqKBxUXg2Vk zPOh55ppZDzA#qE5rN0ang-_Mn=1g(yPy9VI-|FO=>*t?YxfxYwtvr1`Zex;{*Uy&0 z1Ny6b=Q{pv*lYW?bK1M!MYQhXbKq0i%(1U8UAyk~x7l{zh@xcT|6BnPT#5~H5ID|nfQbB ztUENd?MhO(OiQtAtt0lDYLAOh^dG`@rj#&1)hbR*oTu_+2JxW2Zjz;T-kGO2)9}n) zZW-gA%{kaacG|tp#Wwlhi3eY_I$`s)RnnPL)1phG;s*>&x{`ULk%61HUe3bfYiH~4 zZCz2IccK2pgtE~Gw)~lK$n7tlVF-+$+!?{d*oC1N`-V2+D2PMn2;YRR3uS1WU{k&-)Pk_J|ix zxD8_3l9&Y~a12#eug|}efW(dFLNFi;d+?~WK4dzvgtT;zw=R3Y(t_=g_&1n zc=q&ZC-9Q}t3Q`<3mRUGWncH>p>ZjaOe*xMo{;Fjw9Y8lX09<4Az4& z=w@M-?Ma^Hpd2bG$k^o3e7t_D3GUQeuKKD>i*)a@#y2A{(qoF#%*&CtJpQY7`3K7m z-PaFP#`R=qj3-KeTzZ$!Bvp&6BUiC)%P+{F%OC}`RM>yivv;#}lNuSR&F*1f&<5Lu z!ldonAGlRc&X_13R5W0`prl{NLd$pg-~6H6G(}dmOxIx21CCx)g9Ny@m}IYuvu?ie zGhvNdwV<>#@z;KQ0QjXYz;;*fxgat+4dZAG315pkxe`%REndrdhEL=E4d&z>6uuO14D2B4*Y^Ul(+gKsg9FH`Ro)_Qx_nSPz zaxnjG-KEQ^U;7y?* z5Ne}Y7uZB16r_w2+6GOPGxe=7_FRt;eXxWZ0EyR1l2q~4!nRR{wNM#sAFK72ZOg3i zc2LjvjE1^?c_qv%2#O=CH}y&6Zq_T;uOGXTR|rM2i_{v(Uo7l2l&_KCBVJATh&UMJ zWt@^81w|J<>jxMyV49iZ8Npi6iM#Ujslgki)~OB;WGpk)<7BQ)qlI+irrO)@zt!=o zYs>upPWhv@P3m**k-^&~V>iE<|Nf_bnrDsC*JL7DK}pHhm_^@1T|(~`$_=+@I6it` zsYx(E9zj>>9l%FFdliBhQj|w%#u%X#Cmr3--4%2IxVZIkO5Oj4TDdsHCb~{4Rn>1$ zTMNjz&ktYxLt81v$o%{S_pUqQJuDqZJ@Nawc*i8o#yit%9e$O2bkuw(HNUb+S0D0O zqgM4w)QQqxse&WK=(9E1={oMi=r2*{G|}~+E)6nVLg9pHE|Tr#Rsv4`+me#I&|Y#W z22#;6J$Ew%bu_JO0lYRcVu(0p-T9}0!@tLuuB3J#qe8`&kI!@C4u{*c9As3BcF=Vu zHQE4ErgDK>bOtK}LJ_(JQfQMyoaCBA=c%i6D~`-~x5UZG z2zaibp*f$=TAE!%?NG+XDaVN|?Qw-y4CM|Jm?D9UcSu!7yh#4bez0}>_W2wfMBFp0 z57Kj5S)6^9Nk00AOqIaI-=th8RKqi%S?_@!h9v00^p14%P{pU${DLu|=COd_dGyr# zhhw06U;xu5;rvV7Bkic=uh`$L!SLXVr>mc=`uTIKPs2Hj75C!5b{JTq>-KkY&*8P_ zv)s5?xjoent@LQq-vwX4o?2eEbm2l%wq1->j5@%6K@+3Q z!`L5dN`Aut{HXdqw@{-Wya@;{=fPHHJ>Wh%?frcqJRG$}EAe0WRV~emRCRd+8}aG; ztJOOn?xskuuW@rZRS`dWS2r#lpp>wFaCvoUSDN3A#VbgL=(&~kjMtC(VvFdSmw=i+ z$SxfbQ*sH-)X=<{c6Lb&sDigEZ`IK#&2S%QJjY|%vMaZ5iyhmPgF~;forbbT5spP* zM$tzQ&Q(u!qZ22_vY_|0mF3sJ5bLW*0~8>ghb}uZwu#c2vxzyOJ5GLWx1quE+Kr=H z8`Azfy~^25-7(r`b=CLV-4?x08zwie?(*)&m;e%u=n)GrzofXRLR1&Dq=m_H-r8Kc zt|CCuNg0af5eIxokDR|Qtb>%Qum8O?tXBWXjH^EYdeCM&?-oi42_~AbByL=;djrWg z>|)|2DN(A%DvZoPQ#}69^v~e zc+Rk-ZYhJ3&c}^=WA@^C|KuJ6pU3sp$687J-^l#!YaU*l)bsl7+Y<^?2|n&bcKY%b z(Up3Lq5H_?^yQT{xvD)0>O9>rpW3Rwk`FM2&tuX)a#d2$i=-ts4jI9-iz|Dx4px_5 z9d`dJg#6JVI&9>?|Cg%p!#q)A;+@l9j$8H;pbycM>!W6*_4a*?cl3+2 zldFDrZyVm`#eDa*XKO5fN;wfRvPI=@AF5%OcaQss*5uWz%NC{6Eya72Bo;fOeTNSF z7TnzVQaVcX(~9h7ji0{k3Q9~0d{L1my>x{6=%Tqxp=zRX9zB9d$J!0fcj_-KWSj=V zVtnu4tK+O9A?AQj%aG3+ZA0L}-u{OQ@a6cL04A-cP z-`<(4e*HlE_eXW^)vO`P;XwV<6pzP;PtPo}ihw9Sft$z1P6})xEQUSMGqAN`J8W(> zs>+XOrg!)SimvsI6=Y_sMLmWLYu><$j3Ti+r^4D(c?O+$y+B-IiV@GQu2PYl|zcW-+>u(1;k>*82PUGJ7^ zTRIrko{;+Vq=%v!PfBdEtlRJ%?k8*#M^E!CdTz7&TV$NhOi7k}_n7OqE0$C?pA$M1!GF zQ3^$R%an+uL5bA=bJ^eDe;?cN?qk2?dG7nV&S9Nvt#8zg{FyEn{T1W2Axa{j#tdYr_7N4U$0JvWRCzhEwv$CtuO-R}DEVe9^L z89#OE?Mzqoh}C1`Z(iKE-{@s%+4WWXd$|w&D84GAs$UO_0N{lyfgG&$1F1czqOyAk z+)v)F^~Q*szv-&RjvrrOdo-Z};~ueGKKla*W!ff-E(WUN-Qbu`+Bh_Qg!e%oS-*^L zUcoPJ6g3`O<o~NV^6R0 zyV-r7l&u(k>-w(uR-;xubJJX-@yx9MQpF0-*zhH89wX?EqiaLVRm)LY{QEef9qQNb zjD1#mGoT7}l5k#!bp@SYJ#wH7pUQ3*ZN6P8C6Cw*7~ZED?o|4dA`6mdqtIm4Zifq# z{qey4H}IubAn!ytdF%0RiQm*NBTsDAXu3Az@OR0osVeR3+l_msyRoYG`Z(p-v+LyZ z{MMQM@>Cl&F}7t2ra-;il_c~Lu5>U-ip^gu(~5Kd4~#|_(TCZoPrj}wp$-#Mea5R% zicn@OahtyO+2B&IR!=cAV8!|Wt@h!*i#Ck>{c>xPfh==z<{5s64jD!yIh*85{jpkL z<7GRflgyr}f$|f6RlmNMxxeX7Zg!t=zxr2_wvtVZY#U3 z=5f6>$>f+?PBVbfTs=L#2#YpywIeWb@v}5xkr!kFGB*|$f*~Si$E^R{9~gM)+Yo^t z_vIXACqRga4!}a^(V$IQjYJI5yTQ#l4kEmA_3Al{k3>qRl2+SNUdx>M)O5G;5N4!S zfPRZ9iIAk`XpI^mHet-zv3*yzcljdOiUyz3HP-8A`UG(KB(kF_W=h^JYj>ltxNT5D z?2}1re8csB9eSS{7agTG$)fDTm-AnS>>qF$OCu##FD5VT^{QD0hk(`fnR zWk;AkP~akan@T^~&B^Jj?dMog1@r=UHeRE({fG9Fx`A&=%NN;^tC%O-wJVur0K6mw zQ#wc=ju}Lui9Q7sB6gWDD7CDtTqzW}{GFTd{DT}oUu#dIv)g$nk*yd;g^go}&*rPOJ>?A(3>% zDPGFkb~ChG4$t|T#BURtUw3E*V~c{InOR~cj?EQ0DM`eW+J*+pu4!;Iv(ZPL{hBQ1 zJ^*haS{{~F-QppC2?q=!%c;pO*2f!?ZvjG%L-=85nnAXC&r&-4&=X4Hw=F_KC_q+H zw(j^}9elSmd7XSaR#&1eJuzXwS%h1di@lV>Q~9tC<*OQOl%$+`s$A^W*HmBM=i`o@ zO`C`L&hgRv9UgQ3){HUjOefTOr3QBD^I7$(QQqFY6EiP&SkUFCb@_y6&plu6Gr1Yq z=&Bj1uyLd8ozn|mgi;(>=a-rrV@|vZJTZF}P>o$z3F83_RuB36_Y^M;N^)`K1@X2X zinpbF7MDWMhNW)PH+`C)9hjr#(?tE_P1zP z%F1p#eA+GGQh)y6Dhb_5zk>8PgI`+=bFL^i>5`#5s^RD4E6u+p+7E)Jt@)_EVc@(c zKeybA?KLqbbd^MQPMY_sq_^KEJT02Kc+Z)h=JA#Z{?F^?WN!7T>t=p4d(@JEJzcki zuOF^!w>!l4#M|suQ#_0`yzT`#%iHW{N7)L~phb`J=Uw}@eT>WPV*zo?=2j*1B6?LV zXcq-5u4lBlOnAtj;F<6|!A^yDE_QUn)<8gI%s>%;W(s~0So*V4 zk7hrNN~0%0AKR@mfpzc?$=l@8N=6kM|KPttb2>SC$+;)8gFlKn1VRIrFvjUO{I$QH z5WO#Sm&x(Ou%NeN*DhT;F5bndt4Yo2Jb!)ptQyJvRSIn!{3;?Y^)ODI{`jL@*tuV8 z9oxE3^~I)U*@{QQZ#B*NS-dYWV$p|16KYKRMy}SrU~Uq9SG$|)DV?I<#+f~~+L)x4 z7WC1(wfkVi`zcyIPZTH=o#~@md~MRMBU==9?Nh5L`)p_#sk*kK1PWdFuW6=w^g~@J z<3d70T>rCXXgs)M=7P48z2oiaj}gyGe1`{b~QgS8P)c4icY|5!Qdg%y$6IB{mF~VKOGAjIJi(IPjd}L=PmzB zYbx6rcnK$EzR%k23?6nzRiyk zY01kg_nv%ysgXSHnOR7`4Q<9~?MPg0Jy$x>IpR*d?cmbHG)Ku@<8HS#jJvd)fB){; zmQ0y;OKz&i23|iG=XY6qPqy#Q61U%#KW{Gd-PQ8E?W;juR;rsX>eQ!lmy=p%W!n+` zbdSBCmGC|>aD+{}fyGm18O}X$c#mv_^>UlN;|52$t||On*>~{M9f`%mX3Pk3@iqR; z39S9?PfgV};uIC8@dbj+jTQH#%gKgbA#pdnDENf^8DaZfRTbcZZ>&t9@(u zrQv_`=MG{Z-C8^;ou$@-#=?*mRgyhTGYwFS-|t0*05I1O-sreY2Gt_!T`tXeobasL z-)7uAxn7+uuE@Jdj+DNb{_Lq$i+bS5?AG$~i~+wUKf1hy()w+XBy^C<$;w4zEk=Lo zpu6F&zD<71$vU~XA*DUebn$AZqidFFAYGAtS;|{cJ!$ozJJFi6R$5(nuThch`{&K+ zbQ#I&vNvHPJzrKdf9kI?e_#0%{e=fC2aaI)c>6^3ElB)7NL=~x_C|qK#!E=fKA_lw zC8{In#cd-tGntB*-vo+)sf%Bwt@Oviyk!zI}f4m7l)~BQ)80)tX*i zrpeLF;#^Cy+~qB90?eOl{QitgIs0+-PxC)~g^3|ccIJz)Q#CJYu-d6H$w0YQMH_b7Ao(nYg zq|Wlq*qhg*Zidm)F0O4QR1i!ivL{qzeNAz0@x`tTToeIE;o{QuNN@319&01zjp4zM zyqT?HPgtr&*uRJLzfu6~{HC;GB6T-<*K)uE zNizaRtlb?#GJE=lUf6Z&YUtMV-bF*hb3A-^rERkNDe?Ay8nb%mEVt3E9WpC-{R$|t zG0HIy8G8JZa#N1u%s8j`)$KZt-qbwdu;H%S3(qp7j+E@s@DF?bx8ih|`pAjpd&Dx4 zUhXHn03%F2#;B>u60h*`un0}ZoJq`z`$$-4bno$Fm78Qdoy{d-LF<}?-8djry?IJ>iwWqTFGxcqLpM5uXA3Pgjrj@Cw^A0MP zW&7c&_@>dzLtkS%nn2fxk8Omrz1TV}_#4W~`xt-b{zPSX2ILuFGqJ=H!3?2h2%{MvxwsC(+sN^*up^z@-J-Zhbln zjQoc~sD!C}2=W^fhc?cb=};G>fpaHgRtvuqHRbpARq&w&nlOP(j!w zBT2VPH4BR>IslS3lzE|Zq^eW6BpXqGdqC8wcasYiJ^5vC_c_k~qDonZxZQ1a=cx}G z^8HF|oAJrN$G2{3l<(Gaw(hx^ormhKZ{OOt6bK^QOeEWh?v0JRp`!H(U+LaggGM4;eBm_VghE+XU!AqzZ7S zxD#RzH-@7-HgA@>`74USx)?5s^_fudR2vKW_30xBT*5>SXeXco?_`W`teA8eW%n~ICAWe5H;m|M*RTabZ8E-9dUM-OY<0fn*_W;S>KI71XhloprG1u;`GN%fkO6@Plj6Ml63q zB6MYkjn3qkV5 z9H`m3m;SJ4@yE{vtT?ZVyi;B{yu$u|#r8Z_p9u3)7;R&5gz~F+gda4-6993G(6}Y> z7i#Oib&_LhO-K(OJt#-_U#^fBZKJs%DuKeQ9X_)YGS({5{rpX^uDOI-??qc)*A?si zcx@k6!!IdcyNeetoX&|yaY=V1rEOyGiLcgXQul3Qd8)~L49(D3pPWiR^?ca;C%QuWN7zeL?&e##x zXTN=lUC|9l?DSm{;pxT*svOSId75~~iltUo1;l+U;R5rx;XV5FS-j2@&Mu?z`OQ&d z0vrkIgQqVWS3Gv?*k_B|S1-V0qPNO^?e%+FLu$=V8=5J9+l_3yWT|Y66x;~0Ml&!* zR(OJdbS+IB88Gmut^9<);isD7T;fiR+keicrFGcCn(H?LZJTylSEfCgC)c;JGP!>K zwejtpdXDv4AQw@R$iI3XZy{_617t*s>nQ9!-8PR7(e*6hiqx%q)*qxAGHm&yH4 z`f%>bfqafGg;6H)H?V>Zav#X2!n z9Gmj~m;241fAe}MyzHWVy+^ptn3_8Vy?p<+N>)}jX-MgBU$Wx-?!GTBFaFVJsyJ_0 z4_d%qZ})V&#EHumL;_IpQ5}AR1Fz1vy_S9eOkZF~#K z9%CpujF1QqAqey*KwWd*W~d^y`$2@CzwM{=l&qWz-yuylj_sR02h4EYr)v4buAhFE z@wX2_+4AuXpI-NRQ{ub3pON(dL%R+2%A2=YwpCACf3ai7jEgGLo%j7-;drT|lDBQ< z-I>YXTD|0A*BUMA&|YKF$GQ3jX2S-QG~48Nm~EiMbkWw<)kyj}_FzGB-cPwQp5FG30IgZz++l^1}WrpL^}+Zrf3NmR;@hZP5+y z%Y`deU6^t*Ye;?HD}Nea-rNIRu%f7Z(VHRlo8<%BTsdsxd{EBXNa^^;k6l2F7=_!GSX>0O55wSU)%s4u@BWVW zeeGi0CGz?Bx*3Dy?b=lQJ)7Q8G01Yq{Gw;yt5h-{knW}LeJu!Ad1XW46X(IuIE33;)QkbVx+KUwsUS3|p2ORkfLY#>>mh+O%!CXtZ$S46$t}p{5 zqZ5`cVGS~9=dU5k%Dz^@J!BPim{=eWOImPIDFx>;ychdJpcskcz*iTFDqJ&pUg`mH zMIv3pA%dtu+v_7{Bydi39F`KkgP1o9H9jRnb_I-4BSza|A1Nj~lDG6OQ2RMr@)RJu z;^X6MoB2p$obkLhep^|MhD~dmM>doHtm!sSUrDLs^^wJwW4D^jk$bT&reSox@tK>K zEUd~Dqb4?}2AX>K^oZ#(ZJ5%YZzX3wDmS*Y=+`wRr*@z9UU_5a(YXU_mQ>W`25!vz zvnlsa#zR&!&La}nEgLXcP0f$wQUDvD*3m>Y5I(h_i%`{xm=D+ns+5as2K$<+vzx!+`o}=3u`VhEb85RKb@0set-igsy;y{f%U@7 zoY9`J1VycqV5~Qv=5RbRg)a+QsCAk?`WxYW_0B0tt)osBn%!MG5zE`M(m}8ra)!i>2a_OL^VSQCyQD0JU;lap!tY07MxSRs0qO$6m-4A zeeThu36Q@umF)><7X2=U(2F|xZf@>(3!8!Bpl=^49(;|wOgoCXfSdhrLpXSFUPR(d zI5NV9pB__CL=wuLJ(I&N0n%9pWUS89-}5uXI_p&{ezXpsB8W9}2YE)mY}y}^{TnP= zOwu4(zf>M0e)=Jp2Z5~9C0b(l*ULofm%Z2uT9)1O4^xogvjr3;l z=HPdlP~;MksMfKy{7=__#9c2(biO${JbaMo=Ls>4icZp}LE;hn)J2HIp(7GkM5wC9 zqZ}&VzV)V3gRYM5s}44(Vmjio6UPwuR6htwn*#fn^xNSiK?GP>xn+IIwC)@BGMTUu%T3yRbDb*h*{t z3npvlDCb#At;<{#Whz>)PZ{abO)ceZ@z7iSBRop7yL@{xYjaYqvHr{=pLa;H%wsGU zjM$~=P%sR!d?rb~V|d-4e8x)v-T?-~2}M?qSgX-l_*ftFUjZnrb3R{x<{$tptRB`5 z_XW4ya-vh5;raYykch~#$f+J?Wp#q8cs6b>M@_DN-Y|0YN|>Bne__LI6}tx5LQGzL zYTGK08`quL8Qh`&vj_utmqyPwm&6i0$yt$XX&z_&H}HFexhkF%Z^@BUA66m?BjtzT4Z9G}O!Lha=kq~b7X**D zQ(1cRO73MPLDS(V?m(g|K^41uhUf2pEhy~PZgiPgG=SHxrj9At0=_$SUfz9!-HsC# zag5{foU~OpyKvZY+@gOer?*Hs?fzHs`H)>D_wL;j_En^lw5@MSOG{Z=wcM%Yb38d! zN_+nNC!;3#U4B1={o|JTa-ud3v?Y~C9yNUZ%NE5W!!Q` zNgazGJ!8O(S*_y(M*i+POZd?P7VR~Sj-=KBa^T%ORx;VhN#$DUSblIN*<=D13ncEY_1i`w-jRF?B}ojrYI^j$p-sx5KPo z4C$Dv2VaZI%`H6hC`{Kx*xf;8As@X*Fg~~T28^;T)OJ*TTxqm zbotP3mwviDeY(Hq+8@`JqM*cGjiYwo(OR6d=|V>p3pxKTK||j;t~Sw&^I~*p;eNVs z1}1`_6pdC@1E+1Bujtx39-{GHh-63{%E>)=_`btmhxilepu;$&jga3liJ22^{+^xV zD7%Q^Lhd2fnz8R_4`eb~IMuLE_Hj-OqD&2bodydU$h7D65BAJz%q zv>fshh(T=nWO}w8#z^Nx|Eu|HpRJw94DtsXCUEn>0%*(&D-BWM8yhQ04GvHheK}~{ zaK>AV98t_>@QH0=o^s0s&Qik^hx6Yp`mHs7d=QRSaxR2|v>-w9I5u0es9>lVdW`iZY8f-30CIm?)2CfyvX2V`ff zoyPw>w6!wZh^4Lc;O>VioR5WEdGp%naB|#!ecwU7`}KLzr;F@c6WiSVR&5H`Xm;A= zYv)?ozJGdDwf>=nrX{mqI93f??IWWgK9_aOe?+_Py?Qkm6z#0fpSy!!d0OjTT*9gy zhf!fgk>scTDR_Sv?E7Yz)Wk)yf)Gp)1aYz9A%Y zECo!o@?*SsHOH`h-wlj#IDrbC&fV1RjVD;v&>iV5y~P?+l#BZlv?zkdr6hLzkJ6uU z;*4#58vG9!m&8nVdtjoV-nG}U(?K$>F8_}UaP>`7hXY1?{I}gL?7#Ykt%XXuvDU#C z3nVEE$D6AxOFk(0W2_rGv~0|y*RM76qP6~Ao5dN$6Lq482IXKkbU7iFMu3*vT*Vps zGq)Vt9-C$5lI zS;Oag&Rv`^QBmVv(b2EpTwYu{KJZ+38H4}7A`p^HD3C8tZ~eysh%*%R08Q5t)0Zu@ zTB%##jheLxnMPrcWiw{Xz-(*L(e8oPxD9nf-pSjq@`*8=p0ZKK;zF&guI2Rqj`$2R zx_j`AoZ{IDN_X$|aJ)0Cv-;=8^$VBpDyXdaPfk9|C;{ToEn}nsTDrqhy7=ksF^GDP zxCJeA_ntk?-dflRlw`6S4E0)KYXbk$Lomt)2D-jYk(jsHP00Y zTub;q`{!YU~W%aPrWm3(@ptglDpUrOF-I$28i^l8l*D&L+5!SU)Lq(!z?X9R3#AliVJWPo5i z5EEE3pe*F+j}90dgv(C*QTbFDb)9$!@?mc(x zj*d3YFT`z}x!!&JxOdqYud18uIun+6_wTgPfBN@MpQzYP zL-ZOy4Oe~pc)?oBc9pGn&aF8)wY9DGGg)J&@bzwMO_%&RrPsz}-iEhUU;0UHXst9E zxG%Kub?Z7U`H1?*f3-qRoX~-PPDwAk(;S){H!Y>tMC(q?k+M~Ku%>2mM(;5bCrlU> z5a}y$P^BJ{`%5G6`xCiXIF)PX{`kodfrTG`O{;`bnL=+IQeGV?1#^o4j{xEe;0%_!>zJL4nhiOsj734yuG@FYSN(9WsIhgkbY-nd}zWnZ+V4$oU zs4n{6+~(5w!2bVDJexbzphc$72$u)R9-6cNs4dtuwK4go^^@Snu$KAu)`7Aeu0FWu z<$Aew=_&7BqwQP$UxZw2jq=kw|0zzkW$GX74t1GK)yp0Kap9w~G}Vn*%7j@AE1Cf1 ztS_H^^(thDSX4>^kpH#qj^6oqAcm`9^D&w_Op)c_yLg_xlhYxZSLVB7c~0}_PP>iY zA8hOWqYw+W_ClmXWXES(%*h$7SYP(zcQUKZ+s00|=;(&MtD!=OaWLQ@CfA1+N)KjC z48{qi>=4NoeWI8%6>JPN(8VtaonF5C^Q{0)xP3BqehA-B-DgqZIsstKvj7K^HP6hLslC+Ct)VDT# zTLM>$Ee!#s&(g0N&YEeK^iw-~kw?05@$(TDTNg^D-;%HTJF;p163f=5_3BsG&K}jP zrRBq1C71SJzd;D!98p@4ZWM&nCv?-AFKm2`O#FM&iovE?G zKNfnHwB~@{z>xGT*4yKF=i`w|nl7~&!F-(7Z4)qP8tfy1MNclnf{F|$ zBcy0B`wdK$S!{*mZ=vvAFD&QI=6c}|qesALVj`W;&`P5zD7p+)Xv`iE znZ#;!d=E`)Qed13kA#Nr{~7Z0cm|PPtu4^~263Z>a|9$zN*Up6DQu`<{n8wxGW}MZ z*cncQu%Kk$1$Y7cbx_L}_WPV!b z<`$b7z#g9k)2s8(ftmmDr4w#KW%(&TuZ4kv;7*by#jUotZ!Ed^JK1Z{;1N<-)Bm{N z_AVxT8BDZGPb+jHzLVPpGR@svFzha-N5?a6Eq@m)>}5c~x@oUjqYPl-9{m*wBC?C8 zjr~EZ;8iC~-3UG{4A2Br%dHj8^1yb%Gd!nm+~_v*46e^wbk(9s=Gt&{#inyg_HxR= zbtR|bpS%I*5h7U76)i>{0w?6vZ6JjRD0T$MQ7@6y#9nDXhX%!Ns~?j z*%-VD^K9q~p4INQ<>NB&Z{aqk8d#aQ|8K?c-=%h4V?C0qw?uq2wzt2&Dq>Lfi?*?U zDMr<`vZDtB$DU6dz})uIyqNc6@W^Ml=2%tN&`@YLQT;;xTJ}pSF}8pW0o`l!r%xy+ zFdDe>vlUv4fn{Ocq19O5@1nO#*Erj1&qA4Jj03LPq+hKzCRV1Vfe%lYg>6_V-08L~6 zigN3+#UU<;w2;+8)a)~T`?W&3yltg!`{^^;08%dP<=G@Sv=gT%%nu%aSW)A$ak1x{ z0m$8;X((iev^KY`UYhIo{LP^&p0m7;G*9*G&>HgM^-NxKtb?9Ud3w4(CY8wFoMisa z$b1RFzym#!pyrogurIJ(1Zs}#y3_jL+JEj%uA$BV5eFd*eE#Nw zrWLca!MMvXOfoq5>BMh}Iid6yi?R_MS=l(j0OKoJd3}WzWFS4Ro%Z&xqKXA0^nuAC zK_hR(bSEmgwh6y@k9VhYlF#0<-@oM3Pvw#a53u8G6T31f&)3f{lTC93v@iX0cw0k; zR5+9YY*B|j-L$g;l)Tn2F8Ozm8r+OKz0>fXs83c_Y?a(py->Yvoq)XtvYy;wo1&eM6w4~q2U7T(Xw zItY_VK1=J+A*lKjXyIZ#Ni7Azy-Y$J{$J&U$ZM6o{ahWL-MQ6+6Rn;SNUkR(6*;T| zTC?)%ykP$P#Vjz0Uh1qfCddrn8CJj(c4*)xaH6p6BerPqxP*}^t~^rVVObyPL*xsD ztKoOtWMRu!f(k>08`?!nmM-;&JW{PG<0B1T5_??QP3_|96)U{ql+~O6O$VVAojO{n z=S_%J122pR)=;=){QRqs?*+VK7-bdh;lHSlK08B}KJV??zBzcyjbR zVs>G1I{eZkSH-=9I}Q)}_tjHUQ@@}b4ajQ6Quhlq6C!_3<5b2f#Eg(?O(C-U@4w|= z4|1nca@~NJAl&f=g6yZEj7h=#5#9LcvOnw)16Vj&ah(FAjzJMQCfKE4lNj_|G-_?V z{T@%ZXYL==KeB4`Jh?z19^AGOWt+ND)dJj?uC16EG=6xf&4rs8)nEVKvUK>RSFI)= z>NH~Ks>a4PCNW!zme^cdanDd;vZsPT8DUikSfyYFr+_|1VE4ebQ>INzzgD|r|JyFKDOH1TLROjY=gPasPwW~F!7-OI{Ix8F5!im!n%vRqua}7BaZXJM1i<+;-n@H zC>4mu8Q~h_;}D25us^f@RfD7OY2 z3hNymx`xDtGWck44`UtLgUQW0pa1sLr;`<_WLx%2KCN5K?}2Z&@_&{-*HBr2KSR_1 zn!>uSufrgl1}~JlRFU=M$!g&Df~|~r4KtQ4@&q^JO?*K3PSJxG-}=xB{A_E0c`Bpo z!bYi$Ji?Q_U*t6{@N3d@!!Gw@rroLVXjwL)yPsatnhffygi1g8D8>guP?uD;GsY}k zC&HMO1b-*@*gpd*^4RqyQy36ksy6lwAWqGgVGWYH)Ju60X8eXb&Q;j)s0CS*)@^9j zG)zAT(YuXp4~(Ru&3X7x&#APOz9%tsbA=u5JC@ii9#0dTp-8}VtoBdwFCo0TVNBqh%zHn{TN}Js~ z2Zq^Kl;I9gk8JQk;cM{sSmQDfN-M7stcZ);l0ph`nK~@> zPqjfGb;Z8;d>Mxv=+1L{iat@ulql3FBxr(!?NpxHCre@)qV_zFWH5S{T>pAbd^{wU zvr#{1wESAdS9%0ZG0GFxj#wd65$*ZiKY-K7ofKoA;F(@&o0p9VngG4f;jtZ4K%vJ# zR9T?q%Rj2ngD{V*tUPW1^Al;4`GOuR5om$(&W;j7C^T@9r?|{@ zyBF0}HLU9}c-vHM`XS82x+S@ktpUb!uWrs+ePjCEfhFngdjlUh{g`!B-J#(5prNbG zwC0TXs2hCx?)9e=rnLU?ogVhPO_zbwPcgl4h@D=0A^6m(A6X;9#IJDEXfAK3-dQ%GYka{tw1X46@9^*1EL4> zs5rX~c72C8NflR)&*1ZmHO71P%uW+o(u~aA`zFAw(%(Dmxo``O2TWnhuRd);G)%L? zaf}1bc5ml4Zqg)3*b0jl74;5vTC+xvX>O=TGly0z$tVtGdD5ms3No54f7%+yTAnvn z5uiSev%8lLo)wRwa4*CHjo|lO^J=!a>$jxfWi3uxgX({sa39q5;p529mmha-G8;DY zT}kNhkh0b`UmOm)g|1q=_CR|2Od3J22l?gIb~}5gs)~;@=h6)HrgTZH$C(vvF37}R zI=MMisyIzl@i60N$ z7ytg^OHfFGO8{d1%5k#x077*lkX+PJU0qA<;F*fXjXx?jj&4nnaY|ozzs##yf6ec@Lz`|gBw&=SmE?UX z+y=~-48dAN)UTZ{T+lRgG;odD;ios7YL!^{yQ{7k$S<&!@gCg#mBrb^u}DV;d5kUe zTrpAJ=erbJ7kUN#{ljoq4AontRcHBr*kHp0P-dGwZO@h?ZXOtG@T%uFxK2jaET8qa2!I6)~2h0!(==K7N$Ka{z+A+?(HB|Lu5L zK;PW4b^N4B!oL^2d}nXkHU?5hCf~fUbt9j8<_1=F4XzkjxX8vcs^Wmbk@wdU%Hr8^ zDMq|BTdz0eu@(9~-=2DYjF`m==LB$`9dDkR+R6QSJN0_EtG%~AzP||{Pm$YenI3<= zqNo(mCHZ+9veSszfyeH+>d%X?jL}W>fM{x}Jzq+0uf1SOL8hAbhLs^!Uk3%Pf&L|Y zor;CwG>{U=>Ttu21`?6ynOg3c)|%&vfeX#Mu)ZUO*qSU`@Oa7A&6GGH?8D+q`R00! z{PC@x6%$20CTk7W(n@{R97>dsv-TtC-uHqUHQU`xxJ`n9T&y@ydYFJ__+Xmzx^>v= zgaD*2sn;r+x#)YrNw^(uU!36Ji{4h$0i0~KYl=gMjx+wY;0ERhWK$+!xRl+6RUi4Y z$fscFHg|8_321l-ySQ%pdMbra9J5KdpWf_V{jKf0nX2ZO?lRgJ3y!4l$7x5F^Z4Fl zXVg7vfLFIRo=;Fa`PaiObLEscnBlxA(W}J0JOUlz|7Kr!Mr;DK5gcAVy0BkV4ZM6z zsTa-}Vh0qkQ3M9)!ne~vTgIgWl4GbxG`6Y@&)ZB?TyXucp+It{0Br7^PQ&QS2wH4* zqv2;O!)ofh-(6!KGZfO#X%YNTy7jM`=T6KmGm{ARL(2AXObdOAuO=pHFje%w@Q_A| zKQHz#i1lo2#byEnz-Fu>@8e!wkdd7&1N6eIjPmgw`UPaHCWxXu_bbcyJ`{I(ci%P8g87(aP4g>@k8=)1s|DifyLrl;8DX!G<_aO(WYcQ}5JcE> zkHFEl*?RYnNmv>lv+Tyt`2bn4Ky`ppcfqbq86%!qh0q@eIx01fM2yU#X!fV&*P3g& z9U2Q~<#xh<*kxd96!qwUP$0rWJ41sj@F4oq+WXn{?O5+TpQq? zF?py;=|rjm0;(SG;ioIRV|*8`x8Ja z%vRvc9Of@yiob4u-bn&ag3Xn{wY|==TB{sByb2u@H(*plOovP6svs$|DYbkTY%~uv z$mHT##|UZ4M#_TwoiJgZb(G~z-_mvu{=DdWy@VznzMD#{+{zWkJ4$m0%-GQf;Kf`u zaN_QTWdKZH^3OkVN<4n@q_Rx7%x+^<+JoIcqyfOhW^u}obLOfd2#~K{Zd)AZoExHP zmDA!kXl9FF$)Z?GpJI^h|fhR^{BO%Q0?@Z}+U=(AXI&7I&hu4VAx?J3K zbsW7iMc2T3bqN}K>~%i+7;YIU?;E6;7JB^nF4O2IjsMnp6cp5Ih1v{n0No9^{JJo@|l=UPeSoVmBtz`i9qiX+v{x?&{ z;)tLF8VXJ<%;`yrIyPG2gR9VoxZ($h$-9WG5OCqXF8HnWozfgh`~#{2#4Cb8F6i9Y z?27|I%L%cV$HAz@MuGR?HT~+1_*6iu~o>3!FnFi)LkI>#9Y~K-R#jyiq;rM88*~D*zsmeWn1m_ z6<)O46b1?U)x)8}qWbaX_<`auI1tQ~!CzQ$8_`zvZVzWws0)5m5{(XLQ6N(7;e8vY=`L|Sb47SmGJFN>)S&$|MRkAJb5iae~u zo`VME(bgk~OfwIi&IIin)4oJ&Lu#P+I>RJwBScaaRxB{4MsIl_ zfn54kX=#HxX_UvpI*o_Zr#;5)cnscMV)&-6QId8Ik;{Zt54)h0SZHi42b3j1Agc-< zaV@ip=g`EZrKLlsnVwVWDM>!t${S47?>USbyer}2(#uLlZXbK~PGHSwZf;jY!yIXa z{>@cMWpI1jFb~yUc(ECz#lMGyK?V+F)?ZIE$C47l<~w)p6kZ3_lfqGVpFvc?lFEtG zrY%)`YRND^b`?kv%#lfXQ^K%1-@0`Y6+vM!b4`7&28 zts1sV3&&vrAh7x)iR)gUAeGd@itd$_YIBmC4v#mSLZ3x1yLlVk<>iMBC|Wy_h*e9Y zhD!Cs^bcdQGmhzrqRGdOysDzHf-3i0&3CJ#-|IiTeit8-@3J7(?yrQ zcziiKpSAY@ztz)J&j}J6-B|7b?F5!%qGPpdx zTgrcn;Q*3HEQ50)AN=BbM6ROn>B3GckOQGtiap*_cS&1gf(7OQkasg#>uJ2Yu{+{- zC=6=G`!$lDyR2Jx82o_t5BgwAffhA~FxH{{$}c7ec>r?+v-b(Q6GjmF?dDskDiH4N zNKV4tmosYkl}TjL3AC$F(gk^$Di5}<1i%9p`w-GvyTMbYEWW+)eEtTi401^OkHg$v zI%^a?vp2n`C8JN&t)-Z$)UHn#ClT3ngu;#=w29Z)&*Mk7B@wYn=(s9 z4Au_!8Mm9NXKmHw2@_WF)>y04R}^2mjjmkGTrqE;Lf!P~$#GwGD4oI_gkvcTe>ZI0 zDCN6V##`_F@lq8qlwc6J-mg>nxlNoO>%|FqOnnsJx2k4Zh6PSDa3rTreFU5=j0DBQ z5Ufd9vH}RCq!ydK;DeLl9^#Nj+7s)@$@TgM2JhLsDJF#Y;-RZ{fM8PT|ZEgXh;cknQ!BukerW$b1I7IeufQB@dG!tWH~AEp?q7#k6B2#NQQuk32m z0XH(I`wt!nqgTZ9;*b_P4FjE91`sm1qtAQv>HK~BnKs7$W%xLhHN94!qH)rP@loksJy6on0t|=XtvG@sx1P8c{!4X&-r`6o7p8Iblt+g4?!AC@>T3= zd!KnIYDf!%Ekf7~=7=49bY=nRBCiPD9ER&&!G#6=L_#FNu^Pu`qS``b|Bbk)vrc2= z%MpSnfpqE}@MUCF)H~S76rvKUEF~@?kM6{&Q;&HED6XGJ+X&JmidCLVToo`*{nw(S zq5`dAx7JK18LQF~I~zz-`-@E-xW^(jz4_ubzH|{_)y=gz>MpDM-nI9azU@!MJTKLVcMxrz zdOLR~v}+24?I2a+S8Yn+!-xBX)rpf0g>^JVdT2$^NV9#k#15Hid~n5oFEp;4@D6&m zSW&6l3Z5P*?DOmRivx#_5{xw(+C5?*NS}tbr|rilvQ-!>fUvp@>k5nkL`(@I2&xpM zDaZd%-8NGYvf4`eqx`&A_c;vgvO_`zXwBXj;h#2DGY48cON2S za8gIOVU9G@b65H&b!#2ogCzwiCzwehbBcS}v~A|m3&$u4 z(GYl2Tx0IEepe3(geMa7SSb0i7V3N7vryR;wzlY6KZ%BCZ%{9KX^`GXTZ3cq8Cd8& zDt%?V-7_b)vsmIrhtT!o^j!mhHwd;7R8sCoj2{P{J*%eG_bDs014bEtxKj#JAPk_RjR zMtu&6ai-BU;?Nn`o`NsQgV(Q@#Q4!^;}sQYYv0a<4u!5a(wUP2XA{=4RqH>M7Ck&J z6xx892-*sItb-@Y-92v^Lr)fP`SGYg11f&NQe_f5Edw>A@33U0fa&1PKr@^!9q9O% za5GIfk^PlV0QWoj#gXX%F)H&##ed&0D>kh^pSWriZ6$mGmjw*gXz^f1e%#Y-2JffR&hXf7vYG?(gH=+%-&b7`5oS>oB-m!WcHAx6KZzyUZ>`&rf?om&}SWU5w(A zncWE5HU$Y*O~dY;M@7D%J75<~6L!v#!4 zhEg%R&;=bB55SDYG-Aa9he~*wvH*}D?tkjk0jdq=AP~nycDlyOdxm)?(dO;O%yFYg z7E&DC&-Gcegoqg~fh~@V%yNW>HgTROCJ>#$_F7xP^2Lq;@`~`|glB&r2^bUWe6lhG zdn57yQ;^va#uWAocsr=G5BHmVRo^$S)9^=>KY|NExOq@oIxxyK3oVdX9}n+#d+bdH z#C^xF?ucYV-P4&PM3Q`m1-nOVA1*x=jac9kg`D0(v7xJ`LMZmNKMH5mY~8X&Y?lT2 zo@3xEwlC5XQUbcye2niyQxQR!UIqyOG)ig%R3!@UVP~H+DZyw+_Aa4(%8p-S|Lx;I z1w_Q4>uUcvx>4)|A%lqnMAL-(qd{vPG?#beWIX&%@kNC75tc|N?8{xf1%N^xH2fME zW3CFO>dlgXWB$gcH8&{}mY^$&2^l53(8h7CR;|+3mhBv9tp%DD* zV-pmGZ>TWeqem5+Z1!~uvQqToOdD1hVhbjc7W-vmt;R3m-2DO^6$UQEyZ9F@`q|3U_ z(O_SPsxw=3t`kvW6Hk@t@wOQRX<0pZD5lJW_xe78Kdw+T5q6|Mro2nvRvlW{SQUTP z3?&IOeW~rNrYkKiEr2I6LFo86N~qh#V3f5{Kw^eEI?_aab&W2tilJdJt0UV!%pr`wgW=N5oJ+iKq`eGE4#dPbg;qd^ z=|NBFbsIt^>LHi7}2+Atq2Jt`7_j7 zQH*df80qazdz6os6!Idas;LsYy&@*|94czXV47gruqI@y*dDa?K0{tDM_ZV#O~f2U-vtdZB&7oyMUdwV_hll1XK6Jh%= zSZXj`2^U=Hci`fIp-0jmbJ~UEiIJqB;ZY=hnK$j@l@BeW{q)*=+?>(6G$1b{BT~C@ zhb2>VlxQE&*f75ne=&$xpP4(S|C{gekQwsd+Fo<6u!UGNZ)0oY&mQMjwDlGpC=S(B ztCyGslHqUNxif*5bZ~_SIWr%~_U(rcdx%70)h(EdXt}|C1gnY@#%mn{fr=k;jY)HC zSQ0JKM*KatelIx~9X*n-Gy-)lRnJO0J6#5Wz?0`eoQ07K;6eyk!Uk3rj$5EBw>N1w z=)mqDI*NYnAxFphwt}|U^UB;0U;fn>ZXTo1HK;>~-wqTW#P7i0TW%ei#y|uWs5aC_ z2qW(~Uh2=b(2#OZ9I9{-$)p`Xmp1(636T!3e2TRsMtOqe`*uCjkVxJYdE7i6X&5;nhE z?!Wnf3O4To8155af`NGLFu!VyxK zqC4#Ea+l;Fto5lT0%XismAjkh$n$IWQGSCnwlGw^Y+7%R%x0*6R_*-lP&5Mc-VbmX zcfm5IldP%cq_KL|~PJ3`mYBq;j4l%`pG0rMe;5=YXgY5{*pRyGrqkN`-je9#~Y zu&ttB5GMyfk(Y9m0L?PKEJ`Pv-x^|fCXJjJHvNw_C?XaJuav9aU|P-%n$#nVJ;r>}v`Nu1lYUf^SA-~iBay=&vj=Wd@O@niT*?$cK zcZOaG#ozEHlyIta7?Z*vss+t(jQtMJB7;UCQLj)!HJPrGHlOO&)@Yc-Hv+&Ro(C${ z@e*X~2ORlvfw)Lh4d0|@lh&V+rIxOF%IjCJe(=K$bU*x~Zc|Sa z?BWLw?TOhH!ws>q-gIus-Mij^0c+19_lata;d5U{0>=6neO@u-cY(d4mth(&yc9uI z{Z;FkEeWBpq4O4&M}bCdB2o*BCNP4;?;0FI8Ug{ai_O3MC3s^U1OJSj;#xjt!YPj` z;0e5h+EJ*bw6^@o8?fGG<;o#{pI9wktX~DF8vxscf6M{3Ac66z_0J9k-46>J#Ee)8 zR+vz(vn523da!6dY8st^{tqC_mbr9PR8)fbimUcPo#accA>G*lbt1{1Uu=*1lC}$% zxVy#0R!#wZKOR0nOk+9MGAoAmcL1?BAL|G_+h|`+3SajDHvFx%fuhM4UCM6n)aA1 z6GTaJuUKQ|xnD{C1eN{-1_DS8Vyca;U(*)Dv`S6*kEgcCz2MhP7E4Y3rx)|wu>F8JtZ?RKkM|G4~Q&wQKHC3&`Owa3X($ns2@xI#AD zuL52@w(30;jy}h*VqiM9hLlQ?WY*D(uX#hnNx%2mx(q3`*fW)&7LNUkv)C5YRG|CQ7h z3}%K%$3Q~uNJM1io|Vq%B1#_tTZ6tu@Lt?~>&yQ#BDc~QAqr2Hbc^SJ=K2tf4Pia) znr0-bPb|{v`!C5C3)dJK5}E*hM|&a?r!T%_lb)u(TIT-Jhjd@6$1WSI!1tMIHk+$B zhen!th-lUPYK8F{5WV)od+10FqvfI)BvY*yBn!U~C^si>;uSM|xxJlTRGqaWS&n$k zV5)P?C_JcCLTNvb3V2-%@#FV7b5UE5rq*>m^uDs?m;JVtUsAWpbvM7}tyFmGm4>3m z!;JOwCuW|oebGnb^qd7RPGy`S5^n{b=d?Uv>4?#@b;14*UsUxUq0xQxaKL12hz zcd}r5&gnLl3nD;x#JRFozg9HYKQ}t}@))#%-n<_1fmh;7Ktr>4>%4iLL|ACA=DtI| zcW*Il6P6+zW*BY4UGgnaq%owq4W-WYHBS|J@flvNe{3Rdrc$W<`%i|yuB&9NH%4bn z7Iv6~G4gOp{n?9Tlz4fH;q>KP7#fkM%u!=c{%NH(l!-VjdmO0XxHp?Suj>EMe}50Q z#_6>$zd+F4e)++Ce}DhJl$7w~1^@J1$(!47sB(oD22G#g#*HoRd1)2p zYF2LU)#u}c3op~DZd=kWGv()Kt2h`Np%l|f4Re-+NqkQzFVPe=wSo0C0xob&DaU08;n|CA@ zEC_@@a7cM8&l*@FvD1d1e{1XN7)dHa-LUKjb%6ifYfgis674;FRaaM6$Nw%yM((9* zCUZN+riMbzM|eMbK?!_3!Qpt8o0TQNpe+M04iQVjA%dxPJjs5evy3RO@%&rr!dide z`8R zDTy0Hl`j0$UAXYbG3BAuIsB()_3??4%Hy@Qu6V+$xx2IU`t7OIT5EJZ?!JlqkGQp&Gh> zUk5+*CLDH7P1`occ-+cCq$f`21L{m(LUwjGq_KfQclYfK2e!l*) zn)Y^ijM*jew+Y?~Uql$pRcmhKz>lVTtzdoX_L2*ofmnq3J)cPI9zkUFSOfL)CxBb7 zP6V4$5CgqUFpD-Pt1^Aio;6E~0yP07@8R@v@OxihUv|I_;4sk;5ZC{wasN47Kq4%1Tw&9+oFgo_t8hM$39HH+Nxzt&Kww-3-tTR3`Ryjfy--IT?K}#MC+Pd&O`@OmOIoShkt@?mT-B`Fpv!^G;o$ z#hnbfo`VasLv~03-goQOOF{+J8SK_|SZN$N5={~7E6OYet-UyhwD<5#w*!+@5E0Ts z^E?5)f%o`I#%*M)9`!4ULMHXl`4#=!n~RHQjvO`W+Kn4&zB;?NZOf&$;pydq({bK) z7&0P#3c%9#jm@Z0T4=MtxNjo8s(*oVC3QL_H7!syLkhr4kWUpl4cmgTHa4rZAALj} zD(QnJ@Xr1FooUjTULo;V$KHv5xpC`3X1N}A{&}B1eR>4NgK?->$;!VM8_VEAgG%95 zM6Yx02MpLoG!j-PMH$Xa7>(D)Pv{CWS^g>?d&%v$RqML-?D>j|tY3-5K%EA?@sy77 z8t8pd8ug~e)cz*6r4 zckeOoHKYCmlRQwo*niGEN@sk^ij=ln(}mGhvofne%pnl6~=n290b&I8LN` z%{*{kd|_#hAgEM!{Uwc0@Y5rYI=a_qTzxzVyRvZ(CJtXo?@tOHPPK+4cz(>XlE?vz zmM&F`Bl5`b9_F4_O&F*Q9if;?UHroD5ekNlMFv@TbgbnbW+Jlbmq2mS@1-UmHa-6p zXEPtnEWdPr-yR1J9^6QvX6L#mZUI1r5VZSs?cTkkiAgxn&Iiz5&0IJ1$WBgzk_ztx zF55Pb6(e4R7!vgvJJy>H=~)KG(6uxkllSTD6Nwkdl%cb<1V&NU(71@=inxSJ#Klp) z&R$-eH?&I|^t&eP;-L$*@3}4FP^L@Zn18E*+UPb)G!_a9WN8|&1!tQrNjyr%2Ipi`Qm#z{OisQ6roCLYR$jKmZ z0eh*KBrGz4pEDaw%)9@jF+pCB|LkG)`q89{`m3Z zz`*Y(z1(r+nmF;kYK+y*t5>xxPsg}8c)WP^N^{fxa@-%Vs<@5U59CgkVHf}gyZt$T zLsnMx(7Y*?t6(p$=@(c2h2KRCgCq%X-4D`2vo>u;TU#qmzT-@L^=dJ%1I-5wq0RE; zS!HhZAfxdvZq;}+rEur34a0|zR7viVsx@@ze8MD1E^%(CBr`m=A{8sim)VMeP~ zDK-%%Fl=5h4Y#eKMh`0cP&ZNn0|ytK3S<4&B%zBc(G)twxPLIhKT=1_G-&z9j`UT0 zbw5lv8HLrau!OQ81|)E%B>i{k5(b5b%$Y;ouv#!UCbq$~qVvzFIJgO@FxMB{zm-v{&7?^!5}h}o+6TMM&g0YD#hzX{=Gd*9Hw%s%gCwX> z%I+tqf^VzOs`>WKj|obg?UP=lUY_WuY^`3sneQ;X*!N0FPXE}zsl*>iqY*!Db`y)1x&Lq2v^7T3u(baMQ^{hi$p>6liRn+6mPGwEc|1xZ?3+* z#*81dJb8b4Nac(ay?PcazZ}#yegeiRqfNd8e&D(V1z7HM)O`8i{`~_06LMYPIMkD} zOOVnx`&>+LJHU)Ab&Sk*IEPPX`(s7QGRj9Q!&+52i%|w7meN{i#g>SO~dJGpwa`glz0eb~T^ zveo#iP0ydrpmc+z#0zMt?cS!Ep4W-oHqz$k$kd>*X0%cv$$yjIhZ|;)-o*tGR<`Dr z`lJZNmXxq(wQHN|ryZdBa!OMRg7tzLYPDw41t77mCMG(6G6SWD>hy+@g6IVtr?8A* zH$9YA4MU){Y>_%oMAxX{@d*KSM)4#Um&<_j_D#-^S7f95mMs(Z9Ja4~{V2MFLQ&RE zVF23mGi15-Kxq|NVQ% z3N2K&&yLX(eK!5(&rMEferzb}JTbkd2o(qt;7B|Dom&0+M{s!sr0Nm>o)sc8Ey3VH z2G`W-;#tfdS>c-nbD5$z$t95MXh?~IG;cr;p&R~@ppLv83Y=_Z^qMzM>R6^>q26tn z{`BX{2^}->(`WblFFw}(runhDGdcB%>eYqX_{zLk6{#ZhRu64(q-%di? zVuf{D&H~04cqyLEk(!7XP}uUUtLp<5lZlm7#yyU6Eql22IV`2dyOaz@Y>CYWId8z3 z>%oH-o}SMzQOnBu`(DxfS+g$jMMHiY^ZqW@6uyo zXQLTRR|YDnR!&}PQg54d>5`;oGDh6!`_dI<)~2SGL#6|~n)W%m4llkwFomefx_zd$ zUi7`nS4PaB1l85m@b;)QI=l#f{P3a7=IN1W`6)TI0eJEUGT&Wu$QFwt+QWfEhD5Y6 zpyib=2*es}_0HY95GaQ2&ugZwEuAIqoA~y$!k7WH;I+k+6g%n@R?F|#H=C_yy=2Mp z=r!X7)?|T?EES{`$zTjDr;2Wpf_TB6E_E^FjO0OzK}l-yJzjMK+!$7tozJ>_Zxlb1 zVzAj?;^hia+~9a}AP|Xn;egbqUBE{=8Vt^(S~fbU<1+R`aKj0#N1OS?ggpMvQWq2wi8O#E*GsqYQ;ST`Lx#`GrjL(`#q?S8~vyB0L8>eqz_ zg&atv*L*9ScVc`yUPNOz*C2sD3DjB(c)FxlbFa!*frY&jGyTeTY6+4Qvo>%F`RUET6eS^@sg*b`Op;e)mZksqr;^T62DvCEeaLiOd4 zdmFi=d_&S_Hntc5Vfpm`2D!i!B}DSX{rl~bi=A}Mf5cjD%vobsVgt&&3ETm54qY3o zPF7a2q%Kn1-iD<&S3Qwzgf1=O+uoJ$vK&gj3u?|xuC1~&&~e#a|8p?M_CD-*;#@wr zZo{adnv~8w+O{A;L;t8qO-N54L!NDL^b{i-@Dt~K3EzJt*H#zIo>rB*+2q2knyHTK zQv#=@d464IR~hyfjftd=c-%kB-N1N?g7@^DqY0Mzb%{b*np!z8)omm&8Ssli-Mi?M z0~+6&cYiywu#$aImI6%LK7;flu?56(PqOjl4BIJFT5=+d-XpH4xVZV*kq>W6wkhI(TX%QUhDB)kqDRnwnS~PDpD!tu1{R zeGx*FB(g1>81w@s1KTk(W`ISx5k=$9tz?>azI40vAzu0QsCB7<3$jQ2{rBIrcQ#X} z?&2#W0kZ}4Q3U+sUt<2@w|H?DCVZ&5FTw|vNO9?l0U2tV&N`JTW7$8(kb#+AqnMGQ)aQ&rs2Nn5ybHY! zY=+k4B1^o{BORkmbel9_PTy7x!UuCwD8O5DJ)qn58fXl&3mVdM7|YUczj?EfxgR)R z4r6|*9igU>GwC5_1HvIljh|Qp8Cn)A;e^9blO(&Gs3j)+j1xFx;=M_tg}B?0nQKP| z;EvDa@uPZDOkB=lg5F_c+ji{)$m4{3^}&)R|XQA(tRo^TjGoCA_g@!qb=I4 z7ABXKm3^SCxCgkK>30C6r-V;naO_~MKn5}{K5&a56rJ2JGFzqnmTP7PZqwR<7r_TZ z+ph}aBbx~@`9OVndC#6bp>eWzEdmM@7CJ39;fJl$`IpQhH0per(CBY$7KmRG!)%SE zLeCl0X4hf}^YviFYf7e(i8>=s+gwq#e`%MEzXdRbhUr>7YUa}WaWOdFqe#X?JKas` z8{13A&GBXT7A{P4#%o^SAcYi$^S5;Amzj}=zNH%!e_)2lERYs|G4%L3Fe{E7>pOFn zsJ{RcH2gD7X%d%(8~Lgo4A zk+VRuO!Ag2St7m7w{}UY?fDVtVPyvuDs}`B#iY11U;gru=mdtrBbMC*iu@Di!6XV| zQ8t%@u)UAaavriM!yixt=&40nrF-{*C(#gmAfbyV6AW4^S*F%~yzayqT=@v{QAHn# z2Zeo#%gniRbHUEL4m^o3PByvVT3%l6g$oKaH>QXqfBm&5aXFhUebD7fN=k$?O-wxW zVbFOlIH2E|&v!@hp4bfK=;mfX2~ISZu*CNhIVNmXa32j?Q`iqi$Ht?@pQI!MgS z^y!is%U;7s#KZh69KPOuFC2wvjaS!CJLbzP&#|PXQBfv3UD_`1$EH5j9?V=oueCuY zxhEkz%OF-mTS^Yt%eZ%MmS)qaVzXV;24KU@D$oA-^7!W7p;OoI=LOH8ay2(>r=w#_ z){+d$5U?x=aRq}TeeOU;*OxQVI})dcb-e8|Wuh-6zXXlRa1cq42i-EmckgZ^W<3-V z_L&cH7Duo83Vo!Mf?~(Q;QrHJK8H1m_R8u9IxX?ZZn|=Zfd%!c=yQ;`+(D5pmP<2= z&1YoSm-7zk&V8TibNVE?&Lk*R{pFXyD4f&k0x=F^d?XcA8;IuaE}JUGr<_?xF^Dgw za3hy5N2_2ros$ZVN?np&%X5DT*qun>K~xetndnoCE`??N_SS$Qpp2f-oKf1gu>A3P z0w@3HZT$9GR>u)6KQQ2-X|W+%79fF~r%P)A{;woEc9Q>(+P(usM4&u*RfHD7_dp*m zt2}uor^HaJ+2sCWE3_@^8RG$lb2r*vKj%kbdSaLChRRX@@^H&?G^1=>`AE+2agna?M ztE#Et4vl0NIek3gV}`ePxO>koY_tp}wX~wThYZO?J|2RZSW$>zaqt%iK=NS8zH6RZ z(`-)xmO|=;QdKkqMtZf3^=Co%MQ{W0x&E>1F?clP`vd47gbf8bOKyu7J?^ z>F%grB0L<}$?(-GSDLgq!shm!JHgf#i|Lxe+q#pVZxipd{&EZdB}?iDtVxO~FM1m_ zb@#8?AsPg@($$7dK7IViJlrW`9GQ7jp02**aXUgZ@LjI?hmzBSA zG)XLd;jM`#m~xOL`GRk4Gkkc`*wTep6M_mwUeD+g=qSxz0|#|gDlC)=Hjsar;wVgU zGZ3|lrE7RZ1eGuToXudqWL~rS9#nPykNb5&ZJ|Uy>9?kA21PKXj1Er}KwE|*aJlK` z_u$ZQF))}puBK@PD6aOqNXkq(dsHiN#TiRbJs?Y8jqU?9FkwkF?Gwm}_wg=-Bbq)< zH+2M&EsXyVk3y|pXWBmm+6tut0|R8RhyRZ3gYKm(CK}$YF5+{w*D=j>%_rl$8zS4F^0o~PZc=(FGfhpN%r`+p5{dy!fgIbJp zt{S|_9sz!ZYg8E@vUd%{!(#w$$Y~_`fP^v~o zMkasu0Iq;{YOHqQtfBT|Kfi+VpILkUe9)fxDt4N8 z8@CFzHFDpz(>a8)MzqfauY|&fRQ*Q*!a&eOFD>IFPAMYMEwo-no#F)TQZ{EC?i=vJ zS2i>dQH0LRx0IQXW9TVbEIEQ-(#w}Qchy^S&x8Rvgu(FZS+8EaP}lXRZqE-G-gDan zx5Pwh=7ZBtH)nDHSPTR$+RcG^oFltV8_qbV=uKNpSs)5iijOR`oZuF^^_>Bh zb_`j1=*YqmBQ{*EU6~kE{p}kqh8s+&O<*eMh}P`ghzuG;i!3IXAd)~vnu&z@%uQcU zdUb#H&$te}G4GU)O>Lc>@9HjA1X>5e8oK$YfGv9+3_?}oSmKj0di?liv=#CN)uT2= zMG2EMdo8D;^S?~v5c({NsHab#eoe0zy=BWK=uOx8&Ru)<6xr&*gWZ`kO1SUfu<-(+ zfG5c$hlQpw+U3)9W155uJj(~2ffE+pZ>aMMZds#tmb)HNzs*2&@2CNU_bOqK0snV*<`f5g7f*~4Qjju)hPDrim9A2I#e!#$?Qi9YB` zh~rg~6&kpNDr+-YLtTm=?yAOj_sGLSMhIOp#@yoGT$_FezHpi4x&| zTmbA8sE}ki0lT~@;`%NB_(IL{J!!DV=Y zLp%KP?#ewK74q-WXT4uj^QKk?kn(|!B)48nc|d(e`JM$p-uqhm{*O;5n6EkDUAa2f zo)S#BSY#z&$NKd3oL(~0i_%gnr?v~3!O^VtN_BE_cjxt|jW_!40aLPsDK%&S`9)4L z43iH)ym2lj%Rx;W7>!J>IuFjqk4TGrNsq$Rk|b`7vf6P1+tV;3+9{BG%^%ygMeOeJ z)fOCrPYjI4U6mmY4`%wjd58y_axjFfMGuQ%rx&x|5O}$2(R+0_SAvXaDHsd2aNtzaEM%@pN;$PH8%hGL7m>#l&yi`y`bk2$_Tf zfBg7mN)b2&m;gp0GeX)Wc^1(UMkbQiu@yM|KBQ`!XW+$q_jI9>$?j$fa^9nY_;wu) zGj#qt4<3jWGzmWpfM4o!AO-;jr7Ha6k7JN>#(Py^&bJzN0cn;YAVrFOz81|KeMg;e z7of5rP@Hn&*FBC;#(^L*`VhqCSPdg(1aq697dSCwDJzY8OhHn{gTK zNOD!JpN&$DJ9)AtD!Qo)&vq)e0wt2QJGA-UU+(9~Wan$J_~{IIx@;{)Ct<1Ja#K?Z z`AHEv*y$V~0f2kd#E0Ha^&W3F+pxddGpu8I!|T6MbzPFV8S=KBs&RcA#GN_gUba$4 zU%@3wTtTdYJk*O8g8slV144YW+V(nmg1PCst13sJjU#?c`7$M|9Xq=;C|%eLESVRm z;Sn4x+D=lVuAyO1KZR;fRz1P2b}Cs$8Cps`AuHfs?OIq*fAa`wlAX6HHi|F)Szj|N zC|m73J!6^2K&@R(u!5ZgjwW0#-rNl^5Y%2ewcB74|$ThB_`$yWw}pgQe2$%@uASO7sT>*+;X?$#Pio*f63s`JL?D6SYiOP z>AeWvIcNU-E`spz_!VJ{TEa|ity0n$S~;;bvs+p zfD@xg%?EyqJxMRezv?=~Bi_lvS=}#SbhM$G>jXaxKntsOz8hj5qa5sRRdo`E>kDDj zojkv5S8JIYQX?;qE8(f;QI!n}s74KKdxi! z1TVH!=#&@NG=MfjpdRMy+lPMKFTGm>G5#O`Nu1mgK-t8kZ3k>kTFI^3wjn*e3aO^T zx<5Ygp+GD+X^L+XJfs&dU&3{8qzJ%*pqm^OIu?*>UeXoZR?2yS4ZGE|{`cM&&C`39 z(04~8j#;Ejy=0GdM~u=+o+4R2w^{LLpi_2q(H=gkGK zUG*5JpwU)o|2?oJNLa{*X}|--K>5t95O;f+gvKD}S}ZfTe*sC6q=7*oIm&9^e@eHJ zUyhV9ADgGn{87jQ1eaJQ-%u;WLPX}Yl+^%hMe%tPT1WX!d%dMgk&=9EeDk(#(|-#J z)G<&Lv0>r1tywFCeMkc9^*#V-_t0t20B;U+acld)Pn=!G_C5KfAnY20HQ;i{7MFxi z{$+P;T&BgDh)WiCiK(fxi%SR{?DOvCw3k@TQMp9N#DtzZXUQ`s)`0JOyPrLA?AT1? zSjLeJc8t!UhnD`9c_P9ZN}%WMh5E&)<#6Q+>|Bp5DzX(-CSM5Lk48k}YYKP~lL{M> zAQcLOj;AN~zbUc4s|eZ!>b{H=uiQyiwZ=7Nvi+gAGn^89oy}WJ>bzy%nXPg7u=KWx zjEd?qV8Dsnrf>P7tT~Pb>aM51{GMnONzvmhtLrCM1$8$y)eRjuN#wL(5jmn2!c)~V zpi-Y2M?+7^8MNGz}}#f02MZ?WL|?pjEZVUSM%Z# zULX{gPkGzHO5eLPBYwqHzG+82)aoIA@viyMVHS^eZDDb6Q+)i4^g2(@CcS9p`L(w3 z$(7#(?979vVCGkUZEQLP+6INuO*|cGw&_wWltZ@v1USsV(6>tp2f_-yaTv7 z=6gjgRPg@QtBGmNZN^})RJr)fwY^(5bgulnR*No9KN$Vyu6AZHP@gU*v=eN_$ zem+;4yhL${+~~Jx(Xs>nQ#%?q?pEjd?`>zhmG2U;hgoT9uA!CGZuZ`vp(vm!8(-gg zOudbjV`ww%-+~BuUHyIT7GS1H_c~kjE;Lv06~d9a7sw8N+Kq6joiUY>3q9Scx*uO5 za5l$DgPDl1M-k8%b?xdnX0&eYGZpDDJ`YX#5VT>g>i-2DK1LJe&XcvnDvynEb^X@K zpjV;m7uH0X&AwL0JL|C3ajmAB^@7wA9skmKe#tITO0r0Wq;(+Sit8eC{Ls6bT;*od zD!oFSC&XviwI9HpBfg}V=uNq{rK^hiBA7+F6Vp5N?D=lT=_q#4r^Z+;@L~==&teRK z8GjYeOBx@rWui&D2Ls6R%|ee`YIQ2RY?G=n;(qy3Yy?4gEW#(Y$Gs zGkzJf_RhL2Hi)fV>NFy)?%$&j_4Baukve{TO82Gbwg>Ad5c~4Kn`~Hz?4lkI-S#v9 zP~*;@vsM^f08=%aJ)!|6h~-a)H8voa79?+|nTA4!2&(lKZc1QPk($Tym-ABPU@G2Zfb)&Ejb{yZ1&!CZUh#F=Ub zzRB8Y^t$d|GMZrJ(5RWgky`=3BL3o-!ni26K%mPILqm6+n3K{i%^SV_tsr?~cuG3= zMcGPgk;_CYB!Em+-)69Q82||O5YjN3Fc1K7cLnkjSs{7$b*2UTBSRMg<^a! z6kQnn_m{l^8CnzjC3 zUmw?Mpv>6UObw$_RZ(CcDR$ivMTzx##R+@c42T39K8Df$V7`&u5c67;^!TGxQN67W z_Xgi0k7(NGfP@#$f5+HR=b9XEE55mrL<|Kk1qn#(enj zVa3qWeNIzrgBC0)FWA5+K}cWp1{XOaOax{Dio-!anlp>0jTdZBmMN&)Z>*$>KMcHs z_|1c$qR6^%Pwv9!YDjNXcPYO7!qBJps7J%ysK(|k6Kh~ZmvGYjskZ1@Gf5cG{G zqEWLgCgv#oPJni4OBra3-NAqBIn`&etL!NI9Dr{a(@T?v(h@>c*KXa!fJ12Vqzl<7 z$g!lSHioH6Eevbq8t_sC4CzJg)Ps-`%)tl{LGIym^kuaY?Ls%w`=9~?>9DcdSgzVm z@P!qY%@^_c`}|#viRSLp;9YWMPPKL)E;On!V_tIixDJfbZcqWI^sf%n9L^Gg7R<`6 zuh0Giqk_khitvYyGq_|MZl)SX_cwQMNhfP+(+Q-I(WfpX$<{ zMz9I9{N<@7NHUmdG-)%?nh6v?8d$ypsZUzE8MsNx7)yVDe{kai$;s+eKVYnOkFh=$ zHqqn9yYTH4Wf@*gBIPF6qK!;*m^-YK>%Cr-359K#k~*J^A~8flOIgjdkde(zre{rD zo-D)`fKl)IvdPdYctC|uCk*qLvF*mo#9b9c9V+aXrPDPEFH_kolU?$ok9!~sFmPSBGa9LP-IFejN zsT!>LcNl?Z9ia}Grp~&F!V)f!Q@AJWR_A3iA)Q>%LRWX+pPm7OZ1Im90j(9DTs;%p zPcZ(cGQ^wr;Lsi~Pe>EyF}2svCjr)IhOQwQgnulhv}VpAj%6aAzjLH(uU>N@&xm9O zP|-3vonvGiSwHz?tc%A|>;`CK2Qg7qm}!go^&O5CrDSLcXH$VW>8jh{;I~!_yj;fV zZvJ`erD2$+sknqVd5^qv6BY@t$HvTt$Ul?uZi4H`4RgbIxlmPmnW!YCr{5yLwZ0j? zVhnWR5$Y=&ioAgtNq(IDOeqy8|E3(7zB>6CM*xs8{s(}8h}fm(VsiM}d@GE!T{6*^ zn@9TGvtmfy+2qvk=kO4agn#v_vaG$@1=@EuJv|8cYHDIKlhS(4y^P;e2e+)e#owfk zJly-ATeM9yF*&Y_0Nx=DP*69*?^cj@=pAv{k6tj`1&|QBD8pT`V8ncgNJ_4H0|A|j zg2t2*gmPs4ZMe{sRsE^7%nuxAEV39fw?ItjbGcjKDu(3F8L_m$N4b+WVaf$Yxs0^L zuL?#Lw?&r5LuZm5=``h{jN!KeRe&cNKCTRSV)mj;B+WDzNs$h%R1|$v&7G-dpHS+H z;VqPc&|^;g81a*lVQ!|+q;5|tTE#Kt#>+&+VJ3B*w%w@axBT<;?CDnK#7UE@WVTGU+8+qQ+#?9#0RJ3GG}2$aHVw%-`^j-$?U z@h)ZB3Q-;NQwNZ%_MeAR*@0;vL%B;9$S*8Rq|e7#09mC>!Kv*_1W^RP=6*$7Z_-~+ zcGE21=brZ8-7vnYT&WAZk@kJ!_xC66*LnEVz0dp@WEFTJ=eiAH;PUWx0WOEvS>eEf zFz2R$&)^3wK;F(UXZ9}ILvu|5v02=a|5C;ovAu?wj(B-zs(Dj%A-`!ka8ca4gK4d0 z9fycsb^y%^9d_KfycHS3-a_Kj4;K%C{nj+lvYS!IEN(V-R5)R3&Ugv-{+#OwSYm*< z2r`(^(E0r^1yVeWdjXh=uwzWE2Bg0Fl5NoB~9<==Nlm#qtqZVatO}NJ+x|; z=p`}ui~z;uSzy|*=D?U0Zy+v>YEt1~J!kgyE#fgFJ0Qo+o-g-6O{_WQKRJ2Sds6Rc zHNAQbTmwJ8ub7ZEuBa|BJh<4zD$!cQ>C5>CFY8uLYm#gdG~h3FF&C$Ybu*kDa2N85 z=&r$7#Z)b%mhcQGt{ND~7p3g2Ta6)0@Ig9;S*v!0tq6gRoFIw=;%S0@-AJfRReYF= z%F4pvn5JQok&Wg167;M?+lvhdGQoobS_{K{>$;VYKMM_YtiF|XAS$dy^>pVe$?F)q zKmd@%Q5nJ@b&8BV=?7k4dDqmk%KCW1&{b6*8uqJJE7%=${T5HnB7d^zoY3nU|gl5#_V?;4Ju{44z!9CCwO zF)_=QFl#`dEr`@t_ihW4(c5mJ(DUO6DD)hcxw4`_FMs(RKtAik3aVo7$5aCL%fC1o z%^XNN%+yq=v_}SsSBu_XFk^*b(c#Ymhr*SOT}Gc{kYX1gx^M#U#36r{ujJ-WO>Yv+ zU{q^-?`^$2n}0LCRG0Qx!5Fx+*BBv$UY$Dccvn4A%)FF^9V@K<4Vt;*_KiKbg_^+D zogvJ65G$xMSMf;Nzbbcbedx6)pu~X>@L;(Kl+cQ59`d2&gnyb!5GFpP+ zV(q7x{i3I7e^&Fie?``2%?*Bxo-l6Q;fq^m_+Wx76@wU9p)-TNm2mN4=Zfhr>vp0B z-9reM>;u+fzTkd`Pw*-4C5~zlFO52aQ}5k&{eK}D0mrWMy88sDd6nO2d*ux z+^}liyc9R}TF8{J3wGY=Nk)WR;5|!UPfxw5&S~@EK)hs>{E9*iEiGM>hRlp}BDTKk z{BPwn+Y80=hr01fVQ7_^IN{6qQ~r;^k?pw!a4A4Gf$DwC7T6@z<9e}6hiQpW%-_8e z(!9Zwk?%`pVkgW5VE9!ZE58@&;Npk+bU%MojA+Ksv!KS7g|v||ZO^taAG9#_*(4^1 zl9dqciJzHvSly&!WKBT`%4=vT3SE8xOVFcnDS`bJqqgWj>-mDgDE%4b|HJ z!5ib&JG@td!@CB9N<>bqpWK+~kH@m22J(Mnb{Xei^^0dHNS zR@o@%%)Me>@j^-xw|OL-JUO|nHB(MlNcnNDUk~(bl81Yhz!}i%9dDhd1=1OBU=3rL zlr-V-drUL%8u)syG%dB4QKE`jPfT?8fA9708?BE(sBRc!44ZZTjC3?JJ4Y*y`$*5@ z$hyUWh~Q*!yu9w=>GwxE=N)eP{8`8P^+rrSW>y9hJ=c^ObXFA5V%R>m z8$RwgR0`Fia`)L<{P!!Jlx;T(Bj%`RCvcFpHN-k|`4 zkC!^D-fD#=)q$RD$Ebtb5rD6zp7Fk-W!ebWmq?E$b-0Z!s`@Zvy`Ax%zw16tJG1Pl z-SW;IJ8ty~avtP6u#G|ZaCM^)7iDMt4_08l?PEsH`y;^CG9C>z1+g0W<U4 zL>7@V@U~~N*z)#~?@vxIZAvn_*D~++OTVKqO~#G&OX@`@xCrWtMNn-Uko5~l%9zS} zq%N+d!6p$qFpY|@*?N4GRb!Q8!}|49daS$=2h_;F@7|$v%t-$xFRyiJ9ueVgGoqso zYXS660ZLAowy1mg;6#5yzLXNy9!C94P1Edhaa7-0HYDD$qb;P(W)S6qk~EA~Y-kYt zsbbHx=X*X?{QbOS?z`N)b?rPCC~t0BNngV-*VL@yW5>;o$NxBN98&fho*bg;UX{|9 z{a8FXv(AkUnlv%ANd6Q!VE#imA;0 z>``6wB5>6R#Zl|b3uU&V*Urk+DsW;wrpF#ZP(H9tlQG|Ok5Fwnm7H$_c{Kl0N89xt3H7Xvs#aN!aj^dF4Z+P@0MwLFI*T!g;I>m(2U-vk3C?UGX%DF zU*A8=1&w+B;zj-byLNcC;Mlt!SZ`-`baMCdZ+S;>RTIB_`z^uA$~_zVt7-+l{0uuQ5{S~ z6=%Xmb0*cEbngki6U;3wruNxBXz_uZ@}`NdPZH|gQgt$~s9r_?>0&q94cIz!>e)nN zOcEQy2bj%OSI@U@5Ns?c*#kSSi9JF`;04$Dsb59LVFep&K!GXOa1RWIUV-(n#Bx0b*~>n?YRte? zb_pEqfkOtqG|I=?fNm$<-v+@xy-2ZM`fND(^Mk{lKGTL7Z*JeIQ{uyCTI29!A+Rhxw{C%s!x#)fC#O*V9h?ebQG|${mnK4Q4r* zVW~rSJL(R!4Me<}O7l4+`I7aukS`g>x=b2?LTCG6f0F~FcdTLBVl;4IOB5!( z#$WtQ$1IwaWfq2H&o#Jau;08P&+Q>FwdJZR>!C`jcJqh^@lMH0L(i9YHa4yYC)T8J z5VwnisRr%h;p4}sGRMq14Kj$-iKU#6!c0k%)fn1f}fbdW0H_Lsi+B8u^u|F&8 z9wdaB%-+i$9FDzzekwBKA$59B|5iwaOJnA!Q8= z>Nz#4{-knee{jgwjZR%J)8UB=?;hQk_Rx4)hXjM>3iiTS1s3Y0pKy2MRjuahNx}z3 zc|HF-MgwiYy(S-~5$H7_t=I>q?riJ0!TExR*f4ml1 zm)tS0D={JpM}=|`gTl+?vC^5E8=#Mcj=dHm6I5)#Jt{c((nq|@AogvYBO zxtZL0UXr57I35{T0;^ClpObU8 z>^vqT3L=<{q-9O@w|}A!Ie3xYgdfPfAzmCLb`E#_#oJpGynnZ4fB`lfYhY>AuV)iq z)582>yKOgQ9#+`6p>vi-{dx{7zeQUx0KSZg(8vHoSQc;oKHY+oi#hVWhyA_ow8#3U zeqOBAq}-?H0>rT^4hW(=fUXg3N7~aa7-K>E7*71R9MTKL5rZioJ&o%-CwI?5M1Kd{ zRYY6OUvKA1-C5L`%n@g#bc%i!z;r&XAZD>`YU}0^p~Aaih9V{?d@(S7L$9}BwxJLk zy5&nm; z4|yHqFCN}1sHuPfxa?kHhJ+o+Mw&jaH^V&Fr>R-SHU+CZa4-4Ge&=r7z)=B)P?O0N z@kC^)3yGWg{{Z8#t#NzuL)>jb%-_*ZeGe04ujVz}h{B=?`ac)67zPb)%Q7HI+`Yr%zW_ zTLW4h)O?#d+R>GZA!FSV&POg6ol<5EXP`ZmkB=v+e)$gO2CL6_3?i@NQ3I50L{|)! z4TqufnnP_6sSH|wQ_jgSj)T`KzgGRIX6W3+CxI_Ci>W`>H#VqWdQ?nm{Goc)hh-Kd zT7^?Pt@Dk$joS{^gV`cWeS^=qP9P*k0C1{at?Ab*wW86BTZccV1Sr#qBjtlsKC*>K zSDF$<7KU(v#xK;>3~kAhAH-i1-_$@6?HO3}c0lAqlu3QyCmKg#f!rhCdpy0vCA{=l z|Mg&IyJ1|CNKGYn^^KRQE9*Hm3y#ivKyZ+iA)@G6{HhV%eF!=o{nw+Q4%oT5?Yw_^ z!j(C=k0GyV4t!k3GKe14Q*3Zv4(8L&B2JV@YcWOoD z-dnaJcGs>5oPFDO?|$&%*M7JecK1AY=3z~#u6q4WhN=DWtsp6%F1V4bV|%qUAt=C7 zS6@ZF+Yl1BfLTmz!S%G8HCxTMk~thUc{ZD;4UM?L@0JnR;HB?2aa|@$HSf+TmLV|O;Si3aX77LYldR{vv%;WbLWN;=!+SXE~~2@3gD8t zX^**2bDZiU!AXza2_WJFS*n8D&3q{%VCuYp+QtE$VV*$c-*&RaJrIB+Y_S40PubnK zLr8SOc$GLk3Mh00^TsN+*R{9ZxPl07Eu#d7zpwN&GE$L%N2mRvywJ4rm@^nB)XWga zj`T`lPF?HA=Be>Nc#?b?*)stVD1p#hkQp1TX&V{zPrGhc*_QI8rt-4%ee#$;7`_W0Z>fP%7 zZ1|EYZ&z+4n}Mk8*nQ*HtucSE@70xxfF}3n0t4(TL_&rf)47F$uSOW?a7ym0_m48v zmGzn8>=piw8_@*}FV;|(@jq_P`j_7f3N-gddy)k1*UsmfJtlOCy$^pZ! zU{LX5W;)RSZ_b?twV*MO>i$F(4Wo_IRi3X}HMhmG(p9SlR8{S$smLhGozz+>clNWk zwmy2=+trm5O?lmE@2ZX3w(2RG59jyqQJEBmP1{EJu76z1;%`VjO~d8bQ73W%aTn+6 z{D(QEpCs@encN+wVA<}BE7XCwrUm1dj2g^*T{nnb|Ll&nPjoh-?140nvFnwcq0g>f zRp;$o#sbB>7_-9XpQ;B(Ew3!s|F6tzmIve1&+lWG!&CJ7?~0^pz1ue<#6_3yTD5T8 z!5YO*@l#o^b;d7z*~|A^YAQOZwD0lZchzVWr&Zq%ey^IMVI5O9cBpb)J>tq5WHKP+ zMlmCIj180T)|=@n$N%_}1A8}*OvFvQTgE5q=`$-TN0#;vwT;gl(^2Oi_jj3bz^Zhr z<4XS=7kRkXhz{iiu<3LdC#z1Q)OGjH8o50M;Qp@UK2xpQ)lR z665rfTroh4i`EYN+ly=o9N#pMe;}*PR{!s(Y=`)Xd}}(pMMD)n$%@DuFSDOK*?sE! zBpu`m^n-2{O!tbCVgqNk?~rfZIFq>cHq{%$|MO+QF^`RINQ*YH|CXjsT+3Y&-Rov1KO) zucfFDu{FBYlox5&>qVVM!n@j-JOU0|Ad~f%`uW*%Fj`$*uQ!LV1ZiU1M2p_NwUJQ% z{0Tjil{hucz@h}rp}h0(oR@wn?WbMq;eOJ|=aE&DuzeX_tv_GFbNRwcKl7Qq%E4j2 z+P02U;_C$)_UYX_*t&f%>}C28|I;18rw%brEu8ivrO0!+y@SI{S_wB_27w~^TD{TH zS4t^R<-6fwAtBFs#=3jZm*&k5SjWD^O;_DQo*gH#6FwN^{rg zV$q_4*S%YGZ+NH0KwkDKx^N^MEn)v46;opKk__j#ZgerZLS2M1;VQGX(BH2l#yj)w*M_PLx@9W-&eP6}Ubvuddg2cFhm|XtM6g z%!}{@d=9}8Xu#5@z?XGP13P&pI*)ga)wXS!GxKOcUc|qe#_9_=>3i&vx z%}oC}79;o=ofWq3EY?go6qgfYib=lya@X2CTm9~N){k?7Lx@yig#YaOW`o_!k z8#i{(&vdN7=H6y*vs~^6f&1q@^G;SHtaG+H33Z+3#rsMr_|dylp6*ndN-)i0bDuii zjaSdVLy9tO~3llF&A19(zeXN8tkM2#Z7J^j+5O5zQ=uFO-U2fO~OA$3Z&9FXY3Qw^R2#kl$)JbVUfzkZb~+ zl_K;-E^57ChkYK~I48xBFsM&TH5QgGj1tM!h&?oE(^s=mW-RgP#L@;eLnmW8l>NEWvy=SmK;8pOR zJ#8m@Ykye1A9e|60%~BwHy6N5IuGj3 zHMf2#VeTpVc=!fk43%J-l+a0+mqeJhZ?Di>+Tsj87@)onYp!s~JU06MHf`s#PAb9j zvhDJ~QiLdA`jqJ*MDFJqw+DfIW5!Gsr7BmFp7c(Fy%vw;0*kynS5-8iRSWk&#M5q1 zPeG<3O$^&J*x&3=9(D`)BMi)&LLWH8yag;t7$wSc`s?zi4VeC|K^=PEoc)4QCmqKu zgokv6=YE7OGkK@JCNSRbfK>|c!u`LR8yJN1!h>^5iWr{@pYwjepZpO43I#c)RD=_H z{_;>Wf!=Vx^zyH^LhFJV976bKzdvhf6cXH7g}e(qypp@aYsz1L^wIo1_N$A%A06vN zH{BSF0m9C7p7?fVlc>HW3&}D?`K}nRM3FaSRa&{jx1eb!7pW+{ags>S39_N_pS1MH z`GA@~2L~c3RAjd#PGghHDppyx12So-d?#dfI$bo=V90L=Z|7J=KTy~~i#6RhkeOe9pTf9&!mMTWIHm;ApU3p`Lke(Vo}^c8?=vfW_nSilA&L63;1K*h zt#xMgVpR^>N6H9T54vm;X(jL!KaFkK^LBR`JlH@9pRZSXqn!f=ph=rvHeG<4varj8 z({wyAqb&gVT@J47o{|uFAn|P8?^5cWKYxDWcVJ*)#9F=H&2t;}-)Gql7{1>*#bIM! z>7@q`PK>_oNx4Q-I`8u3nSJ1eAhlZ$w#+KCmh??F*opxzG{hg`=B@$b&IZ+94q}S< zkV*aK2N6+GlRP`1-ZN0V#@tLAg^UnX>cq^yAD5CbLw~(-K94DW;73dJ$Bl6Ss~UCv z(W6%AWu3krxq1SNPnjvv#(aOXSl2eSi-{s9IixIw{8l$MDE!A3c?;8jRfRTL!$2!My@|)3D)cq;j?PVC|IoQ_p8yF9W0?dX@mhCu=e-Bqtmje84$H2IB7L1E)>f-aaIHTzpWE zf6wn|vR(6@?#cQKvC0I7cP{_5YsZe1)9+i%zZx|1V$R}=T^?7@`WkUBm=K){d+Er+ zXO{jqFJ4qp%nVM33MZZGD8Tn7{rO5z>gw3&=nvO?^bP<^C?7iy|Gt%J$4vNV4?!X3 zdiD}w7ccpEG2gxGmuM|pby^~71Zf+{bsW*;W)!|y5mmkDUVY`_FByf?9*)~RFy1^Z zXa;7QX_n`vFAQePpsGOstG%`u>YO1HBHU^A55AAzqOyF{EB)PVoVL+B)VtdHRCFGt z+m9udojV`6Gwa#em6OVx*In5hJJ6@jNE z$GVur-2Q|~M|%s4Hp(5?>;9_%pq?)pi2c`tta6)k2zHXYoCB`kmh&f9vYsMir403G z&L5?3i_;I|Wv{!6Le+hN5(%QS|2vT0#GZ@v&g9*lp7BU#g(gZs)dv-+sJHk~?^-rj zZs#ujZS_+Adu>!~Ry(WKfvYlAj`XYRDAOpo+IKGhEXq=i!Mx$9d0nOfLUxu`QE>V= zj7dfTtC77X&jQV`VJ3~}pke#N`Ma_61Yxc`_=D;h-9i{#{%-@puo(?Jr+H9I94^!=fCiDK`|ro#55K{QAj>~u)1|m#dr0jvCR&D5Ad@(*HPKuz{5}JtAt0z#xQSI zN&fh3o{qIdJnf;r2u2`NTAS8NxS3bdPNCDKT#6usOQ|l{BJ`@YRPbd_VsHJj4`!uc z8zAHRjz(UYIRn-YGiX~n4q7Iyx8pxBx}J%;-c7ev&&fv=_=aMO44GsRzRY`a2OuT~ zM=9|7u4+xoEHZl7XQLskbZR^qKJe0kIIxRVm6}@;V5~E1 z4U1{6r6A`BQG3gurU8P0DW}W+_KH~c9DtJ)(Nlmhufrsm$C*#|pa*_(%3q79enr%? zm?I}gJ%%^{ywADWM2kS;x_9^PA_OCFB-;Gj;Ntd=j?>n7OXL4>0ch#GR>NC8HTsp$ zojKJXU&>tkc(G70z>lxL+!+#`mo#pu^1lG4Ca)D}c)V#X_%@!~>BYLnD@K{b$nN81 z)gKcb&cJ-&DLEbfV6C3t^qY$kH$wS&30rn<9?=KvJDq{$mYrrY;FBJrDCDMPHD7wDwrXZ;qWWJD z>s>~s#4tH=A{Ae4+0(N_R9kJnE(7=Hepv=bVNt@M?Y*^`k=?WL|CXI0HV_DrKipmK zo8{i!?fClmjgE6NKcl()I|aIu~naO6Eh;97zuBNu@&n49R*~qC6gHBIGGoML35&ySV*VnuBXU;lzTOCt{ z`H%mM6vXP=#{YVsM(QjUga~-Nn9s*Mo87*H^OUSprxHLr+pbg}e;7%8Rb*OA#P(9!YbjO^OA>b*xXioue7jct4||8Y(sMBQD{%-Owr^HD$c zueadJNY?3JtTix8KozRPe z;|RSWVf;vN|(@WYIvpV?NvsdrIUMq^X?HQWlp2tq zIrs!h-V!SDlR^n_Qi_%&C|238J-#V z;s}B-LTf0djpjJ0=c|40@w>}P9u&Pj17Der*cr#?Smh7l@6n8wpHE_xZT2Q4dZZV& zp5;kzsv$(Zy1i#={Bk+De^ps_+mnFyu~DnK1B78dH0m1lJAXRCg%taXQ!-#8&S{}FI)B7>Y$!0h2x zfp>I3U%jHfc0w-s91JM4m_Kz9yuj3K8^8#S{pw3a7jE2my`^T{PBRT=5K1t7h?u1- z_HSg7i5|JdpwH3C2Nze5uyw4o8LBvDGBuCHi~HZf!YxRl6a@ZcOBweU`4D#ab9jwga} zo^9Y{^=1Z7V$<7ML)`OyenEwKZHG>s8j$e?jRjXEwyR)Z1;NPu|Iu_FU_JNk`~TX> z43X?mWHpT>Ns=Cjuii#vjiqb?SSy{KFBFc>7wxU6@A|s^wzpnfF{h#Ca zJD%gYZ|eK~eBSSCoacF+*N2OLjiKWGMQjKcg?$hor4f`rRga7h{YY%VEkJvcDFU8O zotm}Wxt)qXnr{K&pY&y7~qXDoPC%Td=)5ZksqaSr5^(FGD4e zib*a2vV7sk&xRNoIl9!pyzQn_+Im&+(5+0u<8LzS>c)gZ`%`L=I$|Y_0{qm2!_We! z5k-RAHwJMjcxJ*d;E5R*PCh8%8ty`rdJTIO<_6WDa}##JPO+A=v!s!~zfNcW8|Sy{ z4xv)_VO$8ENcT2=$CE}T*mFhjyFETc(PRBw@Hq;hG>hF7JmnALclZDLlvJZIrG(?h z@8F4Ut~^NUUx)?49q~u_;RVFl5nN&n{a$`>lll*Sdv5~eP;6oHB8nV$eEQj=7I`a) z0c=j|4idzkoIuc^Se`KzGh~#2Nz{j1vBO10+>u(ug6Nxnv)jncPA`9TLsSb=;7hdt zg2MzvClIuu=%D3c5-dbCLpzY4yNcqewNk@__zhCEiYiI2ui%axJtUl(*w592s5m%u zg$5f-WWg;O+G4O`3AUh7yZ^^JZLBPFdQ7Y$6rbA>CJ&d+>ExFpE$`NENoBUv32@+2 z)_vN+r&{{lu4sY5>9w+N9o^=&Hrqmp@VCON?va0>nr?kMb=U5(R|fv3vbDg=jey$( zTvs4Qkp1nr&0z|=%cJX7(R%0nA4PKBrLJP<;xY%FSJrT0E9Jj=&i=Cc(LxIWq1wIY}8DFn~CfTM9q0Zh3>hR ztZQMA^2)~FZK$&g-uvj_GXtnDQ!2c~xp6FKB0gkNK}C1{6SRzvN;-~Hj~S;J7lO8w z4bBqXJ|SXdyyxM=1Kv8l04Nubq$gf=m<4GA-rZ8FNJ0V6ZU+J$L0f>el5XCt`t-a5 ztW741=ay4a>)nk;8fAoDQ#^SQ_2!?L-j;u_{k=0`@V#nNy33QNt*G5lD!oI1667g+ z5fxDdL+@1)ixyNqcM;|xqR^}XB7)Ur`027>NsJ%9rjGV_Mk_bFg-%jp}03g>EPP=o9R z+=M>xGvCIW{=W|Cy^EBygxn7Q>@=OiOu}4RO+76B>3dG#?98( z{vEdEN^v@vjkcOxE8g5_rWedLg4WLx7MjTsx0*|T9i~);y?QsueTUc4owJv`ylgkq zy6-}YTZ6I9dlUdETZRZB>^IWPpGp&bPa|eT!+(eERX&HijMJ5MQ(XE;n}Q3O*m2Hr z4M(GaT<-Pj*HJ2rq>2WZJG6pkP%blrEi*5@399?&FL}uEcK!C6Uc+orLMde6jj1-Y z+D|nc6qIv5CN(J^339UZCV8DK`klUMTkDu^?>co)XjA#bRLi>^duS4NDGWMq+3PQg z4neOG$vyP#HgvfH5i47tC-}S#j)-V+$*CnJ-%_0pH?Cb%Fw~GqtS0@E6=$7nv}GgV z>+vw%*((5-dxA4C&7n4Qd3SX~_lA73|H-sq->w1NfHqv`7UT|HRRg)|%evlckX-)E?LyH$9$QN2hd2lykUb0b(zyYYm&`2 zyb&J{jE~2XAeZy9=XQ~0hKOli)0jC{SwDtBs#kiqt@U!(y5jYSp`Zi!-;L-S1I?;h zG;3CUqVtcL%yCj0o={!OkP)X}*t3{H?+$fK$R|x8QV5&0eeZa!bR}!sC)3OsawE^ev1}p;oBQ2==`L3A4@I z)?<(|%R!>v<@~OEneLTtd+B{F=*4T)TaI7RLC##Xxd~;~=tc?~H)dM%9!)SC-*?Cm zhcfjy-h0p7oO@b!ktRnEq3ku%TGVe4)5O~ltwA9%d$gUe*Zz_hm@cSs_t4v@-=qeL zsD3kOS7=?s+EqV@e~6z1$>&HltC=|{$npzaoI(LlablopexhA7g)l%EeyOgHz>*Q! zRVUL~qt0o=W*LRnoV{@2CK@3)_|`GY7PeH_^!2+jH~VpZ@3=%2KXV-&ov3m3nkFcS zC!(MSDoIdzh3b^=E{}QT{S2rHS~f9bqzK+YS006cRD9Y**}{>bW01s1JQEK|;!LgXheh zyN#J&VP!b>=9Htbj3T7_@l{w<#{UY_y#gux=Aijn$T%1Ly}5=8#__VZOJv?%CQP0@ z=w&Or$*_Y>P}n+tl=-}QarbIa72vkL2l<|T7kxcF5u-4T><{fIf6OSbhS_2H z2VBOU%mZ`uUk5LJZ^$0YUNI-@y!Y#dO>FFEULSHvnwi|Qr%#L3 z2Gnl6O8SbD#`tg6@6aJsImd$_3vOCbfIGoaGx_k>op49SU1G1Ay`8(#rb2rvhsR5X%O z$uN*@se3A3T+;7qve6g$XAeZ-0^j7!qXa`SU`C9kIBf+8VA{Vuo%iSj+r*s<{({_~ zO7Gwpc3|8cCdV;6X>+YB$+8o~|u#_Z#p1J(*_9TBMZFom&kF_1ORB zjT_GYlhkPIb5N4K(p$7>@!!f-!F2={Ox4{&CSw`~;Da*OV!^=QAV zsH7yz+9FO5?@9cyABT6!VZC5_UG4DE(+Q~^C8U~8u4|ewR9f>q%^s@P^YT=fculhZ z3q&qOqM%Ww{Kku(-;UaEJG#Ct_J27I|6+eA ze|rw(Fo;>Q{YEf8)iWQv_lR4`*Uj7T{ri!<{#v28F<&`I{&9DqxO|7a(%u-}mQf4t z&iAJT-qj~HP>gtSl6U?0n@J+Rg~8+FCmu7kOf^qaC?yQ--@aKt`xAAF_r~`6GSb8HPu0cXz!h@henx9^Z3N8 zKbG1dnJl9yH&99#EW;R}F3C&lXgOr7A)V%r~ zlkY1kW2wX`d{o$Ma1Hz4uS~n7-3fj-grvEVv1eI%Dg3oywIhDJg#QO@H9TY$aYHGg z4~{BLL`O_u^_YkWzVuk!S$eGPPgORtq$t+V{5HG33JVL7Hz_4d1jqUwe${virPNT; zp)_3(RS(*@#pQ!rQ`(9oSR`R{(!PrLJU8>-*;mgJTvM?NlKI- zZOVcGBhVGplO(tsZ`6%HN7$)qO*$-SO{yS_?6PhAAClS$BsGm%?R$(2E$_gjpojv1 zRxI%p1%~uq(iD9GA)bpG9~I@qV`DgQYOF0b2R>C2<>3mx03$aYHkzcrIN1fwGNwa4 zjf^hes*$bGh#j&ZQPGxckBEqPY(h;e%^NLD<@82dfM}(PQG8!B)CSIusdl(AP_s`f z(+*73+@6w>V*i3$g~Yx8lSOc@E#>p#9no>qLpGlK!?zZTm+2eR#BK?;{#1)H{zlx` zfrKIU_k%C(&9o1gMPGxg6nrOj0J;H+ll-Sj{hOh2G^6R`qSq@;)_RrXFbJiAX`gmx zn!!DoITAe-lR{MXDrf=Vh6Gjvig~jy)MPjfGYigT4LET1fe)#Jm%i|&>R)&R`ncuj z(OE0g){FwSLtv)vRmhd1FaO0-TJ8RUl?Nz#<87K!swXcY#setvf6eFFd(NLXZ_ACj z<$uHW`BN;#TsY{o?IR=}yWBg|;2&G{4~>-!rBH)jqcRYEKT8`u*5+tYv4CH)BC8Qj zK!V8M8x+8SK^ENH_0GYqoCMv$pB)lx%?NQ9U9k8?XM?yx3VO3$%aBE7P*+f<*XX6! zLJTOMp4J>`!U-ryO3y)hPp~+V)idC5N-)vzSz&KW=pkyWPHS|!_@@u)k+=KEfB3Lr z;zX|+ep{qTr8#XO>FX)vTCi~hnW62XcjKoMKQ7|#;nUwkjq?T;^!NLt$&Sx~2m@(J zi^QF{O7?+L>3soeKTw^T>&RE2G+ZD^~kYpKvT-P`@v}=SFVJ~|BPq3PIq=bkk)D+enNy^UJ2WKaR`y5*T0F6^ z7U>g<3m`go@byF895xL;G;_cP)pxAm4Fu+rZbZQO(H(2jMG;Ikcw^GAzJeqm6S2yD z74LS@-e+FB7G=}^zo(XR_0Ra33N_||M_4~-KrOR=mtXyBOeiwVe)4neK~dC#<&6ei z&^Fex`7wRkG%+w?^0y~46qec~oZbXi#wqFl?bxCl@z#9=c^|fquf|##Tx_i8m5hAF zWnDpkqqn4C1P5F(XWl$-3Rup z8X%|vX_#8J02+Z;UK{EN!DF2j$EE_TrLya5DPeJbL5cDzt5F!u; z^fjM@pDEoqofTd916c2&!-r?(I|5!S(IRq=-ay)5jWbZpr0qO!JCL*M<1ydTj`W|6cmDU^p5jk5=rM*TKuX zEnOWYtmIwz7uj!(zOONnaoRs?20+ZCnGm`X`KnBe^9^O`Hn#vUl{L{~uT_u6Y3%CN z21^UCG-WV=fv&AL=E@kBtZ}Sw)-j5TW`^oag?tYj{q0NAsj2yQdC!~rS{BHz3-N>W z>e%70*BpS<<1;P{)SMjYROG2Utn<#jiIbSmCEs3TUHfVEy5BG=&4?1qFTK#q>B%@7 z=Cf0JLNRe2Xe`jXvaF=D=v$^M;DAjj%RTnYu7egmg+Ckw+aO~6s55W%xicfq~R^XAVl zBARcb8@yWmdAL*&ymIP;9jL{?w0!to5;)0eLaf&Q{Wh5dC?kExrygr5bD!_uCw6Tw zhC^5&wfRq0Cbbnn`b`1=L1P&HK4V5q9?htj^r#$&80V}VA_v?2_v=^#M!_K%xJOcv zl8CK*dRRZv%o4NsxNn+Vb)scm?C)K?`i1FG#9|no_pzJP?)ByTD2cab> zF`VL1&@5^E79D;CmCO@o(PjfqEXmv%PhL3Ao)iJ1V??e3^b9pA)?x5uD!e@@gUF|X zTwo7WLNXBX9XgFKWGt-F>Wfm41j*;pUG;XN00=x+(LJGu^n>XxLO;3HTqA?_|C;OB zuOKgw4lT(-*+R-Nr-gu~0lEQ5yzA_t9SOf7%a@>VGEjT7Z>c*|ko9j>UtoYkp}_Vh z0FDhe_LlHc(*KepYB@mi`bf)oJ6>Z%L1f%CnlZdLwA)q*wS{e{ghtp0wN>Q4SvfIG zuMsy*{VQoq7X9SEJYsvCkVqP+kHYiOuZJRDV+QYP=8<3Z7FMMEe=R_tkX+@ou00BT z_&!vqg1W_!(nLN$j=Fx%?NM&8Q0x}#DdVK4t=o@EXPGMr=Jd z|6M1qT)o9kVux5ODJtKp3)%-R)o81!0=+Jgy@;qNB32q(3AN0iHC4z!WRliDyAZvQ zQ<%u`rVLKHKihtC-$64k$9;~N@_?|j`s5YsAgD|0^v#YosQ$$Qb#gO2B) z&Yf?+H01oo0+XYzj&27o?Qn|^8SeV_>QRlT7>%Uv)%SE7+^MYI{;J zHo3Fm^QKo-X=h(l4Xao+ORGK5Ww5d;wk!#&&dsC}k&rzHFhk77@MK|<70<=UPK6I4BHKT@(Y4Cbr zcO!+ldjG0N^+fH1Zq?=CV@&MxesxF~!hHBWbW+H+gXe4s4Gq}#@q^3M^hWNHoaAlrh54BVT5Z#ZciB!^Qc_pim3^WmZkk@ z&!sNo-fm<+4XTY#M{hn_Xdqq{$8~<9jhpf*Z9OB|v_GK$J6G8iOt>0!#kF1jB1SA2 z6Izfu-(kVs@EcSPob^^>ISwCVrX3P)J{O0+6&Ps(6cRI^THV~-@7-#nQ43S_XffB` z{km$Tj{0Q_E|AatP6rRH>)*GpioI_Duu<6J*&S0I18fou#!U^*nMXY})z;R0^X98z zd%W|Oo2)4IetKG*d~xi2ph0jexrP47=YD*~oYu`>G6WUQvuKW2 z66hvw;NQ_zOuA`cW2kM|v*-4;g`Q20Ps^v5*Bj?@e0?Mma6Tb~kIauyo@!I&P@}N} zE(^qCtAE8aO0quM+L?27kVFl-GY-#R6mf>-7vSGLOm;piTy)84>CXrQ3w6I2!-|{R z#En`xGN6toP=7vNsSc5w|G3G^bRhen^#~ky+zkYsfL@04(B)+%t$QlW%|8#s?6>*< z_WLj^v;KJvJ9~7=j~F){8s0TncX#cY-0+T%TDu!{z|;b3B_H?MXH!$>Q>cnPvY4|V z>uOT6H>3hJU|rQ1zONL#)og>k{ejotkLbEsq-Kw_RqIUb zb)nRuj*Q69&#!iTyOgl8E!%Xy2|u}s_JGsw{uZ8|mrm`Qt;#obEe#0`J=D?Pg2B*K zH+RS6_KawUgoI4@%C>FiW9EFoamuV&n{T=ql8TRBym(LsX5Za@w^2{6`8oFje<^=o~X9{IJ*E&OE*#E_R4@K;A3@?UH3f1g&%gN72m8eJ-5`n z>w0qf7%Zy4IBAD)cYOaj;LulNr4|t-YjNgplIV15sZ4A~3J@<%paMD}JONEw}{fjVDZ~a;$?9ZN7vDA1 z{g?_W1e;!0bNXi2B#$}@ahM#-Idh_NoQh^~#Cw?!vy~kOneRVtH$x@ddT>idq^HF8 zyz%H!Fx7q0CHtf|oNi=M4V02TW^ags6K=d+sBq^a$X(%F07#*d+IH;dwz69_{Ux<* zCV!c`8(d{*Wb|iGgfX|0!b{P4Q{bBb@vm1|fb4wU!+1<9(t{~2$zsAb+Aj@7z zTEAc_*;M>;{{n*!8StpLhQ`BFfb{$;9>)rY-CoCiAF$ENh}8d2?3GoqDzj~DR^F~w zzaM|}-PZTli?m&wQoWVu{|4>KznrE!``NvFd&pT&E-ztXZ%m^FG`o~VJqCZx#5`>@awez_*U>Mxd zNj5h7x^Ejg=bFOg*Xsso8E~zRj*Dx^K4g5)>2BYG^2+t%a81PuZQM9NzhCpI5F z8#Ch?0U-VAal?cjF07+L3&T-co4*sNm>)9arM*UwbjqVvD~rF2IL7i{&%0*5WVKa2 zdIX|?)iXp`X0+j=^I*eA!qkH=Bj(ulJ9%ZBjPd8y>#k9$K=q_%yza|P!`c9Vu5iw- zyr36rx@CuW;kCu-sqix#rdWD@{Icc+_DKaEm($f9M&Ca?Y%~b_d*ewieJ+3P+{s;S z6JQFMiov38h|2L_P1vat_7Hz5v~+!qXJ1_IoLq4l1p|ns#;{=>!R&zeqFknW%m(ch z7h?_#c`Jrq)K$F$I#^=;m}!@wjk^bq_^F1_X<@1(nlGRI^}rnPNgL0&88?>cN^JLf z51j&3ew{La@&?=LqEDX&#AzA-$e(I>G8e%3>BnzZakYeZ;y}6JJ<0<3*hl5m*ro$R zn@wqEp?e2+SXP^ekUaI{91hF0({mdMnoNyLyC3Ydfkh`|&GASc`L&sb`bOzUXYQ`v zZt}adElD>hXWm9uIm^PJh=>4YoN^3BB10F%g_8D!H^_!_K?AJ&OglBF9$!h$`TY4~ zs0$``wj~E>q9J2r;m=$>{j+QL9eTaWO$Ox5mrwrR?y3 zr)ceYoNE=Bvx*%I`lk=(zL>PMbUS>MA%s#|tkE|@AB{xz#L3Y{1VYIGJYLnMCuw5; zN%kvCi^EF-Yp7GGO``8!j5&qIhx9F$!~8i}GgP&@KbkeY6$%7?X2*m2Yg9(f)lriL zgAgoyhoB=z*mu>YE2~#BV|jttI0*I?73XE?qD3Fn9qv|$ z`I6?n;Ab&?=-Y&A1=AtbpM8?_oZT>RdZ0Zv3AWQd4VlZfz1T@xm;iqC=xnxf2a6kj z67%!BS$}dmedb}B)4-ee@82)|kz4-|Pv^q-nW+~pq!f%}DD{q6S-_L?munK0^)Fw% zm_O|X;>3c|O^H`h=#;2!Wo7-%x16{uN9^uTkG4LT7MlGt(MaV&^>fX+d;WVF374Na zb;xUTTqm3Q$-Ce)YA@L|OLu=~7Er$-(l{a>k9eq8?Uiwsb3N3uUh;J)pNjeBX0zg) z2A1WG?ZyXhn{40Dx8uwHT31LX%t1FTfl3yqV?<;Rx%}u5xw|^#Pci5rCINI{Bsn_e zNwYEs_Iq)D@;>~)$plQris7d~<4PrhB4fV6M~>X5aaq)P=jr`-u|gxPIm1L#(=`je z41>FmMd&!;F@^xn-KJZ&$;4uLWh_V%@3bc$$Vk|*jG8v(*6rJ}qX@_H2CDPt!6q(W zzT7m~p4Cj2lyC~Fq!LQtOz$TUARuX9DN>{rrV}A>H}7hUibD-0j}(?%x7HeCWivX4 zQS7C6N;NZIy9=lU8+-3@(UXpqAV6aE;+M!SQ_V}4#yt7p=kG7Xo*Yv7oSiytn4w~a z;0f1**Q}P~aj?f`2;-9r_hu&Zm}GAZ*uzWxl5UW@5$FZ}o)0jOU14ijT<&_jz#SdX zR{z6)-(Q@5#3*9Yw1|}3iC6MEcEh9x3O{Yr`}TwnId(0_c-~`m-WyP zY_yN1m6iqZFh(kj4p_t%QSm0)&3S;+Gz1RhMHZKP+~mpP&6#;!n;B*LJpeuN^}l_4 z!tsQ|?pDa^iEe^Ik`n?N|Y&t-V zId|?{!STkhkaaa$EP*a8$^2RGCmi<&Tp)VMsva+kv>f_UNR?&*Ky4 z{<_PKmSeJI^u@0sl@ul6=E^UX5k58)>jT3BPDy*{-Nr88to|X=;f-s{Emy7>I~!gd zsBWCSVa!bP-}&x_XoJcyG2RxOaWUOKDS2u)(mc*E-vEkUt$sdyRLYZYEbI$U-LQUr zW#NX3mycX_`T80g`>H53S`7d)*1S(ixcC0DH*cD@?Lh9_TvxL;WBH_U<1Qt9Er0vg z0yEZ}p#&Fr`(B!wJhBP2EyFhaJaK9=Od*hts^(bfqdEVvXGkWw+0KF2X74`eoTa!Wpnoj_ei3xNj;*`y5g8Q_a%aYD-@?ex+MykVo_Bo8j za+YRYOH=dhRl85JTY$z~TJ{4~o2Znx`d5izyvN|74zf34Xx5^{dYjL-OMoVBp!%j^ z(he(!u}IXmC@;8iH}^b8VK=!|p<1;RMBUlz_yd)7#eQ1uFGk|Db-dZ^nbR)ou7ABW zUkem>bZX2F%I9=9H*@-)pvxM76kQ!DWUL}zO^iFPC*=bwA<744Mkv};axY;~#9Vi; z{hMU|3W}fXIfX8a@;CX76VV3`#4BK+lnin+07Nl5Y@(gp%?ho5>kX_|>@Z%VKz!QN zV24N~gx#t9ec<%ueqygAC6CZ7|G_hZ!>+4qnOFJex;%1E)w~}Njn8u1$2`d3oKVUG z(lvkdP{3Ih3|fx5XxFQaUsUOgFoJQl-ms)U9Sw~}n47EDXS)FC=r&~4`F(d^;icgV zy$vl8p&pkDWKe~@%F%wy4FIXP8!94r;TZgfD8neBv7qvxI>O3u^+D-mt+DV$s_!>sA zWjon0=#?Xzes%-{<{(68pHohCyvvWd!|>=<zgDBRXxY zo&V@V<&0-Az6geSn6gd#3ZT8=(nU_GRaI3TR))TO`4Z3cQZBe~;IgLH(8v#Tbw|dW zYiwn+j!D`5b?sBN0c-xT^JXW=Z$9^(XWLmw&p_{zAAMIYz>j_fquGSw<%sBS-n==l zb~%>u?j2UqFS!A0Q;+NII(qv2c}*A}FgfTW=Dm(mYq@Ts3vL=QX)H}SrjcH$CEvb& zjb=asru^T=+sPzunPbekjhe3kxIR@Roo4S64$r!`o!j#*LsZ9eyEuTGV+N zE}l<^qMf}9&9U%6<9ez^Zz)OV^XW-5(RmB06k6L)QE#(8Et1a=c0v!>bw2@@+j4j1 z@OT@yfGJIe-0n75t@%O&b*4<{Hrqa9&&%gsTbv6zd5&&t)y{J$YoF)xu{M6YJ7n8W z3lES5=5*G7`PU^7i@cQ%m0@hP7s)&X(iFAcNQ-zWC zcDl4ko{U5FA*|4{f+w4db8>pIX-I8=923C4sslcYLI=#SfX`rE7*L2s~e4JJogOh9BRGC!WvZmPvZhb){K%}*3U52 zF4JT%_S7gGK#r9wJg`~ZbLy!?kL7BydEeKMVBv!Ja?;;MKPpFrHaTKZE=tf_i=FA7 z#hjyY!ji91gr8eTXql0;k2wE|d07?lb#BrBlMNZ0XK!n{^&t{lyMsHRjBjNPNu-s93U+>o?mH zlTL#dlR9R%)-+IS&OJKK3LLN?TNm$%wBe^LWd{ov*XRB!?lYjg3-W2&B^~yBI;RUs zVv~S}X*W=X6OO6M@iu+$=m$t)4Cb6y?}0)Z?N$Tq($0G{Ek7a2mtOZK2bdElt5;;Y z^uh()SM*JNZoMS8NUcqgNGL-K0;Mz|pyd{zu{?lhh$!vS)8l)!=~1_V$yR~q%*;)x zcexXTReY0j_x2bKs-vN;Jzni*&p_jCNl8h2>t=gya|WiEl`0WzD)>>QKRz+Sz`*vwKW@Gpji|hZH2nJdb3BZ?kjKEm z+cub#t3^RdsL0fxQ%;un>0il$hH7hdb zs(Qc<-V|lDDGw0s)X}-YNDJR4Unqoiw_NyvQ9RO2d+f}ZtehVEtG5i+zI&FM^yS4I zoiD7RTE%e2`tR?yB2t2Fk7Eoab1+dDLIpsp|G5z?7)`ZLP&e6l(Xa7XR`R4=sZ{22 zBu{z0{>8-=nRVg-30Uv?#^>0?uuQluY=tb`|n?lw%+1@b*LWb|1uaN$B3rKyfa3ya-LM{ z1e4w<5eX(}I;>bG@t|zg{Sjj~ZZtNEXvy(F?B?F0EHEHoJ_(Mg>=^qbZqPAG1hJGk zK5g8<0R!g4-crrT%o^#5jY8}J>_V;yH*m9A6gi*gNc3lRk=ke2^4F#T&)=^$!uH3z zq~>?o5yPb$^a*S^L>UQ@l&!#QsDXOs$A6-)gCb%gunA}*w83sUnUpOv77$rX70*^XEAXA5^iq`P4k?h~#Kd z{?PxRi-sPez>223GyYu~oT@$&3LjsPP(%b@>9J&Q3pjvF8b8?IcdGd1Q0es6 z)7u9OR{8DQ>9c3E*sBAk1{Y@&dwy#W{Hi`jMZ^NU_CEdlUuPL&_8E7(un`;1hmC%c zo9i!o3Ek?dt*Bb5ipM6~mz0*8ySi#Jd3WW<;~9vb;mtC*@3e*%@iwsPIrL2Ih8{w| z%3?b>$B|2zbNB8WpANI4xEwskuN;H69Xjl!6ahU0rV`^17({_IMZiXV&F$nE2`dHv z_=aLd;t^vYfN~TE+)Q6uibE|r4VL9~?7jA+RA6Dw8&sLeKRVyOefzGx>|K@Y{Q3Aw z=5I4{bH`iG$D3UIICWPj$RT2-NCmR2`oeWAm6|o%HGI}Q&(ff=YM8um+RCz8jVzUA zhA6NNSKX1O6Ue%CmoA$o#19+up7hgQV`Vc4Sv#F`OzPvWap=_g6Hh+;rUQLYzIxlL z9uNp10pOOfd%Zwes1Y6~ZcMgG_{H+Eg;*F?Y~%m)c(`v(t{&1>h*8BllhoOptiFRN>a^=<9nJi%F+*^u$??37CWzZM{V9|@g} zdDlo(^-ayqy~ADy*(c4Xs6xAUZqg9p)=St+wXU{bXh}62gC?%@P3k&GS9i*~5u6xU zx<|}2AdMpNlC`NS_)2JEoRpdw&hm1(^_*aiXa*$J2Ra(v#R9$QdjbO&U~j;6Zq~Oa zYkXvuk2Fo+irDTgfKk=ChEcwjqkE8q*uuAq`&sbOkdAED`tshmlWo3jQTEb8BMATb ziC9Sp+77TXml-?FAY~lyTo}ft4h-j1yg&L!VW;(w5fov|K;8h9#xnn>zWZw{)jfNL zt$KTkH23^jI=wiMR?(hpVJ8k5dods9$^U;iw~WRa2(#ViP{V@oWuT4~a6?N1^WZah z%P)S`T7UJVbUEl}y>uqIEbjI0lsm&Ku1u|X6&o%R7;f-<2nUjifqDzse@LTjo?wfx zD@Q2V%b$3J3kV>hDLZa?32{wtszFi{eTM~~RK#Q~=K{v)%3yZJ9AN|zfCVBFJ-hU! zk;&gLqkF{tMMs2*UDJLax#Rs=PfXiM#1%S-F_R*evpcgxmR}J9+*?rIxtbKgh;Vzd)>g?wH3vKj+qSf59EJ0<)f!uVykT;P2m!qbA2dUNObzL&*d^4Ge~7 z<8Bm|Pvh?M^uoprXxOMx(;ig<kI zJfHaN6>vUi+U7od`|+dGC+#svkpO12Mp9q=eL*Vu=-H@E?`pJxNqiACI$_z1iy4Ibh6@-cEamkwX&pxO@sRA6@v8}g zcDwv~CJJeK6*~xOo!BQIE-~+dP%|@gi@Am~HQ4_B`h7$XDfa`RGC@A8cCln|-7$Wt+xI zdcvYqW*V8I)i&?IO)sga5X`wFJRv6_=E{{9y?!XPADSl~?Vrl3z2yp_H8sP#LGj6^ z^$Yvo+O|bR!#U1(_ef4K;fG2)^YK~ggyZ{rKh%+WUgO7gG+h<$USJ;>M}9l`(^E^$ zC$x4K8YAW0hca?pmgnpHVn*}E4J1zUc!%gO$2jvh)mS6LcRP0P+}Q-$N*-WQz>q?n zoQ{(xO(MXU;P<-=+rm?hBZ9-t+{hACjB5|uuhF8sq8al^)C~#4K3iIGL!YGRxishW zU%%eP2G$18|ALZ+_CaS6)W_1~9rl}IZ4&MjwsJXl3yJVulSRrtnZ5oTJrim5#y5kQ zc=lXVm(n6Sm_7psx)OIaQ!XreGHLleJFB)V)4LEK;-aI5s!WKQbNHt(eBz#ZrTX(f z!q?sGx}o{SOO3Blm@O!th9_`Y>XTWqK%?7&qo^DO-NP=?n?K zUHm8E0DXt%#Dmv1RHQAK`WuYJwN+es))TMAg?XchA8 z;l}sRf593LV;KL$`Q0yII;W?t_ZYGJ<2^K9y$lUQn7b=np=~zW{6Bix`0UUBttOq_ zs%PSGSP9pV{enOOIv}spO|s_sF4exg;Nu1N@0G{RzA_j3nTD#gQXu~dvYXAL5SBP>tRp9Bl z54*N*eGT&khU{}294f=#LTVBLX>*jj*_IALX!>t|j}Mb>ocr7;Tm3oFitfz^p>(r; z!6A6(FHP+|yOUnskB4iy@FxdHeBL$a>cTH&pUcW_Vk|+?6T{k0RKlV$#5a=r53nSr zmoa$@(W!|C6Ec&;Ni|)mY`ETn6#%0U<4BMApRrcC1l$e5!xTryT++2T22h^ zTW9B=T`-v{|E`9vwmyE;Od%46DwlMdQCg^RRKX3ePsgs=vuEt6Ne#OhP&zX`m#Dio zU6ZL-Ky$^LQU*a50d^R>f{RY>4&QV28)I(U0Nk>fX zQW>+Uu$%W!rXj#dx-kUW*LJPj!t`oLG!Rfq8LfB8q;=`NSw&%`(ViuTG9CVE<2S2K zEga(7fcjDiy*RN6^-O`$a&>j-TjeXLM=g*&; zEA*&(Dcgealmh9+64T718-0>|U6finYRxyY*Y~iIhcZfmw%ZGDVW#yI-%~>5v8X5o z>^wyzBDe$A?VqwE7G>Vk#jp6rg`2CFpqER$n^E=ktFHbXDI&lE)O6--8RsaKGq4tA zY}k)S3}Ya`YJ|q(?#aHk?~df#_ej)}i|eK(PKe{<_tEqP|71l?2w<-_=qJ`X&YBP0 z7A&|aFbLhNm!3yi`j&=!YpNX_%TsXOY+qNq>~}?7rB}DW`euu7g3*Sd58l+};w`UE z5tAH}=Dd9QnvS9j*iI$#0w^`2sH2ZJv9BgeECQ1J(=A^LYehpsrBrZvCJZNs*(|;R z;2o2ruBL^jc1_~uy6Ot7tdvFg46C&0FS1`IINKfct5=o;pfGPbK{>D7e; zV7$UZMz{H0u`eRRiu7bXNaeBlWrU5w7FM71_aJt?%_cz8~@D4 zDZHJ28l=R`QT>T zYA_$-Mov!o0c~BtE`QtzABShv&3=u#%GGT={zjOyK6&KZbrL0Ncy>IQ#Q>j{mqGZOhs__ zu~Ri!55g>)S@_&i@}WjHT*y5R*D@+= znh~Lzg;}G-ftldI`;*2VKl56?{FL=Qi)4FR%du3I2=t)RBGK@?(0em)N6Eq*(Za8~mM0<^qIv!b9+>}7WWun+Pv#M+o^atRo;J*SBGC)8(BmM%` zmAFh^C3ClD9FZ14`V&I%{?O18WUoL(=uleQdhm}XxVyi%N&)CK9F+c753z$<^Ttpf zqFV?2?%AuCHzhz(S=m_1j;+dLw>l=f!iF%08_wmV(c_c7rA$>A|9KZHpfpP>i0zC> zEZ~O&q9dU3tjy7p-LgOfRPi`zOeR#rkV_(C1fXe&?0A&PmZ3vsePDFEaEn-HY7)vG zP@n-Hk<^Ub@NTQsI8 z)AS}=-)H_BqkTO2O2VxyKM`6iOt|d0pAY^_7akc7st+N zZ{EGAZ@KBn`zk4CR>9BchdA}Tckdp3X9#g}>a=OTtWXDIlV`~-6VjXMBIIDB$!V8X zEfBDqNaxLki`ij3XP^XmT8X3BWnzpS$GYtb$yPGd|dgrGU3032k_07L=)?7$Um(3LOsxr~s0 z->$cvEH=O5RE7$Jk4?cNj0I+w=D^t0%@)TV<)JkK$jm`#%Aa!eTnq*Q0gP?w1fV2Q z#8T#Lb4bH^h8qyBRKsXTh^VX2H;7s}``XNeihde%OQ}coSFFsLr$4R zwcC;j+k9?DZIe=^#8AK}PUvsOP4DDJ*xi&~il@y4lb%~0aS%5i--C~*wvw4a`i^@i zHc?C#S2HfZ@>T1p!n!7^ul7(KUk{w2b>>46E?QbfA*>}hVdlEWBDTlKk-~}q|1^sK z2*@Q8?nN^lOH3^6W&~JdfeBn)*@Q40pLBkRQ+{c*m zZkBAni}r~m4z3w(tIcg4lT;9%A24Fo+ug0}Zvf&2c{&XXo|Uy7v5D-|u~qwo&0_aK zgIaMTi5ZAnIummsy~Wwi!y`Gk$X!S6!9oK>Zs!~as0SQ%)VfPS!zdeKo>j~OuQuue zYS2!jBMJoK0zO}dIe~l0?-_HD+pJ5v~sg%R)4G}O=_%tGKDc0h8c7{U%pejG{bg{ zG7%%dEOSF%3*hqvI39S529sq8*ZWulEEP z0)WvQ;93lQWYiN9FF%CE>jLL9cR+myN-Og&6%~U{ymPn#7YHAuUScW{X3gD}$z=G1oaT+~d9Xv14UcDWg1U z0M^xzi_m)^1}$dco}TARM%7XsH$A#qF_>6~z(-)sbC?NG&U^b}(?56LA@oDzP~T6# zs%gC>Cn6U%C%mcAQx8mB@v$vwF`NRvzp)wJ+ z_M9?;ryHEyJI};v+eq7JbF67 zWZqf?(IH=Z&SD)ksuxXT(Y&AhHV+t&6vX%%Fn3AL=Ni$T{_)N_z;SDy_F04Ssdpzg#J>=rdS+O~R8 zaQ2k6r!kU6cR%m#i4h02e@aO)$x@kBioxa~s+oS@1&o*w+=>_+@ z_AqO!9b?eXLD>(IjY<#yLu<OEjjG)F5?AQ`RscuT$t z(()50?(`Z{U;E*RS)OlHDdlBP9JOP+4joF6i@*3joI)FnW!a*?DD5?etno89`G#->k-%*M zT_}=($9+yMcP6h1DN#~XG>WoIU|cG+w~$9C&ui8ITbL3+c-|J;A!nSk8Vfx6J&qzk zMy%;lRoHd@n{ISED^@`+5ELQ$7yn;K1%NWy|Jc>*FPpZ$O$Os~<5@F<(b;IVFV)U2 z_z`Q4JkLEAR^4uX|#qQV~1#g9y5_uX!6o5vN zk&#k&B8Zf#lA3BFf>8)RSKz{5)zyb)Zl~iB_Oa`x?^Cc~$^ez|{+_a$hhjhJ5IsAcW}+cj`>; zH*nzFw5q}^W*6}<0m++Az1(fn_n_{Z2UNc9Av!5{%r%!4D=xx0vvt^T#~6evmP#Ra zQH-JX(VSHR+V^Z;HPP>CUF`FfSQgmoQD z7s?!(C^#94AItcM?pY5J8!!QR0;eKM)97_4l69$!P5^S|I6paz#o}GT{5BTE1 zkFz~bz

ImZO(OeM{*8@<1TaSXbdPcP`6r-IGfO4jQD@ySES0QI60Anlk>z38zbK zj;~8cX{7lPlvJcyR)3~n-FT^Wq8dAtXnw`9ezj4sY8a3LbGWlHGoX5HeRBI(b;^&X zP)>x5y+%_!dutFkDJ+D6|6UEh@f9DcwqPR+Fp%ucR^Ljtu^VR8r_Zg4H_goBPV!R= z0m6b?->2_u+qtt-V66Ma)t_I4h0a<(?$@VFp*#+zb20%5K8MfpNA`|jZviG=nxFdi z?aL6!xx#*(|2hy83J%n)^6;3Ctl@`2;y)9Z)3G`)4vc!ewToZ&1#8-WECp zJ^1cuD+o4K)%kA~kda_VN5oX);*%B#&e{L__1U77de~m&fXj6MsE=haFUt*WKBi@K zs-q7s^4ze21k+LOMO2JIq;CJ&v3XzM52q4(`8F%ot{vj(g`#g5dM;84^6L@(XI+^# zZA3RLHd4}lhM&4P7i{h;`@h5E6*RfK0I&r!sllMCEY2sT8NpR}er@qLZmkth4x9xHIa+YpEO z53YkRQRa|iS|8Uj3J7Xw7!Y6i_0y+M<@pK0PuEamA)uJ@E6 z)#4MvvNnopQk?WPAEvc`mT%lkN zUKto<$-qR?)LvE$cOp;MTte9+wIIv)a|^M-&dUpeLIm^{(=-gl=CD54b&5NgL*$Rr zX~4N8Coc)eyiL0`ah}@52}7TJAJMl@pE=|WaEs2A!}QbGw7sR)8S>KM*rTv6PjElr z+JLk%K(P1@iO`^Lgj1&iJ4IrG-d^N)6Jn1WFO9XZdGnQ$;Rw)~5EN^=>V=(fwCbHU zYgut0Jhw7eah@5q9%jK@!VPWnRzqWyqHc}84U_$io`Vv+O z5)1oj*mOddqPxNp>ES+H0@ioV+disbT;)r1?U3TnpYIViH%*?9X-ET)u;KQJmwi6> zURlNVbHAuMn=sb3AMEJSN-w?UXD6~V!USE|4)U!mzV=bNnk%IbS`^?YONtXWO3#4a zE4p;<40DL4rs)!jaxO<$h~dfcU{W}KA@tu(J=j)FZCcrCQ9S7f9N{RQT9~H+OhGD= zrj6gzG%(jJv0zHU*4cLR1`Qwny#LJl+Gd~FoMrVhrN8CBpqU81CuYMS@vE`{yCyp6 z;Pv%Pc@V|EW|cR3lZ?D_e0KROIl6#$4ArOnI6Ovu@Z5%5ZjBCvTV}p`$GFeG1f>NP z9on~jf&=N-%0N3xV{zWWx;`2!lPLZKRVcb-u2BSxpO9W}gz3B0mp2f`Kl~7xoVt20 z$=C5yZrRIXN}4h$$EFTGB1~*xxAbE-H&3&)vNG(qwb>V-qC=&N>N?<4;7Ypz&jk!O zfq5770C>DUUOa=dv$^Jn1EcZ26c^0ip|hTL{D5soCaG|WCMF#P1g3`-V^M}JA04u9 zymIYYEl3%H3`jA9d2=`%uF+Kmc^HiVaQ(~1cCIObK?+)sE}XzHnf4qes}aYaGGapUe7YoI4-1ie7_}H)m24JmE5}l607=bH~*|% z@Mh(!2~w`nLAw-(SXo&i=6^EbH?#n@Mdn(=u@eki zjKqt6<3*M@Q>DGGmWfFug|oUt|B80V-;vu$%Y|H}s(%{>G)q2zUb^p5Gu85G9JPYC zO1oaD^RattYv;yU4GjH;u2}YpO^&_1fkpyt7|sLnV3KCaEQ``}Og`}7!2|bxote31 z^yCJafx$HMXlt?SMzK9{<%0l$X|Xy$*w!$$jtM83)}NJf6Ma3iR?Zs;;iM3^7Z-I= zHkT4-koBXc@C4JL6mD>#IGL$!1_}yKkq1=B)wJc?b{uZ zoq_29d*_{)t}oRzmz}=>SVa-+%Uz?+=f%VSSx{%g#DX4duh*b46OPau;?To1Db|WU z6kYskW{Qy6ZUa9Di#p2tN5=!VBST#js07K`C(KrNLdvwuG?g+yjW+?=Gwo%CmtI7Y0seD zzP>6ElNM-(uT2ph31ysKQbDJ7?aVDLZ_S+Q(q83KM+QGo$`#ycI+!|+9J1-vO&2$} z-$ztVtp68Lfu72KW9%7GV=f%A=Us*~=a|OpU1Vr|+dl1Nzz>w}<=JXmHs#G z<>SW(q=WN~_j{qvV{ZlJ7#C(QO%49Nn@0qUH#d*F8pg&7koe;-R=2dSr*1m4e2UHO ztcw9}Uybc+ZC~!Zy8FA@n%Vd3);3p~RBuWHQ}fc<$YOE;jnRafOzReG>h1MCY#e)8;$7fZg6ADaR#;(JhIpqsz1Z4BQ_rZj{*(@Zi3^bq(K zHu@1(v8QV<-Dp^qYE`%qg&uh{?k)dIM`#?O(ep6otu)5q(UG`6FKbiHs+V!0kt(E-6 zF&gY4j8C~$@93j){0H^$Y0O4TA%5O?(u8Q+<=R!-b?;-ERIo2RJeTcUe&|nFA&}}g zbM7m0bp-gd|8=Kr$IN2$P7$=+o`aOo<~l@~59-PX69X8aSileFiL{0eoo1sBv?*Ey z7U|lKIc+?CVbQ8OT&>U)Nqmm{bk}$u0tr-fH@epaOgfgd+V8#gK3X7UmqVuA*PU$L zSg|##ArqCE6kr@ln>_C>TTDjbD1GAG66~M39k<$c@6(nz`9Gy_;KW`iSj5wK!kxJO zt&InYXthsML-x^(b$!@g?I95YEYS7TG7g;dnh#RE?;~zv7}w5w-DGcK6)3;9Zi7p& zpMGJWMX6%IC|yc2=I-~3TUeoiDOh(1XsbpG%`lH z@4x|j_gD4fCv{)v_&==Ol`q-&X+WcG#{?f}{G6<)+H2gK%qLGA^b`u3j4wX?H}+S1 z*sHi4M$o@~{6le1nzi}&8~^sPX7p{MTq0Ru=Jw~`GMKhipPm_Rx89G}*lAXGdiC%7 ziHq|UH~WVVD-*IsE5dhorZQv=z?0Y0=xs%s&05ZE_JG57LSWtn4%F4x$K=QtS*ENJ zDL;$?hA?AAeyt4}vlUT-_rvUW2ji*O7ipvoF*J;quxAowgqnc=!bVeqe zh)m^-5Qx(bNKOWJPb4fPN;bvo)_#8B3>^u2T;1)5(h02LK#l`HhDJu-L$2jkkQkCt z7qZO-rGw1VF8=q_RtjmP?PhR;sAc=FxI$elEdZ*99{cOOREp|#Z@s?(BQn;99=+j?&>CjDmd8#Aa9IW*eslxYvTe(2n()1jMsL#gGsNKUTZ z+O`eWOMilu>im=DGaMZcge`*1xO`{cZl6WD4X}ROMN$my@pacYrsk1PiO(AF7N<=n z59$7{L4*Lko+ToXaFwpXArC{5&M39~W#UE`KoU4RKD`*;kYE2#Ab8v%r7NR?vhoLH zl<6ka^Y7)77K!UtREnow+u$%BXq z=zOuwvaEv5Hl!FEP5A(W!SdgIV&t@i(qSdL9+<&CZWFIee9oc;&Hqg*i5)&G&d$!D(b!={v_m0AZyy9) z9a)FO*z!9D4C~UDm1-(GcTVBK!|1yg z#u$LNngHn_2#3-FB0mh~xPiV3+MuwcB%4fIY8-Fmz$1nGk01LW*-0}(Xsi%;G`red zY@HTZumgPvxCJpA+>rCPcvMI}79vCIAzviN{Kky|u%$dh@GyDlxTuKBgZw|d6WMdD z>BhucbQpqr^h?rzwviF1(9Hmv_z4u0c#gnZQB7M5?Ac9C!T;zm-p%R?svRrD6GDD6 z@-1Oj+;fJJ#$RLnwrQ4mIAoP(FZighXc%qWWB*EsC;Hx=5Mx{&bWKp{FR z>}z2Dx;}s%Rq&s96%L?xh$;}(Yb%uaPyygvgzhK~l8hF#19f(x8 ziZy#KjmScP9RRf+3NT`oN9BRRcbaH(A;}!Vn;e3)!8F(UJ`hCW^};tNiW6wbu+J3W zxB~QX16fJXH;T*1+yJ@@Puw-VbmFNcdH`^|uyN+anhIM!@$uU6&4_QOE} zF;5L-=Xh&qEp~0YhUJCKWfJ8=Tv$NJ00)oP3b?r9aMvj3+Jbk6 zI)>%^0kP<{w5$;`zd{Wq0b79&FFtZ*@_Ju-(3n&O`j}kt@A)DZq(PwiAkb za&nT~(4av73CZ#Lb$wVu3it&C^n3OJDqaN7K+ZMeS6)+M$We8)el_liNs`A(0RITw z;9a{`D#pFw*|STds=WAP47cMOMONP+jwsO?b;zGU7y(5giiF9@e%zMED*kI7*sOc3x@97RzW(u7Td`psD4 zNoc5U=qylgwkpS8qoZUa1GagvZDa$h@DOD?>0YQ3CJE>)G{>0; zTP6%K{Mm%BgZQBZK7HiO5@}$GMekP z)3|o=N!7wVC9dbuPVXc6WCq`%@7Onn@BtP4>UiqauV2%)NOKxKcmY-Y!EDQ|^%P^z zGP;0t7a2ue_kn3SOBE*FAZxrFff^gSdF>XTqj}~NG;6v7gHE&Z^ z#<{xFaLYrj6paV1e4_yR)4yLQ4+u{muzFqZUqT?j_;Bd(;g}ys&m##0gIL}{oSo)_ z<7oihE4dHxbK(vkg?njDw8?|k+X?NdTR^>&6BSNI^3U6R?;j8s-74elhge%8xCHZL z=jbTP@619(N+>;Fr|t<$^C8}E0C*&V0cf1L$it;L&h-==oWdNY#;Ba|3*IhZ5ih&M zg^HF?Gx%_5(tx7L4DOLUlnHHRDuizo5(tSPZQ`7Rh7hM`I=W**#WW-+!LM@a{gY6@ z8mP}60TMz{!GV-4r>(>I(RCditD%R25(>pE4>m|2h_+aV#-=72MgIFR9HM~mFZ1q1 zi-X&u2Kq?+97XK0K#pMXl<|_i+S<2^n8i3u*T5@ml+}qY6yJi)AM1=%c*yaQ+I-lK z3ae-kPz=~Qy2CI#1@_t2EVbIMmkOm<3Vn27tsZ0tvR-FdD!3g=%JeA=5mo z*k|EFsBIFS#Q?fN@Sayudh0vGzHeNxi2KNO=$#-<-~%Kh;m9)nsA&rgSiFk67~tc( zS2SOwU6z+Q0hS@tEj9$;4+nCbjEo{*j3KoJ&GZyZi+tT*p+6O=)`02-;VYQl@Tqqh z4U|d$5*kQ=>Z->#oKnFvifg3ku_o?kV64$ zofLF1BH``{!TFCaqwN&ZZ5)uiMzTcEa3N&`>OMQHC{l6Yn;biP_5k$Q1k_Yiyankn zHVHP^Dxg}h;*f<-(x1(<$e*IJf$Eq1qFB7B&C`!ahoBz?*29-?xnD~w;C9I`BU`_~A2>0|Pk|@?r!%`!MqL^5|u;PKY#oL{&f(lSG#fa}J zi|Q)iBTBAer4Vc20s5ro(FX8dL1%|`xDQ1Tlpi=1fiDW;{fHReLs|zmn79`$TDi#h zc!?Mt(@ax{Z-^NK!eLxU^gT2nchDY_TNExRT;PK^E}|OVfw1Qk5Rm3qb_XZsv!INd z6tW5EQ^JqP>7*NTa&u4ZW0wH-18f5vIa)yq931d%6s9t5op_#`oyY(=bo zJiJ+d|9;|gh}WsWhaq_L0oZP$;RJsrnPB&CEIqK5)jj8_-cY;wk815V+bjJedg|#Q z^-rz+Gy_zhLdK?q%9EMf_y)EWuqnv2RHYoKgD2cQMJ^tQi2wsw2Q)>tc2om*mkqJdJ=vC z;x5v#seVb=lJzLE#{&P#H8Oh*VaBf6i^x^@%OHAe5$=A z;D ziWbQ2+!yE0NnY@P!G4z4N4ZzJ!LY2`YA-UX8 z&#n`V7Ookh;Xnz6a+73<1Nlie+XPiGbncBndWqWVKWs`n{1B4g{6IJm^B-zx+$PD$ z(CNtJhPvcb-p4O>DH&AB|M^`s#!G}*|5wj2EB)d%N@k1$=plY=*NF_M(zfx9mk3~K*kfioS@dg6hRBiRzW3iaDCx`Az zZ@C6!4yb3zy&x*~ft!)mr%Uqh|Fi(ji8{PL|9zUqxR!CppiR-kmCgS;T_hl{MgM*E zz@y9G?GYTFgu^eU3+Q(|HoE%MX%^b%%~cfg2B|eg_wZ4c1+O1pk~btja*s|{XDt8k z)Xq~dv`9}JLUmFcvkYt&dA0g#iTCdxmFZ^c#gZfQl~gWZU=-k6xwv&fUiTD)@-3ZR zbJOctA~8w)XI?;_-cIZH-f<#2wnz^_XCOZjzxM$o=rKETdTVxHrH}`qVWjJIXVL>_ zCDt3F2@o8pl;I-C&0P&Xj`i=(?c2cv$Q4hJV$M^|-u|1N=u@PY1%RnV2hvssIP`Z< zsnug|@`x}*3eWkmMJ_q%iv3o0v8~-wfl}osnu%hMVJ^c02f#P| zZ?yFEO31|rV&tf>3|d+w$P;)2vQn6Fa-#gG1u+}~JQ{Z^rnf``4;)7cV1&j4T|JoKxPNri001Z^kgAa;2}M5mTPUme!K0e^ zh0yYZDg19`NFI44ATg`=fmrk*AcPHzU{Ek7qPVzGUapR95BdiPm4st2L+Lq$jU-}$ zfBXKu7H?JsCsE#=_W;{4%JaylGK>ep5m^HW5EpyB|5NCFQ3^5q;JE^@Hc*ci!|QAz z`|rrIh`{4jz}N!4~eZJqjy>a#z;aNDx+)gd0`0>t=ttF2K>@*@PxH+*ioe!CyAc>JM9Ea3V3Yo zn>UOxdNoKp(FaD6iGvrP=#9K74Av0vCn0LsDvHp&0wk;g^0P1hR3~D&Y(l@m@SQ;Z z9KRN#9NGPG4-oXQr}Qog0|G;09=rT~@(2)70)QW)>h%b8;9{dtuuz(i^$AE4qTfS^ z`oY~4#d;rr%yAU?-eBShISsA+zJ~MgFTwP!2-KT?x;z?xF%`%PPAmfbVlYG_mj59j zBDfD8k_HkYyDJb+Bw~+IBS@4;ErQTVVg(+<1_b`g37rVYtZJY|o0g8#(bE%L6R7_i zoKpB+5B`^kEfjHATFl!2h5ZaI1`n3R~6@V<^&P7TulF+WBBB=jX2Pz)xoCdfb z&{HaOcm6$_GhFFz0VasOB#3zwmf1k|=wUZ0E>;0bOj7#MGd(uV)WSkS3WCVy&Cvis zk)Com=d#4e9d0p$UIa^?0Puf(r2hbq zJ?K3j9YH}sr_Tl19*G8Gn;GXp@S{!%Z2F6r@4w6UXo`X<6`D_kfysYRvo3ZELU<@( z#{j%h{0(|P!#$1R4Gv1UFJRX+9tdkN<$^+sjASB02GUu<;|>^wsC+Ok6z3fJvPOi!1YtwA_a5pSPYo!RmCY%8$`GuVzEMo90wm|}o`M5Brrb*Eo)vDEDLwM}3dct7lc`~y-~k}*{1Ny#KRocVaM zWL^L&l*0(A$eU_3Ibc5Sz3G3|ogF|IV%SW+*om4#4$*z-Gx9I*m{tHzvi^P^Wpy1A zwda7KrTIWNS7WY(P``A~1#HJ?#BAeg%EVMod{=w0;3x}X7nZM2;`SxZDO`7=aRb!& zE)aaz+?Mml|Il9Uw^CPTjnasKF9n5#v)@=`GfY=|MiHTon;}DKKhmc6U=mQWVTt)6 zPE4$bN{vHhWiVkZ6@wpukS#@JWx4PDV|{&x2LBp-War!HV(FH_}oh0@V!v4 zOUEs!{|LW|J*IFiGYLiOre+g~)qDa1kdi}cM%8e@U@eMj92O)AD>*3|6e;Nk&q5&9NHD#4g1LH z3$=F%U}TMnMOoAtQ4^wYKE>N^6Bi%4RsKLKh8Yu`(Wz7YVB-fgh%nVi9RJ4Od8ug_AiGB^8hpzowmAkbQOsO3m?djE*@}FnZ$#YhcI+f}}&K zmFWZFc7#u9s$=a{s^0S5xQ&u+hKVpZMi0uBG@dr3Z8;&c2NE=V8Gq!@;J&QExakTW z8?oqC~w+(W?X`r^Q~dNU00|1 zs9jg?8zFE-#KdAx--DW)bX(YAV447(#C@8DZfz06v)jJr9g!1<6BUmSyBg=;2IM9F z^uxsfuqDko-FSXqga~M!`d5_ca!wLWgfay%USjFO(7*s8s&EJeLf3$UW?Ota7Cuf9)BcOe3Q*@E zMDl=MffNQ6o!rv4l|bOGz5ZKPplXsiQZ$}dT0+|_^ndNY0lI#+0(PNYO<1>jzg!$0 z&FmyIaaDr+6^Z-KzH82(j1J!cG>|YTU8owdC+VkED9ru3VI)8te_V^&r4cm_#plT> zK#oKy@a>BOC$T!Cx1WRGj4cPymkUSk2n4&Z3sSa&w?+VJoxRP-KQRl)VK1#rI(aUn zU)llGB%y=&z_sh{LWoMPFI^>;44d+@E1XZ#zOB&H$;}VS)>!aij5Vr^T3~Nf*c}fr zQw|yc=o7B^;88Q3798Xi7;2(~H| zWzNBdqYyv7hU8QB{#S%heIW(|&PjYbg2Zk>-b69N!8bhX1mKyR(0J<@ETy2N zlnPdmTt?6iVtx{-a4~Wk;R$4VqU5b_cywR|#IZH8BG8=1gKvi<``B+543*!LVsy;W zu?CFmJUC%Uy*2`XkurO%fIfo)-1JIPQqq={|8(AA3Xk;sStHfGw@OV*`OQ7{oU@)E zFP*4<&l+iP27B`x0OUmrI$qPWFD$dCX(T-r_w9>xUnsaY?Xk&Jia#MisjWS{Ww@fl zG$bf!6-$`+lkD@`cYHU=ilsMcuk#z{SX{vN?3z;-%6oG4(^F$mWhcf2*r*Ov-Lpli+8PV(oihn!kPx;bmF8m-I)pjtpLZq6f z;18A5IFzo)Fl;p*dMNVqLvAyAL`vxd1QqMCX%E>mTFbyRfJ`A~9G5tvpJQd}S7nx6U8=5l^q2KU-!epGZpS%8$fFsV4JYY*+}0Ny(Kwpn5HDjxk~W~&jpXm@rtofFYXX#1}7a}uxy zd$$4UQx-Yr^d5j6CSrFiZ`}o)v}B)PY1o5cib_p{9}|1~N7wTq`=gtXGgJ}Z2Erm` zafJavL1g4Nj13WZtIOgse!ZEitLoHd4=y$CuueR!X4v3-@G$C6yU2BaoW}m>zPp_G zU1xlnAR)q@BB7yf7k()XepIv%2)LnZ==XPe!w$jjQt6@JM^)->CiITETrr^EwQKFC z{6>g(j(jR?PQO-oAODgX(g+!TiiVJjrP1t52{`MCFESkhC*zHIfE~yd$jx<0_<(?c z7(K%)y9|1fSh@8FrU6x=EBy$eN@#sP@SwdK8Wko2_@Drzj-#Cz#SZTv85sly3+*^m zO6|Ee>bsB#Qn%I*XCnP|)4s{$0S#dof&%UX^i-)4f9v@jM??G60*3CQ6Nrf~G8OhT z)@JnYE!MtDF;y)tR+{;>*|u?w`zj%2%?I@_b}+oRILV+EK{3E;USK8#w*1K<=p;!EcKmp3#u=1cu#eOO z<$w1s=k>@MwTB3)!U#>I93;CS+!Uib0lMIP$9W?qW`h3(V+2ut2b#&C4aMEoI_!aK z@xh^l>`8)660MxGO_}%M>w;@c4-B|@l1@?4=u?2U zT`K4D@|w8?D+o~5n>=)A%d%MIcw2#&kyeyUsluX5zww7eciR?!NcyyQB{S%-7upuSYR)k7gXTs_w{4VC9Pp*IEo(KLFD%mGQh0lR#XuZhc3wz){nm9IQcx381JpqT#G*37g#Z*ga{tzWgY zw6t>Hv$y-mcHec2i@ht$>@P2Vu;SujUW&MO_wKSz@*b9x?euGvuUh6$*BKZjpECRL zk+U`;#HH-Y(O1bviC3-zTf%*bM~yu!t_EQ!iyH(F0H?LfZMQfs_qUReHe z&s{{}L)2CLeC_Mw(2U=HrA$(@KSGAXZNowWZouoP^ERmeV0(!z3RHAg`#HRGP#QiD z?bmzuqmW%KcA86F#7e25Tu5zriu(!AK_1Wf!6@0_6%Lex;s`bW z^t<%|15S>m4>|I4vyhne<7yHCGfUv<7uyH-;@5Exdg>2sRB~)DN?;U>;4?XqwuJT( z{4h{3!=JgvnK;Sm(QV*am=vBpik=ZP5rHb8FoEm`?8B|9lUOWdJg!`v35pOvBIy&j z<_JVV)I7n8d-m?-LO?LkMEnqhilmrl0iNFkO(2R6q8)N~udb~Hpzs#eC-S1I5c~|| zZ=mbLDu|GYHJ|^s?*4uIdeNw%97CA`H(BgtI7V~)8;8=~4&^f;kS!<5Fp7n+2@p!5 z<_EHXW?lAt55~b3VHnnbrkj#V_aKwvEmXD`XA7Vby1<9%cj&#m(ZwMKV*_GjQ08D3 z?k}b1izJp^P>{I$@WIM&p2M?B&NR#c0Tvva@I(O_AJ|6dL5!QMcK@>{?t!a?&`poc z^rKWT@E9HyDBg%t6)6r7`0N{kU>kEUq z>FHOqq9Nb~&9m^2sKqf2m70|04ZX(uJKbt;R1|YOPbxt3sTVAIE|F0e?o2v?sj9bcN=7U#0r|?nod2 z0Gc4|jho4ag?ZbyLch^F0oPN6`;s6^gz}z8_CRs#$t{NYsml^XRf5V|B*+J`FC->$qWoed5Cy;1~nsk48co*aW5lJ;&$*=tXt) z^}nIsL+%uMZiLmX1)mF=33cT=>=Y13CZQ{{M6nB+R>UO|xn;4 z#g~M65((gj@Pp!<;99@_9hh@1tRIDK+lJ5^Ag4SYEfDqzLJ(-6g%bU4jqZ09`YZ-v zpk*jdpQ1NIy@BKjdl(6c3HbZtOOcT1S193H&`Dsq5*<^N9^2rhzLj`1^xggC0uZjA^|-)49fJezoqLMaIE#DOCz> zzzW~ai+3jbLJHCz3G5QS8(;A;PvO*R)r}V|f?6JimmMu(WZ_+Vi8jMj>3DO&_t#9^ zF!)o=%&c?=Mre$0Y)7~yo?;UUEUG2FF5sA6$N)_|Q&FNi_s8N;o|aI#$@3#<4 zC^gY{c-+oyqJIzWN*rljED7UdN#@HeWHLK^thC2Ka>6?i2_kVrbUhS11TzA)`V8nf zJR^3Io9vN{MV1ZWV2LylCU%4_sMT`-f!zP_za+6A+#o@vp++c@Tz!l!cVR zD{o;HJNqLvoNY7Yg&;zcD1wr0>Ju^Wh|oQQgBUM=%Bal)ZSxUm=(*ZYAcavH*FAD60ME#NgqYXKjIgl4OnTwy19FT>?so=K4l4Ko zpO$V7(?x6}q_6r(*i7El;Kj&vIV>nUbf@&|*?=miqFJk{B|aL*>W&x18$b z3@F@kwr`*d7>b7gMW3GHPeL&vF;cbWFS)mFZvI5+*55O~+7|fvhrf7Q7Id6o%RbC~ zs-xxAxVl_u=-<;v%bqmzT^f$EzM0xx3_s7XpRm}0tFvE2PMGfA2@oH)tL|f8VORNU zP`k!d^}n#imNOqC$qc-p&6Gu}26YWcXwqk)XE4pSG&9~VD=VAcO#{CX6bIz|$i%oa zsIT%m@<_ZXctIr7Enb1%A59wQ2#v9`Utu-M%mn~_W#=5aG97GCT<+w+gLLE^e<;yx zgdragix}$wgn=exETB^5^HzY;Je7Ai1gT^drrLc1xOE&nIp|MYSTw=@&%+P_jhzEV zN#Mj*Wl=lBV=a5p)fMO4^VcK5&SPNLB|}zWP=*6o6gK!fan#IOYjLjOCW1TU3bw1h z5~hT$ZHj}l0_zwiY=l_`B!~7q;0@O9WrWJ5 zp9^cCHG)tokSi!MQ z3E9~3glVjl!O6++!WS(PybN`Q{%3TQgCvdW=Q%o_2;?y1Y2vmAdt7`p)^BQUu5W1!&J^r${S9LD2Ws^ADTemntY?e&7>0=G99ytLK9tcxHZX?GK*H;Ld{XCbi zyMS|AW*2-s;RsmqRN1xE&{aIlbl?`0##b*NfmI)93tZ%O->~ZVZ-_?Mr!^mZ(7JlT zV9>2tle)3(yCm??@V)lJI*3-JiT6!PRya@Gz4LdB~ok(&teG*As>HY?=GSYSKPq!4pUPjvZhzP@B zaXN;PnB|ak+OXC%rs=WV=1H60cPoZ=cBv~HPPb~g9NX^2Rp9bLe7(%Qi^4mtTyA_U zIylCoaONZTAS23OLi@B8;CY~z@LqFqqvtBf=DnfQ!@5a=gs=bCucNISV_5Kf_dbw3 zIDBb6ah(7>j9O5xK;syeeT4T-60UUA-$bo(y9^@AzzJjK;^kqF9huZ5K?rp@edzuO zsBs^9W91W<4j@Y11rW!Ur~Ck#4_{JBU`6Zw`)j#NujW>aawB<_z>q*N+xAvmY0KNF z*gHs+{p4u0<)q-ilzTsh!WzjTw{``Y>kv&1{*%mAKwbPDr2u{UEQ+$HGNLojPo56~ zHH=s{eDyte0}MmCw(lqASPy##?m^%Q$9BT62@i+&(Uh?M|st ziIp!Dk#4*uUvBX2@W6I%Mky8$hqhH$nIKf9ZmG-0QIG)ApV!7oS3hvLy{}H_5C1aD zrs!e)>HYD^%?&mv)mt*7%WCRIzT7Er-ptCmZ(qx07VOPZz6PZWs}Vez1Z0X|Y zxd4oZKXHVjTL9Kd(&5l2kzrt7+hAo5hAId~nQJJZaFY`8YKwFryaiwb52ow!poS&+ znyhvMpr0UKP(`~0+=PaKfdQpJAcUvDTA}PCp-~`uO#7EehAN7yR?s2C%Lw1b)x-{P z8_Gh=tqTK@ieiz(M8Tl~c`T-zi$HH#qtqM6fRszXFaaPr;8VdcI_Pu4V!XC&+jass z0FYL+POzcl-!fuVQHT#6Y6}=rz=^mH+G?e@m8?g+4auy+_s3Gaf_i>46cZ3y9HFx$OaN2PcE9y6 z&jF zNT|2dE4>)0GoN16C$Eczs41%x_DB)O1;1Oc$MTr(Rzr3U(Ie`mWB9pPw65qP&RjGZ z7=yTS(jYP&X&co zumN8Xw*f>AY{%Pk*Hsg z>AM!q8$P`blQWAT<3(67{)VFG_%VDgs-8_qYQS$u6jfNG;5|fh3ScUMlx8nvm(U1uj5gA+JrfjFY|{C^K}sv4S69DeZpP1W~x}48j zX75`0Fjg+`TS(2aro_uoh-T3SE{?Sw9BWM1qkVRWRKqlDLe(t=et2vKYE$!|g`S1Q z+~{VBGZLPOp*Mqb%L2aDg$W6$7>}_T?WKN=H$(8&z?cF=tPR#ni!&y&z|r*@zgRqk z`>=-c$iA~bc&njYBk7kfDs!z_PSrKo$>PGo$>TXJ8fzkH9C%MXR%yT+ksq^f= z#Ko79Yvej&9{Na3RJ3no==DY|i|RqZv-neMWsiqv*%=6lWRAJnIKliMppgg&`0y?izuOT;{q^i$7k@EZ6~^wgUM{YEw`y^5dQDXo`&ek`rRs`m%Qk=|M4^VQt$URD zd!}kaCSCJ3)P=yFj5bT7EbQ3v3p&v8A_AHl zF))snC)RT;NocQ6MJ51j^p4q#C{V(rjO#bapNv}LRegbT3^tEq_u4JYK%>0)&xa+8T_ z8IJOEb>#i^(&=Oc)kizmznQzd=asV+-?kj;piA$b76j9=Oz+rFRlaomosD0D`8^}* z$|--nAh#A_2U}aevCW$o{APZu%02$+(>r%UdB#yAau4k`j@3M`eZIOk$`%^8ud&MS zknu~uc4tCcC5UMpL?5rR*NlZjC+K99^@A{rp&0ZI+ReW2G5dy7V@z zIK+KS^@dXSRJVJQebL2}uNfO_%#e|-yqfyV$Ci%{4>~8M`A+PHE;$4(N7u$ardbzk zeHojwdl-E~0vz;1OeEKa*Z!nmId({86QC>H+^tXNE}q7<2|%FBP7z9-o6ub#TbqPQ zlEgykQ32=?VL@~1zKL2GK}p2cVa6eeQ7)KRB@SudXDKhWl$qlE?xeJiY7bqFc1J45 z8g`qCc;+!!p6{R9?R74t0r^14dX^OoHk+zL)xKqd695{(oO%)sfm2fW*$54r&niyln9wa zU-q%wPaXAI^_MS#78VwWO(J$^K-=)>H$7 zB!;Edp6El-K_hRh0;eyKvdYd*@7QmMG9r!>+>8%1GOnSN12!JMQU-S#2Ac}P2#3DB z79a8s#3CCX^PCUz1YsF{+_dW(fiHK@gKDJ=|xRU)Y&;{q+Ez9{j;X+=qrP@4o^?s@@l>Dso(s2M|=B6Q}#oy zf45|q#)jz^xd4f=L-9+DkEc#;&*=PlN^NchDneo$g193ExnDrlCZS_S_~}*1Q30)^ z>LG~NHw$0BoLAC!{BHjj(8OP5}W532pSF4 zjLgR*l082^KWOfP(BHrjNc{K@YZ`@?@Ju{pVmgRr8K9f=?2x{p;SiPzrYHUv97TQt zkpp%wqksb`0+3e-uc!`H1)^)VlvyAa{x!UcSO-zCIOE0$UpV`@;O!i$nr~>sI8k39 zp@n!s8m1oy39Aa*Eir38wHqrN(K0vJT@S8!#4_>KW8HKGm-VVMeBDwH7rRazP@OqM zwP8c*%V$QH_xY^|A^=d7jVrV-?tzVZBb}p@ukU!*iQtzEU0sxYHwAYqUskqMWT}w) z@^Z)ztyJu)!5nNol%|(Tm*3r&eS-!EP)#Bcg0>)r8qPjFNVZX35o8|y!QYu*EPM|; z#t@qcXxj3{NveMnIuVZ%D)FvCM_bz!a%9rApiVshv!f3)244N*3J0rJU075Rfo6it zWyJy12Z$Xc7d@i!NJd9vlj+RV)Hk8_F2g|-awNP5+lGsi^Wa%(-KC#oeRZxJCJmyK#M}ti&)exz zo@rBSa6BTWbfh4P%lpjohX~zSe<%~Nz3fk zk<#mn!;jcT?0S@(xNfX-%8P#-o-91q><1%h@*MM%Gd0Z9UtXpND7~(#WV*OXTABr? zMV9p33E4nD3ivD>9B+u)8jcQl3Nc{Y?9_WL6t5urP5@A?Ex<%fv|;C5T{SXIdoGN# z_actJKn;pNfWjnbA|n0?)jdqE(9eu9K!1jq%2y+v(onvD1|gt3uoD~~U^F&cS+_x^ zHFqS%NH|6h+E36Mh;*n$Gf$=og7`iLxnyk_G6wKD3pWpP=y5YqG@lyl$L+XtzuYjv z&U)B7=$ODvR2OjtoRmTr64T*?Z?Rs2G=la_Qu%I$Dvwp#h3b7L>|tTzAWO)@ocR5L)n~L zLY-|DcjknH@ZGJAZWD|bF)-vc8W%|!nE{+KY01eIZ5zJulv+oiu(?yIP7>|_pw@l( z@WIn>86AYns|f9lidL-{K0#AzZ3qEzcm)0ew~&yZp(2u6Cvem&B3BI&1vOa4XT1#( zf}(}-+J{%59toyG4F2Qd^UMpgBAeq+nZxR=vDY?PJl^8GM? zgToj!4yVU4fOG&(*b(XTImb!}dLUxi#TiJ*EYKMafO3g$4M79X0YU;>z1U3CBVRTb zfLo~_!*f6#K%8Bx<&9rXN&4ZV4g`2;`>JY6J!o&-A+tsYc;XBVvFqxOk_ zvkD=P=zSU`3qUw7KB!y1Uc3=tbmtJgQAX@*C4U}$!#E}9J6!kQxw_oT%Ic#|)UxfX zcyi;&*`k`+Ud`%)KCLTPdrHTCM_h2;7)$kpe_->8ja}vCX({@=o`1|5=}f<WS%TY=JenaMmiH*$42Q90Dmuq?jOTU!b-?{_wuPUZ}6N zidk{_V(6E}T#mv4$#k%JVUthH%#hSHT-F=n8p-Tj$Pad?0a`Ktl`|0R1y@8o@?Ez^jlD1|%wN-+o)>!zf+`1ehQo0X&l#7UkvT zUB~?J4Z-8b94^&(YTfC?ufY^d6ZPC*^J!dwWRS+}QY~YZ zEc#y*BKjc*Wql@sHo26VP3rs!;yw1$l!e}*W^yw5qRX3l#WSy7jbMr;J#)|>gPJGI z%t2b+Atwh##0^tVe(gE*an;V9A76GF&0A;0o3lL7sqT6%x?evw*=LZ4gaJ-b|3)F#`Z`m82QpMHhXtS(Q#a&fm1%7E zedjhDs$Ux1+JzRjtMqbVC);wqWj5cUl|Mi`;5yZ)51?N@l#&jOB{0iw6AUtDYr?tm{HpQlu>KHaA?@>mtO9=fgud4 z^J#PRnZHgraxn4HtsI9 z*P-~hxZQdU`Jb&h4`yE9r(3)i8TdgyN}JpF?JxDcSZR^$aq9~WgSH?g<#?p;tYEy{ zW@TU1c+&@Kr22}7nv~N=K3GXae){!ZZ3RX!yK#BO09W>ZKmT>gZsp@c6BnOv8GUmr zdw#0m!k#+sLCiRt3g_+QBwRiX_!(Top zO?=zgUi_S)Iyhe;OjKPxuIssYTUn_z{ySNp*D#pfrT*3?KmG+w8+CyM_G)EdApgz+ zHGD0_vqw(APU$+d?cwdG3JOP+E`8kvV|E6Ant*crnSF?)VO}^sIFKwUzTr{(@S8X9 z_U6hT7Tld~9)0V+^LrblGUER)7<+qzHAe(Y+1=sEZEfwkMZSWa&hK}ZC*Eo39B}9; zluV4ZIrL`m^oNGm$E5oHo{z!+fkLXohxlme__w9My0}SK@A2Zft9q{h{T=h^T<$!T z&$q}DVD#%6t-tW0&^C+oF)=D5&P-Fik@rV2A4I9(zN*)?$VgW^yH)(3q2pj=8M$U4 zcB1Q9aZ#}sxX}F@H+{Qyy#WTX*@SIlhrjXs71ck^#rH9QhM^5)%}{TpM{R^(jEZ}r z@;iD2%)||M&vVX~E4SmZ<<|FcV#g-PPMo=^^*BwX_gAh-Pp8eranr;VZ*2v1h z`H?rA_DQ7}DZBj`C429U&vV5iBRz$s=lfXs|0_{3`C0@$sHKo&|W3ILlDIPS{to&1P2fq zFd1jjQK-vhCVr`OJ?y`+TexX8Gvr?L=it3Xix1WgDJutCQGTN(_@Kn(&&2)k++>;; zweZGNX$tJ3$u3{(j3o4OZqAOW-+7#!b5Fo{@)}cQs;+&Ds-e28W9x zQ%W!0dg+psg5i+{Yj@on>hb;T*;GIEeWEH}v3qVvi2S3SuKvqMUn%`rnhp1PD0AeR zsg$Vmif`1+Z_$Nu+u%RH-xh7_At|SKlbYS9hNk9sj=4HFua{ezV371%2`>y`n6h}1 z(S29Z^Qo;&!} zT@JtWXD#2tnXXAuUirj_PZfkHJ9jd?&-oIXm9>+isVUp_VtBLM(H%Mm4{o5WU*GfO z=qv67gPWGw8`YM8%gZ*rUdPXGc=DtG@~XyXa+?4C(bqL7ad@J`vG!9e`>vwG!D55s zGt?Zs;`pxTqn9Ui>VpFVyNoZybZ*_4YCwJL(^aP9&IemtJ!B71UW*?-=F;W>@@H5q|2*5^ruR=CEO@X^h?aDuRmh2Pk6YNjY6NWdg6KE^KU_l_O4HJ z2c9LJAGx!?JnHppVci2c-HKQBi1ZKa1tLFu99K#o#}`fF{NMWTild&N=Q1|d%h^Fk z+r6R)!Md=tbRaGrr2XB-X$7NzQ){ZMqGAZTw7%N#(=SfiZtuFUXs=jSMg`0)IOk~T zj~31PYn--EtY(G2)uV%!&MUll>}Q9q$L~?ix|_dmtp8H`B&T9w%umcm?8N=BSQ||h+gEP_lnSk@> z9qkW7T^t3OuCSRGq;9ath!uVc4>dti$<$|;nXR9eK-k6T98v`=>CI1vY zd>irObDRmUT(VSI^SrCU4Mi%BHC$Dnl6?CI=BFHn)^Y`7D~%p`6$>+bilM7QmhapZ z{PoDYF8lZ{UG{wH{>yT;n+gh7^Zj?9jox*+79Js9-V&+6daA`gyT;4xQ9yFPyI$|HZ@&|u5^O+Pxz)TD=+ibJ+NI9=~vx<0htnXM{t z2oorP)qp)@gDLc>$9A5!VGncnumEAk{JYz$d1$4v&g!NEw5o$={S1Ptf@5VryZ67= zn=Do*v)nQ59O3vA;5wrp9VJ)zo6*>e*;4pi(Y1fwDk4`eS6rVr+uC^}v{@q3#Rl_aML|0w7u*LafB=?Et{*x{d z24WAqCN#VU@2QmJdq_q!-_x!7GlD6|Yv<=Drmu09DEX>VY~+r-!BlVltv)-LKIA@t z*|&eJxiLchok?{F&C}s;5eemXbh{rJY)}-XyKH4eO+y_&-(hlN^g~2R0QGm%9goL;JS=oR~}U>3&N=XGcFa2=2}}h(hSj z=hYdjaX}n-&5DYUI!-RZLQT#m|F3nvQ+xQ29};-_+KsWnv>I9F_&**VtC8$xkZ^zV zkQ3%TAMd_!!JLb;HKxo*hlAUl&)=zi?;W!~3`2vSt;gfn4u3pt+{uZTbJT~2x83mR z{-QSAk)H})FrY{vj_iGrVu-yRE0cf!;D;SA&eW3| z!@lE%KIea%QX*yXP5CFcn zND{+~+r}OlxnHX+7iN6_uW?|$owILjc>dVU%UP@NoNw2&`p>+6y-sY$-{gs9KZPTi zn4@R)oZA_$fJ_seaEs3-Cecl?bhJiUX0L14*EKe><19f0@5kbHZ>Oq&0983_RcF-$ zuP&%z?y1@FMsc+6$TSrR2(aw`X&JIRGgW zM(9*t(p?p^dP+M}#%iE{y~pWxa`ECq%0k?!4)^&U(;E15IP53(0BAuluM5cQ+ro}@BJOEIIZkYyo-#9-i;xAk`jr3*@ItKwOE&) z?0g|9{w}fROD9jLw(;4mEA&1KZj;?A2NKnrD|oFH77}sK%HI?W%MNE7GUzXn=3;tr z+TxklFjv&=+hh%M!oEf-(_`mfud~1cE-vPJ?#vMK>g#MZ``6y*%{|*rUmlE^#l$}K zY|Hb)$}?Dao_)i^H2%hi8PcDvLWG~NYDx6DBuSGs3XTmN=)&|gG=wo#DvZ|<;RDsU z1foZr+IPWRdkb#ROFuuj+<;GKw2OPo*>zP9BGx`!DqH>=viNmnfA6a?^ZpS54cxpq zf0)?E405e^Q^ju`*<|f~PJxD=wyo$KBUpUAuc1zhuXWYcpFQvKTJxcxV)@xI0XJXV z<`Xv&afz4o+c}iBeRk_M3pAC|>FpaNt+xsK_a2MvSy>s%;pBX>G@*lMWT-v$-G2ks z_)J3#PGd!{fqnL0t5P@mf>xN9FLgL0jqz2pP5hq<&tR6sCh2W)LMwBDl7_0bqtVfE zI!#FMU*rt0<_pXe8 z{_025^1^oaBnwLyWcRJ@=n26F)W(oJXH0^o2^m6pIurP=mnQ+U{v)x&1!9^LLIt>lHB0@8w zP!fO`!vt!^vu8!)en6(_h(r@ZZ*LhVC&`bWcecH7LR{9E&!wx;x?eQ&*P2Q(DJ!Sm zd4BAu2ouvWx6Tr!J-ZVxW7NC8PlZg9+TEMBwjSZvdM7^Eh|6r}W7xT~LSc{kPWcD{ zGH&rI-|XQn_Vk+`?YCc&FX!kT3B!H!y^5}Cw-%pG$+|urWXH`Netu};SK*wOSIYa7 z+r56TQ~Q)}e=^s)_Cuno->$Lj!+{Zx#P>+?v<|&fEV=0NEh;bxgGyT@O-L=pwzT-B z>7AJJu0*q`?|lQk{?UOnEDsG*My@h#Io-{N<8YFh`I?GfqKbTpM(Jh#qPUmr`fkgr zm)iUNt7ypZTry3Tf&l&l@Y>6+;{*lwoc|PV?f2RQfR&gC5s6adp@z&2zeP_E^eCADoq52-P13Xg|{Y#~4 zs@q?l+axEJpcJZI^%cDtkUd*B#{&J4_adX8YUUf`bPaSh<)S(HI5hlobMu-j&VJeV z=~dj6MUJbiD4jr1KyNVHTlxWehE)TtiE72JgUlaHO!D&cQoN$YJUcV(N852M)H#*A5vPyZxL^3@}%CW~irIstu zPm|-xeN<}!JVu#K+!STyHO#NCH{C6K+_rFAPQ=<&M6&#Wu&KQx{ez2#x4x)3+QEd6 zkZWIaq>_~eU#+D=LyLx{acLKy)N~;$bLyb8_2<@}#HYQzZZ->RNPaiQ4lM5CJH`5f zjZL=Q+UU@m07G@z_TS%z>$AAUZu=?t`RyKT>6h${V&QEV6Yt)JxMn!vLEO-)Ufb$A z7Wl7;=l<8kQ!y}1Wwp@Jtzk|JmbSj${igNcktN~bLX13@du0V zuV&ue+0x(d7u7aaJYE5Dsv=@SVbIH~4HN|t=w@-3gI4pY@;{ggO1%F^(^&vznZIBE zK|o4ET3SL8L^>n|C8Q+;X(XkkLqJJs5D*aQZV>4bkZuv_MpC-_y`KHQznz_(*>%=k z?)ctUobx#s!B6#){cq&W%Qlr{&ANz}VrRuwaI@Lm6&A==f67`HlWM>V$?G6Cy>*2y zp3C{)oCXxSr$N$dtRt~+*M2<)iTJDe<2uK+0e_qvunc7wwi-aa0m&@F)Pe`?BO}v= zw(e)R;Z&y~H*tN;C%%(FoE&gM_i|c}*0`w>dUv86wsd#^y%QZ36`YZQbNjY#s2t+P zzv**UL&GFxmW_C7hR3HYaqKBM){``#D>+s1$%eziR@*m~zNUt0z}otdnK)L|k52RJ z&jT?oHJfpQ`K<&}+^+sg9jcb63^%WR=zc%@??+B`yfNqXh)=i1KDo0~0by*K4KW>F z?nhLwFT6B0@59%@NJ63|LHJaG&-yHsO}h~SzOP#Suu8sATQ0Wq7V2Hnz#59H+|={u zpCWxYGA4Vd-yN^+G7|>HtPM-sU!0&oCa14X@mzZtBiIcdXDjLdT#TUne9Pl}a|PzA zv{*PB#?GOO9mp*XZJF1lSbGY}++4HRo3YXdGc$)Ms}oK?M3@lrW{4QC0rX~zn5*~I z5okY}%=+zw`94d;2H$LKJXjmMtsPCz2w%R893`T-$R}DaNgsuWJK9c?dehPxrRX31 z6Ngr=+QX&X=)O*qBD8o1R-@t2s6k0EOwXJvukb-65P!JZ%M*ING0#}DJR*FS8-J|nAQ>hl#^dXBU6uXb(%nj1G0V!Ib6wGauIqWpwz0}7INtv0SR+5unpEVg|$>(5>kC6wDO#622uasMZYvj94SV%OH zrT0aYhS{9S9m7OWm(9iLE&TS!L0(CSJ~;fX22+L3^tEBPx8ToDPU4T~{byDA zP`@9Jq|lC8?+XFerpwQsAckosx=$`}+qwvaSv0lZbilVVNx~j1k|#`Vn^E82h0>i8HZ?53k&q%5n`N0@En?il65W zDX=#~^P$u9Yier$=XH>;h(H`{@c*)!xZG~CHU9CQ(yc?i8wh~RDe2{-}KT3P7Gd~DZsURKt#N6j@c;|LR(wt z_j+C8^Bs;D#eC$?Qq+A*YJZPK7lTfO6-Uf=n`^Vx{n%8~w$)lJ4}64$8YNSg8_cnp zW+n+0Y>6U?{fiykhMkdIswcK@ZWI56@q9v!G1jd2iD8W=UXpN-gpJo3;Z*5eHXk3E zf$sF=IE@5PNEfJ>GMXkEesi7uoNWHX-r=DMFbW_GwZ7+6>@@ZNemH;R;~NVqS4Nb` z7_@|hRJ9qy9E@D`0z6~m%un&ILG|@kAmjM(AhV}W<@(M#iYU6w8M)FmTmHBOd z`Q^aSxP77R;^aBxZ6Tn_;#3^p9%=MU*rpY9`?QglXKMY_<1k%PnEC!ZJ6pWXo>>bMQa2Qx+MZBo85dn|Di)`JZmrxRi#A!4vcr|8b>aY&8KUlN(=f>R9 zP*dx2(AE~|OALWKmNnHEx53CuLcx>!`)*8sKQU=+Qj`Pd-4F5mD|cpc@QW1{mq>_X z>b$+gQE2`eGta{8;0qqb&wk`ycY;V+k|- z=;%8xTjKZn`&w+q#^n5mHZG6!Sk#m%JaX=xt?MIAv6DHuxsm_= zg>r2wDi*_=_z5go?~AmXvQ={$!Ok1~#XV_2RQqF`hR6+6ZNy-foVVzuBZ||;85lmp zAt!OH%=_eQL&^1U#2^1+rMv5c!-{O>WQD4sCF^G|!oujrw?_K`J#lH)ld{yU1Cxm< zS0@?r=jysOc6UwAh>1z_em~8iODOt#>;>bFTjNCFE%*u}>Q@s0Ax29=zZp@uI?bE;i@Bx3hS|awBInSzN zg>73LEOwC`KnOVc2}U!ZuU2L~b*BScHXs3ML7jk9v3|yrCdg-tLJ**_4&}#EkdaZ3 zj|be)3B;Se=KO2#mJob_I64Xk-36JL3qT@vgc%vB^3;NJa_~`50*Lg4ggh2`479a9 zDy>d~XT90$3g?y+sl{y=5e+FMHkpRkjJAgyk^#v)h2bMF}6? z70@z}tTsp?&Exd-QUw7#uvC%2Pyk^502~FmfL&@Vw zonV074SrKD@1%mPGkFZzSjS%e)u%0Y^pm(!vy!nI6 z%c6xO^@83rm=4=5kLtU*Mc%T;iO0$zEr>!o5ib zp_Tx=E5JVb!rli0knoqfZLBFTHXH?!C`iC9DVUmOj~|0s37D%tAc+BN382g@<(_~4oP7R zPMIVYqkmswOKl7&P9R>E%c7E5@D;t(UXFn0z-#Ttzi}r28jvoN>3=tP!u!PV?!l^I zH7+7mk(#7Q;)k?r3K2&(;Q?)>AKmueufxQTq1I7=x0Pd;=pT=PX} zdt!&sO1|%2N<;bmzVf7|_@oAJaP~}#+iMX$?K3%FA%TDT(oc}Z_Kp^lvDgkIe`*%{ zF_?x98z)T>Phjv;j+Rhn<6z;3uZd{V(5!BZR_Q$C{R*ZjxCek90msYssX)cs9dGdQ zLZe~McY=?Li%fV5g*;x+@Qubdi@pE9m}+B)@jzw>uPlr_27$lZR?SNMV+Yfsvtu&9 z;E%&PAR3U(3fF50{us(Lbu%&&F*HO#Y6^m$G0;HSMo_)-Qg;w9y;r+69c442_KSc7 zok3dbQR)}Q2VD=-(l=(PEe7fGYj^kejUY_txZ;+9HPr<$^pL5(QGjbDFZRI)19qyG zT^%eJv)~{E9a=eX8-W#t&}@A782*5~zOyv82M;j+Jh^BiL}TT)h&e?Z2GTwxmcfmT z$2>oZwc>x1e)plg?k*ne;toXIzL&fw^nYTPFy)6#Fv}q4oUNv2b~w5zlYw zsnnaFJ9E|@>s@YpFOOVHN04e<`+pIqCI8r{*YGJImwEsCUrPgPEP^@O>UKUZ(&?#N z_o)^bME8?jeLz8nigaru(`O3`HmHvZYvA^D0*p0u5+K1y7d&aG48cP=tf6&)zN{;IcS#6usOM!p6oac<9XS<`&R$ zx9z~oYc-LtLjGZkHJBlJs$RC_N+M13cw_@7NWv>fXF-qftCJWIj*bYC>vC-GOPp`V1<{fJ)v*{e*Q?F#yqrBdry`La2`t_en*;Ox z0DZ4AdAcXgHjl(Mr?8&riKB>J?P6H+*%(*7;S`}en|ho+kc3LdE0RJ zIiM>bpC}*`ySNgHXuPnGy}pI`H}ytSFf-n!m%Qiaix5~$*gH4?e!pP@#nYPlA_W)# zkdcb{quOerNW%4oNO%yDoGD7KTB&0mI_ftr zEUe`UA}Xo_`Q)z}$j8dxvB5oI_U6t?N&xHF$j^mQJ)`v&|6Eq`T+cE$?hhy^?_ek& zN+}#KN-e~7H6%UWXhDJj_@mw;6TAYIJjURyp!@lv0b0wjJVRpZKmfgqG^Ce-p}Z*8 z*ZVzakpSz9Kn7ERXpJ;H*F8#xQ5c9-up`5U_4MU2AeN_EUSLU#{GXC^KqM|O!>H>a zlu7eroN%!vNgwevon0?QpZ?BcD89ns4OI(BjPHpacXlZ=^Jpn3C>#OmiBBRwsqpd>QPuLoE-i|tN z@swO_ujLs{e4h$-f%+z!lE1$`&GD}s4k!u>T{qZfbSr|PtTt&(iAoBqdp`f|XACiH zm4lSz88hD+QEeM3oOpb*p|JeairBeE379;&ld(FAUuv-Lyo|2LIU|_1uG=`GS&%4yaseg#AeP=e!YrR#o5Ch!LT z9)WlO3d3`U3t)d>+-l+n9eSl5&qyN31k>8eT>wT4rAMXRGau!O|DMix36v00lNa^% zY>1xEVE6nSk|&tRjqxd34q4)I+GlE>Ddmnk0_|v~)V*Rn)=Ewrvi&X^ZE3G#Y6H6p z6sh53A38bv=vB*580BM_wjRRjzVoj-*%FyPd2kW&aN`A++94aJM9t4RTA0)gfJ__( z*o|IAdVAY85Ys+&@(u)vq@m9U@{|87<}GLSOe(z^q)HW_r+N9li);8buZ;)pfOdGpr>Xe;bZ_gR9Va&6T&*uMP?y7V9-BM(4BG zfoj!iLhak;>PP49n0zWhK~GgOz3I%kk4B# z%8UnlNPC!^;@9X;b469RoKVmNJSjvk2J1IBtIDzPNYRP>Cd9SfYYLd;=&H_sH^vLw zGlF4ZTLF;FG@dc#agR8+!uU1I-!df9Gn^jOZIcU{U{6n0GUbZ<=406m(U)gke~-TJ z8z?mq%AwxPa1aRULc8DwrP(Bc8dG`MjH z%YcGA7wkIKk&u-c2+WcMP`QH8o%Y1?XTrmvSAY${@VfZYeb4}Wl~3plxBc?f{rLy6 ze0Dhe{meB>=@MU+%WhqsA8GF#`sXBnGcX{Hi9!M8BKgMDuhb8pndG?G$YSU;KRSAn^J5Uk;?`XCpUYg`73)WIrZbefjSzd9Cio z7L*dqc#al6FSkppKGSalq&t#cjzD@HhKGkOK>i7fJ*4#p{L`go12o`+1Hmo8#i2d) z=|DZXjDS!AA%kOWeLYV9hvOTL8mhiv5;~F`1@%7Ap9A`+95Vb0bY>J;V)r0{H<5((_r_uS zGh_k-pxTh2ab(Gil$b+H8|~-kSLcO0ocVF-t_DC3kr+5XfIC59O$LN;i0$UMN5e>n z1vg1RNC=exj1oX83M(gu--6ve;gN!t!pGO2B&_LePzd}eq*(l8S-HFVofo&8aL28S zNN3zSlzZLVZ{c8^L^3foI}9Y~pT>0=v<1rxIx4HzXVCq=iHB$2czRQEdxoj%hSfCo z=0tO;p*lsdUWrsrk90wgIQ%sSTHP0Pv5)Cu#~5M->7r}Y-pIed`(SUz!&G6yZGSK@ zP{Z?KMZ98k2+Q`v^(i^mPOhOh_Am5%7P2c5k$0no7+zGIeuB_=b@MBc`8HyuYTWyQ<~)5R>Sp z%Q)RBTJFDpO&D~`e+q+g60#ZjTH3QwoSntTCaa#%yJ6;V+_@8wpLS0*-^uelxWyYk zp_VSFeu<4ZoBCO-$8BpvLW&WE!P(1DwxC{`gfJnlM8VF@cV%zieDIYfBUTje+}vP@ z(sZ_X2lQ;Vj7%02;SFV26TI59%hk#?fEDT2*?3H3WqAq)G@7(<66Wh^wn}Td;)%03ZTN znf5>sg9EG_+&dIaEV11dE(QK{Y61VfR(}`LS2}2i;vQ^<-jTthdQxkhn3h&L7%6hT&T2k!&=_7c zOcELA9bZ4iytjv^s_95`aLm{6vSc(}{0B*;@lvGbO$8IIsKR^zGIi- zo7N%`&(&si7TIW{`+eh2P~J6uyk5?|<1?52^#Q=O`p! z-S3h+P3jFvp({UbZ7;j)yp>dXy!s)@5+@V;FY4Lzt(hX$6KKO@CzLWc8O5Q~Mf&lf zDuw9mj)lMC zdl-068-N-QcE2enHU#*=kn}&m)`8a(JOI${_}A6dwGndr*i|8`84C^!j8@O>lE(G! z&umBSNAcw3-0h|E2FF{Zw{}oEdqBT$aPGYCEG;bpslUo%cHqbZBjo9FvIj6ZFYJbJo)tLwYl8$ z4`#_92E>{Q9!O9q2(GPBcJ@yBXeGVtxI(D-6IJ4&FjKAHg>x=eh(30bA(rA(jFti) zxU2=OMJLi7gZD~O`<0%R6u1gjYbEspXcgu=-U0%C^IKQ2eY=d3*;>%cNvC(cbQ%Lw zkHWpD`y(2wLN1L3DbI7^(WT$`#lp4tIpa~ad&d=F-VI6&Z>z7AMvK4EC_TiC`D{9u z6lF*r$z<}a4*6ChiUcu=?qOKJV9BpXQ>%HKi&K)JZj!EUk~(VH7ha@3ok_Pzi~Z{; zYV(8yk7n9#&-0dc6<#MXe#wj<#2|2T?j{#p#7VQnrVpMKCG!BCb5K1|&Onqpy+A{D~QI5JrrE;f9d zlLhg7eX+grt>5_@X!vaWI%Qh@A?>8lD0?G}a%Z)Ua6_XL9MoxQ!NH9_cK6Su z!Uivn64RIsOtaHC?>6rkmb&x$`Nh;oG`v(DQ|6V;0<>YG$^t9 zP~`A*sWP^SB75|W^2&Xcc#o)y??y}0q3IkeH z*E#n2?5-29n>ltgb9aM`_=F)gmtrc5%#)-P<4**G8T}#mS=p28DTT^PhH>xDrj3oR z1@vb3i!>dvLEIoPMIFF03NVvumTrGE!ek55PX!#7Zvk)TAG=~H>#zk2VONA8KLu>R zO7!n~U!*O!kxdIY7cTh;u;P%i`A`epT4_lVe8tf@+1ZVRclNNS9n9+ZOALH{{8;$h ziiW=I5vGe0Ek&^DqSVsUz|R-2r|YqlM9_PXu-f)UE$e&yHidKyi}w%C_E^n&tVP}y z@e`13&y2BZ(?`vCmpu$p3lCF8wfagiw=j)?2xCdAPYmo*oDlC1YZ~0>Eh)}d(|9iX zMag2FMOZ|?z0X>})ai!J)cci`!2OlJqv8Ih~m3 z>7vHx)vE4ypJmt`t%og%-n__q{x^I~0R8nM@yGIG#KFW3wHmUn0Rh?mLmBLHqZee1 z4y zk)a8LgM%3E7j;g+zqz_R)?ciIc?e|TsJ3lv=|N=+1tbwnj*&im7|SI9AqwoMP%{IS z=O;iBX->}fIp7%p>g`(>my*(fqGvzA)(DEQyN@4(LH`*x4r{SU45VSfzm1Hs1A{As znL;=!pdpF65NWdi^9 z$c_5J!k%%pue9Wg!BFGeH<&x3ajZo81{T;}gl^=U+V#t`F@vs2Hzru8_G5SZAi?-v^b8Kx z2Ldg|?@v}`*s*on+8S%CSu7{jM@b}gNG>0+q-u)4cqaM8eVZ{2?HA=6?&sOp zSLEDXk%K)?1X5NK?$NDC8Ff^!!=B&{&RQL+uCt+s*}1>6Z~I zZ(rXw5Zj#B_h~O-_`pW{jLd%DWbL+nS*AVPm-ja2H&i&(L)(>iaAHrJlyz(I>!x3E z{84KpE5Doc<=5say={k(6{AW5ziD{_e8j+;i$o#})M?dAq|pJP5}345J0r72w8iVW z+gW1i<9gQq6j6e6oV&46!+Y7M#{`HAu(z?|qXd>@<0GwWc6BI8poRuq6T00!31~tD z?B)AtT+B z&_go6p0=S{-aovSkrCt{7}>&pp+xeNP+=bjdgsY2Jef*D`>80EeXuWIYBonQ7!?0r zQ7vvWhvSm^mj8y%B-I!*)@0DU0Xp4N{%e+=!BeB0?%zdYovG*qIkrgwE8*5(gdC>YV5dkV^s!EDbbXLwg;r0iE zf=9`rrpF)B_gNNlRPxOK6y5>IMJfQ-kl?YJsZ;L_$XN0C6L>vAst-1FKu*H7){b^N zsT*9wFR5gmo+uu%Sc8NHFjANg`ZDJ5&1)$ET>;3VxJ?&(I6!5{hVIYRO*iQdt6#Pf zj4s6u22&|+-pZZNN%`HIm}7G7bxcZ8N6lyJ+=xg|Pqoxo8Jt`0OMAsVsPmJc|KeR| zuj7%x*f(_NEvx#hrq5cN1}%OpTTQbvt|v9x%4p)%cH!~l@*6K-9JtxC&@1tb72|9v zm`^rk90(piL`lxvwU(2QbIE&n;(LKwVo==eY|SnCqfCSDWR&0l|1vbg$r4}6{W8B( z>)B8;M%m=lwOvn)7aC6!{`K;3WS0|7@YV%$1sj&t?Fg4A{4C#^veFHBO*0%SZxnFi z)*K3mW(!C-y){k>o;xVRtuU(A{%$S~r^nFHP^U3&G&O06KZA5Q55-e!$!laFAs&^C zz5TaIs>2n4LF>+H7yXf%)i=-el31}2)sbT)g!GIcNN4`}@iuT8${;qV(sp(x)$Dz< z!5m;(m!Mh908!z=#wdQ#OOKJ)Bwy|!_w6WlFRy9&3Io!fTApn3lYqi(rcgU4y{tXB z@ZrivK?xxC{T~ydczMlj;);qwKSO0>!0|*qc3=GkN=;2a#&v%Feh3@S@Ak2>ktv6W zs8qV41$Io0PvenNTSqT66+KQg%v&%mg)nqw^zkK~-#Xs)+`*GiJL&WwroHUsO-g-= zg8mdcx7aPo;QTsLCYC1r;B3BBn|aKMJ$5`~nqMY!RRV)(;)s^HA<^SrbqKxW;w(w5 z61_!JVs7VYa(Bz2z&}$pd+wn5H|8?VW@P{g5qY%3Ay6msJ_U(JH!b&= zmxpw@X`38iC*LCHNNtAmAZvJp>6L|r#TWUK53EIAX`)J^$b=Y9;D{m9fS{p4a&9p2 zsO%_NUZ|>qT%%yT`Yi(>+khB%=<^B2)G1IU`OHbte@L|Dd%NFvPgXAL;w0mXNe_?J zr1MeYV!iOnhW(2I>RaRnuY2Py&W?)2A6;o-wUB72)+W`nRlVjVsVN%uKVVwOj*EP7 zKok7$myC&p50PmG&YIFuf5((Ns+zH9c$Q$|&LjQ14L%Od{3OoWByQRrD(WW%lkRyf zfj>y`Zx6nsP)Vo?Ot0fnslh+X6;eL^E|nLQ{_q&1F#B~TAx4>af*+b2Cu2H(-zS_O%ZC>kzZhgQM zn^BqeMs2DrBNto@B64s3u+L6S{pRl`2}d_r?T>}!B=vNe_SP3FmaM3rxmNw{j1i{^ z-I*}uj{8()f;N&-Zu%GI?bu0I2@IuD{r*02~2wxPU_AF^+vcvi(?DS^0^T)jyNRwyMi^0?f?J zh_BPv?7UbGHR!;cH0>pavb_VDECplDsep$70YqZiegQZW!Zq34Ju%6UN^@}m_P#{z zH#1Y+zw^|`HtkMIeLT;Xs6<#+#yD3-7duSi`&JrHaj?G;(b_US>OZv@YLU%RBz@;8 zdF&;=gZ6Z*YH2&(r&VuM@>TJ{{n{QOxELNB-+Gkpjou#F#SP|~$>6XSt=MlKjoDnlrPe=ooKJTC*-r`AtdAqwAG>8i5P57ox_p-reO* zt;*j~>D03S`FLoFK_LyZ`wh65hUEL0;Ude)$Ch8O6xN^!HnG z6Euk|EhnS(EkN36G_4yxKR-vNXd@dJ$ax;Gbt{%h!o{Vk6*k=w2({pOC{xgk=xoieU49sXI4fOvWxkcGVu2JB0v0G_#LjB zrIY!c)9);O1HE;}I3yjZx$?&&5c$Ue z@H6)#3IsAoa4=O|<6%FH&Y+jhEi7Du$2?yC-VpseJkX!od(Hwg317+mT0@(>$CY9u)mD1X2` zzs$e+h{qZ)u(e1a#O^Y(Ckg+eu@TS5chk>r3=6X~WB9Rh-m|!?jVSqhMEubTY6|0c z_WWT#3=0Z6^M3K>ysC;QIc2$y^VOQgt`Lpt_L+Sv@O9D3dYL|7?oUPt`F(8Eg@-3` zbtXK#Ox}NrVmf!i5@a;%$dt`ngvq8x=%Uj1z-ls#cqt!XG*@a=(1jj|9+`gd#`oDm z4XH6G_TeCfDyPk~e13adNmG;P+NA~!FVGi)V3c)raerK#?qgwM?%1iV0OIjIuyWFr znFZVratoAGr)`iFE1=m70+imeQo1$F3IOmxd&;@W7yfZWQ_161|DK?y{^T3>bA5K{ zhLQ?)i>BZdJaG`?SEIZNmF}8$44I7gj(rq9wiTkB`&5{Gd?X8J?WtN$Riw;@pyZzz z8z;OVyN_#9I4(*#wL4YrmW-pPrT)78?I2T*s`yz{oB~x=a}kYX8upQn0Zlp%Wq{HchvVJL+y>@=3)(!E z3li0FyomNc5NHoQA=;C-Z#iKSvu7?m%97aE4v8{4;Htc;#>lAQfn!?u@V6?EUh9fr zf@5}daY}ycCcfl7oekvh5&l1II3&+$n$`41NnT{{FlBE@5PzYpI!O|J$82bQy;ZrT zcE+kka_Jnv@P$vcO*9x!`0vZ%S)p9^=A!EvcENs3pR5Hl6N;&l04WH;6| z%Q>=$@2rtHt@V87kC5G%eDQ}2mXtqe_j;v@>Kbe1^qmRsoON=pN}Of<67)9v_gR&E z@3U$``K`d|rLsZrK!Hn}0g;=ZzW^JDb{jH(7fWPZv*;zh)IFV$|6NFeKlwz&TM2(FALX`Px?(sUDL)%c9{i(}e)Qat zZBpKUX}fyT_qML5qz7&LYvBd0&krtlBI+=<-xt$_u20;J%G(X1f&v@C<&Te8?)FuS zyLhfXv`rIc4L1!9LnzP;rZj-OoDFeDJP{X1(f2ydV!ex8Mh(|E44>7F7HF`;rzSv0 zPh$YYX$;5!`O%&3`NEzZiW zpJ47Tbg>V$z5{s~ zQgdZaFK9KaQm$S>VfW*>T%J1$|kfoiwNHR!W@}9Wa^>7BesSH9gBvF}&3 zbfAIjf#87^cg(2<5B?BRw%WUvH;@6-5U22ym$VUx!yrtIvng6qP=LiQIiFShWG!4= ze+aB_W2T?i`u`Vj@aMSo2=S&zueGkshIC{>aYRjtNHf1Z+RTRs#U|PcG)!;UT{+TO zOa842_Xe~Un1 z5h7$L3la?q-^&?->E@p9ZcPwu&UzkGo0i{s5B}hN&=)OkOdgmCB99$d>^iauQQ?VR zUpVCF=L?g^+7Np0Q#2kC~l)1q73a2G3e5Bm%gx=pJt}6&} z`t)A(U6>cimP8yifB8ZI3v*;3D4fHufy0X|g(3bzqYo7p+%P!mfEf{_fzgDYtbdZt zf=xRzBWLumv%fzZ$N~In^h;W0uiLO8^+(lPoyGvAFsI?6nOjn0$>#UC%aXW^nb8Td z3jM?_1Ud5CN02M9i^8W`X8DTtF=2%gE54MYCsuIE^R=#$vIIGl++IETCoNP`i#dIO~G+QOrAd>tW+|#L;(&?38uCp~M#RTFe^n*d>KQ zLKPUgERmpbNLcQHF(iT`u@4zA1KW3Zo<>%2;I|)7yX+q~T_?d{Q7Led6PZm9vPFn( z?XTDZ70-Q$1nH9hz^qff!O#YTCwRHh9mW*C3htRsV+Y0jSRNLJXHte`lwi=x$8sEA zX!j*t_%TjnX`%Pre=zz@E5*;nz$KF_3?rkqG52uug~j3vHzA^@q)%@yck@_uAG-;B z6MPzQ%Mj327YD;i^6?xf(8X@~7IOpeY(6Vaj~;l9z-3+x@H#0OfoiNO4N+55^KWWx zoPxy1EQsd6Q*rQ_x-nb(%jgxYBP_~~vXmQeEGk`D2E*>&h3ijB@a1+?50C6uFZ@V5yRlv_jF2j*-YPG zik)Dn2xc$GYMTHL%(%G!J0~TG)DsT#Che6k9PuUXJ)M`fTZ_9AVx&twrj1ANiRBt-unVFnx^t;L)@l><*RKknzZXtaUU#)!SSn z75vLud1{}&d;#cYe$La|#ialu1-Hcjq&6U!Sy)~JCm&{&Fx$#lO&kzbTSv{wa+ z@azm#6z<9q8eOx0@IDY&*Jv&2)caRs@F*j=aA5i~uUA*DC!q*&pOYfJbe3&|*2;y5 z!&qND?wfd);v_>vOPJ+P%;SZuL_X_1Wk#PIg1rOaxu=Lm05j`HQ{1Wr_mU@OF9Fw{4`c^9p` zu@EJblw{TS_nbrHU)y}ChXB{S6d4)W%1fL%_(T$ukhpQsH>>_6fR+OeP9K)?xa!6@ z8Isl3Kv#}0*>JiWH#|T|whqrUtl@*-Hr0q zcn#DY2kx{IPkq)VnC`$=7v?#}!^@jXOUs7k<2(ENOu`Ri`jc$z+ZOBu#wt8$1Bbbw zx{=CwK{P8Iu1FoNb52Z_^19~_HF!JV2pih){1_5;H_tP1zwwAmoddgsS#3hof`zM8 z&E$1aSL@4YUmYT+nU&jqtVnP_bTc>lXM;dN2mm@ed}$^f>;GS=DTKDU5{K;OTE3#3 z!bxZu^}WrDD?0DnHF?d2SGS*5lfM&J@EK7$xe3F8TQ^aqGNQV>Wm#BRImvIu#Kyh= z9vV2&0WL%y*1j)j7UNwx`AusUFShvatBA+09ATmjDnn~iqu{cSih3J*;Uhuck|ct8 zv?cV!*_oz;Td9^1v9{L1@lqY7^deAQ?Ip!()C5VGRM?PaTR@n0R}cGK_@p#S>A#J? zoyIEena+|~Dk`tu7)+ljd}U!XS=wnvylY%yg;#QQxu(~K(1qpJVp^c4QZxdB{lcrQ#(N zNE+ouS6-XU_*IdaO^<44z)92bTKEwZWF1cb#-d<2@Fy0H80$S{^#9&$RrT-f*00E> zdY(q{uyNJkL4sl^(ZyVP?!D-)3cx>lj*BV9c)s^Fr zli1nSmtka2IQI`_urkac^kOI@LH>(CdxhBh61@Qr+IK#!^FQY8>@H5QXuj}Li#64v zeby>kE-2CXVFwS^J@%$Zq5HERw2JIQ)*>nZ$l}fZkQ7I|a%-+QZ!sto)5RJe4}0m- zKZKmCTI>|vA8dd(@z+--XsAh^ySbsiS(ARmjFS4hJ?-~1x+s~q0{=Ag6%F`kq=}fl z@X-fAIgsvoegtAR)c4=MalyPE3m5m$&bVcS@&5|j!JlemB~IE$c&qMzF8fSz@I}uE zOPco31e2;JD>FL2#UJ>cbS|bk| zslOiL;8T8iu@(#Ezysy^K|e_zip_=h1>}UgUSb6k!syH5UcS&MzR-rwScVxsDwZlhX`%@*T$(m#}v!O(e z<)im4enIK~{4VI(!jWjjHm_r6-`J)zj|J|_g4q0gi~4$=Vo#Mimu8!$(%o}=bxf`- zT6=YZ&tGmlY+oF+u(umylgSLm5sahLv4Kr;F&g5DloW`FrVRdntMr8!L;a8tfvvzS zyIt-gQmJK)y!d*qTWL43-p|o_&s-Wjz#sS`p;NezvfF^)WIQm_dh5>bXl>~O41;n0 z0*-{QY?CgE-e2JI3p-vje%E5(+Y5GGEK(Y)5=*L@jYs`aR3-LNE6ccDqzXFB&i)5; zZQj=ri}$~|dG({h&vNrtqSU*6^Q|vj*fly*%Ry8$my-p=#GiNOJc&?Tm%6<7_t(X0 zY|jMJGg>;k`&Y_x^qAN#1qOt9qxXVkYmbvU<6ofGc(=P2zNCD!)=}d$<@>I|l?K&z z%S&8iRH&3SbHIg7`fNoHwCOcE;Smw|a0h`N4%~OFTeln=;Fy_qzaK+=O)KfK5w79N zUv~gEgK^U3-%UE9`w_Xhm=Y2`%&e>(#$2jeS^==G;uuWep|EqXZ9Koa|L39%MPHxx zoueT9KIW6zBotv26$1-Q`im84sA|Vn1azKpf_T^P>l4%e;ihfx%W#$WbG2}LZCRl0*4Y@`Dm*>5o zDzQO*YI9mgc)}hV*EOq-GmbK{#`}Lnezr-yE*~GOIj0-mrfB_a?V*eHUP0TL`}{+f z02SWL!V6y!?Zzy1iRo5Fc}D@FY|-XP+upSL^iLHVRWIybHxyu?z}eKX&)(3w??6Mh z|LjrVa74Muv`W=yU7%)sV%OM%8~K2(z@YhDZmiMp&gSHwFkL12k46i+-irx2rr+M~ z+Z?#F;VfUaR(Sp#6g6HUF8!CNPWBZscv30Na@=C$6mEn+O!js0BTmlC0;t_#2?(rm z$a4jLtzr&R(_Hj&<1Bx84fMjRinKA_c-h~mWpWemORP=b^1pXs75G)vRg?Lq?`_{^ z8AU~!sN3_vYj0_h=LEM3BHKPeS zR3l{=W%_kS2TkC+bg(fQz3_>Uh2`t6)pTXF=Q%#-o0fQ-T2kz7%^1CTwIut>?^>4j zWiMC2H9PkfxCkJ$&L4p#J=FXY{`oslNc!hU=62Y?ri<|xps*0i^NF}S7 zIDHH!ok|`t#M0q}uf5j1wKhgg7xn&GzCxc=_d<_>Z0Ik_Je<+g7y$4fzru zJY>mMm%vHiIP{a*8cg24Lv=JWUtqPNgh**IpNmu z;l9hl74y?iKnl-+)DQ<3%XnF2QKtS4TGFRUf;)F))t)hLPE;C?8JKZa1k0jcU7g+B zU3Z+h*erX4a8#-Za<Y0^d<@U`sAgworsv*ggzqoh>x*i8UN&tWmyy)mu(omExt8KEojdR4ff=0t z!?4PLJI;WYM1Sxx+Pv&z&t7js!!-DsJ^A0e5jpIE$gOAheCHmq)%9;WMG;B}?aIw8 z?NP=9QNeV2iN|)U%!!r%vNa+Ui!W*GZRv^HagEOVQJ4ObM8zfzn8|t1{T&rG*r?4q zIWb3mp{DpR@t~$yoiKy*%k8o+VtnV^ELTl-x#5aON!Xs> z8ZKOgABWM1(u80b8t6ov+nXT1;pAR58LiONH%xo5I9BIT&&=q7ps4I$!C$Z;)>_~_ zlk(f2J{B{qn$&%c@;>v(`ow~FfMLZ!vQdug5l$5OAO%_o( zS?Jkb`&EPL-hhA8H)>PJIr>)x5h$5DKXQP;Cgt53dJ&;k>QHWyi1raps^mK>-vN(D zgb6o;dMOhmB1Y6gr*(Xu9v}#cZ-XArrpMpkpOI0=wFqba?0;pWUp&hOA%ZXg+yCCb zhaM>@KM-OIiPGgpqvCwF)2$5niYRnhmV|I0P2jA%MKOqKhlg=8pHngAyn(nm{dHY1 z5Gua1R?L^zjX_tQswYO%FKwuYQtqN|1S|EOPTrzlJpbmlK|`p`Yj)m$d5ijYNasg_ zQBfr^(WLjCY7mm=lTxDOn|2d%^C^kTz`KBmt7Cd}f2O5nl3&~v4Dc{IY;rsOD*C?W zinFihUE6%{b|w9H@@E7`W(L;kTk(}0#&S;7T*_;9RdhOyv*gqF?(kV?v#C)G7pM)2`_-B@cQ}9YW*W6nXN*@}6QH9@E|C$ZD|fyb7W`0YO$cCI z#KHP_82A~uxWZrP*kcz}@$(;VZ?f#%kLyVgwdV3TrcMRn)7L5C-z+54bxzq%>E{H| z`%D_>^r~mD<~D*8&a~*~d?{Vj#{>l0fS?Epqejr^4*l329`_o$)%WXkHtc!kGBl2T-uEmK+FdaX97AY!o5 zo$IKhyLzn`X|oy47#h!N7o4~fh@mW--b$^mj@fkq`^&Om6^0|Yq}5oOZCnQFMFYN0 zNpOXKg(pi_DGvZ)_VtX*|+cG?-oU+P(o2iL(wuqL{^ey?-AKEWF?9+ z%1V-5S=l7n6xkt_z4yv0Wcwc1{ro=v{rc;DmKPaP z+VV^^JQlWWdC2Bq+&gw2A26=d+N{U>sNBC?*+Y!zDUC39&U^Zu1c1VskEP#~(COw~ zjd5M1C%9&aDX_>)Be3|@-`SAf^ll5%iX@~>#HgsL@h9!j$jFP35b@UZP~~0g4**yB zA*Bj)>?cak4}x)InPlh66=KFU)^>}I%j(>oKF?0Cx6RH?SgQeo%Ut~S=98usH^*Om zjT{}>68QZCecyx3lDm#N5`He;^#8hK#T<7kDK)SC>6G|G={w$<$gyRkWPYM4=veNz zzG(qT8tTLDO{(>|b#CIEp+R`5((#WCoBDS%x-!#L?LpBRfPVZ&=(?D>44Z{U6)Pq) z4_gmOJa=;UGP=nwc;t1 zAIdCAA0OfLlo@&G_q*k3@xJuC_s!z7PjBetQ~4+!SC4NLiM{=kHK%`*^+J0XjX8A^ zwa>@&*|>7cO1;wAvf#(o`Pbv+f0=SCDK)gqG~~J`eZNHT_IBRv0JDVfSO8CK(eC79 zYb8E&d#czA%gahy&mC0olv`=h(g zM&uv3uCX>}w$_{2`$2zHo$ByGz zl2Ro}+*a$OGwEJ`a#HBBW;aXjbU&S1T|*dfzM*ynpXaq=kWbfI&ARKw)0&fxKG4fOz7D5RB0tJczKzuW*Aq z#BX-*vXd5!I8 zl*5l$$w7VNT#L?1r2T>r^0~1w00VC#S_L9E;9Z+g$rC_EN;6WeE+Hd=4S8^oxn&}$ z{lkY3ug~kl9CUHmUtrqU8phrC=lZ>vCyltVNKCw9EY!bT|Y1)JDa+a)+FD)e1KEo^nuYcPw5Ua{L*EHiRxpg zP23E`|Yj75_vf4w{Ej*sOx-?-gxG}3`)Gf&#eBNYjC%YfBO{MEQmTOLy4eNfE zb@d!WKPxyGQg4|bsH)a;WxOKctWHI$vTxn?`HHrW%=qG))0#}!F(&IwB%W;BlkP_~ zx1njed-tyU*cR(pLZX@{YS<8YJx0jYaU{$L(0I}2#%j@Q8D-I8huH%}jTQataS=ph z0TgtBuU=Ia|LdtkWW>2cyNS4==S)|^;UMu7dCz2{NMl(=FHQJyARX!zmreuTv|8bP zXgs-yIX4kEhgpU{vv3085eWqvTb1-yEU_5u+_G(*H9Vq!;(O|oqUC6MCV-IMt4-D86H5~}U&)7GY1TUY0_ zu{?@=L}XJv1=U|(PL5dm2=y632pJJTYTjKC0?ii)6z|j14PldIS>vzH9_+J=hJCh{ zBO@>{kf8Qq^ic-MB18dM_ovi}4McNG@R4ldAb#dSEGWbAAMvR=rO_}P?JfFK%K=sB z2W*Iko9hmi`NOa3mV()KjyCG$=H;A|9vbCMUzIr6H&fTvgI6L0lf>zi#4U3@2+N}exk7lgq7WGSLgzd{)$y@T`=Acl#>t- zlpVk&Q}ObY!cK~NvU`B`Ry4&*ZXuj4AWk@h2@}~H%w1vW{>px`B`7lTIdaylN|qB+ zoNZizKH*xjK^|%AH788k+CEt@f>;1AuMEPf1dM`h-?Q{3iL5!8dVtD}o}CH)ZmrAM z;{-2)q?&bS2c*35xD3;IU^Yh&>l=;3M1~NaXxGElsdRe;^o_vdgtYqz|4Rs$ z;hIP?dNPK%sKUh~NYqhC;N$RdnE2&GP z{*O&JBmmw%l%E7Z0!9zOZ{#`BpMN*kA`)ElwGLX;wA`Kv_0ShD$}nsBkGjFPjchk5 za?_vSA@`-moWlV^w&$LZAh=al_=Dj^h^W#yqU3A*z57lo=Fh{-8zEaqfuRyN6{^2Q*1a^Oij4VtQ9RH^M8|zF& z&hD0?(%GL9y+&U%AF+Khtx4Go>(z~j$%u|v{g+@7p-lI8j?sR_K1AxJ6dTKV7EMM| zO43%#YkB`;@Agv=)Q_>ISaKY!IHQT+U-p~#?mNKTq`z53=kAxsJJQ!}@7*(Qu5}uO zl9ADMiCnXLYBIOFZus8ArG9b}b`7JT7&$q)g1o%w_3J*9BKgV&2Hk#Ew{P#ib!CB8 z`fm3gX+uN9*k(OSN=hGZZ)**e(%C5K_&e}p1uIrBOEt6I+|i}gKH|z1i4f^06+dRl zK4K;ddnEWTi-CO$3M34@&LRC8sP^#iaF^3)l;x%q7G8cqPSms9TwZK+VuK^!0JjPn z9b_OEEGFH&<8J#+(;^Z>s*h%)+D-)<3$)vB1=bd4snu@D?0nATpJ4K#Gr8*(1orfc zMLgFH)F*nU1qu^%9(<@a%$}>y6~17st79o``b>-k(Ei`h7opCssb>aO30?BHTu5YV@G)l|lX3`*5{Q zg!;$-aRK&(NLSc4UKuqt$%vOv>QawpjBPT;)8EsQpxL-) zyv5GknSDM!XStl)9%*tWYITae+RUVg&7vso8SNsEA~$N@T)9G06@K-1(xdMlK{s>m|F+}m4KMUJ*)W8I!t3HNgs7%~735NksiJ9QF#GHCo>K_CHd zfpdo@EVXmZ+Xq%k?!OjY&x31n1Nd%?U-#qqM%CLr@?HCb!7k(@qu1N+BPNRIQmxG- zM4iq=#-yEhTbmY$Lkiu5opRc;-$Aov~=#aB% zTX^3*Tuqs=)_684_s%eL+&t4QYr9+c`|n=&hhJr7^WB?|GmGIlB1z5E>h(KvYwq6+ z)n)Q^ubw@hYn3Kvsb(s*E{hOY{S*IprpLQ;x=Of6!$W11$-ew~&+6K9Ls z{rq&T|7Y}&rM~J$tnJR95r65pogYk1IvVomvkP{OeOio?+;UF8<*((WN36?>Ha$Kn z;W@77l@kS%&gzX6Noy+;TaJcIPTbns_du@Lv!6vhjTeSUz&I4tOsv<}pZoY5U>q4r zYbGMHADAJ@&5iV;BUf*x#3Ox*C&CXsI#A(-?{i{5kJ*KCg$-s#bop*vezw(@ ziBy&&GEd60At(;kkHUGa8W56OgJagDIr#u2Xeb*o%d;U2u)$6xAp$lY_Yx?AU^If5 z%YiDK9A5C_&l!3BbIe*1mv0Htd?!g4XeMzTGbHM==c@8P;1 z@5texx-uWwxlB;TP-ALdycCz1sGzJYAthCPS)UO^CKM=!sNg-lys{zm!FS?Xx=2wr z4Bk{>Np1@*Z=1HNoiAG2p$a7MOdkI``*%TablRiq{IE?~`Qz6-3p_u51lU%+tWupF z$$n1Hy)Rx~#8Ug%rmM^Ta;w6aZ2~1Iy>Dw<9=*WgSrzRZ!X>mGFnQ&hA!SI2MC(82 zV*e1~4E?DUi}`7_fB(MfrrtZ?mvTvQZs0G~`He-r>6pv_cJ;6ZDGF^Ed%;8vU`b>MrV+t{!UzWi;aFQ1D=w*g%?2!#hLsJpEnFyEhw-Jqe*HR!`w+ug5^}@t z3phXv#@lTdJQ=WxHBJamz@;HVu5qTxM%#TFTY$D3F`c$cvwCPhfojL&JNfnOTV7fs zVkdFJ5+SoVBH%jkwwYh!Rtb7NoQ5K|ZwF2O1%GjmSNRt-j|?9(H~+?Lvhnj5d|7?p zYzhWX1sIti=WW+T0C76`e3pLI53q(IT6_QgeP6W8v<+h@GYw5SaG)A!9vQzGkcf^F zxtT=sgHi_iNNVh2;)8m#7JK)6MrQ%uiy*mjQlQ`jcji%c*%KP(6LvnL}QNeXF^Y=Xt##*afYk#O?u{N$*kYUh& zL4enF*!i=T6Wn@fTMJInSoQzqdf4X`(?W~`Z>L11rSPZm z$|rqnvUPGwYFuI>nTFKnbT_to&1UNMxK3U!SfFoQ+Z6H;JyvBl>DI=)FcunJ2GKIzti+`)RRxDLEza^|uSx!}NJ>`(jKw4j2_*#{iE?F_% zy}GPFMMkY&xvg(7HWuq>aY|UMk?9mMHM(y>)4dVHAHzVp<~8rI=ZG!eVe_639t&=k zmU6nY@~ZU}s`U-dmoD6e1%dEU-?UxPMwj@#rhZZT(eWMx%HsKKXmIeSah;DCI;$^IImJRw=S>M}1C=t8wTo`ccq7DZXy{aCKoY&p0a& zrGsSd0$iie8nu214Q*A+$T_NMktp01wx_C_nsh>T zSY^bgi>!DXNoaMfH#E(-GmMS>>uoKI0o=7Ht;!Afra!IEn>|bmKD8cnYFlR54a_s7 zGs77Vx?Iu0DB@3DhMRTOR73QEd-;cjg>?!rr)%6p%-$+{XV#d`J@(kDB~IG%V8MA~ zeWg=Tr8RG1E09)3twJ{2C2KN=n@8NfocDUVy)eglQRZfUF_ln$-`_}|a^)x8^8Vcu zGJMr9H>wpMjq*wFOZWfzOkj0cOQ-m?=M7fV{}|1pH1GJP^nMw9v(w-?l>B|1p}{7j z*?B+Hh)mpp(3fv-^Y$pIr7XOASLVvs7!_g@4siKL}NUD^i?J4okJLI3qV_Nj{srJst ziQd~k``yH(<-du)SdzU}enyg%gNAa7((8JojHPt>)90h!IwmxmTFf5h43Z*%$a&^_ zyfl^E=J6TL`T81_&l#$FqnD|eOE>R%Ol6eJt9mFuT+j*W<~CLG2$STjq-+%W^@hxS zLa?&5<@Gn?;$jkcf^R{)I&II~(fo}Lg_i}}O=T_09%b)*Q!nqElR%1BDSxXv`mX8y z_)mclD&dvL*;%=d>Q*xB7u(zOF|J}c`Z>VYSDGZGv8LoPNTY$o%F#-fU;w)>DV}sT zrb@@hDWx1VZ~GXs;p)P}mynR~^p?>2yDuw4d#BK4o6Nf^o;G^-#r%`zy!qAzwVOLs z%_e;H`MpR$f~_t1T$2sl+%_-%K6Od_{|2<)WdckfVRcVD=)3SLuW?{MAeDx0a>m2| zDpZ8$n%-Hd=B#a7TVIIeZ(e#m+f~H!*n^?x414ddaDmFb!!?&T`&;&}Hy-M(+kEg^ z`FeSKo|A)zg;C0uef#=uXlvj0Sh&a>c_aJv&S>Yg=!+$Zoi35FWLNcNLtZIpX{KlA6VB6~R4j?=`&yNL_t|+GTcrl^<0O*v!f%OtUW>G$k!8lIqHhCf z?$^nwD7kWR?QxK0Y8}fGa=RHL;Phk4Pq{zllFgZ(p6Oy`vYsw4Jds_L_FQcYhxUDr z^U()f?gH7>>ELpVMNt{OcQ~B5fg!IP@663e;d^`Zl06Jka@-t}DO9%bF{@4< z*eWyC^2lw|=-Bd(3eTs%{H||cKKHefukgdavFLB9lG<^pMbtX3S|Xo>d8gS*-@IO& zVrU^JIhstHQ+H6Ye%|~xSiEi9+R|ut_Unb}XG=?wn=^O+z1(|dv%5vV`S2wj@e7FnIdb*d&nu%!b@7sTO`rXkRvaW_Z)aJ#k>SyrYyQ1VDkuAQ zXZ(YK`tdzPQR(?~`-@PWuQO)3vmJE-g~xYH{QdXyFHwe02GNZN+Kt4_(EqeF>fdy& ze|l3OY^C*=D~Ym4rwnaY*JAT{(ei9Jo#W7#Q)?ehuUPQ=$GOzrd|iLA#i~t2v`!Uc z)S04;dU9shiWxU^8x3Gv%k$-K;BH1J9p)SQJz#Yq?DBoV2#kD6)K(6XD)0Q$FMhnD zi>b7NX;{6XxtrhdjO1i~BSA!?ad8<CH!ZJnn@au0 zuZG!RXb$oy^|vo_AKE>(utL^}GU_VUJmXCg3dg((WY0g6h&7pCftrwwx`uu&uu|1~u{?8c`DuZjEP4H8>2FQ)`(GrOgsX>-*P9pKZQ;tE`V^*>5i)Gg z5qd_$GXC|*Qx5Muj`W>7Kh*JmHvhJ`y6y6Xt(-}ZoO?1_oz9QCl#IGWU*7g@S*Ul^ zN$B9S9iZO-j1dlCXPrRMfHzFK?yj(>`K{|+u8-bc^WoRq7I!t-gG z^N&zGVLfPjAbfyhQ{VhR|ARm6ypP4kr+_Hkv9bz)*WCU4_uD!<_07zl;Xlv>NJ>hg zoRXE5ExQ#j?<1d7bZqpIezw=i(mXOYU7qCg#-=doO8!P(<9vk1t1~UHs8v>zSF|P*OSoaCsDs zya;~tpSOh1Bas@u)=A09WtcK$l&tsy%D!kbAXZdV)P|6}O!fIMUSm7JoYCm=?Ixl;+R1)`+a`KgVtmuFlh)lj=z z-@7Lo+e8SOk*ls?wFyIqIT*|JkBxc%&whxjbnOND;tM7}*ht9uR4?PeR15aKa<^}P z!Pn0&EF9ER zXp%05day9YEdZhcF&J8dnPXf+g1nkq4TfG}{5h8CR=}E0oqW%khv@k#po>)+R>g#A z80Ka1adDpeSta%zIdb#P9TtFG#KiF3I~IsdB_NrEh?h|ONpOZ{WBk$Mw&@Bqgv{g7 z=g(I+&_xlG1WwJo&j9FUq@^j~QwEkwf^1YRer#z7-tl9zb8^aNS^%U50OCA9_61W7 zlH-7nX?rqAGvT~+%)7-cx$biw32Jw`^F!s<{W{y+{!Yui)a?f(l_Oft8viV);I10q zw_n!F`{@Y}9I#10*+ZnAem8M^2;X?vqb%#ep#GGs>B78piBm6m#@Q5#W`B>KrrY!W z{so4@x2SlT=zrwOt}Zl8_T+5qF1&9%>sS$g(E?g=H?~>rFnbJ z>w|vPUSjrwG$#v$J%~z4EhM)=3ru*7K_Qh6^e*Id z=vg!t>c4$MoV*+Rv141XC7Xl z@Oi>a8;}q=ZrLGXZULl#fM^jGAo2Xrm$>V}6JlErUvYj(&@IsD{{>RE^;gm%ZB)JYO67yJR-ttIjF%^6;kWp$Dzceg+tS#S8^mJjq z)cO5E0^*P$H9wU5uEVi*>fXQqZ;`!xNz3H&`~0zA-ObG*I18v?>>nq83dTEd6%Bs% z>Zy8KLT2VZbik3qII9jHPG%Mbi0L5_`xYcq4E@gQekKWCNqKg!X80cQS|KdRvm2+z zct&uk&*QyfGt~iL>LZxc(H?9`^VNzV&JG%yYfx+fdhzw8crL+;e{6r4#C-cC{^PA^5f<81Kc zP8a3wfVgg8a`Hy!CyOnF(K#R#MC6zyY`sLRCU{G2dxO1|S6E27mljlR*x{c#dv+L0 z1_Ngr1_sjwrjn(1>H%x`bc`?Lb_(p>yEg%~Gd{)liJe&Z?%L109&aOE4LQQWPqN$+ zEFwM}UtCtwm9%5;^cCZu3A;s~N5Omlz&Rc%RLC@k%ip z`Bne1U6gPVAM+bm{%(9pv-+2{_I@$5n7^V7?jo(`^W=!YKWYYs zvafToY3ch5^(Y4`g;sL;NOpHmd=H7CS)6(~m8HOQSc!$@kAp3Y?)r0LV_C63{fzyj z^pF1U41#epfBxJyGDWXKWhJHacWY@e-^bO1H}(YYj>9P=#kK~pH88CYA11u2JH*7q zkkTsxG!C4UEd8|OFV%A`UA44+1ACh*qvZNt!hZ`fa?>`Y9) zu*1Ff-S*uDTZb0y%jd+?Z>cSkof$c;*Lzu4@TlHw-rhHOEwjV5A?O{-{p|LQ*TdtI;ZjR}We4XV#w@NZG}>|eji`xZVAl&~AT9Qr~!W%iXr*J4VR z>TY9cs<#<@RPJJ?UQstBhkQ$WUojGQF!sZX*RQKVX~3)p257&Ue5`zt+@mb{!O?{V zk`|P*2w}^!NdVaa+7`UHg~w;5}+>lBL_RAZ``Q) z_U)@V4-jD%EH_UnFVG0)aLe?3Z*!wdPf!17+UyGhoShb^BI4pECVDwJIhAi8Awe{7 z;zXiz6o<;c1N)Z?t@lP=oeP_oXMNT#Wz!-3prc!@rpRUgv-YbtE4Aupsb4-CWUM=E za3M_Y_lz^T0LDprKUI+Fa-OI#ZE1V#7m)j{TC+F_>&t3$wbyhTdGhQl7Lqx@S`_0=dhPL+7 zPtt77ervJ@NrkrzeyTATAg)Phn4wbEyAa0E8K*ITCqn2fF$~(;H$GkisF}C~rvMWh zOokuKQQ3UkvE}H!&0_@*h;jgz;VhmQg{=FF7t{n)y_?J<^R$A3Rt^|1ZEbCn=|5VZ z7eWC2mJhM8`t2X?Vi4ayJ?*c_naePVF(6o33kBMi!8KynYeH%}2qG88K?@yN#udVw z%eRiDfwy{FN$IZr9#oT@+C^=B3;0>80F;A}wJ&`WcW@SfbIj`vv(+-I%z6G|n`+tG zPZ**=Il;v>^Qv4QTMmAgzUTVMiPSFi%H;n?JV{QTX#NaxRv_m81_o@{_VCKI{xfu) zge#*Bh9J#LD!t{gk^vu(%R)kYcnxe9JZ<##(`^04#VpA}`%I)P(xr4?X|K`iD|Jh+ zva}|gF)DsDzPE4aB5l5cF{`@WAkF~@^a!jU=k;#-3!aJ5&b}%-t|92wJ@aE4uFCFq=W-_>JP-8D5yvO@1uQaC`yL`MOasIO)rQiA`-1prA8 z7YV)=6X!5~`_uSW#E_p5JtMoG(j5crIRySt{BYbe-Ua{AU~IGKjM5DT7|vjvf+HmX zKd)>rYR8L?v%0Vq0!gmIoabkOy&0&6N9V%?oh}eGo^mQ-15oAo`1#f2xq*F$oQQew z;=F$4&K>WGs2Qwm^cMed%jhpkSaTACO5C(cN+Gk~Z+j@7u4r#Bcpd!g*$od95;7C@ zuvjrFI**SeH1fx^VoS1M5}l?TV9ItxOH=c;u$xe}VLkQB9giPBehupo68>v|5TmoO zYz?mQM8*)&2Z6Rm>kn!7Aa*xqNsfJw$Ww>*pSTtM4c$ux8lWopPZQRi$nG}6#2kfk zCf3^1-SlPfp;;bJj5#Fqz_EBnMQq5q+Wd+f*_E4WE25-t>_?8%we&Sl#7lhoJ^kg* z`P(m7(v%`J+EOJxj4Te0jY&xjF&bEI9*iyNSWZzmj#J~BPMCkxyKz2#P0g2W9kr*p zGCnu9CVqK%?aoT}?}(YPU+1^-=90oe+@lQ=mOz=x%XA*=f6g0@Q z3I+qRt2Jp0PEDNHl&d(x9i5!G--)yMJ=q?pwQ(wKLE-*#V*PL{;Cu@%tJ|L^!bOA- z(W32AuRe%ppp2`}L3|^u-Q4n=L#@Gu^HD98J{s@2aiN0j;Z%(?eJCqN<1gFj8VPdE z)?&Bq*a9BUz-~wDn6%2$=qpK%Q)BA@P~?nzNKg=b=Rce_Y*e)#u- zJ+)t_opmbRhU-=gr}DKo8R=(ayJHyhr>9=8ZELk>)117bJ!4zI$iB(qAk4G)@T5mH z^flXeG+eao;?w&xGcZtw4leA%U5YgIoPtsIO}Qh@#MqPQ_(1MFRaAwC(Uf?Lh<53% zKFG5d@LP7r48Dd{jpavMmy6p1_ABv6+418;#;`SCXP?tXG!ySiFH5d)#`Vo_m3fLP zOSYukW_GOE`(XEFgL^7n8l@J^%0apNZ`x2NBv<-XD;<3#|6e*2c8rz7gB8P=`b%jevZ{Igx|S&8 z9DZ|i^9jXuE9NFL6&1QO2kVZgkAISj&i40R<1?KODAwSm-G~jUVdS+iMPFPr|06`5 z84TsSU3oV4Z00lMk3Bqa10)}+~i2t++qjy-5|E^*A!t%6-^Z-B)92Q*W@X zXn$J4Unw>oM|(}NmYyD69*^z6LhrLW?3S4B3kY@z6|gK9)^T1u9l?f;s95YOVE_D$ zLe)-^^WuB62r-uaB%grZhpb$&r@F3PA8|O8l6?F@JdZSO32T<^q;ple6DtTY7tw7T z`|}pnAc!v?Z(Ep}<7y9sV-5&#XMsCKUU7LvaEC)URCqp_xKZXP`H^7U^-JoN_oW?T ztpVQE76fyx6}|nd;n8Vj_^f{e&AheE@X~cOorHn|6oqdw!kbUoj){v+Z>RQoZg`}` zT|Fh`IK8l3bZ*-IG}G`QCO5CsH$P=srR=Oq8y044dRI#2lFONQ$*n;7Ss2zBQ5c9s zbQ<61=H5NA+xO?IcM4ifN)CS*JhM0TrP%y5dWS3MbmH>z4!Of!6qn79_luVfpn3)+ zhmJ+OC0(ly#2SY7WC4Pc48ly=L%%cctJj~6k@oFhri9y*H;R|Itol68V&?@GR@Om( zof9zq2PE7zH`yhN@~mnwptq~`JEK+67Zhw(6OjaT1W*+~6bUx3^*5uqSndhfpmK3( zn^d;Quj>62{<~*JQ9%3?#VR%QXtz@WrKZwtT8f_-6*{%?>ok$`GAh2m_b^e=io-B? zgu$qX`L&;^H0PPvfghZ2>l<<|avuAcWwX;*u-qNoVZsFUjk>erulKj_ymvSYtQ3&R z{zapPNFVJCE1Xe+@b!eol43Q7lGV2>#`_eBg@yM~yE%X)M5q!OK<$MNTyVTXl*8;; zYyb>{PjPSz4pcmY#^fHD$pC_JE~BPG_2`LW8Xzn!#Sh#A!0E+cwvLbuF>&$!sj0J? z7dbed0o6cvjr1M6-)+#$ih@x~@I@^;mB%7pym&17_Vb;r!02dM;FVyn8{ECy1iB)B z^Y4Jemql@V;^y29*Lb)D9${u?_Gh{xjVl&}ket&86+s^d4tI{hZ~OM`&}*t$Jz0a5 zCFH%}Iq~nlaN>j)O4vK+4k1b81OKhqCZgPhsfmz~kln;KkosBqBtcNQ%;Y?F ztkVAoN9}~qC5Gv=UI~pC?w^dg^7+s}$Wj#XjJwy`vrWT3Ne+Tf?yRnIb_H^a~_ zb&z|nJmZcMt=1RCiFAg+WR!ABL849#{A?ElG`C3}D-Jl!l7pW0rS{URAK#d>UZ=!v z7~HS7-WBcdVPwaup>nof>lz%2GnQSQOR4GUYhe1F?>NVT-w2RSI7p`4pVSpqlxQ++b=Bgm!0^;Cz{E=s`!h$!(kl*`4ZEl~RKN2O=gzxSvy zxC2&Bq>yVk^!D(zm;+jY)I}7h&_i%pV=-;a1-OCLe-*CG;KZ|?YgLj6$ZK`!1tGNacobim>V!E zPy-Vl6u$Smy#Q2Y)YRxfmP6G*A+Cd{<^PUhnU)hb!@r^`7lt$i3ic5XDxssOCUAEK z;iN_#E$ZmVhpj-cqjB*9jDyN@ZN_aA>*EL^rHDkX<@~%I@rhx``xdx=2E2B{5IR*O z*B?3#1tleMS=qgWzcXMwgSJdPba+jrZf<}U;C-MEBzSGLchhiwtZCukX=jKh)IOQh zLj;P1sEckJ58!}5nPyxBK}A316|Cpsx=>rRX@tk9?*R_)fPfPm9F*X6WBVc{p;g<( zkJ)XF2(AYdu>`pX2C8KM6EQ`-2UJN~S~?GJ7^_lINs0I=&{#?V)FCiwVEoS+xG6B` zdAK$w`BFMQv*T!J-DQ`>Gca>%2~to#)Gy}x*(}IJ}0Vof|KND5={Nf^_9*~ z40yn$UW6q?$H>!#MoXN6E;zcv{0D^vMd@wFPZ6Eo%G^vB1i0cp)yvVD)B0{@_^76P z{#a0LmhE0imi$KL{bvnpFOF1n?vq8~i;-qDNPtCuqG~BMZ_9jyv%S@_ zcH3_Ex#W6lzp06mgcP2?!}ao$M)eZ)x6W_9DmKKPnU$qi^Mbg5V!&}HCM6`GnQ1H6 z*{BJZFwm*-2fdY&_rXlnGqAA&Iszo{xUg^x2*e^Z8-z6+5CuY21<3>VbSdGBuKNbj(xg_P|Nz-2NKr7-v){n=eHV=oMgjywmEf79Lw$`ll!UTJAKH?#nJu3&B5M0+ zLPJOsU=vF{eQgg+!7$760ymX=Da_lu%f#S*&yqwMo6)AV-T?&-=g8l&88mIfe1O}rH&i%>A| z@GEuC1x7?XQ%*T>ZxjH_Yd#y6n1?G#Ar6~RHUJQa z3hF&Vb_Lzjr9(`c$P~`T#0i-1_i;POWOn%nrx0{!+>xwE6v9joPANF^#6A9roDLy^ zuVGCsg>#iZ${#>=|KF4Vyh&W%P#Ns+0ASU(uKv#RWtcDHfm~N`-VwJ6ZP%t?Gm=s*dN61 zt(^h1D^@azHV>o8gi-svbb=#P@}te`}Er zoJW$APpABAiIt>+!8WCPRFu|{C_RraM@I~NFVRPCi~gKaKB{by+$CHiID5vhyf`B$ zO(|-itmH&ma%bHT=hA{^?^s1wI0cf~VyZ*<92ZA?pZYxU?b`EFQ&n7Tk^kFBLg)vF z!c5%wad>}A8p^?Lk^$s%#(%fmOH8v|`EdfcIl>CY)}kV0Rh z)AnzEeh5?ViuUCe(^nr&?c=`>H**aC+Y02EI_~HeV$$SSUp$>klfVCK?^ZO-2yf3H zuHjKsiCy^fXJC0WhOUDcC!>Q0;DjfBTUFJVTkl(AV^w!|6fwOBG5h=HPpa?MvNVAm zrfu0qRPfDBk+Zv%(W;?U%6{u1YF5DS7tPzw^tj;4q#tiKySb2$2z5o4xin%`hic=pd(Nb)L;2v=^S=iRX-|`V$w$)gJKvfx(v{ znt|ivI_B$WR>TL!O`(>P0HU5&w#vmi4+_@H>DP$Ay=5tA2CFfJ1Zb>9OEmjf$IR+4qQ# zmd2g5-(?u9Zk+2d`B?I6B1VSBVw0)B$==Ksun%PNfO$?7PZ;2;-=vr!Q~zY{1N9*8 zrmH#S4>3i4-#jrH>0|-GZf<@)4tin?Xg{i36fby9OJMeo97npv;d_^xn*4O)ILx(PG-Nz6S0$lG7Jb+<|NFUoolpCIzYfvK_Hb&P2YxeW= z+XH4UKwb=${4lM;Ic5OtkSNSh1ZM)N!9qCkdBwT81*t0VpsVK6zl^ z4gt}P)TgAg2pNArN(|8nJ7~S<7`3Zk78DZ;-x_TpEXM8-KQ@2Z)X+h_`P7ep&)JXO z6Y`&qVr>1~i9q&k!v`2%Wo!h)gy!8g6+J84yMMT{?W=NEt@!f(nTv5ma9+sg*it-D zEilVBQO5W7+?!91!V+3SWLiR;4+C^(9$4}5`E_Vg$QB2jK5_8baII&1Pnv*s)Iq&O zbM<437&MicadB~_=z}!PA}Dy+9f{|=bJXjh9(5WDlFYO2--;mzEBZ77FnW899Pi2t zsl;eyP~$>j-fwDKFt#_QcAk5}YMLE`*0c=;pEAmSIwDV{2QE zI|)i$f*OLjVYtE*89Z1$Z^v}dFHSqYQh65_K4lzkd3=He=5D{u|Eu$3!i7M|X%ptvPZ*m~BHl&`-p{IPKVz0BP9_Yxt+Oq7O^U4@^u=3QL48z{){pE#VD zTq|W078HCrO^*NN;M!8tQ)1hCZNy&U?KSu1iJ0=}) z=YsOlpbouBT00ev?Z&=~FI*kTLY~ZNo{H9r`a9EYa{g088iP=N5OmZ}_GPsILOpyW zgZB8PL%Z?JI&!TV(filb)m@91p95K^4~!Z-eZZ6N2u1DJuY|S)MafB!81NE?(XE1a zAmPXGq~cCLa7;vIe#hknh?8i*l1wdfw0AL>eMcb{P2_reHRuDD|(Ev zG2}Jxff?&_W?`mh6=hHiO5MC!QC{vrh(n=6d-HSLb0!A8FTjuU5%tdxUw#2h3boTW z9E^Mq*Z6Q4Y8Ke};H45n5=hpFZUmhQ3Q3!dH7Cq6(5DQb*C2sAL=ohSnec&Vw`oJj zebJYTrlcufBEsomwEu3~n;;YE(gZO ztL1W~xA!mI3t`)5QoXCYzd`xEwDz}g8D0}%D1b4!O1S2gK*QtAirEAir%=QilYIoMs_pH<(`~KFvx8#UBTKJZlfZVLCe(2RdNN;(4*_NHiJlm(<3*ENf zfMz+~Cm|ccIYvx%&}38O*a7DhBenwan+UZYN_t>Qq~_oTOo^>m=1mSCIkIclu6}%J zSsua)6qS`fSoI2lX;=78$vFaq$%*MuT89<0srk zm_7r^psln-)!$v{V1#~?aQ9eW{YPK|ZwhwKfw*@%js`C|6dRsI+_D&CTUJ#yy$6D! z+8qGS^m)wqBtA-Q*TsbfsHNck&;P#>3HRRZKZjcl)A`7@C%V7hdK9qqJ#wGt&xryt z9#UL5>MVu7c+SFdbITKC&8@P%a5LVz@+Vl-tIgu@6;iJ61A}XKb zvttxq9l7CdMk#xDhnA51k$P*PR!}`PD&gE9k|=uz3X7vb)w2_`JN%yPs z*WbTSoNfZE!q42tyV_50vMb!Z#{~;H?9Vfmj}`UoN1mK|cCvAuX6942^`i4W<8YHL zhOyxT^D`%_-2rf}kZqdiNG}((@w%%DY2~MQ9(gW+_MnIyi1! z`M`k+S%1fY%ah+zUNjx7>if;;;h`ZJC%-E3@srRQW9b(s1qGPx^@^0zg|F&8A$MsI z4_08W7-Qfz-2j=Q6n_}wJdwo6 z{|__g2jDvb86}#aKYtJbb)EpvLFR@r2u@1BH_!i~65rN5zDp(Lh=_giT?q*ZkJ>BT zzY<@u1=noIzb)@nx|DzZx{S<6d41E)Pib;RYGQFu3wcFu{5S3q8}dJf0=w|r8lWhry;+sLw);&EU1^vTzX>iwb8HHxjODxN;A zQ}3|}4}&HA3>ghSY4geMi644Yyx7l1{M8e9TbH8mLLG_VPCv zc08lE?`OI|BN3eCz!nmEU*qP+9(G3A;g5RVO>c)@Dsi;I`U0_11OwFSTqCE%|8W6I zme~no9G`%I%^TysMDftj(1449fQR71-w=5jc;U2vyl{AZvs-Md?_LmCF?FE~cFWh4 zMICNwyoRineGClJK9zTvE}` zuDE0JeHyhE4)?T361TY14DW=-IPB`N6DutLRj#yQG zNuz8K+Gb-t>7Ayqle$Jnp=p`pb+Yft#_p>omFjlMG^!JP>1=I<4pqm;ZgOg6maDiu zpP!%S9|Yl0Hb&?_J}cM)vvYIDSXdr=d+)?#(59Ou0~jjgp4kAr{^wYM?wbhY0A7fT z?j3NrrPbaN1`3ppNHHMtuAxg^2F5Zue;FYMAbTHFe!jlGPO#5g7FWiF2>2G6BbZOT z{W(56I|~kBaA>I47hPST0DOFWZ(1kkkS^ZRqI}2!s4j6+LSTF65(AhJL~_#OS~&p0 zK!{dR&!LUgN5B@X~KHh#cus~dRC4QX_cbgI?C5F_H1yzM zR+^4^|3SY=DehONBumg+b0PWw9_FLj3q%SDVGPuIMB{YG0La;%yJ)~nU7zAvXQ~u+ zYWYVS<;)l?l-t8Z?Xw5Pptar1<1!=CeP6jD|1DDSxjGhK-!~?H&^**u zoRx6CzHL{T;lN?OT}i*ClSQHNlJq~^55*E3yR`o~6U;fYR)5SK@q3_NPRiA>wB(F= z@aK9l?2qZO2q9!9*t;TSGwMj`b4T$;BHrz<2-%~-H9L3jMsRHqUh6(uS}}YjS$T-d z0NCwtX2I9OWdQRgtW;6pREG{p!HN32%3C=w-o>E1$V3P3gZ>;QBSl4mUz$dsYJicC ze9}uSijV4Nk?)Sma2E-g0U~6XU?m1prHUje4h#-@K>Pp`10334E`vLVEr!3xI1RMx z1Ev&!CMjD}#u=%pSt27qeuQlliO6#aX1`f5U2N$KGVR7fh8r%AV;_rQeFg9plWOWD zKh^DWVnagWDa{mmru}Cm>AY(d6Q^O+l?JF(uiC%X zc5+(Y6OhOw^uGkT9yhQLXw7){cv5gJZh$dE4JB96XRx3*%DU;w&<+AVBiT(B)64LS`?>KVqFRFc$I8AY1{&pq}!k<0N$Rh;{V`sY*jk$-pfZc)|4(s@)h2HXQHL`#Or0K&$-rAZ+KBX?G+kb z-zF08lkIo=#3I+36W0bDUM4*76$$nEDu2VP_Kuj&LkidBQ_>epu7M$-x&Lvni^}hA ze*MWqp5I#bgr!a1yu9NZ`yQo<-FC@8jc@FI$LTAnW3v%HS{)f2Me zt`8m{)M_UpO8Nnn;GB6*^zo3}&Nu>ILB)x|9?3m1@dPNsXl-9$g@E9?SJCUUz~#%$ zr*z48E>Dg&#*AV(008I{8*K&`JrS=WuMJSS#On7SCpF+yIL_nj(b?*Igi6>OYjb*BgVQar^G8p+o^1QK{&L*|>_d+Z zLUM;bita=-<3j(4d(3dc5ygwp3#x9+bO`^_t9S2)67!2EeSFB_U0CVY{i_9rGfhYi zA7y8!)AbLW=KPl}Ke+%@>zZNw5y7QDwUCjO6%!kpF2-BVjxjzG9v(h6G;%F{H`}h6 zoRGSWAacJ+lsWAHhQ={%fKA8-lk8qgbG8L3*B_N{X67PcWx~gCFRX`TrxlUhxi&^%ZK_>h zD;8Dfj8)rjcjoG@BR4F%#5d+ijo#SW_tZTO{IZA4AYOO)bgw9M@(tZP&qn$V^_u)o zyq)I8H^-KLbbqk<_U61b>Q-a>J|3qZnj5Yf5|-kYHoo=gisqARp~bWJbhqoWQ?}p1 z+sQ@Re-~Z@N*4IFUE=5ahDZT3Hh%40_nTw(246q1V2fRQm$n-k7A{}ka!jeNqy4*# zu;Po?(mH4MiCe{gEjom+h#o$E=lUB1pFMM4V^+UEGkZX&M=PI2dkWIqkKVW_eQV}C zmfXr;Nt4^x+)DrX>gckWpC=yfv2%m;<5$%q_9^_6G)r+d*cd8^PJ^bO2RWolT&Sz7 zpsXBm=khkOWu<4&ljqLKxFHkawh$}(18u9x>+E|_X_XFyZeAFs|BKVc;%jfvfX`Fr z%$XUecYRx>?po}l1TRWccQthAzoP=8*klc}B28*{hDazi1m`4NiumRv_B~)0su%Spf0hR%f~{dbN@-V%{-^2Lx9loKn)*38=DJOE$kCnjzTLi z*Tm$)3Dbn#KOG0U{<0g=Bl-aDaKbtU_p*Z;#Wz-tzJ^a6lO{j`Kd3mcZx?Qe@GJt* zg*n%SqY^k09(W3r2SP}R90U?frqeZ-+{jhq`k~pyi){4DXbJjtWX9j(+qYj!Z6w%k zo=pI3lWT921dFG8L9Fs1#ive<>@mIcy4k@`8dIj+EdMTyFayThQ*?=~xajS=eLd$l zVUxmC=_7~AI!;orJ!lr|(kH%z({rfiwN@uD*=vc0naeF>Li5(oUVFE0!km8|+(~Vh zE!Ew&bDyIH=}o>bO5-f=p-~IyeoowhWk3KcwtAY`56jhwiM4fv0(F(w#Vo9 zopd1#`TN^nnoSS%`#7v>oYXq(`Z@bP@ss&)?x)M2bj-{uJx=GWSv}h{y(pWei>oHJE!^*n-HUL=D#7NE0ft@%X)qK5{eP5` z)4N&4BxU8fU&Y^}#a7ylndkPHL@5H-i!=g;1seykEbM9sb_HRHnN(ZX(Y}+}>Fhex z7p@=w8L^klsFx6+Aaj0>5}-!bJ)}c2V7{b^s)!k+?kHaf{)a%n_y%~o$+|&QpS*A( zoBumfMI|FArwfHS?AJXs1rS?PTYfbN<4pm_<_`b%{k!?A+k1pXCjFd<((ofXSf9?j z(v>gc)B(CCF44Y3`EBA8{k-s0CA-pyw$%lpn0@2eF+->W37nKUH$!(0`6sUcG1qP7 z4-?Ann#?we8KiSZA#U!?r(Of^t{Yc=a?|6@FQUI!c`S=Pxb(;LBbnvjn-z@#3)L44 zJLPxkcbJd6|0KJ;sGt;d&o3Z8TR;E!v#(KQkx+Sh8rTFVmmCZl+c_&RqU!PSJr54K zhrd~1EgPCSFln1n|EbOu{m07hEVeFdU!sK&gnPtexr;oD`4KBCC2}=lw}?B@KW^sqU{jkZJgl(i^o8owqWFIUzV4fT>GW6 z)p$-jH%47(TVV@M=o{6g?BE)T4vcvtUKN8!L)88luJ#Y_Ni9nOJ9e!rp=|%S*x1;< zGhC)}s)1S7HVz28XY}UvYxm!f+X!3G!r0gbinfF|j9Lrkd&v0l-S%tV;iB2v+TOl* zuQd;QRJ)n8fw5QhJcj9FjM7+pRRN%rYgrQ|7PG?+goKP>obxW8&zgvam_C%;&dxp# z);FH&gy_eLHL<3W8kPJmtiAAw$(hm8KjipwVZ;aaAqIKT!!b&Ggm_N5*)~kEnJ>F~ z_39_UbaXXh5|mt8EIU9%BN&*O4!RatkO?(B7?dyvWo+t}{bEQY4JO%aZR@3$*WTH5 z^v%;=ic9pJI?sNvs*`U=*|iGNjtvYz0!CSS)u*#_EpR0hv*@k zpLBHT>BA*ECI^>jrZ#-@RXEz_s-rc;zgcZTE2Bzvz9zjqRz)xLSH1I!LiL5iL_g5k zg0V`PA2ufMU3SSa@|$Vk`zcjiaB)q`%9=ZlDeu4&Mz|#gvccave0#BpIjIg0j^S=8 zrU?YD3D}vKoU9(>AdATE2R(U2e;*oWxhtA;BL6BelNP@HlH8?x?=h>mZV?oQ6ki6`$G-xm#{!oo%O zl7{zmx*e6YAA4zKZ{Dfp28hky$PKA*X9X+~up)g{#MT#48Cma}O^<@JHqfBRba!>* z%!o~b755GTlJ=PHiBg;C#m7vzig{rqpvaZ?Vyh(}S$Iw{L?KWh+PwRB?#vqT_zW43 z@CbS*=5)+yzvFCP4rELN{TVqC2D@W*Yo-Por^}@N`troSDt8Zn&?ka$L;247ig)k! z({qb1(=z`6&@XlE+;(mccT=DARjj`=$;oup$(WVL`b_BCl2h(~aPF!`&q1y^>1p*N z2Hzafr`3_m2d*YXS)M(sY;d;Z+xqE6`PLhD8|kQe>uIa1KIs*&vu%aka_Kf*rKRVT ze0Ny0#>I8;ch9cNZOuNXMAoKld~cG|X>3{Lw(O?pnK`*!v~{jAv!nmN1>Vyau;E}&F#DV(ZXR{=|+ak!`Q=+X8Y zM|E?5lJsr)<-N9kHRY*-3e%|Nbl>M7EL^-em=S#>rTH*EnORxXd)9?ce%YIhR;-xM zQ&7{_S+i!a;DGMjk=nLx8%cVfK{&YcS~IgN+m@}y8HPL)*taeEWFomBXI7kVwqh$c z^4f(xH<4bDoDh6dHcMuX@z!qmTHc9kG8kT#3NiHVhu5z)9ULaOw){>|`!i@T3u0Cc z>o4DJgnIcos7Ec;UTR*aPW@Adu<0@IPT}T@L6y}&=I|ItvvrmOG?I(G-@8qx7irhI zDtrHnb9+`T@8MqRvnXiJh7X4Wbo$_OG0wsFcv5ZmmCjiici%W=8V}02TDtt$hk5HP zrpfG28^C23d9u<*amI{W50WyC(Ds^aiTpLObKR*&>sPK^`ReuSymfc=E7F(LlwKb1 zm~s0bx!JW#j@4zX%iAr__a7TK@K{>YfRJNl8k^s>Yz2UaO|)>Bn-XCt{~T#@H31`h z-&ec~L~eQGeu}Hl59Nwn>R?GB-3zZkEJ~zQhv3EYSfNptWnm zDm^G17&;NeFN8Ve^$>>#E%35VjfE?&$Hfh!9D#D(hO)Eur?;mUf61NQWt>&Ph-1f& ziQJ0rM)8sVo;^~v#Zl(q2z~nY#rC3XWAPwNBy*-VbTTk7V4hGS+wkQh5;`RF2@l5a zbaoatqaYebZ{2E{u)+VujV(s8uGe6n*6}?iX=tpow$26=S(&oqdfc?JV^5%&5o?vT zYX>^L?fNmPav*2G&NWY)#ggUdehAa;DXo*_PJj~!FlK#LMYuS>uUG5%_5daH0*G~-VAvi0GC zpi^0=HM1g_7QxgpIrWA`=7y(gBRA;icx2aN20qSq&AsUJh!hbUbrWvs0-Zz;I}0z1 z_wV0}8cift@Lo~0E?RV~$0Di*b2gDuj|FQtwz61s!JFGalRQpceIrc0#V85uB9Kc1w1?R%jGt-ud1?9ErTnkc=cJm~+ft8e%SESs z9!Afwjz^FX_e!(afM4G3b7AmKD;0s@gO*^_F?#f9ghr=N-F^4=t&q&1W2P)1m5OP? z6GLV%Sg=4MZ+HRmR7hy(9c)lIOSrOV09LqN3Npez5I0 zl~1LlY&{q>nY6+zsYnsvVc;4xpP`YFXM-Xh<1jpayk3ohYbf`~Z1d*P@z)0N$xv&L zyt9N|m7sTepQPjsbNaRJg$^3m3U8`s?NU`$RdA29kDo8+ee$3--6+q`U)I5w$h4GU z%aEm4uGUfOlea|V^goo!IEApB1U)whx3jfHH#w(rUMfr?Wg<)bW^dV|EK)yZq{hYh z{9r+RqiRe}W^8XY@7_&!z44W&ay@&_1+YK~j6CyoeSK7Z@+oRlJ~zcY`aiT3V5KRM zPUlPav83Tq?O>TYOTHBv9v$Z`78VaF0i1Qr90)>LsI!e;belqLy2-a_x!f4xWuWem zVRIGl`S9@B;HPv_C{obyy$5>Ow_IJWDY3Lo+Nyhn9D|aS9arf9QVgtG6#3mPD?1O9 zA7b3y%_Pxw4<0p3nqSb^3iEmm*%_J{s>pJSqD)`f>#Hr1THab;=j`KAqdk5uH(gyY zQ|I*D)&;E`dS5Iy-DR?Pwz`+|%u%f*ngw#EfC6(wUsuhZ(OzrU3Zxa<%xva3W+ zqZ{5gF&m!PJ9p-}eJ)tGIKF8$s&Hjpj}EfNK{ys=e>KcKp(3tz?^%)xU(0wyvKq+q zM}70lR84?aAjdau+z^f)&@68%Dgso;?0$NAt{88fIeW#Ybm=4y!w!;}vja`8JQb1$ zgKH~i@sgosgi0NuM@#;r#cK46U=Ys|Y+ic&=%e9IDa=tqJOfG=sxy^uf}8xOcw`!@Zx-E}Ao+!0kWC;nOY^ATRd5U~waQ9NFYL z^zN2gn0XqQ)s8o@uue-Gh|>xcJrsHc8!T==eq0li0X1yoe8I=3WVFO~G7~JqQy7_C zXpD;Y6WYZrXGIG&-!VOZghfSpxBA?xSFfxuPWaIXwY5M=ScovFx`CYt;!_~t08w$! zHY)#KR~o#Gz!BFYe`bd*MM=#89mGOn+tS#$xbp9Fh z+~w=$uUz@8=cpD5)$Yk`A79_+VKG&;wcTl_00@x!o&3`a5eh)eIX}PJ4>lV&76m#} zNNm)aJk!_3MQ5a!7CM&)RCU)>-;KWw2-HNrv+p+U<)Sui+Muss=?3Mg?{JkK?%`df z{;ngI)9|0QuPsugp{Zk3REi(T<{HwmXec+)Qkh@eZQ!eI1kQx;VPoH1dOe}Z(Ty29 zE76yRw|e>I#>PegT!>1V%Q#TT1z{iVK6w(ZGi?#2dSKFrhK2^jIe8@}D^?sd2rq0u ztjwX<7|Y|+FcxI9J~LcWmbV9ix`UlbB{I6}X(eI_y*dDJ9D6}exvplVvmxss;j9^=SyMUGA5lo+@|>%zoR}ML8UMVq(=vS{BW;R))SJpJke;JLhReO7+zj7Vot|>xfO75 z#L!9hRVNDcCqtBRw-ZJVxwLvrB_BVpR!I17hMs-2UP$^P48m38H&O6#=*d{x3yttB zCxLNiVKcF!kW2R*l(YN$i}@g*@ZHJ^m0OO|xaQ0nZZ8*`YT_Z^AN6QQ zphz@g*POB?y*dwxDXlz6+1H+&eu&w;U-d*$gRz0j2y)achQgh+$4 z$?LR0XOw_=VcyW6ZC`d^At+BQ>u0LtuU{Xx?R{p~ms9*7A_2U5EBI)PMW3jsr1hbx zcehrjIe3q5Ts^-0)+5a~S03WkxP@pgMlG%ulgh}o+C4u}%=SSFp7!gDwz#;|-(u`Z zjH?QrP<9eSBYiHC-MYUeLGS<_^%yW zAu-&6k2kHc`MbwnybUzXA=^3=uK9C9e?uQDU=53h%S{XsK2SI={o~^&5G~(A@Ji&8e$S;evn$gm*d>Y5AG02?uGMNdOXt zNVfXPPiI;;Q)nQR9^GLhYNVo3~^P-W_1Bq%KH#|QGJWyQCaQ1x$^%=ctw1y zjF+x0%Bde|U0S}owq#H>U3KtwS@``!$!T1HnL0zP`n1FblL3tv)z_|Fv(J8c2F$fQ z#Yqg3f%xednqpIhQtAiM5Qu44c=`PNSGP%!f``FKPCxv3Pw81z3qGd(v}Pf>1Tb9YTuOzvj8Z4ei=NnSW z3IJUwwt0G%yQ#p$1LM^uW*6Kk)*?MZv>+`BbRd{Yw`pViJ&EXFS?{MLGvNH{F~ybv zR;aYq(F_#VGzhz zgbT$n%!L;GMCR{_IfyiZU#fim;0^nG<99dPmpj)gH-E3sq4g;J@En8vso%@C(O=|3 zb%B^R0r>HW}Ae6n| zzgIF}$1XZi9TRO4{K#8k#xnB`_M8atK-9J6c+0lliQ$xNsq|VR3A7vZ3$3?Pv_o`TDZU z@(Gz%U~CfA z%zsF$y|$xxUkh9OE(KfuD6lz!8uO$%Mu`4dv&H8wV$EbT#-Nx_L>_1rmg zq(KzCf^tNS145k|v{g-^^X6--zf*Lh8NM7GoWUvjyI_dJk4qcXGSA{FP!{P3{3Q`^+u`wWnY)dC<2M}1-d+QD7k>I`tySc3pR;~`{ZvxF z>cxgiQ^000VWY8ryiq`{AJ=;M5dH8%F^_ro?p?<*`ah2zIdZDiJ^-S^@D(qkQwD%N zY>!=gjyRaO*^{a%ag@UHYf({^jP0CuR+5z2Wen)lf6}J|XI3Pp9_~+P(~(Y=vFRst zQBG*&#a<7l>MUb_N1kbYo6MoLa@)vwLl2J6*W|#n!L?gFnt3LZ9Y6FT-&R#uFEurd z%748P|D$O(*VYsl7Xv}>y>f*t9ywuLxnQoSWf!6BoiJenV@U$SX`pClS@~mfHzmQ- z$>~{HI?gVEMXAh>Y<%ZS%9U`!x5a+AON0UJ^95p_5|t%n-NITkGqWVdG=w&bKYlB8 zgPeO12UNs-4iO$!OZh~MZ8%YhFt=m0vv>X3eENyfgvE+S{|F-jZnjO81J(Il_D7vD zmB=4ZNKQ(s9@duuII$EC)Bqh=?mCl0R57y^?_4^3xIOi5V!*qe)}|uOCI}NpCu(fK ziYwgyDIXKX;Cx*34ypzu6Cn{1TZ+059yxO1k#(idp2bZvP*GHD=dpF*0Di5;VvDd^7gS)`-m7yp)LxL}#8N%KHd7J(tD zp`jy%H4)3{qT*7oUY!${E^}8$FqB|=3cC*qcWKstRvjz6)mMN}i~)+MB|y(2K%dWu z3df7i(o}3w6 zCbLe)ZE)E?WC<~pBm6Y_jVhAI!&LB80vHI6>D#sI9kI>=Kt-z0B-_Ctyc2J3uRl9} zx!C21`l(x=J|X#fFAYiQfFjiwSI~F^Y}9uBYhxIJ_}xxE zJzsr5%Z+spI`B~k*VWe497#)?&e;cQ*~&!Z$Z`0cB5=uDT>&4X5j#ViFpWw_qkizq>JS{sFBh$(ak<;HeEo-SJ|EIZD z1uo@EesWpQ!lI(B>=l6)R?z>$LMqV)@_3qbZbni@^QQ=JTD258lWA+dYEV6+{niY~ zUDZYQyAeOl-@c`-tg2_6+T6Iot4BR;O$rth^vD8*5{L(DZFlkf`SZPQR;J?7`WHoH zQVsWCfs@i}^N9EfF>CI$3e|Q(+xWK?Mc>G<)Hxp?5VSj#q+%u21h3stTOxx|HF9ca zQ%CZiuY`nDg=OG~a-J(KwjZt~t7C+nmX_xIq9tqM%k^Ls9QP}QRy2?&;_8wrFTBC* zRqP;JX=n(MdYhV!c!cI`JbUy$rZnh|R#py;h;v70Suc%|ZN2+z(vY1{uf_uS;mq$O_&hC2L9|m7&xf@7wWzlvSEcRm} zSHKwi&6X`M-n*}gkB_Ivr12RlJ2de;NF~zS=(xDe z<36tiB>-51*t{_*5`Jq?pq`VC&(=*=RwI;@?iLipJt*%69Spisd#uT(;MrpVrfl}Z zPhjH2-b05D^*_5O8+A|oj|T}d z_FVW@uKFJ_6H3qS7kQ+ulAG0~ut$1M`vdJR)*L-5A7U9};bwU0566)JX(s9PlV6%FA_I$7Okq9>+i%-V-0s4QE z@&`U=k8W?d9vV?h&yHojIPLd0qv=0CsFHl#4!EasRe`4CZKP}lv+fA=ddEAj70;Eo z{h=weZzaKu`Of|O(msn6b`L5jEIdhHFMjCenmml`RxJOs-%s=H-|ZmM0os@iC^99U zR~r`>XP_vZdXlk6^nzyG;VcwLc6P#;fu#N7%hvV@D!X^@zTjLll0`~l##zj|66x!V zul3V3HND6+I!&?V2`WhCnc(QJo>NlNm+MjO;OM9h#F6zy5oDHHIPmn)VPnTGF_*bI zxNO1Yc5WbrgJq0$Ei6LLsP&Lff36G1W&9YP=N;F)={HwBZNYB~6oDvggfTqKak?|)_I<{`T@7tKO$C(24 zUprIBs6{0sJ6m^AlVaI&Q8e%oG`;gtj0r5kvO^B|!&u9_tKshlC#^c>;o*eQ^d$Hm z+JUD&hHBWC@S;S@q?URfxa)3RR#8zeW^RN_Q~BI#F~#7Z^gF_58pK1S{?GPzgMO19 zbj8sK9fq;QT+64C=8W#{4GpzCYE~5+6NCTdP{Q)ffMRJO_`=0ctYt%FZSXH^P#SN< z7|D_mhKp{DkQv~k7dlKuWwCEsY*0|!-o3pYa~?1pH0PGfZ>(So9(^;052Hf|&LEFE z`ds_4*LF&Nad9Ovk!1*R&F83i(Av3yF9T?4w?6t@nd1 zWctlziJuRcs-j*NQ_v=<&J`HQ(PbSYr$Rude%wYw=7)h-McXraa_)YCcFqO!P*>G0 z?`8}GDO&GE7p5ka98s<19rl&gIPP$in{>H0|<(M#dKsg034SBKAge1D2fd@ezu2 zh|)_oFVl!CYuBu~O$lIcSj02YMl46vL-1U^==TbKOLS~xUJQU{YbiMb0TR`9U_P*4 zzfG(ExB!zZaNXWymisSWq&^6hp3?7W&!tt@rcRqCrm)E_Gn-v%WPH9e*Du5j{7lhi zfJSJQ^65l}4>8D~VEmI|mffWT8siKj>^-~p?hPK!EVZZ?wZ41pwN)12!}BVhDu1>o z={tFQy)GY);d|Mw%=4tltjoefRSSC;=`r`Cw&(86l#FUHR zzBayN*DhM$_9#xNtdw7T#riTM=idR>cZE>e*PTL2@hwxKOP!zamV6 z#mFZF)MrdV2q<8aA`9{SMCVG^+zp)V+_`gNaV0JC4+PUcfCpiKFGWY6pxhjb+){X5 z@oi>95R{jf3#lwTF;8qU_t&N%%JgR9>Q8g!G&KJ8kfjJ#%$2)Ju&rD2<~#_JSVABQ zDn4k@!nCs-R6KqlIL$yEG-jF1lG8Xy^sUvP^c+Z$91t)BM6kD)Yen*5iCgXvhqnVI zxW}wT&@LoyGw=0o!1@?~cyr_b!DmB@O%VE6@3 zdasRUDWK2CP|>4GZzFH`x?e^F%VlCYN+h!3@nM5B><@|G77S2q_Y<;%QBf(a)Z$Lz z2zQEMS5*MNYI)ps6#gCfqIpA}F}1nsO5Qhkne(84Lc%Gv1R{lU94SAdu=dh$yT zXD=cxQ!E@N1W6Y)=}BNzJ}AQYcN>^g5Eu#kmXz!?c^n2OZ+&~{YwT*ilz8kvU6OmU zWnh~ME1*%8-M41WR&hJtLt@cGPEO2O2y~5!dW}*$6U&*E{ZFX$~<)$Q#Um61hX8qHL}oQ{K=R zCH{n4SoH*;5V7u<5zDrnEXJL7NXD^I6P&8nKkpr|8a{AV#z)k9P&rOYuv(Q7M zK0Q%XQd;_^t}csmL{z7_Czf4GPWDA!=>K-Fl2@4i!awv$53{qazx6$in4Xn;pwO{7 zpR{6o(Ava8LhzO8RLZ&_zr=pwL0zZ*{fEatN_{oWi-BxI$3r5bi%Y9e^)FjMN_~s1 zlJH6R1x%@-d_vO6>a>+4(UKCYO@dt?j;q5^P2k*H(vEw1>BrWtPPCP>uy{It!i0BM zJg1+!QCLtQ){!E(L)!pAUDN+3+p@bd=m_-g5NTKK;!$jol8viO$mt(8gnEHOjjAWx zj~zc=nC0XpPb}ZD?=Olbp-t2gaxe!6y|GuTClG#p#+kLnk@9R&U3qFh=vm>`EB>T{(e7Ban%1w4&1oxv-aH)oD}_I3fu z35!HHQzk;BCQeLn933%O#v7`*An8^THsl8a1Bb(>|1)^-D}}R*5?>s?sS$9`YKwML zggWlv2s-Z2bn^B#5?QG*yRy$F^k)+uJCvToh|M;)eskyZ-`5H|3YeN0NLaXmmA70{ z)y5RCwSs#_<*iB5he8(SjmQ%^5_adC@6@jTHf5mpPdgL7$S?d z{5>0<@HdJbpfy59Q(FjF4eAuVpNtzjb`4^{6o8e>UsTHMUq|XzMQd0|Ua>GIfNKo0 z$kq3xkSj>;EcCX~wiTMxi!8%=3-oz5-Roy_bIse`O_N=2tzsO=hjcWRVqCume0KM6jV%k_$xnE^UlaKi1f#hJ<~EaQOjKI6(yh{ z*wT|Hy9!Utzkj*5Ov5wi4MUix#uvfR+!QB4u+EH03CkS>eJ@_GjAN)nKwa3za}7YY z4pCQb1-_G#>(gh%yTOP6dIB!K{xY$}QdZoy9P(CRUY^w~9Qg#(um zA&G%#W{@~cOghWv+3x3j!rf(3VR}*~6Z@t^91e#Fo<|EmS~?Ste! zcdWA6{0~p_7cd|^E2!=&<~D@Dzusm zIZY#TpMAwtm8N!&4Q9z%N76*27K}{vWFg=fZ=v1+p1V0GdvL(E6H-TxdVW#x!e#J=fuCo5Qy=%g)wOl8=r?F?7fHaqZZD3v3HW`usHOA?Pc;h;Q)RgN z7OMwGdPZnPmn=0l?3(@XVO5-zgc2Ct3Ek~G*iRw4qet`K{U6H!+|kyf?m@<)J?v`_ zcfV_4VMn+TH&!;;EV8cq_%R#ZhF@0DFqwoSA#2+YFfc0)$$q}YP%e3|w)tkcT0jFLPj` zhA6dY9vuAfgL`M4Ks^VaermI-HnRmrMpAZwTNK!LzWm4@9k8)n8eS-N5Rv!Ey$s0x zjntqQY!InAQmL%0ya7l}@Crh2A)+f)$D*nd>#$M_LXu0jbh6tBQS%CsDAZTK z-MfD~D)|pqQ~diB>}T|H|Av|6{c{ziOGsz}uE^HlAkhoW1x4PPv^q>}l$RDh!1Qf9 z!n1da-xB>e?(H8Q(Pkr^9K_s5A9?xl=+-S?g5k{aEp_4Jk@%L#tM)_0fYTnSQ~-7i zS}~@wv#{3G@Ttz?#r1kpZu973neZ1<3$$hozHg5`_Li(5=8l0AP(KPCa#eBE#gGsg z&3>dik&LSs>5o4B2xk{j9jBL-r3}zklu_<3B?*{K%%I`uRp|yq`@UPxJ*D|xTZO6A z>kl7}Ats@kUA|%kPOA5a?S>8?wQmN&7@olS6kdX29M|!x%@e_@BMcyw?o-j&@4ZWn zi%d*PR_aJmqPM(yaKTZ3Au0@2bW zj+-!HOR!!?&5X-LeEFT1wbGG zob+^IAx~fESI3;gWQg<(8cHqTi@pf_!5#ilIb>U^wRmwQ0K$+76XHv5pg|N~L8#Nq zIuGyeexvKl*O~_vPe0-}3rPCfdMOoHsw-!0#I_U(Ik-@e(gjl%R5*V5P2^y>hu z@|p?#++C3{nHgInI^5+uy}x|^ycW-50lDx=5ZQ>0PpBn#eSJD#L``jNZD@xPBSx&j zSW_bQGnP@#@ixRf50q6BrAps%>!g{mx6c2`bmD2H6u3ZW|1~IbgSOeXp?5|W3Zg=j z^qwjb+n%c>Ib7G{=ySI+mrK!sJq*yjT$e7MrAoH{l%+u;2^ku%cR_6Wh}NxJ3rQef z`{3oiT+2hCFeAC^MnmubBHg+ochPc+{UL?^tw_Vd7Xb={D9oyQmQ7?Tn3uBf8D4+H>6?xR`-F~{!X z!Sm4m}uWbPso< zOY!Xs-6Q7{u8zb;W%^C*0yYU-x(FN>OMP;fT&JAT zm5aQHM9BXDlM_NJq@!TivVRm`SO#M+{!+HSmAB&;S>fl#p5Z#k z4N3O_1O84(^!HsshO4-Da57X4kDCl4jDVw}>bJ}&(5%{lzJU>j!AeS6TAiIolDH^s zgetIVh@yRaSRi{P@F4UhdZwl?%jb4=A2T2O*G0b-?Vb2$vuDo^9exuXp}%&46D=+R zK;f8tEpgYKOYvc0@oe))eRO`F_&_Q5YXy)O%;I6X)P(Izt(6e-j+EFY z8O*47%=j^gasbeb-q^vc^W}~*q*3&G99l7Qy^s(C41hQY@iUMvO53>~B^5!T*RH*# z*bsu>bLXDDe)eY`0bOWZq4Ez${?YUv<`TYNHv>KsH4=NT>o3ELtwnZZoz@0`4{eX8 zcNYm#frVx*bGx|J7OV9U;3s|J)zH?26{D$0AjIkl$dlYpw_dz>F@T?rOq*u*;1Aty zk=m5!Xiv{G_)YK`RX&mJ64Z6txV6#TCq$pwYg;Su+mSx!&Mnc?+gf66w0Cga1+Bol zw{KrcJvzjm&U84jU7pwXmt|YWZ_Eu|18NU`bmj*?ZgGv_MJ(^(iwIvDm01KdGA@cR zaL-vx{E{7nkt>Z9mFCsmM~@z5M+mIREE~l6&jD$$Bf!&-P?MGaI#~S zECGF6O~FWhap6KhH6-w3_C#QBHHV1_T01c`#(*%g$@%cE5ciY-!c_snA{&`=+uQ91 z?YfPRRTUCs?02X_$Qvu^sf4nUF>!W7>ndfS(86`zj9eo46^LI#YjkYv8$!1*3!_~7 zf zbbtfJ35Fka#+?FMGbF|^rMRX5eZs7aN2Y+Z5@6>n(P)8kqi|0WlJwD|J4wiwA`&lB zcmrRxW9Lqx4_&iv-QAkPa0+nODullhDh&Y!37rpTA^hwUnpX^!y1BtJlP7mn2YTBp zHAED~wUZ2PB`FSoawB(R%{G$tkd$s<2{3$t#U81nBP(0tskRVFF))B}nA?GL2{{UZ zw`h;JB!sHZu^%q;m?vTQ3@DG(Svc%(*;1$PNtFr=Tv1s$pS>+uU?p6N+nZ}AZb>Lb zD2!@xn5$&(;HvTJ>b+iE*uN3{W3)rOx|-U3Jf=CJ2=E{)#aO#g8ft0r7Tb~h^R81O zB=lHPgMT(UZ8mlz9~HNT;LPTeUTA}{g0fHkWtxS)=xQaGiH~ve)G5uGGiUm}d=pqw z>6g|nU;|a1=v2_0(qB?ND2y6a8`HkUT0myt@W@F10Zl^2Bh@lvZ8SI?zXJTS*0i?w zx0_ThS-BF6*P!gYvm>W4EkY1rPOBY4l&(FxxhvdHxRe_@!O?V#vU1ObQf&fc(WX8~ zbPbs6t=pz#WdIfORbh|U)Fj5rp@0BqhAJ!TJpZ2eSpUs+2w=_73`_b%qa{?0r<}kzU<2Aq5ho;h088V6$>sSMqAB2qz%1q&0K=lF&?XvGx&ga^>t3 z;}lmw_hpL-h3b^-N0072f8Oj{epE*C%atY&qX)4#1=LcUA;RRuw`G)wz`hWOZpdV5 z2uNJj@mhgay`Evgme*uzqOadZP5Kgjv)E~xlF~ok@WuN%w>_E$(&H}F(b+(;JM&)s zKHeHdb_Tu_z}3V^riFWWJ?saBCf*-06@zK|CaoNZ$EZoeU%o@{N^oN^_8wn@p*Gc{ zjb?S5fLf-h0<;;+6LK>{L#4fRFKwuXveIXC)ZD~p#ZM<2w2ZHOL(tv@UcfUjX?#ZC z$2lgCvYnK%%{j2W9BPD-9SJ0e%vXW-5q!8eF>CL&6_`!+-*pzS>pWs1>mbnKo1PZ* zeXAwU*{Awu7&uaQ0ir0n6XLHjlL?Ay0*c?k!23N_BUhrWZ$ zX8tdPb$e|mg9Y9bOGAl zNc%hS>Qs`(=v6UuoTtIaS}N>|yi6hhs}iQiBt;{C#f-;~JHYh;k^p^Ofgd#97?uij z!x0uHTW|US&=i>i z^&}w}B8?->_s%n;-S9h|XRKqk|E6;4IE{V)^$4+{!ZeQ3Uvc{qe&@EIWuYSK`h^}| z1HG`LWdil)ulAZNE-hCgc66P%O7kG4Rwf;5RQ0p9_x=ppxqaZkH;wAHzowktJzVDS zaCZfnuG)tW$<3T4jZ^Jvw72YHt?ww+%JWVa8ZuXI{aAVa=Z|TXJOhP9};c5QxD%6SkA z1Xe^HXIhufzrP^g+nadHd~sHS4xAZP9R(vInE5o!fa>59SSrkeUIGo0yc5XRuW$+B`SJ z~1t!KOjg z9Y5Ecx|RAmK3KQ&xwB{IF`AOuRxWA+nU*gcJ|#vjDst?6c+wv3N@)HMedc??sp5pyYY-%{l*bEb5cbRXKy)kO(Woh0;AWF35 zjMK{P9C2Y{Q^IPQ&zE_mJw|B-b_2a2Utn_YHPda!JAmh`0v(^CQTJ=f!TbO9QDr_n zuQVO52Z}vEdhKj-On^qvrnpnUE^m8=X zNV6)iyrqPvQ}mBhh7=-$@9*A7lMM=I5iQLE3o5g8NOK)-%Ms} zJA;~I3D7|zKGXG4sbzMOoBR0Lvp&2e+SswEE^q$UoZ8N_t>lQtB_Y#6-PEb`FLtgt zv7*SbJY{mvQ3j*;{{4W)JhDUc313+TliUH;od(IFNif|mSK<#<=+wC816~AL z-K8Jej8Yi#b?Jy6zBil3KkR+kHno$ggv=$1Uw|K$gmn4E{LTU~$eU`TDKo^xw3|fk z^~gsOUH)EY?&Q`eC;VVznFb4u?T*RFB_uwW8O;i6?#SaAGE6eqou9idFl3_yq?rl4 zMX0)UjlGogtNzV7`}2AaahH2=nhz$YDYNw2)xbc@RP_lHb_Y~G$;@2O2o^Q@5=GZz z+;(iWu0Y(5_gf@0m7`_yEXle&MXaVt+FpObAc@Zcg$J?8J7~C@ zt->FDJN&<2vcIc@6d@E7P!cEEhONIMY3l|dkYh^s;!mgjeCS`i2i~#VgU45-XhdQw zoqr*f5OX4kiQ*r7X$?m<#Co=+^&iLcXzm|X`0sb8HSw+Nu>W;ZTS=rzsurvjx8Cp_ zJfu)rEf3Xum*lT4j*lKslP{ff{nYlhZX(cV7n?hv%;6n6IQF$D2-D(I5@??iI>`U`mRY>MD7lH!`qU}`Jb2Y*0|ND(Nb=>9;7wB?}z9#?(vJVGP>|f zi<)|C%6!f{DRC1Y{D@bIlv}WIE8F_=X-xSnTD|(bK@x+rjNN10)=FRnDE7ALr0RuU z#U_xtXDq-srLh$DFylA`_~i_8W46ObFhiLAurh=3VlzS)azU%(JsFH)9{CBF{kZYt zFH`p8w%MOzNym?RAr_k6`em99zyi1DDrLgoeJixEW7%$7Qyi7USWd{tLs%r#w7^N*)jgkpq+$<60Q^+J&hrR0#8ho{ zM0YOYo|up+;%dk&U5Qy1`ig=S7vH`T;*FqrHhr?$ycwsF-SpVr8$WfiZTYhsEf!eX zJzzorH?)@Nh|^dX=cTar71$S;on#GXS9pQq>>;Fuc<*MysOlizn^2eIKjk23TToDt z*l0+Ywrl#b0jw0AhLqqWaI@}A6)#*7flX~49p9&ZFE#YV1$!`UnsI)m z*ysBpSWYt~a(&x>51~iO_LhoA<`TSWu47M&a$~{<@-UEp=Brmv(TOn?X5r-lUuPI^ zbsfZ&tuImf3Cy(%KLdVUwGBv8?qhL4ud|F|^RKNQ@;^kPYFl8n=D~_TV_Ho3^8)t> z?^Go65pPz68+h8 zNX!uuhN`d2wyJRl`}s)y8)V-+mE1mkE#H#{tM4x(L&Nc4-im44Hd|R8;ZCBs%MFc< zj~}kCZV;Y{q!z81UaGUh;O%W^VrvxloNiRuAe5DrNfKRtYv86`JlTapB5~`xBSnt; znf*ery=i0HJ~a(^96#XqrI%6p@nE_=r;}8Q3^rdWYDqvVTB3=4c8mz2{vo1fLubT2 zW+U4ie30Wdjv?IH4Ojg)+HZdQLQ2vhO?ohp@Nn(37P7k#RW-fZ*Ck|0z};nyfplL} zcYK-|ybCsgwPhkoEDhA^DatOq5ILRsUnhc>(TnQy*bf&$;cn5+J}6uSgi=-5RxZoKQ_(v2uzHTHPnHAU@poG3Nta5s(mr8)C<^a9SN zNn}{zE)wJsMmI)tMpvip@_{|8j=QL4c`EyR3&X`r2n^;Qk8&Qb{WsXYv1}#5;#!Pu z6G0=sw~>~f+W2bF*6yw3`}VCqQygU~rr8csKYiwYiU1?F?1=@POukx{C5~e(qkH$$ zyF8=xLK*gcI&#H`9ukd8>!NFYadsYz{TKd&eW!jzbUll?hQ5HK1kL==sAa*Osp$Z1NcQ0_lxv9E3bYwzw^cr4?nsr$p zUPx;GCvRn=dHmFBpfmh4sCuj8064)5j!|*f6l5U?;7SNZ#lGK>E3f|}rfL8Yg|kd> z`I63Vw3Ae-qJC~KC)jrS@Yg`cpHkWs!fK0Y9}Ks}@&R6FXu0F5)-z?6_Fvff->RUW zXSQU=YKi!D4NLPVnYg8%v9S%Rf5$LU^<+8!P9ezrKxOCfxS{+3nOXxbq1aMPVr5-= z$-KJIk;TzWR3L=PEsgr}?uqbNhRX4;_iaL=!v!7yXl4XcEA2cJI3&lbSmoXVVMf}hFPv-wTOk1LRVd^6~i}=UMj&&G}{_O6r zN>L2cm{rS`ifEP#i425+viy2zta(i3nI!a{n#DkDs-n}{vN4+ow=dzNpHQ-xBlD9*8;(l>)QnC zg>D~tpHkl8tc1j0rE`7+O-0A{5>ZoKem0_NjL3GsnBFnmfN?~D-=Z-yz+u?Q>jkd2 z=`qKat>0)de~uw*&9vT{%JXkM7JUo{?>_veK=&z(mq)Jlp-K`Bg9Hu*s~fq0HQ9YQ zuskDnJ_T)DQcD}auWu?XKXXxQJ+DF3k)(_9d(Fe}u+lg8! zdnZG}A=}&Un@%<|ymJVh3Twf_CP!jW!9xcMiJLkr*Y&#kS5kYoDjFenCIK#`y zMSj{Z%U_?89^I=9>M}^yt-i3G5BsYqd{hdKi+W9SYADT@ps})Qg@=Vk?QN!=gy|~w zTSaG*l9RvS_jM~*+VS;gWSN({-yf%{YQ`|-+=8JLhbiBrP|OF~^Aclyu0YO}CaA|ir_JFd(c!123v`eWJ( zRITul&ZY7~D(3rdL{r4)dyxL-l!Q{l3$7(=6UMy^*9FHKtnMMZdrEKqz=%ohH;CWk z^0SBiBrM4Bo$%wtltx#=fZ_IYRC69jk7@^eTPh0KrT>ksLn&nEZ zuAo-44(3k%_VI-_&3F~}9wbL1y!+s^BOEb?>#t!i<3=lG_w(Bp zl8^XYJWj#na7Zx+(WZ}3s~0QG&>K9}(B&5a=oTt>!*@vG-#|Z*-uk;yn8)H6BD~|I#sGk${@$D;-}bU


=C@1OUf7-*%ZwJ_iwU(eXd79kM2ACHW*u~Px^kPgP z`(_Al1ZbELLbS&*B?^D@tcZ9 z^D^4r<_w|EGDke_`FpAe2W;w;!CXSAOXto(C|a9b9Bby6m-OR3cF_HwGpcK}qRT&6 z9L?6%Jsy+-mcqpItxstM*H)cAbm&m4cn1`zB$l#d2kr1(0KWy1#y>-UVwT0!l-dNV z0?F3k&!qF(xNVM(sG9Xv%>s}UV#MPPU=7}wgRJ@?Jl+JUBflWO^Z#|-nXrNJ63W~I z^bAuQuv+;h%`n3~?kae?PNNKi2tBONbzyVzLJmZxV{tz0RJbQX5rB?)zOsbKT- z01x>I>j2S3Wex{}ReMN&{NCLrPO!3cOIm_`lPdw5e@6OGtZSt!+e%NC8v` zeAxM+dVxDWz1oxgliB3fGr3=Jk4I4|Ge}L7ubkV|pr_K>;#u?%3h~Q~>Kndn_sjKf zxs-EowA8~)0u<~0|glxS!rEX+I0gx0I~@8_}IVT5tAnzxGSdsf;Ak7%FlEA=Tj zEtsJi6VhuNKfc~_x1$xOGN$JxvTB?E+<=vjcYeP`O|(2@Nk!7dD-`}LQ85h9Oiw>R zF{Br&H(aNLx@toHhX(YZ5~lSo5-!Aem_Q}|T@H4M!8MJ;4N3;r9+EE{j!)nhOWj`5 zPFDVEd&wCk{UeN)?BiSuv;dh;6}l?M7XJ@X?*Y$s-}e81TgqtC(4ZadL_&inVj9*_IF?#?rOeLnAT9Itg` zEpLrp!uKa|p|-wjez52qX};|(Jn$=uiIPy^5`+O7E2Q}=CMWB@8pEY_(55Xu(0WyJ zSgFOdxM9Pus;kvcN``k0Jg@DhE{Qi+w&GXj3C0^u8!MoP>QHe)2bBJl@P>d+Zgq0~ z)yUkJ;V9y-iUW{FH==6V(0$zuHj;B8COf+vTG%E`!-4(oSzLJ1fta+oWfcAZIpq!**-7X%6TSSTkL4e#}- zR(zasmkirUs8&ynUG?yQD;JlZ!q{_dj1G_;6?D%H_S^gO$q}{qsY?Sc-`L&k8gl8< zp&&!?A+lW5C9npbdci6ox#C-S&uc639!l0P-E?`>A*?QV55^WM_56%F+5ScaM4R`! z?)=4kMVO5Zabt}`^t=Do=Sx-GdPr1;3cAqNw%;|%o^elewa&5n%EwHeFd>-t>ixN& z_`*_-vh{Iy@7x(3a`E3ENyU_ZQzVtu^$tb+38`+MwgE{t>7w_)LAC29T zTV3;Svi`t-uF{herbJ+DA{*=+rHYC2#E~O?cuk`533w=4UH%}vLj0k%*^fS`+&!;c z%+M1t(wOE$DpKbaQFgBesBcKS(jDxT;@Cd!jE8vn3L_|bIxK#)bCZ}0PMIyN!W>V# zu7rx7NWdq;FL!k_wSedzICaXi2O#7i9);d1{;GCe#-zhknTZ|Mn7=J_! z(96-Bwj|8ZPeRMAVElipjbhhXhLT9+;X=@bRQPnum*z_5L!Dc~6Y-HR2&wQ)4xD>A zpW{kQyn-$iv$hx^f|kF4XSkV>72p%V?OfzZ|o>t3_l?PS11H%!%KGM3Ns3q z9ZV4es;%)gXgV#l*oO}}gN}xtz@q*Ez%R9)7-Y`;n*V(i0L@wDj&-#fPo+4-5(AAyBpg*j!)s5@Sh~&dg#ghRe$kDV}IwYKy9a=Wkb#V@02O+ z2K~whI-Ckrbipp}9J9Ndf13lDTGl`QOsajyj{AGNc46^6%ewSQf^_KrJ+XNbi?#SM zv->v9+}tBpAZ`{O{MyUCJdy*tj~6n2EoaGNZmAflRy$##A+q_cstz(T&dh989cDD5 zt#|RC*Ih3*iHY!#L9SQUaZd=h1(4a$Qh$}j$13bdx1UQ~bobx0#8O|`L*hJ#zZ4*b zRF`hr#o1et8z&niKhS92!iB})zY=ujrJGI$1T4V*v(SbA%55ohiZ3bU^2QZZ!w|5d zPh%lyz@IW03M{ZCI8vw{ZZ?t9yg)KE8h}BXvL9S?W7Yk-$~+;x=g;D#@%o9MU_H=` zXn|I=a#>9Pd!_N4eR=Nb8!<8bHxU)}RUF^76vjon-0c8>Y_YGC8Ega&2yzg@1<0TUmWF71pZqg`n$(Vn-42YP#^!HE!&citiB^V3L^^>r; z5;#N>0RkON!Dn!iWQER=XX|X<>UR)~!oFoA5KTKz0Y;|srR($J<8teUb8C}plyP&N zAzg?8(MWi7gBM?(E1u!DeEqmK4@TexNMW07_;70&#mo~Xu<-AVqn2xYyu0ZoC_0g_ zZ~x}9F;OW!~X=KT$EsE%5r^*Y5cLqC`V}53i>(_?01%3BN>Lw5{k@5$hy5sK7ZF4oO2NrD%(}a2 z1qZtb)#FTf0tiNJUp^fLY!~VyF^z--p6(2{V2zNv(woLJ5kQZAg{*K{3g5GpB_SgA zkOeL#1|v06!%QFGrYI3XlQ42z$ewTnILh##DD#?N{6vVQ;A`lHcjPjAayHsdif#W5 zPv{Q)Z&4_soN>%`sx4l?&lQ2Z7@>IQZ&>~$rtE`*{~vQAWcODuTGt}D2VNb3#e%gc zLv19caZwVA#ZO*xI^Z=zimZP1^XAUY=MR`;`ar8tBkTt|W<*dBw~G3PO#MiAJ_@Mo zY5*JYmylZ`EESOJs)suS2qx+`7~+EB;^&Cqg#C|qeIjqBf~vP(@NKz)YHGLsuM$XU zV>Dati?MmuCpujQzCw?U|g1ml8+SC@kZY5iN* zgpV}nVXGcZf|wNMkA^>6Fbl4Hu-%*IF=0dI(13KQ?X??!Rptdk1rT3;sjhZHA$Px= zlGa&{scKxOne?v#lSK9oP9#rHiD&=;S79plE__7lk}<>)fW_5X+p*D*LL%Ql$cU)~ zuoGo%5RyG;69Xp1fOd*VvkvjY2U!fIG>%f#<1)O=Pd0cDFxM?)YqFfDAJa)QR1svj z|M*+;Qg`#l3;ps`jYIY&PHId$p68;xYT7bWZXS`Ko?DuOk64^YoOU&oi8UCyHk6?e zpwt>cEyfM|efl4eo%N6lEbf70#=QP|Z9l3DS`MbbzBz@iqngtOy;Cx6=J^@mZ>#}*emKI+& ziVI7ypOdHKbs&ULF@KndEu>bEXt|AU?3yzY@WKY37w*E#0qiJPV=m?AZr~u8<#h#IW5LI_i=C717k~<0iPzXmkAK zhYwTpHp#USmSV}y%G@Zk+*{W3Bym|mm7gCxVL`6XjeT$>Ailp$*<)SmS&+ieDdwmCY!uInR#g?im%rpb;?mt6 zziFbHnrKA19jC*64WBaQ{c7Jb%5^rc7uB^1lM399t>BpOpR_5J!>@DN4b?D8``!$i zxUF$j+p#P=m>s=nM-yly>uEnlOm1%Ou}yi*{S(%4Q0Lz{xRy!-6i=C>TI1H@5H^%w z|LPc~753O?3WA%PyjA3=!ci~E}dJo<82!M)^hIbDN+@Z*kq6t04x?^pO9`4vc8$X+@g(VFLg7)lP)m0bB z2(Fyn_k8tvlth9)X9dFutmf!xxIRV)fxqq^sTAM8Uqoeh{!qxkY^N8pHPc~X9MBXj>fH(nao&uPh$Gl_p121JgZI%SGN z*eWW2$6FT}*1JLK&#^A6vG$Nc70O=Jt@x4wu~0trgGt8@xORA+=R$usZx3I@{V9>N zu`z#FV(3138pemn&tTy2LHO{VfLzOD2O5S~9w@q(T?jRMI-m8i+~cUo(wBht83(Ns z{v)KHeJ?orUbr9(qv9?>waw11x_P@lWq3zjzECE+<8Ry6?(jFg-%2Gr87fhEypaooTd10H0XrPc5?KccWis_&Mkv2oWzSAYtM^XS}63 zNTcQFw5{*)a?93erIq3L+GWH1Op|EZKdH@}Jj{Ih(yS2)wLOQs+sFPEz}};~w>iZH zY0Jn%c9D7!vR3L>`-+c9uZ41i8ZhMak8xbHLYnu*N#pnGjUXx=QojY|UVfZ0Fg4?0 zb8Pmxir)j)Q4Hg#sy zrd#kvn1<3};`EgRbW??j9i z#-jv&r!2q^WV2M_Q>IO`k3U3$$;^}2YUXIYb_#9z3orQRX^DxL!3vUbng0VW>qYSs zmEZ?Gh;7IpVxSs3-+1J?DJ|nHMnVl1i|+9q{+(bBom)-Fzn z;x=rkDWXk-HV5J>pa?_dvob3UqwD3xbLiNHOMDq9A&L&PERIs@WtH}j5FJ{EW%3wT zf7<)`ty$NmU$4{9#|!}v(f%`6vxcU_=_wUWy9kTH<+-do&6$Jt+{u=F&Fy;YiTwQpv zJ;JiS8g@@9ig%njQ)oCqCHtO<_n;2T?ga*l45>{Y)ddnxjUf6f-}CoEtx`^q;%2w^ z6h2ap&4~;ex7EDbEqw)dX-r!Q^a&^I%*xh7oODmip^CiW7KGdh1=g>e@=v?NaG<%q z3yhrjVP=KypEq$8Z>jbqx(w*pA?0p|h$UOqKI=+n3dFacEG%=HL%7|HgLZ-ip)M_z z%jYuSsHIRmMFBH#@}9tl3!?zT;1X7p?-I-@pnz+~4P|@QlU2^9bUiUIb5z2zfp%q& z%Kxd5Ow-g<7FsFDcrQ`Y z{{8h%P~N8kB=)lG9Jb6%&U_t=`Rlx7%PPejsYN8H){66-e|gCzfILptoKT?%;1>8z zkN^T)r^(sS(xQE|(P8(Fb8~lRC;E;!rxA398D9vDM0LZX7z}xanW>8FYa7ZGMtTUB z0-Ap|8z0(GDE#WRI6-L((9W+fN)rCuVM3{xA2Ym-ryjK5C}tgZ4A_n*16jUfDuF07 z^D`kz8RYE#v9%Y>s>ua2O?S&MAWUs1YY%((GPsZ&HA z8?~%+Spl77@9%w}%m%SHSg?IQYkVa{fdQD~fj5Loj2BlE@Ud0>UCm%-SS+UHjMCZi zUlIxNunJQoRiS}nnmlfN-EjAJ6UEnoLx-~DF0va8p}H^DPtjA*KphSHuAZ`@4VCW< zcAAXVyxBlB&To@jw|a}HVNIuAY^SAnH=fJ=LlL@~P48dSt}HGmfhfHN{aEJQN9&>6 z5sLt(5fG&>P^b;46%3&6MURVqi*l%n0J`sTRkh3SZd9a^;P=~4wIL`+zQM&$3Kh0y zzSGa+lcFb-y6u0DN%iP(#F!jTR*Y>NkpUmt3MtLBX)7k0sdJ#y*2PKx%r0^L{KwIb z$83e%O;BxH+-F=j2`KpXrX0RXhu=ItQE{+~S=92=@D^LkbH+riKH(~zbaJCNjZ)O@ zLW8)gO{`p*9fvsq-dtZb4f($RmPhmhB1DE)E|fU61KLOG1n#wXiEfXEF?XV^R31d= zzu!GTsm2v3C7j$Rn|J&68kLwiXI3U>Xa5RsD-k$QYN`*l%|xOh#7J98dO`nD$T$~Y zkk(VUVrZL3k_`hX&KrtWUlnwH$^h!oFMK6rUb^$9GW>}PWhU|n5L8`q|n!Y2s1?)FYCP{-pU4>Vv}qn$Xs z*|Hqo!KNdH?l$L_hX&90_4YPU6e1myE%N*NC-X|BZc0kmT`mT)DQ@FELKt@a-fnoz zUlm`b<*h^G+fCQD-+jW4j?pjrGnp@FOn&xR!6N4-$0LuMs3 zd~mzVx5PC%WZpYD%YxN9SViRkrHBcK-iwRxu#6q7(AJzXg&7X%w8UtIkG-CLoM=XR z{BX0#9FwBSgp{u3C=p^nF|T?xnx|=KNxTrIu>!7Of9sGNVRRsA@ugXvNtsihc2Re; z@4bPoe+1MXJs4Ub86m8g8%%p<#aA|TX?aV}#+A0{RAITJ6K7Y{vM!Bb?^ZaKWzX3X z$0kSE1;K82<#)NP1TQZ8y&X%Q4F4glWZS!CFK=ysI93~1T^B`U%Ekr z848kUc@dQ|d-Eo5P)JMMj)~}Gs&UZ;=csu%LGlZE(pG{#*{hd7v>6f&%WlNMj?{|D zrmyOpA?O%*I}SmF02<;pWe1*&kNQ=!*rO|$&at?ofIYyQwfZTOddhTwK+30qAVKll z&7VR~CQuEhUqeye9z&x9xMhR7R|G85yokUQZD!ff&doyiu$AB|qA1o<7&*JRpbR~6 z6@qNsUi#{Wx+Vf67u^XJAhPr6*^;lrL`tW~^hCzIGRXY^j=XcEM~IvBbF;fC5IRv} z!Gw+oPE6P9F&ig~@U`XlHopeG+fgGEJD9O|+NSbY2&G3VD6NxAckQ`^RbnZ9Fioya=ay#Z1AF&kT_5dyLa!*@?1CrnQ`Ij#Nw7)`p4sM)^ zm5$h4jQ)_vSdPY@Tw}lBc-cyV^@H*7;WZpaTn_@;NuaLe!%GvY@4vL?jB%sl@GpQs@kLw!{kQiGw!vxZ$ z05=YUoFa6RI`-k}B4vcr=d@hZgccf#o7-IsCZ!UA27@<4?UoAU_?^kBiR(Hr1Q`yL zWG93(Z(k|gM`dX9Pojv-M9}A$8)-U{pqwjw7|^5hbjt^sR*=_s;cL`dwey3J9CThU60@iXg$ocQO*o_u+P zX}BK67jv9SIR3fhm8t5*>#wSmEtFCai2&>^!Wa^{dC>v{FAf(e4K}W^42lq{C7!Lw zH~^?IhOieG0CEda$@6I_B!Y}o2u{0`YrkmTyde`N7*`&Zf9ll}3qZ1;`+V%_0u@8=f}i=^^2E zM7NIz%|P-L_5T`pOjdp+j{S_jvkj#&$KI!*aN_S6g?;$qAc#%2UnS z=mB}Y1)axhj48|Qy^A27udHcNBS1Mj;3V=|vAEybO`DM6$zp4#nfKzL5){GWd5$7G?)9CDk`!QdDx0!^d_rknBdPs;J=h8P6A(N{X*D#^O^`^z zhiv|Qe+KRW;mfkmISlZZ!9n$+!YMc2eHZm!*T*nu>uv-HFT(X}etz%PMQh>pjb z@<3#o(^$=(KVK-g_|-(%Q6@3wUM8(8?yR3dmB4%d#ueB^q!Rb8I7XQ|A}pyi^T20g z@>;mY>};m6758)Q%Ojj)3bD-#FJ55*(`=na&5hwxZ6%Hfb;~n;sd`a8A3T`IP6c~s zo|7J(>;^cic&{V?;5Q@@?QW_z6nbG!O)Ps?^}J=WqgME#ILSoy3^)>A*G%#AEG0!X zFQ%L|ewDz~CUy>qoyS=-b}=3dHrkLEKOICC%Hk}ml);6b;=1gs5yG-#>H|i}-d-g} z{Sfm~7p`OZ2putkYficyQtx=(0tes|5VxyGFUa;1Y3(8U(qhBFQwn!7w#Up}V-ahS zPbjx}&3AY^JRuDTs#*Wv5GbG$7YPpHER5I-K<6a z!&VJYaP^OEM^i>;Aj%N`b9124xhbO`KiYP{?dgk4O$A*QI(7-ta*!Hpp}%JJtdHvy z6@w#IDw_Q+3+p?1_*EAN)6V^p*0n_UPA{hL5t4x0R+$-xlSYWTjSn`}z46YKS4l}i zUWN}~2HF9cSUICk)m93gZ=M9EYUvzNYEj=^|GDs+L)QLdQjhD(yk0SEmbW6|UvnmOE_P5L|SO1e3B&I>_J_tm0sQA7k&AyOS#*Yfi>apjZFNTdv=82O^ZY zvvXM|W33C+%~V6;itOIM|H`088h|B&q!g+lutw0urJbht%unG>8r%00x-Cm$sn@kj z(eul1ayiv+a){Pe39%_vXRX51pMLab(Hh5Wn7OmAqAGbom+BqdA0Oadgvc2!gsb1H zxb>(DLeW6{`uS;c-Z?*zLZIVR6bpg(zAO03g|-QIQBrNt%HEWzq@B6vu-38B1Lc!< z*K3u0tL?9Qxka@#vS;v!WqER|{nPKZWcR}(Bcf#`LGcQi$3XB0uz}Y#-3M9B5)~dNs((v zot-0kRU6HhOC7Uf{PF~)XWyQ9JLPh!KXQ6f@uklZ|uP ziQDA|0(=X3R@0$v z=|4mdOM=U3mPi&I8=fG`pk-&#pv;j3b&7%Uq=;O8^)pE&l>-{s%>ot+P`L(SzGUqU zbQ<4ZOI5(9InC1oU;q)1m~6Znp|R|aF?t8`*Rj;$5%*Eg-K0r%yQgP5^0XjF0AL#G z^kcK}@cw(}OPpCT7?T3Gtd6^HqOZUDSCOB}`*|Ll9bPuhyW(hoxn z^)7zdv~M@PrWGP2Ax;6W^ZLnIy^ooS*ceeL7}5HShz~w(PL;{(8A7{pZn|H&f?n)J zv@!P~>5D5CQhQPRqQl{qp2_)hVvaTgS9 z)7ReFIw&=8x0=?oyyQ-H*`CjjB)*jGtM05lr)lxxudfuRY;S*5i3RlaxYn$`IXPB! zm5b6|C|}yX!|jhlf(>R^G@??((hd;V*e80aObQ>NB#w+Mm;JejrzHSw7Cwa^gU>JB zTSaxd6xR_B!*O?X^t8r}%jzMKmc+IPKh`7t2QvVY^_H8vJX^t?e&i)6pPuU-7#Nrs zx|+sTYzFw;EUwwOb02C`nTx?n#o9*WP@TOjNjOu@-vTNweX#xVl4WB0Wp%Y`h*I22 z1*eMD>f6><4DfJ2HFte>Crzh+a-w8y`|h?Hx-qZIG^gUU9vLrEeSWB#B)5DYl5w(A z%zd0?qIaTrDP2%zyJpP{NL?`%&S&GtW^PhJ0E$FkL6n3~CJ-Caly-t0wW5B2Lca8W z2HE^!F+kJ!XChoSVQ3IJ^GA*>=>8|-fVK6SJ8n~FF{)~sK`Zn?;-kvF2|5baNq2AC zQk#Azab=ivL|=_$i`cUlY+m~WIgH!S={3=kC{DDQA3rrj#sr#C zRN3^0Y+d84x#;Cl(toS0L_a7WvfAPb2DqOE2o@1H`pb6el#$vJc>44+c-PCfS8d)F zOgcC(XMEqu3!SPgulJwtPsUo(f$j!SgJC8eZPNDT?e@xzOMEpya{0FE!OyqEc~|=m z@;$p$KVY<`n1amYEZZt%=V@TR&=XQH>bo~cwfdefkML-15tpzCtOM9Lh}4F6g&wIP zE~@B!f^Mhd@Pfd)`?|RxZOlY{9d!$yZ#P8A;4ddtu?vS!s7M$CwDhx+^c+I}K`!Z@5f! zcI~y`#l?<8hV+@zEhl>a+|zd=PUX4p-*!yN*MGTwz%Kf%zgws>f;EO&0JMT-awi({ z{14r5N@oaL_R3@HE^bo7uOkdq$UIb%a;2-cpZK4zdS4qj3?UI*ZVk1IV&-eiyeU_v zILfS3R#td-z1bu9=C+DewU_4wTcw1Qf37u+?A5;G%*Z9npQQ#&n^2l9ouBU$wk|!L zBN6?>Fg3NsCN_*&;UhR!oK5Hg4IpR?U}}FgoGRe!C^?pN|1SX(y@#Y&a5?q?8uUN+Zxq}Z~7Q?;Al&$p6sE|ds-jw`8em7MaM~#ZfqSS*EiJc zTBoirDEQ4?_j{tDsYZ{ue%RkpxL^`mTc*)lj!wE5w-hK-G#gwy>raaz!kP_T_o<}) z&*amox({u5D0T00Yf$Sokd{`ZAGWlZh1}mgpx|C!PHujBPOtdpUjCEDJUkk=UZ%t0 zetwUR1lP2B3|n$R>)^I~o2z7`oKWX(cz1mO4P(|RvoNDQs9pTy)AEXDmgyQo1jeMI z+*v20mIs%;t@VRn;=r3iPO3*!bw{Do5_893q7A-iRLl7O@3lN#*GExt0%5)2d3REy zEfdn<&n-U;^c*}=rr^&{{xHHjn z<~FbH-5!18P$#=$_lxfD&vEdlji2UF`Jkk!OKr(j`}S5rMdgRmdJUEm3W$IW*Y7N2I57zj`}TauL;d2>G|(#&fO|i^9bMh`Qm+Lk$5T zU~#6lRDZFo1p@yzR&XJ^hndk%usxx_XP}~F=zsso4n;RZ+uohD(l?EKP%^Y?(&zRu zvQ27lm6+IS864d;p;^lMWiN|MGAGBbTK%fen~^_@UcRZRRt=R3Pe-2k{(-~Q8`mNu z&s$5HEN7l>Q;6DyAfE3hcbr~CBp9DpWDX!syMd&FDx${p9lx6ZYlMVrOT5H*-oYk= z^E-xk&M&=mxypQA@P(bvuMW+aaQg(*Leo{{@&7&A)&ZPJV$d&TK**k_baM}Y7J<>z z*AA@D&iHt<-OmROtqFQ7`t5G+`T2`%v~gft4g0+-yG-8PDe}(3i$h~p+}lxkV39Am z2pND_#(h%xPNkq_gYK4PJ-)qK=TEIUA)x|>(EnU54JMgnmW&);CwqNFX z{a=e6>*DaA$Ww(~4R9tetyQc~VPkl-zkubICHW1NIYZ0e{o4Ai-krWq_r3PZCGd&i zgN;6!BQy$5Ua6W~JG0nQv9z6Q(F~7bPsV}&SLhMmx`QD3e{EJ4z(QV*YU|eJuNP24_mw#l<)p_ zgQcgJ+#X(;eqqm|S2tMX`m~=99Lvw#xXveo)*tdWQ*E-F5Vmzw)V~uGBO;QqQK>v# za@nD!$wfGEnc&7RDjce?1%1av{TL8q8S5;jkmu&+@-1lh&lgPKuZSeejI6AemBsVI zQXtAdaChZLjMD92)n&F({nL`Fl-Ei&YX7GN7+pKI;AE$vs%~nXJEnKUG<(H$={ zdypis&z9WSZ_qo*MKy~ur_af+B@?g%<1@fxT)_0!Og2Q$lz%9Rqym~!+fq|#tJ@%@ zAcICcjXl|>JEXcObZsfm@g6i&CVD|&-;W<}I8QixUN+LoZ``Fgt2u)v&DG$$_3qsA z^XE^zIdSUs<{^mBBk@Y?rxbn-E6hgN7>#!9pq)t;Zda+vt6@n_(=$#Eu>7+b=Ak>cE&6-QIVX-ZF-~?YR z-l@@BOfey7+%&%bJiUpb-8@^zpUZh5z|;+7lOSV4l>4FeV65j*89z`Gtk_Sqfcf0d z*wIKr*dF-Y$$>j$fH=IlJtlxmYYkW-*7CeWMwheO58Cwk)|$Hvmm0(OETSHwET^E{ z9DmQaBE+=|yo_|)-t5;G;&ha7ZRplPa9-`$uAl1sH*3+fk?651m8Kg4H zmY#W8M9CEN_!AvuXJ}GAo}-YQ)kawWD2kLzYE!e#3FH%^X>Qo5bue8%MPlU1>U#sH zgWJLlg3s~p{U{s-nn$Ciy5!o~8 z760W^L)*Tpa{#>at^Z84oh=GnVALru@1oo!_J34aJF6GmdryQ3DZ0}6!#7MKpz?oJxa(UoI+p8-plPj&;;(c`Qv zd3=9D`owA!W@!@Cn2rUAA{HbtCWMakUqX2T;BtCB4`(;bcI!@7u^`20S#RHOdhz0g zn7=0I_Dj8k_znIG;K<0xaNFSbC;wUgjPj~)t8M+pIeJv@C~LoYb5h8UKb!8jxyeLL zC0cm!lSd~{%Cp=@-udIUnFd@8rCT!<{}qLl!ux8F+V`Z2k+3*;O;QtpvDS)o;qY-k zwQjDPws<;EKYdzJe^E7i?bXDW?^xATQwQ@;F$vVS#Hj7T^gx!9bl%S&KSWbafn!%m zPMgp)sVE*XU3r430Tesmi>i#GP`d(H2dG9u}_~) zFGUfKw|k`TxrZeAbG&qV$p=Ivj(A~ zPO5<#ueszRN}E;}s_3%>8qn&b-TKMb39uCp+~`jVGj9Um>w zpntmn#fQj@q4W~j_;6{k-$=0-9$^SdhRRWf55Z_)ofi+`(!5XYr^>lRfns;BK|I3BnqN}VG1TcW;k)g0O-&UD3>JYfT5k2eus5Q_7I^Ze^G}kJL>2;wRFCU% zBw_<@5L=o-=o%P*URCF>Sem#~ZorSDaq^_U|X;UJP&t_*Gw@ z;YsNlLY~l@2dMY_=$k~+j!0lVdUO^!@X*( z-{G2oi$`zV)!H&0P>Pt=+eQilg3K5jeQOe7&Y21%3?u8(zNRXiI95qz2)qbZ6UMM4fWiw%s-dJOZLtyM08UR zm8{da4P|&cUDklNqxfLll>)ti<5|b+K>H}&x$|ZG9(LsuRYetaT2V?N=F-rXU1Cq_ zZ__O?5|Wy#!Nd^p0eySZUEGBEd%y!MpbFx^$-dG z$ZhY|BUJLhn@2LX85ILs5*_sq=R*dU@5)cRnSLpLE1@MFBU>tUh4V=;-Z819@E>4Y zw&3N2DskD$MrCccWB@@CXxK}}r`Ct0{Tq~pLUGCt&(^+v=H6tLG^L%TZIv@RHZ01z zKVixg-RHMglxM42r3ao|5~9CHV-1i*QXS21Vg3AzJPR1POYoE-zsawsyST-nwI->A zRSqR~43k`%9{1eQ9D#4Ed!IhDfz`zpgrLClVwfE*>|gMb1-uXxk{Ne4nDDQL?bFoqXt@Av zGV||%{q6N34%Kt+4{SzagtTnM&(;)n zSJ<-K!*NWR+52`Xz5SRHRk)TLdO4Ztg+Hkt^lm$#Wyr3GffjN+?KbVC#6YBQ>w^nP z_ZM_A>Z_z%`h4r;lhAY-s7_-#w)$$Xn?O2H|IRbG zBd4yjv3U->YlxibmUA`~tnlDa(w>OACuT~65EgN`*(saYf0|V7(_e1ih~}nFX~k1- z7gViL(%Ch9v|*h4OXXdEwhkMrztoRJsE2X8T$+nJOBMy{*f!_Jy|R3C#tf(SkE9MK zaua&L{rf#dKF8T*g2&J0{Li+`^kY_+ZL0zdk1dUH7*YG~deO1zyQ(_Ny~-cfUB35= zv>}FP6LyX{#LR$G2_C)PmAst1<(6CdlH%x9FRwKJl{T$iHF)63gVC1T)s|aW_`j`g zBVhYq30tVYkEXT?SxWwxPNnh_Kwx^Wd^70F?Z<@i^Lk{lTvKmIG2X{_sSA6i9>?YSE}wz7WHCw&Y-P^aHFt7oA z4HAD)qR=p*w=)>G^M6xm0G_F^MfepjUQF2pP!P-o-A3EefK2*0W71ep=MJS>f)reo zZETkj)CR%sV}j=y#U&>v=S&w4S|TLPX!JP4I)(1iC81%sd7EbxUlR!9`Q}FLa`Zpw zfXRvd`@g~;x9@KS$_jBSP*V`c<-5&s5E?uS|O()77xNsi8G`tD|@SKMm{BmF$*WJ8<5| z_tsC3=4V+Y>E|wVpX{zV&~rjP~I{&S^>R#}C zir?4;OZD6Li;H`6BBd(tfjnKWTf24}Cb~`evLYsAN6HDUPF-!un|XgmC9&GET=L$d zW~e)+Qm0RMPmQ*?FzuMq&Gk>D?98vfI(oRyiEm~3yVUDa-1N62O_?m?{Z^zfuAJ(& z`)_AYgMO24IA;xay<=xEL00y9?!#wytY7xwCUj7ru<@>a$5G~b&nFt&|J}J*A*rqQ zaErOm|A}?AO0iPI?t2U~5F*9)14#v?0Qp*3IZp0Qb8~YzN2P?7VG9jJ9FShv3*>ts z?Su{;pswWKlu#*V!`-L|0S)1mVgl{>#9xHs8LtmzD^bdPLxLoxyRw*sTJ_Dwc#2>Y z|Kb_~>rv9#ExJzwABFCz9IFLrR}dP#jqe5M^_YvN{tGGlH?a;L%Na+MOEG9UWv8|D z7xAMq3;_h(ue(13U|^o1K1z~XzhxFzyl870VLC^qU&FB>itKyXG=Gc;lG2LT!goqJ zJ#t!UgD`|l+4|M<#t#f7G%XIVw3r3-6d+9`x6!sDQ@Du&6P)7gE(GK*0dwaZ)Eam7>=v-HTTH1(VKVf7xGFgbBh{R_y>DQa$0g!h zaA+{ek;1VR5Q}aWBgbL4h6GYjk8-28o9z@GNaIPB{Q6J-nz`IJ>&cc~|An8w^x+Ow z-_7+?(br!r+qreCh?xZo9{ov;p0T@X!NdFaZx9G~`k(OmbQ2#)(+B6+Zgbv_1ZD^*H01IB_H?%4B$>8dcw`ofmUtLqPmMDT{sbd)>aCT}WK>)&tp(YzVA2H^p zk9WE&oOlda=84HUx$Jhveq^b<~g1FZ7;~3K62``+ph1%?(Q@3pM%YRWvz$*sXXS6*Z-Va z2c|_AM=hHfSN8Tp`09+-HLv=l-rbm@V;;RYdb!5#PdB|@v&)CCdn}s~JV##h=zz#` zZG!Zr!^~vW4*$IsG|;N9;&}0oYr6-y6tWePoG|3iFdQ)s6R0x0=fJo{eMwtDjj8Xo znUE+7j*g-GV^w9}Kxhe1OyU?zvvVlQ7>U$Aw5}(!9B!XNgmy0IbnUNF6H2txmlx5v zB{9Q+c?-Stx z2(v?wBeH$Far->@XGz#g^tt-i*RUX;q@*0AVyi~BA?h&hkr!YjI&%_xqh&;I7+COC zc{Nw7-rv`+UXk#y^!hkkW}C9fU-b7*E1{QYe{-gR!YUmj3UNQVfWW?c32YdWj72p4f+>CD?*DWp|%GBTc;Gpz6*Sg^oW@?R@W3cPRX%IQL|g58CO0l}N-PqxYIXbgW?X{rvp8T?vYcdX39mTpq%e z!dc10+1_|j5}lQR1%iXu^t$JCZvJyBHwM*+N6hKr#kEok#6OWY0b+)Ac+1_&lnX`| z_ob>Ic9T;Z;idMs3(HZoBS1xKAkjIJFjN=Oxrh8%6Cu2uz7?xJqT3Y76cg6&Q~5P4 zOMdb3V}s_8sdgFUB2gHqsi}z-jXNydpG9Q3-gC80VwTL?2JNRD6 zMbD8yU;15duz!joVxyBO4?5U?$K);aCKOIde<;jk@)+o9mZomApQsvecw3rYN#AFK zJmg&KDi+XiZ69-Wy^E8h<7H4tJLOAsZl2oS`mBKYu1J6RncO0U^UkXasjr=jo{Gg^O2|Uj)=_E!QK+Xf==dVo91|4McwBBhjVjS+d5tPZRv3WuC#XlIeg;TA$hlwE{_hyje|$$a>t*xmtHshjX_x1&SrO9y z^1L&lMdp^lCntpUe}8kx$zJ1%YhIt9^8Vvm+f573ofuY{asTG(rGAEn>!R{M+Z^k! z>ZZ(Jn?7Peh(m4h`xPrpQlCqW*tP57$oqF9VX;FDqHf#HX)f;fy8Ml#Xm`k3nFq1L z9z(N-0I)lJ1TSjH$rK@|S;h7f8COFi1< z?;tbCQ1j_61j_(3a1y+SY3c{S#Hf<3IblE}m#N(5U>5kWm2~PamE?oeU{&AW455Ws zND0fO{tZy2MCgH#X!Komi0gw-v@h>sbaZq#spEMnGLl&a25;zB1uuv^LyWFP)h?p+ zF@&&mXDuO=chf4uS#=xtS@PN#eQ??>TE^+eDmSqq}XE*#NISqJ!x!Cn@uJA3hUcQV`Y%z*4sj@059@9mueP zi<+)$e`lT=0*Je_$}*Mr@}ZZ{Iz`idyywa+`zI#T~y(4@z|4Ig@_cdF4(kFMM+PV2d{0fA2w9{p<^JGggodSYg zqi>V#2|96L3E=#mzoo7A>t@d6DD8BA z=Mfg@_SzQr_y~&up8v$yeG44aRQJ8qWbCShv@aP(gDv6<3;*eCI(o&KKS%mG?0nhl zsAcTz@3(E69Da|yr#yY|B<+h6&rcF7eb0bti>clhHvFxvN|8^qh=29^Z{3?WImNGv zUn|_ZQ|P{3t?@yhp}h|)FRFF@eczd{SJEzg`s~n3Y3bltuXY|$7DwWT-!7drX|-)f z#pjk|Ec1RD$wnP3SsEEu(%$M#(HjN&4ZNVjjXiLn?%8C}vJsT{7`u$~wxJim5~TKW zqYITBE43?@2I1f&oX1L9@fydea52#H3XcQp>p)U(p}A)QAa-!3m{IvrlBBKe)Q2_0 zQ8>%caKC8aNgraI*1n&7*GrV`pwmWu`bTh-PQ z40nJN4Q>^*UwmuJF5by=3h`UcGh;nkFM@uF0I-40ioz&M)b*p$)?j@qYMUh?_QR|5 z^wlH^ZCTku=Em|AM5q||fmfA1GzigERhQ(WEF|E~4R|*wG)y;KHtiMs zs&Bb*=1eb6+`Tu>Za=T^HrYXb&|(9MjS1@N?UQqQJ`6H)dK~GzKqKwRwH^JTLq&Bf8l zVcmx_W7_B5-*f2FkY0-U&(kepA3sm^xhXTUT2jF959N2)*1Q{+P*vFA(ErB|{pw~3 z-Dr{Dg7fv8p34Da&3bmrIy`v%Hebdco$o$mY0SEg4u;2`e}1~JeNU;>g5Kj6!|aco zHch_qhhk^D?8heGG>67{EINI3K()5Z2@C({S&tsgwCPk({;oab?_nvgg$s<;CG>L# zhcB*~%i|PF6~MS^AWKy!7-3X8wVOY?Zs?Z>4z|69#G+grzqFFLD(vWKnUk3H$(%9~ zh|J0Z1os(!^v<0-C_skbQo~j$=4DYA8(4G^hbcy#brdidNHQ^5(SQwitwc=+m_5u{ z-)=7`!D@-~-#=q`WiL%UhD=s_G8QYL%Hq&Yu&^_5i+`7&>3ZfWr=o1`1)qmfY!#8N zCCn8RmopyIMZH-j)k?JrFQ~w5Ph%aU8i}v3oW%P8*Klgn1@>G4TWznsDFh0H*-8q0 zpx8A_v?XDw9BJ#g_P}X@P+aV|s^N&{ zb(?{IOf!(!&kHi>{;W?^Q--sVNI1UraL);hzf@tyiU>In_Ct7=HN%&V z^~=J*(!!mk)oiIT<4gH<=W#O|-J?rm%r7)7iT5*uU`WJr;@sS*L6sD{tL`Yk7N)d= zM~*OYRr~>_=5o$84-2D3^lkpD*;kwp~%&93Sne9Y*7 z@n$q!A=mZ7W^#k|(Q+RDA8i1lA-ilXneTf!TX>|xjZCiw7uF7JYH&LkU}Qn948ef6miZPSiOM$FX zi~^uja$;+HrgiYM>VB!+*RIVyXJsd`vi(Yu>Ud0U-4^tv*7XKvmz2tH5EJi7S7=9p zOU}?)q;Chx#MI|u!wjq>896yED*tqbOiqzhNryy7AA{MNTXz|{vId)A6?WkB7#YMA z7vMGhaqXTZ7K8ce=X<%#aPhsQA``Ygrs;(7j_`}v8o4Xd99AJAq$`rCKBU}_tTe_f z8f^P~j;)Edz0;t0Bjirl)^e;vSC8CyYSjmg&bG$GAGO&vb-Br>`UfDsT znS1}HRjthha_FPnTztNN-wOV>r1GOd-QhWh#J>c!o7-#L(a4kXYF~4n?BDn?Ay8GZ zRH`2mwF_pE<0q*1pp&aicuB`x2YNqskek1r+ji}ywpJ!Isjt~v+7&;&!Ua(wc=C@mGdoyiUpE@SQ&eXlHtrp0iVV&npPqk_R1#iAgEM}mXu&jAej3hyh1k9s2Wx=8OJc4sO4PX*&A!E!;?n^VU%o$Cy|$w{d!p6K%daJR$E8bxT#*+fg&-wD3EKVNmL|k>Aw< zlvQ5HjOvnlYSqzreX150pqBWYa~Cc&&C%LNrh*p<@-RILdfLcB9>ZN}^f=nI)a}PE z#mpydgTXYt{mfqNBJ2#!q4)7IQLE=1d%`89)nQk2>df33E19zA+A zEP$04v}c`@&tMPb>8bCWDhJnBhlMw;`kZ+p!Ogv4UW&?;cuSq1w{2z|N1!GM2{$`!BO_l@q zIp4Kr>ak+9@1F_N5Z&s-P~ZB(K(uFY0;Zb}9X#0GIw_S&H)pix4pKd*aHoy%jZfWd zZvB*Ny8z8*h~v3)5>sor%D!sg|jpyF#&2qumY&3IEq;9j5tFIqTH@sI|vS;mZTMdwEuM*=_sBOZwQO+ zDB7;Cd?0K@#7x3V3A_%%!tBbC`3o1?a8BdFM=!mq(-=SB`X=UmTmsUiw--WMgP>75 z8T01qt$5=cVRNc6}@e3|m|H(2{l&DRYD8%i&{J$sOVHQGC zq*6W4Aeg-HEXGitjjkUcRWxP8vky~wG^cYucTFV5uD&H))vLtGP$sjp1oS~q&Wy*) zsG$|{%7*g0TbrFQQw|#ax3LlZXh2D0giR++>&5RsD5@D>+;CCHBYt^!ySGJbUJ(+q zREf!Mm@u1$#!l3pglsPaG0Mn$ai~>r4Pf!phbmZccVqX={z@2Xxgy-Q_8lpGuyydq zj~_Afb%nO(d!})TVI&^`BgYNZgXByEKU6XR`bBdxM$a(!J82e?p>ERgtE}2mkI^CP z)*Uov3e38|q{JEHC01rT8l4L#?P{`wr!>4YTEcvt_X-Ev=w@x4`QWWJ*@&Q$2M-;R z|D8Uuv&2V9VwqWZT0a*NeusU`WmtcvYNpv&CS1QkO=nZOR>7ospieRyg z>=wz>x^zhI0(g$R;L4k?t@D0+GD(y0As>`oSro^^=bvQ)>iK~xuAJB@l7WM&+gM%w zeaQ!M3j+pYNWOARA^YjUINX(Ec{H=K6VosBf6u5YgG-mfd-au3++5Y;Lsm^>w0hp0 zZx8#neW=?a6%{_~%d7D{{Edy?nVmk9Mu{436s&i#{n^&0+C`l2$Dc)ho$-(FmBA<4 z=(Zi&PIpgm)4HymJ2wY4s+~@mXnc40$d<=>6gnW!8avNx!?ujSFD8>gD9PWQs;Max zKA)aReUmmMUkQU+x}TZ2Dt)5yj(aAj)3rvNDmYUsOB|7f)l=n>{Z?jwLxhAae&JFj z5Q&ZlB_mtYsj^jB5Esi$(&kr%ABa0mx_#l#6Mk|syo$Z?(78ucT5p6*SqxXAadea4 z%c8#buHIm3P2j*k-!Y4-d9UAzILe5kb&!{C@$XYeJnPrn+mpC({^!?$$PPh5Ya4&t zgT+59Kh*nRW1VG>iFtqL{$qO3O|R5_P21S9o=@gVc^;cNW0iSP%L;A)kn+LwA1qxF zMJgKbs;VHavIl?iPCsi^a{*q0?mDg|8G6fTe2>B&kkl(r?JR&nQZ}_@X7l=G9|pX7 z_ROGLw>k6X$!`y`PvT#Rd>S0g`3M!eZ*p*S>>2+Tg|e1x#FX!h7Ee+8dm+5NY*k}S zV{{gk7?*mG@rrB%;~6?CDzgikyAIGCx-y-_;A*dll5Eqtr8@}z>l#rhtPDl-pIJB> z4ZG%NDKy)=r@1`vW6O_T`Iid)z+F{Wh4q^C$5`$we`t5a=buRVD+KGaXX>v)dOF6tZtA8{M*+15+y`cwn_++Mz^P`aV=_0rrJDCc0|bncq}+ z2usd0yC--I9mr+=DxKt@lPPcvS18!`_Wp@IB#fe_SNdZd^%&-b%uA=y@wIH~|3}q# zz~$Jt@81ntq|(x)&>#(=T}GlM+MyB+p=fCrm8fKe(k?AYDWPc6khVg!Y0}oz_#fZr zUBCbH@jUPIc^|s(`?{~|{GR7=9%KD>EUif}3rKvdNbJQ(&ArEg53I;abQMG#j%Y;U zKkH^ThFKFeB(^VRGmSqjVR#XT*z#G_sdNK#!(adl=-fAN|9B>M`)5_?VfSueZ`RMV zD+fKoW8qIm&Iur=O>PzKIbihJpg8ihj{W!{?46yMz!P)B$}<9Ma_bE-HdQ#SR3B~p zZp=7(1x+eXunKhQ=5x>N)IMxOug0ld4f$s^YR{CxL-2NsM8RQoGJN0KG+#n<)LcnO zcCYkweCq5Zir<0NJNvv$FX?5vH)OuUM^nkXlG8gjj46;O^Y*sF^_m`mTQ;kliirQ< zF-{@7v$|_*SXJu4Z}{@_L+$arYp)omkDM%w*uTM)rW2OpFvgMPSBf;l%4NFxj<(s` z$niBxx3zWYXd6#AZ*KRRdF^oT296lR z{&n{mdZy($VXg1BD>J-wy0O%jqrs$QiEaW=Nz10M#k%s(YN_IfO-YEjn9z!U!S8)*!bLeLQX) z)LsuDIWRe=wghRPC||H5Z7Qgb+6mpEFeDI3O}oU?pBmK&P|zumTUE(-F>)0X=k;Tk zMK*7~2pJ3R5VD;nwCKJ_$0Z;7YabXnjbU<{wd&G z{gK^tw6xusw|TVNZVPSNG{KO#=-tw!)H|haz&h&v6`%aaJqKPotEh!J3}>UBP6wPH>0PIo%U)4^=%souQw? zsCp!(x|UVgeFKMjfbY_w+UgTI^QBbR>Y@UIqj{MsZ`pQ&-2c=tbW@(qa|z+KW-Z@e z0dOVV^9g+!U%IXWVQ%(k9R=?I_Ey%$ONvkJ5W8{D*H_SnqUTii+1uoqJg5Ua!3V|f zW+)SOEI@0b<{{SQ*lX_FfZf^Ag4$c!TM4n4$Rw%{5GpJF8(FeJXITbOfoQz^;iIrn zJ#{km8M(W$pe?V0a+ZikV0S`+V3#C=VYfyDwh}5YSrVfYfVGA!$VnPnTA{ebbKFME z${PKkm?3=_;W2Cp)pKBvDAsoq@<;h3j=f07x*~ zu*V@LT|1RZ?P&UU5Uzim6PmCVI*V-@)^OH%15b~?Vm{R1sDekrcVS2b%Qp;*1o{CU z0i@uFnHdidF+w;7+k={#8p9&XT5mMg2QGQZN8u zct-96y$-c{?~aGg5P-mLTwKYY3jWj4+l`K5iwK@1A&OD(sjEQiL9s(v8@e+lECL1x z2U+;}>xfbh83y=^#6YE|xli5sxJ=IB_wtv1sNrjvtQ(x{fs}0o{P!fT(rE z?p}WWG+ml??HLpgWNOCZ;Gm2HzQIEf0HlU6zgk;4(7FNzkw)M>AU3#iplgFfhzfIa zwbkoOZf-X4vMLbxURS3x7YFzixEY~Gql$1n+Yj0(POf^k-b67HGXQE>jItM}KLm~( zfH|;qB)}kX0Kt@wo#2TbaJ$+=J|0e!&~oE%FV4a(FE4!*u)CF=-68xq+{47!42LnH zLux+UaT6SE#C<>zeM>15pe;&K8#lbf}f6S0rr|Uu_EZ zyC5l8L6(Xp5SCHBXyV990b4PB_nARZxNt0%D{(L|+=$Wh?eCvxJ7aTR`wOSUfnT04 z9dr=$DtCEa2ILO53yMPnRWB0vpY2Gvl2iY#Zf)|TU1WX^%aZu`(!tsrN06TTHCflo zRTMF$SF6qSC%v+Pw!+U1DO5kIri1k5bhX1OH=UCw9#J5XwZO>nyeR=V;#7RZ zn;*-0&yCZ)5|)!Qk=m~0H4}zD#9B=Mh22rOu0StI^4PEqkizo;WG@6%XK0j8!SXFB zN5^&kYiC$g`n^@9An8HHK^BV`n4PxcW{BP*t7gck_F>6Fh=`&}iBlk`wby%ZgL^^D z*r4)kO5Xu$!tV25)i5jNb`&GN21P}L{{E^}tIo2Qm}6sUbLJk`YbbVbLp%T=NHw(j zCic{XHIYC3xwX|A>*pkQKXrU*M9CK9E`=i!U7;z8&r4S`Q`08kMa1DL|62l9irSmV zBB}1yjT@)%2jO3GFlz~!Lc%b-~=>#zPrr|@HtU~VIxRORR`hT6yg1zBr$4p;Em)yZEz7pYKQo3 z6&fjUtnLpah2gnDP6DxaQR|ekVwXi{izqKy76k?L>jP*}?Z+hVeE?(XY;md;n)+&s z=7_bFdAYod>@*EmW8>wu3?Hm0qBf_>PN%$hzj|Te!2JBFyV90xJ;wbH)6j*~pf7yx zvFxpB{aPeg#YeL!Y_UJY;IeDq=#Q!-*Y$v5lV9yoWEM;XRZsl;)3nTwA!k2v@3v*W zz`Ltlu4HwC=9l~grvae1KQr~R@or(LnVo|j`@;6bSWG{sAtC@Gat*S}9;Bl|xrY4} z0W8rdNa57ZpS}s7UcORE@8e$`%X;QSK~D4y)ZY2 z0e|O!{qGurl0kNQCOYjz6v_Zh3!(>pJz)kyh8u!Fx%VAR|9OCj_X=v)RK5<}W#{03 zhZ9d}V0FEVAi;Jj;`##d*0668%i#(EE(0qKu!;45gmD7a=|RbAGmnSBVG21A_6FIA zRY3%d(ArRx_;W4K%1cp4L9^l!t!>QEf}0%4E`V9@GQ9+}d)0eXlBg&N2bz)&WK>tn z*tUogdRMN*@#Zs)8y6rkXm8E*SXeCR_T=N|4UJ;V&LQhvOIr<`VA(&N?gzN67Z$bx z|EkltP(5V)*PkKn3ieze*vUym(*o9H_KMS*lk7ekb$NjwF5 z&I9ov;ZYB*UxzQA(D{iv5zGO?YX#-0);mQiGzR9K)G)Y-9iN8?1>*A5?xyt2%xz8< z#;_4Kl|7mWW(@#sq|}NdqKWk^``PlepH#OG1FAGE97#ibi**e<$>YJ1k~=t=&L)a} z;YI(=`*T8=HW_b#CqP7q+xY?NEng)A% zy1Pp;auLxa_QCzQF<_{-uHb|&pm?0?Xojueix0^jTz0&droZ4G7XMOcEwcgm@o7lx zh@mWQE4(JzjH2hp_6UbRvL-9RA%^=IaR9>&(dwyY{KVkKzXLn)iu8!P#_sN|&tFaq z`CwKMkrrUORFJL6(8kX%L0=-u_|_V)zlrTyQ;R#fJfKMuM@ejff5J|ekb_9)fioFS zbi{oMOH^WLh{3fP84yT^nk%bWX(R9@It~OiGUB`?G+4An|MsjVj)bU~gTuo(8n0tl zi2D}iL%q;NVjiFTscQneL9Cl=K*1*M7t|my3BudE2|X1Gq7aiW(Gi`C=aQty_LqFw z0ME(kiDekfoesQy2=XkVN#22m1ob6I=zH;KI!~+J{%{6|XAopCymKL(RL?O~d>q@*1@sg5KcQ)gIURMeUMN9(? zS@yUXa%-P6d~)FHhkNZli;?5k>EnvLKjbT3PXCg&PGryd1e=Nw04bRq!A~{6YOiK* zYWgs_!E;g@3|R=@lb`}ZJmeJsk|dlC z{Igbt)ckzc2Mnwz2=FjE1nCm&$62gtt07&xlb)WweW|;)?1DL60pw#mv?)=#|KS2K zQ4MhDC=FsuLhgFZo9~bTgnPKTxjFs#s~yh$wIAG64OdgdXx08XnyYa;^oI()RghCu z-08bGck9?I5K+)trJ=gdo4>;958Z!4&@nzMH>4#fS8*kS4T1N)(Cy|^>s-I>Ulf~- zNAliy5S$iJ(~ZD|++_6NN$0seNLDI#tBV1@j-sc%hU$0jk0KHjox*3KJ{f-($LeZ9Y+W`nJ}`y4baIbJ5YA zV1N7WXH%0qzp`ds2*-2To%^3zt@c`&>?12E@K;XTpMUDKTXlHk_|xqYhMuxJkTTw` z;A*AEJkcEP<`y>g{oy4h&YZoQYPa?FX$f2lreWdDE|XgRu)gQq=AncBS2t#F@H4=( zP=}lNKwF9vfj)^{2ztt<1zeqs7?-9%^!aRY6MjV7{uQKU93uxHn-a}~Uk8K|2TU(a z2H=~cZkoW33Vw~pl6^ohiNrP($5Ss>s0TDO2GTDP?lxA7kY{sQi{AyfCi8!6Q7l-_ z_I(V{UL7@2G9M|hM`8Dayen6IhW5o=P(^lQY4~w#L_IinX zXx?RDc|pSJ;H8$1LI>>%JW%674j@YE0XM3vCen{X`LH)8OnWpCt9}rm0+nB@IJ3>K zR{LOxiOuQKV_cvq+?lh&sm!^q9)lz}jJbj1ngSHIs6(qsumSn&h9rZqaP#@|x2@|J zZLg=<*Mz2vayoq7xLu>zv*J07wZXo2%`~bz=8NTa*vTCKZpF(NU*rj|r7!e}4zR87 zet5^m;akor*$uMS(_cAe7-q0B+_=Ff=Ne+g$@yY&cpJs$CU@DFUMCgz_@Z-ebDcB>}7X$L$2Vi&6_u^qUWc5%(Y7W zadOM`ayt6vy-(O#nN0kTurg7HTs2`~Jxgsd$g+2@-VobHHnV+ew`kH|`Ext2V`4li!>9liFWP8Vh7VXiNh3%m9e0iIeKRykzan#v$n28!wb$Bs* zo}M*F^PrnjYTBzE^z?1_bsDv_PsA6w(`WYN8y{!~G;lJ@@>38!qj?;RhDmmhjqDO9 zD6hU}KYL<~e^xk*z3J+leO@-Y)NOopgxczjj2Fg%raAjW zqP5ay_@1xVM~aN$@!hvq4LXedavb|b6)mR>Fs-8}~rJ5z~E^p!cwB)}EbA^P+Ma5y0D;%j0u$)P7&@Oa3$k&+du0M!kBzNgM10h{v;fI}6b(17?W9K-n zMU#_~NchJ*uznb@AFSa)RB}zS<5dP0&lFJOX9B}VuVO1mFK1-m`_2T_>?e%fH1Q5v(iyXd= zy!pqeY4;*y!YppExtm6aZZr7ZcG}J4rK3fsm_OS&qHG!;IRrA9EQae+06Aj|KKZcs zPX^2kn*ui6uGsTuKMN`_)a0?e=z@r_rffI1OzON8iA(OFh4wDXnif~dyoqUDB0Bcp)7-E!} z{4+AlZI3v`54E+lrTCtq(1A!2PR5%MYND^$ja89mP%t8}5aLG2Vx0m8q7ita{&^A- z>8<7({KBkUw?gA`nXa_wp2*o*pF5~1*O zzRm3+bRhg&nWdC7#b26H?IV?ClmN*SK#@rfTsfCDDhLS_5Ju4|7{K&W+|}-|Q~q;{ zban~uuL!x!<2D-D(&AlmBuK_uDln+;>%rNP&@#(}vG+G*J$|yXtrOfj)4kUUzKJDw zw|IaSN$I_MHR7Bn!X6*$r;1kb7B4XR-z_eFH0yq0+|pVgL*thCh%|(QF^BKDTQ9im z(~Yk$30A&H>Ftf!zr-ZTetlwH<)nu_T`6!eChfQNti_9y;5eD?Gck$mpT`gri&HOZ z!wTgjaxS~NEEtYR9s;ZTtXqu5QTosOW?KnE2GajNn6*U0N1*B{A%r@Gad2@}Vc~b` zvrRMApyN>|vUmikW6RqsQkDK<3?THwl=$Q}a-_V%9?cC(fDzA^6dHa__CHuR+GE1GQ zX0h(Fl!CKIGj&mk#6NWuNwDS~eH?WhgJ6V_WTCoqU=Kh_U*8dzv;k;WZ)2k3G%pSX zb*v_)tUz8|Y_pTLZuPTUXNKJTp z9+mg0-aCTv)cOc?B2>jHQnq(Hc-UEQTAV32;8%VkdgVZMb`K5(e zDeHFhQvP)!i6(LL?5Rv(uW*DKpzD3mSNOOfJU zgHxP@2ww!?ga4e~<_INKjXQv+N7hVWrV!1fzHBI8wqCJ+ zZ765ouer~%6mf)u+xuwJmF8;lco#Y5W?uyvSc}|# zthWCCVpE51wUhY`hyp^aKlb}1^nI+OWp_>1IGw|iw@nl+Sb5Y<&jDQ4MC8g!LAFE_up?3$pGllOV))Wx8_y1Cc zP&fN`beL~ISwhB5ODXQ!P7w+1Co5(>D_h-0+lN~CDyS}6Se{+{{wuSO@8Y9&Im)E+ zn!W!Z8Cac?Fen5R0J<|yp(q(vfRCYUmbp0n5wq|4#I1KGd!B9w6{ziZ7<*k zY%huVG(<6@(-E|LMYq2$NQ{>K@OI?Wk)9n4;~8fSUhM$7aeDgY1)GsymwzXmidAsu zlJxyD>Z82%8rsfJ8P*@)u5}sVSse4b9ImX~R5EYVSy?L#D7nn=zVG-@TD;lXO(k4N zK8wb(L3G;}OM}1hnC({P8~hMp+nX3HQ2zaUG{EFM9D{l3*WLt`S$5wyHkUrG4rkCW zQ$>s2*lQC!MY8A*8x9i>0Y{v?z+lc^TZzsYIFNIIj}j#C@j6xTr9XS>%&uR(O@~iO z&SKaDZUfb!-PP2L4_T3L4oj*Gb#fJ*q%t(Y=9!Sop<*cPL(kGwQYJh@OV1 z`CBx&FaV09w?qxWcCbNgImBQzsGhi(7eh0*WEPYt4BL83g2l40R{- zk`A&Z`{wqWV#Ahs%H%WooCpv}1sqF$9NfTvo;9~ew`2lebO^18sg6;QB_S{%FYE&* z4>bVa$d9glB~O2l#1y22kHa|SQL^q7QZ+up=YWDtQ+b@2`3go5;RQ_(T=Nim6? zc;&zkUdLOeJjn$R=9}RtLIFtjFgY%FBfI*afYqnw{^*}@_`)C}%f8zo(06H4$?b%d zP@Qbet)hwE&^5o>?xpOsky`AyJa6BpDIjhUm)X>GqS*6(U6=2#aphyp&9YYp^D-3nxU_C=3gRwY- zlTa#(;JnpF#TxVsbxwVm@HB^9bhM_3;EPbElSUGfab*ZPh#sSWXB%9o@Wm;dI9bX{ zLQ+IqOk9;9|4snQ9n{#L>52Bp zhl~ZOPpP4ydBYv3^D-}yMi#2A`O!CHbC7~@t9ZX|n_pQRP(5FAGH$?c<*y)0RPB8_ zcUZI3EW-cQaW}G*%;LJ%@7eQ;??QNbmKhuJ!Ex}A7(moHTPSL5%b^F$|`Rl>#FN%MbnfBc&@8IwFVxj+3>^7zZe&@Regj$s0FTOq6?m^rjzsF0}SnOIg*&ZB@HIS@^}uq-aLvw>~qv z+4ZzN*)88bV%y0_U0jm8&&^KHq#EVh8&to`qdM5SQsgzp_fR6#VYub(&8Q<#+{U6v zL#wAlfj1*z84W#Lr_1jJGYIVuZ4g#}s_nu*i5btMFTg?0?O4;HL!?}|rWScGB|%_+ zrnnJYjSccno1tYQsnNt03jY28He+}+e*HaQjzlMRx>B0!%38mk-B_no{q*FU2LR{A z559y7xr=)*_QeEZTpsb;%ce~^MccPXB_IskP=>h99 ze8!{iCp5t!Gzi0im_QGDZ_@A}Aml7(MI)?=I?)0lA^J7kVqullYbv5V4V++S<{bsd zW;1W~s6_zc6_^`pYqiN+23!qhAvWD?ICCL0X;7Z!1M{T!j)uT~tIJspgB> zD&H0qP0jX4`BfetAJvZz#RYi~LEH-?Ir5t7@E>@oeK{ zx{4c!SR~-jJ1NtZ$-|0$@AvPUGW*VZ-;wRpMP}4Q5P>Z__mERNYYhr*x(tEn__=!j?6pBhgXIK;NMi8rZ9dJ>C3}J*vOnqxqx^U1rccJ&`VzZU z&_E(CPT)1RH8}1&xo`$WS@&V?QQii;uR@W;p?czUwPl638%92L(_?xNt`aA3%f%Qu ztHtR4aaBBU;9o>ZW(Z$Btu*m|J)U)JX%}D_=2fQxO;?B=iPEW<RAB|L zaMRyvBPOwW{chpJL+CtXlBv^ZyFB8?R&%c~e0!4YsY)cjTl|!vr1;|J4;gZ%+&b8P z4d0${Ov0mD)38NR@%!0nlb+F}&vatGT!y);_PUQZ>O}e%Ydut4d-g1nZ)~hb1?=|i zFH3rA4jn(YfY)yUo$B2arfOZ}C;aBmNgCMjhIIp>~ zuI?tliRVBv!FrEU@$rm{VJBk;CI>Lzb6^1)=Q*6g=ku6Nt?bnEuLIXv9UH#B8c@nn zD3+MLn?FuN*~xY707Wjm(B%sxM88||VNF?DSGP7+R|9nq=Eq12>z`#GV+2Eucp_3l zOl~qj!H%+&DcbhTG_SI@?G)4WupgdQh_u~Q>gGoE0Z#Q5T@Mehzi%E;_%uE*UPLNY z8|-`~cuauU1$VPOFs?Fi5!8IJ{RT)RXdj3_C9&GVxc@EI7N zqPtI2aLw=M-A6Y-tjxRxmOD+teR2Bw>`y1jVQ#J&Z?~jr>lWi9C zrbIPTNPeB*wG91JGr#}tXem;=9*S5Zwfj%((hWayFIdpe{k(TX&SP>jdG0J16?eM~ z>cK14aaYIFbYu=6!b4i%J)hfbge?rQ2gGV=w5K-aT}4F@^zQg>=pb)3#dAxV0YIoV z9_Lug%qo3=JI(_viB$1XKz|u3G`hXrNBjN@htp>V6|G7Y*_Owy^N$&9P@AqeJiPv{ z;%~WO!*A$4<$Q{)Hx!lo>!#`3R{$9rA56Z52@zErpg;wX;Od$hD;!X66$@7b0t#H- z#61rV)<~SZnD+RwX!$m*`qNNc3wVg_eU0D>_>gzv;zkW#zb+{$se9hqr2MjmVlSTz zwqhFhN@r&$XrxhSBlO?8Ujk|bu`T&}fflo|vhHZO9Qu-Cx9hx5I z*bU%`xAb0tEZy$2@yVBV7)L?nRGashUsz}+xddOH>EIe4I(&E&L^!BZ#Jn3{I7X`X zmQr>h8;h1^zS~s#q1`471Ei2p!pwhzVvNf{nr@6$AT>o}kbNZId+;VtiW~(!!+8bD zn$@<3bsPoNMV`1x_zu!~-OjHEhJabYlrJx0@zi#HZ`gj998)1zwGCyOLm z=g|k^qLKp?+AkQ^aA7xr1Hu^&&)Dx1ZbS$o4q=f zLNa15pZ{*NooR0L&8&mf?A4!VxD`2D>U(9Zt2XVd}mB}E)`PS*<=J`c5Itj9@= zYMkRSWkaHLVSsA#_`VsQ4cor`EAQ7IvHR?>r*EtwQkq8Uf#!<=iXN{W(B%)O7CRb9 zpgO}UdoXgI2~(hqB<92Nm_$K6JOgaQ8_#b@;sY+6V>WK>Xt(;9DgaNNe|FmfcCym_ z1oCwo>(s&VwCnHiv?p1k;nvasTL^QGu_h0Cs9Npljkq1fXujekd}B@N!hF;x_yb|E z#QVeM%#AY3jo|!ak9He=s`%5`2qjH-h;FkEfbXvqaM;p8lPv6BC?GWEo2Bf{{z9@5 zD(3uvuFd07lU4V_3I@xnpXlpFgoOj(Wjj&H>nLi*Lfjv*uG!*0!Bh_30k_=6gnn^P zoN}1T&!7>ayamocLennMPmguQ<3u660*rs46zl&{*$(ry^rUqJHpv@b0+mVS&B;_~ zb%G>|=O8+-I;Rk)U4Ij|E^k0tDd>@;F^n~vz@HL@xtp+MSgz>{J66b--}ZaKsqiC8 zjVTZrB$^Q}Hh>v9Z^^x{zYJD|?Y;bCwZo^huCpid867&V4t+{wQRnS{6v_RgrbN7T zt)yh`?(?My&+RU$o|bV@bRB+tU;=^TBv%B!?&gC@TVnfwgkV?>B3S7KmS@txsoYyP%_AvJv*#+Z!EJnJacCdvX5eX$hpP>gxOTcq*(-WgCP22;ZspRVK zyJC-X=FBedZ=9(M6CP+zqcQ1kJ5@%`RV3;f{e>Dm68MUh6nBJS56-%CGp$1|Pc2H! z<$ZBR@;?G=ZNO)~QBqfc z5EB3~2?INHo9b=G*?e6RxIMFem!PXKy6Hy&(F9(1Pk%~0QJ(SW0r;_Pd5#{XTXL z;0X~uHHX1J$CSDiZ8rMK`)FLBW6cFf@GBxs^r;iEAv(HG9EuLF=u=Ao07%!)hvgQ& zY^X}!V`fWP{Yo#rQ74x1(xumR@qTI2QY?4xc85wPh%((VFJe4h>2H?sweIF`_$?=F zdSt{cYW$237q9{=rlv`37vX)oiG1)&z3;u0-o4om@EGmZPOTsa7)}F|Qkrddp1o*u zc^wRZupa+_B`E_F(`md9U}G#?Tq4Z=f7gUw_i&~47apRRT`S3&+Wowra`8+fZGzAt zTK_!n#fhpDCB7%c-f`kdz<2|Og+_QWt~nuc;l`Z8qfDY!<2?E|1Us4eL0v!;25AGc zuorFwkuh_?>(Ah+omQK0M}aX9-=t?hm%ThZ2&a^9pN&0Ep{%DiylYltWf(2I?(2I@ zYz3(BmMw-kyPiE7EB+gfzv~l=?FpM3V4%&kH|Sm$mbLMvfZW)FGqtA159NZGcc+SH z?u3)@4HEJ|aADvr1SDr*&QOGQgwG^Ni@R^FfRm{LnQWpGB$ zm(SdS?7X#@Y3FN64O_LlLD7J8DUQSS;skae>sIy!{PQrF-9f zAp$Wi_MWF%-`|O8ABEy0iVyvoHD}O!!xDo_ye=RK=vHnDz2)xDYdth}%bH8f z=7(QVWTt#<^pn_5XS{3%KcVDLLyY%DJBr=|-9pnOgQgC}t^N+^sA%R=uLqY|>b*}T z*c|4=vrS2>FaQ~38jT3lcD{{B6egP#9B1FQ*M8*zuyAY*%d}>}mf`Ugd^z6?xk|oA zYO*S5Vg@3Nhr0WhY{>}>2+k5MDWBX$f9O>*TjjC)z!$R#r!tU4D6T3oT3i^WlKY7B z3dWV!-z`DE@NAIjr?Kf#{Z@PCRQ? zr+mYjnS+0scWUm(t!>PLTDHf~37!R9Phx@*LLGB>h6Xb9gJ*)yy;b4#_?=(&)?Fq?Z> zS!3EQX|@E)lgI4zs{^F#PK~xJQeUTZcAlZ5O}KpVXpe6i2nuBS1%5J)@+39_K7kOF zZ-AgD(JQpS+t442r;CtbVDEh4^C;v(=sfEJg9O=$)t;24|2vNSz&E!J7L0A@+cT4Y zjPf*P&DVF7gLMA8esn!BrdIQ~i-!e++hkp&hu$D;*$_WR8+PyrdQ((yN$9^$ym7mU ztK@_+9XrQrtcN37|DXkh7wwUY7jx=z_2G9}eZMGUL6AUhkO*>c20xpCS{Uax8ri6<2ai)y#8S4zW+=CV=?CL&hv`K)H-bc1 z3GN3A%WdJ23ZpsIgadzZzE$)@q@!YekGZ!C*Shi7G(}h5RL67e#`~87_l1Qr6-Mn$ zbh2*Ws&n;w3C^^4)py1xKaSUI3wpCp%}GW(dUeT)L#KJ6tZDS_Q#qp9W?#il7RnM| z7<><#;r?+}713PyJpBRdRJw7(*1HxC6%p5|FhNxnjR<4R32kpZ^7i*RtV-P2n0_FI znXdY#u-Y%fn-anPWk=UiBsBb^w*5d;*-NRWK}Vw5S;C2y9nM6PK-sos-ow0Fa7^n& zC|Y}I&p(6S@pw3obM##}4#zMlzh!SS8)8=jNg5x-9yuG>%rVc!d5y}0^UKI>ydc3( z0Zy1{^*GYrSCQ~yMr*ua3vM2q#De(_9R@RUoL9j{lEAv%-IhGEcDKizpO`!s0_5>x zxPySTFgGRk{HfnV z)R!kr|GBYfhUc17pXhF1rAS{97X_0X3Nyb9Ph-$g9iQ*J=N6q`dwhD@rdOiU_Up^( zbc+=Mo!_Iq053bB_kD?y2*m;yJLxjtj8p#-XCOvb+abS^uuuhfQ_!r<}t4RB$ovQ&$WTa${otZQP* zs;Yv~3X6Jt@GLU_uZZr*M zKIQ&fdTRZqO^vT4y%#c`A5%NEQK;Oc*RlCAUuB8!xMeQ0!1mnAl1F6Sc<#%NyofDQ zskN?XlOfGv<>B#k+&VyLvfjwTgo&?e@Wfb8PZ`Pz>Cw1X%6)>b#m4ZWuxa=UC$6NP zqg-HB)1Z^N_rS&I%+TIGY!+)6^&KMmbf~>?XP{*#zk4YlwSVgI+&Z=EV8rEdK434+cqW&ulu<_lo z@j>392nF6@^K3Us2&8&l36Op57`Z#B$@&n^!Zm^qdtb*(w`6L3F7{#fn$kJZ>Sy7iaGH53oPWGos}Xmc zsaW^7T_%O>2xL7UnhV+JnTF`#Ww)VLx*$|n=ehAygxZO-+~H+4!F-7L3*|FP!S#vG z#E+|R-@k@UN(kg1uo{p2;f-mOEL8bEUuO-x+K&VHfsV%|irt1~qjyXB^`;7x7Ej8I zgZtr*72g@|&Li57WDlDz5hc@p#vyyOB?r-&MXWpK;_}C5i~HNlZ>4wLgM#$Ltvt_Zd-XaWz_A75V(CWPF8>@jeG4q5 zlyY@2?Sag`(#Z;W6QmHh)MguBw`sevft0eXkrAil+wrSW`W2=vn`UrFFj-|26cEvu+yobj%J1InxC5!^<=HLWGvWb{`U3$vs$TM zQRx_ZasOW$j=QS&b9`p&-(bOuBc1%OUUinMpWHFluM?@v>$}K$ZEe8bfYL9sopr6i zX||iMIsWpe>>?Gs{058XR|gFHO$3m*aj=DyF=lk%+|x-I1~u|n7=rT&k3G`nVj1@7 z&1FY#rnv!oDekY}R}klOK)^Obrd!GS4(u{SH=LgQQ*wl5bT_A))7E}N%H&7Z?wo+q zwl2Cs2bo2(0X=Vkn6Od(`=mG zQPgs4RmpJL_45-RjO*4J$7Nt1VcxI;+V4D@XVyW9n*Q3F39#Ppi!(eJ5}6f7(WVWv zco4&&tm-<<4!B+O@oMf^hOJNz7nwyP;^GdB9Ef|G%3L>1<`QtERqbLvo^anyQM#Yy zB5-da4)iQj3H4CCkeIX63nd}$Sff-Axv2tJTN~VPd zd#vNlm!V&PnIn|g&|CCU)?d(9G~YgiMRzaDLf6W&t?^P2&=hC+@S>e`-Y$Kphob40-0 zoX9dySFX{yAdR9?iIp`L#{e_8=ic$z*Ce!kd+ns+IiAa59$CgkH>YNd=J}myO){x1 z9W6h(QMvPkS%@N(D~9>3Un3St19=T9G?o~J!nmccR&8J9c3ui(yj(}G7trH5=J9nc zT~|)73xtLp_l*tK#r~K2RF#xYNVCQJ%$TBmy8NZz^tRkWoLv)eDDd6@_;&wp%Ok`x zoTu{MOAz`I%+6BQ`}}<>gWwj(%Jh>CFx2@D$A>0ctl{I>XAo?Au8-=8bjnQ%31Yx) z`OWoUP;l@z=a)}aE|oMBWN-Ei#(abtw2$rrf#6uus_iSwFW}RLcLk(|gzu1u`rqNU z&3Tmbon7b=F#JA83@X6ER5|=uyHgK1Pag(;io=t}a`9f=Yj{ljC@QWVNMOL9H1OphzK$0AGi)J=)DPs! ze>)=Ma6(Mc7A(hpUHoZ<1Hc0iRg~1JtNP3*_r4Zvyngpc#mfmtNtsfk!IHk`{ep+i z3Hd+hx|`MU=WU@rW*IrkZ?cU8+)#-MOwxmJDF#5eJX7jV)dJs+Pikm|`q4@tJhSw- z)(Fs!^Hb*7YU>6~JRxtZB1Hb!mS&Y_&z_N_6nq2%R~$KV`Os~h5y~7e&pO{L=d(D! z2|-u=W$ZA<^E%p3lUL2`woCT7fMOWNyGQquxDI*-R2L}-kHC9#$bUA5^Ok|0-V$h@ z=Amh{by+;qmID052}c^8M%^s&<0E0pSR5hxs2q!dW%(I6SGrs1thM?3NDL;FTW6!PS%@Y0?KAnc@a@jAAsFqj_0tf z-8KR>VcqG&%bfozg*QRP{pn6INN6x}&)UF>8{VYIGhe855Yz9@2BjY@OSFkOR_=d}=023H zvi>G}f@^!J>xkKj7ec`@J2%OFeI14Pm|%gcPJN}{c{L*_f`S*Fcg`F+EbVakFbjvZ z_Rfng=C_ou`F@ph5!T?T;@~5pG-yh9BHaUPI8bhRO$wY+>g+90smN9r_if*IB@Eoe zKLywvp~nO{lxeYO0~>mu`{5@g=Vf`ei0x+oo%IwgrxyhmMb?(SaP-`D!GW89m4pA^ z5uaP%k8@ZCpUokz@lR|f11bTk*kMQrA2-t<%)l-LizksCJ9OJ}B__Y(w6wO7jhgEY zSO-|%EpC9&+M=@(fB~Fjy$;fS$h)g%TTzYDxC=4FXQv*D?^(@FT^lwrED^yk=){B2PYoGc;Gz9tgqUj9@&W((#NY+h)k4u%jaDkMIT zu!o`qqZ`uff+VpKrUvR3ASm3_5by{jNH@lv+}vE^GpC^N2){$LiJR~gQ7UU(+Y0b3 zO+m#?Gmgh`;Cjv17iaG!IZxp1dk7M#TopI=<(hI!;FMK?ck;B;5$&(b$T!0qw-IH_ zeM@-;i{2LKLylZp4N*25Cuiy(FEsy{;8dNsUy?Zw>vzL&t^48?r*A1AL_vcWyD(yQ z06T;Ws_MeIzxl{7(|mlrv6DMz#>cy{4R90ogn71Nr{^yyO;E0JagKtJ4`aVWM~;YK z$_3(ueRhN|_Okt8no9HjLWMGeDm;3Gca0xP4wirO&cMR4 z$uz+uds)+2jU|L#f&ZD;Y;U1G$FnO}4$>6+OBp-~EIuOmXa6-z_sI{`Z^iN`pg6IzonixChNjnI#=F~1|UfvYx^z#ZqgLW&+8->PQAgzAB;P?*!=*KCkEaEU^2edd%YbV~wYy`uHR zE&!|kAh14;yK)v37RvZ8y6X&t2;(%52XrV6TqZX!5B9p2pnnLMwbsu(6qyQkBL+{5Su}8%Y6zyne>ZUflKC=Jn@XAE4#{h$9Fp)u) zMI|H`3A7M0){;~=+c=M{#^v|zhg&j|z58Ei8X92(C*OrWpiUZ>G(yFGLXY@gMS-qF zh@FH-1UFUG==MTaCQuBp5+_P%VrT@uqYbOd1JdmrQJD|K!kLYQMUBWA>SK70E zO?Wz7mZ1rfMGR8yr?H%k?DB7mn*RO`C{b1Lf4upGZruC6#d*c=6`?F#!J%U9U3Z&P zr03?;f*84nKUe6L6i?)vE3di9vsWcWoUy)VWaK77+3?ibjNnj&ousM9F8N{DEl*5O z6GH&BrJb{VnW&4PiQi7Co|fR-vzV2#`fFZY7SHn56Hm`S5Tm4KaaYPxE{{H@T0^xp zYV{&C2FO|pT<>@jf~oNY;_VC}`aW#GK|bsOYj{32YZLvxO_i4ZfwZTGR3s%uX|2Oo z?PWPnc=qtz;&uHbzwug3&x#p@Jmo8&q^~X6TCQ2zb0M|S?~~0g&(a6KT4dStC>86A|+|HNR398iU zA5pfRUdsxZsK6S`-vNNmP#7b&o8Ao;^o3Ep*G{{}1f_El|59hS-&(|>{y^um(TeL6 z2U3*4WIHeD*iXr(cI%IfaCv{!4h7Q|q(-9}%wTWTg11j6)mK zda`#f^WUV;;acloS-jzyk?vRVO_oDGjWilkjBFGV+>-Jl_MeY}k9c*X5r4ypLWWHngSSk*T-+c|9#D?dYet3TOpCt zov)sEOb+BalUwFrzXJD>{i8&* zgVp!14VAv^Wb0*gfWlL?bvtcQi2{{Fk~jnR`t|S7a$l(X&uilyFm3_S zZkIx=ZifraugcQ#Q_D#vb@fKy9_UTsm z>!C^R86FP%`7in8KVLz63D!vV@U0qz3NTH6sk|M;h!X){Y%DP zIY_OQb|s&lYP$vh^Xga~nnoHfDMo5)76E~JEJ^uZ-~Z2D1l0g@@xt)7{E2l3`~2=b zci7PHSTN}*p{aJHUX*gKXNCFx%FaX%D$8%L+D}|kVk}+n&NJ66Yl)35_O4}hb#{hh92cK#bD~&YI)6m8@kIqC{|XNU@B@}`B>n1tA30G93CS#wEVSqx<(^v6sVppX ziMN(l&6@Nz{knUGpLNlh{v$g@LzDjNdYTqC$+_j3{nUgSPBsaHd^lMC{j+-F@}QkX z-<$1FL;EaI;pJrfnHirI%9-+dA>O0WuoJ`Jfl^mX4gyd@B3YpVJnqcRT`LOPkB)F z@)%Xi-+?Q(RD%AvD`0|2sBR;5NB{Gt_OgtMt>3DRtS*}2)Z?Wbqk$9A=K1@UTN77a z9;5uePwP_I-EgV%7_DArNAvirEvwVF(A$YK3^Ke}rLt@7?;k(jp-)LSFDi`n_+L#e zFFHjgJ$S7J?0udwt;T&ju;5BI=W-r9<;D3|+yB}Qu{3I~&Dpw4Cm%~K&qoP=OffOH zlbG!?7x!nDqyN2oZ3GD6;BRlvASdg;ewF(i#wP|qV92{-$-ew1XappRE2>$tlyj?# zv&Q}2R2Fl7K1M0^WcOc)DKemBv0Xi-#+4vf3f2;dLV%3^(wXA_{u ztbm@9wU_?}ba@bb`;d)W~|C+k;cqrE|{?1sECAuOlmbxvLq<&?| zHma*aiW^IO}Wd{@PVatcM{ zM#mgZ;o;ovK^qQWxowKWYid|1XsSx_3)6<5f*kz(jWMO_oc2|45Yo zU?cbRf@92NV1uTmEyVrg@HK(4Mh&0iz>F=~?p}d^NkBHY`?TC+6`rQza6~n#d zhG5oRPJRAspiW!CiU4w!DrpQvu&7byacGG0dF2NUmRr*-f@z$#hXaD1p%}xfGv3EPgcxW$6wB%ny1@Rhxc3 z=GP&iTiC7i{55ETJv204^h?0L zI|Kp(5SC3qRqG98Y93X;Ghs&nMRFV5K`lt?aZ$+w5h*~G*yGe(?7*XTfEK!e_+KSf35jl)n{0jN1_fU8q7w~Mjf=zjOrZS@Qo^t3^2 zD|jH9<$K0_S%X~^r?)8&MRSYVhpm^CsaI0qz$h6yx-vv1nu5l}ju1(*$)YG~M z)*PBT1-26kO>NEG{&R*+{oqcV?g?oO1{Yvx;Wd*gMoKdyw;t>e9d7^QdxYX-VOp5v z*UTLH;D;gus_%XQ+vPN-%|C98D9Xl%0m%r0nzW8SGku(x_;aKhtMt)0AW$qJc@3ep zUNW8+^6CM>H=Yo1ozUJYRJ9j0vQh~)-=4qn#fSEH`2!QOcq66(lWpO1!WAe?VC-`s z3Nr)Z{mU-@k_2Qa6s!hv=}~|G*EHwEPgU_%Zf_dFqpJUrko$me@DI^8Rg8bm9*lH` zZ2IPeuS=9hSBkjTL_}Rcb zAHe(p;B3NWb`xCa-D#yir^I$Q1loRu>F@>XASKgoXV-nJ4g+CYFxKe+rb9*$zDWYP z!!o_^xC}9JP+~q~lPZE+S(r`OgVzpNXthY7Nf?0v4#?=Yrv37JM4NtYxP9a^a7&{* z5xj3s&tj{c&Tg0JJ}nH)7IoJON@SNxQs%ie{selA@M(?wGNhwnzOjBTA^xuP__A6| z+mSm!{>gDFz*cxPg1K;qGA8OSf7(Q=HBA^`Wc<|??ccI`%%aNwv2lXrngcrbSN@Sk zrugrTWgk!|S{F=7*LnEG?)>ph8p91YrM)RmmYGfpzA84mb{ro5FunO+hW?3`O}Q11 zKmJp2OpU|}X*@Dnu^7cZ?-AnJP(L(J@Hm<_vmT4Uuj^A~<@IOa%`=<%ch~nz1S_6P zGj6kPtvcU*V9BRYxI`0V7V&SzU`luQDyAz*AR)Nj>O?#)lh~9rYpC>*xH8wYE&Y?< zFrc)bAoBn96>fzi;79eBtkC8ywl4B#8bcw#Ow}x+)qL)LEL-%T`356jfjy?Luy&sN zl&`mWfz>|8IO&M7cx|9=F@6?99vG@Odhz98#gS&O%jYj#u!BtSUBKr8oai8wM1$Y( z#+jL!h{-a}Z0m_*XV09eG8f>K1_Ztj4E`aRi8HAN`x$G569>CF=978`lZ+H^i!=#D z%Us=JxT|CAV;)XtB>!H_pR&uLXyQH8B@cr;8QvTEFsSr%Omv9^+C@>Khlz z9nXO`$`85$rZ)|;t+YY*!3C%Pb+ZG9%U|tz^*Dg}kE*JxCtB*XFL({FB-EStHEu&X zb_vTX34ueRY=lGL6j<+Tgna4&;!=t)wMV^t3Vn457FzZ3zx}Wh#uvWcR*RfHUNPTyg$9J!$bS;GuZtXM|EVKr@;SjNo(FMo zmf)VEL1z7{506;!N@9bBr&(7V7v$%VH#Zo1vzdoyIZr1T6P1is9+o&}=2pn#tissE zh-a+A@;3Lr_V#1y=E?VUcT-?{9Xn<^9gWgA=jP`fX&AH@qNj_STPvjFpa6m2UOjU5 zuD}S_5+AE9QvW&`!yV;u{RQ&ps$KXeXnamI;Yv5vlS0)*O8YV&ZzKj7S@;DJZFi<` zlj_+rqNgp5ZMgC`(A5CjKLie@=HcP2h=}%4fREv@&qG>(=iv0o16KM8e8pS}VCCHM zq75Tglm_^OrqT9r&nbC1%x&r{N1V|ALfB=%w+V1W&R00X()7PY&g@M0oK(ZmpEL6} z3!IzP9rA+Ls;RX@L`BXr^{ci}>Tg!|#}^S77cWNwYd-?=2+aZxHU_*navi~L=L^vq zs~OsF#qOVRB?w!FPYxE+r{Mw-zMRuVI;!_sB85oOw`5`~^s6su~a$<^UnkFU^<6ccnqq03Z>! z_Vl>blD1p%9GVH6>i_Ajr&~ksQs><{W25+>@+w}ni=bN@rq&ags_;F!lG(P->%Nbw zj(Bt|CNG4QrHSQxd~6ZRv*!J6X4VC)F>vf%gm9_=&;)4^jzYaMA0#I)PswjIX-3C@ zbX7Gs-`lcvtNxxn*}#4DgIWlXE~^tfloT`X)Hf2m5eRP26= z;Xl=Qb`D<-qVX7pIZr2Vv?%M<3E!acJ%iZML`<$EmIXR|+QoLTV%#mttv!O~-v_n` z6=FEg_0!!U?^;t+Q7AqD-Q>rJ+d*i!YrO9RJM_;^g+KRKe{fF#!eXDJ4HG9%#0d6SaU4?4D)sW+$(<{N1!_pPCDHa2bFM^-+&}q^WL!sZjUk*B z$RID1`w;uBQin&B*iUpce7mFMSbsZzRFsH0xk@b0)mhS^!Tp7I>5qe66c?wxWz_Xv zk><$30IjW)g<`>){H0ig{LxU}BCwl!bYhfb^2xJXQe;=Y3d!Kbz=lAy-iuu&_q8>1 zX;o3V9@WL%!ny2A&CH<(T*n4n)4H-{^d$~05gj-Cf|X^{gIFfvxUhYq>1+6zl^Q3J z+j5wxIqYp!n~^W1-#};Jo4l@Lo(?P1>nA)0oP17q^OtG9rWEFJni z%MMA3avrwz(rq+HyIMG@g+xanAEeRQj`^a?D{v6nQW&bj{Win&=*dA^KsA;)Tep#T z`QLEGx|zJBz}1+4U&{6kCb|bb{ftwd^da}R%`jK+$yg%(uFpAq`FC{UnachZc`p#J z)nelslQI)@2fmXG;i#dg)kX|bl;tv@5MR_nX3@HTiECb@ei@$bXN9S9_8X9+&405 z3Q{L30|T!!JN~?;bxeNhTy)B$T=P>Jeevjyw4e z8;TKXjYO?%b>lu|V=Y;lc|fiBwV~pCDfSbi9jBLvPROgyE2+DY^r(Y4WueJP2`Yu& z6npD-(l;PO#d`c((#Q~9?`?TPHEk}l=zDo3W2}5}@+Q}Vnj5Bu^_r1ep41$JeYAbd zy2c|cr~WgB{G2(+EbCDgC1Z)}yYr}~OVA>spy)3sVUafybpkoxrE1*W^3%HNaqXkr zF8Df|G!=!ATjCvK9bd*&6`s7&Q=WY)C#)|LhJV4MQrRmq8jFA6f!NDn$d#beCBrgK zh3C4@Zw`B_8+ySg$3-gZg^I#xC0Ay#;4k6m3Q@hVIE~LhXC&}qy<`h50<&=aQjP*! zXGKQQlwo&Qf9N|#>&OPZOjst4GS*H8TaY4f3SeCRcdm1stH8@6`=Fy{|2FnT&0lw3 zBG6GoeolHyN$QClU#pj24i{Ok;)=2D;vGxbWV2OMPtQ&#-W1WU6H53v^u^NW)?W3h z(zba|CsrzGD`c!v+(+7*Fwrz$7#cXG7kYv%6Zug4CK6I^Eq^UFMC%={^~^nWg#}mSac4@+^SLIko}oMF zO~GKar)N?gMWyL*hrEQ)wu9T{KsaG|tCA*-88j}@NV?K6Z(h(iyyTG$un>sW*9LvQ%GTkUz=PjkHjcLQs7T;wqrL7^tQYlWbKE7(smJoAFzhrS1~d3~+> zAlGXS2+8)qj>hEzEsjaw0hwr6Q~E?|=wyFJ(5(b?!7Nl?&x-FTInlm{^@`32z|Fa_ zI%~)~!~ebNzmpldZS&V^X+(=u=li>;;YZ7@pA?yWjc2nP&$Y?ljOs5)4snn3depDO zG*2l^i`W+0AO7QFciB*acySHaO+tMpEl&B`&%spVI1D)?n|0ItL<7E>i~dVv%hvUo z4bMnj`i$Dpg2sChQSUWWX!a8hr0(nefigITI{b-9P3fkZXWp`?jT+ze)vb`MpfT`d zjSp$pjw6Oo&2}RRL z4!7d&8jby4ri`}{zx54#w6byB85x70-If&Xv_!IfxOq~(^IJVW`zZ73h4((j7QSep zXBwmF>pdbWP?>iYWEp&@2=cJ>U-^skB6{J$8K@)z6me6}B{2*0eO;<;4j zG}&Kldj_7{Ffgw8zRY6!Be4GG&o|{RGwXx4 zx%Z20wB~!W6(ji{>~0S^d~k7}?|zeXJ7i*R?q?w5mH1s3`fVo{m!yZ^Ub09!Kd0kT z`IUT^ZhfYs<8p4**Ee)r5?-5MP9m>^gMTzMywJ+jb{elEvL7z1|MrT;dZa?M(4wt* z%KeeF&(+|qg+BC(>+G+zlB`17forLV%+2$+gUyx(i<>7uU4O-6n`gjNm*lpy{NSQe zl*zkmi3IhBS;n=#BxGd7t6i#c_j8S|zNBH#F(Zo#i-`EKyEgfu@#fo8pL`Cs$r_8S zI{&%%frmS8NyzkvTD8}cLehqA?Odav1RK}p?${fX#iO?a8PNLpt511Pqm)!sf0IIF z3%qbyUXwxM45But-n@D9y|J+?O_g2DemKfHIE5QMTs!)7dr?S2$8C3aGK5jwo+WYN zx%=#|XPz6=orRXF{>Ljg(^TRfeSdwTdDz|$k2^5HnWp9pIKnF^C@5r+Q5R&u_z%}x z1P~T!w?GOy^x|rp_*lP4wmEDQvM#bfxdT|8%RB!6{3GG~_w@j0ez!`jM1AtzFskjT zEiXh_Q}N5qTesHtW)e2A4{kPaa&RChicaM_aZKGzn;WEmdz#dzd85Qm@DYibX?^p^ ztK;|YZ5^b_;}2a?!&iSgl5RUWJAYRG_Od%&{{wn|%==qVrF(kTvHgCYi~PZQmvt-# z32&UmRNXyfrhJ7V1;s}ry<&It<(ce%Xte5*0{J7u8Mf!*5L`o^tW6U)o?YBVN40vVO! zWul{^7~Y-{2+qyT6`nV)bhG0(u2J&vkjTl&ImM&d#IaiSsNtA-ivQOal+0#i$C*T4 zU-KtBK~I14-o0a-iV-5a)mpIi@q07uU%!4edX1*M+4x*yH{|@c>4Zw0R6~{L1~M`h zD@QmCOHAZ2r{%qLi5w1@{a8(QcbGG5dxaOrI=aJyVZogUcpqY7;@PgW5MfsN*Ot#n zkoeF0TMJhn_X|b{7$2WiCxN}tTsr34l9^kRaic5XjDSl0Kct;D#mT9uC)wEAVOCHI za&it1jyjX>9JNmhWFN+RMp1%~@9v+Y=FxHYlWyhP^ze*&Zzz8hv%B}^B&VZ`%lY%? z{by&bK7al!f#PMLz?_wk(3R{s%I^JcjwZw3|47(H44kMzOzl195mf!Wj5WcDJUr?N8HC6zJ2p|TN=Edsm+HKy!YpBIzD;AdG_qH%}v)7j*j=|Z<8N8 zCM;pulcDwDNeo}QPHw!jab^!zzl6MZ9hpR|61|VZ0T!|TeWB|V&C_Csv3OWz9^(sV z`1HSTFAdH0<+3Zsh^3%P(ZXewm6PM+@|v2bIy*a`KYyP0@Ee)`+~o(AZYefB8Duld zz1htC{QR(aKlj+ojaExT!TjVh)9&Hvc|ZBiiDRcO$*ZfM{PgLQVVUEzY=hDQD2+-Q z?2FktYehZj8n1o?F<)jpu`$zOIacGdIoI_HHi<_5qnn0?hL=#ovb=Rt0-TM-fx=g? zBs{fGkDcais(W_CWh49VRZ_~(HT;1DpKjvQ*id5IzOViH18x*PYqHhna&qn=CT+p2 zRU_qBf`fy@FX@L9imd7fS*3T+QC_2ED(l37M#~h>QF%wjG2!J0(XVWDa^U$kh>}TrjQ?anH@b)I; zYfg;~+TLup>C0gaIL-I9q2Xrw?d~kSD`YfmN-vJlhX*!Tw0-8rhv(UCp{umC>rLUW1b)v>j9wh>SVqXW4Ty&ffO{`Th#*>RSp zdjF#zJiXJ?)3N&6d?#CUZ)3(1Dhb&Ju4lR@j%S;L7xmfDX9-ytgg(bW~UQcFN(yYT03z7>2juX#}=mV9=4t0PM2TdIgU4Gqm; zk@Yv2v1eJ?uh)wB3`zpU>;^A&iSZkj)sae1XG%**2s(^bu`D#nw1}8CPHawwB+`)J zwwb9|kBM1$=oNabn}wa<7jkl1lyLORu^SXzTU%-To_wKqxxc>q#Q7`>AI2`U56RQf ze9X%k?cpIF=jRvo;n&sn~XdJ{c9w2E9FrxZueoqAACJ|HBr;Xz^Jrz{xvv<-q|zf*>&=&U4-PE%T#8>5 z7G5zZdHfJ2(Jfcp5E=zmc5HL2BeLyyG*YP=L)d3p1ZvUN_0T&v15QtcsmlKO{)Vpm z%l&VuebB}VohEO=H;1R#4raoMV3G5UbszO?T&Cx%a9e5ybkgc83#e!sN_)XV6>Js@ zsE1^tyn&fcGdBTJt1`Q)0jD){)Sfld^Q^i>^2@w_J^qE~gKQe>RTr`qu59Xj51}swB>vF1Iet?y4mCgf^G)~m7jhY|dTm}A z+Ux5&N^~oT=|j3&DXnMFp;jAbwb#~X9W>X-u)>uB00jSoitlhXp=h4v=T~8j>*^SQ zbI0<5N9(g*p#`9{vt1`0BQ!HK-@plU*_zjaeb4|WtlVph=l=cs0F^E)763G$a&U0? zDDDs(5<(LnAFti9G(KL(mEiq#_0P9~eAA;`DzW3gQxs)9R{fHbFFZm`O}RC{&_egV zclL8It29=@2Sje;rXr1}yVErmM=B$+$89g_vB`ShQBtCULX6>CZgTi37Yi%vo1h@` z*nou`Qp4_ihjgNy92tu2sP>-QcCqKT_LQ)Mn;~2cSwP{SXNP?4sD5(@@qGX zJ}k!6)gk>zBG)H0k4#O8h5~Mh+4d@N-?Os5+mxY|i59@o0ceU*g){tyzM{NPOzvR4+g9kyYAb z1(5S-WobR$KTRdy;=oNm`imGl6I=V(83Crn%UioU<~I8JsWS+Vj1l9Fq)rAI0?Kjj zpCeqV&iogi8`mE2FF5?IBl?yC{qXt~6Zzf_uIID^X3N9n(3PVW4;SYAk?N;A7Jt6J z2&Ldy=RI0Cx0anW-wS_lOdjm9jdkP>9z&`T^MX}q@r6|-S+ok|Ych^ZSIE)`xRo(h zKK;7MK>@v<&85`scfzznO?He~c_xx#g?Usj?l2#6a*)6Bv(jS(4ONO1{Pu6dE zOEo_b#t6N@j(}I{^C&eC*B5`>bTnikmVudoKM={$cvTZZ88T1LqvmHre_7aKT;515 zBmZIHU$fcHBbqnsexrvcg5EF*!AL~fK8gk`^yL~X9%jO>4jHX}iWWLg-Sg*6eu0d* zGWsm>bC61qTu3juK^cRO`rBx5>|Ms-?`I+$lWRV0lLt)lnYAAfKX|G4agQD~>7*S$ zp7B96O8U&-l_bxA)6X)_Rh8&n`F)71Z{H_{e>4KSnFuKf*y)oH72ZcM^dyoh^t?HI@?z>8mE=5I!l3I~5oa z?ERnsb$Hd>KM~*1-hq0bK`88EJCf>&2@bJ)TsDuwr8rP*uub~hWSaz_r$6pOdNMMH!{26#@ zvvY&OUsUVAV|VuJ?Fw_9JWePuU+pt4?@FwiZe*vH3s87*hp;4mN&UiqAA|J}U=~-F z_{Vk$TiD=sC5*|?C|5b>c~Tu*1>+TuLAR1l&ABvvsyI70H|M%C8VC4B9e8&@V{e9501y$k<>9+C?Qt&2 zS0@HaU^6RRzrICt#m`{&*!Enh2&F+qXT-xIYeAmfw839v_sIUUd;NtiI&Nhe(Ma*3 z)IS2BUDk2Vyv?%q8sA`%YAXk(*8?g%Xt)4j+$#(*yWw#P~D?(Pac{7M4E?&jmi zyw9FJd;anz5YXEuCLB=gIJmjrpdgF@xl@M8gCB#i01!XBNO%F7+f7hota`Jel^a7C zue^lGeo%nih@XlbqQ*9Rye;XmcQsEgw=WI;aa{UnZ*0gy#eV#HT7VzW>hX(-7bQ zSoy||F0>jViKpAVKvYN*jjFwN_xFWOe^4D~mkk8^>&$0tYz(-v;c#z*dVA)SoSYoS z6k|dJprPhgZ!;Y|&XTwAL_vlx6b?GA!e7DcS4Zc3eXUv|3GS925>yNbAqPEr=si?U zhd(gBqoVC*%`C#<^Nq}7n21(ECZ;)pFVhuI1TxXu=BB0;0Woh5zn}4Utjx(DL!xo0 zA4X&>~<5KXdC{SEjQr-_{HPKX3Bwt%}a%~+>afC&A>J2>~dSdkU znakR|216fM0YBc=!7Ufu)YoU)Tc2wAbedw#>;i(lp$zAs)RQ|yg-5e(k^}#m?e3cD zmaFSrSoI8zr84#=Dzs#-5?^W&2*dXoTV0iL&UaFHjSf%D&)?IBu7m^fSN@BsrK-A` z;@Gi*1<^ACM&Vy)&vk_Ur{b=ivNra7vH9&)XGSfHg;`ydXT@W`+ab=mP6Kn(%Cmi{ zI%~!^hl;qZQT&?{rRZVnNZNCKTIuR9!njnK7ApZl(6Gyj^w0eLYv#N;^7H3UGvqAS z<}BLjZ;S#xnf&(co22id1cpQEwJF{|`EOZ@7q)A7o4hg>((7?IeX{YBDmyuOQ`}4Q zquHlR?7FH$-qHG}iHuZ+ZOR$!sionHgnVDSx`f<;MBQ49Y zJd|4_H4iF%VWU;Cek!OhZ872?(-{Vr+?LTPx@aFHjUQklaYSO-#-uXr z=d&Kzs?E~K8>CV(+V&=T%Dlb!oOW8oVKf%_f$(<;!H-7)xcn-0Fot*i{)*lA&bOD; zPL7Tol9JK2`27H=wx~v`5+kTZ!7-=A=`FC2)}cCtyJW|S?q=|Heod9T$au%IDkY=D zm4mv;!`pacw}$Ki?X@FTafQE@XR;LTkDg>?ybJml1qB5LEukMU@_srO?*P?$xE4)# z{+uKBDW!T%$PH?*(34Ho#`@sHxGasHjLtNc{RAD>Qn#R6J~->fyv-N!8!lONCgX zu6oFxU@J09q12u5xFv$mb!l*mVze<}rZeewmVWVDR%tiK=~l)tQe~jq9$P&+m;eLR zMYz2C?I@ttXu)fd;hnW8I^7<3aAOH;rV_wN5josuSZGDc4s4(Thp`&2id&#jNIaPj zUzZRRdMA+(lyec=?HlmrmLq|_2-=(sdzFO=ROK3nX{$uRI1%z(HqdFhy|S{ZrloCvs*oc zHXJSPz=i2$luKqL zUm6%{4z4J)XZX-2!@@v`JPO8>ENHH8tUrd8|IDPUv_srro2<}K0O_l zS|H3(v8AP@SxU_mn71%UIC8*8i}tGKOVXuH?%uttI&4wQwHGU3RCNb?BVSxak14yX zcN5^h0RT+K-sl=BNSK&nFILUJwsvL{B$n~T!(_tJQsn#h^&mVFIRe`P^u#g0C6c61yEvYP5N`6K+& z{eM8qp#^OfsuVdn`8d!+goKoIErD=&R8Fo|Ci0vXK&N|Vp9%{3;;seV`UdqsNz!9= zoQ_bCtyh@Z5L~F8sa3#+V1g|syTuD!20S$f0we(LqposCfI%d|ZmHV*t@yViApsB` z2*JPxr{Qd4=%v$&oQ9^cvGEm<(5@nDjex$r)o(P|TqAwC#%Y-FXR{JUPD!b8?7(%g z|2+!lOJ++J=UJmcCz|4}^=`S|R}PoRs? z$5ego0MSoKnuX703V97`o|QN7M@huaP>Y;F^0r7qiQbVC4mW5(UA-?w0FP_pV5L@k z=zX_MF{UA6Rc5&QY2=qLm%#IB&o^y!Yz`Li954fgCt7_cK@-m6-Fx>YV8h1Bc!nmR z_`Nq>X^nx5-=c&}TV;W}r~q&L&{#{rOYb=+?)K^!`=q#{`0A=EP|J^i7gf6Z5nQj% zTw^&P{dZMWEf06sPIvvfx$U)(UHaugrPw=3mzzuD_5R4IOKO`mCb9~!|3 zDeP&NlZWN#FLOE%v&41vDpup254P<98M+jdPviq_!<72W#<{-pIojDDUGXiS<+tFk1EKPH9aPO3xv^C?5)Mt$ojC#H|+nK~0 zyW9}^@nbXSCE<<0b_@FVbTajec|cvQS>N3mLpzqIr|!Z&*Yurx`RdgbDAL1rYGP$R z2PNwCXpQq!Gql~|={|tcAIPYgE`@;iR#5FT@pJZwH|d6YvD=#AuL$nzKbqbr$4Ok% zmq!>)8$W03&^UXs+29YY42sX0?z{fZF+97p>m+^jt|;!#+bfM8LiC>aza#uDp(-yxnk_6Nr0vJ-zXVo>O?R6u8wA{p#0Z#2v)SKi2_9=`TZ_&Re#}o`stK z`Zf9Q-@l>Q)`Rx~E81CNXRyD$6qCOF4XW@S(5>*sdDk@XLoM}{KLbuxij_EF3NYjG zK*0;3XU_YZ)?f$T02>85?Psgb&*6Lq5rEKs7u)K9e(-R6qnRIwqQ>Arwt+bQV2nVV z=P-uK`qPVVc0C0NO1QcYoZ3~8ESVP-Ra7j1${hlggQ|8C>^tmhDbJ+p=06G-Fplrd zHh@ZRN_!|Y19Uv=L1hH+ILrwI)ha(fA9ETfVDIXi&%aX4hxZFR8aE z&ORRnjR^d(Z!IkWlZ_#hz*B%mAR})j_E#Nx5XFg0Km~L)k!vjmB zwGG>yNCHnepYG>8yIR@9V?$gipC&eI&6f|SpGk#p_cu#0ZBHR>t%ntdjN$2PJ6ZU!=o z2Qyx=cn94Y4&y*ATH7$;?HTQL%s<6ueVU3<_yz?VOlIqNIV@4|+zc_Zq}QfZs?Xfq z%lgLW=yQ^nRE%F?J(c6H*Z%$v>Oy~s9ka2|7Cj(1I`ALWgWrUNSQ7BKi^c?afKo>^ z51S_-Ld++H6_1@O@9x%o^ypF9lZDeD>cei91SsQ=X)(9cUIC=xw#(Ho&M1IyIJh|G z@c8lLRGiQLrjUm>NZK#aWVuUi2TDZ(fA@CPf(7ROUkQiMQ9 zh~U+GRDwfj*kr~*TnASz0p>%FY@Q))?n7H(_Bj&o&uDCB7hAG;>KRR*x z^ewPkhf3@w0|aVJ;N7YYmMh(iFROCjCsyu=Cu>=jeE#aXqu_DEVNxYKJI&gf#Dxp9 z)A%!dZ+qLQ4Ik9^(A)hCwaV1KX;93gOR*1}W)$j3yZe~WZ8$6TsJ%TV>VVvVVd(9Z zF;$GBxVcTkuD)>Lf+LI(WaGL1{PQ}wMh)Ou0T`BgGXMNm(jWL2;kO)TUTCArnA|M@&Ty-*wSZQ}DGw4od$@J;IDm`XOWOo} z3_IVjtwBlZKq2)KPEQ8$6^CDBwk?R4hX;d9jW13Lq#7;X`(PU;fNKIqJj~^T4^#Vi z{DA|!Dp?)S#5Vx}rclsSt0hvg48#F$CILl8W^{VL2!5>a7>~YU=>buaJ9q9NiQw&v zK!^m?I81JUi9d1T#J%jJ+1h9ev@MKMMBPgkw;L4kZ%4tgwC?`$Ui}pZyebS+C0^#P zt}X*qS|#WtaN^dWw{Yh&gZ1-tXPLCFudmMrk!R(d@5@c7cLC|{;r`}a^CSR5%uIs{ z@XFuczhKc4L@&@*uVwZWxX!5`JHy{9KIUzTu2rNe#fSyLV0l7Xz-osE3L-!vI3(X2 z8rC}G2v7wRdFiDf)BuZgt1sulQjL*O>eebkLsMio_}5JXC`b9PUuxiHWKfYA*80YQ zT;&7@G{r4gJ2M6HM~{a}g5XSO)OdRavq&n``r;%Ybp&G4C#7gqn1qC6d~)&|kPOg! znt%K0spOp^dDmW>_u>VDn6)E$;^*t8d67xP&*`kZq89m9$4w$OWM_G#aH~QfD=$xQ zs>Ug;@ia(5h1{gOo}eL|tvOhho;tGvp_$dSwfxML| zOBD4O26NGzQ6Au2Kp)^@Q`jti%QIbLV`GafV%gd)7=x2~!UNbT%b--{Zb+_r%G>%T zA1kX%^y~uEy%kSvGdE^|(PbTmE&`H*kcXIok^``vDp2$8Sv*TfFfPfx^$-s0)wy&g zPd?a)aLQrTvB*gwn#(NbTlIU79jMb4%XX1y>Q6m30|n-kke1?-m5m33%A@jpwAo>tW4o zeNlg!j9Q8sM_~gY!>pD6*#yx%N?`LbraDPd*klD{&mUkE`QKoRj zsxzFz;m6aVNlE7cx@!ub_}$etP-Go8u<#L6T7Lg_t>0X!ISBT}?MLIN-k#$A3TOWV z$318qC;?acppQ<0{FAAnViSb?AOfY9uFi=?Pe3K^$wYN@gsbIs2)7CDYU~ImcdJj% zf-^%VO1yr|ht>pk5kz^6r3hawKqeF!{qTG)xJF2W6;#8z>P~xQvf&FK;grx89ZGOQjO+z+m?3$bLke_p!DqCt3+@v zAxh*7xOIvqK}cL&97Mu&qiQLD>YpI9c)IU%$6J`P&KjSmNTCK*V93tuDu;-O$dHX6 z*!`D{k7HmU2A_a6evm5PLrBTQ#H6I?d>X5SqkOrXSrcu{t#}AJwLsq{8rdWg#dUMk z*)-RTqTrOLyB6dc*V?ZR1C)-w`c#Z5hzykVu$xSO#t=V$|Ldun1V|_JkEDVGpAS(H z#N6vuHl`LmC{Y89kj=I-J9`JBJ(5r6PbD5GF^k%m^@+X!V+|5VV%|PJuvT=S>VpDD z{R=nJX$!s-cDljNpyNVS1OW|!(%u3O$LQ;yyO1Ea0~ z`*#!1&`wj^E~M3*(qy70y|J#A5h*#%CRpR}jtIGUo>}4M1IHy#N<@YaQ=CA>B63Zb z0odeHep9axqKsgQG(s`~YcLHWrDbKP1ejti(8~8#P=X>j9<8V6TQUI0uQsxy*nbR~ ze?+;?p1r2GFSRs`gD znjl>9xNC3o!zxs*1n#K6Q&SC)z95^u)!0L-v<04S(xO9e7Rop}I(l)4q<=VndwW}Z z&`i~Y7LQYcO^$a5;qh_4tl;v&mv+EV0X+y3{9vW15t%1qz)83XAN`Sax4x>sp zZjeCPP68%^X)tiikrKj^$6%^zf(ra-rX#@;N-E?UaMkOPS4mP%q@)&70n|V2^ zl8+Kj=ODl`3?432;e0Ib)zgze4|xY~+*V)nB-m5{ugl$6*q~3H2a5{iR%b}Q!R)7X zzxUXjJpo}6Q$TgD=wiRn?ZF7}+o7QVbGg9D`93sM0Zb3bF#+u;1ZC{;!tO%)%x$eN zYW357pwPT!7Po)*@#8%&FR#=`uRMb)IKEt6DKz^T3LX1>xEX^;FToJ9X#+ARF; zoun!3pkb8?2QE+dOIb(|e-7K2oCe=KHrY|vE>{Ggja`oC#GgM8^OdLJOSmr|>pyTw zN)w3S2EFE|W{zPr?8O4l4GRD;w+szgU;q~+B>Kk>9H2qy=9v)XR;|BXXDx@S&a0c} z2Vgc#4#f|9QCcu|?CJE8zy`d{U#jxgT-<(GO-|{@_6gKB4mFJ+CPwuQYR(#bv`i$m z&qyfqSo=(!=IxYz+asY=AO>QH`x=*PrswCIv-AqXwGjLY0UrX=?fCrszGhBB7%0LR zRspx^VnVIQ+PVK={t&jCNu8^ZFoOm(^;l6(5nN8FVi-ppA2&(y-zl1%2|S`_L?a8t zP7!^Ul6Ds-TUb!_et+k-mzNYcGk*MhLY1IHe-Jir22Zj1B{g%DsBOeGT8(P`=QZ(u zAMsb2I;h(y<~vNGse=|&x9q}jR0|9!-I+gsuE8Oq+TL0kiiAy!A%40OC$51`ifPvX zQQy|zyNapCVA_$`nxr0=zZ7jg3bk zW9#n&P0T*taC$(!7^NU4x8*mgvXc1{;fG^H^yXJHjgCa|6I*q#5c5?`kka@GBiF87 z6D#@Ckjyq05E4>)um$T$M&D`r=+S!j`X$vN2*+6cPJUC6HSlz$`Zm-Dmr6Ztn0iI- zis`vI>-@nQ?&W248In!UK>ml)T-y?ifUma^-j2EAjB>s*m@x%H1|(`G78jK;vHSDR zKBsR%fYgWsh>3do{2O{rB=WG&c6}yR&AH2e|*1;xt69|2hXieLkF# zBh+_vgn;6Gl9^c%<|urV0Er=nEL>J;C-eY)<}k*j@_x|_A`%m8q*oKx!{D%BQL z3;U|5xo@+{c$oaTv(b${FEIU%O7rpt9_*|fflnQcktPhpiDmOQTXa}$Lv)0Kit2)( z;Od*Mg#@xEmP7F;)}ew-`DCEztj;yHqZHYmP{|>4kq8tqkV&+8(FwW%sjJ52lE(uI z;K{wBVJCCdaB4Ld04eOWUtl0rihKee1pTi=jhF=!v@I8Pdh$ez`1tnWFvQDv64LHJ zF@m{J(2MWw)G2vGKT(6XJ^Xu8shve6kucKpL+sx8ftsMBNX@D$F zk69YM@7WnBcd>-5p9&;usA>XdBToi~gox`t`gQV&5R(s54+y{FQpdsmegQU|u};k` zbW)56ct~%m*o&7hc{cX=(Bhv_Nl8hffAdG(_qK-vpH^&Yok$E?Bfi z*w(%SUB&|fF&`QMbafQPmr6qP!vu8hX49v)8qs)na7uK3X8|Dj23^Lv{AL8`=hveh zSfKI)_gnJvk(Wo{)(4U6i$U-kEw^=_{JEVK!Z5XV0E}{&HU1NYn^**6^u; zQas>V1GJfYhc8GIjF-!`rI-i>@hYM(V9>))L=P%JBfGp~=Mz#=^79nV5@bJnmy5r^ zMhrig)*i(oDbJfSK$vF|h+z%bYp->Z8`7T{8`ShuQX)l^Sgq_vubs@8LI6(3E!q0Z zsRAQRJ0*rb1&#>25fhayx>Ub?{ff170PZ>w>2PD<1ms9QHY`B(huUMl6QKn(Sg*oJ zQ?r{+Ky(I@ozTWUOt?a}y;L$Ulo|4v)NjLKxIvIFnpjzJ$p5$p-3@CJn4Ti_16q{0 zq`QG?9BUqk5QTGVD4c7MmFN)Q-@XK#d*O_ds_G18{4`bNg+KYTyqu$?fd$Th#|k}t zT<$y-p0EUJXjd)pb)q+L!q!2eyIkwC+2Foj0jwGlz_~~s6frP~RCINt1}4G%%}$=U zKD`4sN{r2m{(ui}(wn7cK~M%Bh3eIKOUfOt9!ZQLIM}n*jsgsa@DPL(FWrCa(m>dR zuT1Us#~3-?MI}Mz=f7==ACFc=Lj@2=cHv%Z=64561F7nr=t>#uudrKr27H;KUKwQm>hSS#KS-5yvM|M z3Q*q7KU04l8Hs~M=t@yM^EoLA%eb!p{fXUv3FTB=|E(wh^P&PO5}?Z#&GBq-M}Z`? z+erO}(dw4k$33ufadcGcr7P|8BRW#BDfR2g1c=ffr~3Tu+jar1=ELN}pT{cxXgeQV zx%vxly*OA*`AbV{4AfT;$}o`~%YEjVT*ET6fq@_q3v0Z}0r~0P(H|^ZuI6M&i^By2>n58;njAl-C~8^ZJdV6rRBy_Eq@dkzlsJ1c@3fOpmD#I+s8LU0z-W zUO-1r-vDWCpcwJ%gD{;jhRteF0ca=gE{@e2n@HluJed5_8+(O`1Gx{fvx)sW zeH69GI*?|^Hi*n|A|}_qy+o-cU1w>rD?@=0g&Bx;6S+tfWi$S93;2#^H)5Esx0jL7~8WJIXWse^Vlj3OwS# zcwGO%?2re11L2HH>;va#3J+|c9MC$*x|9g2lVd2vddX?9xFMzXwT2v0|Hg=~BRt5wdzV;8furNSOzPGitP0YNH{Lfv0 zy*(kvae1ii*Kge-gSs!M#jV|0<>}&kup}PlLfIIEGQZN!oC21Z(70it@bv9SzS zy+nZW7o}GpA)`_wMj#SWlukP*y;5}@GHIrb!JH80gVl#%p?QgJ7F@alVa5#NdSb;t z`{9x#xM&Zd#K57zuDfBE1=teciYJuZMu-l4Oj!VThgKnqj+q%%l$ZDO(vf-ha!;kU zyiK1P5gb9qYZADTMA@eJDMVC$d{R7&1_YuIfRn#l=SXL#dEnMZG&t4yD8Uy5)z7?1 z43JBQa09n~(ItRnaOsHz@HAZ1v0IA;L&f*=RBmA5F{mslu3wbsKiUoyq|_fSXQ}7D z$w7_2whRpo?+I+(LVxX;R5vcVQh|dE~ds7p};IghGXqnh`2e6PJ z8#n={2fUGY5fQhraT=8HLSm;LG8a&_qT29q>P@~rrvQu44-oVR$lE!=@rJ7dP{y&U z0pc7cg@Yw}Z4B<;r31F%W2ZLJ_4uv7Upoj_c`?@j;&)f!>cS)p76|zXa68~^VF7N? zIADFB!w_O{kK^LvK6KQor|?i%mmvsiCYB|*cQFLJTLq=l8}!CQxWbFYAu!7Xg0H|A z)?EzY?iu#<1X-Uis9||Q+saL>bbQqYf$U1WFLTfmtFMN}k;ii}3(>KrOC}aBnszD~ zZHy0&%CWyAtZ9$0Y18f=|3XtC@ENl_92F{Hsh_nM7Ec8dywbPYOtYfBE*c7@&g#%1;4d63Zh)J&KLv;|%#v33!bHpk`iq zTjxD9X1HHd-h;FT;SCIl5ULqmCc8956g5lR8G4DD8f!(7%_qnxDcQV09t6Gt-Pms( zfhavzNMLwRz#h`f(!C!?^zL}<-?6>J9~*?A1>{RYsX4y3hRjdui%D!gO=3@EYl$TV z(d2z}lDy&CmaRAH<72n``aj zhd!Z|A6u=SKLd7b^N*JQjvR&YcccQ0!}9rCIj5*75sRpSz#}B7!bGjv#3uP&xfU!) zUP-tgA0xt4$3EgsDlbkA0m^}h?f<CkPXF;NWDGDqoy_^*r_a>XAY|52&%bNDu@?S9x3huU64 zY%`HBdaY!F#mD@FY&R%dQ#fbGnpC!a)*P-YDlWl^``?fm;rT2w9%|K>Nj;v=wb#I0 zmn0L0L<#J8YQ$_t1bO1$^{n=nmMjTGJE0^Bck=(=bPZtf^~nc2f^xqds-l~z@*+^8 zcPX1_UN(7Rbr%xY#iIUSV;J#yK{bG#)(HRJ6IQ{9QP|OCq(>1$^XOReG_TYAG65v5}dJr+}s31@rqAvfSK_d=U$g=2(io(@R3}5{EeG0+F zR1&lFB*=(~MTE%iH{GNAcX+R>{(w0F_ehkg6$9*-Yb#c4hdaf6AGe4g29ZSHzng}& zDif)VxeMlx=?lp#Y7p5I=MwKB;FjNlOLplHZ%lFfzcnq#LdakLJG}nlqT)052n=AVV@Z+1eZwrds{$0=S z8ar@j9P6@MIcBbzqtQ&As#jdb3~%|BEBN)kB`{tY$`x-%kS;wWHNLdyMq<(%gDtnC zUno2f6bm^_{-7T9THw2~bmrf0bnXB{oB?j71Gb$X>Dwz^O-S!VVZJq52Fm@BE#+k3GkDlONM>?Xk%LVfA#NmY$4PzkSx+iQ%LO-nSYjc{}I<3?-*A1gQ{;} zK!jvj9zmwl5Wl%*!jBHUm}4dx7yZ^w6Bi-JkpBfTrQDYvD<1scsbF!MYNp2m`@k`~ zE7_5UQK~p`l`V1coiRgsdDc^cXAq?28WKiC^b{pV_6=MViJ9cYv?%MkYedFR{L)3^ zA!VikHf8!z>{}brAd5fYz~OtYAsURx{*a~#DQ$XflmAhg*?~eX z6g;2pDz5+gLPbo#hf7aE?qf$j=gUka*i6@yx7YGr^W(}n%(X}-^D}bmCKlA9{nd?g zb>*g4MlAh+w1J7I2$2IP=Yo{-f8X^v4lcoAzrBGe=vMW?3CCBhN&EAj_<6ocN$NfDmG|TB}nUf&pt6IM0i)zPzr6@ao zikN3k)fWph!i8h_1sN08RE-67}L z@`IAB(}}1z-D?t?b%}tpLP94X9Dx1K5BMb*_}c2qH`y7jlM?u_-t|>b_UH zc)skRnkmBv);AaLeWn!Zq<*a2o$ZuO8OiJV?EQ;3l%h>Jk94EHFeF)spz~^7x{F`# zyhyLQ%U$h$I*m)lXTK`mWpMQA0qz3V%+hGr(~hO-9n?r={R|NTe>QX0)|{@cH=Xwa zQF}>aMyu#BGGxESr!`^433Xd7ZN$a=k=t&n{iQ@0Xz;s8iA+g}+)rF6%j!!$MRZ{< zJee+ZIovh-La{y{EA(GY_bb0-3?N7>@h*I5HBt@J*HiZa5Na~_+;ZgZE)X2Hm=rY&gQI%-?eR~1M4ve1nexx zDyo7cqqHxKeX-vt#-ppj_49)JzE9RBZff<#o;tDB= zwr8})JtCw?5pKJxTF=p)3&_}k_r|fPgEO2sgWqI##UqcRAmUW7{b2qW9o-36{Bvz{ z)_i!e2g&D3_#T$A`E1^=h7s75!lgS#dY5KgM)?E$gFkX9acSA43880vcVn9SU@Q7S8fYJW*V9(r5gIE;$6qdY|MLKG+hTpM zrQ*IKU@bu*Awy{b8M9aIJ2u%r?h2%ln;3Oa;q#*jJ}(f--r^oUFc1akOz(4 z391Ia%iiX YYcR}Bn8gXSQeJioHiSG_Zu2`R_~UvlgTvzp+F3>I33U^hXORaJ-5 zxHJQIYA@`Vq1@So8he5TQQh+P3iD3F@4+#vK7u+O%#_S%ZS#Rk?!(dNg`qW}uKs~% ziMqPFq~P~)VKPzWN{vD3u(RTe5Q_gi;gp7kh8Maw6}h$9rCND$KSsNAieR~S9lbPL zsZg6aH734hoHZpULRFXIrt0_N5)yTgKC-)TnpVk#cz`QgI&pJ_^i^yND?^w0@j?kOx&zN%`*>^iFb=QL_8RHsG0T8(yyFUyJS z8Q)uV$XYyNDGUhk`fU#NTLy*1Q+_@+h=!!mKhIlpaG+h$~>TLhTTP z{GR7!>_G_S|Lfqo3Nc^OXB}55;M9vXN7KW=#6VdY$}5iahJ4B3)1AsT-?$ z12`g#bRw=Un0EX1uz6zEXY*7P^0@X@!X(UnM#26(*2dSoCb>jV7cDriv1NX|JFv}~ zK3x#+29;@f`}QpX_k<@quP{F*^9^5RHgDedR}dd=2JjYfeIl}Pb3w$CL%iQb3+me@ zcTY|=yZ=Jo2U@USh>-EP)~UxHsTp|k`GMU6PZQVj>~O&?$IZ=UHx=cU42EDKfsqp! z=MuqM&9126{FUfoy+`KPsr`9PEE~koVt(Q3ONf&kg7oU9yHM3*?kSokc*-7<3DGn^ zELI;yNT#8Zp(VWv?Agq$w>`;#v{(xJNoJn}7j(l)fjJ)w5Qv079+dDc8M+E%4f&@` z`H@*)qBj4kn3)D*GP?XaLL08iV$(O6!E(mZJI?=2qb~dmftobWVQ#Eqj-~-K)jOQi zlAP54pr`lj-`@)}Q}DK>li}knjXmkgjez1OPoMU{<69lfS3;lMvHt2vX5ueVp3WvV zuMtJb z2kMHRKMg>~<>)j(F96kuBaLA~DlpDmao0}<(=0zY_6mpmE8G7Pe@1!96@3e!l$4M_ z5Vb5n7>9F$R7hS$If3W9J2_$Bm;qx>mWt{{k-%s|Ltd?}c&edbU#_$K3B`@wGR!SO(qdA^vV9-~}>! zb1gs{(l9JbOQ3=Ek<};*&MpoWxnmryp{p}ECgibR6_b(@hv4T91NRUkLwQLu4m8M9 z1l@@zoM~C6sK#Uv-%OxCT6s8hg*xL(Cp3E6#mw{Id29s^bIj437oNv%{r|KpLYQHd z%>3`+%I|8%*KXaq0B0+znH@jc{_lC4BDOK9zG5Fc;!g)Val607$x?1clv7$cEa7lO z?2q%Fx>}c2!MTIS|dyS0FQl%&KKT8jLVS}9)MZw)SQSTJoCf+tdB`h1X%kU4)fluO8 zwyCMrUHM=TKJ>~N4mS7jco``vDN#}(GZe-cNLh~3tZ4_Wj~_3A{X^&A{WLsS!g>bJ z`qzH?>0dB|TL+CC&Y(qF#k%!G)O;{*+WVY%YQ#`Z(FAO+@!o0CJ`vw%GRS`z4IPL# z=BOqxb63aOTbh*Yo`_2)dd&EC$4{Ksf2b=ZADu8!|J{0wRKl>jgji}*y&%(WO zCukwoCI%9xNxuALc&8=sR)_CjdO!!7CK62{$$Uv8l-Y5xJ2+ZKvcLJR>hVDkkQMclV#7Q2Xu43iB=7TeS`HMJOZ3`yKk{_~+m* zpWg6iVkhRbdD9oB_0X3t@|odX_9Qv$r2cCa^7-y#q_O#>!>R>aei#sEGE@DexKgZS z`s%tcgJ2_*zEw!;y_}HKi(MhBqJ~8TXGs)9k#{~D4K$54HCZbL13W-^#m#EPhuzc% z9c{8Rp$CbK=k46#p(}Xj-?_i$?tt2YY){wafbJLG{~b~|`6em!JGXPqCOKpQhham* z&AZ#t_4iH}_RIy5U5)n3OG<yX>JbnA~&@)_6Vq^b>-m5>F8d={MWcs!fhb2st2ICd3OrRmWZBMeZ# zeX*jw8$M4ONp4m0FQ`grLzm*XP3VZzVkYHDs3XfmfV{-+FxP4r&)X#tTEU!ytT`31 zFn0o%CLO#nRZOCEOCk&iDRxXLl5YywkYuCXCfv2< z^qX>G-xR;!OclHz+sCy+7i+2C&{n%PdtGb=-H}87p5fq^(S`Ii?2S(3U`EeUp(j|Z zljlf1TL50H1_gWg=vFG|fzY+kvI+p5WIPh9Z%AP6AULO8sNhh$9G$Zc4!Ee&GNE`2 zty-hdoa~$9VH-H6?=^A+s4*d>BsL$t;k-cO;}pe7Cng>0qz+2+f`P)tYE9si2FhG5 zR-~=SHAHO+l{lEO5tG0-(-Nn^0<`l$K4_)`2tT+nqJMX!szsr&<{(n}L~HegBQcJj+1s3tn= zBA?*j-(-Onzx~$!cH_kvneP=e!X5Mi33mz|l_Ehv=`VdJMH+A5zI%&6SsRVF;o*w7 z%`keV_^~e!L^+w9QLmxn=QTebc^U3|q=j`4O`WUm{f{CtKtZ)s=xs$PZ{DC0H1J#P z(*3)fP+=3U`m<44-s_8fj(FWR5OmH&Z|Sn`X0*Rp^i`n^7m^w)bk7)8Kuf}iQ&r3? zWzhlBcq?&Ell_+|JyeHq)Dgj7KV{PY$~aVrd$@5jXVb`$e>_S{sWIUaag?F~rmTHU zwy$a|uIiQU6MHpntcQtn;tucsClOnB!A**LCDU|Cb%FXW_XBy%g z={*Nb3}!B0ZAXNCZ94{|5YFwY$p_UuCqM5wp?Cs!p>&| zMB2&`TzE{Ob3XguXWy@UaTh5YNV+&LEz#0mtfZu=6j2B2Lyd-Yj9mK!itS3UNbkcP zP2+ig-_H%4Uemz}o9mrI2i9jc7UWhR4lYi?ooyaULl+H59<-fwov~}M$l>pU>+nrk z+&q8mqEVW@Dxtmn-e!4`!&Cw?5J0|Db={Q9%&+-Kb)Sow*$ROEQFPiJQ0!t$@gHq# zg~RUl1C(sawGN|Wh5lMMj9k?>eA+iYEh*J`rhaw>b99{&hrQQdeYvdg$SNFh+5L50 zqw3*Q*mR6Aq8vU1KWE>Wfrd3fiquvK>we&ek9|K`n?xa2tI!(Vy25{FjI?%%lx+CfC{{sd8J#YX3 delta 21700 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
" + ""; + + +typedef struct myss { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + + lws_sorted_usec_list_t sul; + int count; + char upgraded; + +} myss_srv_t; + +/* + * This is the Secure Streams Server RX and TX for HTTP(S) + */ + +static int +myss_srv_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ +// myss_srv_t *m = (myss_srv_t *)userobj; + + lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); + lwsl_hexdump_info(buf, len); + + /* + * If we received the whole message, for our example it means + * we are done. + */ + if (flags & LWSSS_FLAG_EOM) { + bad = 0; + interrupted = 1; + } + + return 0; +} + +static int +myss_srv_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len, + int *flags) +{ + myss_srv_t *m = (myss_srv_t *)userobj; + + if (m->upgraded) + return LWSSSSRET_TX_DONT_SEND; + + *flags = LWSSS_FLAG_SOM | LWSSS_FLAG_EOM; + + lws_strncpy((char *)buf, html, *len); + *len = strlen(html); + + return 0; +} + +/* + * This is the Secure Streams Server RX and TX for WS(S)... when we get a + * state that the underlying connection upgraded protocol, we switch the stream + * rx and tx handlers to here. + */ + +static int +myss_ws_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ +// myss_srv_t *m = (myss_srv_t *)userobj; + + lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); + lwsl_hexdump_info(buf, len); + + /* + * If we received the whole message, for our example it means + * we are done. + */ + if (flags & LWSSS_FLAG_EOM) { + bad = 0; + interrupted = 1; + } + + return 0; +} + +/* this is the callback that mediates sending the incrementing number */ + +static void +spam_sul_cb(struct lws_sorted_usec_list *sul) +{ + myss_srv_t *m = lws_container_of(sul, myss_srv_t, sul); + + lws_ss_request_tx(m->ss); + + lws_sul_schedule(lws_ss_get_context(m->ss), 0, &m->sul, spam_sul_cb, + 100 * LWS_US_PER_MS); +} + +static int +myss_ws_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len, + int *flags) +{ + myss_srv_t *m = (myss_srv_t *)userobj; + + *flags = LWSSS_FLAG_SOM | LWSSS_FLAG_EOM; + + *len = lws_snprintf((char *)buf, *len, "hello from ws %d", m->count++); + + lws_sul_schedule(lws_ss_get_context(m->ss), 0, &m->sul, spam_sul_cb, + 100 * LWS_US_PER_MS); + + return 0; +} + +static int +myss_srv_state(void *userobj, void *sh, lws_ss_constate_t state, + lws_ss_tx_ordinal_t ack) +{ + myss_srv_t *m = (myss_srv_t *)userobj; + + lwsl_user("%s: %p %s, ord 0x%x\n", __func__, m->ss, + lws_ss_state_name(state), (unsigned int)ack); + + switch (state) { + case LWSSSCS_DISCONNECTED: + lws_sul_cancel(&m->sul); + break; + case LWSSSCS_CREATING: + lws_ss_request_tx(m->ss); + break; + case LWSSSCS_ALL_RETRIES_FAILED: + /* if we're out of retries, we want to close the app and FAIL */ + interrupted = 1; + break; + + case LWSSSCS_SERVER_TXN: + /* + * The underlying protocol started a transaction, let's + * describe how we want to complete it. We can defer this until + * later, eg, after we have consumed any rx that's coming with + * the client's transaction initiation phase, but in this + * example we know what we want to do already. + * + * We do want to ack the transaction... + */ + lws_ss_server_ack(m->ss, 0); + /* + * ... it's going to be text/html... + */ + lws_ss_set_metadata(m->ss, "mime", "text/html", 9); + /* + * ...it's going to be 128 byte (and request tx) + */ + lws_ss_request_tx_len(m->ss, strlen(html)); + break; + + case LWSSSCS_SERVER_UPGRADE: + + /* + * This is sent when the underlying protocol has experienced + * an upgrade, eg, http->ws... it's a one-way upgrade on this + * stream, change the handlers to deal with the kind of + * messages we send on ws + */ + + m->upgraded = 1; + lws_ss_change_handlers(m->ss, myss_ws_rx, myss_ws_tx, NULL); + lws_ss_request_tx(m->ss); /* we want to start sending numbers */ + break; + default: + break; + } + + return 0; +} + +const lws_ss_info_t ssi_server = { + .handle_offset = offsetof(myss_srv_t, ss), + .opaque_user_data_offset = offsetof(myss_srv_t, opaque_data), + .streamtype = "myserver", + .rx = myss_srv_rx, + .tx = myss_srv_tx, + .state = myss_srv_state, + .user_alloc = sizeof(myss_srv_t), +}; diff --git a/minimal-examples/secure-streams/minimal-secure-streams-sink/README.md b/minimal-examples/secure-streams/minimal-secure-streams-sink/README.md deleted file mode 100644 index 80a1c6928..000000000 --- a/minimal-examples/secure-streams/minimal-secure-streams-sink/README.md +++ /dev/null @@ -1,64 +0,0 @@ -# lws minimal secure streams - -The application goes to https://warmcat.com and reads index.html there. - -It does it using Secure Streams... the main code in minimal-secure-streams.c -just sets up the context and opens a secure stream of type "mintest". - -The handler for state changes and payloads for "mintest" is in ss-myss.c - -The information about how a "mintest" stream should connect and the -protocol it uses is kept separated in policy-database.c - -## build - -``` - $ cmake . && make -``` - -## usage - -Commandline option|Meaning ----|--- --d |Debug verbosity in decimal, eg, -d15 --f| Force connecting to the wrong endpoint to check backoff retry flow --p| Run as proxy server for clients to connect to over unix domain socket - -``` -[2019/08/12 07:16:11:0045] USR: LWS minimal secure streams [-d] [-f] -[2019/08/12 07:16:12:6102] USR: myss_state: LWSSSCS_CREATING, ord 0x0 -[2019/08/12 07:16:12:6107] USR: myss_state: LWSSSCS_POLL, ord 0x0 -[2019/08/12 07:16:12:6117] N: lws_ss_client_connect: connecting h1get warmcat.com / -[2019/08/12 07:16:12:6118] USR: myss_state: LWSSSCS_CONNECTING, ord 0x0 -[2019/08/12 07:16:13:4171] USR: myss_state: LWSSSCS_CONNECTED, ord 0x0 -[2019/08/12 07:16:13:4222] USR: myss_rx: len 1024, flags: 1 -[2019/08/12 07:16:13:4243] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4244] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4244] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4245] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4246] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4247] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4252] USR: myss_rx: len 1015, flags: 0 -[2019/08/12 07:16:13:4264] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4265] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4266] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4267] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4268] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4268] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4269] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4270] USR: myss_rx: len 1015, flags: 0 -[2019/08/12 07:16:13:4278] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4279] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4280] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4281] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4282] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4283] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4283] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4284] USR: myss_rx: len 1015, flags: 0 -[2019/08/12 07:16:13:4287] USR: myss_rx: len 1024, flags: 0 -[2019/08/12 07:16:13:4288] USR: myss_rx: len 947, flags: 0 -[2019/08/12 07:16:13:4293] USR: myss_rx: len 0, flags: 2 -[2019/08/12 07:16:13:4399] USR: myss_state: LWSSSCS_DISCONNECTED, ord 0x0 -[2019/08/12 07:16:13:4761] USR: myss_state: LWSSSCS_DESTROYING, ord 0x0 -[2019/08/12 07:16:13:4781] USR: Completed: OK -``` diff --git a/minimal-examples/secure-streams/minimal-secure-streams-sink/main.c b/minimal-examples/secure-streams/minimal-secure-streams-sink/main.c deleted file mode 100644 index 792cad19a..000000000 --- a/minimal-examples/secure-streams/minimal-secure-streams-sink/main.c +++ /dev/null @@ -1,288 +0,0 @@ -/* - * lws-minimal-secure-streams-sink - * - * Written in 2010-2020 by Andy Green - * - * This file is made available under the Creative Commons CC0 1.0 - * Universal Public Domain Dedication. - */ - -#include -#include -#include - -static int interrupted, bad = 1; -static const char * const default_ss_policy = - "{" - "\"release\":" "\"01234567\"," - "\"product\":" "\"myproduct\"," - "\"schema-version\":" "1," - "\"retry\": [" /* named backoff / retry strategies */ - "{\"default\": {" - "\"backoff\": [" "1000," - "2000," - "3000," - "5000," - "10000" - "]," - "\"conceal\":" "5," - "\"jitterpc\":" "20," - "\"svalidping\":" "300," - "\"svalidhup\":" "310" - "}}" - "]," - "\"certs\": [" /* named individual certificates in BASE64 DER */ - /* - * Need to be in order from root cert... notice sometimes as - * with Let's Encrypt there are multiple possible validation - * paths, all the pieces for one validation path must be - * given, excluding the server cert itself. Let's Encrypt - * intermediate is signed by their ISRG Root CA but also is - * cross-signed by an IdenTrust intermediate that's widely - * deployed in browsers. We use the ISRG path because that - * way we can skip the extra IdenTrust root cert. - */ - "{\"isrg_root_x1\": \"" /* ISRG ROOT X1 */ - "MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw" - "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" - "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4" - "WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu" - "ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY" - "MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc" - "h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+" - "0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U" - "A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW" - "T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH" - "B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC" - "B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv" - "KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn" - "OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn" - "jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw" - "qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI" - "rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV" - "HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq" - "hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL" - "ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ" - "3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK" - "NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5" - "ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur" - "TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC" - "jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc" - "oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq" - "4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA" - "mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d" - "emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=" - "\"}," - "{\"LEX3_isrg_root_x1\": \"" /* LE X3 signed by ISRG X1 root */ - "MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw" - "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" - "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1" - "WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg" - "RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi" - "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX" - "NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf" - "89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl" - "Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc" - "Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz" - "uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB" - "AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU" - "BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB" - "FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo" - "SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js" - "LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF" - "BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG" - "AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD" - "VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB" - "ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx" - "A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM" - "UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2" - "DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1" - "eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu" - "OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw" - "p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY" - "2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0" - "ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR" - "PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b" - "rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt" - "\"}" - "]," - "\"trust_stores\": [" /* named cert chains */ - "{" - "\"name\": \"le_via_isrg\"," - "\"stack\": [" - "\"isrg_root_x1\"," - "\"LEX3_isrg_root_x1\"" - "]" - "}" - "]," - "\"s\": [" /* the supported stream types */ - "{\"\": {" - "\"endpoint\":" "\"warmcat.com\"," - "\"port\":" "443," - "\"protocol\":" "\"h2\"," - "\"http_method\":" "\"GET\"," - "\"http_url\":" "\"index.html\"," - "\"plugins\":" "[]," - "\"tls\":" "true," - "\"nailed_up\":" "true," - "\"long_poll\":" "true," - "\"retry\":" "\"default\"," - "\"tls_trust_store\":" "\"le_via_isrg\"" - "}}" - "]" - "}" -; - -typedef struct myss { - struct lws_ss_handle *ss; - void *opaque_data; - /* ... application specific state ... */ - lws_sorted_usec_list_t sul; - - int count; -} myss_t; - -/* secure streams payload interface */ - -static int -myss_rx(void *userobj, const uint8_t *buf, size_t len, int flags) -{ -// myss_t *m = (myss_t *)userobj; - - lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); - lwsl_hexdump_info(buf, len); - - /* - * If we received the whole message, for our example it means - * we are done. - */ - if (flags & LWSSS_FLAG_EOM) { - bad = 0; - interrupted = 1; - } - - return 0; -} - -static int -myss_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len, - int *flags) -{ - //myss_t *m = (myss_t *)userobj; - - return 0; -} - -static int -myss_state(void *userobj, void *sh, lws_ss_constate_t state, - lws_ss_tx_ordinal_t ack) -{ - myss_t *m = (myss_t *)userobj; - - lwsl_user("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), - (unsigned int)ack); - - switch (state) { - case LWSSSCS_CREATING: - lws_ss_request_tx(m->ss); - break; - case LWSSSCS_ALL_RETRIES_FAILED: - /* if we're out of retries, we want to close the app and FAIL */ - interrupted = 1; - break; - default: - break; - } - - return 0; -} - -static void -sigint_handler(int sig) -{ - interrupted = 1; -} - -int main(int argc, const char **argv) -{ - struct lws_context_creation_info info; - struct lws_context *context; - int n = 0; - - signal(SIGINT, sigint_handler); - - memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */ - lws_cmdline_option_handle_builtin(argc, argv, &info); - lwsl_user("LWS secure streams [-d] [-f] [-p] [--h1post]\n"); - - info.options = LWS_SERVER_OPTION_EXPLICIT_VHOSTS | - LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; - info.fd_limit_per_thread = 1 + 6 + 1; - info.pss_policies_json = default_ss_policy; - info.port = CONTEXT_PORT_NO_LISTEN; - - context = lws_create_context(&info); - if (!context) { - lwsl_err("lws init failed\n"); - return 1; - } - - // puts(default_ss_policy); - - if (lws_cmdline_option(argc, argv, "-p")) { - - /* we are being the proxy */ - -#if defined(LWS_WITH_SECURE_STREAMS_PROXY_API) - if (lws_ss_proxy_create(context, NULL, 0)) { - lwsl_err("%s: failed to create ss proxy\n", __func__); - goto bail; - } - lwsl_notice("%s: secure streams proxy mode\n", __func__); -#else - lwsl_err("%s: needs cmake LWS_WITH_SECURE_STREAMS_PROXY_API\n", - __func__); -#endif - } else { - lws_ss_info_t ssi; - - /* We're making an outgoing secure stream ourselves */ - - memset(&ssi, 0, sizeof(ssi)); - ssi.handle_offset = offsetof(myss_t, ss); - ssi.opaque_user_data_offset = offsetof(myss_t, opaque_data); - ssi.rx = myss_rx; - ssi.tx = myss_tx; - ssi.state = myss_state; - ssi.user_alloc = sizeof(myss_t); - - /* requested to fail (to check backoff)? */ - if (lws_cmdline_option(argc, argv, "-f")) - ssi.streamtype = "mintest-fail"; - else - /* request to check h1 POST */ - if (lws_cmdline_option(argc, argv, "--h1post")) - ssi.streamtype = "minpost"; - else - /* default to h1 GET */ - ssi.streamtype = "mintest"; - - if (lws_ss_create(context, 0, &ssi, NULL, NULL, NULL, NULL)) { - lwsl_err("%s: failed to create secure stream\n", - __func__); - goto bail; - } - } - - /* the event loop */ - - while (n >= 0 && !interrupted) - n = lws_service(context, 0); - -bail: - - lws_context_destroy(context); - lwsl_user("Completed: %s\n", bad ? "failed" : "OK"); - - return bad; -}

tmqKPk>qh*g7O3AviUaM^;vL9|gsqWR>IF8|Z?G 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 Wr4L`ZKl_Ju_Au?(!G`@QxBds?BmzDF diff --git a/include/libwebsockets/lws-secure-streams-policy.h b/include/libwebsockets/lws-secure-streams-policy.h index 31f0d7a53..00063c337 100644 --- a/include/libwebsockets/lws-secure-streams-policy.h +++ b/include/libwebsockets/lws-secure-streams-policy.h @@ -51,6 +51,7 @@ typedef int (*plugin_auth_status_cb)(struct lws_ss_handle *ss, int status); * has the LWSSSPOLF_NAILED_UP flag. */ +#if defined(LWS_WITH_SSPLUGINS) typedef struct lws_ss_plugin { struct lws_ss_plugin *next; const char *name; /**< auth plugin name */ @@ -74,13 +75,14 @@ typedef struct lws_ss_plugin { add http headers) this callback will give it the opportunity to do so */ } lws_ss_plugin_t; - +#endif typedef struct lws_ss_x509 { struct lws_ss_x509 *next; const char *vhost_name; /**< vhost name using cert ctx */ const uint8_t *ca_der; /**< DER x.509 cert */ size_t ca_der_len; /**< length of DER cert */ + uint8_t keep:1; /**< ie, if used in server tls */ } lws_ss_x509_t; enum { @@ -120,6 +122,8 @@ enum { /**< this stream's idle validity checks are critical enough we * should arrange to wake from suspend to perform them */ + LWSSSPOLF_SERVER = (1 << 15), + /**< we listen on a socket as a server */ }; typedef struct lws_ss_trust_store { @@ -135,6 +139,7 @@ enum { LWSSSP_H2, LWSSSP_WS, LWSSSP_MQTT, + LWSSSP_RAW, LWSSS_HBI_AUTH = 0, @@ -242,12 +247,29 @@ typedef struct lws_ss_policy { /* details for non-http related protocols... */ } u; +#if defined(LWS_WITH_SSPLUGINS) const struct lws_ss_plugin *plugins[2]; /**< NULL or auth plugin */ const void *plugins_info[2]; /**< plugin-specific data */ +#endif - const lws_ss_trust_store_t *trust_store; /**< CA certs needed for conn - validation, only set between policy parsing and vhost creation */ + /* + * We're either a client connection policy that wants a trust store, + * or we're a server policy that wants a mem cert and key... Hold + * these mutually-exclusive things in a union. + */ + + union { + const lws_ss_trust_store_t *store; + /**< CA certs needed for conn validation, only set between + * policy parsing and vhost creation */ + struct { + const lws_ss_x509_t *cert; + /**< the server's signed cert with the pubkey */ + const lws_ss_x509_t *key; + /**< the server's matching private key */ + } server; + } trust; const lws_retry_bo_t *retry_bo; /**< retry policy to use */ diff --git a/include/libwebsockets/lws-secure-streams.h b/include/libwebsockets/lws-secure-streams.h index 52fe74d42..3b6ddf8fd 100644 --- a/include/libwebsockets/lws-secure-streams.h +++ b/include/libwebsockets/lws-secure-streams.h @@ -180,6 +180,9 @@ typedef enum { LWSSSCS_QOS_NACK_LOCAL, /* local proxy refused our tx */ LWSSSCS_TIMEOUT, /* optional timeout timer fired */ + LWSSSCS_SERVER_TXN, + LWSSSCS_SERVER_UPGRADE, /* the server protocol upgraded */ + LWSSSCS_SINK_JOIN, /* sinks get this when a new source * stream joins the sink */ LWSSSCS_SINK_PART, /* sinks get this when a new source @@ -281,6 +284,13 @@ enum { */ LWSSSINFLAGS_PROXIED = (1 << 1), /**< Set if the stream is being created as a stand-in at the proxy */ + LWSSSINFLAGS_SERVER = (1 << 2), + /**< Set on the server object copy of the ssi / info to indicate that + * stream creation using this ssi is for Accepted connections belonging + * to a server */ + LWSSSINFLAGS_ACCEPTED = (1 << 3), + /**< Set on the accepted object copy of the ssi / info to indicate that + * we are an accepted connection from a server's listening socket */ }; typedef struct lws_ss_info { @@ -546,6 +556,27 @@ LWS_VISIBLE LWS_EXTERN int lws_ss_set_metadata(struct lws_ss_handle *h, const char *name, const void *value, size_t len); +/* + * lws_ss_server_ack() - indicate how we feel about what the server has sent + * + * \param h: ss handle of accepted connection + * \param nack: 0 means we are OK with it, else some problem + * + * For SERVER secure streams + * + * Depending on the protocol, the server sending us something may be + * transactional, ie, built into it sending something is the idea we will + * respond somehow out-of-band; HTTP is like this with, eg, 200 response code. + * + * Calling this with nack=0 indicates that when we later respond, we want to + * acknowledge the transaction (eg, it means a 200 if http underneath), if + * nonzero that the transaction should act like it failed. + * + * If the underlying protocol doesn't understand transactions (eg, ws) then this + * has no effect either way. + */ +LWS_VISIBLE LWS_EXTERN void +lws_ss_server_ack(struct lws_ss_handle *h, int nack); /** * lws_ss_change_handlers() - helper for dynamically changing stream handlers diff --git a/lib/core-net/adopt.c b/lib/core-net/adopt.c index 5fd3aff62..2444ff69b 100644 --- a/lib/core-net/adopt.c +++ b/lib/core-net/adopt.c @@ -193,6 +193,99 @@ bail: return NULL; } +#if defined(LWS_WITH_SERVER) && defined(LWS_WITH_SECURE_STREAMS) + +/* + * If the incoming wsi is bound to a vhost that is a ss server, this creates + * an accepted ss bound to the wsi. + * + * For h1 or raw, we can do the binding here, but for muxed protocols like h2 + * or mqtt we have to do it not on the nwsi but on the stream. And for h2 we + * start off bound to h1 role, since we don't know if we will upgrade to h2 + * until we meet the server. + * + * 1) No tls is assumed to mean no muxed protocol so can do it at adopt. + * + * 2) After alpn if not muxed we can do it. + * + * 3) For muxed, do it at the nwsi migration and on new stream + */ + +int +lws_adopt_ss_server_accept(struct lws *new_wsi) +{ + lws_ss_handle_t *h; + void *pv, **ppv; + + if (!new_wsi->a.vhost->ss_handle) + return 0; + + pv = (char *)&new_wsi->a.vhost->ss_handle[1]; + + /* + * Yes... the vhost is pointing to its secure stream representing the + * server... we want to create an accepted SS and bind it to new_wsi, + * the info/ssi from the server SS (so the SS callbacks defined there), + * the opaque_user_data of the server object and the policy of it. + */ + + ppv = (void **)((char *)pv + + new_wsi->a.vhost->ss_handle->info.opaque_user_data_offset); + + /* + * indicate we are an accepted connection referencing the + * server object + */ + + new_wsi->a.vhost->ss_handle->info.flags |= LWSSSINFLAGS_SERVER; + + if (lws_ss_create(new_wsi->a.context, new_wsi->tsi, + &new_wsi->a.vhost->ss_handle->info, + *ppv, &h, NULL, NULL)) { + lwsl_err("%s: accept ss creation failed\n", __func__); + goto fail1; + } + + /* + * We made a fresh accepted SS conn from the server pieces, + * now bind the wsi... the problem is, this is the nwsi if it's + * h2. + */ + + h->wsi = new_wsi; + new_wsi->a.opaque_user_data = h; + h->info.flags |= LWSSSINFLAGS_ACCEPTED; + + // lwsl_notice("%s: opaq %p, role %s\n", __func__, + // new_wsi->a.opaque_user_data, new_wsi->role_ops->name); + + h->policy = new_wsi->a.vhost->ss_handle->policy; + + /* + * Let's give it appropriate state notifications + */ + + if (lws_ss_event_helper(h, LWSSSCS_CREATING)) + goto fail; + if (lws_ss_event_helper(h, LWSSSCS_CONNECTING)) + goto fail; + if (lws_ss_event_helper(h, LWSSSCS_CONNECTED)) + goto fail; + + // lwsl_notice("%s: accepted ss complete, pcol %s\n", __func__, + // new_wsi->a.protocol->name); + + return 0; + +fail: + lws_ss_destroy(&h); +fail1: + return 1; +} + +#endif + + static struct lws * lws_adopt_descriptor_vhost2(struct lws *new_wsi, lws_adoption_type type, lws_sock_file_fd_type fd) @@ -287,6 +380,22 @@ lws_adopt_descriptor_vhost2(struct lws *new_wsi, lws_adoption_type type, lws_role_call_adoption_bind(new_wsi, type | _LWS_ADOPT_FINISH, new_wsi->a.protocol->name); +#if defined(LWS_WITH_SERVER) && defined(LWS_WITH_SECURE_STREAMS) + /* + * Did we come from an accepted client connection to a ss server? + * + * !!! For mux protocols, this will cause an additional inactive ss + * representing the nwsi. Doing that allows us to support both h1 + * (here) and h2 (at lws_wsi_server_new()) + */ + + lwsl_notice("%s: wsi %p, vhost %s ss_handle %p\n", __func__, new_wsi, + new_wsi->a.vhost->name, new_wsi->a.vhost->ss_handle); + + if (lws_adopt_ss_server_accept(new_wsi)) + goto fail; +#endif + #if LWS_MAX_SMP > 1 /* its actual pt can service it now */ diff --git a/lib/core-net/output.c b/lib/core-net/output.c index 269a6e59d..a9f9082e6 100644 --- a/lib/core-net/output.c +++ b/lib/core-net/output.c @@ -35,8 +35,15 @@ lws_issue_raw(struct lws *wsi, unsigned char *buf, size_t len) size_t real_len = len; unsigned int n, m; - // lwsl_notice("%s: len %d\n", __func__, (int)len); - // lwsl_hexdump_level(LLL_NOTICE, buf, len); +#if 0 + /* + * This is the last place data going out over tls tunnels can be dumped + * before encryption, in order to understand what's being sent "raw" + */ + + lwsl_notice("%s: wsi: %p, len: %d\n", __func__, wsi, (int)len); + lwsl_hexdump_notice(buf, len); +#endif /* * Detect if we got called twice without going through the diff --git a/lib/core-net/private-lib-core-net.h b/lib/core-net/private-lib-core-net.h index d6384501f..eacdeed28 100644 --- a/lib/core-net/private-lib-core-net.h +++ b/lib/core-net/private-lib-core-net.h @@ -544,6 +544,10 @@ struct lws_vhost { const lws_retry_bo_t *retry_policy; +#if defined(LWS_WITH_SERVER) && defined(LWS_WITH_SECURE_STREAMS) + lws_ss_handle_t *ss_handle; /* ss handle for the server obj */ +#endif + struct lws *lserv_wsi; const char *name; const char *iface; @@ -1321,6 +1325,10 @@ int lws_plat_change_pollfd(struct lws_context *context, struct lws *wsi, struct lws_pollfd *pfd); +#if defined(LWS_WITH_SERVER) && defined(LWS_WITH_SECURE_STREAMS) +int +lws_adopt_ss_server_accept(struct lws *new_wsi); +#endif int lws_plat_pipe_create(struct lws *wsi); diff --git a/lib/core/context.c b/lib/core/context.c index 10bca9fb2..66636022a 100644 --- a/lib/core/context.c +++ b/lib/core/context.c @@ -464,7 +464,9 @@ lws_create_context(const struct lws_context_creation_info *info) #if !defined(LWS_WITH_SECURE_STREAMS_STATIC_POLICY_ONLY) context->pss_policies_json = info->pss_policies_json; #endif +#if defined(LWS_WITH_SSPLUGINS) context->pss_plugins = info->pss_plugins; +#endif #endif /* if he gave us names, set the uid / gid */ @@ -1269,6 +1271,15 @@ lws_context_destroy3(struct lws_context *context) lws_mutex_refcount_destroy(&context->mr); #endif + /* drop any lingering deferred vhost frees */ + + while (context->deferred_free_list) { + struct lws_deferred_free *df = context->deferred_free_list; + + context->deferred_free_list = df->next; + lws_free(df); + }; + lws_free(context); lwsl_debug("%s: ctx %p freed\n", __func__, context); @@ -1311,6 +1322,14 @@ lws_context_destroy2(struct lws_context *context) #if defined(LWS_WITH_SECURE_STREAMS) lws_dll2_foreach_safe(&pt->ss_owner, NULL, lws_ss_destroy_dll); #if !defined(LWS_WITH_SECURE_STREAMS_STATIC_POLICY_ONLY) + + while (context->server_der_list) { + struct lws_ss_x509 *x = context->server_der_list; + + context->server_der_list = x->next; + lws_free((void *)x->ca_der); + } + if (context->ac_policy) lwsac_free(&context->ac_policy); #endif diff --git a/lib/core/private-lib-core.h b/lib/core/private-lib-core.h index 973a752cd..be9fd449c 100644 --- a/lib/core/private-lib-core.h +++ b/lib/core/private-lib-core.h @@ -401,6 +401,9 @@ struct lws_context { lws_sorted_usec_list_t sul_api_amazon_com; lws_sorted_usec_list_t sul_api_amazon_com_kick; #endif +#if !defined(LWS_WITH_SECURE_STREAMS_STATIC_POLICY_ONLY) + struct lws_ss_x509 *server_der_list; +#endif #endif #if defined(LWS_WITH_SYS_STATE) @@ -494,7 +497,9 @@ struct lws_context { void *pol_args; #endif const lws_ss_policy_t *pss_policies; +#if defined(LWS_WITH_SSPLUGINS) const lws_ss_plugin_t **pss_plugins; +#endif #endif void *external_baggage_free_on_destroy; diff --git a/lib/roles/h2/http2.c b/lib/roles/h2/http2.c index 2975646e9..52d6c6a4f 100644 --- a/lib/roles/h2/http2.c +++ b/lib/roles/h2/http2.c @@ -269,6 +269,11 @@ lws_wsi_server_new(struct lws_vhost *vh, struct lws *parent_wsi, wsi->a.vhost->conn_stats.h2_subs++; #endif +#if defined(LWS_WITH_SERVER) && defined(LWS_WITH_SECURE_STREAMS) + if (lws_adopt_ss_server_accept(wsi)) + goto bail1; +#endif + /* get the ball rolling */ lws_validity_confirmed(wsi); @@ -2512,10 +2517,48 @@ lws_h2_ws_handshake(struct lws *wsi) if (lws_hdr_total_length(wsi, WSI_TOKEN_PROTOCOL) && /* - it is not an empty string */ wsi->a.protocol->name && wsi->a.protocol->name[0]) { + +#if defined(LWS_WITH_SECURE_STREAMS) && defined(LWS_WITH_SERVER) + + /* + * This is the h2 version of server-ws.c understanding that it + * did the ws upgrade on a ss server object, therefore it needs + * to pass back to the peer the policy ws-protocol name, not + * the generic ss-ws.c protocol name + */ + + if (wsi->a.vhost->ss_handle->policy->u.http.u.ws.subprotocol) { + lws_ss_handle_t *h = + (lws_ss_handle_t *)wsi->a.opaque_user_data; + + lwsl_notice("%s: Server SS %p .wsi %p switching to ws protocol\n", + __func__, h, h->wsi); + + wsi->a.protocol = &protocol_secstream_ws; + + /* + * inform the SS user code that this has done a one-way + * upgrade to some other protocol... it will likely + * want to treat subsequent payloads differently + */ + + lws_ss_event_helper(h, LWSSSCS_SERVER_UPGRADE); + + lws_mux_mark_immortal(wsi); + + if (lws_add_http_header_by_token(wsi, WSI_TOKEN_PROTOCOL, + (unsigned char *)wsi->a.vhost->ss_handle->policy-> + u.http.u.ws.subprotocol, + (int)strlen(wsi->a.vhost->ss_handle->policy-> + u.http.u.ws.subprotocol), &p, end)) + return -1; + } else +#endif + if (lws_add_http_header_by_token(wsi, WSI_TOKEN_PROTOCOL, (unsigned char *)wsi->a.protocol->name, (int)strlen(wsi->a.protocol->name), &p, end)) - return -1; + return -1; } } diff --git a/lib/roles/http/header.c b/lib/roles/http/header.c index f505fd759..02c3a9f5b 100644 --- a/lib/roles/http/header.c +++ b/lib/roles/http/header.c @@ -157,7 +157,8 @@ lws_add_http_common_headers(struct lws *wsi, unsigned int code, if (lws_add_http_header_status(wsi, code, p, end)) return 1; - if (lws_add_http_header_by_token(wsi, WSI_TOKEN_HTTP_CONTENT_TYPE, + if (content_type && + lws_add_http_header_by_token(wsi, WSI_TOKEN_HTTP_CONTENT_TYPE, (unsigned char *)content_type, (int)strlen(content_type), p, end)) return 1; diff --git a/lib/roles/ws/server-ws.c b/lib/roles/ws/server-ws.c index 66e1b0866..1eeba0546 100644 --- a/lib/roles/ws/server-ws.c +++ b/lib/roles/ws/server-ws.c @@ -297,10 +297,37 @@ lws_process_ws_upgrade2(struct lws *wsi) lws_pt_lock(pt, __func__); - if (!wsi->h2_stream_carries_ws) + /* + * Switch roles if we're upgrading away from http + */ + + if (!wsi->h2_stream_carries_ws) { lws_role_transition(wsi, LWSIFR_SERVER, LRS_ESTABLISHED, &role_ops_ws); +#if defined(LWS_WITH_SECURE_STREAMS) && defined(LWS_WITH_SERVER) + + /* + * If we're a SS server object, we have to switch to ss-ws + * protocol handler too + */ + if (wsi->a.vhost->ss_handle) { + lwsl_info("%s: Server SS %p switching to ws protocol\n", + __func__, wsi->a.vhost->ss_handle); + wsi->a.protocol = &protocol_secstream_ws; + + /* + * inform the SS user code that this has done a one-way + * upgrade to some other protocol... it will likely + * want to treat subsequent payloads differently + */ + + lws_ss_event_helper(wsi->a.vhost->ss_handle, + LWSSSCS_SERVER_UPGRADE); + } +#endif + } + lws_pt_unlock(pt); /* allocate the ws struct for the wsi */ @@ -535,6 +562,33 @@ lws_process_ws_upgrade(struct lws *wsi) goto alloc_ws; } +#if defined(LWS_WITH_SECURE_STREAMS) && defined(LWS_WITH_SERVER) + if (wsi->a.vhost->ss_handle) { + lws_ss_handle_t *sssh = wsi->a.vhost->ss_handle; + + /* + * At the moment, once we see it's a ss ws server, whatever + * he asked for we bind him to the ss-ws protocol handler. + * + * In the response subprotocol header, we need to name + * + * sssh->policy->u.http.u.ws.subprotocol + * + * though... + */ + + if (sssh->policy->u.http.u.ws.subprotocol) { + pcol = lws_vhost_name_to_protocol(wsi->a.vhost, + "lws-secstream-ws"); + if (pcol) { + lws_bind_protocol(wsi, pcol, "ss ws upg pcol"); + + goto alloc_ws; + } + } + } +#endif + /* otherwise go through the user-provided protocol list */ do { @@ -651,6 +705,26 @@ handshake_0405(struct lws_context *context, struct lws *wsi) prot = wsi->child_list->ws->actual_protocol; #endif +#if defined(LWS_WITH_SECURE_STREAMS) && defined(LWS_WITH_SERVER) + { + lws_ss_handle_t *sssh = wsi->a.vhost->ss_handle; + + /* + * At the moment, once we see it's a ss ws server, whatever + * he asked for we bind him to the ss-ws protocol handler. + * + * In the response subprotocol header, we need to name + * + * sssh->policy->u.http.u.ws.subprotocol + * + * though... + */ + + if (sssh->policy->u.http.u.ws.subprotocol) + prot = sssh->policy->u.http.u.ws.subprotocol; + } +#endif + LWS_CPYAPP(p, "\x0d\x0aSec-WebSocket-Protocol: "); p += lws_snprintf(p, 128, "%s", prot); } @@ -945,7 +1019,6 @@ lws_parse_ws(struct lws *wsi, unsigned char **buf, size_t len) * We dealt with it by trimming the existing * rxflow cache HEAD to account for what we used. * - * indicate we didn't use anything to the caller * so he doesn't do any consumed processing */ lwsl_info("%s: trimming inside rxflow cache\n", diff --git a/lib/secure-streams/CMakeLists.txt b/lib/secure-streams/CMakeLists.txt index 1569943d2..ba3d13c48 100644 --- a/lib/secure-streams/CMakeLists.txt +++ b/lib/secure-streams/CMakeLists.txt @@ -123,7 +123,7 @@ if (LWS_WITH_CLIENT) list(APPEND SS_PLUGINS_LIST ${NAME}) endmacro() - create_ss_plugin(ssp-h1url "h1url.c" "" "" "" "") + # create_ss_plugin(ssp-h1url "h1url.c" "" "" "" "") endif() # diff --git a/lib/secure-streams/README.md b/lib/secure-streams/README.md index 1930164cf..887f2dd58 100644 --- a/lib/secure-streams/README.md +++ b/lib/secure-streams/README.md @@ -1,30 +1,21 @@ # Secure Streams -Secure Streams is a client api that strictly separates payload from any metadata. -That includes the endpoint address for the connection, the tls CA and even the -protocol used to connect to the endpoint. +Secure Streams is a networking api that strictly separates payload from any +metadata. That includes the client endpoint address for the connection, the tls +trust chain and even the protocol used to connect to the endpoint. -The user api just receives and transmits payload, and receives advisory connection -state information. +The user api just receives and transmits payload, and receives advisory +connection state information. The details about how the connections for different types of secure stream should be made are held in JSON "policy database" initially passed in to the context creation, but able to be updated from a remote copy. -![overview](../doc-assets/ss-explain.png) +Both client and server networking can be handled using Secure Streams APIS. -## Convention for rx and tx callback return +![overview](../doc-assets/ss-operation-modes.png) -Function|Return|Meaning ----|---|--- -tx|`LWSSSSRET_OK`|Send the amount of `buf` stored in `*len` -tx|`LWSSSSRET_TX_DONT_SEND`|Do not send anything -tx|`LWSSSSRET_DISCONNECT_ME`|Close the current connection -tx|`LWSSSSRET_DESTROY_ME`|Destroy the Secure Stream -rx|>=0|accepted -rx|<0|Close the current connection - -## Secure Streams State lifecycle +## Secure Streams CLIENT State lifecycle ![overview](../doc-assets/ss-state-flow.png) @@ -47,6 +38,63 @@ State callbacks and tx() can indicate they want to drop the connection (`LWSSSRET_DISCONNECT_ME`) or destroy the whole logical Secure Stream (`LWSSSRET_DESTROY_ME`). +## Secure Streams SERVER State lifecycle + +![overview](../doc-assets/ss-state-flow-server.png) + +You can also run servers defined using Secure Streams, the main difference is +that the user code must assertively create a secure stream of the server type +in order to create the vhost and listening socket. When this stream is +destroyed, the vhost is destroyed and the listen socket closed, otherwise it +does not perform any rx or tx, it just represents the server lifecycle. + +When client connections randomly arrive at the listen socket, new Secure Stream +objects are created along with accept sockets to represent each client +connection. As they represent the incoming connection, their lifecycle is the +same as that of the underlying connection. There is no retry concept since as +with eg, http servers, the clients may typically not be routable for new +connections initiated by the server. + +Since connections at socket level are already established, new connections are +immediately taken through CREATING, CONNECTING, CONNECTED states for +consistency. + +Some underlying protocols like http are "transactional", the server receives +a logical request and must reply with a logical response. The additional +state `LWSSSCS_SERVER_TXN` provides a point where the user code can set +transaction metadata before or in place of sending any payload. It's also +possible to defer this until any rx related to the transaction was received, +but commonly with http requests, there is no rx / body. Configuring the +response there may look like + +``` + /* + * We do want to ack the transaction... + */ + lws_ss_server_ack(m->ss, 0); + /* + * ... it's going to be text/html... + */ + lws_ss_set_metadata(m->ss, "mime", "text/html", 9); + /* + * ...it's going to be 128 byte (and request tx) + */ + lws_ss_request_tx_len(m->ss, 128); +``` + +Otherwise the general api usage is very similar to client usage. + +## Convention for rx and tx callback return + +Function|Return|Meaning +---|---|--- +tx|`LWSSSSRET_OK`|Send the amount of `buf` stored in `*len` +tx|`LWSSSSRET_TX_DONT_SEND`|Do not send anything +tx|`LWSSSSRET_DISCONNECT_ME`|Close the current connection +tx|`LWSSSSRET_DESTROY_ME`|Destroy the Secure Stream +rx|>=0|accepted +rx|<0|Close the current connection + # JSON Policy Database Example JSON policy... formatting is shown for clarity but whitespace can be @@ -151,9 +199,14 @@ Entries should be named using "name" and the stack array defined using "stack" These are an array of policies for the supported stream type names. +### `server` + +**SERVER ONLY**: if set to `true`, the policy describes a secure streams +server. + ### `endpoint` -The DNS address the secure stream should connect to. +**CLIENT**: The DNS address the secure stream should connect to. This may contain string symbols which will be replaced with the corresponding streamtype metadata value at runtime. Eg, if the @@ -169,14 +222,19 @@ Namespace and doesn't have a filesystem footprint. This is only supported on unix-type and windows platforms and when lws was configured with `-DLWS_UNIX_SOCK=1` +**SERVER**: If given, the network interface name or IP address the listen socket +should bind to. + ### `port` -The port number as an integer on the endpoint to connect to +**CLIENT**: The port number as an integer on the endpoint to connect to + +**SERVER**: The port number the server will listen on ### `protocol` -The wire protocol to connect to the endpoint with. Currently supported -streamtypes are +**CLIENT**: The wire protocol to connect to the endpoint with. Currently +supported streamtypes are |Wire protocol|Description| |---|---| @@ -234,6 +292,16 @@ policy is applied. The name of the trust store described in the `trust_stores` section to apply to validate the remote server cert. +### `server_cert` + +**SERVER ONLY**: subject to change... the name of the x.509 cert that is the +server's tls certificate + +### `server_key` + +**SERVER ONLY**: subject to change... the name of the x.509 cert that is the +server's tls key + ### `swake_validity` Set to `true` if this streamtype is important enough for the functioning of the @@ -361,7 +429,9 @@ protocol. Eg, a single multipart mime transaction carries content from two or m ### `ws_subprotocol` -Name of the ws subprotocol to use. +** CLIENT **: Name of the ws subprotocol to request from the server + +** SERVER **: Name of the subprotocol we will accept ### `ws_binary` @@ -620,3 +690,18 @@ you're not otherwise using it, saving an additional couple of KB). Notice policy2c example tool must be built with `LWS_ROLE_H1`, `LWS_ROLE_H2`, `LWS_ROLE_WS` and `LWS_ROLE_MQTT` enabled so it can handle any kind of policy. +## HTTP and ws serving + +All ws servers start out as http servers... for that reason ws serving is +handled as part of http serving, if you give the `ws_subprotocol` entry to the +streamtype additionally, the server will also accept upgrades to ws. + +To help the user code understand if the upgrade occurred, there's a special +state `LWSSSCS_SERVER_UPGRADE`, so subsequent rx and tx can be understood to +have come from the upgraded protocol. To allow separation of rx and tx +handling between http and ws, there's a ss api `lws_ss_change_handlers()` +which allows dynamically setting SS handlers. + +Since the http and ws upgrade identity is encapsulated in one streamtype, the +user object for the server streamtype should contain related user data for both +http and ws underlying protocol identity. diff --git a/lib/secure-streams/policy-common.c b/lib/secure-streams/policy-common.c index 193c2fd3e..84dc234bc 100644 --- a/lib/secure-streams/policy-common.c +++ b/lib/secure-streams/policy-common.c @@ -142,7 +142,7 @@ lws_ss_policy_ref_trust_store(struct lws_context *context, memset(&i, 0, sizeof(i)); - if (!pol->trust_store) { + if (!pol->trust.store) { v = lws_get_vhost_by_name(context, "_ss_default"); if (!v) { /* corner case... there's no trust store used */ @@ -160,23 +160,23 @@ lws_ss_policy_ref_trust_store(struct lws_context *context, goto accepted; } - v = lws_get_vhost_by_name(context, pol->trust_store->name); + v = lws_get_vhost_by_name(context, pol->trust.store->name); if (v) { lwsl_notice("%s: vh already exists\n", __func__); goto accepted; } i.options = context->options; - i.vhost_name = pol->trust_store->name; + i.vhost_name = pol->trust.store->name; lwsl_debug("%s: %s\n", __func__, i.vhost_name); #if defined(LWS_WITH_TLS) && defined(LWS_WITH_CLIENT) - i.client_ssl_ca_mem = pol->trust_store->ssx509[0]->ca_der; + i.client_ssl_ca_mem = pol->trust.store->ssx509[0]->ca_der; i.client_ssl_ca_mem_len = (unsigned int) - pol->trust_store->ssx509[0]->ca_der_len; + pol->trust.store->ssx509[0]->ca_der_len; #endif i.port = CONTEXT_PORT_NO_LISTEN; lwsl_notice("%s: %s trust store initial '%s'\n", __func__, - i.vhost_name, pol->trust_store->ssx509[0]->vhost_name); + i.vhost_name, pol->trust.store->ssx509[0]->vhost_name); v = lws_create_vhost(context, &i); if (!v) { @@ -186,13 +186,13 @@ lws_ss_policy_ref_trust_store(struct lws_context *context, } else v->from_ss_policy = 1; - for (n = 1; v && n < pol->trust_store->count; n++) { + for (n = 1; v && n < pol->trust.store->count; n++) { lwsl_info("%s: add '%s' to trust store\n", __func__, - pol->trust_store->ssx509[n]->vhost_name); + pol->trust.store->ssx509[n]->vhost_name); #if defined(LWS_WITH_TLS) if (lws_tls_client_vhost_extra_cert_mem(v, - pol->trust_store->ssx509[n]->ca_der, - pol->trust_store->ssx509[n]->ca_der_len)) { + pol->trust.store->ssx509[n]->ca_der, + pol->trust.store->ssx509[n]->ca_der_len)) { lwsl_err("%s: add extra cert failed\n", __func__); return NULL; @@ -217,8 +217,8 @@ lws_ss_policy_unref_trust_store(struct lws_context *context, struct lws_vhost *v; const char *name = "_ss_default"; - if (pol->trust_store) - name = pol->trust_store->name; + if (pol->trust.store) + name = pol->trust.store->name; v = lws_get_vhost_by_name(context, name); if (!v || !v->from_ss_policy) @@ -321,17 +321,19 @@ lws_ss_policy_set(struct lws_context *context, const char *name) * We get called from context creation... instantiates * vhosts with client tls contexts set up for each unique CA. * - * For compatibility with static policy, we create the vhosts - * by walking streamtype list and create vhosts using trust - * store name if it doesn't already exist. + * We create the vhosts by walking streamtype list and create vhosts + * using trust store name if it's a client connection that doesn't + * already exist. */ pol = context->pss_policies; while (pol) { - v = lws_ss_policy_ref_trust_store(context, pol, + if (!(pol->flags & LWSSSPOLF_SERVER)) { + v = lws_ss_policy_ref_trust_store(context, pol, 0 /* no refcount inc */); - if (!v) - ret = 1; + if (!v) + ret = 1; + } pol = pol->next; } @@ -365,11 +367,14 @@ lws_ss_policy_set(struct lws_context *context, const char *name) x = args->heads[LTY_X509].x; while (x) { /* - * Free all the DER buffers now they have been parsed into - * tls library X.509 objects + * Free all the client DER buffers now they have been parsed + * into tls library X.509 objects */ - lws_free((void *)x->ca_der); - x->ca_der = NULL; + if (!x->keep) { /* used for server */ + lws_free((void *)x->ca_der); + x->ca_der = NULL; + } + x = x->next; } diff --git a/lib/secure-streams/policy-json.c b/lib/secure-streams/policy-json.c index c3f074676..d220d7f4f 100644 --- a/lib/secure-streams/policy-json.c +++ b/lib/secure-streams/policy-json.c @@ -82,6 +82,9 @@ static const char * const lejp_tokens_policy[] = { "s[].*.ws_subprotocol", "s[].*.ws_binary", "s[].*.local_sink", + "s[].*.server", + "s[].*.server_cert", + "s[].*.server_key", "s[].*.mqtt_topic", "s[].*.mqtt_subscribe", "s[].*.mqtt_qos", @@ -149,6 +152,9 @@ typedef enum { LSSPPT_WS_SUBPROTOCOL, LSSPPT_WS_BINARY, LSSPPT_LOCAL_SINK, + LSSPPT_SERVER, + LSSPPT_SERVER_CERT, + LSSPPT_SERVER_KEY, LSSPPT_MQTT_TOPIC, LSSPPT_MQTT_SUBSCRIBE, LSSPPT_MQTT_QOS, @@ -159,12 +165,13 @@ typedef enum { LSSPPT_MQTT_WILL_QOS, LSSPPT_MQTT_WILL_RETAIN, LSSPPT_SWAKE_VALIDITY, - LSSPPT_STREAMTYPES + LSSPPT_STREAMTYPES, + } policy_token_t; #define POL_AC_INITIAL 2048 #define POL_AC_GRAIN 800 -#define MAX_CERT_TEMP 2048 /* used to discover actual cert size for realloc */ +#define MAX_CERT_TEMP 3072 /* used to discover actual cert size for realloc */ static uint8_t sizes[] = { sizeof(backoff_t), @@ -185,14 +192,16 @@ static signed char lws_ss_policy_parser_cb(struct lejp_ctx *ctx, char reason) { struct policy_cb_args *a = (struct policy_cb_args *)ctx->user; +#if defined(LWS_WITH_SSPLUGINS) const lws_ss_plugin_t **pin; +#endif char **pp, dotstar[32], *q; lws_ss_trust_store_t *ts; lws_ss_metadata_t *pmd; + lws_ss_x509_t *x, **py; lws_ss_policy_t *p2; lws_retry_bo_t *b; size_t inl, outl; - lws_ss_x509_t *x; uint8_t *extant; backoff_t *bot; int n = -1; @@ -232,7 +241,10 @@ lws_ss_policy_parser_cb(struct lejp_ctx *ctx, char reason) /* * Allocate a just-the-right-size buf for the cert DER now * we decoded it into the a->p temp buffer and know the exact - * size + * size. + * + * The struct *x is in the lwsac... the ca_der it points to + * is individually allocated from the heap */ a->curr[LTY_X509].x->ca_der = lws_malloc(a->count, "ssx509"); if (!a->curr[LTY_X509].x->ca_der) @@ -416,6 +428,56 @@ lws_ss_policy_parser_cb(struct lejp_ctx *ctx, char reason) dotstar); goto oom; + case LSSPPT_SERVER_CERT: + case LSSPPT_SERVER_KEY: + + /* iterate through the certs */ + + py = &a->heads[LTY_X509].x; + x = a->heads[LTY_X509].x; + while (x) { + if (!strncmp(x->vhost_name, ctx->buf, ctx->npos) && + !x->vhost_name[ctx->npos]) { + if ((ctx->path_match - 1) == LSSPPT_SERVER_CERT) + a->curr[LTY_POLICY].p->trust.server.cert = x; + else + a->curr[LTY_POLICY].p->trust.server.key = x; + /* + * Certs that are for servers need to stick + * around in DER form, so the vhost can be + * instantiated when the server is brought up + */ + x->keep = 1; + lwsl_notice("%s: server '%s' keep %d %p\n", + __func__, x->vhost_name, + ctx->path_match - 1, x); + + /* + * Server DER we need to move it to another + * list just for destroying it when the context + * is destroyed... snip us out of the live + * X.509 list + */ + + *py = x->next; + + /* + * ... and instead put us on the list of things + * to keep hold of for context destruction + */ + + x->next = a->context->server_der_list; + a->context->server_der_list = x; + + return 0; + } + py = &x->next; + x = x->next; + } + lws_strnncpy(dotstar, ctx->buf, ctx->npos, sizeof(dotstar)); + lwsl_err("%s: unknown cert / key %s\n", __func__, dotstar); + goto oom; + case LSSPPT_ENDPOINT: pp = (char **)&a->curr[LTY_POLICY].p->endpoint; goto string2; @@ -445,6 +507,7 @@ lws_ss_policy_parser_cb(struct lejp_ctx *ctx, char reason) goto string2; case LSSPPT_PLUGINS: +#if defined(LWS_WITH_SSPLUGINS) pin = a->context->pss_plugins; if (a->count == (int)LWS_ARRAY_SIZE(a->curr[LTY_POLICY].p->plugins)) { @@ -463,6 +526,9 @@ lws_ss_policy_parser_cb(struct lejp_ctx *ctx, char reason) } lwsl_err("%s: unknown plugin\n", __func__); goto oom; +#else + break; +#endif case LSSPPT_TLS: if (reason == LEJPCB_VAL_TRUE) @@ -530,7 +596,7 @@ lws_ss_policy_parser_cb(struct lejp_ctx *ctx, char reason) ts = a->heads[LTY_TRUSTSTORE].t; while (ts) { if (!strncmp(ctx->buf, ts->name, ctx->npos)) { - a->curr[LTY_POLICY].p->trust_store = ts; + a->curr[LTY_POLICY].p->trust.store = ts; return 0; } ts = ts->next; @@ -631,6 +697,11 @@ lws_ss_policy_parser_cb(struct lejp_ctx *ctx, char reason) a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_LOCAL_SINK; break; + case LSSPPT_SERVER: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_SERVER; + break; + #if defined(LWS_ROLE_MQTT) case LSSPPT_MQTT_TOPIC: pp = (char **)&a->curr[LTY_POLICY].p->u.mqtt.topic; @@ -783,9 +854,10 @@ lws_ss_policy_parse(struct lws_context *context, const uint8_t *buf, size_t len) if (m == LEJP_CONTINUE || m >= 0) return m; - lwsl_err("%s: parse failed: %d: %s\n", __func__, m, - lejp_error_to_string(m)); + lwsl_err("%s: parse failed line %u: %d: %s\n", __func__, + args->jctx.line, m, lejp_error_to_string(m)); lws_ss_policy_parse_abandon(context); + assert(0); return m; } diff --git a/lib/secure-streams/private-lib-secure-streams.h b/lib/secure-streams/private-lib-secure-streams.h index d0262fe34..9332d03d4 100644 --- a/lib/secure-streams/private-lib-secure-streams.h +++ b/lib/secure-streams/private-lib-secure-streams.h @@ -54,14 +54,16 @@ typedef struct lws_ss_handle { struct lws_sequencer *seq; /**< owning sequencer if any */ struct lws *wsi; /**< the stream wsi if any */ +#if defined(LWS_WITH_SSPLUGINS) void *nauthi; /**< the nauth plugin instance data */ void *sauthi; /**< the sauth plugin instance data */ +#endif lws_ss_metadata_t *metadata; const lws_ss_policy_t *rideshare; - struct lws_ss_handle *h_sink; /**< sink we are bound to, or NULL */ - void *sink_obj;/**< sink's private object representing us */ + //struct lws_ss_handle *h_sink; /**< sink we are bound to, or NULL */ + //void *sink_obj;/**< sink's private object representing us */ lws_sorted_usec_list_t sul_timeout; lws_sorted_usec_list_t sul; @@ -135,6 +137,10 @@ typedef struct lws_ss_handle { lws_ss_constate_t connstate;/**< public connection state */ lws_ss_seq_state_t seqstate; /**< private connection state */ +#if defined(LWS_WITH_SERVER) + int txn_resp; +#endif + uint16_t retry; /**< retry / backoff tracking */ int16_t temp16; @@ -142,6 +148,8 @@ typedef struct lws_ss_handle { uint8_t subseq; /**< emulate SOM tracking */ uint8_t txn_ok; /**< 1 = transaction was OK */ + uint8_t txn_resp_set:1; /**< user code set one */ + uint8_t txn_resp_pending:1; /**< we have yet to send */ uint8_t hanging_som:1; uint8_t inside_msg:1; uint8_t being_serialized:1; /* we are not the consumer */ @@ -407,7 +415,7 @@ typedef int (* const secstream_protocol_get_txcr_t)(lws_ss_handle_t *h); struct ss_pcols { const char *name; const char *alpn; - const char *protocol_name; + const struct lws_protocols *protocol; secstream_protocol_connect_munge_t munge; secstream_protocol_add_txcr_t tx_cr_add; secstream_protocol_get_txcr_t tx_cr_est; diff --git a/lib/secure-streams/protocols/ss-h1.c b/lib/secure-streams/protocols/ss-h1.c index 3eab00470..ef071b8d6 100644 --- a/lib/secure-streams/protocols/ss-h1.c +++ b/lib/secure-streams/protocols/ss-h1.c @@ -152,6 +152,55 @@ around: } #endif +static int +lws_apply_metadata(lws_ss_handle_t *h, struct lws *wsi, uint8_t *buf, + uint8_t **pp, uint8_t *end) +{ + int m; + + for (m = 0; m < h->policy->metadata_count; m++) { + lws_ss_metadata_t *polmd; + + /* has to have a header string listed */ + if (!h->metadata[m].value) + continue; + + polmd = lws_ss_policy_metadata_index(h->policy, m); + + assert(polmd); + /* has to have a value */ + if (polmd->value && ((uint8_t *)polmd->value)[0]) { + if (lws_add_http_header_by_name(wsi, + polmd->value, + h->metadata[m].value, + (int)h->metadata[m].length, pp, end)) + return -1; + } + } + + /* + * Content-length on POST / PUT if we have the length information + */ + + if (h->policy->u.http.method && ( + (!strcmp(h->policy->u.http.method, "POST") || + !strcmp(h->policy->u.http.method, "PUT"))) && + wsi->http.writeable_len) { + if (!(h->policy->flags & + LWSSSPOLF_HTTP_NO_CONTENT_LENGTH)) { + int n = lws_snprintf((char *)buf, 20, "%u", + (unsigned int)wsi->http.writeable_len); + if (lws_add_http_header_by_token(wsi, + WSI_TOKEN_HTTP_CONTENT_LENGTH, + buf, n, pp, end)) + return -1; + } + lws_client_http_body_pending(wsi, 1); + } + + return 0; +} + static const uint8_t blob_idx[] = { LWS_SYSBLOB_TYPE_AUTH, LWS_SYSBLOB_TYPE_DEVICE_SERIAL, @@ -165,6 +214,9 @@ secstream_h1(struct lws *wsi, enum lws_callback_reasons reason, void *user, { lws_ss_handle_t *h = (lws_ss_handle_t *)lws_get_opaque_user_data(wsi); uint8_t buf[LWS_PRE + 1520], *p = &buf[LWS_PRE], +#if defined(LWS_WITH_SERVER) + *start = p, +#endif *end = &buf[sizeof(buf) - 1]; int f = 0, m, status; char conceal_eom = 0; @@ -196,6 +248,7 @@ secstream_h1(struct lws *wsi, enum lws_callback_reasons reason, void *user, /* don't follow it */ return 1; + case LWS_CALLBACK_CLOSED_HTTP: /* server */ case LWS_CALLBACK_CLOSED_CLIENT_HTTP: if (!h) break; @@ -208,6 +261,9 @@ secstream_h1(struct lws *wsi, enum lws_callback_reasons reason, void *user, //bad = status != 200; //lws_cancel_service(lws_get_context(wsi)); /* abort poll wait */ if (h->policy && !(h->policy->flags & LWSSSPOLF_OPPORTUNISTIC) && +#if defined(LWS_WITH_SERVER) + !(h->info.flags & LWSSSINFLAGS_ACCEPTED) && /* not server */ +#endif !h->txn_ok && !wsi->a.context->being_destroyed) { if (lws_ss_backoff(h)) break; @@ -363,44 +419,8 @@ malformed: * metadata-based headers */ - for (m = 0; m < h->policy->metadata_count; m++) { - lws_ss_metadata_t *polmd; - - /* has to have a header string listed */ - if (!h->metadata[m].value) - continue; - - polmd = lws_ss_policy_metadata_index(h->policy, m); - - assert(polmd); - /* has to have a value */ - if (polmd->value && ((uint8_t *)polmd->value)[0]) { - if (lws_add_http_header_by_name(wsi, - polmd->value, - h->metadata[m].value, - (int)h->metadata[m].length, p, end)) - return -1; - } - } - - /* - * Content-length on POST / PUT if we have the length information - */ - - if ((!strcmp(h->policy->u.http.method, "POST") || - !strcmp(h->policy->u.http.method, "PUT")) && - wsi->http.writeable_len) { - if (!(h->policy->flags & - LWSSSPOLF_HTTP_NO_CONTENT_LENGTH)) { - int n = lws_snprintf((char *)buf, 20, "%u", - (unsigned int)wsi->http.writeable_len); - if (lws_add_http_header_by_token(wsi, - WSI_TOKEN_HTTP_CONTENT_LENGTH, - buf, n, p, end)) - return -1; - } - lws_client_http_body_pending(wsi, 1); - } + if (lws_apply_metadata(h, wsi, buf, p, end)) + return -1; (void)oin; // if (*p != oin) @@ -411,6 +431,7 @@ malformed: break; /* chunks of chunked content, with header removed */ + case LWS_CALLBACK_HTTP_BODY: case LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ: lwsl_debug("%s: RECEIVE_CLIENT_HTTP_READ: read %d\n", __func__, (int)len); @@ -476,16 +497,62 @@ malformed: lws_cancel_service(lws_get_context(wsi)); /* abort poll wait */ break; + case LWS_CALLBACK_HTTP_WRITEABLE: case LWS_CALLBACK_CLIENT_HTTP_WRITEABLE: - lwsl_info("%s: LWS_CALLBACK_CLIENT_HTTP_WRITEABLE\n", __func__); - if (!h || !h->info.tx) + //lwsl_info("%s: wsi %p, par %p, HTTP_WRITEABLE\n", __func__, + // wsi, wsi->mux.parent_wsi); + if (!h || !h->info.tx) { + lwsl_notice("%s: no handle / tx %p\n", __func__, h); return 0; + } + +#if defined(LWS_WITH_SERVER) + if (h->txn_resp_pending) { + /* + * If we're going to start sending something, we need to + * to take care of the http response header for it first + */ + h->txn_resp_pending = 0; + + if (lws_add_http_common_headers(wsi, + h->txn_resp_set ? + (h->txn_resp ? h->txn_resp : 200) : + HTTP_STATUS_NOT_FOUND, + NULL, h->wsi->http.writeable_len, + &p, end)) + return 1; + + /* + * metadata-based headers + */ + + if (lws_apply_metadata(h, wsi, buf, &p, end)) + return -1; + + if (lws_finalize_write_http_header(wsi, start, &p, end)) + return 1; + + /* write the body separately */ + lws_callback_on_writable(wsi); + + return 0; + } +#endif + + if ( +#if defined(LWS_WITH_SERVER) + !(h->info.flags & LWSSSINFLAGS_ACCEPTED) && /* not accepted */ +#endif + !h->rideshare) - if (!h->rideshare) h->rideshare = h->policy; #if defined(LWS_WITH_SS_RIDESHARE) - if (!h->inside_msg && h->rideshare->u.http.multipart_name) + if ( +#if defined(LWS_WITH_SERVER) + !(h->info.flags & LWSSSINFLAGS_ACCEPTED) && /* not accepted */ +#endif + !h->inside_msg && h->rideshare->u.http.multipart_name) lws_client_http_multipart(wsi, h->rideshare->u.http.multipart_name, h->rideshare->u.http.multipart_filename, @@ -498,7 +565,6 @@ malformed: #else buflen = lws_ptr_diff(end, p); #endif - switch(h->info.tx(ss_to_userobj(h), h->txord++, p, &buflen, &f)) { case LWSSSSRET_DISCONNECT_ME: lwsl_debug("%s: tx handler asked to close conn\n", __func__); @@ -519,13 +585,15 @@ do_destroy_me: break; } - lwsl_info("%s: WRITEABLE: user tx says len %d fl 0x%x\n", - __func__, (int)buflen, (int)f); + // lwsl_notice("%s: WRITEABLE: user tx says len %d fl 0x%x\n", + // __func__, (int)buflen, (int)f); p += buflen; if (f & LWSSS_FLAG_EOM) { - +#if defined(LWS_WITH_SERVER) + if (!(h->info.flags & LWSSSINFLAGS_ACCEPTED)) { +#endif conceal_eom = 1; /* end of rideshares */ if (!h->rideshare->rideshare_streamtype) { @@ -541,6 +609,9 @@ do_destroy_me: h->rideshare->rideshare_streamtype); lws_callback_on_writable(wsi); } +#if defined(LWS_WITH_SERVER) + } +#endif h->inside_msg = 0; } else { @@ -562,9 +633,64 @@ do_destroy_me: return -1; } +#if defined(LWS_WITH_SERVER) + if (!(h->info.flags & LWSSSINFLAGS_ACCEPTED) && + (f & LWSSS_FLAG_EOM) && + lws_http_transaction_completed(wsi)) + return -1; +#else lws_set_timeout(wsi, 0, 0); +#endif break; +#if defined(LWS_WITH_SERVER) + case LWS_CALLBACK_HTTP: + + lwsl_notice("%s: LWS_CALLBACK_HTTP\n", __func__); + { + + h->txn_resp_set = 0; + h->txn_resp_pending = 1; + h->writeable_len = 0; + +#if defined(LWS_ROLE_H2) + m = lws_hdr_total_length(wsi, WSI_TOKEN_HTTP_COLON_METHOD); + if (m) { + lws_ss_set_metadata(h, "method", + lws_hdr_simple_ptr(wsi, + WSI_TOKEN_HTTP_COLON_METHOD), m); + m = lws_hdr_total_length(wsi, WSI_TOKEN_HTTP_COLON_PATH); + lws_ss_set_metadata(h, "path", + lws_hdr_simple_ptr(wsi, + WSI_TOKEN_HTTP_COLON_PATH), m); + } else +#endif + { + m = lws_hdr_total_length(wsi, WSI_TOKEN_GET_URI); + if (m) { + lws_ss_set_metadata(h, "path", + lws_hdr_simple_ptr(wsi, + WSI_TOKEN_GET_URI), m); + lws_ss_set_metadata(h, "method", "GET", 3); + } else { + m = lws_hdr_total_length(wsi, WSI_TOKEN_POST_URI); + if (m) { + lws_ss_set_metadata(h, "path", + lws_hdr_simple_ptr(wsi, + WSI_TOKEN_POST_URI), m); + lws_ss_set_metadata(h, "method", "POST", 4); + } + } + } + } + + if (lws_ss_event_helper(h, LWSSSCS_SERVER_TXN)) + /* was destroyed */ + return -1; + + return 0; +#endif + default: break; } @@ -631,7 +757,7 @@ secstream_connect_munge_h1(lws_ss_handle_t *h, char *buf, size_t len, const struct ss_pcols ss_pcol_h1 = { "h1", "http/1.1", - "lws-secstream-h1", + &protocol_secstream_h1, secstream_connect_munge_h1, NULL }; diff --git a/lib/secure-streams/protocols/ss-h2.c b/lib/secure-streams/protocols/ss-h2.c index 3158df50a..0dae22740 100644 --- a/lib/secure-streams/protocols/ss-h2.c +++ b/lib/secure-streams/protocols/ss-h2.c @@ -198,7 +198,7 @@ secstream_tx_credit_est_h2(lws_ss_handle_t *h) const struct ss_pcols ss_pcol_h2 = { "h2", NULL, - "lws-secstream-h2", + &protocol_secstream_h2, secstream_connect_munge_h2, secstream_tx_credit_add_h2, secstream_tx_credit_est_h2 diff --git a/lib/secure-streams/protocols/ss-mqtt.c b/lib/secure-streams/protocols/ss-mqtt.c index 66dc39fb1..e3c912c04 100644 --- a/lib/secure-streams/protocols/ss-mqtt.c +++ b/lib/secure-streams/protocols/ss-mqtt.c @@ -345,6 +345,6 @@ secstream_connect_munge_mqtt(lws_ss_handle_t *h, char *buf, size_t len, const struct ss_pcols ss_pcol_mqtt = { "MQTT", "x-amzn-mqtt-ca", //"mqtt/3.1.1", - "lws-secstream-mqtt", + &protocol_secstream_mqtt, secstream_connect_munge_mqtt }; diff --git a/lib/secure-streams/protocols/ss-raw.c b/lib/secure-streams/protocols/ss-raw.c index fc0d5b91a..604883e63 100644 --- a/lib/secure-streams/protocols/ss-raw.c +++ b/lib/secure-streams/protocols/ss-raw.c @@ -155,7 +155,7 @@ const struct lws_protocols protocol_secstream_raw = { const struct ss_pcols ss_pcol_raw = { "raw", "", - "lws-secstream-raw", + &protocol_secstream_raw, secstream_connect_munge_raw, NULL }; diff --git a/lib/secure-streams/protocols/ss-ws.c b/lib/secure-streams/protocols/ss-ws.c index 0c612d462..96b8a72c8 100644 --- a/lib/secure-streams/protocols/ss-ws.c +++ b/lib/secure-streams/protocols/ss-ws.c @@ -30,7 +30,7 @@ secstream_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, { lws_ss_handle_t *h = (lws_ss_handle_t *)lws_get_opaque_user_data(wsi); uint8_t buf[LWS_PRE + 1400]; - int f = 0, f1; + int f = 0, f1, n; size_t buflen; switch (reason) { @@ -50,6 +50,7 @@ secstream_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, /* may have been destroyed */ break; + case LWS_CALLBACK_CLOSED: /* server */ case LWS_CALLBACK_CLIENT_CLOSED: if (!h) break; @@ -61,12 +62,19 @@ secstream_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, lws_set_opaque_user_data(h->wsi, NULL); h->wsi = NULL; - if (h->policy && !(h->policy->flags & LWSSSPOLF_OPPORTUNISTIC) && - !h->txn_ok && !wsi->a.context->being_destroyed) - lws_ss_backoff(h); + if (reason == LWS_CALLBACK_CLIENT_CLOSED) { + if (h->policy && + !(h->policy->flags & LWSSSPOLF_OPPORTUNISTIC) && +#if defined(LWS_WITH_SERVER) + !(h->info.flags & LWSSSINFLAGS_ACCEPTED) && /* not server */ +#endif + !h->txn_ok && !wsi->a.context->being_destroyed) + lws_ss_backoff(h); + } /* may have been destroyed */ break; + case LWS_CALLBACK_ESTABLISHED: case LWS_CALLBACK_CLIENT_ESTABLISHED: h->retry = 0; h->seqstate = SSSEQ_CONNECTED; @@ -75,6 +83,7 @@ secstream_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, return -1; break; + case LWS_CALLBACK_RECEIVE: case LWS_CALLBACK_CLIENT_RECEIVE: // lwsl_user("LWS_CALLBACK_CLIENT_RECEIVE: read %d\n", (int)len); if (!h || !h->info.rx) @@ -92,10 +101,11 @@ secstream_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, return 0; /* don't passthru */ + case LWS_CALLBACK_SERVER_WRITEABLE: case LWS_CALLBACK_CLIENT_WRITEABLE: + // lwsl_notice("%s: ss %p: WRITEABLE\n", __func__, h); if (!h || !h->info.tx) return 0; - // lwsl_notice("%s: ss %p: WRITEABLE\n", __func__, h); if (h->seqstate != SSSEQ_CONNECTED) { lwsl_warn("%s: seqstate %d\n", __func__, h->seqstate); @@ -103,8 +113,10 @@ secstream_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, } buflen = sizeof(buf) - LWS_PRE; - switch(h->info.tx(ss_to_userobj(h), h->txord++, buf + LWS_PRE, - &buflen, &f)) { + n = h->info.tx(ss_to_userobj(h), h->txord++, buf + LWS_PRE, + &buflen, &f); + + switch (n) { case LWSSSSRET_DISCONNECT_ME: lwsl_debug("%s: tx handler asked to close conn\n", __func__); return -1; /* close connection */ @@ -128,8 +140,11 @@ secstream_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, !!(f & LWSSS_FLAG_SOM), !!(f & LWSSS_FLAG_EOM)); - if (lws_write(wsi, buf + LWS_PRE, buflen, f1) < (int)buflen) { - lwsl_info("%s: write failed\n", __func__); + n = lws_write(wsi, buf + LWS_PRE, buflen, f1); + if (n < (int)buflen) { + lwsl_info("%s: write failed %d %d\n", __func__, + n, (int)buflen); + return -1; } @@ -197,5 +212,5 @@ secstream_connect_munge_ws(lws_ss_handle_t *h, char *buf, size_t len, } const struct ss_pcols ss_pcol_ws = { - "ws", "http/1.1", "lws-secstream-ws", secstream_connect_munge_ws + "ws", "http/1.1", &protocol_secstream_ws, secstream_connect_munge_ws }; diff --git a/lib/secure-streams/secure-streams.c b/lib/secure-streams/secure-streams.c index 48dda68e4..24fe673ea 100644 --- a/lib/secure-streams/secure-streams.c +++ b/lib/secure-streams/secure-streams.c @@ -64,6 +64,8 @@ static const char *state_names[] = { "LWSSSCS_QOS_ACK_LOCAL", "LWSSSCS_QOS_NACK_LOCAL", "LWSSSCS_TIMEOUT", + "LWSSSCS_SERVER_TXN", + "LWSSSCS_SERVER_UPGRADE", }; const char * @@ -93,6 +95,7 @@ lws_ss_event_helper(lws_ss_handle_t *h, lws_ss_constate_t cs) (void *)h, NULL); #endif +#if 0 if (h->h_sink && h->h_sink->info.state) { n = h->h_sink->info.state(h->sink_obj, h->h_sink, cs, 0); if (n) { @@ -105,9 +108,15 @@ lws_ss_event_helper(lws_ss_handle_t *h, lws_ss_constate_t cs) } } } +#endif if (h->info.state) { n = h->info.state(ss_to_userobj(h), NULL, cs, 0); +#if defined(LWS_WITH_SERVER) + if ((h->info.flags & LWSSSINFLAGS_ACCEPTED) && + cs == LWSSSCS_DISCONNECTED) + n = LWSSSSRET_DESTROY_ME; +#endif if (n) { if (cs == LWSSSCS_CREATING) /* just let caller handle it */ @@ -321,8 +330,8 @@ _lws_ss_client_connect(lws_ss_handle_t *h, int is_retry) * We are already bound to a sink? */ - if (h->h_sink) - return 0; +// if (h->h_sink) +// return 0; if (!is_retry) h->retry = 0; @@ -405,15 +414,16 @@ _lws_ss_client_connect(lws_ss_handle_t *h, int is_retry) lwsl_info("%s: using tls\n", __func__); i.ssl_connection = LCCSCF_USE_SSL; - if (!h->policy->trust_store) + if (!h->policy->trust.store) lwsl_info("%s: using platform trust store\n", __func__); else { i.vhost = lws_get_vhost_by_name(h->context, - h->policy->trust_store->name); + h->policy->trust.store->name); if (!i.vhost) { lwsl_err("%s: missing vh for policy %s\n", - __func__, h->policy->trust_store->name); + __func__, + h->policy->trust.store->name); return -1; } @@ -450,7 +460,7 @@ _lws_ss_client_connect(lws_ss_handle_t *h, int is_retry) * the protocol-specific munge callback below if not http */ i.method = h->policy->u.http.method; - i.protocol = ssp->protocol_name; /* lws protocol name */ + i.protocol = ssp->protocol->name; /* lws protocol name */ i.local_protocol_name = i.protocol; if (ssp->munge) /* eg, raw doesn't use; endpoint strexp already done */ @@ -458,8 +468,10 @@ _lws_ss_client_connect(lws_ss_handle_t *h, int is_retry) i.pwsi = &h->wsi; +#if defined(LWS_WITH_SSPLUGINS) if (h->policy->plugins[0] && h->policy->plugins[0]->munge) h->policy->plugins[0]->munge(h, path, sizeof(path)); +#endif lwsl_info("%s: connecting %s, '%s' '%s' %s\n", __func__, i.method, i.alpn, i.address, i.path); @@ -557,10 +569,12 @@ lws_ss_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi, */ size = sizeof(*h) + ssi->user_alloc + strlen(ssi->streamtype) + 1; +#if defined(LWS_WITH_SSPLUGINS) if (pol->plugins[0]) size += pol->plugins[0]->alloc; if (pol->plugins[1]) size += pol->plugins[1]->alloc; +#endif size += pol->metadata_count * sizeof(lws_ss_metadata_t); h = lws_zalloc(size, __func__); @@ -586,6 +600,7 @@ lws_ss_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi, p += ssi->user_alloc; +#if defined(LWS_WITH_SSPLUGINS) if (pol->plugins[0]) { h->nauthi = p; p += pol->plugins[0]->alloc; @@ -594,6 +609,7 @@ lws_ss_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi, h->sauthi = p; p += pol->plugins[1]->alloc; } +#endif if (pol->metadata_count) { h->metadata = (lws_ss_metadata_t *)p; @@ -614,6 +630,9 @@ lws_ss_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi, } memcpy(p, ssi->streamtype, strlen(ssi->streamtype) + 1); + /* don't mark accepted ss as being the server */ + if (ssi->flags & LWSSSINFLAGS_SERVER) + h->info.flags &= ~LWSSSINFLAGS_SERVER; h->info.streamtype = p; lws_pt_lock(pt, __func__); @@ -626,6 +645,12 @@ lws_ss_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi, if (ppayload_fmt) *ppayload_fmt = pol->payload_fmt; + if (ssi->flags & LWSSSINFLAGS_SERVER) + /* + * return early for accepted connection flow + */ + return 0; + #if defined(LWS_WITH_SYS_SMD) /* * For a local Secure Streams connection @@ -653,11 +678,72 @@ lws_ss_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi, } #endif - if (ssi->flags & LWSSSINFLAGS_REGISTER_SINK) { +#if defined(LWS_WITH_SERVER) + if (h->policy->flags & LWSSSPOLF_SERVER) { + const struct lws_protocols *pprot[3], **ppp = &pprot[0]; + struct lws_context_creation_info i; + struct lws_vhost *vho; + + lwsl_info("%s: creating server\n", __func__); + /* - * + * This streamtype represents a server, we're being asked to + * instantiate a corresponding vhost for it */ + + memset(&i, 0, sizeof i); + + i.iface = h->policy->endpoint; + i.vhost_name = h->policy->streamtype; + i.port = h->policy->port; + + if (!ss_pcols[h->policy->protocol]) { + lwsl_err("%s: unsupp protocol", __func__); + goto late_bail; + } + + *ppp++ = ss_pcols[h->policy->protocol]->protocol; +#if defined(LWS_ROLE_WS) + if (h->policy->u.http.u.ws.subprotocol) + /* + * He names a ws subprotocol, ie, we want to support + * ss-ws protocol in this vhost + */ + *ppp++ = &protocol_secstream_ws; +#endif + *ppp = NULL; + i.pprotocols = pprot; + + if (h->policy->flags & LWSSSPOLF_TLS) { + i.options |= LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + i.server_ssl_cert_mem = + h->policy->trust.server.cert->ca_der; + i.server_ssl_cert_mem_len = (unsigned int) + h->policy->trust.server.cert->ca_der_len; + i.server_ssl_private_key_mem = + h->policy->trust.server.key->ca_der; + i.server_ssl_private_key_mem_len = (unsigned int) + h->policy->trust.server.key->ca_der_len; + } + + vho = lws_create_vhost(context, &i); + if (!vho) { + lwsl_err("%s: failed to create vh", __func__); + goto late_bail; + } + + /* + * Mark this vhost as having to apply ss server semantics to + * any incoming accepted connection + */ + vho->ss_handle = h; + + lwsl_notice("%s: created server %s\n", __func__, + h->policy->streamtype); + + return 0; } +#endif #if defined(LWS_WITH_SECURE_STREAMS_STATIC_POLICY_ONLY) @@ -777,6 +863,21 @@ lws_ss_destroy(lws_ss_handle_t **ppss) lws_ss_policy_unref_trust_store(h->context, h->policy); #endif +#if defined(LWS_WITH_SERVER) + if (h->policy->flags & LWSSSPOLF_SERVER) { + struct lws_vhost *v = lws_get_vhost_by_name(h->context, + h->policy->streamtype); + + /* + * For server, the policy describes a vhost that implements the + * server, when we take down the ss, we take down the related + * vhost (if it got that far) + */ + if (v) + lws_vhost_destroy(v); + } +#endif + /* confirm no sul left scheduled in handle or user allocation object */ lws_sul_debug_zombies(h->context, h, sizeof(*h) + h->info.user_alloc, __func__); @@ -784,12 +885,19 @@ lws_ss_destroy(lws_ss_handle_t **ppss) lws_free_set_NULL(h); } +void +lws_ss_server_ack(struct lws_ss_handle *h, int nack) +{ + h->txn_resp = nack; + h->txn_resp_set = 1; +} + void lws_ss_request_tx(lws_ss_handle_t *h) { int n; - lwsl_info("%s: wsi %p\n", __func__, h->wsi); + // lwsl_notice("%s: h %p, wsi %p\n", __func__, h, h->wsi); if (h->wsi) { lws_callback_on_writable(h->wsi); @@ -797,6 +905,10 @@ lws_ss_request_tx(lws_ss_handle_t *h) return; } + /* + * there's currently no wsi / connection associated with the ss handle + */ + #if defined(LWS_WITH_SYS_SMD) if (h->policy == &pol_smd) { /* diff --git a/lib/tls/openssl/openssl-ssl.c b/lib/tls/openssl/openssl-ssl.c index 2392822e7..00e5e62f1 100644 --- a/lib/tls/openssl/openssl-ssl.c +++ b/lib/tls/openssl/openssl-ssl.c @@ -59,6 +59,8 @@ int lws_ssl_get_error(struct lws *wsi, int n) m = SSL_get_error(wsi->tls.ssl, n); lwsl_debug("%s: %p %d -> %d (errno %d)\n", __func__, wsi->tls.ssl, n, m, errno); + if (m == SSL_ERROR_SSL) + lws_tls_err_describe_clear(); // assert (errno != 9); diff --git a/minimal-examples/secure-streams/minimal-secure-streams-policy2c/minimal-secure-streams.c b/minimal-examples/secure-streams/minimal-secure-streams-policy2c/minimal-secure-streams.c index 272f02854..f45f4a95a 100644 --- a/minimal-examples/secure-streams/minimal-secure-streams-policy2c/minimal-secure-streams.c +++ b/minimal-examples/secure-streams/minimal-secure-streams-policy2c/minimal-secure-streams.c @@ -256,10 +256,10 @@ int main(int argc, const char **argv) * How about his trust store, it's new to us? */ - if (pol->trust_store) { + if (pol->trust.store) { a = trustmap; while (a) { - if (a->orig == (const char *)pol->trust_store) + if (a->orig == (const char *)pol->trust.store) break; a = a->next; @@ -274,7 +274,7 @@ int main(int argc, const char **argv) goto bail; a->next = trustmap; a->offset = 0; /* don't care, just track seen */ - a->orig = (const char *)pol->trust_store; + a->orig = (const char *)pol->trust.store; trustmap = a; /* @@ -282,12 +282,12 @@ int main(int argc, const char **argv) * any that're new to us? */ - for (n = 0; n < pol->trust_store->count; n++) { - if (!pol->trust_store->ssx509[n]) + for (n = 0; n < pol->trust.store->count; n++) { + if (!pol->trust.store->ssx509[n]) continue; a1 = certmap; while (a1) { - if (a1->orig == (const char *)pol->trust_store->ssx509[n]) + if (a1->orig == (const char *)pol->trust.store->ssx509[n]) break; a1 = a1->next; } @@ -303,48 +303,48 @@ int main(int argc, const char **argv) goto bail; a1->next = certmap; a1->offset = 0; /* don't care, just track seen */ - a1->orig = (const char *)pol->trust_store->ssx509[n]; + a1->orig = (const char *)pol->trust.store->ssx509[n]; certmap = a1; printf("static const uint8_t _ss_der_%s[] = {\n", - purify_csymbol(pol->trust_store->ssx509[n]->vhost_name, + purify_csymbol(pol->trust.store->ssx509[n]->vhost_name, buf, sizeof(buf))); - for (m = 0; m < (int)pol->trust_store->ssx509[n]->ca_der_len; m++) { + for (m = 0; m < (int)pol->trust.store->ssx509[n]->ca_der_len; m++) { if ((m & 7) == 0) printf("\t/* 0x%3x */ ", m); - printf("0x%02X, ", pol->trust_store->ssx509[n]->ca_der[m]); + printf("0x%02X, ", pol->trust.store->ssx509[n]->ca_der[m]); if ((m & 7) == 7) printf("\n"); } printf("\n};\nstatic const lws_ss_x509_t _ss_x509_%s = {\n", - purify_csymbol(pol->trust_store->ssx509[n]->vhost_name, + purify_csymbol(pol->trust.store->ssx509[n]->vhost_name, buf, sizeof(buf))); - printf("\t.vhost_name = \"%s\",\n", pol->trust_store->ssx509[n]->vhost_name); + printf("\t.vhost_name = \"%s\",\n", pol->trust.store->ssx509[n]->vhost_name); printf("\t.ca_der = _ss_der_%s,\n", - purify_csymbol(pol->trust_store->ssx509[n]->vhost_name, + purify_csymbol(pol->trust.store->ssx509[n]->vhost_name, buf, sizeof(buf))); - printf("\t.ca_der_len = %zu,\n", pol->trust_store->ssx509[n]->ca_der_len); + printf("\t.ca_der_len = %zu,\n", pol->trust.store->ssx509[n]->ca_der_len); printf("};\n"); - est += sizeof(lws_ss_x509_t) + pol->trust_store->ssx509[n]->ca_der_len; + est += sizeof(lws_ss_x509_t) + pol->trust.store->ssx509[n]->ca_der_len; } } printf("static const lws_ss_trust_store_t _ss_ts_%s = {\n", - purify_csymbol(pol->trust_store->name, + purify_csymbol(pol->trust.store->name, buf, sizeof(buf))); - printf("\t.name = \"%s\",\n", pol->trust_store->name); + printf("\t.name = \"%s\",\n", pol->trust.store->name); printf("\t.ssx509 = {\n"); - for (n = pol->trust_store->count - 1; n >= 0 ; n--) + for (n = pol->trust.store->count - 1; n >= 0 ; n--) printf("\t\t&_ss_x509_%s,\n", - pol->trust_store->ssx509[n]->vhost_name); + pol->trust.store->ssx509[n]->vhost_name); printf("\t}\n};\n"); @@ -532,9 +532,10 @@ int main(int argc, const char **argv) if (pol->client_cert) printf("\t.client_cert = %u,\n", pol->client_cert); - if (pol->trust_store) - printf("\t.trust_store = &_ss_ts_%s,\n", - purify_csymbol(pol->trust_store->name, buf, sizeof(buf))); + if (pol->trust.store) + printf("\t.trust = {.store = &_ss_ts_%s},\n", + purify_csymbol(pol->trust.store->name, + buf, sizeof(buf))); printf("}"); diff --git a/minimal-examples/secure-streams/minimal-secure-streams-sink/CMakeLists.txt b/minimal-examples/secure-streams/minimal-secure-streams-server/CMakeLists.txt similarity index 74% rename from minimal-examples/secure-streams/minimal-secure-streams-sink/CMakeLists.txt rename to minimal-examples/secure-streams/minimal-secure-streams-server/CMakeLists.txt index 0725d601e..a2170a6d4 100644 --- a/minimal-examples/secure-streams/minimal-secure-streams-sink/CMakeLists.txt +++ b/minimal-examples/secure-streams/minimal-secure-streams-server/CMakeLists.txt @@ -1,16 +1,17 @@ -project(lws-minimal-secure-streams-sink C) +project(lws-minimal-secure-streams-server C) cmake_minimum_required(VERSION 2.8) find_package(libwebsockets CONFIG REQUIRED) list(APPEND CMAKE_MODULE_PATH ${LWS_CMAKE_DIR}) include(CheckCSourceCompiles) include(LwsCheckRequirements) -set(SAMP lws-minimal-secure-streams-sink) -set(SRCS main.c) +set(SAMP lws-minimal-secure-streams-server) +set(SRCS main.c ss-client.c ss-server.c) set(requirements 1) require_lws_config(LWS_ROLE_H1 1 requirements) -require_lws_config(LWS_WITHOUT_CLIENT 0 requirements) +require_lws_config(LWS_WITH_CLIENT 1 requirements) +require_lws_config(LWS_WITH_SERVER 1 requirements) require_lws_config(LWS_WITH_SECURE_STREAMS 1 requirements) require_lws_config(LWS_WITH_SECURE_STREAMS_STATIC_POLICY_ONLY 0 requirements) diff --git a/minimal-examples/secure-streams/minimal-secure-streams-server/README.md b/minimal-examples/secure-streams/minimal-secure-streams-server/README.md new file mode 100644 index 000000000..6e98f1180 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-server/README.md @@ -0,0 +1,72 @@ +# lws minimal secure streams server + +The application sets up a tls + ws server on https://localhost:7681 + +It does it using Secure Streams... information about how the server should +operate is held in JSON policy in main.c + +Visiting the server in a modern browser will fetch some html + JS, the JS will +create a ws link back to the server and the server will spam an incrementing +number that is displayed in the browser every 100ms. + +The app also has a SS client that works, but it's disabled by default since +we're interested in server. + +## build + +``` + $ cmake . && make +``` + +## usage + +Commandline option|Meaning +---|--- +-d |Debug verbosity in decimal, eg, -d15 + +``` +[2020/07/27 10:51:04:8994] U: LWS Secure Streams Server +[2020/07/27 10:51:04:9440] N: LWS: 4.0.99-v4.0.0-245-ge6eb4417a, loglevel 1031 +[2020/07/27 10:51:04:9444] N: NET CLI SRV H1 H2 WS MQTT SS-JSON-POL SSPROX ASYNC_DNS IPv6-absent +[2020/07/27 10:51:05:1685] N: lws_adopt_descriptor_vhost2: wsi 0x5317d30, vhost system ss_handle (nil) +[2020/07/27 10:51:05:1753] N: lws_adopt_descriptor_vhost2: wsi 0x53182c0, vhost system ss_handle (nil) +[2020/07/27 10:51:05:2129] N: lws_ss_policy_parser_cb: server 'self_localhost' keep 52 0x5318cc0 +[2020/07/27 10:51:05:2134] N: lws_ss_policy_parser_cb: server 'self_localhost_key' keep 53 0x5318cf8 +[2020/07/27 10:51:05:2192] N: lws_ss_policy_ref_trust_store: le_via_isrg trust store initial 'isrg_root_x1' +[2020/07/27 10:51:05:7804] N: smd_cb: creating server stream +[2020/07/27 10:51:05:7851] N: Vhost 'myserver' using TLS mode +[2020/07/27 10:51:05:8660] N: SSL ECDH curve 'prime256v1' +[2020/07/27 10:51:06:1035] N: vhost myserver: cert expiry: 729599d +[2020/07/27 10:51:06:1039] N: lws_ss_create: created server myserver +[2020/07/27 10:51:11:8650] N: lws_adopt_descriptor_vhost2: wsi 0x5b046e0, vhost myserver ss_handle 0x56e2be0 +[2020/07/27 10:51:11:8672] U: myss_srv_state: 0x5b52f60 LWSSSCS_CREATING, ord 0x0 +[2020/07/27 10:51:11:8693] U: myss_srv_state: 0x5b52f60 LWSSSCS_CONNECTING, ord 0x0 +[2020/07/27 10:51:11:8696] U: myss_srv_state: 0x5b52f60 LWSSSCS_CONNECTED, ord 0x0 +[2020/07/27 10:51:11:9743] U: myss_srv_state: 0x5ba2bd0 LWSSSCS_CREATING, ord 0x0 +[2020/07/27 10:51:11:9747] U: myss_srv_state: 0x5ba2bd0 LWSSSCS_CONNECTING, ord 0x0 +[2020/07/27 10:51:11:9747] U: myss_srv_state: 0x5ba2bd0 LWSSSCS_CONNECTED, ord 0x0 +[2020/07/27 10:51:12:0192] U: myss_srv_state: 0x5bad0a0 LWSSSCS_CREATING, ord 0x0 +[2020/07/27 10:51:12:0193] U: myss_srv_state: 0x5bad0a0 LWSSSCS_CONNECTING, ord 0x0 +[2020/07/27 10:51:12:0194] U: myss_srv_state: 0x5bad0a0 LWSSSCS_CONNECTED, ord 0x0 +[2020/07/27 10:51:12:0306] N: secstream_h1: LWS_CALLBACK_HTTP +[2020/07/27 10:51:12:0329] U: myss_srv_state: 0x5bad0a0 LWSSSCS_SERVER_TXN, ord 0x0 +[2020/07/27 10:51:12:0481] N: lws_h2_ws_handshake: Server SS 0x5ba2bd0 .wsi 0x5ba27b0 switching to ws protocol +[2020/07/27 10:51:12:0484] U: myss_srv_state: 0x5ba2bd0 LWSSSCS_SERVER_UPGRADE, ord 0x0 +[2020/07/27 10:51:12:0541] U: myss_srv_state: 0x5ba2bd0 LWSSSCS_CONNECTED, ord 0x0 +[2020/07/27 10:51:12:1222] U: myss_srv_state: 0x5bd1100 LWSSSCS_CREATING, ord 0x0 +[2020/07/27 10:51:12:1222] U: myss_srv_state: 0x5bd1100 LWSSSCS_CONNECTING, ord 0x0 +[2020/07/27 10:51:12:1223] U: myss_srv_state: 0x5bd1100 LWSSSCS_CONNECTED, ord 0x0 +[2020/07/27 10:51:12:1242] N: lws_h2_ws_handshake: Server SS 0x5bd1100 .wsi 0x5bd0ce0 switching to ws protocol +[2020/07/27 10:51:12:1243] U: myss_srv_state: 0x5bd1100 LWSSSCS_SERVER_UPGRADE, ord 0x0 +[2020/07/27 10:51:12:1246] U: myss_srv_state: 0x5bd1100 LWSSSCS_CONNECTED, ord 0x0 +^C[2020/07/27 10:51:15:2809] U: myss_srv_state: 0x5bad0a0 LWSSSCS_DISCONNECTED, ord 0x0 +[2020/07/27 10:51:15:2838] U: myss_srv_state: 0x5bad0a0 LWSSSCS_DESTROYING, ord 0x0 +[2020/07/27 10:51:15:2938] U: myss_srv_state: 0x5ba2bd0 LWSSSCS_DISCONNECTED, ord 0x0 +[2020/07/27 10:51:15:2946] U: myss_srv_state: 0x5ba2bd0 LWSSSCS_DESTROYING, ord 0x0 +[2020/07/27 10:51:15:2952] U: myss_srv_state: 0x5bd1100 LWSSSCS_DISCONNECTED, ord 0x0 +[2020/07/27 10:51:15:2953] U: myss_srv_state: 0x5bd1100 LWSSSCS_DESTROYING, ord 0x0 +[2020/07/27 10:51:15:2960] U: myss_srv_state: 0x5b52f60 LWSSSCS_DISCONNECTED, ord 0x0 +[2020/07/27 10:51:15:2961] U: myss_srv_state: 0x5b52f60 LWSSSCS_DESTROYING, ord 0x0 +[2020/07/27 10:51:15:3042] U: myss_srv_state: 0x56e2be0 LWSSSCS_DESTROYING, ord 0x0 +[2020/07/27 10:51:15:3378] U: Completed: OK +``` diff --git a/minimal-examples/secure-streams/minimal-secure-streams-server/main.c b/minimal-examples/secure-streams/minimal-secure-streams-server/main.c new file mode 100644 index 000000000..78363e7b6 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-server/main.c @@ -0,0 +1,332 @@ +/* + * lws-minimal-secure-streams-server + * + * Written in 2010-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + */ + +#include +#include +#include + +extern const lws_ss_info_t ssi_client, ssi_server; + +static struct lws_context *context; +int interrupted, bad = 1; +static const char * const default_ss_policy = + "{" + "\"release\":" "\"01234567\"," + "\"product\":" "\"myproduct\"," + "\"schema-version\":" "1," + "\"retry\": [" /* named backoff / retry strategies */ + "{\"default\": {" + "\"backoff\": [" "1000," + "2000," + "3000," + "5000," + "10000" + "]," + "\"conceal\":" "5," + "\"jitterpc\":" "20," + "\"svalidping\":" "300," + "\"svalidhup\":" "310" + "}}" + "]," + "\"certs\": [" /* named individual certificates in BASE64 DER */ + /* + * Need to be in order from root cert... notice sometimes as + * with Let's Encrypt there are multiple possible validation + * paths, all the pieces for one validation path must be + * given, excluding the server cert itself. Let's Encrypt + * intermediate is signed by their ISRG Root CA but also is + * cross-signed by an IdenTrust intermediate that's widely + * deployed in browsers. We use the ISRG path because that + * way we can skip the extra IdenTrust root cert. + */ + "{\"isrg_root_x1\": \"" /* ISRG ROOT X1 */ + "MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4" + "WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu" + "ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY" + "MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc" + "h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+" + "0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U" + "A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW" + "T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH" + "B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC" + "B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv" + "KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn" + "OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn" + "jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw" + "qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI" + "rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV" + "HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq" + "hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL" + "ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ" + "3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK" + "NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5" + "ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur" + "TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC" + "jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc" + "oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq" + "4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA" + "mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d" + "emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=" + "\"}," + "{\"LEX3_isrg_root_x1\": \"" /* LE X3 signed by ISRG X1 root */ + "MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1" + "WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg" + "RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi" + "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX" + "NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf" + "89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl" + "Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc" + "Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz" + "uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB" + "AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU" + "BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB" + "FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo" + "SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js" + "LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF" + "BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG" + "AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD" + "VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB" + "ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx" + "A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM" + "UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2" + "DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1" + "eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu" + "OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw" + "p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY" + "2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0" + "ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR" + "PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b" + "rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt" + "\"}," + /* + * a selfsigned cert for localhost for 100 years + */ + "{\"self_localhost\": \"" + "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" + "e2Hl/7M0c/lbZ4FvXgARlex2rkgS0Ka06HE=" + "\"}," + /* + * the private key for above + */ + "{\"self_localhost_key\": \"" + "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" + "fBrpEY1IATtPq1taBZZogRqI3rOkkPk=" + "\"}" + "]," + "\"trust_stores\": [" /* named cert chains */ + "{" + "\"name\": \"le_via_isrg\"," + "\"stack\": [" + "\"isrg_root_x1\"," + "\"LEX3_isrg_root_x1\"" + "]" + "}" + "]," + "\"s\": [" + /* + * Client streamtypes + */ + + "{\"mintest\": {" + "\"endpoint\":" "\"warmcat.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h2\"," + "\"http_method\":" "\"GET\"," + "\"http_url\":" "\"index.html\"," + "\"tls\":" "true," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"le_via_isrg\"" + "}}," + + /* + * This streamtype represents an h2 server listening on :7681, + * using a 100-y self-signed tls cert + */ + + "{\"myserver\": {" + /* if given, "endpoint" is network if to bind to */ + "\"server\":" "true," + "\"port\":" "7681," + "\"protocol\":" "\"h1\"," + "\"metadata\": [{" + "\"mime\": \"Content-Type:\"," + "\"method\": \"\"," + "\"path\": \"\"" + "}]," + "\"tls\":" "true," + /* + * A ws server is an http server, if you give a + * ws_subprotocol here it's understood we also serve + * that ove ws or wss according to tls + */ + "\"ws_subprotocol\":" "\"mywsprotocol\"," + "\"server_cert\":" "\"self_localhost\"," + "\"server_key\":" "\"self_localhost_key\"" + "}}," + + "]" + "}" +; + +static int +smd_cb(void *opaque, lws_smd_class_t c, lws_usec_t ts, void *buf, size_t len) +{ + if ((c & LWSSMDCL_SYSTEM_STATE) && + !lws_json_simple_strcmp(buf, len, "\"state\":", "OPERATIONAL")) { + + /* create the secure streams */ + + lwsl_notice("%s: creating server stream\n", __func__); + + if (lws_ss_create(context, 0, &ssi_server, NULL, NULL, + NULL, NULL)) { + lwsl_err("%s: failed to create secure stream\n", + __func__); + return -1; + } +#if 0 + lwsl_notice("%s: creating client stream\n", __func__); + + if (lws_ss_create(context, 0, &ssi_client, NULL, NULL, + NULL, NULL)) { + lwsl_err("%s: failed to create secure stream\n", + __func__); + return -1; + } +#endif + } + + return 0; +} + +static void +sigint_handler(int sig) +{ + interrupted = 1; +} + +int main(int argc, const char **argv) +{ + struct lws_context_creation_info info; + int n = 0; + + signal(SIGINT, sigint_handler); + + memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */ + lws_cmdline_option_handle_builtin(argc, argv, &info); + lwsl_user("LWS Secure Streams Server\n"); + + info.options = LWS_SERVER_OPTION_EXPLICIT_VHOSTS | + LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + info.fd_limit_per_thread = 1 + 6 + 1; + info.pss_policies_json = default_ss_policy; + info.port = CONTEXT_PORT_NO_LISTEN; + info.early_smd_cb = smd_cb; + info.early_smd_class_filter = LWSSMDCL_SYSTEM_STATE; + + context = lws_create_context(&info); + if (!context) { + lwsl_err("lws init failed\n"); + return 1; + } + + /* the event loop */ + + while (n >= 0 && !interrupted) + n = lws_service(context, 0); + + bad = 0; + + lws_context_destroy(context); + lwsl_user("Completed: %s\n", bad ? "failed" : "OK"); + + return bad; +} diff --git a/minimal-examples/secure-streams/minimal-secure-streams-server/ss-client.c b/minimal-examples/secure-streams/minimal-secure-streams-server/ss-client.c new file mode 100644 index 000000000..f1d262442 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-server/ss-client.c @@ -0,0 +1,86 @@ +/* + * lws-minimal-secure-streams-server + * + * Written in 2010-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + */ + +#include + +extern int interrupted, bad; + +typedef struct myss { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + lws_sorted_usec_list_t sul; + + int count; +} myss_t; + +/* secure streams payload interface */ + +static int +myss_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ +// myss_t *m = (myss_t *)userobj; + + lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); + lwsl_hexdump_info(buf, len); + + /* + * If we received the whole message, for our example it means + * we are done. + */ + if (flags & LWSSS_FLAG_EOM) { + bad = 0; + interrupted = 1; + } + + return 0; +} + +static int +myss_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len, + int *flags) +{ + //myss_t *m = (myss_t *)userobj; + + return LWSSSSRET_TX_DONT_SEND; /* don't want to write */ +} + +static int +myss_state(void *userobj, void *sh, lws_ss_constate_t state, + lws_ss_tx_ordinal_t ack) +{ + myss_t *m = (myss_t *)userobj; + + lwsl_user("%s: %p %s, ord 0x%x\n", __func__, m->ss, + lws_ss_state_name(state), (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + lws_ss_request_tx(m->ss); + break; + case LWSSSCS_ALL_RETRIES_FAILED: + /* if we're out of retries, we want to close the app and FAIL */ + interrupted = 1; + break; + default: + break; + } + + return 0; +} + +const lws_ss_info_t ssi_client = { + .handle_offset = offsetof(myss_t, ss), + .opaque_user_data_offset = offsetof(myss_t, opaque_data), + .streamtype = "mintest", + .rx = myss_rx, + .tx = myss_tx, + .state = myss_state, + .user_alloc = sizeof(myss_t), +}; diff --git a/minimal-examples/secure-streams/minimal-secure-streams-server/ss-server.c b/minimal-examples/secure-streams/minimal-secure-streams-server/ss-server.c new file mode 100644 index 000000000..716f3e101 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-server/ss-server.c @@ -0,0 +1,208 @@ +/* + * lws-minimal-secure-streams-server + * + * Written in 2010-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + */ + +#include +#include + +extern int interrupted, bad; + +static const char *html = + "" + "Hello from the web server
" + "