From 3ef9b85c03161f746599760e8fe945f4415f68ea Mon Sep 17 00:00:00 2001
From: Emir Sinanovic <esinanovic@unistra.fr>
Date: Wed, 14 Dec 2022 16:37:03 +0100
Subject: [PATCH] Rectification systeme du temps+ saison

---
 assets/Interface/money.webp  | Bin 0 -> 25722 bytes
 assets/Temps/ensoleillee.png | Bin 0 -> 3720 bytes
 src/Champs.py                |  77 ++++++++++++--------------
 src/Game.py                  |  25 ++++-----
 src/Image.py                 |   2 +-
 src/Infrastructure.py        |   3 --
 src/Plantation.py            |   3 --
 src/Temps.py                 | 101 +++++++++++++++++++----------------
 8 files changed, 99 insertions(+), 112 deletions(-)
 create mode 100644 assets/Interface/money.webp
 create mode 100644 assets/Temps/ensoleillee.png
 mode change 100755 => 100644 src/Champs.py
 mode change 100755 => 100644 src/Game.py
 delete mode 100644 src/Plantation.py

diff --git a/assets/Interface/money.webp b/assets/Interface/money.webp
new file mode 100644
index 0000000000000000000000000000000000000000..638cb88455852ec8afdbbbf12070a645d79cb3ed
GIT binary patch
literal 25722
zcmX_nV{{~4+iq-YVrydCwkO8Kw(VqM+qP}nwmGq#^p|<wv(ArR)oXXv-Zw7ns#>ii
zDJJG%1O%ieDx{#Qz@ZKU1O$Zi{jmiFA_WB!lu?j4Mgal>#s#z9Ajk4uec!nRBQ^lx
zpbogx9WtghVN${&yI46?zcMyZz=Oih(U54RPH0Np{l)7Dc!&g{?2a#Pw%)*!^jQ8t
zFL3$QHMZJpt;M=r@``7om6TY~)ZC&}FucAU<FQ;>nBBcoz=g~R{LuW#zp1{{WKD2B
zRC!s2EQ4d1E?I8QX0uxTm~6GN{2XIA={o)R+SK(ONvZipGfz}@FWL$@n*5)ArGrw}
z&8=kijGMl|4$sO#dstP^<Qu-{dun2GKQF)!S?!gN7`;LrnXPwr`aAw^&uhIbL6vsb
zYf?P@#jl<h+>?cr=j)#7kB2XQ{3>WT#L$5~v<?F<T!he2620Bg>w=5=I+7klp{?ib
z9czOhwtP<|JAoT&{sM${0iy0qNKjzi!;MLMb}vw{j}jcXy1~ZM1#_oJu&x|$=R+^7
z^iSth5pB2;L&tl|lWsh^zx{vg-@efFrY|of81|ibcogp~wtnfEYJ9AH>BT^n`jc*q
z9|EzZm8pbVn^Gk)36{}ke2%g`8ZHMFTzT;Uk}ogbz4&sj#fS>jX}S%xKFZZ2K@}?R
zA}=5ArH1^n&8nV)te+P&t1$dCXY+(Z@#}Pa-A)xSt>tvOXV?H=M+*XuA7@K3ufDzV
z)w;Y0jN&$%FR?>61vu={0n)9-$KDvjh!z$Id*gj?&+4Q*75q>?Ju}j`jqAK>%F4{?
zQ!i}(8veboTni@Qrm2V_Yn)jRBib<NqAB*SyS%CU8Fy-|cqvQDMlurOga~UT??GZ#
zX>NP1pLc0(s~7R3$JM3b)TL$)o&WulD0y4AX9p0G{=zvZg!?8c{=tB6z=#k7D8=v2
zPKRlr3@s_{UWU_~4AICPXwWMUo*|)GjH7qzr;x5uuhgTZ^{#~1t*pGLwd&Dy&x6jc
z6xZl2n0f3yz?^WiI<JFiC4d^#m^|>ed2tRwr8ytF;k{@oQQubP#%r~VF48z$s8bzv
zk00a3c<(Zr2W4LYh6VWJSU!CUV*m=gA*U^(<uC&%oGB}K4AHW)REZ`%vh@i~rmat@
z+B%IGbaj&jD^Ama-E|@>HrZ`4<88MO^{FEA(xNEEC{pVib{P2@8vGL-r;xhF1Qm6+
z$pRm!=n;j2OW+n8gg($xa2ZwPrNaA^+h^=}DMjVlSf~89nvw^GF-&L4t#Zr$Fj^V@
zLia1H^d1_GQpqn`$2YnOxmZ#t+cE;OUD_|4?&?F@c3SZt?CxjKZ4xfjPxJ4bKlBT2
zaE`0%+yx7@Oy1);2?#Mw2If8Q3x57$5%xIl{(;tQAMzN4h#VC&jJ1j?>t=?pZxzF9
z4I$i+v&TCR60FJ(y15e`*eoA{x&I}<E-<@1!$4pbDBwu|+69<!c|AWht^^SIWbwj1
zZC`VV)ZCBY55EI+0#;rLgui;|>Xap~O5~~Xz7H+(*eE5-<gEn!ZK`1z;r9H#n@DUV
z!=GRF%8QYhpuZ>4SeVC=Fqw-cSMdyyA}`rQCu^~wtc81JGV*5Gh9(-Z;0lWE(l7?{
ztizMdnF-eiz$Y3pQ3{Gx%9z;#4IUziltPAj&2T`9tU|=J!V>DSaIJ+?RTB3Y%SC>o
z8T&<23Bn9v5*rdReji8=h=^c@vB(buk-ra=sDi*Sq?l9*g12Q-OzPyI{mMxOtuo*u
zB}`L(Y1L?%;c&tx#Y$G=8<;E`R6)g+QTh#C+D1~`m>k^WV8x9Ic?}IJ+Fm+v**a1E
z`*;Q~5APyF%#%P|7wBluP!+StF`1jjWL(F|C@Vo2dvrwha`o6*PT>**EY$OVA%N><
z>Z!7v|A>F$QZI0J*e%l4a_N+!Mx~3YmPW7!C^k(}Ik!pCooSS<5A9F4t7_Ds!EBIM
zEKR}0)!H-|z^{Vk^Ng0Ws?#B=s#devQ*O=CaU1t5;2J(+Q=<p>gHf-F#1S5rXbcs@
z9_IQbUFc?`9pal|@r}m$Yl&By8WWx;qF<UfgBhtWna~`&j*UOfzf@~%ZKrN?dk=&>
zhoE0+B{XO^jCa+gZje!LQ5#OoadU<w`%YW1C)k>lRJzSXR*F0)Vydq(R%|aY9n|C3
z-|^OCCtK$%UHeZ}DpmR|i2drS@P8_YFK3&ga%)-6%&!bG96pq=$SWL(&9qk?fG)ub
zR!0tv8pT->VXOgWy{e^(W=oqPr#?`lEndK$6YJFHxYSo2iE}CV3s*0M;G8~*QgLV;
z*!E*lGVlGEX-3L@PQ4ve^XIBHWlXaMtt~%Og1PD>v)G-JG_y57YwSrzWjcEf&d5Ey
z>h!_zEn2~S)fo72A}-JE)X(4{RJd7r473GDC}&3xqPae#Ee(OmaeWmV)joy|{a71%
zOr^;Awl?s79?0U=G&M|8%+dt#J`l*VOmOhtej4GXhS7HoxaH;(txQpB)36mw{nlu=
zPGbb!qh!zaBMk^E)3y}L-=j7UcGP&2<5hPyO>pbZ+1AboO%9fwnydpZQQ}$|3)a<)
zHanWvW6L{Wblq)zfmJ<Yv))UAIz|`WU6R_Kw*EhM)+ws=L#~BMaB*Ax^nRR+IPZdh
zy2+{-i`_`W2b6b!>3fyw$_2vhiyj?26eOls=VJaSOf(%Te#MT~u|!r}V1>9lpF)vh
zOe_IkbP#TmWJ=z#Qnr4{bz8ToVEc?bcE#;C?}0V-S|Q5Ng?QkbYupiUd`B1~#hmXD
zN3!GXZyd2{!-PAtuWQZDUsrBXaSC~)%WKU(Sa)oZA%?q{Lk4bK8GX`BkciFWB}KZ-
zvN$lc^4%$0w-dm{%bC4YE@9z;yVlirV(4|HV$ZgZ$GjHgSSH;w7&6KKaqxk9wEH{O
zmC953gYrizaWGrRtBa_u2h>Ubg7NI6zz%Uhn*LI8TpS;lbkiO=@Z?;bT#li)Gu+eT
z_|^yJI@W!a4gbI=@Q{r@$TbRVl{F&h*S2C+@&l1B0EK#ED7I&#KRG>>y>_v^nfde@
zv&ljf`;m#d%7S{}i%rz#mu}PAV5^>X)%uMI*;NJ8T~bedK0Mqf4ti@%s7gjt<Y#El
zlC@jcIUHAjk2qw<lvfA<oG&6|X-`iltYgv`+%9`rb-oakC8c$YW*NlP(yA!ghB@%D
z*DTFufEh9~@#l)QTe_Bt(;1uc+KKFv<6G}Nuxsih_FiJXg1?$`zzT>BgMU+hm}qW5
zwC*n0{SL=6+{pVEj$7buoy|>M+_hMP3&-&DRLj79#%q^PZ^7M$#FM+>SK(G|GRNlg
z&L~B~^@8>4sNS>u3TijpA^niYzTKT?!>Qm_2>gz(;fkkKg$?R&9s7}kcKA>)!0Xrj
z=gIrbbIvvYj&C>M-vG|*SsiVA|MJKk`cIuc!X4kQIsD9$jaZF~;xkxY{o~J9>AGx=
z%y9NCZrv85h3A~!k6e<E*cG$FXohevcr3khNWF~LD6w-$!_nuQ#_pOsol~8y-#ka3
z_T2yod?Yt%dN=A=fLVYpLtMDPudc$4S);7oV5%(>81&$BHzfkM@_9V7az2JAh}1>Z
zyp2iH78>a@HWtHPNwO*rfx<;zvt)dRjBp8f%UNLTkT&S4CE(+@Wwu6afJI0<?9@mP
zI7@GZVCXL#%?O`Rh`(&-lAiD70p3eBo1tvKcf{s*RS}8x?4!`<$PYJUq&CNKuZ~nT
zP_2i$tXae=jmgj8X&R{3qdmAs>r<W#v)dNi&3+tTk_X$^Bkn)aG&8LSx_O#MN)CHj
zW~>CeLXPe~Q?ol3n3c>lag_^qcqm!rH&ofGVxFf<_(hFRMH0>jn@IVk$5jW54W;i7
zaPFXCDd0>uB_L6_D^7Du!W;^4QiRzDKpuFZ9tzM!E|?`|$e|dAIuv;Kx5(qw6C!rI
zOWrzm3Aeb~n8y-qZd;Jbtyo&Y#t8%#Y;$CjY&e#PP=Z*^Y?3OCC~Kb+=bep59Wa*j
zx=01XsYE2G;~_F!<|)%9_BPsJ3+6u3<!@Ohz&#Rc5`;BBvSn}CB*8x(q)GN$w}qLo
zYZVGhvT#f6TX#nrvuhp-|D=&l@XM$sT5B?aR)iRHAl(n4=5Q%e6iXbb1A%V)LJ8Ng
ziA90WSC1Ric10ebTN(=+$5bT}yylPj{R2TFyc|lEWa#*VPvep^LN8Qe)zc<_rK)Q_
zKjPFmY_N+iREK?KETa1N$}f}`Y{)hT%PveE;p+3lF*VNCqsk`}l_)LN!#On*#R-kS
zOJ>1=8q+X$SMaGz68JtE7<HM(y3y%K6=^)5`z_8m7JU^L#4#<q){WzIq%}Re)|KOQ
zgx3T^<(TMxjtvq?Sz1sEAZ76?NYm5%DlRVi0zWgQl>J}U%9AzUC(%mPq#xrLeLBkv
zRQcH;-^^r%t9(VsIScbXj1p&79v0qU8*)u?*3Az%(~eVJuqh6_I`cBv@G~G~Pm3j)
zW<xX5%_}xUPWzH|*F6MGxGIuCp2rkAnj7bdu`EpmD8M@=gOi=+nXs%Z6-dCfWJ5Ij
z-zYbQOggG#*hcNT^sUiu(-GWVoaUlKC)sl&0*rd2@nq4QQ<2sVJSg=kn5(7D@{I7(
z98_S3MpLPkxhQpv<y7jvt(0oCu<HHA@i$4s_CSs|(?$HqsiTU4<^z;B!dNS8w9|~F
zzq{g9*)it?8ETJnwJTH0=;Y({FO0OeqWLzWz@B-|6>@Pk?347#udMDi;(?h{9HuX3
zYey3wr%KCcT98=hQgeg`Nf2A}bliCV#%xJg;3M)T8K#&*2L57018~w%Q7UpxkpOkf
zWd>u?a8bce6q-12DtNOL0W3+wwPKq!8VdK$u4;|tD$=-S)~<S0K_+)ojfzT@cokK;
zv&15*_=z*{sCotA_`gb&j!mTLtjuqN;{6)zMY6@`MS*7&&SQmHhYO6=lH}MDLO8<@
zqp1l-i=6qQV%nrdSNeEN7v!AIh~`K=p`=Y({%~&+D!iXBx2Zu(8`1ceeCB!jSQlp0
zMDDa>gyO}Cq|GeBIDeVq*Xl_v3dbcZCK6KPDhb=FBnZXw14vt#qJP{<#cz#cY7SON
zcu*IpBUcf>R)rIbvIwAP8y^JW5n>^zQ|g0DhJ#{=sSCy*{01YcB$RZxsSHL~UL%BV
zsITo)BAuZMfJ-J0Q$^PPLm6+5E*ShrP^n6jktkoH`WF~7F@$8Z#ZcfM;x&Y(d_j>o
zrwU#SlvPhO=+=6>UM7j*q+pO{;-6|55Ub&bJVqpbc*K&3YcCDLr00G7bI+!K3cK#*
zFFw~K@3wC#?!L|l!)yV6Z5Kc9l_8<M-}zJDTe1$jF9`-eH{{}Xp6E9{x-Cf7Y(G08
zExW8q0aaZR=hkFk%@2K6y9F5izZW8aBjMRl5i%f<*%n14th{*O=zU52=h#82^$Ggs
zxI-%IAay|sJ>k?2Z2AiwL4GCB2^BS1Lnty^%YhUdV#qfj^qX|q0!v49djyznp~NSj
zL+7zh|3a(cwuCNRI>%fuCCXH_Av9}<kJYS$&-v{PuD_&;H7qwM=GJ8$u}^N&Asb5@
zRY0yQRZ9C)mc*o`G00D=H6|rcsNcrt3t1iE9=f}&M1pf-iVVotE;?ZnGDtt-2%FfJ
z76TUe6_0NlHFL+{pepz#)7ddFA|t~p!08H|s`?IU2|Nvsm?=#N#AR%a6MK4Q9BQ*A
zMn2chfXq(~e{c767eTPo;~EGQ(vubJ{%tY)<Fe=i%-NKO*7I*`#O_r@F&O=lM67Kz
zX%HQ<Iq_l(xZxcJEW`%XtImd^Muhba*$e+_Tw_*fA#jHpi4um!B{|uP8z=GaxT7PA
zLZ}?tphD`8_{P17wpgR!V?N^Gm)i#?iDIFJg`8N`4+COK`MxlENmd_b47B22_Cov~
z9E4HD-)=8j^RfI0HWLcJZ^V@n_@8Yj<Z}T(l#+U$tR|*iW^4=T)W{QDi;iuW+QJze
zbv~*Gokmtr?QCkVrKDTB;(8sGEiGFzom!f0$icRjH%Ul%r#7I(TG&}0q{MB72N3$_
zb(*~6=hQkffSl!>ogX`hZ*80(bpw_HSGE&Eo@;ct1y-@U9gaXbUv9>egoA3u>3k?b
z2=qGLf_^`pwmCjqZGYxDjzC*|E}enCKjmVRj>0EP#ayf&DE*XZ#i2rj2|i&v)5ueR
zLj4+cpue1}(5{Y9;7FG1spGbtHxH~`l_1~QNPQmTAadwukzMdf?U6%bcz$}?fNp3>
z0rC(cj>D`49TOpD^#AP<u8;Y1tO#x(RmzT6dBvHRq9(KY{7t6+@-<GvNI`B$f|Mx-
z$jhEVJzn7_rnV4A_vCZN02Alo`;>9esh&Fz{tTle?z0<Db`A7a&kBny_koY;_nO@l
znSj^c>x|72zMGRCq(jK3Pj@bW@zduvskPnWRVRP?_oE?iu<z$zgeHnWK(W5SS-@0w
zpk$zYSa3mtd0-2VAYefHG?zOux1Y=hy#&3yA8O+vBK&<lg#g5N`gg$bIoS*KdC!)w
z9-s|S2T*<>)A|a2UU{c~20Uv&KKjl=_MU`%nSSoP^Iw!a<p2QZ-OqsGNBTE@fZFqp
zAN@YTm~X4E13>V5Tc!s9Jn5x>!oT`|Iex}`ro8Y!?Ywns^Y8l(0P3zb-dEmxo&o#(
z6CeHnrmv*0>!$?(!L;coJ>ctXXV3Q*0C<M{QvNdinmH*M7XPGw$hif4`QE&Xe&zz&
zzHC2x0DxTI!<;3+!PmSm;1vi^a0dK!z8doac^%pgkmYaoHTcx~40#3I`Y!a;`+9yB
zeC>VRPnIn5JAY(;e?9qlmWkp0x*qIV>sbJp0N??kAFgc#XPvCC$X`E7#Sio*0HXlM
z&*hKRXa2Q_8bB?e>J0WuZ-svs5ClLzqW{_{+|mE^1LXT!0kV#)_d;L!@3(t%W&kt3
z=K$ubyidrlnS1`T9_P=&FTF2Q0OA|HU(T`bD&WjF^6Bge{k;YN*z$Y?0BRkvkxW<!
zC(Q&?X9F4Yz{RX%C8p8_Aaq>C_p3ISde8V_hjOdDXNr8pE@!Ih9gmx)V}nabclV6t
zkm=6~7#D@c#?ccJsVOK`<rFG2^E5a;B%`PzHx!U=6!~9JJ!_gih_Ea;U4IoRW@Nb$
zQoy*+xyV{ojk(-FvFSi>I)4vafcXBra<mqZzq{_RrlMIn80_;~*BBHqDP#Qpl`W}K
zZ$3_`A9>oiwX1$`-}vDB%m=1rpeZFosT`+U?!)u8;<CqSd5MxYEVm5>)K55bh6&of
z>A0itBo<7<{?CSgE96CFrGh13A&x+e6V>D?yi7xrvy?OcH`TRiLcFiKPy#Z1oeJ0S
z^8?dub1p?vh%VcLAK&7un?SSLV8y@i&AYP<1(Q1*s0;t1ldDH_&6iGPwKm%3U3KnA
zKSN|_77izg8KJ7A&OP=`O_6-wZ(IErjhZJS%BGoMxs17r$rOXDC_9uw=VV@)?e{vd
zvPy=exe%8+h;c|*-zUh5F_!Q>%+}Ifq20$?G%=8-mQVkS<1OzJ-aJyIVZ6^wwh5R&
z@tLzBtMlh<%*|7UQ~_IvG==Y%=MLbFFRA>5o!dKJ?gqMu=!aDUP`sgd@pDU(=nKkG
zn2M!J>U?Ha$_Mn>q4xEJ|GHn!DeGYN(f}Xv!>ikd{MqP<X4y<(g^km9{>H+rBGPhy
zZ=yASVa3WSEJPe{=mZugiCL{IIE#3E-emrlnW|c5S5|U?N8xbd>c$X$y6XNuA@l6S
z@Qe}B)PoYK2FmQ(R1+}Ha_ZV;q;J%B;Ik8A!IPElH<aJQJf0e-LLG0`O8Ta)Bbg^G
zrHsXs-xXqwxie29Q*^$6)feOB;ab#hoPRhboN5r<BZqJN*K^X9ew;li=+_CUoF0J0
zXOA6JUiWv6rihZ#R$}fUCIe_`c89R`<~LWPyZJ|wVDMMwAHH^M+3ttGGaf40N|)3C
zn<-$9YTVDkde$YK8!up6_++4xgpStq4CO3&9Z5B#?o(>>5s-`FP8gxuYU(`xzHrP{
zYw&O3YHQ1D)K#<iJbI1bKNud|%8LowyY}ZIx*EKT=>4Et!5%Wq@Kr{qe0*qBFKlq>
ziz~YQL{6hn&82w5GKZWC7yJ9%;DBxp+%<z~9xc0l`d!D5?qlDg?0GTG_7Ly#LXgdT
zT5v3p_<v|w_lt_Z=RlRnT8qrOzoq+n$6G^aEN8YFm)_t=^0`j91cP}<4!?QA`Jh<y
zll(^(3lMVE4^-0}&3v%txiCzTqTTOx-Nti(W=S^uZVe7#m2l#SDZ7c7lfl2i@r|8D
zurIE+OwW_u1zY#^Dj{%5#EPY(f2rN0QvQ|kP6-`+f9Eo}X>Z}YY^Kw%`NytK>r&_s
zpJi+fpWv$xNjdrtIWft9T(X*ly#b4qB(IciB2$z=UikkZQG`>`bM5cuKg8>PBz{&Q
zO?-DE8^^>aL|=&X8<HSLQA-#6-7VHhn_)8F6#Ab2D=;yH8}L|iCjhU4R`wrJ`AgPl
zaVXLi0eLA=4MJgS1JT>e6(h0#=E^xW_%mu8BoWR~YY$`AH1j_K#|tssN=f!#<9w5!
z*r42yh~l1U1^VkBo!(i9H%zVo#6|92zp%c!{@og*p;A{TTVgw1iv;XnxNxfQw+Mfm
z{u44`<D_nkJ2zAA|5h^Io}y^_bDy_Aqa_IU-J-SeiBUUGrQQFP|J?M92U0q1B<+9a
z9$0fu=6e5jB|R>3`Sm@Sw?`5<>cqdYFMQ%|QlVFViYGo*ALIVZ_&cseFyWmdjlIgd
zArV?W%XNI^tQ|(S)Q11`j!}?a&z8k-FFv8dNakM${!7H0BgMXFY-h%2sf~t0YZmgD
z9s<l2@1M>bWo&1$S#Ww!M{rouSepKmf`8qH-ecRjA9aQK#U=%Ni7&`B&(b2j@lPGI
zS{x4w$=JyGFl)_o|6h+44&=vodBrJiWi7cs%b9kSN2wLSdebO-I{Ag^am+u9-GRsU
z6C{B9l{k)?^D_QjRs80)v39AOk=|PG4BFlu!!+wZ2mk&jwGbO;*jxK1&E{PA9mblI
z;ahx*D+IE^DxxspIxAx*ez}b^eT({Sv%w@(%58%!tzRFmN^8?fhjr-b6VTYvJ(0mv
zi0{AF(}}+Q()fN=1v)Ast`d#>Eh)p(^3XVVxF$OX_w%8f0bS<d&p8b9!8B5q@M_#j
z_S@y4-@=cr?8nYfwRM)v<T^rlmx0`Bfi346)%cZ@Cd;J!D2a=qJ*qsLe60Gpc(#1?
z%M~?*K^MFksgLyBs}V#p>Svv%-VUqa;&?(-gC?{s&CG0s|GzFkC4=gi{C-0a;-d@7
z632dNB7_Ty`RWgJEXurkab;j#b146ILe!Bmv_|$C<s$iAU?>BN(FhYr=zngYvjznu
zb^-do)_+my-rO4s{OeOL!^ym*f4GIwnO}HjNkc35A3x=P=m5}j_EA#Uc5?hDzLJmh
zUzEWY|Ge<pr<SuJ8dfT&_s1pL<s6Sy!QnreH0}o1DS5g^JN{D!6Vj5>dS~SZo4|jb
zhr?z`@!p@jqxtY{q?2?JR1LbqbGAqy|JdS|2dn>r9lUi(&NW{$_Un1;@o9X^>G~fV
zBAx>$oNc{1yLL%aHLh&iik;?mFc77yzWrYQVP$ld!4PTrg*$bw-fdgv_^+;Md(SEb
zz?8YEFX-yqEhlX+_W_!COThe-_M8n}0}DD>0XtNBU_}2j=;Wv{2BuD9(9{1M9_K*t
z+Q^7rK%YCh-Ys*3B~RXb_B!KLbQrq-8?N6#plW0`%Cgt`mz()#{=}Q7*w`6l>bIdv
zIk@~rAt>#|`iZ=k)E?yvl=D5K)x_SV7F%rCzYRxf>CmMN%b4NdKbDSrW^Tw~^4n&o
zPvA~zJu7Mp{`rPsE-_v)4y@EUv53MDe91TUeaF&VK7LixQOC?AeEVo=m-BZO2^Cxe
z;3V3j&l;3IPC;2Eqlh}Ij%)>O|LMjc)U=f(1=?mgJiEX*+RN#6{%NP78`j6)!-x$A
z@SEht#Q%xcce<R5JG5IQ{4q;c|0A|1(LY?z8f-Ic5kCsW1Uv*${H-hdUzt)O%YX}#
zUmUJ)-T~P3-|7Anah1RS+#+X+I`-|t;frw572yI1)BEC|nwC5qu?4+q1vGx$2JZc5
z5x%+iUH>TY3oHIL6KV5?*MR@dtzO`;>pE_8k!v`UgHpZg4?=LBQ5-xdkXO}yusTEa
zb21e(?VlNJ0|vx}|4ovY;{C4%|B6MC8C0LkwX;1EaY96o{GXtHZz!(CfCz!UJ`2tI
zzZeNI`g~Yf+5j$UlN_Dn2<pXCx2adb;=bC@!o5~jjyPW|KaX;D5#2N1<Wu~#B-egj
zW;em>dFXBhC;HYh)Aq#61JdNE=Re*!fCZNQ=Pgl3`@I;-&Q6^hu=IIw&lH93*o>qC
z0^K-i)K%@MOWID2-M~TxcbYL{KRjdYOHmI~%;6=j_Lu06geEC#x@s`}#vO*&@Z@UF
zz6cj;^kPouYPlXWWVLbN7fxUjSfb$EK}8dN_K=&dF#DoEU19F-rJfm73uHP5a;Vw$
zKtLdB$0(R^qtzrmm4FMv#?kd|A~et)74R+=inI~%VX8hc>Fh(<--Hip$%<7|(s|uZ
zb<o|D$&!yXv`|WQEYiua5cqBdNTEtBohD*{LMM1~;E6@Ga_+4#zaq|*7dkkp-i5H3
zyhz2k9q~C9jBIV#DF_{Xp)so8l-J59d_dZJ*HuNWY~nM=Tb-_Dg$0Fihr6T0ei3qM
z?%t3oW`|HkHtE1}U+UTnjG<hURP3S#gB3Kl?D8qKN;B0#22odA{Gy(vzkf)4>ei{0
zO-jMc3G(K1ZYgTeL<>n60VMj4+X4ZdehNNd{x-twj~R@S_p&nye)H7TDURBzSQT<Q
z*ta~ajN{}dPX?>Wt@qH=r?UyB!4Qyu%g<RGNC{Lqn5OgMb_JvSamG-And+f?8HB99
zVgdF822UdBbp7HJ__#d8+XRIZ%T6D2DrGMhIX4@9?r19S<KZL7h-|1rd3nTX?Ct<f
z2&)EPe$Fa4ZTR3X%<2<LCjJy&LA2|_R2B1urW^Xpg7Ya}`wkHU&P^Q5@TWl7!=qzl
z^ElOcKf)6mdcra}zWYgG?d9`bQGRb83=Rv3Bc@=HbY;5Irl#n}Bu+S$)`6Zl5D-ie
ztpL8fc<awF1T^S;+CnSgxQjIDQ(e!PhX)+3&xkn?tY`K6{EkvQNl266^gs>zqhYeD
z&MPQi%O(>i$m#8w93{<ESEqcS`9Bi}LZ4P$7}!<D<YVXCXz>tBYxOZ~JBTZXjf-YU
zZbx{nkPF1y;ta8E*&VB|q=rCDi^KCsCok2kT2O6%*}Y-aEfMsDHk;5(LXvGP?q=T?
zGbRO1rhvaDd&EIqMICTfUV*vtd0f%BHExAO-Xq#)|28iXnrbHm@%_jV8ap3;uXvYF
zd0h}M0>6s##9B^}R$M7aQxdE}=X)Y`kJSA8^+I6l2)!NLafAyyT4nU=dXmU2@_68b
z<F~rM-s_`*&gb2#JlN{{AvNm83sykmnB`e;AJ&**${-loNSeHWAdyn>PTK@AuVZ9B
zgG%@JtxJv})aT}$KqpiigQ&&}q)x2Fg&_kZ2&KiHb3!ClCwYefam-u~8KdJP&IpRg
zNYjyrsge{|_`RG1Mg$0jSUz--QFfze#)YR@Wy;`^@lCW+ENsBiqK=EJZG%T6Eo*{U
zaJseM%sD`ZdN`-!S5<^**{-;z*WZ5fdtZ3O5G-IsL3{W}gip-GpIv-Cj27P0s^Zqj
z;Ans2`39fY{pjMfzi)q|ExxLLQt9R;5;x=atU-BOp?OV;MsH0g;5mTO*GnT<$7Ql!
zv67Ri^u7FcDBp_~AVlTgFNk=v*njxo;-E2XELEDbU5`{g&r>m7qo>)D-Fb*Bgs(3R
z_lyhiFihv`bdD{$KEHlCb$IYmDi+1>wC|I}I%s-t&%BZYIK1hl^*1&m6XsvmuB7ET
z7k9|?&<^Qs(g>QluSF%G&8n@`Mu1Iy>9NNL)w!qEVfq)qa+HbEt*91GAj-|}PV16!
zSZ&h#7Z=v;Uvqj|D}a*P-Pj^2RwS#qG*p<!(^^N9`Z!y%;wW}F5)DVpNFZJ?kSh|C
zR^@kTaE2tB5{A;Vwmq%008NjY(4sJ<19a1@;?qPO^r{(7-WoO<)F+TtgMQ@2Hr8{4
zAq4HrUwvJR&LO9jf8svMO>|mZUVeC?9rOJ$3DW**w83Hrk&oK!{T2uzBwh0su+2{V
zP#wC^^KLrEJ$13hlB$Yjxm7p*3CnC6lNEp!r8FUsvMiil@V;u7O~4~!!D8~mM>WV{
zSquF$e966b5I37?L`f5K!tum<>{Nb_AuJtr9G=5pfumFT7u?-s&1@9a!k3@AE*ue&
zj>0v?Ak@#6T^!xW+&t+K3TH=rIKel*y1qNct2aP6dD>&Zw#<j0H!JfvYkyxE?Z}C@
zdmsXqAWXE#V2PbC+rej;p7IsOC1nhNiV!$Pmk_aX)TwZHe@{Y^V+K2-$NFV$PkwR0
zhk1;{QYtbE1nQ@)JNGCw;ro`1>*Ldp($!?9bHetN3gINWbrH7vbFP8jY@lp*2T-mu
zP|QkiuH$w`)%pRM_-ru|%tF#YV<C4hHI@G8SG0NHA4&Hf(Y+wUi)5Z3q*^Ys2*H%s
z5f+`@G9SvZlH-GFmqiWqT42yXzBAsNJt~&+^+5ELA4n5IaWT=Y@aSRE^fkwR1X>`F
zQW!H2mVvb9%6<F^;wzRgIW|wzfXThq=Dq_2&a9A!iO5F;YEHC#(!oSVtF@SHO}RPc
z-STWB{U`#wIge$ONJ^RVvHp7=bs^`ZRP<uK<RVJ!gaUyPDt?dXv5_U;`)~?ck&dc>
zy{{4s_2=TB;#xvpP}Z#sjb+Bz!AK-7>-VgPW5sZpl^2AR-gfDI4yG-zb{TmB$pSg`
zo&zAjR5VFX#l>i8mn|+iTqL?$E0MSvf(8@gb<D;=v(wl0+Z=7&J0Y&BpW&jQJnu?_
zxwDimK}w9>(WPmPn{pR6kZMmK5CY-L5>f#~!k*--)>r^C7DKkjWVe6Gp1C7=f2^jj
ztUhf|*L(Lo9lX)2$e>glp!RI}qdZLeF{aD0wpZDgV0;xfTX{*Ux4j~b&l02Z^=@(D
z0wVGAXk*K1XCX+&9+acCn>iv=G(%V?k3N1cRRATD+V*yx|Aiflh7=EF@FPJ|qGOh9
zM($j~7zq8VbJyj>2VQ%q65T-zZ8kte&ODcM?(UiS7i7X7+O+mS=kJO_e=cJhX2)?q
zzxz+oqgTtj-P#&b+*5XU{W15VM(+Cx{-9mB;K4^m1t49jmENGRv9ceNzeG&NQ=@O)
zr-fsYH#JQNl^49K$b`A7g}ZPV+pT6X9Cu_9iqFB-3rHP$<QD#bAzJ~p;q>*r%g)zT
zZA*Nu(Odgo#wWJi9b2X3(DjxBOexoB{t(jrC^6a!^2s4=t7(usLL0Ub@k1Y6(Z1N4
z3cb}&N_|d!7WwcSTVNo2QaXKwL37-vSA!V9rZ6|A>Uu}F<k9oj^Zo*U>N6!e2L0u4
z&!jd!`T^eRd|2JmaPS<bQUa=hfa-nCR8twNR05EW_p1$1N<>k?(xRSUNCaM)JGYXr
z)62^fxfpPvl?4dEFi|;fjlF0uv<t@RJr&K#Me)q*s9hrn+L^qqu^-q^*2%j%O&kJB
z)cNbrl^333%0olLI|Xpyt=|W{5wYOi%d+-v)`!>lFAO~VuAYqOA#{%dJ<(m}G=QGO
zvUFYl#*B^-`B+9HbKiCu(P!o|s7bo)CgZ6^fnL!w-)%rRW#NE};A++7e%8z{Qdb_W
z2s2}_ou|3}=r`Tme!@s|k|5-UVMV?yLKG13I168(CF%wm4lVp+3?1Df6(&wXe`3;A
zjjJft5C%1OmzH%dt}Nk860UpBl3>BbUX8ED@>?xFV4%j!0hzSDCt#S*Srb?`H0(x4
z087Hm0^mmdgxIr20)p3PT-zjf<FX@&Ksmu?JGhvWntcB@i9dYLkZnsZHN>xO=^B2U
z=wM!V(XAN5v`j0Y`3VDHwFQ~)QnDS0%lX}!fo!ZErEU5{M$M22rzT&O$-j|Ftr5ph
z!4|Hya|+&yCITQ=RuM)59?$dy?zxYCa^NxUs>ayq#rf&m3_fc<LvJu58C1ifZ|3pL
z&e#!U|52R!n$2Ki*Qc;e6I$^4VP{ul<FTWW+S4~K>&YPj5>s}YSg{FEb7nr2m(fmN
zTKyq?LnID_kOH+arFpv1B|0$+ykMY+CnN<d6Gg(T8L`JY>r?pIwWQrdRsn1^0Tnz`
z*ES^oLcN7@2%jF0vkOXIiOw2LLF2Tp)t~gjX^c{RX8|u;LC;(_*lwo4IPWfbmjjG8
z+>t&a*OI>Qljfo4G^N8{r_Id5r2Y1z8yzzL&D0MUc@o@w51Wzzbi|@{N0YYs3gw-o
z(vMyjT2z8@=2LQbu@a2n#|8=`OeVA-jxK;yGjlYxsZx|3{Z&wW6ZwfA$G`M&*Fm^<
ztF|jXwpEN{&$V&2#FOnFbobYUm>7C1BpOGlQ%d^Pl6Dp!&7oa$){bsgoqPAF>tF6k
zsAiZDM#QnYHOvL)Cqp-)>^cKanqFG|oUdHJj0yEn-;IjKYuj?98|B0pUNz`@YX<uA
z{E<ZeJV=j03QgQUIs-{O0n1MQq+3Y~TU|>{3G0r1W4shjxXG+x>13um(qXSaO&FpB
zB(U^4E@Z(ZhMlS26V<<gJAkLpw12Xd<w@gmAO1<+0&@ZA@>LNDl~ujond_KwRa&er
zQk;r;bJJ{4DCfraaOakUk=yv7l$~R@4kg{S<mR1WJ+a9N&|Y@Zv$|74j#M+nxMUy+
zp#@Bd3Xk49RfFOQ+d+y}ZX-Nr)T=dwQ9*p@Q|tlxz-O2UAiDvCMIFq;a^zw2R}Dja
zJokR8(NGd|7kQ`tM3vq%PN9n(Z~%;CsG4Pd?2qwtE4;~P`n<gbi~h=zF^|X4P>7sL
z%m=$NsF#bL!v9HL?GJtcYt$X2vcmarYo(9+#VSD);u<|AX9EWMxz?>liB1?VqU_H7
zmyFC6DvPmb?=F%5XFt+Q>UL{XK?lCUO#4N>VH-Pcfg7)OFrpr19i(?z;kaE(L{&J4
zyd22niX_|l*HBuTkj#mUWWRidm`$|5Y8FA+6ua&weRg%6IQ&P)xFv}o6E4?keoP(v
zL#MpkJ3e2@i6(@#jZ|;IA{C(TI&rT7o}POU9#Nh1B^-c@(%s4<jN74*4yU^E0F6G!
z&8+v=wF%xY%1ow2UsVu-oGW4{kj=Hs=6A|S_z2&?@|pP-1=mh)VU1%5K8cM+pfT_U
zCoH!eH%W@UFV(>e2t#+0Sm!&vwH*<C&bkfuFO{v@F>V7(0zhh-U?zO0^+T(n+C;ex
zz3pl&a@&Or+AaupML(C1E(;!!Yr&b?M7pWp<%0x#t(}D3m4{l8K=u6}^R_>QU{$DB
z1<Xb~4!=reMDGHD5TKBG?VeIwc0|a&eqfsOyumG(MCMb!FjXc+2$OKB3L2Vq%_Y9g
zKj^;^a3V}Q!iz?&{9srGk49E7HfDyPu9=BfE@W<$NeIqtgSoARe=jer@Hl2hY}67G
z<%2+|Xoe>^)&^=10nbs7Ndq(^7ouYw2HP3=Ui!HF2&jI#whkLirUMc2l>lAYez1`}
zzd<G1Rt?>g(3yHvkSQkqDXe_NG3+N4_=#<eA9`MRS%YgWXEkm2xel;l@0Ohf(tAvD
z^KzKZ4n589SWd#Z%+3J@yQ)11md;!afCBR5OZkYD#4b2DhITkMiXKmc2~H55Bx9?X
zoc@X{Dwmkx^j7?Px(pJY;*EnlfwVLJRP8T0N?EN4k3%ee(Pm40og_=1L;X`W>UB)S
zs7r1psfD1%J(T8#k?wNJ`Y!KTs2}K}orn|&&XoM|ZG4dw`}@7MCQE)OE4MVuEo}@S
zv@PakIv%2lGHxTp(B20UZ*8lbme|i@RI6@oI@aqr2J;RxDJRB2Bv47&3S}EXqWf<t
z4ttj?e_8-_hP~#2*%H;Wia$FfPcWSfk=K*qF^7ty{fZ<tIju_t<4xXOZu~t&<v=O_
z)q~iZWAEf*>r+%!PzMF&pHPgVyJ$jo$=YfP;k^|<)W&j3&z2qQZDXUy2o_JWO&OHg
z_05HvLbnftwTU0dpv;2$u|xzB24D~1jBxBy0$koae=f!rdVH$8%5d3C#|DNc8*V8!
zJLE9>0^boee{6fzvKL$h7+~6!M>^~+1i2V=2!bD=;i5ADlo;E`q+qKNA%<Oi8<Erv
zxnl159GyUMO!@&0@#q$sUdJNrcE6=!*z<N|(#+<uS26|+7VK|1@7{@vNYcsi6ouT8
zLTR~Q=ZAXvy(da=`04$>v~wbA?51?v5FaCqBFux#^i}`3#gNL}*DcU?yEYcIN5r%L
z$b}UY!fn3V2W`4u1~axi-MV0$$ew`ba1X{PBb3HNDVlHv9P;MDW37W(9#xMg;jiCJ
z2tkE+fMeG;QcTYaH9q)jEVtMQyFlNI*mW?-k6e-1_&LX3cw5fzb{Qau>8lElLxc7H
zY3}Zw!gAJO<$&qmx}^n44ZO4Qz1Uv!Z}Oj*B(g#%8kWu2#z>!hnO4zLaH0de{cf~>
za$Td^ZnNR;v1i4W=cQ~UwCS4Y{q&CPc3r-N_v-D(>bbT~|CA(BBccC{M=BtFk-S9{
z%cb7TApBH)2CCuWj#GM-yV<iOnP%x<ja#!UddOS~9$h?g)-h=N4Wclx^xLdA+~t@%
zQ-?HwZEu`C#o~F66)$ITV~vwVLnjSr{z`{Y<+;Wl*n7`6`S+6b&ru%i*tI%!axOW=
z6!tGbM3cX|je4axDrVimVWt|=o=k0{MZud{FLdCMm>VKN&09voj3t8BKJ$m4&5mN!
zwuJ;Dbn_`}2~GJVc%IaD7J_-mNhd`~(xQJR(H^}G7Uf0so#PVQW@pFADTA1dpdiE7
z40g^quAQ`by}e_)Z~Xd32uSF&B?h7wN`F0(PayEq>uOpNJnz*IlmknpbYgfsMails
zX?Bj*oNP#uHB4inG__)6BEd`EsH?r`XtJsu%t5o6-z^>E`|?~Y0qpjlN(ijIYnGxC
zTa-j1c_ErTJK<fYB|6$+_H{XAw_OA99>SxQ1CyCprWov2!tK)0ZDvreHRBIwYf^%)
zf_)j!z`S`>{XDk=4*1W0J(@c*tH;m{A@Z#fsguC?#k^}O-5NQ09FBJn%Xil`BibI%
zrsqC$IUE^js4V5XJC|8OAXV?H*4<BA5hLzjmxL%u@o_9Bc#*H4B;^r#G5mijN+t`O
zv0|Y4@)00TpxzcntMzyXfG!D5SFUQ_|7d{lEHU&E$Sg9y_ubS`8}U}-@>`_d&xj?N
zWsn(+MffO^d;c8r_2iHtaIyoVxkQ@q7RO!T<E;ghf+2%xW~;?NoQeXs=rQeDHbsJW
zWu$|M8<h`RnA-lS$zVL}A&4EiV+a^lv9g#@ZdEdH;zzHzB$xHRuXFr$3<&=SmOk|d
z_!jHW&oNL<yzW{s-U2N|YHV_>{t%e?%WGbw8F}}{r@)SoF}}$oRjUWVlg*a!=o7!j
zQ2<JUyAJWo6m1EKt`nUA=t;i}(enbCs6+Hl7AbXMNIT_Et+mxjv#hi%<7NS3++8o3
zUnFEF2DTKhJJL_a&h@6-Nqr$Vail42>iAZzLcdjLnr`vfY8lF4J3Dw2=Ai&J`B7Qi
zpCyr-Iw4CIo-wdYWhX_M*vuRB%7H%Eil~EI8p@~&8AA&QmU)uh*x<+b=+0Lpe+G;?
zw^@)$Ssh2Tj6xm<2_$jV6N2Mob@!M6?Xc4cU_YK1=oe;jxP5_-VmEiMvCL(RoJzS9
zIS`lnH8wnVNy64?Xu$+Mg6a)acFWqyw%C;pse-(!6`VxZ9{W2{@)^yfV6}Y|AWtH7
z(8^Q^i{u|~5`?a}DH^}A;vx4q(^->Wgg1fDy_Q6~Aa<2kOF#w)!d1W+yI&Eq&N%B!
zx4SG-LKa`z`Gj(084#J)Rh5N^<=ueY469g8gDSA-9~h~G&dX9~N04}RWkF*+)2i<u
zy~V7i(;tDpd}dBF*cx}^CLCrqxued1MCqE|;Tl6gi{;{}U8-FVShIh}?wq3Ng}J3y
z4$UvCH>R63;8HDgl-Ya7SZ2^(KP)m67?Z&5^AJs9Gq<xPAHrGA^cAy#3(we4OPAfi
zZ^OD~&^|2B!r#+oZzE_t!?O=t#knb)1VS%@yk6Hr`K884RK9*i2xD$ZR0ZIYm0mLT
zP-^QwZkTW?QWG7B6!+n*CWD$_=g%MtWfs7>tnIwsO{G1ij1k8Yf=(pX=gn2MVxIit
z#rOz}?-wug{F?Y;2Kkhw4R$h}#zV`gSN&eeKh)_!FNlB7$1?|z)6H&-mt_;}qI^E!
zMw21(T`asW*)WFIg~V0ki@ejD(L!N0FZFdo#C~W0C`Ev@riDc~hFwOlCG=LKz5oC>
zdP*P44QBH&i=VN46@Kb}Oy&hv8zz~s!7751l``;IW9$@<oM@|^KOOlTyU3T|1nS<9
zxL7L#P<<}&Q}*z*xcV>t`mH93jcSP4?_Op{;T|JTx!&>`N~e_O-^e_gLK?5r^!lq%
zqsgNYpdvWxNw4hoX_L~#S{tBNrZql`TqXp3Hj<C6V6*%z)cJ~m|5MJlz*XD65<V9^
z1Zf5lUkwAx(K^^F;(I!XdJ?Iu4U-J;rampO{>l<>4!&<r37xKT-XrC@ni%Q%5I!vA
z-<N|`d9P{4FjHFlY+CauZ52ulS9f;T`{lpU3`VbVM>)o%PiuSOWAj9XY>LCPyiB7S
zIcGDA^!<+-vMhs!O+sae+$QS|Ayzha@r`|GaRxo9$8Q^=Q!InIb~xY<auVU!F6iJF
zO=$g1h?o46!x8$RhZ<Q0rTswCA^%RNpxBt=8}NHVllYkKWo~OufQ|G<Woa$lnrS`=
zBs)ptg_G7W9?MhQp9xuod|(pT<W@^(Ar|sLK-y=nhl05TXtpjXO}CxQeG+x-kTS`8
z6a@*c2H^uQf0Py|7s#X$&;(Q$1owS2K7B_y5n<(I^OwC)=6d)lY%<GrK>c%iSFU2j
zlyXLM#Z_*nyrB04mta|a;=0yIk%b1yYv%GQwO`Xkg7@Lk@7CgoF;7#iYBe8q*2%)~
zx?r}Bd)i;%ibmV3Yp{2*1so4xGqBWq&@vVs5zGz^6<@|wIB877>z=-lON)(YHQMF{
zbLE|o9;1oeHWs>}m%*olY#{l|kkCcHoTAe`r9*-1Cw0%J^ZLbUmtNwhyxPZnWPI_^
zX`kn+jCB{(SOkM%-LhTEYX6Fka|yUM;ti;Kp2;%iy)PjFTPO(H`-_2_+7G5C6g#im
z(#fjFmd*i_{~ka<QosUZ?U7RGEX2tlNfLps!-Q@CM6Xeiu#e(jm=RO6$erG_Xja>S
zT59Zk<WxSmv;80$dpZk)hkoJBV;~DzLS~X#F5oF*_yexdITC!+@1CI6^Rx2ew)L+H
z*M2jW{*i-G{Z65ZIYLPU0av|%FUBRo_e;tyl$m|{Lb8@4QP>gI*&-cR;mXkt#@jU)
zSlp2HNYV!{QoLiZ`0_?1KB3kQfC+R=)N)9ygEK{p;f*l|`d)k3@wDRj)GS6`P$mz;
z5Swtjoue_1O%WHvsJeyNh>{zB8k!aN^lrp1jd4NqHENe%@$HXP@QG%SM3_>?Zj{(e
zJMmz*6=1t|Rxd$HUXAmixS82D%s!$&#5ch27~zWo*wrcc*$+`;v8P{qCY2JbYKVO6
zbs|3ROSz&V)$vG@zF%yJa3$NJqA%vBI2H8s8)@?U+Ol6b#OB*!4?_tqdiHe65HD#1
z97id|bp{HV@9v?omVrG2!jGeih7Fns$YQ&X@3<9+t7Ah>q+r<n8_qaOcC8%Dz+rBm
zCP-VcASakRogxSfI+D#LLaC>e65uO7C@GnLZa}1<l_}uizV}=sB=T=BTLZ@>JStL}
zPpY(%*zhqdWowqkz-Q*~e*_HxQ@*IRZcQRapk6_~%~^G%u#`@vYs6Y;5e~Xe&Fs?5
zb2K0pM>^v&jtLV;+bzTH=X#C9N5$wfCaAx-(Oqguf?Vv+R0{8(RCSXWD@zju_wPlt
zKvu&mMHmBW_}h#lnx4FIf-y549^=^gmSf4M)~XXQ*k)TY^dPGAfY6U04XnXpRVjXp
z%}b+(M08e<nnniM<h2T{gQN&oyu?TN&_?}yKN*L-8LGNq?icG03Z$lWJmh42HYm0U
z+60HCF7xAXi{)uPdYPudK+P90D`7mm!%iN-rkh=kGoiH~V{!+0IT^Sl^?9dK&<_i_
zi`~S$w)6HC{MlHQ^WUZZ1-4{%zuf45cO4?RsPpzaO>|7LE+d>~C?;7Vi$%2te4J_C
zL=bU(lDz7zGhptVT!7@aEW&OZtg7&!f2qM%6Djhc=`@=rIfC%vi67gmEXf{5Z`V^%
zUOhA$(lP-;bkz(DkM>_Jxz3`)k%amakl#t2gCH3suWRdaG@^P~4`~gYij8K$Qa0=~
z_FwkKOR*&JIbJXkUVmpLiH@Q~;$j@ehPJjmKf}5ziML4tkQktuqOU|m-V9bjdmfBY
zXl~u(fg{k?9YuNcjm)x%>d0f@A(Fz6=~!|X39R88`f}j|4Ook=a(ME35B-3_De<0z
zy5$lk#qmrroOO{pGK<!m7_Zq!;VRgJK_~6Lq=pazZ79I`Rl+f-=B~0PXJ{VeIh<eF
zW*7Hd-WI`C&Yoy?fr4>Qx#SlvVas#>o{zO+;%Da%qGep2H4cs0PH+Yc#IC8cLC^tE
ziVZzT>m_uV!90O3LjSUdF*Cuhq8>b0pZ@Y~7<<UP+US9_V`3H*&A;KhTEP9mg;Fw@
zbkrEISkf;Nb(4CWXH5s=E*RB+BFp-N@?Im_FrXlKAK%DVw;trg;GIFfUZmubW)=>S
zX}GCz5N`?x!I4i<kZRw?@fas5AzudO_EFa=Cp|cSzfpM<_8A~1UkTZvk&WAs?yasZ
z2>HXUs~0pev}JEe?j9Ew%S((UIl|))ND6IRd;m^5#RQz--7?JdT~95uzbMM~mHmk3
z!mh!T*dBSkUn!K`4q;OOaRrP=0Zzk{48u)b{$L5N<7?K>$GY{$mIw#)yccAOOlr%(
zrr%8BO!IFEyjKZm#|<HiK2k)d42Pw+_;!uILMiV@bdIg|)@E-CK=uMshdPh+)sDs0
zWw>`&x^lGLSK^?T;#%V0ZBe|?WL;`LkI$olC_Mj2+dMa2QNTE(;~>`?7nc${_L_|h
znP#`k0;=2Bvy)Et{nRqi(sq@BOB0ns#b~a4?zDAV5uMQ?rbdh$fbdGY`mSouttcmw
zaVM7@JXR!8^aTVquJ;~2<hXE(8qMu;SQe8y$w<<=<JEf`Gn9bEbX2$Ll&@LCO)zAU
zk7Qp#DaIXFtk4JZbD5}CBpQ8;AJmyf!<noF=WyB7oGcEMqajkqz)+}p4pl*F*vEQ!
z&=Cw_DxEr0Hct6$l46j#fEmgFlYe$ok0(5!?g~eem?Q!Atgd8#)ATgh$G+49<O*MO
z#WDp?2ut^J?5a@Pz(W>8JJw&yi4giIQWPYm=EFtf1_52z*>2>pnCYjx8ov3Pv4XnO
z)QOyfCJbpAbMiXRAs6|RX&FDd(dLtcI|zIza7BeQVrdT*+bZbzQ<nj*Ci#UUY=;qn
zF;!dX-Lc*y7zj`98OHp~Gpz`}JlyuFMOgSSNYxT*PElWkho=`9+ohx<@dU=$IVeX%
zQ$x>c+8%lI{#pi`Z>E+&qYt8r|Lp7FrDhGlW%x1c50UmBIu&%c+CV#hq4>v0&1|T`
zec4IiDk8>tg4uab>i+@+Bm3NiXyn@4I?YSpM}C4&?PP>FH227!x%6Gs)VzcpGGAq%
zDyz`o<Uds8=DvN^?@D}F@oHQ+dI{s$(cb216gp)shd?ZRVDYp9_&dsdn2^)_J|1yg
z!oEKP0vW?xk>~We+q7x;YhsL!bP?&onIoRrY4V@l(wLmUW|*itbdhR8o%o(8t=)yS
z9Ida$loOe(lWJI`a$LO00xD&q?=5440l4M{%WnN^j$Y<Yxvj_>QOymQ<tjrE^T+*>
zRMRK%%YbMrAqCD<99J>k*CQQ|6CWZew~2Li42@xh`rW1@tGu2Aa|yFqjb7B0X~8s5
z+MGm%&8M?uZXXWF_~_I(y`)mNn%UdH4V)KH#(94e>At#Wrjy1&{bleB|1ZG-Bj#>)
z=iHokHhn(&oc3T|gFS>$V{?Wr&W%*5Lp@W8(zfZ<ElMXKf4T>a5Ro2!k9p8R^uj#s
z?k-l)5VotpHV*%>kq0IR|I<k&h~a=D>k8G}Z1e^W-D31Vu{-UXge5elJ(7u8YZ`?Z
z6bGBg;yLUh7L_+7t#@Z7tB(QaWwMz#@m~u@I#Z7h;98LuY|d7mtTY6@uvf;~bF^DS
zfj8F*GwB0dsA_WcB-|Y&<ykh~WsqO>vtJf-4iN`o&l@@&V`3V~FZXk~<<%e)+~qg+
z#u+S|6MvqV?6HP-+<GaNxs)HVd4xs%uV|LZDh;Nx-rbN6$)N0^kk$W>Q$;)Q+EZFO
z7yjDHL!pU-LE)_*My&nfF69dNum*}togJJ=O~k62ie`mfgW9a_<ZD@}!4;<e?^1eC
zt|?7`)@dHgQnVzTMjArzY+1ttJ`a;fM}N%_$i4n(^r+^BNPHC=SDFrD+@C9-jsV?E
zZS#I|U*u*(qv-XhcU^c0lv={pYodeHwvPn`S#I6$8S_??kS6-4-i*F6k`fxgy`d(z
ztVPD`egmROXSt)?Hyi(ouTO)!lL^Z>>#aV&?_4&uPbJ-T;_VFJA*%I{GjBMWikf}U
z$6}X451HHO2nYoODc&R^e2r#PK*0L}#<AMT%^2q^X>eB2dMs2<3WSnG6`J?FhMyd2
zV`}H|fYS;DeKp1cD(h%Y)RBT1y9%Yww>-lhj)|j1%2FHY64J>YqTf(MPjqS0mcu;<
z4|nPxCFHZP3@Cd8OndIeQ;W-T&|tS}Mw+b8V@3$~2&iE_iausijm%H@3xeYXiSsB-
zs1G~Xb;CIdbG+zzal2o_L~9BkZ^CP*qhUZSif;}W?aC+l`hCIJr&GXl{07h8n4%~o
zT1VaAgs4RJ8!OyrvkqC8J?)v6w)KSu9s~KxNB;e&KH79fCr@^Z9V|4j@}Q0uJ8@YN
zW@8G06C+&6w>usSDWe#Ekx-EVqF-)nYZ9gi3itTpm<+T;K;{#-3Sj35#3tWwYG84a
zvWLoQ67+Dd8#*>yT3>T~`p#$|UeG%En&1c#E7O0MXT0rkO@+1&$*%&e_>3{TIOo?!
zJBD0UT^v7|vp{mdl%esm8K)I>U9vgGeF`sq{<;rUcqQF*jc?YuOb?;l#B@;rf*6z-
zzzl20ZY5OImrUHrf+0&gEyA`5$@y4*txGGlp83obWY%qAjO)nAmjq`FhkQv<80V>5
z<mO!-=a1r7BS4y2K-Pv-RM&=IQJnt<4NKlkbqNzt#v;_Orm6N(l|J#nJ;=3Q>nB}h
z0-BCtC^ly$IY#38fBI_2N=u%!(ln{oXc?2~l6m2a{JwJqU<IPeI=!HCcgHuy&_@)N
zKfXFgz7Z&d1TMnmLKlV1s`Rdoa7={2GTt9wg*<GljKMUGU3DC<6r3NdmUcZ>7cw-A
z>)uT36i<-AUrc%KUgn*#=N{2m@%}|akT1AHC9x?-T`q@&dWf#E`O`n$9t_sGJ#yR;
z^o5p|#xG9jTA@+V!;sV`yzd*h`a9KP?TJjwNJNw6sCVeC91@3bOxKYeIF6FmqPL3e
z61NtjBENRewu|Sm5ly1ojk(s%LU<t&6aO)8)(u3p198&{+mkyil~}(OG)_1-v(Zhi
zD=W@-t;gr<V2KCu!F_VuPr!w0EUdt-h;nbU$Mj_trRFfx$J8Yex!$E!*fkcPKf<j=
zU7#C3+f)CVjhIVCQHCa3zo)SiSBcRm&?@ie+l!qh-20EQiT>$ntZKvOC9_@<`<&I4
z5Na!Tj_cGrc|<NAvwN}qn8OW4T^%ra&~-*MS_?qWA33WaIA`?%*uu>JS2M|nqKAGy
z@10p|wZgAVMYH!f2dA+!N;d=<Id)eOJYc<eUXd^pg_(a9)tsPqmF!GA?q6-Gjj*wG
zLTMk+9RV#=m$HK6gMMKlr<O1>0Hb$GAxDHd{0>?ADgOo(!1Yt_1=yg(WV_11neX3s
zRNzJ5OFpblrsVH<xw=EITnaB1wye4@y?+a3f4K*fD0AgV0_2d^1p6hMbnKYx$$68N
z`X~(pT2jiAH=LzjmNl$i2ab3@A2xw&Md4_dF}+8?@IPsQo?Lt8Z@awr#`~FR+;uOb
z;%)&VHUxCf{Dk3yo&6g@;bNQckKkrv$cnS+%le!gTM3(GVOJ@F<jw3w@2mn?thze@
zhw)oyw?le)h?@CL#$mDV2O5&=etT6-G-ITZBu4apY<H<x=h53@<mjs=L?570ZlTEy
zI|iJbRjR{!=s{Z8zF18$g^Lm|knPMh?*R;xk$rp?%O2-^Oo7xxLcU?bYT2*SsGUP5
z>sXE#yDMd2OORg~Jj*2KIwpeFzAe;Om>`gx0()wmQE4_stw~jbmw?2}nPiS7?5gHc
zY=<2~Mo8|(ogRNWhYJ7bFdBKyl!%wA8vk(l0GbXn>ZO?ED4<vqJ@lh(Z}B|6qA&9^
z4Y@T_NCsm$SY-6LH8W=IZFUv$sY8+un#MmGxf6v6?QC>NhT@W_uLg8Eq78xh&s-+9
z2e4Ph8N!7Lm`IS})9XUKB6jubIHWgrd&qTrQp_~luT|Fe9mDK*_L|zvLI98%d};=t
z>xt2r`jIF(@RHNfzz4mAj*2mx+ItS^n?mvb>dDGwLTdUXZ#tCH;RG_5r6c6taFCgR
zEmoaxF52Y$B=8RxofKq*le8mdga%xx(f5q^a!eio;wk5SlqjsK+_iqZ2Oun`m%_&+
zHZIn^vBfg$I0Ez2YiWCIhhKoZ4Y#$lIib7zC*q))f%A2&&QM&%fQwHx>@0%DyH_Z;
z-|xH&MwDsGOR46fMIBB!032@_&s+fbRpk4FElf^!jgQ=<>eTu+9*RBi)*cQRI0Jwx
zGnsVPbN$@gpG;S~$n*-@W)yxr!Kl!}4X=szgt}g`gJ(n7D*F+O<pDo=U|{ALOYxJy
ziHg2IzDzXTIG6DYyCcbPy%3+K{{eH{y14?7UV-U$SA&u9x#9i(8_aEnL}>YQ`5TQ7
zB7{Sezf{OzfeXGA?{jUDyA)B<1~Q^uF=X%yS`<%O)<K80p%(u2q$bSa10W>A<kQzV
z`K!(lXvmPp<r`>YfLys9WBfVhwIAusi+;>v^-EgRWG*;>n%rV0vQSoKiEei07?5zi
zX5$6pCiLH!OJQ3<B<VSJz(&RsvgdVS!oryN`P*dm0}Lj8-u9LR8*Fu-Kg9i;1(Z*r
zw&T{gMljdBw-Q8}bxT}}-cf#L%&K=|d1dD*LWr^dD`SUnr1%0><YZ`nB@ALU3?4A&
zbFN@kMh}{IL7fP2?xA12d38A0+!{n_R#IMDFU>6g-8Q1^Ts3!9@t5!}qc@vxdFP2w
zl}kO7T2qEp1Hd%XS381w1Vn0!_#p+onq+R>kb2XgqZ*8DXT+XvfUEOvFx?+w1SO5y
z_1f}3bnTyV+eQ@E(_$v)PDna!9$s`#?e|;AK?G#E9kMTl?6hRB)#*uHo?@n2yq{BJ
z!Bw*jZW~k9)KTzg9Fp}%XFR-g6z#3(0xag2InlFj*10fF8M1Oq4G-HDQrk<t=N;n4
zx4Wql{X*je50Av>im*Pe>)o_Se%ClMlkWgA2AAD(R*T=H%gQU2-(eDRPV6dail4|K
zcom5hCA{89^6`*o3GJZ$i!{(*?vu=9yfw}$mXdk68*QbDT?cbc)7ZL@=6|H)HKT2?
zokzi-^t<2h5}a?YNn79-6a5uCE~p=SH(=cxF(2IG+b1Nynq;N_T6<0D4$5KP`mUH^
zC@DQq@(f^7)TGI49G`;WX#`o*ZF_+u1y>ts*=gF@RkIxmNntZV&xf*R?(v)~8{=du
zD6imulPOg_MV-{@D!<&qHixI6Nmia($GW({uLPrDS9}M$;qSnZ2+@)J6Kh5Br6@OL
z2S##*n+Mhq3l2ZTXU-*aI3b0F)7=uMfe*3UQ4F{O5#RI#Qb$$+jOoqQP<hBQAvB2C
zdkBw9*OA8aO*c79J5QV)>%7|kK_qIX0X=syAmvx_kp5csE3^4GYHm@TF(KQ8FY>I7
zg~%s!`jJ%!#Eg+}g_Rm2pMjyX9>BU&-H6V#h*cm0e%7ZuEtrJ+2X}AT^8wMy!rGpv
zW(zX~2R>tSSNO(2T~!!l;9dy`K2%Db>T%<*z=9f3CgES%o_ZrzM~Y3WmDe4)J+3)c
z<KQ7vEb-ws5{*NA3m|VZvJ9U!8?@O7lH(j(v0z+Oja?(Un+oXUI%uh+CWJnco05S8
zvx<Eyb{o)$$Y!sFye!hqZ1w!Ey1+>QvQ<#2aH-%d_hx;lp8X2Wyk<unz8gPz1Gl73
zUOwQaioC$ATv1=mj^(#O2qtPvJyFa01AW3~Ggpb6sSdM%xr448%lpls3;HOxk8>F^
zJJkDZQg^uuq6`2Aj~$gxa6G2FQg!Yd=(b~t;pR5vbf6KaD_w<^Y)xT(Pag{C!Q~(8
z*1VjVd<gi+2IkEYuOv;>Gn24|#IA4FwpsBd-$7YIyHaWW!{F34zPo?r`mxi<mEy$V
zyh79Eg{%k|a5`A9Rg#_#r95dt%F7{}f)xV(PJ66gbUa)}YPb5<R?-yJrpeXa49_xp
z+tM@%uVE&8Alw}HC>h!UckniSNA>YnCF%nHhpTb-2NSFv6*L3_ktuTx!kuJ0a7h@F
zyB-bSVOb1n2veJy8+z<h5d~;1W=H_YKobuuyc!ACM;yuwO#?XWPFlfw&I0``5a3%D
zRB>mNXuQhitY(t3XiT+a8DF-&vJSavALTC$MfNbDYbgT}W-&QWUB%YCmOV~kb;wdB
zvNRITfU~Ylb-0~``}Cy!T??mJW6zKH38qWm7Da+em`dztliwlAX)+dRShUsn#ektZ
ziT70rB^|PZcT($YRvW0oDPB&K&othn6)q<@OKRSzoK=y<0>R-~XKa%|F`;&f_xl`r
zPnz9c(JZ32+ZGd;*K%Hq+~6(>%RQ2Z5PvpnPrqLBL?cOo`{W2z#~KoVd(gq}ucHNB
z@R^|(jm}=;IO<*;C4X+hM;(eqCpA?FDLN54pQw85$d)d?;Hl9^15W`vP)y|Y>np4a
z7I2E&+v_bp*C`=GRO0XS(AW$*wA|Ro9AN`l#9!<kj!ZO2gX^~jL4Q~6;lpK-ri;cF
z@rz|Boww%TtH?~MG~>Pb7&ko{>h2k$!bNCJU;>k_Zr_a^c&zA{6oVlD%eVV@^zclK
z$qe)H*o@!jMR^dZA8ELE5jd*Q_tb-GFs~FzetA$S3)n-)@NB{t_-a+p3cC}8`oEF`
zkhqhGsVpxwWxNrXRX`~(3am38oyJLZn2|k`dX(8jZE;pm85%BGyKJ`X3?y(lN6e&^
zUaDL5KCY8_ep8AYzq<c6J!0yrb1I4)CVP96AOg$0GMAsH4Wr_+o`4?d^|Lo9UC<_A
zJCEI)8)qSWB4S*b3qHJgtGdwg{6yin`;Nx>UzP=H+Kf)wr$Tz4UcSa<9l^%5jx!)Q
z+Mn|4e%u6nCiC+8I<>P6mJ6)j8gO!OOE}~5S9m+FPBAjfPIf^`k!SiKp}lHBb7iQ=
zw48${HVA$$_R+r#5gu#+ps8o8zk+@cMXcAPk?%e06CP-li|0=`2U{clMvis<akZ!i
zl+*?KP0dpt087K38$p!w@ykINhddAOzLLL>P?(~@nZWDQg~w+{<<erF{2)5VKLgdV
zBLx=Shl3UA=!Jb1GNpi<z&P7f0M76)&l4Oh4-=}^Wg3h>R#EIV@{vh-{z-pg>svBW
zMd`JD^^2Yz#Kql{$BP_m8wj&sHHjMO<Kv4^ayzCmzH;+}N3)R{F22madeX)naOzmk
zA*ev?WLW#;550(qHg%wbdPL%@(<2Ubb+QWQ8zWs!Vhs-j+TzFSxK{;gQQ!}>6;c!r
z=?|&=dm88wv9=_xoO}R{nZ1D0yK9mr7@?<4d^n467trYv%@C=kMxrkR>x5gtV28mA
zge56t;E}_nu)hP;DK%{@3NpHffgZ9y)dLdr;yg57OPyxmalA(`xFfip3XqoFos7d>
z7_c7Q*zsq!jGM{S)7ua2%6PcJI;zP+$DPV#0Inr^ibUDQv53LF#SwndIdc-@hVI;O
zFB#eTwW|Zs{Vq{BpwOn1uQ6>#^ftfD#L3MB(M$giM*em5i=`rhJUx+BDF&zM@6^bT
zTcLM!8!G!s>^y$`6pWlUo1b#^{=1%65E6k4-5QZGg5rL;ko@wtA~=x(LbphIxz?wm
zLb4KR`d@98AOElrluNygudhWgY{1wkLu0upUpH-}r?BOtjEwwg*;n=lD^0g{K2wN{
zcHu?7Yu}?XHxOb%@K<u@Xd-C{QQ*@}sImAqFQLiYCVcX-Pj11xynxt1lV)#1BITj0
zu4m=yQ-wwfR!TD$p?83BpS*6Ua2VAU<~xl88!gcP0ESCxXH{aZRd|oN_x@rda1eC%
zA4JUu?2X;28xd3KKdQ_bRT~4Yt84Ebv%E)IL;GMy-+qm0OvBR@j?OGPCKs$gVC4xS
z5+8Ns_ZL&Cwp=Y%n`zs`Q8|*Sc{QwIUou9a67gB34e^5X64!^|S>^j*&@X9^x3P5S
zu*v_LT!HWAt7IvdI!Vv{>axoZY9;KBDjcL??Pc*U_<M`BdOI{_P4)5cQl2LT0bRVU
zgLsJC87wSePC%BG`fQfi#V(+fV)$E{j2y?rsWzLBh7{2dXsFV`2r`}<hl6zB0g8|t
zNz+>KmtCWeW^-(ore2UKJ1@BrfQsMrp1JU8LV)J2qLq>Hq2Y#<pmXm*aPSH#ObbLv
zY>mIlh^GYR^ic2Zkm&dk>Cpr*qSh}m2#aHFO_HQ2-0x*H(|bbz3=bs~3q+R|(*bIQ
zjb2zDiM_;Qu8$A1l@<!7?0N&7R`u=I5MnQg^$2%P_Za+PZ;}%Kw`_|%z)!Ss01JSG
zbK*osQi5ABF6}hs6NDcB!x(GKJ@gCZK-&Dn#zs=5e(^1S&u)(#c=3@Wnpx*}XFL~A
zx(SuwyyWoy`}T0swkZQ?6=)%@aRAng5s3&fG;W8mTrdEU>u3yQV}t$2L;W>^cVkl6
z<+R_`seisq*No>jcmB&%=W}wP3odoE5&!1^8F6{cYUgV}vQ4~V;^qhEus+zhkyhgC
z0mDhOV(dT-3um1O*>Yj4sQv!p!QqWekFZC55#^@a4c$o81U`m2FPg7~?RE+~Qzt47
zCz*!AYrxab(l?gi+|}0vbuat`ZAy6AfL;Q+wb-#cF7j1u!)f?})Q};g>jy+YD(P<Y
zsc>U{EdrU|g(`{2_Ap4OT*{r>ndTp-10P@*5IJJM?Z#`At8LHwO6Srw{Rq%4KB9X7
zITS3P8dMa`x@MeXJ=Pf~w-lh=A4J}+ANVf}wngags=Gv4y?i%nd+Dq$cflUoW2-(2
z$Wch1B9|TYk-UswXHg}Gmw^R&sq@P)9;hselLswW&+&6#WKu8)zJVf9i*!6h46@y|
z(=ZvwrsJK{0*j#PtE!Xz^8D1z$WL!r2>e%S#eSo)4?K4+&V2zW^+$!eSLcC()2=Vm
zvpsn9ZyEXt#g(XU<et&T2)aQNN6CK`f6UoAoz~+7044qo{^b|<$nyfju8x>s&^a`>
zBz?J3t7?nu^{k<qX}cxe;)h7^+h2V5h@1@>5cr3Bce7JZ*Pp91PVVz0ToNL6ieg1+
zqc5P`HYK$pSK{HWD!Sk7{q9@(4-bjZeZ`O;E+|k<%56A5zqzRw_lR#VKoq-m;uk=A
zsZ9`bjk>YSo@$6pdhOY@79^W3i3KJ@W~;GLIl*QOF~`-i6vs+mN8HfAkk#pl(nBB;
zb~KVPiy7v`KbW=-hh`9p`xE_#X&hLAV2wau{0!j*BFQ_>WkI^R1I<!O`F!|1K-z6S
z6>y`|wY$ty==j_E>GsU##J1Asqe3nQZd8D^Os$FeYM(h@eN8oFq6@PKMZq=~n8lfO
zIqGV>J2<B+^NL>5<h5)ti=@y1AP!@(818@sEanfcj(5&|o*eZsE~n)++XRi|g2U9J
z>ek*%cy|m=^DTAY=2^l1ajY1v&#bwuo5b<4E#b0;LH(`yykN=+F3RQDxT6aiy4F6?
zrh!FvVg~22S3)QQzt9hHm*E_1fONGc7yNBg<>k0z4I;YZ9yXwW-ff>`KT`lM+EZYr
zn7p!_8ss%nwR%Yt6<7&4A_b3c9|t#z<DeKkW__Sk^mx`SU-OZZwc`1a<WiU)bpjcS
z_Xxx~9&a~x8;(sGkIXsl{&$o@VN)Uwbxq@iMO-a8)14Rq4=}fMb1W?>x}43}P^2iE
zT#O|f&ikvN_7R`>cA#VYz4lIp;I&jV^bC=JyYE;4##*iex*2_3k}3P2m0{Ow+6^@v
z;@Dz{<Uya14H~jSdMKMJ_F+j@{+%~cE{t=Xh7n=(UHTY?3KD)I_@Z~|;euD4lAT~m
z6mO$gKe?|%F{~LsGLX*(=!4L}K5VNRMs|>&f`B)bB{5vlJ~ZmXHFrp(_=?mBFdddh
zyF**g%LV#s4XwSJplBBR2f+;s<o7{TD>s!#BI*-0_O<2Q$oFV#dHF*<Gt(ph1lOI5
zm>;ongn=>jyWU?ac<{UMKGi}>5CvsvyfpxH>7RQvwE@>rLyvz`xI6n7wUA5zpQRFX
zP!(M>JGFxYJ#NyT&F%)=HhKVo5I?!CP@<?3QCsDac>I-n4j|jNLjnI_D^u;uEX^n)
zYjuINc$cs!H7M~gN6tX(23i3+uSh$c*ZCxJX9`>kULrXLcipoOvUP&H%qAO~Ov4~T
z`kbpApJEE&Y=r~kecd)jUk(*d4Kv{QLhvH#&m|T-DEycmMJ>*H)Xi>vvH^XsvOpj%
z_;Zyxh5R!mlIl@gZKb@_q^<b+JSOUy&Sv@F&WA94+W&}U?DO=GIN6&7HQrW#)&HjS
zvac&K^8E;;a!+r}JZ*n+V^s02r%Ertf7Zs4XagNOgA?w!Ir4<Ae%X~0`ymN_@QtF3
zYxJ?es&@!o;kzIJ0<~u7!#D-4T>`o&vmn3Mp%;sQcn>@11@^OL`*~n(KNv<GO;K%s
z{f8o?F&Hp!+vF>!1-X`5zHymzt+0J?9Tc?=vj-SBJNbpKQ?T$FsJ%<xpHp8iL@m{|
z)yk4iIH;Agy{WR7&IieM!(Uj-DO8EZmqwZZZE$&CI-W7f0MXa7OSzF!@q3wTMOtU_
zK)h>uz@?K}tZYj6OJKl9@Q^vzBzQ|sz~T;?2Va{sR2xb!9pFVYLP_S`;s_hQ+`-93
zFS|#G75O5l)aXBIvLQrDRu_+V>-K?E*>FWYQ&#r4F1P8opi#+#=5UK0OUT|XB&g${
z9B>mX005k-cd^YFe*F#+AeTc%D=HNTtr?)Tjd;g87!H+!4IPawx}I)NUg<d7jpBw9
zQ*#FB*{eIEx@Kjawc?;85_6oAhXzHumUAYGtx_P@5?A%{JF;??_A{8Th_#<BP~98^
zInl|JDC%{r$3}=(B=Uk;EXFI3Y7(NqmUnan6o{X-?e*rWf4grLdTr4tf~xK4h;HD=
z1aFalKveE(A!^!S3!TUzQx|GFy|nR{PSsS+=aRIG*IN%Ew&}jU^O4p~ORD~9-mal}
zz*@D%kj}$%)kp!`5AeqC;dZtENADYj{<9ykoZT{Z+f;BcnO{xJ4h9ZGS9JJp(%P3+
z$T(?(*+~+-Ilz9OSFj5uXSqK4V+dG&SKtoY;wY^_PGxkLcUx?CnjTT%Nq|7`l<W_}
zic9;75C97lyoAjmA@c~xGXN72gLk}T0Y+=m=JSxm+?BzbA^G3=BF~a1E2#_@0n?gD
z6-%||2F(ajVzEW8dk18C(^R876Hf>gT>o{&#-Gk*FHNla&Y9jLPr6hX*y2(3osPX&
zJraoR3m_BuBN0T;cMjh)O5=99xsTHV_Y{%JFw_fOXk<ih3+V$ZX-I)X!z+4Y>D%g!
zo{pz$7jCpdAVtvHu;5XU$pG$_Qxj^-K<MY0#QMEHdV}*IJoKIAX*7EnK@AP*lZuhQ
z(?(Sdy41UmKS&2RAwm(xPo%L-bTmkH0Y~nQ&c%-7gCiWqa<Cz8Bd=M#3hF>X{f&S!
z>W47Xi%yYjb?N?qi-e*ec6#p$8~PN|<Na|H-jPy2wtpvh!g#-^7bAcOzzy?4a%2o*
zN$l?otc1GNQLNh|TPs76I~Nvx%&S;*n^i!WI^EN=r2&6u#Obc-(;UMmCz|~!<CPa(
zaha~vXR0URd3dp-RiVRx+TI*Nxu{TGp(fCTg##OuGLHT7^iI<E_TXo=vBYcw_jg!4
zEv>#;rvdPz3%F0F5w@mB)-m|B4G_~2uC>tvOroW{-{~+Nd0am6<nQz!NE3Ah1o@n8
zUnhq3jYkUU=y^TW7u+WlA3^sRTnq%%T5=!eKF>~0T4$-|HCK9%=Ti^a4M?CXWgrx0
z;p9-IbR^L;$beuXr>+J@``(Jo=!3mc;s~5yAPz@~1Bged-QS1xaX)iff$#aB$9{HW
z$*%bt#}z3Dh9$+Y>wTsjBGhQ4#cJ`w?(?UBEmNjE^YY66rHXPggl|K>{!RXHF_972
zmRuxg1z(hzuaWsq!67*(6P7BFxr=gAm}9q#=N~^kELP{igQg3-){u9d3ai;@iQ_d;
zH<>?wunL&)t3Mz}0UCe+3W0qTrmFX!om2h^;Q`2`)Rfna>c=>2SI)gl0qR}_NO?Y{
z1(*kgYVqLG&!ek7A7tIQ(eyKWZHu1Qqr-t;^6|~}({zUUnvB9ay*qCbfOqKnzw8cN
zHx72f;EhIXCQF7Jd>lJRrwoUJckBk%sG0%y*+2Yy2J^4peUY4b&|$j0{a`>mT$Ju4
z8-CXhovlVCz0lEl^FKA=mO+%I3Z~tX7|<;ZM^0DoU8h3qljsGWW1ZWpHhUmhp7PT2
z8&^GP>NG>^s{ia`MjnetBS^8>Nn}%4DCMvZMuGmVBt8dwUrDt!{Zj$pdWU*f)idjs
zZ1W+Y+{qh=@l_KvxktBg{x-RwJ0W|5YgxK0NpzKe@6lXepDG<Zqg@rl;F9B|%m0mz
zdbUMl>j>vo<+JfgD)LCk9lAXL*l87Ci<n0z#RSoGjdm~hoW1!q&n{^*IWmCYIn}GE
z7M`B<Dk-bqEpErMoZDd^%#uX{=9sF(wu9(5X@<zE4m0ei-g*0^H)Z6S5Ej(mN3cGg
z1n}kzcfV*Ub7pAD-ho@6P85iT+rH^IuaaB+$hYiMT3bJ>*7p2!V^wqTLzXdezE>2T
z>W2^&a)waa7C3qwdJY&5wl;K2%b=|%dFnUU4rMz)x<zY@B~eqbH*<44QANuyFbZM&
zU6ib-KOL6NrmC2TU}=QYTF=>#eP2T6)*qvW-{+Ho^`Dbx?6oK6tgV2b%*`eu+mfht
qv&i7nD+yzq!px_KmC37m*y2q{tky6900000000004G;FW5C8y0sAszX

literal 0
HcmV?d00001

diff --git a/assets/Temps/ensoleillee.png b/assets/Temps/ensoleillee.png
new file mode 100644
index 0000000000000000000000000000000000000000..75e3024948bf6bed7af9f10eefdae966cdcbbbc4
GIT binary patch
literal 3720
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

literal 0
HcmV?d00001

diff --git a/src/Champs.py b/src/Champs.py
old mode 100755
new mode 100644
index 2302bfa..480c898
--- a/src/Champs.py
+++ b/src/Champs.py
@@ -3,15 +3,17 @@ import numpy as np
 from Temps import *
 from Image import transformImage
 
-listeImage = [pygame.transform.scale(pygame.image.load('../assets/Plantation/crop'+str(i)+'phase.png'),(120,120)) for i in range(1,5)]
-
+listeImage = [transformImage(pygame.image.load('../assets/Plantation/crop'+str(i)+'phase.png'), 120, 120) for i in range(1,5)]
+iconStaticSize = (100,100)
 
 #TODO : mettre une proba que les plantes meurent si il fait trop froid/chaud, et baisser cette proba de mourir avec une serre ou des torche pour l'hiver
 
 class Champs:
-
     iconInsecteStatic = pygame.transform.scale(pygame.image.load("../assets/Plantation/leech.png"),(90,90))
+    
     def __init__ (self, temperature, humidite, tempsAvantMaturation, pos, image):
+        self.PourcentagePlanteFane = 10
+
         self.temperature = temperature
         self.humidite = humidite
         self.TAM = tempsAvantMaturation
@@ -25,40 +27,32 @@ class Champs:
         self.indiceImage = 0
         self.champZoom = pygame.rect.Rect(self.pos,self.imgZoom.get_rect().size)
         self.isInfeste = False
+        
         self.descripteurChamps = {
-            "Temperature" : None,
-            "Humidite" : None,
-            "Acidite" : None,
             "Occupe" : None,
+            #"Nom" : None
+
         }
+
         self.imageSurfaceinfo = {
-            "Temperature" : None,
-            "Humidite" : None,
-            "Acidite" : None,
             "Occupe" : None,
+            #"Nom" : None
         }
-        self.setInformation("Temperature",self.temperature)
-        self.setInformation("Humidite", self.humidite)
-        self.setInformation("Acidite",0)
-        self.setInformation("Occupe", False)
-
+        
+        self.setInformation("Occupe", "Non")
+        #self.setInformation("Nom",self.)
 
 
     def plantationGrandit(self):
-        self.indiceImage +=1
-        if self.indiceImage <4:
-            
+        self.indiceImage += 1
+        if self.indiceImage < 4:
             self.imageChamp = listeImage[self.indiceImage]
         else:
             if(self.indiceImage == 4):
-                self.imageChamp =pygame.transform.scale(pygame.image.load('../assets/Plantation/damage.png'),(120,120))
+                self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/damage.png'), 120, 120)
             elif(self.indiceImage == 5):
                 self.isInfeste = False
-                self.imageChamp =pygame.transform.scale(pygame.image.load('../assets/Plantation/fanne.png'),(120,120))
-            
-
-                                   
-
+                self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/fanne.png'), 120, 120)
 
 
     def draw (self, screen, camera):
@@ -87,7 +81,7 @@ class Champs:
                 (self.rectScale.h-self.rectChampScal.h)
                 /2)
             )
-            self.setInformation("Occupe", True)  
+            self.setInformation("Occupe", "Oui")  
 
         if(self.isInfeste):
             scaleInfecte = camera.scaleImage(Champs.iconInsecteStatic)
@@ -112,9 +106,6 @@ class Champs:
         if scaleText:
             self.zoomText = scaleText
 
-    def setInformation(self,clef,valeur):
-        self.descr
-
     def setInformation(self,clef,valeur):
         self.descripteurChamps[clef] = valeur
         self.imageSurfaceinfo[clef] = police.render(clef+ " :  "+ str(valeur),False,(0,0,0))
@@ -152,7 +143,7 @@ class TerrainVide(Champs):
 
 
 class Houblon (Champs):
-    iconStatic = pygame.transform.scale(pygame.image.load('../assets/Plantation/houblon.png'),(150,150))
+    iconStatic = transformImage(pygame.image.load('../assets/Plantation/houblon.png'), *iconStaticSize)
     textStatic = police.render('Houblon',False, (0,0,0))
     textDescriptionStatic = police.render("Houblon sa marche bien",False,(0,0,0))
     montantAchat = 250
@@ -162,11 +153,11 @@ class Houblon (Champs):
         self.text = self.police.render("Température : " + str(self.temperature), False, (0,0,0))
         self.zoomText = self.text
 
-        self.imageChamp = pygame.transform.scale(pygame.image.load('../assets/Plantation/crop1phase.png'),(120,120))
+        self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/crop1phase.png'), 120, 120)
         
         
 class Ble (Champs):
-    iconStatic = pygame.transform.scale(pygame.image.load('../assets/Plantation/wheat.png'),(150,150))
+    iconStatic = transformImage(pygame.image.load('../assets/Plantation/wheat.png'), *iconStaticSize)
     textStatic = police.render('Ble',False, (0,0,0))
     textDescriptionStatic = police.render("Ble sa marche bien",False,(0,0,0))
     montantAchat = 250
@@ -174,43 +165,43 @@ class Ble (Champs):
     def __init__ (self,pos):
         super().__init__(0,0,0,pos,'../assets/Plantation/champ.png')
         
-        self.imageChamp = pygame.transform.scale(pygame.image.load('../assets/Plantation/crop1phase.png'),(120,120))
+        self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/crop1phase.png'), 120, 120)
 
 class Malt (Champs):
-    iconStatic = pygame.transform.scale(pygame.image.load('../assets/Plantation/malt.png'),(150,150))
+    iconStatic = transformImage(pygame.image.load('../assets/Plantation/malt.png'), *iconStaticSize)
     textStatic = police.render('Malt',False, (0,0,0))
     textDescriptionStatic = police.render("Malt sa marche bien",False,(0,0,0))
     montantAchat = 300
     montantVente = 800
     def __init__ (self,pos):
         super().__init__(0,0,0,pos,'../assets/Plantation/champ.png')
-        self.imageChamp = pygame.transform.scale(pygame.image.load('../assets/Plantation/crop1phase.png'),(120,120))
+        self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/crop1phase.png'), 120, 120)
 
 
 class Chanvre(Champs):
-    iconStatic = pygame.transform.scale(pygame.image.load('../assets/Plantation/weed.png'),(150,150))
+    iconStatic = transformImage(pygame.image.load('../assets/Plantation/weed.png'), *iconStaticSize)
     textStatic = police.render("Chanvre",False, (0,0,0))
     textDescriptionStatic = police.render("Pour des spaces bières",False,(0,0,0))
     montantAchat = 1000
     montantVente = 5000
     def __init__ (self,pos):
-        super().__init__(0,0,0,pos,'../assets/Plantation/champ.png')
-        self.imageChamp = pygame.transform.scale(pygame.image.load('../assets/Plantation/crop1phase.png'),(120,120))
+        super().__init__(0,0,0,pos,'../assets//Plantation/champ.png')
+        self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/crop1phase.png'), 120, 120)
 
 
 class OrgeHiver(Champs):
-    iconStatic = pygame.transform.scale(pygame.image.load('../assets/Plantation/orge.png'),(150,150))
+    iconStatic = transformImage(pygame.image.load('../assets/Plantation/orge.png'), *iconStaticSize)
     textStatic = police.render("Orge hiver",False, (0,0,0))
     textDescriptionStatic = police.render("Orge hiver sa marche bien",False,(0,0,0))
     montantAchat = 300
     montantVente = 800
     def __init__ (self,pos):
         super().__init__(0,0,0,pos,'../assets/Plantation/champ.png')
-        self.imageChamp = pygame.transform.scale(pygame.image.load('../assets/Plantation/crop1phase.png'),(120,120))
+        self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/crop1phase.png'), 120, 120)
 
 
 class OrgePrintemps(Champs):
-    iconStatic = pygame.transform.scale(pygame.image.load('../assets/Plantation/OrgePrintemps.png'),(150,150))
+    iconStatic = transformImage(pygame.image.load('../assets/Plantation/OrgePrintemps.png'), *iconStaticSize)
     textStatic = police.render("Orge printemps",False, (0,0,0))
     textDescriptionStatic = police.render("Orge printemps sa marche bien",False,(0,0,0))
     montantAchat = 500
@@ -218,22 +209,22 @@ class OrgePrintemps(Champs):
     def __init__ (self,pos):
         super().__init__(0,0,0,pos,'../assets/Plantation/champ.png')
         
-        self.imageChamp = pygame.transform.scale(pygame.image.load('../assets/Plantation/crop1phase.png'),(120,120))
+        self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/crop1phase.png'), 120, 120)
 
 
 class Seigle(Champs):
-    iconStatic = pygame.transform.scale(pygame.image.load('../assets/Plantation/seigle.png'),(150,150))
+    iconStatic = transformImage(pygame.image.load('../assets/Plantation/seigle.png'), *iconStaticSize)
     textStatic = police.render("Seigle",False, (0,0,0))
     textDescriptionStatic = police.render("Seigle sa marche bien",False,(0,0,0))
     montantAchat = 200
     montantVente = 600
     def __init__ (self,pos):
         super().__init__(0,0,0,pos,'../assets/Plantation/champ.png')
-        self.imageChamp = pygame.transform.scale(pygame.image.load('../assets/Plantation/crop1phase.png'),(120,120))
+        self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/crop1phase.png'), 120, 120)
 
 
 class Pesticide(Champs):
-    iconStatic = pygame.transform.scale(pygame.image.load('../assets/Plantation/pesticide.png'),(150,150))
+    iconStatic = transformImage(pygame.image.load('../assets/Plantation/pesticide.png'), *iconStaticSize)
     textStatic = police.render("Pesticide",False, (0,0,0))
     textDescriptionStatic = police.render("Pour tuer les insectes",False,(0,0,0))
     montantAchat = 200
diff --git a/src/Game.py b/src/Game.py
old mode 100755
new mode 100644
index d8836e2..9f44513
--- a/src/Game.py
+++ b/src/Game.py
@@ -1,11 +1,11 @@
 import pygame
 import random
-from Champs import Champs,Houblon,Buisson,TerrainVide,Pesticide,typePlantation
+from Champs import *
 import numpy as np
 from Camera import Camera
-from Image import transformImage,Image
+from Image import *
 from Temps import Temps
-from Infrastructure import Infrastructure,typeBatiment,Serre,Torche
+from Infrastructure import *
 
 RAYON_MUR_INVISIBLE = 2000
 SAISONS = ["Printemps", "Été", "Automne", "Hiver"]
@@ -34,7 +34,7 @@ class Game:
         self.clock = pygame.time.Clock()
         self.selectedChamp = None
 
-        self.imageMoney = pygame.transform.scale(self.image.moneyImage, np.array(self.image.moneyImage.get_size())/2)
+        self.imageMoney = pygame.transform.scale(self.image.moneyImage, np.array(self.image.moneyImage.get_size())/5)
 
         self.camera = Camera(np.array(self.screen.get_size())/2)
 
@@ -92,9 +92,7 @@ class Game:
             self.screen.blit(self.temps.nexticonSaison,(self.temps.getImageSaison().get_width() - self.temps.nexticonSaison.get_width(),self.screen.get_height() - self.temps.getImageSaison().get_height() +20))
             self.screen.blit(self.temps.tempsaisonImageDeuxPosiiton,(self.temps.getImageSaison().get_width() - self.temps.nexticonSaison.get_width(),self.screen.get_height() - self.temps.getImageSaison().get_height()))
 
-            
-            print(self.rectPlantation.w)
-            print(self.rectPlantation.h)
+
             #Onglet plantation
             
             self.screen.blit(self.rectPlantationimage,(0,0))
@@ -105,15 +103,14 @@ class Game:
 
             for i,c in enumerate(typePlantation):
                 x = self.rectPlantation.x + ( 0 if i%2 else 170) 
-                y = self.rectPlantation.y + (i//2) * 200
-                r = pygame.rect.Rect(x,y,c.iconStatic.get_width(),c.iconStatic.get_height()+ 30 )
+                y = self.rectPlantation.y + (i//2) * 140
+                r = pygame.rect.Rect(x,y,c.iconStatic.get_width(),c.iconStatic.get_height()+ 20 )
                 self.screen.blit(c.textStatic, (x,y))
-                self.screen.blit(c.iconStatic,(x,y+30 ))
+                self.screen.blit(c.iconStatic,(x,y+20 ))
                 if ( (r.collidepoint(pygame.mouse.get_pos()))):
                     pygame.draw.rect(self.screen,(138, 227, 237), r,1)
                     self.screen.blit(c.textDescriptionStatic,(self.recInformation.x,self.recInformation.y))
                     #self.screen.blit(self.text,(screen.get_width()*0.85,screen.get_height()*0.18))
-            
         
                 
                 
@@ -133,8 +130,6 @@ class Game:
 
 
             isChamp = False
-            
-            #
 
             
             if self.money < self.displayMoney:
@@ -179,7 +174,7 @@ class Game:
                             for i,c in enumerate(typePlantation):
 
                                 x = self.rectPlantation.x + ( 0 if i%2 else 170) 
-                                y = self.rectPlantation.y + (i//2) * 200
+                                y = self.rectPlantation.y + (i//2) * 140
                                 r = pygame.rect.Rect(x,y,c.iconStatic.get_width() + 20 ,c.iconStatic.get_height()+ 30 )
                                 if ( (r.collidepoint(event.pos))):
                                     self.dragPlantation = c
@@ -288,7 +283,7 @@ class Game:
                                         
 
             if self.frame < self.buyFrame + 20:
-                self.screen.blit(self.moneyChange, (self.screen.get_width() -200, (self.frame-self.buyFrame)*1.5))
+                self.screen.blit(self.moneyChange, (self.screen.get_width() - self.imageMoney.get_width() - textMoney.get_width(), (self.frame-self.buyFrame)*1.5))
                 #self.screen.blit(self.moneyChange, (200, self.screen.get_height()-textMoney.get_height()*4+(self.frame-self.buyFrame)*1.5))
 
             if self.selectedChamp:
diff --git a/src/Image.py b/src/Image.py
index 3c78181..ae9a662 100644
--- a/src/Image.py
+++ b/src/Image.py
@@ -6,7 +6,7 @@ class Image:
         self.screen = screen
     
         # Chargement des images
-        self.moneyImage = pygame.image.load("../assets/Interface/money.png")
+        self.moneyImage = pygame.image.load("../assets/Interface/money.webp")
         self.backgroundImage = pygame.image.load("../assets/Interface/terre.png")
         self.rainImage = pygame.image.load("../assets/Temps/pluie.png")
         self.arrowNextImage = pygame.image.load("../assets/Interface/suite.png")
diff --git a/src/Infrastructure.py b/src/Infrastructure.py
index 08cc96d..2e1dfba 100644
--- a/src/Infrastructure.py
+++ b/src/Infrastructure.py
@@ -47,9 +47,6 @@ class Infrastructure:
                 (self.rectScale.h-self.rectbatScal.h)
                 /2)
             )
-            
-             
-
 
     def changeText (self, camera):
         scaleText = camera.scaleImage(self.text)
diff --git a/src/Plantation.py b/src/Plantation.py
deleted file mode 100644
index 33cc374..0000000
--- a/src/Plantation.py
+++ /dev/null
@@ -1,3 +0,0 @@
-class Plantation:
-
-    def __init__ (self):
\ No newline at end of file
diff --git a/src/Temps.py b/src/Temps.py
index 33046d0..ce2dde1 100755
--- a/src/Temps.py
+++ b/src/Temps.py
@@ -4,16 +4,14 @@ from Image import transformImage
 from random import triangular
 police = pygame.font.SysFont("Alef", 30)
 police2 = pygame.font.SysFont("Alef", 20)
-class Temps:
 
-    """
-    climats = {
-            
-        "janvier" : {
-            "temp" : [2,7.8],
-            "humidité" : [78,90]
-        },
-        "février" : {
+"""
+climats = {
+    "janvier" : {
+        "temp" : [2,7.8],
+        "humidité" : [78,90]
+    },
+    "février" : {
             "temp" : [4.5,11.8],
             "humidité" : [60,85]
         },
@@ -59,15 +57,16 @@ class Temps:
         }
 
     }
-    """
-    
+"""
+
+class Temps:    
     climats = {
         "Automne" : {
             "temp" : [4.8,13.3],            
             "humidité" : [70,95]
             
         },
-         "Hiver" : {
+        "Hiver" : {
             "temp" : [-5,10.3],            
             "humidité" : [50,90]
         },
@@ -82,31 +81,34 @@ class Temps:
     }
 
     def __init__(self):
+        self.ListTemps = ["neige","orage","pluie","ensoleillee","vent","secheresse","canicule","froid","chaud"]
+
         self.indice = 2
         self.currentSeason = self.getSaisonName(self.indice)
-        self.globaltemp = self.tirageAuSortChiffreIntervalleTemp(self.currentSeason)
+        self.globaltemp = self.tirageTemperature(self.currentSeason)
         self.humidite = self.tirageAuSortChiffreIntervallehumidite(self.currentSeason)
-        self.temps = pygame.image.load(self.tempAAfficher(self.globaltemp,self.humidite))
+        self.temps = pygame.image.load(self.tempAAfficher(self.currentSeason,self.tirageTemps()))
         self.iconSaison = transformImage(self.temps,200,200)
 
-        self.nextSaison = self.getSaisonName(self.indice+1)
-        self.nextglobalTemps = self.tirageAuSortChiffreIntervalleTemp(self.nextSaison)
-        self.nexthumidite = self.tirageAuSortChiffreIntervallehumidite(self.nextSaison)
-        self.nextTemps = pygame.image.load(self.tempAAfficher(self.nextglobalTemps,self.nexthumidite))
+        self.nextSeason = self.getSaisonName(self.indice+1)
+        self.nextglobalTemps = self.tirageTemperature(self.nextSeason)
+        self.nexthumidite = self.tirageAuSortChiffreIntervallehumidite(self.nextSeason)
+        self.nextTemps = pygame.image.load(self.tempAAfficher(self.nextSeason,self.tirageTemps()))
         self.nexticonSaison = transformImage(self.nextTemps,100,100)
 
         self.tempsaisonImage = police.render(self.currentSeason +" : "+ str(round(self.globaltemp,1))+" °C",True,(0,0,0))
-
-        self.tempsaisonImageDeuxPosiiton = police2.render(self.nextSaison +" : "+ str(round(self.nextglobalTemps,1))+" °C",True,(0,0,0))
+        
+        
+        self.tempsaisonImageDeuxPosiiton = police2.render(self.nextSeason +" : "+ str(round(self.nextglobalTemps,1))+" °C",True,(0,0,0))
         for key,value in self.climats.items():
             self.climats.get(key)['image'] = transformImage(pygame.image.load("../assets/Saison/"+key+".png"),400,300)
     
-        self.ListTemps = []
+        
 
     def NextTurn(self):
         #Le next qui devien current
         self.indice += 1
-        self.currentSeason = self.nextSaison
+        self.currentSeason = self.nextSeason
         self.globaltemp = self.nextglobalTemps
         self.humidite = self.nexthumidite
         self.temps = self.nextTemps
@@ -114,20 +116,18 @@ class Temps:
         self.tempsaisonImage = police.render(self.currentSeason +" : "+ str(round(self.globaltemp,1))+" °C",True,(0,0,0))
 
         #Nouveau turn
-        self.nextSaison = self.getSaisonName(self.indice+1)
-        self.nextglobalTemps = self.tirageAuSortChiffreIntervalleTemp(self.nextSaison)
-        self.nexthumidite = self.tirageAuSortChiffreIntervallehumidite(self.nextSaison)
-        self.nextTemps = pygame.image.load(self.tempAAfficher(self.nextglobalTemps,self.nexthumidite))
+        self.nextSeason = self.getSaisonName(self.indice+1)
+        self.nextglobalTemps = self.tirageTemperature(self.nextSeason)
+        self.nexthumidite = self.tirageAuSortChiffreIntervallehumidite(self.nextSeason)
+        self.nextTemps = pygame.image.load(self.tempAAfficher(self.currentSeason,self.tirageTemps()))
         self.nexticonSaison = transformImage(self.nextTemps,100,100)
         
-
-        self.tempsaisonImageDeuxPosiiton = police2.render(self.nextSaison +" : "+ str(round(self.nextglobalTemps,1))+" °C",True,(0,0,0))
-
+        self.tempsaisonImageDeuxPosiiton = police2.render(self.nextSeason +" : "+ str(round(self.nextglobalTemps,1))+" °C",True,(0,0,0))
 
     def getSaisonName(self,indice:int)->str:
         return list(self.climats.keys())[indice%4]
 
-    def tirageAuSortChiffreIntervalleTemp(self,clef):
+    def tirageTemperature(self,clef):
         #tirage au sort pour avoir un nombre representatif dans son domaine; par exemple [0,10], la temp sera de 5
         
         intervalle = self.getClimatTemp(clef)
@@ -144,25 +144,32 @@ class Temps:
         #randomNombre = random.random() * (intervalle[1]-intervalle[0]) + intervalle[0]
         return random.triangular(low = intervalle[0],high = intervalle[1])
 
-    def tempAAfficher(self,temperature:float,humidite)-> str:
-        #Determination du temps a afficher 
-        if( temperature < 0 and humidite >80):
-            return "../assets/Temps/neige.png"
-        elif (temperature < 10):
-            return "../assets/Temps/froid.png"
-        elif (temperature < 35):
-            return "../assets/Temps/chaud.png"
-        elif (temperature > 34):
-            if(humidite > 85):
-                return "../assets/Temps/orage.png"
-
-            if(humidite < 65):
-                return "../assets/Temps/secheresse.png"
-            else:
-                return "../assets/Temps/canicule.png"
+    def tirageTemps(self):
+        nbrandom = random.randint(0,len(self.ListTemps)-1)
+        print("nbrandom"+ str(nbrandom))
+        print(self.ListTemps[nbrandom])
+        return self.ListTemps[nbrandom]
+
+    def tempAAfficher(self, saison,temps:str)-> str:
+        #Determination du temps a afficher
+
+        if saison == "Automne" and temps not in ["secheresse","canicule","chaud"]:
+            print("Automne")
+            return str("../assets/Temps/"+temps+".png")
+        elif saison == "Hiver" and temps not in ["secheresse","canicule","chaud"]:
+            print("rentrer hiver")
+            return str("../assets/Temps/"+temps+".png")
+        elif saison == "Printemps" and temps not in ["secheresse","canicule","neige"]:
+            print("Printemps")
+            return str("../assets/Temps/"+temps+".png")
+        elif saison == "été" and temps not in ["froid","neige"]:
+            print("été")
+            return str("../assets/Temps/"+temps+".png")
         else:
-            pass
+            return self.tempAAfficher(saison,self.tirageTemps())
+
 
+    
     def getClimatTemp(self,clef):
         return self.climats[clef]["temp"]
 
-- 
GitLab