From 87d3261483831ab62cb2d9bb4d7c76e44d360795 Mon Sep 17 00:00:00 2001 From: Mike Sol Date: Wed, 19 Apr 2023 11:36:57 -0700 Subject: [PATCH] Create initial CLI introduction Explains what the CLI does, how to install it, and what the commands are. --- .gitbook/assets/cli-download.png | Bin 0 -> 41213 bytes .gitbook/assets/cli-download2.png | Bin 0 -> 65745 bytes SUMMARY.md | 4 + cli/cli-intro.md | 255 ++++++++++++++++++++++++++++++ 4 files changed, 259 insertions(+) create mode 100644 .gitbook/assets/cli-download.png create mode 100644 .gitbook/assets/cli-download2.png create mode 100644 cli/cli-intro.md diff --git a/.gitbook/assets/cli-download.png b/.gitbook/assets/cli-download.png new file mode 100644 index 0000000000000000000000000000000000000000..a33e4fde7aca8c065a6601a82a68f9ece3641622 GIT binary patch literal 41213 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
    Nsv{(KV# zgE~PB9^u4Y9lbXkCs!Oi(kai&%KV4zck88*!Cw=?V##sZYI!Upp2Lr4=GXnUG)=`L zjFodK{y-_}#9Uk#;KxdG%@lLKEeO-5u1#`_?@SN<*JfYRkZzKEv(Q}o{_=%3Gk1jL zu|J~A3(m&AJuh8U%H4b?fC^Uaa&T63_htL?AYd2boxkhHv)2QK=f{R(`Reg<7^9{c z?8>U3=qv;%7Js&}9;<3%S7vb$?v;Da*UCC4x|0uKgfJMrgHm9lg4IGjFF}p$Az0LqJmxR%fu1B@O2fGG#;x{N$+`{OJIv$jhD57XcfNSiz zd&S>+XrdYz;z)|g&i37qup~20DR+pZZC60Q$=S0h5f3t8HiAE1qOXy$3To6N8sAZT zhY_#b9b5Z$xoKt!JV9JAm?S!A6FSVtjpaAGVhU089&&S41?D}g-vrD^5J)QPSv)0d z#D`%`Tsx+q_Oc~$%T0@-2BcXdkU4v5!C;=05pADCuYd719Zm+MTF-8BAcPLu+-f{m zKU+VyR4)n6+PBPlag98F1~?b=Na{lPoriXRiX&+e%LUGZrC|ndve5m;oD;OLGj{dH z8BwKNfxik-{tgsgPlSEH)G8Z<+7`+f4$b>>qjA->cetoshfYQuCX4{*^((h~^`y&G zCSo!qB*6CO{Jt{aQ_n4y`6{%cxc^rIMGNHY`07d z3>WaN`TcbFQ1>fMHuF)(T9pj@pYq!RJ^i&;?K!YR=uWSF@hrUFOL}Iqtr}L!xp^-l zd`Mq@iqb2Cl|F(w`}t{FbWkKusbVR?6M-Z>x0jx!wazu6C1Ie>w2#OZ!s;a)c{5FFVHgf@_w>ZQNa4gaWgc}u~CWcj|_=K@S>BG zMYXeL)OO0Up^B>3a;MaOpx{kp4ZTd#RSf(4-4impf=LZzmwF)}E34}?x#Dql@hqLn zIwHgQ@cdW7%BgVjdcxdu9$HmX6UXi02)M4U?#seh$`&zp0}BZOYj@K2jkJ1+CO`I8p!AyX(#@6mI9dQ8-JWbq(L|%6Jnb(< ztMER!UvF`wbcd#85CED1=>We}8DG}eij^exGPeitel<&YIh*62O2dKd^x29l5*tg^N4J;a@khT1wNS73oj*q zJxbu4EgQ~1F*LXE?4qU!#ru%9eF{JDDtKVTC5U3I zz4JIEd8BL3?+>V?=n-gVO(dnRU;e6KckYVDmp^$j!etr?XB3-e!NF>&1aLhR=ypTa z!(v1bC-*{gM<@4(c>fU{pjqHXZk~Tw95)W2kZG5VH*Z#OQ z){^t!Ljzxjv)k6fF||)Jas$g>VgKwMN8)a0&5ElbkP74m#MiHbXYL@oki-KD)3t?z z4J>JYXM-wlnxzooZP40tm!7;cPF-2j!tYzLMq0GlYU}Em!F1 z^7vj$j@4oll2G=ATQmByl(6wUBs#p2m4xfhTu?|WX}Om37r6K@1LIk|F;4#XOJhg?%s*8^4L zVP-(=TNj>M1F^wshfN#OAZN4BCQ`FUUt{=weyH!-@r>bMP2eX8ZI|nL5Pz4u6|Y`e zg#&hutKWMV2ZpT1+eS5`=fea1HRPV5D0~g4z!4&>;0Wq~LZ=n9WFjr-CQtcRxBm0z zP}cQ6T7|@&lbVY4*O_g2HvLAYBUFQh@=)cMv*GcuiyaRu`pnGCHy&palZmvbI7+!P zcYl8{l^-4l>d&JKmdWgf6rJgh2#1qj1R+rbc@?Aq^3C!BDr!bXWbPgBknGkgrH_|h z9_t>@2B#dwss+r!;okzLrvn+*2PZUDzBE`pv=ZX@{C(?4?LOR#SKqoPCL$_Rjf)sI zNe7fq6q*U&upn#aD6r~_?aYoMyVr|_{^-DuBqXqQ(@!j>hAM&6b#D>6g*GRDE0X=f zbh%t_K-X71o#`kWJ?d97o!ov7ixWP4N&*cD3Mym$RJ4Oeijselw(1)S7xDDu&dtre ze#@d^a(y;S$ii%CbLpG*nPz-%KUaGYp;0aW4&*w%phBYC(>tW4GMgLWZ%*6W`r*V5 zd|t1#U|{b%J13wS>%XG+(&+_|?Jxj}?_E}QLch1<^bu<-gL-XIoARR>?- zux{pN4=}MK^C>tyHo+F69_5-;oV>RJxfG<`)V~qJ| zgivsMZAThcUt++){+uUQ*QwITpw z$u&Qg7|gLXPb3ajc^&|TC{ztro60Fr>V`(KXX_nFshm>Owo_gMum>~I6ls!kf&Hv(lB6x!f z*xMus;)+f+L&5pwqX<2wdj{Xm{$98 z8gV*B7iT;IqUw@A1SI1L*fHBzJo!lz->33T^!8htm7So4 z1IAdA(!rwja&hIm=~XAVa3_a+dc83ppRQDEMd;5T{*KLVcZqZ;5?BB&0#HYOf_|iD z)b{Hh)$I}H2#N`^{77GGbR~wga$#{hY~>Oyg^7Kas~6N%R(I)_C7ZR+B!?Pmg?7&6 z%F!Ij14&7nbq_+lwaBh`_I97I4j#_9c>?jePuqJ!cpWnPon7+t%{Dm{!?&U=X|j}5 zttXp|8t*-m@nklnqhX`&O~5(UxW+{pLq~Eky(Whfp%(y`-MWY9HrQ+-7u%hCX&|vU zADEpG;aehz|E&!vWX=C6jxb~e@WcQ`^0~*SH18kBkY1x0b@i_iYIg_aQP>&#;Z* zDdM8n&oAt0w_a_s6|@mUY)F_ibeNsTZ>S)~`fo-baK={pc7K9HEu||Uu@s^z$MxRiHN+2{@iDoXA z?<|+eHU8BYM@YDUcJF4p_4YI6PqqhdKEMU|=hE5i;h(6>J z?ee;|VDF1)G?bQj^QxAglo(NF5uEf>5T%B0h6FodCsjw7`k3R;TaMXAFiNlrW2PGF zYGM_kTP8^lAd#(FIm|XC7Qz5%fr0Mf6832o$4_)xP(F5Bf0CuW{9qFrW-sD(!)_vq z)&U%w{oac{skh<1c`;dB!2V2+%YC$@OHM)yf?1HCUjYw|1{T zU70SSKtX8?yKGL#|_D}Y-$EFPi@0Jgvc z-Ls6-r^hj9NE{X-b*( z;Y!HEWPow<(Z1(f530pWc0<;BxUi>8*&2TKarD}WU?i1bGH4?4HBSwOOsa`j5O^X2z-lfr7S36qiY7+^O%nR(%Y z$adUdMonypO^@J-*UsO68(aDFW0LC8qryMRi&HgEc&p)u zWyVT7kE7L2M9QfQl0kCa5YHUONQcqM6@1V}=!Cz^sQCEN$;=dy+;fsZ zwpoX(;Jo_~i00{kp`2>`sT3KT{cO!lEX`nw9f!`SNt>kvW?R`A1IAze_AY-pHhWFu zX4j2wXQf^81(c}PK?M(ZY~x`1n0VZ!R%=c_+A0xB>CZ++XhZegyB6(-t&tozhbE)o zg>=-@LhpYENH?VQ%zq*nD~5hOPeFwxK6W_0-553_S=pqSSra?o!LAn~QC_sr)f;}T z#5$O@nl&N@>Ed7k95BHK|E;XVVJrM?_9^w7yxSkPgcSeq(8q|&nO-u0*y!?D(zWunpBcx{_jl}n3#bApX4Vg7Kn(KqPnQ{FL|BxTcT578 zn>n>wJyXUxjfO@7?T#k3)49AT&@7xYs3Sy4RV#JQxbPD*5AguuH+EUK8iObm7!Fpk zjOSX`3A@Y1eZ!AHZ1j!uH~OZhB_r?Wz0~jXRd7PjcWe?;(hJc*iQiv-{Z;rrA9ZkQ zl{$6vHD_HL>b3V+V_vGFv5(|D)|4EB^^0g&SW&j7Q&N^pF<1a*e9$HlrEL6_gdZ2t zU`Omgt}eU--$QKF=5fUvo^?+w3XkpkYp$!;lu&N)HVZRXy(ae?ckky1{nG`XuZ(6R zdGAdW295oyWSsS8J&Y(kezG`4na#i6E+{w#@8?O40idQrz87`Dx~4`pO}$s$){AQ? zYrz=}Kl@GIHv9>h9FB?5>9xKqaCmSpiEM1OJK?%HK$Se7yTMfh16}{nP@cd?>+#oM z8RIwjXdGJgNNiS!EM|u)Z1=f?)VKN;Bqq#MsG6%k#IMbQc-|U{rktqbk2s7*_X1W z)D|KES1#+yoavH5-Vn$&IfP0{rM<>26uCe3|4J;VMseTC32o{uiP?*fDl_oQHl*E{() zuBPuEW^1h&r%N8n1tKD1G_eP`aWepR-E;B?*V7|Hn%P&qQPX99qs>Mc8b;7aPY*ne z2D8FpHd^lVP+LgZOfH1Hk^IxT&$_)TpX(>SpG>BMOLi_UeNlWL(!xCWSCIsnR=VEm z_h^^FK|4b)b^5t#=_PYr0~{=-n#0$l3uVua1Js^3Cn3Z5@z;iNzr(H8yj^<9Sc}!L zNJ9`5ADC+HqLlK6aDZcM9gh7I1<0d%NEJ` z#kVH#5Cc=?v$bURGOCi0b&rJh>&3wsm<=fFVQqH2*-$qd7&m(IG*$1RVP4CPxtQPP zbXpv$J9T8aG&!Xay2zy+<(S4)Q*%6D)A0(r%X_QoZWEK1m1A9?xm*&6T z441=*cj!7`0A~Gt^*`jyQPgTz&j>*C|Td z$hlsuv=J@|37O+z*#UW(B?>xao0H_u@eSH?hiMkG?y&=fJBFbWY{=eyz)b#(p?hMh zYKa!rOvgGjSfpt8^%YlJYxaT#EUN`l1!_kLCcU*I#a6Q(Whgc6DK0F$AxOn?*PEsH)hOSvC1B zy-Ns|7!ejG(J21u=~nan)?y^N98~f1Q;{MN)Jt~=twNK6X3F_+f;DHU&n$#!Az_$LS^87LK82HA-++mNB9Zl?-?E=) zQ-w8ynYDYN$G1p!(q+}VS)TlPxX$IepWYg+cxzv;Yb4_=58O3#wQelNbw>WiU}lIvZzXS@=eG;U?l3f^!E4kSoyCe zzjj()#U>dXw*ILxpS}jmr3D@j3EHm+3Jfx6ut|U4jx{O=A9E*cAX$HCNx06CePT4b zf)IlYiMH-+cVqe(lS}YWTq5YW5&i0M-90f)7+eJABhk9T<3A_XPVp|?k+;7dg0%D4 zkU%0FmyILSDwml!Ieh$qTI#|14)sW;-r$@;Vw?~?$k!JFFWgX?P~*!@?ELwb<#1q7 zC+3i&nIya1^hM-;?~MT-9Nr&4)zyEzBSf1k@y6_V4FZq-1G4G?H#AB2N^TSUfv&cZ zL}F+-&Yn;vHG6$s$MXQ;{`?Nd`^ymGwKH=&Mj_Xgi7jT?cAByM-kq;~)dgg^kF;zP z(JDd+s6E1g8Szbo3BW~#DwCSZ{536q8Rf0;WSeEnOq^rN8HhO?sd`ZvSxk;0CLuxP zu-z1%$rXwJvT|^$lTrm#(868IeR7jt+A0c4)6=!IR?NAMYc^iU$7yr@s0kjkQJg~2^2PT9XYiE#W)-#;P#H3GE7VtC26mG%RSA>XoPQ!Tj?h%t6n-n zg0=6)9?5VIM^5prU)HPn;ZmVlA?|$%c^+JK@;2pcY3Aj9ZB@%kNu_Ueu8TFuNuiLJ z%}}tfI>L;Gmw?NV&3!G^0~{YjLw!v3HU1bCTisG?2D8UF7)#4Hic2z#JkG_7lTyt% zwCvB`zglU({B3alfGpQ((^>iB=GT{1rdk#RN#)h!3PxQZQJn83K{K<86V-{_x9FmG%RzSRhnO zl!1StIZD~{Q(;im( z0=7&}gBwLUszK`IyOYPy>u3kTMkJVQbSwbC@19tX9urLI$nS*4%C;oilkpMTw(57` zD9nlpb-Q8U1VXq_eZPO4j+PH;d@Lsa|m^Xv3?y@7}GoU}9A>f#EPP^Qr=3cQQ?^v>5i zp7#EtCH{+3`_0Z=7C0nUMEq~8$*Uc(j(LcTv}v$?qgThrxNqzgOml;~g-2rD%1^U*;|Ij}G>~I}I&(j<%TpLR0rwjV(i{TS5dY2uT$rn-b-z4xq zYVvB4X>dtk7sY#_m#Z6vj!%=9`v2p={{*~;D$^{eWSujz*Q}U?6n!`R=eQJ!@eePa z5XStL2i{mMIPi0el^v?lZ~y$16BOiHr&lpDe01QzpZoeoTRXe{VTSy7Bkq7etBg++ z38;St)=whfcO3Ycx#9mYfCxZ|HH&#Bq;c5x46SKC^rclEj3tRAMdHgh+Yxuzu3Wyp5z_pViuDeZH;8Nnt#*2?VG% zfsUzGsY3KYc0d3nvU06DM4&J%uq2C5cU$)T;<2N?V$FH`c|<8RB4Qxb2{(Fd2x@N& zKLRM!ZJ%M+*}pyF*IUfM+dgSZ_a7C@ z?VX)S+58edkyI;nS5BQP4rmVBjlsWF?Io{242Jpp2M6?D!+$N;8{>wHlK#udQ|N>2 zTU&!89Sk3s)c(@{^6P_!h3#%nnOpeiYJ1v#PvgMB z>a|%0!!tq^3nX_#u1xmM82EZl>W;emb3)wUyt`pYq$f4sKk(wIv|;mxWaU>-P*9-Z z;Fd%d*w(4(n5kiD)T&ghKi~H}@6T`2Eo{dY@ssZ^SnXCXJ3MMWs=8EuQJlC8c7+g3 zISnvKVWPrxMM@A#6FYR4-nQ^kta!fM8uX;w-drA|B)@G4YPGl{e0qDUbJ|ke?jw@S zzT-&O*V61 zW;C#RkWyzFrj>i`*)%CB1%LfClpG^e1H?*n&>uhw*UsY333TPQbcB;5aOTB4J=;Yn z3dCnff)uK3@X32|b{fu>W;!e>U1Oa`SB=LGW$gEl?Gw73H$)3gY9Ggm$(rF?x!>T` zH5b9rtZ|vqzQL!Ge40dYP*gaTWqx!&q&Umb$Rxf^KAzd+2eJHEMO&=cDt>(uuSl(D z>L|3@5Q2Q{%O#hh8+aM|U+n!=blhCjEr`YtLtb#P+;#g^N#QP`^STy@KkUe!Bl6kET^?=;znh>9ABW^~c8>@Aip zD}O7sk;2B~a}n$I-NM1b`qA|^sj#ya8&Z0$hF?6hXEdGnH~mSC_im3z%qd@C!x)k810ljuQW4=h6Qwwm&1g99 z2zvtpHeZm zY3TXULz`l0>D6|)Za)$#1OGwM%|5SPql0$|W zugM-3JMv$$WI=y{yDzWHgUR%E(x*J^`@s*F=ONOMW(#=z3IB-5TG+;~;~Rc(Jyv#Q zT)s(qR2|9|xwcXBp7+CQ{(#lRme&^>V`(LlPJ_}-(@dE4_A#R2?Ga0r#HW%+txFx$*C8| zdFSwVMFPlEVnh5WRsW@N+o{WGE0%c5z6^`yc#R+cVgOD7Ef29G7CDxG$$Vnr%qS#97f_Z7%sVbd0CBRc-rEgqQPXV;m>b%HTl*O zVd0gNSr)DO)X4OQl&OboCq!b_v0;Gs2^D1~0G5bgn7|Q;wHIIn-)_J9fc{BReX9xZLZL{8o$byIju!xd1ME>! zDJg(=gM^wydH~vTD_k6l-KHkg0$X{(Oy9qllfw5A7N|m{C%RZ}&X@Aw064P(iuLXJ^IN4}^RnlU*-3i`Dv)1_nf_7r|lh$7OsAQRQltF^wmjhK%z-;!Evvv4G89 zu2Dbt3V^d3ljUk4bc+^-!7DXSka7vRcHKMKlcN$41TvN=44!vBZ(Ur3Bb?=lJeRI$ zjc7}{Xr5Q6r(WICXJqO8tna@& zn4h*&_&{m!ui!$t-3)##yBn$5ep8vntRDM9AtU5^f5hnO!TIW++x^xp2Y@y@^?9#OKg~f_#M&Sj*Bso z9T~MhTK2rfQmou&%xYlz;po&X9F$F$uKkh=7sdEQsCz&FAvw zrf~=gI-Pj@rm4+*#>i;3%@$fAA&4@dF3U)>xxNJsB~x-P zS#KZJ?xyGqV`^wnTmWPprA#vJM*`9XW5T`6BFz$6r>@bW)QgsA3cti-F-6zBSRHQE zGnM#DvoMPVjL8#U&~GMb5?M6qdLc6}PcI@iTJ>IyKX-lV76~68C@`Ya=*&}fnAds*>;>>?)$PR=ERC{bgHkaBV?686Y+qlJ9qpg4 z*3+Lqpzr0l9FA)IvXAdl1v)S17g=kPd`y?&m|UNlN1Dnp;b0L;{$gm<0&0R6%7+^z zGFh;0?IbaQ#nd5|?X0^(4i3l_L;+xtlpb0l)vogQ8cXn>sHy5khbynySXMb7*)7i= z4X_$5;bP)r6QQpywYUf|fQHHcf*sFi#`3l()K2sJYvgA^I*BeH&-p!__uf8w(0_>b zG&TT(0NL_@___ex&3(rjz};?hD)rz@f;(0uWxMRro!I~oG}NBWyjWqR8S}Hm$5Tg zdu*qdy>PH=uB9a@x5xqG>B=2$jn|nMoBax8N6+@8TKV)z=($M4f)Jo03=P0=>D0TD zHFbbZl+bHC-W<@I3fcn3vn-R*RBGLwW~c?bcszb6z<4@G!WgxO;btPUt5QbffCx5i zga4p5G;MOiwNz{>+`|kc{yb3bcJss=Fmbq5fadto6T%n?U=-laXMO|g#U2yDAviBV zq;G#Hg#W*^WeC~CnhmEGF!F@f44Vu9nL7*oS@~j>;bC_>Yo%Y=cK~qdpn|zey0in_ zH(;j0@agD8Wfug%aRQ~{xtJxk`oaW?V0)V?9h* z><#0muxX!vuu9=XTP_^h^~*8tlyV|~p!A_zJl+;QTn$F4E!Ek!dyzF?to8ElZi>bq zw(X>oe?^y8cry6Hpx^rY+J2)gmf4t6#Sio4=_dZ@{lNMW5dR_x%)fnOJMekn7s%j3 z7{&09_i{ZknB(0=A|$Nd``?rQh^MW?L)nt>Wtw=~E**cstVr#TU?%qrPN|Uh=Or{6 zrLmXuBfnbR-RRo_dkwK56p{o?Iys>MeM4@?xAu`+1KI*N7QSu7_#r7Y_G&rj@p;y~_Yjj`%e9xLQk?AX7oU!-^SJf{yu&vF>rrK8<)i6NT0Xut z^vF0o4j9nQ{(QNHMjn;13c>pX)qf!+4-lS$geF9L49y@Z`T;YWHWDJtrN&j^prXM; zp6~Y-i%9ZG6BeVvP2Txevl)l+B3*{tw)}4QO+S(zi;hPTcNY2_v1EyO%@L;}z^D~@ z?hJYikY3{XR;5HRsF)`cW>psEzI_jPIvOIQ#Mw6d3cd;VsqouJfBNJq`w)^?#UmpMXTW=R`z}>_4JLk~o3In(I^4wW;Ww zwR^N#JmsoarzD}Wi8*bz&a%ObonpZLZO=-TYm4^-!y|jQK_GaVNt)+xTWi;Dk6{)% zEhb6JmYg0`N58Hvnrgf|`}Ht+nyPn0Z~@n+hB{W~6(G$0xmo8SWnn?N@PCB8CH$hR zSH%q%xP-NJZJEJ1^Kgmc%a8|NrTgg`13U@}LVQF>b#W%Z{m%nkIB^PT*a=g1CA|wE zBsuOMtDUah<%^q)x4~y{fk<69Gvpv;{XwyM7xurr^J<=MM=c-E{AuTWlO^D z^a~E7Zf0KK35P$fKAz2|^2TKI?LcmO@RDwIz7h$480fA%HqP7*hBg=)Vjj^!mMjU~ z=*%13@P$P+u@QOnxb_|~4wB{oq;6BupsR^r+g^8R<-I=)!7~M)I#w`KhdV1smP5(+ zK0%IAWGpg}82J*mB>zBLVz)Bp8|xkq@w`KvYJ(43I7jc{uZ10}@)8@OMxOdZN|Nd| zh=Vt|bd#$4%`WwqvM@IDys#-8tR&QxkN$iuQ#d&o@Fqvt3N@%~#vdgev%9 ziL8O(50puSO)7rTH$@;=#H?n6zhT|oc11#1a8RasyR?($m#M*i_Um>tAcPaX$W@7+ ze*k-@yT9Mj6p^<7^7@i;lIDti;vpk8>hw}cP5LLUMwHeDKDS^@BivB4hBc#><)HeZYvGt05O9 z0Fj|FKmT?^8p+_f0yHIU_n}u0NG6j@w)~lIfOZ%-T zt$E?M1F1+{UC#u)4qlUTUZ-?0Q&0?+2z$rHcX;rXyVY(z&Yk8I{B9VKPLw$VHtz0xoraG`oIm8|Lr6*ydf4`0r|!Mn zG=4(PGG(SUMTzsU0t(Z(oJ;Y!4FJ1!KD%{Kc^?KD-ZQNHX5eh~!8Ux`HqP*WBGG-c zFh${LRn#z~{tq?cLv^y9Cc)HTjFfj-cq^dMd`2sYWaPP~X#CMBfg8y>eSN*boEu>5 zf)aVB>8VrAFYD*2EEdXB#!d-RhzJ1Mm~4wCGH?@vi-q~*#Fp8k{vvOCX#2%}lH+AQ zd?#zY!7d!fd63tE7glVJ>f10dS)_+3Z2`XumZ#@79F^b<^esElnH2TfwSmF1%wJ&_ z?71}~&FIFGDsNWk?RaFBWo+bNYfT*?j@62U<3Wg2R6e@QDz=Sm!2masaHu>a?;NLr z^k8)m$Z#A^cR@J^^;cex)asrDNM=EF@SJM$K!qdNHK31qH}|Yn)l}NF&o*LAg8dy` zre_SA2n8CcP2BMnamGmyF<=~^Z}#45`DT>DdnZ_2+)Xwdsmdxg#`*rdLeR^^zD5gK zh;DL9*{b{KoOW869A{1iUdzn%&Kxe)L@+ih3BJf!qQfumpo!pG6v<$FT+c%@3YLD_mrc@M1MV{9(kdD?5) zerk1E=S^KW=Q%~1^XmTk&E6!uD1wU>+^F95pp?{iln>IVz(B9{(}C%1fcE0d212q` z7s;o22u4CRJ?~TMmCrU-f5fu*+XIUiXgnD#7`q@UU(3s+WxBos0^kG=WSKC(~wXPAf;gk;3FI>uvBJq@tXh&g1 zawLm_zEX`$`-jKMXsLS8gW8sEyUAhIT*8PO2&i1p)5`-`9yOsWfzeU#{P87-%M_Ei)z~=cSai}(Zd4F~$2N;V8h;W2L zpat14?NW}XTQ6eqv&W??)QqQbIXrHs7`NIRq5UXyreE*bR5}@Yn`9=4kmn(PI$m)1 z4L|Xy@Qnv@T&tsgZ>SFJm?_2Pr%pilNUY527-PKcS=6g_<9$4DXtYlVvi4Tq7B?dz zW5r9&SIU3Bbi8QzaP2$qU0(^`9jiIMJW7vc@e&?R==XTbQ{HVNS4L6;?FRrq}F=eghctvY|vT%7FRkF z9O&e=6t$$Bja7t@TH*slhulV+@S`k(M^gq~mN$E5XH_km`MtWM05>8^rS^=S3>w!2 zMFhy%jH;3&E#fg$pt`KiR*PM-aPT}|;Wwh?svF5^237|^*+z30N*4|~#6&!;+$o_k zQrvUl)26p=w0*gmsW#MWB&t10=?wni`?Z16OW6AWo`|Zuvsg?4X^81#VgMaf8RBSZ z+Y%@t?4t;J0&=as5_&GDTaQ0+_YKaz!Cvvd`O*wk4p>wLp1%Nl%ct4g9FC3_e7`@r zfPuM`%w1_5;=AI~;;{ccvmYN#Ec6w8Ox6m+-RLHIM z40kQevQ>U*1HGp^qZ&;AA&Oo(0(=&*WjVEuihW%h~R{l1W$?`}oaDG}*WfZoS%x)e^3qkM#8hJUvaD~{= zs#BFd)%o>NxOhBCqj!6A!tqApaet#y9E?~q*4At2@w7qNifnYn<)9q;MwDst2XO2G z*#P@o5o{wMT9zp)8T`<)aC{o$CSEmRa*ir0Kb$LrIk*!<9v&#}l=Tao%JU1AxdozSzHZBm-MjN$5SLt;(10~J zsQYcXY=pyZiAa-fGKV`_n$Rx@C~4VgWyt-3%?1#>5}pim)uXZ$n6=!fTuxUwU_37JJ!BQ~udBR^JxeBA2K7YO&9bqa{TQm}>@DntiElz zHIM%8?(Y1&)S|~ze9u=T0IT;@X#h0i#1yfkcg6IoO>x;fAX+ejg=BxWLPwePIrgHz$1=crUWgamzvdDR4n zh=`3$L%AHij-;Vs@A|byeHwWWQ}6lz9u}6!4ma&`8L#$`9U{!E*U|kl%8=frl@srW zpL?woyK}mPbNS_PEs`nPcM(Z6RaZ{7R82v*S}VBf_nz{+J}Q4aKVp2I`F0BbwkQ(F z!oJeS_J@xA^RvgXK~U>fHTpl&<&IDk1v(3HGTH3EfY7Xi4}?<<|Denz|9x^HvC-a+ zBUOtFpylG+pW#=Tg_lX1=x04Eag_a8;;4@Cp9^)oXMg`?Qpwsuf@yr@1F89X6!+^L zez0Sk{sxx4FBd!(l=oo7^K_PxB!dqL@@ZqAc^8Y~O}?U$CizC+r<_4u{(}No7Mm~t z40Cw@z-Gp~IhSWr#81j#8&>_>0oXs8Z%{ZLZ#N;6)*Bfd+dAD{qAC_LrJ6J`i8Z~M zQMuE_fYXu_YE!snjejES$TnalGjr3@TzIn#jQ(cbupN43QTe3-*GZDI>W zp2L?&hFU}9W4L+hW)F8Oo*5KVAt{xph~L|DL2-4(Sr24%*$U3-M_3L5W$M-<+2F&% z;g(^FUs@P|oTTdcl%?s=Wvtoq)cKR`M6L=G;R|iCO}3|2Ez*w@B8ylHV-JB_r68h& zK4ALC4H5a4w+AHpUi28Zc7{#r2`Q9mg>j)=i%B~Oy|tw74Fgi@7~%o&F)H{c9PbmO zR>n2OSh%}@iFjnRbukUNZiY!d_!(3Rm+CoWAYKG8PY6Co3!)tU&m3bNmqdl&@_Cjv z48Im7q&NzhQoZUvf7rctm`m)Dj>$p<4~wfEW>k9BB2A!0%U83c?t6o|lA}gDi4tZ% z24|`Gvf(j~>lfzPyBALAyNm;yWs{pGQim8{GM5nhf#e4e7Z;|MY)4<_xB882K1_NttJp?u z9^(Hr{Ur&Z4rCkSWO}DD*3Dv4%eS$X+5~8DpMOIR{yggof}FY_)RfC@2t3ox;Fvxw zs}c1NYg_qXrU%nOvFg8<8tzEc%8QPFTVjGFG6EQU$c`+52en9LBc#~k6><$CzZR%u zbdYMk0?$mlfs^phsnMSG>?yCfI;7GPHYHk;)cQ`H%U+puUG$Hq%Gasvj#uB%qH|MT zUgr9P4vj|ouv~&`WqtT=a$<#=$X7qu8h|@h0J#9{m&3l*NVW^F>0q(y$9&lV>Zrug zN+Bmfr7A99c93n_)t}4=1uDL`9!#T?$D1h~`${UQG&r!xqcH0w`D9K0ze~}9<{)Y| z{{sGn%18F)w=vMUH&7z54YJEk9#0no{!<4%NW6k&sL!8`rWIv-ar9;YJ~h7e29tz| ziODiecJt!J9gvy1J{L;D{jK~jSMhQfJXhNc#tCZ!`eCbvD%%SpT{lG zXB*$G+<80=Q=;5Cy$+0j)M|E`ZR)Gz{4WI=2z04ti~q}LSDcfHK=R@>VB?_4$qCWs zer7T}OPbScF+B6$>`orQqHg<`*?P}zot8i^QheGly;GeMBBG33T#&$DEP_U^eP4W< zLM|=dP7;|!&pVvtyLmqLE?|D1`8>YXn%%B{F}hZ7Kgqdy)4AzAkrOOhAg^AbM1Zev z5f2W!$=sXXr6{n;ocVsae7Mx|&webE`Lq9PBbauRt>i!qc5GTMvoRE#=bj;3i{ia? zYy!P@v+-$&^bhTh@5&8+zsYGfJ%Z&C90c4Bz~5EecCM>7g)TvB;F=&@wiHA zNF_<{+a$cB0*?}!Axn$2qumc^DN3P#$$dsXmoV!yp&Eo<j#EBx7R6F$wWqIx}HsZHRj}?T7lY)T7F5)i^ve6B3|^Om+N2=_3TU2g7IK{ z;UwC0mfS7P>I*akWj*Dk2#1{-Yq9*0^X`r5EG(0x@{l3}Ry|ax9 zs2LHILyWxlF9@ucD@$4|*vM_(eJ1p0@l0cQo|to z+#zFuDKi^RTE?#Q6Bj~m2||*Zepo0GQE(Q>jF&;L;!KzXxd;%XYPgoZbehuAKw5@q zh9=w`j0ZzNBmNAsZ<*@tT85h z*<|o9X;G`%aWsuO^bVH;`yFxAKTMVwrf(`^5`-n*OA$`SKt#FZWK~ z-EXGi(;Jo$cCUM=U?9ajo>2A5{J#~J$%)bwyWh~j#EE=K5{x*sznTX>zlHym1t`YV z%id?(hE00a-)IPL?l83KRo8>D*<9F-)@q#na>>F#&TzTCGz71a7O|d^tfwxuLl}b< zd+D&8Dzi71$?DN%jCs1`3G%Ml@YBWzeC>^OXab)$a5+%EVulJ}y!<^}*{PrG?zz@i z&w6?3Gu4MMAqPMEE7RcjeXbCuNET8>r+z$-AD3p+C776?3LFMQAqt*g39-6!nGg_8 zQX;Fr78IwYV80N&RaAGp6jZ<+#Y+Q-~&mo%_b_Xx$V&Uhfvn#_>qst^(@jxvmQrPD%MJEYU^#N*l?oF`EVjs_;nMh zemES9#f9rjB)8$khW}Ln9l7=DleGUrechLW>B9KuzFP+t`?c^keVb2II7*N+Sm0HF z3X?(Y-4*71pU03cHVu#YkYocl&i(^X-1|S*=5HvK8AZV-W)Tgij~0u-`jc%ZHI_45 zMm8YcENZ7kh|Z&Ka%F)_wM^g9wg}wcBp?Z#4Mi@;Z@IBmz(A7r*AJFrDh@4L@r?b$48#`~G)TJ*2y?_}AowMTtVS8!a`utAaWj;oZj`N!?N7eOy8 z#Ph7#AhjL91^=vr!pj-CGFNW2-A^tle83edY)9|M{j-MZ=3rMQ;gZ}S`Qc%DklEF-DMLtdk2DGR^ z`0t1baKIoaAcj^#{u`=H(-Z!GMz}haXvtYmEvh1o0#E`mCD`D|18BrqXq5H(aJfYat^FM_C zZ|I*DQN$a0T$%l5B$a29XpH*9jhWqc_KJQBXrAD6d*MmMXJ>42XjH!8_wPS6TJNf* zFP{9pR5qTfk#?SIz0qT{xWy8{x+3Nyuf=w1ad+HxfZuvJL!}UM$C3c%IPI_^7p_dvQR-9;fC=GwL(_FE@!Vng}C{2+M z62tH9bDha>kY)0q;Y)ZQ^X+=G{JuWpE5{YibQW5mON3BZ5y7lWZR$d~H?-Za@5BQo z7z|I~`i##QfahKU5R4raJ9)1zMd86m`pGAE$n_1UG4+jB@9|rTujP+kW}?AdA)zO7 zxP#4C+{J*pxT`0pxkv((v;A^%HsxEc`}{>$cWMuG_Q39O5uDiay0FsHW*|J4a|0WNK_B!0 zbq8&m2Q=CLJ4x&J7g!w~qf>0xj)=c??wk3)PJ73XS1(a`%?&S+nfV9TvYIN*o@4RM!0Of_c<& zN8899F86c3^UijHC^VYA>e3PV)NQwR$E_`4ofZeMOcqlo_41G479m6=&Aw`$XSdHv zc}r+w*MFq+?($~tadPHfV>^g2SD}aQeg6{t793_UL3#5k4%9$}=le-)`a#qlH*Y4A zdLz7anbEhoT%1*trcmmP;ge}7pxybs(uahHXWLXnZ&!8diH5;pCy+a1Oie5=D{qFy zW?!nLpFhepv{_eCTS=LpcYHpYDx+1%;j%pDc0Fz=^IvY>G~U{Ja6G=XG(jIvfP5_3 z5?Q?yCtlCq@2%NcR6Ck$#QbhA=k#xeoVChWGCtF$A=dqDc@T+!6ezJ5ZUlQLPJ zQmKX%t+(!e&ERq)GgHiu(E(an7<0Qk)<_dxPI!w*9Zo&W6JYUPLyWz6kPuioVT$Lt-DrIb6kDu?=cFhC)6@s6?htTrYr^w4% ziukRg}MHi+0XV9fqwH??$Ahw_d3VlqI zF2mNH-g=^{UNv_lidE)xiM&7VIF;o6=|QUR_=;ey>xrAmWZHPY{hRmKouu%CPhDDv z6S<>E$l?Fo+NY|L2q(5HBOFoaV8&w%}zMv(AW1ITYY2DoIk8UsUG|FwnV6$%hON+;S z-_&lxS$xa9`3KG%>0>qIaa>f}Qe}gkUGxElLWGEhZJXx4w|8E%Jl&pAmZL(!O0VHh z!LO)O&;45Iyi^gwfspI=*e-~Sr;hh!XQZgUQD`l(Fj&ewxUKI{m6}VD%Otf;0D$ou z-5iQ^jCeHK)!?+KH{IX3QOG?-z?4?8*uvpkm4G4GD`J~eL?|Ow<5S$6L>Yh4yLI)H zrf-`V{;AkJpVJ1T+j{j*64EmY^J{3`z6yVpL_;OyjI9OH&7jmhQ)+4i!j7 zsonJ4?S1~|LGUG{c+)35v2YODC6q&4#&=lM+n{D|C=;T)O3Svuc*Hn81E1?rUkDv| z4aOH3O7$N~Kg+jKfSRBmPl&IF*6}#jaz=ye<=U8QTJ2^j6`nUxNzN&7%wkh6BJwU1 zx6}vly_xgqS4fTn+^@Zlub9kvL7#oHYR8|Y`k<9d)!|d9l*c5>%7F;WOq5V$25H_7 zq&^%?{N{MC=zEQ+B9(W)%d13ydZTgk2f_C(%3ABZl*p2ny=`kjcDkg#D1Coc*Xzk3 z@#xpL{@baFo<*0YL49LQO&V0glZJke|`!ynYLLr zs?y<}F4fS;B)>qO0!tDGe9cVuy(Ar%Dwu1I&y|nvn*y2&ci7kah_tqM z9;}&UxS{8DL0k8$R=X`ojmcc#I0_*`?dEv{*7mpQsh_HM-rm=vcLx=>qN~$LG$wK^ zt}-UwaCKRmqv*uH}0Cb1^|z1%k}4x@(5{+;8`0-t#J-YfjC znc8?-)SF$(lIpxn>Ogn;%PhrLM$b)9vgX)U_h?pQGyqaV;{6{;tBL;Bk!CIU@A{w! zm*KqlQnn5+GC$f3>McwL-ME?^jJt(Pz`bhCF9}{v&Bl`}u5d7p)IP6V1YI$y1;}5s z8(Z$Tk@6)X*lmkHi;uc1{P|lNcXXXq>|C&Y10Te3a1?T4-Kzc&_@;61#?oSKX58ETtx?f~KkFLDH|MN0a%ygRZkl~6IjNINC05^|ISS_ zaLab9T@XO5lVNh<)4e^aHHNLCtkkHny2HT}^dqT66n(CSDZ++S$+2m_^McR!eG{(; z@V!|_+;UvKLQh+50onW4DjQQ602bJ{%hcmc9$$>Njk6v-{0{$`epx-M$qhqY_9yBD683O zmovHI>CC<3ZDAGb@%;Ihb~l*Uy(h$~`>ELI!kNS3JHeltMB^9NChu+XQ;>PJ;9B$M z>Z9wt6{?x{S4`hPGvFP-9D~TmkSgfQevP-dbl)4WE;?rk3&XqPH$!5~Cf@pE_J9T? zT&~9{SNU9y;Q3!1J8q4U)rDhM3ZL!kp6Kjg|N@>txH1c%sE*u zNYMF!&P*;d;Jmsc<{>P$e?UH4e&uIh_|@o$KC|N(OoRO@PPNNLEF3nA!E}e_mh#Rn zrLW0#F0Vhrrr$e+U3VpiKrTCa`@@Uz)AhZ!FSFyR)R=w?O#5D-Ffp}Wo6GPc=x}J- zn9F~=1Gc`ic+)RDQ53q+{ei*Er&J;Lz8Ie;<|`({*14BEj!(qw2P;DEY^I~p1n2kt zt$uh=P_|1e3aGBlU?L02bl!qHHWVZEjp>Q>gUdLcd~upuNl31O+O9 z-Z`VvEGPMpL3p5RV_LTTpETQ5 zxtYb$uHI4n71BvHjSrBdq#$*un5py?Bk7EFX3|;~O_JHt|FXxgrS)2#VzqhmH9`Sj zUkFgg97O+qvA9)&C}dyZA+UTTast?kr-zMLR`baMAbt&{(Pv`^tBQV5IaZ4mhEFQ( zX0CG;%J7S5^hPz*j18yxQ<^s`(>lK=H8AaabzoQBL zZWGTIY*!OWB@u#IQO$kWkmEV*_9{ePKW-*yNR`y_v=toKzh7S4-OieNKXEGNmA@FG ztOf={ziuz_dEV?@nHw%gV>0Z7SWL`)vDB*(sjLO8(;P?c%Zf=AsV|`GKtikD(#ag* zz!#8B680p3C!YG2olQ93n3^xRCFPSu;1^Hsums=tB8DWpwXe+*U1+gcLO$;`Uj1DA zlw-1H9=c_m3{YM;&LhjthnKt8`a;)@N#wG7qN4-uI$n}$L-Xl!z47@iwZv>p**M8eDFie^flBC!JV$)Y zp^68W)4^C^Oo4cEi}U`NiLnqna%34#~Bo$iCo@z2jb=P zPJPZM(*Gh|NGV@W8ZrPbNtACMmKq7W>vt-a+cB@0AE)})Fl#Q zk+#KN>olo*$K-kJ;<2v}7=UfrFc?8J6BKa%#2?G)r=(n)i{I|0o~8$MZ^10juRX7K z%5C4Iov8_|XNH!9<$VezV>=slvrFYx_TNC8{O-oBaz`#lbMy-|dS}z~awF@TN>BGv ztcAYm^r}2Etpl+HBCRJQ1%|T+EzP~86rGm4;jyE@ivu=4E%d5=iY4&+*Auc5wo-a#Il{aexNe z2@g1#`^RcFj?#!@<#Levy+NjJdq?j}cStlQsMW$wOo4{{+tNh$^L_TB-E-SnMY2|< zm6$PIXD|c)x^GFK8Dfj&{0^ftQw0yYtlC#aI43vM2ln@JKL!+TR}-7@N-H;3(%FHkG$r_VhSP+H&g%LHGVB>Nm~Z zBaA4%-oGg;Na!nJiXb3W_IXwhd0bd7;TRz#Ys%s#(pdd@BxuZv> zv3T`A`;9N?p=F!(^`6h5>!qN}UqnJNh&IS|OS6p~5;_|{9d@}d>%UzVta=l`W$p;i z5B{01C?77rgPPhghaWUcZP2EyodtN3{Ex}^(#TkzGo1#Iks_mXX2a6Yo|ll0GGBk zB209gn<`>V$ZN=w=Utop&T6-l5|Ed{#>^;2neFD`=nRsIojfSlAy{hY!zAhTXggZR7?1;9=Ms53Jv+*VzqF=9k5+DCnXc_QxWP*8 zTrsuot_|Ke^``7b7hl1N*-5*3V+$LPr=%ZQn4endCd=8TBMquc;`U%Z; z$Yt8ZCzV!xRdC3{aX(VV#i@4~a|Qak z@4memoQPwrN8ECl4LW~3cxYuhq{UpYzriWcdMU&t(>fqV9@p9VlO?bBEt*NV!S+-_ zfjDP}lH z>=r~InP++empmcJX|&2hqdkE%+a7Me%Jt_kzp`djzj%9tqwioiamjtqH1^DVY*};% z7NQ)Z|}Otv`>XeX@A4U1DC#_t|1{FlX2ITYj2FqDL(QOM)pw)~+j7mrg3dco2hV z&i~=Beet*8qVs#xjK)P7Ya;7=qa7s0#6v+?3%V>sBW-&>9~c_-mbiRmz0qpTcE(!9 z%2$STwK!Dk)g@B_9bX|-=yA;6rUP4VA4_ewQG&jpzV2(G?Vkv9Pm?fEq1TcNV?fRy%KBzKyPyMNh&T}qL=h4SkX_hQ4CIU_dvI%-37)O+?aLutI(uR^4j9hzZSiQYXr@=* ze(@ZRf}Gx{m^y!&pPUN_RAT`Xx2-HdB7x1SzC%3(Q8@mpbrc7)?Y&CWu5$kwv}9dM zcL@;o!ALC~Ru}PHgGtr%4bCc3Qh&wk-^BFlTS)@;T=gi%)T75AFg$hRqxX<)vqrn6 zJW?`NZuT!<$7#&M8Cd>_vqqxdCnE+J5LYegjF0~{q}aCTZgM&qXYk<~<@_fp|B%PQ)pdaj6d{_oXoAeuDtDd_oOhFMnzn4XH%jD_=sK3* zWN6jGveUb}*>f^fqU5ZiMV2OF7x&h=ti-gBxyORH38)C~l#z-PdB1t(Gb)GYEQiF| zJQD#WRZ)F?^KC7BmudV%I?HOCE~>{HC5;D|p8kzh`Z_`OBEhewZi1U? zT~EK&1CWRk#1~)(#g`r=+*=(k>bJ2r`fLfXm>bPciYO*c^(Q<3)wACOY!rOf#hT_l zzDeKx$8h2Z9RqDq@45pzh_-XV+Um8fn+ZZ}r6hC`CqA9|`^oB_5%Jn+1De6XNddSo zXON^4S%-`uGHFq{h$V=(RZe2#FBg@_;6;28xEGY>h;H_`;$lSm(Z&angXGU`|pI&&h}W z0ewt%diM|hz8KZb*FrA(*y4kG7Xqa@7?;doF$301ydCJjbBl(phX^K`|lIV0yKQmFIALpD%{xDQ9zzmv|Y3se7Z1&cj>5)r7 zs}Q7)mAoA>W_0#iCu4fruGU3zlB6$%c>aWZ=sxIUgwqnJKsHe@UFg=qHL=NLqL_7V zM#Z;Mc0_gmnn%~tu)o}quR1_<8RMAN|*yXrxojIy$!v`-)#38VLgsXa7DUD zX2ku9&wzV7gWYZ9Er9?TFx72zjk%QCCrBj9IFEOj?yU^faXwj7`3CX?0qPP)8s}MGZd&XRe#*S&j_Nbj}-)ndni|}^y zNl0s!ofy)559Q=20__x_2;n03hHxou3=sNj&=uv!HP#?Nh z1ub35rIo(ZUit0`vcahkGH|#zzYb%m-dJe{K;w&FkA92j)v~iN|9Uu_=Pej*mGHQs zwHWEX_>4}vU{nAU9i|YW@`-nLR4ZGI1<+U%eCluvN9JAMaMqen5gmbx&6x(RZU+5b zE?*@(LOs`lgEObQKFmPA+R6X$c~617aY=gzu4=1e*L3!rj5?w)sw}BLX=H&50{Xa3 znEL3b`~77FWjq?&@`pzHiZ;lqLszNsgeDL1S!$xvGo^WT`QuYxtgAfz9L`8n@c2y{ zYn4mmtJah2=raqVQEk9w;5H}6P_pgS%vTcYn~K=g1z$`p#ozNa%>bWd3hJi#5e7TI zh4zxPrrpRY{O!YN2oNhNe&}q8k8r>an5i^ulCmg(okq`KC>?$l1nYt_^Y5AysbN zg~gc}p2tL6spa?+#(WEruGU>iWU;G#O4v`e=4S&q>fUUZZAF?!@aXPl&$i<2XS%{~K5f-ovxO81(dFk*cJJ*^c1?3- z(--@zc$~e5SlJ?fY{DR@1Zw3h6NMd%CJ(zp0W;x44o6!EN}E!-^^LHXAK`K`%~m|u z&vfaNA(l@>rPErubMNy9AismE5ut*~Rj@QHfZ)8ra#~N=f7{5O2K$>z-MJ!p63xQ0 zIZc$jBSaYB+YvY*;&zE{=fY{XMG2f<#4@6Mpn*g- zGkZ8+*lBv?p>^A1?NU9>LE+XBg|B}BMdMWc?qrn6m*o0H*;fk`+WSFar^j6)a)dUU zs1uy|qrBWcM6Vo-g^uu-D{O{Vxy86wHw-GcPKHDZGfjcuY zo+LqI2}dANI3{=dZmq?DJo36uq9lTR#tgxD;ptsra#aBCtp<`3Y~L2$oWzQs9Bk2x z4KT7dUydZ3ZQBYHtcTr|w%-_aTj+l+%sN=($)r!6sE7N#dNs>+Rjgptgi_Xw<$@xx zY@mfmR!Jq|z7qqN8cg|2zJjvXcfy{PFN3tN+%@hB)!G~q)iBwO`-m^%2XzN4w3VWn zwXf8OdhLF*cdnWAJi3--;ljFL(=F)4c_A{y|EO-u5b^!#<}}wt&lny|VwIsxqN{mAbyQJMqUmpYJ;DZZLde+Yt#!&-?ym~K1wPwK$+7zlmM=w z*NO!i6FbL$?H!P*?q_Ttx3P_uQhR2b=GNOgl7;3lcAM;R{Q26~o`|4~Nk1wJ@IaCv zOg-L^k?dpjK!7T$JA*3Xg%3634qe|!np)}jR3eZx0(Mnm^LDg6tBD`wlae|*rs8FK z{hF45EZH^Ak-0HsP{ zkb`af<<^L6bfD|vQnO(rh^MkCc-sayb#<$soh*CzA3Em{lB$N|+_wF4Q1E$?R+xV7 zRrN*wRLBH|P|W|}R0VV|!%Y2g*ROA2yMNsDTE-c!#l`YJdr{pc)PTqRx*z2a@x`!< zJl*Wxye#jh9jGPIanvRGyrJUIeA(9?lvA2|$6?`2c=G{6nzv5Zd7FdTmfyE!S}`-R z``_(*`=v4`WS8>yp5I#%J9?s-@Od{kRZnhd3bp!_To@9J3(SYshI8HXIoW4q5Hjha z72<6qopHXl5X6uM;4kVnYWeDp?w|PuCQjV6cx6hAQB!-sRv2dg#;sz4 zc(J{Z@AhuONi*dhqvIshroDyVs9i7Lcr*xanW>Q3Bb-J?lk(ghBHW`gK!Bc}j2*E+ zZUwBVW}=#^dsaX(cbNFb>sW66{*LYqr#V%DeU%~W_;Brlu$b`)`odgMKFf)0P(_l` z8PC3_nfMl0xzY(%kh*>>(cpgAg;50Vcu?ootGt8fT2RpRFdR;rIfP=B(0eQDs_ff0 zgrlJpmZopDU@Uw$sc6Jc|$xU3>_^tmD?Muee5AY z@YbHefH;{Y5Y~N*EvGYnOGZ_Ljy!wmvrP8Xd3R-+d|%yw8LNTSf!tYu{ra{+^U^N| zHLp6cAQv1ir3FfLyz4pmeRmG9UMo#$j$k&IjM8R-gx)P|jFD3x|Hx|08il1#X;gxz zBtQ2{lqt=B#w;BN1=Gt}Lg5ROMZ!O7y1WGD&Ne>Wy#7kdci5RSQcBa#2%TtbUh#0a z=t{#TtJzlR%!l60llX(%r45g-K+0~Rx3d1c5;wYKBGqJ3mY$==B$#p5z~&0dsHWx? zd?dDdSuj^gTy+;ae>5X1r@0tvr*xWft9K9b0kDlGBNF0l%Q%%^Tn+1P_vk&NTvPe^ z`#eXp(qipJenVgeVubZ(unLYl&oJFY^o*k|(tff$wTX|bbskMf;4YrvwxZ)5yt=mZ zCD4oRd7ce|q-*GOT=;@Lb;ZK3vFHyfY~beQX!hJF)PYBcsAG;L;|~+B6_8lFDD8%E zn@aT;DVT3ZB~!XKSe=1>Cl6L0WaNxW9>SlK7tma2?j`^G{66K};chTsWW zx7k*mK&KUnhYOU}Z1aBD1fBg5mB={3;uuB33RhYtUu@G=?I+|HoX!sKHa1!fsyVGz zE%h&MDDxs$N-p)!GfH8T{qy|3{rvzyec_zPrv@zG2-qNSN z?bn0tyQOfrS4rk7fS0~Nn|%M3P8#u+LJgjhWL4j4u+KqS{1NYvmfHO#@B;G~aLk__ z6f_pEtV;P~4;$rS1_^A=K0UfMI!Tw$zz>WkarC@4y7K>8R6HpskmIwxdB(?`=1aF1 z_D{u2c$+DYfdAtGxhU2KoXe4dCZ(k;HNVU&-7y5f(zEDG*r`y8zk54yT0hs~9-ZPU z9Yze+`p#>oCW*P>g!3v7j~2iP;eONwt}@at5xaBI|Bsi+T*kbPcEPgmTsZ+pwG{*3 z+QYk_QgmQBX58+yQ5flvD^vAO9kqLjow(@|bXbE1<>6VKCnj_DN)_isq2>Z*icszm zIW}9*)H*!|a3-0sfCk@YH=3>gX6a+=v~sg6*J2cB_e2SH2^MEsgU7cQRZ|uPA*M4m z#g&Bwzl{hrHgi|55mnL8;Z5`)iyBMIz%l+7wX@qBo5t+mKstBV>L?Bh|s z=rBA4Q!GC4YenOdYOY(Y*`CEQO= zGzw5MGfD+6wViU@&L5;`phW|I^9K!5iOFA7l}uIHeu3SRa~fGodrwoy9lKFwW}hYR zlnpF@JFCeum;QzHTN$(OLS1^P?-io`mD{BIk}Rc3QgT)9GDtsFM_!wfK@-Qr7U+~Y z819U(zpz&LkZ(SGttrz=%CboxwO&6tYdRgp$Ezg??LCmM(Sg&ml6|!$;?21$Qh_!H=PK zSp?EN)vZu0up9_{rqq zyqiZN??ddG*@+EBJGEjditVMmsQ@Z&UB9Ga7&0Lba1Tc5z~bO7+|9=l)X}8DW|4QfYH24SUvVKQ>SR#-{qpBpqMt{$AdM z%xV=R+8y}G3$_Tb6$*k#0R_bUs^__jAxlqd4%e#=E@9vx7fAzTuG1Y;^lDtb{0l)a z;po4cx0n#Lmu3BN-px&0YUZ9sZja1xNUx&|uyrWa)EI}bYJEZpZiQD`5T`I>Sjc3= zr~xpb%gWzo1IMsJ6p>qhoQ6lW?~vzlzm)2XRp7u{Z{XGAsw{{++7PVa1?|HJ%H4j_ z5gwy!|I!#H0TN9Xik+agq#CamHRVF{dcC`IG1VHu3R;H+&I7BJW%19Y*TGRAoSY$> z?YWNKBlS{=aOYP{fa&j8cV?5UF99D7RUMTwCG(K~0Nh>_p#T5? literal 0 HcmV?d00001 diff --git a/.gitbook/assets/cli-download2.png b/.gitbook/assets/cli-download2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba65a701c1688f8c7612fbdc02d7de4780b97ef6 GIT binary patch literal 65745 zcmeFYXH-*LyEY6ch_V3%1qCT8h;#)3rK@xVq<4@eHFQD=5D^do=}kJ)d+(tm(m^^T zB#|0g5^6#VeA(xD_H)kO@1O7IJKk|J#u{smxz=oVt~uv5@B3Qe@6;8kZ!p~;At9kw zR+7^qA-PgdLPGYOl7g7SPh!(ULUN__r%5UDVzjJr_VDDr@LZTF&lzdGmVS(-= z_VRKwltETjWkb!6ik&lrLH3pSJf-r-cb1e_@6tvT>by zCmpmUT&a|CokT18^eDwP;&C&zjmhCv(qC(@Gd+6k`%vc51w=9&JbX`ZcyNhh z$fq<#`GF6WkX%Vd(k066+(lV6=`GeGgojgkhb_YB<>3gXfR8G%=4oKy?sF=iguR3e zj=h*~ADk(8foZ62Ge8SJ|@!~52?y+x_nOZ1|n%QoL@+v$Grtv~npA$+Ey z_0al)L)ti5MuJ5By z^)^OuJ5yL&#(W@SF!dIHSyVqBml_@(+ZQR+ZVd|8dSktJt|OBw^N9CtqbPlQtgz!7 zYuj%l*C|s!+$8(f#qffZ;(d@3iO>nJ5LeoJe)@{rRCEbKn{N-j_BNd!%(>IRXQ8t+ zAH$o(z3w0o>Hfj7JQhDwvObwDd6RUV3U|DqCsAi0%dr$+5thS>h%kQC)~b}t5LxSe z>;Ing`oI;NoahV2jVtu;gJw~bCP7@gq@?V3LxS&CUv+&&r*y@#`u^(2BX+jip8)R} zpOBw*zj{X<{n0AtUIqoKo70urGZ^;!LF^~eU9ztq@$dim#4afpY8NY>f92lm^;rHN z9~U36J)yi2YMJxm$t}9qbWg59N$$Lsf5+`fQW_K(s{R`Fo%bEBC)-x==kH>_Z0`nf zR|}PsGk5Dfz4D#n>NJ73AKWzO% z-Xm+E^pq}=gWb}aTI=KOM|YH@CL=r_irwPgr#lJhwy?V^{*!DaVy|EBee*ZZ5vGw3 zZ@CMZrb0Hm7JnRCC_FW<(J6mCdw=_rja6Pv`25PuB9)m zGU&(H7=u-RR`dXVqWeUCLtUks0~epL#_0E_ufTV^eQ2cVvty9KGGArFuzj?@W#|U3 zvV7w2PPwUilg|BmUx-nU;cG#Q*ry6Q>`Zi~U%KU3-8kKN_iolC`2@d^z5j?i{;RTc zzN?myy;Mnvjz+7JpPZlSZz7%s91dLRC_S?%gTj z$#uvd(o@rgm-@XuirzvQ8r6NPJFXKQEzO>h*bas|iD-y)7zG&xLjeurTb^EQN4JmA zTccYsB2Sq~lix~~fx$c-||Jk8(QnJ|B)I&$rcvwR< zzd>>P)2u2$7odT*MrT588^XNo#4+MznVI4!&#WokjkkV0?IDO)Y!frnM{`LVtiRBc zEK|a>k-vs#9DjkzH70F0xHhoUE^}cDF0mZs6%#p+&&F{c-oe{F5QO zJk7d^*qXFwuotlAvE#VwGe3Gc;Q2kP$=qX!7HO8PbM>%4L_MCW3h@d?BS+Bd^Fktz0 zOX>O_RD9I_Ox6q>G!B{9#;LwFSt0UHJ|Bc0qzAuxD&eEJyK-|S_ApkP%9ZLhLn6Nq zg9CjUJ@lRel`)eZGfsMu*WdBDmokA;Sq_x%znVLcHbAS1(3IDlv@6?~nV7SDZh7?? zf6ejy!2HnsM5r{CH~)Qu)#@kUiOjyAk@|ccwQ^RiLRmb;rS^WSEw`Lzp({fM z858j(Uuop$I3LHeaReA*3~dbAQWOPbI$pbly7nCufS&}TZu=G= zF#Z%2Nn%P0O)@VH(Vg7-wH3`&l$K^R3a#*R&CGW`-p%cWE4IbdPa99O*}Vfik-QPD z5-oixf|--(CyQxdv%Oy>W8stA7B_3~>#9hF6O+BVLvrJf`ooMrUMwKCpirNoeVrM5 z_>_&U&X|*ws(89L4%V{ckq5|aOhM6)JAod znud$2noVB%Cb>17q^&d*Zqv*$gFTKbYKCjdHa|~AB|D=qvso=twje3LapYl#?gTm@|ZiUj4~7cT6>U9EVY*6W~wx{ zV_Ty)OL_-|>pXt660;Z7W;<=$7c3qu@}}`kQCL72BwNs5diV9A<&Moob_6)NQ^?nA zS#Z3wGDa@uk2Z$R3*3hT<+Ra=JQu+-)vmq&YNzG0iUF+mjisa6 z1Wzna3yvIr&nY4&I|At4eq;=4lDxX3u0--%?T$Ft4-(mJijVcK4#`=!?Hn$$Id-#s z91vNz6-jttB$VdYWMjEV&K@fmCYBU`&O!D{kviFOO>MS#yDMbhTy!J(I`w#C@KH6* z`J2LZJa+4%h@9RK-7SOeBq3~&`7XM|z=_P&$;LqWgPIx%4>3(ia+Q>cgq)ZnC0^2` z%>PL%kUk-~@?ZI6BqU+>Bv=3ajym!F=TC`v{aNN;cd{I^zuve~pL6A}G}-e%Ulmr5 z4j|sHyDAxakdRQ(|9O#;q-ESCA(16fmV2e+L%NfBJx8~ftsjiNQ(LuATcCvtKti=6 z7~}`lHMvzdmF4rJB4Rl?5}&A2F5q``CO>zYKBz6iUmRq@S~9(n?O4Q_-wXsF7}z$} z;;}xGdNPvn5+&A&92w;GB(iOG5>iT860(~gN&b~&@1(aU}>c?0-fyl(E*1?Q~#;r-?e>wt;+mYt$#HT^p)e|>-4x8g~A8_XqO~3S@fS-WcQRw zLPZ~yMZJCVR|S7{_69%TpIKLh;z@1*6!e%=KmU6y|9RuK5%ix~l-3-ix1nFlMTMyU zs`IZAKdG<(XV%RDC9)^=_Y48nO#f}Fe^vj^&i=|jhaMYuRmkjn=EdRx5F2t0jWSRE zphJFsghw{IPM{k7Pr&z*T!g6p-U$1>pinAC=zNV;f_x;azDZ_6Wn#%|*#0yQxG~{X zekl@6zn%v-M4i1zF@MQ!k>N@6HelyEwuK%xD~2RtKHllQ{bnS+3q&2!!54 zLEVm+jlUXM^wLBa94A?>MbUM&f7@=#o&N0S=IR92cZ+|R`Mh$-6%1>CW;!nQ%? z&nIJKQUL*{)b;f04r}~rb?g32VlCK?%kIyAu-Us00w&fyAK_o&BD1!(@ zNu903Tmbk|h+&fexlu^?@m59CBhN!U%T5xX+ggpsO7ua&mg8QAB$_t$BPWQKw@rW%F z@W{FKadSIwgcRZeKQkw4*Og?pkU-{ZU&XuAgbb{!Xk6?mnyCP}z&xkaBJ&$|@W@Qd zMc8xvVQesM{f#?3^D9$XxEq_zHC9e_qoNIc&K(sd*)AR`2PkuYdtKmS_x=Ize8eX* zwu^R%UKQ_YOLMv}xd+Df0G-zT2C(%8f96==9`!KQT}C=x40&y)${03lT=fK33PC&2 zMt2SyyHJ_1CfZ*82UbLH#%eJ?sfMc5ljzvPzxKWzT6|shBR%8Sul#RnVBE<@gLMtu zIw1;uY!wsz*Abl{)bGbl(9Y7eHqL{EdxGf&zS71;3$(|(}mT@eOQEZQC7^qD}JAHUc%d8G9Gon1lO&jbgEenT2)S~fN6 zTG-RSFRXdjL--qP3Px@WFlpL(!@L+_j^jqS>BE5xL;jnbc*Lof1MGCW$~^z!`dB6^ z37HrDVgv}cu?4?%GZJ-K$D{mDQ;}mHdd7n%sEp0>l3Pvdq7_E-$;M7gy}{rQqtVR| zusSx1XTN)62uK`E4;N+&78m=n-oz#5XbA&A0C7(V^LBYr%qs&E;~)LB> z5n%BBDlXSH%VYk`T`AGx0ve>;71&3j?BETj9wkj z8Uya^Ff2GXZazkgzNB1qj~pd9cSn$Qs-c)(F^QDw*TqO@tyT0Z-Ve09Il}M{WX#f2 znnbUC;JePxddJs*RgVbE>;4+uDkB%bS0e77TcukpA6f@73rjdFz76 zm_zKDLy{h|IsRBPxVK<=FskPKBSsB0RJ9As*9?BBH_l!Ms?<3|_+kUZ6oILt?0!pRw39Qr-*v`{tecmi?WH730Sn z<0ZNolS51*ImL)ugNIQvEUXa3k%R9F( zYOuG_qQJIbNz=FW{y;2N=$-#e7j9o}JDfAmQ*QEzlxW|b3ypn6&<$(d2%%FX@b)Io=`mR8#=M593?g_*<; z?jGjb*RigMg~yI!WPdkvP8*$4{s_fMk{0uiiN@#2P?6GKtlNp20k*o4a_IZQc#$U| zjqM11r*iV5L3tNhp$##w2hEH zwNBQzJ|Y-aIP=-)^Ro00an*h3r!d@39*qpW^$%i`({_{c_Kd->lhcKse#xi@raiPK zymA)&cJ|60Mv8e7;_uyDWqZYw^fPAVFpae z!bfvjhC|~2!3aLeQrskRyN@alBmYTo-enM}mfPcyzXOWM2LHFj|HHPD?Gx-gul0HI z;Gb|H3369wull9@a{SRk@ZZ5mg#PVEABWwZaa{dB!1DM{c!d}}jQMAM@4gb@^}i+l zhb3kIZ?)Bccqk6JHjG~4j#oIRD zSc6317ab=!iS&z|uOX>l+ij74XDlET98dp~mgYwmV@OILkz{v>5t0}u2>AK>q6lkL zJFRs6by{g_WWeQ{xZVBJM^pR8W-lu%{6~p%Rev~-OvaOZ&aOz55oHd62s6+`5b0k7Ucjisg& zQGKe(`2m81gKDA$76S~9L7J?I4MX9BgvOpK|+rGXsXKs6zXV}h56(#P5H;$)feB0-RdOVgD zG(kiz056o5uFz3FKizf_J&98s&Ics(T-n~p_gRZZkAFt`BoNOVFYwX(pu<43%$=XO zJ7o#8&=>f0mri`Z0-pEU@~kJaPITyp2s=rTmqyNV>v+%B+HV4_%=7k;*(zhu5uJ*A zBkOA}F@P4|EMe^R!@+UEshS|mIYSs}ZR}BVTNRNo*fI+{G*@(9oE9>kmQ{9)U7E_+ zbvfAD17_e3w)J1>eGd1y0R1eDO$0ow=&SZv^y;a(?}<3~K!yei>h;E@8uAn21e#s! zMJ=spe1OTDLSU7U9b!(Yy|6jxL0Xevltv?|KCY3-40xFI^d!XK?hpWa64Bj2uY8b@ zcG}5K5JULG)a`VTt={PSS1V?LYRE{NOymp?A6Jzd8B+#}U+)u%8n-uP2G3T^g|*i2 zR4vvJ7PehFY)mE04L)G`Y69ekQcV?aIqD$cg=(3%+fUOlpj<}FYs3xMfoxljDuLI0 z4%1$)o>vG|fe8b)tmGAgMA8I@bND#*Y3{DxDe-A|iW`HV$J|x`#8Zbsq-c>MKX(N0 za7j6z7qdtmroFPdTB54_zV}zi95f@aQN$&nwMl%4`bnHq?ch(d?`NJETlw7cgK-&L zk80I?v;^iIhsj*)DfGc?zOSQ11K}lbcwQp1c{}j3H)gg7DO={zS_8kV(fK3eOUK6tlRIgPre+g$&BTKaYO3!&RQivkB;B zRZuFQUbtN4SGDwv_x$S4Tf>z;NxUvr`nb(a^LMMF_2Tix7#%V3Kiw5Z2?-iCq`?$0 zLDiJUZPQK209&G~qpMDG`#f@IYJB~qaksOoBRVVL>zb-yr$Y*E$BH`bIsOQD!f38A zt~RT;Jkv)jb73dthd=TaZ}E~azYMZbTSO9Bt2di&I$>+u<-B3Cgt-B7>yb+>y>a~> z{tI-Hi2S9gxU-VUBwZ89X^Q?uU=e{~-$1E=AWz!NlC-y`Z;l5v0(%QP;O&Gl$i$Nv zao(}6S96MBN87`1HKG{Ab@`rEzamhj<`e^P^!NAcMdV*w&@>QX>!TEqQQ6eku4JFr zUVL^$zVT$c8HZ&&+W`Y#J@MQvR64?Q8hC~QXmhDmX97#(S9gAd=`x}`H>~^TTrAOJ z;z(ot;Q4)@SQ~xGA2@U>_T==8c%Vl^A3XBE%xM;E-%m4jH)I17k#r<6m7Th@GUk1f zEGc>P%n^>^lj!IUpZ%^aX575t!Bz?W1S~&OIiLAptrpMG%Bb6Kn+2Od850r{&*ZeU zvQwUPF4ZTR!^12##deKc*0c?jH-~%j+{5JkTOo}PuVcdhB*Qg20MsvzCTITejwXw%^CpaG+j)>&btqeo5aKDnrcP)2j3 z)!1bo@NkNvB%O+i^ z0blR>)`7*|i4Ruhbr_>%16s!P{q{>I2xZ8cfY8Z5RC8+|g9MVNQM>_Cjs%afnF50l zSb8+qR#VFPVZu0GXs(}g3l!flXMpo743|G%$l>PpyNn2M(MH^)lx07oET<1`MBULh zOyZG%2CwuRrceo1FJacs6BaxqO-JjPp8I?gk=nb;{Or&uA$Q>*B5)$ip!r5xwr8%0 zL`_W{5dFUPF00$|_laJj3#wl{!@JRRrm0Dv$umm!FqbfWXj@^N61fv$21f(%vCJat zjlW%MD#{Z^)1KEVvIevbJd?V4n9FS7;rZ?a4R7isRQuGJO5|jFZQb<^YPZ>8xiD$D zhT9bD3M8P#m;(vy5_xcYQJ;Bg`AM~(zm3J%U8nf1Dqg|Gfh*PB7mLWt<6cC-!FVDw+^}qNks~ zcLd1nZ_wlNneAddv9k-f1xG=b8SQkqGi)f?8NTR?4-lO){B_M_p}&%4e*C$j?u|-0 zG%b^BD&Cb7Y$O3D$+KW5aKQm2E%NOYMiP6T>X zdMq(s4<+mm3(6PXwR^V=6#J5Y{sieEO&F=+sB+YscjSA^k@0 z7*(fB0={7-Mhe;w_btj?WFLe$-&_)f{9ddxVTr0nHzCJpCyx{0GE7~do$#Xal@rwQ znF=O4$dVCjHa+a##F}E9u5C2`hawxrfr6sAKLY#ZwwPw_`7e4FB0CL-_8Dm_yf$p+O!%bqAN^Qjqd&2fRcRj|kE?UE=qulOfc9`_uq$gh7EY-Nrv% z!9;iCF6x?In8&z-OBkEq7uu=do$kSy4th3MHDGxE(k+Cj|hFM`9ZFV4vWe<=m?mZm!{z8}&O z8@QD$hxdD-&U41Jb5Hcx0pfPZkBH}!Z+r!ZVx%3NC0aP&vTC$tXO~8w>68l=+z;Z|)yg z-L{ES-J8@mXwH6@#yK;nZw^NDE!R1n)^it11HiC;{NR3TNxK7j|@-?Bp6TfGnP z;X~Y^idQmAR>70K+9sE-5t)+@_us~W+D&$^oH!xc5)bmavwtttC>}XX1gdy+!5X>! zsE;1`iEgseL_+s0!dQ3i_)zPpSU;Nv1#@K9pI>*o2ye$)=H*Y0f8N$X_49hiRze#v z`qV>coq`CoW?rj|&ZL)gCNHLraQ5kxd=QAq+=Sz$ck#KCQ&OqLRl8ixV9VjOA&;7T zX>e;@{c!BBmH0>k=i%F5{ukHS{N|%yZc(ZhAZNq(PP25NWn)n`Rnn_#`ep}MYw=24 z?uCSm%-(_g-k)?pg0kEzRBy;Qfu6~S_X8Z-zo3aBS52nirlpJ89bCQ*j7y9cA8()k zS$Fqw>1PLB??~3kV5`l^floT-5{w!ZPzgfIJ=`*H)#(eS?n^v!E%13W6r-Dm3iSrM z2|~_x+Eb)n67KyO3`6XntfiP6_MUo0KB*tF)h(i=7%HEfpUW(A91wBu&Xtc_;Y~7R zk?Art?uow<42MUWl@DmqXI15=gu8SQW)-J4n)#X^DZuYbp=aihhk`N_ACn}QUFzeS zo;oB30*2<0{#IbZQ4_jp+-zcatKhBI{=)f5-)$qqxHA1RrT~jc`&{K<MSZRjl*3T=P&^f}*v4nL^ z_ z`f58~=B>{-_eIbdRzE+GNzCE5h8pK(D=n2~8IRA3nPgD$e$3p-fFYX4GVo8_I zlu_HJJ2(iYQRd=!O3GNYUf(RBmpYpE53W(^tL(9TSBIw8e0o)wTgUQ`QSR26ab7l8 zY%5|1qMVOo9V;e3C$*(d4Hgj>S5u_iv*9Rj$WT%qm}N`?<}h1)ODbzfy`xUxYCI#; zcPf+U=dE{5@*-e!BBBVNmEVcY#)ei!FYub-<#k58uVC!Xvo7g)UOre+A?6g)gbu3h?(KYUWx$Wx~vVkQ5mqxP#mrkuf1`-l1! zR*M3Yxw(PH=Ds0fl#4D?g6TfhdOSsEgW6A_5q=q$JH3wt{pZ;MdwB;9JL$UdaMzCv|JnXVmr~rD=V{b2W*Y!rvoVUP?1>-Qg zM;&}LsF(QZ z{>L)Ew=46GuX?$J1y{m=Vmqm~9j+_K@DG-%d&O`ENH(QX~9TB#s z)XP7dXR6>JRK;V}s@vCF7=fN>akEUW?E}jx^+Sk7dn=+e7ql_jWP8e})5ouNy8lC2 zQH95)l@MRa47;#8h%Z-v9`%|IQ?-2`T#l~}*B32dgt<`6z2&?dhJSS4kzxuIC`ix# z4PB~$s_%%XY+bPqpFOu5ZAomXh(4_`G@DJe zD6};XW<_!yom^y@7&5+smZ~;9a#Jrr(u_sI3n$I2#wV~WjmR;>F8nS9g>QBR7SW4? z7Zp#kU?qEqexe=rcZCc_EiVV}Jk~o5r}J`k&x}`Uk(eHho5)`58bi+yLIfQU`DSCZ z-jxcqpD1!^v``%Jcbo+jO0~S2;OD{S&d)5oJFMs4oz`+V21U+g*c_zVW;cNrsm#j< z$Tx_n4sRXXY-Xs4AJBRbs_Id6I9Yh@qjjYR>V~TQ-H`E^Ch)+kYkuBxEgoT<6K~7} z57Rv6mh(SM_-{$_b9l|n%t3#gVQ`gSmg-gN*eWHsC;T>(8)WBF25Q^wCK!PTLwR_v z*IQ>drj`_#(bE`1Ub8S8FN5U5ijg$o{x$G-DGBt%lkArsG6x4Fy(jS?ANI}ZDClTn zf8he9*roV4;mUDQj??E_u2JvHM6=5YcO1E>ku`gvl50jnaRH?6LU@-;d z6_-EY`geHsb|V?cozIM(u5mU|PCXm*c>hSuT%WFk@yJ-Po~xNukZ>X&tu6)U9SLJ~ zkEK!MG|Xm<`et1emu_6rM>aFA2lvv)P8Ms&7YN3%9?=_pRTKCcKmQUg{d7Z&0T5tdT_Met|G6tW8Z~OuC(=R`OCtVY6sgikHx+K2@`-| z()qA9Dr*ma)^f4`_LeIDB7;)v$;8kl6T8nu!z1b}rD+Ng7vt^g#cUIGN>luw0y&!X ze9HWz?tzNzOW*mha~c|H`5-+BNrf~U(zD*x+P*TBm8Q@@QL~od=PQ5&Q$?y>`^;PX z_e+3l`bXYq+3_UVNi?sg84va@aozWun?eDfXDWD=h>&7h@zPl3yu+!@CabeQiFD;H zjrwsHq;|43tNvo#7vBG z`{xnF*fPNp<|QvS{OiT@7~HmI@H|agTUwXNjvpwYboTA65f7LD3U89bGLwWajj;dnQl}WXdV8T+Nh?+xZ;&l-uwB(HhvyRx@`a z*y!DpEIaGK`QNV)?Yh}2zlzHi846^9=;@jPZoiWWbAz7<$;lY9uwF~N)wX)13AvX? z>)B$jyRBErngX#G)erj$zc+rr1s)Zg+Nhpq(Z+|^)z8@6TjiQ*d|0rNA*|u;@uO;= zq3R8-^gtC!Ns_>oiQi)*-pIN_Oq~QhmKh~QK3S4JEC`vdIAm_=uOG4|$`AN;%gl*$ zXTa8n7k@b6oTD=9!S7ShXG_+kH`*Xkp~ma2VTwv(<(JfH!qqHIRqTrZt32g~h`uq2nyX_`yWg2r=C(HUdFA{Xnzur5Py6-$wOfo>^uqjOo9yRAj8rvMZOO(vm2g*C~lN4j4k~uhMl=DaC z7D(_J;!F8@X7>_adynb{tUTr}OV$gWdta-^J8Nle^u1LxctF;@_Ph*B*au%8@N!YNsYs`w}b zp41c##pjIcau|iG_ZJv&ipykVDVP_y7SM^k&~SDj##!|}8= z86B$}$kHd7qw;&%5hBZ>gRdW@l*^q&NcDrsdJSvxkHgG)ELW0n-fgYg^D@rXQgIK< z9K*5oTt#QM0;L8xjCNjUtNB@+uJlnn(F?O_1;{54bzT4g!-j@*;mdX*(tIVeQO?Fu z^F@B(kg8idMUxk|^^r1dxwhWeEFM)&pP+blet=E*gk6AgcJnPo?s|8ww~7xLrq(VB zI5H1Z==Gh}48M2CU7^@KS`ISu8X(bGVamUV5^$ zqADztV_d1H^tj$*My@z_<=;fXZ>D#M;c$Y6%7VD509AZY>d+5qbEMInZS>*Mb^aTn zM14t%JW(*-w3R+dMDqU>l?*VEm1rCerajaqx@-RNh=SO^g?EvOq<<^%QI_UUVSBeq z(ZK(#h$v{U4I+wDM5iCx{6pLx8+`Shok#T~x6nV-yH4yx%{z62(!GCZ?N`}}3iSKs zo)JV@!vE|PJ2Pd@uMcndwJ83UO+xlki8#7zyqORGA=Dc9-y!_RQvdre{5OpM7fAm- z6aRlrXBD;gU9ssEW6HLM2t805&fE|1p=4@V?my@v32IO!3f%^w?bZus{5~iCn@6d* z{cY_0o+6vW6+droSY)ixEM4&xA~rta#vpo`^ruC9rrA3Au+@NdIdzJ5vG_*=^_{?%7@VM?8m5T`9pdBIdD&HdJ`HQ{$3gunl>T62CY zRtR)ZVO0_7CHI{lJX1I3zM7Pq6fh<}e3el^BG!34{c9Yo2hVuVa z=k-M1(AiF<%KG{nwgwhxB&4pX>vOLV{mT{s+N)$XdcK>JC04!zbiM}HuIA6*zBn)O z7E9LEn{Ah!Fub;~6knz+d&G5}x1_d5)qySG8{6F@nME0kZT}a6t{MMsgoG^hRgTH% z_oO3T!GxgDe94FYs9=rqUQYc#bz!DkJ5rbX#y}XHUNzt%?Zw_1Tgp6f<7s~!FOXtC z=8u=kt`cChX%sqxdm~{QG6bE6D|g7r|NLI&&#y^TzcPYc2jjDMh>DtU>akK}EwrR_ z;$tdD^*VXPMA{Q4!@~zQNmVAz*n)DE)EUXm>L(^gmA2|Rho56mTNfGQ4A3vnykRcG zfiaQ4i?UOouhqc2gm$vC>_b(z&US`kV zN~GXeoS23J61g+tjW`0go?C?7cUtL(V?5~Y^QtxG z^UXr>>=HX0P#jU1!l1gGVxD}u0z#VuJv^xvMO^OsCWzSi$IsZ$|A?-Hcd1LZBt=1N z{o}TYQ3J3vf++7o$FS*F#l>81Il9~qXFOZ!R!*p}kDLX*&7{z~4EX?Db@M`FK-fCF zbOXb6X2mM^OWLAaPnA6-?>9;AIEn}B`z?y@BpX57I3Zj^xwPB>#HR!IwGMsXcFtMq zD!kjnvU;no@ zxg0>YHnipgV7MsmrK$fjk~fF&8#fYh+z=$-Kx_-O$jfSdr2qKE1&Xb#zMDe&yrBuv z^oUlfOB7-E2J(Ak_QD0Q?xkkxxUm5#$A4U!E!#f9?Y8GRO{s}CDzbuS{aT)K@66$` zHH8B0vy;>i23W(NR!s?ZL?7>Qg zTfV;Lp!F6MIs%chu-DJBa(i=)sB9XC{<`%D-QO39-p`8jOW*C{fE-{z=$}h-uxE-a zHsJHUFu3P10BDioEV{DE{_ zgP#cmT&2AXzdtW?#Or_22zFJ<)$&kaF!gMcRgC03cRg0I%>C!E3$**%4!{@F$u4P` zM3~-U1LwzxxeaOSZC5{@nAq;!&USdC0N=dbdrQxzYNbN6>;Q0jP^B<6Jys0+3A^YQ zZOX(|0_I}c@&=v}V%N5}zBkRkYB2UwwTB&m=G#KekA3jc$HnLXYwfD{yt2+_trsC- ztoZ(;ac*1hI*h&<7CfAJ@`a)Zx(;D=xORW8ClTpG{6v9wr?fk-;%Ja-K9*FfTrUb< zF+>A1oQt+KXo|Ll(odNmMrgHp2y?z=Fyuc?j2`jlT8_vVd--ZHJb{%4m1^Tq$4?+{p%CG?)>>j2nWPptCd4yJj*}GM7V& z?ag@hvbpn&hegyKdqCvnu<8a33$7PMnK;1aB!2=CMbVj4YY}us&5Hq-w=ezUyeBM< zVDky%9rx9Y=N!EB^qE299A$p80TAF1z{R)nYX0%IdC=;{!t?#vTm(x*{ria&p#PMx z|3!L3`@pILpW$Jjen)`R+444S;nO(bV%lE#{2Ae3+hy3P>QUOM;}-rJ8+hx09m__| z^VWCyCHbR&apoYQN7Y;WkdgS2jF7E4=}8$U@a2j|_9n{Azc)>+1a${~Pf&hQ2iPMxG6I2Bs(7LsstF8;4_Bgk#v0l{s4>sb zgem|Fevbuuq!C4^etpq4T3x9qpb{@6O~V*Uo}2%+1K%BnBf>zT>I8GfcI;b*R(GVQ zo>HH~NC9ve8WoNxstUF3WZdDQt<&zWThh_De+s}`VUdFEmS}Z=)o8j%Ls3@X&(lLR zHfCE=nHbz9h@NW%`+1#@zsy!x-hqrGa74|lK_}_l{5d(*d5y{#?|0l@KNJT8FiOv0 z1y9dCu%ZN$}ak>s+ zFALuIQSmL#H^{(if6Gj2DG$@NIaNi?crMQ31Abb!ilgMfrAP} zamQ)L72UDvm~Zb{#vH8l@tY1>A2cLIgv>90UBNdnn)&jI+m&oPeysJIF@+O!C)8h- zrMKfJoS5fPmf(wgZVh96M;z(!e4F$^k7Ho<8&<_U3iGA*FKJEK9q2G#x^ywv+-D5{ z*~DE3`fYzG^l^`LUf$pDyX@HWo$`1+<*@phl|iaW-N^t3dTJl5H&nCACf4wJoZVM= zrrc~M8B#)>z?RM`r5k}MI$&r;Z9FL4E?e|VCQjTbAgmxF6By_XT8r||+gk|wm%hGS zAjo~qz5LdpT;4|auu|>{=@)jhT}VEFuo6>i#`_s&j19C7W2vti^}n=&?6nR9dZ~FA zuFz^62sBl-6S4r9MR{5&*X$7Gnc~KDxHs%3*neCK*p#4w-C>=_8o*bgcLnL(C;Z$e z4ay8^K6y!=>A((l>GSOE<;o0b2S#NXIC$ z1;(}?Lt(SUm}e7=Xj<#qlG*LFPICm9sND5$f$}n<=C1v?flD(G{(S%lX`OIT;EXH z+Y{4a?9$#qn6=KKHC*i9=x|c@l(Rqt9R_hk+rsrNuJTFw6>{dt5XhJh+Uwi zRGE(b6&GdrN-q4|(tp3LWj(^V@WNvHNdNyM?=9S->el~Z#Rd}zX{8$l0clWaX=Y$Z zm2&8YAw@-$Zlt?=$RP!#hVB>`BxcB=JBD}jJm)#*==le}zw70ii)+K)v-jHfeXqOM zXN_@-;NGD?!8>=##1oVInB0ovhH>@ebWbWScHHw@TQ5wv={otYY;`XdzY(*IcZE%O zuHmPf+tlI>Dp&8gZ$*_>{&0@+90O{^5X-&{!`^_pYa#TU_C!}3@O$hw%-#b?Z$}y~ z`y44Wu!8o$9#=a`TdCD;?%Z9Xiz{wCD}~;-+1AkMu^w&4avd~FkcWumt&WghU-0w% zE7WKgBfu!6M)B$lTpr;f{s#+SIjti&|L8=n&i#>+^zE^#=q0HlSh+U>6u|Gd6MAWH z)4|N$fWIq*edSRRxsF)QefbUE)H%NbO^;my)iwn2ipl&5pUNh(AlPOW%Sh|+Q%cR( zac}a9!J|T8v8?c_$(`(n>*aHMdks{XqXD5sJc^}y5&ZDNn2$9qi8$G&Y5V9{nyTrM z+M71D-6NF_QMke-DEU#C6C?%oRHBJvUTUJrIiOo`yS5QQPQ~~<<*9?&k5!;UY>E6$ zO}T~HXcB&FTTgcS@leL=t7%6CYV~pTTgxkGh2zeFOfS5Jt;b#h!fXG_4{*iIeV|?Z zDB>M=5n1v;9R$(sC%x^;6kl9`@+ak(`0{8JvTvnkH6b}_u!OLP%g;+Q%>0%_*xwuT=`tNWYJ9ksc&tPceAZ0U-* z$2}G8+23~`&3mKL>)J9O#n6d;5h6}g%_?s*v1ZFpcZFWlos`6Vj? z=)!15pS=slK^*pTc=JmviUV&pLnT5#?x94+oO)a8fzCmRFZkQ*2_x{Y9VR*k1n>(I zVsoICiPZX#w8t2g5wv86%rt93mBK;*1>hJjN3&`862Sm2ygFdxsB}MiGm>C!( zb#!ZOn|R|fTKO)MVR+x?WT1M-cBkd;Sh|T{`893b>UXuDWUPKBH4Likq_Oz88^BIW znRw@A`a-xi=4B&4oJ+0Y>Hc1X(Do~s_{p!+)o%=m6??<6XnPLDl9$$>;a!s=n`&q3 zj{@G4dAeabZnPNKW_BrJpZN-Zqg%Z+DRIOYhLy6a?FLKTMUh;8DwLY)LX))FtXOH> zL2L$@ZVnd0F47Ygl2KW>U=e$#`x0Yz)>7HHs(`w&j%D^km&3+}U=HEYAFgn-LLD?Q z+_s+{ST8L{b9EETrM>84^do<@Iz7?B)ctHfLBo=#VTU){vbW^+LNZmta+Ui?!BQ0w zIX65#SeyTQnq>E;K306Lba-UEpLrT}<;Xg4K(NbfCYruztqYs6kfSKc&%dppJUbFkSB?-ZItdPog05hqJm z_ZZ*sqy{9yJIh*(X6XJ>6s!yc(#eh{k?)w97&x*D5-9K4sIu^?fDcC-z?X(kbXwSg z7MUcu+wGyZUn;D1?Tg>`IwGfm;64b!g;QDtpEfRiKi%8eT&8uYc5gaFcbB;}FH<{I zYq@63FEc4YM|E@ike)E03-oDsZu}Fcgyd`aC!L{|WS2iMYj)eHd8&adfj6SR65TP2ZZvU3RD1c|O?VIB~9y z!>C)#{J<#2z!?!#a~Ms(IS($B3ak6(!4^&yG>}|S4S(z>&B0M6jN7qQZC$glwk&y| zDeoJ4Mesn}N`7->=LuvTix3L%SxmZ3ws@m?XZ(SuOy>3>Zj!*kh}cU*7`1-7cc{YBeWLn+zyU(R;;^#aNdTx?)6x(FwA4hkOa9SIBVg~fOB72eYsZKuda z`*HTdcNs@pJ`4qIQ7rMYuqHcUsJ+$_+7zhog6=P(bq;V* z5=YpH(aEMyyWOLii|nN;s-N_e|2iCikl9%&)boK%w~68E)&!1@8t_-3BMFDf{fE7K zMIbTjJ^uBoezt{paLKBpfo}e4fz3XmMSjQLLBCP4KHjP1APS3ywqQ!iEl0jbo^7$K zn-9h+QWbpBoA6Ejnd+2JHd2G5Fjx}J#4Nsj_cR1VPXxsvQDeF`z2&25*TKp$4+lCg zpk3szrCg`Q4I|#svI?vGqqlaG$NIA!ozc1ex<1wUXD@qA>W_8GvV!V&HMfm350>wX z=^V(zfqcL?jmy-W=w*SDxnQvg{K>XT_6{0HI$;!I!0$T8P<&#x==5>5E;w;A+mpN0 zIlICce8z=4@6BCE^6szYR+JibF=a~bjyDSt-}{N=V~D@Ho0yqPU3CMa9zAND4Bd<# zj|z~90_Q3@_L5wTZoUKAFW=BTTd~>l9Qr0g$7&yawYI1lD^r{1E-UeEcgUf*`Y=ul zH5g&TL(Fp!hTHd4RkkwGkD;e3D7?$L6BW#&@~r;#*)d(T>lIr+9LF&m!+km!^7fdE z${E|UTXMPHqiDlH@=S@edqZXE_>YT(}_bx|w`XwG$4@9HjWL^_) zo$V*1^k1v#)Ke}I?Z{Apc$K2$nXTdkojKO07dU^`PqCnSwvjk#v8xAr5v!9g+c3_e zzmDSTvm?kPZvHg1SoL&nV$wnkZ}-}AdX*E^>~3FbRUfY5IbGNwu_15*y8tw2F2@uHr~Q%()v>t zmk(d!M2YQDZbUI&*9J02A2yP`UxO%t9(XzNoW+uO(#rYE6c`_S(&-wom0sc+z#D}`?d|vZ z#2oV9{NUvfljvM>Y!kv7vGu+h_xYl-T`lsqXoIie4ed*xJ+B3E+6xT_EiX>)6{c|@ zJ3Y0guZ;Q+R|UKG75duNRfuHfifx}*NcY_Gy1DHBwc=TNfK8{4sBMm}{IhYwW_TZa zG38~UJT=|*;r@nhpnw{FTM7=fshB7wISQGi_f>y;so!B4Um9kywEcWb#=O70fzI*P zY{|b6et;-VR4`7jy5?)-@S$7NO#@-0!J$r*$HX-5oF}?GX>M=0Y|^AXb`X~kcbJJi z8Pu&`>sltc-quTV_%UN|fw$}E^`b2?C{hnw_tIXC%#f%jPFxns&8RJ!8=BZpDThCl zc0Q>-h%PKARv?COH^Ymr6}4`rb*AOjT*r>K25fg%O}i1T3Rp{(yrkz?2f%OM#9P91 z%Z@B#SanKmJ$u2hu@*>RS*p@IyOfQ*R-a?2rT0A*SdduNgMx~?DZQuf?ppkaB0GRr z8&^*4Hxa0oI>iM>O?==)%4@fkVR)r*0!eujmm6NOf5{9ATncWd^ANGEE@FQg89 zw}Hn(d2=9Qi?!33zW<>rG!l{-gWRU~nA%`(o!Kxx){(Qdl80_rS8laA{Z$8j=x|-H#$J0_$_qtr>FQ|Bg%4n~4;k-vrQa+lmXe6*$!vAgo!7^_2uySmA_^QunV zzR_;VzGQa)D%@fMBwIPkF+?l~Aa#Hg@hMTKLf_dcd<=my-3-2>dEP$pFH^h)0GCyI zj1VC{{MQ=(^FtrT%UcoD3y=RU%=~jbQ2$NQ1Io=@F~iTZ{-_d5KBNH3#KxbV-Tu8w ze1QOSj(3JAAmhFA=a~+mfXvMB)9ycYtG};cjR8v3ohB8bY=54SlL1Q06pw=cs4Tyi zL;!$oy4?A`ucZEKu;+)8yg=Q&n4sLu!9ZTm-z{;BK#-(`tvsUFt<6^7GCEUu`19Iml(a2czVfA{P{>VFYX zNaX^NRgd6B07>vSMzp^ofcYx(@~zDO50;&M>;wDY{F z0i+*ss2ON7v3#@(^mK3O9T#nM<0E zOxvixnI)pIFt#f(Xe|IPEc+OAHZZi?FDmJI72ILg#UC`tO` zKEBviGk2(^P<6X52|#ndzKzql+JiZ7R%U+K$q62xw7wK6?tWttO}qWj`NL}A8-=R? zVutMb#3=>0-v`!xR9v1n4Fm*gT=BiTsQXHEIPfS;1i-t)0&;sm4;eqYsI>82INq03 zG3?=8`VGPD*%wd8&TV)J7LcJLSgYP2eKr>^k6Zv)#(yD-@efu?zU~I3MSnXGLGU~C zFJ3RW2#m?%0=xXbRqnsE$@e&x_s?sw6b@JZkkq@{mjFo`y`UNX2U^kvAAXe!zRulz zSi(PK@?ptUK#vw(%wfC%+&x848DTA4l`9naJYWyh6#a2Ls~EE})XWm4gxPTz_)6|o|}{f6$Z839j}Y_a5dh&e~g z3AMV+4NbO5RMySJoE(&mA19MdD6W%CL{j)l`*WBq4)ARkc9g;@xA($c5H<3;A0P;7 zEfg57M+dhH6;YxhbyI}Lm@2u1Qw!|){Jlfx9|r`rxKt2STtIjle}q~sH@M;$MSmZkxsdO5Il-kyYup+xc*3`^n=h zM1)pdAAR?b?$U!Jhd35G=%GKZ$JUU`2gLf$Sw?byw_6d)UkOVq}X@I|rgG?otg__4XSx zy^USgN!qXH^gKzcExK(-(Jh!qNgk&kAyeC65|N$upu(Uxw0npK#+(k6~Q9_JOP;gHGdvdb3k-$4kpZX(wo})U{ zPeE(R$pN=n5V2h_a1_SjSv$6x7f&=>`SBqSE^dB&Nol*Fl{@VCInH%;o}l))|GA+= z$HZ&+T$9t^_FeK2Fc-S`F#zk z_g}+GlTIiJ@a9AKdpTlfZaO;CUFoXL zlIkV0`=UAdEzn$Pp}>f|{52lZIV-Gwf`)nU=vT6z)g*208Op7nY!|n0)+eaLUi5m@ z&V@Y}{Pk=0SxZAHRbX|NV#DcyhL0FtJyqXP$)|8(S&g?^H>v8^9xa8C_u-bD>uTd! z(M=oF7+dEP!a@?rX-mY5eS^##0fz#c#PU39b#a^J2%9zl{_(VpWXyt&#I5rP(Y=l9 z@i}yEdjEwu&Rk?@x7Su-=}PweIMb*s$t;kG8hqcWEhwqp%QmELZG`y%hK+0|TrUeK z)_vn$eenX@SiRmDIG%iB!(D+k<%?1X(D-;h#~{G$=gV(sKkruYVf7ITAgpiZb59*F zvmp^)G5Z4AsT3N=|~o~?||5mEX*j|S)-kNPfu+Q8IR)0jiBis<|EBzdNN;Pi#QeC3&H)>Cf~awX@ONQtcR z#r{`T(Q6{UT5H90-5hZSvf0{5Hxvqy6fI*Mb%K=*U@w!RM8-_!@C#~0*GOg<*DsS~ z#!OAar@P~5W3(R;_4Erws~l+O9jo``)xZjSpLtQf?0fIS8D+wh+!c_)XmNb+7z5*| zeU3iK>BD*%M7r0EdMporVS@OZKFqU#7-U{(MYT}M(c15BQzdY*tg+is6KzFS9iHxeEr*qDMPU}u$I_z*Uh=jW5XxKx6I*xt?RLro zb=!DHoj0BOBG3Phhum*OuHhKmVXD06ri()Hm&kte8H&!-eT`P_a`~{ws7)gL0f$eN zP45(gtg%y+eLgI}o-Zn3Swy+R^Y}i5o?(e*wZKo^BlF#7>9r~?wC3x$HrJC!VbwEp z9eYu|8+F~bCx?c@Mg@xMMLopbol#Wfk@5&#i8JTaD*Dg8^5t}$ENXS(&6%&f4-?1h zcnIs&^A8)^gkn&Rm>(UamLo$T??mOGj7=YhDq7y6?|XLs+XpLKxKls&v3Cn2?w=gk z4E4j_W($pE`*Ol5ZyvNkhRq5b`R^FM0N@o`tv7zKmBBAq;0rhhe1`0u=uI^A6vG`S zX7n|PtR^~rnH9InpB(OCKM^_)`yP7P6}XP(AaofW`$so}i2*+ZAPPbfa5u@#V|f9y zFC-;NRuPooZd+0^Slr`=XwXnKY4VTi7X122jv}fK|HfE~mg_3hmA%3c2Ew@&<$kfF z@9m|hd+poXRt#n&r&`fNxxKYQh#oj=CLhfqZvQ!Ih)sFZxa^%c1NeJu+p~Zi2fkqs z{qFkVx7zAID|qdBzhWXdy;kiI#8vid{dCn9%M)+|3#lUPE|?8gy1;lOwoyqSv99T$ zvb#SklKXEUEz;swW_`TYao+|Z zTAj|F=GHH{`A6^na`Gju&wG};-Li)OcaV%YXASHcb)1hiQ!oZa5QD82X8l!zqSg`| z$fPB^&Uj~o-8Ky1@8jw#?R|BuEY`4`#n)u90}V4I(=Y7{bzKz*zfMY>V>0x6$%@I%N@KN300U&6r0c{-V{CKlfrwKIhhogd84P?_BtA#5=- zPd}y|dO{fWi9*jLF6RL1 zZU=uG`Y>YVQ6sL2$l#SyvdnM-rxAH+QnErc=gI<$HOL_9MKaC6f;qDi&rWi3Kg+wF z{o(zvmH=Xm;>_kjB#8w234%&dr?9T5XvzU2+JBWpOF!7fK==)fZf#UzF)~C)%Bkq! zY+bkQAukhu;{0r@=OV>I7A|toL3bWjW$$Uq0{#HXa0g0mzY3yanS4;C;`tfQgH44B z)X}#Rw7zRpY1-nRZ25;Ni%^e?OnXnTCM1#A>dShU(i0)@6N245d$_k;ngUK4d<%a! z?1TB=WQL_>``Yb%rS)u(P4);I zRS zifK8#p>rBRUX>-&;fd)jtYY1n<|$kwdnmk};ZgikPe?dTj$cF^K7b3_FVwlHy>#1U zx`_ru@`%egQz*xWaqd3gR92zsi?wO_B~z|^%_ujoc*i#8(-pUV^_q?>$+E1WHYqK& zN;wGKoQ&)DZ$GkLspIK(ONcUiQL}*hs6sv=(IZ?ao$%DpRh?SVJZ(pjkbE0YF0%}P zRvqZTBVBG8h|XZkK4W~c>5&`nbs4PYv#t@Im^tB(Sf;b;)fX3D8!kp}6;_rkA}4?e zY8U|5oXwmgMC_Ksg(s$0dbBbl@?L>%S0 z8#e~7SJny>ZGXV(qF^6N)gBrpfl?ob#i&L*pJ!-29kMSE6VP)Pr<|BYv73^p4 zwLy@k9M?#N5b0oQuawi{R`w;jhi4VNfxG+zB`g^SIJAS8WgP$f4l5mSqEl8Zl<3bha_4b+-1jekBzJ%S z{^NN7pL5Or4;bqU1W>@9DBXY1|7T>L;sHRna?$Ndas$Jsei#~KR@rnUq^jzF-G`c4 z^{cz6pG9&SkP}+@aDfn4lhVTvfE*<-+3xr#=bx{QE@1jDmQ(>!Yyyt$6#z;kfNzci zG=fJ+##F+zp=D*}Y^0Z8jXG(jxLaQ+Vr@e7y1#NRRBvi>3Fzv=q_@P-pW zcmtnkfBGK@`TM0(`UbB4TWJ3Eo(~z$(|N`fVbDKC1lZx@*8fP_|3f=`_}pZ8?A`R- z-F4XrLqDpb42X-~ELZ+*X0mzbBQB^Kz&uO%Wg{jU$K|p)5H?TTg9Jj=a zaLkHCydtcGVLoafEfAG3FEE>`s3wE|k}8@|SujS18;uN794GvECy zZG=3}hsUNeK00Tdg`Z?q5Bd1d0?Z`lqup7uwhA zBuWp87(UJ?INT&p%!x2D&6rq*a&Hu!r>`NU}Qrq_}Z!_s?^zukV*uM zk_2qN7f2@}2Q(rhF3Y{YjAsgc^umozt?mIV^umpou@@G=kv{Ne#1AhL%MlPj!&7d9 zrOv;_`1(4h?q7;5QQnMxi8wWLDH&kQtf=`-k|ql zBR>wk(I#`>P?>USL^AGa&9H%p*GaV~I8t83m zk93g;rSm$0IL9B^R5w(L;@e*gr1x%by**pV@Ide;)s>^}91?J{J31Vlon-k4I(YT$$a#xXr%tmcQG{nWU!P4s z$;#$(Hxcb-Y$(c_f#so346P!!Q2hr!Fq8{Qw@b4#Bdxc0J&!*Kgj~7-h?}-azQaD+9)AMMmm8_a3zykAeg*|ni~4nWHBJj! zhK8jZL;D=+G5%MMNPfNQ9i$%j7vw`;K5VPhS=@;das@husBO_a>+uE zw>O=rvFoaxa!~kQ|aCwyEi^HqQUaC<_`1fG_rx9p|CMcQYnEH1sL}W)6+7OGX*e}3Hvy0xq=Vxd76)D|G+!xHm<;3- zG}1Fv&!I2mv2b(t9BFW**cedN^+TNz^Hu?1A-WX2C#3l)E-RD$BdGD6cw`r#Mu1P~ z!Q~H)vq~p5e+z-0z-5_wVFPwBs|{!Jr9ys1Duc>b&~(kcs4SPMN2JK83eI3!G3NWN zdwZqVYkV}TZ6CqV+RaZV-8#GBMhn~)yXuOC?7HUl)ckM13^i0nD`|AJ!yOL^^XG^1 zAV1jIB=DlWIb;|WMr!(hku#;0_#P<58D=Y&u(seX)}(|%Lm`OJN<0Mu1n=u{EZ0Jmp? zRZCkyD%=V|V|9Zv6WBZ1o^L0-wX^CaTFMM-5-3=3!p>pW)-6m6f1r1lHits8-b@MZD_1sKozyuqg`!H!Kt+jBx5I{d>&_V~ zNsxLYzk**Th zT&`jNAZe!ga}bsE@gi7)skXoHRzW68q)|t|IL~1CJ}AqPE#J}_g->poba>JwRV`5b z)c-Bs<8Zz`%zHJNEJnhHRyQx0MSpFTZiJ%KnahaADH2j&)cINBc+oRnbKBPlTrT$} zz7oFVy`I^9WoseggX!cm#d&_UrVocE)A&mQ_1npUblvHx>MevlCJZWG?gbL-8H9x> zJ2LY?8#KIyvsj$vmQ8(&MhNZVmcs&*f3L4=!lxpa`~+bq1!U}IK2KOe3dcRKq_b(l z8!X~uEXj5s!rqA92>sr|_zO$1@D{l+l=v1XN)ZfQ>{L0o;YHVt!-$b}X+6{LTSoHeq{yy3Cj-BC%$-Qo(<%#q#v$ zoO+F>{JN!hTb^9*E_7y=DGl896gu!lCxe*b;bBG6w&|Um`@9FG<3~J#-bFnKymbMU zuXE!P-7TSRTK)A<4lU(%4fh0YeVyJ0e+?;ajKHt`#1JAY0717ux#_|I$_Y zTuj%_#dO3o;#>H+jE0k61V!$oI-lWBFMh~%%72Z276AI*!YZ>Ej=fRbK<|C#sY=GF z!@2JHSZP9Z5P}!<%+s@zX4Z~alODdd7jtzd!n{>DZ;81S zrzA=g+GOVzRd4OGhhc@m+S4(wzg)P>1m=%Gii^!Hik=E*o0pid;6pVE#lm4O+f6CzWF-Xoawpzl_|w z_)dymWX-B}VQAh1A!L|a9(uj1Ycx!w{t3^SRpuR|ilRHN&@VKXtiK7FFb$hMZH*Pa zGWbiof@YkYQ*V`;8JW$^KjH;3-Afno%t)@?Uk!`OA7xZX3*`4o3!EFt>Ll#Dtdb=^P|xf zDml(rID^ z=SqXllwzIToOkdCO*UGgd1+MTRi(9Pu$72hy2yG(aOhp3N@m>_rEZ}lr$clz=!?DI>sl)K@C^M8s<*oNBO-3#!{o&6l^0+Y9+ z4zkNq{y8L4g`bRaqZwgpU-mhSw^?8`zrSPh6`#=G7nY7Q&~KyA&CeG3_9Uj-iN*Yf z_Oo-@$#_VhXP@vvI3O(?_(PB2h)?V&f=NRnj@w2VHp(7Rld%Ka<`Xt=QtV3Uw7Yi4 z1MPMz$=d6!H0d)Z)~9b)SwjZtPEWy3#JgdKiId5J@YA*VQQZ3X<@FNrVeT~+Rco8c zK72tiJL1NzTh_TOid{BnVE84chlysWxnyR0U9W4~gEBS6E_J0@%LZe0t_701B)?K`QT-@y=}&rUoR?pF6U%vz$a#Bfw>h3IxXGh#`zQi!1I(xO3uOyE$ox5$@tCL3 z!K{ioMa&yO(Vj<49t2NX!=z8dAdC%q1%G+G+z^5zji(T}aizbBx}f@sa*TMQaaZU? zaG~K1v)-g_)|xoE?F@cJ*Tm#bABs7OT!kF=kt6cL6vh1Ebcd3Z9>0MMd8?R*?%DkU z`7PD1rD^K$mv+5OAiQiHu-&5v|BtpyWh_#ncj%#I+=C-0kg}hr1!3`dxB=@yfeQMo zL^I#6bjCc`?58wC%EtuyQ4)Q9)EJ$cPgjoq=_Mbfy;Y|7*T}zK&gskgX^`Iaw;@+! z>Z_e5g1au+!{99p>gBd?YR@*k4ST}PLB&rSTaKP}%i7N$ z!hkRS{`o|Ix4v63)qIBke1Ly^zVKdTFIT&YoIStG@1O9`Kzy4q)1~vr|A9Z#UcD!@ z`X{{o?T$VfkAPQzJ}V>p^GOeVSnsDir!q<54F2;;au1=`Ra2EHdkTF2_Y@K!s0;;b zz`0iX{Ub+7p!qK1GoQty-~SI>_W#G%l8np9W!}=ko@}Jo?e_TDAGC+H6B*t3w{ZRY z;NoStNjE#-ZI?W)K5Tt&(eZ@7Mf+WD7jxUpi`YMy&CNt$F6pr{bw~YGgnHm}#ZF6q z3JsFK?Zv;v<>8h4&pe)C3jCFx5Lyw^-XTf+UpC%5=kVnm&c8f`-yQ;lvcM^i*1zZZ z@2CFHd@Do#gq{18vZ%H)OD~KqB01t0k}pS=hJL4Hjsi>0bK{1Z^&{{PrcP#ri`;-v>4&s+Ff1$ka0Z_EWKCiM;9tn zH4?)hix1-{YG-7Ssb}T@7e!MQH!8b1;}+9@t&JfRlh($ROg(mrGUSauJHHCd0G5gq z*8xg~;+e7WYw5GrcS&sb4Wr1f-inbBw7C%%O#bJ1uKhJ0zjf~u$ku$13F!nYiHkg$ zTD9uMAFM8Q6V9W!TbWqUa3%<)yw%&E9uD}P9ai{+63;ee=wNET!}4L>u}|Boov*!# zN&EMOpF;bL*X?chRw0MeT84^cwKg#`#dVa7r0M@sP=CwHL)hJFxV3jE|y;2 zZk(;WioY7NhFEdVr?v{3VtyeL7!8E!Tz4dFiw{o}O}zz2ouyZzLpqLbdAHYHA;Q6M z7UoFMa8aa~`#w^?N-+97H?+-jJ8aBKgj-?MH$2<;>+C?0lOm9c%dzBBnEqxL@e-By zD7lo;1vjQlNO5HwweA%OH&N)Q{u*HdELnd;kptR!^n=Z;XLT#SG(4C>LLP{dO*^>^ zD+8Z4Hpb==3;g7q?a&v%w5yhA58cs-q*$$F#+ysyinAY zwB2Qjut>D9=zx=QWKMs76h6YKBIdMQzTl=#cR7MZBP)>iog`iC(WcqJG-slf?RL;W zL-+lG`rZp1vvVP$tnT}`m@uPO`R(I4`Q1Daqvw(1o(}8Pyqrp#?TnkAus};R9Hdj> zsu_nKe~CWcFp978W!v{l#&%xN$c_e9O_Bp9ImBn=_H)J4=JQ znfBWwg#uznJZ3%A152?2Ns3fwlbnX0d~FU%p&yN8D3Z5-sMzn*1epxzt}|y`$Nr|x zeR7CZ6$>b%>poUFfrA`C?4TVzgL>!00)c2$XOo*dKqm9V#KzZQC!%LssBsRh;$6p@ z_)AkigscaQgQUek44WV2Y$!~e-lfyn9rgrBC5{1XD&68SxOlyx@(hX zL9$&2ckeaG)l5w|9jY1P&G)w)W{=8HIg2US-Aq?8`@(B?pEAyIKS0h^hJT(Bf zKE0Zrfo5A*IsFNE?cN3KgSp)eqo>#KaBrO=9XJREitSAjBOhU3X%Fv?%$`{+o!i@{ zExW0`0x~&DU*fZzj2$#H9>f;zX`i9WT#^@_g@2>~Tm!q}n|wAk;-ny3ir=Q~ueZcG zZ%K4)u7FK8!QlFk-8lB@eD>VuBC0ApOSS+dVB7OybPHT^wtm(JbGQ^rId#~xg3qjbubfZk8vFhLrcpiuWgQkGaZIn%0;m4Xmdo9}SkaI- zFp-}ua>Z#epqC{lDe~JAT>af08gWLZ0P-@zByY3Cr{I_R*yT@?tsN2G&%96nC;0Y)utdy>I+5jOB(B@da~6Qv2&$T$Cd z^Q=OMcWOA7(uE)x;@G^$WlSq1M0(PnskG92SrHMH!F4zkQ_{Og_FLjb`; zx3?c~bh#vyW4Nu0*S%qHExmI&d#1fd=|u)IyMc_lVm(!HNWnwwZ%PYr(4P{-MEUNm z*ff$)sR+O6x?Z;GoNcEUIljgM%E#K|kF+N$Q6k-Kf~(w>=4u|z>`Cs9>HVGNFd88&|5AVEM`{VL<~1lt(YjW7%4##2veT%MK6}{rA1na$)GJ-8 zacA1Y1v-_A)CXP17%ht_FV9uE{%QB_Fos%A?dq3~<7J?TFtP`-~ta{)zx~$b;>aq9bYeouGK}2mBO+ z6uqs>kF>mt+U!c^Ns8Qc0U4f6$Qo0rXkUgyL6jlXhbqwFtI%W6BM^()dgE@*=7gwr zrR5YBYQcK7#uCygX89oT*;4Igk!&`N!teN97@_hnpOM%X$DPmO6_#g&t%q!3$EUe) z<8lAX3cZ&9cI(a$?owPdQz=+Wbt;=56Y+d*k+geQ{>fBnzysjc$fK3jUdNt#37#t^ zU{tz)vW|sX-(Eg173Zh7DTEe}ZJL3!I!QtMm)VM**H&M1UX#bVi|&7Db_@%b|4k18 z?o8ZwliWUL{`q;mX>u%!`E447L$alxZ@ZFl@|n5>Dg85kxw&X+W*~OzGGM z^4UY^GJAQ<3!bu|-v|keDf<0dn0|d_nr802HFPtNf5o`su$G#DbfPmgCIUibQ@y4G zDR)F9h0dJlXI}sDaW!d4P*tWf93rA`}if#J>}N9hlhV>o}9SwZnGnt z$A%VG=}E<=l@$q8VhowCB#rij0wAEqPNT%+RfAzzRob8PM>wg(Qcrj>FH@ zV}?WhH{Et2-y@p{XG zdnZtJ%=ADE@ET!9?ad-S^Sbxk*+LJ6SVfy_fujXf#JOSi3(>pYmXS~9n34EP-s2X4 zwTR%RK`E^1A?CdeJ?|IzzdumDxwX*Aktia{#iU3g2v3go4TwQzbgZ{8@tIi)A?z`c z`1;xo)VfLp7^u05!t6Ug$!p95-p!SvIhxd0wPGj(b`UE|r&duV&?@Q_#;K2wXYIV` z>F&xBlZ@rLE0}~8Pkf>=A-4O;!|0oSwQW=O&7}WWfWPFHG4KLc`HeZOa16UWFwIyC zQ7+L4iQX8m`Wl7Sn-rG#Ntq>NG=F|}K^@Hgs}3W-I^C*#oVpagZp)Iu`#9??pCs>DaOgEt6ZX#A__aqh*X_?A={upZ1c_ns8jCmkpsU zQ>ZH(IvLHwq;H|}_y-ys?ywmb{9uoWzw7UVJv$iWnV%uE%5Vs2P@gP6Ov-X`^;e1z zt{~w7ceRhnp}%bRkDte;U86)6y-GYgD0O(ko$!rsP1m ztd=LWYla;k|9Ygxp$~Yk3K#`aW55f>Lp*vw9hw$%huaIOyE{PHVZO7tu>v-v?lyPJ zX}$~q&|v#<_LA$P&f0jHS@*P%c9A#j`u2J8J1a0YkW?V%WOrXm$kMnyoGBoZ4fMPx zQGzA;%qCh1zeLVw()Fb&di>B~A@l8_J?{?YNgA(3oSRcI`PZ+T+?2F_Z%fS9#f>)6 zEU+L<#i!B>>thw2>=o!Mneq`6+7XR#WO?iQRMqq`uV|4$1-uKW(=^DbHiU@ny#M*l zn=*3x>wT70JHN_8K*LAzuE!YS5b%#iTQGuaQwUgeJxat3o;eL`bVnpf8oyC~l!{-dVX9t9!U4`nN!a zR?$c7-dD%hq%#gO6atDN{EG--VI<&eEQ+hKSOx_}D9x1__gF^bXseI~1|j^o5SjKc zvD%wnsl_Ko1x-3t+&FP3c56hbMgu!87=-#tv=6CtWK;2mPT)i?ag``h3Y3toSl1u> zar7)4d6Y%gVbZ%ZJ;r&RA(g$-e@>O3@jx1yyq!6&KDMbjt6SG(WOe-)W_7$w9*DCG z;F+Bu{v3i609kNsE}~T@PTbSYz2FQ3G`p|c&YWC{pBCv6>PZ$Xc3?f+#*~h{4pPm} z8p&0(?oARgE6h#$bVmC#iVFRFIT^rax;L0aaClaxzJdqeqV!(ecvEYv6$43r22kQFHfueUp-kr@JO_bSXYtx8gDN7R;=IaG$~mBO@gymQP$a zcH+?&oLDO=?+B@M1A|v;K0m)g=vuTS6+6I`d3d@n7n9UGzU9gNSxCt2$f&go;tbtM zc~ksJzPs}e<1=&J_KwxF=lAp^fKt6$pz}CW*LpSOs`2{rzI9*7;%rsQNkN?1)6DCJh>GI}HL+end9g~Rf4*_)5?R*8Uy-Ii~BJ8TZM-BtqM zXiQbMT9NFOPr04$=CWc;W3YtAe!8qrYtXWDOD8KSbnBbnZx)W*jG(-a`R)1&@m%Q~ zi~KZgV&+WYZqTJ1&aI<(8`LS#a;fuRSa;*xvsB1Qj})d)1Ugy7@vB4>N3+|`&~=Vt zrJP|B;Kn1#gOs{&eBn?A|7L)F9O6$>oL1BUq>^)TfcaGb=u>& z-l=5wGxSAkAcaX&v$UxM&Kqn|g*nb1^epoX960L97=0+gfiu_si!!X^!pTFfg3gQQMIaynse!0ZUOli+JhCF_5Y8(w+@PH``QLW z2oeaE5C~3!YhOILdxA^w1h>ZBAtAV1a2g3sW5FFFKyV8ZJi(pd4zv6I-uHWNZsw1f z`QxjanyI2F=+o!)>Am(^>v^8F_CAb*6}q<*1lIhk@`s}YZoUD!p$oq3R>-^qFWC+C_`V#iLePI2K5!QbPs;}V|rJUGRdabRz zTCdG*sb>{BZo88v$JdleBXo*geDhb-HvRF7?U*5vnyLTkiuoT!k`qY7G>h)4PQ?~x zS06TUGvk14yYkkQOP&cdJxA`R(5RK4b~>cCzPb ztP#IWUnB;k?nWw|oTDY7e;!IhYS{_qguOl4ka8ft%3NrdSjKszWbh~wH5A!V$Xoc4 zjSG&Js2UuSN?P6q4F-?LinZ=$GAd~ICNZ%|V?BIRP@tGHz=bQ(?F{WF&9zEUA98%Z z$kq@Ngto6(6yK2`_3TQA(ZbN8KYaC7z6pe>zKJ3wPNGz;C}^oaVY=|$vsBKWhpC)r z?FFL=?WEr4dK2B-ez9s7YsS64W=RUU^91+)WA;w~YvK&7*&fWSv zYj<|m)r+1MIY$%&L6yXGDnihGJDG&bLLTH)dFEF{d4$20cgD*!xjt^B6W&Icu>kdp z)Be-vfDI(%in1$(Wc%)!eXMySV|%&?2w|DJM3pStJdl>Qp1!CxHtXU{7dd@Le!96E zYvn=k;NA7vGZI0+`>l`Yd0S2Fmp5u^MPsN$396SIOdzeU=%tK7*mhsd?r7dI)ucOL zRBnrv&GMMKtf|qOIzQS#&sS6;NMcS-0K6CdAya(Csu5iGQcq|<=g{BkU5h)9{jki+ z4XH=l;o$1=rSa^=Y>#`zx8Tjq{P-J zC1hy>^hYXogVvqH?MdlmHY29zq&%^{?}cf;My5cg-M@2ITJ$oP>WVOrm6aH8M8-iZ zd|5!(U{RrOfnsuO*CAjg)^{EO2Qd7k>@@x z>5we4u5y8QNe8({`7;d96+c?M-Z6*hr~-ml(aUlaXxh_6)kume;8)g)NPD>55Gc7c z1p7kC;o5Mv7{i@HwxQ2L!et)2EW<>}=@hvtAkdX1oGvtx2MAJnXKVe7X4~M=CRp?{ zpG}Ivr>cs3v+mrc}HxtsJFHz9xypKdLgWcKQYD37rb2moxWb(PTRWLy*gYgWoI6!nE8cy-qaag9Qzh3!b+Xo^ zFp`8%zP7WopN|UVQfdEPLCKZ3dsT%1M)TKvT~yZsiEW#*hkgDHG5nQhB`&GS|6ZO=TM!%H}vy-pRcmd%_YBNs959-eDrBtpj3 zzVi9u#RJp1(pbIP^L=qv*+0(KGmT=34Rj`TR}Yp3*nsS6d2X7UsqD3VZSEeXd*4-P zYpO;TP>r$@-6|zW7<=8$R7Ivn*^9XWRSFX&6`c%XK`*KyQG@PNndqEa#l`186kuJ=5yH>kO*V4}JM_ z#ZyM>?9SdD`dv#aH@Q%5UR?uiADYHM=`9DUNXZQ+W^t~YHy^?)3^84ICpH_cS6~=B zJP`7#UV9ep-bV*ca;qnK0CX&LgulQ((ym(VI;trr@KqJ`87+2GvN9z6Jp0;3Q0cE7 zT|@X8u`T;kr#mJ;^kuVuo(qh+$0hSwiWyzRE4D56B(gKj4_?W4DyIb@oE{dM$a?ZM zZMsbpmvM3sAah~90}^vNVGyxvd=xq@JQ-E1mU}FpzS4GrY3*ujmt3$;?AtUTynI!Z z?J*+b^x;b)-^(Efey^<;VjPWq+Z`~7o|y(!bjDDDwkXNf)MhT8)S%n0%?;@D{A5Te zy3XcZ7H%t=_jLUTV(temUq^j4IZ{Adr)oPbJZ-=oBl75}c*=9|bU>{vkH)+j@)BLL zlV2P9%Alu;kVW@9^N3Q$Ng+F|M8Bxncjz#B!bG#@=+o9Wi21p`ZlzCfQE^qZjxd~eU3ua6wnOY zzFGL|BH+bbvyj7s_kQ~ghg&DPK#=VciS%AoHLEoauH+nLtiY@D(M@K(=m%_V9K*}^ zCx_*C7N>=F`EDO+dJ<@2+(p`)**7DdhFl>JBXyhMtx5YFc!oRKHR;GZ$JtM;7g?7( z82im6G|{1sATAC2sVBp_|FGHezp(TzVp*iD1@7{4hN@ z^Vtad+NYRspw&H&{d40U&#Gn|+^{sfrF{Ke8Q2?x1KTx5D`M|U=l!V$StBMp zABvf8hq&qX1Mbe-!cJd0qqO+PFP3}rzIyiD<2jaaoFLA2?Qb#usQ9H{c*A#ix!|1h z`4@$QcqJpDHEfhw?~&f1C)pw2=Adj|EACONL4ns|0UDeLT|ly zlOZ;6L4L4LR|2Qw{`AOHiKS}C+$1S%=CDc1C~Zyg-ql=}Y3Ez^PvhL*=6q>>lv_+h zABzxeQ08-@EtXA4^tZiq7C#6!&Y5@}?BGkW(InS9%7z}3mhuSE#ry@tl{1Y32zl$} zxn6d?0|Qsvd1ve8w-nUBk(L8L{;6_RBe`z+N8a(aqO#S%-loukUjM2K)#0qsem#?A z_XDvNdeHx&{QmjP483bfsNH_Bf^#2ZWkd>lh^8R+WjHt1!{le=~p6zhnKxXz-e{bxb>AcHW=r-b>-HFZf;YDn%TMc$#;PYJ3&0 z{B{PD19e@gynayHeENR6YMw5W@_OTopM=C;=s$bZA||m+W`{nszc3h`S}?z~6wPTJ zaw6r0TNtW5;|>>}Q4HJdLrqA}F%d8QcCKcc;EAuL=*`O|!@U*}FlOU-@}g(untSj? zfK56^AIW%7oBfT^{=uaYR97?0#s34kW}*vIlgLamyXI#R+uiRCdK-@-V(aujtpr6E zPs+#-eemdZYARRjoiK|%uQWZ$YFQC)0Oh?9ubTE#JxZu~`HjoNHvs((EvN4+U;8T5ZN0mZBI8qlAPfYV*5PNE55*^YY@mhswMDUb~0cd9co`6}-+C-LalZ%XLnhqj49T=krf} zqAw3(T-K(hTOGXi&O|_KxKiq&R>qOu=EcCwfnDo5`oU+%mPCk+*7Um+?PxQhbnv8B z0awy#S>1vCc`d6w-ZzaWEP@n}<6y(okz+$=`)`865Odc8sjb@WTr-4IQ}4`Xl|?W8 zeBarp$fl2u`SYUIuW(%PusRITaCvVe`h)4r=@b~zVOc1LA`cMdUwny+`V{-B+B2vY zb_Tu54{#elGq#GKUD>W2Wtt}iv{sw_&B+uqk;0L13Eq!$^GVS);s*AIY&NZ3S6_xr zz8WymrYWC{(U}clxZs@AmEa}na9Y&j;m395;MplPSkE@Ryne`}-zC!LV@)`#6(h<@ z^(>Wv>ICP(%`<|7;b?@ls*j>GrorVR$MR=0Y*@IYA`f49Q1cOyyLrdp^Y)$P ztd7WH2l35AGh#k^ZbKt#VGkp&B6~uXOncq;b1dZ8rR))uCtmtqNe|EPhv+sDZ#FBn z7~T}CfAfraZZUAvU=^V$=W6B9PwJ>;EGh4{bLiXfw$m(nYck3N(fS_etF8ADT~Cp^ zBjlRA;r=;EWRq9Z7~P4|kSFX!j=_>Fq(x|az}MGtc(_Ew(FbKMB5#-my&F6d2TC}- zx$J$wsX$^gREoCT-`nPx7t;GG?_Lp_Mv7qww!qEd@|%-OJ!`G6Yr@)JNDe-WuU_dK zjL1vQw9uCNhUG7gh+1YaSHpJ1Vf7(t{;-vx9)fUjxJ7^iWZ<(evDK`lkChLtc->kg z`DKvrBped|2ubaKsL_iBk4x_=Wn3x^X{7VoC+SqRVS5>rrmlbcx{a!iMpIQmdLHuN zaY-Op-cW&e@7nVTzdNO|3JLLm(T8MBm*tSW@L5vbDO`=XFEPvsaAyJ-SXxYu*oMa}5#Ww6W`M zWOlIE^=1kd3YjFcS*x(*?BE>Wp7reuns`;Jp6#z3F)q$o4OLu|cRqJ5uftooR`6g% z|JfP1gY6td>CIA4>QA4w_~V@?EI0XK4f$Eyp8H0T$#M0%WWDab`>F6pL90vA8;)cm z->}6y!Xo>Fs@@2^Z;ctVcjur2mWH}(uXhJ*>K0CRvo?oL> z@mEZxDZW{aqmhLQQeY?7eoHs`P_g>9X}mz|)iOage#wB!%oyi;=!BmZOD#Gy;&>6= z#Bt0QY`>_PR5zbZ&o}FkX)yMqO8M9*nBiT9rM`70SO;)o>ew0Bxhec>XPQi2uZl-} zwVK)FdEbaO!awT5+z}5EN``&Fx|@}bgD!DwU8M^SilW4Ts}dhu;| zNzILkN!_&X&qhS9P5G+u2sDs zHSgR~xT!xZd~(C382h(02xi?!;p(uNrp6EjDk&a#fhraI;)Bu0>SN3gOM@O|``mrr zF#p@jmO$*xS{hYSEV#Tw=#~M`eE@5zYMzG}1Al~Cf z*ztlp)26YmR{jgRcnk5oNrvIteItJ}hS%4LA)eHu03geVdcG8Pd#`A5yhBuhcRHuV zROokDl$@cp!l1p=a-rm+6U2eZhs&&8^0L(AoGf?ajcf|J7ly&H&dApKXoxzWcq%J* za)wMD>8jxSXE=yv4-5l#ICR))7Tv(EMDYb+c4kQr41$`ipU+^SCaI=eAj}Lel*;+V z*_;s`vu=vQF;5B=v_3elEMcECj6Q8t>y6MQ&dllUYdOKI^{H-v77BDak!hv-&eeb= zOf}?)jHG8bmKhI%qJ;ToYVKuDTzf}mR=)N{FXke2uc?LdDV}Ynru@|-#b3nZcJ(&O z%@6UQ(TmT}-pD%tdAgE98Zov1WdqYYOq4xK{S7rw11-cwX^j$_5!;!y>hny2qtBr_*-T z^Oq-Pg8QES8;CUe{xpnBoJZV!f+Rw?9m1oR*gVA5Px$WTh~3EKwz?e{5F+~I%8Q7h ztHFl(W*nkOB1mg-dyk8Nb~Tw+eG9@D~YL8U9)$_%+J=F624B; zd2PI);dssd{QR^EVhTET^yto$v>8rWLq@I~&ZlEbqtuhjThFva(nP+5=bdT9dF=M@ z#dklwPijlf!v7N`!7$0o^;sTn!(TgB~qbRm@m(;%uyqZ=R*xL&O&-Wx04}vNL_l+19|D zYBW_ok=ST04l}oUbuuv6C1~GlUb=h^3a;vSyT*&YC8Fv1h9UEh_@=h3M3|b6w>V6G zIO|30l8mPI)vJCf8FSlioEKiUnf+qusp;jmPF=^>tcgp-|0FfCM#&>-VcWQkwW6{L4W_T$<~KRI>MmrT}J!9AuE*vt&`4ZKFTrI zw)`Eklj{biS-qk&mmO<=g!G6gVl4fHsz{FgqKW?=&3_Y7_2T?2vYq!W7O4;L?w z=z0^~3(r|q-FkjqU#?8=mcB0K>x`;|xD&DJn`#v;9Vr=SI;>wU&GL2XEUQr*Sz+=V z`(XVN9Bw&2zirjm^{F%c62(SGE1Gna#$}Mbvq&v%6qIp5yV~tzrT+@i`IJlfg<`j7&Q)sjDf!9E1La+D zkk!f1VN*FLm^c43;e(HdettQoBbcfpw>s!Uzbp&&F@nSv~@qgS(n%_fxWM&z7o$B!)Z5x34EMu$q9$KP>YJ1mMN zSyC_{Xr;K|&a5>8MHXY0&)sYGi=;8S5fhPjaoB@L-HIM?8rT)%^$o|%evR;&9M?pV zjh3>{TK5pK>N%vOvFpsL(F!mJVJ=QaE4%jo7&xWv@5-DRDrwCg^-O!u?y;oBX?9g});M%#&C6 z2%Jx?5faN`<2PvH*>`R2YzABW;Scx7B<;+KH&{Oj(@(n|ASiEaK0SIvhJo;)K^tzn zJk8pq6s#U(Z(a5%)Rw-(M3YAUqB+6ngjGgx4b=nQ(r~vF@2DWXqVPyMp(!1Rk=i2H z7vCQAv_nNG20xwCCO&*&=6bQvYm^KuHl^Zh$ToX-vNyCdv`v3lKs$JIT`Oj~rHL;5 zVU;1`h_5X(XDg^XulI_K7Y?!hDRqK6i@kX&?9k(UQ3SblKWzd^alIZ?^G%-E_BuEX zJMJ%s4e9Kktr03&mK|(=DQ>uSL?7Iz)m{Ei=cAkwCz?es`BHgnf2wd2sk%*eB|={fd$`f>6^fI*srMRSOBT=h0{PO$Ll2-4Lz@DF=Y~ zj@XG0&ttkJlZPb8YInn(bEsCY?z1zM8%f-G;wkQO_ti^v0A1M~LD!E@nEPMpvcIudbaA$H`U-jsshI^+H?o~3O) z4rkY?GL;|IMYfIlw}Kvyv$|hM5txU^hE`g$_W4w8I~E%DQi>W~1cTPzhnWaf2EsRS zzm+8&?&5=$FI}16SGvDSC%tRGS7T$q23CIZa}@tdG}zoIUh4izb)4Z%B{Xs=qH1sX zuqWjx8rNI@zxuJn8bPx?F;veuSfIwH8wf-Z)_Zuf{xKQ|6%otSFjb48o*;d>1p27$ zLWqc;vPkB6?LEJr{0(QFWI_4n+`kPMtr4;=vNX-dq{OM|rd_JTF!6419<0sPy=K+n zR0NIH`h_uCpVzYoBehhsoR~FP89>$OIOBqfRwnb>wO-i&y&`0?!Z}6tV{bR;nKD}s zpGU5koiVo%_^kq2zlNMX;>3w;>IzxVo5XyDB!#)Nm;b4zqzSlMdoF#t$Oo-O@tx%U z7gzeuS2V*^5)%bIY?M~)$knuMc$A4ZzDH44-y%6UIQH93@DyL4^Yye|VJrELgMX!ikfhf^I#ahu+j?i&r^K9QC{>GPP&_J{P ztK2ia$ZFnD+f%HV*>-Lo{p@0iOS$3suI&@|`QaBMg^COZ{sy!O^ldbSgBcYQ&dWVa z$V!A$we?;o*lhC!OVos@+KJ~HXVBV)~i->VXr>JiJQcqtydSz z!JlY^9PRL2N}w~<9gz(OYWXUUb-Ybm-jJri9$99>>Mi=yq^CrW-e_<^AR5 z!R|10Y9S88Y`67Ft-^=Dp;ilL659E-YWDp5*$?@4)ZZq-uP12+a`nH}rDZp>8YHHMvpB5MqLm6(~O(UXYIH`XGK~c92|J zX+G<9@zGy0(+1kgn#!fPYd7dch^mQ;fwM*fYGlvO@krTm>{?Z)>O3VHPe^`P8N!0l zmQ<^RUL?K$Sss}LY7<^%!Gfn9jL~3!3odG%ep2o34W71M(!9`>{`9YmZVjcCrFXH3 znO`Oj9A*iDM*R3{^U313>@DZ=XO#s7lGEe+wkNH;JAG{mMOiZ%bAbdDLZj4~p|#%K?{DovMTAwaZ&JNh5sFcJ>UZQ#0p-9V_C< zC#$AyFmNyFgfChw6MxERHPpo2T=Ri0Dl?cWDGzvaJ0oni^x?sL@B2&0Gr~U z{I3w?QlJ^*^ItU+^NBI<{n-bPHkf(J5$w+XS-XU69pOYo1~TOHzmWZuMc)bwKsl2W zJVnxM_8g}+RAo`^!5x#F2_R$dT}{kmEU)9vmh=fXy8NZ}GYJ$J?)EeD_bW!F+ap-2 z`XVCSGQAbTJR%kKZr%KIC0zX$X8R4(X{98s+PsjdMc1!vi52P>jhB2)qD0$qv&}r? zRa;sQ$u;4}B%2A$DU(s0E^EICtbkmYYR{^HxGWmeeE81G9FoUegLq`EAGXjzYrmtf zRm5ygsHbTO3UE3^5CeL$o5-rZvMb-$$o@3z2?SUxlaVy*eLPi=e_k}+?<3Q#v6=E9 z`O)O+<*x)`q|D49uvM5`=zlHF76w)?RVGVm+8$jh=FtXYgGyVamZs*~(Ra}j4Wjq` zq`Y=Brb(Wf0yakK-kt<=aA54FK|ErQ$H#Y+_?Uze&? zS1w=cN(_>sv6ys5j+~_yn$6_b32kdeR9;*8TeWS0cDq*FAx>M71np@UR)fEu#F*zS zPmSrZyJ(l2$@7V}noVB0Z5x}Zy&N-}n?7Ews<$1A$%@idQs4Dp6kK+>ny1hpkITaS z;sTAN6;M>sTQv)bc|!?Y_o*h$jx}uDZ23I?y-U%3xBsZl`g)43Tr77oKDf_|q?!}D z<6QJ_prZfgu9(uGM~_k9#_$`)uV*W;dC`&^lRN`+J+MW`jiS@xcgGlsVuf&YO|Q{? zgx1&>^YUC~nMSD^a~xTnR%*fiEEyc|V2YYv6`pc-7OjFWs)$~ai1+O7u0gtvRc8Ix z%0T~P1C>V}Gc9NKUgZP7ie4{af|Zw`Q(&%;fTB<_eVmacsdV`m5X(nqJNZX%wq#&9 z+7;}nZl6VEV@Tb!zpK}*K*OS3*(aC#kkX@b83wrC1I^p}Pa8!_H851IP;zv&(yDX_jMlq+x#c)$G37iE>0i?+C_Y_u@JUe0S>G$A*W@3=7O0qjlyt8I zhPV3f5%EIjn5)eFiMJ}Fv^O*Sho07qup8FSuxlQ*`59F;EtR^9{@SXe5cR5O=pKho zZ~G}RJn?V!$udh1!KJ7j{(0Ok&?}V5`Q)s`nzggBu-f5g(6Msw2;C<{z-E?8OEPHW z)(h4Z;W8p9OcZc6eCq#c2jVv1D}o}}a*b>^Ou4J1Yk=@x%FY`oy3**F^FFH_?7(Mm zPiy&rP>FtYl%|a6G|w*49n9SOg(bhO_x*OG z(?5K=$F6=No-N`lW87aaXQ_f_aH1bVmSXpadIzJwe$;F@`;n|ZjJ152Jms$0C!c?! z9;Og6L?X>b0mFKEL~>WugpmbX?Ucam4Wc)k=jr$h;nqq8x@_OF;z-vTuQ3*AtB^T= zrB{(_(2jf`=<3wh+*V-d*@|PeN%8P{lIxSx8?k!Rs3H?hX>s#5lAH$dQKN}-z*;$y)UU zcfBP!v)GmBDnE9|x75k&KcjpeG%d2)jo%h`N4y3Cb^nsXo{Gt8z&t1-*A|d z9OzVyx+kor>9)y4dp;li87-iu08RY5$e^SE7N7`Q<@%}=%ebbR3ZZz1EVq?bi_YgM z=B-|H8#Rhd8``y;(d&THvjOjBrdDY^mH%<@J>Nag;pN`)W`W0B@s>x?#aTH>wctgd za!;ACcgZ)}U8mO+qQ}2b)h4#;`fZaTh4Pu5jGYgqQeuiF%CJrzu5^56k&$=#{B$u^ zo1GN(p5m6=^OuC>uE*9J(PDz_*U^Jq?sEcTXfE3;ei{5`sI8a0==T)53% zX^x)WU-Y(5$7+v3Baka$@cv)FFV6l<5Xym<7P$H9%W@;;1R0<2uP38v+?t4Bj`TD6 z2S;x;MRKA;PkC(x{6jr&Wb(6aIJg)pUT`YWd& zGXH3h{Gmqu*XF^E-&-#Jx)3a=(+)+C%)bc@aiExjs--U z9C*K>cVxrFzs&ZFfcqn$}|i>WvF}(A#It{6xn@efGxqu2p}LFH7H5^{z7Sz8_0C7BNK-J1iwN z!mA-0k<5mQ5YHI??vT!&6GTk_7oz1d4hVN);o2~&^9|de5OlK@c?t7=GwlM$B@F42T*OgO@<)$J;~WuF&tgBTb6`Ma^_u2SLV3oT;MB&Ohqh3UmL-o< z2`t*NI$&M|qTJUi0_}L+TeaZMdLl-oM`YnbqlUB*(|(eksx5FK7iB5mupUYMnK@-u zPe$DCpsBzWBIZFh?@`{m${ep*CmE>ZGVE#lts2y$xM_|z8)g}hKt)5?(T(uXMf&Wz z;>V1mwfk^5IxQywRJR5*G&(8@CscB|q5opB84YE*RIlX;b(zQdji2{;L+FOsgZ}KW z6i@=xj)7E*lpIgO|GJhQ4d(!=8!Qd5UYsCVroDZ zf*$4gNmf#)5{QCvO#^%9eFUqN%?jTc{3<4IykPYd}p;O8AnV!g<6Qs@K(F!8+ zV^lolL`I|K9_4tcdah-KX5kIFQ!XqV`-Lw_I?54^;&Pv;dfH9q)ixxdjYT}o<9|K% zwnx%26vY~2g9g}%A`)9UKr#9Ymoe7ACogrNsT`Q}oLhw9QvdcBTKue!bS+CB^H~O! zwm*fausUc?17BA6K{v-sMV2?^^O~qILnR5If=Bm4ue~~DQ5+eKFX1r8DNXX8>H788 zD4xUi$~BuaEYuXb_g}w2Gvy`-eTbMS_2J+Myu@F3hwkg&*0fJF+;+@r+F@n zxOyszagQ*N!;BoXhT!x2Nvm%9kI!ORqtemeOPQdKMRaP?uHU93 z5MONY*jqr6SEXv$R;rfmMUEGDzMe! zj!;{Uh{TC{9dIf!6Vw99tG82cU%+a(|fZ7U(lZQ+Xu)$AQ>O(h;uMp{+$9=n2JYjpI9;DmU(#7h3Qb)`@8?F%TjmK)J&hTG38-XLHOyS-(k?#^ zxebR7i3ir<-%#cqKaoX&<0j(rqltOORo!XF3cZ)vk>k?UfD(__@t7TsJIdQd`Sd_y zfIPMj%xbDMJxf38kb7__;{eo<7Mt{hk%E*=j)-toOJsD_^78R9+_0VGh=3Flik+qh z7fPJiek5^X073;Hy}2$3dmYSQC=5_xaY8k zj5Af#V~s4mRMl*n_s9U+Ny?1pD1HxLT?5ROOO=+j3sgs$${ddMWR#xie4QMw=iDd5 zk7V!Rdutfl+UB6DjN-P_-Dj`>F}U{Ug=xmOFP~^+x-ZcpR1QcmFoz_tbN&kdv;F%F zY=Dw}c@cX5PbKXZ=vPM}l==5!Mo^UTM{aTg)+9*$F*#7ge#Epr zvrm-0rz*xh^)8y6@<-H81e~(nUrJC+^pe>XQbc0&!v?%wSaU`uRo;2}4f1*Tg~yx&kqr zJ`dM3v2sw~pXD3!5FcQ{N9B&e7ad&Z(%X-V0TS#0+W=B4VNQwwW`LoLav z&xTqajeUA*1R5gG_kWQ5fe*y6kh|LiyAXCDd%u7G`9%lxm=uh`-`0Wt?Q?3FKqY0$ z&ts(j#o)Y@Sl2J2nBkTAmWRCZqIlXa!2kGNr#m z^SzA$4E+>-%!XL>y&-xRkcM9cWQb7f;1gG$QSe)d>8p?1QTdPEjaGK)9#Na9%>D?CP}1r97g zN@gjP=a#dNPuxxtg+q&t_)_X)_Z7vO%o>BV$CnaN~FeVM_3#Dq5&GF{#iFgFeboSHD?lHRE?qVnt^0+mm zCt`(K0i@d_0mm^L0|wBE?WhEqvhZ1MeGxPw;a$;HW%zGHQ3r;C$Qgx6#r3CZt^&xOO_}##7Q9|k3$GhZl`08t};@DOX}mVe*X?*Y$|@*-UIcX9Z+mX zoJPjnUXt9Fz6#tS=n|I^L!-Yv7WgiA@4mcYJ6474(UTB<%j?|Z+^3^$a9nP;I3GA} z9rC@55Cw+3`yxAWTtwXC_$;H~-BHAe#Qk_KG18u@ZNST*z>k~ZgR`|bV-cn@m-yaY zSeQ|!=-ofAZjA-DCJg(2*%os59+b&YosMM`J>aPZgcKrY4glh_2(Y9`EZI^v=K^IzkuapbI^wQrcqc70UQPem0GW_+VxQ3m zOuAR(Sc7ISZ{6bImX{LO_}`o>lN2828*CDZ^vk5L56id%W73F`&8iC2k+l!g`vCyi zEGM$mha&J~?=i7^kg53cV{}Fe_-&cTegF-JU`Z*V;Ik}McT9fRHDGrV`{_H&FQcDf zbN9@p_an3g033zD7ijODs9uxP0DyY+)6MXSm5L{Pen?*|np#D0h+Jx2#XqN2YFo^a z5rQD*5L=dxpD2~YuRD68#RxGD7y$tGT6$XyfN{$K!V6pLfTwGQK`XZ#@nBxV0Ai{L z;#<@$qV?wmbf#f~xDbpC_T*cNKi&cNTZXxWJ~WOYe*$xP5@>=ty9vDWyO?Wx`yGKo zNnlERVp?pcfYoDfs_vi-*UeGPWw5g$i1fHa?r0l$z<|!^QK*T;NBqY4^5pSo9IoE; zVz>q11EG>9O0--cun<_M>lJFsnRA!nqcRvA=}yRB2T4C!uk2-puvMpMg2e>?r1Z$Y z9o9iX$9w&dPEX?BKA7?lxZwZ&laP>ya6`VDgq)vGEWLO5y<;NoSi}g-izW^a+Ad4B z5a$CDj!?iOz=J>{99VJRwFwQ>TV?8s!(IS<<{Wculdae}a^$fe9I8YzmmQZFa*oO& zR-)qX(Ys7eBa7Y@czYr8QO+JnI?JFHN7ijud8uAp1_xBXW8zF6v}1Jx-}OUDO2cfw z#Q{9ZzZ&iCum?)_ohXp~2t&vVayX)2z>afkVU9m)DMGOk#77vUWT7aHR3G;+-T)v{ zfnNEUV=0+x<3R2y4ZGd+TT_{B*Iu+`>8qbwB8j+B#2{&t0kD;-DzFrZHES~LBkB8Q z2hhnxVh-thD$}t(j35VWxK7J5Qf$z;7)c&IDKzSW5vJLLNrl=SSr1@R8?5$mDxh@p zfGn1Q93TYD{7B*ebq~qkG%yx|_H&nC5Fm-11%BROeSQQ#DEt;X5P*o^mU_^9K;#O}p@3!?A8?c6jQ z8q?$4iw5Wcwi9Q-e(qlAe(v#;RrElO4>XUtc~x$nurq?GK~9p>Y&k$3LI(06WCIU` zD~wQ-H0=7AG>n&G`!Fw5&a}{X?_zG}5~y=yfPXN7C+PoZ&LCix>&`N{ zAHo<>k7=pm(T+f#>LhKPfK^0H>5&5eJWKp2 zS46@Yr9xs0u-UKJjq`aGf%Vj9DuMtmHOnpFtGD0kc>Er~S)(VZsuW#uRHXh$+%pz9 z^66sCLLIeT<|wyS>g0XE=O8I?nwkaxZ+nse@d6aKVWdHcO#dx*t3=Fr6%zV0BI$tj zH0OAM8MFRqRWX3*zjpxr9o@)11|`S$vC+Bj{_U?~w_CxX{|9i%L0&L;d5^<4|hKt>zilBOQ+O*X z-S8F@YMx4qoJifh+cqCL;6h7;w>ZQyRM|knVyCvC0HBr`j~~^Eg=&M38$v)_$4R53 zLT-)WG#)ro(}MqW9GLt)eEvrU%0Mdk2=aImK=$r$yTBpC@1%g+{RCWNKlU|2J7pBl zC@w9PLP#h2xsv!Y%q{0B_xRAIt6qqn7Tj>O%`zkRf<2xD>1-6CEz?K>e;wILyAWb3 z<7jt~3+(A`^x z12_vs+>-PnptDnf8{o>GfG+{&zX2kTQDf$7OFRC`dz2gs;F%9^!Y%%Ha!7z#`G+Fz z%6U}e4Rx+NaB3E5h)>nn{Y<#Wk0*u+fT=}Zt#Tki2DL0o+*27bT(l=v5GTvPw1^k5 z{zJxcz`G2=7cIOcXRd)^jS)|>?AklGT`%GM5egrSNF(V{Fy?d3!? zD6JuYOq0ZkhLx)@-kOMK$UHWTejFf0|GD&l zupOY+cTdo-uSzRnE?w(5PGW)Qbx3h1AnjNTG_V8}Y zNFa-Bi(LWy2(SxaUdWUKu!wQMigki{pb1VCD);rwF-H6#l-#K-a7nTfMBx&Ul#WBG z5Zb1?Vg~@5Y==fs5XBNleG8BREc2<@w)7$hV+WXHfj!Q85GOy4t*Vc^SnZS@kGbI# zYgw!Yyrm+J!}Es$ZNRe8`KcU z1ioSCI0cgTfW1=W%w5_fP5{su3tV!Z1_CJexUsPa)+0NhlpcpZ+&BopdUgka+HVAO zMleSJuLZKwM7LhcxNCgdOM+3>P87f>Z!<)iz zkXRS8F$DSm73Yw4MsXB>7MF)MY6#xxAqF^G8a4=T`?-$z-5xRrnB5F{Z_z^+-Ny7gF} zP$mQ_kgNAXrrvHybLIi9I}x`#a_a341`@U;g)GGOfqWgff}s$Cq=DdHOZFTWIT3C* z0t@c9Ku!hmC2iGiI&g(9T(YvBVlfnjc@WwH7e#6xNND#CL}pW<2)TnWk@niMx!zYx z93*&Ef9m(4DDfm?o9!@8m8-}I8lca~-u{EWi-pqyCzW<13;x&sXuz^L61^P%y}#A} zm@xJUQk#pLm4W@K%^CN-UlfZ0%s-+^UZ6Gi%>J`X|B-T@YtHk1%SFB^?r2ljbX)*f zL7dCMxd9ZAjw6NsH` zfP|t|$gTsyh9W#d%6zoVZhD0m#PSs~(gYwkD6G2K!7hqu6#t7;;2+aQNgmM4qdDl1 zuvN2*bNrvEH~Ywt>Uo4w@UQ)IfVCXt0XS7udG<#&i8i(wxu1jKmAKWP%8vehxkXNc z@Ml{8t=d%P;jG&64dgwatEiCl?U{IBAz62Vw&ZaOswJD=t13`kG}|Py`iP(K)Zg3v zw*6TBjpL;|Y2SfEToEJt^@=BBl2j^ZOcF;AzJkJV4!*>!4JC_4S7JE6a^~>yCXWgcn6VGFji|RrCrm-_2!@{Z)(yUdT-J0=Q|G^JRYaWuWxMOtH1{zwI z?(j&JOi8mh83(>9(rYMaXCl9-m&h9pC0uczZ{bnc&oFvr+Bd)!F)8d@wN%gc=3(78 z;6LFES{LY>5{U`Zu5!g@V}8Ss9vmoTBfaETvVCj{*);(io#2g$<6oCq9mE1{FdI%6 zoZt;|gb_S)h#w0aQd8p;Xg9Lcfe*mWgQICQQijfO3?yMTZ1bEFN7%C|Ftg=bm8_VV zF+)6r=l%+h(MD!V5qC&PLC+y&Uu*Nq#sj=c++~Ay5p+qC_p*JUQHps!1j$tOfb&)C!FiwfD zL;`IF3JN`DB#mVfy%Hxc8~SE~z(vRCT-YV2U2zHTH(E%XE$gkuT3ODkkOXd^;Ydse zXGpr{i(9pMVxIiT_S{H>x6ErD|
    H!-cFwsto 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 baz_gN2lU5Koij$eB$ut#Rm-}Ieo6laqJ3cu literal 0 HcmV?d00001 diff --git a/SUMMARY.md b/SUMMARY.md index a76e5195..90658bd6 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -29,6 +29,10 @@ * [Importing external recipes](how-to/importing-external-recipes.md) * [Terraform Cloud integration](how-to/terraform-cloud-integration.md) +## Moderne CLI + +* [Getting started with the Moderne CLI](/cli/cli-intro.md) + ## Releases * [Versions of plugins and agent](releases/releases.md) diff --git a/cli/cli-intro.md b/cli/cli-intro.md new file mode 100644 index 00000000..db50c77e --- /dev/null +++ b/cli/cli-intro.md @@ -0,0 +1,255 @@ +# Getting started with the Moderne CLI + +The Moderne CLI is a command line tool that simplifies the process of building and publishing [Lossless Semantic Tree](https://docs.moderne.io/concepts/lossless-semantic-trees) (LST) artifacts to your artifact repository. Instead of having to manually set up each repository individually, you can use the CLI to configure thousands of repositories at once. + +To help you get started with the Moderne CLI, this tutorial will: + +* [Provide you with detailed installation instructions](#installation) +* [Walk you through each of the commands and their parameters](#commands) + +## Installation + +There are two ways to obtain the Moderne CLI: via the SaaS (**recommended**) or via a `curl` command. + +{% tabs %} +{% tab title="SaaS" %} +1. Go to the [Moderne SaaS](https://public.moderne.io/) and sign in. +2. Click on the `?` in the top right corner and then select `Moderne CLI` from the `Tools` menu: + + ![](.gitbook/assets/cli-download.png) +3. You can then either press the `Download Latest` button or you can install it directly through the command line by copying the `curl` command at the bottom of the modal: + + ![](.gitbook/assets/cli-download2.png) +{% endtab %} + +{% tab title="curl command" %} +From your command line, please run the command that corresponds to the OS you're using. + +_If you want to download a different version of the CLI, replace the **two** versions (`v#.#.#`) in the curl request with the_ [_CLI version_](https://github.com/moderneinc/moderne-cli/releases) _you want._ + +**Mac OS** + +```shell +curl --request GET https://pkgs.dev.azure.com/moderneinc/moderne_public/_packaging/moderne/maven/v1/io/moderne/moderne-cli-macos-tar/v0.0.55/moderne-cli-macos-tar-v0.0.55 > mod.tar.gz + +tar -zxvf mod.tar.gz +``` + +**Linux** + +```shell +curl --request GET https://pkgs.dev.azure.com/moderneinc/moderne_public/_packaging/moderne/maven/v1/io/moderne/moderne-cli-linux-tar/v0.0.55/moderne-cli-linux-tar-v0.0.55 > mod.tar.gz + +tar -zxvf mod.tar.gz +``` + +**Windows** + +```shell +curl --request GET https://pkgs.dev.azure.com/moderneinc/moderne_public/_packaging/moderne/maven/v1/io/moderne/moderne-cli-windows/v0.0.55/moderne-cli-windows-v0.0.55 > mod +``` + +**JDK (8+)** + +```shell +curl --request GET https://pkgs.dev.azure.com/moderneinc/moderne_public/_packaging/moderne/maven/v1/io/moderne/moderne-cli-zip/v0.0.55/moderne-cli-zip-v0.0.55 > moderne-cli.zip + +unzip moderne-cli.zip +``` +{% endtab %} +{% endtabs %} + +### Add an alias to run the CLI more easily + +Once you have downloaded and extracted the CLI to the location you want it, it's a good idea to add an [alias](https://en.wikipedia.org/wiki/Alias_(command)) to the Moderne CLI so that you can type `mod ` instead of having to type `/path/to/moderne-cli `. If you use bash or zsh for your shell, you can modify your `.bashrc` or `.zshrc` file and add something similar to: + +```shell +alias mod='/path/to/moderne-cli' +``` + +You can then open a new terminal or type `source ~/.zshrc` to begin using it right away. + +## Commands + +* [Build](#build) +* [Publish](#publish) +* [Connect Jenkins](#connect-jenkins) +* [Connect GitHub](#connect-github) + +### Build + +The `build` command allows you to manually create the LST artifacts with Group Artifact Version coordinates for a specific project. Once created, you can manually upload the artifacts to your artifact library so that Moderne can ingest them. + +This command is typically used for _debugging purposes_. In general, you should favor setting up a [Jenkins](#connect-jenkins) or [Github](#connect-github) connection for building, publishing, and ingesting LST artifacts in bulk. + +If the command executes successfully, the LST artifact for each project will be stored in one of three places: + +* For non-Java projects, a `.moderne/` directory will be created and used +* For Gradle projects, the `build` directory will be used +* For Maven projects, the `target` directory will be used + +**Example:** + +```sh +mod build --path=/path/to/project +``` + +#### Parameters + +| **Parameter Name** | **Description** | +| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--path` |

    Required

     

    The path on disk to the project directory you want to be ingested into the Moderne platform. Typically a checked-out copy of a Git repository.

    • Example: /path/to/project
    | +| `--additionalBuildArgs` |

    Optional

     

    Additional arguments that are added to the Maven or Gradle build command.

    • Default: Will default to the environment variable MODERNE_BUILD_ARGS if one exists.
    • Example: -Dmaven.antrun.skip=true -pl !packaging/pom.xml
    | +| `--desiredStyle` |

    Optional

     

    The OpenRewrite style that should be applied to the code whenever a recipe is run. If a style isn't specified, OpenRewrite will detect the existing style and use that.

    • Default: Will default to the environment variable MODERNE_DESIRED_STYLE if one exists.
    • Example: /path/to/style.yml
    | +| `--gradlePluginVersion` |

    Optional

     

    The version of the Moderne Gradle plugin that should be used to build the artifacts.

    • Default: Will default to the environment variable MODERNE_GRADLE_PLUGIN_VERSION plus :-latest.release if one exists.
    • Example: 0.37.0:-latest.release
    | +| `--mirrorUrl` |

    Optional

     

    For Gradle projects, this can be specified as a Maven repository cache/mirror to check for artifacts before any other repositories are looked at.

    • Default: Will default to the environment variable MODERNE_MIRROR_URL if one exists.
    • Example: http://1.2.3.4:8080/artifactory/moderne-cache-1
    | +| `--mvnPluginVersion` |

    Optional

     

    The version of the Moderne Maven plugin that should be used to build the artifacts.

    • Default: Will default to the environment variable MODERNE_MVN_PLUGIN_VERSION plus :-LATEST if one exists.
    • Example: v0.38.0:-LATEST
    | +| `--mvnSettingsXml` |

    Optional

     

    The path to the settings.xml file that should be read and used for Maven builds.

    • Default: Will default to the environment variable MODERNE_MVN_SETTINGS_XML if one exists.
    • Example: /path/to/settings.xml
    | +| `--recursive` |

    Optional

     

    Specifies whether or not projects should be looked for recursively. If this parameter is included, it will start at the --path directory and recursively look for all git projects to build.

    • Default: false
    | + +### Publish + +The publish command allows you to manually build and publish LST artifacts for a specific project. Once published to your artifact repository, Moderne will be able to ingest them and they will, in turn, be usable inside of the SaaS. + +This command is typically used for _debugging purposes_. In general, you should favor setting up a [Jenkins](#connect-jenkins) or [Github](connect-github) connection for building, publishing, and ingesting LST artifacts in bulk. + +This command will begin by executing the [build](#build-command) command and, if that's successful, it will then attempt to upload the artifacts to the artifact repository you specified. + +**Example:** + +```sh +mod publish --path=/path/to/project \ + --publishUser=some-username + --publishPwd=myPassword \ + --publishUrl=https://some-artifact-repo.com \ +``` + +#### Parameters + +| **Parameter Name** | **Description** | +| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--path` |

    Required

     

    The path on disk to the project directory you want to be ingested into the Moderne platform. Typically a checked-out copy of a Git repository.

    • Example: /path/to/project
    | +| `--publishUser` |

    Required

     

    The user that has permission to upload LST artifacts.

    • Default: Will default to the environment variable MODERNE_PUBLISH_USER if one exists.
    • Example: some-username
    | +| `--publishPwd` |

    Required

     

    The password for the user that has permission to upload LST artifacts.

    • Default: Will default to the environment variable MODERNE_PUBLISH_PWD if one exists.
    • Example: some-password
    | +| `--publishUrl` |

    Required

     

    The URL of the Maven formatted repository where LST artifacts should be uploaded to.

    • Default: Will default to the environment variable MODERNE_PUBLISH_URL if one exists.
    • Example: https://some-artifact-repo.com
    | +| `--additionalBuildArgs` |

    Optional

     

    Additional arguments that are added to the Maven or Gradle build command.

    • Default: Will default to the environment variable MODERNE_BUILD_ARGS if one exists.
    • Example: -Dmaven.antrun.skip=true -pl !packaging/pom.xml
    | +| `--desiredStyle` |

    Optional

     

    The OpenRewrite style that should be applied to the code whenever a recipe is run. If a style isn't specified, OpenRewrite will detect the existing style and use that.

    • Default: Will default to the environment variable MODERNE_DESIRED_STYLE if one exists.
    • Example: /path/to/style.yml
    | +| `--gradlePluginVersion` |

    Optional

     

    The version of the Moderne Gradle plugin that should be used to build the artifacts.

    • Default: Will default to the environment variable MODERNE_GRADLE_PLUGIN_VERSION plus :-latest.release if one exists.
    • Example: 0.37.0:-latest.release
    | +| `--mirrorUrl` |

    Optional

     

    For Gradle projects, this can be specified as a Maven repository cache/mirror to check for artifacts before any other repositories are looked at.

    • Default: Will default to the environment variable MODERNE_MIRROR_URL if one exists.
    • Example: http://1.2.3.4:8080/artifactory/moderne-cache-1
    | +| `--mvnPluginVersion` |

    Optional

     

    The version of the Moderne Maven plugin that should be used to build the artifacts.

    • Default: Will default to the environment variable MODERNE_MVN_PLUGIN_VERSION plus :-LATEST if one exists.
    • Example: v0.38.0:-LATEST
    | +| `--mvnSettingsXml` |

    Optional

     

    The path to the settings.xml file that should be read and used for Maven builds.

    • Default: Will default to the environment variable MODERNE_MVN_SETTINGS_XML if one exists.
    • Example: /path/to/settings.xml
    | +| `--recursive` |

    Optional

     

    Specifies whether or not projects should be looked for recursively. If this parameter is included, it will start at the --path directory and recursively look for all git projects to build.

    • Default: false
    | +| `--skipBuild` |

    Optional

     

    If this parameter is included, the build command will not be run before this publish command.

    • Default: false
    | +| `--skipSSL` |

    Optional

     

    If this parameter is included, SSL verification will be skipped.

    • Default: false
    | + +### Connect Jenkins + +The `connect jenkins` job allows you to create Jenkins Jobs in bulk. For each configured repository, a Jenkins Job will be made that builds and publishes LST artifacts to your artifact repository on a regular basis. + +{% hint style="info" %} +If you are a CloudBees CI authenticated user, you will also need these permissions: + +* Overall/System Read access. This is needed to get the list of plugins and their versions. + * `GET /pluginManager/api/json` +* Create, Configure, Read folders and Jobs. + * `POST /createItem` + * `GET /job/$folder/api/json` + * `GET /job/$folder/job/$item/api/json` +* (Optionally) Delete jobs. This is only required if `--deleteSkipped` is selected. + * `POST /job/$folder/job/$item/doDelete` + +For more details around these permissions, please see the [CloudBees docs](https://docs.cloudbees.com/docs/cloudbees-ci/latest/cloud-secure-guide/delegating-administration-modern#\_overallsystem\_read). +{% endhint %} + +**Example:** + +```sh +mod connect jenkins --controllerUrl=https://jenkins.company-name.ninja \ + --fromCsv=/path/to/repos.csv \ + --gitCredsId=username-pat \ + --jenkinsUser=some-username + --publishCredsId=artifactory \ + --publishUrl=https://artifact-place.com/artifactory/moderne-ingest \ +``` + +#### Parameters + +| **Parameter Name** | **Description** | +| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--controllerUrl` |

    Required

     

    The URL of the Jenkins controller that will create the jobs. Typically this is the URL of your Jenkins instance.

    • Example:https://jenkins.company-name.ninja
    | +| `--fromCsv` |

    Required

     

    The location of the CSV file containing the list of repositories that should be ingested. One Jenkins Job will be made for each repository.

    Follows the schema of: [repoName,branch,javaVersion,style,buildAction,skip,skipReason].

    • Example: /path/to/repos.csv
    | +| `--gitCredsId` |

    Required

     

    The ID of the Jenkins credentials needed to clone the provided list of repositories.

    • Example: username-pat
    | +| `--jenkinsUser` |

    Required

     

    The Jenkins user that will be used to create the Jenkins Jobs.

    • Example: some-username
    | +| `--publishCredsId` |

    Required

     

    The ID of the Jenkins credentials needed to upload LST artifacts to your artifact repository.

    • Example: artifactory
    | +| `--publishUrl` |

    Required

     

    The URL of the Maven repository where LST artifacts should be uploaded to.

    • Default: Will default to the environment variable MODERNE_PUBLISH_URL if one exists.
    • Example: https://artifact-place.com/artifactory/moderne-ingest
    | +| `--agent` |

    Optional

     

    The name of the Jenkins agent that will run the pipeline.

    • Default: any
    | +| `--apiToken` |

    Optional

     

    The Jenkins apiToken that will be used when authentication is needed in Jenkins (e.g., the creation of Jenkins Jobs).

    • Example: some-api-token
    | +| `--cliVersion` |

    Optional

     

    The version of the Moderne CLI that should be used when running Jenkins Jobs.

    • Example: v0.0.43
    | +| `--defaultBranch` |

    Optional

     

    If no Git branch is specified for a repository in the CSV file, the Jenkins Job will attempt to checkout this branch when pulling down the code.

    • Default: main
    | +| `--defaultGradle` |

    Optional

     

    The name of the Gradle tool that should be used to run Gradle jobs. Specified in the Jenkins Global Tool Configuration page.

    • Example: gradle 7.4.2
    | +| `--defaultJdk` |

    Optional

     

    The name of the JDK tool that should be used to run Java jobs. Specified in the Jenkins Global Tool Configuration page.

    • Example: java11
    | +| `--defaultMaven` |

    Optional

     

    The name of the Maven tool that should be used to run Maven jobs. Specified in the Jenkins Global Tool Configuration page.

    • Example: maven3.3.9
    | +| `--deleteSkipped` |

    Optional

     

    If set to true, whenever a repository in the CSV file has skip set to true, the corresponding Jenkins Job will be deleted.


    This is useful if you want to remove specific jobs that are failing, but you also want to preserve the list of repositories that are ingested.

    • Default: false
    | +| `--downloadCLI` |

    Optional

     

    Specifies whether or not the Moderne CLI should be downloaded at the beginning of each Jenkins Job run.

    • Default: true
    | +| `--mavenSettingsConfigFileId` |

    Optional

     

    The ID of the Jenkins Maven settings config file that will be used to configure Maven builds. Specified in the Jenkins Global Tool Configuration page.

    • Example: maven-ingest-settings-credentials
    | +| `--folder` |

    Optional

     

    The Jenkins folder that will store the created jobs. This folder will be created if it does not exist.

    • Default: moderne-ingest
    | +| `--jenkinsPassword` |

    Optional

     

    The Jenkins password that will be used when authentication is needed in Jenkins (e.g., the creation of Jenkins Jobs).

    Jenkins best practices recommend using an apiToken instead of a password.

    • Example: somePassword
    | +| `--mirrorUrl` |

    Optional

     

    For Gradle projects, this can be specified as a Maven repository cache/mirror to check for artifacts before any other repositories are looked at.

    • Default: Will default to the environment variable MODERNE_MIRROR_URL if one exists.
    • Example: http://1.2.3.4:8080/artifactory/moderne-cache-1
    | +| `--platform` |

    Optional

     

    The OS platform for the Jenkins node/agent. The possible options are: windows, linux, or macos.

    • Default: linux
    | +| `--prefix` |

    Optional

     

    If specified, Jenkins Jobs will only be created for repositories that start with this prefix.

    • Example: moderne
    | +| `--scheduledAt` |

    Optional

     

    The cron schedule that the Jenkins Jobs should follow. By default, Jenkins will execute each job once a day while making sure to space them out so that the system is not overloaded at one particular time.

    • Default: H H * * *
    | + +### Connect GitHub + +The `connect github` command will create a GitHub workflow that builds and publishes LST artifacts to your artifact repository on a regular basis. A workflow can be created for ingesting a single repository (by specifying the `path` parameter) or a workflow can be created for ingesting a mass number of repositories (by specifying the `fromCsv` parameter). + +**If you specify the `path` parameter**: + +This command will create a `moderne-workflow.yml` file in the `.github/workflows` directory at the `path` you specified. This workflow file can then be modified and published to a GitHub repository to set up the workflow for building and publishing LST artifacts for that repository. + +When running this command you will need to ensure that you provide the `publishPwdSecretName`, `publishUrl`, and `publishUserSecretName` parameters. + +For the `publishPwdSecretName` and `publishUserSecretName` parameters, the expectation is that you will create a GitHub secret for each inside of the repository you're wanting to ingest. When running this command, you'd then provide the names of these secrets rather than the secrets themselves (e.g., `--publishPwdSecretName `). + +**If you specify the `fromCsv` parameter**: + +This command will directly commit an ingestion workflow and the necessary files to run it to the GitHub repository you specify. This workflow will iterate over every repository in the CSV and build/publish LST artifacts for each. + +Before running this command, you will need to ensure that you've created a dedicated GitHub repository where all of these files can be uploaded to. + +When running this command, you will need to ensure that you provide the `accessToken`, `publishUrl`, `publishPwdSecretName`, `publishUserSecretName`, `dispatchSecretName`, `repoReadSecretName`, and `repo` parameters. + +For the `publishPwdSecretName`, `publishUserSecretName`, `dispatchSecretName`, and `repoReadSecretName` parameters, the expectation is that you will create a GitHub secret for each inside of the repository you provided to this command. When running this command, you'd then provide the names of these secrets rather than the secrets themselves (e.g., `--publishPwdSecretName `). + +**Example**: + +```sh +mod connect github --accessToken=moderne-github-access-token \ + --dispatchSecretName=dispatchSecretName \ + --fromCsv=/path/to/repos.csv \ + --repoReadSecretName=readSecretName \ + --path=/path/to/project \ + --publishPwdSecretName=repoPasswordName \ + --publishUrl=https://artifact-place.com/artifactory/moderne-ingest \ + --publishUserSecretName=userSecretName + --repo=company-name/repo-name \ +``` + +#### Parameters + +| **Parameter Name** | **Description** | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--accessToken` |

    Required (if fromCsv is specified). Optional otherwise.

     

    The GitHub access token that will be used to commit files and create workflows.

     

    The token requires these permissions: workflow, write:org, and read:org

    • Example: ghp_someAccessToken
    | +| `--dispatchSecretName` |

    Required (if fromCsv is specified). Optional otherwise.

     

    The name of the GitHub secret that contains the access token with write access to the repository specified in the repo parameter. This access token can be used to dispatch GitHub workflows.

     

    GitHub secrets can be created inside of of the Security –> Secrets –> Actions section in a GitHub repository.

    • Example: dispatchSecretName
    | +| `--fromCsv` |

    Either path or fromCsv is required

     

    The location of the CSV file containing the list of repositories that should be ingested into Moderne. A GitHub action will build and publish LST artifacts for every repository in this file.

     

    Follows the schema of: [repoName,branch,javaVersion,style,buildAction,skip,skipReason].

    • Example: /path/to/repos.csv
    | +| `--path` |

    Either path or fromCsv is required

     

    The local path to the Git repository where a GitHub workflow should be created.

    • Example: /path/to/local/repo
    | +| `--publishPwdSecretName` |

    Required

     

    The name of the GitHub secret that contains the password needed to upload LST artifacts to your artifact repository.

     

    GitHub secrets can be created inside of of the Security –> Secrets –> Actions section in a GitHub repository.

    • Example: passwordSecretName
    | +| `--publishUrl` |

    Required

     

    The URL of the Maven formatted artifact repository where LST artifacts should be uploaded to.

    • Default: Will default to the environment variable MODERNE_PUBLISH_URL if one exists.
    • Example: https://some-artifact-repo.com
    | +| `--publishUserSecretName` |

    Required

     

    The name of the GitHub secret that contains the username needed to upload LST artifacts to your artifact repository.

     

    GitHub secrets can be created inside of of the Security –> Secrets –> Actions section in a GitHub repository.

    • Example: userSecretName
    | +| `--repo` |

    Required (if fromCsv is specified). Optional otherwise.

     

    The dedicated GitHub repository where the workflows and the CSV file will be committed to. Follows the format of organization/repository.

    • Example: openrewrite/rewrite
    | +| `--repoReadSecretName` |

    Required (if fromCsv is specified). Optional otherwise.

     

    The name of the GitHub secret that contains the access token with read access to each repository in the provided CSV.

     

    GitHub secrets can be created inside of of the Security –> Secrets –> Actions section in a GitHub repository.

    • Example: gitSecretName
    | +| `--additionalBuildArgs` |

    Optional

     

    Additional arguments that are added to the Maven or Gradle build command.

    • Example: -Dmaven.antrun.skip=true -pl !packaging/pom.xml
    | +| `--apiUrl` |

    Optional

     

    The base URL for the GitHub REST API. For GitHub enterprise users, this commonly follows the format of http(s)://HOSTNAME/api/v3.

    • Default: https://api.github.com
    | +| `--branch` |

    Optional

     

    The branch of the GitHub repository specified in the repo parameter where the generated workflow files should be committed to.

    • Default: main
    | +| `--cliVersion` |

    Optional

     

    The version of the Moderne CLI that should be used when running the ingestion workflow. Follows standard semantic versioning with a v in front of the version number.

    • Example: v0.0.50
    | +| `--javaVersion` |

    Optional

     

    The Java version needed to compile and run the repository that is indicated in the path parameter. Can be any major version (8, 11, 17).

    • Default: 11
    |