From 0cb33580b2724162b8b4f33c7f71697473506c52 Mon Sep 17 00:00:00 2001 From: cyli Date: Fri, 19 Aug 2016 13:35:28 -0700 Subject: [PATCH] Update the architecture docs to reflect the notary and jobrunner containers and volumes. Also update the general configuration to indicate that DTR comes with Notary now. Signed-off-by: cyli --- architecture.md | 18 +++++++++++------- configure/config-general.md | 8 ++++---- configure/configuration.md | 2 +- images/architecture-1.png | Bin 14851 -> 32520 bytes 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/architecture.md b/architecture.md index 3b93d920b9..e84f5da686 100644 --- a/architecture.md +++ b/architecture.md @@ -22,13 +22,16 @@ Universal Control Plane cluster. When you install DTR on a node, the following containers are started: -| Name | Description | -|:---------------------------------|:----------------------------------------------------------------------------------------------------------------------------------| -| dtr-nginx-<replica_id> | Receives http and https requests and proxies them to other DTR components. By default it listens to ports 80 and 443 of the host. | -| dtr-api-<replica_id> | Executes the DTR business logic. It serves the DTR web application, and API. | -| dtr-registry-<replica_id> | Implements the functionality for pulling and pushing Docker images. It also handles how images are stored. | -| dtr-etcd-<replica_id> | A key-value store for persisting DTR configuration settings. Don't use it in your applications, since it's for internal use only. | -| dtr-rethinkdb-<replica_id> | A database for persisting repository metadata. Don't use it in your applications, since it's for internal use only. | +| Name | Description | +|:------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------| +| dtr-nginx-<replica_id> | Receives http and https requests and proxies them to other DTR components. By default it listens to ports 80 and 443 of the host. | +| dtr-api-<replica_id> | Executes the DTR business logic. It serves the DTR web application, and API. | +| dtr-registry-<replica_id> | Implements the functionality for pulling and pushing Docker images. It also handles how images are stored. | +| dtr-etcd-<replica_id> | A key-value store for persisting DTR configuration settings. Don't use it in your applications, since it's for internal use only. | +| dtr-jobrunner-<replica_id> | Runs cleanup jobs in the background. It is not exposed to DTR, and is for internal use only. | +| dtr-rethinkdb-<replica_id> | A database for persisting repository metadata. Don't use it in your applications, since it's for internal use only. | +| dtr-notary-server-<replica_id> | Receives, validates, and serves content trust metadata, and is consulted when pushing or pulling to DTR with content trust enabled. | +| dtr-notary-signer-<replica_id> | Performs server-side timestamp and snapshot signing for content trust metadata. Is not exposed to DTR, and is for internal use only. | ## Networks @@ -56,6 +59,7 @@ DTR uses these named volumes for persisting data: | dtr-etcd-<replica_id> | dtr-etcd/_data | The volume used by etcd to persist DTR configurations. | | dtr-registry-<replica_id> | dtr-registry/_data | The volume where images are stored, if DTR is configured to store images on the local filesystem. | | dtr-rethink-<replica_id> | dtr-rethink/_data | The volume used by RethinkDB to persist DTR data, like users and repositories. | +| dtr-notary-<replica_id> | dtr-notary/_data | The volume where the Notary private TLS keys and certificates are stored so that the Notary containers can use TLS to communicate. | If you don’t create these volumes, when installing DTR they are created with the default volume driver and flags. diff --git a/configure/config-general.md b/configure/config-general.md index ed7fdd20b1..4295830cac 100644 --- a/configure/config-general.md +++ b/configure/config-general.md @@ -1,7 +1,7 @@ +++ title = "Configure general settings" description = "Configure general settings for Docker Trusted Registry" -keywords = ["docker, documentation, about, technology, understanding, enterprise, hub, general, domain name, HTTP, HTTPS ports, Notary, registry"] +keywords = ["docker, documentation, about, technology, understanding, enterprise, hub, general, domain name, HTTP, HTTPS ports, registry"] [menu.main] parent="workw_dtr_configure" identifier="dtr_configure_general" @@ -10,7 +10,7 @@ weight=3 # Configure general settings -This document describes the general settings you need to configure including using Trusted Content through setting up your Notary server. +This document describes the general settings you need to configure. ## Configure your domain name and port settings @@ -33,14 +33,14 @@ for the new domain. This also works with IP addresses. ## Docker Content Trust -The Trusted Registry's includes integration with of Docker Notary to provide +The Trusted Registry integrates with Docker Notary by default to provide Content Trust functionality, allowing your organization to push and pull trusted images. After pushing images in the Trusted Registry, you can see which image tags were signed by viewing the appropriate repositories through Trusted Registry's web interface. To configure your Docker client to be able to push signed images to Docker -Trusted Registry refer to the CLI Reference's [Environment Variables +Trusted Registry, refer to the CLI Reference's [Environment Variables Section](/engine/reference/commandline/cli.md#environment-variables) and [Notary Section](/engine/reference/commandline/cli.md#notary). diff --git a/configure/configuration.md b/configure/configuration.md index c4de3854c5..56619993ad 100644 --- a/configure/configuration.md +++ b/configure/configuration.md @@ -16,7 +16,7 @@ this overview to see what you can configure. To start, navigate to the Trusted Registry user interface (UI) > Settings, to view configuration options. Configuring is grouped by the following: -* [General settings](config-general.md) (ports, proxies, and Notary) +* [General settings](config-general.md) (ports, proxies) * [Security settings](config-security.md) * [Storage settings](config-storage.md) * [License](../install/license.md) diff --git a/images/architecture-1.png b/images/architecture-1.png index 7b6615d1ef7eece495deb31ff2d21868171e11ce..5d20fc7970abbe7a8902d4044c15967941926969 100644 GIT binary patch literal 32520 zcmdSCcRbdA|2BTMm-4AdR9aMa5k*E*P7>K3$|y6*4e{^PzMzu*14caQ736sPlizhCd?>-jv6<9R$^*M0em=QplrSx=!*Hd3X| zDo`jZ?ocSp#n!IIcdpK5@>3|wb{H$E*{I205Ye+V=hfA>ylTMfV16Axr%*&C9Ior? znHt#axoTi!Y$3L9Ft2Fe9%Fs6eX4@8hh?vyF}P+dGEeEs$!Fdm>%g=vFhBVq%Z=}+PTb5k zWd2)q?OE`|jq}fgEoYUIf4VJdjG9zezev91a6zCvf9UCTeF4iu&08m~1x>{d1zk_! zU}A8ScY67r@4)qqD0DTKLmG0`i z*Y`GGUC#IY!WOo-dm{N)cNNPOCB|+Z9MHv zM2CBE5>uBia|yPkgnr{+v9U69zIjFRnW>){{grx+3!FCMyu|H48Li6Iv^F@+RvcD^v-pKY?*)Ve4k>jSC08wo#KUMHV@q! zzZ?^pGg4@Few2maTz6ec-I_w#u$BCG86`M$JB6}`LOpv*$sx3_$=-&+p!n186VJD- zjgT6=v&HG)Q~9$eqbHlsYMlM2CU9-x$_>&PH(!iMr$kU0yLb71a~AkVs!QyoRM4PL z=ySd@i>@bc7m}?ft{HX&x!R@acZS7Km-d8L+tV7xw_NN})lZ_5SK?c&Cb54~8a>Wi z$@Z*ot>xGM{LiXYtJrM?@uMr}<>jAvZrT-GQ~Q?dgK!+z(mP18tUOKra$Wv^*4JdJ z*0NUPm8(`6cYTYXYHh@aQLCTqJ;T7j@U*6u61M&3KPlV`L(3^1Z63Xw^S^ZQlMF%G z^x)*$|LeXU#%hyQcGi49+-hY-;66u)v&wA<(Ic(g0#*>cP_~C9$fa$x0 zq_&XfO`*`F7v`oJ85yIWaws17*AEb29>p&c4pH7#RT(f)p7b>pxi8-LK1TO9r+)8& z1Cpt!sg?8j6bc*r^1YNj4PDIzd2@4f>AJ&_BX2Ywdr>Bi; z(Q*py@$EJACbJX$KMP&+n%x&&cS*Qu zCMPG43=PSvsXcrD{yoE%EiYw5ggDN7?=;LgVLuQn6UZBU!ah02e6YFTXNGBD;o^ex zcu%d2bw_zsZGtMfhtX%s2`b&q1qN#q83NG^fSW+SLpHY1c zX$iKyb$nxDD=DqiZ>QH%r0iC2+8LXmnqu-bR5;guFwCMkKdvFosO;m%b6DqKLDPWR z;r-{mYkuWew|8{B3U^;nH~JcSNnbw-OCNn9h~Idut4dDO%b+a4xH^iue(l8lmzhUG@H53O?QT8-1sYb*UKwGr^t;KRp>e!Z`c1*PMMxU(Pmf*OGJaei;Ig{ zW+1PY1})uv(apN?&&P+1%*=6*m<8hH!o`IQMmj1??fPA|a41B{FD}fRX9jXAOVb#3 z?MjL~@1xPbL)78*m!};2sZN6hlVc0BgS|83y(8n}wZ~dqMnBk6D6QxAV{g%(&rOdu zHihwA7NS=BbE%e_ACwDw%Erj4Bz5uPMY}Tf)4%*a2MZ=B#9TB_6O#$x?igiD^kU1& z$ua(!Zj9*rc7N-^beCx>@|~Hn?nGNW=YX|$C?5I;Q*YQ!EN{Wj*{G{FY`ZY#f@ke+ zVJnr$x~;IV5L+d1dUSTM$THJxIpxW(f7ULelzKmWShjU{Z+CZ4*AYB8#|T@gE<|Op zxNGk8C?blHm32X>bNRn7UfXzjq}`99s7~jq-C*;)LeJIho@8%m6}qU4i;I5=6;4am zE{L~i$}K(oC{SSyHq*+R|4@dc(^kH(2szd}(3B@Mi`|jHb2&5rY3_wEQFYv*FPm)W z@hZ(bZXX{o1|PriM<#9sg(7zgmBJxf(EO)Tb8~a9O*hSR;|{~xEk?$vCtPR7Hl&=t zb}e>hqMwV}Qx)ljJzN__-D(~8$VYreD(2#Ir{CjPaVojTlyp2olOL~jX;CSKGt!TD z9IN}0sz-LCKc9}afML0On5d)nwOxPy{He*YHfqYXl|jb&KJ>e|!c}5^%#YvTOVsDj zQno!cR3tOLbY2AUIz&yYe|_Y6dfDe9%D6y{e1}v#jY!>MPYyP=vn$qYQY!J@#ZEQ; z{>pW4<>Fr-36o;ajkG^Z(UT)1{F4S>o>KKny!{zkl4{?)7Nbx~Z<;EoqHa9gykD{l z$%9iPJ+^6nVPQezjsAUwC@I~HrqWXCE)g5~NXf_PruDqLgssj_k9MjC@f$qdduFw5 z|4(I_(i?qhg4JkerK+Z8XsyUy%cA+r0B-e{NP+Acl@be6XJ|@^YDY$k0-S1-wHiC7 zw()3uZfv}K>CzWYUsIi-(THb3?A^W!%x zk7W@wiA7FTDNze}?r`{@!qKlMgerXz$mi{jBclOzH%Dz?9`i-#p*-{aB!11 zlH#HI6KQ??(+cR(n!KV8X z$d@wGUY3A+v$AdHqNjMQ8SY0I@;Ep-aqii3a@n$FR4qni4dzFC2{5CqIk)G3-d8nd z5t~@tltaF!PsACo1LGwdC{N0>57@3kyb#=X>((t=E(_wEJ>u>^wFzpXy?Q=18j+buvj$$uL6r^d{$e~+%Xb(lrmla85Ivzre;IP*X8#&HM#T?^Z~ zj&7HT63R>MZudFg8s%k_)}YPE1P;ql3kkNd0ced%1|qF|giwFG^|L=$;Ce>RsIl(v z2MMfkF#H$Z(Pl?_km}*2P=D$YL6j!XKBd|d>2)Qxt;&TyF_9q6K60{4PICKhKr2P&& zMtw;@Y3lj<{De^Z%;aE-h;7fciM|HDztPJmL#N3Nq~yQ5y(YnRc7ptRb+k;(8-p@V z*_ca7v()ckFKX7$9P1d1U)d4J<7E{Uvbwsu zGyPdDeF3|VT)kt}{v{eavIiwI*J(T+SnLH5V$ZjTGwbQ-T!Q%4AgK`K?+`sdKiNWy z0xF0HI43 zjbvM3GUs(EEAf^-OK*u(c6o7b)TiU?b5ncw2Mio+R3tRJ$z#{Pon)7O`nsVx!&Eg| zHbjM%j*#e7x(po46!4sajDh8QW!CV9N=w!$N(Q7kbo8haSs=0|PUAgZ0eot&Uo`b2 zk#VXdJ|l|?C?h`Uw1V7(?4@<6DmGH3CZVON^n2hO8qKs+{&@;R4H&8SIV_9X5?0r$8)T@vu^9r>#c9k zmZ5}+RJj7^(b(Ec{W^2%n8Bo$N}>U?XT-7zce&BIpnj~uy?e+yKPeS z@@|uBKr|>1FL&t+vY%JE9RU=voIUwNpc4t==4 zl^{dS94mGI$^f1ayS^V0z{RE&!Ga?81EE-y+Bn67?G+*Q9n+HDJL632lf`UukZ!aY z|CJ^1o{Q6!?pvC|d9_4b=Y~t}4@{1YDb3G}D;K%VpBGof6^F%pBdwgjzzHz)Un0&& zAhUTf{PWL?vOvCsv-h_w6($-T3P9_V<;$1Ta`Aa=!sL-q{ui^+M3Q~6XGFD&OOOKm zX8x|CNEvGS5p2=6|Ii_+Q>RWXNd`kSl2reTcZZ$*zv=s4TNxPG4jw$nnlg-Qy;r%K zUVMjW*sRg*%6Gks4nK=FzfC~V@Hz?=hS~GoUqKg$0C)cND(xRjubOqJBd_}Jkvcq9 zgzy_Y0Pc&RvCAwmZK?;B#AC(7$B&hjl%5W>6or$z#et(c_QQY9A?e8?ugdhqw{Er@_!TE$^fgv3^(rS)8}>-L@%ICF@7y^A9L}jz zm=Dmm@7S?pdF_Kuc`=|TCdd#XR&Do2+DapliQ|wqq<#0@b^L{$OUed*Rf#Y$9nTMRYapm{R&#PGUZa zq^1w|Hh=Nm??sYfZ0w-~J&p8h5kUe*UutV-Oy{ssO&Z=rgR7WZH{V*dp~ro3HXH>J zX^@^?HO;W1d_ExjdyHHPmum8}M)%qNW4L}f`+;An!ZBG{S%wwC(Ydz08s>vPGZJ{U z^J9?@x&SM`p|~+HF~wYplr+Yk*GRp37uEI^n8i<5dZ)>OB;=|%uvBbzhj++SPge43 zk~M`L9Ua*O? z+|*q6#lq8P&a@-JA?GxN3b3(#SbAxR#V&y0NN5D$(Xs;r1HdJ9D6UVBS!xq?fY#RD z&TeUGnb)48mG^4LF^eBb8;~;(bc5WC3=dyISon+Bnj~rFD3k^8C|5$vtLgPwxpnL^*}1Pgj>%rs$^y4(NJO*Fsym4Tbyp)d67r$ z^-26w2^2X=W3Ddga!i<*Gbb##nHBlV91XSQ$Or@<1K8IDn?crv3H|M5f%S;Z49gaA^B=EI zfzm0SJ$na%9o^b`gAkMMH&oY($r({AxZ?_DQMfEcjQ z{%joJ6pvX1s{!RQTxabP{z@#)SvTc7DnbtUhLCzHWUfI~Kq0Knv$rH~bUD-P5_V(; zHm$+uC#P=Syg7pptvI=T`}S+LU%>~tu+Z3=b=cPB{ey+G$zWM2AoPTK6BrUKWNtFb zf+db5M7h|D{#ahNq@*M#*zJQyk81Er@=*!=8@6$S4}N)eBoatww9k@_(i-thX*GrR zO~-vc8kg4d#h;6y4FqXozT>F$gQBFm)B2X2HjG9-nI|%8; zQ&+mbh27@&`&Cq0OiWDhG0SA2Fpc?NuXWFihOVJ!Rl2=;BT={fxz!cO{r!2!r&Q$T ziWGMd5Vj6!BMx7Gx^A@Y{Hh!-?#i%v^IkbQIY$SFXFMmc(CL>4Ix0d8*G4gZE+h(8 z-;Y$o?N8Z^jEq3}PyS2WnFS54cso&XtmT>Rw|yw@EC8`=#(+6L(~K(hYWG6UHK|Js zlD+0fR3)Ml&};^N3Foz^>6g9)$WVK1f8n`E1~cpJ+qccXsAXnYG>KH*piw+Jy|$gE zNSy}HPywzXiy*MJImh}um^>g>74|047)Gal7kl-7_TB#_NFb&zSu0`rs`bxi31Z1G zQGPCLExFru%-8U1XdDz6f|v*lYIYtJYya$9+_BFEG858LK)h;7a?!$!4EB9TAs#w` z(IjU8c^L|*T%Z-s^l%l7*Ii~gW)Zrc;m{rwHLYA5Do}$={j&&+?O7NPQt#-t!bkppjXYb2kNj+GEoLaf*Y~2ui?8;)0 z5g%^jdBall4DvO=s2uI6WwU4qe}FkscR)-`r(W&%D*Z1{O9$*g+eR1v{`tf9QSQM0 zQbRi9(W7OtrR7-8Ay%fu1hJ}1vXH&yaHsoL+j#|WytrS!a!ls zx5%<#;sGM%REiz?VT%$bh7!gW0bNj$s4EQ?LEekFzz6s5`?8VDhz;(C>VwB-HtDjC z?-TbmERo^$uwv}?=8Ohov@lWX%md+JkCYT^`odsB)o5@6Bn z@ONWgBahZ9tXcU(2N^DTJbQDE5$)M`yn>f`xUM|iDu@Rw)`U%rnp|lUR^U8Ipp4UK z#j$Y3ilG+=yLqPvix#D6$YT@V{vwwjq^cxY(OVC-o zD0idRp2Rr~nfj~{AK1KZ+yH3^gCP&f;I1{mZ^XgHvOa+1b) z>T*-7afp!dm$NLOD3%I@nEleb;HL^m*GG-M?nJheK@zA#Z^L$SKhD(xFBW2-T3!)`WUxPp{B2|Z!T(ZgH{dy#VwUz@#I10h+Kebq&N8tm{IzHrEX^V zrkTU*jN&txegT~%5b9+6{CQ|-d1VR8O!P-|jd!)b0cPMlWtgIH=49KBCqg=px9csmgZDz)dc{H=-d+Sr` zoAT^;_Xv1lBlU!@6}xN>;FQTgsszIDR$i|Jiehdsz=Q<_tD=A8VRzuL@NG&u6!3 zz$XYcK_!hLzdDfNAvpDYS5fEXL&Ha;39Ef(t5 zmoTwBg2@qx;{#2XlQc5kaH=M02PdVEFOnz zesJ&JYv%#biB&6C9y0%#9^q;%{R`&MCN*<}R3B{E| zj!}xaxQmfbTa!m4T^@;CxxmSmz#!}rextNUxLzoF6~j8%qGV;>7*!?%mP5?3A56xw zo1(O9V3VU%yueCy6S9Fi5lK>IeSN)IlGC^B8-JhTj;!f6vsU0+bgGEABP9$Pc**$| zx7j4NZa+Ek)ZppwSV4t3v!?+q5p34o>t!}*pC$=0Z?MpGVJ^MspiI_VgqjJU8e}-4 zw1@R*dcT19F)}$RXA`OeNv3UZkk8%SJwg6CWD4_N*_XmyCxXbvfeL1V4Ntl<(oYXX zKp`~!m3>2~NdhsFwA*d!6arrfg}!3j8Q?A`hH}u!{1Xxqpl!xHdGe2PqS_^ixuM$~ zmEkFG-<~AR3;V(5TD(t%_005iX-msu>U*vC>-51MC(jNlTalpNxLaHk$S*U`efZBu z()1yVgc25uU|^AO%b%V+cEnTn5a1F%OgT;=n!v`5=+LVsYo-cMpu$45s_~InI7B7+ zzi@uyGLRn?S>`)76yx^ov2WkLJzL~_;9@BLb~0h_iux2C)hkzCtfpt>=2$T7dUiyw zCSI9qdUlrd5e)-}?tBdsOTbIXmC8TXc6N6;;dhA%!Vd9>r$*Xwq6LTt=L=5m_oGd^nZ>&Isx_r0Z` z0WVYS2elJMoAc}|hek&Q*qCW_K(vuyI-Wj0K6^`JHFMtVEtLWrQO-f6eSe}qE@Ih~ zYrw#(`QwRxTUlTwY1tpK>5`9xkl+~-60*0Hd`EY?=jN?j^^RWq_ExlrEfN7Pi5P!` z`oip~yB!OFk0L1ccYC{m6u+jX<|Ab59SAf2vLvm%x&ddEI0g1Iv|$2keROVeLjLfl9iD7@*bnrsNnq%b=t5Q0k0O&wwC7EjY5P}x8nr@KS`WllQc0;s zAe@Vn^UHDY_*$bQ5nWwfG2-?h&{$FRv<}7azv^NGgOfMBogp!9q)MV&Q#%2Zz;+}g zfyG^-Q-@TOLvKtC=_c_1{q$I%B?RT7ktYycVLe2ON;|=CZuN(aEX>ztjIo}RCQbp+}y>dy6TcbZUAW{@Pqmwih!$*p=o&4jZfx{uuw#O zyX6P?dg!R9Dy`nFDLK7i@6b-y@mf_Ph$9+zpOcgfP7+*Pm`x!q3uO7ntYR8?%+;vK z8P|WGCO`mGUJ3ehu3f*0Z6PrkG-jInLFE^+Y)&Nl4z}!hAJ$s%p^AZ2L=EKC7f? zC!w+;5@oP4Xvq9*vkz%rckdcQQJ`t}cejT_SK??x2xWYBIQ{kO*O9TYbjKpl$|M5u z(5S%$2j9AVdmKFR8dR%X=gDO8xuG+NUlp){OwPa~dXmJOpfK0uSoX*dDW@6)S~=59 z9VQqZC?>T?I<|j4th4RpFYLo@d=4-M*cMOc1G_y_Vnq~>DbpqcE@7Z;PPu@FYV9cxocDz zM*2GK?d{Rvq@0Hj%YXf20%Adz_r&Fp(wd(YikD!7Pu**1k`X!y&}BOY6R%ahBw_)ebkY~~PrJpv0jq*Ktx`Nq`25L}9&R(; z2h&2(1HY>rEzL-jHYPspny#uyMg|6b~CaokG&7hc-ft4gNfr>w2ayhKa_J^}+UqmLg3>~vSptmZrM6bSrpVb&ELRe14 z@;V^*Di{dD4$(;~Kq64iu`&qh4@k8Dv&u3qO~1g`lB{)NpicZYxB43bTzh_`MgonE zsy)2pjPAet!kiF~4-8=F7d;|gC5WOw(`Vojjsu00bG;;J@P&aooOJTSf!mPAxGbCV z4G;G;W(}IoXI;Tf^V6NdO=hjXy^Xjwpo6kC3@ZB`kY#b5ZVwb%v?JYL(0eLvT5R+M ztC*A8-FKbsqm>d_>RZ7a%ZXYawOF)n`UM;&LAu{wB1SsYrtY*$KH46E#NUfvY$o0u zl6?T4IGg&owp1)^OLtDSZoam6WmqII$4|2p?hE-jC#TTn&VYj`&w!`t4tJ9o_tvBE zH)v#hVH;z6cr44b{vy$vfKwyUKEH&tp@^cWoM&fF*eo8MYo9ecG`%x ztv2-8S}nliwF}3#L-Kp7wlS8K`}*uh*n$E-Cw)T5?qKz$GgO48vMK5b;Xz1hBh*#pUelCz727Nyk)d%E(3Z4S%RlPNH(H+$m zWH%ew=a6Je_i8+n3q8J;?Ry_T&V$goACShq)d~e4I!1AiGtnav zRP~Cr4b9K;?`*lO^7oS7gRPgttF&`Kx}|Awf|%tNi+8%F^E}LEd}{Cc zD)3Om#%`UYHTYL5d~II2VjEb1%gfv-=&3{r#4XywFGm`&*gD^_y~uvX7M4YRmCFcw zCWdENzh<|~i=mj;p{1Zy2HQ`W*2aI-=jVH3&|it($d{6m zgK-I?QgF&SB=UYuxebNFIxcWcp2i$+GBC1D!^+yrU6-@SVm;A1Lh)oC;w zYEyJ{AbWp<%#k}FoIiy*>#2s5{J}CEiIH!rnE#%msshA{p9PxRO1q8H$6O>j{ zdull_37%3QS~a%VJ!gH=%JY$N3`4FM8FQp{B9+qq{e?ZMt|D>(52G~bJg?{PYbdc_Sgt~@#mRSR>>j*(-Y}U6@?~o+yJUP(7ljSsSLLE+9CBX|_G;O?G zTeS>bGl_KjFJ)JQUVIuUxF!eaO8_7Q&7wq;WhuJ~BW?!1eZ%@2xyIb^Rvu}-jCDnT z9uPwWF$A!2Ktt#_yJ3EIGK=M~``=F+(Ss-**faA%E#U66!@9RBTIZ11OtH^tiEHL! zh=GG)>(<916%){YWW&Y9s;ur);nZQ?!&7MrO4HOSy*^;l9Et=~ldJ}J zNIGOIv;eV`C9@1^z}(G8G=*9)6|^d2L3^A4W(avC#vUXtjqK|Yq;Ct=PtA7Yd{07( z60B@Q)5o5_1SE=T!5%Fau1#!uP@`G%HZ9H%y8G`tw?0WdO%k_NcQD-LB_Yue>wUq| zNDB>*?Alw8WrjiUV1x)X5{sK<;k4mP)4%MWii?Xw+liI<3m!RO<;dAi%FuOEWsti2 zd5t}y>S2IECGG*oAa0;c%a-J>u4}N!ngaO1h~rJ9q?hL&9+;WD0il=$PF5f_o8CGe za!F`i5Z#V=*ka+-pA7_A6W|25Vr`m{Tt%2zWB%S}Pf6xOBZ32tL1eSzqr-~#ZjLQF)8;2P)?gIQAu6f~=1pXGh9Zlm+m*i0u%CJXmHpYq z`x^X$4%{sH2dxd_n*^az0E2-8Bnj(8boh>7^KFPf5x2Q)IHUFKg*~865Tgu%!0Weh z$6{HyP)>5)=5xtDLPJhNRx%BY2)Z8nkOXIwmy(A8IfbAksAmtFk{@q_V}?{6@(3pS z)CoMoBd|NTItTm%6>cy3IHND!aO=dS3&KAweStQ52+)KWx=BL~eRm?PBmF)hLgcTU z{Tyx$_mMw-%(KFf`k2TT#F~RvUPf&p2npFba-uiCyf}3`9pX7@MH^nQhq6YRwe#>Y z%S}m#^MNsA%VdK)FaMY?zia5Q|2JlBi@K;k4JC)dOqZY%He}Mxr z+Eo&1jsyS_Minx#4Olqw)R7Pe=jzjzhaNyY+UqxLP=rIVd|UBB=9EjwZo(%{5U)Ej zzFVJ_N2G}BOgc8mRr^1&$c83Z7?q|xK!GP+QT%v%Dky+Sxtt;=P9#7cA^kss^YEyhn_^8!(uf58-mt6)Bhw8y>Qy?r=sATH)sMRpr0wY30oa={F=1=@n$r ztd0YMK@o{jG(E8f%A^GdF-Pg;*>$cn-7!l|(tEs0u}@ahZGTJK`c@BPFMR5#G6Y{M zCu>eeln^Vvz0nRqlPF}dL)a3q4cBqv?`?V#MX>ZkNr(mZ7q?@UldC)!{JQlN94boa zo&C%-pZy$HysH8-_&7FwFZd$CkGOG89i5i*7faoNkchzxc^;8OLubcm@+y&)k(c}s z`Z=r(=k{ub>lR)AeT$?#Kow44Yn55L;%_Ki75^yUp3l}F%yS%l zMSSd}H>3E07z5CE*VQy$4k-6;KS>feaU29OPVM|`B5INxPW*CYJ^=(z^o_DUbR1B& z%&S+gw*CDZnbqQU89l)&qy_Q>5I5Zs?PO7afa9ik}X+wWCZMnybn=XYJr#1Oz}TNYL^W{*C&p2s$O5YSv!F{ z=|<>htW$w0lAkY;51nHWUSrY)x9;>N8ZtH+mF5Qf4vKX}$23SOkdh8FXJX z9cV0aFCyJ7EVsHp2O8HX2Uo2luOd`?zQ_2G76n>v36P;Ra;%~;I3%;@LMu8QKU4Jx zcs%O9;F56n;|UZcl;B?c0J*^*UC{6@M||ATD{mjj|d5=04!7!#RQEqRlAKj5Hn?}_ZQD3%*@bO26qh29f_lR@<=`4))ex!GWO^E zWYJVc&s%x&l;!ef#$- z!){OV-ArFvB>^tTAr}QrYF>BG*!R?MSchK1D%N0r42_c5(|6YsR~0y1#fh#7IwURB zp?drV+A~Q+M@XU%U_ZqQ6Rr@R4D~^H>$^Wt|Yz>mGxTC5DW%>kZG>IBhr1tOC_ z;@4}^jTK3oj;8;8q`!+>VCK_@4?nm!4S)a;EfKsvRXu<16l{>H$fl?tf_k6m5{3(5 zqavlAwP6JL`Fz6RLmyjSzn;6?j6lelCn^mn@l&{;2*;$my$vn0V}TJtkmZ^>oq?st z2-l-A&3n=BuEW(=xM!74OYWkuo!zka$s^aP-(Dp6i2T^!Qqh4MQlNUz#+*uQ4;)6cM0W%Z$`o< z)NlWrxvv|GNd;j5u7&sdSy2cW?B&Om(&gaoY#)6X)9RHQQCI;1zeCgX?-It(jqII$ z_nk|J6DFbk8obh+)Oh)bTeU_45rBl@P`1_=lms^)%*gXqfB zdzh`!hC;Umq-6<%z!wNQNZ#TB6JJ=Ok@61cI3&I96t;>5&<4g-R#4?=xOe|PX_m8p zl*@cV;EwqGm?HI!iEab>pAa{rkmOB>oX7MF-QYruge615Ak%Dic_DSNm(Cz%W&W%~ z^#=P=1@t1SGWMXEawWtKX-S zFVZ`Q>{J1^ARxdM-3Fq}63GJLr@As$P$?%fZ@JC<3D{O!26{G3K ztvhy@TBMb0=7Z%ymn*l(K^qbSJ2&Fi6?`c(MC1P~R)tIl;Xc3DTg>hEsAszQkHe}c z@FUc^i#;ZyzA$o-p#rMbV|{`>0A^~TZlYDQ$Dkruc`$#}o0;;Ek;_mZA<|&=XJCkf zPMdYG(}C;`RV4?n%X86iaCT0B(zJflraC~S#9J-cEH*Hc5?3Llm5ewU#7#f%i9Z+{ zM9`5z1C30xpr(^QprYm3p3V30pcJ4D9Sj>QiE&`TCHRK;A=d!~)f6J!{nbKLL;LSu zcT2o@{P(kq`$dV7%FVEQg0-(F_=!Pv1QeDZp^G;HQmM%_r~9iZ4jM33N-al1CF^K| z`VY_2Sx6P6M1uWAp%es_IjgB@=s*oOKlXzPcpJz@B|X3sTXg`z`T}}u;`|`%6EU2~ zD?39ByLo>i0MahU=x!&*%&4j4aHu5d&R>DdgKZthNZ)iNTpha?DrwZWZ}P-8 ziKa3kKxDqK03)0To*OUQd3ycCj~ib)9bge%c?K<*bhOdQY%8Q|XNyjZDyc2q1Rhr% zu){ctn=wRlQU{4C3)dTuGUPPdpCt%voR-&usABtQzv9Aii?Xn1&$grG@-tC3K+RMR z#>pjf3`&v)yfV0u7($sbq)SVT@hx(hego9NLyY|2_XqO4W|9nxsx942oQohnB%sk3 zBVK1%)m710QUcT%CsH}|N+N@yux&AKF9QOE^cZx-r@(eoctCsFOlxA=I&cIPWC#U- zq?*`Ek)0F2C>}8-+>w+gXQczU168Xh2!j+OinBxm>c4!4eMcQ{%`qg!`yhxBLu z-pvX0>ZF!xY7N-EzqVhhHVX?Mux}28b_B?!ZyMp zul)vB)(gR#OwL42trH<$I=;fG(^$TGWDGVcw91aV`O)L;(D#T-ugMENCG6@*yh37F zja%ke4fZE#oyc=Vg#0HjfT4XAp6F#;FW|g2*ih2cboPvj9}E4iGXNxpB8foJ_2j4GD1+% zJnAS!7+@;h_}#5lR<^bVvI-O_NmyWqXoN_hC8Gk409&3>S`qLL@ytdo>a^v;JWPuM zm?q;qc9m#I=|DXH5gI*4eG0QBu1r;_W--Hla9FtBXR#za(7aqXO?Ip9CIK(AuU=AW zQZx71IJ+<0JG5Itp)pqOoXDlpl-p9iKKm5Jbz;u7KTQkudvfN}rt+PclY>5!$)@!g zy}5SZ4FAq&w^-CyWK7PEyA|jRP9|U0sw~hRtnbZ7y@>&dD>F=U)Li|xIRF^knT~;p zSCiBpr4(&3bYAwfn5X6vZ3UQ+JS+l_kWhM1ot4418DTR=euFJzkDN>n87Rd#Ukz|U z+`s!sc#gRU9_5JBtH^A)!hl~{TkU1bf@q=`q4yt;aYcB{;3Re?t^|~21YQ+frlmAG ziu@x?`LwP_rjN!@2Zqkwg`NI{5>W)T)xW~fI*|&GfW*0T=QwzHWRYB~dR;@%lX@i= z&P#=ia=oxoKdoVB*~v#}igIvpkctn5wL`@Yb_q^^P@?TXXwJFw9;AU_bYkZv*9x!9 z3Ea6zNX091dl;k#IIG2tkJYN`5YzdW&!4|(**8TaiR705!H5eZaN$?;Bf$0vrqCt9 zb7{yZ@nBYD)XHffr<3^gONLrd_5=S~*RfN26HBV~M0?WE5Ro@-bS+ zg{4F5A)Cj>C!Yf*(5rfSj9a%xl9_~mqfRC4slaiLek=`ZlXaySYcF{uq@jWj&F%-* zf5MjL^#f(T%*w0qO`hhTf)<5M~8Lh*Qy z0ZEU2L)9{TrNH}8TXMJYYQ|z~icCPUl0>d~8Rk479H?gj9gmpV@yxyhCJ^g$NgK_k5_PVBI|I}nrAobDb8!X4LbJwRp+P~hxBt{vLHzc}@d6jZVe zQ3YSkghEPK4JjvwG5qPVPaX;cbZXPDUIElgQ>mradBDmcqJjOe8=!;pk_^tFc*1O?3Vi$P){7=| zYj#y8MhwBaa}FCghs;bsx)7WEW$oR3uK4g6MuC@hEFfXyH#v%jEjH(iwPe>K6Dy&U zI_mPM!cY-m1J~8~X*2cashJs0e*S9HwP&l=!TSRP54a~@HamS7XY@eRT$C|$(ZhxyS^1-Q))npf<4F|+&X5RIbY$q}X zm@V00CPbV@$N<&ExC!TH)AizwphNcRI$J1Lv{3IU$v4nG_-Od-2<3%??yjZtSzaF^ z!z>hv8s>HbFi~)VO;$A-+%4oD*j{TrnlK*1h3xn(IYx4t-{c+!jS7v9cJqCUtr1Q_prLp z-I$)5x`vsKb4?5~Fyh{WP{@d5At0NyO=p9_#>3vwgW`5GT@UtW{4IvKZkNZ&EtwP` z#lyYwBh?&I1hJx`_NZU!Tt?xF#QP^-!YDgAZi0PjbOL1kLH4<+gT&g4$qHDF42j^Q z=d7U-tdgwBL4_qxA*}a=ZO>EaB05+4FGEi!@*UVEgW7Y*SXIafNv=O@Ud6gk{SbNTOfG82T_qCnw6y00M7 zq$ZEN0Ra5zrNwH>i+c#PR!*D?u`tuiM?8b5Fhnzhf3ja?0NI<+p|Z-jxHv-XTwJvl zzq>H;NpJH?!oPT2L4BM%r@STqhZ*>607--a-*^zzPZ|j>2E*(fzI3YRK(-3o6|(+n-~Sb2yDzi)k4D@{;VV4z`~JJ zB7j%-ud1SCB)Hg%mJh$C1CG=s_a9sPIDfz(fb# z5wMhC4-8r4&U)_& za2gVM9b8QX0?597`-r5TrCSUQKpDNf+D!Ayf&EBxsyNpLJR>qHicM_z!&V~JplgTL zu?^%76V#vST)y2dLpP!O5U~zCB)6|I&B%uc2ms_|EiF0_`iV^how_*9UNM9^Y3jj! zLv9y`BbeahZeBE7L8%v6c(j_LdJ~majU+|97XvOHaEFMv5RSu%V3}dopa2%9fcRmj z0_azPH7tRYN*q_>ecylxt7JC-4HEwr^xy>0J7bJlkS?1zW~J~;R2`S$yL#*Hle0ZY z4F!xP!wlr3z}ks~MxHLHAwy{a$3@cmAcNlf_n#p=ILxtwIg7u$yPHM8@DaS&drDmb z_|O+3Gyo}|bn&iX9H6HuFN+QMjfx`k9Zz7VM9iyK@!-c6wm#t8mIdPhY~3(nsUp(I zpfeyH$KJiC!rf-#BF&_w9}vGymI#SKeD*a0uHXeCdL_&*DtOWmNS>mz6VYgqCrh>@ z0^X|NAaOXtFvJTWLrh8_dscn3@HW|C7LpThPs3qbQRvPSxHkjSBxL5l8O|?Bzmi}mJfPJ5Lu7yym#>Hn2z>f??I<~Wh5Un@4MSR) z)z#HwADMKrpHGrm7qIjMNPWPU3krBLl0K|FRMJO-11qf4)B#Qd8_cB>%@e4l3NjCo z35XB;$dM{`O{Y7X4b`0bQcHFg zT*0t5ks`4A_S7YVqDy!dvds)ag%r6h?9!jnYs40|7F9K(pK{DV1;Ut?D@s59gN%?w z{L`g#`R)3DKHMjRb~tG1D28Fg#=f25okd^&)tx&lNtbhYco+shQet5#B1yIYi5S%j z3MWaHkxY4@CgeOEG)5BOKRDqevy9S=dh_C0n#74Z5U~;_9V3!;^`=_UrnO441j3Y- zmZq^a*)^J5%*w!=hUcyUmxnyYnb@dgB!CU=wYPtrJQ3&02>nsJQ`?4r==tQxUVn3~ zY9Dsf1#D1n!F|tx@rc=z){x)~1G>v|YxEW@!hPWb6RGQK#PM8Vy`&bG7;y9zpS50p z2MH-Y%ymMYblw5TZN@A_5DURWFDE*D2Rn3dd?!f$CCKJYnQPXpIpO(W zgnKWg&D#j~wOvL^>bj^7?6x|>+xApKez2ys@u$TeLw*X>UtP4rGQUbM2nrz>XwEK0 zFy@qTPcJW1RHmG;mi1WZos|@kM)d61IAEgQ{3cE2!iA^$3m2grMPmzyS9T`BPgl|p z09}JEI3jqbx=|nkJb}iRVhbmGY3hOjIss6N2UR){sl=m8Aggn7eBS87e2BvaI~kga|weV!Z0UTG$tV%Zlci&&sK}?UTWq zKuT-NY+_vt!7EAJb*4?D5*^M_#F$rVU-=PV`hr!!(ee zl;d(I4RlLWY=PWAn(oQ}?YSeL)u@Ob0BZTs<20p0t`4dF~?HL<=3zx$eHUU%-aB`n<1+&^U1%L&6a z$%$JJUW~PDDGbJWa!4@=CkFGsU;5-Y@eKgPIf+YHxS_WYwbr@GXfYIaT0sffH58ep zCE2!ZTgO^GV3HA*wNNB10SvzyykWBJvxNj_icmCZ&d<3Vga#mSJ?8%PK2ZaO27pKg zEZb`Ay5rT|D(eUPCY!-0v5ECJXT7?90q3D0M4#dqHncj@vGp*Uq=vSR_1uy7)7Gva zB0iOz(j8_=&23}q=_y$Nj1}(J*(p~x5)kz98T=)B=BH-OUN(?CiX5Pf7#B_2 zcNW|V3!{p{;y@TSepUFulT@!ypxhUjnVBt0%zkB8nV+)FPLr6-giHXd_j|n{Lgbd`fkbnzkf8QJq1Lmh0V1f%n0$1gnOgWV!J1q zTcuisoMNK1dV>*s{AHR_aG+F^X$V58Z9`yia6B9`3NdowDp)75O`{U=&Y&I7>(?d% z%IS4`U9W1fYElCwSzL6`vq^;X}hB z4CE^7ZQ!$Ku}0ypDk%1f$Ou|t^=V!Xvrz)7w;`P@oiIm6l0*WI_(s8(-a;!cB}B5< z>KBl~*xYDkr<%Qj0u64cK|6YhnXdi)zj71-j_S?$xG4;5Bq*&hNl4P`Q^C#S#Rc5Co9WR$+75G^@XC^)JZx^KkL!ekLfMh}x5jVmGu zfNivF3~+V4E7HdV>1PI*Y*z_P_UBUyCW2v==~k$R$O=c0;6|KLf^>{VZwTztEM!0t zhLr-G**IGkTvaV?Q8aHyjNiac*`&+oig8cg*+ED}q$*jMjy3_m5eZ#EQE~hWS4tPu zoEzL%bwZImr6IW00&EcfJ8^514=2WGq_D2S*@5p6l!y*das(!7a$+RR=zps7`pr;K z2r>Y!7^oh-mezp2J)0QXJa^s9Dc5=6e0;0?)-a7IF;3_|W;l)-5<@1?j4A+7?Tb?@ zQc8#lK`%D;WMOVp4gzt`g<3R%99=;-r7vEr!_7X$wm=wzur&6TN8(tjZv+uR{UfI} z5jj5|0Cv#?rZlmXb9h;%*hZV?7WQX$ZcgXk+D zbmCqD8zm==9CxC#%>KQ)B<)4>0Y)-1>yOO^Ri`8q?pUA7CxBhrNSF2;y~J=!KIHPy zB7`0oDAmDma(8V7#vn73*v23Qa8V0|$O4KycbodXX33Zjs}S*5Au_vx&6I(K$x1Y# z;lwL;7u-Vu8X5rgM&g+x9&nVY6hurc%oDlo0hjZWQ`S+gpWn06BS8wsP1Jxa;k-?u z%952USGH|uS+Qb;7%yv>qGP8Kqc1xMV&&ur0s3I%m_k?-t=EA!DGPJ#fxORqh2iID z%S=N1jn${DJ8hq1k)&K&tw`FMAARIZAn-&a*D`Y*)S_RWk5Q<(L`8oMTO*iDnr~1} zHj}`|AEE}4um1zZ81i=iA!z(JNI@6TihzRcpmm#!_K5GuU*Dd#jG`*g^3sArVPJy7 z^WgDgo*u&&+yCJE*(z0M{!dhJ{u^!>>-2w^{Ph3v;=g3Y?x1KU<0*j>M&OoJ ztdXVgZn*i6YV?1|hWLR;0?QekxA4DI4#cPZ*CVj-Tod`Z=F&-8Xxun8?FNNMwu(pd zqX&oYz_Z(`(vh4upa4u;SlNUfo}^u%K^yzL-{%^dVA^E?uu2of1`|R^hU0Hn&>v!B zV{7SLnJl>^bu!?16FT+-2b`M1k%8a{BxmB1!($;($De0){16R3WMq|C9P;!jL&+>= z;W{)*NM{#*NNP1&g6SwgI5DqtHves{ClM+=PEVp&O8BvNIN!ex2fBtDO~@8GxajKK~XFIx8Vu9Cge zc?GbaUi(!KpzU_!QI(`yvkuWH2Tj~d!jSjjp|N|!T{wy;}zH0m%?418%MWQ z47(xAs*e34CSz!5V<_sb9==@5F?I8jrhM4YKyDv95)z@%dUKZyzCvH$EN z)PBIG0~LaeN}lr23>W5>f%+Vp7T<5+i-k5!)GR_RfWSO-BeOf;rWJFEDm3Oy913{oH3VRlSLPi>Qw#J{M|KDFdm+O^3q)>J= zlmCx^|MxmhItw0Un-MfP`jDvS6c0Ai>P1;S*F?9cW$m48li}UkxbvMut}9gqJpXl= z-~akv4xZP4J$e6EI!Q|fi9)f04B$vkwLwlG2aI8BL}LHO>6g;ZH65kARrY2*O?mwc zkPw05?1E0JGMcL~=+r z9G=onyffGWumYSUzO?;5qA#(_VnK_Db|%AD5QWX^Q-bDWb?=}sI(h$3Z`U3VW!m>u zTiKRWTl-`&rDjA#4JD$Kt=xoCk;vg?D54@X&TXZ(gBZsthYlkvr%Dkyl{Sn)OJST! zW#n8AW05@H%jf;){rCBN-e>;nli{9wuKW7^e&5qYSVL^sBnf&7J9%6Hp{L}5i8^ff zR$f()E6ZW3wKGgg2jdW@UEVPvB?3HQ6w6M@(Bq2 zI)?(Xtg@5P1>AxZq#F~Z6-a)x0>mH@H1hXus}D=QuO{6;1T%WUzdCz)u4!A zwrHVd5x8E$f}z5@0rw=b$#TaCAvO@Rl5ay-NDBaZjv(LR9g%Dw=-e1|y0W6;^WMGH zxIaYcN7QW~4{kaIELpO|HftEp?g`P&6GLzBg}hiVr9au1!{K2kvID;8A717I295{) zrU?fz6D?J`uCT^p09U5|`mSRtVep(J!57YijuD;!P>WZ~bjb8r2(f^W#G}`SGTmgH z1`#l$gR#jKxEJ9{tRR*p;z5G)U<)q+kB~t$L13+__P1aZCAYn|pf_tjc2u8{&->!0 zfNs1s)o$Z~rNP%uVfL^<7y;3L0G)2hEG85U8K}r2Av-+;`ul)+lWHqU)1T{z=avKp zGbjvC`*0(?^_3t-1`76u2;PLX)|m9HIkHK!BpP05o|llw2K#yN;s5L;XwbSpO`*s^ z`x584d}g+U)&a2g+O1pd@c0rvw-)LXbUCj(pF*Ol8>Za=KN^yr(m5OsS>i{quuTdg4snvZh}Mmad3mi~SIAgS1m>8y3V@G~K)eHE zKy&5*a5~6k?T}HBNk8&;iUJVx&NCt93Vxru<5Adj{r^$l?eAZJ)viQA9Q2*lI7i~C zE*WgT@Lh6L)YSHHMu4qv$z6e)g<>D;xZEG-5Rg8Rgsn}Wg?NG(L}J>QIlO>CUZ+~o zd5vPZ7;}h;9_y|LH?N*3<4A5BwDzR!L%%C}VoGE}=y=Ke3{eGcRXaoK9@r+JB!rO& zoi&Fz0ExC3kYPQv_-~OykL`yTU}zU})ek>5A~Y{L*3(EHP}mmyExGMwU=uXeAA|6{ zE|>}g^j(KYJ|eoNED%MtU@Ac(^aBZfuZYx-mq+U1!*xI{&~}kOu@Oi`+>hoEg^)}{ zbik?%#!ft7C;Q~UnIR4iFxf^I!Sc9a=l~57xc-3dy-Lm;N#andBkAXfF`jlyJg#nU z{_L=Df$)~3>w;q(MN^zFD1<43s^)6$20})tVJEh#UJ@-}5|TpM*g;v^uLP_2+It znmM07|0t+|hhu}$tvc;NAru>yQ#C=*bjGs=M4yDA|S>RJEbe)ckj^;ssLV#Fe z%m7E?QzotbG$zM9%M0H(y;z`duCbqueGe<5|7eC(Z-~jsq z7ab_J9nm3CT53`qc8K7eWg1X`kaJeN2-QSc|9su{>B;TDv!m&_*-gEtNcsAgePBm? zX(z~5NSdPP*|mjm(+Hgmq6DFSkn2+-x;FM@PZlU-qRFN}o~V}{OcbuUrGvZJQjDc+ z*Kjy6ZZhMxx48rE5`#i^L#kAnazyAa7_Lx~^7?^45&Iv3d?2Iwx*~bL#7Q5b7%9|6 zKM5O&GDS#ex@Ja`YtG0ULs!2xpGE+HVtS)uDu$SG&nn1W2w9Bg837MQI5VXI$k34; z`_VjN2{0%Cq|+lM(^DGdy86}kxp7>5{fG90sBekxLcnDC3TwDgeMX`s%ge8?AhE|@ znZ)oy&JCaw=d@?}5A)}{1M$kY$GAGv#b!fD^;yzX{Nrx)x$=`y91clMyk3qBZ#xUi z2q{U)lYLvjemVu%k&{zUh!0@(4HWdMliUe{tqzn-2k+*Bgh8EA*4ICR13QvnH;iyf zoI9G3L?>JnN9R-xN`kjkEI>l9EoS^4#b^OTpN9At+uBJO+K!@;S&P727$CfKfbkz% z9>qt7G=bsi+}kNwn&D&Oy`S||U3^K2p%b?u2YNY=@~tPLUS(i-y{JBMt*~oDi>iTU)yHeym1>R5~qZXfjtG0tyCQsANJf$^tNT02V$^~*FU|=s23OO+IpEJeG-rrXHy{cD+?ls%2R}4vgZ80ZR(=Ef zY#TlfsGgJv6Apl3u2T!D0)bDcI*4(}uwPz`e-ZKy$@5+|wd=7^V7YjUYbADHLRR_S z9LfOVKBErEafRtAGMqY1*DNKdEQE}Hd-zdP#l{xcZ?(>RaiBz+XR$1N_VhXVAsT_u zjt_a|`_1)JY&`Q*O0$sLTpHDc=ko4mcp5fbHn9m!HwF2osA8TCC4?N>MOtq+97lI; zf!|-l4}RpjCT##$?`FhAlf()H%Bx=P?CiW8k~u^>eHk6y==rRFlM^1FU2w17B`Tn& z^2n!W8*&~(lOER(t?hdB8wgB7X}Ag{V>wY4?+yY$s+9yle&#Qr$>?kP{%-nvV@fdy zaXAi&a0_f=Ors5Kz6hb=-w@E>#r+{kM^!}%pm`hpu>o8IE}I{n4V3_#n``c( z*s8b8m;Tk6ckf=o+pl<7e&t-nw{0sPm8iJ+VWfyYToUr|!o;;jp)7dH+zrgmKER}~ z3vALg+;};tMVNK<^+gR)NlBi2;@3aNXY@&5qoyV}ggBH&BpiKc4M(S$umM%;Bj{4~ z&Z4+^dcPtblCNU+&P4Kjg@)y=oxv|*PI}pN z@$#}`hRl||^3AgkwPA`U@`su11Xxyxm_U5o8)pnZoo>&fefe7^Z{u$2aS}W zAh~q)U)=!|@(?}QR!wi8YtfE$}fhHeQ+ekJ5wJW?+W@hSHJTi~j^%$J_o>teJ25M!NJM!_s2UKJD4~ zJvx`8#*4@yeE*NHy?+K?E+DA!1%Xmp81E=mO&>Qgj)}HB??Em>!r6asUAMsMf?o8r zZcg9t^8EA06UKEaRM^GFC6rH*d`oMZe!E=>bz@E1Gr?=?`0r8d8kwKQ^`7dP(pg3m z&;FDnzsB|&&B}7`Gj*BH={Rd&ZrqdyUBUPM@b5f(MrQQs^)2Exdh+j#lMH!zjUkMf z3d3g_jW*mauJxs^ipp!uIU}4^x*?|;e-jOMIq%c{p+aMZsgN+3^~|)+k6F@{z|k_O zTgC0D&APzzW3c*1YZZ z(M1!+&5`*h@_24KZx$;b3vdx0@lp_Xw;DDvFY10{WY(zpDa-U1+wN>LY&vW`HfP|o z;>&|q0B?Z2V;>TI*+uzV>Rf#6OgS-vRu5ahkfZ{J*u`4h+Qsc^Y4-(5k9mRegHh}O z5qEIRIXBo?M!Go43tbTurJj}8AyiO%8lIP7FjLYk-$~rHY47$rpWKKJ5FC}NW9yqCg-iDc% zy}w<_|7+C932JrBGI~nk*dk+5ghha`hrK!Vh&NSIHN}3pjoy}+nUP9+u|Czw&0nXy zKrnUgkw>50UY>QmaZOqQ1_8;>ZKSDxIpz1fFtr+P8Ncr7EdA?f#M; zoUn>-hG&QK!%h4T3MO#4o5WJ1m1>GPjjtk>j>)t{B^&(X=8~VopM1$|V~H=zG7aBI zQT5K^Ma^rTo!WY0`@9!*%;Z0`oXrX~4P6YdcK;Ie*C+6&S2mWil5LeL(gZinCPN}e zrsL*&XJoxl*;h3CX-p?xY1{ zU9`@*-bT(6W?nKU;6e7SjM5uP

