From 5a8b5c4b51a782ded1a6af9e53914c9e06976dab Mon Sep 17 00:00:00 2001
From: Vladimir Roncevic
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle
index 60799f594908bb7407d02b01c31171a6e9ee9884..b71269159594474e4a3e387a942efb8b41252640 100644
GIT binary patch
delta 12917
zcmcgydvp|4nokvZb~ljll7tW{2}06&kOwcbB9MeY2!s#<2nb1~yOMOLUv_nasId_T
zCDNjD8^i}H0_u)4Duy@CtjsXG>bT5$X4GMZan*4=
N
zP#L@wLF1$V`#cA{_SP>m(5j$TOj*76w24e?xPX8MpD0BQN4OGZzG#Dft%yzJ48`so
zHg!~sVo?bvmEtdCDN==l6UbwL?m}h`%Xug=#$skre{8icEkogxQ$$U8JX@Q=nGvR*
zM?{-(ZRAVb)*BEN?eP=Ix2+V`#nPHbgAp>cE@US0Mrrh46ODGHk_Zx}l5V+RbVY)k
z9A0O7s~TgGs7|m+EHB|og?ogNB9rgKy+53MP5yS$Uxl(z`q(i?9yV{9FDQvz%nVE)
z?^@~fYF2^w#pN9qQ*K16i;YO5O>o3EZjsZR;`d)Bqj%VU#Fng|sv8BF6BbOd&}R{4
zw)S;9g?_oL!BlKLCcJmNE?jZ%8i+YcU_G4fqRlvT?us@N1};6UJ;~3(m$;`Eie_xv
zRU~b@yKYmFfl&!Th?Iq`Qey--tlVRaOP+dhTTpS7ozafzPN3U7Jhd4bp-7|e_TY;p%p1V
zoKhm8?!*q?t=P0~6;))1BMOiqX6ALzQkmDwyTS{pplztpY+k9fdlhsZ?Onp!i>si$
ztyItg2om~bQFW#AxB<}gR(ZTljxiGA7LK%P3<)h;LWCxb;UC0oPnW))qQ!T^(9P&r
z><1Rxqx{|*8bB0Zs}x_S{JviK{R-vxKJi<6g{|1OSH|
^xTwgg$e|2{K<&^@8
z)N#t2^U9aXj!17RmtV>^9o&C8*A
Compile and Run[SilRelayController] Software-in-the-Loop simulation initialized.
minihildesk is a premium GTKmm-based C++ desktop GUI client designed to connect to the minihild server (either running on a Raspberry Pi target or locally in SIL mock mode).
It features:
+A connection bar supporting standard TCP connection, SSL/TLS secure connection, and Mutual TLS (mTLS) client verification.
A grid of 8 Relay Control Cards displaying status via glowing LED indicators and active green borders.
Multi-mode relay control per channel: Toggle (manual switch), Timer (seconds spin-input), Pulse (milliseconds spin-input up to 100,000 ms), and Blink (ON/OFF ms inputs and cycle count).
Automatic hardware safety auto-off logic: switching modes on an active channel immediately turns the relay OFF on the server before entering the new mode.
A monospace green log terminal at the bottom showcasing outgoing and incoming JSON-RPC traffic.
Install the GTKmm-4.0 development headers, OpenSSL, and JSON library:
+sudo apt-get install libgtkmm-4.0-dev libssl-dev nlohmann-json3-dev
+# Configure and compile using CMake
+cmake -B sw/minihildesk/build -S sw/minihildesk
+cmake --build sw/minihildesk/build
+
+# Start the desktop GUI app
+./sw/minihildesk/build/minihildesk
+MiniHIL packages minihild into a custom Yocto Linux image (minihil-image) using meta-raspberrypi and Poky.
Ensure your build host has all required packages for Yocto Scarthgap (refer to sw/rpi-base-platform/README.md for the list of packages).
Keep a relay active for a specific duration in seconds:
+Request:
+{"jsonrpc": "2.0", "method": "start_timer", "params": {"relay_id": 2, "seconds": 10}, "id": 3}
+Response:
+{"jsonrpc": "2.0", "result": {"relay_id": 2, "seconds": 10, "success": true}, "id": 3}
+Generate a single momentary pulse in milliseconds (up to 100,000 ms):
+Request:
+{"jsonrpc": "2.0", "method": "start_pulse", "params": {"relay_id": 3, "duration_ms": 5000}, "id": 4}
+Response:
+{"jsonrpc": "2.0", "result": {"relay_id": 3, "duration_ms": 5000, "success": true}, "id": 4}
+Repeatedly cycle relay state ON and OFF:
+Request:
+{"jsonrpc": "2.0", "method": "start_blink", "params": {"relay_id": 4, "on_ms": 1000, "off_ms": 1000, "count": 5}, "id": 5}
+Response:
+{"jsonrpc": "2.0", "result": {"relay_id": 4, "on_ms": 1000, "off_ms": 1000, "count": 5, "success": true}, "id": 5}
+Query detailed diagnostic status and remaining time for a single channel:
+Request:
+{"jsonrpc": "2.0", "method": "get_relay_status", "params": {"relay_id": 2}, "id": 6}
+Response:
+{"jsonrpc": "2.0", "result": {"relay_id": 2, "status": "Channel 2: ON (Timer, rem: 8s)"}, "id": 6}
+Copyright (C) 2020 - 2026 by electux.github.io/minihil
-
-
+
#cI|~6-1#Jb`QeXo zX!kx+$po6Ahs<;Ipvx#4(PcRId(P%q3V}vIWoUqrM}C7dJsmdDM8gGr&nIabbTnk3 zR6><21VRHTs16LExei{sJ zk(!2ItbrHi;HZ$4)0}|mzA;Aj_fsp>uwoX;Sd62``w&u4SC^z*F4LDQB6Q;%N7m4i z*{_zlVZ$mgH2iXz>hKup?hd?(848c>!XF(+w_P;X!!MWcYBloZGENX+m x- zN#OeEQl~gFgPp5jC_&%^Xqt{wv5BSA2w$=9z!9phi=`Ws9h c`I)j)-1H@jG5=g)r3vi0Y);f9;BZJSa)Pw)B*xcwEc zWM*`f>9G-Rx%*{YaLqOI9fPr0jE>Gu4jekc pLa=%Bnz?p_|Mc}=a-zTKO>fe-ZQJI)@Qok(n;UMt{+2tgT<^JFpbH6s zuP_XauYTue?0)7rDsXt@H;>V?cro=&&A8Eo%y=rrW!GNK!@u|?zxl~eky3Kit+%k{ z4X@*09fymrxQzDh4!-o6&r-?fNhFi=CpkifVVGu+%NJSP-O9Zmc?+wTEa2?uEajR@ zJZ7QkI^X@xKKAxaaLwiGQBIk^`{ZXiyzc o?I?i37spSYouv`i?Laq~q48mg4X866=8C>0=-i~#PTTt8&&{QxJI zr#6$P$tl~ipb>i3S4PLN z8tTK4+z;!`fg9@95ux=}VEa+JAdrTEAGml`n}+rl4nO$}D_1Wil}cbcE}CT#RBIIT z6-M%Tx*D1&mCEQ%Y2q=HNBagDDA!0O67!yYuIID%{PlQ#Ks;{I-`7WWHb**{0EkL& zCdG*{9{%pPx&CD@Cs2yvlgGL71utO7Pkzjir=BEG0ma#AF1zkpPVL)|T`r-dB9V;K z+}6V0XAX1ur6x)U8k*XvZ>Xb~FQV%PrBXrH4a4hRw0zUGcfRKDwr}6^_W!DU{XhLg z-?VkB{?GsX&+ct^zx6feZ`|;K&9_|cDPQRUAv0|l8b5jHDSrH`$B0=P5B&NeT01*w zYHh>y+^7LX5sSyLEQ>QIPGXrRb@g>T_RC-K(9eItYv1`c>YEz*>gWEJYN1Fhk%$Hf zgr~TOPV$-AJeOavf`9$ohgiO-hf{-7lxr@TRD$VZl}~*0*Bl!w@WNZKpzqKDKK6lo zIJ)lu=}bCQ*QqE>k63LfCFN2XSuU}*t&S^~b+Mu`g(?&&7s?2sAqYnfiE(X=J4o z1n3epr3lIul;fi*pX%8GM6HI9dYG#Q0YS~dt2zX(7Xrj_v5RG@xgxOu>NSDuMU@*B zp5{V8rBb6>t%W740Q`yrt{06#4kL?Dl%g=oK0p7><22uJIq%u}e(KE_yLaqCb6i%e z?8SFn4v$PQQFV#wT9mGYQB9>%VR>5 l9#&> {6A(M^5qW?>)dzcO5~dQ)rqN4LqFVlfwrq2m;&yeAg$a`UJL% zJ(C0FBfS7m*%4W!5qJUkiokL4oiJ^%q=sFok&MNt(>1(Gs6R)9W0W;1DU?d&^JU^G z9lvZNR1nsUWjMW61yRj9U*+K5 51uR~>oW;jZ@>gH_8n1Z4^SNllTE?>@WD8~DmPN5xBGuGDQ&S!H zKXZTsxgrT8MnITSRjV~ttzS=bYa4?@L#$iYP4D7vcJJIpCe8d9X(?sIA6V3KS)TmS zb~4Q^jGQ=5DwD=`Y%nc0-Fh>H>1pyaGw6ms-}4{%;bJ$F zS!KAf 79*)e|U)85)D*GkogrzDZ+!J->PA5fB R;9zOr}mtqzRIF5sys}UnWiOBUuVLLX}niGZ40#&ndr}8M*58YGz zC?W_HN(z+FP+n-GRLbQk=W^&mlCeyD&yDiskd)J G5d{( 39lNRJ zOWgXxJGk?f8+q)po&4}e_j9nXpQ& twg86s8{?mZIb?a7b`<5+!>zXURaLX+>ti1HRC0@DggkuARqT;xG;&Wfa zGGgrB^)xfHc@`~Q8s@-+GrZ=MPzZ%#>QoAOzV^5ONPR (aIkFxjFIIr4#6MYAsVcQ4(f|0?&upAeJ zmq*BF?VE)VXqrZ`P~`a=SMp~cd=tJ?!=0R @!>)nQh8H?dN z9@WVl%JtE74QUt%36)BTtFPEVET;4HvC|yce-bG)p7(+~xNOa8`bI}MJTgKimPB_w z+7@@y*4fJL{vm!dHbug;2nfl`nr+kG-Nowj&tqg_np8Z-sev*2`UiRYpS+Uyz2_}d zYj$|A=X4f?sgKk&tayTm!Q@4+eGN@5&3yYGzR2|GD7s-prX=CUts*P0Kq=b0I+@KC zIC$U)28!Hlmd2KraGsrE;Mg_kyN=hnXz8LwJ?DRZ+qP}NrcGP5|13QIrvQEPefMeG zwr%rnzWXh&+_2%o*WS8mqgSoEdf0Q|W0^Xi`O r#BgB?yDsa9%y;(f2 s&;4!KrkIF_J W!T%^#c7OHp^ zJM7}BItV`?JDKH3sZ2+A7ndyP;o#%D8O!FVOC)ISXu*i-Oij=5qtgRmnxX5Brp=3v zf*`;Yf}~|Zpzumn+?qoWonS&rw0JmWHt+(BbQ~jL;mj0~fkIEjQ9ei|5J7maW4ghb zg -Z^(fe2euBb|ipI9zkn zjifVa`i94GeV=&DWN>7f!^iq~$(B3#& )&6_v>r-1!;4)m>Cx617=d5M4htuI;Ly?EJ|UVO*3fhDCDcs{-tkV#nl z`%iwu?!8BF?JB!=J -*TX8uxzq&AjNAs~8-crC4#uB;!oxDt!FQKc%aui%lDs^S7V+ z3_tt+k4UD|Xu1(z6g?DK$aI>yQOiOIG^tUkRJnTHQWh;+fHytE*uH(lx;ja&TaVE7 zNWU&{C&wxE_v4p~yym4hal@*`6bofEsm*iMf^ZPw@qy8>+@=BoFTk(5(J3y%Qj_DM zdx}RM-A%#qNH;a&lx=2nMXXpHyXKHBm3emRYIrRaV8$(;?i*laY!V}GlAkRw)i+Lg zEK6x@mh72P%mqF83p@D08(z)K!4sSu8m6VWiL_;rXl;P1%`cCi;XtlL+%!Sc!U#%) z3c9(Wik7aURDf5mP@XP@^4dTlJcViKI3*k1vd|43q>k?eq`KQMOe>6NDh?7I;e%VO z(%IO= j%Ujzh=JPDR_ fHNltQt{`Zdehb8480Y=ulR&e%kjJ^PMw=dIWA7aw^ip6lVck??8mDvFTQ3|yD{ zzVa`$c64yli(WvXP?+~PAiAGTojt_s8VG!kKn3WAPFrUO2M--1KRZjcQosuo$wVTG zbTmqZoYvIT95l3c{o}ezZ& K$%;y8jb-8rS5|jqz zu@OASrhe^tB$urwFwL-D?R#iSVULVbo|r_$bl$W1W|F=)?<6zVzb&N3fq`MFWgFcv z@oX1Oli+#axnUmd1q_}%%h=cy9W9Ocj?3`C7`_msk|~PiDpTbunuwZ9Bw^?;B=JO? zGle3LA31>*K(eigfq@}T9_eHF^e{7%Ifjq*aeaF?nX}{U*|nE=GD%E_R96#L%%pE} zl7BtchiN6ko()Y8C!|1V<)lJNMI#K?y^2lX`?$7?U#THIpTc;KBl}K}X{rY=z@93S ziY2iy@C#KmB!0=k@F910nj=php|idjCvZ76HbTX9c=&7|XJ%(fXa@P2EDejhX `4~q1h7YRDzj&nY{;&anp5| z^A{g_JFe&9y3Ty=EuspB6| 4o3t##+jdd9w-|;w_X3*Nvj_-MRzK0P@ zaK#NbFxb~e|FPqkhKVL6 g9;JFT8*!p&E zz4{`~j?Gea0~+em9O@h8-f#SpTdu#Hq_Elgfsb;wub)g^22VwX6H>>QlDZWuX f4(smC6K~Bv+|2bnF!U4?oF~ z1BXeZQzWFMuC0-}_D1Y-nJ?`*$f&C@OarB9A#V|}S0c*OQHsC|+eqE29hUJNA2(M) zRb3{Jo+asn6dGQ>iji}8YUcqCJb8drGDT&kgki-90%-1PLkWRXv1zWaW2%tDD_7}l zY^FU`N4Z?VH*^+Xd_LvuG+*3(nA2sKxNd}YS~Ap45cvzFGHFH!2l?#B{~EWD<@QY* zI5IfJ;B=8pB1XPc<(Y%Wx#sFi_{ay}hU>Wap7-p@9*alSwAe_OtyfU*U$k?qcPJ z4OB{HqzFfC6{aUC#dC^7JzVM^lw{Q1<*ZKPI4CtFTZ`QVL` EuU5X}O! z5;6YaU+%+kJWd`z!N}MoJ-v$}l~{o5`CNYE^^}VR4({BAX_*KqDOV~iTCtqFU-NQ) z@U4H3>e{KW{~99sWoRT&t5o^qhu+NfS8QZxJWI_DXsk=K=g0t`|F`?ueCKskvJ-sl z&p$>!n sYXnuB zpipIGa12icw6-;cYO=9urf2gsw>F^y#ZWfSwC!T(A;9OHQ %^;OZv3DxV4-Ov1 za9z4qE}?T_C*^#JT&_gfb@2?H#<~WQrb*k9E*cheqB$=A`piKd8l5Jch=;S}w6L9b zuDv%vA(7O)fMU6d@WT95xGr9 ;=m|I$>pJ^p5{n?hE;do$f=`e z$xmd_gv2e^a7!gpnFPgLNa{7k6WGNHtLmCroUW(j*sQqWN~BxkJ9`fDqy90{vB)A@ z%*}ZR-7pbanEoY_N%Gko_x|N489&?4tygd0^mvxDGewe#IJr`d{fAF--PM=!{`bCx zYORVtXTlkAK)&yhNTujMe3%D*@B^OridWFKU=g)iHJpQ|8I1RxL=doS o2(d2CFfhq*|*975HS*DSrOIlN>mB0=HIS@810^>|Ko1b%cUywZ?`k zE~mbsjwc?tA59Cx=$c(4UEj#--||MDc=%DC{LLd|B9KF52NdO^g+h^g-t$^+yXF#x zCbCrBfTo5FyAGY<@4xdPuiAVolY@Qy^*x`!t=YulF?>MNOi%)mOwqFOLYkNNl1P}C zF>~I>ZO%Vzt|X>MWSLv8;g+kQT-@;q3{8fkilPTY*LAF90(WMb+VnIVRxDygbDCF1X2q*2u%+=-sWss2+6Oi=Q2Ds173g;w=hf{w_@WKYvd;j zWM>LUCGcmfJod voZ@oWdDRKqV-8JU`4x>#aOa|^lx zr)E>DRake+H6%5~!-o#@xBE|E#bSgSVJ(`r14b-?jHQr RXywxOP2GElmBSl(e+BaqQSh^0_S4auK8?7PpY0LyvH4 zRhBMWX`1zoUj_7|zrzszcLMZHQOJJNOWyqMtFON5{0rAC^>X>5CIncf&fw@I-}&CJ zXsk=~@I#N#(9%LGlST!KYOTt` OWo#->#rA2ePqXJpKVQ1 g29E$IU*cy^?&sG> zPH_41Wn|JRMo$iN;^-jxVwt52yD(xga)knqo*fNGDTQ%sn4^lh&kn*c&@Gdi8RMf5 z@8bTWC(#|7mbL~~Z(PlVS8QP86&JGXf)zA3r4h9f-`cyMPwzQ~mPkVcZmDSqsUyT( zR4L|D8&63N3=HE|D@fC%k}px5%%TM_er5#2)Cp=1qy3}QU3oFDc< >~!KUH98rc5dshVe&_pXPaY z+`yaP_;Lz`Qq)uv*4XEy&&gzx2Y>iOW~U~2!K+@0?Ro@$IOWx=)j0gbV=P{?j+TXs zaqSukMLZrSU02VZJ^K+VV0wC*R5}w5j5G|&)smJ RA^fJ_NeKTR z2Kv^mTjeA7+~Z$){qvVE>RoZqt=C@WS1T1Qm~&JyO}_Gt?-RF7_CCEE+x2PdXvg(^ zT-PCysb|xzH}mw49ZZjnVOU`ZR<6|8{IZu2k6C>EOJBv*qrT}#U8Ynx{bP12%j>q> z##>+cJSJue6sk52^+^t#7~=2#?Ezl%(%U(E;wYc~o6n#L5$2glgl3=+SRI`-Z@h?j zLj$@3;R~daVRw~oM0%Z29HI$<;|CN ^VEa;n@=LSPT_KA9FSTId!1WbcAkU#Vm?OjF0Tt!^a+cjGZU@ zn3|fxbt>4EJkt~7JbvsXANtuNeD>)R$apGDKQxKdb);^D*Cgt pRz21?#N^~G zh8aibI&P)P%y<^%`@}4hYNbZSwlPMg82-w4(8ni8*QY5LOBC`&s C0!umUIAg05 YJ1|6vL2(KTy? z5F)taRqy@6EjL}8Y_3oF*=$}&DXGh3_~nC7a%Nx{w_M`Hi9UK)ET6Z?^}K*v@3@`O z{sE3Xv!6sNg%nUImbl{DYq((J`F!@1pT@3~iO1svDmo<<=(=QfHqY(XU&3F!^VQ7c zN@Pnm^>ryu4^DFLzx<3>z2r7V`%m$iPks(fY9Yu~_~1)j$7pCqPi4p*J&Iqggi_5w zA$1L_E(4V+(lF;)Tqz{BA22dG1CEPn8dN5Wln?h2Z^+ v0xzVxJj8mC961mzaQ3K1YDh(ltxb zOr2t-#Mky71~VK=K}3`h4S)#cXwhsq!$f%=M$9J=8GbxC&HZO5XiJ!+qlqsC$78fy z!;uEbR3 rOe~QkSE^8U zt0YTBlJO+k_&C)>453Ms=aVlK$yTcf0h5IshsGyZ-_%A&D$Q&mPsy>l=#Cq(q|e^N zNBHnl`xtN~Dbv6^$6Elv)8bry_2q25 6@cX#o()0M$6Z;SXx*L;BWlI?SL%i{|FJW|af=3>Cf`+Dsa99K(!=f8H zwMvEU|MD-q_D}zm@!?_iKlK#JR1z~5WBB+{nmXFqc-@UW@#7za#w1G8($dP=fnmD4 zI%x0gj%Mk_@H`*S^@R#tR;@WNk)NIZTM##G-n?0E-~J!N>3?Xa*tBV@zJ1FU|C;B$ z<|P+wyx^8g&tKtXa|I14Fbs{ciD`cPvxiB?V?6r!Q?zun&zt;LDpfAH{0fqp6p!8i z09HJ7Nv&3@Eb3j#3%9(G?|k#yj1CTk(=?)ieshYYe4)g7D;D#~KYttfQkAKEg;Xle z_-v7n|KpF?^1SOQO^xx%kADV%z%YzZwyEoAx`EVmynK%0$>Z3gLj;99R4WLlMo=zM z86L(h 2QX7 zrA*1S8JnD>Z*Y)Pqr>#gOmli>k|+E7IWs%M@`gq -M!@5T5A(sD z2RZ9XlBR*DRA>hlH9qOFB(a7jgeF2W&0L;=!BJclItfW#M;a#5uuxKq(jCQT@BKWZ zX9u|M;&nWJ_$(9oDyf9U_;ikm@hRT-?l-Y&)pCl3Qt0^?J^w)vHd~Dj^z)1D+qvr{ zTWIU)p;oPho&l!GktZI x3I(mX zvCd!6yW+-m7vHjZ`}Xbre^f~G9|5|!<{E-aFTFJ0+OgmhH(ztP3Vcs`UV!iU;fSN} z{|eL4*t_Q$d X%bD-& U*Bykr_^wj}6sEIS@i?_y8P9g- zJIn&dL%A-#?Si3&<8~{Gcru0Zd~~JA#56q5ozMM+ln7l%(=;3-#@2`T@RI{aNg9Gh zz1=KYy@VC#uVV4)rDW1^+-jM7AAW-Sj*pPcWI$?2-3-aHD9xDf+#?J#rKTed18JJ* zW-Q9PC8l8zGc974g=vNxP9P;h3+1-DVIoa4{I}<@?P2|Hu1P0+loD2qV}%NzeS9aB z%Pd*HlGZhgNk~P;G*E$u?bN7NE95F=riw*oi$#i+GWY=t(kWKdHIno~OXsDRZeaa& zml31Jj}IN-&z{)Fuq#NICcYA3Enmt|p=wyf>YGU *sIA$V=ZY4nKp{Cuj`P5&3hH5U$H5Z@9FP=U{$@Z} U=D$O%bKFNVSdw9ufUK`4keIKc51fIv<2Op$&?Hbw^E)L1LARwJd z |t!+ zES43rrj@GAmRG!#a;3zNzx#cX$pn6+C1x&Q@)b_i=93?NJBxcd7@EkU>5^D1#wWh~ z6IL!?%JQy8K7P+%Q7ROP#mw-;(ZYuvLeFp^L&jS~wHPTyILcVl&@~M$0*O4wUrwQj znFfc)Cpmn2kVGPZQa)a#it>HjnvGkj;@2E>GlsxG KL7aBh(ex4D;Cjv+4;1zH6nc%*S4{pP 7#b{2%=}xCu5KoXokVqt0 zv|%mh-*h#tEp?2YJ;P_7c$&X>>L?`);)aF~k?tV`IhsMTu_fduf&fF4-22IYrtAbf za{r?|{HsUE)YqXjgOUS|6f3#Bj7ID zbX$AZ!bKmr_VNuuxm1>@@CB 8s>o_Jyxjm^!Nu~4^Otya1CnrrZVkG+pS zNg^Ic2q+dyTzti4tUG@V|N7;xg$$>h>kOK6a?!}n&hp;3zKm-x+rZh;X*{K9YN+E2 z|8_r`8RN!F*YL?te463GVdBX|I5t $q0Afv)ww{F$Y{*7)I$&(W(>nH!yH^U(4yLZr~xpMx)~C1nw)R+m>=h? z6!RluRJajKO$SXUnM(7I2T$|y9lOX*jMJEjv-Gm_S$f%e+LrWSr4q!Gagvz?sk$_Y zh7661I$3r3M%G@jk*=;*%9G>#?7#uu@$i#;{lqZ3mB7$6{BUQS2f5HqlFe;M-JHLl znyz757PF-)rD_$^vIvBRG-KTT>KE|-d)~pa4IA(@3(bn5ki-)S#zw}t_miJv)q-X^ z+nV^r&f_E#VY}<8GlN`s!5ZH3hL@8s6r-#9tYAn=fd~Tb``Xu8d%=1(Ty`1dav1?w z@i-^ >#3 ai$Ygq9{TaIup4`-gMz mOm6-6U$Aw{7P1Y>F; LZA{a~Fl}`h=t^Y6 zv|ZE`1`$DQpuv>RUQ_Ha^;&dNsSLLt9OC1Tz08yQ_EVi4BjxDKnBB&L6$@Cfaxt@) zFJShH1 #3obt`a#i08K*p|K%N-SatgxQEN%b_o| Z5#yqHX*v+?OCnYCa6vln;c)oaKoB9qNfF4x$*XFqxrGMUelNG8w_1imj!UC8At zS7)tM+sz=N%Pza@|7m>xU!(4qU3Qs%*X5Uo>&}1caSIo9fAFL=%jCplK?i|p8Vrt% z^Xh9mFob0D=IwON>QWTKAVlZ}XJ2wLJ2t+?=z#Kci=@Q!JU;xscXMd}ex85&Su&Y4 zfehkxnlex*mn$rqKa+2K`Qzk^RVK?dS{t)$+TF|jPi^6IAATDT{OtiAdhk&i8XAz2 z7@SfaEJEp~btAS#6avo=XgA>pH(bqW7oG~Xtx6&csE$r@*PkEa`@g%Fik-x?EHyF; z75I2`qRbtyZsQA=oJF#$gTmk#Rw9W=IMf44vZIl MvA6IB-> zoN1Mmi0PV|VL;@d$E6wi0mu+jH>cl!DMZ|v4JG}Y8r${wpPHin$L=xH0gj-OVPaY+ zasD~dinGJyKk2Hq|6@g`O>as-F}+lMA0sU(bl*VJCDJg}Jv5zWTgl~f&uwRIOPZ6~ zn^@eCq184?nyMh(AfOlo3|H#xEtJ?aT3}zHhAVWEP7 Ms|-`)evn>U*f zjpn8%MH&+tg?wJ0JF8Rf>zMssZ}}-dzU!{LwsP5JI{! c*KE2SvJGOg*|bTXCVcU$*z-jca=FPzK1@jMep2dHMVgr3j%tJ~4W@(dm7 zg?gQ0=+oLghoRgggXJ1#LrNu-MEdlEEi@62pi>~7hYaKRqe$V~S_~*^hJj`|=$49X zQgJ}2qMl;L#a!#a4+;H%!1t9oMGz2$amq>@#UzjlGl&GyFK6KtmD|#kzAnGSw<6@JZS>GBSB-qRtB=M@ecCjh0R}_O`G1A!P}bAi_gKHw+v* zK}t+HK5L*U>2ZW03?mXvEi`m>QK|VXm_Lu>S1#kVZF}hL9l)_-tU{C2Lp9N9x{j0) zPd)iEA9%;PoVaconQVfCyZ2%z5+HqbP)3p{49H|N+;{iA%$YljH=lnp_dWI!oy}`- z9E<+pF_tZ!&zG SH4V zw*VJk2K;ZgZU3u6kGr{Cd*)kCTe@u78%|ihAe@Z5c{1s+?@$l>_aDZumDzvrDDxIA zL`JG(x6SBe)%tZjbmyHa*UQ%MT#wd{PTu_Xw{qv7{=($MB$-TF>8jPlh^}em#wPgE zC*RGwl}kC$H;T}7oJ4|~esL!!u3bq&^ZClRe}VwD{?Ihg4MputHJ}p_Rx4<_5^`$l zq~t>voyPjJUx!~9r`FfQ*lVwmuq^a!1DW~rv9k@Fa=}Ub)N^_NO+P1SY*NNInvP`{ zj8`MR^YknHqWvOf9lw;mO*^R%kKl(oFWvbVUKrArN#a&2G|%fo7qGc!kenaVq{k1( zRAGu()22u0B2Jvq;?O}k6~-yz&Z)v7G|P_f)jA*u{1D&s@LiA4b m$EIe3_=-^iz3FnkO+Y$40J +VaCVCXweM(AjB{Xh$716qCRJKS2$<>;)`mPGtR#2 zuDhQ8--ouL^zn@;f6CQCsKi>&`#-40Hire4-hq!DCOpOfq5d__LeHHa05DA*pPL zPrL9u4j @rjSxk+p2y|yx`HDI53u3+mq=&hOtiSe>AFU~P~_D0EBM&^E@f~m zj~hrj+nf2#z0c!C8mF)8=Bw9SOD>lqlg+43ZCJ<%l3jD@Sa&MDkKT(W)OaaG4D5vg zuRm=KQQ+d{atv+XNz=Rqh>09BH^ESEKMf1#)3|IoXIyX!U*3C!ul@O9GVN_@4W? FPGm}aEM z|DF2ARRIVgh;$?Fw6U2)+*yUL6G*65T>`&^Aten7i@D8N=FXVOqPa8Zp5MisnH_X= zw9?qrfRj#wZK}QfKYjJ-LuC5n7ywG7Y@+demETq@Gd`N5uYZ&SM+ez;u$Ns&2RS^H zBUh*s=^D0eVc8CWCI~zQJV_J~Dk6y?qGN8j94qW8r5N%53T3;b%t0HQ$ac;|vmL@P zqE-($^Nf>t`L*qQ`=%dp<9EKo8E2ftuAO^H>pBpsg@YDTf>8>z7dGvuv129&5A={p zSOm2Y)36AIh97wfOr?$`pi-{z(;xkuuYKb>jt&g-+?K w>({e%*%H3_wVSbQlWDX#{)_MWByEG6zW8xm&u5}orKvH?=Doc<^~!EO z_mRuF{da$2%a(04H8m++w64IZTBXjpZ+R0&Qycs5DU-C+Dor48y*iDy&b+oJMBSy_ z+e=&bQkvJUVe*Mb30)WRA>%vuAasMKB}@3=d)~-%TlVry&nStcBJg;=Pdb(6ms<{y zG)+Eq$~xK?EnuRdfqJQo&@~d4NvgS#jAL^5mhEg9DUfbzK}OLrB=nz(TuCF9>=r{2 zU<6F>Ze2g1TCRcb(VB8Nes%{dm&{@Haf?~8YymT8&cJR=fo`FSd8%L~k?#=&A(5-D z1W_135X3I9u}57j;y6b4RQ_v H1A-Oz-T5n&+FbOY12 z>FFQj_2-?%>)&!AtBza7Lyta#VcY5oVH()+^ mIJT{#sU_xSlN=UL}=I;W!T4UwMTE%a+o;dNsRWeU(HqK_;7F zXmE)BzJBH|uyH*f%eIiAq*yBGU0pNf+=bnzRP(2vcGFEaz3{*3>i_FIdPAo9# qCm-EHQ*#TtVW`Mm!{pR+&SvY&uTacQkj`cZ!T{TLc>9%a z=kZ4#WoTeP>2qTvM&)2C$mR1~`?(L&y>K>rjtpVh7QTdA?|70+FFAt)yS8)JU+*TH z$tbUL-I%7gMy5q;O9l@=w&aZ;q$tAoJQ~vpnlcHZYK@>+qIto5!tpV@@dXeq_CGA#lbVx?02VB>CvN) GS zLq 2DM1EAo=;dUDzi!v;ZNo%RjSwtldzB{a$PkggkgL&h|ptx!PLl2jIu{k zF~Fj@!|IlWX6lG|EoaykmSwSEUIz;n&*X|Xp2o1kY^P#eL7b%1e6=Qwk%JNgD$Q z{D3G5rb8@5^iRbe>%I{hc4H%{wl)$CO+;t}zOp_Sx`7meR3^=n&%Q!aOEcG8^Kl-1 z>{*_C<|UG;#Pqhs(!kKCJpa`8CXnjpFT)U_3u &!WH9YasX5Mwd8cfsVXx{+GuUN{v-*qWJ{n>A6X=_o2m#8du z(>56&9p%YKALY%LU&@}HI|%|Me5qC{Y h^zB=u;<0_qq#CS-PzI{G|(K%ZZ7C4v Jq{KO=aW21~u BbrUb%$#U-@QwhQ{$i$&8jX|NhsfnAO$6{EjSF-+Z$whWN0VDs-V6 z2u&F)nr3X>G`$8 z8v@ z_gwydWRyfIff0ttFi@rh$rOLu+sDSiG2Xaj9_wbclSx?QDpj65)XU%Y_7U1?)k&r~ z>Ho*L0CGW%z8qgr6@nX4t5k{HI$hZmC$3w}h3A~e>rOnL=2;z}JF2h)pP*7j)~iJI z8eyeOSSk_}3Yf0P{g1y$C6ru#)%(#3IjGd|-CFE&qkPXb-B5_U4l+={-84l=N^}{K z&@^P-r976yQ^yg3>!MpGMsovpa}#DNjhRZ)(b>!umz~EI7oW=J?FabX15b1RE88iB z5$RNdNNTaiT^O%W)zv{tNxEYO4YOyV+YV?Np&KH@2z13VRH0XZreP)$Jn-l *K#Z9T$;>laff6gYgehqu4wBA$BsMGhW3N;<33fe=d4 znogy7?(wI1-KnQ=!6g@S?_cgDo6V3&BsjEdH!IexX63qdy!y;Dqzr>pCdKf;AU!?3 zEL`GHt-0#Zk& pI)4A#+c|o)heR?NGv5@m zY>MO|bTihDs|Wd5=hV eoGWFX@NRFC55I3hRBX$#x=?$uXt?{9A4-+p>67hU!yn&-|&h7o>og8E=DmAyNu z?%GUs$0q7~w<8C7k>g`DIu?(=vXjsK@@^JgcpgbJ!p|4bOcT?wrw>O^hK(`^l#6UA z5pgPP7^pFOd^E=&AAW&nHt#{V9U2?67>2HBv$~Gq2e?Bc6!ssWa9}^>zJBVXqeObd zniH4t >57CklA3%f~+QUSt%f z=}t|LC@0>)_j%y1zj5YyXVW!%Ca&iyPKK0he(@!iov?~bV uP!6(3(pbzcvZ)2x&dzwQ#o zd16Enfgj*|KB;Vq6W?$SM^X)3^XtE{VcUK(x&b1>Xh>sa(%6=bUiFBEC-8dv7~iy+ zLr=X#=|~TLt;z|j7V+!rKExkC_imQAWRy{6% ?2EizW8%*-t8!CK7s_OE1V|Gd%z7i)`Jvk<-^5#|zt!;zytv z28WLJv1ZkBF1hGj@{@UmuMn>%LrF53WXI+$96oS}OWyVtTvyFRwr$gU;2_1x364K; zJ+9{w0m*cVLa{{8(OyE&rC#?i3=>V)nVgs~=FRPjx@OLPbJx6;-FMw}x%{8VSpVBU zuzSS{0Yr8~_KPQ mDGQ9-*d!5M8%UTXU9Ae)ye?jOVF(0ZrL7e}8TpsdS3j z?G60$=eIHCqA3gm-FDEO6qt^pk;Y6h)6fwjLbDRnCwLTtOL^Dh(BXdYL$ol$AInqh z8^tSB@GCCTmjrbW>G^1;$$^c#$sg{cqqT|UGg@$Km4Di4+Zd+Wg<_b5nqr6 *(ZZ-6ISxn2YV^+*+ym8 z7J}X*_(OeYL4cEKz)EFQ8jWs%Pz9maU4HzN+sTC?AO6^T@Qxfrgen~+3<9D+t 35PM8rr(v1~3xvnVFIdNCKK>4V_w;K#|JrWSv7klgVv-;wlT}Adj?1) z64bna!J!e}^Uh0YX>O!mcbT>-i8=9xY4E^3e`CeU6)aq`cv|763Bl% e9~p^LjNzdT%d z+9gf1=gz(SxTW)>+(cdnFfB#)9~&KGd}M^t(Fq!w8;N9u>$ 0^RV ozw^V(4#3W zzKJG4dM-h^r~pVSL4+WYuzB_$FLKB8n>hdCb6Bus4#lHKF@!>(HBBhQJ?7gBp%Z#O zffvN)3aZ#;6cI%#N?3-HYPrtH{=;;qbiVWX_c1nEq*ke+8yZF=*|%j6Uaf{<#|DyN zL^hKmYb6i^IYyt_z{pFRC=HE~PC5MRhc4yjOV1%Jl?cKRUDK6rUemD?2`U4_)N>P< z&M|vwEvCO7W5`Kt5s=NMDOEkrzvK)~I(;SI`R1(@Cki;GK>GeaOK;Q&FQS+;5XUef z7|WO0e`J7K-NSJlG~Gbg)!{4*6A(C#&0zlk_ucydC$H}2z`!_Tg({A1GcYnnYfB@S zz5R`pOQq?}#nk)hI1Wb-9%kF-t-St?Z(!=`YuPsaM|zkTALsb>Yw G!T%ySAYr zosi{PO~@$1woEo}+l^xxY}>kvR3?jI7zBY&GLzxBwX50k@+-(NMAJ3gTAc-p7P4~9 zN*=uT{&*EJ^`Sa@wNhchoG#w^_KO)99!CPnRFb }!(zV*Ye@}paC;K~nNjxS7vX<-<;VouuX9xWq9-IP*dStieI-_PXG7)~;Y5k};C zhNzdS5QYSm8iDH}gut)+WGoxq_rP_T+1{)W>nO%RG(}0(4GZ0JR8hyganrQbuMJCm znl`n38M`pSRc}0%d;fR~pZw~_Xj?D~Sr72WMkw#z%H)O@Deu^ZR#o2Z$!r5*y+&nt z46jnfuU63jBbidbo|Fh(C#=+Y@};fR9h-Mt@kZqMAe3tAy`DnSqiDLLGu7GSP99CA ztHyCl(Udkoi=9(S6`a814HutEKtwv7;+ZF2;hBjl?QecPVI @VfD9#8Dutt2 zl=dFw&;w61zV9e?5%SSX&ft5OU5H+-5`_|76KYD+baY)OfA|Q(4^)av>?0`RSZWb3 zOD!R=G=UdJ%wIH%{@y{AHRsss`-17T*eQmc9+QryWx@h1Qzx0QFbxwwjHvq(bc?zt zV=O_LmLyY2o_O?e#s&shv1C3QcK505`Y@uWx1Tq?@j@2PpF_1={wE<}6bF#lJo@*C znZIZOi Ux{-xTyU8{+sjjXGlIb+NckM$4E`@v%C!y}@^=eHd9Va~Q z_!C-m(e^%o|ITvizby1;ZoDxB^p>`^53OCjoKmSGqDYBBCMHXa43APS @jbKsVL8?LF_ml%qXE-15!ean^Y!v--qU)VvVO z)X_wwbl0hLY~~p$!vM=-&)5Xdyu6icHbY<-G^R65j!fVcst7+s#NA9cRWx#GC`VW- zlQJ#!+CzmcXmMxI3|* >%B6)cz%X sq|giTMD; zsQVO2X^Jy|@}>7YpZ2yEuKV&Q`N6+l$7NSuN)Ul=SW2U>>(pyC?*7YNES@uik{i%7 zGD$LFGd5Ac&^4~O{4Lb0)nmLPP $)i~b`=Ddh7kJ7E=G zY%`wDW*8kFXJlxYa Q1?<|nH D9vw7nt zQt7l3Sj03}5M(n+4j<}c=gtE}^(swGSp)*x&@ke2&P=K3V n5Tv2kXa z5kJ2EL;T{GH?sW1mB^ZlKRHR|;9knxHX-}_FoZ^8)*MpDtwN;I=s`eOtKt{(By0;2 zg&4YylSwPHj%pdCDtg eV_CC?r0{XNr?W1~i)+?)fElevHuv{{dcrU#$_ ON(*#F*`#I~Zlj&Z% zgi5(Q4a_MVSatQM9({}jix#qQ@nY)r*vKM^*tK~Ji (c_g`WBZH`zHa?$0^g6qKxw(_ zb(e#OdI)@v1BZ^%(A-P}xOJDs%a;;Gl6~8EDI4AhT+ieDi(k*-0|(=7?i^D}0b1P6 z-|@CfNF*F4izTv|BpY}4Qujg@bT)I(9rsMDsWdHK$p{tS`|tyg^O5&m!o7dGiHvQs zWy@YN>6BWn#Ser6>=JRZi=t#E6Amv9jq&S8pJV2X4uZxEM-TO41QA!k%4}Hob!E??LlC^rjZ9?iFO#o=mEHCBm|J_1TT|?>vBoh(#BQk{WqltP@u% zw{&Bc*Ph FnOSd(F1+dgMbg5b^>S4>rnaSQ|cq3G~Sir5lllI>*}bkA4L*B z_HYxC#C1dbI3-p{Nwcj{n#|GBkR)j j z@KuCTj0;RzUF*8RgZJJ~TQ-SqIUMXCCzVK0D3pmp$)#_51D@-~kGT>;$(SwI-_yhX zJ$pIl!VB
qnmv-aTr@DHUzTN@K#RA2A0mC$>w?}ThCReXnOSYl; zy#SZ}7pu1aTcL})F26inzWk)-&W?^ZEm<&|@rg-Y2o1-vInvWl6a*YS(t{s_B$A2P z>Q?8tH7BrV+Ya1X6~i#_T$j#Svp8YxY94#|F%=txIA) zP9%7G<6cf%x15(>c!~Xc_mNDd)SIRo2u+Dr(wPj8KmIbmzx`3nOe0_Z`fXH76+|q% zRFj#ypE(T;$}M!tokVEZ=?p)5X*17l*~zLk%LrQ=IeMUvM5L1&EpX4BkMQ(E&yY+c z5sr;ptFg7G7a2c{(KMD1I>)4)mTpiflxUJ3KfCeceE;9ROzVsmWT}idGR*i(FHqgR z6BB`zX+WPfm*lE-B<6L4rZM``vs4cq;^@&4qC`sF+d`FbMi?M{PpQx%NF{6z?mWoV zU;hP8QxmuR^y|o@hY2T33XP9|*y1aaiWCz`2m+rV2=HA`?QkPi_^Pw3`})-Ved=M2 zhy^Q=#2{km-Uq0^x`~ElQYEa$_k1suSP6&KOXg9p)F_Tj64V3LISmuv4@jjP2Dcv| zKRkhzF!{vUYiZIXzVF4SXM|>Gc=-Z;wG!v4i|HiSC=$fC3y=}M7ZQXK$Phuq(0BpQ z3mDB6aQy%+X5LBpPY-_FaC|o)a6@d%;?BDt;*=9t@{1qcz`-Lu?AX1JR4Nr0yP6`M zM1tPKN7(TEiyXgvF*}cr;Drk0>**Wh^wUnHyL&N}@)R&P1p|Yj8$A8k<8-fB%B;C_ za9tNo(+NC}{k!(iecTFkQ+Xw*{6Wd#Lr00EN3~kRG%XCnU~+OopF3|h9i3foXqY>< z@vgfr|G$EA|7oF5S=L0^_RCkTJ|UY<*+H#d7f~#eJbbtp)706sa}U{uMnK@!UApGZ zA=B8v?(I92@g5QNdY!Y+JBQKXVRmodNg|P$R;Ll`q|2oeS6q4#jg46*3T3kCB(Lr1 zB|@V)ZE^qK9*8BP+A(5GoWc 2CV}nP^b8F1;?aH*mOUM@ z`%iKd1Yih_;%JUj7k2Tt-`~Pp-+c+P<`R_4Ol;rI ~v&z?(a#TtxM z7I$ob(Wf7Wfj)HI J-udw?KP^5`)LboAXh|vYt97(`4LjkW zS?06>Lnu|ITx6L YU9nz=29vYnAX#y zu!H*eB)YB jGffCWrR!BauupbMBn@t`4b8hJ*VK5qKWO zLJ`}x(KH>;^F+cngQY80Hrqz~+g0uU=b+qwTIgq;r2;9NTUy`0dew4@rLu@3Fb$oF zLWx4L#OUw{W8;&gvKgXCBBf;c>Ju33=_Nm|BzeB?)6m?^`cq!V(~mu=wAEATr*V o9!?w)-pCCg6gp4Q+4fDZ^PU804Zf5?HxyWJ#FE>VU$5yo5 z7+T#Ul9JIw{Yc$Xbz3h|+P#g!^Uq)w3nUVWX?9-iXfIK@ri#mT2|Sm;s}uPFqUQ0% zum7BymEg`N|IGZ9V0`0d?1ZC~XE9=~8`?3a90Z66T{jf0U?^>Q7)pW|nGgM#o*JQK zvQi>+5QYIUz!i8NVW`qnr3@87hNf(@qj(DtN~ESCbseiAtBfWco93<=B+_XRf}l`j z ;XcWnM(Y3r{`E@oQJp*xZaC_~^PpIbUF) zw~wW(R!&=YB~nQW`2xcOLj=A`e$jOu-OwplO5(WVSJKeb`c755XG#8(kN>35Z_sYK z=_a{g*%^!HEtt1v){K@&rLL$wVo%Q?x~{Q%*B(sA#?W Bnp;$Kl5U`B27%B? zI7trILq7HB^ZaSkHUbgSIlqIMOJ~uspc5-;ard^J{Bh?&lF1|zrcEe_lqe+he1hCK zU;pG4-29!-s&tZSjq>4xly+>x@_mHkpm%p88=Cm@9ZyhjnlMe1!VAyh?cIZ;8JMQB zg9ariF-_Gi!`LK3`YOmUWt#lr5BITeqR3w!{R0i9F~(opgk@REHY@JDhGpQFYJ^^h zu4#lpND##F!11~bO&yTBp$IAAH1e(tIYT1#J?r{(EqTp5q_nx>d*eqB*I zF$|1^jg@xLlQxmA<0CLF8zFT9H)LdA52a$2g&nP&G`oXprGkjNx+Wm>T)c8=+DT`s z*y|zqp=vZzPT7R1>!EJjWINiFLvF11*QQpH|8!3$itqzTAcfKe$q+w|h?P A`TUuhwL}1u9d-v=|$bfRWieo#NhC#Vh(q?saFni9t zlbbph%(>~No2C@d|8=3Cd4u}BbZhI|SFKuU>beL$-&b#TDCr*@CiFdy9PTCC*hmC; zp2vdj#Z;>``j7TtTQ*@Bq8lcsoq0MNU*15aSW=vJ2~(Bsc`nV3SuTIe>lvHKE5Jh2 zd49_QRxMx1YcFr0_sCHk$5yAbgr*rY`RXm#@{R9)fos0<2`ncOuYm-ij6ob3AY_17 z@d(^dxpr!5+> cn7OGrj$}~0R%X>DVgq+TpCH3e(&VH8T09!o6k)r8uw6LaS^JKnvc6A3MzR3x4s z#PS$5S$ZM(LPw&&$yyL0g_>M+!{V~{yo)b1@`*=iSdPu`zyO +`G-}CA39iZyE*vW*V6dF2 L3m08{Ce>;UBB<3BA{<3v7&<$)>}F2q9MYLAuB%?BLdSJ7v*&>AK%`PI zHA6=lYB!%uXF1?X?l?5W&$b@qm)no=E zXS~-BLrF5}@Yr)3dGE*H$J_+uwr$5wCe=NjDXFhPHDBhzr(b3M$*Xaueg=r?sVBY# zlQ2yldGsav^K}x*B!TBE)mTh2(lmir_o&7`_EJI=s)-5>LO&psY7gzZKA{&XC0wKq z2fywT_&)V&g{Iaff=E)UmhnB0AkGpW>l>!(`z-HjqunuZgFszBVvW3CtrCSw&RMIu zv~{#FqrI7Yp@cEj>8GYFp?3dfA|}fS4H?3`)&}M_+RSWIRMn{iF^E8FMvOm%)B{O~ zpi(Mv{u?f0-uyYd{Pgo&df6LUar_GEo{w&*u5MT+&pq)t4UUOsIgI2=Boj8di99np zS~=tNlN2ZyZwz8Y6Wg-b^vbKWwzn~N!2(>jj;3pbzE97AL(E&eSW(Ku5X-S}U61~r ze!|dKG2^DCGTTZeZN Z`9pnhAV~Qaz#Aa@n~H5SFcqBGy+6Q;AO;$041`kV OXd^?D=(t`cAbeu!7|RlZ}K&mM*WnyC|pid(LXIU^z&svrfS(K%xV zxsh?|o`*!OmuizmCMSw?G&ZoHF+EKjQ9pl>zDK!IW3uX#Xlde8UwAK1Kk*_*4)^0E zEX8jK)uu&8k-{c))wSz&kJXE2v%IU7`|f;z%g%otGg=$*d= }u!ef&D!7=o3^XCz&&67C{hB;{~?k(08 #3{PSjCP5f7nJ;p| zg=b+Iy7KEg22o*IHiP~B4D|M~?&R0udg`iU7zRi8A0U;<&^n_7Kjy#N35Np*4j==c za=C)-IGCnEty R7l;jqm?)r~V%b{me7fuQTbkH?Lf|Qa24f3_>+V z27zQ^B2TSWWuSkMbSA67A>U`w(r)q-6XZrmF)fQA@X0ndaNG&U^U4b^D;Cz&Hy9tf z
GZ3P2kuTBa K;u5-2T(+S#`=9WT{5A=LortuaePpq-m2q z 5i=?bkoXjo pEK}#1N1x<^^UmPb+kQ;8G0VnRH O!YLeta=s#L5J z%8-Hnemu`t(ZgYYX 8uhx%lI6=V42>OIw_zuo_(7feR6yND=bwpX znv^Ovl1YcH`}^qZXs0wj#_sLAaZ*Zaj?fgTz%m&d8RHY5xsm<-liYd#a|{iRkV;w% z^!JiVCYaILPNh~wkBJSLOp0Is`cIU`N4fdhkAjuN7lzW13mrYvNYnD;NY0)ErlShp zO2pJvwZ_w}IAqYUl%=tz6Z(>rSLe1Le2L>vUPV|eQ#i1n$!%N6BofF(g7nF!lAODc zC~(Pb+f44MCrQ@pB%7OX8ZsoC8!!wVQ#YnZ$f?tQio_B{5kVNnce`UgYL;!&*_cu+ zG(bwldXu3<24O5Q^)O8xw_eAOLh8OtAOn@wtZOtiH1Pd ;|t3q z(~yA}|Iwm|TCoDU#>}P+V#;zVQXr(J2@dQ!z}C%s`RgAa=FUGpNK-?Gn(L8lNORu# zr?Yq4K7>^7gJB5Fn6qyfI{OYC#V~ao%cixpmHmf$aBNHY*$IJW8kC9!<}O;o{Dt%A zJGh@rCe3RbH}S$tn;FWL`O>xDAzvtBm`1$4i9OvD2@dVu$LK&GGiG$qGdziHTU2Xx zqA23*b56r^>;Hi$CL@Vs+w9)96T>iBvTP}Cy&nIJLyjIez|4j7F>M 4HH{EoT>|C<8b=Itzt2$>iQ?6DuUDL5` zi_x)h1QCZ19Kud0HJI=Dw9e=tnM!hG|3OUCobD9sUw0z=_v~Y0JcnTz{Iffl>$ z};<%{R?%8M^ku9V~KvneMQ1^6Uv3%BMnHc=*>Ng=}k%QP7q z9p Lk6h*TB~8_iCkSq_?EBVw+z7SlqbLV+J$_Yu~eww54YqS|{DulFeJb7o;?lIYn6 z5;JEJlnabK{|v#NT{Jai(Jg~04AD(xhM}3pF+_Mu#~kzV)f!vGyzVG=)6tMbXl9&~ zCZm`Sqky_FlmxN9JPf4*+@@AhL_}zWXf$OTdHA(`{Ph0E`R?_fB< n^&`2}6)U zG|f(nWE9&>slz7l13Wjt57hnLud69S(_=(ifRNz39(GC*X~HnXtGc-5I)NWz*cR1V zjat2ir3-=}z|jR>rAFWfw5HU0amsQkiX?`ivv=zb{&C;aY<+Df4cUw$!WahEfBn<+ z9qHxChn^sjbO^%$&kZp&1#;Pz!T#O>?)&>wRBA2{Jn<5fm-k=& zDIUB3UiuE~!?JC{AfT $-+lcX{o_mzguGi{X3~F9<*g zMn-d-e9}6aTN?4=sHP~MRCL2&aw5mU{RddRew|uVMiHiI(0}L%j+3CZa|WL0p$UO) zTO2uj6d48-izOUKrR~(}b#3OX4m!GKtxlyDwEv&z`}F_0?6NxrfRk!DbK#=JjY-E2 zeLsj(cm-p*2?Ecfzi*IKHlyy@VaVLYi^%6D$>%08O|?63Y-wi6@+G|X%B$*!ACD+g z4{NztX8oF#%$eQE*hC)3w%Ol1iqs4emd=J3U%|8$uUL6>$5v57AR~#c!J&Qoc=IJ^ zF>_`YrBa2ah6Wyc N`)_d?mY-QftJpY z>}V(3)k(Iii>B_Sw4Z(&?dP3M)0)-jj*^yYrWtFJ1%_c#9iQO(e|anCzvp$s+as zK59n})6k|uBsIf?$q6Q(euCnQ&ti;^D!xI?2#gsX>Ob*%OO4gRG}0Z0fx5cHqhS=2 zM5Y;qQKVL2GD1T`L@L-Ih$EkZIHP^KvxX5O(um?U>1eUejla2v_g(P@Ucdf0dbaJr zO4vk%F-jgO8!iDspxkCOP0?)w&j+dgei(yqkpxZCu@W|c7g8 0>$nII4inN+xF$ r8=z8^#1|9_rw*=)l_OS=~l_