From ae857a098a4584229a45eb14300a4f526bc98d67 Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Fri, 8 Sep 2023 17:41:40 +0200
Subject: [PATCH] doc: Add user and developers documentation scheme.

---
 doc/dev/build.sh            |  10 ++++
 doc/dev/documentation.bib   |   1 +
 doc/dev/documentation.org   |  55 +++++++++++++++++++
 doc/images/riverly.png      | Bin 0 -> 34738 bytes
 doc/tools/PamhyrDoc.cls     | 102 ++++++++++++++++++++++++++++++++++++
 doc/tools/latex.org         |  19 +++++++
 doc/tools/macro.org         |  35 +++++++++++++
 doc/tools/ref.bib           |   0
 doc/tools/setup.el          |  30 +++++++++++
 doc/users/build.sh          |  10 ++++
 doc/users/documentation.bib |   1 +
 doc/users/documentation.org |  20 +++++++
 12 files changed, 283 insertions(+)
 create mode 100755 doc/dev/build.sh
 create mode 120000 doc/dev/documentation.bib
 create mode 100644 doc/dev/documentation.org
 create mode 100644 doc/images/riverly.png
 create mode 100644 doc/tools/PamhyrDoc.cls
 create mode 100644 doc/tools/latex.org
 create mode 100644 doc/tools/macro.org
 create mode 100644 doc/tools/ref.bib
 create mode 100644 doc/tools/setup.el
 create mode 100755 doc/users/build.sh
 create mode 120000 doc/users/documentation.bib
 create mode 100644 doc/users/documentation.org

