From b71c100caa85af54e589a067144c76c2f8cade67 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Tue, 23 Jan 2024 13:18:42 +0100 Subject: [PATCH] feat: Add pattern for Amazon VPC Lattice (#1846) --- docs/patterns/vpc-lattice.md | 7 + patterns/vpc-lattice/README.md | 14 ++ .../client-server-communication/README.md | 39 ++++ .../assets/diagram.png | Bin 0 -> 159372 bytes .../charts/demo-application/.helmignore | 23 ++ .../charts/demo-application/Chart.yaml | 5 + .../templates/deployment.yaml | 22 ++ .../templates/gateway-class.yaml | 6 + .../demo-application/templates/gateway.yaml | 11 + .../demo-application/templates/httproute.yaml | 20 ++ .../demo-application/templates/service.yaml | 11 + .../client-server-communication/client.tf | 102 +++++++++ .../client-server-communication/eks.tf | 197 ++++++++++++++++++ .../client-server-communication/lattice.tf | 42 ++++ .../client-server-communication/main.tf | 52 +++++ .../client-server-communication/outputs.tf | 4 + .../client-server-communication/variables.tf | 0 .../client-server-communication/versions.tf | 22 ++ 18 files changed, 577 insertions(+) create mode 100644 docs/patterns/vpc-lattice.md create mode 100644 patterns/vpc-lattice/README.md create mode 100644 patterns/vpc-lattice/client-server-communication/README.md create mode 100644 patterns/vpc-lattice/client-server-communication/assets/diagram.png create mode 100644 patterns/vpc-lattice/client-server-communication/charts/demo-application/.helmignore create mode 100644 patterns/vpc-lattice/client-server-communication/charts/demo-application/Chart.yaml create mode 100644 patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/deployment.yaml create mode 100644 patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway-class.yaml create mode 100644 patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway.yaml create mode 100644 patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/httproute.yaml create mode 100644 patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/service.yaml create mode 100644 patterns/vpc-lattice/client-server-communication/client.tf create mode 100644 patterns/vpc-lattice/client-server-communication/eks.tf create mode 100644 patterns/vpc-lattice/client-server-communication/lattice.tf create mode 100644 patterns/vpc-lattice/client-server-communication/main.tf create mode 100644 patterns/vpc-lattice/client-server-communication/outputs.tf create mode 100644 patterns/vpc-lattice/client-server-communication/variables.tf create mode 100644 patterns/vpc-lattice/client-server-communication/versions.tf diff --git a/docs/patterns/vpc-lattice.md b/docs/patterns/vpc-lattice.md new file mode 100644 index 0000000000..76cf5e399f --- /dev/null +++ b/docs/patterns/vpc-lattice.md @@ -0,0 +1,7 @@ +--- +title: Amazon VPC Lattice +--- + +{% + include-markdown "../../patterns/vpc-lattice/README.md" +%} diff --git a/patterns/vpc-lattice/README.md b/patterns/vpc-lattice/README.md new file mode 100644 index 0000000000..19cf4489b6 --- /dev/null +++ b/patterns/vpc-lattice/README.md @@ -0,0 +1,14 @@ +# Amazon VPC Lattice + +This folder contains use case-driven patterns covering different aspects of the Amazon VPC Lattice service. + +## Use cases + +- [Simple Client to Server Communication](./client-server-communication/) + + This pattern describes how to expose a simple API within an Amazon EKS cluster deployed in VPC A to a client application hosted in VPC B through Amazon VPC Lattice. + +## Supporting resources + +- [Documentation](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-lattice.html) +- [AWS Gateway API Controller](https://www.gateway-api-controller.eks.aws.dev/) diff --git a/patterns/vpc-lattice/client-server-communication/README.md b/patterns/vpc-lattice/client-server-communication/README.md new file mode 100644 index 0000000000..e79a725494 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/README.md @@ -0,0 +1,39 @@ +# Amazon VPC Lattice - Simple Client to Server Communication + +This pattern demonstrates how to expose an EKS cluster hosted application to an internal consumer through Amazon VPC Lattice. + +## Scenario + +With this soluton we showcase how to configure Amazon VPC Lattice using the AWS Gateway API Controller in order to manage Amazon VPC Lattice resources through native K8S Gateway API objects. This pattern deploys two distinct VPCs with a client application running in one of them and a server application in the other. The server application is deployed inside an EKS cluster and made exposed to the client application through Amazon VPC Lattice which establishes connectivity between the two applications. Further we demonstrate how to configure a custom domain name for the exposed service using Amazon Route53 and the external-dns project. + +![diagram](assets/diagram.png) + + +## Deploy + +See [here](https://aws-ia.github.io/terraform-aws-eks-blueprints/getting-started/#prerequisites) for the prerequisites and steps to deploy this pattern. + +## Validate + +In order to test the connectivty between the client and server, please follow the steps outlined below: + +1. Login to the management console of your AWS account and navigate to the EC2 service +2. Select your the EC2 Instance with the name **client**, click **Connect**, choose **Session Manager** and click **Connect** +3. Within the console test the connecvity to the server application by entering the following command: + + ```sh + $ curl -i http://server.example.com + HTTP/1.1 200 OK + date: Thu, 14 Dec 2023 08:29:39 GMT + content-length: 54 + content-type: text/plain; charset=utf-8 + + Requesting to Pod(server-6f487b9bcd-5qm4v): server pod + + ``` + +## Destroy + +{% + include-markdown "../../../docs/_partials/destroy.md" +%} diff --git a/patterns/vpc-lattice/client-server-communication/assets/diagram.png b/patterns/vpc-lattice/client-server-communication/assets/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..6cea6fd4892916092ff97b01fcc4acd121aa1028 GIT binary patch literal 159372 zcmeEu^;?u{*R~=cp&%eApwb~JAl*nQNJtJT$dChwNH>Z~gLIb?5(7iGA|;LFkVRaeth@)?0tNH!25&8feQEB_qx}$*168}T==Uf$z8^yz&m&D+~xc7(vQxa!B7H_CIeS83kCrLJ1g zzy02>_`;CqT zw(A}f_G>$NM>!=n<5do?yw71$pF58uaSr3kfBBNy43mYXYd(mV$@kyBPaES6Y7FPU zUEud+eQuCQBzAK>Rl4|(p9Q{EB60rKf4Pg_7dekJ6MJsTJ;cXe=$~%*$G1+2?ETx_ zN>I08UYWPQl-MWvpDX|G09=``y!bDnIfo(0=q-@)Mnc2|NWqUJmfRQb9Q1a9|dpz zTT+~}OLqIWz)^=i0r?<^-L?3~mH+pbAZ0H6d}bdJBInsCtqxt=TIdIjT+`hVE6!q6 zm+-s=eIgkMu7nZEw-ZDmoG{~$r;`r`sbD!KfcG={Vcb5YRzvY=_g=@7^O#01X6TmN znD%F@nxZ=Sl`CxtUP=_;JXH7cabn@R}B7F;P z#;;~Yk>bbQY~BC1*+RvC;UdAMn^N7$qQR%k5w|{ZrD!dkb=SJ?Sfai#rCi6=6J9Ne zAgy3|c6_)DpDXE8;z7-I7GEDU^zuLrKM9Rvd>B82*`5a}Ry;dBc{0D$mlayMKNV>I z%tq<0E=G-EX17~MEZ1CSf=z(KJ1?qdtu%{HH_|R958#BEWBke%2|tjehH0GQ5wFpS z;p2X#;&3UqlXpljVxyl}WVFQMiB7qVwN4q#;;cX|OQ~UcYg{6(Kw12xBu5LLjI=Hv z-x5tM=@z#hxof}pK4#>S9g{S8qS3pS{miR%fu%2o486v;7kV=~HujKaRQBDXdov~v zbZT5doZAx>hVFOctLk7rI62`S)l$F@e3-z;ZclMyDyzwn^P6y|r$1c)r z?&AeQHvY)!wW@Z5*8vppy2B5GbFoj_9-e_qbokc>lVNWwx=g<$QMz+Y@2R9rEj@$q zI%`2i!qq;k{7yGQq_IF2ZZS#dF_+YUHS!co^W9#|O4u|Tw zziOo`(Tm))Yb27DY9$a}3Cni*3b(S8Og}CiGDz4iLTvQXN^v!xzj)*E`eoaNQpyR`uqqXWmWiOCT9sXGI&De%g zH$9G4%Vo(o;(}oHhNjQ*7I)w8t=)7QE7IflINIgCrvF^EYMe<#>{_>FgJjQt>eJOb zpuS?%30%7T<7grjzI`SXFEK9T&(%-wOcb=|e!J+=Om3zf7?Txj#ATph7Uc|q`&Db=^b@6oMd|FX zhDLo2-ESr1?0@tgiBClPYt`!=;Lj}~4pQrJ%iR1&xAu0145?THme!@oQ|aVFO2nf# zPC9tHF_Y!6O9=g6**G)G|6d#i_)gTs4}J9Np~Kun(?YM2Vz^hBh`Jf?sYawW=(*H8_z%X^hJ(d z<+HXY^B?l5!d};|+%)Y@wmws0G->Cun`&%DE>GDnq`juV6*lTcKo$B5^o3c~ ztPCSk|3Lgl{kDacKZ=`%I5%xLe8^!KHKT&7X|`=wr6UzmblI(x~tMkGZv?sL}d zH@F`zX3e#8*57T9;Ur9~hrKI#A+sw9J~yC)dF9|M53856zOYNP)g?oZ9gS}uIYn)m zb02aG5Ic-|+1|x$umDNI8o(&`LNZC=H#TQmib$~L`yVZ6|jmT6Gy zx=TJ#{K2fr@X6=o2Av{>naxaHmc6 zDw)vR2qmE}iC(7%w}aIUhT95vUSmFk-f-h_n;pGLUy{4A^!+u}Emuz{Z{7A+g+VIA zXf9Q2GxdI6RlXVo<81D&$hf@o_uo~54$>BE+nX-4Yi9H$T;i_vNJ(Vu+%&a+*(pZF z#aqs)ad#~qiM>)&nNJjPK?ttbpt$)MAzz*^er0&%)m9gCj>`5s^CP)4s~JxE+$196 zZ_|Ejmj`mGpDCnXndG!rpgt(}*zT2+b&%&KZK3k2soZG5r*nu|HRJtCZI1aDu){-_ zUmrv2S3f~AlJ02}sa9-)ZJpo-W*c4#*Av+XOj??&7YIdE)`roQzvG_m3g{wyy1i70 z$nf_Pkt*lgL&Z;rTfa_&CU%KkYWc8gZ^F&G*-ZtFedOJ7+dE>ya$L;QXqbs1-$jmA ziY;8e$$by^=L0d!(y!U%ysPKF*_5fAA{Hkg^Jy>bXbBWTZk^Ugj8$t~xE||uM>Y!$ z4?jdu@Y^JYpS1!g*sAwhY#E}d4vRo{&PxP zr~%BrxR6NvqkiMP@W#aQ7d0ZUAf}xSPEwSYhk-Gs@}BRp$Lx#o8W+?v>+(?>VJnLW zOZhNzE@NrE(8EHEd}Yy{Nb)<6CBEe_w2E)F(wP=_@&yW)6g_E)r?jo%Dh$qZFj-Yw z*aYPzp61@GNXj{IDaGmLV0@4L+o8(cFUev`1V|kCW!sogH=NH-_H+|&lg5kgjoII` ze#&jf;YHQfkRs$@Sy`}CmwL3*CA`koLaWwfR?L<1Xtfw50qTnme$J4-Q&RqHc#b~3 z>KxrDOD#Xy*J29jSjms`|050j9)Oad0>3o>>u>(A;0_rJYpFBLtQiRdf4q&isqlCqvXP&m#JTi$#3(4AG+ zz5Zku|Ees5?1P?AT1D`e(K*l_@EhMXlo(BUDRDSAMr^Mj`^diUyu!nLO^O#hY%R&J zHkcofW@*PXng(-V*S4T}P9uVJa=y$9=QsEQY5sduBu)O9t(uV+ zS|uLYOKI9ojJcZZwpJ8<<5a~6naVZ_D)U(Ol}zz%zX{#Dd{OxH@Ta&afG(U;vuY2w zO^aGs$CzwAp>LT;5TYukb>b#;^h$m=w#*4wnkh}O)LZTEo5EuBp7~d66|S)J@9rD)o(njDt8lF zVxE-eXCSmk*z%(VfNrUx4SE9pvg;j+AK`1g-~%Z(jXOO#iV-eG;4nlU@l3pUmEB=T z3em4~cd3lgkg$JonU8r7MZJ6#d9ig*G)^V6ys-|f6R2avbDQ#ip4ej%XVCdj6bl>zlK^@GejIxc%1d_?L z^`KG=k*-<>F3^=0xmzypNOw+Xaud`WrL3o8g8jv3WH>pGr7lDHS(ir)ANP_`Jp6*W*R&US|$wG$Llo5fqY$T&7s)J{cFH1!V(hMePHm!QoA-q&GV8%o_24VDObdIl;$LrD>cP4#IgvtGs;JIIyI-`O|MO zViF2k^zQIio}U9M(RpiD!ZtoC5$C7bX4MH3@w`@wN4u*Rij5hZu@BlFu!Wt-iAiBB zgE92#s4RSS50S9>dPH=0_zA8xLBkw%x2IQh&B}G(<1y4HnuSE2)Ub`2Q1`$(1Z_Ch zTkgUa(iUgVrOfZJ{G9!iUd(a!j&fdVPnSi;+!T6VD3wCn5px#%B!p|kCF}v3Lm2#U zFK&W^o^5dqF`;5w%leqDIwuuX1E7y)4d=@+KgG#9j|)zH^b{!qt+cEfw#Og?uGc!f zCvN)|6MOCbzCFuH)-y$#T0=$(uYzO^mv}0#<4x!qrzjo5VQH+=K5kN&WqZZ&U9ZEg zn3ezBtVeBZ@_?QQzLBQ+mpcyDrEW^=wmK%q8=na~H@<&foy7A{LK7D4kZ%jMnQnV) zY4w!-S+F^TMM6}Yo*?#*1O=Rg7Y^X1n11n6L0n*fFW&Lrc@5Jyp}E58i}|ortGSZ9 z8sR00C2 z{gP_nRpUswiYVrQj69z@jsU68;6b`=^=g@EjJ{)0HJ`5(Mk-10*zzLTu|`>uw!%v- zyV*im_nq$5!lptKTc449UCGE&G?`RCE8i=jDcS!i6sQ`lYDF$qiSm-=Maa?@-EcP+G? zqq<`Z9JyJ~Q-B&r(&I@P==r`(w5G(ZUAyE3j2mNuLW1-> z?$)_U+xin2(G={pW2HIGM=In-q9GVmN{JpZR<67tmKiqIN}oQ4w+kDh?laQ&6I{PT z9d}P^wC&6w4(WHrZ`+f+F{3AC08CvIb=UUq?V9JTb-i&loY{ixgxuEZ_Jxhqkl9J< zne4sylU+6WYKD!}w=gpK-r#4)^+5t&5YE3{xBQSEhqdlje^H*3iGu8J3iIzxfW+qx z-0rfR;maLA0p~g0~+Ft%<4R{e(6vxva7^jp%F8ekwLd}4bl#;n5B3)&a`K_ zNkl_1e^XC>G5}H*7F^8uIc16vZ{XQY7_};UPBr?^%93$f85qXyG>NeFo2is}^e?hz z=wqZDuYgmC8m97ygX>p2_S?XOt^K{$Yxml2*f$c%#pc56gmOFsYK!tP=wG?s6TW<0 zcYsWu2Wet@xU(En_$K@Ky+iGe+@5#MVAL!-{F&D~D}Iu@W~3b3x*YG+Ot{Glj2wtL z>W`mQ-=im?`QB-$r#U3!s4Q9JylJfaj>ll3@{y?2oic9}Q-*xEaFN9=`K>Gj+H z9KAO&)_VZnN4ATE?9FQXCSdlZ?gI)i__!wH6}O{?v90fPvz@Wk-N9FOH zI-#(`l+<(_a0pXd{j|PouM3;RR+Gc62e2t&SB66aj@qP{vU>`X1JOMDiEFd4WLm9Z zRS{WVF@QtRJc>)%kYu)%!?5mmkROv{we zv392kO5%C9oh4|A{p~0~G^GuB-iI38xbSnHWi~}~x$ZmHg?}WXNu+mU^qn**EJ0<# z*~sC8Z5bVd2}$2rr%{)lbDv*6E*&UpYwQz<#7(+SBz9>K&@nKRmhYD#hOKz-(_fO& z`Z~%10^_0}dq7U!p4(a_)0Jv6vyucFMUw$Z#N$VH)2Ry+wbhk#@mAc9_o3n6_F}p< z=G0z>MU_gw&7Q96l@)TZiR zl1$rs%k`u=7O*21>k3e}BMh4iPtx|N{mTzRq}=MCiv%n}E|bhd6=n^++qQSQnu?d2 z6PL|sI&ALyRcM3>j|(j46$e=k(UY(of53tw2TnjcoFy1o4=aS7nRMOL{awzv<$%;; z&$fvBqYXar_J*;R3`|nBd8_f&6g$7s+TKiieG5UpW<(=N&%FGwOo+J6{w6{=Y}JRK z*kx|sH3%s(39mo3bewRRf0otyid3=2C0kZ9wlJ?q-sGYBu*T^YA{-}BaYXwiu3Tkn zqG8qZ93)^S+aK~o#Gxe1_=Jp9RAq4Oj80d!oC&s$b_orzgiF;v`%Tyb6#S%i@w3!a zRe?(wPSz8XcKT5|=xCYM5XYQHe$%;CM2}R+inFiOt^@+N&FSjM(R=5sqs1)BD5KA> zqN*dor*$_KfAF83hJ@kV0(6U-!Rd%hl;SuME^4bn>m~d3B{3X?K-->u*TFC9pEM5O zDw(>&j+;Ni(ME(r!qu;WQHIcE7;#wWp;74%cqFZg^^LydkS=a2G_L0PNHl!);8cYy zJ>W~U>q|&LE2p-vDTmY`ErJu57y?yD=h6fN;+jeW9;Yi|+f2xtRGFJetk3;4kx^Hp<0W|>xl0bhq@P;KI#b#}PSX=PLd2zgz8slDU?;TC-8C&pq* zDPhVIl<~pVEH07Eml5UR``8rV>7iU=xklu(EKl>Mz9WP5L~{?E$$TfMxDRe!XFR>A z&so24OLL}9g=`$*(%sAdvo5C&1JrYEl=Ml>4`>;tfzejicWo^-jQ?o3=t*Y~IZseo z{zaLqlKia%^bv*&5m@x%Ck6V|(ZY&Ya;5mx9mI4<)K$wP>hsdHnH4i_wnu<&$KR&Y z+AZOJ4H(MLFZZXAFlR!?Kt)_(#h!0yd5L)Mm`Ecr#`&E-e%mEDU@#wjKG>fQeb^Fm zv;8I=wrXu`lxUsJxR6?|W`2+TMN--ww-yD(NsFu`j3b;68sYuY(|1onS3{IJGveQZ zY+jZ6_3(%`JeI2`t#qNot`}6Lx-Ek#c;B9Sgaw-MQg!=I2m`X{#v6_$x5u<=I%9!| zFvfOK$oc`@0uq!W*t2c#xhCUMsq&F{1XCS_Xp%P*)HCADp9#> zp!>S8i$2rJ=sOz!J)A<`-&yQyF_#PEAEQk=LL#8;7=dMNEcbV{kO8b)_(Q6JX6C;*n~Uk zAsQz26lfLbLDmf3K4tzSV)>HPN)$|boqpF0u9qjI+Ia!4lS|xj{Sz@msaqrENawd& zO;*jkJAhWb?bMYW=%6~kVtXxe0M3V&slrp^gT{lGbs_yA3b__w{QmH{ZQsss*Ao)d z{b7k73~IS!rQzA*fODuAQe2mG&D76smelTDN)36onKw5L!D%1t?qA5QTuJQE_xXqCo#p0+PjY=NfOiY3FMX$e;`NtQw_5 z$EhPl0;Z7J9#MZN84Wg2vm$e}&1nr-Py{4~_N$fSmG<+`%B1|s+)JF_Ei))2qz(gO zJ}5xTb7w%y2kx}g|Ah>r0B|!b3sO$H%zb)+x<*`{$NSGPTv?{vRr1e~b`RLRDcoNz zpX>nQp~@N*cZ9g?#14>Ax<@y?T0`~s-q23)qgSVX)@Cv`vt*Y{{V-g7WW^4U9mm?g z1fY=any4MNmoAI=gP@i?X7~Pz%bwhSXw-D)46q^@`Dbl)ktr38CdedM-ek-?L5!|F; zo|7d{!NWcUBJ3Q1nEVK_-jE=DMh>-L*yGO#O9E9o{~2NPG=+6tNt#@=pFz5|^TMbf zq#&ngV*YsuGk)&9SC@)-MQiLp#h}F9{txPw1T)K>f(scx!;V3}ftKHDfNX**$9Vpp z?~_Oz)>}DGNUT*uzj`r_$hT_HDAsd&YEQO(TQ4WOaf_z|5bLTZU80pB4fJe1;jczbsqO@^WM zuNAGmC`=N#a$%$HxSV8~Z)uzKHAASVIAEvjT39y~8{GRcA6g4TD<51Z!0(ik3Y&{n zd^z4e0-?cwmx@D@*c@`xivB7i$$YY#P3oS5wk8}gSE~E5K0;y$&0`amSmEW0fA1EE zo~(C_XvAlKDc?W&Bve!}U#IkKoMmO%$No=0rTb z!_GfZ7T{hwh=DDOP1*H_+~Pw_du1kgH6{6F4^VPqcLsGizjjPp`-N6L6#eS|6}Am{ zcHLznWU>kC+fv!qW`ShqDO|d>0~|Q@&AHXYm5S%$VnACNENG-GHtpm-Iocy!Rcg8Y zLX6z&`DzeO8=qElHcb5(>tbnks#LXPcw6li#DQVBw!p;H>R84{xHBB>!OavGf})Dj2=?^Q2eV zoHi7!>3patYSgi9UDp%N@FlyhmXi_IX~t{V-Ee$>>Lil8L9{O)bW3z(5aT{m1KZH< zn0>dr1N~U#XEF$P_;^a!vA|#F{S0s}-Q&O9DL6FL^)}GzSCH2WcW|E*FQv=Yz^Z{K zK*y&fOv-RYE|`LJ$trnCn*m!PtkcO308+e3?VZJM9&V|^bkyTF*51a)y>9D z=O>rja2!@O77&1$HU09Ip-j8Lee!eilVCV7^Z8`qp_b~vTeBvs<1dMjatDl3@-{E5 zFEhCGHL>!+x>YY-@aYtHLT_++~;- z+V3#zeYiMEbRib>TpYFXhtD}6EwGC3uT%;BOWgoLX6^CvIc=LqwjcJH2Yg-<-|4ic z_}O>AYZP`${PZuELh&x-YWl#U^ji5?vc2;ShG>H^`_*GJh36Eh471l`n)dS;b!S8t zbS!<~fIPZyIQO&1PC>g^GsNP2w~Qo8wbx6%)M_uB+*0E6U1{XzZ8m9}#w6&%UF)210zooXh9#<}X$juXXi0tu5?bvDxye4O1kogc%t>mk8x+Oy!G?!gp>xFi&Y|D``iJu)8ld9Gq%u!}^ z3;-amQ>13Fhq&ni{3ftWSCu#Kn+wf*X@v=(mi$03HC4%^Z9VEv6N~acnF{0_sRTZo zHeeF`EWfYJsBWTBO_TnLta=8S@A8h)*c~X`2|zxUU3xHdU-)uKVR%r_{-|v|GEdF! z>;7kvr5D&Vs^~_C2owX9VBp=ZLRm!Z+mk4K+NQTg zD@dP)dPj|yhgU$so&Z%WO|S%Ma#6%;T-Q#qn@6$v}b$vpXb# zA&UqCVT1Y?+trm<+2Dw#H=e(!i37C%fN&|1 znDeUf1{5&>H=OLx)#4nm5g@?8l9ZTOWvQYdBW{ZF$W`=O&1^Mkr7|QV-bD1x62k4B zmIv9>IK3EK=GH-7J4GNDSVD5eS)3_Ko4v1h#qqSjikirZY<9%bn?$+ZTqA~*3d;#& zm+aFD)BBMH*X>W?9~sa~inY-`#U9MDLXaU*s|P#+WxX} zp!ubA`zBkg()Mu_nUIMSZ%#SuSFl4`L-u&J6aVX5uI61$GbVFs`d5itpd<`|%&XEHoOfH( zWl>gR6?T;c8h16MELjGnz6AA^cD@!!X%i4+O#BEu7e*Wv-+Z|Pg%CpFNg9BG=#-_j zj^uR*Eysln;fP$g{u^_%p&<&bUezyw6Wk$bus6)xB(4u=QgZEi>5%*c8#uLS>;&K{{iOVUWGG$ia9OLU#aHOcP4 zCE}T?Tk>Ve8p(dfl}Fc^eiAh2Fhb4&BRR(Jzo83OK%zHHRDDL1mm5I@ta_#7hnSdn zN$0wy(hO;ue>>Z~W6(c$;m@CY@X{Oh%!KQm@4%+}KFPy!XnXWvw7etJ*4HivQ-}1; zO(9HTqHhp+={G}vSz$53r0@5X^!op}5VyQUv;dE3#~m=s` z4~~lyiE%#J?@>iS$N8VpQ>g+nxx(HEH_z|)jhMS-!0(RJo@L)sIZ{#d-ef0;h*>Yw{K*o03njG z&$-V0XRQCc47kTgJdodyD&KZo_?1up^KO3LW56rWgnIQ@u<`!e|Ngq-dnquJs29+q z{(R(L5B2*|ef}>@{}-nJ%clQ3bpKbI{(nojg+I!w4r1{Erpdo$5@CHdG#dDDM?XP& zE#=j}G>CIP#?)ca0-T$AL>dxWM+5Cz@jCiCa>g0EUUj9zWy+>R)Q{%x{_E1(jK74= zR84bYz&8$`x@Mb)w76?H+b&f+0_^|NPE3L&My6`CQoEzSaR?_)CMViron%7}A#}1W z|9ZD~aZRKXoiIGO$?kr^TeF0p=JMqQN~Fxm%s>5?4%f=*6XcJIm*v28g7(n$% zU-_4h3A^PZKXptPF&|6C*d6>lvn`4R>1Z{SAJ}gY{9KW5RPGke<=^AN_W1h_lXo(lX+JS0+$ue4SO)T_Sc%XEG5w0p09!T<)|<!Wp6} z2U+PrK4m1XrCU2^y}sTz8g6y=xzBclihl+9sb4V7qp6~*%0Q|Oqgg=L3vf*2vWLpi&7e5Ew*g$ z=aI8HeEw=6d$w-)r@tYGKOR0?029H|HDrlwG%a_Nu|F|X^%!FGiPU!^edf^M7ItTy zz!9T%L_k%1V%EM)_zjA5p3yAxpWgvqu*6`K%fn&T3Z^z2r&WdyIij&70r<4#${@WB zUk&$ejKPU_Eq3rLs++L`hUVAaZ2t4Dc}px3wfYNi!ibxptR$wY(=y92Tl$_BlCjz{ zej$U^C_AdisC6=&M1e`z?sehJ!rk{yIdMe)^0uzx`6RwU5%+eBLt|Ywr~Mo!Her_A zRU^5lA4?dt_jvz<+-~KmIkf1jj@_(FwUq znK(?tIb*6X+PhNvT{E)_cXjpPWXjzDyXpSFEcW z%6W-0MBK#LQPqP1T+zwT4dUYV);fO(<-8UmyU;^^I%esTHACxCf zupWlwwg)?J@qpPKTmkE1WBUJ`M1Yr-M`xuiH$o0}#b~MqW~=9;4efbN8t4E)5pU`n z0>RFQeSe7%`rS#aHpS(8hM(rg$t)LzggE$Vy}&Zr=osnCVCmcMRLgC~J38WcI(y}) ztTUC8;vZ>Q4HfW4v1*05tpFCN6TMQ0_MjD;d?D^Dw>9hodQN1QRxe>ZFw}+5_5y8l)F+ub-AxVjjNN5`TP_R3LB$HvQrs@*x{{!89#y573Ljez0d;EvX{ADE1lTpNNNq5#w z*QA|s54+SRSUVJEoE&+H#~A8Dh4MlxzxnoZ`FMdcG)UW0iV8ppg%+1u+&wlQq6IxQ@MbE;Ln(OMZe{HQ?`9`jhB!L` zUnKxevm3lKCP#Om^L6y3-Fpc1bVWdYD}MuKVm@FGtRh{2-k1L8bZx!plNW$0 z)#2k((wqF&NZ{y6JYP%3dwM^&R%C%;Od-h0@hh$s&)A0V&G1JOFRH z3KtD4_wq++={rOTF20N4w$nNMqpAGu%PTPwN{ueTA6>dw+x0Q3NCu~am7;mUts0NI z70)GU1eb>nw0o5p*O82k?un!)&VxQti)ED5?ZHjHjrL=sw~hlv)Lnji0agkVc&$vy z*mX=!=4OTAzWHb~ghwZ9msR;kv_agl48K(Eh~TDBEV9^al!^*0XU>65sE{2GunnC6 z_J{7k%L^TG-_(*_DI0sHV3nl?c1b>R)q>2Mi!)2+0*q9h^*qe=IJng68xRM%26DB^ zJ%BrgH^crIE!6^_Gn*~$npvWqY~?AGR;rmY^y6=}>SwXK`yKXP2+H?WiXsPdRGv%3D;gBEf z@#zlS3t7qRIA+%p+v2%CQQHX;#@dS`To3=^2v(~3*LVJqB4a<&NnUYeoB7boa_@qX z+qwFAiMI74Vw;U5nPAsp4!u(k7{}~YWxl(Bc;)0N%Lox_TjLAUIxey3%j+pxp?ah z?j$fw#<&3ML;eQqd2Qnw5+qn2)uc0WL$CUzqr6U0R95RGWNlZpH0!u)ljJ!P$Z(Io zyd)!hZqW4Y(+g|OLrq<4=ruWY_cE`u)46C}o7;WwrES zTi|mJ zV=w=T!TO)7@_8H+Uo_^$MQKnD@^YZ`jjOd1y^ixXi)afts`Y8B3=@Y;qKM#puKFID zlco2WFEGuC0}N;31>4geRc~~`{V2Rr_(F6D8l!J2;{>SO46hD4y zrNQHQ?7YmxDNK5exH4*$olB2~3o^*^QMLA%lthBmh>p zGcGyu%R%Y|M&rTaO4AB3aTTfEeqsOzHtC^9gWNji8=Ms8y)wI^ZI)UBMTUdieOb!< z02XoZ9IGjd4y;|eVu-t9yx7^}6wEM#?$V|UR*8sn;CC=6=W*J_2|E>>#7TSlZ?-i% zrTLMtrW^A7j6)TinKT^$Pg9erPVR=4c5Av!`W6tQ@+K=`#`J6eHyssSvbo7x zq)l6m_;!L^B3>)SNzHStZweBIlT;*$DuE?Npi1$Jy6xU2uGhz|m)@!KIEvmZi(v?o zwr>LajWEsHx%Vq4EE*p$lONnVW?A~+40K8KiuhF_dVa@s44?8Mm`|o+oU!1C$17-^ zrFIJHFfE1LP%_tItY@<{;i0dl@xydO4#N;%7}47H+`9-R?zXw1Ne-Y$uqQw`6K?5K z`OWp#xY*mzgv*Vb{%76ok5l;bOC%$Jk)9DRMq=aH;~NoEpBr7E+QN1d374tpyV`eU z8%|lpIk~FO45}4nYp5dI6SdBW<3HmyG+)TOWP@7`XocyCkr*!TQs~cGFaaJ26l5 zRZJ`J`ebpDQ_Q)B#$|Y^ZDgiEz0$@=c7c!hCjT?#p_*)zfB*#tgY|F&g^^- zp9#InzO$u;*1$APv^rA6CqX4^CJP|FaBb_O?QmgQQs|1)^OVKJws(6RD$+&@l>bZ@ zEy%5JTd~4`3!ONG8< ztJ!u40jvK=G`1)U9`*T_661KzoJc}b2r=Btr6Y31soXj3Ng{tOrWa(tV&x1Vl>{JY zAZA%do|!oUijzGSzJMf&V1~gS}v3%fs|@a5N?;toX3ijd)AJS zJ=4l8ks@O=Ffx#;K3#AalEpZ|x)xN{QhDj%UUNtx9K7O|R^-Ut+M^Zj`5m6f+8~h$ zG(h7Sc!6nikgi}7Q<%qQ>PBZ$i-GQO zy9v~T{vqvIv$K9RWn|Iq=?SVSr|Dq+_}$gf(GCxGz1FNrKLahk+D2#GMULm=3{?Q> zt`1VjLsr{-*9Y?xN{f5ffTpGqZU7z66@b5Vv^6KXH?#pjARpMV4X%AB69csMD2rUT zrNyiij(NWnHmi|;90sqvkwT+%Y#JZWlNY1IoAS>!DmwO^Uqn7;u^TUq8vf8>cg>*p zG)8!CnC%4cb~>y#>+^$!oBdIj-5lR6>%uQtL*VlJ`2awCyQ7t-ZM14_5BS z>Iw|WtfRW(D7+?Bjz^3m%un=a9Zn8+9s&S^QLP6AEq#*>*A|7?A>JMW3}_D8qqVEe zE?)ySp84<%(oRdS(*#~eo-9np!=(&%iHG#Fl~2NBZ}CMdc0l&xkC#u94|Hzy(7tX? zm3ifPa)`u0bcu_T%xC_K47G^^fY{Kv8a`f*>XV)LGm~c*{kRwQ_G?32X6NCGS>I1! zWi`^qUIIRz{YD-g*`HloF!!XV+^35!Df8+Y)e_?sfVSrPT zAi%jC=j>b2UO=^X_(U_7kYrx}RZaPwJj}hWtUZNXY8Zv0;MIST+Ni-W)YWu=o_8)h zBVQhHI%z2$qg0BG@rFN*=CWT;uptoIJ*#bxB1caHoX1t`1l7?*^U#P4dye|`ln##= z!S0jaUZelrY0>gEuTNqis(?DL@foCNUv!e8V|m_Sl+yOQmP>d01bQ^(OE4gskz40p zG6PH%-XZZE!>-rhJYM60-Xt`U@Lz7e?FyQYGjc~KHVNoV!BTKRp9yIBMaYCRmh1W@ zV&u4d;-uB*{5-#qL;Zd``Y92@zkUVK-^U=(^k$;ajM6K!8`gkPvW~=sX9LtOVP_!z zoR5!qe%htCy;+vFcBFK)?mg)kXY$jB)Dkg*XZx+2re`O+Xh=5hl7>tii3L=?LQm(o7acPz{{|;Qy`GozuC>woiZc^UUnwG`036<#DQ)m39 z54Ixn__KpgZv2<$|HWRgaQNi;qY`fPH^chNYe`2LvTdIlzphc)4M0(NqY`aJ9KCbu ztoCUo46xh(ok;vo8J`uODi@iZpExUYnayJ0n;!S$$DdFhJ&P|!;8wG=rE67Oa(7DZ z&5(-`Y-H_PzK)!_^3OL22su4s@aos4?GM^OLm*!+z=6dItZ}a;c?6#-MK0cIDxdI2 zb()6y2TMMAt3mK*g8DpSC|n6$@0eTWWgb}M;{5aAUcKp)=#NrL)xxeha?<9~;%qWx z>I^;@Y{^*0s}l+rRovbi9a#{-0_ya5^`+mI2%u_TI*&Ww?sYa;Qc$h%PB7=hmuiyh zwatXsqoV`XN#4VZT~#dCq2Mc=n~ccdgD0C@p3z4J$24 zi!BCRA=Z8zcoqYLC~babDaN-;bEBP z;R51M*GY`!+9;Y2KJ({Q=A2ZrSxiAD797mPGoFwjr!kZ0CVB?yX;te19!j^X+5IG* zQoFw5p-*gL{-@8tr-Ay;_xvxiDWic(iJX_*zh?j{dYiRz|F2psVL`GHfQksI9bBoK zEhxfO81{rA$6~K@aET_@*Pv3J8r-iEjpLsBk67NY38$VA7>iAU*B-9B9Z?Hs?R6z; zja-XB{_(pGBk6r2l5eOcPPyktpJ@*_jXU|vjE#=# zmJD^W0Gvy(NEfo8idX+YT1#F&l&JzNA^NXwVmf&>*POz4^Z9I4Gga~oW1SS8Zk4B; z%&&YRjQ+9`s$;@uIP?njr*lLCGe9%ZDQ?koecw5Tw^djyyB1YI$g;m=3rDeRFYR01ZWF`2j=4=ODK0NfNHX^M&~Ew}`PS5;XnhQvWd8LHLF%%{ zsnbXNf(0rZ7pDK5{3V!u-d>r{z?<$e6YD*pwlh$L7B?dIRgV;(D;fOwy==c;ummHn zbWy1tMn!u7A@SG?>Fqn8P6nIQ^5oaL^Y-x9HZeW9Hb&N%Bg9~v9}@)YzqL56fQyMo zh%Dm&nX7S(D%(@;nLa&Ke<~FJkFl?gigNAVRzv}j4n?|=Jc@J+2nZ6=EveGo4N8}^ zq@aL+bjc7(i=@QRAT_|yL+9^)@Vw`E*7wi1)-0CGrOfl}d*3^+eeEay;>rBf<^)7a zL3l*#&Jmik(MkTBRRf`P*)nBQ+hHi3=i>FGaiRFo^xyV}cxcF!ve*M@zyZeaEBR#Vpy9rI-Blpk$%mDB; z;R}!MEBtvk86>~5_2R8Myx0{9^U ziGf>x9$K5!SFYa7pV>7ehWj@dM+l11ZSw)+KX0e30)SF^?jQFSTip$qR=dnt8F!AH&T97!411&y{mAbT_Y(G1 z+Qt9K2>nk9LzsJo{0)4O6|c0usc+uWBR^wTQPGAsi6%YfU@a6SGVArceZwg#3Vu*3 z**e11ba3~@AF6*zs(EvgsouNB-SJ4sd}_wBC+rE^Xa0+WO<$SSm5Je*)W^*`{UHR&T?4HoQmk2k@k1ex-^KUyTvQ_BCg`JKZ582h8B6#_K;d}VaPP*lJ# zlF1x~7?yd_u-Of%T^0?V>4-D8Y9R@-lVX}RedZ~Ai&WM3oPu$e$kyMNl7$rMgnp;*Z^xDyK0S@ZATzXQpR9S~C;G*6fgfDNSACyL%w~+QvYzD&HGA z_$IZg=`1dx@gxz}?xA(w;krMA1GiLOdNF@28NELY+6fC`RnpMb~i%afXOYK9^t&qW`R_KKS!9&#`gWuTjC%0czT z`X5gL0^%4hNKkJN!cf-^M5k|^!m-Mz^k~^?7_|)P=FDima7p!6h<0hr>E2c<;}r}Y zXBw<=Wh*=P-pEPP_V@W&2B+&~cK7Y40GC3%4!!&=TwrS39)yI-!sv6MC<)U025fh2 zZ`6rW8@T;?ZN5}BNT}GTJwd5(5u5jpyABW6s<5x)=CIn6U2W}k!m$mvwj-9;7DS4E zH~w>%Y5lD%uZSsRSo$OjcUb*|HH>|54X))byd)(KU24pqm!0?k3e=(R%oq3E=IRxf z8;O@^jC8#lt~oZQt4tIqCq76eHbQH-2$!ob`j7=zto6-zH~BuXRNm5if9joc*G(D0 z-@xeSXk+JXw_GvBv*z%D8$IuHHcDCc!G3p=;qg_^?%Q=|pX>Weqc>2;_j@3xBt;#vm`)s{o&TBM{wU^{SFo3qlG!u8lUlSpm zuhmA-V6AL>aW&8#Ls8lG_=)tcTL7#ad1ma}pOjT9n#S+D(5U~JfAgmME3eQ-agvE^ zU)>MZCE$A7)LiVSX`$W`P zeM9+It9yyGLOqwLgyCP!tvga;@apHx?>dBDs7+AXE_p4EtFPUrynemBOg~BrZW=57KSZ5~W7@yFnkb7%P&G}|toe$lyK#CUDQDz)lc}ygyTDLbe zd)6ORSk&J-&aW1l4k-1~z-fHZbh05-0hn+r087U0i>E!e{!wA^Py*=L-nSmn5Qr#f z;Smk!dotI;xH!&IDQ>$V-J6COx*A;#EA^_MB~v#NAr=Kdq6idOctd{e%X7iYUV|cUslk=*>D1t*pJ?yL3hhOxEwU|QDE9R`3Qwb#o-3e0iom~wr2(1}i3@y^q73#Cg4ZewV-R7url{RZB&rRbmS?`Nn<&jE8P(ol< zaa=6ZliQBCdCi|dej-e?H8Eb>=e#XiQ?P}MXUVJbVMkYXg^cTSt zTdkPO)UMWzv+feaXkUV0@Q(sb!__8a483u)cZ_rn^+$PLfs^U*b@|P70WOYlh!qej zcDsXttR9G-x$$_FZLrixlFb~CQm|5C22deJfi7t})CBET*VI>EssaRulMvC#{tMgs z?KiK$a9j%9IU_H_qf6o4!|%e!%QnqNy%dPyQ0=qMFvOf_1lHWxy_*5{0SCdOWQ<-HEtv_M@o zKuzSN=ZSGP9vV9W!U*ZRY?1%mxGU(*Sf;wySYFvTuH#xOOi=3T)`gZ&47ZbXg^g=G zf;IBDodnFyJfYxX6I-sz>b_U+Yt@Xcy1>fu>_r8$9Obc(S$l~yIFBS2K{^x zG(kSt#(};ML;x^Kg)pSCOBdKaPjl=oyY7*2ucSZ951>rGN4Ww@j3qGM9+K|c9E4^5 z)$eNA#f;P7Q;4;@;zA5e8d!_z=xJ5HjIEkE0`*zrd07uair;OGOF2FNTf#oG(;cY= zsb}->WLdidkMHsfAd3PH;;(NaR&4eUrVsAIW)O|2bdjE)BtIgA5d;YLJSc~W(Y=)O z#F!l~)K1bQz4<>ZKqeGX-Az3aUO8RZOQ{A!$S$KhPw{TPh}H5`8BQ)Ob~*1pJf~Nx z8rxbunTLx$q>lo)gHGRR>S@PgvDD)U4{O^r#AysY2E(cF#`=rS7+S!xmO%kkjcefXDr5+@Jf-6?@O-$l}W5Q}N0mf_a6be<9x5_xis>B92v0)6h$y{^s+e`01G|| z0(KvQDZ|b#&)X|MLYi&O<~imH;PWJ1Kata1JmvLrYD2?jiYq?`aVnVUdT*cQ^nhf* z-$N>7qWU=Y| zOqZ>fxuDNUFUiEpkZ@zzFnK*n>{T1+>7~Jw3CAP^!zy0%@j^7xgkL~&=`Ps@U{W)( z7%6%+Q8-#4ykN$bQ{)!!2aqy8t!Ie;Iy4dZaw?w<1ov_X?GHeT&{~y{Y|$oGl|{y4auPhrFWv0|31)3M>LgI_stjT-igiu zFrx1bf%`rh2{@5bUhb{Fr>hu?O91Ev;*^7mPp%!Gh<>H7M+Uhg3}>wRD1R_~MfW~; zp7SctKy}$b%-Bx>$9)epo$ZR%scVpZ1{jRYrCrR@*#Klf26DEe5%ySch_t`T`Do_{ z*JtNQD+A)L=bB6~KtbpWsIA`ta$3&)w`+FspJ#yf#BX4ecqM!-k-mB~1BR`7_UC)7 zE&zhyDIi_yk-(rd&2V2LgN0;890N4cs0;Yd#Z`#yb_l@$EDfHJ3>X(li(?<^V$C>?ZpWGPyZ}^W}6gQBxg=Oe)AraTOcc8r#71b2+#wcPoZ?RFch-Z z)XG({-j`+0YqgJ92C9U}hC^N^kB1*(ZVU?(C$^u~ZWRXJ`2iKmN1oi5F!V=M62I@_ zE>fW|QnyujX3w3!yS+V?fGgReu@*GN4=$Hl*zGmeU=}G5+e6}0#f>^`Gp+V8`sntC|pWm@oGvlK%o8-p@ zySvW952n7?ld=BMvMc^;mq8o|F!fmv7Nsu|mor{^em;3isMP9OBW6r97_m}X}= zXk#w&y-4EF#NYp4+&(=e(|2hym7^d51%gBbV03?n!YQgcyPVwaB_SK$5(eA)!4w2U zlYuS)td`Rxp--iTxOO|_Y3#2X59c*q+*4BI5fP%+Uvl!XH*nnHBo2zShPEXDZV*mX zIlDf95}J80BwXcE(JcevTm?Yvy#tN#WYDne*xk@i%nAEYuw^miw%vBS2Z-W@wB73m zs7$Y&?^@L!Lq2IC#jgXXeGb2odOE+hTqJ`ibtlSfp^-h*O9_eUhtO&V2(?wj=d;+A z@FVS+3vYSV_RUk34k@8O#I%439B+QiTs^0MMTlH{*#<{*0`LoA%c12vXA?dxUK@c$ zP9X5(vIl`5d(!*(Nsh;sm;Yb(4I~|AZqjj}Ol?m=(E{n1PE;HibVP%Fm(g_@m3_he znJw(@>zEot`1G*qllV@D#TIy~ZpWn6*)j?6&}_XjW!_GRqyva>=qVVUEz*xXp8*s@ zTK6YQ-Sq(<=3>yHfa6l~{`wE|U726m?56-WHPL+vaAjKZ>88fu#qMt&1FxF`ASlfW zY5W6#5WDSMmsW^;Y`oJ)Mngp9QQ~8WK3hLatMs|Qemu<|F-N)NWyVB|(0|XaU!KLq zz47e0B4(lI%W3qcLd)LW*7AUbFDu8}6VpLh8{3V^=wlm)O;!T-P>Kr5&$c!-*JZ}2 z($aO~4WM9JjU953dSx#k=whl_q50^hc2yOQ_T>^z?tLjol2Wo~(QNC99WccnuA8Ru zZ>r1=*JHe5sS{8 za{#tsgX>Z46CO0s_PKIgSw?vwdeg5d-FMy4W9w!+6}puj@x7i6 zn2*%2jG=A_Te7I}n{gHG8h!aUJ=&#HPri)&K`EMhVBV}2`J?l*33GA^ToJqBnPQsl zR8zV@!^y1pg~Ddi-I~Af`<^g^`krRmjQ0s)yHh~p0qP?FG%=^u&Zk8;h|wD&cJ@gsg*{vBsYOe)D92=I9)s2dMzhn9(43@&6TjXMNGjKVMa2u@_wqf6b49wcGU; zPO5La93GDCZpC?WHZe+SaHeON@i>~w`eHwrPxoF}2vwg;2U{;&3+t2j<4zeY){6Ta8T_hmbrngn3X`U?RgTHq0O%CYXfRN8@;0bBC8h+?Z^t7`hNR9v5WdWKP6s` z5(8_I#VLUefO&QVp+ajNfv5f8+&3`I{Z{P&aOU`v3A>e6wPS^Y4t@$iBr*+iMgBjz z=UY<5#72Mnt;rL&)FYz!sriP1deVoS;j$&c*7PHm$Inoc_3q~9pScq6g^=trc9A3u zCuK`Xmrf?J9Z0iuk37C^)b#0CaTnNTz1^0V!R)zW3^RHJ_L0k}jy!dAm-UO&zd?o)(!|=D< zb==SE-tqa#g|M+Y93fV76C$N#P0xetvKPgmzSrY15Nz^VGt1S`bXQu=&|~gs5`!dc zxUb%@KyT?Z_QZwfn$A8}<0 zfc$jxLJ!fpmtxp=-+)%wzy)?=&cM}YPhzf-yp(7VhAZ-uWpFAJpYY-R8W^|i798<> zy*i%XcQa0P{e@YQ09W6UTXodApF@=XU2yh2>{szGYGVUEbZ3PN8p8BrQMv z371pXznFaa+-guZ4Qt>pSdSt?Bp3~U*3K&uV^vJsoPyPS0sK!DK8=s~{ToNU0F4kY zH+E+4qguL%t7xx*i)l*6evuo24nkMntG-M12af4*?rHDG@v@mLFntq^6JGL~(w1n= z)`!~m)0WorN>l@1K&(M_kYRb7L~p5H7!g>$UeWXKilR%qje8mQarN2`yUCwOixX`A zh-gexaCa!!+gE!WULFkUttEaNja$pMzVC}@{0($N^-14?4Mi6{;~UR?tg8hR2{Ku* zpCBBu(fGRSrs~TUthrZ4EhBF>o70UHX`95qSIc=E=`huBevHfo`O^|W_EbriIgp8+ zZUvG(Fbz2ZcG$YkY2|H&s%3GP-A_^rlF^?$aR;voK!od?3; z+mTnk#MqyCe^Gd_0yR)wlHRfYBA7*&obR07VwILtLR=!9w zsXwATs*bV|8*Z|!8Rci{_B2G1COS9n5&lYu+~i{{=L~+xKESqTRb6}XVEG2hcP$+wSxtKUbrUYpcNK90ViFYv zng>|{0^w+dS;c5!e)%Dm?L7Y3e#L&AOZ9c7=K7B9hQuV-vWx3VX)w{=wtT?7a4g8< z9Co#Fok>~QSXmL>~ ze})PO&L(V|yCx6vFbFkY-g>M8*JBWop(N#g@_kL$chtjYqtH1ljf;aL0q|_7QMoU~ zTBx>+0>a|@NukVdij2=1ZxK@GEIn;^JkQ#qdv#3MZn1dMU*Wqp9#fR&2=aYX)p<<$*I zv|?b7*jEi0XmlIBzF77R2|i8a0|NXIAzpCtSDw|ZRWiCP%{*pnMb-U4nddbj2PydV zJ_z9R zDKVtb7{vegQNH%KG~pR2m+7V8yHY<}_LsUO=Hp{*m>h-=emU~2 ziYNqo(HuakQ8KyHGruod(5I zElP!1`S5*kWK9q-u6$6D0LdWi-w(#WARPI1G|@xjZa^@h0^hqDJaNB*3M)o@i9mLb zdZ|10z6_8}3@h3;Ve{$%&hd&oN~9o8JX2Px1|k3GWSg*Z^&lgZZqGSLY&fNcZVgEKoH5Fu9 zeyAMCP=UX@P9XQvP=@T)uW5yHGbQ41%klkoVnjovck!Ctt{0W}t_qmN!XApoPsI~j z`)f~xumP8xSHT<4GZi2pbupbjoPu$RJoKIQiJBk4q-0s?(%3ZtQvA^UG90ov=Yd#nOcy$1 zpV$RsMxTJiXifQbrJt^1ha3RTI2cWH6JY0Z09DrS080MR;AA0A=>sU`u8K;HLX|=} zceJm2LE5oESsBrvodpXp2AbypeIt|mN+oas^VJ_3jK?3^6h!bM@9ZD%(U;K^?2cvz2I(9)ORSCKPGr~9>TEHoa)SevRLxP-w0 zTaQvDjweOL;=3StDfMKiBo5!atT%4E$yfyH{zJ#ox?q=9*zRNh*$DK~I$=1NQUogAJuko4$Y!&j3SDps3LT$!o*|8uf1TKKu z{v0}H1g{F7&U=d*s>PM&eS44ob~xJ)XU!F=VeE0! zA)ulzl8WL+n#=gB)fc0P(wHk)5B1PKowrQdeYaZxBIRLxevsC2A~;I_$V%p0Trz$g z(V|SjtETToc+u{dD4m!ZnY{_3=2Zbk$6Hq6|LP^s(Pz>$!*|6M!%!|_ig_Kc_X6Gx zh~&0)6*e{Ghz2cZi-kmNI4JU59pS8)pfHlRD&SZvd3mm z3bzc_4t^|PPeNH7(AJ%RIiw`8Y48akZGM3i%w8a1JO|a{E&!{gsu4T<98D>tA)S@F zICF7clLl%Hs~>$&=c%7*Xyj%O#%7Tu3gDyqgi#79V7b}OYc4LXq;G*3g`FsXVq+Wd z0`907akr3eJoq)<+DrViV(jd#Z8d*UrvW)Tdk6)u`ACG_l4fq+5*Un;2CWJJtJW@V z*w^_sc%6tzAqI>&aadsHN9PfTg@-Q!qNvX(;n6GL?w?)W{o_PkQIin8H>hOC|!Rvg0znPnxTTy^yg&-_H$(71)K=e#xs< zC`Hus6~8ulifBIm*S-SfjKPIWtb<}2{LxWCo=@mbl#KC+Y6ngj;pBSs)H@aVd|T0_ zaF=cW>neMPTc*)PH7ApnMuxuq&F1CIS#20ByVt@gDuCjPFk5>PS(-eGf5Yz$CK+_7 zP&T~VfN}Rz{nU&*f)ea^?DR)(-L-8zdK|i6_qBuayJ-~(j_?GnpXJ3Kz}AMskqMmo zb@_sYnk5>|HTM?i3(g>X|G3nUhk-%HF`3WNxKC$KZTc#d2v^aK+sE{mnaJEX95mQH z7N^q?bECULRS1nJm6zXRWi4NNEg*UNg7zw5ry``5Y3W1!Y`{-5qbbhS`xs)_3#-I` znUbM85Y(RF7YTiZM>R0d9jMiPU+8F(xjg^do@Hjnhj(OrZcdR!cfOeXX*p$Sh%i6s zT>PE!~{5y)0`pp`3NOzECC~t7wI*w@8^IPL| z9iMPGM(E#RJrWCR;DCLOB#&09%*kmnbo+IkjNk5g_B|~)vtnAlFp6MX|Jk!_1DR)I zV1|&*pVEcD)WY8z$7_UEfj*S|blJ#yFh>T@Il6eF;)N1Py6=#R4A$GyY-k@DD^{Uu zvl>Td3zCY?O+Q?e;;Td(V88!BcS!BNKp+6_ZNhsOg|$x+_=?4D8)ZE{l4jI|wv1M9$+ z8BM3bY_K=ujGBo0U{nXMbW>}%yho}?Ojxxlp8gvcfgmX#$6w9ziZ(}Yw1`u!cov+R zY6yc=GTD`|e=qp%NlvSlFh{Q?ImOvG%!}0yFK1(Rm~VrKgXnZH8EhSgZh6zgDA&0& ztL^A}-cx)AT>1D@d0SzQa?l%I+^K0g>)G=O(*F^EPgRY$J_-|#rHJUuED@dqQxF0Y zAL=5YUH)RxX&rHnwW|iSZUxp1uU?D6v@7|WoRJ!@z$zuAeMbRi z(-9zvl#Ik`+=k}L3M@R+FX4jnI0r`uQ~S>xS|7Qj6K+4XpI%X!)1r=Fqpo(!+{&VM-n+B+{&6@e@Fbn}+P^e5#W1#FWwff9O{H2}U>Ge@c&&BR7V1fBjV>O54YOcXfNH!5j_~?+$;x+JWD+PQ zX)(&<+z3x@Lzk8F^0Mkz@{@yz z+znm9UUd3IP}NSx)2-=_(j9n!XErnM-e?-TrE#QglV;nAAz!u7_{fb6RA_t8)T93h zG3D{48wo+_U|t|nFW$m>8+o4a^WB~#9@wrUo!pzR%jJ)j(%#2oSVrU>iFG9ewoC8% zFViuzk;CveiLZb3-XQqw+f^&ED%q2l*_XtX=u01x7R+xLw*zv*d(lqBQZ@8pKA<7_ zOhttj(A6e^!AR`WA!tEvAy9MrY|7Ym7BID@d4NkTsz>FqO#9=u4_J@33N3qL1FYQ2 zDl1Un&X@%V;eS5i4fh0$;`a-wBd)3JZutd!M{t7BMZIwk`!;7h2o{yF4)Oa`Vw6V^ zs9|*fg2K}2hPXdtjG35Q#KxO=JJezP4xj6fa4qSgi~=Gl$dMh z%=jXMO2dnf^Lazu@UVcJ|K~Hrc6pz$)N>@kEM({cDs&7f_=@b|045zm)ZF*zw=lH4eVb$ul;0w zA}Ft8V1mFf=ZQu*+ICZIt(JF5<}JGkQNq#Qhm*p;5KpMpmc{% zft7*>_-1QNe#W54;V7SyFlGrN_l8tD4?1f16VG8S(Sx#SwvO_tfz75WgmBx@_!|DS z@DU|<+&;}ue|6r? z@tz~{c6&r0N|$OJimD1tg9p9|i3lnNo;Jhl{0PBH#`ZQd0GqHQ0|aCvr_a{|LY$?B z=b=W0|Q*Z?F4VFiIw1)%eiCwS$rwj)qS z>H;-9BK6x~zB|brdH%k?hGPdq^ms4ELU}cI{sF3`4ydm0b(?BP66TyOdW0zu3w$Wp?pBhg50{Lg^Y4 z=k2T43AV-hF7D?Vimavp$W`Cz@UTh8v5N8TFH_%~j(5Q&?r985hD<7CSpTAAB#)H5|9zaIvyJE8#Mz*TNNCreV{eFcy@u4%r4fq+*~M zxUiuPqAO)#gZ%hycuH=g<6pU{UHGrD?WO(?3jlaqiYs`!!NmSO&}~<5_LY#37>co@ zxq6j4QTRJc=pj=MUbO^p7F3rOE={|2 z$#j-#7a}<1^e6K7!Qmn6wls$U4+g1lfkAOu0oNJsYxC9&cr4!?Bq2$kpYw zx^sV71&aer$G*?DNI);*Qhev3VkpW6%m(3!9)3Mmo(KFpVWaR8Tj1)-J0<-8x=8X* zD!_X{Z*FJ~?!Mh=iK((iy1473S~eK22p+I%vTaQqZ1%X?QSR-FE`TaaoO* zk&Sm>^chsbi1v#^)W4Fr1`ymK#n(Of40d(C2J=&Kxk(ZAZ_3?&Xt^ z95$*%?Y;kJi9#GL6blLl0-`$-Oxdhs7-Wf)Z6Oa&~@&egf4L_Fh;(%M(br{eG8^ckOY@d#FSeBVH6# znmfC(z-GI7V^e(!b7Q~r2w)n|8Z3k}J*@{`K0ZL6lz4l*y~|11%;a&QE9q4PVv@_e z^Y_ntml7^)JDQ%tO_b}1#eZJA7Wu-H>!DoH876Zbdu?bQWpmK_-a@x&~gU8$4&x|aG zHeT?>d-vGCh0>)!#+X&HZXD8E7(fKdCQz(@FFWU(TY%@&R)?BLUfBmtOGJ6w?YTxT zbyMvFWjgj+O706!{~;_OvR9YES7DnwLy$;A$9Iiq8dAh7Qrd_#ekuI-QQ2+o4H<0m zn)1Qf=~5S|FVj`<+CEczXYbohRhE}cY$VT}_F4-vC= zWVydz9RH>%!8}7z2hl(}`>RQ<(Jb7J$Rst=NlRmxNf;_L1FiE7&mzU2IY)W8cma=J z(QQP>KIMCtpt#%2>^3z0ma(Ggx)>N}Izt^2e%kLS`kzR5r&8tQuJ<93#A z+XNIl^@e(bz%)jj6CVly^qzML0BK2Kj1!)^xU3%eX9H25 z%^Na!Dk2({v8t_caedzPEG*VA$IXf8&af&rGrJ~Lv#$mnC`m=8vvvo_uWBnn0;-^* zVU|T>cuoNPkp8$+OuDXXOa=$6gQ2p(DYCA*+$qwD#e!`;e7yZ*=y5)I$oIZIr`o_eR)o zRNO2TmrCM_qwV;{@_9P%8dh}X$5trIP@WUUz6^K7k1?TK=-9kD102d~s^7g{_<`25 zDY3RAH6rtqKQG%qkvq6-8qxjl26l9`HU}Jh?@MpFg_d`R9BKtLOkc?rk8YfI_geL= zTvw!vRvH5J%_Iu3XYFggHmv)U6AYIYGDHHB3RVWVd;me6)-;>I_Tfe0*~08ThUs1_ zP=t(O)cnGKv;@Q_Kubsw82kKk9wB7scN1XbCaO;u2PL1oZkIT7-od)zyF+P{B>YS`h23-4Nx-0fn7fJ%P zQ&)GkLS0ATe~ohe8w_5m#jU@~wK7AeA54lv!=m^EQUhSA%lqRDT|dv-h$ediuY!1; ztJ_;W6cvq=PAgQig74^a`Wa-Hz$M6vLN-S6JYM8@DZEce`GDoc7-N`ptImAdL=tl$$clB%tZan@0yvVNT)^Q-xO z`$vJQVt6^{$fNHf$->%6bh> z#28dHG0lH8*+I0vjwZtHuzNLNKP`{H@51*|3dfiB`}jpG6$pV=!>_a*9nwSUIa5t@ zJ^0b0b9pj1FHa`yK9pkncQc6Fi*mzXLy7vop7rWeDE-k0N8vBIu1~6zJrtRl4_$Wo zCSu?uG|qGVpk#zAUTS(TcedEtcFx*0on^!-X-@b81H>pm6qhCoX=}cg0;DvB&eEHg z%6~%t=kND_cWDIn=7fb2>u9i71oM>?=5uhVf%V!M1$J_-?ZO5dI$E*ceqUhhvy(;j zuvY4&5Wa#+z=e?u_YKHEcH*KDBPvWN1+f2kc>gsokZxsbw|<<&`~z67>sUsbC+Bv~qq8=!GSc6cf$s7k z@_h|}&U8{iZ}NgefapJO!T`O=i&pnRd8z=n`VhCl{Tq+G*}0Cie0CKBU=u7yQgUWx zJyoB37(1fl!4-_&8SLvdyw)2A$?8GyWeDA?AV3ICT8#+Y35#YcP@nljomT&s=(-Sy zWXw{@OVu=G$V%~@3{~^-jW&gyfNCH|29gCM_y&O#|c>UZ%2P$c-o z{yadlIHrF;i(=B|;sg7m+=l_3K2nD{yW@K_jNPhfeeuJ;_`z>*cnuvb;-*Y*9J;JH zgZ`Y?Vaq4N^XGSC|NESZ_*)eA32ssKg7+Msf}kk@^lT_6H?FuJwhG0SV_F6M{WuRV zBeYlG4JK)0TMWb=5cI`C_DPfrQ=R zEByCxKsSK~Xrr``=*HbDV`2n(fBT~HZxgBq?!e|<5;hRRFwn%jn)7lyd$vvCl>u|s zeW2MKE*3WAO5bm*#gr(%xq~l0Y&$l#_g>;D5|+wh`KKp&cnAFcd%b+gJzf4#>_&mb(a2A0YV#N4Te%uN@^B5hEiC^#S=2#5i$&f zA8pwf85u(#cOw7R=gXUglX9iaJq(58e&Mk8`|m@sl+%>DLwLY}OcLbV+Bd2)yCy!| zFpoQ`O61T@JPKUE{L@ERDEZAnrGrhXX}L?W_TytJr`ci_w%&g$-a@0CIVViF6nu*; zTU_9Ae9I=~^+X<__hoRZR9 zA(XxAA3=(^FE1$-4G8p%sG9j30VaP!dY3-{W)h&8CwZm9*VADf=f@BcS|a~UHQmlb zzf^{5Io(&heg;+w}T-(1RD5?yoQ*>=Z;JV~H^$*!8SKBFmL{$vHDud?q{Y$=$;2O%u$GC*b6{Q$*a0;+?EFMSoe3tn({| z{Cfw=(=NrP-Pk4|0$IvVcku0wKG^s`AtS}x!%&LGUbnu9W{CIrD*|&p2weQ zr2DqzcQPUS07z5rM%R)oO)!>e5dTb-cdMg;OnOH}NSRD6R|>gy18^+liQlLAqLNlh zygn9ioR}96N0TD{%G34Ng zfTfB|@72CctTv!v3})Gv5(n0fnuhUtlrQCwZ}gqXd?d(RwxDh~rSO5)JX zZFQeSu>3R;-k&2b+cbr#?h$|Oe^s(Biz#m}sy&gk{;!1rZS^dEC3{hn3nSE5hxAeb zoMW6^oOP_Y4N>PEd!OF4kn{-b3m0y8Hgs?9<|(=4;LOt)XNt> zrTUlFH!)A4FxWID!7mKL4EbY=c0Qt6qh1`Byc2k8rS>vp}6g8OrIip27LM;~l-c^_ZC*rh>A zk-z-z?x}PNvdgIFWvR2n}vnvTsL2EIO*A+|B4-6op23_bB@aKtq-IY*`O3O zA|-0xfk*xEF8-JA@};y-03<=+vYSEg;=U)~N+`?eA8{KYT_jaDc$V(+~%e>{*BpU>hUwSoLlZr<8Rb=TVZEzEZ8?jJ^y{nAKs zyEr;L|NVM$v>>X#cV`R}%7xr|JIbrR-Q-AN%WM?Y71fQiW%L?0t|e@ZBsBB9_I_HH zU6+G)Z7%u)sxx?aN)|JGZozSL*_(@Q_;gwRiRpglh6(@|j5=M&dQBicypNTCY%0b_ z|L@nwh$rG-UI+Q=2YHtn00Tbc9c*wwIAKcAx!ifg=$HUM+0|?;&&5`9Up%lOsx}E- zb~O}K1{FJbtnHAu7dvu{*{*_r8GBxfoeA^dvwlUvZm~AG?z0=E!AEBthFa#z=Z5 z4!_CN#x%hypkXT2=d{%S!TFYkh7(M67e=@;p&<)mg5eM31ZRVJdHMN16jxfGkdl)K z`1bP9aR{0n_0H}78y3;X0LKhWY>sZ`An1$G_@_aFf06i(h|xcus1wtkD)BGPbSoh5 z>GeS|gFGo)=5OR^4TOEVE*g*O?qv%xMNsxjj!lXa*I;k#FS~Ng>CSmk(CSkY)6`L) zF%cq6q(}0+-Xq@!fY-kWLGJ`T4a?dN)t(>}T|2oFA=@Yd97kDWs3K=ZASXmI{wCG7)#a6z5E+7-~=5 zqGo6~6O&;~j2tI?vmQx$Xfn2OOQ2XvdIa&7UktFzK`fbzfbF^0e}+L3fMNa@%@$lf zMW5mC1i*g{#Lc2Gcv1zuzY}36gZ(t&Kq0!T{1%m%=p45#DTCK*enXPs;_S6Nr5cN5 zUVd5D!kbpMH2L%@MNhK~%S}U_SZ;R0`;=~1UjISP_|w&z3x86bP;-#CV@bv~N?jXK zxn?!o!5^%coZvWj3bsMhDv2I_I0buyS0;b1{ecNtO}e~4*nU23%CDR+zyQ-vFo$N! z^WEhi>B`awTpBB-UPWWJ-*-Ia38*;a7T@ZSM#G5~Zx2D$7*ecL0?lsCT}mh^II0bv zNioGj;@2C=TqA!sMh}zG?N`G>C7j?TKr?&*q{jqm<5?7dO}7gdgJ9RSsb1V%_~>nw z9n`lN`K+rema4&rzx+#P(=>9Pco8abxmeKma_QHpX}6pr#4chZ$@#i6JU8wE(Cgc| zIb)vQu&|qLm?%N8E3T-l32Zc64ZY^25BLT~kl&swHv)2AcQEw206K7G2EL%a{ZY5Z zrkMA>)EV5s^Qq7I(F^S+p9a9vOJ$*8{sm0-EP#%jQs`%#?43>6rl@wkTiM~6kEV$^ z<8N;d{glPNGy#L<1EW~KkGBE%W<%TMvHMu2l#s)KRVR(bb+juCSukl=Wg`pO%@u%q zK2xPn2v+`WCP?D>dvx;50BCT+j$tB8pE;>;l6Yv|9m&RTc?#E&!A9 z9dLAWn3yX89U=JHBf!NsM zh^}n{z_G}RUYt6<8n65$==SYSSXkKGDUykQ3oxMi0@>?EbD=j?zwOA~yFiLK)@}R- zgq?b5DRjMk?m~0hHl&_!)wQOQ4L0)08GHLua%^hoMhd+a0nW=4!Z;39f$2NN&@Wq$ zz^Jn<-Ixj98bd{~kl~K}8zD}$D$^46YN0Mt8P93Wu~`=T^U91^Ni=KE3e)0SWR6vq zeeRgOI&LxyCtJT-K5CX2tj^MKaVeSiWpD&jID~|0$P5JE!Y_;#+TfRHt&cK>Mgqj(W;w5#nsEjw+&6N?9wrk~&h zD$$ZbJH!$0n@vtU>YtC+_;$mK57iC>({RXgsG796t++XST4{7Xf|?jMYo70 zfC^hYP#a4 z3yRDP&KPNu3_QbkOq!On!xw^x6qQ{!8|3BP_cJeIa$%3HY}9tNr0O-LCy}BXjrLxr zt(E%6;fjZXAb0rKCji$9zE+0=QiaAmyw;`-S%F z?f?=ZZg}Jdc+%Mi?i%mk@1V%Zo(J#Z;!N{io}VHSjQ6u-y2R_dPN|>oBsD>J(N&!f zc<5-X#!X=Mrb~W$emlQ<>o``1>Qnaq-XNwMW$;zEC%=H%i|y)qk`Pe?TEMHb-`MfL z>sDKR%3j-!_j@%T=x*FIn}Royaof;KrOICt^KeU2kB>N6k$`N4206T;waK;Yu*^+ZHo^(1Ft>F5fne)FzbE%RytR!*$FI_IpYasJHe9lxR ze+v43<<_Ho(6g`A#M)KCGAa@L@@^dm{XqMmH~wCq@B5&|#UDv*O?!`DyYK8{U&QF| zbA%e$Glad?6ro%GWl7C^|8rd#YuQ>qRs~%(&w*0HTOxXbMf1=nm=o1>4xhUCW(;mO zZv)Q%9N{6OfpVKE!NQvcfu*=A+RQZ~fQQ#?AX^%3n=I78DD;|=M;=<{A($QfTK-N# zSGGRflZXVsn2UcgmShU|ABdmAjT?M$=J?*i>D-Y(IJCaUgPEq#?szeMNZ;>Gq=Q*= zCBRX0eec7Sn?(+P;f0)-51gGM4KLn;$)qO$o=Z6f=3NVLfTsFtYCL|9ai1E?s!X%; z;v7UJoU&TsQq3V<9fLRVH_G_z@XLX+|O-(=X0if!1RqZG^SBv zeTaiXMjlzr!qGbf8~ClXUP-MluML+pE(@oij%8G|5R)PjPi{oIJl1FIM=tM^UDOz0 zb(tIMoJ2}Sv4tY=T4%(&5A9>n zX!fZ`V@m?~9W|_LT^lUomBYni|ghz))C`7p^|@Ug$sXOdQnHW6USA^4#p4x^+L2haD2-E z>LVb(YjHf^56=;q;bSKJBjD3Lh~@H|0x+4+poTG1;gFD;4u+4xl6 zeR~+rp)x{HNgxq@AJp$6gG#!pZ&dSE8;^~*mNwikw8T3AI55qzA)0bwjeBft;ZIg? zs*pc&1KbaK>(uGOq~2e1L=DF3-79ung886*rzKvK^CVhRUmszP2;*PScBhISmLdgq z`z6(#gfh@sI5{;)MYr;Uuj6%H#h}RAkP)f)I(;LU5u(R8lLWEGO#boKC-{hTEd~b3 z@fI2eA%vcS=0#TbfO#DxVb*|*y}tsJUp*Zd-AUlJ9?$0@1%CrofPp&@v6XO9`km_= zgEUU{R&r0AI4%Lm^{KFoB17EVnk0!c&!wb-UQ^0dl^dma9q$s839eVw&It#3N|~fy zANYxHp2}ytFG)OnTb8&uey*JB0W@e$@dt#p*pZ(pU z!0i@5$*d#_!-Qe!5nG0!8@1Xn&;zrCSo#-$b{6}y$!Y3!aYSH%J5v=Y5`y1Si?3#o zu5`Rq+Z1fFf-3G6_{Zut9F5Itc>wFnbBm$Ul(!R5N(BDgqm^jvNdTOrz}yg-ezR8) zt0`1N0L>Rd_gn*wW7ogU(gHjM$iIBcA_~A90-Xi+GPl-qWYhC)k$ylboaHHH{8=IT z4TZ-tHW|OFYv5PRKTo@_q=6bII69wR!Cmpa;-V1SonjibIPQ0}(fyZ8(I648m9SkwL6ks%v-v+^PFBSFcV97bLA=qp`EhjvJ#3KDycv)#rqs$ z*ju0FfA7ijn2csQ4sqV3BsdsJ=e&)BvO@^EblAB2Y~uo}^%@El)}%C($``h=dl^Gk zbPX6gdvk#EIe}q8#aBjdGv@t0zXA3b2h?{oVUh(Kt(1xxL7`YZ9}t_|DsH7QJThUH zoI9{BVo+kHpojziLkAZyNz)Gz2q%m8kd!uK%ozd+-m@JqW17~XpfM9&8LlUb8hWBZQ4U~`xcOFkvo z`(8{^)&KYhBNFamWq!MdG4Z3SH?qHJB`LCwNz6bv^!99LLIL_0nE$d;OXImmhu1*x zrO5G(=SFf$EYuDgL2$M=@R9JI#b8>&hdg$-pH&9HA1-DuJp}p&WjnNuM&2iRcIM^< z5iBy}B3UoRyPAh(9a%H~4x1SL=helXJ@_cY*GfaE4@t=wn3J+b8ZgEfNQc+Q77mLOTpu@1rbvZ=c5+Gn}pWqZJY}rPs#hk8q!;t$(TC zbD<1zN7-+r$Q?961&k-90PyYbT{SmBl=Mq&`9nZV->DRqKvxZ142rjOvze_!TMjxF zS$X{`n)yi{`Xv6UP*#*Ujqbi;?AASK*=6-69iNgnCuY;3`eXjGU66{KQiTB4RS_pH zMbBxrsKvbfk)v7YsY(FP_z#D9x;UkOi}B^|XT!fo@HHc_aZLc5qtZp>ewi_aYJzDZ z!eZ*X>SEph&P9l(nBCFv1~ifvBf1cb8;soRpz_)=W(v92&IaVbka~kf|26X`{__-0 zUGF!g%l8*6p6ZEU`NAVKN96GB2mEWqyug3@? zdx2ET)*QaygTJEwNrI=j(1nG)In;OoRI%L7iz$UGQaOhURRN~HQg2?z2;BV3YWp^& zJ^$yPbAlVQ=?9AiiT)SwX=joVhR0mV$dqD}k~A2ad*_87S*;4&l~yOU*S&M`W_yS8 z$3!F#(HGf~;^K2Qu(Lue?~6Yb)~4~>&(5};|E|Z2IQcRAoyW!kG+p!$eF2kyd7z0C zuxKgA4`uppeUqaiZa78zHU9cqG?wX|xo$KNwtrxONiAGQWw)sGt*R{Qfo8W_Mn%L&?I7=DMxR%?vkJ&sJb%*N zLH8GOsilMO{VYPm%@J{N_-SD{jR-s-dX@)xrvNkwry>nt#qCdo8B@zcPTOIM{!_obFXsd8$rWJcHfp0XeB%Wf~Ha z?sVTFz&%Soyv-00g0AViL@?KvkQNKCDB&)A|0$6#+>=&;<*r zwD0=ntHO_PDQ+Ka2akW3?o1vo7rIc(pu6^2HJdHLCJb@)Ay1gqO7-stWop0B?8)!BJEp-`_08=la^_Nk#LK zEjq!5JSe!V7w>b@=vw#xm)m)Y75G+nYTUd>SyBY?8q7djv^ob-ZlNMEG!@Ya03e_c z*if@3pbvWv`b1y}Wcxt@GdwxMz*o4NoAY8ddLiCPWrG{3+EO_5mD--YQqp|*buYuW zG+lqi#pLsqS-T+PEX40=GN$nOZtbgG&nn1H7_`1f(3x!CTm%`$>BW32-{U_?O;svbF6rpOTHS_~FPB9OkMWAk5z~texaKS!{O}l^ro*Z>x6z*n; z@MfOyl06y6Shj~6>ITkF@<`?gO7CFJZacm_nd`;-?BoDZUp2DRYTp7yYSmx8FEh)Z^)) z2)?%Ok6SVTy8=8jWji0`G}v3}1OXq>J+j%>O!Xc@$Jrnuj56xpTIy1e@lozsbGetSzhvO`>E0sb-o+D=n85}X< zRDR%2q?5vKjEwYX4((=Z+W%C_j{F6wMytJ>y>BYPpB^DAAe_B?I7MD_K6{{_71#+X zc5us@I&T+{^*6fTTX*lCL3-EX9r)kuzl6qc5ZpCu3$K=GO@McqxT2S}Uc{+FTlx=S zlk~OZ0=et2?3q>pWf2Bf%9hoi62p&dH$q)Y;{9HyTS}ho$Np$1wYbb;Ven!)e_8zH z%R957iis?myK<+xccsaG2%ngStRqPvOE_Cc911+~i?4QyksOf~pUexb*W(SuQi##w zQHGmpO5Y#c<+jb;ZB57^w=dX*2j|yjqeR%!6Ouk8M@D*wu7=PoHKsg8-tD;y zN8`E*CE8GOY+0kGY3BIvn>}G10x<*AlABNKB`s@^;TRXY)pvJjBN1(fLEZD#A63Oq zyZkno4^@}cKJuj?O?_=WPL9}`>OL-X*J~-h!pP)QB*&UYx;?Gn_x=aU$??Gh0bdow z(FNPgo9B6(pp+%C_rxMYZPRTA4)v|bgE9Z+m*^Y>vsrO#usxlF+s4`C!lRF&eYc42 zC|Vn>%;sn)(@9&|tgyvLyL|TQ%-S&Qms`Zi!TBR=0eqNuLGb&`p#;$ja)#4|TUL$^ z-0~BO18h3aKme7e|3)AU*ns;V1at~+FW_~II|KUEj!T6|!{l^*^ zv94hvG!$Z;I6d0tJZ6g)5xXAbK|V}mywa`}9wInfC38z#ZpAff=9>8N7w#yhDV8V` zi#P{n;V0LIzS$y9i%<#yaR@~o&ole3>vz2#?l_#bwqzCQS|Xa~{2v#eHIoP&+VxJV zlmSa{nEkXW(6PFpN~V5}-Kv;As;oLkO`1HRK`{P9FZ5c3E1`eK%S{bd;N2023wxw2 zdZBgG)7}=xrCkE?eK|BWENW2!TW-~C#QVDmw1&OA^$m&9A9@_Sb6pDag8rVNXLmn6 z^(R~sfid`D0@M|x-p|#t`)=+!Kd(CcAn~vYAF4D26#hBUv!E(;7?VM?>1sPY`_UA7 zXJLT73N^awm5ng4se^8dP|y$QpLLbwZk~x8Nqc>ZsqS&)$8gx0BiPLBDd+`RtHGO& zKY4t69o{Ki6awLO*#L#atiR zciU#j5@C2Vl9y(X51#i(WiHwk_TPent%`pO`#i}D#C)$^N?1ZX2fi*scIp^&YiKS@ zut>KAjEsab?j9V~JAAnh{MZr{ros_Kn-;Ib|2!|r-EbxMC3mGBpOVS1yBW$;VhAn! zE7Fbo78Y3n49h3d>Axq~6}8@KI$No)D*2>XhDZ3E>o|!fUi#7c2;3 zhHjeA;cYRyJT-*fBd*xWV75rmJ+~BMD8T z@+ulQ*4rglBaD^BRgqgM!*{torV+>e9q+_rcWU{#Y@8i9b8>e|5(d>XDk{i_9w^3~ zd(<~qs};wqV89(_7X^82-zD&(3VDBXa1fI-SM1w-x5TD4GFOyvJ?kdTKgY^($$9AEE-J$AqP{Koau|AeiEUS>@^O(3WF5?xh{=<{%N({am+~??NooeQ`M#;cgBU8y=db?o{EHC$7o_ zHG++`i}#LJEF>bMclWaDas0_U(`f_mvB{o=n6hj=%$FH_G7diWCm$*pM$`RHX9p-u z8@7cGsY-iKliiOyrxf3PTX0lhQFLtaJLmI;B}zfBhQoP=s{&`mdl2fWXxU)t)xEd( zytRJWJ2xj|q?g~z)AY+|%+jmr5O6zb<#fB7WdFXc-I#O7!?!hi__lvS5AEYO87ji% z*0_9@7oZ0hH)UAK0pt<2y=rR56tM{_)bqQ!_}#_+@oZXdIvXDmT0OB3YA!5>CT-V! z#z{DNJ4bub2Po3nTLj5eD`ajyr`-{DRW7Qzch}CO8YoI%N4frcL_pFfH3`UuoHgwv zMNKdZihNkU-yYL=y*dq}f@a6!Pw8!0>7bW+OuJ+n((ZU09CPl9bl2pqbM;g0v5R_K zwoQ*>y=hGijX-_$zWLufLZyK+u9d;pTM>HY=u0|fsps~&<$a)R8j(ky^j~Srw3ZWa zmxC2h2J$Pz3y-{%L68P8i?9Ch{GJa!2RzK2v2%A_S=j5_qMo=>i>7Qs@lY_i#PHxL znL!dIzC3RczveT$9k)V8-ORr9@MpKx+ZeMj7Ud5*Dvtm6Ak(T9S0`1;bg`Puzr!`F zs`hRnz35DM>D`mpg0~%pod9!IJj$=%&*&cbc}lq6q#do%8hiw3ZLZ!;uE6xc7RyA} z73M&0-sP_Kqe`QHRwfC5%gJKBjb9hZjmJ*f3*|(tv?!^U*v6S)jry`FeCz9>PqkLe z{yN6LoqhMsIrm{_^B#5bf{tZB>|R8qu9G@*|U$ zrrKG5`D3+RUfkw1IiqABw`*3T9~RcfWg*opKdd#?bxVBnY*DUe#TFgQeg-3jNrCr5 z8yPWtwxj~H{Xh6PL1B4QGkv4$Yh8ogNrfzLvirUMmmR5)?9=vlSB^>rYj?p-#3fT- zvwr<-#Hu1U8s?bI;uNH~$TQ3}y~qr^5Kio1$nDt`fDt;~R~h$6%j*yR0rG=?(C6kz z;Vv*Uy*1@_i|(C9?)!17S&j%@pG05Hb=*Hb&hhMpnX51SDAymiE01UiYb9m!IL^&OXJzJg?j5 z-pWq5a-r<{^Xa6v&>Lp~E1m-3F3MBi+}X3QioHq97m9^^sLwX+pRJR`H1HWFT|HI+nZ6$ zM?`#$Ie^-%Tq_Lm8)Iy;=;j*@vB*Kgf3DxCGF(t2(d>c?R=lt3h3O{{UMdI@^;rxI zXwpGHjT1`VIWML5L>1OuJaVM${@zhkG!e7lo)v#$r1V@#&x6NjYY*v zpT`U}@8wVGR-W+b$Wk~`@SE5t;Sj|z zEj2mv=xkHfgsz57`RPb!D*-XA1p2sX!Bn`a)Vo^heTw1^Y0wl5@h*&#$b`#;{K z6M4Lq9_}gjf`(MpW3Ls<2X5I@5W!%J)65FgHiGdx@UQ06l_uQ&_dc-U%V=K4i8cT7 z=4E`?_WxXMOPmKo_r-o`j?J0jj)<0;ZC16q+I%HfpB;ra{&-Zg+F3qO&ZNMD*OegF zKKixS2|d}fxZ40D$rg4zG@eifj#VR$&)nI!EjEb+AN0e&Ru_1n^C>VvHHB9g;_pS^ z<13e**5jSkAjJ>|dAL&E=zJR=Ihc)JWR5T##8MD!)IvrwJn}@RBRG}Uz0%sQbT9C@ zwatf)RN%2K$oQDx8Zoh%i~}K*HCEz^Lu}?Dd)8!g!s_!2^&_np_$nm4LWUFN@9#8> zb?&Bn7mDioJ_BoOJL^>ltgR1CB#Fk0*iCrsm}{?rq1@a<{P3+W!y*a&3`{&V3nuG6 zG`X;Te{qBv`J6AfJ86=_j)qesG)?E}_Ik_76&wr9)P1v%6U*__Oz>dhd^1C`{ifU0 zly?Y|YBukJ;0F0O0pYMHhMAYu|1w~u&0YT`5x8L>r2FpizIXcD^DYQ~h0k)c8~nU( zMyl#346+#sEa9?-q?`T%sy8^OOtHcyY&6LDdZaF?lq6!_>rVcyOL*=yhF@C!y9uP%9Q$3bA9$b(mG!+P(a zBdks#AdT{Z=*T2S&Tvu>0SNY_oOvGavHL?>ofso&!H2uy9J4kL;>Uj3zhmCXErB=v zu^XCI`0S|!xxs2p$?n!QPf?_|LDUn!6Q=JqKTelWVjjrx1lb(kAI7eSJh+=R$(YjD zu`g?s_ycDnPQD!8f~p;r+U%%y~} zG=i~5pl*@~hMybZNVEdYiiw71X-prmvZDZ{0K+q#bBm$MAekWSj}D970}!jzAC~lH zzbSn^8(&*z6*^oeMHc&gnQbW5d+JAa#f+xl1qWV5g?a?5o=owz@iszwx&kh0L`Vc; zIS2LMm&}+p@wYtW8!;qT(?Njbl zrs-DSGk?yJJr*A9-bIDTBG6o-@emz7Moi(`FgH0Ov`aO9@9gO^ugA=m2i}hho(#P+ z=AmHqugZ>Hmmh*h&g4?rpJQRXS?Z4XXX7yA#cgFAe%3Io3PU$6e$LSp5pC|boVd!P zkzzdFfT?*Cifu>*lGiFur7wj~e;G-qOXX z!>s8#b~iQXzk+E`1OBBJjWl86?O}(kOkw@#KM!h-CXCol0APDDp zLvKoKm+(3DfM&n(MPk3EVT1K4<0|?d1BHFTalr+menc;RQf1u>FAS5A`I5l)6@!_f z>0T1+l$7Y`2)EeFiMcXc8rx8sS|L0<$O**{Z3N#|HR|nIF}5t@te=e=-puDNc-cwJ z_P*xal+TiKDqbNhItdio3vD|lY13`RBR`v=yGm9n?en}`+D))$_`&0`c3ti(jb$OJ znhYr+Yb22%)HPk?u9#Bs-DI-kk0rX(^!G?YM-|ZT~ z6vtk*V@OB)1Ko&Y(AEr6+4}jpxsqwTwk$ehYcWE~=S%+n4FKZF_Y!}t@F8&~S{+6+ z&Il#t{iB5nS%I&5fMPZ5X`s)j5sflqc*Ih1Avba#TThfw#(mqf@D>}Se+J&pRvP8Y zSB85)L#qw?yLLHAAgT4@S$avy#fJXvSXp(Or#dO0J+KyG-EQ6qlNI zEOH;A;C0i?6w6BLWoS2hC&vQWhmyHN>0xd3qZOR4E4iw#k(|7U87_l z@wT66l3z(b9jfZ0K1cq;Qbv%R#pzP#zjqRK)#uvcf2l4xsxw5ZbPOWe0cl5ywc^Ob zTOiw7iue`<$^-_1XK#RswuwMxl);rNVS6{LG*Ci1>|+dqP@2g3bl#AX7)S{^Z6s^= z`~ST$I&&Qo*z9X`-F+@8h0)OTzd{U-nN)gGI7@{1Iu z5-IMDQuER8rO_VEq18P0H6G}}tJvP%+9R(Jx?6vQx*yQkHeD60UVP!+zim**S=0|w z2lhxx2JgIWpjn+R!-%~@ggfyR2w`!&VZWiAkv8V?Kdj6lKuU)UH%WASHa)t!?SCn@ zd?NQrjHy}qNWP+-v>V@w`64=qKb8@mhTI+QpjX`nUUU3S*dmf^ahid7QnRgKsm4dJs$&l3x#*z?`;CS}y2n)m)-5=QxEWCUO>v{E>jJQU!3{eUXzC=A4z1(ZN}?vmQG z)?2410#0v}0w@lz0S!w9#myvSXLk?h6=eXLF?4Avg+rH$;^rIiH=w# zL_xBA3IQ)=rEZVKo6?Xj-4DCJ>zjY_7sFOWA8UHHs{~4x7|R89rsS&)rz3;1f(^qf z^_F7QgO)AlBTct>RgdJ$d{r=R%%eXHO?p|%i2kE2UdMG(rV`E>C)T0Xkw>je3npPv zp|?G!QS|T{x@lW~&SQEylOwNz?lsH^#@B2V-vfgm6Bfiuf3F`dX$dRC>biF54(J_`;b}o#BWqgNDYpi z$v_Z7{5`C(C>UE*=MF>dG6?;dYM2t_yeI2}CVKgUw4Z&p%c%Tli?4SB03-`?a>P;3 zDMGz0Yk3H?ZeYIa)3y z@5)zQ-|(R)^eCtED#_$9He$W|Sl7Qmn=9>4Hw$Acll;YO?Aj1bg-R{`0Ltr1;xuEP zT67&r%%O!$g!9`~g6m6 z){omMu8`VrtX+1?>iPl0Lb%-A7z}y*l&E>S<6&ZIJ<kYiI{e>96x3s%>rtedQQFPzBfHG z@xrx3OS*H(p%YW970}_5!alQVRExA~&$0-9wd{wN)Ap0ypYgkhH|!LbBstvAT30ah z)-AZDo5CCVwHm>I^epvyKs1g2B{e>LgiE=hWMuzduS@__xQA8NuKEWAj~mcJtXS`);F#un_7YZ}gY%}=M~;@vSOb$!+oWZ&u7UW=o^vR{atHwOcL+eK68egaT6xT z%DK_`YMP2lUlkX+nTOJPYQ~?)s5|{QbP{jaZb4bwO+exJK{2Vg17qichRVbE?soAbPxZ9ZCt@~_>QV86t|8oHW zqjC51zx+pXz?;o8SEzQ&zs00NH2TeEati}9I(>eJP)N*(RvRoNW5?@_wuwVIi- zroM%o*wL&g8Qn;qSq#nTS*tA~s;1^wDzgSy?g5aA8J8Fcc&hG+Zq}7rSfUf$~$_dxJZQ=~wdu51ew6UHL=(?otKh{f3grjnVj1j7V_SmDWVk1R4>Qv^#npOhIk>j6p7 z0{KLSenVv3Jr%LL?-AdDp6X*uY$UDcAmWQjE3U;GrMMvB$X!4BOIX=+O?6DJcG|}b z7f4z0$^6f9`%bty8Nu@QV}dBc1_WbkXCTyG@+j!B5v;@0{!jWxe2~%uzaXGN5ZZ)! zeAZN1b2R}TFzdYaLr4K;1T%xSm-L4PXo-tZX_d{D2vy>+K8q3p1*&%k-k%oK)Ob8HArye)~bpL9^buMJTV`2`V)T zCTdx)ANLpJRLb=$JfacJMiiOrPOQ^Jd#WvWcyD07!e{;Vu3z{FnN-n`lkW3z0D)Ip zWba{Wr5ID-FCzLORv|L7r)>(dx?7eNo)yPw6@`TatsF+zhU(Nel!k0s;yU+kD^@=^ ztQqc&KYK_~9EE9Cw!Z#to5#LL`L)>5lD57ww=JyJL*$@XzH9;{kBi&;0SK0iIxi-_45;N0OJEUss zsc)RZk6FW#F+&buYN~qQE!8lqVxq!g1rm~S%VU;bzI8X4Q~CY{XNtOhx6s3Ya*`Wo z&apmVcUFvYWItB;7*hOLh(xE^IOAr&F57ExTM*Gn`fJ{^y|=0d4Vx4Vz!gs>$H|?h z{@%$*p|*3*ZQ6wb+LsHx$s%A=1dBiH;@k`dg)~;ucKi+FO!Yo&)<(U()b+mZOh69z zsM4yBk@Gb$wg_oxn|-Wu)RusZ%vH%3#Dj~)RcQ#xvHueaGgpsW!v!9W9aUgGEDV~X z!rA=mIKW*}%{(N!(TC)Y%&uq2@v zZXf-i$Hz_%#eXbm@tpjq5g$he4{BGtmZfaGdRdiu#7=M;E9 zmDkl(_31XRZn3E%Qyo&p3VhM0_V*g0A+Pdj5j{dC)R-cG&BHuDV^s6LG4 zH+vu`B_Szi398~0^)0axwp3NZ$>%9b=o%wZ@d5ETdn~vn{zn%ZF-t&jVeocT-7YY=~;IzVQG38Ky=%<^xzL(Tf!qe_y$-M6fD5fF zwb|RJ>8BVuhfE%T=CT^QI=h8pHb<9J5kz}-Ve67ljo&Hlv$pVgd4V9ZhT#sx?+{Gk z6l}W$GTiGh73BMCoC0d~-Jq_LN{{w>n9!d29R8so&G^2lK$jiREdev``ll$6$#6!f zz1EBYIl#XqE-@~G#TBPdPi!JF zoT*ecT^d;m&wN47wl`qTQ~{PTkS+X5_^YJ_+d81oiwr{?atN?~D@tSnlIOSEq;TDzg8*R_Abu#X=d7mE1x8cXFMks@xswj`nF#VS{ z3oFPRqVeJ_uYYqSRx(m8vKzb|{WDeIWTyRoUXCu{*9qhWg=3)hs!tW(=1S!D8FE1m zCsTSqpJE=bguq5ddA0kY@DTwr{oa|Pc_?Jbh{Z5lt{!jXyfO{D-~R7Wzdi?B>Y125 z@seA-fV!!!;u;p$N`3oWV6Oj|ky82Kn1-@mL?gkcjek%*qZCOSw*aG!mt za6xDUpV0kVe%gqlss@#sru9_^MQg|-eng#T_Ys*Jfr?WRt+|rjs6Sd^2UR?GM- zVEym(jB0>(2eIe5A}q}vj%um4xKy1-R_mW?#mA3&tX$TEx2=CUuq|c(=rKT9d<_)y zo{Pn`a){}?n;e}JQTywqv_f7%d#dDkpCPcj{*6xhV6NBXJP^ee<&=NR@#Mv0#5W!# zp!w{k+G#_9K8yAV8=@N>o(!p68k#je6pL%>XJWv`Fn@lKT$J3Qj@k;za~oY86KoD= zj{<8oLEZgcJxX@3ykRc09%;=nRKxf__EAt_ zG{hy7iMZvqK8ClV`Fxfsl8P*%t>v-b3BPmzN^B$0=-1SG!B5t1g39LZcY7o|@RtI= zJ@65mCFrK=_>3MDf+hS%e8WDrO57z(6Eopg?s6QQo7A85!(X3+^|HYP+5s@WtL%4N z@ba`-tfq<}zswEeb!K1TF6=y6jDJ`+{+EbOP=*DE`89-_!4wr_-iD+Cx20NrE-Y8n ztsXvvcp&W(QiikX8z^Tt6=1|7Qh;~98D8;|W7i+0e}T`J5y`OCV}LXqnc`0t8oi#k zh~d!(bo#v`1w#or7LoLPl~!J-wj=iZZi-~Qb8(%p97Cq`$w=tMr0JDOJHz&b3YG0yjl+M$(-0@UQqIOBcEqf?JN%pip zs*Klq8q9qY{}pN(D++Xl^J#{u$!JY|Kya^4<6x`6GAG;R4K6!7rMt5ae^kK2z=Le8 z1>|Jb4tWaaGu9kM66nHVK5!jxH$j4K<9aTBf3M+6ISbEc06ItVbGN8F*3ik?32={A z9CQFV%`uqHr#-U&4)t;HPSIoOxpb8tnjOkqF)UT8twZ3_PufD-ddYs)*4oVEUXQFP zemC5j5>1i5c)RZU!1OqoIjR0j?8}4p#6|M{ilqfAl?CW{@m|%;^t8y9`)dqEUE^m8v82uH8LA}nv@AJqXpah+V(fL$=YY!yAN41NaZo7D%%yjM&-HIg z?!Pq~qv~#{t5Ak&lLa*9KeY+B9lwv~YAN3?Z;5UovsGclt9{vf z)}2aP-TRZXhG)udyhS*_&&cATgz>+>{N-oUS)RaJ@*+ny(q|~L6C0`j{`WdBRf-pHBsDr|H}3KDq<>Y?_SC5u zvG$n5GRI$actYB+70k`EE>C1?%gdA8jr7>Ep)Ja3g!{}{s^T5(AZ#*PmVgK)jCj$t z7Rs@_EwL%mVK6wiW(fYU&phZpkg95^Q=3#C|0Q}(&Z9|I%l9ze0%VuWNl&`<7vBgY zNnDL>WxlQJtdke_QEw>K`J!~G2L5y!&%l?fnBbbnkcqwSe}`)?E(}S#FfRAR!}6vl zKr0DG@wm2>Fhu`zDPT0SxyJ-c1dqHb1c_jLtw5LpZJ#DWCE`dem9ep&$H!OdgueT9 zqt>y&Ic4X?c0RS_w?p1>dc_76-Ln-nUpcDeypz*aak)TxX; ztJ!NU1Hq~G)b-yj_(zX*Gij|49rG=+G!kx;< zue7Wi?Oh*CRfCIs_61{sD(+dZ&C|1wA%(37W1FYleruTGsZ@xXZ57l6MIo|-vfIOG zhMuR$1Qq90`g>>^tig0YAeMr3GUBhaakyO&(O4Y&ukL>NhlCt+FPHTys8#nw2JF@R zX0#Oj_yJA|(spXe>8l25kRbExha>a&7)0VZ%*xe>%L-h{g#zp2p3x7hvTA0k%#^B9FJ_k zIxf{O87ZAE{F6wvnlB~E!yvbnRhkmPEX7Tznl;lXXK~X#!Ki>zd!(h%)Qm zRLD-S_=ci6a1h=zBIxTVS*86mJ<(5c!3WHCn){P)=J1UO3oJ?!x1Ouud}{akU3&;> z^IbJlhSpa*jEWy;=TCkPhIseaBVcSk8M3%lbqoW4cN8;bM5zh(eJGg@13cnG$OnJoYEA| zn9rYL5%%8{;}Ij~s)R9OCvX_EDuG)_7@k6O0#TN1a8Eq7#v9+ghWkZLyOgHA-9xo_ zv#DoeNG}zI7S|!l)ED}!@7MORIG3uKO<0CeaNh7rR+o#gzc-h{lm}JX3;&29 z#@(lnaJFdL0xaK7HA}TM`rz!8StG_nM4QudTEJOxCz^9+2Zz_w-NO#Hvhf5teOF@T zdx7|}=j|A>E?x}y&F|DJ-o|BJGs-OqX$LW?PZrAhF>J;cwag=Uezow?2sasnKdJTG zz8|vv_&6x}fhpe<=1< zi3`lM=nP9&cf?a!q2=D=%^zit{OYD!^zp#=^Wwl>DJDTYwj+LJnHyF48k46LAyH*J zJQ!;qRqV*^xQbW`&Zm$~4G5YfZ!HQ@<}sXxe38GrF*scL`8@VzEIi&T6*`J-<*~?q zomMD9c8gB1Evcz$2%DuIhAEpdeFZ(^(}vB*w=03|0q<68grqKA31`N;;Kt18>!P0s zQuUOERG_tAHo7CheUT@|OF2?1YgUokx8>(hYp#DD=W0tGuOi}W4M^v;18A)#SbW<8 z;n)FitTGJ(&(SvUFABKiR4P*xtmz*sok3r0QmXL2P|uc+yHU0oPhfbGq0-&+rApxI z308RO@Uyl+5kl6gUGhlQqm^0CETM0#UYl~iFpU+HV+M>k>TWkE)6!yty_oB7{59)6 zov@Vs+=N;<Qkyyo333V<{O;8|!5C5I+jh_Z>cq9tFC3M& z6G#GoAlQtOn-ZO4Pur96F*@(-A(GUT$-5t%T}(74PrUdcXW36Zu2ziV%nr~|g{UL~ zbx1ljRnP(^9}O?IP;|3ae;$8%ukR*YL$#n6yU%R&Rk8WykXO@A>axJ$mh-X>s_akI zdE2K`R<1}SLv@Yo!c^c&yGSDSIWInOd^NJU{ZeJ_823eDyVbz|Sb(qGUn(q!Wm4@T zUKDdjXDZ8|=GCnTpUEt{0XA&gC4GcO}o|9NYZ01X9)wFQlZ`Vl6=m;nLU^(d?$U{;V~b|AI>F<(Zb_;(+<( zTi-Pc8b?3y2%JJi_UvC`qr3N@eb0Z`p}O^})t3LB+*w1IAv&ibrm&)o?JZ z%>A(|wl_l;d@^7(6h@`hNl?3b?0J*BE2nU;_qcWOQ5;W_&E%g0boxs_dEDE3Nr)yI z!Ut5PQHQN=ZiZI_@F+vswS?;R#KkzlUsYxKUkBaZOJw}F9IPv3}I;u&`;l(O=umdDRO+u2HxkQ~;%2k6(&l3EWMr2o!G8W{f zT;-C^($K+z=a-4oWH54Ov(VKAzBlg@kLmqH$58XW8OjaOJ=swJGs;?%I31T7T$Rc~6XfyguL*1ca2 z2a)ENOWg~9`ipUtXL`eeDcK~XAN{6?4}MSUgVOy<_*gR<>DXS3g?KLbvEK}CrvOJ% zLt6EiMV1r2stMQL)MCLE5(CBGDZ@t1CP!#ZTB{4+ljp?1E`@10uLR>q)?n!)KQ#W2rQOgNZ z)bD9qrk_wrgzDs&{eEuBp7EEkn-$@G`_=4iz3Zx?sYt1F3wj_6KQ*N+Sp5oH&BzrW zedZ<69)o5to@XtWrZ)5SxB#GiJ_O3IkE!lK`*wGRfb;U1R~0CcDZ?uCKk?Awy zVnEM@yCi6@E*H2jvh}#R2;It}4_w4(Z0>2JuShmI?;^YX5^FWHG=K4)(9n>u<7SiC z^lvDA`4`K%nO~na5G%{+))Y$H%7M|h;2*9)fAA-D0%OX+v*3P{jP18kW%gRQweJgW*B{}>=fBOIz#q)pHH7u3yjjavPPawwm_!vGUQao2zUmK=Mr2a<1vMMXv4ej_r( zu#SH+`RvB=`5?kV4JvZZ#gB*Hg4Oq`Pdmd^>{Y%pXH4?Ct=|IJDND=9j+6&^ttfjT zJjPuJJLm-Q{<*>Y^c+rxn6p16mcI>Y^=tTvk!uvcYteUbxMlYi$QN2i)(!7u1~ueu z#-^W={Iu|LZ)jC6d3d2S&;OisJQ$xXI@k+cH!|3HKFT-;6qB2_A42pjA3Myp@G)b$zH~`C8?hNg4Wg0Icpq{-vucbnI zU*Hfby=vqRP}A`4z{lsZpXK{wIrEDiw~xx}7)&`~@vw{V_I$_E$DT zzdgAB@*pBOw99M#5>i=LUQ&`lvVh6TY~{qS61{r1HoTvJvWeO0pfeA*(UX!7td)Hm zd#s9hPFP5?BHzkVT`114S6c{FPg!0`1Uw^A#egryk&=GFbroR~C0s=MTB_GpL%Rc? zJ%qZ5QyMp-T$13$#~@T(E=yC4t4BO<8jUNFuKs#$*TqHLv_nu;y`N(78-=VAwnVjE zJ#OSL^SA1*UJ;&|B@=j_^*u)M1{N(^c~?7cD#Jz(5tTAnDlH{OYbYx#=Vk2|MdMW5 zf%Vn-^Y?QYMF;rew$W=x9&wqOnab|+bHBRZfT6pN0OVNdA+`U$6E`>r)T1Imkh%

7I2+rBIQ;vr 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

?NGc9mI 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

fk} zw9!yQjQU=(9fONLLuD{IvHjxKo0{Wa<(9$7P#vb^V2v()GiLSM+g z0x_#*GW3T1$k%V+rc#H-Uv}u&2-hsLNy*YEy0=Zy_kEMjmy*6@*v4N7m|mv`L+b_a zwP_4B(#2^u|8m3UnJgb_pk=5663D4hmt~HJ;l=Vms-l0S1~nd9WhP~#NNxKN0JiIb z(;v~j;T(e2@c-P_yT?0omy5dUY6^~;O|@}HywCehygT;#8xQUkkg2s?N~l%qzDQIP z9?N&e8OK?nUtpwf*nXIISfHhQ;*&9Tch+rrV1>}0p88RJjz&bQX(v2~EnAil2L!t^ z2Mc8A&ILrs&NS7{dEwNo)>E8%S>lr5I2j^+$;KTRt_pyLa0mFeCV{`}>QVKXz&7;SsZI1~2YTYdA5N}(#g80QwFr+M;d&bo zbNgQX7~2CagI7Bq`x7)a?ff%X^xZIdL7E@h>ykA~ENvk1at}yw4L27CfW9!d5japE z?f$5Cb8%X0VhLE36L{`yq7NvX0!Rd0W@8IQ=&<7i?0$5{_NE`J8ML5>tO6aPrhqQjmx#FH`Z5rQps&VFxDRp}3I=Oz^1{9V~^C zK(iKR4h%QYeyNFlYPRC7A_D9>R!fv1_Rzm=`-IEA7!L@&5r zzpt16^Gb%BD3fSI;SB^0R)m;b4I!Rv-a9+|9+ttKx?B;@F+=v`NA3>Z@RRc~9K85R zbO6B!NARe!mIHFl-0AlR-$?{_9p}kvHB_99@YhORQ_unyXw3BLAqXW6;Al zz)j_=bp&w4fR5d7xgn%e3*hIr&tJ^lJ5MEWXZ|Z!$jgnb$oA~H zM%2tAb5W-1HT#=n+Rs8N0RUn%n-bZ4K~;;8_;5>S+dsKdn{X3D2r?ynN=a+W{URT}Bc~P%fKV^wG)vkIZh5^@=>-%81Ua}$Zn(Rz=MOfVrqOjdhuj-MS0=3#WOZPU!P6fP_9qpKlU|SM z2MM1I83ux)SLbhW+p-a!s^FuoSpDGZEp@@_E3>g1Op^(?HOghw7Ht^5N>xsEd2v(l z-eAuVV~=Wk_yCVbKwcNpt{iaME$j1x83a}CEmXbvsfGDO%=zG-KqFnYQv=X}TW*dW zU5C(C$N|X2>!jD;#GS)lq3x%AL`krtU11;agt{OhUt(L|P-1+5Z_Kr;zh5?9h~HFI zHCKlNnoDjjZGQTaR72}CmP-uqg-2oKs(l`I zMYS>eU1oEv5#tZKHOw_&`YA+cf90#sGpXz#fl;pec?pmrs?H60LV7{O)DdUXaTO#> z=IHPMO}sv}+UsyK(f#{-@%l(=y+cq-kx+t!^R>HB6;U|9~RjW33pesrF+VDomEg2+Jd4(mR` zVk!|!Ea7uD1d4b!6Y*oQ#qI{#;rrR-C#n~jMhsNany?>k1kXfj+4!Bkc$N0~f^LC< z-@wiHW83{hH-U5al>c3#`Q2~-P=$t;Erm!^UyETt;P|ZxqGOC>FO&PwF~A=O?DDZQ zlKwIYxVO=U%-|fnlyRF9({SeuGuK->uA@uVRC7DV?IX&>Uzy*0)FD8qmtMRNALM@c zQ8olP@vkL5xMRCN?x!|+wb^OGINovG?{i#1vlGb-YsUfRcue0zaoMoR3(Dm(?C2!19TVM#!I$^@iy6(b+bcJDj9BNn^k4LE4Qe(A&883p z$M!Po(%oRQCMRCr>g{p72~jH!*ZrqI1?0J&{2M@k?|L1U4;|U-C?XFs|2b9}>(!lwwP-MvDOz>?m><+mcP)zdvGZh107 zkj-)MOYv!Cw}4AGT06{TT|qTGfVA*aC!+81Ku29)KZ9^VBP1Vble&(-PF-eazn*&f zejhPZ*UQcVv!W}9pV^q>#JL?XV#&~rz6RbLg$<4J5kkyKG+FRv6)HoQ6kO*{o}Bh9 z`~E*iYI1y}2)2Ei5;M*FwZDJc3x(kKLb!E~Vx5TN*ou%mw8q7(t)I1_mWjE`qZ*Me z)dT$`D!BnK!Dw8l5xMi|wZ&QJ_u%2pau$xhfHy@uL${$=diq?}V+298@F?%)s=uXl z!sQw+4SHaOpc$};jC-N7sM)U3W?r#aYzTFXcNYborLFdff>uJ@J7rmGc$;H={zS6o6enG3^BkIZf zr>TJ8y!vEADv2F|;m#J|U?_SBk}Gsqf^QLVcHiE%Afk+%{xSuas#fi%b_TD-ND(*| zse;a%oUpT`HtwAn0o5rvzlSv7A7;MOxk(w6Dl*h^cnI4EY1Ir%dvF3{({jwfV%5SrfP1WW58(&>gzYl7Xnr%8e%4OMt}bD(XZ{q zOr%NFL2L^*9$YIPGm!_K6iO(dj$ptK)K>dgj*v&Zw)+OWis@n+^DCfyVd#h-`0JM* z2$J##SqW@;G2S_MiC|Q%jMA=KvD*94>>)S_T!-`&uVp4vJ(jsPOy7?6z6^^=>(`H~ zHwdeBqxumqnU^-cqZmdk}~LMUEy9ja`YPBIdq*J&IlCp7`1#* z;T-YWy!yeQ9txwwsd3Mw>*LEkPs8@REOCs+ads-(A}~fKEdbiJj>?~g{;GcGvek*hD9=*9KH89ze1ETmuaGfSXCM1f~9#EBF=oxUK>-cxBI-GfS()S9LaT7;|481{v7g&g%1F53paj+rQ2g?;BOuLCFkegXo5}DX7%E#7}hd&Bj&t@uon-f{3(RU&A zE1NhC88-(32CVg@XY%bo(ZZjg0m3H)O#8hkaf%z?3;5B$r%h*%K=$3N`B~^hF{8&+ z5rESgAzpcMI0CKgkArsB-n1$Yi2`u+R>E~8jwnQD4W^TXs=oX%YLuyIMm;2L$gX$p zcz7RoxAdurmnV{9AYkSA_+RfEbP3jRKJ`TwF-KSw4kdJHu7U3+{p|eheO#7UTBL3S z`u0nIM=%B{{tm?DmvW&wxvF}#DR2eh50Mn5z(UP*L;^J+BXGr~!q1x^q5t(0nz%jH zyBkDh(>?0UzswTz9b(G4jaK6QbUsd9@WO!|>pO+Sg@42!xdq7tutPwf@XO{$2HQn1 zh+rD}JH#5H0upc2qpW(jA&^Rca~v2$f**hNAs=%LZDc0mF>VhBM8Pd2GNuz}f6R9} zG@UD?xF`#Lj}ejiCjH2}s)^B}`#DyV6)!(@j7cWBg=wq}+|VYfl5M$yNr;4CV|cf! zrco}3cI*GHCm8!!*_>;+mzhP2HP@4AykL62o{WS9%hawtmYx;Mjp}FE~{{rRH&nK+syO3ABZw*h;wN^_lWU8EY35sQ-@GtR>G3iTw z+q$FgCRw;2@bsviudYbCC=Ab~MAn$BXh{f3{0hCBWR-Arn|rXc(5Gx8p8K|T<_+_U zwy~o3K>6@Tj{YYZc8VV3?sI&(-?O3)^_7qs3ofH>D{iHGksMtHUYeUm0;2YXX`lb|5gxxQv3H9vSFPI=Q8Q zhcwXcBG<{SU*%aF!IHn~1qhJp>Y_3yt?=dX9VT8^XHUJZwqPsQ9MqvkR!%Kf%+r0j zP_@M*s5RJ*g0H1PViVy|NNR@4+8F`Ue~0xMnm3Xte+KqaKM!WB8^r<<*DV{8*iPMJV(i{Il>!!8oA8|bMPDeymsd&+zQli3PHU5$MnH;Qv(Vqf)qedg73+>_G_Y~@Dcy|2ix&3F^GnkY+ZPX?u3 zVPn2ea^lo&aX&WoCdG^IRzz!R`-Zx@c)EnUe%WoQ&OG&;buP)MW)rFyt8l~PPgv7z z#H7VIfg^^2N#KcrwJ(Xm9~8UQ zm&aejrS*)JZfE)V?iv;r@=J^%7&an)D-%N3ZA98VadltAA5rJOC6D!L%q-4n$lI$- zbHrbeIDQ^2hLKJMq=qDm;f5mrVQV5R0_{}zYZNXZw@X58Hncs~&jz5@qZQ^-W zCXMkHLOM|#HSZgZhWpy)deX2-{=7IWM2!eph`v+&t5fKO9Kw^g#^UQtr5bnCLKx+f zu^MB8!j+uY1-HJ<@*35%nd#J&2h5HQ%uP-uH`J<~`n#AFJY+GWT*e_z=zSG)#i5;< z_}YW77=m)|f7u#+5|Zefdww0H{iW)ei{4e2G;?#>IQV?aQBii7|Gt$q3$nEh2f^3i zD3GmkJP@ zUBkTl?iDWW41?5d=|4|EzNRFLJSBHK{QF7tcOFE+vLYOE_sbY&x*V(y%DF*y9DJO_ z{~Y-VoMcAyX))n*hWQ|`=5_qL5jIpIsLLgWmqi~>x;9(U;UOY;EM){M#OOU$mQ`1}dv#*gOq?KXG4Ma{>GHx|6BqBSh#RgBnUm2dr7y_Y0f zV2RzPFXE%$mq-SKKS6EOkMbOU!kxi4OdxozH&3_pSrp5ix~(G2G8EmNZK+G5&q3`5y_-S~;v0evbM44MGUp zYoio({Ps$r7(n6i^TE$+ldfmXA4JO$@+TNkTr%PZ-JNyAYIGP{WmD3~Dj?Z!27w4T z5gc>IPJg!H1dhS+Au`~L_#=lHEDlSWtr%$BSs&4?$vMlv+!yCJQi&k$h9GSfK*84z z{UOFcrdbR*dUZ=n%a<>-phvKHB2aJ;S}9c?>k9m%g^*W#2V)fg@QQUTxK^;K>m$08 zuDeUwx~kBTI^V8jq0{V`0M!N#t!Po(G8%-1ZmyBxk`vCqQ3 z-W|i_^8#Xq{y2wGlN+Ypd774GObf{fYcQlc_7(tSRYWX*^9zE=9R#mxj(Z$PXMZJE zMNjSnr1c4e1CdmYKfQR3S}(H9rOHMT@#b(Z0IP{UxW^6&2{59@9x~(_^74VgkT%?e zgy>ME6AH7#G$$myZuPXf(TTrrK!m>U3M(P{H;-Qc)QIbIFP5h_71|xFRLAN&)b-WX zjr^(kuX^!3N|Qy@XhWb(FpYH`q5LP{Fz-lVPRZJg7j_XiaRhF`&^Iz&bI5$1SvTuW z3#o!c98@+c$`US+k!ij?JgH}dfY1Y=q1RmN?iQ3j2AlTc><62mnQY;3ANuDS%I)Tj z5K1QD!|e%qAnVPq1*XkK?ggfWja#1o-T7OHqMD&OR@BL0F+iNSz?ItS&4u}`d-}%i zM+Xk7r*)q1LteZH0NGz6-YM=x@9(=t;vNAcsUH|WjG$VW834q|NCR@@Dw0DIoJ|gs zH8evg-8{p$RP2HIdJq||MZY()w*WKD3ZYOq2zf|-RW0k6nGbXE3_yU?Sr!vu5GVzN z%PxdZ>&cBvW!;K+Ee89c`BomgN;D9^@Q?QUtN;?w=p-5^J&lPzg?z9JLBbDfBqiJT z3|Y91sT-X<7K*rgBhuZW5~2Yqz}RPz=BfcZFrae4=RB1uLOy)MDtOvR2Z~ngudlvC;M7_G>FVZbvHwWQK6=BqTGS1w(Q1f*21I@P z>4t>TWF?I~UEwq$8SXANI<*Jj@SZbB(}l^1^1)kkJuQZLE(KZ}6UxogAm7L+i5q!1 zxCfB5*VvfrIVt)u&KVe2$|xh+kTRgQ`X%8^ZhoTWOAixX^4|4m@+blcYKtg}5^^et zvuVDZBZai_FXMZ*V*a&u+b;nP#lIX`*eHZn4YVS#%d5ZUeA8g77j7A~o#0;%I?#b; z+4nlGzu!QSTF>HNPJNNym(A7XcD#&U(0x6u%jMajC;B z)SE{b2F!nL%4hsz$&8hlJ~q>o+F4vqb6dGiR(fo@La$RXBx)iFbrm%W zjRK~orqm%3cF#_^ZF{;cCURRg3SFK3$vkr=gOGcnJfaLUb9nahw|^S8jzyZYoWYQ=1asXIl&5ND`x&{l^*N- zeE|&2%XiT}Qqzl;WIE&>X!SrwUn!<&NrMYwq28=;@&DaPu4BqXWuvsivTh&D6&th} zwKQ{Ut~YwQM^U5hNWjltA69yc^;eJ51`DB$`kFiq1KJ%HqX!F3EY8obPeK-B;j(zd zsV3RZVobwr0{$BFBCi?pLjSl!uLRMrx#aui#If|I!+YNSM$`8t1ZDkAX5}jK+HUMp z^6EyKXZ#l?<>ff|Sgur&waoqb1y4^Jv_s&2)3^252OO8i;HMESZVG%8tFU?AV00Tc zZ4~t-fisWU&UTSTJDP5$%Oz8t>dzwF=@4geZ;G88A8iQ0fuD4BE#0MKvl+#&2v)Zh zYfs&B=hBF<;41vO4Vy zk4cI8l|N4-@Dv+HJ5AQ224|0V;Vu#?upO43hfv{)&U0T_&y3oCdg4H zLVKT{`0xvErI)WogU2UDi%WbBR$Q0%``8CNmI|-e=%-vrAaXu-G}*x4OI=%v5Ow&k z`%!14(;XXhPCD`L^UzLg2#Sz~Q~>QPirs^NB6YI(_H~m$09mg@kr(EGgx1;mH068(|(DE=F>D33qK?@>1HORqCWqK*~8jJnd8^}E~(#;0%FLUwLtO54^7-dYwI+vjJ^2gpxGoF^Vrq?E} z&;Jt&c%y{~g?}77{IfznrS|3iER1O7nPgs z!eeU=vj>n<86IwmRVd?-EyHD)d1%@4?&`mS?3sWTF?W%K)^q5uXUJpl>)QFa2d*^! zcG_(Gy#pr5>cOQph$y6DnjZY;KtmPK>gw>a0XBLi1PX9yjz8qw%_m*gwrInQkcE%L zuMcTlVP`AO5$rCcw0t2q7GPxf=Lom`(RMGFxXJu@n|k40@|ovy9TN^Ke~9cEro<=> zF&AZZh;tm=5H|`_fxk8>iu3x$4i}kkf6RR7Q%a-H`aqkha>w0{mj!HpxBn*}vi+4~ z?TjcdL{oY7gBUlwHRetPS1!ig(AYTglKWykre;a{_XD9^jp7?QF)?p0a~t^};yoj! zuy29No4p&$P>PcUgOiBxRRs!50pC&OOuN{y4hr5XH4ODKP2kyu_XP{2!hA zITATiCtYe;=Hr9DhL|$)=47nUcQnGzpNdSn>T!30)v*Igt4^7^HSQ0lzrK%>Lt=-$ zqs{P?&AkFS`+>*V!zE9j{Ml>J4gZ()i2l`22K!LgdCXP0^4tx)6ML8sDX1v=?Du`M z@9({kU<*5m024EWP^?|L-tWH_i{RBO!33Do&!$*DaEN(mI^DPvKFG<8_pdej>2Q2{9jvGq=+n!9 zN2>EKP=>;6_$F*2{ zKzCySedrN;1Hi&>j!@wM6it3<83Mo}Bm)|K-9!%^1CaC7>$vY2#@sM_3*>Sg8;T=4 z9tZQfIl2H4yb}HkK#;|TEu<`qFNP2*&rFyFLIuzbCik4Rn=qH`nWzhZAs2!9hjX=T z+NDd5PhCeRUULSiqaaz|`K~lY1{cU|56fU_>>?)Uh`R9B-@At4g@v{e#E!!kk5e_F zVu0`d4oq8hgAd2AB#{dvJ*AyOni9*24j4ew%Pmn0^dGr1~Sp< zka};ScHe&7R|3Ew`w_c7{-))-M?aN+^ZV@q&S;?2dSU?~D%n$ea0tXSHe4s)va9O> zY#|}eu2+4j5I~U?WSF6|0Mx+se(2*q(;l}7b&#iA=OLKm;`^v`GcBiz^Mf*Z95jve zS;AD+`H_kemk;mNfOjU(Va%-$yz6o99g|tmZVA;c``t5m+17Ddf+@BSTiSjNU7fAy z$~ybUanJ?1WSDWYqm4R?7XP|fxZKlsw8bI{ken~^02FMasepY0vH%2;2ZxI#V*-R+ zPT3v6+j`#x$Oy9Gop_PxW&HIOE%4cUu3XWnb^Z4G0+Na-Us#6$E<@|HT_c5nf+!`P zpNX{%!5~7>-KPd8e2;vBY0kbfGxFiv;c^oWfhwpgZNmHnJNVU7qWG#1_MQQpY(C4Z8!Md zR6KxVT=vy|bwEj)-CQDpEnmD_lriw#-@YU+x~IT=-*rKpnDEb5;CQ2jU`O>hI-dn? zM3Zn3p%&R#JsoWp+pqF)dKbd@SOZl-sK&)TQ$6R-1oNCj+5;#+=IZ>MLHP8; z)|y`*0ish2HzrJ8pb2*mN?50MFAr(kA%kcbRF|e9@nCKEba!icIk{@mrOJ6j>xidA zsH;ARX4#xf+|w9B&Jt*Is;74Rd4jC>%F85Km$poR-!l22xEBEC&-pOGIU>LFWj?|!r|rHo z^)@Dkg66yA#s$z#xy1}dVT#lH=e`;b)pOjoKN1~OulQ)t-f))F>#u#Ouu51v|uNk+oHa) z4^jG0>aa@H=_>D%xoV_UYl#PU_d6a^7FHFU43=1Ut7&O%Xh$O5b|q}0P2%|>R7luEzZ`^wVRny}h%JYBgiK$sE9+E|=1nm6$IJnmQTlJh7bu#s3Jo>ZX*YKs)p&Jodo!_!`;v5v- zIL!C9^*BdjATVPKsMmPiP18ZNmKBnPyg))yn&sf759P0}%Z2K{SOrhUj5r5xUBtV7YmReV)a zX?2u-{hNG%z4dceuH4#^!-!bGwX~gXwN9~oc6R~EVgMEc*HueN$pHEU?QSe7KlgoG zjRiqQ%_}Xs zk$pbA5pA7#C##;_Z*#?U&Q@L1M+Le zORAY7w-61Dlst0K~o0BcKr6hV5f#x6~jh6&?V+vP{xq+U~p(MwYRr_iP!lp zpKsJr|2_3S6qJnt;hnj{FCa$y0DSH{cT;pk-G-zhg}VN;|3pwPf&Kq!t$!T2-NA(Y zCwkxTq!GyhBJdqR+kS$ihcx8|aJ`fOXte=J&kO-!7lV6XAVC`VcGdK^(sy=1aV;>9 zevt6(*1{-6S4q&mTKYZo6M70;Dv$FO+_0F&n>+cDjC)7|XjeP3;s#t7W8Ac1CJqB4csR1E(e z3=~?s({-xQ$;n9tQ08J;YrB<@f`d&j8Cd!CH5)oR6oY7XKhM-;ed_Q~pK`C12#ePA zu+sW!|73qF;pk93;xxV3Fhq$HKD?K`SUCI5iAl}vZ;5D0{9rNEyh!rTb@7s=M^Ylj zKb(xS5ozOwT4?oJg^re%xw^V~1pfVREKJ{WE0zRec#H$5rl+MyvVrd(sYYvldJ>YU zoO|(uMcpexP8}z=QTIIyB$m;(>rqyzu(ybTRAx_BnR23P@xfl^H~W?$+mQ*5Ijgot z3mwspgENQZ^Pk5yik3GGvk(m*u?C z*dhrKj&9599V4jc=+yaNlJ_G$7#gJuhS;K1sj=N8yy^|HXrZTZTQ`m_|fp3{@T9^D+;xA zwpCypduy+qM)X}cPe|HPSXlVCYpiHZ&lm^dYomG9y#MMv)Y8HxSmK^NpnYXpnkip_ zwF9#;v<4!7+SlT;^h@9i8z5yVWP*(jAdR>3v5r6kYcFm-O);u%TSJIg+a$PfyTd^wAW*seB!^XXkRh!nUGp4PDS*IjVo^J3`4b4l42H+Z-TMO4OhuBF@R zmU$36vnd``6ge)4U7cjIC*V{Ly^u1Db zx617ezx#Wt)iGkDHv_phjTbQukka9FUg3SjzLJA7)-4M_u-uCPJzl!iiwvDR6~d@0 zRdtw?AoEJ5H1qC#4;U`+QAWwCY>HGBTk1g#4EEZDDXRQs+2$^W@tI2UjEf-mC4e(* ztvY+30vsBI)IdHsb2vb+#A2w|4GDkMp+a`gJ3=V(dY>z2`R~L$36<_tNR8V=KvN;R z4IM`v^?_7oeOk5w+5r5r4u2iQqsuFqYdeH)p%|8gz#raGkF(2p55egzQJ}uBWi7_hTKqV{ZdPrV}5h!IuhA# zjD2)`qagb?68*pB!qNlT8jz-}J!nDE^4SJ#mT^YPA;i?Bt=mvAElrT=M<$Vi$=8#n zwDu0`Zl;b5Ki|%#dSJhyO0{`s5aeQsyF*#SxGnld4rM!HfuXWlj<~r8Fig1NV{BA@=nf&^CY*Q0o2Pd_0*Go5OyjS3Ww$M465+uPbWIjDSfg7;#=*@v^@g|2>~TT&-fS!E?W&@ zgd=xssp`7|)8YBTCv{c3GQUsv6?S;r@Pn$QtiLH_v-PgXex7avGvt7FN+ObfC2iNM zTMCVvzzTnq#Y0AY+ca%nupkT6Eo-6LW)N7kBaPjmbL;PUn-z_@6R)2sN| zMnoz4MM7F<=&oC?O4YsQw0-|c` z9RqTm*GFYe_Cz39zmXQKDxu(hkCiW{WeiZN-O@KUqys5u=h|F0Hkr_+H`Q`*{dGvI z3U;C6liYeBzIj=;C;pA(u%LR4YtlinYZyfqy>+h0g@_i#1gcAY&sHC7glbH>_O$C{ z#h-r*Uvt8f?f#F`aUx< z7Ar>{fQmR*$7bdO@pN&u+nzvv&cZ&pgXJ11Q=%oLHRpep` z&Q{&|o(pcXiiO1Z{wJ2D8?wJo6@7UwLS&tL@ynFWx&!Y1&jgoHk(={6346+;fY)-x zU^tsA>$FUyQq%0jVYp<+fqCUtyL4&Uvp+5(Z6SIuqU^@i5uBD+E0R#{hcMr^#04)>Ktd}-fGd?h~V))!HHzHd*9mU=q& z%El&zZA4C-&VEkEIMGw7fhxb)yQjWptZIXOP~Mk+rJ~PHbW%^PX7T)S!W)F)GZOef z8kth^pU}q|d29T^fkNX7^GyVW4ncR!KnIVx%#`v$wm+kXnrN67< zGU5Mm^@DSeCG0#C9?HT)`=!N5Xgb6AfB1R}pe)<23seyWUJOD&MM5N$6cCU`1f@|r z9~2}cln@XeT9IxEX%RuXy95d8l1^#q?l}8?_}>5j=gj%ejN^>XDEEEc*R`*`*IsLF z2~n6=(MV}OcZ(lr`IDRy-cLww>o4}DC^FQk5=H&RX-11H4cyGKixX#B{Tj4$BQ2F{ zC1@ju7hl;cL1vG~-t5T6H%@xc$mxsqY-4OzQ`-jfzc=Hn(=KZB`_=?ZazTxNk#Rrc zgE^b9ghBQTW2h;8+Ns4_A7CjH?*3uT@XMb$QnApvO}#QQ7G+vd&Ru+KHpCfh(H-=q z2lG?I_3-;hOY5RbHCc8JetcaBSJOJV($`;mey@O|0wFm$8$dJ!ijAHFBcj#=E$+{vp4_yZfkdeUU3`+wmZ&XEFTSdHs6aimNIE8vw?78p-he4}k8P zkLeyJAKfx^Mb?-D0SA6wIn(SRat*8V9|!lRq{orKmiw9TP35abELTQPu^7FRIceoS zT7CCV?iy3@ULCPc_JkLkMsKB~X~X1xj)yZbZso{aHnUs$v>2?)0S$%@1A z*?&0MSN04iKu6Wh*(0f>w^A}QWE1r&dY$`D{<6Tp#!bWjNjV5GEY(@6Q^F~R$Ya04 zmiAtx92Xnk!SBoBfsRT`VOf>Kz#v!uDC^SO*w9d~mC#NL1>wX`{ybxr`p3Bg2F-?_ zxkd*x@`qXli6jl2ik;RbLVSyD1Jq55C>7c-QDj65Tkk}2TO7|Qh-!1q(hU}6#1a4c zsOliOb)+#{l0&<}e?P-ujBUWQncFl&xat?)afbB*lkxAEEKh>C|2d60r{7!fkQpH< zh#L+MAXS@J{nA*_21tACL#6ryN){1n5GKt=e>FIOqEKfW$kz5uU^Gq zkNettKIf&9t+2Z^g=eWhHpXd?aa8_Rx_?dZ)=JOU6Q?zUAuXeC^WAY=rr%_D%W7rC z@xLrPh=17qmlomb3)c|TrHg+I|6sl(ba90qaYyQlQlG_c3f>61sExWCqd?^R=Oq*B zL7mf^{*m-fe^-37+d;e2jfbRL8;f=LgHJfLb+*^$>z*jSLE%5U8~JmnC!6UJtBdl@ zqy3j{^b89X(t64hk2A{g^$wi#2OrBY*;SjXcZe>urRhNS>d+V=`M-PX6uBn0AHQ}A z>=Qu?G|qhLBCcyb-BS`?s=HSu4=2{zi*=lB<_*tnNug+O?xzAr$a$U|8HB}B@S~TIq?Ow zoW}%4U1&E@p_9Zuh$In7e269+n#ehq@vh}jSkI(=Ghd>!+HjD;1pliO+mVB1=pc8Z z@5?nV;fHOMrgLp3^sbXCtIRljkKWdS1iCt8pEGGESB+alRKxC0q@O4)_?uu>NSF_X+Xs0Y_z<$HCexk?Gc3 zsx$kQ85>fe1$d~C4<|$2$ADf}cBTcPlgg8L#jNfw{`fjS1f{R#Ef9PfE`Z-gZV-nP z9qvu^Voop2oI?X4jB)LL045QGg!C!Uv622g{wX|&>EDm)sNlGY5lJWmfAz7~wdO09 zD6+297JrWY+pi$hr|?qYah+`O&VT=E3J@4KY!%H;TS?Dyfpc28m655pVJ*&R=<|jO1-9a5f zS-Sk?!(9F5;;Y;=mW|M7i2U#D&MEm%*Z=cQ3IMWDg2%^f81E^KW(rPRP+kH9ysZ%Y zbW1r2W!Cpw23kSpS2Fcyg2Em_JR^0TqWaF};lW=S4*HhIExwG6s8_-&YhuX|q#eTxY1SuPhK$g$6qmHBbPZ zqZvh;LuafAkq3n`%mWoS<;JG{^3IrZ5uhFFP`BQu4Ddg_vRr*3Ie=q1{Kc>ub1Z$4 z0LvXcElTYV?_lvkQ*N$cPh5qKZD`ALn?sGwRJ>-yXDAirACrsDu*_Q|;Y?`Ro1kIp z&#w0_oYGXWDU2D(a38Ui=~iIUhAumbysF=TWyI)UNv*wYZm_&XsGIancBvh&ja*R} z-BbbP>cn^XE#raddi%9zacrO(S5eG=g zif$^jFJI5&7Wg!w%hYnxT$p~`4N~Wr=#>&feDw4pg_d(xy5EQW4ISouvPvz};Qk@* zmOR6@*E&*R2=&QBP@rxd-#gu@)!3$$&}?ydnMKOC!gR!-Y^vb8+-oKthX#7CrS1j3 z(8xGliv5n43>zd1^?F5YBqk$CSmcL)vC#7y?nz=+bvJn8rAu<=d(sX1CL* zA;9IkJ~1Q7`@-_hp{{GJ*|^UAyh^syHxd%loao^jg_;Zd+w+oKQokd|fSn=~Sy+SG zw+w2AnNFFN+D>Yq7b)C|!a^a;62FM@meJ3-zqkIP&6(0PzrLj3u5T6J9!qInELfA) zN1l~B3zna+R$c`KwxXd#%Ng5F@N5fYiOwOF(4trGq3^5 zKxiazjYo~%l&^h+9(>ksL+HTdBRxScC;j;}(h81UFs^xq2K;G6`pk`gll5CjMq+pT z?0<{%C#Dc0`MvV5+0U(1gfZND-ffbq_V z{zzI%qF?Sv550V>DM$}ka~h5gc8ZX$_EdTOXP|6AOYXHR8P4dr>hOBG=m(vVJZ##T z-)qi^;hd(KBBhX+gMj78H%|!po6kso@|VG7>k+jLtY41a^;d~6CJofH&e>jm8-A7Q zzEe!dWGAkLc8;N(mzcp{hwcV?mNcyMnM>Ys&HRB%Oqx)`bB_tiMGw$G30Jmt{! z8#}dO%}e#Mt>+;5=Vc2T0$ii^k!%oQ=vJn*nlk-kB2>X}=%p3yUPdQIaVw}8`L0tA zD`{2&)oL4H@C#A{A6PZ%-n`{auYW2T32~||^hc0+_^PTST7N(XRMRRI`@IShsp8In z$@e3zT!e)k-dPBjIf(3+b9Vvy`D;9)`dewmdFs=*-W1sig&lmQP3C`-^)5_u6sLj{ zS$BFipv7Q!8RP;4Oz_TXLB0b1w1upj4#(|+i^Xyoy7Y4u%=WE` zeBLH5E?x-G9usuQq}eKdOTMcUnDpgb^k&KgLcwG#ux&DJDstB=q+h*fbJ)6|bl4Wd zKLj=``nR9>zvWs3L5HHQkbP&oj%*aSHQCxc(Rg@0i;XRQzEPmzxsx2?V4-vEJkqD# zM9xRBzxO;&sk8`nByRKo=)r*!@UCKA$75>xc>6|d9+!B~@?9Rixno(@u@$2xQ6hLz zi_Dzb!8gnl9kg$f4{zo^ui|y**6W%jS3@CN_ zQ(I1(ccWnDtEl?lwm64%uVw=(E@LI?k4^n^2?L07rRPh4e#j%PtwK?^2mDMv&4>OZaUALSx}#6?W8!Or0K>=ceshmh4s(_Tyf_JNS>%G^OF`;PyfrI zwDA|wJ>UAI=|cRq$Yw|$GVW^_F9{{%=jv1yn7 z4lP^P0H5~2P37lJUjYF52SZs?TmC|r235#JZP2VuIDUwnwtkyR&Ac8&bdb z-#R}A+r1HUqRon`p}Nai!ech+IraW4!`^QOX^n4R!@(kufJzcJ=3a8(Y1t_v0M)~! zWOzTpFJ`2WU$LciLy0=cI^}R>hMGBNvgHp6Yn#Z&cKj&38p(8EanfI4GZR~2I$K{- zm=fRLcB8Q70@c_LR(o`4b0S-sdm3jz#Lmg*7auk84hu>;9?PIqme1!mWjg<-E>lT< z?7zkP{aZ|Dfn67&J=Yc&gK$eShX_4T5r8wndBiHI11y2E979gjvhoG`cDTS&PUXKD z#LcFs1Pu+?8b)57R9FOefCMhY)%I9?YnE=-y2ND5SUq#OT*D?zeQ933koCmbdF-oQ zrtFE856RWfJuOE%W9Co*~?4cb_)cG`tYMQmh1;(u9Sl*9~lrJWLkzN}_ag zscRi%?h($B&DcK8L+8tVZp|Ze8>480 zAz8twI^D=xgdR111zFQ_VL6&pHKFS}Sknd{W{X=GVbt;1#yGxOGm!qcbgCZPlx$7j z)=sI_fJ{}()-U66%$~&GPBsd>t0Yk=hpjwTy%DtsD6{!br7qmXSN*V^nlIRG?_Muc zlKRf375WBe_$20Tl5WayTj8a3L^?v3e_YNml`J3kn#JbtOPsgNduFZ@%Rd9-$BL|D zmu8*VSQg%kR~(m3dL6wLc#@6>{dH>07PvrR8-@wRw_!y&Er-yQKsM7_rTq|K)OT75=p=mWQ7rFjqi!qIv= z#HWvz&7F6CIzis|B5#4K-mog&(!wojInYQcxs;;Ui5$J@8#D2dNA1^1X-Z|t`mBwa zmTtL3qJui|CdWcE@mBS~j)mqOSL7hohF~({_6>2<(~KBFnbvn)u8UA>!`-2%#{fW( z3AmGKx?f)uW*eCxy|26fc;|o(I11^?g>Om=3T-^-dxlps=2fi*GKeCV8ZdJD?^(#ykJA5>MwlXM9g>xC!?E^nznl+_-f3tcc)e|36I!J&%2`-1f z9)WnLb%PdiIe3SU6a2aZA@}#dYc@1$Uz8wy@vXrcc^S5O5=f{bk1#kePQ(>yH#c@$-4B5J%GmTP z{^A*X5)xfFSUGgruN7S{9lv!I+}f-8eonfp=zE-DA4N|+V1@z{vp*db=@r)O90#bm+Yx_5y2snzg4gMQ3Pq9OzL+oX75Rg{?zj z!_IB8I^`h#c`N5S3+Gn{u$Suv4tyH;{hZ4Np~L~u&llt0Uv842PA|oF)nDKqs(WP6 z&tui6Y;Y5mjI)Iy-zp7bm3#KcN26?0jFn<{_i;nrqh2 z!ZJ48gCuCu3i3HbKM%q-DpC5=QpW-Sexq z!&=>I`v0`u2LZ9s1M;^mkzqqeBR#Ctmx}c*-Gg_7-j;0dSxjP6g`JHKK5n=0mT900 z7Cpx{=T!gY0)!Foi?ZHe&pJ!f8Xdr$$+P#ISJ=8!huh@v&d#&)l@U)|${6HpeFEVn z2-9^=DFgqfpG5=vh*&ZzhvTzL6CTpFw`rsc?{_(S?xr`uraz93dQ^43wK>yMUFOux zXB@kXe&=1rtWq%hNK?)xtN?1h4Dy+Q*F(LmTXq#UdKTTzX=r@qD**@e(2by%MGIJJ zl6&K%`#T+YVnjvhl5p@Oe}C&IJeP<`d~-1$^l$;WN6!39v(>l8Y&8d(SDY&J#Jj*@ z)s~Ec-^Z5AH{?8YfxvA89fv_+oEriGNr`^4akqd?yKJBhbXT&P`PBl1V+K(I{4e{= z7I(q+BSKF5wt5>j* z5V9PUsgyg!L`eMV@8_mpdmVchZ&Zz52+$$xy#K!8V7{TG@a4?ara|xmmV*VfNoZeFXqIANb()*`lY*W=F{ zPT?CGajJv$AsZ09abF&&+8hbsAhpgZRiK#ip4(~bZ=XU-T0fzQX6U1q@F1pK%2$5Kfz!5f~ z)T;n~|FWB!eh1>0hO8_BEmDFJ zC!9^^HR7F(z~G329{@yd@P^A0M9^0`bl68j$D2)eun(sa~HioTsdG);)k{f2_bg8w2By9 z$bo+vfgkkVEAX3>{F=#nxy9x|zgCBBGdcf+uKx@$?hmL70($V0qz#$RLq~KCiIllmr@xa%PRe zbg!M2NX5uZ>}&47>qf*-WI7HxA$2IlkvEMp@&aUJWZ}O)`5SZ_wnV(paoYO^^Db@V zd_A}u6X8 zy#xF0Z6Jg4-Aa#hH-VsQv(-WOxh@-q9N56Id+;iqJ_!`6zDpo(qND7a1+sB)RNTy8 zuB;C}#|Up)T&cks*x|1!s?mwFPyB9>5Nsl?S*}5ZG)J`2F}lF~c6oTfi{ERJ{B?2l zk~?d8G_cJV5ZemXN+akL*nqw208qXbyQJBy*{y|Y3J}tJhG2e5ZJ=>48;o&4IA;on zbV3Clz&f=GaDtfR^z{X#rw0w0u5f z=Mui-%+cN_MY$ZXrDvNUqv?#c+E2o9eacH^c4_zNKd}!2NMeBKGBge`;R8?!?D1x_ zUy`S>dm$tR>Lg665p|ub46fPWJmO2E_eQ$)rVd7ly*~u42yKSKe;50GjvS;_N0Z!fV&7r+vsa5 z_|-7fE-U@;sq1oG_h38U0&~c&${6A&sh^%^4f6z#wAmMJ_e{Qt4u8gEYx7 zrf$?mSa~=8mDWy^FGMI4Ql8M#PM^pQ>W<2K3G=+QfS#fvKh}n}lSL+t1vWQq;H zp4nnw5xvTB@?N~$_C;odbRl|-o4`2-8Rm_!4I`prKNL$fc>2`l*#3EGC&R^%p$Y&~ z=0uiONtd=$8n21NinzK zgdp(CXkFwey@Xs^eQ6|vlg%s*H%{*ZRJTU}R~=qR&n*-}`u%qD}l7qv&Kp9RXNpWi+PtM#?hg;elO zl;*2Us7&i94gQJH^S2P?+r(0DoPZ75E%{u&4bvX>_2H=O$(PgjH}P*;R55j=|C7nV z>YXtYnz=^*oeY1}JwGz4sd0{1(i9xo_CLDRTGO_MoK(}9ipFhl%sx6_)+f()TWJTx zyp9Lk*21LZl8!x5eY1>qU%Ak-)Bd%>yYBwQ-tMR~cORj`H>DPR^o&B7owo-JM-1nQ zhx6O_dtFh(5{c5w3+F|$qg6kax1}=7R&b^q;j^rKWwz6=U6|-Yi1eY`oj%EkZp|%1 zhya(M_Un-=|tI{qV&87nw`@u>Kv*lpc{D#;w z4Hmkc(T^r4eSeW?gs4uJVUK0|hV+8srMHfm!eelu$xXpM0J4|Qt3mg3I-A{)i3+Ve z!{>ANKe{$;e}4&_mkN9r>&8ruojOS?CFYg$GUnS=s$<$F+w(u9%}vJMyH}|iKR&A5 zpJxg`LiOTb)t*V+Akm1GV3WT3MEy`VRTyn46yekF^#|slYw_OfNenL!f7>UXy`NV( z{e^2`+O22?nk^-Q&;CY_n;uE1b>mC^|@-R9;@Ke;G(7u6-9%J#8Op`$5>L= zclMK9bnlvI(2S;qtmxOGC#up*QWL$y3$lbXs%*V7k25WqBa20n%EN9=u*yG*)NHk)MlC^79CA$b?v~mYXq}iOy74GZzEX48K zz8)7k6WY@`><5;bqWkcP*SdMwYarVd*}*Y-jp{BU+9VPmF3(F;kU{iaY$TgR4_nI)mC10K z4p0Sah+m#<*w&>0kb;F>vxF|>GKXHMVb`9*D~6R!cO$iKo;*B>*J$0c1k1H`duYOGV?Pcu2w4ouYL8n`8$rYRr;?7JP zTO-Xp16eUTvnIZq!F{D_Dx$o_g(Zop97}W|TtrPvjH zw2^e1J)5GU*GKIosV$hivI?Y(7uJVrYD9-XEPR`s%mSeETJz!M-sU2JMteyOKO&quERloz)2cW2_Z(#j#9e zZ1HJ#Nk=nDR-1F;LNXP$D4rP8Y;!7mmb4a#39r1Y!wDdE_?+fMxfFp)f2SqX?1cbD z1W3bn%0cTg>BCcnE`rro4*Wxp<@$*su*p(LVHfo`P{O3~$qgQ@Dj3%=2z8K7YNC{~ z?nmM#lt9IYrxbSjT2NzXHy#47rTmjvR+B@My-I@m=i?hY@HcPSM07i8%YXL72Z%2| z_uscFCS%CC$q=k&@AcKkyCR&mx_$0jK&9Om$Iz+dhtwKa${9RVa&4+g{*SFLl5XY% zZa^V$+e&D#HCY&-*9VyAosc8HeaZ^tfSfMmVGR4Nz*uaKhi&MAVXtC=4KPy7LFTCR zc<$up5L;M&636SnaoOj8E#)zmMFK|G$?e@l?6(En@-J z_D>g20FxN5%Vso8;QNC({csIf-!h{|T*B zg5W!gFP1`)v$Lqa8h3A{Ih+7;hrRUP_*{MCQY%-V7m72x?9Xstf<-Vu*;aD=ObCn{ z_!&Om=aQB58(3@9fq0fq6SZE5;&2GzVFH8G|L$XLzJ0K3D3cblW=A|X7Fj>VuetdrSEuc)c3$aM0}Lb~ApQ0&{Na%hYFp6CZjbse~NfQI~VfmR#e$jN={%HEjO}y+X z6S$E&kct1mdSC_!3c97d@`77RDfTOjf*h}hizECecb)^a&YEmRp{ss{zwVIw`7+VO zxaGaj#+UN64IP%;jICcE_d3wnx&n6Y`W^G5o>5%G;OZ_SO%NB7hr`%k;O>Tr(EqZl zrefFqfEa*6sT35k;w~00HNXtoqB^;^6?+kE-(j574BebH?-F~%O+_zU0ccUsdb>;& zHq~I`?;ACBi}AO&4XG4OlY5(v&bt{=6^vVQM;57?P_k2TNl_v_m{Tpyl${>)X%9vK zQm2W}oHW>7p(07(_O&ur??=7_KwBZOi#5k89a;GK`9~k^Gak=%eqDlTbJ++5PNUHD zZ(0fabzG77`)5Oop5bTqQL;Te>HX|yIDpgty3&FN zA5f`%tr{XQkQ8z{_WH9?dxk-ORm=Q)X#V+LX_ZVmDD-6N@o(q0fb)g(0lFq-hW=*V z%pA{>4S(}=9d~BlO7QBw`!BYRNQ7L^oYnsVXiWZxctl>hT+^GYk!H_}NO>H~xvTEb zL{753HlB29FCrHLGKWX+=RU1aUU|Pg&%kcz3QBNe_T+$J;M!>)8}Z}FnLJo((A3H{ za!21k68u8tWgc$Y7fri)+wRqP#XX~b0j7lGoZC+l-$HLlK0M|n1@b}(4DqI$-E#aa ztK;c(CQEaDJYqMEX6t)Q|9+&=tjPHl+1Hw5wVkRT*VbCJLUtm*D!92=KE8XK7{ zG*N7oWkNWY#_XJR@k)5rW8Xl3*qIy{w53tN+4pp3t|6c}c?)naxb*J6ORd$0b`yvgnvGM;eivZnhFFt)I-}phvDeo$UgXyZ4u)UMNtUQpLj0!dwDq95eg<3jNj!&J zrS;KGa>s|n3;UaKg>M!FqH;`q4$5dN2K#*?2Pbv1@&q-f220R=g=fF^^{>Vqr98(W1OX% z*X(W133Vn>KM7EQHuwC1R~8GK?b&MGQM}_EJ=yRog(iBZ1G$$FXXIdy{Mvg!!BT^v zAG^rI5Bxgji2zr?p!A=klKIN8>0H|2dp+balkVLdum%q}FRqL9?<5?tn&MZWboFxo z51y|&GqF9!+J4zA$`Jawy28w(x>l;B#g)A324(jft%X&=k6wT8ye3=lr9QdWWp$K7 zC9>nUYaQm}7*x)<`T~OpSpJ*BFr)-QdCp-TWhy;AeU3`%C&Q-O1VEbdKSOg8n}8dm z8g{cCxr!v%u>Ld+8M&X_EUckt-5oohm4o8a1@j{>K<*J`J{;7|N53!&eG24vPHs&d zE~aRvYd09bIQM4l^ngk#;;TnhNDy zIbzl2@4EJh9V(4(h3kieAHQM@Vvxq)?b#y>qR*#B%e4sC#6CARI_|!`m0F5+nAjE7 zjS2xTO2%QP(%(JA%c+D_5Jq-%{UV)dQRR8%TR7Pa4o~2%EML2V z4(V54uZL73=ga|Ph_}=F;w23xydufc-dxUwW;=OLbTItb?dPt`l8#yf%rQ|KBU zvMw;at^Rf_pB#?2qTd$IF#L#fyE)2s&T!Pd_=vT#^@5<4;pQ1T8Z(GO-8Lrb*N_M! zMSLgi*x}o`$bmy))eDq5RTBY3x=sMHf6LuU;~;HE4uk|FCZ?v~1XiEM)MYp?owqNC zZdBJ)q!Y0>P4IzD)bR7*!G^b0jYk7%k~+Q2Zk$VWjR#}SAC7jL!!yxFtvgS>P+{iI z=>A!o`Rg8`-h`R8a>dtTqlFKqG>0`dIYeX~0|Xe@?BfN3xZ(eQl^4p4IFX9T;C(M| z1-Y+E!f_dGsZ(g5=t7UjvEZiq(F#kQQm=!!qh6^91_SjZ!#pR-(5D!)WC)>UZ*J#{ z0B@Gjmzt4~f$H0m#$!$mOL9i4N?1?U+@_t(Z_0Os(@i{TUcLi0C7wWamfF5>HrPH{ zytsY0Y%=4CUYzxMYZAVGPm{)z%@1}o%CLBf*0T{j$l~o1J>5P8b$m>`s$xo%cddgu zXD}4tS+NePH;>e-OfD9{;aStB=tP#S79%~PYM2x^!d%s>;O*|P8TAyU9yQ*@k-A68 z+(VbAdi-o^z93D~)7I2EFl6Wposk<`sN=*ynRZxtq}cusa$y_xw|CQaIQ4UOmW#N^ zh4Rni+xGbMS$QM60G!;t_j#-D7lu8`?r^KMF+HaJ=8%xwLYx9lLvh|^_0h<4(0+7b zn0xeOxa>4 zN!&aOjF5L66hW~Mwtc}CIq?qWQ;P?%cApM~z=iK}8=K^JYsd!E@twEollnb=V|hQT zGaYnV+E}c$Ea(-qNoxrQfv=76^I`yYg@0*K}a`VXjOhJR?rZz!#ttxp3;>Pz<-) zlYst^4XR56N=Xqr*o95K<-5DduLI5LbZP5*ikNR@&6b<)jeoWu*eZ2VaUOkoWTLo7 zUeMu4dD;5Re|!PdBHzC(pZE|qvZi~Xiuu}FTszkK=mDvS`9KV?0_HyRf5rJl{0g!3 zD%5PQL2l1PY*#loET}2{psRF;Zl;+Q`P51nhpDX9z>ZVXW(C9%Z+~e66ZvZl{BV4h z$#5KvGj32m51vDivGAVq!KHmIeT$~1Usp1ptTgWBvWBr_Ey@|ipnJaV%>O~!JP`)w z+ICqw#iqw|uhzx*kd(I@Y<6KaVsN27R|o0>z0yQz^E5X%`@CvNy@0XU1M~i(0HOU~ zgJ5yfV=jQX-1ac5Hx(yp01pdS#~LIW0kN43vkZQtT8!jE#bUl39VTx^$F|luI+}@= zgXfG<15vpg!&_F37C=Wx-!i|x{HNAo)%d-88KgIqP7l_W>o!=wibL$R={kbgyT80z zQ{dj4ijwm>KTlH+jjP0!1oi9K$5j=1XTno8#&)0ZNJ-#&(s<*c_^YYQxhHfk-V0*7 z5aH?Ssr}vjlIi(L-GzcPnj+OAGFO$P@cs%-o$O^yMwYb;an7~~85+p7l*Quk8X8Q$ z$r^aSvcG*0N{p3NzV59J12Jq6FB-%d6oBMx}5}%mSFfOE`*j3nt3STkbL1X5tr zwn;~~`^RJ|d%NIzifj`FKA<`p#JN2i-ZB);Kr>p^w{y6#^!;2`Bk|F3)AuV{M16*+ z3f?eW(l@(eH1=xo0fw%V#AW-+S4kaLSl-V0q>a=tg-M?gAu@Ti)_u}zy;_;3)Gi1m>bO^StnqA*dbNSdx&O0a>?_>*tIRsP6`=M6Dd`3c z%R2PK!NX~P0GUDo1OD2(8vv&C-2wmk>rwo+ndlYhkr#ni#Y_s1^}JHl1B(P%(89u0 zgO>oF7D2HAj-l@ej2l6IV&zz>N_vpp^;i4iPb}SR$;4a0rUwlz{^q07=9)Gd&+_8th+Zjsc zhYtmqi_sRbo{sqrWTAhU4lp$I;ka+t`gx@((Bu>onJd62ZvDnC!(icy)#*XHc zdJ+T(0w3s5X6hbuU5v@@`Y5XgbToV$4das{dA*?|i=*`tqYNqRrn_eo8gs(`b|(k; z-Q?{8()dzW+PdU?T-I1P2=e1c+b8~&|= zEk-SkD-j+3AdXH`yZP!_Sm$&)Y73$LZ&!RaHpd0W(Ar(>^u-=5hHgvc@d5Ar#burf z1n}H8wPao9?8xrCMI)r9f)e=gH{FYLs5bERB?CE*amY(0*AZ7yYG>k+upz@DI@&=9bQMU~h2 z?Yx}jN`K?9mSFRAbw&_-M_IXneC1%`>-gIHH)VpFttt7~TKEsvYQPh6arOJ)~=o>3?-eDqs9 z=(Z8(3}Q`9v${udx#L`AO1* z%Nat-pxC(29_tpLPTE6NV4x-JLezwV22TVZ87w%2P7CC?>$ts}aJZMkBz&dvg?VLS z%3%Q2Gv!aO6nh&MpA+FN3k3_#QOFO)w^xu2+xbm|lwMFJkztm0tlc~=vTh^hS~;2R zX}_XL`N2`DT;eEu)}dpYp6^+~9X7b3!ef~B_7<%Roqba6=zZ@9TiE!^MptD1!Vi+r zdHL4(4%YQs9Wc?Pxv|j#%PzYmil-f+f-yX|da!cdT+EPdN*KDNHd8@Q24SlAAFO{Q z_Pq&~@V(R!>uST$M*|Sa7r{-QZFcnlIDN}vXqx>7 zKXOBaj{}aajml*ZA+(#Pt_P;&X+4yxk-~lCVx^|APyC#$5YvR^4a8!fv!eu!9o=RBdA$TCh^kiuA-0o9( z@9Bd3NfB0-t}VPfBSYT{?q?U=Ls>YYn;8V8vlVKi-wX@X49g22m1!M(j<4_wkh#L3 zcnN>m>w}%J$W!y#f_FAN)uDDn6vy>a$*NWUdkHfY?E+T(6$=Hdoh-UeFDA-A?9HLS zmlr}5-On-=cowTpMyDavX}n|dtY@D>tzmbFOd#d1H#N%>*}E}3~nGT4ujrCZD`AYO1m zo11mRFw5~KadpmzTX&hPC24%_1&GKytM!@3ca&HelC{by9YB*4x$KJ&=!8Oa5x|qz z4|)+#Ks4M|BY)2J@(YZ-Yvn4jvnLq-8gP5a?kcUD zpCQAeqxfl<|T`1oud(K^5@rnCI9QUE%x4x_|A?fk^1<_iz#pl#~ zFADDXU=#3GMxJC?$PbiB@}n2yY?IBdM+uj9b34BaSAMW5m1eGXlJBQT$+wL)yv~=g zA>Nc%spP%>0tMmX=jE;&P2^`kn25b53bFq)m=*NhCSiyQM$j-s5?>$7(h(-R>kJCp zGO;Ajw%z8C)gJsIuWPqbLu5jY-Ytu(jrjsXES@oGCO^?HcK(**ufSW&W;9DrKvh3T zSa%EnKHtF&)0YI3IazBe{J$9nkHC}Iyq9B?KG4XnHyZ|_+O9qY;vF&{Y9SADjOE$q zCD5u_gm#Io=rO_w{poSV)`O5XQucmUylng%`6=Pi!>fyEFyapXgkB0S5=`BK9r^)t zX=Pn;N4Be{$R0g%XKigwI6SSrd{EV$MwT(zY=KEc*xPnf7Vh z=ICvk#wI`G6W?21B=Xu6@r!)$G$&IWGdAxQ0`sZVO~*&amQ z5VM~NHbOnbCqKFBHe2h8YqeE*R9E3|%mxX+_-VqQu$1`?lklrx68>DYg=5#8wMxXD z<%LRqT{C8)O89CKS_ScyKMQ#twjZo|*Q}hMT_J9^udaB~w_w_F>HWI+B957@#DnIO zaRu8crW0u)@|Z*oS{j$9t}ck-`w-A>qb#3_T_a-geDJVZ?o8)+EwMcF`s9w-Ic~F( z0v5g!QA!IZgo{``4r5cJJ?^=C%FuB7XuwyJf89itmZ6;&nRDUu)#;ykz6@Ole7G+C z%HLsACC0kQmrG5kR_YKmuDx$~{Bh1k$6xsP9Z*h17SS#rGCil&s;N6{!Bj%I4owjh z>GnXLLuG{`Aj1Dl`@?kS*0GJfSX}!S293L3>TIQRG=`d>4?b)VZ&WP*(fS7q2j}Kx z>iS70`6|yv&v_&f-iV$3aYo)w=YcQ1ZtTkK-hjDf!3|!u@s5a+?akq=(`m#cN z6!3?dK8U}4^N5&@!*TOhv_m1!8c}mS@zQ&%8X=G4it$mX%*^Ha-%{_tUOlLukM)?^ z|0}ocP9h)of?@BYc~b%ib{;w~?d5S-^nIf2j^zv6ors!_*c^cmA~!xE4~KHTQ1EG< zimM7b+GnyDNrdu;2?yYmdX)~O=z-1#`|aZxpwh28dHPS*oRwn}^`u({ z?zim&gmx{d(HYUFLg*Fr6a}75QYTTyBi*utuNkwDlMBp!AGw@QJI8frEXeTc*|_aP zxfry6Q{dq!lnP0L`$x;N{@rf5zMS#rIVc$l^e&`?jmbx znevD>!(>d-Xod#A)TvuSWc3PZI8!@Dpd?#AE z&gZWm(WUc_W0^j+qi&twCYAnK6RuNSPIMpIruQa;+kOMdTEe#|v^wG)6o#NmM!y`c zv(bAWIS6{Qbk{tPNBDR5EbjuUh#W@N{qN^6`GB>fd66-vQ=v@y{_GG>C*461cw4|Dl^AjWQJ#7Ewxr z`SD~$VG&6=02QH=o8J0b=9d8KeM>5n*%sO0uU%gS8V=|!PrZS%L+zJ`{*_{@wVqL4I z9;@qNW?brrxSd%Cm zsVI4`JY=TqoL;TJl`sansk zifexwy+#QtPCfUjoCl+tJC$}IcOef=+c@cTwhozgDPZVWMIK6lr`S{#QyfZFoFn{O zHDoT!m0zaA&9ja_R_(|l{VEGP4ckdR1;ZoS;v30O94GKZ{PDpp9?xnR&vaaM-+m7s z-Y4DWOD*`QSUU~;axXFu6nWoF<=w|neJICwWvsZWP#d4P4W&4WWck33kN>8X-Z|B2 zAB|p?C!DQW+WU5yB&Idj*Xg1%Q(TgIp-!v>utZ5Fo%X18d)yyRSi zymH~gRP-YU+)X6~WAylx*0WjCl$Mwav0O@aKa7(x(yfog%p7x{NDg)34F=6c`b-*! z^q1aSmzPX$+uKXz&Yp{&7eZhrtrs!BExV2eAd_M0@HT%yIh|#BPx=%xTmc3n9ja%> z03E3))c2uM=Bz*JBG3MGPYs~if%GG+<{fo~pHVE=Q>2lfc0r%B%u$b9_nA$|e)XO9 z!w70;Z^lP=hil(j3{;ARM%SAHo4hYfFmp!TZgL3!^n6K%zWp9L^9Zz2ONad&k}JY; z&O?2NJ`N7QE|Y7X;W;!ZcVe-1pj^BIjM0iJb@2x@dDc~3he=u~sc`r%?2s`0#keSR z4@=%x6iEI>ao+vLtsF5D9vu$K3F;u=Vm=62ZOV@~|8vhbjt6y*%*o3xGd5=Y{?M#KzxVP z@b~9us8YVe$WtG&)5x`btJ`e|-HMs_e_=Z2no%~I`({zesb;!)H}MFM{cG&~3f^A_ za1|->bKz$#>r=~gfn;^VD0IK4#%!_aAe-c1lPuTyk8Arf&Nnyp0?6hWN)qal*1x1* zsFmCyxxsmz)&G`=oO7LkL9X#$lkX0cW#J+piW9#7rSj7gL@ZuNajXVC;WJ=G^{nDD zlQ{aXyz(r;NQ-}fNzPV+XXgS$?j8(Z5Mwembe)#N2=Mpv}%p5+fJw$9>@Kr8y~as-a9XWd)<3Re+( zH(@gP?|I$LUMgnS=OH(>ZMY~m=fV$E^-v6~ESZBL;S}{n77ZLW)C`%28lCE;O5x`V zA%maDyE73XEhvfD2t3=4uB6j|1(asRt@5HW6t!Zp(5;StaF*Zq>q7~!ay`arB|jDn z+7Fyug9sxHtfUTH#nz@FbJ(CrhrWtuZC;rh7@gHHq7sM?T#gr39^bWD$c=&a6rbj^ zRn9cCX*np(Rjd5n0@NeloaZ^dX6A?D-bWwryqh_cw^L%ZOAFh4c_t%n30_oif=_?! zTdjQ*<+&V~6p2s=r68vDvzT-D6xn4Kdthfh(&R(yuCTebr+f$5CMxO|}8x$Mp^|5aP4>nL`dDdrQ z9c_s&iPG+-#R2>|QXp@w24oeaL{oP!FubmVMT}LtTicB{Sdx=-sk6nQ=BB79XV9gD zzH9Y_+O?Qb>ZvWDA6gW(5uzApJEv0^s%$~a)a3hm#L`ryzFkpJu$6y(dSU_q zz-`u{fHg0&`X-co*An>}y$vAaVgLxWyq`$!;wG8e2M$l8i%>{~`*cfHBWD`Jgm5qf zE3uoo-Q4VXIltTFJI)<`TLHCw!=DJ-U0)J+0GF41Ri@F9Pmr&8xuBf!k#}OX5Hb5- zzsSqC7p^Tx=Rkc$0IAQVm>}L=mDwfU48}+RUHG0r7rR<{WMHYl7sG7`x}c^t?2Lgo;~naj4#tO!voMF zJe>ONwoal@07`-OMa%a08Ot%N;%U;Hr5MT>;sIywQdJjj$YlKT-3$EY1B}xCS$EZ%>8IOc9-il^|2KxKOEG?H9X z6B)8Qguj=@OQvhW8y~rH8e$D||AL*9pn0-l?a}$FCty<(I1FR4EDclsMhIHJ>WXad z+rRLb474Yyray*OVUDzBZp6enAX<2PQcmf?mhq!jPsem|Jx}t-Pbg~T=-$Ns6@IF@_w#T4GFRMYBks}N_q~VCdaDP`rob21A~@8*aA1p*ubdaF{Er@zs8l zvPqj{d$yxDO|tI;lfk#|SQ*m%Yb5&bK}#RiPT z<;3)n4`-Rgv9Ctn*nHhrMi3gFx~=$p^EjYO^?e$cn_vDC1Ch*4z^DXoS~n3)l|m6~ zP87~cnR0sK(3?G3I}DDkr-CneeXi5|0~)##Fz}P=V_qJRGwR~nfQxnc)H~k&*Br?# zcQqhVto%0m0+EAs*G>5@?)NELKc1tIxEEkx^VXyh*rT}sa&oC{``fC

}H0x_2vO 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 LokZO;JstgTKcWt9 literal 0 HcmV?d00001 diff --git a/patterns/vpc-lattice/client-server-communication/charts/demo-application/.helmignore b/patterns/vpc-lattice/client-server-communication/charts/demo-application/.helmignore new file mode 100644 index 0000000000..0e8a0eb36f --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/charts/demo-application/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/patterns/vpc-lattice/client-server-communication/charts/demo-application/Chart.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/Chart.yaml new file mode 100644 index 0000000000..7e6d29f9b3 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/charts/demo-application/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v2 +name: demo-application +description: A Helm chart to deploy the demo-application +type: application +version: 1.0.0 diff --git a/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/deployment.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/deployment.yaml new file mode 100644 index 0000000000..1b8e744907 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/deployment.yaml @@ -0,0 +1,22 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: server + labels: + app: server +spec: + replicas: 2 + selector: + matchLabels: + app: server + template: + metadata: + labels: + app: server + spec: + containers: + - name: server + image: public.ecr.aws/x2j8p8w7/http-server:latest + env: + - name: PodName + value: "server pod" diff --git a/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway-class.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway-class.yaml new file mode 100644 index 0000000000..d4a925745f --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway-class.yaml @@ -0,0 +1,6 @@ +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: GatewayClass +metadata: + name: amazon-vpc-lattice +spec: + controllerName: application-networking.k8s.aws/gateway-api-controller diff --git a/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway.yaml new file mode 100644 index 0000000000..29e842cbeb --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway.yaml @@ -0,0 +1,11 @@ +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: my-services + namespace: apps +spec: + gatewayClassName: amazon-vpc-lattice + listeners: + - name: http + protocol: HTTP + port: 80 diff --git a/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/httproute.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/httproute.yaml new file mode 100644 index 0000000000..e708960296 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/httproute.yaml @@ -0,0 +1,20 @@ +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: server + namespace: apps +spec: + hostnames: + - server.example.com + parentRefs: + - name: my-services + sectionName: http + rules: + - backendRefs: + - name: server + kind: Service + port: 8090 + matches: + - path: + type: PathPrefix + value: / diff --git a/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/service.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/service.yaml new file mode 100644 index 0000000000..e6fed42551 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: server +spec: + selector: + app: server + ports: + - protocol: TCP + port: 8090 + targetPort: 8090 diff --git a/patterns/vpc-lattice/client-server-communication/client.tf b/patterns/vpc-lattice/client-server-communication/client.tf new file mode 100644 index 0000000000..145db1ecf6 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/client.tf @@ -0,0 +1,102 @@ +################################################################################ +# Client application (with private access over SSM Systems Manager) +################################################################################ + +module "client" { + source = "terraform-aws-modules/ec2-instance/aws" + version = "5.5.0" + + name = "client" + + instance_type = "t2.micro" + subnet_id = module.client_vpc.private_subnets[0] + create_iam_instance_profile = true + iam_role_description = "IAM role for client" + iam_role_policies = { + AmazonSSMManagedInstanceCore = "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore" + } + vpc_security_group_ids = [module.client_sg.security_group_id] + + tags = local.tags +} + +module "vpc_endpoints" { + source = "terraform-aws-modules/vpc/aws//modules/vpc-endpoints" + version = "~> 5.0" + + vpc_id = module.client_vpc.vpc_id + + endpoints = { for service in toset(["ssm", "ssmmessages", "ec2messages"]) : + replace(service, ".", "_") => + { + service = service + subnet_ids = module.client_vpc.private_subnets + private_dns_enabled = true + tags = { Name = "${local.name}-${service}" } + } + } + + security_group_ids = [module.endpoint_sg.security_group_id] + + tags = local.tags +} + +module "client_sg" { + source = "terraform-aws-modules/security-group/aws" + version = "~> 5.0" + + name = "client" + description = "Security Group for EC2 Instance Egress" + + vpc_id = module.client_vpc.vpc_id + + egress_with_cidr_blocks = [ + { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = "0.0.0.0/0" + + }, + ] + + tags = local.tags +} + +module "endpoint_sg" { + source = "terraform-aws-modules/security-group/aws" + version = "~> 5.0" + + name = "ssm-endpoint" + description = "Security Group for EC2 Instance Egress" + + vpc_id = module.client_vpc.vpc_id + + ingress_with_cidr_blocks = [for subnet in module.client_vpc.private_subnets_cidr_blocks : + { + from_port = 443 + to_port = 443 + protocol = "TCP" + cidr_blocks = subnet + } + ] + + tags = local.tags +} + +################################################################################ +# Client VPC +################################################################################ + +module "client_vpc" { + source = "terraform-aws-modules/vpc/aws" + version = "~> 5.4" + + name = local.name + cidr = local.client_vpc_cidr + + azs = local.azs + private_subnets = [for k, v in local.azs : cidrsubnet(local.client_vpc_cidr, 4, k)] + + tags = local.tags +} diff --git a/patterns/vpc-lattice/client-server-communication/eks.tf b/patterns/vpc-lattice/client-server-communication/eks.tf new file mode 100644 index 0000000000..0f50052063 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/eks.tf @@ -0,0 +1,197 @@ +################################################################################ +# Cluster +################################################################################ + +module "eks" { + source = "terraform-aws-modules/eks/aws" + version = "~> 19.21" + + cluster_name = local.name + cluster_version = "1.28" + cluster_endpoint_public_access = true + enable_irsa = true + + vpc_id = module.cluster_vpc.vpc_id + subnet_ids = module.cluster_vpc.private_subnets + + eks_managed_node_groups = { + initial = { + instance_types = ["m5.large"] + + min_size = 3 + max_size = 10 + desired_size = 3 + } + } + + tags = local.tags +} + +################################################################################ +# Cluster VPC +################################################################################ + +module "cluster_vpc" { + source = "terraform-aws-modules/vpc/aws" + version = "~> 5.4" + + name = local.name + cidr = local.cluster_vpc_cidr + + azs = local.azs + private_subnets = [for k, v in local.azs : cidrsubnet(local.cluster_vpc_cidr, 4, k)] + public_subnets = [for k, v in local.azs : cidrsubnet(local.cluster_vpc_cidr, 8, k + 48)] + + enable_nat_gateway = true + single_nat_gateway = true + + public_subnet_tags = { + "kubernetes.io/role/elb" = 1 + } + + private_subnet_tags = { + "kubernetes.io/role/internal-elb" = 1 + } + + tags = local.tags +} + +################################################################################ +# EKS Addons (AWS Gateway API Controller) +################################################################################ + +module "addons" { + source = "aws-ia/eks-blueprints-addons/aws" + version = "~> 1.12" + + cluster_name = module.eks.cluster_name + cluster_endpoint = module.eks.cluster_endpoint + cluster_version = module.eks.cluster_version + oidc_provider_arn = module.eks.oidc_provider_arn + + enable_aws_gateway_api_controller = true + aws_gateway_api_controller = { + chart_version = "v1.0.3" + create_namespace = true + namespace = "aws-application-networking-system" + source_policy_documents = [data.aws_iam_policy_document.gateway_api_controller.json] + set = [ + { + name = "clusterName" + value = module.eks.cluster_name + }, + { + name = "log.level" + value = "debug" + }, + { + name = "clusterVpcId" + value = module.cluster_vpc.vpc_id + }, + { + name = "defaultServiceNetwork" + value = "" + }, + { + name = "latticeEndpoint" + value = "https://vpc-lattice.${local.region}.amazonaws.com" + } + ] + wait = true + } + enable_external_dns = true + external_dns_route53_zone_arns = try([aws_route53_zone.primary.arn], []) + external_dns = { + set = [ + { + name = "domainFilters[0]" + value = "example.com" + }, + { + name = "policy" + value = "sync" + }, + { + name = "sources[0]" + value = "crd" + }, + { + name = "sources[1]" + value = "ingress" + }, + { + name = "txtPrefix" + value = module.eks.cluster_name + }, + { + name = "extraArgs[0]" + value = "--crd-source-apiversion=externaldns.k8s.io/v1alpha1" + }, + { + name = "extraArgs[1]" + value = "--crd-source-kind=DNSEndpoint" + }, + { + name = "crdSourceApiversion" + value = "externaldns.k8s.io/v1alpha1" + }, + { + name = "crdSourceKind" + value = "DNSEndpoint" + } + ] + } + + tags = local.tags +} + +data "aws_iam_policy_document" "gateway_api_controller" { + statement { + sid = "" + effect = "Allow" + resources = ["*"] # For testing purposes only (highly recommended limit access to specific resources for production usage) + + actions = [ + "vpc-lattice:*", + "iam:CreateServiceLinkedRole", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeTags", + "ec2:DescribeSecurityGroups", + "logs:CreateLogDelivery", + "logs:GetLogDelivery", + "logs:UpdateLogDelivery", + "logs:DeleteLogDelivery", + "logs:ListLogDeliveries", + "tag:GetResources", + ] + } +} + +################################################################################ +# Demo applications +################################################################################ + +resource "helm_release" "demo_application" { + name = "demo-application" + chart = "./charts/demo-application" + create_namespace = true + namespace = "apps" + + depends_on = [module.addons] +} + +################################################################################ +# Update cluster security group to allow access from VPC Lattice +################################################################################ + +data "aws_ec2_managed_prefix_list" "vpc_lattice_ipv4" { + name = "com.amazonaws.${local.region}.vpc-lattice" +} + +resource "aws_vpc_security_group_ingress_rule" "cluster_sg_ingress" { + security_group_id = module.eks.node_security_group_id + + prefix_list_id = data.aws_ec2_managed_prefix_list.vpc_lattice_ipv4.id + ip_protocol = "-1" +} diff --git a/patterns/vpc-lattice/client-server-communication/lattice.tf b/patterns/vpc-lattice/client-server-communication/lattice.tf new file mode 100644 index 0000000000..c8ddd7f661 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/lattice.tf @@ -0,0 +1,42 @@ +################################################################################ +# VPC Lattice service network +################################################################################ + +resource "aws_vpclattice_service_network" "this" { + name = "my-services" + auth_type = "NONE" + + tags = local.tags +} + +resource "aws_vpclattice_service_network_vpc_association" "cluster_vpc" { + vpc_identifier = module.cluster_vpc.vpc_id + service_network_identifier = aws_vpclattice_service_network.this.id +} + +resource "aws_vpclattice_service_network_vpc_association" "client_vpc" { + vpc_identifier = module.client_vpc.vpc_id + service_network_identifier = aws_vpclattice_service_network.this.id +} + +resource "time_sleep" "wait_for_lattice_resources" { + depends_on = [helm_release.demo_application] + + create_duration = "120s" +} + +################################################################################ +# Custom domain name for VPC lattice service +# Records will be created by external-dns using DNSEndpoint objects which +# are created by the VPC Lattice gateway api controller when creating HTTPRoutes +################################################################################ + +resource "aws_route53_zone" "primary" { + name = "example.com" + + vpc { + vpc_id = module.client_vpc.vpc_id + } + + tags = local.tags +} diff --git a/patterns/vpc-lattice/client-server-communication/main.tf b/patterns/vpc-lattice/client-server-communication/main.tf new file mode 100644 index 0000000000..4412f1b1dd --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/main.tf @@ -0,0 +1,52 @@ +provider "aws" { + region = local.region +} + +data "aws_availability_zones" "available" { + #Do not include local zones + filter { + name = "opt-in-status" + values = ["opt-in-not-required"] + } +} + + +provider "kubernetes" { + host = module.eks.cluster_endpoint + cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data) + + exec { + api_version = "client.authentication.k8s.io/v1beta1" + command = "aws" + # This requires the awscli to be installed locally where Terraform is executed + args = ["eks", "get-token", "--cluster-name", module.eks.cluster_name] + } +} + +provider "helm" { + kubernetes { + host = module.eks.cluster_endpoint + cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data) + + exec { + api_version = "client.authentication.k8s.io/v1beta1" + command = "aws" + # This requires the awscli to be installed locally where Terraform is executed + args = ["eks", "get-token", "--cluster-name", module.eks.cluster_name] + } + } +} + +locals { + name = basename(path.cwd) + region = "us-west-2" + + cluster_vpc_cidr = "10.0.0.0/16" + client_vpc_cidr = "10.1.0.0/16" + azs = slice(data.aws_availability_zones.available.names, 0, 3) + + tags = { + Blueprint = local.name + GithubRepo = "github.com/aws-ia/terraform-aws-eks-blueprints" + } +} diff --git a/patterns/vpc-lattice/client-server-communication/outputs.tf b/patterns/vpc-lattice/client-server-communication/outputs.tf new file mode 100644 index 0000000000..c952ef95d0 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/outputs.tf @@ -0,0 +1,4 @@ +output "configure_kubectl" { + description = "Configure kubectl: make sure you're logged in with the correct AWS profile and run the following command to update your kubeconfig" + value = "aws eks update-kubeconfig --name ${module.eks.cluster_name} --alias ${module.eks.cluster_name} --region ${local.region}" +} diff --git a/patterns/vpc-lattice/client-server-communication/variables.tf b/patterns/vpc-lattice/client-server-communication/variables.tf new file mode 100644 index 0000000000..e69de29bb2 diff --git a/patterns/vpc-lattice/client-server-communication/versions.tf b/patterns/vpc-lattice/client-server-communication/versions.tf new file mode 100644 index 0000000000..9adde16313 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/versions.tf @@ -0,0 +1,22 @@ +terraform { + required_version = ">= 1.0" + + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 5.30" + } + helm = { + source = "hashicorp/helm" + version = ">= 2.9" + } + kubernetes = { + source = "hashicorp/kubernetes" + version = ">= 2.24" + } + time = { + source = "hashicorp/time" + version = ">= 0.10" + } + } +}