From 45853176d4ec322649aef66040d6f5a002cdd637 Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Thu, 17 Apr 2025 13:05:45 +1200 Subject: [PATCH 01/15] add content to new file --- src/pages/docs/projects/project-dashboard.md | 87 ++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/pages/docs/projects/project-dashboard.md diff --git a/src/pages/docs/projects/project-dashboard.md b/src/pages/docs/projects/project-dashboard.md new file mode 100644 index 0000000000..c305ed927a --- /dev/null +++ b/src/pages/docs/projects/project-dashboard.md @@ -0,0 +1,87 @@ +--- +title: Project dashboard +description: Understanding the different project dashboard views. +position: 20 +hideInThisSection: true +hideInThisSectionHeader: true +--- + +The project dashboard gives you an at-a-glance view of your project. You’ll see a cherry-picked selection of your releases. You’ll also see where and when they were deployed in your environments, tenants, and channels. + +You’ll see one of the following dashboard views: +- Default view +- Channels view +- Tenants view + +The view you see depends on whether you’ve added channels to your project and whether you allow tenanted deployments in your project. All views allow you to filter and group your deployments to suit your needs. + +## Default view +This view is shown if: +- You haven’t added channels to your project +- Your project settings don’t allow tenanted deployments + +You’ll see a selection of releases and how they are deployed into environments in your project’s lifecycle. + +From this view you can deploy releases, create releases, and filter by environments. + +:::figure +![Project dashboard default view](/docs/projects/project-dashboard-default.png) +::: + +### Which releases are shown? +- For each environment: + - Your most recently deployed release (whether or not the deployment was successful) + - Your next most recently deployed and successful release +- In addition to the above: + - Up to three of your most recent undeployed releases (but only if they were created after you last deployed a new release) + +## Channels view +This view is shown if: +- You’ve added a channel to your project +- Your project settings don’t allow tenanted deployments + +You’ll see a selection of releases for each channel and how they are deployed into environments in each channel’s lifecycle. + +From this view you can deploy releases in your channels, create releases, and filter by environments. + +:::figure +![Project dashboard channels view](/docs/projects/project-dashboard-channels.png) +::: + +### Which releases are shown? +- For each environment: + - Your most recently deployed release, whether or not the deployment was successful + - Your next most recently deployed and successful release +- For each channel: + - Up to three of your most recent releases (this count includes any already shown releases) + +## Tenants view +This view is shown if: +- Your project settings allow tenanted deployments + +You’ll see all of your tenants in your project and a selection of releases deployed to them. + +From this view you can filter by release and then deploy the selected release into each tenant’s environments. + +:::figure +![Project dashboard tenants view](/docs/projects/project-dashboard-tenants.png) +::: + +### Which releases are shown? +- For each tenant and environment combination: + - The most recently deployed release is shown. +- If untenanted deployments are allowed: + - For each environment: + - The most recently deployed, untenanted release is shown. + +### Alternative views +- Grouping: + - When no grouping is selected: + - The environments shown are from your project’s lifecycle. + - When grouping by channel is selected: + - Each channel’s environments are from that channel’s lifecycle. +- Project settings for tenanted and untenanted deployments: + - Both tenantanted and untenanted deployments are allowed: + - All untenanted deployments are summarised in the first row, labeled ‘untenanted’. + - Only tenanted deployments are allowed: + - No untenanted deployments are shown on the dashboard. From 894fe3b9d4343e8bce4536b9e86a4f6fe45faf5b Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Thu, 17 Apr 2025 14:14:39 +1200 Subject: [PATCH 02/15] add screenshots --- .../dashboard/project-dashboard-channels.jpeg | Bin 0 -> 321333 bytes .../dashboard/project-dashboard-default.jpeg | Bin 0 -> 310724 bytes .../dashboard/project-dashboard-tenants.jpeg | Bin 0 -> 329430 bytes src/pages/docs/projects/project-dashboard.md | 6 +++--- 4 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 public/docs/projects/dashboard/project-dashboard-channels.jpeg create mode 100644 public/docs/projects/dashboard/project-dashboard-default.jpeg create mode 100644 public/docs/projects/dashboard/project-dashboard-tenants.jpeg diff --git a/public/docs/projects/dashboard/project-dashboard-channels.jpeg b/public/docs/projects/dashboard/project-dashboard-channels.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..be1bdb3180400ead329e0a34aa1c8691bb95c125 GIT binary patch literal 321333 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

