From 169fc40c8a3e56f35cd6f70dc9c68aef440bd1f1 Mon Sep 17 00:00:00 2001
From: vlobzakov <39057925+vlobzakov@users.noreply.github.com>
Date: Fri, 27 Aug 2021 15:56:38 +0300
Subject: [PATCH 1/6] JE-54614 Section Add-Ons updated
Section updated:
1. Non workable example removed.
2. General addon description updated.
3. Several examples added to extend add-on installation description
4. Added section: Add-On Uninstallation, where two possible ways described:
- via Uninstall button
- via API call with forcible paramater fors=true
---
docs/creating-manifest/addons.md | 184 ++++++++++++++++++++++++++-----
1 file changed, 155 insertions(+), 29 deletions(-)
diff --git a/docs/creating-manifest/addons.md b/docs/creating-manifest/addons.md
index 3ad63be6..f9bcac26 100644
--- a/docs/creating-manifest/addons.md
+++ b/docs/creating-manifest/addons.md
@@ -1,10 +1,86 @@
# Add-Ons
-Cloud Scripting allows you to install a custom add-on either to a new environment, or to the existing one. You can develop your custom add-on in confines of another - *parent* manifest. Therefore, you need to state the add-on's installation type to *update* and declare essential properties within the *addons* section.
+Cloud Scripting allows you to install a custom add-on either to existing environment, or a new one. Thus you can develop your custom add-on as a separate manifest or in confines of another - *parent* manifest. Respectively, you need to state the add-on's installation type to *update* or declare its essential properties within the *addons* section of *parent* manifest.
-You can install the developed add-on either by specifying a target *nodeGroup*, or by calling the *installAddon* action.
+You can install the developed add-on either by specifying a *[target](../visual-settings/#target-nodes)* and/or by calling the [*installAddon*](../actions/#installaddon) action.
+
+The following examples illustrate the add-on's installation to a specific *nodeGroup* (layer) ***cp***.
+
+Separate manifest with type *update* can be implemented in different ways:
+
+Example #1.
+
+@@@
+```yaml
+type: update
+name: Custom Addon
+id: custom-addon-id
+targetNodes:
+ nodeGroup: cp
+
+onInstall:
+ api [cp]: environment.control.RestartNodes
+```
+```json
+{
+ "type": "update",
+ "name": "Custom Addon",
+ "id": "custom-addon-id",
+ "targetNodes": {
+ "nodeGroup": "cp"
+ },
+ "onInstall": {
+ "api [cp]": "environment.control.RestartNodes"
+ }
+}
+```
+@@!
+
+Example #2. The *installAddon* action call:
+
+@@@
+```yaml
+type: update
+name: Addon installation
+targetNodes:
+ nodeGroup: cp
+
+onInstall:
+ installAddon:
+ id: custom-addon-id
+
+addons:
+ - id: custom-addon-id
+ name: Custom Addon
+ onInstall:
+ api [cp]: environment.control.RestartNodes
+```
+```json
+{
+ "type": "update",
+ "name": "Addon installation",
+ "targetNodes": {
+ "nodeGroup": "cp"
+ },
+ "onInstall": {
+ "installAddon": {
+ "id": "custom-addon-id"
+ }
+ },
+ "addons": [
+ {
+ "id": "custom-addon-id",
+ "name": "Custom Addon",
+ "onInstall": {
+ "api [cp]": "environment.control.RestartNodes"
+ }
+ }
+ ]
+}
+```
+
+Custom add-on installation on newly created environment via built-in implementation in parent manifest:
-The following example illustrates the add-on's installation to a specific *nodeGroup* (layer).
@@@
```yaml
type: install
@@ -45,46 +121,96 @@ addons:
```
@@!
-In the example above, the Jelastic API *RestartNodes* method is executed after the environment creation is completed. The compute node is restarted at the end of the manifest installation procedure. Herewith, the add-on is installed, if the *parent* manifest's installation type is *install*. When the add-on is installed, the **Add-ons** tab for the corresponding compute node becomes available at the dashboard.
+In the examples above, the Jelastic API *[RestartNodes](https://docs.jelastic.com/api/#!/api/environment.Control-method-RestartNodes)* method is executed after the environment creation is completed. The compute node is restarted at the end of the manifest installation procedure. Herewith, the add-on is installed, if the *parent* manifest's installation type is *install*.
+
+When the add-on is installed, the ***Add*-ons** tab for the corresponding compute node becomes available at the dashboard.

-The following example illustrates the add-on's installation by calling the *installAddon* action. You can call this action for both *update* and *install* installation types of a *parent* manifest.
+### Add-On Uninstallation
+
+By default add-on is created with an ***Uninstall*** menu item within **Add-ons** tab.
+
+
+
+If required this menu item can be hidden with an optional boolean parameter ***permanent***.
+Where:
+
+ - `permanent`: *true* - hides the *Uninstall* button for the specified custom add-on
+ - `permanent`: *false* - this option is equal default behaviour when the *permanent* parameter is not specified and makes the *Uninstall* button visible
+
+For example:
+
@@@
```yaml
-type: install
-name: Addon installation
-
+type: update
+name: Custom Addon
+id: custom-addon-id
+permanent: true
+targetNodes:
+ nodeGroup: cp
+
onInstall:
- installAddon:
- id: custom-addon-id
-
-addons:
- - id: custom-addon-id
- name: Custom Addon
- onInstall:
- createFile [cp]: /var/log/test.log
+ api [cp]: environment.control.RestartNodes
```
```json
{
- "type": "install",
- "name": "Addon installation",
- "onInstall": {
- "installAddon": {
- "id": "custom-addon-id"
- }
+ "type": "update",
+ "name": "Custom Addon",
+ "id": "custom-addon-id",
+ "permanent": true,
+ "targetNodes": {
+ "nodeGroup": "cp"
},
- "addons": {
- "id": "custom-addon-id",
- "name": "Custom Addon",
- "onInstall": {
- "createFile [cp]": "/var/log/test.log"
- }
+ "onInstall": {
+ "api [cp]": "environment.control.RestartNodes"
}
}
```
@@!
-Through this example, a new *test.log* file is created during the *onInstall* action execution. You can declare the add-on's expected behaviour within the *addons* section, while the *installAddon* action is needed to specify the appropriate add-on's identifier.
+
+
+
+In case the addon was created with disabled the *Uninstall* button(*permanent: true*) and this add-on is not required anymore, you can forcibly delete it via an API action: *[marketplace.jps.Uninstall](https://docs.jelastic.com/api/#!/api/marketplace.Jps-method-Uninstall)* with a parameter ***force=true***.
+
+For example:
+
+@@@
+```yaml
+id: addon-uninstall
+type: update
+name: Custom Add-On Forcible Uninstall
+
+onInstall: unInstallAddon
+
+actions:
+ unInstallAddon:
+ - api: marketplace.jps.Uninstall
+ appid : "3bf111ec625c0e8b1a9ed2d473a7aec2"
+ force : true
+ appUniqueName":"114d6123-8a22-4d36-9bb2-26e1effa6fdf"
+```
+```json
+{
+ "id": "addon-uninstall",
+ "type": "update",
+ "name": "Custom Add-On Forcible Uninstall",
+ "onInstall": "unInstallAddon",
+ "actions": {
+ "unInstallAddon": [
+ {
+ "api": "marketplace.jps.Uninstall",
+ "appid": "3bf111ec625c0e8b1a9ed2d473a7aec2",
+ "force": true,
+ "appUniqueName": "114d6123-8a22-4d36-9bb2-26e1effa6fdf"
+ }
+ ]
+ }
+}
+```
+@@!
+
+
a<)=OEl%sP;7-Lc#m*QD3IBH)p6s#l zvso>Hgq1h5NC=sJFEnj08xeDAM4KyFm8h%X8x3{&4@C?_4CEAVBoE9P*_~`&*vsYL zFtpoq{sQ?Fv()nli*9l0#a}Lzx`V6M^;WPP5d%CP$y%M&(vaKI(=YMG-$3j8(wy)x zU6~8J=q0TdBM6fb$@>g@tvG;ol!+MPm3aL8B%AC*e#d&yp#oDWA$kN+SJTUZ%0X2w zTOOmifyvjD`P^nZgLDO%C$x=@fMy>H0j)YZGG~i$Wc}Z5q0&_?DH8PAvN)JOc-)qZ zWD8^+;ae^5aBs%Y{*}YP^Df_IDO>)zTM*>UT&vX^f(!+L^A@hplM@!9^jupf&Elk~ z<7<1%r3qFddAi2)0iVmqo(Tit9||IR-QF7JX2*9F_>zV5_jio0<-+Z~=7fr#HEiBm zNa?Qi=I#!9#`>=YJfy>d;lCYR7_$MzyzIhzX>+Zer$y`Hb08 zl=YAqyvx@Id{VVLYW2~@*PcF;X_KK^gguI}!;?gtCK@B&2whH0dOp|8?NuE?%$%=a zgk_FC`n`ExY@ZGvW1ar+6fy?mShh;95T&giu-RUO!^`8va{#0RErI>`!4>TOAChO@ z#0l1UJ-IR6`bc=y*<;6RV9dOZ>Yp>LZx^sbHTp <-9l_WM776t$O5j_1@=!0CVo$V2SFN 7jRR;nSlv2` FSg{kw`l#`s48!Jlv zpYI&pllfN+|E$+Q6w~^ (BFS}Ur9_FQ#$C^?4Bvmvhjlsj>Z4w?tljCMF-sfX3{fs zO?6DO{>wBvhWsCV{r?|c-K5jvDz)lAC=w2JOwg!@%s%1yPZxlvi$<^2{uRjo3u&J^ z hND^DJbI=LOj(e`Anb9AW`D8~KJDTFhG3DHE7ZI>Y)*Y%~k( z7|r8hr}hDZp;4M@i=k|ZAulC4;KA|eD#tw7`a|+X9={Gw_!z0r2FCwd-AH8pdO;|= z_=eLxR!xTYH@rJJz4}c0OldW*FGfx3%!Km<_t8kJqli?cqvQJe4$Uv1WB+GyCo%uA z`2vW9GDFQGaw85RZ-}bVpCpBn_$s3A--AQ4f^p%92UaBS-I%m0L5|t`@#MuUnpPF~ zvpkFkpUx;bb1Di&3T)q1itjoKD$p3E|Bh@L$GvFQKjf<;WJLFe|3?7B*XkPl=sbKE zz4QftK*8u`V@%>d*iY<$2(S{ 5CbKuYen{%OuX$ zf9(0h_`)U*E4Aa&Fsl=?;d6bL3TzEmNwxTa-fWH~HKzxJO?Gdgx!cT1gRmK1)IRr& zO}%Kvs^75DfC*cE#hv|Q^DnF(cu7Bn(Xozh&gZ+ddG~meKK|&Xao9$Hf& &Rl0zGzN~#(k+D2V=ks8N!#JwTA51KHYU&f zI4!uW^f)c5$nv->yyy&=l$k%_mOWj(LMEJVY9~+KxJaatrlH!6D(N>ZAtqO-2@Z-5 zx*~522rIZZ-0`HIge5Jsia2^WSp!B;Nw4qk5B8!31#;{72(ik2-?Mr^d}WG6DCxiy z(1Y49yRx&BEBmZ!jo5JI#@rFJUr@`6c2vKqu&;*)OV2#*W#UD@0w*jGrEyY10f&G< zF1o4L>-kOL MH>sPzE)!l~xXiTkzJ4vc;d5r8zol zixqE1{i!8QKpz0(f%5?oq0@(@>lf$~;d_k-52AmzfLq?Cqtoyh{syjRNI4a|s!@4x zWqNZiUSk``=!MH%hr6Q}Pqaw+dPtnFm2W*VUv+;WtT$Nb#ZCzQL||EoGG@!Dmd0RL z<0VwIrHlr2QKcrC;|Y1PK1-^4rw4mk8R5;75jDIM82H _~KZ7zmxe|zG%2$8rc*DNS2&MbG7XVlf*LODbkoMT0} z ?JGM*U2Aa2f20z!#@W{FDfr?>09^jZFNmG+Cvk?j-KzR-HIIwwGSh0 z?;KqojXmsauMS6D=^jp|Ml7EQ9AEESK3z3G#yQwE1!X%v#}um*EyurRrHnOt$HNYY zJ|8-n2tH8}S#xud0@qnVQ*8Aa57MAte# +&1B|!3R|K} z7=d~hd1jB_*DII$)bn$z)rONmZW6@8ZN}+n0mtLs`%+o@Ut+6U*g|)QqXRF4yGA#n z3v6RX ^`)Ak?MHQbP zi>0Gl>2#Ka9w#w!%yGr?QDyH0y501rVNlS~2ksmRk2X(`@3ykl^c$ZuuHCu$HaAE6 zSRkXz(Dse;W^)Pdxqvv#BQ9nup&O(BN+<9Vb8izZC+d!YYVQJ9NBe9i$&fkw_WbA7 z%Z4aZrurdQ;Q(r(r)=wS`}!E+7&CY#2My(T>swg6TY1DU%5qTu77tO-J2(c?m)lPT zDC{>S2^koRZR%X5(QG6%o5M6?K>}RmHs7PkBB-H-K?jaBc{xh&39zm)0j_N9Dz9Bh zhSAo{DE>`yRugpFBHxkqGfw8y3%b*wfHl3`Mg!ccHVoMoj~gk%jSmLAbpr(VH%Xg@ z?$PTM^Ec&Lf7q>x{Y>tqn%nS4WJCoZ6_ePeOQv!(YF|3+{WefscY5R)*&D!JMfwnB z^i=PF;hVrP+_jc`V$X<@gx0$m$DaZ)@$&L2DJ#pXu_H3b9L~cu-5Gt~dzw7+YuNaW z+F-ttLGer0j!F()MQF}BQj8Rkmu@hP&_du_dnSF~;;|CdSo~v-O`8ErMMb3~ZD>%$ zBPJz9BAvtfX*U9LSVxsUe`dtC`#pH=V(7wU@5b#kiP>mK9~k^QN=(ioZZvkKQ|0Y} z%~VSi>8&*5;>Qgy+hf5iwWIp)a-oK&iEx0Y%8rx2Jqm$J43jM7`!huJwpGb55mm=( z{*%O~m!s+82hj2kMXKMvJ??m#;qbQ-gL;e{EIhVa(-=CWFGS3W(u ;bz-(G#>trondy0R`IyDW=-x+(hY^^mKx-iGi*9dR@m7J| zHTxfVITC@d*;7}Y0mF;R!r$<0ylxeX{)CaEaPs zO8a?F<=Ryfn}BoY*6RE9;qvaea7l)ti}l@)P>ENFIuoYs`KN4`|D#FpZFK}@T>10T zC-I=mQQE`vo8w5eGKDLd=0*=IqjBBgqQJl>ZMhGV84_ucvHHgFwSi;Gngi_8X6$bZ zM1#j+))xDNFHI0GB-A5=b a7M6XtI f92sYL-SrK=WvrTmGo_OWJZ;r%;3RveBykl@p7i0vDbUEZ%$wAEHl8o)&l zyk4wSQo&GBQA7`#ot;g~QV1Fu8ENy5BG0Li{cJ0VcP%W+^+b1y?lX&y8n4{@bL@tW z*e+VQ?ta|)mH+Q?il|{~SQ<<4G13(^ZU63~e4L48Z@}AwIPn(!xJmz{1Adgm1O>RS zsY*@p0ASiCc0hEQYF!BsvSo}CJ0BljA<}jg^-J)b&?jkB$d-lc*+(@Ia^~~C@$KoH zprU=>+$FKCX0UOXzYDoDnfK&*h{MP0mT2O1Eqk&X5Bupu6?1(x9&4#0XD{-oh4Gr) zBZRNFEytjv`$Ow+vnh6mh|OrSpMRvY6T|w*7>)aubdfQow=$x7=LTB*=0`V1q*p20 z#U|?)JUqKV!a1fF`PQ)gpe1IPY(W#t_sYeTq`>(8At^l>kRp&jZx>wsTBvghOxV+@ zuSHHK8}F{S%_~ufG#_s+%;D_lM6?iO$lHs&yb5i9 yn^$o-R~-HW$(QNd6~lC8cG z96m541Pv2Y%-EQmAsIe?^t+7>Lv7|zF8bSVO3wrPWSph(Y_lzFW!b_p9l&g*VEm&r zds-3NtUcQM8uGUpj9rr5XI}DvvP#OMXthW9VN}%g?-gCKHXCg_PCPTt1bTW~ZQEDH z*}f*PlSA@^rcBuC^(Kfm&3K}Ur?abX?6OAFIYN{!Bms;dvi&(_*vg6Fg6!JiQT>Ix zioL^mN|)1SW(YAr _Ue zOnZM|?hk!QL`c+ $bYI#*5kN}^1~Ca+)98noD%a!)&ys)J-1C!N zH>AoeXJSy9ln^YP&d}JeqScs*3%s}FHrpHArz7YX4_SaR8Qvfd8eU9f5N+;{!Pwcj z#nTp57R=*+WiCW9t$k;8^e=M{5FyRML(m6_M@j=_lN~Myn9(;p?CVu-9dkdwE%ZZ9 zD_a;pQa5>G6D=@6mfEknx}xN1$ 9D3q9FYdOD!M9weYwXrwL6c7CS2TjX=>qI=iqiS@024BrzxJoUUK=I!>JvbX^Hpa zxW2$aV%2-3@eeK+g6KkNMd;wtlB}E@5+0|`cNKOv+5C>Y@W_b`E5HbURo%D854Ahv zZ^;ZgNGshOIm#;cep$lrDL%T;m-(LP2;pFspCE(a7d#3lc6)!!l-oP|^)gk#!~5s9 z?_*Yg{)aF=KoXHAnmh-BNu#2L<~N;=n%~CMcf$t3M4O=Kq@S^R#~?bC-tUA}-E@e} zxI#igID*xH!jdunJhofN2~1uCA%&_JeP$jI(zg0g7P_bB`SU#|e*laPlQ}~M1E)G@ zGip7~G{DUHdD-IjrhjTU*n}y7KWv6^eJTMS7}Cd->L3tU!VP^mt(`p`lMYq)B|1UU zLkM|3X~~ewcz`*FuBcxLsNo&ABV=A93)WlmpWrNtv1DHQ%;ohpFwFR6pS#g|xPtt& zTZ}!VcSBV^Id3H<9GYLYbiDM(gBBTq0TF6ig#ZA;FevNgCQUJQHProCODL;^3`-a# zM!z0hZ^p~$ &fzF%2D~dAB#;V_KPDuo9nxi^ogj#Q?md3M(@IvB!W+bamP( z6H$)nu-a*-{ZSs1L03+taWC}OQf)$^dD|mm3_Gvwat$bO-QFuKLdCaLT@ev_rkpv> zTOK=j21q5N@xi&Fk7@HTLtLZ4sDyJZ`;$hY!LFvAu}Y0$TBJu-gN@a zwq4&fNqCxQ_8f@oULn=Sp~z%a1%>6PQKL1xyTsChA;|01;`CZASw0s_)0c-Zlku(B zl=sUkI&EFQQ9^&f5>W);=r{;}0(d5wnhm}Q90{aCQ5I%MQneH+%&%8riPg={Lqb3Z zdOv wjN~qxM{<+6`^fT`LXMgQ}Ct1nL<`sa8|{w z>PLD!=UiRkRJ>Q1zYrTc6Yxc4fisX0&yHn%p$spJ$22n4DJ1euXv)oV82zPz&tY9c zcO_EI!}DsYWxdvP@sX{yLCg~(FsI&Kd^@sq?dREl(pN&Y?euFH+=eqz1y`;)s{g{f zYw=`e1|PTo%Wz%^O >`RaTWfgM;JLh_m=$@-Gu3BHcS`oz<-D-FetbTmB>|>QK2-|3J(Hc| zD%V(!_hAI20^MObhMq47NeGe-pnNtQ3<_x3uQNes&>bk_KXdam{yMekNSwXi7`om9 zy6$R3a&|;Vz6K*O3f|I0OZQBZxxpR;QE*Sz+Zt=V0IkbMlor{Z%nQ}aJ||#OPaE}1 z$%bsSHHiE9ivpZ|l>#4oKBq+&dU@uA=*&8Txg&U4RjvgME{}U*yIJ~lx>R$3ApTzO zEDqoB&6MA+F!g#Ay)7EDYwB3e^9h1k=7h6k^WBvXl8|9vd}k z*GK^uvxU<6l;bn_?EDD~SS=elR8&aO&Bb*LCG*n+aD;>XLvP)7p4w~?GJ}c-5LfZ9 zK%;FyG1E@Ly#tio&*FiUZH!m^>}A5xq^l`7)zvvqe(5?5S_lN7)z0WM){DIeMRb&f zR$emGKW4tfe3!VC+HAoFl^n(T>Ur69D#`-0JI!qo9XF+Q#bUbx;cs rVh3OxO!$DJ1L-Tr+48`^FA)z#hla*dDe14`i8ga1+XHIm&s``{K&K;Y*O0!s-R z)CU$99wc0bv#qT5%j}VGXKD4u>d0zJxdK2(vU-gLg%En(%R8+0rzkN+JEYdCGap}m zM#kW4z*uOB!g- ^2 Ctt-=eK9BOFg `&pW5}?eW+wh~!SI1{qcy!Cp zu|L^~h$Yi9u6n0xlQZWibvdIk?7GHIHL;-H`Ekf&ScY!0xO*_WHfuHY2ePN?W^PA_ zd!gv~npY@7C>eJVb$HPX83nAYQmK=wKD)+BQf+3WbNlr PFID45 zcKj(JNrR}5Gi8~Z`m;ON56T{VX26C2xZ^LyiR8-85DlL^98^CB`$VwxuXbO8g-rYn zONG3HHdZHVEaPFt9lbsq)KUNf0#`4c`d;1r%+BiPzdHnxkVuEWKfZQoLN@SX&=U%v zOm42SoT|sLaRSG-A`ToH*s%=ioATIu)nu}lC1nP0{k#mjiZB@9{M`d_?$(Ib6)ldE zjeiI*b#gpZ=9*zLfQ=+2;X#OSB#8G6WbL&cu&Omgj_4QQ3}2$H3?yS8 CyFCbS$?Qt*)JjnEjX>) zKt`_x3||P9p17+xBZ?OW0JybQS`DzO5I^pNvliv=19tg3H&NySle{IvS?ZgYh0F{6 z0fuBFOB3OrwpWw=`7~FMQNCNOmPw;PA{lH2CI*FLB|#L@;w(5+7jn&_QL|Cay8Pn8 z+V=iIb4|;depz?TQj72c!& %Af2Tx&*M~NS4M_hT~@nIV*7t3N_jF zYY(64VaHX*T~?}l)~M~~<9jCtz-qN7sSQ!Ojq9+sX;@ILfesxmHzBXBjYpNxS4j$Z zSx`_gzEi`msXDM1^t4mm7PZ5EJ#?=O m_=ozJ^{T*)fqGch%8nncb>jAcvs^i}=T z77^PyEo&-I@oxbG@P~uB4jW0oP{GaaMX@$CMC`SUU~^ p7s|R~N zxzIoCc6Py44@VHPEH_u<>MY%GrX9cHAHV9vF7 $DsQfN($3A Z`Y}O}4dHC@9JE z6smD4Fk;kbb0B#l>cn4Sgzi}>y2{I@1Bh|e$PCh=0_keS_IcV?DKhw6>Y|S336=px z`y^5hN=#Pa&IhtqD-BsM0C}RjlurI+a~igs!otM;eKI;scrmi$NT~RoCE-DTk?1AY z`B$HcN7}AQl3{XeU+%z@CFX$KYkHNV-`(dSe!p;LnVp$LD7xM3uso)}7KFf@K#7?# zn44%+3*Z4a%1ME;8mBlfEg0hOf(9>6_@(B7&~0h_n^0BiA`(hmo0)-!_D&j8TZ@qn zE^mwKF4Bz2c3?@XKc0KyCMsem4H%5Y 6U`NG91k z(qrt<*-$#@5c>-djS;#MfTESpJ cl@R&PA0Vi0YO{+`@aB23#jTeG73Al zQ6Q`@E%~}?S4*XDRzMCOw%3455(I7aeOQ;gE*l8vvCDI$CV4gqGSC#Mve-*XWF@j z>_JMPRy0DI+B0sIXf*hxy>5hrYKDwIvud0v(yqGz6#!-lVsdWpx)wtisjbH3b^hc# zHh^$)>?2r&dV0ewzu7u5av$TCN#l?yB^rnE%X|Qks|-i#QkB0|t@OO|H^{U*3h}oO z@(E#wHF*fXbEdG)7EbSX*x)hC5dk)XUvJc_m4lC Mxx6IeoAFXmKK-)Dwegh1jiH5g#8{MiSb w&30P^{iD|3qTtVynPMuLq>U zlD_g4vt(q9kYP#?>YSlB{}ap<_~(tN3<`oUkFRl&hh)$)^Z;?U7v#sC`vw;cT@Br# zTT@@}A5+inDMdJ*1QSnKe}lls{S|55Cr-^mK%-QnFY+ul67fEAEsg)Uwt}}NB#}{2 zPVweD!_%(6ubhZH8itt=HHL;|+;Y?ZYT_!xqT0GJA)qwUIU+4^>248e5KvkeM7nE; zks%aNq#0@$x}>B;1}PP!ain1YX@(f-hJkPJ{`l^n^PFF2t+mhIYwfl7`@URuhD)J1 z*9t{ySrQIM=ZJCdPEj9I4j-LlDN#NU6zu0`Qcl>M%cDl@>R>= i1Tn6aTH5+fm@bPuNR_8nKQt?CN*m8^zpf`^QhaINgq}U?lLxt5=~}sQ36yWd zWnU6SXXxEpXhdIU6fWHvW1rR49kugU`U>6f!}-S$j>6{E*$t6e!Zzzrm=(tO)!BoZ zuP@}fCu^8 $HD~Xu~mVDqm*X+{j$E^@zy_OFsk=q$x;q-%0~i zLx@Htv%;3c@<|A*ASY+$Su~`3SJ_C>dVkVozOaaBuEwemHvxvqKbh#ta}2F?*dYVs z(3yOeMKfl`>RUx%dU9^^kFRR#!;)kQpQ~4wf}56f27qQ~ArsY>29RMUsBu*Yn3?ux zTP96O>RyOtu-6aU4?-gLV~C9&M2N&c?$CQUQqrUAd+$PU3lV;I?&R??aD6L*f{xx0 zFCXV9#Sw|KqA^*x-J7YVrbsc`f4a7{?#qqqZ=5pMp*bolyLS#mJ@*-F%{|Cj;F^%( zspY(y7lfU 0TRN0!Nf@ksIc2V9JtL~&}$?g9T$BF)SOF# zjEOA|9FXc}wJglk^_W(sCHWlseen#O)agOydw0pYR)Ffg4CQJrkBl6jhbZAjM@e>D z>?beR3*6#96#L6tTvz{+kQw<64>zU7kG==5ti-?lBNIn0Xmd$;aSTnh5+yC6^QewT zkh}r&XJ>EP2c#O0>|Q9{dJS=xCczWdkFj3`Y2F2C8h;Od?n3C|`aySUa>N|Dz!^1X z^Uei!+Umj0)52sSAC+8UVt&0?`7}Kv^y6RF +05DqTG*&?Qa`K0sTZXqxX^E=A=9lo?=P zq78lDFc)t0JJ!vV(x#g`Gv)m#wfh9-CXPZ-XU^lSV-pxTB4Jt_%hPYK)0&>YVTMf! zH#PVl R(RHZI28Wb`^Hzxl^ z?*3fe)PS>y&-!bEhg)JW&fV1APfhjbbLib*l$I`XMb~V0Fg#*<&c*>3f9cQG*rQ6@ zlIrR^EpytQYIkUVVvS{xPn8fi?9@Yc+z!OJqmL_a{AhmDNR@f@=+nXeNYB+fVO*8R zdAnrB4&%cy~6iivhf~@ZKmy4Vdg@n(E5A}IvopD4X|&gn#1M4Idk2t z)7FqXALA1`p!HA77N_SmsstgtN3;=#MHyz9ttb}w5t#3Lt)*Ml@C=NE&fV%uMXYUu zv(jCN;B=u!oSq#D+n~udYrh}#bO?ju*TMHpye` tNI!4-TBn>Wf}+ zDM;6>9Fd@n>8gQ9yKTetTFAlUV`z=tQOb^l1g!R#RF(qdgaDAC+0QUP_|$C01+7ds z4G6SqdYknRo`SkaM+T#cd1vl^JmwTAKvrYmo=UysURZeDnFw8Sr%He7&*qKMkn_;L zQTGX{vL#B}v#~ht@!UCiyT}71-u>d}J&ZV&+`)gPmYR>0UHqH{p>q6?v+z#&nHS&N z1Qon|+S{sIsGa>(1(9Wyoz}Q($U2Smr*!YW_$D!ssv*HZ#2|JqRS5n$L#i6zkou322pQ^(&O zZ^8REXhAuHv2Z!Xt@fNBCx$&lvT)Nll#2LF`I85}1BisC>~G2#O9qu7u_KinwJ*Nn zi!C#V-7Au_ZqYk}QL+jj>=lhuMkIOJ%=r%WKo);%r^5L-ygw-Sb2=_u^V(!#5%;3Q zb2kC3yBK}-^RYU#*zwXCJT*I(=yoIK#b|a|QK3=H%HH6Y%?Gi>>p@nO^?_vsg@3$L zr0kR%N)x#6u%k})_P_(DK^-+t9u161wy-#SrU))~+hanQr}bcCL-*eF{!maVav3($ z-WyRuW)X<++XPdsc3d;^h5}bvuMyEkdm8Gc`{RC;^`}c=zogyoPZv~QZVoF!=YsK@ z2R`qP6HT{<&5Kyrv+FMc0ftBb5|HwqNim4UuXJj9f0=J8MLPQ72|nc7R C=X2X`;R?@&d^)|h zwKDg)mO#|x%wuEY%?+0Ym$8vq)urBvBD9GP1_y306xnRT0o^km2HU lSz6k{UG34oMSkVvn|ps>|B_2tA(@= zHQijE1Fae?f+*FZp()x@GpLk0Jag+z62U!(1YW0wC%ojYOS^|rt$V*OFsDK6TQ=ah zU@msxEoT`uKZk`{JWFv %x$kHPHPJ{gci!uZ(rqZFP*fl;jgGW+c zPDuyU4!G+M5_fjzO`yefKh)Tq*eU_$_~QFCqh&49qbO96Wj3fHxUCv< 1jj1#&Ej_>tri5>BdI!i&NNzroC0U3o(%v=58!OpHqjQcxr#&go*eTY zHMDmDCmF=+^^dWQFlb6$F|%_2{6(CFAAZ%#1i{BM?MXQkMl1AgZz$UzYAkf{_xTz> z8}0nve@oi^Q{hbgca=Mt5KGtWI_{P_cBvSX&h)V(_>-6)k)xBbo Wp5t)M~O%BHmVzSZp6Gbn@`nTyylLy)QVfLEmp_en`UcN{_Fth*J^Vv{JSruqv z0ku<;H?g@xWI0{TmYb}#Ev@z}VW~?vjlqgN?6FWm;`H F5mgW5yPidq76?Q= zRM#N9QAQ{PBz3IWSILf2?oKq&Uv35X^;SQhHhO8U1$wAZJ|&4q(W1`xCiUg&SC^=8 zDS_GLGP$}%E-geZPhWz^Db?9T=BY{6*fe-v+nrsMsj>{;i~1Lv>~p@~Nc73st{e#s zz*ipb32%3N)$W*|o&g9>!!j>3yPNJ$eGiyzUw`#j;reF o~=sU<{F|J*&oCplknPbzx$i5-^L-S^bb;$%l>y@20IH^r(P-vuq5ZP zm&C+9L=NcfAgO 71(XU$6=vI(R=E(aQh@3m2c1Ab)=JPPd=}}Gdn51#kMVCXon;ls*Q!~oy%@UB z5e>lz3~xnl&G*F1a_+8a0Tx`N>p&3O%gg2r 6EoGN~w7NAZtZ8O}x;DXjjXZJ~w zSR@#6Qz`tiA)0n!x87V*j4QxQ3e}>%lCQrU%>V}{v!oov&v?+H?kM5e!=j5U@%1i3 zo%e1`B^h(wgH_d4=5+uQLZOWny7;cpNI%JE2adVs8QmGzf9}R&fB@-i!0!}fx=N^O zS`(b7<`l6&5-2J~+Y29**@i{#6lF|t)JiOtc|F-XMj~EbK6-3@s?Tx0NA7yv3VqJW zB)`L_*m!EQM%h4Eu6MeBg5V7$3$p<;MGvkv#{>4dh8T^Wh`*Mb2fwwN6%2mq@&0m} zyURi&Ku4CA;v?OjQTlzj8cWF&ShO*V&L|FtqTi5jalSPa>)2RmA#7flC?yEfP 9poFiesA5nOk;A zdHaieB8-s(_yZqs6(Z94@q)&d-=K$JJ!WDTm5TJ^R-$MV&Yo@xjoD+C=RiUpm`aI- zl*UZvg`{#-2Ye8lx4SCgDdrbsz}{{#RqnocR#1diMd>2;6N1Nt&M302?wz3We9nF$ zeA}Yb73SCeIEeW4<``D6dmF56df5y{I5E^+X_fg`X88sCj2mW6ZAc35K(fi&8({L+ zx3{hK`DOAl-e-qQs02{SVE1V+4ao2l zpY~uImeVZ(@HU4hcF)w(#QoN*e?DI1sqB4iO-A6)w^LcXI_aqQ&Zf;~C|u}|QpEoH zv7(S4Jg=bm>fn!}MQX&sqsc?Mhj9GDPM`vZCKy1wrVG=YlOy!EOiV$@L30SS?(pBV z1_9UyA6hrhy^^8uk>zt`FV=y)GwhxqbM;u5Wqccud>c{z?priFrsiN_Fk2N=K^z@3 zfpUde5oVG??eUo9)U`jmQ9Cbq4=JMvN#83)LH(WGY9$c-R4t{;UQ<2Eox*SMO#G7I z7QJ8n(ZgZ)*D2U85AXf7vu9fPwfEFxHHq(|^|TK{TpIw_H}+qshj3rQzYmjpgEoUG zrHss)S-r{vr X^LS(m!}&7OF>v|k&z_tYgyfO>&&DRD?uybe zXv%M>lX?euHc>ALjc5Ra52Gan^W!!@Q93Z{zSC00DfkqstedGh7}(I5IN3xukZffH zqpSojym?4Y{wV+3Gk|jl2NJN)=alUIIS6K(%?WM_0rpYHUuZkLyl^1K-xfXSjR6`3 z4BOvm0v$S}U~z2pM*!;Q(#t{LR PWe1nH~Y|cJOksRR->#D#1ci ^o$ From 99a27948276acc0a5555e3a7a6673959d6f3c930 Mon Sep 17 00:00:00 2001 From: vlobzakov <39057925+vlobzakov@users.noreply.github.com> Date: Fri, 27 Aug 2021 16:03:35 +0300 Subject: [PATCH 4/6] JE-54614 New add-on picture added --- theme/readthedocs/img/new-addon.png | Bin 0 -> 45715 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 theme/readthedocs/img/new-addon.png diff --git a/theme/readthedocs/img/new-addon.png b/theme/readthedocs/img/new-addon.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb7f3dfa0c4df58f001f857cd92e9111cdf14af GIT binary patch literal 45715 zcmagFV{~Lsv_70nG_kFTZQHhO+vZH{$wVF7wry*Yjx(`szxnCj`{BRVyL$EMTIW<( z?b>JWr?x6WQC v2~m)bzdkvg z#R;ExpdBT(TtGlzQUCgaf}~|&ecps}m68*K+WU$N2LZbg>0ki@@(n~vR7llx<#gS{ zH)-$f;|l0E ty%}PVTvjx=P>3g zQ81G5Uzf_l1if$nwzpNWj{Rpk?3Z!>e)M^f=U1dAFFu9;pWfsm`XT@PQCKnu?Z0l{ zmH!(LT>8JRD3t$o{0g1;Uq@0!n17%D6r}ohR^cy&|Bm>7ItKs02Kv7 1#D_=HGL?bBX 8ADDa=^$PHOv!#G DK)Ir6Qe*}Q5QmY9fu5q!PpdDPkFUP37yc|EQSU#rgl+qvH z+yr*Im)X)~Ti)0(`1k^Uq{cBmKcw$Xp#MW?h6|r* zvJ>U>8s9KoF^Ri*{^6S^&O2pL3@;8*MpF)gI(k;7`8?!W)LHuzPKBrH@#rktl!YbP z{0CK1x%lvcJxi<;sxp&PV6{a>QoZ`W67c=HLM1Wn;|BBk+T`O;5Vpf*uY92I{_B0p ztJToKtKB_)kEpONX)j$ilZ5~PN^f-G3Pi8<_?qC)^1uYcP5P!+?0ActEZT0s=zLt~ z@LC~_*Ur&q?KeV{usEX{7{&Qmd_visSzx!}{>eqHqW}`VOb2w+^lS1PKr)r{7kFT- zNo!jew7c*4u#f3T`9G4i{c6}kne8S-;8lj2{{@s#5L7G)L6s%A> yJ82G^20L7|3chNQ{ zH W7|%%k|HQGD_<>#1EeeM`Gk4_M1(whdUXVB`hNQu`Yj@D28_2H z&{~3q@6BcNuP&lc2B6K>J7N?1YYbgRa9p>WesjU72ZAdqN(Q`G8-M6xV#kzhoiV1y z{#1kPl>L;=1A&?nyl+`o0 ey<6910<_D-Lj-$VeC1op)(Dk+#WgZIt z<~1h^8bs$*V4lj9Cc3sH2^LIX(dc`!pjR#F*f$x0r_k334rH*?4|8@Jr5P}88CryK zradr$%ica&@(o}3>W-7*;kka!XWc M_+WZ zHptHOf3%??*QCEdd^M!2?aDJ!UMTLn;S2+h?w7q%7q}T@Ka-PCd&qL4gH2H1<%44# zxR5`|PqY&q5$(U+>m2QIyrYMys%nn+vRNi?174q>aRKgBfhiMe7nkW)gf793+d4^< z jN4}%3Io29DVMos2uS1ktXuenjR$~<7YrH2>~j37;F&24|Fb7 zH7LfGUo|BlpuUC6o^R$8@l04YVU5 >{6YG~2lWVCg{4}+RajFf!D8axX0#@X zl;NechGU %w=E-0)0WZg&^ z51)0O<~MzAw%-^S1s-IZw;3-s{J9*`O= b{WCVz z2a$=6BkLp4%c-vIm56%=Q`;}mHx7hQbo8!W)QRR*UT|6&cn+a)fqXC`X3&<*U3bFw z`2ZGHO>g_-ySGcYAaBxnze73Mmm#_ k=uPOoI6BUJBQi1+O!`>N-6 z1RMfOR!Vzw-V0^NY-YN@e5|E{WFv|)9r&q|T(VDoLg^`Ubj||V!6C$XhG;>g91$xb z oyU6iiCJ=--RtHB%;uu+5fyTM)Y!4V7;VL$=*% zWb+D)P?QW(tm#GnF2oAoU^t0~udUdR7C(OA(KXV{k1m!XKb%`V?_fx43ylJk8czF> z?34BW!#6*6CX^9!3LyDmO0sDWpKFC=J=x^$wjIi3Wb1cE@BfhmrFRJH4|qn%F4Uf0 zZMQruTelpZ_*_M$Dn-HKhyHpO;eF>O$MN9rr!wpJ2lY`YZziZQ8uE379*<4m(9MI= zfHidF{=*24I+J UVc*A|1q1z=U^?_*7_2fzNPub30HoIf$c*=h>RW+DY6l@DveV*j%zvd7(?7 zDd+^}bpugE3|YE| dq%>+T5}GCek5Jw_Z& ztasM4DJ_3oj=ERy=iD4Km-XM&=aF~V`Nfpmzl4*3#D0IhuMc3p{==MX4q(dqy@uHf z>0$tGT@7bDV^_jL(5Wt~!D3+*)fq`=H*P367`EwnTVF%JyYHKI@mo *cVwUha<0=G7 w~X {*nvm)$toM>(#Kc-e=W{DA Sq3S-%Y%~IBH|Gn*pCo5+_Up#v}jz=PQyzcVRwtdjCKfR)%C!64` zq{y5`Y3UmktTu8mt{H7tY_c&2aOlKwwj4j_HmtT};Q2TZwD=(*bR2jXmQZpV0eF?L z&@rn}W2viQlgI`kiqXkIfAk{dV%YyI%Vpz1Ym%o#BSwQ6MMnMm-O*V{vyIGkzs9(2 z?Rf6bZj|(NRlkoLUwnP%-4WTJdc>S|)$ZMPWhkm&=hVY-_;?4KQ^_)2d_~l{JYQex z${Ihv;ZexLC@}e)yELF^t<#xVpSGGy@Fc?-I`Vx&PA$XlK}XdCZ|1P}@#76{JXa39 zZzcX|<|TMSqB@f`aerpZApw+ A>jUV# zLYh}ZUmyz!mUYrRqn0j#QLy5wLWls+IFC?q 86Cu3 zo>yMm*#U`|8|g7YFm(@Af0`9K$E$K6-a;Chan}-*KRu`e5*a+FMHuHOYI$QamZ~LA zN-ojVYPzvTw@wQmo#Ar@L x4 zpy@Pl`TFs1#QqIa(uii)Q6f6J=3EU&E#o` m@GFaObVz|e5mO~J|58iLaz)Bu`C=ZL zyHEF1Kt9<&8qbEpMgfbD{_F>z=13O$%_uzK@E`t&l3v|=+SEz?dCQ^uQp2-8w#0?X zl|66q;d7(WF+Nsot5SDTvjNMtp_N%E8p@?sKqF86C9=dr1c~7R0WnlGc`xXK7p`Wb zE4*3l4pzGM*op(kZ=lfye@MKNj%M982)`iVrgQ2ZHeXBGJZLiQCRk>bk*zNVPf+LK zCK*g8L&_V?em&pI(pJsck;jdtra+LM*szU<$#ac993E3}Fe8t*0aYsxX1%oqhEUIj z6>-puN3U6kp%?wp31(d zKrUcR8`QQ6y<4y&gCm+U0_k>p zE_*nV`^+7yGlV1FpdtokSr+A9nlf8!iBZ3qHuZW(q+H#Rc5gj@fruA>#R*4Y@6mq% zG@Ec6IGEg>2WD>vEuYjPbj8aUgEkV143jFgTz)+MxjUM8$xXcP4?{g$o`^)Z0+->a zzs*OKEVosxUWtlFg+kVSgCy*@lSsxSV|tE6Zb>T`T}+H3-W$U`Qf3O9-tdl$6UY!z zYfi_`#DP47jtj5yt74m8- u9{5oUDJS+h?RM%{T)e2f)yPiRn $vZPFD&(l%HI8ajk2 M53+#K{819eJ)detI36tUOD|_{Y#htBoV!{G57{i)*2ZD!Y!l zS+3ZC3A<^noek)0CQp7ITbqaSnZ58l>$l_rPd=^mCS=E^{(@7J@kQY;*Z%*6w+5tI zN4U+ caWx`a4Qp)$X7>V^n} zFNOB(jeeR~u^cu&oT$m>9q(z|@SzLmm==^XFhEx$qJhl(0+ mAn9YsNw69*IZ(l&{fatTxV6NdlI6Io`8bi{uTp(=5MYNze zuU-!w2aKAU@x-}E9%rL8bvDfXl06kI59VtAMITY~6hOs0 qg(>9Y zGY}VEkQQO7O+PQ|LZWi?rvzR;em$Jc;+MhK!+goZIS63w1G}|dJ3KYDn&;isQeR%g zAzSh;Bcoy92vKyZC-$t-6{qdbW)HBZGzgJ(NVrh)P0h!8cctxPiLjb9GV5X;fcNm- z04OK-T&W82am3gH)$(Y3B=|3$&;@=Z@t5=37R2J6T)gVx5R!^}eX?ZLwgF%zK*T*a zerXEd2FwC2^ViNU&c7j8d3N?udP^_h EC&Gt z>!j~40L1D+*(>lIO+S73KD8L(Z}RN&I1iSX#HJ|}(BaM#mrSEMoGg;Ud>WhmOB YP9Aljwc3^KQ#hY}PkXxV&7`iA4ecrh9Uo3!xkkOI zltfk6xl`NImlA6TD;I&?uaLh1M$vdmeH>8rBQ~|VJ}W@NJYIJH+Q5i}3lryR<{#>q zZ9iIRb# DJFqi1ev459to(*2>rmz0|R$1<2tL zof(h+=tM)>7t2f)dZAfdhF1$*+TyZ-C?;wc62Y9rF=ludQ%|{{m*~p+rN*!xi??&B zKFs$;T?O4AL{M=FosEKA1kJdE1mBl0isl^pcH#PSZno&?1?wpct1_L~6#c=gQDP?b z9|WnA$n0wd7WnsvbuvU|(!v)iY;xf&vwW#})lZGwf7>@Z*#PByFRvavRVla?pg~<& z&7+XXRE5-(AVM!WRYiD%?Ax(1x`*0ccN$ltid(+oT>)Z1U(LM0Ww$h6_f)CmRrRn5 zvXS!#zfb7|Yq%ISQ$LnVU!IWEEKO48N|%k7&6ayJYC*T2G!-M?qHUG_HgYTR9HW`# z%400`zQp)k-!KkxY*z9Z1Wp4yYd5Zf7aL?4s)!nsS|n ?&(l?bcS@a9O%ngxn~ -6xyAU9DJy_SSmb4k#s4v4&SdbFqoPCs+z>jAn}X zGajetVUm6O_LUXkD1hhWW;o;=ViGr6szOTI@AM*8YM1tUtr*!JQFc73?0;kFSE95J zQ98avIV%F+y` `PivlEsLjh;_Y6zCu97s6m{*vzWas|z6o`U3?dC+5 zZ710CxhDm(_RHjHk0W4G6*I}Xn*Nc-aCVZLxPQkF{{P9A{BK$X>3`EM|2JFm|H#i^ zGK#DtrUB`EME;#*U=&Ka+x%zeKP(GI%3JuK__^@^$;|xkT>nedwlFEnRR)c I$ zu+KWPJ36-{0ax?@N% {LskN8+*wH6SkhJr zUUJKwGj>8v6??!C56eM~^B$t@W=(LC%jVuBR9L(xat7|Y3KaAEN;{Uvq}{bJvOpPQ z>I@S^)PmDcKWSiD8q+G?fXAtnr)mct$X|>8vNu>jqH>-k*}(Ke%0q#ukdC7gVzvP( z4f5wydIBWl)5TG7_j;GWRwmFspTe$VeZTJ>p5f|UMx^w8+l(NMH>*}-b4uldNA@85 zBk3XgL=V@RLALW5e$cqK_BDO^bg3iF3AjejfO(aVv|fek-M@^V@oDY_#UDP(JA-^u z5Dptn@M!1h%A2bwc`u&e=q^yr|CNyMnyc!CeBOS?Hkkl=kv`h=_j(+2pX=BD9G}$t z89H4a+AP5#`Z?(z6#DjOgNZ)R%DfLM$>tJ{PjB-r#I}U#EM=gM_kf;Gfq jt_-Y9tWo{_Rn#v%w4-FJC1y~bP0k9Pyz3cbkT>WJ=pm2my#G~4z^zH z`7eWg@gfCDk06o+52yskI-ib^qyN=_LhH-%R>5(-R(E%}VM1m;^Xsfds_rc$hx|u! z#TZBux*6U^*U!5bIV@?!dNT)5eGmx`@^u#m#C4`58-|PT3x0um5@oo*u?t#m)@1_< zco60(i*BopCu3jp-MAs0FRICrGP^<=oEhD^GTI5dQeNy+N0$6+C9(tF_!;un>Ef;i z7&W_}kwOVjTONAbTMv>WblEu3ZAL-e_tdhlt!58?#RrRtn=~yswh(hBHYGTFK#NG| zi9C0mUAG}0Fo+S6=dySQU1g|NTM@yyAdWlzg<169KDCoLNvTc!ufSM42cQFR=d3{}(>cXc$80 KqGqv_nCm#@8ud z!OK#6Qoxb%sLDo4_l`Cp+dwu%ekTZiu;acw%Qf~#-SOS)1xJ1A(-C*1E6j?A&~vqS zvQ&^NhF^PPYWc<9`+(kruMfEnTq&GY%Q{pMO6Rebz2`ek e!YVhKX4MB(5w~viB zP*!*sRRWf(H}spbXhUAX>yi)W(Qr>qk3#_duE~u-_Rd|F!_`2Tj2Ed5VtTW^#ocuw zt#(Ib!wOd*io+wc3LdPN<(z}2t{u1?0nh2?^%EG2ND=OTwEzi^FWYf8C$wfmiD3Y> zioBLct^0`&CaZ!VFM|}YE7`U-hNp4=F%N$zR6>C8^-v1-)%Y|O`=Q~zctbVj<$zvi z>O&awj4Y|O47SH`w+?AX#4_vzlEkm;a2EYV~Rg4k$oeJk@c@6OiK z854Q0g5OP}I|TJT!lRsNsgvN5^^EQIb%I4N$3NUuA-fq5QcayW1byq};`RElIGj*V z>|jX6YzrNomdlZ8083bjy*Ed1MxMc*Jwg) oYWGOm zI-N_hWdF^Z52mxUU7ydf7(C?60Z`Scms{|1zaE?Hf7E!0*X1$??+=6DiajX4KD~iT zz3ba~y*{z^zCZiEtTQ<>oMqyu=No$`e4t-Y@)OaM*`v0#?|Uz}YPH!ub4<5B8_ogn z#*rf0T)Epf`OS#MUxix4oBPWAZl`$KL!=ab2RbtBkU-C=F4sK!VoknkFc$Q(^8Hug z#>a5E%X@#zAkEWxSfOvdH&qxKNn65U_Qiq&Wz{96HTPZPiarL!S7ew_#}o`FPP>#2 z$G@2y3_eC!4{i}I5%$!|OEm&!09e-dq|WzlcX` b*|JQUY}l%VB2( L>PhoMqB#m7dm5G;_YO=DT|n9oG{EkQtx LL6D#RHC 1ywNkC z!j<#0ZkEq3#D3-gKAfvJSY%$H@;pmKQ4WZIcS_z5-MM@FBo9=l72O~TWzH>VXF4Z} z&MLCqLca}+GW~!WxfK)}29oN&!72X)&Lum~dNbmic`Der;>|X#0sLhzCH!(7hqQ^q z_ Em zBPKd2?08;~;JxWdp?y9J9a^;%3Y(%jUF(S4NQoXehZ8C02t?_-xKYwg9PZM?-OChh zh-hP6-pVg##Ka@Dc%4?1iA8GlM>x0dA8kFp!T?q-rY^18GxD|F=3e(S&D)Q=m~@*S zeOG JzUY+4s8y_xy}|4F(P_b^ng!3H%aWCts4v^LKbD}+!NEY7>5s7Leon;0@$qAc zkh~tEy4c;BPXoNv4{CwezLwGUH#mm>lhhk?b#q%+1(I+EJmx?FFG)X}IU=;9n{9Yd zE4M4CU=SEt@%1fUbekF6ERV&_`NQ(5famUEw;SR0`xGVl8Z(}S-4S5i-q=@oa(b#4 z=;Wmgiko5qbT|_oPv@TS*epc$8^o8DE=i@O*jqHXnWA}M4E{zC2koNkb4t$g9L~RX zH(}c5*<)LlN xF&!Wk3577I_Wb*u5o_hoD^xUt5HtRYovd<@HR zoS}u?h$7oRQ_UxjU_ZT;CnELoE5|Kd^|F2+`m6nU^XpC95+q->1li^rJ&iy|whVCv z7M&3Qj%chCC+oOOJwz%H*`%6;Jr|XysiL5+1C9=j6bnXK70|ztiMy*O+K}3oB_-m9 z9a^UB>d)Zq!1md=?OMF^#U@tx(2v_`JI`?u1#Q095zC`Wk 50T z4KpT?e90TspJ+l_7?%c)BH#LP#tKc7GXJ^qY?F`uR+e&CL72a4-&LywSZnd3L414F zko|Zow_D`#syi0m3mGtK&Qu0~heyQ_5fMSxx1L?pA6q)~&29uA&vEce_^f`t@HQv! zkUrxHmniO>$V7aN{LP=je6^y3OLs9>$ *$7uN4>E1K&iV(A6_LpoJJht)>@22ng5ri1BDyF6DI=s#zaIG=2g#r^IFfr z%zs=R81`1q0=QiS@*4d(6orC%zhil? 2dgTwc9wzm40$>j6ED=E)>hZaU@l%fMGD)R=c!pu@-OWaFjgV@s@PTDy0=<;q*G zMOGi7B5hP;x@(wV@JHPi9f1#5JkTJuAJT(M-vVuFLagJmd?9gmZpI*{F`I$-qv}Oc z|Bm;@`L5Bx?~wDcyV#TZ3ErR216lzsaVOecvF4PGKu2BCN1WB&a4MY^>xP0~&kYI! zLSI%MY9sUF>bF2s=I5sPLn!{_b;8*Fbb*^Whg48 zr%Ne;ba`$x+54nr>L0#o<%flul-CL~?^vcZ>6ddn|>z?JTd>DoM`}{|-qW6Wd zB $td)FrI_u+{fN0rhM-*5kUI~B$v9KPJCkc+;RENh<4CBT zM^_^JX0nX}@Lac(8w1c{gzCHBUS|MWz#-vq29Nh(_wYVp1RW;FO}-Vpd-EgTx 0>{cfCQJjD>Vc;C5^5x>JMYWH7FLWLSn0mU&drZr_CO0v z-+@Ch4yVD7GjeJsWECrNEduoX(QskRtmkLWaW;moNNU$bN4V#2-^Wmdha6Sa5W%6n z$7Xd_;?cmKv|3fE5#S*4)4K7xkBPY!g@x4F(U%lo?Qhvxyt7ktwg)jAejQ$`Xd>`C zSS6f6R>Zr;FsY=aiW!aQuj+sGlDUMUD^Yi``-y;3LQPbFD8j~u+QljWsz4^xnRHly zrRzC5J(0(2*=tz0DDRz*e64|WnHF)3BBQAV`4ZJ**pv@s)3B&CMDHr2W(@*cFt)Ct zm7Gx#62ue&-qZ7XVVkO9GXf?L6Onq$jDNtdmOnwOY8cj#&G0Wqa|i@YNb^C~L+H^c z#FcvRMF3SorVos6+RS#%#{F&wQfFVDJV2MaYzWQHuM>1Q3UTR+gI*anh#fS>Sr8uZ zy Q%YE`&VI% zX{W^ P!924hk+fXFho<4>=(Hm&SQQcv{?_x{?!N3tZfNJm&%HRRg|=4aLyqRwEFl& zL49@GNCA@bN(74Xb~};K`Tf7Ijq_0xYG=W)?9`>BV1#OO)6yztUY!SnwGHA3f-1Kr zsqPLZjgZPnNuU_pju8`$U2{Uen3|>p<=#7qfNLv~SSo_RmeEV ){nEtc$@(vU#PU_r8uIY&~8fU=?70WN4=#i7cS@@d Mh9Q`m6H&&0g-;VXNEYu>Le65U@Z zjKRwx1tfFagGH2FEfCysg^K-X _KGrrLEW147t!4b2s}lFJ&m7ylmwj0D#uVe)y7o&$F&>F zrbCQTiQquxFT6~hBkcrqKD<*^uXZa;&u@0q^PLTcI++%xf2I(_Sa?>`!;kIA$~@+k zm?B6r(Cn)RG%#%28JHIRruTNL9d0%KH;~r~2LTfp#>S{P@J^G{Jj6!IU$1r$5-E|8 zvBz7anzQ2-mzCz3_;QTZ(7FbvAFY!}mO<}%L@MAzA3Kx-?(egJQ9wPG?2@@PK1%t9 z*WedrpyANMjzATwui$KM#+bXpP7V#XAI(^UQ6a?(-pVT%tdl(!zW9%>Z$u6ylg)2S zBMzLJXmW)Lg&OT7zIA3_yNGcSgVRFud$svDlL~e=nB(YD hlmW_TlJ z9?zLXu`Py;;(tuqp`iJh3Ec (5Z;)?nrqnN3LhyG)Ep zH{9}#lu&vDQK<=Lo9oHKVXd4^O1 xnN}QDyMHsS7TBM`$!DR>C?G;XCz9> zA*yiaJQ}6P6b@H`)}gK?G3L4*%w>m9>RdJZ<<)|p*#w+edNp?qxJMmI%8fQ3*ZJyP zm@H(k&KZwChf6muCrNg7S)^hgRZTlG)NPKsuo_xT>$s*r+%F>yePJ!+u!zht<3IGp zOxKthB*6cT5DstV0-!(EC1?P`pZesLE +I0A4fZ^PgDmZ93mEu% zZ@qT)Mu80qdHRbo$=wE)EtACXJ|_?0>xDJfd0VB^e5L?NsYwcX90yzih`xebg8oFC z4c*7hg9ar%H@9`}MGrEm`{A6epA6 ;TTpJvgIOROs62DYq@F+95=6uY7w zc>GmXRet_$+@?va=tB3Y10x7~*T|5n#Kso+g8jk6YV$*n4{nm_ZpW7hfi*}zoO3vb zw;3P{I{Ah7ZQN%)SWN0g*8oFy=9EKrx_G;LZOoV-^Nq{ &VVmwdL?TO&Q5+Mym}aN z!+zg6We+ur5}jMkDFO*0G)p`Ir8g>6{n#N$n1B*crQl*bmmqwInG(dLBbK? Eyn%Xryk s9dM{Vt!~YjkzUPsCmur3%tqkd zex6jpzUn_% 575e!gp%d zqBIu+*pQj2%Yv@&Cf*;z4|Ep7o6e!`<>r(AunO-CT}>2Cdw;B$vz}*4JvJWk_1YfH zd;W}vN63`~`1br!vekZho8_LsfP`zSm~Bg6q_@~vxo}Eh^NaiX=vSfj4lhEVF6gBN z{aGIPi$jNK;0c|wpTq>) C6b$(@|;Aet;TAxOn@lbHzSH&C1?1=0S ztTIwr7$SPj*3G?NFM2!r3_5u+u^g^{Mz(FGJyM#q^pf~d4bIP}O?EIA1Tc;$4{G~8 z=GZjFF>wsiTht@WQ&ALzly`jA#Vm@9Z! ((u2ObI=55e#af- zz$6FdT}bkMnl-poRm(_n$?j(T@f*<3a3bUedc zq%hiV#fQV#or><#cZW*i*Fsy&Pr80mYW^t=Aa@UW;4QwdcLn#Yi4A_MOsTZ4M;q-* z(}nE~Eu(J9lObd1GW( sK iKOQ2?zaHY9FTM^2m7;^TUZ#8JP )mj%UO9AY(;GnbY)5-q}*t! z3qF$n!|a*4iH4ucSvWjO*=#YjGxRj`F5k;*yW)A%r+Iv!%KK5M7MZo=5RC2n9#HMY zYdBM6QJ$w;(oRCl6oDzV^EjoM%z@?Mc0L^)C6wpWEm8W=+z6fj$h-1|NdOteN73 f?VB8PkIQ<)(g7UuT{jLbM(W`EsOkgFROniD@y&>JwvXofiiEw$^d4riu$b zwn5P;Z@np0q2Hyr!5D%hFeT{KCR8V1x=m79g~?nnEESIZj1rj`h{yJsv=nJNAg$dM zgfVIVt*dbdL`NOH*OY4Cl@Sh2(@#a =4v1%CV36auv8#!jiAHPnXzBeLe-S;2vM~!$mo) z>h2*UxGlH##3rmOG$Grgz`x`(K=VooW~LJ{Uva7=eMu?QbO
F@d1gi7aY7!s z(xUQv`GFu5yxVX#woXNR6Kgizo@%t^HVN%iXZSrMx!J_tgNpAgY`IM!Tajk`@HA8E zJX5;ixR~1qm*?JMCj}UVWRVCw={Hrz=CQ^im>vzu2b82?;|BH4cUSiD*f3Z~zJS?I z%Nb8@(VIRz=JLyaQEk0mR>u<}j4TzN4rLT@f`V#T_GfH``!w(hm^T%|YK`vV2H6f{ zY$-p@n8|a2Qp+(fRB}+_{(fygLg}FQzBZ`Be*656?cd(JcI-5ib{wO9$A0P B z1`ttAOV}%wFcN2sOTS4ON~QF(TH1 -#r((?(tu@krcV3PwEVbJ4J+(?)dY45+ z$o!dt@>lDA?b$e^)wzWj$M6%9)%{{tI5;_VPW@RZsg`q!<*Zodc}3alvIN6d`!@6w zubLv4I7X~}e8v5w3_Je<&4T>1yz%tW^je+4%z^QHSHAsV<8HPsr6oO85u@jCtZkWY za|xO6*GtT8_i!E7yrGTR^^GHfuQj+>HqXH!JiFd-L{kNRR!~QobD2wrBPtu>Moyzv z&G~Z{+X;02njHe@9;O(3@i7-p8o%ucKc-m%Jr#&k*%AFk$efb4KArgM#S|A$sYxGu zuh5j1@9uftt7-hev!qX^TF?6s_&;w%t=-*dFzMJHu*#~dsv0-1Ixg8^?%5cf#PZ4F zar}5Y!lob;wNqcA7`$0%9$#sY>(0a%vHq3vvME1c1<&jziH-W4oPdViV+CEuGCpwZ z$G)M15!+s7XF)K<>w4Qn@X5~+Uf;li6(1>k?dFbI=1;v@Mf k297 zR@Z={w21Ne*}mXSQG7G^vj1S*dY?0zU<_~$T6ed8gk=?)*I4mv#B+|c#I4)=#~->x zu*4PjBw$HY>g&W=DD&g5b4}F}d7Y`1$|FtsH>!SFozZ%7R5Okp8Jz({9hS=z;zLGT z-t~UCz_1^5n{`|#07jb&*}DAjh86wMN2a)Wnj1pem4MSQYMRj<2V(Z>@Dleh%^F7^ zmd@zOL?tLjf9Eec784|hGj5$Bqf+UBPS@-X<6zEy;=cZxReAs9--e8mMo!TB7gw7+ zF9@C21x-48l%n(aALD#BUTD%KZiG3X?y=(rAz1x_ysj{FtHj*Yifz@fH72G^yZdJ# zKWqBLWVmYGZZ0%;9cPn%U$813PekH}(G@&(#ZY1=m_=Tx(sI++rz >`Q zHWQUgQdFL^#ID5bmMAkXvc2_NoqN;il_%Gc@`TW=HeT|k)9kGFS7q=QAm9gb87K&Q zfLY +n*FI-B0s8=H?u=_X&xd=*MoB zd!0uiYF>1MA3Evnxo&s;k3yeOTG%gUyXHy8Q4wFRmz%9=T=AqoWEe<#zlfJ(8@HpX zWs2KF2r~I#bm<7NE@ZYQ{6hLeQ!r;SRH7Xr=ZsAHYga#IE b#0aP> z?sz79kM}~>*2&SYEWO-8oxf*8s6%TKoCBqbi6Mgp{^jtF+^g}cQ~Vrjj7U51dOahc z?zFz!#ql9D&GD}@!QoL^vQWT`Lm^j}!>gE%>@=HGxx>mJN#%JiI3ze_OrM}Y0x$p+ z<8vB+3y^_~ZZ&9rC8mug^0sj=?UL CJM3`s}Sode;;LrPAnEw@Vzjl2Kp@- z5)<%UnfOarn_`BIf3E@0b4wpVIC2tODWRnPaj8m7?OsPs2Zo3|5W4*Iar)-tn|SyA z{iFMw%i@=8?Cw`^6a=AuBIjQ@fvT#i;5rR0blSD$mF_lY_Koc;mFomejqBMqC&dI! z$JNFf8nq$XjX!>fgF+B}14aENh$1OD;^YjtnRtkUCi;%_<;xG h1#u2DW< zhe89$B$VSY9N9us{F^_I*1SEb-zLrJ$xSPdmHq9n1A&qEG4dXHX?=w6`R$_1;!J+( z1Pd1(BUSo0^~(`*j(;5Nid%Q#**%)ouTfx{=6CPmZPOLQf07|U&42<<5o}qH=a5 P9v)7qIEEY>H8O2oupN{IwiV3zXa%8CtoOqP zYzBM0h6a;)E>W_sJ~D2x`O9jl^VFUUaCe5_UP(pid*vVP>v98AlOsxcgG+dEH|}s) z`@Od|B)IdJqZ5Ap!Q66({j>?l*LziC?MSbOlJltA{79?}faKi5#|WUx?2PAq;uybF z_HB%l+Q2g+QiLb&H@W-%_B5~HWUhK&QIvcKyv?$%3(I_WNBE+9xJ-lM)jLI5CK}f! zHl%+xR65^&fqRr_Y^E$f9s(*t7^5tCG^qUap9ilz6)sU?ZcJigVuQpu%nXzKj;tF< z216qu2%7gUFk1{^e}lME&IwI?3}OAv+IbhisV1G!m-p{?$ZX3QfS^q9zU& WK zo=xBja{Qt#%KCq`05@|bPASN!xB<#9u1(E#?-$ea%d@?`K~SSpQ{)>-fkuFlY}T-X z23xrP9>! `e9s#ZLgm1*e*ARI)V=5TOBzU1;J>yWZ`nychtL{loFJ50obeF<_ z QDhgL~G7MMw0Ut~l^$@a yv*)E;FP2XTbheZU( z`6^*Vh_-Bn;*N}s8PDd4@!tJbsnBkWJU+IrYCEPLW3MFVCrVwbO<|(6!Ri$ZbevJ} zn 8`-e$0B85T0?6d+k_rs?c*W=ywRhpIr?EzhSYM0{=!s6ZLd+ zz~XwS7>a;Dw(hYxSsn0Zqwjr0*7bf@&0^_DfKl$(<3}qdD!Ticf3+bdT7ZcBnrYwl z@%FOR<_2r-a_eqXzdSNIdA4EQ`vYQKU^<-xF;FZD!>DojYnZU$2iT=3G4h*7#>Xc` zQ&45OXvp#WKM1hm8C~`#KC?!-K3>kw&edl{a_Nh2H@8RgFJpy%_Y10qI3rx)$??{n zVxqgcML5#P$VV(nkU{?cA7gJB7FG8>fKmd|NJ|P*GDw#Up`vsMN;k-Wbb~`9-Q6J4 z(%oIs(%lV14PC=M_ +D@oQBgJ@!K-CyYN|hyF7o5u zi{zA)*=DGKXhy`vg_G049N*8#Y))5ryYg2idiw2GlS;vXQW@_u3AnhpUNSSEB5sd} zf+Vi?^&Wy}ElhU)W`guus6x8mIXUr{w%oi@EsVRnyYuiJMOqsV((Lo#qUd%1TX^?b zixuc>jU5yX9hErdFXWYwK=ZN@90V9@w$_@Km6esbxpiQZo|Uyg?ZCv-Tba*BaxwMx zX*gCKJ-yxQawKvSwyxX);I@~~H9KCs%S1&(L0+)BlnxkG5)56H@<~+3iDA`joDzO_ zksk`vBnv_~zL1n%w_&9ap`pH(%~S@kHzW=KVOK>C0Trs1n)HNHFjp_bHwS`(Yz?_n zgsfn@giKkU4Tc*}bX6#XQmGkq9(Zs gciuWlaL5UOOg6<5&yo9 z(wqw^q}y(Ag|qi|)|lHULY7{Xi==XL3StrLF!_;*F^7kjnKpqlaY9YmbAlgvj*E%JJ1{VnFQ9knMMqMy4L8B@>LoPd;TgR_Q+oJ1@45)t0LV`6 zItaLk?eqIbI# ojkmcSu0ABnZB=G;eUbbRP D4T6b (d%}rMb-OT|br~t@zo$3%x=XI7 zuG%HWCVI}4s)fzaMaDGCrs_3MU`Vn$L@tyQhsdLqEQXM}E5EopO8;*J+l%wW=U*~v zV}|hroS- X5m63y4cF!eRe2_rnQPPZ3W1!Q@) ~3$=J2;~DZ`wHB!+HoxI;)nrQiwM$pdB=*6i+8^1mIKWFh-G#cp zF2tXd+dg%0s*{$Y>MAmC3Fn#OJGN8d1JJ_)$a-Mv48lEQ?c57`83^L zk||s*V3=P-M#fIDHC@DtH~>}UalRNAoB))ACfFpKDM_}I^yu3gL^xNj2XV`vYAmV8 zP27`28f)zGOOpLUJOhUgckmLS&X${NPZRcyLjwP}%4RhM2mTQ%aJ!Ynq3|Gd3Lx@| zGGZ!+K%QpmBLz U0rr(Gn~X|lA&CcC5Y#wA-EZ(mCMsRm#*dN5ob~02F2`d zLq;kr6ixu-i=*4vX +la@Gj`hDn0$L zf2#D&k9Tih^$T!0t&xOg@HS32%-uI?09;(fJGm-D^<&mz*XrYUby*di%Qo<^I$0XE zRmZB*WmD9UJO=cKIFU3fMQ@Y;!Y87cmQ7SAi+e9yqEbPV` Xk~5+XrEk-g?e`n zKH_6aV~{?lS7VNMn7LkF)7kr6Z4cDMt~JV$fguS3gvZAX_M-`jI~<#jGvi^&rL z4B`EcAz<7)&U=w*^8%54#xKj=2ggmx(HTye%iU$U612bb#pLPr?g^xC$B7}BNkihQ ziVQZwUUw~yA&K|@wCGX1c}80b^^L}5 $wUU 13l{9&k9cn~Jx? znm;qXpr?mOWJ7F1BmxP7UWZ5|a_zI_Z3@lJYnG`O^%isCT)De6QwtjDBn~k@==>g; z4_ZFzKD05c6jHc$1hgQ)&Q#&*Mf|s37pxwaUpR39pRdh}#+?r+<9M{F{Q3TmbZ8*@ ztejp|cZEm^*R;Gq#;9wVp&mZml@-NK89GTqDFD=O{YUpl;js^l`K=*5`;6#6-N=}A zm_ZVw@W!j~4`6Y;fzDoE$rb23V7V&$0Zzz2JC(VasmmAj@$vx|XF(+QD$=NaQGV3h zr9oEV(Y6ymcH5zlxJY94CGIO$-2IQf-~AN~)iM3i0DyR7ETzB)DR=fL^o9U6H1Msx zJ@t^hqXb^W_48fCz7O8QC_Q&Wr?FmjOfvUB*AM9KoxHrh1SdUuRA)WwGaah>GFiW+ z>L~vPML -`0tGNapum9J}VXg>p#KzrC&e?AeQXo&rk=n&(8q=ew*%t zC169gQ8xq2*Z-XXPTDEUy+Q$80HFOdF^>n2?!aUF--#%WpF|3j=% (tuY}6dzi{N_hlXMSGX@epB1-%;3n8 !l$z5V^qN&p4`6o6i#L~*o)aL^1~ z9LzVoXB4+rA>ymXXsGQQd|u@9?BA#yO1W=R%y#6~4r~RK`Aj7;=8bvP#)&g}s#Emn z>x*?E;u|3HRK9Gr#D$i7qP86pK^2t=HO)s56o$<#;WxgFP^2eJO;O=!W+Xt6vZA zZy_!{yHnVXR!Z4g!i8UNE=W(}F~62n6Z;fGt=4ou_+?Qu6>@Q9_dGEu$oZKO#R{K2 zjbA?iCbmTQ)0hC%yhlv^*?z{dy;00CIolEav^3hZiqoh!rFkl%Xtt;J@*%9NEMOGj zOI&kkc>7lxRj?w)XVzZ5$%a0Q8uAM>b+F--hNk}OOVYMzfs_Exiok0PNN$^bsa99k z 9n(m9XY@Q7yjd9dpWm)9?ZM=xB3t=lMbR FIJ&2fbwJW_<3alBatp+R()`Xh Dd;0!bmp4P{QX5Yfh`%*e1j#6i+!M}s`)}wN0Kaqfat?73S z53g6J>$6xWl7F*s6#i-$8r~_i-dKfhE7^Ga$xLq)fKs*F&I RrEGHJoKI9E8bvHHC~3uEt5S_mm@mV~G=>J83> z1&fysd#?+iQjYv8b |46VLdaHY=dNugU`F3~A~<7& zi@gSO*+GRAogKg2xTmaF^hX3%Y}UF0fJKQk%(6AzCumGN+y%=tV0DH+D~BZiM#)*# zq=~B#O%C-Y8F9?KeJ|p0f#r6wQ*P8Wp-S_{4%SKa+TWOYrAzkx=8Na}rOtvBnvow& z+#-LxWKOe8bD4XSkL!>5clyM)YHHfPjD2Dq_l>QFTV3-DkhJd~S*O1mdhZ=aEW^38 zO G08P%L;tL{;Diu~sMNES<*wCcTEZHOgOhd&aZwjMffTc3%>R z1%lNglbLA!^G*}F1B09maV7M&SEtjW(%$)O=5z0gLelDNqf#vMR&A0rQ;oA3SE|s> ziiIVzYFpWAdtF7|=BJ3dVtPj#@^1{9$cz%Gf(k`VG7_`p{F&bGd*A3ztBss;z7&1} z`570S9FBZf$jP(O;JU!o-BCmK@JEF* {^-UPRB+Ak&^)@>>-ZeoGVJrD z^Myw-v&u&iH_e(XwZu?<_nc{Q5!Fh+vopDSRlvz6jH)DKQAryb?9*AkpCKwc{nKC_ zJqFu!x=azIm;9wtZcpslm)Z`Ou65*?Pt$12pF03F!THIaKW8DQ_gt8kYwci1DikX* zt}-a$6@CCKS><7q@3m!$I;CFQ*#@0=BHA %-wwe3)aL-dR#MY zz76b4>CmZ_V_qJ6>x=O$`k*SlWb1^i)}9mdeTi v zN{QB>Ka{5j1ua5@tcZ1s44>>$eJ$Gt5e9lK 4B|_M03A z<3PgcU=NdzV3Omuj`n 3=Z?Vq*chfAm>17h`Knl70xlQU@o~M1JZ)%G-qPA=73H~Iy*?pZ*`EuT(Yfu5n z= Ag5+rp5nrIeoP0C&^^ONz^9m=hO$O)Je$Xl9 zXyJRQzf|_P0;SNK!~-3_7?#iiK=_z^hH_#j B}3*Ao9RB>zlBr$$g1V4ERgDDc6jRE;UW9V-y|iAtsR; z*G%}Y*|P|Rv&cNcZmp7sYAQA@9Ks-@p`dSi4-65c0)$-(tH0*2hJAL6*xh5sruEil zHyW=L=6dh$T7U5s)?YVAv>wMN;fNfg RQ?|(jWLp&U>de>Y4NgqUnVx z)7^t}Hq-QNKUH1rFEp5 vi{028fU$WU;q_5R^{xQ7WG zx>C|8`Aq#1<+7Ouw~zIS{q?X<5OGPNiOy+x9+Q$vKjo1+i{quUV=`+ZzyCyoa{6z~ zPm7;rCPV2>NZ+u|&di=a>2M$==~g~jl@UD^I0(xyFb(=w& dR#r?5BEH$#8;6^|mHzs*Z%j?W5+A?&doTdL zB@m^!mUCx0Rk^fVY14lbAJ%p{ZE&~SNvWYF5=C+F)!phS5G`@8JRl0A*7>q{5HPfW zKcdtz%E$0JSB?^eB*(%OJ%4jCj8Cvv;pg#=sF(cLCR;%bmqLx|avJlCV;bKp7gnv> zIFWYKl{a;^*g5IycBkVvit|F(#M#bDnoWg;OyiQ*%ew2M+hV~qg&wG4uE(`H2HXuE zS{g*iYTOiDs8XjwPl#XEDl2PGExzPczvenpeYf;ubrj*4UUG?0byN$}XU_Q=MnD8z zKsdJt^MT=K-(=>ZlUi0j9zLu(yWXub-szv r935w!U)ITlFR%fN)b~l>J z(+ @^9p1vCTy+?CY3bhfA{|5c#{`dBK-54J8@+MCQ{6IhB$-9E0Ub zT6R}A$cooYQ|b8;mZ2hZ#El16DZEvV1Z@i6E`xBCb(?}jbdCzjf5oF4O3U+SC{vur zMy2;9-i3Vk>+3|veeST}_~^RQ-4f!JMz*Wd|`(Y*1O2e z{8uV9FV0+`b>gADl8Mut{B!g8+iwa?1zy!H>6)_0l~_6!+Me0pUj1E=vMj~l6GfR) zf7T$D@BDYBa>TeSPE~-o&ahl!pYt|8RUCzSq5*oQc1H87sZn)&II@G@Dv>`nv#(sR z*rZIbOqr)FT0T6CrnLa#DMcG5FG{{jKlzS##-*wG7KHv@pU)_)#^NBR(U52a;h|D> zq_?E>aXaFt4NRiN(OT3f e`^YZN|YP+aw`&QYqP Gp}s&-|Fyj% zSVYRB`VI{x;DOQU?_8m^MTCH-f4|hD%HOcZj%CE?C7>YoN#0p!%8N1FX6b>xlE%4Q z{5xW Zl-q1doDQbeNZa*q%^ux6=O2LQIy3+jK02`3a;0o9sSBWTl`j3FO z(X!JD52^0pkNO2?S<)|_T7Bz`e7r7hoEINynm2jno)Yd*kiO6JNY!Va-2D1EA>rg= z|GoNM=LfkAAs@1V{ijH282v8QbzAw{cw?GGdtYKjP_6s?zgg8YW^`OB_ha{PPE;ne z#`}4dB=air73y+`{Pz47Ih;GUzOhVzA%F-AkO`*H;f(IMTP4 73FH>r7z56^hFSplml4qBCds~z&Am3%5#G_?t>|Rt0{|9Ezgc2o- z{+~c&7O{z5!oiKrY~WR5k#q6kprw%{7KTTcI% E4hcQF1R0&A#=S4G_i|Gf;BQk9pkqA)I zUp_&_>44iSUS-yOyu^Z&a&^>V-YR4>r1I?Sq*WWK3JG%#VOgzP+80$VajGA=d53U@ zbZ(h&*ZY5=;gzuY-GQF%iEfq_I@`O9`MofEU37)6>Lu?^MJr5U=7eG?&x gIG3078~FHb(W~2sM4)=;ZBaPhZyD!tmuG4Lc~!B>Bj8+O<0#EUIrH6b z{SC=P(^FN?SgQWkLj@S!{Zm^yYq|~nf2P3MQ&^TOo~kOYE_(>3C0!S?F51Dp=b{C? zS!bz>-1k`1+40Y@?CP dMZE#2OWim8W(<2ffT@L<$(- zNy?Na#d8in GNKGl*S)*KoYlD?EuJiGq zj>(vW?7g3*2sD^nqA$rnke-^fwqFg}ZQ cxz=%*kf;W*zsZ>Jv6&sB`jRyAkvtw`T%8tnvi-A^sj7 zJcKEFeo}%f%ar~JS8;3t|M@M#2SbLnpi;%<{A{O%l*~^}ue;;dYM0A9hwn`*GA|fd zzc0l4uwBV``yn|!Yq(KDM-d;4^000W*VE|te