From 30f7911a6e9f08ea7e46542a8f3383d7cd5b8f00 Mon Sep 17 00:00:00 2001 From: Anne Philipp <anne.philipp@univie.ac.at> Date: Tue, 20 Aug 2019 14:49:39 +0200 Subject: [PATCH] reviewed installation section of online documentation; minor corrections --- .../Documentation/Api/api_python.doctree | Bin 683534 -> 684698 bytes .../Documentation/Input/control.doctree | Bin 12681 -> 20063 bytes .../Input/control_params.doctree | Bin 104431 -> 101478 bytes .../Documentation/Input/ecmwf_env.doctree | Bin 6416 -> 6419 bytes .../doctrees/Documentation/Input/run.doctree | Bin 45848 -> 50309 bytes .../doctrees/Installation/gateway.doctree | Bin 0 -> 34768 bytes .../doctrees/Installation/local.doctree | Bin 0 -> 60041 bytes .../doctrees/Installation/remote.doctree | Bin 0 -> 38306 bytes Documentation/doctrees/environment.pickle | Bin 607678 -> 611482 bytes Documentation/doctrees/index.doctree | Bin 15348 -> 15348 bytes Documentation/doctrees/installation.doctree | Bin 153502 -> 60214 bytes Documentation/doctrees/quick_start.doctree | Bin 140854 -> 140854 bytes Documentation/html/.buildinfo | 4 + Documentation/html/.nojekyll | 0 .../html/Documentation/Api/api_python.html | 16 +- .../html/Documentation/Input/control.html | 120 +++ .../Documentation/Input/control_params.html | 32 +- .../html/Documentation/Input/ecmwf_env.html | 2 +- .../Documentation/Input/fortran_makefile.html | 2 +- .../html/Documentation/Input/run.html | 107 +++ .../Documentation/Overview/app_modes.html | 7 +- Documentation/html/Ecmwf/access.html | 2 +- Documentation/html/Installation/gateway.html | 335 +++++++ Documentation/html/Installation/local.html | 542 ++++++++++++ Documentation/html/Installation/remote.html | 414 +++++++++ Documentation/html/Support/faq.html | 2 +- Documentation/html/_modules/ControlFile.html | 14 +- Documentation/html/_modules/EcFlexpart.html | 141 +-- Documentation/html/_modules/GribUtil.html | 78 +- .../html/_modules/MarsRetrieval.html | 8 +- Documentation/html/_modules/UioFiles.html | 4 +- Documentation/html/_modules/checks.html | 4 +- .../html/_modules/disaggregation.html | 4 +- .../html/_modules/get_mars_data.html | 4 +- Documentation/html/_modules/install.html | 4 +- .../html/_modules/prepare_flexpart.html | 4 +- Documentation/html/_modules/submit.html | 4 +- Documentation/html/_modules/tools.html | 6 +- .../Documentation/Input/ecmwf_env.rst.txt | 2 +- .../_sources/Installation/gateway.rst.txt | 172 ++++ .../html/_sources/Installation/local.rst.txt | 391 +++++++++ .../html/_sources/Installation/remote.rst.txt | 204 +++++ Documentation/html/_sources/index.rst.txt | 2 +- .../html/_sources/installation.rst.txt | 783 ++--------------- .../html/_sources/quick_start.rst.txt | 2 +- Documentation/html/index.html | 9 +- Documentation/html/installation.html | 739 ++-------------- Documentation/html/objects.inv | Bin 7053 -> 7172 bytes Documentation/html/quick_start.html | 6 +- Documentation/html/searchindex.js | 2 +- Documentation/html/todo.html | 2 +- .../source/Documentation/Input/ecmwf_env.rst | 2 +- .../Sphinx/source/Installation/gateway.rst | 168 ++++ .../Sphinx/source/Installation/local.rst | 381 ++++++++ .../Sphinx/source/Installation/remote.rst | 188 ++++ For_developers/Sphinx/source/conf.py | 1 + For_developers/Sphinx/source/index.rst | 2 +- For_developers/Sphinx/source/installation.rst | 814 ++---------------- For_developers/Sphinx/source/quick_start.rst | 2 +- 59 files changed, 3436 insertions(+), 2296 deletions(-) create mode 100644 Documentation/doctrees/Installation/gateway.doctree create mode 100644 Documentation/doctrees/Installation/local.doctree create mode 100644 Documentation/doctrees/Installation/remote.doctree create mode 100644 Documentation/html/.buildinfo create mode 100644 Documentation/html/.nojekyll create mode 100644 Documentation/html/Installation/gateway.html create mode 100644 Documentation/html/Installation/local.html create mode 100644 Documentation/html/Installation/remote.html create mode 100644 Documentation/html/_sources/Installation/gateway.rst.txt create mode 100644 Documentation/html/_sources/Installation/local.rst.txt create mode 100644 Documentation/html/_sources/Installation/remote.rst.txt create mode 100644 For_developers/Sphinx/source/Installation/gateway.rst create mode 100644 For_developers/Sphinx/source/Installation/local.rst create mode 100644 For_developers/Sphinx/source/Installation/remote.rst diff --git a/Documentation/doctrees/Documentation/Api/api_python.doctree b/Documentation/doctrees/Documentation/Api/api_python.doctree index c0bfb5aab5be71cdd166d93bdc6394541dc18257..464dad9ab8cc3cc9c6ea1b21b42a7d9760755865 100644 GIT binary patch delta 68552 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 Gvl#(QJyc2n delta 67162 zcmbRBRI~4nW<v{O3sVd86qag6#;r9hi~`eti?Cc`jGul^lqHr?efohrOrq1B#8^z3 z6yl~YG+?x4l8KwnGn*xGy1xaB_Vj8|7J=y@;w(apZqw7nSzM<x=CX)RKc>K<&tx1o z-7%NNm{EVaq9lv(bSnuK%jqA*SxjL9dn8!&rx#1W1YD-ShO<Q!(=u~XbMsSDZPm-w zr)03lPRS7M;XxLh9wy1+!lWNJ`CykZuS^^RLk438bB1)5Ufg8H?r5ggxao;A+4Y&4 z;-&}kvPDgIkY@2?s*juOXkp4E6F2$d6G;K_I0lBq48_<f8OpI!vc%&iFSHP!&Mw0u zB{MIMfuS@*GwUf614D*XmL#(2(+l@8t8Pz{VR2#N+zgVC%Gww=z3?iN!SwrbEHjzb z#Z7<spEZl=Slr}^L7JS0K}tZbn*Q)Vv-|V~6IocNrzo&YWO^7kU2qbI0b|@`!$L`> zyK&POl(DEz&roC$XZjj9y-|@xp6O@Y^hJs+mYm-~W=Lgyj+_3ln#G!tWx9eAi#+4n z=?+RPKD_%uk}}@x8B$qy<0cz6N-*7xn|v`xhVkz73rZ}#Af94@0n@Fx$%<uajMt|# z>ar+IzoE?XkI{1aLPZwg=^u_U%QBh9gPg%=I$c?nMMLmM90P-9<CNMd8X2rvzVQqU z(;cs~$}#$bG>9-|F;AbU%A&*pb(S|sRCs#9Z%(o49|Bo~V<Y1k7<#yiQqxi^3UV@& zGfSp)W(mhLFl4QbV_?V<0kM|HGB9L`g4D4m<>%+5Cgx4a5(h~HGczz`NyIZSbb`WP zpP7LnLplrUMeYo#EYs;1wOMq*&TW(cQ6Qh1Zr`QG;?4--Di#<p8i5@&`2ddy%)2!j zEE5>}z`_vkc7eUi)D=ISv5G~755>QWruS&F$T2PfDaY{a0+1-evmzw<l_e*$xP%Cg z@@7b7bxm*7Vo?OSa6uW18mbGAPH#|TQD8g{atnqF4}(MzE)<Tr2nuFmql2xuq$o2l zooGjbV*?bLjS@^<@!)jVHQii?B_G5CMMgW=If%&E!o-#^{a_%wJ`+;{D9JG~C4l3A zA0-Z?5~lZRvdD_dBrq_PCM9Obf|8<q>=aOL)qtiyShkQzfMg4`=@<1_gxztbG-5-a zKSL^uDPj7VSQZ74<1mBYc6y^ei-Nd45pJ`Fy3G^pHcy;xBR<%nu9Jyp(E*2GqXdWo z<pQSZ4-8le8JVUZG+{Ah{Ersy3XFl%7fxjHpZ;+oi#<~vG!CjDaZr^2Dt*vW*(8WJ zrx4-I2~cm&qnbAbGo-Sr5~hQ_336nk1XEQ4D0y*Jf!&iK+G95Tz(f{3kw*=4${#h% z)tk~f1zKYD7=dIA*p>9AfJ_002UB?hsQhEP9yj@*fZFsY@+>No4ZPTy4#!P@c#BDs z=|J4{j|Z7FL8bRZWkzFO)FQueDVy5#1b0?RrjH5J1Lc^+x5t{X1TZqOCxUB4M&|8r z%~?bknWPfIH6D{#;`Eq27VqhdmMo?q&b>Sq-|5YkET)WN(;o)0$WMMCC(6s52(Pn5 z6Tx*>Kq92h@=b))Sq+6OYSVkHS(KQ(62TQ0b0WCn`j>!Qas5j`R9u;fC>0k2vK63; zOKp0y4a-Z;I*_<jR!t(L-tybP5ioti1ZECUm2SrF&6pvTRhc-wF^VOdX<{O%8sq2# z>5$G6o$lz%B0K%UC06a}3id2HOluM$nR!JbI5V$E#FCj0BtkOtA&}z;WafQ|;LIF# zCJ{#+Qjv&RhY-x!T_D%Xc(Z0mWv!Ub=*XhTv?39l;!#VT$BE#2SNtgv4t)r5Xv}+3 z97;qsM{#PP6N@C%ibPPlXIwG8(}~3z!~<35OB2D#c~Ro@#)&NQ)9syECNs)U-{`_3 zKly{ZAd_?wI69=0utbM(5;!^-O{W*Su!u6ER_2BvGi(^`r#E`S%2G-~9Mme2PJ)!B z(n;VTN3F`jrW<;(C@@A~b4v)sElFUvK*~;RZXrHUp{@ZJDxeT*lmG=3sO*%UKEazM z9K-|FSrQ<N<);TcX60alh46WImT8RBArc!3IE5G?Av_sd2(N~Q@LFuXS_v}4hH*RC zSCHBYo3DsX)0`PnS(Bk5JQ-UEpM!+(1#E6P198hOuv@4R!cf<MLwIr$xHURC37mW< zLqd3R(qvEwPXJjA31P-XpdwLe`i8~KtW5J0Co>+?Wb6Y8DNhgB!OYIsJ^g?WiyxD0 zGPoR)N(Q$G!R63mCZpu(6F0LNGwMy3@?$Au)SEuhkHwHlI~imMlT<RKXzxy(?s$ql zlqm{gLO7BM>eEm9vzVe50)@%o>>*y9Ot|ThpA0FjYLjVDTJdB^Wo1ui3}jJd%$}|u z$YO}<&MC=|!fF~3?wka1XUqap+(~@Cg19t3h(((z0}}S(kg#X$21TS6Q)S|GaIK13 zA0cYhtI6P6b$YBBi}&;o!7Lw{UME9p*5}(5Ls`5Tnf@hD4m35Je4&$_{}(6%A$`4{ z$qWpW6P<LYJ2<eh^FBwG09U9IDUb?PGzC(jI!Lp~O#dIwqRAwb0;*6MpMz42q+r&g zWaJw4Q8J=NHB3RNQJ)~&0jW{{MzHMUbV~vE6kSpvHR}6FmI;iG(;K2#a+o4hKq;3q z45UIj>t`~gBbXk|@}8+A1zdYF7EJ$`$Rfp5kb<SS?nr^8$1adV2-Kc!DUkFyB?U)% zbVwni_6!2K9MZ!qn0`8zMG@psP_q~{L9R}LB*?WyICLe%p)uP@aVQZ962+;~@hrMb z1u5WCs2~Mg3KeW`jAv101c`!b(cBbJEy|cRoiUMRAJZFXY`lQP#)}jz^%cW($0Qa7 zai&zlg~LCnA9+$qhz#QW$dw_L^<p~Mk1rs8d;#&}i|GrJStc{RNCB0!Oiy86e3-%l zEo9SEK;<K2*z|`fELu##Dbo-7u=q0hr-GBIPb#>8{h2&{<6<_o>044+e3?>GA;oOM zbn`S852l1vu*tEhAY+((QX$1`a0;ZD?SYuniE7S{bQS~Dnt$>1Z|N+G;!BAL$%U!l zWF5Pnl#pc4%qvMvPc6dNm4zl3P=9;w^p6=V+Dx+`p6Y~niZK`zM#_^F!q}M{Qy^s+ zY6*ZS!=9wV%P^nm%~>pMjD^#=vRU$BLueDSSu~k`rGkq!rf;d!-<h-YOg~q`!acp! zf<=%qZn{i1ODt&g%#M+Fx<f9D2_xt9#C#Uv>0Om9n$zubSxn&qx-8n$HzEn-<*`^! zSItAH_>jk9J$*S`z-792K1`CBk+o_0puw#)@W|RXP&`6PTaGkvp<0~=DO4-cAcbl} zA&Uo7X&R_JW%`y1?x1{3MJ`T1rXq^dDQPIh>1Slq!NuwJxkW6cjGQaez~$-kG)Q@h z(nHY(1)BiVk~GLb+nzLV!rckdA)Unm5@mLuezcUOm+5*MxO`>0oCazRGhUuPzl=p4 zwbXi@1}U}Pf*eMmczu}$Nr&IlaOCL4X_&<;5jlD*$mufPY#CBnAeS~ufE;`=M~3Ng z+VqP`EIlADsJOb21}?77PG8v0qA;Del4TjA`t*$r&^EtvI@puS(=XPssG@q(Ivrex zFxpNpY`|#pTY`+RiFQvX!BYfVr%*3}+JnmJ;PyWw*kQuc;#fpb9T%4ljseC5Y>tZo zJ1#bh6vq)C;t=P7D+uLua0Q_}eM1e)dM4#`P!Y$d0J0t0OofK}ty-2<jI+Sv;GWhr zNT^T466))qp}ql|$JT(1u!-J9ipPizbx?b38Z^|w4#N`a7onkk8JpwIgB=%pmlVel zAL<b2fkS;7B-E!(Z){}Q$TSTS>XSjXqlWt0CYJq7ycv+(%$Wg7=uDg$;MNjqt)e(x zu#-hjTsebq{VbmW&dpJ}88k@vpkX@B=?`026hZF9Y%IBCfD^sA8xan5f;coLfE0%k z9~}^<8n&_MGJ!(2Q36DPN*~UQ=^JZU<feaUVlkU8-^0Q+oxhev9K<zek;>xCnCv*+ zkTC;MBz<6Ng~m`LB!(KX#n4Ph49zCO<I^D?k6KEK$BE4(LK#w7jgS~>%mBCaP>ZEK z&=}fBghO{h92#?i6o(QYLlCEeV+a(ojS@_a8Q{{Yar&NameU{}sCuYFiVKD5Oua0h znEpZ|<R>ITer8NpQDsp_o!=46gw5{=PdA*zBFqdMV24fc@PmZqr(bYkk&TtjBq6h~ z6EU{~ttiAYq_Tca2YV6Z)<y}YpI|RC{mj^Yv!BI>5yS_1@*A=zk;k+dgFwzSVDifZ zl@5%4(;fR*u#|ggnc$4am;q9a>DLsHFx0O_r1+Ki*p$eS%JR#E3~hrP+b98Y^Tiw) zF277rsYS%lHV0&A+b<JbOL;@w3?8mJn+6)+W;&GyZkz8+gS5@Jr9nowm!wSx_rp<} zU5Ga9(M)(7mS?){G?s$t64O{DryrZfvXtq5=JbzMta{UDPiNs_yfb~pbe0KBcQQdU z!E>iypTRPV=}zY4jmHhPFP_Pw!N??#1?sO)-|&Wsosnlc_iUCYO!6QhTV9?l_^`KJ z*7S*@jH1&6=CBw~e?ObWVsb(xJDLJTF-FntPv)>lGBVj`fk)RFt*0-X$09ua|7~W~ z>3`?4m_h_Rrf1KCv4y7_&1cb_{t`)G#e5d^>GAUsDkK)L=uSV6B+$2jMSr^M0)z^- zg)G|B_aX^YEo4!jZnzMk;?+VH&FKq~1Y#DkXipbjgivu|5sUitb|e9Z#VqR6zat53 z012coMrcu3!lFC<I+DP&B`n(0eU~6qa4lugpMDTYplK<K`gF^s2o;||Dpn#1WG!RS zp02nIq2k^$7R~8Xm$8^KS!aP8`Y7=NZs-?gLmK*d*`S7g%JhO2EaFW1S<@BeIi#7g zv%w91o-A;KpFIn?!OxxrZt%;lWRa24&q8VNbE3q4;XY=y>4#RbI85KYk|mIHUN*SV zKPMZ~=)W(=5;1+BC#xmrlnfd0q{Pha_gAsJXX0E7QMfvLdY~w?0q-ghSH_z;Ln>=# z_VkJ8ScSK%uVb0T$h0$i`u=I0lGE?3XDMbpG(BJgi>AntY_Nke>@%dYc7oVR8KTo4 zY+&)4etiQ=7}L(|$%+Mf{L)!aLqSc%nc341%Coso-@K6}jdAAmiyv8xr=M$PmSB0G z&A>4I!CV$urjOa+jvdcikW(PtrB%}}ZekG;c#(}9G%vEJFWkT=&OIZWfgvjuG})~` z{oE%O$>|20Sp<1rA?x<t%rc*oD+e4T964a0@<1I0s<K(98*X8VXOx*faSMwUha^ay zbk?fr8;`SyPrtQ=#ehjCXS$*ptL*d#Us+`s4MED}rwjaKw3#m7&MeQUH~rvN78xeJ zoaq;(S*51)d}Wnq^Z+ZG?C_J9$v$VgqdBYY^!Bf;N+3ms-&oW*ptcK6@7=<p4xT=f z%$dH>l2H>D1E5(uv7G6Kd5pSDtU2JaMi|*oAn(a|3r#*~ti)uWGqsROlBq5ST;wp$ zoIde8i`R6g9k3uanqJ$@B*`)<hk;@G#9U5UrYSj)Af5p7DlCW-cCv^Fbmt%kad!^Z zAeNZEZzqcoPcO3WJ3CpXbFKx6NM)@?4PsI7ToE{k_k)5(i(?N+9XyBw1eipa&gV=I zY+}-9yaG}oKYc+HQxM}t5L;=o!*f<xY>8(`Wt|0yDucsp4{Df!WOqWtYy~9DP#r0= zmqnB55jeCMxu+-YWs!gd){(s|IgB%>8}4KAW0arXu#ZKVNii23Ncyt5@KP2UYjVi* z=vflE$U!DCU2s2(1WKYb+0UZOBZXwj^xXX{rJPnE5veSTTyT1X#k(|UWk&Aw!Vtzd zMxW`52U+B&Cs;6Yb9jPOLxaqeDJB<`APpE3K`IKF;&P`mUS*L4(HEszjTkFH!rIJP z`MIE^=K&H2r8-zB%4SGqMS+yaPjBF6;%4&9MM-)fX}4TR(lgBkCp}c>#~fzSWXjJ4 zB|64+D8a~bge3zKjE2+a9bu7XJT!gR5f(+JBhaus0P+Pi!DTZrWXO1{p@ijbl(5{5 z8J6oWu}DmBIm#j|ycg4`$rpPRw;y0;=4a%*3zC(}x{VsRiWyQ_H=u$09uffHz<mQ! z4G-M^kicbP$(zoY%2dF_m<JABM#kwM&#@RYN#{*xY~<8t63PPyE+gagz>_TMu&`Cl zkjnZCF&Z4UZ&1S)B>fT^wl^SQi`6HfY%P=r3Sp+eJfv*xJ^k+~mPA+(3%D~%Fs0^A z*K%i+WlGNjr&ojIJoNOcgA&GZdC2KCE)O${N1S2N;7LF-W_r&VmYJLlAQ7pox;&Hw ztC=B{Rh<V;uuPNkK;uUo{UC+#;9QgkPOD7Ip~1NX8k|cY!MP6_oLiy6xda@Xu<W3n zA(gct57Yu<><39GP2XV8$bl@|lLtwu)p?MVisJ717g#izwnD=33vxJmO?SVDNU9Gn zvPd&>O#ge4MUjas9}<jg`RKuDgc6L5`N+Y@n2#BZ>o2ir3o~OH14^dT`7X0Kaw>x) zrLq+BQ9@KdLn=!y9}=Rb`QQ*W0x5)tsB1nXM7{FC36#-&+Eo@QCii?${bR(Gm=8&x z5&7Ws2@(foepr=bIQ_$A7WL^9Y&bYTjz+3-3^Sy%^z$L1DVGlpO{~rbrOk+ZaN3-n z4@;YkDy-hqi>|X|!qR5lRz?}7)%nxc2QVu#t%U~aN{~NL^1lU2pe{iP)FoH~_3jN8 z9pPn|#()ELUm$ZJ=P{6^RMrvHKsC*f$~p)Q)EkgMy$VtY57ZaXKz$1h)K}m@eFX_r zMwaOlAF;@T>+|2xaDA0O9XVXhr|aK>R^?aoQOZ;E45_S3&~QBn4OeVF0EO#sNVr-R zz`_+=m2bF<sLDO>u}CWW6)-SBS8}oyr4|&W79-Z|WPk=g0}8;YSl<Vv5GBCvPy*b& z067)APycuit@1keiA7@izq>5#;-!dHoSsOgPWQUcGM6(GBqEiSUVxI4tuv&uQVPH+ znXwuag36N%(%CsGK#Ji3-(3Js&5RR33c&5EAg0~|aFGk5!4=waupBt}=M_Mbb#DPU z_+jO)ZH81<CrFhRQ$+zv@PlMZ3&6>mF=e{qV-^!06!#}SX3=DtR{&1Wcag*0dpg$> zL|Hrc35x{d$LZUiu*flehKBBYkVjBL*A*pnU!jEVE6mVMeafOC{07q$aB4pIlw~<5 zPa(L~%2kLGu#Op0S?q=2fMt>^1Q!v~AcgQi)hh%CDwA;`xQJjfD1-#4K_R4&@G689 z5{`wC&@?CnhbF9Gb;*#*(kTQLyG+uBD4_|GkthU*CKG!hq>#Yo0Z?LgECdH?Lm^6H z?s~<N0xKjGUb9FtO(~qNyPHvtX<8vT%^FMs`2;0YeNaNRw-7na_7-B6ysuufX!7(U z8M9sf4T~lt=X#KkRMuM5!1TzF%31{t%!81?+y_z!56p|uz`O<x%*)WgybKM@x6r_R z0u9W|sDbI7A(eF=5}5l?0}~{(8yc9apn-|(Y)BKy2i(Yi0trmzB9y?)`Uoo-yqV04 zrrVV<$}?I{KlqtNb8>@|sDWt_dL<Tw5|jo-$U$jPgc+3QKCx&C8(|s)PN6!VS$a8w zK$22f0U%oqVF}1TLn_O+2$Dckiogjp5u^?trX@v?1X@`HNuXs#kOW#*1WBM1iXaKJ zy$GB@8Ox>{d}C3E86TJ-l~q&(PM?WIDCrX<6ITRDpT0$q^oh;+p!C^Z1WupFkb`s$ zENSNdV3A<DRWv;zomrOg4#;!hAmzCM@&+_@PXG9WMMU5-N+4dw5{TwMSu}XAB5Tb4 z$+DW`D@a5t>odr3c*uojNM(J1h8%k_IOJH0!4t{g9;qplcrhg8WQrjnCs_;$Imu#3 z$Qc(yLQbm~9CA#O#VA=jJVPo=v=|(8EXClUgB7758OG^~e_8aHK0rba)y)(BvS>1C z6@$YpvluBEdQZ3fhbSn|{9}<|sV!z;m|n=nA<a}@JpJNnW;;EQAE3boN!D>FDY2{= zIVF}&FZ_>I5l#8eq9I&?Y0C74vzV2pfBer<!#M*aE0r~^7^SR?1}*C<h9t#RkN{l{ zQV36qyPyHO9~z*0paHrE8lcyp0eTi1pnFgQG&VyjYX>Aim!k$KNM;EnKqnW2lOhkY z2c~~uX4Pam3kgu35|jX)$-)Y4<;!tSWny4t0D;MZbA_ktu(C?9D3mZTOh3P!Q<_Ps z1YBt9%ax$#^c0lvl`KIHU&-kgSy@qgsb5%GHH4)xO__d?gF|Wh+HH({)8pA#D>$t| zN~E$ZOHcwiF+(cLtOOj$jK0$wIawh!y%$I^JfLGsz$uq838Vm8)5n)UQg3_-IQ24C zg5|(9eL)E%0mqks6EG~9CTB=xMT1mnF?p4sBw&z?`*cA8Ry{_u>4IFWCOpXgnI6c+ zs>xJP0#3i{k%QZ7`cE!a=x~(LbbD`RNyfv|*Ko5cFdc=4?m>`0P*QIeO6cxE3Ee%I zp$l$CmGZC(@$N%5YWm#*M)m2td04$U?}5anvhJXUYkG!M)=g-*egJtI60UDSis9kP zPzniG*6EC5tk7^}DuskAQz;}|Wx#Uaa1}0vgey}iO1NfbNM-#4S)s-B7ByT!GOr-v zdJ__^$ex(qAi%20BwPv(*Pv3QWb8FvLl6<J4*JZJjA_$v3$iLOWt4(btwBmDda5lz z3D@{i<Ww79inV@{n7%}aRY*7y(=2c$^-72}m$MNhDV0@Uijrz`Go-R=N+GFsGAMu` zp*sPj7#_Ndp`p71qyQSaOQE5=6dJnw!E)fx-3ATarKq8spCOgC5Tr_rX+kMD)xzpB zkW6nWxW;0vnLbgB)r1GxE7LEEv1&4Hg9Ptac<_SzTUFw$@cx#l1gi`q=X4_pRwYL6 z=^GVT!PS)kdl`BNm!pI*QyFpyGnHY6@ZB3M64U=mu!``oAel8?R+9BOhYCnUDoY7u zAG`)D&XCHIF9U}vlUW(K1~Ue!gM}!g+jK!`RzoK5GDrpHQ3g(`j2_c3NV6I<C6$5e zFUH8}hBB<4Ode(6R0<2NvJ9y#mojkmWn6|5jvyI>GH^ID$(KQjTND@9$+BuPMV5in z>5MX@bm~1_T@F^<8cuKMWt3oAQ#O5eBC{;xI*`vGA-M|V2b40P4kaX)qJ-p9EFsw> z&#EE39MhQTjY-UJIF5rPq_U2JY=nnpRfbg7A!u0MgoNcakUDr+zJ!G3J7`$GhKA*9 zNLaF#L&EY8BrIQ}hGlJrRMvAySYAU7OOVWEXjmSCge5kIgBzxQAR%g94hzvn71k}V zR#a6qvka4e`Scml%!*8b<=|Y;<6DkMlhZ${vWf_Jlq07?k8&KT&|i&JgvSd>_x5}> zR!v6EERc{?Rz^8W?rzMG%1SMVq{EtWa5}66DTIX`Q%^a#++><q4oQf8<=}+K)K?BJ zGnrOELXT;FIi$esD@RF+Eug(+<=~`PS&otvK{93KkffMe4o-@^$j;85?%Ttt!8E@d zoEGoFLk`^8-=z&MGZl4My;(k$GcZh^a9Eb<3nb_aK7c%ck_dZH65(r<fP9T5Amwyf zwS?bd8UrpXYjjz6a`IMyyPVt=(~+lyIx?iPI4U5aDPI8&O&O3vSZFfpPggKwHDofW zfCQ#t1voGn4W~02uo^RYS3pvt({u-OR!=6w3Y4Ji&XCH|tpEq5Oa)3%f@CBsAVJAd z0S-zYWY<q$Z^)|2<WvC;$;Jv;8U%-AxDhM7r}@^1Rg!V)barD_d8X+V;B?3|xnjD4 zHS215Z$^|b?5jXdjC~cDi80uORg-rD$oG(_SW+?Fe<HK`^bIDg$($QO;!;`bQG>5P zLn><xH24lfg6{xGAw2jlLxS%HH2AJUgYPON_})W<?-?ZcuA&Ct#0;sdi;&<ufEs)t znZ3~9TLTF`G>7vSvuZFsgM^=IB}(|2TCx^1&CCV`()#I<R;+DIHkIIzW3-qqZ_WCF z*P;@hk-aLx6P;0&kcrOlO87*l*mM<JR&%D1O7JYFMJ0Ha)2I?TjEyS6vz&WfSw+=A zvz%FJpy|BgO7Qd|Z0oQovSpwJj#85+SaWYTv12{W$k_psl*($Wgrr#$5EnAh*<1-q zJZjSw92nVoQO!Wi)-Qy3oMR@aYa*RxGX1^->kg3Dxt&?pO?P)<ZD!g5_4=0ST+XcT zdAERUfW-bWh}W+{y?z<l>wK=PW=t0#Uf%-o`Z^S^ufyu~_o!aqh-?|m>paut+*s#u zvQ&X{D^nH3=NmvuAwK_)>~mBj5I&c!0!KN_=Nmvicc1>yowXKLgir8b?O`&mnm$p6 z!)|+wC#wV_lUo&J`GC{(RbH$f(@VTqO_`jkz;oaFAm>2B#jy&UB=V{tNg}%nDM=Li zu-Y(XRDqHNqyF^7Fjh&yEUhZ!G@(@mPZO$$G|^s#k|uPJY@43o%X*A+4oE~QYgQFx z;yd1tbq&+>D#-HI^;Mu^i*pS~iFB4DNR-)q`X_(ZcBWHRkOgtasz6I#n2uFVc3kel zbiZoyL_<xcJ5|#i=QBq!J*=93aV@Jb)3K`Q8*gz)GFE|C4jr5RAdt14@fgS#I@1$C zdv6X`ftGSH9jJnADSH&eI+aPH8e)S;HP{A`>gf-KI9!-?tHD-iRfCI1rY}{K6Q}7i z>QA2-!YaZ9Qrjp2qCh*VM5f;hVXX)8K&y8ItD$yGJ}98Zw6_Xec&@2}tWsH71zx4X zI346D6CRXcS{TNv!StnS`obm5VoXid;OGY>^@-uEBGUuXn5218R~CTN%7aQ)iRll+ zSS1<nOrH?Wx{`6u^o7x^TGI_g*;uD%MzHcQ&YWHr!P>?&vwHdm4wl5}@sX^XL7c)8 z4#VlLQLF)sXF)p5!RuI<P9jw4PEUzuwPCyilC|SKSq(2yZdXH=w4@$k)||c|niaC7 z1yuoPNz3%^7*=PdKh@wQ$@HUoGUGzw>75y@JkwQTS*50*i(xediGt2HK+z0JoQx{d z1>;x^7!^Sjc&E3=bOk;ZuIbC;ScRD0RD&02Fv>w>A1vZjW;$67F29acGawy!aHJZX zR{i5y#iid=qomMdNFJKr7|%L~Bd`XXVg08UCbMczI?FLVVLoinXnZ8AK1+sFme2Nw z39R0X90?GmabTs>7kDvp@Wg_IAPY2nrWYo$PGj<^nI4$PY&d=ObY{-!$FvyvSn6vS z7^ZKS&MeK?2-0b1Pz%xo$&^t2JSa6@MGdlVDrz7#o_7swVa1#2j47<jJXJ`>OgBhj zZRD5*5|PT90kTFD>_A?q1)#+qQ)|G@1;#bt@SB{FF3!0Uq(M3>wq|<aCPpo$JvGx0 z{$SK+JP1}X{XqnC9OFJHTZvHw=3CHl1-rn)(`uQ-nO4?7ng~#<K(fnfK&8Ac)6^Pp z6G0f+sURz5ym`Ql)$=vrhQf~;NV4~-nQZ9bIh`qkH3Srn4-=UTK}ko7g{PK*VY)&r zs~jWW^u#PkUy6sT7M?g`rwe4ViU_dQA_p96EoQ)lWwNUAvLk7%neMllMPvHLOxE>` zsvxrsVL=93ilS5t2{Nnc6AM`(Q~#XiAl-;C^Qwh}nLkKL^z;kGjAD#FAhtX>0$^b# zm?4$r0TBjIM4Q*51R6-%q!torO0|$cLvbc}b{?|6B(@eDXl=FNKx6coo{-Bri^-=3 zv`B5bP9Ccy<E-g!d93n`b3p#l1dTj1&8VI3xQrQG4ronZP{JyJ-pZPc5_FTX1YJ`; zs|xQ_kmn&ucV#W4m31qhwU}cYNL(sw3&=)z2!d9cY=nm335ef8^ZT4fL5g7^C^mhb z5|a$m4RA2ZOwX5Ll4iUMQe4S+3q(PJkpr5z#HYV2V1=yEIf@#Bpw%Xapdq*s5`sL) zuAR<T%&N)s8WMIQb>OfAC9;d<Og__h7PCfyI4EH>iAlQ-+`eK`uR{$zk?EZlEIgC% znVIma*TEB^WgVytWAdy6Rj>w(b)fn+3SNE*PERUlHDq$G168t2>UH39OR)|)!7A3l z$}N7iEKtD(X?P{op%h^%NH$J)tYD4jEC-25WtG-J+8oLtE~L#-R0m2@(AE~R#=7a? zdIY@le*z>hID9}kQ#wm|dP60vE-!LPSq)JQs&$y=K~#e(lZoN1V$(INSdTGooc^JT z)tYhLbe(F}2*!gTo<8pmMzFgx_%fuj_Dw%n%{qZ;U)}Tue$Ke*3fyek(-rDiS*Jg& zVQu5Q4|1_o*4;WtD`7z`YX?Xvc)go#9jiJc=R1gsH&8FW25}+9?!G$ky140k>shx> zPpN0M<b_It=3V#IP4|^yGoSvxfz_Nzpnmd(+twTc_22?uX!^w#R^{m*lo(lfpgKT> zBp*mvosoO`u}0P?M)m26O|1SL>JTlOAURYmpuK9UAYqV}%T28DjCRwFn^{9R>>yek zKys*BK;@$iNEoE$RWoZeW9W3Z7S;fcP>7arkQ}NO(7u9TkT6Kg&lXlM#+>Oct*rJO zIS?&*AURYmpq*b?AYqV}XRWM$jLp+c+gP1Bnju<RL2{^CK=ITF5(a6x-Nt%^V;)59 z9FQQYT2SFQ10<}@#9cpqVlbxxav*YmWR$qF<VC<iy{~Sv%zer2Egh^vjGX%*X6~tn zBvxq9gUY{sb&$n~%3Z7tO#AA<#o5&^)(WQk^^*flZ5eNG@9hRPci+{6b0yDhkV%lT z=<W0mJ*-iT4ATv#vYIgcsh{51%W68^tC!W3=}$elA&jiJ9+XcRH9(4mCl_?fGOB`@ z^3xpIY^HzM!m7yhp&ruGPy&ljevmBAbh{p$VXxIAXV`1?;0$XpgH=Z6Lp?aP!@5T| zkQ`SJ?jua|VU(P%5YEcYiz)}ph}_c~Ca?-HCQP3=fmH&O`~@Qzy{3Piz#0n+jFyS4 z?Tls94JWgjPi}BzXDpiTJ&E-xV=G9+j<=`*UJ|u5Ob0i`CQfFJWt<N3gbC;52GA1h zEK%m^2b-D2r}IBymSkK4mSURRFun0Mv+(qWG7hEbF;iGg87EKwH-*(``iUv5rXX3z z3{H{hf0whWPB)kemc2HW)n)pEsbE=f@S<1_4&HAdvmwFz8N@^i-u4Da@O}V`gM+uI z0UW%!4amWp+kgn(c98QCOCIu3JPTfJ+c$&tIHz(WIK?S8LQ0apnXEII<Ql>K4Mwx+ zhI1ejA)Lk_WztzK4WKQ{Gp7r<vFS4gf}|mbO!zi}I|aUtlNbI_n;vkSS&uOlB&)@k z1ft|8Us!I#l->yGet;A=N-+60g1R3}zKzq*o3l*<aTN;;7`;I1l_o1Ru`;?(Z(PNy zFkN^aYb)bCkTArqSrEHsHBNS1t~!186J|rk%^+DV#tk3}yvT*IYWl*pta?map;pdn zoR-aD%y=54K#K{g_5D+3bH+PhA;y~^3PtNZxK{A?q*-9sGR~Twy^u8=WCF;s(?PmW z9BaFXHHT4Tdf{SLh+_qszyTxBH2vXcX0_?Ei&-@oH6hX)3b`58KujH&Yqgso0R+<2 zD8VGq1PUNVf$369SR+9^kd?e39nc+7&;WY3gf)dR5iAbghZYO5GZxv-GKe(D&SDS~ zZf6D5PLQTX38q-Eom{a^ptPSM+9NleaVe|(^uLuHoYTK7V^sku068NHWC*G=CNF30 zXIuvs2RmaG#2KrQopBf<4RXc-5EJf<qflpnG&M>vtpYoPan<z6D_JLlcpy8MgLEL< z`IPZDSO{$0cZhZ0o50DUX9^SF^yjNtB^d>#Gp=FPV&nx;$PvsaH2uO_RuQJ}P1EPC zVby2U04dM{aUXtW_G7dJa~aJ*6pA)$m^N^-_zrd`NSE9?)=x~|o50&JzJQ$tIW@$+ z5!At*K4}&!<d`AjMsOFG(EyZoAp42s8o}*XUer9=xRgzusj6}M!3FFROnuGZ_7~&6 z=^Hk%E`gPAZ5vsm7?(_cxRKS4alv$jO|17BH-mWQ;N24on&IW!re;X_mav)Cknt$k zPtyaYvWhYu1hc`15TPgsmq_<Ol8_SVHi(H-B5iGklt?$g;-C_Valv%K^`K#p+0DpB z((GnLk+ij$0r@PwxhU=f7fGz!SerSxTfjvU=ky8NSdTNYwSb!|+jF*qnl(}oIf)iX zWhf5fLYg&fEs#P>XZpcitjg03p0jXpfMlh!HZ_Acuut}PZ)9`?$wIQGZ3{SS+O{Cd ztWc1w7Gn^If|Oa|Es!h;QrsxPWZN=ba0|06V+*9rvTXrH_jKo-(74rXfyAxa^o@I1 zwZKjXogjtkQE<FwwLs!^ehWBWK@ke-$Q|0t>cO~gJNG_Tc1EUcEudPQX;aH|o_(xS zC;y7jV>;RbsmV8id<Ln>k4#TI!0O41EYbpwy+<HlKw|Gch>3_j#^ciu9%PjPtqR%2 zDi4Z0rcEv2>SRp|a@?(HLB!qh7L>SKkK}+BP;IR?eaj)%d`|vWaNO~>g5!s09Y`6Z zWz98x!Z}uv?R;u%oQ%_z53^eGLM1_aHMm-*Hwbg-@}e4xTG2C^wSvQnb04TJE1k8j zW%>gLR=4Tvj<N=T!f)eogXspxSYw%dT0!B)=rR55G1d!A(XF5$v*Q6d3=(2dt&q&{ z?>MU!Q*JAG+=Vf7dfo|E3#KXvmnpLqTuXZ(>jH%;)09?FXGNcBVk@Y(Qq2_G3eE^j zeXZbbibpFr9GzQ{!_m1F5stB~DB<XeYyl)3rB1U><~#@zm&)4T3aOSo&A38AeE^;5 z>1S94823QJvgZuzen!p<5T)m!L4Fp*g=C36+b5i3J<mAZ`y8t!4^*5ZLn;fZea8h> zamMNK7g#NMp^~6B@Sax4X<z?Z!Gn#zLB>gEMYSST{F2ifFG1@!(Kc`<5^Y0dB3+QI z@??V$c1A4_6Oxhi+aMVUq@huQNwf`Aw=s#fK{AqP8z>_&3W3x^>Qnyd53jO5VN3&w zK=Nx6#Hyq=v;w{wqy%DL1&9eQt(lzKKm(CXwNPu5+90L;WRME5Vy2`vP@U|@xCAc5 zxDdod(Z39?A6(ogft}5mG`;2~>qn*}h^ym4y1=ex;%@^N_6?Vy1;X!EaDl+|qZNFz z2IDJ`QZ3HsZQun_QLW&DY5Tj|td@*SEbY@j9^;Uheyy29g^_c*;bT^%=?XpU9E@z! zC*Eb1Wn`Pa{w}Krqa0X9C`+atoYUCap*6L^^tCM<%F_!Tuu4o%zsG9A#MTa;qJl*{ zXs;m?NUu86|F-Er?y)8?*@JBqot}T6RhiKRBnP$85o{xeBiQUL+3AHjZ03yNU<I5o ziyf!CJzy<iazwR7GD9lM7Nihti}*v<9Ht7eEfUk`K4ev4tOdzIZK;CTQiWp61h4|Q zEmhM?AF*~YRiWA<l_8Z?22u#N1=N{>rC^XRf45C{e9oaYeadZCmFWirnK>BS;IZI% zlv9&wPwVuFCX6PiMFO~3c4~tZ%QxG>MGdG}F?8^pykHK?bls<{ejq-mm|6RjHH_(f zJE)l9c@2sOaKX~kIelR*YyI@I&saT~{<VXO9a~<6bk^T?NVx;5gqZ|7z~v4TPsj9! z7uk$a)qzVI%??OOqt*c_X&5>nC5>_ixTJaA4lZe)wIi1_&)N|s4MPV?N%I2kPLM;u zwXMu6)<({-4sbdO>420p*IuzsVhZel)VZ~<Sx+)@rb1LCcT5M*rzU~8GT<$CfgO;t zqPzoKR+NBbq(R1m4vYcSw@f`9kXeI{4sbcq(E%?fm=<(^XAb6eKqe;^b$|;9#*XQN zA6O-sIy%4wL`MgtfavG|6%b6V9n%?27_}HXAQ4*F0nS!Tw;}f5K(T*1?<dv?OdmQR z2iClqe)$vY9;P>7bEa?p2+g235GH|624j?%e((>gFnFj}v=f|3|F(lO>GTs{Sd$rb z!P3(M!Wbo)wswGK)uH?1G&{kw#Y~!=ps9B$$WA+FEUG~}?m(&>+L@(6G<eJ1hHtE5 zjFDJWD}85`1gSFo#-hS3m8Aw&0v<ya?SuybI8B414Aj;@jb?D7-r6ypF_lx2u@gB> zPe1*GHH2~BbcLU+Gnkfkf|4@R!cNdpG?CLk)Up~(Kl7iJZ~BB^taeOWIw47UAt*q= zDLrd*CnPEB|7P`NJO*~v^bb3k6gducf{LRo(di1Gm`$hG{AM*}I@CFRV+N-Q4~p)O z8Jsa7Z3c|5K@@cA0z8(mtrMKi8DBsoz_S($JHd&4PA76=pVNs*?At*0B6_>?P%Hx{ z_N0HT8#$%Bz=>V53zFFVHgG_z)wBOug&4)AKlsm@&7{`_PR-gNwbCH3f{tsRdY-M9 z$+HWRnq9l5Kg{KnV(bFXvc+|Q6LNGHBq1ksK@zg-^oMM0l1#2$poGlj+64-j4ACBk zsSnv4r}Hwi`GcfDGht3$;F&P{F34=#b!N87Ow*w@P3{8co5>KH)_`nM<D1F|T~L`J zm9?@9GVxa21+MSbK`dvQ+y$=hn2vySXo9$)UJcV#2=@}Irt1(*jFTZQo(ysEWSEOB zr}uqjHkv-?ACus8wSP>uEK*sMyTI9T0?g&0T93)53p|IX-33XR8eQNyJSMR&Q11pU z{y_<ov3R;5Cz~XbRyQnRP6v<R^mDSoM{wl0*pitXx+fp3u$z96i|r|se>XTW^4N64 zJ2!sQKXS80GbT=N6kwBwbZcV4Y;d;*Sz$M*U}dZZNkSUN6(A;}VaycR4M}^YVDZTt zY9yvB^07$?n0F&5Jo9cu!VBz1DP=8@oYf6!&mG`nYvx=55|_$a)(uH`eKT1br~l<= z6K7i74e7S*2HB{^xdWt5I?JycQs~?gV9R5?0Fr{VfzEV;lf#*AP{Lz;3X%XfW*8rV zn2?s%^KNkZV>;74-LQ^Ba{5FeHd)3q)7J~Jg)*K2c}H^cg;^5Q8wA)O9nu}$;P_(P z3NixRA!S?)RtA|&MfDLV-k5%MLuyI=9(croN4B#?*z6eBO<yI#7R_Yc13n{w_cqd) zw#9TOQMPGJ7CqDVeCLdtenFhgY<iv;+ZE2p9&ok{?}3C)wK!WJqs4YE3ATq!oEZ?g zv>tHn!;=c)%6Nlj87-z8NV8p^{#uI75+)29UACC+Bg5v)*fo8Y44V{Z7f8KSR!`6L zgKHVpc%j-s4c(3&P_|=ioh~lRmd?2pqHZy&I?xF3e3-h2vTTOP1~m0do@l7V2_3Vw z=mC$}Cd;u&FmfJ+n06S|(E=G#Sr*d|$V0;5ojD7*sAZl0K$FdAx`P56+w^w|Y&A^J zd%&gf;~scvjHG1p*9c>#Z$02l!21|v4WvZ=+5;+)MZi-mD8k?*FFd_anazMv07OB{ z+P}(dDoj6mAnBbKA^|RIANPRE+Pgi-N&apRILUYGvdPQ*=s`*H4^SKdE^8%J+2(RO z^nxSRt`{6}y!S!MAYDQ0UP$u-(ihyS%4P|Z1@#53dm(*6RCCe#g6X~Bq{nFiGF3Y3 zeh;KC=%B%t#$?e09tppp!IsHX+Y1Uy(5h@rws%ZDy^wIL1UU^7Zr#10a1)(=L5t0n zaULWXKs6cLtX@!oJ>CB`ht_mnZ8lS;S-s#cA&Opb;2s6(GGIIeqL2f(uNM-y`ymqG zz^&{B2X09(a^RNq!UI>j4`eN(A}d33>GY2(Z0ghB=(06)egX+gWqs&{WEjZ{%mJWU z8=OvD*}(@SyoCmGj6U08Moz{)aAf?4M#evoen=bcZ7;Y0ViN8H*LngVh0<BwAW>%b z>0U-`o0;_bAl05$AGq|<>Vqu(aP9-wdk%fzdXLd{dZRg;2op$AqXdWot@+TJo?^oG z9mE6Gbn1PeEXSnM2d?QR`@1(X)j-XzfS6s;hiD*9fSBLg2dUvA`am@t<0ObRAoYzB zOci~g+Lf_l`Z;s9$siucno^iG;A%;+4_qw?^nr^xCf+_swFC+uP=g6MgnL2LcIr$K zeUS3)X&*R|F<MM#v|@{9TsJ+|iY<WYV;{I=n|{}djfe5w^jB7F4UF%$XIr!BGjj6x zgM*p39}+K@ZP+T9-t|FdX{Ok+IWWEJ1E)<kJ2qD)!+ucOWYX=QuJDGfYI=b)8~603 z>p2CdE7`MYGCA}^(yA`VNJv_>?}wySPzQoBX!=73Sas(IW`nCc6y@OLnGKSJRCgI5 zW(kv1KO|wMg18Ek6D-7-bo;^SQllR^U261C-?)lRTgIs$CBti>xCor#o1ECJrdK<$ zd2`MHNlIl+gNDF=C$>h$$=e&9*^C)EmqX;1_Crd9B_J*&5l-$0Cql-ZAQwTG4QvBR zOJ~{lgR4SNVqrW7mY)2<U6AqA^g=f_DW+5X@btp?2qFs_T)q!tDoj6cgUOodNk61M zJk<~G!k_8~r5L7D{g95useVvPW_pS%v^Lz<4^Aeaaa2(7PT0xF%`~|m)PgbQMfEti zD*WCLNh&%MAW7xj^ocv!yr)0$WDADHb*2|v8KcwmiGggIlMVigGTKd-_h!4t7zhz* za1!OUn*eXi1WbTLahwlZ8dLHFa37H|e)=yTwv6dVeArBx;wOMhArvj3XlCl30O>Av zOqiai#a_%5JOLcZOsx~Z-9@_z;0U&yfE>Y=6Ce>BJOL$wtx?<qj^JbdZ1o&FK;lwa z+dwWim|h#e*2A=U0=OujE*Hp_&2bzee-tEd$a@6DgGBG<36Or`%?aQ#<{C&wIxAoT zIA*s`31Z`AWO_FNQpmiT04`)+O_;p!M+g)1L~t3yFcDnFFtJXA#3e{kqXg5d381)S ze6?L7l&zf+#06#l=M%sg{@Mg^Ofp@b0O=&!O$1wRJrUfkgIYfQLO9zFrr?Q?PNM(x zeGzQ`nEWS#(gc&wM6fy56XE87x`<5G5OXR}%{g(LMR+<#G@BOFgo)tticw;^Vho!e zczp{~&qPS~uxBEuduYV83|WmQNE+0`W0A`0gxFbuWG86E0u;=k!U{EJz$s8-A|wUg znFvpT#cW>Ff5ozuz*69XIJS7EPZL3<4dc7*_VH|dj7*G^AjQi&kT)R33&SKx+5;Ca z!qXLVV8shRm<=voP?Uqx9it9N5>mWqf|#JzbSM+^Byj3uR09ivhnU|@1gF546OmKk z%ZZQ_$UF%p1-?dc6*vVtC$lZ)jGP26U&ALs%2)Xmw%JS}lfa3KF$ZK7cmoV)CP<ld z7Q-ZP0s|KvjUZV_Bf54HIEB?tLKGcSL9&pR^dt}y(vqG&37py(Yo|M=vq>`5P6DMi zrrJr6lB0GKD3vf)fz(5ebIF_pNhxWQz$uRL0z|4Hot^V6vWrx=+hnpmVPgCMlGkE- zGiiEaAG-|48&DV|WkHAAn5Q?Ev&m21P{_go9qN0t{Ynm-6eCDIXyZOlD#%R8VazW; zCV___8J}+V%43_!2pW4WXOo}4K#YT%No_L723hvWpe7B>0$U6V)V5DAV3S}3DMz*d zw8}#Xtav*3V6mr@!0Q)yk?ems2{PpNI0IUYo<#%&cz7aY5~K)4jaYC3UNs4lfZHY` zCE!`Gv>RK(=EF2+GAQjb&6qshb~#(!^naCX{L{-z*}RxmPllx88I$29=&H$}R19ti z^B@aPPb_1LVLSoy2PCx~1u+$-H)yekFs+>oNv?-LVrEP;CWDeH|K!QYNp<q{hvjTK zGHXGBh-jcqMX?!_Qa1}&GBR?01&K>#eVz<SspnR+m4e(Y!t`PC^uk9>sZ1PGz{L^k z6mW60YBD6L&bIcRE?3QF%p^MnTqH3`PML1MnO%HxzD*C4<P=bfV-lMJE|*xRKvEmi z6v%1It`GyAPz;=YZ9fzLbg?6xVv{57B$=Y7O#gVEF>3NTI~k_1DbpuDXHsJdh8X9B zWE`l-`7jw0W2hbk$5_S`NQ_OKf)rz3(^u8A`M{!0qk*lSY55dzv@M=8Jy4$`Zn{GU zo9<*4Gr{RCjcle&+onLGZZXKckOFAy6j0QOPM2z8%Vs(;1ycDPncmpKCOrLI6PxPv z)+RPnMyP;IGn?}C&qx9*n%Q)x$2TKX$hENPPQMBlu$k`N!e+{JWD2+fMX?rKkZDXm z*vbY;8mb^>3Db@#kW`@r;zHU<i>H86hQPcj$SGsq6i6YqV+u+kwgAOvprkQfv7K!q zXXsRLAr?G!`bT@tR#31QF$GM86k-|E11GRS3b9m>GU=?XQ$RB>ZrdX}*$NpMn?X*2 z6l3*M!NpkpRPcO=gB80X;|!2)Eyk%JMbOsItf}BKj0vQ=Q36C=%#q=(p9(4oGDIVM z7#SG0KiJF`&bWPAFPi})NC9ZBy#{0wq(G^huGr5um+>OVP>9WEAvT|#3hoCmJ_D)M zVtfozpfG&`8ygSP+Nq$nI@1fN<sc1>5=>{Of(y{IQ>U*z$WaI4f~-0P(vD=6!gTpb zY*9>d)4=TkMyctE)7Ye#q^5y}JeZ89f!hNH)4+8s%pTKeU{5kiO>dmTCdni<ZTiOs z4%z7sCbQXtG=drh;?qD~4@R(O<hRe9!ZwYODI01<I>d@}kQJ)a7foZcXKI)>ePSP{ z79*-XO;CH%A@-zC1NnzBefzfQY|ELL(x-v5X9|){3e#`QVyj}>0kvog#G)-Ai(Ht_ zLi}<H)sFK}JGMaV*aER*%k-Ud*b<qxK&;q^V#U<CY(<Q$(=RS!gG3MGba298oDK>x zMk$bl^7IQ|*f>Be$m|v*ei&t@E6!&VVFGDrlmJnnE*s<Yy!mXgARZ{({(-Gxs+<by zOEH##;tEpPrA~zuKS@&|m0beJba2Y$h@B2D)3#3Eu$WDKy3azk9;VXi;Npz2a5~>2 zwh2sy(?LNs{nG+ybrCxqZWySI#W)vX*eoQ&vKcplBw&7kjK7yJVUuTE2NG8T?_OYB z4Pt9C%|bF0RG<Y+1s7;M$k}pw!%{X4rnOTc<=KnrNadOTbnRtq-mvm)#WJ=Krhn7H z<=L<4plawk6YmU23HA%*LP!b5GXqqDMKQ_G02f|N(la2lJ19y(r45ti3`ld`YzCyc z&OZZO)-V~*05{ivO$V1VU#BCNGhe4e${GF{DCNv|6#K#DjNEFra?Z3F;BqEq2D}RD zWJ;U?X|Lz3VSC6~3Q<rz1JWNW0&yV?_QV<B;)tnz#^i}Xnj9@48R;yZ>4xjrb}`MF z0nV9BGiHF(*^C*WbjGxC1~_M~n*nL5Z=M0pl3+!R5+Dkcwq{HZ+Q2p+!~><RsWZS8 zS<4Ja<TuU$rzEB~5KCVoS*o^OaT8k}BO~MV37gqWnEuY#erz+_QYNOqGeGHx=@-PH zmk5KvsYr9W;a)aKZ<0f8COA!ky`VllH=Esr(GDy<+2JQI)3F(lwDdQdU7XPhBEEr_ zgV7w!gq$*`HWThlaFYfUl%O^_YVd<A$YV1g394i!JVEVbo5%QWy1_2Cc}!h1!O5s? z=5z&bwyNpc2iZiY&)d!B$24;$Btf--+zLrhGiHJkl<0KdJ#4Xzt3j?YVO&1_!5+4N z>8tjznKCY)p0<}wZ@R%=HdChMGr=_*if&L^V|)nG2dUZaftZjc`s|tD6vucQECgzz zGqz1n+|MQ@&^Qx0)iurpr#k7`Gf`4qGm;~xU);~Ofs=0*IKA=Af~2>)0JcJq=cJf8 zXF*bv;w*4#k^`xe&YCg(;~6$t$OU4$huBJ(Y-T~ymBlP@y0VxxedB&6wduE>G4V}T zKFlV=6gX@8L}NBB##xXg7CZ}*#6apBC73K`flFhH=^{tiLP0!G5;L6zD)yO-W`ReX zraw8tc7mx3YEK))p0-)w^gDkRIQ`C<1*uumW`S$4g-|=%W<lmtwnJ34%>u6-U^)Te z9!1r33a$w};?Op0`bKj$+3C?I*iJIF%>t*`W|+G`#p?7;2chMl+$=~Mlb!|13VgG{ zA;vu$oOr<@rapb?DYhmi<=Kz|RepNxX|^UN`PpD&WoCnO6!&bnF`$gV<P9;#1Id_3 zri9rrpH5GVW^-nWnGI<VMncT+Kr#bVd~(hL7oWVy@jeqWUY0fslH8}wh9!4LHFodm zzUSF&VddwZ^K9NsYi5HJ{)*Ytd(_#hrrTd-<C=cv0-FWX?%9xpzXIeyNW$MW8<g;+ zrsrN`<D7mjp52`3>}+tE%6M}6gNtk?yeMix$(-r=Y)Fy%WHzKo-8&ncz?mM-1{bL- zW`m2=#j}wU_u|>$#4WRTHcH}NisBG(k;-?4t({Y34mgPm&4DEGb640JnE2;_Q#Ygf zbjO=)TAV5%CDK{DW`i5_(?zeb)iBzCq#%{E#T-cDo&!pBjDa8tNWaq$#Dw%agXcgK z_8f5fv6ur**gvkb6*5`O0mU?<DM&e_CRUjPiEYI>;6%gN1Cr9>>_m0Qteb4-m=?}~ zq?)<g=iOq{VPu*MHf*}XO=$Y-L>L81IE*JDMjb;n3S4^L14%(@;<PzPrROb>IJ73d z4q`(bc?`*9P;%m*14&M(Aq_4))8;^ulgM0Ha+(Ml(XhIY7(ZQepUsz1Yr5hy$e0?F z+FZ~WYW4JYPuRGo?|;B%#b^nU1P!mL&4qUkE#`t!mFV=Shio29-gChTiphO0q>@Ha z2ToC`b0H}zX)Yv1S<i)}sQ9^{6ve1Ez40ZRq+pifT;wFBI2V$ntmmR6DP<H_fRhy4 z6E<6pNg#2ltO+3Z8chG^#8x!@?GrWurrx>WntHp?Q#N)+j)f3a^FgW%dFO$6kea%8 zE_mdWY4coANx``RBqN<=F&C2hl%KOTGM$(UDOZoooqjNbLu&fR=WMP_cjtnOyIXT1 zW$FF7kR*3xE;z{@nF~&GN2YVXWGe;rxL&duG98=?E?hRug(SDNbHM}YjJ=>x(3yO| zo`V<FkKoAsG#3(?>hn+{Q|dJ$GJ9UL1vA;s1C<Someb|mupMCXnFlElEa$<a&U+pt z>Kxv(MKQ)rSNsMWor(gp!J|_s%0V#*I!X2$v{P3KRyWO&EtJV`9ylHui@-vls*lNX z9=LQcnTH&eCi5Us={FB0D$P(_1&+#p@7b<$E(M88Wi6fuDINYhu@z3Q{m3T3v|t`M zk{EY@>;t!vIk$q;N@sb`gG5yDC$@UVvmj|mF>!JpxR^LO4_r(<0!cuMiTfZXq?mXz z4;*KVC#N%hVKZR-4Uz#XVmdhwQa$m^2SxI9!!K+K;AYPEdEiQoZ$4Nf6UdTA2@nNp zo1L8A_?0ae!~^xpj)6?mV%j<n9NCPUKwR+TFvv6DljBiC0UX)i=RqPnbUrMy13B4) zr%(J2uL!37VDn+jp5FKunsL+TPhY^r-ZY*6Cz~5%6-2zjNt7pjK0M+pr!V-)7R1yu zACg-;=0kETvWoejxMo^5ACg-a&xhpJn)%>ZW?C>Glv|n7=YwN7X+ClcC(Vb%aLs&_ z7*0X5em-~_e|y*;Hf2VR%ODA<tcxI*Ze=<*A6)b^J(~~Ce2+nr(pi=BA#wWmA6o&_ z@A;6-_kBJ%Lch-kN2tJbMmBcP;2t+<VLBVT_GE>L224T=An^iH+bF^GeLg4?GJT&v z^&Wd3h^JU!Fn#eqXi@!mJ~(EW9?XZ7`rcq8!G|q#dMp697oZN=UdzPJ&cqb60F*5C zrYkbBtAS6S_E>;yf&${4uIY)V*i9L$kPIwGF>v}`R(5B`evrHllj?%WiPNN~a~rU5 zPY-2dmuKo;Fde+Ose1uvtXpcjz#T?m#$_<YptgqI^oBc(qB7kJAcGJ+j2dXCe|9gJ zKCzKgdV1u4HW9`>aIN5D$O|OcC78MwfQzZ_1)wF4D$^5Lp<XIScnRD_KQ|vz%b><5 zIIXHKfTY!L3y{+41ZaC@+7C9)=`vjG&P+TD!Q~Ri^!Z%uCz+%dPB#qawBuO_Pn}W= zr!V};7RaQ#5RyDK7ebOJ2Z|EIm25GL3n9tVWg#Sa$}WT?PsfGR16Q$`F)p0W7{w{Y zzYsZjGB2FIaTS}6^g@)>$%<k&xctfFV?WAS0uq<XDq0ANXoKlFd)W)8OL4RFK_-Or z7eW$i`$BMHZ2>8k&XQV)lvw91ge2A(3&DwX#zIhHW!kt9REjXITL`HtHZPnGIz<39 z*d)X*$uwgjIF-&=2u`Il7J^zQOj8$vtBRI|;1tH#IK5Gr-H+)F#O9YMHgDGyVc*Qi z^cU=CJr=2~Ul6@7k@c!i4|v9;&nP{8qXavo{FGP(PU0}<i;A<`F&coR<v}GK<FV<D z;_R}F^QRXSai}xtEP^CSokd9L$_-uh^alb=g44n2OJ@-{VKGZ(X@XQ~F-a@}`-G`+ z;dF4q%3lacSg26}PFTklLK0TZBBX@nJ6&3e-5Hv?rcaP!4`Z6N2$Zsz`WAsoz?$ic zrP+O$7A}I+dwn3^K^npf7D4L002%fu#?2ttK-V~}2eZNT9*XkGjNQ?UXF-yXF5f8- z6Vl~dya=4+7>|R6!1Z3=B5<kLxd=JgbuI!WJ8hZ8i%`;CH;StgeOc9~Hx#qa;`{{? zm&*FF2r1nKE3gYQeO&~u_n3GWgOeQBVsM--SOiIOI*RPQOiGI(NltDtILXN^1}8c5 z#o#1ovKW%&EEj{59FyE)NG~j4@$`%0oLY>FA=O+WM0MO^NQcH}F}RjXhHC<s6>^KG zZ(PkOJ3T{%y^~39F({c%zofvfGCd)OodaYN=<aX!#o#s#$l>5R4%Nrt==E6)iQZL< zVbSZT#@+#o+23mH0gMNxZ<J?;O!n@X-mT8Qm+?GA1k@Vc0}2F4)Sg=miQ1JK?5<1? z7lR8Bj=PINrDB%o^f{L7hST3^u$wa7T@3Enqv!<1G85+#aFN2uHa$U$y@cuFVsP{_ zF)smEczYIuqjvjZ<fz@g7!tJ?LDnFqF?OQ33S6Wd&}Pr)G+P4h@R%%tMD4jNY=zTr z>ag=O87_e|Pygz$FK6U*g(!1g0v<`?aRPB6?Nh_;FZI}uGBSovUvI!ZnJI3`^uP@) z8oUWhz$q)kK0_)ibb6&ByCGBP5>TE~<ArJl%{m1xnLN=@Y5Ig!?Cd;-ATuH1<}_Wz zh~1I12_zzw)vyHAr_m9vgK$yQ%{5}5GCkCY-DI-Eb5@wiphaC!=TGl4W}h+L(3ss4 zCJ9=jWw-=VQf^oRPPS`721{q1TMQbAcc1QO%3jWNdI==i9$x}Zw#S!%2jMNu*cF)` zfE=yKbax3j?SfV%n6Zm69bW?4fynd|A_-RS!o;<7GU$93_N9=7`*jI8;qoknq;`<m zjS@`9mw*ab#^ciqEZ8$aJkYqtktN`9je|=d;~F8B?3GMTOCfHuTMBlQ-BPfdKobK@ z;Sh^LP%VmtS_IP2D8Xd66l{^*bTe!AG7t}Bk@ZrjMc{#o%O>oQMT2XXK+3~aOTeuU zrnyVOK{abBIESBGJpJN5cJ=9cw(N_UHZ29kk1^xA>FjpwUzpY{1!uj>Hc*phErpu| z>T)vOf|zt2ZW3rM`E(Npb{*8~-9Apwb6}Sj|GX5GT@o{7Yo};r$j45}P>h`dyS0k* zdmK3RzF!Ky-Yxv^QXDr{87zTb*65cd8qdJc!&*{Wkdun<x=?5$mCTUJdObbSkzJeV z#ZqvUcOA()pnfhWp@BvTQ8O60B>B1oT#|q;WN~7bV0<?n+|B*s#2x`FP3oN4i<#V) zf$9lH=jnzn>`$1&mVs*s9_MB7CP?V?1XuQ4ri^8f0wiS_C`7VEr`OG8H=TagmEDvn zW!dC}o#xZ+-N0<f-sSb}oJ!NzB8g0H=v106=?+!`E^m;nSOzX{b}a*!H%!}?L7FfT z%OC~LmSx}q$9WmJz_D9~T;SL(gA_OsAZH;890w%#F9Wx*r@!=MU(ER&BrcWpbQz?; zIqJpU%k*g3cH0%~Ul}=nK_q`HgDmF!4C2aovt~$TeOU%CDR>`&gdrux=Vj9`uyILE zb_nuk6q+9B%dRv%A%dBMlYcolorW%hWa;^S>`9EeAbD`_i&1m>$3S)|Ce7ub%81bk zB%w6<f+`22J%|bEeYq@$<WkM$pz4KDbNa(jc3DQv=@|j+(IB0mPLvu*x$@)-JS<Gg z%ON?{E|9&Eu^J=}v8o(mRXN0}2_OlGRlOi4xG}>Nz8qXGOoG~24zaNuY$I3sa!_<< zi1rvx4-8~Cn%uC0YkGDtyBSmYa!^KNECHE=>IRt*_8P_$AaRHrjzHXS1mcFfAPI;Y zZh@F6ZnzJ1!x4xZj)2|3cx3wjQ1)7;BM=)8f^?zSIC;XdWG2xSkm5;j1-N(;TmcGP zCao3VB2aw=qzHt1Rc8exa6xJtC71+PfJ-L9=?5d&13^4c$;7t;Tr$A|wl|VJg((SY zM;yeCIEWqP5Iagx?Wly>5w~J`qb-*tBiIg(xD}A#oUFK70UVZ{(d<f0aVtP!$rKH< z5?mOn_(6*>{^j5zjFAWAai!@3iy1kX9xa135K+@PINyga2j_dHGb>;%2yn)q8q4ki z%lO=J?0!s-R)919z3DUK*pD%NTmjDby!TeXGyaDap!Ngu7%B5ga2de#e+8r$f}$9l zg=JSlvar-jNEZIQ0+NNrSAw(fy%pdrd~*eI7QVRxl7&Bm!UmCrZ=<*b+-As3V&BN= zwGv$FdaMLz;mKKj0n;0#*%hZBNoE&fa$O0jTVq#(D~u?RTIsA0D<Dn6xhd@ZOhqdp z2_<hOIHBaN1SgdCmEeTZvJzaaGIg$mq!5szMhT|8m6IDM%5tuRL|%{m^bINO4%6?X zvHO9fK29{8?vla|8HtQq363qM@Rg9N>kz~x`%zsIox#46>H11Y)pdEgRVMo{rpqfq zsbD%|1~lIHBTNEUUH>5_{XsPeJX$I;ePa<jbaH&oN~GaZ0g#0J<PE$W(}lC4=Keu4 z7gUG1u7so|)Bp#kr8z6XX^GKmx??V)4q1}R?gUFp5_#;2ObM&NNhxOf&OG+RO!=!I zNhxL(JSpX^0wpEU>38$lLl_&uZi4KjsGa_>fL(ZcRRO!<bi)F6Q%10W)%4X6c3>g9 z2@kS4(<c_P$1rXOnE>g2YymN$%WMi)ffF0!Mv#~pQ_Lz*V&e~Ag`C*JrwbOd>&O(Y z0yhw0r-MYII2F<Lcmfia%6ha4lGZrR!qQp^yCBp3Rp9Oi<9CpCka<APFCY!lS$QBS zX7}lPO4<K13QcFMWd|39Onj?BX%2K~Rz17g^!b}O^g;J3*RyLesz4Nh4zkc(4NiNE zeA7QxvrB^XfX2`Gwi{HimokF5pt7GEq+XqoV_FsaA;ts{M}B(1Bo-k?hz&8*6YJU4 zCKnjWGnP)@2(q9EtOneBwV8gfj$Mzb9BNMt#GaVd;8HMVx@HagQl^;Ipv1@+3DTv` z#IYJuy@2{ujB7z+5dW-%*tQa3+aZW;`ypx^e)2LxZ94+7jcMg-a3_oL7DORft3Tsw z2=4`kwzm*%j4L6ITnTn0$dF7G_70|%5LYe(X#=?uTyQ#;LJ~UTm+66p?DEr=Fmp40 zgv1eez3u%~ko1lk>EQHkvl^V<nH<)jl$}4C*n?mRzNVSomnm!wD8VxYtpT0p7YQkU zes{2oOrO!h?!%P229g1S*1$7B${J7x052QkMG*#-nv6};AGWd^FxG=8=o0_)OW7rv z($_!|bPYrTyu?3f4JcI$_^v@t)xK*WMQHjOlw|FX;s9_FTGY;dpL0D(Tq<kr8gQ}( zov;@QS|=nk{dWhuB-5%jphMPdrweFus52e{TMgc^xF4iTIxA%js4!LCez}ufiwV^K zXk{0keqjlRIMcl~pml&U9QQ!30If9i>tVNL{0cEaAw&SS((vB&?LF-CK+3`E0C$7T zg|xG7LDU}L5n;SOePb`XJCoR2(6(jK>HK}{s!Y;r!Obv*HV$@1iRlS_?6MpZYe8jl zmhANS2OPRgdSC@GdnBgc>tpv|l2{Ar`9bYr&ydOzSqrM%8Lv-o>Sr%x@(0@?F`ah; zy9!eX*of(1I|3ng1ftlH4psoOBXIid3GB0&0#WS%ZG-oP*>Q0qdlgd$*bdR@Nt4)3 znR>xSK<wy(*wKYz#{#edm>pfy9VfHTW9mY+1Jr|U1KYuLeGO#EB-DqX7VG6T(?PqG z883iC6uhT%{~B=3#JC46H2K0saZpr)2O>}tO5;*Cwdo1&tdJ9sm|m@gWrl-O*{6Uu z9Dq-)?3l(Lz{Id_I%7PW9pl>RA6q!VYw%>I2h3p?058PbGM(L+iGLj=GyGW#&kTI) zK$#(mQE~djne5QvCRs2WJluq$5}ZG*L6VU2-U7rdVG>*i$r+{~E@bW8pS9qO@qI0F z#`wM#k}(9=p=6AoD2@SVjE}R}w{m8z1Gg>G)=e+G%49Izp^5{VF#_hWi!vpzgB1AH zAWNYIe#JU)Q=e}gC{w6S*PhGX0lKPbCcFIPfb~L*>p<l_Q_nh38-sBvSl?vO4uVC~ z3+J&%Gc8{SF6u!F3>zgt6sV~0nJzV-y%WR(4ar}e11-)frZX;J*J3OMn=&0-lqIi& z6lJLX0TpG8yQUvlz%I%3ejP0GCW2-;Z5Oh~z)G^y3)vHySl5F}GDgPfIg8j|F^Q}P zM-~s`dU#|BPhYs0J)Ti*I^z;{6DFng;PXShmawZ$Tf%P2s5E`!Ms|5{v?1$R4~{lJ zkRC|1d4rgcQ9`lxkf`$j3xP)o8P|iO?$0{psQa@H5_MwhQKIf2D8M1zFX8o&p52vY z?DILRK~9#+s$4%E9Cd4!v-dNWZMRv${*95N4<gqCwh?j+WIIR*Qs{Jmg+WW9!9zj3 zWgsbt4ejee9lR{i{K67;NQ`qV21!e22~T%i&3+Da!p#zPg~=a^1sL~EcU;3R#k6-l zII^$7Oyy?03}J%m_8aRV5x#dls9Oh83ySc))63SfPXzHmRr@Zma>!!n?du^GZ__&V zPA2{hkd`a=25_q4-T<<QNo51L<*K*=(#3hb9^9K#+W@f$q_$CliF*U6a_8XQ04gmr zM5iCzz-|xje;nGt?#RTwVS3<oW<$me;8JlrC{C58Z&=LC%D4sM7SIuyjEh0yT1*Sp zLmIYO8$eBLj`R)S3;+%e*~t?MxTd#kVsBxp-vDXbR!_Iv%)W%FdIP9A!BnvUJc^ON z0bCM+i~_f8mqUzNf^5|E4-eV7r^{?*H)Pra_Znh)hiS(K@OqNz2e&}72h$RWp^OVa z&V<Y*maT_m57aaR${tLw*F$RhPa9zQBaoBbdwRfjc2`LLFr0p3J9{7#$3{^8U}D(_ z8b+_0E_a2Ud;0wy?9NQ$8^KwHmt`Y7tB7r!e(*ed7^CKN!(HqqOsX3}$KHud=ideD zo$O>cWm4S;9{E7g0?sLcARUmL;s;_va*E_eNKWwv3xRVA%f{)9MJ!VM8<2C#{|%6w zBDoPIr!b<p3|z=f*~31cvkoLKl~uD5l2dZ_vbQi+PXD-<J%@23*e38SA4eZZnRJ%e z_6hsgEg2ctfTX|)ooU5JaQa)Z5tRNI4}v5hla2czOi)5Uyb+TAKx!K$Kw3ZveZ_Wz zgY4yuATB7SF9oZIr1V7_At_zw7W)atUmyvE=?@ZF1Q{WgeFIshIvqUR$iE4k;(0bf zQv9`z;1n;o31Z{7jo_^HZ6hefGkx2*J?;*>1S8Y8ji40B_!(p}<diR_MH@lwMaKCM zAy67;>e~oOncW*9i9B=@D3NmpZ2~89v5k;{$9Kos7c*sTf~4@Y>Bmp7e_%@61Tug6 z<m1rf7_<p&5@Yvthf|>G7>GgraD%|(jvr33J25SX_=EA<^n}ywK1_=@ffF{<f=%GO z(ho6*se2=2YN&D}Bu%5nE;vnJ+XzY1cQ?V(G`P&SIm?~_Nz(??ubpL2X8ODdl%^Tq zPp>@3{)dTaGdLmhyazcAQtUBKKX9HsoKa-@#Ou)dnMq(XQeqarz;4PYF#Y0PXwi?X zbu&0Y+kmt}60{|V3GJb=Y=)$0Gq4zVYvB7$;IjYKCgc?TY7;m`OS5c7NzrdmoOp?S z3uoqLaD|<|8IqRQUS^-ll(HE-cQ8Ht3VS?f1w=vF=IP+mMM^<j$kai~X7Eq}V;9IR zkg}b#9V9KC#khI<#C_}*jG!9(I<)Jya5E^;GcKI&cpKWW+6C4KuFkiEn9)poHbasi zNNuA8)56W*B)D+%cEf}0WsD#`DAmscDTXG&*_)A4{b#TQX#XM8dx&lCLAJRwa!g<N z5H!3H!p_JFVuHua7|&0Cc$;01iE9hQQjnHL36M@uPJ6#S_71xwBZv#K^9|T&a86^K z4T?B*#u*SHP_k!i2MH-npJ2+u!PK%Dob(y}KsIS{cy9qGea7h*?y;X{O5OrV^zqX# z-e>>76u$+O=ow=`N+H7^-dn)Q9%KrrXlLvONojF*Kuy^UX(kEia2PQz07)TvMR)oK z9cFRR(diFC1F4IdS*I^}2+d6$5MvozAPxnOfq~)~H1>_0DmH_c41y-a9<xg_UE2cA z2%sh__ymF9kJ<GY*G<=Y!XC)<XbWVY?dm7&JdF3J?|8!A#CU(Z^;33vMoxyU;8gW* z3nW!de#TzKbbkwEpKaK4_8`Xl(;GWE45#0E&R)W#v=x+_nB=yC*4xHSU$4)hI=%Nf zJNI<im+an5hFih8i&qY0BqVnkYy~xcMW>&9$)3UFycIm8#%Mo1{S~|2bi-HdrcCx* zr|)TEGoQW`!U4Cq@_w?bO&5L*mIYTLC<cP^98>#N$k<!U*69=3IZBv}w}LYpQ{z_9 z*c+qV^uV|5QUa1&ku#d)R`A~N^}QUTGR9j`GMhAti^0{$%eU;UoLfNRQdyg}LIS5Q zfGrf^X%5I1{PkPGd5h`zR&eoo1f)ee%U~;HJY4Dn`xK@}TOo~^ds{*Iis{}~P-VjO zeJi+V|FRV_4EJ*@ByEEfHA;XKUCfc;xCe4*QikaC`|`|=)9pl=Ij5(6Vs~M@2l65K z_z9-lTR}}3rW;!!*(;Ktqk_?3y5mPkW@glxKJgp76r;}chd<d}8C^jVT8vI03Y;F9 zc(#G76!&cq>vgtGH&kJlWZVYI&m212ppB>kK@N@S>4F?4Ogh`Z`9Kq70(h?p+~yPe zIch;W{9ra$LTs)C*{nW&|2t+m#z`PuT8#Z53dQ;<Q0ptVforr%u=Pxp+aUW}Dj{~3 zfwY0`WV|tb!4LK?jHf^%;PDy8V-VYpfoyYSybqGlV!Q*QP%L@~wdmM3$juF4ix`h> z|NV<yossDn#G=C>ZD5O-ZfpfroJ?1@f@`QFTOnEg;8sY%p*r1>l>=I!Ds2as9tK+> z`F`<V_DM`u+aYC$+4Ssx>?@eewu8gY7@`YY94SpN{Lik%bZ{$p>ltGbL<)RXc|59t z;DV$aEDsvmV&d5bY9cx_7DI$U<DQ@XL&^}wc!a4(IW-yAgHsFS6cW_54z5gjwm~Y> zwcEjE2;=?f59e|QPM^TU0SZWP_Gf42$Ywgc9i095ZwH;E-86j<69?yXI~ERCrc2u) zIe$OM#gLqTaXTdEKVjhr6+|4f!wSBW_zB3#CQJ{uPtSP8Zadw9mBSRo0ha_@SUF5N zA8ZGuyDZR&!T(r9r<byEh)-8y<1l4>0P+~56NX|Ls8nFom@dfA0jY^qK}`AS37wo_ zOjovp3kOCeuo$>)xqmyjCf>Cjxq#TU9Z^7B0XYCMK)(mYW8ebf69-2-N9Yc4=@~q| zk&|O5Q@{>zZM@x|i-VbwBLyM{y5f+-fG;Z%#D!GH0Xx7&24fk>LC|@$Vvw|S*2V3R za-)uiqmFSRNFJQJnR<7Ci;mtMprV6u8At*$v9uV(gv_I@*a6AHAhnGWAT6L0q<04> zC^JN-2S_oSOrOWc;lS8C{h%ZV<bo2$E|7k8ruH33rN@1c7{uP&JEni^XOm)t*!u+} z0kQWZhzZGAyLW&~kZ(}yZ|?wS;oCdFCCF`<_3#pe@ixSI0d7t<kRb@m!3BuU^gv+_ zh~*kPL7ryRnEpVB!<Er-`a)3-@TyEkJCGV3CaA^EJ0boCDQ}cu(%1>Im`P(Nr0mex zIbCrIn;}TE(sYFdY;24>KskCkGY<!30={?$Bu^LYfaK|RkWwwqmYv}2d~rJ@JO2{p zs9~D36Ox^0OkX3$(Z@7nCn!5lUmyxKsbweJByfY^2*jj=s3w8)@lBWyAbI#INF{Ws z_azV;(!w~1WFROX2Y^D(ga<h_PG^+j&|uoV1CoRJccJHCmg$?MI2>WMxT-WqB$Mhc za5h%l1<A&aG8}$PCc7XxSaBD;i)XwGl7m0UaCkAf?Sj<ZPSXoyIn1V8$#R%7Iqd@1 z&L~<y`H(4Z7o>L1-UY6m8O^3E$aBarW$Xe~&P<BCz<Ez*7joW{*@eh^X1h=-XE_un zf%6`Z0!KCHY>>EA*34ay%K3l-M+eiiUEmxzJywyUn{yRJ!HQjw_V98L7m@*|?E+^& zraimBb@on>jC7XqE=b-JQRZl1y1oliXJ6h0PJ@@HKUC&$WqPv<TxY-B1*x;&?SiB{ zkfKHjrpvoPDUb2;^xrBR^&lQ-a`nP4aP@q47bJt7+{ls4q`DhoxZ-Y*;Y^CV!6!6W z?FJiez8lilW84kSRyMmKc7W72N-!!;->A+Z%cwa0ygG*?=(ZXS4nron-B3F~DVyok zE^uA7a~C8vZrcS;*Gvt&!Je(%4Nlj_yCCU$q9#Wj)70INbUksps}{#3P`Lv#wQo1r zoZ8)Rb3mz@X)nZ_U8v@OQZ>^hxYNPOn(5qbNdN9M#H3wFCV^(-K(PgC)uP5QxJqK& z4NlOE9Md1_a!5dGB(LfB&T_C%_txWZhNb5NdK>|uOL_D;>=>n{2k3L0W7M54sLug8 zwpnTqJTdF+fh6X70}gve`{@%6IfSQ!4ku!?2D2w$m?t&e!GVpP7ex;!H8VznR2VRZ zfhg#V#s3}-DJK0rkZL6uA_1DQV3eAE(2he=FiUg~a^e=<gGk)^dr%U$IEoWNiF><> zF-IvQM;k~&DywDsLKBW1OpSZM36^mt*e>uC#Waut=`5W+ka$!u<7j7G2bP}x;TW?l z)2cn-w6$svxW+gPmYJ*&BF=aK%$)vU5{C!l(dh@xIYgLN?Ex*RV!Q*E0Vx9MUic$~ z@hx10@fDZ}Ik54@9#GO`d=JwNF7Q|F0jK^|(-SN?N*PyyLIPUHEC*`^56n;714&Gi z_ka^6qx$qfCs+eYWiL2o!hFPL%~8f=vlo&wEv9d>=ICIu*b6Fg8BHO&Kn*A+mA!Bi zLCKRb1tJG-K_#M^2uh=jm0)>r3+l!ma57~qg$RMRDHeg5)4?VuBAE;-eH%euGT}jv zvgwTW92!hF_J9*B)B3$grLWiYgiucQ>Few{>|v=@-hm^R>F8c?>3eYR<Ogw)(*+bc zw5A6*a=0*E*$XLw4}#nbX+vG!3rVzJ9XX;wd&8YLOc)<cZ*$@>nI7Q8VaoVu`UfWt zv+28>I82!y?S(8xDsbjdny%&ymObIjVKRM^Gm`9y2o9y`e;^{@!W+dlaB_E>t{4q% zL^*?)&_>j?y^z%I02Tu`q7Lo_7vy{PBB%8|dl6~<+Fq2jz7NG`ptL^yoEt|dXYoF8 zBdTy8q#%!R=V)cj+y2O%V<Qu16GX0IAEXSg2XP@~c-}rpmY4!^5M(9uM3Ag>*5$pB za(urxM;zmNkTj$@v3egkN37ll&JjmI5|HM^K@bzthB~$nQrd#lHcBw9-Umw49IN+1 z+fW;QIb^5L-@wK-eUmSTJZOJ(JggzL0%QoJ&#-hKq^$Sx<A`Pa3lfJo;3vcZKOqhf znywhk0clL}gP4%U)XjaMti>d<AL0&>mPQGtpI~<|{oFTQFo460@#pl5aC^Uj%ty8N zS^!59qZh=?5AK3YZu`L=ciRv4csxh~Vs8wHiDGXe)Lys!(+^%}lbqfd#39S*Hhq2& zhd;;|(D;foNRv7f%#)eH9Ept6L1OaLHxzIRF+wbx46$qtNCINnN)QvpvUO0)ChrFo zAdHhCwoRUH7|P+xG<iQbt4{#wLfG~*lp~(;2}leQqz@prJ%HHu6C?q#?Hh=RV%u-1 zZ6Ga;P@g@RzCWD9pXmX_uDc*T2)jBXI1(8Rr(cYMHb-?2fP+!@05}-kKoStUoIy+! zyF3m+q7S5{QG!YL04N!O*2P6}_%i7pnEvoI8`xlwWuQ8Hx{Eio4LNZiq&Vx_2Pq(X zKxRYx2%QJO1?1(ukRo3`h9jS8;Q?>~$u#%C^chn*TAAh^00-MFu(rtowj4~I2jC`x z3&@jTDah)*W2h#A3&?vQd6;h?1>`M|kn-dO8(A2ygP2NSgO4E@3@RV<K&jG%2RWNh z7fj&LV7j>vQa*|toE|90Bo3?1w<mD;!HP!nM2-+9t%KmAQSBh;Q~>bslFD?yB#uBP z%Y%@zQSBhSLbo^wDjUV7%O-R1PUlPJFlY3hu9(RIonmzdv%zz9D0;vpTq;Ns(oIYP zF`*@#^+8Ap7Y`N#m2iw|(;bUJ)w$w9<RVV-Afkw~K8RApDWf<LT*R$T<yg--2_!C+ zHQ^wnh$GLQuJ9yerDN$){OdA1Z}J)}Ha1kxp)WpNM^-;dKdRx|DbNkh{9wu9jG zxa}b1@R0K$87<Jkq?sI$!tCNfa4KZnHvNAVhY8~gumYxS2f^w0Czv<=V<rb=N86Kw z;DYBjsvg1V7YiVrE{HzW>9-O&6&aP_!qbhjkqwX$p1**Bp@*|5HLWDEC_S}gN|wqY zuq#0N4I3pu6ll<P+w|%jj*X1lKp_lmCTs?|2-5LcbP$qe=O2XRf*6o}TAY!Gz!?A* zAhCHIvzQ7GfinPO?sVOJjw4LDhd}9nI&&U0KSdsbn*>h%Ga)8TLp4dOki!~u@<jm$ zB;h|f2uk>n-BnDh4ng+3tU3hUhE>EN!gvH^4ovan#A!0H9Wtv9ftFyXOg~q^0ofcj z4ao(dY|;zzvI!4zQkmXZ%%Q>b<RB!Q{5ph^P1H*`JYd;mVF^btlfYqcHsLu8T8Pjz zeS0Z~2b26^NDkpS49_8Qhe0_+bb3M=hZCdW^o14B%)z94c>4b-tcKGUm2sFd=^h5R z15osVb4esf2PBt-ftU)@H?VVrGASO0<dR^Jm>Cn#VNe@@pZzd$24SDhSjnL)qj(r4 zZ*ZbG4V*U$DmkWewt>W@vRV#9@`ghdM;lY)VMssjb`?iI=TwM-$%i3rfJq=Oqz%w` z7?Nj}gB&A2{X+o<4+ltAI!o>_qzy2wh9jHt5Lg;K*|6_0IM3`m49)}BArhcf3Rgf( z=t(~}4?|KcNO7YC)4s!?(wk}D;pw~PuqA-FplWb8NCR|gW5;1gh3`_&k<27;1k$<V zIRdtd=LpCuCe<V0&YjW`Naya&VNh;kRG)sZfkT7|q_j~2L|x30Vd6P5J%2u142TQr zKyn@dckXr^22~V{TOrnh8>mYTL(=xb!{A)Plzjx;!^=1V&Lwh(A;rd<CXNeCtw%s> ziy&7bFm-|4q6A)(!_<BRvXH6$2&jnzTU<03tOB+ur+xa87LFXo_UVGH9O}H#@CO|b z+zfUaW5e{ER*o>HePBBvmmn}52AeSb!4eJ*MyM4BP^`EHRsgf&!1QHp92txUP^<u5 zSGNadg<va({4_Z>A!Pe&j(}JGOrO-mp)$Q8ot*=u9XhwO@GxW&5tNibolMl^2kvCP zISk2g@<&lJ9Jt-?*a>U5*D{$N1!p+Jqp&8s=JbPI9Ii|*N5Pqn$M7gT(>YHM?B?)i z44b~No5O@L2t?^ZI+n<aj)HSo0Z0~-!*W4PXg%b16q3WTz+#|!h{^CMD3=N797WD$ zI!6)JklRs|tfq(Lpreq5BW!&fot$$);!;_&k3zCqj5|jqUwTny%9ISqT*i!};B2=& zsh`7@k#h}1^{S(ge76$Bh2*;#M<MxcAJ~cDIdsn5AZh6==cABRw`n3rEaPR6Ja{6V z@%(hhNgPs4=Z}JN1LF&j1Y{!pDTE1{NPl${lJCwRoqmypMUwF-DBp3N2l*{2L$pV7 z`oW1DQqyNn=Fk9{1ImPFz?vc5wcSS{xnajqNN!L*2F?u%$H2J(<}Prf$>JEK&M=ui zeJV#AlgTkqoxx;y3_RYUa13q^sK#JQfS41DY7VHW#8i3=lAHe?1yvW$OohiF;~jYr zlVXuf0*!Zof)|t&QKJW(6#pKDB*oRoP?BQTOpX9p+0QeJBaG?bF>q4cdknG~bHjWN zQ}FsTr`a6lOc#!U(<AR*kW(RD$n(b_mB6jp93D)Mj)4d9nC=~etZ7G42TGDme~v*$ z?tUHvkK8d`ItEUQOy7=yhwk<s1E<3s$B@(Ej$`n2D1GS|N;=$y<dEr!^Ei%iY90so z_0*3;QeeV-jxHvZ<KWc9WOE!GVU{2z(pl$^K@!r&1sruufycpRDx>f8#DyGEOuom# zO&+GS<KRLy`8Z@aF5@^P{rDaS^(UBokAu^X?{QGcmLb}sJ#8t6+4QT6I1Ctlr+-`y z?YJ>{9S29d<?-o_?3`Ml8=ZVue3=$P95WBqF=k6RYM8bi2d5sUO~<Floo17s&a#vv zjd2r_iR&RI&V!o>PDl43Cf-IhQF<%85!2`6kaSdi9F&fr&5rlSA&Kb?#I)N8(?G2V z6_9-<JSZV-xPn82sroo1C25{ONlDjNa3sM}Qua!YDkl3A;FM&20&+IGfFg(H^cAZ( z@|pZjKvI$Q33#dIdjgV*DpqsEFeXfQT*G0)6mw#Fp)7~!bcHn>3e&Hw<}d|`fbVkb zTEn3<-C+$_1Tmqz1|l#WJjo-o79tC}iW|iqP%32H1hN5AFs`4jxSj*r^awZsPK=Ce zKw@T0)+a!Tk>BhDa$+=_-ngDaS0>;DN;<Sa@d~)<@nJoOD(8KWxK!5N6Oh#Cw}E3a z)2$QW)X4Y=<Os;r9>;r-I_WIm>5UsXRx|OQ1Sdu&&Xb@Do{@99;#Q7OCZ&_$v?zZP zk``4?Lee5gQKJM%EvRbeJURV>I)?)z=k&te9EMD6C&5)a^GQhaA$|)-DN{7m^l*sj z;SkdcAg1S@1Sb?m^XY=yIrNx{pq7N61dZP@b$}HyhEGr2$>GX06U<|phN@*YTnjjl zgr5ZE5ytT8z1um$8N(sY3PE$$4vwu%7opBN3vt$2h#k)$c05M4;|0_XkXq1Tg%CT= zPOsj@@s;r`#Ew&NI~M+6*PQ-!H^(VPx#@;SA$@H|sp%j0a7ZypodRccMq`i+WU$5n z!~{3IVWD7p3KG;(r@&s4It4znknz;^Kfl=37@4F_fl7BqagaX9I0-Dg!ShYoAaQVq ziZLBxX*$%>29ONI(pnG`#nL9IrRfk$(@%lJF@5@)gB<lt=@2VZK)PU7f?97(3@5>5 z&HEFOD(1}za8<>445Sd;=i@kh3S3=*lNxx9;r2C$IoueT9-IO-;H0MW9pzABd<s&p z#rO#1UeW3P4>&kD9-RV}a#^y|8;^3>GX4N5P=+<G9!-CBl*5PV(J4^RM2+V)C^gG? zgZAg%1E~YMkn#5PNyj*186~HGIL2YiBzGFV{G3VpG^B|reHzIMCPT0am=)5~pC9K) zVw9dPc##8gZ8k5|8qoE+;-^9BoZ~jwjTvUs9Zqsgnr?TJ;}lZ_*c3=pGz4l-2+SVv zI`?d_3PI?}y%4z!(Vmj&2On^VOh12$<1u3hrmaF5Qdt3DTbXX3f~**ax(DR#>!+rJ zR*X*%It=Y49zF$+5b&V{w@yG-o}m^TpqiS|e0t(p4oRjhr%{U6duKVkV8v_HIgUuC zQ>Vej>#@_I6I+|6m!0SEX1aMAQnDU94KG=5oQ9OFN*6eMnO>iU)X&dPL&kD{t!Lz# zo_Ui)VtW1s4pYYGAa9!RAnTqUc#$K9N%#z;))qJeskLvP1{ah}yl23*_Oa8Tf>Pk% zY2<?P;AwcREpr<b;E2iY!zj)JmzJ9@b7W0leVL=0)8P!b0=GK@I&yX8^cz<=_?WEE zfQw9~;4|O~JOHFbI_t)1NEhtfRgUFMd1oMHX4V-{naPxO2Gk5>YCZ!lGaJr8%FNa? zkc<pc)F=T`1R5#Gnttax$8iu3)Ei1a14>FvDQ6%>rrb@AWTrh(!*@Uo-vKfFBE;}> zXTU`!(~L8q9v9PPs2w1+jS@^d&Vcjnj_EIMaRh>RAUn3g>;UE2>A_c_i6r0*B$4=@ zf#h28>4|qZv^Yi1f^+PR)1dZ>>h_&?I6|30spJlaGB{l`8c(12ghQ6Y_$)O0fRZ(% z7f3TahZ=9+@qi<Wk;(WhB#Zihf>6dA)W^~XDTHKEo$Yy#IKDG77J`JJhUY>I&qXo3 z1*`y;H*>f1KjoOg$drp}IOyh<Oprpb;Y>Pb!P$fd$!d-14$nEXrzhNj27t&}cmRNN ziS-#sE<sH&pj^T<;|!z~a`r4rHo5$QBLbF9VqbE^Fg-pC&L;QILN2mdug{?}z3)AT z!1SJ1905$9&O$QGeNYfX8nhqJf)*Z&O}Bf^Va>=go$(iRRD+RW`uf)#HjIKOLW*xV zOn8uWPfvWq5yPkrQX~w%e_I2@g!a6?oCW6_MpdvFxaW2MEI9AnI*XilZk<KsoiCt( zN93J5C@ux(op+j??9(IOakOwooCD{buyc^+MzuI>6tM3-hbU9<ImniaY>@5X%78Ni zq(M6C<5^Hng5DL~29gHXS4>Ukz?rG(9OC%(Ss+<Roi!cAgbW1EIS0vDAPtQYAbp_5 zNYgpU@#{_Jz!hXYNIf_$FxE^j_{?zvw3z=Fq&{Xk53%a}Iq*pctG{rlGrj<+hgkI# z!~|E5OzY2qv)L<%jg04~=YQoeU}Tss_>DsgWQyZ*7e+xakC6{V!E{X*OytyKJP&c_ z`E#K545KDU0Z1355nu)8PJj3fI^YPk$_Ao|@%;4n-#PRcgTSho&Yy$yA<u#H_xb6K zKRA|y?1%Ik8GmuWe5&|{1GH(BW%`0Y>@19xAfG5h#u7j>;2m|TAVDoq1c7%Dp~f*d zxvxJ5N$zvcqa=6mNP^^V*hqrK^ohSYT$whX2dDY<=fT4X1%Ej5m=2wXB=q&?;Wfj- z^N^as{x63m;}wvnpkvz?z-;i?HmY*)O>lzWIE1GsWOB-ZRY4X&9XSt4*Dt_g;B>wI zJUCsiI***LSDi<s>m%n;TF`4y90pF;_x^J%<&?evPSTPWAW0fDqA=Z#k&}l>>;j}t z(7OPx6SP6<q_Ym52NjZP(*>D0zcV>sfYb^07r@Eb{sMRvM8pMfoe+8fQYS=RfFud~ z3!o&yR0xr^zW}a3njpOT3!t;uwRon=LT_`+%Dn(ig)MN+lM~lUGF||u1^ev>SveCK znd~osl0B2n1yGZWQG2>0H>Vbp#szTM&a?;O?47924(8x|#&q!lxckR=c6&Z2X9*+I zS%^8OAm;3Zn*;9j{e+nF4b_|vr`S2C2W;iwn6AsiX~@VoospLlk`Zz*Oiw(`ZZ`eB z43j7$7f2kkDrov4ZcgxWCB|=H3m7#(l=Ad~Vonam3y@+MHIBgPGWP-`UAkOEN|%At z^Z7X8EBl`DaYiymO%D{{G@sny$j%rxy`G=*B4Z{<#Ev)YB0NE6T!bXZjRKrrjMX5g zK@(*8bVET-v+2JDI8B+#FM@}YQM7^kbc;b6AVuy15ED}5GG<SID8wnlI2SAgN|~Uc zGi6Rm!K}cG$VoHsA|h#KUqnfo!6;4yC(X0MoS!)^fW)P;&Vf9lIq59N^aBbUmD6YQ zadL7%M!Qa51Se6(#~{nW1un+}kRIu*jO~hIoHC4z|3EU3vi8?Sa3cM65uEUZFM$)O zz$Hi`6}<#Wq##9&5=_4?f)X0juZxf#2;;Bm3za#clN{ecMuN*8rY{#EZJ2ma|H|hQ zBr|wi0^8$p32aXy#GbfIkT#6QC2+D%hFS+w+bF^0aS3dl$EE2tyEwjpxS&Ri>m_hQ z>B~h>BZl!K$XYF?2NxkV_}z<;WWM|oD0gx!xdd*)WK7>E$N7_K&m~9#-?9CHJf{^S z(~e8vjI#9-D5Eefxdb-?oWh?#jChD-g!**wsK!sYtC2=EzFvZiYJ7s2_7KT5(6Gj7 zP*9ohAjj$ShsvB9Od6LUDOvwAQc8xd2<lVegs%u<R^^NWU7)4K2|hN8$?-Cz0j{9N z>CG52y%8i1Iy}npGCW}iUxp;?Gisb(Olg-PZSbVa)Aw)Sw4N@e&S}b&bQzqgQS^XP zHB;YZNXxtXGNk1lb{SmKGId-Ax4a!MgG*VP%g9OD<}xBFhh0WV%62G@0w?8nnw;Gn zyFuboSvx__-@&x)GC18box2Q*JkHY~N$ITM%b-Sr`*cMe&H|>Fmm#U?>1A+gdU_e0 zn*Ln|r`q3_A*q((3MAEn6g5gPJ-rM{MjTH;P6DksH`L?QoUWnAX$q17rKm@j!71wg zWpJ|HenXFwosrRe`bBe2a28=So-Sy>DaB-b1yqhR`hX-L%>z#m6H>kjUje6JKd9Bl zSHN9%<0~Mm8I8Ax8FH30f=mEa(*_`IkgRh5GAI=@-MI`-f~PM-lHiHU;8e^w38WC5 zfjRrHfKzhtWk@~aXTsUbwEPMrJujXvXv(>ZY4MfmhP9lA)4v*XLM9vgufUB1rD#wi z#GF%ky1+XY4h~e~K!d)FPe8W8d;?0^&WsO0LXd)*@h*t1#dHSAP|(=#w#$%08a0Z+ zg|zS$NYa+NijuVBN;o;DJ6Li$!5Yk4EIE^y46cG34?0&N$@-=hr#F-RRY>bW=PEo+ z+g*jE=~in_KgPi6jJ}-E!rFH_rwymc^vl+qrcAz9K|^>V)8D&uDo(exK@yqj#i=-b zB}4?A^ihlkC4I)JAVVPq`Xmq&QlK+AUIpg>(3zILobsR&ok`~^I2Wj2Ma~84R}s0u z@hVC#&_wYDI2TmgbLMg!0*Omy9hm;Xo^uD&-mBnTz<3p8IVAEgffPt**<FR?gb9wE zHH;rX(%|&T^ycdHhacFb7_Wjd10(D7M0ZXl@L5DmASR@x%zh1$C*E8IC(JijK?#%N z4ak9@Jh9K2(|Y<=XHIvfH&;Q0BI8St@sKq7>?$~4OfPrgoXTi7UC@KmfXV6_IR9B) z16vskvIk;i0Eh`rM2u3?7kYE*F@-{H25D)O0O`D#Bg18N4b*AO5bX(^{xE<uX!<!f z&ICrQ=@&gY4MBZOcTROCn7u3AInx=tA@;UI>}`kGy8vVv#NN3eCW^g_p!R~aG)geF zUjzA=v3+{ECubyRvlPgt7LYE4P2OId*^D<JHeG?(bOmD5TaZGCO|L*q6r0{dZ31a& zlwi67vFXZmSs%_s#w!p%T?FX@*#ye(pqkm2Q;X@+)#(@iuxl}11!s3A<LlsZ&)_;Z ztJ_@#XZ7v>eL0UaG6i2pj9d9%hm2eKUk8ODY-%$NtOC|I_Mcu5z<G?x|2nwe&3g`% zf@HiwU1RU-pwf=fWBQ~(&M>C->!9H`$?42NoXSi+U?aetd!|mPC7mdi%m=H0S<*TE zLJ(&PNGa$L2$&`O8B$rTFiR!`a~i@VK(@PF2aixOIbH{scm~&DApq`p@4X5sOi*(Q zxG<5r1}RKlTt_KP5<)rMVCBf%R~+oq?}u`FF#Wp@E=+!12lqraSaE7ie;vl@!pJ-Q zVHBt4WKcc%3lz$bt~bvONSQJroYR6y{sy?7WR#x%FPzhaNe9k#OaWzkIZ<8|ouDFv z$?XQDwsgJ$sV(_$fXfOdha2G9^4E26Iq~&6ayjw!I=q~a=D&ebPJBml+VsLG&J2#? z8{pnZA;|gLnDTCbJJd{VH^Awo86+v4#RC#$hIFQx7Ty5YlZ<nx8^&@<G0nXJ?@2Rl zy#cN)H{F0#mfLSY3Wm8izy-tH8=!2$H1`Ii3qAJ+s5D@jbpw=Un5N%=lmspDoC}%W zL9KWNvEtPYNN1LLx?mP3WCoN0#Dtz`bm|7Ueq_A~vF+6jP_G9xtO`}k^y&t<2M%6^ zqXW_iF+&r?L^cD<LL5D~p<pk(0(*h+)$|KVoQFZ?g6jC^U>`6}pYE8#3E3AvojC^D z^JoSMYB4q3fSl}^cLS0Lk)z?pbZ{a(bpw(J8*ic{!nhJn&gpHbobc@kKT|m)8K+NA zOo#M6m?qzZ)N0l_oSf6;(m9<Nmw_bhcqiY4*KA8~LQ>(ubWTsk9UyN*Yql-Z9Wpqr zrgLR*nlf#<39hwJw1JW!;{%WeNUe1j#Dq>Qt+)wJiHx^EVrEQ}Z-P=Hf8R~yl-M`D zFpE=HX2ngEL^uJ(W#G!{K^Esq4&Gbfq{uyeVm9XvCXQR+q{yf+-7$|7Qd!A@6i8<+ zy$PwT401W^7_FyIEZ{U?GQS0`HOy~8l1czblNO^dh=SBoLAM~u!~E8C!vJ<k##^Ao z$Yp*DRL*6H_Lxj}%;hwl9-PnV3^EJUmNEfpR+<*W&NlsHKIeSKPKZsd5Sv<Wf$OJv zAVpe?vq2QN<Yr2}1x}6&p!R{3H%c(Ig6(5$o&LR$vlhey+0X>i1-60l7P#=%0|`J{ zShBakEi6VUh>$`UJ19iJgDI%t2TDDRsnZ`8b4oIOzJ;E6;3Mqd66|3Krw0?~ZEy+3 zdK;2(?5j9Ar++QwbYhaY4QUgx-iD_f@!OySrp2b`-Q(n%KK&vSKZvEoq;(ryk};{> zp8oJ6n=vnn4p5?Da=8sDw;XRn$}Oqe;MBrocN<)8vEBxy76FFa$f<?lHoV-Dk-CkN zWSCH#1Wqzmm7Kwxg&=XMto+-cq4ibM9jZ8anR0G}TRBWEx4~stBS?vKmiTROoi`o4 znPlc|a2dul^)@)wOuY?ielxAR4KBV`-v$?7j2osetl<;^t7((~QJ?|9skf(tW+Opd zP~M+(8(h~k-iAb0-E_eQPId6nNK7vw);~kBetSY4rv@X_uiK!pA3YYStnUy5o*^3$ z#waoUU?V4FB9&A04!F*Sx&L4TryZj%NM48O@NLLhZqbdL;!K)%z)S8JHK$K#<TPM( zMpYuy#3=z%0=nswSt?5nBr6YD1R{C|?0BZS+mO{iIkzE&6l$1*k{QUtgA3Rt7%QhI zHgm$am>g;5gs--<YvC+n?4Q1|h0~6)d-{hK&eM$ZKs?Cql5UV+AT{IMJCHI-rj0X^ zaRbCT0aIB;nbzC^O@L2+)2TMSwvE%2bIl!476t8Vd>G9nGdZVAZu;9cPE)2ecOWx9 z;G;xS+Yut*qeL%41i(caimjm3$;dR_v6B;0r2Pk34K30Z+yN(2#y?;&@c9GXcfbj? z?GAE6ZM%a=s0%>OLkwnjp!g7+P#1S`-sRN43ohGq?}8#8d~{GHe_?5AX)0_Tk=9*E zapweb8Z_$dL7Jqq=H7vncih*Rt~17h<-rT{BJYAzZ{%HYNmK-p04>bR2QeWF^B7B} zFPy|F!UR&=C;_5CsW|fPcCVXE7K|W1s2~ahX@D%uV+@{ta5|^Lbcu<a`HZW<;$X{` zLo8bkvFrdu0%X}<5ED|3GPX}woXM#NT097{6Qre4f@%3(P*KaceEPddoUtGt$i^ig zU8pu5o6LEb@dsEOY~vS*jb9)(@=i~j4XymSKujH|Wla3{AO$-}d7}i=7qD$iU+zx- zIF<7Zh~7VqGl<FP-sC`2jp_LtSU9J<Oy^VrsROy=BiKI3$p>JcmokQejE8i80`GxC zIPe}ggtH(LAWx@*m~bcLK%D?m-YCHocn|F1!0B^ma+-p8AdCD!I#50AJBu@naS>P? z?BRJ3+vY)R+YXTc*|r75gxj_gY8yy-qXg4Dh;8$xbIsv22k}6*%?9a!*v1rm7hJal zKzs^b1!;d5oaI4R19fuBPX`|srF9pQ?NL)OINP`1g|tn0?juz%(_n4m*q0pa(>KiH z3}sTf53X6{?n8D-#?9m8oUWq9CNw>Og@b+itNENdOosQtbqtT(eRv&XFg<YrXELMn z^uVRi9ygQyeb7jf=yZXFoNCjLEZ{U{w4Z))4YZMrto1%PJ7<HmLb7uPh$#;l!#BPU z$<C=@F>t?H?mjp>OWsG$&XV^L+1dC$O1&eE<jnh!Re^IBbGCEN0EtUwO}h`t&fsBE zuy^k*;bdc)d>@jRSA#6p;#>hzES+Tl5@mLu9`ly@J>xNu6eN)yx(`ldhwej~F1JB4 zkU^juASR^wa`!$Ym4g&FN-!O|4^Co-wkxjSjAaCIL9xDn`o@)<>P&m?L)y}}1laOG zr?hN>3^p+dJOEoH@Bo~eHK$JmNr2Lq8i)zW!b~6TgPJdl+S40XbBchqG)jOdP_ZHK zVEP6jwh#~(WF0R^8zhl2?g7OQwDlXX6x#Y-0TR?=Tnh3A=*T4w#`};oh8nEkH1^>> zB#qTQKuTlK4PhedIN=+@TGw%gF->^@PG}PzfIDH}by)M(bGkAuegIBgyb~V4Q`e#g zkb1^t1E&k)R;Y`ovWhZpoW5@Zr_J<^4V<P-8y|ox3KVVNlyw)R0g|$Aftb*WV(9}& z%DN5`Gh>?Y0F<iuyB{E@s_y9@H*xC9EPa5Ipn6eU2Cg3xHgh&}ay<ms4;&962}))Q zXDbuyL&(z7ZCg0q895~(D#RZ`mX?ZvxR9l#tPdd#9_@#q1`me@NJctq(e{ViI5`=a z+#W*OI!+J4vG4Q{+}4SH2yW{{JOsCOm|`D7l9$s%Q0IxM1S0G75R_7wS|PlqhmaBV zf`_0K!qg7e0`3|)Jp`plCZ~sx5p}1B;NG46LvZiT<{>ymLdHLt_Cj5>6XK$s5Eor~ zIDMlJhZZBMEmxqnfYdfhFzp1}!nkw$#C@Pq&z%rkw!v%x6?9CN55a9RjfapjPIdaj z1Dt-064O7PfHtW(L?3~hREwrR+{OuBFf_gMAZIzF?sUdOoF<H#)6EWXPGi!11o8o+ z8blws*c5$)WTZOeR*+DLJZSGEM-Z~P(-jIixTnkVa5^$(fz^QbPZm5xnygBLh=Vp! zCWD!f23Zi?8i%8tTHs^=S^|rjbikRW;2|W_EO>;OX(EmxGR?_joW6|PK;DCl@Naqq z&Nv&6bLKG~g$RQNE;fPO4{4qqc?4<rH=N+KX1oq^obKcco$QR4K}-`KWR=qmPjbdE zegsKCa>_dp6Iuoze+0=XufbyAGI-M?P;L=e`v^I=tbK$igO5K#$ujFvTm{ZDil;ee za>_jhXBnBtkSqh9N6k6I$-^Z17?K|hAA|A(ryfY1bk>nakPZNN#h}|`Xr_1!$`p)F z(;3fkhB8GzhGdGz&`j|dnkgPbG6h%`q85C1E>kO5gsJH<IAbstO#gVEQ;(?~t__kg z9z!z5<LQ0dIl`En9)pq<ll^0GBGr2gPEkzSk0Il9`yo!=gX-k37dcayt~`be$zPb> ze~B}T=>o)@vk-IkAj|=c$20wbnDZ0W9Mm~fCc!62?$(_i@RC!WiTBBL@V(qzPr&Z` ziDWKlNM7<WqyR^a6Hr=YESS!CjZ>1z{Rw7LY`um^ir=nrhA_oG0hiyAPhiPVYx??Y zoUGG@Z*bZ(<vf8D;*n3_g?RRp=^uMo#inn$!RgFY_XN`Uta<|J0D#xde!szK%2f3P zT#Tb=1Qp{<%brY6oXM`wwD<|6H=6eZoGO_XJOTAa86&3~-sY4N2zi2>B14`aQe@r} zloT0;;xcfGJb9aQJLhGPxK!4~CrBxB-8D`&=;Z0SCy;dc><KtsJ_f0l&dPoQY2B;c z<IG}YoIdd$rvcO7C!k~rqCh*!#Xy3PF)LvR6SVSQ;^}n3JM1EiPe6&2Q6D0)p^zJ- z3$$Xy0WLC~`2nW_xb)F}3NE^xU|PWm^zW1Djf<FN8J~cAwv2y4fgw44!d-Sr#wXy? z`}-4c={+4Z>B?9EGS+~p<SE#NB~L*$1Y<8q5aPlv2orR#E!4LDr{HYFSTbGkA*Uor zCuoUU$#lghoL@maP*b81tP9)>XZrpGT#SDKr9dslCy)&C;0ZW`FkXfz1Q)j#o`Q?< z?CAy1I2#yWO#k?d(}eNKbhYQ4Axux6g0dOoLx^%v>CJdydf`(}CCDje51xR}4q_5` z2965eXAqN~K#B;oe4_dcoKKjvpCZa`CdFrvj3W08oKbk6!QBZOZe~0O3B`akCTU*O z<O0epAfrGXX{P9B;M@W_J`8*W*_l_I28`>b|9!<7$&~&Kd;}S<3lli;Wq@vuNtr(R zHRmLzlxL8=3=MBMpL4c?950pC{0x%n7QE%`Vocet{f@JXk#iwLZvHdS5WnzT5KlU5 zB8Zal2AvQ*bNc7^oLP+9r^kKZ)aTp|l90;U`3!Qy1ymhNhE&$pXP}h8xM})_51f{a z=ca3Y<kaIl2T^_jRXON*;WIGhyFYSTGd`XE{UfIV=TnIC=cvlrGNiH|!<2V@;<VuT z15(ExJ0(N3M||3QPH_>${cKraIjO9FsAho9Z2ko^Blt6?CZq85+RvPFoWjq+RfOns z6c2%pUlx20_0Yf1oc^485Oq4J>OcXc0aLf(3#S1uQi!Yv2Px-TkYlB?W<Hy~(2`L} zWIBk862em;>L!6Cq_R?;O_sSYxqZ@C&R|B)Xo#(m&mk>3sNtX;Tq(~Wr^yw4=k#Dq z*}nTbCl@1A?Q?LUS@|5a?r+-kIX^jdn0lT=%F0TRQIMLu`#Ge+tNDx5fN9=yNLe}S zIb@&?MIE?k-0>VzG;V!9J&>0zYI>Imml9Lob4dBP={cx;WU71)uCa@sBbSfG&%xzm z!5>apnZD=XBnmq(zYN7S;PUbOAI|BVPeI~RS&tze<|zenA?r#WY+wDCb1KvHw7;B| zFmdJ#sjLTETe)Hwr{81dVw?Vfk!v|8>kDv<GQWVtDAWj0nEijg{W24m0u!U)^e-%2 zrJ_>}a~Z&(c8W#@<P0sT7m)j(WL|)s3%>tJaQZ4%uH8(6FCep7Py<1E?f-LdoK6Q{ z0QCUmR!9JsPCw7amCfYv0$g<1f*d5BRr(xKbWCCA>SS5)oPlAw<1bDLrqCCVc1GX} zaB&&<0z4D3hJ(wPDf0!mv61!y(%8s;0WKw(Kq^6F2rodb2FAeYTR6F{GX_ro$jfEO z<o5zx*4Vy)lr>f_z-1!S5{OF{qPk=cH`f8CoiD(R2A-`TIjHlu@8#h#W@Ow7HgkFs zHy3!36w^Y4so*BWLx`#OKspir)8yxJWBT?2QXtm7fQ&z$=I2si`t$-)Aijq<@*a|L zM>#dckOL4DmNI^&Nm=#NR|#;Law@$9N2<b0kYnL@X(8*_t}e(W%ryPJ02lZ&Em#tf z10|8^^}<|wyr^joT*%hFfV7T1UV;l*&J<7{1bgLy1FPHgWDzburj%!sHy$^b{#b-7 zk}2*bID<vKoPO>YYuxmCW?Tl-xy86_nQ~u3a#<9}osdw>c?oGBe=y>*W~zS)$z|0q zA-N1i9XOZGd<n^A(_SLwviz5jTsHY7IG07e1n08Qm&my+^d%yf<-Y_cTUag&M{x}} zmqkl*HFF*ViA!Z2c?qcxJk7XTr_Yh%;$b|veWesvE;Hv<h=R*6A?3~`5Es&uJopmQ zLV5lYoVK5UWTdllUP97#vNhKUravzsDf-7taEku%5}cyv*>Jfs3Qkv4=Yot}@PU|+ zkqhBhkc9o?<@ARkY?6#GK?$4b$IIzEZMnXH=!IcyhKw)4Df`JwNXmZr5}dLbeL%)Q z=6*b1fvaekTkhF&wJ;`5S5)CLVTye<-F`E>`1B19Ts=&&uRs<5bSGtKvi5uhHxiVr z89Nb1wxJqX>cr*2I1eNZnaELl1xekK&RmL&vq0iX(=W_tX9KacnA(uc1+|P1zMTHl znd^q=<Yx>FnvGLng$_IDLa-UrCunflGR~VW;L2smco}4XGORL&hQ3&aRMz?FcA8us zjE}+c(hotdlgc^|qNKB+%0x?(verGDE~v;ZJ^g_umodjTkhE0R7myw$&^>cJP?aD9 zKY~P+VRh8`SK#tY3R*`YsXOxuJj6a@`WrVc3&wfV-)nK1GYU;lH0A=e=~$$o?FOh0 z$qcD1zSm$KkEYLZ=Q5tIrp=`Sb1z6H1MXf4B=@R&aA|WGzXoS@L$KkHv(}M})dLHI z&RT~#n(s9>M}wRIcl3T8t~|zh)Ae+@>>2&x2B0}wIzuYU8|LVTo?PYAb9K2?q@aNe zl0i6H3gqbN33^<G90d^P=7Eg`JC_6MT$$<edR*!-XL>`N39J91YCx8rfrL5-v;lAe z93|j7h3Vi+NM{N)BZG@BwO5d$Yr$)9(FH1|3?00tuQK5B1+hUzmZl+BB-6In;38|& zYj}}mK0U&S%Z%yhYe<o`3FHAtk#*!XqR3*r4)PJKOP^@WWx|83a{5AJE>M>~(U=R? zr3WR3X^w0*kOso>*WjXy@ioX8@RB9QP16}oxugWvzD6#-*1kp*U&legkC-W0kK!_L z@wL#DE1y&D4LF6!ynz>A6B#A9-!|i_W#-g{$Z5ZUlw4XME~Mm=d;=-D?B9S(E*p@H zbk>pANF`Uu8%W6&@CICR1-yZmTuhm7Aa(H@XkGkfy5a>+5ym&*{!zdiP>IDDFnxzD z*H@;1H=y!`$@dMoz_NJ*DP1hzfD0_9B@pWuqFN6steAGb0o88COk3X|l~!B9rcH0L zhn7|g5$1tPE2f7K^X{RV2P&zUzP*7~!fz186w{|S&`KEMyn9H-ftHF&PJiOeb(4rP zN_%>s8<&!F7BuHW16njgDogz>H0QUwa+yx|bVcNRkW7Yj7F4YWC=(%<R6cLP@#+OK zS)B)}3S^=?NJNP%3)+-ce~Xgikrb*xtVS)SGQhggT`G|wm6ZZf4lSc%+z~DX$sk-R zj^t8s8Py4KX*<YdxJyAMwtz$sE=|GeQjkKpOOeZ_rC{CYE|toV%326>DY#%-?1?Ct zKr#rIN`hPpDVUBy+;{|JCftpn^5!5&1mVVo5I4dKCTM7aELDNXzzQY>u)gUZytz1- zB;P;^Ce$nnE|}`xKnkXBZ@~o<W6JcYK3w+%{(zh#ouQQ>;~keFmGu*3nDF#zzFf*2 z-$7DRSt-*G`f|lEuG=o>$Mu$pF?c&qAlH0mHr;m&3|U&!H->QSXI#C#FqA8XrT%6n z14Gs|5K$k?z>ozd#N!wkvcSZ@1O|pIF!3mvfguY_d`x9v$O047su>uvCW8p}ECz-w zF!3UrfguY_bmuTIWPu5ZTn2_LFtHoN0uyn03=COudG!noS&aEGVhM-^Cfo}c7_z{` zD-a7z^cFHOWPu5TA_j&mFmV~g0uyD$3=COdLb8N`Aq!0G0kObDd?^D%7MNfvV_?Vv z6HCh&80xb?WR^!c0|SJ34Pt?bz6u70EHGhI$-s~WCf0#iU_z@36qX=jNgV@2)<O_* z1QZltqN0X@Aqz~f)-o_;fr-f=7MM^3DFzd&^`I!3$H>5tW!eL>1Vmf|1qztRZD3%? z0u!^F85pv_#F`cchAc4Q+{(a^1ty-gGcaU<i8-AN3|U~pyqkd`3rxK314RjlxC=5K zOqBF8Fl3eVGSo9<-PyvxkaZJ8X!J8MWPu6G2@DKbVB+OO28Jv!F?lj5wn4<aDGUr* zVB+g^28Jv!(KwTVAqz|_p3T6J1tt{dGB9L;36psY3|U|zX+8r(7MNgO2ug2Y5_BhZ z7MR$+n1LY+On~kd%>omkD+;r~1nB;_EHDAOb1Mr>fG!!z0u!J+YqG$^{|yWbSzrQm zmq8YoNPGrLa3BJ7?0OcM*tH!L)Sy$Avp~naLI}{=nBW64vp^>YLI}_STUlTNbdpdO zm;jx2k_9F}=S^gR3D9Q$EHDAu&6))!Zk=Ud$O03f-Aq|v0<?Jqyo01Z3$*wiLVy+^ zXMqXO62mMo0b1gf1tvhtce20)XnjN$m;g<!W`PONbXXRc01fqLfeFwMYZjQ01En%) z5CIxi$O03fu1{8|{7VLgEKoB7OqBL;<|XE)mQ)s`7K2*VS-R7o#B!B0uHGIK$2Fe` zTv+&l%ZLte`OpC_8#=N;<w6IzOz6l06$*afvY-Q84s?LafDUl}@5ln>{f;b9=I;RK z`;IJ7cJBaZ^^Po1Htzsu@eXkI?#KdV?GA9Z?#Pm?FJWNl$O7f(4sc%X0O#Wla2D<W zXWx!2P}c1LXWI^NmhH#_W!H`@P=4*m0_9b|EKnBh0B6q*aMtX|0%gmNEKrv0$WndB zz~BeYj(%C7T-X85fgM@1o9jW=gR))+INNoAvs?!_yLEuGT1OTrulZ$xvRDTwdogr? zvzH$@S9O4MR0lXWb!36EQwKN~b%1kF2RQe1fOAd<IM;N5b4&*~w{&DNFJ!1^=m6)E z4sZ_X0OyVlaL(ue=ZX$+j_3gAh7NE}=m6(}4sZ_W$O2^nKXA(L$O0w$4se3+04Mei za6<0@C-M$(0`CAP?hbIm?f@t1`VMf4?f|Fe4sc5D0H@*(a02cCC*BTl!tDSj+757n z?Eoj%4sb&404LH8a02ZBC(e#6Q0nvpC(4d2P^#<zr^Sxa4EfqA8d+NJ7#K3Rv$B~O z7^ascb44;voqi#iYXRf5>4hm=R*X}puSwzZh47@Oi>7kPGfv%Zn##q`%s6ejVLq4i z^n?s9CB~`Sn=`no7zMyJT?nYA(*zZ|P$e2!ASKhiv$)hO!1bOCs0IYrd(4Tjdha=? z1_al8-#|4WxZb-1syKa+OgfUqrBpu^<YcKVkYom=JMb%$fdO=eQE3u5XJqk!>Pv7f z`4&`Pf@{eMp!yPAOUlA)$pau3D7R!KgX&9gP00qYBv*o1;7Za5UP-<$0F~+BT5=Mo zz695jrtn(w28ac&C96U8CAgN9gV&M=K`d}BnF6XW!L=kisJ>hZB36M2a82n8uOvT! zSl~)>GN`%)SCX0*@LF;Uhy}`eS^A)=5?o8p1l5xHNMWXt!=;o74Kt7=G|aYF!@~@e zVY5zx^nvTtT2So@u2Z?-b?OWd3zUJg)Iqf?xJq3IVi|$zynP_nJ|sKO<sjk-Bnh?i zP95A%P}a}74XPi&6>t%#Dh5};3qVyds1(TB1geU`6|e`WDh5};uR&EYxB^}Xs*1rC zunnjxegUe0EkKTW2zJLihUv!nT$0l}a=DZop}q%6LtPTq19u6iG|74l(h07$D?wE^ zxW0Y|GLnUffguZ;j@j}Mz5+=?&En~Yn+2}jbwTw!xOTS#)$`!m{T-;D2bD=#GvHPH zVo*H~uHAou>UnVO-Uh1Y!L|DeP(2T>-PJ(#Jh*nZoCivM;OadcRMCTLcMecR53b$& z7Qt%wJ)n9XT)Ttr9tW3US)eP7!R1(1%qj*3a9NfGx}XzWo@IfqA_SLdS)kkPz~x#N z==Lsf*_H*m_9!b3RJ(KE2Q_8X;h|y+%Z?y%Xn_0$U4bLx%~+ZQE)BCl7r1~+#4OOI z4d7BS3v_HexMa)%9k~rI9kW2E5ra#}EYPW);8HRRbTT2hq|5@Hpaw22v-TciU;vkx zS=J{&0RnCZ96Jqb2Y@#GgG<jW&<1I637Qplk%0kRie`a!@qtUyEYPMVaA}$a+N%IA zQL{ix#=)g(7HAzXxMa-&t+@o3u34bvTHq2k3$(ljT*_w2gVqm#i`p#EWNj9>9RM1h z&GLc=lJxXt1zbwz&}0abgoacTXc!j~Qs7ntXifuMNN0h@UBLx))~4<M3%F)80s!g2 B4I}^n diff --git a/Documentation/doctrees/Documentation/Input/control.doctree b/Documentation/doctrees/Documentation/Input/control.doctree index bf6e4617b350e92cbea9fce33753e0e2ebc3874c..d3c1528fc39d6df002e4dd10fc235fe416d0e93f 100644 GIT binary patch literal 20063 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 YaA9!FbESYvGw|fg6hBZUTbiT?085E+4gdfE delta 431 zcmcaVhp{u6wSi@7o#95-NVUm&uFYIM?8%7*C7JnoQzmb7br$%@$iR>xouQQ><87TG zmGy4&LkZ!@GH%L~g<XX<2f7_+VszXr={cX7O`3^;AxmQNJ|787VGvV*iGiWChchoR zH?^d)Ahmc(?G%kHkRrb<KSl-yzpPF$2~z7<njsI8m6*)$E5!!VnAJ1c()T(e<77cU zVcQIb9=_tr;*!+d_}tXu;>7gSDU+vYHi8VyV9j95V2_=W;RECMOz_N0&M8evRY=Rs zNmWpv?8xXi*~LZCQe7c0zeFJ|zcepJA-_nWC^a!9GcR2svqT{+F*7GMWeV6F(Vi(N z`X4pSfSF+Ys9`1{Gg_x0oF$btmuYgoxDuOphE&!p5L3>ihczd)EH!6}H&YJ_C{(8O xu!lPa`FZ-ePw8RF$;?Zg;%(f+R-9j2l$<&xL#s4HGi%0V2RCuX#K|gt)&Mm|j^h9T diff --git a/Documentation/doctrees/Documentation/Input/control_params.doctree b/Documentation/doctrees/Documentation/Input/control_params.doctree index 60aed70df54f0077c54257beb3946018e460dc33..6c2398067585af1fa834082186276f0cea55efdb 100644 GIT binary patch delta 8063 zcmaFAp6%HTwhioIn^(ouF*4oboU9d>%K3tmfgwXG>lx?td+Ce@OpiGypNgyH{0R~L z&N;bIMvF}$Ln`YF=j4Slj??FxGjcMrPIgSN0+WVZJf#_$8A%yZSxADD*Cs#|8G=|$ ztXz{DTeBJ6Ckv)3PfieJVRQkr1h`q49JwZ6lyhN>0}FtpqQNYvRHD7Y<bqocjHO^f zkaQ841(kkyPGPb&yDC#w4_LI|3@ez1%5GHfV_Xat0BKwRW<jL_6*CxjfdxQP+rccT z)WOwijCPX+Q`JGPj#hG+T$ifL_;~WdC@sbZaCLXNrZ>tlDoj>Lvts-Omivw*H(5|f ze)73ATSmdj3)8h2`6eGsQD?f#HCa%|fl&i2q>2!dpDdD*%4iQ3wm}wtn=zR&3@jWB z6F#_Fjp-KG^p9MO29tHOG&iqK&1BlVKPQ-Ra%D!z<hH!+lN&Otp(+d~zs^^h9F|ow z>Ad=6*6fnWGKK1!w`FrOZuTj1WSlINS2CHg<mY7De3%A<$;(T1H}e+oGfsY7<~-TC zuw?SAa_Px83QHzyR`gEpEiT!tRe6<h@~;wvjy2Vqo3E7eGfsX|qdr-!ykxS0kmBU6 z<t3X%>Yg)B-d0gEIlm!r^8YH3j>!jCD^7oq%E$o<*o!gxOkX%B&ur8MB{;)a?a7}T zU6>woPCuB&C?UvGl9`*TTb!C)l9``3CF?rp<fNt$$%niQ3|VJ685oMQrZY1z)Pf|y zB9k5ClqP>{(&2o~3r@-}c_B&p8SmtX=30(F5Yb<gAC@amYT;q}&I?M&ll@ybnK<|+ z3*Io8EGr9TT0%u8wL%39CR-zz=VUn<IVLx><}i9qURWzKIf0EIoSNOiybHR*OfG!j z)SL(wfJw)Jc~EIsimm_)!jzPPc~B+rRNW62O<?1no?ywy3g$qSfRgqyumH$}2ftAy zL5X`WToRPPcY%3Oy`Ti{2o?b8ov?)k<mYH5*U7wHN{r7YFRax9CHGp9$sqL)_$F^u zP?+rMrpNdfEcFYl6DD<8VX}L-9izzPjol)XFGz?n3QpeGt<Lm-51iJu;ldgSVfo2@ zJ@t%Ea4CCasm9)=jFE7uFqjl5-QVSdr2ET#>XY@mN+u^fQ=NRNt7J0!1lP^2-JFb@ zLnrQKoXp!>vbk-tGUH^mzG|kseA6E$G8#?}pQ<wXS6|8G_fw50Pwp?7JZ+lgW}gY1 zjFWFnpFCM;a>?ZTGyYFrIR&P{Xmal?<;m4kA$BNDE16yw&nP|l{IrtEK68{Or%W%I z{CH09<m?&6(-X=WwI*}U3V>TRVV(-3?&OWLv>3G}Z=3}QLv=xLfuJ$poY4g=<%lkI zdA>ViG*~JEU8-+^I%5%7Dj!*@kY8@I#=?0_jGbV)He@+LA^FW#OAazJE&$8TMV5nx zBsf@BE>oGjWgf(r@$*Y2-&$@uS!zMa<mMIHleaD?-mJJ%i*fR?#U+#XuUb3#_fk;s zAo4H=-{gxi`k=hzx<;4j8SiAnSgFZ<YvP%n@q+X4WcIcEOt*L^ORNo%ED~a1$hyFb zlyPr?vhoGq$&PV~lb5Zv<g5__XWS|wNX9J}nk==hlcN_R+CBN<0_9099BgJ8Qdu2B z;LIz#o|9>&5IFPpvv4qHLD}*MHYf{2M7hObH57yo&eAi5z*W+1klE7@#51x^ez-uL z@#<v7<%*LpB&sle0!e^#_j|aE!sPs0j*Og>12?KOvP}-$s61JKn+2>#VX_sw8dH`6 zSV|U6>Vkqkqd8c{1Wl$u(UZ{+EaQzNb6~YP<0Y{5pv*Z_Xfmi4y0t}-v3zpiMo2a* zfh#YZyl|t!<ovC{jD2v~ZZui5ZJvxv;j)X+WDSHA8TY_tccRK}?$~~vk?}HI`T~ly z{N_tLXR$E8f=fS#Ni!7+PX?v6JYh(#mE5nm`S%uU#>u4zv^Upp<6zvp;vfg}<oKP% zo0X5QW1O6`ubK&_w(hv%W~=?yjFWGjNZ!2Q00-k{*HbJ^lQ$eGnY{PR@5vXBA(W<` zQ=dHlIJk;SJ5e%u_Ibt4wkJ6lHy^n$gK4tonUcvDF56GuaTcTjk#uJYfs<~B(Bv0a zbeYP9z)9EeYAjQ^5G3iYxGKt+J$c{N1j$FD3=CO`LP#k$8<dt4g}^B{;+i?<8&Pn| zeI*J>xz9x>pSsr0`4=MkTNK=Sa?Fs*`XLHRw~*Eo=j4Mo3@7)qa4=<onTRG7m<y_o z7$GcBjRRs?F>#84)2sL7i8molD38e#Z>lr8PG-EVF!_U=Dq|8{CLT!!lwd32GG%ZX zcg6{D(O$Ty!emfdT@II7f+Pb<tNY+GyFoHcu414_W^@7zgAyyJ7&x(Z+*N0MK6&Cz zNMd~gQp@-d?9zm1s*L~OGQW{z_S{Qn6rH^B7DSKG<igwPP(7dossoqNgv-cp)_!2Z z#OMr{azK*0^vI2gF$yF#{eu*vI7o)+A=tT0_rxG+^5|3b&Fk;-GEV;aY~yC-`y7m$ zH@%QxoE-nCc(d)RNsN;vo>s%v*1XZ3{N^b*p|w6MnY`nz<>pn-IT$zpeD{uN@~M|4 zo1;IyW}JNfHB5)m<gZ^8H?Mrd&p5r$j!}8?$G6a0r0retX0Pw_7$-mfSiCv<XB^XH zw=W<~h~&vB22P$oL?=)Bqs#PMbn?MJ#Z1pdAxYEkuL#p^(a9-)V<m$m85puIiXx@W z+o05XQ52jufB!Y)jFAMV%_vE5+GGr$oc6DYBNrl=J^8~wea4K*3je*CDkZ@MDY)>& zWOK8^icg3fw+J47V{10kZpq0TIn<bTNKO`%P-EIE32G8CU4jUnhYLa*LQF3q63^fg z@a7N0^gt#?b*8^?8BnW794yEvGTo4oQ5|GBsI{X95!8kYf{LC^AcK`AgOX*XBq&)< z*I;E-WDEx>f+VsK5L2BoaQZ?fMuq8nSs4u(^FTrn*=!IKE}O*07$!J1u!jK*GFUU% zGNiIvK}sO1n?OvMYEUznaSliXA~_Spgh_5c!OmFE$ha9K29e$XV#1`S@8)FO$#@DR z1d%-sVyZI*N`dp5-*iV&Mx*IU+>A=oJy{vSwfFRQtc)eo19=$Dx9?|T<Ye4Fk(V)= zak@JvBcz2geLfds03%qZ;dE{RMpdQ?>B)gynoOnApeSN2nr_I$s4(fgI#WMHya!o) zy1gKyHPbSP%wiOo`2~#9OnV_RyHI3mg&1ctU4h74M3&j!CCq5e$n+W_^#Ux#R3we? zTgY?+0jRf53ow>UUn0e5KD|ni5!|<!&MCxLGX0S_WASt`VVLheh`@YjG`&=kQHgQp zbVC6~EyiinKZ-D_GfkG6?D))uaRWqfEnHAgNFHoB<8g@05hNK0#(NOK+em`))1OE) z<}-eU$b5p!6!Lp8a!&s!1F;L#y!M;!D9aecs6O3LicyPE1tO;?3wDPcM9>;6$f!8I zL5?w+F%%*g1Qujclm$1Rb0C75NP_aypU5*7GB!hG8jxkSpHyIUXJniOk(v&dg1QHk zX!a>FDs7)E%NWQs-B6XWczdV<qZtz<T^LR0)nHWG{y>S5mvOp{CS&+^4HZUC#_4mk z7-Od|QDrRIo~zCHn{j%)I%73Nhv9TlJx0yx`WlQS(>LicI!`|VVrA+xYHpvb2}*>s z4H%gjr~lMqEZHt(#JG`hdWJ4zHIpAG8AJPlm6D*6jxl5UY!gODrf^A6MLhk731cc# zxFoo^n_h0pD9GqNz0;I2QgX6914EXhBvN_j4JrX0B|+ugbQv>7d(OG?-~w;9Jh;GP znjt@Zni*q1$2y4cn(2!AjLOpk%o%x@R?5SxW2Rm5pyF?OfCVEblsy?-6k>``??zIy zHUX?0G_dgpY%;jD_!GobXZj`&F7<>Jz(t{e0w|w>1YxC~7DPfFE&(m|n6n%qGIns8 zjS7BD5fH&pxL}}S22(ynFb6IOit5iG`<20^-Y)sc(Mqn<V{I9gm}V$|GyGJD+DQtN zAD(k#S`QIi0~Z8k2~c&#bPOVM7)1u0+wVeTZlTC*v1i=K^aUdG5iSGD7aY?kIxwm; zO;P}5aHf6*aLqft#gS2yQEj@TJ);(*GFSzp!gNL_Mt4SAh@cgcpgg#j#TbYrq%d92 znNgN84Wc+1MP|P<<6*{Hh)fld4Ahv3U?C<2MVNyMT^WNJ*Mrn6O@HpnXvVk(tb%bR z#6c&(GR#?f6{kP&VKiVoiX^K5uG<+OpeebFq68Fbj6cwnd__^R!h^AUdXo#IGTa&_ zUL{b9fjB~8`f7j1SVoQM0q%^-Oi+g~se)B7t%Q37G%7Tm-J4OH(Gyjr8(1Zy^Yo40 zjP8tysFHC=l2HFtqN*rEQ33YOL{t@hC@O^g7=JRZL{+g2MFrS92T@h*1FK+iR)WO~ z*gFpb80DEBDS^}OeXt6~J78}x{e%d9LlT5KUts#dAVw`l-sytAjOq~O3e&;PRtL*W zFY#p*1r2UM<m9&-2QwNmG1`G88Lg4D$#1_A%ILww7z&XJ0!uO7L3QHU2uAho{{t9J zn6_&~Gv+W(PYs1tOx_WU0iZMw>TOTo63eK<$UOaF6eFZsX8<wPnf@w+vLd4thzF4n z2Qk4Cu<Xca2oi$G>VcSWS<t`)qX$R`BI^ob!ex0A7@so6gM=WmF(4*b7L+xM;XF`l zsb2v!RualM5hMyx-Uni;Gj*$gUAO|ogGej|F~Jfb7hX$dlx5rx5`xI?0Wnc!uYrUh zvX?<jxNLd~V<zKUkPt-n6^IFz1-X!M`o$DbXz2=r90749qMf`;9#nfUt(2cGoyMrk zG(&zeXb8ehN^p8<8lxAe@IRQwXu#AXKmBtWW2&T`Dg#4SlRQ%O(F3Ybn&hV!rZc8+ zc&LJ_4!7xd(-{pJou~6>Fizo!gb0R1-61VF{XzyK7gLBTxbl$AWaMN@RYg=DV74Vp z=o~_NGHAF0ENj561ZzE~s)BoT%OQq?#^OLjbxR;z&;Z*)RZtzmxDO%%Q?MJtg(`s7 zCyZAiqA*35AY7;-Xx+k;^#&pgQ}q(Ug{lIzu9>F?W;3cYGJq)X=myh5)ybe1wiHN2 zolzV_!6iWT%{+)1AR|F7?Nn88OZz}EqdcQCNHHW{9Y9R5K1SQ=3$wwEO~xpYpa{5o z24W#gLkiYHkTAr6JP;E_1vp1{fP^6`T0u+{6(VJfHyP)HgheJ#n2K;Z#0k*)U^7S_ ztc}T54P5qEsX;0!o(e`?#)}|nhy~|BOt4DE({Mk$011jr{~(7HG*D@XAO3?CfX7Dv zfSAYzKuRUC=?hC4wHSp#6nMZ8s(*W46{8{}qb^8Xi%|<ip-3~=FqShix`4#B7#%?r zSeofH+#BF>N288Wg)s#rt;LuKqQI&c<EA^7Gs;ijU&rXgSPc@^VypmBNV1-c{b(Zc zlQ*1HVq5|e)nZ%-qL7r!Pp@uZ{KU8$B&@}_14N<7K4@fI!FUNIti^a9M1f_Q;?$v` zj>y@ms-T?B7&1MfnNg3?d3%2|qX45In+5|zhIEEjhKzT9hEx`l#`Fy>jHVn6AYrL2 z=jm@-7|j^Xr>nFwCQE2(Ffe54sv>1}b5Qoz-9EpSv4)8$Qe(Sp2jep4`s<tw46#$d zlM0Dhph3ylDd2(1#4OM_PwW)%*iT{>sAC;F1>D(A%mTGKW2b;yqKR3cG9-2ixLirh z0@)Ee1#E9(X%Bl|Vs2_?O7WE1DH>TOAO{(Oh)K*03>g+#6PXzpvg-Rl<ULLXhOBN7 z>n@0O3q*kDIzX<=dH@<Ky$d41!>AxfW)*@4q4Gckcz`M!#Cizo{NDo+;DG^<ld}Rr z4P-wM0d72lT%I)vRO<DE2s_n!1_rPXvTQ-2V+A6>AqVnEmL|xxY8ng-r9GS=uas04 zq#``ymj&`j2iPBeSs*WTWPzOTmj!Zq2iVzuSs*8OfSv1?1#)Uf7RZ@?Ss*8NWCa>Z zGBEgMf!x*sc9&lksFdyiJI5~z<dhDuGyF<3<Uyfms4=~;mr<%797HogAqEbj$Dj}c z2N9SB4x(qE5CaDhm<0}^a!@#dg9yw52hnp-h=GF$%mN2dI4H!xK?G)j;y7ytD8#@a zG(#Q~Y~Ubr289?Xh_b+}8c@{wWSsyxXBEhGr$LVR0^-Jito{z-o&j0d0pi+#toZ@r z)_@Gp0C6=yCawf=f2%VvWQC}Lf}b}nKffd|za%xjC^fBkO6~T}KE^CYrUM$_&c$93 zB{yAQ5~JXBp9zfeoV!7BmXx(eV|x5VM&;?#Cop<4-3BRAW4ZyNz-on<u4+s_Kb29G zPp~vYGYdseCev4tIyI(GAPP;nG=_4g>7A1p)tUG;!Or0UQD}P9Q1$3fX3S&K1gTSF zQUg(F$_-JKgMDE?h0%-28KhW^$pJ*6>9N70M|&!x2U9Fau^Lkph(ggLg&t6%(-{4j z%0cSXm`XqtLizq_j2OzNPhgavt}>lbi)kWAu^Lk!h(hQA1@83y(-~Qrc56&OHl0xu E0Nx@^=l}o! delta 8747 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 diff --git a/Documentation/doctrees/Documentation/Input/ecmwf_env.doctree b/Documentation/doctrees/Documentation/Input/ecmwf_env.doctree index 16ffd72851d6ea702d7cf91bd485a14c6298ae03..8a53916152cf4af3eb728eca93364dc5f5a6d156 100644 GIT binary patch delta 58 zcmbPWG}(xyfn_SkMwTunMx)97Od*pmvP4X_VxGjfa&jX};N*)ek=(6Q8mH7w(a2!! M0gG+E$YL)7087IZ=Kufz delta 52 zcmbPiG{K0afn_S|MwTunM#IVdOd*pMSi&b;Gf!e%G5H*G;A91sBseQ#vo7m1VF0hQ B5Xb-k diff --git a/Documentation/doctrees/Documentation/Input/run.doctree b/Documentation/doctrees/Documentation/Input/run.doctree index fcea0579928b11d2acaae05bc537e2ec87f5a0cf..38628ea72aa623e43174dee2875d9d3a5d7c2254 100644 GIT binary patch delta 5415 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 GNecjB-V9Ix delta 832 zcmZqeWS;SiiM4@cD(~ivtgo9V`%KSb)StY4`dvnk$p`03O<q4kpD}Q9;2d>EkIC#a z^%*@Tubr>U%9kOX<+?d@=1xY&EU>b5d?rj;#b9+=lV{J)h6;mpw?RcK=M+OlwHP&+ zvSvbsBj=`rg-aRNKt<x`1%pMTCZC<B%D5jYDm{N9W7g!g^DX6Ec^Mco7&DkllQI~3 zcylsKQi~FE;*)anle4Exp0fGtd=5#*TayFl$WJbu<}Om2VUl$Nq(dgdIz!gm0Oaz? zAv-s6^{^)=7L;V>=S`W+waZ!HD?&|ihIH1)$$@i(Cl~Be=6Da1kj`?QJbRZFqs`=N zyXx5_`4||o3@1nLR%El`1u-`_?e1k_^x7=2ZxVAoNGNtnmLV?#Lt=3cdtPF0YGz9D zl-em8S*jq7N+5y<q>mFsIDrUz5CJw8q&rIjq(qdDfuXdA6QsYSvLF><f?pO$w_g@W zr(YIGR|i;!UulL`?Gy`*ERYQu+*x4b<rx_mvcSgkgX{ns4+_C7knvey786Lqh;efA zp=%sWJ$wa;Ma8L;BMw^%^i+E0CFhi;q$;Fk=A<g9Prl3O=p0m<r(aZ>r&pYzu8@~s zqL7wfnwO%GU!+i!nwXNAm#&amqL7xDnUk6_C4)V7N``1pEs80R8fJjZu|=5ks9`1{ zlUk=Vf&wsuHG?ffI%_%K<d0&ClNZ>qGA#iy<$QWrb5hGvbEbGR^{{{fYf2A$xMPr? zr=R<j9+sTUywoY)N<D1F`K3k4sZ%nnL5X4!9|J>%bQUO7K&dGMoId<YlM*NU9u{ZL kTFf`OF-&ptjKf|`M?rQ#tUCl^%1zcfV!*g)a`X``08iQzQUCw| diff --git a/Documentation/doctrees/Installation/gateway.doctree b/Documentation/doctrees/Installation/gateway.doctree new file mode 100644 index 0000000000000000000000000000000000000000..609c8f120ca1d95f9faa3df00159e2b334b0f6ad GIT binary patch literal 34768 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 Y^bI^a!IhGloDaRL*bg)jT$-c@0Lqu7(f|Me literal 0 HcmV?d00001 diff --git a/Documentation/doctrees/Installation/local.doctree b/Documentation/doctrees/Installation/local.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2426fea1d5a98b63d9a63af26faddb8df83db8ac GIT binary patch literal 60041 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 literal 0 HcmV?d00001 diff --git a/Documentation/doctrees/Installation/remote.doctree b/Documentation/doctrees/Installation/remote.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8c7840d94cc6ea146b9a0561d4500a41f3484a14 GIT binary patch literal 38306 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 literal 0 HcmV?d00001 diff --git a/Documentation/doctrees/environment.pickle b/Documentation/doctrees/environment.pickle index bf6284ce10126fd39bfbdf36f91aa4098e990eb3..429dcb719e014b585d67075d1e61f21e9a30dba4 100644 GIT binary patch literal 611482 zcmZo*naae#$N&O8Ld69cnRyj@sd;6YMfrKTsd*(+dIX$GGjmd0k%T5s(QKSjJ4K_1 zIkBK%ieC>`N`7)lQEF;RX3><MaQ&jh%oH;N{k+6t{gT{deaF1KRDI99lGLJt{G7y+ z%=|q4w4Bt6)QXa##N-k%J08l3FEiIO)OX2GE(KW)Q42M@cuEgjaZxhZidc%RaLX@> zPf0CH&B-rFEh^Rz276n-IKQ+gIdw`8TXKG0T4wr`9$sj8!1!#=5D9nyaORh#78PZt zq!v%9ozlaVT2YdkSDcxjS3D(libjtxRC{VgiC$h}L4HnZe%=&BAXk*=C6<=tr{pJ3 z>5)cK3KA?%O$LQjPGVAO&XgX0Bw3J#DJVuKgB+2Vo{DO8ZemGBR$>LJ(#$lNSCHLS zmYG_foS%|9rAG|OqV&v?jMAin#PrnSDLsM^3EiyX{Ji4ijMUsjRK=N~_=TvM(j%CW znUa#47Y{NsJ}D<ZIeSWv1Vl19Kd+=HGf6MCA~`juBrz!`bxMyYs#I}mVM=CV`jj4V zRB^CDV3`c@)E<tU#Ju!UkgxrE*b9pCvr>~wru6WDQWh*VP3hrG&M&Ae%1qBFnbM<a zWMF8iqX0^c3IQ3JIhh3o3W<3s3O=d%1^GEC3Lc4>xk;%->8V9ide{<6OEU6{rt~Ni zrJTJiwFngJQ+k-q^$e%<uotD~q$U=pPU+z^*E3W|%qhr7oYErz^;mpbeqKpIVoAo7 z9(DcF;v)UxjKrc;eUNCeeoAUqVp*xaOKMhPSZQ!-QD&N6NlDt29wE5z5!y5Kd-zIH za|?13OHzyD!6wE|>EVipi%m)F;f18>_~O#Ew9JYrJ>1FpIXRHDRXnAK+rKC!wJ0^k zB{R8X%H%1UK~pq(SoDgDOQ!hsFze-}O!4bs(JQGanc`R4!<Cy@T#{N84^FPEnRzLx z6;pZyQY(^kN>frnwwI(9fzy2tUqNL$DE}767nf9mBA5*lkyCoOGD>oD;!848b5lX# z0nT;tMI|XPAt8i(e0~8a1Ay|CMh|~VW^qAIVr4umpgVfFOEODxQj6pB^KvSube8rA zfVCEvB$i|*gItp_C3Z>=dpty7N@9;7NIoMqryxElu{bp^5#$1X<kSN87au4rE8<gg zQo$Yo7jm2hiJ(Fvvnq8;4|}2sm^Y<|vmie+ucR0(%3^3#08V_F>7_-f@rgN^>3LIn zSTahI3Z|6y@I%Z@ftG6Eq9Mb!M*!J!y%JDpN`r)AV98ejr5v1+q1nTho0wOcm@}nh zN@5RZZem_MBy+}2(a5mPQ0<WdX~&^Ec1nh3qBkQ*r(j8HMP^=FJ}4%^<t)@i8LAnv z8JZcYJqrGLsR}und8rC1sl~}fnc#>}$WK#%W;4AhJ-oh|#mT8TIf;3x`K85R2l0Rc zI3AS0Q!7e9r6Ff>adCWFW=<;D{2noAT<9kk7wadN7MJAb>LnK!PwA0ImH?-Xcu;`` zE>*!QQj2?pK&4)MW*#K5fjGreI(qmZRw7x`!wVM5LRj3xms(Jo6p!qd9^Smt+_cQ} z__X|@+(eLDHG0^g1@4p{u3$*^P*4R`IceZ1ozlbZmYJ>x7Gi~#S{xyu(hDra1uE!t z!8vqF50_77aY<%gI!LCphpj9zrxaW}Xk@5lsP-_Y=9NwHYoC&#k)fGU2V$sYsDqM9 zZVp&jD?=M1tdpS&X7sR@<fkN7PU&Ho0^xIl`SEGFB~$#sA{ojMx`#U_KRGccH9jS? z2o&T!>=1tOlti$)9tntN;$bBxIC3C4L9DtcKfk0_uNo#-Tb)`_QVX#%!zRNPY(j=f zh6R|>!w)T1QuC7YQ!?|?r}S`^mZa%g=oV+DLp1g9L6sCF78R!!f$}j}YldBhJ($tM zlaiX2SejE3UzDGd3iV5mL}E%xd|GK9xb}-LNGwXtE6GSLPA#6&0nsG@QjnXUQks(* z4{|$PLbjwRGdDghKffd|za%xjC^ap$C^auRHNLnYF*$WgCqz3>aYlZ5JfwIph6-jl zWH@Ft`n6B#5z5F+&&UDQ7w|xu(!&mQC)8hp2sMZz3T$|WVTKXJ9DZ049G_H_nUW6j z9oT%{?9|kP`0~V}yv)3GnDsq^#ia!WMXANb2$@)@Wn#IY;7v)bh)>SX&CSn?FDOa{ zmE*BfAQo{I6_>=P7G&n+r^7-JEL2dGk0c}n4jNEHDz&&IJ}oCP9Uf|Y1x1;;iA9z1 zDfzjHnR!!sm<lSPcJt(=rlu6fL(6VIKTrS(K*W&RIki*35<IzydEnA0zO*O@<`j;+ z%#wo4<m}2RonS?LP=0)7dR~4}>XcZBUN%T}gvLgXFoYXloSK|hnj4>zT2PWP#hVcl z#6=m!U`7u=sC^TkR|=}L;}dgoV7djt;;Ds2scEqM4a**28HnLips9(gB&Qfusbr>A z!i2a%Ldl8AsYNBlFpqE-=Oz}F6qe?fAQGYwl308qIK58kVJ>t@g$ADpvOKh!1myya z9!^*$1Lsnvti&maJse4(Mm8v)fEtd>xrv|(q$IVXWJ+o&*uxo48P1S6=LZ*Ykb)9g z>4POQTryn23|KV_svxKIsG!se@b-uTtUdy_vZ2WdT8U=l7nQ_=>sQjWL#lU3rSAuE z3MbgHIr-`NQ=lS{dLk{cEHgPj4=R|ElaUKnpOKf54`Fy@c!C){5buIJ2(Wq`A|VPf zI<dGUzO*1Eu_QGGS|~!Y8d$bCGbJ@C5mNeqg&~>}Q&KWPt&7AQXcbxu4FF-VE=XR8 z&&*57Oa@0dSSv&hRQwdA7Ud@9WaecTPw8Pgv<<2kQX7>Pr-C%5R!r%DI1?JC1v!}| zP>D`t2~Z0)9#T}obclc*0WPQ@5+JK!l41}^a8Cs!4sY2(8fp-uAx;H3CBGmwuQ)Za zC^=(FMjJ#D;vi7P4ATpZ8Hfb3p->5kabO35oC|4Cqk0ciszOT&h(tzeMjFIEh<EZ! zOA1O$;t>@FE4addh8?8gmz<wlkeFN&pOaZ!0xF@v!48QrNMVqaS_E@*50jn(R5Qc^ zh%XW4HmcjfL4eezgg6aiEmUW5a(+>2(Ugofa9ITnXHbQj5}%oyn4TIB3K>{5$bq9F zwW1)kC==9FOw5S~iI~Qh7iE^D7D3Z>4<xaJTAZL_5f%dwYr(})QEDEj1rE{xY7O)V z7iZ?B=cIzniiaoOEEYxv28fG!K)SLLD<D~+Cpx2~q@dVJUq3k|FRNHDIVZm~B`qhh zC{-^xKUY67E3ra9Co`#7AF4~=NY7l)R3FqJEiTc^Dz=C825m!9BXk{ogLQp<ed0Yr ze0}nZe0_bOp$jf(K{g`QcHoHNgBlv2nFnetP5~8MOfec$dYED~r=&uh3)c*7z(W;9 zgA~QW6u}LGxCRz>qKO3sIjN8)dud)u4y3-HlA+qe36}x2nR<lb-1sDj!pxK@epvyG z3=E(;O9UaEl3EsDl$xFi>V~tX=INFePk}3wKq!Nn0_$w_Fd8D1@gbB!3NW|<NcLnW z#TOLir<8)aq+-bBuP(g&MVKgnFfls`Qhj1GvnVwe)UE-gBZS|?5qiNrviQWj<c$2H z;whbQBP0<@ax?SdOHzw+<8xB;(n~Us!U!n{i%aqg%JYj-KxJEM9#&^U+LcqXG8h>c z;P&t%?15Gtg2+Bs@JP)mK$s?tPz`E47iXsD#b>6Z=9OfYR3f<xDN^9dAnlh}gjr$; zv%rCnS_I7<{NV0&Qf8ihMrLVAW)4CNQn<m*1=poLf^a=B34|^MgheTt#h~UtsJE3` zl$V$jUy`4nQw(kA@PfM>pj;1Xp-#zA1(zs1U{P42a(CbW4Y@He^ss=$!3miQ#DeyP zv+6;C3nD;iSO_75REUAqfTW=sNvZJRdbz<yLt4aBGBn}h5Kq9GD$vM=xd+mzDkx3L z$t=zQ6`BZr5Gh1Gk)aMZk{@gpB%0GQK?5!9rFq$T`Q>?2;A$Yw0S_^yPRW{t90(j> z?WLJ15OHv`s0ZS8@DSJ(NRJ9ClwO*dk_r=oII5s172M|mwYwm?AucM&2Q`bKJyozo zMnOg)+)0qYhc@BR41k1ENq#c4naT{--UIOkNVv2B*06*tEl$oaNS%_g9HJEBgtW{G zNG${J6^MX+o0|v~k1x+m0kwk}Ai5wP0$0hUMLD3JDzp@ayBeYb)CK@&iYXm%83C}# zNPT-qc%sRJdh$h?Nu?$EMQHMZVEv$qE;BDZJ{LT2$d!>_lv$OZSCW{6h)aQ#)G|o< z4I6TSW(EHA)DlqR7SyW&)%a67df1^t;EW&u<-~(Z8c;)RN=MdyXmQR1lPd+Kgig4) z5KJ62d>RjKPQyZ83ND3c_mw0TrKgs_Q$mJ!h7Tl{f-1*~_|&}g%)HboJsbs~`V=%e z1Cq@M%?Jb0JzNk~kajItL;xa^SWu7(Z8k!CH_{LZP((mjxurQJnaTM%rMY>~@&Y<S z1X5CwnU@0VE=fYvm*f}ZfQG6;9U@RzfV$g|-k1nP0eW*4>>j9@NGXIVFCWt15{764 zOM&`qMX71fk}JbE17flmL<v$m8Pr|`g%;Rw=rCDIesXe7Vlk*!0~QtlwUClCQj@dM zdU%2eiK5h!qRiCdDc+1=El4sYnYpR?r6p4!E<lnf&o9ab^^Ck((Y3&8yAH5~1i}`m z1i~3TOmT`+5<$u`qBCMZbPq3R1PvSr;2Z?$qVgA(U`??CP;pR!4jE8@wl8_065#&W zlpfZ+{Jg|6XwyjqSq`b(2Dgne5;DN<=@EjB$6=-&0hkohfF#)MVlWA;aStEiL-?+T z12!@ONduxV1M>3YQ&LM3GjnoN^Gc!V5v0EamfVsvK>ep4b}d`oIwkD{Xz!L6oPG0B z%Rx=Q;we2WrFoeZP&r|+9H^rNZ?%J3^WgR^$X>9~(4ISNTpHY(2dm(!$jt!_bCi_8 zyX4}@1qG146R5yI9R>mG5d<qpiBBvk0T)@|AxB6-DFTuLk0W7|6$BL);4};wxdhF3 zv4Z(fzleYoq~s^Z=ca;38uCE{=2LpOz+?JJsU?}oP=%r}h0xI==r9XxAV(Zs8mTo6 z_JTBAL4I;^NfD@I1vQEiOG=AUVdWUYG5Me@mRpby8l!+&AqF!6I=+-yoLW?rUj)-E z1(VLq%SbKCECCJwLM(zujwEc7Dn30wKOHoZ2y+X}5DB=7ywcnP(5MmAu`mU4a0Rfz z+RVJnlKAq>k_?cAuu&RC3}ppHnPrJ3sYIwOE=WzzOw7ShsRB0>RFEd7<mTsrJNckt zp!n2^#M}bVP&9NL5a9qUia`U2@OoGcpRw>!M!0f86y=#^iA69!3!%sqBo-y+!a@yI zs;H#001@XXy0TL%L2YxGK16gt2Gn7B7CvyL0E%?z&^CB35tOq)Z4KDy57coP*^pj) z4<Bf39o*A}&a8mTD(LuoYAz@$5u=yjZlE~0?FH%|Lq_#L4T4foNXJgeXahA)CD9eY zhIc{L2}B8o8Q?4k$;DtZ_~B;2CwCw^g^(nQQqxl_z+>$YIZRXIGfPr)LDdzy0#IWn zH9jLXF$GkfP3eHh%fbyW&dw}|FU<oL1etlT;hIi}Dt_4XX?!L)M^5pBh>O6*Q}ZBw zg@V$gDNs!caLKg%oSgh}sNU2RXh8$YlVG0<Bh9SF=Oz{ufU1A!z<iH5vSe~%at3IS zA~&;SiZ?674Jf+d6)adTLoY)g61n`y6O*}#1+WgdAWS?luOu@uCo>V0$iZ<g0+T5z zO3W(;m#)d6(i$wu3zJMqO)5>F0v+v=go%QOHXs8k(D|1h<^Vr;Xq71eQ&y4+YxqJ{ zLF-#7m;y)(1;wDOZYJnBNrnN;bAsS$8PK#bc;Xbvd%_4A3=fJS<gj^>A0dt6Noj;Q zrZ*9;>ybjJ!{tvIgc7_yEiFyz;e`yGfalRlK~1Y3_>44Ym4*OhU``LxRw&j>p5o02 zn~z5bW+djNrxvG{fFxn-K;SwG3P8e=Xa;2^mL)<a2tl&26$LO&py8n@-b}FReYi~p zl_eSZc_1C=)_^9Sy&2&PBwz*=m!yEk|HZu-Go-y4GvvG(GaS9mOM671eQ8i#nVg>o z8Pc87*&~D^o(oEzQ#yOtp~iuxCOL{zOF(mU#o!5E0Z`SR0-3BX&PYuynbO%Knw*oL zm>r**o0ypspO}&Ynw|j-1^4h2q(Y{U!6P+23a|mV^73*$h|l!$i_-N|Qp@xUQVWXp zr}XfFbRbm}emy)zY02PeXowjyFf+ho2zr^RC23$YKuHLsAEX*ZKVN1Z%2;Z~)E++2 z><*~^A725=FQ8BW75l}dN#Ma4xF}afVopgsxIZz)o3%#_)U1!s%qvbU0(C9oAthDH zl#U)@<mn4gHw;pwLnbgYn0p9KxApMCh7Q2XKp^7>Jv?Aj<6$!?r9GVBIWJI+09r?s zmS38e0%|7|PwAhc(StezuJ2!#S_CRK^$Uvf)8o@}^2?|6h@ni9>w_kaK}x3d2%}1X zLu^Wq3aY3lC>-_E@{2&3JU%xuI~5cjQ+h;PLDRP2nGyYx)Z&ulM9>Umk1VQg$AV1# z#DYvv`vRnYN{=L}JjC?k)RNMIDLveUrJ2dupe$NcGNnfd$%0%^k0`kqw0sC|>y#cj zY-WK5$TM?Nv+|Rs^zgbS=a#4G7nCNYB$gyj=@CKI02-i5PoL7m2T_)qtPAQL6;J7r z3@$AIH5~Q9126GOrRl}-nZ?DRN$MWhvJPofvmhQxhLjLfa7IgFK>?`p2Q3$3hm0o` zgW>_ycZDpoN>9xLMQ-U7^pJ#Dkd>bVElql`I{>tHC_iUPj|?{F!CQDeoS<P|$nZ~( zkY`?TNn#Fk-5EF?Pw8O+HFBo(@IZnlF*!LEv<^WODNZ2EMnEHgQ+mX)*;Z7Vhr<`J zsbA3Y8dy-LB^FNUVFyj~=7VA%EgeC8p9+f3c+m0yn8R|5Au-F7iR6bVJ-jK<l_cQw zi4pN-sYNBp`53~G`Ijj@f~dYpEXV{UJh0sm+XNt?k^x%X0(KKdc*D{?q_~^XBa9Np zka6lMJt8Qg>4_z&<)CE@oRDOclb=4NM+wy}kZ=HxJLQ8W=86(?i>FNJ;YiHM0VNwq zVJ+-}B|W)2UJsk~^!BP>=m`tvRA?5T0#SG`WhHtVf+>Xh39RmUzP}2NlnBiV5M`D3 zoC#)Eh{}fB#W)OvCT)nacFugF!Um#xSyLvuw;>@3jy-USf+$@1`!>3_p$cK0BZ#^+ z6B>yuC?V=MUeLkr07Qm{DBQ`l2zPFRC^^m+imw<2D|#V(>>G9q5qS@yP$tEYh|&t8 zR{8WMoN5sj4n(c{+HPza2_orr!T?8M43Q7~Y>d5jf=GuuHlS;V=3R(<!lzc8wH`!8 z@`P%16QG3xL_U*|A6CRb%RY#Bj?+Pm>H;EDQ0LNvSuQ~2ip>_oOoJ9!5b?4z4d`_g zM50o03)cD%B3o0z--DwhhA60?v=K-B43TegdD6p;T<}7K*D^5RtNI{{)?L2S1FyOu zLYt~L^dOa45W(GMMaZ=bL~y@IJbKv-kvP=;v4;zi8No#?MD*B;o*u4LM2!y-J@Huz zRtrM}&TP2UgIWPV#Ba{vL~T=mg<neV|AMG!AVSJBS)er@gs;Ya7i+Z$lARsu9`poz zfew)l_LI)~#Kgb=<|XrTbd`eEae>CXQ}dER<GLB9J>1YCuoTFuQpnntlFYo~DLu@f z4#wmuty6-gXk`6lVqgF@^K|v}^dTr1ysSY#0Ng{+cLt3urxxowLkdT?%$!ucg32j9 z3J}G5ditp9i%XMoGfTiqbZ{u~%}*)TPfsn0&rK{Ujt9jCUga<sxF);hq*fFp7C}sh zx)#F$VABhVQb9eAc+li0K^-s)d=ra`gFx*-P=WwE30I(i?SM4yic-_TO#rZZReU}M zkI5H<)oI~S2XjeiW<DsOA&Q;#GxBp&^^1$jD$Ml@z>B66E%fz3ovlRu)V#7{{j^kb z!}x+qW6&}KeMseLtY@yDSd<Q4_XoC85r>t~W(`;kA!oT4WhRA|WafYslkF_fDk0D) z2-p-A9L@rVFr+J1P&s8n)*omxb-~tJftvwg1eNB&lB>S6zh6j@zmFbjb8SKv6Eif~ z6KP&iX`Wtj#*_(J%utQmL}&!}Iw0Cuq1tRwwZVH+5SN2`CMB84`YxG?=|zdTx$&SR z=?HEb8|f9~rB9iV#RfIV7{5WFE>y8TXj(8H(iQ}3@6jVh7c2{dR+O3%qan2-zNj=0 z+^&yL&4buvNsLCY`yl!tL;DcDCPeFnwrC;RNVO6?bDj*=J0Xh$8m?-ncI)ZsLnfQ` z^K(+-Az2=*qX(zLywq|Oh4Q#e^mH@^8#N(I0BX55q}h+K)YaKH+%4WM06b8g3R?MJ zoR+L>2-em^q-q0*Y7N3>=jMQwPRNplx<>?-Ad{1IlPYyhAVy8dl84GGLBqz^F(^1b zIk6-$CqKP3HNH46v7k63zXWVrj|@~1sGu)SEs0OgEr<s%-v&!hz}^h&$LL%4Pr=nB z>BsC~_k(r`fVYo;1~JfE1pS12_Wc+gF0@v9KdcAakE46tkE3e}X@h{enEmLz-+tnH zWBu5NF8ZgSHo5wz;B2Dy<La4$oCK{Az_r>GP(Z@E%>7fawYM?-3G2qe`g{GTo!kB? zIJ#fZ{v4)(kf2BOEBdEkX$XUDLA2yRUPKy8Knx)D6FUIaKLxpY*^hV72A7)=oiC7k zPzwTRcK~D!qC4I{CF?%8s>}Karb>G_pmTUBQ?k^U85puOnHd;BO}8H2qST_)#FY5N zobtp<a5Cq}O)W_TWizN!b!O1YCTI%~q(>v`I}-y#?Ubw^5DL`ztDTbd3&Q&ip+Hq_ z?Uby)5Z*rs^&dhpFoU%-LMTurS~~??CDu;KVu1*PYP#Af;CiZdN)|gr5LCL>PRZhg z@VFopH-zGWP`nU|4?^)nC{V#zJ0(jH!V`i}!VpRXLWx2sF$g6Np(G%bB!rTJP|^@e z210?#xY{XMau6P<M5~>Wr2ye6LMSB&r3|4!E$-SWr9Eum!Cde_2sk*w!@i)EZN++d z`JhdRJ*;3ApuJp>9h#g)iRF+*#8WcbdN`6ZGILUjQuC(7PRY6oj-n9I8uQ6hdPG9O zYp79&T&J{70UMKb3#1mik{&itb2qPKO4bc#28Pn4#2zlBX?W2519N5yXsWM=9Wkrd z!wOzV0otR*ky2WK;3Op`XM@+H#7-&gVJ}Hc2T4tVd8;%DoP4sbGczziwxEJtmeH1V zo0)+jc1qSgkUKTpAOpIO8fF$NIF^>=E4ZiTr51r!h~x8~8dRG)0Zmy?KzZRa#IspX z!7-$f^&H}Wmk{bTgnA31-h-*qtdAg#pTHWyogV`JP>1w`Nc4s(L>F<sU}OPD8QH!7 zWnTim5P`OX6+rDm1xRsIjFzylDuIMEKZPy?l`J@2r~yeZQXv_s3eNet1(}d>Vg)bQ zNVEc~L-8quI9C?zTu9zx&&e!FElSLR=SFa1?GZ{yK#b$-Wfx~8Buqg`zkI0DC{D;| zgV>`EwkMI~i0gqns)r3)F8KAZfG55EASOe6kV>-2S<r+HD#LLGI3&CUz~K$)9)Xhu ziWhq@r6De}Bh$|?mw~Dk0xlCnb{V|oi<Vq*DT27theB6^YCW8;geF*NaN}Gdv^cd$ z!MP|Eyly%%2ON}WDHg9vh=ZfR4$e|zK`B#vcoP!9w#2*og`uZVPPhz8%)t_864*r2 z6K9qw3j;%z84Cl0UzRzT1Q)ds2a=y6K@A9;Aqq*6q9`R0d@2d0`op0H5{PBwdKsE) zK&=~`ZiL3VI4E&KD=7tE=wzjWE?SJ^R0VNp3)rC;vCWf^;Oy@g<{A`YgdW)(FbS-2 z-2*m{YH<y59{F(%Y90~_M?O$E;ws|NB_W}<0PIVQP~%QW$jVQ`R)(`f#j%Fj3b1KZ z3p0r0$PY76TbfXqNr1vEwIVgS6x@GS2nO#9$4Gp*l|jOB57_4z;mDPcPy`<3LQi{a z5MivLcm!+~)j|>CH1b0cG&)Bp6v6EW<atqC;fPNmBqVQueUA~6JP8S~p+EGn1TA_g zEdY%PA{T40GW!A8JgS8z#Chb0Ca6b;Gc+M(HfIRz><g6S(Ssxo392vTdJS4OgSwRj z+#={$P>_?E3?8^p@CA3pkOR2~i#)__OsteOz(HfO1l-0GP?QfE(p7K+t(ZY^7OE7) zMFJGM2-NK+;365~J7xHlLR>6Ip^HHy1O!|x?UGrXn4S)saRD8M;g(Zcq2K~qdV><A zcvV8&t3#oCK|>h?+$#c|GgDAg0FPi{aVT~r5Eoie=t9sa3jr5$`-3+GV{sUY48%Pi z6uJjA+(W=U9I*Ki)WQTI3~@;qg)RY&I1zA(a2RMYUUFiNf^&X;QA%cBVo55hqp+%g zxG#l5_ko7O2)K_2GAo3wm_wC<xTuIi7lB6Q2)IbWCo?Zw!5MzCkwRL2kwPG7y`4fD zX!BbUYVZ+O4sm${g)RpTBoc7Bk_Tv+l|o6r0(e(LTBQPL47E75L;<o-sw^=F)$PP+ zfVjSoLf3=FKMA;A)3GcuGY7P`9h{AeQ%j1$LGKG%P+O!BT#{Ils!$3({RO3rBtaj< zFLNmL3uq9RfM1kx_$2_e$2A$7FNo3sasMg`-47alCg6T{U(oV_WVE3QxG2OOJ1BGq zX!x6eJ48USo|&xRoS%}a;Fy<~Q(2se<|yn+ATB&cp$kDH^8{ST83JF?i;^ml#363E zLZMqg(*p$DqTuEjsGzIhR+L&;nwnRVQ>l<xoSmAYP*|E;3|f$l7IK7@LtOrdLYISP zGzhp{)H^S~JWs)?G`$#njGiZC2{B5D;!p!|;|B`e2%2so;6^_9T2Y0N)WlrWk`!GM z;;MfXx(YP=L%>y>&fwWb&<a?T&_WW2xP^y}vc3Um3W|VR_z@xG4&E=1;vx)Lh`XdH zbQfq&jDWj%QRXXABMwat;wB9W-2|GTBj6@3@SrESrbBfQvIN96W)!+c1~gHGf0By} zF~f}R8pKRA#5FDyx&|~|i8E}VW0TzBsX58{xv8M0461ujWFQU-0y_v}>_Q+R0kmii zbfyOAWY`3>X%W=3J&_YCYz!j`Y%bNtFrdx^&nZfPXW>9?8PtQb6j41Zrd|wgDxfPu z_BZ*1BA^LloDl&T6yZT0T|#vmsuaXU#pH$<bZ7)LcTK=W+=1YRcyLK#Q3<MpP-GzP zX{69Sph<KB?qP?n4MuefTomGtehS?In#CvJ4%U!-mwdGP9V!NK!(0m809ryozzyO) zpc5k%Kx^R?P}bfc=dK={svz!Mjq1)Ga;N*j)8j}p{h+lE1l%tX1U?jrkOy!pgZN-S zst>ZZuz?p7Y=clcAk;1hwFgW==koV~HG&sJ6L6`dJ7fb4A*bR|2XX6Ju$AyKj<V3s zx&~g1P};+llb@FkUOIwUTmoLt0a<SWTI>K>u>e{y0A93{1)7-80?)34W{knBWV1js zwBXe{S)f_aEbvq&X!b4(JOu}uBg+C$bb)4hvcOX{pt%e1ir6gB_<I(35FIpj3|`Wc z1sb`{0uR4}#!0~od$K^|li;;IS)g%0@Z!lV(1;p%g-;e}<SGk1`~(^^$^sAkfW~aH zzymL!(UC0h5C>>fA`3jU0P5vufxGIU9y547WEQBu310b=1?stFfxBOzzEc*s0|e@$ zWPv*xpdLaNxS0=Xac6;>&7gK|7PxT=YD;E;8-$>iTo$-F25LKHfg3=e7E2bm*#T-T zWPz)EP)!Y90htA=d%z2XvOq;Nc-3PTsBi=?6UqV=Pg&qH22@C7fpa=28)kv?3@AB6 z(j+*sfENEJBSkBC-4AzCX--Zm<fuK=^$Cc@G+>3Cpu_mU`{r>d)98VnPM(;O0$qh9 z2wK4aI>`?-g`QrNSdf83Gi0FzCwzA+E@j|482kDo<f1C;F{t4Lo;3c3noo#Wp95O% z20Ft!F=t9g4_i@cT4_<{6v#3wF35Q@;I&8@ZII00gXC&R*8E7al~9wg1Q*1_*I*N~ zp0c4#&BJ3zBkL6onXC`EB);O300*(KBm9IUh2Z?OlJdkN^sz^5Dj=>EXD7A4LS&Hl zh$tgYBGN5}xeF3{S#0bK3=jv1kn8}c5xj6C1j#g_2PvOG9K#1T31<vxkQ+q`{@~*l zby2nzD1Z)FQGi@yfZDJjtQ_K88?bZX^$PX!OOK**J{A}2f?TW%IZ$8<G#U^wX-Tqc zphh5K(hO__9rKP*FnACrIaL94+5~711zPJ4n*vDS$AaBTi@+CFE{3{F7vU;sSRsNt zie&qtMj(PaoLnPJ;dw6vYy|al48IfT3JP4Yf*}iul18v&Xb~j>%HX3t@Wn?R$(Ccp zM>W_8oXJ1y9UB8f4|@sZ;uc)hF7b<75vzbf%e;HoQ}ZClyv0rd?Op^Q+Yeg*30?=x zk(*cnJuZ={hdntFe7^wbs)_WR{G=(JJ#3KcL#A}}@In`$Lj^i}I3UM{rKU{rX6WI9 zG+3cGKtQ?=a36t}k@b|)^rjen_~;pEQz7JR1Muw`;MHs1HjtDw6C4wyq$EgW_Mo)U zAZ9^gm5dPt^jt=U5xe0T6;ia4VFbbzklK+9BM`2DG>*tH0^y2h;Pw^iQIiF71#B@o zuGSg#3o`N+wrBl<H;P}9oD{LQ&_H`QdayN$ks4#qNVW@-?6VMc%44t*xXZA)?AY7I zB&=OVlv`jw4OF?6wHcJTKr3H+>S<hLAs-&1kG5Y5sqhkk6gdCEQ9x!6ffxaaMT+w2 z14>*`ngkiTpkF>EYvV>12Was#xbJGrL7k2iXpa@4Y-&KVT^QL^7i<L1Y>K;=N_HQJ z1G=OQt$~dYhNQe8u)|16yx5C7jBxDXR0bUh0zRMy8XSnmv_HwVLXAKad_G_!$Out# zJC*Fv(O=ZQBU}^`oW)>Q(IPncl_59!=)#-<4G~137LaT=)CfeN=8|g!qP>s>HUekG zPHyP4LAJf420ly>686)<Hq#>P`CwrWbp$lr5J5kMWUHY@AcB4(xkjJ|JsGtKsHp}C zLrAV7!w7^cJi#8pnE=Qx(Ac5JZ=fatxG2Q^$HA7<A`NgT!?tEZqYe@KM@Y65Y6K$o z4}y)LV`;_>UHu9=$OJV+QDh*Y`U31aT7;@FEN3A*2O2tv0Delc{ZJzi0sM$uBM=Gu zKG+DH37g!KjSF#d4r)XoOF-g*hm%H)o*p4sJRms+8it5y;3V04s1b;0U?bNEnnwc% z?D!niNI(cfqQHP;4-ng45`aYk+#%4=Lqvcs$(BQnKtzBRxkk`D0(e2E>A(+oLX8D9 zIY?B5kn9y=qe2uG6{t>v1|}jt0!elO)Cfd;_>pS_&EtaucFYxOR3L;Qu~0#>2Z)UY zc!q#G1R8pX2q-1la;OoA2q+@g2=oXbqtS$DcR}iZGK@gDf@bY5U+_($X#Gfbm?$I_ ztROiQiA@C@(7afTIRmzoWJ@t(e-YRSI<~ubQBKxF&01)3kdQqIb|Ed=Uhq;5)k)AW zLS(XIB)b4=1R|3iCf5i=@;(4Ig6gd=0ray7QKJM?8WJmS!LFf2tVlr9yDo;qprMM0 zm{%k_0%`;zVxE(01kEFc6@0uPYHUEoAW<O5MXSazFDwcmPJjj)BHZ~%wi#*!BHX#j zHG<~h&IUOM6E)yrf{>6mCE4-B7WVLg7N{ej;f4r$Ba*F#8i5FUeR7Q;I_SwB;^2dv zU<lhniy8;$l90HFB-uB_#)TLx7oa%`8lZ?c2_xAFP$Lj=5)3v1XEmHf)mbd?Q1u{~ z#i|>KSuDu;vq+OzagcOW2#x_#Dl}*$BHFN!NTjF@3#sJEFaqHUNQ;gPBM{je(vl{_ z2!tyj^F3r3fpCQuc({qo7%5GHtU#vUgdX8D%(BGbvv+$*PHosrEzsF&gl6w{k!%+< zWh08G?O-G5R6K$GGzf~PT6z{w;1d}1p(o!Vl}-YX(&;id0?5n@5F;RQNKua5LWwI% zlOQ_*=#e9#8_vKd<PdRYUzQ3yW3qFD8rA6A&ayN?3Xso_B<B1*KCoG2L>l%Z&LB=B zB?7UR8KC_bgvtySa-EJSGZ?`};4Cw6&-jx&kDwBskyxUTlAl_vP?C|V0NP#vJF5|L zWspKjzCCJ_k~l4p{9_FE4=J%pWbpT>D3@m>mgs_9u3M6ks*B`uU5LwdQ}QuKe+)== z5JtJKORf<}wKUiWoWl}ibOoT9m%|lu;|$u-bqHZdw1h+KM?aa6DhFuBgUu!-%Ap~Q zJp)6WN`nmCBd!cRju4u5K(~MCW*28*CYlg(y@bfvfnXzWW^C&ARltSSAZQFU3_xQ5 zeAp}~Dv{a)MUYfq3yuRaQYNB>4v9umQX?#JgO(wJ*Pv;ET|tHs2v<OA2{Md8ltBL| zY?Xiyqoqfy1hV@Y^W<8T-D$3%mIgR<_ku&0lsLv-;eh-{sJ`DtvR%-`fG8HWgN?vh zEKt9`7kA4q%1tZ*owJ5~GAr6V4Ng^%jC2R=Y8nJ`kAyPllFh^t-TX9N=zVp%knIi7 zphFBG-6Yu&P$Lkbe~nxt5c%jb*a)08Il0X;QCK~WCz5cefkY7l52#5_izpI9sy6dV zit=-CMbKYx(2(K;j0pNgt`S5>5E)G^NQuOQ95bj5WK=0ge5lYYK6sUpGYV$oMUiBi zF`_{ZYy{3yin@&#aLGFe8ZQGek^#Ao4XNc~4M{yV;0PciD<RqpkT|5M%>XIu$S?xo z3P^oNh7pJiy@lK|0pyC(B*-ZW^lQ1`I@2Dd{SpjsztoT%)7aZDpd<MSwO=YpwhN<V zC<7aTvt*!t`-KO5G=FevGUyODv|<-U3X*YVgWX3;#vw8|dw7*WXBO##?gG!u&%-Qs zXOL_&M&M2**9b&rnFKb1>dg~=$h|K)3RoioLlzPj`@wFZMO+9dr-SdI$-x~Rdq}n% zBRY1HYXr@sgC`_2Hx+waph`g^;xWk{AwE-pE`h`y3lB)P86y_%l4}I*V*zw#HI7(7 zk%GhmJ1=!w=olq^53e%ltXtf%z(TUk7_q=et`Rhk1tD-yr)8$*q+pK=YziPTqD``= zh|L$mkQf2G3U|C{kZeCjyr`0E1kK|`5PYmVC}Coc7A*3RSn(&>OT@;CkaAj1X@xGx zO}Hb)hh*z9BE^$jBWNBed@lL9iJ5uWV+36i5*@`PdxqHP;8#uoy9Re$6p(B;MqK2Q zYXr^XLKJ>FeR*acj<O4f8c57cC)sPn#*COU=w8dr<is3ZklS!a&=iuLfDu6x$u)xL z2qJsPM;z&dE>NL?J=@?^1&O8IB>RupSdu_K%M0W_-0`%7WJh4c(^jw%ID3B79TNh# zaR$MdP|H9}Xn_Y=<3R`h<rX6i4dp}9(`9fxkkYGyMkQ!C1Y!gvDk&P2f%G%UFaqHU z$WQ_qMj$eNF}ZyMkSj`)AjfLbV`vCETaWh+L6iZaMEC%aFdwMffU(vl1*8CZtqp;j z1f{^nkdbV#&(cF&MM~shFV#Q?n-Utf5+K*<h>0Iwuo1WmFI=ZTl2LU)qZ+(FIyDbG z@rF8Vg(3sVkoFMgp)b#%;NnPku!&TQZioYE5ZyhZ;Mt7SJn#%4_*!*c(6#E&G7B;L zXG5-s5Q)GNYy|E^K-J~r;DkL0YB0JUf&^Kg36911)VwmJ%1aiK&{M%tKt{3z71$6X zAhAeFQiP@@M73c?xho(A3PrBqqQn)YNsyDE=}~z>=09;<+KN(Z)q*M|@Uo1hBzq2f z{Qx@dno#|)h-AB<DFRV6%m*7mr=kJur$JCO&~;}Cv}k~=Rzz;rszS2$Zg31xR5Cy! zk)k{~hZ0wmCPB_*r$?TIwlZ*DQH+u;yW!dLJ=lL3jmbWc0_4Ud{+o)wflVPJuCTWy zA&w#?-msSypaby<l@)KubvmM~cnLOwPGtqyPlKSWXrq5eI4!@Zq$n{jJ{NjFH&Sat z9a3fp@q@ZXWTZnxYXTCPq@+D)-GOLLJOif(GF?%c1i8I|j%5b=z1%28#d1(d0ItE^ zz=4ZVRICCiKrSlq-p}m|HiV3@!Cq28+(b%jVJ|5_7iJJDDV)i5I-;a-02_g`q@ey{ z32D^L9a;HFkev~jdphu{gygOwu<J>QJ0b(SM;dJ_2i%=lcW~sB><(xaMMOjnxkeyz zc_!EhoC_<+A1FX<)j-aOJqTe)Y)pgLk3K{on2-PuJ-zJWj0Ci+zIah&Q3fJlcYVzR zn@mbPL&Fz)9)&oR26?mxu@DvRDeT)fCX?$UM2eXJHUekXrS51qxHuXFmHYsV6~JQ> zsdhgAN%4EYQ9wqzMAYt(SR^Ga!jd+8_XZ^2lVJqH6_9Fx3?mSwk1Zu(QJMs~7mAK; z42h78RE5-v)a23<@TJDV$wiq3B?`Kz+tjiSgBlay*2W*O2QgY3$3O~@TN`XerFnYA z8CVN4W&tvrgV+l)h?7W(Hth8u6Egz?p~l8fu=mMG>xdHT8`ub(B^LD?8zRA_Nx7ND z#hLke3IT~liMgpIsc83uV^;#n-Wnvw7Lmc*BdQEOfEVmCUGOv-*k#bHjTll^CD{c~ zBM^bEM6MBttSt{V0%ya5^bIA@p#hX>29%}+iVP$&d?1cMZ(VRDBtY^Tdb0vwHVgrq zMMhf2o(&;Rqd_+85kj7NC@Rg<#kLjHlU&~*5{VnRMi8Ay$Zvgeh88ELr-F8ep%ke- zNaBzbQU~?~dI8<Tn~(s`Y$bXHmFS6t6E1^dHmu#*1~!pu=>+OP@a1dV3L5#~yKoY7 zG*RsCL6JfB87&f+jB+U`bU}ODAVHy9P^k-Z80HG{YH|Yvk<=={M&PUjsM~A>S8Riz z*;+~eu_;igSX5jx1#&%6F(e_a1P4AD2^!H<gv1{yX%Si_p%)co7=dsFq$xp$5eQd& z2De7Y42#mFEb#TEbZoGK4?#h`@mT>!ll4BRMG9`Rz63`%dWo3z2&4eH$;wfjT2fko ztI_%aYzi3xg}t_fIEs|0!``X_g+HN2>oanljwr7lgN?vhUQxf%DuxorIGU}v6hX4N zs357`3?hTLM_d_tYeynzvlG6is}RX<fR+=8pywyo2t+350UI&EO;<~ZBhZ_!JP8S~ ze23mH!Ji==!RApdLqeQKgACatg4}!s`xR>g){I>LAd-qPxkeD3ROrxv%?5h{y}0h- zOGtobIxH<%E`$_HGZNN>Ee4xOwX_0tBI!+7h(=l@GFe0u78(}#+prnrh6p0HrGkyX zStn4p4GXU420<IPn*MEAaFKyD?0N!Hy-foLKN)En(SC%)ASuZaT05ba7i1WLa0R4o zL52|sS3CeWPsj|5(xfaF(0!5gXvIR7XmN(5<`(26mZYMd?vnKz)FcJBS+9{Cx!Bt- zAdeAh9$qHdE@&!16a^Q+M&K+8sNX!~O3u#%ZGF+p%Rwpddypj{`Q$6uZKR|PB7?Gr z8&t7_T%ntngE>m@iDY{*g7rPQMj&#=8?X^nZ2Cb`un=PHXbCheqs9X^1(5iV6rxVE z93yG>2rGkK1zMM^3wISXP!XfaVkFxSH3E^`g~>I7=J6s7Ic*Vq%o;ohPzIH;s({3d zEy>;@Hm87^z_|sPIUsl8i5e@C9e@!v=Hwbd^Qhs-%1_b*#R+OgK?p-4A(3Pc5E}`c z%31kI;Lyh`tl~(v6(i)M$u)xLkSC+_0V%C`U_lS6b5VmIRSFUXtt9(|*eKwIM*-L+ z&@e=lO-&@*3^f8#Hr0cTz*!Yjw^a@<g9kyYd;k_ifO0Y@5|Nfj`$jNA63|?59FWrF zfJP&tQ4EPjiW<d`s-Fxa5Uzl<>&P$yk*Cjs8z5wcMQKtND}9^hf{q0RIho1efjtG^ z{1o&iIwvaw10<5~k{rp{O9_w%2{qAgk!%+<K_SY8>tG}3R4#!1GziLtCVKYP{mW8| z$}&^S^%DyU;&VYs2dUGp3rRGe!LdMQZh#m8iAaj_<P}O>QJR#+M&CTi1HJoP!7V4h z9Hsis5{G9;bz$msD?olDlpR$_whJRWDuRu`nH{O$V-|s(3<kZ%T_FuUFnh2ofuuS& zuzN{KxY$cOjNt7Ng`W`yb(t>MWzY~qw2hoeb^+7~L>cHnt`Ugp%oc0})%(*L;rT_` zAb%HwmUyIOrlqA8fi@*4BGpFVA_XP+_YkiQ5{p@2*V7^vHI>U@J^(GFfcrof$p^X+ zA3&o85wqzey9#OqB4$&_HG=4vCA;%s3_CFxDI^q%Q%g!R^U@X4@{1G_6>{>E6LS=D zQ*)D2ixfbo7ox^8StdXtypQB?AvW8Zz)u@S@|P~uU%F}eMY@T)V1MaC{G|)_7c}A! zao<g{1EEGB;=TiH1kR$Ax;-9n`88r&HlPwZ9#l*rwQS5FDQy`z7Dy>tpb?4aZ9pQD zqLvM$cqYRLgexF5GZ{u8iV`_W!lE=Oi=DphD;dYql6(b7`=BH>MZqOMximL5uLRr) zLMe)}RN?KdXC(U(d&vUwE1~w*W0LKHrY%Gv@c?WDoeBxCpO6X(4Zj{4lt9&YEXdSP zEXa(9+}}5)ZHixyEOr&p-IY_?rlj`pWacI3l%}LY4&INQqLIZd!oZNlE5g8#+QX5X zSdo%iP?9mlo2iFAIT5_Ba*AIMOL|Uz(v;2~wv5b_l+?T_9X-5IW1s?^Jsf$ZpsFV| zWr{aL4_8TMNlt2UeqK)Hlul?kZU$|$Fk@k0=qaXWk1DYs6RDu#ffO`<z%fZtK?6w) z6lL+dl(?caDT{-?SzOvBvp6w59d;EdsF4Xi_7QX@Cu$BihUah-5$g1)Kwc%3!wpHc z3z{+!Ib08H1kM~z{T`JOT9|^`as@@H$(aS2kfKu|GfyEuCndE=p)9oswEY5gy0?cM z10Z=I80=S4@&NY27b9wVjFnOEhXuFfP<*AEnWqc(l`h;@(6~Uf>H<i1AJhm$bo!EO z1fm-D0vkc~zM4KU@eU0e1#>+^l>F60vTjI>mxKL6ix@W`D#oGy(KXjK#GE}UA=z;l z(OpQc5kyBf*&R4NEb$GxlCLPW7<_6Nhz&ZgRsnp9Fj^ibRWl^EXOkQn#O7~(Y_Scx zrVr#BP|qF22Kh!8>KkZGA@cSNlHCS10+F|;f{nmgR8zOd1}@`}8e?d!sHqGLj0_+U zJB3b7s4{vsp&+F>QY&gZB!z7TM*%722{aZF9VJLCQq+oql+a`tfp7(++9$&ZM8Tm= zNm!I7WpUECEhpj(xs66aO#ysZlLBTV&Jo^-`%JRmu$LqtKN4!heIVH`XqrNl3~#|k z(5Ykq`w6LJ(D3V#MD2uu!&e`?02ACtlfx#BSaJhaqk>Hhv=;|IBL}Qf9Gl9b(mb#v zT6YlQ68J8Buo7u(`k{ADffXp>Q2;%+7OW1fa|*EwdIx7QSOs>gG7|IBQy~hlIv2bg z3v|FB*bJ;n;M3?hI=B*|3=COPAVLO2$bkq25TOJjR6v9ph|mBLS|CD4lzzS8QhFBU znRx}JB}gT?3#26H6eYEr2F-PdG8B^QC@Mo=fio_d^+{<`78iZXP;URyl7i9_EJde3 zyyy%jIbg9Dogl9fDmnv5whJ1Gh@#UMYy{4t6L<fYjE1oW#`X-JgakJq*N6bepb(60 zJTM8Aju32XMk(0YWF#Ey`|66o#zB{TDS)$#0%W)hWfde3iWDRxL9~*R3y6&G9#Q4A zoYabf#G(>iu#0eA%$N^$JQ-nuNCi1yBgjYvq@P~^31rdWlEl1}#G(|1d`OnU652S_ zK!SZC*u|uHn%H0$Q!a+OO&8)eT;V>CWG7(czS-m&foO)#02@K|;R-ouQ3s9}@PuPQ zX;CVOk(!)XT!NA*dk86pMA=cWOKA~h^2*3D1sQxQElLG3Ag+Z5Jfb^#h-9}wjX>m? z{p1=!^SD#Rh`ZFh;?&%voK%H^qSTa3@MU{wBMwCBfyCrXlD$rB=2OFrNtoMpk=+iB z4Mc=KBiTt%BM=e#m|P=h9--z)H<dsJSQN@LOEMJlQp-UxiZpf%>A1rN>``+m*``1u zomY(179+8dZh?H$3B-T8Aphy+rIv$Y9pOJ+H2*>45RnYHNOmOD2t+bqC)Wt{WI#%r z0O|@v;~G*UlVJqH6`A1ljI(ASqX7r0yZJ%;(DI8Ciz>0TkuYQ-smGS&P$f3?2q=Sk zgJAdIs;R9=wj3HCh*V(?HiC{VBz|AVpkRgcqRb?$p^PpI3FSDjD``>13Ml6$78UD) z+=DBWqe-?LBa|b^H3E_9L%~MiO!ee8SOviWUX)r`3L3u$wTe&+S1j_7C}{$_hZa#H z1c?%;o4~PxImuE_vh^5|QbVp0G>;VSFxQ|EPiIFTJy&Pc=s=NyM8q<Zy+LdV#Dlm` zEj1Z43Ko-WF-8<DAlC?*M*){-UP@{OxQIfH0b~hC1e_w-6U0UUw{j-P6*#iMagy!D z2>&DG8bSN;2hF;HgCDIy&xIrb3IBH_dxH4z2U!LV{$kAZ|C(fbF~a`^xkeBj{$#g? zxIlyS*drjns01nji2xySTD73Ll|in+6#@Jt+lvtaJYXYmHh-u)_X-~RM4Dkin|mFe zQ?8H^48%aauL5*ipcXjjNohbpV-L}pfW#g}oe4;@iVPzVu7EV5$uI(ui6LDYGK@gD z0y5xDh7kx?c!4`sWX4EoQWiITXDv8jTg*@@=&V@yltmfIDGYnX0P+{1DT`u~?SiIe zL|3c;Yy_RkBCwy3$|4QF9@Lf2`moSNY~TaWTjEj$Uks09>T<R?14Gtaar(_hR?u@c zG9S9z5mC;0Ye6c<9&oIZnW-Q~KoSN;Sv!{!SCl4Y@z6JG3&Ss&cFxZ)O3BPiEJ;Pp z<=OCDeuQMNVbA3tFA~b-2T8UIBbV<38-X*I<DQr#w}<cGoS2hbngiax09xq`I-&=3 zN47#)YEFJ~W=W+&VqOYpxD|BfIOqgNkRr%PJG9}2GFM2sagap)7#t3y<O?FBt;bP0 z8R28lB0iXpbzwf%P0ULH4Zy;D3{nJXr$BuSjWxvh>jRQq3pD~!yx%3)2t);a3v2|{ z$AE$frjWFv{9J{M{G!aN{JfIH90kzz>I$XBpgnt_^`4+rHko;)ptO`)SPD*QD7m$V zCN@CQ5xWF+Iv*I>zbAxnIs%1@E+SkY*Up2(MHjSk6cH}E@Nj{q3q;alA=v{^BM?c8 zkz6B)PFiGlBi)EgTLnd_y0BcEnxX(6lmz8Y@a+r==H{r$iCTt2Qjj*up+{^<<W6J? zLiN2actjfRdtGyL%&`XzlHH7vXjH*Q;H-$K+w}$KE~Mt>i0Jx)>Ye0#q$Z&?B*8g@ zL!OkX4;p!h-X0|KC~6WyDibn{K)3?ZmLbCkM7gsYT&0m27Ntp9y!36D@;D|Zrxq7u zI}4{0-Xd)#IexJhC?LNPYLPaOY!@^wA!?6Wun}}B2*7?C1O-7JZF`5V$+_ie`ibDg zf>Z!VLJEMH;1DM>(L;=YL>fg|uZj{^lqO~I(KqWU_+;i~D>&!p<fMWZ`heDKDFl{g zCTA<8fu>1NFLBChhiAvLB>NM4b_DsCP<A{;vRxS2@i^EBI%P+&p9Vp8ETBhrOik9! z$;`_}I-}0J0+O2^gTtJn3<-%giZbL8N?cKzl*Lcq45{RinO9P*P?E1uT#%ZanO3Qg zl30>hoLZt#lv+}hnOc^JdKz)oRCtyYm!wXo4di1&SyF^#yD+k(AlL}pS@IPd1A}Jc zl-em8S+|%O7&6+jAUCOy-D}eF$S+q&PRvvA1ea}~#l#Bb8Hpv}5LU=6R!A&M%*+AZ zQD~3aGa^MJB<Y)h{YFaC$6h*OL`9F5az=i+ZgOItZl*4%ga$1;)&==O7nDwPGmCZM zzQF9@7?bQQj94=O8-Y94=CWgtwXCPi3=E*Se9p|k5IZI7C4_nnq25BM_h71rtsoI} zGSw7t-s>3z1!)mI3epTv#s_a_LTcNHL(-EUIMhi=Ptb@%bSoecM^RC#OSvl`nVuq7 z@KNH5(xfZ_`WEP#j<8Y%yc4K6wWJu_$nu38#T8tVSdt1pkPCH5M%H3@x!y;zhp`tX zAdeF&*Skr!3!2anJ)aJ+5jaZ->W{?>fX-0OQOHRxOU(h7<*21MrZgl^tp&T2lsrXb zu=WTlgHEB#(FMB*TrOi4#j8lR9V4KZlWPQGpkN8u2%KZzWLLF9!KFoMiOH!rBL$lR zNVHr8JBb$2BCK2taTVT(IY+Yn7!h+CYy{36K;1z=aIPK%btGN-{<+1VRt{4AC;~|| zFTo*BN}_>A8lrxLL>fgk6C^j0VFbbzkiwG;BM^DIm6EV1P0A9aZ~dr@qkar1P0Gnk z##S?Kgx8FkQq<}3fV@noW>h2DE@%=%)QrktBj{8vfc-QG%7uJ-w4Dn|lh6tVc1Xcs z4-RsQ3I<55QIsVWC~-w;QkD>Xvn0DOXs96>twFjUp6!ZB_73)z6UbYHvRwhmc41_@ zT(A*z%64Es4T5Y}LgQ>#mY4%slc1jqNi0Z}GA|_Wb%Mj4qPz!*I*RgM7A3AIP0A9c zZ{8CDbqF()6`b=^QWYHY5_2kxGtn~QS$Ia=OS0dvXGD-631!4xB-@3N5x0Ylpi@Q! z`)Lql#B#c2#A48qkjcsUDXB<#5n2yk1_wPwc@YwO6y?P&l(?caDNBUDd66?DwYVfX zu^9b=mfP?Q$SzHt1}Mm5gfbut$#!96Kt`|;I5Qyihi0Um^K%Oli!zJz^FRwA!7GrU zTM$tTwH~}GA@zwG*!85OVeF+HMqu~ID1#2zg18g3Y!SRx2<}d3Fd`P0DU<9Fs1b;+ zfC9NjAo_W-U?ZqMb|ZlrXP`~I(2YqbOIC3!gT$5>*m<;wElIT40=W>^5>t1QU4ao* zE?^^YW*X{_=77`YAgHxye1N1YqWM??D`Sx=E$FCD5;){ZNkY)bLyV_DB9Ed<3zE;s zFaqHUNV!Xf5s2LWkHV@`l)hD`f}3NYg06xaxDd@N$*ELGEY40%Q2_6V&&<z5E&a1z z!fVt;B*!`SLLTH_LN)4qlI?<~FGM*$2W$lH!h!0O*b(8N8EeQac1pfNW}1R0Xioc4 z!^{!|=&kGupw;6g8JR^X3ZV1ADiv}vlZq0HGE<8cKufC?QZkE6iZYW*!P^oF5|gtN z(^HGlro6+jTcb{?C6Kz|AUM=W$=F0ja!;5tcrF|=Kc14Wo0+DY37#zn9g9|6l9-bN zUPBHJ9bItf=)yxs7Zf_6Lu25fqYDci%=w#rBzplP?d%2{fjjL`bt)a49|l3il1tm} zP;hBML4Hw*ep+H7QhlNVNp?5E0ZvM?gT@)6B!|QqMJ4$T%3T2|btrPhOiEl)nv^9* zR((S5b}Lcuy!`S!1*g*VV(`W)&*I`z^j_I_cpV}sL!Dk3$d82T5HXVNf~F}%9U@Gw z5s21-0J%nhQg&%lmN;3lN%r(Gp9^TNKEEKfNFgLOF&AaNK8uwNcKxXf$-cr~O@Mqy zC>|Y2whJR3?Z8IRsXPb!X%Lj>nY1m>6H7}n@{5ocmqJ%WMS%mGqOu$kUlf(1)|9xS zG$~7hzWI*R8GM{}PJTLSmJ^0&xjvFTggwiFJVq$Xb(3rtMwaUU8-X*+X;8Ow4))X_ z$aC4W&2!1HM1s_UVu7@vmO#Rr>b)ACpwyhy#Nt$iGK|Y?P^BQwI1F|MDVd+hRNBL< zTm*56ZW-2VXbzBUGe(--3pN5zn#C2m<Tjpo{8Gym+)@)uN{i6iOg*SlkidNcb{}m5 z7j#Bv8q6iokU@;AJ|x*@s1b;^)ID;IK(wW9gN?vBu1an!utUmT)Pav4xF{s-Ib^BR zas`)ET#0$f8TmzdiMgp$dN`CJ*&54{TdX8oiV^Hg<Qjn<>}1r&pe8IN^dLEl3?mS( zpj83Khg85B=$W8Yzdh)Z5Z_pk9Hzt;a{S1JoPn+h=IDkg$#!ET2_vu(gSVKA1iOzG z#T<)rW(t-Y%)&^v5F<>3$u$CzzyrWWP`z~HbSh0(NXx81uV9eGA*s3+Y(Fi6ol7~X zG+h_s25873s+KB}t%Vwas9MU&H3B{G$ta)@WgH}1kzoYF74#|NjPaFm##11vVJ*pF zN@f{nj9JF5BH3<?B(WT91kN&!>bVTHxrQ<wiz)>P-E&~)(IT&biZ~<8AU#d8g&0A4 zf?OjI>H8?TMj&z-Bw~j^E;GWH%Z#A8>>tSiLS`<*k|chUY&S-d_yINoXD*}usuk3{ zL@=Al%h9UQ4$5X&N-i0aEyM^@Npg)qWHT|a5mYbZ;5{OgaEFURN;YS(-Lxv%ur!Dr zNVX6o$Zg3r0zJsdD3%Z<8zeK4VFbbz1lkYec94bPT_giNLj_%hGBZ5`)Y1*B3P^$| zCOL44E#ia_oh1WZL)|hnT?5RDuYhFhF_K3vxkjKz3>k5YNFI;@RWgh~xS|z2enLv# zgoXvk6{Sg8lJp%D=SR#%xtC_9pq+@R2p<_=Lvs9JPhlYM5gHj^NwQtgAVl<5mVu4H zS!q&tU>xixq=9k29$|Q>7VD>{=EbMvCznoXo05oeL|N8FIR=JAI$euQ<AL*()Ux<= zP#QuSIOl?tPlv$KL1w0a7y*e<in8WnN?cKzlqE&qtjUXVw=7CskfjgLm_JDN6!we> z@*JUz`ITh5Ff!&Run~01m|#C4WlRmf9x;?a)rXz23_gZh7*!5@ktA3`1XTiZtSdGd z$dy~zWFY7Efn@|yO-n4u#Bsc}tULolmOO}11QE(0LKQ@)%hT`3YZ`B01eJ`rsd=Ei z8~J%i1&0_U*YnAf+PQ$HI8bd0F#?j}C@MJKgA*;8#aC%kmNb0}4lY+`-*7kZc^jyu zhAq6*@FO`~v6mVkpAjlGyh*kT8i$DL+yiU`ok|U`pHNE;9^|w4z?m2-0@;xd7U6}c zf$qfx3kg7k5J%g9Mfo72u#>}ZWd34MMlS^s<shOGL{!r;-{;VFmK}W3PdwVLWhF?C zO##O?nb{3u1SG*wl<8e5aYboTmJGc!J$zFEYNq#wXZl4X`v`lc2l<Rprk_u;T^N~u z4%i4fWqPomP&2(K(l!mm=0b257D1AN@8AH-2qDQpw+7?L;KxBZ`Xq=rJ&dw7JP{(* z<r<JYxdR-Z6lH5jlAtJC&!of^rAb+`^vc#6kQ+p~!&7sT^K(-{XCk6z>_~XV{si_D z`i=2fF(3tyQv)Gp@qjK#k58>ADN0O6y_OnwSNu<~No2$k_PgSt4!g(9z|bS{s9|O? z_&^f{lt!N-s;_cDj(!3PWQb-`A{%>g1&T33#npRq{f%g&ya5|Qr{W6iC)DDK2fF_S za#cdx6u%zsLeNRJ@x>*HMJ3?Ei3?Hdg895C5djwB0v)jlIobfs=Y;p_Aza8Z8qg9- zkPYm`kPQc5Ic}ug2Venq=<-z@1)zok14EV;h|mEMdLY68L>Pex6A)nrA}m0Jl>%Cq zhoy%-Ik5n=iDycWPzdPQO3)Tt=lr~q)Vz{nt0_G!={fmHQ#yOtGBQ(AQuC&C_V8xr zCFhi;q{0O_@=9})Qj1bkrg$^-aFt}1<fIno=jBvR>FnVuN-T$&pXH#yzyPhDHnTG@ zWSOxrF!ZF;wt)mXez*du5N(1KqLLt|B$1Ip5gj5(LM0_%LH&*x<a`NE>twp3G$~6C zl)s<iIN=oMoC?_s?s+`(z?+{SSp#`yC94Wv+$576ve=6oklzRuHwh%$1&snkaT5zR z0%vhU<+Z<HPa%~z7z3Gf8p5RUF>A<0C{o_zfaJYONRU%|fvRXwYC337A~<y_B$g<E zyYDEqVh;{A5O>W0yNi_ENMy?G5mPQga+_{qi7vPX!JGk_O0p9$67(c;jX)GjG>RZq zpUmXcyyR4c#Pp)nRM2P@_z2Si$PsOzJ}l^1Q`86}QV%2o_mJ#$Vk1yZIS1l)UAWtI z)AEaSA#MjB&IxuqG&T?`#&(kIB&ZRH5^5W{M$j-qp^a)zm;Ca)oczQT1=LtW5{Jah z1F#>^Th=`S2?@we>4bzS(9^kzZD+p#n@dWTg$6J7b~ePBq*Up|CLl586lhTCf_$tC z>pVc6gGexU$@LK;!Q3L(2pT3BNQ6qb=9Og@<>!I(K4?>aW)Zj?KwHj^TNxxZ2`Q2~ znoVppNh+rzT&RoULX4Q=C)pKHBM>pgL#`1-#}pZDJ!sw*KyK`T`UI$198($+H)dcj zQ9q~Kfz72_PKP*?7CBv38M*ZXItK`UhBqeHV~AvA05$?=8<x7W^yp1k4Zj{?<fNis zl$x7gk_zs*il9iOCzhm^Csu-GgivI1@{<#DaCC386&V<^azRACB3j>-3DI};!|11W zkkU_u=1h36G;1QLvuw`7z~H?KlCERGVN6E)Lv$D+(L_p`gF1`o+)nzUDGh8n)h#Er z0yeybQ70oyq7(_Rv9Eq|LkfGH+ygcaQh$glWacR(=jSGYZk^4{&r>MREXhD?d*Dz5 ziAAVkYAh(%OZ4z0B)IvwMg%wpg`oSF115phuZzHrBO_Jd^D8MSgxHErOBuNo(#_1% zMG8h;P%whqC7`oRFncAP<oXg(M75D?1kq`qjG7LTs02ah^TAHN0e2ozqPho*JR~ul zA=yvF#+HyWXf{L_xgx=gm6Ie}4=qj*v2qM-1kQ?s`fH*^-13V`iW2h_Kv$9%CFUxC z{D~Ue*p)y+{4LnMq+~Z@LtIoj4dOCgsLOQ0E`x>`qIv#`WEVh<Km_`8a*aS_g(qMm za1QX1UJXEU0;gMPP7anRK@x|=gP;<v8sJ>YX{Dgkl~RjKFjG7q$<|^7J~z2Wpa(uF zg*4O^h?W2(-;rSi!WED)8ZwMPxB@ctNrn*!S45H9)dabsG$~7-z603YfuNZjg<$YZ z4$Am-2YmcGjN}x8y^H~QjnMdYFv)g7lM<pd2>=^GMiEYSeaY{YpM-oTJ!<idAqy!n zO2N*gyyV6R)gA%mto$V88{;v{jUtjQ#|Y+pun}YgGr484L=d<e1wN+=+Hq0<-3Np| zRDx3(B;2Qg-A#*dmsEyy^mG&RQgop%)P=YZ8hVIYb27=UfEs~F=M%^^0#R7?f{mbh zt;yvB>b-&^2Q@1oOF&{{7uW@~hz)LKa32~R0hk$JJIVH9g#Q+DjX)27GU^*pWdR95 zNH!$H2!tzgz#hSw3dkrHp#x?z!KpdW>u(eDQWO$XvPz3fz$2acX=r^^{7NBSeFbqR zdRLV@A;H<-FC@s{Cjo7=oE<8Tk_cg)@=svXNJ)9n6o9>>3UwTKK?)nTbDd#=$bKOu z+K8-Ed$g2`VWAE#h!CL;8hK03&nqd)&%t%9^K)_o1yL+L0UJTbdVwE$qY?J$G7MQr z_{%9%r@fA?_9Zw4CQY*C(4>b5WeIYPKxBJSun{=3J-O91i?eHxBTA0zfe1kY-U)0g zDcO$LgwLv+oLZEKS=8H;Y$HZ!+mLGn%|n~jHONuH6g9Y^Vvz7oBiZT1hBupXYEh!D zDQ18tlWZkMfG3b^1kD4S+cn5h*E6pqwI~zye9ayd8A#xFk?aj(1D^*R_?b|5K*JBw zylf}gVyF>_5~hV*BWNB40{#W5Mc`q{M6CCcVn{<GV;#vJA~rGvl|e_YLR|!2`hb}! zR+DTyMvSZ=*9e-&h+r`IPW8-W1^6L!$YTjTSmYsba*1Rw5gR8$%8+~BGm~}UZi0p= zBAc8i*?OoEh-`9(TqB5%6f)Z1kiko1$d&hL`9%sTscD&cnV>bTpn2<J(5ml(#G=I9 z)RNR9<mn@{zBE}TKw|bA$>Bn5%$g{Jw>^PZ8zKA!YTSbS1v-2l;xFX+94x2veJ0s~ z7;*mrYy{4xE_G*_!7a@}uuzi52hAg`EJv)9^nJq!NmYC*q&C~3k%s6nLn4ioo)^>z z^bAXe5eQd6dP!s$fp7(++fIfN2v<OcO35$+;R;`HcaN0zJTy2#t|(2)QlRg6H#>AI z0ZNNGYZ`p4JBs84hP~JVd5h3kcR0y*L4yua`-Fgvz*z!Od960sQ-h!gqVd`2(5)wk z;>VjAQu-7?LYvylw0T1^le1Gx6pAa0OH$D~6=-r0cl3kZK}wz@GLiQ1DVKoVq6>8k zG{GTSOg$u94K)IhW;@9>0#WGDC?a@#6Ekx%^U@V^GK*1nvGt%zL84(Z$sQp#8hDj+ zAuiDcy9649h*;P_vdvH<5V5e9Tq9^63qnDupsQv;@sOCOkO{hx1f{g@!KMHbBiBjx z6tOWPtXu?hm2P65F2q&PKt;sM6_V|T8i9zHi{u(X^LT;Y6_W(JD+U|}XdMO|Y9O)m zn`EyM8#`jk*`RxDbU|(d4|+r01`S<A1pOe{2~Z;t5%iT@BWNB$%x;c>s5u2J0ttM1 zRZ?5d#0EZ#a#~^`=75I`$rfS+wIsPlpa(S>EnHCZ6cTcfHWnF1AY2hhZkhqPqBJQ> zk*r2Cxg+?jA^9%(s2MwJ3A}|IL2{&EPe>p?5o#fal57`78VVxU2t@4plWPPt_LRtq zJ+g;=#1XUaxYuxIZGuN=Gn)6durV;iPRZH^p>{y1T@Y#yn8F^RAa7!g&>qgB)U?zh z&_*}t!MP12TM3ER9zpPZ!pSA^pwX-JqQrs>sEM^;6DjEk5#epNg2bZKypkzdV6P5T zN2rIrBtN;NC^dBoWV?6?ZMTbKZc9Mw7(w^1&W40OwL3;~kd%zH0Z9R60}{#@Ga<#0 z!hAQ_rHHN*5wXqzo@L2P%$d^B!&a1<R$7z^O#vtufyhJGn;^Ls>vpNhs<3O=c985A zNG`~l1vg?VnMU+*f;txQnV|kABw%P1g^~e9si0h=0A7rvfD|~WEfqZKAntoWvQLRD zrFx{43m|UP1-nrf*^STuN5t7(lAQrH0ug7o$Ti|7JlY9F7THyY7<l17I2dq86)r`P zcw$jQZD&$1gNZ}70DxVGKav<pb^}Hv{R2l5&iVxBstK}#UIZNUpc{t6Q<D@N13W>8 z+MwnUA#^3`#n9SMm1GYSn>mCbfnJi4s#~6#q?=ffsSBS=LF5W0lI_O`aCxv1I0Kye z8!vdlhao6HLmM@u(c~a0+YRhOT2vi;%HYEfU?B|aOCiG7nPjUm!q<UZBM_yIE!YU0 zNuS*A2D`IMFet&JMgd$D68KqQyJ->l9LmWl#h`?Z8SLpKTZ$3vDdZY~9_)zzC*cwm z;))*bq|%(6)RK5mRSzvFAi0cmv$7D*ks;SdeQL0V52SFV$Q1-?KyuTf5TwP4vds*o zm5EIOB!w;~Ib4V@gCTVuimM=ToP{VOmXK^e)Cfe&WFfgmAW{b;UdV`AMCyQa<;XAs z;fgA7?M+H)0Sya~D@v2Hl<C`JhwW?t?G?b&Wj_Y*vOgd>qOhkmkUz0@*^$!KU6SpB zh9x3h-2xkdr*5Cij<WkWqYZZG$x~(qhT16_S%k~H9(d;*?5Tn3oM&wYHPXSyxRuhe zUk=%Lg4r?u1_^m;cg*FXdu))pN_cwa1XV){P*HX2^c=wPkJ2?)fNjh{axa0txe&>Y z!ASM|<Qjn}$7mFNQm{@rB-!BZ>fuuei8M=+JxOFq)FTb=mP1^LzsqMvvO6&1%a~jv zXdYj}(CmiN06=M$U{wK$p;(f=MQjX-z_JyJyP)BUXqZHi>;R|{hzcZ}TqDq<hKyDP zs7U|`Nk}zDh7kx?TnCrO<Tp${F)=XUtVeP7%*Y;;kaUL}Py^n|ho@z71>Q25h89!T zz!L^pHz3q42z3WS-2+qDQya*m*jpxF;C4+W*)C|pdJi{Z0@w(gAxgyhDIz=wZ<&BS zMQqE2nc7GB%z+;;TSmv033MMUX47O1B<QK#G*N&hS){riPuqmBa!B4k4R$Re;}Q|= zSmzDENdTpBqNofFBIF7VYwHA&@=uWL8jO^Glw2cT!ZQzzVo(~^I)R1@?&b+zm5_LQ zPqH_OERT9*;O!HrJCWlLHkO2lvNt3<1S85`l4}Ibqf7!kG7Sv}-0_8586>iVHBfs1 z)XQX&kYQ}73-QO40LiYvh$&ujji7l<iNK0Slr|emTN1kxNDP^i>@i}qlPJ6xL~$83 zXc76ygk%>$jX+fThU6N79y^GpAmNk>b;T2S=?Q6ikYNPE6}{vZ2q0IKCYAQ^m*gkM z=auHhr{<LuWu_KS0gbhMXJTORX3hEmq8PJ&f+&HkUm%Jx>o<sE&iVtQShD_tD6Xu3 zAc`sLKZs(?Vqj)q@Mg?n1X0XcOdyISiy1<(fGD;sRuILQ#Rj5Sve-csV-^R9V#(qJ zQH)t!Ac{AO8$>Z?@qj3nEM5@Bn8gR7_(2p?mH>!i&JqMsj9EeuN*F?kfGFlHQ4qzH zB?h7xv&12k1c>4V--_wY2)=>On-P4UmNz5#h8=H4@QobajNminy}7_A^LX=sH!OIw zftO@?GlExwcyoXU482*hK()I!YiSQ3C|rwElOeYNfPxhwl$M!}BqRV`#}N;`JpiOm zBMTJ#u~WdoA3Fsc{IOHO!5=#X9Q?6Uz`-9o1swdbQ^3I=I|Us4u~WdoA3Fsc{IOHO z!5=#X9Q?6UvOvKfI|Us4u~WdoA3Fsc{IOFsvbaSU7_xXp7#LE)Q4u=@92FoL2~h@y zEGZBn10v)=gaU|A0ud@8LJdS{fCw!Rp(6@11{8;}Q^0WuGG?|o14GtaagYosK4YhV z<1=;&I6h;iWP#!{b_zH?W2b=QGj<9%K4Yh3f#NfEN){+SW2b=QGj<9%B4ejyfg&<? z3OFKTr$DZ~1V<;xPW%_$fukFw4Cj?t;FJJTfp(`3IB9^yNxy0WoSZ;f(T?#1r?1#4 z;Pe#>Szr=71)Q*Ar+^by?3B_Tfwat=)Z+M({P?2Oq|(fs6mX6OMP2_C4RBOW0LLMM z2Z}rp50tMafMXHC14So-2Z~n&4-~-&9w?>}JW!M)c%ZmP@IZ+G!2_iR1P_!f5Ij(N z0P#S1d;&OOAb6n5OF=x)1*j9UK(Pqofo@%#0KT^n!2?}jh~R;4GDPq|R~jOCpt}tb zJW!N_c%VDkCS-xGLqqUD_o5+qpbOFvJkU*P2p%X|fOw!wo+f00?p#9fK$kBec%Xy= z;(_j0nE<|=1i=H{Qi9-tt}8+CK=+m)c%TbR5IoRLCI}wrN)rSRbhinD2fE}0!2_i{ z5D#>4?F8^ivIrjNNLe_qw1*dT*GW9IpemlyKcz<yQi7$Xpons%<mV=4=7G-O042#D z#$+(Xo}ZMJnp^@Z*|HXb>Ia6>9!|(jFU6@P5G7FVl-en9CCteM1z<_;qWt`l_~Odk zr2L#ISxcE17<$-(A-u^`G#f!`zzq|>9?r~^)Vvb^BL9LZem#68sksF?i6yB4piQpD zQ~Y{(U?Pr1=^#FLN@{XWB4ii&6u%z!l>Fqp#N5;=em(q|#X+gavYkDg@yQvPIVnY{ zc~fGi^zg<f=H=%(BScD*vR;GdDd6sB$^!XVBkO_&X!@duJvTq4GzVP0!j-V(CYEG? z-49j7n~_)?pIQjHAqS!zR26iBYl2R2MbHVZ2RgykKqt5s=mb{+o!~m46I=y!f@^?I za0So_F8@2h#eXNb^zQ^0{+-~mzY|<ubb?F!4sc=L39fcK!6kMlxYF$em(iWzBDxb? zLU)1-=uU9?+zBq8JHe%MC%AC#1eeX7;HtJ0TtIh%%jZsT@!Sb6mpj45ZYQ{C?F1L3 zo!~OD6I=pzf(yV-aQ)f|u3kIAg<vPR4D2k02Ov{HB~tKd^sqzQjgUIChYb?uQ`)BV zzy_}Lk~311v*V%a;*<09QoviHi=kRL(n|A^L3^Y@nk1ph^iooDKuST^tj0r%TyR|U zps0phk)B$Dupl=jCo?ZKJ`t4UuxJv6SplWv!PC6h93u@?p$Dbo%Q6$=p`96Q>R~rF z>4EYjHU)62bF<??OKLN7QnT`tu&I=QTB!$CnTJ0Zgpm}d=9R^lB^F@~TyZ3IS@}uv zu*`|g0YXS>OA?Ec5_59!Dl5&4$D@p`xHKs@vjk#7);A3XhPEj^+z>&Wp(PBH&yLT^ zPby9>$}E7IfSL+;q3R$M#12#y+@Ncuit=;ZGILTP@-R1uBgyC?u_3B@Sd()Si;F=C zQyEDTS)m^EXeUq$0jh~Jv81FZGpQ7O_IQsHE{))8yg)Z*LY>rus!suzzSO)F+`4eu zmXcVK8lRj|nwO2$m9n^OODW0BCDDONiN&cnb;;whC^xa9xFodztLtQNX)38K!0tHQ zI&gUhrw*L1!s(U7<Yb%<!>b9G+i=EeVsbLRa8tw;Zn=p?#gL>8DIigk9!@uc+8Lk* z1U5}_xa=w}DN0Su#Tu_T^*|asr0GemC@4!U!m0;nUP@0aEiTSX%)_b+XNpKK%1j|m zM`BTGB568uQqy3C9ctv@%&9r~<v6^LQ%h+<0jXMwGSf3iby#XyDy;HA^$X5;$pL8r z?FPn{(r|jGD782ryG1y)fD-`Ln8E3`#N_1CqQvA%th#Vol%JcLjy(zB%%or~DVb?$ zSZ$KVmETfJu-k((SErUF;<N>44oxjdEJ(zj+i>bhDM-QPIGlQlbMx~{GO&gKPCaS) zMY)OC6DdwTi76>0`=_8NH7&COtJ`qKPI7rNX&TClu*W~{=uA#4PRYa`H8>MBXybcY zVkY+7gVQRIuKWU6TN5>JtKv$Z=|!1IMxaX|z;`@g%iuV3L~3$zNq$jcI`%prr!!NN zONtWnusaiHh-Bs!l$PKMN1QIqFD=2NO$}F=fPy0xa*Z!8D{-dW)QVJGdT_QIppAQ6 z`fvtHZen&SqNO{vjDe8>1kjqUINQo8sl_GG8&j}m0-Q03+UY_~XgG`9)Z|he^)wzW z={U6Dj5=sgf_gvcsn`o0oYtkJCY7dR4GElW573c!SaskGJJ8-e&@BeoavIJ=1vyL= zt3^2Vq$bBF7Gz@8gVS-zDaAN7;k2lrv?w(VdohYLsEdj+L0d>c^D1bm6=x<%$uCXH zNlnd3!Cs%@%p^Ja>6yuiIoQh^l)fW!agbPCoSB{n9<=}sG()?U(9mSdO)bgDPXTpA z2^o-@R|X!b#%X{CvaQH$$T$tg_zaTWIHR#7AG+NE9KJ|8xLlJ#_cS4jdRWI>6d|F9 zU_!l%=yoe0<dBr<<rbwD#wX{O;)qf??7Hw4>9W}M;O+8Y*MhhID~(+b?rt^?cj4<} z;?aVuhlwMc3G^@Jv3mx8?@|W4COq9l96IoH5^;nw?hXQu6oa>|kHcAbT9P=N1@7%Y zlRj$QhQkUxU0oa=0b7BqLxm$6)A4G;VG+1Pg{wy`g+1zV_NQ^E$K9L8Za$v+LIt}H zNHY%9(t+&a0vBtjQG+8cK?6V7OMV=22|7|Cmn0p<sYSR3I&j$mzS$US3d7+I&~PDk zN2y{DvE;;@WXM&0@kli$QcZxvX~{*Yi6yZ1Jd$!H?AD~DCMGAxr{$DZq{5tsqzOlC z78K<trxq8-Lt+&g3`p8=B;}%1(CUmbERMrrPkB*hNoqW3LJKL?Albv=UX+;>S_123 z!Ky+*n6Ms<0d*o$H3*Y|E742NFQ|-9Db3BTjL$8GH6oELlfu*jnkC6jt;7;=;+Tpv z^HNe_eOvs-7N?fPV>g!9H?gQV2oj8m(7q+i*U~6*dMG>$|0|(Lqbk<JlOOQv!_&r9 z#b+P>>P;D+R(!1q1$-Jo#R@c3P>UhF*5#y@;nb*t&pNy%Ki)tsN-ZdYXH8V6;`Jb? zz`^Q4MSSkWU7_Q3B%ZbgUPt1rc<}1NITwOg7tU!1ygtLzGQg`3Pg@FaLc!ZW!s|br zl|Ekk@HQ{-`miLi2v`3cZxRF7&sbBYCccyj%IWdAYY+{*dNYd)auO@!GxO5&p*ACx zz-Xl(szC*yZZ23O*a6AKWtawVgl6W0W<sI$0IWb3gbC}x7*MT<YDf$w16QI~09sFh zZD>IftJ;#(BJ7hb;+V=o%`d1M(Yow%n2J+Ub5cuE<B|0sg&8lX>I0SApqW!>cOK?% zJrp_UY6VbnR2-j{UlgC0p9gAg#HS_4gEBJAK`84GWKoSs0j(2*v>ia#E<uA4MTa!1 z4ip|X^+G5ra88+vp()D-`4?UsqqsmELn%r<ilSBmRV`>|U|DK>ehzFF3`H?oU_cs0 zMX7}usfj7@*(MYn0??Cy;z7fpScVGFrEz*+5kn=q0JgAYEy>S^jn=>t1s_;UFF7YQ zF)zLpHY<(dY6*yv)QZ&P(vsBp;?g8&I}@878W6?lsd=C~G*V$DLt;*RL26NEeoA~& zeraAxVi9as3B@KcnC6oBWCDv@L=Z|-GILY&iZk=!1K+sJ1Qj!&2@_mOp&kXL0Z_X( zKCw8yxTGjE57y{JF_#zO0MNAuhDH|Hf&v<}prPb=!~iskAuuJC@u@{c`LL-B6eWTX zd-C%0QseWB;t_*;_*4~_;5Vx%H!&wZwF0(K1$7Y#)Mo`n`6;Ezuz_9_+oT|FDkv=h zmqVaoywqgexk><{yeKs>B|bGdH4j!)qnODLQB(|C^#Pi0!4{(8Ff}Em1)xP!psU6} z#XmN+!ceuDIjMOi@sOO1O`Qx>9eCXiX#EW#-#{azBp-Z8U~W8o9390wN)Tg_RK<ht z{Ejb4Ov*_`X@sC?V*`&(Ld#xQ9u<cOLQ8Cnp(+#uM9|fO%5rS}##D${VuE6#Fsg~j z(}yVP1X0x?76PEC5=BvkHiC$vQV2yQxSqo14^(TB8e1raiJ=$<S`&u6L<mKxJc`ns z)Vz35*8*H8#v`>=QS_jO5x7$UjYHI|C537>bo?A_0b#%4$`z<FiMmV%k1KH}LR8;? z8a~)-R@9&`D8QZ*&`d)fp~2%il%XsXb*Sm0ur#$4HgJKW3^i0x=Y~)eqWS_?45O;T zm8sBF;mA>ZDVfEI>FGtO>EJt^ATbZi>_VuLdY+EP5Cy0yNfb?4N@78N4%SK)Q)N+N zCai6W91^8jufgkyHL|{HFfeF<+qxNT8Eu^<Q?g_<(M8lTMA)^^)f8cfG-HTdzz}(e zA@UnTgjpNiE_V!(iRdDT#l6f$#o*Q9&=u71MZe6&CEzU&J=~y6>GKOft93zZrJ?G2 zIFmC=z;Ol=?BRv+;)_z#z#?opiAkwBAf`qSM|x@=bZlw6HUmROTMut>K}Kd?g&uev zZt9dC!T1o+bbSuk#DJpwipnXIr)XsD&}Lxh;g8Qrtg4I$&*y_ynopTLrH2ioe@YKK zq<NJyrH9oMJbG0!rEyBu9&HAOti2#&ABfnm&A`w;rEN-5`;;Dz-24=XTY9()DnWPF zLU<W%S-ZfYgsQiP#}~Y!TmiS~$B|5DD^5);O3s*)br$ST>_&12gB2+RfL1kNbMHAM z6Gci3Kn1=+N`7)FsAmBVp()_KOFd9IT~xUqkx+;h7Zfe+Q+k9GQy}ZG6LS=b^V3So z6N^%zMj=V*!linI9T6IWVH(<}^eE)#f!152TC4!7)fJ!-192c$b-EyRx=?jJ3jR2a z3I?Z<DeY5wgo;xOOF^d^E2Ly5rWYmVf=16lYxWT`x(Jybp<qnq?NfUAlXCKtvoVZ- z2qWv~cS2LxKBY%3Ex!nq1l5Zb5=%?+6(H%ZBsB#+W<b07;Hq_tbwR3i;i^%CY)X%Y z8^l=98I%f+AcNhZ{e=_-jQCS6s4U6I&m-sr@YDrVF+mro2Y?MF$^jgpvY;pt6#8I0 z5d0pFfTDa*%oKy-3vGu0A7qDsE_B_*6vPgKc2HIZw>P0BJ1<lzbYXW7Y!!L?lpc2Q z>Q#9C3+MK*JA+nir-E(fhR%V51_hu-3PFuTn)ja4gR(rleM%2kYBFk1v_}xC4KXP( zr3ZOx8&sBn)-{#F2lspUp;}-g>r;9V!~gA5dU!#j5k;s&<2@o!Jt$*3Q+m*b(Lt7# zX6A!@1#3;gEQ5`UOzA-k@_<4MVlGTId}B-xJETAZhZeRm61a;%oj;I^LE{ODQ+m+U zwomE7(TDF5hghwP(Gka@qkT#ba$mfM2dWp`XMoFrk_n`}2#r%%GJy*Az&Z=<Q+lvA zDSAYq=AyP0Fjcot=@Ee@Aq7xqE5P<lfj0!f<-oT(>%!!EM4bJ>*J7h;X`j-g13G3F zvh4$0a4W!fH7Fz`K*T}YLG-eVGeB2rgEsy4Xn>A@g~);R=)(1Y?%6AVY#`CiF3y<J zqY;vks^FZTTaXE<ITgHMn<hY44MLTI3<qUOmGX?l5`~of)M5p6S3x#fD5T`uLw3IQ zD1+4Mg4F7wy9T0GHzj{ck4iW(Cbm!MkxH#d%q_@C#qDV^s0s`(in&6yLP7)<S|ASz zK)eCIW*Z#xko~$nAaPx2B!VMqN{;|IppYU7q+cAeXcTl$BUClmlwzncP-)P0hfry- zVZ~E=#NEKFO+gxwBOaWkM4=v0fa*ap5+;e_y5cE4qA*Wl7{`Nb4AfyTF|c!{^za~S z0{KgzC^ZdkLuoN+01mW&ya!XfhbOc+wMZcta&<gNuQ0M+NUfCv+5g;wRjP*{QeWjD z8-ijHq=SIz0I+xuPe^8NDo(wS5e-beVDTOvm&B4pWWA!ujt8kp%S;6gSb`0}A=x7Y zHU+E_*(?!cvp}Q4AoHLhfnBag&@HF5LII=>*&rcggCKi1p~hg7>EUw$Z|_7lK?2zX z(6%tpQnT{RycDQ8xaE69!%~Y%K*|+B>X8jaiOs~66p*u_=3$lU5l3nZf)pbgCWf37 z!Luiz>rRWI=7D74=@Ch`M+`YvB1yDQ>EQvTTZLk1!UXTVgox?F#4yt?KQz6fX@dzP zbYe@hJfQT5rV}iN(1wv#dBEWSa}d;#ATcC8;M9eb!Gu8a3XtT6suL`u3zk9X$B{Y( zK`9cF)KCopOMov%Mwo#;UGhQFBAS<>q6p1c(xWIW4MGwXssrGXx}X$?Fb8)^6i4cn zfCC5BKqP52f8k4!8sKxj6~L(|xhORyHLoNyF$Y{2D<mX<CF4``%0QJa=unLw6|j&l zNWCsXJ-CF`g-C%0YkO26N1205O=mP?!BX+Aeqo?;R033Pr{<M_>IiK1fg2gAc_pCQ z1<8C7P$Lzp4aGcBka<P<P#-|+m}1CT6g@CWsB<9|Ca79Lt{D{In%bxID1$OAv`3== z8kPsQb#%e?GkE8z5h!Fp2aNQ{f*Jr&rMfVspzI7v1x8bP<UyGj+KW-}g)SCX&{c5u z_X~3k3NZqOh9t;3cr!*JAt5V23DhhBSpqt~q(>BF30wiF#RF;Jh=L49G-{yQKt@V~ zS}2It3|udy5d$_<3Zw+lh=D5sw_T)B+b(cPu>STbJ(AGif;bk^=s|TdQ~}7b5NW8B zVRbp&NRT#=lfmUZv=5{U(E>Rzqz9W!k6dVRVtOhl0YUZX6;vu{Kt^H`b2LFFDuKck zG8+XNOjm#yssM_|qS8D)NTU*TFiejOD1Z?vq1NjbmFDS!8j^CLa7IWg1cP_pD(EUe zi~-pt0`8I(gJzc$;AJ)B+>;(8ImE5dQ+h;#L0vnD7V!B1pjrWB7C6B|lX*e{#12qe z06SF>l+>YF1Li(Kq<jHU4l+iu6c$1W31HWi=oM5ZBp?S8cwc^xG*}@huR)aQ7F6oO z0&+@^EIgngvY6q_2daTVu>kgXF*MfDMSH}MZ}3q-@v#~xra&en=0Kb3NO4u1T2fj7 zjV;jmJw2cXI;^)0=>tGi>w;B+V@wGYV<`5);|#1wuQ&q~L}Dm*f}IbJge<T<D6+^g zhsP)4(C7gr%!CA(U7*+l8z~Hx1_w6CUtre?BgG#~3&?p&;D~`31$8NA6oSo_0jmU= z3RQ<1heTu+PT1b}V#xVCJxBsQoFUM2EWnL;uH<}hDX5p1162zX(ap=5(gWjwq(P%o z-~t>}o#?@=fa($g%YY6+(}m0QKm<{hg9hi2Iyi8};G-mZgb`9m<{*h8>;(-JfJ#Y_ z2~bCHWaTG;wN2>(F~Mp<Vb23o2Od;~*aQ*-s|AbofVg1wU@pk3pp1}~nXU^O7)VS8 zEwO~0as(;D&}4c99SaI_GLykc7<{rRICKRQF+{<KW%M9RfJSChi>II(;hUcV8Rh|J zJ&<jX91A&OsRv!OC)>X)wWusJwH%bfKshiuF((Jah76>E$GjjWfbu*fk0~VPr6?37 zmMg%=9P`r@%JYk|LD!^$=0u7WQu6as6*BV_KqE$w1+d8_df*_1j*ls%<>Z$`9mN9` z(*=w5@Ic4O6x={cK*J5NRx4B;vR)CWoGw%jYK91`&jl5RXlb9)qXBX!$ev=5CqX+r zL6^amC}0V2(2-zB>OmO`u3i^OJuDtH!t;x=i88u<N{=zLZbY%TIJKk%6ozT}MGA?~ zTdHzXbCXhwz|AyhaKW^qxB;qFH!Z(NHxYVy6htey#WtnK7*^>bxm*FNO97XK?NfSW zK%=v`$8tdjra{!;9>J9%G-@jd$}=UP`dJs$Y6ovQ1s%cGgGHi;8>9r%J%HpDkY-Rq z&(BGLj9pCuA0q?Nj4BZk&cwjrmYJ@nU}&WP3y}OY1&BV_9GgOMaz<)yszPG1LMCWT z1~jRVngUAB`8g@6MG9r9MW8yq7!qutYk~7Yxj#jrpeQvtvj95lqmWt#s=sp*LA(3X z6+jsR+<^k$;8vEHqo7fek(r#Wkd#xJssNfR(9}~1$w*a5%mwY>0j19TqRjNnyu=(d za}(1_Qi~K)QguPg40B7Nm1SnJLV9LdYMw$;r2;4)gN)TJ&PYs2O;G@?(1aMCUX+@e zr;wakl$?`VtN>Y-3UVb#M@nXKa#3nYssd<UT%jO8Gq0pr0csh_93(jZgIt_glvAky z_D=yg1VBNQlv+{_vZEv;H5VL$c`2acEj0z^Fo+XC+QH_4Yz7OVI@T}0BvqjVG<XKR z0UeYtpl$-CR**J?&6)XmAWte3XJn><CLEF~6%rLP5_8gYQG*;*OC%PhrYMx;g98a9 zTdYu?k(#HFUy_kpq>!6hlA2$X58bQ=O=V!C6U!1ab3jQ{LBk`nq$D>rvq&MeL?JOp zPr=B*&_WYjx`ERxD9PoemP67MdRjzC^mKs}qLGzC07|kcN-Tk-2lUWQQ7A12g+ii2 zacPn+IFdl~L<%M4`3guKL`Wd%DLCin<d+r|L*hUIY?mQEw{yetQD&ks)YT|L5e%@r zV{D}m49X#iC7H<z`Dpb=QetstvO-=yWa<-?A`;QkFF4vj835w?j8p|22^|~~=?WU) z<e>@jNTLF$dQpI#jRa3XU?U-EFa^@*PgBrHNi2foF0fWmf+@&MO-?P(EQW<I+#pEi zfI9<}EFkF`?##5ziqsTH&d5p4OE1Y#h)GG!DM?f)QOGP-C@#p!EKx`;EX_>GEG|jR zD*@*Vg_4Y-)KpMxf!$Y@m{Y8flA4zfO`)FgnQ_&IIz~FiwK|ZQL694ZbMgyPi$UQA z=9MNP^d_Qc&qiohfVdx?Ea2f&mY7qTTC9*3pQ!^Pz}D4*nAMruhPB{yots#c4auCK ze36own46!MQj9O5NJCOKytK?uQvesqppgk^!a-94syabRz@rmWdZb-Yi<A5`1@O2a zXdnpGMleFN0F>WRi`L9M1=OM#YA>2jaBYa9Q#UhD7pzkkR)|mOF+y_=G1j$D>Cq>~ zl~7w0%=HYRPDIm&-HA|by5_ouQ+o7?aUWC%*rN6+J$hIi2TD&xsm0&{7Z4j1BhV5K z>NYf8V7GyK#UNdvI0Uglx*$Vv#Z!9pus985G)M!e1_QA{8erCd8groD4``T1O#!^~ z6r5cl=X>@DLFIJ8GSJil9`J!^@C2Pcpa4rI+>o71Py;{*eD*+vpgOtz!RHRZHAo~R zfZC&=wX_KdP}@PHI>l4KXU+A9z+|EJL*#ly+<aUk0vv-vP_(p9=@A8G^_0Y-6a}bD zAQ~Ws!6kJelHidi(1=rTNg`-XE1IVEDLrx!h2Rl5NZSImt_jr0NKH;GE`d4{stRHp zIEFx~Kn#eg9yzG5!HxmxRsbmgF(3-sr}U^|*p!-AoSK`IlL{)TQ!>E^&%r_ksu;;a zm}1cMC0ucjDu%r<bts0mPw6p7s;$6-xy6v;FE6zmq!g(Mg_???A%LVEnh+uDCGt|s zK`ugQ*G1FbV~#XHPm;x;r4gY1Vt!F#Q6(gTppM~(3qt~EN)JD%pNy;!q#4v11l1l% zsG32-pqe}huG!ZyC>U8``;;C*kSg%C0ietaidLxIU<vT){HetyU=ybF2!aiOu3!UO z1}agxK_ii%Ne;c#WT<AikZx-7lpb!-K%}R$qmQ1eGe`p$c*ze$KO{XvM4+~Cf!F## zq(Msqpm`j0tRz%5NCd37cuEf!hyzv(Zm@HKhDxDanCko@hzG!`^NUKL(xARNtbqYJ zytjt~&hO!X^<6<O7KV9IAvr(4C<Sz&M(Pysxsg3^DP1I~9%1;zk269;`;;CB(56jT zt2#do)Y^y450$0n<R@pARDxR_kePc(w>>`%S^z*j46zm298lp2bDu8E9Nomc6i|W% z4LO0<j)4?GGA7iV9tY>doMcj+0?CF@Big6*1QYa6T2X$kLPma3W>tP(Nn#FU&H~cb z1Qp<*LOC<96y$T*k)Y6kMK&7bdQ2~ZjMhaM4Vm!(8x5T`&ntl#tqV80CzznGL8g-E z;Pxp!Zo~ydK~btMOl4|{0yy)5q6pMAC{i#thx#4aG(3JsH4Qu{gcwECH8-Eq<3^l! zQ4LZ6XLA&1fu;l@<4w?UB=B*mJv<OG*dPUuBX~$k0X|Ly>Uw4?B<JVkKxPs_6@@}! zDX3?f1}X%KAZKFtfYs?D)PZUoU9dV`sJb2npUk{$P`?A&s6b?++Nbm=Wq|vYCHV@) z1*yrIX_esmyEwH(0cqV2==g1@O5KutU8qWMwO*WBqKi=3qvS!@xb`VMS{eD}3dxCi z3YiKZ*Mjn^0%-07Y&oa}5AWXDLk|D$(agv%*G*2$)6E3?4^)fmf^>i#p_^H(3)eBF zN6Q0hx+h`N+o$ws!nJ~}FHS9iRQHha8inE#P!A9^&sGdMfgDK#*mjTxaPUJk=z=wX zhk1&p^k_Q5JF1|D5=bpLN_`>YNWn;kgBB=(u6fK+053uZI|gc_09afXEDpAFN{;|2 z$)G3&jdm877NsR7r(&8Q1eHNCLns(iIcTm8M}R=~B7?`iiXo@4_b9`af}I8O9yll< zN@0PZj3W>NzzfQu27;G>f!3NO7emf=?_tk{a(mc)p)62~6%@Xi$qLE&DX9vHd5Jld z#hJyBW8iy4Aac4OIbFD1j|eE3Gm{mZL0TMPTH2@daF(PNmn0_^gVyMQ4v<F{0FAK2 zB-^L-NJ9oIGK=%`Kuu|IIRvfOiy^1aBP#(FK_Dft=0Ne39%<0Br^F(d0pJn?Zb18# z9tl(nKr8j2)h_t>WMp}e=^%M%t<ocbYBWd+sufgY!>2F6$0YY~fcfA_4x>j6GhoAR z(6L8I(oa-?9%cnQyck@w>OE?h398$<z>A>4#o83`!OT4n5pbb4rH2c0Q7$OSf>bM{ zB^D~^Dx`t^3hs(07K6IDg{7c_w!k~TK$kG|$fYF~>LOI>f>r4vRP`vhIR+}|D!Ab` zsC`OL7^qNy7A-0H3YlpNnIN8e3Ct&ufu@Yiq7=}iU`eGyPG(Y3BIt$-1#mqE8ZiJL zj0+mXDo9MuPE1cNwuf9S&=U$W9a;>f<m+ap>1Kj?C9t_Ka5Y*2G96T{lvL`%P1gmP z4r&5Jj@`}7&(npOKBXrDJhuxf5Iq$juJ#1E`ccD7O5F|W7iH(=m**)Ym8KVi+e(?m z#igJGufWW}&?5?#)CEa`8$eLW9#L<sn!w8yLFZnAj`&h20iT%)x-_GQF9jy53l{C+ zbAbscgn*QRvNvc*tIXVRN*3r|h8}hpw}&SvH77N(I8~tx)G-I8S%{Q@2~;TuoZrKT zq}D*s1eC&Hvc_ntji;cgHbz!$gr?dET{U<i0K}1I22jOtZjUhB9R_-a3c3nqW_ku7 z<Do~`=j5kDwIB)fa5`rs=B1~CBth+iB4lqv0)+=ErdtLcY`_Q^9#F3=Ej6*E6nugK zI3SrbQ;etd@c5;cE4aaAK*0@L?FliNIWxs%N)J241>lxHAJi^Tu!DjUq7Ehsa)E)a z33{lQfIXR1nyvsEgDZx4GO09O7b4KZ=>(SqB^MM+U{Qo>3HFGBsew2T7F{q=i1V;V znlRi>q_~0jP7o@kTV|kZs9R>HYcK_8RPw{qv_g7mW=bmLB9R`1ur5TnhaZvF-N6b$ zYo}57IDn70@8Lxi?BT^&G0z2_fQ8ompbIEK3%zs8)4<g$Xg#;HZ@3$L2!$&ZG^7YF zoTq>f&F?`L>EUukNViYvF)UBbNzTtr1r4`D#$I4^fe8uf#o%ffb#H*;6!01RJvva0 zpvE6)P(~Me45V%`xQ0jHBA_3Rum_|ZW(#=s64a1Fw*}Pl0p;+b)bz~ak|L;oKvz&e zmVly&_lO1|DN{%+Q2?(y0wqiE0C`SkGHBz)6!66XJt#swsy+}&g+$OGHfSOV+!%wj zR=|M{YQcbv;sLoQCBHl`CqFR-Y8I+kkEjb&8f97)q#3-N6jV)R7NvqLDTW$=Dc&RD znpc)tl%EGu1|C#^Yk}mQG<eODmI^fmJZTJDQ;?QArAG#3RRwtbH?;y5=pgri=RrVC z9jGq2QCK8;1i=@!K~+Mc0#sI^2tdLXc9j4`Q4bHYGeFjgBF7sjqQGez>I)P}-NX{e zqO~b_VpkO!vjid!;x?FKU3g3*w@X1|<KUPkAw@{SQiB3|-hufDra%{z=wW$e3Z8T# zf%76th$oQc!7WL6;=rG7U~L_6#DH3>I9x1)9I2p2C91;-rYl2qb3yYY$@#fSpy3`+ z`w2Xy1W^PT=7k28CbC7KNdP2GkkLbs0+5y|J({4i8DXgzs|BzDVNjYA1SNA6|3j?= zOTaP{IAEsWNa`Y>0kNXQJO$Wd1(1<YQ($uN^$lRT9ue4bLKH2a4n|sOPL2Xt5hO}E zK?1s9fgVmbxFl#f4XDH^NlXHl^q_8aa&7^%c@19Qj4st9<KnLn;^7&r5aQ_M<Er53 z?&#^K;1sFg;ppe02nq{s@OS{I16x!AH3=dF>Y^5vOzGi<j0OakBo>u`H1KETCxM21 zK?50}Auy;WkTCMd*pwcAFEoXq{tIZIehH{cmICiRfcgN%P*Wrz^59k`w08mSFceSe zk$_%e4O++ol>+xJz^xSB;#AlG21q_JC9AZ!1YBI^r$Lr~f{qeMNPzZuARQ7-xF)cD z2u+|=4jMr#%FluIo-~8;Sb)4B73>^-^vVKaAygO^dBszD_@TX9cv;gvrH3UswI~r9 z9uRg9i?eHxBPj4$Q;QN6Oreq>j;`sH9#+>NM+H-mG<RxIqAqyyF*6sc2t}xe+cn5h z*E6pqwJ0+eq(K1GL<cAI#2j$d2GxZu4tDO89s&OX(1{<J`JmMeAoqgw3qpo@GLsb$ z%}sewmjN!J3zz5-3<i%LAu9&0s(}nHfoAYhQqw@kZGZ}e{4|APP%8wK${?e7NVy-D zT8zP3!DTi=D=6|nT0woQM6g!S?i*NXQ#_@|7&81snuVY-eQ@5(OwLX%(JihlE=kRu z0={bqvS_6QMWTl{1k6`}Dugv&KwJDX^U`%e$B#gDgX?<~@g5%E#LOJfvH`F%P&*N1 zbx~?Tei3M`5mX~Ds$h>$5KMsrXwVGQfdfSm*nCI_4%%;nxEfO&Pk#>FrAbRHgjx;f z_At9S27+v1hc5YmDS&Z%*n>+8K<)-9;)MhfEKnfsfC|Eb6idkQKto3X92^i`Ffm9- zVuqLyJhTvj0nv$&(FKhZf`bWH*fAr#3}(W;%UY73l3zRpe9IJQs~?Ed!y1zBk`K=R z;MNy-00dlmL2l!NEaXEH?U92Fg5a#+5iwr~Ssn&82paP+L1N4Sy9hJ^f?^Q5Xpbc9 z?qsktQEuXeH8nxi5~d+YqCH~Z#vxV{z->urg9616ED}9Jkl=wT2bWTyR3r{D8B}ec z)!|B@k_RFU4tKPgTpVH^rbf_2F2qorQ31Y5tVa&43bgVS)*MG`aS;)tlAu^fEJ}s0 z6-2TT8oMwBknlmaYzl$+5d*~nPIJMs*bK!JUqWCLK{HC_sYwcn1)1u_P*;Lwz$01Z zsY$wt1(~|VQ+h<eF%ME6o|>fK7~l!&&4J>K7u>2>fEofd0wSmj)jy?&7u-ivfNBM4 zV^2;g2H6VL0OEqI0*z3(1cS^6DG~xl3bv#GkwHrZI8qfqq%_UVFG&Tb9mv(0Js840 z^3Zk&Qp92JlNF^F>Oz_`P_w|f4M~(JqreUTB^gw+Fob)gU|APpCwksR*^B{E0(BNP z8PISCC@4@v6{!J-nTf!+?DfDJa3FcKfQL2UKvEdy%0rxl>}u3dg%}T2hMXzTav(9$ zBLxaiP!`0r6dEQl70^IOwr>idkQRoTic)StoDY>k3m9Q&ibBx<YcW8Zy3jNUx*!-b z+<_wAqX4^>8(*pfrx{TCgX)D`3kyr)g}N|d;!Fd#A3y;K*9Vz8z!dM1h9ym?4al(! z%E4eQpppigQ7Ga)xUYbR^^TySh-MVHcZ4q0gZ-*<&^{@cOED8G#Fvs#1>kr=i%&^d zWMFCroiYN|i5v)MNgW)^u>KKp+Cxk0M8&!^D2_mh9gDrt6aZ5K3o~RZrx1)i2~Z5d zT#M{0sOeyN>_+2_O%a%bq0t6u06>BtCWjXCxZ<<4hYNJ)D&p{-EYOKPU?QWfZA#Wr z(1|=~2j{dwj=O=LdDAu}>k8=59nkSCSy#0|*FI+5fD7D&2;6}S+=U1{fD1f?2t0uc zJcS6n011E&SIK$_5qJX<03Ab;^%f%V0WR<nBJc$+@D(EP11|6rBJc+;@E0P$pu@lb zKJF=tQ3vdF7PtT_M1TV>zzGrHfeY|L1O(s$f)D`_xPT}`Kmslx2@#Ni3&=tQ6yO4i z5CIjqfGR{l11_Km5zqk%fNqb^(uD{ZfCNBCN@N*A1We!prVs%OxPT=@zy>4$x^q6u z79!vP7jT3KxWENmAp#z70Z)j44@dyC<vz<7A`k!<2!sfPzy(4f0ugY5NQgiTTp$)A zkN_7*gb1X-1yUgb8E}D2h(HcpAQvJ~02e5P2$aADN+ALjaDhsQKn+}=79!997ifeC zw7>;gAp#w6fli1(4_u%ZA}|3iFcBg!1uifZA}|9a0NR(FH4`E*2QDxdBCr4?@Sll+ zA!{L605UQU-L?j~n;uoDZA#V>kRH&U-mIlyJy|P20-&w3St}s|Yv2NFAp#rV0vjO$ zTR;M!4S88xAp$!<0-$}HSvw&Dd*A|lAp!^B0tX=iN8kcS!2&(tqZy!OmoE5_CeUF{ z&|Q`|B-^HBodB5wcFReyIaz1m0%sut7vKUHAp%$60#_jdH{b#{Ap&<m0xZl73|V&} z0uSH<4<Q0i-~vw}0x#eKFChYN-~w+U0w3T4AHf1W;C^XhK>@f@EQW5OLlbP90&8%9 z+LyX1sl~}qh0x{+Lbz=TYEuVEEx5%1tsfv}v`s<oUn406x4OYy1en6CFCd4rf<ogf z*x^|}-~vA(0)IdPpv`1ie<1=4x(p29Td%Vibs;4vT!0lKzyTNFgb47!1$ZF>0w4j< z=Bq40h=2%40JLc;OB5m?0T+;j2*|(%WFZ0yZ~;Y#fC^kd6(XPk7tn+V=)eVZAp!<) z0Yk6=BtoDAo}h6j=+bU*gdhvIP02C=>E#3kohevvmIX)vw2(W?5+Yy&7qEp0IKTxQ zAp$ON0au8C2VB4tBH#lT@P!Bjzy$&!0wHjLP>4VTTp$u65Ca#8g$N|T1ri|wDR6;Q zh(HEhAQK{x0}|i{`8F3KPyiC(0SOdB1WMonr4WG%xIiUDpaw2b3lV4l3Gjl<XoLu~ zfCTtJ0<92%4v+w7JzZ8OM4$&Q&<hcm01^-YX_*KSm;x7=3K5tA7nlhVm;(|J1ZkNI z5m*2c5CRD-ga|AF2?&D(mO=zpfCNBGp0ZX#1lGU>)<Og}zy&r!1h#+#K<(G8tq_47 zAOX;jaMn(Uz#fnQXfaRLUWmW}xWGY(z!8uDXyHlLQHa0^kN{`}N!Ce-z!{JLXjwzn zS%|;|xWGk-z!kW_Rfxb1xWG+_z#X{2U5LN~xWGe*z!SK@Q;5I|xWG$@z#F*0TZq61 zxWGq<z!$i{SBSt5xWG?{z#q84Ux)yM9s>h-9YPkP9;B!N2}pwCg%u*e0TPe`32;IL zct8T6g#cN+5CH*@fDA~5AVfd}Bp?eC5QPXxfCNCZ=UI{v0U5Y}EJQ#7E}#ezP=O1m zLIgD60-6v39k_rlM8E(pU<eT~feV;I1T5eJmJk6OxPUE0zyU7c2oZ3B3%EiAJm3PJ z5CI>!fG<QK04@*+5eR_`gn|WnBthdpplyKQ6?w^tC5but>7}W<#jwc+JPO*TWJQ3? z11IxHuz6WAaDiBeKmuGK5h9QR7f6K&WWWV7Ap$vYfn10{0bHOEB2WSsD1``Azy&HH z0yS`fT8KacT%Zvm&;l1|g$Q(j1i<;P6C%(97wCluOn?haga}N53rvLw%zz8bgb2)m z3(SQGEPx9vga|Bw3oL~Qtbhxwgb1vG3#^3*Yyb%;f>QNHh`<(*0B9IEYb!)x2V7t$ zL|_kGU@t`A09@c8MBoTq;3!1k1YF=GMBofu;4DPo0$kuCMBoZs;3`Dm23+7KMBolw z;4Vbq0bJlAMBoWr;3-7l1xP>{<lC1Jfj4l0w-A93aDk5yfiG}@uMmMBaDkr?fj@A8 zzYqZieFg^bXjK-YKBV}83$Q{2I6wm6GM*D6zylZHg$M}11q2}iB5(mwh=2rKKoTM# z0~e5m2q?e>6d?jCZ~;|_fCgMZ6C$7k7tjR@z|R9N?co8fi?2w{16^hTKE4-xlxysi zEKuJ&7IOY#>=X@+9yZW^-JH}ZJp$0CyMhMfkVVZYJ?JNXX0-X0Owq{FGGJinfgaut z)dV`c9&#vcv4*CCMrIyps=71>biP7yNn%cp=9H`-8Vn4`2B@c`=76-7r52UMCzWRA zq~Ox|8%-zp-VeCNNcSq>GT<MY0m?AV;AS!|U5uKj4%UR}D$7iahqlFW>19FFE0vp= znTJa;JDOtU-0XPJx@X84k+^hmq3Kcs>jEEmf<HKU(KIUNW`m9~i7!hm!Wnr2XnIt0 zvmsXtK+jvj<w#*PeG0kRp!;@{5_58JX%R!$Qkq9dizJ#Be#mJcNGTb1(kMh?3UWG> z#Ecq<D$OZba%cvFf(m{h6siZ{dKA(0NJC_Bs8&H!4ckcyy5<MT{n$>wMfL>pRk#Wo z;3IZHtAar1^%UjjfDF@|lBJ1emp-(w1KO^qfa`Kug~Srb;_Ot-DOoybCg>G|R>^>l zmQ5wj0DUwAbU?RbfKSFI%6=m>?Rp@s@!*>eh_l}m%>YgC^{vF|wLsIW1H0^jIPKPG z+O?q<8xW`44o$ZP=ne<sv^rvF1s&E&RCv3fYXu)|K$KQ@G_BgudvA$zvllkqL_6CT zO}8H6iV@<h4?r^jyeAHltBCS^Fq(dC(E1_J{xPC-hoR}#g4}vXoYN!GHAAk&AWm}( zx@O3&bi`?nN7JkWyYh`V?MZ0bHNdBb5EWpl=vqOC$q;922D;Xq)U*=fv}U7e)y&B+ zPc0%&Zyvhd(t-kF^%kP*Ey_&KAkxhx=z77s=ZJH2IhtM_u-?pKBCW1M)2<1=0+KkZ zYti+BlNND$8_@LXfQ}?8N=&XKPJ1(&cFp|U)bvE+^tPet)dlMX9neLb{!TRg>Zv6} z+T4StQ#-XJk$8Li(R6F2mLwJ=5}C9op=(YlNFmzYQ_(dS=jP{^WDplzGtf0dPX;Hd z44I9t8FCvqaW>CG*IZDPnwD8XoaTjSn$?rblZn&01YKu&Q5tbNm!s*_PEAfLPRS%P zidUiO)&VV8OiRqnA<pu(Xxg<w+VcyFiPOCSO}8OvXQvTtX*_XeY(_IfH#NDqB)<rB zP%BZ1WgD7)?bKw@ts+GFU?-Yx9q>^yM2G$!H0_{m-vy;5MC;#=rXL)3sTCzfiOIwp zatO^3t<;KCqFrzlO|u@fXHB#LC(sPgft_efT=btt)2^Qa+I5=;UT{I23FpvE(1wl& z5U2Yhnr_Y1<kHL(;`Cm@)SFJM-s@<3jiBKU>R+d)5?PPmLNi1&B^9*sk*Iug7fr7Q zXgNM{{(gX_RU5RG40PBGQ5HW&)2#*Fut1dNXXu(!lj9Q$GKq8dOEk^e$tlIe>wbf# zTMKkfQW}xf!+SK%nnj>HhKY0bCp5i!Dfy*IIjN~RDMYqFzM>hR13j;h$TIQ=ns&>? z;^NHoy!gbT^kUG3me8RK(5MR1Acr0j8+1-$Mt+Lsl&s%4%u3BGBiXEfXl5CM@2&xj zV<HWIBDn&)ix{;~hZeO;^5a2^{fY7p3z}wO#N9?nBSu&*K0+QaQb5)O>DgxHAqi?u z$>Kz_M<=%^wJ<&zeDbFTLc1P<i85BigQi^zQOhB8;L^;Grdbo-fhMe12u-gRVw{Gs zW>GZF>d*lq!a60;bZWu}JP7NR#-<lM+(B5c9GYHG{{}v^L|D5bns#l_d>|x25E02L zXu36ELluNAR!7$g8>k?xRSQk4I<zZESf?(UPAx=dkg#S0G|d{YE&^e##%NmA!F^{1 zB0|^<O{WHINQSVbmS|eFz?OnL?1VMjplQ}lCq=hCnr<y{hdnbfj~FjIp=nlwj06#O zvn#qr$T$#TjUH$kHDJ{&VXfY1S`8q_qk+cMK_xmd{`EsMLLD@=TTG13Ks22i;O&D% zX$?Ww3c2o@7+b^9wZa-xghML|O{+R+0G}xL#-iyo0G)pZ*#R97YL$ShPVDyQrj|h3 z0SRbEs3#YtCYGcUp)(mxr*2AWVsdgk=*+-W@SGU|o72$r>q9S`kB1}{B3zJ(W`ZX4 zd@*8NpM$1Xzq}~3BsD%SF*g;IM2WCHAI$_o*xiUo4G!2%hA=6VNj4dnDAME<Oh|J| zRtcK<+R6C^mGLR1xw)0`xy9)q7s6EQ!5E14T{)U=RnVP>*{PM_n1LzBqOS@~pAvY^ zoPcGuXqr@uQ%mBBu&e=1pBTzjkx1c){VGZ1wwoH7R!D7~nWumvt~n*E70pgPSRO}F zsE5KsX~T7(8vx7cC|d9s(2Zt*AyVstSTp+2%+QCo1&K9bBAN+0paNDwgIMiT(6sC4 zq?VCp!gMqf3=nlGv5uI9W`rK(V0_|zF&E7M9Z=Cry!HiX+I69AE@Iuk7)`$(tffe- z0n5+~(1BF$#A;uOt{r@UI?-uh4Z3#7OenFouSe6a2W!O<YrrOS17NLXVhz}eW`F^r z<x8v)JJ5{Kfwaqr)xH}|y8)t2NURb2(2US4Nh|^nToG%)K{Nv(hb9o83yz@aHvyGJ z@yK;CK9|5-BFE8;F;2-WF33r&jL*zV%Li3JM4565%@oT5(D)A646w73i_3^M>nxgC zg0KsTk!mJb4G)t-t>Iy!NHsi6NOMZoB{cJu3KBunIxrP_Fa}EXa}`aKYC&R2NorA^ zf(A@Ec6~R{^eKZ{<Hdw@-A2=;nUb25T9O(M)(i?rOiSSrdJj#n7^n#Xs_Q^&V-k_V z5LUaR$fE?L4P-<KR5};Or{x#L=jG>t8k+HG$?>2v3*4$fEU-f{NOMZoV>Fj&r{u%a zC+L6}kVkOqeuk!76UBJ^dS9aHRlr<Wg<_iKl&m*sT2ykgK>-G7Q{#5!do*pJ)o75W z4SpAXLer-P+PPeo8lR88_7L5jU(qybLt4;9sf8J-i7BZ?_^thcrW<zPK|Es8DmOo+ zG$&Pa3hrCCksE-@m>~<@^a?jpb4u1<G;8(I)u6f>T~>2S7K1kGFeM-OK5wMdjC#*E zvJ+*Jb5axY;!6uqEdd*#IVFn~&15ymt%a%a#idEmz7ckf9B3NNAa`q(q{0$;VorQP zYEfo>N_<j&Dd-Y|O6&%4qZy<Eit}Wgi%DS)=R?z`1k#q0nVXsizHSM-U4m$uz;=O( z`l4L$oD*7>hS?>8rcDiG7pTV;pI97UTvC*o2ksdm@(E0%IGRRj&?!TPMi$szCxxb3 z1~i!#pOT4|s$qu9VkobSPc16S$Dv#SO}TtteqL&Peo=g8UI}*hDC5#mT!O<6HB22v zxrsUPsTG+x?9fEhAze_EpHiBPL$wZ?YK?-@5^%Kunu$nF##Z#eLQ5Y_t6WiPVoH2! za%vv9ZpMr|BQy=N#h@jUpc!)Pp=FAu9@HN#EdWhOfKC7dwF9v0vq00QSe%)YnpYAJ zDH5^ku}0IQ1zFk(SqYpUk3S^r&@{`J<i~@DtKu`!R(`|6&Jj(A0g{e*&?$QH;QQDh zEn(~~c0n_OA6&T>BNbt=mBA1Rl$ux-EEbPgJcw!sShiSmN|q;@B}!l!kUmg-jYE?U zZcUX1;87h!+5npevdJG!lOk9q9x@J%!=fNGJ@QaJMX8B6bcCYmP=@G$O{3t@6@jKp z0ip}sj=`ZN8chq-X`pTe4jpl5I#eK*WaTG8RsrMCmWZZJ7osgEH7_32kq5V{;z2z+ z9Qsqx^h3iP+>1vmyul`e;wl|Yj|NyK9ySdMwit(XS!i0J;euHRfQ<xMmW!qXngpTq zKsc-^K+^>E6}J2Yx2PDq9#Cr@z10TSQ--Do>YaiD^o$SJQHiDl>N3da6As_h;L=l+ znwE@1Pd%C*Xqqi7O)bTh1)I>cKtme38Ucqrt!SE{A%G{vbzs+lr$Fh(p#yhm(ubx) z9Q7_Dq(V{@(mn;9)Sj504!czirLa`+bTmfwJ*sJ%Q?e$b*{7V6SdgEC);`0~H4Rf& z5yoa33|%u}x>B=1hiSx4$pRgr5j!OdbSy^flq}H67O_*ZK&LarLhfIWg`Bq#J0%Nr zmO?D#PV897@ddGvOL$`;JNIKDmz>5<$pUR|kA+-J77N)#9t*j;C>C-PP%Pvkme?ua zdro2@*ObIUZtsYNTw@Unxilgca=k+=<j#gz$mI#KkQ4S}r(}sSGcd$X$pY;Oj)j~q z9t$~mJ9Y~A5bfA0S)lE(v5*6=V<AUW$3o6$jfI?X84Ee8Fcxx%Uo7N^u~^9YPqC1r zYhtIA_ONB<f)4ke(!*U`kdc{Jp;uaxnKPwF0JMh$G-D8&ms#kNnOrhu@)XU+DH>T$ z%nS_uQ#8O=|4!(UaLG(eFG|eKjR%cjK<;rd(ksYIpVBrZ%N42=bk4wp9xh1Z0Ve5! zA_*F505$1Bha<pLc%Y~N-~IvHh6PjNj-mvVYE$FEd%WTy*O0)}dE!(DDPmyi+)&gB zrB=ijmF7VVOwEHS@`fq`9c(b6hc7=TB_5I-VG4Xu738Isqbcx3QNZr$XbjUD2$cbC zeV@=H0X{G;-Yo#!ZUWr^9-o^7QyPGxR2oxhaayvj0Zg?&F{%w=s)M1bK^v+k^zbAn z>n2s|n!pVUg-V0=15fCY2HoNj58qK7U!0d%P@Iup0y8WOMYSlXi3*xSNzN^RwCAAe zN<pd0)`)>2D-J|BfQSeXVGbhvL4-4iFaZ&sAR-7vxPb^O5RnKXqCrF`i10CDV3?59 z!=91@9?+SRrEkQ*06J_Qa-2CReHTL#b&nA2md$u@W{58>%A8UQz8EF905m?42;zYb zQ3p4(Q!7e9d_nLzw2({_pPZPSkqQzOMHbD>16{Y9UsMT_kw%sQ<*bx=6nQ?-k(=>} zIXUqlM)8!`DH^p?G<w)m@{>WTA(^^|tvJ85C^>aXmYNC!Lk}D1%G$jADZYV>JuDz? zQ!>PRI6;i~y!@0@i1%uzXk^_2og5kD;N$9VrBDF5W&&LKf-eFA?L7pId?|oV6)DOr z0G)aaz9a*7XJ=v#=%TIsG_Y#eVZd&lKCZ=6vTlP*Dvhk`%nS^gjZ@&3v4rHO<in)1 z?t$!w2(?Z@sLE)|dIH+-+i1kVP@0sO^^}=`0c65+u%THmA=GOK^%g?C2UDe4A3+*F zfe14e1_p3=WSO%tF!%;CLJX}18=7?$WHl!!2c;J!7G$7?Nme~5sX+VyaU?AQ3E9gK z8^OMw2zDUpzV1QtO%|HxgHb%63J+08Q1<XArsU@5WrAW@7nDq<BxYd?-5yTJKzmVY z+LRt)@Cn-S;H`gF;3-pGgDH^kM^0<#E(v5TP3mETm@@?u3ostIDgnhaC|PE-LDLZ2 zt%PI0hZVHmK4nS|JF0uKR)C@t9Jrup&nUre6Gm#ynyAdc0CNU7t)d(xjS_!grC=*| zfeI83*liXNKV}^?Vqm~-Yt}X+lq>@GIHq$t*wCGWd`LNpbHGZ$&N&J4JIMO1!ypzY zVfcY_gdh1?3vBQ)ka4I6BeI(}b7@l61XQ2(tWHQkKCnI^0d&!JW=U~sP8#@PGlk^* z++5IAgP`(D0o4E3QwYy2$pBq!2pU%dT^S2H*SNF*I%`;*k(!gEP@D`ZofOK^E<rEP z$V|>qNKVYjDaN>#0CI~b=)_hOD?!Bp`0VUrJy;o~k)_6h5<fix=)Qm{g_IOL$X=X+ z94WA3?G~9CJj)bRqJhKy8rTSkg_(2<MHJuk(9vE<$qn)}I3r<6$=G5EG_DR=8kAg; zkbo9T$dV}jg2mEXa1fJT4C9C;B_fg>a$@NrMg!q+K@|0bi%&@5oiz`XuR+BGQf_92 z*o2zpvE=Y$A^D(7#B(!C6cQCcHzt6_=P+|0<n|?SyP-V4C>wO<drD?eYH~?_Q6=aG z9#F<iNC+y;OGr>aNGL#ZbY`(aK~7?FY6?^;r&6IbFD11IY#ii54OpzlmqqABBqS&l z<>!|`RfB9$&`3ytNMsg+b-}KrhKzY=TEWta1|)}xV)YeDs_DU@1`=*;#taPfOS$~U zWHy@+<qOEcrAZLqt11u^U8tc!q#iOthaH+OU{M5dBXdw`9*PTKxmbz1VWE$liik*# zC~oQ@SvMKsBZ@T#poW$pa^VNgBPi~Kg`FvN!%he@8=_d-gG~V$A;1pJ+^BwLj?jxh zu@2@-59<0-0@RWLm0uWT3QFmYTNz;=Q>jd6huDNsrh}TuJ-j)YC8<S;Iq~2VJW+c` zJxa+b3O1mzUf88)DCMo4J}5JyG@FUhfE+xqxJf2CZhAN?a&xST3lfu4r}S_X6s3Y^ z<)-v-<Rs>$mnNpCPU&GuN-WNp(!&mFWai};PwDL8%g9X6$N_Di2X8EzQVZ+HpoIcj zU&fmgM+l;|dm}6u85ltA*vveIl8nq^q%x#3zZ7(tCFCyN)Uwo~%90FFZ3q(2OHEAy zRff6wDWJQDK^OcKmF8horg{n?8L0|s`8hfH<shvkMX9L@#TohK#R`cax~L>IFEs^x zi3sSrD_C`!nF_t}G8c4BNn#%K9&?Ck2?<&W2@2q#D^^GZ8C0H`laicRlmd}YDoO<1 z2LozXN5>{4DCDLl=7DO`#1e3I3L05aNGvEwO)N^xOHNftNi9gtODR^!2l+o0bS6|P z$SH{h1v#0?;Hhu$xI!K%1{Cu0OB9k)L02smr{<L)wZp+3Fi)z5BT8Y=Lq&5TiK3FO zRelr683o$dLsa=72g9oT5J)srH&LMmIBl#TBkWnhi5<1FVAMi!EUY-1O5IRaAtr~R zIHZR-Eo6iOTS5XTC!+=fQ*<nf^{{YQLEUhOp=tSnT(9)d)+)l`PNk}w7h)4e)tzLF zGE@;^#>l`BRGP>2Xv&;NQyLykX;6UfN#%MprRmUuLkkp;Wc>X?g8Y5rwUAVM<tIS~ zSBkM{0F4hr&Zg7LF3!NBAS*u!hfH)<eiCTUH%K}b$-eOXqHJ*8jm0!)*C5CE)QZI1 zf}B(&X$)_;8W<Q@8dxBEBN{Rb;_4TMY*|rh9%NQX5A6CW&=4vr&C@H+K*<QB;Rs1Q z<b)$~_Jfrl2T3kJvI;@fX%UDhHfCUew&Ai$jTsm^v&xJ?(*w{7tpcP5ZS;a4M|MGP zr(I=YU;s6y5)u#zA7un06MPdexK#!^C?pl!+VRdW%2R-hM1n><pczI1wjwbFG(4Ax z(QH!ywdKGK!c+w<Eyz_kT3QPEMG9J4?ujL-<%yMATHvM<xGt_#0NrI$S`29tLgq}t zwu5i1S3p`t2x>Bd`XAsl52;~_z|AZ0NIh5&=<Gt!xqx6L>ct94i6zMy2)h(YDho1` z6LTQ99_N-8mw+2(CHbYv86f?|sgV05p$;q0%*g?@*bp8DUFWV)0zDHFq82)K1M&no z<WfNPgPfU=5CT<Lj1tt4AswupSv`f&;?l&NoJx>mic%F|4gdu*YN3>n0QNaZ0$Lb> znzhj3V({=V$U&(U1v!bCphhw@K8jP5K~o_LRw?<(RtYHgQ0s%YuP5j!ctYB;MIZx` zLHD!grzwDnG;nhkdaI-Y^f(pJ&5k7*sc23`DgzS|py31R9HfFyIDo`6Xj20ykU;A_ z6cB^c3g7@nzVoOou_!Y!DF@W1hcv;#Q45WI<iTukBbo)2$Wdzc9*7VmpIiiGA=H6= z_>2L@I4d7&W<e=8d$<t!2*o;BL2!%Yf&iM!5zSVRV`0r!H>92w1z8ovsXf#(l#H+y zKu!K+jA2tZe0h)yE!0p#l_J8g;86y);*z5LymYkT1ujH+h?<<(AjKq#&9J1zWJ2Dc zXAjH`2sgu$6AP#`MzO31B7{(ib5NJj1f?a`!;Ms`qk4)RTH2#n1oM>`nZC*rFkxUo zI1}chr-(wHb`=Wf^1}hGQcyy&=P^C}JiwLc6hu_xOp)l*n7k-8FKU|PgxAR^VF^o> zn&hTR?8UYqQn3xG_EBu@!6HwFf2lYyZbM!FOW|(Npauj!g=B<?P(lKFa|tyW@S#eh zI0lv${HYrj?9c`qid{W$Q8IkVosa-;`=NS|9V(7u7tCKt)b*D(e3b&>W+#e!dPveq zMEJa8V_@jv0S(Az=B3A1fY$P$EKKQ<!rknJhaaf+&f3U`wx%Vk5>)FTFPjp^(s)Mk z9xS+P@CCO<4-43xJ<P==pw&IaB`LZo`N>mKv93~rG!c8)GV?$q{LrGY9H04Ejp+g1 z_6^z=Fr|kXWLXbqQEFOBK4{O~l&p3W1_tnzY@ohFW^!i9luocbbX`*qR)6=fflWw; zuGs^bU!GW$H>CsWV$?`MpKOpv#4W5kccQ!-f)W`$)G!d?OronIesC5A^`1ZjLg>w0 zZlsP9igRIUXCcXP3kh(fl^V#sh&USe#gIotdT4DK;n<+kkR&vDVhl;5kFk7YgpIL4 zhayqC{h$N=5;OBaQ%;b@7@&zF=%}AULIQM^X+i>IQ~^8!QJjh)t^hd|BQ+1w8BQ)O zDgv>K67$l*GfxHi#l@LPIjIWJRmTd@t^0{N#gJt>=p8RTh2Z?$ROBu=bf^H+>g2>c z&}c|vN@77tY6`eID+cM!2aNy}gJ$GPb5g(qDoLr(l@%$_e4JSf9dbZgTA84bUYePb zs!*P)04i$|GxHQO^2<T1;E)CvaICU{xCA`zlL{Yj0iFMx3Jwlz<-C7cYEfBcYPo)5 zK|ws|BHv=j5K2LQW?qRxerbsU*fYfismYmXnaRcA=t)e@fQKY#ni4%w&?oUAgAFM8 z03rlQt-C<A2(jZ2JP8Sigaogjz{4CIFbS-s#$n1!4Uj`&Ww8cQBNlHWMsZ9J@!H4; z8*ZeCKn)spXhuSD46Ho8M%|E!r*U3I@k0;IZ6hNdC?3aoN!=Kc#95r7h9w?#WP}2l zsqqhW{q71$jo?)mNvR5C7SpKVL?ttc2-7mOVI?6*8ID|Ez%zO^s@g0;Q}os2NZL?5 z1S<%HP4SGWX=Js58o?wq$+LPu1v_~CGCw|(NpFtJnqoA^v!;Vw$Bpd8teGJDLA#T( zW|=TBK%3oJvq7S0Ge(MtxPTS#nnYK`C}G({f<A<$L^qu&E?SI8jtPv$GjcVk2+LSF zTOFvOLxg%FLIpirs6(;^YUdM6(*|c=aYxT93WUr;@fIutdEyIPiZYNZK9fn$K*6{& z5Mh5)maB}w4P=s9mnb3KLyiGNq$u>!QZg&A43eV>Z|-6PS6+IkApjF3>?<mD^`M0# z!LA-RBLjmAcv(Mui9U4kwgPB<V_Ifj3TOrw>?hDtLdePs=$vgr0`mF{s9<7pa(+<? zc$H&5$c!R|;?$hfWKchg$Q%!{uqag_7rfLkF{d~m+*boTK>@U%GDRUF0X%ma@9Gx@ z>SpFc_7#*CrxqzB7p118=9OfEx``$E3gEgWrxKik6H80-L8thDwi{I{Bqk@P78fgk z4Z<}E%a0Z`sF8{x3yIxEP`N~G*NDWW@?DgtRgm*w^`!_Xf*=c9K~vbEHKD}{sGh{G zgbbf@fm4fKaR&O>5gQ~;p;!wmoaa*4zpUVNfMQb*RE!KC34nbBU!R2TFCOH~fnq1j zcN?hdI|Z=s@Z>)fNAwU@PDGecy;eU8%00-#(}Zg`<UtBp&>qJZv=r6qhw+(AdaZtu zF15NcA}V2dUx{!ri<(}D(SWdq=+-eWN?{If?SV&!IKibesF+7_3M`VJksK8mH8*l; z=%bKE#hL^;RrXNVXu_dPrB(zq*$`?)^yIk}<>#X80M5_T0i`bma1jYE^c6Jniy&O2 z5>pd4<p$m42b#Ho)y$9vXGuQBvOM&mN=clyqokT1JnA4J`X5yG5L<JTRiAN~;pweo zEj%z%EXa|tJj@CXR8(I=#mMjx#r2sqb$zEwRO&$WJ&}6I3mxPwc^I`lvLuR|V5OBF zbwh^{t&72^2c1R*B@kStFO|v#RY>?@lnbCK=N^{4{1Wu@OYZvRmw;B{CYI=c3)$2P z(8-^vd7vG_pk{k9I3Yt=phcQFpuNJ--Fd~DItrO3pe=jFC7@-j@QI<4d{|L|J{1HV z=g+BBD9cQQmP3&BxOxSZ=*vr?lR;^qGe}`8UST`1D$xob@J3AiVDLdM`T><C8Tok$ z3Gng={V;_rZ!`FC9(0>>9Bl&vCE@kZ+A>Hg@CB!9j76suk9viI&828_Kh$a9wuBI7 zqCgETYzpxDkT)R#DN&)dT;MV&mcYt_4C?w#2Ud+jwmaib(I^h;Ax$gZ@K8q0hFJ3o zYADGg7n)eqqc{~7cGc7kJG62%%K?;U!2{rs)I+5rQxg(&o@6>6TB<?}K`nRD7NPi+ zCXsMlO^p(~go5nS=l9A_0&VOBtz-u+ut$l4EU<EL;LHUD6OOhL8F}^-=rky>!Lu+8 zMmpp|5A#5ai2b1D3ZS~61hV4*JgklPYzs(rlAo7TsgRcn8U{*)oM{2cw9pCzGAxmh z09s)TZpI?DTVeSPx?2|cfEqmoH)t;cHUSUbZUCBuhpl7)&A)@jTOb2tpq&TM1G=DN zQlL3~XqAWRJn%poxR(#xaE!6u0xXMk7z8LDA;;yw>NZd<s{q?R0ks(HKX}Dh3|_N= zv|kyjx)^%QSW+rzBXOz%Y?(rGYB9`k<o&`RZ$LIMmxDJ}fV^CkT3nh_0$RZV*^mO+ zXacW6p|zxJ2)^h<Ns>JT)IxI1D$GQMd%Fb1HP>b`Gda>?Cy;|-t$Y<|TELrLQ3HiI zEo6iZS-qZP)C~{F0)LeLHAILE|4`iLxk+8Wbq$`91)QR$GBYqTfB@{wx1Pb|LNX$p z%t@j*)Qx6q$ZQ6vA|Sb}2FD9LIw&%UjPPTJRu!lXIp!i9XZ!r8Zn#xKv&R6`P$=ci z0J?*4oKdO8Y5=hbwLL~s<8m%~<5B{$ISkxJfnCE6ZY7|k=`655aAQ!~9QUDI6tyxX zFbzg(Wtw2NGJ76@nstz~i4}@V5=&CSTW^b@b#qZFs12B!mjc-oT3QSm?MPM70^QM2 zk_y=~4D~T&$FPn<D!6?J-XjYdch1c(0-eGFI$IGud74<9U91DzC=6ZqnhFlJ<ovv{ z)S?pbQcloWE#Luih1|sCjLbaH&Qj2HZN5TDQDR<kT56F3xXA!&cco?KCFX$Eh8C1U zPmuu`4Uz$$k*tuBUyN~%iwQYCMv2KD@{E8aJPph!LbTbyBTXEsxdj=C#hK8<fZ=5# z2Q1i83n?~8WT3bZ)~Pf$CvRZ32jK>Ut6>c{NUH>;;D87rl;Rqw%Q7-Y-JHm&1xr4t zo??dzWA&9gnZC+$1cf~~2ZCY&=AW71ZF++;<)Q@gAa*C=n5R<dZ3eLkwVW$Wf}G~d zpOTsex@agfKM#DFJ?iFOq|<G|*-QjYb$n(?YA&jlh-fAT258|9D$uz=yVt>m52BB# zkd#_do|>Ackd$8nImw_HG^h(IgFs!<Vg=YSlb{j_H1q&nagS7rf{X?)S;$B%O9d5R zpes7^Kn##6kg^bbA{OK{g_4ZaJcaapm^^G@3u16L5xmyFJWnApDZeaLPr<PSbv+2$ z=x;&-$ibO;#U+V3If&Kz2?;75{=TlrM<eJdc;uIZ&I$vU;Gi|Epq&gQ`JkGk2(sa! zpeP@7{63m@5+TcN5)vST%f<-_3dm;&fHx6<{0h0{L7}*^xFj`KAuY40xI~YOOHWTB zIX@*;7knU`m6ZbM6g4g`1qB5KWd-Ee0f`hBXDH}KDA=SXmu9BeIiw~-1|RfNlXJ_{ z^fL2G@Ehl!hZ0m^OQI2mr6(C0D%8cQfJ%(goK%IJ{KOQ60`P#jF;2C~DGHbaf}pc; zxL{?T1|<Eml%y7+rNAC;BoD%rLx!|aWRMGrtbBMemrG_z*#mJ3+8CU-D<t=&gH46F znG2DNQ1cE_c0=EYQvw><%1DJ&<D)qVvJi|8ISH12pu<tVR4vU=YU&;;n+-{KjgWMQ z-i9EfUDO3OiHxQ;q6GnU40sa89#kHrqLq2+pnY2T;89mXML25MQEVDYXrV7BC2?uq zTyjGSvEd#$q;#OuRiLww30706!9to=ykS7`Q0NBghKeZG3K-S<IMm?vCnvlPhh=?8 z)xip`*-^}g^%xFQ*Joac_@=b+fa2U9Y8s3;47rgSEvTW$4sFb!I1Cn!*QgtgTEw@P zP@L04ibmvcpi+C?5@Kc@I5e`*4hihhM{U0mY`dX`Kgqh08%eNudJlFPDK!CQ2f|t7 z4UjZt1@smuv8_*R>TtC@QNxj5mSPM3|8x$12jt)<J&pGuH+LaMK^ntk7=^w6iKEG# z1P-UHG_>K9kI)mG!0it%(7+a`7X=+V0SlrxN<cH3(CJ;6GNi60zFuX18b-g-3V&w` z#c{CCnGL8{Z0BGDwH;!)9k}yE_-t=3q%KnqT3GNPTZfv$QKgX6VV1H5?6fLH3-ZRw zvZ_JdEwo*H{*c5W3pO*W7S*Y^yGA`l^p8VWP(gbIKGbvpYF$KKqah(|1PNgZTe;R? zQ%I==Fcz>v9RltT@F7|~pal}Bp@1%l*B=zORQ;&yGe#>^&oEj+muEt}PkJ$k_0AU$ zNSNq@-Hy>}@KIJk&gxvCW&@5=g>Z=iOZ||BF?EebE@)uwjdZY|NJ(jwwKu$wgOZHs z5rvnJkg|*nBV<5EU@sp*)f!^1pfrhe(|a%meIXu39U%tSs)%V8v;nCe8}L$l@M<1t z-3S}BEhx$dEu;eV&p<V6abhm$!h<5D!Cv?xA4m$K%qZj(lhp$XH}Gsl7l=i@RcY9+ zSqj7!Y*^+CpM$E0%KXwI$mlHO%B5oP6=|TImBktPpfhGb6NUMC-~(?!!G`k`9R<ij zDNv&Xqz-<d3hJP9c&Y+?A`&#}4LyEFK?`&+x2}<avle9Hus9QR<wHqEYNbLc^qAiC zQqV;ZC8?>9Et3kcg<7B`3ZV0IlTwRIz)QDFQj1GK6O=`%iN*PO80Xg7P~vUWB9k(s zAkj1fPlCW$vdm51Su6`lE~zl;M36IKvuvW^wIRi5F^(EEIMk5o=lr~qqWm269S!Wz zqj^wlhLz4+sOx7HL_0uF0aq$UaYzqwT8Ib{^ifhSL~cQ?^EhC+2*n|=5IIh6h#*Ev zkyAks4RR`Sq1i(V3kZic>Gc-Yc26+GCe*qMOCg*R0;;RhKuas~3sND+frA$?LAIoU zHavruRX~^1f{Ir7f>{OdESf@YVo^3?t`DLEHf@-cnv-9SeiNNA7CTW=Ob=ES5Fb4t zrMx0*G3HBh(<x${8stb=Y2^+st*8))D2bD5rV<WSDy7I!h)ozN5^W?eqKlD%L0LhU zQoyCG;27rU>Er0+<Er57@9XR6=i=k(=c?cs<R0ql>K78M5aO>8>>9$Q%%!Xl;^C?g z8tfXR;Nb`n4{&w%bc+Ou2fHc+I0iZTx`wz01zT}(1%|qYy4tFzCWD3@)VYE~9D_pQ zT^vJPZT<4|Qn_6HT#$Gm@pxyCP(N>ote3wNlxxi8<QVK4;^_<37aZam08!)P8s_Tb z85{!PIR?2pLRg-D0ihu-o<R_ve`p9YHy|M1(*+^}vLnRRH^2wvCUwy9u%KHE)VZLi zrGf6YwpE96;z1?0I+u&9Q>eSG0auV~V5n<wh^-M<K&X?Cr?agAN&!C_H-jr~kV^zu zEz4v{>ev%yy~1!D*&3~56tNCGQ=bW1!~$y8Bi8IGfLiw{iIoZ(1{Qh-mU>181_qkw z4f5jD63CgB#tIqvrA44yGg3i!z9r^>+Tr;*rJ&_7;4(H*p*S}&Cr82X&;|v_LAMI| zWvN99uBAo!1*v)p!LXLSLPA1natUZ1U_t`oOiWPs3}hL2SG8e60(jCD($ojF>GMlV z5bFbBS9X96NlPs%f-G$W)sdhTIynlU5~4h@QXw<11TuRIx^57y*_s0GEkJg_Xau{u zDtP(@hXjQ>hj{w?1uM7(`TK%J9DRHoK|-2(3JRdfc6cRR489Z(QU9V>-sSnA;06Uj zc~NEw=={x0NcW^TwFJ~nfp1JfYTAQqEO>7eI+~{)0=o4NVjQ8^L#@q8(g{gULYBCf zwPLLNBeOj!O>$0w_DT@#QIIoX^?W3_Jqk)Y;5A58OsJ@#Nke;x2z&I=QEsGMgi=@Z zutRefitAyelpeWZk7#2dhrKA)42)uP4-PeC_?a~!!4SPK$Y_XS8_b`M)b;1aAy*us zgi6m4bUzvCgREXh2z676KDZ25fE3q6l>VskM6zx&LWvux!a*xJpp8=$H^FjLI(5Sd zcJ3T<Q>q6hNZ40Y>Khe8Y{KXpp*5m<Y(RIomn1?L$U<x3#2oO<EO;?7Y}qelhcBol z0=daeA*mAH3x|#_Q)Co!aAh@tDr@lQas!A(+tKA>96^QFjqKsj(}(O&Mon7?VPr4B z5?3F|iHowvb14qbpvU`+gao&o)C$-Q)u5Z!zz2O4fzC4rpJk4GcV1!==!kPr<byhY z3Z7}8TB9fx)U?gZS4b@?$}fTqlY{qjL&n^pO;nTxhM;kHa4WYMbRBbkZYtzr=bX%J z(C(egVtAU;z!)kPKzA}~Jn$g<2Wv)OL~>j}n`ek7!aT4Mko4XGxnZwh;DZb~;q?q2 zXF-x8D98}gXsDB2R4VK$AvR$YcIY{HDrg8u!9PzoB^9*i3%mwJ5j-#i-aG-irZO`{ zA+y*@!O+0W$lSufoGUWF6m~ZO=+?o+JcZQU#LOIpg47}fka}>-ytp(eD>b<UypmoI zw5<ztWTsw0W(t>^k84D{YeYzpqjQLYm%o!juyc@SK!}28utIRCldorptBWFPG9ILE zL{4I`vTZjwGth6kxEe<^qnB+v{6SM~;DV^6BsB$Gmx0b_NzO=3&IXlS3gC?(prc5k zXE7kug5tEa7}PNbbweQgGjy}^lXP=3i%Sv`^b~L<h{Uv#RLGgAAR{u1K}URM7H6cU zKt>r76;e`55;H+tSPF{rOY)QRb3m&v$}<v66v`8e6;kr^QqlXzu2k^{N>SKDB{Ly0 zaT-tMj8S}xVhvE##4iZj5(5u%6xYKN-W8G)9!5b9ayqP^9Y^C>Mb0}tw6=_J%uuP& zZHCx{QRt%Q#^;`S3gDYyq0I+{w8YGuVsNGeHw21OlT$OxKwE90MJu>S1u2FVs|g9N zK|%gOiqO-JK~kVR1}<d5`4N=4!5hyYIUKaL7rFHU+Ut;!3N<~y2y8V-3q*B3>aHqS zJ0>APCD=L0F~r#edA=V!9iNh#RGOX+DkG3=LC?I76nh&b>Gx2<JV=DSB_-2xA;KOt zr?Nq!1jUW8?D>uI><MxtEPG~yM`7s`>nQ%|p{vbg#10Q~B1MfK4p{0%@ewSBIITz> z(#I%3kz+^|v6KK`20<wYiPS?lRH#&(wL)ydD9+H^kRr(`3b3%{$|+XREh@>#K@EHC zN|1dIiw7l=<AJi?VLJ{_qLtYZ7r|32sR}uX#U%=$Qx-r=l0YpW$RSj@`NbumRZpPH z!*cS|AqP%@rUdhgK&N^kMiF4!elt^x6*OSWo)Quun^Ge{AR$3V0diCoh!+9sQG#+h zd}&*Xrk+A*9_VOFG;Ior3d#8em7qoxNCVQ)4`iGw6TX@Ua(6075vayMKD`TaUM{>n zhR_17F~BPi5)wcPkm??UM?vz%3W>!E<*7M2AR1%|VrmB}U6hJ6L6eA-RT2_FEBQc; zO3?gEeo<yR_{0dXE1?ZjJl+DkF|$}9FSQ)vV~9WD(>MyCYfQnbj6m){Ix-VF`w|JV zlqM03Qsnf|&>l!?HnPGqvx7dnz>k)UP;)LfQp!Z}1uVl_lbm5O3Qmx7VO5(3v56nW zF+Id<qkjnbQ8$G6(egQJKw!v{;a@UGjT5QsPkBflMifDi+zcvEz~up|zX__QUpSOd zHyl)nDw9z|gGfDOgb4?%@JB5sSU@!biW^|%LpyatBM9E~rCOzf;_Mz;SU_GlL#jfw za0UsYI2abrv#1-+(vZ_Pu~xw-_V?gbNrunKEPd8e*Z+p-r4PZz1!|~}p`VPf;zw)I zpe7b>(DkB4`8lB04vOnwY32ZR!wmN!#-JLW#v|T6kl@4Ut$+^?;sk|6VrE`y5zbRj z!0OnO6AM7AoKRKucqzG7B<2?6fSRpErO73wMc};>s3%Q>&gg}#T!OXnD-ma-LH11+ z>nXuv2-@V7c+@ZltJx^=)gy-80np7{_rcMKF}z6eX0#Vzb4eM^#%S6>od(`!rv^Lu z4Nv$yYM6`aa}^>qDWQY|>Al|`c(iAs?R)BjB&u8BfWX+<){WFQ=6W<`&Z8*}kES#z zKxfvGL_n1z5*Jj4b3K~UbZEh$1quj#XcZb370#{(1_qV}7Fr4#XniV8Sh|8t#0@H! zVe95IS(7^4LRmK-B_h#NNDp&nit&`hte4CT46##sL~}ArQi~FEAO~3KmKP-!6r>hS zNyK_HN)Inobv$^X{uJn4p*=_?4kQhs7EIuTmeH1F&ceU|Ix8K0xPgO_fdMk744G2{ z9llbUl$!~jy@AdmdjvQuXecBk6qcrzrrIVaCnh8)Xo81wa}z5Sa`MwbRTgATBuFWE zz#>0C8?jOnkq;9R^ox^=5=)XZ^mB{#U7g)MUG!a@Lp@#e^<eW4@hSQ7dHE&rpyLb6 zQlS^#fd-vH!yS;u0w`UB#(-hwg2p&NyS7qNb5cRGPLK&9kRH&0H>eN=xv3<hv{)f8 zzX-IVv=VeFXkLB^_^v(h)p)5X=)=fr#DxoLF+!{+NL<NSlhA+WMTr5_e8>rp8x-fj z>R(loa{)#H3vw!~?`%PC^rJYghkRqm2t8vmk{)Up>ywytQ9KKa2@C4RL>73^7nIUz zpF5C?*B*LWOgOgD3tDIii?twyrtEn}3=H7H5$Pb@84#OLOHeHPtj>qzD?nzjGQrDn zK+D!kb3hBQ!HxN11yErGxxS|av?d*~oE&v2Ii#@$E=fU?VxZlzpiu|ds4vp2Ep+)U zbSfNlM+3xukaFZj=ioKzph-BiY8%u*1n<tp<^c49FO5FlL&+aK^s*EZ#et+0yplL0 z0=0k;g;im?$kB!3O;|AyMR_p*@&c?t4xoC9K*{XXH=b}TP$^5#g4l$fr7=uT)nj0Q zHO!#JMvnxj2~q-@9#4Vq{s5iHT0A8&>n*qmm-QY@L5h?fcId?+&|U)SQR3)j4d~GA zZAK`k9wVLqa-A7PChH*j+2UM2`N@en;AK=O2@IkVyneF|PZ}qquZ6g?rW(^=q(XEa zW`P;O2%6N&R{$;JD#=&K&dV<cuLXj&<6u)x;8q&!)L3wF1wQH({V;)K@GcloX$jhG z1f8y-=qv%~1X3la;D+321HMTaTCPJT*+8W#+GzmTPeaFX3;}v6n;t@+06|F}J#@1b zlJB}PlM3Rv4fF{jZlozU)RL7Q+SNtz3#=@iLU~yVawe=S#c|jGN`Z(&4Viu><3NJt z)b(>b($r`oc%qrQSpg;9dT4GN5%EB!V-R+c8xM$WXUJ)f4ZQ6P?W#+dAYor&)M}7{ z255bTt<J)F+`s~eO{m2@W~tuO=#O&90P=-lppjtk1PUcb4L~~kh=ZUZ?dpuo^o*R$ z^o$bB9y=%8L8u81NgU#}%cK-b6knQjhulPhSo{uhFsy*e0CzIz5xOX49{sE(97j}2 z=!+mWVI*|W5Pe3)<SCksQ((7jz}se!<IUMh(u?v-3s8se;cB4gwzDVa=YVcK!J#Va zDKi5D$o%KvMkKyIYY#_qeolF2N=e2PZ+%#66J|QZ6TiWUEbG5DO2ZNEB+4wy;<AAq zhX}O?6hu9&B}w@yl{mZy4Fu+*{Bry%SX1*#ig1~Ne#vZ)a!4X{zY2KhLrV*CNsTVz zk{T^7SmOaY_rZs%1+{EImxP3-iVbMkIE&E)B{X|P@mdEN5*Ng95Q>GcR*Np!1~S^= z0w%DifH;y$d0{EU<BDWDs|Om35L0BprerDDpadTxF`|t^_sF8gkd{_KX;MyRGWgCR zYDA|u#69TI$&bS#NJMfYIRa}GhJa0_C<-ACqiz&>kn1dWcqWI$AL-8O0q1r|8W0CN zBTE`b8qmO<I?&dAMwF9whzv~*iz&9^QidNFL;gWA;8SJDJ}X9DPd_}rD7&~IF*#Kq za@Y&8C&!R<VvGTf6Jtgr0(wf%07L|GTMSl*RD-h^DFqM_lbbyp89DJep!?OP#7@!h z7VsAF7EdjPG&-^>j4?;emqYS<1<8(qnu#cOO2I}DUof<c77UO>q%hJWr0P=VqC)YY z2Qv%(Tq$@dVF+t)f$PnP(OAJ%O29&rPO*Zm$e0GsVpJ|Nvbt?R3mQl$EGCoe3><|8 z>1~v(5_mHQ(nKNM2w2AlQt&}~M5LI~!vgBNP4Q-ec&Z21n}nG64cwC>C5oWNu$Cky z<)lJqA5c5B;MoVn$SYd=JE9IWK2Q9KP>3T#!Q)lbJ0=OVF9LZw6Es^1S|$hX>Xm>T zh}hr)-ocoZ3f|)jT7Z&~s*sQXZyurS90YA^%*<1O-iQYpR>~{}EdT+n{(xLaoB}#O z7_=i8bc>w=cor3OTmtB91d#Gn#F0eEM|6RY=RzL#BKm|Dq>*m$Xb$@107<88A?NcR zl5|26+(}S|z;VzAwa(|dL~e#h43vVL2^$0J8(awwrF+;j*c?YhETd1w@S<cTl={7g z6Q0RXybWuVJ|#D%5u=^RF)f5NH37}XDAx91Q$U7~Nxc8;2X%ev1uA8zQz)T^4mAxX zBUC9KJLk3q4aAXN8D?QmO<Lq0qD6{EGQx?>sZTlTh7RngER+fbCP>&<q%?sbO%|-v zPe&m(p*CQ!Oh1|6IrORobQdn+bF;`Z0y%iHENx-KvF0Eaj%t*Q1dMHg+Ho8~gEnH; z!v{Vu3*It8Ex*wvk-Y;e#9c{FSVW90K;s<S7{W;$9z$!W_H=}2WagxTmnwq~j)9zZ z1-+aD)LP5|-|Y_C%M89dJ}(orQ5v+aBsH<P64c1c&Ckm$$uCmS$j<{^Pn?&MSd;=? z`mYJz09TX>S_PtzsF0Rgu8^EqmYP^n3~pp9fE%Fs;C&nLv$DWl-a+In<jBkl2c<~x zTA)x6i?(U=9F8ai&lGWk7p=z^mgbkF;+PGBOsw&z=9T8A7A2OXrr^J;`xP6?+(OS$ z@HzCLh)-0=O{~bwEzMOZ&a49OpD{9UcLH}IK&K1kfNl*bDauSOOUzLy%S?n`>>Qq& zq~I9fsi)uvTOkgPZqP38{1Syk(78oPIjOk{Nu`jBLDF;blM-_j(lS$XQlRN0#L&px z60~M0AL$5V*a^p(xu8uwsRiKG6$&|-xtS#jpyl(4IYp_7DU}L|1qC^k@NNM5v{zO> zC<1RoCJMouT!x8%QPL~eli>7PNOJiDEnKjbnin7`GnZU5P1#{Zd=}V<EVQ&2!NvsN zL;>xerlu(PItB%U`*x6J3pt5J>8aq<16s3Nlv<3jV7MqXC$R){91rBoYYhkmDbyf` zUu%L^%|WhpfZCIo11i%%CPLJKPCx@EtE5zg%)HdJw9I612?)6Y2XvHnN@7W(LT+g> zc<Vz6(&}VTRsb2~nOBlpl$TlpZIKoyr{*OVW#)quC}^WaF6ab`ynN7DL#09{=<>hR zlEjq!l7s|>4A9yk@U_*+i8;xoIiOq&&SD^QK|A9z^GY*IDiu--OCe`ugVaNM^@XLG zMXALKsJSY&EHw{g1xPz21VH&4>{C4jPf$RBo6N-+6#~dFkTd-iazRT)Kpp)=g{0IH z&_Q9z8TpyXsd@^Ypo26Lb8;#bQc??2^HPdIi=;tTfmRk4B!blDL6-g{<`n0{Br~DG zqmZ1RmzSCh9-SyINKH-A<KjYGLx`S#BbY{$$Y>IQ7w^!82|uAbjG&o$1Qi;nozxK= z4v?y;15&S`kHT;zB*4m6)FwO|L>MI$VNLgmV6({Ra3FfjQ0IW#8UIIksg4rHJtICe zkkc!b`ui6lX10)>Zqb@&q&TaG1JvIrsVqpH(!-Wml$ey6Jf(-NpeQvhvtmj{TMt`t zX&Q)`<zU9Z0BK_OV02L+?oTDt{XHmsBZyh3V;`uKHyGaAsf)RFg$vwBf@}}Lx>+Tw z3bX_k+}6gwPh}pK+cy)jY?k2%Z9*(4N(CK)1!@#w-y?%$?J>{>Jk%~J(k>Fc(xfb+ zx5xD82B+pg+hU-;equ^iX>my|sOt~Dof^7(0JN7lGbgneR+d6*VHtdyQL=y5N6<DL zaG+fV^~X?MkC<LVE620GfV3fZ-tg{cxJ_n4LK^Y}xehi}0vW$6M)e4bGOSAjQcA@W zGZ4FkE?|ZbQv6=W9MFr{%f!F{zLy5Nk4hmW6?EWzQfje62584nz5-~&5Ns?4G~I_5 zv3d%Qh_ilED++QF^C0~UEU5r_Mh}!`@)C1FTgsF3a|`l|GeIdBK1G<8Uz(SqkN~<{ zPr=3|Ke-f?vcLxGd*&6Cmgs}JHbwb4dKo3TId%#0pq^8zLN4eUzQp9@QqW)q=#C@s z1SP7Ak$ed1ctG2Mi8%^+si`TcDd6!a&^T0T5$q^HUC_!L6t@?pLREu$f=Q_gpxIdX zd}vW=UP6KbC=?4yiuDx2GfOfQ%2JDpGxI^yq2_v^OOZgmLiG7aWE;TO5TvB0C6?xt zD3m4Ul%^JgeF)w|59(P#!Y4CN0TyowP+uaOf-m6WL4`(cF)aK*n;GFgfEuNjf*kJ9 zoD5D12$isXG>91^Jq7<faM0%$qfFtJXJjU4fP)PhXs}se&?c`$_}n6Dd=x{~LIXGv z`8Y#xM<0HiIJ98VAtf=R<j)?`v_dM4Pna1FXOYyyjTGas@(?nXiMMR}O?lY_awe>7 zQUZrtF}{3@8ZN|WpkHY4*-<<>g&Z1Y;Lt$MG(;6ls3AnIAw-1QSF|BlE#iwr)Fj3N zDoRnD4ePupk{qHvETBXBru0C}>|rZPO)D+RoYJE}sGyz#Y0hP_!JCiJxLAd{E4N3P zh(aIkKh!-PP*<UCEQW5xf=fa+5yPFHWdsU@tdGnL3|T9T7#MoEic-^3i&FEFQ&XmR zGa@1imW!mo#WB_j2PKeu@F_$Xi>oz&aqbhDWr!Qddr1^^P@ype?x3bXat)%bK#Q6b zH5}<<B^fco4qlOjew`U}QE48E2Vl7^lDaV=j-#Q0Vs{TtRpj{>+=hW?KX8g*HrK;` zfm;rB{mZHVYC56%4k|{5U&zc&_0;u~GbA^G8)T^^sYS&Kq&NRiLxd_O5)q#0wUa%C ztx(i7B?N7UBGt|)-h^eTNhC)HtOCPkLzbZ(14EBGo~jJF=}dHuriHggLpIV59tvm` zn-H|mql-u>@Po~u`;B{GYLLSWZ7>2+=`8{U9HP?8a<F4yz*gCDBlQkYVxR{_hKK}% z)=Te^gg1%NI~(vo02eQ!(4>H>3dJq3)UXxgDe6^qf{@G!T?PlL=TL0z!6HvaIDiVG zeDLYz=oJaOGejK4R+wK;P}i>+^y<Z-c&3Mb){+@B{(d1r{yvy70})5@3@m1DQ#WQH z14@c0RzYuBRD>=*2er>|H6t;`FUdQk;1(qOP)C`t3@UYim$s)uR$PDwZ9w-HAo}<v z;Q4B3Pd_yUcH>x5D)?R~&|nE@oC9<vb!l-<C8VVdnnN#6ErARWrDUe1rGoF^%T3Iy zR47lZgiIQjf$n1fUDgSjv{xtrt^df(Lth;NFFiAh!EP&70A0(MpHi%&kP6y5o(Z0x z2Ichp0??|M%=|p)sXsXi$(6}Dsl^JJxdlb}WvQTbB}MtA=@|-%3OV^DAWuRDHHslu zW`oQCIYJL~g&=5cJLrru&<TiXiMg3MnTbW<!4$AtLEZx$Z3CY=FD*_@E6o8Fym_g~ zsl~-0pOwIlKm!k%lqF{7Bqn9%fM)me)4&5Lpxb=F_YXd5m{|;74S~97Dq=Kd22sqQ zti$<c2OAy!0%GA9<|d;Dhi!Gv9UK`s#TI3O7h?1HQ`BJyxP%7!x}2UFT3P{!jpW5z zTHs9|pyeHj3gxLu3b~2J*`Pr^$XR;%d60CQUj)8|T_F*YsB=;w!igo21%L@qBSE<Y zTnK<n0<Q{5OH58xu*oPXDJZtm*H0`cDAr3&&Mi;V%gig$hbh+w4G_Z{6lm)kv$*UT z7_uNU1sWKq4+x-p2W||wUBUx(SZQ%;5$bS1tRmpICv&_CapnLI*a*l-p$j#F6SW$l zj**ZQ1$8QVzrdLa5r`V_ve1BsMKL&S!BYf^2VpUx1P(@0auBSWK)^Cck3oS@BE;+} zKtl`5;1?mYaP|>oA^RP5Vd0`%o|>eK2p6<bu^y;$aBjoQSm^VKh@OKHC@gXG9H71e z=MUVc#zRz5sbO*tlKMD6t|F`H4<C<Y1sj1;sx@e7`KIP3r51tKFPEf(56OU)ZIF@- zT5_RQ$N72SsUz5Q33z#8a$-qhPJVhR?qVx9v8Y%Vt_)mwalunRTItnOKfo@7ISjMt z6vOT^m<C9BCWINRSTk<~I9^D}ywIU$L@^oyHUeU;9=I4KI_6NE)I+LfNaBQAk6tud zC6JveP(zXr)f^Nj!-~Lca1f9Zim)OO-E>Hqr-q}PLQBDzB_A{}&`Ul|oK-oRi8#wY zK2(Jm<0D{s1$gGdUBXp^f(l0o2X#Gx5)Pt@N+sNVNFoXVxr!Pk94XG~VM{8_$w@7l z(!;0=i^|=g5)<u01!yVEM6MeTf+kbJD?Lzqn5b)UFqZj>L3*1-sqjOci@_^X6pBky z3lx$nAv9>CF}RvjC@#$`0bj^k1fGosPpoGaLpP}<f$n7oEhH!|Q7A4cN(8NBPRlP! zEeCB`DNh7nzy~fiKnoX;x?%7ZYhDVdKUb6r(gf)MgZK&s`NhSVh|U_u?II=l;EQ4* zeciPDoSgh}unn2%priEDGeMnA&~4n%t4hFYGcr<9TRl)O<bdu00PUiN_x+%A;~OB` zH9#Fv(9zd}Ka^0)u%4mkd`O;M4(eav=+9xy?+Ku%4AerNCoLznA|86$ElTjfiueuW z=03zyRFH#V^PFLzz8dI82P&sb<i2kYtt=rN{-hLx&;|vz{`5nLO{m3IX;Kz?{U)cU zrx0J1nx>nUnXZdkQ|T5L!}BW%2M1<t0WIl!s}EZ#37)+M-#p^|1e>G4Whr<~SZNY? z_g6+4zB3nDGjkKu(RPpZ80hIKq=5@2D=UR~(6OV%`k=-~JiJ<sFV0IWD9*?)(JRPH zN7|u*I-!C0^hIXSih`_AX3$)Ga$;UeW=dj7YVnlXDLsr@Q^4ZT^O1U>ZiM*u3MjLo z)k`l*F>6dvh@o|cvfk)}7Ik7fWt<J-UFb+FYBVE46cX$&dL&aT3R06nx2eFE5X2`{ z#)Fqk)J_50l6BIafuXoZ9IL|2lqt1SvOo@mD8n3J?TJ@}0tH7G7X=U3AXf!PKmQO9 z*C2&p=O9;CzhDpl5CwlXg%A%{g#gDOM_<<vkesWJt8<8_zn_9*kgKDDhJuG<utJEx zf|IL)i@%?%f@6q+hrh3@f+lLALv!1Z3xlk$pcn+V0zQLSI0{Zu+OT*s?n_9jL5)!? z0shP}B?Y`d5i~Ze18-=gW#*+I#(pzWa|%FXwmF%3+2Dn1&`!7l$~wAY9q25J0$d$< z)Hy9P8QeYrEp-D8Z^1KDF=!Att+c2lBeh5&Jv9$>eUSpvRqP7jQL<Ep1dw?O$@w|3 zWw|!4pph{B)MU^C#%#n=KWKLpJWvd_61IpCeXq>oA>eD2O0Z{0xEPY=7#;B3LxkQ- z)F3u;QFAUoT9QBsELe+y%YoDpN?4~5!+1!qP#8<PgY_E_E5AVg$5KU#DPT>uaDSmz zAw6Ix=pqt5Mu!iq04Z1C?(s>1!U0E*59(NOk53vj%L1C(!IpuLi?SZPDha0oDm6}C zLu?{c#zpL8WMD{0a6@WfCM1CNeu7J<#GK6HRPc#SuxUF`xd+-&otmPMR|*~)gHA$$ z#u0TCK-FDNrGl1gkfSbmduwK{mW~4A6e}IDl&Kc@Ol>WXAlG084dnSYP}!-e1-c{x z`L=N_S3fN3bQBCtbyE^6LHo^9lM{<eG_@ejRq&Q?@FbrCc&Be_u|jTQCU|)=<nA<( zEuaE7v!pmRCk?XpySSt%H8EE~1KeZG29@ynX>gN4WieQyxHJi*5#eV|uunkg0#vIP zWr7y0LqkSS!8gCSB&QN$K87?XkU`sX!TX965<u(2OY#+pGt)uyjwKn;;yp3Bq!hG! z9=ejeI0JkmM-q4}68RoA^d%Mo=y3|qO5oJYgB;;l%Lj8%zQAlj5uQRu^eBwMMnHz% z96{ctC{3ZbvWE)hK{5!)k+>$%F^=ToMM>DGLCTGk=26@VD{;NR!9hk725~SK$g!|K z8k3F!iZwkT0W$o=g~*+#9^wF<d#h_?;EZAo%r~*L^-Wd`sG<Zn2%(-vzej=%6c?uO z6UZUSjKwv`(G;tD^Qr4zR&c&Yv8e|tMn)V+;w%bLqeL7>iHYJ4SPV5$*T(|rr80`8 zJ($vDgo7s0B|U1ms1sR1pg0*8PE)BHPCJKeC4>?>Jww<ZM5H|Q`jQn~1EZ!YM(k^w zSCE@tu-A-6ps_X*t9_LACOHNW4k0QvL*GGcBG?Sw02$6#$V;s#QOHRxOU(hTtAecf zO3f?Dgf!<Mr+z|5>%j*CDS&nq>p*pY*x+&*wERk;AhjqnKSfUgy(OfOTv}9=npcto zy39MLQlYrCpdi1f1hlLx72Hq+O#!4P<`#pRf8b&KqEy|)yu_T!;>==j&l%L#1=|B! z50;sdTC4yan+0w51GNpo3)MiIVj-<cgh}Xa-D1e;FR4f~1)!5(^3y=O5E0uWL1reF zB!Zfrpp8lpQxzaX`5-$%E6j>g3yM;UQ}aOA@+MV+-3|39WRXpNngY(7+w>G7^Gm^# zqs6J9sgTTKSZ@cqSrhH*H}L2meBcr~(GU(gQ<etthgvMr%oa#OJqT)c;23?vHf)dF zjz(W9O1P1Iit?fa<X~u%FoKDZfnhXtqokM7Fv%^*NmYQ3VS^G2&dv^cl?Ym$4q5Ar zp0M$5T)j)xG~HtZUWs2!W(kE-QBr0U;qrk>RptkXO&C??O)KonG&QpBq002QD>*}| zINT+^LP}<FNl|7}DX6*tZF5jSpMum=P=Ymwpas0}qlP)?2BT!Q9zhI?p$YFNI8k5} zpkyX7CPz}oE}@eFh!z;sLEym<2}lyd3=&k&;Z_ETFsPB}*@)t~T~X@#mQ_#TQNtWm zuQ7uo8{FH5_=1e2%m_N>1Z@uPGbCibL1G{6?9>PWCI$xR4xf0?SOXU_M-Os99jX{) znIl}x)zK80jjqMj6Cvw~DG9x91Fpv3MbFj8#Zk}ASueFDQ7<*GST7~NG$|()MTMW6 zzn-%jrcfA$PynW?05?5jGtfDe#aL8>Y(y6J4{#0AGYQi}YBOR;yE$Vs5UdmG4YXkN zchN(Z1zqu2l#1dSm~?t#X>qY09t8y4RZ^aroSK-DSgB_S@^MZjHpe3r8ABAoiX8B8 z&S(k=^7n}crAtt%3ve4vAw@ZrC?ywc3`dXTGLo`Wlu-&c^un@-IWxrsF(oBt4O(FE z8gim6$~uD{-ki)5(8O*$_|V=d9nfk@8dQ{mOJmeV0C>?sMjLp=fghIn>M&3b3^diD z0P8p>r$V+!rKKj8l!A`^gw6s(XF#9_re+p{S^-cg&~c-wpv_t3c?wCXIr-)AejYea z_Rz`_<fdAdha+rXj2noBqeDi<SUQ$<Jih$UlO9k58_O)E1Z*KsNn#Rgt-Wq?ZUG{M zQ0FP}Ep>q`;fd74T*Bikgw;LZ$cL@rxonTCEqDV}rpF7*vK?sb$0z3&#Dk+7vS3F+ zLBYjeA;iNoSRusG$;VZ}(cRJ0Pr)ft!NbwdMG>(Yop@jNKo<0bflk<XVh_56HR~B@ zeFsPYx{@dBIY<DU+T%cRjoO6p6=MYTZqXXJGWgtyQib&3SBjG8@<G;v9g<6OaRSY` zSQ<gTV$kRW`401lHw{o}VLBxXloC?W5=;d6^f#0u18UDZP?(vsFfhPPM@_tl#FF(M z66_$evO*jg7>ct#LPS6|LPRi&l8AGR3=EE-L8#pPJot&+pp~ylsp*+{d7$G8z<Vsg z$9sd;tRkkx!J}iD(BZVq;@rfN<P6wwQc7xCW*&G+4QP0;BqJ5&v?x6VxBMblpG60B z9x-UuDrC?Pw6qm8QVO4lMrwY52jvu!AggZ^61+<DQWcC$OEMIU3=EAE62L=sps_R1 zG%f7Ja>y8CNxnitf}yc_LIQYo5BR2|^wbgs(4yO-qWmI-q}1d@&^9*k5#@*(Z?NuS zh4RE=g|y6~;u3{S&^GRr(&W?>$ike=VujSSG|)+TWuRScm3j)n`8uE@ypj_kJ6vHQ zlANELl!-Vztr&FUB-p{=G0dXW;(XW<=fw)hbK;26&te70AzPq9K+rZ*=$@3ERPdo0 zAU}hQLSN;xZD__WO6}h>R6POd7PWxN8yr;|Mpsz~GhL$=bbP4E9wne)&7@v(%QZyD z8RTeCi40nzDF;rdICB<?6M6_KCL>JPp?McIAeaq}%~7m|`F;U)egAOy7a7RaW6uci zFX1$Z-quH}v9Z<F*qWRY&^7^TtzDXw<za@>u!~4!WMBx+&rJmt;l+rf0zl<_QmR67 zPHJKi_{dK1(i+fWQusLs@F^VV`7z)@F8F-}piB#D@TV5#7K5tdG|*ifC3*@0IjM=o zprb88(?F@vQ!~LAv4B*8Dic%-sCW=1`1m8xkqY_QkUBIKdSM7?n>FfcTJX#qWD8w( zYGrwTQA)7_d^>n@eqLHmDd-S4<W1q3#RWNumHMGB{?6cK>)J4lb_wzD@&j#~W!7#` z2@TsM4jwC9G87^MrS$6=8cv2}y}jTfItzUv?7*BbbrkFvQaYKiC9<?QVG0^FtI*C& zq{0bP%$X^Mh~Wy9feIWaOQD~mcoh^<I2O@D-3`t?CZL6sq~>$f)J&cccvF`b4N4NQ zcX>hkV-#Qo4T?WtZITzDkRxfCB`l4h84g*5Z4TR-OJX62xlkJ#ZRp9(iu`gGUdo~l zAN26%f_A>cLkVqv4n!Ieh&Ycm`vD3`ylIe1b+;_E?%oNqkff-CcHU>2!3MWbtAC_U zJE&`qZG^7{d>2ou0%EUdIe4tD2(+3dC9^oWv>4j)PDFIi6LS>u!Ao39L0#`uaD5M| z$zg+pCE)%uxZ4g|T>{!CotmBxy3q@y3Vv1_^eE_J^qyo9{oRC;m3juk0gwVk$O+GG z4)lpYGABEwohY8{1UVDdXJZGq1B>-ggAguC*k4r2MGDYdgqj6Nxr-o66?C*dq;&=v zn&wA49tOpa5ar<EJ##$KMoM)L&CiIF_)Rbk29MZ+N9=u7Ktq{mP0WZE=)yO&VSCu{ z5bA&#^d$745YV}F;D`jbgcB7Y6Qi(v3|eas%DTm=B_*J-Iq2#wc*|WOA;HBl#4*@4 zBq0H`S~as+0oH$jtg}na1Kn>9DM=8k%<|JfxAQ@cd4dihgPaMf<n$E$K^xV|Gm9bp zhN9HM($wM-=-zZtZw0(*4&*4PPCYKrSRY8Bq&y$Z{l!Q-M!-W1przjM{UqSQIp~gf z&_XoCacZe~DIo7ABtWNjAv;;1i}X^!CV{rVLw8Srmid8q`X`nrBJKl(u65AHGL-`I zEXcv=ae|V}K-Yppml49s*JRKQao`1c7&;-@%>^^r5IRpDk_6yYD!91;T9yM6M{y6V zq2Wt;F#>WXtQfJTAoZcRuZJR&$O}Js;ztWVs5pxIVBwcQ-SC?>IP)Ef*Lw!5BZ-K0 z^xYz4?s6$6H`Wn*c93%obcYDauo_g13_nq{8>x-DK2s!EDx)SXBGeNRB3PPO@S-0r zZ$rgVTmj45Gsz7L#IQJWENg-4Um|NAl%zn4M#7;(rG}asw4sLDwkb`@LR-$&ql&V8 z3(_KiulaHHghc@K&_zg#jYvJnp#+PxO(aJeMN2+>HF1RldW%knk%0l!wn6Nx1C84j zr>5qD8dQ*dozSbV^YT$vYJdi0GeFaY(53$AiJ5uDpu;dz71By`a$wCn9nged4y2)_ z1qo*bq|Jv~;Clq~LHk|dyB5H+g~bY~WvNA#3T6tRwN~I}Q$Fa9<;<KMP_qeib`fYB zEqLHKDYc|LH8l_1yv)r{NzH+5u>c>NlnOoPD6<5V(7_f#4mtw4DPI9TLu;lBvIlhQ zE9fR%(Bv^T*Xm7~%F4jV00PjY0d0b@fC3REzxF_cAW8oazD5(3ivQCjr!i=k08#vd zoC#|*Mbj`Lpav98Z6YK5MX<#@Y6&fbnUYcb1k3mLs2eA<25)Xb@qW)>cId#Sh>z4w z5x7q;1?6R2+b5`0+v?$}WzZ)E1sNF_Jo8{D!|1@yRmd#H=%ec?c;uIZN`4&$$mQgq zJ}h#Xt^iv(Qkhx;?TP19A`WHN0hL;r#R{NaJl1j^)H^rT0@qHU6*?(JpsUqEmLw#& z`M5>|I0l6zB!F+o%+XVDELJGa&(8yGCI+vm$t;HMealG&*#lmIla#8En3tDd3c800 zHWiqhpPLIBzpMnEepj4X0#cF!+T*8?ms(z&1HNz^J~D}ZT3{BpGtz0#;Lb7+a^Run zG*l@_+U9izjly9Z2teW{bWyM=WDGGO>Jz9#z<wwN)xYS2KQxbS)W8}bH&8QHG^iUZ z!dP+wYM5bFf#M_djtviTRzj^eIbeAV#SU0)X-%%*5M3MO6bCvZGbNSg*%-OK-$N%m zk;9)#g}D*5Fy|yU5)d;*sJ$=DnIa4q=YrRcq8!)K!w+p@L5E<A(N9H!HeL}I7NZW% zquB}>&nEin;4Dw{;d&O(rXQ443sD0eqfY^q*f<u)kx_sm#^@6<4MrNHH^VkYufPoH z(Sa*0XyAb=E6_IST+rU}#Jmzv&6k~;S^yd(&IKJGR02D~2d<$QQKy3YRiG*ovPoUR zz*67P(!fxmG_NExN5RlY-^jqw06bs~QdE)(vL!JG`A(C}V#qnOkmH$*VO=dqM^BH- z6WljT%qh+Xw+D(+6;ktxQ*)ExC)O4hXXa++K!*EaE(Fc~f#w2A@{3Ya6iV|_Qj5UD z)(Huzc`1pY>ute@B<U%5mVjH$2?>S<2?+?3bHRtDL;8rYWxN=7w-zga>v(Xt5i+*` zwga+^7Gi>eMnVE)t*xy=LV_k_?`Ljer2^!h70B%nCHV@8dHJAO2k3cAptS{w@V)L3 z{ly9zse0+4GXVTTeVtr`6b$rB^7TQk*3{#2glf+Og>DHb4v|LeLB{9gC_pTL22e4m zz6C`Htg8$<7rqEQ#R6KN1?rZAmO2+J7+NTVhB)gfgoAIt%}q_rLv;N?Q4c<@3Y1ci z#t1<D<FuU83I#|Mf~-<7Gy-?kixqP6^V0Pcf;01yA>Dqs15ztWQu9)vH_s$06ldn8 zgQFPKOadQt3`&>K(+L#v^FV_Ol^}}~Q_2!ShJm6SCJa8@s<0G%Gy-&Z8q}ODEy>SK zEXhm;9fAnCswWe4r7`lEv<V6DrWdsH{s+`~AF25TrA+G?*+BuRRtqr;UEDKV9I)~R zwV}fTDuhsi7S_nABDa1;G;%-=gbmXOfMy0$6LaC^9Eznqn9^kUkquIIqWX}@&;Z3M znE!gI>pyt{B{qs1dI+i}!}nw^g;+q{aL@wJVG>mzp#}*l8p#M99^~2&HHC0Msx@2e z>0~o?!^edhH7{z&QO8I!!c-_B0lfu)8nS$-(kRY`<-=pt4d1rG(FQ^BYR_PC6cKSu zr9u9i<i;vuPzJg7SPyF8DGZ&K9BT9rIoA`BPS6KaC_a(n4Y?@>dwT=-fHNpv(Rjew z0y;*4+AYT1r<zrWWk7)?IkhN}!chcpkDK^Wgk1Dd1XkA|M+MX~KeND!z{3c9F1S}{ zQZ$UfjcG8_FoGSnVT2n@3=AO|pg{vrZ!i@!a1B}`hvjrRaL+#@5j2*Mt?!?oreFx` z@S{!f>M4X4fVzC3dlR5T6o~zxkkJLlf}+eE(AHQ>@D#8@QEGZ=PGS-0tYq-spZqkC z%M^0+^GY&`^|(L_;qr?z(=$Qm5@+NWWme_qm0*lTBqSK<8Ce(_nI77ZkO1un=cT5m zfJXasQxzb)Uh_abPf-6EbsZd7Bp<W@5_yIqCp9m<Bm=hVC<QDJ(huqiXO@(vq=NeU zpaBdpJ0-ISwAnU4PXWHg3ABf|A~Cr{A-6QABolNB7IYmXVpA=+g%7`cH8rs~Gqng@ ze1o<efe-Ts?fnJ&%@nl!IUh0}f-nH;Q_vDf$goBtN^co_1z$maPGU(aBp~7a_TrL6 zq=AFXVugeR12cWdxB)x>K}iKZHUSzR0EHB|W&sUIK)dLOBcWk?x-wER23-`&G84hW zEC~sY&dwp8zOD*j>k<+WSB8TEH#xtkD7CmCKQ9Hee+rU5z*>AABZ5O*0~8F6p!=!8 zq9Kt1t_p6>nBD&y!!@0w)|SK9n~-W%8nckY-EHRu=Mz{NfZDp|gqIE|0SIeYtGIw> z*T^W35fv)Psjv?Gd1$sAE(H)unDq=h-;t5lIKXMm6#ZaA76Uya)TRI|g_%<~g~ftv z2~crNi@E?czG-Y18KDo#>4?e-J*UHDP<#Q42QTWzgCjJjlV4M!xUz=|=8+MeWDbYL zQa3F5z{6qimI7+Ppi7eBOF>AJ0jceQnsRtiS|%vg!%|NHb$zTvxbcJHj2>b%kR39} zO)SiiLCB&w2^KQV)D0QvqI8sbc&Hc|{^NthJgl*Z>Nze@v_qt@`fM6?eTKWU4QfHq zxU=m5?QElV9x;!7==mC+s*s(RU#<Y2MTRc00?+1xdxd$35qwZjKp_!%Hn+I4xFj`K zA*mF!au`%FLY8iU7I#6H=7KhN!P@qy(|Di>MCcS_N@`+qa%pZUsEd`K2kVD{dmqpl z%JTf8>|*!=X3!2)@B(J=3^M349X$nC*qk%W;v8_j3H1+Xa#10z6m&41LP)+#K70-l zWBJwwP&*W|(+@ho$cqv{C<&(rO%9S^H-VE8r3<)rflVQ!p^6wQggOMgfGb3S262iS z7__khB}}P4zIK+}P)2kIkV83*KB*ct-05X0N=%@Sh?BTH@d3Hvjy-h?fz~i2qULav z8U>pIWdC3+YC>7gltt`eJ8sZYcOALjLoCBWEx6GZMEPMEH7&(5YRZ~gl&D}z;jk%q zgmF9Q8d&1TPPd|uoeKCDq!xkK03||pm!PEKEU<d;Fe;}jjfPR#Fbzf;Mh(L@jCz<E zbr`iMH8Dp4y#6M!BsagfAS1OXGa0hn7&N2>I>8uu;S~6=^F#$h1C+btpo3|Ur8=1< zki}2spesCJ!=s5Qi3KI#u!0<^nwbmQ;*|=z@C~~B2Gkv_Oie5*)>H5R4WH@2w!(mR z*MRHkw4(f6$m%5!7c^c68KM9$&{0S%DFIz|k`Epxg)EH%=>(6-C6_2bcXNY}Z-8&* z)>8;hO;xZeN=>s$09`SRb~0%KxV{BBEH@u?N+EnS5pF=S9+zK!Iq00`V%S1&#DK9O zc==IICFnl&H0U-VkYVYG1z=}@*pS^spatWwD^g(1gUpf)1-J?Dkxz&$Y%!BbNrnRC z;5q{X3-AbKYDuC(a(;eM3g}eCR8SED8QTTfP?ngP18%$&gD&z*EKx{Ea1C(;Elh*o ziw6o+$f=GA37~=S;>5C4&^eX`rI5%2rxZ|Zrz&6{%!cg{2M?ozh8YaOL)xH)Qki)m zli<fSf>RRo2s(wb)FSX2Dd;{a@MS7Fsfpmr6HAJ~=ZJ$hRzX`rpoj%8k3vtLu!I3> zO2H22%F0htNGXM6RPfY5VQGFzqC#p#a%w7gpcb~?uP7C?Og=R)1+przxHKs@vqYh| zG&w^7-Jayc;#A1JG)Qa4ppHw-DOS(`-2{`6;N|ZW@9Yuk=Z!v6oRCmdnx|Ks0Sf%& zqRfI4O;BhjmgQ%rD1h7xx;-3x;&4i7Do6(6Sdh2D*E6D@A`-z5J_iBPTm>bo(Oivs zz29g6<)<OK>yTm(dbxxcW*veUr7kl;IZ&@h3U^rv@0V7i>d8_BSpeyNK(?(4V<~D; zs!mw9T-g=Rz_vzKn+XF$4|8!z%9I}V;*u2IqSUl0saYr|aAiTx+JY|4?lFNK9VCy> zWUNN?uotDKfv(7!(!&h0sE4yCH4QSaHYH2fm4Ts$yC^j+wW1&=GdZ(lN@vz|kn6B| zHESlw9rB=4ooAUaFu=|&pA8a4JHI&s+V}!R5^Q|_{xGkVP?AE=u=g#b$qtHOT*D_A zr`fVYD{gp}19yj+T|*pE!VZ>=oJdaW(ENhv5Q3ZsOMgP3<LygxQb6Z1L)!}|*7jgi zK!z_#xKuEdx;}IQRk@TkeNaP$8U~UPf}HRM7-~vkHPACWv;oD5u(Xmv-H?<7H@L91 z{7`J~!K020f0KB!aW!@Qd~JBPW>F(-xO$R|)W(a_&PUB@obVn1O7OvQTOV~(9v`BK z2kN_{SlNRvNrq3k5ZxA3Z?ZvpGbk3q{J4<1el%AoCa=SUGImC`DTG6fO2cljmLKX6 z59VDHJy{q>OoH2od7vYyLBmp+IhC-H6j09;-0e<O$jz((O-jJmzkxdFXoC#kjqN#* z+ig&<veCe3k&rnDyN~j;u?uVjq+<~eo`Z$-%W2|&lr%(h+aPHT<Uw35Ln@`U7-%m8 zBdwtyQdA8)qzHBqnn@V=wm1COq~VtZ4XqG!i5hB&GoUU(P6n`I?m9Rfk}|hN*?~%N zxZ(``KqVpY&=BaV7|?N##R}lnqp6TJw7HpinYpF8@GYQ7V+6$td8x^%#l?w5m7vxz zbZjeCAyFYE5mcmrw>y?Vh60OIOG*ns#R+(H5`3vNc(Z4IK}lwAVh*?s2wi9i-na@n zdp{#FFFiE{bW06ryb82p6f$aDT#^Xdky#Gf{|h?JDL)muBR0J#Get)M(&Gl3h;3~z zboddn(=|mQF*zAL6q*k50(4+DGbghIabP95;D{IvBhb(yXwxoaj2Ie5$mu-mC1@B2 zJe~0z#G>Bj@_C?X7_@PZR9vYW?L_U2Ht4BWS*XWi<GWY_e0Nw6duCorYK5*L?CkCp zAXk9Bhgu3^&QfL7pdBI~?%?C<ub`^{8vFqr91Tj)kSqbNY)!(To01h3!ZY&0L)+jP zi{ui8%o5OPWT|=3lU~6?+K}^A(@JyfVI`hM)^%poVK|nM{FHo{G&l+OK!lKE3|2BR zyWtr{!#dUl?fxTn{r?BWI9e2?W0_sbVswL_6a#S<&B6xRrx0twktay5XR)QiOlT?u zc^}K{<Ud!?)r8Pl)rCeN4z|I^9?p`)qV&`f@Tj41VQFS^c070iyA@gzTn<Wt7@-Vl z1)wEL=(S|fyU0Ke$@=Qbz)*~3G0X|1OGy$u^B`B1fUmtz0-aw6UVINL-9giFq#RKn zlnTDVEL9oC(1kJ*b5hgNGLth?^O7s=65>I{FX&>hl6=UzoQ%x8l46BKumhlWC+2{z z{DNwMl<&}apN#x`&>;c1*SBaP5*>7X3pbLVQ930(C^C?s)d43Nj9W7*1}d;n^R+S& zQHJ70ShhC-dyA9?3G8kJqO646nBY(RjS0|{fj_OlN@F&5*hoDzcF@ZGo*?QcQ+T+e zRwX^knTSlI3r@4T;5!$f2^TzvjeY?LiY9162Wf)!#9*4<Lhdz%%u@8Q6{V(?7G+M! zaskC1j@uZZ0RkTKb)`<mLM}^tsAMK`-l9@BB@bF0Yk)$Bva2J|ic{1=7j$(*qB%;9 z3vXv=WTm0XMC@f|U<fEJ0^KT61U{JrdU_1j!`=#z6&6G1ph0afP_w!c(wc^M!=b0! zK-;aLgGo{gAjg&Df#>?cyVNi{?%?(}{4Ofc7A$ZXpPX2dn3JClnNLp6NKMWL8v->Q z(&AHa0$o`P?)Vqy=cd9=p@H<MjUj6lK%)y_e}WqPT5kCePb+A+IcsX^C}=t7gYI$! zuT+Gn(r|Xu)B+diTF!|%nMsg|c>S=%oXiyPf)Ip(8qQ&wT9B<?TFzmha{^LxQo!B; z-xUe&J3!r=ld6C?wFk5=#K^$FOraFK?7+yt&<wmcEwfkwZB8E)8ldKxmb04{#9-K= zevr9ygz4bLCWe-lMhY4*i!>GT^PpCg<fkNpPlAE(B*fAi(Nh5X0u)1F`;dD_paGRU zaJK~P9Qabtf}+%v%;XYK{R~}+s^RMA=C7#*U8)bdjttbsG&MjhVuc+0Q>@1Yt@S_$ z0G5MJB?K>j1ucaDZJPuwS%B_oMCsXqr*JY-;ddB7f(5i+4tcdIsBH_H*vzTaft>0C zzN{d#L?JmJG!+C{Zv*Narluv9=9DOuCFYc-Lfs7CA_zMms6+uAy5K%uWqv8B;hdUW zqR7Rir>BsdpOUHzzR=mqN+Bt+ID?BzK|w(QY2X1A9(vA*yWp`(hrw@lN0WwK&~6O9 zNuCRSF|S5e4r<o!;YG>U@cIE<^rFcj7ok}>pau!JIhsXoQB`fuz<}2E@U4ZGe`#Pt zvuaUYi&R9R4*^&(GcZ7ov>GjxMhm6ULMbyjLxI>r36|@jJ&V^PC?BD8D|$wh&mpbX zYDhtgzAl^}t<?idB9IXeUX&&gN*KbrW-VZIN$HwFM`REy#i33ES4B)ZsEgftKmvGu zAdaJ%hUybhtZg~0KAKKlA3--uAy=wBP%*szQX{U3iRw)iVw$B`eZ7jhzGl+{9~XgQ zRS!%MufJJ9Wjd;_n4H5<41%S-z0`GcG-PZO(r5%-=uX8(I*R*yXlfIo&~?*74_!AD z*TF*f0(C<-84|8E?W3UhqlYdw5(@1wjL^oOmLF3$w4o&oa;cNG65f=DmbmDZ0Sl;W zM_l6gN?qqlBW1l}1=J2DYNX;-i8nHowFvi2Q9Z9nPy>qFU>S$Qoy<uJ>{a4pXxDQ% zcb8GZv1dg17&)y{X;85k+NrJpXHJZ3nF8<(JYYy61|5*3&;}e(a|`v2M=rf!nM;x6 z%thJSgmRQHB_pClEnvg{kg*OjjF15tfjX`WA3#Zl#5MXzt_w2*gGXXc8hC3PbaX#4 zr<ltVbaN+sR2DQcmQ`8|I>S2$Bmo`>ELJE_%qsz{XD9(r@Ft}yq<{{FPO4M@EtDw9 zEGY%eVL?V*(RO-)H!&wwB8EZ1<AlYaJ3fjt^2@>d*&s_dz|+YI2_@y3$*G_{XP_H8 z^As{6t1v1R3X1YmN|QlLG@$ogAuarZY*+^mKSPhjhTB)H05%Xbc$ZiS8#e_z3VE~$ zHgcMewCAxbwWt_0Qdtf@sJk3I5(u8=%SZ)p6jMN&Ie`rMxjOrXyQvo|q~?`n7Uk!G z<{J}p6v`5dGC>>DAX@`Lhmxm)f?EM*R$gj3=%_c480d;E@VzA|Ah&|g$%46}6tpD^ zbjPa`=x$a|Usse(R}eRrq~_!lD}cwtOY#+9)9|1n*i`UgXV9=IRwyk<E6RtQOAnHT zjBlo<fG(#<)l=|H1IHx#$~#CPCnO{#7N?eE=B7g82c#bqe|d?y;0<}D#i0FVkRjPT z&?0(pN&zLS#Joz#;40V}g_8VyJtD_MVTDX;NunOicJy&mm>Q%Q#H9qBAV4Wh&k%A6 z8DWLSP=#Fh22_QyWG~bL5vvO1GA+y59ac6tl3c7oyV2MNSG%BPmMz#&5(Zamm>3vF zONf$uh0zis8B_y+X65KvLcsD5bbzvNaHU1mM(SX59Hc!N1j+K~2XXMC)U>c*h79s? z!b?aL55gK;(O?tF7~n(fxPm$gG{6@j%E-U~TF^h_YWhbFGih4aqXd40@K6mV+BS%w z`+T7Z3O$wcBqSi(OQ?yQ115nI%&;_`N7Xdm6OXiag%)i!6hF}3HoPSZnY$$#sT<<l z;N23CHY;lApvd6$2@i5(7cKR`+My_B!&1)_>iWeIR6J7D&_;1(4;9Qq4mUFTuh`b3 zHbC2`{@}pF7^~>OGU|ZRA;2P!+!??k4X@_l9Ra+Gpq&8JgfMuVh1`#TCB(Jhuq36b zrfh7a2_+86NEnE*5lB~s3?s0OjllXpps^9ecB9fHjP-6l%nS_hF<$7>Bk;Txe8dE_ zFbsZQ8dQZsc`E4E?wq33#FR<}P`^JjKMyos0$Iui9+-gl?~9>_k%LxFf%?Tr_k4j4 zc+unX1nJ5I9s7-T03U2D06c~OI{hXwPa!cSB@?uuDlrFoS1Nd|8))Su)WwiX!4M<e zKKXg+3gwx3Df#6JE}+Y|9gz<R)Nu82an#g;-f{#P)&P|}MX8B7x}aV^sPhgQ006D# z%PfW-r37;r=m0_u$TBtG#7giv@|p@prWlL4zzgO;NBKZj(-oEGA+B{(fL!Yq3_AoJ zyqF4l43MEEXpI-h7HliT6hbm!*N>N{DkK-BCW3k_AlE~Ndf*|G0zPsFyx1)x6|4I+ zk|1L=aC^Zg*q9n9z#=@UQlTU<8??3&WIp^1d?Qo13b4DuV=<tJE-p<fDN0NR50e>z zhmRn8lwga-l2a96*Q$dIgjfSzX9m&_5(EwR7v+NnlyXW_q2Zrdj2Mbb%>kt>(7L;f zRHXJsLV}BbsFRN?C}yDtw1ZZ~WrD9IOh_<HNYLXVav%m|gr1u-cvoC%Ua=k|Akl|U zz)RQy-1JiOit#Kz6F|>qsO2iAG;;Ztbsj!Wa+c&G4$nBr6lnQ%5^N|5<0KEk_cx@% zRzN4_j206mqs0X1Y_wriOu%v|bTB3kbo~dkmZ3p{M{Tpx+A>Ik_8uhPqfdi#A?j#Y z7(hl!I6&9b>KYk1qc|4U`g#sFjg;0Gv}i(1`$8QA8Yt=E2iLub_5q5Wn6fB7Lhl$; ze9zG@a{Y!F1VZ+k4d_@A@N^3qjT_W}pv)+gP(x1#`Xn}^P!o$Tyv8G@4Tj<=Sc>BH zpm-qxa;O&%Ksyh`Up)ij0+cvL&l&I=7C{YB)Ch#$u&99jhD8N(;|6Pvi11}(V9?Z4 z7;Oiq7Ez}ijFRw1gBR4Jpk_A%IuHvjUeI$DA8IcIHD7TdIw&ZS1S|E7shYET_`%&z zL>~ynPE1+6r3DGcxVcf+7q~AgfJ6ZqBPZBK<$9q#qTAs59%EF_0%^nyNAD0>g`b<h z9;9c8ngYl-2Dw)VOD}OGhcsoQUK3Hmh>U<ojCw&jo@5w-ZPW|an?)b>BE$Gj(1IiI zrY|g;OA#lkqHSb`@7f~w01G47mT3wOuxJMzU}2>I-989fBcqTD+Pqf@T4_^KT9lNU z0$(iz-W&=UEy_u?SMV$bjW;EwCMSZX|MSxn!23qQ$GH?`re~BC+beh~WPnbQ&dXQG zFDS?_Dk;s&EU5%_{-GVCRD}RHNV^@D;we1vqL1Xn4eeAQ4!r2{z}$W}4cmbiJs^e1 zhuaRCutd)GSzu>^6XzUq0|#5tHv^ijLBWOPfQ(KL(3uzn56H+;absZU!E!PNJZ)n; z8DkpMZnWHndNKyc1z8Oq;FB>h@^meh+XV!WCPcuAlERAyz-RCif5*U0^g9Lwg9}oV zGt)AY71B}@L3h0rqtwM&U=84i-2+OA)H{_2kr#Gi8jN(wz+6zSAbPia&&;Bt%)AmV zm(=9Ul+<F_@lORssmYlInb0%l!TXLu1O1>SMUX+@{G1ff_%~?a8+37LUTQgrYnYIr zsgROcoS2?ol$s9NOkSLvk(!$dIpNwWB|q6J!6iSr6g1%gme+?Uhn(yW+SHtwmk6F6 zfFCb{xeb^V>}FWu1R2(VilJn(OQ3)P$HfJ5Ga0s(Y4f28{S4SpoFlI2*Z%ZO9@K#h z9<MPa%ZVsCpodH|AZ^x%kT6AWi?b#q7@*&d$cVj9`wDCV86#MTJ}uM{;1J=`gr{#* zZz4+&a=Rgh+YM0+gS7(xQrGRWcrzo43wj8sMe$)7>Vfh-(s=SUJeQ)MLNDZrb~2R+ zwsHZ*k+5JA@x(Kvgn0~oN`5l2$IuJlGa2jAT*$}JgDgThhF;DS$1(KS{Yt_)^b4S6 z5OPu#0<{T2XE)>^%24F;um_t0<cP(nkfALFY=>w;TWHuCAuzYyBR4f8`WBEPmJD}c z>s!Fe?UP`4q0giDOiwOPMz04;@<DflC+FmsrYMvrmZTObfMzs7_vn;o=H!6Zio@E> zDWEGx5c89op!F}XiEhNiCujttxHK2k*oGLIlUZ1rnF8+JLj*FDQ&DZgQx7sHmnXyX z7r3+niy+5&mNzJyf$Km|lG8Rcj<MB&3!&-H6>KQ^b>QF%U~m{Zqt$`rI1#1T>Y<8> zkc=7y32!X*Be8W%GS~!)>PM&}z@g<$&6JLua(k$1GIHpVQJi2a<`zM-KsdPpiYVqF zxrhvRVJqffSrb&u;afP=^C2-Mr6940D;#vQ75J!2_%&JzsLOOfhfagaEF;~N%-qyG z(4<#lj*dcJex5G4ZvfX<4BKo4FBbI_LW{viapi*Vw*sp))CW^W`g(eL5M~ABb}O(w zpfVCHpIVX%x_k^e3IaN#Hb1Wzbo_N*38-`}1>N+dkeUgaeFN|QfooFmbSVb4+CU~1 zXXF=^D1f&5Am7o1ey|W5Bq&e|Q<xxfs?6$xm#01C#yht1bTKqBb$|^ezC3+70wWJx z?qt!=<EVu>JuQZmT5}<30=>+aNk{;vc&xbzH6=^nQi$R;So3-r*glGC2&j|6F_jEj z*+=V~jhsh8XC~w;(Aq}ixFMtD##W;&fffR@$c+F*jRGl0$Z!|78U<E35v)<tAgk+A zb5atyK*c_|QYpz-fCz&NX|#2yu#?V{D#6P_^U@X4N{hfHdP-(7Xrwza4|IWZzCvmu z=!~e;+@#bZJS}1_h)o~|pymK%3FNerbrD{kpC>oev6bgbp;37nY$);Nc{Ck@4KiRx zQ=3qN_z^saAAm!HjFJUgZdnEm;=AM;ipVXHSfWyHfki#R+|rzqnpBz&+RYA{*oEKn znV6HK06o02s1m#-q!_YTJ3F<YL?ID$4SK3VYF>(-f<GvufX{tQElVw`EXe>Z?giaU zSpZR#mYD}y<W^czP+9^r2-<B;NzF+uNln3%l~}>9L(N4{F_hS4@Pcjs{YP#@V9P+u zp|Sf5Y$)*=sMa$LbhRv~&H*nJRv4h*1Xq1Xaf?#Z_8?0@DiVG#(3lp+JuW0n)=Pj* zAR}`j20o#V0J}Yp&LM}KsCwvaIdUA3Q4C-!o>o8;Fb}!Wf+(IKd4LReVXMqx8H-@? zw4^Atur#%}gbRGA1N1Bl(1{R`V;U5+l8ehgM*`=hDkLO;&eD#DYADuAE-p(*P$&oO zZ2(vLutBr@G-y4ZSOhu=7;HSKUkU1{fo|E&1g)*hFG@`T_Zrhm!KW50fD58@P}v6B zR*-@`dxWR_Vu!j0wFHBUA}6;jXLuRrNN#LlE5lYolYlMQP~yw5IYT4F!Nr6)4!5F~ zcQ{o+GF}iQfY8^jvVxNsY6LPT7nh-!4ePZ;gUukL_(QB*hB^c6FE((6iFS@7Oc2G@ z=>0NLthoWz7lIi11*@O($n_JVNJsV)XbA~u*B2<e(J)IQXRRJO*@+w@WE7Ox3h-6X z-0M$nBp?cKNC7~GyRa4Duu_Fk0UqJa$iR@Bn3)5*yPV6h1a#39_$Y8t^n=7f+wqE1 z^B{M+XQV2C#gg;$@>0R)W`GYj0;vTr9s=FmRGL?!r{I{90`96ockrcxbtR^x6r~n} z&ilzsQvjVH4my2FPr<3Q1bk{zetsT^21%smfo4$>6+kNnKw5Rc6+{a3lycatN`6^t zQF&2jNl9uR_~;IhPRMaaIhonu3)r($QwzXaL54s!{Z;0d7J*hM6oIdqD$Og=Q7Fhs zO)O3YxmO_}L8Ur0*fppYGSmq27<h<4LjiQje4;{eD)=C!)D#8qj4#+&xVJ#t&0skg zb3FnFNHHjsVM-u9EQBy}j>wt`uWY81o3gM~HtV3tbu!pcqAQySdqxI^(ZoSf;($dv zWRp<@<7kMcpjMotL6Vq~q5xfPz5<d#(VGq2NCgxuK|#t9c4)zcwTZA1Y#JHO9z+uX z>L75l#~9RcCb4WpaaRvnCP1ohh(pMzCb3oDYoO)fQgQ<bQGG*-R5IL!t@?(Q)9BSV z8O9@4IOAOs=!az`Xd{-TmV(6?OB)lj-XdR!1YHnNWepqhxnRq{fS6-MzaIm<6p{F~ zmVeRLS{i$RuO$PWH~_vR6TB`E)L#UzX$H?}faVB66?jr+9(Xw++G<R&k>J%2&p@>< zEmmVb#xxjdHReW=R%1rUurM&VWx_7m0d=-hAUp3No$%!RT$o2ejW^JspF(CXXbpEF zsA=X2ZsTR<K`#@94kG3#6r~pD=ahmPY~Y0^kkfp?hgw38v(5xvd<5R>pPB+%VGg!Z zp|~Wq0CE62<Pe3_<eWsvT|wY=M(~@8H5~mkAtxUfgIZsZ^`Rgw#h|DHl_l_W1=j=W z$ZNolmjEf&1lv~(S(;vw4_aCSUh@Z9I|H6ShTIc^aCNbQMyg)Ao`RdRj)JqBj)HTT zjzWN&rb1pS=rqTCg%q%RL5FW5hgyD`0@&VS@VS-XTmLk{-i3yBMk+)eBn@?vo`O?; zNe0v}xe6uu>8YS`S5R{r9@L4+C8dcuV1vN^fSuY2j~r03nw^(l4sNo-Jr1@XG_U~* z0m!9Jpzs1MwS^7|C&BmUr>5vAz|I{{tpu<7hn>VwqNm`Qr;whSms*sV16uwMiqO3L z()0|Fwdt8<si+5k<`;pT0Xbn4WHs2$#X1T}rJyS?K}ieaxKZ$yf!zEe=s}{O#DS9U zK;e^+5E2>SnvkHQkdP1pIqwq`(FqB`A+7-l2@0@X2_Qeh6Q>5`oJvjPR0{8UBqX>% z4MOC0a32A3{wLTQ$@xV^smUcMuEBLor-FilRdQkhC@WYgxK<?Q7UZOYTn=jfmw->Y z02MYM_aP@VkSE~oMPw#D$W2IK7b+NokCXuUU%}B&!Oa<pkk}9fp1!UM1_lUZXrur` zU<II{0?QgJ7?>#-SR%9Wo#ZKswb(#yNZ?R|(mVMBD$c+q<}Y$9PHerCebCzY8`w~s zy%P=eMbi=b%nS_RAtvNpoLLOodtEtN_KlW(qh%jP*$2z?knU*D=Mk8FP`e}}G6W!9 zDsFFF(~89Irw{>~Kv4%1>IhH=Ghz)R1H)*W4!%5c(6{MOa?)t*fjcHcDE9D{0vxag zJFLclj5o1>TCphc4x3|Br)pUMz7`F+@d*|n=wfik0^P-)zOGnZY(-rcW4VzC^&T{6 zQHMUb#{ugDp}8B>+Q;f{U+TKsn2f#`io1HqG68Q~a>6@zsDZ)??ogrF4oiOt)D0B_ zq$3B3>Q$mRs)uy#$l*c8cptW5&MnZ66$dzIvTj=8x+eP`s!Wd~#ob@jXrqF8$YnuR zoi}Wdu?FllGFl*vpm9pHD`&Pt!>bZ(D8}I+NebZ92kOp)N<rLxdC;%~xNi>Y%fou{ z3Wi2p3ZQ%qmc`PGM-4W5Scn|1u&mSt_CG0sO4)%UsNs&D_<NW$Q_Q9$W<fU`idlos zDZsYvu!lD%vjjBE6%W3WdP)a$NLm^c)!<<ZNJc=n0A?~aGoeNx#`__I6l55IZM+{g z^6?om@_~NG5y;J9sYNB3$)J08QgiZ?GfOJL$M=?@i-Lz;6B68fTq6P;gF--;*%T|} z<(DX=WP%33aw-+jZc7Ip<qB?V7eS7O%>><%R16vu1Z}2C%t<cI0i8DsRRSJT1f6hO z3LO-K4=*a@gGbDY!3q`9@^f<X%R!@-@G-e!u->B7;sVePounM_fGv1%4l+)cnV*OI z0059blk*`503<4;q?ROR=A@>;_OXJ7>LB(eB)En+x_G*|K?WH8eO=uhp@+jJB!GDk zNzl*`XonKSQQ+$@kuRMG4e+6^C@V=V1`quer6v~V=M{t2o|Pu%<WxdOQbBG?&IFkV zKkqgn!QC-5I2dlbYltJrQIG|1APW!*Kx5w}pkZ0?fFgWIJR`p-vnoFiw7V2^urX}> z96ZvPk*biAS(aLqo(fv~4!$=Ywb=<C#RuP71Rp2`E$7M1D+L|ol3G{_o(ciQb22QF z!I1$9X_R!Pr{I=fqyP?B(5i@xRE3;G(A8KesrotjdFh!Yr75W}r{$+9;Bj<nNuq9Y zetuC3XdWgNoE#v7`0%zeY)BkAE})mxz#ISxKiF9|3Mr-Fl^%%-MX8``v{FDLyalDu zGbupB)_6vFu?+JTr=pJV!b1be-B8yi=0L}G!O^T>03Mlj4RKU3gt0(L4Jz&u;DV3> zr$eX&m<?5k=Tu=qjO>qELtv3dF3_{Kz$?m4B$w&Xq7U1M?HOoAxejb72_v@Z;1SzY zP&Py@)ke#&(ef)ZwJa5~-F>wDN<~_|3>q8jkpi7g3@?_-pp5}=wn6QA;8O_cV;qL$ zTJ(M>4|4MXwV2_6wJT7pf;AV<fXySNxd<&<5X(%UP6GRM6KIZcXf<6>f~99DdH^M5 z5OszNC@m)EC%_X5`WY?{K~)d(VQXmTnn3iUgd8kEJ;s-yC_2OCK0cGPuyp|Np5gM= zo47MvpnfIc43~q@8WuTYD1vi4sL6?|8H^H|Jw&KSiFWh?fg9ZR0yR?5k0@e?wzg61 zgT)?`4`^C}YQ+JQ4(fVAq=7(a;Gnyk6WZiQcQq@x(S_B`qSSRW!J$ALF6V{199x)k zf?W@i!RiAI>iQrV)I<aIYiQV0Lh(lrU2Mdg-Z|ktGkBo}u8>&4EqxT%!qU1mbweFX zy2(=afsJ+HNHpx=Y>J-PnO#F1u{zn8x=!ZNf$rr3b!|~B>_L^HcF-qK*B?t1hCpu| zHGGGLlkvtoiD|c(x^Z3w9{CuMVGY!n97u;yGk)5r8$U+SqJ@M}AJlLq#{lH;AY+&p z+dK@cF?Rsm`Xpf<#tb$OL)!QhYV}2~At(b$OW?K8B68yx+l<R$Xft;{*ieia7ZY&J zt6;zd8AOA&Iu#7K;NxoGMv;O67nlY$juZ?~eNUbd$bN^_^&7x$B&A(T*{ld^*q|px z(5#3#b!J5%$r9ZHl4eC91A$~1fo)a<Ho6F!6+vtuz;e6cZ)OGt_oB=c<mJJjQSy}h z+{Da0@I*;ENE#ug0H1SENJ%Y7%}Xg($j^i9JI@C#+=k31fHfs2=7AQPgEto-?mkS* zF9ID_mY=4O2V&(Yq@<=7rKZ9boF^n0>VeKV&MyM(Y0S)1$j?auUHFk&1ZhhrRVo<j z8yXlG=wWI!Ffd4f%yc9q7#`Y?kf5o@<(LNA5eaoP^eQ}%>!3R$!TwYLT_6Y<P)BlX zqC$CMr9w#t^h}VP)Vy@~LUjd50D%rlLk#8T7r_Vkp_4|L`FRQoxuwM=pm0dcQ-G`q z&n?X<$%M`Vffhr9oTCR0YosXv#6oCrpB24n1)fk(N(CRr0lIn+?Sj7`*I<92gapV8 zL}nf&%t5Y6Ov*1UQOE!-mCuJpCHOSDf`X#_f}+gCl2qv3Dxf`~pa=xrU<t0|p{GZK zW{f~<x<L*H&44Lnr&gBd7o{j9fX^ea$tWo)D7MnqPtMOv%P9rTvFN2H=a#4GW#*ND zPNOc!NvzZlb@6xB56CYr(Jd&-Pfjfcoi(QoHK<q_O#&va3l0*ygm~}-O=g}#0^|Us zM9_?w0tprerIr+dMoN`o4Be2T(!6Bwv<~E&$4t;R+JbygyCy%+E+L-$sgOiaDhK6@ zJcW$Z+|1$va411j4|sklQ2`YHpdd|1FwiqH1*Kcq{78_eivmatJTC%{Qw4KNOE53k z*WW+H13DKH8W7+bq+n^F2bS{j4|fexfN@;iLKJij%`NrJO~JB3p6(tY3WgR2diWN+ zOW`gRP-_Q#3X$u8tXuH<?*_@$0Ccny+eFG;X#IBuY$yp6DV)%W6maN|mTwB9<y!&h zWap7tzQOV|bWwXTXsU$H83VQ7F(590bX;CSN)q%jQ8q}+1Qt?|#hgrrdMNIOwRAs$ z%^;<v3oYUh6FN|5fXB~_!G|U!7K7Rw#I}b}+|@&t33$VUBOw9Q3_~9^V*v@G*bNI4 zR$q!owUNVw72GaDv8e|thS%Nf(6%9JL^2y5+JIsf%+(Uqb@lfV+9X8@+nx~{3V2f{ zXF>wFjfbA4SizzwAqY#I+SE;*IrQu>pm?Z<zE-2e!&f$xRlPk~^y|u?7D6nb&H+lW zz~b4C<aq930iDV{r3YeWmZ2R3Lr(&&J7=)V+1S`&GcM2)8|@mno@7$`YiRvJVmpfP zuzkwRz)(9yBkMW%um#Ytj}c<n2X)5U)(*5Z_B}))TTyCSX;J2sEI&}_XMJR5V8{Yr zJLh1>z~Bw-cR)P|uBJI)JyVo8>_G?<NOpAV&%%QS>})QCy(kWcCB6iZ_mfCz%)k;K zvdNGn7)g8*g!Rse?4}c)_F@%CNqi)_!VVs^XsHey6uKp#!3y-m*8`SQfXShp3DN^k zgax2jAR-asz6KPMRLK}(#5N*-9-982fm^yHjL3Uq8<8h-m}JV-MkPiD5Xge8lY#bM z94NH|B_H%qZX6`zcY~rZ3F8!6F2ukOJoSJxCL3t%2S>Yf3fL@CG9^Y21L_>GRk%|P zL=_pS2HR}KWoWAD0J|Pzw!+;VKH>##^MFUY;3Hj#Q7-rhmk;vj7Gh)zH5jR8D)M+1 ztZ-Zd_6aHRK-ruIY6zl73#f9lK$I_(?DT+SY;+4qn$v)c$&q0MwmA*hKp(+5ja^I( z3~o8472x|U!Ncm{TU4Ms1V9V^6O)rmb0NDkK%GdWvu}za$1-O?&SBA02+jm;5&$2F zRFtX<KVS!TgiKz3d16XpCG=dK<b2S9Cnb<U`TR5mxN@k~nR%dr^vojI`Qs=@2W6Hh zl!H3>u=9pM`wJkG5eksw9O2tRz+?WPWB*grGV@YFMk*kC5Ppgc%BeKT`K382;O#6) zsR|{D*{OMuQypP@RB;_DlbBbj0Gi=QEdp&Z$pM{)kcbv$kW-El5*(eKL7TcjTQxwF z1K5w@QGloe?=l6qmOx5#6Du-vOLGzCg3rGJtMqk@0PXeyO=W<_q~Mzxk@glsLJ4{> zQYt9?5>Y}Hw5$eXOL<0qPAcdCrp){lJOlceC)l7*9fK`|pO%Fb_RwK__#QU}1qEoJ zD7ZO;2j4+l$Qd>Ipp9%01yDaK7@Kk78<OXQCu-E<4M`lifXce&3u}a5A-Rl#))m+W z++RV9@C#r=Nf>Y!X9ArylZuj9M|0z7Zp=r%CjrzLiI8U;O)0tH=|}}!<u*zKbu_>b z6Wllh4AKOD3MsYF2lq)ntKl8k98#Kn&>|Hvzz=l_D8++UWFr^eU;%<I2G^pfl>rNA z=QK*<fHhPZ{U{!OM|Lrmg|?_?H9!?(328`$j^=KVAXayaP}kjB3Pd+)P@L04iblLK z#|>`SK$=RZfxr%G9z+IUKWjssy5S%TSpb8hm4@nd0&0ozEtaGT_ASnnMX2jrc>--s zRR0oGjn~I~;P{0$>d?pXxg4FHp;9Pz!g8rEb^Xl-S&oHbRS!%MuP?|sKZLq&cc8S5 zkLqj6jYAGEGCH-`M$sNX8`F=#)d>lsXhzsZxIn!e+?^BDvW6T3kZY){IzL$VqK4df z$2LOr2pS@lU_&uRh>Q>?h(HTVaMudNM(S4~GMR$08JfSzFaX)#u#DOTb{{DX0LsRF zP{Rd1`GLlLEU7c@14)YL7LYXV1L+!)VFb2uA6S1AecXo(;}Iu%V>wpZFUy>Tfx)jd zDeEdT149o7Xf!9kG%sb!<SCksQ$X`ax0o3iGTNXc%~^BVQDzMh5~u_J_yVqntst=| zHLqk!mORKx_S8Jk!o=b!Su!dN3_U!VdC57Yp!}SZT0A974kX5rn^=*OT2PWP#hWP$ zlzseqSkiOylcsd`uw`VXq@?Ce>FD8wYJ>`O_Hg8tf^K$9O_}1&(8E=dS(1}l3_7`E zN++~Yx*0TIhjx_D8)!z{=7*=<*u!6vpIlOunyOn~lvq%ZS~MjQ>mE>uJxGBHDNC_L z1LAaVcvP^1t`GqQ6G}|<h=OiTiBB)hOi9(xFGwwl&&^K(1r%f^0J1&@hZ<}d`YJwu zV)YavLqoj>cPJ6Q^ZfuiyZnkDN+RkJK=KoK*(_?|g(;2ACr>E$N!DX{;f^<od_Q9I zgdmb9GV;sgOY%{DfkhshH$KtN8=tUwLk7tkpaWov@^j)r=Tw7E^(jX65q_oEJjdXV zCsz@b+K7&$FN|1jC}_oULxFJy85aUjc83Az0Dp{vJQIuCG@&c_L028+fv!l(DlIO_ zP0cF-Eu4nN4){*7;wgk&bj%3PtqR`Pu>@8u76)+`mS!erD}c|KCurqiyjC)ok~X={ zR-9j2l$<&RTvS4f9uC;WeN%e)l1qy~wMslxnO_eNOe7~WFLjDv4+nHayLd{EAV^<H zW=^qQT2X#pNoroolpeOQ#GKO9VnoGvjhTVLuZI(I1b#_=(G<TP&Xh#Z!A^;}1ylTb zxFI&h=Vaz(Px0&Ff^tiXa;Et8@RsB!$0sEwXM<#mr)0U?FfjB8rRC?B<mH#7BFT6& z_V5;`CYR)u=Ehfm26U!)GxqQmmlS0d#6xR<;wgST(h!l<oK#Ts7srDZ(Z?s}B!ce8 z0$B%<MhNf}rGl<-h|ftaOU;?$&D6t{k(g5g<FfV$rdDK@#21$&mXsDFM4@-F`t|UY zCl=*p=B39MmlUNY=7PKqy2~LI<fADaJ$#vY1*IkNsd>ryDVcfcQ+hZ{OVV^Lbc-|7 zr}W66O2(%a73CMjXC&sO<fIl&>0tvoHMwL;4}U)R5?LfuSiz=D>5)Z~K{F!D&7Xmx zhYw;d!VRpUA#S=BQ+i}jCD1hY2!Q-hoRe6bQIuMclbD=3rH3~sF)zI|F+DXtIX@+J zN)J<N-jp6;(4kUADe;i~KB;-hnW><NU;}OO$V>-?NM=fWK~ZX2X2q0@wjRF3(vtjm zgisGtX3CTv-jveZf_Qks^XuUQ3xIc8<R#{S4CDukloTcA6@#K5AyiPDTAGp{Uy%z+ zPXehG1^LCP@yI&CsU*21zAUpi6Oump<5Mz=L5nTo;jUzdWe9M->EVe_0iR3;9%lt5 z9H`3pv`kQYD|Si`UqNa?d{JszY7uA~3&=S<Ad#fR;?#Ih+Roa-#K6!a3K9e90g1sY zh$%fB1*rwPss<)0Q+oJ{(vr~(0*N3D+72>^vm`MozC1Gp)VSlwSlHPk1~xS_uNZVx zU4CACY97c#DN{OnxQi0Y;aqRV9)aS@ypqI<_>9c-jGWB$jFKrmETCDtDLp*Jxrs$3 z@r9-NC8@<zI(me`d<Zu_CqFq6<kzhIAp2#LGZKpulS@*IAlV>3GY?c=#OEd!WtSFA z>FnW4$xjA19--N@vxhe&KN+;U2rA&s*dqkW!NsLXsOkhjH;bpl7nfA#q!wqSrj|_U z>=8}Q$xqCV2j6fP55Ed-N=HVWUujYg2PD^~g320!%sj{$eDNiTMd_&}#ZzLZ^avK0 zCKZ=tmVhr_iBCyQE1pt2rAG)w6tn^kEX+}qng-{9R@7vsfW$Sj-s&?j#7@aNX%AZV z6{!d2ggAmYTaCb+)kYxBKUXm4t1F1p=>g_6crY*|miDlN%!L`J;LpI21*$Ew&VsJ) zNz`Lt$SMb&otO$@9RrE&)Ma4Ek_4#(Rddkgd45@I>=+obR)Po{dj^IqOAyftBAP(N z8+`@_uv@cK92gj~6hTA;$ViZrvzVM17_$C5GB9MtIWsV1<$@$QTo@R#3PCJpR|bZx zQa#WyE2%|^y5MY+nL8z`5+u3JgMlHd7R2&%V_?Yg1`!WHcT|9GFv=1FITO@U$f^R( zC6<E*DS9|T9xkaYNQHzT$jg3U@A`qg>X!xbrXSdgep#*l3=AD$&vj&hJl2r~@>E9_ z$U_}q&vaygJkkO7L<iUdepw*L`(=R~?w8f(&%of91#+if7RZeqSs?fMf!*c@c2`Gf z)-^WB3O{hrgX?#2(9besV8{Xoy@WXfLl!vbt3lBL3i>SY?MjxQAU6gP;J{xDVu1tS z7!>Z{z^?(Z-hyJ_3Wx;`d}&Y&fCE1c6z+FG#5E8Bj)tEg7C0JAKv4sZhD1=*fTAIb z8x%F*(BBSf7Jx&a4HQY>(02tz0XX!*w@!gWAKV5H1x0~BhycYyRw0Nb0`kl)D+Y!v z2auKDK(49<vB0jH13EtlbP{XUA<*6{&<^3OeIRY1)i+slKuvtmC`%S7sb|#~q4Y$u z>OpRUbfq-1t}~-bHX|e<{VbM{{FHo@@iy2vNiWF_T}X>2>l0|XCFuOltS(S8MC+Xf zf?DhoaJw1etRM#;SAQ$mJ(bBBsma;k^%9`IJ?MsZg_P9d<f2UQ`J3Po;<VDdWY7+v z#2nCBkNIg})z1EYAwm8=3T~c0u4p%4fkO%G$XVq26Wg$0FtqOt@;R3FC@8|<r@1Z! zmr$t7SRo5ovs6H7X_*lN12jmNgQ5*1AR(Pqa9Tv%;Pu`fl%ujfLMV`hS)ih@xHKsX zR2XLc2PIfgNto5;!N5@3!wYZF6+w$)-sDWkVUnPl4^&q4@PZl!Fm;eZ99aaSE_Mp2 zHp@-Q&xuD-DpFjDA_!N_iK2`XW-HiyAr$i=ZFO(P9#M3&pfU_S9GRe6DzT_!iZ@pe zUqNC~acX>SYH@L5dMe034anFKUvXt|Nop=k2GLMP9U($Xo;{{6r3E>e$)G*9pv|<I z$(bbzkQz+^RHj-fD8V{1@U=e0O7K(cASv3CkQt8}=3tugs9`SleM%=OO10pGe~e@! zvOvXUVh<~{Mb6m60;*1?^sspPx%q>d#Yo+o9u`m=WQsR4BnkJR2R$V5?sNq8rn8Rv zqZCt!AvyGzP$v|MN}!ea=wYu-NY|r=IUs#FL;D%YK?U)37PyQ6hxTKVjmQF39Ei|n zf`vAFxMPr?r=L6i0MB{^Dty6KLl*@02*F$EunYjn8pMV^B3i&x-}WAr1*t`#&LJ!_ zC>5oq>853->w>QF)=f?<NzBPlFHO}gE>?maYzS|ar(jRlECHYdLCWYnMo2S~Yy?J% z&bklko}qNtVd?n^)ILz~mL?IMa?!%h5_{N{Bqr%XmniBc=N1qhYH}od8R`o}`jjTw z2ogfgSBMd6A!Wg)iy3U0c`2zCx&}lCl?BQEgt{CNRHh^wK}=9Vt)Wo>84?{pfh7A5 z>T*N?`H^hIzz2{K(E*f2vhOegD4k>@NDiRX9&UJX5AKX}rKBe3LoO<v;)im!45(oV zpF|_0=tVU6(b}RQgTZ4qS)ds@UvDf;{|G1W;?m4w1#HW-!H1=!RwRS&F3l_{R!GfD z0Sy}$6y>Lsf}8sai6sighQ%ccj-~0K(^`xS3@sJ8JWD{;O-V*-9{SP$Af;Z3d8LU( zl?sNI=9Zwv+UWWrD=!ifQcDt3@=Flc2_S9}0IvtnEC#PrFHS81Yk=M*kdTm;lUfm< zS^*ks1Zf5zA_Ex%2lq+f2Q4Bkk|@bnfS#}pSrv|S%sqGoI%xNJVoC~l<uceZ&<T}j zhlpoF)=|Sxwog$2jjw{O1T`zs55Wg}Ar*AaJt&nZ6cpvB7bWH@BqTWd`-Qm%g%~9y zz!uSi7AK&uhzBkI1x-XEhi`t7LMr&`U9*x5g^c{tBFI7|Xnm#tI+G?TRUtPqB~`%~ zET2=UkW{Gv@>pIvVhK6e$KVa~NvS2}si}E-3V!(tsd>ezxuEl6azP_fMUbO8;V}Yl zYeTmYO#$ESH^@>HN-w)-a5@pvD(?uum}r5Q57;(A!Ey@f+!`B17{%ML!G(z=7l6<* z6tM~u<jB$_Nasoyl;1(;X2VkiD9eC%M?#YyINLz;D2j`ENYqP42nnDU3aH`4gIr>u zxD6IsOQ;)Kf{>G~kP0OfTYIp`li_PJj+EU_U4Kp;ltnCRSPxP+k`doL$aM#53g>`T zDky%3rS4PIjrBD{s@_6gV$d_RoK856U@Q=T-eZMr%oAF^gF6vu?M7edpekzXvNQ=i zun8Vy#;^!9N)I1sg<1!ikRY_g06evT7)(WT2)F@@OV+P6sT8!>tQ<5}3tASIRRLnD zsW32PRT?oc_@*;vRe?m%2kaR^gT1&0>{$_#kg5*%fc;x?^AWiHj^@>LXqdkO8;XAY zcoveIA<ha14cIH_LawKRHZF@(OG*nM%}|pt=zU3w3gH>~;I<&NiL8)W0zO7NPoW&V z(-B;0C#5Qs7N@3_=Gdc@7!Yg0V_Lt!?jobJf-Qk%qIedOn4rlO_dtCQCuA77C^c<L zmZ}@x@%nU7?+1Je1!y)Be^Qx-BdPR&X8mv_l?ez*NSxqKDuRJzj<R7(D$}5$#|JhP zBdH*{8RD#VP*Sl{2*^oIEKXG@NzKVo$W2u!&!_}#@hmAVN=i*Z^aem34cHmT_6nZG zpv%XSQj-%)i&H^8LGT7&&~h(@BGBx4vAu$)LPla)szP4ALVf{g`ABIVbV3N;!wPT% zcid3NAG5&D1Sc&yus^7jv}T|L4!KEdJ!q;1a)bo7si0}_qy?JWE=}zbj4#VfEeEXx z0j;ep1uYe*oubjho|#u%l9-b-MI*u|o`FGGQNOgfNIxkvPd_!UOrfB%BqKl1m`hnf zS4&p`vMk0*0lc0CB*LYvMP0z9tl;2ST9T1pWToJfnqQEglcL~}m<d|&nx0yupb?q} zy6vqP8hv4zsd;&cnq0~tZ7zu=sa6Vp`DNhFpn{Qsp(#YdIU_MIJypRYv$!O`sL~27 zsGy+WmYP%q?(-WN7+NUkDmdolr78quWaeZR6yUJPic47m3Un0`3kq^FQ&SWITmvi= zz>6Uiz{^)r)TE@OrYL|`Wr3DAffuJBOXuc;Zg_%5Kzw3RdU1SWUJ7XGN=Z?E4yd~V znt?#pQCyIdSyGY;y5B7&6{MgzH!&wCwMYRr*IA6LIwci6FPfa62fA@ZA*nPoCk3*u z4x|-iwgSlV)I{(I3TPfRGbdFcD?dpAGLedGRx&sgQ$TCvN-~ob3KB~)z!P2II}*zh zi!wpWS&9|Xit=+6Aggr1HX$1UcRa|_#GD+sqZKmqN<atLmVs`oRDgM@ATu>N6~#Z$ z3|^901X@g^P>`6MotO>|21q&uN3DZTW-@4G02)~u&YB9&`305WvH+ASOmsm5LV6H~ zAxF9nmJ|mzQ9(f=IKU-B7izGsXG&^bNoHDRYLS(Kv$L*Kq^^mc0Zb)$l%YJoC>zxM z%z-#1MWHkgbnY=|)Wo?cHL)bKELFidKQ}i&uUNscq@*Y_3B2+}0c;K^g?Z+cq!#6Y z6HH=`0@PwXg^+v&P$pIYT|HS)2`cQsRU_0I9R=``DTvQNNAp<e>nB641Fg9OUD%jk zl&%j|UaX%~sc)iZps$c$q)-eRMoU!4Ni6}Luw0T4F$CSQItl^)3QqYI3WgSDW;zPK z`K5U!iJ5r{VVSArIttE?3YI1YCPq36p}~%N-~e&(O)bgDPbr2*2KXFma2`reEs2LF zgZSj!6wtgNI0HcJg~^m<CdQ{HmZX*^Rzf7ev;GK;`FW55FlZ{t%?2$hN=nShfv7Ic zL*?gY$EW6%#g`=(Av8c!eO7)FL{DyZd{%xEeCZcNFeNnylq*5GC?1@PAi}xX=%Umw z5Y^Sy!AS~|Bf<GKF((Hyu!lTI02{8;<Kl7wALR|Ybu=G*NCot0Xz;1s;IbZ^t`t)9 z$})@c^FSq&f(Cf?SWYD<DL^!FxjOrXyD1c>7L}zIDWoQYq5&kEoSdi$9zlc+4?^2) z5Ep@x8E8dhW?m{+Vo`c2$nawDVhnKFhpxSV=H8;j+*D9%1D)4fP?QSVJ^?eO2y#Ix zXcZ<Gk~<*>Yv+N=g<{ZfEyy6quwQb14(L1!upbo?L6eWVpmYGX8oV4bg$sK0H>7o@ z0P-+saR_t}NFlSNSOJupi&9e{W0XkNDj>=?(C9N4^r&u-yFuP^%P#^Cn1bq71&{*J z0pZYem7>Sx30Zgo2~T8GGm8;1lZaI8f=Ui(ctGy|D=tmS1sD5Vu;VX^Kr8J)D_Nms zZ7F0BzgQs=d_sCbDdhf6kn2hkiy%Q!k`IbEE~x(@&VfX)9v4?gWkISHEOqG>R4VA| zW~Am6aFygMq^FjkoIV0MbsQSg3ZR^e7*i?M;|c;*Cm@Sasy$HaO`#OD^a5;25oD;o zSdU9xU7ZWmywIg4;8Irb^>+#NaSf)v(cl^`K0d9qq_ikCK3*XcbVx~wLP1exUP(Nx z8s_4H3g;KYSjClaCTNonT(~p|dTcsOBr^|uK0J&It?jtL_9hmkgV(XZY;}a@u>jEG zmLeSm7~dr|EwMDGq}U@hr@#$#GC!zT2ZeKSep*R6r~wVKBQq^CSpmAZ8k|#d^HV?# zLr5)-T)My<11j&*GSeZBafYnZ)^pC!1GQJ&GILU4?m`kmRU4X_4^meQQwZZjRQcwo z6zi4b=jXuXHF6WPQ{z)Ii*yt~OS3^4KE5PBJ~bJVa&;6Sc>_{rBZ-3#XaUuv=(spD zCpE7mz9<#c_|j2Gtw>ESElG_phDU>rLSBAeYJ7eXXpy)kD9ostGIe#iloi}U{hUKQ z{rzZ=I#W{96hO7ChNcxb2-MZpp>Y8zTA?*7qy~T{JUs<xc$I=84^PdYK+H@7m8#&v zpcs5P6sQFRI(r8s8ITAq%!|RcB0`J{%nwQ}DJ{waGa*u7COGSZbc0&H3bvqv22r&m zwFxvd!OD{rY!#q>0VN>~kS;yYJXTSD4k%qfRp})b7iXsDfm;)xqykj|Rt{AHS~`fZ z3Eqg%NY;cnH#1EkSq~Z#pcX`WYKdM>etBw<hNgm|t%5qJ?#NNMQcy;%7s0Ls`3I&I zsrdpj8zhyQQ=AIY2sQ#k16UNK6f9E&2{kTIoZ@OPA;q&xDyYuMFHVKTG)e)DS{Fk? z2&^m@G}{TU-XK>FI2IJ-R4SxEiV(;R62;*1J1;*^0aT-B=I4QKriGS0#n6+I$VvmC zNK~*=@Jq~1EiOn*P6c}$6i}d;PRz^$I}&u8buP47p@8rTxI~1si}Ycwk>tdj9EdMK zsS9KfxV$V<u!Wb6kg`$(X|<@Wx+kO)tbknRDZtB0b-1fQ2I9kzqycY7K`PnY#N>?3 zywqZK9lYkG!OCgK1{hnsWjQpZLOiFJn34iY@8IT^hPtjUq>fkD0WFCwu~mnqN0=~9 zXMmRO*&-ExAOpY^iLGCLUMg<qgPIDqN@0mPnJLghqSy-D!pc#of#s1Jh2-Q!1s#PL z+_pn5RR=W*OUm=X7o#VZD1gII36gWMc~?nS7gR@pN&qF0dy7kKl@J2BEvqa@CEKg& zp!5pre)%S5r-Ez-<swk;6x2Qg<-*JyQ1ctq3c{Us)M4#LXxdfB>&MjO(##aN2cbL~ z`3`hA8+ZUMGX=Dm0vrQ+gq)X-;yf^qhR#bb$}cTYAl`kT?n`-MB|HG(d>XnDv<?`Q zNI=N|T(T=bZH4x#2m~q8jwZOXQN(EI^wi|UWYASU3W>$V`N^5!=7Nqws$ROD0-gk& zTNzrMTI2xUT9}y}oK{kxj;EYb($$3)OevW~a33NI(a3{A`S~T#JDu{2DxsI^;qewq zr2y;SLEV{}qEM0#ib$|qm62<w{31x74%B%o2HkfBDkQ*pNk;*^P9`rk6*N4UR0(aw z>J?OiO~FyhArDKyf=eA)5KsMryI@z!%1_dR?Sxh$P{gZ)N`|7+luS@70Mr48X#|h; zf&2#^Z%S22R7grJNzTBRSU|&!2<@ODD9nI@W|U%h0OJT6Xd4ey62n3Uw)`F<1`bzj z6*umHQHSmniFb80#S^lSst*({Ae$gFTcEK`sBYx0u@W>hfZIH_AerLSB0aE|K(%+V z22>u>?gJ&IVlFOl>kpdP;!zuv@D_dmWbgz$g`of%iYQJ?Eds>`sFzcc3NCiQ{X0l! zNdaZBp*$lqIRiXw0S+XnRgh&{B^jV<3^E|3fMgiK79S|6lNGFx+v{M{LE`Y19VnPU zWg}vP1gNxx1spgy6Z2Bw`j8v6PzPZ4E5NE@O+RQK9M*#d%atS+fd+=+!G*J}0<=S` z=jP)Y;TjPV<mem{@8TKc=jiLIpsk>;SCUu+DH%!<i@=*n6>Jsqi}gUm-+Ed3nRyy8 z0|FdFJmS$z(E&Av;I=_y7d&W~TacNPnw6iVk*o)6tLR|#IY1)diXOs9&rHFVJ>fl- zl*}T870Bg+MzS87F$&3g(5eWVi3$qIdPo%w$aZL|K(PWgl#17QRHG2?gGPe}ELf2& zf%dqdYO(eDNeFc8{sSdLB7z(01W2wyA7ape2Rzilc&t*ulV*Zked4|Ror0Z%JOe_4 z@frelHjIEJJkUnAcu&9J5Jw-McxQj#08bxRFMlUZnB$ShJK(_$l>`r3X{dYUCxN<H z1(}dL@}RRn;ENQKQd9Gw)e~sisU#oPoCmdZ)fKeCc?#krST_UQSO85hsVitB0y!nK z2t~Dmx;{uA?hDNP2W<|6#?>^`BlAlYiZj5g0YF0#pz9ZN6Ekxl<!y0kQWoeiV<k{c z4QYO-DuJak^Ayk=2`X^%QY%Un(o)M6ax?QvOHzv!Va*gs$%|U%f?IAH$%yfkfYc&T zR}D0ns*spmQkn>wsY4o92c2pG?fgJ{e$dhicLy01fP=QUB)!-}N)#ZUp<+BS4li+` z$rE`T29$nm5#=?u;#L7tA%d)fCT!@gDEPoO$Pm!=prB=;kd$4JnhYMtg7$8Z^n%h7 zY|S>fdIXK?L(4(PGy`}7HK`JsbwD*GC~={tH;{qwjvnMF4OrHI1q8$^{y`x@j(+jM zLC%nL57L-lte2dTl39dS-k~dnjVVFeUXT$JNLOD0G!Y4M7-Y*msI?2qx5!?D#}&Ld z0|gSIl1r^9NX$zCO_^!H>OF`MsDr2h*9~$mvI&|9Uu34iOTWaVVo=SA<{#9o4<2Ge z86<$&3)78a4<gP%PC(26!izd=H48{741?-l&;T>sd*Esv*$$%0WLRvXH32{k38b(9 zSqhI;n7?RkAz~U79w>;|p^uA*2|`#1g7X8YR&+y3=+F{DSphsHjo73B8NUauJy6h9 zfGsHnr%GrM02|o@RW^iLdx#Og#1gc61D+nBl|87a0%c@G#zM{au(-vVW<i=`@?ez? z#^kbwI;g(`iWqQP5xjT<GVKhK0i|b9ngz9wp`ij#Q7A!(mJ%URj+7ZQi$O*pk^~|r z<rnLL8vA9b2uaAmIIMmIcS>;0#Ut01&Y+?8V(@x}Qs^bgh}qjj=*ovw$P95Zd>|ei zf1rX2RGvbMTu7^;xHLHfe3dkKPPI}YwIZ{)1l+X&bpb(35z4^F9YKbG{Xuv2mS+~H zf^S(s9nc;Obu!qWc=|A4dE`nEmiRz3&+sA=BWZ$ax6C|vVu!U2LmY$LT|<Hq(G1NY zu0cWmK~@T-dD(gS<$0hv{@hIPCC=cP+Qb}aqYzr7U{;h62`dG4P|AeH7Sy4TGzUt_ zP`e5s3;ZCHkD!{fs0h?>gX)6BF~mHy{0B0lxTHt}%`-?vE7S(iD6DP<$QO_qZ1BVd zsFRN5@Z!p1J<vf>8ivpege#0Of);7^2OK#dXJvveKQB=Lb+XbkQ$RL@A^^lKg>d09 z1yT)>gZ91<ijn$ThzJ6yhk6UTGBOpkE=Zv=zqAN4E)H4}TLc~k%}Y^0jENR2l!KN~ zq83RY(?D1~5z<76$piO+q32?No4MeT0?<Y2pacfWe5uLc;RGy^0X7NA)e1=A3zCDn z8@%BRx#zBs4?duySV318+$jaqpm0M8C6Eaqtg8zPDP3J8%dp!OQdFs+1S;o2@tatb zUKVW-s|Q|mrlGE{t{JUs7^|R-b^bwJK{rDQG++XDHGG`{sF@E=li2Np#z}I1UU6wo zi2{7g6m{W4K1x(!^<{A>cv&hqsiu_{fl4ifl+=>M%$#C0n?XK9Nx7gvf+s*|HcH7X zLQO;PWDIHAsjF0b`1`unLIyTqtw(SIz)aLcnu)LG!BTgiw$s2vB%p>Nc)%n*wFJ@G zf>igQ8U#9G0Pfa-FZMxHB%pe%SOGGS1sYTZ#Uyx*PF@L!S&{*nR)l&59HWTwUr1Hq zS)!1VpIQvQR3|qPv|2&|G~u0*Sqxf@0}dNdW(8G?C8-cC&X6TXkXwcz3lPD>pv92& zL$KK$XrmvLqhQr`F{C*J%3$E};CNR*&|3JMRESRG5wK!VZ3oWGkX#FnAjGgK=yWrp zYBFf(#e+gw!AhaHqzG&hDEWZKE<v4U@LEx@JY=O1Xz&W`A!x{gN4{azENG1#NHYi* zrRJoTCFYet#veiTHgX38>O5$vj%jsaX=*8Gsds7-WTPu+To|-63N#uFUg}zs4>bZ$ zO$l-acsdxgv<9}e1jL4<J#e<xP=_QYkiS4FPC-u()XoBjgR%l-eJd!rAhnwisYIa| zw0a7$gbci00U8)k6N*wnHDy^Ucx^0b5+0-@6&!+)1`e#Pn3)P$C6St(qF@WJroqi# zB)dVwkf4U5J|vsM+jyzTDbQL=8MI<TAt$rAq!=`C3QA6poKTVv>Z>M#7aya=CD^T? zlnp+7O~DqingJ{W3P*U7j0X)ZDcCAR$HL``O7lQgfCOPJ+@jPRP@>VO&`|(84P*ow z1|^9KP-_{s+6T1*2x{vGh5CU!49OU1+A+E6MWuO=1Ml>TGt@QpKyE6AxDs5P!QG4L z7nFhuWHVd|L_f$f@_Y%>Np+us3<dcX#h+mB6;y(KO+r)<;kbav5D$OwD1?rJx>i9Y zYS<Q3f{qELnYAIV!6Bdl5NuY1vKn-qPcaEz1_d9uS|yPDphYey!4o|M3!5O)LJcHx zf=GcFH-dsk0Tedq_T?6k8YM*9=NsVT7~&cXwiG-^h-z~lc-a+c(LqES3~@!VH!la( z*7TyxB=GI3Bqalq?FCtb7PDz21~U<MA`NkXVpcB=&B_egTZvYF!rLg+4qjBR!WPb; z`8O*+3DQQ5#we!|b0o2lN?jSW_8D{lTOQ~Tw&KjZ^qf>^ZCH}8ke`<d&QysCNsv7a zIr;eonR)5pvJ(`lpn6lmRsmLwYJ>JVr52Zfq>4ck7m!7*FfORc1!Kd~J(j)%G>K>{ zfRYa+m1-+MBT-uc5w_Zp?i;A#2dQPTm<6kav_Z=VK%t_ofGAtEF**{_>dyWyuJQhE z@y`B!E}_mLdbug;ItuDOp3bg*!LCqVkgKDMFPMV}MbH)z&@LLJISkOEagcYxp_N(z zzPbQB4*<^XN_yGF8A_1)vIMlH3S7)8C_vig(CJpa{DRax&;Systp#p(>L@6cTcuYi zX@c6cpozZ>(3-wf)V>NR(|~LSH5WiMD4I}JfGk7k2CaS504dZ_C`wH(Eh^3|OSN@N z%qhmRTn%J`f&!>zR+3s|o0FKElmgx|06P5^w1q4W(qDio!$TpBrh)sJsTCz4AA`)% z19h%7qYWXUgvShoRA!z6N>GCXA0ds41#0nt+O!~BAp<U;({Tz)Kw_YP(F;i|as?e$ z4GMOo(1!OV)noGX^z;<K=SwT(CnuK{rKW(|{5h!#B}J8>>4TDd1<2$Ac+v}&IB<*# zC@6rs7oc!}$2@E@5@q}lbyymq782X)>gukL19Kpw73rB}sd*qTffPbEj6n}VM>Nu* z{RI5;Yy;jC!qbfb$2hdJ5}H?%ScKe1At9&X&0$D+2fBABF((JQ#+nu>rwF_uB(X>r zlo&}$GoTa?b&-ECwj>M<Dp2YLk76o-ia;xn9pEIGs+U?+l$Vb=NQltj>lz&F=<aG2 zlcx{^9`lE41RW3$$}_N(3vvo+8HNaNg9bE_lOxPBST+GI{6^ZdrU4!>19h`NOF>{` zb&xf$nUKwb*al9(!44{oQV^96D0?SofGSYX{ylIG1E)R2m<rNHrNkVh4N$NZx$vb~ zV11C&wLoW}rzk*|3xR4((Cr!sOTkS@kPuP%6zo|nLlvNTN6?68ejdbRs6(J;rY3{N z5-~>^;A5lMwZTRiv1o*BKZM!>F8?4dC{`#1wK<^nA`MPraWiDt2)r5_8d1;)$OM@J zUPFjjw*`tX$N&K-(Sb)bz<pG>6Y`;}3t*0hY=wb31W)M#H!eLjuQ($U5gjF<^$^g- zQhurBA*mH5A*s0qpr``JF4zrdnqY%03NV#E`H3m1kWnRU>h)5~Kno=xo25eYKsO=f zrKW&0HKaL*QoQAW4O6g1GaYr@0Nzp1Q2-qc9AA_Q(gvygAr&FW$KacHK=aq|J)H`+ z3Lu54MS36#ZYIb$PzNwRG}tu=)G`Zm3?jNSsGy*boKtLz7JATu8jv$U1xjMBf~^9k zd-T8yW)n+NH9#o~wlWQz{)rq90a*aTVEvG!4zdVTOn@U0Bu5m6CMlR3pj;ANfs_|u z1|bQN<{(HsLMs8(WP{e6!Ke$sGXW(<8mX{i6%+!bmEo|60blYC$_}8a1=9m4eHCzC z1tlL8rw_gQi$cGHLkT5MgQtSPodWFPrK6x;t`2Uwq(Pd1p!fpeG`;eo%#u_MNEXs7 zN(F7E*H8zQTI$fc9hyLfUMPcoMp~)@hb&qX0W^LOT~P|_WWwfBK<$On%oGp>Di0LW z3gV0M^O2@leDhO4OQ67w0EPUb%=FB>#2iqc6OrmcRT6vzJhKEeB?6hk%}j-?&jt0` zK;zG#0th@E58@y-Ar#6%!~2;f@P$;+(=+rGf>J?~XJ9{pM*U0jL7k7xJcUGsywq|~ z7cEr*zC>LK)F}j+44rL(4X9T_>puJqe^|hv)z7f4JRo!7N+5Gd&;^H(lZQYH{h>>} zQWc<s8DM9Fk|=ED3DPcnkTA|k52!>rcnKNEW|X-pguN-CZC8+e7a&#Oxe};n!Sw^0 zUqDki;3xo1JX5oM1Wh!k)&+ph0D;agfRYrVBL<p|08M2CI0l8FoHLMLgtEmB7Jf)6 z1?syY(Tq_*t&kw?n9MX-76Z?&=;`UJBZ@OvINB<xtAOTU)ggLN%1Kb8Bo(w_5w&Fn zZ>NAKia?DO@Zc=owhy#eAiCuPTU~)zMoe_oPh{%{-9?DD4=gQ!@(p-d1D<vaD2;=9 zG~nhGsBlBkT$Wk{+HMmMxhNB9iY-3OH7M8<G`|rNgz7P9yu?FxlY$1hpdzTs;N^oY zd@K)DK^o*Jh<NChJ|w%LB}Tk!gsXFCh@+E_E8NW}4F%LBHTc>%po9l*C1a))6n_l8 zs+hzE58i+P$1O^(h9-Q_>^5R?EqLW8N^1x)%8i<^z_|j0fN8}UAz*iav>_T_2#1U| zxIiI;z=)86_S?`JStxsIz|}9jQ3dNLA$Re0VD$iEP-d_<wV;(R{&p1D=cp|K1)4QH zpaF};I+zS(^keW3%s?v?RG*ACp-}5PNOK4pRNzS?&=DTc<~~}v2~|Z*ISI?-@bVIM z%K>PSJ~_sKTVkL!B#31bkUB6kO+j5n9n@QaIugw*hz4P19%u~^c2#=ddrUOcRge|| zVppkP3oC2TEQ&U;%FIgvEqesH2g@WQEMyQgb{nEI^HQv!Q-&z@+8}7HdigsM9ecy0 znF?BPg)`0(VF5{u(6JHJj5Y)smY_|H;PwmD10%0R2@U~Bk%*G#KvOGO`AOhW8MHzX zR>FacCQuU<(n$n|BO;GuWx=$9bb%X`5bI%T5iLk0>qncAu;78vNI`?84T-tar?@B? zTw)`dh|W2wiFpd81>gn^+8Sc`co%qx4K%4#mI_)54US##xs>1mvtk7e@JSspT6+09 z3Nc!Gx%rTD1Yx68P^aN<=E0nX+F(&YZm~dny9&@H&T!{Jn~`|NaKJ9k%})U(VNh=y zzAzMKD|j_jZhi{1>dQ~c!ml(RsxY+zavqPZ0v01-DIBve4h<2Qi}WBT=R#JzK&QrG zPQWGywG~|o>`Syx1oSXo=zcDQcVR;dNGTy7d`bXhTo#rRz-LT?){?_|s}O0#HaKY5 z(>iWp&P7Wdpnd>&U<SIY1g;F*fGX6fgpvtL(FdL72?b5P!pC4BGyX8UAhjMSKNcw1 zg7&V%j=2i}Pd-GegA{^RM(L*EIoAWEA8p${mdJ`lRJITeXk>9oN@kud;&4H|0M7td z!g}&cOGww0T2w@$rliue;>@a4TSKHE%P%d_0Uf#y8h|X&1MS=?&C3L>vV&#=kOv`= zP>^3*q6fM_EG1O~It>Go%uG`#(1Rp;aAH-oRWLxbcR?zk+Ea^)uxLjpP>1fXNlnRw ztjqw#8>kdOJx2hfK|w)59ke~8q^MFMF)tsyfd;n15Y!3>jhz=4B_jr?K@0z(8o?CA zN$S4&#U%<knc1m1l?v`bo=)+O0iN-me$GCjF0SC^=?GCDPbaLW+o*#wr>n1jFh~LT zqOYV>g~XJ^f|Aq}9JV@^C1&P;x3I$8Tx<m`&cKdSP=K5+s)40QQ-^8Mf=z|Nv>;|W zoxueOWZO$xVrEWi3h2NCkUD6~Dh#w|5<C@;y;%reTVtgFvq}MU$esekBxHv|0x=bm zm_V!25YY}PpOBB))QDEkDF)}l9CaP|266C!7(AbW%TJIyv0*%gd8`g(F<X3Yak?!& zL)4))fdXPwR>9dn)W=1^&p$-L$yLG4Kh)0!6k1?YAgP**iz_otAs#%n9Ul)G<X4K1 z2c5YYAFl-QF^Hp~$u$LZzCH_xGo^<)B{gk|cbIo}`;;CDT!%SM$ubXQVDQfMUeZ3L zM;JOKgnZ}^RKarZ%k5Kocwq{_yOW?&SAE$TK~~_}oC{Ir%f;wx0aC|>*oXy{v1at0 z0G2^4&x6WLX7t?vlHo>Lk_467#OV7DB*hEfunexYvhtIlk{=j-Et%S<^zfq{tqqm7 zX7cR-Neg1Mj-U#<n0yz26bOI~&qEx-4V7QS<a?H>eG2IIj2;Qx{{G3tz|e!u60iiG zI04I}2R2v`dlZ4CAkm%$W}}A+SP+YEz~ZQ(3l_o*IIu8E+(AT;;|wHHin!jP1avhp zcu&<7jR<MwL3Psu_!NG({L;*vocz)X^vf6gi*xc(?s)J|F3C?yEdn3r4>@HX#}yAK zmq94#VmaR*-7e^j642x7LB)<PcqSZt1W++(RtdDc4SE_nsH9I$PK2BVk5CKh1Ax|w z6e|>$W<u70gQv&KGm}#lQW7&kr-K%xLJsUs%uz_mEG|yXg)R#NduNbbPLY|HUj*G2 z2flg{I;WKjS`ZAm??MCQFVOba%;J*NyyR3(<e-3Ts7nFwh9mW+h(z$#HONk3@G5@L zG6|5qpi86`ic$+pQ$d^FK&KIb)(C@pJqWuM!1qUj4tGz?$*I%<)oD<pKz-Q!(h^Xk z5OknA$V5=n0BmYjeiHOn07z7V7j%QpJOamk3F5Mfl6=tgqyl6;9DI!g<b+(%R#Wi( z1|TyOAW0{=D6;@^MnPg(ekSzljuhza@tOH~;5Z+>wE`S$gW%Q*>RxE01v=m!`2vT; zoSgh}NT&@niw)Xv3SEV*0J;q!zbHQ^KRq)!F$a1%7UV2;P$~s4EYsrx-DFz;Iq(l+ zOmQmsuzyGbgx+WbOWB~CE+Hm>bwihsg14h`LAyoZfrcXRDjbk5Py-u$rwh~$kaR9M z4}#nPI$Z&ji4@?gJMxRTK<tnpN08IfKzA{L*71OLv=>7bwt~(ef~;80sRWsp2T}tP z1UbJbzcf7qB&q;kddvkocDxw0zcn6|Ipe|p0F}2;SH**N7#AcKmFOw>gIfFGLq0M= zr|?6rk>El(;!q<yzbH?kI3qPDM-#g67QC4`1+qgIZZr6}Bv1hl%Erh62D&5y<SR&4 zhUiU&l_IGr3T2szU_Zc*008xyKxY@i1a!0VlXM{k3FxwgjLc$inFZcOoS0J#-meQ; zfD1ZU8?@a$7km^y)V1Jii$Pl;;U{9J<%7}@Xg?D?w5%W_g<9bA-xYMh4gxhk5hWM2 zQw~|=0B+H0K|P_M3vSdGD?r+45ETk3$QOy^!|E)B-29YO@CX#dL!kS&AnTR2P_^qq zH;sVe8TncvNP<j+7oD)%Cm_a+UOoXiA|D$Gxg~+J%O?<n5wJ@gGEpy_fL^7NnV(k- zu`eaDB()?n7k;?|jIW~r5=}|XDM<uflK?+19lA7-lB*@KTm%8WIS|z81Kl+NDi1&x zH5BD0=EQ>z#Lxkk705RU;TdItBsBB`9YGt&5>w(+lT-7`G$B3*I|I~PLli=gTne@g zE{LQUy?lZ#lSdbaXmKX)1`SZ?VoMI>i-9gkaSieCccH-*6yU?5Km`xd-30EbCE)T1 z>*4+2q6b`{fHw|6_hN$!NXSVWE~&|xDXGxQ#X!{%%oqhF@QO$!$XOk!kXi<G5jv=) z4ldw8H?o7af<hF6kFi$*j}&D<j>QEXb^~262HCv`RS0R~D}l|(FM`@*o1C1e1Rb@+ zJ-`Ynh6#;oChI5^6o8iHf_<O^YAPZx)5A#Zu)~3sLG=^3$FESFnF86Us0_N5t*8WC zeS_{_OGI7zsQ|tt404qwtg-=xBAO|nQJvJ3cu*XG&clNobeo=9l3bnw9sA2nQvkab zwEh=#Apm5w1Ju-o9-vfET9T4k6m1X-z9s{C;Uh>9=olJ^3W(XDSxm?wx@cBI4w8Z> zg^VVFw1e%)FD-$H<F*8@ga}*UY7y3;WOvYA93Z<v7;HbZ?*SV1F#x5bWIZGiBSe6J zG@$2s4M>D1BkTgH0+n9zxv9nAyOC@a)IqJOc<52Y3ZB6VF8+S5ijXrvz{)`vh=7wN zhzG*x1_T6o`h|G<xhwcO1_j3lxdw*128W=SqYSz34c^p4Zt8%IMjgC^6qg#v%b#=< zl64?y0pS^Rcc6I0%il=>a>OmjPr;#1zMdhjE{f3guX&)WFCYcE2C^~GX&KnK8)!cq z%rUTDHj+yqp|7s44m}SWqul{&Ktl9`+AN@^Hz*rGtE<!$h=&N~Z%~+L!K_D{{{Wq& z3zq_gFQlzgT$-c{pB+<Bf@kz%B~Z&69ONKV!ES?$GL+;)cDLy%c$Ofx>48qnhPPJX z+MrEEkndnOxquG51C<AmP65c5kT^zKXbtKXLk|{$n*>q_TA>KakKh717j(vMQ7Y)t zRPbqVh<m$0?ge4!O;eyE0kKXW8isT@(iT!4p>ErQt>}lyfyOAX1T1up6jIKEb8>Q` z0yMo5D!btaZh_jwkW{Cv0I!UptzJ+$ostT=wgyzT!_HKOtHQ&8M+dmXDJU&UO-qK@ z0t#>thK#hUgUnC}C@lh?bdZ{ySX=^bn=69df;5AGnw`-N@XynQx)ao}hiitr0+jE; zNg3Z#15(zl!ZS~_m98mxZ4&4_0oZYvAm=G7q-2(5rlf)!n4sCHOi-626MRc3?8IIL z=<@FTG;sJPXO!k;L%Jal6H4+SxBljq=9FZD&YlD%Y)Hojp$r_tAP<7IqXu$uNn%ln zf-UG&D{%8yuehYB0Mz2uNY(?(fqJE>ItuElk*c|>u$gL*<sb~YPZPV|)VvhDI>Am+ zum$@a+_=_ANvtfkP1b|E6H(@ZYyw@zlvs(W0d}|{NDT;=XJqE2LRtz6Hns|>c`2y= z1*yqQQ_ukW4RitqC`2`JDg`M|)`NLQ!4^%Uf-dL?j+DeoO;EU{fx}G+5>n91d_V@k zFlGvc$)H$~nwNsjG<Z^lYXY4bp<t_!tXGmB4`M?bFfe%#joj1KfG0^vLkyJMbrh08 zI-x}ZNCymq;vo~XY!6(ll%V$`G{EH!!XVVx0vQ6$zM#o+P@>FCQOGQY%wdCeghPx6 z`7^UXLlb%PB1kU?Lt@Al8kgD%;1q)y2uP_EG!YI;&LC59#f36#EFe(<G`o&^6EMhH z5XOusa44aLHHurv3us6vfZPq9v>+{z$q8VD&#;x{u)z=L&NxUp0xoAkg)nXm4+*G~ zKq?jdkxUz~G8a^Lp_jYJ1)BnBk5aX7uvdJft7A~D3Yh8Z?-$|$WxF^=LXVIHB@C2& zst!?2q(;!O0if~$VWX2{uxp4X{D?}B`QVZ|H?g9)B(*@nPQl0oweU*T!(oB~*xg75 z!eaz)!X-V?lAU0oDTAca0ICPqtq29Fkh_P#L$$Em5kNzxdKvk}C7=a5dIg!F8Vej4 z$jxhF{S66y(Cw1o(}OUY+Mr$}e1H$y9K_va21PKu2p(-xLvLQpEJoV;3JpV0Dg)I{ zXn};hDi2hpK+7kPN~lIiYPSL(kOkVFiF^Vm%8fkm{sriQBFGKRkX{6&2Z1^|15Q79 zn#-Vw1t$f_Y}p_?azYt=4g@@zf_prfdBv$kkS<qIeh#?nm6}%q>MVg;17QE6EJ&m3 z`gia>y71m1+Bp^Q41#B56BOPEO!Q)RRC^J7GC@-gMfu>n&r4GCN^HT22-2Q`E*%=U zRpp@hTJU@fw4(!c&=6iFj_f0FLQ{ryCE+sQK~b<AN+JZ8^WfEuu<~JKFU$t@2*HbY zp{;jV4M+OIEy#+j5bvsX#QGVCSPgg)77ucT30aWjebtwX5xO1;c^MFzQqcOG9yUl9 zVhVVnP$`^SGNp$bR45na=YXy{o}v+v89k_0?D(YS7v$%pD0n1h<|d^UrKc9*SV;p} z+~AT}k_tLluPha$8nkf76e59r;f`BsQc)@BdO;%tLkk661@QWyfQ-zX%z^?O_MoiT zfgUcQ5a1eMp#WK`l3ofLEC;VK0F{rrpd})yDGDe@wIf!L=qkXBD9+DK1zi)BUj!Oj z0bQ65UPp<2L5zNJ321<<v?vwXDA+<6P_qkE^MWs2huw?^8iYiOY0z+>LT)~?0SXGm zsX1x7sTBn|iI79SK&xp$Grvf_$uBK|F2c`GgWTv2vjCKSkX@6RmsygTn3Guy_6Nc} zNSASFfE)!`tCEqKo`D!>L71Zesu)u;A!}?v{m_zB(3Ozjg$1CoM+MZ&HWW}+20_Ml zQb2c$W~S$X^nsj#<N(k}CTJ)UyqFIphjcXvHczL3=a!&z?m3xxsi3<P!IvQ;*#TbE z0Ikpz5SBsGp-*OVYF=?FG!<z$YbrSB7gQEyre~CZQmcusk%6J59>o91sZj^ZnliA7 z3JMCr0WJ}`P=j?nQ&RIvK*y{USt&R>>pDg1n&=t8RD#!sfL26+Mp1JhPDxQH1s!t( z_8Iux^31YS1?T+S-2A*^1xM)3DVh0s3Se_UY1$KXHv}YwB<3hUE!I;A$yX@LOf3iB z!BS8O3Qh2I5Y!qSg|f`z%o2#thT-ZPE~L&psP9cN2F;xMyM+3<(qQHk+)^fEcE2bU zHkDsoSqx*sX7#z05!V_)r#gt8nFlQ)2T#%^78IoBrD&*w4l~h&Spb@gPs>b)%w&US z%1iR|bBbXz-no_W;1fl46pE3rAVg9Q&fakK8endGdJ$++6v9p{N=?*JfUt8?%TjZS zVLZs7IG%<uL=$MR0Hy^rl>uWzN9Z7mKt4=`UdaH;M;I8Q47BP2Za;J&0%jiQ7Fie@ zIv+^TZLm=fn7)G2q@2uT7%wq78Eh!Ht%u<vkO0J0Aa$9!sYu$;od%L6WD0c2S#dnr zPI!ptf%);Ek(GFGP!cjHF(suSu?XfEP+Jr{Gzk-cjM!_^WI2Pgk7F<mvLs4n4XR5u z^1*jaBDQIP!vs`?!`Ehk4&p7!h19Q*eNTx+pn-ST(N>_U4Y?a#4DF(WMu3pTLA3!$ zZE;CzY7uC1AGF{NQh=u-7T`fw4}unwf|3Pn6^@>QV@?iYQ5|w;9&|+tWN99BwO}f^ zmI1A)fi5}(`w3hcf$Rs(BP%2pC1-%DAkcJLN>OGR$UUGLUhol5VE?6-fVSEsf^K08 z3G(*=cU2(kH-bTpD0ta}blop#s}0z0$cQ$m-UrQ_fU_ESZCp~SLVj6l5oq~uNopS0 zSxMkUgrJkSz;kQh>K<XFjzUr?*d5^gaj7|=?U9&%2O9+PNg~Lc0`Scz#i=EruuaQM z%}Id_c)-1voR|l?Py?hQGY{-u<Y<D%9;{A=UhaXYXuy_18y=tm8ML7rP^`n6hM>@f zssslgs3De=3OZB_bQybUik<>&x)prQ88m@_Eda$m$aJt#1&PJb#g`xxK}|lyBEa&D z)I0@{5V#eXngVq`I0nG;Qdr!VmRVE`y50rad`MM*CY;0^=;Rz0hk+J|K+T3v5?LXS zI)OZ%1Ddl;NhH%;P&$bRmoN&TD?Ur$0pXLHmtK+qiq3-6qRjjhaI+ddtpQrMh429u zryE1vodPQP6fhhO76p}up!A-RUs_a*#SA3x!%BKIM}qthHVTpuGZJ&s6hJ`%4_nZx z(^LgRBL%P>3Z(^UMfsqiD9}YYpcSKV??QE8O&>_^fYuCHoROPYk(pZxUgis#Mh5#1 z<gUE@JcYEJ(hATlXd-@Zg6a+h>;sHGpj-O#(;%gb0$3qvh#Kl{P*DQ%A_3z;D-iJ; zk7OPwV8NX<kiqEjQv}L5NC5-(EsD{g1p&xu74CujB1iy%%vS*ELs$Y%WT@c<k0Fd~ zi)1^f3a>0k#hUF>b5bC|1&Rw$UQSF-F3l|kZ7%^QYKUVXWfr8Y1(gGYY=eX(vj0G7 z5nKX*;sWe9=vrZH_MrzST4*LFCzF%X2>1>jlp65lsEI$pfU-HH`bJ$I;+&CKl$czS zT7=XG2GxDVsU`RggepRdD7X9~1xVWsoJWdNOTd#MMX8`*0eK2u@#Q6g_s)Q7Ie3Ky z_ZG}>NP_`%NipOWr&4G^o(y+&6{NZb=c4>H6a(<PA98*wn)BfuQ?RQ+X&9WQK<S{k zvbZEQ7qr<0eD)={Mg?890rC{cxx^(nNTUzU*5K5f)MQ9NDda*1g+R9-<Q1ppCgmV4 zXDKSp!{R4(e>XREXc?VaQBamzgl0S_Im1?ULhXm9XOO$GN3^;j%*gb_(&FOG#5@c` zGm8;T2~g~&q!xgR1JEWRP^3bS?aTw6&z%Pv5`!KbiU_A*=;9SfSf`{GXM#>Ug~p_U zJIr2C9|#l^;HCy-i6X)bjLZ$b3%#JE5_EDsDB9HF{wT^!LGuHu10Y6&?kWM__W(K& z9@5fD%>-?#P)I~|5<IEp7bzqv_#~EOmXxNX>igv9rGr^ugRn#wa#>fDnuym)urL9w zm;-hHKy^4M&Y&$JXk!=DY5^5=AdC?nNY>?~rj?*s2TB^{sl_F!MR^Lj;O*XU=R=bS z*jh;DBh|Y6a;!<QIKLDWo-hlc0SEFLC@Ya~UuglT7DX-HK>o|i2j3xyVqa<s<@Q0w z!!YejO{7tHg8KYu@rRm%VGS4X=m7qt2UY@VhoHJ2)jUw=9h@h@s=<?`_)RTJEzZxu z>qJ<JE-A`P%u6rLNi0$*DJsoNhV&2f(_k%8&}ejGNg`t0ASpF1zbI89Ik5<G2@7cB zVq#vU0_1puVsHtXnxasUUtFRK-OH7kmyV~PK*|{4A`Yz~7+juNlAHm`Xb`g%z=}ZS zAf$bvpkb&9Y8MryLVS^vSfZbkpQoT<pozy)186x7YDg3%CRd_cic%sX%Ic)dl44Nb zLIKjzfn-N;T?pxc!OJ38t&{>jnn3|{<U|Ujor$fPVq^k!PJV7`I;bSd%!BtDF#Hcu z18r0$=D_?9y1^IZXUx7B%&%aLDVb?$=$?g#a0+-w11PMM6LXTm?KuU1u#-R)iAzDT zzDo&Y=`g4}n3-3aSyBo2a%y2IB=LY6g(;bd>3R9ZC7H<z1*Js=`NgTl#5**#1T72{ zFaiOxY#EkF6LUbNNNP!9N<P$m;K2b%%78ntJQY;jfwuV}+A(l{rhpR+=)}l8+#v|E z0blq*Qz*<(&^UO0ngU2yK4hycJ%g|y5!C)bN=cBU2yf#lc!JyNFy}#X6P9Ad+#H%X zQwl)0|KdzMP|rgbwt^04LG?d)HW*?Co{VV-wX8TdKffdc-LeAk&CfY#MU`uaql<rt zLSkA;Y7uDH4mjn4Ezd)3D&VmfmPyh;YyPp-&QJ+xZ45ew1>CU45@6~eNqDmjGWdvA z7Q;Gji7ANLs?wsg#N<>3ND&WN)q;pCNJ#_D^u)F^3W`$GGAq!m4uA+2mw?CaKzS8Z z+oyp~*M|))>4O*{L5>Qb+kz?;GV=;bOTZ&P#dtzc-PI4)#7iy*t+7W=dKeiPni)ZM z7nkOOvTt%uerbwAPG%wKe)94}a9rl+ffjgxR=~h>F+>^Y&;nF7&}MEDd=v=lxC1Pj z%ZqTAg3yEvyYd<y36SA8XdHm&2TSr5pqFIBofjVDrcj&-?hAvqDq=|<FejuYrxk<l z&qJ;Fk(W$C5<ziEeo<n2s)B-gYH~?#ft9{WHRvjsTK!be{3CcNzdm%s3TQF`bN~*H z@eWszJh=4$ZpIg<=B0pI=HU4dg`E6!NEAZ~c&Oc}MW7A~BGy6exKyw)i76>Xsl}jj z9TD=yso*7~sVNFcmEf7Z+}uQjUW_Jjv^vx)>aoyV4>CEwpqMoGgO-efYo5fM!Ql(g zEsI8=b&cSWaqt+Rf&n~*U}OboTLD~Pr73{6XBFi`238Tn>7X&xVg)6=v;rkWfO^9B zwL@E7kc+yZCt`s5JxK^>fVYR26d~$s(CvBo;B#xh9XgPE<5NNBRwS1wK)YZNTfrL~ zz*d8jO>SZdG_q2YVM!D0Mcf{QDa%hocnDImAln1i4{1s%xH`K9gHxmeq{ojpE0q)_ z=7Ew8-ZBSN*nkzLr51ro98f6-o+!ZM80bY3sK+|vaSFJs#GkD}JF)VMKnqDAt(g3x zN>IRpV*y&aB<6r)5A1#L>IHb<K$_WzhBZV976(D+LG{2#ZhHC!goc2Q3WG)+B;4^k z6H+B0oQSv;1R{eLdSH*koe4=f;0YM;-6>cch}7-}r9EiUBjBc-)CzbaMZMeu(+0R> zP=W&FZ0J5lqyR~+NX2h6>_{%ikzwFt(LjDA+E)LdkRV6!71q!wfF6^D+tx&+%#xp9 zf^<q8W&;%|EaAt|q1G#~-DjXY09OKORe<|1u!aEaL`P^Lf+%b-N^kfXZ+hv_6E|Vi zKhm{YXpIk0^#M8{v?LYzNP6gT64bnP4sQ^_GBaujf!qd@!FhT+UUNx3f}Vh3BwiVa z*EDEqi-+FugX(ja)U?dJRLJNbX!kW}{geVCyF>MYt60$ZA|%y-?f}A*I*?LiN@`MR zI(kbU-sj9tO)UVgb%qp)piEV)kXQmP4MDT6`Dx&>1f&uVty@=;uK+n06+EemC|n^X zLD%1cl0Br@f)ss_ViVlwgBKGRDIC^P12r&kx*t?ugUUIO4IqW!U_#lCqo)uI+T;Z4 zE~M&!Hn@RVD2-b9TpYNT2G6ag79@g3VZps7<o&U*y|nn6;xLDU#*I>oLA@Eg^<q+L zNqK5&o<de>aS5zT4Qd#IyaXQQ)G*N0Q2@<$!$d)o81Qg|H;^HtBH$Hmi3-WZW#B-D zb^BBDL7J05ojMI8Vuog*vlj%~7TKVq>hsee+maQ+Q<D@N3o;cFlR*tAP!NOC5yGYU z#l@MRk$kYPKyxB`3IX5+E}$q$1T7JS3{!xHJAA<t0L3Msxdpg-B2!Fia(rSzrh=71 zQhq+@<Yc%DLQ->biWQJLKah4d*xdo13gwB#3gEh>1T<Qom;xHu%F8byE}tc*6ccN! zvrDjoBc=91Ry*O$7|_8aB)@{TfMkMB5d!H1HF>~uI<OQ68pMHI)Cn3tPtGqb$N^pW zoLQ2gkeHX4Q&|i;G$XMD+jK8Hy%%NX5uMsW3xz=wC7A`8CE!d8I`b|uJ-sM39m35` zEy>6Sj|;)0FTV(sp1^m&c{&<HHKe8&p=vP1HU$WCV@iH$Qch}WP71*>E>QMEA4&qX z&lNyxLctSKkU1(yzZ7&h6e!?8*wx3y5j5|TnwSgTsSmLeQotwX=9lJy*OWlpnyD!m z211)CIglg2K<#SKE)!6b8F_XVHi!XoCun^~F-QSak3uoHfKM%k*6pD2!XnTzJdonF zocwY`kfwoy6xQB=*J5BBGm90X)xiV4pfg#)1DJ3IXe1NFNi9i4IxtxsG}@M#mIji6 z3^svS$>qr)s=Np+j?zB^iNkv`C<Y~i`wAd=a191xKnqk56H+`uSfH)&AXX75{ec*e z00%{~I^?Exb#-VL9duYkd^~8OOMJWrXbH6rxReBiA9V2+C<4{h)jeS=qM;QtxE9V! zP6Y)rXk8a{5k7QTHK@RXTwaUVMGiWa0W#B!SXT@=O$K!tw4Q<^XymLsu_&b&G<=qW zFamapmqL6zsE-6{NQ2Hf0#&W?@t|>HkSNmZBY1HZ)OBEgK~oaQPiXt>KtgD%kw8Kq zqd|dz)^G$#!J4pGRyl#Bk@kCmxDc};r`~}0@E8Dblp&)a`Dx%bLjkN>zz8i+u$E+` zW)`8X9EYb~Pz>rp6F11|pzAL(b5cP*Kve@?#sFE!WUByb9HC0X*CJt)L|RZ}t6+?( z5x$yH0jo~%q6us=@D>L)N!UUOY;xdfVXP9M^&8kEK<iPkx(>F)1e+$194-TqmU3Xz z3Tm7{ViKDys4537nZqUrU5bEB3OWa5s{o$mM~wsMWWTL~x*_639B|427hRc&d7wSS z=u)6*aBMb#Ctht8)X~&~CylYG&jC;GVv~VP#A1_yOqpVnfeb(6lmX3DVv~eSIAW6l z2Z4eu(f}AZWZ)BTwhBfjsKE&?<}r1Eg+YZrrW9zx2*U<wMSxW`Xl}$-!Q33xVn}_V zV5?w=Dh{2Cz_0;2C19%n9q~ui1s(Xu7ADYvd0Pe0m^rF0(9k)CMWE4Y3_;lVu`T|A zVNh`g!r)K`jjw_Sh;0>+247KK08#@QgT<o+r2@qg!0>@VERF_Os+fAf!$+XO5L*RM zEt8g+jy7_I>PSd04x%2jG({UvLNgL=1PIk&=s*y<7R2xks&a6xoRfpgA@GqFTLmn` zC8$OrkD6dhG_bJ=Y;us12kbJSVFYY4P^ZI&1h6Rqw|g+-3e?TT6os~pFeM-@B}{Q> zCkdOyu&xX?IZ)>zEg91|aN`S87||31%b|ujw6zMl>xH;>rUIgU2{#FpyHKz?q#yw` z1j%T4q8J6@faZNb!`mS9z%c@1fZ_l|Lqi?JgoHCv6BeWy1*=2C4x|_yS|A1@eAJ;A zse!bBOACxPAMCV0kcy(zlG36)Nc#%hs0B3zL0K2pKm@mLQQNdZsfj5l3-Q4{^u*%g z%=A2POANVbr+_rl0S{~ZjYzmMQrdzjTb4mSONKV&@{9FAn{Xg!0fKx6FO;Cp1YJiJ ztOMQ%iQEQ+>_i8d1j66}9PlP+u({Z7k_RbE1GP&)tw%jjIBIC>fe-rDP>;!jZX^dO zf(~YR`h#!9fE;!K5(i=E*&ELJr8y}Ipv52{b5H|YNgZ^464-az3hGKo1|u2Z3Rz^A zS)!1VpIQtyDYXJr?dKOMfL6a0SLT%@R)EF<%Zu{!(s5iK5>iyD0JaXaSu3$9y)4=w z7Um^=b<Jp9L(mCZG4KcjIRJsx6?8L{K-~+lrxZ%ThY%v|UqN#@$PUo?d>Y7SODQX) zgU(TgoaCHZmReM)0N#`VYSM!yq*4*x7Pu=wgWx&fh{()S0LKVw7-yy_K%_y2fLWmP z9&K$E)RmEL(}wv&Ss^n$54=_?KNmb*47NWr541@Ylu5uHB)Hu$U7*fHW?m`e2u+wE z=;lUc@Xd{2TTxvFQlzYqTng&cr-62kfGoo>7pxI<b_2+Nu&7X0*NirR^iV;jfG|iJ zO&Mx}1_eTDo(4#rrh=V<A*N$MuFZ`HI~Sx16!qXnD(vJ{kTu8{st9tZSz@$7Y_yRT zs-r-vGt<C>bV#Owj=NL`xAd`uK1d6~V0Cz>08#6LRDduJgHsYK4GEiz=+}{Aun}Q{ zVLd{u#^%5yz}8j)?R-y=mp~X43y|AB!NFh{iy2WMWguLfS^^p(0GHT0=%EZ1FpNb_ z1|WSf3^~IMbeCsl9z;7n+d#T9VUcYZi|sy9kP>v9g`_1d6SVKM8m$~a*O85(qn3b< zvP94YQ~AYu>8T~Dd1c^49&H#KouzGPm5nC=KsINlfod#J!3ZjSL5)(}0S;0R!qAvO zxHH-+6I3vQ+@TE%$>?ltLoE3Lq#uS6r-Z>ou+h2Dy{{VTh*|;^k|1|yf`^?k6B{;j zz+wpJK>|lXTR|N(*q4(EUNr<7>{rKnB^FpWCIN17fC|5&{2Wjfg*&z3O|2kj#HUsi zB<7{0rl=E0yZD0*RxTLE>OqSy@cF@c`FW{0vM<b6cwI=qO&~Myy9=a(fDNG3hZ%sW zIcQ}!j*^3b;m}-R6^nGe8puu9T@Bjw2WcgO)D)q&8sm#gil8H*sBJ~~X}O7@k!(<M zg6%<p+%5?oHHHo~f_A{d2121{5J2}kg6sshz(7rx#Ny)o<jh3S#t88G-C{ij*Tm!u z#IXyY%nNREq^5v2(Sc6r2G`l3I}<=Afp8|MrCN}Yn3P%qz7He6C?&NBX_(WsA~Clh z2T^@P#vyg#^|5+ldaAmWf+1o-ka}`{PJWTPm4bS3L4HX|Y6>D3s%K}W6suby4W6jy zq^5&Jj1UHb1{*=TUGmeBbQb5P=H!5c9dq(apo7mK_fyn@1{natkkx~5CxC>4GxO5H z2YG_m6@t$D$Oo+^Pt5~|H&GD<G6o!3kRew{9KkIC4d8-QfH3s9d*nL-;Oam%8K^^7 zmRM8_uF*90lJg5Hk<QwLsX)@M=MRd;)D)M@<PweI{GyW76b-O4z08u-++x%NFCmFo z0n|2!bPkkMi>(w?i<J~q6+p@rK<!8{1C&@wN{Wi%ra*E6sJ{g1^~5I@r5A%P6Ni?3 zU<d1f4hkto%?|$1{l?JQ0C1BWlqrw{7Tlu;O%Z@xo|#ly0-AowEXjZe4QTQOdL9Y1 zF<g`mK9B^q*BcbJ_!9_71qg%Otze}98j~+BNK8hgcaS8=QSg1|Pzxa$31%N;ks;(f zIDP2c4|whYDJPNAiBkq$eV~w%nG9OH09slFPJp@C_F{wkoT)jP;LEKL7uAB?t&Hds zz$UIhQ~RLOR6(OWwI~(b9fIzhOHDzPu%OV02idM*3#v?uH9!I=(vV<QuvMteR<Huc zFIatab}TrxWP{2ZkS4GwJi<VZg5%6IRDFt&(UDq6ngS_Ph8`>f?n{FT-c-=NPDr5u zyP*I)M-Pf6*ent(>A-CUCE;uxg)*qSAkK#+W7LKXYIOlRD>hqGN1+UQ$Q8(4kPHKH zCsNu^%`3x__CcbkY2Oh%KmeJ(gv^&CFNlCIKR`-4#HC@7O$t`vR0En-L!R3Nxf&Ec z@KlV)UQqd4tf1uT9O~(!qyu8OgBb9j1evAe;u;*{>E{^Y>F=imPJv49jv=n$j*&`` zDLGL6l$>8wlv-Sn4_THADgF>s{~%*RGEyrQzzGrDy9ZCVfig9y!346{H{31W)h`To z8w5xTDY*za(m{bke0;-NNIIa(TB8j4cwqF%hnx@sTDuHBs0mU=!;bAoq%6=Oo*Ajh z*`W0Tki`I?I6@o)iB!gcdgBQ55L=asOF@-;G4vXaN(FGC2@ZTvX`7gt2VJm&2xG*p zO`s_vv}saE`UQn4amfpOoC}_LOi;u@)MTbX4><-kO`t1IAqft$5DjUq56JpZ_~zTx z<ZO`dz{9^f3aQEIpi^pK1I3_VK^jy>Nspjn4dg{|l1nbh0bNj=q5u*FbzV|)3rZ@H zvJ(+$2;?phhQuyxTors$3$#uHH}GK+NQDDfJU1~j2RbnUF##k1)~E+!fuyi$fy`52 z(~)0LjHCgg0vy<|bFjhILW2rAhKCebh(rYP6bys)Km!}fPR~q1vIi^(pPPUh3oct> za|95VfW{S5At_%EHuHgIB>|(LW~0t@pt}SyI001-8&m)tj19_M;0bA{JCGEkBo&zF z3DRH}!)!oz3etQtBnV&vkVuB{(6xc5BQuLjpza5A;f@FMpsokA(G;Q^2Azn8*bm}B z>;|!*=HpIlkQ1J5p@$GbC&(fCp&Y0YAk&a6hFAt2rH818a?s)%9=s^S&fqYGrx5tm z7--}<9<;{|evt}ti3_n4G93W162gYM5H#peoLYk9NU$x?iG7G>5C@_a#DZ!>^BP1K zWRf1LD>FA0sw*=$72N{J<O4kRAY7>O$^s1KNEU-uF(A1CZbVKh`dLs2<8TEpJe-MP zz`aO4(?EepJ=0)mkGvd<8U$d^LSh9y>OiY8K!<_A(m#|B32i6`8bP3F!=@cMoq%+} zlM0jr)eax0B{GbV91S%AlvuDh02)&8w1Zeg0`~<}3Dg`?T>=SAO!q)dMRyYTGzD0A zf;bRofLQ2Cp({clc?`rsD22KeBnV}K7kxn4;9)C*0SR_8Xn6@#7kF_9h8w_Vs3AfR z%!RlEvd{rt1M<Qoh|A$35N&WSx=#2~8;CXt7orEkhPo3=VU6C_gx#|N@*--V!V9$4 z8M^Z-71YKAuQ$w31GQf>^U{mKlQfB$d7wTvsG)}1+=OR0NG~3A*Cyz)`eFs>3>}&d zCHROWsDA)iVxWYG7bVnM9NIrXG#ikc^Z1*daCc#Eu|blkf&%Dh0GNNZ;Ceu^jtY>$ z5BT~xuupPwkk4(!7-<9dU{H)f9>5_lOhAqyB3wYqKo~SQ1a|>3qeBG7elP})U|k{P zdNv0%PnKC+f;=q_>Ox^1`a$$;K<))i&cG7|c%}@bDcS(bBn_w^5BC~KFL)SN9g>R3 z(uzn~WNAlDtt1-(I?op54P=~|rjS_-c2-_;ss=bH3}bb`i4ZB<BI_tF$p_tngtSTy zSr!xv;3Kf0Mxh2ivP!Ty+O`VCpos$oq;XPYMLBxVqehifixpIhWAZ>FeGq3F#DcoK z`6Xy$;UL}E$HPG~Sj_`D6{#qM6lKutsF9<|#WiKB022ck)K1ap5djTPK!<PiU@M9t zM}7N-F#2v}Y@gC2i=qZJWB^*m0GfLS4H!TbZ)WuU0#YoDq8KtR4^{Gw(N~D6eM*lK zvXVsbs0{i5CRB$Aldldg9iWi~q#;kJ4m~Dc2apaKWIG@=0HSXXRqMp$+Y3^Q;$&!9 z4^`67<hui;1m(c;9#-&d@f2@suw*GH98na24?HK%o8W`eu>}Z*_rNL%cnhosyLUiR zrKkt5mrUv5a!q#20nKw2l}yoyIBmknpsc80T3n=`l$ocWnpdV!P+5|ZpJxm@X;@1a zbO1?aUb>Y+X-S%{g@Ue@E|)U3ZxmNnaBwUw$;dCVf}D)*mS38glapUsfqpi+e{oK} zCiswP2gnKR{>dfzNvTEPBdsCg*biV=@XJR!s$D@B%PH6Bc7<i8=H(@7LQl{J<vm@6 z)QXZ+(Ci?%+JaVQ&_oA0a2lcvv`?`tH3fb|CFmCFl+2>|0`LT0YEfcdda8~>Wolwk zaXfSfm5xGgeqKoioR4f=VoC~%VJV44iJ5sIvkLNaDs>b}^5elHnem_@9MJv%Ln8~+ zyMz&@DJa0EazWRDr6%UZmlo)NZ$eDW$${j^#Jm((Ue`g^m<c+LyPznw1fMcp1$56V z#K)(k=ETQ?hJ(R*NWs<9%?FbH5XQsKuLm_6;8%eo1z=_#NE<ZSBE<<Lz>~pu_QZpR zQ$dXrgs~85=nlYm$nXlfY)Wcka&kQA5Wdu6gq$w)czn<v7tkUmP;1WB6P9rlbdlT! zsxm<C2Hho}nTIe!K><|X!8RQu#6e+HQk0nro{cO9ZPx-Hu2zy-ggCIW7!-je3i)~9 z@iovMCQwr|F9l(Wf<kddeo=`6iZ<}XKSB*GRFlEG^+9(CD}cA;gN_+70_PV61%*Ly zIRQqRNlz_-1$79h`v+S31iD&U0a11#`x1UzKniN61kLW^Rp*;nR2-BFj*P?{WR<Wx z4j?HOl&~Q4PDn`rbfYP}Bt_N>yJ{gfGcUggRDPx^K#VH}T`5?ZlZtYA0L<@7DWD~e zpyQsD6m%3)_0si_x3{G!1cENHOHKtHLX-(vTn9P!7};jHS)iV5u@YiV3gUR!wk=)g z{<Pvu(3D?h325>fG<XZz&W&sw;!qCwZXP9=8A_0pRGgcblapG6lp8d1Qj0--pcJG# zBNP-;N(*wJ2m9zKq$U<;rWPrbq!xp&bcGh^(DVJFd3*H6g2a-{vQ*FvXntO?UVc%! zKJ<cvV*R8_eG@$ceb5e1&_OH;i3&NXC7?rZO7bDGhkm_+jzWOHf>VBlf}w?(nT~=l zXd54B4kIixwOmKR*-^pL#K6QzM<F!WQI7_-dqHJRW?l(swyYSmRLHh84|?=XYKktT zDF|A2s0&(`4BidNr3|^?8?<XP6RaggAt^OE5mdfH%G%6g1?W_2vO;oVF(^}j&bm;5 zoJW(HrvR~%OBq5VtWM6)16?v+q+1HQ5mGlbuQWHcD6s^TRKb@>Kyy}UacWv=4yeWg zi-N2GwT7SzGN?lh#(Ni#Zd*vt$xnh^j8L3WT9TOq=anWwD^$qU2cSJ>pz;QGPXdgu zgShaOi#~TYID@K))M7pNqRgbwlFS^Ki(q_+dogcz(116ZP?}OG*F5Ne4lPe9O)fzU zzJMAR$QaSG0&U&^T{*7<T3Zm0wEVajB9fAso0<ozj`7^m068usHNF@g+$b%*c+hf} z_!3Ztf(~t=^z@P41ski1hnC%mIq{HF#N(6lOY>3^iz+oCAp;9Plv)uMh$w=n>O(X0 zK{YM><_j1fmSVsmo|0LNyhS>(7`g`<wrLuaMyQjsV5V>>E70^31w>l}#~liw<Oo`e zUIaQ;w-|Km9%us*_}n0P@dcTz1x>6#XHDTsK-GIO@?k!pB|*?~FB!D-19YAe+NB5} zbD)Psf|CQNxCE_51LsfB`~i5P7QBcZyiN^%ggmHM4>_J4(&B+T8C0%<jmpd`E=dHn z7eEOQyi5et<^^{=QbCmuXwJAewFFe77b9KM0CE8|-GQ!n0;NmP>=U@53Z78U%}>cp z1GTP8GE#FDia{&yQ!ByFOv?nDhB(Xy93n`rgt!ZF?g3H~gB&RhY1D(Qfi!_jK;a2F zfgHS$1>^-#_<&4KO#z#iR0+2bd?;2?D)`h=aD@S0IS4z?2fFqM8g2M*OUNxsEsReF z)w^hi9yo)<K<y{k`2eNh3&rx&6kxeFMFBLOpa7lvgDtm$P3)m95<or!4%_)l(3pT8 z%?fJwLDB-$6QJY+n%hS`<YiDD2o70F0h{zi3r)~LJm91bN_B|}RJnlwVqpr{Sk!O< z_e{W<Dl-pqr2#Y;LGx0eIWIKj8L5!0Nx}j6;1mfm4%7+4G!8uR4$eCudH9+h&<<Jf zIf9^J1Ly(&u!Mt{yh2Mlps<6TJ`76n$)KAoz`g?oCMcs|GZx|_nBkz53MoHO-HPvo zdPw*}_fMm0qv$AiaL_@jMl_$2a#lOUb&x&EsE$KDXPNGYB7?mLiV^4;#K=p~P@M)1 zgZwlFs+>U#2@%N59a_M`j`ct~n-pF@fQws{BQ_xhfmdIknS<(nSfT{0gyt~lzIoIb z0i|HjnUm1t5J5>6TA)F7flUByNJG_!Y8|McMVy!oOWEn<=mk~Mh(o7A^RsZ{U?=0F zx&(Z09z4iE#WP(`<OioIkTdbd2V@itQjtOy)<droqU4Z$NMZm@M&q>`mdyyCrVsWD zWJv;AB>_D}6I7~!&piRJB?PSy1gQo^8RTps&^`8`E;jfOC9r7_kAqrDpg~3)Cyjy< zA>_C)up-QZE5S84cmp3SF@V-RfKJK*tpd)>&r3u)Y10MNw917av6h^lo0JK;5fS8I zkVX&<Ie;0`-vT#wP|9zx+d=Iv$mwhFCIB>3fRh^z>z(s+K-XG8GZZ*wfb0ad3BgxX zW`c&dkXN394FkCusbd4qImJ5A<B3u9LlO}p7NAaoEL~Kvf*j2ioLW={I<z;x2*P(s zEJ*~3r6P`e0_U4d$THvL{JgwW@M3OI(;HL>Aez_;5R+j64_VuUmONa*Cz-<*al?++ zf>@{kD_)=n4no}v>hXd?5V;HnO$&gR0E6pjaIApNqys4hMH$Fl(3nVs4m5yo3CT@_ zAK$K^6d4&A>Fev_qF<7)4`VBVqZ2-9P0iaN!6rldObTwHe$JpJ$H7ohSf`3|8f+kF zEjMiH5xhV{M<H1Ud@)mMv8`KTPH`&I>@8?PFL;C>l<*WF_tojc`y-$u+~DJ|keL}! z=pwf4fGq@N0C@K#A9Va}F=F=){2VOAkSjE5LD~=tClHgtNWlO%9&~awDB7V@t8j6U z86a_RasVBz1aclCr+|_JbXz#MSOBFJ6uqE9Kv3@rv=0KwS<uc6{G>P?h5Q2W9)=tg z-LUkW2{|nbqzh?W7#<{`1-y{HfI>bZV}YCwa%~alEI{Z1=5UvTC)p7zph0Re4nhP+ zC6c4DuP%W*7?iF-=76v==ukcIS<t1RnI}-m4DNp++A}!1NO03YYj^aJx?Z3&MNlQd zg)!s^j%4_9T2v*_CIo2xk{*<essP>>u~kUcgK<!mKza`#c`yrA64bm0^%g+VP&TFl zQ2QRHATt-SX9ny=q&7WN4RqxgsyT?(IY<?phpGtL5C^G%Fj1wUfe(^~Fj1u;4P}rl zn1w0{Z>@slVH`9i;KgC!u!giSQKi9E30M})LY0KJ2|<QKn5fcV9iYY^NCAw4ssz!< z10Bc&Ds{of9_WEpD=34;gF!>VpbQH>n+S9~6R1)|GX>VR16c%9ho%H_f>W{{rfzT( z2&5ClK-C3mpMZ}qN!EifQKiwEC$<XFNT+frgHFc-T_g?4&7h-@Qj0+2QIOggevutg z`=VGu10)G)RDc$$q!u7{C4o~NNE)<TuDTZP4isD9<pikIhBX%;K?&9hYY~9kNyz&o zl_AXna0)5~m1yv+kEk)T@{{1Uf?Wf)4eA`YOlBIiN<kFdpppfwAs#wu4ABUk|3%vB zhq(p^i#Cm9J#Y-`C?xBpmVoZ|)dL?k1>z@{gD$_-D=$hzTAPD#kus>92k#1lMJFCd zf?IgtEfK{eyA(;UMzS6#=s~Unjc0&pP!Aswv5=)hkj6N;iiQRfvKgRY&{0T(7?cJv zCk<>2!UOOc8(d-|B`Z+g0UHJ$1c9V3a6q6mS&=FXVk=*;dvLVLL2(Z2n<6ZSwE{u1 zU~k~j4Qkbcd<rT8z!xxr`~k{JVB?US3l0dhE)2*5)IKKMvtTnpVF#I@g^Po#5%Ba0 zYV{hHn3I_T-FgHbB89j`!^1-pw*m0nKtkOMI%EN{%^1{GDyak&0-y*3g+Wzjfd)9l zbrirp2Binkx_v|n0C_s81e~{R!3_ls@Uj;T(D@VK(AGp-_XgU@l$w(UuR%dabQogU zW)3$r+E7QqNJqg~N5Mo#!Bj`VOh>_7N5Miz!BR)T&_GAQ&`?Lg&<OQ35NwthpgJ1G z;n9Z1Itqp+ItqrSItqqnItqs7ItqpsItqrCItoSxItoT0M;PfS7#Zs*7$B9mAXAh< z8>}=mN-FihE2}j$L0(dK^iu~Xc#X`w5>S53%uS8XjMW5f00s+yTL_w9wFaQ;so>EE zG7^N9K_xTXNJU!(bR$9O38#@DyD^MZP*#9C2Zvse%MCO&6*NKG6|fw>12+JaqQRDD z<|#m<3bY6UT4QNiLCO}8KR`G$O+h0Ql%OC=LH>mtiUg_P&{V^8;0@A}OjuZg3MxH< z!3i=H*+7f{EiS=rAi94*hJi4sv0Vu++%xka9s(7Y#d_JPmBqNuvH|G>I~lArx}-7| zwC7hH6riAO`|6-0w?NSY;UMkZ1!;s~kj0sp7K2QSh8l%sp)iteR2LAT2c#E=CIxL< z1$BMI$pRpy$QX~dl1$Wu0@DV{z$Li+2MHb0{6|m^$YykhLN$@<KO}9%h;BZ}f=rN6 zh6pbcQ4hn~0U)<w>noF2^TLY;aG9Tx3T{7vC+m<ZIYM<Z+z=9K9FRA_jg#VN&^~Z5 z7up-rM9l~&(x6HQ_l!I!Xi=~_Bnqq))T?Vj?fdFl&}y3MT6I0hiJTg6r=w`Y#R0n# zT*8px29RN3jfid=Il95tY9iX+xRMN{eG469fi_mbO;uP!71T@xHBu4Ppt`y`<YEVK z8iG$%gG~Yr?twbyka=EEDuFi2L2G!B(g>)<gy?6$wSuOGQ&XU`*qO<YmOi+^1J^7_ z-2-?`AlZ=$wnQO3RUtPsJ);D)x<Uc5S`@9B2{sjOibhIm0rb|Yd~lHr9U}w{tR$8t zX67U&W#(j-R3c?1jgXAg;#6=u3$oNQxwHf^QUp556f#}|S{+!dpplcB2)-1nIJK}e zH7_|8(W(yih>!R6(NXYshtTd&8YCVJ6$jBEaS-kA9`7II?-T4BAM6A70Qgo7L>z%q zQLu-CtwL}?MrslGJQ<I~qTKwv%;aJn1$TD^Tf_x+?nR)L!TumI|I!lBjci~MxX~c9 ze0>yb6@2qkQgal1K)00YC<KE<f}wZIfyEHz6KF~}6?6a&cuXi0wB8RfG7Y*b5qw#6 zBDmoPYAVCyUjZCgi1ZF>Ln9&`JmC%<C<ZqjL9qi;0_rC#AUcGo>8uD6M~Ku`oSd4M zSd^I$i7e2d4QS;y=#FgANH%zy6to5b5txRW3h-5+Am@S(0M17#p;Jo|Z4GrGlR35q zItt*-V~c1a8)+&yLodDr*@3vb5o}vZW?5=cIw(;fhdIbh1DKhHm}VN|H52Rt1r1Q{ z04+BvRwxD??ho!NgOB=5&&*3lBtZoQ&~1$%mxGG{5Cd$0E#kmp6XZYu1w3{SX@J)x zgRI4E4Lqc<_{vmM!6m;uFDE}SMIkY#I3H0KfM#5Bz{Nl@G}S>;1~>vi7Q&Xs=!OTm zA<`nD+6a`oK^W|Dw84ImIO;9cnZ>X%V9;HO@aO`a6ODSG2uQ0d<laz3>V{py0$F>J zQ;F3qaKK}62&l+}$bk(kNiBjI2Q6YzTm(Aq8Pi1|Ga&aILa##vMI>nU1og^8d<KJ# zjK(zB5pmxnB%UB~12P^<Y+;xWN|*4!1O;7qkQ?}}NYH91P<*0XeTax$5?T<-3c;a4 zZjR2b3T~dRJ}!`n3y@XHNQ3p1FyZb8*WTbbDvnl%6yoZjHcGU*k6&;AsGaWX10oGU z1n6paL?;wQE2usQ_JL{*cG33@_R$Y<cGfpE2-P<<2-7zT(Km9@kJ9%E_Ep!x*6RZK z4jHQlyE%jG1X&EW2~=((EC)57L0xRf&?=(%0~rBU4)YVtVW2ZgK|9<Knh-GqGYmeC z4DXVHPBnFPR0mC-f=$JtA^`0uJg{0M7eK4PcvuK21-tkM={tw{=sSmb=(`06A?<?& z`G6265I8u-`-pZB$UVfw5t1`;xCoxklofpaU0i(>d|bm^edwF2K`Fo&mNY~313{?@ zoT$OE1kU@2BQqeW4DRgAG;jwEQr?0Jh}4oq0*MV|6*RG_>xb%x=|e8&MRXm(J691V zf_5w5Hx<&Bg61uR^VJRUopOy7H=rH@yjK7o90B_r+y>E9&{i<iRM6K~Fw#WiE|6xh z8d#D6l?)({DS*zy2YJc`H5B2~4LXpkArMA^eGBp<DL#fp8FDxx2Vilkm4bq@g1cjA za4@)*bq#TZ#~H}+;PVSL)WZ{tKzrA%6kxOedFi0GLkjdFYOwD>y#Pq-3hYAIM2G^y zK9GTESRH(W6Zkyk<osgL$w6?lKxYrbRyODmFa@*?0J1C}c{K!RqZFu(0B@8iq8-?Z z5;cP$b%30JnmS;KUPnP4k<}211SPJ}f)>G5N9xStO}233GSeWfSyHlSIMR0K%ru4M z@?=tUJNtw?>pOdfJ0qE*tl;S4;t5)D;0P<~6x{rS;A?TgZ3IYhsNw0R5Eu$N70utz z)dkVUrP^8u<e(`pN<;OUvVsGs`H2W|P^Jp;@C;V)3|8>-4^fD84N-9R4+?U14)KXp z@bnGvarJfe3vqQ(P*hZe8x7L0jLK68^>c9z0v)^_91;`?UVVW@3yL0CmJM=K2y+bz z_Vo7yxdPK1MRiRDWrdW|++5JoYRJirh^idy7L@#fQI<sMhxwysZe`Fx1o|%O;IbYz z$_dWU#nI|W`q4vAK>;!#ibW}C5KLX)1u0d4T~=O{7GDgW_>5KuHLuizy+hP>)PsXT zq_Zc88RBCIp^QL9Y;cH=F@$S^R@y6r41{9!;P5brw(u|?Bar&=Fo?eJFdq}>?ORZ_ z3d*3e1$6gIW}X7nJy<-JnFd-~fipxvEg6i18sJXChybW^NT`5jq6-p>5RnEO?*XR= z<heRXz~UYrL>k%wD+QJ1un`?lGac)YpIc681$Y<`JRAa=yoWC^&P>fo0iT!v8mR_X zEXZp~@<3xqU^jw-5~ZsES;-F{HUaNu1)W6?8X^EY1lsdY0uQqkD`XZUf?UbpJsz}e zH`oVy3ZlO|SW8f9dTCB#kpl8K2WTV%6n!XT89E@B!rhga4Bk<p;Fz3T3iB9fj07?L z2I^RWgA2581-!frbXF*M#SHQpFkmI%5C!?77<oVgG#-U*;Dh*q4n)j=V!=wmCpbXg zIY2)+*uzcVH9R<2-!C{gSU)&82$4z%b&la7Kte|gJ)uJ40n*e`!s#X=TkAO5#Gu3j z!kDQ(Hye5n4Jg2&!<^8mNpNI<_Q{vvSWN~>V4(G!Ag$o!0}=o&08T9iou>#M;scL9 zK$cE|V;i(@202-PwhSibg2%f+=dGlsC?rA_A}T>{%thXX3%#ElY6H?J79yJ95rXKc z!iB)z!Zx`K$~y3z10Iq~1<$X8#<D<Og3MAYxPmqnJNoG;xH;=61i0xa=;<N30UTQR zOoti_YVCtf*Mk@cY3AxEfN0R@C8S}4Na>(x1Brp;AoT)dBoxYrcJrV-NLoUqU+{WK z)J4)D^FX-~ECt!f2J<J*2!m`W1w}QIhp{Jlkntc4i9K-2z-~W80k~`es{$1<pumPZ z0+C9Pm$gB(fpyp_fYU2{;hBOqXu3>68?v}UK^s(=B<6xd^+3fx*u&Zi>L3n0O@N$= zz@WJi$Q=X)1(_)tnxLKvSUu=)Dh;R%LL$8=NgZi%3M6wWAY8}=i3o7*0$#@o+d>E) zhzC1f2evaw2jp7t8N^6K=<szQkSqb(Lx?oe3hEnzTQJ4ov4Ya1T+mszpfH5y5V$W< z2Jb-%K$q*5g0Bq)@u12<2PlJYBS4B|;&K+u0L*bOl+7afDd0;qp~G>BIfxhrMS+18 z%x}=6w!uXQcmNo@1Q}Jep_M`a=+aL}$biO3U?B<KDv_9{09nulPGG27jj&pT6q=wg zK{gR7JPHzvz>x$!y%=r1ImjC*OI5*z0=PbdEcMSwEK3Egt4>M<H5tHVCU}VucoR|v zVqGH0Ak^3{hE(?m0~3o<5%oDpJ;=r2-9z9aJFz$wbarP+QEFnY4!FDlFBk*YqL3*9 z@Bjq3LylV5z`CS5pv#;~LHlEL!1GKx(3A~2Bt10|Y)L9;K}&9`jsj#cBdR%|xk4QU z$XY^h>Q2ms<Oh&ru@@fj1dE*GK??^#fmECdwFXpNfjkS3aJV*b)rz!YRU34pAY9fr z2sB57d}IYU3+h2uwWB&7<VGY6HW;$r9j`i&v%qm+3ri@`NEhJ5;?)aE?!~DkNIIb+ z>iG3R)|nz{g9s4N1xg4=dO%zPI&xCWK&p^5K}87bO9eI3P&I;u2<QYSP9$w$J^?+j z)QhAICPY9ds8tS1?MOOdLIiYzs&ph>AT9wNkU9cM4@7`~F3_4*Bt0N50Ue+^4@n1z zOF##x7lNb%#3i5ulJ}AHKm-Wr0+kL(dO%zPIv^zpk{*Zv0bSq%6G;=8uO5q3ZD*#z z3KH-#E!0BQH%Kofv$!B9u@Za^0n!3jQ0V}YO)N=-SL;a9;4w&8y=ZHTep{DskRG_| z2Ac}X=kdwKWsu?swx}L<*d~1MGh(O)-Eg#Zev}yw^B9@lMn7c`>`e`Ix5Uhx(xOz% z_7ZX<DK|SlGcP5zA|7%CKR7%<$7>aomZW4BL0O<?Xt9n0Xe}7_rcz>_0@xIA)eo*? z6T!7DXjgbqW)i5Om6!{zltE@7+6JIjF~nlXYEV!!0AdhG9jMO;nvX0k%7a`|1DT#j zY8w#ORsx#^I#LDJ3x?NEpn!+1vjrzpup2>5UD$Ria7|SV>LG#Mg=9B4(SSon!Ab#s zfCR`y7)G>9;L8fY>X8h=UMa&2$jnSpumYdQR1AqF6o<q1kR^iJ3Q34rX|O{<&F9kO zlF}k@<0mmWIkgyZ)j7!g+|**wRfFJhkVJ62Avp_d1Sm;>Hi?015>NvGOoJH6yT(99 z!Tkw}KJ@4W2R`VWCTOxq$poFDlw1NDQ-iE%LGctU#UMKmdUy+{#ReLifp`}hk|6tG z7~~Gn9)X<v{On?doXqT0@TpX&#S6k~pn)v~4Rs>}Lvuqz12fP#9F%R2#I{h^RImmO zB%wAHk&H2nwNlVfHvs7|G%|qD77*IZzyPcrRHmbN6G^)fvUZRm#vlUh980ifP(d98 zI)M*v0&-go+*(gf1|7o%Kh6ZqfuxxD^wbhW8xWMBAUCPN&4RcD980#~9FC+KR4{<T zS;1BT<)n6S(gzn0pmX;?SA~KPX$KwB7Vqij;u?V{H&KqH(EwWpG7+Hw-1)RsfSq`w z0X7??q*xD3B2+3XfZC*>i+=J_%aO_(gjX_C6l}q%1A5OM*t&R--)s>~P?-iQ@Ia<R zgh4E%+DRFFsT(+@K@&4*_Z=uKAmIZ`ZV)5O5_3SCIHD1AVW4hxc4{SPkuXFF$N{K{ zFgvvplDlk?b2liiG%`UepR!Xc5&j0*r>p?$$AHc(2D=Sp1=M{Y8<Rm7sw9^vfbZx+ zZS{gqr%HvM3IaP-q$D479GXH}W)a%LP9&#AgBE;eYl1T__|hJj9Kx?4x4}g9Ku$xd zkCEj-Gm4<DK4H@!K?Vv{*g>=~^U*^Dp;7^o<3YiY3b~RDocmG39Mq`+#XHDoin2b6 zLFkzuR9Il-b`%}p{EnQ*brjSMjnHyBJWWGKIKZg_;bAUFCIt<1K)d#ky9huHn4+@O zB1l)USVsZcfr2%+KxrRRv)iicsiW5AZkc(BIhj?UQWjK>L(K*6^@S`o1uYXxssz>R zprw=wkUirmsU?Y-If$wSW!wYQEC+Xl5jB25QEEYAQEIUQXgwRKat9qN3CcnRsYRfy z3pwfrG}H~fCI&p(kc(6|5m)Df>+K>Ec4UK6E2uewYd1E;K+uptCTL(^0ls(-9#tR{ zKuIt+6?`HNXuu~`p|m))2-cPWXW_KcoE%U$A9Us*XaFQHKM%zO{JOzQ*&ww!Xix(b zQIIG`F$2`P1;rC|1S2IiITLht7wC9~+{BbrNLveelP>78E%3EhD8?v3j8?J+mjDnB z%;}(UuaKhBR0R$2ND*R-J8CY)5gs7j;ElFW?V!!-nV<!zaQi|1CQ#!8XIle2x(7}t zr0!A&#S@O5>Tv5}-H72oyaujsK^uy}W5zhPWRreMQ({tnDav|OP;v#0!Ik6}rKW(g zQK|y$&MDYA2&F~fEuN62i1|g83L2n73MuPjZ!N<k4Y^qa9zKF3B3p3l4N*jar6Ac^ z!4`VJ0^AI+Bs8hpLW@sSNqB(SD!`a<1^Gq!3bqR1lnp7NL1|4H<WcZW*34Y!Ernng zfvO46nZ2b*H)xg^8f7Thf;ZBoq~??)YJm64*%}%lvQ>$Z2{t80CMZo9#L*lIka1Ax zHDJZygU}Ft9Z&`Zl_H>FG<Yom_m8qdY98pU*<#2k1&Inup!)$q6PP(U&?90&%^Y}H z2r~h)fflr;63Hm=Dr?Y&K?P7cNG$>B1TV>kWj5I9tvQu&U7%VBdR8>ZN8tTMAg6*y z{M4<$u?6R&wt7H8kA&4hg<^4P2~-o5hhGbHSkDUNY5Xcd!*uFIsDq8)5vLR~Vn>8p z$S@rwIKXWDu7wZJ5n(iZKn`L$j7z|RqRbRxf&)4RM~pLyQWJ?W5tQYLQ3uL=#HfRg ztU){v;o$c=sJBLp!O)>Jh`|sJeuKez7Gg5eRyt7rh0L;oR<uAaa|P!LP>MvpR~3{M zl%ex<@Uj3r%?fUz6)Qk*5QJwvhz1ZDjXVSE9ERHZ2RWc1TSuV)e0?UU3y_)u9!1gv zI~Z{tENW{UWUjJ8K{o8}nPLUdsfLgV+u~GkM+-F605Jo_O%R<RG8#023)-dvqCwNK zph;U0A4G%rXp^@%i~;R(!8WIh>Q9h`${=6D0}pgC3dF(Sn{eTCdr7G|`FWtt3?N_N zurnI$F|6}Lphh#M)tM-_h7^>6_BIzGHQ+(cgJF;hGxJJO2P{C6Xr*biIw+BVmqCD& z5QbYZ)o13Wg4H9ESTtB`EPUT3VMD+<1ho1biy<JnVziY^SX~az=Ws(nJVXT#(g4C3 z&WD!gaBUDiVHZP-DUd!aJBeZI!{SjFc7VeLZ<YqR5snM8iC2r^F_8b&WA%y)axzOa z)b-UhqYYvaEe4n!;InrPjVu&EEtkv^Ln8|f*!WF=V~9sQX#6I`(aFaZQ)^}lXpjTx zuwjhTd^HNnqCpqLz%0Qu1H;weJOEBknJGlX9<1&JMMFVZv>|3D!LR|g>>F%JL0L4~ z=6X=TVCVtmKbU%BBJ6<734vRZIca(z9^nK9uYf^*0cQi42%^~tavTVQmgr@J=1D+n z6rtr5Xo~^3?*m$LonMrXS+;_7LRzDsUK)mrK+>R52?b}@AV(tuX9W##i%P*YKoc~$ zR0Lifl$Q@0MNUo3RZ#K|a1ByIT?+~_0)%mIs{n0GcSYYc0n!4)7-0{|kl@f)2U&@_ zfD@-ScrgY#SOBYEF>C_Y|De!UH!vX57Esv)ahd_qdLS7SmN-DXV$@tpq-zt4(o;*o zmV;9ZT2Z5pwrCU<P`GGNeT@+!Ajg4b>CiQSXTAz>ra+vj4`(feNYIda8gjY>xcC4k z^FXw1HZTWaxEPezz+s{UIb#l{5JqEYfMqhUCiSA!l+xtX6wKHM9eD#vQYia_+?*lq z#9jfYCnhJu7ZzjK3#&h{XH)Qz5_u&WnA*U#EvP70(8iihKpq8+(PHR?Bvp`3O$9pz zBV+6qgS3NU9aOYq7y*(%sZwydpctf7!4}@9)hjM3Dgfm#4Uj}JxK>bCja1E5O;Png z+v5Oo0t~~<fzY~0o#2$j%3@nX%o+uz6Nlp!z=t{LW#wn);ol}74Ym^GZty`b8cGn? zDrv^z33!m@I4q7fv_hWl2B}2G(D_+s4@W<DR~H30X9dV$7AUwt!zAhiY*kRe<z9js z)j{SbCMW0T=7Vhu@$_}IC2SvtKS9x}9t+;MgEL(~ysWOH5FFwfK#?WTkqy{(2?d4x zJcX3hT+r|-=yquZ1;o-*Vp$ljhE-#rgN#7F0}Ymf`u*6mj<N#uN-=2EfdUA0KN4uW zKZenufPfU+;CP0wT>vT8fDV3uRwb4cAq{mvQah5D3qbdNfL6cdD3IrA40mB}AOyJ- zgq0z8KZA|~0*$UHWaTFzhIYW6#$tt})XMz46a`p#A%^%t2EZ`*M4`&mVujS4%v{hx zu%Kh^^NXS9iWfs~2r9`)tyIWO1fM^H;YyHE%Ag@5$gp>2QcfylGzv7du3ik96ii9Y zE6GgEDaLF(fi$P)rGV4AEqJ;CDTt#%V?wDYg<P~QmS!c`5Rm&pw=jZ?0;La7X#pwa zVCHLsT1$|wFDy_riEq<`EKyKUKrSe;1_ees1+8>JTa5xW3rxXM5G-SW?)WN&?u>wm zVWY8H4l)t6iw0cVfo`qI#-2Su>OdHr-a#RzKvduxU^cfwrob>Ppi!$DNRbUrUnL5< z3ZUUp9cU=xscb-If-)_Z<bYglM8kbRa!i73K*8!I`6RZ}P_#oi&_KXfzkpPdTtI;| zfiM{b70#prG7onkV{b`;^uRDE<-qb9dNdmvW$3_i3#su8G857U#MO|8xd6lUu%?`X zEfHI%Az_JaSU`c4?mo;hAR5C#pfCb8+wn%iphyjvB~e~}9?}jWY^4xL45!a<*I%HJ z0^tGoH@NczP6n_l0o298a)2MmwIGZmehDTwP%;1|Yf!a>o>h!YP_hcn@C4~E1}&Gj zRZv%lG@CJ;15$%Gxq*5!>iXcDl5uDT4P4-K11Jm%vK2r>2Z%$3V8b1Fb*Y0ZCD4Ef zxMEV!RKQ<1fqa6s=L3>JX%yhK7Sz?kY79sM)fl|ylxJk-q=MGuXn^bo^_oCiVL-h* zkU<c>jjaN<113RXhK#`mKxYw)L46Ut7K3zVrYV4qxddwj^%xED2OUTY2;+)iq<$B~ zNP-R^oRvZLfiP}6!B$11pJ@rw1H+)SNnYXt#RG=Tpol?<VNiz~oWBVsagcdn_a>I5 zq7Dc_&(XwkkR;3(AR5Chp!^T6(#Wq>2ckNK1R<!!g>y^|<XsTP@bb{Bipi>uz_mv_ zxE)GL&k+=4$QXYPD@x2PPE`m?%qdNEEh@?{(olB|3i1!KQg8z8Y66|*o{<Qe)K|#N zD?=RVi~rmUWZMyJbzM6Jq!S-NivnR)Bj|u#cu9e_M*y_n4%$@)<uJ4k4|GHYc}-cW zLJDX`QBO}#0jYTiu8)z-K`ZD`%_%GeT_OM$OHBc7JynMeM1Xt)S(t~k5U;!_vm_OM zqcgZ4sH2dKG)0HBwJ;HUsvLMhHE8iEXe9(_5k^UBZb5z#Xqz@-4Gd_I18g*6h6JP( zafl#v4Jc?qXNi?UZem4_4v0+BQOE^Pe;_(85I%SlT5euqX_}5gZfZ$lL1K}PLQzh> z0hlxdk%?e-q9Kx2@G)PYJHK;N(-T4KJ#-Xu!NaLK3c1C(`S~Ro5Yr$eR6$AsXn7!_ zS5Dm0J$m0tk(rYUTJeu%BQYqR{Xko#q0_t|W$;KNZCw&PU4z$ar>Eu>XJqPu;yWj? zBvr2@wW0)eZKYpoc}QwSNl0pL0Z0z7MwlK2m};N=#1y1!X0Te8S_WFw2})@t3JRfl z;LB`MQ^46CZdoQoI<GXhpc1tCA+G=tizP*ssLcb=$#|(n3btsjK%HC+arF)GaSU+{ z)=@|-Ey<5BN(E_y-kbur7Zl>KP>zQMkAkfNNNsA79*BY)3o;SB?%dDO*VV@}I0TVg zLB<fm$vMTgXkm?%y+OLcB`<7^7x)qf7zf3@plJvNTZOy=y~N_gqN2n~aNY;c1R_=K zntF-Fph*Rdw4D6J63FNt$Py3+O*vvQ0VIsa1QbVPrh#_LBt{#?D%e3-##oLO200a^ zMAufq*bH$NB*+b*f&)A;T%u6~x@1*D1FYCMRzVkHo?)z}f<AbOZnR;nCa7_WIEfKz zKoS-M4B!SBAq+5p8Gzyk$m|~|AQE%IOP}B=Ko53t3g$RI)ZL(Z1jNKL;+C6O0dg2r zMG`g@;DQn~OIK0^i9E0XPL+^LIY0)2lL%OGW^oBN^`LSV*<kSMENluPB{8TaWNwaS zm<UurL(Kuli(xDlLyB_p4UrWYV^@@DfUL*}hawb{46rH61y>4CvyvhANMLalL>Z_` zKvfD7!KNHst-zIndDxUeY8|*b2p5||&`FrK;IUcol@~aafLsGN40N1oW?C9HrI0!e zt`fpU&CUp3YDIEtK?zzR3o1|1Hj;ze7#ixJ#tOLIr2slT0hGQ{HPOqY%3{6L3eYN# zm^_g3R8VV8AwM~}v?w(NwA3>vRiUJ)61<8(AATh(qPc-{t_QXf1fx{N@Qr^kxUL|^ z8_xbNu2u-o=%p4F<>jMYqk!ReU)SJZM|W4Nm^_7;5+u!_;sNAaDg_C=b|EK7;N=!Z zWeBUi!0kG;eN*7l0#=9UD8Paor4mDnZ}8p4`30$Y8psCgD5#gKYl30`?W`|QL7b)s zZZB$p!YeUXuP8MyCACOH9n{89M+$pr+8o-k3HB){jld%W6asLJ9A-!Xi_vyZNd+C_ z0=j7|wHRChKsU;OBC!~w74MR&3t9#XId%!u)knS<9Qy(E?)l&oHj45~(=)&;ut9b~ zuc8ID{=vJpQd7Wl-VhU!?SOj@-0}w>U!|wum<Bp;H?b%Myh8?N7U(1^<XfddhyQ?0 zMa<8+WTvG-E>nVD4hUYkh@=U$(I>MQbbWkTW=d)bc=tz9VrE`iVh-Y_HqZiU1&x$M zkOZh-0J;-9HAMk*<y&GA<kk(4YhmYSf&7~a>On&8tOmspD18<egO&{>f($Ci&#BZ= zNG?svOjZD~^YU{u6LU0?n%Ts4AHeww9B~Bq<$@dtZqI}7lga@{QDO;fNh)G!8p#cG z?wpXY;{i*P9TdtS4DJS??Ge>L-XvO_3c58@2f7(CFSR@#qy@5r6egOUT0)?K4KXo2 zwFI=cu{0Hwaq?4Ai{p#2i4bKLID5k!P?VaJnpm6)<D$6|o<~3)#=sD#K{n7q%|R*; zU~3k^%~#?UMk<4k@&_%81cel6%^W1TfY&r4c9FwfRghQ&8YM<rK?yErpo^rz=MRF4 zAm|Btpo3qMa#9VAERbA@bMr1}N23CCTQA%~hyy_>96CS%?ZbjLqk`HA$r+$#J!pR# zB!k2EWkaUfk<7u^l3kXW2r3*>N|Q^#WfgeN0Av&F;$z4<d4>EmBvU|Vz2}1F?jal8 zia~1&z&k=f3oUZ<LHpD*Kt~AWA(kzJW||>03E+woVk&CaQ&|B;s{)!WAhRK9I~7sx zfD#8JC4j@iRv}smVziQuf)Z#P6-0vuXF)V*fKmx{T3Q)2ypow)nv1Xvq944z0JI7O z)h=bw;k)2M6ck3FWpPFMISNIkc?ueE=RyrIKs2^MuFOrW$SchSr^*sYa)GEr>J)+& zEMWG<KwFq0;S5fhVBdn4(}NrUF#>ug7d(PM)`6A9L*+qhghAV7L16^lPOT1+LK;p3 z=~7lm%`GSa?+XPjE&?Y8G=IT1K$fS1Za&B<N=;0u1f?L*p#*3VlbTlybpa^56sMM; zZ72pUT1`o<fCnd<O=$ip%?0)R5FK62K~RXFL7oI{QKl&RQS63C9cT>^V(bKxD<Qii zz=uMB>t0Z_fE|J!E1;d*knN`6Lx>?od}3Y+*!##ec3wK%c90&VMhK{NfwDIot`Kcc zF{n!eIyN1&wiN6bXeq9NxM!3=nGH$}Xc$o$lcN`w{t&qW8vP)r6+?G@V>#ymSryq^ zy-^H7+U5;9(*e9?8*;>hA?T<Fj9uR-n!!81AqPYdz3&@zMzLNI=(siX0<So=1iI)9 zG&Bs_{0b_oic1o63m^wvgC<Hc!GnB|vj*W24vHJ-QRmoia0DrUOf-OsL99zUll71k zXe)qLPs8Vpu&(Y*%}a^LV;WpqTS46j96FG-ml$SYW?isrK}N?Hmw-ke(VbRpWngE7 zxF`vpri-HuK`R##i3(&82qXCnb%{{{D1<e@i!MQS5%4gIlaT#~*Fn05Saxi{bz^f+ zD$F7R?m<KV+&FD;mjHQ(X|f*l2418F2PjM+1y)`vsHg@_On}BD6;d*DQ}aMO%8Mae z$-!rMK$_g3?O>o&N5KOSXvga*D-;x^CTA98mLx(hNd@<0P?Kj~8fXVCs12E!2S0Y8 z7<3RMXwf5NQ353e5@gRV*sYNBML=`5s7WCuGZ$3%fZTxas0PS6pzB8=_xyoa;QOpV z9Ys(v1!{v4Q^X<Cn2rK0IxvD9a?S~~UWJaqg9ernQ$V1ofo5e$O@mrWfTVMZ3*z$% zK%=PzdR3`K`NbL<AfJJTf3-j{2wGC017U!M02NX|qtmu|1$y8CYBLkmKmnPUOicr^ z=VvUAhWHQaQo~pUsyUuagHh5ew47H+&PTfP8#G-C>Ib8!%q)q|DF#IcqBQ~v)6A0i zWQZt=YGnmbCIT&%O@*B30&2a1@;ju#U6NXWq8ua>5AMl=FHr^=48x!XERqyl8_4CE zpjES(RjCS~z15(l#YLH*J}_w852!&7>a#;zBnqJ8IpBR8xFPvPndy+a*j54QR%Os| z3Kn5d*-!v#kAONus0kKsP;>!kQx4K;Iv{_*&4bIrU7)O>R8W);>WU~qMmtjzK_>)( z_mvmq7Z-z<3nSmNmXumjo|=k!$hR`gm(V^ExT*l{-b7?Lu-l9B!NVy~3pKRB>cAdF zn&t&LSQ&iq6sU;{I*|x+#*~4nfhp)@Cj$@xI`9SV2Z#<33BwwoQIS+IPX|=@fOdO= zuCqqb0v$MY4h;%&^$Sr52=aFcbq=voP}c!lj8Uq9TAAe;`8lZ|X;68t0GiW>925<n zD+l=z9B{CW_=pY;q%(nHJ-D3-IaNpp+#UsM1s%-<Z<9lGDU^ebddNvFNma<tNr7~e zA$?Lb^FZwxaQUc^oSy?4kN{O8;6w->Y=U>RlTy<&^FTL#fNL=YPzpyeDKib!Lj(1k zKqi7>D;g40kp4?7?6`ZRz6NS)1O+^jq+Vi5iUy`Jm<41e$O6!8WojO%YX|GdXe#I` z7^1ikWC5s;rkj~ZaUKMj1;WbUNB~809%wchEfO%S$59@EOhS}NARaP?XH(EY42YW? zVM^fn6uUGiec{OeFcaVwz;ilG2APK216PIOJ&--%J9>*ir>21~aE8P`sGFyWmQ_LK zB99J1h6^Caa3OR>XU0Nu73ij5M0XCP8PY-mAEc#_nF47LB}0!g0VSH!WYlv|(!r;c zL99d_!va}~k!wNs<7R;R&7fo3^Fif8A~d2iixFr3feH!aD`^z;L75y>ETV*rvO;lo zW&wCipa`_K1zO&L0xTy#zW`dfBo>uGc36ND63A#!7SqS(8E6|MJu?L}2Z2U9z}wK# zoB(azz&fQ6^AmFmAVCL8z$F<)si~064Qh53<$~Lbh{6~Y?8%@y57cKZDS{4Vrl*!@ zq=QaRgKX<Sn(6?l2U!D}!v~K@B9wxJ)xkF-85$UXE=I}BD@jd9T0#NR3-Ue|y&z%m zH6_^eB!f%_P3NMu`a!~|B}X#I9GFUDM27_=jFucq@N}iX;i0VnwikDgpd>y8w2K95 z5N1CBVkyYeFkBL!Ye-m+E@(w#GVJndlo&6G&ov^#03$8jMu2<6uw`PPK|RniU(m=3 zW~wWRhwhNT(S3zAx)mVXb&}!Nw_};?g#`h28oJ4Z$et>)yRd{ly6;g!5WI^D-UriB zNK8pVubN>8b(iFW&+-IKd?^%{rln<8pqZ2p8gwns1dXGEje(5al@w(n4IzR23$H{m zgBVoHr4~U<2c=s*KTsM+O1Yqj1eF%3)h=3w#NGiwHyiD09dJT`bipv)m6n%Z3QF84 zXH_C~78TS%jR~C7y&zvBV@NC^7Su!ITMrcB1UFhj4N})b3mQ=V(nX7GVhuwM8`L5M zWLx@B@jWPYz)K41_&sBY_+687?_$q3R8RV#A{!&=LsCApsDb2vI;2BT^+TRhsGlrK zh;s-^nG5NsDM2pB0F68;*eWQ2?o0tCTGa4Mi_b{ROUX%9uvGxB`2a^NXt4+A))P=B zhv5t~g<zjzQ<#pX5L`;Y6rwm2)E`MqQGg!23~pn>*r09{WIO^icUlITfPnPKzyo+X z3gDZ*(F_AC$WE;+&j+ng04+-Zn*ixRCl;YL<{+D2Kqr-8mg@MLn4sWDDoRbvMzI_u zT98=e3F>=8+S!Qq9(WAHGX-a}4Wt)TMw8my1L*@b?Xc(r3FEadFB6L{zfAmkvaspN z!m9^#@CG<oK&_|DJOy}XOApjB(!kO&0{KcA>GXDRAEZPf5!{K_0UZIGq5$qB<ReYn zf;7P}_C5ee7Je!s<V0f7XtF|DVsc4-5k_3X-EC{DU}$0l+6n-TUJxJ0;TCC$*$TD_ zhI$J63Wf#-28iV^Aj?4*dqE14foL^01L?wW45YgUPDbEqe#l4$xaU-qTAYzsfSA7q znFYd7C9t!eK?BPWAy9V(wE#d-u8~)u2Q^azqCrPNBQHxwAum%?Q&TT3C$Xd?HBSSy zEH^DN8?{#oGDukgJQ)k>QGucwbiOaxoruLtDbRs03}1rOg9o-i2bFoI#KO*EhBzY{ z>+u%gwi)QS0Ps;lD2J!OE>|u|El{ul%`BH_z*+#986M*FynKZeq%}~WHA#7?sVQjF z#UQmHj5HzuO5vF9RnQ0Tt%KQ$8S1!`gR(*jhFdTK44)&gDh6rLKo4fnY`%gnB4a{B zKUx>Ob{eNSXkNom2OCXBoqhootf}S5Yu7-5oSRyb0UG8kh91z5CBT&xz{e1S(p73j zVseQB=zJFNY7!hV1Wp-PCNn`{0K%X%4N4M=APsI%0s;3@ZEWE)B-j%PR4b@7!#$q~ zQUt@Gu@q4M7o;OI4>XpN3LYBAZ9GgTsB;Zg3d;x}7h)zNm~t2ms!71wK#L3ToNj<S z@xe@jI6bi>6*hPYcM*AxPb^8r?|g8aq!z%egZqTAb#SGyumTC-whVjXgcLLwDH$m^ zAk#PC0u8A)K-(AwQxBsd^Gng-fm$5}D;)*MFeqrw0lf$T<;7?#)TKW#V_-ByH|V}o z%<)~A8t|4gP>Q3(!Sr(}c30x4WMO^;&kUl5YBG2ths;1tE}$q(iE=F@NU7pXjARO$ zT!YVED}Xxy=*MA$f(|U90ZzTJYu!M31#~QE9<;{S)PYvf;A6D%3iOIgQeaYOgM%Ow zl|lQs(@QeI(}k&t$;frM0(iu=xFA0dv}8CRGzyHx;gCTFkbY3R6+F384Bk+vr(l9q z#)JC@kQGR&=|$l2SuBQuSFeNW3DCq3s22gM@WAa5NHv2+3us+jepzY}c$GAGVF9!k z0$w}}nui1hEEbK$8JTI|iwQt?mS*N+Hp8Hs+|iSyrh=WV0*(}eTMI57phy5!tobDh z$&mFs;1UWF$)KI9SQ@Z68r~qIKp0XKf`&6Qixbn+i&E3U!L0{bd#!=tAB?a883MwD zYZ=^DfmUQ=u?nYM&@j*drDu@0;p<Dl!2zqTi8w<gzeoX8*MiJ|51|qWFi=l6H@^&Y z$W&2r31l7t?2gPl@R~dDGDT2o!RdNXXemQ9Voc<N<d88aNh4=7y@LD#4YY-v$m&6C z^f<$(2Y;-AhlW8ptRy3|2)cg&;@4uxH8vX1nS0L^JOkXy3gDI2pbI=f#RBA781RYA zpk3bzNuUjZpw&O%^no+fz|A~dgR>xS!!Xzw&>9=`aKLt`D@+sqZ~&>oZ7i-sAz-PL z_^gU2=|P4X5R2VGy*pUxjismtxfq0r4mG&>5QEi0(G0#9N*!E2YZyRQ380TI<8FBo z4pDqo5=i3cT0ymmx{d;5GDr_}t$~)I0f}aS+PvzZ6;~x1P;-h)iXf-mKnLg5QO*zm z1urs&xCxxpAz=s`Z^IKk$_mAWrKzb^so>0kG#v@5B6AW!<x4qe!Axoa>W~()y~?mH zC6H_E&{I9m45h5#mtO)}1e92!fUXI2_9AHg2B>A31X|EikY7-MrLzWe2dGH`xl}qi zu{afTumGkG*6z2pRlreZ=NI8GwlRup{9OiR1#l>WQZvqg06C86d;(I8yC}eNq%%kZ zGKM4*Tp1ZzB{nu(HzbLnWK)nQapy;vY04!<rQpS#pgaRQ#|JWjiaA+}Hjjii_&|n3 zoQ9PCVZ+Gy-9)&Y02w|=gPcGS19CZSgB!Gm0kSLs6rG?V5Gi)S1)+i#XowPj9Dv*j zi9UpR$i*SDnOF-&kOBBG#Bi)>18=$_Yj76XA&7K?wRsC#)u>UF3fiienu6H^MVnMc zHW<VvHR+-|0o?2*>;$|a1RCH-El@~G1>b!`gTf9Hb%=BUDrH~|0}va}+6+(_p<|+p zAC!q)yg>l60`5vsW4Sc77*ae!VxQQwkCZ%N6I=MT5*Pn)r$O9=Qe;!H{2(*DppF^> zr3YnICf3NsNLG-z0?k7v7N>%O220zGq$PH+HlSW|PJVGJ+IBNoD#I!Xt3Bb8aK}O% z30Xb}b82R03X)U7tr;vs;^3W*@sK5Q@kK@Ppb?Pxl+xVXN{pLP!6QP5<t<2tgR&dM zpn{^*f_Ts>L$Fnl4FI59I-olNpsVVQVs#WCBcnuYVE~WyfqNWzrMaNSIB5F=XaW(& z25*H>NJerGY`;CoU7$NF<I$W2aw}+7OGg1byHx^rjRMh@A=;RrW401=l1o8{Cqc%H zzzM4u+<pi3lp&*5;9->16s%iPkoJ4KpwtMUrDx!!($Fy`@L&dL002Cu1<Ikt;4w0g zjU}K(=BT4=pyfy4<ypm`Idjl?k0AFXrle$o_QNFRfUdj*Z?M5;5<GFGR+JP$Zfpko zsi3q3VkY=fy-KkCpygknz4+On&I4!%L1sGGg`m|3kh|RAra_i*q!ueE#TzPt{i76b zqy!$`133<|t`#(NSDcy*I`6x<Gzsj)g8a<95~P44ZgYNKrUK@bijKLU-4mexR8@Xn zVh;F>AqBAc#Yh(9W#QGDn_85a0@}lXQ-28-{eGq3yE;MZU_rY!K(!^ZosdkSU<F$8 z0y+o_v<U~~PVg2Pco2e;HR$Tl9MCNt3dPBZ;3f8$JDtFR3SK1-ieK>1D(bX!FlhQ% zK_f3yK?|A_kdHqA=LKTj0-jY*F3Btdt@fw7Q=pRsm{AD|28><c=xY^=^%OiyKv@a2 zf)gbaL9<-o#m=DhB6<0snf|QO;u7#k6l_5|Qj&lau%NO>fd<#RgUU5fS*BnG88ysL zgV3M^fb&{XP@aLbX%Neq!44d~0v&Bg9uj$=0FFl5AZus@+8zVm2#WOzba-+ZQU`Is zT@9J>0Uz{)R1JaV-SgAXsv_{*31~YFWU53D`S8h-+yYQh4q7HwtcP`Dq=Gt1<3TUI z2(*L@?heps5Pate$P(mThTw7v$$6k7V8AQA;M#F44h9#OspaU~4k4ulsDg)=YYJKl z#+o_=_8fu=JnEQ+*$u$qR6}aHl1PK#Aqrk(0xCR^!aXxTPe&oCv_v5<H664a3OqCq z?mvP{7*IJ>g0#g}8N6-;T+c)5msHSpK2WP56LPyE^86oY%LnYP^pboeXBe3%fCgv5 z4V2^z@ZPQbJav#8K-cz`gKxA}Fi_A{FfvvM4RHpil|;}A5JXjmBXxkR1Wmkyb^t<l z=0Fk#mLYYp(h7vayiBdUEG+6kH7_D2!4uFrnH4%#;Q4%%mYbfZqp=29X#tWl&1frJ z7k<DKAChv+IXIB1AeDFw#Y}s|`VQ<|a0ZArAjVrDkK^zW$c;pp1X5NI4Gux5K}abB z)Tm7b&7FbzB#<Vjf(Gb1bA3<?7(82643dVoa>1?1%sl9hOC*y($rI8H1vi2e48bam zKzHC27o>t)Ejg8ljy+PL32_5b9>HkALpMMaqm-98QY3hy5OP~PDC>c1BxtSzwfK@! zi=dP5aJPdJ99S82Zy)$<7EnV0RL7HiOiF29W?^Y6qIm?Fdmq%NrNB;9frkjFCIKDD zQkGbhnFu=HCqE5&Ng0;91GGiM05JhEvUc!-5)cf73Ty=h1<+0z1zQCTbpv$;1qB@i zbt3~qbCPxoL(+{7ctIP)aNN6wVf*GlwnF#kAg5jMn6f77sweQ4GSEgJ&|Vgl6E#YZ zx5XkG1Ipp*nz5St`WTaZxVF22M#peC3e+tFnT9l^0P-ftt)L<~u_P5_A82Vl<fIOW z9|`V-1MAnuyloxi60j>VPMQQSQiPnU0y(|`!d9?_>^)B`NrfHJo|qF4k&A~-o@*o{ zN;Ht`p?fhww+MrdqJ*6L4e|%-JfbqvVO{y9CB>O3kUl-3Q(nNHvw@rx19b|hJB4vQ z09c(Jc%>!8!HAI*kSjqL`yy`e{%?iR4dtmtwBJw;N|8u;1CrmdoEMXcR<?p-54=KT zbn~DBXmc-UEexo!g49R`ottC@TmDi69VY{2LrBvkF)syP)j>iN)KVxZ&sWGxEzhZh z=lc}U*d4eH1lEU|hrxrrxE98MnoFS09B9lARLFw(pyPi*852~bp{#F!Za!2{*8?d5 z7g8wB!)$DV91Sv(Xe+R6@<LSBAk*NBg)l=4)cDFNtpGO;L8sG}7MCU>jtm89hB-yS zR>8d}GbywrGY9A4KHyy@Fn6O(^uf&01I;;rY90+}pBS_&B_}mEKPA;xJuyigv?it~ zGr7bTw7H1T=r(vCQ+8@4C@P9=qt(H?JUmm>V?n*4)S}ev)JkyAtJpT$(8MT~ka5T+ zr52Tx7A1if?m@;J)pa1-)OFNBiA`MxdD2N8Vv9O4Hb9ixf_o`Rpdt7Y@U^QLDMwus z&-yP=%%EU!;sf;qL5p;B6bzsv@{leBs1ui@W2KW>5=+R1s8!y;N18Dq2ZK(1fk!`` zA`Mi!g99AP#66)jh7@aHBT(WD)SbhOGL!-XNk4>%*2Yp+C@KQ?@gWldD5L+NA>2&x z-J5BdsVNFcmEfWewCf7Rih+;yL77!)6YJ`R>NxVMwqY!4vmO%P$mD2lMGg%J8>!5P zlzTLcH*EQpsAxmUZ}2ROZN?5~o;5--V>Hi#VxL}d51R8p8tj9lGf@4iZ8Vx^OHvD< zi<!u87SSlrg5nKpo+T#QQ1TnN<Ca;Xpsir6psbKpnp*%GNrh~!#%yM1=7DQv)HxZ9 zMHW~WkwBJOWP)1NpvGcBX-P_E5z@#yX!S%9<P5z;&_sL^q%9Agj7n4hFGN8(A^_GK zLfKjh_ZsL($zssb67T?Ta)AP9_8Vyem$*d(VAo=~p35y0dUF?O`aT16c_wTv1Ss%8 zr%Z!qOu)m{@J&RZQ{<3b06w5NC9?=(ypBSC0c0r#+zX&`ARw_M17sw~vxuA7z`X^q z4bZWe)D+MNTq3B5g`9POWDgMs`NORQIT#c{IQvL2N9$ml<U?w}!3@$%&M&BhtRjlf zEl$?}2dEB8Q#Y|FF&Es^fx80aaRf#x3c+0;aI%2(vdU3r7HMUtaV%QT4#}VBNgtB( z!6&9e6FDe2LH7}$rgX<V1@K@#*fR>{nK?P2d*&g!!I$YIXDFnk7NmkU%;kfRj6^<T z4IWbYX=vxhgHyW_Xw(v1aw$P)5uj6XnZ=M(_rW*zr4}WYAhxQ(H@?A>Yi1re&md>T zj7;#nTv4h*L1J++=+cl3$h{)SlY!u_EBJr{C2(p12Y?bN5yKC61WmPMrh#tT07X7X zZ82ygc|NGQU!tc4_a0a)#(g7h{y`x@j((ug>-3_;Tu`D<PRz*xIVT^q-JvYC2yyNm zIO8OifL1M~=A;yZ_x6>5*G4H6gYMS@uP6d7G6H4bl8n?`(9|F3`bLo5aEE|KZ=h2q zpguFCx1oW2xF^<_fa^z!5#)6>pgk6FH7FNOhh$_HgYHO#ZiojRK$fBaO$e^ezTs{P zuqjk<GSVxkgqxF5Qc_TCrLSL{pH@<ySd^-lnw(pnrk9ylqF<hwovELaSzM5lSgG$G z<msdj*A3TBWWktMP+9^CqGEzqog_lmuD~ujK`NOB??MVtQLQj~Z3*NW7SM%>pzBYN ziapR#BzfQh1TxGIE_P53gojOLLMy1m9MJyR%zVU<Ciu8j*z^FlL&nh#RZrFf<vj4p zQ|OK>&~PC<*`gVT!o}Ra0&10k%ug*qJ%k%{L?2`>0{iTa9!LRbv_nB#0qP)K!&vNR z9)gs@%|hbfbq(k&c9d{-2oG|Dds0~;#KSXK!82IF&p$*V(ltcE**_@A)j7l`Qo++V zz{l0s)i1==ML|(f5updcQV8{PaSc*%_V)`82?})%@$~n@r4&4FTwa89$ComwMkedJ z8U+P~@}e}*$;+S}MfvgI3L-u;MMJ%~KtH!Qr$E0ryF}lpMBmV$RNv5`Oy4L)ze+!+ zI9I>8xI{lWQ@=PxA2E3Zb_d8USa5Mkj-h^WNsbYSFa{AO`o-mCAi?r7kZ5^Xjxkuo z1nHtfJSM{YixMRz8L7po&{=xOqT9^8l+5H*$Q=lv3I{Q(1}P$y((;Q+^eQTpkm8~o zT$zGa8-my8mE<eHt4EL#pvDaBX04KZ#8{j%sE!0T{oL}4N{SNm5Y-^4NJg^2(7;L| zR3}WKM#0d~N+AS98(Asj<P{fyn8sELE+E>>N})I{8EO-<ZgVSzK#&3pD}_KEg<u~Y z1$Xxv1w%_K1<2itH3~+CRtli&3iC@8Y7~r&tQ3-S%9FK|Gs~0V=A?m+_XZuwt8QqZ zZUtI&3A(?+5WzG;FpUvRGbj^o4m_^a4b7o)3hIUy2&N^RX@oG{2x@vQViqA2d;~7Y zA#k(7RUl|*2xwa{SOzWyD&|VSfejh!h81d{QGcY#QE&u;me!DWlM&pyL3ryB=By4R zxWFL*y1xii7=msq0u|068r1Yey0vKZrWfd{3PVE!3w6+CEua8{$2fEe3pn*fQ|qP| zq8G9b*Yz);zA*R*d)#YLpbNXuPRqu1f;}j2j~?p{S_XiAq&Rdb38==R<FVe#wloCr z%n7P=!0Yrt2YP^xkpb7@THr1_WP4A3L24doHXgJ~0CnCSyhH`EBL=*Upe!*5bV7T6 zkwT(Eab{jRc%KIN@(2{`KnX2dM<ET=2?f`kdYL7uxy9HHNCY_s)VjdC5*wrlJYS!U zI>7?+S}|x0t0cZC6?9;U21q5yI81e5cSL7{7Pf-?3s(s{%9Eav0U02H94C|vIbQ{Q z{S;!y11%14$F&L#veyoA!Y8N>grDe+8j#@i5}-8}poMHm=T)N{0jfTcugV2Q6v$YJ zFR^x$Kott8I|5RMy(fZd2!Um1AjL483^F?&G_i};9fGV30oe$47^<}>DH>Wp&}yw2 z+zARqEI30bCU4alWRDPdsSViMpphrgx!?I|3ZMZRknxc2us*0O3<^7Frx($D2Zby& zNJ>CMJcyAn$W<~ZVF&Jn!A*vqfC_4%VlI>e*&PqQRSVR|%FIm#vo%0bS8Qu&qzmcr zg71w&Th0P<5u~>aG6OB1p^F-kyS<>h!6`VpUO@q=_pYD|4orx{QM?Xv6{ycl4>ut> z2*VAaD9_AIg+w<jiGdvjIvolw14&OHam=Uzc?H)xMwH$?NFg~re6T(gmn#$M>0{9X zPHZSWey}1C0qU3J=cIrVv^wlm#+>}*#GGOcP0-3ta515vXbZYz2c!r!4B*}CwDO`f zP;CXeQXK7|e8>saDVas+IR#`r8deVvasw|x16ie@4O@@~3VbjRbmVS&QIe6mCai`+ zHURD#sE0sj8G{T0owrEOnhbP4Zb}+>9!;Sr6>?n>Z23J@80F4VP#+Vq&jsWoWD_v% z-cnX5F3kmXSCez{OH&kbG7C#HQ^2EinaQaN<%uP!MWCVblGHrJP&wGp<nm<Lg}xv@ z3`35|HbjkCkR<dRE3DVBfaGzWkqw&k0R=wVttjBZA<q=Fn_fXCfkx^<vwB!Gfuuqz z3sSM@%1JH5p$R1HpXQTVmYRb_ALMWmh$C$k%+0M7loeb<99{fFP;wf`VIT~t$H99< zKqmv}C_q|G>PCj@SQg8I59WmW6m-0tp|JtTeA0|IB+_U@P!>h8%m`#zsE$IILV0Fh z3TR@fAU_X1C4hVd!nk~9Xh59LjKQf66hoi@2bB`)MX4#J$*C#v>FMeqmjsd&qK4*V z*=uX7fMKtWLV99padBp19%(MHAkGD*AkT%9X0#<yMw^0T(8n)0fHc#Mh%?<3HOfFi zSDXQkDi_l1GbYA9BNH>U6l!Dw&Th^=;m$e=&Yt1USZ#$AaVX^*q+A2d=4B=$rZz#T z7=}S-jDd={%wh%X4JnwyVvs6g&rJtu!W=0BiNY}0IBinQ1L=h1J<vL1$oM0qXaSjp z+PeU$g<-fJh+_CkVjTq|149F2Lqa;Slwnwt4a`1}Yp~TAAbDj4j0O%wnDl83kUkJr z#z+f9HFj`l1sBB0dZ300DAmA9$;>>3XhS1Q9R)*U3mpYRQ`1;*jzCO8fQ$oSXlnvq z$=E8WXH+H?Wu}00OO%d6n7@t!W~Kpa1Mj;9ouQYKuaKBmS&{*|bFe5gJ)=Y+FTWg% zH^KV|Ad?TEX#+&p0XB&ao*F=&F9JCcgu(WKrtC3H#hq%ADnO7UGxNYl`a_#6nC$?N zH6X045bUDw8|<SW;_R$%Xb`GzXb`4v6rykBq93L26YQ%W?BXA!?;Pf%?;Pf#9~^|? zB9I{<tPBovP`}a9#U;Qo2yqt#PA!n6kC}iC&9Ie2AWJ|PsT~D7HXND`uxAzAK?X7n zI<S~hT9A{O3_3I&)KmranP6su+Nj`0G{~JLsd-r19)mvHloVBBrT}mv!`_Pk1q@gk z!T>Ga$x+BjtVFx)4k8O86%-V}2OvY+Zis9JP82xvAy_Lkpg}`uuuN<K%E^Wx!U#kd zg9vEG#^DdJNeT)Im`SR<C=D}RAbAcnn?}HE;8F+4nb6r$Dmf*!B0067M8UD7q$o3~ zv?SHFs3^Y(huPpV0V6*_JPkWNDjjrs6f8VoG@)~@=+~734Vfa1mqIH_q}5h1C#S&= z%c7s-lodcLlfdP&8`^Yj34E;*<i=h^qZqW}3VcpFO2mLhqSH%r5{u$<a=^JDIT3o) zltKz*7FIt6^=jsVa?mwI`NewasU^wfDQM@5<rnKEXQX5nX&|5D1q&+>otdVPU#wSL zl31dl4jLWSGcr`y)GIEDF9zM)Y-_7v0C9$1YDpqy@`9Fw@YO^L=H?0-5O->V#?5jw zi$UYyItsb@#U%<knc1m1l?s{Qvw74}{0(vn1gnGUp~SMp%pCA;Z&1X8$I!t2iu@wT ztdBl;L@5Sau?lsPb4F@%Hlj8uR&e%l3=Y;&2#E}E)lmoz337Gx1<{T{A@MGbA+A`> z%B_q~1?4Mv(184u3ck@0(p3g$Z_vs%&=k1>E-xu4D5!%jQ%x-at&cMVm08aIej!2r zKHymfbxkg11sYCu*rJ3qe0N=G33!<tWKag=u$=sKuzO%9NrJ}<LCqCVx<Fckkc(no zaV04Eq~w>D=%wY97H4Q6t)c+MsImfjo`4MR7enj<nXPANs-OX00bHt6rUOYnIwd;A z1v-VOg>Y&`YI12wYJ72NQbAEZ=!$8LXtXh=)QVJ$0Va?$&~bcneqLH;x*l|yVZ3XE zt8-|Gqmz%TCc!OS3gAQmTIp)54%H939os#~(O1FE(bLD(MNwT-xi}*=CkMPO5G_RD zd9t89h0akA33>(41~kyHQ5txkDl`Rv=7n@1rIf3mp|OF9fvJIkf`+SKWTdaJi;IT` zYFvQZ0J!#?LJoZcjp2Yt-Hfa(VnHn;@FW#vo&`Rl2bv2(Nl@5ZUZ^I5XDgzOtPIf) zUZ>t>WYBOZWFNFTD8nKaL|~SJ5IKlq;t%WqrATn|Cr<-n0QjgX2oqvftfqpU0+!J@ zkWP4bKpCL$B>I|El<)@M0SFqg#dXqCvR*+^YFcK6f;RNVSJZ?6DR7Cpeh_p{Ir!pr za9s&Web9`IemyK`AAueuWr7kW=!jfcyB(I}L31Xcl&k^v0osIzvI1mT57Oa>C|d|X z+o?grRiOGL5!4KYS2-ww15QuS)B7<aUKw<URT@do1Z9JGL-ff%P>hmmm=VY@x>g|2 zQUnn@kS0Pt=mf)@97u?Q*VcmWtuD$<P00jxkwDRiF?|kMqm5*e1|(I0mMtrQ7nXyo z3CN;5Hy_uC0LP#Z)by8Ml%G?ai<E%j=^{NRKS>WnAhmvoy&x4-XY2dB$NLBQ`vm*O z#|Qi9X+erFy@G<w6i_s3scVAPm7=5<*uFN<Bru2#>KB41PNEI0j6h`|B)g*Mfex-G z>m`>bW2Uh*P|^oo?*(a|8Jeo=!1t}|C_n{4N7+Hb0d)%|_OcY4kr0E7Ks$~=?gm8` zR?|^j4z9By%LPDpjY4N)KpXSZ@=Hsw_$9vxy6OSsDNK1#HYm<0Ey>IQ?<fH|B0nih z18f5<*JtHt<{`zWjzSt}1_*Te9O|qR$SfQf<T$iC8C;uzmpo#+3gJsMH$ajtsJWq_ z?(ggB?g*cZ!W{%4Cz0$$Xyllxld{Dgl!C#*q5$zPjf)6)!ay6>AZM-<G5kkx*bhl5 zI1W+fHo+Zs(1awsQwVn@r1uM{ZDD<2)Dx6pn|{DrK&J|Wx?=I*!*SzNb5ata+kZf( zBkF*TR!qyRK<baGtE($G!}@N;3Se!BgScQbfuP=vtB;GLg04bvNl|KIF4DdU@aB-r zV$f2eg4AU2Mw+zL#FEmYROq7Al>E}9oYZ3Q%2h~%0o1009b>8hwFB&YP^tsj1zN!c zwhzNLcoz;)M1!`fKrq}4kY^z~+2BGTqmlQoK{5rT)JF0Rv<YFQfPS(m=tNhjBy^h{ zk_n*dy%?04Qc}}0^B}jIIOpe;6y@iDZ9uYshz)Qcr-CrJZo<Cr1GFF;e4aH(O+2Uo z(t(Z+fo@ez1f9=IpqPOqEYN5^L^V`9G>ySb1Ia@MF^Dw|rV})vm<r=SO+_lqlofIl zE1=8P;c)~x2NB#fEdeK6JxF@dD=x^%EYVQcSJwpHMu=iedMfB1UQjs=N>!i{TF{}| ziAAX?po6YK`=~&n13hIAwDJKQC;3IG$)G!HG@RWKwY0MvI3&Sl*(!u)=7Tm?7HfbK z6D;R|>r*{H0|Nu3ky0dmdJxNO6^iqVN>WoaFr<*&4oc|BX&?=thC7Bz)B+w+xI?t) zD5!%9O;DOc+7<yyH6Wav28lG=Xw-TZBnKH0038E^Y6D0Pgww!_(jmzMGnr{%8E*vX z%1l!LX(Tw4g?$DdWCG01u;w$=1*s+R-~_6XmYJfX0NeVE)`|w{2VsaFXleuLKniY< zJSeb1c@@;-1BW~;WkF&z8trOQPz)ihv^9jC_O76<V2D(Pf=mWs(4bf%Xk7z(0SZsx zAXOlo4r&I1R-V8eq^+Qi(Jg{C7%;ReD?ppJAno8j3gi$bP{|KI?>&W}3o?jufi@&Z zf*b<g-3oF$GFFD>U{KbBZq)>(Wl*vKmwOm42i?|ffFVjKNg|K$g3LxO`83iISs2-I znQ00jjT9tFNG1X$7TCHFXj+8aV*`;!DhQBm2X*V9o6-`&t8&pQJn%6wrAZ}4iOHbb z8Zp8IWR|jmk%E?jh5~G1ICxbNXdnWzkyb$$a%B{{F!tbp<PA`P4#`g_ejre~gB+uv z0I{`L*GLO`^QJB=&qim(;?0qWJ6RwFI_UB;SlYtsbBJTXbqHkUI0K)jU>P3k<N(O+ zS&(Z~F|105H@HBmkZ}f18OS(-dU+A(N-|Kt36u%Jg$lMj4D%(X^YM%vV7L?HGFYP? z-fbk#UZfHbqooKP(};((WWY79jzTh0$)>KZ9*|#L0#yeZW6e)ffOT(?`@KjF98g0E zlu5w_0Axp60m2N>*#O|3<Y2=fd&!GaL8m%{4*$+XtbIWqc?NA5PgN*NEiTOg<rO58 zL94}6K!d`d79+$P@W4ZyP>`9XkXcd;p65(0EKSUTX@GRx;pz}8+CY9t%g@QlF9$g@ zH$Mf`tOXxhR;-W<o)k|?Re)T8kp{P~peVl}wJ4`jp}0J=Bsl}x3Pc(}N7T2VVFM!t zT?Oa-JkW(sAg`C?D}Y7e#<@C!_LT=K=qiL1CFT{Ur51roSx}^dPZv&4EJ-a-tW+pY zEh<BrxpZ|74)G6ibaw?e)$@xI(^C}^OB5ixw4rL@RuI>i9()_4;U0kI#hAR9Jk)e* z6_W=V&(BRPu~Mk6jmcBj1KpOJSfY^(Wgs7Enwh2mA7=M)bdUG<iwB2Suxn75YY-yV zK)DcVV`?(!WQ)Y~REY5ksmW=@DVaqOo;o5SfwVv{+<v%L9ff2)s6Mp96K)A;OJy;{ zPz7j&LwPBw#U+_};3NqZ!8WS{^{fWSBCuH?JD~=Fm`J7|2ME-D|I!jz`x(?Gwo*W< z>L5y>tz0Zc8M1MpW>h{X;ey%*Sk$71Fhr#-Xu1#7^40?nq=0pSvnzNQ1FQzAWCH~; zxLXYgWxbsI^3);?P0(sabx>Jkq>gF_NIkYm8nEK{;?xq*<qNvSATkwlDUGd>jyjQJ za_Z2nNiLwiAoxa`kks4)&^0`e6Ax`Ikhc4RT!IUOeW{}WrWCXl)Z>i^pM(fD3u)d5 zT&93FS%<j>1%tL&!zX?a+fc!J6ciM&hDdIiI;s<(Ji@b2AY+kS66EUV=<Dg{uHfb$ zq~PZo4k_+HJYUBUd~=c@b0ApV&C|y<7%_K+>IHBDNKFQ(bMQzn(U}@#I#$m^O#`I^ zUC@~%;06hp2hBu8#$>V{RK1RZx-MvsQ%R~iTK*%h1*WcBoL^d$4AKow79__4xK43% z4N?g4SMc$7cJxtzlyU?D6<XR+Em#Y{ftarjO-#gj9@YX%ttd#$ODRh%Dh3y9;F6b! z*-&sSgQm$LGosG^0g(#+ZVHez72>aes5-F~r6AoXSluzm)eLE0mrLzNUkm&n43 zFCvQ~NXEl8*#(Y$B8OR%p))@znMEY0mmpVADghtP;P0m39~u%68UhV6;zB9JAF9j6 zGYDH~6{VJx7UgkqO;z?}WB`FFwNo^Dgk6)}azOE1RH7FjpP83g5+6S$%RG>Q!TX^1 z-}Wgza>xoGz2SK9PK9{T0*qp)+W)>rjO|l;RPig02hAj;LiPBXF#5WHG)ZF71YSo0 zQ|QL%yA`BR0jEM#gLg3co&~8#F*r9nz65k#RtcyF0dckO1xDW&AcZJ?1g~;{ovNOi zo0?YwRsEXLSB<HCN{=+MGjg+`r=>vps8FSvOun%orO2TRJrX4qsw9EQ*O<9|N)NIl z!KGe2$bq0{092tFvu_7Tp*WJYpu3rqQ9a$w?E8+TeM*lMk}|Yw@1O>LVDVkX+CHTR zTX3S>;R98_g4OpRNWCDE$&iEqRdATq_c0rq)u0g)q_J_R%4cl8n(SzvhW2@&eIuws z9d_SbkU}nmol~;vL8&qbEKv$dyC{-BnHU&QJdfc5unKIR088KwUa&NBG@-i~tN?pd zgQbx5qDL`EL1_=NPfDiraKKKgo}v-)O_PB^Sy8{VxJW-KGfzJ?uS}t!vLquv&zMVD zL03x`G@P87mu{s{T9T$~0TSU-)}k)pQdV$qEG@~%FS1f_%*#tvaLX^v%*n|wtx(Vi z&C3LLtV$|DohJX{oP13#WsnA!#FA7i1+UVaO3(^)6NsR5Mq*xis)9!*sG6&^;sVXb zxTPi)l_nN}m02k0LTm`g$jr$sC_pzqEHgDPFHsYs5nM^=DkK&Z<bX~C4sZ>yP$({` z%t=*9FU?Fz1se`ilad1J59cSBg7P!CF^?>r40cwELUDd>DrhYXXzc;m6F!;ApwT3# zeHzZ13eNcjm5|liMh1o^x<&?umU<AQz##*5w~m5OYJLG|^SDQ1Cg{Sy^wc772q-8h z1P8c8=t2$F^@N>fTx6x-?5yh)scWKV08<H`@F~wP$_A}6%Yis0MWHk=CAA1V$Kwn- zHxYE<o^yU~Zhl@deDNo!n+rAv<bBV)lGGwd2PQE`0cx?HLP)+sS!QavLZSlbtUgfW zfmhW*t<g~^%Ph_;f%pt`w3wB?J~+>3mZc^`Y}3mxO4o-fFV;`0)Hl&H&<AblC<bkV zO;pH9EdgyeE6Il#g6>!yg#dpAr~C>9LklxA9R**|jf{zzc?w~fspUEf&W;L}CI%)( zItrn|j(XHj(V)BonaZLP$)&8|>+cfk;~GqTqd`+o3i0u2rJ%XK_;`iP+=Bd~5(RM2 zFg~p`FBx=#Bo`M{IKP;S`c6=WESIFd!O1y^#l=V`^CxAcCYL}5#?;jzEgxsF8c^pJ z)X7o+EeFUf$xJO)&;VT|2f3}TSQES%8+=+GSe0XdC#2T`8e)QpfKE*+%S=gy90&-% zqe7u1KR*XN*aOaOka4P<N(Jy-5bTgcQ1=!xAf~6_2f7}-BqKE^wYXRZoEPCXK#T(I z)F?|WssuSIGa1~P2MIxk-5?f#c4FqGf+G)Z6KD}I<OI}W&{$k%u>vH33X1X}?gkf8 z8JX!B(4i<;^usohf=a_m&=hfM2`EpaIjbZ;J+&kwwFopm02;_EN(F5v0bSY&9_azi z+ND;M=qUu}Lwp6X9MmezOw7rt1i82*F*6S|2MubWfNVeni-JZ;Mrvje*d$OJrdSi~ zZ;(Buphdr+zz3h)Sdx*N2Q9WClhx2DRDgs_P9^lnL$FB@C**_E1!Qs&wD&$Eu?#d| z2tLv=GcQ{qF$pZ1Uk;9p#N-mt;3LfQU~?exl95;jzELbGRRJ_OpO>DR0vSVsr8Q** zDisL2y1HO{p*csvEz}Qu^ja`fl*-nC)+4~$@6hpO&_EC*9uOTNb#-;mJjgwa#i<I3 zc?yt#1w|yR%>j<I#Ny)2^gIRBLma_|Aq_wiH>wGDhJuxXRen;IRRSpKB!H}haEnWd zGV{`l6Tkrjs<FV>5#{_ybgPM&+=m+n9@0X%!WNu~!3IJK2#|HK&JkD>C@ev<`=HaV zpkWESSp#t|2iO4HXe>8%#6pWNkh$vW>h7r}po4EA{R8kEVxmHNW?5<;+=DQ~6%rL7 zNBn|T--CM|VCR6$NlwfIofHevrvVB;Q21r1R)S*-#)sH}G+akq48iTk8$qb?<C6)x zB{vP^GjK>CB@3`0h%^(&`NuA)X^EvdC6IYAQ0pf#PXV&b9^_Rlc0qiOKZPYwY8m!K z2Z|mLh9seQkOK+010Jg&ZAbwL^#rJ*gG4ke5FterNHwgO0<po(0_>|+@>0v=LDJx5 z7O=G;nZ@zYRWmS=^wbgp145ALLFlv}Qo=&^Ecg@xxSzmvCU}7!YQ95WN0FJ6nwesS z$bBH+fM$?k8)Z?PuK~)spv_2dD?rMj3#C!gnkHzQc}{Ac222zZph(#fq!WaT5;Kca z6<onvrZV&MG?X9%#;`mE(Fe|2pezPX;0n2*d!dt36)?A<flNffpehe^%&?w<JE(b{ z2u;VJhy|TT4$Cx(N=P9JG5|6^r(ml9S~P;{T?JbO)aiVXVK9G!s&g0{>{vvB4>A^n zVQWgk^XrI|0GacJ>BSOKAiWr&1y&F8g+h5EWVR2Qu+TjO(hc_%s3=WME&&It254_2 z*ckXZ-_e<|pm_uoZ-ew>#~}TX#0fu$31*z8CfY0y$b?KR6Vsqw;i;e*QOw}V0cT@y z$_D91#-M-)rHafvPzc}%Zjc7B8G5M|C8>ES8qruBoSj;!sfp#B2&BvfTcZOu3oW%k zybsNrpom10hZvy%p}=Jl7bLrZ>Ne2Q1f;qRR8WBO7~*_(Fbk3iuvB=MF$4>Fh!$|A z2&&YROKjZ|bBa@u&rt`hZb1aMy1Kf5L24eP6$o+zXu=rBIr^ZT+TfNWcnAgV2yk8l z$6{&<?4p2T=<XqyyNWeI<|cwyhd{=P!EFFUvFeyp3~lkklOw1s0GSQiE13#9N(HsP zQvfyRi&IOG>LTJQTUcnr>j+Rt<)x$6uAudBpp*r31b9Rn>}HTha0C#@WF+UnDi63t zpd^ja>_W8{sWJjt5AG5br<Q=q7f@J0vNBRQBSH|A;9<2kXpJh4`Wg|u<h3;*DGU?{ zRCN|Cp+G#1-)T5n5!izcRJy>=t%EMy!X9W~pV7LhgXBoCeUNPw@RR~RjhKo~1|{v} z5_kek%FoY9P0YjH4oe1i%`?*!K;3KT(FmYa4KHZHbq72R!OH+p;>#=s->F!Vng?2r z3hoBNyQT^n;Bp9jYE^z-PNhOgMt(8sNg=tZso)hapkxkC4WJ|4N>V|?g$f#=>R3}x z0V#ch%|ps;pt1|Jza8#Zkk|9lad|a3wFFY;f%SlD6p+2hMH8}RO65sPNOoawhQb4b z$R;8va8Q@`!CHlg)&WtC!}Qb=n9gDZ6I@6Wr5{uqK@ua(7-*G-RGpFE+QVqO5Z@vL z?UH~k-b8Q9!r~jrjfjRXD9M5ppfq{&5VamCxgs}rF{1*s=?TebkOoNEt1vX$hM@M* zaBUi9Vl>4;(F4lEAYT(~6=s6_%-{txkW`Ol#SF+m5Qeny5E%s2$U|zIfm+P)Y!6Zo z!`OFu!DQj4!i^)wOl%Ekkckk}z}X#Q9w^(OrCo>`XtoBaLXrn5hc5wz`v%f*MKoDK za}-GT34yXBq*V#3vEwuIbU+&~Q<F==Gg6CE!F#N+ls&L|4%|S6*CJpZD7%8nVq0~L z2C8F93b-}_502)6M^zK^@}Z-spk-U2><e$3fy;5|U?s><g``r%QG4LJ2igiKhBOO` z3-a?)phKCUHn~0|QNVB7f$WEbjq)Oz4xmwONRa^cGIS}VLP{#U4h5eyQ2?szQbF}+ zu>yQWCZs-7$cGHof+8^`Gc7H(C^Zj!9s#Vf1bGD(Wcu*nf{a=fKraG9cOE<fiEIpK zLN3&b&&)%wIpHRO+((V}Fmh<YT6n~_NYFwPl<XjfK||vUPvC+)Kv@8zgate;AU6>} zEfl0C0xa6#fr`EDPh?XTrR9TbBo2{4V1Y}nosbYE%2H4c17%ydKSyM<3tF(knor=e z7^#GXHlAQ<0zOIxk1@1iA2OOu@B|7f%}Ho8ffo{iF5obL6!oC2g4B*eln(fsQkiMc zdrTDUY_Xk=0CE$&h5^}tjFBrEm^jVbW&|4wct`6%!$zo$NtnYiV$M6Yl9(Yn_&^xA zF2Qa#r1(^@Rlpd=gQp`<dqlw&^>i7S)3DRH2F0)p;Nfo55bH8U8o3Nx%LpE#n1KmT z^H7Gif+0Nnz(NVqU;<}kP;*HKx?>wf9YhT@?}Jn!WqFh&57&j9)<NTd;LXmU=u87$ zT9}er5f5sC*hVYmCKeSd#li$Zg{-YoZlzvkN`(?qSpmPf6ZuX<P~Qh_+OQaOnnq@c zLP~xrWUx530z7$yXnuePv=Wi;MntO1h-*oJ{Q`DBS=A3{4>5RR8`S6lRa~HvH&8YO zFGK_%=me?qLH>gWC@8uh7dnBoft>&v!70fH&DDXI%fP0WK`KEQX$S#2w+b%q5@EMP zq~?_rfo?Si&4?;M;sGfrz&3#AbYPyuU*Ex-O^^`{s3XC5R)L2vOY)2GI1m=)NDjb0 z^Z@c02xn%dz}y8o=p#L~2z7K3G{X!{E1A$~caSzB2P`0-2PG9)MF$Z<nJmK6>IYc? z!;m}!(U+K#0uD-4)4+KSDJOv!*=Q)~>FGgT4!g7yv?)mmvDqvWyqOntxGbV3gB+y> z-dh1q^2N||eLxusDIb9x2hon~Jdj6`)uSXjsH;MYQx(7_gE|mkUxE7}Rtl=c3Q7v9 z3ds5qPQ@%qL7i8Sqd-X<G}a61UV%4Qg9M5(i!iA5o}jD8K>83Cf_NZJSPF2^-muIR zQ2qdg5~iWpg8?OW!Bc@C<6%V;sJudW3}gZbV|oxI3c|<%42ypa@MTqSha;j7qygb* z&?$7-9gb`$IQc+K1jh$Bg<&KobwqLkB_nkt1&}gYAu}_D3%ovC5R_>`K?k6~R(C*F z$a<T2JGW2iK}f?EEI_5*yem<pL4ydO(1J?Wc%NvW(jyKx9JPN9RdmW%0JJ)q53UOA zC5WW25TmaRNEWeH6|z281uP6+pNk{~TIPz!I<Pc0zknq$8~_$YC`b4WBvFdAe70mt z53g@xQE^aeNl|8MSz^u<jR@Pop}e5hKe;47DYXdSnp*IBOTYZGRM5gxkU~=hT`cQS ziCJ3<x|}*UvkJ6!7IJ-Td}dx6bU`O5d+36%uZF5fEJ=hfn+Ffn!*4cBN-Zf*P0fQY zT!zSj4#NYx6l9Kqf<kd}QD#92_~1<F`qx3QFc`F&4z#uyyy`ADGcUhL0d<dRCj27C zTu>PdUVf}!TvAk;3|gy+@Sm<iB6tZhsC)n^%uiDQHL?_nQVUB{i%S#|VaK+Dr`!@1 zl8ej0ML9Sq9H5JKN0%WNj4ngQzix0)EklMbNG`4{hOJFToYM&t0UgVbnv|HF4O+Ae zySrKev?>*}6CASo6|`J8F9nqIN<qgPftuh7X*sDCko_geC0w8*N5Rdk!~)RW=^E;K zdiv^`Fe{+D6S?5WSEnY&Cl-K)@j;_z;C2<%rQj>G6ALoApob}Yf)`pNoumxc37-Gs zLKvBxQjEjQ<dkB3CL%OKjHKrJQ&3Xjg04TM)yi#@+EoLxniSf$RaaLJh8<K@T$xvr zSOG5iVdLnaMrUzp68J>m{5(*9%hxd|7_?*sQdJj2`yGx7Q1LQo9j=g(2wH#)Pa{yX zVI8Sd&;&MU2Sh%2rlmZ;2z38@9^?vY@Cs$Lk$2d5BY3+7WVtbXxizTEgjgmH8+wHt ziIr5T0KHTlRHB1aLPjD|Q;?4thAvylEP^ZogA5vj6hjs%gOeX@YZ!R88G7hd3h4Iw zl8mDK()0|4MAX^>e4k(dco&dDd1{gZD1m{hQBbd|C@nEL6|{CdRROwgJF^PB;YA@a z2h^viR7kBTNKGz*EP)3(Bs;Yd6i86_!9zVI6;dTbgAyDGP^HECiACw)tuzqtKrf{) z21Oz`gu%XogsTE{>1tYjX<mu~XnF?H^apJ!A?CjNP#1q^q<f%2-h^V<-kD^u_q1Vd zQ$`hs3G0Gm7Sg(hACeA<NKih3V6eL(hc_r#LC$grPAw_}U7nO*1mU|RmL!72pzH5J zZUHBpOvr?Oa(*6cO+R>XdMZR0<P1!R$*_c7P@0sJ2|Dv36X`Z47w7~IWLP0QHA%rS zz*7NYp#pfPRem0*4+Xgx3hZ7`LjvqM$U$sa2KAjY5<#cmq!wisgTo3GPoVULSic12 z;WWW5zeoY<UZ_&AcZ*U%ZUH4Ccy7!~1h<4h$sRs-0(K@Sq@a4C=hcDoF=VU+<QveU zo@BT~t5U&}ZlFD;3i*hmKR^aRQz%#pe0&@hAG?5tY;rU6pr_%1)#k&;i6NH4a$O44 zK-hI2xXsMVF98`?S&#|}!5q*XQV6}N;9(<NnxQ2jNP9*qxY?HpIynt&1}s4or4|&W z7UPVAU~tI>4tE8J($u^Xczl8)A+abqBeM+DT2CxVgt`oL-ZE|@A>}jFRgQUyIhDnk z#h}ER3fTbS20OnEbQlg;9C_N%KM9ng!A^i^g4$V>TAZIlq@^jT#o&-ADauUD1D|xS zP*PNy2g%f+V1`E%$ofRY08dhCT7FTgLULkJQ6;DV25kUI%&Sy@OwA&S;{4(gUFeR@ z%)E4{3yZ;rE8=t_tO$Vy49FtTDRv-hiYtptQganxDK<S7diE43{E<>;Vo_=$PUBG% z11toJOOtfL+Va!DUIk@{B+vj4sEt$t8mI&3Bk&<q#3eJZQsnw1Gfx40Hzc?s&dtm# zElGtXKJaN*#2E_<4)B@#3Sf<pHW^A{0a*?W?bM2bveY7+!2z1fh81l{u0@nikh83C z>POBPkV7s(gIJ)Ao4H9jsh}+vkTVF2O7ox&N=!~JElNzT#BC%>#(>%ny6`izq!@I& zC#153#t=9yWP*=a0>==jq=Ti46!7UApiR1|DbQ&us2jkCO%oU3(1l@O9gvD48L}TF zH50rJAyL5{dZQU={}`mD19Akoo#2yLl37xklB(~MpO+41ffd1A0n>=fCE&^pUXp`~ z`xH<y1-j%0bOK+BLUBfZX-<klUcN$3eqMTN5oqii6e5VV3fPl7tV~96Iw-Qh1wX{g zP)9;G?h_GNiQrDNLS|k`KD3SjWl4~uAw@o@`wdzln3z_ARDVNDn8X~=?$zAHyvzd7 z*?yV%c~I-Yz9+(VP!W)uT9OJncsV~kGdVE_(GY}$256`ooJ2s=FR%eU=nM>~C`~QW zfmXAi6A+7v!PUC0lB=VV4!B4tPA#!jQqoZXg&l|iHVYKfa15=)K#~gJ$|bWHq6Jc8 zfW<*o0+<0Vr$H=Cb07sINDj2pIT6eN<!CSil;yz;NXE8RGE_p8%W$Vaat&A=EWd#{ zpkxeTK+_(W1Bqi06Vox^2(VQ`n|wlSWP{X+nR&$}iFwK3x)~G|C|wgsPZCt_!HtLP zS%9=)A^Y9H-3rLYNss}EhCd>OfSm$rTtJ$RAkTt2G9cw>$F+e{9wgR5iX0V)Yfpo# z-OM6|6!6(?sd>qnsR*0$^Ay1QM<7)ksELKq@`e;l#n@WiaF3JJ^ai#2;caV3^BLqH z;%4O_X_|zlG{|Uhi9=Fz8l($`J;9gB<fW#9cKpMl26AEoXd`Yi=#mgnvjTkZ7&ucw zb2-QWXcN~8RD!^R3nYQPSq`hTGK<0O0Z7LNq#T3|te__@>w>rQfm9Sh5?fj+=q?{f zTTLMm>>?D)46UGr08|o`Y87%ab2Cd)Q(!{S&IQ!L&~Q$K_HseiLop~77N?dJgZ3<^ zg02_JNJSJ%VDE#gS*U6-g)~R0WS|7L92Aa_nibhINC8K<4+1h8Uq3{_RWDsn!PQei z!!^iJ7kp?zW-i*fJFX^RSrY?I9R+_E1r7g#)FN=}GciX2+V<7dQE+txt1{I@<UWw) zNZtbFR@Wd$Q<(o1KqV}aZ=ivOv&aV-N2MMS$S9a~kgA=GUJ=X?J%!NXQt(D?P_qEs zHv{cZ2YXWiexHSo0<_rxYO;XtvPLbtQ}S~`=P-aee6Sk^aRwxOF&JbX8Yu`tH5A_P zBe91D@*)hw+Iz5Rg?yxLh>k*LZen_BF{mnsEU-XzylX{bZUJ}{5p?wc_#$S|p(fCd zk49pirVi*lLr8;BBP|&%1qP%Rm6R4GrKTV$Dga$L09rr*I`A6aVbVxWgY17V&Q}1n zBw&sQ(MU-VcL+jjasq*ftxKxl0UjWO?4}2u76HDK5Il~P2dW=35iLZJYhcX;kW^`E zu_8)Y1kRP9C3ZQG=7fSqZjL7SknZAQ(8=>)%?cU?Ai?5N@ZghzMlnXX7372NoX$+l zQ7FqVD#=XFEU8q`C@2G&1eYmE%?0OYkg*yCC8+bdpvo>KwV)(JK_jIAch1HeocMd_ zprAl)se&eFz<pD&CyVtIJWIf1k0tpE;By4P`#RAAGdaHqbf`jpUP>ycDFQ8~;k{94 zq+(B#R-hs7RA@k3DH!UP<m($6o1=$zv6X_UfdN?3zyNhqC{YOu(h|g*u3$L~R8T^c z6Bud$1s)88lT2}jg04bwK}Kp3xE-94Sd^Qemzi9wqmZ7ipo`jHK`noBa=^zeLpv>? zJ_WebqNAXvhZ<}|c^1^x#qU*=o*v0VARtd;4udF!CFW$NfI2g|iJ+0zqEytjfn!o} zeokpgD(F=C$jHb@U0+{a7Z*^O1>%8j*CNBK;MP0|eua%YkUa7N@-w-kFCe`z4C?o% zKzI6s_6(Mm<mV=qWF{jI0BIzamgH;dfDZA7RF9w}2|9JO7_qD#WFFY_rJ#dwz!#e* zmSlpu{@^(QkPh%zG;CT4a$qp18={bjXk3F#0a*ri0=N=|=UPzn2V@Go8-N-+p~b01 z#R}z#d5|4s`Je%UwEUu61<-NKNMlb5kWms)>kl+sT2hplgHqNa`2pIg1}V!-t5k4= zG!|1p>8dnUK_jsYtq24KCE^@q(BdxSo&kJ~5W)t~&OgwAJoH2wkmo@d<V$Ev%1Xfu zbYrT48R#lxOC1FxLt`BUBU4iy1!F@?9R*`cOC1GMLqi<}b4yE5$~81Hw?qvWa6=wC z{thlU^YRsPQxo$t^V0QG)6zhD!86mqy?v;aDUg;5TBLwh-hl2Q#w<+GhC$J7PgO_) z&8<VC5mfypLq<)|ry@We2Vs)>Mc9r3fG#shRfaKiL*PT1kPHK!p()7E0k>LFBA=+z z4ALvdo5v{{x&(y+41<et&_UY@8jdBo`OvZ)QblR%D5U14<tu2o<`t(R4YHLKYm!+` zg9kowjX{B&gjzMj$}YlVrXamA>{yhV2=5w0y8qxa&C81t3ltKIz%x{!900l^EETCS z3(^l8MuWDJ;KxBgPU=W3RsbEClbQm(r=eH}e54a<sSh$HFTbcHLje^3pfR~(1&vI- zR6PZVD0J)-w3VbJzX-Mc1JVn^NvWVg=z{#>Owg%K3L2?;=~fCR270EL%8T<$;Z}j> zEg)7wM2WX5FEu?8$tqn_47)(%ijdlx!mvpNT@(Ya@L^#C7KOUkKp`bHy(l$RAvd)s zGbJ-I57XB;1IgG_&j3?-IjDrduoEmwj-BYCWdsf_l#C9_S5^vspmd-go?2X@9}J2o zeb+>^8jYv|0W>6sw>Ut}HelsYe}Q_PpmB0669S+xgkeZa23&s@Lr0~c$8&*4Awfea zAd`?fQ6NiDn{@C_5qK5}BoC@E+%k)bOBB*eQ;Um1Gn=6G9^hgTJgtBdWE!B`hDxDb z+r$!u;>tYG%Cuz2WQLW3fq{+!xSlcsk5(93D4<o3NG&w5=?WU4nWE(U+$8AH?pOl? zG;Ul5YRIAbrnnTmzYjF{5Ar#zW1X1;>ePVx)ES_|#lSOhXwCrD($LiknZ*ho9=^Vy zaPaW3^7YkI@Jv(i^#xg(pPN|%8tDNonTNEFz>C5R3{dMgqS6Owq?UyALCVYyEP;S% zltcn*eLxbGhKGkHw9$h(H3aHSCFT_8qr^0%!2>$m4^$54q~@iUWPp+whzEBZq#;<A zT9lavQkjU_5`-ixcW|--B{kGg1LZyiLw#d?GhL7yb1G4+Cn`)KgWh;U6%^61!9k?# z1{!Kpa7|3k0I$I)$^@_X0JVI<r>%ho_fT9@nwMEvnhKsfQqX`Jr>Un9P?Voi3OP0q zoc@pvFa#wiBh>T?>N<ngd_e3=gx<%QnWq3BJ}XuLwc`wp6m-!0SV5`9si4Lg$XH*< zg3{oU#FA8X&<%D4sSqQJVcp@h{L&)mxt}N=LD;U42|w@@HC~WHUda&ov;)X20^ZO@ z?yW*bDM8s8`~07RhCk#0h}1lVOw@#vS*!pb@z>J?B~Q>$T%rPE?<TbI3M~df6>&b| z9u-hN03}oK$X7mO3K!Ln;IxN1f>dk;@0dU)GSC`T#U;>zWRx&P3NYM*9<X^A{K1FP z1BQk-DRZ45pW~hH1Sx=FM^LW_(s%(ihCvgCxrvpaNkd3W3Umeu*g=q;%b=S8Q;R@L zB_Iw%2?JzD79=KTr=~z!AfV+>nZ=MM8mRY>l&X*pIx81^Zf+v#L@mf&5TilmOcH2* zH!r^^7u*2^O=E&O@d}Bc;XcrP2cU_8RFIqVF-?IkGRQAd$Vkjf$pIw~P<jB3B7qti z8YPtlps|pgN(EyhP<}EqQAo-xL8~IdGfOfuK?g4;=jRrHMhIZqK}Nx&6I!O^7iFe{ zZ|sJQbfSa}w6BA@Q5$lz4`d!1)TM?Lx8UUyFtcqF%TQA-Q3(y)nI^vZ4w>Br&qG7! zX`#-Aj!fg4&;~^o-broPT0!ut>SAcV0{IUmY(TEHO)OIY@8u~1pNo&$4TTJNf|OzQ z0zmWVV3%7dfQosLB8B3D#AHx>gQlIpl{M&mQP6(25>R46u{#a45)0HB%}-OXgtcdj zA=j*f&9YT6&@<IH&@)9$wt>9u4xKE8S`CRg(AxAQ&~dNO!<JK0^YS5s5E-ek<{66Z zD5fYtMhsF@KuH0-{SNG0@HwtvYoMJO)K)WmJP_nzP^v`ao*eLkE7-6+NG>2h2XxG6 zih^rlX<|u!5o*nps+W$M)}R64W@u)hpsN6$C)3C;QYcDIFU?6T(nK9L1oyB|d<P0A z1qB6=ZdeaX0n<$dFgHOvS|~<9UEpVI1abjnk`SKFic(WblT%ZObOy)>5}bh=G*GV; zr=}_dq1)<Sl$in=zbQhFB*+vb{0b^;p7J*{LGn~`Nn%E7N>O5tf(F!I#D*`(7!o{& z;uPXa6IfcuSE7JNm*CU!poTNa3sXRWjM_nhjVr(^arFEGId~mXe4!>?ND~-EJ>*Wd z!qUXzOkHRaMha_0x<)m~8@e1f9To_nq7i&@NKz`aKm%oa_)*TFF;0{qhK;y^lCmBm zt%B5n*2sZ`VWV-7Q8-lliHae}Y7HWr738hT0Ywgcz!g+qqO8nO0ADc-+6!0=TY;3A zQ=V8^tdN9yuvcnca!!6RWXKnCL9#+&DQF!hsF9EgsV|aqGC^mb6qgo&4puK#fDZ$s zge$a(11-CAL09Az<fJM<g95aH5R?Z&r6Op}1nA5a(6VaO0cK>^6c?6)x=Kk!pq5KX zu|l*$teyg>8we^mQ}fC)i}LfpJ%qBvqRhmk98`aS?1=Xb^$GC|aSU>I4T%p93G#Ff ziFfl40$uZzS*!p$A+ID~!B7D*^a$Qs1#%r|t{%0p0a*x3HPD_uxN1yF1+7|00kx(< zN<dx&g*a%|qBtYJJWnABwfh88l$z`eI%5>F><x72HmHzFiq9!l(9P9>RCAz|h!U~{ z`~vp~$b6_fi^2VPRBu2#W}yBKxLknL?@8blfVqj_K6PTTf`OR<Xt=<@zz{N6U}ULh zXk>xno}xt1{JBC&Mq-`<ST#Z^iaMgQ3dAY+N;1?U2>%K)P_6)BP}2jv;25-%49A+Y zVo=0^!WL9Gg3lo>&MZqs&FvweBiqr2Fp3ceu@|L+u2TaKl7biZE1<d#B{X2Yqr|)v z@G7Pv@B&>h6Lh5{_~azWoOEVcDy(gmnTk3Y4IMuLyBgZ`MRl+*PS1kMNt7Zo3EYK% zo=6W0G!O<K3J=<{tDpgn8CyeR&~g%}@A6W?)08l|63~%>D4qnjNx+!^svT+88m%dh z97SNOK+DEpg%!x5so?2uX!A=!Nnc49G=_}oU2vb#(AYrV(AZGl(AXHoF+`<5?0fd% z=D?REf&vG;@f*6B$W{TufU5*cLKhs_LRToEN`guj@RCIZTkwVzFdJ0~Xv6}PpKZZY zJ;kYrE;!hDaJ_2_Zn~oCgHD_)*n*ZJfK*{fLuU8E@?a*a0!XV>!4^7YgenQ1BnG<( zQO1Iu1D-DfYbwr1%+-OVpi?onp!@4n6LV1w1kYyJf>%zWN`MBW6l}p|7peq!pblhM zY5}SQv{17J4H+TdKMHmPwCQaNZK$K_g!SkYY(b00!0Vk+6@Xg;wxIGEkq5!X!kZqp z3NR+BPH3HH3$6T6CBbQ3!4|U24AF^!^s~4i0-*J;(9KieEydt9u+V*DpoFNdt{za7 znFpFX&&h$U-9+q>1r_m-91E?kAnPm;?kGvjOGzw(-As?viNn8c5pDnxnFi!c5LQ+I zo$wDDp#~>+<gL6I&V;VZ0T13K79lE6(Dq-@F-YL6_CQgfsR!DTuYq(hfU-hn323!j zssemd7-$tCYM6izW&m|%5$RDG+)V<BWfo!G_y+egXqGz@w6_5?{!mg<RICT$6>A_x z3&_8qBN0kcbE6GnLDfsNI;4~UT{8$N8`NVlXT3n95O8}yhG0LU0qlGYkgXuowH4H@ z6hQYrgH8zo3mSqhzlNKGk)XiZ!O00!%ETuZmw}TN=&*=_(h~4}rqC)S9+Gj8e5S6h z9$u6QT9J{H1Kyqk8nOYWWN@hs3X+_H#H7>`&=8J7ei7&nCh#)zL<Obf;xZ-h!gHe2 z87K%q7<{fX=-xtb^8oHMkQAu)0PSgoUI_t8Um#yWhSNa}A$Z#u(#-(fs0H660x|&A zs|uKFS`la7gUW4~ry(6n&_#XV=22dLo-UXJvK+~OL}U=ScW9eKKz;?`l++w>-YbSD z$ym4xkmO*A6jBa>G%72At}9T0_EJFOkDzmL6hI*k4MWh74%{qI>lLg+19nX&_~Kkx zRH8OXLFS`j=yqg1&~=#cpmt7tkZWM5Yj8-grjCMoqPixid7Xxuhtl*wI~P*Hr{+W5 z1WUpS+6th&hdM?BQxB4X-s@XZqya8vqO(&gv79-N>PS#g06P5$wCp0ks3bK7qE|0F zwX#?P<9vO%Z83S6N0~sv8C>2Y9}oe~nW*_M7_=D}RN_NAW$^S3ItdW8tsB&LfegDs z4!r>{utVA#2pOyiPfgNw4DbYX7@b{$!Mi6j!AruydyT=JfU?X)1?cWs&|o4wW)Zv7 zK_wd~j|GEHsep785oG}=a6ppKTm#*e3^xVTrz=U!PR&DPRoGGk^a=tgKMmn}DHXId zJuk5&RiPBL_cgV+7<8K-D6wTGfi{>Sg+nH+=7Z!^c$gvOPiS>Qbly#^fZW~(X>NcE zYjE=%6ic8O0*5)=qFgW+)FJ{`aG<**)Zwa-Zrw(55JDQ^CXnZfqt(HNsmFp^yI>|H zt%I_XvO+;oY5^oE6s4zvZnA;&;X#=jG)fHG4VDiXO@eLm%`Z}brC8ATGu+LP8XVd& zN<jo6$cNzW2-+3`Wsn{46UAVI2jF=ONZ|)+4yG0(1}5OGIk30%z<~l0Lkbb-k%XCf zCE%>92QdmM2ZOwg6l_of5Mc(coi)@U;*g3R!bWN2q-Ex%fQw#GQ3GzefX1xAD{V_5 zBgx76d1a|ZC16F6jWCEdAY>Uj!e`(+gTSZ4DWKft0Sdb8)Jh%5bP*`GL%a@ZWngRY zfNcPu*{qIQFoQgeumpBn2dKdUI;9b{P{!Wo0b2|%lodeD{~`^rT_|CalA4nWZJB`W zLQ3l36@{R}2$3$}=?3aaknh0Sz~O-Ed_;VKY6ULDc{LDMse_KwNYBhm1*dWK)ZF}H zb>uV-s=Z+C1_h*26>@L@+#!&|5YzM^SsT>_@IyI3Aqm5oX$r7&F+fe|%wpKqE=baY zn4<$ylUR_c=L{abLraM;qoAoS$TcL$(>2Uh0le)a+%v=jme&-K(l|^Lhz7O7p)S^g zRz;~Au)5pXB{<&2F~l+0HH2V&4>Amb!GWry088}{K?Iqa1G@PDayAJ*Z^KS0(F0d_ zi1P@D41s`9Cm&B|1(5R<H2nNSz(Jx(QZRr$f||HN-XPBdptB7!lT-1#-ZjG2IW)vo z!O!1M7wQ3Mlsfv5=nLrm^N<z|zSt;6TeJ=GA_zm1lxt9se~=Z9)B{!Hm#>hUSdyFp zE_`9-JS;Ke3UbIPuActjb7$b02xK$#SQ_}fRiJ_%izA_y$K=K2fpcgO^pL5v#LS%3 z6l~T)bfjWNX-N{ORH`i2ORY!-_pCHDqm2+{I>=EV4ABqTrw%^LM-R06Ik6-@wIW#q z%SnKs<9bpnGD}dqw_vA28@J%XBpK8K2em*!jWBpPV3wj#J@LgQMGCeG>P4v~kZVIh z4g+CmIY?Y#57K~YATkfs)&})RL2YAg1$A2x8&uds%WRNl7)H@%tDvp}$@aENAUzN^ zsOheR>ed2KaF-@QmlEg&fO;kx(cmVEdaRCuvbt`nIx$zv7nh`D=Gh_|w0Z%a0j@+8 zRmCMK`K2Y~X-q9DB12<RX<Bh+RjREaYT_#ZRr|II1$v;{hD-A@LHo@$z<n%Rq>$B1 z%>xbPYG`Uk8=$62NQwlRqL-2iRfDLyK#`Q0rl1}Sy6`!*s3^av7&I^l?&_$6DohlO zs5KTyFT`|paFRvMT?)Di1v#mS#i<I(8L7$Hu-XwzF@YzWgDQgjVm;8lQ4L5^(bOw0 zi3f!fs1ag7oP!|aBcLV8`QX7;a-9axdJqF4=TeHH?5@^>?PZ4?4(UC`w+VDMq!g+m z<N-g3Lf=+K-`OCQ3aBc<;R`NrK*J88ksPS{d5pfhLF%PZ)q_>RYH6s_y^Ow+Ozjv4 zKtfKbv;oV3PpL#ZATkSdhGY+Z^TA5+dJe3D2v333m7<?f3AzD3G&3J`dT;R*jfk59 zBjLbG1?rqw2|1n-d_`GFMt%zTwhHhete`O*1@QIG-~k-a5`P6yO`MvT0$TV5noCQ` zEJCz^VJ9{gfF=%$@)V%!AT#qoQ(&kjgAZv`P*8v$SgEVvl9~)zEoo$6I6#-$gH}lA zW+D!Jf?TqU93aJ+pe>4^WyYB)dFmyQ&`AbuU`#H_sYC>Y0=W57T$%)(7tAjL9ZH}K zDhNRs98#H}tyhUTpalx4DGH?ppfJU-5n-e*Xdek^`7ZQs74Qw;#h}|n5=#^y<28`e z%RmdE!4a0I0E-D|tRW0j09jUCnwFMXky;G7bF)|>7j!sKK~ZXQW-(~S9@LHipPvNc zfKP(T0UdpV>Iu-vNszu4#OdIO9X)*$97v$eQC9l;;8V>r%Thtra(-U1UVc%!eokgG zXt8avep02riJpNzXzZ;x71WQ1E(TU8fu0%b3|fT=x)RknKQ}i&uUJPRz+b^Bze2&# z!puxZ!8gA&4|Kn{LRe;MxsHOfqk^T0fr*ihLTIp~9+$Efbpfcm3pw_US|lw`--I4f znO_V$))MJh&9pplF9YNu%p){&^HWGWHWNIi;G3UPtOr`YQ4HEZo?ld=Pz<__qa?m4 zH8;O3RYxH`wFG>xXnbNZsO6oRmkzR?S|JHBhjxcoa)HO|6kxS1#=(`&`8i0(NP-r= z6hnG)ph4(FP$`!T+OGmDlb{2+&^eou)S^7_0W6@SE<tB0z!ra{R)7w81C>XRSr*X1 z4cKhRoIglAm<yUX1{c(zEdhBcV6&1^6+jD+i$PthRPcff_z)jt)C+bnTS-Q0B}@lo z<Op`a9sXkv!IMp>^H46CMXAXp`9+n`NvM*1u&Y3miQxIJVyM4iB{Qn-Ajqms(8P67 zYB9*y@ZbV1r&fUOP_<G}kI~XgFG_+AEkQ!S3Sv`!8fbnU-U5Z)UkOnIPV}G%0fi&X z4bX8?kZ&NN3R>U*s-~!UvMSg?(34dad|g94{9S^fVvv+e4H9f1XyOFcxCW1Y>3{+; z15AR_8Pc$cy1Kd}WFraq93$`|`pjgIa*#rB9bS@=TAYd!b)b;JKlcDq0m7gVg)I03 zI}9WQ!o;Q#kXl$Ap{5g%44G*KqP3*72(b+V67q<y9w_?Z4h9eEfjt6Ro=}p3Aps64 zupEemDh)|=;BjPB2}n5zmIg<W9>@ly5nO1$3F0Pjgo0X|kX9*J12{G_P@@u*)FEfI zf(-_BN<qmSvVaPlB{NGhz&R0?4d9N#EN)<l0GeMx!A4P}gBM>y)?8quCL(5rLH2_% zWMUZPtwh*?2%w;Ydj!M*-6mBG4pF_tq+*bW28cikUS&{S1fC8+4=L~rc5!JEXoelM z^a5fDC@>H)4;mdR%Fi#+0X1$xGe^aUiv__8=<<v8$`f<4A-1CSyg_<Fc7n8lA_!U! zgRagfNiBlkR#6PToiGjL2~es+if2$DfG{{+f=nugO(CGnEkoP~k_XwOiR5?8qy?&s z<Kw}}3dthST|JO_6UY`LPyz(Cnn7lQd|8sOfL5JA3Qv&ZK-CiHUK;RTyP{MD@Ui}> ziJ+EwQl)~DjuLq5Gto&49=q5R3dlwf2D=R88BhU_Szv%11*%>_>vo~LVZeR@MKkO& z9Z0>1@CZs#05TsGnxJJj(Xh}4?N0>>YNTm`%gZ!StRf-@F~kJY4Qux(*n$!uq!55N zhL9saIUjVKX)0)nG#<3V&lWT-j}eKGj0E*D@-iuKj|8c-K#f)xurwrA!LFiKM8M+- zHQ4ft6!LQ*H|L-R4r<mwX)S8NbYOTIGMFR?YloqaBYAkowNL30K}dt*7!nkaQ6BF^ z@3QtOJpu?7pa6`IhssuZceYRI5rxY_+CwM?^mxx|pVGqtQ!)iIK4c6M1rHA)$$$oH za2f`ZEJZR0boB_RjSQMTjt7lTP0@%@*BKqjNi70xpVJ7<%LMOeEvW<*Lt&Yzd3lMN z&<id=*&j4O06NJSR5_%lmbiL?f>5ELC_lX@F&DH84^&{m&SO_lLJ4Ul#Lxh;F^=h_ zMWFTc0f|M$sYNg|z@-^z@dC^+WX*{wi6sS~f)3;im;!Lg01_xI2A#2vdKCe<uMF`( zQ7Wh?0iF5^+9i+=E+pWo0X(#TJZ41mfg<>=Bq<6h`N`nZ+riuIk^Kv~;smmw0#q%) z0vvp#H~4ZBu;-KW^NKTzOF#>7kaa_@IDrQf_!v3RL?)=in4$m|2hHmgE0pEuD#XWw z)WpYwnlVMG2%{7fG~hdN!4@W^mXxFxp}HHqH~=IBDdr(PD$r_mq(M9dh5S6w1~8B^ zgpV~5HtB*kIDk@Ms3&;16}r?ER<T2G6$XtNfjj~(J~H$3koCjTPYP=MBD@P;C0Go) z(H=BB2HIGfTBJ~rnVOthjFjFLz_-_@#uud)W~3&jfDVGq&5no7bmwM+ijdS|9R*1D zJ3c=rMMoheA9mjkC|QG3)aYOpI0FvD!76oib?}Zi$l3~p)C$mSYe_L=tsJ;;1drQ* z*91UU?t{ALjwK3dpmR1L+b|Hh3cj4J7_vMIG@b`a;^5o@VmSNzg#`KgKw2fB0SPXs zm8mJ<1#y)MkX3D<ybGCL0xj!@9J35p2{9WqO{T}i1$I8Di2@#-03H1R+Vu??*8&Z6 zfO@Tv!76aO9n`vmU&#pBsR|lof)yjhR*?RbmI9~@QP2gu1I&b}0A*`XF%1bZaC1fr zEtBdh<d>xuf##V(wt>!X%uhqUumL)y1kPTdLR||zmn!H&L?G=iNX~`SEFhb~r9E`I z5*(0FN5FHog02F1Koxq<JS4j-pxz;Y5~BzMKzkO76?CDo0I|QgBoVYQDlbI=H2Mls z0acGEHNZMR%ZZ9X%{bU?E2$}<T>wd7H$qlVX(5#^sUZI&IW;pcC9^Cur8E(=QX0Da zv6zc1q_QB@3N?WB3Mv(Jbu&_P3b;zZ6`%s>{;(p@5o`H*3W-UeNnVtche(!sTtT3z z8Bj2yR9E2optLwK9aQ&1>a<MIKr|PqnM%zu9?(DnEeCYL*)={strT=qSbRKem=!Yh z2}{FVu+d(u<Gz`Bpl#qKTwtR>(GA{S0?ARJJedmO>wtHgq@?DQB!Wh0F$ajjL!kuk zSW*VvU<U3wgATsQ$p@Wo4$f|nvy~w-;Cd73W+sqQ(CSCzWs0EHAD|vQdQUecvk25) zg0HHE_4dI@80u5d+C)$Zq5<P4mllDptxqdT%uNL^Oa`r~(8qfH6F87ChqX0|Q%gz< zKnuG{it=+n1*wigZe=`pQGgEUV6NQ6oOsY`708fxaxUm(ht&AQqV!^{>nT8Y?8K)g zr{<M`j&RRTjZeue(uBm2Gia78wOG$J*)1ovq5zavp>c%}K~)LsmB11QjE|}cWiA}1 z6h#o}rm9rP0yA5Mk#YHzTd1FNh^N0F_3ys|4dj6`0BnB@WQYZnh#-YAtgiws_&_O3 z0aV_BHf$yqf$C;ZjRLL|L07Ki=cPjLNzMcvQJ0egnv4XGzvom!s!`;E5;CX}k^w%& zMgd%xg4UcD!y4@1&Atk#w=}`3I8X*s057G14i%sc1%e7b2!_<KNaHlf!l3dNoHvto z6yhNWw0H?UH)%lD^`LanG?F2Lkb_phxl2PGdS)VMxChi=0F_^fRthfpd8vx9T?Mew zE>O^;8weSGP*;bU1FceBoxuhvAg#GhRDhq<U!0kXdeuWPMhyz-S3nyApc@@hi!$?5 zKs#!|r#V4gotOiuHbE=C!IdL;!#QX#39P{n)&{-`8_@^@wX;CQc5+5(UN&M?FE~^o z8@LI^5GW0S?vR3>KMm@{fVG3fL1N$*6sUm%sz?#FE2wRR+`<F3xZwIw6B<|;PZ|K( zl&l9YRv-+prer<XDqdUAT3yfud5{zZT}uudbxQ@^2VSg^tOrh%pz;zDnIMyM6Cp(? zvMk(?WIb5p%GOo^X;l=s4%JYC#tkS%L6d<Z^u}h?MTDT`#>gfaBCH2F0csj}KO)F1 zP^%8MuB#YkB1j>4{VR%_jIf%7=`K+4LtKq+0kZkvJwS*aBD|&q?>|C>o{j>jHcQJ) z*Tb^K2s#1>^%JDQ2ugzRE2EP^%g%~Q!2M0=+D)ipSep__X=+{yOd&YNp$%AD1$YY= zl-0pf%AnE>TnK{l2&A6?%~h!>Its}-sfl@@bt9mI`SNox+N0=kWB^)ZfGeyK&0P(3 zEzr!OjshZhpdo<XR8&xaZ*x<C6m!IrU=M=B5_B#qsAry7k_ySx;Gh5naIr?R4%mv+ zVp~wv3n>8+U3hRK8>9vjhB^vZ%|kN+Y%!)!^78Y*RzZqB;{Bnk3pNm|&7e&#&`}7G zD?x#kT5Joxw30%vK+OPKja<T`CwEZ31Jzy7@o(6U&0+;;w+p;XC^<i;G&fHH)RF`Z zV3mLtV1pNTf=`43cW{U*Q(=~&&3GbDe1Vj}$^m4936zz-K?=60D+4t^_loN%fJjJC zg4fq8*eZax1N#QSHv@wT8N`+i*v?zXtOSxcWNVH(L>wF{;AO-h_kzMtM?t+DW0xU( z4<EEdg>EkdEmnriR)FjVVYosa1$D&MLeOp(aL)|1G8(kj3cQpSvc?|Eu0gmVh#iB- zF^^n&KuS<h;|jEP2-Ho1j&2}#lfj;ZUvL4tXWB8q6B^gy8JWo$kiCGQGg?4REAag~ z#h{~1q52@_cY>;9P*n*ksSpDi@PZ27?t*O}0W}2R$Haj*m%wy_4!Z`g9RwA8AR|k` zqt4(_4#?WT{339gPlTSO02+!c(t{2^gr_Efb}>S4mH`JXs1}E8c!Ih(Cl#E*!PmP$ z>O|ZvIZ)IMNIL;!F{DU?T?2&Jv7!U<EOZA5s6>bC<pBo^NTV~#ZJNj<A>bVX(5@%w z96`v<6A%^9utV&pgQfydixp%ls4jut*9(enjbuGg)&O^d^-2p0Qj0V+LCdVwT^-e- zWerFd)Dz&Q3}V|6w0R3sfYb;A7inN$K-&b6RuLpEgVchY0Np}|5CloUZNat62gyRz zRtz59&;Zs@0{Ii#1Oh2XZlEDM8F}Xm+(8fpU{66B1nQy1pw<d<m_xSpfp$c|0t2N9 z0o4KB<%p~p+E9c|Z9@tJXh!Ga;sQ1J!RzV4t&QUNwEUv@y!<>+B@~~Q91j}iC<dLc z2pS;=b2K5L3X5?V4H};)sRWIPfaWf%G7F%ZkoAB926QZaB}!Uwb5;j8(m?wkOESUf z!_Wd^2}lD7LmdsO+`*v)<wL^_><8F5KB5LiI5YsVVYC=h@q;acx40m;fq_CBR<q|9 zDWKHy&?N4e1}Z8bx7UC?o10jXnOmBx0P0<)BvvYDlopiaD;Sw%Xo7}xLBlgisfa;9 z@E|c{DNQnD0UT(nXeq3Z1TJk9G(e#aW@<vFU=mYOV5@&qKnHL^R$zgHASpFHGY@p$ zKiE5oCE!6?kgqi0WhUsHOVD^E=q}~N^z<U|apU0opur}<&)x$aHk+RUZM-3S6I9;9 zt{w!R*kojqK|Rlb3hva3#N-kz(E@g$MoMNevb$jiXQhCG925lz6F{j9bT<U3{|KtF z!1|Lwr_O^mOeg2(LBg>Z>d9d6@@$Y1pk)bQ%@DJ|BmbZ|DNv6d+`$8h8yZ25!&WFQ zNGr<ED}jtoWu_^>b!QeU7=WV~;ulbI0<}!RhrvM_<REiE$pm_080bDRup<Y&UIC>! z@YT3U`T3xpf{p@cd3$~y(hVB0E80MLHzO6&{)KmVL5HD%4#q@2D+9J*5|npA9xnnN z`2k%^g3t(BaR90HLF!;9E`c|Ef$Dy6?uKSQ%!VIG3%E6{U<JxC;PF^+fPy4IOIRS1 z;8=j#3~g#aBPS8$aH#R1e1pRnkQ8x-Kzb$EjLFPRg(c3+JOyx02BkevG6t3NIjP_y zonVDUVh+?*u%Z>>6UZS-ptP!2TvAj3VrU@uD0LLnRU=h%Ra2lFqCgJEt_Rk&MArfF z0OSZI@SwH^$f>rVayeNK6bA8N6|kBFT+zaF0O~LS%*ha17cou_G13s455Yzhloq9? zC4-AGXj%j{9Y8II3h>cQHVQ^2i0S}hB4|H1Xpk41$)E%P!jJ#}k=l6d2OVOZtcTqV z5IM5F2yz4ngPdRso;Skj5O5d1JQZ@<H~e52__6HZf*9;`P~uH2Q82Vn2n}%tr*~zA z@>K8`9H`0xtAQmXkXo=#P(lNhJ)om@Qp!LVd4hF9$BK{x9kj6yUqc{S4|G5nsLu~d zf6y8h<VT3b_@V`DWf9~=V6bXvhaQ}!Ang#O!3F4gR>T2AP`lLC)nUuBKtmbOES;DG z?j^z|Tp=?Tkbzjx+C#`nYp?@gD>}i|CDamVcEev1L)D^nTEPWPX%c89H7K-UiXg}6 z!w+PKj9P;_h~TYKNvR6p<qq&Og<yko5W}$)z{q`Lq-ClZsYReOt5RVR4(fa*mL!4- zPn0u@FiTHxSis5`Xq!_{PY<#N0^}1=;DYKv=psN+XBFm3Xx=T!Pf7(3Ev2R?*dmtu z!&HG6-h$U;g6%?5tq1WuWT_ZzqjC{AVL;oX#17qnCf?#p-~%_{3Ii#ffM!ymW7Y7c z5F)`qT0Nk~YB6*m8JrTq_lSa>3{?s>0i2N_6J3r$!9*n)I&=!5T?i|T-X6H?fanf_ zJp{_9APi2lsYRfB!?DbVL%jyhq9oU?@VX0B=3%P}Gg83?A*eP14U|I~2hfRbsLkN2 zC%y!m-7b(ASI|~41SN8iZg4X^F$Y}2!z$VQH29KRxW}Qf33nj0)U#3`v)Kb_?m*gh zP_t80=+N!~dkB<s!3<^4g52a(g~a3%(3$~IArGFhN(OEBDh3^504@6=O;&JS0Y2~; zG-(5>FcMS1H-kZkRCN^$A<dJLd{~(RZ3ZfXIzI}D&=3aO4UMPxTtfw0P=QvG7+(Tf zERva<3YJ2x>OoF}Ru5p^<r$gaL6%Ad8*tr-sNvIKGq|=2h{;=|ZXH-VC>@vN7C=k| zk=igP#OE5qRe&0-5JfhiWQVW=q#cw7K}(cV5-UM1sx(lIrlACBLn&!0Xe%gzE`n52 z&{n{9A(?^##Cj}R;nri0B2a2)YF-L93*k0GigG1LQ4Y>lsR|$;K<w34Py&^Apf&p- zL5zWWP^e&>8Uu?C#8EAfLI-?pI%re?)Ot$F$xH^d3ZO%rASSFLfQ-9>jE0`E0X=>L zH8No90yH2y|Don6K+e^GO;Umk0mn5wy+Ow2V3kK^nnHX$XnZ<89yH3N1X~2D1hES; zr3_gY%>v>~$ubXQVDOIh&IfH~N1677N)>u9YM;`>k2YQom0aSzvwcbrCwxd1D!kkK zZu^uT$RP!I+EP%}54@j&7D>Z~FQB3?eN{kv@wpH!B8Y^q8l$f@NQNJ+j)Y3vG5S_8 zwod^suO`9;pq14<m_~txdC|fHEC>xYFq;G6W-uQ)Aix4Bt_O=?1|&$hv<J<uk|{j` z&_llBVaacbM#M*n(KX&gukkJg^(?`yT<DlBxLyEtJ0XXy=RlS>LaQ#&Bs+L{Cn$^Q zDrDs+DS!|4gX}HL&r?WEP6w^z2KUU86OmWxg4BXeY6h(jE><Wm%`5>Os1B|!O3E{n zK?CWTIhCMe9pM*>r(_lvr{+TM2SYXsJiiZWej=O&Y9)X!kpr#lg-!J5mE<d=WTvMU zL#%?d+mOwHYEOkM-+*c_NiE6+ISV|5R}5N!R03MVT&a+l2fCvgH2;y8f-pq^be?ok zi2{l?&`<-4?;%H~fp=hnS0jVYz&1h{q6?Zz0k6i-2j5weub`J!0CGfbVhM;+NJ}gR zEx(4GoCF$p%1?u@p#U#Crt3m>l;wcPzMyRNx>KmTn`eX-q<4`D+H{+f1BzF0_aVNt zK-aA_4}5%~LSh;yG(gMP74p*%4gjS}1qIl_e~2Ysd5{&V@Y5DR_jTofmWhG3>4Mk! zWFoC7$6*R$>{Jn9BW(33(&BnhjR78|fGoNPH9kwq^AW4jL9PZbX+fBxfVNJk05T8_ zFVrCGSu;z(F+IA#99#ko{{`mIQ~(<l$OB#7o>~MhL!cv-=|!2)6~hXUp@hVuRIU=x zk~Hw(eo`g8jL_ra@+^TCG9?fblS=cF!8iLMnSxk04mwK^rDliTVWGp7RH=}X4=Q{? zDI2kp3aNyHuD65lQ7Hi}ZB8i$%`TQ?q;jDR*Mp7%$tkS>7nynrZlK$=azGPA8K5em z1au~FYEBBI8wI&8GBt%OGY>kDQ;=E&yE-8!6+HS5nGpfIEfKtF2JEmr(BUWw6%~<@ zpsT$-Jao9q!J{G-6`<m~G$#eL5Z*{3u_!6CqzE(@0J+YoSV1E<zqll)QlX*()RRok z$S+RK19ga!QWcb3{ggCGTU8H<C2$OZMor)|2ZR>agB$Kzu!0R<F2GiNLsJS|oZgGR zslT*SS;5!eCDg|?nEFP82WN<0^$qF~fqHzHtH3j%OTVEDh>;EhDb7#MPAwT->g@|U z!2~>M3_rpI%!@B5$V@?9Kn+_~4O=@6<D;qqEvGEX&jBs5gegQ4f~W;sigIiUw)N$( zCIyj8%E3(nP=f(|T{)<E2)e2eyn>dLMds8`*UAcmVx={-ECTPzge<VnD<}nRfyzmR zj=O`FKtM`+NVj}=EWie(X@YC8p@9Q0s5KzEur0=hEJgs;v+%XjkW0@XH6NaJ**GnM z3~zuIav>i?0FMqxD-+g{RsbdUO6cSWcuoR3?ivg`)&w%torzRCgO7!V9gTyyv=w~I z38+g5s+B<ls^IDjtR1uxH67BL$Ol!yNNoe?E;n#Wf!vn~YXpD~1_EE&12zbBi!ivs z4VlaU4PAj+4LPZhra&U%tRQ$u7NzE-mL=wufL1AjwzPrrH=>;Y^(cXfo`TF2v@0Dz zWf8ne2gNM(QW#Jl2IO_<RvE}3JgD=m2fE@Gwp;<U_)sA;4eTY5dq6rMhoC8xC&D)* zfL1Mlmv?|}R|TId1$8YQW)TR?4<X8S&?qd(|IjHQW#|?=@Gt{p!T^*SKx6-)>J{u` zh%nMbG)P9HGBvRXI<X8^03Iicwlay;gbY-J!U+@S=I51UU}`h5GQ+PgC9x7ymzfp( z$`g=-@wgB+UrxY%$gYEHA>cNI%iubY+y$N$hEG3()|eQ8!xVH3J?OLxw8bX5nR%tf zkP&>SGDyc5K0ln1s(`+f1*%X3lqf+%tI*{s;I@>Z5onSb)F_4}aF7ZE1CS_WR2Mvd z4|gE`B><p!2Q|3#Km?Wv0?5#{I;40^h2Bn+SX6>#yjwvV>}+TPfe+JT9~?(dtI)z0 zGzbow00(Ur2i>XwHW4I{U!s7qdjg^d=k^JNG^FA~KQ;%Hw-rF;Bc#lOOd6%6f^Lxl zF93sH)CL|g2bajm6RL<&dL0FIEr0j;#N_1oU>_|#(3~t}Js>zsg0|=BX~Bldl@*Z9 z2WL>Y1HfK|R|nW<S&$ae!&E{pN&%0rgI4Z<wjY3E04@!-Fdk$}YBA(IVX$9x6q4al z0NSva2tR%dvFaAA5bP`>!oc3%-abCw-d<0OKnN6oZ*xzD_my=aH6Lh*4pP^GD;Ma2 z(4Zj7Re-G0S5^RB5v30~6fU($AG`{-ARjcs2~n0`qyXAI1L1(oGXgsv78D9N!W1$= zjiOW!vPl^|yg&g9&RmeY(DZWh%i(KhQ*%-hAuA@6^&r=7f<z!~0FXYIEA)~RbCTo1 zJ^y%+3Z#8Lp!pfl_1~ElkbDf+0u79KNQwqUG1#@r5buIc<p9sE7UUNfXC~#OLI)ne zLl>ZPj-ZM`TW7&%_`%FoNXpCub-qC->?K0(r33p8G(uqnQ-s9_@D@)2bhQ8?DS;~` z(E4xCimKG4()4stlL~aZ2Y4M`o&vbhfH=Df>NM~w@AAxI*b)o{(9m^0cw_)65vD05 z>!pAUMYsuCJjLXNq~;bNX;8>XO)CMluo9C?U@Nb3kXQM_dL;0`q;R$>+&i-!+x!S* zE-M=}Ck3AVL7u9?oJ|3r#axPInx$k)4=cErHAN#LJa6z#xCCTm=42KWC}2P41~QQ9 zl30>zrQn-bsQ^0q1tR90k(igBs^F0cN*9&T<3aqBLF-bAK*~%MbQK))@=_Jt@=G&w za`H<n(5>(<&dEnP-vp9%Q{W@O#i$2)!b+Ev(&Q2a4bUD^=)FbYwHcaVXDKL<e>gK@ zm>F}hx)^*XS!z*1QECZzLv?&&UJ7XM8fX(ObW2!#X#v6r1qIj)EK1K8wEily#L&n> zN1-G?9=vojJ~IX8bjO0C%p8S5aU?TjOdeFDfYxq<Hyl7ulZJLq)AEaQQ;Wdmz5;9l z0i4c3-3ri<AtEevA?L7xk6{CCMh8bEXjl()iUp)DC`v8CIN=BNjGkifaSfn~5^;<x z=!}`f6xdJ$=p0|rDLpxe-RwFDM<^&1l$L-?z4(&+_|#<Bq&s+8t|UGyKM7SFG^UGm z0z@&2Q6R~b%-qyGP)S{^qX3z1N{vU{VgQQuywv#oqWH|b5(KBXqzD|@qjM93Wp08? zS;4_K6?6bQ?2Mzld`QHB;|kOOfC*&gl|a%HDEg64SAd9uT0@Yu2;svjDhLl&96)&R zv<l%O?JkE1K$==m>rf7;gUDy*flCnx2c;wdIT++V)SLoQ2x?=24tap^u;mAc4E8($ zkpr2HoG%cfhztP{!^{-aKNlNz)KD(ChYxB#fez&cZCr!y3V}`mr+|-e1KogLoLvka z?f}h<ARYgq2R@XA7K4q0WPBcRDobinQC>c5m>y{~9(2zDTo`__3rqyGlOr`LF*%zH zzM=^_pbuGw1UlJ<3&K?J1hwc&z?T9+8hlWdNu`-NC7F5Pb#xG=U|rzOF|0ca8?T1( zK|7$J3*aE*)`>;w1)yW`U<w_J(!uAYLC(t4QGoHG`yYxuQgaI2@<9jrl%y7c<{C)Z zWK38s=-eIXsmkcPn+a>iuL81&8{^Oylv6ywLwul9TR|6rg4fzYmMIm3^FmR6P7bIU zk2qZe9M;IECP2oA&<|LE486s>`h|gOc<9g>?twmVZvb=H3se}<VZ060Ux%#q2D<}f zYd|9CupI?x|4ShgcCdJ1X=-UInp(fa+*HueBSa3gqz7C8Le}b(<U_(jK_gW!T@SWy zC%;G`IXO`Q+7Smg9#V4)z#UrD17KlhgT{l9SN4E|RRNb>kj4pQFAr#KD#%CBJOpZV zre&ssJqnIYXXsHqpg~nUb3R}V;MN!93|Qp)3%XG=S;1BT$rKHcYCUK>4b+)~^lg*% z62V7zLz=-Q`5*^@TESrD5G9#u@FAbfVvtVwZFB*SAs+GI_BtqSLD!ape3zP625An1 zuf+u2eGY5b;nEBC5J)TBL8*CV#h^wU)X5qsW<p$+tOxGrg4_(<!3K7=9yscuu?gu< zDkSTG7Mm37ff5İ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 R2#{PU#*qglQ%Xyd^Z?8xm^T0b literal 607678 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�))$u)VewNixMTx|y8=XMYF-IE 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 diff --git a/Documentation/doctrees/index.doctree b/Documentation/doctrees/index.doctree index 4ad1faf8b56f3a0e9d0b768e8e215a7f0d102994..36d2b70b84f95ed66b9c544c43595aa9e23cf993 100644 GIT binary patch delta 14 VcmexT{-u0_xFI9UW(mVPTmUnO1-1YH delta 14 VcmexT{-u0_xFI9+W(mVPTmUnI1+@SG diff --git a/Documentation/doctrees/installation.doctree b/Documentation/doctrees/installation.doctree index d84e74b3f42002dc6ff2d7d0c6ea54e432a4de46..e9a3074df4fdf389f671194f0e213d61a9398f73 100644 GIT binary patch literal 60214 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 literal 153502 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 Yc##iRN@_Cbgc#5T>wcicl%+{}01QIVlK=n! diff --git a/Documentation/doctrees/quick_start.doctree b/Documentation/doctrees/quick_start.doctree index 87e60dc3b0081cb382ffb02b5ff7f888184dd002..8b8e8e7006ebf71d5c7d713c1a72f46a2d98e602 100644 GIT binary patch delta 31 jcmdmXhGW|qj)pCaA3PWfrhoKcya=Imw!imebiV@t=&}wL delta 31 jcmdmXhGW|qj)pCaA3PY7rhoKcya=Imw!imebiV@t=Ku}* diff --git a/Documentation/html/.buildinfo b/Documentation/html/.buildinfo new file mode 100644 index 0000000..11176f5 --- /dev/null +++ b/Documentation/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 4fe8dea6f5157d998485e509f35babce +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/Documentation/html/.nojekyll b/Documentation/html/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/Documentation/html/Documentation/Api/api_python.html b/Documentation/html/Documentation/Api/api_python.html index 32f8149..ed6d660 100644 --- a/Documentation/html/Documentation/Api/api_python.html +++ b/Documentation/html/Documentation/Api/api_python.html @@ -2215,9 +2215,17 @@ command line.</li> <dt id="GribUtil.GribUtil"> <em class="property">class </em><code class="descclassname">GribUtil.</code><code class="descname">GribUtil</code><span class="sig-paren">(</span><em>filenames</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/GribUtil.html#GribUtil"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil" title="Permalink to this definition">¶</a></dt> <dd><p>Class for GRIB utilities (new methods) based on GRIB API</p> +<p>The GRIB API provides all necessary tools to work directly with the +grib files. Nevertheless, the GRIB API tools are very basic and are in +direct connection with the grib files. This class provides some higher +functions which apply a set of GRIB API tools together in the respective +context. So, the class initially contains a list of grib files (their +names) and the using program then applies the methods directly on the +class objects without having to think about how the actual GRIB API +tools have to be arranged.</p> <dl class="method"> <dt id="GribUtil.GribUtil.copy_dummy_msg"> -<code class="descname">copy_dummy_msg</code><span class="sig-paren">(</span><em>filename_in</em>, <em>selectWhere=True</em>, <em>keynames=[]</em>, <em>keyvalues=[]</em>, <em>filemode='w'</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/GribUtil.html#GribUtil.copy_dummy_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.copy_dummy_msg" title="Permalink to this definition">¶</a></dt> +<code class="descname">copy_dummy_msg</code><span class="sig-paren">(</span><em>filename_in</em>, <em>selectWhere=True</em>, <em>keynames=[]</em>, <em>keyvalues=[]</em>, <em>filemode='wb'</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/GribUtil.html#GribUtil.copy_dummy_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.copy_dummy_msg" title="Permalink to this definition">¶</a></dt> <dd><p>Add the content of another input grib file to the objects file but only messages corresponding to keys/values passed to the function. The selectWhere switch decides if to copy the keys equal to (True) or @@ -2233,7 +2241,7 @@ different to (False) the keynames/keyvalues list passed to the function. Default is True.</li> <li><strong>keynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – List of keynames. Default is an empty list.</li> <li><strong>keyvalues</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – List of keyvalues. Default is an empty list.</li> -<li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “w”.</li> +<li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “wb”.</li> </ul> </td> </tr> @@ -2297,7 +2305,7 @@ Default is “my.idx”.</li> <dl class="method"> <dt id="GribUtil.GribUtil.set_keys"> -<code class="descname">set_keys</code><span class="sig-paren">(</span><em>fromfile</em>, <em>keynames</em>, <em>keyvalues</em>, <em>wherekeynames=[]</em>, <em>wherekeyvalues=[]</em>, <em>strict=False</em>, <em>filemode='w'</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/GribUtil.html#GribUtil.set_keys"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.set_keys" title="Permalink to this definition">¶</a></dt> +<code class="descname">set_keys</code><span class="sig-paren">(</span><em>fromfile</em>, <em>keynames</em>, <em>keyvalues</em>, <em>wherekeynames=[]</em>, <em>wherekeyvalues=[]</em>, <em>strict=False</em>, <em>filemode='wb'</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/GribUtil.html#GribUtil.set_keys"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.set_keys" title="Permalink to this definition">¶</a></dt> <dd><p>Opens the file to read the grib messages and then write the selected messages (with wherekeys) to a new output file. Also, the keyvalues of the passed list of keynames are set.</p> @@ -2318,7 +2326,7 @@ Default value is an empty list.</li> <li><strong>strict</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">boolean</span></code>, optional) – Decides if everything from keynames and keyvalues is written out the grib file (False) or only those meeting the where statement (True). Default is False.</li> -<li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “w”.</li> +<li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “wb”.</li> </ul> </td> </tr> diff --git a/Documentation/html/Documentation/Input/control.html b/Documentation/html/Documentation/Input/control.html index 35282f8..6c23a5d 100644 --- a/Documentation/html/Documentation/Input/control.html +++ b/Documentation/html/Documentation/Input/control.html @@ -226,6 +226,126 @@ For each main dataset there is an example and additionally some variances in res in grouped sections with their default values. In <a class="reference internal" href="control_params.html"><span class="doc">The CONTROL parameters</span></a> you can find a more detailed description with additional hints, possible values and some useful information about the setting of these parameters.</p> +<div class="literal-block-wrapper docutils container" id="id1"> +<div class="code-block-caption"><span class="caption-text">CONTROL.documentation</span><a class="headerlink" href="#id1" title="Permalink to this code">¶</a></div> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1">################################################################################</span> +<span class="c1"># Comprehensive list of relevant CONTROL file parameters with</span> +<span class="c1"># short descriptions and default values. </span> +<span class="c1">#</span> +<span class="c1"># For more details on how to select and define parameters </span> +<span class="c1"># please see Table of CONTROLparameters. </span> +<span class="c1">#</span> +<span class="c1"># AUTHOR: Anne Philipp</span> +<span class="c1"># DATE: 05. February 2019</span> +<span class="c1">################################################################################</span> + +<span class="c1">#===============================================================================</span> +<span class="c1"># USER SECTION:</span> +<span class="c1"># User specific information for ECMWF server.</span> +<span class="c1"># Information are needed for storage or data transfer to local gateway server.</span> +<span class="c1"># (OPTIONAL: INFORMATION ARE KNOWN THROUGH EXTRA FILE AFTER INSTALLATION)</span> +<span class="c1">#-------------------------------------------------------------------------------</span> +ECUID None +ECGID None +DESTINATION None +GATEWAY None + +<span class="c1">#===============================================================================</span> +<span class="c1"># GENERAL SECTION:</span> +<span class="c1"># Specific storage, notification and data transfer settings.</span> +<span class="c1"># Selection of ECMWF access interface and extra output options. </span> +<span class="c1">#-------------------------------------------------------------------------------</span> +DEBUG <span class="m">0</span> +REQUEST <span class="m">0</span> +PUBLIC <span class="m">0</span> +OPER <span class="m">0</span> +ECSTORAGE <span class="m">0</span> +ECTRANS <span class="m">0</span> +PREFIX <span class="s1">'EN'</span> +ECFSDIR <span class="s1">'ectmp:/${USER}/econdemand/'</span> +MAILFAIL <span class="o">[</span><span class="s1">'${USER}'</span><span class="o">]</span> +MAILOPS <span class="o">[</span><span class="s1">'${USER}'</span><span class="o">]</span> + +<span class="c1">#===============================================================================</span> +<span class="c1"># TIME SECTION:</span> +<span class="c1"># Selection of time period and temporal resolution for extraction period.</span> +<span class="c1">#-------------------------------------------------------------------------------</span> +START_DATE +END_DATE +DATE_CHUNK <span class="m">3</span> +DTIME None +BASETIME None + +<span class="c1">#===============================================================================</span> +<span class="c1"># DATA SECTION:</span> +<span class="c1"># General description of data set.</span> +<span class="c1">#-------------------------------------------------------------------------------</span> +CLASS None +DATASET None +STREAM None +NUMBER <span class="s1">'OFF'</span> +EXPVER <span class="s1">'1'</span> +FORMAT <span class="s1">'GRIB1'</span> + +<span class="c1">#===============================================================================</span> +<span class="c1"># DATA FIELDS SECTION:</span> +<span class="c1"># Specific selection of field composition regarding type, analysis or forecast </span> +<span class="c1"># time and the forecast time step.</span> +<span class="c1">#-------------------------------------------------------------------------------</span> +TYPE None +TIME None +STEP None +MAXSTEP None + +<span class="c1">#===============================================================================</span> +<span class="c1"># FLUX DATA FIELDS SECTION:</span> +<span class="c1"># Specific selection of flux field composition regarding forecast field type</span> +<span class="c1"># the forecast start times and the maximum forecast step per start time.</span> +<span class="c1"># Specification of disaggregation method of precipitation data.</span> +<span class="c1">#-------------------------------------------------------------------------------</span> +ACCTYPE None +ACCTIME None +ACCMAXSTEP None +RRINT <span class="m">0</span> + +<span class="c1">#===============================================================================</span> +<span class="c1"># DOMAIN SECTION: </span> +<span class="c1"># Definition of horizontal area, spatial resolution and vertical levels. </span> +<span class="c1">#-------------------------------------------------------------------------------</span> +GRID None +RESOL None +SMOOTH <span class="m">0</span> +LEFT None +LOWER None +UPPER None +RIGHT None +LEVEL None +LEVELIST None + +<span class="c1">#===============================================================================</span> +<span class="c1"># VERTICAL WIND SECTION:</span> +<span class="c1"># Selection of vertical wind calculation method.</span> +<span class="c1">#-------------------------------------------------------------------------------</span> +GAUSS <span class="m">0</span> +ACCURACY <span class="m">24</span> +OMEGA <span class="m">0</span> +OMEGADIFF <span class="m">0</span> +ETA <span class="m">0</span> +ETADIFF <span class="m">0</span> +DPDETA <span class="m">1</span> +ETAPAR <span class="m">77</span> + +<span class="c1">#===============================================================================</span> +<span class="c1"># ADDITIONAL DATA SECTION:</span> +<span class="c1"># Specification of extra data fields to be extracted.</span> +<span class="c1">#-------------------------------------------------------------------------------</span> +CWC <span class="m">0</span> +WRF <span class="m">0</span> +DOUBLEELDA <span class="m">0</span> +ADDPAR None +</pre></div> +</div> +</div> <div class="toctree-wrapper compound"> </div> </div> diff --git a/Documentation/html/Documentation/Input/control_params.html b/Documentation/html/Documentation/Input/control_params.html index 86a58ba..7c64717 100644 --- a/Documentation/html/Documentation/Input/control_params.html +++ b/Documentation/html/Documentation/Input/control_params.html @@ -421,19 +421,6 @@ Possible selections are: <td><p class="first last">For the ECMWF server it is enough to give ${USER} as input. On local system an actual email is prefered to operate correctly. </p> </td> </tr> -<tr class="row-odd"><td><p class="first last">MAILFAIL</p> -</td> -<td><p class="first last">list of String [m1, m2, …]</p> -</td> -<td><p class="first last">any number of mail addresses, seperated by comma</p> -</td> -<td><p class="first last">[‘”${USER}”]</p> -</td> -<td><p class="first last">If there will be an error log on ECMWF servers, the log file will be sent to the list of emails stored in this parameter. The email addresses should be seperated by a comma.</p> -</td> -<td><p class="first last">For the ECMWF server it is enough to give ${USER} as input. On local system an actual email is prefered to operate correctly. </p> -</td> -</tr> </tbody> </table> </div> @@ -1091,20 +1078,7 @@ ETADOT calculation from continuity equation on either Gaussian or lat/lon grid i </tr> </thead> <tbody valign="top"> -<tr class="row-even"><td><p class="first last">WRF</p> -</td> -<td><p class="first last">Integer</p> -</td> -<td><p class="first last">[0,1]</p> -</td> -<td><p class="first last">0</p> -</td> -<td><p class="first last">Switch to retrieve additional parameters needed to run WRF (1) or not (0).</p> -</td> -<td><p class="first last">Up to now, this is still experimental and not completely tested.</p> -</td> -</tr> -<tr class="row-odd"><td><p class="first last">CWC</p> +<tr class="row-even"><td><p class="first last">CWC</p> </td> <td><p class="first last">Integer</p> </td> @@ -1117,7 +1091,7 @@ ETADOT calculation from continuity equation on either Gaussian or lat/lon grid i <td><p class="first last"></p> </td> </tr> -<tr class="row-even"><td><p class="first last">DOUBLEELDA</p> +<tr class="row-odd"><td><p class="first last">DOUBLEELDA</p> </td> <td><p class="first last">Integer</p> </td> @@ -1130,7 +1104,7 @@ ETADOT calculation from continuity equation on either Gaussian or lat/lon grid i <td><p class="first last">Each ensemble member is used to create a new synthesized ensemble member by subtracting 2 * ( current time step value - last time step value ) from the current time step value</p> </td> </tr> -<tr class="row-odd"><td><p class="first last">ADDPAR</p> +<tr class="row-even"><td><p class="first last">ADDPAR</p> </td> <td><p class="first last">String [p1/p2/../pn]</p> </td> diff --git a/Documentation/html/Documentation/Input/ecmwf_env.html b/Documentation/html/Documentation/Input/ecmwf_env.html index 51f47ff..e54ca2f 100644 --- a/Documentation/html/Documentation/Input/ecmwf_env.html +++ b/Documentation/html/Documentation/Input/ecmwf_env.html @@ -193,7 +193,7 @@ <div class="section" id="ecmwf-user-credential-file-ecmwf-env"> <h1>ECMWF User Credential file <code class="docutils literal notranslate"><span class="pre">ECMWF_ENV</span></code><a class="headerlink" href="#ecmwf-user-credential-file-ecmwf-env" title="Permalink to this headline">¶</a></h1> -<p>This file contains the user credentials for working on ECMWF servers and transfering files between the ECMWF servers and the local gateway server. It is located in the <code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X/run</span></code> directory and will be created in the installation process for the application modes <strong>remote</strong> and <strong>gateway</strong>.</p> +<p>This file contains the user credentials for working on ECMWF servers and transferring files between the ECMWF servers and the local gateway server. It is located in the <code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X/run</span></code> directory and will be created in the installation process for the application modes <strong>remote</strong> and <strong>gateway</strong>.</p> <p>This file is based on the template <code class="docutils literal notranslate"><span class="pre">ECMWF_ENV.template</span></code> which is located in the <code class="docutils literal notranslate"><span class="pre">templates</span></code> directory.</p> <div class="admonition note"> <p class="first admonition-title">Note</p> diff --git a/Documentation/html/Documentation/Input/fortran_makefile.html b/Documentation/html/Documentation/Input/fortran_makefile.html index 0ca4193..a0a062e 100644 --- a/Documentation/html/Documentation/Input/fortran_makefile.html +++ b/Documentation/html/Documentation/Input/fortran_makefile.html @@ -226,7 +226,7 @@ A list of these <code class="docutils literal notranslate"><span class="pre">Mak </div> </div></blockquote> <p>For instructions on how to adapt the <code class="docutils literal notranslate"><span class="pre">Makefiles</span></code> for the local application mode -please see <a class="reference internal" href="../../installation.html#ref-install-local"><span class="std std-ref">Local installation</span></a>.</p> +please see <a class="reference internal" href="../../Installation/local.html#ref-install-local"><span class="std std-ref">Local installation</span></a>.</p> <div class="toctree-wrapper compound"> </div> </div> diff --git a/Documentation/html/Documentation/Input/run.html b/Documentation/html/Documentation/Input/run.html index 2c49c52..bb254be 100644 --- a/Documentation/html/Documentation/Input/run.html +++ b/Documentation/html/Documentation/Input/run.html @@ -477,6 +477,113 @@ the command line parameters and the so-called <code class="docutils literal notr </div> <div class="section" id="content-of-run-sh"> <h2>Content of <code class="docutils literal notranslate"><span class="pre">run.sh</span></code><a class="headerlink" href="#content-of-run-sh" title="Permalink to this headline">¶</a></h2> +<div class="literal-block-wrapper docutils container" id="id2"> +<div class="code-block-caption"><span class="caption-text">run.sh</span><a class="headerlink" href="#id2" title="Permalink to this code">¶</a></div> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span> +<span class="c1">#</span> +<span class="c1"># @Author: Anne Philipp</span> +<span class="c1">#</span> +<span class="c1"># @Date: October, 4 2018</span> +<span class="c1">#</span> +<span class="c1"># @Description: </span> +<span class="c1">#</span> + + +<span class="c1"># -----------------------------------------------------------------</span> +<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span> +<span class="c1"># </span> +<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETERS:</span> + +<span class="nv">QUEUE</span><span class="o">=</span><span class="s1">'ecgate'</span> +<span class="nv">START_DATE</span><span class="o">=</span>None +<span class="nv">END_DATE</span><span class="o">=</span>None +<span class="nv">DATE_CHUNK</span><span class="o">=</span>None +<span class="nv">JOB_CHUNK</span><span class="o">=</span><span class="m">3</span> +<span class="nv">BASETIME</span><span class="o">=</span>None +<span class="nv">STEP</span><span class="o">=</span>None +<span class="nv">LEVELIST</span><span class="o">=</span>None +<span class="nv">AREA</span><span class="o">=</span>None +<span class="nv">INPUTDIR</span><span class="o">=</span>None +<span class="nv">OUTPUTDIR</span><span class="o">=</span>None +<span class="nv">PP_ID</span><span class="o">=</span>None +<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">'job.temp'</span> +<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_OD.OPER.FC.gauss.global'</span> +<span class="nv">DEBUG</span><span class="o">=</span><span class="m">0</span> +<span class="nv">REQUEST</span><span class="o">=</span><span class="m">2</span> +<span class="nv">PUBLIC</span><span class="o">=</span><span class="m">0</span> + +<span class="c1"># -----------------------------------------------------------------</span> +<span class="c1">#</span> +<span class="c1"># AFTER THIS LINE THE USER DOES NOT HAVE TO CHANGE ANYTHING !!!</span> +<span class="c1">#</span> +<span class="c1"># -----------------------------------------------------------------</span> + +<span class="c1"># PATH TO SUBMISSION SCRIPT</span> +<span class="nv">pyscript</span><span class="o">=</span>../Source/Python/submit.py + +<span class="c1"># INITIALIZE EMPTY PARAMETERLIST</span> +<span class="nv">parameterlist</span><span class="o">=</span><span class="s2">""</span> + +<span class="c1"># CHECK FOR MORE PARAMETER </span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$START_DATE</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --start_date=</span><span class="nv">$START_DATE</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$END_DATE</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --end_date=</span><span class="nv">$END_DATE</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$DATE_CHUNK</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --date_chunk=</span><span class="nv">$DATE_CHUNK</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$JOB_CHUNK</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --job_chunk=</span><span class="nv">$JOB_CHUNK</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$BASETIME</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --basetime=</span><span class="nv">$BASETIME</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$STEP</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --step=</span><span class="nv">$STEP</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$LEVELIST</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --levelist=</span><span class="nv">$LEVELIST</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$AREA</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --area=</span><span class="nv">$AREA</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$INPUTDIR</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --inputdir=</span><span class="nv">$INPUTDIR</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$OUTPUTDIR</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --outputdir=</span><span class="nv">$OUTPUTDIR</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$PP_ID</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --ppid=</span><span class="nv">$PP_ID</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$JOB_TEMPLATE</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --job_template=</span><span class="nv">$JOB_TEMPLATE</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$QUEUE</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --queue=</span><span class="nv">$QUEUE</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$CONTROLFILE</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --controlfile=</span><span class="nv">$CONTROLFILE</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$DEBUG</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --debug=</span><span class="nv">$DEBUG</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$REQUEST</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --request=</span><span class="nv">$REQUEST</span><span class="s2">"</span> +<span class="k">fi</span> +<span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$PUBLIC</span><span class="s2">"</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> + <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">" --public=</span><span class="nv">$PUBLIC</span><span class="s2">"</span> +<span class="k">fi</span> + +<span class="c1"># -----------------------------------------------------------------</span> +<span class="c1"># CALL SCRIPT WITH DETERMINED COMMANDLINE ARGUMENTS</span> + +<span class="nv">$pyscript</span> <span class="nv">$parameterlist</span> +</pre></div> +</div> +</div> </div> <div class="section" id="usage-of-submit-py-optional"> <span id="ref-install-script"></span><h2>Usage of <code class="docutils literal notranslate"><span class="pre">submit.py</span></code> (optional)<a class="headerlink" href="#usage-of-submit-py-optional" title="Permalink to this headline">¶</a></h2> diff --git a/Documentation/html/Documentation/Overview/app_modes.html b/Documentation/html/Documentation/Overview/app_modes.html index 48f897d..ff2839d 100644 --- a/Documentation/html/Documentation/Overview/app_modes.html +++ b/Documentation/html/Documentation/Overview/app_modes.html @@ -98,7 +98,6 @@ </ul> </li> <li class="toctree-l3"><a class="reference internal" href="prog_flow.html">Program Flow</a></li> -<li class="toctree-l3"><a class="reference internal" href="convert.html">CONVERT</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../input.html">Control & Input Data</a></li> @@ -198,7 +197,7 @@ <div><ol class="arabic simple" start="2"> <li><dl class="first docutils"> <dt>Gateway (member)</dt> -<dd>The <strong>Gateway mode</strong> can be used if a local member state gateway server is in place. Then the job scripts can be submitted to the ECMWF Linux member state server via the ECMWF web access tool <code class="docutils literal notranslate"><span class="pre">ecaccess</span></code>. The installation script of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> must be executed at the local gateway server such that the software will be installed in the <code class="docutils literal notranslate"><span class="pre">$HOME</span></code> directory at the ECMWF server and some extra setup is done in the local <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory at the local gateway server. For more information about establishing a gateway server please see section ???. For the <strong>Gateway mode</strong> the necessary environment has to be established which is described in <a class="reference internal" href="../../installation.html#ref-prep-gateway"><span class="std std-ref">Prepare gateway environment</span></a>.</dd> +<dd>The <strong>Gateway mode</strong> can be used if a local member state gateway server is in place. Then the job scripts can be submitted to the ECMWF Linux member state server via the ECMWF web access tool <code class="docutils literal notranslate"><span class="pre">ecaccess</span></code>. The installation script of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> must be executed at the local gateway server such that the software will be installed in the <code class="docutils literal notranslate"><span class="pre">$HOME</span></code> directory at the ECMWF server and some extra setup is done in the local <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory at the local gateway server. For more information about establishing a gateway server please see section ???. For the <strong>Gateway mode</strong> the necessary environment has to be established which is described in <a class="reference internal" href="../../Installation/gateway.html#ref-prep-gateway"><span class="std std-ref">Prepare gateway environment</span></a>.</dd> </dl> </li> </ol> @@ -207,12 +206,12 @@ <div><ol class="arabic simple" start="3"> <li><dl class="first docutils"> <dt>Local member</dt> -<dd>Scripts are installed and executed on a local machine, either in the current <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory or in a path given to the installation script. Under this scenario a software environment similar to that at ECMWF is required. Additionally, Web API’s have to be installed to access ECMWF server. The complete installation process is described in <a class="reference internal" href="../../installation.html#ref-local-mode"><span class="std std-ref">Local mode</span></a>.</dd> +<dd>Scripts are installed and executed on a local machine, either in the current <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory or in a path given to the installation script. Under this scenario a software environment similar to that at ECMWF is required. Additionally, Web API’s have to be installed to access ECMWF server. The complete installation process is described in <a class="reference internal" href="../../Installation/local.html#ref-local-mode"><span class="std std-ref">Local mode</span></a>.</dd> </dl> </li> <li><dl class="first docutils"> <dt>Local public</dt> -<dd>Scripts are installed and executed on a local machine, either in the current <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory or in a path given to the installation script. Under this scenario a software environment similar to that at ECMWF is required. Additionally, Web API’s have to be installed to access ECMWF server. The complete installation process is described in <a class="reference internal" href="../../installation.html#ref-local-mode"><span class="std std-ref">Local mode</span></a>. In this case a direct registration at ECMWF is necessary and the user has to accept a specific license agreement for each dataset he/she intends to retrieve.</dd> +<dd>Scripts are installed and executed on a local machine, either in the current <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory or in a path given to the installation script. Under this scenario a software environment similar to that at ECMWF is required. Additionally, Web API’s have to be installed to access ECMWF server. The complete installation process is described in <a class="reference internal" href="../../Installation/local.html#ref-local-mode"><span class="std std-ref">Local mode</span></a>. In this case a direct registration at ECMWF is necessary and the user has to accept a specific license agreement for each dataset he/she intends to retrieve.</dd> </dl> </li> </ol> diff --git a/Documentation/html/Ecmwf/access.html b/Documentation/html/Ecmwf/access.html index fc733d2..c670836 100644 --- a/Documentation/html/Ecmwf/access.html +++ b/Documentation/html/Ecmwf/access.html @@ -181,7 +181,7 @@ <dt><strong>Member state user</strong>:</dt> <dd>This access mode allows the user to work directly on the ECMWF Linux Member State Servers or via a Web Access Toolkit <code class="docutils literal notranslate"><span class="pre">ecaccess</span></code> through a local Member State Gateway Server. This enables the user to have direct and full access to the Mars archive. There might be some limitations in user rights such as the declined access to the latest forecasts. This has to be discussed with the <a class="reference external" href="https://www.ecmwf.int/en/about/contact-us/computing-representatives">Computing Representative</a>. This user group is also able to work from their local facilities without a gateway server in the same way a <strong>public</strong> user would. The only difference is the connection with the Web API. However, this is automatically selected by <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>.</dd> <dt><strong>Public user</strong>:</dt> -<dd>This access mode allows every user to access the ECMWF <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets">public datasets</a> from their local facilities. <code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> is able (tested for the use with <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code>) to extract the re-analysis datasets such as ERA-Interim and CERA-20C. The main difference to the <strong>member state user</strong> is the method of access with the Web API and the availability of data. For example, in ERA-Interim there is only a 6-hourly temporal resolution instead of 3 hours. The access method is selected by providing the command line argument “public=1” and providing the MARS keyword “dataset” in the <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> file. Also, the user has to explicitly accept the license of the dataset to be retrieved. This can be done as described in the installation process at section <a class="reference internal" href="../installation.html#ref-licence"><span class="std std-ref">Agree on licences for public datasets</span></a>.</dd> +<dd>This access mode allows every user to access the ECMWF <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets">public datasets</a> from their local facilities. <code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> is able (tested for the use with <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code>) to extract the re-analysis datasets such as ERA-Interim and CERA-20C. The main difference to the <strong>member state user</strong> is the method of access with the Web API and the availability of data. For example, in ERA-Interim there is only a 6-hourly temporal resolution instead of 3 hours. The access method is selected by providing the command line argument “public=1” and providing the MARS keyword “dataset” in the <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> file. Also, the user has to explicitly accept the license of the dataset to be retrieved. This can be done as described in the installation process at section <a class="reference internal" href="../installation.html#ref-licence"><span class="std std-ref">Licence agreement for public datasets</span></a>.</dd> </dl> <div class="admonition note"> <p class="first admonition-title">Note</p> diff --git a/Documentation/html/Installation/gateway.html b/Documentation/html/Installation/gateway.html new file mode 100644 index 0000000..66494f8 --- /dev/null +++ b/Documentation/html/Installation/gateway.html @@ -0,0 +1,335 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title>Gateway mode installation — flex_extract 7.1 alpha documentation</title> + + + + + + + + + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> + + + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + <script type="text/javascript" src="../_static/language_data.js"></script> + <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> + + <script type="text/javascript" src="../_static/js/theme.js"></script> + + + + + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/custom.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme_overrides.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> + <link rel="next" title="Local mode installation" href="local.html" /> + <link rel="prev" title="Remote mode installation" href="remote.html" /> +</head> + +<body class="wy-body-for-nav"> + + + <div class="wy-grid-for-nav"> + + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> + <div class="wy-side-scroll"> + <div class="wy-side-nav-search" > + + + + <a href="../index.html" class="icon icon-home"> flex_extract + + + + </a> + + + + + <div class="version"> + 7.1 + </div> + + + + +<div role="search"> + <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> + <input type="text" name="q" placeholder="Search docs" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> +</div> + + + </div> + + <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> + + + + + + + <p class="caption"><span class="caption-text">Table of Contents:</span></p> +<ul class="current"> +<li class="toctree-l1 current"><a class="reference internal" href="../installation.html">Installation</a><ul class="current"> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#registration-at-ecmwf">Registration at ECMWF</a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#licence-agreement-for-public-datasets">Licence agreement for public datasets</a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#download-flex-extract">Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#environment-requirements">Environment requirements</a></li> +<li class="toctree-l2 current"><a class="reference internal" href="../installation.html#installation-of-flex-extract">Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a><ul class="current"> +<li class="toctree-l3"><a class="reference internal" href="remote.html">Remote mode installation</a></li> +<li class="toctree-l3 current"><a class="current reference internal" href="#">Gateway mode installation</a><ul> +<li class="toctree-l4"><a class="reference internal" href="#gateway-environment-requirements">Gateway environment requirements</a></li> +<li class="toctree-l4"><a class="reference internal" href="#prepare-gateway-environment">Prepare gateway environment</a></li> +<li class="toctree-l4"><a class="reference internal" href="#test-gateway-environment">Test gateway environment</a></li> +<li class="toctree-l4"><a class="reference internal" href="#gateway-installation">Gateway installation</a></li> +</ul> +</li> +<li class="toctree-l3"><a class="reference internal" href="local.html">Local mode installation</a></li> +</ul> +</li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#flex-extract-in-combination-with-flexpart"><code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> in combination with <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code></a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#test-installation">Test installation</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../quick_start.html">Quick Start</a></li> +<li class="toctree-l1"><a class="reference internal" href="../ecmwf_data.html">ECMWF Data</a></li> +<li class="toctree-l1"><a class="reference internal" href="../documentation.html">Documentation</a></li> +<li class="toctree-l1"><a class="reference internal" href="../evaluation.html">Evaluation</a></li> +<li class="toctree-l1"><a class="reference internal" href="../dev_guide.html">Developer Guide</a></li> +<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li> +<li class="toctree-l1"><a class="reference internal" href="../support.html">Support</a></li> +<li class="toctree-l1"><a class="reference internal" href="../Support/faq.html">FAQ - Frequently asked questions</a></li> +<li class="toctree-l1"><a class="reference internal" href="../authors.html">Developer Team</a></li> +</ul> + + + + </div> + </div> + </nav> + + <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> + + + <nav class="wy-nav-top" aria-label="top navigation"> + + <i data-toggle="wy-nav-top" class="fa fa-bars"></i> + <a href="../index.html">flex_extract</a> + + </nav> + + + <div class="wy-nav-content"> + + <div class="rst-content"> + + + + + + + + + + + + + + + + + +<div role="navigation" aria-label="breadcrumbs navigation"> + + <ul class="wy-breadcrumbs"> + + <li><a href="../index.html">Docs</a> »</li> + + <li><a href="../installation.html">Installation</a> »</li> + + <li>Gateway mode installation</li> + + + <li class="wy-breadcrumbs-aside"> + + + <a href="../_sources/Installation/gateway.rst.txt" rel="nofollow"> View page source</a> + + + </li> + + </ul> + + + <hr/> +</div> + <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> + <div itemprop="articleBody"> + + <div class="section" id="gateway-mode-installation"> +<h1>Gateway mode installation<a class="headerlink" href="#gateway-mode-installation" title="Permalink to this headline">¶</a></h1> +<div class="toctree-wrapper compound"> +</div> +<div class="section" id="gateway-environment-requirements"> +<span id="ref-req-gateway"></span><span id="ref-gateway-mode"></span><h2>Gateway environment requirements<a class="headerlink" href="#gateway-environment-requirements" title="Permalink to this headline">¶</a></h2> +<p>The environment on your local system has to provide these software packages +and libraries, since <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> does only prepare the job script and send +it to the ECMWF servers:</p> +<ul class="simple"> +<li><a class="reference external" href="https://www.python.org/downloads/">Python3</a> or <a class="reference external" href="https://www.anaconda.com/distribution/#download-section">Anaconda Python3</a></li> +<li><a class="reference external" href="http://www.numpy.org/">numpy</a></li> +<li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li> +</ul> +</div> +<div class="section" id="prepare-gateway-environment"> +<span id="ref-prep-gateway"></span><h2>Prepare gateway environment<a class="headerlink" href="#prepare-gateway-environment" title="Permalink to this headline">¶</a></h2> +<p>The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights. +The installation was tested on a <em>GNU/Linux Debian buster</em> and an <em>Ubuntu 18.04 Bionic Beaver</em> system.</p> +<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># On a Linux Debian or Ubuntu system do</span> +<span class="c1"># (if not already available):</span> +apt-get install python3 +apt-get install pip +apt-get install genshi +apt-get install numpy +</pre></div> +</div> +</div> +<div class="section" id="test-gateway-environment"> +<span id="ref-test-gateway"></span><h2>Test gateway environment<a class="headerlink" href="#test-gateway-environment" title="Permalink to this headline">¶</a></h2> +<p>Check the availability of the python packages by typing <code class="docutils literal notranslate"><span class="pre">python3</span></code> in +a terminal window and run the <code class="docutils literal notranslate"><span class="pre">import</span></code> commands in the python shell. +If there are no error messages, you succeeded in setting up the environment.</p> +<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># check in python3 console</span> +<span class="kn">import</span> <span class="nn">genshi</span> +<span class="kn">import</span> <span class="nn">numpy</span> +</pre></div> +</div> +</div> +<div class="section" id="gateway-installation"> +<span id="ref-install-gateway"></span><h2>Gateway installation<a class="headerlink" href="#gateway-installation" title="Permalink to this headline">¶</a></h2> +<p>In this mode, access to the ECMWF computing and archiving facilities is enabled through an ECaccess gateway server on a local member state server. The ECaccess framework is necessary to interactively submit jobs to the ECMWF batch system and to transfer files between ECMWF and local gateway server.</p> +<p>Please see <a class="reference external" href="https://confluence.ecmwf.int/display/ECAC/ECaccess+Home">ECMWF’s instructions on gateway server</a> to establish the gateway server if not already in place. +Additionally, to be able to use the Ecaccess file transfer service <strong>ectrans</strong> please also create an association. +The easiest way is to visit the ECaccess Member State Gateway website (e.g. msgatway.ecmwf.int) and follow the instructions in the short <a class="reference external" href="https://confluence.ecmwf.int/download/attachments/45759146/ECaccess.pdf">ECaccess Presentation</a> (page 17 ff.). Additional documentation can be found on the <a class="reference external" href="https://confluence.ecmwf.int/display/ECAC/Unattended+file+transfer+-+ectrans">ECMWF ectrans site</a>.</p> +<p>After everything is set up you have to create an <em>ecaccess certificate</em> to be able to send and receive files from and to the ECMWF server. You can do this by using the <code class="docutils literal notranslate"><span class="pre">ecaccess-certificate-create</span></code> command on the gateway server. You will be prompted for your ECMWF member state user name and a password (which will be usually generated by a Token). This certificate has to be re-newed periodically (every 7 days).</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ecaccess-certificate-create +Please enter your user-id: example_username +Your passcode: *** +</pre></div> +</div> +<p><code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> will be run on an ECMWF server which makes the setup the same as for the <strong>remote mode</strong>. In the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script <a class="reference external" href="Documentation/Input/setup.html">[ref]</a>, select the <code class="docutils literal notranslate"><span class="pre">Makefile.gfortran</span></code> for the <code class="docutils literal notranslate"><span class="pre">CONVERT2</span></code> Fortran program and the ECMWF server (<em>target</em>) you would like to use. +The job script, send to the job queue via the ECaccess software, selects again automatically the correct libraries from the module system. For enableing the file transfer you have to set the <em>ECUID</em>, <em>ECGID</em>, <em>GATEWAY</em> and <em>DESTINATION</em> parameter values.</p> +<div class="literal-block-wrapper docutils container" id="setup-sh"> +<div class="code-block-caption"><span class="caption-text">‘Example settings for a gateway installation.’</span><a class="headerlink" href="#setup-sh" title="Permalink to this code">¶</a></div> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># -----------------------------------------------------------------</span> +<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span> +<span class="c1">#</span> +<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span> +<span class="c1">#</span> +<span class="nv">TARGET</span><span class="o">=</span><span class="s1">'ecgate'</span> +<span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.gfortran'</span> +<span class="nv">ECUID</span><span class="o">=</span><span class="s1">'uid'</span> +<span class="nv">ECGID</span><span class="o">=</span><span class="s1">'gid'</span> +<span class="nv">GATEWAY</span><span class="o">=</span><span class="s1">'server.example.edu'</span> +<span class="nv">DESTINATION</span><span class="o">=</span><span class="s1">'example@genericSftp'</span> +<span class="nv">INSTALLDIR</span><span class="o">=</span>None +<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">'job.template'</span> +<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</span> +</pre></div> +</div> +</div> +<p>Afterwards, type:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup.sh +</pre></div> +</div> +<p>to start the installation. You should see the following output at the command line.</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span> +Create tarball ... +Job compilation script has been submitted to ecgate <span class="k">for</span> installation in <span class="si">${</span><span class="nv">HOME</span><span class="si">}</span>/flex_extract_vX.X +You should get an email with subject <span class="s2">"flexcompile"</span> within the next few minutes! +</pre></div> +</div> +<p>The email content should look like this with a “SUCCESS” statement in the last line:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp phgrreal.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp grphreal.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp ftrafo.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 +-rwxr-x---. <span class="m">1</span> USER at <span class="m">353134</span> May <span class="m">23</span> <span class="m">12</span>:27 CONVERT2 +SUCCESS! +</pre></div> +</div> +</div> +</div> + + + </div> + + </div> + <footer> + + <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + + <a href="local.html" class="btn btn-neutral float-right" title="Local mode installation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> + + + <a href="remote.html" class="btn btn-neutral float-left" title="Remote mode installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> + + </div> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2019, Anne Philipp and Leopold Haimberger + + </p> + </div> + Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. + +</footer> + + </div> + </div> + + </section> + + </div> + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.Navigation.enable(true); + }); + </script> + + + + + + +</body> +</html> \ No newline at end of file diff --git a/Documentation/html/Installation/local.html b/Documentation/html/Installation/local.html new file mode 100644 index 0000000..bcd7c37 --- /dev/null +++ b/Documentation/html/Installation/local.html @@ -0,0 +1,542 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title>Local mode installation — flex_extract 7.1 alpha documentation</title> + + + + + + + + + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> + + + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + <script type="text/javascript" src="../_static/language_data.js"></script> + <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> + + <script type="text/javascript" src="../_static/js/theme.js"></script> + + + + + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/custom.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme_overrides.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> + <link rel="next" title="Quick Start" href="../quick_start.html" /> + <link rel="prev" title="Gateway mode installation" href="gateway.html" /> +</head> + +<body class="wy-body-for-nav"> + + + <div class="wy-grid-for-nav"> + + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> + <div class="wy-side-scroll"> + <div class="wy-side-nav-search" > + + + + <a href="../index.html" class="icon icon-home"> flex_extract + + + + </a> + + + + + <div class="version"> + 7.1 + </div> + + + + +<div role="search"> + <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> + <input type="text" name="q" placeholder="Search docs" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> +</div> + + + </div> + + <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> + + + + + + + <p class="caption"><span class="caption-text">Table of Contents:</span></p> +<ul class="current"> +<li class="toctree-l1 current"><a class="reference internal" href="../installation.html">Installation</a><ul class="current"> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#registration-at-ecmwf">Registration at ECMWF</a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#licence-agreement-for-public-datasets">Licence agreement for public datasets</a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#download-flex-extract">Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#environment-requirements">Environment requirements</a></li> +<li class="toctree-l2 current"><a class="reference internal" href="../installation.html#installation-of-flex-extract">Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a><ul class="current"> +<li class="toctree-l3"><a class="reference internal" href="remote.html">Remote mode installation</a></li> +<li class="toctree-l3"><a class="reference internal" href="gateway.html">Gateway mode installation</a></li> +<li class="toctree-l3 current"><a class="current reference internal" href="#">Local mode installation</a><ul> +<li class="toctree-l4"><a class="reference internal" href="#local-environment-requirements">Local environment requirements</a></li> +<li class="toctree-l4"><a class="reference internal" href="#prepare-local-environment">Prepare local environment</a></li> +<li class="toctree-l4"><a class="reference internal" href="#test-local-environment">Test local environment</a></li> +<li class="toctree-l4"><a class="reference internal" href="#local-installation">Local installation</a></li> +</ul> +</li> +</ul> +</li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#flex-extract-in-combination-with-flexpart"><code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> in combination with <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code></a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#test-installation">Test installation</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../quick_start.html">Quick Start</a></li> +<li class="toctree-l1"><a class="reference internal" href="../ecmwf_data.html">ECMWF Data</a></li> +<li class="toctree-l1"><a class="reference internal" href="../documentation.html">Documentation</a></li> +<li class="toctree-l1"><a class="reference internal" href="../evaluation.html">Evaluation</a></li> +<li class="toctree-l1"><a class="reference internal" href="../dev_guide.html">Developer Guide</a></li> +<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li> +<li class="toctree-l1"><a class="reference internal" href="../support.html">Support</a></li> +<li class="toctree-l1"><a class="reference internal" href="../Support/faq.html">FAQ - Frequently asked questions</a></li> +<li class="toctree-l1"><a class="reference internal" href="../authors.html">Developer Team</a></li> +</ul> + + + + </div> + </div> + </nav> + + <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> + + + <nav class="wy-nav-top" aria-label="top navigation"> + + <i data-toggle="wy-nav-top" class="fa fa-bars"></i> + <a href="../index.html">flex_extract</a> + + </nav> + + + <div class="wy-nav-content"> + + <div class="rst-content"> + + + + + + + + + + + + + + + + + +<div role="navigation" aria-label="breadcrumbs navigation"> + + <ul class="wy-breadcrumbs"> + + <li><a href="../index.html">Docs</a> »</li> + + <li><a href="../installation.html">Installation</a> »</li> + + <li>Local mode installation</li> + + + <li class="wy-breadcrumbs-aside"> + + + <a href="../_sources/Installation/local.rst.txt" rel="nofollow"> View page source</a> + + + </li> + + </ul> + + + <hr/> +</div> + <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> + <div itemprop="articleBody"> + + <div class="section" id="local-mode-installation"> +<h1>Local mode installation<a class="headerlink" href="#local-mode-installation" title="Permalink to this headline">¶</a></h1> +<div class="toctree-wrapper compound"> +</div> +<div class="section" id="local-environment-requirements"> +<span id="ref-req-local"></span><span id="ref-local-mode"></span><h2>Local environment requirements<a class="headerlink" href="#local-environment-requirements" title="Permalink to this headline">¶</a></h2> +<p>For the local access modes <strong>member</strong> and <strong>public</strong> there is no difference in +the installation process.</p> +<p>The environment on your local system has to provide these software packages +and libraries, since all extraction and preparation is done at the local system:</p> +<table border="1" class="docutils"> +<colgroup> +<col width="74%" /> +<col width="26%" /> +</colgroup> +<tbody valign="top"> +<tr class="row-odd"><td>Python part</td> +<td>Fortran part</td> +</tr> +<tr class="row-even"><td><ul class="first last simple"> +<li><a class="reference external" href="https://www.python.org/downloads/">Python3</a></li> +<li><a class="reference external" href="http://www.numpy.org/">numpy</a></li> +<li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li> +<li><a class="reference external" href="https://packages.debian.org/sid/python3-eccodes">eccodes for python</a></li> +<li><a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home">ecmwf-api-client</a> (everything except ERA5)</li> +<li><a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">cdsapi</a> (just for ERA5)</li> +</ul> +</td> +<td><ul class="first last simple"> +<li><a class="reference external" href="https://gcc.gnu.org/wiki/GFortran">gfortran</a></li> +<li><a class="reference external" href="http://www.fftw.org">fftw3</a></li> +<li><a class="reference external" href="https://software.ecmwf.int/wiki/display/ECC">eccodes</a></li> +<li><a class="reference external" href="https://software.ecmwf.int/wiki/display/EMOS/Emoslib">emoslib</a></li> +</ul> +</td> +</tr> +</tbody> +</table> +</div> +<div class="section" id="prepare-local-environment"> +<span id="ref-prep-local"></span><h2>Prepare local environment<a class="headerlink" href="#prepare-local-environment" title="Permalink to this headline">¶</a></h2> +<p>The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights. +The installation was tested on a <em>Debian GNU/Linux buster/sid</em> and an <em>Ubuntu 18.04 Bionic Beaver</em> system.</p> +<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># On a Linux Debian or Ubuntu system do</span> +<span class="c1"># (if not already available):</span> +apt-get install python3 <span class="o">(</span>usually available on normal Linux systems<span class="o">)</span> +apt-get install pip +apt-get install gfortran +apt-get install fftw3-dev +apt-get install libeccodes-dev +apt-get install libemos-dev +apt-get install python3-eccodes +apt-get install genshi +apt-get install numpy +pip install cdsapi +pip install ecmwf-api-client +</pre></div> +</div> +<div class="admonition note"> +<p class="first admonition-title">Note</p> +<p>In case you would like to use Anaconda Python we recommend you follow the installation instructions of +<a class="reference external" href="https://docs.anaconda.com/anaconda/install/linux/">Anaconda Python Installation for Linux</a> and then install the +<code class="docutils literal notranslate"><span class="pre">eccodes</span></code> package from <code class="docutils literal notranslate"><span class="pre">conda</span></code> with:</p> +<div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>conda install conda-forge::python-eccodes +</pre></div> +</div> +</div> +<p>The CDS API (cdsapi) and the ECMWF Web API (ecmwf-api-client) have both to be installed since ERA5 can only be retrieved with the <code class="docutils literal notranslate"><span class="pre">CDS</span> <span class="pre">API</span></code> and all other datasets with the <code class="docutils literal notranslate"><span class="pre">ECMWF</span> <span class="pre">Web</span> <span class="pre">API</span></code>.</p> +<div class="admonition note"> +<p class="first admonition-title">Note</p> +<p class="last">Since <strong>public users</strong> currently don’t have access to the full <em>ERA5</em> dataset they can skip the installation of the <code class="docutils literal notranslate"><span class="pre">CDS</span> <span class="pre">API</span></code>.</p> +</div> +<p>Both user groups have to provide key’s with their credentials for the Web API’s in their home directory. Therefore, follow these instructions:</p> +<dl class="docutils"> +<dt>ECMWF Web API:</dt> +<dd>Go to <a class="reference external" href="https://confluence.ecmwf.int//display/WEBAPI/Access+MARS">MARS access</a> website and log in with your credentials. Afterwards, on this site in section “Install ECMWF KEY” the key for the ECMWF Web API should be listed. Please follow the instructions in this section under point 1 (save the key in a file <cite>.ecmwfapirc</cite> in your home directory).</dd> +<dt>CDS API:</dt> +<dd>Go to ‘CDS API registration’_ and register there too. Log in at the <a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">cdsapi</a> website and follow the instructions at section “Install the CDS API key” to save your credentials in a <cite>.cdsapirc</cite> file.</dd> +</dl> +</div> +<div class="section" id="test-local-environment"> +<span id="ref-test-local"></span><h2>Test local environment<a class="headerlink" href="#test-local-environment" title="Permalink to this headline">¶</a></h2> +<p>Check the availability of the system packages with <code class="docutils literal notranslate"><span class="pre">dpkg</span> <span class="pre">-s</span> <span class="pre"><package-name></span> <span class="pre">|</span>  <span class="pre">grep</span> <span class="pre">Status</span></code> or <code class="docutils literal notranslate"><span class="pre">rpm</span> <span class="pre">-q</span> <span class="pre"><package_name></span></code>, depending on your system. For example:</p> +<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ dpkg -s libeccodes-dev <span class="p">|</span> grep Status +<span class="c1"># or</span> +$ rpm -q libeccodes-dev +</pre></div> +</div> +<p>Afterwards, check the availability of the python packages by typing <code class="docutils literal notranslate"><span class="pre">python3</span></code> in +a terminal window and run the <code class="docutils literal notranslate"><span class="pre">import</span></code> commands in the python shell. If there are no error messages, you succeeded in setting up the environment.</p> +<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># check in python3 console</span> +<span class="kn">import</span> <span class="nn">eccodes</span> +<span class="kn">import</span> <span class="nn">genshi</span> +<span class="kn">import</span> <span class="nn">numpy</span> +<span class="kn">import</span> <span class="nn">cdsapi</span> +<span class="kn">import</span> <span class="nn">ecmwfapi</span> +</pre></div> +</div> +<div class="section" id="test-the-web-api-s"> +<h3>Test the Web API’s<a class="headerlink" href="#test-the-web-api-s" title="Permalink to this headline">¶</a></h3> +<p>You can start very simple test retrievals for both Web API’s to be sure that everything works. This is recommended to minimize the range of possible errors using <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> later on.</p> +<div class="section" id="ecmwf-web-api"> +<h4>ECMWF Web API<a class="headerlink" href="#ecmwf-web-api" title="Permalink to this headline">¶</a></h4> +<table border="1" class="docutils"> +<colgroup> +<col width="50%" /> +<col width="50%" /> +</colgroup> +<tbody valign="top"> +<tr class="row-odd"><td>Please use this piece of python code for <strong>Member user</strong>:</td> +<td>Please use this piece of python code for <strong>Public user</strong>:</td> +</tr> +<tr class="row-even"><td><div class="first last highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ecmwfapi</span> <span class="kn">import</span> <span class="n">ECMWFService</span> + +<span class="n">server</span> <span class="o">=</span> <span class="n">ECMWFService</span><span class="p">(</span><span class="s1">'mars'</span><span class="p">)</span> + +<span class="n">server</span><span class="o">.</span><span class="n">retrieve</span><span class="p">({</span> + <span class="s1">'stream'</span> <span class="p">:</span> <span class="s2">"oper"</span><span class="p">,</span> + <span class="s1">'levtype'</span> <span class="p">:</span> <span class="s2">"sfc"</span><span class="p">,</span> + <span class="s1">'param'</span> <span class="p">:</span> <span class="s2">"165.128/166.128/167.128"</span><span class="p">,</span> + <span class="s1">'dataset'</span> <span class="p">:</span> <span class="s2">"interim"</span><span class="p">,</span> + <span class="s1">'step'</span> <span class="p">:</span> <span class="s2">"0"</span><span class="p">,</span> + <span class="s1">'grid'</span> <span class="p">:</span> <span class="s2">"0.75/0.75"</span><span class="p">,</span> + <span class="s1">'time'</span> <span class="p">:</span> <span class="s2">"00/06/12/18"</span><span class="p">,</span> + <span class="s1">'date'</span> <span class="p">:</span> <span class="s2">"2014-07-01/to/2014-07-31"</span><span class="p">,</span> + <span class="s1">'type'</span> <span class="p">:</span> <span class="s2">"an"</span><span class="p">,</span> + <span class="s1">'class'</span> <span class="p">:</span> <span class="s2">"ei"</span><span class="p">,</span> + <span class="s1">'target'</span> <span class="p">:</span> <span class="s2">"download_erainterim_ecmwfapi.grib"</span> +<span class="p">})</span> +</pre></div> +</div> +</td> +<td><div class="first last highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ecmwfapi</span> <span class="kn">import</span> <span class="n">ECMWFDataServer</span> + +<span class="n">server</span> <span class="o">=</span> <span class="n">ECMWFDataServer</span><span class="p">()</span> + +<span class="n">server</span><span class="o">.</span><span class="n">retrieve</span><span class="p">({</span> + <span class="s1">'stream'</span> <span class="p">:</span> <span class="s2">"enda"</span><span class="p">,</span> + <span class="s1">'levtype'</span> <span class="p">:</span> <span class="s2">"sfc"</span><span class="p">,</span> + <span class="s1">'param'</span> <span class="p">:</span> <span class="s2">"165.128/166.128/167.128"</span><span class="p">,</span> + <span class="s1">'dataset'</span> <span class="p">:</span> <span class="s2">"cera20c"</span><span class="p">,</span> + <span class="s1">'step'</span> <span class="p">:</span> <span class="s2">"0"</span><span class="p">,</span> + <span class="s1">'grid'</span> <span class="p">:</span> <span class="s2">"1./1."</span><span class="p">,</span> + <span class="s1">'time'</span> <span class="p">:</span> <span class="s2">"00/06/12/18"</span><span class="p">,</span> + <span class="s1">'date'</span> <span class="p">:</span> <span class="s2">"2000-07-01/to/2000-07-31"</span><span class="p">,</span> + <span class="s1">'type'</span> <span class="p">:</span> <span class="s2">"an"</span><span class="p">,</span> + <span class="s1">'class'</span> <span class="p">:</span> <span class="s2">"ep"</span><span class="p">,</span> + <span class="s1">'target'</span> <span class="p">:</span> <span class="s2">"download_cera20c_ecmwfapi.grib"</span> +<span class="p">})</span> +</pre></div> +</div> +</td> +</tr> +</tbody> +</table> +</div> +<div class="section" id="cds-api"> +<h4>CDS API<a class="headerlink" href="#cds-api" title="Permalink to this headline">¶</a></h4> +<p>Since ERA5 extraction with CDS API might take some time due to the very high number of requests, you can start by retrieving some online stored pressure levels (not from MARS). This is usually much faster and gives a quick result to find out if the web API works:</p> +<p>Please use this piece of python code to retrieve a small sample of <em>ERA5</em> pressure levels:</p> +<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">cdsapi</span> + +<span class="n">c</span> <span class="o">=</span> <span class="n">cdsapi</span><span class="o">.</span><span class="n">Client</span><span class="p">()</span> + +<span class="n">c</span><span class="o">.</span><span class="n">retrieve</span><span class="p">(</span><span class="s2">"reanalysis-era5-pressure-levels"</span><span class="p">,</span> +<span class="p">{</span> +<span class="s2">"variable"</span><span class="p">:</span> <span class="s2">"temperature"</span><span class="p">,</span> +<span class="s2">"pressure_level"</span><span class="p">:</span> <span class="s2">"1000"</span><span class="p">,</span> +<span class="s2">"product_type"</span><span class="p">:</span> <span class="s2">"reanalysis"</span><span class="p">,</span> +<span class="s2">"year"</span><span class="p">:</span> <span class="s2">"2008"</span><span class="p">,</span> +<span class="s2">"month"</span><span class="p">:</span> <span class="s2">"01"</span><span class="p">,</span> +<span class="s2">"day"</span><span class="p">:</span> <span class="s2">"01"</span><span class="p">,</span> +<span class="s2">"time"</span><span class="p">:</span> <span class="s2">"12:00"</span><span class="p">,</span> +<span class="s2">"format"</span><span class="p">:</span> <span class="s2">"grib"</span> +<span class="p">},</span> +<span class="s2">"download_cdsapi.grib"</span><span class="p">)</span> +</pre></div> +</div> +<p>Afterwards, when you know that the CDS API generally works, you can try to extract some +data from the MARS archive. From the latest experience we know that this can take a while.</p> +<p>Please use this piece of python code to retrieve a small <em>ERA5</em> data sample as a <strong>member user</strong>! The <strong>public user</strong> doesn’t have access to the full <em>ERA5</em> dataset!</p> +<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">cdsapi</span> + +<span class="n">c</span> <span class="o">=</span> <span class="n">cdsapi</span><span class="o">.</span><span class="n">Client</span><span class="p">()</span> + +<span class="n">c</span><span class="o">.</span><span class="n">retrieve</span><span class="p">(</span><span class="s1">'reanalysis-era5-complete'</span><span class="p">,</span> +<span class="p">{</span> + <span class="s1">'class'</span> <span class="p">:</span> <span class="s1">'ea'</span><span class="p">,</span> + <span class="s1">'expver'</span> <span class="p">:</span> <span class="s1">'1'</span><span class="p">,</span> + <span class="s1">'stream'</span> <span class="p">:</span> <span class="s1">'oper'</span><span class="p">,</span> + <span class="s1">'type'</span> <span class="p">:</span> <span class="s1">'fc'</span><span class="p">,</span> + <span class="s1">'step'</span> <span class="p">:</span> <span class="s1">'3/to/12/by/3'</span><span class="p">,</span> + <span class="s1">'param'</span> <span class="p">:</span> <span class="s1">'130.128'</span><span class="p">,</span> + <span class="s1">'levtype'</span> <span class="p">:</span> <span class="s1">'ml'</span><span class="p">,</span> + <span class="s1">'levelist'</span><span class="p">:</span> <span class="s1">'135/to/137'</span><span class="p">,</span> + <span class="s1">'date'</span> <span class="p">:</span> <span class="s1">'2013-01-01'</span><span class="p">,</span> + <span class="s1">'time'</span> <span class="p">:</span> <span class="s1">'06/18'</span><span class="p">,</span> + <span class="s1">'area'</span> <span class="p">:</span> <span class="s1">'50/-5/40/5'</span><span class="p">,</span> + <span class="s1">'grid'</span> <span class="p">:</span> <span class="s1">'1.0/1.0'</span><span class="p">,</span> + <span class="s1">'format'</span> <span class="p">:</span> <span class="s1">'grib'</span><span class="p">,</span> +<span class="p">},</span> <span class="s1">'download_era5_cdsapi.grib'</span><span class="p">)</span> +</pre></div> +</div> +</div> +</div> +</div> +<div class="section" id="local-installation"> +<span id="ref-install-local"></span><h2>Local installation<a class="headerlink" href="#local-installation" title="Permalink to this headline">¶</a></h2> +<p>First prepare the Fortran <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> for your environment and set it +in the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script. (See section <span class="xref std std-ref">ref-convert</span> for information on +the Fortran program.) +<code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> has already two <code class="docutils literal notranslate"><span class="pre">Makefiles</span></code> prepared for te <code class="docutils literal notranslate"><span class="pre">gfortran</span></code> and +the <code class="docutils literal notranslate"><span class="pre">ifort</span></code> compiler:</p> +<blockquote> +<div><ul class="simple"> +<li>Makefile.local.gfortran</li> +<li>Makefile.local.ifort</li> +</ul> +</div></blockquote> +<p>They can be found in the path <code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X/source/fortran</span></code>, where +<code class="docutils literal notranslate"><span class="pre">vX.X</span></code> should be substituted with the current version number.</p> +<div class="admonition caution"> +<p class="first admonition-title">Caution</p> +<p class="last">It is necessary to adapt <strong>ECCODES_INCLUDE_DIR</strong> and <strong>ECCODES_LIB</strong> in these +<code class="docutils literal notranslate"><span class="pre">Makefiles</span></code>.</p> +</div> +<p>So starting from the root directory of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>, +go to the <code class="docutils literal notranslate"><span class="pre">Fortran</span></code> source directory and open the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> of your +choice to modify with an editor of your choice. We use the <code class="docutils literal notranslate"><span class="pre">nedit</span></code> in this case.</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> flex_extract_vX.X/source/fortran +nedit Makefile.local.gfortran +</pre></div> +</div> +<p>Edit the pathes to the <code class="docutils literal notranslate"><span class="pre">eccodes</span></code> library on your local machine.</p> +<div class="admonition caution"> +<p class="first admonition-title">Caution</p> +<p>This can vary from system to system. +It is suggested to use a command like</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># for the ECCODES_INCLUDE_DIR path do:</span> +$ dpkg -L libeccodes-dev <span class="p">|</span> grep eccodes.mod +<span class="c1"># for the ECCODES_LIB path do:</span> +$ dpkg -L libeccodes-dev <span class="p">|</span> grep libeccodes.so +</pre></div> +</div> +<p class="last">to find out the path to the <code class="docutils literal notranslate"><span class="pre">eccodes</span></code> library.</p> +</div> +<p>Substitute these paths in the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> for parameters <strong>ECCODES_INCLUDE_DIR</strong> +and <strong>ECCODES_LIB</strong> and save it.</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># these are the paths on a current Debian 10 Testing system (May 2019)</span> +<span class="nv">ECCODES_INCLUDE_DIR</span><span class="o">=</span>/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15/ +<span class="nv">ECCODES_LIB</span><span class="o">=</span> -L/usr/lib -leccodes_f90 -leccodes -lm +</pre></div> +</div> +<p>The Fortran program called <code class="docutils literal notranslate"><span class="pre">CONVERT2</span></code> will be compiled during the +installation process to get an executable. Therefore the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> +has to be set in the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script.</p> +<p>In the root directory of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>, open the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script +and adapt the installation parameters in the section labelled with +“AVAILABLE COMMANDLINE ARGUMENTS TO SET” like shown below.</p> +<div class="literal-block-wrapper docutils container" id="setup-sh"> +<div class="code-block-caption"><span class="caption-text">‘Example settings for a local installation.’</span><a class="headerlink" href="#setup-sh" title="Permalink to this code">¶</a></div> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>... +<span class="c1"># -----------------------------------------------------------------</span> +<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span> +<span class="c1">#</span> +<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span> +<span class="c1">#</span> +<span class="nv">TARGET</span><span class="o">=</span><span class="s1">'local'</span> +<span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.local.gfortran'</span> +<span class="nv">ECUID</span><span class="o">=</span>None +<span class="nv">ECGID</span><span class="o">=</span>None +<span class="nv">GATEWAY</span><span class="o">=</span>None +<span class="nv">DESTINATION</span><span class="o">=</span>None +<span class="nv">INSTALLDIR</span><span class="o">=</span>None +<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">'job.template'</span> +<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</span> +... +</pre></div> +</div> +</div> +<p>Afterwards, type:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup.sh +</pre></div> +</div> +<p>to start the installation. You should see the following output at the command line.</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span> +WARNING: installdir has not been specified +flex_extract will be installed in here by compiling the Fortran <span class="nb">source</span> in /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/source/fortran +Install flex_extract_v7.1 software at <span class="nb">local</span> in directory /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1 + +Using makefile: Makefile.local.gfortran +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp phgrreal.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp grphreal.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp ftrafo.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 rwGRIB2.f90 +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 posnam.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 preconvert.f90 +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -O3 -O3 -fopenmp -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/gcc-4.9.3/grib_api-1.14.3/lib -Bstatic -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper -lemosR64 + +-rwxrwxr-x. <span class="m">1</span> philipa8 tmc <span class="m">282992</span> May <span class="m">23</span> <span class="m">22</span>:27 ./CONVERT2 +</pre></div> +</div> +</div> +</div> + + + </div> + + </div> + <footer> + + <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + + <a href="../quick_start.html" class="btn btn-neutral float-right" title="Quick Start" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> + + + <a href="gateway.html" class="btn btn-neutral float-left" title="Gateway mode installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> + + </div> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2019, Anne Philipp and Leopold Haimberger + + </p> + </div> + Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. + +</footer> + + </div> + </div> + + </section> + + </div> + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.Navigation.enable(true); + }); + </script> + + + + + + +</body> +</html> \ No newline at end of file diff --git a/Documentation/html/Installation/remote.html b/Documentation/html/Installation/remote.html new file mode 100644 index 0000000..29d3bb7 --- /dev/null +++ b/Documentation/html/Installation/remote.html @@ -0,0 +1,414 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title>Remote mode installation — flex_extract 7.1 alpha documentation</title> + + + + + + + + + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> + + + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + <script type="text/javascript" src="../_static/language_data.js"></script> + <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> + + <script type="text/javascript" src="../_static/js/theme.js"></script> + + + + + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/custom.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme_overrides.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> + <link rel="next" title="Gateway mode installation" href="gateway.html" /> + <link rel="prev" title="Installation" href="../installation.html" /> +</head> + +<body class="wy-body-for-nav"> + + + <div class="wy-grid-for-nav"> + + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> + <div class="wy-side-scroll"> + <div class="wy-side-nav-search" > + + + + <a href="../index.html" class="icon icon-home"> flex_extract + + + + </a> + + + + + <div class="version"> + 7.1 + </div> + + + + +<div role="search"> + <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> + <input type="text" name="q" placeholder="Search docs" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> +</div> + + + </div> + + <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> + + + + + + + <p class="caption"><span class="caption-text">Table of Contents:</span></p> +<ul class="current"> +<li class="toctree-l1 current"><a class="reference internal" href="../installation.html">Installation</a><ul class="current"> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#registration-at-ecmwf">Registration at ECMWF</a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#licence-agreement-for-public-datasets">Licence agreement for public datasets</a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#download-flex-extract">Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#environment-requirements">Environment requirements</a></li> +<li class="toctree-l2 current"><a class="reference internal" href="../installation.html#installation-of-flex-extract">Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a><ul class="current"> +<li class="toctree-l3 current"><a class="current reference internal" href="#">Remote mode installation</a><ul> +<li class="toctree-l4"><a class="reference internal" href="#remote-environment-requirements">Remote environment requirements</a></li> +<li class="toctree-l4"><a class="reference internal" href="#prepare-remote-environment">Prepare remote environment</a></li> +<li class="toctree-l4"><a class="reference internal" href="#remote-installation">Remote installation</a></li> +</ul> +</li> +<li class="toctree-l3"><a class="reference internal" href="gateway.html">Gateway mode installation</a></li> +<li class="toctree-l3"><a class="reference internal" href="local.html">Local mode installation</a></li> +</ul> +</li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#flex-extract-in-combination-with-flexpart"><code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> in combination with <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code></a></li> +<li class="toctree-l2"><a class="reference internal" href="../installation.html#test-installation">Test installation</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../quick_start.html">Quick Start</a></li> +<li class="toctree-l1"><a class="reference internal" href="../ecmwf_data.html">ECMWF Data</a></li> +<li class="toctree-l1"><a class="reference internal" href="../documentation.html">Documentation</a></li> +<li class="toctree-l1"><a class="reference internal" href="../evaluation.html">Evaluation</a></li> +<li class="toctree-l1"><a class="reference internal" href="../dev_guide.html">Developer Guide</a></li> +<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li> +<li class="toctree-l1"><a class="reference internal" href="../support.html">Support</a></li> +<li class="toctree-l1"><a class="reference internal" href="../Support/faq.html">FAQ - Frequently asked questions</a></li> +<li class="toctree-l1"><a class="reference internal" href="../authors.html">Developer Team</a></li> +</ul> + + + + </div> + </div> + </nav> + + <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> + + + <nav class="wy-nav-top" aria-label="top navigation"> + + <i data-toggle="wy-nav-top" class="fa fa-bars"></i> + <a href="../index.html">flex_extract</a> + + </nav> + + + <div class="wy-nav-content"> + + <div class="rst-content"> + + + + + + + + + + + + + + + + + +<div role="navigation" aria-label="breadcrumbs navigation"> + + <ul class="wy-breadcrumbs"> + + <li><a href="../index.html">Docs</a> »</li> + + <li><a href="../installation.html">Installation</a> »</li> + + <li>Remote mode installation</li> + + + <li class="wy-breadcrumbs-aside"> + + + <a href="../_sources/Installation/remote.rst.txt" rel="nofollow"> View page source</a> + + + </li> + + </ul> + + + <hr/> +</div> + <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> + <div itemprop="articleBody"> + + <div class="section" id="remote-mode-installation"> +<h1>Remote mode installation<a class="headerlink" href="#remote-mode-installation" title="Permalink to this headline">¶</a></h1> +<div class="toctree-wrapper compound"> +</div> +<div class="section" id="remote-environment-requirements"> +<span id="ref-req-remote"></span><span id="ref-remote-mode"></span><h2>Remote environment requirements<a class="headerlink" href="#remote-environment-requirements" title="Permalink to this headline">¶</a></h2> +<p>The environment for <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> on ECMWF servers has to provide these +software packages and libraries:</p> +<table border="1" class="docutils"> +<colgroup> +<col width="61%" /> +<col width="39%" /> +</colgroup> +<tbody valign="top"> +<tr class="row-odd"><td>Python part</td> +<td>Fortran part</td> +</tr> +<tr class="row-even"><td><ul class="first last simple"> +<li><a class="reference external" href="https://www.python.org/downloads/">Python3</a></li> +<li><a class="reference external" href="http://www.numpy.org/">numpy</a></li> +<li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li> +<li><a class="reference external" href="https://packages.debian.org/sid/python3-eccodes">eccodes for python</a></li> +</ul> +</td> +<td><ul class="first last simple"> +<li><a class="reference external" href="https://gcc.gnu.org/wiki/GFortran">gfortran</a></li> +<li><a class="reference external" href="http://www.fftw.org">fftw3</a></li> +<li><a class="reference external" href="https://software.ecmwf.int/wiki/display/ECC">eccodes</a></li> +<li><a class="reference external" href="https://software.ecmwf.int/wiki/display/EMOS/Emoslib">emoslib</a></li> +</ul> +</td> +</tr> +</tbody> +</table> +</div> +<div class="section" id="prepare-remote-environment"> +<span id="ref-prep-remote"></span><h2>Prepare remote environment<a class="headerlink" href="#prepare-remote-environment" title="Permalink to this headline">¶</a></h2> +<p>The environment on the ECMWF server (such as <em>ecgate</em> or <em>cca</em>) is already +prepared. ECMWF server provide all libraries via a module system which is +going to be selected by <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> automatically.</p> +</div> +<div class="section" id="remote-installation"> +<span id="ref-install-remote"></span><h2>Remote installation<a class="headerlink" href="#remote-installation" title="Permalink to this headline">¶</a></h2> +<p>First, log in on one of the ECMWF Linux server, such as <em>ecgate</em> or <em>cca/ccb</em>. +Substitute <em><ecuid></em> with your ECMWF user name:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ssh -X <ecuid>@ecaccess.ecmwf.int +</pre></div> +</div> +<p>This will lead to the following output on the command line, asking for your +password:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>Authorized access only. + +*************************************************************** + For further information, read the ECaccess documentation at: + + https://software.ecmwf.int/wiki/display/ECAC/ECaccess+Home + + You can also use ECaccess to load & download files from your + EChome, ECscratch or ECfs directories using the ECaccess FTP + server: + + ftp://uid@ecaccess.ecmwf.int/ + + Please note you must use your UID and ActivID code to login! +*************************************************************** + +<ecuid>@131.130.157.5's password: *** +Select hostname (ecgate, cca, ccb) [ecgate]: ecgate + +[<ecuid>@ecgb11 ~]$ +</pre></div> +</div> +<p>Then, copy the <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> tar ball (from section <a class="reference internal" href="../installation.html#ref-download"><span class="std std-ref">Download flex_extract</span></a>) +to the <code class="docutils literal notranslate"><span class="pre">$HOME</span></code> directory of the ECMWF Linux server via <code class="docutils literal notranslate"><span class="pre">scp</span></code>. +Substitute the <em><localuser></em> and <em><server.edu></em> placeholders with your credentials. +Untar the file and change into the <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> root directory.</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>scp <localuser>@<server.edu>:/path/to/tarfile/flex_extract_vX.X.tar.gz <span class="nv">$HOME</span>/ +<span class="nb">cd</span> <span class="nv">$HOME</span> +tar xvf flex_extract_vX.X.tar.gz +<span class="nb">cd</span> flex_extract_vX.X +</pre></div> +</div> +<p>On these ECMWF servers, it is not necessary to prepare the environment or the +<code class="docutils literal notranslate"><span class="pre">Makefile</span></code> for the Fortran program (<code class="docutils literal notranslate"><span class="pre">CONVERT2</span></code>) as described above. +All third party libraries are available from a module system. The <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> +is optimized for ECMWF servers and the compilation +script <code class="docutils literal notranslate"><span class="pre">compilejob.ksh</span></code>, which will be submitted by <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> to the +batch job queue at ECMWF, does load all relevant modules from the ECMWF’s module system.</p> +<p>So there is just the need to execute the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script from the +<code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> root directory for installation. +Before executing it, it is necessary to adapt some parameters from <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> +described in <span class="xref std std-doc">Documentation/Input/setup</span>.</p> +<p>Open <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> with your editor and adapt the values:</p> +<table border="1" class="docutils"> +<colgroup> +<col width="50%" /> +<col width="50%" /> +</colgroup> +<tbody valign="top"> +<tr class="row-odd"><td>Take this for target = <strong>ectrans</strong></td> +<td>Take this for target = <strong>cca</strong></td> +</tr> +<tr class="row-even"><td><div class="first last highlight-bash notranslate"><div class="highlight"><pre><span></span>... +<span class="c1"># -----------------------------------------</span> +<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span> +<span class="c1">#</span> +<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span> +<span class="c1">#</span> +<span class="nv">TARGET</span><span class="o">=</span><span class="s1">'ecgate'</span> +<span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.gfortran'</span> +<span class="nv">ECUID</span><span class="o">=</span><span class="s1">'uid'</span> +<span class="nv">ECGID</span><span class="o">=</span><span class="s1">'gid'</span> +<span class="nv">GATEWAY</span><span class="o">=</span>None +<span class="nv">DESTINATION</span><span class="o">=</span>None +<span class="nv">INSTALLDIR</span><span class="o">=</span>None +<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">'job.template'</span> +<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</span> +... +</pre></div> +</div> +</td> +<td><div class="first last highlight-bash notranslate"><div class="highlight"><pre><span></span>... +<span class="c1"># -----------------------------------------</span> +<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span> +<span class="c1">#</span> +<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span> +<span class="c1">#</span> +<span class="nv">TARGET</span><span class="o">=</span><span class="s1">'cca'</span> +<span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.CRAY'</span> +<span class="nv">ECUID</span><span class="o">=</span><span class="s1">'uid'</span> +<span class="nv">ECGID</span><span class="o">=</span><span class="s1">'gid'</span> +<span class="nv">GATEWAY</span><span class="o">=</span>None +<span class="nv">DESTINATION</span><span class="o">=</span>None +<span class="nv">INSTALLDIR</span><span class="o">=</span><span class="s1">''</span> +<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">'job.template'</span> +<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</span> +... +</pre></div> +</div> +</td> +</tr> +</tbody> +</table> +<p><span class="underline">Please substitute the values of ECUID and ECGID +with your own credentials and settings.</span></p> +<div class="admonition note"> +<p class="first admonition-title">Note</p> +<p class="last">If a local gateway server is available the transfer of files could be done +via the <code class="docutils literal notranslate"><span class="pre">ECaccess</span></code> commands. Therefore a valid <em>GATEWAY</em> and <em>DESTINATION</em> +have to be present and should be set in the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> file.</p> +</div> +<p>Afterwards, type:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>module load python3 +./setup.sh +</pre></div> +</div> +<p>to start the installation. You should see the following output at the command line.</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span> +Create tarball ... +Job compilation script has been submitted to ecgate <span class="k">for</span> installation in <span class="si">${</span><span class="nv">HOME</span><span class="si">}</span>/flex_extract_vX.X +You should get an email with subject <span class="s2">"flexcompile"</span> within the next few minutes! +</pre></div> +</div> +<p>The email content should look like this with a “SUCCESS” statement in the last line:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp phgrreal.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp grphreal.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp ftrafo.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 +gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 +-rwxr-x---. <span class="m">1</span> USER at <span class="m">353134</span> May <span class="m">23</span> <span class="m">12</span>:27 CONVERT2 +SUCCESS! +</pre></div> +</div> +</div> +</div> + + + </div> + + </div> + <footer> + + <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + + <a href="gateway.html" class="btn btn-neutral float-right" title="Gateway mode installation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> + + + <a href="../installation.html" class="btn btn-neutral float-left" title="Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> + + </div> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2019, Anne Philipp and Leopold Haimberger + + </p> + </div> + Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. + +</footer> + + </div> + </div> + + </section> + + </div> + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.Navigation.enable(true); + }); + </script> + + + + + + +</body> +</html> \ No newline at end of file diff --git a/Documentation/html/Support/faq.html b/Documentation/html/Support/faq.html index ec37238..9f4864f 100644 --- a/Documentation/html/Support/faq.html +++ b/Documentation/html/Support/faq.html @@ -192,7 +192,7 @@ For this case you should follow the following steps:</p> <li>Install Web API’s <a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">CDS API</a> and <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home">ECMWF Web API</a></li> <li>Check LD_LIBRARY_PATH environment variable if it contains all paths to the libs</li> <li>Check available python packages (e.g. import eccodes / import grib_api / import ecmwfapi)</li> -<li>Start test retrieval (<a class="reference internal" href="../installation.html#ref-test-local"><span class="std std-ref">Test local environment</span></a>)</li> +<li>Start test retrieval (<a class="reference internal" href="../Installation/local.html#ref-test-local"><span class="std std-ref">Test local environment</span></a>)</li> <li>Install <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> (<a class="reference internal" href="../installation.html"><span class="doc">Installation</span></a>)</li> </ol> </dd> diff --git a/Documentation/html/_modules/ControlFile.html b/Documentation/html/_modules/ControlFile.html index 1aedf7d..d9a507c 100644 --- a/Documentation/html/_modules/ControlFile.html +++ b/Documentation/html/_modules/ControlFile.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for ControlFile</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Leopold Haimberger (University of Vienna)</span> @@ -185,20 +185,12 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> <span class="c1"># Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span> -<span class="c1">#</span> -<span class="c1"># @Class Methods:</span> -<span class="c1"># __init__</span> -<span class="c1"># _read_controlfile</span> -<span class="c1"># __str__</span> -<span class="c1"># assign_args_to_control</span> -<span class="c1"># assign_envs_to_control</span> -<span class="c1"># check_conditions</span> -<span class="c1"># check_install_conditions</span> -<span class="c1"># to_list</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># ------------------------------------------------------------------------------</span> diff --git a/Documentation/html/_modules/EcFlexpart.html b/Documentation/html/_modules/EcFlexpart.html index 148a8a0..2f9bfe7 100644 --- a/Documentation/html/_modules/EcFlexpart.html +++ b/Documentation/html/_modules/EcFlexpart.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for EcFlexpart</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Anne Fouilloux (University of Oslo)</span> @@ -203,6 +203,8 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> @@ -576,15 +578,23 @@ <span class="c1"># ADDITIONAL FIELDS FOR FLEXPART-WRF MODEL (IF QUESTIONED)</span> <span class="c1"># -----------------------------------------------------------------------</span> <span class="k">if</span> <span class="n">wrf</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">'OG__ML'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">'/Z/VO'</span> - <span class="k">if</span> <span class="s1">'/D'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">'OG__ML'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">'OG__ML'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">'/D'</span> + <span class="c1"># @WRF</span> + <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span> + <span class="c1">#</span> + <span class="c1"># UNDER CONSTRUCTION !!!</span> + <span class="c1">#</span> + + <span class="nb">print</span><span class="p">(</span><span class="s1">'WRF VERSION IS UNDER CONSTRUCTION!'</span><span class="p">)</span> <span class="c1"># dummy argument</span> + + <span class="c1">#self.params['OG__ML'][0] += '/Z/VO'</span> + <span class="c1">#if '/D' not in self.params['OG__ML'][0]:</span> + <span class="c1"># self.params['OG__ML'][0] += '/D'</span> - <span class="n">wrf_sfc</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'SP'</span><span class="p">,</span><span class="s1">'SKT'</span><span class="p">,</span><span class="s1">'SST'</span><span class="p">,</span><span class="s1">'CI'</span><span class="p">,</span><span class="s1">'STL1'</span><span class="p">,</span><span class="s1">'STL2'</span><span class="p">,</span> <span class="s1">'STL3'</span><span class="p">,</span><span class="s1">'STL4'</span><span class="p">,</span> - <span class="s1">'SWVL1'</span><span class="p">,</span><span class="s1">'SWVL2'</span><span class="p">,</span><span class="s1">'SWVL3'</span><span class="p">,</span><span class="s1">'SWVL4'</span><span class="p">]</span> - <span class="k">for</span> <span class="n">par</span> <span class="ow">in</span> <span class="n">wrf_sfc</span><span class="p">:</span> - <span class="k">if</span> <span class="n">par</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">'OG__SL'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">'OG__SL'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">par</span> + <span class="c1">#wrf_sfc = ['SP','SKT','SST','CI','STL1','STL2', 'STL3','STL4',</span> + <span class="c1"># 'SWVL1','SWVL2','SWVL3','SWVL4']</span> + <span class="c1">#for par in wrf_sfc:</span> + <span class="c1"># if par not in self.params['OG__SL'][0]:</span> + <span class="c1"># self.params['OG__SL'][0] += '/' + par</span> <span class="k">return</span> @@ -1007,8 +1017,8 @@ <span class="k">if</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">></span> <span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]:</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mi">360</span> - <span class="n">maxl</span> <span class="o">=</span> <span class="nb">round</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">+</span> <span class="mi">1</span> - <span class="n">maxb</span> <span class="o">=</span> <span class="nb">round</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">+</span> <span class="mi">1</span> + <span class="n">maxl</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">round</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span> <span class="o">+</span> <span class="mi">1</span> + <span class="n">maxb</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">round</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">0</span><span class="p">]))</span> <span class="o">+</span> <span class="mi">1</span> <span class="n">stream</span> <span class="o">=</span> <span class="n">namelist_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span> <span class="n">maxl</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">maxl</span><span class="p">),</span> @@ -1245,9 +1255,9 @@ <span class="n">t_dt</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">'%Y%m</span><span class="si">%d</span><span class="s1">%H'</span><span class="p">)</span> <span class="o">+</span> <span class="n">numbersuffix</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="s2">"outputfile = "</span> <span class="o">+</span> <span class="n">fnout</span><span class="p">)</span> - <span class="n">f_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fnout</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span> - <span class="n">h_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">hnout</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span> - <span class="n">g_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">gnout</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span> + <span class="n">f_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fnout</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> + <span class="n">h_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">hnout</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> + <span class="n">g_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">gnout</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> <span class="c1"># read message for message and store relevant data fields, where</span> <span class="c1"># data keywords are stored in pars</span> @@ -1553,13 +1563,13 @@ <span class="c1"># write original time step to flux file as usual</span> <span class="n">fluxfile</span> <span class="o">=</span> <span class="n">GribUtil</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">fluxfilename</span><span class="p">))</span> - <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> + <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="n">inumb</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">'%Y%m</span><span class="si">%d</span><span class="s1">'</span><span class="p">)),</span> <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">lsp_new_np</span><span class="p">[</span><span class="n">inumb</span><span class="p">,:,</span><span class="n">it</span><span class="p">]],</span> <span class="p">)</span> - <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> + <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="n">inumb</span><span class="p">,</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">'%Y%m</span><span class="si">%d</span><span class="s1">'</span><span class="p">)),</span> @@ -1567,13 +1577,13 @@ <span class="p">)</span> <span class="c1"># rr for first subgrid point is identified by step = 1</span> - <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> + <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="n">inumb</span><span class="p">,</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">'%Y%m</span><span class="si">%d</span><span class="s1">'</span><span class="p">)),</span> <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">,</span> <span class="n">lsp_new_np</span><span class="p">[</span><span class="n">inumb</span><span class="p">,:,</span><span class="n">it</span><span class="o">+</span><span class="mi">1</span><span class="p">]]</span> <span class="p">)</span> - <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> + <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="n">inumb</span><span class="p">,</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">'%Y%m</span><span class="si">%d</span><span class="s1">'</span><span class="p">)),</span> @@ -1581,13 +1591,13 @@ <span class="p">)</span> <span class="c1"># rr for second subgrid point is identified by step = 2</span> - <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> + <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="n">inumb</span><span class="p">,</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">'%Y%m</span><span class="si">%d</span><span class="s1">'</span><span class="p">)),</span> <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="s1">'2'</span><span class="p">,</span> <span class="n">lsp_new_np</span><span class="p">[</span><span class="n">inumb</span><span class="p">,:,</span><span class="n">it</span><span class="o">+</span><span class="mi">2</span><span class="p">]]</span> <span class="p">)</span> - <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> + <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="n">inumb</span><span class="p">,</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">'%Y%m</span><span class="si">%d</span><span class="s1">'</span><span class="p">)),</span> @@ -1617,10 +1627,10 @@ <span class="n">gribfile</span> <span class="o">=</span> <span class="n">GribUtil</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">inputdir</span><span class="p">,</span><span class="s1">'rr_grib_dummy.grb'</span><span class="p">))</span> <span class="n">gribfile</span><span class="o">.</span><span class="n">copy_dummy_msg</span><span class="p">(</span><span class="n">ifile</span><span class="p">,</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</span><span class="p">],</span> - <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'w'</span><span class="p">)</span> + <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'wb'</span><span class="p">)</span> <span class="n">gribfile</span><span class="o">.</span><span class="n">copy_dummy_msg</span><span class="p">(</span><span class="n">ifile</span><span class="p">,</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</span><span class="p">],</span> - <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'a'</span><span class="p">)</span> + <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'ab'</span><span class="p">)</span> <span class="k">return</span> @@ -1663,11 +1673,16 @@ <span class="n">end_period</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">end_date</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">time</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="s1">'%Y%m</span><span class="si">%d</span><span class="s1">%H'</span><span class="p">)</span> <span class="n">end_period</span> <span class="o">=</span> <span class="n">end_period</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">step</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> - <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">:</span> - <span class="n">table128</span> <span class="o">=</span> <span class="n">init128</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_GRIBTABLE</span><span class="p">)</span> - <span class="n">wrfpars</span> <span class="o">=</span> <span class="n">to_param_id</span><span class="p">(</span><span class="s1">'sp/mslp/skt/2t/10u/10v/2d/z/lsm/sst/ci/sd/</span><span class="se">\</span> -<span class="s1"> stl1/stl2/stl3/stl4/swvl1/swvl2/swvl3/swvl4'</span><span class="p">,</span> - <span class="n">table128</span><span class="p">)</span> + <span class="c1"># @WRF</span> + <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span> + <span class="c1">#</span> + <span class="c1"># UNDER CONSTRUCTION !!!</span> + <span class="c1">#</span> + <span class="c1">#if c.wrf:</span> + <span class="c1"># table128 = init128(_config.PATH_GRIBTABLE)</span> + <span class="c1"># wrfpars = to_param_id('sp/mslp/skt/2t/10u/10v/2d/z/lsm/sst/ci/sd/\</span> + <span class="c1"># stl1/stl2/stl3/stl4/swvl1/swvl2/swvl3/swvl4',</span> + <span class="c1"># table128)</span> <span class="c1"># these numbers are indices for the temporary files "fort.xx"</span> <span class="c1"># which are used to seperate the grib fields to,</span> @@ -1719,7 +1734,7 @@ <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">fdict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> <span class="n">fortfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="s1">'fort.'</span> <span class="o">+</span> <span class="n">k</span><span class="p">)</span> <span class="n">silent_remove</span><span class="p">(</span><span class="n">fortfile</span><span class="p">)</span> - <span class="n">fdict</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fortfile</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span> + <span class="n">fdict</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fortfile</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> <span class="c1">#============================================================================================</span> <span class="c1"># create correct timestamp from the three time informations</span> <span class="n">cdate</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">'date'</span><span class="p">))</span> @@ -1746,11 +1761,16 @@ <span class="k">if</span> <span class="n">timestamp</span> <span class="o"><</span> <span class="n">start_time</span> <span class="ow">or</span> <span class="n">timestamp</span> <span class="o">></span> <span class="n">end_time</span><span class="p">:</span> <span class="k">continue</span> - <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">:</span> - <span class="k">if</span> <span class="s1">'olddate'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="nb">locals</span><span class="p">()</span> <span class="ow">or</span> <span class="n">cdate</span> <span class="o">!=</span> <span class="n">olddate</span><span class="p">:</span> - <span class="n">fwrf</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">outputdir</span><span class="p">,</span> - <span class="s1">'WRF'</span> <span class="o">+</span> <span class="n">cdate</span> <span class="o">+</span> <span class="s1">'.'</span> <span class="o">+</span> <span class="n">ctime</span> <span class="o">+</span> <span class="s1">'.000.grb2'</span><span class="p">),</span> <span class="s1">'w'</span><span class="p">)</span> - <span class="n">olddate</span> <span class="o">=</span> <span class="n">cdate</span><span class="p">[:]</span> + <span class="c1"># @WRF</span> + <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span> + <span class="c1">#</span> + <span class="c1"># UNDER CONSTRUCTION !!!</span> + <span class="c1">#</span> + <span class="c1">#if c.wrf:</span> + <span class="c1"># if 'olddate' not in locals() or cdate != olddate:</span> + <span class="c1"># fwrf = open(os.path.join(c.outputdir,</span> + <span class="c1"># 'WRF' + cdate + '.' + ctime + '.000.grb2'), 'wb')</span> + <span class="c1"># olddate = cdate[:]</span> <span class="c1">#============================================================================================</span> <span class="c1"># savedfields remembers which fields were already used.</span> <span class="n">savedfields</span> <span class="o">=</span> <span class="p">[]</span> @@ -1788,11 +1808,16 @@ <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">'paramId'</span><span class="p">,</span> <span class="mi">201031</span><span class="p">)</span> <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">'22'</span><span class="p">])</span> <span class="n">scwc</span> <span class="o">=</span> <span class="kc">None</span> - <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span> <span class="ow">and</span> <span class="n">paramId</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">129</span><span class="p">,</span> <span class="mi">138</span><span class="p">,</span> <span class="mi">155</span><span class="p">]</span> <span class="ow">and</span> \ - <span class="n">levtype</span> <span class="o">==</span> <span class="s1">'hybrid'</span><span class="p">:</span> <span class="c1"># Z, VO, D</span> - <span class="c1"># do not do anything right now</span> - <span class="c1"># these are specific parameter for WRF</span> - <span class="k">pass</span> + <span class="c1"># @WRF</span> + <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span> + <span class="c1">#</span> + <span class="c1"># UNDER CONSTRUCTION !!!</span> + <span class="c1">#</span> + <span class="c1">#elif c.wrf and paramId in [129, 138, 155] and \</span> + <span class="c1"># levtype == 'hybrid': # Z, VO, D</span> + <span class="c1"># # do not do anything right now</span> + <span class="c1"># # these are specific parameter for WRF</span> + <span class="c1"># pass</span> <span class="k">else</span><span class="p">:</span> <span class="k">if</span> <span class="n">paramId</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">savedfields</span><span class="p">:</span> <span class="c1"># SD/MSL/TCC/10U/10V/2T/2D/Z/LSM/SDOR/CVL/CVH/SR</span> @@ -1801,18 +1826,22 @@ <span class="n">savedfields</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">paramId</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> <span class="nb">print</span><span class="p">(</span><span class="s1">'duplicate '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">paramId</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' not written'</span><span class="p">)</span> - - <span class="k">try</span><span class="p">:</span> - <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">:</span> - <span class="c1"># model layer</span> - <span class="k">if</span> <span class="n">levtype</span> <span class="o">==</span> <span class="s1">'hybrid'</span> <span class="ow">and</span> \ - <span class="n">paramId</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">129</span><span class="p">,</span> <span class="mi">130</span><span class="p">,</span> <span class="mi">131</span><span class="p">,</span> <span class="mi">132</span><span class="p">,</span> <span class="mi">133</span><span class="p">,</span> <span class="mi">138</span><span class="p">,</span> <span class="mi">155</span><span class="p">]:</span> - <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fwrf</span><span class="p">)</span> - <span class="c1"># sfc layer</span> - <span class="k">elif</span> <span class="n">paramId</span> <span class="ow">in</span> <span class="n">wrfpars</span><span class="p">:</span> - <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fwrf</span><span class="p">)</span> - <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> - <span class="k">pass</span> + <span class="c1"># @WRF</span> + <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span> + <span class="c1">#</span> + <span class="c1"># UNDER CONSTRUCTION !!!</span> + <span class="c1">#</span> + <span class="c1">#try:</span> + <span class="c1"># if c.wrf:</span> + <span class="c1"># # model layer</span> + <span class="c1"># if levtype == 'hybrid' and \</span> + <span class="c1"># paramId in [129, 130, 131, 132, 133, 138, 155]:</span> + <span class="c1"># codes_write(gid, fwrf)</span> + <span class="c1"># # sfc layer</span> + <span class="c1"># elif paramId in wrfpars:</span> + <span class="c1"># codes_write(gid, fwrf)</span> + <span class="c1">#except AttributeError:</span> + <span class="c1"># pass</span> <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span> <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_new_from_index</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span> @@ -1882,8 +1911,14 @@ <span class="n">shutil</span><span class="o">.</span><span class="n">copyfileobj</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="s1">'fort.25'</span><span class="p">),</span> <span class="s1">'rb'</span><span class="p">),</span> <span class="n">fout</span><span class="p">)</span> <span class="c1"># ============================================================================================</span> - <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">:</span> - <span class="n">fwrf</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> + + <span class="c1"># @WRF</span> + <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span> + <span class="c1">#</span> + <span class="c1"># UNDER CONSTRUCTION !!!</span> + <span class="c1">#</span> + <span class="c1">#if c.wrf:</span> + <span class="c1"># fwrf.close()</span> <span class="n">codes_index_release</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span> @@ -1917,6 +1952,7 @@ <span class="c1"># get a list of all prepared output files with control forecast (CF)</span> <span class="n">CF_filelist</span> <span class="o">=</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.N000'</span><span class="p">)</span> + <span class="n">CF_filelist</span><span class="o">.</span><span class="n">files</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">CF_filelist</span><span class="o">.</span><span class="n">files</span><span class="p">)</span> <span class="k">for</span> <span class="n">cffile</span> <span class="ow">in</span> <span class="n">CF_filelist</span><span class="o">.</span><span class="n">files</span><span class="p">:</span> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">cffile</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> @@ -1930,7 +1966,6 @@ <span class="n">filename</span> <span class="o">=</span> <span class="n">cffile</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'N000'</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">maxnum</span> <span class="o">+</span> <span class="mi">1</span><span class="p">):</span> - <span class="c1"># read an ensemble member</span> <span class="n">g</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span> <span class="o">+</span> <span class="s1">'N</span><span class="si">{:0>3}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="p">),</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="c1"># create file for newly calculated ensemble member</span> diff --git a/Documentation/html/_modules/GribUtil.html b/Documentation/html/_modules/GribUtil.html index 1f88578..a798b8d 100644 --- a/Documentation/html/_modules/GribUtil.html +++ b/Documentation/html/_modules/GribUtil.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for GribUtil</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Anne Fouilloux (University of Oslo)</span> @@ -174,31 +174,15 @@ <span class="c1"># - changed some naming</span> <span class="c1">#</span> <span class="c1"># @License:</span> -<span class="c1"># (C) Copyright 2014-2018.</span> +<span class="c1"># (C) Copyright 2014-2019.</span> +<span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> -<span class="c1"># This software is licensed under the terms of the Apache Licence Version 2.0</span> -<span class="c1"># which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span> -<span class="c1">#</span> -<span class="c1"># @Class Description:</span> -<span class="c1"># The GRIB API provides all necessary tools to work directly with the</span> -<span class="c1"># grib files. Nevertheless, the GRIB API tools are very basic and are in</span> -<span class="c1"># direct connection with the grib files. This class provides some higher</span> -<span class="c1"># functions which apply a set of GRIB API tools together in the respective</span> -<span class="c1"># context. So, the class initially contains a list of grib files (their</span> -<span class="c1"># names) and the using program then applies the methods directly on the</span> -<span class="c1"># class objects without having to think about how the actual GRIB API</span> -<span class="c1"># tools have to be arranged.</span> -<span class="c1">#</span> -<span class="c1"># @Class Content:</span> -<span class="c1"># - __init__</span> -<span class="c1"># - get_keys</span> -<span class="c1"># - set_keys</span> -<span class="c1"># - copy_dummy_msg</span> -<span class="c1"># - index</span> -<span class="c1">#</span> -<span class="c1"># @Class Attributes:</span> -<span class="c1"># - filenames</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> <span class="c1">#</span> +<span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> +<span class="c1"># International License. To view a copy of this license, visit</span> +<span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> +<span class="c1"># Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># ------------------------------------------------------------------------------</span> @@ -214,6 +198,15 @@ <div class="viewcode-block" id="GribUtil"><a class="viewcode-back" href="../Documentation/Api/api_python.html#GribUtil.GribUtil">[docs]</a><span class="k">class</span> <span class="nc">GribUtil</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> <span class="sd">'''</span> <span class="sd"> Class for GRIB utilities (new methods) based on GRIB API</span> + +<span class="sd"> The GRIB API provides all necessary tools to work directly with the</span> +<span class="sd"> grib files. Nevertheless, the GRIB API tools are very basic and are in</span> +<span class="sd"> direct connection with the grib files. This class provides some higher</span> +<span class="sd"> functions which apply a set of GRIB API tools together in the respective</span> +<span class="sd"> context. So, the class initially contains a list of grib files (their</span> +<span class="sd"> names) and the using program then applies the methods directly on the</span> +<span class="sd"> class objects without having to think about how the actual GRIB API</span> +<span class="sd"> tools have to be arranged.</span> <span class="sd"> '''</span> <span class="c1"># --------------------------------------------------------------------------</span> <span class="c1"># CLASS FUNCTIONS</span> @@ -259,15 +252,11 @@ <span class="kn">from</span> <span class="nn">eccodes</span> <span class="k">import</span> <span class="p">(</span><span class="n">codes_new_from_file</span><span class="p">,</span> <span class="n">codes_is_defined</span><span class="p">,</span> <span class="n">codes_get</span><span class="p">,</span> <span class="n">codes_release</span><span class="p">)</span> - <span class="n">fileid</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> - <span class="n">return_list</span> <span class="o">=</span> <span class="p">[]</span> - <span class="k">while</span> <span class="mi">1</span><span class="p">:</span> - <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_new_from_file</span><span class="p">(</span><span class="n">fileid</span><span class="p">)</span> + <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fileid</span><span class="p">:</span> - <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> - <span class="k">break</span> + <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_new_from_file</span><span class="p">(</span><span class="n">fileid</span><span class="p">)</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">wherekeynames</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">wherekeyvalues</span><span class="p">):</span> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Number of key values and key names must be </span><span class="se">\</span> @@ -291,13 +280,11 @@ <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span> - <span class="n">fileid</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> - <span class="k">return</span> <span class="n">return_list</span></div> <div class="viewcode-block" id="GribUtil.set_keys"><a class="viewcode-back" href="../Documentation/Api/api_python.html#GribUtil.GribUtil.set_keys">[docs]</a> <span class="k">def</span> <span class="nf">set_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">fromfile</span><span class="p">,</span> <span class="n">keynames</span><span class="p">,</span> <span class="n">keyvalues</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[],</span> - <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[],</span> <span class="n">strict</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'w'</span><span class="p">):</span> + <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[],</span> <span class="n">strict</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'wb'</span><span class="p">):</span> <span class="sd">'''Opens the file to read the grib messages and then write</span> <span class="sd"> the selected messages (with wherekeys) to a new output file.</span> <span class="sd"> Also, the keyvalues of the passed list of keynames are set.</span> @@ -329,7 +316,7 @@ <span class="sd"> meeting the where statement (True). Default is False.</span> <span class="sd"> filemode : :obj:`string`, optional</span> -<span class="sd"> Sets the mode for the output file. Default is "w".</span> +<span class="sd"> Sets the mode for the output file. Default is "wb".</span> <span class="sd"> Return</span> <span class="sd"> ------</span> @@ -343,14 +330,10 @@ <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Give a value for each keyname!"</span><span class="p">)</span> <span class="n">fout</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">filemode</span><span class="p">)</span> - <span class="n">fin</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fromfile</span><span class="p">)</span> - <span class="k">while</span> <span class="mi">1</span><span class="p">:</span> + <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">fromfile</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span> <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">fin</span><span class="p">)</span> - <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> - <span class="k">break</span> - <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="k">for</span> <span class="n">wherekey</span> <span class="ow">in</span> <span class="n">wherekeynames</span><span class="p">:</span> @@ -374,13 +357,12 @@ <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span> - <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> <span class="k">return</span></div> <div class="viewcode-block" id="GribUtil.copy_dummy_msg"><a class="viewcode-back" href="../Documentation/Api/api_python.html#GribUtil.GribUtil.copy_dummy_msg">[docs]</a> <span class="k">def</span> <span class="nf">copy_dummy_msg</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filename_in</span><span class="p">,</span> <span class="n">selectWhere</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> - <span class="n">keynames</span><span class="o">=</span><span class="p">[],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'w'</span><span class="p">):</span> + <span class="n">keynames</span><span class="o">=</span><span class="p">[],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'wb'</span><span class="p">):</span> <span class="sd">'''Add the content of another input grib file to the objects file but</span> <span class="sd"> only messages corresponding to keys/values passed to the function.</span> <span class="sd"> The selectWhere switch decides if to copy the keys equal to (True) or</span> @@ -403,7 +385,7 @@ <span class="sd"> List of keyvalues. Default is an empty list.</span> <span class="sd"> filemode : :obj:`string`, optional</span> -<span class="sd"> Sets the mode for the output file. Default is "w".</span> +<span class="sd"> Sets the mode for the output file. Default is "wb".</span> <span class="sd"> Return</span> <span class="sd"> ------</span> @@ -415,16 +397,17 @@ <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">keynames</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">keyvalues</span><span class="p">):</span> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Give a value for each keyname!"</span><span class="p">)</span> - <span class="n">fin</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename_in</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> + <span class="n">fout</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">filemode</span><span class="p">)</span> <span class="n">fields</span> <span class="o">=</span> <span class="mi">0</span> - <span class="k">while</span> <span class="n">fields</span> <span class="o"><</span> <span class="mi">1</span><span class="p">:</span> - <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">fin</span><span class="p">)</span> + <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename_in</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span> + <span class="k">if</span> <span class="n">fields</span> <span class="o">>=</span> <span class="mi">1</span><span class="p">:</span> + <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> + <span class="k">return</span> - <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> - <span class="k">break</span> + <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">fin</span><span class="p">)</span> <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span> @@ -446,7 +429,6 @@ <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span> - <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> <span class="k">return</span></div> diff --git a/Documentation/html/_modules/MarsRetrieval.html b/Documentation/html/_modules/MarsRetrieval.html index e809a77..c7f3fe9 100644 --- a/Documentation/html/_modules/MarsRetrieval.html +++ b/Documentation/html/_modules/MarsRetrieval.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for MarsRetrieval</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Anne Fouilloux (University of Oslo)</span> @@ -184,6 +184,8 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> @@ -647,7 +649,7 @@ <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">empty_keys</span><span class="p">:</span> <span class="k">del</span> <span class="n">attrs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> - <span class="n">attrs</span><span class="p">[</span><span class="s1">'ppengine'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'emos'</span> +<span class="c1"># attrs['ppengine'] = 'emos'</span> <span class="c1"># MARS request via Python script</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">server</span><span class="p">:</span> @@ -679,7 +681,7 @@ <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">attrs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> <span class="n">request_str</span> <span class="o">=</span> <span class="n">request_str</span> <span class="o">+</span> <span class="s1">','</span> <span class="o">+</span> <span class="n">key</span> <span class="o">+</span> <span class="s1">'='</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <span class="n">request_str</span> <span class="o">+=</span> <span class="s1">',target="'</span> <span class="o">+</span> <span class="n">target</span> <span class="o">+</span> <span class="s1">'"'</span> - <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">([</span><span class="s1">'mars'</span><span class="p">,</span> <span class="s1">'-e'</span><span class="p">],</span> + <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">([</span><span class="s1">'mars'</span><span class="p">],</span> <span class="c1">#'-e'],</span> <span class="n">stdin</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span> <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span> <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span> diff --git a/Documentation/html/_modules/UioFiles.html b/Documentation/html/_modules/UioFiles.html index 6a16c90..89797a2 100644 --- a/Documentation/html/_modules/UioFiles.html +++ b/Documentation/html/_modules/UioFiles.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for UioFiles</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Anne Fouilloux (University of Oslo)</span> @@ -187,6 +187,8 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> diff --git a/Documentation/html/_modules/checks.html b/Documentation/html/_modules/checks.html index 1385685..1b6eb59 100644 --- a/Documentation/html/_modules/checks.html +++ b/Documentation/html/_modules/checks.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for checks</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Anne Philipp (University of Vienna)</span> @@ -173,6 +173,8 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> diff --git a/Documentation/html/_modules/disaggregation.html b/Documentation/html/_modules/disaggregation.html index ac3fbbf..f287c99 100644 --- a/Documentation/html/_modules/disaggregation.html +++ b/Documentation/html/_modules/disaggregation.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for disaggregation</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Anne Philipp (University of Vienna)</span> @@ -184,6 +184,8 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> diff --git a/Documentation/html/_modules/get_mars_data.html b/Documentation/html/_modules/get_mars_data.html index d746890..84f64b3 100644 --- a/Documentation/html/_modules/get_mars_data.html +++ b/Documentation/html/_modules/get_mars_data.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for get_mars_data</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Anne Fouilloux (University of Oslo)</span> @@ -190,6 +190,8 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> diff --git a/Documentation/html/_modules/install.html b/Documentation/html/_modules/install.html index 09e2863..01c07e2 100644 --- a/Documentation/html/_modules/install.html +++ b/Documentation/html/_modules/install.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for install</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Leopold Haimberger (University of Vienna)</span> @@ -183,6 +183,8 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> diff --git a/Documentation/html/_modules/prepare_flexpart.html b/Documentation/html/_modules/prepare_flexpart.html index fe19a37..b568811 100644 --- a/Documentation/html/_modules/prepare_flexpart.html +++ b/Documentation/html/_modules/prepare_flexpart.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for prepare_flexpart</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Anne Fouilloux (University of Oslo)</span> @@ -193,6 +193,8 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> diff --git a/Documentation/html/_modules/submit.html b/Documentation/html/_modules/submit.html index 3a078cb..2c7d084 100644 --- a/Documentation/html/_modules/submit.html +++ b/Documentation/html/_modules/submit.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for submit</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Anne Fouilloux (University of Oslo)</span> @@ -187,6 +187,8 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> diff --git a/Documentation/html/_modules/tools.html b/Documentation/html/_modules/tools.html index fdf4513..bae6076 100644 --- a/Documentation/html/_modules/tools.html +++ b/Documentation/html/_modules/tools.html @@ -160,7 +160,7 @@ <div itemprop="articleBody"> <h1>Source code for tools</h1><div class="highlight"><pre> -<span></span><span class="ch">#!/usr/bin/env python</span> +<span></span><span class="ch">#!/usr/bin/env python3</span> <span class="c1"># -*- coding: utf-8 -*-</span> <span class="c1">#*******************************************************************************</span> <span class="c1"># @Author: Anne Philipp (University of Vienna)</span> @@ -188,6 +188,8 @@ <span class="c1"># (C) Copyright 2014-2019.</span> <span class="c1"># Anne Philipp, Leopold Haimberger</span> <span class="c1">#</span> +<span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> +<span class="c1">#</span> <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> <span class="c1"># International License. To view a copy of this license, visit</span> <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> @@ -922,7 +924,7 @@ <span class="c1"># --- open file ---</span> <span class="nb">print</span><span class="p">(</span><span class="s2">"Opening file for getting information data --- </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="n">filename</span><span class="p">)</span> - <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> + <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> <span class="c1"># load first message from file</span> <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">f</span><span class="p">)</span> diff --git a/Documentation/html/_sources/Documentation/Input/ecmwf_env.rst.txt b/Documentation/html/_sources/Documentation/Input/ecmwf_env.rst.txt index 76acff7..a3232e2 100644 --- a/Documentation/html/_sources/Documentation/Input/ecmwf_env.rst.txt +++ b/Documentation/html/_sources/Documentation/Input/ecmwf_env.rst.txt @@ -2,7 +2,7 @@ ECMWF User Credential file ``ECMWF_ENV`` **************************************** -This file contains the user credentials for working on ECMWF servers and transfering files between the ECMWF servers and the local gateway server. It is located in the ``flex_extract_vX.X/run`` directory and will be created in the installation process for the application modes **remote** and **gateway**. +This file contains the user credentials for working on ECMWF servers and transferring files between the ECMWF servers and the local gateway server. It is located in the ``flex_extract_vX.X/run`` directory and will be created in the installation process for the application modes **remote** and **gateway**. This file is based on the template ``ECMWF_ENV.template`` which is located in the ``templates`` directory. diff --git a/Documentation/html/_sources/Installation/gateway.rst.txt b/Documentation/html/_sources/Installation/gateway.rst.txt new file mode 100644 index 0000000..447685d --- /dev/null +++ b/Documentation/html/_sources/Installation/gateway.rst.txt @@ -0,0 +1,172 @@ +************************* +Gateway mode installation +************************* + +.. role:: underline + :class: underline + +.. toctree:: + :hidden: + :maxdepth: 3 + +.. _Python 3: https://docs.python.org/3/ +.. _Python3: https://www.python.org/downloads/ +.. _Anaconda Python3: https://www.anaconda.com/distribution/#download-section + +.. _numpy: http://www.numpy.org/ +.. _ecmwf-api-client: https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home +.. _cdsapi: https://cds.climate.copernicus.eu/api-how-to +.. _genshi: https://genshi.edgewall.org/ +.. _eccodes for python: https://packages.debian.org/sid/python3-eccodes +.. _eccodes for conda: https://anaconda.org/conda-forge/eccodes +.. _gfortran: https://gcc.gnu.org/wiki/GFortran +.. _fftw3: http://www.fftw.org +.. _eccodes: https://software.ecmwf.int/wiki/display/ECC +.. _emoslib: https://software.ecmwf.int/wiki/display/EMOS/Emoslib +.. _member state: https://www.ecmwf.int/en/about/who-we-are/member-states +.. _registration form: https://apps.ecmwf.int/registration/ +.. _CDS API registration: https://cds.climate.copernicus.eu/user/register +.. _ECMWF ectrans site: https://confluence.ecmwf.int/display/ECAC/Unattended+file+transfer+-+ectrans +.. _ECaccess Presentation: https://confluence.ecmwf.int/download/attachments/45759146/ECaccess.pdf +.. _ECMWF's instructions on gateway server: https://confluence.ecmwf.int/display/ECAC/ECaccess+Home +.. _Computing Representative: https://www.ecmwf.int/en/about/contact-us/computing-representatives +.. _MARS access: https://confluence.ecmwf.int//display/WEBAPI/Access+MARS + +.. _download section: https://www.flexpart.eu/downloads + + + +.. _ref-gateway-mode: + + + +.. _ref-req-gateway: + +Gateway environment requirements +================================ + +The environment on your local system has to provide these software packages +and libraries, since ``flex_extract`` does only prepare the job script and send +it to the ECMWF servers: + +* `Python3`_ or `Anaconda Python3`_ +* `numpy`_ +* `genshi`_ + + +.. _ref-prep-gateway: + +Prepare gateway environment +=========================== + +The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights. +The installation was tested on a *GNU/Linux Debian buster* and an *Ubuntu 18.04 Bionic Beaver* system. + +.. code-block:: sh + + # On a Linux Debian or Ubuntu system do + # (if not already available): + apt-get install python3 + apt-get install pip + apt-get install genshi + apt-get install numpy + + +.. _ref-test-gateway: + +Test gateway environment +======================== + +Check the availability of the python packages by typing ``python3`` in +a terminal window and run the ``import`` commands in the python shell. +If there are no error messages, you succeeded in setting up the environment. + +.. code-block:: python + + # check in python3 console + import genshi + import numpy + + + +.. _ref-install-gateway: + +Gateway installation +==================== + +In this mode, access to the ECMWF computing and archiving facilities is enabled through an ECaccess gateway server on a local member state server. The ECaccess framework is necessary to interactively submit jobs to the ECMWF batch system and to transfer files between ECMWF and local gateway server. + +Please see `ECMWF's instructions on gateway server`_ to establish the gateway server if not already in place. +Additionally, to be able to use the Ecaccess file transfer service **ectrans** please also create an association. +The easiest way is to visit the ECaccess Member State Gateway website (e.g. msgatway.ecmwf.int) and follow the instructions in the short `ECaccess Presentation`_ (page 17 ff.). Additional documentation can be found on the `ECMWF ectrans site`_. + +After everything is set up you have to create an *ecaccess certificate* to be able to send and receive files from and to the ECMWF server. You can do this by using the ``ecaccess-certificate-create`` command on the gateway server. You will be prompted for your ECMWF member state user name and a password (which will be usually generated by a Token). This certificate has to be re-newed periodically (every 7 days). + +.. code-block:: bash + + $ ecaccess-certificate-create + Please enter your user-id: example_username + Your passcode: *** + +``Flex_extract`` will be run on an ECMWF server which makes the setup the same as for the **remote mode**. In the ``setup.sh`` script `[ref] <Documentation/Input/setup.html>`_, select the ``Makefile.gfortran`` for the ``CONVERT2`` Fortran program and the ECMWF server (*target*) you would like to use. +The job script, send to the job queue via the ECaccess software, selects again automatically the correct libraries from the module system. For enableing the file transfer you have to set the *ECUID*, *ECGID*, *GATEWAY* and *DESTINATION* parameter values. + + +.. code-block:: bash + :caption: 'Example settings for a gateway installation.' + :name: setup.sh + + # ----------------------------------------------------------------- + # AVAILABLE COMMANDLINE ARGUMENTS TO SET + # + # THE USER HAS TO SPECIFY THESE PARAMETER + # + TARGET='ecgate' + MAKEFILE='Makefile.gfortran' + ECUID='uid' + ECGID='gid' + GATEWAY='server.example.edu' + DESTINATION='example@genericSftp' + INSTALLDIR=None + JOB_TEMPLATE='job.template' + CONTROLFILE='CONTROL_EA5' + + +Afterwards, type: + +.. code-block:: bash + + $ ./setup.sh + +to start the installation. You should see the following output at the command line. + + +.. code-block:: bash + + # Output of setup.sh + Create tarball ... + Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X + You should get an email with subject "flexcompile" within the next few minutes! + + +The email content should look like this with a "SUCCESS" statement in the last line: + +.. code-block:: bash + + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 + -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2 + SUCCESS! + + + + + + + + diff --git a/Documentation/html/_sources/Installation/local.rst.txt b/Documentation/html/_sources/Installation/local.rst.txt new file mode 100644 index 0000000..ca96225 --- /dev/null +++ b/Documentation/html/_sources/Installation/local.rst.txt @@ -0,0 +1,391 @@ +*********************** +Local mode installation +*********************** + +.. role:: underline + :class: underline + +.. toctree:: + :hidden: + :maxdepth: 2 + + +.. _Python 3: https://docs.python.org/3/ +.. _Python3: https://www.python.org/downloads/ +.. _Anaconda Python3: https://www.anaconda.com/distribution/#download-section + +.. _numpy: http://www.numpy.org/ +.. _ecmwf-api-client: https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home +.. _cdsapi: https://cds.climate.copernicus.eu/api-how-to +.. _genshi: https://genshi.edgewall.org/ +.. _eccodes for python: https://packages.debian.org/sid/python3-eccodes +.. _eccodes for conda: https://anaconda.org/conda-forge/eccodes +.. _gfortran: https://gcc.gnu.org/wiki/GFortran +.. _fftw3: http://www.fftw.org +.. _eccodes: https://software.ecmwf.int/wiki/display/ECC +.. _emoslib: https://software.ecmwf.int/wiki/display/EMOS/Emoslib +.. _member state: https://www.ecmwf.int/en/about/who-we-are/member-states +.. _registration form: https://apps.ecmwf.int/registration/ +.. _CDS API registration: https://cds.climate.copernicus.eu/user/register +.. _ECMWF ectrans site: https://confluence.ecmwf.int/display/ECAC/Unattended+file+transfer+-+ectrans +.. _ECaccess Presentation: https://confluence.ecmwf.int/download/attachments/45759146/ECaccess.pdf +.. _ECMWF's instructions on gateway server: https://confluence.ecmwf.int/display/ECAC/ECaccess+Home +.. _Computing Representative: https://www.ecmwf.int/en/about/contact-us/computing-representatives +.. _MARS access: https://confluence.ecmwf.int//display/WEBAPI/Access+MARS + +.. _download section: https://www.flexpart.eu/downloads + + + + + +.. _ref-local-mode: + + + +.. _ref-req-local: + +Local environment requirements +============================== + +For the local access modes **member** and **public** there is no difference in +the installation process. + +The environment on your local system has to provide these software packages +and libraries, since all extraction and preparation is done at the local system: + ++------------------------------------------------+-----------------+ +| Python part | Fortran part | ++------------------------------------------------+-----------------+ +| * `Python3`_ | * `gfortran`_ | +| * `numpy`_ | * `fftw3`_ | +| * `genshi`_ | * `eccodes`_ | +| * `eccodes for python`_ | * `emoslib`_ | +| * `ecmwf-api-client`_ (everything except ERA5) | | +| * `cdsapi`_ (just for ERA5) | | ++------------------------------------------------+-----------------+ + + +.. _ref-prep-local: + +Prepare local environment +========================= + +The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights. +The installation was tested on a *Debian GNU/Linux buster/sid* and an *Ubuntu 18.04 Bionic Beaver* system. + +.. code-block:: sh + + # On a Linux Debian or Ubuntu system do + # (if not already available): + apt-get install python3 (usually available on normal Linux systems) + apt-get install pip + apt-get install gfortran + apt-get install fftw3-dev + apt-get install libeccodes-dev + apt-get install libemos-dev + apt-get install python3-eccodes + apt-get install genshi + apt-get install numpy + pip install cdsapi + pip install ecmwf-api-client + +.. note:: + + In case you would like to use Anaconda Python we recommend you follow the installation instructions of + `Anaconda Python Installation for Linux <https://docs.anaconda.com/anaconda/install/linux/>`_ and then install the + ``eccodes`` package from ``conda`` with: + + .. code-block:: bash + + conda install conda-forge::python-eccodes + + +The CDS API (cdsapi) and the ECMWF Web API (ecmwf-api-client) have both to be installed since ERA5 can only be retrieved with the ``CDS API`` and all other datasets with the ``ECMWF Web API``. + +.. note:: + + Since **public users** currently don't have access to the full *ERA5* dataset they can skip the installation of the ``CDS API``. + +Both user groups have to provide key's with their credentials for the Web API's in their home directory. Therefore, follow these instructions: + +ECMWF Web API: + Go to `MARS access`_ website and log in with your credentials. Afterwards, on this site in section "Install ECMWF KEY" the key for the ECMWF Web API should be listed. Please follow the instructions in this section under point 1 (save the key in a file `.ecmwfapirc` in your home directory). + +CDS API: + Go to 'CDS API registration'_ and register there too. Log in at the `cdsapi`_ website and follow the instructions at section "Install the CDS API key" to save your credentials in a `.cdsapirc` file. + + +.. _ref-test-local: + +Test local environment +====================== + +Check the availability of the system packages with ``dpkg -s <package-name> | grep Status`` or ``rpm -q <package_name>``, depending on your system. For example: + +.. code-block:: sh + + $ dpkg -s libeccodes-dev | grep Status + # or + $ rpm -q libeccodes-dev + +Afterwards, check the availability of the python packages by typing ``python3`` in +a terminal window and run the ``import`` commands in the python shell. If there are no error messages, you succeeded in setting up the environment. + +.. code-block:: python + + # check in python3 console + import eccodes + import genshi + import numpy + import cdsapi + import ecmwfapi + + + +Test the Web API's +------------------ + +You can start very simple test retrievals for both Web API's to be sure that everything works. This is recommended to minimize the range of possible errors using ``flex_extract`` later on. + +ECMWF Web API +^^^^^^^^^^^^^ + + ++----------------------------------------------------------+----------------------------------------------------------+ +|Please use this piece of python code for **Member user**: |Please use this piece of python code for **Public user**: | ++----------------------------------------------------------+----------------------------------------------------------+ +|.. code-block:: python |.. code-block:: python | +| | | +| from ecmwfapi import ECMWFService | from ecmwfapi import ECMWFDataServer | +| | | +| server = ECMWFService('mars') | server = ECMWFDataServer() | +| | | +| server.retrieve({ | server.retrieve({ | +| 'stream' : "oper", | 'stream' : "enda", | +| 'levtype' : "sfc", | 'levtype' : "sfc", | +| 'param' : "165.128/166.128/167.128", | 'param' : "165.128/166.128/167.128", | +| 'dataset' : "interim", | 'dataset' : "cera20c", | +| 'step' : "0", | 'step' : "0", | +| 'grid' : "0.75/0.75", | 'grid' : "1./1.", | +| 'time' : "00/06/12/18", | 'time' : "00/06/12/18", | +| 'date' : "2014-07-01/to/2014-07-31", | 'date' : "2000-07-01/to/2000-07-31", | +| 'type' : "an", | 'type' : "an", | +| 'class' : "ei", | 'class' : "ep", | +| 'target' : "download_erainterim_ecmwfapi.grib" | 'target' : "download_cera20c_ecmwfapi.grib" | +| }) | }) | ++----------------------------------------------------------+----------------------------------------------------------+ + + + +CDS API +^^^^^^^ + +Since ERA5 extraction with CDS API might take some time due to the very high number of requests, you can start by retrieving some online stored pressure levels (not from MARS). This is usually much faster and gives a quick result to find out if the web API works: + +Please use this piece of python code to retrieve a small sample of *ERA5* pressure levels: + +.. code-block:: python + + import cdsapi + + c = cdsapi.Client() + + c.retrieve("reanalysis-era5-pressure-levels", + { + "variable": "temperature", + "pressure_level": "1000", + "product_type": "reanalysis", + "year": "2008", + "month": "01", + "day": "01", + "time": "12:00", + "format": "grib" + }, + "download_cdsapi.grib") + + +Afterwards, when you know that the CDS API generally works, you can try to extract some +data from the MARS archive. From the latest experience we know that this can take a while. + +.. **Member user** + +Please use this piece of python code to retrieve a small *ERA5* data sample as a **member user**! The **public user** doesn't have access to the full *ERA5* dataset! + +.. code-block:: python + + import cdsapi + + c = cdsapi.Client() + + c.retrieve('reanalysis-era5-complete', + { + 'class' : 'ea', + 'expver' : '1', + 'stream' : 'oper', + 'type' : 'fc', + 'step' : '3/to/12/by/3', + 'param' : '130.128', + 'levtype' : 'ml', + 'levelist': '135/to/137', + 'date' : '2013-01-01', + 'time' : '06/18', + 'area' : '50/-5/40/5', + 'grid' : '1.0/1.0', + 'format' : 'grib', + }, 'download_era5_cdsapi.grib') + + +.. ********************** COMMENTED OUT FOR FUTURE + ********************** PUBLIC RETRIEVAL IS CURRENTLY NOT ACCESSIBLE + + **Public user** + Please use this piece of python code: + + .. code-block:: python + + import cdsapi + + c = cdsapi.Client() + + c.retrieve('reanalysis-era5-complete', + { + 'class' : 'ea', + 'dataset' : 'era5', + 'expver' : '1', + 'stream' : 'oper', + 'type' : 'fc', + 'step' : '3/to/12/by/3', + 'param' : '130.128', + 'levtype' : 'ml', + 'levelist': '135/to/137', + 'date' : '2013-01-01', + 'time' : '06/18', + 'area' : '50/-5/40/5', + 'grid' : '1.0/1.0', + 'format' : 'grib', + }, 'download_era5_cdsapi.grib') + + + + + + +.. _ref-install-local: + +Local installation +================== + +First prepare the Fortran ``Makefile`` for your environment and set it +in the ``setup.sh`` script. (See section :ref:`ref-convert` for information on +the Fortran program.) +``flex_extract`` has already two ``Makefiles`` prepared for te ``gfortran`` and +the ``ifort`` compiler: + + * Makefile.local.gfortran + * Makefile.local.ifort + +They can be found in the path ``flex_extract_vX.X/source/fortran``, where +``vX.X`` should be substituted with the current version number. + +.. caution:: + It is necessary to adapt **ECCODES_INCLUDE_DIR** and **ECCODES_LIB** in these + ``Makefiles``. + + +So starting from the root directory of ``flex_extract``, +go to the ``Fortran`` source directory and open the ``Makefile`` of your +choice to modify with an editor of your choice. We use the ``nedit`` in this case. + +.. code-block:: bash + + cd flex_extract_vX.X/source/fortran + nedit Makefile.local.gfortran + +Edit the pathes to the ``eccodes`` library on your local machine. + +.. caution:: + This can vary from system to system. + It is suggested to use a command like + + .. code-block:: bash + + # for the ECCODES_INCLUDE_DIR path do: + $ dpkg -L libeccodes-dev | grep eccodes.mod + # for the ECCODES_LIB path do: + $ dpkg -L libeccodes-dev | grep libeccodes.so + + to find out the path to the ``eccodes`` library. + +Substitute these paths in the ``Makefile`` for parameters **ECCODES_INCLUDE_DIR** +and **ECCODES_LIB** and save it. + +.. code-block:: bash + + # these are the paths on a current Debian 10 Testing system (May 2019) + ECCODES_INCLUDE_DIR=/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15/ + ECCODES_LIB= -L/usr/lib -leccodes_f90 -leccodes -lm + + +The Fortran program called ``CONVERT2`` will be compiled during the +installation process to get an executable. Therefore the ``Makefile`` +has to be set in the ``setup.sh`` script. + +In the root directory of ``flex_extract``, open the ``setup.sh`` script +and adapt the installation parameters in the section labelled with +"AVAILABLE COMMANDLINE ARGUMENTS TO SET" like shown below. + + +.. code-block:: bash + :caption: 'Example settings for a local installation.' + :name: setup.sh + + ... + # ----------------------------------------------------------------- + # AVAILABLE COMMANDLINE ARGUMENTS TO SET + # + # THE USER HAS TO SPECIFY THESE PARAMETER + # + TARGET='local' + MAKEFILE='Makefile.local.gfortran' + ECUID=None + ECGID=None + GATEWAY=None + DESTINATION=None + INSTALLDIR=None + JOB_TEMPLATE='job.template' + CONTROLFILE='CONTROL_EA5' + ... + + +Afterwards, type: + +.. code-block:: bash + + $ ./setup.sh + +to start the installation. You should see the following output at the command line. + + +.. code-block:: bash + + # Output of setup.sh + WARNING: installdir has not been specified + flex_extract will be installed in here by compiling the Fortran source in /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/source/fortran + Install flex_extract_v7.1 software at local in directory /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1 + + Using makefile: Makefile.local.gfortran + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 rwGRIB2.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 posnam.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 preconvert.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -O3 -O3 -fopenmp -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/gcc-4.9.3/grib_api-1.14.3/lib -Bstatic -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper -lemosR64 + + -rwxrwxr-x. 1 philipa8 tmc 282992 May 23 22:27 ./CONVERT2 + + + + + diff --git a/Documentation/html/_sources/Installation/remote.rst.txt b/Documentation/html/_sources/Installation/remote.rst.txt new file mode 100644 index 0000000..8734e23 --- /dev/null +++ b/Documentation/html/_sources/Installation/remote.rst.txt @@ -0,0 +1,204 @@ +************************ +Remote mode installation +************************ + +.. role:: underline + :class: underline + +.. toctree:: + :hidden: + :maxdepth: 2 + + +.. _Python 3: https://docs.python.org/3/ +.. _Python3: https://www.python.org/downloads/ +.. _Anaconda Python3: https://www.anaconda.com/distribution/#download-section + +.. _numpy: http://www.numpy.org/ +.. _ecmwf-api-client: https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home +.. _cdsapi: https://cds.climate.copernicus.eu/api-how-to +.. _genshi: https://genshi.edgewall.org/ +.. _eccodes for python: https://packages.debian.org/sid/python3-eccodes +.. _eccodes for conda: https://anaconda.org/conda-forge/eccodes +.. _gfortran: https://gcc.gnu.org/wiki/GFortran +.. _fftw3: http://www.fftw.org +.. _eccodes: https://software.ecmwf.int/wiki/display/ECC +.. _emoslib: https://software.ecmwf.int/wiki/display/EMOS/Emoslib +.. _member state: https://www.ecmwf.int/en/about/who-we-are/member-states +.. _registration form: https://apps.ecmwf.int/registration/ +.. _CDS API registration: https://cds.climate.copernicus.eu/user/register +.. _ECMWF ectrans site: https://confluence.ecmwf.int/display/ECAC/Unattended+file+transfer+-+ectrans +.. _ECaccess Presentation: https://confluence.ecmwf.int/download/attachments/45759146/ECaccess.pdf +.. _ECMWF's instructions on gateway server: https://confluence.ecmwf.int/display/ECAC/ECaccess+Home +.. _Computing Representative: https://www.ecmwf.int/en/about/contact-us/computing-representatives +.. _MARS access: https://confluence.ecmwf.int//display/WEBAPI/Access+MARS + +.. _download section: https://www.flexpart.eu/downloads + + +.. _ref-remote-mode: + + +.. _ref-req-remote: + +Remote environment requirements +=============================== + +The environment for ``flex_extract`` on ECMWF servers has to provide these +software packages and libraries: + ++---------------------------+-----------------+ +| Python part | Fortran part | ++---------------------------+-----------------+ +| * `Python3`_ | * `gfortran`_ | +| * `numpy`_ | * `fftw3`_ | +| * `genshi`_ | * `eccodes`_ | +| * `eccodes for python`_ | * `emoslib`_ | ++---------------------------+-----------------+ + + +.. _ref-prep-remote: + +Prepare remote environment +========================== + +The environment on the ECMWF server (such as *ecgate* or *cca*) is already +prepared. ECMWF server provide all libraries via a module system which is +going to be selected by ``flex_extract`` automatically. + + +.. _ref-install-remote: + +Remote installation +=================== + +First, log in on one of the ECMWF Linux server, such as *ecgate* or *cca/ccb*. +Substitute *<ecuid>* with your ECMWF user name: + +.. code-block:: bash + + ssh -X <ecuid>@ecaccess.ecmwf.int + +This will lead to the following output on the command line, asking for your +password: + +.. code-block:: bash + + Authorized access only. + + *************************************************************** + For further information, read the ECaccess documentation at: + + https://software.ecmwf.int/wiki/display/ECAC/ECaccess+Home + + You can also use ECaccess to load & download files from your + EChome, ECscratch or ECfs directories using the ECaccess FTP + server: + + ftp://uid@ecaccess.ecmwf.int/ + + Please note you must use your UID and ActivID code to login! + *************************************************************** + + <ecuid>@131.130.157.5's password: *** + Select hostname (ecgate, cca, ccb) [ecgate]: ecgate + + [<ecuid>@ecgb11 ~]$ + + +Then, copy the ``flex_extract`` tar ball (from section :ref:`ref-download`) +to the ``$HOME`` directory of the ECMWF Linux server via ``scp``. +Substitute the *<localuser>* and *<server.edu>* placeholders with your credentials. +Untar the file and change into the ``flex_extract`` root directory. + +.. code-block:: bash + + scp <localuser>@<server.edu>:/path/to/tarfile/flex_extract_vX.X.tar.gz $HOME/ + cd $HOME + tar xvf flex_extract_vX.X.tar.gz + cd flex_extract_vX.X + + +On these ECMWF servers, it is not necessary to prepare the environment or the +``Makefile`` for the Fortran program (``CONVERT2``) as described above. +All third party libraries are available from a module system. The ``Makefile`` +is optimized for ECMWF servers and the compilation +script ``compilejob.ksh``, which will be submitted by ``flex_extract`` to the +batch job queue at ECMWF, does load all relevant modules from the ECMWF's module system. + +So there is just the need to execute the ``setup.sh`` script from the +``flex_extract`` root directory for installation. +Before executing it, it is necessary to adapt some parameters from ``setup.sh`` +described in :doc:`Documentation/Input/setup`. + +Open ``setup.sh`` with your editor and adapt the values: + ++----------------------------------------------+----------------------------------------------+ +| Take this for target = **ectrans** | Take this for target = **cca** | ++----------------------------------------------+----------------------------------------------+ +| .. code-block:: bash | .. code-block:: bash | +| | | +| ... | ... | +| # -----------------------------------------| # -----------------------------------------| +| # AVAILABLE COMMANDLINE ARGUMENTS TO SET | # AVAILABLE COMMANDLINE ARGUMENTS TO SET | +| # | # | +| # THE USER HAS TO SPECIFY THESE PARAMETER | # THE USER HAS TO SPECIFY THESE PARAMETER | +| # | # | +| TARGET='ecgate' | TARGET='cca' | +| MAKEFILE='Makefile.gfortran' | MAKEFILE='Makefile.CRAY' | +| ECUID='uid' | ECUID='uid' | +| ECGID='gid' | ECGID='gid' | +| GATEWAY=None | GATEWAY=None | +| DESTINATION=None | DESTINATION=None | +| INSTALLDIR=None | INSTALLDIR='' | +| JOB_TEMPLATE='job.template' | JOB_TEMPLATE='job.template' | +| CONTROLFILE='CONTROL_EA5' | CONTROLFILE='CONTROL_EA5' | +| ... | ... | ++----------------------------------------------+----------------------------------------------+ + +:underline:`Please substitute the values of ECUID and ECGID +with your own credentials and settings.` + +.. note:: + + If a local gateway server is available the transfer of files could be done + via the ``ECaccess`` commands. Therefore a valid *GATEWAY* and *DESTINATION* + have to be present and should be set in the ``setup.sh`` file. + + +Afterwards, type: + +.. code-block:: bash + + module load python3 + ./setup.sh + +to start the installation. You should see the following output at the command line. + + +.. code-block:: bash + + # Output of setup.sh + Create tarball ... + Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X + You should get an email with subject "flexcompile" within the next few minutes! + + +The email content should look like this with a "SUCCESS" statement in the last line: + +.. code-block:: bash + + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 + -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2 + SUCCESS! + + + + + diff --git a/Documentation/html/_sources/index.rst.txt b/Documentation/html/_sources/index.rst.txt index fcba97c..bea0b26 100644 --- a/Documentation/html/_sources/index.rst.txt +++ b/Documentation/html/_sources/index.rst.txt @@ -128,7 +128,7 @@ Welcome to ``flex_extract``'s user documentation! Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. .. toctree:: - :maxdepth: 3 + :maxdepth: 4 :caption: Table of Contents: installation diff --git a/Documentation/html/_sources/installation.rst.txt b/Documentation/html/_sources/installation.rst.txt index 839721d..e1f4f13 100644 --- a/Documentation/html/_sources/installation.rst.txt +++ b/Documentation/html/_sources/installation.rst.txt @@ -8,6 +8,7 @@ Installation .. toctree:: :hidden: :maxdepth: 2 + .. _Python 3: https://docs.python.org/3/ .. _Python3: https://www.python.org/downloads/ @@ -36,59 +37,68 @@ Installation -``flex_extract`` is a software package which contains a mix of Python and Shell scripts as well as a Fortran program. These components rely on a couple of third party libraries which need to be prepared first before starting the installation process. For now, the software is only tested for a Linux/Unix environment. Feel free to try it out on other platforms. +The ``flex_extract`` software package contains python and shell scripts as well as a Fortran program. These components rely on several libraries which need to be available before starting the installation process. Currently, the software is only tested for a GNU/Linux environment. Feel free to try it out on other platforms. -Start with the decision of which `user group <Ecmwf/access>`_ you belong to and follow the instructions at :ref:`ref-registration` to get an account at ECMWF. Considering your user group and the method of applying ``flex_extract`` there appear to be 4 application modes: +At first, go to the `user group <Ecmwf/access.html>`_ section and decide which group you belong to and follow the instructions at :ref:`ref-registration` to obtain an account at ECMWF (if you don't have it already). Depending on the user group and the way to access the ECWMF MARS archive, there are four possible :doc:`Documentation/Overview/app_modes`: -- Remote (for member state users only) :ref:`[installation]<ref-remote-mode>` -- Gateway (for member state users only) :ref:`[installation]<ref-gateway-mode>` -- Local member :ref:`[installation]<ref-local-mode>` -- Local public :ref:`[installation]<ref-local-mode>` +- Remote (member-state users only) :ref:`[installation]<ref-remote-mode>` +- Gateway (member-state users only) :ref:`[installation]<ref-gateway-mode>` +- Local, member-state user :ref:`[installation]<ref-local-mode>` +- Local, public user :ref:`[installation]<ref-local-mode>` -More information can be found in :doc:`Documentation/Overview/app_modes`. +Please follow the link :doc:`Documentation/Overview/app_modes` to get a description of the modes. .. note:: If you encounter any problems in the installation process, you can ask for :doc:`support`. - - - - + + + + .. _ref-registration: Registration at ECMWF ===================== -Decide which user group you belong to and follow the instructions for registration: +The registration depends on the :doc:`Documentation/Overview/app_modes` and in case of the local mode also on the data set you'd like to retrieve. The following table gives an overview where you need to register. -**Member state user**: - To get a member-state user account, users have to be a resident of a `member state`_. In that case, you can contact your `Computing Representative`_ for granting access. If you would like to use the local application mode to retrieve **ERA5** data you'd have to register at the `Copernicus Climate Data Store <https://cds.climate.copernicus.eu/user/register>`_ also. ++--------------+------------------------------------+--------------+ +| | Member-state user | Public user | +| +---------+----------+---------------+--------------+ +| Data sets |Remote |Gateway |Local | Local | ++--------------+---------+----------+---------------+--------------+ +| Operational | 1 | 1 | 1,2 | - | ++--------------+---------+----------+---------------+--------------+ +| ERA-Interim | 1 | 1 | 1,2 | 2 | ++--------------+---------+----------+---------------+--------------+ +| CERA-20C | 1 | 1 | 1,2 | 2 | ++--------------+---------+----------+---------------+--------------+ +| ERA5 | 1 | 1 | 3 | - | ++--------------+---------+----------+---------------+--------------+ -**Public user**: - To be able to download public datasets with ``flex_extract`` such as **ERA-Interim** and **CERA-20C** (**ERA5** is not supported via ECMWF Web API anymore), the public user has to create an account at ECMWF. - Use the registration at the ECMWF website by filling out this `registration form`. - - .. note:: - In the future retrievement of *ERA5* will be possible via the CDS API for public users also. Then a registration at the `Copernicus Climate Data Store <https://cds.climate.copernicus.eu/user/register>`_ is needed in addition. - - + +Registration options: + + 1.) Access through a member-state user account granted by the `Computing Representative`_. The credentials have to be provided during installation. + 2.) Access through the ECMWF Web API. Need to sign in at `ECMWF Web API <https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home>`_ and configure the ECMWF key as described. Member-state users can sign in with their credentials from the `Computing Representative`_ and public users have to fill out the `registration form`_ to get an account. + 3.) Access through the `CDS API <https://cds.climate.copernicus.eu/api-how-to>`_. Extra registration for member-state users is required at `Copernicus Climate Data Store <https://cds.climate.copernicus.eu/user/register>`_ including the configurations of the CDS key as described. This mode is currently not available for public users. See the note at `user group <Ecmwf/access.html>`_ for information. + .. _ref-licence: -Agree on licences for public datasets +Licence agreement for public datasets ===================================== -Each public dataset which is intended to be downloaded by ``flex_extract`` has its own licence which has to be accepted, regardless of the user group. +Each ECMWF public dataset has its own licence which has to be accepted, regardless of the user group. For the *ERA-Interim* and *CERA-20C* datasets this can be done at the ECMWF website `Available ECMWF Public Datasets <https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets>`_. Log in and follow the licence links on the right side for each dataset and accept it. -For the *ERA5* dataset this has to be done at the `Climate Data Store (CDS) website <https://cds.climate.copernicus.eu/cdsapp#!/search?type=dataset>`_. Log in with your credentials and then select on the left panel the product type "Reanalysis" for finding *ERA5* datasets. Then follow the link of a title with *ERA5* (anyone) to the full dataset record, click on tab "Download data" and scroll down. There is a section "Terms of use" where you have to click the :underline:`Accept terms` button. - +For the *ERA5* dataset this has to be done at the `Climate Data Store (CDS) website <https://cds.climate.copernicus.eu/cdsapp#!/search?type=dataset>`_. Log in and select, on the left panel, product type "Reanalysis" for finding *ERA5* datasets. Then follow any link with *ERA5* to the full dataset record, click on tab "Download data" and scroll down. There is a section "Terms of use" where you have to click the :underline:`Accept terms` button. @@ -99,26 +109,21 @@ For the *ERA5* dataset this has to be done at the `Climate Data Store (CDS) webs Download ``flex_extract`` ========================= -There are 2 options to download ``flex_extract``: +There are two options to download ``flex_extract``: tar ball - You can download the latest prepared release tar ball from the `download section`_ - of our ``FLEXPART`` community website and then untar the file. Substitute - the **<ID>** in the ``wget`` command with the ID-number of the ``flex_extract`` - release tar ball in the list of downloads at the community website. - - + You can download a tar ball with the latest release from the `flex_extract page <https://www.flexpart.eu/wiki/FpInputMetEcmwf>`_ from our ``FLEXPART`` community website and then untar the file. + .. code-block:: bash - wget https://www.flexpart.eu/downloads/<ID> tar -xvf <flex_extract_vX.X.tar> -git repo - Or you can clone the current release version from our git repository master branch. +git repo + Alternatively, if you have ``git`` installed on your machine, and if you are interested to keep the code in a version control system, you may clone the latest version from our git repository master branch. .. code-block:: bash - $ git clone https://www.flexpart.eu/gitmob/flexpart + $ git clone --single-branch --branch master https://www.flexpart.eu/gitmob/flexpart @@ -129,27 +134,11 @@ git repo Environment requirements ======================== -This is a list of the general environment requirements for ``flex_extract``. -What is required exactly for each application mode will be described in the specifc installation section. +The software required for running ``flex_extract`` depends on the :doc:`Documentation/Overview/app_modes` and therefore is described in the respective specific installation sections. -To run the python part of ``flex_extract`` a `Python 3`_ environment is needed. -We tested ``flex_extract`` with a normal Linux Python package distribution and Anaconda Python. -Except for `Python3`_ all are python packages which can be installed via ``pip``. - -* `Python3`_ or `Anaconda Python3`_ -* `numpy`_ -* `ecmwf-api-client`_ (Web Interface to ECMWF servers for datasets except ERA5) -* `cdsapi`_ (Web Interface to `C3S <https://climate.copernicus.eu/>`_ servers for ERA5) -* `genshi`_ -* `eccodes for python`_ - -For the Fortran part of ``flex_extract`` we need the following distribution packages: - -* `gfortran`_ -* `fftw3`_ -* `eccodes`_ -* `emoslib`_ +Generally speaking, ``flex_extract`` requires `Python 3`_ and Fortran together with certain modules / libraries. +We tested ``flex_extract`` with the python3 package from the the GNU/Linux distribution and Anaconda Python. The required python3 modules should prefarably be installed as distribution packages, or alternatively using Python's own package manager ``pip`` (this may mess up some aspects of your python installation, especially if you use ``pip`` as root. Think about using virtual environments.). @@ -161,705 +150,49 @@ For the Fortran part of ``flex_extract`` we need the following distribution pack Installation of ``flex_extract`` ================================ -The actual installation of ``flex_extract`` will be done by executing a `Shell` script called ``setup.sh``. -It defines some parameters and calls a Python script by giving the parameters as command line arguments. -More information on the script and its parameters can be found at :doc:`Documentation/Input/setup`. +The actual installation of ``flex_extract`` is done by executing a shell script called ``setup.sh``. +It defines some parameters and calls a Python script passing the parameters as command line arguments. For details, see :doc:`Documentation/Input/setup`. For each application mode installation section we describe the requirements for the explicit environment and how it is installed, test if it works and how the actual ``flex_extract`` installation has to be done. At the users local side not all software has to be present for ``flex_extract``. +Select one of the following modes to install: - - - -.. _ref-remote-mode: - -Remote mode ------------ - -.. _ref-req-remote: - -Remote environment requirements -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The environment for ``flex_extract`` on ECMWF servers has to provide these -software packages and libraries: - -+---------------------------+-----------------+ -| Python part | Fortran part | -+---------------------------+-----------------+ -| * `Python3`_ | * `gfortran`_ | -| * `numpy`_ | * `fftw3`_ | -| * `genshi`_ | * `eccodes`_ | -| * `eccodes for python`_ | * `emoslib`_ | -+---------------------------+-----------------+ - - -.. _ref-prep-remote: - -Prepare remote environment -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The environment on the ECMWF server (such as *ecgate* or *cca*) is already -prepared. ECMWF server provide all libraries via a module system which is -going to be selected by ``flex_extract`` automatically. - - -.. _ref-install-remote: - -Remote installation -^^^^^^^^^^^^^^^^^^^ - -First, log in on one of the ECMWF Linux server, such as *ecgate* or *cca/ccb*. -Substitute *<ecuid>* with your ECMWF user name: - -.. code-block:: bash - - ssh -X <ecuid>@ecaccess.ecmwf.int - -This will lead to the following output on the command line, asking for your -password: - -.. code-block:: bash - - Authorized access only. - - *************************************************************** - For further information, read the ECaccess documentation at: - - https://software.ecmwf.int/wiki/display/ECAC/ECaccess+Home - - You can also use ECaccess to load & download files from your - EChome, ECscratch or ECfs directories using the ECaccess FTP - server: - - ftp://uid@ecaccess.ecmwf.int/ - - Please note you must use your UID and ActivID code to login! - *************************************************************** - - <ecuid>@131.130.157.5's password: *** - Select hostname (ecgate, cca, ccb) [ecgate]: ecgate - - [<ecuid>@ecgb11 ~]$ - - -Then, copy the ``flex_extract`` tar ball (from section :ref:`ref-download`) -to the ``$HOME`` directory of the ECMWF Linux server via ``scp``. -Substitute the *<localuser>* and *<server.edu>* placeholders with your credentials. -Untar the file and change into the ``flex_extract`` root directory. - -.. code-block:: bash - - scp <localuser>@<server.edu>:/path/to/tarfile/flex_extract_vX.X.tar.gz $HOME/ - cd $HOME - tar xvf flex_extract_vX.X.tar.gz - cd flex_extract_vX.X - - -On these ECMWF servers, it is not necessary to prepare the environment or the -``Makefile`` for the Fortran program (``CONVERT2``) as described above. -All third party libraries are available from a module system. The ``Makefile`` -is optimized for ECMWF servers and the compilation -script ``compilejob.ksh``, which will be submitted by ``flex_extract`` to the -batch job queue at ECMWF, does load all relevant modules from the ECMWF's module system. - -So there is just the need to execute the ``setup.sh`` script from the -``flex_extract`` root directory for installation. -Before executing it, it is necessary to adapt some parameters from ``setup.sh`` -described in :doc:`Documentation/Input/setup`. - -Open ``setup.sh`` with your editor and adapt the values: - -+----------------------------------------------+----------------------------------------------+ -| Take this for target = **ectrans** | Take this for target = **cca** | -+----------------------------------------------+----------------------------------------------+ -| .. code-block:: bash | .. code-block:: bash | -| | | -| ... | ... | -| # -----------------------------------------| # -----------------------------------------| -| # AVAILABLE COMMANDLINE ARGUMENTS TO SET | # AVAILABLE COMMANDLINE ARGUMENTS TO SET | -| # | # | -| # THE USER HAS TO SPECIFY THESE PARAMETER | # THE USER HAS TO SPECIFY THESE PARAMETER | -| # | # | -| TARGET='ecgate' | TARGET='cca' | -| MAKEFILE='Makefile.gfortran' | MAKEFILE='Makefile.CRAY' | -| ECUID='uid' | ECUID='uid' | -| ECGID='gid' | ECGID='gid' | -| GATEWAY=None | GATEWAY=None | -| DESTINATION=None | DESTINATION=None | -| INSTALLDIR=None | INSTALLDIR='' | -| JOB_TEMPLATE='job.template' | JOB_TEMPLATE='job.template' | -| CONTROLFILE='CONTROL_EA5' | CONTROLFILE='CONTROL_EA5' | -| ... | ... | -+----------------------------------------------+----------------------------------------------+ - -:underline:`Please substitute the values of ECUID and ECGID -with your own credentials and settings.` - -.. note:: - - If a local gateway server is available the transfer of files could be done - via the ``ECaccess`` commands. Therefore a valid *GATEWAY* and *DESTINATION* - have to be present and should be set in the ``setup.sh`` file. - - -Afterwards, type: - -.. code-block:: bash - - module load python3 - ./setup.sh - -to start the installation. You should see the following output at the command line. - - -.. code-block:: bash - - # Output of setup.sh - Create tarball ... - Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X - You should get an email with subject "flexcompile" within the next few minutes! - - -The email content should look like this with a "SUCCESS" statement in the last line: - -.. code-block:: bash - - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 - -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2 - SUCCESS! - - - - - - - - - - - - - - - - - - - - - - - -.. _ref-gateway-mode: - -Gateway mode ------------- - - -.. _ref-req-gateway: - -Gateway environment requirements -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The environment on your local system has to provide these software packages -and libraries, since ``flex_extract`` does only prepare the job script and send -it to the ECMWF servers: - -* `Python3`_ or `Anaconda Python3`_ -* `numpy`_ -* `genshi`_ - - -.. _ref-prep-gateway: - -Prepare gateway environment -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights. -The installation was tested on a *GNU/Linux Debian buster* and an *Ubuntu 18.04 Bionic Beaver* system. - -.. code-block:: sh - - # On a Linux Debian or Ubuntu system do - # (if not already available): - apt-get install python3 - apt-get install pip - apt-get install genshi - apt-get install numpy - - -.. _ref-test-gateway: - -Test gateway environment -^^^^^^^^^^^^^^^^^^^^^^^^ - -Check the availability of the python packages by typing ``python3`` in -a terminal window and run the ``import`` commands in the python shell. -If there are no error messages, you succeeded in setting up the environment. - -.. code-block:: python - - # check in python3 console - import genshi - import numpy - - - -.. _ref-install-gateway: - -Gateway installation -^^^^^^^^^^^^^^^^^^^^ - -In this mode, access to the ECMWF computing and archiving facilities is enabled through an ECaccess gateway server on a local member state server. The ECaccess framework is necessary to interactively submit jobs to the ECMWF batch system and to transfer files between ECMWF and local gateway server. - -Please see `ECMWF's instructions on gateway server`_ to establish the gateway server if not already in place. -Additionally, to be able to use the Ecaccess file transfer service **ectrans** please also create an association. -The easiest way is to visit the ECaccess Member State Gateway website (e.g. msgatway.ecmwf.int) and follow the instructions in the short `ECaccess Presentation`_ (page 17 ff.). Additional documentation can be found on the `ECMWF ectrans site`_. - -After everything is set up you have to create an *ecaccess certificate* to be able to send and receive files from and to the ECMWF server. You can do this by using the ``ecaccess-certificate-create`` command on the gateway server. You will be prompted for your ECMWF member state user name and a password (which will be usually generated by a Token). This certificate has to be re-newed periodically (every 7 days). - -.. code-block:: bash - - $ ecaccess-certificate-create - Please enter your user-id: example_username - Your passcode: *** - -``Flex_extract`` will be run on an ECMWF server which makes the setup the same as for the **remote mode**. In the ``setup.sh`` script `[ref] <Documentation/Input/setup.html>`_, select the ``Makefile.gfortran`` for the ``CONVERT2`` Fortran program and the ECMWF server (*target*) you would like to use. -The job script, send to the job queue via the ECaccess software, selects again automatically the correct libraries from the module system. For enableing the file transfer you have to set the *ECUID*, *ECGID*, *GATEWAY* and *DESTINATION* parameter values. - - -.. code-block:: bash - :caption: 'Example settings for a gateway installation.' - :name: setup.sh - - # ----------------------------------------------------------------- - # AVAILABLE COMMANDLINE ARGUMENTS TO SET - # - # THE USER HAS TO SPECIFY THESE PARAMETER - # - TARGET='ecgate' - MAKEFILE='Makefile.gfortran' - ECUID='uid' - ECGID='gid' - GATEWAY='server.example.edu' - DESTINATION='example@genericSftp' - INSTALLDIR=None - JOB_TEMPLATE='job.template' - CONTROLFILE='CONTROL_EA5' - - -Afterwards, type: - -.. code-block:: bash - - $ ./setup.sh - -to start the installation. You should see the following output at the command line. - - -.. code-block:: bash - - # Output of setup.sh - Create tarball ... - Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X - You should get an email with subject "flexcompile" within the next few minutes! - - -The email content should look like this with a "SUCCESS" statement in the last line: - -.. code-block:: bash - - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 - -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2 - SUCCESS! - - - - - + :doc:`Installation/remote` + :doc:`Installation/gateway` - - - - - - - - - - - - -.. _ref-local-mode: - -Local mode ----------- - - - -.. _ref-req-local: - -Local environment requirements -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -For the local access modes **member** and **public** there is no difference in -the installation process. - -The environment on your local system has to provide these software packages -and libraries, since all extraction and preparation is done at the local system: - -+------------------------------------------------+-----------------+ -| Python part | Fortran part | -+------------------------------------------------+-----------------+ -| * `Python3`_ | * `gfortran`_ | -| * `numpy`_ | * `fftw3`_ | -| * `genshi`_ | * `eccodes`_ | -| * `eccodes for python`_ | * `emoslib`_ | -| * `ecmwf-api-client`_ (everything except ERA5) | | -| * `cdsapi`_ (just for ERA5) | | -+------------------------------------------------+-----------------+ - - -.. _ref-prep-local: - -Prepare local environment -^^^^^^^^^^^^^^^^^^^^^^^^^ - -The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights. -The installation was tested on a *Debian GNU/Linux buster/sid* and an *Ubuntu 18.04 Bionic Beaver* system. - -.. code-block:: sh - - # On a Linux Debian or Ubuntu system do - # (if not already available): - apt-get install python3 (usually available on normal Linux systems) - apt-get install pip - apt-get install gfortran - apt-get install fftw3-dev - apt-get install libeccodes-dev - apt-get install libemos-dev - apt-get install python3-eccodes - apt-get install genshi - apt-get install numpy - pip install cdsapi - pip install ecmwf-api-client - -.. note:: - - In case you would like to use Anaconda Python we recommend you follow the installation instructions of - `Anaconda Python Installation for Linux <https://docs.anaconda.com/anaconda/install/linux/>`_ and then install the - ``eccodes`` package from ``conda`` with: - - .. code-block:: bash - - conda install conda-forge::python-eccodes + :doc:`Installation/local` -The CDS API (cdsapi) and the ECMWF Web API (ecmwf-api-client) have both to be installed since ERA5 can only be retrieved with the ``CDS API`` and all other datasets with the ``ECMWF Web API``. - -.. note:: - - Since **public users** currently don't have access to the full *ERA5* dataset they can skip the installation of the ``CDS API``. - -Both user groups have to provide key's with their credentials for the Web API's in their home directory. Therefore, follow these instructions: - -ECMWF Web API: - Go to `MARS access`_ website and log in with your credentials. Afterwards, on this site in section "Install ECMWF KEY" the key for the ECMWF Web API should be listed. Please follow the instructions in this section under point 1 (save the key in a file `.ecmwfapirc` in your home directory). - -CDS API: - Go to 'CDS API registration'_ and register there too. Log in at the `cdsapi`_ website and follow the instructions at section "Install the CDS API key" to save your credentials in a `.cdsapirc` file. - - -.. _ref-test-local: - -Test local environment -^^^^^^^^^^^^^^^^^^^^^^ - -Check the availability of the system packages with ``dpkg -s <package-name> | grep Status`` or ``rpm -q <package_name>``, depending on your system. For example: - -.. code-block:: sh - - $ dpkg -s libeccodes-dev | grep Status - # or - $ rpm -q libeccodes-dev - -Afterwards, check the availability of the python packages by typing ``python3`` in -a terminal window and run the ``import`` commands in the python shell. If there are no error messages, you succeeded in setting up the environment. - -.. code-block:: python - - # check in python3 console - import eccodes - import genshi - import numpy - import cdsapi - import ecmwfapi - - - -Test the Web API's -"""""""""""""""""" - -You can start very simple test retrievals for both Web API's to be sure that everything works. This is recommended to minimize the range of possible errors using ``flex_extract`` later on. - -ECMWF Web API -""""""""""""" - - -+----------------------------------------------------------+----------------------------------------------------------+ -|Please use this piece of python code for **Member user**: |Please use this piece of python code for **Public user**: | -+----------------------------------------------------------+----------------------------------------------------------+ -|.. code-block:: python |.. code-block:: python | -| | | -| from ecmwfapi import ECMWFService | from ecmwfapi import ECMWFDataServer | -| | | -| server = ECMWFService('mars') | server = ECMWFDataServer() | -| | | -| server.retrieve({ | server.retrieve({ | -| 'stream' : "oper", | 'stream' : "enda", | -| 'levtype' : "sfc", | 'levtype' : "sfc", | -| 'param' : "165.128/166.128/167.128", | 'param' : "165.128/166.128/167.128", | -| 'dataset' : "interim", | 'dataset' : "cera20c", | -| 'step' : "0", | 'step' : "0", | -| 'grid' : "0.75/0.75", | 'grid' : "1./1.", | -| 'time' : "00/06/12/18", | 'time' : "00/06/12/18", | -| 'date' : "2014-07-01/to/2014-07-31", | 'date' : "2000-07-01/to/2000-07-31", | -| 'type' : "an", | 'type' : "an", | -| 'class' : "ei", | 'class' : "ep", | -| 'target' : "download_erainterim_ecmwfapi.grib" | 'target' : "download_cera20c_ecmwfapi.grib" | -| }) | }) | -+----------------------------------------------------------+----------------------------------------------------------+ - - - -CDS API -""""""" - -Since ERA5 extraction with CDS API might take some time due to the very high number of requests, you can start by retrieving some online stored pressure levels (not from MARS). This is usually much faster and gives a quick result to find out if the web API works: - -Please use this piece of python code to retrieve a small sample of *ERA5* pressure levels: - -.. code-block:: python - - import cdsapi - - c = cdsapi.Client() +.. toctree:: + :hidden: + :maxdepth: 2 - c.retrieve("reanalysis-era5-pressure-levels", - { - "variable": "temperature", - "pressure_level": "1000", - "product_type": "reanalysis", - "year": "2008", - "month": "01", - "day": "01", - "time": "12:00", - "format": "grib" - }, - "download_cdsapi.grib") - - -Afterwards, when you know that the CDS API generally works, you can try to extract some -data from the MARS archive. From the latest experience we know that this can take a while. - -.. **Member user** + Installation/remote + Installation/gateway + Installation/local -Please use this piece of python code to retrieve a small *ERA5* data sample as a **member user**! The **public user** doesn't have access to the full *ERA5* dataset! -.. code-block:: python - import cdsapi - - c = cdsapi.Client() - - c.retrieve('reanalysis-era5-complete', - { - 'class' : 'ea', - 'expver' : '1', - 'stream' : 'oper', - 'type' : 'fc', - 'step' : '3/to/12/by/3', - 'param' : '130.128', - 'levtype' : 'ml', - 'levelist': '135/to/137', - 'date' : '2013-01-01', - 'time' : '06/18', - 'area' : '50/-5/40/5', - 'grid' : '1.0/1.0', - 'format' : 'grib', - }, 'download_era5_cdsapi.grib') - - -.. ********************** COMMENTED OUT FOR FUTURE - ********************** PUBLIC RETRIEVAL IS CURRENTLY NOT ACCESSIBLE - - **Public user** - Please use this piece of python code: - - .. code-block:: python - - import cdsapi - - c = cdsapi.Client() - - c.retrieve('reanalysis-era5-complete', - { - 'class' : 'ea', - 'dataset' : 'era5', - 'expver' : '1', - 'stream' : 'oper', - 'type' : 'fc', - 'step' : '3/to/12/by/3', - 'param' : '130.128', - 'levtype' : 'ml', - 'levelist': '135/to/137', - 'date' : '2013-01-01', - 'time' : '06/18', - 'area' : '50/-5/40/5', - 'grid' : '1.0/1.0', - 'format' : 'grib', - }, 'download_era5_cdsapi.grib') -.. _ref-install-local: -Local installation -^^^^^^^^^^^^^^^^^^ -First prepare the Fortran ``Makefile`` for your environment and set it -in the ``setup.sh`` script. (See section :ref:`ref-convert` for information on -the Fortran program.) -``flex_extract`` has already two ``Makefiles`` prepared for te ``gfortran`` and -the ``ifort`` compiler: - * Makefile.local.gfortran - * Makefile.local.ifort -They can be found in the path ``flex_extract_vX.X/source/fortran``, where -``vX.X`` should be substituted with the current version number. -.. caution:: - It is necessary to adapt **ECCODES_INCLUDE_DIR** and **ECCODES_LIB** in these - ``Makefiles``. -So starting from the root directory of ``flex_extract``, -go to the ``Fortran`` source directory and open the ``Makefile`` of your -choice to modify with an editor of your choice. We use the ``nedit`` in this case. - -.. code-block:: bash - - cd flex_extract_vX.X/source/fortran - nedit Makefile.local.gfortran - -Edit the pathes to the ``eccodes`` library on your local machine. - -.. caution:: - This can vary from system to system. - It is suggested to use a command like - - .. code-block:: bash - - # for the ECCODES_INCLUDE_DIR path do: - $ dpkg -L libeccodes-dev | grep eccodes.mod - # for the ECCODES_LIB path do: - $ dpkg -L libeccodes-dev | grep libeccodes.so - - to find out the path to the ``eccodes`` library. - -Substitute these paths in the ``Makefile`` for parameters **ECCODES_INCLUDE_DIR** -and **ECCODES_LIB** and save it. - -.. code-block:: bash - - # these are the paths on a current Debian 10 Testing system (May 2019) - ECCODES_INCLUDE_DIR=/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15/ - ECCODES_LIB= -L/usr/lib -leccodes_f90 -leccodes -lm - -The Fortran program called ``CONVERT2`` will be compiled during the -installation process to get an executable. Therefore the ``Makefile`` -has to be set in the ``setup.sh`` script. - -In the root directory of ``flex_extract``, open the ``setup.sh`` script -and adapt the installation parameters in the section labelled with -"AVAILABLE COMMANDLINE ARGUMENTS TO SET" like shown below. - - -.. code-block:: bash - :caption: 'Example settings for a local installation.' - :name: setup.sh - - ... - # ----------------------------------------------------------------- - # AVAILABLE COMMANDLINE ARGUMENTS TO SET - # - # THE USER HAS TO SPECIFY THESE PARAMETER - # - TARGET='local' - MAKEFILE='Makefile.local.gfortran' - ECUID=None - ECGID=None - GATEWAY=None - DESTINATION=None - INSTALLDIR=None - JOB_TEMPLATE='job.template' - CONTROLFILE='CONTROL_EA5' - ... - - -Afterwards, type: - -.. code-block:: bash - - $ ./setup.sh - -to start the installation. You should see the following output at the command line. -.. code-block:: bash - - # Output of setup.sh - WARNING: installdir has not been specified - flex_extract will be installed in here by compiling the Fortran source in /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/source/fortran - Install flex_extract_v7.1 software at local in directory /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1 - - Using makefile: Makefile.local.gfortran - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 rwGRIB2.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 posnam.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 preconvert.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -O3 -O3 -fopenmp -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/gcc-4.9.3/grib_api-1.14.3/lib -Bstatic -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper -lemosR64 - - -rwxrwxr-x. 1 philipa8 tmc 282992 May 23 22:27 ./CONVERT2 - - - - - ``Flex_extract`` in combination with ``FLEXPART`` ================================================= @@ -911,7 +244,7 @@ The installation was successfull if it showed the following output: readlatlon: 4 records read SUCCESSFULLY FINISHED CONVERT_PRE: CONGRATULATIONS -Now go back to the root directoy: +Now go back to the root directory: .. code-block:: bash diff --git a/Documentation/html/_sources/quick_start.rst.txt b/Documentation/html/_sources/quick_start.rst.txt index cc1a51a..a34faa1 100644 --- a/Documentation/html/_sources/quick_start.rst.txt +++ b/Documentation/html/_sources/quick_start.rst.txt @@ -336,7 +336,7 @@ It is then available from 1st January 1979 to 31st August 2019. The ``etadot`` i .. todo:: - @LEO: please check the complete describtion and functionality of the CONTROL FILEs + @LEO: please check the complete description and functionality of the CONTROL FILEs Operational data ---------------- diff --git a/Documentation/html/index.html b/Documentation/html/index.html index 010eb75..13443c9 100644 --- a/Documentation/html/index.html +++ b/Documentation/html/index.html @@ -284,15 +284,10 @@ Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</p> <ul> <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul> <li class="toctree-l2"><a class="reference internal" href="installation.html#registration-at-ecmwf">Registration at ECMWF</a></li> -<li class="toctree-l2"><a class="reference internal" href="installation.html#agree-on-licences-for-public-datasets">Agree on licences for public datasets</a></li> +<li class="toctree-l2"><a class="reference internal" href="installation.html#licence-agreement-for-public-datasets">Licence agreement for public datasets</a></li> <li class="toctree-l2"><a class="reference internal" href="installation.html#download-flex-extract">Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="installation.html#environment-requirements">Environment requirements</a></li> -<li class="toctree-l2"><a class="reference internal" href="installation.html#installation-of-flex-extract">Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a><ul> -<li class="toctree-l3"><a class="reference internal" href="installation.html#remote-mode">Remote mode</a></li> -<li class="toctree-l3"><a class="reference internal" href="installation.html#gateway-mode">Gateway mode</a></li> -<li class="toctree-l3"><a class="reference internal" href="installation.html#local-mode">Local mode</a></li> -</ul> -</li> +<li class="toctree-l2"><a class="reference internal" href="installation.html#installation-of-flex-extract">Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="installation.html#flex-extract-in-combination-with-flexpart"><code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> in combination with <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="installation.html#test-installation">Test installation</a><ul> <li class="toctree-l3"><a class="reference internal" href="installation.html#fortran-program-test">Fortran program test</a></li> diff --git a/Documentation/html/installation.html b/Documentation/html/installation.html index bf00972..4179fa5 100644 --- a/Documentation/html/installation.html +++ b/Documentation/html/installation.html @@ -38,8 +38,8 @@ <link rel="stylesheet" href="_static/css/theme_overrides.css" type="text/css" /> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> - <link rel="next" title="Quick Start" href="quick_start.html" /> - <link rel="prev" title="<no title>" href="index.html" /> + <link rel="next" title="Remote mode installation" href="Installation/remote.html" /> + <link rel="prev" title="Welcome to flex_extract’s user documentation!" href="index.html" /> </head> <body class="wy-body-for-nav"> @@ -91,30 +91,13 @@ <ul class="current"> <li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul> <li class="toctree-l2"><a class="reference internal" href="#registration-at-ecmwf">Registration at ECMWF</a></li> -<li class="toctree-l2"><a class="reference internal" href="#agree-on-licences-for-public-datasets">Agree on licences for public datasets</a></li> +<li class="toctree-l2"><a class="reference internal" href="#licence-agreement-for-public-datasets">Licence agreement for public datasets</a></li> <li class="toctree-l2"><a class="reference internal" href="#download-flex-extract">Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="#environment-requirements">Environment requirements</a></li> <li class="toctree-l2"><a class="reference internal" href="#installation-of-flex-extract">Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a><ul> -<li class="toctree-l3"><a class="reference internal" href="#remote-mode">Remote mode</a><ul> -<li class="toctree-l4"><a class="reference internal" href="#remote-environment-requirements">Remote environment requirements</a></li> -<li class="toctree-l4"><a class="reference internal" href="#prepare-remote-environment">Prepare remote environment</a></li> -<li class="toctree-l4"><a class="reference internal" href="#remote-installation">Remote installation</a></li> -</ul> -</li> -<li class="toctree-l3"><a class="reference internal" href="#gateway-mode">Gateway mode</a><ul> -<li class="toctree-l4"><a class="reference internal" href="#gateway-environment-requirements">Gateway environment requirements</a></li> -<li class="toctree-l4"><a class="reference internal" href="#prepare-gateway-environment">Prepare gateway environment</a></li> -<li class="toctree-l4"><a class="reference internal" href="#test-gateway-environment">Test gateway environment</a></li> -<li class="toctree-l4"><a class="reference internal" href="#gateway-installation">Gateway installation</a></li> -</ul> -</li> -<li class="toctree-l3"><a class="reference internal" href="#local-mode">Local mode</a><ul> -<li class="toctree-l4"><a class="reference internal" href="#local-environment-requirements">Local environment requirements</a></li> -<li class="toctree-l4"><a class="reference internal" href="#prepare-local-environment">Prepare local environment</a></li> -<li class="toctree-l4"><a class="reference internal" href="#test-local-environment">Test local environment</a></li> -<li class="toctree-l4"><a class="reference internal" href="#local-installation">Local installation</a></li> -</ul> -</li> +<li class="toctree-l3"><a class="reference internal" href="Installation/remote.html">Remote mode installation</a></li> +<li class="toctree-l3"><a class="reference internal" href="Installation/gateway.html">Gateway mode installation</a></li> +<li class="toctree-l3"><a class="reference internal" href="Installation/local.html">Local mode installation</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="#flex-extract-in-combination-with-flexpart"><code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> in combination with <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code></a></li> @@ -202,665 +185,123 @@ <h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1> <div class="toctree-wrapper compound"> </div> -<p><code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> is a software package which contains a mix of Python and Shell scripts as well as a Fortran program. These components rely on a couple of third party libraries which need to be prepared first before starting the installation process. For now, the software is only tested for a Linux/Unix environment. Feel free to try it out on other platforms.</p> -<p>Start with the decision of which <a class="reference external" href="Ecmwf/access">user group</a> you belong to and follow the instructions at <a class="reference internal" href="#ref-registration"><span class="std std-ref">Registration at ECMWF</span></a> to get an account at ECMWF. Considering your user group and the method of applying <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> there appear to be 4 application modes:</p> +<p>The <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> software package contains python and shell scripts as well as a Fortran program. These components rely on several libraries which need to be available before starting the installation process. Currently, the software is only tested for a GNU/Linux environment. Feel free to try it out on other platforms.</p> +<p>At first, go to the <a class="reference external" href="Ecmwf/access.html">user group</a> section and decide which group you belong to and follow the instructions at <a class="reference internal" href="#ref-registration"><span class="std std-ref">Registration at ECMWF</span></a> to obtain an account at ECMWF (if you don’t have it already). Depending on the user group and the way to access the ECWMF MARS archive, there are four possible <a class="reference internal" href="Documentation/Overview/app_modes.html"><span class="doc">Application Modes</span></a>:</p> <ul class="simple"> -<li>Remote (for member state users only) <a class="reference internal" href="#ref-remote-mode"><span class="std std-ref">[installation]</span></a></li> -<li>Gateway (for member state users only) <a class="reference internal" href="#ref-gateway-mode"><span class="std std-ref">[installation]</span></a></li> -<li>Local member <a class="reference internal" href="#ref-local-mode"><span class="std std-ref">[installation]</span></a></li> -<li>Local public <a class="reference internal" href="#ref-local-mode"><span class="std std-ref">[installation]</span></a></li> +<li>Remote (member-state users only) <a class="reference internal" href="Installation/remote.html#ref-remote-mode"><span class="std std-ref">[installation]</span></a></li> +<li>Gateway (member-state users only) <a class="reference internal" href="Installation/gateway.html#ref-gateway-mode"><span class="std std-ref">[installation]</span></a></li> +<li>Local, member-state user <a class="reference internal" href="Installation/local.html#ref-local-mode"><span class="std std-ref">[installation]</span></a></li> +<li>Local, public user <a class="reference internal" href="Installation/local.html#ref-local-mode"><span class="std std-ref">[installation]</span></a></li> </ul> -<p>More information can be found in <a class="reference internal" href="Documentation/Overview/app_modes.html"><span class="doc">Application Modes</span></a>.</p> +<p>Please follow the link <a class="reference internal" href="Documentation/Overview/app_modes.html"><span class="doc">Application Modes</span></a> to get a description of the modes.</p> <div class="admonition note"> <p class="first admonition-title">Note</p> <p class="last">If you encounter any problems in the installation process, you can ask for <a class="reference internal" href="support.html"><span class="doc">Support</span></a>.</p> </div> <div class="section" id="registration-at-ecmwf"> <span id="ref-registration"></span><h2>Registration at ECMWF<a class="headerlink" href="#registration-at-ecmwf" title="Permalink to this headline">¶</a></h2> -<p>Decide which user group you belong to and follow the instructions for registration:</p> -<dl class="docutils"> -<dt><strong>Member state user</strong>:</dt> -<dd>To get a member-state user account, users have to be a resident of a <a class="reference external" href="https://www.ecmwf.int/en/about/who-we-are/member-states">member state</a>. In that case, you can contact your <a class="reference external" href="https://www.ecmwf.int/en/about/contact-us/computing-representatives">Computing Representative</a> for granting access. If you would like to use the local application mode to retrieve <strong>ERA5</strong> data you’d have to register at the <a class="reference external" href="https://cds.climate.copernicus.eu/user/register">Copernicus Climate Data Store</a> also.</dd> -<dt><strong>Public user</strong>:</dt> -<dd><p class="first">To be able to download public datasets with <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> such as <strong>ERA-Interim</strong> and <strong>CERA-20C</strong> (<strong>ERA5</strong> is not supported via ECMWF Web API anymore), the public user has to create an account at ECMWF. -Use the registration at the ECMWF website by filling out this <cite>registration form</cite>.</p> -<div class="last admonition note"> -<p class="first admonition-title">Note</p> -<p class="last">In the future retrievement of <em>ERA5</em> will be possible via the CDS API for public users also. Then a registration at the <a class="reference external" href="https://cds.climate.copernicus.eu/user/register">Copernicus Climate Data Store</a> is needed in addition.</p> -</div> -</dd> -</dl> -</div> -<div class="section" id="agree-on-licences-for-public-datasets"> -<span id="ref-licence"></span><h2>Agree on licences for public datasets<a class="headerlink" href="#agree-on-licences-for-public-datasets" title="Permalink to this headline">¶</a></h2> -<p>Each public dataset which is intended to be downloaded by <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> has its own licence which has to be accepted, regardless of the user group.</p> -<p>For the <em>ERA-Interim</em> and <em>CERA-20C</em> datasets this can be done at the ECMWF website <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets">Available ECMWF Public Datasets</a>. Log in and follow the licence links on the right side for each dataset and accept it.</p> -<p>For the <em>ERA5</em> dataset this has to be done at the <a class="reference external" href="https://cds.climate.copernicus.eu/cdsapp#!/search?type=dataset">Climate Data Store (CDS) website</a>. Log in with your credentials and then select on the left panel the product type “Reanalysis” for finding <em>ERA5</em> datasets. Then follow the link of a title with <em>ERA5</em> (anyone) to the full dataset record, click on tab “Download data” and scroll down. There is a section “Terms of use” where you have to click the <span class="underline">Accept terms</span> button.</p> -</div> -<div class="section" id="download-flex-extract"> -<span id="ref-download"></span><h2>Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code><a class="headerlink" href="#download-flex-extract" title="Permalink to this headline">¶</a></h2> -<p>There are 2 options to download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>:</p> -<dl class="docutils"> -<dt>tar ball</dt> -<dd><p class="first">You can download the latest prepared release tar ball from the <a class="reference external" href="https://www.flexpart.eu/downloads">download section</a> -of our <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code> community website and then untar the file. Substitute -the <strong><ID></strong> in the <code class="docutils literal notranslate"><span class="pre">wget</span></code> command with the ID-number of the <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> -release tar ball in the list of downloads at the community website.</p> -<div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>wget https://www.flexpart.eu/downloads/<ID> -tar -xvf <flex_extract_vX.X.tar> -</pre></div> -</div> -</dd> -<dt>git repo</dt> -<dd><p class="first">Or you can clone the current release version from our git repository master branch.</p> -<div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>$ git clone https://www.flexpart.eu/gitmob/flexpart -</pre></div> -</div> -</dd> -</dl> -</div> -<div class="section" id="environment-requirements"> -<span id="ref-requirements"></span><h2>Environment requirements<a class="headerlink" href="#environment-requirements" title="Permalink to this headline">¶</a></h2> -<p>This is a list of the general environment requirements for <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>. -What is required exactly for each application mode will be described in the specifc installation section.</p> -<p>To run the python part of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> a <a class="reference external" href="https://docs.python.org/3/">Python 3</a> environment is needed. -We tested <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> with a normal Linux Python package distribution and Anaconda Python. -Except for <a class="reference external" href="https://www.python.org/downloads/">Python3</a> all are python packages which can be installed via <code class="docutils literal notranslate"><span class="pre">pip</span></code>.</p> -<ul class="simple"> -<li><a class="reference external" href="https://www.python.org/downloads/">Python3</a> or <a class="reference external" href="https://www.anaconda.com/distribution/#download-section">Anaconda Python3</a></li> -<li><a class="reference external" href="http://www.numpy.org/">numpy</a></li> -<li><a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home">ecmwf-api-client</a> (Web Interface to ECMWF servers for datasets except ERA5)</li> -<li><a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">cdsapi</a> (Web Interface to <a class="reference external" href="https://climate.copernicus.eu/">C3S</a> servers for ERA5)</li> -<li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li> -<li><a class="reference external" href="https://packages.debian.org/sid/python3-eccodes">eccodes for python</a></li> -</ul> -<p>For the Fortran part of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> we need the following distribution packages:</p> -<ul class="simple"> -<li><a class="reference external" href="https://gcc.gnu.org/wiki/GFortran">gfortran</a></li> -<li><a class="reference external" href="http://www.fftw.org">fftw3</a></li> -<li><a class="reference external" href="https://software.ecmwf.int/wiki/display/ECC">eccodes</a></li> -<li><a class="reference external" href="https://software.ecmwf.int/wiki/display/EMOS/Emoslib">emoslib</a></li> -</ul> -</div> -<div class="section" id="installation-of-flex-extract"> -<span id="ref-install-fe"></span><h2>Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code><a class="headerlink" href="#installation-of-flex-extract" title="Permalink to this headline">¶</a></h2> -<p>The actual installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> will be done by executing a <cite>Shell</cite> script called <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code>. -It defines some parameters and calls a Python script by giving the parameters as command line arguments. -More information on the script and its parameters can be found at <a class="reference internal" href="Documentation/Input/setup.html"><span class="doc">The Installation Script - setup.sh</span></a>.</p> -<p>For each application mode installation section we describe the requirements for the explicit -environment and how it is installed, test if it works and how the actual <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> -installation has to be done. At the users local side not all software has to be present for <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>.</p> -<div class="section" id="remote-mode"> -<span id="ref-remote-mode"></span><h3>Remote mode<a class="headerlink" href="#remote-mode" title="Permalink to this headline">¶</a></h3> -<div class="section" id="remote-environment-requirements"> -<span id="ref-req-remote"></span><h4>Remote environment requirements<a class="headerlink" href="#remote-environment-requirements" title="Permalink to this headline">¶</a></h4> -<p>The environment for <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> on ECMWF servers has to provide these -software packages and libraries:</p> +<p>The registration depends on the <a class="reference internal" href="Documentation/Overview/app_modes.html"><span class="doc">Application Modes</span></a> and in case of the local mode also on the data set you’d like to retrieve. The following table gives an overview where you need to register.</p> <table border="1" class="docutils"> <colgroup> -<col width="61%" /> -<col width="39%" /> +<col width="23%" /> +<col width="15%" /> +<col width="16%" /> +<col width="24%" /> +<col width="23%" /> </colgroup> <tbody valign="top"> -<tr class="row-odd"><td>Python part</td> -<td>Fortran part</td> +<tr class="row-odd"><td rowspan="2">Data sets</td> +<td colspan="3">Member-state user</td> +<td>Public user</td> </tr> -<tr class="row-even"><td><ul class="first last simple"> -<li><a class="reference external" href="https://www.python.org/downloads/">Python3</a></li> -<li><a class="reference external" href="http://www.numpy.org/">numpy</a></li> -<li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li> -<li><a class="reference external" href="https://packages.debian.org/sid/python3-eccodes">eccodes for python</a></li> -</ul> -</td> +<tr class="row-even"><td>Remote</td> +<td>Gateway</td> +<td>Local</td> +<td>Local</td> +</tr> +<tr class="row-odd"><td>Operational</td> +<td>1</td> +<td>1</td> +<td>1,2</td> <td><ul class="first last simple"> -<li><a class="reference external" href="https://gcc.gnu.org/wiki/GFortran">gfortran</a></li> -<li><a class="reference external" href="http://www.fftw.org">fftw3</a></li> -<li><a class="reference external" href="https://software.ecmwf.int/wiki/display/ECC">eccodes</a></li> -<li><a class="reference external" href="https://software.ecmwf.int/wiki/display/EMOS/Emoslib">emoslib</a></li> +<li></li> </ul> </td> </tr> -</tbody> -</table> -</div> -<div class="section" id="prepare-remote-environment"> -<span id="ref-prep-remote"></span><h4>Prepare remote environment<a class="headerlink" href="#prepare-remote-environment" title="Permalink to this headline">¶</a></h4> -<p>The environment on the ECMWF server (such as <em>ecgate</em> or <em>cca</em>) is already -prepared. ECMWF server provide all libraries via a module system which is -going to be selected by <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> automatically.</p> -</div> -<div class="section" id="remote-installation"> -<span id="ref-install-remote"></span><h4>Remote installation<a class="headerlink" href="#remote-installation" title="Permalink to this headline">¶</a></h4> -<p>First, log in on one of the ECMWF Linux server, such as <em>ecgate</em> or <em>cca/ccb</em>. -Substitute <em><ecuid></em> with your ECMWF user name:</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ssh -X <ecuid>@ecaccess.ecmwf.int -</pre></div> -</div> -<p>This will lead to the following output on the command line, asking for your -password:</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>Authorized access only. - -*************************************************************** - For further information, read the ECaccess documentation at: - - https://software.ecmwf.int/wiki/display/ECAC/ECaccess+Home - - You can also use ECaccess to load & download files from your - EChome, ECscratch or ECfs directories using the ECaccess FTP - server: - - ftp://uid@ecaccess.ecmwf.int/ - - Please note you must use your UID and ActivID code to login! -*************************************************************** - -<ecuid>@131.130.157.5's password: *** -Select hostname (ecgate, cca, ccb) [ecgate]: ecgate - -[<ecuid>@ecgb11 ~]$ -</pre></div> -</div> -<p>Then, copy the <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> tar ball (from section <a class="reference internal" href="#ref-download"><span class="std std-ref">Download flex_extract</span></a>) -to the <code class="docutils literal notranslate"><span class="pre">$HOME</span></code> directory of the ECMWF Linux server via <code class="docutils literal notranslate"><span class="pre">scp</span></code>. -Substitute the <em><localuser></em> and <em><server.edu></em> placeholders with your credentials. -Untar the file and change into the <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> root directory.</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>scp <localuser>@<server.edu>:/path/to/tarfile/flex_extract_vX.X.tar.gz <span class="nv">$HOME</span>/ -<span class="nb">cd</span> <span class="nv">$HOME</span> -tar xvf flex_extract_vX.X.tar.gz -<span class="nb">cd</span> flex_extract_vX.X -</pre></div> -</div> -<p>On these ECMWF servers, it is not necessary to prepare the environment or the -<code class="docutils literal notranslate"><span class="pre">Makefile</span></code> for the Fortran program (<code class="docutils literal notranslate"><span class="pre">CONVERT2</span></code>) as described above. -All third party libraries are available from a module system. The <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> -is optimized for ECMWF servers and the compilation -script <code class="docutils literal notranslate"><span class="pre">compilejob.ksh</span></code>, which will be submitted by <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> to the -batch job queue at ECMWF, does load all relevant modules from the ECMWF’s module system.</p> -<p>So there is just the need to execute the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script from the -<code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> root directory for installation. -Before executing it, it is necessary to adapt some parameters from <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> -described in <a class="reference internal" href="Documentation/Input/setup.html"><span class="doc">The Installation Script - setup.sh</span></a>.</p> -<p>Open <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> with your editor and adapt the values:</p> -<table border="1" class="docutils"> -<colgroup> -<col width="50%" /> -<col width="50%" /> -</colgroup> -<tbody valign="top"> -<tr class="row-odd"><td>Take this for target = <strong>ectrans</strong></td> -<td>Take this for target = <strong>cca</strong></td> +<tr class="row-even"><td>ERA-Interim</td> +<td>1</td> +<td>1</td> +<td>1,2</td> +<td>2</td> </tr> -<tr class="row-even"><td><div class="first last highlight-bash notranslate"><div class="highlight"><pre><span></span>... -<span class="c1"># -----------------------------------------</span> -<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span> -<span class="c1">#</span> -<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span> -<span class="c1">#</span> -<span class="nv">TARGET</span><span class="o">=</span><span class="s1">'ecgate'</span> -<span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.gfortran'</span> -<span class="nv">ECUID</span><span class="o">=</span><span class="s1">'uid'</span> -<span class="nv">ECGID</span><span class="o">=</span><span class="s1">'gid'</span> -<span class="nv">GATEWAY</span><span class="o">=</span>None -<span class="nv">DESTINATION</span><span class="o">=</span>None -<span class="nv">INSTALLDIR</span><span class="o">=</span>None -<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">'job.template'</span> -<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</span> -... -</pre></div> -</div> -</td> -<td><div class="first last highlight-bash notranslate"><div class="highlight"><pre><span></span>... -<span class="c1"># -----------------------------------------</span> -<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span> -<span class="c1">#</span> -<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span> -<span class="c1">#</span> -<span class="nv">TARGET</span><span class="o">=</span><span class="s1">'cca'</span> -<span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.CRAY'</span> -<span class="nv">ECUID</span><span class="o">=</span><span class="s1">'uid'</span> -<span class="nv">ECGID</span><span class="o">=</span><span class="s1">'gid'</span> -<span class="nv">GATEWAY</span><span class="o">=</span>None -<span class="nv">DESTINATION</span><span class="o">=</span>None -<span class="nv">INSTALLDIR</span><span class="o">=</span><span class="s1">''</span> -<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">'job.template'</span> -<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</span> -... -</pre></div> -</div> -</td> +<tr class="row-odd"><td>CERA-20C</td> +<td>1</td> +<td>1</td> +<td>1,2</td> +<td>2</td> </tr> -</tbody> -</table> -<p><span class="underline">Please substitute the values of ECUID and ECGID -with your own credentials and settings.</span></p> -<div class="admonition note"> -<p class="first admonition-title">Note</p> -<p class="last">If a local gateway server is available the transfer of files could be done -via the <code class="docutils literal notranslate"><span class="pre">ECaccess</span></code> commands. Therefore a valid <em>GATEWAY</em> and <em>DESTINATION</em> -have to be present and should be set in the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> file.</p> -</div> -<p>Afterwards, type:</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>module load python3 -./setup.sh -</pre></div> -</div> -<p>to start the installation. You should see the following output at the command line.</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span> -Create tarball ... -Job compilation script has been submitted to ecgate <span class="k">for</span> installation in <span class="si">${</span><span class="nv">HOME</span><span class="si">}</span>/flex_extract_vX.X -You should get an email with subject <span class="s2">"flexcompile"</span> within the next few minutes! -</pre></div> -</div> -<p>The email content should look like this with a “SUCCESS” statement in the last line:</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp phgrreal.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp grphreal.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp ftrafo.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 --rwxr-x---. <span class="m">1</span> USER at <span class="m">353134</span> May <span class="m">23</span> <span class="m">12</span>:27 CONVERT2 -SUCCESS! -</pre></div> -</div> -</div> -</div> -<div class="section" id="gateway-mode"> -<span id="ref-gateway-mode"></span><h3>Gateway mode<a class="headerlink" href="#gateway-mode" title="Permalink to this headline">¶</a></h3> -<div class="section" id="gateway-environment-requirements"> -<span id="ref-req-gateway"></span><h4>Gateway environment requirements<a class="headerlink" href="#gateway-environment-requirements" title="Permalink to this headline">¶</a></h4> -<p>The environment on your local system has to provide these software packages -and libraries, since <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> does only prepare the job script and send -it to the ECMWF servers:</p> -<ul class="simple"> -<li><a class="reference external" href="https://www.python.org/downloads/">Python3</a> or <a class="reference external" href="https://www.anaconda.com/distribution/#download-section">Anaconda Python3</a></li> -<li><a class="reference external" href="http://www.numpy.org/">numpy</a></li> -<li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li> -</ul> -</div> -<div class="section" id="prepare-gateway-environment"> -<span id="ref-prep-gateway"></span><h4>Prepare gateway environment<a class="headerlink" href="#prepare-gateway-environment" title="Permalink to this headline">¶</a></h4> -<p>The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights. -The installation was tested on a <em>GNU/Linux Debian buster</em> and an <em>Ubuntu 18.04 Bionic Beaver</em> system.</p> -<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># On a Linux Debian or Ubuntu system do</span> -<span class="c1"># (if not already available):</span> -apt-get install python3 -apt-get install pip -apt-get install genshi -apt-get install numpy -</pre></div> -</div> -</div> -<div class="section" id="test-gateway-environment"> -<span id="ref-test-gateway"></span><h4>Test gateway environment<a class="headerlink" href="#test-gateway-environment" title="Permalink to this headline">¶</a></h4> -<p>Check the availability of the python packages by typing <code class="docutils literal notranslate"><span class="pre">python3</span></code> in -a terminal window and run the <code class="docutils literal notranslate"><span class="pre">import</span></code> commands in the python shell. -If there are no error messages, you succeeded in setting up the environment.</p> -<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># check in python3 console</span> -<span class="kn">import</span> <span class="nn">genshi</span> -<span class="kn">import</span> <span class="nn">numpy</span> -</pre></div> -</div> -</div> -<div class="section" id="gateway-installation"> -<span id="ref-install-gateway"></span><h4>Gateway installation<a class="headerlink" href="#gateway-installation" title="Permalink to this headline">¶</a></h4> -<p>In this mode, access to the ECMWF computing and archiving facilities is enabled through an ECaccess gateway server on a local member state server. The ECaccess framework is necessary to interactively submit jobs to the ECMWF batch system and to transfer files between ECMWF and local gateway server.</p> -<p>Please see <a class="reference external" href="https://confluence.ecmwf.int/display/ECAC/ECaccess+Home">ECMWF’s instructions on gateway server</a> to establish the gateway server if not already in place. -Additionally, to be able to use the Ecaccess file transfer service <strong>ectrans</strong> please also create an association. -The easiest way is to visit the ECaccess Member State Gateway website (e.g. msgatway.ecmwf.int) and follow the instructions in the short <a class="reference external" href="https://confluence.ecmwf.int/download/attachments/45759146/ECaccess.pdf">ECaccess Presentation</a> (page 17 ff.). Additional documentation can be found on the <a class="reference external" href="https://confluence.ecmwf.int/display/ECAC/Unattended+file+transfer+-+ectrans">ECMWF ectrans site</a>.</p> -<p>After everything is set up you have to create an <em>ecaccess certificate</em> to be able to send and receive files from and to the ECMWF server. You can do this by using the <code class="docutils literal notranslate"><span class="pre">ecaccess-certificate-create</span></code> command on the gateway server. You will be prompted for your ECMWF member state user name and a password (which will be usually generated by a Token). This certificate has to be re-newed periodically (every 7 days).</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ecaccess-certificate-create -Please enter your user-id: example_username -Your passcode: *** -</pre></div> -</div> -<p><code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> will be run on an ECMWF server which makes the setup the same as for the <strong>remote mode</strong>. In the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script <a class="reference external" href="Documentation/Input/setup.html">[ref]</a>, select the <code class="docutils literal notranslate"><span class="pre">Makefile.gfortran</span></code> for the <code class="docutils literal notranslate"><span class="pre">CONVERT2</span></code> Fortran program and the ECMWF server (<em>target</em>) you would like to use. -The job script, send to the job queue via the ECaccess software, selects again automatically the correct libraries from the module system. For enableing the file transfer you have to set the <em>ECUID</em>, <em>ECGID</em>, <em>GATEWAY</em> and <em>DESTINATION</em> parameter values.</p> -<div class="literal-block-wrapper docutils container" id="setup-sh"> -<div class="code-block-caption"><span class="caption-text">‘Example settings for a gateway installation.’</span><a class="headerlink" href="#setup-sh" title="Permalink to this code">¶</a></div> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># -----------------------------------------------------------------</span> -<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span> -<span class="c1">#</span> -<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span> -<span class="c1">#</span> -<span class="nv">TARGET</span><span class="o">=</span><span class="s1">'ecgate'</span> -<span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.gfortran'</span> -<span class="nv">ECUID</span><span class="o">=</span><span class="s1">'uid'</span> -<span class="nv">ECGID</span><span class="o">=</span><span class="s1">'gid'</span> -<span class="nv">GATEWAY</span><span class="o">=</span><span class="s1">'server.example.edu'</span> -<span class="nv">DESTINATION</span><span class="o">=</span><span class="s1">'example@genericSftp'</span> -<span class="nv">INSTALLDIR</span><span class="o">=</span>None -<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">'job.template'</span> -<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</span> -</pre></div> -</div> -</div> -<p>Afterwards, type:</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup.sh -</pre></div> -</div> -<p>to start the installation. You should see the following output at the command line.</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span> -Create tarball ... -Job compilation script has been submitted to ecgate <span class="k">for</span> installation in <span class="si">${</span><span class="nv">HOME</span><span class="si">}</span>/flex_extract_vX.X -You should get an email with subject <span class="s2">"flexcompile"</span> within the next few minutes! -</pre></div> -</div> -<p>The email content should look like this with a “SUCCESS” statement in the last line:</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp phgrreal.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp grphreal.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp ftrafo.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 --rwxr-x---. <span class="m">1</span> USER at <span class="m">353134</span> May <span class="m">23</span> <span class="m">12</span>:27 CONVERT2 -SUCCESS! -</pre></div> -</div> -</div> -</div> -<div class="section" id="local-mode"> -<span id="ref-local-mode"></span><h3>Local mode<a class="headerlink" href="#local-mode" title="Permalink to this headline">¶</a></h3> -<div class="section" id="local-environment-requirements"> -<span id="ref-req-local"></span><h4>Local environment requirements<a class="headerlink" href="#local-environment-requirements" title="Permalink to this headline">¶</a></h4> -<p>For the local access modes <strong>member</strong> and <strong>public</strong> there is no difference in -the installation process.</p> -<p>The environment on your local system has to provide these software packages -and libraries, since all extraction and preparation is done at the local system:</p> -<table border="1" class="docutils"> -<colgroup> -<col width="74%" /> -<col width="26%" /> -</colgroup> -<tbody valign="top"> -<tr class="row-odd"><td>Python part</td> -<td>Fortran part</td> -</tr> -<tr class="row-even"><td><ul class="first last simple"> -<li><a class="reference external" href="https://www.python.org/downloads/">Python3</a></li> -<li><a class="reference external" href="http://www.numpy.org/">numpy</a></li> -<li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li> -<li><a class="reference external" href="https://packages.debian.org/sid/python3-eccodes">eccodes for python</a></li> -<li><a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home">ecmwf-api-client</a> (everything except ERA5)</li> -<li><a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">cdsapi</a> (just for ERA5)</li> -</ul> -</td> +<tr class="row-even"><td>ERA5</td> +<td>1</td> +<td>1</td> +<td>3</td> <td><ul class="first last simple"> -<li><a class="reference external" href="https://gcc.gnu.org/wiki/GFortran">gfortran</a></li> -<li><a class="reference external" href="http://www.fftw.org">fftw3</a></li> -<li><a class="reference external" href="https://software.ecmwf.int/wiki/display/ECC">eccodes</a></li> -<li><a class="reference external" href="https://software.ecmwf.int/wiki/display/EMOS/Emoslib">emoslib</a></li> +<li></li> </ul> </td> </tr> </tbody> </table> +<p>Registration options:</p> +<blockquote> +<div><p>1.) Access through a member-state user account granted by the <a class="reference external" href="https://www.ecmwf.int/en/about/contact-us/computing-representatives">Computing Representative</a>. The credentials have to be provided during installation.</p> +<p>2.) Access through the ECMWF Web API. Need to sign in at <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home">ECMWF Web API</a> and configure the ECMWF key as described. Member-state users can sign in with their credentials from the <a class="reference external" href="https://www.ecmwf.int/en/about/contact-us/computing-representatives">Computing Representative</a> and public users have to fill out the <a class="reference external" href="https://apps.ecmwf.int/registration/">registration form</a> to get an account.</p> +<p>3.) Access through the <a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">CDS API</a>. Extra registration for member-state users is required at <a class="reference external" href="https://cds.climate.copernicus.eu/user/register">Copernicus Climate Data Store</a> including the configurations of the CDS key as described. This mode is currently not available for public users. See the note at <a class="reference external" href="Ecmwf/access.html">user group</a> for information.</p> +</div></blockquote> </div> -<div class="section" id="prepare-local-environment"> -<span id="ref-prep-local"></span><h4>Prepare local environment<a class="headerlink" href="#prepare-local-environment" title="Permalink to this headline">¶</a></h4> -<p>The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights. -The installation was tested on a <em>Debian GNU/Linux buster/sid</em> and an <em>Ubuntu 18.04 Bionic Beaver</em> system.</p> -<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># On a Linux Debian or Ubuntu system do</span> -<span class="c1"># (if not already available):</span> -apt-get install python3 <span class="o">(</span>usually available on normal Linux systems<span class="o">)</span> -apt-get install pip -apt-get install gfortran -apt-get install fftw3-dev -apt-get install libeccodes-dev -apt-get install libemos-dev -apt-get install python3-eccodes -apt-get install genshi -apt-get install numpy -pip install cdsapi -pip install ecmwf-api-client -</pre></div> -</div> -<div class="admonition note"> -<p class="first admonition-title">Note</p> -<p>In case you would like to use Anaconda Python we recommend you follow the installation instructions of -<a class="reference external" href="https://docs.anaconda.com/anaconda/install/linux/">Anaconda Python Installation for Linux</a> and then install the -<code class="docutils literal notranslate"><span class="pre">eccodes</span></code> package from <code class="docutils literal notranslate"><span class="pre">conda</span></code> with:</p> -<div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>conda install conda-forge::python-eccodes -</pre></div> -</div> -</div> -<p>The CDS API (cdsapi) and the ECMWF Web API (ecmwf-api-client) have both to be installed since ERA5 can only be retrieved with the <code class="docutils literal notranslate"><span class="pre">CDS</span> <span class="pre">API</span></code> and all other datasets with the <code class="docutils literal notranslate"><span class="pre">ECMWF</span> <span class="pre">Web</span> <span class="pre">API</span></code>.</p> -<div class="admonition note"> -<p class="first admonition-title">Note</p> -<p class="last">Since <strong>public users</strong> currently don’t have access to the full <em>ERA5</em> dataset they can skip the installation of the <code class="docutils literal notranslate"><span class="pre">CDS</span> <span class="pre">API</span></code>.</p> +<div class="section" id="licence-agreement-for-public-datasets"> +<span id="ref-licence"></span><h2>Licence agreement for public datasets<a class="headerlink" href="#licence-agreement-for-public-datasets" title="Permalink to this headline">¶</a></h2> +<p>Each ECMWF public dataset has its own licence which has to be accepted, regardless of the user group.</p> +<p>For the <em>ERA-Interim</em> and <em>CERA-20C</em> datasets this can be done at the ECMWF website <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets">Available ECMWF Public Datasets</a>. Log in and follow the licence links on the right side for each dataset and accept it.</p> +<p>For the <em>ERA5</em> dataset this has to be done at the <a class="reference external" href="https://cds.climate.copernicus.eu/cdsapp#!/search?type=dataset">Climate Data Store (CDS) website</a>. Log in and select, on the left panel, product type “Reanalysis” for finding <em>ERA5</em> datasets. Then follow any link with <em>ERA5</em> to the full dataset record, click on tab “Download data” and scroll down. There is a section “Terms of use” where you have to click the <span class="underline">Accept terms</span> button.</p> </div> -<p>Both user groups have to provide key’s with their credentials for the Web API’s in their home directory. Therefore, follow these instructions:</p> +<div class="section" id="download-flex-extract"> +<span id="ref-download"></span><h2>Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code><a class="headerlink" href="#download-flex-extract" title="Permalink to this headline">¶</a></h2> +<p>There are two options to download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>:</p> <dl class="docutils"> -<dt>ECMWF Web API:</dt> -<dd>Go to <a class="reference external" href="https://confluence.ecmwf.int//display/WEBAPI/Access+MARS">MARS access</a> website and log in with your credentials. Afterwards, on this site in section “Install ECMWF KEY” the key for the ECMWF Web API should be listed. Please follow the instructions in this section under point 1 (save the key in a file <cite>.ecmwfapirc</cite> in your home directory).</dd> -<dt>CDS API:</dt> -<dd>Go to ‘CDS API registration’_ and register there too. Log in at the <a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">cdsapi</a> website and follow the instructions at section “Install the CDS API key” to save your credentials in a <cite>.cdsapirc</cite> file.</dd> -</dl> -</div> -<div class="section" id="test-local-environment"> -<span id="ref-test-local"></span><h4>Test local environment<a class="headerlink" href="#test-local-environment" title="Permalink to this headline">¶</a></h4> -<p>Check the availability of the system packages with <code class="docutils literal notranslate"><span class="pre">dpkg</span> <span class="pre">-s</span> <span class="pre"><package-name></span> <span class="pre">|</span>  <span class="pre">grep</span> <span class="pre">Status</span></code> or <code class="docutils literal notranslate"><span class="pre">rpm</span> <span class="pre">-q</span> <span class="pre"><package_name></span></code>, depending on your system. For example:</p> -<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ dpkg -s libeccodes-dev <span class="p">|</span> grep Status -<span class="c1"># or</span> -$ rpm -q libeccodes-dev -</pre></div> -</div> -<p>Afterwards, check the availability of the python packages by typing <code class="docutils literal notranslate"><span class="pre">python3</span></code> in -a terminal window and run the <code class="docutils literal notranslate"><span class="pre">import</span></code> commands in the python shell. If there are no error messages, you succeeded in setting up the environment.</p> -<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># check in python3 console</span> -<span class="kn">import</span> <span class="nn">eccodes</span> -<span class="kn">import</span> <span class="nn">genshi</span> -<span class="kn">import</span> <span class="nn">numpy</span> -<span class="kn">import</span> <span class="nn">cdsapi</span> -<span class="kn">import</span> <span class="nn">ecmwfapi</span> -</pre></div> -</div> -<div class="section" id="test-the-web-api-s"> -<h5>Test the Web API’s<a class="headerlink" href="#test-the-web-api-s" title="Permalink to this headline">¶</a></h5> -<p>You can start very simple test retrievals for both Web API’s to be sure that everything works. This is recommended to minimize the range of possible errors using <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> later on.</p> -</div> -<div class="section" id="ecmwf-web-api"> -<h5>ECMWF Web API<a class="headerlink" href="#ecmwf-web-api" title="Permalink to this headline">¶</a></h5> -<table border="1" class="docutils"> -<colgroup> -<col width="50%" /> -<col width="50%" /> -</colgroup> -<tbody valign="top"> -<tr class="row-odd"><td>Please use this piece of python code for <strong>Member user</strong>:</td> -<td>Please use this piece of python code for <strong>Public user</strong>:</td> -</tr> -<tr class="row-even"><td><div class="first last highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ecmwfapi</span> <span class="kn">import</span> <span class="n">ECMWFService</span> - -<span class="n">server</span> <span class="o">=</span> <span class="n">ECMWFService</span><span class="p">(</span><span class="s1">'mars'</span><span class="p">)</span> - -<span class="n">server</span><span class="o">.</span><span class="n">retrieve</span><span class="p">({</span> - <span class="s1">'stream'</span> <span class="p">:</span> <span class="s2">"oper"</span><span class="p">,</span> - <span class="s1">'levtype'</span> <span class="p">:</span> <span class="s2">"sfc"</span><span class="p">,</span> - <span class="s1">'param'</span> <span class="p">:</span> <span class="s2">"165.128/166.128/167.128"</span><span class="p">,</span> - <span class="s1">'dataset'</span> <span class="p">:</span> <span class="s2">"interim"</span><span class="p">,</span> - <span class="s1">'step'</span> <span class="p">:</span> <span class="s2">"0"</span><span class="p">,</span> - <span class="s1">'grid'</span> <span class="p">:</span> <span class="s2">"0.75/0.75"</span><span class="p">,</span> - <span class="s1">'time'</span> <span class="p">:</span> <span class="s2">"00/06/12/18"</span><span class="p">,</span> - <span class="s1">'date'</span> <span class="p">:</span> <span class="s2">"2014-07-01/to/2014-07-31"</span><span class="p">,</span> - <span class="s1">'type'</span> <span class="p">:</span> <span class="s2">"an"</span><span class="p">,</span> - <span class="s1">'class'</span> <span class="p">:</span> <span class="s2">"ei"</span><span class="p">,</span> - <span class="s1">'target'</span> <span class="p">:</span> <span class="s2">"download_erainterim_ecmwfapi.grib"</span> -<span class="p">})</span> -</pre></div> -</div> -</td> -<td><div class="first last highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ecmwfapi</span> <span class="kn">import</span> <span class="n">ECMWFDataServer</span> - -<span class="n">server</span> <span class="o">=</span> <span class="n">ECMWFDataServer</span><span class="p">()</span> - -<span class="n">server</span><span class="o">.</span><span class="n">retrieve</span><span class="p">({</span> - <span class="s1">'stream'</span> <span class="p">:</span> <span class="s2">"enda"</span><span class="p">,</span> - <span class="s1">'levtype'</span> <span class="p">:</span> <span class="s2">"sfc"</span><span class="p">,</span> - <span class="s1">'param'</span> <span class="p">:</span> <span class="s2">"165.128/166.128/167.128"</span><span class="p">,</span> - <span class="s1">'dataset'</span> <span class="p">:</span> <span class="s2">"cera20c"</span><span class="p">,</span> - <span class="s1">'step'</span> <span class="p">:</span> <span class="s2">"0"</span><span class="p">,</span> - <span class="s1">'grid'</span> <span class="p">:</span> <span class="s2">"1./1."</span><span class="p">,</span> - <span class="s1">'time'</span> <span class="p">:</span> <span class="s2">"00/06/12/18"</span><span class="p">,</span> - <span class="s1">'date'</span> <span class="p">:</span> <span class="s2">"2000-07-01/to/2000-07-31"</span><span class="p">,</span> - <span class="s1">'type'</span> <span class="p">:</span> <span class="s2">"an"</span><span class="p">,</span> - <span class="s1">'class'</span> <span class="p">:</span> <span class="s2">"ep"</span><span class="p">,</span> - <span class="s1">'target'</span> <span class="p">:</span> <span class="s2">"download_cera20c_ecmwfapi.grib"</span> -<span class="p">})</span> -</pre></div> -</div> -</td> -</tr> -</tbody> -</table> -</div> -<div class="section" id="cds-api"> -<h5>CDS API<a class="headerlink" href="#cds-api" title="Permalink to this headline">¶</a></h5> -<p>Since ERA5 extraction with CDS API might take some time due to the very high number of requests, you can start by retrieving some online stored pressure levels (not from MARS). This is usually much faster and gives a quick result to find out if the web API works:</p> -<p>Please use this piece of python code to retrieve a small sample of <em>ERA5</em> pressure levels:</p> -<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">cdsapi</span> - -<span class="n">c</span> <span class="o">=</span> <span class="n">cdsapi</span><span class="o">.</span><span class="n">Client</span><span class="p">()</span> - -<span class="n">c</span><span class="o">.</span><span class="n">retrieve</span><span class="p">(</span><span class="s2">"reanalysis-era5-pressure-levels"</span><span class="p">,</span> -<span class="p">{</span> -<span class="s2">"variable"</span><span class="p">:</span> <span class="s2">"temperature"</span><span class="p">,</span> -<span class="s2">"pressure_level"</span><span class="p">:</span> <span class="s2">"1000"</span><span class="p">,</span> -<span class="s2">"product_type"</span><span class="p">:</span> <span class="s2">"reanalysis"</span><span class="p">,</span> -<span class="s2">"year"</span><span class="p">:</span> <span class="s2">"2008"</span><span class="p">,</span> -<span class="s2">"month"</span><span class="p">:</span> <span class="s2">"01"</span><span class="p">,</span> -<span class="s2">"day"</span><span class="p">:</span> <span class="s2">"01"</span><span class="p">,</span> -<span class="s2">"time"</span><span class="p">:</span> <span class="s2">"12:00"</span><span class="p">,</span> -<span class="s2">"format"</span><span class="p">:</span> <span class="s2">"grib"</span> -<span class="p">},</span> -<span class="s2">"download_cdsapi.grib"</span><span class="p">)</span> +<dt>tar ball</dt> +<dd><p class="first">You can download a tar ball with the latest release from the <a class="reference external" href="https://www.flexpart.eu/wiki/FpInputMetEcmwf">flex_extract page</a> from our <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code> community website and then untar the file.</p> +<div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>tar -xvf <flex_extract_vX.X.tar> </pre></div> </div> -<p>Afterwards, when you know that the CDS API generally works, you can try to extract some -data from the MARS archive. From the latest experience we know that this can take a while.</p> -<p>Please use this piece of python code to retrieve a small <em>ERA5</em> data sample as a <strong>member user</strong>! The <strong>public user</strong> doesn’t have access to the full <em>ERA5</em> dataset!</p> -<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">cdsapi</span> - -<span class="n">c</span> <span class="o">=</span> <span class="n">cdsapi</span><span class="o">.</span><span class="n">Client</span><span class="p">()</span> - -<span class="n">c</span><span class="o">.</span><span class="n">retrieve</span><span class="p">(</span><span class="s1">'reanalysis-era5-complete'</span><span class="p">,</span> -<span class="p">{</span> - <span class="s1">'class'</span> <span class="p">:</span> <span class="s1">'ea'</span><span class="p">,</span> - <span class="s1">'expver'</span> <span class="p">:</span> <span class="s1">'1'</span><span class="p">,</span> - <span class="s1">'stream'</span> <span class="p">:</span> <span class="s1">'oper'</span><span class="p">,</span> - <span class="s1">'type'</span> <span class="p">:</span> <span class="s1">'fc'</span><span class="p">,</span> - <span class="s1">'step'</span> <span class="p">:</span> <span class="s1">'3/to/12/by/3'</span><span class="p">,</span> - <span class="s1">'param'</span> <span class="p">:</span> <span class="s1">'130.128'</span><span class="p">,</span> - <span class="s1">'levtype'</span> <span class="p">:</span> <span class="s1">'ml'</span><span class="p">,</span> - <span class="s1">'levelist'</span><span class="p">:</span> <span class="s1">'135/to/137'</span><span class="p">,</span> - <span class="s1">'date'</span> <span class="p">:</span> <span class="s1">'2013-01-01'</span><span class="p">,</span> - <span class="s1">'time'</span> <span class="p">:</span> <span class="s1">'06/18'</span><span class="p">,</span> - <span class="s1">'area'</span> <span class="p">:</span> <span class="s1">'50/-5/40/5'</span><span class="p">,</span> - <span class="s1">'grid'</span> <span class="p">:</span> <span class="s1">'1.0/1.0'</span><span class="p">,</span> - <span class="s1">'format'</span> <span class="p">:</span> <span class="s1">'grib'</span><span class="p">,</span> -<span class="p">},</span> <span class="s1">'download_era5_cdsapi.grib'</span><span class="p">)</span> +</dd> +<dt>git repo</dt> +<dd><p class="first">Alternatively, if you have <code class="docutils literal notranslate"><span class="pre">git</span></code> installed on your machine, and if you are interested to keep the code in a version control system, you may clone the latest version from our git repository master branch.</p> +<div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>$ git clone --single-branch --branch master https://www.flexpart.eu/gitmob/flexpart </pre></div> </div> +</dd> +</dl> </div> +<div class="section" id="environment-requirements"> +<span id="ref-requirements"></span><h2>Environment requirements<a class="headerlink" href="#environment-requirements" title="Permalink to this headline">¶</a></h2> +<p>The software required for running <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> depends on the <a class="reference internal" href="Documentation/Overview/app_modes.html"><span class="doc">Application Modes</span></a> and therefore is described in the respective specific installation sections.</p> +<p>Generally speaking, <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> requires <a class="reference external" href="https://docs.python.org/3/">Python 3</a> and Fortran together with certain modules / libraries. +We tested <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> with the python3 package from the the GNU/Linux distribution and Anaconda Python. The required python3 modules should prefarably be installed as distribution packages, or alternatively using Python’s own package manager <code class="docutils literal notranslate"><span class="pre">pip</span></code> (this may mess up some aspects of your python installation, especially if you use <code class="docutils literal notranslate"><span class="pre">pip</span></code> as root. Think about using virtual environments.).</p> </div> -<div class="section" id="local-installation"> -<span id="ref-install-local"></span><h4>Local installation<a class="headerlink" href="#local-installation" title="Permalink to this headline">¶</a></h4> -<p>First prepare the Fortran <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> for your environment and set it -in the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script. (See section <span class="xref std std-ref">ref-convert</span> for information on -the Fortran program.) -<code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> has already two <code class="docutils literal notranslate"><span class="pre">Makefiles</span></code> prepared for te <code class="docutils literal notranslate"><span class="pre">gfortran</span></code> and -the <code class="docutils literal notranslate"><span class="pre">ifort</span></code> compiler:</p> +<div class="section" id="installation-of-flex-extract"> +<span id="ref-install-fe"></span><h2>Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code><a class="headerlink" href="#installation-of-flex-extract" title="Permalink to this headline">¶</a></h2> +<p>The actual installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> is done by executing a shell script called <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code>. +It defines some parameters and calls a Python script passing the parameters as command line arguments. For details, see <a class="reference internal" href="Documentation/Input/setup.html"><span class="doc">The Installation Script - setup.sh</span></a>.</p> +<p>For each application mode installation section we describe the requirements for the explicit +environment and how it is installed, test if it works and how the actual <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> +installation has to be done. At the users local side not all software has to be present for <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>.</p> +<p>Select one of the following modes to install:</p> <blockquote> -<div><ul class="simple"> -<li>Makefile.local.gfortran</li> -<li>Makefile.local.ifort</li> -</ul> +<div><p><a class="reference internal" href="Installation/remote.html"><span class="doc">Remote mode installation</span></a></p> +<p><a class="reference internal" href="Installation/gateway.html"><span class="doc">Gateway mode installation</span></a></p> +<p><a class="reference internal" href="Installation/local.html"><span class="doc">Local mode installation</span></a></p> </div></blockquote> -<p>They can be found in the path <code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X/source/fortran</span></code>, where -<code class="docutils literal notranslate"><span class="pre">vX.X</span></code> should be substituted with the current version number.</p> -<div class="admonition caution"> -<p class="first admonition-title">Caution</p> -<p class="last">It is necessary to adapt <strong>ECCODES_INCLUDE_DIR</strong> and <strong>ECCODES_LIB</strong> in these -<code class="docutils literal notranslate"><span class="pre">Makefiles</span></code>.</p> -</div> -<p>So starting from the root directory of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>, -go to the <code class="docutils literal notranslate"><span class="pre">Fortran</span></code> source directory and open the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> of your -choice to modify with an editor of your choice. We use the <code class="docutils literal notranslate"><span class="pre">nedit</span></code> in this case.</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> flex_extract_vX.X/source/fortran -nedit Makefile.local.gfortran -</pre></div> -</div> -<p>Edit the pathes to the <code class="docutils literal notranslate"><span class="pre">eccodes</span></code> library on your local machine.</p> -<div class="admonition caution"> -<p class="first admonition-title">Caution</p> -<p>This can vary from system to system. -It is suggested to use a command like</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># for the ECCODES_INCLUDE_DIR path do:</span> -$ dpkg -L libeccodes-dev <span class="p">|</span> grep eccodes.mod -<span class="c1"># for the ECCODES_LIB path do:</span> -$ dpkg -L libeccodes-dev <span class="p">|</span> grep libeccodes.so -</pre></div> -</div> -<p class="last">to find out the path to the <code class="docutils literal notranslate"><span class="pre">eccodes</span></code> library.</p> -</div> -<p>Substitute these paths in the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> for parameters <strong>ECCODES_INCLUDE_DIR</strong> -and <strong>ECCODES_LIB</strong> and save it.</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># these are the paths on a current Debian 10 Testing system (May 2019)</span> -<span class="nv">ECCODES_INCLUDE_DIR</span><span class="o">=</span>/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15/ -<span class="nv">ECCODES_LIB</span><span class="o">=</span> -L/usr/lib -leccodes_f90 -leccodes -lm -</pre></div> -</div> -<p>The Fortran program called <code class="docutils literal notranslate"><span class="pre">CONVERT2</span></code> will be compiled during the -installation process to get an executable. Therefore the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> -has to be set in the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script.</p> -<p>In the root directory of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>, open the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script -and adapt the installation parameters in the section labelled with -“AVAILABLE COMMANDLINE ARGUMENTS TO SET” like shown below.</p> -<div class="literal-block-wrapper docutils container" id="id2"> -<div class="code-block-caption"><span class="caption-text">‘Example settings for a local installation.’</span><a class="headerlink" href="#id2" title="Permalink to this code">¶</a></div> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>... -<span class="c1"># -----------------------------------------------------------------</span> -<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span> -<span class="c1">#</span> -<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span> -<span class="c1">#</span> -<span class="nv">TARGET</span><span class="o">=</span><span class="s1">'local'</span> -<span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.local.gfortran'</span> -<span class="nv">ECUID</span><span class="o">=</span>None -<span class="nv">ECGID</span><span class="o">=</span>None -<span class="nv">GATEWAY</span><span class="o">=</span>None -<span class="nv">DESTINATION</span><span class="o">=</span>None -<span class="nv">INSTALLDIR</span><span class="o">=</span>None -<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">'job.template'</span> -<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</span> -... -</pre></div> -</div> -</div> -<p>Afterwards, type:</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup.sh -</pre></div> -</div> -<p>to start the installation. You should see the following output at the command line.</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span> -WARNING: installdir has not been specified -flex_extract will be installed in here by compiling the Fortran <span class="nb">source</span> in /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/source/fortran -Install flex_extract_v7.1 software at <span class="nb">local</span> in directory /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1 - -Using makefile: Makefile.local.gfortran -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp phgrreal.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp grphreal.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -g -O3 -fopenmp ftrafo.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 rwGRIB2.f90 -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 posnam.f -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 preconvert.f90 -gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert<span class="o">=</span>big-endian -O3 -O3 -fopenmp -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/gcc-4.9.3/grib_api-1.14.3/lib -Bstatic -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper -lemosR64 - --rwxrwxr-x. <span class="m">1</span> philipa8 tmc <span class="m">282992</span> May <span class="m">23</span> <span class="m">22</span>:27 ./CONVERT2 -</pre></div> -</div> -</div> +<div class="toctree-wrapper compound"> </div> </div> <div class="section" id="flex-extract-in-combination-with-flexpart"> @@ -896,7 +337,7 @@ STATISTICS: <span class="m">98842</span>.4598 <span class="m">98709</span>.7359 SUCCESSFULLY FINISHED CONVERT_PRE: CONGRATULATIONS </pre></div> </div> -<p>Now go back to the root directoy:</p> +<p>Now go back to the root directory:</p> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ <span class="nb">cd</span> ../../../ </pre></div> </div> @@ -917,10 +358,10 @@ SUCCESSFULLY FINISHED CONVERT_PRE: CONGRATULATIONS <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="quick_start.html" class="btn btn-neutral float-right" title="Quick Start" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="Installation/remote.html" class="btn btn-neutral float-right" title="Remote mode installation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> - <a href="index.html" class="btn btn-neutral float-left" title="<no title>" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> + <a href="index.html" class="btn btn-neutral float-left" title="Welcome to flex_extract’s user documentation!" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> diff --git a/Documentation/html/objects.inv b/Documentation/html/objects.inv index 0a37771f29c00bdd29e8499519cc2ffa6d6dd2b1..49a8afa10517c80bea1e92e9904c34965af48369 100644 GIT binary patch delta 7032 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 delta 6946 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 diff --git a/Documentation/html/quick_start.html b/Documentation/html/quick_start.html index 7947b6a..58e68ac 100644 --- a/Documentation/html/quick_start.html +++ b/Documentation/html/quick_start.html @@ -39,7 +39,7 @@ <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="next" title="ECMWF Data" href="ecmwf_data.html" /> - <link rel="prev" title="Installation" href="installation.html" /> + <link rel="prev" title="Local mode installation" href="Installation/local.html" /> </head> <body class="wy-body-for-nav"> @@ -475,7 +475,7 @@ The forecast starting time is <code class="docutils literal notranslate"><span c It is then available from 1st January 1979 to 31st August 2019. The <code class="docutils literal notranslate"><span class="pre">etadot</span></code> is not available in this dataset. Therefore <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> must select the <code class="docutils literal notranslate"><span class="pre">GAUSS</span></code> parameter to retrieve the divergence field in addition. The vertical velocity is the calculated with the continuity equation in the Fortran program <code class="docutils literal notranslate"><span class="pre">CONVERT2</span></code>. Since the analysis fields are only available for every 6th hour, the dataset can be made 3 hourly by adding forecast fields in between. No ensemble members are available.</p> <div class="admonition-todo admonition" id="index-0"> <p class="first admonition-title">Todo</p> -<p class="last">@LEO: please check the complete describtion and functionality of the CONTROL FILEs</p> +<p class="last">@LEO: please check the complete description and functionality of the CONTROL FILEs</p> </div> </div> <div class="section" id="operational-data"> @@ -629,7 +629,7 @@ RIGHT <span class="m">180</span>. <a href="ecmwf_data.html" class="btn btn-neutral float-right" title="ECMWF Data" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> - <a href="installation.html" class="btn btn-neutral float-left" title="Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> + <a href="Installation/local.html" class="btn btn-neutral float-left" title="Local mode installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> diff --git a/Documentation/html/searchindex.js b/Documentation/html/searchindex.js index 57fde98..a4fe9d4 100644 --- a/Documentation/html/searchindex.js +++ b/Documentation/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["Developers/gen_docu","Documentation/Api/api_fortran","Documentation/Api/api_python","Documentation/Input/changes","Documentation/Input/compilejob","Documentation/Input/control","Documentation/Input/control_params","Documentation/Input/ecmwf_env","Documentation/Input/examples","Documentation/Input/fortran_makefile","Documentation/Input/jobscript","Documentation/Input/run","Documentation/Input/setup","Documentation/Input/templates","Documentation/Overview/app_modes","Documentation/Overview/prog_flow","Documentation/api","Documentation/disagg","Documentation/input","Documentation/output","Documentation/overview","Documentation/vertco","Ecmwf/access","Ecmwf/ec-links","Ecmwf/hintsecmwf","Ecmwf/msdata","Ecmwf/pubdata","Evaluation/metrics","Evaluation/staticcode","Evaluation/testcases","Support/faq","Support/known_bugs_issues","authors","changelog","dev_guide","documentation","ecmwf_data","evaluation","index","installation","quick_start","support","todo"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":1,"sphinx.ext.viewcode":1,sphinx:55},filenames:["Developers/gen_docu.rst","Documentation/Api/api_fortran.rst","Documentation/Api/api_python.rst","Documentation/Input/changes.rst","Documentation/Input/compilejob.rst","Documentation/Input/control.rst","Documentation/Input/control_params.rst","Documentation/Input/ecmwf_env.rst","Documentation/Input/examples.rst","Documentation/Input/fortran_makefile.rst","Documentation/Input/jobscript.rst","Documentation/Input/run.rst","Documentation/Input/setup.rst","Documentation/Input/templates.rst","Documentation/Overview/app_modes.rst","Documentation/Overview/prog_flow.rst","Documentation/api.rst","Documentation/disagg.rst","Documentation/input.rst","Documentation/output.rst","Documentation/overview.rst","Documentation/vertco.rst","Ecmwf/access.rst","Ecmwf/ec-links.rst","Ecmwf/hintsecmwf.rst","Ecmwf/msdata.rst","Ecmwf/pubdata.rst","Evaluation/metrics.rst","Evaluation/staticcode.rst","Evaluation/testcases.rst","Support/faq.rst","Support/known_bugs_issues.rst","authors.rst","changelog.rst","dev_guide.rst","documentation.rst","ecmwf_data.rst","evaluation.rst","index.rst","installation.rst","quick_start.rst","support.rst","todo.rst"],objects:{"":{ControlFile:[2,0,0,"-"],EcFlexpart:[2,0,0,"-"],GribUtil:[2,0,0,"-"],MarsRetrieval:[2,0,0,"-"],UioFiles:[2,0,0,"-"],checks:[2,0,0,"-"],disaggregation:[2,0,0,"-"],get_mars_data:[2,0,0,"-"],install:[2,0,0,"-"],prepare_flexpart:[2,0,0,"-"],submit:[2,0,0,"-"],tools:[2,0,0,"-"]},"ControlFile.ControlFile":{"public":[2,2,1,""],accmaxstep:[2,2,1,""],acctime:[2,2,1,""],acctype:[2,2,1,""],accuracy:[2,2,1,""],addpar:[2,2,1,""],area:[2,2,1,""],assign_args_to_control:[2,3,1,""],assign_envs_to_control:[2,3,1,""],basetime:[2,2,1,""],cds_api:[2,2,1,""],check_conditions:[2,3,1,""],controlfile:[2,2,1,""],cwc:[2,2,1,""],dataset:[2,2,1,""],date_chunk:[2,2,1,""],debug:[2,2,1,""],destination:[2,2,1,""],doubleelda:[2,2,1,""],dpdeta:[2,2,1,""],dtime:[2,2,1,""],ec_api:[2,2,1,""],ecfsdir:[2,2,1,""],ecgid:[2,2,1,""],ecstorage:[2,2,1,""],ectrans:[2,2,1,""],ecuid:[2,2,1,""],end_date:[2,2,1,""],eta:[2,2,1,""],etadiff:[2,2,1,""],etapar:[2,2,1,""],exedir:[2,2,1,""],expver:[2,2,1,""],flexextractdir:[2,2,1,""],format:[2,2,1,""],gateway:[2,2,1,""],gauss:[2,2,1,""],gaussian:[2,2,1,""],grib2flexpart:[2,2,1,""],grid:[2,2,1,""],inputdir:[2,2,1,""],install_target:[2,2,1,""],installdir:[2,2,1,""],left:[2,2,1,""],level:[2,2,1,""],levelist:[2,2,1,""],logicals:[2,2,1,""],lower:[2,2,1,""],mailfail:[2,2,1,""],mailops:[2,2,1,""],makefile:[2,2,1,""],marsclass:[2,2,1,""],maxstep:[2,2,1,""],number:[2,2,1,""],omega:[2,2,1,""],omegadiff:[2,2,1,""],oper:[2,2,1,""],outputdir:[2,2,1,""],prefix:[2,2,1,""],purefc:[2,2,1,""],request:[2,2,1,""],resol:[2,2,1,""],right:[2,2,1,""],rrint:[2,2,1,""],smooth:[2,2,1,""],start_date:[2,2,1,""],step:[2,2,1,""],stream:[2,2,1,""],time:[2,2,1,""],to_list:[2,3,1,""],type:[2,2,1,""],upper:[2,2,1,""],wrf:[2,2,1,""]},"EcFlexpart.EcFlexpart":{"public":[2,2,1,""],accmaxstep:[2,2,1,""],acctime:[2,2,1,""],acctype:[2,2,1,""],accuracy:[2,2,1,""],addpar:[2,2,1,""],area:[2,2,1,""],basetime:[2,2,1,""],calc_extra_elda:[2,3,1,""],create:[2,3,1,""],dataset:[2,2,1,""],dates:[2,2,1,""],deacc_fluxes:[2,3,1,""],dtime:[2,2,1,""],expver:[2,2,1,""],gaussian:[2,2,1,""],glevelist:[2,2,1,""],grid:[2,2,1,""],inputdir:[2,2,1,""],level:[2,2,1,""],levelist:[2,2,1,""],marsclass:[2,2,1,""],mreq_count:[2,2,1,""],number:[2,2,1,""],outputfilelist:[2,2,1,""],params:[2,2,1,""],process_output:[2,3,1,""],purefc:[2,2,1,""],resol:[2,2,1,""],retrieve:[2,3,1,""],server:[2,2,1,""],stream:[2,2,1,""],types:[2,2,1,""],write_namelist:[2,3,1,""]},"GribUtil.GribUtil":{copy_dummy_msg:[2,3,1,""],get_keys:[2,3,1,""],index:[2,3,1,""],set_keys:[2,3,1,""]},"MarsRetrieval.MarsRetrieval":{"public":[2,2,1,""],accuracy:[2,2,1,""],area:[2,2,1,""],data_retrieve:[2,3,1,""],dataset:[2,2,1,""],date:[2,2,1,""],display_info:[2,3,1,""],expver:[2,2,1,""],gaussian:[2,2,1,""],grid:[2,2,1,""],levelist:[2,2,1,""],levtype:[2,2,1,""],marsclass:[2,2,1,""],number:[2,2,1,""],param:[2,2,1,""],print_infodata_csv:[2,3,1,""],repres:[2,2,1,""],resol:[2,2,1,""],server:[2,2,1,""],step:[2,2,1,""],stream:[2,2,1,""],target:[2,2,1,""],time:[2,2,1,""],type:[2,2,1,""]},"UioFiles.UioFiles":{delete_files:[2,3,1,""],files:[2,2,1,""],path:[2,2,1,""],pattern:[2,2,1,""]},ControlFile:{ControlFile:[2,1,1,""]},EcFlexpart:{EcFlexpart:[2,1,1,""]},GribUtil:{GribUtil:[2,1,1,""]},MarsRetrieval:{MarsRetrieval:[2,1,1,""]},UioFiles:{UioFiles:[2,1,1,""]},checks:{check_accmaxstep:[2,4,1,""],check_acctime:[2,4,1,""],check_acctype:[2,4,1,""],check_addpar:[2,4,1,""],check_area:[2,4,1,""],check_basetime:[2,4,1,""],check_dates:[2,4,1,""],check_grid:[2,4,1,""],check_job_chunk:[2,4,1,""],check_len_type_time_step:[2,4,1,""],check_levels:[2,4,1,""],check_logicals_type:[2,4,1,""],check_mail:[2,4,1,""],check_maxstep:[2,4,1,""],check_number:[2,4,1,""],check_pathes:[2,4,1,""],check_ppid:[2,4,1,""],check_public:[2,4,1,""],check_purefc:[2,4,1,""],check_queue:[2,4,1,""],check_request:[2,4,1,""],check_step:[2,4,1,""],check_time:[2,4,1,""],check_type:[2,4,1,""]},disaggregation:{IA3:[2,4,1,""],dapoly:[2,4,1,""],darain:[2,4,1,""]},get_mars_data:{check_dates_for_nonflux_fc_times:[2,4,1,""],do_retrievement:[2,4,1,""],get_mars_data:[2,4,1,""],main:[2,4,1,""],mk_dates:[2,4,1,""],mk_server:[2,4,1,""],remove_old:[2,4,1,""],write_reqheader:[2,4,1,""]},install:{check_install_conditions:[2,4,1,""],del_convert_build:[2,4,1,""],get_install_cmdline_args:[2,4,1,""],install_local:[2,4,1,""],install_via_gateway:[2,4,1,""],main:[2,4,1,""],mk_compilejob:[2,4,1,""],mk_convert_build:[2,4,1,""],mk_env_vars:[2,4,1,""],mk_job_template:[2,4,1,""],mk_tarball:[2,4,1,""],un_tarball:[2,4,1,""]},prepare_flexpart:{main:[2,4,1,""],prepare_flexpart:[2,4,1,""]},submit:{main:[2,4,1,""],mk_jobscript:[2,4,1,""],submit:[2,4,1,""]},tools:{clean_up:[2,4,1,""],execute_subprocess:[2,4,1,""],generate_retrieval_period_boundary:[2,4,1,""],get_cmdline_args:[2,4,1,""],get_dimensions:[2,4,1,""],get_informations:[2,4,1,""],get_list_as_string:[2,4,1,""],init128:[2,4,1,""],make_dir:[2,4,1,""],my_error:[2,4,1,""],none_or_int:[2,4,1,""],none_or_str:[2,4,1,""],normal_exit:[2,4,1,""],product:[2,4,1,""],put_file_to_ecserver:[2,4,1,""],read_ecenv:[2,4,1,""],send_mail:[2,4,1,""],setup_controldata:[2,4,1,""],silent_remove:[2,4,1,""],submit_job_to_ecserver:[2,4,1,""],to_param_id:[2,4,1,""],to_param_id_with_tablenumber:[2,4,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:function"},terms:{"00h":[6,11],"10u":19,"10v":19,"12h":[6,11],"180w":6,"1hourli":[8,40],"1st":40,"20c":[5,6,19,21,22,23,33,39,40],"20gb":40,"24h":[2,6],"25th":40,"31st":40,"32000mb":[10,13],"3200mb":[4,13],"36hour":[8,40],"3hourli":[8,40],"4th":40,"6th":40,"althanstra\u00df":32,"boolean":2,"break":17,"case":[0,2,4,6,10,13,14,17,19,21,22,30,39,40],"class":[0,6,39],"datens\u00e4tz":[],"default":[2,3,5,6,8,10,11,12,18,19,40],"einf\u00fchrung":[],"export":[4,10,13],"f\u00fcr":13,"final":[0,2,11,15,17,19,21,40],"float":[2,11],"function":[2,17,38,40,42],"import":[2,6,11,30,36,39,40],"int":[2,6,39,40],"long":40,"m\u00f6glich":[],"new":[2,6,10,11,17,18,38,39,40,41],"public":[2,5,6,8,10,11,12,14,22,23,24,33,36,38],"return":[2,4,10],"short":[2,6,17,39,40],"static":[],"switch":[2,4,6,10,13,19],"true":[0,2],"try":[2,39],"while":[22,39,40],ARE:[],But:40,C3S:[23,39],CDS:[2,22,23,30,33],Dps:[2,6],ENS:[23,40],FOR:12,For:[0,2,3,5,6,9,11,12,13,14,18,19,21,22,24,30,36,39,40],HAS:[12,39,40],Has:[6,11],IDs:[6,15,40],Its:2,NOT:12,Not:[],PBS:[4,10,13],THE:[12,39,40],THESE:[12,39,40],The:[0,2,7,13,14,15,17,18,19,20,21,22,36,39,40,41,42],Then:[2,11,14,39],There:[2,18,19,22,36,39,40],These:[2,4,10,13,17,39,40],Use:[0,6,39,40],Used:[2,12],Useful:40,Uses:2,Using:39,WITH:12,With:[6,11,12,40],_acc:19,_config:2,_expand:2,_file:0,_local:41,_orolsm:19,_templat:2,a_0:17,a_1:17,a_2:17,a_3:17,abcd:2,abl:[2,13,17,18,22,39,40],about:[2,5,11,14,19,30,36,40],abov:[2,36,39,40],acc:[],accept:[6,14,21,22,39],access:[2,6,12,14,19,23,24,36,38,39,40],accmaxstep:[2,6,10,40],accomplish:15,accord:[6,12,40],account:[36,39,40],acctim:[2,6,10,40],acctyp:[2,6,10,40],accumlu:2,accumul:[2,6,17,19,40],accur:40,accuraci:[2,6,10,19,21],achiev:21,action:23,activid:39,actual:[2,6,12,13,18,19,39,40],adapt:[0,2,5,6,9,11,12,13,18,30,39,40],add:[2,40],added:[17,19],adding:[2,40],addit:[2,5,11,14,15,17,36,39,40],addition:[2,5,6,14,18,20,39,40,41],addpar:[2,6,10,40],address:[2,6,19,40],adjac:17,adjust:38,admin:[30,39],administr:[],adress:12,advanc:[2,40],advis:[],aerosol:32,affect:17,after:[2,6,12,15,17,18,19,39,40],afterward:[2,13,17,39],again:[11,12,39,40],against:40,aggreg:19,agre:[22,38],agreement:14,aim:[],albatross:[],algorithm:[2,17,33],alist:2,all:[2,5,6,8,11,12,13,15,17,19,30,36,39,40,41],allow:[2,6,11,22],alpabet:2,alreadi:[2,11,22,39,40],also:[2,5,6,10,11,12,15,17,18,19,21,22,36,39,40],alt:[],alwai:[6,11],amount:[2,6,11,17,36],anaconda:39,analys:21,analysi:[2,5,6,11,19,22,36,40],ander:[],ani:[2,3,5,6,11,12,14,17,21,30,39,40,41],ann:[2,10,12,19,32,39,42],annep:[10,12],announc:[40,41],anog__ml:19,anog__sl:19,anoth:[2,6,22,40],ansh__sl:19,anymor:[3,33,39],anyon:[39,41],anyth:[6,12,13],api:[2,6,11,14,22,23,30,33,40],app:39,appear:[21,39,40],append:2,appli:[2,11,17,21,33,39,40],applic:[2,4,6,7,9,10,11,12,13,20,21,39,40,41],approach:17,appropri:[6,40],approri:6,april:40,apt:39,arbitrari:2,archiv:[2,5,11,18,20,22,38,39],area:[2,6,10,11,12,17,19,39,40],arg:2,argument:[2,11,12,18,22,39,40,41],aris:14,around:[17,20],arrai:2,array_t1:2,array_t2:2,array_t3:2,array_t4:2,articl:[2,6],ascrib:17,ask:[19,38,39,41],assign:2,assign_args_to_control:2,assign_envs_to_control:2,assimil:40,associ:[2,12,39],assum:21,atm:21,atmospher:[17,20,23,38,40],attent:[6,40],attribut:[2,38],august:40,austria:32,author:[2,12,39],auto:35,automat:[6,11,14,17,22,39,40,41],autoprogram:1,avail:[2,3,5,6,11,12,15,17,19,21,22,23,30,36,39,40],averag:17,avoid:[19,21,33,40],awar:40,awk:[4,13],back:[6,11,39],bahaviour:5,ball:[2,4,12,39],base:[2,7,10,11,17,33,36],basetim:[2,6,10,11,17,33,40],bash:12,basic:[2,17],batch:[4,10,11,12,13,18,20,39,40],bdynam:39,beaver:39,becaus:[21,40,42],beck:2,becom:[],bee:[],been:[15,39],befor:[0,2,6,10,17,36,39,40],begin:[2,13,17],beginn:[18,40],behaviour:18,being:[12,13,19],belong:[39,40],below:[9,17,19,21,39,40],beschreibung:[],besonderheiten:[],best:[6,17,36,40],better:[6,40],between:[2,4,6,7,10,17,19,21,39,40],bicub:17,big:39,bilinear:17,bin:[4,10,12,13],bionic:39,bit:[2,6],blank:2,block:[19,40],blockdiag:0,blockdiag_fontpath:0,blockdiagram:11,blog:30,blue:[12,17],bone:[],border:17,both:[2,21,36,39,40],boundari:[2,11,17],box:[2,12,38],bracket:40,branch:39,broader:36,bstatic:39,bug:38,build:[2,23],bunch:2,buster:39,button:39,bypass:22,calc_extra_elda:2,calcul:[2,6,15,17,19,20,40],calibr:[6,40],call:[2,4,10,11,12,13,15,18,19,39,40],can:[2,3,5,6,9,11,12,13,14,15,18,19,20,21,22,36,38,39,40,41,42],cancel:22,cannot:[21,40],care:[6,11],carefulli:36,carri:[2,6,17],cat:[10,13],catalogu:[6,40],catego:40,categor:[],categoris:[],caus:[],caution:40,cautiou:40,cautious:40,caveat:40,cca:[2,4,9,10,11,12,13,14,39,40],ccb:[4,9,10,11,13,39],cdot:17,cds_api:[2,10],cdsapi:39,cdsapirc:39,ce00010800:19,ce00090800:[],ce00090803:[],ce00090806:[],ce00090809:[],ce00090812:[],ce00090815:[],ce00090818:[],ce00090821:[],ce000908:40,cell:17,centr:[19,20,36,38],central:[2,17],cera20c:[6,39],cera:[5,6,19,21,22,23,33,38,39],cera_exampl:40,cera_testgrid_local_cd:19,cerapubl:40,certif:39,chang:[5,6,11,12,13,15,17,18,19,23,36,38,39,40],changelog:38,charact:2,character:2,characteris:2,check:[4,6,10,12,15,18,30,39,40,42],check_accmaxstep:2,check_acctim:2,check_acctyp:2,check_addpar:2,check_area:2,check_basetim:2,check_condit:2,check_dat:2,check_dates_for_nonflux_fc_tim:2,check_grid:2,check_install_condit:2,check_job_chunk:2,check_len_type_time_step:2,check_level:2,check_logicals_typ:2,check_mail:2,check_maxstep:2,check_numb:2,check_path:2,check_ppid:2,check_publ:2,check_purefc:2,check_queu:2,check_request:2,check_step:2,check_tim:2,check_typ:2,checkerboard:17,chernobyl:[],choic:[21,39,40],choos:21,chosen:[2,21],chunk:[2,11],circl:17,ciwc:[],classif:[2,6],clean:2,clean_up:2,clear:40,click:[24,39],client:[2,39],climat:[22,23,39],clist:2,clone:39,cloud:[2,6,19,40],clwc:[],cmd_list:2,coars:[],coarser:[3,6],code:[0,2,6,13,33,38,39],coincid:[],collect:[2,36,38,40,41],collis:19,colour:17,column:2,combin:[2,38],comma:[2,6,40],command:[2,4,5,10,11,12,15,18,22,39,40],commandlin:[2,12,39,40,41],comment:[3,5,13],common:[2,38,40],commonli:2,commun:[15,17,36,39,40,41],compar:17,compat:[3,6,18,21],compil:[2,9,12,13,18,30,39],compilejob:[18,39,40],complet:[2,6,14,17,23,33,39,40,42],complex:36,compon:[0,2,17,19,39],composit:[19,40],comprehens:[],comput:[13,17,21,22,23,39,40],computation:[],concaten:2,concatenate_sign:2,concern:2,conda:39,condit:[2,6,11,17],conduct:12,configur:[2,12,38],confus:36,congratul:39,connect:[2,22,40],conrtol:40,conserv:[2,6,17],consid:39,consider:17,consist:[2,3,17,18,19,20,21,36,40],consol:39,constel:8,constitut:11,construct:[0,27,28,34,35,37],consult:[],contact:[23,39],contain:[0,2,5,7,11,13,17,19,21,30,39,40,41],content:[2,6,13,23,38,39,40],context:[],continu:[2,6,17,40],control:[2,10,11,12,13,15,19,21,22,35,36,38,41,42],control_:[5,40],control_cera:[8,10,40],control_cont:13,control_ea5:[8,11,12,39,40],control_ei:[8,40],control_od:[8,40],control_param:[],controlfil:[10,11,12,13,39,40],controlparamet:[],convect:[2,11,17,19],conveni:40,convent:[2,5],convers:[2,20],convert2:[2,4,12,13,18,21,33,39,40],convert:[2,15,17,35,39,40],convert_pr:39,coordin:[5,19,35,36,40],copernicu:39,copi:[2,12,38,39,40],copy_dummy_msg:2,copyright:2,corner:6,correct:[2,6,39,40],correctli:[2,6],correspon:18,correspond:[2,6,11,13,19,40],cost:21,could:[17,39,40],count:[6,11],counter:2,coupl:[2,8,9,12,13,39,40],coverag:[],covert2:15,crai:[4,9,10,13,39],creat:[0,2,4,6,7,10,11,12,13,15,18,20,21,39,40,41],creation:[],creativ:[2,38],creativecommon:[2,38],credenti:[12,13,15,18,39,40,41],cross:6,crunchi:[],csv:[2,6,15,19,40],cubic:2,current:[0,2,6,9,12,14,21,39,40],curv:[],cvh:19,cvl:19,cwc:[2,6,10,40],cycl:40,cyclic:[6,21],d64:39,daher:[],dai:[2,6,11,17,19,23,39,40],daili:[6,40],damp:17,dapoli:2,darain:2,dark:17,dat:11,data:[2,5,8,11,12,15,20,21,22,23,33,35,38,39,42],data_retriev:2,databas:23,dataset:[2,5,6,10,11,14,17,18,19,21,22,23,36,38],datatyp:[11,19],date:[2,6,11,12,17,19,39,40],date_chunk:[2,6,10,11,40],date_time_steprang:19,datechunk:2,datelin:6,datetim:2,day1:[],day2:[],deacc:[],deacc_flux:2,deaccumul:[2,40],debian:39,debug:[2,6,10,11,19,21,33,40],decid:[2,5,18,39,40],decis:[2,39,40],declar:40,declin:22,decompos:2,defin:[2,6,10,11,12,19,21,24,36,39,40],definit:[2,18,38],degre:[6,21,40],degress:3,dejavu:0,dejavuserif:0,del_convert_build:2,delai:41,delet:[2,6,19,40],delete_fil:2,delta:17,delta_t:2,demand:[17,21,40],demonstr:19,denot:[2,17],depart:32,depend:[2,6,11,12,13,15,17,19,20,21,39,40],deposit:17,deprec:2,depthbelowlandlay:19,der:[],deriv:2,desc:[],describ:[12,14,18,19,20,22,39,40],describt:[40,42],descript:[2,5,6,8,11,12,13,18,19,21,36,40,41],descrption:[],design:40,desir:[2,6,17,21],destin:[2,6,7,10,12,13,15,39,40],destination_nam:[7,13],deta:21,detail:[2,5,15,19,20,21,40],detect:[6,41],determin:[2,12,17],dev:[17,39],develop:[0,2,6,17,38,41],diagnost:[2,6],diagram:[0,12,15],diagramm:[],diamond:17,dict:2,dictionari:2,differ:[2,6,8,14,21,22,36,39,40],differenti:[4,10,40],difficulti:15,digest:[],digit:19,dimens:[2,17],dimension:[2,17,40],direct:[2,13,14,21,22,40],directli:[2,4,10,11,12,13,14,22,39,40],directoi:39,directori:[0,2,4,5,6,7,8,9,10,11,12,13,14,18,33,39,40],dirsfirst:[],dis:19,disabl:[6,21],disaggegr:2,disaggreg:[6,15,33,35,40],discard:6,discret:[17,19],discretis:[],discuss:[22,40],dispers:[2,6,17],displai:[2,6,39],display_info:2,disregard:2,distinct:2,distinguish:[6,11],distribut:[38,39,40],disturb:40,diverg:[19,40],divers:[2,33],divid:[2,11,17,22],do_retriev:2,document:[5,8,11,19,21,23,33,39,40],doe:[2,11,12,14,30,39,40],doesn:[6,11,12,39],doi:[6,17],doing:2,doku:[],domain:[5,40],don:[30,39],done:[2,4,6,10,11,12,13,14,15,17,20,22,39,40],dot:0,doubl:[2,4,6,8,10,11,13,40],doubleelda:[2,6,10,40],down:[17,39],download:[23,33,38],download_cdsapi:39,download_cera20c_ecmwfapi:39,download_era5_cdsapi:39,download_erainterim_ecmwfapi:39,downward:[3,6,18],dpdeta:[2,6,10,40],dpkg:39,drive:[2,19,20,40],dry:17,dtime:[2,3,6,10,40],due:[6,11,12,17,39,40],durat:40,dure:[2,4,9,12,13,15,18,39],each:[2,5,6,10,11,13,14,17,19,36,39,40],earlier:[],easi:[17,18,20,40],easier:[18,22,40],easiest:39,easili:[2,11],east:[2,11],eastern:2,eastward:[17,19],ec_api:[2,10],ec_memory_per_task:[4,10,13],ec_threads_per_task:[4,10,13],ecac:39,ecaccess:[2,4,10,12,13,14,15,22,23,39,40],ecaccess_do_not_remov:[4,10,13,40],eccod:[4,10,12,13,23,30,33,39],eccodes_include_dir:[9,39],eccodes_lib:[9,39],ecd:2,ecf:[2,6,39],ecfsdir:[2,6,10],ecg:[4,10,13],ecgat:[2,4,6,9,10,11,12,13,14,21,39,40],ecgb11:[39,40],ecgb:[4,10,13],ecgid:[2,6,7,10,12,13,39,40],echo:[4,12,13],echom:39,ecmf:19,ecmwf:[2,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,23,30,33,38,40],ecmwf_env:[2,11,12,18,40],ecmwf_grib1_table_128:[],ecmwfapi:[30,39],ecmwfapirc:39,ecmwfdata7:[],ecmwfdata:[],ecmwfdataserv:[2,39],ecmwfservic:[2,39],ecnam:12,econdemand:[2,6,10],ecscratch:39,ecstorag:[2,6,10],ectmp:[2,6,10],ectran:[2,6,10,15,39,40],ecuid:[2,6,7,10,12,13,39,40],edg:12,edit:[19,39],editor:39,edu:39,effect:[13,21,40],effici:[13,17,19,40],egat:12,ei15080900:[],ei15080903:[],ei15080906:[],ei15080909:[],ei15080912:[],ei15080915:[],ei15080918:[],ei15080921:[],ei_exampl:[],einweisung:[],einzelnen:[],either:[2,6,11,14,15,40],elda:[2,6,8,33,40],element:[2,3],els:[4,10,12,13],email:[2,4,6,10,13,39,40,41],emo:[4,10,13],emoslib:[21,23,30,39],empti:[2,12],enabl:[22,39,40],encount:39,end:[2,4,6,10,11,13,17,19,40],end_dat:[2,6,10,11,17,40],end_period:2,enda:[10,19,39,40],endian:39,endif:17,endo:6,enfo:[6,8,33,40],enough:[6,36,40],ens:[8,40],ensembl:[2,6,23,33,40],ensemble_memb:19,ensur:21,enter:[39,40],entri:[2,11,42],env:[2,4,13],environ:[2,4,6,10,11,12,13,14,20,30,38,40,41],environment:[2,32,40],enyymmddhh:[],eof:[10,13],equal:[2,6,11,21,40],equat:[2,6,17,40],equidistantli:17,era5:[2,5,6,21,22,23,39,40],era:[5,6,11,19,21,22,23,33,38,39],error:[2,4,6,10,12,13,21,39,40],error_msg:2,esac:[4,10,13],escap:13,especi:[21,36,40],establish:[14,39],eta:[2,6,8,10,19,21,35,40],etadiff:[2,6,10,21,40],etadot:[2,6,19,40],etadothigh2:[],etapar:[2,6,10],etayymmddhh:[6,21],etc:41,europ:40,european:[20,36,38],evalu:38,even:[17,21,40],event:17,eventu:[11,15],everi:[22,39,40],everyon:6,everyth:[0,2,14,39,40],ewss:[17,19],exact:[2,17,40],exactli:39,exampl:[2,3,6,7,11,17,18,19,22,23,36,39,40],example_usernam:39,exce:40,exceed:40,excelt:0,except:[2,6,21,39,40],execut:[2,9,10,12,13,14,15,18,19,39],execute_subprocess:2,exedir:2,exist:[2,6,11,40],exit:[2,11,12],expect:[2,40],expens:[6,21],experi:[6,39,40,41],experienc:40,experiment:6,explain:[40,42],explan:40,explanait:40,explic:20,explicit:[22,39],explicitli:[6,20,22,40],express:2,expver:[2,6,10,19,39],extend:40,extens:[0,2,6,17],extra:[2,5,6,14,19,33,40],extract:[2,5,6,19,21,22,39,40,42],f90:[33,39],f_i:17,facil:[22,39],factor:[],fail:[2,4,6,10,13,40],failur:40,fals:2,familiar:40,faq:38,far:6,fast:20,faster:[18,22,39,41],fcgg__sl:[],fcog__ml:[],fcog__sl:[],fcog_acc_sl:19,fconvert:39,fcrai:39,fcsh__ml:[],fcsh__sl:[],fdefault:39,feasibl:21,featur:[2,6,20,38,41],februari:[],fedir:2,feel:39,felder:[],fell:[],few:[6,39,40],fewer:40,ffix:39,fftw3:39,fftw:[23,30,39],field:[2,5,11,15,20,21,23,33,38,40,42],field_typ:19,fig:17,figur:[14,17,40],file1:2,file2:2,file:[0,2,4,9,10,11,12,13,15,17,18,20,22,23,33,36,38,39,41,42],filemod:2,filenam:[2,17,19,40],filename_in:2,filepath:2,fill:[6,39,40],filter:[2,17],find:[5,36,39,40],finder:36,fine:21,finer:[3,21],finish:[39,40],first:[2,5,6,11,17,33,36,39,40],fit:2,fix:[4,10,17,38],flex:[10,13,40],flex_ecmwf:[4,10,13],flex_extract:[0,2,4,5,6,8,9,10,11,12,13,14,15,17,18,19,20,21,22,30,36,40,41],flex_extract_v7:[10,13,19,39,42],flex_extract_v:[4,13],flex_extract_vx:[5,7,8,9,11,12,13,18,39,40],flexcompil:[4,13,39],flexextract:[10,19,39,42],flexextractdir:2,flexpart:[2,6,11,15,17,20,21,22,38,40,41],flexpart_root:[4,13],flexpart_root_script:[4,13],flexpartdir:12,flextra:[2,20,21,38],flow:[2,11,12,20],flux:[2,15,21,35,40],fluxpar:[],fluxyyyymmddhh:17,flxacc2:17,fno:39,follow:[2,5,7,12,13,15,17,18,19,21,30,36,39,40],font:0,fontpath:0,fopenmp:39,for_develop:[0,42],forecast:[2,5,6,11,17,20,21,22,23,36,38,40,42],forecast_step:19,forescast:40,forg:39,forget:30,form:[6,39],format:[2,6,10,12,15,17,19,20,39,40],formul:17,fort:[2,13],fortran90:[12,21],fortran:[0,2,4,12,13,15,16,17,18,20,33,35,38,40],fortran_program:13,found:[2,5,6,9,13,19,20,21,39,40,41],four:2,fp_root:2,fp_root_path:13,fp_root_script:13,fpdir:2,frac32:17,frac:17,framework:[13,39],free:39,frequent:[38,41],friendli:[],frog:[],from:[2,3,4,5,6,10,11,12,13,14,15,17,18,19,20,22,23,33,36,38,39,40,41],fromfil:2,fsr:19,ftime:2,ftp:39,ftrafo:39,ftype:2,fulfil:17,full:[2,6,11,12,21,22,36,38,40],fulli:36,further:[2,39,40],futur:[6,21,39,40],g_i:17,g_ig_:17,gain:17,gannet:[],gap:40,gate:2,gatewai:[2,4,6,7,9,10,12,13,14,15,18,20,22,38],gateway_nam:[7,13],gatewayserv:40,gauss:[2,6,8,10,21,35,40],gaussian:[2,6,10,19,21,23],gcc:39,gemacht:[],gen_docu:0,gener:[0,4,5,10,13,17,19,21,23,35,39,40],generate_retrieval_period_boundari:2,generel:2,genericsftp:[2,10,12,39],genshi:[4,10,13,33,39],geometr:2,geophys:32,geosci:17,geoscientif:[2,6,17],get:[2,6,9,15,33,36,39,40],get_cmdline_arg:2,get_dimens:2,get_inform:2,get_install_cmdline_arg:2,get_kei:2,get_list_as_str:2,getmarsdata:[],gfortran:[2,4,9,10,12,23,30,39],gid:39,git:39,gitmob:39,give:[2,6,21,39,40],given:[2,5,10,14,17,21],glevelist:2,global:[5,6,8,21,36,40],gmd:[6,17],gnu:39,goal:[],goe:2,going:[2,6,11,39],good:21,grant:39,graph:[],graphviz:0,grb:[2,19],greater:[6,11],green:[12,17],grep:[10,13,39],grib1:[2,6,10,15],grib2:[2,6,15],grib2flexpart:[2,10],grib:[2,6,11,15,23,39],grib_api:[4,10,13,30,33,39],grib_l:19,grib_tabl:[],gribfil:[],gribmessag:11,grid:[2,3,6,10,17,19,20,21,23,39,40],grid_simpl:19,grid_typ:19,gridpoint:[],gridtyp:19,group:[2,4,5,12,13,14,22,39],groupnam:12,grphreal:39,guarante:[2,12,17,40],guid:[23,33,38,40],guidanc:21,haimberg:[2,32],half:[2,6,11,17,21,40],hand:40,handl:[2,5,36],happen:0,hard:2,harmin:[],harmon:19,has:[0,2,4,6,8,9,10,11,12,13,14,17,20,21,22,36,39,40],hast:6,hat:[],have:[2,3,5,6,11,12,14,15,18,22,30,36,39,40,42],hcc:19,header:2,heat:[2,17,19],heavili:21,height:[17,19],help:[2,11,12,17,18,40,41],hemispher:40,henc:[17,40],her:[],here:[2,6,8,11,15,19,39,40,41],high:[6,11,13,21,39,40],higher:21,highest:21,highli:21,highlight:40,highr:[8,40],hint:[5,30,36,38,41],his:[12,36],histor:21,hittmeir:[2,6,17],home:[4,10,12,13,14,23,39,40],horizont:[2,5,6,17,40],hoskin:6,host:[4,10,13,40],hostnam:[39,40],hour:[2,6,11,17,19,22,40],hourli:[6,22,40],how:[6,9,15,18,22,23,36,39,40],howev:[6,15,17,19,21,22,40],hpc:[21,40],hre:[23,40],http:[2,6,17,38,39,41],humid:19,hybrid:19,i32:39,i_i:17,ia3:2,ice:[2,6,40],ich:[],idc:[],ideal:[],identif:2,identifi:[2,6,11,17,19],identificationkeyword:2,idir:2,idirectionincrementindegre:2,ids:[2,19],idx:[2,19],ifort:[9,12,39],iid:2,illustr:[],img:[10,12],implement:[17,40],impli:17,importantli:36,improv:[2,40],inbetween:6,includ:[6,11,12,13,39,41],incorpor:39,increas:[],incur:21,independ:36,index:2,index_fil:2,index_kei:2,index_v:2,indic:[2,5,17,19],individu:[2,4,6,10],ineffici:40,info:2,inform:[2,5,6,11,14,18,19,20,22,23,36,39,40,41],informt:2,init128:2,init:2,initi:[2,12,18,33],initialis:[2,33],input:[2,5,6,10,11,12,15,17,20,35,38,40],inputdir:[2,10,11,13,40],inputfil:[2,11],instal:[0,4,6,7,9,10,13,14,15,18,20,22,33,38,40],install_loc:2,install_target:[2,10,12],install_via_gatewai:2,installdir:[2,12,39],instanc:2,instantan:19,instead:[2,11,12,22],institut:36,instruct:[2,6,9,30,39,40],intact:11,integ:[2,6,11],integr:[2,17],intel:[4,10,13],intend:[6,8,11,14,39],intens:[],interact:39,interest:36,interfac:[2,23,24,33,39,40],intergovernment:36,interim:[5,6,11,19,21,22,23,38,39],intermedi:2,intern:[2,38],internet:40,interpol:[2,6,10,11,17,19,39,40,42],interpret:18,interv:[2,3,6,12,17,19],introduc:[17,19,33,40],introduct:23,investig:36,involv:12,ipar:2,isol:17,issu:38,iter:2,its:[2,10,11,13,17,18,19,21,39,40],itself:[2,10,40],jame:[2,17],januari:40,jasper:39,jdirectionincrementindegre:2,jedem:[],job:[2,4,6,11,12,14,15,18,19,20,38,39],job_chunk:[2,10,11,40],job_fil:2,job_id:[2,4,13],job_templ:[2,10,11,12,39,40],jobfil:2,jobnam:[2,4,13],jobop:40,jobscript:[11,18,40],journal:17,jtemplat:2,june:[2,40],just:[2,3,6,12,19,39,40,41],k_i:17,keep:[2,13,17,40],kei:[2,39],kept:[6,40],keynam:2,keyvalu:2,keyword:[2,6,11,19,22,23,40],kind:[2,6,19,40],kingdom:[],km4a:[4,10,12,13],know:[36,39,40],known:38,komponenten:[],korn:[2,4,10,12,18,20,33,40],kornshel:13,ksh:[13,18,39,40],kwd:2,label:[12,39],lagrangian:[2,6,17],larg:[2,6,11,17,19,33,40],larger:[6,11,21],last:[2,6,11,17,39,40],lat:[2,6,11,19,21],later:[2,39],latest:[22,39],latitu:2,latitud:[2,6,20,40],latitudeoffirstgridpointindegre:2,latitudeoflastgridpointindegre:2,latlonal:[],latter:12,lcc:19,ld_library_path:30,lead:[6,11,13,17,39,40],learn:36,least:[2,12],leav:11,leccod:39,leccodes_f90:39,left:[2,6,10,17,21,39,40],lemo:39,lemosr64:39,length:[2,17,39,40],leo:[40,42],leopold:[2,32],less:21,let:11,letter:[2,19,38],level:[2,6,10,11,12,15,18,19,21,22,39,40],level_typ:19,levelist:[2,6,10,11,19,39,40],levtyp:[2,19,39],lfftw3:39,lgrib_api:39,lgrib_api_f77:39,lgrib_api_f90:39,lib:[30,39],libeccod:39,libemo:39,librari:[4,10,12,14,20,23,38,39,41],licenc:[22,23,38],licens:[2,6,14,22,38],lies:2,light:12,like:[2,5,11,17,39,40],limit:[6,11,19,22,36,40],line:[2,5,11,12,13,15,17,18,19,22,39,40,42],linear:[2,6,17],linearli:17,link:[0,1,36,38,39,40],linux:[14,15,22,39,41],liquid:[2,6,40],list:[2,5,6,8,9,11,12,15,17,19,23,38,39,40],list_obj:2,littl:17,ljasper:39,lnsp:[],load:[2,4,10,13,39,40],local:[2,6,7,9,11,12,14,22,30,33,38],localus:39,locat:[2,7,11,12,40,42],log:[2,4,6,10,13,39,40,41],logarithm:19,logic:[2,10],login:[39,40],lon:[2,6,11,19,21],longer:[2,6,19,33,40],longitud:[2,6,20,40],longitudeoffirstgridpointindegre:2,longitudeoflastgridpointindegre:2,longiud:2,look:[2,39,40],lot:[21,40,41],lower:[2,6,10,17,21,40],lowest:19,lp64:39,lpthread:39,lrt:[],lsm:19,lsp:[17,19],m64:39,machin:[2,4,10,12,13,14,15,39,40],made:[2,36,40],mag:[],magnitud:2,mai:[6,11,15,17,39,40],mail:[2,4,6,10,13,32,38,40],mailfail:[2,6,10,13,40],mailop:[2,6,10,13],main:[2,5,18,20,22,40],mainli:[19,40,41],maintain:17,make:[0,4,13,18,30,36,39],make_dir:2,makefil:[2,4,10,12,13,18,30,39],manag:[13,39],mani:[17,40],manipul:2,mar:[2,6,11,15,18,20,22,23,30,33,38,39,40],march:[2,22],mark:[4,5,10,13,17,19,40],mars_request:[2,6,11,15,19,40],marsclass:[2,10,19],marsfil:2,maschin:11,mask:40,mass:21,master:39,match:2,mathrm:17,matter:[2,12],max:[6,11],max_level_list:2,maxb:[2,13,19],maxim:2,maxima:17,maximum:[2,6,11,40],maxl:[2,13,19],maxstep:[2,6,10],mcc:19,mdpdeta:[2,13,19],mean:[2,4,13,17,19,40],measur:21,medium:[20,36,38],meet:2,member:[2,6,12,14,19,22,23,24,36,39,40],memberst:[2,6],memori:[6,11],mention:[2,13,14,36,40],merg:15,messag:[2,11,12,19,21,39],meta:[2,13,19],metadiff:[2,13,19],metapar:[2,13,19],meteorolog:[2,17,19,20,32,36,38],meter:19,method:[2,5,6,11,17,19,22,35,36,39,40],metriken:[],mgauss:[2,13,19],might:[0,2,6,11,15,18,22,36,39,40],migrat:[2,23],min:17,mind:[6,40],minim:[20,39],minima:17,minimum:40,minut:[2,39],mismatch:40,missingvalu:2,mix:[19,39,40],mk_compilejob:2,mk_convert_build:2,mk_date:2,mk_env_var:2,mk_job_templ:2,mk_jobscript:2,mk_server:2,mk_tarbal:2,mkdir:[4,10,13],mlevel:[2,13,19],mlevelist:[2,13,19],mnauf:[2,13,19],mnt:19,mock:0,mod:[2,4,13,39],mode:[2,4,6,7,9,10,11,12,13,18,19,20,36,38,41],model:[2,6,15,17,19,20,21,22,23,38,40],modif:2,modifi:[2,17,22,39,40],modul:[4,10,13,14,39,40],modular:33,momega:[2,13,19],momegadiff:[2,13,19],moment:6,mon:17,monitor:40,monoton:[2,17],month:[11,39,40],monthli:6,more:[2,3,5,6,11,12,14,15,17,19,39,40],most:[2,6,13,36,40],mostli:[2,6,40],motiv:17,mountain:[2,38],move:[0,2,22],mreq_count:2,msc:[],msgatwai:39,msl:19,msmooth:[2,13,19],much:[36,39,41],multipl:[2,40],multipli:[6,21],muser:[10,13],must:[5,6,11,14,39,40],my_error:2,myuser:12,name:[2,4,5,6,9,10,11,12,13,17,19,22,39,40],name_of_this_fil:[4,10,13],namelist:[2,13,19],namespac:2,namgen:[13,19],nas:[10,19,39,42],nation:36,natur:17,nearest:[],necessari:[0,2,3,4,5,6,9,10,11,12,13,14,18,20,30,39,40,41],nedit:39,need:[0,2,3,5,6,11,12,13,14,18,19,20,21,39,40],neg:[2,17],neglect:6,neighbour:[],net:[17,19],neu:[],newer:19,newest:40,newslett:40,next:[39,40],nfield:2,nicht:[],night:40,non:[2,6,17,40],noncycl:6,none:[2,6,10,11,12,17,19,39,40],none_or_int:2,none_or_str:2,normal:[4,6,10,13,21,39,40],normal_exit:2,north:[2,11],northern:[2,40],northward:[17,19],notabl:40,notat:17,note:[6,15,17,39,40],notif:2,notifi:2,novemb:[2,21],now:[6,39],nowadai:40,nsss:[17,19],number:[2,3,4,5,6,8,9,10,11,13,17,18,19,20,21,33,39,40],numer:36,nummern:[],numpi:[2,39],object:2,observ:2,obtain:17,obvious:17,occur:[2,17],octahedr:23,octob:[],odir:2,off:[2,6,19],often:21,og_orolsm__sl:19,old:[0,2,6,11,17,33,40],older:[6,15,40],omega:[2,6,10,21,35,40],omegadiff:[2,6,10,21,40],omegayymmddhh:[6,21],onc:[11,40],one:[2,5,6,11,12,17,18,19,30,39,40],ones:17,ongo:[],onli:[2,3,5,6,11,12,17,19,21,22,39,40,41],onlin:[39,40],onward:6,open:[2,20,38,39,40],opend:12,oper:[2,5,6,8,10,11,12,17,21,23,36,38,39],operation:6,oportun:22,opportun:[40,42],opt:19,optim:[12,21,39,40],optimis:15,option:[2,5,6,15,17,19,21,30,33,39,40],optionalind:5,orang:12,order:[2,5,17],org:[2,6,17,38],organis:36,origin:[2,6,11,17,19,40,42],orographi:19,orolsm:[],other:[1,2,5,6,11,17,36,39,40],otherwis:[2,40],our:[23,39],out:[2,4,6,10,13,17,39,40],output:[2,4,6,10,11,12,13,17,33,35,39,40,41],outputdir:[2,10,11,13,40],outputfilelist:2,over:[2,17,36,40],overal:[2,19],overlap:6,overrid:[3,11],overrul:5,overview:[8,14,15,17,23,35,38],overwrit:[0,2,40],overwritten:[2,18,40],own:[36,39],p_a:17,p_ac:[],p_b:17,p_bd:[],p_c:17,p_d:17,packag:[0,4,10,13,20,38,39],package_nam:39,packingtyp:19,page:39,panel:39,par:2,parallel:19,param1:40,param2:40,param:[2,19,39],paramat:2,paramet:[2,3,4,5,8,10,13,15,17,18,19,20,23,36,38,39],parameterid:[],parameteris:40,parameterlist:12,parametern:[],parameternam:2,paramx:40,parent:[2,11,19],part:[2,17,19,20,39],parti:[14,20,23,38,39],particl:[2,6,17],pass:2,passcod:39,password:39,path:[0,2,4,6,8,10,11,12,13,14,30,39,40],path_flexextract_dir:2,path_fortran_src:2,path_input_dir:2,pattern:[2,40],paul:17,pbs_jobid:[10,13],pdf:21,pep8:33,per:[2,5,6,11,15,19,40],perform:[2,13,15,19,21],period:[2,6,11,17,36,39,40],person:12,perturb:[6,19,40,42],petra:2,phgrreal:39,philipa8:39,philipp:[2,6,12,17,32],physic:[32,36],pid:[19,40],piec:[17,19,39],piecewis:17,pip:[0,39],place:[2,12,13,14,39,40,41],placehold:[13,39],plan:[6,21],platform:39,pleas:[9,14,15,19,21,39,40,41,42],plot:23,plu:17,png:0,point:[2,11,17,19,39,40],pointer:39,polynomi:[2,17],posit:[2,6,13,17],posnam:39,possess:[],possibl:[2,5,6,8,11,12,17,21,22,30,39,40,41,42],post:[2,6,15],postprocess:2,pp_id:40,ppid:[2,11,19],pre:17,precalcul:6,precip:19,precipit:[2,6,11,23,33,40],precis:30,preconvert:[1,39],predict:[36,40],prefer:6,prefix:[2,6,10,19,21],prep:[],prepar:[0,2,4,6,9,10,11,12,13,14,15,20,26,38],prepare_flexpart:11,preprocess:2,preprocessor:41,present:[7,12,23,39,40],preserv:17,pressur:[2,19,21,22,39],pressure_level:39,previou:[18,21],prgenv:[4,10,13],print:[2,4,13,40],print_infodata_csv:2,prior:[17,21],problem:[2,17,33,39,40,41],procedur:17,process:[2,4,6,7,9,10,11,12,13,14,15,17,18,19,22,33,39,40,41],process_output:2,prod:2,produc:[17,19,21,36,40],product:[2,39,40],product_typ:39,prof:[],progam:39,program:[0,4,9,11,12,13,17,18,20,21,33,38,40],progress:[15,40],prompt:39,proper:18,properli:[2,15,41],properti:[2,19],propos:17,proposit:41,prot:[10,13,40],protocol:40,provid:[2,14,18,20,22,36,39,40,41],publicli:40,publish:[17,36],pure:[2,6,11,15,40],purefc:[2,10],purpos:[2,6],put:[2,6,11,12,13,19],put_file_to_ecserv:2,pya:[],pyb:[],pyc:[],pycallgraph:0,pyd:[],pylint:0,pyrevers:0,pyscript:[],pytest:0,python3:[4,10,13,18,33,39,40],python:[0,4,10,11,12,13,15,16,17,18,19,20,23,30,33,35,39,40],pythonxxxxx:40,qos:[4,10,13],quad:17,quantiti:[2,6,17],question:[38,41],queue:[2,4,10,11,12,13,15,39,40],queuenam:[4,10,13],queues_list:2,quick:[8,18,36,38,39],quick_start:42,quickli:[13,40],quota:40,r64:[4,10,13,39],radiat:[2,17,19],radon:[],raid60:[10,39,42],rainfal:2,rais:[2,17],rang:[2,6,12,20,36,38,39,40],rare:40,rate:17,rather:21,raw:[2,11,15],reach:18,read:[2,6,12,13,15,20,21,30,36,39,40],read_ecenv:2,readi:[2,6,11],readlatlon:39,readspectr:39,real:[23,39,40],real_tim:23,realis:17,realiti:17,realli:[21,40],reanalysi:[6,11,21,23,39],reason:[2,6,11,17,19,40],receiv:[15,39,40,41],recent:[10,40],recommend:[6,13,17,19,21,39,40],reconstruct:[2,17],record:39,rectangular:12,red:17,reduc:[19,21,23,40],ref:[13,39],refactor:33,refer:[2,36],reflect:[],regard:[18,41],regardless:39,region:21,regist:[22,30,39],registr:[6,14,22,23,30,38,41],regress:[33,38],regular:[2,20,40],regular_l:19,regularli:36,rel:[17,40],relat:40,releas:[38,39,40,41],relev:[2,39],reli:39,remain:[2,17],rememb:39,remot:[2,4,6,7,9,10,12,13,14,15,18,20,38],remota:12,remov:[2,3,17],remove_old:2,renam:0,repeat:2,repo:39,report:[2,38],repositori:39,repr:[2,19],repres:[2,17,19,22,23,39,40],represent:2,request:[2,4,6,10,11,13,15,17,22,33,39,40],request_numb:[2,19],requir:[2,13,14,17,20,21,38,40],rerun:11,research:36,resid:39,resol:[2,6,10,19,21,40],resolut:[3,5,6,11,21,22,36,40],resolv:21,respect:[17,19],respectivlei:18,respons:40,rest:[2,6],restrict:21,restructur:33,result:[2,15,19,21,39,40],retriev:[2,5,6,11,14,15,17,18,19,20,21,22,30,33,36,38,39,40,42],return_list:2,review:6,revis:33,revtriev:2,right:[2,6,10,17,21,22,30,39,40,41,42],rippl:[],rla0:[2,13,19],rla1:[2,13,19],rlo0:[2,13,19],rlo1:[2,13,19],root:[2,4,12,13,18,39,40],round:12,rpath:39,rpm:39,rrint:[2,6,10,11,40],rst:42,rthl:40,rudimentari:12,run:[2,5,6,7,8,10,13,15,18,19,39,40,41],run_loc:[15,40],runtim:10,rwgrib2:[33,39],rwxr:39,rwxrwxr:39,sabin:2,same:[2,6,11,22,30,39,40],sampl:[2,39],sardeshmukh:6,satisfactori:[],save:[11,19,21,39,40],sbatch:[4,10,13],scale:[2,11,17,19],scaveng:17,scenario:[14,17,40],schemat:17,scheme:[2,6,17,19,40],scientif:23,scope:6,scp:39,scratch:[4,10,13,40],screenshot:40,scriot:0,script:[2,5,6,10,13,14,15,17,18,19,20,21,23,33,39,40,41],scroll:39,sdor:19,second:[6,11,39],section:[5,12,14,18,19,22,33,36,39,40],see:[2,6,9,11,12,14,15,18,19,20,21,22,24,39,40],seem:40,seen:18,seibert:[2,6,17],select:[2,3,6,11,12,14,19,22,36,38,39],selectwher:2,send:[2,4,10,11,13,15,18,21,38,39,40,41],send_mail:2,sens:[],sensibl:[2,17,19],sent:[2,6],separ:[5,19],sepeart:2,seper:[2,6,40],septemb:[6,12,21],seqdiag:0,seqdiag_fontpath:0,sequenc:15,seri:[2,17],serv:[18,19,20,23,38,40],server:[2,4,6,7,9,10,11,12,13,14,15,18,20,22,39,40],servic:[36,39],session:[4,10],set:[0,2,4,5,6,8,10,11,12,13,17,18,19,20,21,24,30,33,39,40,41],set_kei:2,setup:[14,15,18,39,40,42],setup_controldata:2,sever:19,sfc:[19,39],sgn:17,shade:17,share:[0,41],she:14,shell:[2,4,10,11,12,15,18,20,33,39,40],shift:17,shorten:40,shortli:40,shortnam:19,should:[0,2,6,9,12,13,17,19,21,30,33,39,40],shouldn:6,show:[7,11,12,15,17,39,40],shown:[9,17,39,40],sid:39,side:39,sign:[4,5,10,13],signal:40,silent_remov:2,similar:14,simpl:[6,17,39],simplest:17,simplic:[],simplifi:33,simul:2,sinc:[2,12,15,19,21,39,40,41],singel:[],singl:[2,4,10,11,13,15,19,30,40],sip:[],site:39,situat:[],size:40,sketch:[12,14,15],skip:[2,39],skt:19,slope:17,slurm:[13,23],small:[39,40],smaller:[2,6,11,19],smooth:[2,6,10,17,21,40],softwar:[2,6,12,13,14,20,21,23,38,39],solar:[2,17,19],sole:[6,19],solut:[2,41],some:[0,2,4,5,6,10,12,13,14,15,18,19,20,22,36,38,39,41,42],someth:40,sometim:[6,40],soon:[6,40],sort:[2,5],sourc:[0,2,4,9,10,11,12,13,18,20,30,33,38,39,40,42],south:[2,11],souther:2,southern:2,space:[2,5,11,17,40],spar:2,spatial:[6,36],spatio:[],speci:17,special:36,specialis:40,specif:[2,4,5,6,10,11,13,14,15,17,19,21,33,36,38],specifc:[2,11,39],specifi:[2,6,11,12,17,36,39,40],spectral:[2,6,20,21,40],speed:40,sphere:6,spheric:19,sphinx:[33,42],sphinxcontrib:0,split:[15,17,19],spread:[],sqrt:17,src:[],src_path:2,srvx8:[10,12],ssh:[39,40],sshf:[17,19],ssr:[17,19],sss:6,stage:[],stamp:19,stand:[],standard:[2,40],start:[2,4,5,6,10,11,12,13,18,19,30,36,38,39],start_dat:[2,6,10,11,17,40],start_period:2,state:[2,12,14,22,23,24,36,39,40],statement:[2,39],statist:39,statu:[15,39],steer:2,step:[2,3,6,10,11,13,15,17,19,24,30,39,40],steprang:[2,11,19],stick:[],still:[3,6,15,21,40],stl1:19,stop:2,storag:2,store:[2,6,10,11,12,15,19,21,22,23,39,40],str:2,str_of_list:2,straightawai:40,straightforeward:40,stream:[2,5,6,10,19,33,39,40],stress:[2,17,19],strict:2,strictli:[],string:[2,5,6,11,12],structur:[10,33,36,40],studi:21,style:33,sub:[2,17,19],subgrid:[2,11],subinterv:17,subject:[2,39,40],submiss:[2,4,10,12,20,40],submit:[4,5,10,12,13,14,15,18,19,39,40,41],submit_job_to_ecserv:2,subprocess:2,subsect:21,subsequ:[6,40],subset:[6,11,40],substitut:[2,4,9,10,13,33,39,40],subtract:[6,40],succeed:39,success:[4,13,19,39],success_mod:2,successful:39,successfulli:[18,39],sudo:[],suffici:[],suggest:39,suit:[6,40],suitabl:[],sum:[2,6,18,40],supplement:19,support:[2,17,23,36,38,39,40],suppos:2,sure:39,surfac:[2,6,15,17,19,21,22],swvl1:19,symmetri:17,syntax:[2,6],synthes:[6,33],system:[2,4,6,10,11,13,20,21,38,39,40],t1279:[21,40],t799:21,tab:39,tabl:[2,17,19,38,40],table128:2,take:[2,39,40],taken:[2,6,18,19,36,40],tar:[2,4,12,13,39],tarbal:[2,39],tarball_path:2,tarfil:39,target:[2,12,19,39],task:[2,18,20,40],tcc:19,team:38,technic:23,tell:[2,40,42],temp:[2,4,10,11,40],temperatur:[19,39],templat:[2,4,5,7,10,11,12,18,33,39,40],tempor:[6,17,19,22,40],temporal_properti:19,temporari:[2,6,11,40],tendenc:21,tenth:6,term:[39,40],termin:39,test:[0,2,5,6,12,13,19,22,30,33,38,40],textbf:17,textrm:17,than:[2,6,11,19,21,41],thei:[0,2,5,6,9,11,12,15,17,18,19,36,39,40],them:[0,2,6,12,15,17,18,19,36,40],therebi:[17,21],therefor:[0,2,6,17,18,19,36,39,40],thi:[0,2,4,5,6,7,8,10,11,12,13,14,17,18,19,21,22,30,36,38,39,40,41,42],thick:17,thing:5,third:[14,20,23,38,39],those:[2,5,40],thousandth:6,three:[2,11,17],through:[2,22,24,39,40],throughout:17,thu:[17,40],ticket:38,time:[2,3,4,5,10,11,13,15,17,19,21,23,30,36,39,40,41],timeseri:[2,17],timespan:[2,17],timestamp:2,titl:39,tmc:[10,39,42],tmpdir:[10,13],to_list:2,to_param_id:2,to_param_id_with_tablenumb:2,todai:40,todo:[],togeth:[12,15,19,40],token:39,too:[6,11,17,39,40],took:[],tool:[4,10,14,15,40],toolkit:22,top:[11,12,18],topic:36,total:[19,40],touch:40,trace:17,train:23,transfer:[2,6,7,12,13,15,19,39,40],transferd:[],transform:2,transport:[20,38],trapezoid:12,treat:[],treatment:36,tree:40,tri:2,triangular:[2,6],trigger:[2,21],troubl:40,troubleshoot:[23,40],truetyp:0,truli:[],truncat:[2,6],ttf:0,tupl:2,turbul:[17,19],turnaround:[],tutori:38,twice:40,twiceadai:[8,40],two:[2,6,11,12,14,17,18,19,21,22,39,40],type:[0,2,3,4,5,6,10,11,13,17,18,19,39,40],typeoflevel:19,typic:[15,19,23,40],ubuntu:39,udoc:2,uid:39,un_tarbal:2,unavail:41,unchang:17,und:[],under:[0,2,13,14,17,27,28,34,35,37,38,39,40],underscor:39,understand:[5,13,18,20,36,40],understood:[],underw:40,undesir:17,unfortun:[17,22],uniqu:[2,19],unit:[0,17,21,33],univ:[],univers:[2,32],univi:[10,12,32,41],unix:[39,41],unless:6,unload:[4,10,13],unrealist:17,unreason:33,untar:[2,4,12,39],until:[6,11,17,22,40],upfront:[2,6,40],upgrad:33,upper:[2,6,10,21,40],upstream:40,upto:2,usa:[2,38],usag:2,use:[0,2,6,9,12,13,18,20,21,22,30,33,36,39,40],usecas:[],used:[2,5,6,8,9,11,12,13,14,17,19,20,33,36,39,40,41],useful:[5,6,11,36,40,42],user:[2,4,5,10,11,12,13,14,18,20,22,23,24,30,33,36,39,40,41,42],user_group:[7,13],user_nam:[7,13],usergroup:13,usernam:13,uses:[0,4,10,17,22,40],using:[2,6,11,12,17,39,40],usr:[0,4,10,13,39],usual:[5,6,11,13,15,19,39,40],utc:[6,11,40],util:[2,15],uza:32,v10:19,v20_update_protocol:21,v30_update_protocol:21,v40_update_protocol:21,v60_update_protocol:21,valid:[2,6,12,19,39,40],valu:[2,3,5,6,8,10,11,12,13,17,18,21,39,40],valuer:2,vanish:17,vari:[6,39,40],variabel:[4,10],variabl:[2,6,10,11,13,17,30,33,39,40],varianc:5,variat:[6,19],veloc:[15,19,20,40],veri:[6,11,17,21,36,39,40],version:[2,3,4,6,9,10,12,13,15,18,21,30,33,39,40,41],version_numb:13,versu:[],vertic:[5,11,15,20,35,36,40],via:[2,4,10,11,13,14,15,22,23,33,39,40],vienna:[2,32],view:[2,13,38,41],visit:[2,38,39],vol:6,von:[],wai:[13,15,17,21,22,36,39,40],wait:22,want:[6,17,20,40],warn:[2,39],water:[2,6,19,40],wave:21,weather:[6,20,36,38],web:[2,6,11,14,22,23,24,30,33,40],webapi:[2,6],webmar:[],webserv:22,websit:[2,39,40,41],wedg:17,welch:[],well:[2,6,15,21,36,39,40],were:[2,6,11,12,19,33,40],west:[2,11],western:2,wet:17,wether:[2,12],wget:39,what:[5,23,38,39,40],whatev:40,when:[2,4,6,10,17,39,40,42],whenev:21,where:[2,6,9,11,12,13,17,19,20,21,39,40],wherea:[6,15],wherebi:11,wherekei:2,wherekeynam:2,wherekeyvalu:2,which:[0,2,3,4,5,6,7,9,10,11,12,13,14,15,17,18,19,20,21,22,33,36,39,40,41],whith:10,who:[20,40,42],whole:[2,17,36,40,41],whose:19,why:[17,40,42],wie:[],wiki:[2,6,39],wil:2,wildcard:40,wind:[19,40],window:[39,40],within:[2,4,6,10,11,17,39,40],without:[2,13,22,30,39,40],word:2,work:[0,2,7,10,13,14,15,19,20,22,38,39,40],workdir:[4,10,13],workload:13,workspac:[10,19,40],workstep:20,would:[6,11,22,39,40,42],wouldn:[],wrap:[11,12,18,20],wrf:[2,6,10],write:[2,6,41],write_namelist:2,write_reqhead:2,written:[2,6,21],www:39,x86_64:39,xvf:[4,13,39],xxx:19,xxxx:6,xxxxx:40,xxyymmddhh:2,year:[39,40],yet:40,yield:[2,21],you:[0,3,5,6,21,24,30,39,40,41],your:[24,39,40,41],yourself:24,yymmdd:[6,19],yymmddhh:[6,19,21],yyyymmdd:[2,6,11],yyyymmddhh:[17,19],zamg:[33,41],zero:[2,17,21],zonal:21},titles:["Update Documentation","Fortran\u2019s Auto Generated Documentation","Python\u2019s Auto Generated Documentation","CONTROL file changes","The Compilation Jobscript <code class=\"docutils literal notranslate\"><span class=\"pre\">compilejob.ksh</span></code>","The CONTROL file","The CONTROL parameters","ECMWF User Credential file <code class=\"docutils literal notranslate\"><span class=\"pre\">ECMWF_ENV</span></code>","CONTROL file examples","The Fortran Makefile - <code class=\"docutils literal notranslate\"><span class=\"pre\">CONVERT2</span></code>","The Jobscript <code class=\"docutils literal notranslate\"><span class=\"pre\">job.ksh</span></code>","The executable Script - <code class=\"docutils literal notranslate\"><span class=\"pre\">run.sh</span></code>","The Installation Script - <code class=\"docutils literal notranslate\"><span class=\"pre\">setup.sh</span></code>","Templates","Application Modes","Program Flow","Auto Generated Documentation","Disaggregation of Flux Data","Control & Input Data","Output Data","Overview","Vertical Coordinate","Access Modes","Link Collection for Quick finder","Hints to specify dataset retrieval","Available Datasets for Member State users","Available Datasets for Public users","Metrics","Static Code Analysis","Testcases","FAQ - Frequently asked questions","Known Bugs and Issues","Developer Team","Changelog","Developer Guide","Documentation","ECMWF Data","Evaluation","Welcome to <code class=\"docutils literal notranslate\"><span class=\"pre\">flex_extract</span></code>\u2019s user documentation!","Installation","Quick Start","Support","ToDos"],titleterms:{"class":2,"new":[19,33],"public":[26,39,40],"static":28,CDS:39,The:[4,5,6,9,10,11,12],access:22,adapt:[],addit:[0,6,19],adjust:40,agre:39,analysi:28,api:39,applic:[14,15],ask:30,auto:[1,2,16],avail:[24,25,26],block:0,bug:[31,33,41],calcul:21,can:[24,30],cera:40,chang:[3,33],changelog:33,check:2,code:28,collect:23,combin:[39,40],comparison:29,compil:4,compilejob:[4,13],content:[7,11,12,19],continu:21,control:[3,5,6,8,18,40],controlfil:2,convert2:[9,19],convert:13,coordin:21,credenti:7,dai:[],data:[6,17,18,19,24,25,36,40],dataset:[24,25,26,39,40],definit:40,delight:[],develop:[32,34],diagramm:0,differ:15,disagg:[],disaggreg:[2,17,19],distribut:30,document:[0,1,2,16,35,38],doe:[4,10],domain:6,done:[],download:39,ecflexpart:2,ecmwf:[7,36,39],ecmwf_env:[7,13],ensembl:19,environ:39,equat:21,era:40,evalu:37,exampl:[4,5,8,10,15],execut:11,faq:[30,41],featur:[33,40],field:[6,17,19],file:[3,5,6,7,8,19,21,29,40],find:24,finder:23,fix:33,flex_extract:[38,39],flexpart:[19,39],flow:15,flux:[6,17,19],forecast:19,format:5,fort:19,fortran:[1,9,19,39],frequent:30,from:[21,30],frozen:[],full:39,gatewai:[39,40],gener:[1,2,6,15,16],get_mars_data:2,grib:[19,29],gributil:2,guid:34,half:[],hint:[24,40],horizont:21,host:[],how:24,index:19,input:[18,19],instal:[2,12,30,39],interim:40,issu:[31,41],job:[10,13,40],jobscript:[4,10],known:[31,41],ksh:[4,10],level:25,librari:30,licenc:39,link:23,list:41,local:[15,39,40],mail:41,makefil:9,mar:[19,21,29],marsretriev:2,member:[15,25],method:[],metric:27,mix:[],mode:[14,15,22,39,40],model:25,modul:2,need:[],old:[],older:17,onlin:0,oper:40,option:[11,12],out:24,output:[19,21],overview:20,packag:30,paramet:[6,11,12,21,40],parti:30,pre:21,precip:[],precipit:[17,19],predict:19,prepar:[21,39,40],prepare_flexpart:2,program:[2,15,19,39],pure:19,python:2,question:30,quick:[23,40],registr:39,releas:33,remot:[39,40],report:41,request:[19,29],requir:39,rest:17,retriev:24,run:11,script:[4,11,12],section:6,select:40,sequenc:0,server:[],set:15,setup:12,softwar:0,some:40,specif:40,specifi:24,sphinx:0,standard:19,start:40,state:25,submiss:11,submit:[2,11],support:41,surfac:25,system:41,team:32,temp:13,templat:13,temporari:19,test:39,testcas:29,third:30,ticket:41,time:6,todo:[40,42],tool:2,uiofil:2,updat:0,usag:[11,12],user:[6,7,15,25,26,38],using:21,veloc:21,version:17,versu:[],vertic:[6,19,21],web:39,welcom:38,what:[4,10,24,30],why:[],wind:[6,21],workflow:15}}) \ No newline at end of file +Search.setIndex({docnames:["Developers/gen_docu","Documentation/Api/api_fortran","Documentation/Api/api_python","Documentation/Input/changes","Documentation/Input/compilejob","Documentation/Input/control","Documentation/Input/control_params","Documentation/Input/ecmwf_env","Documentation/Input/examples","Documentation/Input/fortran_makefile","Documentation/Input/jobscript","Documentation/Input/run","Documentation/Input/setup","Documentation/Input/templates","Documentation/Overview/app_modes","Documentation/Overview/prog_flow","Documentation/api","Documentation/disagg","Documentation/input","Documentation/output","Documentation/overview","Documentation/vertco","Ecmwf/access","Ecmwf/ec-links","Ecmwf/hintsecmwf","Ecmwf/msdata","Ecmwf/pubdata","Evaluation/metrics","Evaluation/staticcode","Evaluation/testcases","Installation/gateway","Installation/local","Installation/remote","Support/faq","Support/known_bugs_issues","authors","changelog","dev_guide","documentation","ecmwf_data","evaluation","index","installation","quick_start","support","todo"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":1,"sphinx.ext.viewcode":1,sphinx:55},filenames:["Developers/gen_docu.rst","Documentation/Api/api_fortran.rst","Documentation/Api/api_python.rst","Documentation/Input/changes.rst","Documentation/Input/compilejob.rst","Documentation/Input/control.rst","Documentation/Input/control_params.rst","Documentation/Input/ecmwf_env.rst","Documentation/Input/examples.rst","Documentation/Input/fortran_makefile.rst","Documentation/Input/jobscript.rst","Documentation/Input/run.rst","Documentation/Input/setup.rst","Documentation/Input/templates.rst","Documentation/Overview/app_modes.rst","Documentation/Overview/prog_flow.rst","Documentation/api.rst","Documentation/disagg.rst","Documentation/input.rst","Documentation/output.rst","Documentation/overview.rst","Documentation/vertco.rst","Ecmwf/access.rst","Ecmwf/ec-links.rst","Ecmwf/hintsecmwf.rst","Ecmwf/msdata.rst","Ecmwf/pubdata.rst","Evaluation/metrics.rst","Evaluation/staticcode.rst","Evaluation/testcases.rst","Installation/gateway.rst","Installation/local.rst","Installation/remote.rst","Support/faq.rst","Support/known_bugs_issues.rst","authors.rst","changelog.rst","dev_guide.rst","documentation.rst","ecmwf_data.rst","evaluation.rst","index.rst","installation.rst","quick_start.rst","support.rst","todo.rst"],objects:{"":{ControlFile:[2,0,0,"-"],EcFlexpart:[2,0,0,"-"],GribUtil:[2,0,0,"-"],MarsRetrieval:[2,0,0,"-"],UioFiles:[2,0,0,"-"],checks:[2,0,0,"-"],disaggregation:[2,0,0,"-"],get_mars_data:[2,0,0,"-"],install:[2,0,0,"-"],prepare_flexpart:[2,0,0,"-"],submit:[2,0,0,"-"],tools:[2,0,0,"-"]},"ControlFile.ControlFile":{"public":[2,2,1,""],accmaxstep:[2,2,1,""],acctime:[2,2,1,""],acctype:[2,2,1,""],accuracy:[2,2,1,""],addpar:[2,2,1,""],area:[2,2,1,""],assign_args_to_control:[2,3,1,""],assign_envs_to_control:[2,3,1,""],basetime:[2,2,1,""],cds_api:[2,2,1,""],check_conditions:[2,3,1,""],controlfile:[2,2,1,""],cwc:[2,2,1,""],dataset:[2,2,1,""],date_chunk:[2,2,1,""],debug:[2,2,1,""],destination:[2,2,1,""],doubleelda:[2,2,1,""],dpdeta:[2,2,1,""],dtime:[2,2,1,""],ec_api:[2,2,1,""],ecfsdir:[2,2,1,""],ecgid:[2,2,1,""],ecstorage:[2,2,1,""],ectrans:[2,2,1,""],ecuid:[2,2,1,""],end_date:[2,2,1,""],eta:[2,2,1,""],etadiff:[2,2,1,""],etapar:[2,2,1,""],exedir:[2,2,1,""],expver:[2,2,1,""],flexextractdir:[2,2,1,""],format:[2,2,1,""],gateway:[2,2,1,""],gauss:[2,2,1,""],gaussian:[2,2,1,""],grib2flexpart:[2,2,1,""],grid:[2,2,1,""],inputdir:[2,2,1,""],install_target:[2,2,1,""],installdir:[2,2,1,""],left:[2,2,1,""],level:[2,2,1,""],levelist:[2,2,1,""],logicals:[2,2,1,""],lower:[2,2,1,""],mailfail:[2,2,1,""],mailops:[2,2,1,""],makefile:[2,2,1,""],marsclass:[2,2,1,""],maxstep:[2,2,1,""],number:[2,2,1,""],omega:[2,2,1,""],omegadiff:[2,2,1,""],oper:[2,2,1,""],outputdir:[2,2,1,""],prefix:[2,2,1,""],purefc:[2,2,1,""],request:[2,2,1,""],resol:[2,2,1,""],right:[2,2,1,""],rrint:[2,2,1,""],smooth:[2,2,1,""],start_date:[2,2,1,""],step:[2,2,1,""],stream:[2,2,1,""],time:[2,2,1,""],to_list:[2,3,1,""],type:[2,2,1,""],upper:[2,2,1,""],wrf:[2,2,1,""]},"EcFlexpart.EcFlexpart":{"public":[2,2,1,""],accmaxstep:[2,2,1,""],acctime:[2,2,1,""],acctype:[2,2,1,""],accuracy:[2,2,1,""],addpar:[2,2,1,""],area:[2,2,1,""],basetime:[2,2,1,""],calc_extra_elda:[2,3,1,""],create:[2,3,1,""],dataset:[2,2,1,""],dates:[2,2,1,""],deacc_fluxes:[2,3,1,""],dtime:[2,2,1,""],expver:[2,2,1,""],gaussian:[2,2,1,""],glevelist:[2,2,1,""],grid:[2,2,1,""],inputdir:[2,2,1,""],level:[2,2,1,""],levelist:[2,2,1,""],marsclass:[2,2,1,""],mreq_count:[2,2,1,""],number:[2,2,1,""],outputfilelist:[2,2,1,""],params:[2,2,1,""],process_output:[2,3,1,""],purefc:[2,2,1,""],resol:[2,2,1,""],retrieve:[2,3,1,""],server:[2,2,1,""],stream:[2,2,1,""],types:[2,2,1,""],write_namelist:[2,3,1,""]},"GribUtil.GribUtil":{copy_dummy_msg:[2,3,1,""],get_keys:[2,3,1,""],index:[2,3,1,""],set_keys:[2,3,1,""]},"MarsRetrieval.MarsRetrieval":{"public":[2,2,1,""],accuracy:[2,2,1,""],area:[2,2,1,""],data_retrieve:[2,3,1,""],dataset:[2,2,1,""],date:[2,2,1,""],display_info:[2,3,1,""],expver:[2,2,1,""],gaussian:[2,2,1,""],grid:[2,2,1,""],levelist:[2,2,1,""],levtype:[2,2,1,""],marsclass:[2,2,1,""],number:[2,2,1,""],param:[2,2,1,""],print_infodata_csv:[2,3,1,""],repres:[2,2,1,""],resol:[2,2,1,""],server:[2,2,1,""],step:[2,2,1,""],stream:[2,2,1,""],target:[2,2,1,""],time:[2,2,1,""],type:[2,2,1,""]},"UioFiles.UioFiles":{delete_files:[2,3,1,""],files:[2,2,1,""],path:[2,2,1,""],pattern:[2,2,1,""]},ControlFile:{ControlFile:[2,1,1,""]},EcFlexpart:{EcFlexpart:[2,1,1,""]},GribUtil:{GribUtil:[2,1,1,""]},MarsRetrieval:{MarsRetrieval:[2,1,1,""]},UioFiles:{UioFiles:[2,1,1,""]},checks:{check_accmaxstep:[2,4,1,""],check_acctime:[2,4,1,""],check_acctype:[2,4,1,""],check_addpar:[2,4,1,""],check_area:[2,4,1,""],check_basetime:[2,4,1,""],check_dates:[2,4,1,""],check_grid:[2,4,1,""],check_job_chunk:[2,4,1,""],check_len_type_time_step:[2,4,1,""],check_levels:[2,4,1,""],check_logicals_type:[2,4,1,""],check_mail:[2,4,1,""],check_maxstep:[2,4,1,""],check_number:[2,4,1,""],check_pathes:[2,4,1,""],check_ppid:[2,4,1,""],check_public:[2,4,1,""],check_purefc:[2,4,1,""],check_queue:[2,4,1,""],check_request:[2,4,1,""],check_step:[2,4,1,""],check_time:[2,4,1,""],check_type:[2,4,1,""]},disaggregation:{IA3:[2,4,1,""],dapoly:[2,4,1,""],darain:[2,4,1,""]},get_mars_data:{check_dates_for_nonflux_fc_times:[2,4,1,""],do_retrievement:[2,4,1,""],get_mars_data:[2,4,1,""],main:[2,4,1,""],mk_dates:[2,4,1,""],mk_server:[2,4,1,""],remove_old:[2,4,1,""],write_reqheader:[2,4,1,""]},install:{check_install_conditions:[2,4,1,""],del_convert_build:[2,4,1,""],get_install_cmdline_args:[2,4,1,""],install_local:[2,4,1,""],install_via_gateway:[2,4,1,""],main:[2,4,1,""],mk_compilejob:[2,4,1,""],mk_convert_build:[2,4,1,""],mk_env_vars:[2,4,1,""],mk_job_template:[2,4,1,""],mk_tarball:[2,4,1,""],un_tarball:[2,4,1,""]},prepare_flexpart:{main:[2,4,1,""],prepare_flexpart:[2,4,1,""]},submit:{main:[2,4,1,""],mk_jobscript:[2,4,1,""],submit:[2,4,1,""]},tools:{clean_up:[2,4,1,""],execute_subprocess:[2,4,1,""],generate_retrieval_period_boundary:[2,4,1,""],get_cmdline_args:[2,4,1,""],get_dimensions:[2,4,1,""],get_informations:[2,4,1,""],get_list_as_string:[2,4,1,""],init128:[2,4,1,""],make_dir:[2,4,1,""],my_error:[2,4,1,""],none_or_int:[2,4,1,""],none_or_str:[2,4,1,""],normal_exit:[2,4,1,""],product:[2,4,1,""],put_file_to_ecserver:[2,4,1,""],read_ecenv:[2,4,1,""],send_mail:[2,4,1,""],setup_controldata:[2,4,1,""],silent_remove:[2,4,1,""],submit_job_to_ecserver:[2,4,1,""],to_param_id:[2,4,1,""],to_param_id_with_tablenumber:[2,4,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:function"},terms:{"00h":[6,11],"10u":19,"10v":19,"12h":[6,11],"180w":6,"1hourli":[8,43],"1st":43,"20c":[5,6,19,21,22,23,36,42,43],"20gb":43,"24h":[2,6],"25th":43,"31st":43,"32000mb":[10,13],"3200mb":[4,13],"36hour":[8,43],"3hourli":[8,43],"4th":43,"6th":43,"althanstra\u00df":35,"boolean":2,"break":17,"case":[0,2,4,6,10,13,14,17,19,21,22,31,33,42,43],"class":[0,5,6,31],"datens\u00e4tz":[],"default":[2,3,5,6,8,10,11,12,18,19,43],"einf\u00fchrung":[],"export":[4,10,13],"f\u00fcr":13,"final":[0,2,11,15,17,19,21,43],"float":[2,11],"function":[2,17,41,43,45],"import":[2,6,11,30,31,33,39,43],"int":[2,6,30,32,43],"long":43,"m\u00f6glich":[],"new":[2,6,10,11,17,18,30,41,43,44],"public":[2,5,6,8,10,11,12,14,22,23,24,31,36,39,41],"return":[2,4,10],"short":[2,5,6,17,30,43],"static":[],"switch":[2,4,6,10,13,19],"true":[0,2],"try":[2,31,42],"while":[22,31,43],ARE:5,But:43,C3S:23,CDS:[2,22,23,33,36,42],Dps:[2,6],ENS:[23,43],FOR:[11,12],For:[0,2,3,5,6,9,11,12,13,14,18,19,21,22,24,30,31,32,33,39,42,43],HAS:[11,12,30,31,32,43],Has:[6,11],IDs:[6,15,43],Its:2,NOT:[11,12],Not:[],PBS:[4,10,13],THE:[11,12,30,31,32,43],THESE:[11,12,30,31,32,43],The:[0,2,7,13,14,15,17,18,19,20,21,22,30,31,32,39,42,43,44,45],Then:[2,11,14,32,42],There:[2,18,19,22,39,42,43],These:[2,4,10,13,17,42,43],Use:[0,6,43],Used:[2,12],Useful:43,Uses:2,Using:31,WITH:[11,12],With:[6,11,12,43],_acc:19,_config:2,_expand:2,_file:0,_local:44,_orolsm:19,_templat:2,a_0:17,a_1:17,a_2:17,a_3:17,abcd:2,abl:[2,13,17,18,22,30,43],about:[2,5,11,14,19,33,39,42,43],abov:[2,32,39,43],acc:[],accept:[6,14,21,22,42],access:[2,5,6,12,14,19,23,24,30,31,32,39,41,42,43],accmaxstep:[2,5,6,10,43],accomplish:15,accord:[6,12,43],account:[39,42,43],acctim:[2,5,6,10,43],acctyp:[2,5,6,10,43],accumlu:2,accumul:[2,6,17,19,43],accur:43,accuraci:[2,5,6,10,19,21],achiev:21,action:23,activid:32,actual:[2,6,12,13,18,19,42,43],adapt:[0,2,5,6,9,11,12,13,18,31,32,33,43],add:[2,43],added:[17,19],adding:[2,43],addit:[2,5,11,14,15,17,30,39,43],addition:[2,5,6,14,18,20,30,43,44],addpar:[2,5,6,10,43],address:[2,6,19,43],adjac:17,adjust:41,admin:[30,31,33],administr:[],adress:12,advanc:[2,43],advis:[],aerosol:35,affect:17,after:[2,5,6,11,12,15,17,18,19,30,43],afterward:[2,13,17,30,31,32],again:[11,12,30,43],against:43,aggreg:19,agre:[],agreement:[14,22,41],aim:[],albatross:[],algorithm:[2,17,36],alist:2,all:[2,5,6,8,11,12,13,15,17,19,30,31,32,33,39,42,43,44],allow:[2,6,11,22],alpabet:2,alreadi:[2,11,22,30,31,32,42,43],also:[2,5,6,10,11,12,15,17,18,19,21,22,30,32,39,42,43],alt:[],altern:42,alwai:[6,11],amount:[2,6,11,17,39],anaconda:[30,31,42],analys:21,analysi:[2,5,6,11,19,22,39,43],ander:[],ani:[2,3,5,6,11,12,14,17,21,33,42,43,44],ann:[2,5,10,11,12,19,31,35,45],annep:[10,12],announc:[43,44],anog__ml:19,anog__sl:19,anoth:[2,6,22,43],ansh__sl:19,anymor:[3,36],anyon:44,anyth:[6,11,12,13],api:[2,6,11,14,22,23,33,36,42,43],app:[30,32],appear:[21,43],append:2,appli:[2,11,17,21,36,43],applic:[2,4,6,7,9,10,11,12,13,20,21,42,43,44],approach:17,appropri:[6,43],approri:6,april:43,apt:[30,31],arbitrari:2,archiv:[2,5,11,18,20,22,30,31,41,42],area:[2,5,6,10,11,12,17,19,31,43],arg:2,argument:[2,11,12,18,22,30,31,32,42,43,44],aris:14,around:[17,20],arrai:2,arrang:2,array_t1:2,array_t2:2,array_t3:2,array_t4:2,articl:[2,6],ascrib:17,ask:[19,32,41,42,44],aspect:42,assign:2,assign_args_to_control:2,assign_envs_to_control:2,assimil:43,associ:[2,12,30],assum:21,atm:21,atmospher:[17,20,23,41,43],attent:[6,43],attribut:[2,41],august:43,austria:35,author:[2,5,11,12,32],auto:38,automat:[6,11,14,17,22,30,32,43,44],autoprogram:1,avail:[2,3,5,6,11,12,15,17,19,21,22,23,30,31,32,33,39,42,43],averag:17,avoid:[19,21,36,43],awar:43,awk:[4,13],back:[6,11,42],bahaviour:5,ball:[2,4,12,32,42],base:[2,7,10,11,17,36,39],basetim:[2,5,6,10,11,17,36,43],bash:[11,12],basic:[2,17],batch:[4,10,11,12,13,18,20,30,32,43],bdynam:31,beaver:[30,31],becaus:[21,43,45],beck:2,becom:[],bee:[],been:[15,30,31,32],befor:[0,2,6,10,17,32,39,42,43],begin:[2,13,17],beginn:[18,43],behaviour:18,being:[12,13,19],belong:[42,43],below:[9,17,19,21,31,43],beschreibung:[],besonderheiten:[],best:[6,17,39,43],better:[6,43],between:[2,4,6,7,10,17,19,21,30,43],bicub:17,big:[30,31,32],bilinear:17,bin:[4,10,11,12,13],bionic:[30,31],bit:[2,6],blank:2,block:[19,43],blockdiag:0,blockdiag_fontpath:0,blockdiagram:11,blog:33,blue:[12,17],bone:[],border:17,both:[2,21,31,39,43],boundari:[2,11,17],box:[2,12,41],bracket:43,branch:42,broader:39,bstatic:31,bug:41,build:[2,23],bunch:2,buster:[30,31],button:42,bypass:22,calc_extra_elda:2,calcul:[2,5,6,15,17,19,20,43],calibr:[6,43],call:[2,4,10,11,12,13,15,18,19,31,42,43],can:[2,3,5,6,9,11,12,13,14,15,18,19,20,21,22,30,31,32,39,41,42,43,44,45],cancel:22,cannot:[21,43],care:[6,11],carefulli:39,carri:[2,6,17],cat:[10,13],catalogu:[6,43],catego:43,categor:[],categoris:[],caus:[],caution:43,cautiou:43,cautious:43,caveat:43,cca:[2,4,9,10,11,12,13,14,32,43],ccb:[4,9,10,11,13,32],cdot:17,cds_api:[2,10],cdsapi:31,cdsapirc:31,ce00010800:19,ce00090800:[],ce00090803:[],ce00090806:[],ce00090809:[],ce00090812:[],ce00090815:[],ce00090818:[],ce00090821:[],ce000908:43,cell:17,centr:[19,20,39,41],central:[2,17],cera20c:[6,31],cera:[5,6,19,21,22,23,36,41,42],cera_exampl:43,cera_testgrid_local_cd:19,cerapubl:43,certain:42,certif:30,chang:[5,6,11,12,13,15,17,18,19,23,32,39,41,42,43],changelog:41,charact:2,character:2,characteris:2,check:[4,6,10,11,12,15,18,30,31,33,42,43,45],check_accmaxstep:2,check_acctim:2,check_acctyp:2,check_addpar:2,check_area:2,check_basetim:2,check_condit:2,check_dat:2,check_dates_for_nonflux_fc_tim:2,check_grid:2,check_install_condit:2,check_job_chunk:2,check_len_type_time_step:2,check_level:2,check_logicals_typ:2,check_mail:2,check_maxstep:2,check_numb:2,check_path:2,check_ppid:2,check_publ:2,check_purefc:2,check_queu:2,check_request:2,check_step:2,check_tim:2,check_typ:2,checkerboard:17,chernobyl:[],choic:[21,31,43],choos:21,chosen:[2,21],chunk:[2,11],circl:17,ciwc:[],classif:[2,6],clean:2,clean_up:2,clear:43,click:[24,42],client:[2,31],climat:[22,23,42],clist:2,clone:42,cloud:[2,6,19,43],clwc:[],cmd_list:2,coars:[],coarser:[3,6],code:[0,2,6,13,31,32,36,41,42],coincid:[],collect:[2,39,41,43,44],collis:19,colour:17,column:2,combin:[2,41],comma:[2,6,43],command:[2,4,5,10,11,12,15,18,22,30,31,32,42,43],commandlin:[2,11,12,30,31,32,43,44],comment:[3,5,13],common:[2,41,43],commonli:2,commun:[15,17,39,42,43,44],compar:17,compat:[3,6,18,21],compil:[2,9,12,13,18,30,31,32,33,42],compilejob:[18,32,43],complet:[2,14,17,23,31,36,43,45],complex:39,compon:[0,2,17,19,42],composit:[5,19,43],comprehens:5,comput:[13,17,21,22,23,30,42,43],computation:[],concaten:2,concatenate_sign:2,concern:2,conda:31,condit:[2,6,11,17],conduct:12,configur:[2,12,41,42],confluenc:[],confus:39,congratul:42,connect:[2,22,43],conrtol:43,conserv:[2,6,17],consid:[],consider:17,consist:[2,3,17,18,19,20,21,39,43],consol:[30,31],constel:8,constitut:11,construct:[0,27,28,37,38,40],consult:[],contact:23,contain:[0,2,5,7,11,13,17,19,21,33,42,43,44],content:[2,6,13,23,30,32,41,43],context:2,continu:[2,6,17,43],control:[2,10,11,12,13,15,19,21,22,38,39,41,42,44,45],control_:[5,43],control_cera:[8,10,43],control_cont:13,control_ea5:[8,11,12,30,31,32,43],control_ei:[8,43],control_od:[8,11,43],control_param:[],controlfil:[10,11,12,13,30,31,32,43],controlparamet:5,convect:[2,11,17,19],conveni:43,convent:[2,5],convers:[2,20],convert2:[2,4,12,13,18,21,30,31,32,36,42,43],convert:[2,15,17,31,38,42,43],convert_pr:42,coordin:[5,19,38,39,43],copernicu:42,copi:[2,12,32,41,43],copy_dummy_msg:2,copyright:2,corner:6,correct:[2,6,30,43],correctli:[2,6],correspon:18,correspond:[2,6,11,13,19,43],cost:21,could:[17,32,43],count:[6,11],counter:2,coupl:[2,8,9,12,13,43],coverag:[],covert2:15,crai:[4,9,10,13,32],creat:[0,2,4,6,7,10,11,12,13,15,18,20,21,30,32,43,44],creation:[],creativ:[2,41],creativecommon:[2,41],credenti:[12,13,15,18,31,32,42,43,44],cross:6,crunchi:[],csv:[2,6,15,19,43],cubic:2,current:[0,2,6,9,12,14,21,31,42,43],curv:[],cvh:19,cvl:19,cwc:[2,5,6,10,43],cycl:43,cyclic:[6,21],d64:[30,32],daher:[],dai:[2,6,11,17,19,23,30,31,43],daili:[6,43],damp:17,dapoli:2,darain:2,dark:17,dat:11,data:[2,5,8,11,12,15,20,21,22,23,31,36,38,41,42,45],data_retriev:2,databas:23,dataset:[2,5,6,10,11,14,17,18,19,21,22,23,31,39,41],datatyp:[11,19],date:[2,5,6,11,12,17,19,31,43],date_chunk:[2,5,6,10,11,43],date_time_steprang:19,datechunk:2,datelin:6,datetim:2,day1:[],day2:[],deacc:[],deacc_flux:2,deaccumul:[2,43],debian:[30,31],debug:[2,5,6,10,11,19,21,36,43],decid:[2,5,18,42,43],decis:[2,43],declar:43,declin:22,decompos:2,defin:[2,5,6,10,11,12,19,21,24,39,42,43],definit:[2,5,18,41],degre:[6,21,43],degress:3,dejavu:0,dejavuserif:0,del_convert_build:2,delai:44,delet:[2,6,19,43],delete_fil:2,delta:17,delta_t:2,demand:[17,21,43],demonstr:19,denot:[2,17],depart:35,depend:[2,6,11,12,13,15,17,19,20,21,31,42,43],deposit:17,deprec:2,depthbelowlandlay:19,der:[],deriv:2,desc:[],describ:[12,14,18,19,20,22,32,42,43],describt:[],descript:[2,5,6,8,11,12,13,18,19,21,39,42,43,44,45],descrption:[],design:43,desir:[2,6,17,21],destin:[2,5,6,7,10,12,13,15,30,31,32,43],destination_nam:[7,13],deta:21,detail:[2,5,15,19,20,21,42,43],detect:[6,44],determin:[2,11,12,17],dev:[17,31],develop:[0,2,6,17,41,44],diagnost:[2,6],diagram:[0,12,15],diagramm:[],diamond:17,dict:2,dictionari:2,differ:[2,6,8,14,21,22,31,39,43],differenti:[4,10,43],difficulti:15,digest:[],digit:19,dimens:[2,17],dimension:[2,17,43],direct:[2,13,14,21,22,43],directli:[2,4,10,11,12,13,14,22,42,43],directoi:42,directori:[0,2,4,5,6,7,8,9,10,11,12,13,14,18,31,32,36,42,43],dirsfirst:[],dis:19,disabl:[6,21],disaggegr:2,disaggreg:[5,6,15,36,38,43],discard:6,discret:[17,19],discretis:[],discuss:[22,43],dispers:[2,6,17],displai:[2,6,32],display_info:2,disregard:2,distinct:2,distinguish:[6,11],distribut:[30,31,41,42,43],disturb:43,diverg:[19,43],divers:[2,36],divid:[2,11,17,22],do_retriev:2,document:[5,8,11,19,21,23,30,32,36,43],doe:[2,11,12,14,30,32,33,43],doesn:[6,11,12,31],doi:[6,17],doing:2,doku:[],domain:[5,43],don:[31,33,42],done:[2,4,6,10,11,12,13,14,15,17,20,22,31,32,42,43],dot:0,doubl:[2,4,6,8,10,11,13,43],doubleelda:[2,5,6,10,43],down:[17,42],download:[23,32,36,41],download_cdsapi:31,download_cera20c_ecmwfapi:31,download_era5_cdsapi:31,download_erainterim_ecmwfapi:31,downward:[3,6,18],dpdeta:[2,5,6,10,43],dpkg:31,drive:[2,19,20,43],dry:17,dtime:[2,3,5,6,10,43],due:[6,11,12,17,31,43],durat:43,dure:[2,4,9,12,13,15,18,31,42],each:[2,5,6,10,11,13,14,17,19,39,42,43],earlier:[],easi:[17,18,20,43],easier:[18,22,43],easiest:[30,31],easili:[2,11],east:[2,11],eastern:2,eastward:[17,19],ec_api:[2,10],ec_memory_per_task:[4,10,13],ec_threads_per_task:[4,10,13],ecac:32,ecaccess:[2,4,10,12,13,14,15,22,23,30,32,43],ecaccess_do_not_remov:[4,10,13,43],eccod:[4,10,12,13,23,30,31,32,33,36],eccodes_include_dir:[9,31],eccodes_lib:[9,31],ecd:2,ecf:[2,6,32],ecfsdir:[2,5,6,10],ecg:[4,10,13],ecgat:[2,4,6,9,10,11,12,13,14,21,30,32,43],ecgb11:[32,43],ecgb:[4,10,13],ecgid:[2,5,6,7,10,12,13,30,31,32,43],echo:[4,12,13],echom:32,ecmf:19,ecmwf:[2,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,23,30,32,33,36,41,43],ecmwf_env:[2,11,12,18,43],ecmwf_grib1_table_128:[],ecmwfapi:[31,33],ecmwfapirc:31,ecmwfdata7:[],ecmwfdata:[],ecmwfdataserv:[2,31],ecmwfservic:[2,31],ecnam:12,econdemand:[2,5,6,10],ecscratch:32,ecstorag:[2,5,6,10],ectmp:[2,5,6,10],ectran:[2,5,6,10,15,30,32,43],ecuid:[2,5,6,7,10,12,13,30,31,32,43],ecwmf:42,edg:12,edit:[19,31],editor:[31,32],edu:[30,32],effect:[13,21,43],effici:[13,17,19,43],egat:12,ei15080900:[],ei15080903:[],ei15080906:[],ei15080909:[],ei15080912:[],ei15080915:[],ei15080918:[],ei15080921:[],ei_exampl:[],einweisung:[],einzelnen:[],either:[2,6,11,14,15,43],elda:[2,6,8,36,43],element:[2,3],els:[4,10,12,13],email:[2,4,6,10,13,30,32,43,44],emo:[4,10,13],emoslib:[21,23,31,32,33],empti:[2,11,12],enabl:[22,30,43],encount:42,end:[2,4,6,10,11,13,17,19,43],end_dat:[2,5,6,10,11,17,43],end_period:2,enda:[10,19,31,43],endian:[30,31,32],endif:17,endo:6,enfo:[6,8,36,43],enough:[6,39,43],ens:[8,43],ensembl:[2,6,23,36,43],ensemble_memb:19,ensur:21,enter:[30,43],entri:[2,11,45],env:[2,4,13],environ:[2,4,6,10,11,12,13,14,20,33,41,43,44],environment:[2,35,43],enyymmddhh:[],eof:[10,13],equal:[2,6,11,21,43],equat:[2,6,17,43],equidistantli:17,era5:[2,5,6,21,22,23,31,42,43],era:[5,6,11,19,21,22,23,36,41,42],error:[2,4,10,12,13,21,30,31,43],error_msg:2,esac:[4,10,13],escap:13,especi:[21,39,42,43],establish:[14,30],eta:[2,5,6,8,10,19,21,38,43],etadiff:[2,5,6,10,21,43],etadot:[2,6,19,43],etadothigh2:[],etapar:[2,5,6,10],etayymmddhh:[6,21],etc:44,europ:43,european:[20,39,41],evalu:41,even:[17,21,43],event:17,eventu:[11,15],everi:[22,30,43],everyon:6,everyth:[0,2,14,30,31,43],ewss:[17,19],exact:[2,17,43],exactli:[],exampl:[2,3,6,7,11,17,18,19,22,23,30,31,39,43],example_usernam:30,exce:43,exceed:43,excelt:0,except:[2,6,21,31,43],execut:[2,9,10,12,13,14,15,18,19,31,32,42],execute_subprocess:2,exedir:2,exist:[2,6,11,43],exit:[2,11,12],expect:[2,43],expens:[6,21],experi:[6,31,43,44],experienc:43,experiment:[],explain:[43,45],explan:43,explanait:43,explic:20,explicit:[22,42],explicitli:[6,20,22,43],express:2,expver:[2,5,6,10,19,31],extend:43,extens:[0,2,6,17],extra:[2,5,6,14,19,36,42,43],extract:[2,5,6,19,21,22,31,43,45],f90:[30,31,32,36],f_i:17,facil:[22,30],factor:[],fail:[2,4,6,10,13,43],failur:43,fals:2,familiar:43,faq:41,far:6,fast:20,faster:[18,22,31,44],fcgg__sl:[],fcog__ml:[],fcog__sl:[],fcog_acc_sl:19,fconvert:[30,31,32],fcrai:[30,31,32],fcsh__ml:[],fcsh__sl:[],fdefault:[30,31,32],feasibl:21,featur:[2,6,20,41,44],februari:5,fedir:2,feel:42,felder:[],fell:[],few:[6,30,32,43],fewer:43,ffix:[30,31,32],fftw3:[31,32],fftw:[23,30,32,33],field:[2,5,11,15,20,21,23,36,41,43,45],field_typ:19,fig:17,figur:[14,17,43],file1:2,file2:2,file:[0,2,4,9,10,11,12,13,15,17,18,20,22,23,30,31,32,36,39,41,42,44,45],filemod:2,filenam:[2,17,19,43],filename_in:2,filepath:2,fill:[6,42,43],filter:[2,17],find:[5,31,39,42,43],finder:39,fine:21,finer:[3,21],finish:[42,43],first:[2,5,6,11,17,31,32,36,39,42,43],fit:2,fix:[4,10,17,41],flex:[10,13,43],flex_ecmwf:[4,10,13],flex_extract:[0,2,4,5,6,8,9,10,11,12,13,14,15,17,18,19,20,21,22,30,31,32,33,39,43,44],flex_extract_v7:[10,13,19,31,45],flex_extract_v:[4,13],flex_extract_vx:[5,7,8,9,11,12,13,18,30,31,32,42,43],flexcompil:[4,13,30,32],flexextract:[10,19,31,45],flexextractdir:2,flexpart:[2,6,11,15,17,20,21,22,41,43,44],flexpart_root:[4,13],flexpart_root_script:[4,13],flexpartdir:12,flextra:[2,20,21,41],flow:[2,11,12,20],flux:[2,5,15,21,38,43],fluxpar:[],fluxyyyymmddhh:17,flxacc2:17,fno:[30,31,32],follow:[2,5,7,12,13,15,17,18,19,21,30,31,32,33,39,42,43],font:0,fontpath:0,fopenmp:[30,31,32],for_develop:[0,45],forecast:[2,5,6,11,17,20,21,22,23,39,41,43,45],forecast_step:19,forescast:43,forg:31,forget:33,form:[6,42],format:[2,6,10,12,15,17,19,20,31,43],formul:17,fort:[2,13],fortran90:[12,21],fortran:[0,2,4,12,13,15,16,17,18,20,30,31,32,36,38,41,43],fortran_program:13,found:[2,5,6,9,13,19,20,21,30,31,43,44],four:[2,42],fp_root:2,fp_root_path:13,fp_root_script:13,fpdir:2,frac32:17,frac:17,framework:[13,30],free:42,frequent:[41,44],friendli:[],frog:[],from:[2,3,4,5,6,10,11,12,13,14,15,17,18,19,20,22,23,30,31,32,36,39,41,42,43,44],fromfil:2,fsr:19,ftime:2,ftp:32,ftrafo:[30,31,32],ftype:2,fulfil:17,full:[2,6,11,12,21,22,31,39,41,43],fulli:39,further:[2,32,43],futur:[6,21,43],g_i:17,g_ig_:17,gain:17,gannet:[],gap:43,gate:2,gatewai:[2,4,5,6,7,9,10,12,13,14,15,18,20,22,31,32,41,42],gateway_nam:[7,13],gatewayserv:43,gatwai:[],gauss:[2,5,6,8,10,11,21,38,43],gaussian:[2,6,10,19,21,23],gcc:31,gemacht:[],gen_docu:0,gener:[0,4,5,10,13,17,19,21,23,30,31,38,42,43],generate_retrieval_period_boundari:2,generel:2,genericsftp:[2,10,12,30],genshi:[4,10,13,30,31,32,36],geometr:2,geophys:35,geosci:17,geoscientif:[2,6,17],get:[2,6,9,15,30,31,32,36,39,42,43],get_cmdline_arg:2,get_dimens:2,get_inform:2,get_install_cmdline_arg:2,get_kei:2,get_list_as_str:2,getmarsdata:[],gfortran:[2,4,9,10,12,23,30,31,32,33],gid:[30,32],git:42,gitmob:42,give:[2,6,21,31,42,43],given:[2,5,10,14,17,21],glevelist:2,global:[5,6,8,11,21,39,43],gmd:[6,17],gnu:[30,31,32,42],goal:[],goe:2,going:[2,6,11,32],good:21,grant:42,graph:[],graphviz:0,grb:[2,19],greater:[6,11],green:[12,17],grep:[10,13,31],grib1:[2,5,6,10,15],grib2:[2,6,15],grib2flexpart:[2,10],grib:[2,6,11,15,23,31],grib_api:[4,10,13,31,33,36],grib_l:19,grib_tabl:[],gribfil:[],gribmessag:11,grid:[2,3,5,6,10,17,19,20,21,23,31,43],grid_simpl:19,grid_typ:19,gridpoint:[],gridtyp:19,group:[2,4,5,12,13,14,22,31,42],groupnam:12,grphreal:[30,31,32],guarante:[2,12,17,43],guid:[23,36,41,43],guidanc:21,haimberg:[2,35],half:[2,6,11,17,21,43],hand:43,handl:[2,5,39],happen:0,hard:2,harmin:[],harmon:19,has:[0,2,4,6,8,9,10,11,12,13,14,17,20,21,22,30,31,32,39,42,43],hast:6,hat:[],have:[2,3,5,6,11,12,14,15,18,22,30,31,32,33,39,42,43,45],hcc:19,header:2,heat:[2,17,19],heavili:21,height:[17,19],help:[2,11,12,17,18,43,44],hemispher:43,henc:[17,43],her:[],here:[2,6,8,11,15,19,31,43,44],high:[6,11,13,21,31,43],higher:[2,21],highest:21,highli:21,highlight:43,highr:[8,43],hint:[5,33,39,41,44],his:[12,39],histor:21,hittmeir:[2,6,17],home:[4,10,12,13,14,23,30,31,32,42,43],horizont:[2,5,6,17,43],hoskin:6,host:[4,10,13,43],hostnam:[32,43],hour:[2,6,11,17,19,22,43],hourli:[6,22,43],how:[2,5,6,9,15,18,22,23,39,42,43],howev:[6,15,17,19,21,22,43],hpc:[21,43],hre:[23,43],http:[2,6,17,32,41,42,44],humid:19,hybrid:19,i32:[30,32],i_i:17,ia3:2,ice:[2,6,43],ich:[],idc:[],ideal:[],identif:2,identifi:[2,6,11,17,19],identificationkeyword:2,idir:2,idirectionincrementindegre:2,ids:[2,19],idx:[2,19],ifort:[9,12,31],iid:2,illustr:[],img:[10,12],implement:[17,43],impli:17,importantli:39,improv:[2,43],inbetween:6,includ:[6,11,12,13,30,31,32,42,44],incorpor:42,increas:[],incur:21,independ:39,index:2,index_fil:2,index_kei:2,index_v:2,indic:[2,5,17,19],individu:[2,4,6,10],ineffici:43,info:2,inform:[2,5,6,11,14,18,19,20,22,23,31,32,39,42,43,44],informt:2,init128:2,init:2,initi:[2,11,12,18,36],initialis:[2,36],input:[2,5,6,10,11,12,15,17,20,32,38,41,43],inputdir:[2,10,11,13,43],inputfil:[2,11],instal:[0,4,5,6,7,9,10,13,14,15,18,20,22,36,41,43],install_loc:2,install_target:[2,10,12],install_via_gatewai:2,installdir:[2,12,30,31,32,42],instanc:2,instantan:19,instead:[2,11,12,22],institut:39,instruct:[2,6,9,30,31,33,42,43],intact:11,integ:[2,6,11],integr:[2,17],intel:[4,10,13],intend:[6,8,11,14],intens:[],interact:30,interest:[39,42],interfac:[2,5,23,24,36,43],intergovernment:39,interim:[5,6,11,19,21,22,23,31,41,42],intermedi:2,intern:[2,41],internet:43,interpol:[2,6,10,11,17,19,31,43,45],interpret:18,interv:[2,3,6,12,17,19],introduc:[17,19,36,43],introduct:23,investig:39,involv:12,ipar:2,isol:17,issu:41,iter:2,its:[2,10,11,13,17,18,19,21,42,43],itself:[2,10,43],jame:[2,17],januari:43,jasper:[30,32],jdirectionincrementindegre:2,jedem:[],job:[2,4,6,11,12,14,15,18,19,20,30,31,32,41],job_chunk:[2,10,11,43],job_fil:2,job_id:[2,4,13],job_templ:[2,10,11,12,30,31,32,43],jobfil:2,jobnam:[2,4,13],jobop:43,jobscript:[11,18,43],journal:17,jtemplat:2,june:[2,43],just:[2,3,6,12,19,31,32,43,44],k_i:17,keep:[2,13,17,42,43],kei:[2,31,42],kept:[6,43],keynam:2,keyvalu:2,keyword:[2,6,11,19,22,23,43],kind:[2,6,19,43],kingdom:[],km4a:[4,10,12,13],know:[31,39,43],known:[5,41],komponenten:[],korn:[2,4,10,12,18,20,36,43],kornshel:13,ksh:[13,18,32,43],kwd:2,label:[12,31],lagrangian:[2,6,17],larg:[2,6,11,17,19,36,43],larger:[6,11,21],last:[2,6,11,17,30,32,43],lat:[2,6,11,19,21],later:[2,31],latest:[22,31,42],latitu:2,latitud:[2,6,20,43],latitudeoffirstgridpointindegre:2,latitudeoflastgridpointindegre:2,latlonal:[],latter:12,lcc:19,ld_library_path:33,lead:[6,11,13,17,32,43],learn:39,least:[2,12],leav:11,leccod:[30,31,32],leccodes_f90:[30,31,32],left:[2,5,6,10,17,21,42,43],lemo:[30,32],lemosr64:31,length:[2,17,30,31,32,43],leo:[43,45],leopold:[2,35],less:21,let:11,letter:[2,19,41],level:[2,5,6,10,11,12,15,18,19,21,22,31,43],level_typ:19,levelist:[2,5,6,10,11,19,31,43],levtyp:[2,19,31],lfftw3:[30,32],lgrib_api:31,lgrib_api_f77:31,lgrib_api_f90:31,lib:[30,31,32,33],libeccod:31,libemo:[30,31,32],librari:[4,10,12,14,20,23,30,31,32,41,42,44],licenc:[22,23,41],licens:[2,6,14,22,41],lies:2,light:12,like:[2,5,11,17,30,31,32,42,43],limit:[6,11,19,22,39,43],line:[2,5,11,12,13,15,17,18,19,22,30,31,32,42,43,45],linear:[2,6,17],linearli:17,link:[0,1,39,41,42,43],linux:[14,15,22,30,31,32,42,44],liquid:[2,6,43],list:[2,5,6,8,9,11,12,15,17,19,23,31,41,43],list_obj:2,littl:17,ljasper:[30,31,32],lnsp:[],load:[2,4,10,13,32,43],local:[2,5,6,7,9,11,12,14,22,30,32,33,36,41,42],localus:32,locat:[2,7,11,12,43,45],log:[2,4,6,10,13,31,32,42,43,44],logarithm:19,logic:[2,10],login:[32,43],lon:[2,6,11,19,21],longer:[2,6,19,36,43],longitud:[2,6,20,43],longitudeoffirstgridpointindegre:2,longitudeoflastgridpointindegre:2,longiud:2,look:[2,30,32,43],lot:[21,43,44],lower:[2,5,6,10,17,21,43],lowest:19,lp64:[30,32],lpthread:[30,32],lrt:[],lsm:19,lsp:[17,19],m64:[30,31,32],machin:[2,4,10,12,13,14,15,31,42,43],made:[2,39,43],mag:[],magnitud:2,mai:[6,11,15,17,30,31,32,42,43],mail:[2,4,6,10,13,35,41,43],mailfail:[2,5,10,13,43],mailop:[2,5,6,10,13],main:[2,5,18,20,22,43],mainli:[19,43,44],maintain:17,make:[0,4,13,18,30,33,39],make_dir:2,makefil:[2,4,10,12,13,18,30,31,32,33],manag:[13,30,31,42],mani:[17,43],manipul:2,mar:[2,6,11,15,18,20,22,23,31,33,36,41,42,43],march:[2,22],mark:[4,5,10,13,17,19,43],mars_request:[2,6,11,15,19,43],marsclass:[2,10,19],marsfil:2,maschin:11,mask:43,mass:21,master:42,match:2,mathrm:17,matter:[2,12],max:[6,11],max_level_list:2,maxb:[2,13,19],maxim:2,maxima:17,maximum:[2,5,6,11,43],maxl:[2,13,19],maxstep:[2,5,6,10],mcc:19,mdpdeta:[2,13,19],mean:[2,4,13,17,19,43],measur:21,medium:[20,39,41],meet:2,member:[2,6,12,14,19,22,23,24,30,31,39,42,43],memberst:[2,6],memori:[6,11],mention:[2,13,14,39,43],merg:15,mess:42,messag:[2,11,12,19,21,30,31],meta:[2,13,19],metadiff:[2,13,19],metapar:[2,13,19],meteorolog:[2,17,19,20,35,39,41],meter:19,method:[2,5,6,11,17,19,22,38,39,43],metriken:[],mgauss:[2,13,19],might:[0,2,6,11,15,18,22,31,39,42,43],migrat:[2,23],min:17,mind:[6,43],minim:[20,31,42],minima:17,minimum:43,minut:[2,30,32],mismatch:43,missingvalu:2,mix:[19,43],mk_compilejob:2,mk_convert_build:2,mk_date:2,mk_env_var:2,mk_job_templ:2,mk_jobscript:2,mk_server:2,mk_tarbal:2,mkdir:[4,10,13],mlevel:[2,13,19],mlevelist:[2,13,19],mnauf:[2,13,19],mnt:19,mock:0,mod:[2,4,13,31],mode:[2,4,6,7,9,10,11,12,13,18,19,20,39,41,42,44],model:[2,6,15,17,19,20,21,22,23,41,43],modif:2,modifi:[2,17,22,31,43],modul:[4,10,13,14,30,32,42,43],modular:36,momega:[2,13,19],momegadiff:[2,13,19],moment:6,mon:17,monitor:43,monoton:[2,17],month:[11,31,43],monthli:6,more:[2,3,5,6,11,12,14,15,17,19,43],most:[2,6,13,39,43],mostli:[2,6,43],motiv:17,mountain:[2,41],move:[0,2,22],mreq_count:2,msc:[],msgatwai:30,msl:19,msmooth:[2,13,19],much:[31,39,44],multipl:[2,43],multipli:[6,21],muser:[10,13],must:[5,6,11,14,32,43],my_error:2,myuser:12,name:[2,4,5,6,9,10,11,12,13,17,19,22,30,31,32,43],name_of_this_fil:[4,10,13],namelist:[2,13,19],namespac:2,namgen:[13,19],nas:[10,19,31,45],nation:39,natur:17,nearest:[],necessari:[0,2,3,4,5,6,9,10,11,12,13,14,18,20,30,31,32,33,43,44],nedit:31,need:[0,2,3,5,6,11,12,13,14,18,19,20,21,32,42,43],neg:[2,17],neglect:6,neighbour:[],net:[17,19],neu:[],nevertheless:2,newer:19,newest:43,newslett:43,next:[30,32,43],nfield:2,nicht:[],night:43,non:[2,6,17,43],noncycl:6,none:[2,5,6,10,11,12,17,19,30,31,32,43],none_or_int:2,none_or_str:2,normal:[4,6,10,13,21,31,43],normal_exit:2,north:[2,11],northern:[2,43],northward:[17,19],notabl:43,notat:17,note:[6,15,17,32,42,43],notif:[2,5],notifi:2,novemb:[2,21],now:42,nowadai:43,nsss:[17,19],number:[2,3,4,5,6,8,9,10,11,13,17,18,19,20,21,31,36,43],numer:39,nummern:[],numpi:[2,30,31,32],object:2,observ:2,obtain:[17,42],obvious:17,occur:[2,17],octahedr:23,octob:11,odir:2,off:[2,5,6,19],often:21,og_orolsm__sl:19,old:[0,2,6,11,17,36,43],older:[6,15,43],omega:[2,5,6,10,21,38,43],omegadiff:[2,5,6,10,21,43],omegayymmddhh:[6,21],onc:[11,43],one:[2,5,6,11,12,17,18,19,32,33,42,43],ones:17,ongo:[],onli:[2,3,5,6,11,12,17,19,21,22,30,31,32,42,43,44],onlin:[31,43],onward:6,open:[2,20,31,32,41,43],opend:12,oper:[2,5,6,8,10,11,12,17,21,23,31,39,41,42],operation:6,oportun:22,opportun:[43,45],opt:19,optim:[12,21,32,43],optimis:15,option:[2,5,6,15,17,19,21,33,36,42,43],optionalind:5,orang:12,order:[2,5,17],org:[2,6,17,41],organis:39,origin:[2,6,11,17,19,43,45],orographi:19,orolsm:[],other:[1,2,5,6,11,17,31,39,42,43],otherwis:[2,43],our:[23,42],out:[2,4,6,10,13,17,31,42,43],output:[2,4,5,6,10,11,12,13,17,30,31,32,36,38,42,43,44],outputdir:[2,10,11,13,43],outputfilelist:2,over:[2,17,39,43],overal:[2,19],overlap:6,overrid:[3,11],overrul:5,overview:[8,14,15,17,23,38,41,42],overwrit:[0,2,43],overwritten:[2,18,43],own:[32,39,42],p_a:17,p_ac:[],p_b:17,p_bd:[],p_c:17,p_d:17,packag:[0,4,10,13,20,30,31,32,41,42],package_nam:31,packingtyp:19,page:[30,42],panel:42,par:2,parallel:19,param1:43,param2:43,param:[2,19,31],paramat:2,paramet:[2,3,4,5,8,10,13,15,17,18,19,20,23,30,31,32,39,41,42],parameterid:[],parameteris:43,parameterlist:[11,12],parametern:[],parameternam:2,paramx:43,parent:[2,11,19],part:[2,17,19,20,31,32],parti:[14,20,23,32,41],particl:[2,6,17],pass:[2,42],passcod:30,password:[30,32],path:[0,2,4,6,8,10,11,12,13,14,31,32,33,42,43],path_flexextract_dir:2,path_fortran_src:2,path_input_dir:2,pattern:[2,43],paul:17,pbs_jobid:[10,13],pdf:21,pep8:36,per:[2,5,6,11,15,19,43],perform:[2,13,15,19,21],period:[2,5,6,11,17,30,39,43],person:12,perturb:[6,19,43,45],petra:2,phgrreal:[30,31,32],philipa8:31,philipp:[2,5,6,11,12,17,35],physic:[35,39],pid:[19,43],piec:[17,19,31],piecewis:17,pip:[0,30,31,42],place:[2,12,13,14,30,43,44],placehold:[13,32],plan:[6,21],platform:42,pleas:[5,9,14,15,19,21,30,31,32,42,43,44,45],plot:23,plu:17,png:0,point:[2,11,17,19,31,43],pointer:[30,31,32],polynomi:[2,17],posit:[2,6,13,17],posnam:[30,31,32],possess:[],possibl:[2,5,6,8,11,12,17,21,22,31,33,42,43,44,45],post:[2,6,15],postprocess:2,pp_id:[11,43],ppid:[2,11,19],pre:17,precalcul:6,precip:19,precipit:[2,5,6,11,23,36,43],precis:33,preconvert:[1,30,31,32],predict:[39,43],prefar:42,prefer:6,prefix:[2,5,6,10,19,21],prep:[],prepar:[0,2,4,6,9,10,11,12,13,14,15,20,26,41,42],prepare_flexpart:11,preprocess:2,preprocessor:44,present:[7,12,23,30,32,42,43],preserv:17,pressur:[2,19,21,22,31],pressure_level:31,previou:[18,21],prgenv:[4,10,13],print:[2,4,13,43],print_infodata_csv:2,prior:[17,21],problem:[2,17,36,42,43,44],procedur:17,process:[2,4,6,7,9,10,11,12,13,14,15,17,18,19,22,31,36,42,43,44],process_output:2,prod:2,produc:[17,19,21,39,43],product:[2,42,43],product_typ:31,prof:[],progam:42,program:[0,4,9,11,12,13,17,18,20,21,30,31,32,36,41,43],progress:[15,43],prompt:30,proper:18,properli:[2,15,44],properti:[2,19],propos:17,proposit:44,prot:[10,13,43],protocol:43,provid:[2,14,18,20,22,30,31,32,39,42,43,44],publicli:43,publish:[17,39],pure:[2,6,11,15,43],purefc:[2,10],purpos:[2,6],put:[2,6,11,12,13,19],put_file_to_ecserv:2,pya:[],pyb:[],pyc:[],pycallgraph:0,pyd:[],pylint:0,pyrevers:0,pyscript:11,pytest:0,python3:[4,10,13,18,30,31,32,36,42,43],python:[0,4,10,11,12,13,15,16,17,18,19,20,23,30,31,32,33,36,38,42,43],pythonxxxxx:43,qos:[4,10,13],quad:17,quantiti:[2,6,17],question:[41,44],queue:[2,4,10,11,12,13,15,30,32,43],queuenam:[4,10,13],queues_list:2,quick:[8,18,31,39,41,42],quick_start:45,quickli:[13,43],quota:43,r64:[4,10,13,30,32],radiat:[2,17,19],radon:[],raid60:[10,31,45],rainfal:2,rais:[2,17],rang:[2,6,12,20,31,39,41,43],rare:43,rate:17,rather:21,raw:[2,11,15],reach:18,read:[2,6,12,13,15,20,21,32,33,39,42,43],read_ecenv:2,readi:[2,6,11],readlatlon:42,readspectr:42,real:[23,30,31,32,43],real_tim:23,realis:17,realiti:17,realli:[21,43],reanalysi:[6,11,21,23,31,42],reason:[2,6,11,17,19,43],receiv:[15,30,43,44],recent:[10,43],recommend:[6,13,17,19,21,31,43],reconstruct:[2,17],record:42,rectangular:12,red:17,reduc:[19,21,23,43],ref:[13,30,31],refactor:36,refer:[2,39],reflect:[],regard:[5,18,44],regardless:42,region:21,regist:[22,31,33,42],registr:[6,14,22,23,31,33,41,44],regress:[36,41],regular:[2,20,43],regular_l:19,regularli:39,rel:[17,43],relat:43,releas:[41,42,43,44],relev:[2,5,32],reli:42,remain:[2,17],rememb:42,remot:[2,4,6,7,9,10,12,13,14,15,18,20,30,41,42],remota:12,remov:[2,3,17],remove_old:2,renam:0,repeat:2,repo:42,report:[2,41],repositori:42,repr:[2,19],repres:[2,17,19,22,23,42,43],represent:2,request:[2,4,5,6,10,11,13,15,17,22,31,36,43],request_numb:[2,19],requir:[2,13,14,17,20,21,41,43],rerun:11,research:39,resid:[],resol:[2,5,6,10,19,21,43],resolut:[3,5,6,11,21,22,39,43],resolv:21,respect:[2,17,19,42],respectivlei:18,respons:43,rest:[2,6],restrict:21,restructur:36,result:[2,15,19,21,31,43],retriev:[2,5,6,11,14,15,17,18,19,20,21,22,31,33,36,39,41,42,43,45],return_list:2,review:6,revis:36,revtriev:2,right:[2,5,6,10,17,21,22,30,31,33,42,43,44,45],rippl:[],rla0:[2,13,19],rla1:[2,13,19],rlo0:[2,13,19],rlo1:[2,13,19],root:[2,4,12,13,18,31,32,42,43],round:12,rpath:[30,32],rpm:31,rrint:[2,5,6,10,11,43],rst:45,rthl:43,rudimentari:12,run:[2,5,6,7,8,10,13,15,18,19,30,31,42,43,44],run_loc:[15,43],runtim:10,rwgrib2:[30,31,32,36],rwxr:[30,32],rwxrwxr:31,sabin:2,same:[2,6,11,22,30,33,43],sampl:[2,31],sardeshmukh:6,satisfactori:[],save:[11,19,21,31,43],sbatch:[4,10,13],scale:[2,11,17,19],scaveng:17,scenario:[14,17,43],schemat:17,scheme:[2,6,17,19,43],scientif:23,scope:6,scp:32,scratch:[4,10,13,43],screenshot:43,scriot:0,script:[2,5,6,10,13,14,15,17,18,19,20,21,23,30,31,32,36,42,43,44],scroll:42,sdor:19,second:[6,11,30,31,32],section:[5,12,14,18,19,22,31,32,36,39,42,43],see:[2,5,6,9,11,12,14,15,18,19,20,21,22,24,30,31,32,42,43],seem:43,seen:18,seibert:[2,6,17],select:[2,3,5,6,11,12,14,19,22,30,32,39,41,42],selectwher:2,send:[2,4,10,11,13,15,18,21,30,41,43,44],send_mail:2,sens:[],sensibl:[2,17,19],sent:2,separ:[5,19],sepeart:2,seper:[2,6,43],septemb:[6,12,21],seqdiag:0,seqdiag_fontpath:0,sequenc:15,seri:[2,17],serv:[18,19,20,23,41,43],server:[2,4,5,6,7,9,10,11,12,13,14,15,18,20,22,30,31,32,42,43],servic:[30,39],session:[4,10],set:[0,2,4,5,6,8,10,11,12,13,17,18,19,20,21,24,30,31,32,33,36,42,43,44],set_kei:2,setup:[14,15,18,30,31,32,42,43,45],setup_controldata:2,sever:[19,42],sfc:[19,31],sgn:17,shade:17,share:[0,44],she:14,shell:[2,4,10,11,12,15,18,20,30,31,36,42,43],shift:17,shorten:43,shortli:43,shortnam:19,should:[0,2,6,9,12,13,17,19,21,30,31,32,33,36,42,43],shouldn:6,show:[7,11,12,15,17,42,43],shown:[9,17,31,43],sid:31,side:42,sign:[4,5,10,13,42],signal:43,silent_remov:2,similar:14,simpl:[6,17,31],simplest:17,simplic:[],simplifi:36,simul:2,sinc:[2,12,15,19,21,30,31,43,44],singel:[],singl:[2,4,10,11,13,15,19,33,42,43],sip:[],site:[30,31],situat:[],size:43,sketch:[12,14,15],skip:[2,31],skt:19,slope:17,slurm:[13,23],small:[31,43],smaller:[2,6,11,19],smooth:[2,5,6,10,17,21,43],softwar:[2,6,12,13,14,20,21,23,30,31,32,41,42],solar:[2,17,19],sole:[6,19],solut:[2,44],some:[0,2,4,5,6,10,12,13,14,15,18,19,20,22,31,32,39,41,42,44,45],someth:43,sometim:[6,43],soon:[6,43],sort:[2,5],sourc:[0,2,4,9,10,11,12,13,18,20,31,33,36,41,42,43,45],south:[2,11],souther:2,southern:2,space:[2,5,11,17,43],spar:2,spatial:[5,6,39],spatio:[],speak:42,speci:17,special:39,specialis:43,specif:[2,4,5,6,10,11,13,14,15,17,19,21,36,39,41,42],specifc:[2,11],specifi:[2,6,11,12,17,30,31,32,39,43],spectral:[2,6,20,21,43],speed:43,sphere:6,spheric:19,sphinx:[36,45],sphinxcontrib:0,split:[15,17,19],spread:[],sqrt:17,src:[],src_path:2,srvx8:[10,12],ssh:[32,43],sshf:[17,19],ssr:[17,19],sss:6,stage:[],stamp:19,stand:[],standard:[2,43],start:[2,4,5,6,10,11,12,13,18,19,30,31,32,33,39,41,42],start_dat:[2,5,6,10,11,17,43],start_period:2,state:[2,12,14,22,23,24,30,39,42,43],statement:[2,30,32],statist:42,statu:[15,31],steer:2,step:[2,3,5,6,10,11,13,15,17,19,24,31,33,43],steprang:[2,11,19],stick:[],still:[3,15,21,43],stl1:19,stop:2,storag:[2,5],store:[2,6,10,11,12,15,19,21,22,23,31,42,43],str:2,str_of_list:2,straightawai:43,straightforeward:43,stream:[2,5,6,10,19,31,36,43],stress:[2,17,19],strict:2,strictli:[],string:[2,5,6,11,12],structur:[10,36,39,43],studi:21,style:36,sub:[2,17,19],subgrid:[2,11],subinterv:17,subject:[2,30,32,43],submiss:[2,4,10,12,20,43],submit:[4,5,10,12,13,14,15,18,19,30,32,43,44],submit_job_to_ecserv:2,subprocess:2,subsect:21,subsequ:[6,43],subset:[6,11,43],substitut:[2,4,9,10,13,31,32,36,43],subtract:[6,43],succeed:[30,31],success:[4,13,19,30,32,42],success_mod:2,successful:42,successfulli:[18,42],sudo:[],suffici:[],suggest:31,suit:[6,43],suitabl:[],sum:[2,6,18,43],supplement:19,support:[2,17,23,39,41,42,43],suppos:2,sure:31,surfac:[2,6,15,17,19,21,22],swvl1:19,symmetri:17,syntax:[2,6],synthes:[6,36],system:[2,4,6,10,11,13,20,21,30,31,32,41,42,43],t1279:[21,43],t799:21,tab:42,tabl:[2,5,17,19,41,42,43],table128:2,take:[2,31,32,43],taken:[2,6,18,19,39,43],tar:[2,4,12,13,32,42],tarbal:[2,30,32],tarball_path:2,tarfil:32,target:[2,12,19,30,31,32],task:[2,18,20,43],tcc:19,team:41,technic:23,tell:[2,43,45],temp:[2,4,10,11,43],temperatur:[19,31],templat:[2,4,5,7,10,11,12,18,30,31,32,36,43],tempor:[5,6,17,19,22,43],temporal_properti:19,temporari:[2,6,11,43],tendenc:21,tenth:6,term:[42,43],termin:[30,31],test:[0,2,5,6,12,13,19,22,33,36,41,43],textbf:17,textrm:17,than:[2,6,11,19,21,44],thei:[0,2,5,6,9,11,12,15,17,18,19,31,39,43],them:[0,2,6,12,15,17,18,19,39,43],therebi:[17,21],therefor:[0,2,6,17,18,19,31,32,39,42,43],thi:[0,2,4,5,6,7,8,10,11,12,13,14,17,18,19,21,22,30,31,32,33,39,41,42,43,44,45],thick:17,thing:5,think:[2,42],third:[14,20,23,32,41],those:[2,5,43],thousandth:6,three:[2,11,17],through:[2,5,22,24,30,42,43],throughout:17,thu:[17,43],ticket:41,time:[2,3,4,5,10,11,13,15,17,19,21,23,31,33,39,43,44],timeseri:[2,17],timespan:[2,17],timestamp:2,titl:[],tmc:[10,31,45],tmpdir:[10,13],to_list:2,to_param_id:2,to_param_id_with_tablenumb:2,todai:43,todo:[],togeth:[2,12,15,19,42,43],token:30,too:[6,11,17,31,43],took:[],tool:[4,10,14,15,43],toolkit:22,top:[11,12,18],topic:39,total:[19,43],touch:43,trace:17,train:23,transfer:[2,5,6,7,12,13,15,19,30,32,43],transferd:[],transform:2,transport:[20,41],trapezoid:12,treat:[],treatment:39,tree:43,tri:2,triangular:[2,6],trigger:[2,21],troubl:43,troubleshoot:[23,43],truetyp:0,truli:[],truncat:[2,6],ttf:0,tupl:2,turbul:[17,19],turnaround:[],tutori:41,twice:43,twiceadai:[8,43],two:[2,6,11,12,14,17,18,19,21,22,31,42,43],type:[0,2,3,4,5,6,10,11,13,17,18,19,30,31,32,42,43],typeoflevel:19,typic:[15,19,23,43],ubuntu:[30,31],udoc:2,uid:[30,32],un_tarbal:2,unavail:44,unchang:17,und:[],under:[0,2,13,14,17,27,28,31,37,38,40,41,43],underscor:[30,31,32],understand:[5,13,18,20,39,43],understood:[],underw:43,undesir:17,unfortun:[17,22],uniqu:[2,19],unit:[0,17,21,36],univ:[],univers:[2,35],univi:[10,12,35,44],unix:44,unless:6,unload:[4,10,13],unrealist:17,unreason:36,untar:[2,4,12,32,42],until:[6,11,17,22,43],upfront:[2,6,43],upgrad:36,upper:[2,5,6,10,21,43],upstream:43,upto:2,usa:[2,41],usag:2,use:[0,2,6,9,12,13,18,20,21,22,30,31,32,33,36,39,42,43],usecas:[],used:[2,5,6,8,9,11,12,13,14,17,19,20,36,39,42,43,44],useful:[5,6,11,39,43,45],user:[2,4,5,10,11,12,13,14,18,20,22,23,24,30,31,32,33,36,39,42,43,44,45],user_group:[7,13],user_nam:[7,13],usergroup:13,usernam:13,uses:[0,4,10,17,22,43],using:[2,6,11,12,17,30,31,32,42,43],usr:[0,4,10,13,30,31,32],usual:[5,6,11,13,15,19,30,31,43],utc:[6,11,43],util:[2,15],uza:35,v10:19,v20_update_protocol:21,v30_update_protocol:21,v40_update_protocol:21,v60_update_protocol:21,valid:[2,6,12,19,32,43],valu:[2,3,5,6,8,10,11,12,13,17,18,21,30,32,43],valuer:2,vanish:17,vari:[6,31,43],variabel:[4,10],variabl:[2,6,10,11,13,17,31,33,36,43],varianc:5,variat:[6,19],veloc:[15,19,20,43],veri:[2,6,11,17,21,31,39,43],version:[2,3,4,6,9,10,12,13,15,18,21,31,33,36,42,43,44],version_numb:13,versu:[],vertic:[5,11,15,20,38,39,43],via:[2,4,10,11,13,14,15,22,23,30,32,36,43],vienna:[2,35],view:[2,13,41,44],virtual:42,visit:[2,30,41],vol:6,von:[],wai:[13,15,17,21,22,30,31,39,42,43],wait:22,want:[6,17,20,43],warn:[2,31],water:[2,6,19,43],wave:21,weather:[6,20,39,41],web:[2,6,11,14,22,23,24,33,36,42,43],webapi:[2,6],webmar:[],webserv:22,websit:[2,30,31,42,43,44],wedg:17,welch:[],well:[2,6,15,21,39,42,43],were:[2,6,11,12,19,36,43],west:[2,11],western:2,wet:17,wether:[2,12],wget:[],what:[5,23,41,43],whatev:43,when:[2,4,6,10,17,31,43,45],whenev:21,where:[2,6,9,11,12,13,17,19,20,21,31,42,43],wherea:[6,15],wherebi:11,wherekei:2,wherekeynam:2,wherekeyvalu:2,which:[0,2,3,4,5,6,7,9,10,11,12,13,14,15,17,18,19,20,21,22,30,32,36,39,42,43,44],whith:10,who:[20,43,45],whole:[2,17,39,43,44],whose:19,why:[17,43,45],wie:[],wiki:[2,6,32],wil:2,wildcard:43,wind:[5,19,43],window:[30,31,43],within:[2,4,6,10,11,17,30,32,43],without:[2,13,22,33,42,43],word:2,work:[0,2,7,10,13,14,15,19,20,22,31,41,42,43],workdir:[4,10,13],workload:13,workspac:[10,19,43],workstep:20,would:[6,11,22,30,31,43,45],wouldn:[],wrap:[11,12,18,20],wrf:[2,5,10],write:[2,6,44],write_namelist:2,write_reqhead:2,written:[2,6,21],www:42,x86_64:31,xvf:[4,13,32,42],xxx:19,xxxx:6,xxxxx:43,xxyymmddhh:2,year:[31,43],yet:43,yield:[2,21],you:[0,3,5,6,21,24,30,31,32,33,42,43,44],your:[24,30,31,32,42,43,44],yourself:24,yymmdd:[6,19],yymmddhh:[6,19,21],yyyymmdd:[2,6,11],yyyymmddhh:[17,19],zamg:[36,44],zero:[2,17,21],zonal:21},titles:["Update Documentation","Fortran\u2019s Auto Generated Documentation","Python\u2019s Auto Generated Documentation","CONTROL file changes","The Compilation Jobscript <code class=\"docutils literal notranslate\"><span class=\"pre\">compilejob.ksh</span></code>","The CONTROL file","The CONTROL parameters","ECMWF User Credential file <code class=\"docutils literal notranslate\"><span class=\"pre\">ECMWF_ENV</span></code>","CONTROL file examples","The Fortran Makefile - <code class=\"docutils literal notranslate\"><span class=\"pre\">CONVERT2</span></code>","The Jobscript <code class=\"docutils literal notranslate\"><span class=\"pre\">job.ksh</span></code>","The executable Script - <code class=\"docutils literal notranslate\"><span class=\"pre\">run.sh</span></code>","The Installation Script - <code class=\"docutils literal notranslate\"><span class=\"pre\">setup.sh</span></code>","Templates","Application Modes","Program Flow","Auto Generated Documentation","Disaggregation of Flux Data","Control & Input Data","Output Data","Overview","Vertical Coordinate","Access Modes","Link Collection for Quick finder","Hints to specify dataset retrieval","Available Datasets for Member State users","Available Datasets for Public users","Metrics","Static Code Analysis","Testcases","Gateway mode installation","Local mode installation","Remote mode installation","FAQ - Frequently asked questions","Known Bugs and Issues","Developer Team","Changelog","Developer Guide","Documentation","ECMWF Data","Evaluation","Welcome to <code class=\"docutils literal notranslate\"><span class=\"pre\">flex_extract</span></code>\u2019s user documentation!","Installation","Quick Start","Support","ToDos"],titleterms:{"class":2,"new":[19,36],"public":[26,42,43],"static":28,CDS:31,The:[4,5,6,9,10,11,12],access:22,adapt:[],addit:[0,6,19],adjust:43,agre:[],agreement:42,analysi:28,api:31,applic:[14,15],ask:33,auto:[1,2,16],avail:[24,25,26],block:0,bug:[34,36,44],calcul:21,can:[24,33],cera:43,chang:[3,36],changelog:36,check:2,code:28,collect:23,combin:[42,43],comparison:29,compil:4,compilejob:[4,13],content:[7,11,12,19],continu:21,control:[3,5,6,8,18,43],controlfil:2,convert2:[9,19],convert:13,coordin:21,credenti:7,dai:[],data:[6,17,18,19,24,25,39,43],dataset:[24,25,26,42,43],definit:43,delight:[],develop:[35,37],diagramm:0,differ:15,disagg:[],disaggreg:[2,17,19],distribut:33,document:[0,1,2,16,38,41],doe:[4,10],domain:6,done:[],download:42,ecflexpart:2,ecmwf:[7,31,39,42],ecmwf_env:[7,13],ensembl:19,environ:[30,31,32,42],equat:21,era:43,evalu:40,exampl:[4,5,8,10,15],execut:11,faq:[33,44],featur:[36,43],field:[6,17,19],file:[3,5,6,7,8,19,21,29,43],find:24,finder:23,fix:36,flex_extract:[41,42],flexpart:[19,42],flow:15,flux:[6,17,19],forecast:19,format:5,fort:19,fortran:[1,9,19,42],frequent:33,from:[21,33],frozen:[],full:42,gatewai:[30,43],gener:[1,2,6,15,16],get_mars_data:2,grib:[19,29],gributil:2,guid:37,half:[],hint:[24,43],horizont:21,host:[],how:24,index:19,input:[18,19],instal:[2,12,30,31,32,33,42],interim:43,issu:[34,44],job:[10,13,43],jobscript:[4,10],known:[34,44],ksh:[4,10],level:25,librari:33,licenc:42,link:23,list:44,local:[15,31,43],mail:44,makefil:9,mar:[19,21,29],marsretriev:2,member:[15,25],method:[],metric:27,mix:[],mode:[14,15,22,30,31,32,43],model:25,modul:2,need:[],old:[],older:17,onlin:0,oper:43,option:[11,12],out:24,output:[19,21],overview:20,packag:33,paramet:[6,11,12,21,43],parti:33,pre:21,precip:[],precipit:[17,19],predict:19,prepar:[21,30,31,32,43],prepare_flexpart:2,program:[2,15,19,42],pure:19,python:2,question:33,quick:[23,43],registr:42,releas:36,remot:[32,43],report:44,request:[19,29],requir:[30,31,32,42],rest:17,retriev:24,run:11,script:[4,11,12],section:6,select:43,sequenc:0,server:[],set:15,setup:12,softwar:0,some:43,specif:43,specifi:24,sphinx:0,standard:19,start:43,state:25,submiss:11,submit:[2,11],support:44,surfac:25,system:44,team:35,temp:13,templat:13,temporari:19,test:[30,31,42],testcas:29,third:33,ticket:44,time:6,todo:[43,45],tool:2,uiofil:2,updat:0,usag:[11,12],user:[6,7,15,25,26,41],using:21,veloc:21,version:17,versu:[],vertic:[6,19,21],web:31,welcom:41,what:[4,10,24,33],why:[],wind:[6,21],workflow:15}}) \ No newline at end of file diff --git a/Documentation/html/todo.html b/Documentation/html/todo.html index 678d096..075ca43 100644 --- a/Documentation/html/todo.html +++ b/Documentation/html/todo.html @@ -165,7 +165,7 @@ <h1>ToDos<a class="headerlink" href="#todos" title="Permalink to this headline">¶</a></h1> <div class="admonition-todo admonition"> <p class="first admonition-title">Todo</p> -<p class="last">@LEO: please check the complete describtion and functionality of the CONTROL FILEs</p> +<p class="last">@LEO: please check the complete description and functionality of the CONTROL FILEs</p> </div> <p class="todo-source">(The <a class="reference internal" href="quick_start.html#index-0"><em>original entry</em></a> is located in /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/For_developers/Sphinx/source/quick_start.rst, line 337.)</p> <div class="admonition-todo admonition"> diff --git a/For_developers/Sphinx/source/Documentation/Input/ecmwf_env.rst b/For_developers/Sphinx/source/Documentation/Input/ecmwf_env.rst index 76acff7..a3232e2 100644 --- a/For_developers/Sphinx/source/Documentation/Input/ecmwf_env.rst +++ b/For_developers/Sphinx/source/Documentation/Input/ecmwf_env.rst @@ -2,7 +2,7 @@ ECMWF User Credential file ``ECMWF_ENV`` **************************************** -This file contains the user credentials for working on ECMWF servers and transfering files between the ECMWF servers and the local gateway server. It is located in the ``flex_extract_vX.X/run`` directory and will be created in the installation process for the application modes **remote** and **gateway**. +This file contains the user credentials for working on ECMWF servers and transferring files between the ECMWF servers and the local gateway server. It is located in the ``flex_extract_vX.X/run`` directory and will be created in the installation process for the application modes **remote** and **gateway**. This file is based on the template ``ECMWF_ENV.template`` which is located in the ``templates`` directory. diff --git a/For_developers/Sphinx/source/Installation/gateway.rst b/For_developers/Sphinx/source/Installation/gateway.rst new file mode 100644 index 0000000..c452eb6 --- /dev/null +++ b/For_developers/Sphinx/source/Installation/gateway.rst @@ -0,0 +1,168 @@ +************************* +Gateway mode installation +************************* + +.. role:: underline + :class: underline + +.. toctree:: + :hidden: + :maxdepth: 2 + +.. _Python 3: https://docs.python.org/3/ +.. _Python3: https://www.python.org/downloads/ +.. _Anaconda Python3: https://www.anaconda.com/distribution/#download-section + +.. _numpy: http://www.numpy.org/ +.. _ecmwf-api-client: https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home +.. _cdsapi: https://cds.climate.copernicus.eu/api-how-to +.. _genshi: https://genshi.edgewall.org/ +.. _eccodes for python: https://packages.debian.org/sid/python3-eccodes +.. _eccodes for conda: https://anaconda.org/conda-forge/eccodes +.. _gfortran: https://gcc.gnu.org/wiki/GFortran +.. _fftw3: http://www.fftw.org +.. _eccodes: https://software.ecmwf.int/wiki/display/ECC +.. _emoslib: https://software.ecmwf.int/wiki/display/EMOS/Emoslib +.. _member state: https://www.ecmwf.int/en/about/who-we-are/member-states +.. _registration form: https://apps.ecmwf.int/registration/ +.. _CDS API registration: https://cds.climate.copernicus.eu/user/register +.. _ECMWF ectrans site: https://confluence.ecmwf.int/display/ECAC/Unattended+file+transfer+-+ectrans +.. _ECaccess Presentation: https://confluence.ecmwf.int/download/attachments/45759146/ECaccess.pdf +.. _ECMWF's instructions on gateway server: https://confluence.ecmwf.int/display/ECAC/ECaccess+Home +.. _Computing Representative: https://www.ecmwf.int/en/about/contact-us/computing-representatives +.. _MARS access: https://confluence.ecmwf.int//display/WEBAPI/Access+MARS + +.. _download section: https://www.flexpart.eu/downloads + + + +.. _ref-gateway-mode: + + + +.. _ref-req-gateway: + +Gateway mode - dependencies +=========================== + +* `Python3`_ +* `numpy`_ +* `genshi`_ + + +.. _ref-prep-gateway: + +Prepare gateway environment +=========================== + +In this mode, access to the ECMWF computing and archiving facilities is enabled through an ECaccess gateway server on a local member state server. The ECaccess framework is necessary to interactively submit jobs to the ECMWF batch system and to transfer files between ECMWF and local gateway server. + +Please see `ECMWF's instructions on gateway server`_ to establish the gateway server if not already in place. Additionally, to be able to use the ECaccess file transfer service **ectrans** it is necessary to create a so-called association. The easiest way is to visit the ECaccess Member State Gateway website (e.g. https://msgatway.ecmwf.int) and follow the instructions in the short `ECaccess Presentation`_ (page 17 ff.). Additional documentation can be found on the `ECMWF ectrans site`_. + +The next step is to create an *ecaccess certificate* to be able to send and receive files from and to the ECMWF server. You can do this by using the ``ecaccess-certificate-create`` command on the gateway server. You will be prompted for your ECMWF member state user name and a password (generated by a token). This certificate has to be renewed periodically (every 7 days). + + +.. code-block:: bash + + $ ecaccess-certificate-create + Please enter your user-id: example_username + Your passcode: *** + + + +The easiest way to install all required packages is to use the package management system of your Linux distribution which required admin rights. +The installation was tested under *GNU/Linux Debian buster* and *Ubuntu 18.04 Bionic Beaver*. + +.. code-block:: sh + + + # On a Debian or Debian-derived sytem (e. g. Ubuntu) system you may use the following commands (or equivalent commands of your preferred package manager): + # (if not already available): + apt-get install python3 + apt-get install python3-genshi + apt-get install python3-numpy + + +.. _ref-test-gateway: + +Test gateway environment +======================== + +Check the availability of the python packages by typing ``python3`` in +a terminal window and run the ``import`` commands in the python shell. +If there are no error messages, you succeeded in setting up the environment. + +.. code-block:: python + + # check in python3 console + import genshi + import numpy + + + +.. _ref-install-gateway: + +Gateway installation +==================== + +``Flex_extract`` will be run on an ECMWF server which makes the setup the same as for the **remote mode**. In the ``setup.sh`` script `[ref] <Documentation/Input/setup.html>`_, select the ``makefile.gfortran`` for the ``CONVERT2`` Fortran program and the ECMWF server (*target*) you would like to use. +The job script, send to the job queue via the ECaccess software, loads the required modules from the module system. For enabling the file transfer via the gateway, you have to set the *ECUID*, *ECGID*, *GATEWAY* and *DESTINATION* parameter values. + + +.. code-block:: bash + :caption: 'Example settings for a gateway installation.' + :name: setup.sh + + # ----------------------------------------------------------------- + # AVAILABLE COMMANDLINE ARGUMENTS TO SET + # + # THE USER HAS TO SPECIFY THESE PARAMETER + # + TARGET='ecgate' + MAKEFILE='makefile.gfortran' + ECUID='uid' + ECGID='gid' + GATEWAY='localserver.tld' + DESTINATION='association_name@genericSftp' + INSTALLDIR=None + JOB_TEMPLATE='job.template' + CONTROLFILE='CONTROL_EA5' + + +Afterwards, type: + +.. code-block:: bash + + $ ./setup.sh + +to start the installation. You should see the following on standard output. + + +.. code-block:: bash + + # Output of setup.sh + Create tarball ... + Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X + You should get an email with subject "flexcompile" within the next few minutes! + +``Flex_extract`` uses the email address connectd to the user account on ECMWF servers. The email content should look like this with a "SUCCESS" statement in the last line: + +.. code-block:: bash + + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 + -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2 + SUCCESS! + + + + + + + + diff --git a/For_developers/Sphinx/source/Installation/local.rst b/For_developers/Sphinx/source/Installation/local.rst new file mode 100644 index 0000000..d0276bf --- /dev/null +++ b/For_developers/Sphinx/source/Installation/local.rst @@ -0,0 +1,381 @@ +*********************** +Local mode installation +*********************** + +.. role:: underline + :class: underline + +.. toctree:: + :hidden: + :maxdepth: 2 + + +.. _Python 3: https://docs.python.org/3/ +.. _Python3: https://www.python.org/downloads/ +.. _Anaconda Python3: https://www.anaconda.com/distribution/#download-section + +.. _numpy: http://www.numpy.org/ +.. _ecmwf-api-client: https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home +.. _cdsapi: https://cds.climate.copernicus.eu/api-how-to +.. _genshi: https://genshi.edgewall.org/ +.. _eccodes for python: https://packages.debian.org/sid/python3-eccodes +.. _eccodes for conda: https://anaconda.org/conda-forge/eccodes +.. _gfortran: https://gcc.gnu.org/wiki/GFortran +.. _fftw3: http://www.fftw.org +.. _eccodes: https://software.ecmwf.int/wiki/display/ECC +.. _emoslib: https://software.ecmwf.int/wiki/display/EMOS/Emoslib +.. _member state: https://www.ecmwf.int/en/about/who-we-are/member-states +.. _registration form: https://apps.ecmwf.int/registration/ +.. _CDS API registration: https://cds.climate.copernicus.eu/user/register +.. _ECMWF ectrans site: https://confluence.ecmwf.int/display/ECAC/Unattended+file+transfer+-+ectrans +.. _ECaccess Presentation: https://confluence.ecmwf.int/download/attachments/45759146/ECaccess.pdf +.. _ECMWF's instructions on gateway server: https://confluence.ecmwf.int/display/ECAC/ECaccess+Home +.. _Computing Representative: https://www.ecmwf.int/en/about/contact-us/computing-representatives +.. _MARS access: https://confluence.ecmwf.int//display/WEBAPI/Access+MARS + +.. _download section: https://www.flexpart.eu/downloads + + + + + +.. _ref-local-mode: + + + +.. _ref-req-local: + +Local mode - dependencies +========================= + +The installation is the same for the access modes **member** and **public**. + +The environment on your local system has to provide these software packages +and libraries, since the preparation of the extraction and the post-processing is done on the local machine: + ++------------------------------------------------+-----------------+ +| Python part | Fortran part | ++------------------------------------------------+-----------------+ +| * `Python3`_ | * `gfortran`_ | +| * `numpy`_ | * `fftw3`_ | +| * `genshi`_ | * `eccodes`_ | +| * `eccodes for python`_ | * `emoslib`_ | +| * `ecmwf-api-client`_ (everything except ERA5) | | +| * `cdsapi`_ (just for ERA5) | | ++------------------------------------------------+-----------------+ + + +.. _ref-prep-local: + +Prepare local environment +========================= + +The easiest way to install all required packages is to use the package management system of your Linux distribution which requires admin rights. +The installation was tested on a *Debian GNU/Linux buster* and an *Ubuntu 18.04 Bionic Beaver* system. + +.. code-block:: sh + + # On a Debian or Debian-derived sytem (e. g. Ubuntu) system you may use the following commands (or equivalent commands of your preferred package manager): + # (if not already available): + apt-get install python3 (usually already available on GNU/Linux systems) + apt-get install python3-eccodes + apt-get install python3-genshi + apt-get install python3-numpy + apt-get install gfortran + apt-get install fftw3-dev + apt-get install libeccodes-dev + apt-get install libemos-dev + # Some of these packages will pull in further packages as dependencies. This is fine, and some are even needed by ``flex_extract''. + + + # As currently the CDS and ECMWF API packages are not available as Debian packages, they need to be installed outside of the Debian (Ubuntu etc.) package management system. The recommended way is: + apt-get install pip + pip install cdsapi + pip install ecmwf-api-client + +.. note:: + + In case you would like to use Anaconda Python we recommend you follow the installation instructions of + `Anaconda Python Installation for Linux <https://docs.anaconda.com/anaconda/install/linux/>`_ and then install the + ``eccodes`` package from ``conda`` with: + + .. code-block:: bash + + conda install conda-forge::python-eccodes + +The CDS API (cdsapi) is required for ERA5 data and the ECMWF Web API (ecmwf-api-client) for all other public datasets. + +.. note:: + + Since **public users** currently don't have access to the full *ERA5* dataset they can skip the installation of the ``CDS API``. + +Both user groups have to provide keys with their credentials for the Web API's in their home directory. Therefore, follow these instructions: + +ECMWF Web API: + Go to `MARS access`_ website and log in with your credentials. Afterwards, on this site in section "Install ECMWF KEY" the key for the ECMWF Web API should be listed. Please follow the instructions in this section under 1 (save the key in a file `.ecmwfapirc` in your home directory). + +CDS API: + Go to 'CDS API registration'_ and register there too. Log in at the `cdsapi`_ website and follow the instructions at section "Install the CDS API key" to save your credentials in a `.cdsapirc` file. + + +.. _ref-test-local: + +Test local environment +====================== + +Check the availability of the python packages by typing ``python3`` in a terminal window and run the ``import`` commands in the python shell. If there are no error messages, you succeeded in setting up the environment. + +.. code-block:: python + + # check in python3 console + import eccodes + import genshi + import numpy + import cdsapi + import ecmwfapi + + + +Test the Web API's +------------------ + +You can start very simple test retrievals for both Web APIs to be sure that everything works. This is recommended to minimise the range of possible errors using ``flex_extract`` later on. + + +ECMWF Web API +^^^^^^^^^^^^^ + + ++----------------------------------------------------------+----------------------------------------------------------+ +|Please use this piece of Python code for **Member user**: |Please use this piece of Python code for **Public user**: | ++----------------------------------------------------------+----------------------------------------------------------+ +|.. code-block:: python |.. code-block:: python | +| | | +| from ecmwfapi import ECMWFService | from ecmwfapi import ECMWFDataServer | +| | | +| server = ECMWFService('mars') | server = ECMWFDataServer() | +| | | +| server.retrieve({ | server.retrieve({ | +| 'stream' : "oper", | 'stream' : "enda", | +| 'levtype' : "sfc", | 'levtype' : "sfc", | +| 'param' : "165.128/166.128/167.128", | 'param' : "165.128/166.128/167.128", | +| 'dataset' : "interim", | 'dataset' : "cera20c", | +| 'step' : "0", | 'step' : "0", | +| 'grid' : "0.75/0.75", | 'grid' : "1./1.", | +| 'time' : "00/06/12/18", | 'time' : "00/06/12/18", | +| 'date' : "2014-07-01/to/2014-07-31", | 'date' : "2000-07-01/to/2000-07-31", | +| 'type' : "an", | 'type' : "an", | +| 'class' : "ei", | 'class' : "ep", | +| 'target' : "download_erainterim_ecmwfapi.grib" | 'target' : "download_cera20c_ecmwfapi.grib" | +| }) | }) | ++----------------------------------------------------------+----------------------------------------------------------+ + + + +CDS API +^^^^^^^ + +Extraction of ERA5 data via CDS API might take time as currently there is a high demand for ERA5 data. Therefore, as a simple test for the API just retrieve pressure-level data (even if that is NOT what we need for FLEXPART), as they are stored on disk and don't need to be retrieved from MARS (which is the time-consuming action): + +Please use this piece of Python code to retrieve a small sample of *ERA5* pressure levels: + +.. code-block:: python + + import cdsapi + + c = cdsapi.Client() + + c.retrieve("reanalysis-era5-pressure-levels", + { + "variable": "temperature", + "pressure_level": "1000", + "product_type": "reanalysis", + "year": "2008", + "month": "01", + "day": "01", + "time": "12:00", + "format": "grib" + }, + "download_cdsapi.grib") + + +If you know that your CDS API works, you can try to extract some data from MARS. + +.. **Member-state user** + +Please use this piece of Python code to retrieve a small *ERA5* data sample as a **member-state user**! The **Public user** do not have access to the full *ERA5* dataset! + +.. code-block:: python + + import cdsapi + + c = cdsapi.Client() + + c.retrieve('reanalysis-era5-complete', + { + 'class' : 'ea', + 'expver' : '1', + 'stream' : 'oper', + 'type' : 'fc', + 'step' : '3/to/12/by/3', + 'param' : '130.128', + 'levtype' : 'ml', + 'levelist': '135/to/137', + 'date' : '2013-01-01', + 'time' : '06/18', + 'area' : '50/-5/40/5', + 'grid' : '1.0/1.0', + 'format' : 'grib', + }, 'download_era5_cdsapi.grib') + + +.. ********************** COMMENTED OUT FOR FUTURE + ********************** PUBLIC RETRIEVAL IS CURRENTLY NOT ACCESSIBLE + + **Public user** + Please use this piece of Python code: + + .. code-block:: python + + import cdsapi + + c = cdsapi.Client() + + c.retrieve('reanalysis-era5-complete', + { + 'class' : 'ea', + 'dataset' : 'era5', + 'expver' : '1', + 'stream' : 'oper', + 'type' : 'fc', + 'step' : '3/to/12/by/3', + 'param' : '130.128', + 'levtype' : 'ml', + 'levelist': '135/to/137', + 'date' : '2013-01-01', + 'time' : '06/18', + 'area' : '50/-5/40/5', + 'grid' : '1.0/1.0', + 'format' : 'grib', + }, 'download_era5_cdsapi.grib') + + + + + + +.. _ref-install-local: + +Local installation +================== + +First prepare the Fortran ``makefile`` for your environment and set it in the ``setup.sh`` script. (See section :ref:`ref-convert` for information on the Fortran program.) +``flex_extract`` comes with two ``makefiles`` prepared for the ``gfortran`` and +the ``ifort`` compiler. The ``gfortran`` version assumes that ``eccodes`` and ``emoslib`` are installed as distribution packages. + + * makefile.local.gfortran + * makefile.local.ifort + +They can be found at ``flex_extract_vX.X/Source/Fortran``, where +``vX.X`` should be substituted with the current version number. + +.. caution:: + It is necessary to adapt **ECCODES_INCLUDE_DIR** and **ECCODES_LIB** in these + ``makefiles`` if other than standard paths are used. + +So starting from the root directory of ``flex_extract``, +go to the ``Fortran`` source directory and open the ``makefile`` of your +choice to modify with an editor of your choice. We use the ``nedit`` in this case. + +.. code-block:: bash + + cd flex_extract_vX.X/Source/Fortran + nedit makefile.local.gfortran + +Edit the paths to the ``eccodes`` library on your local machine. + + +.. caution:: + This can vary from system to system. + It is suggested to use a command like + + .. code-block:: bash + + # for the ECCODES_INCLUDE_DIR path do: + $ dpkg -L libeccodes-dev | grep eccodes.mod + # for the ECCODES_LIB path do: + $ dpkg -L libeccodes-dev | grep libeccodes.so + + to find out the path to the ``eccodes`` library. + +Substitute these paths in the ``makefile`` for parameters **ECCODES_INCLUDE_DIR** +and **ECCODES_LIB** and save it. + +.. code-block:: bash + + # these are the paths on a current Debian 10 Testing system (May 2019) + ECCODES_INCLUDE_DIR=/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15/ + ECCODES_LIB= -L/usr/lib -leccodes_f90 -leccodes -lm + + +The Fortran program called ``CONVERT2`` will be compiled during the +installation process.Therefore the name of the ``makefile`` to be used needs to be given in ``setup.sh``. + +In the root directory of ``flex_extract``, open the ``setup.sh`` script +and adapt the installation parameters in the section labelled with +"AVAILABLE COMMANDLINE ARGUMENTS TO SET" like shown below. + + +.. code-block:: bash + :caption: 'Example settings for a local installation.' + :name: setup.sh + + ... + # ----------------------------------------------------------------- + # AVAILABLE COMMANDLINE ARGUMENTS TO SET + # + # THE USER HAS TO SPECIFY THESE PARAMETER + # + TARGET='local' + MAKEFILE='makefile.local.gfortran' + ECUID=None + ECGID=None + GATEWAY=None + DESTINATION=None + INSTALLDIR=None + JOB_TEMPLATE='job.template' + CONTROLFILE='CONTROL_EA5' + ... + + +Afterwards, type: + +.. code-block:: bash + + $ ./setup.sh + +to start the installation. You should see the following standard output. + + +.. code-block:: bash + + # Output of setup.sh + WARNING: installdir has not been specified + flex_extract will be installed in here by compiling the Fortran source in /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/source/fortran + Install flex_extract_v7.1 software at local in directory /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1 + + Using makefile: Makefile.local.gfortran + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 rwGRIB2.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 posnam.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 preconvert.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -O3 -O3 -fopenmp -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/gcc-4.9.3/grib_api-1.14.3/lib -Bstatic -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper -lemosR64 + + -rwxrwxr-x. 1 philipa8 tmc 282992 May 23 22:27 ./CONVERT2 + + + + + diff --git a/For_developers/Sphinx/source/Installation/remote.rst b/For_developers/Sphinx/source/Installation/remote.rst new file mode 100644 index 0000000..b2e4d42 --- /dev/null +++ b/For_developers/Sphinx/source/Installation/remote.rst @@ -0,0 +1,188 @@ +************************ +Remote mode installation +************************ + +.. role:: underline + :class: underline + +.. toctree:: + :hidden: + :maxdepth: 2 + + +.. _Python 3: https://docs.python.org/3/ +.. _Python3: https://www.python.org/downloads/ +.. _Anaconda Python3: https://www.anaconda.com/distribution/#download-section + +.. _numpy: http://www.numpy.org/ +.. _ecmwf-api-client: https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home +.. _cdsapi: https://cds.climate.copernicus.eu/api-how-to +.. _genshi: https://genshi.edgewall.org/ +.. _eccodes for python: https://packages.debian.org/sid/python3-eccodes +.. _eccodes for conda: https://anaconda.org/conda-forge/eccodes +.. _gfortran: https://gcc.gnu.org/wiki/GFortran +.. _fftw3: http://www.fftw.org +.. _eccodes: https://software.ecmwf.int/wiki/display/ECC +.. _emoslib: https://software.ecmwf.int/wiki/display/EMOS/Emoslib +.. _member state: https://www.ecmwf.int/en/about/who-we-are/member-states +.. _registration form: https://apps.ecmwf.int/registration/ +.. _CDS API registration: https://cds.climate.copernicus.eu/user/register +.. _ECMWF ectrans site: https://confluence.ecmwf.int/display/ECAC/Unattended+file+transfer+-+ectrans +.. _ECaccess Presentation: https://confluence.ecmwf.int/download/attachments/45759146/ECaccess.pdf +.. _ECMWF's instructions on gateway server: https://confluence.ecmwf.int/display/ECAC/ECaccess+Home +.. _Computing Representative: https://www.ecmwf.int/en/about/contact-us/computing-representatives +.. _MARS access: https://confluence.ecmwf.int//display/WEBAPI/Access+MARS + +.. _download section: https://www.flexpart.eu/downloads + + +.. _ref-remote-mode: + + +.. _ref-req-remote: + +Remote mode - dependencies +========================== + +The following software is required, and already available at the ECMWF servers: + ++---------------------------+-----------------+ +| Python part | Fortran part | ++---------------------------+-----------------+ +| * `Python3`_ | * `gfortran`_ | +| * `numpy`_ | * `fftw3`_ | +| * `genshi`_ | * `eccodes`_ | +| * `eccodes for python`_ | * `emoslib`_ | ++---------------------------+-----------------+ + + +.. _ref-prep-remote: + +Prepare remote environment +========================== + +ECMWF servers provide all libraries via a module system. Loading the required modules is already built into ``flex_extract`` and no user action is needed. + + +.. _ref-install-remote: + +Remote installation +=================== + +First, log in on one of the ECMWF servers, such as *ecgate* or *cca/ccb*. +Substitute *<ecuid>* with your ECMWF user name: + +.. code-block:: bash + + ssh -X <ecuid>@ecaccess.ecmwf.int + +This will lead to the following output on the command line, asking for your +password: + +.. code-block:: bash + + Authorized access only. + + *************************************************************** + For further information, read the ECaccess documentation at: + + https://software.ecmwf.int/wiki/display/ECAC/ECaccess+Home + + You can also use ECaccess to load & download files from your + EChome, ECscratch or ECfs directories using the ECaccess FTP + server: + + ftp://uid@ecaccess.ecmwf.int/ + + Please note you must use your UID and ActivID code to login! + *************************************************************** + + <ecuid>@<ipname/address>'s password: *** + Select hostname (ecgate, cca, ccb) [ecgate]: ecgate + + [<ecuid>@ecgb11 ~]$ + +Substitute the *<localuser>* and *<localmachine.tld>* placeholders with your local user name and the IP name or address of your local machine. +Untar the file and change into the ``flex_extract`` root directory. + +.. code-block:: bash + + scp <localuser>@<localmachine.tld>:</path/to/tarfile/>flex_extract_vX.X.tar.gz $HOME/ + cd $HOME + tar xvf flex_extract_vX.X.tar.gz + cd flex_extract_vX.X + + + +Execute the ``setup.sh`` script from the ``flex_extract``'s root directory. +Before executing it, it is necessary to adapt some parameters from ``setup.sh`` +described in :doc:`Documentation/Input/setup`. + +Open ``setup.sh`` with your preferred editor (e.g., ``nano'') and adapt the values: + ++----------------------------------------------+----------------------------------------------+ +| Use this for target = **ectrans** | Use this for target = **cca** | ++----------------------------------------------+----------------------------------------------+ +| .. code-block:: bash | .. code-block:: bash | +| | | +| ... | ... | +| # -----------------------------------------| # -----------------------------------------| +| # AVAILABLE COMMANDLINE ARGUMENTS TO SET | # AVAILABLE COMMANDLINE ARGUMENTS TO SET | +| # | # | +| # THE USER HAS TO SPECIFY THESE PARAMETER | # THE USER HAS TO SPECIFY THESE PARAMETER | +| # | # | +| TARGET='ecgate' | TARGET='cca' | +| MAKEFILE='Makefile.gfortran' | MAKEFILE='Makefile.CRAY' | +| ECUID='uid' | ECUID='uid' | +| ECGID='gid' | ECGID='gid' | +| GATEWAY=None | GATEWAY=None | +| DESTINATION=None | DESTINATION=None | +| INSTALLDIR=None | INSTALLDIR='' | +| JOB_TEMPLATE='job.template' | JOB_TEMPLATE='job.template' | +| CONTROLFILE='CONTROL_EA5' | CONTROLFILE='CONTROL_EA5' | +| ... | ... | ++----------------------------------------------+----------------------------------------------+ + +:underline:`Please substitute the values of ECUID and ECGID +with your own ones (look at any of your files with ``ls -l'' to see uid and gid).` + +.. note:: + + If a local gateway server is available, files can be transferred with ``ECaccess`` commands. In that case, a valid *GATEWAY* and *DESTINATION* have to be present in the ``setup.sh`` file (even if not used, the lines must not be deleted). + +Afterwards, type: + +.. code-block:: bash + + module load python3 + ./setup.sh + +to start the installation. You should see the following on standard output. + + +.. code-block:: bash + + # Output of setup.sh + Create tarball ... + Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X + You should get an email with subject "flexcompile" within the next few minutes! + + +``Flex_extract`` uses the email address connectd to the user account on ECMWF servers. The email content should look like this with a "SUCCESS" statement in the last line: + +.. code-block:: bash + + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 + gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 + -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2 + SUCCESS! + + + + + diff --git a/For_developers/Sphinx/source/conf.py b/For_developers/Sphinx/source/conf.py index aa18d41..9a5c21f 100644 --- a/For_developers/Sphinx/source/conf.py +++ b/For_developers/Sphinx/source/conf.py @@ -19,6 +19,7 @@ sys.path.insert(0, os.path.abspath('../../../Source/Python/Mods')) sys.path.insert(0, os.path.abspath('../../../Source/Python/Classes')) sys.path.insert(0, os.path.abspath('_static/python')) +sys.setrecursionlimit(1500) #fortran_src = [f for f in os.listdir('../../../source/fortran') if '.f90' in f or '.f' in f] #print(fortran_src) diff --git a/For_developers/Sphinx/source/index.rst b/For_developers/Sphinx/source/index.rst index fcba97c..bea0b26 100644 --- a/For_developers/Sphinx/source/index.rst +++ b/For_developers/Sphinx/source/index.rst @@ -128,7 +128,7 @@ Welcome to ``flex_extract``'s user documentation! Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. .. toctree:: - :maxdepth: 3 + :maxdepth: 4 :caption: Table of Contents: installation diff --git a/For_developers/Sphinx/source/installation.rst b/For_developers/Sphinx/source/installation.rst index 839721d..a65057f 100644 --- a/For_developers/Sphinx/source/installation.rst +++ b/For_developers/Sphinx/source/installation.rst @@ -8,6 +8,7 @@ Installation .. toctree:: :hidden: :maxdepth: 2 + .. _Python 3: https://docs.python.org/3/ .. _Python3: https://www.python.org/downloads/ @@ -36,59 +37,68 @@ Installation -``flex_extract`` is a software package which contains a mix of Python and Shell scripts as well as a Fortran program. These components rely on a couple of third party libraries which need to be prepared first before starting the installation process. For now, the software is only tested for a Linux/Unix environment. Feel free to try it out on other platforms. +The ``flex_extract`` software package contains python and shell scripts as well as a Fortran program. These components rely on several libraries which need to be available before starting the installation process. Currently, the software is only tested for a GNU/Linux environment. Feel free to try it out on other platforms. -Start with the decision of which `user group <Ecmwf/access>`_ you belong to and follow the instructions at :ref:`ref-registration` to get an account at ECMWF. Considering your user group and the method of applying ``flex_extract`` there appear to be 4 application modes: +At first, go to the `user group <Ecmwf/access.html>`_ section and decide which group you belong to and follow the instructions at :ref:`ref-registration` to obtain an account at ECMWF (if you don't have it already). Depending on the user group and the way to access the ECWMF MARS archive, there are four possible :doc:`Documentation/Overview/app_modes`: -- Remote (for member state users only) :ref:`[installation]<ref-remote-mode>` -- Gateway (for member state users only) :ref:`[installation]<ref-gateway-mode>` -- Local member :ref:`[installation]<ref-local-mode>` -- Local public :ref:`[installation]<ref-local-mode>` +- Remote (member-state users only) :ref:`[installation]<ref-remote-mode>` +- Gateway (member-state users only) :ref:`[installation]<ref-gateway-mode>` +- Local, member-state user :ref:`[installation]<ref-local-mode>` +- Local, public user :ref:`[installation]<ref-local-mode>` -More information can be found in :doc:`Documentation/Overview/app_modes`. +Please follow the link :doc:`Documentation/Overview/app_modes` to get a description of the modes. .. note:: If you encounter any problems in the installation process, you can ask for :doc:`support`. - - - - + + + + .. _ref-registration: Registration at ECMWF ===================== -Decide which user group you belong to and follow the instructions for registration: +The registration depends on the :doc:`Documentation/Overview/app_modes` and in case of the local mode also on the data set you'd like to retrieve. The following table gives an overview where you need to register. -**Member state user**: - To get a member-state user account, users have to be a resident of a `member state`_. In that case, you can contact your `Computing Representative`_ for granting access. If you would like to use the local application mode to retrieve **ERA5** data you'd have to register at the `Copernicus Climate Data Store <https://cds.climate.copernicus.eu/user/register>`_ also. ++--------------+------------------------------------+--------------+ +| | Member-state user | Public user | +| +---------+----------+---------------+--------------+ +| Data sets |Remote |Gateway |Local | Local | ++--------------+---------+----------+---------------+--------------+ +| Operational | 1 | 1 | 1,2 | - | ++--------------+---------+----------+---------------+--------------+ +| ERA-Interim | 1 | 1 | 1,2 | 2 | ++--------------+---------+----------+---------------+--------------+ +| CERA-20C | 1 | 1 | 1,2 | 2 | ++--------------+---------+----------+---------------+--------------+ +| ERA5 | 1 | 1 | 3 | - | ++--------------+---------+----------+---------------+--------------+ -**Public user**: - To be able to download public datasets with ``flex_extract`` such as **ERA-Interim** and **CERA-20C** (**ERA5** is not supported via ECMWF Web API anymore), the public user has to create an account at ECMWF. - Use the registration at the ECMWF website by filling out this `registration form`. - - .. note:: - In the future retrievement of *ERA5* will be possible via the CDS API for public users also. Then a registration at the `Copernicus Climate Data Store <https://cds.climate.copernicus.eu/user/register>`_ is needed in addition. - - + +Registration options: + + 1.) Access through a member-state user account granted by the `Computing Representative`_. The credentials have to be provided during installation. + 2.) Access through the ECMWF Web API. Need to sign in at `ECMWF Web API <https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home>`_ and configure the ECMWF key as described. Member-state users can sign in with their credentials from the `Computing Representative`_ and public users have to fill out the `registration form`_ to get an account. + 3.) Access through the `CDS API <https://cds.climate.copernicus.eu/api-how-to>`_. Extra registration for member-state users is required at `Copernicus Climate Data Store <https://cds.climate.copernicus.eu/user/register>`_ including the configurations of the CDS key as described. This mode is currently not available for public users. See the note at `user group <Ecmwf/access.html>`_ for information. + .. _ref-licence: -Agree on licences for public datasets +Licence agreement for public datasets ===================================== -Each public dataset which is intended to be downloaded by ``flex_extract`` has its own licence which has to be accepted, regardless of the user group. +Each ECMWF public dataset has its own licence which has to be accepted, regardless of the user group. For the *ERA-Interim* and *CERA-20C* datasets this can be done at the ECMWF website `Available ECMWF Public Datasets <https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets>`_. Log in and follow the licence links on the right side for each dataset and accept it. -For the *ERA5* dataset this has to be done at the `Climate Data Store (CDS) website <https://cds.climate.copernicus.eu/cdsapp#!/search?type=dataset>`_. Log in with your credentials and then select on the left panel the product type "Reanalysis" for finding *ERA5* datasets. Then follow the link of a title with *ERA5* (anyone) to the full dataset record, click on tab "Download data" and scroll down. There is a section "Terms of use" where you have to click the :underline:`Accept terms` button. - +For the *ERA5* dataset this has to be done at the `Climate Data Store (CDS) website <https://cds.climate.copernicus.eu/cdsapp#!/search?type=dataset>`_. Log in and select, on the left panel, product type "Reanalysis" for finding *ERA5* datasets. Then follow any link with *ERA5* to the full dataset record, click on tab "Download data" and scroll down. There is a section "Terms of use" where you have to click the :underline:`Accept terms` button. @@ -99,26 +109,21 @@ For the *ERA5* dataset this has to be done at the `Climate Data Store (CDS) webs Download ``flex_extract`` ========================= -There are 2 options to download ``flex_extract``: +There are two options to download ``flex_extract``: tar ball - You can download the latest prepared release tar ball from the `download section`_ - of our ``FLEXPART`` community website and then untar the file. Substitute - the **<ID>** in the ``wget`` command with the ID-number of the ``flex_extract`` - release tar ball in the list of downloads at the community website. - - + You can download a tar ball with the latest release from the `flex_extract page <https://www.flexpart.eu/wiki/FpInputMetEcmwf>`_ from our ``FLEXPART`` community website and then untar the file. + .. code-block:: bash - wget https://www.flexpart.eu/downloads/<ID> tar -xvf <flex_extract_vX.X.tar> -git repo - Or you can clone the current release version from our git repository master branch. +git repo + Alternatively, if you have ``git`` installed on your machine, and if you are interested to keep the code in a version control system, you may clone the latest version from our git repository master branch. .. code-block:: bash - $ git clone https://www.flexpart.eu/gitmob/flexpart + $ git clone --single-branch --branch master https://www.flexpart.eu/gitmob/flexpart @@ -126,30 +131,21 @@ git repo .. _ref-requirements: -Environment requirements -======================== - -This is a list of the general environment requirements for ``flex_extract``. -What is required exactly for each application mode will be described in the specifc installation section. +Dependencies +============ +The software required for running ``flex_extract`` depends on the :doc:`Documentation/Overview/app_modes` and therefore is described in the respective specific installation sections. -To run the python part of ``flex_extract`` a `Python 3`_ environment is needed. -We tested ``flex_extract`` with a normal Linux Python package distribution and Anaconda Python. -Except for `Python3`_ all are python packages which can be installed via ``pip``. - -* `Python3`_ or `Anaconda Python3`_ -* `numpy`_ -* `ecmwf-api-client`_ (Web Interface to ECMWF servers for datasets except ERA5) -* `cdsapi`_ (Web Interface to `C3S <https://climate.copernicus.eu/>`_ servers for ERA5) -* `genshi`_ -* `eccodes for python`_ - -For the Fortran part of ``flex_extract`` we need the following distribution packages: - -* `gfortran`_ -* `fftw3`_ -* `eccodes`_ -* `emoslib`_ +Generally speaking, ``flex_extract`` requires `Python 3`_ and Fortran together with certain modules / libraries. +We tested ``flex_extract`` with the python3 package from the the GNU/Linux distribution and Anaconda Python. The required python3 modules should prefarably be installed as distribution packages, or alternatively using Python's own package manager ``pip`` (this may mess up some aspects of your python installation, especially if you use ``pip`` as root. Think about using virtual environments.). + +Before installing the system packages check the availability with ``dpkg -s <package-name> | grep Status`` or ``rpm -q <package_name>``, depending on your system. For example: + +.. code-block:: sh + + $ dpkg -s libeccodes-dev | grep Status + # or + $ rpm -q libeccodes-dev @@ -161,712 +157,54 @@ For the Fortran part of ``flex_extract`` we need the following distribution pack Installation of ``flex_extract`` ================================ -The actual installation of ``flex_extract`` will be done by executing a `Shell` script called ``setup.sh``. -It defines some parameters and calls a Python script by giving the parameters as command line arguments. -More information on the script and its parameters can be found at :doc:`Documentation/Input/setup`. +The actual installation of ``flex_extract`` is done by executing a shell script called ``setup.sh``. +It defines some parameters and calls a Python script passing the parameters as command line arguments. For details, see :doc:`Documentation/Input/setup`. For each application mode installation section we describe the requirements for the explicit environment and how it is installed, test if it works and how the actual ``flex_extract`` installation has to be done. At the users local side not all software has to be present for ``flex_extract``. +Select one of the following modes to install: - - - -.. _ref-remote-mode: - -Remote mode ------------ - -.. _ref-req-remote: - -Remote environment requirements -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The environment for ``flex_extract`` on ECMWF servers has to provide these -software packages and libraries: + :doc:`Installation/remote` -+---------------------------+-----------------+ -| Python part | Fortran part | -+---------------------------+-----------------+ -| * `Python3`_ | * `gfortran`_ | -| * `numpy`_ | * `fftw3`_ | -| * `genshi`_ | * `eccodes`_ | -| * `eccodes for python`_ | * `emoslib`_ | -+---------------------------+-----------------+ - - -.. _ref-prep-remote: - -Prepare remote environment -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The environment on the ECMWF server (such as *ecgate* or *cca*) is already -prepared. ECMWF server provide all libraries via a module system which is -going to be selected by ``flex_extract`` automatically. - - -.. _ref-install-remote: - -Remote installation -^^^^^^^^^^^^^^^^^^^ - -First, log in on one of the ECMWF Linux server, such as *ecgate* or *cca/ccb*. -Substitute *<ecuid>* with your ECMWF user name: - -.. code-block:: bash - - ssh -X <ecuid>@ecaccess.ecmwf.int - -This will lead to the following output on the command line, asking for your -password: - -.. code-block:: bash - - Authorized access only. - - *************************************************************** - For further information, read the ECaccess documentation at: - - https://software.ecmwf.int/wiki/display/ECAC/ECaccess+Home - - You can also use ECaccess to load & download files from your - EChome, ECscratch or ECfs directories using the ECaccess FTP - server: - - ftp://uid@ecaccess.ecmwf.int/ - - Please note you must use your UID and ActivID code to login! - *************************************************************** - - <ecuid>@131.130.157.5's password: *** - Select hostname (ecgate, cca, ccb) [ecgate]: ecgate - - [<ecuid>@ecgb11 ~]$ - - -Then, copy the ``flex_extract`` tar ball (from section :ref:`ref-download`) -to the ``$HOME`` directory of the ECMWF Linux server via ``scp``. -Substitute the *<localuser>* and *<server.edu>* placeholders with your credentials. -Untar the file and change into the ``flex_extract`` root directory. - -.. code-block:: bash - - scp <localuser>@<server.edu>:/path/to/tarfile/flex_extract_vX.X.tar.gz $HOME/ - cd $HOME - tar xvf flex_extract_vX.X.tar.gz - cd flex_extract_vX.X - - -On these ECMWF servers, it is not necessary to prepare the environment or the -``Makefile`` for the Fortran program (``CONVERT2``) as described above. -All third party libraries are available from a module system. The ``Makefile`` -is optimized for ECMWF servers and the compilation -script ``compilejob.ksh``, which will be submitted by ``flex_extract`` to the -batch job queue at ECMWF, does load all relevant modules from the ECMWF's module system. - -So there is just the need to execute the ``setup.sh`` script from the -``flex_extract`` root directory for installation. -Before executing it, it is necessary to adapt some parameters from ``setup.sh`` -described in :doc:`Documentation/Input/setup`. - -Open ``setup.sh`` with your editor and adapt the values: - -+----------------------------------------------+----------------------------------------------+ -| Take this for target = **ectrans** | Take this for target = **cca** | -+----------------------------------------------+----------------------------------------------+ -| .. code-block:: bash | .. code-block:: bash | -| | | -| ... | ... | -| # -----------------------------------------| # -----------------------------------------| -| # AVAILABLE COMMANDLINE ARGUMENTS TO SET | # AVAILABLE COMMANDLINE ARGUMENTS TO SET | -| # | # | -| # THE USER HAS TO SPECIFY THESE PARAMETER | # THE USER HAS TO SPECIFY THESE PARAMETER | -| # | # | -| TARGET='ecgate' | TARGET='cca' | -| MAKEFILE='Makefile.gfortran' | MAKEFILE='Makefile.CRAY' | -| ECUID='uid' | ECUID='uid' | -| ECGID='gid' | ECGID='gid' | -| GATEWAY=None | GATEWAY=None | -| DESTINATION=None | DESTINATION=None | -| INSTALLDIR=None | INSTALLDIR='' | -| JOB_TEMPLATE='job.template' | JOB_TEMPLATE='job.template' | -| CONTROLFILE='CONTROL_EA5' | CONTROLFILE='CONTROL_EA5' | -| ... | ... | -+----------------------------------------------+----------------------------------------------+ - -:underline:`Please substitute the values of ECUID and ECGID -with your own credentials and settings.` - -.. note:: - - If a local gateway server is available the transfer of files could be done - via the ``ECaccess`` commands. Therefore a valid *GATEWAY* and *DESTINATION* - have to be present and should be set in the ``setup.sh`` file. - - -Afterwards, type: - -.. code-block:: bash - - module load python3 - ./setup.sh - -to start the installation. You should see the following output at the command line. + :doc:`Installation/gateway` - -.. code-block:: bash - - # Output of setup.sh - Create tarball ... - Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X - You should get an email with subject "flexcompile" within the next few minutes! - - -The email content should look like this with a "SUCCESS" statement in the last line: - -.. code-block:: bash - - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 - -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2 - SUCCESS! - - - - - - - - - - - - - - - - - - + :doc:`Installation/local` - - - -.. _ref-gateway-mode: - -Gateway mode ------------- - - -.. _ref-req-gateway: - -Gateway environment requirements -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The environment on your local system has to provide these software packages -and libraries, since ``flex_extract`` does only prepare the job script and send -it to the ECMWF servers: - -* `Python3`_ or `Anaconda Python3`_ -* `numpy`_ -* `genshi`_ - - -.. _ref-prep-gateway: - -Prepare gateway environment -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights. -The installation was tested on a *GNU/Linux Debian buster* and an *Ubuntu 18.04 Bionic Beaver* system. - -.. code-block:: sh - - # On a Linux Debian or Ubuntu system do - # (if not already available): - apt-get install python3 - apt-get install pip - apt-get install genshi - apt-get install numpy - - -.. _ref-test-gateway: - -Test gateway environment -^^^^^^^^^^^^^^^^^^^^^^^^ - -Check the availability of the python packages by typing ``python3`` in -a terminal window and run the ``import`` commands in the python shell. -If there are no error messages, you succeeded in setting up the environment. - -.. code-block:: python - - # check in python3 console - import genshi - import numpy - - - -.. _ref-install-gateway: - -Gateway installation -^^^^^^^^^^^^^^^^^^^^ - -In this mode, access to the ECMWF computing and archiving facilities is enabled through an ECaccess gateway server on a local member state server. The ECaccess framework is necessary to interactively submit jobs to the ECMWF batch system and to transfer files between ECMWF and local gateway server. - -Please see `ECMWF's instructions on gateway server`_ to establish the gateway server if not already in place. -Additionally, to be able to use the Ecaccess file transfer service **ectrans** please also create an association. -The easiest way is to visit the ECaccess Member State Gateway website (e.g. msgatway.ecmwf.int) and follow the instructions in the short `ECaccess Presentation`_ (page 17 ff.). Additional documentation can be found on the `ECMWF ectrans site`_. - -After everything is set up you have to create an *ecaccess certificate* to be able to send and receive files from and to the ECMWF server. You can do this by using the ``ecaccess-certificate-create`` command on the gateway server. You will be prompted for your ECMWF member state user name and a password (which will be usually generated by a Token). This certificate has to be re-newed periodically (every 7 days). - -.. code-block:: bash - - $ ecaccess-certificate-create - Please enter your user-id: example_username - Your passcode: *** - -``Flex_extract`` will be run on an ECMWF server which makes the setup the same as for the **remote mode**. In the ``setup.sh`` script `[ref] <Documentation/Input/setup.html>`_, select the ``Makefile.gfortran`` for the ``CONVERT2`` Fortran program and the ECMWF server (*target*) you would like to use. -The job script, send to the job queue via the ECaccess software, selects again automatically the correct libraries from the module system. For enableing the file transfer you have to set the *ECUID*, *ECGID*, *GATEWAY* and *DESTINATION* parameter values. - - -.. code-block:: bash - :caption: 'Example settings for a gateway installation.' - :name: setup.sh - - # ----------------------------------------------------------------- - # AVAILABLE COMMANDLINE ARGUMENTS TO SET - # - # THE USER HAS TO SPECIFY THESE PARAMETER - # - TARGET='ecgate' - MAKEFILE='Makefile.gfortran' - ECUID='uid' - ECGID='gid' - GATEWAY='server.example.edu' - DESTINATION='example@genericSftp' - INSTALLDIR=None - JOB_TEMPLATE='job.template' - CONTROLFILE='CONTROL_EA5' - - -Afterwards, type: - -.. code-block:: bash - - $ ./setup.sh - -to start the installation. You should see the following output at the command line. - - -.. code-block:: bash - - # Output of setup.sh - Create tarball ... - Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X - You should get an email with subject "flexcompile" within the next few minutes! - - -The email content should look like this with a "SUCCESS" statement in the last line: - -.. code-block:: bash - - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3 - -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2 - SUCCESS! - - - - - - - - - - - - - - - - - - - -.. _ref-local-mode: - -Local mode ----------- - - - -.. _ref-req-local: - -Local environment requirements -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -For the local access modes **member** and **public** there is no difference in -the installation process. - -The environment on your local system has to provide these software packages -and libraries, since all extraction and preparation is done at the local system: - -+------------------------------------------------+-----------------+ -| Python part | Fortran part | -+------------------------------------------------+-----------------+ -| * `Python3`_ | * `gfortran`_ | -| * `numpy`_ | * `fftw3`_ | -| * `genshi`_ | * `eccodes`_ | -| * `eccodes for python`_ | * `emoslib`_ | -| * `ecmwf-api-client`_ (everything except ERA5) | | -| * `cdsapi`_ (just for ERA5) | | -+------------------------------------------------+-----------------+ - - -.. _ref-prep-local: - -Prepare local environment -^^^^^^^^^^^^^^^^^^^^^^^^^ - -The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights. -The installation was tested on a *Debian GNU/Linux buster/sid* and an *Ubuntu 18.04 Bionic Beaver* system. - -.. code-block:: sh - - # On a Linux Debian or Ubuntu system do - # (if not already available): - apt-get install python3 (usually available on normal Linux systems) - apt-get install pip - apt-get install gfortran - apt-get install fftw3-dev - apt-get install libeccodes-dev - apt-get install libemos-dev - apt-get install python3-eccodes - apt-get install genshi - apt-get install numpy - pip install cdsapi - pip install ecmwf-api-client - -.. note:: - - In case you would like to use Anaconda Python we recommend you follow the installation instructions of - `Anaconda Python Installation for Linux <https://docs.anaconda.com/anaconda/install/linux/>`_ and then install the - ``eccodes`` package from ``conda`` with: - - .. code-block:: bash - - conda install conda-forge::python-eccodes - - -The CDS API (cdsapi) and the ECMWF Web API (ecmwf-api-client) have both to be installed since ERA5 can only be retrieved with the ``CDS API`` and all other datasets with the ``ECMWF Web API``. - -.. note:: - - Since **public users** currently don't have access to the full *ERA5* dataset they can skip the installation of the ``CDS API``. - -Both user groups have to provide key's with their credentials for the Web API's in their home directory. Therefore, follow these instructions: - -ECMWF Web API: - Go to `MARS access`_ website and log in with your credentials. Afterwards, on this site in section "Install ECMWF KEY" the key for the ECMWF Web API should be listed. Please follow the instructions in this section under point 1 (save the key in a file `.ecmwfapirc` in your home directory). - -CDS API: - Go to 'CDS API registration'_ and register there too. Log in at the `cdsapi`_ website and follow the instructions at section "Install the CDS API key" to save your credentials in a `.cdsapirc` file. - - -.. _ref-test-local: - -Test local environment -^^^^^^^^^^^^^^^^^^^^^^ - -Check the availability of the system packages with ``dpkg -s <package-name> | grep Status`` or ``rpm -q <package_name>``, depending on your system. For example: - -.. code-block:: sh - - $ dpkg -s libeccodes-dev | grep Status - # or - $ rpm -q libeccodes-dev - -Afterwards, check the availability of the python packages by typing ``python3`` in -a terminal window and run the ``import`` commands in the python shell. If there are no error messages, you succeeded in setting up the environment. - -.. code-block:: python - - # check in python3 console - import eccodes - import genshi - import numpy - import cdsapi - import ecmwfapi - - - -Test the Web API's -"""""""""""""""""" - -You can start very simple test retrievals for both Web API's to be sure that everything works. This is recommended to minimize the range of possible errors using ``flex_extract`` later on. - -ECMWF Web API -""""""""""""" - - -+----------------------------------------------------------+----------------------------------------------------------+ -|Please use this piece of python code for **Member user**: |Please use this piece of python code for **Public user**: | -+----------------------------------------------------------+----------------------------------------------------------+ -|.. code-block:: python |.. code-block:: python | -| | | -| from ecmwfapi import ECMWFService | from ecmwfapi import ECMWFDataServer | -| | | -| server = ECMWFService('mars') | server = ECMWFDataServer() | -| | | -| server.retrieve({ | server.retrieve({ | -| 'stream' : "oper", | 'stream' : "enda", | -| 'levtype' : "sfc", | 'levtype' : "sfc", | -| 'param' : "165.128/166.128/167.128", | 'param' : "165.128/166.128/167.128", | -| 'dataset' : "interim", | 'dataset' : "cera20c", | -| 'step' : "0", | 'step' : "0", | -| 'grid' : "0.75/0.75", | 'grid' : "1./1.", | -| 'time' : "00/06/12/18", | 'time' : "00/06/12/18", | -| 'date' : "2014-07-01/to/2014-07-31", | 'date' : "2000-07-01/to/2000-07-31", | -| 'type' : "an", | 'type' : "an", | -| 'class' : "ei", | 'class' : "ep", | -| 'target' : "download_erainterim_ecmwfapi.grib" | 'target' : "download_cera20c_ecmwfapi.grib" | -| }) | }) | -+----------------------------------------------------------+----------------------------------------------------------+ - - - -CDS API -""""""" - -Since ERA5 extraction with CDS API might take some time due to the very high number of requests, you can start by retrieving some online stored pressure levels (not from MARS). This is usually much faster and gives a quick result to find out if the web API works: - -Please use this piece of python code to retrieve a small sample of *ERA5* pressure levels: - -.. code-block:: python - - import cdsapi - - c = cdsapi.Client() +.. toctree:: + :hidden: + :maxdepth: 2 - c.retrieve("reanalysis-era5-pressure-levels", - { - "variable": "temperature", - "pressure_level": "1000", - "product_type": "reanalysis", - "year": "2008", - "month": "01", - "day": "01", - "time": "12:00", - "format": "grib" - }, - "download_cdsapi.grib") - + Installation/remote + Installation/gateway + Installation/local -Afterwards, when you know that the CDS API generally works, you can try to extract some -data from the MARS archive. From the latest experience we know that this can take a while. -.. **Member user** -Please use this piece of python code to retrieve a small *ERA5* data sample as a **member user**! The **public user** doesn't have access to the full *ERA5* dataset! -.. code-block:: python - - import cdsapi - - c = cdsapi.Client() - - c.retrieve('reanalysis-era5-complete', - { - 'class' : 'ea', - 'expver' : '1', - 'stream' : 'oper', - 'type' : 'fc', - 'step' : '3/to/12/by/3', - 'param' : '130.128', - 'levtype' : 'ml', - 'levelist': '135/to/137', - 'date' : '2013-01-01', - 'time' : '06/18', - 'area' : '50/-5/40/5', - 'grid' : '1.0/1.0', - 'format' : 'grib', - }, 'download_era5_cdsapi.grib') - - -.. ********************** COMMENTED OUT FOR FUTURE - ********************** PUBLIC RETRIEVAL IS CURRENTLY NOT ACCESSIBLE - - **Public user** - Please use this piece of python code: - .. code-block:: python - import cdsapi - - c = cdsapi.Client() - - c.retrieve('reanalysis-era5-complete', - { - 'class' : 'ea', - 'dataset' : 'era5', - 'expver' : '1', - 'stream' : 'oper', - 'type' : 'fc', - 'step' : '3/to/12/by/3', - 'param' : '130.128', - 'levtype' : 'ml', - 'levelist': '135/to/137', - 'date' : '2013-01-01', - 'time' : '06/18', - 'area' : '50/-5/40/5', - 'grid' : '1.0/1.0', - 'format' : 'grib', - }, 'download_era5_cdsapi.grib') -.. _ref-install-local: -Local installation -^^^^^^^^^^^^^^^^^^ -First prepare the Fortran ``Makefile`` for your environment and set it -in the ``setup.sh`` script. (See section :ref:`ref-convert` for information on -the Fortran program.) -``flex_extract`` has already two ``Makefiles`` prepared for te ``gfortran`` and -the ``ifort`` compiler: - * Makefile.local.gfortran - * Makefile.local.ifort -They can be found in the path ``flex_extract_vX.X/source/fortran``, where -``vX.X`` should be substituted with the current version number. - -.. caution:: - It is necessary to adapt **ECCODES_INCLUDE_DIR** and **ECCODES_LIB** in these - ``Makefiles``. - - -So starting from the root directory of ``flex_extract``, -go to the ``Fortran`` source directory and open the ``Makefile`` of your -choice to modify with an editor of your choice. We use the ``nedit`` in this case. - -.. code-block:: bash - - cd flex_extract_vX.X/source/fortran - nedit Makefile.local.gfortran - -Edit the pathes to the ``eccodes`` library on your local machine. - -.. caution:: - This can vary from system to system. - It is suggested to use a command like - - .. code-block:: bash - - # for the ECCODES_INCLUDE_DIR path do: - $ dpkg -L libeccodes-dev | grep eccodes.mod - # for the ECCODES_LIB path do: - $ dpkg -L libeccodes-dev | grep libeccodes.so - - to find out the path to the ``eccodes`` library. - -Substitute these paths in the ``Makefile`` for parameters **ECCODES_INCLUDE_DIR** -and **ECCODES_LIB** and save it. - -.. code-block:: bash - - # these are the paths on a current Debian 10 Testing system (May 2019) - ECCODES_INCLUDE_DIR=/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15/ - ECCODES_LIB= -L/usr/lib -leccodes_f90 -leccodes -lm - -The Fortran program called ``CONVERT2`` will be compiled during the -installation process to get an executable. Therefore the ``Makefile`` -has to be set in the ``setup.sh`` script. - -In the root directory of ``flex_extract``, open the ``setup.sh`` script -and adapt the installation parameters in the section labelled with -"AVAILABLE COMMANDLINE ARGUMENTS TO SET" like shown below. - - -.. code-block:: bash - :caption: 'Example settings for a local installation.' - :name: setup.sh - - ... - # ----------------------------------------------------------------- - # AVAILABLE COMMANDLINE ARGUMENTS TO SET - # - # THE USER HAS TO SPECIFY THESE PARAMETER - # - TARGET='local' - MAKEFILE='Makefile.local.gfortran' - ECUID=None - ECGID=None - GATEWAY=None - DESTINATION=None - INSTALLDIR=None - JOB_TEMPLATE='job.template' - CONTROLFILE='CONTROL_EA5' - ... - - -Afterwards, type: - -.. code-block:: bash - - $ ./setup.sh - -to start the installation. You should see the following output at the command line. -.. code-block:: bash - - # Output of setup.sh - WARNING: installdir has not been specified - flex_extract will be installed in here by compiling the Fortran source in /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/source/fortran - Install flex_extract_v7.1 software at local in directory /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1 - - Using makefile: Makefile.local.gfortran - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 rwGRIB2.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 posnam.f - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 preconvert.f90 - gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -O3 -O3 -fopenmp -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/gcc-4.9.3/grib_api-1.14.3/lib -Bstatic -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper -lemosR64 - - -rwxrwxr-x. 1 philipa8 tmc 282992 May 23 22:27 ./CONVERT2 - - - - - ``Flex_extract`` in combination with ``FLEXPART`` ================================================= -Some users might like to incorporate ``flex_extract`` directly into the ``FLEXPART`` -distribution. Then the installation path has to be changed by setting the parameter -`installdir` in the ``setup.sh`` file to the ``script`` directory in the ``FLEXPART`` root directoy. +Some users might wish to incorporate ``flex_extract`` directly into the ``FLEXPART`` distribution. Then the installation path has to be changed by setting the parameter `installdir` in the ``setup.sh`` file to the ``script`` directory in the ``FLEXPART`` root directoy. @@ -884,22 +222,20 @@ Test installation Fortran program test -------------------- -To check if the compilation of the Fortran program ``CONVERT2`` was successful -a quick program call on a minimal prepared dataset can be done. +To check whether the Fortran program ``CONVERT2`` has been compiled and runs properly, it can be applied to a prepared minimal dataset. -For this, go from the ``flex_extract`` root directory to the test -directory and call the executable of the Fortran program. +For this, go from the ``flex_extract`` root directory to the ``Testing/Installation/Convert/`` directory and execute the Fortran program. .. note:: Remember that you might have to log in at the ECMWF server if you used the installation for the **remote** or **gateway** mode. There you find the ``flex_extract`` root directory in your ``$HOME`` directory. .. code-block:: bash - cd test/Installation/Convert - # call the Fortran progam without arguments - ../../../source/fortran/CONVERT2 + cd Testing/Installation/Convert + # execute the Fortran progam without arguments + ../../../Source/Fortran/CONVERT2 -The installation was successfull if it showed the following output: +The installation was successfull if you obtain on standard output: .. code-block:: bash @@ -911,7 +247,7 @@ The installation was successfull if it showed the following output: readlatlon: 4 records read SUCCESSFULLY FINISHED CONVERT_PRE: CONGRATULATIONS -Now go back to the root directoy: +Now go back to the root directory: .. code-block:: bash diff --git a/For_developers/Sphinx/source/quick_start.rst b/For_developers/Sphinx/source/quick_start.rst index cc1a51a..a34faa1 100644 --- a/For_developers/Sphinx/source/quick_start.rst +++ b/For_developers/Sphinx/source/quick_start.rst @@ -336,7 +336,7 @@ It is then available from 1st January 1979 to 31st August 2019. The ``etadot`` i .. todo:: - @LEO: please check the complete describtion and functionality of the CONTROL FILEs + @LEO: please check the complete description and functionality of the CONTROL FILEs Operational data ---------------- -- GitLab