From 52c55acf365925adf210bc0f22944517d2895a9c Mon Sep 17 00:00:00 2001 From: Jimmy Conner Date: Fri, 29 May 2026 21:28:19 -0500 Subject: [PATCH 1/2] Update Federated Inventory docs --- .../inventory_federated_add_dropdown.png | Bin 0 -> 12165 bytes .../images/inventory_federated_create_new.png | Bin 0 -> 23928 bytes .../images/inventory_federated_edit.png | Bin 0 -> 26123 bytes .../images/inventory_federated_hosts_view.png | Bin 0 -> 36520 bytes .../inventory_federated_job_slice_output.png | Bin 0 -> 50063 bytes docs/docsite/rst/userguide/inventories.rst | 198 ++++++++++-------- 6 files changed, 107 insertions(+), 91 deletions(-) create mode 100644 docs/docsite/rst/common/images/inventory_federated_add_dropdown.png create mode 100644 docs/docsite/rst/common/images/inventory_federated_create_new.png create mode 100644 docs/docsite/rst/common/images/inventory_federated_edit.png create mode 100644 docs/docsite/rst/common/images/inventory_federated_hosts_view.png create mode 100644 docs/docsite/rst/common/images/inventory_federated_job_slice_output.png diff --git a/docs/docsite/rst/common/images/inventory_federated_add_dropdown.png b/docs/docsite/rst/common/images/inventory_federated_add_dropdown.png new file mode 100644 index 0000000000000000000000000000000000000000..632abcfbccb45534ad71717af20ebe2f9111a7b6 GIT binary patch literal 12165 zcmc(lXH=6xx9?R%q(eY@kq~+>(mMfy^rF(MNE4)kROy5sxNG}2D zASARKeBbw+_ndV<+;#6+>wd_}^E@+|*|RhA?BD$NKsD8s@NuYc?%lhGuM7ce-@A7o z8~wq0{0RM|)uNgd{dM0}TS@L-`3MaHee=*-R!#Qay{b6eD|1ZrJ+>1>-}T--qMf_X z{h$e)w0rk>sFcC7x?U!GaAbh)6teG<;E1wuM zre7Nw)X#33`yfm~RtN*z*&LSC^MI`xMDf^AFIf3$VjwI~)#SWy^gOe9c%kuR7@jep z%HJg+-C{b>x+S{xX%D$jz0i1W4d)jRHm6{w;RN7y&2|Dic%!-gFE6Eckz2paatoD4 zO}wr&G=P_|rPXQieFl!ksVi=3+X~5;nz%3qhbh+lviAZ<@yG-u2{H-EG(?R5lMrax zDf7DA4@>wUJu>55)p{U(`cGA)ez9O$s%TBE}(23+F5ecect!1slGao}SbaQ9=$ty3kWn~04pz_%rXomAIq zJ|Qu*CX~?zOO*_KV_y1o1s2B+ zcasUIS&jPQSt9ub-4S-91FeQE(0yiKh-`|1i0Xf398^e74f_2}wOOV%{0Z8K6+IB(Of;en__tuEMfLJO z3s|w5WwQrWWZg{){Ich|aH7DOW-v1t zP5n!z*RQ~SaVE;+BDej~M&EPq)V}ztr@ChRmp}fn*DnOBUx%9g#*0m~iGN@J4edQK zFzDtdOME$L1aDqQ#%61fdi^iD%9sg_shCqnS@&OQmAbbuxJ{gTeZT!RfKmlpyc%+K z69>7aA2^7=DHVq~W{$StA_Rg$J9z;0lKFka5+6fP=N)nL&ks#W3|Oy_HGv91b+-se zn*S&GpONaCn2!DrmicElvR`HL541Pt?qzq0(_e=m`iVAjbBig8ey}2OgOC zrjYk{VHn$F2wCLQW0#!N!C{d0SM7>7UavQIA9x$q|6mJ`ffOa-%QcAsh*$FZkfY(` z*aNz+Z`8<(=WmiK^RV+4JpR!t)bN!2@Rutgt)qhJvg&0h(G&KTn6x2Vtf}|&!>iJ} z2eK-zFtD7MFTJ1Om_xiN(QgI0WsP%_e4e@xKVeGvKJFL#pD@0? zgAQlQ$L^AMYb%!#oI4@uX>W^DrAf|*O&y%^y1`U;pV?t9vN6*`6JB5TTB?v|tM6pQDl6-1@~jmyYTLqCzH?0 z{tkgsS>g!tbW!+nOz2U?IsUB2P>#b~1k4{)G&0ZZ(H0ave|oBBPjvGv($FP1{FW93 z5I*=6c6xvDdWJwY!gDkI0y`w6r5qEzP|;KJC~V;9T|0?w79PvqdNpZBGc_@pXkIr& z8lb!7fcugDMp@(1F+YHp?&GeT)OLaRo&zLHkd3Gh3b|4X!0@sMTMRw*fyF~|E(|qp z&#v7X$tm{^_ebM*0sr*(3k#ehnN*oM7wXfpn+DrPsWUwxZJ+b?GS7#{@s}At+$=(F zsff`F>Qq%>Q=ni=rt@e$>V97=D_|}DD2?u*@zwPfBNQz2Aw`cPQmp$ykkQroAcmoVgaFMbI+ijBJ9 zy9u8JflP*fri(tD$4AOOok&czHLiZZ7)xQ^_K8+^D<(y?U7kc72ax!*zf5aav>oz0 zGdg1?Msf3p5=QPxvvu$|P+@h+!l2sb9>2epgr+o2gzN z!(g9H=Nq~*LK*Q8qOI}zWSJ?Zpibu@Nl3ssoEHhf>-RM@gGG?gas$-$B&p!uX`k?t zkjRO=8VAy}iQ3?u7Okp{o^Qrk-e0x*+I3(bL!&FY8=Zj8L$r_pu&TRAN zeA;Rn@cN6!)d5r!S%3GkPLKnEjt7Pv<9eAiHU;;x#ds#9H22Iy(H;ZEKp^Yo{cD8w z?-O)L2AOfbSmC4B*nhlTfyH3CY;J?LQ}TSjbfqvQj29+2B`5rQ82<<`;IB}y#Q$)d zpo!`(xd;Fi$`ftm{?`cP#0j9s&x3RRB>wLu+haNbaG!_km$VQT6_0fvj)-IJg%*yZ zfHfz1;12vBkz#q@=b&#bz&qi~A(4Nonz()feFi4U*EbzfV=;yc83PPmHbs+ ziYT;5#ZH(<9BXdiDfNZ~zW(>vOCcJ$J+{Wva2D&+kHZ4v`2aoX^O?ujBG9M%nz_>N zAOE{s)faZAUKfsD!W2Nv)wnp%u3$n@db`Vkf#?1?@eddVWm9+_P7 zWTPj*eQla`Qu)}Y`7-%SUjjyRYx{{6zN$;EljhYjKE~xF-IKR}D0eK-_@WOSx6l(G zmE?k-`$7j#eBGj8;VgbW4~n7*9Znt2TIjLq0a}5(iS$O2r+QR>okig1(pmYH*b@;H zQoQk3guli0TyUqSyO?7164@f$PQL_o@zREz$|9o1S=db7pAUmqW1E|wUXCp>a$MFo z6b{K>^z899mGa|}JQ>IO%=0`esg2Dq>1z~N6}*~yeofWx-%#4$ecgZ2c*Q?iHa0p$ z83x5pC;U}{%0E>@X7?U7l?e^`t!ka z`hw0f^y6c5{2hrd-hn_J`ZqAMG}2IoAae>sJrG4$)&Jb(oGL-nnOBg=D6jA%WgY-V z%8QN-yUu~yynd&22~t}7Ap0#E;IQiJ=KCD#orM>gwGG0QBfJCZ2~piDtWu@l){bPH z9eOFo!z@Urr`R+J{N+MELf@u7^TsEb(X}{&h)FO|G!nZ%mz-vDq5BxZ)Tm$qVH;s} ze5=n6m$`z=%*J=CgAyK)VHeu|T!!D@FeXh2?%2ZR^gD39e=(a+#HrcLUimwT z1@Y~Uc1$%;W5(@nxtMkZ(H8z#whbHIRh0j(K1`ot87Y7z-mSYkyW_iFQPeHExNp?M zzP@EAWaqzN;{JTyJ*qgdf1Z=k{|~NL1-LtLMT%!(i$m+G4W^;vt4}9tVV8u^H7i%6 zJf5C@m>Q_;ouCI|&K_n8$?+}l{({|0H{4H9w`<~bk8b7ZeqP2AGN^}@^JloXr{qq0 z5PYfF`0)vQcG~{9ofIiK)$UGJAvnJ}n{<8@iij6^CG@hIvVBTz{RK}PgWFG}-mBf< zQ9nGZAvMGW_p-`u#4-tuE~#K6cdpjx`POd0H-)SRODm&4jAz~GUwr5sm$v~hmJMou z9C?lRa_vvwLNI@;%534LD_`WfDFC?K(eeKJ>@?=sYuWaTQV%Mb)kuo^{c1}dKd&aV4lQOlb)>#p zTc*AeIhlse9nF3R8b`&L(5)>jCscQ06Po**N*X0d5*vn)puqluER$e4QNt4PwlJz! z#k~oiP@)!1uxIv!Ez=UOH_hxCi3k!;sB`PBf_|zmXX6dW$c{&LPrC3V6*y2FNEdQh zP$&H+nuDZdRA-H_gHfQ&=CqvHv_!0I5XIAsmZ4g)w_Ry8iIf}h$K4qfB4vSX_-Ip+flUFZA`+-!8`j4}zB=sXWbAe*z{F!) z*VQgtCQ{B>LlD5FzB?HUd=A^5JQ2`E)@*UqT=eFtRZ2o#kz3mWTHO1N47j#C)5Slr z;d8`b4uHjt^m#U`(i#77a+llDjI3HGH^;xr|GHq0HFlH&cmbgYPp(3#5^B|g0r5m1krwb z9uaZc*Zp-Oml2mGIqyLhwNlhEpXtazaOQL|JX9zmq{<57u=sqkP?S2O_NquQ&;LLU z?`&R-6x+Fv{%lIroxOk+f0oxkddX9$&NO~hY8!Fc(ong^C}BUS0)lNPv2`mtl7zEi zBwm4*AV7m|xb{AQ#AoT(q-2F2dytvJjgj7`ZuZqAQh|<=a`i0L-gtKMsE*N6USYao zMu4i(HlrdJ-Nb2Z;}Lq7nk&B~^pcdGdp~UeH$|A26QJt0-WFzyOJ+Go-5TT>l15EH zh8<@9)*NO=(MyKtnyUzm%d=T`8ea0DbF3hok;E@TdYTDGqr-qUDZ2P&19fdJol!-_ z%YaAD`6lz9&S|c|*XE$8hh6!s_hFix?MeG_OjA&WGSmlnR1ocy{l}R&6S2 z6@*tc5bOdgQz}4dh96$x6QqqOeOzkG1U7@#wqrn#*NspKSL|KXX1SF z0fZcXO_K%Ya2suA&%4U={y>Mzw zcXHWd<AX#@cb0~N>vOjTGg8g|xTHDS7B~OJEcY)zXngBX{3wy8Vu=9F) zG>WjS*&v-8WAkhp*o=WUoI^*MThem+YI!E)g_&RiQS%sXOrYz_sxw%qe_-mq*E3RDCPcM$Nskf;-*M{@Dy$Sc&CIqznA%&Ahgt+HhU7`T3j_wT5&m*=D*utF5Q- z`5P|1&Fg)Ij>A;R{@ixhG5`wONv!lWKg@KgveaD2=>^3a+k7eQ`vjn@N5^u^3d887 z9p)W_cZBjq)hAWu(^y%T6oV-l<44BdQg4U@h30Gl?h`hX-%<2VT9d&Cht}KNZ=2%S zWy}!_f>4-+Rk5ly|D%lYR}w5|r>}Bb^3xkg;Xo)(3`XK@S(We;R@0tyY`MD zlxSCRy=vvYrbve458z5qxqiXve<6Te6HXy-ABwFKEwPTpVDv2lXzi)CzhCdt`cvixrj=geNXgzr?6kWd{k(m@Y1~Gu8 z8SFn%XQo;TP&e!r+?UyDl(lzy?$*hu;&ZuXyKX5Tye$!SB3_%PDV{+{eqPbt9`*;g zFXOFLo6mQiEwV-a5PwRRYfJFcHys{=j&E1*FDg`rUR$~!-*X_ww)dXq-*(^g^k|j5 zk`vJrDXqLUXL>Z~o00a%IInoIMq-dh8>^g2Gjs-o!vM@FBOJ+)MKm#{Iom(IA8X54aFRN2T*^;+vj1XasA8*Z6wUU253IPo!71qyfoc* zJvj!M<>!5*%m&cUB|%PxN;Jk>DY_O3FrhO2E`*Do^d*N*ujG9`5vi?K@TWhbRW)p* zRNBCLA=%9Pf_8P>7EB72Ep?JB*P`L>X*by`)G(G?b5DY}?I0;je5G``_G7;2`z+&A zp|)0r3|P*{${^c_SKN5CjZbKZ{MH_{>5|(q)?_)Lhx$*{5MdDIoZLd)h$2*zqMGIV z<&v7*?e@{bl|!Ivh{D*qg4ZzJk69HucUalIkpNjx2>zphea%<4M$!c4=U|69X z6VKlVU~&{-BV+*kF+r&BHQW)sxM^$i5Eh~NNRbfSn{$ZxX`6%(SI9jR@((WJuc^-B&`C7^ag-FH%mMcg{#!E=iO@(fnS^#1lR7 z{JiYSEC9cknUD8nUdn;7L){rQO&+kCDN6>+p)ptd&zxzZI*! z{bJrs9vDaD_#1`;8Fp7oUA<|A&AM#%d?Bb~WMYEzP4Pz(G{%S$8?Fm^rt$L*h$KXi zIkO~|?rI?EU2uYR#5sPp9!48=oD+Vw1ZPY<$;+kV8`0rF|9cBRD{p7N2yD~m*&?u} z9SoEXPlQxi(Nu#c|3fL-U_IF33Zwq862e;yZQJ82bSC#4UdL3S)&r$Yg3h0*8dg$F z{K}^LU^$Ggf@g_~j{LlJ|3jB5m4xB9f{cG*VmurpOMUW}%5%ST*gwH2a8%a@DEqJb z7oe*wb-dd!*S{2zPlzQ2@4rg}VIsN$HCVph87GUXOyudPzT+C8pU5Ese8(W15PAY% z+8A`36u9bsY5&P4|G=}qnDVbn=79m(dO8iFt&e)JQy`z2{u85e=1e2|pY^p&|Ber_ zP(m1bpB9;T$ac5d)WQTDSOyeUnMkuIs6&Z@-M$J2eylqUKw_lrc=7jkkg7A$V*(lsz$ADxY;C+DRT$ z1IVBkKW>09no7tlKm*oqXiC`AjH`1tvc4!utsi2XrTn=_7^I=LB+4|GDb<*kA2Ix6xC(0zp68g&p>Kkb%S4ymNONZa=+Wnz3A|G*DWUR1{%?P$$5}qpi3nkfcuyS?Xvv=PMoh7_!QeO4D40;pI z81jwW+8nhDO?6CFK1qxg#OrnZrvHlZ<}&A(^>>GY>1vy5`@^!d;_P+IK$sFL)4^&a?DRI{l$aPc;WPHU$JAYV{2Xx5Y_!K zsWF5%X;e4vS;uTJ<Z(b#aYYJ#KxT*q6`2 z62$dh?^?G>>72KC#YoMoZxd{ss$)zZ^@R2|dH>ehdtP;&8No7=9D{H4PPvvaatky_ zrrybctUf$5|LE~7<@Cu0#lJT1rRdFj?|QZ{&U;Bm!B0P-7O-$6$)n3rozYc}%`u3F z)b!NOj4}6wG4yMm<5(k)O@$COzkcQ=p?Xw}dH_oo?xD8^mm@taMafq2`j@t|)M1mr z=uO<1al6Unolm_v2ffBZ^Q<_ge9Of_yK^;;Xm%)~=kfT?Z!%E8S1@d~Bk!GIEIii< z=?nJ5>_vr3jXO7LzG~Mfo9Ik{i|oR-P7&{By=~R94!=$4#YLXwN(@;uYGl%*Rf|*4 zMV8J5&OD~~3UcqZk8M#^V%>kBI6}fL(-CbuR0FrG_SQPwV$kB8S_1Q`p-(Z!CYWl5EIV6*g;H&uZb~Es5?$#@V|O(g>k?{!e6xBG2v2+?-pYtN$#!>ILhp3{>E#L!?OsBLqIfS}n)5(C9WE;N92B|>Y^~+OxN(f0m7A;I1AT_PhQ=-@j;ti$%D$<=1m0@8{s+aR{xxFwCr?-w z{*nbL@f)IP#ny6-Vdq-QLZEs4lqJ!x%<>BSi1+qLLCM=P05q;@lw28fd}vkHFTc^5 z%_h$p0wJa0RpaRV5r&F00P*`+j+ti(9Z%8@ODJf~N4u;(%_WD{onga2W#tSOV#9^} zs?@P8qUlzo4xLKtQ_eP zTMln)-us)auR%aAm)PcMkvXyxcv1Iio`Y&m%dBRO$smkgTB9<lxY zv>0xd-Q?n`y|La!@3&t2YrO3~&1wDdBGzJZHyu;P^UvVu(O^{Ay>+vzmkhk#D1$|H zxvC~cS1QwOb%6VIy)3APp-IC?KDv9@Uf(Y5^Y^blD+dQDxr2-&aD%+1kj%)3T09Or zB=;wYLq;*;Se05niK&UfwyRek{=~itiGT#Ca*A`YYYP_Gi1cjrj^+9er^12S zJZA6a*#pX%C|q%=&g#wPatvxEAj7tRJEJn;(V6c+csdorm8AYr^Q`v8iJF2F*(1wr zM@*@6zAw1mn@q9bIZGOq~g#5msLI7$Y^THlkXQIl3Z=nrQQxWEED8eSKs*G+tH6 zIUjUl<>U9@y=`WtY4UzX{HFKgV&>wjY$NfosXVMm;vSh(rnd%NK1;@cAXie3h)S=j z+&N`G5f%$d)c0Og;+B^2IF<9e01IQD0UWgV06L&v$6m}09FOGvZwknB`OYv<9Wciu zKT77d@p71 z-$_eXzJFT9rjW(@vo%ItPmbCz-6(%ebz!L*MEPwQ0b4L<${U;<1NeFkXE=^=jvU-+ z%Z==1PhOC#zh(cXI@n>77CCh}ns;O;U{L=4hu6N(7gQ=mBgKlH$%t83xJp&UK6`qy z%B)Zi;C%2|O~0?ur@l5GW`uh!-enBGpy`VtSGzURfF?dJd7?RYj2Zq|Ys*dHzQa6| z5&BYLvrSxs%$C|d@QwQNQ2j9CaoCf*=iQR$2Om+5fnIAQI)*0Y@@EBd(Y!r;1@bCN z6*5TC`d^z{S~o}vtTPLB)9EPH0ODV~Gb(9+SZCi8@AodI+0Rm{{tT*4T@-0}t9OWe z7>J&E*sK70^FqVNUFTUPed%U2oj?^Vx~AW}{@Mmk8@AXsl4}b1mYN=KkP*wgU3QAT|$h5yeL{isY3gc#23~Rw{ z9|=V@Ja=Ve7anL}x~MC`<{ErKqsOYSY3ys0l;e>_b@Q`^*e)IIyvL=^U@fO3am%J0 zT2qha<>`v^DbKzY{t839ODdMo@1bf3>Epx>uY9$Wwv>FuUy9Q)?5whUrc5Om@P3?s zqBHgU78NcuPMqsMRz%*a-qQ%bWpU`7iAwRuHF{xyQpg~%M@0FrlIJ?@9j%xck!^8E zJ;QEU4n7`weXB-#w~D-gIj{Z%hN6y0MK^3ZV9A?k&rGov6;P24j*b1>o@hZz zFlPeap=^C_%mUadLpK#W=YnH@@<7P=@_P?AgZ~>W>S~0N`*+JH<}<+Kf?vo<^`AkB zpYt9Fl`K*Wn^aSl7G&&N3EfPvuHqE(jf4`ES{jCF+Q2lq-}X`@!VNqW@+-I>#eGXB zkvj}}t7zsB!)DU{xu}78d{Ii=MprcVG>ItT+xBx3H0kX)^BjEIl_uBbX^L^5obxmf zB_h!AUYYA^XvFLxKVx!KTv6!|6zwT%y3e7Yf1b(NBi`{Cg`RYoxprl%lJ`2PUB#9#zkdv*m`#2 zwOePEUVuqAN#|?h#jK`9D;M6y{aG;;gS9HNIB`uZyFx)VKGsu*IVinDkMh{q_YEB9 zu(XuGATsE;s@Ts)e$tX5_M0vx$hRFw7Oi_B)h0Sd7Y8gUzH#$Kv2xKu)8NkZ_8-rR z;=Q#d3a8s^+AN~q?#;d!0l;fVcNf3TtS( z$wf`Dc%`G#=e*qc(7hxKzMH56=W;}PL!zB?dPS2nQv#&B29I!&{81BDsY_i-tp5!jyh*5yQxi@rvrZgrn?Y zukY)RzLGiM+zOiyWH}bn#$>L8PuCy7Y)4S-OF1SquL8{J>{K}69mU2Ja$q?P9$mL# z)s9VXVhy~lGWp?Uf-mz5{qnQwqPIToH%0-=xWg1@CH`DkBSaJYn&@m9>dJWWc)Ae0 zX^#5ZB|8!6gwD*{p}4QCn~3{lN^x&VN7O;5wuxdpQ}4W{-BZA8NvrZxtH07sHRdrZ zfHPfTX3J6c0T9sXdp4v|h?RfIlDpidcS%A9H9BRf76I8lQLm>+z!D#APD74eQj}Lr zm+BP6_pq0(Wr$a9l3Ey;>rYY%*h?|TUW9wl6zGhPWPcBIfHU-3J!bNT{ZJIO=x^6n zf5s_)YyMf}m)sXjyo}JF)ekhf6z}W|(b@Iuk+!ORg1x55qS(r@frd+znkK0!=H{DS zf35KJh5&w462gHviKGus^^g{D_OY5{u}yok?I&TUj^Gxf3yt`@K7 za!ZA?_8k0YVCY(p&2p$PuVs(y+ragdna7R#c-@(ctG+5E{(6=*8@|3ia{G^_ELz(zR&~+Y z+@ACsXrMN44o*_uJj|?P4YR!dShAxQ0=R)P6A-`31geSjoo&U7*1~lR$ z0;FUuyBCZ_c*LUKFxFEGo9~c+4aW3bZkrHZ2{9~hq(BUCNlgggnu~9+a?bI9J80hB zYWrGor6R{%ZciENtR5F|0nHciI`Jp0KJq-8(|%fSQ~w=5ni~zd#yr!fhE8QGKAbR( z1*#(;G(^TvJ9U;o4P2+ni*z3y)!aB)=^ww5ZTqB$n>zM%zs)6io`N~Nrx{2TgNe@G8@GD}kWCyrCndh&e?v2~Gh-dj~a(c=*Wh+u+&A8t6 z!OaWE$J}4x%IjaMqAJU6zSQY?sOw13gb#Pah(IGAz#_zD-R{EHHJ5m2{u-_3#2uod z$8>>ZXcW}WyFce=<*7f4UDmavGsOjG8}?y*pyPg4YFN{`Z47gjYMn3lkd*N78qEOI}~n z#^IMnK*($dYgjA4j8DEce0_E0!H+)1(+x&_IWy=9M*nc1`{Jz2*jZ&ue835PE(jMnWro?4owfH`>)Y1n+mdk0#(e*8 z$A1$O6Wf3D#_xB;#CFJviEU}xy%V^@;eC$>E?YwGm|qnu>z17bK5X~8VtqwStUP6} z;K2^y^PZp^P9b7q2j@2bxBSufTZWjJ+y0xsU%4CUzA(nax-E^FZm@Abpe$RZD}PFz z+IGk+PXlxE#qkf?15&4sw)mGh*x#|Z_2R_viQV=uYVEGw-2Uq2`vE@d-Aa+|2x*MW z2zFD8C?lqz+0HSpF{rTaAx3suDl}N$)JSdBnXSzVTje{G8sbH0X5YwmU`1k=4{b;M zeSPqM-u2nANqzXJj+g%C0+aS-DFq40^XF98?rhYT4h@8SsJc|Q`ZSol1^Bjk_ZO$F zgx(d&Yu-O!-R^LroVSq7v0KwmN9gNVVC0VG=PXjTZH^<`jAv9H*nFW>#>w5Xglm*P zhHkHuB|k80^YTL3J8nlu+Pn!cG^ocr5)5S{ZoPqJztIOX3WTB1==hm+_XiI0zEL4)aJzsiJj;)L6!7NQnGp|eh?n9^BaUwxzEB?db{gx)Z?B{SfL|VKh_|%FLe3@KPd_S?{!K z%x!C5ds~YWTuXyBEH!#^dxmF$G&4`UK)~oOJZCIH(2aR$KmDA3N$Z;FbxSmbriyv;tplx(L(3{NNr3~EeW zEN8a*oVa&DHZ{2VWkpH-g7q#6aw@DyEhoa08*&39{5fhR<-GS+D!r!auHOM!en=DT zuQE3+j{@k)dc<%eM|yMK=Lzrk%KDBWd<*2I-7M8#lt~n$OmUz$@>V9GyWXmUE3-Ly z%=q?jQ@t;XQQwdqQV>#2C6gtRx)u z93N!y$o?{Jbfs&vos;qcJvsBmwE(x8%~!tb3v(F1ryLV?M`wZR$_#e}#5d6ynGbM4 zJtgsuzXM~-E<}Q*SA>GE=Kig?rLJ?rwG1j+spp7ZO-z%a(v;^s*|i|vcXN+VY$y-n zz!m<(6&g7`^~1g8-fmHcGxcxRKc>wLLq;s_MRW~KdANa!!mk8q1i*4XTdojxAlwY)r1CE<7n6R=srC=;GSIdVS7N66D}&{8CGt}>Rkx4qmo+s# zX%TUkU~QF7A=>cogsOg4Q)i1BW()%FfT5;a2{ql^KJW+TTqxEmQvr3%ZI`3jt<4Ff zuIpHi*Yf-o@G7m@9eS_7~g#HlGQfz z%_rYU?2+B1@{@17|F>T6OG#^ma|b=Ka#&T-H%ajqiE2$o0m7eh5H>WCj-_;^NZ1;v zUT4=@Vk)vyn-6WS_4z9WDkQ?_*N@X2p1<;Y`fWn?L6Q+)q5J{eu#W1E(U|TMU72qf zX${~H%l_-MxR^8=L$mF;GGQjJn#^R3-4j1XDHVkYX3Apd6PD<|0-^l+dxG&6&bo~6 z924YLZE!%?n=}eNc5{69=9DcrRD(L}h30#~lrg0+Wj@XX>+c%$6NhxsFPNgWzjiv#=$-q|@i#bE2KoCeY)spgJh}Q6lI%TlZwoN>FAh1joDQcfM zyE2va^gsJ*IEIK&cRhj{^9+p=s)J(d8s=*yny6J{94*_=NL#b^`TA4;;?sR8r%2L= z=%9?11-3iL9XByRA);(eR+0in3R1g1G6U*)H37^Qr-C*Q&nFKa^-e-3UbY}+JO!UuYt8L(?LWV)lI!P@$aqrjIOmqM7Hutvs#F5H`K5< zk^|v>yEgSjBW%&zYdT%|#lNXt#O^9iYR_;6*beE??S5f)!0>}g&I!-2r4g;e7@dBi zYi#?`I{x|B{~2#wFfW;6x^dU|)_nU2QwKk)# z6A9D}Q%+BT?L?~W1(S`Suu&6LoM2kx>;Z#~em%~|e#*qVn^7J!=soeU(r8=TWUzS7 zYZpbzZQV8^8-6592YQ5!3%2Y0uDl5(_6`5oj<6%8U_m^vfKI=@);CFqMeK08A-%Q7_9lD4UbRpp%SuB&+H`zno;5Rw}5b8}$AWIfW9vfTx!x$%GKU z=tCK4;xeQG0z8pc0@I@2Xb1-Jf8N!o$!+G~k5+rFgE$@5Jdfucm$wnjSVC*R&&HBj zFbS?~Iw+vkfKk3i8V;nuO^$g@r2%&8iH;w+8S?EJaY8*)trQizXv#@3ElHV5am3y= z-5{=654V*!nQ(rNK=`+Ld>MIG5@wE)>S`Gvt%LIW&b?hy53$@i=wdq_$#3Gl72i6oUPj?vK7=49UW8>N4kwqcnNpwdN~QIqd}%TW<^Gh<0gh4{=(ZzxT)LP zVTB=AtxQbFyDxGZmlM|9YUUM?_;&rN=ey$Q=>s=UqM9KgQjy~~(0`kuBabR~Ack(e z%W+8TDm^KZCaROlOiv&_*&K#UaQeVk{j_-vdoNfOrn>8&_1r?nii~CG4t%!Gcv=Wo{Jr-r0?hStU91-Y83RKX*&1p||W74f_2+6owK4JuRq5sEUee?Tv2exZ(7Mx>@JE)pM7 zOKAy}G4;>qwP=jW)SMfikbKAQmABm7W6EOIbA1``u|y7c4l0~vtK+K&gex%XYFb%S zZvOL8TH$hZ>XMbx;Vioi!!E%zM&sw5)%6kmT>x)%&|OFLs0WozKkqn_HKA*|;bW8O zU^l@>L+^?o-dOpjof($t@YI`_brY151>(8Hy1JxGPRoY5VVqtl_Xdn9Pq0kt@3LZ8 zP|l*lMyCGt7J?{JDR+ZP$pU?=EPWb0RTZ8cY9lxop_yaN>ESac%E{oWqMqZW!63!# zx{L0j5z(Vnlm)9LF!wLZ_1&7Dv5bUBZ1qUY9H4j#?saJX@1~B8QligkJW3+OBiwD^ zPeW>VQa*AN*>Ldz_4C>%hk|6X!_cuv<5_td>x4eG^C9?}IkS;>MhChKpI9I;+8~WP zpTYTG3-GIfV?%dM0;gGTm!m^%Mym{b1x>K_D}e7kW9tNP?)kUr zJ+hVW`^<|c)*CdVY#M7cYru1FwKSO(ar6*~Xs@UQ=jw1NUSC4Zb-4eUA*De4;ffsZ z%1qMa4na$U|675rfY)w${Hqy!8zC>?MVcsQPkeASpbOUO%e2`C`03BqaHnG-A!gO* zHMp;6+$aUWUKQl8%xQCo@BuO--j9Oz+fD?`$rZukXO>4>p|~vW zI1R+3jhU4nQ^0YTEr4pTIR^n<1TGjKrna$<=$j?za zZMy=g(pqzbnZR+qA6^CT(YVIY+Gp&*)n>?pPUy7IJvUiAmDvqbP$IOz{Yu!XzYKUB zQwq`Fq6sxm3x7cR=7wzTgU?Q3@~hjTfUVWQu+FIb=kx5oN>iA|Mo)$Rf?*EtJ2rWW zt%5LfUbUk*{-z-_@3s&owZ%3Hc_R=DQmyZaJ@k$JzMLg?@9_%%49kvLI< zq!Il@0Y zcBUe3LP0^l&Ku{3YC4l!8WB}CBY)iEX_?@1g*_a5mju(4I0x7uW{P8dS;3Ur`p+e6 z)g7i*xj)HY=#!Jufuk+f95_Y2*u<-nKKE>3LH8`lr!ha!W?b*Pm$r;1bnU@$m?D3z zZ!U5@?ot)}Ty7J4E}MQg7t>Zv|H$C4JuhJRPc;lf=RnB0uSQxPg=)#Bo>zOUMU5wO z-7~^HY%nTJ^qm7$Tdp=}&HgC{- zGcv~_+*a!XGJkw(_WFr#=M{?XaWJ~CX#|&49M6TFOsE)9GKpR&xIQ?9RvYL7b{@Ot z-r&j~x!JwMDxj5FbC6#3qNg|M+}XTItQ9vcn`wx%Vuh`bnj8|RISae={B8r1q|7TV z72+}9pVwMb0Ef2uSS1j9@MBiNc5F57uxWk${3vN<@aS6aR5Ce5p(%~>&C{aOjU1^@ zTV`Ife$YF#7lfb**y0^-$CogsMo|v}w#$#XXnByd3uVGi$=EFSe+$C9F=gCdhD4{S`ZA9usi@Z5d%dkaNCHfh_9&dvD9*wI6Ot%l*Nl8vWlbhp1zpZN;CED9M8>M zcCIwLFo|MpfpnqYy66U`H*37&LN8$s3(q-p6H5Y>WQp>59<_1bP|pImrb8wpK3Z({ zXAIwN;7G~pMV&x9<$-zAj=R+xCdM(|wkB`b+JT|uY3+bvYI3S<5iQrPRL zC#r?oRQP-{ljSXF^}`HLV*T7`UgP&BwNeFcfWgZ?s5fwA-oLE5ybvOlwe1VeNFVF% zrgO2&S37(E(JU19A?letRzY`+&ZT=Xs!G^eL4GWQ4UqWspB*0Y1Y=ylXd#(>j<2$! z?Rs@JiZ@BJZEY|0P=h!1oW-I<7XdihJgv2F8=>JKdhQ$JxZBnknI&eQ-Gn*QhwqCf z23#9%TdugbXcOpWz}KVP1i0@H6;J)#-|4o>U5Bh|9lDD8dCQ5!7+QtIG^DrCHzIua z-Bg;@{nQ$tl3lW0s;S4_Ds;~>XlB3q^P092V6j|dBikW-W= z$FdREMBgT`G<$>({oIb&!)HX6CQ&5)KXi&7YJc##|uST*^1dsr!|Pc!q$`$BSI9{2A2CtlUGIQqv~4X+I|&hm>DPCQPD-|Y?}i)|%bG1UTg z9Pj{5|FvK5@z`h_*zVKdVT6avMD_DmW~(auG=W!(_#qmYFsOq%--pdDIw^BO2P3;+ zoCG+P_lZOEsrcoi@>O19abVL+xMi4jS(Kt7=Ss0C0WQeX*m%H2@?qN%!XK#n`Hhn6 zt6K@H)vmtbvUumch3nN6=SwwJk$x9ahsr?f5_+p<;&EVh+|4ZDUCXAAEH+_}Pv-K+ z_JXw;1%*q_jQyHHejs2>H>c7-H)uWz8tyt0pn5re-s#-Mp!q5JG!G)I!62Zs#8<>F zykNLDY_;}pkfjzFcw;lL@w~$m02k_ilvdWQdVU*7X_G0Ym8=b|Xp}Yuh{e%SF#F7} z_4^&Yobi{s+_QITuyGP-qorG;VZH_~EWqPhcGe`!ZUoa(nmHgQy-=T#%GebWUuGE= z&W`|fn4(x^{#G~f)PcsXX2?5|Pu5qLzWJVn6cLAT&oTFBqb4>es$h0LME`p;6}EinQbh20 zh62Ewh3TXoy+@?0adGs6H9_;u9wTgR{wiM-wZ58+2*L{8W zYlJS+yDMY=8_i0G!cuw32B(;v(HXNCTPWbXKz{AiDfS1JZ%|~71?wG{aq`!F)PX3h zJHJse|6))V?YbJfQ~x>rNp9vmCq{^!8P|{{R&cTFIbIuErt>HPa~oNjk4WE6Y$K>@ zJ_lb5-&)YI;-NS^OEC2THgWNij@@{zb+!ONGm_obY(k&pstJ$q=VX3^3El}alr^$X zHp?@{+WoJT4&_t}C3sPdgP(J*zKyzs<0GtjIJ}O{bj|WAVnKAMtxe_*E~u#zX4m~~ zgaYY!nv<+n1+zlYIt849qJ|)ORzDVzN|FODqtll^ANoT89fES^Y04s+%S;~@upa47 zpFy<+j3rdGRd(d$ma%l*XXhLLlv^O(F@EV4cH*QR>E!JikJ-zAtCF?WIrx#{fcc;7 zhvz(tl|gws`{8U!wx+RE==fm&)#}3ZT)T%XtpOH80WJjxK`aaQ##$G&&7efC z3qHd{t4jE~U4x5SAL&HVO&VY@NhR;XRc z=N-S#)~S)aweN{GeCkoe@!Wwwt`_w7Gbi%bxj8eZgE~>?yuOe+->hx;CJ)g7?|Mle zE}6{!SO6lmAKZbkCJ_vY6SK}YxFiO>w_z~>5qYeF`z~Is&-&zgd^`KPjh+D=fst`r z(`}Ry#|Rq5&jtBKn@|%#O}DUAGCUiI#J!X7Yiice_}ST3UVc9Grq>rCjgvL3m(1Ld z66Itj=vU9G6CVa(kPFmr<;UWM7ahD1JPyr)0A5m01mcd`5U0+VhN#6PaYyRQJ=fp5 zOvkQa8T1;<3#u=A$U|N0-7Fe$^K1OBybF-!>SsPo7zkqY2*dL6z9f*Wz<>8cxykVL>GimcE4gIt0xL(1gGwmRX zuzc6^G=&ypQr5m;Gnlf;&2RY}Z2CJb5`isjaH$=7e69a!Rm@ri6(8icKhMXxzEVES zuEdYtWXhVF$w7w~mb#u(R1kZGStMQEui~OpWjAgJ3qAx#YTYsRU5M@Ie2e3;Gl<_kisI z`f*@ise64!-reJ<%mOk*-^8kW;cYk?JMa?NTfoU^ZhB*>j;Qhng@%7q3-jpK8e8WM zk^?CPYvWypAy~4wUXY*9H5X1HVMJO%3NQ!nYlgNFDsJ|HyT2Xf#KQ%)eZ+^?3?!E8 zBiG{@3|r6JWL$Ik{3jxqBO_8W>DY7gKY@X%a2KnEm{|!9GdslE#nm`H9M{!(Axjht zzwElWX2?k?AivCdxT2~$rI;h3s~V{4xWX}|i=#&+8GZ>GvRa-3z8PnouQ0VeB#pgL zJ{qtntqNY6vh97Hc}r2FR%2**zpS0z#PSXj14i*aw+aN^{=$;Fm;r97u_W;_CV8%U zbdFh8Wq&V=q1o(Jz3@v}?~@sjUJ8BM(K$r~6U=9`rkeOx z8-b1nd)JA3V>XNxBF6_~bLzBU0L1)p=(%E0=M5~xp?;6UzDIZ7z-}rP-9Uu&2x64S z3}dn;KVGYo39A@$!@!ifS%mQYvuDK9m`1BV1Zsq%yIK$3%-oEZjox9U$5^TVWTxNd zQPmQoA{^^&S7F92w(D+%ZdU_u;+QZ~WEva2XvMId>q)<2RJ?E@BF`qb65BzeH|JKa z(}ENjx`SQ?f}Fc-CV91C#d~+|Gpcs(ELC*u!qgliQ>*>Xs|pDd|Mis*>E$rs?3+1a zCa<^kvPe#zi?j2U8zNdw1G?Y`0piOB)FxV#{>E*l%^2}-4e^WGyxZ4sl#?R9aa1H= z#Aix(o4yE(n6jP(z}e-(gL+$kyeb3nZfid(89E{Y?$=d)02mQjjHF8*9OdxZIjt6eGF4cWk+L4ib4-` z>{o?dL(q@O$onG=VPc_wSmZ2S$9F`omhXD_^_h9Z46(DMmYW>$u%(#Wx~GoGXUHUy zTc0PR+vJp{(Yx+{N=}C2Ow?I!HJT1()Puf`N^EQ5F#-k$yPwpdikn&xjWHgM;gdP7 z_Aygs>itzwoaOZhz#E_;I8jW@pZ*bv`*&FX5njkKIWJp3 zwY|;h7j+O#yfzEDDxWBo#--^DxYr$Zp^w=eNB<;7V9wC1_dt3sFbSm^bE-^5AY7=3 z)T@&e2W30yM0>`v+ow1)_5_a(e`z{l{;=t&8c(zkkzy+MC8pCN9U4X`hYT_5kvj&R z_dRXq4BT5CeLMII{}d8#iTUzVUQZsk)Vj9xp5KPzQcrIzeQD` zi(-EIX$A~V?H3PThV;@zf-W^7j5H>-tENPzY;n^b5cg0E#J}#pD4lO)qZ?Cw64)1A_yeOq`J!}qu{5eQPevH zKq48cl3O1b8#)N%^i**m3Gk_{GdGNPAc}5RDj>9FC~d;Z3ZidV@7sHoFtdj8xwgpV z=apIUyW7diOiG)tx~bgWZlBrTD9(zdF>gCurMRWhr*q%JqqDIyZNWnBM5(tgA`dY4 zw7=50pnIy6HKV9iW6u1G;SKo&qGvz8@AJI!7~y$Ut}>fDvsiC|T--I$uny__vhp_A zvB@F_tC{N-YAtJ0Q{Ds#(4w!g6)9h$%}QLbibYwBHjed_*kjsPP9x(rZ5A{-+F}}N zox;OCb_enIqf%=wTERtHD?^igT4DCi;%C{qj4@QH>EY`7$M)-GZyXB;<}wn&w7s9h ztnQ=;e1?o68ylG%xG(!*^~v%MRNn)OdMsPuli5V&bnrhlwVY)h=c5O%q(zsMkPNg# z(5pB-Se2jsO4AwkbIE;W#p`P%_7R-X#VCd)mA?^#bDMZWnnZ2`o#U;m85LwYRcaKwyq{qp;)3+^{X9KZIq0kv*0{o^zA*)VHoZf64BGg}%tMsudvGjoG8t5|gg z)23CLQAN%Y;viT4F0@54LOZZQS{bR1;N8qjwAI&hg1M?ho*%hWzRt@>zLvy$KnT@o z>n!Tz*^riX=qG@RfqN9Xz%g@9^LBg(ip zK4p&-qnnN^7l(x`n1uFcIE%HkxBAlCCoy3|4a*o4FX%&oHt7s*h}1eT@ZjPF+)v+$ z6?J2Vs+v=(yrqIGuxz^0MXkocyr_*cl(LlUigyKj6ZYsjWks2`6 zFgu_*U@$#EnaBqj-ziJ%;QPo~)(X_py)Q0S^Hv^MT#!#>IGi0hv(hU*3?&#&mP}@| zQl{FConV2^7`G$lNHq4&F8hr`YQk*0Lbaj>lJ;ExaAUM;6sV+;YtQVsk_3(&E=!$A ziJzB&=Njm5g#Vbl2Ooz424VE{v6P-~hX$kfCj#LMYq~ipX{1BlB7zKh%m3XOK{&N#?#5BECgU?N3P zT_2;H@?Kj%YKyBQ8gpT!0mdF$S@AA@(^pn|#?!&&X}`0LT5e8h3?4tkZIB|VHJn>j zgO@ejDvg;NPTxb0-Yu)!ba06&%1Hl2Mh}TyL|cX}twaPG+l7BmF86~jev2?$*ijW6 zP&##>;pekQpk&DhV(TaQh&LD$ZRXcStmT4n(XkI6GJ*Yb&&ccGyNdx;r-Tb-lx_5h zUm<~rK;4y%<1$F2+&57_Yckw7TuZ@Z6Iq7m^RJ)#!NsX`2W0h5gz5#+J&LSY%?iS? zH1I9^X2|#;IA=Xo+nV84=cqdMc_n&P;TWGjom?ZXvmtkIbl;0T})6Q`TM>X zW496}mp*~nRwlYTuLJ<0QT%+^jd^%81alpCZqx!>*K5F6Vm@q9=C;l5`pEa! zo2j3M8_Q;drq3DEl{|}f&fF9JCQDS0M&sSQbSTn%1p}NQ#mUw^bt8}B4r!B+0k_DI z+Tij2WMnK8?nMi#09K&QA!CMz! zu^x7*qaSpcNtpRLx*qv+`#Z^n?TGf6K4Kzu27A zDw`tRhR3BLpPfn77@Fw(%^V<-@Sv(9I+oyjI%vM!MwM2K|8kDE0u`rFK(i_XyAUbN zMe-IukLUK|gEKG(?}wn-3onZv7i7yVAsz7O;g^1x2g3SD5Bp((v7P6WI52NYdCaR! z{(`kw&GE)vh(dx}F*QNE-SQ4Eq^_*JSpCA>7S}sK+(yC%8JMJv)=f#U2lDQI*Jx&+ zD0br++={ypnQBsbX$#$d2^ijxZ({<)M@EGyQda$9G@+V_zlU$gc}( zP30<2`>)gPK9G~8Md|pTUtG$758qBsKUJFM?0%MVeO%A0{Y1UZwu|#C$Mtd}ZA-o% zplC#R7cfI*@GQwbTkJ;z6EN7SBzSD8BL@=d%TpBYlTBT(44ZGA)y4IP`a^dj%tw!r zlnAcTPBkvh*Lc}Xw|T$?YBM~`imZ-0m*g397Dw+YwtkrH3UcS#PN++0pDsE$?8!N0CcBW*Q*@^BxnS>v{} zUZk6m;Bn0}@P?%|#^L3*eX<15%F;c|MrLh&{$W|sfE~TID0P=MSXwLxO=yP9w?jtu z&JuqBAgI(H-x^4eVCv#iDUS$P3nVEiQ%Uw9y*D^diEy&8D}kOhmo_c=Hh8ShVEW-h zyuEm9N}1?-?0Z37{4I20Gek(DzbJTcxjuz32xN7jLvBmWJGxdt7>%-MJ>9s|&F^IO z*t~$$oc_D`E1fnoy>@aA`_=fzTQs=3G3eU$qK{Tv;=t6}48-A+&CYG#r9EKqE51IdVMdcpC&6!JgWxOZbTg~{#NlQ zvGX$2!@z_-C>1f7sUb@E$Z{6N#-arkTFNZzxtH3cvCJY2OPM5ag_rx3#`LDY9MDug zmg~NsAH91e`ZrnHJqdN=n2>DEu;3(V`0t(08Qn>Z0E7mLER|D2s#m=r14(8NX`D2s z4|Geh)ssra+@>%aSxuO0Ff`=h*UBNLVebe8IpF!EJOp>}9NhOEut6my?KG)XkMcIJDl-j5ao%bwc z;z{{P>!&JK?MmIG-c6w{5Yg{1k9fnZswT1$l(klTeO4X&qKmpB8f;MtT(tFEKLMRQ zyX&s#0lNA?N0D6$HrTu2bq%#MN#=ae_H+1)`(-8U%98SL=J&cj7?ZL+n`Y~uR1$_( zO=P>J+gwU5O4(Y8A z(H^qUrNk9TZ7*`5a9W#GkaJ)Z_c7c(1?1#T5$^EwlQm|~-gA<%Q!Wo5=+l6EE?&K- zemZFTpx<=`DX-CCfnmeX1q$5@lRM&?at7d<-RxSDxQdIkvSZ^R02QB6kia~exDnr`%5Pd0sLH1e35^g-;$qvgp#-JG5fwBJEWi6+yt^xE|%i?P0#OsY0c zrMeOac#4?YNCz*Kg{gJ1!R*g$(`Wma`ps&|*P%7MDn0`FMux`a?QgQ#@lM_40Z_^q zS{Sxd%t>P6PZ?xe2WV89;C1{?QfA$k(F>5FhNoH{Ti(F|BXjW-P+0jmJ=_ttp8PQ& zGR8mOa)p`3!lO-Nz7={rtE=8d-!pFZtW*+p>zo^R{5UcBrK2@sT8-2Reba5{2>n)`% zKgzn?lz`fa^A-#R>HLxIq~6zcx1FPJGj5WUjd7DkeM?=92-t8zkxjSgfY>Lg3WK80 zdD{qZe&;7C4F99v@(*=_d<;tt96qdFGZel{Y{uRh^l|07GyLPq4QJHkfR^yR&DQ%T zbj)+^VwP-f*H5eoo}l~AGIDa^tgw~$ca&_C)aT)slVot_Nz@07(HQZ|m0iwC)iX2A z8jWk}Hiq9V<;1qVCM$Rwza}e1tysZ7rHV-er~?Vqoo!Zqr7@D3jS1 zKv%@GBv!vSlEjuve;J%NC+tLcFLhsntUTP+eE;ty?JF30VzB4QsUx?Q((+Yh;$sHy zr9MXpAJ5iyg@YebAQB;Lb+HBI5}Uazn-8NFt1`W))?1!z++e0wxwjVw4g(u{ckXFv z>YbJvnK0X4)_^`G(`zEvE|{$>CUpEgr#}_3U$!q!rTWa4ce}lzugS_$E7penH^q*4 zdt3ljUOkpE8uMFo^S%O`Ics2nvv03<#nTO7Elf$5(XVY)?14-o5p ze>5L@VskR66B*H1y2w%z+olw>{mGTTXWowBEtX;Islx5|$2XN}vkckbS+fR+x>D1D zMTzap1`2a`UK!uL8SR`VVyO;MT!|-f5_(&kPXKy1b3_hk-Z0X&s7y)feGp^r{jIF0 zx-0zl+gg{!DAc(wo`naL8ouNI<++?AdayZjuWJ+*c2d5$po&m?PSr>^f`4jC4*NeX z=UU-*1gc(Ga&F;^84Kc^hG!kg$9hh&3eQCmHg`D^;o}-kEG>UGz(xP1g)q8UD7ZW? zLFkS#AUE>e8$=s?&IUU-$ufj^betG6Q9mhAH$3kpcRB078@^_~9U<;^FyD=!vx*hY zoO6o|jh*`%m`*{8vSQWzb?YI5cC7hq&t5FM_{0i*`4k&g!!B6!IKFi{T7AQJpan7j z;ZOQe#Fa#6$Y=O5?1Kx6zND*s%ygRaw~~0US#Sx6n&A}Qn>KaOe)pa#%l|Sl z^!M>dY7*Y0?@M_+IT2M)pPxBi?Upxxl)y+=zPcdQ*p5Xl6z@c+kM`fI5%p*+l_*c7 z6CB#$jmQ$dFcH$?STVBPm#m(?trK}{pJuI}x%>D%V_2W&6L)|`|CS-dZdq)WRjI+dUc9h)xAah?LOt>|A4oaBM0z8XW^tT7t=i1@cjMI*m9VGs@u` z>rLBm(1{=PUT9~M8MniQCcf4Do!F*j-3~}t&WF=m2|kXqy^NZLm}7I-DrE>Xe}+JF z$0xZw-6(D)6oAIwQfoO3YBHAwlHsC88v^iY;)EAK8qh-}MjeKoP=Z`hjV##-9qUgC zvvMte}{mPI$mEMIoEA!f4$4HhjnO<6kW@E4Z+P%D4_5Lqy z00_A@bUO{oss(SXI}EgYSfFS+aOjo_%1~+pf2aw_H@9MtZP=TcM~Q zHH8Zk#*T_|_JXGqB=G_t$$2gn_T{jc1Hs1i*W}yaAKdBGfj!=8rrJXU6OEYm5f0G! z#YGD*O~bYPe`d_n8G&iY#-+it$#fveWOS;V@6M&m5D(2H{#SQq{saIUK_g8F4ZrKL zH8WdN8)ZSEZ0pdd^LX*Hu{(EijI>&PNYBBnVZWuPBNA%Nie6|OEtj*cj|gkvZeYvj zhdU#a>)hUQ6Ts?DQl{{AgkDjTN|^H~PDdXFGCf}DOWY}|=P-L`|MF%7$GTouunBF#Jn#>QZ({2)WWkUFt zTg~qifyR>mShYiXiY8%%p_TUg!!?w(bH*2yBH&NcVj7NZN;7mjBF0VL6sqJTV!>M@ ze6-9-4eAa`BLa#9GD01tr2flr>1(8+(<;jn)0*Trt`WpHZ5)x5Kh;wlL9H>pBDka`?_qjI9#vDe`* zcH3NxEwQB7X8yI7cV}*he3GQY#-#w%SVoV5?yusVPsi|af(}(qFIF`UteS1r&G}+A zWXv#frp7lPI`{S;@%Y$Wu9EX?y+OJs?E9OUVJLDvsXu=Y_WJCkS>7^zDKB)sYC2>H zPU@H+h~mqAdI)kREzq8DH&z`coDWkiJ=ph!{S(-;h{|?o1JiI9 zJ#!=Pbn-TA>D4r)kp^zKN^aVDl+2pj;goz;CAcUW%x4SEz&K1=8@mts2uRc0CdN46 z98Hk>MV!=oL4Z9U-uD)%iDjBN5o#)5zfrB zp0F8e7bAGw9q8H&fbq6`XJM5#xi!#Se$C)y=Wv>7vY~pWbj)-B#;mh;@#j6x$fez# ze%z5Xh-h?M7IF2*w;+-}x2+fll-*LX<{(QW)Do@#D>uC9Hk< zWJjp%_sI}Y9KD9$Iv?ZM2Dewr_r@ygU3~b@vH)MMpf`x~uJJ92Q8D3J+RefM>j^n$ zZM^s~cyC*#dCm4@{~@IV#$^@4B;gVnGbozbBCiy7zf+GhlkpaN;2m)6{@b$c8)?=^ z>kcsXCw1^Xj-lD6rnphDDtF)9{|PBPkkbpe{$G&sUkST9o}vD~3p}*F+e$ba64Fxt zK)tT)e}y3$pPD%}T1(roKh^&Ey7rKyo_zG+@~F%fv2CyZfoR?r!|u!qPX9An+Xt&r z$35~SPTDG`KMO#1g>sQWNkiV0(X1_E!dGM^@5a}Tv?{Zl?U!%wbWsWeu(atHndx3; zM&Eu$+=Q$b?Gj`woz~ar0%IwZfwHewk z7WHp`1soD8{$FP$U!whEr6Voe^G$kZm-t#u)p7$+V&jz;5b{SxlV9ImB?f$#*xh|j zId`>H0C5EV?nnOrFZX>_W;G}JzH2CFiqm4qLOkPA6_9S6QoUb4W;p=y(_Db^GO_y~ z59?_@&coXxH1vs>oqSuvGxAZ(g?~3p<^t_^vAkb-!I;gSXQ>1O;INv&NBRuNKxjOD zra@Pb0p*l65EMhhmB_}N1t}B;_E(MuELafMVN=IkXTJ4Cqjx0|bNSb@VbgVx?+?u1 zbP0yfbJpm#0~A`rcsvJ4a{04hn-sqOy8D1^O8sf~(KQ>RSV(vM$q*-_(Qf_F*1FY& zZ|1aw{VDG0*nrE|Nl9$uIwSeUxmv-B+2o>IL_(iQrFG{p*h1i)BKLu*HPVJ5AQGO2 zbkxurhC+x}CN?|roGQE78dgTrwG!Z!EMKCBI(E^e&g1Wi566K~+Yxf?5b(sSB0i8+ zj0`Rjd^6!tVG>~BSAH9=AUP!vs#6%NfSKlCuv|$b_BL~vO7OhV*N~sa zi4*fq41yO%+Ra@TNQ4qSC{5KTH+w((n*N^U?a!lnxuVM@t}Cvt@cDL5PQE%`CU7&n zijzu#aVI;a{xB!3*y0W;vvC&{Nli+*Zsls^QjjFtSaicx2kZ)_WdEnYT?9uYke~iLc?q*Fal)OX-b-^`+V4e}?9>60;K+GqTt=m+jg#k5 zd|}GnUEZ{QyjjX#%}yVsONA-vG&Jg*&&nO?(dVP7eKOt2P;=c?5RO|2gqTcF)YPNp zM`cC151n*3B!uj?ZuHaPNG-wn=CC#H9SWX@y8G72;G$AOurMF`vHO5YS z50MLVYuFfO0-?sVTT-+Pi zrOgy(HM>y3M9TnH%YCy(IcfJ$xWR9wt)gV%CZV{sr6z2f2a0%}7EgdXOJ{L@ot8N{ zhrz`__3t;VVwdQ}gd8blcW9%l=i-~9sg>DD%~^&QQuv{1vs1nK#wDOkpZp{sy3^LI zs<5o|xzoT24T-_D12bbJDqV2>gt{ahRBDS!N}8xk47qc+z2gz@x89uVBHr81@vbcPmpVsRZqrQT9c z4X?Ao-bK@XWd)3Es%_GlmWx4tfBI=p9bCvae0ZG~qJ1Nlg&#DvQw&>PK;xgUSb}Y8 zMm-P6R;r3RoXZ~c&&PwUSKk(lNf9elb-au-O5oZogQb_ift6&&K)RTlL|Ny%o(+mM zQnSJoF=5GLTM3IBjs&;D{+gmpX#gnNl11FQWNI<;qS( z>6M3{8=$Ihm`Tm$%svJ|=u1mD8j*Wv!!=+_orykScr9USu{~<_U5yC%p#DX^uojJ+U@njGPmW*N60;FO1lG zTC|{*H_@dXh{O=pHd`*Gylbe<<+~Q8785+Vm3*qEDwlc0S{HPNAP$!)WOsxs-{AWS` z%7^T6{|q+v#9OKaQZ(@o^AneV?&~yvfEAL3V?{3Yy0(IFqjD3k`PKw2@bsQtt+hUu z-vRne2_sOo1%wSV-gY2imO(vaE1Iaj_sZC_nz;0qfVS?qw6!TC%JeB2JI30TH(~`yD?TTcav~8Df zu6~{GavWsiLzQx1e&?{gErE+@tZ+%hw@a!g+cT9t(%s1|DjiRMlf@)(9EC>Yvs2jW zODb8%8EVn`X~uVe1GnJC;QRTw1^Y{2QaZg^MdsYasrs<{WAGa z3Jq-pXH^|GU8kHc=oM_4g__-)P%F-1?^ybQxy;`SI$P3xkBaDU?$g}_1uI4e0eS^~ zza_m=^^lTeW$$et2f4u@Pc$7oSmi`2-SfT4KNTVPAvX!QH52~}`*(!5Kwz}NYwft^ z%7ma^G+!D8XeR7?LpIZ%hDpnW1#Z1{B1}fJa?v_@8BK%-=}re(f|+#(gc=W&eaHAc z+_ld(!zx4R734I?J<>~(*Dx!;078=ns#As9-zrvZ+O*r1RO@% ziYn0t6Al^9UG;zXm(_6k<0imZgZ?ANx=t4aGe4YrSCgGHxol78C1 zYS(K1z27$kr7KgZN)cgD=L1CON2)nO4m?KedaVGdE50|eaU#8#qEt)oYS{XZdupKj zG2WZ)?0>2G(0EYlW%RA9`C8|g+tr1HK>!UHd5H})y*R~49ae({#oc>iA*7!A<&y8Z z*=~^{$5ddj@#|JNw8nFL-9Oq4j~ytxfyMqtzIc`d`P-gsEe~OVkYE_W`p#hQ6si2; z`q`vPYNrL?2)aVnSbK5RfSCdV<^v+fxL}OH9$x~nMkL?7UX)$BVYFn(1{Wbsn|Q=; z+hMRG0K)`v=5?0r^yu#_oG{f6Ql4FbX;SxWIaIFFEHu+12o=XFaAW!3ts>Ne)9aff z2*c@@NfIAoO!5!$uHsz(G~15AY?oqB2%^l-$9)=?UI8rQ$rX?ikezMT4K<`4cQqr) z^CbKW`pUu!_;+Dmwi!Q-ASE<|JbO>7VR>_*g}_c;{|eRjFw25Shv9f*#gYX5tD0y5 z(~!JMy%=jd|G+NR2k!1npKcvqmc*^l<4$H&iyVk#`)jo&NE1Iw(BsWoIgghniVsa3 z^Q*=il^`H+IzhNSLvO>G{lJ}ymWV@>v^En_5g6yIHpf(G(8Mtl5qzY*-;D8GaO5z* zZd+sEA}Xw%^4nH*Nl57b{lEH&4K#*Nc$=?!2A*$a;WzkJ2~v5V`HZJjdASZ|%0*7V zz#@TS$0yUmG%=BnqMc6Gexf+8;0zVo^Rh_T*bZfPS8!qp?YIYyvUY5T&Kq&z9DfbL zqsP`jvxd|pafa%fWTo5HhHV5mfq?}$G0hZVb=#Zvmkp+UVXX4IDZz&~5z(1PZM@D+ zPprPZCkvdL6*ZA38>n3ZX}|3WVQq=^$ps7-Q{8fBsJ!7G%zL1@p?vFpu zTiS7+SvjHHXWW&TW7OrKo;kyKM$)BuC`k&LN^U*YX}4hRIX z0ArI3(6VlqdB=Z3BSufvR2u4r4Bj<+GN5GK73%A6 zjC|v+XKuLYP7Oc%xFA)nU}_dF12gvAsHbIOH&TDXZYfCxouI{r23{i^&^2~GN$7dg z893(z$Cq#%Ur$B1%g#O8n{^KsAS#-+J8Kj*Mdr_lH1+q(<(ziTsqm`95dzWaU4gPW zjesHY3Nm_R5H7eJW%SfomkB8W0&%Gnt}f zP71x9&XA>4;m>CM>krS^jG6K=HFCc$-29|{XLK~Y)TAL2QU7ekd~Ui)r^%tJ+}Pnj zI#Unc->jVfI9{sSFU7<*H|+i_0Ln@6dlMN_%)<0Hc`1&YduJnBOUk^{aGCf%llV_} z^v_mNuh#HB_Oxn16pu4UYh02C{SR^FdX_r|{jrclr)^U0Q#5h{`_MO2qJL{ol-q$5 zij;bYRP6M%xUIUeZij!eZ>ZXv%5>VDJj=DDCjPuyP*vLvoRoc1=XZvbMw7O;U~G7q zDjGz8I|c3B7x%)Q+3!)g5KfiH4P3H3&FF;`T!E-v;ENoa7>(LBHe*C)`wf&?dj<7O zJ+_#?DXmzZuXT~TB3?$I8)o`>{`*SNNsF@-RCnzzmPnqfV`8Nz<=o=gMg7 zorf_$vobp@^WM3B1$3414nsqA^T*v{Q`}*Zi|DD84#U>vyZ2YY@at?<;F2`VktTdx z@k>t#OLQej%FkI;F@5KqQp2Z5w|C;;ciy>kFEd&uOy*t7Z%{`&V_Yws&vrf#uI|&q zKnz^bnEf~gdn}3UA9>n06Ke4?}PWH}g#^v(%S+FY^`kWeex#7#d zg6o1CXlGO6)I)DXALILJ&rbxOpi*&|*sUOv2h7u}+AUk9@~|){Wv=%{Yj43994eEY zn@}L#e#t#HmtBO?{G@o_xlt2&S(4@1Q5ChTXzx|;#|$W7TNoTbJ+9v;%hR^LqUpiW z)I;S9h)nak5~Pa?G_z4t(%$Ax3GO?kVjV0+^AXzWS`>5^)|6-Jizg#Hyi2=(tFuAl{stDQ9a;~Z& zyv`>He(GKCl&PYITRX%31Bo}*t>&2*R})XGLpH}rb`BGxFd z)OgYZacwjN3Z-~a41H2<*kipBsUoh-%jg|%+td_|y?1;hxoi65AjE3{!AycZCgL3h z$-CcHxA}Beoo(cK!m*?_Uq?-(HED+5#L4jo@z%w`kzDg%ViDiYAF&i&?%gU(jv|SV z&dU=?g!kNY_mx%;?NSlBgB~1c2J{Xd``X7S&O1+r%)F;l&jESK7{YlzT}|jXQGH3y@c*l0^7H6`9c0g$MEKj_y|OFn~$TW zwFh?gk)vY270R|e1eL2vot1MuPH}d;UF~eO0NE?QL$#Q5#+gtnSmd6$lHHmbc?C z%^A~aj%p)-1!?Y#xyeUnuru6`lb&jt&UDC0GE%AwPPJFn7s{f0T?!}_G;k4i{X$9L zLM0c+XYMIMNJniKqeh^9%Y^G^h8i+^6i%TBMY%xJiDP)U3 zTV&yHt65O=6zNSA)>oI0iDkvTpViuW~HDOVOdI5&dnoF1XNW)A%d^u}OVLIjDr14$rZ8-4IeMM5Ymb~-6B<(%c$q!g}OoiF#YTf7y>eFJ?PrR~;s zZUpA`Wz$9^MqbNnkijMvv%2e*n@dQY(vEzkc*jSG<|3K9f;wH*4Z^eskbl&9S??VI zZ!2K%Egd*gXD6J0xJlqbag%Q~|5RK!k>38pUmB&?Ojd~h{b4sqHsT?tPN{EFuFNT4 zbEmeo0X-hOE9`YgeLX}w4L4>foTeb!U53pVhwhIK8Wne<0mjP zXKb=inqx+*A&XrSGHYmqKhH)tuax3f7_ zrsgcp14yMp&ZQ|hQlgTg5F((AFShUddCq#yv(A_IJ?~m)t@FY42bJINn&*pWf7n|q z{-*kyf`Wpg&E*T%6cjc96cpC2Zr&*W&AQ0BV{4DFYu3LjRP?FM$>03yXJu!lpn$_} z6?<=xzu$82vRjyf!jAd1pLKr@{+6Mj;PcYvg4Oj%uSLmf!=9lWODRhBBpafpu*XX6 zFROLh*Z;WSm{@bRU-Qt}3t#r3ZL;aRVefRdue;c>PdU+`FaG@L18?l$u?-W*BzTeK z#9VAzVADWFDiBO7F`O`A4A11ogm^Z#(c{Qh@=82KUn-gr^`g#-Q5kV5O>?~*CWV)k zkI`$-a|i#=dm^e4Ddga+8uc{DKw|e{2Xf-3*?_JJ&m9GOY{ry&MvM+G01EOB zFLsA}*stcQ0%uH#-feS z2YeVRNK8RK7Cm5YeaW9JmShcJOdS&aV}Lux62}k1QS1fa%$`mH;%n_u1j;L6#CRqq z;P;etEgmf+)`2CJ{t@J~+KxvMK6?Tpo)0t_QWl4~uT#7RTMWm3Yf1~h*q|i8_$A^4 z>ENyIp!x(t5%9Vr^sDRE3cakqYAQFk9fU#+B=N}Y>z}M~>D}z0k~d@)H$cZcA86Z} zUmI(c!ZJSAr5wOEQbXP1aX#0;14@eUGus`d-qn)aHk04qBYY3%>0h3AO;Jl0v+Fip zh`KPF0l{3Y&)YwU1`iU@-5x&R0=(^nKs{7wEZ4f80?;_x>c0Nf={+(+AMZ+ZSU7f-65YpoCX0;*~ z;vCexB>o+4uSd8F2(wRRCc)l*)V+lw$WfayhM1)4_GTt8w47~H>a25%j!sd!!g4Hn zskaI+KIEiFNLR57+Ww45kvus6I$Me;KU-W+L_$ODm=u1YvEyVxgvU(C5yUc~USHBO zQd(d62?T8?eIP~j9dy@{#Mt+Li@)RE90FNf6LIRV!h_JV-sR}~$m$@k6o;IhGppoF zbIV{enLK?SDsP?=L7yUQ}81ki?$5=BGM8o~f2z&XC&fi<+_-5@=c6 zcTB0sPEENw9_?Ly!kD#u`rcJFQ_U+zMc=x09Ir4lok~&d?MG>ODKS$$M{|;)4ww@Y zgafO6+$45|zW7>Tzj7zPK-=2*1pNA$*wUUf=&zp7BKqLzk6vfjb6EMW?|)x83N&uG zIcvS?3^>8-uA-XAq79c*1+xv6B?s1+HSOh=QmUdQ$w6elR@sVjso)JPX!eMJE>s1`R`&+W?;7jr`O+CZ(>kFM=Mm;XWAsF_5NIbAR8NcgMp~j5ZxZR*)2c-jJ~{5X zfNgMO1ZjIsYb3%hxUnyxspH^!<;51QX+sRm##%~&3X+3lLn8N5^u=dY+K2?6!60h2kYR44G0yv2dw~IdQ8y zMVDRUlG1NC|1sEfCgsgSlw&~8kJ1fqN2)46g6r`U!e5m;KQC2>JN)0VUsyQ8&SVzKfOY z0?odqH4KEOAExlWr-9hJ3%COhek{-TG>_KlX~O&=r`ZdG+uq$=#lI|l?S-mrBUPMl@1lP~n~cfD!<@EE__L^| zv{hs<;T7X>Cn_M~k~{kjFn=;EZ@%in)aNvNN31IaCS|+c-Uqx`Hi4=E3q;AM8q_|WEqt{U+$zj( z@Qkyud*#x?7^@0O(YD206MDVRds8!nVJ~MyINW(eBJgweYl_rP7Y4i^B2A90JenTQ zstCl$Nt-jE`nKL-9$67YY-8*wWImSJYN10=5YA5PeD^AQEtA#Su zs_PwC>{o;NvFD>t?7g`9r!er>(9unDkgJ|SC#!H?{E|0N;pH%iBmH@&V{~n}djKQ& z!u~&Yf5xKrMQj=w@E>UE|bQR?`|iIn$dESLc`!edV?1Mqp23hCJgd9@2C;? zgTkjQN;kLwwgLv>Ar^>euIW)H5nE$s3(vYy@O;Usvu<_LqSxnGjhi8*zWUs!*GKb4 zs(;~Pl=ICD{hbyq1z!rB@SjeW|g_-Qo}hozsU&0ciXN)fZQYcA=Q@<@+2 zBou0rZ{XR~3~IyqgO41&xuc+)k6EGym0EfF@Fq4mN}YqAx@CDoR{yNgow*VgabV9bOoJg6>Ql07Uv+eTndtL_s)kn253VHq5rD7X`e`H#U4lP%Wd;OXN(0P0A z$*6v6Ano*B+tKtIB7BV(A4of$US~foQ_9;{kO>KVNPX2?dQSUFDl@N^J3jpan&*+= z-+884_95WhSYv(WP?|$|`qg=d%Kkw=qrFRW0lttURjsn`N7=dKv}H5Q6&A`Quy&4} zzgKlKX|=bU$CN+2vsw&Z6uupYPH?ch+@I=4bPLh--X%2@K*_;Y_kl=+Imx z#(`r;!S|xcrYqOF`>_K$nVAn4pQ1IjF8SN2n%!tH>e9G(IR#iARQUzvn40m;nT7CB?WYsu+@UlB5%7WQY`d zGhDt@2>JY^-dnR-D0_6>l<{elRNGT00zG-&^e+$i+ZKR`#&^8p!U!@O7~M3c9X{R5 zFDdi#Xphhz0c&qoufHawvan&lygVEJ4NhT2bD ztbf%oY8=-^W0HLJB0gKl3H1PZ`tpZM@)ruXUMhorS$pwh$N#U-cM2fi@nD0{7FocAw6{DaX`1~m?*1i=NjcVR^c;*F7r@h#d$ z>TogMNp)uM+^LpI;%2~_t-qzXrqbY&AZdh zB~WPU7BwZ=umKt|mN@!qu2Fj6A2wJ8zkl7W`*3Qklot5g9@IU0dFrBmYi&t!ENbUZ zv3s}Uq~Ie2A}EeAvcQhOVq;gvXg5BPI$Tf<#nAuwpPCNm{Hbr&xo>|(`+q$vm!GDY z=l^1~)ot-(9S)W5(2?C_J;QQXY~((Uyf>Gh`qChLem`S6?LTO87#ZorQ%@|`&b_Ho zloJ))^8yihv3Xxl4qX2k7S+(|IJ=}<(N|vdZ;Jm#MT}Z-#>4bMAKEL*JR1(q>NlQl zz(^1O3$?=tAVhd~xu#!s+(J5`ZFi8ak6gVH%V;rb*K4usGp{FZ`N_Hmzwh1+>Wgo4 zFgCYect&Tmw~seB8^{@Eg30(?8^Q`=x91UsCauzW8OgmteXusf=|$uZ8+4c%|EqtK z&&JwLm-Z!;FiZtWDBLh%APFG8$|Y&cA`rP(IXD^~sSOW#7Ko(0+mM~!>_ z6u@(>$jt!RF8vc9b)Eh~KS2YIK#xED*L~|j(6Zyzp&dam3Y=l2uT}GRl>yv4tut(j z+Et%N(ng1k@4%{5ee9gH&emWc1e1+(&)?+s+&*Kz6;Qgh!Xtu9fGutSxc}jMQ!O%< zmkk7iL&%m>$=b}tv*z2`r?YA*BA}t>z{V&TAZU_$=%o2(fNsKS4>pipQC}Wz1zb~* zr)ld{K=x*S{&-#ps{8mK*LVUVUKyT!GAQ3068y2@)(x>WA+{p7zb{KfNX7B>Wnh8HGXk~rR zJt$$badyDc%!@|O!(ITW&$AlT+EZRM&qR6dY`Cui(pb%Rm4J=c-Ab0BQL>ReneT9M z-t=kRsRGMzfqLhvbTPkC@UaKBhoA&#A;c9|%J#Bp;jV+QHSD(`*K0$wV*|^ir<5-v zRxjdt<3TVt;ZgRUhK?GbxZso%t6QJAaCFd~>N*YiQdAj_>iyLpETae`{pSQz_&2%S zR?%hrQr!JZvy@I_ z`K?ldDJrYU9wobqmtE(X4TdrhaG%(v229vWD6iby^;chrs8zXAT-VBGu8e8x(no7b zuKAgfBSZVyUzyKi6(Q$V(V1_LHoPyTybLPPK;f z*#5>?sHxFS>o8N5h(l&n>-QXGwI{@2bH?J7O5^{hoD9y6PxLgYe+mT zS<_=fFNqa7=2vbVUK^)vI2GNj8h#$wMp_V5xHo@RDDUQetmiT-r$SJYyp=!|X_}i= zbKQx>IP~DuyC)4DbfT*|Q`(Qx;z>`mcJ(wb{P71hBbN3WEN&XSG9_CPrE~IRjO0j> z3U)Ja&7VH4dWbt`3wkWV-Y~GNw4FG&8Q|X9aKqgjqO`09&5rCFh?L3o@w&q>1uQuu z<=>EmIeJ3^E@cy!+g7@1Odpf0DjiMiY(0(hYbN;CC)G%Ah!IvrDZYv`sD0bnEAvJD z2a;^{a4zb{x5$@@4f^xnAYW=wYCvBXzErN%vNDmKS=N{E!97LfXV!1nu%1@!nvYeu z;7e-Ai{Z{QmJ&;2!((A8>(+v_TPNi_fDD=fEU`1%GbzRUcd()20K4%Fm%`V*a8Ph9 z2F=uiX7iFA03x{ncEdWB`+U0Gy>=4C{n6%8(Eug>HG(Dm<)V_UcT0w_EHRiZ@*w zMw?z}jj)yLh^WL-W+|l)W$%APZYK~$)%musd1k)mVh1$nzA^L1$7v5;Lj@wHQpzX0 z!mPMbD7BIGumI=DX3^ZA%9_Tes-5hyKP^lxU!NnmBT5JR ze!y!yL63|igUK?{Sn3e`&?MqUPtdW3oj;9J&rPu~M5b1GT;i3To=x{Ls!VK5B1B?%}^8AbMD)jYAlYn#z z?P26lDTh`kk*x@cQ*A{_!a>1l`&?zR*S#40a@?|6ph)-m7C=_300<@l!EQ<8#N?@W zkFfTm^=Da8%!DrUGL~%3$IiO0(S0L9u0&%gHS^2uS6w>tZmR6+ToF2y-u}Fv;CaCJ zPPTBFapIu+{9t5Rf;E!cvu5cRu3N|HCx_y{vOF+xqs> zDktCNW`BW}r@3&^dP=M}Ig&9d>PqE^WWg43l_(J%b1K;ZV>&4%=D0kx@8>SYOf_~& z>Qs4hI~-SPlH)!^;SA+bI%+J<+&-;^rzd~ivm3NGWa_k(!$|9+vm?zwl9)r!;{iUnt@3Y ztmliGkiSMED6XilZyI$%fC>coN)YGvsLLIE)BKajX;ui?n;zPwq~K>EbS$I&@H%d6 zfI>O!c2jv*1&a3V5lNLf-3=D;O2ZXcrQtFR*dp4gXDsBa^if~o!g{_)+Kmftd+NHH zQ`{snimTDKeJ0DOhp;Rjd<%AsL#JDC{Rga&s!XpI?b(P?;@LE9(XeGrqmSsTfp&7svI7}>^Ifh8#35*T!Cmg|3A8Cynf3 z)2Y@x>7mKXq9ljOc+)WLOHia_c++*^Fnp>{)3hFK!mp3?9_nh;stF2f3P{hPCzf9# zZD?^wK#d{dj)v5EdRPYAs--yXz16r2Boz+1@;aZoh7V?^NgkO)$3Ybtr;kXvUkOvm z1b#fRXWV=;qt!)>swwQyhmV7b%oNO>w*u0^lhufEN0_7wn`AXr%4u^uA=+4suiE*b zRaJ#yp37GWX*cKI)KJ!d2aIz^pSsH4KX*NuEp^n^hN_*c->>XY1Sxq`*glUCJlE%E z?#@%IbrAQjQ=V#ZXQXV}SNIs+@1b0D9HH-bE<+iF$=&ZqYd+=W#)ZY=4A<;fS)%E2IZ9{P@KgFFsh!G z6}S1 zf(w&4*^R&brmo_-Ew~=JNKS2qa>f@Fn(5J8Rpg6Pn0Y1BUv^haC zjaEDEUfJH3pyWW(t&`MIYzUED{8_1}lUf7T}Oe?ZD z*9$Pqc+eY!V>Gl}nve&r&~|qrs8?1bX7%S}`diC*Mqv@zyHQt2F5uotT?NCfjJ6_RY%$W)V=1hQ8Ib52wGo9v%C__CB`w4Mq2GXr1HFS~C; zydhI~GNnU!2HUPv*PoB^+*OIJJ~;eE7_S?GIOJs`%Ijg8UCQBK#wRbI2+?oR?6ds# z@hop%I~ihuhNtBYeK#!hka`rzY`Wh_KBqQVct(x0Byajl_>em3_ea>oxrt+1dAKaHO7I`OpoC*d8xr3ILL^UTmvZv23Vi5Oq9D)%rvuC^(AW_U43s`-wS0 zPSo9CPhKljvPqvJtOh_j^-B?MWXJk=W7-djYU?Fo04vChMOC+I!!zV#uTco}I8 zMgukeB3i0H@(|r#5@jShl{_52gru<}HHU*-fg$4BQ6mqyAc4alBVxc6tEat)EjP8y zrTk@h^x}Nv((p3eWVIJuuVu{2k6idu$i5%0wj6w_(9IJ#_$K@a;&XE<#putvVT)VD zi&ss(bgpr(;W;hK9!x{S7NCRO+1cvGCBDkkgd&jid~A?wYUEqU)0TLRx`g*cWalQ% z3^Wh7SEofBC*q~QB_qFw)T^pnPKMnS_m}x|I*~CQV1Cvv8S;k(haJP7zi~rh{|C~j zrnl2x;tpVttBUSkifPes6)aXQ;+r}QF(_&vb?oUs;v+Xg*%HE21`}Wd2cfX;;gnX7=J!*;D*v$X# zRp8ML`BEN!Ls+d?+0kp~@LSI_U~Bd^C<;Kk{Jd#gNhnZLhVz^9>yu& zdK)NF?{!*@D%%)BRz` zTk!lQ(Dndvu*(e;9kr9BSc&Azw~-L+binRUCTy>+|`S zqw`U7SgG$=W6(e_C+CjYP^2GyIG_IcnQ4c2)6BZ3+TM_SdT#Fh`!?26s{wE4Ux>q1 z27$2)77*tJ_=g5Mr*?hdqSzhdFU>8PwHmYPJa=5DW{E`AFE^r#<7j~|_6+LI1$;5o zZdY33ulp2Zz6B77?J`H5=d#5}!@ce2OD)mx`OF;-Kx#E(fNXI#U<3~+sPXu%@I6kicYoy;| zw*P3(9;GsWR(4@_YAa9|LA+dTE_XF&a3(oVX?6@6g6e8o;T+-zkSXm@03`=+Jf7;d z0JPl0D98)+;i4GI=+=B8hBh>J>`f9sWxhXW=P zHrZ!U#*NkQIpI?_{;kW7cVe)dV*HVT>Z|HE1>ST=m?$s@yZ+XLvF{INYF(3Bf6JF5 zOWWAbTw+c)?gzH?n``S86R@y}?uHvcKlj>0b48Qr7);QKyrJ+P6qB=M$iDsG>$5|` zh^ZsPZ%c>M3)sK+r4+x-<^o_bGab^6C$TP7}M4oe0_j&q?AtrG`S2q@uz^Unf#%1`>{Dw}w%({;# zv)ve&pspD_Kb!RCwx~zPuqFj+PKd`|-bN>#^i+hnC_XORz+2qq1 zWt7jNDja9CKtH{GLrqcpTbQUFmhS9wAn0bD>Vt>*pj%Nh-{!Am>@hn2%+JdK=->{l z9RIswcHFVm!Q4_z>6g_ zC0HRrS&(b2%P*B^x)we3y$S{u4!iiesGeC_e-}2L!?|MeNJ5~sw>9X+(|voM)AjJ0 z8pxRjV}y+hkzMyvf0cj`tsY6;^CkqjY=je1Larm-0q?zMCNRK`E_U7ydb0G;V%%PR zcXeP9B=1rVVJo2Mu!!b>iHR8rQb*kG_4hwY9gZyV(p!~^`p^>JFTUsMH>UEQoTj<$ zOmMi|^#)QD=zQI|hqcdiE<^#O;tjdF+4Y9|6T`X3CMHF9#_URy`c96d1v{8@ov|dI zsJPsHX8!wmYR10sg&@v{7rZ*56O)e4^HQ$43A9qUb?dF7s|m6}InWYg1<458>0wVaa9huLA@9btrvDgzPM7eCk8dqZA3f$RB_$Zx|=0BrYu@w)q<0OD49 zUmk%LneIJLKcnA~!>H#U@sza|A$rO>lsfvoBnO-;R}V~zN0QEJB2c%lxme%J-~&qy zX~~I38lL+oMfB94_WR4**UNKg6(G@HyNb`e3di<@p$m6m@Pi3B@iV4~~JrIRtg z_vPOWue0#a_i6ro+7(*V3UeBr&nuA!My5>)ch9dQGJBghZy%e32(OOOi#Z0ZXfEK4 z_fwqmI|WVXuMfPBheRAwc+~q4_x0HjPM8^Z%1}h=n55u;#ur%6zfNpbkX)6wrrI*9 zcHX+1aY|O)WxADu5IfEo%ntzzD{HAcLM&TP7EY&Zda%}Ke&AguT*)Notb6(x7S~>! zFu%3NV`q^D6;+A+EBmF*E0wmQ&-sc=KyVGxxqrx z>wppsS{$eh`MyQ6`Q48JAi}22-t^MkJe}J{c&KO0UKWRq4WR?TCOZ6ykV}bqRWXT^ z-bLeqN+)+O2U?zbu#H(|K){KB_g=m~`0iwqbhd~n@dy4zFXteYS&cEQ@QwRQeq&p2%505D9ytQJp2GmP^ ztp0avg{KXNgh|iuU!vbqQe_Uj!)-EDvko@Wir8QZ`hMSKz`7)CG}CWDV=%N*_uW0m3znyLD2`Pb zAasgGjw-adjBa{^u<`^H;&w+`>(?%K*y*H{{oh1$>EsgjVXjyEl-Iyz^4E-W$@q z5IJeL@z%;^(VuvW*XqKZ3fB;GSFZ@NlYzsE5jHJLqhrU|(Z6gnLd;ojJSMMPwWX~k zFuvd)x zjHkncZu`)3zVjsUW`(aRl0vPMLI$qA1^L+zHx#aN{!t zx$uA2^@g;DRvV z-4k@T%0++aPRADnzZ5Oju9?5bF8U8tbTSC9Yrnb=NutPmj#m=oK27`GJx!?E@7s2* zlh43>a#^nf6_XH*OHmCuVZ_pkTG7hU6NHn3l|wTK_dgd02?b{}D{k*2>sC)AGR`gOL0K^~Wcb_u$ATvw>`D{U$$jHPU~pVRST)6~cDP=t#* z*h^WPv9SIr$eX@nfMPYZ+CA)IlC4MJ=a18)8P=Sv56p#EH~l6pt-MSZvw+>heiiIX z;@NsUT@>(kQ|n1H`8>k+(sesQ()->i5&J2QY<_O)Kok19mCG6 zc2CJ|stxnp;2+z6X<82A1V5VP`f@74lGM^&kpL;0Rimtr8UInbVphyfP^@f+z|Hpw zX!kA!Hyyf8POl`FX9f)^EEP6>|1?|u?$aSTjpeNj3b}ggl0YR;E;e<2c+{Wx$+{5g z#QK-_esb;HW3)=|;#)&S)s~F974#9t#i%b4>OPeg77ZRd=V>^DC`wI`F+F+CI(wI& zeyet_Czrf(Xhh()L}P{3keB}m$8$uktp`x3zn4Cc>`W)u$=xY^N44<>QY|+NKBW_6 z%goy!mK@5pH#=77Vi98YeH6mSUm=kDCUxPcWC><|O6?}G<|4owB4T{5;fEJY#C&3f zSLVs^n!d9ODxeR4$R|JK{JcPI?4QP%r~uQ!g~9I|Ou97c9gvy7d?7+0OBH@&AQKB? zlVDe#f3++jQk2^k#xH8#FFV`}47m@sZh4G88M_4#_m{kR+DGt>!gJ&Fla^2wtB0gN z`slbSr8l78lwwsD!%p$rTnI>X_R zw@~xmb+6%5+jHBlp^B zA9>OiX!=&Bdn?F0Ee~;hZW<}7nNLUuu!9%gM=ifa1W~ExcSX$(go8*oOPTvXXi@u! z5&jSJdglsZMT!c&Va^!2e7it0IkEY?e5guZ!`$I5&v#40G3r@F;*Fq#nFH}bT!G4g zvA&8mMXKXW4}}xOW;!({te`|2{&TqwJCjU^G9Dc!InuepNE!>kdZKm)=9N7~@jA|- zmPo|IWceh6G%|eK@}t$cmA5$t*Lk97Ajp}fLKFYII8|;Gb+n)h-y>fPx$HDG)`(;$ ztZ@BoiX5|!xWK#GfLb}98MyhU!Udw?6b>s>LrKNGjrj#oUdxNN#z185{d?dtw9nQT zeoDjZ30MtgWEAWORLm{nh#TDfRQnRcg55NT(eqEKnk@ur<%5v%Asiv04=>?ys9*O#NKaD$QFljk{;DpBlEGffTQ$^DkG($W<#U&l-_=aLBWcAi7n z0;m~l&ineywqUu_c#~0OFlQS&Wb*7hI{}{556JbRHep6v`%zKnd0f2pRNDe0yIS3f za)To#9?q-rzI8r`7Kd%;)CHwhaRmMC;=)kRF$iC2s-PCb>o)aOn2newAS#D zTbzX>rOExPTU)OS5E?{$E5zO5Ln~g+vPf^uD%d}8a|F00)48n=-G{t(crY)tu86Um zewn!cghfJ^=`YN0H&hH4O7@bLXnv0>ZvNnP_!;x0I3epVTWuGFA4KbH&kGZ6J-km8 zzE%iVCl`hnH7f#Q?rE3@fMc2$Vq-!l2Ca2+#h&3~dBpgB*-A?!qhJO`nHs$5wR9Z% z_+MO!uY!4Nof{9npTe@VY#29UnK$^HnGfEZJoiWlhuTi^pziX4KXDO?cG~ML1~?#_ z4N=!TY*E_EGJVgs1C0=7z9HaWo-7;y%2iWBWQYYKM(I@ZX#M=kH?FJ5xo_pA z@7#=f_%y~S`sC9R4SndZAbWYp0!^yI@#9&n?oIElboN~?M@4&g!-suUBLE=&SF`9Zt^E5@O3|ScT-zKK_;oK~HX`wV z1RpX5xY`$ZTs%-;to(X;`pdO_g=#H;puwR{+5((O)f~7Ce`=s0a3}Jp}Xa{m)PDh(aT|P%AL~P>7F|__ zKN~3CWId;?Vm(J)|DxZAXkJo!oiRkYYR7{gTr)L$g$N;%3;D#3^@y<+smOK{@!!6u z(SLdrEfFyu<;IO2kF^oDO630ZzHJg_%do}JY2PmOkmWnu!sj(P-X;~7$ycyPAn|w9 zIMhneVMxgk$7=~O@dO=nIH;`WwFmE3=t2<8ru)Kgx9;v(qq)4F)%#D-GQTyB*}Bp; z9|`^3lU5zmfioiPW)5yI_F`cJr(SK?T59ETbzcKH6W&odjPP2tWzJZFRV<1AUQRpe zaT{*WPJR+2P*QooP-l^NglPx z`;J*ddt+mR{XHT)x|3ZLt;s{(&SYRUOx2Jxmy=_z3CU&vROw~#v^##6e>wj|?r%rb9<|R|e{n9gczxy$^o-$b;mmyLO*jNQ z!Y$!x7!{@0EY8!6^tT5i@-A!pkBGSeGPCI6*46-aGkeb_pvwvP!a{|#?ai_Bkl=1q zyuzd8pY|-p8*)r>uUxreEfNykb4=VrT$U;rg-*caWj=8+=G4=9`o7!q*=Or15c9PO z{{KjlO0DGi>%fgNC2D@O#hfMu>zNI%P`NqwLi=Y<_djG=XWq7vkSYJ~^Q4E_Hu zi~2x{jam#!g`2N?Dt90|ZvVCU!5V7v)u`_OCPiFJAAJ%+A2nO)`@8&ixuS44Xfn+H zf6hPudgRyNN$6DA2J{F2MX|0uZ~4o)5`Bb?yh5?m*8E=Y=V|ECU|ZIi4g2hc1K4fX z+dxpWTeDUMzGTnPkkbn1!T%-W?h@JdDKR%T)p|B91{p+TBX{qc6pmxJ{UQHgwwX^Q z6@fJm3jzJlAG}sjitSfi*jWC?JZiDW&>!pHMA>tz@#t&d{`jXs)UyF19PG#YxEHCv zoZMFMvpm7y5QVs4x-3t!-FG5vI^-1(|G6it?jtAQ=oI+k>@iy$6 z|BY$A@#R{9g2VCqJGp)be9a(e>Z_94;7bF4>tGS+HieUXyWv?2 z!^`i%tCAncI}i5%QwJcxsX_)d)|L7oXlZc-yF>OcGeYGY!A#~ zy-y^S{V$6!IK7 z*8hfDH1+Q$^4j?4w$p7UQ2ckC(rw<=hK}rP#QNUsEHGv$FgGzFl&|O`Lda%Z8@$h# ziTl2cOR`4o2Kk9RxwWY*|ISQG4ap<;hWfqdB-(}9a^ zE5eDF%%M6rO(zB`eBM2qP)~(l7OtWx-q_bs_-n*qujQD03?(BkMg}o(`?6T zc&KW<$*W9DqZm8GMH|0Ut;t@=H{H1v^v3+#oczl6tU7LF*pM=;<6veW?V1+BvJ{Lk z+1tO^-2$}kFjg*Xr}?s#!M(YAiPTqutqsTV%VViOeiY|f3{undwkHR7cd>|~Ns;bY zYuKVdbxckxg^jA-5G`og#%OkjX-EY|JA?qLz|UhMSB9|1#?rD~Eh|i7*b|h=_@NLB zbt7pT`!8IniO(N3t3$JSg{c;LSJ~+j#Q^c_dH*nKWZCfm(G=oDt zm~*hjggHs1aheChzQ@?xY8-d!1UI3v9*K&+-A;9FV&`%!H`zU-^;5N_LBf=k{zro6 zsN80!>=c()K)*Q{p+fhzRvV&5NCY8ej}weyWwU2z8ndb!$Y<$TF!@OCYxln^9*?hwyWOD;?l%q zQ|{iYlakXG(V^bHd%wAH-o3yC<*? z#J-lRMF?drJM@MGy~+jI#3&DaY7R0y2lL^GOcdc^;Xgl9{H2c?SmH7K+f}E?&a)jmW3>;h+eM9oWgA_$>Yjb zd4-rqQ*rv*i|$d7!KT7K)C!?TaQ*ynIJ+#K*?-oI*PIAZb2`L@%x zWyE9y=HifzX%Zr&l^3iQ-h(ehR1!H6KHv!XH;()?GYdXcs!rt9>zGQ4(YX(#rF9J* zC5nLCGw=cH*W`{T4i$kyY1iuE#ZDK?%E>r%&ZxVQ@P+H&I%8f`*FZ2`d^23la{jNt zsZPou+_G@2lwA`W$@yl-em3s0w$RtL$}&S(Q%i(`$B%D(L|mC1cqkz`HOtA8YeiXJk< zjM}sJ8l=(e#Q9IUg?5 zW=_>vtC053!SA$@PLMks;dl+8%Y2j(%ebDtQfBc4{j4kToxS0Sz`_%WaR9cFZBYCf zOYkng)4rzl01zfoC%rQMOx|^-8?KS>SFVNY|&BVN+h1H}_S~S5qWg5^U5&$91 z<)5F@89AfH+kW!#R9PEo(trCT$=1&AM1;Af!I^*$DWKmgI0hCuPtsdL1~1b>GAb7E zqDHY~5s+S6z`q=JsZKhYNKQi#90`0tslG9GZi1HAJJase7hlIL@m^-j=YdUGV%Q7< zUF;r0)U~j$FAxpg zb9=hpRAHM9Bx3x?TGROK%GdMBwARj4+B-aLZFfD|fqFLRc1oI825?$&Z|7>!;>RG` zr3Dk@wFMANFm7f1?vK=`7UCIf9n^^}|>6OR!l&gjv3>?((T+ zJHPAN&InNs+Lj%JsE7$y92DFQ!8R}reQeK-LGGlEr+yq0oO0spEpGLGqeEdW?GRBB z0uwi!eV19e@>F{D_4?R?GuilK2jdxw?8E4H?Jgy2mASCp|Fhx`7v*9)laU*|CQ74 zc-O87D4~aeX8DQlKToJaBb$cwkktv+x;76)yc2kjIC@=_I&GUT*Eqq za-DEd(eZ6%Ka;*Ybo{Rsa&~Qo6jxrUjsdH+&sU{^_TV+K+Z95WlSEkQ6ibrPu3k%+-h0{;9?|Yd02Z7P-*( z4MA{6bKjiI#%BvUaUg`kzD^P=qr~oAdD4@3PO4Lp$P$;5DKucX?8S5`bIjdF1|aX+RvHNdYWUJw*b<>J zd%4_(puHTryk;J>Sp0q`h@YgsHHWjox4rvLz(SmmI|K%WF`stuY}qJt0OwuHiLPP8 zr-0Xihkc@&fLD>E5O1-k593`+SFdd-YvHs}{JHY3Ig)!!YY`YN)v)OA9x2!m^fe-VOvtrUR`|s2Sb>X={DxghFO$*8gfM6$ozj+tBYy{W|{C^K~-`-#UBU!Mi7Z)E?zDryxh%L8U9>l@`> zVlUE+&;V&FA|wSr&QPr{sa)CPOb3h9IYLWLE}uK0UOO6OhHkDu@Dh3}C7~da*dcw= z=OQ|4T&s#D6G4I&k~(fzdqEiYum|iAvLL19Q{dVreQFE^Z$gbyd+xT{7gojcOLd*V zM|4`fXi--%o|#dkJzfbOtL7D-KW%9xYb(Dvh9Qua>&`1c4WrMX4SeFIwKzAX4NkgW zOr%7+DqYcF1YSs#ZVo^P4A!M=#CMKJrU=3)JCTl62fJP=NZN6-<_;HGvtD zbT?kkIxj1<{k@j|?ECrNiA{6G9DHkC729t{uqVO0mSIra)LNLt3*pa%Vwn!rs2p#8 zqB^#ei&eCU3N1s@{J|?5`Y%o&pB1uNU)rpeE{fc>is6AN|((uuJ+z4!SnnFE>nY z<{)y)ElcxA{}Fg_n!$D3PiYXs-F%*sxm&vWIm+#HrY+be%!!FqvFx&rB~ABqbR8uO z;Y2%bul0~vDxFqKmjhqr956*;x1-rLXF_3kdxt+ySJRc2=bD2OPw*WN^?_^JSE~XEgU(G~8oowT z@}Q5do+&@1XQXS5*gRGH*ofZisvUJ1I7T7RYyO#s@Tys1+nH>cyccz!-IwVdFpintgCI(CVGd=~C^F32@?0r@S1Rk}he~)3S zelTU%o8cmHklMESXdp@4ZXZMc1n8hfm%eLWy=%q8mZa8O=l4U!C%?EjZEpA;Jy}up z?iX5-`R&0}D*Qr1svt^TctyT-pxB5N5;;SvUmwNl85+$t0D3gn;1WyC^L}HX#zF8?Diooo=o@C!Ig!$$ zaM1C4hW-_FqW;R;(G9a@rxt4x>_jS)T1PaEz++~xm0A_}Q8bC=(Ptyw*9y-?48ftEBFpiRpw<_s9 z02OzR-S`3q`iOg0hQ1z}T)1pMHa$cQ-#S3!EB*d6G-6Js;9aAhDGV=|C=#L{H@q~G z5b|PMcxL$ZL9|?C946<#!n?f}cZ;_XpTjBjVV|z#&!9Rf_LfELnNNW8U0}!;tL8J{ zL~Wv4_bVypVg=2+cCj}~#)@;d;N(%x*gu1lnfksyW;T(wb9`-003$ae!uS<^QF1n; zgfGsqvloOM8L-K#+VdMp&*SBNtj0vrg%JE9UzPiQn2@|3-uMOX`V6ZZg%G|78~F6T z*9{XcJlttekQ&0UB_!uKA-FP~Ti)lFAQ*uCWjid{=*Nrm2$$i>bjQs_!-sq&AtZm% z=vzKU>MgG0C;qjiaP&8KgN?$nfp>gMeK0+cd>WQx6;3D5V8`Rf4S$>Y7k&mvnDPm5 z9bb&$^HE>XVjm$_%avxT|Je$RSh{bQ5> zFZpfW8xT}k=)Hm{yKPM(cpo!)MHwRPopTYhGC&@6y5OVRH&a>FL{385hPy;x*QFfh z7}HW|eR4{5Aj!r=Y#K~NRC;>wGDcJ}@@nE}H2Tv>nuJ;IzsH`sZWc>?C{N(fZaV;{ z1YLP9AGTLix^(cq-{yAl#QDY={wUyGij1lNsTL49(HW&-b|Kjyb0D(@P{~SpzWg^| z+Fx{1Qb0u+Z3B2~^UUh?t#q~kUVw(M~ zBA8O0qFtEp<%SDw&#U(&P~$~*sk2MTY+w5|yQu+B!25g;WW@sm5&3Ql<^P}hG~?6; zq-kV>aKgk~a)yy-r(58WWH}GClM1J~AfYO>Geu_H zrSN{$-ml=o78l!f(PoNyeLMT!$|qZFu~)!)>VnAzoPmU^M#ZE0f`oe0&MVR_Kmzuk zCXQE)xQAasxO!VnBX=<>2TIAErg)F>FWNae8(}9LJcRxK1|Y{`!ItN5$D2!|EfP*xZb|7(CtnSwolVAC@qMjo$D1u`@5r@*l@9I zz8gKlzkEy!8LhdRYk*e+l~qXb@C!E}u7PPux#?rYVaT;;*ZBuXy}+sUCo;J0#qiZ3 znfsM{u?-$PhcLGkZt3u)@l&b{&lp#}Dl!{8hFx55iLp=Xr>dEv z>Nxg3$*S@}L2k*mRC$%)aiLi+Xu6<~a|Sgy{hurx^MD`zfF=g(yoa|qo&vR23z-MJypoVXYv5wL#wPGlP zEQ#nkmV-2`vI-98@u>~Ff#KbEZX^D16sBcLdo?}oZl9I}(=p8eOnZn~*c9X~h@-BO z#eAK2!2Qm0GBY^T{d z(tYxp)z}+ zK&QFJ%-V&S38rUed9J;^T$6< zZFR-N({$CYy1JfRLEm^y6f-3%ixaeT(2sGp@To6nEXlBjV5WTHXkM!1UdL7h2UeTR z3-MxL4JK*oEP=_A+>ZNzHmE%|Yo)^kng3EdcK*KE-qq%{nx1<9=paV2IEI((#lo9T zqt!Ejx+6S2UQuySyItoL`e#%%{K6<(9>z(vx;r`d9paIngx@y9Ra~*BM>jFk)}mZ zbei(3zNoI;p5;>Bn;L*vAngRfbj}b~k@j{@0GMw#6RdB*qR=D+h0UYthf;-5JK z3+Akg@_=+|X`$D)NkFAFD~g12q-5??jS0M9-u%173%{D5p86}Wp<83pd?p-I`(jc< zaqpeM6sVNr>YMj9&Ys0!dRC;**Kt`gcaF2FiLY7;mypvvN<;A~n;}tvp6-J{`jO#) z^%n!Hr^kss=1C<_D-OIpex~tZU!h%Wx7pQDYKPg4Fw- zrMNw@vTCo?xz*SA{KabaQv@URX? zWOTvus;FS3Ya$MVIjBjf5WO-pW2A((Ps?Sj%aMZ8_HPM0=G>^P(o84_+&F~Hw-MW0 zZG^aUai&o&qc_3d+sKs+lbzvSe_Zh+{e=5zW?mBOMON1JrDsoq_RpXxnPt!%?FchP zR!slot8YPM5lxSn45L{|+*%=*8lp48c(bx-f|R|h%8-Q?(UL0qp$>alzBtGs-2>2C zt+QHX642lyRHtKVTh|kGn+qx?)GInII@BUfe2joPK8?IoVBz%e@UYDZ_rSD4%LmuE zK}Q`dvFf@%c4a)(Pl|dmR}-}aFM&V~C088NyqLNhbgXBHaowd)a70iP?z0`CgkGON zL=ZFv0z%rg>c)7kIWpfOATml&0M5(L8^{JczLUybbwloO!*JjUA;+wedc{D;e&^Lq z2h}`~fI9AF5waGpJ^JRA>gPo)pm9W@XIhg;SfF^tyl>Z^R^((fentfjZR;NF6w~HL z%7IvR+N_J?RLaZH5ZB_Y+cKBj;;=%1Q~1wI4Q^jO8{A%ejxAWordwl!0L}Q2$FIoeD4F14>#FF#X8T;2_h`zj zYk;0arkN4yLH302>yFVj9bs@%#QBB<^uUAp{7(78KsWc(nQl@>?6sialhL+k5 z8rh3xdmyN!d&ezmr}M=n6#V?PruHfcSNEMD2%r(aXZnpZuQh`s&#J0<<}(`y-Z)4= zq(=eKqRGtZWurfIPjyvS2Mu3oZxjnI_2%lK&G_kazR|uOOZ5MR^6Ds+AG?NP!vc@K zCEMI;uvE5bs%yEpLTn>;Y?Hs~RJwGReNjn&wv8815cre&;qyV(h65`}W|Yi|_yjUw zDv^o3&;zW2)Eud}5}LbNn)%5Rl-9l32&w9_3w3%pLp%I&Gy9?S7Sf336LSiMdfN}# z0wy33HE~JF`TKE~LT11j_*n<6Tc*RUhI34ZKh*ku_h%v3fE4>hKX#dy+GQ1gMt^;O zBA6b4EHvvRixmcvbHRu|zs7u6y27(gtWL9QX+Jij_OY@-2g_k<+qL4+JH1P!647jl zLRbY@cpGXy+xc&UDgOf;1OP53Ib(8%`{G4^gN2X4hxBeYh-;vGN~bU+WhUzrloGlL z17qti6UR-y0AfJJ98d?ga267Nq&c7P0Y$l>08gYu(tTow$D&!dd_cu9;Tvf0dM6IL z^cBfaLPwaabwP;Bx40rRDNL2=5)t=GrP-VflQqy2+To`U5~U*GxGkyD|Ns1V+2Prr bE1TPmo2*Y0{xDb-z88~o=0D@lIRE+|)FJCD literal 0 HcmV?d00001 diff --git a/docs/docsite/rst/common/images/inventory_federated_hosts_view.png b/docs/docsite/rst/common/images/inventory_federated_hosts_view.png new file mode 100644 index 0000000000000000000000000000000000000000..fcf50c7f1a699be75d7a7b27a8b0da51567a683e GIT binary patch literal 36520 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 bmnl%bSnkcp(dJaDNHy>3sa4;3@a%s8F1vUL literal 0 HcmV?d00001 diff --git a/docs/docsite/rst/common/images/inventory_federated_job_slice_output.png b/docs/docsite/rst/common/images/inventory_federated_job_slice_output.png new file mode 100644 index 0000000000000000000000000000000000000000..0285ca5c12bde8eeb8cf9667efab99b4ff8b8714 GIT binary patch literal 50063 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 literal 0 HcmV?d00001 diff --git a/docs/docsite/rst/userguide/inventories.rst b/docs/docsite/rst/userguide/inventories.rst index 8d8395b2..9f6d232e 100644 --- a/docs/docsite/rst/userguide/inventories.rst +++ b/docs/docsite/rst/userguide/inventories.rst @@ -38,7 +38,7 @@ An example of inventories of various states, including one with detail for a dis .. image:: ../common/images/inventories-home-with-status.png -- **Type**: Identifies whether it is a standard inventory, a Smart inventory, or a constructed inventory. +- **Type**: Identifies whether it is a standard inventory, a Smart inventory, a constructed inventory, or a federated inventory. - **Organization**: The organization to which the inventory belongs. - **Actions**: The following actions are available for the selected inventory: @@ -462,6 +462,102 @@ Example of a constructed inventory details view: +.. _ug_inventories_federated: + +Federated Inventories +====================== + +.. index:: + pair: inventories; federated + +A Federated Inventory is a type of inventory that combines multiple plain source inventories and automatically routes job execution to each source inventory's own Instance Groups. Where a constructed inventory merges hosts from multiple sources into a single combined inventory that runs as one job, a federated inventory dispatches a **separate child job per source inventory**, with each child job running on the Instance Groups belonging to that source. This makes federated inventories the correct tool when your inventories are segmented by region, cloud account, or network zone and you need each segment to execute on its own execution nodes. + +A Federated Inventory is identified by ``kind=federated``. It holds no hosts or groups of its own; all host and group data visible in the UI is aggregated from its input inventories for reference only. + +.. note:: + + Federated inventories require plain (standard) inventories as inputs. Smart inventories, constructed inventories, and other federated inventories cannot be used as input inventories. + + +The routing problem federated inventories solve +------------------------------------------------ + +Consider two inventories pinned to regional Instance Groups: + ++------------+------------------+----------------+ +| Inventory | Hosts | Instance Group | ++============+==================+================+ +| East | host1, host2 | ig-east | ++------------+------------------+----------------+ +| West | host3, host4 | ig-west | ++------------+------------------+----------------+ + +Running a job template against a single combined inventory (plain, smart, or constructed) executes the entire job on whichever Instance Group is assigned to that combined inventory. The per-source Instance Group assignments are ignored. + +A federated inventory containing both East and West as inputs produces two simultaneous child jobs when launched: one running against the East inventory on ``ig-east``, and one running against the West inventory on ``ig-west``. Both appear as nodes under a single Workflow Job in the Jobs view. + +.. image:: ../common/images/inventory_federated_job_slice_output.png + + +How federated job dispatch works +--------------------------------- + +When a job template backed by a federated inventory is launched, Ascender intercepts the launch and creates a **WorkflowJob** (with ``is_sliced_job=True``) in place of a single Job. One ``WorkflowJobNode`` is created for each input inventory that contains hosts matching the effective ``limit``. Each child job receives the source inventory directly and inherits its Instance Group assignments naturally. + +Key behaviors: + +- Child jobs run **simultaneously**. +- Each child job uses its source inventory's Instance Groups, not those of the federated inventory itself (the federated inventory carries no Instance Group assignment). +- Source inventories that contribute **no matching hosts or groups** for the effective ``limit`` are skipped — no empty child job is dispatched for them. +- Simple glob patterns (e.g. ``web*``) are resolved against the database before dispatch using an indexed prefix query. Exact name patterns use a direct index lookup. +- Complex limit patterns containing ``:``, ``&``, or ``!`` operators are passed through to all source inventories and resolved by Ansible at run time, since Ascender cannot pre-evaluate them. This means child jobs may be dispatched for inventories that end up matching no hosts after Ansible applies the full pattern. +- The resulting Workflow Job appears in the Jobs list and shows individual per-source child jobs, exactly as sliced jobs do. + +.. image:: ../common/images/inventory_federated_edit.png + + +Comparison with constructed and smart inventories +-------------------------------------------------- + ++-------------------------------------------+------------------------------+-------------------------------------+ +| Feature | Constructed Inventory | Federated Inventory | ++===========================================+==============================+=====================================+ +| Combines multiple inventories | Yes (via ``source_vars`` | Yes (direct input inventory list) | +| | plugin) | | ++-------------------------------------------+------------------------------+-------------------------------------+ +| Respects per-source Instance Groups | No — uses combined IG | Yes — routes each source to its own | ++-------------------------------------------+------------------------------+-------------------------------------+ +| Requires inventory sync | Yes (update-on-launch) | No | ++-------------------------------------------+------------------------------+-------------------------------------+ +| Supports hostvars composition | Yes (``compose``, ``groups``)| No | ++-------------------------------------------+------------------------------+-------------------------------------+ +| Job output | Single job | Workflow Job with per-source nodes | ++-------------------------------------------+------------------------------+-------------------------------------+ + + +Limitations +----------- + +- **No ad hoc commands**: Ad hoc commands bypass the job template launch path and run directly against the inventory. Because a federated inventory holds no hosts, ad hoc commands will produce no results. Use a job template instead. +- **No inventory sync**: The federated inventory has no inventory source and does not support syncing. Host and group data come entirely from the input inventories. +- **Plain inputs only**: Input inventories must be plain (standard) inventories. Smart and constructed inventories are not supported as inputs. +- **Complex limit patterns**: Patterns using ``:``, ``&``, or ``!`` are not pre-evaluated by Ascender and are forwarded to all source inventories. + + +User interface +-------------- + +The Hosts and Groups tabs on a federated inventory aggregate data from all input inventories for read-only visibility. You cannot create or attach hosts or groups directly to a federated inventory through the UI or API; hosts and groups must be managed in the underlying source inventories. + +Follow the procedure described in :ref:`ug_inventories_add` to create a new federated inventory. Select **Add federated inventory** from the **Add** button dropdown. + +[IMAGE PLACEHOLDER: screenshot of the Add button dropdown showing the "Add federated inventory" option] +.. image:: ../common/images/inventory_federated_add_dropdown.png + +.. image:: ../common/images/inventory_federated_create_new.png + +.. image:: ../common/images/inventory_federated_hosts_view.png + .. _ug_inventories_plugins: Inventory Plugins @@ -499,6 +595,7 @@ Add a new inventory pair: inventories; add new pair: smart inventories; add new pair: constructed inventories; add new + pair: federated inventories; add new Adding a new inventory involves several components: @@ -508,7 +605,7 @@ Adding a new inventory involves several components: - :ref:`ug_inventories_add_source` - :ref:`ug_inventories_view_completed_jobs` -To create a new standard inventory, Smart inventory, or constructed inventory: +To create a new standard inventory, Smart inventory, constructed inventory, or federated inventory: 1. Click the **Add** button, and select the type of inventory to create. @@ -533,7 +630,10 @@ The type of inventory is identified at the top of the create form. - **Labels**: Optionally supply labels that describe this inventory, so they can be used to group and filter inventories and jobs. -- **Input inventories**: (Only applicable to constructed inventories) Specify the source inventories to include in this constructed inventory. Click the |search| button to select from available inventories. Empty groups from input inventories will be copied into the constructed inventory. +- **Input inventories**: Specify the source inventories to include in this inventory. + + - For **constructed inventories**: click the |search| button to select from available inventories. Empty groups from input inventories will be copied into the constructed inventory. + - For **federated inventories**: click the |search| button to select the plain source inventories whose jobs should be dispatched separately. Smart, constructed, and other federated inventories are excluded from the picker. - **Cached timeout (seconds)**: (Only applicable to constructed inventories) Optionally set the length of time you want the cache plugin data to timeout. @@ -999,28 +1099,6 @@ Red Hat Satellite 6 If you encounter an issue with Ascender inventory not having the "related groups" from Satellite, you might need to define these variables in the inventory source. See the inventory plugins template example for :ref:`ir_plugin_satellite` in the |atir| for detail. -.. _ug_source_insights: - -Red Hat Insights -~~~~~~~~~~~~~~~~~ - -.. index:: - pair: inventories; Red Hat Insights - -1. To configure a Red Hat Insights-sourced inventory, select **Red Hat Insights** from the Source field. - -2. The Create Source window expands with the required **Credential** field. Choose from an existing Insights Credential. For more information, refer to :ref:`ug_credentials`. - -3. You can optionally specify the verbosity, host filter, enabled variable/value, and update options as described in the main procedure for :ref:`adding a source `. - -4. Use the **Source Variables** field to override variables used by the ``insights`` inventory plugin. Enter variables using either JSON or YAML syntax. Use the radio button to toggle between the two. For a detailed description of these variables, view the `insights inventory plugin `__. - - -|Inventories - create source - RH Insights example| - -.. |Inventories - create source - RH Insights example| image:: ../common/images/inventories-create-source-insights-example.png - - .. _ug_source_openstack: OpenStack @@ -1042,43 +1120,18 @@ OpenStack .. |Inventories - create source - OpenStack example| image:: ../common/images/inventories-create-source-openstack-example.png - -.. _ug_source_rhv: - -Red Hat Virtualization -~~~~~~~~~~~~~~~~~~~~~~~~ - -.. index:: - pair: inventories; Red Hat Virtualization - -1. To configure a Red Hat Virtualization-sourced inventory, select **Red Hat Virtualization** from the Source field. - -2. The Create Source window expands with the required **Credential** field. Choose from an existing Red Hat Virtualization Credential. For more information, refer to :ref:`ug_credentials`. - -3. You can optionally specify the verbosity, host filter, enabled variable/value, and update options as described in the main procedure for :ref:`adding a source `. - -4. Use the **Source Variables** field to override variables used by the ``ovirt`` inventory plugin. Enter variables using either JSON or YAML syntax. Use the radio button to toggle between the two. For a detailed description of these variables, view the `ovirt inventory plugin `__. - -|Inventories - create source - RHV example| - -.. |Inventories - create source - RHV example| image:: ../common/images/inventories-create-source-rhv-example.png - -.. note:: - - Red Hat Virtualization (ovirt) inventory source requests are secure by default. To change this default setting, set the key ``ovirt_insecure`` to **true** in ``source_variables``, which is only available from the API details of the inventory source at the ``/api/v2/inventory_sources/N/`` endpoint. - .. _ug_source_rhaap: -Red Hat Ansible Automation Platform +Ascender Automation Platform ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. index:: - pair: inventories; Red Hat Ansible Automation Platform + pair: inventories; Ascender Automation Platform -1. To configure this type of sourced inventory, select **Red Hat Ansible Automation Platform** from the Source field. +1. To configure this type of sourced inventory, select **Ascender Automation Platform** from the Source field. -2. The Create Source window expands with the required **Credential** field. Choose from an existing Ansible Automation Platform Credential. For more information, refer to :ref:`ug_credentials`. +2. The Create Source window expands with the required **Credential** field. Choose from an existing Ascender Automation Platform Credential. For more information, refer to :ref:`ug_credentials`. 3. You can optionally specify the verbosity, host filter, enabled variable/value, and update options as described in the main procedure for :ref:`adding a source `. @@ -1121,43 +1174,6 @@ This inventory source uses the `terraform_state `. - -4. Use the **Source Variables** field to override variables used by the ``kubernetes`` inventory plugin. Enter variables using either JSON or YAML syntax. Use the radio button to toggle between the two. For more information on these variables, see the `kubevirt.core.kubevirt inventory source `_ documentation for detail. - - In the example below, the ``connections`` variable is used to specify access to a particular namespace in a cluster. - - :: - - --- - connections: - - namespaces: - - hao-test - - - .. image:: ../common/images/inventories-create-source-ocpvirt-example.png - -5. Save the configuration and click the **Sync** button to sync the inventory. - - - - .. _ug_customscripts: Export old inventory scripts From b891050a55a8c86b56e2cbec629324e594c7c3ae Mon Sep 17 00:00:00 2001 From: Jimmy Conner Date: Fri, 29 May 2026 22:07:11 -0500 Subject: [PATCH 2/2] More fixes and fix forums link --- docs/docsite/rst/userguide/inventories.rst | 12 ++++-------- docs/docsite/sphinx_ascender_theme/__init__.py | 2 +- docs/docsite/sphinx_ascender_theme/extrabody.html | 2 +- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/docs/docsite/rst/userguide/inventories.rst b/docs/docsite/rst/userguide/inventories.rst index 9f6d232e..c2936828 100644 --- a/docs/docsite/rst/userguide/inventories.rst +++ b/docs/docsite/rst/userguide/inventories.rst @@ -516,7 +516,7 @@ Key behaviors: .. image:: ../common/images/inventory_federated_edit.png -Comparison with constructed and smart inventories +Comparison with constructed -------------------------------------------------- +-------------------------------------------+------------------------------+-------------------------------------+ @@ -540,7 +540,7 @@ Limitations - **No ad hoc commands**: Ad hoc commands bypass the job template launch path and run directly against the inventory. Because a federated inventory holds no hosts, ad hoc commands will produce no results. Use a job template instead. - **No inventory sync**: The federated inventory has no inventory source and does not support syncing. Host and group data come entirely from the input inventories. -- **Plain inputs only**: Input inventories must be plain (standard) inventories. Smart and constructed inventories are not supported as inputs. +- **Plain inputs only**: Input inventories must be plain (standard) inventories. Smart, constructed, and federated inventories are not supported as inputs. - **Complex limit patterns**: Patterns using ``:``, ``&``, or ``!`` are not pre-evaluated by Ascender and are forwarded to all source inventories. @@ -551,7 +551,6 @@ The Hosts and Groups tabs on a federated inventory aggregate data from all input Follow the procedure described in :ref:`ug_inventories_add` to create a new federated inventory. Select **Add federated inventory** from the **Add** button dropdown. -[IMAGE PLACEHOLDER: screenshot of the Add button dropdown showing the "Add federated inventory" option] .. image:: ../common/images/inventory_federated_add_dropdown.png .. image:: ../common/images/inventory_federated_create_new.png @@ -573,12 +572,9 @@ Inventory updates use dynamically-generated YAML files which are parsed by their - :ref:`ug_source_azure` - :ref:`ug_source_vmvcenter` - :ref:`ug_source_satellite` -- :ref:`ug_source_insights` - :ref:`ug_source_openstack` -- :ref:`ug_source_rhv` -- :ref:`ug_source_rhaap` +- :ref:`ug_source_aap` - :ref:`ug_source_terraform` -- :ref:`ug_source_ocpv` Newly created configurations for inventory sources will contain the default plugin configuration values. If you want your newly created inventory sources to match the output of legacy sources, you must apply a specific set of configuration values for that source. To ensure backward compatibility, Ascender uses "templates" for each of these sources to force the output of inventory plugins into the legacy format. Refer to :ref:`ir_inv_plugin_templates_reference` section of this guide for each source and their respective templates to help you migrate to the new style inventory plugin output. @@ -1120,7 +1116,7 @@ OpenStack .. |Inventories - create source - OpenStack example| image:: ../common/images/inventories-create-source-openstack-example.png -.. _ug_source_rhaap: +.. _ug_source_aap: Ascender Automation Platform ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/docsite/sphinx_ascender_theme/__init__.py b/docs/docsite/sphinx_ascender_theme/__init__.py index 92ca64f3..0548ee2e 100644 --- a/docs/docsite/sphinx_ascender_theme/__init__.py +++ b/docs/docsite/sphinx_ascender_theme/__init__.py @@ -24,7 +24,7 @@ _TOP_LINKS_DEFAULTS = { "Blog": "https://ciq.com/blog/?search=&categories[0]=Ascender%20Pro&page=1&sortBy=date&sortDirection=desc", - "Ascender Discussion Forum": "https://github.com/ctrliq/ascender/discussions", + "Ascender Discussion Forum": "https://forum.ascender-automation.org", } diff --git a/docs/docsite/sphinx_ascender_theme/extrabody.html b/docs/docsite/sphinx_ascender_theme/extrabody.html index 71845f13..8a379748 100644 --- a/docs/docsite/sphinx_ascender_theme/extrabody.html +++ b/docs/docsite/sphinx_ascender_theme/extrabody.html @@ -3,7 +3,7 @@