From bbbdf85fdff7558d9565f7c56d8686944c410607 Mon Sep 17 00:00:00 2001 From: "Bruno P. Kinoshita" Date: Wed, 24 May 2023 18:33:19 +0200 Subject: [PATCH 1/4] Add documentation for script templates, remove devguide (ec-earth) docs --- autosubmit/job/job.py | 4 +- docs/source/devguide/fig3.png | Bin 53843 -> 0 bytes docs/source/devguide/index.rst | 39 --------- docs/source/index.rst | 8 +- .../userguide/monitor_and_check/index.rst | 2 + docs/source/userguide/templates.rst | 82 ++++++++++++++++++ 6 files changed, 87 insertions(+), 48 deletions(-) delete mode 100644 docs/source/devguide/fig3.png delete mode 100644 docs/source/devguide/index.rst create mode 100644 docs/source/userguide/templates.rst diff --git a/autosubmit/job/job.py b/autosubmit/job/job.py index e5b921de2..81f59e338 100644 --- a/autosubmit/job/job.py +++ b/autosubmit/job/job.py @@ -1505,8 +1505,8 @@ class Job(object): """ Create the script content to be run for the job - :param as_conf: config - :type as_conf: config + :param as_conf: Autosubmit configuration object + :type as_conf: AutosubmitConfig :return: script code :rtype: str """ diff --git a/docs/source/devguide/fig3.png b/docs/source/devguide/fig3.png deleted file mode 100644 index 9a330fd50118a8f278cf8af115aea6448ee7df83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53843 zcmc$`XIN9+x-M+@wZW^12uK%^t{}ZBNN>`GKu{Er8mWPVfDKU*LPxsNArxt$6BVTw z=_QbW5K15f0-+?7Gviw8de{EGbM3SDxz<^mKXWqX%y>q9#y#%m9`o%zBkgmiIZhus zbm*L}&Rx?(hmH##I&_r&#}Ocf9~v}x=ukh0?%g})0jbNArvl7=;9A#0KsLkt7eDdx zro0d<7f2C1a{79v`lq;rZc?GG+@D`rkDZSbJwl9!BTD1!IwFgXytuA;`1r*;e_oVO zdhzU=1?VHWOV?xImSKfKO66W~`ueQyoWZr&Y=v$~pPp28VPRp0?L&v&i_DUle&0ng zM^_(a+}%JnoMT*{1F`h4$JS@c^LA&L8+zvzTeB=86Jl&vez=DJhn=}Mhg*DGZG2fq-)yxSqpmr9-Q zOsyhP8X}aPW?CZlSJc5W-m^MphE>ZGq@?x(*&!QTOpWVUim{qQkwVX(=jC6#FsQmk zt~F`IPB;}-9g$e*@oyPV&TAraxD|br-t;o5wF_e6Z99MJl*5hTHN3=~?+^5hk~~Vp zFAuquKROl2$!LT_>uuQI*ALpb6O5ZL$`sk(33LCO=KB4hO8|0|ar1!t|0auBIRtG( zA&@eAu!ldGeA;}@CA9hVIV{>ErLO<;!)D#sYdP@;tIf>JDjWB9C8@3D|JcI&aYp+lJ`*Sju*8WF0!r& z-lH8o$zUF0_(P21WyK(ANR8&k3zo+}peELUi;w`sm z3z?H=FlsCJC_x$ZTcllL3oW8WsOah5n@q#eZ`=m17>({Rr2X_piB$?lgSCGPoq5eElUWG!&x5Bs-ug(t%9G@7oX_ihFuorqO&JjG-g5@d>LQa)&?^d!wj>Lp5)yIQ~kM@q_Jene_l z_qg6N&o{O)bi(jqx?<=V{q`8s#=2kxZ8JVWyxaGhb9Q#N*!J$gwjT<8@R>aE1Fy#_ z*|+^Vc~8kd(q-i4^%)lCx{9Aen{Cv+($R!^a$dBY#q9cwlTss z1Q9ykQ{Co*>pbVb9-Wu86SJ(*p;A~qi$Q87&7^L(q4vUzV5fs`sCj6yj!*O_evdSZ z&W$7=Q%}(XJ_@3RY}+)lvC`Dx7|qV_qv`)Hl}-4Xsokt)wER;02@&dB`$`?BuBc)V zVcGiBnON7M*9^A<20(JVau02cgI&gVV8b>r`@0f7hen^XM=`u+4iilvi9@V=}9|6+sQO6`-&l>;Bl;yK z9@V06=(=(!8K)7(WKnD*qpcLQyS+Aqvcmg~*hvs=Yo1Qm&ZnED8H?8XF7_Yp{PiQ8 zD<<$z9gNViQ=tZ-&(4rIM^p}Q8!aS7SYKP;OSSyZ#U;C|-H`$(H!YezC4_gh>*}^+ zQunBd6>7^g*wC^|wJ(vfHFAwr(wZ_IJ!77~?}<$y4B#>Fsb&}Ikf8;*&V9C7pcUR% zom%dbR|zS_?QdM5CKe?Ko7o~h`3wx96q`|+h=Ei!d)TIL(Y^erB6~^9F8}%Sv|QS2 zlmmvgd{u}}`>8PBt45g5pi&5llpZB-a-)<-a-0Z(?5W_jwuR4XMcUMo!YgAkBvb9z zhb*fMK=t0!XCCQY5?yIssr6s|zP7kzsrGYh$a1Nxlx>Au=2tj*pxOqrPwwyGVa_L{ zAul-^(Vs88YZH!kbUn&PiEc|%z2$fBab4R{EjJhxFU=1P4|-@tL9sRrQ6f9<{j$RB zQN`oW4^>TnnlR> zvwfZU2n0K9LAV_Sm5mr1bqn=yM7^P9T8{7_w#__BiV6Bl8a}0Mx1w*u#i85@o24D0 z2RVt$s)dQdZmHQzsZU5977AYAOYZSG_U(1^IV3}FwS}){QhU;Y9~v}VZ_VD%IYXOh6y$A+$xI_{^n| zQV7Vg6HAoX6fdgWw?cJ@B$eJTb6B1FD#6{ux1`9G+%w#jB&`HpvCWTK@0|fgmUaY3 z&bQ5~5il0W4_K2Dh0W$Dgiayj^oc6Bkz^S+Wmu7|6K7UaYHHB#&##N6NZig&OCY%+ zNde-_-O=N|_oCL}oGnVMxPSs@or%3QBC7io$}IwO^FGDjTAk zRaOSQ=37H6g>t}Ujc~^`hrlg6>+-vJb9}C0L|uyX(_iweXnj`6nXwO!wGDrihFW(C+mwv`&bBNh_gFLEm3sr2{F@!6PFn>s|lNxEdBK=W+ zU~WV+PPZ;-=Vt*+ihqdoqdnKWt<$_{OwCp5fyONR`Kov>0tjabW?d|meF%(07#_vn zSo|50*4D{yS0qYw;l42T_#EtHVU2vFjEJ2LIN;7ot#%0p42fXkN$6GU{j6|B{$7{| ztAKVy47W;lP@saJ9;9y2uxirO%|hLOYSF(3onx}**UQZ=b$72mF%cYNtg`#Xu}XK{ zcRh(mE+RQRkIJ)D{+SgvM15OJ`N-r~^2YXa%z;BRR5Rhe+(`Wuph2T?G%dIQ1d=-ypz=1AJLA01y#W9%Q+YN}oC%!TBimKcT zO~hH;OnE>`L%n5!`-t3#8hKlLrAGrk_))11+Xiu;wmxpcYWDKwOHJhYm5Xl1-avz( z+yg-t+jA+9tB-J&3Y#-XHA^e*kli%^ClxL+tL;7=4+t>Ix2Yn2(g-teBjXzD2TrHR zL2zY{v={qx@{H07`KycXg{~JSzz406&#bQB+MsblICjTD%vBz~0S917n;LJ0odHK$ zc>l+F?F0DW8{FE z6?#zlYIC)=^3M2#qi{@S$<>1$=hpnoT2FyXjC4`Z2DB~Cd4V*_AQhG%+E*d;l~4Lv?&#eu6Z7G^+@6fyrAybU z+?EKR!c6stiw82OzkU!Zdb7cegWvSxXWt5Kn8=IUEL4d+^zW)k+VWJgs`*TtG57w;nGYo(nZ2-QBpm-s_OgO$_iDBGnz+;RTGq#O}4Aq z6ZciCvYn1MD*MAFsx0NrIV|Fnkh+9cM>-Ox{A5y(GHJ5&AZxd~vDAt0>je{a^4F3C zV6C3KJoZ`pl4oo_s3Fj|;#^F1G(Juogm(Dxt~HWN>FLyM!*~O!Ins}CHdM+UjcO)H z-z3%hE}9ZL;s?}=Vm^EbSedBhka5l508;y3o@6eJ@h6olU+stP(YJV1U>g8-tn()k zZ;h7P)mv_q(!DnKy6WG-suGvc=iDSyRm`ZlifQx>dub?b8Ue3Hlxu}LLsvk>{*!cW z4(0jcwG2snhx*RF-bM;3p*LjPsWmeMlNJ->J%vpph*)xOOo)Pg#hl|M#4!gYiK&n1 zX~T;d!;M=V`2Ac=T$*Yz#B(AaGhO(tA@iXIyQ(d7Sa%xd6MK=o;vuEJvrFu;m(T zZC(8kgrj0D`VB0Rpp1NvLK z8P$%I};_@M9kZM^vt5O3djxXJ=OSN_>Xt23dz;jYKR)JduR@0mb7o$1zzs7eV8G$ zIoc5TEO^~tdwhSE2+KlqH9Yx>mJV#qZ$fu6w=`wzO>|-P){X2eaH^l-c_gR43)3My zTf_O!8(DA&{i37vq3+Bdh+Xxxqk#Lx!HtpH8^oMe0S>tYMZc?8>s3$_zJzzXTNs*K zV&-^nk-6~VgtaP7hxtWz_5zLQy z_#5-C9wX-7khIERO_)rge^ri`MS+Uzo&7y9H|PH*| zwrm-yh&tO^Z-qhZ)YR1e9v#Up?F8Uqk@>Jtg%wV}l?equc6N3b`-K~lurEeQb2s(^ zCP6j|Tw4B$`hnwjCNZgswd?BQ5EG*Z!_WFuiiO_74thnED?qgkq`LDLsE>)sHJvAEy!>PHZ3^ZPdIPWA&I+}Tme?tx*{bL=bvRSDlZfjVZTzkWF;S9QgOKvvMxIRu_FYf2Sc+ggw zn0-m_^L6S7>~+O_kw-^RR7_+@#GOjdt;7k{?+@^W8$L>AOquV!4<9u(e8S zAO~vp-7tn;>#^t~d2*`A?b8Jg((1ey&9)S=YW()@Rh4eV+cqup{^svEJ<>|u3fs(H zy8?TRpf&X6*&qHASMPQt7^?8x2VcSWgr~H)4BvHZEP9mpqprc~ak@?eRWz38_?(+{ z<{L5gOk@bSNdwItSIWG|-t$XtQ5PfIC?*HrW(j304n3xCjotaOvgsWJdh02i#n!pi z>PUnI7KS@-HM+ty=JkI&((~ufqrH}a$%tjbS>D8=^>Wx!_gUay-of6~rl4}2-UkDpoDFOq0{+$# zXY>ZP0hme5Kyshw+LjJ-WD+&~KCSnx5M(7OOW*38`U(Sobj~o$=*_#wr;=4-vn&*j zPU~)2+~{)=UYJnW*#sf>Nu&1>aob0edITFW31`*!bEE@-=72&+xEaooRGIPPl zlg+-~`6{`&$RjsBw05e3X9ZT>Jl7j~iQ!`4NT&bu7(yCWibFEqiGS_JbHW@nSuf#h_Yl?RL&6u!53F)iIeKI*O( zv7l`zZ;ZNzC3G$+o@CC2NRkS?bJULup_Ipa*musi4@#Qscn*9JSs&0VqoBPpcGE{g z2qZSc-8I-=`jv8tqw7^gAYGunjN7IHR0_5$d>n@=3PMBGXDO_WqZxCGJ9B2sZ5~-; z^#H}-*?rv=BfSGarAVF;d!LNJIrgw&^IDswr^%ibivG*;k6PXfXh(`!mw$g~0r+%_ zQ6mF`_nRZQ2351e^nJFLRAujNRK(I;gG}(M8~1W@ExoflFEYP0Op3Oz%7g;4g8PJn zDm-TOmv%MeCMIrRlb@G38L9}D(0aDVoEJmSpNAD@JZjC>i{DW9GZUWiHZSpYLEuIe zd^Wi3Lnd``m)!7r*sY%p+w;!!TQY8Q=`+TcXBmbaEXr#7Iv;*kN=x~ zx@ySE=$N!cN6vv|j%Q(~)U==q!q=>r>N4WBk-A7nas_T>{a`}b43_}Qv9|rS@p)2% zwqr&6ux_!{{gY3EA5@Ec8gwA_+?@ z9|du=7FnVa48o>rd^1jS>C^6`1qKHxtF4Id@Qz8Pgo=?=O~Mh@FRuD!nb zeKSXV)xI;C_3>Pm>BG-Kn+Vv$yIu-=s4GfB7R$M4WhXAURSSXH*a*~l3Q@%8$x6oW zjaDd0lo?(5DHeXzpkeCwL^l@EK~2>GU{ya+!lLN@O%EsXn>TL&#u{}WWm%B2d462h z%*JwX{7N?#&9^cFhI;@Amk9;@g3>OO(Uq=JZWzt#8g_fJKXglF zciYcmaMUznFU^cs6?D8==$8 zs&=vM{5)Z@ZjojAO}ggK^(GoX&C;}w30}KaUs&rgMY5ZBx0QQ1J;7a!RWvYZqOTek z+S-+=4OzZ)l^I?cZE~fvAt#c8uN4zO)Qx-RihSDO-_70lzJ8T#*&rVv%OHMDiKk>VIA9$Xt{Fu zy)8GGFa9t;kBtUi-r9JEy0(5U|%CN5~)kT5T?*m>5Tr?71t;y5G`_}vq?Pf#kd z7~8v_Tw9g;=Y^uM8ahS@BDOUJuHP3e4aqM3{&LYJ9q9l7q#DB zM*akbwRe1VZ<s`1 z$8pd#8&dC+sE^sF{TPoYB6jBMBs(m+p1%5-#L~*M7!YoQB3_hSl)nz8cElgp)dg&P z*)LwQEKS|JL&*pkcEi=}kf3_F%za<_M)W2r$5OnpGfQur$Q81p(AW{&L>s-IRvpHi z=p6gLI@(2wNG{~9d$OL3Zsz7;RnoCTidoP$fPMYr*&=3%y|vc1(dU~A%A07cg*x~C zSIj$B2?r(J(GCxLWuAj3kN7;K=jW;>l2SxEOUP8sj3r7x7F1XLq;WaCyE_9myR%T^ z*$uL@mz7%drj$uLCm@m%(Ka@QZal*wAdQLj1CjStl+CBq!#i$uPKkcJ6=Z}wTU{zp zC885>J}p9yoH$=J&?#3 zDp4!K2;Q;xrpljtJ*^b&@(D|AW8$35OUA}o&CaJ=W~k7DzNX!HU^3UxIKe@ypMK5x zt=SCOe81k`!_?F?_L||9Z)npJ+uD{0P6)oqZpaJPBw^;RF)`DM>}?>1vVkuHn`Soq zptX`8!4}c{n(45P0d~LL+%0@qaGm>CHl9-X8o1TD`bo!%z z;-_|dm#SCvCbEgX5r#Y!Psazvxs(nN6SJvGN7V9`#|4L9g+%Jb$H?IgFk__|+aLk(G7r5b&i>>Ourtr&b;s*I#<7B{^=IZIbXw5=b|XOKho9teuP*Vd=1@xC1tvJd1Nh;Stf3_eodSoB)9qY&3+C%_rS~Ip(mLw7J<>ea2+dOHcHiD)QQ?5sith_AdoJ zBThr(Du!40&kKdjt|(V(pR0S>5D|nj$v(2pVed zYY-o1Z*%JU@KEXf1h~xMhdGn6fq`u!jEZZ7_hzW^aB$cFsh7lUHWvB>JUXhsu$f3u zN`jfif)6IGS?oD?zBafol~(%~kwyo0B5k-}nBU0kEK4`Y zqxS=e1@8OO`6omz`kSw4gc12Rf_TLYGNgbwN-g1%$_xzkOu0KH=Wbu7s5T~gb?h}j znlveXK3Fcrj63xK&gaQpNNWfcfQS0pO|pUQFUB}WNY&R4P}T+B?sOyLNo;4heRLQ4 z5*$lxAuyjQ2U*KEpo zfRvu2ipo~qtXTkZ1>r%S-mRns2{;3;g3wbv; zJV=;QK^uHC@p1p)t+Jmqcyhoug3ZFP8SXug?vHyLmEwtSLzdEDoowC_D5_s(dbZ$~lRC zY2z+;P`29q@F0*(u;v*owbTeT4eJmoVhVp}622rmsa#MsQtT)peDQ+!l$y0s`BUh+ zrK?w-{&Rj5CUsTL~IS zXP@Y)wQtSpwm3X-OOZqwksx1)T^n_Qs$NOAd|F|2+vO=@^W+0;zPUnC3OESTJ=isy zv~=-w^ih^Z_wLp(*%yEa;n{)8Kt=D4K3i+BytM0bryF=rI|XKa#f16LAqoKA4;?x@ zJ+#kU_ygYv#M@h<{{Q-ge?dV0|Cogqcg4fz6CqH(QrgaZ27o%;vI{DNjIWm1IAs?o zJL7vw4P+Ce9+b-*do2#ftV7wRx-Nx45B0cDBTkt+;W_rPNqhRn+uxq}+?ZdGG+m^f z6$B{2o23nucbNL9u%QC8Rvjfe6hWOE(0b(joE4ByaDQpg)t^HF^}c;Aw&?g_r~a#r zy!aVRnspz9UVpO9#=QBg9Kc6O!$7-}XWDjmj-5KX4eu!h)~emfX3?uq-6~h_rQ*8a@Jo^L zpsE;g&};%|wo|fk@q=3!Q+th9xo6rH6%jr@)2!FN3%p)l{Y6PL8uB^ZBR_2Dt`c?0 zwG&N-Lnv=Twx1jOO?6B*P@vmi@8Yx$`~4$EEtqHAS!e-EQnkBqA^Yyz4GSQit+7oU zS`=(=FNarybB+AoXTi6KpNsP!?@vNat4rEF$rHjPY-i}1MM1QuLDDb8Gr5%xRs}Eh zgM>2Qf_=M>9-t8DAAqUVlN8z0`OlB~jY?SPY5f&>L_R>Jh=%5qEsC$)E3086CWuz>JOPktJyQ;Ahc(f%H*KE9y?)MH zQQF+mTeyKVD{DIyHZ#4%1boQI8Nk4^L)y64ayW#QtozSC=%)MPh;d?9at`}Q>1TIBU))N0dJk~iQ9;ucfpuLekq}A}7KcDAI0r>N{ zCV)TRt%b!)ZT(zSo>fpRPHq->&0wb$wx0sVZ}SR3n)O8tg10{v-RC1?N(Cm2)pYSq z>?fZ4d{X~ta(KIgRfTfp{3l3ZC!9P~-_+W=E1j|Og88G5f*1m}yA+YJA%-M4!HhbTtq7hHiNu#Bm{XMCG&*_I( z#+<2LL?%0m$tQK#HUFxMPt^v65^sS6m)}JW*L{BYa(6qc$-9*+lEI8&KfNrS^e+V1FqVMO z)36f1nZczHS|!f7>F;EiS<7xSL#Vg|Nc3==ss~9yNsdCi~s4*HR_GQ40 zN?maiBQ4V55krCS?We+)26g^Jf}&O(>%D&!7I*I^Wa_rcM@7$6RR#ZOe%ia!500K_ zE3s3wm{UJ4=P0AS)s+NusE~2n5Uw9|Fh1@cpGoRY&M~Gn!m3nT<4L!yn4Eftl^UVM z*~c+YS$iyetqLrL*p=n!k+r$$^)^ywl5Hsv#Y;3*wLnZT%-vqai&~BaHkpgqjQRkk8*kB9PHIH$fgZ;V}9?stMr2ge|9NFvW!bcg^jTJt5 zT^W*`azqwe`(^ove>qi=G0%F@Z^#w z^=Z_U0G_k?_2Q2y0miU6e)unGXIrc-xhoagYO}ty&Ukj3_b-8Hv=Ct=8n;Vp0Mefw zdGnX97Wn@^uA;va{xw?Dr~G_h8PLFIBj3DmmTbhxS}VGG`mS#!2L9}YkVpq!g^~82 zA0qG)cPV6xzx4F!)5&rWZb@E7I^W;qt5GcfX5}lx_J2SYzZ3p7ZSp&-|DJ>whplum zGc}Dtv;zTl&hzJ^{VQAsa&z?JJE*}7_p_=-k)3J;^tj^ShS8>3i*ORGFH_SvO_6~7 zr{^C&d=S)607R#c!K@q{}XlqjE6@6&$X%>#>CYTC+xGiY)$_*JNr1kd2a|%o*z2&{8_`f?W@3_tgJtA zuwb)3PFqV0?K04UZ2ax^ptBxdtZv@CX_jlCThD&!(j_)FwkubbTP1$iTnVs?0@w`m z0#m~3bTc|dS65f$IlWq+k@aq5!@0|Uva!iM{B{g0K>&1g5MYX9;EXDL>21S4J6u*) z287gD-JHCQ>KTjhZ6NVHpr|XcKn(-6iHVJc1FCZJ3L`g0D?e!Yc;}_o`^$Zd5NhMz zBpc(wzBW$cV3K++Badq0Rta8VT3KfGo-<+paF~$PrCJ-e< zidxMM3R|NM5+oCmsxeCBjofJU(8qhQ9Rl0iH$UZi(}&h%Zkfl#a=C#UuJ`qodpp9~ z7Y7vcQI0fUU7e^4f(?jk;IUe>@#@4gZ2kKFi{sg5S6mL!E0~Y*8S!{?bWCY}rI8jYH8q48X*W-;TMAo9FFmg!$%1 zAh)JWlu5;O_Xq%vFOLamyl!iWp!Dlg7V}QnFrds47C=|3egDHCN{A!dF>T0v|jT}qyHXkakOvAd8SMp zw2^aqM-KPF#9J~o;Rs0}pXwSr%!2Ng8 zQ(Q@GN+7TS+1Z0Kh>=5o9Gmrcyf_KjSAZlbb$yj3esxwa5LQfGo92O#Jn-6{7 zypOWV`=4D=jQjy;xpu@3wy1-Dq@rVCQbPpwBBw6p!I`VmDmuHj<#(CBD71*RTB(<`5)IHhPW76} zHee@%7I1d&E=C)sY)~^bsolz-?w$g4uw<^!LACCaBK9H0^ZMb)kx*hSpo+lIoll*L zE_XERJ=wC&z&R8-ifs8>X~^OX%0nZXRiq6Ip?^|GyC1C(GHTmiqitA0Cv$pV<|KRD zh=Zo5VV>)n;TwK_KNdet0oeN%98kjqIu+V}*F8BgJ;Pf;G`30HBqx4-Nged;Rb7(D zr;s(qLQgLyVTVlHJVhOp+-&%qvGHFNgxCS&Q4H~@*4C;82?!V4-Don$pZHg{V`N-L9RV{lP}{`c`ZERe(i^xDG+3 zDmc7iO2sV>8)hu&*DguSvz}mztM#EKmB2Tire+3hdD@kn<(MU8ar*uz0Q)xXwdm4t zyApXpnVl`qIU$&=61Z;I81DBQUYm(L!iQjX>3G;1_VR3f*22t~JXbg5s{*nEzwRH*=bv+8j!xJ3?sYxBAbjXJJd3!YlfVMOynCsMNGfgU(5VQ zBtXPU_TVXig#$t;j}a>ydvrhD?qphZOkO&r+2y$ zKXcrSQPKY#bT?E3us1vVDm?~**^}kx=O;N0?=JH`OXOk9d_!0CFgoftSUm!42EFKof8sDX~LY76Y{r6cXB6nZ)8J8FiduwDS8qFHb~VzL^PJMBw!L z-(2u6vLP+QW2~Ie7A*h_;X5Wp_salrA&g2Cyn1!JUh?=Ka2DYAybq$Q*DL;h)Dqu# z{k{_r83;e}im@eq_DmDkGoP9Hct0ovn)zk4$u3!z3Kcs2{?)O!k(*Et*%hoH-7?N+Uhs4Sn<{0c6;48aK{mVp;_7l3Sk-abbhh^&x_fTB%U9Z0LdII z5qjFuejt3F(KW|70J!^lysDz$=}PJZ3QhJY2ohWMFPU< zL>M*I>avX9$;GA8#P--6J0&}S*#$7;drl!0xZX_5%J9ybHo$A!2U0Bpmv15n83%D} z_HonAgmieejSO_DX298u^wY@Z#)7x#sJX5-&^yXT%g3D)#uz>krDB1V4dQulI2O!3g;z@ zM=dp=)-=@=S0PXsbDpX-7B}7mZCCPJBF<-y?_lvku8hT_4PXbN@~^8<3d(=V;dP#V zmZ*hU5JyJ(@}ZCu*lo8w57{fP2o(ClF(pkk^XD+|#L?a3jv~gz~ichPsgDnaI+gfs++S890C6?XX z814B?0HQH35npb;VUbj5uVyFZme6Efk_wJjVhw_ls=R-_a>u8u`WL%nb0tG|`(7#n zOi<^Eb5gg!m|&WS+)_=mxl+2G(XdiN$gUTxJuic(Nm#u?GA#vDIz(ZWyL(#%a>!Pd z3}B1*OLR3~bTlo%iS?y+fos0VAg%DI>x%j6q#d;VU@rsMW|`&cV9|AVkGBbB z3|a-#yI(4@Ni1}}d2==*Q8-JoH)HE#q>@3^%nOf9NSH1LA7mCrx*)i5&j-nEiY^M; z^CP};RT$3!BKO}Xt4mcM?0-E;-Cbo=RaFc3`VyNEPw;h7%Z2CK@g2c5-LOnR+COw! zl|#h_*cu(|%QYvV%=66-D|x87LWviT0la?aTbAD^RBX@&Dm5y3n%YayX*!u|EZ$@s zz`)4Iq$skcdrS7TZCC88`+vu;FC@)hV$q8&iIRyktvL>w2nW(|v0s9ORnJSs5nBQ0 zo;FF$!p)sq&b`D=(;Vge874DQKnL2nX28sK-Z$~ZORD?4mlsWJfmzM{;~hrh0bVCs zgkRmcM{WNn{GwHHAyl?!@3gAv`L#6YMvT*}4#Fkne0R5^j2rPwty|)Rmo_X7(xhug z2d(F5EpkQ$ zSry243Sc~*EDbO6;bGK`$R=G~3Jwm_D^?;KAnya%56Y#ua2a1$Wm}tR45oHT!?YJH zi=~$3(>&7Xa2PX}CfQC0bSn<0jkHZr^Z6JNB`Gf9i8sU2}U>0%14I;S)G@2&sauU9OZ_Cz&x!$b$ z&D1{l-pbPng0#A z$c23M8j!Tp&Uyd?a3lDVCdgNpvrxdgVynOt4`*3ls z4IgObJpmV74-P8L$`45L_|}DvOquD;9bd~o&RUxhs3nQ>Yaa;fv^53JW$v{jLdtmD?pn?R%i%XOB)fgoPy!dkP7k*{{=l_~vhN1r+!Nef7et+zNas3xn z|6f^(RUB|EA|@tgS)Xxm0#Nl0v;O5>Wbd`Wq012jn5FwH5X-#*pUy6M#e+8ziipsw(c& z4FKO7XQ&eUc~ltP_~)MhhBQ|6UAPB;$O`A)akgthLZ~Y%rN6njLCw-ZE z@giZ&Jm^USJw4M?6PUl?=`-N{Q!Lj;{e?@xjW7VE?@kIZ@(l*$0%zYuL~tqj7u}bR z^%?hIqyk%>_xXUT4LGE-Nx~+krcTsDAt6x4g8#dfrB9sWxaIKu4RFa{CXt&MzX2Fp ze{LT@*!KPV-H@##Mi)gb#jan^2dtesb!va*Olm%GqzO>P{EcS4$U93?)(RypEIa{T zwodj~gGx@_{bwTf_Zz|tBKDaywpyPNsXdmuIMn$&Xu+5yV7Wmv4y2oP3OLMALTeHZyrmN|(~ zk_gHw54@Er4b=L!1TUl+;yTik`>oaokW-X98xy+$!n9IXvfjUaw2XVu1P9Xxbd;E# zoq3o^sIdycI?bK#{+Vl}<$bgq?rC+olAU*VD-$Xe-_&SZ69xV)j4<#L6=xHcV+^xYfcDQ-fZa-aA>$S|ld0J;n4fFN87-Q)x^Cv3oRC8u?8+$ZfO(N+WcvC#%0Sg8U1!bMtKXAhbe!?|h;gNLe z`cpsQ`j$;+#*Z_S*DE^i+=+Z5Y!^s*1FDW|opG78Y1pr$gzm0|QOwb#MHlSeJfq`h zqO0vS=+ZIHnEk;T@;w3TW>6gUv8)iQop%Z!~CBPT)2x!QP4Q&%d2%u!2lMyny z-dbqEbGbn;o-Vmq#3+b6D_fqJ81h|Rh~vBwfzPMLT3m3XF#dy#{$MexNC)!swl(x# zS!TIgvQe#1__IUj&wtu|s~xO)>Qttqz9TDR7Eg7xVM_|`@ezWZ*a1X-Q4&*R%Pym* z(34(#%)IsDsIgO_WYeFM^`iBzjT zfnGV`@v`h9D9|`H{}t(qLY&>NaWw1k({IQaO!cSaqc(bp%d_8(mwBe$|9m@8N5Mw~ z(P5t+Bj^|LCr9Bd>GNl}eR&XrJ(O3VpgW2EnnBd~(a(2+_G>Sg0NYewV)n$!Qri)w z2ySt-`+4Uc<A3I(1^)WLHp?hF_XyHYj3UW8=*P=B)D9)(o3KWTNjjI=6AJ3 z$k#XbwmO1c&ajEFK}i>SRa5r=`1-XYrLoLtD zqmBmCi=}GLy0A&S5y~*f-LLnw6VzuDd!k`jV*88YNSMq%&043n9WUB(6Y9z7x^ctx z3dlvY*{m^VtSEu|T8PE0h5%=RT7d`l`_E5xXq9y;tGLZ|rC5E+-4g*oZNIbwgTWft zpf}fm09l*ZmOmCb|Ksp+|CsY@6}@p`Lv7I=CfM_a&W2;OFGWCoa#@*~>x6vE1 z4-wX05?@$6efFZNYKLxT0{hSfz{&$&ptr`+hDnrSTkG0R+KQbcbm1*ad}z(^8^W_A zbQ#a0@7r~L@!|!K9KJ{Kb*L{W`f=ZvPxCY^1^*f_jzA{=GLLE`D0dg*=Jc z9n5C4A5_xWT>eF)zF%U5zHVF&#LBcQ4`hW&`N(^wmV10iO!V%rttdxsO*ePg)iYh! zv7&568|~lPdFAZ8(O8W{i`aw5vK4p0PZoy((OnDDs(j(i`Hp5ia2%t#2P#ZvMv2AM z-&-Oa=>C1B85A8OXMLB7iibO*d_2st7$JboCozz4n=NBr8S{AUH%JjUF9(qIS|c4g zE;_p1-03fOjJ$s1u6f)CW$Wd!tS&pXy-LbTx0IYyucuGZ^Z?L)F1&h<+Q2Mn*_@cNl8JX zoJ-~{%Z8enaiAcFuDop^B_~K)akpEGb5_DFF=$?t8wn1vVCe$}P^i^!4!r4@SIMis|qB0Kj`i^O;Vpq#PNDaq(G& z_U;?EA{kqR03hbZuzBeB8z1^B!(L+G>|W9ejI_UR6AGdt@-@J8)Q_lY>71YUDwGaMrEHSA{}*jv9ah!Wy=xr13nT;-3n`_M@}Po( zlt`BWD7g`&(*hBYE-4F8Qlup_#c;LlwnF|}6hhk{OAA^KT|<+q#{t$1%i#ukLGzIIXEzaLA#xjPNNfd6 z%0}hUJW4!;4L#}&2I@^5SKmDG%#z)k5$)pQQc_Za9`mNACg>5>w70j9JR>e`^33&0 z7_NzyUS3|#Ht%Zz0|LZ@O4EV02(Q&LO$lTYifc6bvjhS-U8m_Gij-7 zZ+8Tw30*SooQP|G78VG32nkbL*a2%DNkI#2Vri7+t znzSlMOC3mUP5C=jzf!liK|gz-BJ@0E$l-v|)GmTH4Ve}Gx7rR97jaoARW`UG%+&)` z5#00>HW@jvcKVRA5wdz^U|%0@y~BX?3%kIO|GTM@A3nyVm7>6tXWe+jt$ zA!2@B!+_>I-6vL~Ef5pA;?ah5f-C0`apf)qqr6D5?*01y@^*D(lmpovSH3_JQU01L z`-E)xoz**zf$_M(abYy`)2C11!bI{K1(lOd9A~!16hpbDSJ0POjb;qJCRxw%B6&?( z(g1cNoin$v;LbTDiQ7N)Yy$-*LzQi1Y23Nel#-j^nS#l+a$+0)`YZQOw+F10{QLLm zoI}M(L3}0I&7lDmtDi}{DU=$h&F7~KoSj$Dbb;pkmfG6d5i5Eb3DaS=*+*OURZ#9& zG6ahCo?s3wzZ*H{?yvLp^~Iav&pBlA$knw2MhTh;mwC>N#9iW+lX$2D==R}dVq((B zFoqUSRUm6{^JvIB)HG1?Aej7_nVIqVduVaF4+|`NP^-Wx@1h44vc4Rv(Npp-TyS|Z zv=+I{3CzE;a`fRYQ9J;yXYv3~%OVF2%6KfS##G!CLN1~0&r*Lir^b4=CFjq_eY^|QTBIg%?K4GX5iW}9D zBG#iV2M!(5$~M=-brM|WCypJZX)iw<|*SP*L@dkCUu8LmygEXHsP&pEacz&AA{f*W=uGyT9%d{d4`( zgAFi>GdaN(7bM2OtK#plIWIA`vN#~N`hv4W@y-66a3m2#JHMk{rfGY{*s)35(ey?n z{k#yrp~-gJL8ni-w~GfeiMbYQ@f#f}_Y69?z(0E4F0Iddz0d_Whwa(g+k=wTxw?2% z0LIp4+fEXy9EzH4?{Az(wWiZ{;1FMPMr|vpAn_186)>|rz15qSWBm+nKX|$eEyna% zJkuyn2nk`0BuUVNNL-<3orH{2wNx2p{WU}iQ;eHN+%yZdIX0w z-dRupJ0sSfwKac^5H*j@@9Q+#op!_Q`1`5BTdU6~4Zf#4n|7`$7EtYQ_laj)i=R2gtt0Z{3%_{tW;a$^@0q!ap=kw>w1I0O1W}xq7xkz6 zTRJeG?B*J5K~T`Z(!>bYQ2*WGn%aaX!{amLb1=_B2CHjeAQOw?i1kJqfGcn&^E0EY z%(HlpH&#c+3ZJBQCFJyBtjURqiFf&@C|f|Mp)9SdOMq3;vjl7iqV^;^XkHuV*a3LPg-6nk2Y;>?e-i@3}tOtzy+{e zdCqfL!U$Yd83?5A-M8<&xOj*Ccpe;USd&H&`KKFWSxI}m3a7`nnnVr$)rGWf_Y&>(21l6(mxgm9->|>E94KuSfR<&O5SWWalQ9vlTILC7!_z6o$GpUJm zoN4wJTh77`rO&@%;)f(-X-WHQ$zA_!)eH~!^&!1EovPuog^$!hPe-SbcIO8K5uh5X z7&#f{^Fv%*d@2C&k+Me{l}EJ2Kow0p0a$h23_nS7b9H^*zV3>}&(Du3#(GitB{xZ$ z(RndN*lN5(OJWS}Ku=c@m%GH@eU;0esCxL`rnOlQa;zVRg_ZPc7Puy{v0Z7Jw}z#m zr25fv7&`>w3ho$A{7vD8J@>93my=5sa@h&1_4myIbrA0md*VOuaA&W{nn8cxg@!~8 zs597iyPrS+uxhX8j)QdRBkJ*uORp>dD;!WDKs8(#)=tFVT_eC;@A>-LgA~bS?)K=> zZellfxd)u>*D>Zi%lkARA~t+kx7;0FcM;CsD%wty4JD@nh?5i+ zo?8vF!nfJd72fjm1$Gh2WsYFL6dEzugn3rSfnaH^uqeBEXTGC`#28dH_fUceR*WGh zD?7U~N=)Z%Yiy!UK|c7Z{|s;gera#u3-`k!ARut$$mieVQ45>IuI>0+;GTUN^I z;Epqs=*IutO|eQO|LLdm4R|BWKt;z|pUG-ku_Nlh%N77y9>C zXb!(N3g&pFUl|ZJrohk>fBI2Q&ccHY+jM((Zryr>5*qcI^eDack-hJ!F+JqY=$tz{ zHKvtf6igOyQ1v`ybl!`{_QOG*U(2;3_5p6We`Z=U>ff}c-tT#1QgQIijRze!McAV& zmtFm(FYTu0Je6(Ne)ibuf~lH3=t+8fmruFdvs5OwygQ7K#rvX1fEY(_$=&h!m**i$ zHc>4$%j*2+Z`&(j`szG;4%l%md~)RWOb@*eKNgNQeOS~{GpT2v1v3ff)`l?;Tm*3{tZ@QQF2XmM?)JFcF- zH(F{ik&@}XF`6^)%Q6hyynTOUq=C|qF^kCzf5MN?zaxao=LQ1lorVJTw%2dB zU)iT-P}?qh;9Gi0L_om)g9k4WLGn3ei4MMwAFl`ZC#b!qr)IyZ&xN?{iDversHna1 zX>5tH`pXV_9XS@a&)oc)M{8?75~BL?nyo>_!8~3&J3hnkdl90J;~p~BKhvs$YV@7I zl!{C|0->Kx?Z{JVl?E>(U3KkrsXu?7wC9Y+&fokNP!P#u%4S%9Rl7Z3>yCz}<5IeL zz{Eo6?J=bw_ITkmv6H$~T;`nWX_q|O==hB9+*vwCWFH^=t^`3LP380DXsPa!JwN+n zG%sJdc6_~_;nppCSd|4{6*>iTuoNSw=z3*kJ+{2WS9d{@wb-VZ{rgNpb9Br6eyHfjC20k+>Nvd=NBEj_bg zraVd~yL>ih`~rD9c{H8&pW_4=RUb`W|KgA)drpj=@as>fK z+4+96RCTE@?Kx$C^=E0W}7iV zy>B@=_7eP&hvAey=w3$Lo2E9lvBi;aiRXfROUYI*#mkl|xHfvzvuHc1Wgkg>%446g zSN@RV^@1SwZ`3*`?G@$1tVq)AG)$Ye%gf%pW%BliRef35?EO!Z{{wCtJ>I*Y|LFe> zZmZ$^He|iadtqBkdh}MkvNy~3Tc$mz$3+5lS{`pJvohL7)fRTJI#hA)b06tesb5iM z#19MEtd%+W-i`iuD=F}kUd%_czlG=Ckc(Ql-juRwy??QT zH{0C3JosCEd|7yI{r>^eIZB)01uM}CJ)-7F(Cyc8R&sjHa6Eb2ba6y@LK;>1xXa=X zQtNTool1P%)t>N$+qMmVe|esg+&WEsqplnyh%RQ2u7qYz_A7A>jJB3N?e;r1USOTV zylvztbNB5imR<3_%z>{nn4ecY|DYFGX#3~=ot7!5N?+z#?HV1z<_?x@(U4LaZIS9| z;QMJGlABa7{B%(rh~_#-#?aKiT(8P(eeT>ENrH-vvLRP@aGL@9J0tk ziS&5DBFWtJN~0c`Be zagw|GWWI?lUCZ7f^o8Ec&qoP+FEX5VNH)VRO>i%e?M5= z!f040`$n;Eu;_$pe7vWS@i3BCy7_ASMURC&8#}gNiBpzoj+R@F0dVQy z82Bd7I+<+5lwBC`9uPw&sT1)A0^5cw`Qb$FY9<)UMk@dF1K{8f{{IU&_%tytQO>_w zPC~NNe&J3$x$mNC(|Y@t(He>$(+-Mhm%d__IJt|}Rw4gQ0i`T)D?YPhFCG8W(bkIv zPG!u35!mj2yDFyZx|5f+H8M^LRTza;Xz&`v7`y2ob1v@fxk08TbzflC;PUWnV^v8q zZcK{sBxd@8DMpy}9zJ$qYR^D5t788B`?E>+Moz|DQOKb3=VaIDf3oiUg^TW`{@)@+ z%G#!D~L`H}Z_`NUAg(Jo9J%l+H!fkiCh!=;fDV{7-nlRX9IaE_U8M& z{@~tVDDCvD3d2m}B`)olu+z1PKLjI;>IC?_n3!jQ2=`2=f0(Y-`@Wf+d6MUv?VChH zrM??~Zd>y;sF^xDJ5zEUO{L@It!p&D?2{ArbqLCV&e&??bJLiP;!=#W5V|fnI5_xK zn^WK_A0iMIpr*;@H*Nw%wT&hlee0~(-d?wo#Pk;S5H~rC(C5O1zyA8`PHG!v?79*N z)2mM2t_nwjW)S!E*)u1=G^?Y0k7}EXf6WoNkaMpkyZ}-F)w)Hwo68P_=;12p?nzTK zrF;Z(_E#ztQpgCvm=X|Dw3ZKeXkVP`w;#w~rO zTr2I4!fJ8>P_D-pR}ZMXzy7KBpJ@`-~*fKra zaFhl!Ws!WsU*Q4GXw(VFmoj9t(_qEn`7|%P?>&Z04?eg$j6a!T5=`-U$hDZfVP9XN zYV z)n8pr^!UXM{9-4&IX`;4kl1sXFU-%cx)4op{bw9#(W#}DEI0>(UK=wJx5^pa1Z>8o42jGvAeQMacaB&EF>GjS`PTC8Ycjnn!S3c)` z`SRuQ41mclS03d?9I&;qDY@m~kSko)#U8bjLD&XoO@Jyhf-nk*LZWo#eKuql1m~#z zV>&dSw6(=|v_iqR6QHs*XWlgslT(R~M*?oBdWsK^@3TZN=?o7Chb+U&;$$`8WVtZD zM2JmBIWK3w+p+FA(B0>}L}{a;vN93R6vk)bw_*lgGBp?*^}L-4j+ARH*-AO!2uTAv zf>bBvucML>b8myd0h(-poTr$rv3F={wt>ggC$`%bLePVN&;wVlR+#R_A6GrYa~aq! z{2V6Vyl~+Hu$e=hd%GT?W0HY^0V}*1B^&~QqV7Yk3e1Twlc>W8fZd}UVA#<>RR&1a zBPQ)H0iqf}06(rKCaLSago9VE;`o_xRuztY_Sky}H2n6(v9U20a>kV|V$K?qqtw{f zR!O*yB1#|Y$P=<{0_VfxHZWA2Y{MOW24AB~MZB?Ziy3ZilAt>2S3cLfDea=@>;4fl z0j7W5ShMWk$A1G&A~;~VMk4r|8e(d7J2D~xgxT8JCFvA&z`DK$t%)^XUbHol`+L`} zT_)>S_G72`0PYrw!R-@7TN+a;6Gm7%nQ>)5tj)eZ^!AmJO=f)2(!m{BcYBfxmd`pZ z{y||1z)AF_b~0lX4l1#m85tZLG*I@(_nMhwtR){K+feN4D!ji6`3SrQpyaSTH^406 z8Ny>w1C*^d5L%*!oTa%-#f;8u8W{3_(a$2%e{<6+) z|EX(tV5Mjrh&X-YGbZ@)*+xfl@8vn~w3~RY|Ex@x4C7=%+TyF7kShhgSE5<-? z(-nO;FbYs9Q8T;dQ)1yKV2`(~wtbJsFaU>H?fhIY?1?O=;4uLSZs2NodVm$k;Xi-s zttr=$ul?n>wb(sfR(#RgLgIQ!q@t0w-xeo#F0}xwbHE{Nx>X;wsy*_OZPfo@Ex9}YgT7YY|gZ=d49l6cKJv( z(6Nk{iAIf?=?KI(KJ#}Kx_g(AEtEP#XuhpatY_cennQnA2S;sOpbP3PPVC4unwVkl zT)a0THNsnM+$?qA)Yasxfnzey>rd$@#HXa)d2vnD&LNR$dV+EO?b(M54vr(gw)LG_ zB#}oXcPPbN`q5)iP|-gY**)Lm=(W4}v1+_%zHjG+>52EMhl{qQNImI%^xLn%SA6Qg zk*_nf241`U9|^pPEPwtRvggEw zyNB03`r~c)s*~k#(Uue$6V+w9Q_L4`9samkfm_Y%qR4TPdlwCle~r;?4BM76*Ew1I zXAH*ttAE}$=ku^uEytf>JL9~=OHRTTQucQIqNa_z-1>Tcm+BN*IV(8>rju!UQGHuA zYD{q6nS5q0-HDVrc3n~CqX?aVY)cWF4$qA~^N4SD>QZ4#JBm9#(vT-gDmUe)XuErO zul$@MkG%C9sl7C&Y;QOW#dAs1Y) zW#{?T++x+lz1C_bPCA^u5MkgUw*1MKA3z3EX{O z+$KitU1~H>Np8E^X0gL%aTbF)k8Py2WSDy9cRIH3RQ{5&eIRPQ0k$D z-^YiHXABS9#mlM0oA5ZB6`^FzbSrClWu7r2@8swM-i6+kHBT=->@-o0er^>l6EUCd z;IQbrOEb&FpTg7gZn5DPO|oEi4xLIP;K-4|=pPybq;`RrVb-$*SY0PDcy_7y*r-Rk zDw}}{fudURvH8!;FWL81>vet&?ehr!&S9rN`Br|BWzHsD?S;t0*i#&$PNmOI+H&)GeppJ=DEE=ADRr|mfsOuI<6 z97ga5RR;3(ZqiSXyo3dhf4w>#edgo8gGpp)J*sin1jL;`%b#M|AD?9U>LEVT*go1g zbT@i;^`d=r!u+q-<6q9#=jL^H690H0w_4*fF;dn#TI}@Ra9oz==(CFOas9jgDtrC+ z#!n3%v$%L^NrKhY+x*=9rOpS^&RT)MK3RenZ&rTj>$|%$!8qM`fl>6Ncl+Wxzs8bS zF0&$f!M6oOQVs}|E~H(ZuTIvFZw!_bvL{==bmnc(fb5Cm$MfWqKEtv7&Dn7Gob;f2 znoKr}g{qru!~2LIN0u|ky$e?2)aM8J)zhA*-)Q&kbPBv*;Ft%NSAJ(oYk7|tea_9x zyH@(;Y~G|_Ep!;I53QCGr}q`JpO$)cHpk{#UW)DG^IJ!(FN=t-bX^>^>RigGyAWS& zx~t)y;`-a3>;&ydmey~Rai+7JUmZ&)jX0YEX=kvQ2X&oV-wRKJ%dHm=2anAQi?>~6 z^o~v6ogA-I!Z=iW&{9fgg~D^Rde2I#{v~vJzT|Hj$6yK4a7)&^Tyo#DM6$uBHrrn5 zXDsh^mcz3-wDZXA)naM`Nzo*^l9l0W4VQ+K1@A5=2$%f|bohNLy6i1yL@fm<12`)x zYF6j`Du1QHPH$l4kl(J*FO`NY*~#8ZOx`Aj1-&71Cn`OzQu!Cuq(xiNpT6Ca%T9N- zvh~mq|DxI8=Ucbsobv@=>BwuiS^g2wfBUod?elkO-?r++$!&|{6pSf!ntPme@~d@e zf6}p0{@FL|yeH~z)o^E{Of5whQR(zPf%O%VE1i5;Uqj-xy-4gyj*YqH71p@ac9Ao zCU5&)f@-E0I-N^zm5M+1qCH)&RhHQ4HL1cu68v4ckAWeAj@MT%hi8WItg~|6Y-hyM zq<8m*tucR2@_V!{9LlkNe%em6sitG?eeFntPF|xp@gWL|y}w&;y6oh%fX0ruc%e}h z*K{`j&}vtbUfAZjn7u<@?xxAR9~pyX3te4vbv>OKb*p3LJ1CtJID3KDctGCT-6%e3 zc6qsTNBwrv;M=nn9CS7+vu-7_9Gg>QpKKU9U-oW>#o1PBi0<&U%GMhzPNgq1_<;BS z4jIXF&XMkk(HU(?`5Bfh)=3|F)XypBUW($E<0eCO*1Gp2B+$Xuw?L{|oU>xGlTcB!!J_Ynjz4Qob)V6SW*&paNo$7T zE|r_frMJfD1*a%hlX3R0tQt?pN2^mSvBt{MrKNI?^WL3uOHQS47cy(1_{zd!aR1{^ z+vFJb1Ztfvci#1mCWdv|XSaS4s>oJr>z(F^a^ev+9yF?axP9>S`bvfIPI$L9dC_(Gz{XnBQ3*mm?M7txYEhyE|t1lrW*f)GFupwudI?- z{!-ii_h`etxHqCaC+ec=_zt@cwa!$iJfRw@>J=Bc``y_GyS`^htF5D>UVrW(>)9we zekrO`;a^%?CqSJQ98JZJ>o#3h!a3mKY<;0tO>w5Qo6C$rbWXZ^(XF33o3m!0s-<Iri^iuDQcto12NY{x4k2EYDe!0?bLgkN?Zxa_2X;+xo0t9}k zb~w#`4lMsdUFArc$la3HVPW3DdExor{2mJo zsuVX&p#>W&C8ZP97S7?b8&x&3RPro&3eOGUA= zbBCOSovgzTKF-hPIg@@_>Js0aL!)s*!;p4Mirn%kv4aBC z@x`vI%Q@rJiLZyJHx72t)YgbwM%(4i@6?WJK9s@h{I2-Ty|^*|m2YGPId$5JW*GBS z3O|V?WYd-Ugf}qiRDE>HN_*BHHM#~F&Gc8_a2myejnIoiC$E*sncv?zELoLhFJ18z zG`~|q&7G{7qZ}*V*I+p`m^@gY_AQpRK%F)({ieGgDZ}_!a)qZRYZM}hUxS^R&IBR- zR(z7vS}xMA=R%0PG>2QJCkHAle>X*S_nmg=JJIR=uVN`1@3X{@akln8yRGXug$s6Xdi>`? z-s9HgAWXtnRd*zEaQ0eaE4&(W>qKUE;UX! zG5CwhN=eZ+PV(}5gayaO3J(h3xH9X`$QUW8-7)=h%CF>f!hv zt$Z8z_ts){9TOV2Wd=WAES_~R`98oc!8WfcnxIF1<#5^AD>BlHwpf|8A-(<2=<=xB z&Z#iLi=uu7Z&IVvnmd07kLOaarVPFjC2lfNV?V2>-#$QGNb1aMePie4HY?7l{o;jA z`alN5qHM#|jw^Z#oO(|e`bhW60q+m?*uUxp}r?clyW za{h8Q5-STcKa~6GW#Zb6-?6YeyVtXw6?atiQqe&@E%r9Z?E!9bypVg51 z^4(c3=AC!%a$V-3r5ni8+J-vsz=ec|XxZjedzKC)YbI$-G#642-BCHq_dDzZ-(u^& z;)RNkG~-{J&=?Zy9RD_D--+Zctrk-&d-v{(;+WTUv)i#LeMjl?qu@l|^{tNr*skez z4-x4oTNLut3dC(J8CM$>DK+J<%o-UouTNaj$}}&1_IBSub=fb~RO7k7O~hr4SvKg5 zkI+fVsis>GbdPHEa+bnd3;+D75GU_D9~ggc(n!DV_75umS+bm?o}t_d6&I=e`L)T6 zx@_N-kUkHmJeyB%owhefKA9W}NS=3xmHv5=^sK6JA`p1^b zg-_%=+h@;Ts(O{b%b$5$P4sP!Mjgi{9p*ZlP}9#>G9?BU2_8Pr1GkSsP9;4Vy0rrz zl$53?4o00El{0a^h4BrZxn977e`&vL_tV*>>u$# zizEN&wfuh}v*$|ok6Hw;Y;HX?TB5w>jnwijHf4c=zi(~XqhE1}hC|`Wuy`*IMf9!f zt_T-tTx|K)uPlX~BYzb#rzdOv2)RGAZI5BaC1M(Cg6ukW?%HK-##pi${gLE@R6%OT zd3;mC=Q^h$6vBMu2v}R0P|zSwy;~Sb1!)dgVWPro*XBgQ610q}r`@?b+QO@&qmyb6 zAMSD{%bCta5WKwE(N=0;o-{Nlv|MInWTX)Q-@7)~c5>Z@ts(6Zul1@UwHQbpxtEFl zLNgjAt|jB&wzy;o>3# zX9lYdN23s=InQQblYBY612?tgOsxoGKD`~~u}|GSJ-2S&gd$5CU8)&m6b?VpP| zz){)0ZJURuC)z*9G07+={KzEfm{w#21_uW(TBSr1HWf&a&Yt1?@H?zUyBLIjjg2wv z-hEoHY(KcwIQA~IT|GuOMHO=s+DXhKM9tUOef#zetfN}HTUJ12A3S^rB5wb{KrlZ^ zJ2j_#3KhlGQ9zc2=@7WlK>2-Xh+_~@?qku;wE-qhG|~bpH*WqzdU8XzLtg})8ZN9q zR|40*8AE9dCFy`O_5`DOjNr;v361COJ9tnP>Q<>57BWEHZ#xn5O&R;SoHIhg!izv> z0mB-%qzys=29u}^nkO#4TR|+8tb?eF_7#m(hVg^AC2{d$#97NzxHqf~XM2#qked-z zGFvl7dBiilCQQTgU=YDFPu!Y8T@FpR>UdHxR0<0VThfhka&p4jwSvCb5i}KQ*vN-) zP$y9uJcWTcuPo>Q9K|=dLblPXIp!AS;XJ?@R1?2?wFZYt;6NJ~zSANULPlZVXJDl` zn3(#ceBsF03m>rnux|mg;@*V)X*PqPiUQJ+TN%QUqK+Q{f&;9^uxBSH%W>jSbNkP= z2`5nVFvGwLH!Lm9c7oOh)ZF{ov!Fdm;*YnYk6<%I6_pcd`Spd^8;D?!n2@fsPC&Ye z6Ou1n80jqNyqUsd++;S=l)|MCi*Ffe@Dc4NwD>h)rX_7x+d@W%hg)%EDAC7Y+{~qu z?*KTO?zhu*43xt)cZaSNX4L)Z)2+L95d{?3yaL#!m_Dd!rvGc9ZpEMeGizM?XcEEC zg(@fN7CS>LVW1N@Fn8mI4NA${?EuP0#;#NUXShCF7Ew%7ujnXnE~uzS2lJmlJ>EFk z4H`yzRz{~iy}heZy4kmPZ&NJ@wuQW~>l1+?Az3)d1!A4(lmQwK-eoE(OzSsp|BcBb zYJ%;bY_O~Kz%a1(Dk&O;X5wJ*;nPnzITP~B03B2R`%s}*_|loQpPKTPau z2s9XfBD?Bc7RQCU_H&?C4H%y$6`T(zRCmu>4sB-;7C3$SJr(;G{v>Rec)p+w*S9>Kz}c~OHa6%4!jjBE zO>)E5{ikzy1z0#aIpP0SU(t4QhV&eYTvd@GMvn6!T9@}=z7kZP!Ve{B3hp~wPK#29 z6)F^YXL44J7^kmIO-|ODR&J=d{$D-@zBfwuOF zCc+V$_eniQ1Ekd`EgUh9KryXwmHF58a6HT%y$aq|Utb?2=ti&UOwY{h+_}@rOqyfl zzugN6kn+5{Zs>pcW=t{9Nwo!HB0eL%U|{Rdk{?*vet%2N)QZ3s#n@;TrCI??N-n=AAnU zcEx)2i^@fmb*$oNxjtl@{|`INKxuNx2s`KVdhbEmNa1F@d>mn0eww-9KxAa(u11J9 zjJD_Sb8&GUInoVpjbqwxV++{0{UCY(h`pnD)-%DKGWAK1az`Ja0ghm+gKw*vToQ|; zRnMdx+b09JiWP{n7RZ{%L$QK*j2bHD<2*Z2CiXp}!GJyhEu0${TG8iL7q3!XUS6J? z_*@R*sUJDfdQOEXlp4=xC6Wt42pjsfYe--yQ6)M6U*f%OV2; z-e^ty{;i6QzoON7Whqk_ViAN(J-nDb5IOwgwIo(8PK4DptuE{rf}{-s``+ zd_(@-r-SRWEe6mXpel4Ghq@SzfKq5m;zu35{r%EuJoWta@a#~1`6sWncB@XDnD!4? zQ1e8OgFn_oNV~_w5tMq59z~aqBH6MJjZ@83jPws1Nh1l3CmjCwI zBNcG+2BLDs(01t}DJiLz_cy+v3$gZ6i!yAE*por%p#QGgLevgT*H%4Vec4}Kau3nc z8m=&v2rRlVpiPi5RYM-#RS*8-(NUvabe7IfBu^PspEp1JecvxpY6+w<`MCZYp+kaEsJ`oI= zQ8i5Wf(wLSt%p}HR69*s_^^dFU2Ok}gVt1ihAmcBdaXY4ed3m%Z>E3^w(2KniOUHt z*6Lpnzn8txZ?fuHH^Lta`2NSItX{kNnu)O1>`2?cz6SSLwIcYP*$6=keZpT`kBd4j z+MqS>%9V;Qyzn2Is5-;9a%z3-9UPp)rV8G{N8)I#hD+pqj~_o?BA0WLH58hn5f;fnxARh*CV14Hrm3WqQ0|Wtr&Aba#gx5*2hIw6?yLKfJV~ zJgN#tu!~-RiO$Nxf>k~3mqoS6!1y@g2U{Z$enoI+pY zk1EEVoK32$Q7SgfaqvPkS~eh_B;`#vASz6Y<+{P3yo5qHcCQ8`Q*`AF+tZWiQXWA&JSrk(R;Qc9*5?>zc39mIZS%?%w?yiWS6O{sXUJ_{>+fQi);uw7qMr{!Bh{h=R z0(71P$f0L2(8uR@w+H7k`c!Ktf1acL-zHT0Hr(odg$mj%{`|({po-R*Jl@kobf1OR zQhEZgH=)4|jmCJ0dc)pQIQ0xz)7>74P;twDo&#DvGvCzNsLq4W4l7O^;A(A5P@62Aw|AV)L4^8N*y+ztH^f7=N&8g{=ESs+s0C3DPgm~A3* z#|&=v9el^n=gs>WI{Wi-m2;zY=Drr}JLh<;tOrR3vn=kD81fdW+?jhYrXVmnM3O#X4ME4p6c; zjxT@P+9RUj@-O+7W75jUey7yzSX7zI)J!W$2(=%K?;{vma$-xm5jjE67{xg1cx&d3 z5K6Ju$$a+PrH$54TVd<5@MT&NPvBpOTd=pT;I9)^(iWQZcJgN&3%%kr*B1lVg7Gcl2pZrgPu zm+>HW%5pRLj-Z#biJ2X=h_}#>L(6Z-iT99xaZ=-JD7Kb(Kc09wj zY^!lJtZCE8*MAHoYaw%KX$gUNJ_MjjN-ohTa6sT6(w(7Z^r({{9Vy*DhyB<4;F-^M zDPZ|?UDqI~Hz@iaxNz}e=`FNitzW-Boi*^35=ye(T)%2de=iOv7ZiQ_7M-UQ7MPhi z3$_mun`7LQc++y>0(S>%qLD?6BRNHz8d7~(>qlsLLx9B~XnrA5Y~t%a^1D2p^)GHx z(!p}GUrq++UAGT*7B_n=@!k8i-l26^9DE`7rFF33yWch zsV?u4ic6b>c$I7@S04g<;-}@J7VjhH6_C4v{Ccb!XIoyR>6&)dX4*k!ELqK`(zFPb zDj!=x9uk;{Wlt>OI*=Oehx_^Yq}yekQ0b>lZxd9g*i@Mq+L+kepW}JT3+Es`RF|Mu zivu;13(9VhM?ZjlO~{7m8cV}S1A0o%=)hnB_B01%D&FIT9u*=+L&XL=9>cmz<*hAC z+guK(d95++$PMj|Box4O&+e>jg_jhBtsqiO*39O@Psm2{CW`2Ga-42JJOsbOEC)Ux zDiqL86|mrp2=Ja7vk*Wta_z?*<(m^E5e--zQ0wpPFQj5FB0&D~c8CDl|%hDG&y;KPaAIvB? zZkkxjU%!3@XAgA5VSoi>12O@(Ly>q9UHmPu2}L;(Fc(>E_2AdZ@7&znEQ>k+>5>4? z@zmsuCk;0kb{g;^xZ4t3Jz~HGnBfR%5be+)D_X)&VkTJ5laV?1S4FTU6WH0=R{Op{ zmBq!yUQP*Qc6zzK4;Rr;+QM|;)V1$|Pqw$Br@cXK`>!{ZB#UhT9$mH(E8JEe>zC+n z&zpH378Vv8JAh%HdL5iA09XQ&6ap`p+K>B>TSqLuv#d6GnIDlp0|@+>RKP)A!)xSB zKdHj)5g+83U z$Vo`ZM^~0QS3shqbSeiUGyhxTnz5o+?$s=_pYSi}B;^!$d_4k>4?ZT7)2?Xs0Pm-KpNI8AGnSwK^TPYBA@Ir3cGVQzk zvMSn$NhnF(s@;s%)HsG@@Q##4I*JX;-qx_&|M8GopwnB)+_Reg=?UBeoP4f@5*2bV z$M=rzpFI&9A7LaeB}mCEB=YirmXF{hM|6razS z{kG<0Ha)(HYY(teN`k+w2YLxV49T9_SBJQnPB=UcvXTZhc1_do3z?8yl zvlZfVqt(wTUhMz;+4sLd$^fM&^%}s z+sq|?>CzKn*T;`Tf#cGZzn4ZjQJoN24`mv>qK{A5&VWdG+eD z(cpR$DJiyeCFx5ZR9^N6($j*Byb}tlBP_-jV=f=P?dLDZ?cX@*Z5u8)8Oj|MTH4sN zU_~7NmVuuAH4TsPe`~HYVhGo@Jd6E@Dai9v;?su5O9Y%dL!<-$<1(~S^z`Yl4-Md4uxvA>z%} z|6C-@MuVO3Fz8$8UEQ6A)w5T3DIt zp&7z^{`0fbuI&K7b`r)kL^MnM*MRTp&k;Vx{-+`QX{0C>YBIx<)xUXyS3^T7lm^3uo0!cv+=WD36>{TznBo^ywyjCINDt84epy<&d{)8QdX_=NPBrV;np4?XS@2zD z&CPh%YKM?loDM8o&cVR7EjJFoga+JLu-~n5{TA zAt51PD$<=!|9r#3HPjAnM>)>fd0S7Ew$cqFMC_G=xVgCnDfJ_q z?=`A?=~4+m_J9p}_G_<4BBNM>AW_i!r3&t9gj0&+R>Yn6_nPGJ-ueClZAhh`5qC_F zZE&>|{9+@a)pGqD@j~C!sya6&0SSC{aDa6jOYNQ=RwGNm>qyzc#^bYi!6=jX|_V)Jl z?AyJ2_ujqTK*iOMN4Yu#B6A~rlf}R@xW)bVMw%4zsGS`!x3C>970b(DQJ?^}VOw^bYPvc$cH6 zyljOagxj?)G#>Cul#sP-HfwF|_zq;ILJoh-rg?7yz(Ki+uS3N2G=z6V9p^)o6z^2i zn#NuSQbQo2WjA@*4_yEHWKWE>Gq2C!0$>PpnRF$;@90ag3=LouFzW*FU=LNJfN2yU zL(u61(8Mzk8}?#D7h+Mg6k1tZt29VEJ@NF+wH}X5A?s|!lA=*G^SH5@+U=Oz`@s_| z1bmNN0N7vt%JKqajjnd4?m3SHIS*IW?pqX8=g9x6XSpDPNpktVDXQx5eVKkt@=jKI(|-BWW7N5x8l zF~B(FcC6k-(CfaEXWaaOoKn&_i;`Bkt|Mg1$n50~S`2}+@z*$ToRR*}-UC21=GrW( zOOGxiEyU>;c=0iux^G5UZ!sjZyS`7{{u6#C105TvXkd#lR8|hswWPTREIa71Fr?m6 zTl6=>BWqlvoy@2x+{)3ENs4NN$EZ)%(NU{KJ_1M>^`z49E1^%~-@%l_Dt116@Bpel zZ|X`uW30rJp@lN^b6kQ#ZK`rBOF)H8Ab;5K?#d&X*IbZ7(*z$o$O8x#?Wm}*`E+Te z_3JV3U4!PQI@FzeBy{80C&_5ALDl^?3PsAwqDYE~tp588NM^k51*Yy@_8~#cmi(qo zHjGb({P3z;<+;nu@3*^}-BmT;?EL%FrWk7gH$$VN?6-!9ejN45?Kj{wG2<6_r!5Gc>X8hKA6?Ii3l{ zwbO~dIb0etmoF>mymrOoxeOY36&zy7o@AI zs?3LbdKA-Q2c*Rxx6MFgNsxZ7dQ9oSFhm7jWu6~|HbNWW1@j_ zkhY=W5b#gEY=}%<9Ogs7vG=jLXxy1Q5dwEV|NKFH83(`x>wQQX*|!fy-h|?9$eCMj z@&S?n*z;oy_8v!#~iGd9DFJK>pnMf3~|qDYGn8xab3KbSqSAoXp2YM*veeItFdbQ1p8B@Wwh6vBfuiQL?RTJQ>_OK_+vx+aPW3ok7#v zkWt-tL!k}wRo5#l`FfBo>&BoBO%wnmuud5BGT_a!`j9lk(tEU8@TF)bLrt-{t>2>Z zo0g^~YVL7ttP6rmi;HB(S0A(=gqmCTmiPkYLf2s--}+5oB0s`FcF=Hr1@zyRl(74J z)BVE<)4Tc30!%=lL4WAbrk(V6#w;k0M`hr=Y$Y%M9dJ2d=>P~5`ukhJ7oe(LZd~NI z;oH$#flwDrlx5AE%SC~hoWSPn2~SC0-sn%brjL(}Ediiz*>mjwPUxySHf7GGAZkBj z3>LztMq9i6Cr+Gj-&f|nrSGhd>M{3Yd-osX13dW~=IVC^e#Z|5Y^2b@)Uo-eZf;HE z+kV5O!kA_GK zCh&B2_SDB6(~}Gro&dhbs+`c2b@z2eHc&Vd<){ss+JAtn25*@K>J`8(ZK1G}Jt(>L zp5Bi2dUKy2ZzJ-5b8|B8h;oF9vWl|D;e@)=kJ1eXdrSRM0VNZ?jsx?)rvncX7DW|! zsbhvr_M20)vzv!^aBy_=5_2#teQ?vyOOp0rV*=FvetN5@oJu1ia4c9E850mVQix-L z%#G{}+QcaqL|c;)4M?@rN;eGPq@0u#7e9%*3*w5wrSpiYBF1&K8d!O~?LMYq&wGP6 zxCE#~J^hW4>wELy!wHwAQQpJOBP%V9T3<21K3*{gm&3?k5|rJ0M=_biS)YIqu+?Ke zRAIiTOR;OdNCY$n7RqI+mP}G|et&eZ_E~7&!4_n0$Cv#GE0X4U2X$~_USs084vC=^ z7PiU${i=k7Ya2mrc)Qg98Zi~J1cL4W+ld&SFIt&zEYQtk+wV~H2OAvENHOi{M}fTC ze|BdEgoFs7_dX#ZAyUL1MiulmWuD>^)6=S3u}g5>4!kTUFE6jJ-;X+C1BE}N*t1x% zZo@Zz$P>VzAtO36G7=Dg6E%V%il{O6oWWA&#po+FHFTkUqoTQ|r zqSC16tIh@_9wvW+#T6SHn`u~I*4nxNGk@mo9d+iG#DvE4(>ESe{2;0}C_;qpUcuw+ ztf)g|&{0QEZ1v`3p9KeT768K_ib$ht%7$>Pft(YpR_LQJsKWf6E`etUO{c^ z?#{zjuB+S6`Ap{BubiBppDak9d0|vjQ&Vg~sZCut$t-e?tDn&V0~u6w)vWp&UI(Jv znoD~MU5t#3qCP=NHKxRLzujH>8Bf0d2smE=4y?2gwN4OD{r#;ti$K^$3(VT^hyIzM z4EL!Y<46;=4u;cLP>zZ9XTbCF-Xnqgg6t0CXKRmbWG~8FJ z(uMAasDE?Vx#8@QhWpK43H2V;@6S{-&hi8_7|fbIKVZaED8iXK74V*aiRr;AwLzn7 zf%zZvmp|1IcpCj<@+U|Q=}tgmhPw0m2_u3(DWqoSznlvGl=}6a5wGo?rw!k3@o^HgSp1;TglN0?(+cnug}al>8x(i}^;XGkCEfvgrSZEdS*ie+~rk)fz*xaMkx}RT;;}+893=PAF^cNF)Qx}G2zhi&&GWlpePa~(Ep58xwOmOA{BwxPP z?g&B?S)#rvPBHckne4<3^|b!lGiT>o3g!DSV*bL~TiR!n5iQYvQC zT$BLZ5WblFei@6x6i-4G%C7Wka>9F`_{+~=5{T~yHZ`H9q@$Zk&7q8U~453E}8ciep zU{j5hi}{YC&?<KM0q*>YAwa!iRKzbn|fFASG9l3>6P!;kTW!LsUODAUQ zFF|J3oJPCc6}@~8?Hx2Z09)@N;+WhNoZWj4VNvI`m6a8m0uQQu>FgYfEc#J8U^YuE znqhuQ%7{q`En(sr0uq~mQ^V|MEM-+RS{Q`!rGxNeP2g0dnirm4*Nyu?GVX^=KYt;( z6(H260YWzwo8kez0jdPR$64KeNanDK&1WW)`NVy0>~A=Ckgjb-^M=5{K+}aZ8g01q z&5lSqewQVfy2;}wPDD`003Fbl`kkc@H!MWZ8D?^aYLPalPS)j0W2yC z6$Tyxe#ZU>`;(w1D`t@hF^mP8h~5`y&s>>y`LZ_N67uXghus_jyfBp3fyU9`=w%po^#?b7R=4QyL zGK<{{nr7)sLfd)|9CGW{Ehyg8jaFB?*iBexe!2;H36)Bf(`7&$D6K~$5eth}(A#b~ z7|w9oaeN1}5d9PYsfX?7u6VF7z6>Gq6+d{i0J7{#n`gJZUjQ2#=1uDI^YcUL#`heJ z9cx3I=*DxZ?T%65oSdB9^<45Vvh6qnRAp>Un}UE!I$LIEki8ZgUjF&y02Z`yKF`q} z@IOd*h+vnuXh{oBgrH@K(kf+{4~d@!r}c2(?9znZ9D;JL3}*KlLP#8TnsxfxZ)}bm zCULx%|1>Z5ce1UA;(S}x-*0+q5<(2Qz`c7x44oQiXfE}T23c!Ba^h&uF zax(!8CPMA!fkSUcM@v*0EJicrG@7=XL)}oyM-Q&xkdVh9Mt}lw9QNa-oOe=x+2kL- z$+iaMLmP}|Fq2l-)X*`r9?Cy>>#yx$deQai`G$6Fpo&1R-zF#Dr%wg|LTS><**Gr1%O?Mi`1Ovlo);nmT}@cN9F<^9;uuUNDW~H1MU-P zFsZ&lAdsHnbq0A}T?s)q5!OVT`X%qvFEoi8V@|2)ZJ#@7#=6>bmv20BuB*j@$2w63 zEDhR@MQq#SgUn;9FRwq)0SWyy?JG%Jo(qpfTKI)%=1T6FA6yiSHty{v9xxq1YzD__ z&s6Jro+G_L`-(%Y-rEw{-_h?kA3$*wlb4b2N}RGZCFGB7wwFnVrsMnz^Z7%aOLhzT z3fCs#N(^k6K(=8D=pxI_C;8{)%MNIW6FO8^SN_}qQgfOtfH+=kV`@M12ha|IW@98;%Cr?gxm=z&mBB6%W3f~AZ?qELwrQB5UJrr{zI{L}c zH|xglAD}3^b?8KepYrnJS+yksJJL*v^o>a1jOUHrK$ET9b5qrS3K<&B6m6gMXwL#2 z5O%wJJm_l-zntMlDkhqZv=bVxQ9}mOmfBi3DByBoh8@lJ_E@3oH>G3rDs%yHg|y>9 zwP0q;>vV0BCCDPJ_ux9gs$9x?si>%E|JGm@k}4b1Yj#ekECCXivn=MA$CSv6;2%fV z^!8KK{F5$tut7JxD`Sz$No2>HBN4+D(9~x)sZM=cNEO(4WM|>5U2>s2mBz)qhdSfD zRwn%3_GF9XR=VoghdH%*Fnq$iEC8h$R?horCS@3BnL03~B;~zJ1$Aebmzx`lr*) z@W>2!!{J^_$5qHRky8~6IqfCPA2+k*1w08Gm1?EOSoV6X6$`uE(<4 zZ6k)+Z-z4!99>FP4isS7A19k8}RF3pB2PS4b;yQi5uw^tJJVg?E)* zrJYpR0cK&rh0F7zoJ_Z>!|iZ+hB)e|tga3W2vGDHOLYlyEljRvWIDoQb1Eq*2_Zd_ z1uiYg=bCFF4aZ8gZ|*w71&Rl1m_2V3s_=cJ`LxexR;U}SUxT;>VPWBX@FaZQslP2} zEC}olx^0uNIwlByHn zC<75=4tEXbGgHI$#%W(al*}1c;9bOOfG^a&4gQ|6CZta@oXZlmt)&|onI3=vqG9lx zVQS1p!p~seAp_edoqzX$cH%_qg9FJFa0>`P$v%CMY*-BphS6kIl5<)4m>ouQ^yc*! zx}7-T2q$DS4;L4tws$ao`C)EDKEvF@)s>5f$M^FsPZ&F`1^PQW5)Xt$TbU}!(lZ4Z zyYRwbn7srz2Pkwv<-7|HmL9c5uUfC=mj4SGMvIES-uGv!n)*hb)r$K&qH##ylD7+W zNvOVQz0OHFcb~4VUF^-;<$QcL%C-XtWrQA>S8!9u2kz7xAt8rvaoRgIWl1S1nRN7N z{RlQ0Pba-~@yH5|g7FW%aH`eZhTiu1c5;4Jy7_Vj-o$bSZ&s_%pl-!iRF#qbpdC$& zbE~gnr^m+Mv5;{@4<#(jD?vdKEUu*z=zU~d7`w&#ELj6Vuw{S6ih?NRGhA;pXZCFC z8b@U}W8ENlUjV$|nX>XO{DzRi!V^pTxvmVZta&+l&ok3r^Ies&o-&{vSTu@Lb7y)KMBUY4U9+bMJ>?J25p%v2v9>Y|X_n_?0P5!D0Rb6s|T6%g#kUbtfdW6Cw7I%Oq zMZnI|G#zgLi>l^(l3qvS$gFrSub_|#cDpPZ2T-LWB4It_eq6nW{9Q+FvbuW9DNwC$ z!`3e6tcu=cax##$rlBxZ`)ar$#OZ7;HQH`Pzi3^c{2mvZ|B7q={BUj8%uxt3vNA9vwEMAv2 z`5P~0K_dbj)GOG!vG6z8WgeAzfVp4^vjtvyn$vr@U@yPs>YAcpWxBy(Iiu8BeB(wJ z%-H~j0JH)Mmmf9u{rOm{*~Hj3U!VmD95`W7&Xk70fU8?^?+BlmSRn}c3ow@a@{6^t z?Y+Bq2}(fFc4Z84RBd+vQTziqqYr>23G5gwSJp2f2C(Rmt-l3W*xM5VyWIv(QpM3W^Y4f<4K`60u6b#O zCrdaAo=oqf(m!}IR^%TC8pg)QHN)g=CtnvEuiwC0JFH;u-9YZWKA8ax?~1@S#n$4X zwGmQFKcuSDBSH&kp$`k6q0d-FMsJ!& zC&Vh%?$ul<z`~{CH`c?*zICGR=eR+*xtjDV|Ol} zC0A{E{+Jx`0O3!p|EOFqb331iiB+Ss)>TV>N;6m8`IA)Xvz9t8j#i zk(=bOJnUcIG&z6Be(uP}=a&{^QpY>21mvO^VgtCZ*V(eq?nRDtp>xqB1s%aLaaL0D z7|;wNGEz`{!OG(Crq{+8$^u|ankph@z#SYUsHy^0;PDHA+B}(9F&vemno4We#=(dT zFIaaHgg&u-87<~A~&`R3L%qi&9=sH*gDgc!EyiI%e?)4s>`=baWJV-Z996lher(jPQURSY#xkfE=xP>{fIT{wMU$Gr*I6{e?>9soGZxO&8$dB!=HONN?QEFO?hzYeX0XFhF& zPwRpzfgv2ocoG}h7v=$2(=lT0GE+Bh{~m4aQ==`OaBUOv9d#n(hIQ;#zm01LC`0WZ zKQ02vi3|#X?*y&_K>)6jN7VF0rf*3M4D=u2@F@h{1BDOmrAz-HERNXPcE?V5aO~lt z01lYBDf z$|#Az`_NkTN$$<-N+2AJFit~73i4l6cTKP&EgEJnS9O4rg5*!z+PWR64~Sa@W!e=? zl;9nEd-oEq_5#h;)*odW$f{pfR))?U@BVbL6)VdUbx6jy0JN&X2LRgQh{3Yuo;NQF zrC4b0I@HIV^%=w^m=>g%&`JOxzzMRi_Ot=dFfbAVSt<5Um80t8n`9uIb|U$$)O zNF3It(G(OgKX}ccmw*J^0}*p(J0vXVn%hwI=FLX9RB*OIgbt}AZVHn3LcPMOOdi3e z#zp{N1f4FV^*eD!UBP>0Uh_*Td3GS zIQy`bshJt7$Fa938cduaV_PG?M9z-lsbzS|iXh&o?8#nrh%JDcn}AKn2VdujV@-W1 z!d+{^ABQ!Cc!zpMXE-ka=a5uTF~|;g&GJEZFwhH{zUp=fijgJu-;bU7<%0O-&#<=# zUcxqp7XbuAMBsDMm(1aTzzzx>MuSii{-mY*^!&fqV$>A_qqPdy;{^xMY1q+?opSUd z8*_Khuuesz14-l5SY-bAG;c^$RPM=dN5<)br+Oa4NU-oP+yC?rJhX+Vjza;ODvVJm zSVp=DUPsq}irXLV<36ONqvO*Sv>6X?6wihD18Zvy*-!lR8CjEdPQW6> zh6vfSz9dB_N)EsK6V}$0NUI&n5}}-^O#g5L3o~=wT)UYU3P}EFY54*Aaw`TwAr0Sx z&4z&Pz4`pQC-8D1m?DnpV-67BIBSN8go$&dNBOg7LU4J4)x{~|0neqdA8vpoGK@T# z>+0hVWyXKS_pDyLc$0md7%Hg?ZeVe8fYray@&J1uG*R%{9qWXIEWEo!<{bmUGCDHS zkSDXGk6=OPUhr!Im>+ho7j>weGfn0xD3T(nADG-Mu$G8rIFxi_l(#A?H&;|>_7?_| zAdP6Sw=fC(*kPn#2naL#pZIB0{iUU);ejWy74{{BNMge$wWX*V>@WPv2|!KkO#S8W z-g)8K5BPp-U59Hks5nQ z=1(=k1g|9y)upqu6Dl|&r3cPW*r%|W?n7f{`bLnseq<~9VXwkw@=qZ^%?kHxPx|U& z)xblB3=M-?Ll@K%nD-1MyWHrarJmYX) zGZCl>Z6z#xonC}zgKdl8A+gT~c?F(kZSoF$b1~fg#r`=@p1>o3REAyEC1+iZYyu%~ z?4IhRrWeV_kk#SQj#pVs@h)3tyP`A%`H2zH`2`suAET~c$LT0~aeA_WftDO$QBhkF zItaqxqXwSw`st)gltE*hm@9U8- zED{ii*?bHgT>^2@SZV=hi6vkEJ$gC(xTWIj4H~S{uF0$7JG2_mn`FL(v~+^^DpUd! zoo4)k1RpgA4 ztuYZ`vvz@^191}U%=B<~cZYtZCnF-l0``LX^VsJizUs7jd6U`{cxN9xV(YV5sv|gC zrl&@WR?inbq5byY-Y+$km4|>;G2>I}qiMh2iQ~vw;c$R~bj8)#`X0koW}5GDEF1&> z23!gs!SdgK*GHYO*$txYNe1PcNu*d5nfLP@Gd4R5MMnF_RAdPPs$Q-x#7S9GB`IKU z8DUmJnqQbx<>GxHu zQargwbk>a`%-{1|_C4?L@v*Om3sycB#1eX!diX3`gePG#p%i#wyr7f!L_c#I)ain} z)SGWd{G{~CQkYV>)L3JP#1t))F-gaMwv4>&Kj9(x-;4=|wZWNz;hDnDBHeC8MFC#7 zc{%j87C|qc2Ea!teVoI8x7Q3H3RwjXaG8F?r%#`v69g5+ z4ZKAvUo>FKYoMET_w?L!DCoKoA+rr<&DO0{6;7{xURucd&zw1fbK0!aMAqrv>Cx-X zx^ewb$~i_LYnkw_SaIlh3EWRlpOGdN_nITljTe;Q!r^P67w!VQK8)pGmiK}OHanb@ zg6Z~Lz0_yDOC%|j5iHYv)RaUKN8s017?6Q(K_0#Y;70hc|K5r5$?FcA@L_U^=y)Fh zMo9lI_=(}IY6KG9U7%%eZx2iiL>1^TMf-|jfJ;9X$<}QcYav;cG(mL2w9JjLGVLjx zE9g5Ea_%t^Rd_SgmTeRfp<&o5ARdm{khj*`j*>QNJH$n{%9Ybv}Gg^fC%sY|Ir<+8EcT15giRgtEtAt#kE5I zXt040_vcr)TOV6p{6$qW?r$QANQr@0I(UlcjJr}5Z;?+8A<0J9tif0QQ?)~Jh?-zh zsYeM*B_=C6wp z1B3!Inh`)?_?=C<^MsnC?vRL)+)I{Bn?c#x;dJ{{-`3iQO0Qhfu;qI+;C_W8q!Jy6 zcKRnG+mWal{7@H|Dt zy`g$zXGJJr4Y@K!FQC@sw#p;|4yY!#!atg;s=DLUH8bhk>HoNLGI!xl_|De5cZEfc zYUZ&05&uT*$m5$)JA@woP3=HyJJW%fX7te7=Nq)*kmC!}sHiAtS=a*<`o0>g$W?T0 z?J^-cZ5#+ZtZPSQNqZ&ro!Jw2DoP^B0q)Fns!c>{=0GgDm=Fs@tl+GUV^sL@RsK!8 zB)aR9NoxkAKrDZMt^KoR_8+F1OozT+`7b74PT8w~k+UB_qj>~(bm;THh#WgEgr8i` z4LiTSMZBpVB#!^CaTE_7`A}wfg=idyn=pg{C>dKs+M@6WdI*GbKcL2n80ON4&5Hbd zE1s3*AueFXY(LT;NPRM%AZ{VOdBEC>R!a}zHOr-lRBV-(A3}lbrOTJYeEK>%t|eRI z-_uHfWshwNCMH*$;49!aM9-d*Al5b$rPk!|&!@hBk7usNqUu@hwQ^c7v>G|YU%kFG z%`Lndl2m;iGKOP5!Mw=h`Hi&tLQgv?+fmu##-i1Hd{8Pk(_Rj~QdI>4G`sQr)f-Ms zko*lytB;gNOsAT6P}Qm`6YE&3D;7TBCZ#04I5gTjbDFUtM(7`xsAIOThv&E7f+c&~+Tsh#aJb_-;dI_eU-aL6zH-W~x9hTwYgaBfJT8s4bVOLq zW_mjin6FS#dGqEfnv6R#q`={{l=fa=SJtEqFH%LSOq`;$bj_H>yxclj{cAF?_d~tM zKgb{j0RHz{xgle4U6B%=apUFz%2aVxmG-)We|Pr|nm1NJs}x>&RbG}JaS~td=fM&6o;SX>lgALFZ}z3S;E;3 z#vc0N6P#htcMih23buiJ+0ky)JCTqum(^o|yVj55-}$=$cSqAQ@v={ z(X4}kT%W$fhDQocd1qBfk@*b}TJG*(Y1v&}ceUe2c7$0onnoGy-7Qmx6D^>T9_3n~ zRFyA=Cp5I3SvF0uZzJi)`#tJx&4NIE9a*T;p4vp&ps+on`~J%9T-He?Y*1UE8qH2;ooIS;jnn%eHL=Bq?Ds zAqu&n!#=^}_7x>xi#QNA#=%popoSb3)2J+DfQ~!jM!y^d*321XP2_Hb-y8jF`v@tH z`#}|4w8JD^4uhtr*}~1|-R3n1^+W5UYWBNZIVU=P6O$2CvHU67Rhc*d!~J3@;Q2gf3^5rH9%+ ze-_o%;`=`Zh=^dIMWothX&IQ23F{MEY}lHQz=1`w1*al%h=Iu#8QL-o>MXqBFiAa| zKRobxGw2gHlLKzP1Ezufeek~L`u!q+3-gr*j zf(I6wtQ-cvA-~l5)QV0Q!m$8Od9WKPX5GDyLFahzZKwrXymryz*=Lm~YnL zGnjSu5Wu4S$JjZ#c=4Ff79 z1BeGTnRdq?jGqDnjMQm!6PqbX$TsK*TL;!3Qhm(HSVK2zUs3S>}LWisTn5!gMs$2)WEi-4fn@RdG_8o zuez;J5`P`5&$exHaAbgO$+Wz8l!ypzRfG!R(wLDK)Ml)z>>q*bj%)pY{tIa-Ak`#K zZjS1&NWMw84j5$-Y3~R*NAj)Y8S0yTnjam>lJOHDXBCkxpb{jW{a+mVWHcSQsQ<+& aJSlk5aDPNvtqtKGI5ai(?xb(GJo8_Fl6Has diff --git a/docs/source/devguide/index.rst b/docs/source/devguide/index.rst deleted file mode 100644 index a086bb867..000000000 --- a/docs/source/devguide/index.rst +++ /dev/null @@ -1,39 +0,0 @@ -############################## -Developing an EC-Earth Project -############################## - -Autosubmit is used at BSC to run EC-Earth. To do that, a git repository has been created that contains the model source -code and the scripts used to run the tasks. - -.. figure:: fig3.png - :width: 70% - :align: center - :alt: EC-Earth experiment - - Example of monitoring plot for EC-Earth run with Autosubmit for 1 start date, 1 member and 3 chunks. - -The workflow is defined using seven job types, as shown in the figure above. These job types are: - -- Local_setup: prepares a patch for model changes and copies it to HPC. -- Remote_setup: creates a model copy and applies the patch to it. -- Ini: prepares model to start the simulation of one member. -- Sim: runs a simulation chunk (usually 1 to 3 months). -- Post: post-process outputs for one simulation chunk. -- Clean: removes unnecessary outputs from the simulated chunk. -- Transfer: transfers post-processed outputs to definitive storage. - -Autosubmit can download the project from git, svn and local repositories via the parameter `PROJECT.PROJECT_TYPE`. When the source is a git one, the user can specify the submodules, commit, branch, and tag. - -In addition, the user can also alter the git behaviour and specify other optimization parameters such as: - - Fetching one single branch - - Depth of the submodules. - - -The different projects contain the shell script to run, for each job type (local setup, remote setup, ini, sim, post, clean and transfer) that are platform independent. -Additionally the user can modify the sources under proj folder. -The executable scripts are created at runtime so the modifications on the sources can be done on the fly. - -.. warning:: Autosubmit automatically adds small shell script code blocks in the header and the tailer of your scripts, to control the workflow. - Please, remove any exit command in the end of your scripts, e.g. ``exit 0``. - -.. important:: For a complete reference on how to develop an EC-Earth project, please have a look in the following wiki page: https://earth.bsc.es/wiki/doku.php?id=models:models \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index 06a425cfd..37b944a07 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -44,6 +44,7 @@ Welcome to autosubmit's documentation! /userguide/set_and_share_the_configuration/index /userguide/variables /userguide/expids + /userguide/templates .. toctree:: :caption: Database Documentation @@ -52,13 +53,6 @@ Welcome to autosubmit's documentation! /database/index -.. toctree:: - :caption: Developer Guide - :maxdepth: 1 - :hidden: - - /devguide/index - .. toctree:: :caption: Troubleshooting :maxdepth: 1 diff --git a/docs/source/userguide/monitor_and_check/index.rst b/docs/source/userguide/monitor_and_check/index.rst index 4dbee3148..a407c787d 100644 --- a/docs/source/userguide/monitor_and_check/index.rst +++ b/docs/source/userguide/monitor_and_check/index.rst @@ -81,6 +81,8 @@ For example: SHOW_CHECK_WARNINGS: FALSE ... +.. _inspect_cmd: + How to generate cmd files ------------------------- diff --git a/docs/source/userguide/templates.rst b/docs/source/userguide/templates.rst new file mode 100644 index 000000000..4f16428e9 --- /dev/null +++ b/docs/source/userguide/templates.rst @@ -0,0 +1,82 @@ +################ +Script templates +################ + +Autosubmit jobs require a ``FILE`` property that points to a +script template. Script templates can be written in Bash shell, +R, or Python. By default, the ``TYPE`` property of a job is set +to ``bash``. Template scripts can have any file extension, +the generated script will have it replaced by ``.cmd``. + +.. code-block:: yaml + :emphasize-lines: 3 + :caption: Job ``JOB_1`` with template script ``PRINT_EXPID.sh`` + + JOBS: + JOB_1: + FILE: PRINT_EXPID.sh + PLATFORM: LOCAL + RUNNING: once + TYPE: bash # default + +The script template ``PRINT_EXPID.sh`` file must exist in the +Autosubmit Project. When you run ``autosubmit create`` or +``autosubmit refresh``, Autosubmit will copy the Project files, +including template scripts, to the experiment `proj` folder. +The template scripts are then preprocessed and the final script +is generated when an Autosubmit experiment is +:ref:`inspected ` or :doc:`created `. + +When Autosubmit preprocesses the template script, it will replace +*placeholders* by configuration values. A placeholder is any +configuration key wrapped by ``%%``. For example, ``%DEFAULT.EXPID%``, +as seen below, refers to the Autosubmit configuration value +found in the ``DEFAULT.EXPID`` YAML key. + +Assuming that one of the Autosubmit experiment configuration files +contains the following: + +.. code-block:: yaml + :caption: Autosubmit configuration + + DEFAULT: + EXPID: a000 + # ... other settings + +And a template script used in that experiment contains the following +code: + +.. code-block:: bash + :caption: A template script + + #!/bin/bash + + echo "The experiment ID is %DEFAULT.EXPID%" + +Then after the template script is preprocessed by Autosubmit, the +generated script will will be written in the experiment folders +with the extension ``.cmd`` and it will look like this: + +.. code-block:: bash + :caption: Generated script + + #!/bin/bash + + # Autosubmit Header + # ... + + echo "The experiment ID is a000" + + # Autosubmit Tailer + +Header and Tailer +================= + +Autosubmit does not require users to modify the header and +tailer used. The header contains code to set the correct locale, +and create supporting files for Autosubmit (e.g. ``_TEST_STAT``), +to functions used internally by Autosubmit (e.g. for checkpointing). + +While the tailer takes care to create other supporting files +(e.g. ``_TEST_COMPLETED`` and update ``_TEST_STAT``). + -- GitLab From 4e8a5488b5969542ec600b4f70f18c690f94a44e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Gim=C3=A9nez=20de=20Castro?= Date: Fri, 1 Sep 2023 09:59:03 +0200 Subject: [PATCH 2/4] Add section on header and tailer --- docs/source/userguide/templates.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/source/userguide/templates.rst b/docs/source/userguide/templates.rst index 4f16428e9..c7914ee43 100644 --- a/docs/source/userguide/templates.rst +++ b/docs/source/userguide/templates.rst @@ -80,3 +80,8 @@ to functions used internally by Autosubmit (e.g. for checkpointing). While the tailer takes care to create other supporting files (e.g. ``_TEST_COMPLETED`` and update ``_TEST_STAT``). +Although, if necessary, Autosubmit supports appending to the default +header and tailer an user-defined script. Using directives +``EXTENDED_HEADER_PATH`` and ``EXTENDED_TAILER_PATH``, users can +indicate the position, with respect to the project root folder, the +where is the script for Autosubmit to append. -- GitLab From 9480de7b838e1b4791dda901253b8c0e4f337427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Gim=C3=A9nez=20de=20Castro?= Date: Tue, 5 Sep 2023 09:28:28 +0200 Subject: [PATCH 3/4] Rewrite header and tailer extension with corrections from overseas Bruno --- docs/source/userguide/templates.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/source/userguide/templates.rst b/docs/source/userguide/templates.rst index c7914ee43..8dbf7ad7b 100644 --- a/docs/source/userguide/templates.rst +++ b/docs/source/userguide/templates.rst @@ -80,8 +80,9 @@ to functions used internally by Autosubmit (e.g. for checkpointing). While the tailer takes care to create other supporting files (e.g. ``_TEST_COMPLETED`` and update ``_TEST_STAT``). -Although, if necessary, Autosubmit supports appending to the default -header and tailer an user-defined script. Using directives -``EXTENDED_HEADER_PATH`` and ``EXTENDED_TAILER_PATH``, users can -indicate the position, with respect to the project root folder, the -where is the script for Autosubmit to append. +If necessary Autosubmit allows users to customize the header +and the tailer. The configuration keys ``EXTENDED_HEADER_PATH`` and +``EXTENDED_TAILER_PATH`` can be used to indicate the location +of, respectively, the header and tailer scripts used by Autosubmit. +The location is relative to the project root folder, and the scripts +are appended after the default header and tailer scripts. -- GitLab From 2c1dfb4b2490e928d79b8a90e0d97a9a4d0e7e2b Mon Sep 17 00:00:00 2001 From: "Bruno P. Kinoshita" Date: Tue, 26 Sep 2023 16:42:11 +0200 Subject: [PATCH 4/4] Proofread --- docs/source/userguide/templates.rst | 34 ++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/source/userguide/templates.rst b/docs/source/userguide/templates.rst index 8dbf7ad7b..e8a624ae4 100644 --- a/docs/source/userguide/templates.rst +++ b/docs/source/userguide/templates.rst @@ -10,28 +10,28 @@ the generated script will have it replaced by ``.cmd``. .. code-block:: yaml :emphasize-lines: 3 - :caption: Job ``JOB_1`` with template script ``PRINT_EXPID.sh`` + :caption: Job ``JOB_1`` with template script ``print_expid.sh`` JOBS: JOB_1: - FILE: PRINT_EXPID.sh + FILE: print_expid.sh PLATFORM: LOCAL RUNNING: once TYPE: bash # default -The script template ``PRINT_EXPID.sh`` file must exist in the +The script template ``print_expid.sh`` file must exist in the Autosubmit Project. When you run ``autosubmit create`` or ``autosubmit refresh``, Autosubmit will copy the Project files, -including template scripts, to the experiment `proj` folder. +including template scripts, to the experiment folder `proj`. The template scripts are then preprocessed and the final script is generated when an Autosubmit experiment is :ref:`inspected ` or :doc:`created `. -When Autosubmit preprocesses the template script, it will replace +When Autosubmit preprocesses the template script, it replaces *placeholders* by configuration values. A placeholder is any -configuration key wrapped by ``%%``. For example, ``%DEFAULT.EXPID%``, -as seen below, refers to the Autosubmit configuration value -found in the ``DEFAULT.EXPID`` YAML key. +configuration key wrapped by ``%%``. For example, ``%DEFAULT.EXPID%`` +shown below refers to the Autosubmit configuration value +found in the ``DEFAULT.EXPID`` YAML configuration key. Assuming that one of the Autosubmit experiment configuration files contains the following: @@ -43,7 +43,7 @@ contains the following: EXPID: a000 # ... other settings -And a template script used in that experiment contains the following +and a template script used in that experiment contains the following code: .. code-block:: bash @@ -53,9 +53,9 @@ code: echo "The experiment ID is %DEFAULT.EXPID%" -Then after the template script is preprocessed by Autosubmit, the -generated script will will be written in the experiment folders -with the extension ``.cmd`` and it will look like this: +then after the template script is preprocessed by Autosubmit, the +generated script will be written in the experiment folder with the +extension ``.cmd`` and it will look like this: .. code-block:: bash :caption: Generated script @@ -74,13 +74,13 @@ Header and Tailer Autosubmit does not require users to modify the header and tailer used. The header contains code to set the correct locale, -and create supporting files for Autosubmit (e.g. ``_TEST_STAT``), -to functions used internally by Autosubmit (e.g. for checkpointing). +create supporting files for Autosubmit (e.g. ``_TEST_STAT``), +and functions used internally by Autosubmit (e.g. for checkpointing). -While the tailer takes care to create other supporting files -(e.g. ``_TEST_COMPLETED`` and update ``_TEST_STAT``). +The tailer creates other supporting files (e.g. ``_TEST_COMPLETED`` +and update ``_TEST_STAT``). -If necessary Autosubmit allows users to customize the header +If necessary, Autosubmit allows users to customize the header and the tailer. The configuration keys ``EXTENDED_HEADER_PATH`` and ``EXTENDED_TAILER_PATH`` can be used to indicate the location of, respectively, the header and tailer scripts used by Autosubmit. -- GitLab