i|h07g3bls7d|L{=$5y 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 z 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%0A4`8$}YZv53jAmkY8ph9 zX&^%HW-?6cQ0ej1a0#Dek$etL&Ip4hm!#*kMAZnB$sf6a`WagDPpTR?*f7V9^Pc>u z;o7k3uS-mBm3a{w=SXG@jggdB1zn2?x4vncdIgC9w}klOXumD3G7r|g%@oadAJ&`k z+yv&;!Y@m>@7eQdkpJm{R15f(MEOU$0ZCAG7^ZLvfU?kFRgvT2g?+rW(|ENKIN}b4 zTe2#{Wic&&cjM>*An1!aOnv0ODde68mt#equvUYzW{+A5QW^A zNdyf2k|y8$k5MHpQ3r;urgZf9<+SHFD3}^QOi(El)_P%L3>T?CSv6Y1vV(6-x9KCn ztk?|9Q`D{-cP^U5^4(1RG2=tgDzVoMRloUnLUd;HuI=Jt=dme=ZUBr+?hOS zjwN5=ZdGk|*hdkRcT})fnU0nRLh`I#Fe|(*({5L0MUo2|+f&ZDzNYJ@svS}PLB$%% z_(Daw9^pab#B9+p*XdZi*j=_NR5ZJLPd!7b9K@(~_1-?n;6>jC$yB*nhtna#7yGSd zP2l!aC+z4LmIkK!A^yUmqiX$|@^zOhBl}7=#&xzg%$n|4|AZ}}nmD>Vt>ML4A&LDS6Lc@=lPKscrCGGDMYpXQF{BhRHKUz&5 zKUUyR<<=4`t9p&6Tl?U14I+Lqq^LOlX0*U``UssfUxW$OrqO*is_PtX(r%8Wx{T7qKJy3ah z0f^{@eB~)k?;CDZf5A5b`_yiIwmH9)G_x!kp*|&X!K%=u+$3H~0%EKYxMpse?+)I#KZfPj{fGR4$=W+yjkGYSmrzY0c<>>@x)98pM5Z)G~ztKk2|9Ya%kp6wAhFTSwN~*4niwP zWYxj7KlWO?nMe5er=q(t=1J94x8!jvA6DrhH&Hxsf;ydySg7u-7~j2Enb~?TZ91(> zcf$SMhQVT`ZM;^5h3Yp@>-_c z=A}$s+Q^E)0ZG8j(M?@f!>P*ZBT5?VkJdLU3Sy$i6Z?e@VmaRrlPwgrG1Wya!7l>^ zhYGwmClF+P85L`LJjllAOc{N)?R)S-)lgK=SHCZ{&RKN(a;6ijOo|NXQRGU<+A2pt z+*c`ch+_KG%Fwqf4PYdZZmi{;#oJO_DVOV`qLC;JPk)I)0(4`1-{ zm6GO)7?!a1i`(veGRhl6Ji&TzG*)K`_JJd8>(z4GGCDYMinL2wtV?zgZijh%Zy(1X zM^5SuD)`R`c3Q66n}rADy*T8L!yd<_Ny< zai>bgtxrY(W#3CrX@uGoq=s*on7qH{6*O!Z@!k<9-|uZ9*mDp;;Fy6n{Gg$7mSuUH zt`i$5pQ1U;dXrV`9^C*7aXIU2Vc7=TjMqi#df${L5|rhf;f=|zD4M(TpHr;$=Jw}= z=hN`R)Fat+Vqf_8Z+;)wbFIVXo@23XSnX}Kd_Cv%c(U3qMUE(WG6gI7PLWpQ9CyP} zM-{U3;?A`B(oU9fdVwrVFxOdNxy`%1Et3qQHuLI9c}_JA$yE9mz|z|0MBCK-ix&0E z7xNO}CprNu+l)8sYDez3kTicdcTvBr%q-2JL<9Tk>(0+$vQ5D~nl&gLo=Yy6Y}&jC zB^M=gZch5sG4#Fl?Sw?~M*$Az65c6aX}@?i1YN>ubq6A8Sb%J6NR+>I>c_SGrWr`> zhk@+b>98)b;#-wZ<<6h`9D@_LLVbzE>pQhTqkTq|EN1!XD_Q2yOMU$JZaqj5zWRUy zv>`7zSF^NezOp!6vSQher_mSGT%aQ%)zz|EZ5b;sUWGHj(g3&xI`YQT3T%%o`FQrRaq5LldB zRuWM=y;=Uz{8`o}T(YZs#mKQ#ibawet@JvQwL*IO+PXYQ+g^Q|Z9DT%c+o<$RX+EG zbxPn5ieMeH7vIOqAA4FKIat&?oF^A$@zykQ(K7@p*yi}#|HKUWZ&`MS@+kn}|C|Vi zE_luV0^M0MU64tv!Uo<#%e{;0a*$YG%aq~AGZyB5-hYCit5b3fA$ z;nsbr-ICH?YL_E5)L9)I6wc9glZ9!^zwYi=acVdsQybaWH-YHjZsDI}?bcVrvLeEe z*4DmCMz+kgmgc=2$HUPZ$!)Vjvb5#uGy+i|x}mLL1)wr$G2J~z9T>;Vu6*yVUDSaR z**rAAq`Nskb@YvG^@P^H>^F_xg7|Z1Q&v3B_f0x?gvcxoEbsX2i)^la?HrwLl5?>br z_T#%rej0Mcm6q$V>luOeM7xx~t?ARcbO@m$GS-zmv~LKk6o5XslD-=IRFGmv)z5b` zQ?~ZJilHY$CfNa%h;+{_qkc5lV>L2>?uXADnVOG zM(v*`V!;mL$6N$)=t2%Ty`n?c@%Sl8Yxs-GDa+<>#zE!Emu z(Q@|Sr189Bc952=;x~GI)c!NfNNqj>e>1SsG9cnF9jhm=ivH5Enz`x^`OV?eWPUj3 zt6ba=5WdH`*V2T16qLGY@cmRj(pR6>0z!RSA(O~}9ky=*a=+Lgr%ARi9W{q(nFXC5 z-xPRRAoMxh_tEv3abUd7hYj4Y3~)pW_ELsa+pf6OF6$_g53n{4^1H|}u@N~q`f*;a z5v*1|oNtpu9xyKCO7*q46_+`gfm5Gd&rsk=Dd}jnQ?(j)5L2lh-Cj{Bo#Hu|1($amgo{ z&yW)|zyd;XbE&hR>5cdZwW`l^=wVNg5~Pexr`Q|MZ`4plqJkF4z<5N}BXmus15$T? ztK==`<=s+*#nkmKN?w~9@RI+Qe>?Z0{SZX_7wGbMGJx5XT|E(X^(z3PK{Rg&v;4-r zs3_v{@;DG^4Rqr|%7^UM<|!Zt<^5N6J^x34?(Z~j8-hzUet|COB%UAv(nV1T@yXxG zJO6VS=l>bZkpIVL{O3LCzxLJ7uK$u*@4sSxeD<07|Ms^kr~3sOGTb110QOn)bWFE@ zuUI`zeEJ6-)c>wz?`I}@=6e1IyPp4wiT+utV&x~;4V)1~4$D;fZH0AqeWp!iz3QRr zLV&+Y6Yg=5P-RJ%0vli@w(fSQ*=MHal>8tW)duaTGr{LAJf6FS$)*b(C66u+;WIg$HDQ* zPv*UM^tX>|Rp>)O@}_LP63Tlx4=h7(hr(%Qo7-ut2UV(*#S{1(OtIigQ)`{k<$AYS z^BHLkT=$TYtEHNH*fU#!_v}R7GW%c-yb}8P91leR1oB|2gA>bg zclvUeHCkqG?CB0X7k|}A$ermyysb;C{0EwLgwX9$hvBJ>E#>(dFsh^<804(>tq7w0 z!;kbEcetrPgw9(w9ty_prdmZ_uRgZBllnCNI6jBUOM?x|vc}T)3&biu2%{y8kD^_8 zVz@bH6@_Ih3Ig8D=>%pk%kEj-e&oFNjBc68@zP?#ohQT*4+8WTb&%jV{XIE!G8Ad= z+Do7lr~O)0mh|pR->uWKo)vr>h_+@pfvdgtf3f%8QBAh(zF<%hkS4tol%`Yx0Ru%7k`;*X>SXi#ny_`Gsl-(`WjOobJ;cZ9Ie!_Oy^kF5-+*!xSz7 zzE1^jooJlgeYaT{WZ5ZAiI{-Y_J%=Lf)TtJEs9&}ZOcR?GGD3V`ru3JiZ78DA}4n~;W7sS3gGOk%LZg~*5I-1=o6 zXV-F9Sg$?!m7kUzN)bpU#(Mcf+fBe(+qMu+1*!F1;`~kP!@S)rp?W2?vmWm&l9*n` zd>=m;Z`CK(J)rXP_?Gzh{rs8ZN5hDsQD`>0R&h^o^$a}ob44_Ps8}o=ZiZ1gRq`MU zCQdAVjPwdVr?0HZMJ2@CO+y*0rM~j^#-1wm7L=u;HMsES5@XvfE20hI*)zJnN?Z47 zU%MTJR5lSVN#QzOkdGWsep=q8_n$bI^YGr&P8(Cb3lk=qY5*1E9~Syh{*C7BLm~2; z)Cjpz^RIjsw81_#;EH(nU!C;-_x1leTJqm(_|L5&n>ys=k{xoI8gg{qon)LuR?h(c z?f|mYY#u`YCNk+?wYh}I0leme*gv4^$~_j0PXdaOC>pYw6pdtxkb|Y(A9egyr_86$ z_apaK=;Cr~iVpP&b-HFqq{%Q}=+&DQB|RWC-GiBSL54Ldg@ z7zM*ntXW7rV4vMkr?`ufaV8n%)tW2SmGI_BAR*X~OQ~eU;nkzU3 z*L^&7`W)ruresLIzw>;Uwx1s^kA zmjgEbJTCu5qjTh=!-CBKecfR@<&W2M{X5K$xSZ*Xa|+^DueNIAQ?ZF9dE`kOpKfFf zgkBy61PIx7IvG@b9`n>Hzd3YQhig$^c8*8TcQD(ewLQ${hWKxhSiKkXxBaV5jIe?o zi0jRy8cEfwKZpWNgh$H*Xi7VcqPgBe;duS*@bF+fEQQ*q@ZsPir;Tz42R|A6%Fe#F zD{v-KB|^m3LzM!@UbV6mJKL5lm5ren`MzLfeWI@E(vocW!%@R;@sT4Jyjs2bwZ~Cn ztaoAeHw2O>OR)X)6Uhs4H&E>6)+D3e6EO6GM%C!%+H_^xAI?=RVb2?qCruxL-=6n$ z3cGu2D5#+$DFMQTeBu+0Bhui|?FSsNA{%T|?tsQ5{PyGHEW;Ad$1X2(m+87dp1k7K z@9q05UPDY>^Jk&{st&ztZ8ca%Oi?uYkx#4wSzvT?0{HW_r!Y9p{p5mn;e|m{`yF=E zkW8mnI{TwSK7x@8HP7f?w0^ zv3kHo7ujYX>OI0a6e6c7YVz4c^+M7ELLGJ-Z$~h3`v{j+y;apP>OUvV3G>^TNi3uP z93}wIzD;!?q(xWBqBY3l{Q%SjQw&9bJ6BP&K3|bcDUt@Cjzt`YDaSi_cfr(v8I=9SGk*f>a?>8|F$ZYOjmzVM?dWBq$}hkyM! zP$k3!iZ#F|5`0N2ppvm6t#rrI#O?XBWyNHn0igte3zw~(V(^=xKSXb}6E!9SLM-jt zGR&qbrKAr;gbQ*vEV3*`Ta;6bHXRVs{KW(5(=G#>a04Uh(&FN0debjvm%~l{{BUNhg@4Cm5?M%phI_9kpQpx8NiAO1^?V6-2!qT&}U|+R(a_2 zKxUCE4%z`>`{Aw>K-|=pdq3fiS+Ce^5M@T}67%jhU0Z$(Hr9c($uC88mu}aVj~<Fo?#T~mVM~lGKPw_l%6L`gk5vFBy8?FX7%QTNkvN=qEb$jjqDE8Qk={kEc9ZW z;}-vAhG!tm;6yEO;6#WEBt9#AXHghSH%9BF9z-|IGG{yNRirEIlV!r2YpX5DJXrlO zmomid>^|H9`4V}d)d(jxb!`(pUNI)AdR@!pzFyEc?p2R$U835@Z4>)GzLuHx46DPGQmyfx$kltm z6s35eZ|;=-jFkwRgt&rV)~jB}2?`Rz^;)vECkr&GYvyfBb!skvC}le(Jimfkj=ew+ zsl=XJ-q#C!u3Deh_JmYc*#^D3Pg&RF*hHxJ2v125Vi)~wGYM(YNXi?Xb) zO36Nuc@*}3degFZ1n_p}K|4dD@L=ve)jO~xGu%y%DPIRG=)#b2#nE`kTH@`Z*M?Po zdV2BPH*9I+O*o;&>*D?pkK#{^D=sm=A>2ecEGj;r%*?6SBTEETykL9TvOjBQLD;{2 z4K(xxflgX&r;E&2DBtJV^l z`ugtNvgDDhyAkT#t&g;?=lNq8b*8^_r0wmcGsqLx}R!a=)~ zM`}XqISxMwyev#yyoO0FH}bvN_)B{*HX)vw`e>Ek<#C8zPTI(5zc@~ARrIB*3Zlc8 zV74k6)h6QMAU|Hzme|>)^t|Hc$FZO_4H1=w^hfK1Ro^~*`*rnUfsADDZf_J^t%y+5 z`NA^RKV90X{KuR-`{0XOMU(O>RJWDc8;MU5g&|xGnuz=4@BFt36=&**DR!W@N$NCW zS%hhHX7N?e6T(f#AG>a*MO^n4m&?zu7D%~fDxiK+K6n<&^R!jG5^hdPfViV*iQG8L z_yB1xVAAymluQ}lT$>dRM5t}*vfHwIo4k_qpj z0l5?+KAF7>vJaEmS@~C!v;O~-Bk^D5z5e|gtN$+=LH!Sn6{uLs`(aH(%FcF|@4dpD zq`Q*l|_Hhv&L+M7tZH7r~abm#GEf!`m;m>W!}`#{5Py_kM8w z9`t>1E^_pO2A%z^+3-T!yOgIFb^uKE zMx1xZow2UVH-5~|muDF8??0^&nfHE}Umv1mnc=1cq{h+{9{CT++&iub9n<+r<6U^3 zX9*m@L9l$!OP8YitIUVV9fEz`S!t)cVOSmZtYcS&jX$n7dG9XR-B{eDsZg3^<> zdjXqsbG0S%6V)1CR~lj!9#E}4I~#Gz^3ORE%?W@QxK>6Z=n->DMm?3$4zf7us8*g* z6dOTm-Y8(j3bn_f=q`{W@LCRONMlCuPtDAjpfGJdWm)Zo3KV)trXkUX|wj zK}hOSQ23O(V8775yyeo;Wch1MXU&R<{r(Nox2_A|mc!hBn-eOf@1(lCHfBQina>OX zi~*dEs1d9%4hupd=8KY`RFOx4ve5Hj-!EL4u=SbM`L-v5KO)1@m(rkjNhq|3G!^m1 zXsgEPKs!|in~}*G$82k!|K~F+nE`$EBe{l#a@q@B+4I~LnT)Ggxw!@fQYk8b(OJhylwmq*v8DdIolp)o||FPD&K_es(j13p;tfYXdd-lTd+vD?C!_h z-U(n2UzjGc=56Tnptxbk<&oGrFv!O6`vB&N6RUXi4;oq@A<$+R{kK^isub}pWXvB> zJvfX=a|QuosuiP;22e~}xdP1%b@dI*74N={(=^1;N`&4tIxkrKZT^;!pSGdS?a|+R zK=vg@ns7ZA^?^^WixykdH4YOsew+Z;zV2Zql6rp7Rx^EG)A#fKdAS~2pDWM0jpmN= zF}UYB*znF8`1N`mWo|O&?M;&VQcu>sV|HWPZiS7+DcwirV!u9E%#K|bOekWVylyWd zD)01LJ(duS4<;3Qe`*8iua3mGfv4bHA7RRxV-d4cEt|KeCMzZl7Fu+fReFNX?ae-R z<2MJTbgIfR0;{m@^$_>55bM#cfMoENf=A$V{YGCy2Zl##;`{=AYwdYIi_u)os7c$6 z9&Sbzr$u8REHIz;(|d~oIPVIlJh$iF7p8$^@8{{GT%1>Z(k&j?54UR>35DL4#~|4O z@dl6-Mnk@ALwxe(3wdfx-gQ|?!r~rRz;!80xEnjEJ&Wfvs@k7j&H^w zp0zo)degN7_8uBv8YcYDexwI`wCGyEL}Pl)SCeT4^BFX*3&eh}M4_F*Ckm)2C|-OU zb$Z2Pi#w`(_b+Pj>yCer8O#`s_5t*9%@9)j6#7&<2%5}xdT<8FxBK`;|A2O%08P)B zazF7^<-0*3cJ>e=yb3>-4S5_gTd`KMA@P zP(-PTedT5P_M7dL3#+}1iX_v)?BGF!efC*fXY1M=G3UW#olY6KdkE6_??gFr<$(ex z;$U?t0n8R49gk3M#-)GoPWP>K^K$ciccM_meyx0|=MP9mVxe!DB2=*?8voQZd-CY; zj*5l#Z%-9>%d{fN{HcW{A7PU8waRTrbk+-Uy7*Whd1>IcYD4HB(E1+`sRf8d;PvV9 zVn66YF~W^j79eERIs+c#>hO06JZ53l5V`mW`VNKF^I>uG!9MFoP$!S^IcejB8X6P^ z74+(lpMTfpO=N`plw8-?u01~oDXGIkx{U~;s15*Rlb?VG-@yo z-Qj0)oQn!#&MM!|dp=qF=x6kWy&N-wP6=#Qg^>~t1aQZDL%0SEDmq6LyJNFtT{sWj zDO9wa+MuHPU~M|AOK~vuw}Z8uT-`#-^4>(yS)2_ zc~9&|spfYKADlDNJC$1z-QC6xEH`v!qoWXXHJSb-z1x5dv};Tui5}pBE(@z(|FcVc!2!cc|+_$IDO>){<($i`i;pI=bvr5#*~}` z2d1)|E?vmww=!zWBQxl(TsfTm1h-aFFh)5pq6G+D--~Qz$75?Ngd$BWhv+gzOEJyj zO9Wv+o_zbaTSC$+qS>RBpK-|nQsMM#TGM{3m-tp(W~o5++aR*aFQ^slC*GIfwwe@% z#J+DEQH@!#TB(nnx!H8V%$AgHp2=mSnQR~T$?jXZU5e3QAVt4I^$v~xb9+M3nFf$B zu9&ygCWKr3>~(~?Y_RqNYSS*cS6fkgi?rVS?SnPLy5rNY%yQw-OmN-OZuW|FWZPvl zU_vFhTDG8JQZ*qk;UxjTC-FOuwqZibl4&--b3M)EN-|T5xmf0{^DoFr3*%WUXHCQK#dtUVW*24o^^6*!+)$(0Z8Kuz-pb;7Q1ho1w+zs7JVf>c~37=*Q zbMq_QF#5%LrpZC0${h#XDS8Eww8ecLpSkXM%>Go=9zCjLbW?c29_dCOl~dHtS65ik zOuZ7u`9@6ZRpX`7_aG`Y8}rm9jeEe5_&=6wN`|-HMD{u2mPqllz2tO#=yxxqDwG?t zRs}mC_joz|0qF}@iYgKWci@VEH0)eP88PW*UOk{B+_APXqt5~G}oX& z`SFB2mFc6}h}@!&o1T|nF<6~mdjhtHKPP1TMYN!3BIO{M)mV=?nB?195I}Q1g_7DT{0@#^5&wV$Ya)?rZu;a!U=O!GwT8Y%HMI6E zBWF>|irof*Ok3=h^)b(s!$v!9lC*AbIwi(e-RBHchHXPD1J;(f$d_Q}SEs`^u!>#E zB2Cq9?7>0HkN74FJI=AY3UzutyF1RG$MoBvNI_HP1j1Z%4a&DKNTJA zpCHDg-|}`PYvXWgm~$=mLULMx^FxIBh1iq)l?Eb9_VU3?xYI{iuicdV5~uEmH{^lp zsV6bJd&JaciJs)^zASzvjoP`z9t(&YIK#9M+cw?`CXFe9P1xwpvN>cl68iwjv%M(d>j{T`9Ad~2`Wl(J zkEv;i7vz`KY)wwGT+QvtWD_DTT~I9vv#$aS&5%HbfT`Cl1(*6n9lwr^(-Z$bCJVK4q-V}Lm}$`hc=(zD<*X?!*g zxpy9y`c+k8THdoQXC>HPwR13Buf`O|%asLLq<;GH^`rPy8Bk;I&VKTlG+cQU=_+Z2 ze_h)+$ z19wFOh~_ivG{iN+>$S6C(9_am85)ZOx3M6;tMUSYnZK;Yh|Wc@#r_>Hs;=i2 zF-3+M>?W-#n!Xp@tBCFDE7}(7yz6gZmJxdp*MZ8}O*~LPMj=|UIr$a%7*ZL~Kj^ev zc{A6y7J}NXLJOQ^A3K$%3a=N$ zd#0;o9G_S#>QD&0~wUUNAR9mCyS;}*=(0? z%CL1O=hWT1?GF>;T|RuYfvaQf0hvu5lwxKFe@F<|sE_?+GCqM)nq73ZNLY%06n^eT z@N^Hly6HUr9jWLt>a9mJQ!kve@+p!#fBCvoDsa(OaeF+1Y1I5HB%p1`^JxfHjp(7O z`8;mp&anyU6Y|LyQN8gx;ElerQF)&A`FV|V@>-DTZEkj?BwN7)Wuag*5yTh5sl zQQeZ14tK_JtmL+F@-gin4MFu9hgAdYu|r(TiE8cNZc|;b97JLbQQ=U!0LaWoFw@Um z?s0i9jjrkDSa+7CSxvt~HM$}1*BhFi_t@lWA9_3bre@*LQOP+F{5b%mS$S(e6dm1a zg5i@hO8C)`=5e_?;I6LdfzDtEAXYD3vmDPC%$zgZ^8vP|x}jRhjFoI|Zq?hQ}*y!it`&3{&z|!Qkw^5xN$j{*M^W((P*YD@CYY!!8t(%Yr3ay#j?7emACD zQw~UHCDAr9-FWCYtFX$3z3*@XXMR9rL3JXynxWo`TdQ#S)D;!doG@^V%(wpG4TP>cWq8H=OEBuiIN( z=SsT7)aQ7Y>s#ex95k*~X4(GY&u)I%Ny(dDSNk;V931*Tck*M{)Sd`V&mkeUScE}ynM`~cGSP`%tq$s@V>6=*ktCoMngYgcSA*n z^$pA9UvJ|(DjHH7`1K&}MR^uuCz^A+dAN}IX4J3(>=PHufvmP{zE0WvdjWXP47*Kb zdjh+GN4G3dJe|jv7xBzSU0QlQYfC#`XH=W(aJ13wQZa*0Lg@{oN4MphPGcCm8KaL? z?_{h5d}{K5#P032O{=ES$QoVXq=L7oS@m!sPN+7Z2U76W2Y+n`F7!NI2g@Wg412Us zY4`OotE^QSO|kkZT~Sa+d__Cma`?L=`BhXEI+D!cfvTA&0}xv2{Gtb0wxN+<1V_0V zl+`}9o)EF*>ZpG`Oqcdv=InzQ3a2a2Pn31Am2r?KNf9>D9Z5+@3Qr*Ql-8mp9q=yA z<<7e9z1EPf^?Kfji`Fmc(mRPBedKkfyN?X_x|zjcEtm`xc>UG6 zY8RfW@zJZcjw}y}DMYAnAM$zhqExTvP;2Oi59kx}Al0G4+Ga70p{{V=t%fhpc_kWK z{jP*a4K}$87O^6gSx!I1ZX}$yU+lk-vb>kL$h$lszPxAh!*B2@XwC97p{2Wxn;^6D z{uSkLkso97MPK2r@Pvaz3t`Bztgd{1iE0wIvU56hYbq|V%w9VC^E>@OS*h=Khw9h1 z@?U=U(}kcM#3xjYDt~4uRmNBZe#va}+Inz}kB#bXtP(|!YAwaK;3{8F6;gO9MnHI7 z@c8w+NT6q-$4^0j zSzv%nNB;*i5T14x01Gt78SQ?+QR$7o4~|Q#t@(1e%Ja7SQHWQd49M?!H!ZlMH5-4O zluxED+MQep;eq0!;ywU`xtf$-Q(*4NC}D6^4XZ?Fw9E_E64lvhjFz^m8s-KZq~U>Xp-LZGI!y4o3Ge*(7O+S8j`2 zC!%=_>?I$P;AJHHYt(8pHRHg+Bq1eyZ2N4?o4 zGRsI(U^W$s^u+~$+%PnoJKE>Jv-JJ`dc<}L1(Kf8FWXpQj!W%m#+$(*EIRcP+ddaD z)=LK}DYxB(l0VDt4|aj%LIGX18y2z>*nTz?Y)p8T2Nun|Io&Jpf1m zof~Z{qsE3ox1dH9Y`_jnb;5KzEXdQDP`qtAU^MloJpHt>#<}sn{&<^fXIlMns zG2DM?mI?!o1>d%uw6EZMIM*Kl($@Rhd298b+m(n1ZA%Y?J>4^8_HyDw{a0K5e%?_ zoyWOcK#K8z7k97m1qaSWU2iErPDTZcWzhV!C$qG#GnIX_yh~m6=;f9V2ts>x%|v>f z{cKO38{GP)A>kxbu&P$9;Pm=)!5xndq|*{FP(LsLV)`X+*V)H``JIaCW7ga2M#*U@ zr`IMYbyQ8A^_Rn|jIN^XR9OICsT)@LZZj6$u>d~fxZm39ak3124i?Wc5^u#FG^e|8 z>3n~9!$B@S#Sr=u=`s?&ME?PIry-oENMFt`7jn9*$TAPrfE#7M#x3Z}QeJhVFuzow zKrKKgYGQwqpjMF7JHkxVCbZ*}@eij}MG3!F7sCtPn!gmT*CHs#YX`u!!(^wfdV|_- zUlzT)e!f?%=7NMQv=bPK?&z;jyrR(`P~nS0M4lV!Gjcb-U}0%-7RGSyG@%t=Ez!_0 zR^V$_qN|b?9Cf+MRJ}FWUhYtKIxzT5l1MXwVEX}QX~m9YE`O25Rqov!X;_lZ@Eehc zB;uY*@kri`roRHs{s`(0wmK4>X)797s;kc|>I7yAyO%Y6xV0bU!F1-X@!r$yj(74Y z`ZkDG_W*wA%9dh85CL~?fIjQ{Fr?pk+G4F0Qhm2_Vu^z&ils_I@IyLK>~2tRZ0&0s zTlwf&(P$Z~R=>M#{-#1pg7>184}GJASke_cq@xbu3gIi1!;wA#%V)tl?RvMyH^*>K%8s_^*4h#9$sQbajd4XT8@`}+97X1Ar2cSlZfHAP#$QWkd3whz$xe3ATyBx;4kgd~X zRudXAB@gt~ZYh?WRGt~Z^m;o`)k$BK6F3}Dy{a^$0bciXi|ex$GVwp8Hst2QeV*P= zri>AZQAFiD?F>A2xC6Tikd4rU=ju$J*eFa-FYvA9lUka?S4N}>#49dobpdee(b8U_ygOVqRV zE?;_mw=(A@`iBPIZ0u%&<-K~Wgb`qi?z>PseLQBg-YI4n!#m`=(V^01x@dd->5cVh zR*hD~P=r z{b6jEV%jW%ctB1PUAb%1YE}(_&ouwCPL29U3HIz{_$KoFH#fyj9OEF-uuc%9lLvtrm~LJe}8wzjl7mJIJVC zZ*Br^fVl%TsvZmQvcThe4NTK5ra74P>8o=`1!W$9_g`9%cNel2@zhlfMT`huGD*Ce z_3i^!alG$XKY(OA-lhom#zA_}EPS>WBGdQlB(l7-65j6R-x)bxhtnSo+p%>T(pbEZ&(6Oq~}$wW{36MHj~6WswbsB%{`4$O-Zf2ykrLYu6bpE}V}v z=Mut#SnCcmx{Y21a(C}8@{I{!FPf{;&0!?Mb&7Jei8W?l`DiwCW%j@y_)98@PJp$A z;G8v={O#AvC!9>@|A6cnsdhd@fAL*iJqrHpFV`@=2PZpN{;o{>ZN%it%{Pp4F5gk8 zm)mIoJ69!Q9>?sv2qg2Wy^>mE2+s{K;hGNANiIwayLxUAD7bi2bhju$A#R1lC!=+W zR+?1}nT<3O?;oEjj6sY&N`c#Gj{NQq=ur9(=n?dy>kD!?#!KmrQ|F7cj}?!uJ16e+ z_&2@mXD(;gnR$~Y5FXx+`BK!55KXbP2OIl!CC%&f=0ZYI>nAUasYapLY~(nKtO?** z*Z$@g+wrkdEFwF+{(uaTCmer3pYzEqKBs`Q*f%sO@~OWuRS?j%H;`@v<`__NM-ssR zy*&b0F93)+Tl?r;zD=UY($OYB*g>9Mf~+V2s5*og2Y8cNQfYz$QUCOde&}4)fAUaD zGFN7&9DEY_>EkeYj0{m2ySp5~M}3-@*J@ZkYd>#o*uXw)GJPoc{WKPYKNXkLoyeb* zm|D3w1s1P7wnA!5SmgZE24rl+6Sym2%+kGzKI5uOB1xp9-_QQ9!*~ZnAFTES!TUCu zQrhwaC}qP`+$!OBaE7Q=Fx{ZQg#Qd(GQ0h^_BZ+YmHz&Y<+pCBTz=|tlw^uUbtcW( zcCxogV1IWZcyaYvkHR0Qw>eSAP^4>8-YFLLD*i-KhVSibaQsxU#pShO)(Nm zd69ZAMdj02fA>P)Uj}!%xR+MISNM!VN^e6lOvSfHehe{QhLx#fzce;Zd8hNu%y6C*!jS<~ zqCdX}%C9M+`Hu+e;zipmMx0yY_dll+C{s_ShfhCM6ng}Y?bs9y-RbI;7&-+hfs`q} zezMfSvA@K4xcR`9i)VM9s`*NmSKHiAy=p|$+0#u!G4Y!!S8YoZ6yoH8+wak$4J^>5 zhIG}$fKG|A9*tFm1eX$ZDT#;H#>du8RNoUaseVj%Ot%SQ@!6$6wq7KbID3@12a~&9 zro3l)d49%ZnBjB{+#5r^n|{KJFtuu%yrg1+$|nwofw# zE@VIc1IqR3M7|`_dss$@%YFuY>;0&g!^Fp16)WoVx$2rB==jHq$J5h0%HOHX{(HRs zpEq9rYwiEB5&Pu7lrEPSs)__!C}}d=Qujd&iVa;4Btt<~9EUy*;TfxgAdko+iT8SQ zHX%71L78XCd%bX63VOo_{ix5Z+{O&-F?l?XrZ8V)>2ged zaE-yj(CO9Q3ANA1t-!%+3u)O! zJN;6fR31taAIkP#APoO{=aQJV&ds=+K#IX?V|?1HFlc2myFydRPsl7}W)9I#%B%mm z9t3t%4a`^zIgq_G*S6IQd19iUv#R%zUv-5Esj;*DwcVwR5+SM}DYmMz3%16XY_n?^#?-B;;K5KtR^PrzpQo|o%5#jHx=7&}cEZeI!A(3?nGQJAQ zLRZ)6(AXYB>ejh9+n^H7e*+v!8fKMGqyZY=^pdMn&U@m8ZyO~SP z8@5TcAw|PLC2tFKE=l+IH_tD*7HstPCnX<2XADO=pzN(?t3H&3$XdW@`>@{w$pTZc zPH$*x%n`C^s%z4JHB_D%GJlV-AaLO#RC*u-uSghhS!o%GY_{zE;s}XW?7P#NWj>tX z@vMYaJZ#bV^Mr$%)U?GzYjaDgb9V}2Ni=z=+Sg4cy+B{37)|DeiECjQBlBRj6_>`8 zmCchIbWCLiT0rNO0hjZOR;e%TBUvA?{-d4Ezdhf0486wT@&{xG)STZnp{3lG#4y08 z_h$t3l)CI_aXBpZTESm<93{QB{`hZK)sf=4g6$tS)}JlttQ$27OfxBVGBSL7#+zXh zEM5X89Hu%XXoCEdpf8Eag}2j{k+r(-q8huheYb9~hWKXvEY1u4-(l&c3L!NR-0Np^`ilo>17cnIKHu)(3YXb^pZZmvFajMbPwu_x#ahb8%jWzj%~|EL z8gSNZE?DBtNT|B(?Esz;YTJTw=0V9%-g{U3$h*b{ydHl*6ebQ1iWFiso8hW*uV7C; zDK&Q)rx;GTEfwXttT?ls0c1WpmZ~YqECL+IKArtX|zd8?)#27-bCIT>I1e1r+N7s?-`o=(KPzqTAdQBJTDJ%N0uo!u0 z4xW*3sq7_&lXQBKDyqjoH-U;W|~zuo&_&ei@btatQ*^V_3K zG%A&Vj#QBPrlNipN*uQAji@uwW45qb7Uy9oJxu0Cef=ztO$e#LS%_wT zRjL-~qoqaA-1J1ML0PALkD@mk_O!8&elr3Vk=<=7IOkn_n;_0BJ=)b#vp!sN+(r9g zOwP}ZleotIr_}ac48BJh@v3aFN^62f5ss5{;hH1D9%@q)9xhY zrnj*`a(l=!U;Cj(uuB4wZDr&Yf&-03#_nluWEX2!KNy}eWmxz3F5UVn`*}+fekG3} zijhuK0Y+9g2us~QAISmSSJ~QsT`P%G*!u9f2-e<5`JD8du3AmZh-nu0 zIY2eiP}9Y2HXt#%Xm(r4j%jwrT7&OPEz>nCOq4M7tJqtYNZV}Qu&57vLsF-(xe2n|m~J1TgZmK{@?d4%Pl+zmMCCh4v2_U| z!?WVbwq;g%HE*bo1xw{Zc{t~9ozEf(R}PQNKvp?AkRSrMCo3?a)%k;KV96@#^04Q@ zZyuObyn$?Fz{`2P_Rmk%-z{T8?>H@sc0*o`67K=H+ArKE+Ys&UHr`r$n@+ph1c5lK z(e;3YCop5m*vBsB0mc_~dG{7iRRu`Zh)b|wn~B=KCsWe9{`w!QC+of_>ov8ENk|!o zjt&KIr_Ix}|KJRsP9lm-enQ+qjPolHHkSj^r7yXXSybsp1FS#DXd~g%VAmkbFl{f( z#bK?deed|G2GJMRTgT8YK(9*$i(Z`qd}Abq145J?u(>5GdrHASb%nAX$;ysgU9jg0 zcYa>RY?R*m2}CsstxxJX8(}0Ub}VvYH8;@iDlVnlVyAyV(UNPg`NXyhq|z;u!#*Aw z$2ul39BU*4R6bhi1PEQ*C887-u2j$_-jr&4c27wmqs(T03HI@1H8~3^OU3Vdz0vRN z!Iis8#g*^c1h&%oc}Y1CmpdGKlbh4!l5JNA_ifx2*^P>HeLeU5u~qfSnHYZCYsOtE z@A-fKMAo`=LzuU~oNy-Wc;_kLEDhQFqKg0B`l!;nJ8+FNain_oWK8>VGJtCL~huv716wWILpdo!0n>bo0M7no&LGiLyO9wQa3 zVFf~z3c2#hC>m08Ab)2}qk450FQO*Be~9o|P`DU`X=5Vg92}@A=D1KQ_8<=%ODf`X5`4q{Sa*?`GSO>Yd5tpqx=l`B0B z_!B=4_NlWmc=GsOV+;?&?cu3;it-_GeEGyCsVD#yIc)=e1@6So*xK4?@<+=w#*+3U znC z`7nw0ikCY(ACrC3xEpxti^D&EL=jm?d4HWd&{dbXy#T8$xscKY_vgD>?E1mmHn15Z z^&4lpd|Wy^^a#8qcSDuOrCQxSF}hsUIqZS z8y-`t%O_||Q8-*}^?=%F1g3`p(&(PF+mBN!Qwh$nGjb5Wn%RJq6f zM_AmQtS7y^@?-aj>XO}qr8gcQwqMab2%mn(kcL^JXk$Z1dpQ$OtF*r=37g$hqjv5} z+3^wzhmpw=dl^Ym)Yw*#A{#HIx%sJB=pDtC$+(EQ! zuSH`j!D7DTw59~y|0OE)(uos3cdAVUt~_?+6HlgSZE6}<0S9anP@UU#c@zF_w{p!d zI6tZ93J?h8keH#SIL*y#YzW(-k@U{j{gBCh8^HSo^XdNbd{=9yDt^xxt9k|QIE9dg z{cHzQBPcv7-Ltyu(6K7I7~0F_r-;zIu6d?A?NU+$APSz;^>4Gid`odikID#DMjS)Q zN znDz_Z<}thEH$T1pwC)RbbN4UUmdjzr$a&>VI%XLLX z@^`8x!VJe&dupsq`gmkPI)JTn>;&mB@ctvJ_%aK0zLA?J0;TFcO5 zTiI=DXHh)OLQPCO(zh=3(YqVF+P+Y3xKLd^a!zh_;iuL|ShiHO)8V z<93Rc>`&ik+;1qA6o%$>1eU|?8upCN?(1Twmvb_b+Bkr6^z^h{HLY}RMt(nouQ7|_ zN>fHeL?3UVBV*Vw^?5PPpp4yYob3vvV`PSW+zw&={YCCBPBgNP-W|f~Hd_!wzxM0P zV71R>{d#?r?8QX+AC;{M;i9oPdmoLdS|5VQg}4&y5jWn3QFn#(loDp!?PD9vz{TA| zjj|ZlW6O)7s)?jLvO)>gr~~=xMM%$=i0QKApLpKVAUjS^lQ@pL{9qo#cr=~$}6 z$+o&wXNX>byi#Ipr#I`IjZAOJ+kvpR%7IaCvUaxp@ltHxtJ&?ASKb^dG1*J+@%c~_ zHqTVuDL_q0UCnQ3udPIw*)Yn;ZOv(E*MVL@x{PK$R*E`Nth&qDwUfUWp3hS6A9(uH zD|i{&^0*;(8$_`6YhI0MQA!Af2!BymgnuL+2dH zdQMvp@$ygS%N|zBV|}6^D`MD&-anxDS&I+2l+G2055>TlGW)r`%oWcz>c;K5iFGw8Ad|2G_-Wq31zBc6goedQzn7P5323@+z-r*pVdEvSDK1 zS$zs`*?=$Mi}KEptn-P!rCPCagGs;z07w7g%X zX!x0@EKIMH(_ES5x%wf;1(%&N={PV2(G8cX3E0-#8sMPulKul_10lBe6Y16bTNHR6 zGduJQt)0w;?OF)!^MumT9HM@7>Wvo?1Tn>r8xm4YaF#KeKLlf5zU>MG2JakO*Um2y zHE~NTfl;blGerA|x-=iU9o_R*c4|BW!gKSR{jr?p_Y=e~YYm<&P}pm+N(3}Hd)KkQ zFoChc*gI)$HSYJE|SD&%$ z8ddjk-ecGDUfbl&rrmORvq{9j%}^f()fH#su233BiXBxE#3+iPjRO`2prIb69u8M? z=Kw&N`yxuJFqrSX*T*2!E3dwT4=(Ghop;bYdtz%_0HO3wk+*(Gs9Sl9d3wWy*N(X? zG4u`en`O9tWlXF5nH|wO>Ht%L>S#e<*34USYf$=_<{ZFK`G~$D?Uj^t4jX+1~G(vzpz^_b*!`9fmE#MX@sIs@s^pcj?-}}C=ZB}h1q7gpKK>bih z0Od*04Gb)Xi(#Ef#4)@1c|x#WmfOc?LMgh!<(|X4UFlDNFZ)!oh=-#`_Ls)-{-pdm z5)}qSh?4(MY!FgxyVa>%ZLcQz!(feb;eF#G7p*SC$8g$r-p+e&Vd3%|hrjFv~60({uyJ7PCCdGd3|3fAc+ZvMl;5WTuyJLv# ze(?1y{DR6{5Vz>1t~GB{2KpE4Fm!L)!t&iFLB**~!Qwu5-+3d)X`)zM`f_pm2ln!hLwT9^r!ULC(f}49y4gw^zB!Aauwz7u+-{ijh3>fPATS z3HuUCN~Kp?TJ!|(?U}wOzqz3#>4Dh{KQho;)lb{^F08rL(Eb@huL(BT@mQ1|B&cng4*Nk-y zRjAE$M+kE-tw%zr5hLz86IN?Id$TD%TIoo)ZuH`eSOUmr z!J9(2@SgAmScwJ``j{UG^`oh^M%}F3R|Q2PCNb1Q3#xh~g9VGqtK|btVlrwXKZ8IS+WL-VWh_N;_?B?VSwOv2La^v7wpg5Nzi$qz-Qe&09MIjfAe zd$z_9ZT^UTSv{yUJs4 zS9eof+-VRtab1(E$rg{pj7mN^TVn{mThv%9W-;pSr@}c`?9=9O{PM;rd0QwqSmD>+mza;|_1yF%IghI(%(bJo>=5x0ek`c0 z9(vj65y_42^Thf2KHE&Yvj|q4o#Y?nvdj~xhUgO!#<@Z7Jl&U+9cdCz?r2&2s~ZlC z+6>4acU6*4F!WVJ_0TcPtk->)4%);@r^Q*DB)-LVDI0FJUo6iL>l0@A1L8(@t_?x)3)f;xQkXkU_gecb9;?qW z7=Q1A_b}YuF^m1mRj4I_g^|3Ydv70>2>wjhjalh@?-F~r^W#NuFic?*Ms4{g%m2g`VldDUp8ms&}uM$d*(gwm-;#;{xr9&Gql6U_A^XU248u&kt4oq@gygCSDNMp2+Wzz zK~fVSPkW`pYd_Wh~d9RLvo0*I_3QcFcn5lWm?ic{h3Im!~*2t z0iRTkl;-fp8>!?l2~mWPLuuf3XPV!05PFEMoHZ zy8JjYP1~M5*}T>fo2z(5Q=$bOB(=@?ZY*%l|2BzSgKm3DpHR5{Cdv$!Z(b2t7||;G zz<&EKoTMnlGGLzUV?fBc2B2bDqiVX&Jmf%rk*G&TtKApT&gY;ecW&VVmgA%2o79sBLw+!a7hBz8rRD()~9C|O5 z8RTyj)rz*~-iAGv>d!eKFGd5$$tvFn_$o>WBA=@L*Bt@X{@r=d1Yqj1V1*>7+d87| zj#brxxwdfzVm{?x(M1yO$`N1ONWW_^N&^!Mk5d!ag$WG7@F?F0-Nrrs+M2x95Lg!< z2_|Y)TaBk^YkeP9f(OC1l;e@h&$zGo%IK{aWnkA9Q|D&;EV{C*biun|3d+-A-(YPz zPv4VxvCkg{R@Q}2W}r!yr1d9lMR)0I%r#}p1_u1O@Ih{htdqqP@(P7J(s#=xQ?lAx zV?sWN&^m;aaI(I1O;Aj!F%f!qxi>=uap5WW4RY7wi0s3EZxRkAcUm`JvU8MOEdZ_K z?r!B?kl)5N?_z$i)BK_-%VWgj!RoJ@irb1?JlB%*|50XJZ)dZh4#V=A!(kbgsVQu~ zrW$6oY+cxzN8J_W2iK{-hNqyU9pPBNvr{hii-CU7J7crC-6N;F5ESH-7J-F=i**GN)=?Tg?Pr9#3gEw|J*1cPAW0R zgd!ixiqV3PgT|nAaHQORL*y5gQzzjWZo2j7Uv)!m@NLzs>H3&dIyp@W43rsX{8&+^ zIb{y)T;C@4%j+ynRhvUkq|p8D9ztm^xx9@Y3~?FONhjC75fywDbsINm){hQ*53OFq z5Yeg)XQMEhe$k)i>r-sLXi+f+>Zw*A?Zjn8#|eIGo2wb2FQE5CCmHYF?D4VA z(x&E7W~F}PU4EqvxaiNgyt~pinY?>gaguK4tBBZKzF%0I9yXIi=q^N)vRX~4iKw^# zOfJ~lLDtUhbvdATAJrF+z;(JV*i99+{CNI@b|~iQ+qZ;-lDR&sqlCMP%m6D@Tz{-~ zp_1a`TJ$BKqs+^1M~LU!9d+O#)GfFP^$v@;{n= zcV3(2{9{GGs>!m(-11?~1FkI@uSL2S3FJ4+iErb^qtak2I9>!yNGutAgdaA(m@rw9 zW=r<*L&Y2LpxRQ*Cp#IW*}Mo4czCgYqi^s}C5J!YVHboeaNxpi8H1a1dY zA{i{!fp-wuzqe>s`LuKNY-a|gW$*mq?k0mKO#PKUUZ|!p0gL1^Fa_o{!sQj_CB?@`aynHsh3+eXOqm1KARc)FV zgmc-b#$+TJ{YaS8s`N*7h6>MUYrME*hH+-`KSW$%|~(F3C!fX^e@h~K=IUBDN7d-*NtM(EadTL<$=rnctY&*qM{^U)VMhPyf-(|=Z2RM_=q(@wV9 z7LsuoCfVoG@GN|`HCbYRBQ^wMJ??!srH^AVy%qZI@{nfd`fjRL=yDe6x1OjWF53^3 z+BXU#SsG!)JHS+SR7F+f!1u1q4XTsul1-Z~pCXK(e8r+NjWk)$crIu7LQz}lsO2`r zru-$aaswInpf%q}uD5JMTEl(72GQiRfiB!;s7@s0J@0a%TL~m1t|XsjX332_>&>kw zV+AeC;^dWvy4M}B9Kf5bn?pKC=!vm z!WS>dvx?0jiS%Ahxtg@?K-Rn}5T-({ycHlg?5s$N@hxt=9-XSQlo~<~kG!yR+nBFE z$bU5%s&H?ov$GPMm(|@b3}u4Xz;iGU75jp zbie8VX{h?sgf|+TK@<}uB3&Z{&zvgig!GK3gptBrjZui*^+&s0JP~2*oa(wH zATdqWs9!_3H(%If_!I9OB6`q?NiOw;X+IzOqzxXOrTvgPSW2GtxHq2+%ch&eiq0qh z)RG8)+LmJ|@#3+KfRu!>W+l+uw0=lCC&W<}g=ZQVA^A88HZt0v)kGF@0VcMxIt)lp_E8hPmtO^&Z}^AkUm z*?l%eeGbJ9Owwy}KQZv2|1)k@H~yRMSO32}{vWam!T*@S^qA!2?>u^xe*eqCXo5rT zD{+8S3@TE(xXsRs355Id8`eBelQNm_&1&nptNffNO3P?!H8_ZnpoM}2GugE)T`ijy zEV(3YRr>^2ugDVSP025V54Y3TrFidQ-8A{{N+64^=vH(1$_+0^eRO!V2!r1E$rqj8 zjmgsHUg}kPLFSrlJ!PWL2Sy2iEZ3&zz2p#{F#iY_ca8w4Q646-?BT1OcUh{-m`>iMZv&j3KRFzo zeuxLheK}QJ&qSL}0JI{`n+`EPDpGw6t!LcEgB!EGUlGn=Sn(h)!#> znT+At1XeBor&sX9ChZY9!}_qJ9|*-Kjy@sO8eCf(g84TTVg=oqivI)w`~MSZH(*+* z4?yP7L2V(j!vP$aTs7It|3TF36ZEI+Cj&34JDRjjXI(egJR?Ei^k{xmSoxhvH)s{# z69W^w`4f}-hE2n~k-qILouZrzctkZ4lZn6w3}5wccq4 zO{uDJ^{y}d;5VdRZMk;hYjR%B_9)P-RpeKwDZ%upw=>i~2qnG@HmLGRkL|R(3!e(0 zEm0=?qF9%oH(hbYtD_JP$!k}^NU!C@T#WX`(|D2eUi76@+F#Ruivce~W?s#4PgOjs z)fWUZ%lkO|pQ{k!x&8X3rYR$Lug}DUSa8#yX%EaMZ;9sC2LNu9@NQYDNISeUE3T<` zTP+M}(gJKRYM$Nb-eX2{-{>{xTn!*qy6JZh6L$*hzYys)s=NM)ag-x_bgBCUu*z$H zn#?m0dj@`~)AUyEO>tD^%X4R8cOMQt18~mi3YC&WxhMQrKN7dl!alW`6e3mV1ivHn zIBBF%+1#z|2VOQLRy&{!H~u63z@syO(q)cLEk})ZD{^5Ja_e(TF`MSM%djKfBQZ+1V|8D9 zy{5gU=8|kAYw3fvv3jgnCDHO%qVsmAp4bAhy=x)N3Su-S`yNUO7VD!ncG7Wk0U{)~ z>!A+Mc6vnr0n{1urnsEFYsFXkiV#WlYlChJU?vr9=)p502*2<)Cf){kTwykr1HE?;m#1YEbELrrNJp6A%*0`_fKqaY&O&IjW$> zQ-(=j`{sIUlYz;^{x4a+9~(|i{}&L)Aml~8b7 zcZab>=5c~~fOokF4fJ(}|J6^0U_4=AZR=bUQLBaFip!XWxB2BatPII`j7lIq$IXlEzOgpcA#&SGbjHdx@9PR4j zdRLpeD@*BVp!4em>rc3~-}?1)J)u3bC0_Y!Io*2rRt_1SQBWPbV$1EKITxpmW!u<_ z$&nBNfz*Une<^NK<#j~G(}KdmsT7InQPaG}a$JOTAi(SKiD$yNnbl6cGk=(JAiV0k zb2C(a5HFY|G3BOp8SeAoI5oFrW(*va)5p$PhiVALYC%dI8tRLVSR7rs?}glcYq~!l z4k2`;{E0Li6ne)YreGFzoD;=W?y00Z7z_>tm&vQ(4K309a)krF>7*h1CruI3L4IkFhbqn9l>BC#eOG*g5R>Q`tj3_m=WOblk%hUAbHAB?$X#sIK-LnNQ*!d<_wfx%KROYCmRpp!!sMjZ}QsprzFAi z(g=}gsJ7Fpd8yKkZAI2rN0R&QPWKM@XZXVphuZCl>&xEIYrC2@=X4I;Z%TG<2R zOXfse3y*K6Jw+8REoXk6+eW9yoJrZ@Dl}JJhG>?p+#|+iT?LlUx^emKi=e1;7-F_> z#2jGBl460&;qOpuBScs&b}szFiygE!Ovyq>eS933t)55Pn7}zFzkZ?U0eA~PLo=C@~4>-(mikwWpQlOa3_@tn8Zj&GFRT>G%&(>j=YyywWFJq{MS z9#@pXWWo=rv9dt(N$An2b}QPd#LZEDwtml*e&C4|D5y;NJo5ZaPk=N|1}qc7(61NL zE{3W|M>|^*_5j>f=VJP3_WZ&JLWR>QSECn!T=##DOOd}J>g4&>Y3vXUkvOCIl3aC) zPlqnAL=sj0yq=lw=yLMvl)uj-HFNPgNGM6oU-E;rL$&rN(X_L#U)8ngaC1isuO~Vf zg#E~%!YydN#Etd_PkC9t6x!%bK??v6__9mQ>)EfWOjypZZZV_)n-`S+d3GT<(oT-a zH$pdbuaI~(Slk1O2uSLg2_NszFfE3=M&6yH4ksBu9{u=Ua8Ln=c5a2z{t5i+uXFzA z6RiFlnBu>hJgg+7NRPpVO9Kn8W92-r;vM_xi{t-4mL*}A6Wzv_S8!L4sd)qq5xFP9fY=%t1B3(W7GhGal z;Bg%V?)7NLO+R_RS*2Q5Fx?3UvUl92R;r5QbxZA$&U9-Y81pNGZK1W`a;{INPuHWv zc9de9qk0Rew5B(=U^H2t8{Hdu)v&tcpqYj=k>aGj@L804>B^itUl7>N#KM&5SlD(& z>U5q1#&Tj7zGAg7z=u)adVfPtCl1LXvmvm*>gcIZ^T3*nNRQbTek&c%JPLY9qUE&IZgi7k92Upp0(b(0pTBDRVBY6uK-s*|D0<&W>hn)|qTiU%QR_;_@EmSFS3bwAvDE#Ym^FUtq%3+ldlCD&6*btW(*!6c%%Hz$OiUJ)l{HR14P;hMzh$ugqR}n_#AN-skoHW)=k=)DBv2-e#&M9fy22~T{U(=jCR^q5y!wz5 zK!a+ml5C@{K3C+T)TdzS){~w!kEd^*c?vX{v5QQdAQ`TSh4ObV+P+H}OM!{(8k?FL zU0L;e*>gR99PBF_8Q~@Af+{FZyD;Ub%eB+=Ri(fcf?vaW^q6EY+BnO%<6(+(U#6XX zHIwtpR54?I<#X6u%KNWvvLBq5Vfa>RDUekKSZUdfzF@jp7=5ERa@Id%Y}DOE*YamV?DU`0o-rkx1uf%fe8r+2v63Wdti#do(5_*lw;JH+~Z%a_z2 zwWg-7-`2K$eT_cSm0ELkkKV4N!T@>IqT|A?(ugeC1>=dz54vb>1b^up&eQn2MOXQFbO|8V zufF}y^fYo^r#U`!0G^KV!R+i;`G7()p4{GwXzb)lq=&hviM`a$$%axW&+3rztbBL7G{L^NW@JeA5L-V?(7SkdfW!wBE`t2;y=wo*#*7t)ty@B! zi-{$i-z4&qO$gsXu$otu{t%JC=2xj5jEW49)HJh$Tqnn32U+LO&hKEY*B3X3g z=7VUlsIX971ScNm)G9WK07~RbQ;f#x2f*^h({mMIVUj6@{L;R(AAvzU`Mh7nsjD30 z`3@1>S8DAuC!QXtZ9Wio`o%X5yeIwRmB?HDS1CeQ82ngFA`LL>H%{-C z_{LAq)$LfcTLS~!y+&SP$hF_(a714)HgVFYHEIffsd(>=I)7{M%* z;gHznc(3W(RPC&-Uah(Iz&Tq`^?@@+E@fKY5blYzxm3ftG`7`Y>`=pxQx{Zc`6laP ztuL@J>qHGMWE`H|Gv2172Dw$_<05s&SMk8W!(9Rxlxkac{VA?_ye<*`QLPHO+H5~6 zzwW--lf5ftLi*HPayyVI(d z#KPE5GzF3koz}-eFK>xzIQ2kTC6@z0+zqGvSxFrqeW`DC(*v)}eZ2Bv$w#t>HVtp3 zRtYAqktlwIOLRLwMi)RU``byTT1gOO0@qGbXSyA+*mNt(VkCXC7}u!td3W>rOG*;5 zvK30G<^&+-iD!X2p<_3Sdz>6s<9n8p#My#>FDCLISC~3>0I=8WDqdLk5%3*A=-R5D|~9jHf`-^C6^`lq&D_J_Wp~bVfK9;4}Z23mymj;s;jz#VEhoNu{lVRm)|D7 zTBCFf8am#1{{4H)_r=t{qs8EOL(CdVVAdF8fF{($Smu90GsHT-c5&gpH01F#5w%hi zAB@~MvbGK!rX^}!yDw7_|L`j9nsEF2RvkLFBLta0ja=9MaJ4_;L^rgW&Rs9Y;{Lpo zDx{N>5~m{6jOdQ{@``I3PyLa+kJ*?|tInk%R5HGAMs#_}48yEFn45){7`^U^AN7s% z1AtDkisHS+_wAxJP+{)9ao4_8;4^XlHX+^cB8H=T)=#V!6YOf+0j{b})@^7#wq+5r zwcgJ*^}oFl=Sh24j(JZoqfpn;n?+r!=|~S53s{LUgevX3kNbbB+XplI@tQ&TFs`MT zAJ40oR5+507qWGFPkw`Vr~>YDHZA^K=c+y~pp22=$xUv~xDaNP%e+XZA}1zi)m#MEKEZqDBD<+bxNO0nTF7kRB?2snXiq8X@;;$8X)0~%(XRe=)=W94KBYt)ooNrQ?Do$xqsC=X(G;j-A9YE_(kJ7+n zp2BD#Vrf<@_bcH5oA4A_?)3WPL({FkSBaHOTVXd763o<1h)cJ{G(m}N{+E1M+^JRr z{%B#W2#dvt>uHnIjQ7lt)^Qf{H4hb4(%VcA)=wpaqxnF8TnlxEXwS6E$6RV%Pu5Is zh%Y=878VM5OE;Hu;?2dsAp=UnzptA)X)f)-%jE1e+bx3Y)zP;s4p?3UVw#+1m_H>b zbcD$(F2*wGeWbLq2=JSgP43{NBYl9Akm#m_DpJJ5KE*7ciLeIV-j$99il5Fd=z5ZW zF3i)_ndYX;7e!Vmxu1b~^_5C-t&-uRa}QQ2LhAM?XuN#7S6%`J1QVMx{z#T{`6iqD z#&f*G+|N&Kx#ydeB64bgmrQ)r`%ki4F%n=o!!RXY7pDro+N`|mwOaD*=l!@|JU5j4 zAb<_)yZOljtl9wbt9<;aRbs6k9aawm$#XDtXs1GDmqY0PPzC`tru4mmS*em+gMxTb z3{0!*zpV9s8Vz8$JFO@&E}zxl@pzDg9kbVuCvIBb?ajJAZjCe3VqGQs0T>eg0O3}Y zIgC6qQBN>7R#do3t7EK4KY!eCscBFkx=nKDJF8X=^6tO*^aD@O%wUc@xZvGvczFVU<-5nUz(qbfiPZuIrHX zwr=x8nJ&IanGVFGnqqD;ip~)`;#E2NiA7;HQ1Nj8uF=q$6~=aY2L?0$=(37;=O-gC z-0wKQnki^X!HechT)y8^B|g+eNkHs1m!dd`j)slx0q&p-Wf;9)k827{UIujMg`=ToZ+29LhSh7Sk1ws7B& z)qN8q$G6`TEH__y;+r{z`8o^plWw`HY$X(lYt?e9^h(y9tP?~&TF`0`HHFA}HFzOy zEayBRMJdtgqCK+Yp>C&Jz2I}+Yf-?sk-Ydfs9?g_1m+UVLGDN0?+IXK0PZO)d4p_e zabnQTU2!?EFeSY{_{W&))+f7+69quRH*?Z5!eSWxqo$)Fbp|2yy#=2BNcP|fqpcPb z9@WnocZU)!$!Y;gh+Iz23cfter6wkS)jwRKoTKkTI1s+{K-WGuiA~`^Qby>d9m|8N zSZSopB60Pp6U^PcgGrHN+n@BB4NH$A2yfR>dW4CEV~mPm^5xu?T7vB$rX-D5oTQ|y zu3&2n7{<&IEU#n(cOf(Pjn|&ErZnr?lyA3qooa>~KQO*zHP-r~$4^*U`lqb1VfvTW9;_d+}i6@NSl^P_> zRo~^&kG?;A@1Q5+!sRK(X*JfaZ{DQGN$*jdKh<`^pvw!WmGZb6=Nl92##r>G;>2#R zHg%)?^pa8+JHtflvr;ca_wdlnuYvN_j^<-q7g;&A1T z{RZ6iQG)(ZAJZU^>5_%-Kx{BUF4RaQlDyJMQ`kPWi2PKj+teA)Hx= zu+!poi3i%`Kf;u32Bmg%6!4QIk@)mmin1|~ z>t&X}<^bWIof;Eg0L#S;!H}mOX9iZ?c@U>%xsT!-14+v0fwGo(byjM@&C8rQm?nCq z&p(o#8gTO3Gs-xV@+!hi&C)$$-#O$ z?(%zD;aXLg%u991GO;Q57!B<9S(VwUdH>hU`wbya&mYiio_}1I;XD#t1Pm$wY{JX` zA%+G{G9s=A^w8SBF_?%KIPhga(xb)OrSEOw@`r-RL3BII^cZc_VV5FRD@r8v#Pqd< zr3#;Ri`TO1WaQ*PH+$XL8BsHltH>Mu-PbJjm+a|9-JEs7KEoS* zZNP-jYA@@VaTmO!k>c%lvr(nk!+Ca4sRoRV?*M4B`|gd`I$(1XZg}Mlj7c}c#d0xx zfuq_26ZNZ(O$R&o^7tUL6ru4veRN5=6#1-AORZu<@~hp5?1Fzc>MFmi^&Zo4D=+GE ze~E+4reG!IV~V*v85yNl`sQ;X5rFE!vfsx}@_W639?haM?J#wtm^!Pi=k5Czaq919 zMOH^aUfS@h@~fPXGQXaTtdseaHHk?JErmtQF|RkjH*0F=^FJX$!WABE4OiGl)EbAkRPI-{8U4Cr8&SgHj&&)rru92@AV+qe3t=*=lDT&kZ zxS&>Dc^o4qG`6l@eE62agzlGK43-7n5uwQ3iVBb3zg{VDxN*%}9R#+QuvFbODH(4i9%{d(mSI z$pY%TM1Jn zy~?!3xRp9E__3p6(|!tVwAD9A8~zfao2Dfx zh?puW`H~Rc)j070b#*fK3F5_uvHLF%-PT0n{D~FWpp>Xr$w1qkcjQOb+D%D8j&GI~ z`I1u^dzPB=0~^$uJJK036Zh0`0=QXp1y4+0255GjROYnu0uJxwD7^@wR=v-dHzb#Y z$9FS!4>k|vjDJPl-*`t#@trYfXt9K#J*cGAK#SMsB95x+n6MY{OZ4NNX;oGvz%sk? zM_1;Nl{y6Tt-xleZNwkJ3SlKz6Ta|-Md~J`#0Y=4QjK0$6Zd4fh|9YUvIWVJ&iWWV zA8)~LVnZeZBrQ_9nokX;1Y+Ep&-PO;6)~CSQ}P-WUM5J{xDt2Cjm4FD*&y%a9~8m&ga|mOO)Zv$_WcaaU|+h~cp5FTVs9E| zYZ3 zP-n64SVl>`zIF>~Yj@}gBj%q!YQ&>d!4s?ghW|{{mXlJ2sZtcSSDxSxxW} z7&5f@db^InV-78iG$)KaXy<}52Y00z&%B@9^IWmXMw6y)BV>rg1cIJ*MnFkpsZ*8-S1#HEn&X!op*!Q?w9_JR2YmTi=EV}^#@&pvh4)#I@MQ|S(`;LdhB zv~EqVSFlyprExC2G*Y;>sddigQhwr#iPM+e%7pxIQU!eXI={IuUwX22%I(VVr+g`=5* zSD#J$tb^C>?iKaOoYQ%_zs`0fgn@7Rv0~(4X8plf@x1;Q1&)Vqe7R1nHB{o3eOzgP z993E0i8v`kSUI}TTWj~71&=SAK5n-C4>_xQi4IlX@+-t9*>?jEbxBdZu&{L`U% zJhD!1&(Sousm)%6Dl^jH!FPRX25&hPnJ@0~_+HXIvhC>zGJlmxNd-eSH@MRl?JHw44s)ec%c-J#Xj9zG;1hpseJzKOv1% z7(;p1zsM-`LLiEGD8;}pqh}?urTO#>`UMd)^y)g=}!ZVHqesH`T%B5Q*)SvvIxE;k1 zBB4ZKu~;!!JSl+@vP~4via~Q#SsXFQu%}E6!u3eB5vEu>;rQZ?h+B11RJ$XNR2|x? zz1Yx3!Oe(&Y?6=6}c-?wfbqzyM^hUixgAcGPK#8$v;m8^5SZ=!3`?^PUGm zi5AsN2AYX|bOA8wl8UcUcW_2`vuRKjO<#B3pEl$}F2ag)TazGZ4aQYEZq~>6)RL_g zg>YfI2ebm__MSe znf&7A_Av9*3r!XtE~#*1gRM66@|~=4$;(`gIo=*;)Yp)1Zy&!W!zn|}S0rjgKXo`h z&98K=%=@1PPRZYccf?%yhd}98Epbg7X6i_Uh@UxE{L(@a-C@N0xE6XQdjI)wR?mG9 zMXsU(#^yAltz)d!5Jdx?7~5%o{k}5HeOqO+&c5KX;CqB^>?D7{5KC~Q)2-{2ywa@b z57_I;cCzbnCB|z$41g4}mA8t+l}Mlp?aX~SpSMML7th{*@DgpUmOdEgwk2&bUA6T{ zT1Z2>FkmRUlqe-OCgj~eL)vduYaCOr7}iD|Ncd%@*cuZruMspi-?=X($->$Y(n_(~ z0op0nKq&?nVf=bCzdQPhO$chHUpU)FJ{4zQKXRB2hu(p^5Y7!3dueM-o@i@rCGDC@ z?3tExB_S+aQj&O$ARM@ERLOzBWO%x0myLnJ`MXCWO!Qa0j=Px|BAlJ3cno(l+}jqv z1Z-Kie)-P8FXtA#W0{&<0FfonB8bnOGvAq^FWKmFgix#CY0WyQ2O4R70~v?X9{ig^ z=07tWpp~dR$DjKRn!VX^LS?cWmhv0K*`jm-XSfa$xRP$<{JWLzZ!6wk+y9Ud14@*? z#^V3wV_uwcI93Rq-w{$b}_`s?rB>X1Oc|M18Dqd!FWd*WYwk^k>&9s$aW`ctM8 zf1UT&xPksrfoQTD;(tWj_#0F~37D-<-ngPQ(EOVWlj8T}UytZtkJ?{L&Hw5-@ZWhv zr~Z{kH1~8k{u~WF{q4B`|E|t23iOYAYJIEMuA$CKhhO|LNO0aqTE#iw-L5FjaW|FGj9u2ea${J-$hRd^HHE#HGQU1MBsyXEM_EGeK3$N$e&@o%f+e`QPj z4+$Z^9z6ODO0dkidIM-wROtLN7b$_7HsH?-#-c!fo%`1q{69Gd1pdByn7+v6z=jGd z?S*h$(AIW#sL?+8Tg8d{`(I77`roPAZ(5=MBWX}0+@;kBVP04>`EI*)ZiDj^X#kz_ zM*7E4Bi2+-VhoEBpneG5(O=PKk6w+AZjt2Cko-|lKk@CC{lxN{4xPIZew9a$uUPUrBmlxHg5wvb|AyUfP$Q5m86M$36$oVSyLVXRLNWzdH{x4~-e3=F@QN4*JL+JIBdU<5-kp|I}j4Q{gqe5=C@) zEo?a5A1s;|g`q*DVQHn|(y$elU8@^o?=0Q=(k?jCuS%t&NnM;Ap38i6vBQtykGyFa z<+bu@&AzuSu9&Am@iMQ~X4S60G8}My4-SvH=CFK(>g7-LwtE*OID7}iGMtVpwjP{f z`%0aSadmC_my`M9v3I2-Zf4CInOn*bF1)>S5eQC@yg2;73fulPq7;9m#Jk4u z8$>KJ4%{Cr*P~pu_gh^Z!G59Z&%*nRbo#8Ifc%Z?OmpWYoFw!QT|GzwZ!gd=m=H1BO_=5yz*kG8%0)uV># z>)P2SA8^ajfwxfk_fr$mWwWLzd!A=D?lJ<~Zwq{a#K9A>{t~~g?wXV*Uv;GI`gY)S zto;TpbX>ajLDgqm%wo1z62jzcnFtv_iPY1rosn2*qt{MWz*5_N?Sl?IqCpu)r@6DoyKD-#p$|Niw#e5$cD$ zF>u7obEDvwm#7&b?!%3OWV;uaEM_XJ6bqGWE-(&qfrV`fC*Sv}-_We;GuJBv%5rz_ zcyr+_6#4=LUVNrmcQTsOC+NHHeQGrfTPDl+-mONwY|?N|9Fx%rpSs7kH>_k04)&*m zio2s}PSY@@`C5cAt*rS@$=x(kLrnin3twUutZCv(2m~21*KCk zdL_h9$V&!8*h6C_AuF(`;%c8X{A%1{p+&>3*%mAbP3HlX-sn|VF?iCTaA}%?`ib-- zhTcW_&h885Vb~otS#;49K_kBo-b>CDIy+~-a&B2m=`#MIpNH%lkLLi&iKmXuafK)n zi}6Dq2njw@TyL1M2$U28e>rFYEXFE_A~m&;lMQVw;wD%ro^;);syslf~_Ppm0V z)K-2$Q{UiDe0eW{Zmv0`TqQ+0ep`$J>PRY)N2&#e6aZw6^`Vbdh zH^3`}x$mAH#J2Oq?MlB8sLn5YY;an0i%*#rTZyh*n?+JxK7xugVHk>_IB5FBa>uvN zdP}U97ZyphZSc?|&Eg8RcPKq$UTh@bJ@K{)BhGO2$2`y6_A9~Ong9?@>>ZRxFg(k^ zeS}|U?A@NWkPf5R@djVufCI2xAqqbJp&*(IJR9 z{H?ce*{0!7AKx%rx2DAO?v?Z)yJ&ENLhGXZoUai|A_6N{ELdHA*eGoqX6-V!Gva$t;ev(5hi_1bvgYSKP?aCCuq|#Ye5Z$MzjH%=oZwy zG_kA`+yus1!FjSc89p|Nz1M2YkwAwqHhRR$KQ{QFOp4=U7oP5|OGB}5=*eyzSDKNm zSk*ymeG&zy2IG*ciHP(mc^&o9T07Sk*NNCBJaU~;mJ}Iy$j39&AEu3QExFEmN6c37 z?Lx=y!$8-U1S;1QS$lThmrervkEbqIsqZ$7H=NWPrg;=xUE~c@)jaV^X0kOlvY}@E zN#0F;J{Zy|iS9YN`idF^Y>wNb=JIPq0wN1$$jZ3_-F|`HoS*z#)*RFPDeOaJ&PIO{ zltP6=9(T8a40XUlf%9M{tRhl$b1ou(!=F!6uOG)gU*RS9U;xEpWY^LH>%2@*%Sse5 zRwVhVHk_3}+O~$yS3?#h+q!SBLS9avazxWO7H9LH6f{4Oo#dPRDB}zIM8knEqMo0M z*bI!+SJrKutv_0(o;^POmNWiisEJ&ynp|-%Ec8uCLQ93xcH-Tz;?jl7_QPpE6DTmo z2Oh3GjikB1E1Ri%Y<^l-@;yA{t|mnD!fBMx06EZKJZcAv$6=VjO|Pd@`bv)TMA?lC zrq+p++ygr8gL+v*OLUhzD0t|yi9DlukcM=#OHr3ak87Ac-MR0dFO$sDGmx*$%GBqE zCjdEUVEv(BC$-YX=xiOB3i@09$1gdgszj!xmyrhD1$86M;F{T!W5@xK7Cl-XaHppC z8c3gJx|esijn8bgho5dQFL?3pDi25vZ6z2&Vs1#%V*c=L4fcZ>p{7?kXi?;ha)%mB zVGI3hckX12yzRBK3v9@podl*`4tT@pW-D-X`{k02#9FLPqVFGpD(jJ)yEkq6@C z)anr;MrN^21#O94??EI}8v-q@Ub zn|eifZ|~T)G?GibU451JDpZx=Zjft`Js1(YnRp`bRihO8*v~~w<1Y9_fC0^GfuNBj z4YxD4w30U_OaAdhWhAcLl2_NzpH_pMaKA}DAuopS^UD9*B|NnM6$YRx%jEyXTO5Y~ z-W=c5Kjh#lfCsvcOEA z+eU}U8+3S)I-iB{idx=1#^sSjJCRZjOP|pc+41gX3{cvb+>l6==YXEO-Bz*{%zXSs zaNKI^P=r!TUs7g}K4}BkYV2i&-;E^PP+);(ZZ<_%${KIV)IkEA{FtpXMB}GkwlHqP zJmf!+J!3zCN3A#EAIU$E4(c6$6hPGXzLtB=ZACTe{!m9-hp8(unJk4C7-cBdWg^@$Q!V;qy^u^xjW;9lO zc>4WiF9jv*z){n_+7@}ZHXUAWX06(Jn+6}PFXxxfKU4fTKF(%vB=7j783>+ghzbvL zoU3z{J{{@l@YT7}uwA_HWEvscZ689WXHjr+_kyD)96V z;CNTFwT5pMMf&P?+I0=rS~H3xq$z@}!*d)jFlGw4F9QYUy#}@IB*+qKMl{@y-zV;z z02GEJ@%O7GEe(?FkxIXlJ4i3(_HXYW@^$ZjC57g-v&7*2j`^QF>HXH)()f1%yxk_q zI|`@2x@BL%&&h`uLJb75mdVc>*<3B$q=)ba;{?8uM|BY(U ze>mrf9ma+N4}cyjKqe7*Xsyk)rtOPTi~UaMR7{xdPt)PL@s)zW-(xQAiOuh?u7dEP zO565>V1z<%5KABrS_Vgb7ST>nyxRTkK*CquyToD@Jb+T?@3fd<$op=^Y1ssT`Q+?P@XVNiK_L$yr;SUn_0J zeuT5^{R}$(g^|HNMGvC}xA&p~xfbQ&5Wo}srfKGKcrTSdF9Q;dfJDSdXrGIGcxD<* zg?#OEI);sf0Ddc%5Ohv-&edqz_@j>6=CK`Rm_C!5Gzpcz2uXz%c&^rO&irW&@? zB=P5u<-gwK1`6c{u$ZHDv#^)d=Cx3IBAD{=Rt- zLTv9Z9+mtpnAMcLhy^U*CZl2XQLj1bZkD(O#}rKEv5Tm->6;g!womw^)kLOsz7W0i7mcH54C*Zqjf1Hg`M{oCv4BsoaMKPL3OhZ43b_*OWnpBJ?saRb!{Y((w z?JPrUA;AMUYII~};0&mNAf_IYOIekElkSiKi+9O$Xf<*VV&hE@$-@0xM5w-#M2LT zJ7Gk6ZU)w1oUn{_vsejRPlC9CHu27c5An}6OkefPcn&|$ryG0;fK12&7Xjq*uQQTm z*gI5HWW5lP1ML*p+!W1uR(aMC8CKv+(Hv`|l|sjJJNK7=Xzg!M{bZM0bP&0$?FJ|o zbnjOO-%FHRuwA=2@<@ZHwl(HbrK;*jMMAT_Ei2m!=uGfdiEiCoe5JU2^^Z$Uu3l+@ z$Ve|nqvQHj5d@!%j6(!_#C<9b_mbnXueXl*Hc6L7R&jLD-F zxA-RM(EfuU2ACyrWk=y)WW6cPoU_;cP&^9mJn^!)#T87!r${TP6=eTx@#xAM#dVC? z=&%EUoD4D+V%wEVVk=d(>(Y$3A^y;LKBE_P{Z#QgRaZOrh>}F^LB>x5Zv{@T6UhU3 z=)v5&&W26G%fzUKO{O!_6w6M}=+mIioqUbJ1K2 z$E(OX1GE5eUB|OLo?$dbDXp%qI4&4|96Km1$}M@FtO_A>XCM_9|D0Wro?QFR-C`I? zdIgZSk%N8fv{rkep;L!B+B9_W8{{9>z*8{J`Ay6 zWM{5|Wn#ov_YLH!Z%SNYT2(7hYjtpx{A1H`tEqXJOgb>{%=597TfAZCWO2UM4qVhI zAbMDU?+OgUZ%{zLStpd|1cMK*A~3Jf@$#u6U9RlzT!>Sl7yF$$-NcySG7^3LVD?K| z#hc`Yqv}X7QztWe(4aOH6l1|V+psErq~&N2QLB2ae$x3PMfIMII=dc+!&re0!EXDy z!A(w(iyH$Bl)j-FBWt=5AOYR*bxto%zhV^Jro#FAMXHc0YqyqiX1PRYB;|S-9IX&+s_TZQ>Q1-cyuxD!- z_gSw$JB~&AZwhr~t^)|Ar+;MmfawK~$lUPt{MXhmRkkUF`6OJ9%xNk~!f)T*fA{U( z7o~j=t%6Mu3rrnNi1gj0PHQN3OkcZ`t0LWx^_=(|Gw@?slQWF}Zie=tmxWay$-S5J zpg0^};Nm)cJw_p1ffftdG{S)fyagoGhCi68A=gm3J1T}2bPmi+k?;i~Dww|@U z)J2TB_|dQNp~NQRfncpA(12m`=PI!?lEdq)n%WZ{&fS!cBB>{#Kdl>}T5&)wQ&2Rx zA+axWJuZj@=8Mu$MZRdfrj7IpB6f5uS#)fdKs;`Ze;h_CGuZj4|3h%23VWj4`kEw~ zunMBU+(`m}NXHNX#gX!iCQgm%1|QYATOCeM?sl{;m-X#;Kap@tej;syGLz^N3WhVn zI8m{N=v9mesVLn-eZYoxO&7cwaHaPqXnG zz_kNOv7%^{ThNvk4KNf4@ZtMk-)ico+9jvE^Y>BYVFK`sa&|MOhiapr{&d=}CU5@E zB~)--Z09M*asbA?g>HFH1YC4v~JG_trW4R;?E8ToPGFW%CS zBEPQIin1|@Gf6G12z)~^TpW;YbHtD+K%W*+Ywfy4{oSa|a4!h>E{g%&q+BRc zHFWaEfxb5}ulWEyksqzL9Qq`V2*m!+KSf05q4A#m*a*5X&chrU3f3_YacFgR4;R8 z`*Hl_{>*(4ESw+`cvPKJPGa1AB^Tqd8qgn<;FO$S&Ww?HIjLvOQNNb{|&sU+OD7m;;; z4tn&IFYAPQ7icjuW59t!Yvj|NGAl64S(vlHnE)mDM*~-LMvqW^7L}H~pMhHJ)}vu2 z5{Y|eK}1)Mhv7h)`tdL7KYFOM?Y($0P@F<7u5iP}S9_{m0d+5c;kWioWfi?;ODOJY z)Jrs^UY$i3(?i zvkJ2YUK{N$Chuc-D!>+A0&(CP-rI73N5QTcJW8hxtHkpjWJzfW1Diq@ypH`GHquILjsW{`! zq}=F$4%09tN3i&Sq1oGvH&soPImHKqiGfmBLA32wH8GTH;CgtbA(wVVpeo*3z||h} zYLfq5*;xcvg6uHw!=VwWiFbr7#u%Nzncgc%WRJ){QMZ(V#9V{I$GM430kOx+ckF|% zqp@RW7`V{uhCjU+FPIprKBz&p*T9WseW+7({$xh!9u073+h&|jGtaNXZ+1B>pA4ps zgq%viH@;d>p?rI*KLp*A6|F|6>9X(Z?8UGX?GfH-|IixeR z&---SdsicK_NFQiPO0Dkl+~QImYftwVV-k1K{II5VQYawYeY=VFwI97j|0xhrIf{? zDRtLTs_0!_rN?*!B=>*2E&Bs418_JgASs9dk%$e+viWYKE6=L2N*)+SjhRy$wS1Ru z(^1`igu3cjIsI~63fGbx|H$6j-oXhq+OZJphf+OWM!9vnALO!p+z$HCuI0i1Yt+9j z`f>W}duqwM#2mj>`29LUyhpien; zW?S6j%$~Em!$!~IbK6;R;x|+2pHvL(ip7tch`e^s4a43^dh8SALknuuUR<@TZ#m~& zfA0}(kD@5Y*n|FPyX?lnA&|WA50X?A_{1FLxlJ1jcMu{B90uR* z#g-(e`I(5>_NvsF_SpWRw=lHP9J;ld5x<)J+Q88Mpu_KR8)|aXH=>gpP~F}0uC!T3 z_kx>DD-~X21V*F3d2$o)6=>qybaRnD%1tk3SIAUArr>@k)VK{!-U8@Fw0#=u(Si5S z;qUk#UiWJ3EvwD+KTIjjfqY?ySU+{^E96kI<*jT;9|)8IQW0X-ncr4Vslt6 z%0rXaZC5@Rm2gLQ@vo?*=edrf1$>OW-=W-(0!k;I=M`^<^Ic!}AItDw~ZzoF|+I1St_fN>y@0wr<0 z@Xgo>j!c18tEZSk#RL@TgX+b&xn^jjiZxHWG@jfYxRT`hI9~#DpH*;zFD?(r6QjRu z1;t9>WTwTA&iM3eawKB<8OW;ni5#Y76>Z|zM^iYXLtdSjJqR3sS|R9@*@AIY4m1cv zfa@jVPH<1r_E+za;CPonM#qK5nnNI#CT1snBxT8#Qly88S~xs`wHH#Z!4Z`?r6{lq zzTYVasOlz97&pP;k=q<#1}x>aZ^Y=y0xhxJe73(QTMT)}PP4b0=-cJpPhK8A<#3MhIk}C116b+aAlExV- zxaNIpQVc7ZoOd&}7J{N*biDeVI@-=FT^3G2?P}uL z1y7AvfB0T&UA3a8P@)?Iq4Esad&s?b@^-x~TN*@D{4dd;8h7h;`)Lti_so$C6BUt{ z#&PZg%Yjz(Zc8WjEwY%En^$@82cYey7`UAR2&!c^1$UssiKFd}TQL$*UdwIiIU16~ z+ULbz+`X*vM4viW<%*ox+CJ|1xD8K$JIEPc9n5q-ggr(TPK3EsI!xsijLjIC@TYkW zyL$bMbM|IxZ@_X$X|s%p3FdE=S!PjGQk>J`+^<$#BQ_m=m?WMG%GK0j9x?pxAah zIN9Yosp)u7J~UPavBl^gb+Q<(&VRt2%5={j(H-nV$F&Dva$3G>yD0+#Sk(jqMGgZQ zX1x68@c+auFodtJO!1HrPCFEY-cMDch|iv8DtB+d2%Pqx$becKe&#;-$4N)8yOdeL zgy&z^(8RxMY#MWMb%B*;QP9!~zc6KGF=StZ%ffB67_eUGUjP-Ux~rNNx(9qm8*d6I zX*JfNUXs=y(tJDRyx8Jrq4|8T&gD=bIhI84u5~a^riSX<@MRyy*2{{Plvpiz90XxNA=HpN~8aGPw9uy z05}}sJ3xxJjuyOjs~zT1KR#_d#mLQ?<(~|VWTjfpmNSvPgPcd|-^9TknB}icP37*b z>xB~%dAgLCaOjfiQ;t%F;qHXC^N*71>Pu}^C5}Uzc>CWB@Ls;%p-CITya(~?fHi`8 zLAWXKB~Q?fh8EyCEmPP`{EO#MeN6>FF9g!(&h`EN;u%z86Ho0&gKVtfdq7u46i>HPoz^AMQ^t>w+UyDf==nT)fN-8(pMAkhKFvR!Qk^5fh|jS?~=|PjBN0|^D*ZN4q0Te9kvRLQ9^_ISso#A(OW_Iip=vJ8>>DG zeeWDk@fe~SbZZscN_>^hbJUmXJrtQ}>M(E6dV0vmxk9~d^bJBxM>ATMMQC?x9e?|> zyN~Qz3>dA|h|=sWBkA|smheCrvA`MMT-y9tMbyNnR*5Lr%3b)(8iGf+SGP98ApB?W z&@?sFMnzS3kAtH4jQ6HxbJaqVQ7>kLaz~g@b2c0Y`rBRYO+m?@@KWt%nCo8S)9 z+fe^9G*M5|KA^M=a#dh-SYsfx{RZj8XW^Nzs0=Z(o_*V9G=?+!qf~GEr7@&=MEz&R zAJ@^VPpznhFmG^7#`>U~UU!a=PiN~?JD+8trhL5Z!-qXYkUah!jkHfHgrDFepyVWF zyucEy1-fA~D0Gd~jUHOYH(FwHNW^F=Ck?8%urOcAQhrFD_H1I2EA2MkMb_;ZG+&>u zg&?vcGOF6kT&Z`)BEQZtqm0A15o4Z2s82sjL)45nxWg_fMg8XsYFl?MPzuJ5CPF!x z`|D5HqChcNsp83^gY!qmrfZ{|)58G|h8ZQBqvt-n8XKXcH;`SJ0x_*^Z%%%|vTwr4 zV6M$bi)f-%Vnf6B^HW*P3hUi?fz?Mn_eU*P*|-=9tN;xCOTLTpD|_^4P!;rOOQ<)V z{T~^UWH5<*hwo0;f^}ufa-I3NYmYMsO^n|9z3VqND-s@(O}2hu=*h`|kD$&A{2nN8jHct+w~MZ|?)*6ulqqfYg=%3N~nL%h?-f{gh!I zyIl6vU6aX9cZSxR?TK*eLr+AjX%Icy}ZMknx!PrWl{^-o*8GSCHntRHU zk5rgwlRi%*k}`LqW@a|mnsHQ^?yv~{U)4|k)xV$n11Pr){hXSByzYF6#D(MZAH9a` z+Od!}4~{#x!{S0LYQRq&J z4dn~UpZe%SO9Y>vSrvD__o5$@2ca|YJS_lX6~+4bh?$|_ao_e%zZ%hwaOFW*_n3c zQuGLE4DA{fO0dA~TkUjQvdGu?$2UJsIc=B-5dEf1Hok|iwOdZ-GAq`#iX08!hgVjl z&zSa{bJl|c4Rn&qyMJQv18yCdk@m=0>n+F%iS1T;{MHk=8B_fE^TYEe@}Vv9?0p%> zI3{$oufTDoc)DMys@=~E{GK>%Axwe0D!17cF@a9Y+@-(f>+=asc}P@PN5y*Jqo5Bz zZ~qAncqUd2mO+2)!|^tveK%IMUbb779?}}P51m546vR&~$?1Q7xYgucUQLD-M&^`m zF&mnso5NeqtwOjInaE%Dhj7PejYbSJ**hHMkZ8A@co~iwUJul5jtjsvASjYaquH-Z z0u!I@!#BRDGj7N0*CprN*H$}7-~+Ixu?-y_;D-R@^f!LbcHeiRVZoub`K#{R+4;%CS~^5aEs2Yudo#&__2uTBeOcd+0?UYbxh zeydWibo_XDRhe0U4|S#Vd9sl`bZ8p(qht_vqp4(qZ>dc6ChlJ@+5SDx`O;89u|Oj1 z-Tgh2*{vLh7o{}I-Ub1aS?|X3ncgqxSqPza8lhz3g#Ev2x{kV?9L=NC;G1qhY3E1v z78r{M!uqrkV%1Ajx8y{XBUM_{CUC38DS#d)VJVn{J&ufS<8~Ueis*!tWT)W4^iVP> z2|8TkyIDgNp3OGLpKRWVhKj>9K$!=V$?Nqvu=cj~=J-L{d>pf*{`<}YpWAuJg;;A8 zOL3KBsq7TVb_Fw_V2QL{uZJ+;gOE6D-c#cdhcCt}Ex7r5iNUB(0jWFEMv2 z^3sa1i00rvJ*Ab8&FeIuX;&?QuF2$*fuV=%y|;F}Yi4wzpZcQS6}_FP=ua%!E7=GZ zOYCFz)I%#(I>DXZ%s=)2Q0L!faMzZPUupamakICTB^V%}FS^b!%j?~zy=(YLi zve-nEqnof&JW4WPBp~4~(>Kr3fFNx!&ERHtftgq)A~UR%^w)!pX)lBuji^P<9b4h zt>}V7YQ^)o=>~NNpBf1UFe<|?s-Z<^ee$BSFe#u4_d=d#`cgZ&z0=u!#e8C$3nFF4 z`!+1peZaHXTB|EitfgsQESJa$(Z_Jf;9WW^(7*0S#1^*w-AN=o&u_r)F(~T6m{Hz1n6m!frdzr0#$JgLv{M4(EFuY!N_ICux z0wg?KR&*nqWVu(KZ2IJ>%i}TX(1`)+(EGnB#-6j@=I=|BQ|HJ^fqc!24gODz$GY_| zf(l9;!RJJEKt>FC(Eg+98UIk=GbG&&l7u7msv~~qklqwmSy0^>YKs%QnN@>_I8_NCJF`dk8xh^hLd+djFX&0NCm53o1V`e#ZWTlj+@~Y?q z>e7CX4*K7Kt^nxk#cmk(-$*V(*L%b%MJm=b=kgf&N-R9$&N;q2yYwe(jW+|k!@>}p zEl|do441a=76Nn?XzTnVqAKJ4Ch`giDE_mLeIM@^E}zqXqww>f-e}FC+A%y$j9*8- znT!e)pQ-{#=jlq|JH1|&R2lW@k1ll2Gpm!MruppHS-)SHd$uss-2`maUbMX+&S-*sf==Vq7+2b9P^OqI{-?It!w% zlCjWoU5H`Bip~X+2ToWJBIV(vOTSG0d4zWSp`3@b3RzxqySe=fhG7en5q5Nb_W>ufEl0$w;D$L@?R%8K*(hoW^{DKoiCcI z)g3CQnWidHIp2v=v%7N-tdl!~;LYcIpwoi1KlzO$8UWMdnD;aO;`Kt)_WD`w&w_O8 z8|Wy_6dzS*BvB4#Fi5VxxjFejnu&+~f(qLzK9RwgqxoK> z)?Hk@^jVm#s3}T`_Vb+rQT4~PR(wrdR~a!Sv$c!qM7b&820)MnWR&oAw@P#Y4nokB zD@>28hptjUP@v+QUlnuxg`+_G*8Se0{c}@zh9Rd0PxqZ&8x3gHL5Of13#1$g z?#p5PQ7@pq3#wfOn`?Rse;5_bTUJ4tz9^w)p3)x`C+sG|lq*ZlHPjQ_z7XBk3U2o- z0~F0K0x8kU8pzX1zs*&d=b?<_7DV(rGbaVcV$XH|uMv7TMmpA+uTbQrqr+p-&uM+3 zbTxxkN4@Ud8Vvr6=j0aF$_Gu?LplvYO7^ez&%EX8bw_z?Rf5}NMxWNmciEVaJpWGM z7KO%Q-ETTN+0g7gh{#@M)6KI`Sy3Oi2LDPAsZ={by>WfVx4|;bN=!O=HKS=B<-ddM z9m@5c8)t!0N(aho+Mq}fwGh@FnGb|{gNfFlHL}Ek3x+-nFc+~dsH=;sCCeMd9h;=S zk+G;{;S?$AzQ9FynC{J2d3r1@D(xd+kZ<+LyWTmzPK&;Xb7x>-)~h2sb|*eGekjaCw4W=A5TCIrm5>X z4U+Rim_zS*-;L_xzvrRsSAF6Sz-so)8qoTv-tINZ$N`DY`!miiVsN5WlgwzhimfH? zxMgZ<-twn_u3aO3qb!RlutMjBlbB`m3N{$oaN6(>{5#8!PR77t3tFU4QeFNLVlb}# zNi21{V)__{$H+M(nTq)Mk|TU6eU5F8TR@1yTFlGBi~!)&UnuYZ zJ;~eC!(OAizfNvcFNFc!8xkz2P?LDAunL;q>*!X>k<|3LvbeSIt8o~&(MZ8ED@35c0z3dX4$Is1w{Op*|V%er%6sd{^HGGVUQ^3%G_f7N* zYu69c8b!x#okqRA`ZV7~S;d9FeZ9*><{$H?X&?s=mD`((SRc%h1gM;bhUn2eblR4m z7h$D~O=m-dl$ls-s?lDg@QXbBlyF<34wadUz%3n3{qK@y*x;M!Kt@2zv2bFFqU^U2 zL3?{{$ceuBA=o+U;`SEla5XNr`l$wCYR2K{#-~ch)?RlZ(lTiF9#~A!0tbpD1$d;jr_s~98w30p^;`JuDL>W;GU8~!Md4{;(nTkTC(PiAluffFEF zSyiNeKm6gZwhr3<_e06Dnr;t^U)P(uKcRd&OqC?7$D=FC?;MF2YD$D5QYI-p^LoGt znD>p-{(E-9zxL?SDLGv*kL4_L{2n?ze9K|h+de9qDvuOlOG2s%IX@DH1EbB<)-)-WsMXCddD z;P(&loM)5zInE2ni6`0b=o}htyzxG?AVT&fOCK?WQnLnbi8EbbZGwa*r-S8K=5Ik< zh-=Ru#cKypSrzBS;PG7?b-@W0oZ;aHovg^SU@_8&^~LMXj#7xQnUku122QAHxQ#A> zBa-(ktkB3_Hsj`QUa-79nh|*qNVVB5-O>WVlot}?WWBeUqstB-3q3~g8R2#c>tAGl zug1F^(!cdaNM2_X9tNlg?Bk)kIDH@~YZ&?cH#Owaq+x zySU+Qw|0C>!_#Z-+qK>Y&pN!612( z=Vfd*jH&M_VWQpU65aOghDW~#=tzVx2wKzgt5zl2X=G3H<13WNgtKkvM%sl{3f>vj zp;270i15c?{mxq86FmbsVtQMU0*&p&F;d1Y!6^+~(d3)1K~5_hHU)f1~Hmjn2g_%@ck~=o}x08QbJ*qPj>rO za*F7DhZB&&Eo7FUUa$F_`%_y-#YkB`|Cn|#9<#dG#rS+kRa5um!vjdMdFE)qOCHW9 zGKFjgLOaec!Y$A4FeN7_2Z#X~+oa6sO3O;3bz@?+bso?0BL^$HhTD-GPYlrB1vx zT~xaumPr&uij|3c9nNXk-ahwqzw!fbG1o9cWO9%R>7JaRs`=Fs@j-zGrdO&75iv0{ zG3J*bX1rfu8-M$*hj`5$&#?aY{ZwZB)H@6o*(Iu|NR!#04PTshroSf0gfZSX?^R7T z9GLDU2==t7R^}Lhy7jq{n00S;$PAJ@B%>oH_&jX`-dY(KET!3|l84=6ZIrf;^Wq3c zjxIw0Ty**iBy(qc@$#{XzN_}yzGAKE*DpC0O!Izza2pF z+hD4pya?Wu{yJ(5rNJhX@4YWaz#e>m;vEl~_b;CDoV=)$bXtQA!YiGD4eDYel_Gg( zir4MZuG>n+p88VXqXw!wFGR1gEi4zz1$T&ONlvm_f5r+FK$DqKP^L4oHMFDle5biKH5`K*-~I;i~pMg zPi7$>5Q0@s#>ujK7aAR7Ohn8~BQZs42|gEHD+K`SL>6TcqRiB7y<0e2=~~G?a~w!h zGCwiv?p~zK9Mh!Y_O#^B`)$eV1)XgHQnM*B5HWf|aVEbt{ly2wnvpS^_ShX4Nv^i?pA@$AB@fqvV%hO8fGefY53VeKGVIL_PAxV;C`O0;p#b{ z#^if#7sDe?2z-C20YzZ#e`0a{M;^1bx1#q1ahU|byE>E5h z_F0JLT+KtErww`>r2NhR|L8BC2o2toy^^h#_3)a*YqD9{yVVX&H5CB-hjTwxJdrZ^ ziOoUUAl*^UK*w$jtf%IDKDu}rO+nZ$wv~wA*&)zg%c!X`^EzSQY~W{Yq@7u)XhK2A zfaG4${AGaM#pdG%3bgCGdPippSM2K<*0Cb7j7LSvaj@yP6z?Q0ntzf8r?kKhQ=)VoYmJ6-X#5~9_vsmn*iLEhgf zi_PU3I4_`_Ai@(}`!4IUJxPvE?0z4S>9U!v`Z{Sj4c^=l*MCR2cx+2tQgA%}>suzK ztXuAJF&~rX!A&MqyMSWmY7!F z=9zPg)gAoI0b%oAFxfi4=Y+#Ye9DxsQ9`6IO*US>fb9Bi%V%%9!?5OnHMZN=eXfaOO^|nV&-#f@W zcVPfOjl9=L`yR>HS;Qlah2pbYg8t|JSIyvFJ26@}*%%Z{IT6@fLdPy%DD3{rpO zzmV0l^z(D0C-~)*@~dJVnc!)}0MsLH0Sf>}bs-Z_cEOhhr zV3MQj3L2C2C_DcE5rnSq%1|(keiy6vZGm8;Z~_keX}7m6!+`FLK$fpU?YH=IO%Z!3 zd6kDR0Jw%|*ENsMi5V1qo8>tB-N_|}OCdM&hHpQE=hn6~xI3HimG@_}%;@x_^F9*N z+SA*Yk6WwJ&w~yw0PtndmG_#?GbRw0P2utn5Z4RGNGog-{>3Yv#D)V^+&RDns)*DI zwg29LvTLv}oGg3AS{t*aU8}{$YDsxUMu?a7mO{jjI(%CwZk;F)Qr#s>qXG)o{g5+csFL`vywSXUSm#q@Sbh9PQ;ft&l0jOW4ZgYdHC8ZZRPAuN>kxGs5fymgiVGca$lxIvCOdL&$V+n3JvfOK6Z7>AB$p#@m{KcEu z!#xLzu}7j^xeW3&Sk2bv??|Dj<6oxb`a%Njw)vkQB^CC0l*zDi5RW`Km-=ZZL<4g} zYi^iZVikabEajr(`#6V`hWb;b4@tJ_cr5va3if;mM5IW=sdG>dIsnp1sd0xY5$H zfNbO@C=hnCJJs$75~0M>ic6l;$Jf#%7`(xZ#XkC$tm=^&+3_AQroJA>cRZ#t{0Lp& zuI^EYWT-cxjhEH3FFK^WYw5halT6)tr1r@0yqhT$qsSCE3rn7lob2T|u6)E(=J6ouCjdQ;8>5Z02veoy7 zFDQZDwhAX|6)nMTMaeri#6I;I5cd`C>PINU!Rikz_fb@U$3`)!1{zE|7}>q_jm90 z-lZ5q6g~MC5B96{y4R$TiG9R8zu;A&daHG&nkxAlXV-vCbc3Kif(t? z6uQ@$O&cR->LT{bKeevLc-b*$6N%4y>c`T{F6ZdchCqbR@96_U#B~3O?Xmx&(ER_L zLi7K0uK%ZGny*4r|1608Ka9O#zp%nxS^sR3XzUe(x*&Rys!;=@*dJ6qslUx6Gx9@{RNYN5hG*h8voc{R{4k z``2sLOjeJZKZh`^^tCUiaoEt<>0FT43$x^+>aIRd;V7W_DroOKsHXu69^bIfaz68X zD*08pLwHDzy(@cM?Gpk>z&sb8U4ptZ(-5$S{o}ilej--{Ge$+!AV>cjd+#09RJ*Qw zhoYb~kq$znt2F7I*ytjHBAuupRf^OgApxXU0RaIaA_yW)dhfkSZ=og;5TqnXi4fv9 z-|u|;jJ3wt>+H4HyT5(**=PNc!5GPyB=ebbKJ%IPeO+G@1@KlZsxqm15rcKZn$E{~+@d3_}pSBpHHKOp`9g`sr`b-NwoZQY$}y zMe+cL%)*yBK&OYjg8%BPa04eQRKsW&xSz5K(M=owNYX8xB`*Ps8w*4h4$2LfpA#bB6rXh|=ZP6u)+C|mmEcPg zH`1^2P@YfmlVs}ST;cX!+!xLAf!q?K>(aP_p9%FQ6v4_Km5)8YTizz=L-%(3iOhiS z2ltc|KV^)Tr=i}j34oRf#V`d~EWg?>@zR;}dE4}iZ9mm`Lr?T|^XEHHqxet8n}?Ex zUaSPs*}YaS;~-8EY&$d*Pf>XUhixu=fO*BZYm=$1lf(N>Qv=rkK{ea{W(MY{*N8(M zw0dtY<-HfWH#c6?3+~^F{soX)xB1`0Ii}^9D4h^|Q)*9eOw2+F`9O4boQ17BNHsq( zfw@cJH6zbXd7H^onHGBTWGa}Y$>$UND#0Ptrwl}#F)Zg!JACvdsAM>QB~GGg0OV2J z3CNv18*5so`nF&E6q`N1tw-R9IM{H1JbIw2u4N#D*_JXM$10dDzH!)?X_w)_4XgbWTwS z%}d`wgCmb1}J|%);2a?kf z$>^huiDqJ3xK(yu(*q+|mwE;)E>U-3P;iHadG|S`ire<(^+%16+gE^596Y&0R9ra< z-)C@~w}EA!bk8tbz`XRwE?8MPCk?T^>F{J3L~r`pt$VIq)O-P90Gib(qHc?@IfD*rP8^qJ3 z9gwr^SahhLW!Uir&AD1xUhfTEv|bNbxZ(l!>nlm3y3+m=8Oe8+kN|Y!<{n^cI~RTX zKa6@0JEPs{7c(RCe^w2a+*{H#__Qq`=bq{=Z7On4HpHcw@F?ZvF5D1*rncR{w8NL% zqy%k_-prP=HWrKVFMe-lpUNX$@j|HatVweZ>-A^o>me2vGbB0w{+6TiS@>OI3c>jV z#}o$KCInk1N=nr9F+EcZ(>dTrl~2#}7p3 z#Itp|#J7`ode1+8SuR+5oo3NuEea#{Ce4f>f-3l0^QBVP%b(hCwUbj)*Y827QSuB` zvW@JC9+16h1Hq?7?2pjSp0=#@c5~b0s`!`Ru9#lvU(fpZXS5lynmFuKptE~CDU*J|$9i=CWsJiZ@1Nj{z|7;8Y_B)wc_yV!UOE@*0 zx|m8y|Ihv3Ac6NuqlDqxn3>L9df0pypdB*tTC*}J=%laMw0VGbs!5HCI8l-gH~vbOh5Q6i5#E)z}91S6GTq&P$x-bE`7i4z3zf?AN8azpk25w4Li6 ztjZce|6x?-1y~wq2eqp3Jj6^)OFVv2K2~KhHA6o0OZ3V@Rq;42|LZr*{_ zkrc&{ssl#}{_!1oiWg_{Qb+U5QnCDMiDj8$>rV7~ZbF_E93qEnQ!U?$d;w)cv4vQ9u&Q1k5BvJ$VzeA=?h;C)v@Q>I&X9cOCSY5zXqCpy$T~xAPVSW;rI#fDt z3dg--dWC2m|U@lM((Ht|)nm&Kz;==op2Ad?awNnguW+`EuW#GeM! z;^J^6IDg4^#bvwceXTo>YU(a;c@RE}7YY=jPqciqr9)n}MuX|)z%eRpsBn_L`s7QW znvbrZhR;+Alq}E1FjJq59o_mC((YSxqx1YvR1lex(2`J0oWQzw#kd42cJV1U*QD$h zncvxX;_^6wt;zM;#U$P8cx*il2(N221NUqumOHJ`y+zP%I296;4o#}H{a0RXc{J1q zq@3LD0f%p4w4+?umiEbqx=9_VQ6djY`tqvJbO5S1%_rf| z$Lmy%%0j4*#U#2SG|8xy_)0Wd{_6gZVHs6glG-*onEKN|4~D~6@pVB~V~hQ-NPbNd z-=hcPOSP=>lfPOIZSV!*aGyNb36>+eYS7ixh+r5kuOrEQES#0p!*0Y|Bg9b6A-c+m zb5y&AHJmH!%FymK3~y!LANC|*M>Tkfwbm6O=DJA9o`s@fM?>+|!PmK|4j@nG?5vL@ zAL2PIlygIa5^sf2!Y@Z1m>)EYm>tkQ&opdk0@%Cs8=?~2uj|@P(DjR{kDC==LF|1d zHE5PdD#YAR3pF3Hfi{NBE|pG6d9H^WdD^qZV-0LZ+-HC3h@Z2OwlL^k?Ek)X=fU{k zL--gL#o&@H03deg4qp)_B^aA=kSM-O3Hp`3q9?L9pjGNsbo1V`=633w+t0-~*p73d z6eN?=Wck5N_w&6NCN|=H7oT>N_l8vRgPGh!?^AW^5X-?Q*Lv8oOlgBx>w9paYPcOK zM#mz|@Y&9r`h&xo&oAr0@cU$N7*iiY@19}BuoLi(J|p%{?v)~$jr`1d{M1ae20IaY zSWgW0B517ZSBJYY>FVps>x_-oMGI_(O$7-(PHeyI*UP<3RjMWo*sD#u$znuB=PxiY znVI;!nkPnwd)csIy6gMqXg;%_xN7Z%W_<;ww_MGFxt2Flq3Ubyby-~s7i(5#0 zrgPs@U%oVlYXgNmk=l=z)m?yhl5DP)pKf>kP3k#Cwx5(qtkRco_tt@@r>fl$jkEaf z6x3lvR9X+WUo>2A4Q4|6#k<;=_|2bEXEa=ge5<>I^8L*1LMF#esCDbgX^*qa>Z-;j z!1Ntb3He8r3;*2iA5(n%R~xrafcKPNKj9cdLk^RG{(&6fGG}i|{)wh6&!z3UxNmKrc#&)PorPYjr6O%gO;F zCG|cGDg9YdX z-7avNE;qNlVV-x+osxD;W;Ojw5PiAOkw}SN|3#eFUSmf#6EPW!nkyZ#%skAUc&@=a zg2^jyu1;=0){P$MoA=dSM$pN%ua|*B{@o6LH*~$Y3-s#ZI)%Iwin{=(VKCkpFV_H?LQO%z* z%8gJY9&m%X&Jlmz6o?$K%GQFX{}JbM$2~-aIuDK~&fI~`H`MNi-`w)hAvqFj3GO%` z&%_A^&``r{1jd^vzQN!wrYhvzCww_Ro;#Z#=#)eSI4)mT5)^$NA!yGu)5?tCgz;d% zM$m+lFFT>o4X({w+@be>{hZ&fuMz4xd7q@H>c@8u9q`IZyL)%8Y^9*rsdyKtFWK`x z+H0qObQC3bn0A#*=$E~vlYn3BMICMN&$^c>bw6^63H4x)!Biw(D6<8!{g$OJ0orAT z5OF^C3*M0^J#dtpca@M>xF>YN6+O13;P@)sUep)rMCDla{4~sU#TtqmM!#p#C1_j5 zErVr++*7EJDYvvIXT}gzrx_YFaA^V~3foFSe8d1Y8Q-rND=EEPSFcpz&uwqcylR)K zhI}oonh{d-om+CC@zRS1kW273D*>JDYGQT!m!X_~Ohx62AZA3a<$Lbiu>P z(hF9Gk{z5ql|x%+F^%Ul!#y>$Pm5eN6hyZMeXy<3P+spWs3Ac}<#}og%XpO-=lhma z{YZPW?cLOy9vf#T#FQSS#J*~8KaCo&xc z(@yP4OMT&n{2n>&ga$F7qFGbu883;3a>$Uz+G{I!~YAVMCw7UVO3w1#BK7@FchLqU^K9v2w zd@TKAb8z_;is69QuYF0lXDglhpHIz1W9H7M~&}TAOyiPdD??8&1zqRXR0VV!FI^?~&3`od`VDD8(@wA>h!P zC{I{?KGF?l=qws3C=xCiACxZ{(&-hZp5D`1mHpZyd{Zbm+c_c_Sc(LL=?}I=yZO%G zvsw~AJElG`GhgU@;c0f$!)$PkCOy@k=fzM`L^3DE7ZBw;<1g>5M-qO6o+fa>Bs+1v z+Z-6x!A2J-^Ad6QK~uDHma%2gl`^-{$e(c?T%4&O!Wvcdh6eX0+AtQN*5r`Y2^_(0 zf{o+eNNURsmBq#KpAxH+!$W5TC0nm18q3sE;|6@TZX6+5$UV?X(^wW$@-p5^k;Ua@ z^>m}Z&*5Nqy-FBnQ7v&ubopYRhsBkFE*-Ea6<-m)a^95l6Uoldw=DC);pmp+ODvT{S-p60#X$52 z(9=2=@uJr`EEkLDL7Xp+`B%W9%S;GPqRo0c;@sGH@15qlx`w*SB=gd7b2q$*xSL%{ zbRDNyR^7^Zd;nxt@zAiGz)6tPpr~<4NgFW}Zfr{J(@jF+rq&(L|0I{Z1}3T^G{2{8 zFWe8`yRuY{&s=d2_8E!x{LUvjzAcde)C|~fx*Zx@S9!EWKH@U_oSRdtVR<)R=LSy_ zJ(-o5b8?%+dzu61zzbrJBC8A|kKN;*G`a8^e;s@76T|Pq{95+~^<^yqew}a9&*+!z zjZ#`hh$(m^rl5z3Q8bh+1VhYNOz^)DlGbk!4W4`~C)3d{E_#WDM^c+6UM!Mma3VpX zB?=bmmyi_k#oWGya`qxE8UDL&j}$f&`@Mwng#|+d(VUE455ATZT9qCH5Ijw`#J@)s zc!oiYeA5?s&>?k7ZE~FR5!oj>Lax*N4SFBlYOq5K$VC2UuHWC%rvGQW?`0!}kBCqU zz|4=FBi8i$Fo=+}Bqh?9u9F`EqQbF?y3P;Tv>Vo}FY=6vjp9B9T}!y3#Cm*n5#0v- zIv{T3Ly+>wMVNMHi==@HgxS1gb3-MrrO3W`Cq#A7_^!+oF2CnOStTjz?WOV2R~NSc zE#?1AwEedt{Qmj*Kj6a!peO$=#_g{c`=*c40RDE=9Y{NLk{|93fc z|8Lokf6pcQe`0X$b4nlr@=uHZ|BP|qpWFU<^Tq$oWBAu$(q&UX0@b&xFMflp02AZr z$NZqyzgUe?{rTdGx^xKoh;!VrjUv)( zJpQQLNB#N+G;*1}i2|Q74PFgFDXN_3f8W%UZT8t z85|Gi;2>QAlE50f`IveWF}rcxI)t;?Dq8YI3~Q@2t~)L8k%irxBb!mMhA^(!}6VLm0U3LD?6CbGlrPt%9Oku}qP_LAJj^e56Mi zUk7yw>p^9b-j=ITYCjZOs*)Du3VGOh%thL*ho}Gy+!IfYS8LkepRG>%DkLurUFvn` z8NjeMrra>wHlZ$WTcJp{F~{rUw8J#iiHzV#1bywKg!kNzo5Uk^y)z+!ha=_j%-?S1 z?O$6T#ROAzKpeLH4nGq}+~98aC`B@O9L`_lSmZ|&u~jm+`|W4R)cg7j-@Af3$bi+{ zCng=QIWH(LhqUq{R7qN=iBE{Rm@=k0Vk4Gqb!xTbW3(K%Px{_Y2ETZV-Ivn7+%wTd z;l3a{yD#wIp}-$DMr9;Bd|EhJ90(wu&H>yZOOn;iOPW!r%#3QP>78^r!%qG7iN>y(d+fuh+&)x2qS;{hNia&j=q3dDu;q_Q&_$t(s~w(nu&acd9ws8AFTLCJs|%d!m%17kTr2jJZ;1 zsaXsju%sWy*xW~Pl0<%kxRzJ+di?>}*rk_DBq0OQH?6iO;CGjM(_4}0O$llC(j@C5 z-0*E|@3!`dDhvQZ;0}W(<(N2#JU!?<6&C3C=~i2m?xb7m6eXv2izHWtU+NvNy)Pz+ z@OiSaAwW&ED@JZ~U-k53wB5}R`u%QiB zz;~Et=$rOsYFi;UmS2xy)%bjp$2V@qdvtM}b8fgQW~LkJ+oFV=KB>qOv1L5}%sZybZnh_M4Ak`djwPf#Y`O_ggwW%a8d>V3i$9JPi}in>33zj;(tt zJ!@WiE7lrW_6K-&oe5vGdnVJT%X#Nayf#}a6i{lNL3OK}Vtd=wO*^v%$8lrTh8!EW zI|%*uHu~zCXi7;pFr+24{Lx+yqtdR;Fpx~<(Bu9p!xT{8gpE6sdDD7ZG+LUf8VL7t z=`0*;oLq$*JR&?!aYBR-Azkbbddxjev!grKme!Z$O#55uL{E#GlnLw*dblaMn^5-3 zeai;cWRjO>0k1I?t1EthPN&kT0D+{n+SrXPd4i4ya*9~9I)HV_zXwwFZ-}0ja)D$ci8Yw?!qasQt{cMp}l2r^O@3v4XVKJRR@W< z$_Vwbn~AvX@|oz9)aVwZ-SEeN{g zQcW?duRLWdUq&VM2*~V9=uH~#(`w(UCuh_o(iyr~34a*I6e}l$3 zi}u7iEz-JN#mMK1F!N;~{m(aDfSar4I5EkUL-2mWZAC?hqhq?qL-)PTcfnP!m-(Gf zzkbMt~89O4m357c~~Ck&{b>j`4{{3da-XqGZo?zUM~c% znCSGOOWR`4pQIgD6Fweww$6iBYU8%N1Dd^^xV6gVr&2-@u45IBYw??AxtrVcjC36ocHqS>yV7kAcu$_kQsnXQ_URD@3MLm0rFiSt0RouM@miPvAbg2h9&iO z@d-@vjl1Xvsv1_9G8Rt=T=x`y%K4c6MzmQg-;A3q(4-V;1Rv=2lHVD(9K_Q;k$e(& zziz-B!~taq{X^?@9AwolqYR61pcbea;rCev`2kd99dI_JSC0ITBSX zy5&!h#gwe2VJ+#(n4QyV66g`^O=I~12aSoo#ro2*^SuJ~R73HB16rm+6wv&XyH4nr zOT3z{IULV?fhEOS%KmcP?BVd0eu+_ZAX87X`=JN1Kyiy|rJ18k1KcoqfTD#3HyJ|0 z)0b2W#+LL^3Ny5~i}SBGjYq>LsXy^Op0`R?B(WqzD<-^`!%*iAcDaZX4^yuQ;+vb- z>Rr94>M4OR9m!bQawPFo~6D?Np^PzPlXH?sJuIzC`tup=f9I7a1Y`+ z93;Yqo&ZT`V)4Tzgp$QFzO_c;YThxhJMzB2sC(f~LujM>{qKEUVy=sA?xPneIMrSm zoX_zEQQ|mzISU`4S3P$SHxR?)MC0W{)R-Kgx23WsNEYGWZ_FgYYL@R?wr=SwXI#}7 z0xsX@@ygUaMqFHH$cMbI>%d>+FBxf4yRcp<|A7De{#wHOOAk|I(`4(k6#l@uz5jQV zjQ)8u|L=DL`>%X+{m=ewfB((=KMEuIA8l2*@>i_SslVz2{%@%%(tJf#i*^GvLhX*2 zESJvhRp*A3Nekzr8BQG3SLrrF+K29DK4aS`GM>&bs zr{t&f?|l81{A=ci;x@qI6!HUfS>+iszd<^?VtWED0dko>{x88PFS1@H^#+KXPNw`3 zF}DW3%xWBD7Iap3g~C*xLD6X3%^(hAu8VPs#ANlY@`L2bUTg8Zk zwy90MEDPh8VwM9(t>28MSt48rNcTxa(CUI|MJmQ7A0CqrUClgZ}{u&xqhMp#+-enuc|C9Q7dcl;PvF6dnay&6UYkb90^!%hy@i1P%)&acTt9|`y3@g1oHFUyxIn1+j>MFZc?gIy{Yk3A zW03VpP0)23X}l@6_Eib;i2+CN1DhLiyNtx^vo<>`5=)tGt~Ts8jo(s0MzJjig8bod zZSuKStbFvRnIv5tgl+L=p5sxAU|pSl<3`fbtYy2qJDuLRjtLulv_I)(>6O%Sznv@J zrxHFwoFN>D(Zd8xSp>K;JBGDkB<9S~yxL7q$XJ!Wiy=R}M?7EHUv2MU&0)udL{;Y6 z)n%f{NKA{cOZGKlCuTWvNqma*KrzB?zflSL0N}^yEIymGP08V4TrzvzmA674Bs*%l z85nnvTHwH#o4=sx=ix-P~T@ggp7$7=$|F3y+|IB-)*pY2hLT)!gj+k5u(-Zr(4Trp6($DXH!ty5C z+|{gCydpS3Iz!X7v4YKm#uMpO^lOhe_8TM|(~CTmbpaonOZfX2qw|wC;ZPpaLV9t2 z8oQ;ImwZl|tfnKVv@lkaAAz#Qjn#E6)m7OpE;sVAjyU`H3%%#<9@AQ7pVb+r(ru2E zC@p{Uj4h48Hl|A*fEf(jLJl7^n3t5M z4BgUFYs|f~QvNNjzP}$5pK@#t4Bzf=P)6`?kO%a%rIb_yNZ>6Ydm5RcE|cN5=U=?k zJAwkW!rS{5tx7vJE(7*hsgVP88>#Ag^I*xy`n*@mE#4j#%^) zvwpr; z?>Iwm4`NYR-U$>=MSBxw??KMP?eH^Q!!A7y-bZ7zu!wt8`ESsMYLRxmse40e^{L9N z%6xWrS;K|vPT%53B7vnPJIq~=a4)HQ%O{h^_10X%qwr1nR9RxtdD8dappaZ*=k4-S zlw2!=e3$VipTLZST}70R15ASXTdG~JiSbyWAo(Se#R&&SxF-dV!$@^XQNns3R*WCy zU={`S!pC>klbcyunGza2Bhn&;K z6h!T+@dMV^IX5^kD_6*Q4Ro;9rKFFI&0WxCy?TKkK5ZY^#!zR&Hq&yA+=Hq%3?nnZ zih5MiV#$0!=vQAzkF|wXs-@FT-ig{Xy2iKJVsS;6jRj$-7x!o9r8y?j zv>K6C8y_(1pxXD{He@kh@Y5|uWv(%#l>UX2gZkqWXgWY_ZkIw=9!3$Hv4aVb8WJ-A z`2sSY53m>kE_C9~5vXJzjc7js_bd`_vQ<@w6xfw?oRb?XU%2AdiM$eT1zGn-7YC#{hdOkvyk4OP=S z-&~@eWN^Jt7?9Q3Q=+eAbBv9@sPk6jEDl!)Saya~&TPNHy3eU{QHoE zqPT=8DQNiKis~4@Yhm*gHkKx)AEmJUr0F!A7dvz%mdThAp*=PCo#_Et=aZ@18>%96ar!MI-=uP*q}0N&zta}|XCzltnBDnZvd#`5PPLUUBPTAI ze$zxWl9!Qt+TO?$t`g*a{9dbo*t#qPM@s02^^&!u#(3{6og?_PhP@{=9cyA8IgG0= zY>J4S$oAzGQXB`aJmd=vp}9PBok9pCV+cBb;sV4yzTY?C(RB|2?kpd|ciYja#LL+j z&s2L~@iAbnahGfM3$mGocW!>*lp>Ej0;WYeWLcUJdvOL2omC`4V-$j&u0`1S@w~QG zs(Yt+0e2qslPCLu(i1kF!Ur#X_LT9zF1>h&v1BmvJZ;<2|&l2)Biuo8Ul737ZHlA|qN0U><{>S43J!+fO`e0Lui3|mr z%B?3JrU22G4YHDrq}33F%@`5Z5{g_9jFa+}{8LZI?Bi8kDwT(ZY+28D9=nv z?}xyRWv^ZJ<2TXLRRf&~NKCc_zpu((4uNhFG*CP_O(q@ufc}n zUuy{i{=zAgPij1J*i0Z{+R8md-V;fZ9Fb|o+7GiH(K27Wp&?k8;i@TL5WW62-ZAv- z#qw@e1oVwUVx>fKk``#&=Qk)8!8Z0Sz(r7`K;{xykn%F}N6yOW!|O+-YH&n?FJrjx z@o5=qaDZIpb$wNP@Te894_sGXn-e@>W@3J4=M0CyruA8#zPQrW9#++kkt#+C*KrDx z|60oz!ps&9KhX=O1}J_v1G58JI?6j;*(#hoY4dAO#EWEPs$v8hIjrgv&FY0vZ+Ey~ zLVH|!9{7Y>^7v;4B@LW4taKGTINMN0G-%xz0er{5L5Hjh-;SOd>G*X*A{sb45-1!| zj7>5}7o9Q~KBMQG7edSzZ;D%JQ9P`a7TPv3dIvfS`Y9Cxt<($xzmGwWMg9-p)3_^Hqd;SE!mk)It7oPmmq1z#|v( z7Y7gl@t$!ndgX6_ZIJ4K*ek%rI8S~DL}^L^lZ`e>WO;x6Hz*N#avlVH>oqX9r7XpZ z=Y#~4$G<^C5r~=RLnSfboyx*mNm`r<&V(5jmecb#F5{$$D21Qhlu>D|P0^?WTpyP9W zyC2uoTJI^Fh|lr`-xS&hU4(r`m!=ece;L=4Sd1Qi7U;wu9pFFOEAG~8k`i=zdO1YR zsSK`8xQD`l>4z>)de6}(vRn7Hzsb!l^Y(sPtfZs{#Fy?T7~@f$3G@DK>gD%7+ zLQTe#R}XKs*wRK(q-vhITNwLRm{aZfb5D+e+?ysbMu;P~_3qVQ&tJUx$ZdSOiI%c& zLizjxpM_r{Dq|C3$yW`iZWxM;^Hw->zbd?rzGe7e!mEb%4vlyqt1MG#iz-|n&(WR$ zS|ERIJ$E@eASNt(k0MFH(a>N6&XHL$^OeY#m7_MBucgULyj_X3h;D+fhEwujiuU zGf2f&b^3<@Riw~PjC7u!)t!aUZp`bSxsRYgXg$!6iOW{S`*lgNFF3#6)S%C@uZkbQ z2!yN%6{+M6j5R*i30hOox}1n=Fr9C@i7lb)IK<-28_fJ1>}=Ok2&a>mP-Qn4W?nCm z0w!>8N>O=&_D|6klSwQC|S@@j}&CIt4*4+tRF6w&BFKj6XA{vJK zG(w;EY4oJ2mAE9N*sQ;E0t5Tq%yAe3JmWdh>Bkv0>3_C-D^wj2sz5t({>I)l|EC7S z+!WP$cGO9%@J4tgc75v%P@*V^Ep54swsz6DFtfY(u?cmfE}pj3{&lj@xVDh-Q(YOq zs^^*U=D|;Ok2C-EY3Ry&+6&LzUNQ*L521xPh&D~CvAFsLmN=hVwQ}LEDtz(siI8*@ zmtd4&+}pE{Bk3+EvZL#cJ^%LXlsE6Tn-={$GCj#}xH9Ce43)V#LtIh5J{w z9i{>EOi2uw)hR7j(DSj^sO}NaVT8T-g$+_s`LlqSYsIG1URM1MtbIQ_C}5qGgD4}b zmJ*yLgUt5UMXplOgz)nUu`8GCeolHRFIj7mi&1;x$My~Oe^UB;Qc&4{u&~jv_=cA7u{6ht-}FY3Y=hgaq%-#7Ic*{>S58Y>6iI5; zr^RG0m>8BZN4PZ%!M8)uD7{>py46y2jpIw)hbZex_P%dlr7NB?*)YxV;EEF>Hb!E8&CJ0@>(H~DdhQ6$FZzixsjZV1WCWP7^aA<9d7-1U= zbvA-UJout37^3RKemE2&KY#Hv{@l0N?6syJm|9XEV5vHdwh$!;yJ(YG639C2xxiY% z4fv`Y?K>ap5txFqrI&u&`h>6uqjibkeT3`yTqvUsW}R!q-)K#*Z880@b*qR_)Pv+fa5{t8n*5ydzc(1Hl^_}} z&gZ>O%tP0v3OD%MC*I9|+E;A)l$7497I-cP*4lx%@)L>Sny%W0_6g}9($$s1D;R0r zB{FH$yr35lV>Yxz8vM@{!%jfp1!eOY_MPZNYj($dOpU^91(tQCDL8(9oGKjmEm6o` z5@RE^q>_apHNgWEfW)AV)+%JXJ2Q!eXo`b|(HIfvE%*u~n+ps+&TdYdmeJc-h*{mO zP!W^8X^c<5fItB?1zLKNLs0XxYrg`S`9DJrVj z0aP=G2ssEXVquxGNeWY>v?W&}+o7^r{ju15j$XRmlZ`{@9mPb3-nqceHHW2_yD?2y zF-S4;MOT-5<7z)^q-qy6UDqz*=+sO!z>Oe~vJj?!BuZ>5rT ztIRqc7ykPA%nouLDGTg>MQWiZ3e@T(b;c6yoN+Gs2@l4xZ zx`B4Gfl~Xe)wfik>=FG4jT())(`>T5B`jeD5)5}DSaxMt=Qm=-I5KplL~6dA+>Mco zI;s1~y?_6DNW%zPzZa+`c8&xs$r6@d?HDgV8kehWsHk%sx6@U;!cg8RNYA$tO?+^u zcAC&~9X1J#ypl z+2tkkh_2--j*d9!ebl2`qEoRmnP+@gls{^sBroo10t~FsV|v;9;WMMK^JhFIT~%Y! z=N}w!U=*Wvn{@HW_H0>#M3?=M34S`QaCzavmmd4Ns%WQo!PU%u(n_4508@kau-*ax zlchjCoRaV!*Eh7uY3p1obbj?9(^a$+%B%q<{ycn2WFeTgsZ1vn&s+Y0 zI^(w|Ef6_5dbbw3ud`UQCxbwGpE_kL-F5nGz8=3yKT$6s#&nXoD#>F6kphR07VCV0 z2VK5n4ioU$B2-VwMniUHv3c*O4Gs^e#a-D;hvVYqN|)fJp@r+CGi%`On=2)5y@x5~ z#3F(!rl*_$#RRrSbcbbUbphVI9Q%-Z*}0>AvqP2 zM=W~EUC-vca8)S8Fx-9nVa)A<%1+3V4yo(sz1v?h9tz*Gdv0TlbkwH^WnYgDy8hjxikMkZY$3|F0FYEDPeygyy+$q^fln%)cMI=v-J_QtBHa(0;gYqeT_Q36_-zHKvG|+gShR!f@(if>tkG!WD)lcDHxJV3!9eTTdd3`ss3U2{El)WC79( z!owCRVnUJrr$wOO_`cuL@``ngzrvVZB+lmTYP`(Qa5D4*5~u*Iq_*%Ac7uU#1SjbZ z!GR>mq0+>>h~B8FaS0HAv=`Sm(PtlLvZz-|7d&eK~Vo@GEM>_VXW zU02=lkV6Z>2nO28EGs;DQ%~{G!^oD&m8-(VGm6U&d?rn=gs1r_mIi!f zuT!bYLf^_4KiU3N=3LD`IQI}S{2l4cYB~%p-|f;bi-uN0gGkn&D%A-S$jUO_Z$E{S zaQcZ`+2%~v6P)mICWv~V7!;yZ*WbOb4r|OC1sdgo=f&1r(MZ730EEARr{!A18xD&w zyKH7S?!FG1UB(9*_D%ylHVB3>JYnoRYS8Z;%$skIJivWfTLZr+FBY8_s zkRAH4X@y%oXWsrQtW-TxafQC~8X5nnS-!}(tqJc0kO7TEWxQhVG?Yn0z-rlS8S3O< zX8CrzD>ceBGmPS$#&3{x#@v*VQH=C`8B4YaIMwL~HJTG`NA9vH1i154_p>}_8iSN- zPTSzT*IG%tamMC|Tcy&CE)L2@+G5q6={CJhM$k8?+S=_DEGiUnWn6=obaiUi+W^sF z*D#%@z@EnbbI$5c*~PA-t5QSflsod7yr3>H!NY8#Ar2X8k=9FFCMkzJ?<6zAFx68; z8=~prkxnV+M3*M{IlA8ADJ!MUnFd#(uDmka?-pV!Ou!ho>p|>y*c5r7tDop+6_Zd9Q+2+!;o0kBi|8h?X#+e zaG?ORi^>9V-|7wK5_>EzoI&LE(pK zMW#`G{P>_zYlYc!Nzs&=p5V}uYwk}$GF>rAGMWM4UKBbR!?Cq~CXFPnfAR`hD5mR_ zKYRNyrvK^f@MI^uJ2#fEIQUS1qhDG1ma_fW_)-170oz_$Tf)55O6@jHi6I6_YX#kC z*k=Z&l)0C~4f9q&6#PZbAx{IIx5pI`3p7e?LY~#hbR%%#GH-e48J6-5r2-Dgq zE`7otJ?!I=#5pH%BTXvgoOnAcW8OsyW#Irb<&@IEa!oi2?|wK;lqPiEAutwU&iRN1 zl+l~%7cOtS46D!#Jk)tpseiFoyj({{fmCs^_@RR0RmfSA1aL~n^?RM%BBIDF)~1h| zi9Ur9wfLS)_H_GN_S%ahlwJ0Y9r{7pk5xY+a$|9`8vDJ~htI+qy5$&WFJb80-yYuAUEwAt%0RuEB5DO-tG1cM`7}Xe>tG{f@+8HP!YYs~Op#?}loG zg!iNupZh<+^dC;<2tSLbEdR1uc9pr1L`MasovAJ zpor@bsA&Y(w#&>eKG1gXVTxUfRu%jN6(XHPd}0AHF9uB24Zb* zws>>)Ocz3;Vsx8cr)Jc#;raJ1X4z)=va}!9Jqo(I;IA4Hz4wb?P3{v zXT5v<;kreZXnzjw>_j&qTRN1CR@?yfMJ1^wsyYpw$4u|#)R8v{3R!&Rm}b3+M_=Al z^!nJUShcO5dqgMnd_eE@&Gr?7&BRJ8OTSoY!YAdY+B-tFBj7f}JyNsS-twU^5n4j@ zYv%@c@$mX?F5e}vrQn=17`jwHB<+aRKdosD?tj4UI(GZXJ;JM`^V=tzTy`N3vjwYh zk2eF)zl#PPdq#&$zwmKo7{Ck1Sp{<17XU0Tv7at0>){&8aJMlv6Kowq_6M0aySLk- zC)vT3Evsaz*vNc2$3`f6@XI{3kckh$ZWyWY=r!v`zK;;XKGB5 znM-P799qHvOi#|e#Yv-I6lNmL`}8KD4^)(#C@Vv2Z}*6k|~8b5Hc%-m&N zR`ZnAU%P?(Dy+x|bq>8kW5P;tV8Vt)(IX(hO`*)S1jST+nwo=YE_gKVW2r3e!*l(+ zHT`SdubfmN=eWRkw}=innpaJhcodmKNdW1PPy+U(&YhN0| zitYoQ0LAWITSW{*gskXC4-xVmuMFL}*zZr~UY{L(SveHO&KVQ_9JbOnqxPKU$WVSQ zjPbNuPu%cK)e}BYerzUZdx1>Yj_8KK4;zy6<<3FL6p&A9ii#kd5 z51nOOi)S##%DnJXXixg1xUuj;b0s0J2rH-n{K0r1LHtWtIBw8pH--3tZI~_=b&sh7qrAK(I|YdOYR) znL1-A#H*Ib_X)XX`6+PcW5_7y30I>?R5m$=Fuvs;I1~m(F~P)Ut9#SD5?9`U!ke0A@oQ0e8U=IGqbq4dt|o?rRYqUmA_&BJEujd{Q+O}cs2Gwsa;*GIPI z`4c0r|I94jey|Xx2f8{s@AhY(^e|?l)SebB_Yl$y`2FM0&p4TA_yZfoO*0|>7sRmhF|G~e27mu}d4Vs< z-I(Qp`ZoK^lFlFcBnw|2A37gYEwALs(@dTY^K}_HrK22Q*-Mv~*SeUlL@51iOi?Dw zHsIlxLw`IDnh2Dynm7eAUK!!#H+vx|a=PJK{$aHOL-K59lIdPW$ww(P4^Fr@oJYBj z;BWr1XswOTx0zvjvP;kno!P_~@x#!}o@@aP-m|j~D<~|I%c?!mPz~SOcZ~42yFM@( z>oyfROS=9l7AY?X=n;kGdAx0vtTRo~XAL%v&L3u&x+jg7x+RIZ`^}r*;w5>lSzOw7 z{{?X%n6O~vpAd`)WQr$R9V4sf3ccGyx@flCinA9KRdl{<>%(MVjTf{S1v>jE(2gUx zQo+e!!!q_O66xW#;jnkEAhH}9>eOI<6?6bjrHh1Sw#!a-rhekxZCqlVIWTPt14~Imp_4Ebvt;% z#&v@~p_1oB*ennF()2pAMVmeG!#v4wi%NXG6~5EcMcR@b3eg;&X#^iuUm3F*=FhsM z_GD*SsJ^vn@|E^s(D%w1b$%bbPF%j@>YqS4im2nO_(*@IdTf?GI!-y~%Kun7*))de znDF;nX1}HNC}kVgW%BE6hZ!UG6etnHbE>_fa2`DKhz58cO7pJa_N=R-L~&{?*@2~` z;IC!fAMXnkEUDB$z^w7oUdem29U$|f>-{;PH}}(CPm5iBBdGNXnD?YMAU+$bW969Ax&w$Q{)kU8!%v==d3?x7H z((Qp(xMjA%{PXnuLDk>hcbu>5KD|q}cGrNwd%OVZBHSBL(va z@_#y95$J*fo?s_&O2~!KpUgLbuk^>+Mt}jbke@2YvRog=?_;2+zMf}86{9dpE#WVS zwAkYE1TNVc9B_LF>Sxh<(ww>=_#)}=v=Xojjyjwra@VBrM^>i zvgJ#|5tAf|UfN6#s^uob91}9;QY1-HzcsYFm)LH@{f#gIdK!w1w9b51<>P;zM93#A za{Gj?`JX&h|LiIL|H*M$@i))YI8Hk$uStyB{@-|nj9b@0;ODLXd*)90_dg93eRG|4 za|hdooQ*;7;s9d4PZ0#0*>|})Z{;XqXdAZhvVm}~{;DwS4n^i1BLQbA-!DzYvv4d6 zaOXy3i(_qoo>uvvEDIC_WS;{~spGc^7AWUkrK~eP3}gD;{D~;H7|-;^{NuHulDkXhdC5G2dPv`lFU43pmim4jjD60-A zF?sy$DG#iO3?WqEKN3)<-=i4`A@}FQ8Dk_rC1AO`B{IU#=%X4w%qiN^Rt?Ek4G8KC z$Sp1#J<#W8CP3a;#ZNHvm(>2?qlNXX1_Uqjqeu4@Fx+dV*E2c1;cMhi)T*l*!qhbO z0A3)O4pZWHgK2eT&;7&!#(uWjEjDOK5Boh}g2aJytZu5*pzO?$FDhDI7~=VUrsiyw z&i&|n_jq*(=c17kr!8o9(p_iMYC~nyDgFxVKh<`p#d%EyONgQ*R7XNsci-%~{)3uI zz5v;7V0iT^TPx`0P$gSQ>u-ti6dg60HUh9se8dVli~&>DmCcK}lLdbdrZ&4&7gBdG zJ{tCMmUR^0@c}&_68mITP@{|m z!v`fl-itg`a4R!o#0@Z|+)uG0WiGxjjFY5F6+dUAm5!03!q|3;%z1U2J;F+&`(BLI zVOzi$7Nl-m`gQaV#U|r>zEDSe1^@ut)!NcaHSlcZ;lcCf#9})RO0XlC8C&)&XN@qn zMG6Tg-_nPAxj|QhJkv4;A~1B_4I~H?k@3#EM11Syb!i6=A8dM7y5_CtL;?KN;ywTS z;BL(z`A6di?!fu4Z$TGDD-BFqrasCWt+UrMHSLUv$t85T-(X>NorA!`?sf#+#X&J` zsI&6?9d-#!wXyM{@z&h|iga7Y_oby(=~X;2onk}M>kd0Tk?@M*f{}fTqumexOw_2> zMB6%pEr3(u0&prykWyxST=3ps(C#P5B~jVQZ{YJw^;TQz=)&lWWQFT;dCqynegi{l zLvi0zo0ghje+mXp27$ikL<7C{m&x!x0R8_^fA6#y8?81OU`I)=xT%(FRFPKE#Vne< zr>y5K?A^aWmh`yaC95JotEA5pqODw>^Cpdf@Zm>yu#o)i8=#j7h)3+2hkhd1pb-uZ zj~k2%jx&9U^4l#KGV7uT6$mW_9^pR$6^UOmM+Vo6m)KHc@2^`l z_EW2QIjFLl?=hV)Zsz|(r{ez`Oxhy8Y6@Nzi8q?L^#LsipQY#KII|h6DJPz%P zJqox*L{;mgh?CgT%VlHrW;HX?XrJ-CRDLVViny5D0s^;~RPm`oAhVji9C10MH~3g5 z2sJPyTb;}!8g_h_ujco0Er_k|r_8$LZ~Rp*Tj9an%9{@@nv#(LfI?=zaA&h42%qh=<`pAML^QX>~DRCgNWqE1EtL^n>DcymUGa(lyhKB2~lX( z1w)e&R%<`8wSkRh zqu65#s}xFQwn)NOm#BKj)ra~AOYHp&?G>89*;&}}#zbrL{H1k!>8XylG zM-QFFqc_6CalYigDDzd1wr4NhBgvPFGD@qt7~)=t_ESmb-6OQjCc=l!+5jS}ek`87 zRbdZr87dNfvitKO?E7qeuaDkc{110$;+fmO^uN`$%1MtPtWxjT=udS<&P_QNY zp#138i*K~%<{v<;cu{Cg`kUeGJD9XS;8Sw!W5HQDLqv;!b*hACrN*u8Bjs4v_92#M zM>X%ZFAU#)X!+oF!e%37$`c(`H#(4meYloyMuW8%41dqt>iVlM_ZAOt69oIP`?3rN zLa#yhn>8|f=zI6qq?T?X-7Q9*iY6x~_pY{LAoeg%EFSv!ED{}KMu80{A5FA(Icrug zWBSCPSF>k#-utT}{9!kpySps)<2zE$1UG{@q_BHvy{pyxn?Nc6OsH60th%B>%*{kV zy~a6(NAx-OQIx<7T}5uP5Phcnv_xT{m0!3EEF2vISj|Gvlq%@MI9W~f8zro-Gewqs zVu?`COb&S|fwqI=fld8U-m#VASHDwBLZgi~Xd4+Ypodg5gvc8E6nV$-n@_qoFSN=# z*KJ?Mkh>IiPAKtf|LKv1h0Wi-GxErOrY=U{$kY_OBBy=LP|NNdg zsqMo~7Vq_r(fe$S=X_tU88DJ(5UdAAz2^pmiG#}*6l$WEQ7o~{qv}b^q)*m0@CR6{ zT3ceQ-Z(|kOT?2V04eD6JU#vM^0dIBn(ytaJn7(1=bffe8#Sq2H^WyQ<$YJVlf1I& z+x(s9V&=JEFFwWr_>1dr2$A>XS8uSsNXd@2aDSRve?BGiWEGSq?Q_OCWv-o*fdQ{eXGY0JK&!Cu1fP}>_BH3Y8e~N)qg)qm-q2--DiQA)g;g@ ztEY2(e`OvHZ@#Dm`U6U8HeB;9f7_dIAC!boHDVPnqFys;Du ziQD!zFqsGPlpHnBF0lJQcIXpLOtJ}M{eis9R^JX5s_k@!{GGUbNWU^1z)x`9m;h5dlaO9P%a>#q6GR2_|*6m6H z%YqE=ab|*Y6DScb!L~%2+TtB0$4c{r>)a8 z+kWS-)-McEyX*#yP9QcW!0$$H+qKnF)Lf|=t-K#aIl2xwI0^A&+%6KdCvO4uF$TV3 zacp8u|6<+1*v@VbTsX8?5eyjRjcxYwsMzx7^g%W@`mrB9uxQM<8&$C_MniXBOTfn= zs9J4^8tT?_-7$FSB|icrV%*mHCk769Nh+-4wK~P_A9Pc~bU&jN2!n~>IUbNX%`^WQ z=YlC`*?UgOuhbvaH#XNs^IcUbh`GRV1WJCSN-wrM1E?EAVM5H?565&G+;jfGCV?SS zz?Jkr=y88RDME^XU$OWvC=7g^6|klA7c`jq?JsCR_oR-FLoW{(eV`(Frc8JP1D=Kl zS^sw*OzUS9eJ zpL+1UHs-DF_aB}*d9OeF@GIS)6JYnn=<#K?OILFakdpcni#Y@+Kxk*T-hH#WQ)J;% zWJ=cMLDRX0n8j!HJ%$kMUfw?p_pr}mzjhI7PGDiAXzSeF>q>lU=d&4$qeG5H_%pPj z1ETho{$v)bRKFdW(V^IIcPia#e_Xkx1iSYg%LmY2WW9W^9${B{oc&hY2n3l!7stY* zwPyrvsamsAx^vNq)`y(yt5!VRd|T7rkT3-E?j^Vn&Ilwir%u;q1*lK{*wuP~+=hAsb zEdfIr-kOpgC%mK2;pxrzY${VHw0H+b&&7;1K0BT#E#C)g1?t6utb&w4bQg11d^k(2 z<|@Z+?Br`qLrkp@#i^_tifK6OCeN8*JhD)$qEaT(K!Sqk%~w|att=l|;EnXZV`?@~ zVuF)Ke{FD6omBg9$(H=`s8Mia#A4Afk|)VkQw;COxzo{T6UeI+1-2gkgoc*r!g%D9 z)nNwR3>sRm^I?~>@NB`=7MDj3>$YU+9jmY*^lRf`fiv$mv{!_`95jcLYeHXtvhI+0 zC!2k;2*By771D4E9tlm4f059CU&V7_Ke*~YY-lhCO-(d_&R~q@+rM#z;Tx>Qsyr*r zCAd9Cf;=7lltY5kDDOi7P&yffX>q%BLlL;x0`x$US0YD3b!g**#BuM_T*_bs=T<5^ z>va~`R*vE2^ycgjA;dlGE2H<4^qNI#E)M(d=&Jg}bQHVs1Fi0)T=vu5fLhxgF!dG( zBa8|?*>$-bv(8A~2*(`fPwq5>g7+TK+ zY>0aG)Y|01cSNoFkoN)o@&Vb!n{FOGVnH7nwhu$e!2;l(>^o@vcn7OVS?ApCrt5so zKYe$Kpmd8+UeQK9UGws|$B$f|ab$sOTCX<&1|bxn1XTrex)637u5?P&7n#;oHB9aw z+*f%^6#d?aNssHLPwv;%ir0%XkWO%H8=0)k75)x8-7HMe!U`qyL}B*Cr`GU*TSI-n z;j!rtDpE_>gpKe|nGbi|V$0(v$|>6s#OR(e1bR07q?~u%sLztOsyb|50ZJv9;1o-H zq1v7DYM(GcfMN}>Lv-4gdv5kHn31A!^F2F*X_80K)M2+rSufT9s9Fi$SXSu|$b3$4 z1x|a=$zRX~ZGct$Y5JYIBt~}$4pn`}NX+^s&K_qEmifQ0H`Io>?7b<`yRQip_ z$}KEkk91g0nRjN_rCGUO{$P!P$%x$J=YHV;usHJWYa_iq{e0vUXVL0+(36ijz_`4N1F$We z@CR(DYXQENQZOgzRk9muaE6+HiE-5u9e~4v15E~YrXOU62rs~2cs_J1DQF^OI_w3|Wg|uEB2P;wT7U&_(%wGi_&U5WoygFuo8UeZBrQ@nY;`s)pxqC zkM9O`Y%;a~36!D?Tp?NMs;|arVnQ!wac-zxy9#kOjb3^dpXdFlo2H><>Dz>z~=7LXA#=>pGr7ctz8o2Q)-^E0dG^SRhfwzPQdBy zwc%9!hFO;hBv>qb(!I+~dOu??ykqCC-|)+E`MG$QDWEU1juuAcPJs|>#H zqq7>J>-5ToY7zCQ;7DTKKNf3+jPHWrFN&{($nt&LqG?Kjy0=Qq56@|888MC}n)23s zw?lAE7LMZ-EbL2un~-VP`;eF@aIzxv5*}BM76Xd_f(dHmUv;GomA}`9U4mjbx-&Gx zoshml0?!)4=qCRFmn#Ru8FdSBy`G-I`p_n0yVFO_x#qXYij~*jPm9Z0wEVy*aFkQ( zxRiZZ*n`Cva*MHfyAV@v736u4ES|G?Q4ma~!22UhDy1~k^TWL0kEdieIu$5F(AQPH z`b6X?rMKT##PU<}>BXPNd|!IY{=CGpWL5Xw<_!chA-Di(H8>t@ zv!vN0Jq!4QNTI2h`(->}iW4FFfepPU>kCiR1WdcNC`H$aB>d37i1@a_jNX~5Xuclj zxscwQN6qmXWAR}g>cpoqMN|t4a=qzJ+{Xp3bhm3jq*RM1`0=%~s|_8~h$(S#v}Cya zY#C1?WcWJS9 z#V8Vp@D!3p z>|3soeNz)13=dQ8;@=_gWpk5fKtn=sR8YC_5HUGPh5Dwf3fu5kwNWEdw&t|`yClW7 z_nrwVe*jfv1d^PtP~3}Gs?*!i%|yTB36MUzmLD{IejsDe)CjZ#JXCc2Q}!?~61o$5 zA5|6WvbURS;eXctC-G7--=@l3i8?NsjUL<{mKAV!7t-79l3d~4R&QTN8q0x3&%=n$ z`*+RK44BWu%f+|oY1!OU4_GGL zvAcB`(IWGq;WlK9IO>wSaXerHUUK`Y@8^vOT(987Uvg|?axKAVDLC8R+V-H5CupkV znv!s8GWDu2qmbQM@pJXAb;@9I0stYj|0-!gwfx-E>`$%GSFlwD_5K*@p?TK{H~E@nNlfo ze3I|5H;)cO2CjzhAEU87xpvav$R9%amRuSP#xe72KI_-1ht}pb^cQE@YMgG6iBq}- zGC$QaIltFX3-hI!@Z zdc({5B`Uz|nn<%YC6F~#S`Lv+(SPG(eAutT_xmH|``PdRw%hLCa^wA}{}Iv0&MG1cwpG=pP@5{7fmd%?YJ>JlUXIRWLb}GdZ?dUBkIEqdc{) zNcAAnt7uWh!)cU-&V%~JuTN#Sh(-xRp0T)V8=T8?p|7)RY>`95uSdv@wbXcOE0a)S zO+QtGpv(`{2|ol<_b7lU>~32|2{3v`cWs)=(=%t~oQ>6ASxh3vITqxHn{Bh!osMN& zSA?&d-Fn@gv55U+PxZzyg|;REC}&nlloA<{1~hwa&nW+;pV>LtqKzzv=uWw_@#$5y zPMvthda%g&e%bh00}b2i#t1M(G#xd!_pfW++5Zpfi2fZmoPT*8|KCI@!K38mZpQt2 zv2GYm#eWbO?y0qazxCLcc#j0|TR)nEEEfE*|9KSG+#M+Lt0x(&s6Tg}<~i?|e|}#5 zL*i__Wm0vMB(azD3C(X1vG|48>Xk@L4lPa`BhYgR4s@)`l0kK!6FV0}-jB_z6Qsb? zo!?R4A=8}uVoj~@^UNiXc)P1ZVnZmVbYL%jB8S$yq065XeL5P2(+pq>OSI#LR;&m{ z-1ms3>}Sjx*|~$aYeE+ebQVIGbE3k79bl$~LqBTEZY@L->8HnyQ@?x`xh{0Hr!UkT zV;hAX?Y?<}zcLgl zbq65?pCrcSph@2Te+ZO*O2%Md<3BHc{c8TTnA&@^7!nmrv@djMAsz2Azd3_=gsnrb zv@>*RV6xkw`6hMW5C#Y8{PrFJBHo;L0p-O5Eiale=53rP%8|0yh&(M4C+;rdKCBFu zm`Ca+sHStvmCW;03(S}3A244a5igfjPxl^Uf#XoLV-1Qj23$+oQ%>4Vzt(|ZGZpBpm*=TR zU;lxZsib?bq+37OwWU`%xXb;{$%_^AHkh&%rZ_Gyy(7K;1}BCQj?9NXpQBe5XJKgk zvUtaJgiRIi%Dv$d{ovCsHqm7{U7f=E)bq1}&BK?X%5f z7eDX-zBz@eu$P1s(GOp}%;KYRwVi`eI;`YcPR!+KZ#<1RY0qVE3f%67zA^@~44rv5 z$30c?vQ|rgTK#b^M}WBkA->z`DG(9ij2F;Zh_wP?bO(i-%U)iNMmRf}zD4B06rXzW zF}?cXGeXS7TIbtTY0jj|851mh*Z$$Kly8B8%zN1Qnwd0cQc zd$-#t?(4bb(Vq>)9}@PQ2BubKJmv;v)~t8&!jY7{V5;Tc-hV+#*wT6c1x{{jQ38Pu z0tn67!6fT+D#Y$yWP`AZ6D`IV2>iGa-eITC7($+R4e8GKb7CW3Zl`j8*+WW^`+9!l zp;}FBK1@(~*6pSTjAV1#b87yA;$($vJtV47@zmSWbu(opkA&pEm6|T7QaoL%teTIW z#m{N!&eDnJ($Q-zzpVE7Gj=579FbF}*NnbgI}4hq5K}k3BbKRCkN%umsP=9mSEzA$ z^OmMqZ$Y~rUf-`<>-T-*W8{UfLwZY9Q)|Q0JkVD$&!e zciUzX*kSZ2YUR@n2TW&1Y?N->OiF#d22oRUMLwLh^x0BRIrcG}c)67L0^!&loBw$C zMhLrt8jZ;oMT5IyeU-*e+K3jQLNYs^%E)ZTm-L@O?J*yU%I#oWXvt`t;~E%i#}S>n zZ&5OEdjV_JwckJPei1~l(NDPVRw8qRr`7$4iJ0LD&`Ppe)$GxXZM&P(!;qG7R!6fv z8t~0TO)j?eo3U;bQ}Uo)#@ac=<4E`RWu=%I$?Izdr5R*-?SUT$dh<0lt#I2*6!v;X zZ2#SLg{1LN;e6c>=$&a6LxZpNdtWc948cq-7HcARuyVrw99v2D2+k>Z`N`0OPde%Z zEom}s6Hc()mmPO?3?p?1K$XMZ4STKJcG&{h9Q5RislsU(H&V`MLWtV1;P__5$ttnJ zQAaUJkC;~YNyorWcTQ0Y1a(O1P1BXOEQrxX89+1Kl@0$SPkt{A8j`6ZDSd1h0kWQX zqE}*XGA`47@m`Y|=ZaMV>iRp|V4Bl%fu0P$*i*dxgX-!l^4=U@;T4g0ix-vat2Jb6 zJo{^41w))#bu0E;0J_dSOGl<0{3`y9<4biIbb==)id)Ugx^47&k-FkZ%4U~8v$rvz zc4maR*kaC6rui98IYs#)9scZ@hejQbIuMO!Isaht2M~4K&~h(2-0*HQw9z`>(5e*e zs1gFDxEpb}G_^DIS-e&mEWt9ulNf1_R4=iLpnLA<$0D&%5%a`;Vkw|!*x9!N4dt7 z2^SYI3vcu8lexIxWf?Db7K|@1lIc%o-Lf$Halk-?GQ>zC9wUhoF8^+CB($+nfPjB9 z`ke`NpgxR0@#zo|__i88Du>6!eee<6rdU1Q_FjYudLuov3M?sJVb1cCxdyKbrNkGu z)JXjvKk9E#Ok~b!?UysrpQlT)w`)2T&N1uj&IpJKu!D2pbg{9>!`s+QrHKpR!=kLYr0zvD{cbzsW+^(nH=aYi5cUckAMbFo0A_*7O=h2H7CHNp_7~PA z`T8XC-0zhr`Jj5$6)JVRUzV-__ihR>{JaB`oR+hwg?dC&d5aqx3Ih?xyj}FatZqvU zNUa5p_(hE(3I1V74{xJ|8KPQ!a2lvldb{(aos7sJ$M3}UwhtA_MEUPgi(5WPOkfD4 zC0Tw?s^XO0N)#QC?scYvT`Ix7M-vQhM&j}@^ogG42-W04{VDPNn-_ipKiupYq0G&-(K}wN-u^wh_I3sK#Swp*^QtnjM6^R(;PwEYIhiB$sjC?aZ!@ zBF*&?H5#I#*W%x?QuVhc%uS{<8)QAun>79iu%@$pTnnbIm4H^rsPyxH7LC?5 zwX+k?03LAjjy!{5PpvG3m2!T*`CrgSl}?dHy4l$tNd29n3hxvcHyYe2!7+cC6Lreb zuxvm)@msxc+dF+i%>*T$*lrFWno2oueW3XKZCEV*NlMBH{LB#Bx+W57#M_XEdle~! z)BV0^yr@pyU1_U1&1sw|@w*7LFDN?oz;s1ae8=nob`zc4p`THhh037;)cGIz>x~zD zywa`gYmY5Rq6+dwIEEv-?n*s{CtJ?m@OlfJeMYy%-`w+lJ=2JqkI)bdcMTxw1+>QUC}knGjlHb z1Ujsfcc@#%PLE4#ySi@MZ&?@aC7xynVOZLiAEI0PVsKLBMgaZq`^$5N5Ar9Uo@ZMJ zE5!B>eiGHgt5g62BM!-79{`gpOI7Pk zr%|wd!;iknlSsFoL8sQ#H6BH3b-9U^uzuO(Ns!L2JI#V6UjaUv{woaprq4Kjefm*D zO=pKN-o zBNgIxrd)pMn{j^OsCn_>ga5DGh8kk3a4tl1+}VhIy2JNuzMp~osrNrv$2=W8&~j~L zjX5pSy($r}K$0(PxvbF0>X&+Rw`cT4xofa*LZ$@G@65igjZ?GvnW17Z{=ECghTY;&UQ1wai`Xi1LfRpYW!lR)_7=0-4F7-u1aF!_x%-)t>a)beZ>yS?2oq| zt1K9$78GsG`;C;Bne^D&*wT!;xIDp+dyq$vJ{OPomMqDBZJ1(6@4C3frU<)h9BeNV zy3Eva^*YEx`pf#P^EV!$lm0HQC5jjC{m(g1U6fdij*LA1g6_S(W-oHa~EghG_i6@j0qbrE>aYfTwY~ zr?M~S$*)q2U`qu+k|)Kwzc{^c7Cq~sIrsQ@Ei|RBHLTg0FlpTJv9S^M=h?H&MF&N9|&MxTFjKy)|@?bkInWvMpDY4b!y4{6AgB0!6CeF_?`SEcHu zS8c1&rbagVq|dHPjJ2vV4KYPwJhf`(zPom{4KzMHAv_ihupj!IG%FdGu5HrtQn&|L z542)OhGtLvr!+}vuNcm$AO0PlO);}N_T?U&$K0RQxbv6aKT++Wy#tDIdX{4$;jp z_|AI#>)O`V37n+EtmLhEQMvu~iuNIXlVah$IjMWvDq5wYPK&?|mU`3D4fkUj#u;Jf z%Df@SoG=`)=5ndQl-8oNz?x$x`)aa9VVl~TqW+VN79n>p3>B?>m}Fe-KUHDc`XHYI z?!x$x0L#;;Fddb3yLT2cm#{-mpJSc&dTQ}D?Td%s2WVqFODui{8gDGrZQYES-Jd+5 zSxxKN{hU3d5Z;~2AgS)l@p-0l=TW$tFaw{}bK1=$yj7ZB&o=1Ql?J3cfCxrjG}NY# z!1QL8DJS42RBX&SMl)lOZ&ev-I_6!@Uq7VMd%3W3c|pT_uyj^6={;(M-9`b|Zg?Pq zxka7|;NL&xYr@dy70LZ>X>8QmCC})mXE2zJWTbyMM~Dw{#t~rC)+iawyxZDW?yl83 zQ(-x@;|6z*HOW$E6HN&1Y;?gM5sHl}ub&b|)d9Ek!8auT4+IBHw$9WRNYDISk!~p! zH$syz+hF@$ft{EIae?nnrlN?pLdwBA14xG~#20p&4&bhrsg0#WztS3x-MEkYm1Mat zt#i`9d|hhIE}O&+>i-%4TC}gUcE|ve#J-V?fKj>8W&gMgP04?wPW`I5f!fhIWjYP> z(B%{^4rrW!-Jx?ZvnV!b&3FaqiFMIGStu-Xws90nIeDbX)y)%_dh|QogV6KiNw1+t zo8u{9;dxpAgWBrHcCds~(62UrS$4cLadrTyx)$G~ZrAbz6VS&D!EqIOze7x(u-pkV zJ`L@TW*HW6iuHORWpaeq`;7Y~tdw|grnzmEe%43!P+Y$L#0pJ|n+1BZo%t}Xj;&CLYea3FaaCRF!XjEO zrn)-!{QZUcnn>WuN<>?&Qc<9@E_cJUKkE+tc$LYI$K`W&JfMJ4eqC0|Gy73lxivY> zwF@j1EnuQ1zl3Z~hr@hm)A`uhllRa){9C9U(?adJFH{pb)zL9V+dmuU9sT+y+p1@~ z+vsunSR>gtYj23BW_6lt19&;^J@0A&6~1P)4uPoX59U-;;*zu6ZhDuT|AJIVE-M;$ z^Gn5I`Bzd*fEIKAKSN3Que5~!^EK*!Tto6dlGpv8%>o9?w7vV?hJ5Ki6+jisl z_l3A!7ToT{hMP8kFh-DizuFvfm?^sXtY9+bvp0vah5*E_SAFYa-@6O6mqqRy=BC_~Fp?=S1_jQo&vVVR8lW`_NT6 zw=<9FHoG=TL$hUQ6PNS~)HO8tjI=mgENN*#FevSp9zHcm!pEGEta&FfrX<&hC# z06JVRu<-9N4s=_%M|3OrO6H1wRHr3ud0Mw+cTOZ9!js};K*tjD0YrD)(3uIZzi9{V z?cY-rKWeZQH`)Q~(E)Xb%r3{cl>1i4{x|KaCTn%f+0_~S?ZEs8^+(Z7p6Ei`lGA#Xnz*0f zrMBjau%!n1>d7|8Ik6?LuCo9-1U(ksF3l0;d=K!M55E*oni~E<9O-ncv{n!c7Wvho z;NVE6l72G{p{j*^0ty?Ij!`!Iv-5`38EN`vY9r_vOXg5nX0dHULoiX8q?*_S*8?81 z1|ACg_5jCLAjcNa+HR?1jMrl0V>t9?eiT-thf_nW%o%e%?Y|t{OBfmJq>!YWS1;z{ z(I0E8osEPE0AYgBtGsP%YRI~Y+?pwr&jFEvWj4|#Y-uT;gx-f+ChpcX>KXoYaY5-Z zjl=0Eq5qtVDNbelh8frt_`z{cS}{`mxl8uO8s#U81mV9(f_N5$6fH6U`=^7mO5TH93(H2+NjU60XeZz$BC$D?2n4tertB0H2!)Eb?<_ye= z)S8yr+PjQwQEOEDRF~)xfJ~|rnk!unA^83h-cQzMgSjvbAx3tI?|jvFN$aSV4a}5c z(XRt5^*~|&xQ_jv;hL`FTUanPI%6;^q$UZ>GX&tgMWP&4uDrUAy{$B-oct$VmMzyd z=;ZhC9`$e6y`+LbZhEsx##%&5VVcvm@lkp!GzX`{p8TiLnR55se+t#<9>;dPp{?!^ z(EP(M|C-J-WCZzQjW#Rzu>WODJ2B5c^ZEXIJ6Nqf#!O!80BA zeH`8ZHVO0hW>nWPFab;hs=VM&v(I(mJl$}&5_jr`4$3aCktdk(hf8R}np;!Vj{S;1 z`^{vP_sD2ByD)|!L>x}wO{p@O`L+%tfyj9mbu(vt*mq}Xhv^Xp_siriXc%^WL(;zA0r$;!12btaWZa~r~jUsAmi)6?f71%IjWB%2Lf!JtOHMOXK| z4`!d~t>Dv3K2f3mnyC)74{Up-A1a3~)K7C_UXFVnTX-T=zQXs<5}}pe=WnqZYb=yu z4Nvl+r~!*N)Lq;W6UhB3>U)C9jH+{6&6y7rXB@ypY1baDIh#12u z;`h%ykrhpc>u+KxCs~oz;X7SjW-N(ux)p~g2K{P0 z+~cl4EkZlhWGC$#ILab>>9$^u1sOH;+T)$sCbLXu^Fhf+O=+(Xsu8zKmX-Nk%Y&~q zpG~znb+_ag&d4*vgfW`2I0oeQMlgW8xP1R`UUKdtegAVAQ=ZaA^6>%tz@YNVp8QyY~B*wvMHxk3_#0$(fpb6zLmq%gkS z95pw|eyf`E(nB4W647i^`tz*Iv=bG^%89&*8|skCI~RiCQ&H;xfbQgL#u)ZLB7Gm5{tDc*f$U(JNW`xxi`< z61!3h4F3>!0Ahq00fzkRxjwrz;)-jOEF$r@%BCVw_J_sKLXzm?PtFS2MZIk-?xRF7 z2wJ4$=Sg#{x-O;(GIBq3+N!d?GX59z9r=JhUguiV+E4he;*;$F$5;kbLyvXjpR}&O zAWAVg8U>qv@WO}QjOnAkNry-u#=xID@v~64)Ai>T>i{UnJf#8lTso}*-4ImELEf&~ zZS`i#>gwIMn)p_-Wrr8%dTbG$AJlGTI$VnbokN;`kA>!chlovU?~vycIPGsMSZ9;S z3bFmyfFJg!o=U_3{-E|G%mKitCU{mpEyQ|tU4lc!1SrY9Kh8OvEInS9F*cyBAwoqE zXg3Z$VWlvPwDjRg(r_4meK14nA#aFXLqD9=!)jv)Rk5ad#TbTICkJO|?yEOEUiy#B zl%5PkZX8)!1`W{?x2#D$t%!edopwXGb#t!{6WjJ_KW}<}UH$X*-moLx;A%Q|{bLpn z^LDCF?VNY<;JI7na<%(Iu2S5-zt<07lt}wFCL@@_&*~NU?>V(1<7J=f*wpGOPfbDa zXV*TND0;S7kI&kM^~)Py6JILVm;HD!>TdT)^CVyKReqj>RTf91vM4S&=HB>`Knn0`S{KJBo%b{_+3|pC$XkQdz3b9Ho4@WdhynqF-PQXGt%!ps z*}nRv;~G<$Cgoegs>^5cu5H)J{&+ysIJqaypCPv5-OnqN`d!&w8=i}ivwCWxhyf{$ zW{THu*Eh!ju`&`1m26hlC_hr zOKr}_YW5>0D=eGq)2>vs0)*{YWgY7d42|s{JT+H1AcE%?e~)~vgU#wt5{f6p23?8a zn6a5~K=@Ge{MbW^&g$pS`o`?3#qS{6SNGg0o`IaWJwZ(Ej0Zrn+48L!*e!pC) z>6h;zSJH$@bNC-rt8*zy^Fz)f7!&5Kvbxtd5#MuaQ=_g(Q#|EO0Ee9Lbq09rHQQT0l z63I-#9J^Gyhp}}_iH{g#IJJDEmZ#l^*qqf{#_OK8?8;pEI684H4k4I6=T&Un3wxWG zpuiRj`Cd@J)Mxdp&N(E9ylw?#1OvbwHb2qBQJwWO8nUb1LL*iSj}l&!oQ$R?5fgGI z8fT0K%HD%7*)e1keytur`i3@5NT~4$*gvf3xyS9Hho^k&r_EVKZxrn4K=>`KwvuY+ zKRbu{dA!O&EE%WLomRPm5}yP%!AYluDfNbj$Fj8%jiLUouUCT_xu5c|cSb?$Dh<|J zoB=c@Ol87i3}<6;b|vFm47bo0t3PD>#dNf;#_7GTXWExXK}>h-H@b(+_dZ+$cgIuV zUXR^FjCmA{<-BNOU^nd?vW2dXXy+!{MpJ+|k&xTL1b!h(CJzT?9-GiC9>Ymt_px59 zIYi6e44s#P63oK6$@iC9obN%qw>SE&)4vY>db6FrIwts>446;H7kT3Yf zznZkTYt+%YakOR@0*e`0(X+Joj7sA@w^9=dZsZ^bejnm)+srAL;`epZX19KM@s9JK zA-){!bcBHP zjshY@5RoP#Aks^eUIdhm1VRyzE+C+wMCsBZy%TyB>Ai-~YXS&ClK8E2#@PGa`+diE z?>T4Rd+yoi@<+yEgw-0+s^8dc)BlrLkAf)7(djo7g_8Le0`?mEUhZjnUnvsT_wPV1x!j4B2vk+2dZADMpm3_}>Ag!P zS&$Q?*re-%cQ8cBdC{M=H4r?Z_|AIV&|CWXR8^sFztG3W0gu}l43^cU4(RC~^|&RM zdb32Df@GZLOAWV97M)#nFzhu*aQTL8_Q-gOJJf#T!iu(BN_=H@PsZ}w_xwa2MC1qa zfE){i6b;j;9%uxu!zK-+y?J-+8wYQ7tVaqm%s%IiR(PZvcpH`DZV{v+{m|LCf#eh2 zPJBN$x22ICQyk)pjH5SF`Rw4mzC2@k|AHY=Fd0XffdNs00AQ9V;}wmX*t0qc`9pP?t`H0#7C` zgtuwa&SDWA3ao^I(cPDK{Nk$STI-cr+F;z$7g&&&)W{{G(>0`qAUCi)=uRYE>dSc= zN$^(6C<9NOqGL_XKFPVSPz*-6&TH4TE_yY6bfa9)lXqO`1x12%L#$>;BQS=wX6_&@ z@#uE0ZW&h*LqE4k4wfDM+^>h#g|T|g1Tr)tuzd0$?!u&h*wD(3-@4VlO`2zW_bk^= z(rg%Nf-Un4{pg?y@3glSfTjM`Oz;0_kNqzZ#`-%kmH+MS^LGe!4g5iRgp4bz4_^yV z4z3sa?8DWOO!0XwwcbKyIkT>V`*w49KP%T~%8y|Nlw>3q?a|u7^2{)u z-#~WT*u1_Dt5xySrz`HXS^_i~FX7)Dd=TALuRwE)P;HfH3MYWUw>o#sWCb6%$WIK2 zpNnVKM@xq_b;7ax3u-Ok2*TAb7{fT6-1(}!^<+a6|ALv`YY`%F-2`iU1|^Ce%4grA zyPoyv2Xc+A<@Sp%F01tcd^$zzxXJy6&Is1_c^Y{>`mmA`ROF6dLBS-4#uASXB!_FjS6M~w z=4CC-A*~_f7_~!XKnC}^Pc*i!lRz7JWbAo2b#HECrAK2-oc`{-Z89e(`Ps0?M*Kuq z$PdNNKyIN8flfhXidAl6xm6jFWs)#BZ7M)iXXRdZO^iDxsAl$EtPF3RApeTj7h{*_ zpi2Q)uo8>?FU26F7~%(n(SeG~6lPP$`=+}$_6i3Hd$Xt{udc`d1Lh8DC64c7US2=^ z-!m{cEH^u|DAQVh_{>C}$(`_w^r5?fefIPBG;PpOKs~PNqZ$(W%Ea!l_#M@ZbT=vN zR;8#&_qE0o->c9!i5=Uy)l##)bb4**uTk7?0*0z*l9Iy6IM7OLDhiR_#7jK*5UBM5 z2882AHQmTT_5B6oR^0arvP!rGaQV6H@Dh{DD6G>)T?0t7afo+7w8+w5c5$+BsbY#m z%Vo{V{xF&-n|g+NG+TvQYlk~wVjms~nCmsNy4saRY_%pRq)N4o|nW-GTc8BG?r3l zGs1Zf9w*56Bf-tPVE`}`CoTOlfN8BaV_llj4XjC&?w4>xo53Zg;m%!3`%ub^p^02v z070QZ1(C!GWX`RDC?)R>Y)P?>kGMS1ScUobW~drT?y2|GS?OF-SLr0bAak(6Uq``_ z5h+0Vw{R;yWkb6}`w7)5KZ!m@A|CzDEMoo3>1=d5^ZvKbvj3g4{@*c!5B|X!{8tv- ze=!&IKPNb<(CPfcTHU9|p0?fpWFPpw{4IQx3=kF(cn-)}a{NW#DJKx2Lig|&00!}& z-CX?iJv|+#{)Bzt?|Vmw|HwT037_qX?~TKerU7-pf&-m%G}}VZ9W&^H{5(ztGzCzp zW~zS@HTfd2kqDJrM8DfT^W@(ANeT!{BMmI04c9Vn^Fti~o|YRxggLYFlW38jFjPfY z?j#Tc3%xe|AN&L4zdxa3dC^az8er@R+=pW510p5Qh94#&jzksF?5>2Xalg3{a7N5O z^U{S%?ra^q!s<6rawwl4KU{TTExG?#mgrBwLj9j+!Jc0KzYgs8&u+{A5M20QtgL?; z?*C7Qji=ZCb1qx{lThN^kKdF(KtKPynnS1k^Uv8oPoJC4nZNHH{lm&JLi@Xm;BC7T zWr*moR6m_h_#re^k;*=yI#J)1&Lq@Fevr=XSi^De45y9UGxh#k66RGc@F|+Zm)Ouk ztZxN8NDm8b`LUt$Y-%0DQ#3R^)zA3u%Dml0?pP-JI+it$eos%QFDoRSf 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∋DRbL@gTKP23vuiKYRj=;r@9LF^p3k7Qp))#%pm`g6+SI zY!$h9X|Q(6b#PQiGt&p+_f-1_jbkmTEKmspOMq!32$j+l7dgjVgSA6xd3S=SEBO4t zvXX++a&&PcUF)`iD;t_0f9g1sK~V+Ws;Y+LnMX zKAh0z)_qr$b)dw-)q9EmS$)Ux&?KZW0MB_6n&ox7oH(>ZH(5X<%LV;YPlC(<} z8kF{f;^Z|F$pJLCoLrINEr?hKP(>}o6kAY$lP((-!%2vyudt&hfJ*M7?qtjd5 zQVH}zhsE~P97pCGpS`^qsNO%K4-19uy%vjs9*SV0KZ!K99m;FH&IRO51ARydVdpFP z>btq1zpJ79O8wyruN0B?zAW(?)#PQRN%AYSbub>)+Z{sduHgvA0Ct=Xnhs2hV=HKN zN3O;iCU2Nc4nvytRv5E`tUht+oIgy>&sH|K|c>#Y_!B>}N zKQET>kiYqfbY&PS0wG=h;8kh>ggoWd>ProywyIG55FzK z^<<6cAPdP_9;C6;Uw$x;VA@GA9vR6R8aM-M#E)$WdP<+=DwBHLzT0cQPY(?tp5|J5vBMwL(c_8rgk$KB0 zQ1}!e`wKw!f7|v~KyVSOcjO{NS+%~Wr=Wh5V2>*KYacGQ1|iwN=Uty-uHRy9PNzd7 zrn1q=5!q{HvpWvfWu=ic*ZSqM_Fmc?H_ON<$^ zq_f1fhR+_DD}qrs-QL<$&U7V$f>CV0+B~22`w;6ERT&NTBB8?HCWf#{j2%@iUwCh* zd+)vVus=vB4A2W6VaRF~-0ymPd~}lsoLI zKJ}gD$k#PsXM9Qk`A;GnLYD#qRu1E>qA|Anpk6j7>BakeN9n{lVK-54?vldZE>2Xu z+l^Ap;dzxiM;ALs!w1|PPJCq@VRp~`c)qPb`c7m5dgrd-Q+Y93@DR`KhbMP2^dr*G z*1cDxBik3LvoiC;ysT~RbduzYZns(c(|F%Zs)WyiM+R?A-@75!gZP~9c|9?4B^jl` zV-Hw%tCKCQIq|MGIBEQq4Men?ml64O;Q#J%n4d(%I65>uP=O1(x)>1SnWvSHyPe!) z{($w}RVRCsW;U)9*(~)9ve!FvyNS`34Z)EDRsKzTpfE+iZ5f?uiYabDP8Z!-M0LJc znj&OWmEOg)d&)^%H+{7jU3j~s$!(i3Sj>u2+bUV0i6(Fi*E=g@7Wrtmr<$pfNdaKZ zISPuyz=K%BiIY(cIUmaFx1T--YYu9^n_DcMI2LL~kSZ_|y5<-#hHcXx7@8>02&D0M zXOr(?MewjAvPH)v~#4HcXMPOS;|9{(LI^Si}$Ns)Ie`E_S z=lOF+zfLVlyYu@@nzCTAq~*DoeSYQ7XZ;F3wx8jj=#TFYQ|j5io)uF4uy>8X!PMOR z-^(}swm1?Lee$$Qhkf^?0~>M=&X7-DGaeWk`w;`957v2 zU%iS~>(sr|Z*NVxpRsq>Z<}oS*@b%IXJ+~Cp1Z-^P+jyvy;OaweS5rAjbq~D>eYAC z5AD;tto$kWkK@DL=QrH{8KK~=Jf+~2xr_`u!vqQDu3uSQUcS}~x6FHfBA(|zL$W_Z zh4`^=`-N=+AMp$QasC)KZ?;Y;zgYa={cqA$+8env!z3;A&TpBsj^FfJO%5=p$p6W` zR&riE{@$y95+B2QrJd6s@$WH7m zAMAf~@WX$G2kW-3tk`$xd*ny^uCE=fd!KjIcvgS=>-vDzf6As@*AUf^IeL$`mK$;z z0yneqEPf#E-#e+M^uxQ2k93(M_wMrE8+6#`3X4_TN}Xi+mjx0x=XyS!Vi9y?4wI+7 zf1tbd9m~Ma{73q4x*xC?tW%Hpli-_tBu@OJ?~;OprqA2AGN$F{K1c}DZn$`Irw3zn zX6z{j%LB(3ypU)8qx~l4hRG>1lT!ml!(Dc6|9M z{mQK8HijSSPCw{xwNs4!W4v|eN43?D=K2SJw9cHh_l&3Lxy5BO%_g3hpwK0*C0KLd zN&2%St6FAPnKL^5hwthF`+~A^(ftDRZ|*-9RxgtK=X&#Drc=K@`}lh62tEp%e9G+M zhstISyC>;f{QjC7UVn4AV8`+&|FX|yFFpPDx{qe)Tr)2hH@f4JG|k9in&<>3 z$5i#AxhFjAi!X+1^}g|HvNQg$|BdGZUil+c<{dS$z|%{metfktFPI)>Huurol=~5p zzH&T8D%v6mn*(MnLqwB2c Xlm Date: Thu, 17 Apr 2025 16:02:59 +1200 Subject: [PATCH 03/15] add links to project dashboard --- .../retention-policies/index.mdx | 60 +++++++----- src/pages/docs/projects/project-dashboard.md | 98 +++++++++++-------- .../deployment-target-triggers.md | 22 ++--- 3 files changed, 100 insertions(+), 80 deletions(-) diff --git a/src/pages/docs/administration/retention-policies/index.mdx b/src/pages/docs/administration/retention-policies/index.mdx index 24836b158c..ba9aea0d17 100644 --- a/src/pages/docs/administration/retention-policies/index.mdx +++ b/src/pages/docs/administration/retention-policies/index.mdx @@ -8,9 +8,10 @@ description: Retention policies allow you to specify the releases, packages and navOrder: 70 hideInThisSectionHeader: true --- + import OctopusCloudStorageLimits from 'src/shared-content/octopus-cloud/octopus-cloud-storage-limits-hint.include.md'; -As you deploy more often and to different environments, files and releases can build up. Octopus handles this using retention policies. They allow you to control how Octopus decides which releases, packages and files are kept. +As you deploy more often and to different environments, files and releases can build up. Octopus handles this using retention policies. They allow you to control how Octopus decides which releases, packages and files are kept. ## What is deleted \{#what-is-deleted} @@ -22,9 +23,9 @@ The Octopus Server settings delete **releases** from the database. This is a dat #### Releases included on a dashboard -One important thing to note about the release retention policy is that any releases displayed on either the main dashboard or a project dashboard are **never deleted**. This is true even if it matches a retention policy rule. +One important thing to note about the release retention policy is that any releases displayed on either the main dashboard or a [project dashboard](/docs/projects/project-dashboard) are **never deleted**. This is true even if it matches a retention policy rule. -These releases are assumed to be a working release and may still be promoted (even if their dates fall well outside the retention policy). This can be helpful as it means you don't have to worry about a recent release in the Staging environment being deleted before it can be promoted to Production. +These releases are assumed to be a working release and may still be promoted (even if their dates fall well outside the retention policy). This can be helpful as it means you don't have to worry about a recent release in the Staging environment being deleted before it can be promoted to Production. :::div{.hint} If you see a release that isn't being cleaned up, check the dashboards to see if it's being displayed. @@ -47,7 +48,6 @@ Workers also clean up any files and folders older than 90 days. Note that if you use the [Custom Installation Directory](/docs/projects/steps/configuration-features/custom-installation-directory) feature, we will never delete from that directory during retention policies as it's assumed this directory has a working release in it. This can be purged during deployment in the project step settings. - #### Packages Packages that are transferred during the deployment are managed based on free disk space. For each deployment, prior to acquiring the package, the free disk space is checked and if less than 20% it will delete the “least used” package(s) from the Tentacle file store location. Packages that gets removed will be reacquired if needed for another deployment. @@ -55,13 +55,14 @@ The disk space calculation for both targets and workers looks at the entire disk ### Built-in repository \{#built-in-repo-whats-deleted} -A retention policy can be applied to packages in the built-in Octopus package repository. By default, the policy is set to keep all packages indefinitely. This policy is *separate* from the [release retention policy](#releases-whats-deleted) described above. +A retention policy can be applied to packages in the built-in Octopus package repository. By default, the policy is set to keep all packages indefinitely. This policy is _separate_ from the [release retention policy](#releases-whats-deleted) described above. :::figure -![](/docs/administration/retention-policies/images/built-in-repository.png "width=500") +![](/docs/administration/retention-policies/images/built-in-repository.png 'width=500') ::: -When a package retention policy is applied, Octopus will delete packages that meet *both* of the following criteria: +When a package retention policy is applied, Octopus will delete packages that meet _both_ of the following criteria: + 1. The time span from the package's initial publish date exceeds the configured time period in the policy 2. The package is **not associated with any releases in Octopus**. @@ -72,6 +73,7 @@ When configuring the repository retention policy, it's also worth making note of ### Build information \{#build-information-whats-deleted} [Build information](/docs/packaging-applications/build-servers/build-information) stored in Octopus is associated with **packages**. Octopus will decide how long to keep the build information based on the package they are linked to: + - If the package is used by a release, it will be kept. - If the package is present in the built-in repository, and a package retention policy has been configured, then the record will be kept according to that value. If no package retention policy has been configured, then the build information record will be kept indefinitely. - If the package is not present in the built-in repository, it's assumed that the package belongs to an [external package repository](/docs/packaging-applications/package-repositories). The build information record will be kept for a fixed value of 100 days from when it was published to Octopus. @@ -81,9 +83,10 @@ When configuring the repository retention policy, it's also worth making note of [Tasks](/docs/tasks) stored in Octopus are kept based on their time of completion. Octopus will retain: - - All incomplete tasks. - - The 20 most recently completed task per type. - - The 20,000 most recently completed task per type within the last 30 days. + +- All incomplete tasks. +- The 20 most recently completed task per type. +- The 20,000 most recently completed task per type within the last 30 days. ## What isn't deleted \{#what-is-not-deleted} @@ -108,10 +111,10 @@ If you have a release retention policy for a project that has a final phase of k In this section we walk through what's deleted for an example project when the retention policy task runs. Consider a project that has the following lifecycle defined: :::figure -![Release retention task example lifecycle](/docs/administration/retention-policies/images/retention-lifecycle-example.png "width=500") +![Release retention task example lifecycle](/docs/administration/retention-policies/images/retention-lifecycle-example.png 'width=500') ::: -It contains two phases, both are set to keep the last 3 releases. +It contains two phases, both are set to keep the last 3 releases. The project has 15 releases, of which: @@ -119,11 +122,12 @@ The project has 15 releases, of which: - `0.0.7` through `0.0.9` are deployed to Staging. - `0.0.1` through `0.0.6` are deployed to both Staging and Production. -When the retention policy runs for this lifecycle, it keeps a count of both **undeployed releases** it finds, as well as a separate count for **releases per phase**. +When the retention policy runs for this lifecycle, it keeps a count of both **undeployed releases** it finds, as well as a separate count for **releases per phase**. For a release to be deleted, the count must be greater than the required number for each phase the release has been deployed to. In this example, release `0.0.2` is the fourth release kept for Staging, but only the third for Production, so it will be kept. Each phase defined in this lifecycle will keep a maximum of **5 releases**: + - 1 release for the current dashboard version. - 1 release for the dashboard version's rollback. - The last 3 releases, as configured in the phase. @@ -164,16 +168,16 @@ Undeployed releases will simply keep the number we have selected and no more. Wh Under **Deploy ➜ Lifecycles** you select the Lifecycle you want to define or edit your retention policy for: :::figure -![](/docs/administration/retention-policies/images/lifecycles.png "width=500") +![](/docs/administration/retention-policies/images/lifecycles.png 'width=500') ::: Each phase will inherit the retention policy from the above phase, but this is something you can change by expanding the Retention Policy panel. :::figure -![](/docs/administration/retention-policies/images/lifecycle-retention-policy.png "width=500") +![](/docs/administration/retention-policies/images/lifecycle-retention-policy.png 'width=500') ::: -*Releases* determines what is kept on the Octopus Server, and *Files on Tentacle* determines what files are kept on the Tentacle. +_Releases_ determines what is kept on the Octopus Server, and _Files on Tentacle_ determines what files are kept on the Tentacle. In Octopus Server, you can keep all, or select a number of releases to keep. @@ -184,15 +188,17 @@ Alternatively, you can specify a number of days worth of releases and files to k ### Inherited retention policies As mentioned above, any phase that does not have a retention policy set will inherit its retention policy in the following priority: + 1. From the latest previous phase with a custom retention policy 2. From the lifecycle retention policy This can be observed in the following retention policy setup: -* Lifecycle: Keep 3 Releases -* Phase 1 (Dev): Inherit (Keep 3 Releases) -* Phase 2 (Test): Inherit (Keep 3 Releases) -* Phase 3 (Staging): Keep 5 Releases -* Phase 4 (Prod): Inherit (Keep 5 Releases) + +- Lifecycle: Keep 3 Releases +- Phase 1 (Dev): Inherit (Keep 3 Releases) +- Phase 2 (Test): Inherit (Keep 3 Releases) +- Phase 3 (Staging): Keep 5 Releases +- Phase 4 (Prod): Inherit (Keep 5 Releases) Note how Dev and Test inherit their policies from the lifecycle retention policy as there is no previous phase with a custom retention policy. As Prod comes after Staging, a phase which has a custom retention policy, Prod inherits its retention policy from Staging instead. @@ -203,7 +209,7 @@ Phases prioritize retention policies from the latest previous phase over the lif You can find the built-in repository retention policy settings under **Deploy ➜ Packages**. :::figure -![](/docs/administration/retention-policies/images/built-in-feed-retention-policy.png "width=500") +![](/docs/administration/retention-policies/images/built-in-feed-retention-policy.png 'width=500') ::: In Octopus Server, this can be set to keep packages forever, or for a set number of days. @@ -211,10 +217,10 @@ In Octopus Server, this can be set to keep packages forever, or for a set number :::figure -![](/docs/administration/retention-policies/images/built-in-repository.png "width=500") +![](/docs/administration/retention-policies/images/built-in-repository.png 'width=500') ::: -Choosing *A limited time* will allow you to select the number of days to keep a package in the repository. The default value is 30, but you can choose something shorter or longer based on your needs. +Choosing _A limited time_ will allow you to select the number of days to keep a package in the repository. The default value is 30, but you can choose something shorter or longer based on your needs. :::div{.hint} **Note on package clean-up** @@ -230,13 +236,13 @@ Octopus does not apply any retention policies to external feeds. However the pac Whether you have an existing Octopus Server or are setting it up for the first time, we have some recommendations when setting retention policies. -### Change the defaults +### Change the defaults -Octopus comes with default retention policies to keep everything, forever. If you have small packages or don't release frequently, you may never notice any adverse effects. As your usage grows, you might run into disk space or performance issues as Octopus continues to store everything. +Octopus comes with default retention policies to keep everything, forever. If you have small packages or don't release frequently, you may never notice any adverse effects. As your usage grows, you might run into disk space or performance issues as Octopus continues to store everything. We recommend changing the default values on the different retention policies available in Octopus. -For releases, you have the choice to clean up after a specified number of releases or a specified number of days. If you're not sure what value to pick, we recommend keeping the last three releases for both releases and the extracted packages. +For releases, you have the choice to clean up after a specified number of releases or a specified number of days. If you're not sure what value to pick, we recommend keeping the last three releases for both releases and the extracted packages. Remember, if you have multiple lifecycles then we recommend configuring the retention policies on each lifecycle and any defined phases. diff --git a/src/pages/docs/projects/project-dashboard.md b/src/pages/docs/projects/project-dashboard.md index c0052eb11b..acd1382735 100644 --- a/src/pages/docs/projects/project-dashboard.md +++ b/src/pages/docs/projects/project-dashboard.md @@ -1,87 +1,101 @@ ---- +--- +layout: src/layouts/Default.astro title: Project dashboard -description: Understanding the different project dashboard views. -position: 20 -hideInThisSection: true -hideInThisSectionHeader: true +icon: fa-solid fa-shapes +description: Understanding the different project dashboard views. +position: 20 +hideInThisSection: true +hideInThisSectionHeader: true +pubDate: 2025-04-17 --- -The project dashboard gives you an at-a-glance view of your project. You’ll see a cherry-picked selection of your releases. You’ll also see where and when they were deployed in your environments, tenants, and channels. +The project dashboard gives you an at-a-glance view of your project. You’ll see a cherry-picked selection of your releases. You’ll also see where and when they were deployed in your environments, tenants, and channels. You’ll see one of the following dashboard views: -- Default view -- Channels view -- Tenants view + +- [Default view](#default-view) +- [Channels view](#channels-view) +- [Tenants view](#tenants-view) The view you see depends on whether you’ve added channels to your project and whether you allow tenanted deployments in your project. All views allow you to filter and group your deployments to suit your needs. ## Default view + This view is shown if: -- You haven’t added channels to your project -- Your project settings don’t allow tenanted deployments -You’ll see a selection of releases and how they are deployed into environments in your project’s lifecycle. +- You haven’t added channels to your project +- Your project settings don’t allow tenanted deployments + +You’ll see a selection of releases and how they are deployed into environments in your project’s lifecycle. From this view you can deploy releases, create releases, and filter by environments. :::figure -![Project dashboard default view](/docs/projects/dashboard/project-dashboard-default.png) +![Project dashboard default view](/docs/projects/dashboard/project-dashboard-default.jpeg) ::: -### Which releases are shown? +### Which releases are shown in the default view? + - For each environment: - - Your most recently deployed release (whether or not the deployment was successful) - - Your next most recently deployed and successful release + - Your most recently deployed release (whether or not the deployment was successful) + - Your next most recently deployed and successful release - In addition to the above: - - Up to three of your most recent undeployed releases (but only if they were created after you last deployed a new release) + - Up to three of your most recent undeployed releases (but only if they were created after you last deployed a new release) ## Channels view -This view is shown if: -- You’ve added a channel to your project + +This view is shown if: + +- You’ve added a channel to your project - Your project settings don’t allow tenanted deployments -You’ll see a selection of releases for each channel and how they are deployed into environments in each channel’s lifecycle. +You’ll see a selection of releases for each channel and how they are deployed into environments in each channel’s lifecycle. -From this view you can deploy releases in your channels, create releases, and filter by environments. +From this view you can deploy releases in your channels, create releases, and filter by environments. :::figure -![Project dashboard channels view](/docs/projects/dashboard/project-dashboard-channels.png) +![Project dashboard channels view](/docs/projects/dashboard/project-dashboard-channels.jpeg) ::: -### Which releases are shown? +### Which releases are shown in the channels view? + - For each environment: - - Your most recently deployed release, whether or not the deployment was successful - - Your next most recently deployed and successful release + - Your most recently deployed release, whether or not the deployment was successful + - Your next most recently deployed and successful release - For each channel: - - Up to three of your most recent releases (this count includes any already shown releases) + - Up to three of your most recent releases (this count includes any already shown releases) ## Tenants view + This view is shown if: + - Your project settings allow tenanted deployments -You’ll see all of your tenants in your project and a selection of releases deployed to them. +You’ll see all of your tenants in your project and a selection of releases deployed to them. -From this view you can filter by release and then deploy the selected release into each tenant’s environments. +From this view you can filter by release and then deploy the selected release into each tenant’s environments. :::figure -![Project dashboard tenants view](/docs/projects/dashboard/project-dashboard-tenants.png) +![Project dashboard tenants view](/docs/projects/dashboard/project-dashboard-tenants.jpeg) ::: -### Which releases are shown? +### Which releases are shown in the tenants view? + - For each tenant and environment combination: - - The most recently deployed release is shown. + - The most recently deployed release is shown. - If untenanted deployments are allowed: - - For each environment: - - The most recently deployed, untenanted release is shown. + - For each environment: + - The most recently deployed, untenanted release is shown. + +### Alternative tenants views -### Alternative views - Grouping: - - When no grouping is selected: - - The environments shown are from your project’s lifecycle. - - When grouping by channel is selected: - - Each channel’s environments are from that channel’s lifecycle. + - When no grouping is selected: + - The environments shown are from your project’s lifecycle. + - When grouping by channel is selected: + - Each channel’s environments are from that channel’s lifecycle. - Project settings for tenanted and untenanted deployments: - - Both tenantanted and untenanted deployments are allowed: - - All untenanted deployments are summarised in the first row, labeled ‘untenanted’. - - Only tenanted deployments are allowed: - - No untenanted deployments are shown on the dashboard. + - Both tenanted and untenanted deployments are allowed: + - All untenanted deployments are summarized in the first row, labeled ‘untenanted’. + - Only tenanted deployments are allowed: + - No untenanted deployments are shown on the dashboard. diff --git a/src/pages/docs/projects/project-triggers/deployment-target-triggers.md b/src/pages/docs/projects/project-triggers/deployment-target-triggers.md index 7921b54816..a47a1b4316 100644 --- a/src/pages/docs/projects/project-triggers/deployment-target-triggers.md +++ b/src/pages/docs/projects/project-triggers/deployment-target-triggers.md @@ -26,13 +26,13 @@ Deployment target triggers can be triggered by any machine-related event. A sche Events have been placed into the following pre-defined groups: -| Event group | Included Events | -| ----------- | --------------- | -| **Machine events** | Machine cleanup failed, Machine created, Machine deployment-related property modified, Machine disabled, Machine enabled, Machine found healthy, Machine found to be unavailable, Machine found to be unhealthy, Machine found to have warnings | -| **Machine critical-events** | Machine cleanup failed, Machine found to be unavailable | -| **Machine becomes available for deployment** | Machine enabled, Machine found healthy, Machine found to have warnings | -| **Machine is no longer available for deployment** | Machine disabled, Machine found to be unavailable, Machine found to be unhealthy | -| **Machine health changed** | Machine found healthy, Machine found to be unavailable, Machine found to be unhealthy, Machine found to have warnings | +| Event group | Included Events | +| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Machine events** | Machine cleanup failed, Machine created, Machine deployment-related property modified, Machine disabled, Machine enabled, Machine found healthy, Machine found to be unavailable, Machine found to be unhealthy, Machine found to have warnings | +| **Machine critical-events** | Machine cleanup failed, Machine found to be unavailable | +| **Machine becomes available for deployment** | Machine enabled, Machine found healthy, Machine found to have warnings | +| **Machine is no longer available for deployment** | Machine disabled, Machine found to be unavailable, Machine found to be unhealthy | +| **Machine health changed** | Machine found healthy, Machine found to be unavailable, Machine found to be unhealthy, Machine found to have warnings | :::div{.success} For the majority of cases where you want to auto-deploy your project as new deployment targets become available, we advise you use only the **Machine becomes available for deployment** event group. @@ -74,8 +74,8 @@ Deployment target triggers let you configure unattended deployment behavior that When a deployment target trigger fires, the following rules are applied: -- By default, Octopus will re-run the *currently successful* deployment for the project/environment/tenant combination. You can override this behavior by configuring an [auto deploy override](/docs/octopus-rest-api/octopus-cli/create-autodeployoverride). Note, if multiple identical deployment targets all become available within the same 30 second polling window, they will all be included in the same automatic deployment. This could happen if you scale your web farm up by four nodes, and all four nodes finish provisioning within the same time window. However, this kind of behavior should not be expected or relied on (one or more of the targets might fall outside the 30 second window). -- The steps that were run for the *currently successful* deployment will be run for the deployment targets that triggered the deployment. This includes [manual intervention](/docs/projects/built-in-step-templates/manual-intervention-and-approvals/) and [guided failure](/docs/releases/guided-failures) steps. Note, if you skip steps in a manual deployment, they will be skipped in the subsequent automatic deployment. If you need to run a deployment and skip some steps, there are two ways you can reset the skipped steps: +- By default, Octopus will re-run the _currently successful_ deployment for the project/environment/tenant combination. You can override this behavior by configuring an [auto deploy override](/docs/octopus-rest-api/octopus-cli/create-autodeployoverride). Note, if multiple identical deployment targets all become available within the same 30 second polling window, they will all be included in the same automatic deployment. This could happen if you scale your web farm up by four nodes, and all four nodes finish provisioning within the same time window. However, this kind of behavior should not be expected or relied on (one or more of the targets might fall outside the 30 second window). +- The steps that were run for the _currently successful_ deployment will be run for the deployment targets that triggered the deployment. This includes [manual intervention](/docs/projects/built-in-step-templates/manual-intervention-and-approvals/) and [guided failure](/docs/releases/guided-failures) steps. Note, if you skip steps in a manual deployment, they will be skipped in the subsequent automatic deployment. If you need to run a deployment and skip some steps, there are two ways you can reset the skipped steps: 1. Re-running the entire deployment of the same release again (we generally recommend designing your steps so they can be re-run without negative side-effects). 2. Configuring an [auto deploy override](/docs/octopus-rest-api/octopus-cli/create-autodeployoverride) for the same release to the same environment/tenant (this will result in a new deployment being generated without the manually skipped steps). - If a deployment of a release fails, Octopus will continue deploying the last successful deployment. This ensures auto-deployments will continue, even if a release has been updated and failed. @@ -102,7 +102,7 @@ The [Chain Deployment](https://library.octopus.com/step-template/actiontemplate- ### Specifying a specific release to be deployed -If you need to specify a specific release, either because the release hasn't been deployed yet, or Octopus is calculating the wrong release for a particular situation, you can configure an [auto deploy override](/docs/octopus-rest-api/octopus-cli/create-autodeployoverride/) to override the default automatic deployment behavior. This is useful for scenarios like [immutable infrastructure](/docs/deployments/patterns/elastic-and-transient-environments/immutable-infrastructure/), [deploying to transient targets](/docs/deployments/patterns/elastic-and-transient-environments/deploying-to-transient-targets), and force deployment target triggers to use a specific release for a specific environment/tenant. +If you need to specify a specific release, either because the release hasn't been deployed yet, or Octopus is calculating the wrong release for a particular situation, you can configure an [auto deploy override](/docs/octopus-rest-api/octopus-cli/create-autodeployoverride/) to override the default automatic deployment behavior. This is useful for scenarios like [immutable infrastructure](/docs/deployments/patterns/elastic-and-transient-environments/immutable-infrastructure/), [deploying to transient targets](/docs/deployments/patterns/elastic-and-transient-environments/deploying-to-transient-targets), and force deployment target triggers to use a specific release for a specific environment/tenant. ## Deployment target trigger subscription notifications @@ -114,7 +114,7 @@ There are a number of reasons why automatic deployments may not work the way you ### Is the dashboard green? -Octopus will attempt to automatically deploy the current releases for the environments that are appropriate for a machine. The current release is the one that was most recently *successfully* deployed as shown on the project dashboard. +Octopus will attempt to automatically deploy the current releases for the environments that are appropriate for a machine. The current release is the one that was most recently _successfully_ deployed as shown on the [project dashboard](/docs/projects/project-dashboard). - Octopus will not automatically deploy a release if the deployment for that release was not successful (this can be a failed deployment or even a canceled deployment) From ded480839d6cd5285a887b12351628469cad11e8 Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Thu, 17 Apr 2025 16:08:03 +1200 Subject: [PATCH 04/15] releases links --- .../deployments/releases-and-deployments.md | 54 +++++++++---------- .../keeping-deployment-targets-up-to-date.md | 23 ++++---- 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/src/pages/docs/best-practices/deployments/releases-and-deployments.md b/src/pages/docs/best-practices/deployments/releases-and-deployments.md index a32ffe8a9c..e0b4411ce9 100644 --- a/src/pages/docs/best-practices/deployments/releases-and-deployments.md +++ b/src/pages/docs/best-practices/deployments/releases-and-deployments.md @@ -8,12 +8,12 @@ navOrder: 95 hideInThisSection: true --- -[Releases](/docs/releases/) are snapshots of your deployment process and other associated assets (references to package versions, scripts, variables) as they existed when the release was created. A release is [deployed](/docs/deployments/) to [environments](/docs/infrastructure/environments), or different stages in your deployment pipeline. +[Releases](/docs/releases/) are snapshots of your deployment process and other associated assets (references to package versions, scripts, variables) as they existed when the release was created. A release is [deployed](/docs/deployments/) to [environments](/docs/infrastructure/environments), or different stages in your deployment pipeline. -A release snapshot takes references (rather than the entire resource) for certain items in a release. For example, the release references the package version, not the package itself. Take care when overwriting existing packages that may be used in releases or snapshots. +A release snapshot takes references (rather than the entire resource) for certain items in a release. For example, the release references the package version, not the package itself. Take care when overwriting existing packages that may be used in releases or snapshots. -:::div{.hint} -**Tenant variables** are not included in release snapshots. Find out more in our [tenant documentation](/docs/tenants/tenant-variables). +:::div{.hint} +**Tenant variables** are not included in release snapshots. Find out more in our [tenant documentation](/docs/tenants/tenant-variables). ::: ## Release creation @@ -25,7 +25,7 @@ When you create a release, you must enter or choose the following items: - The channel (only appears when a project has more than one channel). - Release notes (optional) -Let the CI, or Build Server, create the release after uploading the package you wish to deploy. The build server knows when it has finished uploading the package, along with other important information, such as the current branch, was the build triggered by a pull request, and more. +Let the CI, or Build Server, create the release after uploading the package you wish to deploy. The build server knows when it has finished uploading the package, along with other important information, such as the current branch, was the build triggered by a pull request, and more. :::div{.hint} Octopus Deploy provides [built-in package repository](/docs/projects/project-triggers/built-in-package-repository-triggers) and [external feed](/docs/projects/project-triggers/external-feed-triggers) triggers. These triggers will automatically create a release when a new package version is pushed. @@ -40,7 +40,7 @@ Release creation triggers have the following limitations: ## Updating a release -The release includes a snapshot containing the deployment process, variables (including Variable Sets), and package versions. +The release includes a snapshot containing the deployment process, variables (including Variable Sets), and package versions. You can update the following in a release: @@ -54,27 +54,27 @@ However, you cannot change the following in the release snapshot: - Channel - Deployment Process -Never to modify a release unless it is absolutely necessary. A release represents a snapshot in time, and it should be the same when deploying to the different stages or environments in your pipeline. Changing it after the fact can lead to unpredictable results. +Never to modify a release unless it is absolutely necessary. A release represents a snapshot in time, and it should be the same when deploying to the different stages or environments in your pipeline. Changing it after the fact can lead to unpredictable results. ## Deploying a release -A release is deployed to different stages or environments in your pipeline. Releases can be deployed 0 to N times before **production**. +A release is deployed to different stages or environments in your pipeline. Releases can be deployed 0 to N times before **production**. -A release must be deployed to at least **ONE** environment before deploying to **production**, even during an emergency or a production outage. Deploying to **production** should go from an "all hands on deck" event to a non-event. The release will have been tested at least once if not multiple times, in different stages in your pipeline by the time you deploy to **production**. By that point, most, if not all, surprises should have been found and fixed. +A release must be deployed to at least **ONE** environment before deploying to **production**, even during an emergency or a production outage. Deploying to **production** should go from an "all hands on deck" event to a non-event. The release will have been tested at least once if not multiple times, in different stages in your pipeline by the time you deploy to **production**. By that point, most, if not all, surprises should have been found and fixed. ## Blocking a release -During testing, you might find a show-stopping bug. Or the UI isn't acceptable to the business owner. There are several reasons for a release rejection to occur. +During testing, you might find a show-stopping bug. Or the UI isn't acceptable to the business owner. There are several reasons for a release rejection to occur. -Most rejections should occur in **development** or **test** environments before merging into the main branch. Assuming your lifecycles match your branching strategy, those releases would never make it to **production** because the lifecycle doesn't include it. +Most rejections should occur in **development** or **test** environments before merging into the main branch. Assuming your lifecycles match your branching strategy, those releases would never make it to **production** because the lifecycle doesn't include it. -When a release built from the main or a release branch is rejected, leverage the [prevent release progression](/docs/releases/prevent-release-progression) functionality to block that release from being deployed to additional stages or environments in your pipeline. +When a release built from the main or a release branch is rejected, leverage the [prevent release progression](/docs/releases/prevent-release-progression) functionality to block that release from being deployed to additional stages or environments in your pipeline. ## Release and Deployment retention -As stated earlier, creating a release snapshots the variables, deployment process, etc. Each deployment also has a snapshot of the variables and deployment process created. As you can imagine, all of these snapshots start to consume more and more space in the database. +As stated earlier, creating a release snapshots the variables, deployment process, etc. Each deployment also has a snapshot of the variables and deployment process created. As you can imagine, all of these snapshots start to consume more and more space in the database. -Our recommendation is to configure [retention policies](/docs/administration/retention-policies) to clean up old releases. Have a unique retention policy per environment. For example: +Our recommendation is to configure [retention policies](/docs/administration/retention-policies) to clean up old releases. Have a unique retention policy per environment. For example: - Development: keep the last one (1) release - Test: keep the last two (2) releases @@ -83,37 +83,37 @@ Our recommendation is to configure [retention policies](/docs/administration/ret Some notes about retention policies: -- No release appearing on either a project dashboard or the main dashboard will be deleted even if the release falls well outside of the dates for the retention policy. -- Octopus will always keep the current release and the most recent previous release in any lifecycle phase. Keeping the most recent release ensures you can quickly roll back in an emergency. -- The algorithm calculating the releases to delete is very conservative. It prefers to keep releases rather than delete them. +- No release appearing on either a [project dashboard](/docs/projects/project-dashboard) or the main dashboard will be deleted even if the release falls well outside of the dates for the retention policy. +- Octopus will always keep the current release and the most recent previous release in any lifecycle phase. Keeping the most recent release ensures you can quickly roll back in an emergency. +- The algorithm calculating the releases to delete is very conservative. It prefers to keep releases rather than delete them. :::div{.hint} -When the retention policies delete a release, it removes that release from the project (along with corresponding snapshots). Audit information about the release, who created it, when it was deployed, and so on is still retained and can be viewed in the [audit log](/docs/security/users-and-teams/auditing). +When the retention policies delete a release, it removes that release from the project (along with corresponding snapshots). Audit information about the release, who created it, when it was deployed, and so on is still retained and can be viewed in the [audit log](/docs/security/users-and-teams/auditing). ::: ## Free up deployment target disk space -As you deploy more frequently, the available disk space on your deployment targets will be reduced. That reduction will continue until you either run out of disk space or retention policies are configured. When you configure the retention policy in the lifecycle, you are presented with two options: +As you deploy more frequently, the available disk space on your deployment targets will be reduced. That reduction will continue until you either run out of disk space or retention policies are configured. When you configure the retention policy in the lifecycle, you are presented with two options: -- How long should we keep releases? That means how long the release is retained on the Octopus Server. -- How long should we keep extracted packages and files on disk on Tentacles? That means how long the release is retained on your deployment targets. +- How long should we keep releases? That means how long the release is retained on the Octopus Server. +- How long should we keep extracted packages and files on disk on Tentacles? That means how long the release is retained on your deployment targets. -Unless you are using a [custom install directory](/docs/projects/steps/configuration-features/custom-installation-directory), Octopus Deploy will create a unique folder on your deployment targets to extract packages to. The unique folder is generated _per deployment_. If the same release is deployed five times, expect to see five unique folders. +Unless you are using a [custom install directory](/docs/projects/steps/configuration-features/custom-installation-directory), Octopus Deploy will create a unique folder on your deployment targets to extract packages to. The unique folder is generated _per deployment_. If the same release is deployed five times, expect to see five unique folders. -Our recommendation is to configure your deployment target retention policies to match your release retention policies. Unless, of course, you are limited by disk space. If that happens, then set your deployment target retention policy to something smaller than the release retention policy. +Our recommendation is to configure your deployment target retention policies to match your release retention policies. Unless, of course, you are limited by disk space. If that happens, then set your deployment target retention policy to something smaller than the release retention policy. :::div{.hint} -Both retention policies follow the same rules. No release appearing on a dashboard will be deleted, nor will the current and previous release. +Both retention policies follow the same rules. No release appearing on a dashboard will be deleted, nor will the current and previous release. ::: -Retention policies are not applied to any package with a custom install directory configured. You are responsible for cleaning up the custom install directory. +Retention policies are not applied to any package with a custom install directory configured. You are responsible for cleaning up the custom install directory. ## Further reading For further reading on releases and deployments in Octopus Deploy please see: - [Releases](/docs/releases) -- [Deployments](/docs/deployments) +- [Deployments](/docs/deployments) - [Environments](/docs/infrastructure/environments) - [Lifecycles](/docs/releases/lifecycles) -- [Retention Policies](/docs/administration/retention-policies) \ No newline at end of file +- [Retention Policies](/docs/administration/retention-policies) diff --git a/src/pages/docs/deployments/patterns/elastic-and-transient-environments/keeping-deployment-targets-up-to-date.md b/src/pages/docs/deployments/patterns/elastic-and-transient-environments/keeping-deployment-targets-up-to-date.md index 507e4979ea..4aebca7b7a 100644 --- a/src/pages/docs/deployments/patterns/elastic-and-transient-environments/keeping-deployment-targets-up-to-date.md +++ b/src/pages/docs/deployments/patterns/elastic-and-transient-environments/keeping-deployment-targets-up-to-date.md @@ -7,15 +7,15 @@ description: Octopus can ensure that deployment targets are kept up to date with navOrder: 2 --- -Octopus Deploy can ensure that deployment targets are kept up to date with the relevant releases. This can be useful when [deploying to transient targets](/docs/deployments/patterns/elastic-and-transient-environments/deploying-to-transient-targets) or when new deployment targets are added to an environment. +Octopus Deploy can ensure that deployment targets are kept up to date with the relevant releases. This can be useful when [deploying to transient targets](/docs/deployments/patterns/elastic-and-transient-environments/deploying-to-transient-targets) or when new deployment targets are added to an environment. ## Triggers {#triggers} -Triggers are per-project settings that execute an action in response to an event. For this example we will create an automatic deployment trigger so that machines associated with the **TradingWebServer** [target tag](/docs/infrastructure/deployment-targets/#target-roles) are automatically kept up to date with the latest releases for OctoFX. Triggers can be found by selecting the *Triggers* menu item on the project screen. +Triggers are per-project settings that execute an action in response to an event. For this example we will create an automatic deployment trigger so that machines associated with the **TradingWebServer** [target tag](/docs/infrastructure/deployment-targets/#target-roles) are automatically kept up to date with the latest releases for OctoFX. Triggers can be found by selecting the _Triggers_ menu item on the project screen. ## Creating an automatic deployment trigger {#create-automatic-deployment-trigger} -1. Navigate to the project *Triggers* page. +1. Navigate to the project _Triggers_ page. 2. Create a new trigger by selecting **Create trigger**: :::figure @@ -23,7 +23,8 @@ Triggers are per-project settings that execute an action in response to an event ::: 3. Add events to the trigger. - - For **Octopus 3.6** and above, select the event group *"Machine becomes available for deployment"*. + +- For **Octopus 3.6** and above, select the event group _"Machine becomes available for deployment"_. 4. Select the environments (**Test A**) that this trigger applies to. @@ -37,7 +38,7 @@ Once the trigger has been created, it will ensure that any deployment targets ma ## Triggering an automatic deployment {#trigger-automatic-deployment} -To test the trigger, we will disable a deployment target, deploy to that target's environment and then re-enable the target. Octopus should automatically deploy the release to the target when it is re-enabled. +To test the trigger, we will disable a deployment target, deploy to that target's environment and then re-enable the target. Octopus should automatically deploy the release to the target when it is re-enabled. 1. Disable a target with the target tag **TradingWebServer** in the **Test A** environment: @@ -45,13 +46,13 @@ To test the trigger, we will disable a deployment target, deploy to that target' ![](/docs/deployments/patterns/elastic-and-transient-environments/images/5865573.png) ::: -2. Create a new release of OctoFX and deploy it to the **Test A** environment. It will skip the steps that have been scoped to the **TradingWebServer** target tag because no deployment targets are associated with that tag: +2. Create a new release of OctoFX and deploy it to the **Test A** environment. It will skip the steps that have been scoped to the **TradingWebServer** target tag because no deployment targets are associated with that tag: :::figure ![](/docs/deployments/patterns/elastic-and-transient-environments/images/5865574.png) ::: -3. Enable the deployment target **TAWeb01.** Octopus will automatically determine that it is missing the release we just deployed. The deployment is re-queued and will run only for the **TAWeb01** target, creating a new log section below the original deployment log: +3. Enable the deployment target **TAWeb01.** Octopus will automatically determine that it is missing the release we just deployed. The deployment is re-queued and will run only for the **TAWeb01** target, creating a new log section below the original deployment log: :::figure ![](/docs/deployments/patterns/elastic-and-transient-environments/images/5865575.png) @@ -59,7 +60,7 @@ To test the trigger, we will disable a deployment target, deploy to that target' ## Overriding the release used for automatic deployments {#override-release-for-automatic-deployments} -Automatic deployments attempts to calculate the release to use for a project and environment (using the *current* and *successful* release that has been deployed, as shown in your Project Overview dashboard). In some cases the calculated release may not be the release that should be automatically deployed, or Octopus may not be able to find a deployment for an environment (maybe you have a release, but have not yet deployed it anywhere). It is possible to explicitly set the release that should be automatically deployed by overriding the automatic-deployment-release. Overrides can be configured using the [Octopus CLI](/docs/octopus-rest-api/octopus-cli/) or through [Octopus.Client](/docs/octopus-rest-api/octopus.client). Overrides define a release for a project when deploying to an environment (this can, for example, be useful for cloud-testing-automation when standing up new cloud infrastructure). For multi-tenanted deployments, overrides may be configured for each environment/tenant combination. +Automatic deployments attempts to calculate the release to use for a project and environment (using the _current_ and _successful_ release that has been deployed, as shown in your Project Overview dashboard). In some cases the calculated release may not be the release that should be automatically deployed, or Octopus may not be able to find a deployment for an environment (maybe you have a release, but have not yet deployed it anywhere). It is possible to explicitly set the release that should be automatically deployed by overriding the automatic-deployment-release. Overrides can be configured using the [Octopus CLI](/docs/octopus-rest-api/octopus-cli/) or through [Octopus.Client](/docs/octopus-rest-api/octopus.client). Overrides define a release for a project when deploying to an environment (this can, for example, be useful for cloud-testing-automation when standing up new cloud infrastructure). For multi-tenanted deployments, overrides may be configured for each environment/tenant combination. **Octopus CLI** @@ -87,11 +88,11 @@ $project.AddAutoDeployReleaseOverride($environment, $release) $repository.Projects.Modify($project) ``` -Automatic deployment overrides are cleared when a deployment is performed to the same project/environment/tenant combination as the override. For example: if an override is set for version 1.2 of HelloWorld to the Test environment and version 1.3 of HelloWorld is deployed to the Test environment, the 1.2 override will be deleted. Release overrides will be cleared as soon as they have automated an actual deployment. +Automatic deployment overrides are cleared when a deployment is performed to the same project/environment/tenant combination as the override. For example: if an override is set for version 1.2 of HelloWorld to the Test environment and version 1.3 of HelloWorld is deployed to the Test environment, the 1.2 override will be deleted. Release overrides will be cleared as soon as they have automated an actual deployment. ## Troubleshooting automatic deployments {#troubleshoot-automatic-deployments} -Octopus will attempt to automatically deploy the current releases for the environments that are appropriate for a machine. The current release is the one that was most recently *successfully* deployed as shown on the project dashboard. If a release is deployed and it fails, the previous successful release will continue to be automatically deployed. Octopus will not attempt automatic deployments for a project/environment/tenant while a release is being deployed to that project/environment/tenant. Once the deployment finishes, Octopus will deploy to any machines that require the deployment. +Octopus will attempt to automatically deploy the current releases for the environments that are appropriate for a machine. The current release is the one that was most recently _successfully_ deployed as shown on the [project dashboard](/docs/projects/project-dashboard). If a release is deployed and it fails, the previous successful release will continue to be automatically deployed. Octopus will not attempt automatic deployments for a project/environment/tenant while a release is being deployed to that project/environment/tenant. Once the deployment finishes, Octopus will deploy to any machines that require the deployment. Troubleshoot automatic deployment by viewing the auto deploy logs from the diagnostics page in the configuration section or viewing the [Audit log](/docs/security/users-and-teams/auditing). @@ -108,4 +109,4 @@ With machines now being kept up to date automatically you may be interested in [ ## Learn more -- [Deployment patterns blog posts](https://octopus.com/blog/tag/Deployment%20Patterns). \ No newline at end of file +- [Deployment patterns blog posts](https://octopus.com/blog/tag/Deployment%20Patterns). From 79eed4351bf353fc8724a3bf0ee2873cb5fd5554 Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Thu, 17 Apr 2025 16:55:24 +1200 Subject: [PATCH 05/15] bolding of words --- src/pages/docs/projects/project-dashboard.md | 48 ++++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/pages/docs/projects/project-dashboard.md b/src/pages/docs/projects/project-dashboard.md index acd1382735..221f98a230 100644 --- a/src/pages/docs/projects/project-dashboard.md +++ b/src/pages/docs/projects/project-dashboard.md @@ -9,24 +9,24 @@ hideInThisSectionHeader: true pubDate: 2025-04-17 --- -The project dashboard gives you an at-a-glance view of your project. You’ll see a cherry-picked selection of your releases. You’ll also see where and when they were deployed in your environments, tenants, and channels. +The project dashboard gives you an at-a-glance view of your project. You’ll see a cherry-picked **selection of your releases**. You’ll also see where and when they were deployed in your [environments](/docs/infrastructure/environments), [tenants](/docs/tenants/), and [channels](/docs/releases/channels). -You’ll see one of the following dashboard views: +You’ll see one of the following **dashboard views**: - [Default view](#default-view) - [Channels view](#channels-view) - [Tenants view](#tenants-view) -The view you see depends on whether you’ve added channels to your project and whether you allow tenanted deployments in your project. All views allow you to filter and group your deployments to suit your needs. +The view you see depends on whether you’ve **added channels** to your project and whether you **allow tenanted deployments** in your project. All views allow you to filter and group your deployments to suit your needs. ## Default view This view is shown if: -- You haven’t added channels to your project -- Your project settings don’t allow tenanted deployments +- You **haven’t** added channels to your project +- Your project settings **don’t** allow tenanted deployments -You’ll see a selection of releases and how they are deployed into environments in your project’s lifecycle. +You’ll see a selection of releases and how they are deployed into environments in your **project’s lifecycle**. From this view you can deploy releases, create releases, and filter by environments. @@ -36,20 +36,20 @@ From this view you can deploy releases, create releases, and filter by environme ### Which releases are shown in the default view? -- For each environment: +- For each **environment**: - Your most recently deployed release (whether or not the deployment was successful) - Your next most recently deployed and successful release -- In addition to the above: +- In **addition** to the above: - Up to three of your most recent undeployed releases (but only if they were created after you last deployed a new release) ## Channels view This view is shown if: -- You’ve added a channel to your project -- Your project settings don’t allow tenanted deployments +- You’ve **added a channel** to your project +- Your project settings **don’t** allow tenanted deployments -You’ll see a selection of releases for each channel and how they are deployed into environments in each channel’s lifecycle. +You’ll see a selection of releases for each channel and how they are deployed into environments in each **channel’s lifecycle**. From this view you can deploy releases in your channels, create releases, and filter by environments. @@ -59,19 +59,19 @@ From this view you can deploy releases in your channels, create releases, and fi ### Which releases are shown in the channels view? -- For each environment: +- For each **environment**: - Your most recently deployed release, whether or not the deployment was successful - Your next most recently deployed and successful release -- For each channel: +- For each **channel**: - Up to three of your most recent releases (this count includes any already shown releases) ## Tenants view This view is shown if: -- Your project settings allow tenanted deployments +- Your project settings **allow** tenanted deployments -You’ll see all of your tenants in your project and a selection of releases deployed to them. +You’ll see **all** of your tenants in your project and a selection of releases deployed to them. From this view you can filter by release and then deploy the selected release into each tenant’s environments. @@ -81,21 +81,21 @@ From this view you can filter by release and then deploy the selected release in ### Which releases are shown in the tenants view? -- For each tenant and environment combination: +- For each **tenant and environment combination**: - The most recently deployed release is shown. - If untenanted deployments are allowed: - - For each environment: + - For each **environment**: - The most recently deployed, untenanted release is shown. ### Alternative tenants views - Grouping: - - When no grouping is selected: - - The environments shown are from your project’s lifecycle. - - When grouping by channel is selected: - - Each channel’s environments are from that channel’s lifecycle. + - When **no grouping** is selected: + - The environments shown are from your **project’s lifecycle**. + - When **grouping by channel** is selected: + - Each channel’s environments are from that **channel’s lifecycle**. - Project settings for tenanted and untenanted deployments: - - Both tenanted and untenanted deployments are allowed: - - All untenanted deployments are summarized in the first row, labeled ‘untenanted’. - - Only tenanted deployments are allowed: + - **Both tenanted and untenanted** deployments are allowed: + - All untenanted deployments are summarized in the first row, labeled ‘Untenanted’. + - **Only tenanted** deployments are allowed: - No untenanted deployments are shown on the dashboard. From 661b01f15d9467edc6aa2ca6c4b318cd60cd00ca Mon Sep 17 00:00:00 2001 From: Steve Fenton <99181436+steve-fenton-octopus@users.noreply.github.com> Date: Tue, 22 Apr 2025 07:32:54 +0100 Subject: [PATCH 06/15] Update modified date --- src/pages/docs/administration/retention-policies/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/docs/administration/retention-policies/index.mdx b/src/pages/docs/administration/retention-policies/index.mdx index ba9aea0d17..ef2ef98970 100644 --- a/src/pages/docs/administration/retention-policies/index.mdx +++ b/src/pages/docs/administration/retention-policies/index.mdx @@ -1,7 +1,7 @@ --- layout: src/layouts/Default.astro pubDate: 2023-01-01 -modDate: 2025-03-12 +modDate: 2025-04-22 title: Retention policies icon: fa-solid fa-broom description: Retention policies allow you to specify the releases, packages and files you want to keep as well as the ones you want cleaned up. From 18d5af7a77ceb2618967be1cf8a9692f86ecbdaf Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Mon, 28 Apr 2025 16:23:43 +1200 Subject: [PATCH 07/15] revert styling changes index --- .../retention-policies/index.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/pages/docs/administration/retention-policies/index.mdx b/src/pages/docs/administration/retention-policies/index.mdx index ef2ef98970..6077294b40 100644 --- a/src/pages/docs/administration/retention-policies/index.mdx +++ b/src/pages/docs/administration/retention-policies/index.mdx @@ -55,13 +55,13 @@ The disk space calculation for both targets and workers looks at the entire disk ### Built-in repository \{#built-in-repo-whats-deleted} -A retention policy can be applied to packages in the built-in Octopus package repository. By default, the policy is set to keep all packages indefinitely. This policy is _separate_ from the [release retention policy](#releases-whats-deleted) described above. +A retention policy can be applied to packages in the built-in Octopus package repository. By default, the policy is set to keep all packages indefinitely. This policy is *separate* from the [release retention policy](#releases-whats-deleted) described above. :::figure -![](/docs/administration/retention-policies/images/built-in-repository.png 'width=500') +![](/docs/administration/retention-policies/images/built-in-repository.png) ::: -When a package retention policy is applied, Octopus will delete packages that meet _both_ of the following criteria: +When a package retention policy is applied, Octopus will delete packages that meet *both* of the following criteria: 1. The time span from the package's initial publish date exceeds the configured time period in the policy 2. The package is **not associated with any releases in Octopus**. @@ -111,7 +111,7 @@ If you have a release retention policy for a project that has a final phase of k In this section we walk through what's deleted for an example project when the retention policy task runs. Consider a project that has the following lifecycle defined: :::figure -![Release retention task example lifecycle](/docs/administration/retention-policies/images/retention-lifecycle-example.png 'width=500') +![Release retention task example lifecycle](/docs/administration/retention-policies/images/retention-lifecycle-example.png) ::: It contains two phases, both are set to keep the last 3 releases. @@ -168,16 +168,16 @@ Undeployed releases will simply keep the number we have selected and no more. Wh Under **Deploy ➜ Lifecycles** you select the Lifecycle you want to define or edit your retention policy for: :::figure -![](/docs/administration/retention-policies/images/lifecycles.png 'width=500') +![](/docs/administration/retention-policies/images/lifecycles.png) ::: Each phase will inherit the retention policy from the above phase, but this is something you can change by expanding the Retention Policy panel. :::figure -![](/docs/administration/retention-policies/images/lifecycle-retention-policy.png 'width=500') +![](/docs/administration/retention-policies/images/lifecycle-retention-policy.png) ::: -_Releases_ determines what is kept on the Octopus Server, and _Files on Tentacle_ determines what files are kept on the Tentacle. +*Releases* determines what is kept on the Octopus Server, and *Files on Tentacle* determines what files are kept on the Tentacle. In Octopus Server, you can keep all, or select a number of releases to keep. @@ -209,7 +209,7 @@ Phases prioritize retention policies from the latest previous phase over the lif You can find the built-in repository retention policy settings under **Deploy ➜ Packages**. :::figure -![](/docs/administration/retention-policies/images/built-in-feed-retention-policy.png 'width=500') +![](/docs/administration/retention-policies/images/built-in-feed-retention-policy.png) ::: In Octopus Server, this can be set to keep packages forever, or for a set number of days. @@ -217,10 +217,10 @@ In Octopus Server, this can be set to keep packages forever, or for a set number :::figure -![](/docs/administration/retention-policies/images/built-in-repository.png 'width=500') +![](/docs/administration/retention-policies/images/built-in-repository.png) ::: -Choosing _A limited time_ will allow you to select the number of days to keep a package in the repository. The default value is 30, but you can choose something shorter or longer based on your needs. +Choosing *A limited time* will allow you to select the number of days to keep a package in the repository. The default value is 30, but you can choose something shorter or longer based on your needs. :::div{.hint} **Note on package clean-up** From 01315645f7711012a0b92fb32fc7725840d1a6fc Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Mon, 28 Apr 2025 16:28:11 +1200 Subject: [PATCH 08/15] mod date changed --- src/pages/docs/administration/retention-policies/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/docs/administration/retention-policies/index.mdx b/src/pages/docs/administration/retention-policies/index.mdx index 6077294b40..c45247b8ce 100644 --- a/src/pages/docs/administration/retention-policies/index.mdx +++ b/src/pages/docs/administration/retention-policies/index.mdx @@ -1,7 +1,7 @@ --- layout: src/layouts/Default.astro pubDate: 2023-01-01 -modDate: 2025-04-22 +modDate: 2025-04-28 title: Retention policies icon: fa-solid fa-broom description: Retention policies allow you to specify the releases, packages and files you want to keep as well as the ones you want cleaned up. From 22e9f9725bac57df88b413bc1e8f0cf6571b607e Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Mon, 28 Apr 2025 16:31:02 +1200 Subject: [PATCH 09/15] revert emphasis --- .../docs/best-practices/deployments/releases-and-deployments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/docs/best-practices/deployments/releases-and-deployments.md b/src/pages/docs/best-practices/deployments/releases-and-deployments.md index e0b4411ce9..d31047078b 100644 --- a/src/pages/docs/best-practices/deployments/releases-and-deployments.md +++ b/src/pages/docs/best-practices/deployments/releases-and-deployments.md @@ -98,7 +98,7 @@ As you deploy more frequently, the available disk space on your deployment targe - How long should we keep releases? That means how long the release is retained on the Octopus Server. - How long should we keep extracted packages and files on disk on Tentacles? That means how long the release is retained on your deployment targets. -Unless you are using a [custom install directory](/docs/projects/steps/configuration-features/custom-installation-directory), Octopus Deploy will create a unique folder on your deployment targets to extract packages to. The unique folder is generated _per deployment_. If the same release is deployed five times, expect to see five unique folders. +Unless you are using a [custom install directory](/docs/projects/steps/configuration-features/custom-installation-directory), Octopus Deploy will create a unique folder on your deployment targets to extract packages to. The unique folder is generated *per deployment*. If the same release is deployed five times, expect to see five unique folders. Our recommendation is to configure your deployment target retention policies to match your release retention policies. Unless, of course, you are limited by disk space. If that happens, then set your deployment target retention policy to something smaller than the release retention policy. From 978961a5f2e05ebccf7a00dbdfae18d14ef6d398 Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Mon, 28 Apr 2025 16:33:34 +1200 Subject: [PATCH 10/15] revert emphasis markdown --- .../keeping-deployment-targets-up-to-date.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/docs/deployments/patterns/elastic-and-transient-environments/keeping-deployment-targets-up-to-date.md b/src/pages/docs/deployments/patterns/elastic-and-transient-environments/keeping-deployment-targets-up-to-date.md index 4aebca7b7a..33fbbb952f 100644 --- a/src/pages/docs/deployments/patterns/elastic-and-transient-environments/keeping-deployment-targets-up-to-date.md +++ b/src/pages/docs/deployments/patterns/elastic-and-transient-environments/keeping-deployment-targets-up-to-date.md @@ -1,7 +1,7 @@ --- layout: src/layouts/Default.astro pubDate: 2023-01-01 -modDate: 2024-05-01 +modDate: 2025-04-28 title: Keeping deployment targets up to date description: Octopus can ensure that deployment targets are kept up to date with the relevant releases. This can be useful when deploying to transient targets or when new deployment targets are added to an environment. navOrder: 2 @@ -11,11 +11,11 @@ Octopus Deploy can ensure that deployment targets are kept up to date with the r ## Triggers {#triggers} -Triggers are per-project settings that execute an action in response to an event. For this example we will create an automatic deployment trigger so that machines associated with the **TradingWebServer** [target tag](/docs/infrastructure/deployment-targets/#target-roles) are automatically kept up to date with the latest releases for OctoFX. Triggers can be found by selecting the _Triggers_ menu item on the project screen. +Triggers are per-project settings that execute an action in response to an event. For this example we will create an automatic deployment trigger so that machines associated with the **TradingWebServer** [target tag](/docs/infrastructure/deployment-targets/#target-roles) are automatically kept up to date with the latest releases for OctoFX. Triggers can be found by selecting the *Triggers* menu item on the project screen. ## Creating an automatic deployment trigger {#create-automatic-deployment-trigger} -1. Navigate to the project _Triggers_ page. +1. Navigate to the project *Triggers* page. 2. Create a new trigger by selecting **Create trigger**: :::figure @@ -24,7 +24,7 @@ Triggers are per-project settings that execute an action in response to an event 3. Add events to the trigger. -- For **Octopus 3.6** and above, select the event group _"Machine becomes available for deployment"_. +- For **Octopus 3.6** and above, select the event group *"Machine becomes available for deployment"*. 4. Select the environments (**Test A**) that this trigger applies to. @@ -60,7 +60,7 @@ To test the trigger, we will disable a deployment target, deploy to that target' ## Overriding the release used for automatic deployments {#override-release-for-automatic-deployments} -Automatic deployments attempts to calculate the release to use for a project and environment (using the _current_ and _successful_ release that has been deployed, as shown in your Project Overview dashboard). In some cases the calculated release may not be the release that should be automatically deployed, or Octopus may not be able to find a deployment for an environment (maybe you have a release, but have not yet deployed it anywhere). It is possible to explicitly set the release that should be automatically deployed by overriding the automatic-deployment-release. Overrides can be configured using the [Octopus CLI](/docs/octopus-rest-api/octopus-cli/) or through [Octopus.Client](/docs/octopus-rest-api/octopus.client). Overrides define a release for a project when deploying to an environment (this can, for example, be useful for cloud-testing-automation when standing up new cloud infrastructure). For multi-tenanted deployments, overrides may be configured for each environment/tenant combination. +Automatic deployments attempts to calculate the release to use for a project and environment (using the *current* and *successful* release that has been deployed, as shown in your Project Overview dashboard). In some cases the calculated release may not be the release that should be automatically deployed, or Octopus may not be able to find a deployment for an environment (maybe you have a release, but have not yet deployed it anywhere). It is possible to explicitly set the release that should be automatically deployed by overriding the automatic-deployment-release. Overrides can be configured using the [Octopus CLI](/docs/octopus-rest-api/octopus-cli/) or through [Octopus.Client](/docs/octopus-rest-api/octopus.client). Overrides define a release for a project when deploying to an environment (this can, for example, be useful for cloud-testing-automation when standing up new cloud infrastructure). For multi-tenanted deployments, overrides may be configured for each environment/tenant combination. **Octopus CLI** @@ -92,7 +92,7 @@ Automatic deployment overrides are cleared when a deployment is performed to the ## Troubleshooting automatic deployments {#troubleshoot-automatic-deployments} -Octopus will attempt to automatically deploy the current releases for the environments that are appropriate for a machine. The current release is the one that was most recently _successfully_ deployed as shown on the [project dashboard](/docs/projects/project-dashboard). If a release is deployed and it fails, the previous successful release will continue to be automatically deployed. Octopus will not attempt automatic deployments for a project/environment/tenant while a release is being deployed to that project/environment/tenant. Once the deployment finishes, Octopus will deploy to any machines that require the deployment. +Octopus will attempt to automatically deploy the current releases for the environments that are appropriate for a machine. The current release is the one that was most recently *successfully* deployed as shown on the [project dashboard](/docs/projects/project-dashboard). If a release is deployed and it fails, the previous successful release will continue to be automatically deployed. Octopus will not attempt automatic deployments for a project/environment/tenant while a release is being deployed to that project/environment/tenant. Once the deployment finishes, Octopus will deploy to any machines that require the deployment. Troubleshoot automatic deployment by viewing the auto deploy logs from the diagnostics page in the configuration section or viewing the [Audit log](/docs/security/users-and-teams/auditing). From f47ef8186c21615efa8bb323cf279c3bf50e7f6e Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Mon, 28 Apr 2025 16:42:34 +1200 Subject: [PATCH 11/15] dashboard frontmatter edit --- src/pages/docs/projects/project-dashboard.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/pages/docs/projects/project-dashboard.md b/src/pages/docs/projects/project-dashboard.md index 221f98a230..b77ff2a1d2 100644 --- a/src/pages/docs/projects/project-dashboard.md +++ b/src/pages/docs/projects/project-dashboard.md @@ -3,10 +3,8 @@ layout: src/layouts/Default.astro title: Project dashboard icon: fa-solid fa-shapes description: Understanding the different project dashboard views. -position: 20 -hideInThisSection: true -hideInThisSectionHeader: true pubDate: 2025-04-17 +navOrder: 10 --- The project dashboard gives you an at-a-glance view of your project. You’ll see a cherry-picked **selection of your releases**. You’ll also see where and when they were deployed in your [environments](/docs/infrastructure/environments), [tenants](/docs/tenants/), and [channels](/docs/releases/channels). From 5ce27802652c3ce63363fde7aba562fcd823ccf4 Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Mon, 28 Apr 2025 16:50:02 +1200 Subject: [PATCH 12/15] revert formatting --- .../deployment-target-triggers.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/pages/docs/projects/project-triggers/deployment-target-triggers.md b/src/pages/docs/projects/project-triggers/deployment-target-triggers.md index a47a1b4316..14aa4ae34b 100644 --- a/src/pages/docs/projects/project-triggers/deployment-target-triggers.md +++ b/src/pages/docs/projects/project-triggers/deployment-target-triggers.md @@ -1,7 +1,7 @@ --- layout: src/layouts/Default.astro pubDate: 2023-01-01 -modDate: 2024-08-28 +modDate: 2025-04-28 title: Deployment target triggers icon: fa-solid fa-desktop description: Deployment target triggers allow you to define unattended behavior for your project that will cause an automatic deployment of a release into an environment. @@ -26,13 +26,13 @@ Deployment target triggers can be triggered by any machine-related event. A sche Events have been placed into the following pre-defined groups: -| Event group | Included Events | -| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Machine events** | Machine cleanup failed, Machine created, Machine deployment-related property modified, Machine disabled, Machine enabled, Machine found healthy, Machine found to be unavailable, Machine found to be unhealthy, Machine found to have warnings | -| **Machine critical-events** | Machine cleanup failed, Machine found to be unavailable | -| **Machine becomes available for deployment** | Machine enabled, Machine found healthy, Machine found to have warnings | -| **Machine is no longer available for deployment** | Machine disabled, Machine found to be unavailable, Machine found to be unhealthy | -| **Machine health changed** | Machine found healthy, Machine found to be unavailable, Machine found to be unhealthy, Machine found to have warnings | +| Event group | Included Events | +| ----------- | --------------- | +| **Machine events** | Machine cleanup failed, Machine created, Machine deployment-related property modified, Machine disabled, Machine enabled, Machine found healthy, Machine found to be unavailable, Machine found to be unhealthy, Machine found to have warnings | +| **Machine critical-events** | Machine cleanup failed, Machine found to be unavailable | +| **Machine becomes available for deployment** | Machine enabled, Machine found healthy, Machine found to have warnings | +| **Machine is no longer available for deployment** | Machine disabled, Machine found to be unavailable, Machine found to be unhealthy | +| **Machine health changed** | Machine found healthy, Machine found to be unavailable, Machine found to be unhealthy, Machine found to have warnings | :::div{.success} For the majority of cases where you want to auto-deploy your project as new deployment targets become available, we advise you use only the **Machine becomes available for deployment** event group. @@ -74,8 +74,8 @@ Deployment target triggers let you configure unattended deployment behavior that When a deployment target trigger fires, the following rules are applied: -- By default, Octopus will re-run the _currently successful_ deployment for the project/environment/tenant combination. You can override this behavior by configuring an [auto deploy override](/docs/octopus-rest-api/octopus-cli/create-autodeployoverride). Note, if multiple identical deployment targets all become available within the same 30 second polling window, they will all be included in the same automatic deployment. This could happen if you scale your web farm up by four nodes, and all four nodes finish provisioning within the same time window. However, this kind of behavior should not be expected or relied on (one or more of the targets might fall outside the 30 second window). -- The steps that were run for the _currently successful_ deployment will be run for the deployment targets that triggered the deployment. This includes [manual intervention](/docs/projects/built-in-step-templates/manual-intervention-and-approvals/) and [guided failure](/docs/releases/guided-failures) steps. Note, if you skip steps in a manual deployment, they will be skipped in the subsequent automatic deployment. If you need to run a deployment and skip some steps, there are two ways you can reset the skipped steps: +- By default, Octopus will re-run the *currently successful* deployment for the project/environment/tenant combination. You can override this behavior by configuring an [auto deploy override](/docs/octopus-rest-api/octopus-cli/create-autodeployoverride). Note, if multiple identical deployment targets all become available within the same 30 second polling window, they will all be included in the same automatic deployment. This could happen if you scale your web farm up by four nodes, and all four nodes finish provisioning within the same time window. However, this kind of behavior should not be expected or relied on (one or more of the targets might fall outside the 30 second window). +- The steps that were run for the *currently successful* deployment will be run for the deployment targets that triggered the deployment. This includes [manual intervention](/docs/projects/built-in-step-templates/manual-intervention-and-approvals/) and [guided failure](/docs/releases/guided-failures) steps. Note, if you skip steps in a manual deployment, they will be skipped in the subsequent automatic deployment. If you need to run a deployment and skip some steps, there are two ways you can reset the skipped steps: 1. Re-running the entire deployment of the same release again (we generally recommend designing your steps so they can be re-run without negative side-effects). 2. Configuring an [auto deploy override](/docs/octopus-rest-api/octopus-cli/create-autodeployoverride) for the same release to the same environment/tenant (this will result in a new deployment being generated without the manually skipped steps). - If a deployment of a release fails, Octopus will continue deploying the last successful deployment. This ensures auto-deployments will continue, even if a release has been updated and failed. @@ -102,7 +102,7 @@ The [Chain Deployment](https://library.octopus.com/step-template/actiontemplate- ### Specifying a specific release to be deployed -If you need to specify a specific release, either because the release hasn't been deployed yet, or Octopus is calculating the wrong release for a particular situation, you can configure an [auto deploy override](/docs/octopus-rest-api/octopus-cli/create-autodeployoverride/) to override the default automatic deployment behavior. This is useful for scenarios like [immutable infrastructure](/docs/deployments/patterns/elastic-and-transient-environments/immutable-infrastructure/), [deploying to transient targets](/docs/deployments/patterns/elastic-and-transient-environments/deploying-to-transient-targets), and force deployment target triggers to use a specific release for a specific environment/tenant. +If you need to specify a specific release, either because the release hasn't been deployed yet, or Octopus is calculating the wrong release for a particular situation, you can configure an [auto deploy override](/docs/octopus-rest-api/octopus-cli/create-autodeployoverride/) to override the default automatic deployment behavior. This is useful for scenarios like [immutable infrastructure](/docs/deployments/patterns/elastic-and-transient-environments/immutable-infrastructure/), [deploying to transient targets](/docs/deployments/patterns/elastic-and-transient-environments/deploying-to-transient-targets), and force deployment target triggers to use a specific release for a specific environment/tenant. ## Deployment target trigger subscription notifications @@ -114,7 +114,7 @@ There are a number of reasons why automatic deployments may not work the way you ### Is the dashboard green? -Octopus will attempt to automatically deploy the current releases for the environments that are appropriate for a machine. The current release is the one that was most recently _successfully_ deployed as shown on the [project dashboard](/docs/projects/project-dashboard). +Octopus will attempt to automatically deploy the current releases for the environments that are appropriate for a machine. The current release is the one that was most recently *successfully* deployed as shown on the [project dashboard](/docs/projects/project-dashboard). - Octopus will not automatically deploy a release if the deployment for that release was not successful (this can be a failed deployment or even a canceled deployment) From ea44d7236c8c8c7076b3e24a76799998b4c126b7 Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Mon, 28 Apr 2025 16:52:55 +1200 Subject: [PATCH 13/15] update mod date --- .../docs/best-practices/deployments/releases-and-deployments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/docs/best-practices/deployments/releases-and-deployments.md b/src/pages/docs/best-practices/deployments/releases-and-deployments.md index d31047078b..b7f1638623 100644 --- a/src/pages/docs/best-practices/deployments/releases-and-deployments.md +++ b/src/pages/docs/best-practices/deployments/releases-and-deployments.md @@ -1,7 +1,7 @@ --- layout: src/layouts/Default.astro pubDate: 2023-01-01 -modDate: 2023-05-03 +modDate: 2025-04-28 title: Releases and Deployments description: Guidelines and recommendations for creating releases and deploying them in Octopus Deploy. navOrder: 95 From 78421790348c646ce93d79abae4f20059be0758d Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Mon, 28 Apr 2025 17:07:12 +1200 Subject: [PATCH 14/15] nav order and wording change --- src/pages/docs/projects/project-dashboard.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/docs/projects/project-dashboard.md b/src/pages/docs/projects/project-dashboard.md index b77ff2a1d2..41f61a4d98 100644 --- a/src/pages/docs/projects/project-dashboard.md +++ b/src/pages/docs/projects/project-dashboard.md @@ -4,7 +4,7 @@ title: Project dashboard icon: fa-solid fa-shapes description: Understanding the different project dashboard views. pubDate: 2025-04-17 -navOrder: 10 +navOrder: 11 --- The project dashboard gives you an at-a-glance view of your project. You’ll see a cherry-picked **selection of your releases**. You’ll also see where and when they were deployed in your [environments](/docs/infrastructure/environments), [tenants](/docs/tenants/), and [channels](/docs/releases/channels). @@ -87,7 +87,7 @@ From this view you can filter by release and then deploy the selected release in ### Alternative tenants views -- Grouping: +- Group by dropdown: - When **no grouping** is selected: - The environments shown are from your **project’s lifecycle**. - When **grouping by channel** is selected: From e15d711c74314761af7a43efba8d8269846c56a9 Mon Sep 17 00:00:00 2001 From: Rose Northey Date: Tue, 29 Apr 2025 10:38:17 +1200 Subject: [PATCH 15/15] indent bulletpoint --- src/pages/docs/projects/project-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/docs/projects/project-dashboard.md b/src/pages/docs/projects/project-dashboard.md index 41f61a4d98..7183aaa6b1 100644 --- a/src/pages/docs/projects/project-dashboard.md +++ b/src/pages/docs/projects/project-dashboard.md @@ -83,7 +83,7 @@ From this view you can filter by release and then deploy the selected release in - The most recently deployed release is shown. - If untenanted deployments are allowed: - For each **environment**: - - The most recently deployed, untenanted release is shown. + - The most recently deployed, untenanted release is shown. ### Alternative tenants views