From 0cb33580b2724162b8b4f33c7f71697473506c52 Mon Sep 17 00:00:00 2001 From: cyli Date: Fri, 19 Aug 2016 13:35:28 -0700 Subject: [PATCH 01/19] 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 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

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 From b7d026735fa14a0e9bb96a0812edb56147cbc258 Mon Sep 17 00:00:00 2001 From: Tammy Fox Date: Thu, 8 Sep 2016 16:20:19 -0400 Subject: [PATCH 02/19] Fix typo --- release-notes/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/index.md b/release-notes/index.md index efc4feac7b..dda51ad9b1 100644 --- a/release-notes/index.md +++ b/release-notes/index.md @@ -214,4 +214,4 @@ future release. Configure user authentication in UCP. ## Prior versions You can find the release notes for older versions of DTR on the -[relese notes archive](prior-release-notes.md). +[release notes archive](prior-release-notes.md). From 07161fb6407880b7a0ba33942256f474635452a1 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Mon, 3 Oct 2016 16:01:21 -0700 Subject: [PATCH 03/19] Update upgrade docs --- install/upgrade/index.md | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/install/upgrade/index.md b/install/upgrade/index.md index 02813739cc..a9789dff10 100644 --- a/install/upgrade/index.md +++ b/install/upgrade/index.md @@ -36,40 +36,33 @@ To upgrade DTR you use the `docker/dtr upgrade` command. Having a UCP client bundle allows you to run Docker commands on a UCP cluster. Download a UCP client bundle and set up your CLI client to use it. -2. Find the DTR replica Id. - - When you upgrade your installation, you need to specify the Id of a replica - that is part of the cluster. If you have a highly-available installation, - you can provide the Id of any replica. - - You can find the DTR replica Ids on the **Applications** page of Docker - Universal Control Plane. - -3. Pull the latest docker/dtr image. +2. Pull the latest `docker/dtr` image. ```bash $ docker pull docker/dtr ``` + If the node you're upgrading doesn't have access to the internet, you can + use a machine with internet connection to + [pull all the DTR images](../install-dtr-offline.md). + 4. Run the upgrade command. The upgrade command upgrades all DTR replicas that are part of your cluster: ```bash # Get the certificates used by UCP - $ curl -k https://$UCP_URL/ca > ucp-ca.pem + $ curl -k https:///ca > ucp-ca.pem - $ docker run \ - -it \ - --rm \ + $ docker run -it --rm \ docker/dtr upgrade \ - --ucp-url $UCP_URL \ - --existing-replica-id $DTR_REPLICA_ID \ - --ucp-username $USER \ - --ucp-password $PASSWORD \ - --ucp-ca "$(cat ucp-ca.pem)" + --ucp-cat "$(cat ucp-ca.pem)" ``` + By default the upgrade command runs in interactive mode and prompts you for + any necessary information. You can also check the + [reference documentation](../reference/index.md) for other existing flags. + ## Where to go next * [Upgrade to DTR 2.0](upgrade-major.md) From 1fdfe678e35998fdd4a48ef901814d60f2311d0e Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Mon, 3 Oct 2016 13:30:15 -0700 Subject: [PATCH 04/19] Updates installation docs --- architecture.md | 66 +++++++++++++++++---------------- images/architecture-1.png | Bin 32520 -> 44362 bytes install/index.md | 58 +++++++++-------------------- install/install-dtr-offline.md | 2 +- install/system-requirements.md | 21 ++++------- 5 files changed, 60 insertions(+), 87 deletions(-) diff --git a/architecture.md b/architecture.md index e84f5da686..a612b6b1ff 100644 --- a/architecture.md +++ b/architecture.md @@ -22,62 +22,64 @@ 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-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. | +| Name | Description | +|:-------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------| +| dtr-api-<replica_id> | Executes the DTR business logic. It serves the DTR web application, and API | +| dtr-etcd-<replica_id> | A key-value store for persisting DTR configuration settings | +| dtr-jobrunner-<replica_id> | Runs cleanup jobs in the background | +| 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-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 | +| dtr-registry-<replica_id> | Implements the functionality for pulling and pushing Docker images. It also handles how images are stored | +| dtr-rethinkdb-<replica_id> | A database for persisting repository metadata | +All these components are for internal use of DTR. Don't use them in your applications. ## Networks To allow containers to communicate, when installing DTR the following networks are created: -| Name | Type | Description | -|:-------|:--------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| dtr-br | bridge | Allows containers on the same node to communicate with each other in a secure way. | -| dtr-ol | overlay | Allows containers running on different nodes to communicate. This network is used in high-availability installations, to allow Etcd and RethinkDB containers to replicate their data. | +| Name | Type | Description | +|:-------|:--------|:---------------------------------------------------------------------------------------| +| dtr-br | bridge | Allows DTR components on the same node to communicate with each other in a secure way | +| dtr-ol | overlay | Allows DTR components running on different nodes to communicate, to replicate DTR data | -The communication between all DTR components is secured using TLS. Also, when -installing DTR, two Certificate Authorities (CAs) are created. These CAs are -used to create the certificates used by Etcd and RethinkDB when communicating -across nodes. ## Volumes DTR uses these named volumes for persisting data: -| Volume name | Location on host (/var/lib/docker/volumes/) | Description | -|:--------------------------------|:--------------------------------------------|:-------------------------------------------------------------------------------------------------------------| -| dtr-ca-<replica_id> | dtr-ca/_data | The volume where the private keys and certificates are stored so that containers can use TLS to communicate. | -| 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. | +| Volume name | Description | +|:--------------------------------|:---------------------------------------------------------------------------------| +| dtr-ca-<replica_id> | Root key material for the DTR root CA that issues certificates | +| dtr-etcd-<replica_id> | DTR configuration data | +| dtr-notary-<replica_id> | Certificate and keys for the Notary components | +| dtr-registry-<replica_id> | Docker images data, if DTR is configured to store images on the local filesystem | +| dtr-rethink-<replica_id> | Repository metadata | -If you don’t create these volumes, when installing DTR they are created with -the default volume driver and flags. +You can customize the volume driver used for these volumes, by creating the +volumes before installing DTR. During the installation, DTR checks which volumes +don't exist in the node, and creates them using the default volume driver. + +By default, the data for these volumes can be found at +`/var/lib/docker/volumes//_data`. ## Image storage -By default, Docker Trusted Registry stores images on the filesystem of the host +By default, Docker Trusted Registry stores images on the filesystem of the node where it is running. -You can also configure DTR to using these cloud storage backends: +You can also configure DTR to use these storage backends: +* NFS * Amazon S3 +* Cleversafe * OpenStack Swift * Microsoft Azure -For highly available installations, configure DTR to use a cloud storage -backend or a network filesystem like NFS. - +For highly available installations, you should use a cloud storage system +instead of an NFS mount, since they usually have better performance. ## High-availability support diff --git a/images/architecture-1.png b/images/architecture-1.png index 5d20fc7970abbe7a8902d4044c15967941926969..1528ddecf1a29ced239e615723fc84bd235fa9bd 100644 GIT binary patch literal 44362 zcmeFZWmuHm7dJ|SAfbSOq>oApC;YREiK)pB1$O&(kKcF149m7f^;_w zDczkzoIRkA_582vd^lgu^}b(*iJN<`y?XuD+PA-=yfi8CSz;_KEK-@OT2YKqwo#Di1Cer{+=e9LuC>hbKr+S@h?C>A!}|9$!Y zClA`sDZUPppT-5$)25f-NL6jR=A5_jJd*|_yJchhNc~vSaPSg3>Sc_HST0j}BfHaiH6!G1BNsl^*JEc#<-%lSWbOc} z`3(17r@mcrm*J`02p@R5B>R}Al(!DHU3$TB6#e@5FZ?}p3*o7ysj2%Ubv*_g7&4%R z_(afTtv3f0P(30XSm2G`=W@TPzW2EkPBUd(emUpp&tZr@sp)mL)t6Nt7mwn09#l3(LFW#Ij@CNU=Ko z-%3_Xf_=w&{Hy81ke^)o?H%;sM2P)cb@zq1ltRL+7wYi8!d9i@;1XBba{2Vq!! z`6Tu%BPnjM+$ksv1V;zAkP8B7Bl$%JL@XguQ2)HnZUb(N*?W%?Df;MNb1{GUtDt@* zp*0!n;U2$%J~PTz}fE$ko_y`X|0jvwy_Go1x7|Lw9ZR~qno#L zUtTUV=_rxjy#e$n>rz63cEe{?(XRfpc&k(~sc;r(#6(B=A_2#8Rh0cftVQ;-T}>@9 z&qXgStAWCfO{Qxm6HM?@^PP6=9)&GpVy{#VJ)OzmQq6oF85#euh_H=Z&5YvI)CPG6 z-6GA)DOv4OfhjrnhXwm{;tp@{71s8w*u2?*1nF?C5q#(Ri|cw_{iLHdJmk8|0T@*X zaRzLU6fzML_T)tvA}wtYxnP;aO8#liK8GV8QsKMGpDd5e zOic9+2AeW46S4|SKU1vgrG-5wD~YN1 zXJ3Xe=uUZ0swZVXY~@at@AJMP?Q5pqW1EFE8DdCHqodTG z)AUs9@DR1$ex8fW#n)(`T7P993+D|#a!)^rI;rc0wZ2R`19@nsX^vrE~042-1vYQ^RH)4xZEvDo@_<<`%G^H+nQ% zk|hwWB~Kt=zM;8cR^!sD71`@Am+K)arj^}}CZGGpNtEn=pOdpbE#1gGLndn@Cz$ep z76$uxX;lZtHHQ9V{3a#9yP78a(sb^9W~-}4hA*UHZ|l$dR&=pgvi zx!iVWd4pSr$DJ!T?pd!m*~(rfVBCV*ml!5nXzpu_F~L*}RdnLsAtwEp@kA7M1!H4H zJgJiz6>_)QVq@r+q^8pP_$^U;Mel4bYO$3*-Xcl!{E{ZE7QAZl(D35>;g3}tXjkU6 zV7Pdf;|BXuPnm0*c;Yb3T`06mw%cZIyUUJe1J-DO%C~nF+lDg-PBy;nHggm)PE6iB z2-?!D7&Zy0aI9!3o)eWQb%=rN%)5v_hW8O1#8f@|bN#$?rJwC}>=2#4sa=nGhW9QK+vGqlfYR!+lN|dC~ z!pTvPQZF;(WaXQsQAt zahGiCqiyopGUMhbCY~1(Tqt*R94m?Eo9CV*ysVvF{Wu6U?MMoBi1qd-i+*Hc&&tg_ z5?x)l#fPb@BWY1VW`p5rI{g#3w{4c;EP0Rq>2Yovt8(b{WOp_in`B{U@<>{$eT{GH z3r%UR(9<$Cm6>;QV$H-^e4wPK+E+0eOvff4m&4W#Cl~J)zGIZBMseIyYxRHKNi{C>_MOlpEz!{y=Gl%&<)=nvb(?w%{ExVcMiiqcycrb+ubZM%F#`VpzdxD=NZ%%~sn)qO$&y$6n{z?b`OKP{1zL}#G)C{WK zpXy2369y&Y; zNSf)eWas2rE?#QIa&mw+YL1S$w@CsX;>O zDBYohny)a~d#N>byC!L5f+yZY-l0v<`HNG_Bi^<7 zL3QZ0y}KHnXNx=xTFG%AoCuDMBSnn0Z;cORPu4U91Z-i=>&Kl+Pg)bHx28lP%@i`2xz(>ZhRc~gH~c!cH$(Vjxh8O%fTOgv zAkD^#?&*{|-C$I&f|Qoy0-3myW5=FITRs(Dguc6lLO2p$DI;bN_wSK=Q7Pk`yR6wx z;Q!I!{^EtY7pux=ilgeMKQWvj{X=Z77_qfPLC$$W&)`!jif_&1ubfl}qgUhz^ow(2 ztvwk;V6Q^%Fwm>+Ph!a9w@|yXc*%&jor3}^}D+HFDoYW z0^B4h|M0l`)Wl~}XWVXO8&XrLB*5hC(<_q_7Ujv^QfK^LOgl<`gs?gj6i4ln`oh~D zQ`Xm$`L<{(^v%~7GRa5tyK91Q;jz9?+F*<)0d>;Tws?HQeGlC=-Z#;fG{2c~t4wP& z%T7XCw(e%jlHQi>x2n1kGTgAWRv1>WLzw)1Q*XpJS)2TuH)6BtCd^w283BgT=GP&y zuK1N<1w)H-pE{*_m6Oh!*N3QZgolTg_^!|9H8p5{dfM0SlC~7KnVPf|Q>xW=Wr zD9)@Oe&CHM8M%)lr=xuacP&%Qs}(iB?I<$u2Kh-Ey0dka@%ga1IArrpQD=0)uy$9Z zES9|0yEE>@-fT$6V>TKIo*wsiaB26fcb!kI3Rv`Lt$KF#JM-9eyq7I`53M@GzNVJH z!ju<%G$1u|x7~b>g`;ui?Kf{Wh#mcbt*9em@T@j~sm+T@*x%5^dmXkUg?4m4{SGS|eM=fQ`8povuLe`;$dNN zNKB>ilpjmldkOf*-eG4CfkSg}V4R}~bqC5MYPnI=daBRhJ{k|I(;nU8f+lMgq@>Y@ zpL`y!t%yuz#a2G-SEZ!jTvPr?PjwAeX6P!G5fSjQ%GdAnRs4r&vo<|D&$*AgedTD` zwB*sSKx;y@jMSuAFqj#j_hRb*ORb&W>>p;yWoEwG0F&Yl7)%3`$epRE{oc zwn|QB69#p?*+{|4;rmc|HkY`tt83i=%EcuDCwHsP;c%#4=cqtJJWnPfp$cryXik(k zYU?U~g>hK4da2U`L}Bf|Ax-K~?j2KhtW;Y@c^wdT9!y$0olZ%0WzFp{-t{2ue6O*X zyeA!OkcOD3>ki~mLL##oD^CzrwkW$?Fn_>3w_FmWR^b$;d@n&HCdbOnV!?F(3F?A4 zR|Wz;!{QXP{b0*A($5k9LimY$6xuz>)rhG64mO4PM4B^yl;-21&_fQp9lHww)Yy2d zs^x4FW}W&CL9it0BrV&m3%30VS1E)_i{4aUX~84)tsN_3W9}?`&^?zq8P^hKO4r01 zxCs;DQ5DierF=%_Ji?-}Z9oRIeo&$xqm*GKFbKnrhjU=p5i8u)(8@E6X1wNhfoM0y0g-i``Uxu6Q8(jV*2Buz zM4F0AbglK}%CS?I*=Y%4HwthJQrJ>Y%5S6sM?B{q7U4jorCtqP3T7}v3PdCEE)suf zdATBt5>MQV`OMJ^FRXdA%QXL}pV^>~faLUn;{F4}Sx$;H%~sBW_Y1zSxtVB5=b+L; zpla1zR+Z3(ql&qSbfhKJCLOPCr-(EW@1}65r|P9{CMS)gmKIf-Y87|yj4rZd@I`fb z(o)5VJ@{fO@Lq-A<#oi%d#=rM5viYza`+OIEV7dn1Q{dx`RVg|7faB-`fVHU6V|KK zM9p0tv0Ua&c+sPjhOC0Z&kR-LP?@N>6_EwPU=4O)_w8Ol5GqRG~|MkZ~V7zbZft|AS-P01dfOHyUly z;cAgQuYxbU#dwVYuT%K|+Mq(|GF)+^P4304J<^?OTt&5n&z0Hvk=!z_4^A=hW(reI z^DSv$45=MVPVZhA!J+?Tk^Zn8kP9|zMtHJ_X- z`WD8IbaW2V(0OlIhCt}$ZDu$5RvCUYl=RY`xb&s4(I3q`?LII4T3%~o{uv7k9LtV& zpxZG6aaxG8G82V}$WZpndUZac23ka#l`>UO=fXSjPQTqYOLfkX^b+i{P@lAS-|0j1 z!O1l7Ai=|P)3=vzYim&YG)w3keS0|cr)4F8P%rFspY}As7j^XtdqzoRac;UQIehdf zpW+p6I4x^nQepzt5QwMLTDLX48N3-VZK9-SzOq*!Sx3mNhD`Hm%N5WsCRo8ioPY=y zy0n!v1JgPgBW!=a7@5Hu+euDpYb=-d)Yb@JW67UQ((ry^=quk~%Qo%HiF#iK!ryN-Qf``u;2T>aXfoV%`EsE1C*y15cmd!z4$V;TahP&{75bXkAS%=41;ABhkgsxYf-v~^<%Q=P@* za53rhnHiOG@roc?>@0Mo?+wik3rge7ciD;H zjmBNxsxx7wQ8=B!kP<`yjFCY$x+d^P}D2Vu6&S$+0!W2^t3#FA~l@JlB79vI51@UMw8wy zX|QC)R7Urv9?}^0BbQ6y#Xel(dH9d}Xa)w)yqyRgJ|tEclbI?m<3>F zgz`8yjv-Z2K*&8&=Xy5!b*NpARDO7#tKgCjf;3H4)WLjNo5*uIU&yYM@C3FZ|YM~z@KbrsvOxDSkq$xP{$$X2!&$je`@zskt@X-kWelo zqn7m-Kk(>)0O)*~yN^3BbL6QEHNfbEYXHurnR1@`bhO-SB9ql(eDPN!-LXXr+y3Dr zr(kJtcqgWsWbK$U<13rqE!Zz?2x53?h;14(p~H-B)aWQ)w1-)eN4Na}qm74QVNVx} zz)qg={z7#GElN)c*wSy@y`gsj)Tc2cl9MMSRjtjm%oH6G-xq(8+PUD=)s+Z`=h$8F zi$J<_p`2&F@cRZ>$}J07&QD{r$=*dZ&k+5V>O&Ju@BsZypC_TGYGK}A*Cww{E>6>G zWD>Kpm?cS%B3E+9h_^=P3{9 z6kM06WMKXscl&oOfK$I2p*`p10D2h^95W#c*gMDn!#fqfl$cN!QXIcvCUO_krD^rZ zXN%J~7*4a?0y@KSJ@f2eJRL`rr{vOqso?#kBXGysVCXI6r%-=?cZ&l`V0SOhf$XgJ z!099FIe%6O*7eEw@0$bJKOmy;;t5!*y~h&LgY$B#$+U3}S8w^JGXH!h1MHp6@WHts zHO$L$fRoSDOB{qjHs%RXO9)d?HEVcddL#~;ZbdU2h>Q~lB9wu1B9tlX{?K8ZzWj9b zkZAl7wc~|QnRN1y6@XoglGr(O?In%_x5Yw(PxYa2hEg{pu_nsa#wp;0x6c_`HU8?- zm4fIFrYDnyJktnL!iX`P$inmv`(96%aep0{!0!z|z0+SB^V_+;lR56~#TS1-=z z$b16+wyD|^nZ|gl3SMTH51Z-EOM!pl-zDjg_^}!sOCVnQpfje(q;$VQdYFF| z_W_;;W&UK-Qt%QNWse@~ZUFgP8jcgzu;eObMJ~hLLLT-@WSI63`*pDVEvI&2gFnsw zg5?Of4FFdg!#ApMVeM*gs`L zIS52D74*N^fk&2L)WRJb=2}Pq-u(z*NAGqn0!{UZ<&}B~l_WlHP-bX!uu2b4Hkui& zH%BT}Kwl_(nPuEo5cB)ZmpO9-2Z>N%_Lau+HYZkG6OQh$+p=GLzq859?5?m%uAv!% z(^I^&zcTjiY=F}8k%?ipdK`A?G0onl&kqy+Am_(NsK<#A>{#8Ymu>(2AeZ9=rqyPn zUxPRI=yca+P|zEs{zbq#7wlG|v`&h8KMN z+TY)g9$?kp8vm^1u&QhpKlgFWHDpSO5hI&a+@dXMNyPYPN1 zTp_!>Froi<=SoKfP!&n-!XvqXH2(`t{sKQUvW|4j7q{eaC3(Ih&m*P1iV}@9|Y*$rtZO|6H$}k4JOvuNp_2NliYx=<^=rjDGwaG($ z1-OP)vL=eJn5_^aAE4{TvQhgO-vIFKC!*@VfF1zA{OQS{r-;M~ST}<;!^WJ}QW5m4 zr-B(_7P4m=b5nUVEZ2-%a$dafUc;Y#RNa4T>Jl;2Xq7J`hrEco7JqfKR&jZpXIp`w z>#i~v*O&ykpWAA0#t2@1I?3Xj$I$PRy^Mo{d-&1_kKilMDGd2%t9#N~PX%MTmi*jk zoGz8bOD8oMuh~`gE1lFf^!zY?%6ou1f2*R#yz>*WD7vw4v)_zmRgTY{J!SG^u@oWCAUIe)`K5xNYNix7q^75=h}2yPyVpT)ICpEKV(E)WSY*8)9?U zK`{p>jGEeE&e7u`V{B~PEp4ME^jz7UzUvw-!`o#-HNGvF#;CENd8U378~lCoz`-O! z$1>inMN46BDRId~No?C~RXH_n#bR?_RIdl-{JCWAnOZ#3BVR9IX{k)y(N=7`*nWzM zTwQ`O07f^UTf8&qF!UaObXM#^dDoe0V<)2a`kQ4Q5&@kWWSJy5ci zUO1?U&r%rPO%oT|`7hlKp~uIxTm45U4~22z_y!qEK_`cH34j+%(j; zan{joeyuw)#GVme%S=S&kJV%UD#nD2^1BP*;{;Ak%6SG;cz~&cthI=~i%fUlgFyFy zC?F+ZFl~7-e%P>H4-`#Vk1lQXym_!wpNb$-b>5q?Um3|hV`pdAuU59jFY0pXjC$$8 zL{C*w;bOh)H-r^>l=oYOF?aFOE4Bsi8nqgU;L_GX8bsmbPR0A=9;+b2_}r25(M068 z(Xa|*;_C|0Vpp7+0EMZ5!pu15pdZ5!?Hs^+#zw6_1zzRkeQ2(hw2JD<$6TtwShcCx zxw%g~`*@!=Z+~Q}!Yr)ad1?dkf?P;LaAm!YRI-jNjmk)eKi?0Lx$mFf|WO0k9meIO%r*&P4P}wPv3&Xfyyw~)|&rp zb&658<;USn<9JA(ZC-9}?pF3w4Oo-9)@4W4jAk$y;|s3~qGDrIW}O<)=#UHjXo2c8 zz(9O-QTvM_Pm9aeRwp!gpK#&7T95CjA;-sgU5HE0=icF%?k4p?(Zx3 z$WNBF_$o2)4Ww}d-aGa=gp}c?xLr|$t|N+f8LsQ*IoEfSYBdiTVDhQr-~Ch$AbCF9Z7(7wZ{@JpYQi@Za7mgriE z!(>QX&B8%jsZ${I%86;hDCU6`)JT*vWTMPvhGfCOY|a#qc-6t>azRec)wr&h{QGYg z+_tA}%q)fJ+=?9!&qX^{2W$`H`=d&Q#sR|03#I?51M=#dn_E8-mFiKoU+m{a$Q=;VKSMKn}F)(;d_} z_K2v*R~wO`l7@r+I%Tpel*^$rrO3 z{D`>t?aa?X>pL%L2pWVeP^S*HFIsn2E35T6zf?FpHM4gy)8ZSwU0Eyn?G*Ynhp>nd zcDhkB$LlbQty-t+ED|8v5{fHm_u$fJR@V|;(z@2Np1)rFv0;NY^4>9Iu#G9XhlQt} zgH)do&rY_q-_g@UEu;e8Q?IQWIB^igm#pi&L0!QKT6E0~##K1YnhB_dvfYySzBc_# z)DFUPM_?sAy=e9I_8iJ%`(?tSZT?89bX*Q0lP+WF!iM%JWmw5<)D&SuoK9IEllyGn z_7ou*b1pS`&1>m5gLG;7^t%2uL{tS{=?z+C=uqgpb~c9Ceu$0UKMjb3t(J;^y42MQ z$OfAd1PdM%?^n7G8}+M7h`6^LHWQ&@J@bbVXmvT$uyNr;SD)))s5X0a@q}!piYp`) zug1}1Gg_~2uaAFWX?Uf2`yfX#vX|JTY_Txa#UkRf5a|YJ@EFRLMV=ZdWa+?Vz%Vo3|fMhtoLFFAece3lhmxw+=5+M6wIW750nj85gLzcU^yDHBH<%9|(m2yGLhN9=?tM>@EwVdr zoYQ6sZ3HSd=LB7ygNhDm7kTtsj9pq|fujMr~lWfJ10E>|0z4&R+$nP{W= z?$<51B;4kmiqp+?Q4C^_ulC>Cvj=Y7N2*Lk7tHXfDdE|=QdnB7@IxV=%H z>s+ow&axKT5{|;`TszNo5gxJ`+)+ZJMB=G}>kf#%y@mK8Q*yZ2zWh_f{<7!Yo(*~( z7yH({T{W1K;hn=J+~9s*OLVcvfat>I4cwlZvUOb@+=J7ul?~~c9F#Sv3oS@8R5)YN zJTQxEZqb=j9F%Nt@8Gpj)JlVxGHwiN=>n4DnO_QaBW#@3uWp;d4xkR9J96<3paM#2 zXDHl1h-E(X$<57+7cA9p%3M9WoA8C7Iy4vK;)BV^A8z#6iP~hHY5JnGvP_9gD+;&B zvKM%znS|BaFLl%dw+Vx$aSH}iq5)3cW+Z6$*+ERnlJ&TgD6N_ zST7@a&uDsD5~7@*ICwau=p2(#vKlMo#~Ui18W7CHxs)h+Nz)yz_r7xRY@3YGov|;a z^-n(7(AYgK4*|Zyuj-6>l|95x6nRvBLlYD+fZ}ZAL_WYn5O`60s=FBPoj{huSAIDA zkvAtaEiIYR*QdDtxpH8)jQd>%S{`zr+a4rk{X_eH=0kM+K3aPUbDcC-0}!&vUI(X1 z!`^PI71Ro(R^YY8_5J);0}!+niy02Fh+im8QlZj5gs(Gc6{6)Z&on!EV`wpJEwtw| z(_=sL=TI^dYuMCs-2+hlAC-V1_pn*dHL~-@V$zk*Bzx(SL zR1Wn$AK4a#y=$M&yB~aeTCpmJa;TCRE@eXo&elD8oLS{?@VZyfzroRU^W&^kDr{mx z=*~YA(9=Cl)#wxUcU8kljW@laf_PU=zrB8HY^1L?59Z0UE`SQ`qKSj=Q2_{z1Gryv zHf6OnC||7cl?leWmkusmE3dC7j-JgMW-}{Wm8t2R+^vFf_T1}$g+bW(aXU*i*nvdH3CdG2$;?Vfmc*0;aQqQ`q7IA3>KFs z0DpFcok#TuAmPdYBbM<`md_P!?nJB?BkdMfgb1;$<6&!W*jBNkQii!X^rKC`k2 z9*#PcCD$&S{2C~zUw;8TIVE8v9V~!)d! z#$C^b76qcq_B%uuz_hIbYST<&j~V4T{k&xKqZ*-m>Y+O!Ibme`A-X(q^Ce2$D)GGJ zdVMrrxzT{*>m;jiz*S@j)O= zisBU7eoLCujf{=Wqyd)x0^}X4Z~J7<;$4+~q3J4JQ-9S?8Z$$Og~I{Hr{zz*=mIc@ zw;j>Iw&US7Js~iKi!vK_Z}6Ji|CZ;;2LU6a7Euv%y%QTz0u}c>$-F>jv0(4A}Uj`ONX`n)h`u`U_(>emw?d3C2IFDT1E=60{1KJy)hf}RF0R7O$# z37A)*Ru{99*LT>e9a@zeSwMI`4SVxu9F;-Gi$i2bqHQxOy!py;$b?$lnFEYr5#InB zf4TX*wD+-H3WB`G_(r7r(S1*9KqFfsVv3waYW3z2+BFF_IW}~;iT94uT%(180j&S)+YiO`TNs7ce*xb&C+vT z5FaSnjyL1EO0l?u`^;p2VEZ0e?|FGrQ;lg%y~WTWM&YzVO@lH+STy>+;=74Q5mN3W z%)gMe){?2F?OqVb2qPs1?E)_#6zrIrWMJSKqjd}v0H4BT^FDXPi1jn-S$gRuhiQnV zk`PB=eUv!V6BDYsLd|FQuDmO4ZiZbQ=7CuG%Q5IiP>$(?hRS6p5auePGx5K}sULX2 z*6g{yUe`XYWI~{ay6cK< zM!`izEq>NKf+`ch&R)QyO4bj!c*IhAeP5hMGcWyu!~dAf2eyYxbT>-TYN>Ekz+nf! zfj~Vp_&dz@FYE{fWP$S!9eoesL{y)SPH;@ON~x&{%sO}H)VaK;_AXa13p?D6(6vC6 zPTooVG;;X*#mF1m=ifunQ5*sVe3&OBXm?i)Z z45Qo~F+SW;a2EVFPnMUHQ}w90ir|j{MX<;VHBc6=#JL6mG~^iv;H%MFNQUrVH)c`n z#rgQu-HCzm@1KtM4UlCDFD4G>&Hr^khAJPNk0IW}vvvA|Uqmc=4xm@+^{ymQ|02`T zkA0LtO(ABR!0!LJ`22;8M+?uaTN)~9#Ey^&10Ao^49Dj$ehA>Ve}Ud34#9@KNsjfE zV#zxO6rY2NNnkb-1eo8h#C%kw1tErHOzbfg(Rgn8H)q?kYr9yqVt-%g1-%bI>I;Vd zc3XZ5;rqLCYv4A>)j}5j(z72L_nKJI=R5}q$@dEq*zp$&Gug?b0i{Jalvzch>2vcg z*?Ip^*RI;bKGZV^0y07nV5W3xE>eHsFWQf{4-LXJnO7*QmXE>o;}Yh_k{BQ0MxB5s zT^c7`{TpI`bUO|bj493u#+ztFu1dkdY#=asbKrxIEbPx4*4ld;l1x3lq5TV9{AQ%K z_=@XaiynC&pl$cPPJS=C3od3jbaYdnZ9A%@TA~Cs6bgnH3$JX|)DoSlb@e{s?1{(l zyMz=QfpA{#%-hZrjXys&tasybSRx`O|8-!BD25gEK|5}Pfu;WtALhFdGO)85#Si4i z{`Jr80akSYhY&CI1?PWWUcPO~#x zs6tAO)0!Q!DbbCEA}--i5%p4$fpN5@vIhfwrrpI{n|*IT8+|m)?190Il7rsne$5(r zZPj=mOliCX!9NIHY59s?(Q$F)YO=I7+;HTDzM=ghLaO z_t$n1RERtG+Dn!CMWL3;AguE!Y~7u4VKd54vqQ zZOp((5L5(&ijH@;nUB?dyaY3NAn_Dv#tv_W(@;$Ho&+&)dVnAnZX7?MXaR_&s_IPH zUHL1~8NKuKb4^CtmYXBSP5lsSc;mEO*=*n7I7wr*JU?pflQCo|h}+6)W=G5|cZbJw zLUN(MAhTv5A}TONKx<>eniLGbu~35e5~=u6;aCM$rGUE}is2;qckF`7yS!~mEPt;d z4mS;cMRaS>h*VaLVqYq|Yxt_!3f6jI{5m}GG(9nNX;1c&)8LxSlA4wnmiw%=dEbY% zMxO1EzD`+v_mpu$;G6kCzI%LJ>S#j>cz4zeVov_RtpVsti?10R39&DVs59Y@?whuM zPxxs+CZ(-3xwxfU-D3Jh=4Z>VE=P);K4-_?{#~h@!N8e_l{_`>tsi>uLV08yJNvxW zLqc7Ceh5)$b70ucHDn?imk0#X0Zu`F_y-X3;`H3HMk`W)c>(t49kr5}&$n0=#rv~a z&Qrda>2~gVvM_s%@xA$*zG-YeR?!kx^R@I|WMNoY&ZW)5)COE7X}7GbvE;3W(;z`i zhrU#hG9fAE$IQIx7}ASkAv|th<+Mlv>J^Ucrw;WS|7?$?soT zETVq6M6fl58y_^-l`)=XL>Up;)ik%`s%H(!1YZ9G$YwliX6{Cx4`ACm-+FzRv#Sc__dK$URMIenZr-l{#zeWTQ$G}b|Tc53#USd5J)Gi z-Okb8ESafD*z&pT&k@zT%5~&m8o@vTD#7!4Guz{m2-1BTZPCYElpenm*GGLg@2N1L zhqMaQm}`5tRTmDz#8r?PzAMP=%D@ZfUT0>~w{YI}!E_<9ycQN9;>?Th#Ig$`HlKfzK`YYLk(PZMshgr z4Hi$lC^81~fS_dZH>WG?fTRHQtbS6c$0Drr&rZ12n@Stxuo-|ho3Amt) zFQu@mdttw=d;XTl)>}rm?(DFoD@t{-c1ZcM)CW!Ejm?K%k&mtqJMxDHBy~iTQamTN zhDi&2A1#8mfvk+DP^lRkV^FtP6a_gQLKfJbd1Tn8&-JNROra&}3=ARv6kliA$3dyR zow@P`x!Qe@SJ=a!5}KP-)42E^Pnz#+__>fXU{5)h+fN+FsU04Gp1Vo-1~6kh)rg(< z6{Uv_K}#b0*~$@O%cj{99<5dlTe~e2Dn|Be_Xl5Z06jR08vni|XnA2>)x|$jkT0j- zW?WN67nFQ86SQL9&CHz-?h5vpbj_3@Z7HoVYY(D#@ihO@V*io%Ku>{cn&(Ss^Eu4c z@VPFxv5|;P#b#D&ZRux^z8N8UC4bdf)_gKYi{dKt)3YCAYk!%^O2>y0AVhEt)M?*S}{d$>6g2~ z?{dQOHp{w7;_k)51t3NaG#9VEZp-*F?m$sXc+}Ic{541G^lJWpo1?W}F136rbv3Cl z^`o>D@aQXhYpb==6(+%&0H`W{b9TJ3y{C4M#)OgaEzXdIxx(9# z!sdWgELOmSPc3}bANg?~OK;qdT{DZX!Q%216WVC_d6V|M|0J=MM%7S{JK ze%&rc*1sIa`(qC*et4J%4YXawq|Y}hAF_k>pcNn;=h;?j#Qt|w<%f_lQ$E+9OpKBo z&)9?G+9!gJr+ofg@@O4U9)M|%qmFEd*74NdslaqF8LvI6148~k4!!;y4@%%53#3FfgwEy+568Uj} z{`|ce72w?G|PhD+7bEf32xL-V0R#NNs(D!x)IbvmTD^ zPU5HCd4HqaM#+TED|IBHk{uUwJO@hVu6l`1HsxifrY^v{QY{8Qhpx1kLGs;DaQ^wH zW7YWB^UJ=0OrJ{atwQ%}hDtX3cU_9yH)EC)M+zEzTecV_jF?fGl}zTAiyL%SK(8Sf zw8`cJz%ViTw+aK2D~*?|4u)bM9o^5wBJ;g*q?xr@PQZ-P zVs6(NC)RZ{vFYNS&d)mMT^ezl%Ea7iCtUW7zjZA@e;D7nu30crk!JXLD<%3WDVv=j+zs+%A$;oU0FQzsM*|}TmE{7 zw`rwdu&6R`bNu~Rhvw-vhsx~}n~@hZdRC~N0rL0P?LTUuD8DauWK%41IMi|bdntu3 zW?T2qE)62n)Rr}h6vL*+!`{0REO*=>^cAXqo^%fLI0S20@Sd<9-m$O@t^@9{D$o4P z%>isGTf$@)rf_HbiLro{Dfxh(Zl{^dm{cqHW#~CUv7P7$l2{@@a@Rm{m1@W-ttP zUVfzeA=o9p)m+NZ&@FT_NFLSJ{V2_Sol^G|z?wr;yh&;TPHg5)D4W%zW3_c2L127t_}ts_}Do6Gsw~Ygih<1pyPmm}Ghr5&DR*K{Di8EgiB8HTB%*nIAC zW^R3C#n}VK!=Ms&|IFHKIOXOnr(=un+qF=H34BfpFabrt2i=iZlVgL}6IUF( z3BxLr%>5nj#?Tg*49kw%*?DFRnq?o3lw)&k%%L~?vV9AiM+HZ1HI8zB+EYM$rydw5 z9~;eh4CX|S;~iQGoUd$0=#R*3TbD|pOB{F%NSq1L2RXgZJ-+Fys9oj_tRADX1rPQG z!(96cBl`0KAN|_NQ6QW?_TGr=+oNugKPci*n!i^zrq|_9x%ojtM^np;l$sjZ!^T+h zbuL31#a2wV7p9{s{n0)SR(#=8SLvYa+}*TKIWOH_f7xK;)%| z*_eSh;1nKX4!DuUGdz0+&HVmM9@V4M0?9WAWJRE;kL4JCP9 zCr#1qjT({(y8;_yzQN=wO?@>)bN zF3jgRn!EF;8x|uFuSMmUyn>Kci^Enft-$r8f$Q%RG7kPOrzjAKv_;Pc95*bW-eiag zxatCSiUGIwP#dhz+19apoG$EhkCn&rwvE!@)V{^SW=zC_)2D*I{=%(j^Y}}ka#<&4 zSS!zB@--#g=fMYRG@cI7qs2ISsbky~$_la(ClCq!rfRy6 zc5?p0@|GwPMG#N19R68pfuY5xTOXmI>M%80x%qAZbysrMMCr_WmT?@Cw<(4iFGW{L zLVSDMOFU5b1dQQC=jOhsle|+V~%WO|f`llH{cV{c*4)^d5=H zqb$S{ibm{_8{ZcjLqlW-ZtH$-qWHT$QKUExoNuTHvHY6hHzoQ(J+bUj8imdM-+dUm zGuI})4Iu;_WV;uh{w>5>IMBVu-F8vncUX?HAXWPRZ_Y;C3FR^TaWvx3BonAhC79fX z+=UAManA0iWNu@Q)r|98`VOLb|3mdQ%fjXqlYn0U^a02YXf}5yroT&)Weda21L22H zj#ZH*9-zSl zAc8(j09p(VKZOZ8PeD#yXx)5K`tPLL9W(XCyJzqVHUlz{MxQm z5WzKz&S__fxnYn%K-(n7A^se;2N=MqYuQOvMu8leDt;mhBcD4QZK`Rr`OWSusJlj_ ziFX>ZiOTD;6@EZ|F`u1&z5QNQ*Awl}V>TDSTi^TAU&V;L^h3KK<6IWaVJWvhdM0(O zN$ja0!NO zml;4pQ`x2u1atc(v~s(Ude-DF21+|VF5*to=@gxK&CiO_niQMxu~f1uT(H zo@V3pxyBer@bd4uB42>ILDa8wgPG|Z63nB=t}Mj1W9(ni3rB@X;b6#++F_;YzLsZB zhsTKI=pZ*t(9zt##6T+2;$;}}Bu*!>xPXMk zkq*)!5F-LA0*WArRO!9<-j&`v#DMe?dVo;g6+rj1-Fuu5=e}o*JH|a9aKz-FRpy%Y zH|JbQJs5Z*of{P`-tn$`b6X`+e&0=U^QoJSJ{r^6?!D&Pe=>I-ZJzJW?$b>^JXMOT zmS|@I{~QCOcm#Vmct_Ev{U>uG7|w2W5l!A=*`_QNTSy=ob_?#=T2PTVU&0rvWu_Zh zyjy@Bez7q5ohov18x}34wfL#4@NOToWYa={FV_MY<(~(&B9oh_#vwO{n1#vh2^ovX z5JC}~rt9ee_Ji4w7d;!nPfT1`$_jGoA~y}t6qGfa{a3asOk6*m38vJX-}9C?)>586 z-yJEq*Md@LzeFMVTB4oaQcW`D@>Pj1Y|V4B76l~T@bdC*SJ&BczcGo)c$u9hM>Q7s zYfS9h$3%W6uCG6^Ip~eYr8ld&s%^g>M&lG7oYHv&=sOU1mzJG^$f(@U7p_eWgV5d}nP-+t>aXzL6<(Ur^yy}4V>yx5l^ zoimw{YfSBLn1nKV&e1DKtGLfnO7uN}R}^$*M5#WQ2pbI{IxTU|TK=Cd<7`j(h`%T%9V z7+1O&#_wT1QmkdX*sslav_Dmu=fW>eE2r{(`(lXNfPH52=(vMyiUUFEFb8t$LZ)4M zRsN33c2G0g-_M*MtK^id@e(^Jf&qv@aR&9lQb%FXyeK9^_3mMYoL?Lf3FkPK$y{(0 z!r|1_*XZXt-ocC5JQ88m55<*^)BYOYG1BU4L$c)=c8W8(mFYVNa_1YGDAdGCZ*E4t zgD_w>A7_7G!`yTj@Pk|BqMcbZY*Cpy4-G>U76x;hoM0BF#SU8?c}rr<7P*<}<`@Gj zG>d~U8IciueV6R>)Tb7-Tiocn;uDI=bUc2M`jMS%=&IFcS-^AddN;j5$UCR7H zR;-w%jKgbiFJI8h#Xj<8&+lu)?r+JLo(f8&rf=k2T{}n=47Cu@5gN4P#L}nT$=S=Y zcmyJ}LsEf!(x7=@`C&ro(cS3j%E0U0lI4fN*^gIMpFGTWxhwtLgORHl77cZd-bfjb zCw@qorBAM@5?_1t9pek+!!;{nbRvKt_wNDaTflVyW*NoaPwK&R( zZ_eyvA{JK95_Yo9x}-mkyb?J)b4v(RVg;C1Y0iZdbEG(rEF-I;+x?6^#SFo&%>lUL^jqi>v{KE`871 zizJJ#_O&NQSrn3N)^q#k<&%7>6WV&|fkgJ?X1Js9Vs=O!udf zp7|X&^F~1K%s(Qa+9RYm!*1TK1ytzZn34V-xONeG8-`0!{m6#O-{F4hvK^=VS)=#E z>!jiG%Ho*Oiqh=vhHX*(jp1oQL(PGqUD^XdCXMYPCC+B)8=8X0Q?3x0lUg8Ba;qm@1BI8$_t3mxV-S9P=uw* z!SZGh`dYsO15eB$39R?f6?B)V~KLIn7=_(nAduVlG{?ePi!V|VXM}_Z!;0EdlDoz*>`W+k6Inf zNft!htX9i`tU3(htQuBVqFR8l5n7!e!!*y!2e&B?xzJH(k~e;CU`~=Dxpi6Wys~A} z-M)#O`)r#VvYao>4+Kr@huW#lt|ty5N0wSl9`B}@21*LA6+C;k(H-*E??X)h%Cuz--Iz`^!M8tW!-hqwk|EIIVZg1W7o7; z>rv{S$Dt#LoX>7sgZ3d*B25=Rc{c7OeR+T`Y)geC&`vcgQo6a5TniV^|T;$FwWRg@~(zXX<8PPY_e9A626h~@`2jQ*LFx9DT zlRln;%p>m$>MA~Y48b={G%<}`$z;%;tcz?xQkd9Czo^Z0$ejd;m*jn8}ALo(f$ zwF-AG>kgNC$~RT?rEg681w0l?Q76j1(GYdz(W8p#v}@Ro@f;Ro{t+zN$zebri4==w z^tjn8`)~yH!B2j3x^P?65KlDt(+{MZql?nm_zN+`K__u@ox=UXEl`&~6lv5sU_5noU2wdjwv`Y@zKEKH9BblbNIG-xv!9sgiRfI|RgRg|M zM+8Z5 zd2OgDX$UV~-PJn~v-lKnKvZdY`ih(!rfBusrO`&cdwaIJcDmA)?K=HG@838V2;92c zqMsSa30ydjO2T&jDhbOoB)w{`F<7C){NI{-BX@f`mi6Y8{#Zx(+%%f4_HVM#$fJlAAZt)M>qm+fi<$BMcJmL5CG{aKZ zh8G@WQF5a+19aPq6|@hCKHQlLe27u2mLe&3K1|?Eu!Miv0@xQlzik zYGNsI#YFs-^>UAe_~6albjAYMZBu^Q-oS(1xk&fD`Rk1PCj#J@y|z~&J3qVvTx_%& zzpRX{f1j1)PPSTeW3tMP5>y)q;p4=Z$MmwVT*vls$_s0p3EFXaug|q3mO6Cct0ws) zZOvTn0}n-_;7&Fi>r#F|y-iVh@sj8nBhEdp588_t$NFgx+-@P_TlY_NksV-X4G&7W zFW3j9i)=|=w-neqlU=WL==a7VFJ{aq5g%a(WOt%5a9z5l2eu3V!&N^57)a#6wJZX8 z{bY4X99h?uuq7r`k@JPkl~walE^?>6&Ni0kcI|EV&N)OY1i~`h^#`av^UE<;wwzEn z^tUL9kvZ3BEtD;X9HeCyquMjGDBVn-_h-B!dW4+*kdW+t=xv>lG;>-ajdb0MsY<)D zwF6gwI3SM30%vQ3?5w-ZgS03`$w4bhd&M`7aq`uvGNsk*>$0byT;}V*&r*rZT6nA{ zs~zxE<=w*hs49UWt6e*7Sk1NGw!J-HPS0!1TGA8!0}gKcqoY%^ZqyZBV{V5=$p;5gDn?SXnQQw`u0vR&GglM>3of;fk0+&SwCJf=iafEMwsnA zUwhv;?AH5OO>Iq{vVh1~{hbzNaCb)luY10)tu9V^aWa!eMZ8rBF0HSsJJFRK@9YBH1A*kbZi3-cNd0XUy|6$sP zg{s4H%j~@jMK;m>{f9Pd@^I6_)CBt>ti-ZgjLEdeyh{`3+g|@AMj838Tg<*Gr4vHZ z<@PVNLOFKtIk5_vH+Y+oiD!Uw;%+#{hxK!&#+3A# zHSW=Gx_ReaVN&MTLN{*Nd76kvEk}BY|txln@6=Bau?ev^K7xEx#i1!r>am@u% zd};#vuXn!^jOvb}!{;6*mZ*&CMr6!oXm3bFDNc@+IG~HCVTut@5BD7>a*oq)<{8Q* zJ0&RUjMgQ}G8qx;j4tY@mJ$Lzo(4{BPlfIz6vZJ4@3HOSu}VSU{>dX!;P(B!iKNxSf;%F7ddwupiR{7KZG!q zPGrzTbz4nF&yJ7=7W*CSrFi81?M~@L*5Ydy;?;}e!z%)M8|(un4=T`n0nGu{6wI?` zmmNxa(wx%4mI4x4NJDzI(oGD>}QqF4)^t zaH2Wjyl}KnaJ(B6oo8io91ZyM*^LiWQ=tu!tiy2J6E95Xh$C5vH_+6|E|!42cUas-)2GRHyGE$(q5fKq>LrLPU}{TV>}}-Zh~~2?e%EL;uR>Om?;Y zr`|--cEjWJWffflyJfzfvsb{M-L~~w7KoTQV7;+dyU<#>*gXBd;xaL8%uY*oYgpSy zO~&fYMw~ucF_l7}+KwlYCYm~UHTX)3DRO#pCY~f&LK1RgwIj32ibUtpuXW~;VnokiLU zmx>APAH2Yq&IT9(F?5#dc}Dt5#|6L$5C3GD{2+&zP-h%IyT6jQ)lt4>Q`%V>8L9TY z)xR<_%EJpjkrbZQJdyc2F;Hz@z96nF?|=&ZNro)voZ7)?nL|>B9i=%%?nI+k&)N3Z z(}}CtEojceF3xH}fv4q{h}*k4Yuf9|a=ikT@1K(_ny(Hu5uFS!w_SrmPB&guw0KSV z*jMD^1n2mARp#fyQ&Y@+n>q13e-OEt=a+48@CdNm+d20IxJtP`)rpt=$jv$Gv~ec% zBq9hYBH_Fd+?ZDfwQmtRD=U-yp=%|MIgIAnaQmObBOmY(C#d-|DO*}q2}yCs3^*Ul z1YSfd5J6ns;KG=WDHz^nNJz^Y#Nd`eDZLVeJ0nNJ&d|DjLuy4eOTOgJkLSC4Px9p>QqVkh#Mx7 zd7>fkc<~Vq`iOlGRZ>uG{M;pCG`ss5;03Bs7sUGmv&ikur}+3d-nhq-{=#E3z^#_V zm`W&JMnNP(WpL+*!95PquG-at`aScTKUR}P^<3oaAed(|@XlOQ{@uOwy=|7IKU*~~ ztjX~$T6~+fP}q)uQ=b@(@=N{b%Uq_OG;u;;rkp*4K+ba8ms)ELF{fR4`lVANiPxxh z(3Q*SW)xHX@M&7nv34Ysv;TrHx9J{bwF3N6xTT79W(W;E9&MX`U-u-RX+j ztoPaRviY;I!?XSFKTQHthy|J_gc->I>FTA0cu2#yMuuWYKE~UM3MAax-n?Up%6ZJQ zlB@F#65%_8tLJF|`Zs~qhc209M=M~XIxL~Ihd6o8Kj zN-Yg%CVktBR&F%!{qj(o@yO&HN*_=;7GNF|x81x*s4gkDmT)DzLtJibxtJvlf!}2t z>?UICT~6QfH@l(LS*4p20`wp4Z+P`H^`E6>>Is6sGiG&};W}JD%b^`3B<%?SnSOV_ z#4)O`aaC_7n@g?_+W1{j!avjt(F?!yLi17)q3C3w$C@>^#_7s7w3h6~eVXGn9S<07 z1S|ke>_bqEf|GzUsJ>k8N=$F@F4rVVp?XGlGBGxC_q49SZG+AiE{1Cbjotwf&lXF4 zFpGd>?uZ*CT)HjuGQKGRRX+$*1TxwC2}}UbJcp*AtdqXRaWof{hcr%nN&Bx^$wiVX%2Ar*1Osa&{YF8)^q6DqVZln z3cG3h8WyMlF=5w;tX)=DeOX3c(hg}5pHjMut_OMeecTD>UjHpDnW z^yEBe=*Slr9RiIUxc@)YWg$u(TRW)8n8VnfARtUotSXCym^)oMJ`lOf09Sket{rDn zk9iIE0@So~hYGPHeRNAPX-zN_d)#N|f%$3cFfirBC%De_&LiIjN7Re9P5Ef1u|lcm z&<&!vuSpfzVuwQ^Txm62x>j#vO31_taNAOH#}|oCwO*hAi+uf@-L?N4bnfmGqL%6w ziU@BUZ zNshPvlLl1JHyQsT$j^5V&n1Nv$i0_p{L$im`yNZjo1awt^(7@V!LZXpi&M5_h_))) zy;l;)B!OU=JbvB^LW@Hk>gEPVj5s^K%TE7kDgjD*d;i0q1!W#(n>alQ)Db&7mO74gVzw zSO3WY=jniaZsD0h5Ux}Md5_JVY$ZWIq2R)Q2-nd(Ib1A6(vFP^ID`4mnU%T$r359! zFM!SbV^MgB1+sh9?|(WTNoNo|!%XDr@QG4XUumCrtF8VY(C8At4K3tAWB#GDGDqhl zHSQt!#zptEs>4}&Z3EG%jR7aj$)k~#cC{(h<7>R)*p~6a&67QO zP%>rRm3=s=7!y*pd$C8DVB;#klY&XnPOZ9{IH{#x|3u-PsGLhclSTyZn@_Kk-Kf7- z?qn|nM!S&!Nb4uEF>C1DfS6-55nozSm*yj32tLszu5T1e@XbHOg_f&+!n zfPyB$l!K<6gM)JZw1ckUYzsbln%?y?o9OxHT(*DURwbte#PI%y;(t32@OjgjEP@gS zwrQYaRS|c{r!jFC?H%)+64OBu@6o1y9kLQLINJ>Yf7e?q-2_}8`R3c~NpAdut)W1a z&M~lQGJq}pJ_2|LkxWJkRaEWR_$LeE-ceEpbJD}9WXPOJ z4SxwS!hh4VX2er$jY_*ff_BGF1aSQ$ovN}!Ev zzRXa*iQ>%sJaew6mtBbK>(59P*@>aQtzU3WB5mAl)iYpUh5C%|n#x|P{yds952 zQl#gm%;wTuMyaGSK7fg!2GwOE+iFWgP}IwI_?nw>jzNW3&Ewim=|knNvH8(HVp-^CcG)B5>OgqYa&Ra@4`U6x8W(aq`T>zuv7KebJO^XrB%j+p{&fcNQr2+Saa+`vL?|2|K_tGyv0>IO@%5%D= z1O#*QR`(oU{bVD9KmzImU;98B(TJnBg!vIsx^NZYndkzW)s;qXb)7E8{dR{+U&$bs zqJ^d@`!)(|Y_7W361_7oulwE}itAvrcG(YoaN`sO1uguXmbTVytxqnqciQP~cYP|0 zAiJAWVs{xX?mcO%&aD+YSj|VB*G=@>dfGjej+%%%&??&Yce~4g@rJUJh4%Xi&+UNX z(<4?=;x>4#obBz7lYAC_PlDW`p&C{FUF07^{8Z{^3SSoPB}#IX3Yzw=^}?MdZI-t? z(}!yr&C!$r=pn`-E$v$U-EY1%Bx9>Pdvn-%p>iwXtzE!$s5a+TX6Dhek#JNoNL#M08?rf3jAcf+VV6a;uR(t3m>~nfC%4tG=%)ycR@Fo;ZB=sRsU9iJ^~P<1a0} zNv46nn0j=QW`9QSMQa+4dXv-&O77p$!FPWE@oOM2X+JGFQ|wVgTe0*wts>KX#jZAH#Ur^4V;ps|vUDS3cmI#IY43pj4egpPHs3X_ zROE7Gz)Qq~)QmOu9Z#qyX=wlHYaJzrKJFn=6Q0v_7Q?TPN$ah6>jRcJ znwI3a;AW1-RcE&JEZ8@@w)Uu1>@b>%0+M*5cm%pN%?IaNaE4vY+6|-A71!xqJ76`Ae#ZfNZ~bdFc31g&HEJrV?P}%A9W%_vQ=Nu(OEg*05Gt zA8j==!Ik&EbdxHMaUaN1Kl|{#5-WFiM@^M_uL>}`{Xo?+^N3hH@PGrC098=hf0~(Z zVdR;~EJNFDiKZK~MUe<`6Q9S_Agdn7q;w2}d!3<|t~LlA4D^J4WX<3Bsjs2$t194s z&@$#7M}RG9RhiZ$g3NLX9M_efV3C`%VR1fg?h3QVhkKyRmz&2fkQ5H6SmeD zGr{4swkty7vlxIr<-?f60$4 zJUbD5Ht8KuHIO(L-HPDrK)L7};4It+tX*-8en01dvI$OGRhx zVa@r(aH_7%3>fX^el!Kg}g_?J++-96L^qB|_s)&8a zq31PfSKDeR1;ayWOh#gv>E~nLFiIBLIo8i9pFxxY!qYU%;IQf#a*n5 z;4=2pfXJijkxxbGZfAvAfIN!d1b^%%XO8`*92OQ5d)mAAFP`ivhMs!15!WvuAY|zZ z!p8;bttm=4Z68|K5H{!=^;t108{HjK9(3KcR_gPrb)>_RW~?LyN5Hx!mqHV>exc#S z@-*eH?Mzsk|EA5<8)}~bI>$CqhncV%Y|SQ0`le5ikZ7>45t)C&7kd^jy97J8ue&bY zE@GHV{EzY1T#asnKUR~U{#?!_aCbrQ`z{3n2ktDR?VP1`(ao={w~rQf&y+u7r|Y1N zIaDx}hanqNjlj0i4`G)MwpBf*i{hoHx*b{uKYuh@`QnADEZ=CCDsi;2;fHMxOVU@Y zyMf;>`|(UlBp$hGl6hetU&&ln)_Jy`?xl%+#7&shih@k_O1-taBz)$jaR3F{wbon; z*?S=+0B&}K6VkOJ@YVW*b??wfEgO8Ba*A!ZEL8OtY^8jZxPz)v1btm%_e zS`LNl>$+>`SVnkQLWnZa$StL{9t}iy+e@Qh zlPPaDpW5%yq{GO9KlQ6r*_pPIzm0SXj_entj7D@{TK2tY&14(3WLHx6=iOJ%Qow1O zBfVGsfKfdkM?O5nd768-rfX`+n=QX4go69EWUck}bvAaF5qcg~{Si)Tv*NuZIx*xY zd$Pd(YCU63e<^Td5Sj>F@uNJ7$Prqg6#r{&Z8AHfezSbfO#;FzK+7tgZJ9m(0{D?4 z4g3hit*$>0Ek4u$j;Mrf_)6J*K!%U%H=F@?a`9*8iaBa2u#g|cd3LxsFQ-G#66foe z<9z+*dvhd*#C^(w=pJvHPK?U_f^bbsC7jc*D$6(!=#wJ2&XctoH|cf7p2qPobrHQo zpltK-2)o1WmyGO&kdP0T-dZ48UlJ#96t#e(ID5thezd9!h3#B;c-#y3|Gf1Oc#4E+ zzj=N=gN%!#rlt1Z#`7K=df(sQ989yJI2svMRiu_(^IqT~-T;G7WBBkmxPwL~5P{XsqB@0-w!(5U{2;HpwiLOQ z7?Yk)M2b(~aLGUq2Lv5rS3r3g5C9we*9^ewMOCZ^E}QVd_gik(jGm-QN&<)eKq2_2 z0yfhE!A63Q^u*zrLnp`>9KXI;PH5I+irnrA_VbONCY+N4Cy|Ta%XqYi=TJ~n*72A{ zGbJ`hITWX*1wffBj!Nvr8igg`myjt_Yv);X7owl!ye7$ zNg7_XFk>^Ondn0&IsFOseUR~Vm-*;rB_xRF+ygSl&U_84+GG@4lV56|RC}DhI0S4t zf*S{@x~%6NxxbH;qSNyQxkDv|xZh+-(Y8>Ugg?72jA>D+jUk^l$r1{a127_graNHi zuP>_R1kK4?7yb$w0ETpkrvcCmN`Tz?ffQ1*W=Hk{$AzCgVL*u#=%q3ycwWo=iaSi^ z_za)g0}9_gAfAy#T%gj(v++iy+9|BNnJ_*Dp6uR9oHeyYZw2I*KNcW6Q2f?nwrJ3fnJ z&-?i6AYjH@f7@9qa7^)ElOMjA(*{Rf(Ws6-8tb=b_>IA-UcZZO_@xd0^F@+1qHkv@ za_lGD{2Jo62H10?Ax^HHaciww2N@^DsC=>CpS*tgP>RKz{#}ZHTTRD19Egc?=s?o$ z2*m9CzXH1f%;&U_7yfs;A0Lt+4{)ivYh!KylX5@pGA`kSXa8S;M(Kj1qJDqN9^i=b z5PIlCYVFt+tI{MX9D?{t31FyCN(#R}oCEIaY#q8iQTi8T%psg|%;LXT?B|Q8_wc!* zFFqS^2!mRlJj_kxCmrV|e%}CMhYIjrfNc*s!6#acY?!7~f>`v*?@!?quo1<5zxrRG zfS}FaPPeac3G88e{x+k#|+} zfARRS>;)2VDQf8nkNuTG0#^5z2mKo{pi&^#JW6Jm$sR%s$#-(ahDy5~X9Md^WB)GJ zxO0A_1A3PyP9$v;&fPNT{+K>mzXuT2zO0|N<3IW69K#@^7|*|w5h@S#WB>Z{Q_z$1 z+mdiJ2goJfudL^41TLK;==iTD&g-+EzX2}W`uoHnIkhO} zIAuNyl(=fNs48yj&`&rMa$Cgjw}-!G9O`I4^j|tU?)$Hl$ZrEfqyGTr(dw&VzbQdJ zTh>$5Ze-6F;QcS<{vP4xRGH2TgKO#7BHdWt%U1R<|o;7Es&!Yk3J1%A-q zsR8&%+2+yzlotK3p?3g|{#3!y#6)3MJG!R}WIlkjYL#6=vDnnc4bM_tDKa@snbo~V z5ja2;r0Q@PKB;A^pQ+@ZoFx}^=$r`61HP6=>W;p~QIRm(o#Z#>LzK`RCWQiYy%@D| zq)4g&DaKwQN0Q&@a-}#pfmXQ1q1?m2mMd+C4e$GXa1pCk2vZoNa*SY*5CTak`7rSGzB{U zkjv&D2_@hs(zbm5U_G8O>ZaD~s+}JIM%w_VpsN_0%=g>wp!biU;Qx-scrv;JG{)cE z|KCj0HC~`ESMYma1RE?_rp%6>>6YG*eZH;B+pIVIWNhdh=&K2q?zlTIT(DA^di<(3QfOp zD(WeSCOCk*tTJx*(|L=&0=UWCi2lZlBVvZ8RDGrt);S2KI|+VCV~h_TauvC zDk?=ci4)qRuCtF6n73kKrMIs@e`A- z*Nz~^d=nr$LrJ4Q(Q~DbP&-W%kwZzv4R1nVX}hr|JIzPBClK7AEo4D|2Bx4ZulYsR zj*Nq*~{8$RLzl5;W9MZ6+}rJ7QJ%OOoRpKfluhW zaNfccrkz+yu%@pdk8Q7ZS4Qk;D#RPIa~`MD@{@PX^v^QOh3a`dgTt1;YYU}OI%(tU zvShRI#{wkj?P{qABJ4<8`Td8s!n6O&NQ4q2bXq3EWu)a&AEcb~pWb}pSiwgepd#`_ zZF~E3CbIZ?Tv_{P>`pDS(U3oKX@~|~@LAX+0jgpQ%)k^qyE?~wM3sbti?!&9ELl3f zA7#G@BXE&;Do}0Tp@d|~HzLKXt+wV#r2A})VE4XfujI2PG~Y}8s8Vd#PHo6S9MB#v zAr@}0g^-gf@Fxc41VF}9qkUGQ=$Az^vY zIG}affmcUmpx_)1jtD&iSnTe=XwWfZC_Mm9HCI#ewIiKpkU+Tfn(MRV8Flu9{#r`P zO0maxG|Jtair6Z6BZT<4&CJOI);GK`RwKe+T+s04Y8zCz2x@n$#JoNk6(RuLgIZe) zf3Z{(7K6ks^9WR~VVK=4>IBC?e#IS-b6vBP`iLQ+(OSTz>J3!oJ7&;D0`$-pRO2Eu z>DCylKWSp4YR7CaK|6A|LZWN}arzIU+&8jXMCGgg!?le8dSR3gD`C|&yN%jASmQVT z5~!H5it+A6Y8L(zV473WrEEW^c>$)Ose4FsJWVdaiIvSLm-WtFa|IYZYUJa`WrI`D z0CmSxr(O!B9Z2m5d9Cagga#U`oPyGYv|ElbbjgBz@D5SS{H&0Z^s!}tvJnwRb0sJ9 z9{oT12_aJeVsbr9Ztw!LauSf#Qo!ts{(c{SI;IV0m#J#9A2Ix^4~$c#8u$`y5W3%e zElnz1xLWb4)Df*2?6qme3U)Df2Y7~hca)=&8Q}$8K*Y{U{GG#ag@)#7TmHj52tb+m*8u;t1R!W}L!3P< zrBUyWYEDo2(|r!-Ng-Bo8sF|2Xr?=+`_YSchKB`vTFAemt*`ihg;3F-s1ywqx;)fJ*uyHMvlG8o=~(^bBj_VFj3M$xBSq*Tg$0tZ z*)asaP~=+sbe{J#L+7=$9wC1Er4b1In3Em6$YuWf^2&Gw9YZezWV6TF_QAK)6yB#x zZ*R@H7cURGJ^P~}CskQlQB*7JwwqnB75}YN*^P3WZ;j{~%7clvCX!c_Xi}77fcZ(v z29`=Z`&*>~g;Nd=4Wnfl{;68W*1G}J4O*qG^c_YIPi+vJ^oskdE|#cpsn4|%V#GC- z4bjWBZp5{=Btl+bA!lzcFc8S#&z*x+%x5EPTD=h+7h+3i!&IgOz1$|qCSEtqrJq1a zQ=WclU->wD$%NO6060So6X&Y&BWB z>wPeJSWUJ-sK?@o6NdUcteN-GR({Dc4O)xg1lx%Xu3c{?&)tBCCJ2i-c*xmy3DK+7 zt4@|m=e+bBpZLm_ zN9DSh)f{>MFnBbp zXw`_R<-OG8*j^c1{owNqC8;aK`K%O^%WCxIjX7@^4Q=CMRHGdk{!HbYjWV&m?vldD za~20R<;Ba@+RtjMCkrD-!W6Ande9Q*E9lkzq6(r#7QUVKMnkArt4TDJZ5FWYku(*K zaNfF<)eX87nW>P25q$rVA6 z$xo6DX8n(r-luRiezDOX9sj(gT%d1AhCujBj0JOmzbOQH?&aw>mjo+aPP{3(~*YOQx_%#F!>k(TFA!EJAw zJCCkl4>CI|>+v>Mi$t*(;a|Ndky@f1x z$@P8dacB6fiN7{f#hgNluXmgLtEQ! z7>Jz{Z}=INJK|hZ2!&J|m5Ld7kp$iTM0Hp7SoYj`ckxlIsqbxJNW##)NiTsS_uD$A z?rw63l`&PR>d~l1=*nn-pw9t1tzfy0CLKj1A%*BKj1XUk);ZO!Ga_G`@+)tTHS9jA zV>W%fQoV9uv){jMDPS|gFt&%SC^B==FFk1HklNU7<=I0C1yE>;_w`5V--l_!qLJ!- zi(*2m;RH>JdwSLbdQ&yibPYN~v#L6g*bif<;8w2*j)6!I`gcv`0`&VIrrVklx9_1< zuqwkUDgMk$f{MdF+~ ztKuo|JGL}VWOoxW5w@jC5_RI8*y%TI`ZwkRUN70Q(8gM!EKh?R;~xxPod(M?5PX?e zs6z1%J*}mozdWs9tr376@}y}2E-zF>I3e#cM*`JY6Z>6!1ijkD%Xx?`v}-`i94V41 z_;c~dj{k7!sz~~lJe$N1zTlwRqN3eDDim*x7hB42gPu8(lQ)F~>!HgA&X*x&)@9FJ zb!JDqZUn7el2~7kT59p4&utAk*CD?VCq7U=E79eHfk1LjOR38-Ec1q|4}dm0W0doX zqioA-iITc2epjOclJ8}R=L^EHUka9UeMoL&P_5e|{ZTsIlHrN2bwsgaa`piyvgsYj zt<9lTW&V<(0+~LQuStvqVA;R&n8CpHOeIVO1@29BhnYOl(x3T{6xOVp#O~dkNR^3{ z@jNo;QF{D-Wv9xe_th|~DW|$1dXu`~dXlrxAwOH<0nX^iR%@8 zXC<|aqPIGW$hN*Y%aDmCK40H0y1f~uW}^>pL0wrV56arQ zbrN03(bs*EwcM0u3m96u{UUa_^N8f#dap)_!VyYL`Zp%*8^y*OSK9+9{lxRiIdtex z%z}c$#J+VebIjB<6SgTv@k&V}LPO48F-o!WxeH?r0tPsK_8_AK7w!O+3Ot`!rq|s? zRKWGAYB_m`9G3e_tiF1u2SCQ&GtO6uwN<_gr{nE6=4#cx2px8|zhBuFr3_)9VIC1G z!L>lHE+^Tajcw=J*dLUx3;wzi^CB7cqhLSF_-eWx@QIY@XGUtnY8SpR`%1D$Mm3=e zPkBA)CYus;^XzL6xHUN*=&@H(Bu>93cd!+Mc=zm1V)P>Di91P$PUlO%Rv`kh;Xhwy zG5gi^&3uyAULho&ZR({JMMyn#o7`iFj`{Y0zTFXFX8()=0v6(UP)?P&m>14 zaBH3$vN%R+dn%!wk{ffCxvod$@E3Hy#};B5d#GDc;J4={*>Y>Fnf)jWeDNo1$2o_u z)7|vJjE+RX?-_y?xJkS7NJe$}#PB9X?VfXLb+A_LD27x0;{17G&f?AF<8MY&+bvr& zH57_JhqPEVWmfDrmFR3e>y+BJ8orsAv-2N4aOAo^H>QWX=vXn zgFhB8xICH9M9R2w@T#kJWXb>5(t1{Xa?o*y+<}oU_1Zl;Nz&}_oo<<>hZ+73qs;25 ziB(O4Cg)7-e1J48D%HsV8bXm-c>KDg+n8G=i+a6FPk1RCN* zQ@m(Rk6Ra%1QB^!tAmnDrU1$I#b2GNJ6xY9 zyi0%G;=(C7+#C*hCHCM%NP~E{teEzy$Y&LgX=EJ~V}kzX=e(>J<4;)^jfpI(6Um?C zQ+V2nyB7E+6|fQeXIwsYr%Z8WpqmRNh?2Xx;=8vVh(pwh1&Ga5C}x}*dj5#=7fI7! zS*v*WVvO$%*PDZiRKakEdn&?iogD`h@x5Kh!7Mn7TUtq@Xyh{sW*V%X&KqW74H&F! z?*^0GxaY|LU;N!zBRt9Ubp_M=WA@6V>Z85P5Yc+5ONmoHPs4mvJ10A?Wwsu9W$mvd zh7vgeD>ZN5ZQncu9>SZN{%t%;G`-e=)n;YVnz=JXOn<%e4BC9JbvM)-*Dj|s9^;(6 zxG3Ns#)KF8jIB}QX>W7P;veEn-FD&v)t7!03w&<;)e(1sC)Y>`^UD97;>jGIjL?kW zXWJ{SC{|rd)P&QzPkVanl_ZV+QMj3?-;6TA4b-h=wG}$~}7d3V^*-N&X<+ z&}*xD)MobeB~(U5K<_@{JBjhon_13)1|PzYD#{eIx0z<2wK30!2Td83kzDY1(9I7> z6z`ukvD1IUAxpL==aQwezqmgz1-jw7B&m{Aea*D{jrXSVU39kq5s6M7hAyByni@8^YL>z)oBn=%27WG@(^f13YueXWX`*q(BY#-;0%? zs$ihhrqsjkO<=XFeh?{pOn)qD+Wz+zxN)h|G$8xQW}s(cUY1t?Im|Gi2M#j~CX^d* z0N3Z^k`NtS@{E?JspVFf$m zr~h6^edwwD1#v(fiNbP+?f*SFj0Z}(KpuaxvlA3^9s1TstHHU9II(}E0qT=ZQAQ@< zaI-4V!luQ~XEC-pU?Zhayg6En1(14D1vJbvn0Lw{{!Xv7!83y1(EbnRh}>hhQwAix zb??hN;9xpv?a4Ip?U&y3xfIk%YzVWKYO@|q*(XD{L4K#DT8sIQ#iR0t51Fte!E|uw5#yFHyg1~esUPNQoNKaksp*t|tNquF!l|*gFofVus9S>*8dU0(- z-^kWSvdpr!!pPepxm)S(1cH27Yzg0sb}k}M7mnpS{weAoW?e*l_G=P!XJa?-_BEn6 zl*zZr{OgSLOxBxY20zh+`nyDEGMvr~JxuI5Y=FL$t~O9d6s4Noqhp_&pmu6^yy3I7eFZk0SK$4bOJMoXXi;3PTBBK3$|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) diff --git a/install/index.md b/install/index.md index b4e2e0329b..2b5b67b525 100644 --- a/install/index.md +++ b/install/index.md @@ -18,8 +18,8 @@ weight=20 # Install Docker Trusted Registry Docker Trusted Registry (DTR) is a containerized application that runs on a -Docker Universal Control Plane (UCP) cluster. It can be installed on-premises -or on a cloud infrastructure. +swarm managed by Docker Universal Control Plane (UCP). It can be installed +on-premises or on a cloud infrastructure. Use these instructions to install DTR. @@ -30,10 +30,11 @@ infrastructure has all the [requirements DTR needs to run](system-requirements.m ## Step 2. Install UCP -Since DTR requires a Docker Universal Control Plane (UCP) cluster -to run, you need to install UCP first. -[Learn how to install UCP](https://docs.docker.com/ucp/installation/install-production/). Make sure that the node you install DTR on is already joined to the UCP cluster. +Since DTR requires Docker Universal Control Plane (UCP) +to run, you need to install UCP on all the nodes where you plan to install DTR. +[Learn how to install UCP](https://docs.docker.com/ucp/installation/install-production/). +Make sure all the nodes you plan on installing DTR are being managed by UCP. ## Step 3. Install DTR @@ -44,34 +45,25 @@ To install DTR: 1. Download a UCP client bundle. - Having a UCP client bundle allows you to run Docker commands on a UCP - cluster. + Having a UCP client bundle allows you to run Docker commands on a swarm + being managed by UCP. [Download a UCP client bundle](https://docs.docker.com/ucp/access-ucp/cli-based-access/) and set up your CLI client to use it. -2. Run the following command to install DTR. +2. Run the following commands to install DTR. ```bash # Get the certificates used by UCP - $ curl -k https://$UCP_HOST/ca > ucp-ca.pem + $ curl -k https:///ca > ucp-ca.pem # Install DTR $ docker run -it --rm \ docker/dtr install \ - --ucp-url $UCP_URL \ - --ucp-node $NODE_HOSTNAME \ - --dtr-external-url $DTR_PUBLIC_IP \ - --ucp-username $USER --ucp-password $PASSWORD \ --ucp-ca "$(cat ucp-ca.pem)" ``` - Where: - - * ucp-url, is the URL of the UCP controller, - * ucp-node, is the hostname of the UCP node where DTR will be installed, - * dtr-external-url, is the public IP or domain name where DTR can be reached, - * ucp-username, and ucp-password are the credentials of a UCP administrator, - * ucp-ca, is the certificate authority used by UCP. + The install command has other flags for customizing DTR at install time. + Check the [reference documentation to learn more](../reference/install.md). 3. Check that DTR is running. @@ -113,12 +105,14 @@ This step is optional. To set up DTR for [high availability](../high-availability/index.md), you can add more replicas to your DTR cluster. Adding more replicas allows you to load-balance requests across all replicas, and keep DTR working if a -replica fails. Each replica must be located on a node already joined to the UCP cluster. +replica fails. + +For high-availability you should set 3, 5, or 7 DTR replicas. The nodes where +you're going to install these replicas also need to be managed by UCP. To add replicas to a DTR cluster, use the `docker/dtr join` command. To add replicas: - 1. Load you UCP user bundle. 2. Run the join command. @@ -131,25 +125,13 @@ replicas: ```bash # Get the certificates used by UCP - $ curl -k https://$UCP_HOST/ca > ucp-ca.pem + $ curl -k https:///ca > ucp-ca.pem $ docker run -it --rm \ docker/dtr join \ - --ucp-url $UCP_URL \ - --ucp-node $UCP_NODE \ - --existing-replica-id $REPLICA_TO_JOIN \ - --ucp-username $USER --ucp-password $PASSWORD \ --ucp-ca "$(cat ucp-ca.pem)" ``` - Where: - - * ucp-url, is the URL of the UCP controller, - * ucp-node, is the node on the ucp cluster where the DTR replica will be installed, - * existing-replica-id, is the ID of the DTR replica you want to replicate, - * ucp-username, and ucp-password are the credentials of a UCP administrator, - * ucp-ca, is the certificate used by UCP. - 3. Check that all replicas are running. In your browser, navigate to the the Docker **Universal Control Plane** @@ -158,12 +140,6 @@ replicas: ![](../images/install-dtr-4.png) -4. Follow steps 1 to 3, to add more replicas to the DTR cluster. - - When configuring your DTR cluster for high-availability, you should install - 3, 5, or 7 replicas. - [Learn more about high availability](../high-availability/index.md) - ## See also * [Install DTR offline](install-dtr-offline.md) diff --git a/install/install-dtr-offline.md b/install/install-dtr-offline.md index 0cfc57ad57..0076404ac6 100644 --- a/install/install-dtr-offline.md +++ b/install/install-dtr-offline.md @@ -42,7 +42,7 @@ copy that package to the nodes where you’ll install DTR. 3. Login into the host where you transferred the images. -4. Load the UCP images. +4. Load the images. Once the package is on the node where you want to install DTR, you can use the `docker load` command, to load the images from the .tar file. diff --git a/install/system-requirements.md b/install/system-requirements.md index 367acb3fa2..5b8ed80f7f 100644 --- a/install/system-requirements.md +++ b/install/system-requirements.md @@ -18,26 +18,21 @@ Before installing, be sure your infrastructure has these requirements. ## Software requirements -To install DTR on a node, that node node must be part of a Docker Universal -Control Plane 1.1 cluster. +You can only install DTR on a node that is being managed by Docker Universal +Control Plane 2.0. + ## Ports used When installing DTR on a node, make sure the following ports are open on that node: -| Direction | Port | Purpose | -|:---------:|:-----|:---------------------------------------------------------------------------------| -| in | 80 | Web app and API client access to DTR. | -| in | 443 | Web app and API client access to DTR. | -| out | 443 | Check if new versions are available, and send anonymous usage reports to Docker. | +| Direction | Port | Purpose | +|:---------:|:-----|:--------------------------------------| +| in | 80 | Web app and API client access to DTR. | +| in | 443 | Web app and API client access to DTR. | -The inbound ports are configurable. - -DTR collects anonymous usage metrics, to help us improve it. These metrics -are entirely anonymous, don’t identify your company, users, applications, -or any other sensitive information. You can disable this on the DTR settings -page. +These ports are configurable when installing DTR. ## Compatibility and maintenance lifecycle From 65ec94fd1ae2a58a32b8e40c8485a71f10e722e1 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Mon, 3 Oct 2016 17:07:09 -0700 Subject: [PATCH 05/19] Add docs on how to configure certs --- configure/use-your-certificates.md | 51 +++++++++++++++++++++++++++++ images/use-your-certificates-1.png | Bin 0 -> 295031 bytes 2 files changed, 51 insertions(+) create mode 100644 configure/use-your-certificates.md create mode 100644 images/use-your-certificates-1.png diff --git a/configure/use-your-certificates.md b/configure/use-your-certificates.md new file mode 100644 index 0000000000..6b15a47dc6 --- /dev/null +++ b/configure/use-your-certificates.md @@ -0,0 +1,51 @@ ++++ +title = "Use your own certificates" +description = "Learn how to configure Docker Trusted Registry to use your own certificates" +keywords = ["Universal Control Plane, UCP, certificate, authentiation, tls"] +[menu.main] +parent="workw_dtr_configure" +identifier="dtr-configure-certs" +weight=0 ++++ + +# Use your own certificates + +By default the DTR services are exposed using HTTPS, to ensure all +communications between clients and DTR is encrypted. Since DTR +replicas use self-signed certificates for this, when a client accesses +DTR, their browsers won't trust this certificate, so the browser displays a +warning message. + +You can configure DTR to use your own certificates, so that it is automatically +trusted by your users' browser and client tools. + +## Replace the server certificates + +To configure DTR to use your own certificates and keys, go to the +**DTR web UI**, navigate to the **Settings** page, and scroll down to the +**Domain** section. + +![](../images/use-your-certificates-1.png) + + +Set the DTR domain name and upload the certificates and key: + +* Load balancer/public address, is the domain name clients will use to access DTR. +* TLS certificate, is the server certificate and any intermediate CA public +certificates. This certificate needs to be valid for the DTR public address, +and have SANs for all addresses used to reach the DTR replicas, including load +balancers. +* TLS private key is the server private key. +* TLS CA is the root CA public certificate. + +Finally, click **Save** for the changes to take effect. + +If you're using certificates issued by a globally trusted certificate authority, +any web browser or client tool should now trust DTR. If you're using an internal +certificate authority, you'll need to [configure your system to trust that +certificate authority](../repos-and-images/index.md). + +## Where to go next + +* [Configure your Docker Engine](../repos-and-images/index.md) +* [Pull an image](../repos-and-images/pull-an-image.md) diff --git a/images/use-your-certificates-1.png b/images/use-your-certificates-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c23e89e2aa14a4b768896e71593fd5b625ed1403 GIT binary patch literal 295031 zcmbrGb9ZE2xAtRJY&+>V727ttW3%IqZCf21oup&iwr$&X-rVuJ?yaWOqE*uC52!fQPs4@r$90Ujm6e0}N*E?YtQ-xmxsDrYEFi6D& z{_)oV>@P_T2M`cUiho|9Qp)64ARvMuQldiNT|v)upgr;X??2@G zSUfmfYCT#Ty=))v9v*ov&&FssUk}DFhTYSm_&%O?b#el*iJ?M44SoL)1L?S+ZoxE~ z>;LH_|6YS4_BUkSvSpP>|2AI7y2kwWatv$w@v?RQ+{(_U4+io_PHhMfVtqrgvs5w5%W4x>gwG^H@mT@IF#B__z+mNsf57OZA396!miV zi39EDqmG})d~3yxx}aW+&ReSu`dZzHxLz8|e{ce7$~xFi?&JMrZw*`+n3r!*Yt0&X zLC?ZaCWT2woN=ns_npsANAb*}u0uO0PAH(xSYq$#M!7*=GsNV`*3d)nbmk6PUbn|5 z99BaQf8_#&rQZ8MfP#QxoL>**?6b_RWNF8xz~Dm~745K;8sxOpQQ6}9wY24#ky$n% zvN+V)Ufbr=_`+{S^#t(*giNOK*yG|9XOo+vN-I5)O?hK?IWTsdXxS79Rt_AdcFPnv zh{1>=MLIkc_>xNh2)=usgENvU%<`t)=5A`M0uNR~spKE`oT}e7lo)tfOuAzs;~ah2 z-976sOYQK4peQZa^ert#;+Rp!_ohYXsZ@_#H@`rmQ5_iTXe)b#6(h~K0uv6Pn!h;!Q3R=p*b91jwsdvH~1tawIc|G*|&hUrl zj8rP1$7%fEgCdkAb`tL6<&I7~+W-T*pPvU8_qsprUR|vo!%OBhKc^V`hR|o&zl*m4 zPuTt%DPYem@a@~zvxG?lHB%Ur)!W*^WZ695eNpvFUxiDn z|MgruV$`IFhHIGP!GyeVZw{?-&|0;gTDQAgasF)-jZrD9{lYKvu(;6${L}Roy;Q`= z)N;jxp`MTc?9o<}e3V&rx?v})9cw{Q*D<-7C=O72iFP_!#yeqz-d;! zi-PjHTm-f1FS1cwOEM)E`IYd96QzUDT5U2&n8Vs3qi-M5rEW$`$qdTfX4JL)-2=L- zkV1}Tc}`wNOvh^??CA)u>DUp^7jJVVD8)1)pcZ^8+A6IUK%jc=p4zVJW$J64z}Fwo zVZ#zI6M53S=e0u?aXLJ*+fg6zs|>5k7Ic|~E+?#(@BFtTGHYR*+nha|X6&DgWq}gQ zVEV%fx5ybPBVWSts7li(2$Rd9ipR5lxvbt^kjd_{gIowf)~JbX1A1=Bu>;iu?xSMk zO;gTuqua$6FWv$av##eh&PDQzu>T}ue*@xs*2Rt5*-Dif)1^C#ATgHnoB_0N_uWvC zJ@wh4y)Fa-IHCOD>--@J5af7-vNVkpK6RA+DGhq%CUl7vSoee|v;tH}^I|n>=Em5{ z@G}^|SQ9Ab0}I30>^`dWUo3|8@MG~n8DXi(hk^u)G^j>W{vi32}7_-Mqz za0^?))G$0Ypeb`16lNhUB5%!Buc$G;OuRHg<*+x}km|nd*b??bIUEf^KrotyKItko z)53Drne+v+x&}W8xb!PIbR7bsfa^@%H`$6_C}t~H*`r&B6cv=A?gUmQvz5?3I24e+ zdew;!rz!*3H!!n8&bk_5i42xwIGo#BYuW~kF<^?6x}CY$z*x-gwG}58|M*Owo#OJ3 zy=^fDRv=YH@oiryErcJ<=ysu86Yr4HA6N*uALp_Wa(uXZ7!vUlk>0kkO+#vrhFuro zl9L*Tp41)mAX7RRx?pyM!o_U$Z5lb;U9NRUXDx_otj^O3Z5wZ?^cH*shVlQ|5sB5I z*7!TQH0=a9S}z@jQzj;5y2Y(7=)1%2tH$I^g-8iHj;`S&pWj~hQ_l`C!M)8aikFok zD_gEW8`xeK3Os$2#S+|sv|eXKEwd(ehC@!ofKY8Dm6`~)>kI{??&J+!O{=>TkVK^XRb;Q8x)i(bZ===yhhjojf`{SMa*#K2QDW9vDHtXkcxM&x z`+bz!Fp`s*jJFOSo|<{h46-<5v;{;K(y^ZR9AGYd!m?`x8N@28P!tzwk`2mbmU)n2 z)oUSYUfL6eQaW+BmjP93M%&eqV_t)$*)+Wz5md0wBKW+OB~tTmh89EyT)nb=8ty%G zSj*{22ECT1Z1q9W7lMWjjUUX-#ioMJb29e)MzSp*O`@3Cv#~$}=bH3&kNOj0X)ymM zRq|Al15Z$aQ?Us!CyhLVjuTD=)z?&z2ZH|2FdfegM8*c^HQVQvA2pC7UY13Z?n*>> z#uh>i!QvOC!>NWRaR?D+&gXJqp+xP0$GTlq;YMC|c_~ijYv5f*WtTYq%M~#|7oHk0 zNxVG-?Nh6M1H-);AKhvqVygSBGy(Oly%_8o`dp7C)}Ld~dcKs`mp}(YhsV^V?7Nm2 z?kJ-P3Ks;>$Lh^*5rB{kI-@bJ8=87EKkPd}iRv=a|k>ZhKV zu*InuSJ!TpMuPIZ|3{%Fkrt3*67!}vt-ZjM&Wz|jn$%?#+F!wApm@~GijR+>xkc)G zltnLQEH%Urot0kyb1E<8-FNNhkw0oC16HWN%u)^547`u(+frP0z-IJ1pl0n40?p12 zSP?=$0J(?%JAah``%ic<4-71gfpK%x-x{hnf=v5ru8k}P!h_(%&T<95tMie8o|viQ zV@S}Zv7}Jzsplpp->Xics;lA>LA1H#M6wpPN7`ujk%fTKWT?bZ+q7h)P#iK{ePXe_ zq#3gO4&-yPBs1#BfT3Z`u!49{Eh@>M%ScK;?e!k&%gM-xwG9O)(uj9wUJ&Sv>Z9GJ z{J46{ zII$`MZO2skbxbnCYd-|nLTSNe^+2Qs>BQIEVP@=G7*B>NphV?^1t^mxXXj?QYlMY3 z6cdGucPav(1oVUTlB{S-XD z=44C(aUKks0*7sphUjXuk|z{lh;s!GpPKMP5(jq%W9rJ zlJZU5E`6C5&!tzZr-2^L9=`#791PYfV=^8;D0Nr2pD&(tm;mhd<}4+&sDUr4KmiGl z8H`#(jD;)1%Jpcqh1$gbY$D$2RwHrFEa@>^YKVr{<#C%%M6GqvOp`uAOU)dm$jO*W zcabR)K%N{K=R59dBo)ApAwt9O^H`ew4BRQ#;vh18qOa+fwP{F9`f`n7fN>}&2Dme- z;veiC_;G)SMw^`#f6Az1VlX3L;B=u#9hoYr}4sc7u0D8DLtV!y!?xit>MpzD0WSf3i+}*RYWzxEv^( zuk~%XY6E#K5X#F?DxBr_tyTXb@FXy>%>QX2Qb7}zyyzVp&Z(<2CX-w)y053HE3^D* zgm73N8j)X%m0pH3vBaFabA+%v&Y3b?QVZ-ZAR#m}-PL3;vio}h<+kV8&x;Gjfx$G# zihtE@yp}B1i`fsjE|vKc$c9HNRD9$<#5u&;*M#6BMW7P`>SF(PB$*jIa8&QbCNgeaX7)Q4gSZHuku3kTJV!3*#9?3NBq`#cUQL-L zxWzTi-ik!j>Z%Xp1P=Ux1K}SLvK9v0bPe?lbR}`vz$q{6DGhRN9h_&y%IV(? zYnN9H3DdSr0ru$Ku5}j_{q;@+@pDGRrLy7Z5f`M>`K+=0LYcoPzs)^FTvufVjI|d3 zLT%t8<=r;&wO{s>?`vnezs+ivS0(Q=rUZ$Q5vV3_zMh3$M&twMU9_jcT7xK{Pq@NUze=@ldGwX;-h*vHUeI12t=`azZM%HSjz zkuhL!L3wxvg4U1bAk6PCG1rpH;HJ&uR82NU$LY7!fc&UROZ9->ZjBV%8rfTR7)#9v z`Ze~OOa;_K$jypje=W}-!jQVPg`SMIO)pc)Jl>q31(D9V@O4)0Ztiaf{AxS1bI}vT zqUya#b^~Y;I)1ucS<211gACKjLR784VCn4WhU&z6$5VNp&t!mQOoa=OAH|2GO@`)N%!6KFatp6mSh=L9;m5W+*pf-PK)o zucrH7wPC$TeLW4yW|_mcGoBnZiB6QYh{P`m1c^UrSqS>-B;v4A$-Xv6f6x(=Zqb8U zd%ZAJ4S=O$`VH-xabb*jnBSUF*Ts96r0#uha-8DDv;+zY_%R^#Eg3WDNE)kQ11%v^ zvalSFSV{mp*0lfdGhpYaxzS3Y1HYOma;2KuXqcVR`PVBgZEX+VpOoq7r-)vKQ{MRR z+T2-RTEMYq#f04&Ck)0?aUCsr`TNUwILF6$*_9oKl)0%u<{yTGio!zN)zgzIvq?fn zXU76~v9dvg02KInye96zW5>T9-YZwlnh(r^?x7xy$Jv1rx~3T?w;Nn1M{chlKO)(U$+-!g7{NXNOYM zHuw5I>Fy8j(jH+@bsbJPDv~c75Fd@nMa-B+Vi#hadr(G9P4P_kItNOBj6> zjIkmBQM>I|H?lhmi+tbdQuSf^yRTjGc=1K8L+!Lp(4(F*qr4Uo3PuLO5|G2{Gm9ws>g(hk z9dhnERh4MR)z@?QH*`)32!!D9smoXFkUs5NVy!t-dw`gVD@u~(AZU|S42Ud{4k!&e9$|!fVpY#nitb*iJEn}* zBS~4R4_@k%-0C%T$RkShw%yvI=VXnT^oPYG%}CbgTLD@05;NC)OZSMe?IujG#doQ4 zVJ(6+N27Q(g4YFb{+uF?B;|aJ6v`2e)v7ojlc8L$+8PRs zi;@~kmBdAY$GeX0PptN2m*|O-&rT&~av-{X9`)WStU9`l8`qUsvQj!33J{ZqK)&c* z-rn%X=j&8&3byBhldmGnCwh1j>*+keE`T z^<9l;V9ceG#t#OTmq`r!850DK0qXC+;xvy#+^bKp(L_)a`;DDa=R{e!ky}R-z{7Gq zJm|m2BB>V~xI_SxM&9})shjL4d5~s9uIpmjLgsotn#EV@FtFc)7u23I`=`7rho~K6 zd~8jlIyPE;JwHZ{J|RMFo$(?gddct?WmQ#d1e_8!g=oK(eu*T&2`mND=HGF5sFcOyy?)=>P=;%n4YBMes5ev|? z9W$OQcHfjDW`H%#`6H_TCU!HmXirr{1bmhH7cCS5q1Cc>mWdQe@$jdWV#0J0RJO0R z+kgt(g=R44TI#(f4_Pu|2CT=q!JcSEN0nhcJ2@)J`z%>nm%83at(Xig9Q}cTw_Oe zhcuO4aq_0)Nos#>$X<=H7Zf;T4KqKGFRmo`8+)qRHY}ScYC;K)aaG;vNG`xwj8g7z zs}r)+y7j>9&OS9Uzj?qM3MaVtC!>B9=&%A0ZI+1}`taVuSc+J>mYKLq50PyH|Wt`~}C)gi$ZVFz4 z(gy(P1bwr_V58M&(;tdLrcR;{y|S`=;rks>Jet@p?m2kv5F%1rza?j}LWs!0#7aq*L+6eUc4WogVbH@9*(6g8Ud9gXe1 zWt#bwHZ!{Li}W5PkvNx!Du1gBJni? zHR-T#%9YdV`#~9&U*>&&k%CvBFBiD3aY=LX7KN*JoxlI#dZq->NR`k@cp-D}$U=hg z20!e5T2I=*jFi-ww zSbp~w&-qY{Jy>^h92#dnwhO3Sh`xZFXIdRMdKq0^{#Amibp)oF`hH*5n1(yl9&MeG z>EE!ue!nF#H8ZV>x_bP8N&#f?>(6; z1p_$gFImI_D<<(p-VvL&rW`Nj3dJ_SuZW5DVm%*jxwly014V-*<3~MMs$(C%103H& z_A~8DG6GZmM7ayhATOmZ5zM}&+KD$1Gi4Z?i6_>3Xq&3%67661Rs5|OC)j$i<8$9=M}g11x?Y3=4&cCb59-+O zAtZEPklBy_Vbkkrpe^N&r^hk!S2qs8^kNhIo1M7TAjDm8sOdFAJ zkkSCxE|78{k|a4AD)`;1ZWtgYeLYs|9IIKo&0yb9me8!jilL@d5aiHoIte_V9f+(7 z#k`TvjA%-d2SL~%lQT~?QwcaQC@CZ^7bz5?pho(39$8{OLrIW@%W^%B5WHBf6S3VJ zoTpZ)yH2bL7xzE74GU*$vI?a)#9%y)4O_rKm?2ma7!(Hjp))rf_xxHzmQe5;4RAH~ zD??Qmm?Jk?27W`sR3q|rZ}Qkv8>j$lbxhW}Eeqn&3mpR_;pLI?HG~iwN4GbyY%Lzu zCiIT7p%+RrXk0kK4zV72|O zuoEhj=p9k}>aM(KQNla#q$*Lyp1Y}lLu_!3ksMiALe$`Wr@|oeTFQkyRmu+kD2dtq zzk@X3eI-8%NlB>~zY!7hbgUaovJSE%?A96qA!XHM8fT}fSz~Kxox}_OCW}u;4|$yQ z4k{T2fA3<@-Md>unKHo9H!n3&jH){_ciF>Tdg%)+Qm0CKg zfjxdF9(;$~0a3NDq`j2{+ELT4vu=ucKhQ3=m6VWk-~XPReUF&$&9|(5fyR5>|81bo zj8Eh9rEK!|slVW-e=I#b_ddTh4@tgeuj*Z$Gj9jxBMt^bjMrXO^9j8cljoD-@2Lx4 zF5Xde+<(2E^#DIzJ`bA7y76=lml$7a=}R1@Cw}vXc|A`u_Jmu)sujbA_tNR9#B9Kn z_UkaiG9^@~U*uy-WI!LmzbBYB5L}yh((r5(X8dSfq4h8h!475Faw-h=Q>#Yp^$lWL z`ue~j-~+EenmV2Wiq}MNjhZEs&k5V!$T8UjZBEDLJL~dB`G9ZJ9Sd8(!wQdbpxC*_ zrbsds{G>wgogMT%ZI+VIGkg${xsKF0MBN=B-|mO^CI4O~_!3c21?xa{A=OZmOA0g{Nl*8xQ(3Og>La;j6Ao%Kp#3qhW_k zDo5n(pNi7o@&|moNpoHuUqo^34Z93lAZ^_NcCJSJZalX`8FDOX>E_9v*0aB**K8NQ zPgv$fuHc3?H6uPSWph8ZLbw8F219?(gHVPQ|s zbt~_%K2`mloS3U;u2(6S!1rHAk(d^6cfJa}zrVkvsgi*4xyPCZFn;++d9ooiGTZMJ zzPr+L5``VbwCZkK=F)l^stot*TakJ&(KM4HvG_-}vEyvHs1=2%-*{(a8j|w;!$+Gm z9CMMPK@M2Kf46e+wR53ltmE(BI18wT)(x7L_+Iy2*-l*M z^W83WA*F#H^}3zjf3UwRg(>Ar8q|cm{BF0P_>|uCzdh z;3JI?t8kVp)(4)oLefqwj0V7eefi;~a7G#J#ds~WzWQzYAAS(X^NFd~8 zTf_*7NJbj**KO7St}440e7=WSrBHUYBEiRn{zjc4*E3JSzDfo~`m_|q`iU%)@p{FB zxV}})QiK!Q$HH1&gzt3%Yb>o4dQ&zeQ2w=lo3J*&V!(86Xp)o3g5`}dvja+lxG z1td* zD8l3b|LXad6zSn*LJXF{`N`N@xo$Hqkx$=M6kY^)p;n(6pOU zG#n1qe;Oo)V4+5q9|Plc+q*i=epj!99TP*f;DJy0tWAIV4RHG~bb4yJh{h|KbxD;p z$xRkJh(EoXbjiy*FKW+i7q=>J+cL*H{TsY3Xy9*BdAGjD^5}|XBt~5mjd(;3$w}fv zH~w2oW?d7SHMW_oZKi@edi)!kZNU>~=F>Np)}s7PKfcQE?2+bSv6Sjm!AGwYhx~D( z&CHkcF7lkUu;pyYFLTY~!Lyce2d@9!H^2@cD!POBBO0(u3-dd`C3R3nKra|+Lo4*d z3cBkHE|4%XB8`+bCo=6s-`v7aD5t*uOdssi-7Up; z#Q79@eS$VjTaLLa8lLiAdr-aTVoNwVAyP|bp;sv2eZDB*cb;s9!T0d?%w7g4%s69H zu?hg=9sb#jQ-vy-D`;N|RXLAa=bZ~70|)K@!FgT0k7`bkG&*pb>J`w3({G0*~w zK-YYT=qY23;IuKjX+=K%zKjT=QBwqnAie+tq}FmQh!Qa85dG;8B7^;#{o*q0$gH#a zt~TVVi1%KB6A|rNYYZc|qs`9F8q2jJE48+Ek8~!Z1-kks3AG6RCuCafEv<|$j$1(o zPhMjRYpcD95d6)W{o-FkM4Q&tZkL4W-G?ZD8pc@XIC4sB!SltVr-os*3MEtiqn^Id z4F&ic&f~FJHm%Q@qNXOUbR-0gC}8O+>u0E@XE{4M6ZTb4BU5>Imz-rwAbF-W3$eoY zCv^nl3KKZ1TM4*6LBy}3p`OGbF0CW}GMVUE{xlg$FN|b2PT%)1DY=<)^(GU95i2+e zX0tm1+)$8d%Y+m@-H{S%jR`qE0{{ysl@$lr@X`?pzUt4Mpt}+uV!3yoxg#^DGU*eq zIhck|eD5MY!@oHA4e{b2EzZ!(CS)LtMoEWL#I&0e+G8^S%U5ou!fm_EZji7Ag0L5N# zVIq@6-S4}EM)Z9@A;(l)ntG8Q_6R?YXCGr5G-y?$StYdbvE zYijgbpWp711ReWBPZQy7*i-Z!j44rntQdM+t=5`A(UvEqJU6~p{QvYy*~fu?MDDgi zs9G<@MrHSE2n6a^1s19J?zMzzrzSQ(D~F`vh2O0k2WGUZpVBGiXc%P(6v2-Q_B57z{S_79zU36oNsh>B)BS<(%LenLn4C*Pbzc%Cz^JYwe5O)m)3sZ6KvrY@U@m)&3&#%5^X+t@qTC|Gyvqt2=ZjI*b$WnCFSl0 zC;$44lO5Eoh*UCCB+$U12mM@ekX~@I^jLSM^E|XRDeCkG>)Ufuz&a>d`BZdDjHYe zT2L6pm%w=ih}t8FqdGnuYDW0}oMSfJO&h8e!VEJt7Ce09$JsZZLIL+27Pns(2de`x z!xWnMM9=vB4)ucoC)Mlc>g#hXs#EAoqc#Q_r5X$Krbp)lQ7Hk$fUmJG1PG@T)4{e89P9Lh9NQ+f?fu9+_N4dqIQ)7Yq%VHpQ3B|72eu3pFv((Ys!~s&OuHEl zdMw4y4}8>^ZPmJiXNyMQs@(9&bi()vYGt4ggHz3u{%Rc*!}Ha3a`O%cpqI+x8SSqO zX7u?p{%?JK;<>td2pJ;ZP_>3K`G325g?NMZ<$7J}nEZ ziTjw2VtHC(cM!va_4gnj_OV)*tOP3Mi|2(z`NN#D$j1Ly=L$YyZ%wvU=S$>&iQs`q z0yCT~Dyzl)a3Pc849<-j`6UP*9-iuC3|5s-ep5U&p(TvYGV*o zAG1P~u(-Ebpg<*OIu8z&4UL+BO}{dPd657HwH6r`>L&QU=h|zm}J$Z<-1d zyOQ=J88~`|+N1S2u)>qF(F40&v`^!Rwriz=IUHonC9?MJE!X^7nx?-Z*VS>am)j@+ zG$iT1R^g@ELHGWHznzbq3#FbHw!=IWA~|8FONyGcg!q)y3;K&2X4{O=7Hn6d9~xBa@}OUkaKdtXp>iZ7%#@irOCh782u7T|J2y&z zB=1I22NE?8h5I^9k7m$8P-g>2S%- zO?pYS#W*`F#zXH=n9&sUK%1S+-!aGJ7(Wb%h3|_w1qI19yP4mfSh(R!`kKB$&1G>R ztR1MDuAXmG@!PDvok=BY@)ehAmV_QVEp$8xf2~dqYZR)yCJQ8fsKDG&H1g*q>w} z@$sm#DNI@CPi?5_B_&Le?^lA*z*u9!w+y4}(_mzU6D=!sR@-UKiU=+fjf0@ot6--~ zy5T3`jf*6q5J&kobwvJ}Ehp?@81M>IkNuBh4v8lfSUbOar+Q!xZ{tPPE#`JJs{%dphhp6sWWx#+%)B zy)gcDNPZ~1}!3}N={ z%k%fq$?*^OPm7N+{hxf54P4u0M7ujePA3z6KZM44p3Y+!x^1zJ5GDu8KU?t3CPO=O zORw*>n0C_+(Yt3aJ|SH27pdg_nt!+ecf*^;>L<(k>s5A0+j04OFFU=UymNOCZ#=Sk z+04#Dvd+(GJe)6MgD?%bXi;Pgx^>&0Grg{zCgu$ss*f(sa@21s2|Kf+vdbbLS6(>9 ziJrj=9SJ|4?(Ckn#zwEOFf8=n7QG{&J6v#SZZv?|j#oR~QH*@PyOphaCvvPYO^807 zyWC^n6cEl|E}b}^f){;jF9&I{&IhiG*5a`wASS#cNm);8eQ@R`g8xcDmV8 zu)K*OLwx2&5Ig$%r$7#eB-SPLiENHZ^U7y(&)=G2y1SJ1oU6#o(#r2HsPVe-xWa0^ zN%CpQa3^nT)iMgTc{1{IdpwAaWq*nZJM-J{ed^cocj98zBuD+gcO*THk@-BF=D2!C zQ;^tvhz_J%MX$;swEfUg=fRMOIc(iH7g9Rs&2W4|P*3~)o#W$Xy>g53l&Ci^9Z?kn z(q3HU=REgH=?1%DGx7CKopG~nC!waph?9l3?URzW(?PyFxcc)|^fN=MdXUEms&Gei_gcg?8nmX17~P&*P)z zq%l{L?@Rf}nN}_otQ^&?S|m5_Cud|QLHPjo7F@NR2A0Vm;T6oG)w#<}r^l^!<8}!w z5!1yzAcyx84&_%RlxGWz>;^q$RTv9r13S;~RVE4mkq17w+2BXzfQM`8Gal76SEtrg zTAt^()ze7CiaT-dbq1Id~$m(6r;&eouAYbn27b731>}-uTdpx}6 zJcR`SA2JuVEUiP$Bwlx2uwm|_8LS=MlgdT$|GL$q))Au29Y%xFhV4xRn60ShY9`(S zuyIJgh_ND2|B(>+ubD}43L+LZ@RBu~;Xo|*s0ZTjmn!>$vUQ_To2_+T3v?z*G{jvW z&2|>cC0P$)#y=P%98Uh6Y9p!fwCma*Hq%ojbUT$nQkQ8Zn3|TSKV*cJ;ntxvB21SB z8xJ>2BFprU|DN!50%MUj#g~0N5mV4D1CJnTq4@#e+@@^1xr^fbrLJ(M{i3JsvjkZd z8Dl$N#4udy^*U_~+>#RTM(uoG82(0kA*egZK@~A#m#CCQa*Hkk(Jo0f_?A<$(dLHrQJh*(vodgNS-=NHp#22q;h-HG zm)`>u3utBgi?Ndj>yy_Mp(163Q5m{uc7#uXBZ(AK#>|}#t4jSziS(dEsB=%wmRCXL zk?G^6bLX#?LT~X5wzG{VbSM8S`C4lvj-DN!_v_~D)omX`c=_dIVmK&c9~#jc`k*|W zgpwtjZqp%ZhSy`OtT}ZB-;KeTo(s;1=4xzmCG}gn7uv^ty9!gD70k;)EiQ#>iSd5b zNNyZG0vuWO_s&FE87b&xR2ISlg`0gyaIHpbvCpsejU1m6!9n=ewSkrrxs=at(*4@4 z_n4|J@DGhZBmo_N>{a%lfv3nwn|Tb4@(++d{Mh&W-3|YN_MngO8KE z*etf*gx4H3W=R(h`H+0T0Z>?z_B$d>L|M0@8Z$0$#}PNqWDHK-mpQDB<@;`BO@4&~ z$g;ChSRMs=D=K^!9->8WbJmZJx(#Ub1v&YQTe-KbG~3;@QlIcv#^uG9yy(3WHx6nC z$BR^fz8i6O%wt7S9Zc*aHO=skGp?p6KD2Ut6BCo4R#w8Tb&w4h?M$NpTviw@%Z8lN z*`3BMCTNi*`*cv}(nA-I>oEB$FrYxl_7!Fbex@!DVfBV&NlYWD6UtX)U`q{{;9v z?+*m7&_A8M^ZdFB{Wzmf?#FJr{Of9e&cey90Z0K`ZgUV5J``SiZg&OhL$6*}vUCy^ z>ipvQaQ*Jty?`U3cX6#!kX^ zcnE*B->0PuVAoH2~o95=Ud6H3FLKlwca#zA#p-u0DgC0{Aur%FmI6NC8 zw&1kU0Xg}3psflR;y|Po{6w)zsBoJk-+i9sAnHBvH$=ZL?pHbdWZOPqZL8U5d}5}B z+DoJ$;G?nIiOK3s;E0rt+zh6e=caH?{zSvmd%}_DH^h8MXGMQL8*dUK;QndV(hyp2 zHfd-w6Iqzi3Ac2_L>NKM9^r9wPP0z12BkpLa~Lf_wekaxLw{sXO8&c?ldkutk#_Sh zwvLAj3+?*>v!@M@)2s9T`jpmOoO^=vr4A3OlZP|uvG(fb5M56Kj<@^G;?i|fx;?|a zSglP#5s`qqWj}gLfxduG7x9^s5om_4GcCP-zVW^Cp_&m&e+qgdP=rdiud{b}~ukCvsu@{I=l{xf?X{+#ZCm)NqaV z_HiN-PuSr$ys4Pp2G^m)y7P0*b5Y^f;`*Y|il9qOPY>aBrzi-`a%o&twn?{y6yZ7Z z)n0{q|&UGrA=RE3(+%7B}WLQ+4U5vBz%yInwzPdEnV9PZ+D}jLk{Vt?6 zd21+?N(p|~&}r^SN(xOSWKF}IRv_|;hg@-Y5Qj?N`Vxb1-YSF9zmh^6u($V4ej_Bt z50dXF^ROB{)gU~B!B)nspJ0@}qpGy@+ab6oHA(I#W?!$r2;@A}H@rL=EXTN1KdUQ? zO{&GJA`=B}775*`hKg6t=Gjd)1zo?mYIduN<#4%qw&D%dh@_g`>-EbR$z~Y{;MrW~ z_N_u^*T{XR*zyIG)rxXJS_^L3Y87HBzbk%BJN5S+IGs!#Z2La*vL+^P-Y-k$=eI3e zR};o=+BLsLA6i{3PxubjYLI8QuLbqoY-dn-pGk`-Dq@ts6Y^TJp&9WOr#Ilz5s&QV z3Tkl^j*9gl-`kNF{U^L%S7p?2xtJ(|@APFx!1Y?|sIw7v4eQgYVk7*(PhvNVd{Hl_ zgN+DMYje;V7A@rc%@lvkS$?g?NlUr1x*DEJ$5~`%I1ghr;oQ{-F6+6ocB-fxLF=@E zMdyJ>F@nvxN6~Pk|4(^sK7BPOf2;g!(t`vZe2qkmE9w=gz%|X5Y$beBK1z_^&e&kn z_{@xVO-ep{qtFw+l9}8v@!!VFrD(z+K1B`SQW`^J zzP=*u%1{xGmjreG`EFd9=E42pKYDP*U zy~AOjSay(C?T*l)-U#cl0;e<-4x|Z=?n#k;JuPXkMs$j5Gp>%^CJNn{A)p*+DAKup zR{p-&NOhHHurqf}g9A#tFx?Z*=#p0+i_wQbXHw~0(LckeniqYV6y4=FD^B}kQFvpd zIfvys%lScd3oM|-QpOu+a`hBfWoag(G2h#R;DMRpH90x=n*iUli?z1je7XgyXRRA9 z2PWAIMkyWJ!nyG11cG|}k&ae9s8j36^aj4jr?jaWS^$B!O7x0Stp%*A)n79QW&fEP zP;4$!fO~BwiwYh@Q9*fww9$$uRQPLDe~^nnP(zf6-8=l)%*dy~e#NQMhC)d835I$@ zO|aeA4GNzkyF2QDT9UEjW``v>CZksNj^mtU!#+d$?VjhoLG$k#6r;zW7KISNjC{P5l2TM^ z+qi#Pa5-OR7@|BdluqfPNwpnY(vksLe@6KAM_}du{R``GIPoL=Js1J4Kg)up4Lf%9 zmqvxdf`-{&NPOKN0K&eHnF45MtIcRoa1GL9{F}$hZj40rYAaY88qwpbXyLvVs9GH` zj;eJpXoQDD523yz;wB}1Uqw;p|SqF!zs0TnJL#Ml=skUx#ZaQ`IW^u5U5y4w`i*TK)Za~ zLe99I$S8>Zd8U(1?l(@9tT6ZI8yIwso*ivN)y~9TH*EFu7V|EXxz=p#h!ZOrWwNua zG)5wZdaDJS`{O}(X$0v0j^KqVI?PCrPab{tbD_V-1FOLp|E}y*8j^#jrDqQZ``Ob# z>)~XEfmc{b6dus&M)X}Mq+M&-aHZA^sZ|P;=UJyD0Sl}~4cvvDY#_Y21-y z7I5~>xZhW{s@fZCp1!A!j?yvqT^v)VE3ic6Yus%`*lRbr59vp%MS7n z5*6h#H*mt2;YGV%aQFnB;Q^Gzoj=ev{RU*%5}46^r5{m7X4>(dLvK;%eXcJlO>$lL z@&ElV0ER&q(B4MY@d>N9i+h3Hyj1FrX35=n0fRdf0sZpjr~Av8?(E8EDQTBCzNMxk zyrUxOP#G5MxoLe?{qf5r35J30#m*9a59?9hv6J!+t-&<@!JvFIT8HZd$n>jo^D;1? z9qVFSl%6&ax>K9jUHP!L;~IppM)tZ{5I#({(+=J6IQ5=Ek-Y=`xU2?yt2bAR<$SUBx6MYKFv6m>pa8;C;#!BU z(EAKyRaEAbBm>USuK$A~b2C&H`{9`>xf+O!Ucf zY`UeAQ2S&adsGF-_VdzzDq&O9xvSUK9oPfys44LPNBg8|MV_)`aVlbU1=EK0A~M-Z z2O9Mf_WyEjY+&r{BNo#C1Jgh(zk>6?gogS|7Uc(LCOM7CkX?F;+*4yABPuFzqWM;A3z;n|DrfXo2a6WIB&}YC=hGjQVsK$UVXedh|)ec_D`N zZw6Y_Ve_5+%ElhRI-gbzG_U&)PCEP>y7eI{LFr=8UiKUFuiXkf$Udz4;?)mpaPU!m zvF@#>5>iue$w`yh+cmeKfK`(9lIec)Ii$+o65^^;z3R%&g_Bt9*iV-|8Woxv4=&Tm z>QCC)YnSCCrn&dNl&XM~#ggp?wn3TtXk>3y+>OE77Z!4EHMZ4y=~wb}q>t+NuxWID zaC}ysj%K?~E&AX?l(QYPVlf^qD|+D-TfD`HxMLkj2(Td%T^=M(0)P*fgC}oSWXRp4m;O%~Ao{l??*-pYUC zonL%KT@={(Ij$da82&10DlbJBReNv!4ku216aQNBCQddf3e*+@-oLOaSq!-B$*XZN zdoQ~FF(20+Gaj3sTZLPWO6>;4i#FrOeB5x&e6?zMk>L)1YC-!~R{VB}od(etg-VWS z?$qqAD#{yGd;ZmbfXl|u!Mr4_DVQ^-KdYL5Tj_b{4_9Nth8Q+JaRDoKEJ)f&ic5{Y ziS2uNmlJ+t+uz2;qh&0TaXf^t9P*Id;c2_8r7>x*hZG0&@-ZpN{z!rIvt&C~ymUP( zlf|Izc=OJaampRrFcH zWR%y-?8G$8}nt7&wVExic6UiUyG0Y zeF5%1>3r4S4Y2Y}y!-4E3FGJD#A#)$9WQK5bkfNq2KbJE{58O0_djh>ptcy0%Np$> z=oHduw!7sgpMHwn?A7Ld`lRy6$X;dT5L9oj%9(;d9w*-=aLblWfffYDpZG>BtNS%~ zef1z+bzcTDBoQC-ByWTdPmG0esziWc!RCJEv=Qk~omR?e{O<8O^{nV=!_W`bm5XpI z3j)#u7b60Hx`Y^Uch>rGXU%WzXra|-!%7T(&9*)w>J2*sR&plnF{ttJh(wmViB8y1 zTle5f1}Mxq0qPq-0gBGV05L!ebT0;++=@fRkX``VXN8`O#UNa$TJ&HfmOal#i0t-z z5`ia1>>?+5OAN?!qg`{70WOwdSdt89Q-m4i7(8dz!lYUd@f?=cpqM+}FWQFlCZM7V!+u~;@4N4 zg8fHVplr}^j2_Z~C(j>-OP^DzDHlB^e;HrLt@snW`qy)d@crZV$18t&EiQP(b(mJ# zhzC{@dmc- zXay?MHM@#ZE4Q811I73*CW&Lt&!5E)kM7UjAeZW6?+s*c$t^)~QM}?W){np5dACqe z&Y})Z)fv!*whqxZw*%ShL&uFDi(R|;_L98TDo&DIueOS?1Sn*|yFSTY=VjDMZz~qS&JuL?04%+hzQO^qf z8jDKM)TbX}?A5^eya<)QJ~%%g9jpMbjU`ZL&)&#qMKyV>Sf{BETev-n(Nxq6t$f!& z=@>X@Fb*zkM8CbeP|a-4pK%u6pL7D=nR*KTv8^3@*gM&MKf1=@++Q4*a8rwhMEz2% z=6O{y;9XBILhbJNu#mmxc;&)>;pBwI$_FmM+&8wXU@n+@eySL7&d>1fT4r})19r04 zwLW&+841~?IRDmH(2`iMDg%j&mUYjlb_V3dfEQ1R-+5!(U&iIhV!+w>^Xp5ogJIjf zyB6;~c5BkyonN^VD^fLC$$rr|@ur9H(Ta_zuCBtCe_yC6mJ(9lpS|?E?3ufg#elc` z{Vipl9((LXG;H}C_nn=<{?a$_@)}n8U$ig&%y`;S^%OB4lX z{I=u8+oWPZG56fxmQV1&*E}c?RxhFC#KdCNc-j~DqlGO0cVOwu_p?0#?Hzn)#=Au^ z;Nd^Qf^~Ixf8M_^@4W^rdHGjKW8c1ifwCsXU-$^axC3t_*XC@zw3gv!bF|}eZBbuR z9cg*R=KGxgJ1{Qr(xdovm;5Dyb+;_XGrwP_jF11uIhdN*-dw=H}qPUzB$T0!(v{=Irk!@ zh=>7VAR7$i>^;S!=S_;AR7*Qg2ET68is@V%+td+`T$k(UxB=HjB1cOB~6oVr!=0+O{3U(zuk`yJek2$T*^3oz>vEp1#!+JG@75}yf`=QT9aezKUi#j zwiF*NPv2!Pme+xeD?e8GDyUh6--;eqi&6dJeYotjV=!a?$rxGL2l-u_@v2TSAXnM8 zs{$9?c~D&Yg*Wlh$8Y0lWn&!Rn(K~5XJew6je(OlD;zd?e@s8<034L~9C*-yIFPk_ zH*Cg+4I5BbpND+5o1xu9HxoD)eLNLMvKDi4J?)XR~IKd*pA$LWB4PzTIu< zSo8B+u>4K25!YZ=;3%XM=i;H5I(0e@Jn#VNb0B8y(+gV|2OBojv5kV*?oqxTnqWXFmj2Vhe zFYz5PW2WT6UGspMGeeC}M91erd_%Oi?QP&{Ok2i@uueALvNXf$8Y^A##i=3Nl7Vs z7yEq^jRWx7Z_k0^VSX-7Ic@*sJfZhUT>8ro@yLS@;=umE6eFX~{$70q?i%S&l z3Z#dK6Mkbguj2NH6C{uSnQHC}dXL2gzgd6>#N2D=enXmr`@yu<< z>wml}3F*$){)=m7@1t-8_V4gRFUC`g{+JxM(&))6ND6eLmc~L@mKK}Dgl}fSxFQlbl24CoaFid_SFp`af-1ImEMvp)dX%?e_hlJJTiG+1f35Z7`gSri9oT57!THOA z)zGcV`HPmU69dFR*cr%)dxeidq)dwzKZ|y1cGG)OW5z9KTE_Nhgct}30~t~~!%%?W z?Vu2{;;eTEV9-;;p2xvW`)J-hUI9=(OI9sow=5_br)HKI=pK_*J~2_8$5?*o_UBN? z-d-sm{TdhIC--lVyU?{~XY%^Q0}eoOYa6!jV4GWQt;Ob=tyuf&vk>oZ>?&fvyOxf2 zw#mq}lSGZiKXKVtZ%Wj2oQ87_AHwQvc%={9gsZJ54m#zGgyw&6@8e&frnWBm*~;2` zH_pRZ$DM|=&i*Rq{P-2@P1G^)B1T?wrF{5Cf*FqVSlY3DCyQm9aV(u3y)kC?!Evh# zUdG0~Jyjld%>O6;tm;X>xb4@^p+SC|ArmRC`5!KMG$DKP!Kln@L0;u_T#)E`@!NmG zTkOrFG7r4H@b_2XG{(VMXP<~ys+!WB8TB|!aXV_PGRoy)!yDfz?~ua|SBl!&+xd22 z>Y~6rR;VR*0u*P_$5F-$1Y_*I&FzYfgPAS9v!8s#(^KwYZQV|d47=pE4msRAeB727 zy8{ZOe3!sOJ;ZnD;YXm%gWU@SKD{$9veTo#s%j&6!9xMtvCoU+=~rII$q&DTGasFg z_uETRp5F`Q#ii)gyPPFXA@aIdsu%V~-`;~TpyvRT_8Ej&kG?Ded2tyl=qV|~fL;SI zkiDaQbwL@9(9Bl@EzLN zi?yF7UX{v<`p!FiV49t-ievH9YevWWUwQ${8{-Rhch#!o`{Zx@`Nh&JScQoKoOE9m zR<2x$mFs?wX+`O;C*AzcpK#uk3#4MemvK&FXTZ3X-B|JI2l3`%zrh((dI{sn^O!GR zklX?9y;bTR4296w&P?3QMMpqqul+XFiejC|@Uxr$iY3*%*o$BjN52U;_3X28_SthV zR_A^7LQH*j#_#T$jmaX-8}B$rXYTvpt2h5v?aJoWs=23Q$e^s@69ox~;D*ydaxPaRD3LGxrgeKAqsPayA5$Ui( z4xSTDWQTl`LI=+{V~j^a7lh}4Xf1h1so;{%@%yt?9_-G5)~*$Ou9K}Jo4)0kt>WPS zTd4OxhO#YcM~MNeGasdx2rDr_40y*tPTV817DUz@dzSz{TXM~iYXd$9Naiy$kQ4K# z4MKaZp}=HVBW?SVoA=p;ZA?}b1olj4#a4g;DnIp@_>=KkjWyJACh_WFPghCr(bIF> zCrEc}z&ph~0}jU@zLK!F@)jI<^HbQ|7T+MLv-W-5c!1cPiOa-)jxHQ9Jh>^31XnzOs0ETH#xBAkT!L_#`qJzj-wL- z&s;MN54^D+dsx9>8!IZ@z4ldHKjqwH-NARhKL&MdBm5;K1;&D>n~{gS^*9`u@1fETXCjrX%x z2RE@z#$p|4-S7e~IsAsC@Qqgm+JdAp9~xFu*xgoJiFL@+F3~g%W%AU?*vo#YzVeIZ;ID-1*^^gm za&5LV8>=3R7yYTth(bWN2~Kin!10qNVe(WqQ96emJX&>bljB>l+#S9N4Br$3d|ID& zt~owll;8=zeYLAxgCu@G(R6AqGfljtFEv>~XB+C+PDV!@a-hbT^UIIEScCV+odlE( zMW4JvR=F&SBI3D~vMjFSz+-$zK&2`A+2((-e5~fX2(p8hEADP(J6i5#mAo65;JZgn z!}J5DDPw{EBfYOY?zDo*utB*7d#UQt z(<@k8o}u_qKHH72f_;pRxi{RL9J=VyCpE=@d? z9p_@=NWNoUdO>2EsHYv?`<;0FX$;|i6qGMMa6R}3>{0#It53rT#~zE>hfZUB+bNKB z#&1W5`P>(cn2vK8y2ll?9{+R6Z}8!rmtulc_}I~rD)_l&_LuO;WKBMnbz#|pY9>=mG>S^OETV$ znpu$rL{-qtlRsjB7|0z4#GOJb*E7@>YO1&mrBiThv~*qA&=0Gqw=Bh@u)d%dDf%Wd>e}8<}?tzRW&GM=SH6dPgIdilcw;-pg?Gy*gUw{uMVK*&n-EO;ZPZ z1L?FY9>n(_*%x;$W3q4GhSR6t225tPR;<<~bxgrOp1B4CJGMhx64;*SU(%Ubj#oXU zP+D(kEGKVj7A(v-a3=OUUi#yw z+L{q#MS%J2v%7H@(7?7_WwIAy8xGiSUpFuv>&9X&tRC?*wf>%USg;`8)wi^tdQ7?+ zIAWr76>o0(bYY^e68-vU7IT`kdB-E?{Sr$OyALL%C49VZ8M`5BKk-{_Tw_&Ba=*N! z31AQ7Ub+md>Am0l;b)+B$+NijqzO_KOYzhLKgX449?f2f+#h$ouv!{3X*%S0{fFjr zAB(vp{gQ{Uc*$aX^wCG`{1G0wmKEhCjvG%oQB@4cyVrmCW@40|mZs&2Tnxw-B-(iK zc*_o~N<3rxmiChL)y=vUuc|vTT=4?J6YqK(^L~9*@~wy$ACHa zV1+ilT|g8A-%ydaDe&T zrEy{)3JmDwwq9SRSY&y*ok_>C9O-_ll5rA12SWm2}4+R=rlA!1EFBRU@i^11BUD)ilk}L5NGc~ za%%kAknN8_C@ zUclF-{k)RJfT!GzmtOu&;&;du=*jjMYH96_OaAl;ZaY} zccy~x=;*}Q|RaD=3EOu{K z7ZWD8K^oQ{#R+kmLX+lH8E{q;K7DpU)6b7MgKXq1(!Ut_Fi-)*15U*#YyUbM(Ee+s^1jz)PVd}0zE0JNgo$>wzP=FK?y z#1kBNFjko|oYfe={sr5~uNAwC)$dhLY4L2(WQA^muufKh%Jx-dcT=`=SwRmBul^J_ zoqZ@`9=+l?g~?*8?hV|o>{`a;4?7a0*zRgEjK^_oQ^a{M0BftZu)4WPx;vNcShFbU zgcnlrW9-44|NpVi=UBIOFQ$zs;@$R+BQC|a$E?J!{`L;jdkBYKJ`Ee6xD@>oK4QI7 z_;A*5u=ws1P|(B*Fb$3#rGpJd!qpwi)7GtP@UglTR`#WP6pc6ZPCI z{SV&7tB=jayhLH!o##!*(2weH@pz*gPMLMeuRQmgwzjdkPd<)Q#$C2fm^KAtMx=@W z$A0Ht-2b~%m0J6Izj`Om+IAnNiYGtwmBIwfeQ7aH8dJdT{YD@PF}M#~qU<%oN3r~W zoaO(2-&u;5D<-2Tk$bXc>8Rt_CC_!MM;{z{**$pg@}FVLnpODx!}qZ8omcUzhhK~v zc>AZAb@@=#K5>DrKdWB!6JP9wn{9lYXE0&LrnWtjNCq zK=#)+tSGSD;`by;J(NxUov?48-l%0eA6Bv*5TkI&Un{J9FA6dyowNzkJ^Av90g-d@ z9j`rb61K$kASC}y7_BZbJNgLZQGaL`9{jPcA60kg6}+lr)$diyq+f9@ujj`ql1#p> z+DMOxdWeB&F(9u4r+M#GFIr5cqwTJ7GbZG;NhgMSbQqAc#p|b@jyvii28e->F(BUq zLI%wmoInGx<4l(AK6h6+YHJf{BIUV36Mr=9KLdPDb(Vy9L76h7GwweyBM)XtXb_Or zT$)%~hgQS!wLlyy8XZTIP!vJ&OP7Hu>ax8I*er@=un@u_2SLSE94I;oKOi?wplxHt zbVG;C#@r9;aN|-|zfsqWPWJY&K|>~D;;8V)F`RCx5sGQ^p9OQfBh1y zuVHm9C`4(+FpM5uk@y|E>Y-D9QT`-QN5=EUHbb2hi_rx&t&};C1{Ut2UYV6p{ ziVF&Rp{#N^%1ZK>&P+6%eh=G7CGKClypOy5hq(NXZ(-%))!4q5VQ0ES_L+p?eG1Xa zYJ|2*#R~NdYoC$|ochBju=VP7SiX7_8e2M1)Vn_h4;hVNm3>ga9BdXlBr@+6Cq2Mw z-2TB@Kvi{(a(4BPHh;C(2FC3b1gebk3oUJNFT7VJYT%p~&VA|lo925-1zU;ND+G49ae|8VPIlT#k z*NwpU7BKafuEV)^jKRyd9I4pqV()Gj`0!*cdOkG7;I+nSu0!3?b6~2_O%zzlfcLKZ z0Q2Myopw=a1*ROzKgZ*;8-9po&;9}jUv!ru`TBdSSwY}r9W8a2Q+|0)#E+$TX<-#k z9x+O7m|g8!^qQ;J1;<+08j_B#fk)%Fx6i^cKmL&QK7`vJx(rWT!(U~cepKx#VTC^? z#i7ZyozQ>k-}q?mS?m?N8hag|( ze}GkcFJMKD)@)gq>Vq#`em(HQeQZ6wfcG~}#%qZ};ES$0Az5r|-5yCgVL-1KP!#_0 zBETSv0{OF&KQpVhRAbn1P4S`pMJw?zuBfQQisehezaQ|OmviA5G-wdktX+?aii*g^ zBxbav{PcsJ^c%p7;4IiXOA0b;;_flT*x0~M#;aaV2}3SI33NAx>I79KrYkz^8QQKP&7oIVIT-MHhswAyeMw-)~y)AekV3`(ku*>2HRPo-H!Tt3@RI_ z3b3ZO4i&84YVfFO>>~}ao7`45#*e|}!!U9{d~DN}hIk|KZxh=bYd~qKa@EQFceLx* z&@?xLpc@{>htaP%Xw|HTns$06~=+d#v;%jeD6%Y#hgGaJhgagh2+r+D;E*?vT zh=tvFHdQyU`%f2mA?2Wf12JgSILMV`JL?#~c+e7;~U*sM5E8f1EpRAbzxiRWawW?ZbMp7nAdMar1@N+KQfeotR$zIqE8B zU={Mz$;pc*_~PU@Ild#Hs9t6}1EQfCw-4>anP29+jQMwT6*0UzNBgc7c<{Tk@V&>y z;AOb(OmR!mJQyIdmp_B_g^$g2rB1YAN>iJKauFV_zX-fir;v8PdpNr zvhKgK&oke=6<5yr7Y-{+&3-Jl3lCq({PN-_oQrq2{W-n(Db~zr>xZkKn2$vjvy}p} zcketIKiO{?Zaaw=uE_X)ihKWkI(~7Qz|QTmn#-#H;;L`_1~uDbIObP>!A*ym6oSRo zvifiNSW!IrJm$SygIUL?F!N%&SN`}w8a~eF<3G6(|K8M$;<1a?dDj3$;Tdv z*|-bynPyXC>fy&7WA8nV-7!%6$F03%+!Map@2Br+fuXCmY-TjV%*NT^2jq77xytPSWHu& zPpHnu`A3arZFjcq;OMThnTi29C%iB)=%PTrOW+&x-@?#gLyZgK*kgvqFL;UCH{A~yG)_AnXo41-?YiO&H|5tbq2)X>Q(OZLwn}Y&Py` zGLf+`Gobt}J^Rm*?EU|Uy=3Il##kj=qNxaH*79n8R4%N$E|1;R@(b8TP3+)BeL|jJ z%RAQbYx&^*s&s71GNRqaiud>~cloh6Hr~&7{?je?ODO5#9KUOSW-0%o2$37 z6ks_Z72UP6jlMQ9T(MZ5!UInc{uWws@G+yKh1CUBRqsIo+h|N|vciiLjqkTm3Nv@I zVnMEx$7+$3LQ3XO=3MyWuUqCHO9xMFpHiGvMp-;e*B2L1fA~vH!*Hl3O?43lbirUy z!ZwPX_46U4VXqL@)^203hVF}jJ{2ike8N#UrtT9=-nA0@Y*~!STR+2LJD1_2&UGl? z+koHwKYQl^A62pa@n1-Tgg}7M0)!SqlU}4KAXt#1q97tZ%d_|Q?9XR?#phpr&)$0% z1qBfmQ3RzG!=zwCwKtdwwipYRZw5i0cmrM|4!ClL9XMBZu z3m0PEym{iY5DVwc#LJIdg~nNWXF%Y;3m$cHliqX&e3}}pNh$k&&Jk$BGTr* zJS_X{A+$N;@7naeaN9_S6I$IaxbEo->~+HNsKYqCzjPap2=DT|O-u01)uZgrfI#;B ze|9?FRa0osRHyX83#(q$il3g+4WDckOhuCR4Y$|4a(Q3e^71#xJ6wWe;>g@}^WMjw zx=+HVix%Oh&A%h3O>{VV)N9~~1p4&E3-I*U>u|WJ2>Z7FBDf8~W$)~;kJxdM(flfY zn}Io>&cTfTT!_EC^aJvWO2iAP9Q$@G!LzsDt~dkA7Q=_M(;8Nb@V&k5!2+cd-5U!w zAun&A2y$s#kACq@9f(`*A87C6EevZp1=CiFxj!c6e(fCGKC};>+N_xnxQyuck(Y!6 ztCAMtyeGbw{*FqjPU?djo=}}`U%-GNf5Du!dr%_61n=Lu79T!(DK2{W3oH_AWpPF) zG_}9zTa35{ciDB|v%Arw@l-th!Kaw@!PB_3K}X#9POe&O=~`WV6m#ax!JMz(#>9zt z+H5#piSlFnuxi%-aO-2z8Bio~YI!Y4(JRLv8QZ zXuUcy;X-l3;kbzwFkWZaF{CKYSsSG_so-OX6gz@HQug3ZK+eAUaj#_w3Dkr@p!OE7 z(3;GG);3Vnp(%{+3~@yF{Ly+6Ac4RUu>H|i;Pg4ZS;odr>(eNF5)LGD>WW$dV$Fnp z*~lLK>D8=_Nx4?6Wr99Uq3bEIL-A<0$4a{$R%8Nea?rK;H6$M!+1`IXHd03Jr#Fi~ zUHL*f!1}9BRtfi&3RH+7Rz{9yuBJ&DDQhGzo&MC1Ydg#Ly75T|z!TyqUHNfx29z>7 zIm^0T1f9p?a0ZlO(m}FXME#Rj*HkSW2PHSXGoY)C>%Hp!Qz;z!q{E~9xNCN8WwS%d zmdiO3S1WVmuEn4v0Q?NJI{br-Dg#rdx7-TC!1Nj}EpmkV5r@kTqka|o;vaQ!8$2sU z%>q`Iw|h4R^y?EaeXfcc38#twOdgGImj8kwBZe!Uxyi}NB6Md1WapLOVR1aF5;agh z%JMj1@qmh5L7bJYkP%>{BcN~?EI)?6hqvOvVO=rm^r5cZ1oU2uE4KKbxM;Bl)m{FK zFF*M=Ms#pFYFRj0J@?a7_-dHVE$W-crsA8&-1S`k;$m?Ot%!K2OQ&4(9Nt_v6IZ_@ z3m4+%(fx3VdIWVcgEQ@s*E`f!cbut8u;LO!+&mx@ndz zYTqjpF#Vc+xFpB6ru*IS3Z7lr5x0LTTK)PKrVM+_wYj(-k00)r(G~6MF`+FU-tj$t z?{KC)65wn+e3Nc0WA4HeT{q&M|9)$r%e|<6_e=5Sm3P~o2~!(@*Pp!1>GhNXk;zRfqV{ z!q)a%Yf?33ZM}Us?Fnb!)(OR;q$_##p6}pTob7OpNnKUp>fiT%rNuG(48-){{F`gv zTX}8~vunrmuvtq2At4ZbZxkP~gkgZ{&t*PZN^ue(fj|-v&wiZ!3q+)UkC1zY^Z(;` z*|^l|5DrXs8N%)Ywh}zrZLd^us+}t1bS+dXEnI8R)PnX%7YXg?L)%-Vv!{It33W9H z_3KIB6g7O2RvdE~>k$H-c5tT~AE5a1$oV4cg9%d9U-NzJCQ`+vBVeeV0gJ@(h4CV6 zX6sg&LB-OwOJ|H3Iv77MUWS7r0^7;NWE?In$C*vyF|}QNpjfyp6_)~KB6^nyV+x1| zJw8!GU+S_LIz7B^r zevP}vc6Qfx`c-)Er>){B;ht`F^0?oNpFf1TFZ~tW-D-g=9{m6t4vM3M(;W{?Vv55N zBP~%on^kGu=G=$z)j!U*YkCV;|8Jp^&**<0_N|?Tn}@k~()IM4@%p#x@aauzgf*K? zVv@QUry^1HV0CZqTS>Bg91WZuBlSwG^jlq>j4_Yr;q!m|N#9h-pEmIcEZ_7K?y^Vq zOR|UOm6fU8rU(w-;O~@=xlz=nu*?>3hxJXw9G&t#Sp7e(= z;ydD=#kqL@{tKP-%A27#yo}tB{|}d(VykM}B*jg}s6fA-Q|ddf4NX423+|eByLS7; z=c~0m#M5xq8~OO^8Jp9ju0mwHE9-Gh!ABUNTaQwvI%6Q7J(`QJ-gq20U3n!YO`3$U zV=u=2Pk)ZQX%FM(!Ty)#~7lDd|=qe+Uo-qJAXxqR_V{7s8&sWldvF<1N(Km2wG zlTWcZF{*XdEkvW2ENg z`jJk4(&5irk}^_Owh4A>mDy6frs9>OfUWe^s!baaQSguz(WsG$g(!hh1KVzB5Wk5> z8;V+Mucb90g)9lyT8t4raQUCfHJd(l0R;N$A2!tr&#kRVdDg*N5(q8Kb#lPAyfh&b48`vpTr28ycMksI#tKqjMCrngk+)fchM% z*T}FcNLI)}1~{qQ%&$S{G{9pBw>qB)`6L|fk+J`XBVd0}qhT4@{ujq?uvL)qcdQ{C zTnM|eO2CqwtKITm`?yxhI#H(8Tk63fWT4Jb8I3v11F{jbEbhj_*50i+3JYRqBrfnB zE+sA%k#k#;F+l`WDN#P-n#R5}pd=qRZQ3+tYP$4rcE~ZD7Skuxw8FzXM!zD=+Z)>9 zN1eQsZ^Hzfot=r{y}KjBLIkFe48o62%Ehs-#TC^^ ztU8V|q@hI>+oKq*jH8|f-}aUURr%LOm#SG zd2bzg5>@3#aHvq8{hlbslP<>NaMbf;ZRPP26qOto94e7ew?5L->w68?8YhkyE-n*u zTQ3pG(t*_=`NOwLteHZoH_q2JV_-mlisV=eMI^8)aa?ajVm&lUPZwj>zcXwdDRPCy z!goIb85!w@y{~*`6h=Pu3()yN{I>EQw6yFEU5OHL6m+??K|T{A>RSD}CXSA}o{x*U zjf+b}yogTfU0T;rpFOeym$o?*Ux~8p`@h5L`v&Q2nXjb;a(C>+uUogFS8vxyyYA11 z441uj^=hvY-3gM2>3b`u2bo+Wr6G0NK>G!^mlY@M*zq3gq;y}2w}6Um?2=k%f`$Q9RmsQ zU~Bp(R}RCXJSVw&*nk6uJz$EWoHxx690B{f^{{*c*H;ZS`EH|^7GA1-H8;TOeC<9s z^6H>seDCpjcwQSg3pn2eXR7pC0~L2juhTW3D1s>c_`?r4W7H_+*k0Fq{e7s%ukX7? zc~`^L=b=VQL*G~iUuoIQ7P6~A1Xl6oh~dy%>)vBxLIUQ`pO29vM=Hk^yGuAqHm+Tz z-1zOU;7}!Va>iX(fwP4Bov-rl8hj}+wNPEG0W`<7FJBCfA=#3W5*$BX7BXi*i7quY z6=O$@5SwlVcINHD-UA1*ZrvIb@7RG$#8Hafayp?)Rx4ySX^U3Pn#N(5NvuO+8NJ~4V6JUn;_>!vQlTqJG z6My)|i#3yBpA+9l;>!rE%gV8)r>iSjwo^B1XB{OQUqjaEe^&}eKfM^AUhNzS^T@h) zajSF&lqsVr(kwdz$_5F-2{6MYVxuhgoa*{GuddqS;>z*eD}Ps<0cG7i7g})EcU8js zm?R(_>ep@9h!Wu}TR$yLH%9dfjN>_p6F=c(wrY)i`}d1?ZwH-h^k(Ilnl){T{rd{g zzC%YZ1CdM|JiG`ye}#2zrsDOg#76w-5Q6oz{n)WfPJ^bJ5Jwq z#z+elD-p%WgmM@`C7?bpLG2_I$~_H4-3&a*ShCSsf%Bau1+gon!cea+BQ+^@krKD+ zT)EfSN-QffQ^0Z(Fd!h;l~{ZBi-ADo6b0Ny{WIn5`Llo_;PzSQGw33EMnUf^JRJmX zh{l?XOT#nPQ1=@3V-LW-5NhT|{YeMFz5DhXRmE(XZw`TSqD@z;$I8eDs4imD@kRa+ zBGtk@d-6ndz?`s{mzbD{oQ@ro&&VN+vK5v|V5cMyBm$|~r(&GYEhFiD``6QO>b#qA z-GtMTl~#exKYfG;U;0Mt`H=_C^VzviYaEJ9RW4rn`!iU$@m0_w=kizaE$cH zkuem;vX5{P=+Zd{@}1hXTXzE!)Gsi$FEmY?HN&2~T_`UvN3w`m84D>RBLkbZ{E9YN zZIK}U3dVDiJk&3Do+X`XRg6xBHMucSs22NdqS{c}!w7+$KK5t#|gDKo2c*1$Uw@Q;98 zUt*o9%gpL7;a_JpYvr4b_JLXH(g#sb>H?(3Qx~iYHvx4KYIe94Xf!Pm9^77+2Qdo#l!%vSo+i5TfkU)eJ zNF9ime|il&hh2wF!qhEazlgtzk88T&^~JbjXk*vn$htrNJKlZiU1c0L!~TpP{x=E9 zbOwy9c?z>NIoa9Rv}v((`~#`f*2PMtWk6j1^X95{fitSl4R=qi>@fQ=e9 zz(Fyl%vP-|7_WX4_4MC1s*DA7!4RoY_p-64v3W4q&t@JpdabH~wO(~oAov7)U8-jC zJ}*5ZMLsJDJ|Ff#0whpN2^j5Bb`&0}9I({=%#yI98FP_Az;)Wx>C~+ADxgW$(u@S; zO3f8opwSrh8R$M#efqJuj#HHh!Znmb41)QgP^q7pQ1r(>NPq-FNWjtq?kc3-o9)$V zz56)KYusgPMTr+6UaGAl3Ya46T~e|Z5>VHf*cxQkY=?*xGC{F1C`u!R80`oM0rfdi zlsVl5M175wM2JZdVn&T|QbF_*@ZBL$j#a+-3|FsdMf4K#({hrqf!iaF>&+Gs`Vtc2 z{Upg|BtQZrU{0W6?@O?J-*EgmZw?mxuoQbrQ<0H!40&bsF>vs?7<2webk2zU=xA|u z+u$GXe}W2>;6!?7oN-!jG>nh*A2ZG8g*Cw;Am63g*&UTAf!UqBN8WATyam?g??uas z3do4Lv5=aH$cNi^>_p4VOvqz|ttG2+*0e>IlpLEMdxeU`kES&lzuK+T;jL@EtZSd% z+Pcc~K5_`C^ID@h42Y7*VM0qtfCQqDfVvNvnC_+8(aN%*qX~17OF*4Y(|4R#fyfW&f9(UvsX3s&p_R`tj^Vc|8-%L0K9z1jit%L(zETp<3GGg7NB>aB(5HgxJ zi-jQtU<@_*DN6k=uWUK$O#n=?pu%%+p7%htt!F6Z9*xbHAHeeN~3bKEDUXh5;ua*MP_GDC!~+LTc8N5gv7UYFNwb%;v$yTqWVnl1R0KuKCd)}6%5MU&@T7_WsEJyT`64P& zR-4w4zr1H60TLhq5+DH*s5yb;X$uOL>2 z6QFU_LYCR8ZO)A ztJ2$6R6Y#bcWW6^T)oQD9sywge1ZvJwojLv0yg$~E011!)3B(?On!ih; zpNTJTLGp_J`Q`}h1aym8m#tlRBJTf>YZv~=8f~q83QVV=S~$$gQ>}LI+J(3}bT8kv-cqt~%5T*sOZk%MO*UHU z>({T3^0G2ZO?3M&bAVvx3HY&4iMkf-Z5I8Jf2^g&jv-RVvZpw#_0KWl-jx~EC0TLhq5+DH* zAOR8}0TKuw0i&N`-L0`p`SF92A5Gl5w^AZI3R!11gHBeT6oEXla8yJH+>x7W#Y)PU z5s1M5I8jZq_KcVftY+o1?;W|@QCxgfS!>lNtuJ!l90JwRn%Wyq45miayuvz9k9~z< z|M6%~Fe~@(--l*RGtjUh!=eV0Gj)>y36KB@)II|8-P){aQ|#Zj&(h#qiyuTP#g~w+ z+qR*!wA9IwPX6UmG=1cNk7#e!l}J#wV4kJw7!Gys+yKT<-(l zqqD}7Vht6FwX}NGDiny5)8rbHYfU<#T1^R71-;9KdidTgic|@8|A}Q{d-v?Y=|cxc z>J-o}5+DH*AORAHY69K5cE;kR%aPftmDh2^iE#csd-YKq2=n&lqx^WeI6}BWIYzjm zqQYzYND_#Tk4I|#H1z0{6G>*pfGz5`Q(uQ-)Xx45SN)=EBx0!>sla<_zxjOoyl&b z^Iu|85=M<0h1~7iv1!vr94jeNeh=sW09;!7oV^2(?(#dr6<5f%Ta?pRf|kSqDi%;D7n$Melmh~Sy{=x97IQgz&m zwFZ%)NNhP`>BzFu+Dj<18dYcT`({8Y%pm9|o(0-3S#VO*OC&`&2lrrWdXv! z=J(eW7r}?YeM`v6qp#MXVwz&r>n$K&$hn;)1%GlG7ledK;&olUyh3lZTrt3(&4pjd`Mw8I9&Nm-)5qFr(@&!>PX&pnLO_b;;gGk2cbkxEBizqT5f742RRH0;G zbbtZ9Jl<}xH3D`D9Qu2nR=24&_!tc`2FQ89zvj_R3gkiP(mg;si?dxF`q#ho1AKy5 zb8xS||FtU&f*Bb|a%-~W1VDqp*c`@r3etvP4cByepLLJZ^3uR@Um*F2*{4v)5)OPT zdCWn4bI5w?IpHLNQ%PU@1ldMZ45MRf5uF|GLf^Df|0Poa%%w&mTVshvwa%);D2Ok? z-yuJbF+<#MX&Y|ZvoC>{X8yQ{`(q08F!Wx2b5PMBuHCWw)dy~y>jwy7LNs4L!nM&B z%rc%}(V=y$&jY^@;0xgey0=Jqs5lk-W%Ka=&Ang%%VJYaK0p%QO(<)3yyzaD2uB$+ z2=LL|`}CR%M+W^2_gjC@L3wA{e6qMg7zNh*MfIFVfAWi`8oyeGLtRYk?%`+H$IBhH8lXplcQ18Sd8ySH=ES!BRP zBQn6t;eVaNZ+c&wk0^QFO}qw|T{Z`VU<#m4?wd|A5oB--iNACcqHRK7wu>+9-iL|> z5kEpf&71=790VOebHxd8leN# z;tTEkXCh3<0twZ5ct0j3zep-0ufjdf$ZUY` zH)c)E;3dKz&qoB7XfjTq(5SvN~U*D0gP z8>4F!zbqTKWE&3^V;t-Ad8EmVD^1~X-Ydq-@#f@p^}-3dF*;YvkmvQjfa&j)>iKK> zLdXcM?NMJ1Nd?UKI~calt5(&>D_2UiCP0|=H2tA-PqLVs$i zQ@u>vZ$zMhEZK9}5iGZi?-;yCcI5}an4u=wp5r;tTE@q>uf$ELdzaFtdS{WrmVv8+ z$^LcjUn+*@4?h?fjp%4 zM$}%w(oPl&sE~ z0UO!d=-V8MA06gZuN+J5WmH#Ucqrh_mG(>SZ)irg&GNEui(YgP$5ubZxKFXRz!yepWRt>R@o*VBTSWEu_XpQSfc~X<0A74lh@z5`d_j*FH6nj)O13e`eiWW? zR;n4awmB>>!%5K2!ncmslYU2_ z!{6RR5u;sJV!M$HLGFia$AX<+O=!{CrxVo%J^q zWfV$P+L*FFAPxX?1#!4c+OxRsl#YLc_KnbYRj_-{o`f>xw`4cr9)@|+&p%rNeB(?C zxv97dXHwYyD|l+sKtym3K&J-9+SHE6mV35Jhi=yEA*>aH75e4#z#y z#RGI0Fbn-!>*0+Q9C)^Xjd(qNK5Z>(gzT0zFD?z70H*WlE-qFmg5fZ7=F8gbh)#}% zLo1l)|CiwTOZG7OhK`DtYqjC5+1uOR?u%uu)qRI}=I>sz-swCpw4f%2%N9b$V{ULj zV6y{MDcZv;uvZgK&7OZK=ar*%EMn`mNw162j>SHC%<_)Lu8lY(LWjH6a@{= zOvc>x2zFt-WM}2>kY;P}w3dfxmHJmf3Rs%tE=K8(VNgT9>Io*NsbZ(jSg2W+!OVyT zsSlZ7gENU)XOk^q0Znl~t#3aFPyB~70#^ACU%&9LCs?=0+$wOxK{eSKg&@UetU*Bv|?0*;>x!G*CzuDQ@P1l*o z5D^pqvci-6U+iMcFTU58bT(U{AQ!mGl#~#si`AK_p|SgE{Aox$9B38q^ zI8clT9}c3XtgO%H$J-n_-ECnI%70|gza`P%dHUdgKS3k&^x7}Uo&^gYNe2+<#7Z^E zAo%%48){Ly-Or5g1{T`vSpSe-e3wb_GJx#u?C?B&lE)zcJChD=t{={4YfI0-z@TrT zhz0YH@6bF9(CxAA32?umG~gB-TBsr#fB+hDpkdPu9>(_p+<^b+HWzb)#Ky+{f2QZ? z$h-?^Z~niX-t3de>o@uo#B70VcFg}ct^N=4|2rqbH~$xxnU_R{CjN&@`mgod11>p} zNgu{P+mQeIG(s>2;Pc_BCAm5OlxY7mUiUxe^UtaN-(Mgn061ScMkS{I1vB^;zZ{1k zN>&LdGJZT?QSJ0#7mmaNH0Tr#7z)OFa=Sm41AvMC;t{6H)q2tHke#o9giVW;+8=2w zmi(@+?2i{~MGmXAMiNA%qG5gDX9}#x%Vx?ADcPg*9*Ek1=xCviM{+ud+dI3+S!u55{Vb|3L z^Q4@YQiJUBEJhO;z+XXtu8{X`;9LN>L+9%$rN`Sv6PxX>|5|b+7CX?( zN{2fu3bnd_em+q+4mZZ$V1&T$-=%3>kpEOv0mc&~`8a^4b2?WVXQyV->HSegxs>c@ z11W{kqlo_H2U@a{+%`Jw1Hg8YoG6kg)U*F6jln|Rqy8ks2G;So5fYtJJwYlWS!z)k zBYbHEaKLszz0c^G?-e8`OwR{NI=gRIT|*B`I#B@jr(t=jRM}pSMq28x>VYsTAKNji zfL9MfF%~N4(Jt?hibr5n7|>|{C=3YI`0^o(he_mER3fm9X^w7EAOPvJZEONH3k(NBBQpP2XaIY+=xO zOzN>?xMEU*+e#QcfUr~MCvOcN7_Zvz!wB=P(7GPFN+f?+2JHg~zKr2D6B8YE8T? zugJ|#a$vKaZ#g%xMAYPv?kfmJp1xTHsqTd<6jx!bmi^6sTNhcV!mD;*+mJJq2WcS2 zz~{%~nyMz*leO;4CWp)Qs4sY8mR$2Q1`Kz0K+XZ0?3||}N}K&LVK7~A(nWgMmuIu^ z3A^WZLi5LZqh9qNt^amG{NI?Vk28>76rAZk6q?k~pqq#V)l9J*VF7;x9V)f7Z{?&9 zKqxCkepepK!>!=LQ1yC!ya)qae90^xEqkK%S|i9zk6ST7Q~I+sL66M^^lG&_<75V- z&|RqG-|gYAWV|aYE1`Q?4nN-k=C1Aa_AepD+h}q)oL&eq{ut_IqEf?PN?!RE8%4#` zK~lm2fo04xJFjH8M3S{GZ}hBkUh-Gz{sHH$s7i8BrZ5UOrCe&HfkML7})#q$|#xJlk<43`$w z9)X0uRfrn!wiWg3kF(;^V)V}b_Y|n=kH&Xo*dci}ui04uO<`4%do`w{BSkY?iMA?DbgXjN{w^a#EX%H>@^wazb#Yt4(a$_G_TUDxE4M ziK1>6%T>|H>5TD0>;qb$%I+R z3TQCs`18#I0Gxft;Vcn-TF%nN9>{G|ms8{OL`VEO>2q;WfiEJP0U;P1Xfbmrn2uRj zI6qfNqvpnfMuCatVvXGt0LtIL*RsuR=kbbe;E+%W$x+k!NYuvFStzAC)l zbfIQiocD9sH0CU}l$)iA;z&*`UlHYq5Ri4N_6+QFZg?6T*X0?su{(G?U+U#kvD6Fp zvm=}hNw--MRSJZPCu)X?=&ErrZz-R1CZ||c&@=*7&d3iLQ&trr#^d1zjXR*}fdrL5 za+8$V1p%Hts0WjV`QOo<|Jzmj%gaH8APPq+F*3&oY)fETJ$RJHs^C+e&6v$7dV-Wp z5IL$4=fFcrK_PEVxXa=F=`jIw(r(Pmki9sZ8Dn1+#c-^STk^!fk&7`R2cRfI;8b>C zKm#Y_(;-u?+6)WYhhd@z@ee(zSA*;RoW?>q(2CIjN4iB$+L5h7L7{kRj#S}KMEDf1 z2Hq%g>}i_rPY$sW7_jmD{OT7|jUZt$1aO4!=2HgI9I$1pF8Sml<6tiKw&)5(w-GWn z=iU$yh1NK#agfj=sO9(_5&i5?Kx}MQ=gd(M&c29FC(Tt@>6wFJZ0eur@U9~cj;IHAE4RKit%~6 zYb@vETTu+~4m3I1o`y_g{6*3!qKlL?wEWt?$YnFj*aruYF9#aiftcWCPD}kAjFs() zG!hgXRCa8%c|yws&*~3{$D=1JmDsB785^%Yv2PyEa`TVb7*?Hxqok=PGGH&9P>?MK z9y5NB#RC5VIxR5CmTGGp9xZOU3ojVcAK;4X8^H(#;- zYF18=flA=AlvuUX3syQlDbKd*&h~RVF%@SDU1UukKRKL;X=GHmDzjs{(M)SfO2~30 z=R!YytfnFxWMm}QQ5{3Qe)8AWC-=kvfIiDRG0lm|JrW=KfX3c<~* z**`?}C+uhfZ;n2n)zbnklz`5H*2^j$Kw@IEgP&-C{)@Jy(jK)xaP@-D4OXVQ@TvsI zMO^7a=hS!S=Yj~^Vp`^67@kM<_bWC0n7a=79V(VdUmUJhwQ96tY+r{wJs1$yZjmW# zh_7IU7|2T?IAAdXKe6XB)KO3^h9>(Oi=(MI9px57<9wV556_n@8x6`38KXDo6}TW4 zW3TRrS6*5-LHr&hZuUwi$WSOL*vX;Qu-&t*t0to*n$M?cEY?UP1EhWjOKYuiOw@TH zDQ6DN_Wf9{F(-XQU5Q*yaMuVMrvhk^1OsF9x%Y5h8|}z#FsOt%R$B8_S&<|u7t`d7 z8+$y8N*-vgxzM|DGn$WtPj!}OHA3emqm_!h!0cMB1dLiuZK2%uYmFDfTRKFB2=Uy_ zmPePSSvfifjWa3`ZMU%TWbiIdlrgWKG8CCHu3 zE7oISP6lHn^sECz_+JFVtBbh;qz|`9X#k=|@KJdmq zFuA($Dik2#h}bXn36JP z)#@9lvso_8q*DcjP){WG>J!n+2LP7~Y1lAX>uqg|a)kZ2%u+$b?`1qczN5#L38-Fe zcF>#6=KCB+{veJyMQV1vGls58XIzl3nC2gJyrgCdL5qRLWZCw&F^(mtq=W7JxZrSm z*PJBJyw$yWwzN;<`b1=|x?#E?Lra3cPP_R$6mohIUUN>{9%*gSs<+1=#B{C$tQKpN zdGbRb;+^!~J@{QEwn@uAktv)&wf%?8`ZDyB*Kw|P3pcQiwKt|2wdPr*{%XsH%^Awk zEo&7IwDoEj$NQ1V{-%kB`5A9B_=nY-T8ZnvAFR!O&DeGQUQNGQ6m;!Aoa+6WpDUW$I;Z4U*;I8*uoqL&;NKzVHKX=~MLmI!c8oDnbs4<7f)R{Y1TdnV} z)Ng>0*mdJC_wCIml|7v#03fTltUqu?X8ZB()2ePE`=NS`x7TD!@)x6L#@w^^fJ{@o z{_=6xDRKRK^PBN@2Oz6X_%YVi*|}E;cg2dN>kE^og-RrD!KBp5Bk;UZWjXA!d-C)v zH$%Id?&`<`Ldz{vdr4zQ{rzr~$K_apkg#>HgF1}f=H=noalx5?8;XjX1J@7Q)3t*u zYJii@eif>GjF$OSG`>K8c;DPsIVmvk;Z1q6+uWW7W3j*iJ7^3nm9y_s^O=N4(^1oG z&EWi{xK5X3aU}{v1(_zD6VftBav;IPsIR{2>Ilz%oA~*zB_jiC-)Yi&EXVscqq#b4 zqh-pB7TZ5WKt^{kec^Xfg&o-a??w69|<$5 zMVZw+c9IV9Cg*BrI56cZ$V44`+%i!Gr*t!8gkulV?M{O6A>jF~O)B@7{oqH8xapXYEXQ z{3i1krgqLJm5KnKxami#bthX$N%uF;gA8MX^UkCAbItIlt+(%B4-pqHE%rW@CfdGX zL5=p6(97x%j?^pT)4X|FL9jzN1(4MWO`Y=MoF`a7Wgtar$vn<}x7-7+c#UoGjf6HA z34J@~y_Q5H41Yrt{*DkV33RE=_N#Vo0Y7}wXE2-a=2^ExKo@{)h=6{Q1qgc_LBiVK z6Bt2#>BuJCu)ObZr$cK#_pkRKF6JicxJ{^a;{afD-mH|%SIEh-bt&FAX`@B)`DWP6H572-8iVm;7q!Xv4r_@r_fkiAyO7gxH-Fu;q4)hzc3D9a9mbq2SP>L7v!2{&k~k;r1jud8|%|H6q%5B|3u&F z?&DM=$LdJBDs0N_s+LD*>%ua+?BdrWFI2J{*kyBZTnJ+}k{fcL#s}C7Lz#pd59`w? zlOrggOwE;yr)|%kQx#!GB=nVLSSH}d3XWx_v_lUScu?f79Y)MNmeM!?>8Lu~Uho)S z7o5bU>Fv0#Yu*P!VsqLW+3cC6MyHM&?NReogY6C}&L-Wd<4MP2Q*(Q6ob7O^Of2@G z@g&y02U;?H&@x^oOS3T&mr(A&rbD2Hu8I@tE%by?Sg_AzD zMkk3?*Q0G=hKqC~qRzip=}Z#S7_-%z+)sjBp6Z;rAC;l1T3V9#OYZ$XP;+y$zHea^xF5lWi zN*eXK!Daryv}D^+sYf04V=y^^#y=`;7d2(|)guEO9fgLZMKWr)YbvzvfNVh?O9tae+O%tKkxug8TjzfP zbcl5{XaUzKn^z~^+jkl5@ROSGnd!D%jx0ZXr2UC&Va$%F-RSr>)qamSz8+Noh4?q5 z8s7ymo=nN>ZWyf%Aml@ao04P{6W?ET{U^)oc?S#-(^@PcbiGnPB--Aa7>*&N|2hX~hiO9Z$tasYa~>2&rlz6W(Br}t)RhS+%PnO^Go6cuKMpN32# zf8yca=jZc8V3{$a%jQ`(++HwgV+3Vz0gBS zfHCs4-xzK0Ci?P4ptRlJIM-tGA=sPW5A9(VCtBDc#VU`Ws#(`g&-*H&Y=z3AaYxE?ZxA#R<5Bkb z#1h`RZm;k<^F#aSM_>NDmTmJOKK#7XY;1CSt~+RcNzW|SaQz0U z-G+L!@l?`r_-kDKOJ#jt!I858wM|pH>k7Nw>Fi~9`M^bQZ%UeF@@37;<#3$fy`YOb zRda@a-D`m}H4spuy2}bJEZw-|&(wFSkNqq(&ozz4R~edtBG{;*h2Kc54GC5r>`Pox zu(-`28$xffe;Qm4BJm@^-J-U9udK9!=m|#k+`jIvRo2Zg?{bf-%eOh?Dk&7JUXt(D zHQ%J1H8~55)b;G3r#)Isopr2@o{t~llMCY7J_@XFmLvj$9lxJzJVkhZSoZ>Ltj>gR z8gX++bxmZHgt@G$o)aJG^GRdQhgI>*ZE}o%SX3T%|^Rlt!WI4U%|d ze-*cgs3VOSBB$=3=};P2rn4?Iuyzo29bq0S9y!XhehVa{UiPoz&CGk~GQXoKuxtp{ zbsKphobD8h)!#e9^(+$7Tx)co76%KjzjD@Yja|^^l~v#``)qc3mxX_+#~JkkEVf8y zE`5Ht(K~D*$lZW1@NLU2`L1Hb3$i@zk%i?Xm)HrL2i^qMf))k{Rb<#oD_q8;qFO`` z@$J3sZu;iYzQ0+)W>Bh0xA^+t&GJ#>*(q%zgz+t%(k9cTa&!PCGo575bWkH+;l!oo zb)p6fk~b57lO3kgQU*K7KFCR^^?L2o^XT_@Dhc7K(sptsYzMPaS5A|(5;%dqizK#Br^RwZCo>Z5Ib!3YJ zQ>)2p7w|h-CvZ70QDh$PVYKZ8az!_$J=V+*Bg3IElFWd}laNu{amquF(1A7!8att~ zqP;W)j_viwUG`bhjb~4-vd;=)&!fqgaW4}+!6_%vN(2LGbE7h($*MWWw_k2Wb2gjB zUc1d#Zp9Roy@>-lyJbp0LM_&FaBGOHzfF$Xq37ANw*SxWSpYyX0K|AIGorIVm^vhuY<>vcXQRXv`QM+f9w}Y7K-`W&epW+oI6sZ9 zCT%ZiwXN~8c3><-2HrqiMELG-mA-J{0W;6Fl?>5fVpz0Jh`pA=#8B1IT(V`4CVim| zde)zN#0>q|@lfe`Z2x}ZEwMm3fjwY*4_+k9L z;eft;z-5ocHrysD@_4omx79Fp+4{=nM&irqdGFvIaZP+{DE}9Bv~pGEF)iki<`>q_ zB+lH01D;!+#^TAdprgIXA;lx9?HboN3qZN-K(}1au}qU)Z(f{k$|Me9=NHPmdNP+t zc@3*`MqY!*KGa-;Ii`H(-$nNwrwL-x`m~?&{vsrqp@n7-NGUf@(tS-&CT0x0)GH+i z5ezC_Ef~BXM?ZUrwU(2OP4{%Z-k9fA?UY0;;n!M2$O8MUvV3KP*0e1d<8KO>ky$oh zN$y#^=$+H#n#5O5qQ(abm#lwzyT27;gYEUGx!-uNaxD8-{2*?8yje+pe>QEaluD-e zE=$`i#SXiPK9zNTwM5%oH2hUY4a}v(P@gyB#@V?iA?XN0(?19Kw3C841rL*Kr52(0>FYrM0_~_d z*KxVR5<*F}PB$m7FJ8O(bF++I^*qANO#h?6gu;C9H~l%p@At4{2BR{m1#lW=Y~r$heAq#mR=vT{?T~0XOQT8+lGT}Q0!<8_j>9(} zHHIAHWBpX<_b4=~A1J209PH0@BK@7SeRQP~JnTL=qB2{UQc8ooWTLS2|2T2P$x@+1<7dg-GaK2<>6sE6k$?|N79iWc9i7e`CRyktx@ zVUGEP!J*O;rz^G;C0l$1$>qat`y zk5`;kKYL%0LG!bw%LVc=o=3>~oZS0k*~ScG0q`pNGU=L2=y3hcm@~GtQ<8_j`;_J0 zrqqVj^V-|vu={0$6)~yw@nKKJqB7lM%9GGNH}2xjjn4IGUu4n@X5FQ5V;`&H8S%%w zIo-!hne9cx((bIe^sn3vQv1GeR;;~tH_%I-IWlomM$NDJqtTM?&|Z@wy^6Q`kkYa1 zt25Bwo~0>Pgp=}h-6vB9p%^Vwa-lg%>lGUb>D8D;3C9fVGTSx0oLIux%(H`4SS((* z%q%OG;ZvzTFAEFH^)(ofSuJp&F4Gd$c>*O8mq71ljdcg)BQzz*G%rIF>MQL!iYAKL zU-^^`w@upiyeuvo?da+s70v+n>*enNnw0KIRNcnS#tHYenY#s@okTrA-kmnf<>xzd zP`cUV++A|G0&NF2?3Q^-jJW_w)Gx@P#JrIv zbhn%dbO}oODJEn7fo%-G<70hh?7daBNtFhrnd5qZaR`UtMX@t z2d&)do6HJoX3(KZ>?$9P?py3A?~i*85pqkF8Zv>hn$_0S*{~3rlsa3#u_lK-v}Mf6sc7z z4>+&qj2-8!!oz6Lt2mWs$V z-Wo6Jj+%-}(5z&yshojB0`K8%R1*iWTo{6ij7&B+>7|q~^`KyGGlsA+?=yc+yEQly zwK(4yXr2@7wW^CgmD!dJlDTfUa8!2Ex3<5NgSbEmCrDU>ax-v4Dzf!yn`aGnn zu|h5s()ki)CU7-WXPPvxa}r(u#9c<$xoOU3wWKIp$zEiiOhs$eQydZsLvK4hA0jxs zXxN*B{VrIN13$*|c(4vSV>n;&qZ2jk*rsWBb7Io+y#v!;II>IX`wkWB<^!3Ilm@Wo z{WNB?Xq)pCm(z<4unB9M=GacN7l_RokZTvHJFIdDnX4NsnjF`qqyydcT=7~XYhmaq z?7&eyJ#Ys{2L%0`!x>@{n~=FZf(5&($sU+$)0@#ft8HaD6{UdMfh{0=JS6ldysPDz zHmOn|>)xbLmT(}mY2utlSukgg5&YH;)cY3r_U4b=@rz|$SIuh^ryWQ-qh#N?l8(h= z`Mnne@rgx^fJxiunlc$iEmTKN9seU?O%okdVdYSUu&KO7b(gsWmBhXN5X54HqcLUW z4_^TecP922F-2oNxGFO6U3Rc(ch9k4mW|mRa90Lszu0ZtA`_2@_62eiB3je zeQWD;4k+`PIG6o6gB=i~eqg3@F#a)ZU zH^~ajTuB)gZ4%j43W%u8Jgk;yg(n9vtCkVxZ#PyK&ceJ@$;R$S9FBR;k5!X=anE*0 zsAnt`Z8q{A3>dlUSUZ*m`ulw+um+x@E2)(Q=?V-Pfrl4`rR`V;N~HZ>@&V#KwZ+-f z8i90)M`^cF`2+vqa`u`gcoJ6!_&WG zGBe!JK`0h!-_KWQsKiA_`ZfTL?BrW92M7+22U|9buY6W2(4Hw7K~c(!#P8TjG%!yYt)jIWS6lRzZtw)|v*63C{+FZX#VZU(2 zOv4)a@lsom6I8bRP9HDvk2OorP!{aA6n5BR_!R#=KMkawJk^JW)8Zet{k41Owyb$H zsYYS5-`GLaLkNnSatzm|Lh~}@6X(X~ZRNHGV^H_rN9ZR5afVjDZA`(@HveG2*daOR zAR;htv^)mXKoA*+Np=WkE-z}aVgKnl>}a;N?B`$rg~hGD{9HkxpqcBfN>O7lGvu<9 zFm=5lQim-E&uwa7R{H|ohCKF19E+7I$VMmK)C!ItZlbkD&|gvr56ZC##}39r@ftJM6nlD8C{~h%6NUjMou8LY1;ZQU zC#&gGPE)SXQByajf%2|Y&Zwa=dpN&l+~>MQpU36G?SsNe%r$h($Z@nyXZc?c7)2dZ zp?iL8Bil*&8lk*7>r>aKZmZ!bI( zJG)#r>9HKoic;JA*49t1Sm?Cw5zOg=79O5ai(v7!kIlz?6ZD!cK1Kex8Lf$>X?lbpn`ux3m zL#CVRzf>NEmG4ZoH**u&HP*$+FkUYGe+;( zrbCz}EKp<@zU7TC`%dJLceI4vg~~sG@w8ffE9|VSgbeZ^v%?+G|~rM}y+6=`}z z)M&hKmPvp1jB3-Pm*0)3>Uy&@3OGeG##T%ZFqo+@hiot;ICZ^$Ebo=uNVRXI!Ra8` z2$?6Yqq}>9POWQ`Dg+8@tmxBx`DGv8@;HSSeRAG;Y6-K@iJ)-mwoWRIE~V-`S7;_+S`(N`1s!uNhD=?CYfXGk4~DN zf7QfF`wprSE&xuI5*w)N^VNL727TvdoN-D}Di3A!W-^&xV1_&cns5bQ7RS27bcSGH z5t&jMD=&fN`7!VcyqI`9+6+Ha0v>tJDAT&I+7J}Vn*_VjD zW>Y=A(=1#6N!cD79l18-d_NB;pCPyZ`8(=)ALV5V|CF2{jw_fc&lL=x3VYbAfAP;A zT3pJh>3O_)_-9h+pQ!Yo0!|9FdE~8On=BzykHl@VB$XtjQ5ehnT$2&{=_aX>bx@c| z(yY_)tGPtBSdFfw{gsxHCejadYuA$x(vv=Yl^;2vPiL_#MH{g`Sn?*K-HvI%K4UDhc+r2LW53j4h?{$_$DXFJ*^ z%F_H0Ndq-w5>dZUx<(ri*2Q+&8bPN+-jK%rBVB<>$gG4#mzn+tlzixBqR!f&j5{m*O-tNhXAx584bF4RdM_rCAhUsgtullC9wB{+ zS_4(j0dbj(lFDMZe`;AioE%l zFp8n?{8{6X|kgARwu zGB!n`#TM}2XUFs8Dph*+wpW+WSUNgS@5)Vs`)7kWzHEtWV-~q`l!RdBMKsjw{#Mi% zub-ZzCf)JM8}#|kEU8SA$nIhc^70tlf|sZ+XKP%LP73~i3k?at4w6oVWUEOP@tM@e zoI{aOCro-@tTxQ$f=s3`f+cA=rQG3pw8wGG6FG|5odUp?05os^ObTgqQWDrnKda4l zH%1!OgQzEi*hg)as)Q{72GsV9<-mONjeNaMz}{cfY;AB_j);dHTP@?2EDIh;wuOu1 z{!XUGBZ+!eZl|h+30;-Q%f+OM9I% z+PL+&G^ozngO4rZQzAahz%S{%CwWeJH)n#SX71A-zg68$Bj|T0!gPJbUP#)_hwyvB zmuwRKiZv{4uL2;fz&|*4r>a~%V;gVA@2qLRBv@|;388Lv9Gnn8qlq;PRp7Z^^T9^s zv9y|+{_KY5oV2lx*55hXA9f#s%Cmo4KFowS&B|SCbJ4bVkHlB#I$T7WBYte zanL+EMe`FfFAaB5sBRXK6%(DH5_$^yS&)Nsx#nRAxP^x^|glk*+R-sf@Ox47-fPHBy1`L)V zAkg?bj72XZhEUmqqP{u9mb1p?0k@PQ$(+Yavw5n3ip8qqwxY)?E%wspb>sSif4K?D z*=FEnx%o!rz15cRHq`K)V=q2hcemn%z)ESdAZ4oweI*jSz5ugxkTysL7BPImvXm?+Qa%AWp4(UQ>a_oX9DoO-rBAv4Amy~o>xThZg`M93eZ zr4Qy7P&aDyH3F=ShV94+ zdY5bfl*NdedpV6s1@$ewUNk zg42ovK=mxeC|m$|SGt6Ab`AgmXAbHB*ao`+sM_5lal+EyyMu7Oiao;ziPuIR<)b8L z;ceENZH04lC=riHK4JLsU~y~nu400fu?`o`pz zgUiDk8aiqa+fB;tbJU}Yvb+YRgo{_vHh`m7?itzNjbgB z@5tY9d+GXglY5+mjc0%~}k2hpGI7+D>Br!HQ@jKjsYPPfQc&jid|b5`-x7J| zgxZ^_>EV`SoF+GTc2{gAnR^q{ zFjlj*kW%WvTG(|{z+Iav0ee$HcRmkQVe__Rt#>1>B2vWvem%IhTp~80JczlKdfqev znqDcWs~DV6*{=cmMqT=7aClc`Fc@x@%whm~Xr-t>Z5B;QiH+FqnDe8-eWE5v86s#1chd#o&Z&h)ItUrlxU-;rZqxnBvYlrP=XFkw z+AipNZILh%A%nu&9-OH=TTiQ@u|T7wK~zvcP@}K zGXZ*zr#lsxv|gRr-sZre{d0zCJedWUk>?#W$kC~k;Zqa1Cb9gUva@%2?t8iB-fIWQ za+3#!aVoo1sg&#ANmeO-0HGL|3HuAQe%W$_b3k}kOBEYScrTq?URp5(CIXP5txWj} z>i|H1MkLH;jRDwTBz74VW%($&)`80beb4K#54C!|&pbLbIiT*{l8!fbrq`?4!1}}4 z(%uMZRzG#qI*^(P^T@xl3K~`7=Fh@l8npPT$QzIO0!HQBytnVZxT7}u+_Sy(IbNYJ zF4&ZpO4Gw^F^xOI*Bw7>-Hu3d3(>l$wf|_PGG^O^p3@6+?p90J(G2&%E|)IbLFw?k zAvHpCV*}f*;&q-nTWGa_OR$U?d|8y3T`6Ea<{*ukd=P1}0BRNDtX?BJg^l z%Z#Nf2tG804ySjehu(l?_7QIYf<#?4Y;|D^0+>;|cbv3CQIC;4FKhPA7l({=%a`*@ zJMSVkyqg0C;vXcM+(f`S>rX$ea0t0tVJ!MlX*d0sP?j;n#w@e6Bb-hxJy_Q{KaAUr zoh>vCagQ{?hfs^Y;V0gU=aywdL1i%4S1d4Wf{S*5d=P>*XX30fu1wxGEq` zELhSl_s+hPQ7fU5KpFZ6^taX3Tl`P%JLz=ywhY(d!!qR0*O4=q;-dzqGUMIdPexxW zlkN8NxaZrk0F-1`Z=ACRQ|k2q?;7^^1gqY%FK4tOn5&5J{Z=yGb_huCO`7!d{yU4< zRcKDg2(QoO%W`)p-u5S*@+%f_f!0Q3oIuW+^Ec#3!VoD3LF*dlPUcnXy*2&y>qM6^ z9IYDDK1r@l1MI-4<1my5${Oz_dPqY zloHeB9Nt&M5a_|o^3jr8-wu|6Wr-l&xwcY;Yux9ZJk)CeeF_W+L`cXe*9)39XHwgC zyGjC;)*Z(8H$LZZjt<^hjHMo2*Dk%8_X0N6oXWk!mq_lJ-h6%kuEzZv< zEcQRM@2L`+SA*(Zsvn5x)U^w0J?EoY zP-K{*p7PdGai1#7h2P!%r@!i)ac%6BA3lA&M+%=d@qMTHAvy@bi{V1?vI$W52L9k_ z&WF9%XpSL2P&AtN1pa^o57y3CJqDl6e?n0AA>wn}I{)I18$TbvJU4c(8=0Ksx*9Ut zwA*~*K4PES^?FJltVt#iABzabTj5}d!%Vl@Qydv|t zJ~$LO^ETkVmHxv$G>M5=7e7l5jlfJQgeCkv>1U<8U?FqT+Cg7Ze?ip6GTTpelu3?< z;;nM_5sSFHyS62+$5e!`k5_DZ=VzRNld!7yQ<2@#szekC4eRIouK|^7$4Xq+ zQSuva-WM^a)d$-{_gg^O+OqfiO5Xm@Jj|yH*HhR%-pNh&#ePphucw!&{woaFqs7VR zNfm=b^emctg&iBrH5Ib0QSq({*s+M#r4$8ryNeWTKpLY@AUz z+^r@;D0M=-KRRy0l&p@rEA*Ej>h>;47okYiZ#P+V%h(R~{X#coYHOBpI=MgNKagnS zoHv+J);*o;K!}wKZQt94Kzt_gBUBdT$-75BYZX!AlM92uvcd+0?g0S#B zttndpvl~~O@E%a#gdn;NM0vT}?+uNO4v?Fxs1{=XKkR*ZJe2GE|4E5RB_g|WB-v6z z_9)68WoJaTY*`0m43#LMlzlCGvJPVzgRI$igBeElWtgmkG2{0*=X}oje7~R1seZpd zf3NdTucvt)&wW4FeO>Qsy|3Hd?3MqwNVoQ|PROHamzKsv9+}$9FDE{ZoNOwKmA@xl z?qd_lG|pr?qk?x{Z1CI)l%7bpQ{7w3c5CS14{jF`Etm-8ni`fOhPP8Z)xP?)s^ePS z`dT7h@WA%hly7g1AYDW42%>_~82h+y&C=e5tKl?5#L5J72WYBBc(enMKll_WiQGpA zGv4Tjd@j31FkI+pMQV4C)31oh37FO-@ExH&#j6zf%OR@&yePZ$7~{P2`6fGcUyVB5 z5$}a}pTmVavrpELxB5Ustg*{0OJOY6nyst!&t9$sT97Gfw^B(p_0wdN1(|(zW@1~2 z@Z60qpgRG!TdHO?96L~{)eyLV1$Mc~gY!LIz$Ot2yYptDVxT$Z6;cj@1evSg?paQ8C0y5H2Ag#Hrpnlj@+)G;pwa#mV$t2GNx#^=(ohM$OwI3AizbV!mZMo&Yn+!c)8a5?vXfxQX;vayk1 zdDk(Wc6RZN)}Rl5N9SQb4~!pS3QwP|ZP`b=PQ`Q7a)!93y0)avk4Ze2weMBj-)rJITahQc{tde zUx>#4VgR&X->u(Q?dE>eVTW`>e0(sE-Pl&157^Bco`a?7MoOd@ueHR9mw|f6Js%Oy zCgQFZyLxA?X#@xt-GH)V%*{#+Q)_}dZ#->}y+a)#v$Q9ivGrEENVm$(W(f=xr|eAj zZPyhzWVC&->CtwhJPDano8ttPUaj@B+?#L}YbsX^c=(=+pXh2$8a3E|;kK=Iq7x@Q z8Omf`xTl}(=6XEA`=u`MYLr;tfC6RwSDehWOi3s0Lv-^-H&VesPgP669|gitO47SvrkBn{DZ68qepqfH!y zxnau9oVvG>>$ZIe*%+gr)d-~0;HiS*P@Kxtw6O4A1PT#qq{m6>NCjF+HYy0DFbQy% zsJ&tv*7Z*-Qt)dRo(O2Rvu=(F*LGfRxW>xHO_Q{pyFGj?q^SVo!lv)OnRr$ok;EOs zNuq3TWJg3eheX$cYfgKmdxu5_>^?09(WjzNA+9kf3kBv>`I*4J?(t3kf`Up|OR9#m zUwBsHL%zec1buOOK}%Ju@9?bixu9(ATxj+$PKj<47dd3vKT9nVR+8 ztBv8I_RLfE2^T7^svdP(lE)YpD8z^vr-btwu{vaQRb8lj)$CZN>(Vr}+OQrF%kd!R zLEZRjYO0?GOYj%fU(ITMWf3($-5#6W`*zXlTh3jP5LOP?DD79iBTF`&zKl?s;}H*@ zYBcaQHF+$JTyKY)seXj5u1!bdB5>Gb)ou>PmLxB~2MLptSBj^%MS@YKwYzWwfz5B=RgH({m}UJ292} zeZk^Oo59AI^A_z#J2HC(zQ-^y}c9lNzq~OUgWF@2_rx#^W(kma)Xf>pwC_&*}c<+!=A@i9th9a$cW|)sdY?uGKAkk#Z%E zvgx{nPOx41wND2O(kl`pXXFO;m)0%Vjg;7|uCzNKw>+4Snje6_v1>a)T;9g+hm2aUr;l#O`pL09-lkJT<;nIqg%>0=lv)lqg z;Mo{*DWp}Izu|e=)n~7h`{i_^cy`3-9UrD2(Q-J)F;oL=H86P_ysbK?Cb%@gJb^0V z15nS13J-jTu*Zu zTRDcFAA-A&*rQb1-nD{iwteGp=)K})==L6iVprB+fFStAF;Wt9cD1kjdb>?JZhT`- zwuCHLbk>*_Xrp)nW;<6{Qw|n4_9gQH&jHEy4YpxgRZpUHK-lL~de0#Ps+$YTG`*ub;7a zrm;Df1DP}AV!BL~$I=Y%?uy9tScwoLkh^^BogqZ>)7 zyH01Qz!y?LM)A}Oe$}UH$vbDwP&=uP9l2U z8}rJUOo=%CcUIPkae**KirA%i5F| zqU`M)rkBNR`3W$!wnm~wBKOFBc!B&ghL1aoOTqONLfDwvre+?? z_cZU3kGe{{MRcNSS|BgCw*mDIOjdV?urwLhm9iaEkQ_&$1>K--9_tO91!LgGY#1YM7beima*K}}vAk*Ie|Kq_aRS4g z?-k2cMJ{$TDg5mAwW+)bXvd>fAJ~AvibcroPQ(qjd46unE=P>lC~$Ix?6ih*QjKbC^BsET^3Pe+|z)Tf=u}IFscQ)QXhE!sI{_*CZ;oR2Qb4ABqY5m3oMZHIMBVXj|OO1|6_Jr@YOfNv@ z0wjAF%wm*+X*a@)6P@3Za$nP3%TvXDp0Y|DD@nCg!+%epl+p~2_zkJ6l)e40p531Y z-oIVkg9j>EULzJD7{B}Czg$J7PFmU{Lz;$;_L1E3AKt$|bmYG|k^eTrAIm+a%WDJE zJNl)s1Q@VgGU8sm60k+rdS`9s{?Mh)bKfE2pSN^5sDQR9q3;frlnV2n8ZHUvyMN*G z!!NJnWWg@cW$GT^(eZ!X8hBopblt=1+r;Ox-r*AnJ>H_HkF}QqsF(z_U$t;UIxYr{ z6)p|L{R9EinyLFb(oQODTWTgqOvjN0IC?IXIM zAd-?7ea2V4gXM5ibY$&KBm!bnyNpL0NDj)j4N;r_6m*7-k)^PP(x zD79XefDJ^ic`nA(<;8(!0wQ%)u1_WPIw8&(qzZ^{zD5y?-iE;C%@aVURaGg3ui~l7- z|1X63o_+%;t(19;_K1N=WX{Q-z=YqYH6I9ICQVP0^53k^e~x`g3t;R%znjqiy!AJ~ zDA54IBO5r&{9XIx-~U+Gfr=_9dWdiF=j8d|Q)GAn+&(0c{R0yHC8I&=Os8l+m2%(Z z`RQr(90JzxMB4S>zuxi#Lf=aO$eXzty8H9fIsqs_?_W9v|10$6oP>7irB@RlR1ULRQgWQ-7WoPXZaKWDoW7|2B$JChaSBY_{IV58OZc z(liWxhk3;Z)3VRBL1Q10_hNo}$ak!#XoU$@Vn1M>zj$We0HEbRWBf&s|0V~2AlN^& z`iHN+!yf;-^^Xkx|A1F#2F&x=&vVD~h&wt^-&eo?Lrw7q`wUvqE$qx4kQV6nSb@ICEoKmDpnYC!#_g>fgbx_#N)bR#}-3au+^2d7$a5l~)U zpH9(ry!H9@zpAbO#Qz`zK$n|-9yuGLclKKkhd~p4J4Zv{4#`5!(JN`UaCa|D?dPqP z4}k3vCc!~bQaHXnxfVm%gwL^`kB0vgiXMnb(9pqT`bPp=xQ%45SUNta+gk=1kNR)a z?TJVJNIU*%Px1mbsrTn~-rz%a5Bral^B>u+M)|-;Y_O8J4@=kg~5M7pigkO?~un*r^gq%sQsccbM*Q0Y?4U&n~Gw z^JQhr^roZ6Oh>W2pG4JvK(#-YNDElU#6Zv4Ea00TRk8dh+x_=nN-tQpO$>PsO&I}n zUy#HN*NA$b9pXzd9-t&@EiW_4qK`{W#S5Ni4|# z+?;9l(~f%8dq7MCyhroeIVN)w7ctkaSPG0QtQhy4I@z(*A@uX)@?<@jij@xefo&ta zon2=2<#O!+9!u8Zzy@5m`-4}L`HL)jCoAUOx1<*o*x?ZklD)OAxUQG?`}R}IB+owc#mE|pctprFlMW|Mpix94=6TRIKyI^*{Pa`)U!bFNKxb&u*?qYBYl zWSf(#mN5W75G{h4?^KOw{Kklq2qhI2mAwfm!$#|FIrMwe?8_4?{n<^7u2>=Ov4Exd z5x8AQ!Bj@L(6`BU54s0+o^#B{{Wo&$JfM|sj*~9mpF)m2;CpG~*Ox6i7F z7jWSWs*-^v7rAAO{lJmyq&{BOk9~;Rs&-xHUTq&k&a!^xNgTcEx7542s3^b$fTWTQ z-9VuQ*FL!c)M8h&2{*cryY`vX_Aa;DWOHS357IO2#BNXj-{tGi6?gJE#COEymnmkt zSN6EuL32)nS0#C{#l7Ukl70l+>0;u1L~`vRTC=F%5a-<)=@~Ay#zT-5P9ekmOV=$@ zgZEfOElziLCvXuJcJE=`(NO;Wu335-04f&o=fDJUyGWi@3^gr zU!62GG)v4Iq=75o9`41_eSH7%&-wh9;>t=Tr zsKa6!)f9-G+fC@M7XeVxJ5G4-CY8M3MktswKzAj3$ua%t512ya5L1Us9Yw(n*gw|f z(wW^U1a5DMk!XC6Mz?g_nu!=y`;9d}s#xBC`{t0Twd7hW zkP_fx04IC@S5p2PZU>p1xoq=Ib$;hw?FA8H$vc$W{R0RuUuVjb3i5c!F^hLwKn*k#1a6nPA#oQbHobx&@08s3Wpn;)M?i;b^6m#5oI z*lfdYFNuH~JHd*l9OP?Xaf=Ikryy)3wbopU$6^xCw9Q3kw~Q3laKmah3o15oC!677 z)tsAohO8%CuiLzp-g-@*VnAxS8k(=O-hSRKx38B`g^MM3bQIJ+zB>iFaGYJ5S2Fps zWB%ezf+5u4y*HJo9w zqC!cj_${m(MtU+0Wxe*yEtqWZeM?QZ{Xp;J5-}Wfa{kU2AD8G(s4ku>KL~vUsk2I3 zMkY^|IJ&k4Z?Acwh+kW#X08`DZHx1*BTf7@zm~X~``i&dZd9O4*Mho2EZcV6t=#O& zX|E5oOY#KLPPno5Gp-22=a!TR(EdVUB^l*6X!E|F3jlY~nzi(>NdSRd3>22*)<>(c zs6O&hhIyX3{n~!3x2x9fHu~GkONu+@VRKo^IvxHBHGZF6Cpi>J&?MrElTBNu&MC5B z^L^vj!4%3iI&t!(Ax`)7WhXz2k1AIx*C}d~u#&2z^*7*_8l<+X$)|^qotI};^As&O z4)A?hC!%(@xl-I}{&kf5PI#6J$;RdI?q)d8-jCAIS-L`=G|teN_^}h?R}55WVwiS`(9I6 z9pouxKPp_~ZBn}wq&Bs^zpY#?K^n{oaXNtYzc=mDvW~nuRq+N%nl9_7sjX!IsuOi5 zkS@8A9OGuJ(3?_H?mCrR2Y7$)L*0gx4DS6?nkE2e=mwEMTEe^PVeOO6vIHRqwM*}wKtbE%!NtNHHm(aLGyHR|wS%_BgYUH9 zZ|EV7Dmq=SLg1-c?ce}k2Ygw-w|E+?HYDDMe#l68f7`hXkFNKjv3;;X5 zVi%W?x<$w*N}M#M?DgeY)jGYLlt8)LiM1}5iuof)Yy@mU04D&s~awfP(bIeeY;*L>F(3Mh_RKj_AoTFdf& zz(o!(f+0WO<~4@h%!S9@atq7i?nVpmkZ_B5jyeDJ7ID%bntt$h|Hk+`YKD_zuCc(fF);+MBIn2MSU2VkLmCGhpBEJBvzM$IgNa!m3DQ(~Z#7r;m1|R-wBvP5b`41ADgc zmba1dj3Aly!=3ekxt4UTncm0Qdupev!wRbclJz-t;-y6uV54{3Mu@e{*(hS%uz&wC z;L(K-hvAN}l~N|YaBZXNy(Nm8`V*g~78ysf3PJ7)Wey*S7}g;XiuL^o>vodJF)c6_ z?Uc&(1Lc1Pun0x*3y5b_MD8IzZw?1f;J+8jFB~8{9aEg7mphz&GjujJ+JSBaXTB2| zRpQWC*^dL`WwPHTU$(usM}Q^AYjtC`?+cm}5;$DND#xoNBidD&HTAa<2*7g5dXuH> zQkAg)!KH)?506G=?aS{Bv+>`0sdi5Ix^C&4Cy|1$h9x$P?qw7uwAB#iRp>Ar);2hE z@6d9T&A!+8Blw*uxI^sPAaBRt&I1cr#k?*2Qpi(}q1SJM(U}E-QS@V5eD&n%< zL}`%xB$zaKiwAY@0V+%8fGRy)N4QgW{5wDuIT;_btEWP}o*!Bl$k3e#f-FbjI^-#< z1gVyfySq_P5$6ovu~&ypQmdqr6Wf**pozAzzH?t`5V-~Yh&Vm>m39w{aGQ3+cX(4= zxJb!eHWJa1Q`}8kQp-&rvx!n$-66=VO-yzgpd)2`Qlq9kK&d==)KnUpPTw_cbY-bN z*q-S@^L$YbQpDwp`mr#$NI-QXD;C4O#CHYlG5gHFuv32|@3QeFPR7@& zwZ_YtbE_Gp{!-Yi^w-&HnZk!44GwFy@X+FPwNlTDhx@aMnioe_2J=J_829yq4}8_W za+h-`uMou5Zs6&{TZBcmhqoCOm_djP99J%0u+wKR_gcVY>%c$U0_7%f!GGWy4hr|= zC2*jVN4?huoEB^Dq9zGqQjI<1j4e*1d`B0OR|bL?e{;Rh{Q5fU6>2G{Mg39f+=c_c z{x7kdP7nCB?#S9J?HiRobSSta9S^6E%nzE&Ar4Jw3W1G(K3c z$#7=K(U4!p$fw)s<&1@w7ndBy;RkH*eCQ3FZgJm1g)fWYT9y{I*NfjQcO`1N4PkD* za;{Abz<0|RQCapl1r%TSIC$S$=S&xLcgJ{yxwao*Q7fCKw)-5DB{qeXfG-MojdPPP zfYGlPc18M*NVL-f*wJK6du7nti{**tl18kE7$m@sfJe)c+G&4aAkcc=1^`{fN&AoL zfhzTh7x7{eNG}zMcX*BdSq0gp=qPAI$O*xbm3d%eC9BuQz)KlIjatg9Fv=d<=i6#u zZnV(Hs7pUe{4Jjbvj42H^}o|f$&g-x;m8TVu6%x+(?~C0;^jmgg=`fdIcgr@>)Vw# zvKX_|nE>^7*vbR=nIe}0bMWqDx0n8ba=H(EiwVR4`8%hcq03lsbgd2iX;iB^lngqH?0WNf3v*tz)0P8z532I{m5|v3cx=g=eypkms)k*nP&1wbMgFCs& z<;m=T$8>Q7omU`wLFX(7QE^CG+44>hJNEX2wr>BWYyf`y%Tw41Fw%nqV<6%BY={0Fp8Tqt|KQ<^O&3w94PS{Kc1!8YeP%Cst%Ng+^j=Mq|1%bmQbm z1umqH7)TPPUD<-36}vcsnkvoZ$BfxbeHPZd?zn}GTI?Ezb#HIKXoDdvv_UH%`r7}U8eSnGpFS^zE6=H z-5>;+r9xS#(BuyR*rbX_!LM5Z!p$E(7LeCzy(=lAgF|lGCf?kyfzr<%1S$;2 z9-BUZm<#2>*I3CruKZ2j!+v3B<%(dfH7g~(c?AU-A64LQPW0b?xn$Cp^Abm%$y~ZL z`vXCty?0PWK<)YD(jPjZlR8G&oJA2e-6p+MO^AKf7pp$BiD%pQZ9|$clrnJkD4rN~ zjE$n--`b}zp0qpEfDi^A-k;pu$>gKshHVGskHbaK%O9`gEiP%ekSCbB8$aI9B&pMV z8mqu3a7+&R(zkJyM1D_d0D-!6U|iPA-1Pcgey`DQbY)?koez9uz>1@E>%e$gQnp4a z@S_}wXLKIa6{eDV&&pdF!L7BxN&eVZQFp2O?ZK&gizg>%kt>cSrA5ig?jX{t>r^BR znOP*3ubFaL6ftI{4$!Vtya-kcaCdjsp_=Mft~I)JrzqcmNLaTh>QZex-*?3O;MTng zrKQ?vpksL+_wP^kppGbbP;{(G`BGxJ8-R0TMX7IET}v|5*owu>zon)V+g{7I!sal} zoRGrAsveUgH3&4qpv3z6VrII%wv%En7ff+11o>SNaR+SN{8*l7Oui9tl)|>r-nVkt z%gpvz*0$_uW@S0z08zCYUyKwb;Y*-<^I+Jec)y+c_QD7xkDuH)4EsRb4LgsW4_Rjw zehH(HK5uWHLC3sXE?72j{ap(F4!Q=S0G1HhL?C{v&>$4rHamxtf?$-dMQ5fsR^Vf#Gwv2hagVC52d3pb*fV@3hO60L{vVFQk8@vic zA<#Z(Mw*sq#px!3BfIaJ#&>7WUbC|IU#eFuwJ2)s1;C?GN`YKF|MIe>%G)Z>=Gj%X zYC+pt8L@)Ood`+L%DmJvD~}8%->pBHc#HoimHwB3AJx-10wH;Mrr#LzmxB^HT%qeh zoFz+>od@GAejSj?N1A{!Efwx;cki1BX_=7*U+l5R&oQ$SmFM~;OVDCq(ndh%EbD=B zHVh+j$@=e)qhu)892YMzeXwJBj{nk^Zr47S892ixfRaCfg~V=miHU_97j`(WvY5Ko zIQV~C4r$pk&5xh-UDs-6Z9{lRD!(riS{6*yb|}OE>Woi|A7wT35zEzI^)J-@8$DHa z>Gw@N3`*+};OcY(hSJ2}=v#X68}^f-dkYZjK{Q>7ems$hW|{ja{^)V4dX9E^PD9>0 zOQQySt{L#}JvOy&luDeRcqX21H4#V|`@pbd+IkRT>aN*#7d9Ym9b1g`+Z+n{(51~X~3zuv~aug z`)j^eWUYFMEZwN{}Adg1@xcN^bgYhgS7u3 z?f=JeF@GP^`KL)+w|nf<$HGX{l`2JpLW^W%PhbGqsyi7G&Moiv2^Wl<$0NCYBv^z^ z%+5G3oUi|gT&||3pXwsoh1cf+MUm)}NaNrs=b?8e_4{yq6Xo*wB%%$56%{yCaKK$qI)w)=T>(Mv!G zcw_Ot;c!7#^h~>9W4UPcuLhsY`o|xr9BsNK8z8wj%1CRLM4bj~JrmY2H#hGpFx;wm zAN%~%3B}6kHXoNEp-NM)3=xj1h(T|1lSa&J!o5^#b^SPreVJB*7tQ=zm7r68mQvdhgEe0cpsa!_4YRo8B5Q)RN)YYTzGPS9)mMi+5kE1=wm zl4d`L{#a75-3S+JY{Orb3Vv5U?$qyX=mKQbef($FE7y;n#PcM+;=!yqI^mi05@SV7 zxtUtRBN$aeobVVV4?w2TUnfu>wKS70>_=Xnal`THH22{>&XW_}zNH-!f6$Qw#6*Vu zaP7pX%?qCYi>rHVfaJQlDxvu|jR=&8h@xhnZ*QhjOzbCEyL@1Haj3}yWP*X8ZO}93 zp0?AkD{VKI62qN_B91D=lcV-G!~*P+?J_{~nq!_;oZfXQ#h4Qqr=s5e=M3D;-AxHf zmJm!ym+D2`^WVO_y*l-2y#_Q4Zhq0y^qxdu6FlxyZwwNCrb$no@JX}n$vIaDP{XA~ z!lwj3m&BrXvFphBaV~~zfcRkBbbX-u%|uUWjZi*52y_7vqIi4k;ZMQ@OJ%|*iD8Aw z{qK1nem#FnsHqTMic~|6Ut<>=Fh)C6e<<5zyv=7XYK#!}BR;|{iBs#+FwCbSH-UyB zY&r_ELgfnH1EFWHYw{L3q+ad*`R0$(IU$RctW$+jxOgPmVuZG_>@2W5MPcM37sy8H z4k2=(EVds1l;%WE#n23{7Gj%9bZ8vUB1{S1PFloy!XDkG6NtrtuwR11VyD|S0ABY2 z-_M5>E+(v01I1=j2ndhMR*Q{1Tv2+bM>f)l2oz%)Y+Ll*Yn1$-OFFMWwM^2wMRbTw z_+xLC`Nba3#rCZu(^W;I=I%>_dF_$MhfA+`SR}G8%mK;$m&~Vk#^<_nzJPKh^UIfG zs0*sUZq{mpXAC;`tw|fA^HdS%~k9*IoM(YGz%yN}4yYphDYy_#S z%Ba;315wb4>fiJNzdpz8a}lKX(xS+cwA0ivHt9{2$&x&e2Sa-`l8Uy6-c7;hhQ2&d z89LI@|6-&D4~w}%CFlc}Fu0kzks*%E~Ko*#e3RX%ba5ie7@t!w5!=rsb~ zzLtK1r2T|~Dwp0D;aRsvMz1s5N zj;!-vae&{A?Io5R)V`GO*ah`}-MM5k5nWl>R5`a_YW?}`OBdtid!pe~J{b9vEbMY3 ziR|U+{eGFf8x)*W04E#-MLkBXRFtT&*mp#F#;Hz2rcz|R?p*B?+XJQ67LA|^Yjz@T z^HmztzGE_~d~{#b(qJVH%AuN;AG8}WE^l5dJ<->@Bwe_EWaG}9vCAi+Omxqnlnv~c zV##5@9t+v~W@j%OzdM?p5E7^nDTOvohAPI9cAspwI1?Yj?mf2tBuckdTMb>VPdc>8S(17s#E;VGMe@HGWOXz3rp0 zS=93fM(?!5w+`|JVI_ibhM$sSr0-_D(X{P`$~Q-{8S`Bk9PF4}aMN#(Xw9N%ovU!y zU}sztvP(YgFkM$FN5+2I9*f@pB2Tk6qkr)ma>PCeNPv??ECfIZJsv4G#R~=7Uk$BV z`)qp4byDXCZ}Ade-~VBQ!8JEQW24|w2;i-jK7YKnE`TojUI4YHS?`xcUIQ#CJ^Z?==_{5@zId38zl+5 zA>5{FtI^M}wcIZ&b!H+>l0qdAes=4oLF7hQwZ!RryEEek`jW=_{hzdx%U+$mBCX26 zGwM?*d>nC5+IV|QBjs(Ef*5ebd5Ua|s+sTCnGunrRI=%v;n5dsW1g5guvbi1$t`6o zpde~%*aP%^UfDPAv%^pQK<|`j*<59;#S24t@BO|nf(xvsi8g45?i^ou38?wPTWrqV z5dvJ#yg8iPcrm`#t=F2}SWK%jnx~V0(4k%M?Rn~Y6B8CY=k7>veNGFF?ziz`HA!Pg z5X%KqMvQBv@rKiB${lBNJ45*y(PY&oi~~l59;0R0=iz0xmDCNg1O6Shi(Q_QGQPd> zL2*A{cQ1F&;!8Mtd{%>|h8tJE_qa?xtC*l>h12r-rDZV}9k*YBb{I%4 z!K;R5EX161buPgb(0Asth@RQvjS|PiVGaaR!4-*qGRkp32#Y3^J{%$+mHF$Tk zKuYo%(lVm@yqbE){UO+p;5W@J@>L=s5D&RqD4NhFAHGuVfd4`g?(t7YDU#6+khXsW6;S&_A_7tPy#BLX=1MPHo5DXV-mZL)(7AYvy_t zGwu7UpW{kew|#!4r+79;og_%0hF;$|4B(~28=;ciToY57^v-;9Me1iRC{j>`vp8fooD^$OFDOBo=veS+_S=f2*zX z!C_7~4?W*Vk|ri9zGz7?zIx@0p@N(Gfw=>uAw*V&#KUiI<+&zd zK8Y^KMB4EsC3%e#`yaXN)Uy#H<+F6!T_qv-Xli6Zhic6ZwmZS6XrYR&A zF~oW3tQ6cascPA9Mudv_?@cTJQjqDcMZ~?;LK$%WvbRl&2wy5$Ag@&KzcK5D zVZFgg?t5?Yw+t`&I7_xol*4=-`rGGH)>E%X&U);pNZ1BaF*Z3tj@nBRJbK6Y z^<%46uRc}3$nAzfv|Z3(ZM3{pG+TUdN~D4h&IfajhFP_JY2J6iZ_Gwe6P$ojL)f%N z{<=LWEZE5ADcuPjopvZFhjt?Rg}=|G5jf)m_G zs(-&T;YW8*QEDmr_UC8Jvz#fxqvb&5h;pqYN)5WT2UM)?ML9}{yhUJ4M5DC`#}+&+ zA4q<1Nf^2s43bKes4)*(^Gx1bYr~@5uSW(L*I5}2rNqP-&WU^>zgKd<1HG08!8r;=KY#KnU zj#Ms0K71LwQ3bm|pPEVf58?-^tu` zGKuZ-p=3E`A!?-|U8885+S`X}nAHiN_@Nfp%=<`_Uujm}lFBs-I!EU0AHfu)<17@J zS|VP}!P6}Lo>mgx2&gN76DXcHp2ZTq99Sum0+i_y4mOVaSHnZ#(KP4H9!ki8nticY@*;ihtufe ziOrbP*yU7*y^En32|^1pdae8C=JxQLn|0PYtfFre`V9sPyQ<305d-32Vj|4;4eFHj zUx@(;(K?08f=n&t+aaKZsC77DPtY4@Hv6Dnepr{k_m)vi|bYm!5 ziMwJbP!_B_Gr(m*J{`N1y8zMl)3K;>YLcm4%0OhmkTW=ec6soqY3&9Z(tfoMk5dZA zJ?L8!92AGTWGJ3c$I+YY?klwI{IMJ0U$Ln%!?bk@Pw|Rl+U)O!i&F5hjI^N;MN)W_ zrFQ?NtbI6X9f!JXi?6jyN(uH(pw!ESuWatu>`axMgHJk+`4P#+!*gFN<`Yw$x7t@W zG~(|?ZnUET`|;fJ6lm9_QYE=Yj2v~IyjD<_d36*!y4hbWkm9RQlMqZWG1W5{YpYix zDy-e}Co3xI^+`F5Vm36&@KUEMzkOM?3wU3qF;nj+kW7x=9z=JCZ?soW@{i52#+sjr zHG`_GuGlUKPDJl#>QgM)i)XLmb{zuX_^BpC^VDz_Fvx!&D5OlJ6Apf~);<;AS_t2g zWC+f(RIZ$P4ja=ikqxH|zu^y0ct^#z(<|R6HlTO;TrD$Ne0iz2zK5rh@+I}1kYVXv z+iR!-6O%s2S$yICMb;s$eo(ocgNA&c+81Zb?T)cetCLchXbcZXdZGT{aN z+4H^$0pgT);fKk}eOj@5IZ+O<#fEO^+}y~$nMf%SgJEq#Z#HZdvsz577K!*mb!vxy zkfcZ{WinP?NT{9pJKq+eR~$}_}AfbNW1=aL{+k?9+{*_=+d%-4SXgwhL6}Mtg{Ha zcz1Og+xzd2Wwo3zWera&Lks|fjt!<`oyiiAn^{(ye)3DF= zB`rwnvu=KJno6<>U3t}Us^V_LLH##wQvPN89J=4GDbu(|hT5B=2$?&?qvnQKEw*Vz z2)Ex_K@rC}3M%?PXEB-FrsX-L>_<}eTg!Z-s!Vn6*K_ZmxyVQYih3OKCQ&%A^2;(L zwK8!KKfbcC;(0n|uX?W$F)|Xrzp}jIn*tf1o$T;S4mCg>`g-UH{8Z5Pb1ccV#;UsT z7fj*aIKE+Vxl&_8359}gW-X6uF)0`HQF&EM!E#w>ecMGX%5FU4*BX2$-r(PKdHemL zXY|XaQcSiCgCC+fs_*CQ)K}yW1a-^a+z99}Y`@B*_^!gGZ$8xS!llN_-J6Yrs@oIt zUr6-&1KaP(=go}LlbIlxxO31lCAX=q*G9MkSkrF)d6^DfLy$sSxwE%1WV~j!FwrwU zK`7V4BOgr>N#=>`v4#37e&G90(`hMhq1{F(hs6E?ZY~Tpoy}V}GQy$v zrWWUQBY9#oX$6wy&wZ{dmv)uDCamrTcs&ADg|qm|8zB6iI;g}8UM)MRrlo2*6G#`= zs*sefU{R%xV&Qo+)Za-z+G;ljs)&CD ziH2%kbp_46P%zar7aDRk2s3Dnl$IkmcvttI#E%#=ETQ|E!C70Vhu9*@?%2a2wJ`I| z2^71PwMdmDq|I%D+qtDEK>prq>mu_L>%A!gvo&6sdx7;V52q}u>}UL9F%o8>ppu%C z*IGXo+G=vm$tPJnzlgu?c2-Qzt!-pw3{+E{o0t_DxqZXH7^m?~f!sRUDOzCvY(Xfc zvbl5A!R#H|hRsmYtw*(?yHBXln>Q;9Q1uS9S)l#LLDFMt1ht;r7czcXd7;_VI=m zchFQacErN4<;nQhwg^X>^4q*@P|^HwX&S`klTTA0TR(-oN6(yCco_SI*Y^{n`^d5E z2MF&cN(+@zilsx(Y{efh3mkn0$$$p%va`vS*1{EU+E|G5wpqXCgccumIj6X@?qM=- zQ&>Ki>bsLnE6$6Us<1G;AnjXy?y%v7*D_`4k?jd1+|GXLeTyrK7qzc`l@?g}6@g4P z2Bqlxi>}UvgXGCiSZsaJu{Lan9Z$aa1&vWNdphn}ZWzJAh7LSGO8uGhsIitOtJ=Ba zbyk;8rAjf0)k=wd^E0Zj$}c>7iYmybk+$_?ODS7Fb)Tf7IPZ2Dqn#L2ZNO|3Fq;)$ zC=&c~{;=73FkX=Hk_z7X$j7W2gYza_mp;%Cpv32b)|-K{ZTwZK*HxpF+IUx6uJAIv zk2w|^ko;R>Sz*J}p$M``HI ztd#6HF7-HrM4kkDF%Gf?X*w(%d-I%=G2iS>DBJ8YKEAzgTdQf(JY;fod2-NJX!G`` zKxs+-j#eQ(RksSf9H|Xi^F&CW%V>C#0Y2_pWz1=E?sgqA^4Rj)8JC9DJ!O%-%b2~a zQ-lvEDkKt$QiF`jH8_`fX%UguZ3)DPWXQ>?#=ruPOTk}XhAdrrQki=@Yx{j;*!kHF zWWmG`{>kHih4rwvRrZdt{P@BGuWqW*n9^qUaGT7c)6>u(PC#1R^L)7H_<@go3 zm6#fa+`wq(oA!1ApYHzJ^q@&)vlI;aK;X|IjQMJ8$bXT87kAkP*HD%-%b7X5tr?{C)Itx51mt8Jt=t;7yHenW z6>}0#8)GSD{GcKI6w=_I@?p$_H%+S8yWRULhj?(_dtb?6(T_F`slMRPBy!kV$NI}d z=eC@B2XN7nAA-zo{7drxJj_dX;n=%ZPWN{UiVpvIM#cT0IvV20Xymu?UGP=k;Rt=nL(wZE&s*Zi>^qC#Y8NgT1%5*lTnYWlt zNmb?|f%lgr`5MwhvdJ&hYI(*yB5PWSj}|o_R^7zXiC+%;9F}lix!$tjJmcVdz(c=k z?e~n94%6Oehoq$KES^t75}Jj|<`=q_vTiT-YeyWOPyvsp1yEvPd6A7bS{l{e^f@kw z8uU`lZ9f=c?GlY^xlUPlyRR2!!`u9fxM%t8h=cWV;MJ~3e)D{`=|K7sf47gymoAvb z5jQke$P*8VuPZd!rLJXsg3Qy@dg!gzJ3oy4^fXW1LEK}}$ZO}zja^RVZOZ}yI1lH8 z*Y5pCID;Ok+lTbSw-p*rnz-)K(a@{N~=;W)3H z5CxB?3Fk!%F7O^zNvL4GwSDEjnXcxqRjDJjmvp}FU9)}6le~7C{LE-k-Z$WePq5Ji zmuz{Na`1Iml$f>~b@12jmsou<9)&u_fx__$txnc+=Z+%9w`(+yD68xq&89`u9NSGD zkk8ODbW>ggwBoxE*Di~RiWB+6MOx*U8ZowPy$qcQmf{!{uEzn1!f4}|4Bwk|(Z^lv z=lL3M+(tp0w%_=f8dE}+_QOZ$lbOTad-K|lZW@^1yc}kCdS%(MN&e)*v2aV?(bb}E zr%;djyJ~tT(v$xWVQ(4LX1A>k7pKL76sLHBV#VF9cw3;j6nA%b0u(64U5Z0-3GSu1 zySs*9!Ge5w&e_j?&)#Q$?>k0*tmIBI?t6_j=e*Xut~u9Rin>)CwckQvxt4jm2b!eO zd^-<%d{*C@Navj|-(t<~!YfPm->yll;o=T-(^AK0H&@mtESQD3r5l}Ko->eV0{~5S z>+OccbTiC7&&TXr*1(sWDvP>n#oxWjGpX7JV2OmzFSiTJ`4SI(C4d~>j)trL1?{05 z3-wq7f#nV?mC^3Y;Jc1h!Lqz9^03B`@soaLIy?6d6?M8(-Pr)NL03gaoTl_uh@e|>N zxyQSHH|ev(-5-QC_rVDKSH89qrwoW}GftI+_osjwAEmtp+x+cn%psLvjptMSD=rF1 z;FjezfZ$4$NKG#D>6G|eM-xXIh0^`(!h!WgrK4Q~>b!c+BOMfb6PY!}KQJ}*f zeu(3QZ9gUIZ4qO$92NWGV$K$W75Crb8qsb{-3}hb1dVt2p-Jrn#@9a~c^|rt+-<$_ zk*M7NjYalH=*jERgqzl}LxKF^dpcnzpoV|ND~I8>LWP(^yx2mH;+E~A!ou{aq1n*8}Hs+eT22u04zzPC=W zzQ@MW{Vd95xLbBywOgcz^f^~hz_5?J&!spV7R02FmO2{t;w!EtZms+oCtAErc&v>m zlitArW98N(byAbQ-dlu!2X62ar&*$d%BGpF|9Qk`t}|Yj_|SU4*Fda;@97sgOdyo_ z%=5OAq%zUs7R}G09$8gQu}@6%5td0YDpGmz zi`$D*-kMvNJlrq)_9-Q^TX`m7HaA-Z#}f5VH8#^cp>Czd0wi9@g5Ov?(Q37=)cYzs zEp;|1C=F*%PEa}(oNBxQJ$DHBggRYx{7C&KbmN86i6_S4Ku?e#eEAp=A{7G^yI$iU zr5{|D#pt@}7!>F=n9KyOeL@Qa*P5jb1kO2hUdq7dsfCId_SAa=D)TdmU9K5w;21-} zobb{YrUXGr-F~6#Qhk=$(31p395XTUXij`}ijA+GM!x4S@%TU&=ECo$6j_3Gli@Wi z9k>~(55tKH8OF6>9fQF816R|c_JwEDtlY=wF-+2ELy;+vto#G0_RDNwyk*+kELqNT zzUI%+d$h{cr~T_=atS>dr5y4v6kOSw1+@G z1HlJZG0j~KM}&~moM!i0T2yHw4o1J}tCxZ@jLDmv8jO-C_#jPwtKeN<>fIc0B}Vap z6Ab}pjr}pU#mAM3XsdT_hCKctQkEQiT9%$b7{$B_u7n==CDAb|eL=qF# zf)DxBut{HJ5!x&+R+-_MHjUHSLRf{j+2$zA{W|YEB?kKJs2`_psGk9vXsZDbftr|` z=3a0M6b)lpvOuJ{7OKkG0wUDBv6>Omwr>LTdm&XgK1-BY11-K;;?ZET0Zc**MURdOlFL*8t{T5MAU7UnflDZ0pq|3Fk^t8t#QW=JN@g_0*6j{fVzc2| zoNUyK-yH!o{mh?J)88Y~)}5rkqAXzLH5Rw+;5m;$Ul(XX-5R<%`zzI*2(FMLs{N5U}bz=1ZDtt^)kVmsnXYr*;7 ziOC-Am?S?sP_Z^ewkIEFXcKYUF=C1ZOeY_%TAR9^}}qtp=~|ha~oWNl(gcBVO@_lJ-{IA zzQ7;juR@Ihlc*@7VjhDyIo=-N+~e*#B8ZY>Jd({m>G$iNMXcj<7N86!&}3;GpB&?6 z2K$$kF|X}_M?8G0-)?Pvq#PUcYEW~Os)+DUb0C>5*PJ$%sKCIx$TPraOkwl=Mr%Ks zUaG@VbR#E*h#VH#ma>sL{OgiSA@m9qm+pgjA4LgC^C8Gq^Jhyc0-L`($Rb|rjDW9v zh5F8D^pg!)tnMNTPt=Xom!Dd{r2D=p;$OEqdx{I74a`-K(9;E!qJ?w!K(dj#eay2a zS^;CLV~>lt8XMY8&yM^_RWl(l0h&^9!aY?-Unkkd8{;*Nkw;0&@6WXV+b2#TGon{a z6{lqV<66*=%!|`c{haWgrXhGzuq4d2R4AZu#kU{1uB2G;i=8W$V+*f0q0*2fCP6ws zO{HQZMvh1vC!Y#gF`AB&7Z*i2g_Z)cqq(1#%H~Jpcr9UE#hmTZaa}^Bh&^JaSw(Wd zmngC%k&=T|9La*st&UAB%pIe^sZb9`E>&{FlR(Sggn*^xlRHG*u>~;6OnEuPD{O%y z`Ce)DW{`>%H9H?gPmhY5XHp*3mBUC~$LQ=S9IX?cOnJ_*4p-_tk7l4~60BqAUvq}; zn%C$ROTn%j`)IC%sIIHCx~R5hOt}^X^((=HqYU#{Co# z$#tR4h0y(CB^Zz;lWW$xmC6ZV?!`rOy0{{do3Lse;QVFS6idkBIlR?E!n9?IFLVPx zW8}+7qp4EFhcb`OE{m#9k1cu1oVlH57Jo>Fs%$HcH=ZnvjpD|198Ht))9hC|h8M9A z3B_)xfEgLQ75j;G7Grf53*3^n{Fr;+2U@EnHp>Rd3nB87F&OfYHBdOQZG5&S}3@^LG+SG|WTH}-o>oy21_R*0mU zXre&b4DEtKC*a^);kfD!+Fz@+QbGrdW+T2= zBWn+2(oTP(qIfbubVTf#fG zK+cfMI`d2HV&t(nd8?xe%+$q3pB$TEMENYQRiX}X%c&kp4~An)x04f#L)S~TBF1sYq<4& zGdemSq58Z1puT`>hI#-zQ@K-@WBE+JnL0Di76mN*2^_%LO$3&YoL@aT$Kp2huMR%N zhcKBGIjXMG9LnN0!fF;{t)ki-cpS(NEzMK9g{MkjD5oTEUDFloHn>C#K9;CN3*l8N z1M|Ocak9>~nB#$LNr6UVs)1p>v?79QIOE!OS5{wUG$;`J0vDJFojOa&C2Q3#?xehx zGNlT%<|vI<8#iJ-EMF74rAJkiE@H45O5}5tgZu}$hj-n^yM!d_KU_mG!U4V-(zeOm z`L`IaR$4>WFgAfN5hz2KEk;D>OY#Guw`};%v21gtAI=xctpr+LzFP0{t4=DwhGNve zw70T&)k`B&9$ULs{t!!4&lYbnY$cCllb=>#8tV>ja9CWq!^Wli6S|#~1DqwNB~gQU z8FwmrAOGI(@E&@{O5V%!6H+I^u+ZvKo3aan2jU%~=72sFKHrt+ldg7HH9bvZ6Uu0B z3`J}hV0KgVen!!uldQnG;wBOLZgQ+hxV*896>my(?W zS~+ON9iLAHKH$VbhHqmrKhfRWiv8rZWyXEEG*%^Vlfzvf=WA&E{l&|Fd+9B~qi$RM zxR{UXKN3kquMw(*B$VZ~3Fr*YdCA8RuRCWU1T|w#{!pT%49yKz(rIU?H9b-qv6eN# z#ze>vr**_M?QeCLD@n&wkj35=P!ixKe4il3Z{^GZIy)(clvS;IM5{Gc__@D};^eY8 ze+3;b&c-2l;q8Hi_a@buHG?M}h_Zq5e5 zGKXWT0rO6q$&gPmahK0yZ`hbMy7NP3Y9=Dbh&Z}SYe7Yut>bzq@oz`;bsGJp6n?%X zlrwERQ-L=<)PVV4B7e+M;w;{%NV?Y(rL=27u&(|6F9DCE2DLp6hgIw&pKqfHAtSnF zZ$La+1fc|$67keG{0xRwOr2E?=75-qjY1@Zjhh=IJK^D|D<^9NR~OS5It3iRM(j)%V4_(H?1>8vGkK; zqMVyB>(&K z8?zG|p-CT&iUG-H>1@{P1_E%_OX&8KnZLSgTi3IY@y95elbmm7oH5rb=yDsYZ3*3f z_X7BKc6oJ`=0ZawQvP`dc3%8?Qq)8OLhr77Zg6%VfpMboay(@8^$(f{H>a`r8;#~B zd)#@Eht1|i!%W}ybqU*R{xdi;rYO?UA$PyhsMxyS^|e-Jnx%mc27JP9{<_SDg654J zx-f7dDV7^dOj&sjG;LJvU>uBddO+#AH+rD_cQg9lMK2K;-1SOy^zMT8!zHBCVnm5# z>H9mwv*SOV81wI+^R>cTK+OO6nVv0jKGv!CvUM?Oco*81!1f!O)SIE7<9qz(EpGD$(96z; zWfsBdw?B@mata9h0}07947{GVQ&B<&3ETy+qD)W`QGkf;k`k@2Fvq(3-ygV@cj&1C zZe=hEl0sa5Mt=H{|1KTWmDo#Q&$;fk5qqXJ?6SADxmFeM#jqVX=$)f*OpZOZEB}OJmT>G3x7R_vc=( zCjE^K=ldQ9N;OIrt)gtt(^+&rPE2AcVswkij7rdom25st;B}ushn$W zKXhG2yXYM-r}>)sCoR{{0Y&XJbh^am*NSrll0boIO<8q|l^>r!mko*(_w6$08(}h2 zEwPSQll*qcydh$7TOk2IPI%}kZk)Oe*AAz7ff$qJ66ZyFz1V;FSQHfy-^iM^__y0Z z=4xUJOdSd-*r;WDedyL^m4@^k?rPb#2b7<2HNPep%*>#9a2G7iNHE}^L!0`@=bpnh1w=7W=MVm zGbG3DUd|NT$g!gLah$cUq9dMX0rv4HC2HTyRCChMmHU+l5yrnA;`k7V{BN%^wxHYR z-Oi(0#+z(#!ill~y*6OiQ=)h1oJZyftk*yk5-cd3aUNu1^iOF0)m zm4`QKM$z19ZEBV+2xo=AM3K8*48D>QfA*rBOH6?=B;L{&-em`h3x))k>EpGY|#YIeemoza=(A)CkBs_-( zv}Qk~+jet{EMYY2-^=Q@f;_l0vAj}g#bS7m56GY!R#v`3u3V^hQN8jBDR(_XtUTu1 zXL-d2FvA#w3Cin>fK)x!KRb?MM0rZ54wlJb6bF;i9aD2RphyB-9`?^6^mLxmIz3Fz zF{&N5KoAM|^LWQar3!^DZJZ8qZsHZm5ZQC6DIsLOsIk|YkaK7U(+8Hvsjv;oR*1y&YmK0B<|u=P?;IDB6_ zaS(%K@Qrbn<7a+WXx*>C<`iyn?S_H1YZ1vxp; z$t~4i8P^R7BR=7m_H^TmAs4ZGZliT^HsdL%`T13bo!8t+lsy{}f{~$qhQa8JOCp%i zZIRsuoIL?!addgu%}If`yEWu~vR|x^hn%M50tm-VTUKf`$}6n<}6Y;ar{J`(Uhr;N_J`c{y1Nm`c0c}AJt=% z6O66F7Hqy>_o4=>2=T8t1;{~LzBcK*i1bQ8Vr||Ya(CQjqR40?r`q*RlEbzmd;|tC z2>df&$ZfD*&L12cvfzYUg2#f( z1%wbl=02)qkW~@+591NVLS&_n!SAzso3%=a``A@DG%j!VvtWdCcj60wQFj)0jrFv< z2+uQYYL#m?Fk62lKU)&iNH2~a*4-k}-YSSlh>2GLCtDiqCPy^T2rn?A=~$1tfzaI= zNKq=?wESUVlrMdtgrR}_zT zi<)9p6r7!x$Hkd2UOh#3u-E|}a{3b9>i7xevFlVxcMah$?p@n~bUhMZ6)TLJlAU6r z6`wOl>359NdCxHrDU4pbxRH=}_f{obd|_ z-S~Eci>~)?>wS4+-;ApPQ0PhB{SF44a9^6v-aJcE4##0*Qx0FcJ#vAU0}g<+jf$n& z#$Po5T;&!F@~C{k+PU+XPD&Ai*c2gX%=V*~PAP9Ri+#NnuRBl@19xcliS+VI2xeW6 z=#9)*6_$wr68-a9YI_%ppc)V*+uJI+?pxZ|$ChIWJX@j6 zZTCG+B!_G4VQFLn)-WT#J7@>Rc>8%?Fn$&v6+l6~diNK`utY36|25?4yw--Opr&73 zs`mb*Y^CmnT%DS^_~*vWRR7Ai4nXlTnx5nD2=Q}HxE^;XV{rl=j$ZX>*zs)cF>>NZ znsVB6cFXPSN$KAA3tu@}ZIX6DAIxkKbAss0`BG&pqJj?Zh7~e1GO<3HZ&=s3IJiqk z3PgVa_2tHx1~Pvr!LM;)V%{J&5klY0>@bdGX>XOHBTyXCZTU@-D(6+;e7aWii}1M- zUsD!_6Pv23Onj(-({9~Mi1LXV(drMli&q!ZxY2IC&JYann9BX|MMMIM_G^I3w3wIv z#xN1KTE{LVnVtK10-cn`1E8uy1<;Io+FxZJWtK;tp{|KcRm8QFh0QRe3`Hf?*s&*AJ^? z{dct$K^7qFQk<=@+!v~y;^|X@hk3kN2_DG0FAiC8sGA}&ajDcz7j8_@zm3N6o$xLM z%lP=2#%PEkj=Tb_}8A;7?+Y2;&kE>*!)u$H# zwjjAT52yk*RK?oZF^wnuYP}X1pI+K>w$DT{5mBjk_I#7U7itQ+Mx{_}4U1Sus@;9a z{9Zq>OL2>^z&#w(UR}~BGL8G<73}q~qCbJUf!)z;Gg4w^%ROA=QqrKi6A|rfD;=i- zrpbqTv-gfCN5`pg3Is?s?_g<$%sm!-S2pe2BG{iI`5|xuB=i;Z|;Jv#-&K3f2krD6SnG+LpOs< zD1*zzo_!zvpnaVNvsT>`*uJu2@irHeIS&%6uwOYsIbQQBbBOon_YwBp=QEReFrdZ= z4@S_>tR;+)(#w=zlV&si z$5Y*|t*1lzUj8Y_zR}TD4h)%*eZ9(JIQ_!@7 z*}`_Ng&5dpDO|JT@8i9Km{C56ISB$=NBA~fyRVIj9mHSQNry3A#7;E-g83h?QVu(J zzRAimKJG7Ea8GyU?ct-O zN4$Y<=9Uz8`9_F`cjxWL>~ zv0g1(EfCtlk0z$@sm=QK!XHY7FFp}R^e_bbWy5&diNz_krB;AtP{+hFk#bzpijLU+ zDIVPWh<^AxCpo~TyL0yazwKb)Z_C~w6k%2dy0j=h`Sm;;)wW@4Mp)FgP1G9v_ojso z5QyH#j9gRRFE;hOO|(8&N(&nfg#8Kfn+e{fj>j5mKf9K@A72~D?u6Z!Zb>JfR@APl zR8OJfZpsD+S)l7EL<@3)xZU9D+cHi5+m-8G%H&3yv_^K_R{1^x`clV`cT!7>Bx=6} zG7=^&iaB#gF#UN3tr>OQ1$CdPj9DInY(AlYMEKE?Nea^MM;g?mzu%?Tk>+<*JwB+8 z)rufR2;h6HzSkHvfJ>)~r8*Y^U+m&M`^r4?#1ni6_$|$&XUe_rN;QroRnjk1cKWtR zGxZ*!TdVH(hSn2DwWcO?CYoL){b0H&;8BycElet5b-+_M#IF-t-idq~jvz}rg~dX! zA3m6Z^(la8vQ*^#O$$G8Yn;qZhg*Xlj{q_^!PzH#-Q_!4uRi-rO82>Ev*DJ!YtyL| z9Y?wC;>nlCZv~yTpjGiyhL;Gl(qA4q>Kr*X{+sufKoJuLQOdX;pA0JMI%j#k%c98o zLmJ^mQB?K2by}U;EQ8Pe=a`3J|GSw>?|`d9jk@1DuHGM}BA34wkEytdwTg~Kpowf6!_W=U*5xh2}%Gb`?8gI}%lRQu3+9G~P zCY|hzAl%s!sFp@;0IMJPNhbm+u@iY5pAG21(>VxUZ%5MWKDb$}D|9~=-=1i@NlRlc zOLs-MZu3P2E{?w(x0m8`qRnD&8~fAYh~a(Ra8p1jQb@_#V2N@#(iGKeTTeXI6ajSh zIP@Sxw|ctY(zVuFKUJXsX@aZC^@Wi46C;)c%mdYB8Y zg^VipgELUyV`1xc=Epu(*PA9fJKWAj4v$h)z!tb%TZaOlBRMk9Ifn)O#%}0dnOc(j z{Pe-h`r?m7SsrlhOsTJK4%R-B$TLl-Oj_#Bnh{m4_j!4^xgSTJDi=a4>BL{{K$v&N zdFMpjNKIvQvXmFID8i(6)#?7L{(Ff*?Bx$V-4sPJ>pwTnS3m2}$Ik6DzrnQ#IhR?a zY-y?;XGJ}A%|C?`zViwghWfSAuUrw!04=}J%2pSUin`++Br0UXe4`0T9g zDCkB&kMqv5%2+1L716@B7be@BkOr8R4GiPKy7c4Jmj<1mv-=M$J~kq@#$+=5Z`N8E znUS_U(8Z1S3c^=O`!%pu;~pjHl}#uAcIXbOsOMC>VY@ncUpw2FwRYw|0LKs67f1$? zsHnhB|8>@*JW2|;<`<~59`kN$vkeKqLA-JCLA3#qJ_{Wo)RRGrmeF&PDt1V-KAi6< z2yVvOB%@#DN0M-CAe~d8(!YE6zT~VO4dVKe{KxG6CD9m~`*t?Tw5zu^I@?KgbFf?n z;b>pvnBk1)Q|1ii_U@+LFv@uBhxI54GX9UrgzgHTGpod&&xY9s`-*Z@+vbO1=28ec zv%C$W63uZe2nNzJe%xa)e9BZTAXDefh5|7EQaFBjzFct7Q+hn=a{DwT)rqIDI2OZ* zu>VI(TFS4*ZDxz##emvX>XjMLb7KvWV}1Pz*7z)8#(FA()Sovzu0MK`_!kj&u4JJ^ zQ5?OTFJ2)Ypn9)v8qjz$6V4cAGdd1MU4GLJlN}gjn|%DJS{OaWHi9f@>X!*!0~|<{ zG;^E?qv8&(sD5Gi=yKR9?s-1sb4i0S%P0bnG32l za=I(&PIZ$(R-K<)AnK~5Q$VMM3Whqp)hJ`HOFX)$BAHEe5o21^zZuqH5eOYga_>;u z)EZ8^7)-~8tShdB--KsZIr~$u_2f`^Hg?~!y0)W1XV!W}C~ekHF7^l zA4(ASDS{b<-t|Iln&w9s-Wi3d8Gq7hi=ZsqKw~JBDSPP3w~3gu4gvk4rZV=H_h;P2 zLT?@M8}#u9yFgaQ4cwFJ*!oRZ%1^fYI4L1@C~USS5my?NtlEX;18z6hdN;5tfz!b3 zERCC3Fg(-o`(A)k2%2&u0zPG`c3N*(Z=j}PRt5mQi()7$pU#(Bx3I~)TXmYuiuw0X zxg#8l_?x(jzOg0*PL_^vnPAL1#<^FrdNpzrO&aG1i$i$+s+u6>tLRJ*xx_bbRLC4U z-^UV`GI_au4Rpb>Fka4DSnKQnUAiTDxC+?=vY&B_18DI?=yJ+ESmiugD?HYq0_XOa zTBmHmeJB^%!8ZNUou^r&wte+1;OG*Tp;rmkWHM*S?B8dG1p8eQ{Xl;wdHxT|$aTgo zF=$TLy@U6*?)YTF(nSWHPPEplOD|&pTi2sJ{J7U+CF?L9iqY1QbK=$3}(KSwLv%}>j0nuhOLIt0PrK+F?j#Lo0V2}g4H4+AqPC3&)55ewXcn+5_5dG40N0b zO_7Vj3@rN7)fq`egm^We!WZFZT>#R~8v)NNeTfTzMQ^>|d~?77HHmVE9?Xmx6rvqH zod>LcHvI0gZ}(Hb8lG)BiuTZhDEy29^A=medJ%?^hp>)TS6NV1Y>Em?M_TCjsdXNM zl0x}>&$;+Ys#bgw94M)kTKB`Pj;h4&%Shkmqu_5?NBG5D6LK6mbUfyI?^KfDDpljG zNIzXqSIM3I=52k$G7n(j5>i->tp!oGoh=W{ux4L%yNiIHg&mI@I>21JRO-4Wh0HQJ z40q^eN?txuunAD!W0ppV&GfbY*u{v|_ACx%^FWFKIpgzH2>Wn5n2>?KdA%JiiT-D{ zE3RoOx?t?0y(;yqJ`v|?hQ}6tRAU_A&y#V&P)iUyDhj_U8JE)IWy-o!lA>#8?zUdV zarw6P{*$K+H_zO7t3KQ4rM6_@c0cP&#GMwBhAfi>q)x5Kt9E!PiF4xs7nidU`|K|h zGGRwrcN?m$D&4BgTpd0Kyc(>YAInwQ6-!O_gf&>qRK9^2`xByh#~-*Z6S-rnwj*%< zs`UD-XRTQ2Qd~lAVN}KD924vGC5@y#0JO@qc7p>NM78aG0wk{c^y-i#4g}GeBkO>pYpOuO8W6 zn|GB(YvsM0lw0p3#@N^zW1Nqyhf_EAUkXRAnKH4r~BnQ z!pCp;T{?NqLW*vc)}2NPP&|BHV)e|-eBxB>c1hl|Zu#VtXR;)^+qdtIa+1Gvi_(EB zNGfXA`9}Qx)mk%~lTVyI4ci`%B56Wn9(>cB0k}6QH+Znt{KdU2Nz(;&y;$&g*kg8x z%d}xOGoPWrWV2klVAscc;uX-*zWT8-r2o=@vnzK zHpZbTQJ66Dti#;$yfrwzw9MdE;A^9c!v8J;xqGSZ^K`f0pl7!?l9trTNAwlPIhwsh zL?-_EU`=NQff`+ju2C^LT5>qGxbd5|>&s^!pKQ}ti#{~l;C z6?3FbGW!yuBnQN|6NB)Aw#+C6$~dj(=MFUBpNz_GY zOVhr;VJ7rwuyjjyBdbiH9k?+4_^SnzuJC|ciFg56sPBjxT27AYb=5J&4tz3RY^nfP z0w1Y$hLh{V9L2i>87nOcoG|f-`=;LV3xLI3>2^Ztg-rigOsQazC{ma)g=}y8zt|Vd z6_-)r-3I;LQUPIT9_a5r34Zgj ze}j6=je86*yf0B!vEg17}l_X1vO-^+o_& z@F(5tpSbv2EG&vhGc$*oXwD0_9dj^oGYCM=`P~sx>a4VY>3PSnuObC zBt9o_onP|B#%giJ@P6O<^~NMQD<}kM38ne8Zl{B^{Lg@ouV41Xt9rmzrtexh5VXjA za(=qq^zAa}@rucR_D+3rwpd0NQ;+iVP~slG}$J53wvJQJVb=Wjs|fO@cfd~1b-?!`FCMeMD5lE zdF^V-3 zEsOkBO|0%+QK>1$moQcYWymm{ zC1PlG(rE2#0u>Bs-PmH#pJeT8i8`)Z(#4%_QX zpTEyL@%_YiKgO=kw1vG?O1Yf%q<;}GBH}B`S1^}sJi`l<4E=dJ6pJGrDRf%CC#RQ9 zqw_dSeQ2;*)GJ()Pty&5#x5CgxQ4@7@MUv9k#r^z)1Th-u{4EQm5p`LXql5H zj`7uv7B-JAJX|AlnmgdChUUSPEN(rVROq}i8LBEpyE!eB9jY23p-0Bv-x0)+i}PZ` zvl#B@L9!4BBH-SIF%YaEs(rT9@pj6hZw&tr&x6M>(I7>ZWYC%{sP8NLgtd`rI?~mN zM0XZv9Lcw-w(9b5hH&&@%!xJlWT9xcc!}`M-&@N6gHivR*WZ|;7MCzW$+1Dd#luC) zPb=<2m>`3)NEjJ7eFy~JZ<1@J<;yC3dnRV-WHf9sPY`rI0kxQK9SqI%JKNce*8jku zF7)0RG;A`9xHszNoUPQTiw@USa2pqhn;B1L=K7-YuMr0zgzykJ5bDcn@|V6$d<6L~ zWaF|}_NDr3yHc1~xEO+{?nAR9>wlj4#H1G}L1y&C)d8E@0d8th72(r{ZB7QLde~Xc z5DopKA@m%Hf>*LbM$+vwc*R{4=|j-xyhrbn%}1ZoItwWZL9hGzrCOIboksTrL9a3` z5A*qs5bOCT+bl_tGqloIN2uOVHB4Q&-(su`L8Mih+;sa|-#hCO=NE3+J5QOq-&nKt zHNCT&nI>gE1McyM`OF{@Ve)^ySMm2jMHf$Na2Vxu(~_HRI*Y^hhxH$p1)zmLo-uO2 z@xNHwKMOJe3~-mRjZCQM1iX1QexEY(T7>NB2QC0fk^uNeOpOL{MCp=%X8-AXyCiE)Wp)5E*p#{I3*S3&qLNIG%n`ob&6_Q7rm)Jw3tFXof z)@6S9cSQ%AJtFkjyab-4 zVkhIcJK~5CzTlhBC=BU8K;$3k)XhHLms-!3mBu5%O5g=n`NuJP?oDtFQiJd6Tev!~ zq%1-sK^uBpx{2gnnygF)YqU8pgTA}*?697rQ-ne$W&WbTel6B3@BV3V*_X5r!#cJo z!$tB&oBOKSw%;YuUBtXQxAH)B~@h!2FnC)%H4j;m40RBqv|~F z2jcpWw!-q)b2$P&UkX21AHXTORS9Q?ua?M(d044uaTO?hPtdP_cv zv^jeRk1hp&CjKYe9N@BnuTAXHTwY8%r@2<&bwfr|c|Lye%;dJ0wZrw-29xn1ASVpx z&8*wi;oPSfO40YmLSJ&R*gJ(Z=Qmjc69?*{nG%AztF*| zMzP`;Gvnvh8_LfvGNv9k&}nt^Rlyd$>v(e94)ElqHrA1q#71(K&#W#btMjay@7_0^ zRhPF!`a+?lX&)L?g1x(kdvCXf8yXv`l>K#;}C(MwN zX`0(Qq}VWE4?e@}5~~n`((6qAO=k4a?~d>u5N;%`*p7M~_I0PjSZV_bL$#>a=3y?6 zQJF}zzV&>BLjt0iE_#sVQaeRActz^9`B=jL2yg$Uj{VPX#S7^H`uZAHt5e__5+9M4oiH+t<>f(-%4y(@*00^9tbB{zgjx@r~ue#FV z$?5@&wS#eozM5b;RY~pa>Y&<^f{@Lzf!JPtk)L;rbv7``J zyZ_>z%~Qs3DrCm})eVJoLPloULd^}8H0@T7@Q~)p(u(3%CG{|hN#f?u~usj?rGegI2!-R0CEo-i~#i?-$G2qc*xzle|s9CrA-IUeXFV&NDNS}OhJuT z|B#!kNq&UPxoxh#$@MC4KL7QxWLDC%jZ;cp!3@KXY$B#$H=yT9lvA&pj<%ZVDFgHD z5L6esW$si%_O8@7hJQ4%rdWTu=}Uqfj?2^`%`P}#?Liy^^%M4~dkD-`GmV5gMYKW+ zc0n)lEAmsweFx@nvF^wITmm5;+3!%;^@<=hs3g?N-PzDfA?bZPV`XOZKq zZil;?QmMVJJn5Q`xdBstbKTMSczYR&Gg$hg$7tWAd(zm$law5JibTc9Ol4s@uX*Tn zz*zt|#4FawX>>2EOfw}G_taMnW2)%>Pp|lR8&v#yl6kMPUH!1b;@%xWi z{9Za3sPWzlS2o23graVOS9yU4=hrqxC8S%SmIIBeu$eWa2x&Uv!wJijZDDvAen3{q z7A{oD5-c3c7Ac8i}xa&Jz4*UtbpMZ6RmZ(JV)D` z%r)}je5-9^yPInr7sedO&1R%bFhboGc`r~4iEJBG5?JP+VfrdK5zl&x5@6!&y z8l)KZ!d0Bu<@W;D?_3VT7!E60Tja9p96j3?KeUe$fe3KJpn9)in%U4BZXuJOCP>C> zSgVheuvisUdAzOqrM#b6YO6jm(fVk|>XYyg+UiSOA7yy*ikiMM@}yUw4Bg%d5AYp& zu(D?BtPF>(l?FoGhE-BaYq`V|b>)z^z^(h?Mz}ou0K6y{E4X`2Axy{QEVb2|ZdF>Q zIr>ptudTg)(=xCJL#|Gj02(WM}jo*drPgH2A1`*^aHF@5S3HM7Z`NDuEXr8V-s4OME z@}fsleEts8kiA^GI*pzwDvgx??FoxC;!Avf>eE6mue-4)PXXq4?><}5{c7@qxxaG! zPni1Ok@4TUS48wKw0Ar_8ndNpa>99KhbOK8RAUxF{gHa&$(J7i#969(x^dxGmQLV= z51S)1KiV&PP6N*b>hzHm71YO?jd9}-&{dV#sW@AWAJFBA^yVw3rXM7oA~4ETE-+N1 zj2s#W%NE0^bV8YH#my_bbQtAxEgYxQe1_V z60XIX4!}WdFtg!17Ic=8c2PN!gnbXb*@!o5N&eaFbrc!UUbdu=zMkjj6V>{4A&os> z#>^0bdi(Bu=Ms;aMzSMz)Nia~o0Pu40=gA09-;jGwvznlam<^nWiQSCHru+DYPVuR z*PT>2Sn}!xA~>Da#qAsrOpIojmI@v=5G+MNDcSTYSE{tc&vwqJe19KZQP|iMKozl^FIF& zn0p)mX^UG3x#)@Nf-t=~EuB)C@(}+lqIxg* z=@sJ7%Sf-|r-axd<~=_=CiEH|SuKF4jx_MCjFY)_K{adqJ$txc_zk2mYeh*{RI6J3 z*K(~Idxw}q>Cr@)Oz5y~3@JS#4}lW?@`THNh#KNgOuZf3O_I5OGDl+WuT9;ABWYj> zHC=TeXYV~!ytHapKhXU1z4zHAaQUclvcoIVyC8Em8tHP}`CIfgB5i|FyBe zT#0?;O{SlzesobxR==l3Tkz1-*uH=Oj@xmfR*&R_7u-?L{Ycgiv!BZ>_E0noh1=f~W+f+=Wg&9N#?)9xA%?JHzd{UI>}%UiJQ%x> z+%x5XBv?v-kVvg${GB4v-*e4YDA(^rTZn;EEqKuKe~k)VmvL=Ldwda{0idhEgVejc z8Ew!>*iX01w@3F(CZonHYL*WwnS#HjY=*P?8EE>PzbaGB{CPVuX8CnKPv-w4@2lgg z+M2(mTS28$5RnGyMi6O`ZV-?@gmfJcln@X^O1iu25QpyWI&^nQH}Cej^~Aki@9*FD zA3t06S$nNLGizqPGqYyB#NUjQ$HAL*nNfc0)3dKiK5Tm`xAX8Ocnv>` zI+wE&G17w5QjL(3l4K}TT*jdo2vP|@_EO4x@r?$qLM09Dr7-5%!h-ojcyppZIkoav zq9|O0_?o};_QTK<_6IQ^UU(6N73kI1an>}cb0B#&D$}B38b3IUoOq+es)k?w8i78{ zayEJ(bojBB6=TJ7-4R~8sh4Ssq-Dq^2br^O}#{1M>|rXY151r6N`e@ zIxunD7weQKLH9SxEqMD}Us1+(Fh6}(TBigJMm~O)f_~|0Z&kQo;dtoCVe(B1DVg+z z*Ou5*)F|j1L=vopBR}0_tE}vWhwJz>VhkGgl#k)P!}PAJKYl#E+6-2wp-hciazVp@ zmjxfQZJEDa`I>w^n#Y4NGP_OXIt=)R_UNlgburgGfMD&@yl#PtiHTjzeo(YQZt2!Q zsp1GSSCb#j?^MI`bkznzdVl7o{>dNb#gpcbG&nrf5+)VYW!sV>h+ym9WMOR+_Ag)h zc60Yw-%5i?#W%uikm8Ojq14Gzb96&uM`~PoJbWnl(9&ds=tzkHr*^uclBl!+onntt zUdI~Y%mJ{|tif^gRtArN#b`}2UeWU`Cx$}d9l*mXw}kb;$i{>G2gWR6OtjX-=erQl z&Px-p>b0v>=2Zkoehh~K_E@9kp1MaeFM(K@>3C>p!tMyZWrovuFrC^3MC1hsmHSB> z@vL%<@hwobD}}y@>9DMxFfGiSr9xbR%)9m-uAkyuj^W`vMvUzYj{IW9U2juS;5ZoI zkYgAdDanJVh^EJ97Id*Bq&EoOw=fM@X>!=n*R@)QAEolm()OxlZxU5`-uNd_zU>lCE`I$E-O6qA-`ftyb z=2H0|MKX3DB+bsm*?qD*zPXZz&!zuTv(Jf-`s{krimrp1e<4kLY>RGaahTm(>3$X^ z;%7PnoP>3kN(9Pv%q-S@&p(m4zYt6`Y!<^lV@x8Iuf=9;s`0|*Q7ugNs4`7vg2Y{9 zxfbT}9?y-^o~Y@E)0N0te|n;0699UrzORUyhPpdYT{T&}_HK9Ad&NR|uYgn;aIJB8 zJkIVM_jK>A%L@(73SM^c<=8=0bEGfFCb4!uptgU`aoY2u+AOQom~lLQJeu`fz|-Cq z#YKM%G+HX{Hd>)Y6EEV_o3UfQbTT97!oBIDgG%#>C?&ylK^9yiBAI)cxu&bqjB=#N z7{mU>!DO_gJhr8F|Fe=fG*VW_(s`w}YI8Z;U{rA$jSpg(9mCb9SZ+QxVrHjiHIZ^c zjv4q+Ov1me^*+b&koLyA+rw29^Tn*j9CZSU^0$DxEYB*mKJ7Cvue>G1Z(Ey-$-h9K zvm%}9($C43<#X&l+3A}p|BkH-#n;qhu$`hAc$iPBbn6|W9Kj?5xw+nF4{Rr>c-lu3 z5Ku-3r`;D~(~ad4lR`?rpS{~{PkdT-ug{xXJnNoWlGC<8l4`-+W*TQJX9h+v(DDK0 zzJIK6ARZboqz(Ld_b<5hCwzSsjYfjah?)vQWWu4*?iX2iA$)wnZ0PbzBb>5vXRi+ztg5)Pl&f`Ba5U3#uI#jW&UUIegxQ zKvgyEmDr03GZuqdlhzAHKHQrc1trCmzOTHqP|X*n9HU2Xn@26knFgA8Do1;@s(DjL zRLe|b(hFj2qD!$hjlw*fZj)2dJ)aM1eF%sqj5K=l>bb_fwI+a^5=6_dgyt(x_qYU6 zcOH?%1gsCBQklrbCLw*|B`q#Pffr_kKN`7LJj19a8$g%AXZ;420NxR+3P)JVK}#L! z-t%~zQr}#Si5N-lx!6BccpsI1&}7)!nlR0k3^)no#1ZxL&gQRPXVTF9rzRVk=_~iu zn%Q2cYVc8)b?=I#2jkN_Txe^nv}h9??=mTFYO71C2r;heFmHOBQ5La-TFI<_x2V0-c*hg?Tm$T$jX4pL3o=yH_P601c-yu<$ZUr?i0qXla-L&2w zL-#UrRa|#8J)pTK`C3_gg|RuB8ni(>-rP4v?=R{6_b8;;6l7amu3O(S*E-6U(iy~P zaOubr3Mk7Guy&N^zx=e1^weU4@LXkuNXIhr4~JNdyUJp7B6)Uo1=sL>Z)=3QsygvUBuE_pHbFzlTZKco5v7b1%6 zK-n_0S>*{XTgAJv$9>9^qv>G!IBaj-AlxRVe4WBWzMzU&}7NB8je3 zc{@X6z?$|&z@b`QafmF+!7OLJMRGJv0U^GGQQF*X4%ysUG2A0&! zwf)=Tu3q{9OW#-6!C(ouK>I2qv^2#&L0e@u;i*j%<1ABnnWO8T=+ZB{1TMwQ5_C&X zm~ad=ChzanRh=WzG1tE`8p}`ZM`}sN+8Pal|=gDc6VSDh#QhgE4V@!|NuOqv< z%(KQ>jf&bDZvQ(A`B$FS9kg(fhBVB+PM(aLB7X6x1Q>EPZaNVs=&9$U8Cg5lpqwmj zO^RI`AbZ&s*;|@2xgyYq!CaH1hNM;OayoCT48I{#BKoqUc28!VC`hv|k2o~4vX&$S zN9InSQ+_NL8WVOi9``B`6wjf;c|=HZ7$YgA`@#?xij4*TqErvFH>e7=C3r`ZGo;Er z6}h;AXI1I}1FE?A(&j{wE=Wo}EwqiCatwSQMCSCrEqneZnB*lN59DdT+@vi?&H0kr;gISeIKcS&=! z1*?Gny;Q?NT6gt7Ru%w~O?q}8yPoH_!ybPg{rziBeik;O0kUpJLhnJIL#T0lP6cTN z7}TY4|Cn&!LqJ`^?`YrCH)|LW(|-`oU6maHq9zd+ zPq3)zbG8vPg2+^1(1w$L9R0q7rrm`2_1W2d;8RY#|G<~~gPOvl-;*+xRFJAi2l95Y}Jtf1o5l z6J=6>C#vywoe6&s=m#S9Keqs801Z4o$O}UMGbKBkqoQ>7uWao94Ef)Qls&#L;>NCn z?0@h5)L-7EP<+OR`#*6LAOYO>*}cL#n0{)mKY1S{uNvgv15N+zA_*NEIP--b_rlTZ zPcrg9^Q@<+%N)N86wrKkd#XYnynvxM;5h}c%ssl+NBNnj{Q4UT9C(iVu#cC2P@8euKV0zitsA(;!r+%af4lJ0htT4@A+L_U{2$A1NW9bPd81t!`LnF8K?DN&pnB_Z zx#Or*p4k-bI#j^CIO8Nd#tkmQ^7cxjvR@MPB0tAp%3j5S3P*6?&nEA(H zQ3{y`c}&xJ;fH6{Y1qcv(}>(e9&Z!LA;G_`QyBH(!-rXOHzyT2X2Tiii*-FcG7hb{ zYFR?J=l$sLjTByU(^Yn(QFTYu$6<+AEeqUkC!phAYY(Mc@OihMs*jIP9|ZW+fxN&$ z2Nn93d;)*=Se`~Ine#lHO1>t?wbNlQSMK3jKi`UUtVXec&qWh{-TZclYlduW#?4Wt zP>{Ww-wA(#shX5;wp>+dTWWv}q!A z8Lf2h%&XB00VR&Nq_mWShJ~}edcl`?q{#;({@DrUL<%W)8^m(z=t)uSQZV1qIia9? zWrAyn;kbUk^+eI5ltNKoOob4E6ZO}6%-WSn3GN4y$H#@9I@gQ%^#h}f8YM4gT-M^{ z$Ood__G;DgwJQ1q;}SeiU?!tnb>Fa#*Hc4sQpH1Fg1G2yK3(to3E3AA?gw!k93CD! zpp*Gp%+-NMKXJ`w37*X(_z0efSy>hA@)d|{M`gAKTt}NEC^!n_sueo!1US|m4M`U~ zd+l!*au{fVf8EM+UVnR8Us+%@?p67NJ@)&pSJY@P9w5Zrz2*0PE2k7WEbk{=zLw~z z8zRyd$8$Jr1{d;My(T`ZmjKG$jj?jG!6QnmbVXQufc+)WsBCVLqp^wK1PNbcZZIid zM#yDT!hkgv8Nt`|k`kg#2S!bHdZkzjD`GxJP|`cAi=z!q2~Owz*WkFh+nZC(7C#@) z>n*)a$dnZZzem^;*%5%P%I}e}>zx*6oaR)3p$7$H-PpO{Rkp-$GsdbS>t~~d9vmXr=hJrm*;>}MD)^Vc zfD|7OKF4hqXjKOG;mY!IRv@p@~B(2e@_n$WF+=hYH<@2Wp- zi}zC7r$F_4s(R;LY9rPjhq3;aC+J5AYwf`)DU_p`^5i~s$&7|=K?=8rLbrzaZ+qWw z>{QGZj6e53h4p)=CRzh0Knm(_T!9{GML_ZgNaN7dP9%$>Ff!%oKp`*^ZXfQq6Gi%7 zQ^jyQ9v2&#DnI}(m!zP3cLuuUa60E%uUYik3omQZ2aj2I8>k2+dc>(yZJ({v65Y=6 z$?j;s`QDc6wgsVx*o)8HgV`T`3LgQ-;u#Et?Qf}dsx5B(NeO_#(bm;5Ql|R>+b>@SwJ1{!%h=q_{1LZfpCtQU+ zQEm~nIhg7vjmhnCGc`y2g! zU{V^=#a~;$EjEX`lzu5wQQ#9Q&;=jIuNtv^_~?4aN(LS9?ZUi6BYwBWk7Mt=u#y-y zhZhm_&l9}b7d_tdyw$2bUyViYvmZ?HyuGQ8!)Zz028==k_v0<05ruk>>jt{{S!4xD z#Zod}dx^{kcNs`#_fMv*bAi2DFIW7X_`Evw(^og&LOf01E(x4YFM)2a)`SX&$zpN2 z6BvEpyOAO430-f-cCOphi4N?j#m;k9=MlQ1-|;$KAKxtm*e9C zDZ(}iHRfVwmXCT)XPidwn>2(tG!}_xBmY9H?s8^tvrfbvMO@&41S_Vv@B@j!z@zdf z4R_-j(Y?ErGUYbx>x?hI>k-s%sW9V=O3u4v{8?LftmE9ER zT>&NS=cs z*HXB6c)Z=Sgf=xNlNKuG<~bG*T2gGn+2L5}rkO2~fh|6^8?YL~X7oK-@;9I#?mp1m zoC0|p_;Lc5Z3yk#=vR8PP;s!~tydOl8UYJkf)up)jeYfyqZiiirzx`n5a(lz;Zv$- zYu#eS#>@2TJ%Y2k%O7=lGe)A*A+J>vahM}op6FNywgWp!KT=QFA6c!!X%4Iw*cvoU z9JexWZnD^jLT--+?QxaatKMQV!P&4{xU-IrjoSq4Bc>7$wpT?;Z?qgQh*x?tiMd&Q zb$2w2qR@zIxtpH0 zhc`YnkWY&;{#}Fo;6hmd{w1cfM32Junb`^4aqk@kiq?0W**P5Y09xiv+{XG zLkRXFwXDz{dOx2=swjVhjHs=lq48GDj1O+s^Y+?Hghd&%0wNjqB>Uq7nrf0evh@od zrg7h{h~QaC5zW)Z`0x77R;N^bgBdM!nM_(1aviGaI7CFNAR!_3)i@#3eyFgXD;O)( zE2JR#@Sf~Lm;{`*W?Fi>n5F2z4Jn_avdxXC^Dy$%hW8_G5&_pTCj712qLAz;x1#J4!4WeHX0lVp|fhPsO^ZW;5l+}V*XE*=uAOKF*$%8Vb z!Mf9tj{+Ig&)&%Sh3-2sB6#Dse@m(Z_!*+5d3|x5>X>IeSEo?X4#nB{F7iZsR=54L z@eQ3SkuG!fIj6OJZoHRr9mpRTu;Cv)!WM=Td-00I=AoW~U!$e23mLAFbDPmaU1VHR zvWVvmXml*w6k6EuA3l8cdHndzqst-5%+uPf+5#nTj+}~`ikg$!Uj39jP+Mh}csaf1 zMmOPp(eDtbf@&WNl_|L733b9~samL5TwMJ6h=sV@`?J*wkJhf^-fXP`v%XhFft6B* z%ttpgYn57{VK++Dc6r#9M}4VGiOW4QesxfuMyYY9hDrPi;uA)Y>FKyC-%=1;QzXAt zZoS*Ih_l}HrdoW6BdN8RFq=aZ4rKGasNY=&`M`6l?w4*+#So*AC5~LY4G7?xqI9w9deb=od;#$y@{U(S-EqxV#$O(V@NzzBtzOYAS5YUg%bc_|XPn$S zHYR2g>}q6Wv>#W^>GAHa;}K}${Nsl?{!BzJVxpAW&*T=K`z?<_m_+PZqN(c6eUTV- zfF9y=pPR*Si-JGdwYHebIje%}^CNS8dbXW!kThk$D85bRG`EwmsPf$YQp~M_IyJT2 zc`iLJE^eOI(&yfLQkd`^I7IBf{AXPa{#KJ;v20Re+O6c(ywJ`R&4aRM6#5O7%HW&V zSJonl^#WGEJ>eqfos-KLq{(Hr%U!^wUKQ47iAM*r2E6aQo@lmqp8SlAw(Nwc4gx&m ztzfBl#j7QbJCo{uao4j+v)P#mbXKhm?PP8;WbXToKw~Jt%&#C^7ckZOd3eY^fx+~fb3M%q>b-Pu6(+x9GIlixBHBNT}pr6Oi@;fl~N*jH*YCbTH zTpR(vN#YHLc8&3)DIKU|>sAx%58hY!j+fw579lP*-DuwO-dFR?AtaA5Cr}ct-7;k; zifRpx#D95NFDsmVFC9=JO_o}3Qmi1RF%&l(sc0EpKf;A?3wNwVY zLv{(QSbBHJ&vkWmndF78?U#4S&Oy@4ZMln;#=SA~HEo}W*FaN>jr~B!7n@taX?rwx zz3bE(*-rZGjsHYRF9flm_Tb>a`?}ho89vYoNjP`+bT!sGz-LX@G8@}@=@XZfqobop z6y!3epuq7$vs`@dpfMCdT@PwqQI6~GaOpBvyIT+Vhplz^#gpC4^(0%^mpFgP^Y1q< zDjUwv&(VC~mu8-HBeoB3@U^2Np2VB9%KS2p;1#@8IzMz{?rN3Gc6*{Y>(qL5`TKVT zv)ZTQXOmP4ZpK+VO$Q_2#)6g4HP7zE-rlu%4iM`=?61q5FTg}wqxXeRm#RIJ?ukL+&TL}3cNDH-JXLpQ_ zq%ToOXrdijY&QG^R{1v7Ni7Pbh139`C~iZofdc>^pz5w2bTi+xa^qqcAv_l-y3{N- z5G$Gj02`^cH+N;JQFG3t@4lqHV6>OT0~qtHNiO!fhsnv_9P{anlitX#+sSq)`PDp% zLP+t0A8iuhBu`ZPCl4ina~bX^+e`qV5=}bef6*8Ng@_DsE6DMALoq%ja&g=^jv;u+ zH2`pK4Q{tcefbI9w>B>(No94*v=klWD62&@7I{{V9XSP>69NDolsrDi&bt2EalaI* zFTGN&-^gm%)={M294CtR1PTNVrmYS>S-XqoS-){xiBR*#-PxW{tG`f@1R_@3WBG|u zOgePr9%uR!9Qlf~QGjf|PU?@Gt)2JAXu6m{ar5xJ7*5pOnX7il)wb*9$Ukvvy^9gx z0f5-IzL0lI`1NOECYJz$b;!YcseAaXojeK%udKP*jO#f0km}aCSE)DjPlm}0(pJoQ zxaGb|LOK#W&Xz~&zwA=0qXe7@Ob9DDsNtD!k?1e&RBVuZW#2-7? z?{QLEl>pmTU&(y zzhwhu>$)Y(=J?~G@?UP3#t)>zCRj1nEny|CgiTHF@ldx-q1z?h%K+AK-?xX(&Nsea zSqx-$T-|lJ>u7-RW67OEF9W`_LQr%I#&U&(%iJC=2mfjfC_cik#n}ayf(o>%df^?p zX6%(Fa2aGAw(=`{RU|RClF0LH=e`HliU*=OFbXv~`ufW0K3GxoL(7VWS-Z$X7m7Nl z4fBVlzoXcoE#$hJ>$zKAW%38x%&Xmn*}j9F-{C(!EY@O z^5HE)ud6RgeQrGt!V zv$C+R92V#YS0rVD*JhoUuuP&Dn@Q+FW}|R3#?mO_9!?A+X1Mq3Ps$5O_1d@Kzj6Wo zCB6e(NYk(8he-Ke#Kfk~BI-9}F@Qa2aN#ensFsm`q3QY@yqX@kJWs2FsdBmS)GFU~ zDu%;i`C_Z^9@F3^mbuI2tZg@=oDV0)>sIq!R%@}wj=Dg6=DVtQ%5K!O--^A7dc7i& z>yMwGuU;&YH#84GV5;ow?ELBp0rif)$U%p-<()UrIWU|wZ1S_RI@~&7C%e+}^41Rg zw&DzI)@Ef6*wM-yRE zFKU1##>bQLTM?hcO|xVou`&{js|J!ZPtC0w_P1G*Urw~YY4OL|ZJ&oC$yl1{R%oCO z#rr|~XDw+>azSSLHKx5H;e1DW4aWTmGn++D368apnBHqZt@wZ@iW2@211yU^{Au{nwGG_!DmX z{-uV~S!2mb`w0S<8v`GOJ4{SHOwFbX5(bk+;bI@qNUgMde9*T-1|vRueqdp8H}sJx zGT-IPPejpW+3H3@7y}v{khnOK&hGB5feEXpUEaXw_FO(E11`snNbojW=GaBPJqxGm@o%<})`*1Z8W#J&3ADM0ltAwl9(wVyyBl zFD0>eSj2n~-eIu7;?(8p>@Cf*i7{k3KYk84Obgz%t%tCeF+z!RVf;JMPYwi%OiZP* zrUW$7rR^jiuj6k`lEUhN;D$-I0pGaCNkv08WA6?!EuWTtF_qmS$&aa5fbXp0DYTOR za3Z$(9m+j2N8w;{p-1(aPSdbDSM8*xkoK9NZ0&X}`^E)7D`B4Mbze8U5C2gu5%>48zwwp$&r-Gz$X?ps< zz$q;#m!ZmjV<@Xx=;myx@p>)ZDd7P!=I-miRch+#4adWo-Srl5k;C>X1zPqIg+Yj_ zbDI?u*H>+Tfj&g(*?IK4)oH;iG6$<}6sD!MWXG(X06tAU?YBrt$ID~i)3&ykE`U1_ zpZ(oJ9xR8+2QV&etEw|FGDdv&(hlPH+-bOHcz`E5g?CG?nN7_Cece#zDWrU=+@}a>2Ie)V-7u40MFX)UI(ZcEX?f<8gm}H6V|uc+m;AA^zj`%u^N}>44LAWBmp- zU6*uu#$k}ORH0_M6jRN9Q<3-q5RBHKY<^dNF?s_%aVyFXr3~;N1MdKu zuRCm6@HcGXW%aO#+RQRr)6K}(*l{T$%q^Q*IGGmp=od^3gnY8EI)pwYSE` z>jTLLO&H9;yUw{E%C5~siZapDhbg4K?5tW#pqGwf+EIGmzAR|=QuH_M@!K^2Y3*LW zM#V-YA?S~WzWD8jUzk3}#L%5=cK6c3Pv+LMYw=F#?wEPh*9**S1pZLL1L9Jvp0pPs zw9)!i2J1g3`t9j|zKlCw3HK?mCzKAf@&DPd$LQFoGL%n5{}9!`#-YDUGsS=sJR-cC zRKgbJAAkFatIsds;JqYU-aP#q-u~A+x=Othel6c=r}NK-eR(QO!SeAdrqAEe{0~tD zu7u^$uu->ZT?+n|RsT8cJ`yV86P&Q*|62Rs{CAxepojov_|8rK(wG;D zu8iZ^<_8XE0USj9GG)|;E{iV;#f1J50TS>fw$5pft_eptXvhw7$LYL6^Pfk-L+d)GJD2JNRNrNI9BVNX~! zCx0nc{fr4X^!ywHZa2S#A_>au9>fpkHMA3Zrn$*IS@qEuzLZ^A;ume2M33Yyn0R(g zWPEz1Cubg@7sLKkPhtG2X!XHj(5Js=$$&M|wo~8Ow$p%>ohO%NeQri89tAeR)RP4& zo*mRVjgJ1hjCS*D+sc>kAHFS6%%0oYS)oiVxqikyOjBj%k!@;viD4;FBGA~(9W{^r zi=RP?Cm|~v0oYD|6sc!Th@A zD19PyeuZ(zh=x!i3K?lh(A62+>eFAASBx|?1n>3z%$KC3Wa#RuakNH~*QsWxPJ|$= zoCg~{NB~~^XZF26)9X>V9j5_+cta;pGm8_bxhBXfvenekX9p$6+4T z^Cf!A$09Mu6+3=7Ee>a?I*E@=NbWVWG{>@D>0WH?HELOUGW2?8-D-OUnA;&-s%3^= zQeKo{2QTDkv3at(SyfFdi;^|kM<0~1+i){<7e=6?A-p^^B>&ga50HTRh_sXx#h93w zBfrAuih6TNiS%*g9espEXNBy%C%3MhiS$%IVdaiwy{@j@*PMnp-L#k{Jk(?Z838>6 zk&P8+*tC&|y3HTmp96H~Rph37^AX>89?DK764H$E_4eqXDh!)oyp4o7>mBVUSDZ_d z%Ao!#<7g%wckL)VCW&z)-)y`I1*^V)Z5;_=3LznRxdcoGEPjI)o6Zi2sG*^-zJo@z zI63^E*|90;6VDn|2?x+eDtkS|WdoUkRo2N*r>bJ@t6Ne8s3q$Q4A32Z9@fxcy8C*MJ97v+He2p5% zP#B)#U3Yx1E+fM@8)#4AT@x9;)!?i=O$~qjvf-v1qkfLr$Y`Zc0Cvv+2-GR6s8C~J zVY%kbP1A9C|G9Yly95Cm3W9Fo>RP?Lx{4fy2IpPx$PX_A&s(8(l{EQb$4AiQ&rS+gI4f7i>|1>0Iy54tnQ>(Gxy}G*5;N` zZ(DxJVd}M_h6;V;nS++DRisQJyDo61QAbhWa%KtP+e{PpJ^qut@JJP@n8=sci=*UG z+YF3aux>3emGbG^D3i48Dh*#Ortp59;*_ZVuN#lv3A1~}#evrRSe(vZC*Irw@!2_a z8gVG|$xrxOM>X#lAAlm@H0ZdCO`cP*ux6^(62(%he=Hnr^e0s%rF}RV$UWf|;=1wL z!a_Uu)x`MZmIYVGWbYJiubq=@GBMBFlIN=RPz}{WPdz4Xw}Ku)BU?RaYg&Iraj_&F zox`=caUt@^SJtsYgfY2Bg++}08F2_ZG;^d@e zu_qJ9h7gpoNakw&fH(OG9vwy`PNKnl(VXZ5ej_b@PCwDs@rjRObPD)$QQgV?H*Wx})gsR8>0} z*^ggM*700jFSNOmEtr#G#JVq`8C=|wEBb>$+pYnB-Z*=(H&M#WL?cH0%!Qgf6a_ubrc z+_6(^#AnpS9U3xR1~t z$H9=8B0Gw6$)j&9N%3>DRj!3Fohj%EX}D;+93nHjy)G0mBx`!2YHFlI!+_q{@yt6@wj<^eQT=(8b>oRpyw#dCARI8JatPaJ2b0OR%yDU~=qeFEQ}eKAEs`2*hF z7%Z*FVo|uk<1t6PhsKF?&B*vZ4isBC&tIfT_+G& z#U>wWa9nNzb!lf>b2B^zF|zdasE$6ZeNQH!OJ~7l873+&?cM*lD9#~4hCqiQQ-+L& zr`k&3r!na-aP;|k*$M83U4f$RUX;FuAYnmtGL=`JMw1$O{8E%XmNU%7apPneXR5=C zn%}Qr)48OEl7Ot#BF=6#?gNvN${JoAr>L&GVgB%KbI6Hwx$l{62|{vS*Cr7RXjb+B zkA%Jv`CjJiR=8AkOOX$*I9I?9YSGFby+?oV)etW#O(pu7N13}jj0ZU{8iC_ctIKaw%ND2E0Yh}j5T}+Ku|I7*P9~TpLEruf6Z!7W#O!-yAdUELGn#l}RKJZ=vmdzAVTQz3VN zKVN?N(8YQyxQHbQi745FPV?2uDKURq!Z6B-cOwE)v!Qxw?}^b-B-Nu zT&z6JNhvD%e$w35wr6F}Uf1G@^QDPx5*-Ujw|5NNS)MPr@07}`^?c$&!9Y4$UB&YL zM8G?tVZb$bt{G96*JGcZJ5G_L`i`DfV1r?gc*`B54SbMt_+~w6-{`H=4&S=+dg&p< z74Y)yTcRzOuju zsinKTOX_d}F4{`XirBBAQE%nTRgRi0=_w$+oFd-qxK#c2YKkmhLQPi#7cx?8N6|$N ziQD~@SjFFkgCSK%6|2?OqZB(V7f-Z39_se2wBPfB~CXtjXDPczx3VbT*`Dwjye z|E3$~_Ed?Pw_9MU&&l3p1vdNyWeqy`U|zdq-`+%WZN9TwUj=o1L$PV844wKP=);FV zcn%GmJE@k`Sn~|)YLx3Tt+O<^kP!ov=oB7^3@7@rX7eQ$s`;a;K_Ya9p(e-7hyLuQ z9sNz-<*wexJ!6P^k%EL6xRal$9XzlQe7*f5cwb7!`@(67cqx^`FTB0phOj5#mbbaKTX7n4_e11+0lO30 zMwX;0lY`2^XP{SJBzy`_I5g3U%JM`+eSCKH*REx-5GUz1p|1y{ZEsWidAypIh_p*D z%QhVbCp+}tF9)owL3qpD2l?}rot_eC=ZzZ$@C`$DuAUMgm(jT-R+>tx-x+M%?Gb?8 zuN})X*Lw{G>$M$gL8JkD$Y{}j#;fxLM*O*~xL?pP(xV-GuzGR2lZt#O_?gW_F2sya zJ~5vQ({xRpx+R2J>!G_K77_MQ-*~?9*A&laW7+sOnIFn);y@ZD`$0uu_aBD3{#{2V z(IBSKd~r2+0zQgS1zX!>^k-jiY0{rmF$W6n())Tg+(OR_XZs0<&DE#T1`HUq>RL>wF8!TA{O%WJ^f)l_TZvP2K7~) zAuiiEz(jwXUU7#6fR_S9Rn{l@Q1+7Wo|GAd&p`Iel(djYW(bdUt&3bZ-(OBn z6g8ww^%bo|3yj{Mxjqr}?8|PXj@UY?lj^3g@e`fmO;m@7AyxMjGZ~S96jm)7+al!a zA7;HI-0ndBCB*RWDC-YB^dDEX;_uMCbdDGpfcRORb8jRZgxW73mI%Qt_CeSxf2x@T z(F|Aq;&8&QWp(zBi5k?6aysg`nD&H9OH(#Kb0isB`suXVRrV!h5JWi7+S+V*Lf19^ zERc~=jlNFI0wtIPW7o8fO9b(<_1e9#^oz5_kw!zH*! zM*ES-sw_Q$jjf!)gl~#LNAPUFSlGEFtxRSYy#AI@$n^sQzol_*dh!$x`^-;A@Fa2o z4?E2k898?-LfcYf?u0$iU!$^+Dqoq+p333l;*p@{9^hm|vP8|g=NZ{ARguv0;P8XG z>t9+#6CoeA(spxs^hjuwzRk7UoFawP8ebHuuzc{nLM#XhgPc~oTX1319|cXP1#g(&4!*bYMeeaTL0ka(wuCTo!p=&LLquQ+ z+|&0L=s=^>f<&l2L)dXsccbFM4+7|DJNg}*TERl@+aJQ!Hexz0%Q7-J$E?Q=3!#e! z=f}+4M8YJ z1#|Qp-`xP|0*^W(_Pa zX$j>wrksP@`x-ihH=_M^R%ET*sNKrNtr?GYcrS-TYxb-@(N&?&y%#sXDJ67ipYZ46 z{6KYE0g#CL`UXbS`-MY`t|&H^k!w0@T=vl6&?n5Ms<@TvF&Cdwj(HhxlJD3otW1Sz zpv&Q783%C%Vs1GWBi#U2emn); zBV|OJ4iv0d)E70FRV%rx{&`3jl6F9Eo$n+PiHGj4_uktsLtbvohydlMU)2#v6@l>8 zrs8vB8L%eUviUKnR{a8Y$^~G$L(Q3w3Zj*0I%7U*#S>ai)@fzP5zsHa{N&HqOzL*h zSx}4e9*h^~Xl?_gBDT((dMZcF8{aSFZXh;&C&tOWHy3GYeL?j7)a)k!QI~0u4onHb zrcgq{JACuWk$p!mp$6ww_c5o%s??wD(Nd=ydXl%9y&BPI(pamoI^>Mzx3Uk94j=)* z98DM9`}TvfFM3YpuuPfAp%QeL)9al+YGNV;xS`!@!SUyRlUe+o8V&RV)zi_ZPp5Y9 zvMe^$&$4Im18haW^5IW{o`nQ&^KJ!2e@PhoB0tJLnOa?z@6%vV&NXfw`Q3$fc7COw zAQQ{YbXG-0Or37jIJ`-8zi>VCy!tiYDq-`COG%BQ?kJtDz$l1t@z&+r@%&2vS5`5A zT4dVxeAG(`ppOO?0PeNjK9h7>|1c+?$f{CW4mbT?Jh)pkpM(%bWbd*@qc`McQ8hLZ z+T0Xr9=tsl+KB`i#ZIhOj4b8|{ZBT6Nij9wclqo~RycWkJKHcR6)6i(Ns0aEyt4CC_ znIupi6RA$sfHOg}#WV!!7>?U*p8)ts>u`MRMQ`32jVP+de9aN?L_hqDBX2gMCh{^lVDOi40+Y&(`hLoV*f{ zDMv88vBmoL!P?){B`Gf8{VG%utnttzw{wq;LN9H+g#C%EVQhy3YQEwy&H?s6r6G&v%C?8 zxL0b`oo#f-Z8446%;RBQS9Q166~b}4xoEv~jX_3L0>U)ZU-4O4D`FB(;~y%IWmv_x3o;5poA#K#;nqRqIYn6}u5WgpS zL0iz95+v2#AI;n@7Z*-No!)m-ixOh~bl+5+eC@q29J3ze>E^TkZ*8Y{A9nXA#Fise zZlmiGt>bb5}Ui0=(XH1j2k<_1YceZ@=4f*1(VNzK~hFTW;l&&L;S>prp_X|gG~Ud#pJhM z0M#cY81Z|ek*X#^V=qHU=(u#R-$tjYpipU1EV?4jkZ%pLuqf&E%p zr@V!utd2i#Y~$hUBIwn42_e8)t7^W&DeJ;=sA5`8vWb=T*8*)mI;cqj&>5bQvGDU! zx)D)F*H8}F!)!pxPPB~f^)ve7{FyS@sMMMD>87M6{`2XTVo~4kh#!AWed~yn2lQE$ zriNvEEH}p@EzPK|+`-|Q?fPd&q=P2pEo$;FZ{-09i;Hoj(JF>9u;Lu4VbyOLsiG|9 zVidtd823cgXu#bN32BPWiV|!ITLF}Av6MGnSy{m66P@k#+Q+uC7e{yDv~ngVD;20* z+dmleEDn66Tk9COT3>(>WEKCw%fO)IcDZ)Q&E@EJXFW8l@E`ILWt)B|j@aUX3b41lu^TdLTk6YQ~+#)$S zb8=c;zDjU)DPNB%?wc)ct#vzp)jtCJ`N_QCC>p*r>g<0O-v}s9==UhOSDDYz%QZwgBvsC{^b8mcR&OWtv)JuWInis! z9KC~KuqNSWme(fs?Lj0@=<)ia>T8QtV`35RZGJ_*voo4w#?!bF*4E{-#_;*!wAQzx zpGa^2#$#7GpdJT*(j-0LO}e9zdLe!LuE+@q@gGKL96a>1(-i$%##Yy z)|*QI$%yZ7xV{BA@s}45-rW3;fB%~~`_mg)cYty`cId4(c>~caAR^`; zS#67164bEcAF%w!5;}~c0b(ARr9bZEDg4OJ{xMF2;$ZSweVWsvQ07_I%e1sdEH@vk z2OO#`w$7U=`MUVbwhEO1>}nNeVxx{a#ovSycH=9sFSSDOoUzy1D#<$J4iv;9(-#S0-ZJ2Ua&Q8HZ`Bo3bv2Z<%QY}bl zPVb$>ar(=2pLBZmopw`#b<5rfm(*ug{$1^c@Eoqh{`d;`6gisb*ErabHJtTXp>VVL zPUp0di^u&gDKoHf#+vi3>h{EpQThip#BGWBZ)2zK2d&3e1VuY8pmE`)q@c0>oE$ z{*Px#Arx7%q!hB3eH~gPlqFmCeP6S0V=a;*WM77oeUN2j8ARFlZ7^m~7~2^8U@X78 z&vQ1yXD}CpGkVtgN!P zNaol=Z|_F3!+cY4#%eN;A4qCq1~DHF-dw&Ahlzd3TEv)|z$Xl+(_wBc8-qifQWxb} zFWQfB79bqPT?YpiN6(}5<*E#=5_Jm$)r+-`jj-@py_#4!J|9r;qs6U;T0~ zbe9rHnVT-z{$Ze+PhCh!SxL@Ju9IMqZEk_2WZx2pw5f?H3As z?UvIRGFX!&VT^+$BNUz^Pe9^DJ#C$SSC3W*0D3uLdar&u00kCeF$1E$G^k`oArY)` zVA){7$>Vj&xpDffnorZr&>#$~yPEjB^?Q=53O=TD1bt`ik?7TFBuM_94ihSAxJ`W) z$rrepBN*${+Y+v+TSd(}r~W(3pwN76pskEUPVTSxge;{Q<_?*v(!H)zjCeh2?TIs7 zOcqtwlo5(N{pr{*vqP1^eQR#gsdJV+gLjjLPEH2S-8POk#3lsm;}UFR2_N!qjo7~u zoFF`Z%2CtzQZ88o*H|egRR#vJ)m9=rCuU`8_UGu0#U~uopz;^`yDsP#sopacxm`nP z+5ffelXImy`o{1j-@4vTy8T@q|6||&z9i*IshTES0z#Ik0||Q}TOqM+T{L1F*v{J2 z!$VtZh}jEv;+ap%*|op9{=GQxGtLCc;F?jQ%6)R5k9YE{Gguw> zdU5DkY_OQoz_1I3-%gHJnp*NW~rT|(&caHDo8sdQ0wqyE({3=4Hn z;T;KQ9$OVfw2AA&s9z~&?Q~;7`wKQmWF78UIxZM>brTsISg{;P72$RFji7r_=Yi4U zzOtvIU&VcAxfr<``m&;A?l%~$b?7Ib?StKeRI&|mqZz=&wP3NsuU!dqp(JRLyGRy3 zvF*ap0fN`1Iqv=~)w;yUk=}9KqJ6zcmq-4EszYDI$A^LYfXd@2cYxgBL4RHr^S#shEpAxVi zZ>`cp*@`youMFT0jh9zNqQpUj-z*x_B5{^!E43%Z8qhTJf6q$ut-tmH?T;#Dvds4o z$1x`DamvFjzgNX@dpWVnbhqfD$E3$NH|d~ncEf2J;P*;iPM@PXVH<5m1TbH$-2F26 z#b(!%4F`L%k!SDK5@+CrHKq#H=ah0(T2WLxO7G~S2VF`}7#|N6322AdNClU7I22dq zW2K-^Z0Wa3FDD-c?8oRDygEl>px9(&+_#?%dLJu0TYcdG9(_)K@>QwtBfi-sR=9Ix zkRH@xE}g-~DHV1a&v4w!?I=j0?N;UB%j2K<`M{XhemzS-cw~!BXb>Z9(wdpz4tBp& zgRPXw%bdqLLevK-0(k^XJ7A6Z=>(MZ|s(=hKN_HtjtF@T{-x}xb&RCS= z@>&^mw0zbt$KzmV48y&=`6_liH+~w6{B+S)p zrE?-gf{YW$XlbGjBgs%8-6`p_2aYHl6^Y>RmG501hmXf;7mEkC$_z6()Gt#`b=W|; z>@ib;FHQSKtzS5nt;^I%o}7mEAvWdq5`)xTGFbgf*UptOv5n(LZpZOWQ(Qm3Z&%=k z_>fZ+?lRriV0eDrXY0^C3SEX=tv|SQR9Xi}zxLiX5!Kz8rvWcS9dugQohiYvQ#i-& z29K@ore#UnCRPdslVZeP@8JNP>wD@mn`VaJRk?gm%QjK$tl9ibzU`Wt!CQ);y4XLanYn|HaD={gSYUOYM3<=c98}MvXGxnpYmGcouF$6<&)KqC9lpx5I1AfZw6J z)1vS7jTJrBofR@6%yLnM?33VKLOtzu?-pT8cLYvfW{Opod%MZNNG!)Twa0<+sa5K9>!fzt4S-G`3)R&pZylV&zM z#-`Jbj*eu>#s)MM{>%BlVGX_X zJjl=CsafY#%qu(d<`pha!2>H*SY!6p+IuFEo)f4TaY`pS|C^q>9LBU_!siw*S3elV z+q5+a6{qd4ZfHP|>TxMLn~mTiQ>RP1`Aa;-vDHra&owfbgZW7RvN)`|!AI8(-Z&n0 z!d$5{$o|~mJ@41RHnuu?31B8g0-T!UUVlNZIIx`iv|Q)|xpZX2vJ>o=wE?2~x;C<& zQS%`pc>A)0M?GCWjG2(sS!Yy1IEs>VAe3FYG+DcFZ!b|Ina3j9HYe}kehohntMs*U zuQ)Pk=RzyTcF)2&;ePkdOz{8X!kj<*Dz63fr`ne*DBTV1JWJy3JH#fr;RaRr_9K37 znsPDtO|+PmPD$c~MRjuZOM}-D#F=@QN`lw|t#yZH&Z*Kb#zY>=MqJsb&363vjw z#(Z&aDjc-RraWh!`TVIy*22z2y zjN6(Q`Ez6cTZZ|J)MA8;+{=vePd{u|rf}urqN?xyjMZ}@r~}#~nwaOqIYV}FwMuIX zR|Ka&yL_5i5syVl&&4LefMq({c|G`uA2V4r;<1>O*uz%)k43Z*y?5mK{iKeE+F5w- z>KT@)lAY;>J@>{JLWj@n&(B+P1Qdfe<PlkKr6=WOL*wRZX^H)PtVnCGOcgxBm)P zComs+!c0NMn7Ur$q`e_?4v9xQ-4yDIvNf>;7gbc9vqxeCgXy+%rY$6(=YEZfFV&iR zo%Gk&A3#SY*FkzdC8dEiMM2-)r9t_(q^`Exc#Uh#C)n>p+XK}2Wb3-^V+Ry$p6V8; z+d`D}4sMG7W|6?g0JdTp9Mgo6q&-kro5XQCr9{a1r4*E^M{GXIMCW?% z{$(z7lZ-#Z;&j|AwVsup&p}YnB}!7moeM_$bsf`51~WpU1ia|k{nx!Y{kHV`+c>Me zEtLfka^on0-#NU+FJ&a3f996oD66Ui-Gp01#1jr~BqG1{mwPCM7q>c$6;^>{*GFpO zNL2d`G@#IA9ck9Y%qd47@3l_p6L;fD?{3bZ{R7he7yiX38=)AFu=M1mCy9D{^B56D zF55_m_PfNRW4w4AxjMm0N%8QWnPGpcoQvZM^@jFW$|j3`@bc>P1EUeXZ;}e?^;%k3*j%5+|^ctq!HX z5dNf-;aD+}EC%N5gJBmxbLXqe95WS1&R2{fT0^{PU{>WdY{ff44kxf0cVwe<9NodY=cG0lBVe)iicJe@HbTywvnSF> zA$Ak~3M&meCliq_8FO(j@5pD_?{ekHqw_1TLaUoT)Ae)@K+F<8 zh^Q4K;N>Gi(b0FZT-j(|H@ex`oh&%S^>W{BzoRtSlsFj!X~6~sXjMAAh8VKAb&RRJ z#F<>F7&~?`T~5wC@b`~01&Ne?4{k^LbHO{qYX1Y0`}gwM0Fu;yqKq+sg=XuIifpJA z#azB4{l}@8Gtc9tlKWy3i*FZ1M?7mW$Kx0aonFZ;m%$u$>hs3i^XDDKsxt;Qf{_=3 z8#MZlo20@mXIW7FeFFr9xV!y7-Q-UpbZv1p+)T*EAqEp68^?njWP| zPSe+?Nu07Dy(X9MpO3hP#3d~|8E}cJHdR(mYMvh8ni?O!v4SW|7IPeX;8mT+|Gvt% z|GJ8g_iq#FXa(Bf#FspO+C1O@U8A&^HmolxO>V^%!~=D8UXOuAta#zvu52hSl33grYgl%e+ z3s+1Bd;qn3CFj?Dn}2^-E$--=yxvMisc|Mp>>8!bI7fZQ8ZSgPH&m@gfQgkkSQ}>Q z!i2qiLEo6GVw)4f`ugL&?W?F@hOys&PwO1`W=D>UAtpRA_OQ)zX-|? zTG4Nl6iv^Xt|*FA@WY$f?hLu2v65U*+z^0Mv+49`mbBBmPVF}YYS>w7f-g#{CZs)E_lan(~iEe>> zFY0O9gIFQHVvlru1eCg=X@@#Ln;-)8>W&84&YDUN}DIewUK$ATP|umkd2O))+8e^N~0;MK%gCt9vUlJSP`ao+8Ez1Zgs znOD7n5D(9?AKK;<=7YBn-wT+lQ=X3TYvX35zK~jMnOQK5dDriIx3(iE3B!X*z?pfNU>IQ1MWGIL&&ayjjZQ%>IW5kJMn=w1;DaI({5EqzB=+ zR&;Ua!v1JrQ*QNVHcJMjvjfFGF&w*7vR}#l9dFN_YxQ|n=X3X-*+SZ#3ReJaT}(7?0dy?-I$7D zl5gN$Z;Ra65$?k28QQcEfz0&OZ^;V_8fnnmXC||6*HAHgpA*H)iOyM2ZOQpGHbFbg z7fDeSnrVgpiUARDl%LZgO?D~*bAqb`pyw7ebIN~GG!Rr()jMP z&oP6gY_bI`&TRPI*D&~g?t_3VLNNPgx0V6ced4aXS4+qby4Z}O5D-Lttzk=Tf2^jF zGxiA6KmYM5jZg)n5 zo!lKl-)P8`YyUd;2Whh)f4ixNvG#VZD+0Y9$~Lb8Tu?GqN|e)`X2u}AIMwu{p`sAy zYL9IYL>4I|B;Ov6cX&0n8{It_Ah?IG%)!{ z0(HHx@FmPKlS`u2GQwGo&i2&t-#fy;++^rYqW_~Tncke(H2zase^Qp*FuqpFSaX-V zC}V=EH}=8Boo`b3_QDAooia9hop@QPS`j46}!q zABNS-SskgnmLOowtTD31KdD>L?;i$AzI9>rwB_sC`Y!Gjz{1rKGEy)JgUlwc#-?yO zwYnF3##ZQ8D!N1{>QDBOKFF337s5s%$F#KAK?XFIZGU@(XY-3D%3-K8SWrn=SU9&- z?Ig_C;P&lMZEfw2@O0Jd+-1%C0mE^&-!8@ft_~B=rSVu3_ew`rQo`QS`>R5%?B)v* zC+;9Q6#cNp!#{)AY#hZCZHLbFxxQ)Msn-rVibCFJ`D*oWS%bn=kKdnW<*wGe@UgP; zQYxpgFrSq7Fy)~z{EGYis93pM2qC)GWAN48T4tZXNjeG=6Isz9rh!sN zc$4f0eUi|+d77Sy>CLrFJuk27t&J{asra_0Okexo0qfZ);;iSJlVCyaUo9AbuCJ46 zG1}>Ty_cpV=4sGP`+1}9Y4U{_M5N_!y^(1MGwTLe^5w5#3a?u^*O&EorFqA2{haCi5G!#HDcM4UXv7 zhpKqipDPFLqXZ!hT9+3OjG{U`%3kE=ALKqcfwq+8G=aVRd#H%~?;jptj0@fgjDbm6 zd^xKRb4q=il+@+XFULK--{;d(C$~SBU?EiVgF*dr!0Ii4`NzZOH>6J?%^{50xosgQ z6sLYMq6$c2-8meNac|z^eG5TcG-`G9$_&VuLsIzMC#UkP%6oJ5BJXoaTO;F~k+9BI z8hQSH5TWE1o6MM0o$rRl#7E0WfG%`IUuE1oXi3#H{@XW;ADm57p2LqWykEcYmnr$X ztI$vZh3CzoM~Afme`*E*?$9zk7}TC&@7wG?L0sAFFo85cb%<40z>g8Dh~y-8*P?_G zXj#|#Cd&Pw+*2yJOEy)+Dn``q1ZJSAsadWHaNSnI1NYrig%!Ig9lAR@2A(p{H4@em zGG%M+1B1H))^WNfW%+nxxJayhXUHL&mM1#m~SH2rxQZ z11#yJ#4>$dssF4wM-PDnUOpguiuxD%K?w{@P4Od40-!)?>QuJCj-jUJRe+4K0br@R z4chNim)6?ccbc7D-~B;`1B{Bk1l!7qyc`cul6C`p{u49DrpKGf!hw71GZ=sZz_vaw zkLyz`)i106cSt^29nhH`dQ3HQ{7a&@nA;3+&|CFq$yp>4N*-s|&$${KX95&_a+^oE zU{eQ2$FGL-{qVU&J(DFDvS~&EgX_DSu$8hVG(nS@g(b6pt-6JJlj!f{;;(z5M7(c= z6>#auU+aOP*U7c@^klA4v54~nM?=_BQ&Tqq(mrJ2u7u0fr|ZT7H(#-weW?1q>8T1Y zfA~M=7Tfkf;{^C%Uv->NzF(1I^;lty4GdV= ztnCN)EmhhLa@d{#GUc}q3}wj8&Q<`3`VVII0SeeYZ*y~VH}+q6n*LU<&v_E@{-++% zlIE#p^3uqzhX7o}oxn5zL4Z(7kM{m+xqHgWQ66p`Z?1lndHQE7z~9Lxa4(byu(NI< za&9iaa25gWl`m*-r!f)P!EL&mnR0GDuqx*GG9LXrhJQYW89oD%J6bE!` zXi9Ow9{mK*&MRaKkxv0Wu)?~V!4DX;FhA*7mZ(##t88H4e!SD#R_)!zlfTVLyYO#5 z{XgGRA(>L+YI%3md(-TPcSG3UMrDi?g~XXF$h=o33FF=#KQqrkKbiasb&i55?fQP; zX8rV$+Wpwe0>JQ&q#vxN&^&p+O{+_?zU4jX68%!T8X8vs24oMDA0ts3YdtVsZ?4|` za!}_C%)04Y$dK}wGX4!u=arBUitG9J&b-Ca-hkq}(M4anj>Q%?KiBgraxFw%wEL>? zv$z2GO0Z&cOArlcFPq=A(I^PuA?^CX4U5SNaB(|;fe-gKW-!2ji~X5!nlOm-_dz9g zDuNUH|M5Cbhn=Q0V6!~)iv|DBRXRmXq7R&gLLF`k%=lzWf4rIP<3RAVH#f9M`S+!f z1V}FD#tdB(0oImUfKfHK&LFrPdk@(Z+~hP_rR?tEVSRkKpUD)Z^^2MQyAXdd7zmW= z_fywKr-LWmo3YNX)!vlDZ3q7>&i>G;EXHz$8TlVhKJ{W zc<8Ds(f!zyJsSNQ7vo4WC={9)uvXhHg$GzCaRW>l&;I(Ozq?Wh2Dp2Ge^&!5^kA&y zH?wVDoH{4@vj_*gQw(_qFgL^<;BfrWQTQW9>7#AIUh2f*y9H{dH~=J4hoxcfTQt%` z8vL6jWI9i5Px4JLp!3m~q~mFVv=|G^HEyVfrKbb&ugjuv=Jbzg7u^8w<9wzMI&NfS zg!;8bH|cZ$4*qRxL*!}XDJk;5+}+kyJu^T5=&yU(P5<}l5I5cSm)XyHZ}L@d z<+PL&?f)7fN>F5Y^hs3!a}iw{IFf(!fo3xRjooUSZD!^(1v77Xu*FJ^Q}SJ<*p(qy zj_y8?marGkC)lJ6OHJ2DI&P$wnxUopZ(!Mf`__xa#7CkgV>0YYd1S;Qo^cBY3o*U@ z#Lw-IsuX5`^J}?9b-Mg0iQv9h&xk{D&ZxmP4{5G`{l8PX|8h?O$2j2243#|_`crMa>GoLvP58DM9K5kt5Nk;hJNj`8-R2A?d?Ry_Tq^G@dj$aNMTAkyK zy5Bup2T8s5cTVlU-b)JyyxsTpx9*Sc8H`@NSU}X`%@e27D??q=%JUnY_;*v277|jZ z*KX$&`p!MBWs{eu^hMmrCtmwZ)@zwsiU!wTI0?~88C*J~pnYUi8EtJ8BWY5J5jQXqJ@GJ%qfq#Sk&%V3kf$>qm6y1^Hl|aS;@%T>uJnDB#c!%y*fCHJkXxBb1a*YjgpIX-?2CF-4O2uy9V`XJ)-EoC-7KI3{f z!sTt5URiR>H(Jb;fbj5q#a5pidgTlF3{7{-yrUJqkpzSp^g~H6JebZhzAh#;p`RfC zUl;8^e-Y{inAp}OQ8!5EsV+6Ty>5Zw=dwfbXKfZytxG|~GP|qEHF;nz`ovKC?yz^X zbYHr~%;Ar?W)PZ!(kq^j_XyVsL0qu3X>OOS0^)`sPl6)fm~^|b-|?lPQZH46NgRqm zleRu9j>&n=26}+rpYxcgJSp$bc=pWKm1!Nj1W9k6y$m@zxZUq@y-5SMHpK@K*fVgc z`$pW^bF)+9|NU_9*(>Mo1Gx)RM#SpS%OI95MHShv^MOf2&MUo*p6{o}E(Q;qW$PZ& zxw6bMaYrZFhJ_GRzLK5>Q{#gqt#%XBs{L)oKjru!l#lYdNcWFrJYv+D%AJe(mDN<@ z4_i1o#mr?`c3Gxs@?#U}$TGyrY|@pjys-mnF-ghYz;U=tthG{X7atDHAz^GE=D#F% z8~$m0IsWy+VLyE1b}#dSvA@AfyYsjBuAwFxN3^LtBZ(3cXg@d?Gdwmgx^TItml3K_ z@ZKx>TuVp{>F?6RUk#-*u;q?)MVKJyIVS#dizcPbq(>AKvgVEV5;#@G1;VPiG9wPV z9-7NcA9$`^b3`+yiFq>y@SYxXlB=C|7IzL(Rgnv=Bi zBTSYuw1$O04QbOI?nR$AY3P%}&JB5R`|=&Ibqc*H#Pz>kyM)hVhR7w(u7>N zc|r7k)oIZIpN<5jXghlrVp$7bVh5e(p|e0SZ-a!BV?H$VDRwPkO-$<6;IQMwlpns2 zjkqO*VyM`WTWV`0j+Vu6*wt?|LO_jE0R>5o<4w+#8Dt?FaW+8plb>>6w-te z@)ode8p2fLjnfz3$Ryn*d448lLn?OuXmrIWFANg%p;)40vzq0afyLLlG(W(4e4}Hi zqO5X6J+2ti!Yc7d2n2<{-uome75r`7tUeH?lZGBL@EU-f-JR(CpH5y-6IY!pCDF~* zsvesDc)4~V1FIFYqo2O8?>KRO;qotQGbdv z^`uMD*D)RxVos*DG&nE`Ub6DrfiGFK27KkT-u&8P-KU;RJt4gD)_kbWI;nqYTT%v= z=G}atg}lK-g=Uc!lj2#;2|w6=14!i$8|{-NXA2COe8oJaen0KhwO>-9f8Wc$qL`mo zFSJ9FKF6sjN|qIHl)p227Afv)py?N$Ea^g-n>RwbXkp26T>Vf@asR@AQ0V` z^)&Spa;M<95EScXbw$PFmoHT_k3KHIh9Ae@?Hgqi5EjW8K;avu6s0jE+Bm}s_e|}S z>c9wcMu!_4PhyGS^)fnC{UGPuao#9q3M2cluyg;zie`%g0Z=vh=+l#@t4#duTT@f_2KJeYRV+gYHrWYfEt%Z&R))M@0pRgawc2wg47L^V|1t8RUru zI+~PxX@i4aR9g&X>rS%N!PIL=t%x1myj&$*9Y==#D{ue()onmy$Zp$r5$hF%@>wsxnE3XY zZ0S|UNTavEEffE>(QbDrzd#0jd{|xjw0zbiGsZK95~E~5i~}K+4$)IuO6T4RG4Oln z4l1ChO~6Y2o_%p9#xlxx0y9{sKiW2_yb{8Tx$P-XnSzc==Vl(V6#`{VfG zBHzv;uL=)!FQgTn#wrS`Wt?ma`c2yXi{Hz52KesxhXY#Qism{7(;U1sO+c&e{w`YI z1XnZi8nnW}2J~*9E5x$8ON!iE{KT^{!C2>qA-J^YzKufa#jN+C_4F&^GV*KKUAQj2 ztYwcIVbBjgxB7H*p-TPHqAO&pHoM>+=w#UuB1LtiVZEkG@XA!nSqBJWGy~5 zi@`wx`9IiWqB7t_m5`z*I`=DklLC4}*2i=Eo*KKqtN_oPXE6IX z|D|a&X=RR1^tnOZuWJ`viN=_J};V#R6GIE`{ts?l$`Z*6iml|K=^m!hX}!=8s{2&NPL0=Hc*b^O326rkc$ zHrM=Ue>dYgw4&mUF6S%X+2yDY*4FNO4;niKbfd^l$0jAqK%=V_ZvieQEutBawoJ+; zz%$w#X}l;N2X`Ds#$Iw3CJyhrN^Slt_V)3~ftmLJ0M~*(_1>JjW5$4%vkI3$Jic7tE@czAyu1zMw z!9Hdba&XxcNnU-&oB)G5rnd$CFSbzkhb^QX1>eb7VxAH(zCKM#EOzmU!BzLFinWzz zvMnW$^L+76K?W%|&6w41U8nzlXMF=ulmx|)8~WEkORq>T9GU-IfL_Jys?~xoU)xjy z1C7R2$Gj&^gWxLeTNIp9w@ii}Yvnq&J1q^vqpfm3s3=;0V3jiv>{PD$NKM(P_S-kR z^74mvzUX}Xua(bOB?dt7c+)3yq+QFFacS}Vw{G21ODW0C9jU)(WMl*nw^sbhSz%8Q zl*&jJB7eFO|K_|<>JmV>=}lF7OO|+ko_=#!UX~M}C-e}X^56ODK2b|Y?CXgRS8uwp zm0WsmJfDSZXXz?q)-B!Rb-Z52(S)->=P=C_Cy%o7ZA|6IAmT(WH$TZTg-r^IObAod z(?&$2fJwW9CY(3=0EGEN$!&U8(_ZdL_{d4RUlSe`&kC&yy= z&q~3)y7{>qywQ7F8Cww8GM8N zc-g?ZVs%kd`9*A*&l~&`)2#|I7VD!iwjng>6Lof}y(f@H&Au8i9+WEO`mxfxeoUYt zQ~?Z9>h9)5Y42G5l$gI&qYPhQtJNE9yV(8}lDOeNi`o3i1u#V#Gl!8_oHCey7^zF@ z8T;iKDZbrc+I1498nm6>o}m&x%f&7mc+bSwG3{;o7z|-5E;Th`Q?DMLhU-sT(M}jX zH2}P}j1JR^$K857n<&wHMNlNbLVTy~9Lo)sM=2^KI;{kJlD+9OYV!luzzmSxmF3s5 zAg@Mtc%AoKtwmyjD{~_kNUZIeOlI?x zydb(MhgPK+831g!FW$01oux=HbJ8QjY3K6K)^ zIMAinFHUYmn-;`Q_v8cXE6YH2!3FxjsfIy2n#}wCM`gN~X&38cJrqV}Y%n zEqv?I=)LNvG*oo8?dR!40~XhCDo#7H&X&cv_SdY}DU+byc{bL$-61BZsYo_F-n7g_ zNT_k^qX(M-xT5e3u~_q7RH0|BH3ls`p_78S6)@{QXg02IsU(f9SgBHA<90OLPFQ~F zIa#p>_)dFT^XB*p;Z*xOFO8+GWCWn$s3emzDub*WiCeoV%NgEtRXe1_l@C>yMCnFG z1`2c)S*L1j6MXOQO8Y7PjQal_cluYDZTAUC^deX)i2sNIm_nK83iiL^%Myg?Ox$CA zhsC$m`x}<2((F4{(d_6ePy?&fFr!3tA+t%>L)ERIQe66co*ec<)667P&(!Hou;o2I zDuxsXv-(F04#)9{n~+#gLMXgmm1S6Z?;e{e(Bw;{WRrIDO+K0B42p}Bt3wMv&G|f! z6RK+mBpl~b=Gf1(-pWn}v@yZ?=K9pr{Ekcc=X@sP^Ta;Fat&^6e3uf_pA}^rD=RuTyyZpr`8t~~53aFf>fN9aubLzP{!Fm^y{Tqkvd6eT< zDQq1$HK<4(d_7PL&W{@JEJSS^efmfGcEG)yKP$`7mGNg<9Z1T{>%dELu==7Ul2q&T zfLu%U$q0qxffnTBiAJgH#nYo0N>u7viLlf;ug;n9(> zSAgT_MoAdYKVv}Ei!FNfU+YhC8y2_S!aXcTn;!*qTlOC*<@FwS$>{VGzO^>JO&jm&!9E8WGw&Qx-+^%hkoB%^ffN38InJoZN|?D zkRc%#-1Pjl-k6P!GE;~JFR9d?L}6M4-xD=rgUnf|no+yOkt9XiwTuSkPSt@crPCb{ z+jWdXe*Aee$}OsSE=b?AC2t$FSe1SN0#S6V7X)?n#OZj@i>Y#jEt4 zL#pV7hv8)p9(Jr}21wQG#+lOJsYl7xfFd0HPfQ^mEoN)ghtrO3D=}w|IcQD}�-| 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 nE&_Y{xZV<*K+@-=lox{{5eDaoc;f!Ij6%! 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 literal 0 HcmV?d00001 From 6e51854c1b2b16cedc2a605297cd024ee47c9721 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Wed, 5 Oct 2016 18:00:19 -0700 Subject: [PATCH 06/19] Updates CLI and API docs for 2.0 Closes 3085 --- reference/backup.md | 63 ++++++++++++++++++-------------- reference/dumpcerts.md | 36 ++++++++++--------- reference/images.md | 29 +++++++++++++++ reference/index.md | 44 +++++++++-------------- reference/install.md | 76 +++++++++++++++++++++++---------------- reference/join.md | 57 +++++++++++++++-------------- reference/menu.md | 2 +- reference/migrate.md | 3 +- reference/reconfigure.md | 73 +++++++++++++++++++++---------------- reference/remove.md | 48 +++++++++++++------------ reference/restore.md | 78 ++++++++++++++++++++++------------------ reference/upgrade.md | 42 ++++++++++++++++++++++ 12 files changed, 334 insertions(+), 217 deletions(-) create mode 100644 reference/images.md create mode 100644 reference/upgrade.md diff --git a/reference/backup.md b/reference/backup.md index e1181c7015..8f5ca87a37 100644 --- a/reference/backup.md +++ b/reference/backup.md @@ -1,8 +1,8 @@ + +# docker/dtr images + +List all the images necessary to install DTR + +## Usage + +```bash +docker run -it --rm docker/dtr \ + images [command options] +``` + +## Description + + +This command lists all the images necessary to install DTR. + + + diff --git a/reference/index.md b/reference/index.md index 96f9939dba..2371f24bc7 100644 --- a/reference/index.md +++ b/reference/index.md @@ -1,54 +1,44 @@ -# docker/dtr image overview +# docker/dtr overview This tool has commands to install, configure, and backup Docker Trusted Registry (DTR). It also allows uninstalling DTR. By default the tool runs in interactive mode. It prompts you for the values needed. -For running this tool in non-interactive mode, there are three -ways you can use to pass values: - -```bash -$ docker run -it --rm docker/dtr command --option value -$ docker run -e --rm docker/dtr command ENV_VARIABLE=value -$ docker run -e --rm docker/dtr command ENV_VARIABLE -``` Additional help is available for each command with the '--help' option. + ## Usage ```bash -$ docker run -it --rm docker/dtr \ +docker run -it --rm docker/dtr \ command [command options] ``` -## Options - -| Option | Description | -|:------------|:------------| -| `--help, h` | Show help | ## Commands -| Option | Description | -|:--------------|:--------------------------------------------------------------------------------| -| `install` | Install Docker Trusted Registry on this Docker Engine | -| `join` | Add a new replica to an existing DTR cluster | -| `reconfigure` | Change DTR configurations | -| `remove` | Remove a replica from a DTR cluster | -| `restore` | Create a new DTR cluster from an existing backup | -| `backup` | Backup a DTR cluster to a tar file and stream it to stdout | -| `migrate` | Migrate configurations, accounts, and repository metadata from DTR 1.4.3 to 2.0 | -| `dumpcerts` | Dump out the TLS certificates used by this DTR instance | +| Option | Description | +|:-----------------------------|:---------------------------| +|`install`| Install Docker Trusted Registry| +|`join`| Add a new replica to an existing DTR cluster| +|`reconfigure`| Change DTR configurations| +|`remove`| Remove a DTR replica| +|`restore`| Install and restore DTR from an existing backup| +|`backup`| Create a backup of DTR| +|`upgrade`| Upgrade DTR 2.0.0 or later cluster to this version| +|`dumpcerts`| Print the TLS certificates used by DTR| +|`images`| List all the images necessary to install DTR| + diff --git a/reference/install.md b/reference/install.md index c76ba6edb5..8445609103 100644 --- a/reference/install.md +++ b/reference/install.md @@ -1,8 +1,8 @@ + +# docker/dtr upgrade + +Upgrade DTR 2.0.0 or later cluster to this version + +## Usage + +```bash +docker run -it --rm docker/dtr \ + upgrade [command options] +``` + +## Description + + +This command upgrades DTR 2.0.0 or later to the current version of this image. + + +## Options + +| Option | Description | +|:--------------------------|:---------------------------| +|`--ucp-url`|The UCP URL including domain and port| +|`--ucp-username`|The UCP administrator username| +|`--ucp-password`|The UCP administrator password| +|`--debug`|Enable debug mode for additional logging| +|`--hub-username`|Username to use when pulling images| +|`--hub-password`|Password to use when pulling images| +|`--ucp-insecure-tls`|Disable TLS verification for UCP| +|`--ucp-ca`|Use a PEM-encoded TLS CA certificate for UCP| +|`--existing-replica-id`|The ID of an existing DTR replica| + From dfc5c7fe4d2d71ccd30893eec4ceb347c9929d3d Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Wed, 5 Oct 2016 17:39:13 -0700 Subject: [PATCH 07/19] Add release notes for 2.1 --- release-notes/index.md | 205 +++------------------------ release-notes/prior-release-notes.md | 193 +++++++++++++++++++++++++ 2 files changed, 213 insertions(+), 185 deletions(-) diff --git a/release-notes/index.md b/release-notes/index.md index dda51ad9b1..3328473f57 100644 --- a/release-notes/index.md +++ b/release-notes/index.md @@ -19,199 +19,34 @@ known issues for each DTR version. You can then use [the upgrade instructions](../install/upgrade/upgrade-major.md), to upgrade your installation to the latest release. -## Version 2.0.3 +## DTR 2.1 -August 11, 2016 - -**Bug fixes** - -* You can now add descriptions to the repositories using markdown - -## Version 2.0.2 - -July 6, 2016 +(7 Oct 2016) **docker/dtr image** -* Added the `docker/dtr images` command that lists all images needed for installing DTR. -* Added the `--extra-envs` flag to the install and join commands, that allows to specify -swarm constraints to the DTR containers. +* Added more flags to the docker/dtr image to configure logging and tuning of +etcd when troubleshooting performance issues +* Added support to specify a custom volume or NFS mount to store the Docker images +* Several improvements to make installation command more stable -**Misc** +**Components** -* General improvements to the garbage collection settings screen. -* Deleting a repository is now faster. -* Upgraded the RethinkDB used internally to version 2.3.4, for improved security. -* Upgraded the Nginx used internally to version 1.8.1, for improved security. +* DTR now contains its own Notary server you can use to store secure image metadata +* Notary is highly-available if DTR is configured for high availability -**Bug fixes** +**UI** -* Fixed problem that caused the last run time for the garbage collection job to -be wrong. -* When creating users and organizations, the 'Save & create another' button now -works as expected. -* In the Users screen, the organizations each user belongs to is now listed. +* Improved UI for configuring garbage collection jobs +* Removed user management pages. User management workflows can be done in UCP +* UI now shows author, push time, and layer sizes for tags -## Version 2.0.1 +Additional tag data is available in the API including Tag Author, Time pushed, Layer sizes, and Dockerfile commands. The GUI includes the following tag data: Tag Author, Time pushed, and Layer sizes. -**New features** +**General** -* You can set a maximum duration for the garbage collection job to run. After -this timeout the garbage collection job stops. The job is then resumed on the -next scheduled interval. - -* docker/dtr image - * Added the `docker/dtr upgrade` command, to upgrade an installation. - * Renamed the `--dtr-load-balancer` flag to `--dtr-external-url`. - -**Deprecated features** - -* The user authentication settings page is deprecated and will be removed in a -future release. Configure user authentication in UCP. - -**Bug fixes** - -* UI - * The dropdown filter in the Repositories screen works as expected. - * The global search now returns all results. - * When removing users from an organization, the page now refreshes - automatically. - * When configuring Swift as storage backend, it's now possible to define the - Chunk size option. - * When integrating with LDAP, the 'User search config' section is no longer - being displayed twice. - * When uploading a new license, the page now refreshes automatically. - * On the repository screen, the docker pull command is now displayed - correctly for all users. - -* Users and teams - * When adding users to a team, it's now possible to deselect users. - * When listing users, the organizations those users belong to are displayed - correctly. - * After adding a user to a team, the 'Add user' modal now closes - automatically. - * When adding a user, errors are now displayed correctly. - -* Browsers - * When logging in with Microsoft Edge on Windows 10, users are no longer - redirected indefinitely. - * You can now update DTR license when using Firefox version 45. - * You can now add managed users to teams when using Internet Explorer and - Firefox. - * You can now list repository tags when using Internet Explorer or Firefox. - -* Misc - * The restore command now gives an error when running restore without input - redirection. - * With more than 150k users, the search API is now responsive. - * When UCP and DTR are running on the same host, restarting the host now - restarts DTR containers. For this to work you need to use CS Engine - 1.11.1-cs2 and UCP 1.1.1, or newer versions. - * It's no longer possible to delete the default 'docker-datacenter' - organization. - -**Known issues** - -* UI - * It's not possible to delete tags already deleted by the garbage collection - job. - * On the Users page, the pagination only works until the 20th page. - * The navigation bar doesn't show what page is active. - * After migrating from DTR 1.4.3 some tags are displayed on the UI but cannot - be pulled because they are tags that are not associated with any image. - Contact Docker support for help in removing these tags. - * In the Repository screens, the filter dropdown doesn't reset after - selecting an organization. - -* Misc - * When using Firefox 38.8.0, some buttons are not responsive and tags are not - displayed. As a workaround use a more recent version of Firefox, or a - different browser. - * The docker search command doesn't work with DTR 2.0 and CS Engine 1.10+. - This issue should be fixed on CS Engine 1.12. - * When the DTR proxy container stops, it may seem that the DTR UI is - responding, but it shows an "empty" notification when saving settings. - * When configuring DTR to use a proxy, connections to the Docker Notary server - are routed through the proxy. If the Docker Notary is not reachable through - the proxy, you need to add the Notary server url to the NO_PROXY settings. - -## Version 2.0.0 - -4 May 2016 - -**Features** - -* Core - * Support for high-availability and horizontal scalability. - * UCP and DTR are now using a unified authentication service. - * LDAP configurations should be performed on UCP. In future releases that - configuration will be removed from DTR. - * Users and teams created in the DTR ‘Datacenter’ organization are displayed - in UCP. - * Credentials of LDAP and Active Directory users are no longer stored on disk - Instead a token is used for pushing and pulling images. - * Added anonymous event tracking to allow us to improve DTR. The data is - completely anonymized and you can turn this off in the DTR settings page. -* DTR installer - * The DTR installer is now similar to UCP. - * The DTR installer now runs on a container and has commands to install - configure, and backup DTR. -* UI - * Several changes to the UI to make it consistent with UCP. - -**Bug fixes** - -* Improved search functionality. -* Search autocomplete now displays all users. -* Image tags now take less time to be displayed. - -**Known issues** - -* UI - * The dropdown filter in the Repositories screen doesn't open, but you can - click on the input box. - * The global search is returning a limited number of results. - * When configuring Swift as storage backend, it's not possible to define - the Chunk size option. - * When logging in with Microsoft Edge on Windows 10, users are redirected - indefinitely. - * It's not possible to delete tags already delete by the garbage collector. - * When integrating with LDAP, the 'User search config' section is sometimes - displaying twice. - * On the Users page, the pagination only works until the 20th page. - * When navigating to detail pages, the navigation bar doesn't show what page - is active. - -* Users and teams - * When removing a user from an organization, the page doesn't refresh - automatically. - * When adding users to a team, it's not possible to deselect users. - * When uploading a new license, the page doesn't refresh automatically. - * After adding a user to a team, the 'Add user' modal doesn't close - automatically. - -* API and CLI - * With more than 150k users, the search API takes too long to return a - response. - * The docker search command does not work with DTR 2.0. - * The docker/dtr restore command doesn't return a meaningful error when - invoking the command without redirecting input from a file. - -* Misc - * When using Docker Engine 1.11 and DTR and UCP are running on the same host, - restarting the host might cause the DTR containers not start. This is caused - by a [bug in Docker Engine](https://github.com/docker/docker/issues/22486). - You can restart the DTR containers from the UCP UI. - * When the DTR proxy container stops, it may seem that the DTR UI is - responding but it shows an "empty" notification when saving settings. - * Adding a proxy to the DTR configuration forces the connections to the - notary server to be routed through the proxy. If the notary server is not - reachable through the proxy, add the notary URL to the NO_PROXY setting. - * UCP has a single default organization “docker-datacenter”. If you delete - this organization on DTR, you won’t be able to manage users and teams from - UCP. To recover from this, contact Docker support. - -## Prior versions - -You can find the release notes for older versions of DTR on the -[release notes archive](prior-release-notes.md). +* Added support for S3 compatible storage +* Added support for Google Cloud storage +* Several improvements to garbage collection +* Improved DTR health checking API +* API now returns author, push time, layer size and other information for tags diff --git a/release-notes/prior-release-notes.md b/release-notes/prior-release-notes.md index 1ca7848d72..204e647727 100644 --- a/release-notes/prior-release-notes.md +++ b/release-notes/prior-release-notes.md @@ -16,6 +16,199 @@ weight=10 This document contains the release notes for all versions of Docker Trusted Registry. +## Version 2.0.3 + +August 11, 2016 + +**Bug fixes** + +* You can now add descriptions to the repositories using markdown + +## Version 2.0.2 + +July 6, 2016 + +**docker/dtr image** + +* Added the `docker/dtr images` command that lists all images needed for installing DTR. +* Added the `--extra-envs` flag to the install and join commands, that allows to specify +swarm constraints to the DTR containers. + +**Misc** + +* General improvements to the garbage collection settings screen. +* Deleting a repository is now faster. +* Upgraded the RethinkDB used internally to version 2.3.4, for improved security. +* Upgraded the Nginx used internally to version 1.8.1, for improved security. + +**Bug fixes** + +* Fixed problem that caused the last run time for the garbage collection job to +be wrong. +* When creating users and organizations, the 'Save & create another' button now +works as expected. +* In the Users screen, the organizations each user belongs to is now listed. + +## Version 2.0.1 + +**New features** + +* You can set a maximum duration for the garbage collection job to run. After +this timeout the garbage collection job stops. The job is then resumed on the +next scheduled interval. + +* docker/dtr image + * Added the `docker/dtr upgrade` command, to upgrade an installation. + * Renamed the `--dtr-load-balancer` flag to `--dtr-external-url`. + +**Deprecated features** + +* The user authentication settings page is deprecated and will be removed in a +future release. Configure user authentication in UCP. + +**Bug fixes** + +* UI + * The dropdown filter in the Repositories screen works as expected. + * The global search now returns all results. + * When removing users from an organization, the page now refreshes + automatically. + * When configuring Swift as storage backend, it's now possible to define the + Chunk size option. + * When integrating with LDAP, the 'User search config' section is no longer + being displayed twice. + * When uploading a new license, the page now refreshes automatically. + * On the repository screen, the docker pull command is now displayed + correctly for all users. + +* Users and teams + * When adding users to a team, it's now possible to deselect users. + * When listing users, the organizations those users belong to are displayed + correctly. + * After adding a user to a team, the 'Add user' modal now closes + automatically. + * When adding a user, errors are now displayed correctly. + +* Browsers + * When logging in with Microsoft Edge on Windows 10, users are no longer + redirected indefinitely. + * You can now update DTR license when using Firefox version 45. + * You can now add managed users to teams when using Internet Explorer and + Firefox. + * You can now list repository tags when using Internet Explorer or Firefox. + +* Misc + * The restore command now gives an error when running restore without input + redirection. + * With more than 150k users, the search API is now responsive. + * When UCP and DTR are running on the same host, restarting the host now + restarts DTR containers. For this to work you need to use CS Engine + 1.11.1-cs2 and UCP 1.1.1, or newer versions. + * It's no longer possible to delete the default 'docker-datacenter' + organization. + +**Known issues** + +* UI + * It's not possible to delete tags already deleted by the garbage collection + job. + * On the Users page, the pagination only works until the 20th page. + * The navigation bar doesn't show what page is active. + * After migrating from DTR 1.4.3 some tags are displayed on the UI but cannot + be pulled because they are tags that are not associated with any image. + Contact Docker support for help in removing these tags. + * In the Repository screens, the filter dropdown doesn't reset after + selecting an organization. + +* Misc + * When using Firefox 38.8.0, some buttons are not responsive and tags are not + displayed. As a workaround use a more recent version of Firefox, or a + different browser. + * The docker search command doesn't work with DTR 2.0 and CS Engine 1.10+. + This issue should be fixed on CS Engine 1.12. + * When the DTR proxy container stops, it may seem that the DTR UI is + responding, but it shows an "empty" notification when saving settings. + * When configuring DTR to use a proxy, connections to the Docker Notary server + are routed through the proxy. If the Docker Notary is not reachable through + the proxy, you need to add the Notary server url to the NO_PROXY settings. + +## Version 2.0.0 + +4 May 2016 + +**Features** + +* Core + * Support for high-availability and horizontal scalability. + * UCP and DTR are now using a unified authentication service. + * LDAP configurations should be performed on UCP. In future releases that + configuration will be removed from DTR. + * Users and teams created in the DTR ‘Datacenter’ organization are displayed + in UCP. + * Credentials of LDAP and Active Directory users are no longer stored on disk + Instead a token is used for pushing and pulling images. + * Added anonymous event tracking to allow us to improve DTR. The data is + completely anonymized and you can turn this off in the DTR settings page. +* DTR installer + * The DTR installer is now similar to UCP. + * The DTR installer now runs on a container and has commands to install + configure, and backup DTR. +* UI + * Several changes to the UI to make it consistent with UCP. + +**Bug fixes** + +* Improved search functionality. +* Search autocomplete now displays all users. +* Image tags now take less time to be displayed. + +**Known issues** + +* UI + * The dropdown filter in the Repositories screen doesn't open, but you can + click on the input box. + * The global search is returning a limited number of results. + * When configuring Swift as storage backend, it's not possible to define + the Chunk size option. + * When logging in with Microsoft Edge on Windows 10, users are redirected + indefinitely. + * It's not possible to delete tags already delete by the garbage collector. + * When integrating with LDAP, the 'User search config' section is sometimes + displaying twice. + * On the Users page, the pagination only works until the 20th page. + * When navigating to detail pages, the navigation bar doesn't show what page + is active. + +* Users and teams + * When removing a user from an organization, the page doesn't refresh + automatically. + * When adding users to a team, it's not possible to deselect users. + * When uploading a new license, the page doesn't refresh automatically. + * After adding a user to a team, the 'Add user' modal doesn't close + automatically. + +* API and CLI + * With more than 150k users, the search API takes too long to return a + response. + * The docker search command does not work with DTR 2.0. + * The docker/dtr restore command doesn't return a meaningful error when + invoking the command without redirecting input from a file. + +* Misc + * When using Docker Engine 1.11 and DTR and UCP are running on the same host, + restarting the host might cause the DTR containers not start. This is caused + by a [bug in Docker Engine](https://github.com/docker/docker/issues/22486). + You can restart the DTR containers from the UCP UI. + * When the DTR proxy container stops, it may seem that the DTR UI is + responding but it shows an "empty" notification when saving settings. + * Adding a proxy to the DTR configuration forces the connections to the + notary server to be routed through the proxy. If the notary server is not + reachable through the proxy, add the notary URL to the NO_PROXY setting. + * UCP has a single default organization “docker-datacenter”. If you delete + this organization on DTR, you won’t be able to manage users and teams from + UCP. To recover from this, contact Docker support. + + ## Version 1.4.3 (22 February 2016) From c4972c812ee267624e6465c41676d6d60674eacc Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Thu, 6 Oct 2016 23:38:27 -0700 Subject: [PATCH 08/19] Fix install instructions --- install/index.md | 44 ++++++++++++++++++++++++++++------ install/install-dtr-offline.md | 24 +++++++++---------- 2 files changed, 48 insertions(+), 20 deletions(-) diff --git a/install/index.md b/install/index.md index 2b5b67b525..106d036939 100644 --- a/install/index.md +++ b/install/index.md @@ -43,14 +43,39 @@ install, configure, and backup DTR. To install DTR: -1. Download a UCP client bundle. +1. Get the DTR package. + + ```bash + $ wget https://packages.docker.com/caas/ucp-2.0.0-beta1_dtr-2.1.0-beta1.tar.gz -O docker-datacenter.tar.gz + ``` + +2. Transfer the package to the nodes. + + Now that you have the DTR package in your machine, you can transfer it to the + nodes that you want to install DTR. For each node run: + + ```bash + $ scp docker-datacenter.tag.gz @:/tmp + ``` + +3. Load the images. + + Once the package is on the nodes where you want to install DTR, you can use + the `docker load` command, to load the images from the .tar file. Log + into each node where you plan on installing DTR and run: + + ```bash + $ docker load < /tmp/docker-datacenter.tar.gz + ``` + +4. Download a UCP client bundle. Having a UCP client bundle allows you to run Docker commands on a swarm being managed by UCP. [Download a UCP client bundle](https://docs.docker.com/ucp/access-ucp/cli-based-access/) and set up your CLI client to use it. -2. Run the following commands to install DTR. +5. Run the following commands to install DTR. ```bash # Get the certificates used by UCP @@ -58,15 +83,18 @@ To install DTR: # Install DTR $ docker run -it --rm \ - docker/dtr install \ + docker/dtr:2.0.0-beta1 install \ + --ucp-node \ --ucp-ca "$(cat ucp-ca.pem)" ``` + Where the `--ucp-node` is the hostname of the node where you've previously + loaded the DTR images. The install command has other flags for customizing DTR at install time. Check the [reference documentation to learn more](../reference/install.md). -3. Check that DTR is running. +6. Check that DTR is running. In your browser, navigate to the the Docker **Universal Control Plane** web UI, and navigate to the **Applications** screen. DTR should be listed @@ -113,9 +141,11 @@ you're going to install these replicas also need to be managed by UCP. To add replicas to a DTR cluster, use the `docker/dtr join` command. To add replicas: -1. Load you UCP user bundle. +1. Make sure the DTR images are loaded into the node. -2. Run the join command. +2. Load you UCP user bundle. + +3. Run the join command. When you join a replica to a DTR cluster, you need to specify the ID of a replica that is already part of the cluster. You can find an @@ -132,7 +162,7 @@ replicas: --ucp-ca "$(cat ucp-ca.pem)" ``` -3. Check that all replicas are running. +4. Check that all replicas are running. In your browser, navigate to the the Docker **Universal Control Plane** web UI, and navigate to the **Applications** screen. All replicas should diff --git a/install/install-dtr-offline.md b/install/install-dtr-offline.md index 0076404ac6..b377ce34b0 100644 --- a/install/install-dtr-offline.md +++ b/install/install-dtr-offline.md @@ -27,25 +27,25 @@ copy that package to the nodes where you’ll install DTR. Docker Datacenter components: ```bash - $ wget https://packages.docker.com/caas/ucp-1.1.2_dtr-2.0.3.tar.gz -O docker-datacenter.tar.gz + $ wget https://packages.docker.com/caas/ucp-2.0.0-beta1_dtr-2.1.0-beta1.tar.gz -O docker-datacenter.tar.gz ``` -2. Transfer the package to the offline node. +2. Transfer the package to the offline nodes. - Now that you have the DTR package file, transfer it to the node where you - want to install Docker Trusted Registry. You can use the `scp` command - for this. + Now that you have the DTR package in your machine, you can transfer it to the + nodes that you want to install DTR. For each node run: ```bash - $ scp docker-datacenter.tag.gz $USER@$DTR_HOST:/tmp + $ scp docker-datacenter.tag.gz @:/tmp ``` -3. Login into the host where you transferred the images. +3. Login into the nodes where you transferred the images. 4. Load the images. - Once the package is on the node where you want to install DTR, you can use - the `docker load` command, to load the images from the .tar file. + Once the package is on the nodes where you want to install DTR, you can use + the `docker load` command, to load the images from the .tar file. On each + node, run: ```bash $ docker load < /tmp/docker-datacenter.tar.gz @@ -53,10 +53,8 @@ copy that package to the nodes where you’ll install DTR. 5. Install DTR. - Now that the offline node has all the images needed to install UCP, - you can [install DTR that host](index.md). Make sure to - also copy the images to any other nodes you want to install DTR - replicas onto. + Now that the offline node has all the images needed to install DTR, + you can [install DTR that host](index.md). ## Where to go next From 115b30e38a905cfcf3cbdc815e52d0bbe9ec3147 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Mon, 10 Oct 2016 12:26:32 -0700 Subject: [PATCH 09/19] Fixes install docs, removes ucp-ca --- .../backups-and-disaster-recovery.md | 14 ++++---------- install/index.md | 17 +++++++---------- install/uninstall.md | 8 ++++---- install/upgrade/index.md | 5 +---- install/upgrade/upgrade-major.md | 11 +++-------- 5 files changed, 19 insertions(+), 36 deletions(-) diff --git a/high-availability/backups-and-disaster-recovery.md b/high-availability/backups-and-disaster-recovery.md index 4868b9f9e0..909318b129 100644 --- a/high-availability/backups-and-disaster-recovery.md +++ b/high-availability/backups-and-disaster-recovery.md @@ -65,13 +65,10 @@ backup command to learn about all the available flags. As an example, to create a backup of a DTR node, you can use: ```bash -# Get the certificates used by UCP -$ curl https:///ca > ucp-ca.pem - # Create the backup $ docker run -i --rm docker/dtr backup \ --ucp-url \ - --ucp-ca "$(cat ucp-ca.pem)" \ + --ucp-insecure-tls \ --existing-replica-id \ --ucp-username \ --ucp-password > /tmp/backup.tar @@ -80,7 +77,7 @@ $ docker run -i --rm docker/dtr backup \ Where: * `--ucp-url` is the address of UCP, -* `--ucp-ca` is the UCP certificate authority, +* `--ucp-insecure-tls` is to trust the UCP TLS certificate, * `--existing-replica-id` is the id of the replica to backup, * `--ucp-username`, and `--ucp-password` are the credentials of a UCP administrator. @@ -117,14 +114,11 @@ As an example, to install DTR on the host and restore its state from an existing backup: ```bash -# Get the certificates used by UCP -$ curl https:///ca > ucp-ca.pem - # Install and restore configurations from an existing backup $ docker run -i --rm \ docker/dtr restore \ --ucp-url \ - --ucp-ca "$(cat ucp-ca.pem)" \ + --ucp-insecure-tls \ --ucp-username \ --ucp-password \ --dtr-load-balancer < /tmp/backup.tar @@ -133,7 +127,7 @@ $ docker run -i --rm \ Where: * `--ucp-url` is the address of UCP, -* `--ucp-ca` is the UCP certificate authority, +* `--ucp-insecure-tls` is to trust the UCP TLS certificate, * `--ucp-username`, and `--ucp-password` are the credentials of a UCP administrator, * `--dtr-load-balancer` is the domain name or ip where DTR can be reached. diff --git a/install/index.md b/install/index.md index 106d036939..59663f54c9 100644 --- a/install/index.md +++ b/install/index.md @@ -78,18 +78,17 @@ To install DTR: 5. Run the following commands to install DTR. ```bash - # Get the certificates used by UCP - $ curl -k https:///ca > ucp-ca.pem # Install DTR $ docker run -it --rm \ - docker/dtr:2.0.0-beta1 install \ + docker/dtr:2.1.0-beta1 install \ --ucp-node \ - --ucp-ca "$(cat ucp-ca.pem)" + --ucp-insecure-tls ``` Where the `--ucp-node` is the hostname of the node where you've previously - loaded the DTR images. + loaded the DTR images, and `--ucp-insecure-tls` tells the installer to + trust the certificates used by UCP. The install command has other flags for customizing DTR at install time. Check the [reference documentation to learn more](../reference/install.md). @@ -154,12 +153,10 @@ replicas: Then run: ```bash - # Get the certificates used by UCP - $ curl -k https:///ca > ucp-ca.pem - $ docker run -it --rm \ - docker/dtr join \ - --ucp-ca "$(cat ucp-ca.pem)" + docker/dtr:2.1.0-beta1 join \ + --ucp-node \ + --ucp-insecure-tls ``` 4. Check that all replicas are running. diff --git a/install/uninstall.md b/install/uninstall.md index 6defcd4e63..9f18bb84d6 100644 --- a/install/uninstall.md +++ b/install/uninstall.md @@ -24,7 +24,7 @@ To see what options are available in the uninstall command, check the [uninstall command reference](../reference/remove.md), or run: ```bash -$ docker run --rm -it docker/dtr remove --help +$ docker run -it --rm docker/dtr:2.1.0-beta1 remove --help ``` To remove a replica safely, you must tell the bootstrapper about one healthy replica @@ -38,10 +38,10 @@ The following example illustrates how use the remove command interactively to remove a DTR replica from a cluster with multiple replicas: ```bash -# Get the certificates used by UCP -$ curl https://$UCP_HOST/ca > ucp-ca.pem -$ docker run --rm -it docker/dtr remove --ucp-ca "$(cat ucp-ca.pem)" +$ docker run -it --rm \ + docker/dtr:2.1.0-beta1 remove \ + --ucp-insecure-tls existing-replica-id (ID of an existing replica in a cluster): 7ae3cb044b70 replica-id (Specify the replica Id. Must be unique per replica, leave blank for random): a701a510126c diff --git a/install/upgrade/index.md b/install/upgrade/index.md index a9789dff10..dcd4c3c480 100644 --- a/install/upgrade/index.md +++ b/install/upgrade/index.md @@ -51,12 +51,9 @@ To upgrade DTR you use the `docker/dtr upgrade` command. The upgrade command upgrades all DTR replicas that are part of your cluster: ```bash - # Get the certificates used by UCP - $ curl -k https:///ca > ucp-ca.pem - $ docker run -it --rm \ docker/dtr upgrade \ - --ucp-cat "$(cat ucp-ca.pem)" + --ucp-insecure-tls ``` By default the upgrade command runs in interactive mode and prompts you for diff --git a/install/upgrade/upgrade-major.md b/install/upgrade/upgrade-major.md index 7713c73c1e..cf10459489 100644 --- a/install/upgrade/upgrade-major.md +++ b/install/upgrade/upgrade-major.md @@ -76,15 +76,13 @@ To start the migration: Then run the migrate command: ```bash - # Get the certificates used by UCP - $ curl https://$UCP_HOST/ca > ucpca.crt - # Migrate configurations, accounts, and repository metadata docker run -it --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ docker/dtr migrate \ - --ucp-url $UCP_HOST --ucp-ca "$(cat ucpca.crt)" \ + --ucp-url $UCP_HOST \ --dtr-external-url $DTR_HOST \ + --ucp-insecure-tls \ --dtr-ca "$(cat dtrca.crt)" ``` @@ -167,16 +165,13 @@ replicas: Then run: ```bash - # Get the certificates used by UCP - $ curl -k https://$UCP_HOST/ca > ucp-ca.pem - $ docker run -it --rm \ docker/dtr join \ --ucp-url $UCP_URL \ --ucp-node $UCP_NODE \ --existing-replica-id $REPLICA_TO_JOIN \ --ucp-username $USER --ucp-password $PASSWORD \ - --ucp-ca "$(cat ucp-ca.pem)" + --ucp-insecure-tls ``` Where: From c88cadcb233fdae3a9e6f81e6012a84dc5f93f2f Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Mon, 10 Oct 2016 14:48:37 -0700 Subject: [PATCH 10/19] Update docs from dtr to dockerhubenterprise --- high-availability/backups-and-disaster-recovery.md | 8 ++++---- install/index.md | 8 ++++---- install/uninstall.md | 6 +++--- install/upgrade/index.md | 8 ++++---- install/upgrade/upgrade-major.md | 1 + monitor-troubleshoot/troubleshoot.md | 6 +++--- reference/backup.md | 4 ++-- reference/dumpcerts.md | 4 ++-- reference/images.md | 4 ++-- reference/index.md | 6 +++--- reference/install.md | 4 ++-- reference/join.md | 2 +- reference/menu.md | 4 ++-- reference/migrate.md | 8 ++++---- reference/reconfigure.md | 4 ++-- reference/remove.md | 4 ++-- reference/restore.md | 4 ++-- reference/upgrade.md | 4 ++-- 18 files changed, 45 insertions(+), 44 deletions(-) diff --git a/high-availability/backups-and-disaster-recovery.md b/high-availability/backups-and-disaster-recovery.md index 909318b129..7e942b23cd 100644 --- a/high-availability/backups-and-disaster-recovery.md +++ b/high-availability/backups-and-disaster-recovery.md @@ -37,7 +37,7 @@ on a cloud provider, depending on the way DTR is configured. ## Backup DTR data -To perform a backup of a DTR node, use the `docker/dtr backup` command. This +To perform a backup of a DTR node, use the `dockerhubenterprise/dtr backup` command. This command creates a backup of DTR: * Configurations, @@ -66,7 +66,7 @@ As an example, to create a backup of a DTR node, you can use: ```bash # Create the backup -$ docker run -i --rm docker/dtr backup \ +$ docker run -i --rm dockerhubenterprise/dtr backup \ --ucp-url \ --ucp-insecure-tls \ --existing-replica-id \ @@ -90,7 +90,7 @@ $ tar -tf /tmp/backup.tar ## Restore DTR data -You can restore a DTR node from a backup using the `docker/dtr restore` +You can restore a DTR node from a backup using the `dockerhubenterprise/dtr restore` command. This command performs a fresh installation of DTR, and reconfigures it with the configuration created during a backup. @@ -116,7 +116,7 @@ state from an existing backup: ```bash # Install and restore configurations from an existing backup $ docker run -i --rm \ - docker/dtr restore \ + dockerhubenterprise/dtr restore \ --ucp-url \ --ucp-insecure-tls \ --ucp-username \ diff --git a/install/index.md b/install/index.md index 59663f54c9..cce8df724e 100644 --- a/install/index.md +++ b/install/index.md @@ -38,7 +38,7 @@ Make sure all the nodes you plan on installing DTR are being managed by UCP. ## Step 3. Install DTR -To install DTR you use the `docker/dtr` image. This image has commands to +To install DTR you use the `dockerhubenterprise/dtr` image. This image has commands to install, configure, and backup DTR. To install DTR: @@ -81,7 +81,7 @@ To install DTR: # Install DTR $ docker run -it --rm \ - docker/dtr:2.1.0-beta1 install \ + dockerhubenterprise/dtr:2.1.0-beta1 install \ --ucp-node \ --ucp-insecure-tls ``` @@ -137,7 +137,7 @@ replica fails. For high-availability you should set 3, 5, or 7 DTR replicas. The nodes where you're going to install these replicas also need to be managed by UCP. -To add replicas to a DTR cluster, use the `docker/dtr join` command. To add +To add replicas to a DTR cluster, use the `dockerhubenterprise/dtr join` command. To add replicas: 1. Make sure the DTR images are loaded into the node. @@ -154,7 +154,7 @@ replicas: ```bash $ docker run -it --rm \ - docker/dtr:2.1.0-beta1 join \ + dockerhubenterprise/dtr:2.1.0-beta1 join \ --ucp-node \ --ucp-insecure-tls ``` diff --git a/install/uninstall.md b/install/uninstall.md index 9f18bb84d6..b19464ed36 100644 --- a/install/uninstall.md +++ b/install/uninstall.md @@ -12,7 +12,7 @@ weight=50 # Uninstall Docker Trusted Registry -Use the `docker/dtr remove` command, to remove a DTR replica from a cluster. +Use the `dockerhubenterprise/dtr remove` command, to remove a DTR replica from a cluster. To uninstall a DTR cluster you remove all DTR replicas one at a time. The remove command: @@ -24,7 +24,7 @@ To see what options are available in the uninstall command, check the [uninstall command reference](../reference/remove.md), or run: ```bash -$ docker run -it --rm docker/dtr:2.1.0-beta1 remove --help +$ docker run -it --rm dockerhubenterprise/dtr:2.1.0-beta1 remove --help ``` To remove a replica safely, you must tell the bootstrapper about one healthy replica @@ -40,7 +40,7 @@ remove a DTR replica from a cluster with multiple replicas: ```bash $ docker run -it --rm \ - docker/dtr:2.1.0-beta1 remove \ + dockerhubenterprise/dtr:2.1.0-beta1 remove \ --ucp-insecure-tls existing-replica-id (ID of an existing replica in a cluster): 7ae3cb044b70 diff --git a/install/upgrade/index.md b/install/upgrade/index.md index dcd4c3c480..d4e224a443 100644 --- a/install/upgrade/index.md +++ b/install/upgrade/index.md @@ -29,17 +29,17 @@ installation to the 2.0 version](upgrade-major.md). ## Step 2. Upgrade DTR -To upgrade DTR you use the `docker/dtr upgrade` command. +To upgrade DTR you use the `dockerhubenterprise/dtr upgrade` command. 1. Download a UCP client bundle. Having a UCP client bundle allows you to run Docker commands on a UCP cluster. Download a UCP client bundle and set up your CLI client to use it. -2. Pull the latest `docker/dtr` image. +2. Pull the latest `dockerhubenterprise/dtr` image. ```bash - $ docker pull docker/dtr + $ docker pull dockerhubenterprise/dtr ``` If the node you're upgrading doesn't have access to the internet, you can @@ -52,7 +52,7 @@ To upgrade DTR you use the `docker/dtr upgrade` command. ```bash $ docker run -it --rm \ - docker/dtr upgrade \ + dockerhubenterprise/dtr upgrade \ --ucp-insecure-tls ``` diff --git a/install/upgrade/upgrade-major.md b/install/upgrade/upgrade-major.md index cf10459489..1b98460833 100644 --- a/install/upgrade/upgrade-major.md +++ b/install/upgrade/upgrade-major.md @@ -1,5 +1,6 @@ -# docker/dtr backup +# dockerhubenterprise/dtr backup Create a backup of DTR ## Usage ```bash -docker run -i --rm docker/dtr \ +docker run -i --rm dockerhubenterprise/dtr \ backup [command options] > backup.tar ``` diff --git a/reference/dumpcerts.md b/reference/dumpcerts.md index 2c1da74923..ebe726719f 100644 --- a/reference/dumpcerts.md +++ b/reference/dumpcerts.md @@ -9,14 +9,14 @@ identifier="dtr_reference_dumpcerts" +++ -# docker/dtr dumpcerts +# dockerhubenterprise/dtr dumpcerts Print the TLS certificates used by DTR ## Usage ```bash -docker run -i --rm docker/dtr \ +docker run -i --rm dockerhubenterprise/dtr \ dumpcerts [command options] > backup.tar ``` diff --git a/reference/images.md b/reference/images.md index 907d67be24..fdb833e4e3 100644 --- a/reference/images.md +++ b/reference/images.md @@ -9,14 +9,14 @@ identifier="dtr_reference_images" +++ -# docker/dtr images +# dockerhubenterprise/dtr images List all the images necessary to install DTR ## Usage ```bash -docker run -it --rm docker/dtr \ +docker run -it --rm dockerhubenterprise/dtr \ images [command options] ``` diff --git a/reference/index.md b/reference/index.md index 2371f24bc7..ffe0c6450b 100644 --- a/reference/index.md +++ b/reference/index.md @@ -1,7 +1,7 @@ -# docker/dtr overview +# dockerhubenterprise/dtr overview This tool has commands to install, configure, and backup Docker Trusted Registry (DTR). It also allows uninstalling DTR. @@ -23,7 +23,7 @@ Additional help is available for each command with the '--help' option. ## Usage ```bash -docker run -it --rm docker/dtr \ +docker run -it --rm dockerhubenterprise/dtr \ command [command options] ``` diff --git a/reference/install.md b/reference/install.md index 8445609103..8b877e06a8 100644 --- a/reference/install.md +++ b/reference/install.md @@ -9,14 +9,14 @@ identifier="dtr_reference_install" +++ -# docker/dtr install +# dockerhubenterprise/dtr install Install Docker Trusted Registry ## Usage ```bash -docker run -it --rm docker/dtr \ +docker run -it --rm dockerhubenterprise/dtr \ install [command options] ``` diff --git a/reference/join.md b/reference/join.md index 117560164d..b8129d5e2f 100644 --- a/reference/join.md +++ b/reference/join.md @@ -9,7 +9,7 @@ identifier="dtr_reference_join" +++ -# docker/dtr join +# dockerhubenterprise/dtr join Add a new replica to an existing DTR cluster diff --git a/reference/menu.md b/reference/menu.md index ca6363f184..3e2b1afc41 100644 --- a/reference/menu.md +++ b/reference/menu.md @@ -1,7 +1,7 @@ -# docker/dtr migrate +# dockerhubenterprise/dtr migrate Migrate configurations, accounts, and repository metadata from DTR 1.4.3 to 2.0. -Only available in `docker/dtr` version 2.0.x. +Only available in `dockerhubenterprise/dtr` version 2.0.x. ## Usage ```bash -$ docker run -it --rm docker/dtr \ +$ docker run -it --rm dockerhubenterprise/dtr \ migrate [command options] ``` diff --git a/reference/reconfigure.md b/reference/reconfigure.md index b92110cacb..64a58f3c12 100644 --- a/reference/reconfigure.md +++ b/reference/reconfigure.md @@ -9,14 +9,14 @@ identifier="dtr_reference_reconfigure" +++ -# docker/dtr reconfigure +# dockerhubenterprise/dtr reconfigure Change DTR configurations ## Usage ```bash -docker run -it --rm docker/dtr \ +docker run -it --rm dockerhubenterprise/dtr \ reconfigure [command options] ``` diff --git a/reference/remove.md b/reference/remove.md index 393af38cb5..b9d4d6e200 100644 --- a/reference/remove.md +++ b/reference/remove.md @@ -9,14 +9,14 @@ identifier="dtr_reference_remove" +++ -# docker/dtr remove +# dockerhubenterprise/dtr remove Remove a DTR replica ## Usage ```bash -docker run -it --rm docker/dtr \ +docker run -it --rm dockerhubenterprise/dtr \ remove [command options] ``` diff --git a/reference/restore.md b/reference/restore.md index f32e670aeb..d7a31192f7 100644 --- a/reference/restore.md +++ b/reference/restore.md @@ -9,14 +9,14 @@ identifier="dtr_reference_restore" +++ -# docker/dtr restore +# dockerhubenterprise/dtr restore Install and restore DTR from an existing backup ## Usage ```bash -docker run -i --rm docker/dtr \ +docker run -i --rm dockerhubenterprise/dtr \ restore [command options] < backup.tar ``` diff --git a/reference/upgrade.md b/reference/upgrade.md index bae2f3e29c..e3b75738ce 100644 --- a/reference/upgrade.md +++ b/reference/upgrade.md @@ -9,14 +9,14 @@ identifier="dtr_reference_upgrade" +++ -# docker/dtr upgrade +# dockerhubenterprise/dtr upgrade Upgrade DTR 2.0.0 or later cluster to this version ## Usage ```bash -docker run -it --rm docker/dtr \ +docker run -it --rm dockerhubenterprise/dtr \ upgrade [command options] ``` From dc72df71ed6b01c811fb703db393fd90ad0a5498 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Thu, 13 Oct 2016 15:37:33 -0700 Subject: [PATCH 11/19] Add release notes for 2.0.4 --- release-notes/prior-release-notes.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/release-notes/prior-release-notes.md b/release-notes/prior-release-notes.md index 204e647727..18b870afdb 100644 --- a/release-notes/prior-release-notes.md +++ b/release-notes/prior-release-notes.md @@ -16,6 +16,26 @@ weight=10 This document contains the release notes for all versions of Docker Trusted Registry. +## Version 2.0.4 + +(13 Oct 2016) + +**General improvements** + +* Increased limits on pagination for all lists in the UI +* Improved health check endpoints to report DTR status more accurately + +**Bug fixes** + +* You can now edit the permissions for a team member +* Fixed issue that prevented DTR from being installed in Docker Engine 1.12 +* Several improvements to the migrate command +* Improved the reconfigure command to allow tuning the key-value store heartbeat +interval, election timeout, and snapshot count +* Users can now pull from public repositories in an organization namespace +without having to authenticate. Requires UCP 1.1.4 + + ## Version 2.0.3 August 11, 2016 From 0453f47f9f071d3bcd909fd07f4b6e55f1038d3d Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Sun, 23 Oct 2016 19:52:02 -0700 Subject: [PATCH 12/19] Add release notes for 2.1 Beta2 --- release-notes/index.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/release-notes/index.md b/release-notes/index.md index 3328473f57..f195858fe3 100644 --- a/release-notes/index.md +++ b/release-notes/index.md @@ -19,7 +19,25 @@ known issues for each DTR version. You can then use [the upgrade instructions](../install/upgrade/upgrade-major.md), to upgrade your installation to the latest release. -## DTR 2.1 +## DTR 2.1 Beta 2 + +(24 Oct 2016) + +**Bug Fixes** + +* Fixed Swift configuration error in DTR web UI when using advanced settings +* Fixed bug where organization owner would not see the delete button for repository +* Changed http response when deleting a non-existent tag from 204 to 404 +* Changed http response when deleting a non-existent manifest from 500 to 404 +* Users now show in the organization member list +* Team name is now being displayed in the UI +* Organization administrators can now delete repositories +* Fixed problem that prevented organization administrators to change a user role +* Fixed problem when removing users from an organization in the UI +* Fixed errors in Internet Explorer 11 +* Fixed problem that caused the garbage collection job to treat valid manifests as corrupt + +## DTR 2.1 Beta 1 (7 Oct 2016) From 5cc28653b52552c2379be68178e1a7088b5a46e7 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Mon, 24 Oct 2016 16:15:22 -0700 Subject: [PATCH 13/19] Update install docs for beta 3 --- install/index.md | 6 +++--- install/install-dtr-offline.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/install/index.md b/install/index.md index cce8df724e..3fb29b3a46 100644 --- a/install/index.md +++ b/install/index.md @@ -46,7 +46,7 @@ To install DTR: 1. Get the DTR package. ```bash - $ wget https://packages.docker.com/caas/ucp-2.0.0-beta1_dtr-2.1.0-beta1.tar.gz -O docker-datacenter.tar.gz + $ wget https://packages.docker.com/caas/ucp-2.0.0-beta3_dtr-2.1.0-beta3.tar.gz -O docker-datacenter.tar.gz ``` 2. Transfer the package to the nodes. @@ -81,7 +81,7 @@ To install DTR: # Install DTR $ docker run -it --rm \ - dockerhubenterprise/dtr:2.1.0-beta1 install \ + docker/dtr:2.1.0-beta3 install \ --ucp-node \ --ucp-insecure-tls ``` @@ -154,7 +154,7 @@ replicas: ```bash $ docker run -it --rm \ - dockerhubenterprise/dtr:2.1.0-beta1 join \ + docker/dtr:2.1.0-beta3 join \ --ucp-node \ --ucp-insecure-tls ``` diff --git a/install/install-dtr-offline.md b/install/install-dtr-offline.md index b377ce34b0..0909267452 100644 --- a/install/install-dtr-offline.md +++ b/install/install-dtr-offline.md @@ -27,7 +27,7 @@ copy that package to the nodes where you’ll install DTR. Docker Datacenter components: ```bash - $ wget https://packages.docker.com/caas/ucp-2.0.0-beta1_dtr-2.1.0-beta1.tar.gz -O docker-datacenter.tar.gz + $ wget https://packages.docker.com/caas/ucp-2.0.0-beta3_dtr-2.1.0-beta3.tar.gz -O docker-datacenter.tar.gz ``` 2. Transfer the package to the offline nodes. From 47bc122701dc01b48c69b08b6ef8bcc10408e5c0 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Tue, 25 Oct 2016 10:17:30 -0700 Subject: [PATCH 14/19] Update install docs --- install/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/index.md b/install/index.md index 3fb29b3a46..6be29b09e7 100644 --- a/install/index.md +++ b/install/index.md @@ -38,7 +38,7 @@ Make sure all the nodes you plan on installing DTR are being managed by UCP. ## Step 3. Install DTR -To install DTR you use the `dockerhubenterprise/dtr` image. This image has commands to +To install DTR you use the `docker/dtr` image. This image has commands to install, configure, and backup DTR. To install DTR: @@ -137,7 +137,7 @@ replica fails. For high-availability you should set 3, 5, or 7 DTR replicas. The nodes where you're going to install these replicas also need to be managed by UCP. -To add replicas to a DTR cluster, use the `dockerhubenterprise/dtr join` command. To add +To add replicas to a DTR cluster, use the `docker/dtr join` command. To add replicas: 1. Make sure the DTR images are loaded into the node. From b83dc8075ce6e9680189822ab39eaf4496870cc3 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Wed, 26 Oct 2016 10:49:34 -0700 Subject: [PATCH 15/19] Update docs from dockerhubenterprise/ to docker/ --- high-availability/backups-and-disaster-recovery.md | 8 ++++---- install/uninstall.md | 6 +++--- install/upgrade/index.md | 10 +++++----- monitor-troubleshoot/troubleshoot.md | 6 +++--- reference/backup.md | 4 ++-- reference/dumpcerts.md | 4 ++-- reference/images.md | 4 ++-- reference/index.md | 6 +++--- reference/install.md | 4 ++-- reference/join.md | 2 +- reference/menu.md | 4 ++-- reference/migrate.md | 8 ++++---- reference/reconfigure.md | 4 ++-- reference/remove.md | 4 ++-- reference/restore.md | 4 ++-- reference/upgrade.md | 4 ++-- 16 files changed, 41 insertions(+), 41 deletions(-) diff --git a/high-availability/backups-and-disaster-recovery.md b/high-availability/backups-and-disaster-recovery.md index 7e942b23cd..764bc8d8e6 100644 --- a/high-availability/backups-and-disaster-recovery.md +++ b/high-availability/backups-and-disaster-recovery.md @@ -37,7 +37,7 @@ on a cloud provider, depending on the way DTR is configured. ## Backup DTR data -To perform a backup of a DTR node, use the `dockerhubenterprise/dtr backup` command. This +To perform a backup of a DTR node, use the `backup` command. This command creates a backup of DTR: * Configurations, @@ -66,7 +66,7 @@ As an example, to create a backup of a DTR node, you can use: ```bash # Create the backup -$ docker run -i --rm dockerhubenterprise/dtr backup \ +$ docker run -i --rm docker/dtr:2.1.0-beta3 backup \ --ucp-url \ --ucp-insecure-tls \ --existing-replica-id \ @@ -90,7 +90,7 @@ $ tar -tf /tmp/backup.tar ## Restore DTR data -You can restore a DTR node from a backup using the `dockerhubenterprise/dtr restore` +You can restore a DTR node from a backup using the `restore` command. This command performs a fresh installation of DTR, and reconfigures it with the configuration created during a backup. @@ -116,7 +116,7 @@ state from an existing backup: ```bash # Install and restore configurations from an existing backup $ docker run -i --rm \ - dockerhubenterprise/dtr restore \ + docker/dtr:2.1.0-beta3 restore \ --ucp-url \ --ucp-insecure-tls \ --ucp-username \ diff --git a/install/uninstall.md b/install/uninstall.md index b19464ed36..576a2d9f16 100644 --- a/install/uninstall.md +++ b/install/uninstall.md @@ -12,7 +12,7 @@ weight=50 # Uninstall Docker Trusted Registry -Use the `dockerhubenterprise/dtr remove` command, to remove a DTR replica from a cluster. +Use the `remove` command, to remove a DTR replica from a cluster. To uninstall a DTR cluster you remove all DTR replicas one at a time. The remove command: @@ -24,7 +24,7 @@ To see what options are available in the uninstall command, check the [uninstall command reference](../reference/remove.md), or run: ```bash -$ docker run -it --rm dockerhubenterprise/dtr:2.1.0-beta1 remove --help +$ docker run -it --rm docker/dtr:2.1.0-beta3 remove --help ``` To remove a replica safely, you must tell the bootstrapper about one healthy replica @@ -40,7 +40,7 @@ remove a DTR replica from a cluster with multiple replicas: ```bash $ docker run -it --rm \ - dockerhubenterprise/dtr:2.1.0-beta1 remove \ + docker/dtr:2.1.0-beta3 remove \ --ucp-insecure-tls existing-replica-id (ID of an existing replica in a cluster): 7ae3cb044b70 diff --git a/install/upgrade/index.md b/install/upgrade/index.md index d4e224a443..3b17049992 100644 --- a/install/upgrade/index.md +++ b/install/upgrade/index.md @@ -29,17 +29,17 @@ installation to the 2.0 version](upgrade-major.md). ## Step 2. Upgrade DTR -To upgrade DTR you use the `dockerhubenterprise/dtr upgrade` command. +To upgrade DTR you use the `upgrade` command. 1. Download a UCP client bundle. Having a UCP client bundle allows you to run Docker commands on a UCP cluster. Download a UCP client bundle and set up your CLI client to use it. -2. Pull the latest `dockerhubenterprise/dtr` image. +2. Pull the latest `docker/dtr` image. ```bash - $ docker pull dockerhubenterprise/dtr + $ docker pull docker/dtr: ``` If the node you're upgrading doesn't have access to the internet, you can @@ -52,8 +52,8 @@ To upgrade DTR you use the `dockerhubenterprise/dtr upgrade` command. ```bash $ docker run -it --rm \ - dockerhubenterprise/dtr upgrade \ - --ucp-insecure-tls + docker/dtr: upgrade \ + --ucp-insecure-tls ``` By default the upgrade command runs in interactive mode and prompts you for diff --git a/monitor-troubleshoot/troubleshoot.md b/monitor-troubleshoot/troubleshoot.md index ab099db7bb..71673485a9 100644 --- a/monitor-troubleshoot/troubleshoot.md +++ b/monitor-troubleshoot/troubleshoot.md @@ -20,8 +20,8 @@ To manually test that overlay networking is working in UCP run the following commands on two different UCP machines. ``` -docker run -it --rm --net dtr-ol --name overlay-test1 --entrypoint sh dockerhubenterprise/dtr -docker run -it --rm --net dtr-ol --name overlay-test2 --entrypoint ping dockerhubenterprise/dtr -c 3 overlay-test1 +docker run -it --rm --net dtr-ol --name overlay-test1 --entrypoint sh docker/dtr +docker run -it --rm --net dtr-ol --name overlay-test2 --entrypoint ping docker/dtr -c 3 overlay-test1 ``` You can create new new overlay network for this test with `docker network create -d overaly network-name`. @@ -69,5 +69,5 @@ You can execute etcd commands on a UCP node hosting a DTR replica using etcdctl via the following docker command: ``` -docker run --rm -v dtr-ca-$REPLICA_ID:/ca --net dtr-br -it --entrypoint /etcdctl dockerhubenterprise/dtr-etcd:v2.2.4 --endpoint https://dtr-etcd-$REPLICA_ID.dtr-br:2379 --ca-file /ca/etcd/cert.pem --key-file /ca/etcd-client/key.pem --cert-file /ca/etcd-client/cert.pem +docker run --rm -v dtr-ca-$REPLICA_ID:/ca --net dtr-br -it --entrypoint /etcdctl docker/dtr-etcd:v2.2.4 --endpoint https://dtr-etcd-$REPLICA_ID.dtr-br:2379 --ca-file /ca/etcd/cert.pem --key-file /ca/etcd-client/key.pem --cert-file /ca/etcd-client/cert.pem ``` diff --git a/reference/backup.md b/reference/backup.md index 2e2d8deda6..8f5ca87a37 100644 --- a/reference/backup.md +++ b/reference/backup.md @@ -9,14 +9,14 @@ identifier="dtr_reference_backup" +++ -# dockerhubenterprise/dtr backup +# docker/dtr backup Create a backup of DTR ## Usage ```bash -docker run -i --rm dockerhubenterprise/dtr \ +docker run -i --rm docker/dtr \ backup [command options] > backup.tar ``` diff --git a/reference/dumpcerts.md b/reference/dumpcerts.md index ebe726719f..2c1da74923 100644 --- a/reference/dumpcerts.md +++ b/reference/dumpcerts.md @@ -9,14 +9,14 @@ identifier="dtr_reference_dumpcerts" +++ -# dockerhubenterprise/dtr dumpcerts +# docker/dtr dumpcerts Print the TLS certificates used by DTR ## Usage ```bash -docker run -i --rm dockerhubenterprise/dtr \ +docker run -i --rm docker/dtr \ dumpcerts [command options] > backup.tar ``` diff --git a/reference/images.md b/reference/images.md index fdb833e4e3..907d67be24 100644 --- a/reference/images.md +++ b/reference/images.md @@ -9,14 +9,14 @@ identifier="dtr_reference_images" +++ -# dockerhubenterprise/dtr images +# docker/dtr images List all the images necessary to install DTR ## Usage ```bash -docker run -it --rm dockerhubenterprise/dtr \ +docker run -it --rm docker/dtr \ images [command options] ``` diff --git a/reference/index.md b/reference/index.md index ffe0c6450b..2371f24bc7 100644 --- a/reference/index.md +++ b/reference/index.md @@ -1,7 +1,7 @@ -# dockerhubenterprise/dtr overview +# docker/dtr overview This tool has commands to install, configure, and backup Docker Trusted Registry (DTR). It also allows uninstalling DTR. @@ -23,7 +23,7 @@ Additional help is available for each command with the '--help' option. ## Usage ```bash -docker run -it --rm dockerhubenterprise/dtr \ +docker run -it --rm docker/dtr \ command [command options] ``` diff --git a/reference/install.md b/reference/install.md index 8b877e06a8..8445609103 100644 --- a/reference/install.md +++ b/reference/install.md @@ -9,14 +9,14 @@ identifier="dtr_reference_install" +++ -# dockerhubenterprise/dtr install +# docker/dtr install Install Docker Trusted Registry ## Usage ```bash -docker run -it --rm dockerhubenterprise/dtr \ +docker run -it --rm docker/dtr \ install [command options] ``` diff --git a/reference/join.md b/reference/join.md index b8129d5e2f..117560164d 100644 --- a/reference/join.md +++ b/reference/join.md @@ -9,7 +9,7 @@ identifier="dtr_reference_join" +++ -# dockerhubenterprise/dtr join +# docker/dtr join Add a new replica to an existing DTR cluster diff --git a/reference/menu.md b/reference/menu.md index 3e2b1afc41..ca6363f184 100644 --- a/reference/menu.md +++ b/reference/menu.md @@ -1,7 +1,7 @@ -# dockerhubenterprise/dtr migrate +# docker/dtr migrate Migrate configurations, accounts, and repository metadata from DTR 1.4.3 to 2.0. -Only available in `dockerhubenterprise/dtr` version 2.0.x. +Only available in `docker/dtr` version 2.0.x. ## Usage ```bash -$ docker run -it --rm dockerhubenterprise/dtr \ +$ docker run -it --rm docker/dtr \ migrate [command options] ``` diff --git a/reference/reconfigure.md b/reference/reconfigure.md index 64a58f3c12..b92110cacb 100644 --- a/reference/reconfigure.md +++ b/reference/reconfigure.md @@ -9,14 +9,14 @@ identifier="dtr_reference_reconfigure" +++ -# dockerhubenterprise/dtr reconfigure +# docker/dtr reconfigure Change DTR configurations ## Usage ```bash -docker run -it --rm dockerhubenterprise/dtr \ +docker run -it --rm docker/dtr \ reconfigure [command options] ``` diff --git a/reference/remove.md b/reference/remove.md index b9d4d6e200..393af38cb5 100644 --- a/reference/remove.md +++ b/reference/remove.md @@ -9,14 +9,14 @@ identifier="dtr_reference_remove" +++ -# dockerhubenterprise/dtr remove +# docker/dtr remove Remove a DTR replica ## Usage ```bash -docker run -it --rm dockerhubenterprise/dtr \ +docker run -it --rm docker/dtr \ remove [command options] ``` diff --git a/reference/restore.md b/reference/restore.md index d7a31192f7..f32e670aeb 100644 --- a/reference/restore.md +++ b/reference/restore.md @@ -9,14 +9,14 @@ identifier="dtr_reference_restore" +++ -# dockerhubenterprise/dtr restore +# docker/dtr restore Install and restore DTR from an existing backup ## Usage ```bash -docker run -i --rm dockerhubenterprise/dtr \ +docker run -i --rm docker/dtr \ restore [command options] < backup.tar ``` diff --git a/reference/upgrade.md b/reference/upgrade.md index e3b75738ce..bae2f3e29c 100644 --- a/reference/upgrade.md +++ b/reference/upgrade.md @@ -9,14 +9,14 @@ identifier="dtr_reference_upgrade" +++ -# dockerhubenterprise/dtr upgrade +# docker/dtr upgrade Upgrade DTR 2.0.0 or later cluster to this version ## Usage ```bash -docker run -it --rm dockerhubenterprise/dtr \ +docker run -it --rm docker/dtr \ upgrade [command options] ``` From fd336e56c5f244d668ac148a0badb073720f4662 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Wed, 26 Oct 2016 11:01:38 -0700 Subject: [PATCH 16/19] Update release notes version --- release-notes/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/index.md b/release-notes/index.md index f195858fe3..751d66d455 100644 --- a/release-notes/index.md +++ b/release-notes/index.md @@ -19,7 +19,7 @@ known issues for each DTR version. You can then use [the upgrade instructions](../install/upgrade/upgrade-major.md), to upgrade your installation to the latest release. -## DTR 2.1 Beta 2 +## DTR 2.1 Beta 3 (24 Oct 2016) From 8c99d95681f8284d144833b119adafe241dd60ae Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Wed, 26 Oct 2016 14:00:47 -0700 Subject: [PATCH 17/19] Docs: can't upgrade during beta --- install/upgrade/index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/install/upgrade/index.md b/install/upgrade/index.md index 3b17049992..18ce8eb691 100644 --- a/install/upgrade/index.md +++ b/install/upgrade/index.md @@ -13,6 +13,11 @@ weight=10 # Upgrade from 2.0.0 + + +> You can't upgrade from one beta version to another. To test the latest +> beta version, start by uninstalling the previous version. + The first step in upgrading to a new minor version or patch release of DTR 2.0, is ensuring you're running DTR 2.0. If that's not the case, start by upgrading your installation to version 2.0.0, and then upgrade to the latest version From bf2ec3c6b8787eba35c9c208d67aa7de1ea13e80 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Sat, 5 Nov 2016 22:03:20 -0700 Subject: [PATCH 18/19] Delete Dockerfile, makefile --- Dockerfile | 11 ----------- Makefile | 51 --------------------------------------------------- 2 files changed, 62 deletions(-) delete mode 100644 Dockerfile delete mode 100644 Makefile diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 881bab9f45..0000000000 --- a/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM docs/base:oss -MAINTAINER Docker Docs - -ENV PROJECT=docker-trusted-registry -# To get the git info for this repo -COPY . /src -RUN rm -rf /docs/content/$PROJECT/ -COPY . /docs/content/$PROJECT/ - -# This kludge only exists when run from the DTR repo (useful for testing) -RUN mv -f /docs/content/$PROJECT/apidocgen/ /docs/content/apidocs/ || true diff --git a/Makefile b/Makefile deleted file mode 100644 index df8cece166..0000000000 --- a/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -.PHONY: all default docs docs-build docs-shell shell test - -# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs) -DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR)) - -# to allow `make DOCSPORT=9000 docs` -DOCSPORT := 8000 - -# Get the IP ADDRESS -DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''") -HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)") -HUGO_BIND_IP=0.0.0.0 - -GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null) -GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g") -DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN)) - -DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE - -# for some docs workarounds (see below in "docs-build" target) -GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null) - -default: docs - -local: docs-build - $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 \ - -v $(CURDIR):/docs/content/docker-trusted-registry/ \ - -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" \ - hugo server \ - --log=true --watch=true \ - --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) - -docs: docs-build - $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) - -docs-draft: docs-build - $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) - -docs-shell: docs-build - $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash - -test: docs-build - $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" - -docs-build: - rm -rf ./apidocgen/ - cp -r ../apidocgen/output apidocgen - docker build -t "$(DOCKER_DOCS_IMAGE)" . - -images: - $(MAKE) -C images From 396206b5c8e211966db605276f5ca051e4945141 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Sat, 5 Nov 2016 22:06:58 -0700 Subject: [PATCH 19/19] Move dtr to datacenter/dtr/2.1 --- .../dtr/2.1/architecture.md | 0 {assets => datacenter/dtr/2.1/assets}/gc1.png | Bin {assets => datacenter/dtr/2.1/assets}/gc3.png | Bin {assets => datacenter/dtr/2.1/assets}/repo.png | Bin .../dtr/2.1/configure}/config-general.md | 0 .../dtr/2.1/configure}/config-security.md | 0 .../dtr/2.1/configure}/config-storage.md | 0 .../dtr/2.1/configure}/configuration.md | 0 .../dtr/2.1/configure}/index.md | 0 .../dtr/2.1/configure}/use-your-certificates.md | 0 .../backups-and-disaster-recovery.md | 0 .../dtr/2.1/high-availability}/index.md | 0 .../dtr/2.1/high-availability}/menu.md | 0 {images => datacenter/dtr/2.1/images}/Makefile | 0 .../dtr/2.1/images}/admin-logs.png | Bin .../dtr/2.1/images}/admin-metrics.png | Bin .../dtr/2.1/images}/admin-settings-auth.png | Bin .../images}/admin-settings-authentication-basic.png | Bin .../images}/admin-settings-authentication-ldap.png | Bin .../2.1/images}/admin-settings-authentication.png | Bin .../dtr/2.1/images}/admin-settings-license.png | Bin .../dtr/2.1/images}/admin-settings-license2.png | Bin .../dtr/2.1/images}/admin-settings-security.png | Bin .../2.1/images}/admin-settings-storage-azure.png | Bin .../dtr/2.1/images}/admin-settings-storage-s3.png | Bin .../dtr/2.1/images}/admin-settings-storage.png | Bin .../dtr/2.1/images}/admin-settings.png | Bin .../dtr/2.1/images}/architecture-1.png | Bin .../2.1/images}/authentication-authorization-1.svg | 0 .../dtr/2.1/images}/aws-dtr-sg-rules.png | Bin .../dtr/2.1/images}/aws-engine-sg-rules.png | Bin .../dtr/2.1/images}/aws-instance-id.png | Bin .../dtr/2.1/images}/azure_filter.png | Bin {images => datacenter/dtr/2.1/images}/azure_ip.png | Bin .../dtr/2.1/images}/azure_portal.png | Bin .../dtr/2.1/images}/basic_configuration.png | Bin .../dtr/2.1/images}/console-pull.png | Bin .../dtr/2.1/images}/console-push.png | Bin .../dtr/2.1/images}/create-and-manage-orgs-1.png | Bin .../dtr/2.1/images}/create-and-manage-orgs-2.png | Bin .../dtr/2.1/images}/create-and-manage-orgs-3.png | Bin .../dtr/2.1/images}/create-and-manage-teams-1.png | Bin .../dtr/2.1/images}/create-and-manage-teams-2.png | Bin .../dtr/2.1/images}/create-and-manage-teams-3.png | Bin .../dtr/2.1/images}/create-and-manage-teams-4.png | Bin .../dtr/2.1/images}/create-and-manage-teams-5.png | Bin .../dtr/2.1/images}/create-manage-users-1.png | Bin .../dtr/2.1/images}/create-manage-users-2.png | Bin .../dtr/2.1/images}/dashboard-settings-general.png | Bin .../dtr/2.1/images}/delete-an-image-1.png | Bin ...ker-hub-org-enterprise-license-CSDE-dropdown.png | Bin .../images}/docker-hub-org-enterprise-license.png | Bin .../dtr/2.1/images}/dtr-integration-1.png | Bin .../dtr/2.1/images}/dtr-license-download.png | Bin .../dtr/2.1/images}/high-availability-1.png | Bin .../dtr/2.1/images}/high-availability-2.png | Bin .../dtr/2.1/images}/install-dtr-1.png | Bin .../dtr/2.1/images}/install-dtr-2.png | Bin .../dtr/2.1/images}/install-dtr-3.png | Bin .../dtr/2.1/images}/install-dtr-4.png | Bin .../dtr/2.1/images}/jenkins-plugins.png | Bin .../dtr/2.1/images}/jenkins-ui.png | Bin {images => datacenter/dtr/2.1/images}/license-1.png | Bin {images => datacenter/dtr/2.1/images}/license-2.png | Bin {images => datacenter/dtr/2.1/images}/monitor-1.png | Bin {images => datacenter/dtr/2.1/images}/monitor-2.png | Bin .../dtr/2.1/images}/overview-1.png | Bin .../dtr/2.1/images}/overview-2.png | Bin .../dtr/2.1/images}/pull-an-image-1.png | Bin .../dtr/2.1/images}/pull-an-image-2.png | Bin .../dtr/2.1/images}/push-an-image-1.png | Bin .../dtr/2.1/images}/push-an-image-2.png | Bin .../dtr/2.1/images}/push-an-image-3.png | Bin {images => datacenter/dtr/2.1/images}/repo.png | Bin .../dtr/2.1/images}/script-copy.png | Bin .../dtr/2.1/images}/use-your-certificates-1.png | Bin index.md => datacenter/dtr/2.1/index.md | 0 {install => datacenter/dtr/2.1/install}/index.md | 0 .../dtr/2.1/install}/install-dtr-offline.md | 0 {install => datacenter/dtr/2.1/install}/license.md | 0 {install => datacenter/dtr/2.1/install}/menu.md | 0 .../dtr/2.1/install}/system-requirements.md | 0 .../dtr/2.1/install}/uninstall.md | 0 .../dtr/2.1/install}/upgrade/index.md | 0 .../dtr/2.1/install}/upgrade/menu.md | 0 .../dtr/2.1/install}/upgrade/upgrade-major.md | 0 menu.md => datacenter/dtr/2.1/menu.md | 0 .../dtr/2.1/monitor-troubleshoot}/index.md | 0 .../dtr/2.1/monitor-troubleshoot}/menu.md | 0 .../dtr/2.1/monitor-troubleshoot}/troubleshoot.md | 0 .../dtr/2.1/reference}/backup.md | 0 .../dtr/2.1/reference}/dumpcerts.md | 0 .../dtr/2.1/reference}/images.md | 0 .../dtr/2.1/reference}/index.md | 0 .../dtr/2.1/reference}/install.md | 0 {reference => datacenter/dtr/2.1/reference}/join.md | 0 {reference => datacenter/dtr/2.1/reference}/menu.md | 0 .../dtr/2.1/reference}/migrate.md | 0 .../dtr/2.1/reference}/reconfigure.md | 0 .../dtr/2.1/reference}/remove.md | 0 .../dtr/2.1/reference}/restore.md | 0 .../dtr/2.1/reference}/upgrade.md | 0 .../dtr/2.1/release-notes}/index.md | 0 .../dtr/2.1/release-notes}/menu.md | 0 .../dtr/2.1/release-notes}/prior-release-notes.md | 0 .../dtr/2.1/repos-and-images}/delete-an-image.md | 0 .../dtr/2.1/repos-and-images}/index.md | 0 .../dtr/2.1/repos-and-images}/menu.md | 0 .../dtr/2.1/repos-and-images}/pull-an-image.md | 0 .../dtr/2.1/repos-and-images}/push-an-image.md | 0 support.md => datacenter/dtr/2.1/support.md | 0 .../2.1/user-management}/create-and-manage-orgs.md | 0 .../2.1/user-management}/create-and-manage-teams.md | 0 .../2.1/user-management}/create-and-manage-users.md | 0 .../dtr/2.1/user-management}/index.md | 0 .../dtr/2.1/user-management}/menu.md | 0 .../dtr/2.1/user-management}/permission-levels.md | 0 117 files changed, 0 insertions(+), 0 deletions(-) rename architecture.md => datacenter/dtr/2.1/architecture.md (100%) rename {assets => datacenter/dtr/2.1/assets}/gc1.png (100%) rename {assets => datacenter/dtr/2.1/assets}/gc3.png (100%) rename {assets => datacenter/dtr/2.1/assets}/repo.png (100%) rename {configure => datacenter/dtr/2.1/configure}/config-general.md (100%) rename {configure => datacenter/dtr/2.1/configure}/config-security.md (100%) rename {configure => datacenter/dtr/2.1/configure}/config-storage.md (100%) rename {configure => datacenter/dtr/2.1/configure}/configuration.md (100%) rename {configure => datacenter/dtr/2.1/configure}/index.md (100%) rename {configure => datacenter/dtr/2.1/configure}/use-your-certificates.md (100%) rename {high-availability => datacenter/dtr/2.1/high-availability}/backups-and-disaster-recovery.md (100%) rename {high-availability => datacenter/dtr/2.1/high-availability}/index.md (100%) rename {high-availability => datacenter/dtr/2.1/high-availability}/menu.md (100%) rename {images => datacenter/dtr/2.1/images}/Makefile (100%) rename {images => datacenter/dtr/2.1/images}/admin-logs.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-metrics.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings-auth.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings-authentication-basic.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings-authentication-ldap.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings-authentication.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings-license.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings-license2.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings-security.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings-storage-azure.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings-storage-s3.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings-storage.png (100%) rename {images => datacenter/dtr/2.1/images}/admin-settings.png (100%) rename {images => datacenter/dtr/2.1/images}/architecture-1.png (100%) rename {images => datacenter/dtr/2.1/images}/authentication-authorization-1.svg (100%) rename {images => datacenter/dtr/2.1/images}/aws-dtr-sg-rules.png (100%) rename {images => datacenter/dtr/2.1/images}/aws-engine-sg-rules.png (100%) rename {images => datacenter/dtr/2.1/images}/aws-instance-id.png (100%) rename {images => datacenter/dtr/2.1/images}/azure_filter.png (100%) rename {images => datacenter/dtr/2.1/images}/azure_ip.png (100%) rename {images => datacenter/dtr/2.1/images}/azure_portal.png (100%) rename {images => datacenter/dtr/2.1/images}/basic_configuration.png (100%) rename {images => datacenter/dtr/2.1/images}/console-pull.png (100%) rename {images => datacenter/dtr/2.1/images}/console-push.png (100%) rename {images => datacenter/dtr/2.1/images}/create-and-manage-orgs-1.png (100%) rename {images => datacenter/dtr/2.1/images}/create-and-manage-orgs-2.png (100%) rename {images => datacenter/dtr/2.1/images}/create-and-manage-orgs-3.png (100%) rename {images => datacenter/dtr/2.1/images}/create-and-manage-teams-1.png (100%) rename {images => datacenter/dtr/2.1/images}/create-and-manage-teams-2.png (100%) rename {images => datacenter/dtr/2.1/images}/create-and-manage-teams-3.png (100%) rename {images => datacenter/dtr/2.1/images}/create-and-manage-teams-4.png (100%) rename {images => datacenter/dtr/2.1/images}/create-and-manage-teams-5.png (100%) rename {images => datacenter/dtr/2.1/images}/create-manage-users-1.png (100%) rename {images => datacenter/dtr/2.1/images}/create-manage-users-2.png (100%) rename {images => datacenter/dtr/2.1/images}/dashboard-settings-general.png (100%) rename {images => datacenter/dtr/2.1/images}/delete-an-image-1.png (100%) rename {images => datacenter/dtr/2.1/images}/docker-hub-org-enterprise-license-CSDE-dropdown.png (100%) rename {images => datacenter/dtr/2.1/images}/docker-hub-org-enterprise-license.png (100%) rename {images => datacenter/dtr/2.1/images}/dtr-integration-1.png (100%) rename {images => datacenter/dtr/2.1/images}/dtr-license-download.png (100%) rename {images => datacenter/dtr/2.1/images}/high-availability-1.png (100%) rename {images => datacenter/dtr/2.1/images}/high-availability-2.png (100%) rename {images => datacenter/dtr/2.1/images}/install-dtr-1.png (100%) rename {images => datacenter/dtr/2.1/images}/install-dtr-2.png (100%) rename {images => datacenter/dtr/2.1/images}/install-dtr-3.png (100%) rename {images => datacenter/dtr/2.1/images}/install-dtr-4.png (100%) rename {images => datacenter/dtr/2.1/images}/jenkins-plugins.png (100%) rename {images => datacenter/dtr/2.1/images}/jenkins-ui.png (100%) rename {images => datacenter/dtr/2.1/images}/license-1.png (100%) rename {images => datacenter/dtr/2.1/images}/license-2.png (100%) rename {images => datacenter/dtr/2.1/images}/monitor-1.png (100%) rename {images => datacenter/dtr/2.1/images}/monitor-2.png (100%) rename {images => datacenter/dtr/2.1/images}/overview-1.png (100%) rename {images => datacenter/dtr/2.1/images}/overview-2.png (100%) rename {images => datacenter/dtr/2.1/images}/pull-an-image-1.png (100%) rename {images => datacenter/dtr/2.1/images}/pull-an-image-2.png (100%) rename {images => datacenter/dtr/2.1/images}/push-an-image-1.png (100%) rename {images => datacenter/dtr/2.1/images}/push-an-image-2.png (100%) rename {images => datacenter/dtr/2.1/images}/push-an-image-3.png (100%) rename {images => datacenter/dtr/2.1/images}/repo.png (100%) rename {images => datacenter/dtr/2.1/images}/script-copy.png (100%) rename {images => datacenter/dtr/2.1/images}/use-your-certificates-1.png (100%) rename index.md => datacenter/dtr/2.1/index.md (100%) rename {install => datacenter/dtr/2.1/install}/index.md (100%) rename {install => datacenter/dtr/2.1/install}/install-dtr-offline.md (100%) rename {install => datacenter/dtr/2.1/install}/license.md (100%) rename {install => datacenter/dtr/2.1/install}/menu.md (100%) rename {install => datacenter/dtr/2.1/install}/system-requirements.md (100%) rename {install => datacenter/dtr/2.1/install}/uninstall.md (100%) rename {install => datacenter/dtr/2.1/install}/upgrade/index.md (100%) rename {install => datacenter/dtr/2.1/install}/upgrade/menu.md (100%) rename {install => datacenter/dtr/2.1/install}/upgrade/upgrade-major.md (100%) rename menu.md => datacenter/dtr/2.1/menu.md (100%) rename {monitor-troubleshoot => datacenter/dtr/2.1/monitor-troubleshoot}/index.md (100%) rename {monitor-troubleshoot => datacenter/dtr/2.1/monitor-troubleshoot}/menu.md (100%) rename {monitor-troubleshoot => datacenter/dtr/2.1/monitor-troubleshoot}/troubleshoot.md (100%) rename {reference => datacenter/dtr/2.1/reference}/backup.md (100%) rename {reference => datacenter/dtr/2.1/reference}/dumpcerts.md (100%) rename {reference => datacenter/dtr/2.1/reference}/images.md (100%) rename {reference => datacenter/dtr/2.1/reference}/index.md (100%) rename {reference => datacenter/dtr/2.1/reference}/install.md (100%) rename {reference => datacenter/dtr/2.1/reference}/join.md (100%) rename {reference => datacenter/dtr/2.1/reference}/menu.md (100%) rename {reference => datacenter/dtr/2.1/reference}/migrate.md (100%) rename {reference => datacenter/dtr/2.1/reference}/reconfigure.md (100%) rename {reference => datacenter/dtr/2.1/reference}/remove.md (100%) rename {reference => datacenter/dtr/2.1/reference}/restore.md (100%) rename {reference => datacenter/dtr/2.1/reference}/upgrade.md (100%) rename {release-notes => datacenter/dtr/2.1/release-notes}/index.md (100%) rename {release-notes => datacenter/dtr/2.1/release-notes}/menu.md (100%) rename {release-notes => datacenter/dtr/2.1/release-notes}/prior-release-notes.md (100%) rename {repos-and-images => datacenter/dtr/2.1/repos-and-images}/delete-an-image.md (100%) rename {repos-and-images => datacenter/dtr/2.1/repos-and-images}/index.md (100%) rename {repos-and-images => datacenter/dtr/2.1/repos-and-images}/menu.md (100%) rename {repos-and-images => datacenter/dtr/2.1/repos-and-images}/pull-an-image.md (100%) rename {repos-and-images => datacenter/dtr/2.1/repos-and-images}/push-an-image.md (100%) rename support.md => datacenter/dtr/2.1/support.md (100%) rename {user-management => datacenter/dtr/2.1/user-management}/create-and-manage-orgs.md (100%) rename {user-management => datacenter/dtr/2.1/user-management}/create-and-manage-teams.md (100%) rename {user-management => datacenter/dtr/2.1/user-management}/create-and-manage-users.md (100%) rename {user-management => datacenter/dtr/2.1/user-management}/index.md (100%) rename {user-management => datacenter/dtr/2.1/user-management}/menu.md (100%) rename {user-management => datacenter/dtr/2.1/user-management}/permission-levels.md (100%) diff --git a/architecture.md b/datacenter/dtr/2.1/architecture.md similarity index 100% rename from architecture.md rename to datacenter/dtr/2.1/architecture.md diff --git a/assets/gc1.png b/datacenter/dtr/2.1/assets/gc1.png similarity index 100% rename from assets/gc1.png rename to datacenter/dtr/2.1/assets/gc1.png diff --git a/assets/gc3.png b/datacenter/dtr/2.1/assets/gc3.png similarity index 100% rename from assets/gc3.png rename to datacenter/dtr/2.1/assets/gc3.png diff --git a/assets/repo.png b/datacenter/dtr/2.1/assets/repo.png similarity index 100% rename from assets/repo.png rename to datacenter/dtr/2.1/assets/repo.png diff --git a/configure/config-general.md b/datacenter/dtr/2.1/configure/config-general.md similarity index 100% rename from configure/config-general.md rename to datacenter/dtr/2.1/configure/config-general.md diff --git a/configure/config-security.md b/datacenter/dtr/2.1/configure/config-security.md similarity index 100% rename from configure/config-security.md rename to datacenter/dtr/2.1/configure/config-security.md diff --git a/configure/config-storage.md b/datacenter/dtr/2.1/configure/config-storage.md similarity index 100% rename from configure/config-storage.md rename to datacenter/dtr/2.1/configure/config-storage.md diff --git a/configure/configuration.md b/datacenter/dtr/2.1/configure/configuration.md similarity index 100% rename from configure/configuration.md rename to datacenter/dtr/2.1/configure/configuration.md diff --git a/configure/index.md b/datacenter/dtr/2.1/configure/index.md similarity index 100% rename from configure/index.md rename to datacenter/dtr/2.1/configure/index.md diff --git a/configure/use-your-certificates.md b/datacenter/dtr/2.1/configure/use-your-certificates.md similarity index 100% rename from configure/use-your-certificates.md rename to datacenter/dtr/2.1/configure/use-your-certificates.md diff --git a/high-availability/backups-and-disaster-recovery.md b/datacenter/dtr/2.1/high-availability/backups-and-disaster-recovery.md similarity index 100% rename from high-availability/backups-and-disaster-recovery.md rename to datacenter/dtr/2.1/high-availability/backups-and-disaster-recovery.md diff --git a/high-availability/index.md b/datacenter/dtr/2.1/high-availability/index.md similarity index 100% rename from high-availability/index.md rename to datacenter/dtr/2.1/high-availability/index.md diff --git a/high-availability/menu.md b/datacenter/dtr/2.1/high-availability/menu.md similarity index 100% rename from high-availability/menu.md rename to datacenter/dtr/2.1/high-availability/menu.md diff --git a/images/Makefile b/datacenter/dtr/2.1/images/Makefile similarity index 100% rename from images/Makefile rename to datacenter/dtr/2.1/images/Makefile diff --git a/images/admin-logs.png b/datacenter/dtr/2.1/images/admin-logs.png similarity index 100% rename from images/admin-logs.png rename to datacenter/dtr/2.1/images/admin-logs.png diff --git a/images/admin-metrics.png b/datacenter/dtr/2.1/images/admin-metrics.png similarity index 100% rename from images/admin-metrics.png rename to datacenter/dtr/2.1/images/admin-metrics.png diff --git a/images/admin-settings-auth.png b/datacenter/dtr/2.1/images/admin-settings-auth.png similarity index 100% rename from images/admin-settings-auth.png rename to datacenter/dtr/2.1/images/admin-settings-auth.png diff --git a/images/admin-settings-authentication-basic.png b/datacenter/dtr/2.1/images/admin-settings-authentication-basic.png similarity index 100% rename from images/admin-settings-authentication-basic.png rename to datacenter/dtr/2.1/images/admin-settings-authentication-basic.png diff --git a/images/admin-settings-authentication-ldap.png b/datacenter/dtr/2.1/images/admin-settings-authentication-ldap.png similarity index 100% rename from images/admin-settings-authentication-ldap.png rename to datacenter/dtr/2.1/images/admin-settings-authentication-ldap.png diff --git a/images/admin-settings-authentication.png b/datacenter/dtr/2.1/images/admin-settings-authentication.png similarity index 100% rename from images/admin-settings-authentication.png rename to datacenter/dtr/2.1/images/admin-settings-authentication.png diff --git a/images/admin-settings-license.png b/datacenter/dtr/2.1/images/admin-settings-license.png similarity index 100% rename from images/admin-settings-license.png rename to datacenter/dtr/2.1/images/admin-settings-license.png diff --git a/images/admin-settings-license2.png b/datacenter/dtr/2.1/images/admin-settings-license2.png similarity index 100% rename from images/admin-settings-license2.png rename to datacenter/dtr/2.1/images/admin-settings-license2.png diff --git a/images/admin-settings-security.png b/datacenter/dtr/2.1/images/admin-settings-security.png similarity index 100% rename from images/admin-settings-security.png rename to datacenter/dtr/2.1/images/admin-settings-security.png diff --git a/images/admin-settings-storage-azure.png b/datacenter/dtr/2.1/images/admin-settings-storage-azure.png similarity index 100% rename from images/admin-settings-storage-azure.png rename to datacenter/dtr/2.1/images/admin-settings-storage-azure.png diff --git a/images/admin-settings-storage-s3.png b/datacenter/dtr/2.1/images/admin-settings-storage-s3.png similarity index 100% rename from images/admin-settings-storage-s3.png rename to datacenter/dtr/2.1/images/admin-settings-storage-s3.png diff --git a/images/admin-settings-storage.png b/datacenter/dtr/2.1/images/admin-settings-storage.png similarity index 100% rename from images/admin-settings-storage.png rename to datacenter/dtr/2.1/images/admin-settings-storage.png diff --git a/images/admin-settings.png b/datacenter/dtr/2.1/images/admin-settings.png similarity index 100% rename from images/admin-settings.png rename to datacenter/dtr/2.1/images/admin-settings.png diff --git a/images/architecture-1.png b/datacenter/dtr/2.1/images/architecture-1.png similarity index 100% rename from images/architecture-1.png rename to datacenter/dtr/2.1/images/architecture-1.png diff --git a/images/authentication-authorization-1.svg b/datacenter/dtr/2.1/images/authentication-authorization-1.svg similarity index 100% rename from images/authentication-authorization-1.svg rename to datacenter/dtr/2.1/images/authentication-authorization-1.svg diff --git a/images/aws-dtr-sg-rules.png b/datacenter/dtr/2.1/images/aws-dtr-sg-rules.png similarity index 100% rename from images/aws-dtr-sg-rules.png rename to datacenter/dtr/2.1/images/aws-dtr-sg-rules.png diff --git a/images/aws-engine-sg-rules.png b/datacenter/dtr/2.1/images/aws-engine-sg-rules.png similarity index 100% rename from images/aws-engine-sg-rules.png rename to datacenter/dtr/2.1/images/aws-engine-sg-rules.png diff --git a/images/aws-instance-id.png b/datacenter/dtr/2.1/images/aws-instance-id.png similarity index 100% rename from images/aws-instance-id.png rename to datacenter/dtr/2.1/images/aws-instance-id.png diff --git a/images/azure_filter.png b/datacenter/dtr/2.1/images/azure_filter.png similarity index 100% rename from images/azure_filter.png rename to datacenter/dtr/2.1/images/azure_filter.png diff --git a/images/azure_ip.png b/datacenter/dtr/2.1/images/azure_ip.png similarity index 100% rename from images/azure_ip.png rename to datacenter/dtr/2.1/images/azure_ip.png diff --git a/images/azure_portal.png b/datacenter/dtr/2.1/images/azure_portal.png similarity index 100% rename from images/azure_portal.png rename to datacenter/dtr/2.1/images/azure_portal.png diff --git a/images/basic_configuration.png b/datacenter/dtr/2.1/images/basic_configuration.png similarity index 100% rename from images/basic_configuration.png rename to datacenter/dtr/2.1/images/basic_configuration.png diff --git a/images/console-pull.png b/datacenter/dtr/2.1/images/console-pull.png similarity index 100% rename from images/console-pull.png rename to datacenter/dtr/2.1/images/console-pull.png diff --git a/images/console-push.png b/datacenter/dtr/2.1/images/console-push.png similarity index 100% rename from images/console-push.png rename to datacenter/dtr/2.1/images/console-push.png diff --git a/images/create-and-manage-orgs-1.png b/datacenter/dtr/2.1/images/create-and-manage-orgs-1.png similarity index 100% rename from images/create-and-manage-orgs-1.png rename to datacenter/dtr/2.1/images/create-and-manage-orgs-1.png diff --git a/images/create-and-manage-orgs-2.png b/datacenter/dtr/2.1/images/create-and-manage-orgs-2.png similarity index 100% rename from images/create-and-manage-orgs-2.png rename to datacenter/dtr/2.1/images/create-and-manage-orgs-2.png diff --git a/images/create-and-manage-orgs-3.png b/datacenter/dtr/2.1/images/create-and-manage-orgs-3.png similarity index 100% rename from images/create-and-manage-orgs-3.png rename to datacenter/dtr/2.1/images/create-and-manage-orgs-3.png diff --git a/images/create-and-manage-teams-1.png b/datacenter/dtr/2.1/images/create-and-manage-teams-1.png similarity index 100% rename from images/create-and-manage-teams-1.png rename to datacenter/dtr/2.1/images/create-and-manage-teams-1.png diff --git a/images/create-and-manage-teams-2.png b/datacenter/dtr/2.1/images/create-and-manage-teams-2.png similarity index 100% rename from images/create-and-manage-teams-2.png rename to datacenter/dtr/2.1/images/create-and-manage-teams-2.png diff --git a/images/create-and-manage-teams-3.png b/datacenter/dtr/2.1/images/create-and-manage-teams-3.png similarity index 100% rename from images/create-and-manage-teams-3.png rename to datacenter/dtr/2.1/images/create-and-manage-teams-3.png diff --git a/images/create-and-manage-teams-4.png b/datacenter/dtr/2.1/images/create-and-manage-teams-4.png similarity index 100% rename from images/create-and-manage-teams-4.png rename to datacenter/dtr/2.1/images/create-and-manage-teams-4.png diff --git a/images/create-and-manage-teams-5.png b/datacenter/dtr/2.1/images/create-and-manage-teams-5.png similarity index 100% rename from images/create-and-manage-teams-5.png rename to datacenter/dtr/2.1/images/create-and-manage-teams-5.png diff --git a/images/create-manage-users-1.png b/datacenter/dtr/2.1/images/create-manage-users-1.png similarity index 100% rename from images/create-manage-users-1.png rename to datacenter/dtr/2.1/images/create-manage-users-1.png diff --git a/images/create-manage-users-2.png b/datacenter/dtr/2.1/images/create-manage-users-2.png similarity index 100% rename from images/create-manage-users-2.png rename to datacenter/dtr/2.1/images/create-manage-users-2.png diff --git a/images/dashboard-settings-general.png b/datacenter/dtr/2.1/images/dashboard-settings-general.png similarity index 100% rename from images/dashboard-settings-general.png rename to datacenter/dtr/2.1/images/dashboard-settings-general.png diff --git a/images/delete-an-image-1.png b/datacenter/dtr/2.1/images/delete-an-image-1.png similarity index 100% rename from images/delete-an-image-1.png rename to datacenter/dtr/2.1/images/delete-an-image-1.png diff --git a/images/docker-hub-org-enterprise-license-CSDE-dropdown.png b/datacenter/dtr/2.1/images/docker-hub-org-enterprise-license-CSDE-dropdown.png similarity index 100% rename from images/docker-hub-org-enterprise-license-CSDE-dropdown.png rename to datacenter/dtr/2.1/images/docker-hub-org-enterprise-license-CSDE-dropdown.png diff --git a/images/docker-hub-org-enterprise-license.png b/datacenter/dtr/2.1/images/docker-hub-org-enterprise-license.png similarity index 100% rename from images/docker-hub-org-enterprise-license.png rename to datacenter/dtr/2.1/images/docker-hub-org-enterprise-license.png diff --git a/images/dtr-integration-1.png b/datacenter/dtr/2.1/images/dtr-integration-1.png similarity index 100% rename from images/dtr-integration-1.png rename to datacenter/dtr/2.1/images/dtr-integration-1.png diff --git a/images/dtr-license-download.png b/datacenter/dtr/2.1/images/dtr-license-download.png similarity index 100% rename from images/dtr-license-download.png rename to datacenter/dtr/2.1/images/dtr-license-download.png diff --git a/images/high-availability-1.png b/datacenter/dtr/2.1/images/high-availability-1.png similarity index 100% rename from images/high-availability-1.png rename to datacenter/dtr/2.1/images/high-availability-1.png diff --git a/images/high-availability-2.png b/datacenter/dtr/2.1/images/high-availability-2.png similarity index 100% rename from images/high-availability-2.png rename to datacenter/dtr/2.1/images/high-availability-2.png diff --git a/images/install-dtr-1.png b/datacenter/dtr/2.1/images/install-dtr-1.png similarity index 100% rename from images/install-dtr-1.png rename to datacenter/dtr/2.1/images/install-dtr-1.png diff --git a/images/install-dtr-2.png b/datacenter/dtr/2.1/images/install-dtr-2.png similarity index 100% rename from images/install-dtr-2.png rename to datacenter/dtr/2.1/images/install-dtr-2.png diff --git a/images/install-dtr-3.png b/datacenter/dtr/2.1/images/install-dtr-3.png similarity index 100% rename from images/install-dtr-3.png rename to datacenter/dtr/2.1/images/install-dtr-3.png diff --git a/images/install-dtr-4.png b/datacenter/dtr/2.1/images/install-dtr-4.png similarity index 100% rename from images/install-dtr-4.png rename to datacenter/dtr/2.1/images/install-dtr-4.png diff --git a/images/jenkins-plugins.png b/datacenter/dtr/2.1/images/jenkins-plugins.png similarity index 100% rename from images/jenkins-plugins.png rename to datacenter/dtr/2.1/images/jenkins-plugins.png diff --git a/images/jenkins-ui.png b/datacenter/dtr/2.1/images/jenkins-ui.png similarity index 100% rename from images/jenkins-ui.png rename to datacenter/dtr/2.1/images/jenkins-ui.png diff --git a/images/license-1.png b/datacenter/dtr/2.1/images/license-1.png similarity index 100% rename from images/license-1.png rename to datacenter/dtr/2.1/images/license-1.png diff --git a/images/license-2.png b/datacenter/dtr/2.1/images/license-2.png similarity index 100% rename from images/license-2.png rename to datacenter/dtr/2.1/images/license-2.png diff --git a/images/monitor-1.png b/datacenter/dtr/2.1/images/monitor-1.png similarity index 100% rename from images/monitor-1.png rename to datacenter/dtr/2.1/images/monitor-1.png diff --git a/images/monitor-2.png b/datacenter/dtr/2.1/images/monitor-2.png similarity index 100% rename from images/monitor-2.png rename to datacenter/dtr/2.1/images/monitor-2.png diff --git a/images/overview-1.png b/datacenter/dtr/2.1/images/overview-1.png similarity index 100% rename from images/overview-1.png rename to datacenter/dtr/2.1/images/overview-1.png diff --git a/images/overview-2.png b/datacenter/dtr/2.1/images/overview-2.png similarity index 100% rename from images/overview-2.png rename to datacenter/dtr/2.1/images/overview-2.png diff --git a/images/pull-an-image-1.png b/datacenter/dtr/2.1/images/pull-an-image-1.png similarity index 100% rename from images/pull-an-image-1.png rename to datacenter/dtr/2.1/images/pull-an-image-1.png diff --git a/images/pull-an-image-2.png b/datacenter/dtr/2.1/images/pull-an-image-2.png similarity index 100% rename from images/pull-an-image-2.png rename to datacenter/dtr/2.1/images/pull-an-image-2.png diff --git a/images/push-an-image-1.png b/datacenter/dtr/2.1/images/push-an-image-1.png similarity index 100% rename from images/push-an-image-1.png rename to datacenter/dtr/2.1/images/push-an-image-1.png diff --git a/images/push-an-image-2.png b/datacenter/dtr/2.1/images/push-an-image-2.png similarity index 100% rename from images/push-an-image-2.png rename to datacenter/dtr/2.1/images/push-an-image-2.png diff --git a/images/push-an-image-3.png b/datacenter/dtr/2.1/images/push-an-image-3.png similarity index 100% rename from images/push-an-image-3.png rename to datacenter/dtr/2.1/images/push-an-image-3.png diff --git a/images/repo.png b/datacenter/dtr/2.1/images/repo.png similarity index 100% rename from images/repo.png rename to datacenter/dtr/2.1/images/repo.png diff --git a/images/script-copy.png b/datacenter/dtr/2.1/images/script-copy.png similarity index 100% rename from images/script-copy.png rename to datacenter/dtr/2.1/images/script-copy.png diff --git a/images/use-your-certificates-1.png b/datacenter/dtr/2.1/images/use-your-certificates-1.png similarity index 100% rename from images/use-your-certificates-1.png rename to datacenter/dtr/2.1/images/use-your-certificates-1.png diff --git a/index.md b/datacenter/dtr/2.1/index.md similarity index 100% rename from index.md rename to datacenter/dtr/2.1/index.md diff --git a/install/index.md b/datacenter/dtr/2.1/install/index.md similarity index 100% rename from install/index.md rename to datacenter/dtr/2.1/install/index.md diff --git a/install/install-dtr-offline.md b/datacenter/dtr/2.1/install/install-dtr-offline.md similarity index 100% rename from install/install-dtr-offline.md rename to datacenter/dtr/2.1/install/install-dtr-offline.md diff --git a/install/license.md b/datacenter/dtr/2.1/install/license.md similarity index 100% rename from install/license.md rename to datacenter/dtr/2.1/install/license.md diff --git a/install/menu.md b/datacenter/dtr/2.1/install/menu.md similarity index 100% rename from install/menu.md rename to datacenter/dtr/2.1/install/menu.md diff --git a/install/system-requirements.md b/datacenter/dtr/2.1/install/system-requirements.md similarity index 100% rename from install/system-requirements.md rename to datacenter/dtr/2.1/install/system-requirements.md diff --git a/install/uninstall.md b/datacenter/dtr/2.1/install/uninstall.md similarity index 100% rename from install/uninstall.md rename to datacenter/dtr/2.1/install/uninstall.md diff --git a/install/upgrade/index.md b/datacenter/dtr/2.1/install/upgrade/index.md similarity index 100% rename from install/upgrade/index.md rename to datacenter/dtr/2.1/install/upgrade/index.md diff --git a/install/upgrade/menu.md b/datacenter/dtr/2.1/install/upgrade/menu.md similarity index 100% rename from install/upgrade/menu.md rename to datacenter/dtr/2.1/install/upgrade/menu.md diff --git a/install/upgrade/upgrade-major.md b/datacenter/dtr/2.1/install/upgrade/upgrade-major.md similarity index 100% rename from install/upgrade/upgrade-major.md rename to datacenter/dtr/2.1/install/upgrade/upgrade-major.md diff --git a/menu.md b/datacenter/dtr/2.1/menu.md similarity index 100% rename from menu.md rename to datacenter/dtr/2.1/menu.md diff --git a/monitor-troubleshoot/index.md b/datacenter/dtr/2.1/monitor-troubleshoot/index.md similarity index 100% rename from monitor-troubleshoot/index.md rename to datacenter/dtr/2.1/monitor-troubleshoot/index.md diff --git a/monitor-troubleshoot/menu.md b/datacenter/dtr/2.1/monitor-troubleshoot/menu.md similarity index 100% rename from monitor-troubleshoot/menu.md rename to datacenter/dtr/2.1/monitor-troubleshoot/menu.md diff --git a/monitor-troubleshoot/troubleshoot.md b/datacenter/dtr/2.1/monitor-troubleshoot/troubleshoot.md similarity index 100% rename from monitor-troubleshoot/troubleshoot.md rename to datacenter/dtr/2.1/monitor-troubleshoot/troubleshoot.md diff --git a/reference/backup.md b/datacenter/dtr/2.1/reference/backup.md similarity index 100% rename from reference/backup.md rename to datacenter/dtr/2.1/reference/backup.md diff --git a/reference/dumpcerts.md b/datacenter/dtr/2.1/reference/dumpcerts.md similarity index 100% rename from reference/dumpcerts.md rename to datacenter/dtr/2.1/reference/dumpcerts.md diff --git a/reference/images.md b/datacenter/dtr/2.1/reference/images.md similarity index 100% rename from reference/images.md rename to datacenter/dtr/2.1/reference/images.md diff --git a/reference/index.md b/datacenter/dtr/2.1/reference/index.md similarity index 100% rename from reference/index.md rename to datacenter/dtr/2.1/reference/index.md diff --git a/reference/install.md b/datacenter/dtr/2.1/reference/install.md similarity index 100% rename from reference/install.md rename to datacenter/dtr/2.1/reference/install.md diff --git a/reference/join.md b/datacenter/dtr/2.1/reference/join.md similarity index 100% rename from reference/join.md rename to datacenter/dtr/2.1/reference/join.md diff --git a/reference/menu.md b/datacenter/dtr/2.1/reference/menu.md similarity index 100% rename from reference/menu.md rename to datacenter/dtr/2.1/reference/menu.md diff --git a/reference/migrate.md b/datacenter/dtr/2.1/reference/migrate.md similarity index 100% rename from reference/migrate.md rename to datacenter/dtr/2.1/reference/migrate.md diff --git a/reference/reconfigure.md b/datacenter/dtr/2.1/reference/reconfigure.md similarity index 100% rename from reference/reconfigure.md rename to datacenter/dtr/2.1/reference/reconfigure.md diff --git a/reference/remove.md b/datacenter/dtr/2.1/reference/remove.md similarity index 100% rename from reference/remove.md rename to datacenter/dtr/2.1/reference/remove.md diff --git a/reference/restore.md b/datacenter/dtr/2.1/reference/restore.md similarity index 100% rename from reference/restore.md rename to datacenter/dtr/2.1/reference/restore.md diff --git a/reference/upgrade.md b/datacenter/dtr/2.1/reference/upgrade.md similarity index 100% rename from reference/upgrade.md rename to datacenter/dtr/2.1/reference/upgrade.md diff --git a/release-notes/index.md b/datacenter/dtr/2.1/release-notes/index.md similarity index 100% rename from release-notes/index.md rename to datacenter/dtr/2.1/release-notes/index.md diff --git a/release-notes/menu.md b/datacenter/dtr/2.1/release-notes/menu.md similarity index 100% rename from release-notes/menu.md rename to datacenter/dtr/2.1/release-notes/menu.md diff --git a/release-notes/prior-release-notes.md b/datacenter/dtr/2.1/release-notes/prior-release-notes.md similarity index 100% rename from release-notes/prior-release-notes.md rename to datacenter/dtr/2.1/release-notes/prior-release-notes.md diff --git a/repos-and-images/delete-an-image.md b/datacenter/dtr/2.1/repos-and-images/delete-an-image.md similarity index 100% rename from repos-and-images/delete-an-image.md rename to datacenter/dtr/2.1/repos-and-images/delete-an-image.md diff --git a/repos-and-images/index.md b/datacenter/dtr/2.1/repos-and-images/index.md similarity index 100% rename from repos-and-images/index.md rename to datacenter/dtr/2.1/repos-and-images/index.md diff --git a/repos-and-images/menu.md b/datacenter/dtr/2.1/repos-and-images/menu.md similarity index 100% rename from repos-and-images/menu.md rename to datacenter/dtr/2.1/repos-and-images/menu.md diff --git a/repos-and-images/pull-an-image.md b/datacenter/dtr/2.1/repos-and-images/pull-an-image.md similarity index 100% rename from repos-and-images/pull-an-image.md rename to datacenter/dtr/2.1/repos-and-images/pull-an-image.md diff --git a/repos-and-images/push-an-image.md b/datacenter/dtr/2.1/repos-and-images/push-an-image.md similarity index 100% rename from repos-and-images/push-an-image.md rename to datacenter/dtr/2.1/repos-and-images/push-an-image.md diff --git a/support.md b/datacenter/dtr/2.1/support.md similarity index 100% rename from support.md rename to datacenter/dtr/2.1/support.md diff --git a/user-management/create-and-manage-orgs.md b/datacenter/dtr/2.1/user-management/create-and-manage-orgs.md similarity index 100% rename from user-management/create-and-manage-orgs.md rename to datacenter/dtr/2.1/user-management/create-and-manage-orgs.md diff --git a/user-management/create-and-manage-teams.md b/datacenter/dtr/2.1/user-management/create-and-manage-teams.md similarity index 100% rename from user-management/create-and-manage-teams.md rename to datacenter/dtr/2.1/user-management/create-and-manage-teams.md diff --git a/user-management/create-and-manage-users.md b/datacenter/dtr/2.1/user-management/create-and-manage-users.md similarity index 100% rename from user-management/create-and-manage-users.md rename to datacenter/dtr/2.1/user-management/create-and-manage-users.md diff --git a/user-management/index.md b/datacenter/dtr/2.1/user-management/index.md similarity index 100% rename from user-management/index.md rename to datacenter/dtr/2.1/user-management/index.md diff --git a/user-management/menu.md b/datacenter/dtr/2.1/user-management/menu.md similarity index 100% rename from user-management/menu.md rename to datacenter/dtr/2.1/user-management/menu.md diff --git a/user-management/permission-levels.md b/datacenter/dtr/2.1/user-management/permission-levels.md similarity index 100% rename from user-management/permission-levels.md rename to datacenter/dtr/2.1/user-management/permission-levels.md