From ea73d15eafbd59a3a99788a4d0de1169481dfc28 Mon Sep 17 00:00:00 2001 From: sorcier Date: Wed, 4 Nov 2026 09:56:53 +0100 Subject: [PATCH] feat(ui): add immersive plexus background image and glassmorphism login modal (v1.4.1) --- public/api.php | 2 +- public/assets/login-bg.jpg | Bin 0 -> 45336 bytes public/index.php | 11 ++++++++--- version.json | 7 +++---- 4 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 public/assets/login-bg.jpg diff --git a/public/api.php b/public/api.php index 6da77a6..39c6361 100644 --- a/public/api.php +++ b/public/api.php @@ -140,7 +140,7 @@ try { $installedVerData = file_exists("{$appDir}/version.json") ? json_decode((string)file_get_contents("{$appDir}/version.json"), true) : []; - $installedVer = $installedVerData['version'] ?? '1.4.0'; + $installedVer = $installedVerData['version'] ?? '1.4.1'; echo json_encode([ 'success' => true, diff --git a/public/assets/login-bg.jpg b/public/assets/login-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96dbf0d762bcc5ef48b76ab35f4d176fc26be9b7 GIT binary patch literal 45336 zcmb5UcT`i&w>KVo4G>Bw0R#d_4ZVZXLa(7$DG7$&QNcp*y%UNMdJG7mM^Tz|kkCU@ z5D^hkK~&Vo=f(T|{nowz+;^>apLJ$-X7Aa1X3olI_L+VDUH|trfX&Rv)CfR90RT{3 zUVwl1DAr943~tyUtc^@9;QtX!0xpSK9smdqiHblN>kB!%xC+s|{!fp;GH>6=u)p>H zLYH>Gt^TzR04&M=FFOCXW(FiG()Uu~^W`lXaq0YWu$-4X=gt4{5`TH0|M1#>`CCz8 zQI|S4fB6V|gux|`yyPWr{tw>gfAGFx5r6fwFLktogQEZX`b&RD%!~?gu)D13FK>Q8 zBme<02I&8t|K;yX3dI5d>gNCeRsMgs`BVS^eJKC{&&GeZiPi!DtjPdC@5}#g`|mXg z^N#TTFLTtFC8eJq0C3t2003P80FDI!fYI&0WS7PNGB%-05&z}5LNBkIfFJ-0AOtW4 zgaCX2uuD!6AP-OgsQ$YNFaS_d{-wVq)g@8WQvW4-T3Q-f26{$D26_etMrKxKMkW>} z1_mGq$im9T24Z7mX6ImM;EJDI|KmHQ?ye9s3=4L zlpqQ!5XHY^0D;SyQ&Ie-|9`er)D)C709rbFhD)&t8-Rj}lA4-|hURkAG}Kg=Plu9< z8bre`tiYjX>rE>X&Z(GCP)Dba=p5#PD)~f^MC}rHl?@g@(}R5rN5qn`gredvmzMY_ zE*<|5H<#`xE-lf}Udkjvfd5*dzYFyLsZdaYs4jg_Upk=?QS{~v?<~+K{ks8Rrn(#e zhzbO_4)}cqCEVyt6DZf#b&$DlmoH5b?L{fWNE?ITCA-t8>Q-0~rD_cM4I-fowCwJnMRR@R@q#V z;6>kMSrWmL{>`=oK$qGqbeK~{I36qlxNswlfXB^J)bxrIC=D$rt>kn(RlejDnMc9o zCURsbRhs@6l=hKIHHUtOJ}kx&RIh^jcoR8Ay-uP=x8>D3F&|+>>Aeo|P@+6)q~j*a zq!eHr9nOvP>*^u#z0ju?aRNbUrPEi0;a2qT~j&%l+iAUbTL2-?|@WtUBFmimqV1)0sR-a9~i-P+J` zh)#4pnZ}z(OeZnESBSH8b43vfb{85TLm27|c*S`0->;}n2d3PofYeR;E5K-5bPx_WDS5=CU<8&s_ZQuxpZmn;t7xXTX(?cssOg$;T(Z zx|M7CZTw(k&CX)RNT!_G{Uj!^R=np0BES~PlCkJ0guUyt#TA$t?FJFJv)n!07stNz zWIpsa=gk(<;fP)yx&8h_{6O68hzE92zws6KsB>1ZyGn3|(!!?fJb8Y<*uDqN`;9O6 z8(EXMx|<_FF2JJMcn~3$UrNF^*hi0 zapR=#SIw~e&(aB|md^*85>>LIX+H{o))-tEj~|}1o7$BOxba&&GpVR|z5e{(3dHIT z4U5x^tUi&Q^ZS1Kw2#KsO**9G(kaE&{6-4eA){f__$^Rl&Pg|1CwF>hR#V~|SG}Cd zmA>AG9Pz349r3@e-1+$K3*Yah9pTY?*r%)d3s-C*;?m{q=xKZqU5# z{D7sirM;dnJfis8+O~9BOQtK3HzBWkHr{{PEPNNaiYDvty_A@aSn`p{TzBkhC42A| z#4}WUQu`vcwD8QWnrHRb%b0}c-$`zh`r}Y8nW9N(M#{W)QCm)NlB@=6nXjDqx6tnw z;#Rt&KxuQ|YiD_bS09JWR8Y>_{Zg^116f!#nl$xEw+YiBU+8Fgdq0W`&EJr}^W^bp zG^?aJPx9wq+9Cx+^@~QG3$@*gpJJQVWOP_o&UR!Zu_JLR)L_BTt|oIX{;M^;3|^@B z$WyO{{xi$bZN6i>J;CV_!8+@X$Ijv-0TSJUvBCG8A9Vg+;{4LvPQ_gF>)y`Ma;=_{ zr(4YN?n-m?ttDb%LpS8Dn*WgoSLMTDYXb1DurWZI=qe zl%xGjEiAv%hkKvdo0f{_s9p8aYU{P>nSEn*!tZhCNe9EUrk(^l@tS}ZYf05k+_~k! z3gu|mK2QKC&Y=HuL22H&WdFW7Xt~Rm(~cP7A!@zH^i`{E)>BV%xBsoL+PO zqPjTZN0)*gFe&!zs$H%ZweJcV5_8;!09Do~Q|R5vq$Y*{jNLR_LOj&IaR|TUvufy^#HE;6)lkC#C?;ttPnF&PK*&C+GrR~?NPi> zkX^Z@3eU_$_3z_(Cq-2Hws{MhI|3Lw*|R4HTzCs^6iQ?f+)``bq(?HIc=b-dfeQ}| zh;L_mV9IOUS~8gmuxs^A++>t? z6*rH|a<@>9et5SGL`BQmO7XZN$O}z*aK~k#v%)Xk4aqB!+RN8ADp*EfUg({YNm>{_ z8~bqIKa*FO%T{NWVtC^_|Hz=dXD}sOwjotpE7@^1!?r2VI!Q0tVwdAJuIi%xY0ean z7TUV}A033;XeaN!;$Uvci5iSry~LZh#n(J#i?(`M^@;qb)Izc#kMwGwd;68y(2GZm zxU{&rl!>P@*Rj>)011N>GN|LQnnUZB-OwlJq2Kt->GW=vQU8}=p4TrVB2f|*ACr?} z4vn5=MbwSgGpckDmk55-A0oneZ=9W8$@F-Ph0f_8{0p#XKBozI9eq3adJiMUzuH*Fskr@3JEX##V^X)zr|||qYeo8)*W~iF??~#c#^4Y+MDr|TgjH|tIj`; zNxPX%p#hogH#;#svuK#tp<81b3Gyvi%<||kAPeR9IPdCmjLXyKD47TJXM5Fi8YZ3e zZJAr8yQ8n$L)kSjVpOx5wfARkFQqSQw}4fXg`1U3c$A;*AJZweAq?{Zon`rbrRhF= zacv)cWobQ1%`3jLT{(Fdv6pDuu3H~;7%QFrxWk%H(x^)D2^k6L_+8MyOg$#G z2RgH4yp^+o7uMcroNc7AV*5y}0X>^~#>1%YEjwZ2mRx@KZmiK%Q*2~@R>)}Q4}ojK zZbF8Qk;3J?G;eOp-2P+t{5xV_IbX_D-5Lm;{>bQOLgf+u$ZFDViCA-UXvCU?4$vgKl*8^B#j18bp(%j>ED7tz)zZvxi$2N{!1&bu)arME z;=6~snl%}r2Fov_)E0oTB8<-O@19$}6yFn`dGegFG&vn!SbVemli1*^_kTXLhSk11 zC~^vUux;JRs>c_=+sWI%B2H3!4LAgS2&ixNj-;vNnI8XsRNY?EDUYxVoy|3;18HoD zK$ITX!v~(lGRT4|5Z~ub@4PC6e~c6q+};T3798y<{FDu8Z<%}-PEfd=)POQKDw4mF zr&0o2m5%DR_eQ#&B&_}5%FvEIt`hq!IZ=7Ny3LU>hYr{8xuHFt1!%6p;qEh}4=&>< z@$uMU6RA39x2P#tKg=D&A$o3yatLe^jYzcLf}QJs{ygYlESOe_=O4C2Fy6>VAHIdXzpV2)t<&V7N;+J#O?V@0-<9k zz(M%XPTZ$2Aa*eF(X1q*S%8j|8!$km)J7ChOEfn&MHK;fHXUWbLgBgr`ytJ0Pcg^1 ztIIgYyGQad$$;`y98nZdRIxZrO zW3popSW}2HiatC0%qb`7AbT~wbXa#&prCwbx~}ObRAI0%NaCr_RzbV~7vHjb8DFD! z3%eZQiK{7?@i@JR;HRzy^**vKs04DzreQ?Gq4e_@$p}e9wk$%Ik8vR76W@bo?*;Mk z%=Lc(C0zJ}%=J%G=K0IIy|BqSZ}2u(0kz+YDf0?5fU7`AOHO)GL^%?Q)$&FhAmY1( zC63bwr~+zR`opeBLb0x*mOs*Q%v#iMVoFdwnru)IASRSJzAvlkM_cK_BB8rqkuzYq ziYUR1bD|A`YQ=d-M8wsP?UN&cGA=j+Ite-?{uHn{u$0?k{5_3e0FE@sy#-{;zO#*) zN{fHvP3ZFNC+noNvW**1K)UOn0fM1MX=jGbncw{nIFygkr&>N;k+QlDoza(o@D3SC z;hV1J6coEN%|By9HGGU;$E#TMYGGADa|RUwA|tY@j-W_Fm;u>Y-&jnmq_#G`KQ)0E z{Dr>N95Nek`zBtY%9s`IU*8?xopWwCSX>KbLT2olR2}pO>2)$8_*Tn$T{e7+T^Gk` zpD%Cckz^)+iG;_#5*eYPa_ z^w|;x@en_M&5?8ghAX3CKcsjAAoUskC*0wefGyv!z9>7AGyX5&w|%B#HD>9v{oeHb z3lEIJlj%xdTlhbz?|xW%{L*N)V_jiY`WL{QheD&xeR-WF=^e zYC-&OW%?V07J*1nU*d~9i~j-+SAG=yxTYxIH>5M7*?@Q$@AykOY}; zuL?gUsqf?Gh!ZKu&MF-@;*e};oO2{Am&YOjkqq;>P^=eXwtEIxt7 zql%NZbx9_AVgs#$IAVn34{@53X8~mgco>Fq+5x^?Oy60GnkWchJWFz2x*?YglRR8gVBFc6jw?L-`C3U^{vuT8rykwDmC*@;%! z98hQCEd=RaLHQ`jpun{xNRO-2g)Z4vxABIrW(aq znRUx!eeE!^K<5o}sG>l7-E0pa%(&#E4(W%ecGhwFPl;U^bnqKd7oW5@6U2wzDn`KinQqs^R|C>>2r52u2$p->7 zyUvR zRhtRXhb@gCT`r+%)EVG$iSyr+H{Z@Fe%cKdR6CRH)8$94dQ*Mbt2W(Qn}sfZ$H&j z`i!%Dcw%^MuXYQHl3igGLY}|>;j{{l$V%ooHe%H9k50vyWj=iCAL;w&ZNO{wR9QWT zfGp$ktqd`A^gj&57e%~ds6S$QqNkIujw?rxuBP|m+Uthv{eZBpnz;ynpxx_VFrFJX zEG8%y_O79OI8UY#9Bb7c}w$r$N&)e?Mposgt z%5)3=0;1oBYsYaGj7tvR3@*FRV<}2hKiyBdwH}atEf?d-nLl^$1PO+=bS#VA47qY; zEA+*FqwtFWs@q&LZ|o|olGnS>{rB%z+eo!)r#4{>l)0BT=5O9)@q7YXxu+VT`9tq5 zZnUD?;%W!c$^t=qBhBJfzPUD&SfiVf^!{A0=OezFF=OW7A3}TTIiAo|HSJ!7D6skb zW{+bIxxe_`Cz?jlHc;^A2dbQj{gO2I6!yS$t#;84!a_0)QrjjZTVcu)-Dr|?Y(ug$ zm$y&r{lEl!DSF0_nz(Hf2@r~}<++&ZiWa4li+=G?!KE55H`7LB*!eD({=-BX!^BI( zduUJJ;S@4mwtDmixd8TWBOjFWE4I$$| zF+FF4r^&xGB-P_Co^0YlhJQsc`pEW9>p5KE68bQpOC5^q*I7t>VngAo?<2l5<<}&l zs+;y^({M$nEtoz0iEeq$1uIVX8p(HxD?yGwL2*KL4Z+D(lODP8!g&&~EvvlYLN8(Z zkvB75#vwy=+uYTRpg*Qc^iD=~(1Y@@O6&qOUPR?!eP1&lRZ#2Y>H0WJ`W$*4$i=q_ zw8dzOjASVX211qYmGH@=Z!dN(IJ#k#^tObJHjgTN<0OKjJk?Kf*DqWwbb&$T%!A!F z`-lt>;ho{Avn;m7`x3$Jd~JoZds~L68cR$Uhdpvcw=GNHm?Z+#=W5~8@FL_W)UM;4 zhChZRko^{^$8(szK2j#qBQ@@frquST3>xUHJOq(>4;m*MDSdCcK~>`0k?7;>qCklV zWm^$-^KQ!b{pg(!;^+syen6To)q7S1u>QKQcGj!)B31K*KSD zAEjn#DQRVcd%Y{@(AzzVvEHAtK1y6a zg8)NH-z@OkUu-Fp*uB5=(Ild~;R5k1a>YdiH|Kx63^Zs{!uiygAJPAVh?MlDgkBz# z_gtxsBgYsa31J9j{A1>? zHZDu{Q;?P*tGH3VMN_hD5~90!_>6HD#eoJ{XUmZK}%*vfnF%3+bcrc_g3pvUgD~rIk~Ej-wfey%Fd#7@d zakXs;mMyGPy5DV)28LTu9Pg>!p9;5?b{VntryYuPz)9&@(11x`XH{T(dmKWy2F_N^&p#Bq$l!zTi$6&*3bf!@+I&JHI z?^mt7#3xu4+8^&fym$>vd~iC|CHSEDR3~o~JBv~4ocG;uJ*Z@Zr@MwWHCMX2L|m^z zK<-v|{vb2@cTt#U7=3p067BoMqxnGo_&&8%_J`W=Ukc(O8O}Q*Exy0jf68iZxCo;Q zcfUN}j*IsHGts$%oR=XAE0dDzE&hZ9S4xa=Jr{B<+EDy0cj5-RSuToVbj8Kqt*}I2 zG!*x|)}ELjlA!GQ)~p4QEMlKn7Xj!X^sK}%6>)(PI9Ss^9D0VQ2vwWyl_k)~KU|3k zUX7HZG(s@OJ3@ws?UcCE;xQK!n+72!Nw7@=^)UmDiHA2zGupz@Wcd**rsdp`&cVc@ zLtr^eg3;KmNo17dER_N^q|iEbq%b zdiO^;-*j2vLhHpb&%Uh)O%!0YM0?)~UCA|fv-h?!R;dwn+IxkeR{xo3bd+*YxI0$8 zGOSAj4_PI!tphT*@n+Oq3A{<(NL8r3m@o4%&QBhQj~~jNJ2xBWO(IAe;j-!HHuak> zp^80o)pJv-%hP0z8?lc_H`xp^Emf{F+Agx~Zi$c-D(EAi5{DUb$O7>#K{(mSo&vsC zzlf>1lWie=m%&yB(p!PkOTyQ7ol^shb;+jx7=l4Rf?Q%#&hg*iD^+pw%eW@Y%P6O6 z^3r^U4C(^ft93Gvb6k$}_In3!DM7}Gi{#Gpmnn*l^7?>7P%W4rcLCk%kM&F~WR#uD zTjc5@S7L-IW;YUo#*NfK28$sr>xSAbf^X1@L{vdf2?INRazin^bQKbyWt zj(Qw_Mz7{9o5h^NB^EoFC#Nbo@82BUxp_ZOv+e}rH2KkdN^&E-*i!8x{9(n?xhX+y z4(gNB7nzP0Ftvh}tDsuTMOg5+sr8K<``tC(c^|4>D?KPG(%SOeGYucOT4BAa)6k2# z>X!+L53R4d_wMckA@+GxV*kv3+LZ+TSD6scYaTN zw9yLrVf`HDzg_g_h2RJ1(fMKu0opp!(r%dI$O>>~QefAWmgBX8lWOLQ@6KCC(CV?mi*!k=HU1wYc( z&Wu_Cl!*2*abGviAxntP!d}SB_hHNTJxVjzBwnVCUaw4WgWI&B&L`$=M@eqxA;g&y zikUK)ZU!IZQ7nx|ndekS>GSBoy3=i!Crv5vk+*#9x?o7FgQIQ+<1}t60ZMYFv1zBg z49i&^q$m&=kT*8}5`dH?Xx%Pzy;LY6>M>_Y8eN2zsK^_S;)f14_B%)U>`iYSOmxAF zL%0O8i?Y;Z1ePL%1BDrj3E^%KJ0uex=r;%+)oxoWGiD{Wb5Zsmvq{MSbEn^sY+|LU zX}CiUa|rduitVJRV~KtW&+(rU5VA*|G^4s7KZ%dQW;NMSMT-mU1?SeJ(Oovmi87Js z(pS>2HzFQo4&xj-dDD;ev#Dc}EBW*)j&jFnqln&@XwZjvqHo+tSZp zB8NaC6J+{*d76W4ZqnGCs>S$X3J*z%&7~Ki=R6i;M0+F>yreMBI5$bsg}C6PUFC34 z-{W@Zig`f*ok9!#3Vav?1o6B87GpgX?wh8{J4+dDiu3Gb^0)M`ABQ6SXh?lHB_39l zq6%yRn%tYwvXR1nZ%Lu&rX(2afd?;OX#>;{<44((Q&2byyoIhQ+;5E(L|O$OnoVUw zXRnHQZ~LlNbUQ$7SJ%-*Gwi`8G8;AI!c|+nCesS3Rr1uoWe}`0KSg5uYNeR2(T6se z((OFHNt?cj0{V;Z*IQdl3r2Rw4`lN}!`~ay3dlw|PDICad^JMeE7st|IusSqvX4Js1g`9zeGMs9Z6Nwv58=e!|Mbi-QpuL?51n&k^pq>vSh2;?u^X zf3-oVC4;W=aZLp$?rp2W36I88&5XLNgRI|B;P1J?b~mE2dhH}qpTQrWJXN>M5lO_V@hVVgf=$h+AOc-RR{EIM7*8G8zw}n+HjSyJ8nC< zm=#laI3#9CS`Bsd2@U8XDr8E$AFJ5lwQ3C?(NLHHdJ;Q+Naex3i9T4}8n|Y^@4hgoJw~_E^`ATNh_2Z(fDrh$x_6Qm{NSBaO6$dHE%?(!fX zp54Lt@vB3?V0TVjIewcaiRhz%D-&+uioX=m9)>qTsgRWd)V>}w_M;RFZYYyYoE9(H zAb(Mg$I?h9c|5nZd_&oW>`#}`+OmDrAmcb5L{{(PTDQRTuo$I-w0H` ztV(eiN+9;pSg`ypiDT-G$sp=ei?N}<0AeUAqsC2$QJ+tol<#sQ>p)__E@toscJ-ml z!|rM>o}H=k4caUQixtCCHABDnx_Wbw&N?I+o5A1bRwI~f|3nn?)p?ir*m5^rv0pt8 zJF0v{yYBN%`O#hZwGlx`T*|@GXC(#=c-i8PoQ3lK(?7ygHzHA^S(7EzcjU*u2+oPd zf{)u*A#D?j-PL`%h4CC=GQ`2&$e)MsoTKz{GHCgw_xDiLaIX&g#oe5d z35+*-vz!&>;iIyTr>q)W9w;s_=Nc0znXwNj-Gv7^Ip+pU%ao2{Wr$nTP+yo9RFx{Y za6LfA^@Wk$imDG);oPzWp7%&3ZV|jpfUz#_{bd<-kMaVKEc#y zFT-`9eC9h;}I2!}`0k9&!r!O_bT=+K=3itoiO2nKShv+9Ngyr!B?dUZN@0 z{~qPT#m`7G$)x@#UzFQ8O!xNXzQ2IS2$@FBCjKt`MESvf76ZO*%kd+mbN$itI2ZcP z#kicSq=4%Dl?WE1cC%JY#7vn1kv!=>$~lid*ThdJFo(zr&qLcY>*NwqSBezF8=i|5*_t_jNWh+t1HQDFEHBUnQ2yk< z)AEJj-8Dyl;o@#+w(<`q@`ltKU0re%e)8S9l5|qjbd!jN?A686T1`bYCb*XHNV2)f zK5?pSoRO-sxD6_;7?25r9QSV=X-IdB)NU@t z0^6K~VENwZ`DQR#8A1*ZjfQZyR?C3*%Vx^p?T1O@Qw(pW_qwz3^S15r@%^n7dfT>~ z;qLV$6Z>S#kq(^_&YY!A+pu6aXF7-M(dv9Cq-N-ADqWx6-(1^xwXjUM zB_a2!K%$@KtthJ(reqBPq29lFBPBO0V^O0qqt|T;X0n7N%ckjDorhz-)adf;qlQt` zTySO#<8@z9eHW58w!VX%vsXDu{sX~Bls1cc%v^QO-ndTdDi(0+(xK(ySj^&2ff9E$ zkfAC!&K6djupiSyUV@4OJ*1MXKBPu)72;r4Js<>;3?%`vFd+5Lv{Ek4HC7^MF%h64 zeb};-;4Tr=!&cDy3tjHjCrW=psRgSeEE_?;T1}Cibn*H9HK77E5=k0AM)M*Da-Y7oD2L_iUrGojJ6qJ^b}VOY^T;k_1vl zLlo>v%KxxUd6}wVNd`Be*U5 z#gya;B$VJc{GK~jCOa-FeNr)>c50vP_l2nnUz^R(I<~F0TFsL%GpCx;T$k83X=D_4 z#eRfDyOXihCyd-QZ-`I5S0gpE>bh0fKT6=K^V#_9Ko@Rt0Wr3c;QU!6>T3R`VOMp< z{#OPlJ~qnk_Y*eT zGW>D=0-L@Z_12f{PCI8%zc;34FJF&TYdWc%D)6K2J`S*Kt`mn|CIA#bB9Bqe9^o<2}%ROQx|Re6jmzn}HeX@y~5=!&#uX+h~fywjTB?#lrL zR@`S^8LG}MsuBHY-<=H3+a81qg_GWGx8{+{)})pi8o>h$PqX=4tb5v%Rx1vqD!IXGF_!ABCcx^hD{@wg65qu)=`1(Th{Mc@Oi zjJgOqq4=B9fcn??%MYwf7>C37U^J96T$oxIq?Qi-vOK51=xmEkMaaQp}-DIGXQg<_9NR_(V&u2E%65PoGgV##o-R! zUb`u-_ODjQrp&5qWPwt$%vzMhv36#us{ykPN0^DemDahX(JP0l3V%M3dDHvJ8k!y# zlIpMu*T{=5do&z2Rr+if%0^NVtOi??PQs5Ooic#=bM>~6Ji9vX&2mE**2B*@AvEtl3=&8 zzd{}YI(L8Xx^BA{(83=*gL7363ex{pq8=u6;RqH^F7u z_2aD+vfYk>znZo)qy%D!-CI)ZOV35Y({7zk910^Zudp@E$oTrN4%_H1eh&5~?9s2J z$uqi%4=!vn!r|PQNi3bFF6}Tx<>{s$>o1*`bQ%IXPOYM<~TYk(#P4_msz`R8fP4VIy)KOo)OUYFJPa z>IJLa(6$UXSvmgH+yDyYju0N>?TT`r>qX1|jFFEvS!S+XcO#j9*bFwaie0U|$WIk> z5ej|E2yf6K=MF0=KXnQYD{C#4s3=Q?#md@=ryMm0=IX|{oOTzzwYcIJK5#eZheuda z#%~79$&02Ba49Z&b@dRCAvRZL?9Wfz=2Q8z^Xp|T76b;Kcbe#=Q`cF(1MSBl9uKx9 zwH;{YF|qy`;i3bxnk8{ADu#yNw8@afMGe+W_)Fk+!(C274}MF^>9cUNT|(z`q~aQt zw?LT^C{)Pyg}E524fhC*p%~47k9+7B&PO(Fi3E0&ZV8+mw5kF{bjr`Kh+bXH4Kaj; z|C+So-bMsr^rJaRfw%5Cx_?Z_UH-=r|B(Xe*bRtn>+JKh(_fqcXsW(94S+%vBDaZ- zPOye-9*v`DQmX;9AzyWf#@`C}WnwgY@{iA3e}AZEuUdvrk-fKHK`o`5&r|6wR}-!6 z*z_w^Qx7p`Jn2(*P@}berxb||!?(9Aek+-#(-lMvit{RYcw;Z#3Yg}+=0-cUjyxJQ zIg`W9rRB2LjF#0{-viqW8N=tJb3bTi4(54XzO`HntlYlyvxmG>ohru=(APs+KWVub zg-@B3o@ zk~Nx1ier2>3wBUhnnC*DQxa)zRfonPRg8fv6T|i}z;}D`tQ7Af99Nfs+UQ121$Dw5?#zank}tf6<|-_0N?*ztT60w z;sH8$y~|;su=BoUSO7ty2*dbfC>HW&-75;Gz>GQ6E)j_vJHz=h%7jN;Arbw1gB_ zi9RBfQ(cCs^^`xUV}1(T8C_KI@`%>VZ2nNb?O4#G@S~7JX+Oky>s9{;*xdoJO0?gP zFDFNbrv*p3+vl!4rL_JyLH~ysMN`yInRlutIW=p_-w{pCq*(ROBh*Icm)U{9_99=s z38YbttJv^?E#C*33V-0({uWhA>b{IrwvE!KyRfde}ZEV`k|m{%h9|!#MpYDaer%R?ivj3T%OTb&;WEQE8?qu=k(CLt_pGU zOcHO&Fh||ioX{@E`;11m21dA>_|9I_I?lmBXk8(weLyK-q^B)rVEfC>Uysts^D%jj z#hn=2lO9S_)PeOde~xGlQ)il4`Jd-x@YS*J6r!C!6FX+BL(dRo+4(8uag2_y z0r?{d>^xY*x|>y!kg{htss+J(e6DgR6%MxcF6K&ZhvjhbZt*ropP`<^!_7nQoBwub zj;uHUYCI5QjzWZnRcB^A5g|9e@F*G_pQC8$G_;J@7_|GkEMh%?%dkqtG8U?7XC3v5 z><-N?g6^9of)R@Q0fY}uxKGF0IRBF7E$&y?XK5#Rx{kcL&v8vn zs!*eMS{cnJwza#$C_#Cx-O~#Ar!+oE*5W1jZhP2?&DNh3hI!34PFvL(UiYOi6Dc<* zC~&lDX(jaq#rzT`dm{jstoW0-#?;$x{0*jd!FfHTg-@qb>nGO#dLf0X)a`j8y7(`_ za{WJ=u=$nD(vT;uLf7K+Cb1J9hMRs3VSmaVu86#z2$)#^dh5Hv?Z~JwVb@G#Z)h){ z=8uf}f)U&A?g&L*p>QN#7K(eB+4%Xoc4$``yj4)rI$bHj5m4lH(z=xQQ+$bPA^`G^ zFNZDQ{eJufL(l5n5-}nqY1`fR9{V=X+6FMV3b+3*Ds72yXK9rbxHtWZU%HETk~5co zpb;gps0~0o4p;M_AGb)yzA^RfSjPI$L8*1WUuz{g8?sgKt9)8P?kR1LQ6_)Ozs4=X zKI@y$7NyBml$9vP`rGuVXn%0AywXEVJs;TP0kS704;Y`-rRbQt{zxAn-R!fprC5W1 zYjZixSTlZv9j{u@{(#U9d&?cYmV$g4GGRC>U88|Vy=e;O|0p>1qvMuhX&L*o7k4^6 zPafs?<|)ewCcFz;X=&^KUV69iU4+My#^$!kt>~xTMu!@!}fX2bO% zoy+f!M63=wpD2ySwW2vx5m2=Hz{U! z<|a5O>Q2PsQeaR6z)lf@YE?vlew!ScH0Y z8yYl|tO22AR;_V#b?-j-^OM5B;WSNSa+VG}cZ7goOAm?V_`V6P(0~77=gg~r2utbHa7@J5*Z}Vd` zW#k~~D4lcvi+icWl~Ab_nME10sj(71+bAJ z{(#%snGb#865@9{qrJ(YbBRk zJnesaY_=PI<0_)4odq``xEFMqe_u@Ln;4}tllGkO(3v^Wf+zs)%oLtVi?(>YJZKc5 zG8ffZX1QYVG{M2JDPUA64C2At=nJ5VuD7;BwEQM%%0;i)E2t3dKL~ZwZ0p%cpqb zJX*+pc3No`7jn-sFuY1e2ZC9Waz%!77^&64r<$p0-S4*rzT$6w@_$tWJqz{ec>i|# z_aNg&?fpdKO0`hW8A;hYvJnB^pSjlyyws#U@-o3>q6{cQRSnz$pc87JerFQNaqeuY zif-kLj-*pAbfi93Qs4Bd#59!VvmAAdD^^yYo8GTm&+-Aftk{+}3JI{xENIren}!v( zH_4u9R7}1l+25ROnfALG5G7z1z>s|3sPEpCUXk6cP*SAT6WKU+fjGT2xiK+R&Q_7a zbtOIb1G)%AHLxNSMmNg{ieAmm_x$~fv!Q$AW5}*6vh(it^39Vvl6H_DV{$=1fy9CO zbU&bRC>B@t-5|0=)EqTKZ08stQiU%ZC%WU@+e9GD7FI{2Yhfu+bNF`w{knT47P%p9 z;f#x7o$CtXrJto?2gd?)xRT)hEhU-^?#>X=>d^@-HZNOm zgllJ?sm=$$PcGU9eCK#E`R}sh<_=cM5bKSC2)( z98ke}qfw3oOvKDd{*-aW>Xfrh>yvQyncK=Eg=g09>>P%P9G1uFOVQsZFBCuOlq6y= z^S5CQ5UHF#k{LiKOlqiLj$WE-Tb`NUVf3Xan?r($-o~31K1rF^agFeT`oVJp1LNk= zs~t44$C^DA2BxIDKXW5y+}m*OhFv#dGX1@pov7vSIdSeV;K}21iU_BoG+tT3pVD9Y zP`#*`!;lG4eN;TpYcNHXf1Dzw>0iLj@z+5^9rqoSqW3ngJ&;i}4m-#%3)hkh zypgOjl>g#DI_$gQp6&uH`;PsrqE9$mU={Gi>Y(yi&%ldSU*VYG(h{W@8u#~D@1f6A zf$QyIa$t0aQ?C4LWlO@tX<+UXJj8@7t@IEce!rCuClAd0DlVXGZfXpzzNLnIbIr6^ z<}AW{Z;e9gP=MDH>uR&0#{_Ev-77OxbV>d~Dpo#dzcLkdJQ>1P**^0iiI3NJsrwWE zYG8d1}rLb(ugINGRQkCG+y`(@ErQGE$ejM|ney`!Kyd|0l)kPEK2v1pz z_mZT=DTnJ1a-IA2S6I0_B!HSHnLlIG{sqiP;p=hFKWBEQpp{X)#B*C9(CzvDfby*7 zKmy#Sh73J|TAN8e?O@n?rK6GzIlL-+K4YVv zc`7$Motehv#^l{$E`QOqcpQC1wGPiCjrwv5?0G?8HXM^wknyKuFQGR+iX9@-ZJI4{ zrNe_kv!^=xATh)%R>&VYV{Mi(lvxS71(N$V8;VB)2sS*Hq{K}VDx0|(U+S?~@GP`w zCu^Kwkc^TKs?KZV(k8|eiwa@v)dM{<_iy3u7Oe3;2DW;4i6DN?9KBbS4RmiTcik&r z2*sqNJP8(elY9)Ux=C5zGi@zlc=CafOv&apiZ?iQwu$CawWJ!FsN?=o<|`@k;tY05 zo+B;F)(MCl)2;PaD`duzxlb(=BG5qT9r&a=e1c@xRJdi$k-Zo!7Gy62WK&UKuyHlB zLY#4?4c6O|PbAaogW{Yt`4}t~dn$!BBc{KeT^s0w1xOTg6U{?bS`5nPH$rX|-7{V@ zH_SPOj4FlqS8YMP+H9VJvqSfCTs8S!(a2IVX!R^4b=)9{!>x)`XZm-w;eKZ&2&Sj6W7=w8_eLBGjO{fz_?I1hNM2a~&rO9==zAc8up zwp6HTj0Y(Wn&N=#4fd8wIWjr~WfGRdqV3L}oU*1A( zSo}+69t_-#s(FBM9aCIE)nLa~LB3?;YjX<~Eb{Af{N+{gjk`)w@kGrb4%$F0) zInEn`s!Ok+T9t6Ix6vfmGh#yBJLJjm#qz(9P+1|qiK8rS*5L{DakpX$wAlbS5|!S` zF8Q@k{6T}d1Mx%mLbRmGbUy=Sf#O3Y$mh*XP8~s9L)j^YQ@$_ zLB3F&k~ZU@rKFv$t$tuNxhY(FXeEy&6o8IkbXgy?rxt9sk)MUf@;sGt@s4^KOPqBv zKS%sIJM-+VL8o$LxhkY*$Vem+vQ}3oW|5MT$p%M_Hs+D2W7)X4>bhcc$V#aB4yhPl zmZ~Cl&H+r+xE2tzq;-wK^jpPQi*$Ykmk((-rgo=L!gusM(z#sHTHrw&f)Od|Ul_(7r=kQ%zcpd5!Ej+E5s~&l9KcCU!y2qnjS6Zu0kW3Hkt}HgL{>=Vb6n7@ z0*m`9f;OeWTiRrCuq6mK>4;!2BSdh9tl%E))x#~gPe(>ebqfB*ZL*z_T8M@X?26U{ zvLor7-bGVZ^-An2i-uVAO;a>=N(bqxEK`P^(sx5f{SyEnh3Y6E5;SbQo*z)tVWRc8 zMC`B^-Eil$cVI}-Wh;5v5K~9UltAElqQw?sxSZM6q9;8QUc+VQu`DP%G0XH`+*7rz z)nj6DwV>#)7G|FW<;0rg@eabvO~Z6t+EU#J`Y%FaX=%|XEN#BazByYsWr-s`FzC-a zEl7ZSM{tsR8`(8UAj_8eg>rU@il;;Lv|+~Ne9>p8Y;Sj z!MFisRMOt|3w7+dLv;+33o)8?T@alZPBwVj*b8n5N>jl390OQMUb=h;z5aW+{Sz=@ zv@{IQHLuZkLR%|1ay?m@gZOvaq-&})ZT4Ss@b82?IS+@OQ1KrSL`I};zAaOZaOG@N zx@x@zH;HQC!<{3iaXV!vMC7*Vm`iVyGaaDd)=9#1GUhskkbR~-Gcgs9mLVrSQqG0#?w!!;&1O~s&7UOPIFmsa z3_s~!b)=2-MvcT2Ha$;S1}esnb)O{5an?7JPr-Ru<N#cr`UIY|@+^=f|hXn;YENWgH?oA7FiUP)mmWY@&?xKgm>~KtN)UroaR|_r( zAYR`^_1shKqK>--j|Qxujy$2DllOohMfu!UhgQWHK32On``cYmF>Gc^x_}!004#cX zm6Y(tZrI}7ct^X&d_h4aLyT1P?HBTwG?0F)8mGi{u?y2-xOA=RVZZ9Uv+Ee4 zevSyi&{cm8%y|4R-6usOb-pRUU+-X1HvJkAn~r#TO|a&)`Y%4rKArB$V0#JXHcvAT zqo!zcY6Ilt4<(zT)t-`qv%_t3W~!xQSPkq!UrEH-;GAc|@m63o(ZwWfyRwTNHw)r^ z!CO-83tTx^uVLVNOhN%Q9I?5~u_e7)cU<`(o4YrIlK2&tng%$@4L=YabOP$JRMNLc zQjmHO0@tnZ?juJlDk*Lun{Jm)Q(!aI04k|K{$R0|NXNExLmPb=aa2(_f5U!DPK?pT z1eH#uJ6LG8D1OdouX9;LK4&}b^iAVl5Ss#lw6$z;Ef;mQ3z}KsC#q*maZM{|@@=Z3 z%t@ux_Dw|iBpzHj$G%l|%R>RMr!GE;_-dw>Jhaq?-EI1!Qu;zj9X=ln$NmgA)jt*y zMID_cQLiA9d6FBtvbB)6pgN^z@jeemGQ}I}WFL9P;bhe1(Q2dF?At?v)IiDOggMR8 z>q3r;0ci$O#&cgar}4d8<={6YF-zt0@<@v6_u?ig>R$UDE_Vwz<4>mO)nXPfJq%f-)zrujWw zIc_V1-u~66oOvf}FVS>z2RksS&FWW^j%$kqXlEhUy_YM2(YfvEogvx4r$jo9_R^YS}WjU^IV4QQpTv(ntE>8m2+nT#&w=|rBXr5T; z-EeHH#clEW8f~#^Pl>CZ@nk&A8wyEwGnSw$5+x+)MV`=2Mic=Zn$v;PJ^Ri9t zd``;tkXHwttfyb0r}jG}a>78Bg}2lbvGhFD2YgVXs-6%-Bq5IXnnl`uLC~W%YB^1% zW1u$oqVo&)Y5fnuPb;#ljQ!JCSQ1yU#Cc*4mEMg6{)tyoPFuvMEvRm!@Qui}_iwyC zNU}Z^6;#yKveUBUv9$NSgGg=-0})#R5-U_p=8yy4$5tNz3+C-9LemDC0j^s zH8x=b4fWnfekXo|kob}rYG95pW21HBxH3s=8C}=2M>JxqE|#`CqiR_iV2(l3 z$ZwY>AA9R8pFo31$*U<$aWIn7v?hj^4}u2NyF1v-*+)~V%dQPB)r-+mO+T6UV>+H| zN;=v)FCS;mIJag&+8sVZ2eF^v&r zWQ=XeSU9BU()cYcMTORM^;(m3I*OYUbD&vs)fXM~TEiWg%5)xDlJa#!;}CQuE5$3g zhkLD*5uU@1s*#%%R$_&_titsL$k8y_qh*+*4>ZhJnEYP_=JWJiC3xmic#|KoquEnp zOnCs6u}@moi?oIF%6iEfMyq0*6L0`HtY?Ocj!Qj}#09JfNmW)d#O7Gdu4xx8A2hW^ zYo2V=qL||3r!bY3q>>wTl{HJ6ZVDulX}UsrGdjU_LM9TE2uu(d9m&DPgi=DZIHQ8JqP8ub?X>ERdf#yH3s;f}k-w5PVI|3xts!*j2?m6&ll= zkLJgIiEI=k*wF(AL`OvE-IeVij;g>Sz^IILMPqhc(1_5JV@R_HM8jH!#-Esi3B0Yx(!0dcz7r>uwu8IR%B{2GQ{a-q3tgBI z*=5vWa^|y1`7f*EST$8e%_Sjwy%qyJH;Oh))if?>^j%o|o-LSU@#)d?*WlI8)u8;9 zW5IDYKQm)@$$g6q!03P;(H)O4Lf$xUha-aSF$V$8*HrxNcu0lesdHz?aLhXq00+cd z>JzniJwa{VZ<6--l$dZlI$+m#30SD4s&A2@-HM;`8~ut{S4)$@{>*G<Kw731OqjVp2K)Ls}XKHRbUMrj(Eg9oMtPDCVnq zE@%L93l6Ibb*+E#)B*>vN`p9eNfZ?nxwROZ!|l1D>z=&<^TY8n|Z8LhbHurXQ*VyV7fNR$&y2o@lP zxr5~%f~yN~Zx)=FH<;+NoYu7Y#fsL$t7U6}EiN3w(W$`3DG{E5q`ucI0V_yLjt?&Q zqj=CD`#h!DVg<*bS`%RPG-SS|#xOT&+^a=i#y5ooL7iMisrFTi#Y@1m>mQVU5xH6v z^$(PYX=4m;ZPlr;=`knWtt6e?R-{xB;c*`>yxgJJLne|IQjR2q7w$>qt6Plek*7hh z>asB$V3K2q-pe>n_Z-hRB~28MQH9JM9Zh`B(T&PIPyK{|d2zmTbE=w$x|ay0rp;&6 zUT2QnlJP#kA@C99*z9j}9v!J#QOMkx;~AQL<`tD3finc9j=0nwL1xVou(M(D$kS6p zcQk6~`L#tYJEu9DX0&eO$!Ri%N?_bTNLkFVYFs@Ks$`E82iV5~R_f?>5AHjtyD2IS z7ApEi@M&F~b905&#ME^*GsIZ)_nNX|epePq(i}7(jf#4fo?4fNz{fcD3R*~{&q0OK zO5z_$QXU5@>b-AeV*Eb2z1d&L0ZPg8_6-b-*MU%M&Y!qe*vsANDYYO7WE**yitbI zR!qt1$zT#n-*h+|AIs{C;-A=f6*Nu5Y8@ofM|Vo$qnC@5E844*)WwNuc4bFaFqXOW z(b?=C@Y2WCd3;C2Q`Ai9acaoq1nSeNx2i|Pn1xRWQjACkJI^4!z6--*2B_Sz;r{^Y zTjBB4`DEnE*9i61ILCxRJQ(uL$el(1043+KtalS*Kf<}DD`~?z{Fjld6}LaSka`QG zMO{=6(n%ZZaJ%8-CC%UaIOUzbDu<`Vrk&)?Bb<5NP*rE=V5r} zbKKC>wf_Lf{T#YDTr^|+x?x)Ic6On996vQ@3bS`d|jl;5hyGW~5DVt=(W>mCx8&wGZ=VEtCiGv$7AcRK2@yf)DlEn|t*fB=6a^JE}s zSI^{ECVP1JiakX&P%RcI#!3kn3(Zhf5JL%D^uf}A8VNmu;+$yfgR@?WqQ=CpLq#rN zEo-kECLxF6;JU892*};JuJ8S#=je}1<9s=c0+I@fhu@gtx8`nsix-Yk=^Cj*JeM*LGszlKQ>E*kI`{`wb0Z|IJE?hS8{g|@%9mm&^erDl1EkfrH5OG zElfJ9Mn5kV*7a3C$75W?nE8@?Gt=V@Cb9CuG6U{5rrts44xK zG5!?sKmAr%?8IgJz!YX;7do+K;Ud)HZN&|98N#WiGe^j@f?MdTJtXkAiyK_%`->6k zkc$y^%yfYC1!_}b6%=4iEYEX~yBXI0t0x&QOHD`(Ej?{xgml!h%17+U}&GNCwzfa52dN#;z10wHoxie$J4+nmz*O<8ZwM^pZ=2&xX-b(?;nnATEST>0I4ITwV!v z?rnZ{OtH@mys`$4+9)-#F!?ob=DB4#OP0=s7{{Z-8D`6Tlr22}0Kmcj079#=C@IJ9 zjVq5qOA~)4rTlv8x+?b8LJMiDF6}u;J@NGi<8DjI`&-|saU`znc>R%5IOjbcr><{^ z?RaUTYea+%1(0j2Sv6#iF1}Ngd^A{CWVx$iFWHBPeHt(NCCy`;;^OVeC1|ju_#xzN za(V$Ye2Q+0Xv@O#g0%H0u;QF2+_;40iL?tRC(-F&5N_x=jZ938*}-`jyhd8vaXzVP zymiup`^(*PuO3!v@~RoHt{I4FNEz;TS?{TH-I$%!iM74gTyfGcbF)K>(5d2gNC}Ts zZa=|2N!WWnpYFRlOOIfujtVsmhKsMvs4f;uae>n1ahB*&3l1hNDTr%rp({AP=aPcs z$fn?!DN(x0#*w<0RX2Rg2aNVw&Q@(pj_$ILQ1>-utIeP&CHK^&8zAbg9u=rjE>;{m z%d?UYbB;xJes@%&OJN-KM>uj+FV}TK?&_3DawX2_g!gn@=l4Q;h3>RbA;_!W%`W#| z=!Wk$y5kT4D(IUMmgOrTC22^;fv8JL*6gVWPr=d9PbQI=iRs2*KO$A%hgZTcEhNnyOHGioijRKHlkswQ zuS4BTZ=Rk0No0+~@VJ7$zmw+pCnLt~D#53iOg9#<00-2W0RI3m2YzU+#R2{`9XtDm z7RmYfe zcQCB#GF!xf+1d38n3+c_ayq4_p(&bt8mPZD9L;z=)VU-yn=(XhzM&bcJr|;>xx+NS=6#X z4Ne~uE(Tww51QT=JbYg^;CK)E51`S0NWSs#>%SK!7 zv+A^~Dq7Qgza^V3cmq&uyJDHiCWYM;tk6bK%(67wAqUYMVi3Pf=SPl zu02QDdEwJr5o;-;e2;axY`(?d&kEw$nPa7=kYBR*z83o_z;M9XCgJ8CSJLpd z;5b_YBQXr4viYAc@=8vikD&3q7X@=>Cx?E|ppFs8ggMsc5&T2o3MW#z(Nh3z(R%2- zQ-wq2WU&v51!syVW{ty&!U*cTrI#a>o`{T*6`$O{{ zmn-gnXcN)Tnn;5ky7(W6yhTfgPUf4i-FyBV=bANKo=24kVs_b~9CWnaS2fwaZoNN- z%?sf!mciW$`C0LEWq0nSZoO937m5T>d989eF1(&R+)iv+;GYMt#+@6dEr4H6OAXX- zl#upc)GVrB5H_N)lJ@|;T@E7ym>%b}`l!-al@+vda(PTc4s0Oq->Sry4wc6FE(zQP z@3Bd6`Pf|Mu%4ixVbqvaOpFFhyw0nl8Jt%r!g$o3Bg#oj95h9_Y;9n$B&3a#wAfgi z74*D!1)!8RI(gfD`2xJfe}%CFV^90ReE=G+oIXPNXFhBXsy=7pNF$D*00%XK+s5$b zjc>4DQSmo`F=(3%^_09JBXe~&^j=ipQPa4#D9&zfb9G+6EUO~8o<>M|-7@$kFsKcZ zVk2jL*U&H_M^4+)uxHcEd9MXSg~=4*(n#}izKh{{3P9$W2_WxsmR^jY)tANmD@)=Q z6ALm`TTL`_@vra|bv;pzvX#;0JjJfRQ1~|j@ZCfWl1?4RTO_{GX#70tM@K1ROF_vq zZFZjhLg9y))U-(Jcy2o%pQ5FQ42&_YXaRZLdleI27+NpP^iKG$O4@pdK*AjpiOVw$ z+V4WVvzYO7bAMIc7krp%B_%U>g~ys=iw^e6xM^7ZWs$7cmCosElOqOf+a_=-x6}J( zCiYxY!efm80P4x*A0e3h7ORqF!WzbAHCU96g4`JG6kpKY2lx1;+FsFe(t{OLZTGGd z^rf{1;lZpP^NztxijNA8r!q|O8yZWB(_`VG*}_TwjX*VY@w0_QH}|AFmC#T=X7NaD zah-F>a)asD;InAaIvI-+ow8?h^IvdwPg7GILHt@qFr?PEqu9*ifW&+3mw?R1lxX`vM0Y#KKm zLFSX8r!~xM4~(5`*SBz2wZi;8RRj!&7-5==?vd}axIDc!T=^!Vxi-fKCRYq`k-?Bg zUhZ!H0Cnr=XzAc!n!Zult0uYle}|~sRZR9tOzjycP3 z;&7I4vmbZypI6i6|xaBV9Y?5n?i_edR+sMw@ zd38z%_p^PX%YXi#LdgFBnnRfUvwxf{JS~eRM2cdSq_pa>*(oIguDgoz1CZmJy7Xg@ zRB%frvrUqanTDXWf(@*)gxeyvdnDjBGuYu+qco034~o>2g(%F@E_Pl5Dz~w~hittD zAByK_yMbKO#m%E=X1*D#A(At8>K8U>1Yxpmj_z49|7Xb)|%TqSfIJ5J?}j(ru8RGY9gX zUYmYv!n&>R)$Y0OR0)%pj;5+YS>+dTKIewxlvv$AwNTXwTc&30<`c=y<@p_KO3+{@ zlK4IwidErtEv%uabTYS_PK0zLVmlS}4-EMK01m~&X)yyG9cIGrv~p?4osRk+f!52+ z&*94-G36b&yrn)R!#A6uYn9YMz$L2lJDTt zkUd^Qe`XqG|!K<0m6RQQJ5xGmI3rppI$iEsahs&g+c2ZnMQj`Kk7f z>F65{nGWQt@j&L2GmY*Q9Z;Hq4nvNVazT8BD(ZpN4b=b}+$&HMnlu>T01Cyz)=9Q- zbp=V9<8>}2DHfhii78~U)l9P+?vk2qRVazbwDNfkmVHCRnr?|a-bI&JR>m-b<)mU~ zDIbKwJ08aY9QzM-<97c5aDvdR02(i@K4>H3bYxz{9YGrv!)4LQ!x|KZyZ7b1h*LFa zadgKjaSE;>FL`h$sjDu^m@b z%}WEvR+KY}FzF);eL@yH4bMj0ct|q2=P*E*5+vN6I)&$5Q3Lg9vGqoVMoKbg)gHAF z-pyy?4I|8i=^>xpAofePfzh&}GQyb)nk$z)k>bwp1cU;D?^-(#u?7q>1_;L&?kBI2n2pf>RPc!m5++fdR z#Qc5KriA=AL4){0jk3>>IgPox#_>PfeKiA~%0`O~1(%QePVrkPp89yE=VM~NJzt2) zUzqQ8$K&`5JND%}Gx@%i>&AUnxBmbTwb{sye4_hZEYG)mLU&!&54TX|@LW!kaUpoR zNtF{bM!mw_*Rc=9;A@0=Qv8;5`Df|cFSZ(qfX!O*>Q>b++JusgYev1-<(dp`sxKj# z-Ik!oYQXZmpGB1a02Pk-HHYOV@_wQJ0L`>`gn4DCYl$4n@Ln&%X>kDgA&>%fw(H}R z{w&2QWw;L?>ay62$FmjzQB!Wj-9$ehJQCUrsrm5D9cF`6U=^@bfg4;}Pu*ILq_2sZ zmw|3!Eroct3YviTKQM1Vy;Qy~!e2;PB|CFk*E+7L%Oa%F%>|E^nTLi{)Il*0VR0vL z7rMfxnn=HbbsY3w5|4A)_z_ZSW*Pf`SKk*B5gT)skUmX3@L__MK0qB0*N z8ha)1<4qexj*JAS}R@0e{aXk}t9u%Xcq7%L=0v9sP6ses)r`h2vv9>x=+E}C{ zXbsXbc-DLu_w!T|;qI^{p7Z#;KWb(|dGT()f+7 z(m3z&UW714Dx#?Ka%Gg=w`bBHj(A!B0K|0E&h4mN+;#|oIBqu!`ZdQXUoUnf%Aw|U ziR6Ij3(jUZtyVwm$+Z3twBY{$XkIA8URcq*x+W8~D$>;q` z-P3)U;@&i_r=sxbpl%^kAZG+l86210%?`7gdbZx37oG9Pg=;)B;yStjG^i7%MnsBXjS>bv%hWRK!aJEV748>OPc>yO^09<`8<&B^+F2EIZGsG$D<`|y9( zlcDlnD*11yzjdcYRm31*azrhfzAu9x{{TvQmaxO5SjlT{99SZ8ZN|pkd+xN;UX1o_ z@@@EjC*qh^GeZdmNgGT@{{YMZKmJHHRgu-YrLY1ZhS9<=vl=WucE81Yp98b(=DPv$ z7A1<~5>Vpih0%sYGPY50OWM*6-KDqhy6|{)WdmO%P|!8yz}eF{xcr5O=CV@VwOtzO z;*-9_qI{B&*rRjZ&W9Cz^!X|_Ri4>TG*(G-sYbQXZ+)5qcMXctrKmJi#$48tZ5z}zWYNYalwA26 z=6UR|QC4S^ylBy*M?kZ2+k)dNQB{dLyJQLZ*UjQ+m1912_;0B)ba~8D$qa2lDWCL@?vZ2eYiX6~*g(ME-AjUiFcrYUQTF1_?C z98Nl`3W4~Nc*;^ewJmFAVAoQnN~xhann@kkl%d3oFAXm?J=V~x6Efi6Mb9jHvuNbB zYD0_0;g#oA=MeRN+usAPoZVJq19VxppwovwY{&^1_Q$5FIvizUmEKNE=~ zoV~=GJ9UcL`>kIRSF(KBMz>yP+AYmqI9y1{CAS8!sJAs?Q{7~Woh@}?IqIv{B{Nsr zml~&RvjsSxY_;Pw| zHmS7&VV<4LJ5Jwp5OoCHw_6Y&b?^~Tv@l;2VweS3tir0@6ZUZ3uN@o?;c({gRG#?w zk=2XKaavE5YFEAV*j^t+BTEgXoy{V|7e6My2*S-Z1DQwhUy4tPF?V9dhB`AOZ4Zhv zOEZso!uo(*Nw+JkV?R>5alz~RE=(sid_D~WQQdH;xw6mWdZ`ohy1fb5)rtAsv|u0& zL0Ghsf=26F8AZ2Q&LzQ*2dNJ`>Xj1rR&0cwF0-Rcp|JI0{Sx55+FRnG(w2=%TCr?` zOaq#9S+brPO&Wo1)_r7+AlR#fSu$mWriPd!D@zU()o^PY`0MM(0 z)eLT~G+yE4mR5>a#Nt{(2SN_ScU4@02Qaoq@oD*c%;w+j5bmnSxsDHGh$CW;W>sq2 zGG3gW{^$z^6S!2FYTK^q5**W&z=ArX(mO3oX8!I2`!?yn5C#$qsCBXABiAp4^>_@)hLOv{{U^3 zp6r@;UG40ClEytk&N7mq5>+UnTQvlXCh$}io|jfK)wFro$y!!(B5~VPPIh@q8!bzRw5tefBktV=steG;%il?V|k);oq>VI|Zg~L*i~`>$3H< zek1Vi1lGe(!eD1RgrA7M*swZkM@IQ0Cfb&hb@Kj4o8);?{Z%9Auy~k!WzQ_TS%+bu zQ$98_+Ff|xv@aS_;PelUnxVOfI~|vh@gLeI5sSIf!HG*t8&0lp-?r=Femn6kbzN)4 zJzJ`x zB$U;D5c-JBnKV6?c;xX)q+H^%D~aIEQzJfDY)9fL*l`)0zyWK00-Q?(nkN^Ak?>j2 zgA?+*b=knB7yQkY;p*{8CMrgQ-lsmp4S5jV+J>H!7mO1o=G<6)z4T^SMn_ z;&L`4X$r)rmO#K7sZ%r0kf_l&WhqkNFYQ{0%#(Y@~T*czRyO?gP0(?>@65zt`P#2nYL+|gE z!m3gCzH8EkH5EwnHzd;AEL9dJVyDVubHQ-UPt7z zI4$KOmT{T0fe554Jq<64afnEcqY$WjcK$2Bx^h~hh_f@LbIJTgd4@Q@M{cz6`AlRo zKyAp`ONtt7Jso~4fMWExrWso;HBB_Fk}0BgS1^Oft)CTCNm+~3&5Ri;%}b2Ja_`=P z?S13#3*STZOBxYW0LXc3Wuf96I-&7X%I2LJkgS@H$+J}3RF5Y;9|#%g+$DzKXK2{; zaNVcr(3M!?mHdbcUY?EgZ{q`%*7=Tva|wwi!lZ72l(XnR^qv0zN&0##vP|lF8(6&P zn-W7#E(lrmm6F9FjIgxsFR>j*QQaWv-yyr4N-DzW)teV_Ib%yYrSiJ(ebQmw)tdf= z2@c1ZF50FUAndc)^ma%GG-@=>20R_n1eVz%*;U&x>Zeky*TZW?J#11x+$Sr={^`*D z3N#WvlDx$8s~%WZ9~=&8`q}e)HE4DC(Tv~L-zofo_^5H@r6G#ha!mI3N;+Gp#HJiz z;B9gA#FNb-{DM=DvQA2qERK=xxpBIon_bkX6y!cCIV-k(ZFQO^?ylLj z-91BNRg?Ej#V>V^$&cbqLp6xiLxDG2Owsn%ph(>JNT&Zv`V^OnTnz)pap;?Wbj%cEwTXil2QXk^$ zy5To;kF*Y}y`!O1sP<-vo4VA)aT^gE+`QnOU9}_|wCbW*_AWDM_wW`>S~S$JafVQl zLgE{hJbWIPi&NzJPlzIPQn(Pj z!I*~@-(~OoYfTJKbK-a*e8!@Dv%7mPpB--#4F3S6jS*4ZTvQ&bBvf}-6$Eozddzn< zMMqMn+B=1sDm2}9w3NML*wYjDRuvuAU$p9^RP{^NJ&is%zUp}W)?c))_K=sYhUTZV z4y(PRmCDQZl_H|#Sst+5-lC|~YPO-8;A*_BEWldFWw%XK9MP?c$0jpKOx6;TYzk^O zhBsSXWio9+x-h7|{CYmnYAx_j)-8=*IJ&E8xS8G#yYnpuVE~(k`gJq@lW} zp;oby=8X?%J6&<8?z4TTx}H7xs?d*Np~vr{shDkbp6ZT;RMd_~RZ0ZzXc^77K$2_o zN}28uq@TKK1i2QTKzAt#P0r|&NKN~tUgD~W>;*@*}V zQWvCfgj}jMU3A1*a3pM@N&sb&$2)j+2P?L0pWRn0;F+Q0VhB8n0%n>*^4fV@nS|(h zgjE1cNZPH$a|7~JrkjT#H_+%-jxmPCPb_kpwidmEZBhZWLsKM<^cG4jG!0WNP}3Zl zhR)SfHTAN3IVox(%F1Us&HPSL6Dl5U1tS~ZEz_`KU_Ix`(tQFmX)0f9LVh|eNU+RC zOBXz_bOALU2sfHXIQJ;s1sKhske@t}x7Eq&Y%&r?dGjCTXzU$O*{5|xvb-=JZeDZ57>*~3&fyHt5e;2qpbN}Z_`S6b6x76b z*JUs9j5KtHHflD%Hx<4=5yjd@6Y`@jFM$kq6{=tqLF8CyFSm7{M8`bjsgRI%JrJrf z7%R)AbB1DXbf@hh3$l~wSEC$Ms*VX|xm}wT7(CIN$1RB$0O}p+l6+yV$x};bekSOz zOX4WJ`OFaLAL3bTOoVT!8IIPz>T2hZJB&iwhlI|y}(TIvV zek1hF#X#OpUm!xlhnRvm$=)Y=oXDx7eQYuoJn!HDvov1{7$;A;wF^| zu!icS{{XtKZflFWDnu6rTHtDg4^pjrrXu%J2^!rD9#>Kg&;c6vjhs;hM1yjHo4Sxm zHV6RXsl#@r>G2n^fNoN8(>dC@z$1Rt&vC%Jd>~aaP*`wX`?-IBAPnF+X zs~xf@u$l5!vNw^EaA9@&I9utz!6_~W7s$5z#2u zUt~paHpW{oQivorN&{tfzf=W|#$6+u8#OLA37Wau+_bSDBzhCo-B2PTmXy^ve)3N& zW1!|zyi4=dOAE1BxY{j}lkbvn29n^;vSeG0aHS zE++1(`MaoC)Otm{j$N`{CSCSiCp}W~$P08!@rPAk5QJ`*Vdq;KN(XEze9CchKx!oSIZfXjRcSnj-)n&&0u2XTy1+_`Q zYF25-IcW*_E5P4Ev0Eq`m2Nl+9yH5YDD@EHBHEv-FvOxGSAAEK70zbGRrr(otp5PV zO_%QA^)lj+fPC95+Kgyw8dsi|5hp<8sjDYu^-I zt5K@eVl(zx=owOWy1yT~#$``*K~vpNtgX#cKXn{!H(6$@zRFuuak@QWxu#`9bf9c( zlNA@{q0@Ipf^!V%?afiueNvK3+@)lm+ZAdAxtcDlx*MvA8?3`ouIdd&nw3i#E@qo* zO24!b&qb2Tfql_L?IYe*>l2+0x}e{69COto>4nvJ!>U>fb4%JU&31gpb($&$*Gxw* zmr|3B4M<_`9|Q>=EUNiORJ@Z5ZlhARI%kZfB=?PdRLwq{-6JIZ3b@3FBlD2;Rvi^U zw(7u(?7ah&k#n-OiQPaXo{DUJQxP@;a=PGhQL2%t?oc8|XAlPc0%6%{TbDyCxBgYb zEgLT3d7LyKgeBZu;#^J1=8nUm>M4apZljpq`m~;@XTs>E;kcA0InlU1r%+a$oI1E$ zAh0gd{Tz;%b}@r+W0)81&3b0OijntrP}d8E;PXuri%B4a(4K0#a>q#G=54BpLuNH9 zJ#|(;MHsVO7EJykVYp)Rd5!hDkg7P+2PVx~F{vJWq@~}8&hBY2tUVRdM7F~kiCw9A zOwh*jd7MpxP8Jzt3~$9~&h8rKD zUgb7*FOj;{Nx%M>{{H}yR67}C#XC$4b=|zL{{Z3=v(*`$&nVeaXK>rVjQ;>pLj+kg ziEOxeYqK<)rbC%KEPd|jHD{1SSnkW+3E@5ljV0d9=?k4%F2f1 zc+~=Eof#vSBns%fhN6;N7h6lTgQJI3T=7)s?+8)(k?s4$u8yd*WO&Zb>h6V-4A45`q6PkgK~Uz1LcUC_t@{~~d?nR2%49eTA@+A0X*zIz9JWmz&*lkr$O;By4%wdoJ z0NmRX@w&|L{{Vy?<7|Em6AI(gzGM5xy`os+VAangSbzo2#brrRCB#t@T;pH{>-2Zo zw}o5a4+d1?HL)}H#w#0Rk;DwqHP`*v^k^mB%X$UDaY!yFLfv z-vVR!B&Ie~aj4<)#`wI~9Z1|0y796Xu;p+dj=QhZc(h`0bY3qQ@ZJ+&aZ^CYJpJI? zJLVL4{{WF~RzzNZ$0Y9?J}aD+VD9VO;y-6F#vLs!X9R8;FFwI}3hW}bg~UkI(F6=f{`$v(3rlsT*@2MR^}a%EWs}t=Y zNM`07#{e&{s9No9ERD+cfO@RDCx=EXn$2a+J8bBO2l3fp6}4{2Aghmw7}2DgIi82~*=x!&>=pS1aPEkXq|C!LBlyv` zdkZUzux^{cDkO_a*G6>xbJ(x7ZGe|2WNst7!lgOdvm9Hp+d$W3*X znt3D^FvnP?3YL+N!3>7mzK8LU1!NvZH}pDRDUw1j80~Ys)^>PYHiJD z8LoF+XYQ*)cQiexx{*<+H|DcUtTW2yuq`%t#(bROonw0B%8 zf0<+&q1AV_lzPK+ZM8qltZIkiSYoK2YE4UzG`(TDsV!LA;VC6W%1zUrsAgN8N~Hlg zjT!r@x^r#P*_CtOnrbAuF}BWnt9wD}lHzwzA8u*tEr(3T`>L9Q)hJ}lmuKILYt!&HOOvZ2py4q zHcYfOk%C8y%I|a@UCOH(+GdHR7kT#@e=>yUxNzi*!}>QWFt7 zCa7d11nP)WVasc^$LSTXs=UFV?OkHga8k8(2IJmzcm^r zD5=dv!M4z9QzUYN5e!CWjZVs5;RrKHtKG0nR2D+ZyGFEVI+TN+KoylOxOeblBi^?^ z=^s)p*2xT<-p&O?n$G=WY5Rlm9{oOj7dQMoW>@PY_P-@a8tJ5cO+$$Q<|OkfvOUv0 zxb4fbVzL1wl2ne0EzwUaCL@%n0Pdv#NH!p+AgFA^g(w$ETe^@_YQ!F*oW^bkl>HH@ zsv?pxLt5|Mf6J3|6Tj)|K0dXEq!GiLZmP3W7G3Q(YE|&Z*C-W46H-iJm;gqgjX@lU zJi$>Mj%$HywN6t@4DpI8=UOrRDQ$BR{aQ}rmgAuXMI_XdIvJT~H<&jBav<{s7xoQ& zqf&;V8En~rYrhaq${iDKb!q#-VMOaMZ}wy1YVR5Nf+`nh6cCX5m)q{&-5t)u{gxSL z98q(ZNZ$-zStv)geFN+_?9=wWLwsM0)7}W2eT|MD^TzTK&}=*UFRggC103wbn%jFQ z{ouaxI>h{jR@?bX^zvgK6#Fpnqr5@lAj(<_Ajl(ug5}2ENLW7ewAZ6SEA!8Zzwsju zB~d%@Uk)|~%JSnpvSyX!o%XYD+vdJuEdKzL%<{!>zwr87!}#1w9Hq_RnhB-ggp0c6x&hsSCbKH5IQg5SthQWl6mR@!*5O|un+MV({ z`Wc{C_N-01;uzs)Rz~d3`fR#aj^pxa)6Yinfv?9;yQ&;V?;QOgCxGIGT?O&Bv#LqRK|s(yJGY+Buw zUs(HOiJ^_`k69NIrbli|iVw3Mi?Tg(aLb2C1-fC4G=bWo827 zly0Cjld?Wu3qP2qBb-ES%F-@(LjvVSr0=RD7)GQZ2qM9BXDhCx>!49&g2PJO%)d0a z(BA35GqU}XrKPSQpk{>~Zb4#Gj;~=01l(#4%5%S)lsG0@$kH?_Ym4-{P`tUR|zRtYI9<$^$3=DNflM`D)`sKaX*=@|H?fORqFSnOVx z6Quydi&Mu^%XM(`51rIESr_)d;Yn?c{{T<^o_>lpyqVbWpY$4j^u)Ip&vaio!rrq1eEYNOk$8 z#DPx{6g`GR`Q3LHx?hRN6;ma-rKs#+%AiVgOBs8kQ@1mP(Lu4PM;2k3!D>Vr0MRE- z0B8X;!)+HV+0g;EyaYMy;c>dCa;u%DrDSX>`H0^_mVAZ8gnE{X<{bAx4eqy!Rc0;o zLXyX=_E8*tlM?}JD#kmlS4MBL&4_M)BtXzMQV6nwdK3*3A7x=JxuBD(qn<}Js4Q$u zdaH4?vd0yiKF+05vW+#6+x6)Dqe4Us+l^J^%lc? zPU<+8=9Ln6Tx94`sP-8$1xHE}=1%Btl%r8>9n$HkL3GEe1LZwXUoUjh6^(mIZszJ8 zR>CzlS?`qfOUWVXmZ^oBGE^}A;DYJd_?Bd{5Yws%koEbYMGDWEx2=&H<8?;1=#60< zl$wQPw%s`pjwT7_0N>niUg!|O7|uN7PrBZyaz05PoyT9vQYE00=9$IsHzf?Pg?QXS zu?WGT+XM($DG27Aos}I6o4C;cQ~`Y#TKtuRJ1YqLCI#r~4JAWn$R6Ky>^nK9aq>i- zBZt-Ih56!e4~f>%>^pyB+!QVsWv4{}#HgQ!8*$(cnv|DX;@5nC5Hk+ofpX-Z9D?V8 zNh4%#ZEZ09+mD&Qg!DkEj7KJB`>)lgl+qYnTH%^E==P>&qAq~3hcF&!oz!$i&~|2l znAi)Gvh*}GjiRJ8OQE&WI1K@+sWLsbWO|ZQxRmXwdz+lHk_!nQIiJEmnCtaB1WEh? zLNYj1X053NQ!tjXx`QjU@`LdNo3vr3aUX=BE!*6$}R%ypa}(b$^o*S(?Cch zDGEey8;g4AxHZ3dK>r&$E9I!CQ&}oVPG*MW0b2 z<_Atd^zL-?Utk|+G=2=hS>q2G(+1Yg&+wG;fY&jHo3mQL^!*9C-)&w#tHS8zo~Ij$ zwN=eAQV7GJk}^EfGQ%!_*m;GVf0VD9^K;Ac8Gpva{{Ub5eIJK{J`OK_MbG>`N&f(d z@3i`l8hDgobdPAl@P|4!F@Od-Yx&$QxE9Ji2^P#($f@F*cZi^k(megvf=bgf;gLw- z*dJ0hYo^e8WCTNW#aun7nyj?3c}St=8!y2H4;& zDoX>pB^x8cYMIylX$HK4RrKZVE-8sB#H16j&;`***Sgvxkvd}R zqI0!U_#}*brEF8i!Y)8vJPkLn1uci6=gw>DETCTYvfYOa<2u2+tvI|REX@vVMBlPc zEMwT#DL#)ePHx+DRhkFqxM|gUY99qj#tn2^=(e5UrpFb`LhaRMFDo2btbA#-e8M^! zhwT|nMS{-lTo=&)0ARsR+qt15Qp$L4Gzl*wZif7QdpxT!kr=sZzq2u%mW5qhEC$2{ zkx^dKPF1XKMsiV!cLszfOxE)WSJXZH?1o7?l2(c)dkns=-snShOpfM+2UXVDI!IO; zH(yelj;2V4`G-Q1i*&#R)@w$mKoVn5==3;MO$IjMMU6t~qXNy48%rOfxsJ!^y|;=y zDTmPgmtmOn7>spp!)qT&9i3-of0zQ(sJFx~CxGEGvIA38;T$X(q@b)S#;mZKH_ z00j$+D5BCh#>U*wRmUuH$(3mMPm`@=Sn<8rFQX8W=NGu#lX6vnRcPvnHC@zkS;KoP zg;8Z;x?qbd1yx`W7E4078Y;D26c$(_4GI`m1r#d|(mqIm!7SG+hXha!2WYMx(Ja@i zhxb4S%uecalq~&Jhg}pfrTy1&5KFo)&JY$GI^y&a@yg4%fSV;jVVdGd3F>EMAeEmT z$+~tXy29#Yii_mjib0efMKv6Y8VTJPvD7A8TE>ma=aekyjM1j&TU((S3PsqQU?pV5 z0nvdaiH+n)etAaM*$Bu0vd=Y~&&3VZgyd9M3>hwNN{%95 zKU*%(b7WAgHxWUR2R*rk8OKy=79792jKH8~9aMwe6c!rh>dkjlCX>}%BT;M=9*Wt> z(E|2dU)>ZIABcJ>5)`)(1w2v_L1P?K(RUFn9;b=U=%BHlBJL+3Qv5|Z`XYy6_=~gk zOP8+VpMoe`3bpnhxoxM{LO;F$A%JJw*ZIxBd7JC~Y==K7OXekNDPR#>|NA?)pHwm^F-ambY z#5=L&r}amQmkf9DDr#xZVA%)gmh=iXWV;Js)w(K*CO1O81Qa-XotO5!C#H6}pP?UA z@9aqI3{8f6{{WRcAAf*1`XutvOBv-GM;}EkhFW=9JvnnEjls-&O^Zm_h3Y24=A~#e zVX{IF&XI%z^h(W5P(|3*f!Q9^#iK?}H9}@F;`FqxWEGdr&;V?6fHSlKu+%sUXdDK% zDwtGraa&C@K#Au5Ksr@$*}+yx{uJ%sO& z>G4&K(*1>zTm4MxSeh?9zUwybRbKNW%iXzJl{hVAZVQyUH@pvj_ab??I>498DXWk_<8{{vuxIes=mIG4+fW90-4#BO33Wu8S25wXTr< z=AF;^lk`XSTK4NCTppRoj{g8VD0JEX0OD~8B|Wb1sZ|nFH&(*wJH6KW1Xxilq|9wC zR1x=c%fJ0WS8XItacd@$OLLAJx8_Lvkj+!Uyljp?>1e;qsyX{&8MJ` zNyLQpGc}(;98k=Z3_rnZz~~+Mmwt&cYuf7ZvC=$88%vx`fE>|CF1`nUX}pmgH7srE zHCm}#jaFLal)TGor3+w$kIUz@yL;`+}L z<1^IaB1ciU<)@6hF@`aGxk=}(&cKp((%z@-kHt@GhlD7mAo*pldmo`YvLkMqIP1P$ z0cl@2f>ut?XPoQElzuwI{VUnIhcQ?N$1IUG1h(tMLjzJ_cUxy$TzhXHaqw@q4>L>PjjeMYzM%e~tTIq7q z)2f)|E%ZmTC1~oHg{{>R2%Rjgj036E_E95CPN|B2@bvDO`|t9%R5wFP*?OA)0N#kB z{v3W#JFR>kp{}H@lKVw(n)6}1l6kEf7rHDet?f3<<}>wCHN_&~FWSah(C$jFr)!3x zEl*emj@>yM%)~Xk(a@8zR?)b>`9|lWiDYZMj22^d?zE+IIAR#ipLq2t8EN^oH2%cn zT?)FuBhtj@5Oq~#WV+g|iW*%4a&#!h*)Yc=TcInSWE+hZqaXpgs!2_lXcjx0YF7%V zYi4M0((CD11oTqVhPXEN=DuLq#XO<;mee?~rGz>;EI{hHyo`R%j*J;SeV<8^N(yG@ zCAS)cjwRw+7~v&=5=P7B_1-F#%(0r^6@xZCG~}>6m7YHZzGP`XGPsH9v40ej_qBup z$$5&bZdsgc;#PdpzC)SLCg@>$FvA!w4?cNiHWl;BA@e+{{8f3YTH$PD&QtST0-Gcw zfKz4Mm6+E&*{vl3XEQ>#@GK-$yW1+BBZ56kozZ2*PZU;?cMUlvD=~R$AQX`tkqyA+ zqDjk$nn9@Y$9zHJ4{jocgmCEN&;h%TQn5md1ugEXF;G;Al$_nN?d+_o3bp&HB(T$E zVSUvBR|$b(-B?*wTn$k`SXoFt6b7lvLUaU$z^J+Axd{b?4$(+`kizb0pbQ*{*QLR* z-CR1_B7kE)igWTn&ta;J?gwbqPsi($`eECGZAmY)QIY)Z1kh5^t(V zxc6H|CQXf*+~dBATR9q~L$uv?eJyn8R%ypj(lY#;5N~uw)H$}*OGDV$Z2i=_ zqme5pRG!LBLyt7I9>#;}G~F)xo1UpNAw0^A=VFQ#hjgXes^&q@(N1*e0^D^`f2tUG zQ=KXcE>AzzMsHP2%7w=0ps>NpL%JY?-C3nN3mIt^SIn1b(O)-IPz1~hf^Mmsx~XwI z(Li4?>bo#H-3Ykta-%WoiVF>yc4REt?z-oyR2CFHNPdVV)+@6oL1BxOX3+;S?Byy8 z3>>()+nNY}LZ>-BQ9xXsIia|&F6dPpdxTIGavO@Xh`Jk!C;`0kL3NQ{P+W?j1pTgr zPsLs4z@Zb>OF((96J&p$p`bTlIU~m%D|e8eMUfngllZr5{{S0*P>gu-SeIsL*~3s* zJz3UkwbY|#6Y5a~LkGJHRxqfLZV?++;kZVjX2WV^<&=5_aXhZw$KbMCTh$qr&FYq- zvrIY1cN6Na&=zxRM^t9kH1kCc%>Y2;5vkpH|Xe#B0g_05&$i{{Yw(kB8O)p)1ie)3TIQ);-K&1hI`CXZl}Z-24Hu z=aSW(5PKP1}zc5th zeZAy*NGj{5Z9P0??s2t(P5h3pgbE62YGiCMG`a3J0573b~WMpN7iBtY5p93XZkNg;|~{8 zcwYsZ6@FL9%SB5OwVyEuC?lIii;rP#$VI`h*zoK$%wE>XFw9Bh7s9^Kd`T~gak6R7 zY6>gGOQnm4-jMfkA0W}maN))NR&VJYxu^a%E<0zRs;H^1s+O{@cS|(yGD!CumpGe} zekBgZ_XSqZX6+$Ja65(XaCmO-k=UedOn%Qk{E7=5B?PX9W^rlcBRdJOa2pVLIC4Lj zBq5CmJkzmB9b-5X*f?xdwM8d?>{6nb!p6@N%#`moYwfZ8ByuDF0PzK~Ij2IKW2K;# z(LI6jzsmMI-FtsS-;y0oBV%Bwrg42cjjl$lcj0$_ho8&=KZYj0QF?ZYr?x)3t5*|IPD#s>auH`?Q4~i%?*5N+iE((A3DnBNq-x>FsQ&PIvRVzOe z-tWjH`Ju&jCzPE6J12cG$Q^eb&rZtF!7Z-HoL+X*WYs*=>`E`-q%|SK zbi;2ZfNGwl@O4&TU#F_|STBWX80MOpS~{+Lnc)wUqaF#*gT}IoLPgj@)}f3v0R6(+ z$KjyE>|>FJ-4~jQwa$5P9P~;vc~zj4Jx-at11+VHWdL0$%EuA96xB|#vJ@EHkUF_Q zc7!adn#Z&d9E(#v=Ibg~=XUxoh(zak9?D?$ReU8rqFjOJ~KLvYIC z3PLC1t$jHm-pas}$uKSm>bqAPH&f_~9W&kLkmU%bXrUQmZO>GKzQ~T2z&dAGbXIjk z7&5@$idpi$L*{k+E(cAMudwT)?t7kY;!2k4sj9Fkh`1ukLGBfArt5(_-2w^->ZbiR zL%%g(P!wE!6@et#4Yx;$ol|2-BO9V9W$miwGfN`1ypn8mQzDSWR*uSS60o2gJKa>U z^Gw-Af#jNEp=*G+k<}IPa|k35NFiF}T#^V=nNTUZVlSCNe!8j`d{qm(pe!MNs#|vy z9OQFGjGNs7*xWi1s?&ku!o)1Now8~vNILAZlCswZqaDbUKo!R*&040Zp}BJ`_tXKgR-;C8c3Pp=2UMes>WT{spJi<50o?AVIqHzZhl^`v z1=?~!4?R?e-4q~&_X;xwOX#NePJ+S$tkd04D+DAf3LK|5bRnlTYxhMC%NJXk;`B0Z zcU^PU6c${%>bbe9muRb>OWi6937JlGFy+~kpf8(M*}YXWc3et8UoztFiV<>x>vKg8 z!iW46=kK}(b7k4lLa?Rds;Pf;JjUt?D4;A}hFrL+l;|w0ouU(pBY{GGg&~2E=!0}= zJ<@<~rJJ&|`V`5qcT@0Id_Ge6U7dsGJwl*8&?3V8l!EcDVyX(V0J~+8ywRho zmoR7r#G3#)pv4pBc2-+Ka!Igg>PjaWu(Zcbdy!{LYZKHCgX(^Xfvrzo$^soGStlQJ zb};_{H{w0E>wQ8jz9Eu8<1D4lcI2H`pBJ*?E>!BfWo*qDs=cPVAmeuC%zXyGqDn`Z z9_bu)aU`o!d3e%~xf!>|Pt^s1&v0XPE;b5@v8cau1L{8Wyo~))?KcS3jv3nn4cid6 zspf(QWFQR`n3L^B$DfDoePoKDcV|OF$c5! z*p0`;ZV-hqa3&cV@za_VGRp(Q;gQUDPZra zk5Hp@_X?$~FOAKri>r4Yqi})^G`oVwBE$d%H|~t;XMuJQ;F`iPD%@VALkkFK_nt<8 zB-&iDsJ7_?!*J@XPNA?;u#!&p*?l_z@Z~NGPCTLWxOty#yD7o2T1*<8MFU2Ad7gJA zX$dX5;mw)Ph0)!M3WqPU<}h`-cLl@USz6HHkSNi?Z;&a7!&zLDjA)_huU>H*>UDFCUhXYZ|h#|KYWYCQq!7suNp#(;8X-H)qXeJ^;gD3v!Kh`NHgcL+=7w_1HO+9! z_PAZIZ$tk8dM<{Y?IF|1)>~fdew!Y^DCr**)cjeF&H-gM z6Xd78t+`{mAJFsqE~N18Cs0M8Ex$6gpz&;U?jo9zpg35E4aY)2+=o7p(gudZIoFKX>>MJBHJaVkdCNG9GDuZNhDn?6`V_s#c*q{ve9rw z*%wj>*;|Hs*-sCvkzqu{?=ZRDOzqSadU}2=t!Tdbt-AUu8cIPSv3<5sG)ibzW*g z=$I38Wg%5a=zs_gwz84d%7I8F0b!#TJ0|05RuV3ph>M}IpzUsmfGRZE5vJ-aw289f z6~OCt1R}>pY`Vo<1vzeu6#^r&43XaYCh~+i8aXOVmV_2c_a(t0GyLu_#5jMpU?>ms$u3}{Gw6<;v}Qh;OtAwFK{NE!j*3D8i`{kXskZBoD=(QzC~K~HpaNdX zGX+bP$Ps+Sb?&GNuogi@f!DH?04W=w5n<@0Z)+-rAfQ1(RtR9*nNl6A>DB(0?&4cMc^)Z(EyWu5CZ~0tQ~$yW|D~0bO2!O7Z)Ldr{;hxP1F)p zU%Km{4!Z41g~%P2*+$!{-F46wNl-f}P=Q%j1Sf&IGmzXakw{)aq6r<75BE?VWQKT# zbw+N;ExI7nWyX%sp-r?^2UT>%L;~hGIgTKWtcVO#AKqFw{vbT3)N)kNr~@&u7xX}j zNfY8AJa4fZ6iA@V-Yl-kA6{Utr_9a8QiA9HJDI#_fF0)sbLI?bKa$`6dN`vXC{^R2wM=x&=WP z=_7D_Z*yEWAlRe(TP6PhjD$G;HhEqC>1@NAoWT?>Mua)M)RX7_U7S7(*my_8bkvcI zI=VKp=SeMNe(S=50R(86WoaWM?cxEk*~8+Za8p#xG0nl+KEU@hfc7{!r%*=4QtQL` zd&G~VBAxP?pg(oT%-==rA)XqD#Lz!8Pt1C*3FCO*Cv+yJtr~bG8>=gr(mahhoV;J! zuZ(|fVq*oNl$snogUu=w>}lf?caXN9~xV5NWm08p<5tRU+fdAs{Bk+Pbm zQeGo4 zno#5Tq&NC(y&E_vh~k!0XybE_V2mikHL0j%W1u%bL^&#|h``3}fD_kKhUY6@w_py-^|lnEwE|PRXHhp}J<8wn}%02M|V={{2F!br{)`JJf;t zDw*lV)R+FJpVG**#+4cdmMVtvsKuRYz9IE3?c0*yVa-?fZQ3jifAK`<($Cw8k>4j-R?Fm#ScG)a$nenJN$R!-hie;8#<<&Ld@}{E zr~d#GTS+q*HYKLtG|c#m^JR_KVB~gE@;3hfQK%%pVTZM|)lP7M z&_Ly2P;;*0Bp~2$Kfx63%_MRGpI51ujC7-Bleh z144rNyQ@UAraKfO@P_%b8x2s))`*5)MY4khvM4Ahjdw)2c;r>X!b3v=_vTge z*d^NaZ0HzQKSU=xvf}&fRSSny(3u6ts++14%}vuJz3sA$%C}K;fF^Frb0J+#(*pU3 zTnZU0vmjI!3T~Jd1#l{$ zsRaOD>#xmL>$4zKTI;N->5=5BEH(7INO?% zj}F%>f`ARTL>F8(c7|)NtR3A3`XWNZEArmf)Tdw?Ho8-lqUWDvcF7$uv%M=RDxTmBo#}p8k-`;Ln3C%GR!~K%~nW@Jk2?q z)d^XWIfqTUCKN^0Pndu?=!oDX8JaSxMABsd+d`5G8g;n2owRKqG_#&u;`7X+)RNZa z>UB%%Q%oqhcU9T0gh>X=fhYu-Hb-*T~VZy2E{DeP149{LUpW zP)T+ApQHqGMed!21`iy{km1z?T}Zyju~2aC>O+tKHorw{yQ%_$mndm;j}fq3lVl>|uN%w| znOpD4c7xD!MU5j)mR7=LF*s$ViOw$kQXeS!7kvuPxF+ag6@0ha1Yuxdiol2y#I1m9*swp;ZdsY=7*Np-7&edkbU9BZ-GLD4UuQ+CK z+^QMfx;6S8o3&JO&7{=l)M^$*MFg>2wWNW{%8}xAkekOdg}bKW@f^d+Q3E6%iLIAH zYAnq!Ez!coHAhbBhh}iI0^P&#>@OMySs{F7y4kBfv8I-HQ$~D%*mWpbZR)!d#L~7f zCS*5#gH3v3mxQ_6V$7T6I=z)@m9~> zFLI{jXs*oYKNM`cih*(zT&Hv@4rEcpLAm6hlcFprK7BP&#QC7yuDL~p2NHKz4@!bn z!FBA53L4@bs=`e)N{i{Lwql)y3~_oXWW}c7rAvz7;)@D4AgIk^N`4u3E6>9-nn!h| z48+?-45*ti)L3qd?HX>fM6TUjO5zmJs%C@d?w68X%3R9pCFPyNWYI0yc_skvmy)Cn z0o^ApONs%J$C}k6COyVc#lGoK^0>V6Rb-4AI;t6UKrba!xT3@`CGLpXd!&PkxN%Ox zhlIV=guCjJYst}EITiz4MFsrOGZS?g$wh}@^V^z${^$k8c4M+)p^+e6oiCosLyeJP zL9<(Or#_sJF1qgOiwX^&y6z$dV|5vdEGT1$7iZGfK+Hnxl2Ktp8Tu&?x?DJ^%u}$T zktcOwCqwc}+^G&Iu~5L1WjsKa%t2k4?u!Z;5`oQ65i6Lf%t%F!hIoUTfc{Bf@~xPl zR5Bi{9+qh)#avu!QDH&zg>2)hUgb^7EGQ|HP1PLqGF{tMQc7Y7UKEG=Al$A60Yd@$ zt}j8?lAUgVpt7<9@rKD7kv6a-q78NCL&fnvB;}JE`0y fU`aPB2~}NUQDZ9iZh+!?qC6gGc}X_WAfx};2AMKC literal 0 HcmV?d00001 diff --git a/public/index.php b/public/index.php index 5b7c3b8..3928bc2 100644 --- a/public/index.php +++ b/public/index.php @@ -12,7 +12,7 @@ $isAuth = Auth::isAuthenticated(); $currentUser = Auth::getUsername(); $appVerData = file_exists(__DIR__ . '/../version.json') ? json_decode((string)file_get_contents(__DIR__ . '/../version.json'), true) : []; -$appVersion = $appVerData['version'] ?? '1.4.0'; +$appVersion = $appVerData['version'] ?? '1.4.1'; ?> @@ -144,8 +144,13 @@ $appVersion = $appVerData['version'] ?? '1.4.0';
-
-
+
+ +
+
+ + +
diff --git a/version.json b/version.json index 0cc6f21..6a479db 100644 --- a/version.json +++ b/version.json @@ -1,12 +1,11 @@ { - "version": "1.4.0", + "version": "1.4.1", "codename": "Helios", "release_date": "2026-11-04", "min_php_version": "8.2", "changelog": [ + "Nouveau fond d'écran immersif haute définition (réseau constellation) avec carte en glassmorphism sur la page de connexion", "Lissage élégant des graphiques CPU/RAM et Réseau (splines Bézier cubiques sans angles vifs)", - "Amélioration des transitions et gradients dynamiques sur les graphiques du tableau de bord", - "Mise à jour instantanée du numéro de version sur tous les badges sans aucun délai de cache navigateur", - "Invalidation automatique du cache local et rechargement propre anti-cache après chaque mise à jour" + "Mise à jour instantanée du numéro de version sur tous les badges sans aucun délai de cache navigateur" ] }