vW=|=x7oKO(t4|f=E@KW>*D^!Oce%*%J3DUR zQ44jq-2TIkuF#RDZO6^+W;Ig znq+_N<=m6aT^ilxf}pA#1?|n=0T!Z-I_dOd_M-1Qh0R~X9?iB7NbP4hi~sy}NM3S9 zO>2^Jnqh8GX7pS4<-OxfvM0DJqln5Vh4I3tAL!SdJ^4^zr`2Uu_{jfEU(q>7cE%)E z;KX5N#l*L@nfb&DS}h~azNX#Ftr`woGH855V|ZM5%ZalO&I`ImrMN{`lUlj?+jeH@ zJBkgCR`@*iwA(!Yg%VA??N)|jqS(R8QncRGuuf8AH23uVv3mlKWzO@Q4eRdG!XHu- z)WF#XS0BCjVxZ9#U}0T${wHtY5?tS{L#meyK7V5sUr0SSq`0kjk!SRQZ7X~<1bUt+ zaZ_8Fh8=DE1$*bpO7<5yhw&(W%ar&R$@DEA*&jQby!Z=h+Y)kH=5%DUH;4F&4LxqG8b8UKDID4rp>I(e9!b4Rmgv)R~ITb6B`^GePZ@7bXN) z?ueQ6_Y|kdBvdgf6C8M)!m)Vv& zAD?0^Je#4>9V@U(5YTG<7(uZYC(07rU6U){L^;T`)c7~WS_$JSDyU3B$TUACVM>z~ zQe5|alHdLGXIids&{URdXz2a1yItY}QTj++KKDcFSSBm0USvv9k+kqAL3^e#$1_SN zW4*R1LqB;un4lWgM?22D zDWF;1nbvizPS!P~tKoAXzdx{MiRN_m*2r+pn~%ceR#bdz48GPL#x<@R#noJ&+;7pS z_gEwE)`F!AXm;e=dhW@RE_aVI5z57E6!LSAPkzvx?&oDt+r8?x4Zo9Ohuq7))nEB7 z?_AuJB6E)Lbf>&s0()Y0$U*jiVuo7xJZ{-iX|5stU8L+C)hc-l6>6-rqfqRwqM~_n zO4RAI);lEFe`G;(yCB59VlpSRga2#6ctGyQRiCDw<)ps%DAA75d>2rlv4zzh_uEuX zlEwQ+gpM*e6~W6e@O{?Wn31EZILy^nac4`oW~=mG`DY7%JU^p>L*oZ-Gqu(?y5MoG zeq4WD)7CvAuelzb6Kb};yIE$TtEf@EzQGTjPh*&_C50_z#U-qT|BBJ84ZYE3$C}IS zGcjx07%6Nh!($wNEN7rtc852GM*XY11miV5mm%>obvDkf;w(nbMR}<&#bYiU&Ck4g+ z-OX)@s%7<#y`AbsQ>t6adm64s!b55HzQM+9F%w`E`zu6Jw6?b@tHQ^CtP|Jp>y-I8l_Qbd+GacBJo|XkeV#z*^WC|nbPqqy-h2- zoXu`|@3Fp}?Ug&x!w(#&t0=r@&1^jKSR-U8MQ{EK2d?Iu=CPo)!|j5-4J+mbNA(Wk zlt76GYBvR46Tva#dmP0ZrxzMc7+5&adfe`0&>r_?dowS_#SVELcbvb2DloKGtoqK6 zkp1Ppi)!z>Ma}eUQIkc7*QK51Wq+bcGKOWViiQGDG?=&z+%D2^R_)Tu$a~DIr1cc6 z%*m^+U-TX>BaY5e@fI16jn3+09sM~6ZA9x|_mvl}8@4t#Kf4#(?Qxm%#7LcVce|}s z2Dcw}+JSYvWfUDN+jFBro}Xve-k3Q2N@-Y_EyofMB}9y;1eXlu`8qhNV2yCXm}MR6 zT>XRNof_V`uldY#?dqLd=cJYhWH-9AXnu!8LDs5+y+4Lk$WO#aSZ|%wSzDRl@iJp^QQhP(j$p26~&3?<;;qd#v0m`$eL;wH) literal 14851 zcmeIZWmME{^ezlTNQj_-D6L2fs5A%+NOyOM(jW-ZjUq^iG((Fpzz_m6bcl2eHFP80 zASHc%gO5JX`hPp;UF%(Et@r&h3f#5hzV5xRz2}3fvJ4RcB>@Ho29cbsq&fx$s1ySO z6CV#3_>EOcGYt3#(^*|c0;8yhdKCjhuue`=T+xZ?4q+$!aNa(@zR2bix{`~9@ zw!$N6e=jYjrtr@sFb1#?Xbgjd@8;Da=nsi!{$M_ylMnj$uNFanU<1=|{lETaWl9is zX=cC5;H^K~gXzKkT#|Sg&q)L5*i2ukUp!N}Cj!EISAt;zztx(mfC^LwmR+fSM-cQG z zBt}5SO-I_k@0R>)5EGMPu6WDUh+dUS*f7E`Kkd%6N=Y`k3k@o{_+dX)^4`Lu(~S=u zo@R!j7Y9qX$Zy<%)l5thRvEp_7FRwM742pDmx%GYlt!_?J70P@u#jk;K zwyTBjP{O?C&(a8#=&2B=G;Soqjz0{uU5_IB57!F23@lg}mNQPn2TUG^avHgaX(u=o zoUftQm%o0OS&(FipMxcJQr?2KbPdeu5`a?vo)TcUB#X0ce2 zlm3}HOsj)s9XI$+%p#=zBIA`(I&33cIIclZqu5Twc#4(!3L189(nlRMnv$b2kSt_V z6nx&@)4f}^e{u1`Nr>j;N0XMk!ONu{NVav1zOO~OBlJnyjH##rpG3nJIlEWzJ;-Q7 z&~%!Jf&t-_-X0-Z8MD;Dsg^N*JOc2m!k@PnF<=VUv#v2<=UBI9Y+JOxh{g9b)rBx2 z4WMa0p4Fr&th;o193rq2@6>SthsYZ+sIh!arrm{o@tjJ&Ntwg`SuN3zR0<%!}6A>ft_QR%I%c%!->E$=);w>OF^$~pFGQ% z)A9!oMyZfo58kX5M=ztsI%~cY-W4VZam18<$#8}b-n$9T@WdRc5a#ikerR4>Z&WlI zFE4AAmm658|EuPqvstMS)1Z@$_(6*k*_Fj{LA9WfKju=i-yZC~DFfeefbp8IuQ`RR z+>rO%ea;xW{ha7(bN~+COR765KS;pz``AU5i)zR!#{D&=2=v`|qyUht^61g#U#R{L zxD%hEaJEj@!@2gTZ&uFWoye zTPp(e;{`SXc3)>}2fU<@9>mJZN~C@x=<1Do7m1-kC;=_bW&Qie`G3R+C?Lj#{aF?R zl*s_>E#xDm^e+l}1AyW4NLT7F^y1N=pU+ixo6x`bItxr&f7{6RcV+Mjp5tlZ)gZ7W zp(F8FwVPPQBiR4_SWomHtj8jgzKK@pJK(lT%gUe>u}Q362IMkr5s=kTR?(7u1mu7B z31eo1Tsl=w12DHc&c>z&+*3+^M>`6Fw&y(-K%If9(s6*t-NPX`xLEIk-?vQuIn`3G z>eR`_`!k`=oPVO{S#s=d=RJ`fSuT4&UIkk*u{mWI^MO=KQKyiikb~hN4=~~KtC3m! zXR)(WEm&7(o&v10zSK4b0K*cfDvZhcV(Ir#jC3curKr~mq~TXG14?c3SH8$!qd2NS-Nd^osJu%?fN$#5ngSP ziuNQ$SzKU?a!^m5=MZ*@k<3#l+(6$8GFF%D`{qrevFKr{N!ezdj8)@2fBW9&@n<7$ z_SvVcmbNXYCbrQ>lXs*}Q=4%A=ZSkj<>j8fjfPTft(~hZgB>wJC(9$J2ZwyDImMS< z%S}fIhqxuQQMt`8i5$`k7&BR!=2!9) zi{%wZFylN{d9u{C`jqiEdLy?7^1hv8GM8S(Vyd>7#?Nh)+CBi%Y=L^t*Y_*&&5AeD z^AprBl*FuGB_MBSa~ab?Eme-oMWvzaRfWU54#;Z_5FMv)N1DS|*TIJ4o6pO?YjBQO zqndBa(@d+_&znt&7cBHK8>q14D3)fp#ZMV z-go&N;1oANX%z*^R_6xkd3|%Ljh}kqKZ17kJtRAOC-Snk8nsoxHC&eQx9braLCR2q zj~jyID-08qlgIqG;|8M;Zo2DS{Z4{oOUhz(4b-Zgl z;3kdwq39GBNR&_9#r*qQ&h*k1IS*FfZU~NRLVB=EURa3caZcK>->Hrk0yLY54w9_f z1|9-I7%^tDr^v5Z?TgQPrNzlua-~zAJ^S%!} znCQQw2ZcytF11UW6{9S$B{b=onVBVRl@V9Q?g_>S*f>^YQ~`A177!a7>)9J~{pv3g z2L5?CnNxm)w0~F81&$T6=}8%h-UYqYyK*2Tw>qLj$ozrL``Q4`o7JSfXSg~F@R7*@ zfW!E?%;q1g4F~~nK4P>8I`_|cfh>d&u!!rWn%7^U%+NxWuUiZJ6>1z1>i<8^Z*)Kb@lHRui@9xj*-y=*u{nE0Ty;X1^pe^G&DaefC4jM zLMyfHA|J;)JsgdvW*u2saK^a4@GUIP^$%6an_7!y^LaTsKWi&+fUqZgWEiUHb=*mqMCbh??i+0>Cs!yb%jg) z(jW{F5hIv>LUkbaEjS9m2B_6R=yjKpkphW+WR}*O91H6v(YSf;2wFaMzkS?iF7^&S zIL$7FGIc2?c}gXb>A#A`HW(%0>+n}f zG=(NJ!+Pd^?L{v<_u?2mUpS|o(!oU@>#2k*^fyc!e*TX6!o|&tv`&cFYHo6q^6B%C zTZ)`PrxjNHpY800e;jkoFj@P*hfc#d@j1`!w;rC46p=cm_$p`pJh3?&d~UP%kqA;I zUJbMSa1mQ2e`-FNamkW*da~*1J??%K4>+o{>p2uS9$;us++&ohF z6BcV9yJq?_C(_j?N_FCj4=fJ(QY+_MZ6+w~uEA<`A5mbGG57XASMa=euvvGg135D# zK9YL3*Y0Z0;i;5-nC{3Ajo9^EnY$-1|B&ubbbpS`+@cUAdL$)FI3;A3SYS+8pM9G` zU29a=KCB<#-lzuL%Qds~D!=cE>+dC3AcH@wmM;Sd3V|JyahA{JdENGR1dkBL)Ij$FhoC~KFe`TdAB){oz+UlA;4RIz-uYxuG%l<;6R-UR}eT1$E&fvPt7GUdQA z)alWn6{B$5=IcRZpxbU*<|LyAuh%^P+R-RCzzSsYrz?%X(i2SjXvPmsAnCi|r`=u( zGYwW|LOHV{NItCZ9nYk#UM`2hkEVD%hqixwh4awf1k>vRukl-iWvnAq>Hm#A`0{8}=GksXU$V%*5-Mx^fD zL%kh;`F0bk!#2GE5t}C-_&PCo-Z>mDD$ zd-=o*qLETc^`VH%qLWgX_>r5e9+nOBilP|J3bykUWE_8_%^|BLx z-jlfOv2HFLH81J6#b;(-zdiip9JejMUYh1V9Hq}>LxbaX>O#|+u8L}pw>(l8g}sM2 zQh9krq_`}WtS;Wzo@tgc8y8*+K9@hQaR=e25BkD#WYb%6*8S27bSxY4RA|m)$q+iQ z0yRWi^b}^W%J&ST!j2Y+Hg*NgmxzpJZ&g{QC|-xW21HZ%iikyy&ad)^MHRPuYbA?* z(Iv^Xo7g}F`Mh@`e0^SUqXf4i46=`WdI{qX^Z{LdEg5%e6<|ECeHh}xzx_iJ@fbzq z>Z6zYh0|B%zQek~YOCL#&z4jb6x*HHlUA8-IA2O7scM$FJLC{$E?(@i(`8SWIMY$x zM%C=8{Aj4sGHPSphij$aly-l}XPUm8$0(s@D`v{@mygxjNOoB7jHxvU?XS7mY+mH} z`2^~BvG40-yitZRniA0=`WCwNm{@)pD<64{4+K#d=WZiggItpjy*K2Rz2XsVLL)TZ z9(*9*n%F*eDd+BwSv!e0{Hk=e3oc@wKvnuWtizCaiM(sNWsID84b_kiYzGIioURws z+|F_a)(ePwOgZFFYq%zFrEab&zs?8zjxUk;({s}4*stxm+#Cd54d`lZv-x%dxGG#- zHmI{I0v#pG`6$#ymADKLX<>(zVV&h7>_Z}S$h}%U9Yo%twWZPE<`eOPj*0N4C5O?B zXGg}1-24;Ry-0n{GZMg^_QHElw3ppif7u=PRLYy1e6F86Hp$?QdQ zhrQl;`C6IFy>*_c;<}w*?XjBlIW&P7C-_G0uOA9=ec#t=%;I$AKp^=2bzfC+s>jFW zd53&rmBlI}3*mQ&(ho~tU9QqbQ1Z!emsYSlyAvOMC}QKfUcmQ@Q~TS5G}6bdYD8q) zS2IZ|XnzA>i(1KkiACrMm^1i;k=UQdjf+ojW%K8#^e3l#a|BnhUiQ}#$373#MbLdV zm>4IU@bN!M+IZ5|J8*jXv19ek3gMpIFE6^?YEZcoVQ5~rxC`+mCC^c)J{T? z$twQKl~^V-`;mb!*dCtV$4~*2+_|mm;a0clx`zodTGBRN!g^7`h;y4_aH5`qaQN&+ zGIDS4JhNdf;3fm&BI-c<&FT*X{8DoyiMXS#?l8;$Q(ZB_bb#A)H?^3Id`4LZ5*8)a zK(*6?u~ZKm-Vcixr)rNcA8MWvrBLTBXBDeU8|mgQ9z#}-c~*QIR%-Aofd1s~8Cg3| z6aIejD>PjWIx|$BbE5B-jJwkK$ZF`n7K) ziNl}lG{1bk?|lhdNQmJ>UFRqyO^T*t z?KeXf-2nT7lgsbFeCrK0672icf;A!oi{U3hmdGi3eXA7?3(tT}HlhvEET69Qe)ete z9Eq5mopxo86oD?9N8~|ZdIRC){F?D61#gj`$_cSX0uS~*B%6fg*r8`? zOD7$QaV0sGWY!m?+?|{&H|&kF_dTWws|Om`*NbqNQeEZ}3_Ry5cx6`0W@2t>3^G49 z{WWPoObcA8N^G`c9Wq1mFMN2CY5qn>TzdK?W915QLiV4w*q;`~ES;KXeclWWJ4i}i zJ=3qMk&i7m%^R4s?v6Mm)$cUk3BYxj&T$nx%t5$lFNF%4A2T0Pe%>&5gMFJMYV={o z_Ocrr#9>#Pm>7tgT2J(Fo-7&_sKLkTHX_oV)N`%BlrJIZHfXYczkhJK6XW-pe(I;; zLxHr^xq4l91Uw$_!1D4n%c<1o{SI+8xyA7XcXFCVvv>r>G*CL`Z1z5@avb}83wdki zEoT;TzIN3=8@#lOEsz5fdTBoPC)bB^my+Qpv6jM#zFuawGk(N~vR&l8uRduvRT5_E zjIzwSCr*%TA1w^V3wK6pbSV_f!;~tZA5rgbI>SvjF_CxNtC;Ep-q`GAm$gvaM z{4QwqivzWC2U^B!m!5~yr|P}R`c<17tlI%U&T7jD2h@=lEtU-jO5U`?VPPt%=lc=M zih3$3=f7S~5#qrKCyTuBwU$-AOJ_GKW@tr{{Yo_lnC<0u$Gn|47V^x}Q!Nk+v0i?@ z7ae7oGMxkD=|a{&IUX&?$8Or@#(^8YZ9;~#wE1|EwP~o-PX2Q%-_YJhBX#cqlp8Z_ zP4F^Q%Tj0R@ui{fulP8(cXf&=L+l<_)hV1kK@}!UfSvjXj;*>}pZuT%-$gxjrW>s- z4drd%lR|A(uAfCl2{jCKiusv#+QEXEAP)9FBPHXt?l)`Om2fP29dS3TB_Ef)#!vXQ z>Es}pbn~bDmho(IpM`Wy@26&d57nZP&YVyBW*@n?Wd}1hSPTkQYbYN)zy~%>MHfb0 z@W~}I4nZH5uuSr%Z2f!-d*L}EPX*w^Q0M!<(_O^P*(PIz+C23imIWg~8eOE@=gjz< z4`YB3K=q_Bf^zwHT8(CLc&gD^vl}M)Z^8*pLF7hY&>iNZN9|x?J2`b%IF$S|9$W`- zIm5!NckiomMny-f*Ei~?;#9Kaa%Y<0x}UuM8t`Ab7~rKi3Dzn`b_+~YoSp%ge$zD4 zZoX3EKMXq!5PGiTwXgo0)<*y={Di<(?7zIcstiC(34xr1{)z#fM^gro!rA|!4AcP1 zAkshOFL_1ZCxE65=9TmQUE75W5T1b^`X9<55)l4>9_g1w@zr+m7$yfDd%wA_fcI!! zx;x8X=fJLeViR}#t z?!&A5msumhy9-DewaUi!ui&%nKtTf5_#e63(FKXWgH(kvgSA!UP@U%&mTsHr`Tb3& ztjbHj+?~%tE??WikTfbbFHu^MXy?95Q^RW!clovX5f!J~mH-VyiLU>NSF!#kc^+fS z*MB-uN-2bIiAAH1>q1p%`~5EG?nY4i>5p+u=QVPd@u;d*_mvo_H_q{uP*;fgOLIRsfM z5++L$)nif-EoE;!8yb*^RWdmbo zLyP5@p(ARkk4iWJTAwEkW8_nWrAo(@h9lVe)H{6iS&k|dY)o9FCNEify_thi_jF3+ z*4YM6i#gPNCy{H--GTXY0)b#GwC7+vk-9P-HWaMryh=B7JF&Ax+o&<8#L2ElbIs!N z!4b07ptmbWpNTDO|gX|(_D zw!>srV^fWmAEyk!f7KE^k~ysX87+u*TW}wNz#ja>d9_q~=pzgWE-}NDL|)aaMMk9O zJ(>jwDEhvypzwCS0{-l)5*knRx4R=pIWH3omx^$LX14k}^_*kVWAp3r11<>)Kfc#$ zsFYWPSfmjLX{ASJ0nCRe4(QUe*HUjG;y1CCg$K7{Ec6jIO74{ZsMaeiZPoFXzj9kz zwR}SVgY{a4^?BCyQN~kqxlpk>Sg6f8#h{%{%Y_Ci=cy zkf5MoguZAH5G6a}qZ@~Gf^vyK&mRJ+LHFQLD*O8x5?LzA;bE6yP?R@L3J-En<0R^n zMApeC|J55F37|KB zQy5V($Zg!*oZg7EosVwmoJ^#M@*$iOc1_u8*izrV$lovwVc7K?H7UQlyg zVusiOl^HyO9r@c=Rn3q)0Wmq*AFy~lboo0LqhYzSK|wP%6DH2F$7g(XF+aapoR#`w z^+e+~i|FV{<#0ycPpFV?LzsD2PYc{EQ>2Q^6+&O^LYn2E`>3u+^`^$HHwJAqdqK+o7F3QR%K-u8$UV4o095ur z`foZ-#XmsKoK#UWMR815Ygz+wejN%U`{POh)8&bJ7scWVzrl^zx`-{IlK@(pbVeD& zQt61zObf^e#pny$5Xcx~NK-2sxBihOw?#kf@-pVaN4=c-gEp-W ztYg*TKwCSKcE&}KFyU!Fw)0wtPYv9ui!)E}8WFWq7H9R>qEzkNc^sxkbmPyo-c5wA z^J*s5fjX_nAD9MfR(jRkNUj^(im z-4)rDNMOp(4ubQrYSU-8bBt3btOi$(^{aQ;&$r5lPrS-WqVMhckx962$llH0jR#?8Gx?EPGP59zPaX!bXyx&Nl=LNt4ehiJM9`aOOGU=Hq!VpV1!+70kmxEwu= z82q76>OrekufMX^#fIzg8i`z4D{@$HG%{;RSW8rugOn$DbvbuZb_^~vh42QXlYc6@ zSa&_3n{M(lEWP1ZeI}UA$u*%>erwxE_yw&2z~^liZ-(YoS(X^RWa5{d5IdLt_~vLb z?wi+_vqr642AKvO2{VNwvXE%AJ@G1G${&1Yi(01W_8TiJ07~EAhCT%jM~7*dHvKp& z%l`cv^^F$BP=0aCM!7vqrkcwx{ZHgt<)JRuGPD~lJ6~C98Ak*@yQb;An=Q{%0zI8q zv(W!$$jw22(u6}P=uodcW4g6yQ%CMlS`j$syUN9aoLuT$g-gFgI%OtdpVpzM%X66A zrCn@Kp68!wF#Ra7dt5=q{^Yc9jh#(AbzEV>bt|T6a;Dsjg_CAnK&GKXG`~YHELKx5 zu(Q*Y4hRoOet^8C>_gn>hh*r_aM*lJJ0|(TRNNF+>1MG`b$68_Y|L6;WDjjG9XnSZ zu5l%Y4KB_2G9{lwt9vFB);1AzINrvWwj7E3;l|#}?7daPvP%&i@;nBwM?^l)rGAOK z>la()1H+H@D=1o;o1es5a*MU&OI~K~^zO6Oh2$*gp4wKA4jqhZ4=f?ZjVMn~Qao4u z0M&I5m~#~54(8Zi+mDT0usRNI^H%rJp%IQt^6BfoN&7_^yM){aUAlh`#M@NmMhZn_}an{S$_u=kh`^?NO9@?_c zr3SuZZ@f+foNMy!Jzd9?op)|!hga%HawMIcuN!F2_RRYWe>7zOIB~Y^=2b+y;?&j) zIHkDx*{Pi~d+`e=h?=g<-0MwW%e=crylx`0@>(;Jy?D+N=_XbgsFaf z;dsJt9&BTs`!-X%sfsPlC7&)aDyI z4m#+1)m~U*b>6dM?|yb%(d-XUinU{)?;_R+QlHw|?X501y_)~QN7~xSHz%jKQ*-=e zfaf<8v8eQ7)86Ox*oG!I!GuywD-*lDan3ZIX}$McJdaX0|Kh?+n=dZH+DB%KpVZ=I zG>+;iYil9Ikn=Xh1Y>U|g)*q(&eEcX70NO<=jm{-$jngL@~!Opvy_c8OY6m-$Kwma zGW=UM*jTnv0bJQMKfb|roIgfxmIR~y}NZK zp*NLgB@9E3j6seIN?w{OIz^=JS9_$~`jM!jDm~WDzPxwvt<$S7L;P&!)q-fw zui0C} zgEy--HT%D_27p-%=Xb%Uf6~tY67tz1oO|Q1HH9m&3nqSCZHGq1CSWc)2MNl=IEo@_ zQqGpUTK3+(Z-aqRD@<(v=?F(Rg|U49dk~;G86Epe@~g@H*%u=K48R!pX8E6O0bi2< z-i8O&ALRc{+_BL>9QyTl+Hxh*EkLAu{Ysku=`~mNKSd9skpo#GDefAQ$Pwif0>Te~ zET2^$YSISm(SH-$-Sd}^2Yy)vjJZ`+2wfy%bPUj=%zxM^PM?Sldb{hMP5lXaF|qT} zTtM{u|1?iGqQmC@r-NK>ISOhy?k5ru&^QgTGAN_Fde|stMN8vqzEYq=<&0aHZCi_w zpK6xKyVJ<+l`Y1*CtuqHL zUIy>w53Yp8U1&n0N$u;sV0vyWUi%MSJVl??Z45nttwqgOMv_g$-qA^pfpx;;Pice? z2DcAwI>VlkVI%U)83c#`4hEnxsNLkzosbfmv*DpVn%XWMGIr>)Ve{66r)E3*KiyGNK^Hj17Q{TmxE?ggq?YVJVDyq0`V`4w=euTEW%?^J`$ZAP69&Rq1y4?I$hsDjlEqX%gJ?v z^;a`HRMxiG_joOpi{1$7WbtS^)6vn7Tqr>f4a*Nx`8saJ@Y=66tyu-`a1C<~&A5~t zKI~O%>mZC9&#rZftaZ^pdrfNO=^dl}>bNyr)U7Yka=;~~#_2{~!^^ZK2cE0}i>gwU zd?u0MUeYf$k=6$rclE30-w6)LV+FfvsVQo>2_?zh5x$7dTZKK{tSi05Q@ZPm#eguT zp#|EQ0bVQvZ{q5%At)X(6g*zbi+oL9CR=Tpcv8VZgx%}DgoNxXFTY;oOe#LJ;9t)l zXqrY5ioyd&w_{68OSCzC#7C&R`sa%`_j_wsz8unWu+1#94NTYiLC%ak9WJQJr%wzD zjY~8MnO%oqD2nxvO*WClag9UeJWp18f4il^^BKhs?KZVu>&4KPPT3264e2^2_CuG{ z3t3wwk_iAlh_>#i3Z`mroh+W@Hx(m2^gOLsq<~7V5_g2e_}&Q*ve!O4p|n)7E*&*= zTE^=-X1OJ_#F>&2*K?s?$)n)sc`Qo$z(LhljnvK5ZxHTw!lvS-le{Oi)jkm0K+WPn zWeY^V%mCxn*7&>E(g?@whkm|?OH!iR=n87vdf~i@=U3xRpcT8?_`EbZ2T4oz=;z8{ zj+nhh!-vZv&ewcWW1RixDiJ83510;2xOVzdZHYH$1{Ry;_5!%M3GZdr-1SNIuK0{B zco$~Cr=#etFovuOo;J!l`*Kr$b7&kphR>zSvLG6P3cry|-6N^s(`xNltT1J*u($s- zJ~0@R(qlqvsg?y%mzO?Hrl)~TePY$b@41p>l2^z|-#I)!D6AEEOWVLXj$XfJPI^u5LMUDWwG>1{Wu=Qs{?w?6QXDVq% z(6H{^J4W`0ZHeG=lU~ld>2sQ$#4z5pQGThr84E28PO+JoKDvP&)Jb^`=XqT;Py|=zN@p;*$2~(MHDh&I zq0ERlSXw-j_dA^xp7QNd@zKazS>N_9H)3=8*k1i+|0Q9B(O1pY9toe4bu5wO$9l-_ zYdzJ+U+P!Pk~hxNH4k@s%)JP2_+(pgj~po2s>GB|@fwu0z+yrVip^qbW4~#cfu_^* z;*wHT-;86QEUB(a;w+0Du6?bjhblK)4LXMniZvRfJv7wjEx3tt<|wHycOWcGX(+M7b~#F4wvyYzZy?=FaETMW)Rn3As;IYFnt%}7 zOC>q+D<2o;I9!Zl$Cgxo*5M+Rzn!-eo2O$v)Ghcy=P3HcyzRK!?AR*L=3PPS$Q$YF zIe4NTu{!NGItngZMqkFl_&v5^v+7#|ih|KXtUazlC%|_aTGxf^pwuHKw+p$~hpESO z4;15{EElsoY=_E0;43jdH}nA0i2>g=I2RbbV&QVN>C1zSWg9fCQ7FW~Bm$G?4$%A`Gz+#iyvvW{nWAC zL<lU)|H#3{M>@+k^Md~mibv7 zzA75YUO)rJxKzvN(04cax4cIq6GaPZy(?uM4MSK*4c0c#x3Z{4bhzqX4jITN3CT~S zKQdo-ciJ3ZwrSZuY95x$({NdTFmre~*zJLps6U(egC9hW&6)c(nC3TB-xjcq*H5RG zXRf9e@`U$Yx07D|@lJuQI~W1^;Y8;7s)C#b_D;xm*B`Z@wejRdd`Y%LyH2x{U}|Yj z-uPyKLv!*+lOzWU4Y(0db%qVJLHg*t_;kFMXiwu`Et+2J~f{%Ea>mrHaBTa@HmTf5FnZ zsRsCsKO7yN0T7XW-PETco(fQkE=|Fb(`)m(OKg