diff --git a/doc/dev/build.sh b/doc/dev/build.sh
new file mode 100755
index 00000000..476dd5ad
--- /dev/null
+++ b/doc/dev/build.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+# Build the PDF
+
+emacs -Q -q -nw --batch                                 \
+      --eval "(require 'org)"                           \
+      --eval "(require 'ox-latex)"                      \
+      --eval "(load-file \"../tools/setup.el\")"        \
+      --file ./documentation.org                        \
+      -f org-latex-export-to-pdf
diff --git a/doc/dev/documentation.bib b/doc/dev/documentation.bib
new file mode 120000
index 00000000..8319e149
--- /dev/null
+++ b/doc/dev/documentation.bib
@@ -0,0 +1 @@
+../tools/ref.bib
\ No newline at end of file
diff --git a/doc/dev/documentation.org b/doc/dev/documentation.org
new file mode 100644
index 00000000..99867b08
--- /dev/null
+++ b/doc/dev/documentation.org
@@ -0,0 +1,55 @@
+# documentation.org -- Pamhyr developers documentation
+# Copyright (C) 2023  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+# -*- coding: utf-8 -*-
+
+#+STARTUP: indent
+
+#+INCLUDE: ../tools/macro.org
+#+INCLUDE: ../tools/latex.org
+
+#+TITLE: Developers documentation
+#+SUBTITLE: Version: {{{version}}}
+#+AUTHOR: {{{INRAE}}}
+
+#+OPTIONS: toc:t
+#+LANGUAGE: UKenglish
+
+* TODO The environment
+* TODO Architecture
+** TODO Model
+** TODO Solver
+** TODO View
+** TODO Unit tests
+** TODO The debug mode
+* TODO Build the project
+** TODO Building packages
+*** TODO Linux
+*** TODO Windows
+* TODO Documentation files
+** TODO The environment
+** TODO Org-mode
+*** TODO Format
+*** TODO Macro
+*** TODO Footnote
+*** TODO References
+*** TODO Export
+* TODO How to contribute?
+** TODO Contribution rules
+** TODO Translate
+** TODO Code contribution
+
+{{{biblio}}}
diff --git a/doc/images/riverly.png b/doc/images/riverly.png
new file mode 100644
index 0000000000000000000000000000000000000000..14a38a2f43f67e0aa88cb5b692dc110c681a9d2d
GIT binary patch
literal 34738
zcmV*EKx@B=P)<h;3K|Lk000e1NJLTq00Arj004Oi1^@s6gGn5P001BWNkl<Zc%1CL
zd3+SdwJ-jy>YkoOqnXiYUl2kFjM>2;0|tY^c(-x9CwAhjc5d#?{_=8j^YZfZ&GpU8
z&Amzd5<e%o@r|?CalFNjH@smC7z1VpgAkhlAtW&xNh4|2o~rjpchB^+dU|?<u$|xY
z;Ui|I>eQ)Ir>jn%bLw<8FitT4pMOW))s1w#=zRnq!AI~B7=fstdPTzwzYBs`UW3m(
zdJKo;LE8O?AG7u+eg<%+r(>69(S45tEhFA|@Gzd^IA8Gp$~eyj&Sl<y*kp6Qczj>S
zDVTJ|kyT`RV0p?h<-*HQdBe>#MO?Ig-leo^`OP%mb(D{E9oJAy+nLa{!YdZ+(lX+W
z2M^~$Bd?st8OS*FH6DBx;=!tZJY;1>W2|$in6~d1j3<xdv1Z3~?F1+aO8*CwGP81R
z!t<$DT}#N+Rm92DBt-=3Eh{Irt8RBxU357e>^sF1T^(9`rf;Wy=O$%lcy`K)`7>*0
zMPCyxD?r0;U-|0t$=_<ccFWAJ>3GP`4sZGJ3-OzeN3*$OM;?XdU$NKLj$DeJ3x)a~
z>)ap9^~opqbD5j@u4}>ZXx0^lxmia|K8<+PIcY9pREE<bKqd?#15I;EE2l3IFZto~
zp5_1hbx*~`t0@RI(lhJJ4%p!}AHLc5QDZWp!PLKE`Y(2zcH~`%mep8_mA~CFoh#U-
zUu@sw!K>M|C{`}#B1fxhW`$?f*H~m+42`k&Q4n8HKQ-%ttCjjYkMR@6vMG1{BZTrg
z;*e#MhCnC*;e-)F1Pacmr@VnSth(J*zw#D|gY%KjBWadQ7-@~7tK&ysr#B;wW%^I8
ztsbY~SPXUgPyL@!W-y^aP4M((Bo7TUxfsjx@nP)K$bTVx{q@f$(|mjzc{7t~K0fk|
z&#X@~8EJe_3tIW)VVocNXy`3MBTcJun$26Yd1aS|+1T@~5i355<*^VAJ7remG~ybs
z1pz?x42}t?!$q%r`V@6ICCaITQpjM0P|65R^E4HxK+|AU-~<ey6r3g!QJjADv3SR;
zk4A?M?a*5;AHhfP5qt!B;hYs#Y28eE@grMlkb(|!nR+48C}Y%3IO3F2CucOt36%hv
zB%lt?Arnx66PgC6LnrnpPrvr(=&3iKj3&-@X*&-26qs3^75;|>{uX#NgYmc)#a^=y
zi>!*}V?6Lbh(13E7&9N5OQ^X{c00?sTjh&Zkm_YO5EmFpae)Y6gi%5$C6qG`0z#nu
z<D4k%2mnq9A;jgca#YS=RnolXUVr)QWiCOG_(-TrW{IfLEHpFS^Oc$MYNO0*ymrgX
z=$i32);<f3rC7eL>a6%Sx?;vMD;jp`j+Jk_^Vv#%R(upIE4$+y4;ohTC|0&+c;~Vn
zG|0DJt@;H3h=vLvn^%!9ZzBgh&9mU-pb0Ke2T3Ch3IQB4W1tWyBa9LdFmO-+X#fJ@
zG|dSWI0qv{=|ptUs(CBC<@1*NX0e~JzFlueyEi>O+_~|E;Z&qg&!5%6%)aZ(j6rj=
zHpcuhvwE}NW_Ju@nVC$De3=FIt%ChVT2|%8eyql6<S*Y{F`ulBbglR^13SD~$;wE>
zYRpzV7LutMEi0MiE4NF->Ka(d%B<XopKpHTgYlA;?Y@ZqM-h;j0JHw}&*HR&*U}-9
zrXDWPIA?GIG+}fH!QlX*DZ;792~7i3AfRag0*CS&oH9Zv1t<eRIA~f<qVLeQ;hqi8
z5BI$DLL}OKl9}*f#+%u1JA%op90+xaC1q1v38k)){`O5wjwSQp+v&$vpGDFrwofbB
z6)W41;3KdD=QL-|Ifk|9_Xotrx&}JL1nTB8O;AcD0-9tT4nnES85Ibj44{;As&2JV
zP6#F7lygFr-y8&l0-SOVN(iAGoGQkkiVKdRWBa3B+h2?HZh9dy(7r1UmVRG+@{-`3
zMRn6|`h(~wZ2<w~WVEBJ?T@#Pgxj{;XrAxR_+f{?RlYw6_#kBUw{U&TcpNj|=cKTx
z%TKR*?j&_UplOn(f*?|sPE!Ds5K1{`&=e2hpd6|q;((%n6h*`UN(rHyb5Ib<2q*<;
znsZ74%0WO0rwoJ=&M8;$5gQ04`*yC2bZ>oi;OyQFk!0wMY=><WDL_~0gqEgxU)cdF
z_!Q?`aj8eb?Y}>@_g8lppiyl3xba;C4HQAAkc;>cd<5qW#60D8CL{G+FdZ&VXk6sf
z1%bxXGMo^QAPf>1QiM<k2Tg&%K{!$%5IMlWDJ6t5ML_`oh!W4D0H*-ah1m$8T4LFZ
z3<AzMbp|Rt^($}n)?IdM9cK)Yqx*(?cE1_!d-v6F-@YADo{j;9<1YpMcz^YhPk;(O
zKx0c`Bsp^CkPgo(4rL|Je6a&FdPd0Cr&Y|xjGhrcUz{!<nDv>jKeM=!84WA?=Yn5|
z4<n7Sj`Mu=X_pVP>u;C78H{!8cCUpUnNZPUfQ8~4@YYU-<P<TIl0m=$2o!`VTY?+_
zIFwC7PB|wEj=E{cp}2q?9E1QI1eB|#1e6n~G+@A2lp7~nsp4XS3J6S@8}Lt=6C}5O
zou;CZWca-;1HHS~hx>M{4@Zvei<=0^C>Y~+3ILo(qsHwO0*>MSqwDes7Nen1;L)`2
z0yOe12&=YcN~}<O<J`!{Qz05=V25Tg_;!>=zMGfb{`BQmi?0~kR&%pZxfvh%@a@Xh
zOeYkgHC9;}+veq4G$7a=3<ZFS=2<k6lHuS4vOpkkhBOGJ95f9MfvCHKoMf#ka1c%u
z^#cwimIcbWT0+!M&S_RbrD-Y>tw;|H)g=dp>e53awQ?*TOpnBTJk4ALVASP|ioTMN
zR2e+(X{<RQmiVI8t*h&*T30s^PLLP~MSI_UHQcv%V<@!u?NId0aoJ>CrZR{Q9NQF}
za2bH?er!4wI~g5l-)?AQB|o!1ip4LMMxhB?3?FuB*=<`a*j;>fWHlcASoLXZ@#QHy
z7bP>E<0_V)v6kiiEqY3+939G0m?F+04pBaF7EKaL9Rx`6G#p$&3JeYaG9gstoXVU)
zAV8V`BIjUGcL9mw4k~UTkWR_2!7Y35j`#FU7fak>I2_UR;7~)NZ=g99jx>TXk5!^f
z&UZp&&!qb8Ws7D%?QW_+zzL^PS%t4*^~VDfR)4%10F9pM8tC2iYN&6|#@^8Gw?c{j
z-hA;dIudT%o=y%O5v0-<r4Nq2Q|s^JEM+HVHWnykp67%2Go~~ieVNf1&oS7gWrbHP
zj~|w6aK89H@7Jel{;Fvg-t|x44;_B@z4spa$A8h+*$ujn_Av>eYo0zP#=RA^6r4su
zsS{}=2&GPdCK;y=La0nQ6*!=zEfAU}YWji_KnDk*U`#yq$a9Y-x<d={XOZb2Im<F{
zs<3p}-V2-8Rb8{}A;IZLau7-gr(AJaDJNXD?tqcbBjM1VjlJQ$n|gb9uIo(>_Gxh`
z3V_v2z3u)$-J*Zu>0~(Ex$(ZU$6x#f^1A|KiK*l(v#Kk$Pb)CvZLEEc2jAn}rxkpd
z`Tl=KR+aNFn?C)M|Kq#984GVC1a$b+kxlD9JAb(zm*gR0?9AxPvXWp0z4A{-#RL(k
zgMi9BO$8!Q#u-)f*mY?OoI>3NRCfuLI>jACtg~lY=kNadqQ;0CuTsB{W)y@lBG4!i
zgg6LcT$Wv2PW$vIdi5q%mK|%j^V;uGk1I+Dv{VXkqU~NPiVU1kfP)iY<Yas3?A}e?
zy}RD*4)1)cmnCGcH#lw4aQ~rA>Euw<<YMHNRe_6EER8~nWh{zQgL9!_m+yRa#xkou
zi<Ln>`gRvpG5zPOD^?!G$ZD*-zTdJk;!}X2=Hjatw0!*Q-zl5E=muT?0C@7XPfV+f
zhq@wKJ24j_L(J+o0Kii{6-hy)B9|c(3V{odc^V?2iZ#W7GzbK6q>1v$lw1ce0%YAm
zLZ#~R4xz-=ogRtT09ue;Q8><uvNm^P&30#1@R(TcKPCA~yQ$YRAcz9v1WKHXbDAEB
z`C^?tGl%vazH+4f#8LuKO>HI5_BVGu{ra~X?z;9qsGE(Pa0-AbX<o?2)YMdqk_l65
zyp0#sHC^{P3dY#r(Y?K)-5a|4_HOcp_rDWQ4G&n!r%;*M1+<j6O`wKPGkSU)jSp>N
znYFXacQO1GgPZT}Z>DtfEe@-;W_Zk`-0pSGN8buRAB|$b%2F!EveGN9e0=0nMs{Sy
z0Dy`TZCG{NRn0g5!#7JO%~+{a@yyy+O%<v9qRW<^e&x}%8WHUPKjZNcz-V_dr>=bF
zQUor!LMR~)nqZ(3;gE?y9N<Legg5}2CY%ZihlCPBIOl{CLOB%01wshG2@xn4ozBq6
z;geTpSOwsn()j9xPhS6}lBpB7IcqE09c8{=>T<>ir68GLJplnBL=scZin6ZK8O@tK
zO?5k>$4}2oCsST+AaZ25+Tr*1NHrBFh;~#30Z~{31?M1&t|UsmYIP|^g0sBFUp}LC
zLj7g8&S<&yt8;3WTvP9@Z!Te!rjvc$BRnnZWyCDxsK?XSF~e`OYhm|j5E$^yKtC~w
zuFR^9)tJoc#)@w?C(Xt=I!<6u?)mVv@!O$c#$%zeSk+lwM=Sbf^013<XI`1{ZPwNd
ze-s~%vPyUJO@Dvag75tHcMYp<|GG0!If<zLl$zkAEI_XOPRB-iy5D~OH8Tc^2I_WG
zPfauYjnk>`!a1~b!c;NPJWq6%Rf<%glyNOXT}f>KArzcbD7$}@5DqQVJrU|}IQi?R
z-q5>%6FznQoz4k0ZG@}tBhT4Y)OHc6n%+P&?k3?h**{d(`P*k7kYkB}#;>cUynVuF
zZ~AV=9fay0Dj5|DKL90MO?D+ju{t=QSaV7izA_F_b!JeOipK}qc69Z;`&vie-c20?
z?K=jzEF14UcH#tf@y@lKnF)Ws;9Pk7AYr^Lmh%Z87Cs7sZ_<p0rW@}0Lc^-t?-AW4
zHKs_45tI4pAR)N=pWOfGZQq^)&KZzDaa04#!LwM54Ih6G!^huar{8)K0Av8n=`Ew4
z$rn;z^DNQdI8F4m%$7>)r%95xlxhz<GtNOdp=!DV61{!X^t6d24!CM7+Ovt89MBR=
zGrC;SBnqEIu@;C@=?IjDf=lN;*8AF)FKILrJ>eD>Pq+lPlmwJuyGlhdM7b7}=O9FN
zOSz(y6veB^lk*HmlmL`EoSyPoOQr^AFPTO_XfhfZ=-c_$$=)5WAL-rpT1Tw+RNO?K
z;~76OYik#OtbN)YiyiuQc^ixT#!90QJv%Vgn9;e&%8K`5WmSltu`H)ALIqS`d{yhD
z8^8GFin*8GLMWBMx#~ih8LG-pfes<y*bWB`!%^#+8EmSq2_Nt70!E+KkZ)jig$n>k
z4EH0kXS3YDXS1x<4+DgHs+-}Rbb;h=x<D#vo-dWRT<CIEPm~17B__^<X6d<h)l?pU
zAS!fKC6v*?M2Sx+?qJT4siI&Mh2x%7zem4&$Qh?{WH?A&!EQBKl`0BIRat~<W+~0l
z_F1Es8h&g4QN7F^9$&C_>GhR0ORrl<I9R0X=;_eb*N*hO`)Ye=_r@+RCyJSD=M031
zl!`8|;3yGO@xBOWa-qeUuY4?vWGuK=@vCAMQ!%k5D_pa6k&j2K@?sUkSa>w!!_M`v
zd*dv~k2_fFn{f4~?r6OFQ}=qR8t3OalKDMyiX{Awop1`>NV0Oo(-RN_MbrGUmEq&v
zj{(++qgDYlBiIN?azuNMvS`oIWbc-jv{Mc!m0a*NP7&)GZ*LLc$zZ!`Dh_Z0WS%+9
zWVfpdNqsgkqmER?qZn|S!pUWUD3K|nBdl6yno?AFh2{<#fq-Td7nCqzMro-X5@<>g
z;DG3>n>?xXV=a@KZ~D6{Q_<L9@4GLzpWXWEf$ptqk0c{~GA!gSN&%1PENw`|`a05b
zG^wkzoIHdG)K|UWI$zaAcY6GdOQ|5$aB#}ga`!;@)}Qwteg5A#OPK|&P5H=EW>#nR
zTaRz-(~MprOTuct*_ex?0?WoSE4di)t?Kk`t;)>m^6_8n4aMqO*%@a($l;q%kyg%K
zKD*({Pkf<n*^Qr|qNIjmGG0)AATs=py>JPqkYp8zr5nMx6KU=O<4)8sp0{e}(+6`D
zmfgD{Gx=`T)~YOr21~{<eC(i1YTdITWCL%9p8nCxcqP$R+IWG>J9(DJ-#E?VZJyzE
zdi*W}-Rz_xs`5~*Bbw+9PgJOBm_!zR-Y}q`Xh5>=rlPhqI*cQoNO`E!k>pfWmYP+k
z2I>J|VB7x1Bkd<<I?DZ_ij}Re3r=T3>sQx}qJTWEvijv8TU>YP$1a&IC*x;#Z#vku
z{+Zp~TV7~OMZ(DpPt+k+x7_qkf!c-NCWLzAWVF3w=g%%l#Y3S&*T7pbduesc4L_G$
z!MXZ!W&6NU6Rcl)ze6gk?R@XyFORxPqh-qg!0D-J4Ad{Zmr}tMI{C&=Q?XE|MLPxn
zlDEDgP<7F#-2O?+C3i5G80qOA>2H6o|MbQ`vUDO2^F>CDbS!@B%Z!#)zPe)OZN7D3
zhlZJDW0!w3Fq2iW<I89L6&h#WHqKy;xADrmZku@Zr@!E-o!H93RUM^^w`7b8ZG8ez
z?FO%S5FX(eQY?s=JP{08Ma9(5s+kK{68ac811l86vVvkw+`Qm)S2a*ds<hu6z;Mr@
zy@{izqJ4WdMgfEY0HR1e<@MA%ahj*JX`0tJb)MHh;R3Ixp~WjoE{W&_!@)89-jPf7
zG~Kn8M~LJ|5@@+sx_FdoopIILN+(jT(|>&N>xu4Aljti6S6;RB32)1UgL-$6fY9Ni
zCoc%SzU2l0h@CvsOejUwRhO&<K(pE^W7ScTvHk$!aC)j1tXf#TVAaJ;{z<gw-8c7i
zu6t}-@7C9j)la?iS0%v<KC6)sCC}7A?IoW+d;Gb7H<7pcNodW~oBt_LyW~FYT*Q3f
zt(^W3p1|Y>qXS3V3SA$Mf6~kev+sS23Q`aNT;8Uc$9MebYUH{8RB%ewEo;8(uW9}7
zgwV_lMwCiXQr2=^pk~2mPVD*R^>Sh$Y|@?G8(>bKMd1G}gB_RG3a41vngOE@NvvLU
z&7ujbKk=EW1*>i$4k`Cw0HV8D>x?Ussps$r$5A4-LuS5=MaAG!Eh{HDByg_e7^GaY
z8yjc3r=HjwYty@g#l{Ql#0t!4jq;0K-n!Xb@2N3)AQ|iF7}ZXe5$!o4M|)00dbhnY
ztd&!z8=jgb$v0)TH_$ZG=bbp!=X5tL9XWhriGE+zH}`_qN4tXt?XQ*(?mD<E(H&|6
z068)e?D^}PpDOw4UEhN!uq+x!^vJ24&4O4*SCd+$1?6+Yikz#~88Yr808oeItyz5K
zvf9O0F6(|_{q&)|N0w%LQO7{?i<nS{SU>Zghf0H!Kd&!mj19zwPOKNG)8q2iUZKSh
z2nbxI6P88?j<zGub<t>4PP*}aO<4he<O%4<oO9QfJXKW<Gd}YdXG!&ve7s7YswK74
zKKbCOJwLzGq))R22a`Ihg_(D*S<uS|cH8CSf2=gj@QQJj^SPb*=ogfgzhzEC<LW!_
zYFK&u-Ht%n)ZCjr$@$cFr!w<jH6mQJ3tq7ejJps|H)IqPgA<HP;1HqAP8kA?f+B$w
zE5oGLs+A}9o@mo2j+!xPHt>7`H}iw7Vg;GD&XW2Z*Cmx0Y~$&q{y9CX_y|}c#)eNE
zOb(wo81BNKLz26)aneO!`xX&hR8t9ZI=Vk8^gSt$4EjWm-=onW0L{3AI;|Ny-Zf2g
z5di|8W+DebwR64Hy7WlQlTCCZNXHW{uDejsxvbhQqiUUj15^u}X^Lxb&!K6WveNIP
zB;(<2eWy14+C&xr2<oPN>VeW=^XK)nBB8y%=xP7U_vGYY1OS>Be(MdXq-F)Qycgn>
zOyp^}j)b~>wM(+;CLF0)_}FM36lK*o=Sy!moWAM0<UidgvgWC`tm!s~tMaR<_}P#N
zDYH3b6^kh*ewDA>Zd@$iJhw~B4sZGD3(+u(t69mYAbnRwt+(N_+i$F2dCT4Y$#X6R
z;Tf+icTY+=bwwnD0O63iKd0V7`cUe44*)@e)u<Mg6O22+xdU8H38hGYlBD_<hgWPv
zxwH{w%Y@bIe}i8dT|&LmvKow?Af1`AGNs}2HOx_ltPCzb)V1G&wk02)z~q^A7k>6R
zBDx#3GS1V{)BAq^$-^7}$6g``aF*4GrA^a(fhltWr4y$IODE3?l-4x|iNod5g8TB&
zh)=I}oRz^&A_~fw6kC@997Le%WK}O4<1{yTm30SmHVCu<b5Ko*C3^aTXJ6TzQ4SjT
zX0{wFy{KtDo*$ff;^p6Nmt(^@%Dl4W`hO^`n*JqikCSsQ_a1xYbKz63{!vdyP7X(;
zlC0X06CtDG86|Vk8SsJ#8S9Dzh(<a#8}S8)*Vj1vo)@#qN*O4V<DK#0)7xDowetms
zr!jK_0I1VbS!YmKV_DSsV7!z@F@23kpXWkjTx8|&mPs{Bu31^X;+8ur=dZYdP|*tj
zTJSdeUHwW@2spN()NueJ83KU}nU|tBaW#^x96oVBC`ll}D#28Dk7bk;1tDorC`yVT
z1-H<NptK2P(q=em4+wz3bYX?$CStzR8pbOIV9VTgda7pX3lk$}-z$~}LPW8=@ydHD
zCa(Aqp@LVp=;fYc&)*pxXx|M0Je@{7bUGOioerJd{zhi8P=`d_4U=7ElV%6KO&11*
z;YxMOQn5zdlj_?6=oFE%GbsAJ5$J(45t$v#oC@`UYqgx~-Fr@%EQ>wQtzXIHw5ar|
zKydj*yUQ<`cYqVpFyo8=`sJyg`cC-73%_~g=<~mRJ<-z{^#*4yDz9JuV~tO6py%k?
z&xJc*`@Oz*!Qu6}{gW=u-VYHU=|8d=1>`JBff}gKd}_*OWZ=jf`gVjm#D-a){e#05
zoUffwMmU%IIyZke)bZlaSUR2*M31Lo=4T#u2PWSE08EZ`MkB}DF@AIHBRB^ToNlpd
z;p#<o%WwX8-Qw$RAx=kCRx9Z&WujYI1n`M_5s<ba&D}_`G9-8n(r|)tC(5M_h@~5l
zVAbGE0)qpbi>jgm2vVRV4T2OLWB_H-76hG}P$C?LcCH?v_&K731X@~4=ATQ@-3qMy
z^BfQyUYFqTHfz5X_opjgAlNj9;VqxBsA}>J4@jQM)*Nh}j`w!F{K@`P8~$2|N0v&m
zk>dxWBgYR$MW=6I%Hr<_GmD!8+?9G00ONqDCRTueLn`;@xHMc&i(rg`QYgWFEsjM%
z)GSmjLtpO>_Px2iH5uv;>S>iNp0huA$-Mna-kGB4#FEmAmfOGn$>y8>{^k=eKK5pO
zSNJ<1MABpz>Dm6T;m+4`EGq!Cy5;8Y6DkI@9*0BwA5&dLt2hpIIK2%TZDoKgIudT%
ztjDREe9J$%eN8uHj#Fgm=;^j6*F<`^y{_?{mZQ-Vdmj3vzozw14ricwxNrYonH-B2
zx-J%F#nz1{jq%`dEM;b47(1~v)9*wOX~mpn3npHE*R54cuD(qy@iyk9AQ+?O$o_WF
zFe;quKuHWq7F2ijvau)z34^KmV30CON(s3zP{<&VK}iY}2~@gXL#^u>P?F5;C$pQV
z^f_gb>+(X0qhk?>5v=Oq^i;JF5J_K_9O-E{p>L!Kx4&g}Wz!Yk^8_Z}q&`NI0WK%H
zy4oJQbttrNGqNtOtzf6qT{BJ1*ivY5IkffvyZ&cVAV{m1-`H4t(dwz?b1!WcB*`Py
zRCMVtDVNh?IvV!~UXQXEP29n3Cadx|Q0!!P&A|5eW@pg>?}d{($}d~EI~%N5g81rJ
zP=~`?>YM%@S=uu-Be&SuZD$TY^?k#bP&Q%3ExxMRU(>?voTVdYkH36h9vS4w*x{;Z
z(vL3@3+-icER&K@TDf3pS>1x~={8T3rw{(&`k}LX*N>vlnLK!A%U?12T4>kKjzzAA
zLP2-4Hu}Cy$6TN;AFX2eD0ZBBTKW34MVAO7%I7SbU$^YWTWgoCxlQs1RbxTjW7m?j
zp(Rf10~E?l+9&RY&#@meFF}fxWt9|nstU>h4pCK9RBb7P5(YwK)v`)~A_+p0NTjPl
zk<4T~=s|DLO=&GzZI(D{CxB>HXLUjI;z^$B>3Sv3Ig2ObVKv8x(9+6TD?GkQs{kZY
ziGh<Wod}6iS#xRSoSU5`m6sA?yaNCu14o`X)Asn6Q}J*pPv4e&IeimyT-4~`@l7n9
zkmG%4aN?PV+D|<5&=IL5K+7*$(NMi~%`{N{Suo<&@Dsh^Dv#IGp${^XOmeCc2GA}9
zOQpr07dNiZCx%ItWdqgME#FMk3922oqsF}`2&bw3A@9Jp{VkbB1gO4##qOx{!1V4-
zFYM<m4FEJyx9rC1=Ij1I)Qtsjg5Kk={#|0^OlJXkD7?7KCh32tVxc1%o+y?2YNoFF
zEg?kInCLzB>gROI%1#W^48|Jwu~Jm|`Y$*~3$!al%M6N*dD-Q|w2n$HRLx)2TEBG7
ztrd%|xJmMtH|uViIq6Z^IjhC0NJfhYB#H{>dI%(nBrDS?D9zn-fI(GKT)7m4q(Pwk
zQIb-XRWcK^q9g&IV|O-h3z|Qozpn!<!Me_Nq;}>@95rsEnt`3zL&5l%<gRVeYt?jW
zq(gb%AE6C1@BXp3eAYMg4@Bw*V$}a~VsQ7_V=sSuu;<;^0Y2u~h|5zwPfs^Ga5N`o
z1Arw*2H2Sm&vu;I@N7rZ{I9Hc`I@fN_=%nBZYXJPIGMdysYlmvP-LEYRB*#@@0y<s
z4+gaH5Xm9e+;sUm>JViP(42fKUFt{po;HTA001BWNkl<Z?cGyZI-Q9v`KC|qDsNrf
zSaI><ACGi(96A2{Z=N3BduDd9cF}*RS^MA|7&x=}d*M^BJq~-<52EC6(90q|+_g__
zORFZY`GMdlY1YO$*t_c|;gf40%R}4lTq^duozEETc+q-4X)pi~++MM!^{S=Si?6!5
zX7M#Qh;DCVb{%nb{^=fV%j8a}F-T-{6hV}9gn+aKj60EHK3(A4p(-mSfDQlznkAK1
zKjj>YN>NzKZlFgvfuOWm$4Pd7IWf#S_P;s&)Sg#|pKjkWvMrrDx5UwL0m)M_1;{SM
zWbEt_rMxm&S~2TunWy`Z9Zrs-;v9)+_qy=uO%Fu6-+iILb8<id7Zm`U-rCvPcLI*+
z;IZ{q_#@%Nuep3p*J;1Q+qS#<y5D-fX3@3N{S&86hED0Iyi;({<k@hr|DC<__2a3!
za>-_?+#i8@I)%owK8P<5$6Q1Ek2LCO1{TlB?D)CM8>Us%T>hvtbfg9<ZADpa`A&EH
zQ~y?I{CW_bzAD``M=IWb1OVLr=IQ?G`I!gHlhL!AyAM72onmO8M<{rW-)H>y1E}N+
zx@wo*czIRp>NQmtU4DZgIV*B7bXL5wj&g0P?DyRAQgI(j#G^=aubM060OO+K_JIOi
zdAB>jKnVkoR^n6{_fKz8Day(zoPp1=2PMK0=*^MXaJu8b`jMyhyb}5Ip)IkU=~S-a
zF&2eoC;nhN9_DcSr)nZ108;V(4gg^3c${-K45EL%mIC_ky~kd^IehBnXA1CYcPt=8
zpiWQ2Y^@i@(&1R-gmDufr`>S);H%|LtF!lpB%OWq4?o*~=;8Y|yXz-;>K0u)t!l|N
zGs|Z#xe!$FfGf#%y=&jTlrxr5MBWRVkCo1va*Pm?dF+R0av%UG$2wzZ-{D5}{g2=P
zTy>QL&Z^)r0K__b13k~LpP38~dbGpPs3<W1;u-5B8#ljBPq@Gmaog922vSfl?__MS
z8z8j0<;MHDHh*|J(s|(bpJeH{*%|j^ohOB2q*i>JffbGS6W?|$RRxQ{IicQ$ma6I{
z*IrYz<eD|*GZtSC=pM*5f-V(K9~&h^hTpLr9-#va5<-bpN*)zbD3i88BtwvyPj&Z1
z)tb_F`WQgcidB`@qDp}x2A6OK9^p7V;&C`ge};$HNV@CbhLI<BuO0ex`<9Vyax%YL
zZ;WAS0y6W9&C2cmHuJq107$NiCM^jQAV|ggj{|_5h(u5Ad-zI!&BD8#p6X`FUC~Me
zhx$NecEht`!jd13^zYl981C!<@($E0P?_^v@>JCj%7U5~oftm7O?}yfkw&I{EOMef
zolLZgl5?sOxFoKUvX-TTJv-LMP9KjRefk%>k3Rj2oi2Z+RI%{#mikN9%ob_wov~AA
z>NJ;8^m?LIS6#A2vDKAqc%sXO*K%4p2OT<atU<4~OQ$z?^HiGlZQL<+VC%jn_2?jQ
za7bnTc+JOFwz+C6q{?Nj52T`l-JP#L@#2Y>f44SrbZ<9CLylZTM_C}#7boC69`cr7
zINw#;aD!Ifck+#ICx%ZSQ`_1J0NYVU`Py00Gtw%Swp|)}I>vQTNHOQ5kq>fYMMQ~K
z%vn0Ks`ZNNsux{zt+#GcYbLU-e?T?^hNRt`hiEwh(z_^=wt{g9Y3>3=3QZ*sp=0Dr
zD3i8;gCNb_YAS-D#-=z3lvn%dV^oBsK#>9=DTrhkE};u9dKxa_G@Qa22*~aNrjjh&
z{!a9n{jWv-wClBz4RVqj4*@XB2!NuntQL2n;Gq>xK1(dyxm4;RRIJJ*JOW51`ZK}c
zk#O6#k#O5K0Fc}j6}8juc+l-@z9qZkNkFBNsZI0#{++IaPu@Hf+PTSMJo@i>1FX)H
z>ghbA`w8Mhoja}YmERo0eS7}uuWkKrTDy|qh1U-D>{zSsGd_4$?tJ}E2f8=D(mi?M
zcOD=j&BPI^uD)cG;C96o*N=c?0tmVNrAK0}L{DEpt5kEZ*opsqYH4a<C?|KUbk>ya
z$}1Kh6I@b8{*DrVUDFNs+}m`+J@-aVwC(PE^$#z1ZFqKFtmovg$=E<e!K3d>j`t5#
zUU>HpwJVT{g|>%Iyzv`d6Rod8O2=%TS(RB$W~-ZNp*d`ah8aDxaa!?cWdvCA=&Gm-
zRJC5QqI%)#t1ITMxXMvds)Pfy?BkqmYUu88`Wz~rqqm&22bIoOAdnbjRtg3w<L<@M
zjR;C_XJS)aH)JKrlj**v;H1593f*wh9!RtYPN5eLGN3+6mSv7H9zVG!_QLiThaTPk
z`q0|p0jAGm$fxv2DXd}w>xBZGR`sI-`GPB0Lx^VODbkb^gI#8HlCe<liCqugUe$cf
z7lRWn`zawr(zaQNAXU}RxbuxrN7a`@CtmvvkREe<!QrWymQ|kwiD=KkJmboNq0ru^
z0~v({c!Sfg0TI6nE*sq>S~F$M{Zyn?+PFvhk3P2R!9Rbq_L3XtRxesTzjVUXDS)y&
zs7q&{oO8ra_Xf3Rv@{+=Z)}|oXfX)_v9u&vdDW8klBrE0!Z}rAW&o4}2La_}ApWLl
z3;g%o-#YyZ|MH!|L)*8U+W73tUF)9Qln9*}*757f#IOiwZvUj3690r7HQsxVz5FfR
z>&~n;Yl_{#v9s}$kH%Oxi>zpjCAe>=uTeNelxW4wCDSVwTy{m(!Yi)!H_u$c0ateW
zMnlwZKj{<ExuH(Iy{mNr#}@b<yTG^$GWV*xds<Sbh%|SBb1}1hs8~>3P3BZxKQ%^0
zk%C{^jxy;T-3XN3Xl4F#)_Xj;dFP8mf7rEl=&A7Ol-UFC8kkw4wqjUz;sfU#baXfZ
z4LRGW9FS8ZW^RfK9KFY0{6Epble_Dt-}$5<NOhTIN+4BEy5d(Zf8)Zg_kRCXmX4bx
zB?1Lv4NiB(g-TB(C#HtcT0ciVBjNV#=~V2b;7}e35*)53PhisQX#e4zdOUCW^ab9E
zS@&oiGbV@6v_J9nR4mlne_-p{1ONG*wcbe=25K+9W_H!m>lOrC=FWj2x|H1-&}45|
z_jVvdN(U7XSTOx$aM?v2f=goDaCge4)nw2AQeAOZVA{f!feRL1KJ#-whz}gvzNKr!
zv#)e*d~O3kvd8&w&ivI2?$vf3V?&+mhR*KZU{|&#P%OS(8pXo-;=@k73IL(r2~(>o
z=dV~%dC|%%E9PE$x!^8o0HEHm)T_jy95Tt3!zMN3N=pgIJdCVMqf*a~11B5;iK5cE
z7831O0_Zv=l}YYY_NqZhTIrMUOh8?6|76we(>{}MkbW5RwMP2oBYWQ%dThsEhyHM4
zU;Kzo*%p*{u|apU*h3+oJ)djHM9HP@Vrda9!qSOI$btp{V7PDJ<`X-Ac5(fTPd_br
zs#^7n&l{Zf`AG}DG57R=KYTnsbm~|E9<{PeKa#tmC6lqufwUa!HfcKwIG5$2zWq=6
zYZiP%bIE*_b8lA_mNGsfh}DzV{9LngI0!-~Ui)?`7V6cHbNKkd$l>D$HynQaKQ_6_
zYo*G?SI(|mblrl=xyvs~4Gwt~ndPc0Ps@Z*<;siOrHZmBpzbOvGnhiLtdMQT0Zu3g
zs5~$vrNV<QcXLCO001SPvS|x1FS~Hz<<r0LFYM^Q{npFUOuL7RCBdnm)#!vzZ~U>E
zK4NEa+lgBhQfzjWh#9_BnO(k%;Z+Z#)`l}!<Efapd`ac}%T|}qx@4uNcH(Tpb?Z^L
z{*^P>bV^HALK^75=ls@ri!OQwmCn}ya3v;{QBb1tngz9i(vNCUL6=9R1=As`u_`5)
z?h;PHD;@#?L0aaKwzo%~+5UXww+G%D-keS$UtB7mtO{NaW6<4B>>!`dUUck8bXHdB
zlf*cfoR&u-ChbOjPmFYTb?o}ZWew9m^PirwrcdbUNbd3l6X*W@yS>L>{9J$M#%C>f
z991s4E1CgiQF9QMiuDZ`+T{)GM|yTY>aSk#4K1)#T6xiJJxBiXT{YE$1{*K?wB)I1
z)f99pdUjj*)SHi3j1%#`Gs#mgJhJW73y*9UTqShU!mqvP5Q2?bJrM*}^RZRCOQuc?
z5fG}pEJLA@v0YWSGNa(se4O~1kmvNDUTOj7X#U2h4j3#p%F|5D#%ME1IW7Q5r-s{y
zdUj<Vy|D@T7QY=lD;%phRK7l}=vtMVDZ7GkGG|$hD>!TMf{NKoS5?egzQWtk(n<(*
zWpbl5L2JjfsNbQS)0Sg4>66j5<G@uSaFBj5IFM#)9y0;F;sGUquDX8Uf~u@kw$)>c
zC}b$>NZavKT|Z4p5g9~PR3aHdiFgDh!V%VYBEI>ZzeFD1^-|=S$l0{^xR+6O#VB|)
z`7&U1(A~H&i@DH61ED+!XsQMPScIjMMm~&?sbi_(_{qHwezLmdwu8a?h4*pYnaD(t
z0@agme7Yns<(FM;kAIWN(YP56{dYoLl!~qfotw!3=-Zj`miax>e`t3)Idnj9`lfRb
z2o9;qTRvmy(Ahm39ImoJMdRi7XU57o>pAk`mo4(fM)8=AkFeBmgo*z0Oa&<wc9K%I
znSe~qZKK>awYjajgH&?|<6R-o>BnDgNyie@QCcErGV%4M8)H<v)pMOP;{YmGTvAd0
ziS>{6?tb&F(2h4Zh4ybgz>;x03d1T0ZRZAfPB+Oh@>A?hnmWs>Ji(cZ7nILgc4@`T
zOO}^5UD!$l>cuF~6jk;&(S6Uk>x?SP=1ut>I}wyNz)5>Sh>WN_87HFmASk_!67jH_
zjjrtSX}5M|dMnmcHb#}TsFY{^lwCi8#30c=CBRO5z~g;g`(7FR{nlp(e|LOWyxoR;
z#$x!4`d)0%eOy6umzOEuv~6=}Z&U{Cn&O<H=kVkInv9-qtDgL^-+}UM9tr`x6*Ior
z-1^^_o;mo~-6Q?&J7EE$R8m1eTs*@MVF0xA=WPH(<m~=Gmo+TDPqX&?HLZ6Ko!zs(
zYVr*~Ac9n-rErY&xBY%Nymy;Dx;YTf246XbJK8$m`1Du5?wdNNqGrJrtu>e4xXj;l
z;apI`1@%>Cxy?C7j&=sRpLwG>olH^!pmb)-fHGWU&#PB+#k8HM+$RhOd^4xOQC_yP
zbjs|@C*Sr}utYrEe{kF8(4I{j`}S_!)Zez_2uqsgWsNu3bra7gUFvO^5)520zqMla
zvSq=Ui<f%po99z1dbC^=EyR!oqf>7LW4$hcN=L^joI#E2IY_h*Y3@XV)qrym4%&|z
z*Rybt!JKFMK$IYQ*8S6h>P%HkBXE#GIOrfmIsgY5fP)S|B*OsG^2vRPwOgMV_|Ny&
z4XquCaI1F=oEI4HBa*Fffl<ncr~zct3s+1~j`g43_*61B&{2Qk$Nxedt_FRjDEVei
zn0?PX1826~*K_3gf9EWgG$SIpgH?J<LcOb5jd7IOI@q)8iL!<z_i1y=TQ>D3f6ap5
zmR8KZ2T+$jOAq%R`RjKJ&@%-&KF|e!Hb>d%tzSThNF#@K^+pcudZGQ%AHCqNZ17bt
zxn@D_CD$*ln6+dv1V?}X;EdD$clOlvZQN1EnYyFsFO|!d%*~uQL9%@4E(^(7YmPuE
zbCd^U0NOFrRB*Z~D&|~zW5wJ{Z{h%DiFkMTz_u-Y2e!O3xNqyG(1Fbd(y<Za1h*R>
z8jl#39Xwn3qT4I^nrF6@O}}_iaQelI12bEfxcyaAL5%B3RXTc$$*kVA&WNKAS}Em0
zX(NKtCU7{A<{mILsgpxQl2yP#2Q%?0MJZ{(;1qh`726<^C<HR1{>4;_ibJ3HH!{dN
z-d!7cc-ymsk94*rwO#yzZm<E*POPe6e9?GBvayrw2<=TWJ1(T&%yt1;vz9Aax@P_4
z<1gp?NO<4Qj@@T3ZkX|zr=6aPMLE3^DwWkPy1%4s>c`F;`tui}1BdtOXaE4^Kv4fI
zwfZh-5z6}(&G;Av@u6ewsd(Q`$rYRr5P(u&?FDx{r%&GqpV{`~M6{>dK+{Y{qvReN
z?%Ct3&Q4-MbTyPWUH<vdv6p_SwT+$ajC4Hr>-8Pa{d%3l8<46NUOBhvvd@1xdZ_2d
z_~~A+W}#7+#OiKc-61$7rm~jJF9awdR9SC4x6(baE~&*=bjwM3F)g5&YEE}u#k}RW
zRLos|8zBHoB?ktN?b{x1+x|}f{>_`i?`_)_KijEKpU5{^tz0#`!E-ZtTH$8uiQu5#
z2`vr58B6B-r_5d$m@==`H)+OvB07Tl8*N5JM#$zGz}lk9S7&HT0Fex%*7Y=8LYI0V
zo~EdjKQ#ydC1{>?B{REyVDJiu;dAWOo6VVlC`TbdKE5mV!saIjezkwy@aw5K*EXjp
za@VlgMwVSLQ)WiGIrHCmyo?oLGlgX3qZSHCG5}JpLr#OD<a5c%h*`YJRy-j&(%sdu
z<ENL^O~32srRCFe&Nl}EBzJH@<D7f94s`GQUp<GP`~hdFOtsThVSKDXBGeNE2KA{H
z1^D3@>fQ5ndE?6YTBn4N%-g3~I@J~Gc=;#Aj7k4F(tltr=U2&!0#syIF=5pM6oR+!
z)cRkhQ$tY=Uv&BdCBEsGJBB8FuJ4U~S7aZgCZH}UT7SpYT~c*<9Lgg<G!w$o!Xyp>
zgi<IcKV%n_tG-fJ<6+QZD!S#C<v$y4p;VMA$}YI*s=x&oT}9U13(k2mcDD0C|KVNR
z2KH}#r~kdJTLzEsJCcq^^KNS7DL2*|+uM$ni6wsOZD?usPo6b9Fm>KM-{d)S{gY<Q
zCr(#Q)(uw&W(fu@kYiyPEh@9DPviG&y+=5STGulmB&8;L3c5#Sv_JvNs4Qr^ePAGJ
zjLIpTL8)Uea^hhsq@wKP&KDyOZ~XJ%fAt(qb{QBjGZYHx4YTid@J!3BGTq18xfPC)
z2Gh3pm0%;G4tGVfoQxbOqMuQHuyj1xx$oh7D<)pEwX$jD&p9Ek>@?sYgi2+#3;w5^
z2%iphtj%O;>)tMr;mYX=Hl<=`EONs}!*KZEU&|+~ykC8<qDoJhPN9=;-Iq=c=gSc*
z2#Mj&&gkILXG;Q;Z_&9NQhDQLKMqb<{)1F9(#}$`sKe>6prWgZ5URT=sk@VjX#45i
zzgW|C@{!@H#n-N=Uvk5$lEx_u2p~a~Iae(M>XcYoj?wHGIGk1GG5`?5Dd)((L^iuV
zGY1zMy%}9hO!8DV%=J_@%&l8;{XGN(ES(w{?r7T?ZhLoIf7|x0kt2Jy51nZ1Vsa8F
ze8V)B<;530KI)w?rLm;0d0OejY14eoGiQ`eyl|$wdct%{h0%d=uD4QhDsq1jC^=Hl
zD+@&cxn(-YOiW!+UFUNU4T*609otdqd;=UbV^JwLM1b?`37v#!u_=b^L&-_F=oz@h
z<8aX~b=qV&Vx8~BU*Gzd!3TG}6j_^y@_eyJqlKl1v8>giAz#q_d<4<VXhx8^B+94c
zu4sx49@~HJ-Eo9Yy!e|~<jC&&>39B#I=t%HQQ3Hm<SL(~=P4EMQ-aSb9soGKb+d>2
z-qWA3SrB4_9c_#yI*H(H&=ODyfK)tkpucn7BREId_8xuiTNCI0!%8AZL4~$9QK`$}
z49tczV0z!?Ac*#NJkfRV(R<}&-#~2O82S%v|Kp*D|M@XbZBw9b>6%NcF1}(_`OGDk
zLZDs(K=ga%^hhjwz#^e=1bwnbR|RSoYJq+dYsyS>k@TTLwHXy10bk3kmA=WdRyJMt
zS#S=pRJ?oe$ljfiWBa%FAKbQM@aW#%(K8)ga&*Y(rUL*3(MhH9YLBzDyh8K^YD(&w
z8$8vGjjoE?iQf9j&F-qkW@n(XnFxX_=k4D4K#!vzqe-)j-X2Ahn4ueFrMJd72$Cq5
zHmeULJCR}m<=iNU+6J(WKw3Q>hC{QclwG|r9JCJ-JqwBUfg+vL6_;6f=i1>%wmjAU
z(DB^~EoZS16ss?+>Way41CZZwE*Sh84=8V3^~I{@Yah~=oj&mURgvD^>&8GXZ){C)
zc)c}KZ@S-CG3QHMJ8X`#;gkFRb6GTeXt#zZI{m(uMgQ}xcH}Ss40gZwlQV4(e-jpQ
zB}4xd0GlxT@186PPPs*?QYO}!gO9Bq?Ah_U8NS6h%;I;fq-^SvhMAvxjtCCj5hA%R
zh5j)PmW&?hJ^tdi2F`5xtIAKl>q{knxm3OA>LqoHuUnn&b=)z0;6#(QP91?#*7T)2
z!m2x=?Lty$=hZ99h=Qwi+RkHUw@d>w*T||qi^DmKbIwD_{<FiWXha4;-Iet&D!Dua
zBtQfz>9)m2$t4%`^@Zx}^Jx9sIPUCkLeeOg)}!3{78DhvyiJC2#rV~ZbJ0McBM`}u
z@<)dtsyloX@w|(>zdN;a+tULNzVl4v@!@bfj{I{Oy5F$C%lB!9W29fq{LhTZ%8a%O
zc3TD7&0-Nb_@d<ZO<MTh_J|HoBLKuAC!gxr_4C`oSs^|~4aB0)47j|LTgn<1enAl3
zHQ~-J{}CNHxYszA3A69{l{a|7=K(-Y#X3*z{mrWQP)ECtuB{7GIqB-JR7_m`fHo0_
z`VRfNbKkH3E+2jY`o{PS06=nA)>Tfr{`;ksGd@88uSv)w85=siez5!9-wyV?`;2=0
zOHmsd-trlXCd~Tm+e#5Z`HF?nvL$n)P-9*sd)~a_2695x=Wesg3ZQw{zA<EDzK*Tq
z)dfOBqYR=#d}v@Wtju^cH@3J{Wgb2`O2k8`b^Qeb83EMCWRzXLY_>`64T(dfgQ$?+
zuoREloqTkA^qEb68u<DCb;Fv+P-w2@TZ2|@3(aL?T|U~t=>A73EGsB97&|bEhUBiS
zD6PKe#&jYY9_)GNS<X^c=A)GWwckMDi;#CLRCI}f+Qpxsg2Od%X4?~TVql=?Q34Dg
zv}WoZ-w)I-_{aFr>DN#0{pGD{@~WN9h@x%=f><KC{S)UpT)}22JFU@VEYcAlKE5}d
z9I}d+73zZmKv~@-H%Xql#mQ*bJ2Z&hRg12?s&3huYdy7-77zkSU6^`>MM=i0(krZd
zE7(ed6a!|KO(9L0kC#F`+To>;wo>>M=m=_D&%!6}15;llswgR<T2p%eS#$f87?qRu
zz%T8{+fy>mLc3lX`t`=g`ycFXPj<t;QDO!~83-nHt#pW)QX55UEVJSxC;|kB*Tv*m
zlJl{jAn{>^l7^P5+NEo*s#$#XwPhDBTnSJQv}YIf78cQYgN5{lvCOQU9?vemReb>q
zYZO>nfo7Is9zF=+C>8gk*7X-q5>t`XQw~fTWS;K>0|<je`r&mP1VwyQOmLtlwfF7E
z2Oik^Oyu$CV0z4(Jnu7%OAPCLLcTbT9UiROTG1%BFDv{)zWN72!w$X~oKv6fiUx00
z>*Xu!mfm=MaMqG*1ed!?v#zosm$6z-;|(7?9|97naXo{8v_o<G2y_o2t6L;QQBV{q
zP?CT^;t)s_0vXE0sdAot=7gPTi>+PvyZ)c<dt+ps@pxg3ZJin6e9bFcpmz!L1-c5k
zR#y1=>hw^^FE*nwmOk_O&&Be6zIYrj8Zgw27avBtdGQ5ziB#Qs<&v7k*Ir-Mdc}>7
z(m-?e;a*tAxYY->mG8(}X2i@&GqeTrlxGNXd)82<Ey?T>5;aNI$fIR^J%<khaLy9p
zp7u!l+Z&dy+IeZfwYy0m2}(#D1Zi!4(aa+=gi!(pZXjyxhBL(5HVpr9-6Q=!?bsb}
z!@1uGt>ApkAuC=o<z_*5GlF)MjUBLye=Z8n4!#vnR`m1n3Y+~~L7_h0kGev<+P#To
z%7`G+@>!S6tXXpH4K+)y{g|h!aW05?A7&n3AvmA5QZcmicztrBue+^p-`kt|_HKGB
zw0F}c3>^-C`X{vyH_i3jpq$D;C@1PCpuKoRkq^n9Tb8A%CCUJ)1Pg6@HuB52A0K$I
z_js}w_OA<ys4KRt;GD4N(+Hz*h(%`w8~+W%c#reLCYv!$hB44Bjs_v{O`6eAyX?m6
zs#{lo%-=F+DWQULKwyrwqgXXcxmsaq5f#AKgC1YYu_`8RHfl^+noLfG2aoRC9yz>w
zTX_FF@AS2A-xfW6EUcM^l@lGo&plB0r-~-$A^?<gP6>#XmPXaCX!Zd>_4E-#zp;pX
zY}20yAK3czz<&+&j7xlKJZ`G*3lwq*&A`gk`>?@>g~wt|@ehLU@o*Q40#8j-uxi1o
zD;ieZx+XAv;Z?+;Jfv-ebJ^27AHX@ll8N4-t|R*+Z98`k9^1cT;Lwhpk>l?jOUFm_
zS>hS_O`h*+zVk<QPx>mv7Hwl9V_^XxL{(Us`~^;p3M<l=+Q0sh{vW;b)Zi1TI8Wk(
znOEb{=a~5@bWN=kS+R=CuFqQxKZVNd_EU_XJ>K}^!S}gbmviNDTxd8-%Urb=Uvp{Y
z#jDo@rp#@1*G!y71kr0eO*029<4>^8^Rh*QGdUg&#d=S-51(vnA3A;Xy-54+{X-`X
z92hxsqMIdSrpn1!HhWb`>+Szs`>5oh$~zu2xoaHYio(*|WCBjr=b|zSD|9ls<&B5K
zKiu_F<Rv);TYZie)|l|k@Xlp!7V5JgFIIV2Y|d9fTVlYozXj5%qGLg3b>l??7)=j`
zIy0JfeQ-TcL%H#{9`9UuG^1sQhMh@aXR=xKX?D}Hqa=-Tx80}c@k#zkGnz^or%o@a
zZ=UL{n>^W7QP)&b*IXyKN~);S<%RlU25ZnKT5296VT2>eQi-S>8xF<$dwP=tq3(EJ
zSJ%ktV<+OFGbdx+Cyx!CIogrvJ2Svi$$WFjOr|;GSoU%MHP?N!>Q_`G9;okd*PReb
zjS36M#<2!YB{sbJwPRgE001BWNkl<ZaQ_dtzcBPVOJ@dTwwA2;GLv_qx<WK;joswC
z2F2V|b8w6?tQ@HSH1Ml`1U7a6+x}3A^-qStlQ|Q_O2HHYJ4&n&eLMKYD#l{reABnv
z|NGGZ+(0A0r&V88W#@8TMwJOpH>ktu5?m!NS9!GuO0uj3<=I#<(@wFfWI+AnkO9PF
zq0>>8Oe9$<8BZso<8l2);S&N}_qB@8U;3%C`=Onz!L=PgP)$K8=e4V+WvH_1I+WP-
z>O*}$IPliU2E(fci(L<PaXyGSJSO^<E+JVCyz(p1?K0qGt+e-e0?+^NqwL_iVQ^lQ
zyO9s<nxh}VNANcTqC~{o|GDP-^RD!Mkt@mx0MQ-<R27txwXM7-MA<1E>Pl>W=HJ6V
zc<;^O4db-F{(lG7F|0b^nYTdq%0Q6MrZRIQo*tpYhX(NMuR`qLx;QIBu;=1Gj}`xX
z(fC`14`S@a##F|G{`sC)dGS4d>iP7~>mQgj%YCC75~J!yq+&s-fp%r(amqQ+-zD#U
z{WszJc051$dRjhbS$z;=AFp{;kd9!{kRt|q<yU}E8VII+B*sbro+4!x1T(Ji2y-rz
z1Q4L>unf*@1rv-o`P$Gtb=(BU4A-nq`)<ZZzW!(t_*Q+|#kWJtj5i8^J4+gyYA?9u
zr`1z${uiE3_QZ!y9yGKi7If|MZ-;L^=;dc@YgK0@4?T|Y`e<&372ifV5R)=1K1}5p
ztap^(^Ir|WpD@+A3fV(uNF?MFcfP#PJ=k4FtD1V!gn)p64)>?qUw$C;wa35T{hiMD
z5{Ef6m4_WUn#sfN92yT<S*;N}bI6RgDIGz_l%5G?;0##uIUok0oR^T1v>y(VB7~$N
zgOOl4p%*L*3UjZn5}j^FdXB_-DmjXl{=q0>@|T0>EuX%y_QJa!bh;~=qJyWlfy+D(
zK1}Fx!*ApFe2XL>Kg^`eIAM)tX8TTN6Wk16qo?OJAB~(oMW^3CX~EZbIK4H?D0NhM
z{F4@kPrdcOk$vLW_?eIIe05gi%qK_vIE~lLh;LSACM%MsOzVTeoJZrnp|MZ1GOKH*
z$Hj!1u1R0~^@JzNYaBBHRV4w44weYd|LkM_Ge_!$(}x<wV0|C=_`}_AJsST0@4tEG
z?~m__AK*+osA{yVoFz5&<xQ*qAy9kq?Skl%5+mL1YL}*b*p!v_cP_Frn+vvNWl?9u
z8@0}bJd9<a^Burl1JpN2WQ143#gl{~jWp6k0_SN$h{x}y(=PT1t#|kwfjWUiLaFr7
zS*90=6=eFCJk>Q5=YDCU!&NrV?VohHtE6dSr1#zD4ER>`NP&8@MPkG!Cg1IrS<yFB
zpk`%u_!vba*s%QWlHjzDYgLqrrQxo(f6mj%L=j^tcI<`Zn0H>;EGvdaG4j^WOa1(}
zqLp`?Ggg#b^qB|iANQ09_3E>InYRaSdSbb^_e71Lk?8O0e(BjCZoPW{8zY<5o%g)-
z{k4m(m@xCRZ@T@Hu5p%BFZ5Q-yu)4EP#@{t`GUz<&PCo<^Ol*E8D(Sq9Lt<A(l%Yk
z*&UTU(6$F?yBBzE@&HzRs+%slssvmjl!Aa$P>wVN0>(L^l1HG+Zt_cuZz^@2J(7~Q
zy*MK8dt*2mK9%>#7)^sR00>UF?8}6T6`K6K<;{0V?z-<JV_n9xrOyS<cMRtPiH~^#
z&C7}IX2&^U;8Z*R>LVBpEYJ6%;F3=Uu37W-$_EG`9u8z)BToRthTZhU-boVC85W1P
z48JzmD;GSnNb*$G)K0nSNs@D9Gl$FDu*8Jl@wmoTG(I$Q$o6Z#LPurx)c23DwZEWr
z+3i8P@a7WgC?k}SG#rc|O#uBtu+=T1bp2QBrE9*D_6(eivBTR(<P&>ha;P&UM?#E+
zdsE<voGz%hY|b^xlG9#fO6dIS15>Lf%5iTQ6<wuN^j8U@=p>@cMMZC=lM)J~lQP0*
zWW*zBx%Xr$esWJDdhB3qxcj|?j1TW_%XkJmsk5Z6Re$qJCBnPYslf>B!{5SYgr3LD
z*kLaSY=v*P&rBH=fa|_p`T0w4EBh`77e}9_%4z4p2@*@^hKUo=o;Evux=N?aCsfoa
zE9Kh8hPo`@t(lKslQOGz<00GgGM|jEs)wQDQJ=$S8D9QHNPgv)Av*6WH=B36N1QQ>
zQ_i(iU7~K)a>msil8Pot3^s}4qFa3woKXfh1kS*S@@8Sm8I47qu1CKs%>)4L0Z$HK
z`CWc*Wh1L#;FNL>fK%l~5}+J}63!ty1ynXsO2IK<w##?XwE;>9$8di-d2qvUWY25E
z;lo>_!|HJx`Z47jFD%N;<Ya|kXpvaq=UAX7H~;{rr@BIPc$+oZ0l;wRy_XC;7aFG-
zPj<#+M&F87F=a*?RxnB~dCCg$X4NMJz+5Gi-toU`?whf+<gN_uYy?QlwPL5+CaBGn
z+c4)qV)*RtLi7P36+hFd5BX>>q!<}E_;LZh3-S-^>t9G#`Do{ZVs0M!`pA4YT3Gsv
zYy8Yblz|;D#Mq7(V#%7xLs)oYnRwB4Ua2%dC<tMMfil8C)R)_F0F-N&fCB*K9H2@u
z2G9DN6ci1EgK)s%Ob)08i~uy_P%B!IA$vq`hF5KSrld@8EnMUCELc-o6X}=Z+a8Z}
zZ+xo1H`<r8p<y;Yv#}c&rj>lm+8LEyzB)6o#B+M<7HH=pDY79L>O1({7<jWQi$c6w
zO=csVLOd2jBcIYTYj3uQU{an#!(StMKlS6<pHH0WUYR}ig)pMdV*o6j=J7Wk8Teku
z?uH)-0=$}|o|Z@2ld-OF9zJsTj1P70XX#`Y5u`dTpu<^uV5oQBOUQ*n%Bzs93V|I3
zRtVp0?i=gO<S^=Hs4rlK@5VnPUgmfA(Ik8RKYEh)U4AtBt1os&-}>!fGITn{I2hAz
zJe(7n-5THkAq>bkF?3|Wr@mn(>(&s;lOA6*l6?`FZeV2e)&|${se2(40|0+Obgllo
z%I0tVrFs5kcL!@6?ond}^2=Z>GP3%!L&I)A@c1WRtesNHL6DZC9kGEUy9@MLh*wzP
znDJ=*4imh5_~X&%Sg)fI&j^{ix(l3jU;5pIKTn+HUSUL1l^07y(_R1d<*qevJuIvf
zsJju!I_j~3W1I5uF^VtFk}T4@`;VEZI0yPpz4>i9IWS;jEM{Y~l1H)l1!Yx$h8cc7
z8ae!(%d6@&LK#iV(_rme<E(vaTz=^R#C_#Gv|)xvteNVd)sr1!b&DtlY6Q{cW+D{@
z=-wX8M*6*V%Ei%C4TrNN9&);pQN{%dC=Y^ifGQmlMzr@G@ljg}6hyN&kW=X`6{Tyx
zR?%|tExx)J|IgWD`__&`-iJ6>F(!1;;PTeBYBB=|hWida%ej2M$21;rzT`3<baUEI
zyUa89llRv@BzZ`cd4B}a0lD*`&z-up`&jCvzh?RkAnH+~0054W!J}^$!@ywg&PV+<
ztzSvS&h8AIeDnUn?yYM__d9Bw=XI{-p+8>z6{M3-VcGF9%{s}ckMyP4fel0Qfeksd
zsOSPpd?Gw$lzMyur2?nk^44;lQ=<@O{cRf`?;r42Iw?SDX(bgMZX#CIi=yBnA`v)M
zUqH;jIn6qHoPiUnxQyB%Xiz^D#aG@SdGG#V-RzTh#KM31kF&>4?M+01Q6{>X4D!_#
z8&?=p{KQyBr~|Ijh6Q@r4fVA>KL)yXV-(}Uw*`HxKJD@`9t$W#f7zXZtFHe><&P+Z
z2icev`@ikId7K-?l{o&Yy47mk8cCzkXvTASJRT3mHuyFMjBy<B5)K0nW&?yIkN_c&
zCC3uJEXyxT*n~~kkN_bG;RyE?0w&yG8!*QB!VH5wW6ynPW;BvUXG>~z{r-@;)#~Zi
zVVmrCzn{F%$DUU8tM^`2SG{`m>Qz<#C>Q{eA>0!`8N1Tgn;r%LV9m1@6Zvcb0OG;!
zcgidi006{;JqLO|{P(I%D#Ahe-=}C<D$J(_YWXW|6IxJgnpt3BmD|bGgex`&RRx{{
znC5t4dLsK10Pw66&0ez;K<;Q9KRmSilfMPTIe!69g9U-zP1BB93{&0Au#F4#Y<(MR
zwtFZRka960>j5CyyYdR?G%R2p*FV(Y_;hQ`x8;`;{lQT_1?pue=Ht+UW9^t~JPXqF
zCQl0>+9g_8L=eKUK-c?a&^VsuD2LwhpiwEW89tB_?+WNs2B6RXSNC^ToNK!ta#j?9
ztS>c-ns+;Fe<F0}p$`*XB3;(vT_g`P;Zu>$WX$KQP=3gyBB>I%1^8vAtKl3|T^%J<
ztVrco)fZDVT8_I?Y07tM4mAt_pffm|<RJ|J0Lj?M9xePtgg_#aPK_N&^RP80ox13p
zMdS8UOxF2lS{-v1vsS<;Z$%;k(s3R+$k|+Y;hC2Dj?+w@y)Om_xBMnBoCp`(ji@O%
zl-Ci<sRO0LFUC`n&1h?0Ci?RL5F{c)?+BR$Uj~gzWK+rrDtOA@<=|FIqgY!#*7jSF
z?rvfnm;AzW$E-GX4M6q|MgYi0A4(OTjdu(A(g$C^*Z;7L4AvXHi?SHmT+yi`Z^2BM
z@jc5dj~brVU{}fDTdo|XWYaQY%Av1Rk_C9hd|2gFSh<y25*XIml%EV{jp_Jw->ype
zPYv<H2Tx6hK6q+6<ZPtzs*QHnlJl${lO3~JUq1+h6y_5h_p}bv%P)4cE;!rX@Xmvi
z-P<0Wo{*hGRE`|wD1U&;8>kXrde)okmy5nD1OTx>_nV+TI;zQB?7dbVwZF>eQtv9k
z`y$$*+F*nMvJQjOE~`50%inh1!WgkD7h)q2$zO`HE7J%-yn*?hKLzhfbNL%;bgaux
z>Ga;b`;<T|c<}Wi@~YK=ri?|P(z>eTdzQ=dSiW_!cUgB5RA`bZh#nU|1kE_jfGAHs
z8G*p3hEuVLL6|vels!kD8sOpOyZyd5em^yF$|jrZj4P|^4OV^j4DtMsiE}}JQa!LH
z#BBIp^@5ZC$r^a}PXEEdJ&9<!JT*WIzmoaBYP!+Zyi8P91PH`Jhqfy4OUZdWrfJ6l
zrRqTIxfBg8e6@PP03b9hU>h#@SJ#hc%`>hc5{+ySXg*J&g~dgL(OoZ2Z<W*6o2oki
z5G~FX2%uCf*ezcnR4b=iS~=7BO3JQ<U+Fhi<%xABmSLUs0Kf>DgfA8M2LNVVHCBpe
zF<AsP3rlT!Qc0uM`Vh+ZQW|5hH=u%LJ_3nI|Mp{C>5}9~#t6LgP-x=gzeWP<uXTBs
zU10N47-(6TgmmF&77!o=;Az!6u6v+i#jY*E{#X9X-_Jz_L8WYJ<tj&RHQb7n2iBR4
zI@Z1bAQw84N&C3)&_ONyVzep%wQ?3Kdoldu!LyuvMQPZ*wE3)So!>ZlgY`0uA%7`G
z4hSG2ue4D94?%F~!}wd7G~q#R^_prr<U%B4zTKJhwCJ`tTDdEQ0veRg%o=UYOAy6)
z_++>{9y)wLp-jrEs~JovJ!|tUJ>TX&`7+kpa2i6`43G^mO2x;w4}JRJW$A=}_$cI8
zEsK^9tJJ)*Sfeapph33)pJuCC@)26ONbNxH+eKs%L9K$daB(D%5uX2#@!|ciO#9FO
zNlmL~4r7-iBY7SI0wBPc0(#|n_SU(}O`hj}Io^5bt$0{LTL1vi>FsvCsiB>Vjdb(L
zDZhp+N*UD}MKLJgX|OhS0K!Jd?F@*A2i_-ypHXfVzDjyZd5ZECfzp|+m}1yWIu;T#
z$&><j27WQx6m4OxH4D!*J3G#146Y7JXEG<EBl{<MUb#6L8yGByMiHK>au{tCefs70
zji+q3U!^xt?(D^-Su0Au%}i!t<^JZK>4*2kKTz<;dQ<I*@(}4nWa$0E{AJ6n1g*BO
z1(;@R*6OAWH(Na?U5zkh7ejsGk%1S6J0H3tlZq&B-6>~^hY{9cN5k67o%N^PifOhf
zUtiLCHP#zz)_7VkxMS$kKU^u3Sxe89Do<8dXcko?gW|cAk}HQEW(=-Y`4TV?0<qv{
z@03BK5`GdK*~fABUNO*l*1x#wPr1<E1dtsONCx2yPt!D$=0Um?000nzs#=}(TX)s1
z+WF>m?`wDZ566OnRKbkF>up~0y^j&ac!(f``uF_u#AIwtZNs)!9mzXYf&WRzIvup$
z+5iBokVy?EqrPFtUAoDd>z3ucBmjwU-v>qL&jf^_y7`>%**%NDO^6U5`Rvgv6XCwj
zVlrde$U5rRUu~~lc%_c9bpQgI2$@hcc;v;2!!O*NN=!_Y%^v^|Hqg~gXMU%uZuKpQ
zV%+k;Ig`D$y>Zc1D|$cvuaj~CljT76yHO17nsw&2CP&*DTy*5X_~DoCBtnV<0AN^z
zS8lRxIO8hkRVE8n4@9hQDFg-ph(K~7Fp#&fa^D6C0Dy%Igg@UNdtWJl-sI_!1ug?O
z-S-h_4+aGtm1e6PCi|Rq0-x|jr@D3!lBvX6F95T%W0|-8(kHRb*pw?%);o*<4A!QN
z^(S1x5A3^lv&@{-lCL1$?C4lh({|zgI(^m2Vz6W0AT5lDG*}vz$bJ@8u0`HSa4bHo
z;|7euHAlXqolhqZr($D+WypkCb6vgOT)!xjjs>ED&v!t19~ihez>ELkAMD$c2w!}2
zO?%e|%dY%v`}|FrG|irI#hbS`p4h)TyB9L=&;|fl@g-a9!o^0<Q~y43pzFPO006)-
zYxVV*(s=*?5Jq-WRoj|mZ0xb4s0sl9fHAmS_PW*IvQ{tHOf&Wlgd~SAq?4ijQ-fP?
z3yyBzVzf0cmj{d{!h<`Zg74^Qz2GNRb*p|V{;qC5`?kSP?z>P6-{M-l%F}lKBQ#@b
zmG3V=7~3t*wyztl-&@na@BUL$@sYBo0IX$JOWnN7A7_k?Wrc6@&7aa4nw(8%-!$I+
z<gFTIQ!THn;Y&9<8`u640f52Ua6Upb>mPXfmQ@$q*Pnhx)i<p!x=CfHg!CKb{8ZV~
zLS@^<Knhk6UjO6NPp5r+p??!mpkrNa^7fpFjfoqUi%tIpOtEa!NjGfM=`HhtAmCz?
zZw&1H<yQnDmD0+iMX##<^mA%j&V3qT@uH4G3kU$fXlveNuU+|MXl%!e8ueJ<??YHe
zd*)nxyUnxsM+gC3FmG1S7R#RE{D(DYtCgoD$d8vP*CzoA9JMs%JNcAC`7AI-SBrR`
zEdhXd=-^v~2+I5gbPd*d9W||AzKgXsoCT2Ga2gK}zc9G}zOND?$%D4+1++eSH5T#@
zI9*ov;;Y3`@sl@C{^y4I{ku_CAZZh~D4@|no3Fg5e$|23LcK5ir@z~1pSwmrqEfWM
zGn1_*NOB^qqg^c<ZghHA-wK$riU<;I1VFR)MV>k5|JCT2eGhA{TOqzjKvMDPzWr)+
zHF#lr?eg!-<wlrhwS;swp8d7zrgaYj0;WJFS$?cDHhJcp_shXg?%NDA+fo5oYEE9`
zZQJxbq8LYEGoN`3QdRAee>K{gS0$zo@1N{{^|nkZB3BZs<<y&IEf@E&0swgCv|N7G
zz0IvwC*42_^X4JfuSM6up%3TT_rAK+t<$H4FJ1NOu+1Ih0RV&yiNAXP)U8_|47{Y2
zm1e9~iq?B16(^(v$;hyp0-qtb)qT=gwB9<O<f=h$u3m4jH7<z-dv>Vg*8*&>J?*TT
z+2=kB2r&g`NDvez2&{5s=d5)%hsHj9Ny9mwCrYtw!@_Sr%~~7J&6cbXQZe8A)8o4z
zicWq08UQd=-c?spjM+1B_@$dGki8_Roz|e`d(rx>m8N{BrnCS6fH8<8QZ6DmbYxpG
zn$Cu^zfs-1?p}nDY{d_O(K2hJt8wkslYOt=2igjE#?(t^SbYsZzN>`BtLh~gv$0z_
zeA$!%5xnqhdt2*Lv*+nMY^{V4StkZuqE6)XlJ$WZ+@AXRS3IdV)vn2U^75m(SVoll
zpCAB>>%{Nnk2E2W<bwMJK2a*jP&SQqc>&W7adi;^Kr-g<Qp@COI{WhK#&r(?LYU<2
z4K!oa&Pr{x&psE^1}yLi%{F4IS#nlw`z3z?gjkV35a1*J&Oe1G_dm&VQxjJA%CA<{
zFZ;LL&B(Og<XX#`Tx-+G;GwC3H-E3F-x+ny7;W`=YYD*SPMfVRx;}pZt5hEt0OXsO
z0RSL4=3sU_cdCa77~&Cvdp??LU-Ffm{*i;+_Gf=OaocbgH>~6d0Kk}PS_u$Z{C25?
zzY9pF)LnuA0AR4pT3V>C31s+;Uy)ZX`wV)fs=13ibIy4hA;gH5VLI;LG1mR;HHqoL
zE>GJ9Keg8`|5venF-F@Gy~*QE#>V7Iwa`F77|&Yptw*xTD!;E65#Xc2BhLkfx84;C
zbcutd007|YdH!}8jdEvjrHqUMr@OL3iYc*TIK}*1GtwxX$%rXKgVf{+g81|iH76wo
zz~Gtl)t}hCOYT6@MnMs>_Pfoq?3&5`*MFxNFf`}KI@aN4&2{VYR0vczPIN=AvZa_U
z0yr0TBc2ceK#*W`>a2tyd*PA+a7Fkk7bk!*&1q^_aOvwhy|p#35CGC#xGOxd=kY{j
zXfHwt%+(9evsN#-8UYdSvXg+z$E<1j$qEJvT5oGWP&iKJ28se2HqWZ{uEuo_LjK-7
zAOatqp4j`xWX$)O#kJr(qpk6ryf}zPm=;|PGa8?@`lQop+b?-uKG<aVWba7VV;9E*
zU3*2|iSW?v23z9_)>5-x9-l`9UhDu$kUE*OPG@Bdj&`{n=&bW+t+L#W5IGA7%YA_I
zIy&&~LKhJ*h%~qu__zGlf7AAdf?E`}NI~aj^zK&qp4e0@a8QAx%qxO`bq1GMP5=Ob
zC%$BC=&(vzmHD#+FY9pCbzJtB>^WNEaWs8fh7LS*F%e=M0N{z<EqB;z7GH}nWz7v#
zSa0^u*YLRl0AN?cm%d@NHE)tHBqXE$?Y^F;uS-n#ii4b7ITe#vfSL87rKD#3KHAOC
zl{mwT0%NRcLI{Z=1|aZ>{$y-IweqTGZ~Q@(cj+BOaZ-b{Ed>B{dh2|>v8G-&ViZ*x
zR`;R}fDj{fH$ad{esG5vb59hV8Waj3#W6IIEU(-)j5Js5;5>zOS?z6D@Qt@=J<}v<
zAR!Z;7<lvhfx)*Ql{;O-6Z_ssHJ`Pwx^evjl4X*EM8qfG6`;mT!Pn^(r{UR%ZNep{
z4{ev@v9^{r&z$p~2Jv1!07xgMc8z@Y$XB`O$RGd+fuU`Gs%_i!f9&4nw*mk??eDx#
zww<JaCu?bGt8L%(7eL4;)>WDdbq?&m_e*ImFj0t4ARhYsZG)v|y_`mx3&=Zg0sUF?
z_1-fsuezw|B=3dK-a$LEsad(}<_?ENx-!dEY6p2=76LBD;J$scWm6{v+aCS=rqEb$
zi;Ufjfd>FEW3;u%sihKQhhQeCDqNbedgVOh;qJGHkXAuep@Asuo%gkeC|&l12mpW-
z7urAa*&~~Y5R<l>Wzw-|e0u0DQ&sauu@(@bj9N@6+Q>K?*8EhI34lO&{J?!<hn~KH
z2%MVRr<A<K44RU3#F4NVlcVu(6{A%^gE6?;<WA2-WN-(7FoUk6e%&R``jtN?GOL0R
z5&{60AjIao9s+~4aY-`kv@a&3003ZioN%7p*AWl)J+XD`M_V!}o9mpLs^?=G==>^D
z{w_H{1Oo!#lcL`z@6%~t!_x;|Mi2`VWqAwggVI@yvld?WGOgD)NkV0~!J$tcIy({W
zQJtRo`(FQ}#c{%By`^rAoM$RJARZ@E7EpS7L;e?nRAO>>IvJ7_Eu}M=>pQ;oETVK$
z$4!I>-WdGk4;KiTxVTXq0EjTw{q%oK4ZZU_OtWS#GSsgo2c@$b>*rtbJfidtQEEP&
z?jP8H-<Q%{z$dR4F~5*W1>|NV0R*YIze`RZA;2A{n>$YbR@KEVC$OstAbQ}_YFAzv
z12Ak-@Xj61tui82OGiE|_3dl5^E@pLVT1@=bn5U{m2%B+l`sa^9QiU$DiP?F;T3hQ
zFoxRpoQwbf5DR?%x<=j^G^!gne8*sGI!78d35kz(J+?WMjwpkkAwJ#xuCc0lqqwk;
zNk>(uw*Vkms!!U0DZS*AO~yle$GV@oA?GL7EQ^wkmfU5g7a++0D$~^%snIA`d(QaH
z7;4(Z=j?Wzp%0aK#;W#{-LubrP&}Cr5rD97_pf?BxV5(T<6q4snY3Tt;PgiC!ZKt8
ztTP!|Tf^Esf5ML+dEr(75Z-%odg8Gk`}SveBFuCH=Yi+*j%rbcQ#MlW??2bHu6?!H
z0h%8HL*2Y@KA>Z*i^LRx=Z1$r`NJ8Ba8HqAbcqlP9+HkJ$@vmeTy#{KN9$Vw005)6
zH_K&C#zqgw@oL*P-9_u|^YfO%)Xu?A9=t%v#Kq}uL77sC$q6np)T>O-0>ZWJm;Q#<
zTjq;AiI9nobUyTzG&ki_Aj|U`iHHvXAY=l`*r*QxKySkI>PziwZh58Y*H`{`?XO$r
z8%`6;H__*@f-GO-g1!K)Q>-3m4}_HQ%ujc^ceUH)`BMr1UOp8HgLZ$B<ksmOP5Hb8
z_++pj)cZq$JT&95QaZLlDk~uno$7u|gJ%H^##r0nY&h+%e9-`=hPL052=^US;9~%Q
z@I>cJK(g0S@tMToSg2<&XtWojt?_jEH;7Js@;u2DC@XncN|v)oT3Jv^u^h|PudKYR
zxn>@cd<_JW(f-}?_cUX(*Uh{1X@tO-#Ul_H`S8}!gHQZ0!^gQ)d}KK6|MUs*9RdKx
zRNYpNd}e#w3XHH-%*(|lcP67F{o?yi-;M?zyV<upB?u|VhvEwW2oT9OaxTJ}vkQp%
zBlPsfWF{s)J^%n907*naRM_s;*}wH$@4A2fS<M2o1IrgTFaUtF;Y*jBs%Bj(m0ifh
zhdLiSFCOmeRjJ1Ug{w2VYUMonbmVY`kEcNUn<>+=j&(HUX%I-p#(TtfcF(ePmg*C~
zBhnYr@xj4Qes_V8iN+N)OYs2!z>fM;FS0o1d_Dh-2>AP7yCyz;s7sNzfG%Tbm@EIT
z$;3pba~5sg_+!^4x4qH)$oW5X-(suPbr8At5CD9=9;>`;vlsVF<O35V%TV-R3E5AZ
zo$icwR|ouq)vWw`CZ_v$s+3h(UYuQLwKs@-0T85<L8WU#t#gCkRNaOUVMLyMI@*;=
z_~bEdn*3|$Ui3?Zv03Ds=7I<O{cqf-#s>f(6(1R#8hrcuOe)ejcJR3?NG7e^EHCAu
z7+aJ48(_*{(~v{$S(T<DO|{Kv;LU8vN5Qa?v>ERhV@<pGc?p43B0MM?=@G7NzvMR*
zV{R3zEIM`gPvb|P|CwCC#PpF5^34-K$2wcek;iDC`=xvrLJ*z$>@T43O?18)3qSCU
z;oV$RNJ;Hl);W?fLsfS4$@@iEOFWvJX5vK~Z0$dIuIa4B8_nLFRu&jzO}(pW?cD_B
zW%dugd3`+8wO>Qtd?QCXY_!f>FXx$z&A8a0I1K=xbS6)p27+XCyb}O0rc7*g%X#;T
zr6dGW!=F8UVVav#_?U`9Ug@w-S9SB*zsZ*sK`hwwgn#huCuF!PZH~q!`>Zv2wE-~i
zl#u-=FE>51YID_<IwQ_GsF9Gx$W|_&q;X)xX%@?-H*tJz>u7GOivUUWfCRY$OC~ZC
zFaLJ(=I8HdJ4j@0i2wpFGW4;!jD^pbVi;Oy^oaQpfoPfwiUF@$RtN?FtT%fX$$7?t
zJ@07LYk?dV*ZfsRYtu!N%miTK$SXGyf#a39avGC;fBSvUj@wR*`u8c7aX}u0Xdy2b
zfYp7{*BL{#M@~zTztrM_7L=Op0f2aTXJ!B3DDtS%K$yWgy}exwapF_q&P-Yw#Ra=}
z<@qMZ+^<Qa4j0%v^7+Hp11Z?kCnU2gF(A^R8FPIuNV%vS#;T?@Qa%C@nb`NDTKNV(
zNreCS-JxAvRLIGeUs;MwSv^Qf0ifs%uVd1jsJ##Xm>iV#l7FjRbItGTS9#_zM$eqD
z-i0x37Y*%1sP6@T|Jx52sb}fg;##zpV(6BFm8gUioLB5y6_iWII^2@YNC@z$U_Sr|
zuBLV0r5Qu3_-bnCy_@2pPj_q31;w)x2fOE-e+Q!UZn4P=JU2Ra=$RWz$!oIDUO?$h
z9rA^b>ZTw=NMURd<hIQa009ud<WRMl=P8`6djhjM216JVkcWVXvO(5|lREHv`0=|o
z_Fwqn<J4}Wt>bHQiy~)vcPeC5mQ?@%fo2_c05FQYc|PVR0<XMkO_he;T(>aq_9x<s
zZLvNF007R$^|zDUAc_DW8JT<|GP&=aVs)!h7Oi&z7wvyfzS@duoqN`T>)tfjTiP|~
zgG!njKh-)cA+MmN`AW{!D*#OzdSi7x!q_Tm??iY|y241uI$iFTuSg@kAPCWsuE#bD
zd_um76aWCHxrsrN4e$g40GQIdFs0WDf)p(bBV%w$XBMTC!2?`$xL>Of{rkD-J>MMI
z6&mMd(;@=CBc67VF9HBc$8)rf7fozI?598o%wB42+I+{#8;$m+OT_c*iI546bw7JO
zK!J}%ePl#5b~UcOIls!4Te;)>J*xOc(h$OSQDy`nq`6>#F*qGn-cx@pmWPWBzc$(T
z@_j0F$^xT(&U~}ugm2{6UlC09zjjla3y85rs_oA^NAH@oVAZV%kdzMrfYmjfcOXmJ
z7Rl-j!9>5up1&CYL4EsB017%leroSK%<cN!)kFXM=#PEBn)YSF&c=1uBTO0dLmvPD
zq|%A8euapteSp@Py&&T)q~pFK0htBqtf_W^BsT#_g!@Ydi<%tsmKZE`Yx6ZkU}EsK
z+e-z3RsvIl@BcBAiuH=+LV$oVSm!q`ylziT+eQCI>CEO5B#ws;nL(_S$u?sySw>n(
z8jLCHa2K0KGCHzPd|xwX(_IvuU!Cv|Zu?;(+^-swl1WFS1TrCMghGhX>8o5CG6Dbq
zYi*nl2un&WKHayqh`ay*FmWi&J#h8#&gn@$1PCA=Hd=?e8Va_R=-9N_sq!C1JU<Bt
z9C&N-#bSX85SSi&?~YX5Cx&qp{SNlprRV6)HEZN)1OU=pKpFH`6llgm10boP5g;i+
zNQdopU%D1kI2#TiWTIn-p1nq8t5ezT0C&rV+Yl0ut|q`m$F~MY-hW0-Mp_4W(OH)H
z*FISPgDdY@^f*O#Y|NK1OTpp{iw^(1I#K-g54g>FD~f<enhxgWiw61OzuY<g<6m7e
zc-@hY6Ndo+bga{DuUYcFTzyD9Gkns|r=l|kNu~S%fGM5Pop;_7;8S5W#XN%s!aB?t
zT^%Cl49^WFV`DxoeDS%;d&;-v(SOO<<ohxICp)$9HRM*}6yRsl!SLWGkDSe?qP-xM
z3;-cyba+?Y-n!zJL++MyzDwy$MhzOpc&SbQiniZk{;P78nHGLY=6a)Ne)cKn^p1|~
z2LP~CFI;VLv|cVY94<2aR$$=O-)qPXL`VxlD(1^i)Ce#}XG?M3?ge>Mmp~#sP*xn%
z<Ul%g_g4pZjdiC2AHTTr3ZAD}d8aa%6EX`7i9JaG0uc07xktO}7K!)<GZ(u27oYbp
zJ>OD~8O?^7wFqgGvASu)-C1e#>oy1g_+(-fwCfuy-yy6sif7#uAV35@j1a|Ec^2Lv
z(hZL7{CP4uJgAhTL>)<Bur#(9tc~aAY5@pAFxmU^El{}S3aY%6`ODWh&${*XmS6t!
zf7agKe3I#u9nY^mS;z%#=7E689*bw|6BW?Nt;k_Q0Q@5^NfDc>qA8;_o)V{xe2RqM
zdm?b}FE$Qr-to-zRzbGb<!(9uHiWTNKK%gz;Q9Dy&SELq4|J@<ElPv{fCw{gcvhvM
z(>pu}>0ILPWNf@-hzh1{Mw4USMj~s&!I2N|Evz%`?3JV^V@D46?YVntG|>A5A)<Ys
zZ9AA^yv~L*elvUdEj`sO=Uj^@JyV3f8V_Z=7gW-vJjzJ-Vuh&`rxZTcn`=*$ng=1k
zMMgRiX6TyP=l+JE+)jCtiTk?$at$G>M}JCm)5-V*rMF7w5a~^|9g)dTw}Xn(0RYe&
zYv#)1ulQuBUxuS)RR91$EGY0#|9{KZSX^_~6~+kxFot9}*Ju=FM$ofs?&<RGFn49w
zR(BIJZ~Ax7y7gDP0^1%7b?te1x<3&SlpO@u%(>upiZQl`wB$T9>1pL^QYlN9&ED%M
z(Fxn@PWc+5^)3Pcgino54ZQK+MQAAb%t*7>uDpuK-X~*|Tcd%lodDTelUtV=n^tYI
zuWMgzI+do85ptH;XWLI~89VHCfi%g<f{sZGIwmdT_W=Mv?ji^=Efv?(@o5t)=5czb
zq6h&98Ax@$6aDMoem(iHe|V-6F;y*CWU21Bn#{1<0EBc*>y!wwok(TGn0Co&q>~|8
zyqb1hF{bJ^K>4z!661$Kz1>P_rmE)E2qP){0!Sttp4_e6+gPkEYgt38`hZUcLqiAd
zzs&Ag{AXA5xp&igW4pu~2w<A^Ivdvh##VFkw|zY?Tov_q?o!a0(WXHiipo_ga8wCe
zj<ZTY!e>q1`J&3mWRm@SDin4#pM7oiP`Ye-VB~|_xk#UKDma6ukV*LDTTNJ#cX2V<
zbgZjM-aOOEcu0XS*Yr|4!aBw~?~<QeT#If5$Q$IM-@;&xhX4Qw5CO8De*pkt1Ox^S
zG%u0MIA>|McpMC_s@1v9`%(3p4c~QedtQki-1S26;Lzu(C;))fy=aZC=Hwft`xyzO
zAh!e#1R%qw!^O&~0&G64k^mqqIO<OMz9?JJ_u()3>;_}C2CwBnmi<Q9TC-r2ysV+I
z?GKpjm|1#}ZP_Uo*v_o-GHtmaVClryiQXF5$1g9RpSP6rs#&K`^V!q*Wy(5xsfffo
zJY{8xkPjiYR!_%!K8nBo`u+Zg`}cE$paPgSvYxh!9u!X>$ne~Lie_`MaR>lFS_CRp
z2Rhc_RBU%jsnpSoe0pO|n>=4C5gbs-SMV)NRjsGX^F)IKuVvCPdDuxwdCLF=ZU#cW
zU9W}x2evwAt-ab&f7&gW(n(e&0Dw+!n_oZw8}CgGZT<e_k(cjN_|sJTR3&ni+M1(A
zSnZt_o)!+qG|SM8wOt&MQi;iKT5oqa>(|^artw_pz+~U6_dubBR?@=&Af&lTAAx3x
zvB5Tbbyi`_h&IOnAW*d4o&Vejbb5oCixe#rW(?Ktx{k~LtT%htDMw?`k6^OJq?>)^
z7_pGq8ur_~Vm`Y&IBauIPk<OjpWCaaGg9n|i>)UwztFm9=+ngTw#TuLi*5RI)>=W3
zjE8m+A;Ig-wX1SG`Am9R8OWz5zm%ra+nD^00R({QHVT^|7n~WM8r=FP6?(<!7Q8dq
zTiOuCHf7Zd0ZeE3fBN3I^@P(~?$+s%l>p$pkpuvMgvgY|{Psg%ULj;CEaoH9FaRLl
zY+VSsK_Pd}dNg2R^IOCb?0hb8|4`@fe`?E%uxHLicj^r0MLA1>pX`10hMKmG+w!uN
zT?ZHd?22|#$~qMQ0Ca}xIpT&P0sulLSt|Yt^d|4g1v@lC-R~BWtr%2{FYp{U+4r}5
zf+O!g>}p(hqrG<JP1(JP640($r~d{4rYDZPcu$4&OA0Igt;j@FfY!WInJ$6e=xsrm
zGK$N`X)f6BZr<=?OzB(z1P}pXy!WN+g-nuzG76mL!hHbw^&N^awXx>ety=iB-ewl@
z0SM?=r?^b3R#t5Dp1z@J$-nGlEp_We2Rfe&9mu3(lJ$oGz*H6W7i=HO{hb<dHp;h)
zxSM@4vtPtQg0!NB0oQk!TdV56`Yfem>j4O0oZ%*VpZO-uSQrgC%L0UT(qe<$?*{-7
z33NThr>2YTg;axr_F}L#ugXVHA#lx_3@luaPSvs4EXJzk(Fr7?Ec^Nc|8!a+Vq`^s
z=DgLP^~z<-q$w<3`k>~fK>(158koXCV%iVtZ4&?hoDJ*0W~*6rqsVi5Y}YSh!9#li
z<gRRBWciBr5lUw<%EKX`^l2#BDIr_cBtNYr%}s@h;R66>47DvF@dDtYLs~I>%I5+)
zrT7$~0emVP_Vv8*AAP(3YhEmP_!$6sdqUu-KlM(%xvoJiZwa|H@#F}i^`RxK+B;n2
z9VpTZc(T^|1@eQ@^v0Sc)|$oN6I){}boi;r#Qyg+=+BTN86W8q9f4vax7D6_i59*f
z059@J0ARGwUarCmSaV}j!=me+tetc2%a~$3Vk6<g126UM{?)07VzAs%n@&t05`z-O
z7LN!(G-z>yOg4)%G69ec#XvLbNFV~n+a6zg*?6C)RiwZ4+?`u~@J#Atn>*vk^F%bo
z+F6Znq4o_hfOz;?UQuN~1cAu--akX3zd?(x8f|D=pm#MdaGjaAISJTY`8|q&P<~4c
z0pMaR^V;vuIW06{lbq#qSAO2#vAVNYE?b&oXd!#hs(?_T&LV{Ho$p0o-M59`QgFzR
zhKv9J*4mZlR5!2x13<Qur4pgN<A?wH(@cg-i7{IU05I0sm3g&jQ?%ZkZ_xlceYH^w
zR}MOTRfCu>SE6VUd<+19FmdEL5lAQeTBj|j=9m5=8VuH^1(-G&74M75U67WHkNXBc
zxqtIi|9jUHBJLR=fDmG>t`pAH;IE`rOt(nC<p=o5|9+8>i@|cABsaPlllx@J`yfEn
z*Ym=UE0Kqb4DJO$Jd#aw?Ve@V`1{}dRVE#su>q9lCVV>90-_8i=e$j<rTI=S($|k^
z18a87TWzaZdWFd`cN0P&1uGH&AvF5o?c;}E{239_JVum5KCV1}$KjU-KaKEbUE^A$
zV?nZH5;22OUS7R1DJ{_hK>|U5bBCKkCXMO$o;>4<zWuY8iDPy1!XvxqpZ@7KK$Mj=
zr|4KHr>+pdn$4c|6N8DJ<2|W~@qu)nuB^Tl&v@p9hk%et`65%F?^4O92HEduMs(we
z25;L6Q^yIXn-;kmndYsJI#%@V%UhF_E+fq32N0h&8DD>3!)d`Wr(K-f)Xo{5Sb5<G
z2U2l{0m!@F3BeEznpvxRIxcqXG$(}j{Vnp!wr4_HCJv?iuBHXoRyXBc^>jA0WrnY$
zYS!BGYnsn_5+T9>00@MHM?ZgbvykC9$RsfW6bB&2EDd{u!nIJWZkT)&768J;Tm(Ot
zhJn(VyoE~)pbR!uqd|*&a`s@U0M!{Z%&rqw)U;f5ug+*YIXt%OKSvKeb#oCKT4}l8
z1Sb1m{H@;NJkjFpxLUMOG3}@=LoPK?k98}Op%hd)_bmX{T)#kU!ZJ?<000C>-n%0e
z_f>S$Mw$zT(h2`=ox!z2ipr(*9(T)zo5v14bBhu`5%GOwu+KhM!bOz5>E!QzMhHKQ
z5LJ&5HUbom<O0u)j`zH9<@EUOw*Ww(bY=zs<&Pl|GI1_4IlS#rF4gs3Y~uVM)huXR
znLSTi=HdnbfMk?4DqP3_fFKq!Ti<>3%&W$GJ(7RVRX^E(+UBi~=bAKT*i>Ae*Ly<8
zWnaEN*?<5b6&J!|z3I@WZ@a7^UpmB^20H^I>1ZOHiAMsNcp@UC0J0l@iNrN4VIti7
z7RevS3n2T(j1gmtlQO#+7)N!3&Q;r{_tv&D4Rsy*W{i;$5W*;HRN_o7(p<E5qCtxh
zAa@^R&Q~|y>v6pM=(^RhkU3Y+2we4(p)<en#x9D^@Qfh|G{XygN+&7TiT)agwK^1^
z98Gt9_|){PdtMH|9}8tf$2LwUgA@6Q6##2#SStVK2vKx(%Q^qzs6XuvgtE6LAp*j9
z&r4S%!UNsncgP6I35v>|pg~c3kB+TzrMdF<^~t{r)|nk8@&Kk;2Ga(+Ty9YBS4tO4
z7ywDuA8Tr8E!WDzw9)Ko+jyI``lK5X%3d_g#mCixkIRLeYzTuOhOJ~vlSxkvY2#N8
za)l)lQC7^+5LTm+PeT;en>>s1W^i6*@u_h4)WGZi4eFpKkC-M*kMH@jtLe)tWY!Sa
zJj;I+p6vQdEYMl7sX9Ed|2aqfDL*B$gXsVvBSN}1F|Q~a0RpkW;8VWt$8Sh;eyQQo
zdYcD9cI}D)0H2B;7BXB40AR8&&Hdq;;oTi)ntIQ=+Bx4~jTQKXM!M@e7JYfo%Ycvo
zgkT|qare%SQ+B_y^rB>(m8M6w>X2{!Rj=Jo>(kPiMrKDuT!{n#1fRaMa7|6~Sg*wu
z4*3VG=Y9VEiL1u@>)S1^u>Yd}^W@z?2qp*s5d?xjU~0r+`|GdrvWRp}`tlgR?i=1q
z0f4sG&@{zhMyCU#tyX8m7;Km#Gy#mIDQr#w5mGpzVT{R?IH@8)V6>;sJKpDU*EIY5
z;Yq9Uvuz7H4({k^6NJ27;i{huo%Nk9?=yz%?K@Z}2o^^q8t^%!0ipBVc4ph3-nstZ
zNAZ3jGkjA*GCFxcULK>Z=^R_llC$E|y*rHd*{hwi*5Aw+ovXzV0z?o5hTpv@G`d|L
z4j`oC{$6bHHUS_&2w_vzoYO*MzUO2(Mf-)=qA8knYvIUfumFTrtT$_(PbJEjO8C23
zOI?E)6=kno{mqDf@AhJ{AxzU%-c_5NjT`QubWBrLRszXrU~6b}N4a+psM2Sx4K42G
z3+^;lHExmyc|y4G<YzOEk*<`s9F$H$`QL&SGAQ(GDBl6hRCby|F$R|hQ;h6m=88xV
zO!U5fgY4u1Ib9_`r5q3(dGBF+?aJ@#^p;j}CJhMDuEsNNj|DovBA1bi961~d9(v5|
zXuG^nJh2PqRw`4G&WR&`yJ>p-Bl%V1IcKS>1yKGp`eb~pQ&|UHZ^!&yZ^yRJUS<(=
z#?!7ARr7eSr{mp6)_uFSb+mhW!tUum(7YrTGP|;Gv-M$fhepr7_T}Fgt#SF$Cg801
z52Iaq+mDN}<}LS}|2<_z*EIY3bG0kvlnllgfzgu0`6G_=UYCwjgWzm1FGNJ#6pSEi
z5s~b4Ren%m{v=ibAbY01Xc1P=n)LU4G*>z?L*Oa=%01_uMKe6lr)XNNXE6Y=u5D!E
z%q!p6!5ET!{-zp$>Zb8P&{t&@@ux;>+b4#XE(5ZyS6R;h09<t7a3&S)rWsRPE(=}T
zzWG&z#P41(?Skp?-M5S%*>aDf+Ax<GKfqeNYav&_s=5`|g?u|+DC2^Yl)PSPo!yNv
zLlYq-zhgitH;th1LI)k|_5ysS*4HE%6Vtu#8Z6n9auE<PIT|nb%-u9P+574pvNNzS
z00@lH?XlG?zR2cTcAZXdYnS^j6H(t=!=L{CLLrl!AtR=Z3`HA^X>Lj!Z1dqglpeF@
zx^`35oVAwfMd#^_?zJe}RwN+<BRg+P#Yg2<pO#(`pNpjnAoF3VftnK2dRGy?-dNK?
zMCYN*{}T`OJT>k6@C^+)iU9@y$fV=((Swg)JZt_p-$WGS${XiMRkqQCPu$SB@Y*)U
zRI{Rh8UaXiQ+q?BAKVof`QSMsq}3EOFs2&WbxsJ9(a}$|%G|rV`~5j9<GomCY7y~!
z_qVR<-QT)OSr`NaYFkGSuD$Y&2UsJ=W&4`s#24!44R#^4N)QOb@?3Io*7--5U$En~
z0$C6MApndq$%)TmK8nf+*6L88fCwr)NmZ<y+|rbgQ(E~3g#ZHqXg=w1@5e7MUy@2P
zjBEuI(kUG+R~ZNaELgk0Yw?C%T{yRaCl$~5yFX0q>wG7&%Xj!dlcjdv^ZC^a1n$}A
zKF(SimyRBM?1wV9QcihhATYfB=he+;KbUpQqnvIP+nOXk@9%%_hROcF{tog{>{4CE
zgFSEB-6!2BT8XTwc8#a);ve}AJ^c$sm`nj=crKhDz7QZJI4GUP%qOJ|ujX(Th;*o6
zmLp@RnybW7<`4PyJyunB>TQ4slN(sTUc2I7?Vjb|O-4s{^QrIz!a7E8tZAbdOFNRC
z$DeBmLU?@7uY5hv-;%piGQW7BGqH8^zIMN<s%;YiU`Zx5n1~MTCYe+S09hGhb%Ty|
zwj+e(p$vIdMTijc?Ye#Z$n*cDQf{?6Q2VW#u2fh`Yvy=?d}P72-su%r60(4R@JZj;
zp=YkIP@WluiU)fR^zZ%kVprq(AM4Gv^SQ|I{)ygKZdc2kNkzhadwzR*Ro#+HjP}+u
z0T7c;On(*)9M}>I^c;{421@G^1At(#)-RRYV~NO+xOsbq%tT1T<iOjv*0i4cxV-Gj
zizX;a;1{ghx8<budtOJBAV4;f8|T$JfXy{M)wHm8Z{PmbCGrL%;xsMnJ8<eHTc6jl
zse*<GIZI2Y=XrxA9*&1i(savcjfWXFJp(`gTW&+iZP3DRga8EAl;l=j{N9djkF8x(
z=%>s3wVd_-z{(3h*z0Z_8y)IOe%`Y)*4e!?exR>2F)ZYk4KTI8)9C!C!xUp`l@uKU
zY^z!HFQKsy9*l>M%s7>GYVhrc&5pJ+47S#<<@&MAhD0FniT<&JFJBq)f3#hhSA@vK
z{&$4djXp%_JSbPFs@kP@a*@%4q0#LxYURtMqZ0*wSp-1QjE7Hxc9;msM1f?&2vO2z
zbk@?eNE1H?$>_jf$oJ75_S)sQORI9(0-IS&{TjJTqtI6jz^5Vy$GZRe?Pz`qDF<w;
zS$4kBG52yY52E!ACj0CL`Qg$;Y7er%xq*KC$V=ak`agXiz5soqTqP8rwanLof<d9?
zFW1*4B%=d+fe;>Y4nIN&H+txW&1r7RuZCYjo*8M$*x2Am*CW@JBMcE@sld>-#{xs!
z9@Rk6oSGV}O_Fs)2obo*sM`H=5(G!yd&*#KIKk>(^b_Uu1PBp4ErUB&ZTjeSM{U4I
zBwhp{f2^+{PRmZ&wC&k+l3|BGpEaKV0*nN~-R$c>aqa%C4JQm960IFFQw#urOii<I
zu<w)E^F=A#&A#DWhY=vRVo5{-a*cxu{$%S1&EzwCaZfL$<Aq%>u3Q!kTFd|dG{f`m
z*~7hN`~KJX#KCu8xjWv~yEoCxMFq9MR}eDE)Og>kH+b7FdKr)y)s7&Q@b6AW$9mQ4
zn!w<v4_;X_`;tL>?SdZwLJT4RnG81=_U(RPa^TH-R91}(Xb71kH#PX?t<}vN{vc5$
z02D2SIH-PKE;{*nfg}V3Aw!fqC<=HAnWVr)$9Ed6-m^s2LQ&YLl4k~u@tzlcM(OOe
z7FYXslxj)2kOcsc$)tvZBk%ouYT%te3K>p$a;!u@os0%%uIc92KMTFi06+*A4feeh
z_I>z=>B)WXDE5n1vJzNQkI3aJ?kLZvgUY*7b5o_#0b9+=^;LB%zYieLQ-g2a7V&rP
zsF0_US4o~_q^W@_zTWKhwk-L<kl0Z(sc=`%j(<O)962nm`Af{M6E{;d+du$Cld;h~
zk;#KE@u`8q*~<-%6HYNV%stiE;PmR;2mlj6*?SQQ!30T{V_*arM}uZ-D#4h{_UJTY
zNTvu7oO9RU+zn+INX|k-NOY9LcwbH9-+p`U*E1Q6Sz|JO_H{2m;qdzXD9b3T>=44D
zV?8&2#QD=XvvdIv5JYl#D0eGb*5@S%AWTp4Bc1Qk{*lj<{r*9J=jfrta4JF6>Rqj_
z1OR}l`qM6Q&RTmrMeD86sn4GA_5AfVrJqLan=uBLi`G}Q6Cvg2q9ffz;LB+{IY79&
z<)Ry_yo;{llhYG{;a$HDjct8V8((Y_Hyr^01^_`Uc;tz}Pwu@;)^1eGX$k1Qf&c&q
zNl8RORCabOsh@x4>j+WyR3fx@<g-6rm^<pIRDZ*OFj#AroaLOg=7)M?&1#gpFhm?|
z2;u$QbpJck{sT`>kL}w+gt+o5xEXbT5KGse_^n4wj+RRS@{?T2o+2P*((&FzxcB{7
zu=~}><fpIksc=|R#_|=Dyu7M1A_Zc(pl0e7Gyjf8c_`nh@j0G6i_xEv=4d$c>oqMK
z9uy~bk%@i38|nJ<HD%I=B0QxuXFbifEH-$W7aP4Ti;Nye9qqytVn{YR59iEqEVGC(
zLIeoGI2&d_L}da9Agk<h&T;~T3QyV{v9QtVs+*c%45?IZZ(erWOinq93NGufBDtHe
zabEsxx)7h{1LJ-C_;_#1H{P2Z9X-em0YV17`Hys`d|X62Y_ZY-MGoZ-O2s<M7e%8$
z#;UqgFSXY$zlMtr@0d9J((M^uy0D{YIcdgb*BP8{E;7_B^O+Xw4>M`7RaPc@+O8D<
zQkisoG?kbf&fUCISve5~gQdA$Z}yz5W2>y0WRw>KF2E<Jhm(oP?sUQ*DoLZV?+Kuu
zzu@^;6;`Fnqg2}etuUjU&5OVPSG{G{IU<7Z&@&f?#&)XtH;%TPGx8a%7<*dvcJCa<
z;cn48svC56yO*)s-ISGKk&yskga}Ot0zep$7|xKjm=p>NsO;A#7!j1cbCD2?0Er3<
zARDqFWOyR*JVd4jlhH(o5BWzjp~yr!G&z*^`v=qh>9KTZ+MiLK)>Trz5_R=OwV_IB
zR4U^a1;<m4FRC7odtGTw3Cn>>@&BIz9qVw+UjCDj>}8+`2qCG%JAYckCqr6Ck$mA`
zaZ)s;LrhgI&FYQVXmQaj05BFOX7omi1^^lm&_EEDtvCY79?>EQK={BAp8|kXI!RK~
z<7qCPB=PA9p5vkdm*$S&DVG0$f56d#+U86-6f@b>@XDRHmSg4~>wLJBjHTXb;@fH#
zUjztC=Po6}18>Qc)v?G}DM&I#rZPML@F5=`2Y^8FY!%ZlH?7jLS4#g_XcU7ls+`AD
z?qlJ3Jo-<iJdXyyq%3kpAx~2(FkIvrE7GyzoswR;w6*9LlS7NQl&)i|?Fi8{6ql=r
z0;jRHX6ZNcyYd0Tllz}6A-kH~YUR=@M=_by=xdcti>LB$IlRh|tK9l6Raa_w#Rge5
z8H<&@7!>1oG-;K{t%iRzbyW@=@4711U&~2T>&vPgMClYRx5Jcc<&;B14Nv~Ak`E!t
zr8m{qw=DfhpLgD+KQAGZS{+~j0JC%M3cb;_OpHbmG7t)n?|DIyU+Y6?eMEVBu{uyw
zMr!nw1CSOkC5{%&N|a_X87pbXmB?F)r`iZ#Ob)eoYBaRuD<-2_+W%BtRZ71cp5-W^
zQarT!1+KL5mLpWTa5Np~XwszLR`=qI5G7bG)eCQQ%sS(u3V8uS7^<7Te49MrHR9j%
za3&q&isU=mk)=`^r9QYCRN86Fk?VgN)D(WXa*7>CYr0Y_pYr$dbO9WXzM=-lD&x_7
z|8m-uX1+>~NIqU5e$Yxktky_Z77c`1v$#Lb-Ez*K0SE+!wmzqlUzMKSyJ{0_sb3Eu
zMNg-K!|&Z)VHu7VijDGclrkKP+-iA?(JL4K|27)OLjQQsIG%7k%6UBMww!mWQ0WMK
zw0TQSW&SP@p4j^Yklbac2r=%KuRK|I!d3Uudb_JgHVgn@ur)7m&pz*g{I*em@MPy7
z6OlpXRpiIR%2I<$KYS(hi%m<kpj?Yi?OnNP#pF01_{T%;a_~#xRf_+=RqkT=#nL69
zWQg*;A{gY`T-E<U4hNU<UIh7ypnO*?Ry@o9%H>nz2@1Z-GDx)fR4|a{0$mo@2^$eY
z6d;6HQ}vRnx>es{P2O1ufXif(ler^eFaQvQY0B<BWn*3YWzS%Wa){1$BJiP+u7@{e
z((#B!nY8LLKc7^uGp%}1tD|DLrRqv9qx{<-1r048%CcyEPx)VE+fec<MMI0OT74g_
z9BT4Z!cz^ul-weelA~CC7kj5xmU87TCWlr#)RLoEnp*h*3fnJ2GGYGSpcdBfcL9t0
zq|>}}zxp&PIN~M;gz!QpIh^K#69ACXvGx{Bv0mAgSO5Spapa}T0z+G$P~`r*m*p7Y
zXyrW~L4yC=>Z%wNYs>#@f-?V3a7?nH(kTDW0R{kpF}OUn?VIm6TAR-Yq#S4f3J1T!
zJ6u9zyM8uy=;>SGI9>_<5BLZC14;u`8f6B^&9!5N<4LPrAOHXvJ|3O+ef(^i3+!Nw
z?nYW?ZX_}*D!a`S<({%BKuCOQ@ZB575C7$^3YFFWL^+QKe9>~N(JwdcSl=CQo|V?s
z{{)R=;dwm2!BMv><zB*Kk?6%D($&(6(K=QdT4|v1t|Wbft+~zOnt!g*+I))6;Od|l
zvj-6{0sxmz2D_ty&;J$}-hO{7J~4a@@)VQt?@8l$*6lxd{{4CWZ<V_kK4{<;!2b^;
W965=kQiaU`0000<MNUMnLSTXv9?k6l

literal 0
HcmV?d00001

diff --git a/doc/tools/PamhyrDoc.cls b/doc/tools/PamhyrDoc.cls
new file mode 100644
index 00000000..e2d15fa0
--- /dev/null
+++ b/doc/tools/PamhyrDoc.cls
@@ -0,0 +1,102 @@
+\ProvidesClass{Pamhyr}[Pamhyr class]
+\NeedsTeXFormat{LaTeX2e}
+\ProcessOptions\relax
+\LoadClass[11pt,a4paper]{article}
+
+\usepackage[hmargin=2cm, vmargin=3cm]{geometry}
+\usepackage[british,UKenglish,USenglish,english,american]{babel}
+\usepackage[T1]{fontenc}
+\usepackage{times}
+\usepackage[usenames,dvipsnames]{xcolor}
+\usepackage[absolute]{textpos}
+\usepackage{titlesec}
+\usepackage{amssymb}
+\usepackage{tcolorbox}
+
+\usepackage{enumitem}
+\setlist[enumerate]{itemsep=-0.5em}
+\setlist[itemize]{itemsep=-0.5em}
+
+%%
+%% Bibtex
+%%
+
+\bibliographystyle{plain}
+
+%%
+%% Colors
+%%
+
+\definecolor{primary}{HTML}{212121}
+\definecolor{lightheadings}{HTML}{5c5c5c}
+\definecolor{headings}{HTML}{212121}
+\definecolor{links}{HTML}{e12121}
+
+%%
+%% Title
+%%
+
+\setlength{\columnsep}{20pt}
+\setlength{\parskip}{0pt}      %% inter paragraph space
+
+\renewcommand{\maketitle}{
+    {
+      \centering
+      {
+        \fontsize{35}{40}
+        \selectfont
+        \scshape
+        Pamhyr2 \\
+        \medskip
+      }
+      {
+        %\centering
+        \scshape
+        \fontsize{20pt}{24pt}
+        \selectfont
+        A graphical user interface for 1D hydro-sedimentary modelling
+        of rivers \\
+        \medskip
+      }
+      \rule{3cm}{0.4pt}\\
+      \vspace{0.3cm}
+      {
+        %\centering
+        \scshape
+        \fontsize{26pt}{24pt}
+        \selectfont
+        \@title \\
+        \medskip
+      }
+      \vspace{0.3cm}
+      {
+        %\centering
+        %\scshape
+        \fontsize{14pt}{16pt}
+        \selectfont
+        © \@author \\
+        \medskip
+      }
+      {
+        %\centering
+        %\scshape
+        \fontsize{12pt}{14pt}
+        \selectfont
+        \@date
+        %\medskip
+      }\\
+      \vspace{0.3cm}
+      \rule{3cm}{0.4pt}\\
+      \vspace{0.3cm}
+      {
+        \begin{minipage}[h]{0.24\textwidth}
+          \includegraphics[width=4cm]{../../src/View/ui/ressources/Logo-INRAE.png}
+        \end{minipage}
+        \begin{minipage}[h]{0.24\textwidth}
+          \includegraphics[width=4cm]{../images/riverly.png}
+        \end{minipage}
+      }\\
+      \vspace{0.3cm}
+      %%\rule{\textwidth}{0.4pt}
+    }
+}
diff --git a/doc/tools/latex.org b/doc/tools/latex.org
new file mode 100644
index 00000000..2e655049
--- /dev/null
+++ b/doc/tools/latex.org
@@ -0,0 +1,19 @@
+# latex.org -- Pamhyr documentation latex config
+# Copyright (C) 2023  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+# -*- coding: utf-8 -*-
+
+#+LaTeX_CLASS: PamhyrDoc
diff --git a/doc/tools/macro.org b/doc/tools/macro.org
new file mode 100644
index 00000000..2f897ae4
--- /dev/null
+++ b/doc/tools/macro.org
@@ -0,0 +1,35 @@
+# macro.org -- Pamhyr documentation macro
+# Copyright (C) 2023  INRAE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+# -*- coding: utf-8 -*-
+
+# Constant name
+#+MACRO: oldPamhyr     PAMHyR
+#+MACRO: Pamhyr        Pamhyr2
+#+MACRO: Mage          Mage
+#+MACRO: Rubarbe       RubarBE
+#+MACRO: Inrae         INRAE
+
+# Information
+#+MACRO: version       (eval (pamhyr-version))
+#+MACRO: current-file  (eval (pamhyr-current-file))
+
+# Special format
+#+MACRO: file          =$1=
+
+# Biblio
+#+MACRO: cite          \cite{$1}
+#+MACRO: biblio        \bibliography{documentation}
diff --git a/doc/tools/ref.bib b/doc/tools/ref.bib
new file mode 100644
index 00000000..e69de29b
diff --git a/doc/tools/setup.el b/doc/tools/setup.el
new file mode 100644
index 00000000..81335dd3
--- /dev/null
+++ b/doc/tools/setup.el
@@ -0,0 +1,30 @@
+(require 'org)
+(require 'subr-x)
+
+(add-to-list
+ 'org-latex-classes
+ '("PamhyrDoc"
+   "\\documentclass{../tools/PamhyrDoc}"
+   ("\\section{%s}" . "\\section*{%s}")
+   ("\\subsection{%s}" . "\\subsection*{%s}")
+   ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
+   ("\\paragraph{%s}" . "\\paragraph*{%s}")
+   ("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
+
+
+(setq org-latex-pdf-process
+      '("pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
+        "bibtex documentation"
+        "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
+        "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"))
+
+
+(defun pamhyr-version ()
+  "Return the contents of the pamhyr version file."
+  (with-temp-buffer
+    (insert-file-contents "../../VERSION")
+    (buffer-string)))
+
+(defun pamhyr-current-file ()
+  (let ((lst (split-string (buffer-file-name) "/")))
+    (string-join (nthcdr (- (length lst) 3) lst) "/")))
diff --git a/doc/users/build.sh b/doc/users/build.sh
new file mode 100755
index 00000000..476dd5ad
--- /dev/null
+++ b/doc/users/build.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+# Build the PDF
+
+emacs -Q -q -nw --batch                                 \
+      --eval "(require 'org)"                           \
+      --eval "(require 'ox-latex)"                      \
+      --eval "(load-file \"../tools/setup.el\")"        \
+      --file ./documentation.org                        \
+      -f org-latex-export-to-pdf
diff --git a/doc/users/documentation.bib b/doc/users/documentation.bib
new file mode 120000
index 00000000..8319e149
--- /dev/null
+++ b/doc/users/documentation.bib
@@ -0,0 +1 @@
+../tools/ref.bib
\ No newline at end of file
diff --git a/doc/users/documentation.org b/doc/users/documentation.org
new file mode 100644
index 00000000..1907bf93
--- /dev/null
+++ b/doc/users/documentation.org
@@ -0,0 +1,20 @@
+#+STARTUP: indent
+
+#+INCLUDE: ../tools/macro.org
+#+INCLUDE: ../tools/latex.org
+
+#+TITLE: User documentation
+#+SUBTITLE: Version: {{{version}}}
+#+AUTHOR: {{{INRAE}}}
+
+#+OPTIONS: toc:t
+#+LANGUAGE: UKenglish
+
+* TODO Over view
+* TODO Get started
+** Installation
+*** Linux
+*** Windows
+* TODO Usage
+
+{{{biblio}}}
-- 
GitLab