From 2f74f08abc6b750b00b443d44b84f3ab0be69ba0 Mon Sep 17 00:00:00 2001 From: Devaev Maxim Date: Fri, 7 Aug 2020 00:41:41 +0300 Subject: [PATCH] ps2 hid --- README.md | 22 ++------------------ img/ps2_kbd.png | Bin 0 -> 92961 bytes pages/arduino_hid.md | 47 ++++++++++++++++++++++++++++++++++++++++++ pages/flashing_hid.md | 2 +- 4 files changed, 50 insertions(+), 21 deletions(-) create mode 100644 img/ps2_kbd.png create mode 100644 pages/arduino_hid.md diff --git a/README.md b/README.md index 1bb3ba12..35f8387d 100644 --- a/README.md +++ b/README.md @@ -211,7 +211,7 @@ Happy using of Pi-KVM :) ----- # Limitations -* In very rare cases, old motherboards contain a buggy BIOS that does not understand the keyboard of the **v2** platform (bellow). The reason for this is that the BIOS doesn't fully implement the USB HID stack for composite devices correctly. Meanwhile, Mass Storage Drive will be detected. For this case, we suggest using the Arduino HID from the **v0** platform with **v2**. Thus the Pi-KVM will be connected by two USB cables to the motherboard: one of them will be responsible for the keyboard and mouse, the other for everything else. See [Tips](#tips) for details. +* In very rare cases, old motherboards contain a buggy BIOS that does not understand the keyboard of the **v2** platform (bellow). The reason for this is that the BIOS doesn't fully implement the USB HID stack for composite devices correctly. Meanwhile, Mass Storage Drive will be detected. For this case, we suggest using the Arduino HID from the **v0** platform with **v2**. Thus the Pi-KVM will be connected by two USB cables to the motherboard: one of them will be responsible for the keyboard and mouse, the other for everything else. See [here](pages/arduino_hid.md). * A similar problem can be observed on devices with UEFI: the keyboard works fine, but the mouse does not work. This problem is much less significant, since all UEFI can be configured using the keyboard and hotkeys, without the mouse. If you want to get a mouse, the solution will be the same: using an Arduino HID, as in the advice above. Our future [v3 platform](#the-future-v3-platform-work-in-progress) will contain an optional HID module for such cases, so you won't have to build anything yourself. @@ -283,25 +283,7 @@ Our future [v3 platform](#the-future-v3-platform-work-in-progress) will contain It is reccomended to disable the automatic quality adjust setting if there is one in your client (this is called "Auto-Select"in TigerVNC). Please note: **we strongly discourage the use of VNC on untrusted networks.** The current implementation does not use encryption, and your passwords are transmitted over the network in a plain text. The existing anonymous TLS mode is also not secure enough. -* To use Arduino HID with **v2** platform: - - Build and connect HID according to the [diagram](#setting-up-the-v0) (the bottom part with transistor, level-shifter and Arduino). - - Switch to RW-mode using command `rw`. - - Add these lines to `/etc/kvmd/override.yaml` (remove `{}` in the file before): - ```yaml - kvmd: - hid: - type: serial - reset_pin: 4 - device: /dev/kvmd-hid - ``` - - Add this line to `/etc/udev/rules.d/99-kvmd.rules`: - ```udev - KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid" - ``` - - Run `systemctl disable getty@ttyAMA0.service`. - - Remove `console=ttyAMA0,115200` and `kgdboc=ttyAMA0,115200` from `/boot/cmdline.txt`. - - [Flash the Arduino HID](pages/flashing_hid.md). - - Run `reboot`. +* To use Arduino HID with **v2** platform see [here](pages/arduino_hid.md). ----- diff --git a/img/ps2_kbd.png b/img/ps2_kbd.png new file mode 100644 index 0000000000000000000000000000000000000000..97f03d7d88ae4b3dc1a0ea3977f65239da1fabf8 GIT binary patch literal 92961 zcmZttbyQa0_XP^m-5t^?9ZE_{cXy}Kozg80QX<{m-CdH>-I9uQ^KQPM-?;aW`woX= z9FIQx?6dZqbIrLPj8IaLL`5P(f`EWPm6j4yfq;M}hk$_MM}Px&aPVG&At31Vz0|Z^ zRE*up9h~efKHHd+yLdX7lbd^dwt#@}Snl}o*@>DvA>?HT#~J2i%(0s1=RTaz;~i;& zcv3!xw5`DW0G@WzP0XS^^;{)dGZgBzhoLSK&**<;t)qq{^&QpfX@KYkCUhC)JB zuvr^7WPZI1H=DlC1Eq#tG3^PrX@V~{cgI(kSNE~VbAPk+4)D7W_Rz_sHf~~tHk!x( z5)W-e4-ch2PWs*3zpQ!RcU-5f{Y)}1&XV@A+w#>5B<{v{GtvSB z^?3!~YGwaIhJo^#U&K^zs}xC#V;Xl_16Ey zrT5oEdV>4$Zi!S7-{0byB2yGCE@h7ln~plxK<9k(ATay+R{gpVTXHphvi@wHSoX19 zp|o0vW^Q&dJ)Sl_$(h1e=TH9>Q^~H140FXL$EeHuIX&5m2KBvFo02^Z9ovd4uH}=G z-v(Z%6*q$SZyc#rYNPm;4@{$YTYmqvOCBkr`>7F zlu4KAa{jg`)9s$nQin}+M7z;s?z<~77i*2%ukof;ua#5x)w>RB!?ydPDnHYO-i6A6 zCRH!PhxPXcw(|I1DG0r3xdNs`CTJ%fztAwIl)d-8hk31j*IW9E)#i%9Y1ebp-5!dX zBiDs!+1;+UZMgj*`9V=XDwyb;cB{dwsD*)~QSTFmVi@LL z`Xs~Znt~QTdSn34;prREv%+CP`9W0#$X=7d2KQD*rpSw0Y?^^wVOQ4W#fgEUQw6Bt zY}v5v8td{SBWAl#iH@3~-|V$;efj){h$={Xzl^h&UIeR|^rgQ1E`-n4L4jMfNlc9m z$w^9-Zm~)sw@Lc4^p*qB$@YvwJp0(t?=IGt#cz!TVs-kwU-&tJ$i^e4Mr(pOj+K4V zS-aX~-Y(O7wK}5li1ouVB-(sg!QuTWiP2$*+?CJ9xR)VSGDlAj+8l1fQ*l^Za}HFc zZMQLOx^V&q_npYQHsqmLlwER|56a8K%9lz;H$``3u;4~a?HgNw4@%_h;q1(NG+q&Q)}jGFKoi{QQf^Ft>Y3}PMz?6aT(=jE-Ins z3?Z`BSTbVsvSafN#+g#CFJ(0-nC>iHMYrSp9#TG|h&I~8~)9 zAoyG(g~(R1B;mwF#o8k~U=cg+n9@f*+BiRH49%Z5t6lvC>Np$XLx>zX?gUesr`#E~ zgH%CIz(Z+t+wB(DSATR2Y4HqYsPfbVZoLf8BTM+POKdjc_KOb$ zTVBen-(w%bv6a^o+s38dUDqM2w1zTdN&g~A@3#Zm! z7w#_D;Q8Os32yLwK=23vL2MA#>h|I;Z-kQ_x#g_+Z;!DAI7=N{Tr?OHKkL`X;joVXo+AFl=%sL zy|D4)xy7u(-Dr>Wz7!vCo#YP+HoEQ4erT)=4(|NasVGuFpMS? zRmXx94i@ifrrJ019jIWN>P&m6GY5-#p@_Af0-nW!{scp;@6oAZ8(J|&LDxfKITTbk ztNFj0(%5LL@Ti1&8W6YlI=YFZT(Z-xo0lidjBe-+J5#@6mf7tI zzOGd74T4#ZO32vojybCFL-(zdak0&^Nk%?)KC+6VL~9Dkl+@KypDfV*f<0_<~uwVBe4@E``{4Oji{6kTrQlQ(UZfoXe zQG^YQ45g3sEO`SPN2+kA2u_>-rG>xlCowb=sEK~hYPR9cP5A=^Z9Sz2lNeUAUjKF* zJrie^wJ8ituRte%h4we=47G;%Tt}{u`nT9(5GPEKk<(>z(PF{*Q~@xmIHJ042>Mao zjXAh`$2W ziCz(y?;1&D?cjBDFS6$~Xvx=p}!*-BA zQ2XPTDDU(RP_kvCoS@3&K>qtR=!W^DD%eoLhASoEh%$)k`=MGKv9h9-!VjV!w$ett zQ7r+UV$fs3ffK(1BTKU6=mWy&iKCF_Q3Ix@secwKw4=6%x&~f!jHIaHMPZtn*FZU9 z5-M3Z7~{Z}iKCMXSJF{_V_#!}u{V6XE$Q%89?E&Q73y$Qe^_6|%FbpJB1w3d;VzsD z5;6u~??H#}8G4R}34!)h^plYW|2-Avrp^Tqg9&V8#I*E#8cO2NKg;QmNHsl`y&Mx= zo}@@H7QR@DqX+oc>E@$MCv1|*QEShl6KP?!x9yv&?zs}}N_z++5=lVv%%qP)V9m_ptqRdYPECQB6;7;x|4c zbSTaH5N9zOs6z=_{F6zPc_xDhjI+ipaE z#H);X53kh2IRMudIM2wwL+(js@MBFPXtt-Z`uzEXr+_=LpIYWT8?GlmNP-H9_zvwz z#$L2Vip($oQ}1UWEnHVcqW{T(0}Hiz>@$<9@}F6J@#dMCLwUZ$oG|uQF`_Lx!#iBhr)e{E-27|LB+9HYYs8X5a zcnGrF#yjjLA(2`T+Ge|u3>pd|9@J4LIk)ezS%T5rU|ysR>hehJOF5Q$D=~DD5ye@E zIg&85bMQPrI12V`3D&IAvlr45_Vd{VGYpFj54UJA#qC~L#bavCuN2nPQgLcm{6;U_ z84}p_l(^rWi_qhETe9osPa^>(LpUO0W-eZLBt?uL007t2tsBDBLZ##bW2Z2P`S0wZ ze=|pC7)n&pmGAuHGi`zN7d%Cdx*&gS-R^=Q$vQarM_~zMnijPksrkaM4v3J_{qd>X z2#4q~brKb**swG)Mwtavqq(&lZIQ+bRW2f5YjtI1`@3naCGu-AP$}N!(R~e+p-N@- zsm;L@FoyYqLXgY*0r8XXQyj0jT1bf9BzNGv6!aqpIeIlaM|Cm7>{5c0diCaD{E1=e zIuQwF5$h-AIfI%JFPB`gz$%6=Bzjp5((e%!s8E5&*}9Y-M7R=B!WNUpEpD>u@j@Tv zdbhq$`{Zx;{3+=CMv`e`kkp~r-1G}u!{D)!a=E*wrVoaCWo?o5kYlMHkEl0KHZI;S zeI*zbM|d70oKjqpKW)X7wNe8OaZ>+{G!G(=8yq%fkQG5G2`<)DAp;J*m)vh$Vwr77 z45#-GT(~43r@ouym6b6Y3ma87LOIIUD+&_lrnrjxMl;IL87b>Wpv%W0QuA;7cnrGt zXAd67`Rw-8U2jf>EEmL0S4BT^y;U>%=%U`XD>bgZgy`uGIVpVnE(k`63i;hz%9CNr zov%4MY)GbXp)6R=3V*ERS%h**)#G^0lGYI>DU70QqE_T9)&ALUk`VbLW+NNHdv1Po zs(B71T@cROsW0XmC_Znp1M5nxEgq8rf-Yd~XY=_-Bu!~`KxGdjzMhhqe@NUm}F zxp)wUj9tWrSuQ8UtDq3B;Rpd=*+25Pgk-~|HL+{py_i|f%!T7m#L-QTs`G%0{)eFE z19Xw^IIG_%)8n;*_4ydNqWv=^M_?lkG>oop_)jl`%%8rfBm7i<($fl4 zu+cD*-AK)8-BJ3>H_9OqJ)|63>Jii%N*P|*h?s@JmC)1?$cAYJg-(K>JI~P=xQX2N zmYrgZATnR>5XPgw9t$nccz~aLhw8z>^q{uCia1MH$GQXpn#ZSXfcYJev#i3A4Xr(Q0HP~{}=E7Q?ksx z-$&VPbND`v=LZ@^c;qx8Zf0T{oRu8|XSV>YLbEf_IDraB33Z;IpZRx#d|Vun^RHnq$HdGY>( zLxZxt*euZ%|jzcvsjTfBNEKxR|u=$K77n_by zdKb)Cj3?8F>Jd+2?`d7`om8qCO&lA1^69Nc#^le+^J27~7&Jz14pG+%#+85xTK_VI zAd*gO8AeY^K{j||oiH_Fs_Lx-8v|TPEg~iy3rg52!Oij*y%P++!#g);e`EbUT*~Vy z?Qbxo0lgffSQ^SU?`YQE1YC)jQr=ULvK2h@{OtWyBhd%lg@EnPO~G6FjY5oAol>&D z7=n+s@5fC`BpyowX3BoVVr!Y-w8V^)G^5PpHF-{7z7Y%3@qyf%4ravuxf;}XHgVdR z>rt|Qki`E2{jBySZXB6#zlSSrMvc?TE%H=R8L5*S-tjn-pa|0`NkhOCPW+Mnxay^v zQ_r7thlnf{Bitkt-sfGGz>7rc+QPiyqX5JXh z4*LbAGxDMTh9od;bBtT`5hLvmncv;u_X=K)iQn@|xe>yIXyNt~hsqZU^cgybJgYQ- z`(sPFRoUr(F1SR=LG#=r7RHK=8f>V3RarWuzh|@bQRMAi=AH7+X$Pc}6ztZM^jDAS zV{z9JJ_~9erA?LQFYc**0%s2l`TGbId7lH=gx6vY&ZN468D3y!p;5GdV_NV<(~`Pz z#zBOg8l|?V-J2!}=lSejRvLX*+=j{)g2;Jqo^REXj~wvx4Kji$^cK11w^HIS$BWjR z`HaZ80em{@S>l4hcg`Ougp0Lo?8d**`nsdH*fK%drNi+5xfcFnA`whf`bgKEfuU-N z*SjyFzEWN411n83D1Kh0t@Ai1-Gje!aOzX(hnWP`@CMnzA{jS8w18e-jxk36sy9`w~xy-y{D> zmmy<*0{b;x_y+AOq7+Zy9DMolV*f-B4~>y!F}FqM4@&>9j?<-IBW>h)<9rP;7~OC* zcd99Q{C0GI7?ZwOo~_aX^kNvQHD6s29rh=;x$qgu zsTK$0ol(Y0e}Zn-eKgd1H8eT;g*2DK%@5qd>CuW*A8l1FM8pZ-Q1DQ~iZBJfe?Hk$ z-x(Z*<&r^F6fc4nIF#zXi`5!Yf$e^KPFs6OkWcmJuvFm)CA)Y&VBzi!s=c(IQ>&F~ zDcdt26sog>0dm4n%PeG6twDE`D??*g0gVS z5>675VdNGFdvq<6Go_mR13i+U$e``HkbiZ)dHuGAPf$+7L}w#|f*4T&Jn*TMA@Oj! zUM6|s!L{~3E zddXKtV8&bD1;{|bH1RfEkmtH9A2#PKNMR<53Cb(5VnyazK%we()}2O#`j1D@3xDan zW`JPrt(UvSuqSAbj_QHimYIFui2ixRDZ=gcT@+$_Tqq3XuSsS^bx~N-?ZFM+53pu3 z_qiD&Pz_7n*ayw6a_XA_FSxVoF(&8qybwN|^O7j^sDvTz-wROM4`K@61}(yHNtay^ zp0ceY3s5)QKc(G3=5AeJD%JL(y7$zRLNi}Aqi0H%P+twNCZJK|WQkwn`=gH}ERa*6 zd4H8s4ocr0Hh%mhWeSZwsBmT`+YooG?lVbPlHZvr!&4IFrl6cqk!R|Kc@rA#S{#IP zd8U(kbSQOa+;mt@tx2-8;6HAj>Gl))E^sGaec^AQbacK%0Y^&&s^UUUL;BGHY?<(F zd?N!?jX8UYZ;n5vMC3t#XueUMF%u;WVQ^xYVD5IQ(NPB4!Xk3tk6hs(qW14dySt@) z)Qe=ZOb>7g@v@}uX|w5Vm>+1N`l*`+j52U5OQ4x>47|sMd&4k|oNfg#8>XTmhKyQf z_+1Y;#a;WapmVI#JcgDl@4gGlBN0C&YY+Au4@-u_e24dsZ@p0;#XyuKk{X&|;0yHD zyuyrF+{5T9g*~RuD?NvY%O*})UYu@#+6V z-XSwBj4dnrPB^`KMa3FIL|h_HCy6+-s>Fv3I{6GsH@tR9FMyjJ#kP7j{5G1p`i={$cnueK%FJh@nNct-hM7vn6+ud4bcs?@dGIrQG){*t_2=X7k82`G zes*g7t!76`KX?{AEy90|2_8Q(#!+|_p@e&8B#5h5i_$#7GZ5MkAMuCmBkDRNkW1XZ zr-8uMpr{Tl-&cDsaT=6IfN<$W<+B~ewO?>q#7H&G%(_O;_=oM$Ow~mPCq<_=Mds-c zy47qC&6tdTCWlDUoSCXTpIK_^j8$K1+^6-<)vHc|w+l%{wB&$JO%7w0C9C^kr6>{g zI$c{wxx!j?W?MBBD(^lKcOjmIq0uwmMzf2QFJ!pqSGCkZ9}QeGd%AW}2j1LGzJ>7= z7Un!3Lu)zbo4`@Bs9B{gh#3i!bquO8WSg+Ud)IZS^QV$I40kA-s}COu&futr|7c=h znfLNRG&{Z6?|YWk_P|k4KA0IDs{3+Uldyj`bCCRMgs7y?M$rIjUz@^TcUp&DK%1B=kyNmvvBnRwNLIo!8S#VOX=^V z9;L{rJO+KF!^mrbVkPaE47fr~p*XxF$zTnC#5+rBoDu9~Z)S#Kn@53i8=1rwm;9n@ zWL4IC(lcTU{{Zub0%*w{T56^@_^t^BbP}z6gLBt}nITH-*RBIX*rz%13;EP3gnx_j z&r6|v1jpUJs2vx7^Y%9XqykS-RHXIpY|<)zt@bu|Fx$eWpxKJZYTDkrWW~8BE{^f! z>xaJCVhg&4AG2?3=479dkTTN@=Wdkaj=C*1G+V{G#;j29zKLXZQ^)B;sD`1%7!**P z+j$~exKJ;4OJ-OUh-qabg)*F4t&bf$*A_clM!hgFh^hBy#IRy0R1_<;y9&a*{Ujkt zhhNlwo<3nZr~94?23Fe(muV)sH_A*1-yep};-FSm?uVFHg6)w8RbB#74UzP$i1qGo zs3^ySquF_E6)JMOMuj?RO-^4zJ8B3>voFU3J5UJ8IV<{?Fc9;ekQ`^m?`W90zZF(g zu)wYF2a-=~l$JB#8FdVJEkSA$%l6_J3;g`1wj{FeE6RBTTKItH4%-bBWkjN!=d_rcriu0aFn<)mdT7=h5)iS@OEoo1)nZY9CGnu3wa`#e}pmj_TZMZq1DUU0Ewk1r?ax5s3aCj)^}H= zwXFD`x~mMIIwXaVi8^{E+8?N28bk3fd{%s+`eXv~s+@pVH(H!qsas6! z6er1gLO$=9@sXo!)%8t$$4Y})xF`v%`02kB%hcgNEZ1mJGU7syWFus-L@;;rj_b*x zE%`*f7{?(Y1hCL6S2)R}gEHtxiA17G;)HJ_-PW;@^M14F&`ct_qpRI&K9`n?dBbgW zPT1kKMDp)cn!O|;iVlB_uyBV(pU%TiWzGu0BbXN~rSE{9!X%)C63UK|>Y=1H{W4)? zssGjlI|82NBSH9^8U;f6*i;j!>sESyx|{%*2y9vW7g7nH!EWmLi_i`R71G?3W{4$T zffvS*^||DjZ7VM=$nEe_tt4TyvJqwURg4cR(gc1dS^I{Le`T3ZCHGhYM=npa)Kc<2 z8xm?Pjr173Y`9u0OyS#$GxwLvh?o+UB$xuMCS;#+pyz3z3Q6CgR6*DLE_eEs%Hd21 zBR#Prb2J|`-~pSg!XEnOOgY3`q7?pEiy|XUBobSQ;%tG}54N)wYqPj%Xh}ntWf@sJ zL{8xdU1cqXnzlX@T}79PUN)h+tVI~QvplkC)IgtjEl*APIcf({%(|84VoDW9YA0`A z*r1iK5mL|L^D0?C)KXIQfwRB~9tH=d=81t~;X)sTM^tN%f8(%phGM7#*GR^V*_`@! zLbhs`XWlCKjae<&H^+oM!JbMK(eWIyAq}7Sv_c23GZn2yzhFc+_g11^KyzWE zRr<&BqrA6w`!S<|%!gBMAmLghnPdU+E@>vPx24t=imJYxJb zHZ|Me;zBfgu8BkuSmO>&Z8-O6@qVP7jkEe06U7gZ;?nwsCd)YAs0lF0)Q$An;B5?o z?n_e8{EA2q+u)c={mW@dv{ZeJ@FF#d-$AoP!JCMoe(dy;5T7&)Fw=!!8RKg!Ovo-1zsRSSN!VM(eU*;owXLriD%vmg{eV$TXxxzT?$23S5`^(3<$*n6u zsvKSOQNZxu;JXMODc@t8&Ri4e-nvdwCW>V}xnt2c`k^$EoI*CPqq@xgefoo=n~_1 z(I58!AB!U*LbCKe97Dh|ZMsSRx8Ro9XX9hSf!mr~?)3uaUG_Pl&+e3BbDu33s0rG+ zmX+?BhD?MFIRpgmOX8#yxtmGb&;+u-2Qr9y%^p#byI_n8Y;d+)J$)(46T^b4y$CG{ zGuQr;_ouAXZBdtGrsAldENR-El5s9_%qE)o^siLu-ufBG$Nw;-1lr|Pt{^Pb!@iS-C|~dfi0Gu; zJXTdG8ejFY@~JV+WO#^HIXkh~E5l2$x7#_+!Pck=@|X}6r9u4=aU+NiaD~*7o0NfX z2xFR-O!o6wF4K6<2{q5?OUjlsA<%P%IEgd8{HRW8!wUU3=cq+_rI=AbC;wtFzpVP7 zc7x{}q?XF#I;3X%^0B^!J!H$|$G?lT(lDFRDEg&EiW$qYCC9w*2R^<1d|2IiG6Dft zd?wV~vw2C>ELziFjo#rBy5al4x4OsZ;Gj)aoF5*q#hqP8v5FglT%aF-g^ROY8sb5 z`g-G!K0gF&xfjW)#c_`@O0%z$VXJbwNTb4y{470>3clX=D-cYneLPLDVXg}*%#E`0 z4#w3&M@-m8F#n{4n%eJG6Jykcz@C8uSLpxI=&O{6Kv+%u+_jECdL~c9v9jD^M=`AB zjZ!OK*fW`umiCQT3=xaM>6xm!U1wYm{4970-5M9pLQWX=7{H}lSymxZ7CbcuXvm+RgX z?;ulXwIB+X9R_d*1X!9iyp;19jYJ%cF{_OrmE+e7sNp_CnutnCkw;U<#YwYrb_rc~ z|2^S-putWJhRFK8)ARAnQGa1I?P22QQ)g8n8vzPjFoq}sMKDG#3H=`Pf0v?C5SahF z_y1lXAd>%g=l{K+fE0WE9Ju}ey`c90zrXr_E`nh&{`<%Oe=g!6DF55U|8s$XCH#Ne z`u|>tLWTd|HvgZC|7X80)E4J>2ozBT3&)@B>gV;)z#HBHD6Y`sth{3I(&V71tF{&h%_}dfByXG;NT!! zpHhSWi;HVvOz**Oetup{SJ(9O=ZKaTUOYU!)U>o5l@cX} zB>JTDHxi%@pA?aTdW_!OxuYYiO1&0Q0|Qb*LP9f3%fzH4aSIDt%gM|n?owz_ z!rQw$Oe`!w9)zu}t>Dnm?fw1GygVvU&l%O%wLlqjO{b5qW)~Jz4Ga{FjVZuF`9(#E znVA!0evcH!J7{?tWf9TQG#@_vI6HHoq@+YZMHL6f1+df7((?1|E2{umraJ@j8XJ=t zH7gySA3Z02@b;Cc7D>s3v&*;;#vBfnv^W^5`Ma0C=a&TaQ($88oz+eFm zy)vTEoQ84Lvv%}^*xfIS4SrQo$2_>N;-Hf78aHikPz@# zcX#)blatCW&Hp>-;OSQ~m6zui7l&ihDL8oBKnD~(7|4QHE*X~$ZR>UZnOkgV{mYA|NgAldvEZ18KY`{-{Mu@%F6O`a|3H@Ih>rG z-?FgKa&xET=28NEp=V&o&CT6zM7x=>YPdX_i>%adn`yAt6crV9aB~|3a^#B`@*n#Q z5J>nkVjdsABqSz+`s{D^1T~o#FocK(0Evl@kB5PW$Hu|Av?o4TT3Im#%2QCV=l2GV z=GmU7h3jV-5ZlpF86a-pou~n8S6B6F>*{#DubFsxdEdQ%-|)a*I%mb_dL#xE_h6}x z4lLQ++A2fv-#LZ1F}tW~Xe6YhNIE%jgrSjapKbN+?(WtfJ2tnqVdLSs`BX(%r*G@0 zml@mI`uK!@W2@NT-#<>=VPs&Sr>EasZE;?Bc|GA@MT)-`7Z)psz{#-wY5Obab$udj zW5c9Vfyc2zj^!2N5tcKy-n_h@MTUq4-9-p5(0sQeg@1vxpr2#!K-1t!2A?VxYdMxpGy`$yj z`5_`Q@*|J|pcr&A|0yP4?eek?5)zV>yuA5Fr_afHN1MJEA2{i7z;`aL79kq(Wq;!u2d8h0f6= zm;LMOq_VQI+Fn;IZJhv3%}#qrzb7()HbuWOes>s?gOhWmK1{4a<5!!z{r%OkWR{>0 z0s=z!#Dqd6>wk#;WDge<0002?x!B>&4Qgow)&QZ7A?fSwtp^r1_@V6*Y|w-}yuEi0 z4m^A!bRF%R8=*7-T@DWqe|+#v*zkMFn4MJvHCjG#?da(6yxj^rTxntj`|Vp>)2FRM zrU(XpK}^^B)2Hm_=2Sz!r=+zu_d4^jWUlmut;0jH=&Qu8EZ8t?w%5H{C^Ov`<|Zu_U&5=Ufwj@ zmBt#^V-3*sAY_K$WLYpL_|dNjE~EE@dir+>2bO`QU^U&N?LkrD(BeQ0d199aSlVMZUXp;vft-SZqIk}V7xKS{7)OB?&0^3#97Dpt*zU=x+hq6t^8-WD z(fv9yC>|XP3tEK+W8#o_I{cA!x)CX#OE`Fg>(doU1A|Oy!y(WgC_aX=d7K#~BqRXI zNM>XHuSPEs3Pn^@R6&NmcOjq`PUkafzr{gnbvu;-6nI7E^z`(ncSLFZjCRN!28!zH zxWE)pgIDeFzNvNpYmj&y1-AKG8Xz>U{~mac)b#YRbk_f^-`qrq0yjD~c6ZveaeMbW z>uxKIOpdEWFGmRj6H}zi_vrv21JnlC73l*E5|$`E-RV=X(#cv|iqFHfva+&q?ZUxy z9{k5Jw7qyqQVMc%VPAN#G%y-B`|_HfKfi@XC*2Jr^ELWaD1YF>mso##a4?)L5=6je z1OX~D^y?Qkpdq0F4PQG@S+Et*ZH)kPZB`ni`@+!EZK~oI7qvps$tL0`K7zJC0F39l z%m3KWzg7W^DCkmvcLT9P&%=sBPi6^jNisCAboG0A{&3a}4fGV42lJD*X4CiY-Z>o3 z(16BN_16`69ovLPXlQ6cb`uz|dm07?8QSvyu>WUbQ&~x=yU}*#7AV_don@@_GAa_% zHYkoow?CxI(JUe`N7@{ktLi9l&~tNhz%SH*VmI1vOn?soQE1(3Y|vq*l87>zEmo$c zrZxf)wr>XZ8j*Z^0-Y3eE}OO1B>T?0P*BA+r*r`M^$zcgVXD}vEN2>sz z4G_5Z@VARwIyOuqZ>wgAbSEc_G}n5e^7Sa~!Eien>;^MDcc0Ha?qxR?@9ON(?#t20r6xGrquxhxk z{H|ojM(_#fXlv{D@85}5*VdFv)STGUx`CZgDp6ZpS~4~^cGR3ew6d|;ohgugyg#mb zJRf6yJnKUTzHh?`gYdl-j-uclwWFisOdtJ!4^HKtE+{BCS#3$I>byTn=0;be$GQBw zk<}9f&uP>R@%Z>yU0d7AxLyQ&y_L1~Ti{!=v;Bb^09{W+LIO@uQ1EA#5E%eiOR*eA zsL<1;s_*?FU2k6>A~G@+H8qT%pP!zdUUgkv-|FgPB_hp2a=il3|Dr74?IAKhYHseE z+?&f}q? zU+?(%Y0MwgDPU{o<^WH61|so+)80Q>sxvb)b2yrP3rs{wNlA-=?`pFnlR>*yvgG?| z?=G7q4qCa?Gy8>)c|8)$Z=i8t%&8qe4PMEkxRPvXIq$FGs5fK0a zEL>c17ngV7Xg@XR%vxQMba;CJjrR2Pd_7y6#p(b+;SCjUpdcTvW>ry$xljxZ4G9^* z@w&68nKSaO%FBbOVCZv&3m(u}kTJHlx=H|m5G#03pTXza+tafZ^L-;{;kXJuro5a9 zyr;B|4iTMV=I-U;uY;@mc_GI*RO}UXeSH$ki62`((>NDi42_J)fhq#lVUUo>%gLdD z_X7A^Qx>33PEH2-gTwdHBNUZ*@D=)i(u*z5zvXT1JYGFF3IAX+v#!T}nx)4#1>CPJ=x$PSa@2x?nZv_U?}$)=C306& z)OU8~92gj|+33u;I$o#)ElYRV+y@+16sf>>z-YtdKe(?tBATiJ)D_U&d~Y=A4RBV4 zEB`JpcO&RBjrzke!Qrf9mK_75|C)Ch7`8#Zfd4&PvG00KHoz3i-|Jur^I1ULWr4I1 z9u<}Eee>tl-p9rHcXbJ&p`n5Q?iX%QRRk9p;wflpV0g||Tf3ycE2`HAyLZ$vI-#}@e z3RjR&QTIad4UBe&<8N(^q8Ux}z)E0)aP5d<~-VrFMI;d8SFcq4GI z-to#sV5Hq{Y4WR1H|jhuEaoe8hdO;8>{=^;vprvRp8VGhjlOwu!i1lTA-bAlhSmB> z6IAE%@nW)EuO;Ezw{PifpT>Vy!pBa4f-aIIrGtV16X^H&5B}AOcLzY9Y;<#&`Bi7B2qYgQagtg~u@bfIy}f~pNuf#b>DQOM zJu0gL-q+SuccsbR^5Ocl{dPMtiiAHIG*QB28o)d9LrBciS9@(b6jNg|fHYsO?d*(S zCfZYN+~;wxq^ZMiCxGWU?@C2c|nlhdu{o^1%YPuwBq}wDH5fJ7&DGT?NlKD{Gxi`W2N8t9vLm#={Jd^rUt=SAT%A~>*u6ay0gWe+c} zQ7i5LQ1kL4ak@PaS+3g@gUhH9mze0Rdb;ZO@)SkL85&0Fg}}|-gyvdj%tlZQBo8Dm zXn3@0?;E@8lckRUO6gsVGR6_HrchSasD3zq3#1L1A@iYO<38PleV$oJ^uB{}9Zy+# zYz6`IH4Q!8U*#Eg`346EZyp>hQv8+!z2^cb{n?zRVU5)s0~lmDsh+;dqT|lsbe-iS zzsVNRPz(+j*?Ni$g&`o8+AU5r>D>06C0ro#5pY_dfG*!XG*tA_R$(3_R!2v604NJ! zDM9vlD1=U~VNzG{;Fs9hc@v%DOfASVy}0tJ#I`u!Mv+upo!g*NGZU+c%(>vZ?=!_(!j;E)g?>eCdyTpb3JAmK?XDp~^e0aJEb z_`8BoK1l{d8H&216IaV~l^66ZW)>=oi;ckHlpA(sZf+Wp`raDf z-~3es*#@{<5({lZet!P@>r+`hy*KEBx8wj*#>ev&6~2q??tk>q-tcs9JYRFep}nE^ z4*OpYbgU{aFE@MDi_2+A?uO-P(VWeHLu9{!#VrDoNn&AM78(lo_3PKyMEa_s7yIL2 zaM*xqARQ1C!VOs|4bx1!`TM(nS%*+#vO;PJlQOvgfjbiP3-?LMxBW#eJ`>Z!@HSI= z_D<*$>*8G*bwPaAEZU|M9$uO*=aM6Ily~VTT7a@c!1@l?nvWeURBc?bVPRlQ8Het+ zG&i$3?Mk(}|D6CaPrJqh77V;9tabp0fABa4rWkldbUp5|0+dSGgPH8BsVf8K_;tBb z^|IT`UyAmn3wglHy%HOEp}aXO{(c95Pf5^BU*Be>(H7`ylL%`dl%gw>h@C!y({WUl zEYtP84%4`;GQ;lvp@O-b);rbj;A{djl8^;i*j>2-zdtO(xyZb7c5kl|N-u z%)RvY@HN!bn8E`@e7M~VLLqt=4zlKtj12n+Jl$c{g3pk@?e|^1nM`)YwaZ&KlSzX?~V;$Mt>;^ z$r~AM+L96FE*t~jOZEPJ67aki;J&h&n%Ocja|mI;#2TX8UkQI}%1i~!;)-{v>Ds;W zS55?)lKcKHo87reCdL*)kr}8gZh~T7SA~V0fgJjzzgY?rd=3%PXy8A6s$?5EHn*@y zNJ|?5(<;JupD=>pP;(Wt1c558U*pzSj-z`%oHiZ)Dnifld**#Ljb+Qt^Tg-9$gF3e ztzo@+!_-0X-+LSaXAD#bn5wS;m)Ub2q(G_TsU$hr`?o#thTkpf-_FnlXjR!7WqaFL|BECFYPz~(po`rCH*Rkg zQU<0Z2406WAa%vGwLRGSa2RT8N-8Lz={DLJ?+iwRbiZh3%ZS79_=X?*&r&4D&BK`s z5~ndph-r|&LIes#Ln;cW8k1vgoBOAjJ*W#>^(JtO;uBIV&mP;|xq{&Sny#~6 z9_fHZw4BNo>F@7fogWv(MS@*lUvCHg@$z6gD2Y+C)@rU)qawM%enT*ZRA98Ms&mwN zQXniVE9(*t>9ylK(!I|2B3U~(cVdNTg@n4)UDX+ISvxMVK!>B@;5curv{P4A{Rp^0 z%x!1Z7m5mIN$KUbn#XLp?GIS{bI67%1SjQsY^plL1J3B5%V42#kZ8ET?zIPZcCbD! zY%1dzj&IvcQ_Ni4#Or2$8QY=**8A?_w;?(u5Px!Zc1%ghp%u5CS0M(PgNTM!2%6@X z`@^DFrz5ejaOl#0F~R>jQtEnn`n&4B;iILkJrct3nsUS>=Yg>Vu2wdgX={wN%f|Hy zbeW5VuID6?Ah@mFU6&PKG|+m|I4!}XhU|7f-M-o5U#|3WgU09Z>m$WfOU1yo)-9u* z&=75JRO5JF@*7HU02xV~JsSFm4)VL5Q$@`VywOpChSIEyvY+MmnHvmsbVdR8wL84t zgWSv$D{xH!>}>zQz+R)iEbv^fRucgBeA4eZ5nbpp4rpcGvHfy=1Q>K(3=-R)&8jMH z9UU>?C;U&HNTxxH0LaFU#ABvpX0C9>2U!T4R?Y}?6X3Vk8zZv8%rlWr@f-m10;J9L z%ZafU-<2xr?iPOKb)Sf{qv&}-2u9>9TP+sNegD;CH5unOwyTcyj&!Se_!7uKyc#@qw?AgzfBDUT%kkv>I)+%jmw}0PMZe z1Prd$8>4%GS`EdLS%L=jgU{cii)X$o)%@=z3Arbi(7ZfvcQ z+{E5~5=>(wVq<^5(gI9-9LthVo`!^;d%)RyoHi_gxsy@Y@>_$~q#y3BVrohS=34Dw z4q9OV^=ozY2iWn({2r^dl@$+2Z=gZ$99MO5NuQlHDpIfir2uHpbw%i(SykYI$9Ykf zY-RyC2i+~$>ylh}C4$sgF;V%9v54gl_0tSm^GMw6>gvy%4Zq33XyVtY0GO`46Y#q1 zURr8d^ZWnNbRFPaw(T3KM2V73R94xWq(UmmN-`p&P_{%?BCteaCkk@B5YC?|JU~y3Xqy7v)DPryvP{B}l=zonb`%2SnM6loXNc zZHE%v=VavM3Hwdr3=v@_<+d=sZVlcV( z@v#IQ0|Vwo6+aoxxh;WA z87nGo0p0Gg`pt!?{AFcj1~)#}sh%sFuRgSP+y{-eAo>&A+BT!{yGTsrQ|9L%ad@|T z&vFKFHk&eJvFtFmO@gIjbEg>P{FkG_({k8_BrR#MGpkUdrsq_$5 zncQ!e9zn4k2f`-MAihKHMJd+5fx#Ck0!i-$EVJEByFjip?(FCg5Fg;nc6>%Ju6HOc zu>J#|k6>lBjHd}h{SV1Vg9M=Bj;^k^9_x;GHrFi@T*sLbJeJOaNP)U&-Ie&EwKW1_ z)m{dMdZ6iMpp=kI_lXwHx(93@UYw0225Jljjw1g?v{ri1-vmpFaxvTxaWLcc@2_TI zi(pgQ!4^4x>#8;u*3i+Z!+@n%>MT&|GXE}RrO*1{SxS!(y!Mut8^V_w*-3}Tzn#5# zuUR{~=&0`?^S%?N6~=8;D~{sdEj~rhj+l=J($UlB8ds7@+Vs@KikLBi=X>|=-7LeC z+|K`b0c77aHaCa(`jU@-j6V$`10U%5%a;u=OSrhW%2s-;o*ef|*s+(JhK}w~H3K+* zvH;3Y-%|9~J^Xr~Cdp59j86v@L45h9^ehdrC%Qjs?mcU^cD}hmmaHvy?i`P?o zmu^j{Y7HjWtWj5VfBH@RO;}_6Zh%3W*5e`T?;kyr)c4N*Ac^zaF7140uSHOy$%%of zmA3YF*XfMHuesN#Fvs$v3=3ywX3n~?-N@J9{MGe-4--=(-fDM_nSbl8fIJN-8R{Bpeh-eE_<+FXixPmJ#~Gd*^e$>52$Y}?5J%@wsH3h$PAqcr<^J2$BH zSkY^gfL#w$-2Oe*BE9qH&lCOeR51M_DtY1SIWQ}(%N>^>``Q%p_&`Uks#1`&{#t>v zrC-i8{C9NvYncC~DyO9|@D&6lD^UfYB`%#?$g|@%vks4_j?RabO+gio5ANwof zo(p7bu7j){@c6L{s>vW4$7q~I0;jlm-ZyzgI?Ao!^Hme&pJrzZ@8v>sSI?x>3(A77oiPNUFEp&I%~gI>q3jP++9z+1gi1k}Ge%2W z`~CaFDZzitX^zy7fjhqi=F5IiudlBwcLj%pjAj(}n|{qUdD$`LEYpek{8PfQ55${4 zzPT8tGhcNl6gA-x!;jwF@4HZpnp%QQOrOLm&t+yX58lMKXdwIY|(? z`7Wf=?Azz3^(u-=@n1Xp8}snt9-TM3XcAQVx5SP+O=$Fc{5TIe1WLADq1iW7^~5{B z_`v;@y^@@1J~l!BQyQOWXq+Y_u4!0Mz7)t=?HG^C4I03PH1~-MzU~`=dtD9AH2!*^ zU^wk{sSA7!M(8zS&=C79cklgsuhPCRS6CiO+{9WHAD>t$yM)$Yd!oam3yFFDa&p5s zW1ATK-&N8i2t6>@>%hpNnaSFRUB@0>Vmy9FZgX>UcIjssAUW{nVz)(N4qjY*iHQy$ z{{-`b_&1-^!y|h_{o+C|lPC;`GlI!Z&>dbzbsAY*qyBG{QKH-MM zN?6fvr)C{|zd8MWVgR2|z&5GXl2OW*m6Vhe?I;G)UGmf{xEMUHRP{tc73s-Xg&hWv zfLcAP>*jbfQ$J`c9UDPQ01BMl^&g3U`vmt2?%K8mB)$hm8;?JW^$>mgw2!v3huL3g z*z4=o=b!I)?=s17L2>-}-8{x$kH%3|g@tY9H03wWeEM~N^odX_3$uR5Cty<4xf7d@tOE*|NAfRG#J$hBd zJ^xl3gZeMGBj*h1qC+c^a-SvfG!W6U=;@|QldQ=q-+;P8PvnK8I{PaY7%`fVj zer0#{Z+{F+ze&7~Y9^(%X}Emt6sEvA>PjW|)scnnTTc%EO6f@44hB*l6wEkq<~Ss& z%GTDLS;Z)oQ>LZ|P~WR?AVI~mbZjxu(!!rDQy&^9l`(i#AH~O0`-zb9r_{^RV{n1XGL* zhs%^qF^itT*S#Z0NsgbFqjg=qDLitHGF`vW$r-KT{l*GQR@oAz(7QF$(x3Nv=_sLO z#G-a%^2vD2AZk{(6G9kK{qS@mK3pMQZl3{~<{B8jSV*jkb^gTBzm6(;xBF^3R=O?`Hg|Zy0-c)^gdiTS( z@5U;+CB!GPn7`dO%CcyD$n_#MRn(-4oZW3A$yv|ub8W33?lY~Oot^o|$F%^UA+HOs zHtxaaibLrJz-Sx!MRS4Abe?fz^b=rcVdPt{>rjdTv7F+=-rC-{ap2gorvQkt7%&Umq{IE%5`HTtCc8K6wPYjHI6S(v zkyu!&{ODmkr$fB%P|Hh`-Ok5A5Gveto8}e{--v{R) zX4&#g^6!Bx&{z2D32@JP%q_2D`C#7eg|vq66u0KRQ;IX5Ec{i(ob>AZXn#;6B}S$7 z3!^v5OI=1z)G=#)@(Ls^Z?z#5R5%M3fNd9{6%NkL^{3Xq(LNj)6l6NrR}396=k}s0 zib-GbUd)$pc1&W7i~sy;FTn{sH{8d-@YZQk3+>R@=_!PVM3;V7|KD?^S?8r%MHzQq zF0%IqVVjM=0}$Te;s5~fKmfx8v)mpY10h!*FDk-$bNKL$AK9)#kioRIwa@%1>K0;8 z*?Q-(wD{Asy)Vz3Uio#H(uqfZIc~Mnz|H}s3)I9Vs>Bi zXj&TN3u5+!B-;j&v^!gaf^##ziX%*E-V#lYcvSp`C0{0F74Ppf8E=lOsjn}bl%7JT zd%!AFyLRo=)vJfL z-6Qo=a5&aHx%|t0YM@Jg$#!`FKSSz?#kEXru_5nyiZ9O5R6p;VWCjkWe_xX@+qM03 zM%9U%=~FyhT*NdX0x2I3ubw}*;f5hlteC~8QRpJd9iYLl!J4*{U5*iU5SdBhVedIH zcNsJiw93S>4>2r;7R|9DstIy&;o;$uv*(Elg%iZDpBDhBMyDfRq`ghZvCnJO?e<;O zaft(W>2j^>+og7LJoh|Ha{cM!UzBZv))scZRF;l}6~4~Q$PlnAU#2HU7?}HPyxvGi z5Xzk1TXUxJwr7QfQgHrRtSt=b>NRfJ$5~T;9)tB8y(P&$S0GAP%s3z@{aSAsxsL5i zReP#pY-}9ww;K~Pv@l3m*Dyh0ATD@)C+fFi$i$N5Q?mQUR+EQ@s?XdCeZ<HYft z9#=8hCjay*pUjiV_PNUsrK)2q%+3AMZjx8p8j6Tl*Di^Nur+i-?tq>GvFZQ^2T6ub zZ)$ldZWBB=H0@Vw|AfsR=3bJZtWk}2r|yYgY3hmNfToawhUe!8Ql-}6ys4-- zap2&=#>PfY;J;c~G%;3LCkj{#VR$)&dW6<|R1r!S^aK=B3FSvpVqzl@)W*=F>N+~| zKR!r@Yz}l2cs7z7MuL8wj$KZ3mDw+toT%6Xd-MTNlv{Lm62h} z&^dSec9Aa}tmHJUi`DgL#n6a^LJr$mSk#xf{&2|Yqquu)rNjP3o zG{@kgKp8Z{eIO>5MiJOm;CG8V?j?^?o0gPRIZ^US$9w04MAi9*@7G)ncW}5|C&>vX zF(t!LyH;E?Jj;6CFVpu(zN>QAF~?Dg?(S~D)=Pi6gK|Q=ghzHoDNmW>S$MhDU9zm)yO`zR4!r-KVjL z=6e_H{1i@REm$l#KZvIK;`@3kE8NX?ORu`;nTuu-t;_I45CfW7T}UO^p7UWM(B0s} z%XS=7Np7;r*QXaUY7U@1cs23gA#!jZ`~F=FLX149^5mx9Yirp+fl$~x&99hV$}$=Q zt4Z|X%Oy^Y6K9hW0TWgZJahrE@A6foWoE}c! zMupXsCTr(JqfbLmIzUW7$Ir{3XzIIa1@M;=xYzy3<#)6OtC|{3IU~$ zn@K0{HZ?Wr=3d=_fALOpY-3}?6_RZ)zX##~#Q1<7t5oKxKvomdnJT9A# zp3SDIx{9;ttn&$~ld;XXs@mlI#I8`~j$^J%hj3!aw{0t!9CdPccL%_MS@95jp0!I| z+}Wq$NBsW1D>a_)KPKGp)TynB9!on=Xe3{kg@x@VJ}t(7n@C%C2zh`PL@#ZP93*Xy zlHB>=smlA<82f_dhwJPL0g@)yZG*$O>7{-fQwk*}m*h0RboejuJ#@!VgBp%-xQP^J$7>{#fx2dJTk=SlgOPA^m$jn=FX`%@!Jh!igMF*8 zyDzx&emKT|xE=$7g9(?S0!DGN0819wtx>)R+{BWfSeKvT4B+3-oo+~QRWSPXyG;u~ zX$Z+=81D(AHMH0>)^S>ro=zc;#ZMtHIb%C%W+3Dl$DF>ReZLMLJ`5AoaZrWmICFBtqmi>h8(7=Popk(PG zGJ?x(9VzqyUQ~jzV6iK!gai|s+0`+Bo&EgdkizCwSOgx>_>e*Q`D3^@Tcao9!s8%P z&*0^$sVTzQi4cU+sZ*%t?cDX>Cnn$%**P{g2LEPm?GoM!;X{TyeQ08Wmq(XyB*iMj zBT?!+YufhWERb1J?UJ*zb91~@SXzP`CHzm3`@_`IMj(>Y54 ziBXC@v`2m1or2T$$hn&aIFJsxD+kg>$wPll(Gv!emAP-hTCWZrK1`Xf|BbtTd~{R^ zR2l9OWRybPO?YMD!j6oM4S4$0y6-UI9kq?9H0FSG2m6a7;6b!{v`Q_}SU__2T=oAE z6hui3`uKxLXb8^*8;#Y3uf6*D;1AV}BcV^UIhFj4GjnU&`N&-SX@at@CR+*H4m`iN zeYX}wDEwq5i6RVZ4;(*vjrVv6PTz4iLGw37@ev*^f#{38 zbj=CJ;-TrAV4zttEB06yg)o5n#sqg3)5ZGMwnW;e1F2Rm6mOcx8lTWSzvo%W_pwEm z9HaaB?hdldFQd#C=fPD1#_wTa366}s5YHN~oXmOPfDia@2b5#_5BsI4T< z3;uf!YETu3UIqtMvgTOY`S?2M)P<7kqWl5^V~|7#pStv)%<5vfSYMyC_h3oc`H=Z7 zvFUF{eJMF*4-rQ+lm}S(^^GRJ%x2-&{owZrQB+oz*#a?(ETt3;Ui+Ij4~mON!Hs=E zL!-s?DcXjIr)MD6xQ3!_KwX-)TN`knKZXZxqP>2}$kh*GNcnjk1^Cy^p$FoKe4da+ z5oGMY#$7pQc+KJ_XAK*T0^Q3DiM1QU*R3su-TdBwvDZYq#=~b0O+Bv=ke0>+)`L~X z(HCs!K(+_?aNr_te*TbW&p5hY0+^F3F`h;x0ACCwZl=8sdNCTD&*0eDwIwr51;gd5 z{Ui9VSc#fXmoWRZ+&;S)%P7kArM(J$GS>WT3mr8{!n)xXR^l~pfe9tt?)chpT}JxT z{3kgB%R+}_e5&SBy@aa){0AFdTfnUB8jif|vK0M~O@a8;Np@v2}g}zq)<~NJZ52`v9 zs*BH^Zeh{C!{M|tqlc~!54&w7jj6f0GF+Fq-!nb=>9tER$HT=E85Q-#{M?T50{#o0)4ak9Xz^bjrBQu@Zh_NlE$)9jhf8Qxg-oAjtuF;ljz&-2@PZyBKz) zYuES*IJr1aP`jY82$O%#8|7pZT#TKp(k-LuPcFy*SghQ>pYfuR_e1|=o;IneQ(roB z>-}kl=S)-cDysQ*^027q28Xr2%({`IrlUi@b?a8R*a~nPQNLi?hgBTvb@NM_;n~^q z+S*ZXLb!+>LCH*G@Lh+!D^BKSDz3L`Tvd_7h^l--A?A9nbJ5wBtp^TP z`^zW}r?wyYqi4;}I;up;Id`M!Z-2H%^2*4cl*lgn9V7rsauUe8f;bCcb-Zy%~> ztVg6Sf+#Sa!X?fscRL(th9&yA*QOj;JEyrmCU^Js83JAv^E`!51;a|jqemU4-LRni zfbcdlKX2D&MyP$L3KqEcKs^Vm{3VEwVDZ)RP4l&j#C*x10IJL(f0ZX|R9xbGjKQ18 z=xAkR1;KSmOUD+}>%!Fb{X3DvJL)oL?cmxE;kfAqEZ^ke?icUedDj~G$;{ML7biL= zCx@G@)BqhCq5#2*1z*wsOSwN}4W3m4347&4iNcP)0=O&(0*D~;!xzlWZ$aHg#>-cnXo zRX=~ewyMep))^2Ss%~=snNhVcdZ16*>K1@?1a5;*(6_L#P*sJ2c+R~Nl9GgIE{0Y` z?;?ANm#z#94B^m%fgtWDqoi$L1I|IQW6GFFGo@cpWlsCVzD@p4`aSpr!&f**uTN=@!vmy?Xn{gO$e z@aMfkK)fdhb*JrBdaicsm!&4_D8*oaeBf$@gNd8XC|!e>$m2k=%rGcy>+AEVUIJ|7 z#^D2^h}%tc568k{$@vi&zpZktQEM@42(Q2RK^UPyZn8+6rF~}i_4cn*Vb!0S^wgdK z%kld15^%x9Vp7$7k@M&MI+p0HSFeWfZV3K@kugB)mH4-q0+myk8n)f5e7W5SW!q`G za~JT4OvJx$8;pBRV9C_;@twnEyAk6flqkjB$F8=eX=3~y#EUS8`$qZE{66t$@0^jG z!p^20bP5z^@A&`G^~Tpy$7fRRF}9#1qi_)5os*MPU0pp=-X0;f1HcI={@|W&R_DeD zT}jQ&eTZ;QoJXATKgbkM$oIFVv@xg*n0BLC3p>x~MrMXjz!CMPFf0DX8tTidBR z7nX7i^6d!Tbni#ZnRHa`(&fv|_(;$>&jnw@@NyPd`fA(LPq$>*h%$nYtNbWz@wPAL zQ|=_q-;IrX@qP(>SS_;C^R4%fmStd%NdEPh)odA}FizJ6 z9i2{7SM^)02TR_CCUR5zfo<5qS(A|~dTC^g?xbI4l&PU|@YrtL z71$;zsi zGV)x$2+yxR|L;bgM7YuJ)B9Whd&JZPg#kAC?e+Fl`VZ7_3_=~Pd~qZUm4f)zs6$^& z^&V9PaRx>PEKS|h;bk0k<3TG0==Web0j^%WI28G*7SWai zkj|T%Rl#`K>8>Eb3f40+JlwdAvr2)&9w zgRbdi7?67>#+>(-`L{|)igN$ytgwSAQP{_b}l zV50BH_bUIS&1fE*RCrRBmok9t08IsDkYRFbZ0t)B5vf3_)R)D@f3=fS;}RIN1aeqd zl(%Xs?UJOUq70&Jd(oA2-s|}2aQx`~o7A63&F{ZWsNa3a$~>{#J+a)&YW@n-{t~)P zK@sZ`L)8B4iBr;NJ%#0+_+|t)_=>-OPOOJs{{Z8&aw5WtyC9`|V-n+9h0CiB-{7ma z8PxM5CqhWw%GoiG)xo@_-WVDbR0W?1(}x?+J8ncge5jD#CQEXNT(DLn>+GNd`AkI) zj9I6Id`L*`>g_{V{;1niOi8%n5W~B$7ird5_ia8W0Qzx*6dFH%{#*|=&mWn8=LKER ze3aq+%6QVS>iEBYjZIEr_0{-cL-X^Wb$elvS{sd2Z-Fbmao7ARIs5eS-Si$ij#}cY z8Jmy~I^L#OK2ufXoz*(*wbaOi*n%IC)MN5h-~>(XM>yjimLg~YE3=r1B1_96|8^CC`*DdeQ6J}{yLT@-Sy9MSHIo_wpt!OATvwt1^> z8OM+A^~l`%|8J^>gMxZnQLV|$vl!lD94#2nYmu3H)-}!Kz6~RJ*+LZ+o+0NLlBs`C z2Y8PhG5g;G~-y!v@G%n|aRyKHlK51%FPfY+V z-B^;f%T!9gJ}O0Z$*IgC?EpRE3Xw!UNvmW`=v2r+aIL~AN$_OJg~G&>$2nAM>Fm4@ zV+3k%lG!6yFSdn(m1Fd(vhgnuH6C*sTk>JU~FJc@9ho|;;Ka>NM%;o;FQ z8xD9*K6fn||NqHxQ25+Cv3@3m+9Tp&@0TyW2tiR|er&e+#Y&ASeGwrgO-Cua{*aK6 zoyumK#Dl{(`ipCa+&Xhc#ScUeb|5>)K~Xj6EWx}B$%+%{Z6$9zPJ}T3lzVZ2$GL*| zGgZEvqk%MI$5}XSBl(I6NSAE_&-7NaSz?I`kVX^}D|8+h?|jjEom>9BAevN7ef=Oj zOs%E+)NDbBSTdXD;066yT3P_I)k+X_pkPMSP^^ z+1cSaoqniB&9UC#4mBMMt-E~?lgm-8Lq(};`7Y3d0jTY@tUMeW#6TiyA4ZKJ-<^%+ zOZtyGf1jv5o@Z*C_%b$R*%ewqg>UY`71tvS`sQ-`rddrId^q5O&Kv*)8a z#-5jP?%x;clBA)d_{z%H=x^8gha@rCcVp*CSdLu69T_y;OQP;yX&-)D!P;cIp#Q*W ziz0RzuIok4e|b-kkOvHWPFQvu`OWgai%+=Y{r2K8<=E9I`O@ecx0v&Ir!|v{!k$m1 z^QOP|3#vQ%(oRtEZ7MUfA8QRdH&3w^T2wec>*j=B9o0WFi6b z9Lk62R~TuFNc=9wXm&h4-LwIJJq;66ATXHnFpUf=HN541s1+LQ0XE&aTajc92naA1 z;Q4n^YiJM}dek{v4`z>c@80SLp8?u0r+KC?mi_&~I4V!cDt7#1*Oa)Wbw2#Ie`1XhjX3t5d zeI)vib~POCZ_IT1wo|A+TYkN?w}Vn!V&Aa&S=przVh&j=ta-nj-Rv@rs8R~3n+jyV zw!FnDt ztfW!yDagsG#CHKq@Iksw%@xJtYssx60KFWKRJvml@F2E%gMpZT*UR8VM14Cm4TFFF zbka&d2uLUMa^RhfUrc?eYH8J=SQfIpHiC1j-o%`zJk+R4!86yN7( zsv^=8hrT?$#cNgcK+>kXav;N>dfA4n$lz(^)rQ{VgDJa2PBg7dxH-btx0Gp`l@hV(P1Y^FUYOm08R)#~+KN{w&eI~w#S zm&)>jBw7mjZAt$k!`qn>erBmFjyV9ZQy%N;SAu~l+8w)@%3 z+W6ZKi0gBy+^`#*dHS^IwwIK6Nwlray!S9O`{?EBT6cF^R9nSz?#jBR4t}$;H@*b{ zYzsRn4+|ybO2kB!+J2J-ReC^F^kGB+XdF1#_z4FBGP6@rX&SuQHocOdAu9U&6FfOl zj29awA|pzGI|xvJ&1f08cm$`w;>ED5yF0G=S0c83!O?7k-t<}TnYT{mT2_x5gg)1N zdix>g`%-9G2P z3CeEPE*BqDbG zaw`3(xz0g>Dg@uxs3(+ zw|1I$t$v)%mwsBfgGF6HS#3S5e1$dR@eS7E9Lmy9@BQ2#F(h@o`sn;_TF<*fal^XK zD%B`>xMzB8tm>$={W6>Q%OJN|J==>ZChc)C_QQ3usIqZ}S8mF9_`01xq5D2Ast?V2 z1X55`qw0ju=kI1vnFt#wmrMNvHX?O+#p7RX@D)Vz8tenLNG)&tr)ILJ?^N}ytt~oPHQbwP96j8e?{pL$#mK`u?_2l z7RyIPMo)YaKbHl~w3RC_s;bzq-TAmqvt7{Bx2ewEoF|uyekFiSc=w)nM~a2NOlIHN za8tIrM>thpr6rL0E7~$6U%Vfm(oFTwf1TePYq9*{C?#^oQS~E>M6L&maRMVG!`O~0 zr?agRR**2F604E8?cCN=Vhhdo_sp24x9vUF(_aNt1`cz;{y*zw50j8eE9HzkX}^! zv68_X-j=2d9I{yGRtdiWuX@l6pF6l2;x+Wn<6QF0bAuHrkHTgguL*=#R}0d8620tkc@ZazZ29YRHoW=EUlTW|o!kUW|9n?y zD4e5dnRiGZfv_huey)S4+wM_ZIl{*3)%j$>(`ej8rOU5hx&!2 z?bo;DSxuL`%UQThY$^li2ei8#6*fTWz`|`gh^mlHurTh~n>RaG=e|{Acw?VD^w<0p zjzmIQmDK&mO^@I5oE%i08zH5snjrpgu-O0!MCSSG7 z9hgXJpMKWys`a(ClFiK>=$8=&ZhKaz?j#>S{!@juY>5-2#?ICFt@2$}{B?JGj`>x* zNcu4NUGB-T2a_{{&xa)6smAX-=5%PoTG=W^E%eCh?xBjY-KG5UIBoY~xIF+>9F%mp zN(#Q%puP0px31GpvdF&X6%-(2PY?IYDdY~Za;DTNH{r_7J==wL2z!1lwU7Q4_fZ;$ z@j$^}xzS6B+{d(`g;#+3CHB93#Tvjq!IL!5`|6;ZFCY%)A61G&e~6n~^kM2dsb{U0 z#DsvT?+_g65S_Nc(0LD7n~u)OC|E@>Mo};(84GY2v8adu+mI`&QTz)`E?v121~=EZ zx}Jy(>!-w!i`4#GsQvH3>6_E_OBb)bxR?pq7h<_!rcpVPO>%Vm_9elH)P7a|!Gj0b zOmsgnaX-xRH1zcM!8k$(J;_1ybK(aiFDz%HL&s5of6KPNED%&PRvtM0`m-mHd~R-T zVQEPL_rT}gJrNN84P%Z0wWj)}N?BdV`0j(Lf5yq<=qB}!9hJEDCH&?XKHzWg!yP%E zk-;|bx9h#D96Oj{U!X4|hI~)uyAZm}aCf50U>4tlTvkXC1;|Ac5EoH$$A91U{jIt+ z@rZc*rcU0)k*~{k_W9PwJ%=i9o_Mi3Lh&Pk%pz_-|C*_Wd)MAUn#=Y@m(QG{4-a}W zXmXsf+GBtH>~@Rri}oaiuiGqx!X;TtmP7y(-y| zn!RQER*~T*%R`~8lcfdGE8pSL5rO>>#l6(XV{Ucs~do7aDaB`YWk4LE@a4HO|ubM4t$mMnz9FclEY4<2~ zm&N?d3G+(sp2QsvPeY0-ECwfq$rTbz1T`*G@0QfbWE}r3O?G*|qO*yp+W6-7<)+_J zi8dYD2gZ6BvSWVUD>c;EfBWcHem(xppC0W z`P%01`9;ucreNf=b8CNaZVHW#}pbYWT^>XhDVxwF{TwEYn5wrd>*Vtq3lB13? zBc}vVykS{!#Y!nAgiVZR)~P5dHGspADaT?nQqTs6k=*M&a!RJ-h6K|8_oW6rBHKQZ z--Xi^Y%?XMpkr=ZPPtKZFi3WQkJOL<3TqpYx@|b%g1;E_NQBW%+6l=jYf3BZU>uFH zIIvtN^^;DRQ$ef6AXes&;#z49BftFSp*ad_>o=EarHthh0ynmKtL^xyR`@uRV`JQn zx5ui&=hT&x>A9p#t}GaIb_(19_55yQ#o!;~A@J29;9fFHrM4|l$p_pb8LXdC_gz#}f?6$Vv|edT zd;St9JkCV!FC-}J`0W0a6zl>_R^4g*=Fun%Gjq1Xh%)RlyNLxr&A0y&dAl4?)Yuq9 zj*-9*W`~(lfD?kPGRFNR(*C7m>!dJ3?OUB6n13XqmEM7iI{9!-7eP*V(JjP>lhr9` zu+9^#MN{u?`1|C*qlce4w5?F@(j|Wwf_LQSj|%SG^N!{DmIU83ykha2nRa}N%5&Rz zudh8Ypc;*pu->J-%Y$7s;#}d@@TDTMHQC+O%?*zNmL8v;7Gnr5I9R$6-q=Nvw0BFD z&x6M)Qx@&_)v{`rhqeDWyBrkQ1c8-if?K^&=*@9| zDwow088%Y!lRSHiIeNUPDSY~@ej!@_HQ$P%r#EhW7MO=H#Nff6alL;1y0SY}TU(nC zuJR!AQIoXEJ=(Ai+yej{hRi?T>YR1uJ(26#g0C+*!F>o*D7**B7ndq{S8p)?dob@e ze;t9ksca>{THN^pE|Qlw%KUG-yliKslGajXFCnYk*i$j`bLQ4F)lnZ%%PpB&9OY_Ol!p>^f_26EE`#(@ylm!uU~dqR{xEUk%-av7{3 zg?L<9TYLK|G`tQ5h<-U#$ z%uP&CK!*pIIhIG-+tWi}E36g7=4uyN7dOY9*eFQ!LTtcno$5tw-55Uxabn-r)J91w zQutwmVTZzj{PZLcdy?< zkw~$uI_0p~O3HFX>d^f%pOSH{ChhX?^K%NZt5@HayfUpER-btUPqqN;LhmlCdrx+|^ckudxdo#}={=gt=j0PGYT@fJ^N0V3m;~sg6k}BBmw3Hn^oHG2+7*(P+>= zs6hE+gZJ?_i%3gq;wd36GKA~~7Ao$}m@m7tAq(~h%df)(xwIzESg000JcYlzy-qwXg;=7H?oUOd4~OXpw21Ih@dyA2sA?BFZK7Wv^y?`L*p48C;L0L)^|hMcHgKu(U8sMBat+uhxNt3_Ji zJyy52(qf4QH1&EEonRQ;IFKeG){M#3y?DFj(aMT5c7**aR~`PaQxIJaNI3M}iI?4V zcj2>cqm(q8T2aiI9*y&PJWfrthwYiUrsKIXi>FRoqJDAZ`_*%f~TZ{zNR8pj}QVl{NW37Zp%&3}KjM?cYE1|dSps*BYG0 zd}ih$TQOxL3KV5K#TF~=a6o>2bT5(`K1ypGNFm!AuE z|GVkgWE$sHgS)o~-Od<4KkvqEr@QqdmDn3htQbRp@-9?2k<0w_2jN#GR)oEG2mz#@u?-svjIkKD@@aRWj|Qqef;97 z4TF6jX-#71ck1r=m_FqM`oQ*L0{7TgigJ;fo6lRfemkn`&e`lP$~A9WyY;2SEM&3E z&styGr~P5QHl7aOOKX#SM)UDoK2b<~|h0tysA z@9e~y#(Idk;Ry+9!S7)@g@NH`L_#m%3N}?d=Q8#l7zuoN`3VvZmfN3x7<1$|D0uT> zIB+Mj4xp!IqaCcRtg5l^XMtG3;kX93!6H z`@K5f9<&kg^YO0zY4&fYtjdl2t6qQ5m~N;w3OG&1`ldX@PV74cO`8y{j+}*7e|b}| zrEQi(`J##0iCAx@PSWcaB?gVSiX*t`gRyV2B_m&+eV=17E5?e^x|c?w&!>)+AR4=4v_U1QdR${&2R=>pdX$VL~#L_*qc`bYc^pFO|goT zc@Dx0wyfv1q4+x3L9+9(>GzqL5X2r^ht18+hoN`Bz=m)BCo+mzmQ%z^DQw}at0jvZ z=vsULA%N(c*apNTu(*irBttM1pS*hY#o55!Z|OMLPU*kQe8a8wWbMpk|7Oqws|rMo z!%X@iUJXt>(!&kw2?XNG%<>@<^ai4%j)5$+i31xotR%ySX(;o3*i1Wo2vND@w zzR+eI4&m`V*UZfB;hbrj7t11T8q=078VDOPdU-Ux3z7|39X=6xP9MLNz-BcCatt=o zel#{a2F40b+q^ZLDUI~M?`Z5n`KQ$5SG<9GM})e^;aGXWrM)%PK5`|V?T!}T2==*StxntE$qVTnu&&aK z4GRvHq7EGPl{*s4^0;?e;}yqe-PX^76gmnl$s4=KE4@n%X~91An>BD2Q8@13;-6j=JYJR;zys+!}c>~2JhllIlpZ75@&l8*(FSojlUf1Pqp=#H( z{vGOT0vgM2ub)i5kW^6Y8#RL9`N+P{`)i*qu5f$V-E!OYdfzE?8G&mDEPP$nlb$?7 zY)JvWIWgre{`as%=t95TQ<JjWC4%vUae~`5ieH%kpYMD*Wunb;kP`CET#{T3oKR4R9`HovpGOlXB z9Sk-R;*=_Q-1GWbTVC9kH2}j9KAE=<9b}(A7JWr#s0dTocc+4morc+Wq$ci!W&Lnr zJo(O9Lc#?5Kn-70s1bIVCSxa(wdJlWnpdt2m~FHI-vUp<&gnUB<7v|3(I- z&0$9~ZSKg{*UEjp&;?RelX_m?5HD5LWrM59^kvr}m41u_5!e}iCZ5cj1e5T>(t*#` zvCxV^iLB~gfibIx47Tc=OQA*mA*3Ml^MbWiQnZwVdjgdX^zen@7l!;zOT;p@Sqm2| z_ua92q-59(o^wXI+u7Y;BE(oowLn54I~VSFXwMF;0x-6hB!@x;f%%F2d86M|53L9W zf@3hyIP+Q07a8(_i5p&jHf}C)q`v(8ye)6#P09_J@~|{dr#8j?KQyfTzOx3G*7?B>Yhx| zVbTgjz(V1xYNvkyiyJ2*ZCd?zXvn=0FJobKO2yT{c5-B^Vxuf7^J{57?=X*BpHipV z;jeCzmwuhGvM!rrn)h3}H2LSzozB4GB3u?aq7OKv2OS!=7V2lrEo&z^!DyDG6~W`b z=J{0gO3p{lBF01ex2m%&(WSviCw+T?BT9wq;Ou>0Uk&q`rjH+MQP?e6LhlD@mP}02 zRn`@_w9g(%?IOhn;?nuQYJX_RPa4o&7k|ti=W@&&u~Wk4`?b_1t2=-ul7SHAVRlzU zj)hMMTQnl7?%`M45Lb-vN<+(?y&Q!smMc_D{?#co9Lz7j2-MltOnlMMARp6T$l&!7 zqM}bFVZTIij?~pNtg}-ml7<5oT+x zD8rB@)V2i0ktcpm^K3XH_2Ai2o0xvGm=7szER{cHv0SrsRAJeL?8TAKwrUD*!N0@J zF2zD?xC5%l-xSQW9S zjVxul0{0?Fr;sN*Z%VUb3L(R449>BXv@|h#67_Ak8b_x!Q6RGt9;~Jc9S^Hd7We|G zk5OXSKwsaoe)3F8+uunZYJbJw-5;8oKmeHP%!9<@Lv$_(@%-A+Qvr=x4d}Jfcm7E8 z)x(ksv%Q2g<14s@z$-s{(o$)AcEO3_)Rl#-!hNL|Hb0e&i%x{dk>nYEQ__q5*waSp zk>GbWbT`YEs@Trd35#|yoeTlCGcq_M<#$w6W!^8lHGMr!LSyjtXW;c4JPv8Ms2s6X zuIIY$D-O7pFyv}IfR7m9rsSJ(ZeE@*eyx;%Eq)zL%5*|^&_%%*=i`r}qJ(8_kzdMd zn~;^2t?FEv-&+k$yzR~k)^tTOM&cJrVHadO{bv{jn8Dkc?eSMK=Q{yI6OlWVdWQXP z6`wyZXcu8GL&_U5G8)Di5$Xd;J3UF!-~-l2rOu7*atV?5wDJ6~MZ56f=YvNbjyIjS zHS#vTn~~;z)Dyi%X`HU3fk(&2Ju&4aZ?X}`>*eEf6ec_?6MNgE>S;M@4$^jd$nXh) zD#k%JtI1d9r8E7rwiqR0hJ%7#c%2#Vukg}o(WlOwz;5oaPF@j7QX)$e93K-?AN%_W z1^{$)%Z_BQFZgW+)7p2TurRx0~XHIs6I;?1>-5ezO;l(WKX8PCr%}=i%lk$o7l$Eu+zO_$UDoz?fz8 zsw=5zTvl9mDPF+cYPWshyLh~|^}8I>_Icb{L!jO4Vf%dlQOQhv`}XDKs9W4mYBqj1 z@1h`))_2$J_kl(V1uP(kC6jc^He-C(7f&#?J~`@=X%KpnJ=o8 zZNzP4%WWh(E2Cu3$jHvf-r3oEZ;5P*j4~oBWbYkP$zEBZC@LZU>(}$X|M#5EbIx;4 zao@k+cU;%?S+<2Ope2Ld66mow@oVK+s{_2742mWo0SY1Rruody&N@y-@BjMs?fr)# zXp?aX-zC1d4voUyteOSbnEk-D*aP|dJ+-KR2gWPsEVTr5It@nLbxsx``D{QgMmPK= z(w_}b$UYuC`9fXP>hX@sX!YHd%_M&5y$uuy$QBf6gm~p zo#^}Q3|w%6c46wJw-Af-2fpy#U46G1!H2lo1P$^#KuygPDK>Wl$e=R@Wm;J;DAa6v z&Q;dcQ3B9V+6$ATFE7pGUcG{9u@rV3tBlN|D5)nI;eSJyds&Kz<8-aphGseyE2s0# zR}BqF%FuTnHyHQ53}znG6x2yRoKl zb8NBaAI$3?)qEE%|2duOTo&k&m2Z9blwbmW(yhW9EFk6p(02Rd;#UZPgE`pkIl#J> zp%)AGRI7jWN=Z+Tn*S>-Qf;t%)(!*;1C)UX7Ret11g7#WAAB6_U3&=g>jfV&$EM)J zFXpF8ipHyM7%7H0D>G4B79%Mwsil$p{Sp4)U z4q-TzFC1z_R6jIfsUJr9T_p>@*sJ#C)e3cn_?+0A4MXQyk5`+5dT*40+@_0Hr7@ly znT&0zF-Tvml|%_F%Y~HB<#76Z%{e)!p&KUQvg35@RfW&WQ+c!{s_q(Nb}d* z8glxk6MGEs_)p-X!v7UaEV+7jVEE@)8b%Pt67m}xF{PE-rf2q*eRPS{SK!cX!8KdU>oU7flS@2F(~ zM!5j?JL-*rby*71nM`_z#`bern~hN5$#wK|U_6L3Hmzb|Z8{F6r=I z=NV3JqVbfI=)yr0dHV#I?(~SY8s9ij)6Ro5DPz%|6bH#uQN3}axYrB@n*hiBP*o0s z5IZEs1su!Xt$^QBXJ`1_!+D5ugvVNT7!0Kx(y|JeHg*h{g7q@Yf8~IKu_ht?MZ!1k zJ~)2)zNDWUMY1d*9 z2H^tE+WW-d_4&JvCjOlca}hIoHzj=S2^sW08xAkL*4e9NA^nk*WnnG*N7(f4ANG#4 zlli+24oHenK*@b3Gt>4EW@u)ge8wMIJ=Rd}YVVqPN6~q@d7j9I=dC?hav}z$+#6t9 zoP>YH_iBxq83KyTocvk{B!|oPB4}|hOk02~6~Odf7|+zgBEK>9dLadSOK=4YqvR6d z(oO*1F*FDuHs77ggo_b8pOO%RF&Y^d=t9As@!>7dD41 z3hqcKsV;-J%iOLS=~cx6kjOclX~KyFzJ$m$MESD3#;q_ZzdbDAkg>19IGLT3lYlA3 zQszZV3lkvz8On2*UlX-x)p1%mG~S6>@r2fmuWyUqT>+d;`Mr47;UAH0WPHxlofF8& z-6VI~m+NAMEk;mc@16VXXPuElBF5KAW)FV zSI9pUFRNSOaS&b={^u=&RABc5PX&tMhK6!#47`10Y2A*D9A2}6p%B93cL-evaIGKu zdJm9{fmnX>D)*Fw=+l}SPa(M{BfT9FdlA1;PU1ItqgMr4iWp@6siKb7=SEWIBx@uql8E|FX{i zp41t*c&5Ug%K&uRmn)B;_J@!UcPIt`mSaYo6cOYI4kVFgL*I8A9Gz#_7HA5C{tp!}(M4dU`|YY+)6j)@_vo8|l!kGbzO)BToEI>>q797>ooK(Elk zS^S%)$z*OcfjYnK3Kmi46t{>g2Yb}+DI8MgTvd-P|g<7Sr zEQ$3`PaHY91S%s{vHjXIm+Q{SJYYLW2-Xq|x&bp{466O{6j)xJFhSo(P*~4c7-SZF zYSq#*A#}bB=Uq=u^S0VCBoUqmu`QbToR`Sjz8@V#du)vecLA|yl9_KqLNfu3?*Z2q$Mc6HLqlDlU)%?ZBa(7~A|eV0 zXEZz-I9=Ko*`)>;$6&q# zabf5G<9$px2ut;T*$6GN5f?1acDL4VdI;tAkjZ{8I1PBK@gMj)Atm#E(mu5 zyloIrR+WPitU19v@G+F7!^Y*{l7N^Q3)u6+v>cHF!MO+(9Kp;ZXi);VxPajD+4HD7 zF9TXRB;6FmeFwhd^a^EGFjyY|2oXE%HOe344Ip1a)&hM2N=Op>mVtpX{h1K3jGz}_ zY>@-~Zq~cg8$Dh*AEI7%4Ed^Gpwa2naY=;V<-eF7F9`vX=5pm~?N>m0~^wABoz4Lnj2g zL}s)?6bQx%ID{pP8(*3d7oR)|OMf5BY>M^uXXl<*oI=Rqpr#}o>K$-OL5XL%mpx=7 z43v#DVl)LXt-uWl2!R(v?ufTQ4j^n+QzsZTlv#_kdl zbWm78#QgwxO%TDd1$Qm_hbW2qPSppDH^{Df{2D|sz(e4g{DD8%-yzpk zcwa`;Myj7(PrBd_hw@ZZ>-1Tyh`&sclJVm1SlQ&Z_HAF><9caDAMRJj1lVL&gi^TI z)MU~xQ2o!{@T*Sab5bMrSXh5iTbdNuxGnf^FatH9Nu{Dh9Hwi~JO6G!JC=cEqWvAW zfD*la9bYOXte^plgT@Et%_ujh4t78s^TJufO5n4$ruGxwfwr#hdsd1ec8Y>^8YknAg?t-0$riC{+qkPF*f z2pHZo@&Vu)4^s9-ol-qL!~uE zy?0Ms2mXDcr%E}>QwgVrXUW}$(n|We*xmtV4N~d1<|CYyRB8_!rrb~EgsaDT{_x9d zw}X8{$Iw6cfOO(gpNtlY3`lI<17Wld`&#)D$c2r>NzEHf-!7jlYHXxK64sC{2B*@{ zn9+A8G)p6va2oG5`)gwU5wWrjesO-98P>PKK20?b?D;a3-UIz}#(Jv&)K4&n3xnh@ z1i0k1b^pmxa*G=bWa1DOJhV^SKYt>R3sIVZaO~x(^wafugvx`2;sHV>`ry?=i;SsG zW?-TsQ)Z2VtFMOHdW;f;b2G5~_m;4MqNXMZs~VXBcHRXWAMG~*gVhSlyL1cXkz;2* z6z+6MQTGjH$3+*k=8a?jvERFFM0vOAL=s+Iy~4xrZD|vP4Eaao8KUN8hmxVk6mg7u ze2O^S*RuKkkOIfE=OC0=PJqf`ACk5Ahj?q200ZoUPftJU^d1@k#At87j}fszboh7y zb6;@N_II-)y;6d%bwoi4OT_2T5lb-lL^c|G?+nZ(OR>Q~0<#tEX%KqM%hBAJ?uj zZ)HGef4e-BX1!p^EC|fyxZXZrK{b^F;Cv%6ESN{IFN7T5jZ8l}VMb0dpp$`R4JFK} zZA70%!(FsK_9zt`DOSLueLHglAZNrjA5BdShjP6_R1iR%W|XYF233N&dFXT^Q}9$B z7#b=*=mjR^t|xl(PLUoDRCAg+H!f>S<9y6avDnX2>!rYq1QLJARZq)o$oyze{6*N~ zYzIGTsNCx5FAl$JQJq6wKhs<>dbwinuVi7$InL33+wI2fz4C|gRrFqEsfO^8q3B-zP%=z9ofJ5@@?k{8v9ndPVbgf%EN7fusH(*yB}1z zLm$H;%>?#uC0h?dA?6hV(x zkXiskqk%YNH~Qmc(dqwk0dk`eVm(k!&4vaJeGy7FI3FUnAmkvSgmbD4$*-XzWP#c& zeX^&3)d9beTL!G%_rTB=ti4vjWPVG>_geaSq{)zgoaQwP_-=Dc-uGbe1|~XEbm=Na z#em4$U3h%5i6$xmF&eshh`@%%rPw}f^Gc&>9pQB8F?vZ5=hV!4d6gRb+6yKc9HQS$ ztf&ZF@0PuQ>k#@?J|$o3s#IS`R{BcZz2Q5XYi8M#GX8e;F~0R?3(rr)zppCgP7v{I zTlJ3I&{}vHAo8c^bSF~Ca+C2>@K^r#yx%7Oya$#j;@pQ^+rTiA2e=GSYfF23LU6Ek zZ!$&W?eDd|+dhP4r_J*aCQE*>dqIBzG8W5XL<0r7shojybj$|9)>ko z)0y_jak;f=^2h>eca8>wHC}T^24(?PFy|`p1XmJwX!$Oj$1oGT&dXy2&!9+{w;{3! zV6sA^qXdqNkO7U5hrlyN2H!}XgA#x+SaK-~Zu z-fp1&zy*KyazkopF_fCF;BLHhTN(;Rpq+3w?t`- zc{@^J?=fg!^ryqte_jPS;p3NI2^jP*rXExQVy{7REH3}&Vy??*>RVEBgU88 z9AurnvJDj37xo20ntlr~I3%F4z^u0mSPIBl1~XMF@PLPCZ6wLuMwniajRLB6DA~aP zAPihI=9+!U;b|A?Q}293^E`?nDyr!=;IrT0CaO}>L}m0pIWgG4DS@X4)&Bmv3jRfFPK;o@24Dm7q>Gty1uVip$Br#ke26n20t82*b zn$}i`*kAw=68wAcXo7!?{D^o(U>>#_TtodnRqlaFH?W6cNE3PMS&&2@B9w7<4$Lmj z?q5CKIs!I0hMKr@&6DL>4LDVysi-FJT2Jmbg@s{3&z$!@*G4$g08|pC$NHwG`JG=4 zL8kMsNmw)wZ7?z-y8Fp28RxZ? zRo^Akol)DcXwf`9GwMRBsS(}0Muk$tJmNt9-o;RLOx|MN|^;0 zP)zsz6{VprZiE+=m0eR&(FNRIjS>7Beoe6p;caG8XOxAQUHh`T7*;=+Cj=J)Z8j zY&>%z^=2e`5zT*%j-X?3hA`yki$=3~|FV8Cwp@i#FF}7eR(rE$Z%@ztH)4-uLN9<} z9h|DRgmL&J24QrBNKCfKEzo5Eb8&8oj|4mp6b)$nYrR4@jKpS%75X6bfHH`Q-F>^$ z(X=%bPn;)3zI;k>A+sQwoFI^s^}QF)oXa1D4ywbP5Ib0jf`MTj(dqAL<5|@OKd}=T zCX%fVopwKU8MJNT$6+FMXNc@9Tm^jt&aE^NiJeYzT<4l|C;9AZ_^Qs%yht#;a-HS$ z%nag5T!I5J(zM`(QiTO2^m$BQB=E7p3OPQ5>cR!YL@9Dchv(tH{m)X7>V*dttIxWi zr3IQvRY@~$FDE7ZyN;iBJKCRIlfC_f?*_wj*-E$2&)+il=9jibNkiUtQ!FvyUV9P9 z!mr);#z@HK+^@8&n1hau+a2?+Xj7YzxPyZD*|nTTT@NyRedDLjmjx|uE_KddrEYth z2Bsn;zO!=3jV=C`G-7zUv)`XiLfo%}P#OuTfQr=3-G`@0I}T8?8|FaLfY~7z$?yN1 zFs?^Hf+#iheK!Y~UB&7-Wy`n&*$77M_)}zUniM;BpU%mD{Q-U7==}o;ec#p{JFmD z6X)m)x3Taf@K|tC=rX08KP9Yzxj@HsAIsO*kst!Ve-T|^Y*#8mBcUD)!u$A$H*bHn z0N3^jm_DQ(Gy;1OdUMR^^Lt0%ZQ(Hdsp_QnpRAV}?ib`56Er6R$_#zb&3qsv(r5h9lYr5en8se5BHdMQE*Q<1Yf3_Oi#S0- znH2EKNeo2X0R+mYnPB<13SiG!YO6ST>NeM8+qcQ`UrN=kYSq=RYBFCLW$sGsXQJz5 zDPuKa(3F=rqLxpE@nXmcRG0GT=`!hsS-=kK%H{i6;rFli*x=(3vF0)NC%O!0x=i1$ z8l9P1Xde6icUgi;-usK{hUypB>+Pm(9a${T-e`SzR?+;$nEEd8p&uXhK(up;@#eUV zdl6rGbOJf0<0UziexOspkm7BfrDsavl{ypa$>Iwg0|RmEul)*D0I(O)wS}z>1p0eq za`&-}B{|f(0HzWY6DxCQ0HO7#-I+QDU>z(&^QQZfdtX$y*NhGS*C;h^9n;m6uW505 z-HwOFY`*EmH{IMWld(vX8h@15`mbD6n^*@>Cp$mC1R)`Y&(WE|hts|I&GQ?Ed1M03tn!c_v6c}4&I zpnjmW0fVpDVG`Iub;5TWC?_1Kp$$n8W0J@?7Smq7%C`2H4jqA6H<>yyKDTEybbgoY zg49!WeecQ-31FM3lqZV`gI8;JH7Ek38pcNtj^-NJb?|-tq%Pdt)zH)w#+?uTd1YX% zs%S#Kq!f=;Z};OSH~ zmuF4zxW=rR2FMP%Geoi78se7=>x)IpbBJvyxZ_7!mLJy#>W^Eqy~}X1Cpw|uK7SWx z%J&8}ZN>6*ATA8~(%Awz4gWqKMp;EA$5jVh^ae)WXFhbYvWnoAy>Xp!=^o8HRp{z4 z@5o|5L_T0zJ7|Q;aC3L}!}Ha}cwEc#Vmq6gj{`9OKGN3arbS;UU>V(3FC3i8o162t zzUXJnqw=P2vPY|`aSm_e<4UAeXp_ddHj756 zng}x=aUF8e5=ntPrmU3e{QJ7E>K$$BFhi2#T!A!lD5o z*>m;l_kmypq$r-5{Hym8h$$)Yi0<3oUbW4kKf}g?EDJ$~xu@!8g2uqASrRwo^0jLpHaDNHzfMwS z|AFyvaUs2a{kq=$`^ba7?u0WAK6lHWj)}u`EG+#%zdV2UWZ`PXnOup~|304n9uqhf zCt8#%bF(DKz^$)#b~nKXxYh4Uf1;3=PfdT}LSIKmSn*9LcdHC4%Y2ZDP*annQeMl5 zQ??&TGMq86l9nZKiKSjGNtjPOudk{}a&)!G` zq~2p*hMkV1#S{Pc)bzu8ZB#-yuTg#c{k!qsvj?Dp`fguepEq}iDjL?5KM_Hs1~&Nr zrT{j6b2lk9RYZ4hy@}US=&Hm2e3~bnc#lksspE>DR+!Uz{jd~#44$pVla)0!T3IWx z$o@T&g>5uGHC67Q3ty=TC&17!%POA;>$6Qp#Kuk0t8p2zR`6V{uiHncriK@08J|me zab2 zi^jaO*wA>Y?|G0BuOB|U9yxXUxx?iAe6_j{PijAI`yI)Jx`u`Um_qd@cdn-GAY0OXi?!feKwiRokC39S*PouqNeh*;!#L(fD?1g z`)W=+l8~g3Q;Ukg8+eCFVABl)9HY2aJ5LZr5V`r~%dMA#V^1TxS4z`h+sRd3_u0TS-`Ft6X`TV1n!l>%z?#SD>!X(V=HW}SkFDC~u z?{E^ZCx{ZTSq+F)RqV|kr)fzlr-w|}ZLRK&(B)&B$1v9M4I>|xZ?p0_KiR{F50@m? z#Gkge-|;f}_v%Psq?O&&1~MH>u{_%L(EGLrKYy}aNadZeZBDRUO8W01Ip|zMt(g?*uouRjN9|=SGUdWlhG&+wGn4iTzlor`Z#5L zctkIpJdEb{Br`}T!H-v%{NVl4VF0+X4Y?%V+K1x}Jr5h$ZszxC$oiFP%6-3l|KSzU zHB9&V6CJsdbI373jVoWpR>etMmp|0GJU>4_l6%{!cG?B35)EI{Gcd?=P!^>iwaXt? zHA>(XRXSL|FoKcVW3@0i;L67Ln|LfmnjQ4emG=LC1x3a;U}j7CfQO~*O@Z-gF32Hr z_Vc5IUgO_3+vJrsnif3?k!dl%`^*F0fe5}^89OcK!i^^pMoQl!-+m>E@LTNbu!x#1 z9Hzz(u<2UyFQms6788q^o;Lmh6%uwa3w#yHc)%1oc72?k?46tvavG$DjY-+vigf-h zoP}iUei5_Uw}Iy!Mm0-0&wpE5!f;-?^z7fe4gtiv3=5J6qCQmY+F5yfXGn%O?fMJ4 z6EK`toRJm6T$K~T^zd}w9m5_o&gqg(J!ph3PlNHgs|j+=e-~JG&z5`v3)hJfQ^#iw z|30lRRUxw;%|wK@y0V*3^y)@Rq40|#Jk<*>%BjVpzkf^M$&Jq$z>b8IS~pDff#Sb& z>wuMxRM?F(NSej3@Qyd5)2+Q+QUQso3k(!JJn1anK3eFWJ67v=-Ax{@%KkY%rbz6C zYqeok2OhtJh>(!nD_Laah5*uSckVtgCDym%D8a@hD9Ci8&+?$dakPx$-@^#t<0Nd+ zl+mT$WR-<+P(97Sr%%}e4gAPj#l|WV#KLNrt>(seRch<*@5{kGzp^z&%|Gz6l z*e{Yu(>W6_fnts%u=q7Sx?mFIXI z#$f7gj&|i|C><+_+1+BMit-D9&wnEeC)}<+$2iFyE-g59|1As$xOz3Tw0LJE3N&qO zY#f{}p-~p@?%ET5u7g-^g74sm<(xn@7J-p=__}0K&sEdfX`!99qX$0;mRL|wenk-# ztodNHQX01`6hjvEj$X+L%1=g|wp|0I{ZjDYPQ#Oft6U?nu=pm(N}ew}%~~;w#&lca zMauoRvQn`ud&6KC0yE)X8O%ma%snH)=jzU+#U7!`3)NT6Jl(b=mExas0kOT6jRHe; zNrQuGqgx)3!ukDsM(^959X{CpPhqLx#reRT)6U-hVRU#mcKTq+vx12Uoprpemv-S# zTIte!Oi&E(uX0O1@aU=Nw)5$9($>_fQ3)nXSp^X4S+)x&8YO5g`LE!~!y0`1_9LHc z*RtS~+r01vr0=q$W{j!uWRy{`Vg3PpY+5J8ivg6gY zL>X*BHni(=^NK7K^Y7nhcrvyS(xj&=~gkvOJV+BZ6E zJ+foJ)t`pG`MvUbKK#$SvYgl0lOl($_$=97Vua7!W`+MT zPZZv66|8{2Oqsr6e8bs=g&*7Kh3J+%o3gi?F3>~UVYG%5wH9G3$^gI9L3D`E$Ki_P zW=S^ke*coD&_|JlHT6}5Z}{8T@iYel=u7#p%hJ%MEHiAIO=rZWlKjoBV7zvkq=xPq#Uww zFXzPT@d)k~==1zr%RR1kfvlSpQExq%l9bnsMsjlK-(a)GiCQYL*BHxf0zu}-xj3$b z5u$BVV)Ge!u5ax&st>SqC^2zD93^x%#yFq7NC?OBELW=W;KvF|O~wy)VA*xCqm(aEB-~_YRc0MV z4m`3%LID#o(~o>MO$lj_jFb87g-l=b86}Z_FOb2VPug*bvv#<%OO$&z5;(#wG5*Bh*}`cWq%3{W7s->$b1n^C>rLY^YhVIioH zQJl~v`+#Hg0*Rf-HD>AmJ}`ZzbH=EhwfSJ3#e7{p6-E#Lbbin*$x=)zqVPrJCjIrW zg?$AHMhP-C^Uabm)_#NJl^ssK&#sF43(*6fG@WqtDwrG4s|jKL>~uZej8RH)8P+n5 zv)~bpdY%@%Nq;S_ZNHoDT!FUKv$LghuPOXfu5gVSr+%M1_jIHc>w*flM$5ws!f#7g zu6T;YW#0*l>b4xH``Hi%Cn$_aXp9=De43d#)5SbGDzI_F63{qtM69G*zAFxA-zGku z1t#I8IxqZ5QMoE4Jsz)stJUSmBda@c-hr!)X|3%X?4PX?596OOLMcvvz)qjV!AucP zI4P*G{4|cf$KthIKOZ$EqUJ{^CRt zj^$);R~cY;c`((ZSs!b)0A-`nG_2P35+6wrx z!8fA81rmwZugmnCw30uWJ`*z4KJtJ^XL^`;O%DAfj>s~f-mUlV^LdF+XU?cw4r((w zars@m1?78oQwpDq{uqAJ^SGW+&tNGwWAF@1s0%vGDdX#|vPRJ;Y;77oq|rIR>2VNs z`pK>DW#%kg)mQ05KUq}&X|a{D=Fv&%x~}3YRZpB)f{^IfMT?f|y#g-Jn&|y=J_x!? zwI<`qovdkGRHw_^?p@GLwbYtok3+2vzjFmNsqpJrUs~IuMd0Y&Pp0>9>+*Xm1v+Co zJGvce1@Yr9Jf*-zl{OOmt{#{I3?@Zjt@H@qubHHac$)O#zc z16vsGyw+-iN@!Hm?~a7f!lDjKsW;!$=^kzOzMj!yoh(#wD}8=!2c^2&U|N!i9nJ*N z&Q=ihs7xRE)>s@9p#{1uirYPd{ z{O+s5il;|MA0DuY(G~P;Ut;NTOATeI%a=-Tu)8?X^!>yAp-EX<3+=yqu?aqZa$fSF?yww;`tTX2pB@c<^u1+5 zwDkR|OB{-lbx#-Dzl|uwaYlTa_7sQy=D>%thsQ>EJav)j2zx>L$G}QxJpR%bYynzX znvN!{fiNjT3x@l#*hh3>N-cR?9^}?o1y1Bfz zDr21Sdq9x3NGz0h$n&;##(WrQ9=TXL2|*+Un9zZ5ADg1FtSO3}uApn_y~jZ^OYgI^ zRuavPK$}fR_k8Rr*G59g=eGhBUZsS>%XFqy7Qzg7csrolCBJto#gjiL6Er2I6UXYi z7sg7s#Dry!<1XDFjWvLSA;fm1R%OEOISo5tz&yHb6j<=-o$u<8jq!0bbf8b_)Fpv>(zSgk&{*Ignt)6~BOXDwj#$;?sB(e3 zOm+3{{6^18kcU&@#^QNTyLx)~LzB2RF9YQ!-UXujM;=Y432cg~@yhc{>WkP6>QS}j zKP=(pwBetc>L`MGfdhkor(PSevq-XShEksbNg2rB>*# zWrsJj#b3dWW9+wObF55QepqcN!B<${lfyod_n6~E*<&4jh>k~BPR9>3N)zTy7rdTf zRC^h(9&^r?gR&Dia!A_7GBODVKL(hc)Nd|=fHf9jgMs4(5)c4Y`qIAN!n{i*l6BL# zQ#Y(PE3?;u+j#nOmi9e?`}57uzHL94rOr-%B={_ztcxRdQ~Efck$n5T#k14J#08Z% z^R9la=1@w*e}Oam1jx0Zd3gH#xiVVP+(je^887PRqW2KbH`*9I-V-3 zb-+QlBz||%@Kl7}PUiL00(|bNuI+=%bvL94pDqKcr$Iec?6Y!3_bNc$J>-|>BRn;DYY(m!P{tGF)?QgWzC+G#t#InkrQfIlWP zGc!Ux-vf&2GMIY2Iax?aA@lb3UIIN*^zd3&tn>k^De%Y}AyP@lz~D8<;t^PQ^w?&Z z#Q?^3G4SuOhsk*q9!{$B){vT>}LKs@fIEYKo z*VbR=bMD>ee$Td_nn)eK*F`{*L0_n0VK{fuaI69^E#~Pk9C-XT2YZsB<0!b}H~+oL&n_)2p;CXT zMq-rT-NFpjd9HJ}YNmg1iJ@g=e_^Dk(*wxR-ou(8{Lr&sp{d}TY3m%wsswTB)1jZ! zRA5@y;I30)%_(f0nZ;jkj6rt*!o44_6@>F^&WjuX8~JE{!%8er^NfT)(~o+(@0Rgy z1Yi9DKGW7QGueSmk=32v)ry!vccs;h<$Hg!+Q#^EKHc^racx{`cF!fw{)y`qTf6a| zJ?^6X!D|7h|2rOJ<&&)LOr=X)-{+Z?AQU`13p;fi!_U5aw31CO@s~{SRJCASQtSkW z?57m2TtfNOc-F+_u&A z;(M2GG}JJ~ilv5M28>M{rDR<0kao zu8Q}F3+fZ8`9I|Mh1$oH5=H!)x4EfpuRu+85hWjL6^|zKmPu~_-IV=L_2Ll!HO?5impM5?Mo&Ltn5KJ+f$8C5&*Y_fm^ zKAf|Yv9lx~kn(MAz<3BmA~E1W4y<=}u#M9!r-BrFaDM8vKttC}M@QEI16B`^KHxVL zT|$m0$XwZfRTF$pEbpecP8uJWTq)e|lnXknyc6AP)d})x^7KJGtMe%IM@Lx+CUf_& z_s2Rv-_y7}Y4E{@S%7)7wl*`mfWC06Cw$?K$S!FE?(5k_Zq7z|I;pT-P0V|I)%IJj zuaEx_6*Dl6JsHV;xp_&4l2s5dZq&|147-@qKiPnjlhYlz#fa8G=Ts!5odr^su03yB zX8_2iZCl`{+?Z0PE#Q4dd@+C<0j9(N!tLHie-Fy>Ume-&X2fiqjVq8_0^!D}J*4%9 z&KqGN%-KH6SvcHkr_*D7s~&K+SlHO$ffqTVYX)ns;gQ-u=1@}X?Yf0B0%Cz!jea0A zK8F)^9+xs%`N|@66UJ|E)^1Tm2@F$elC{P_`MRblF0ohi>XDKUCG{UKBdJd>*2TP2 zzxGdeOdKf{Gbx*#ebf0mi&a0N?DqT%f^q&EbZo_8`k*%=jEWXo+qjMUNt%%EyTM

d$3yewzNVSfIHs}e(I6-h5mM(V{R`F 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

~K$QI8ep>$?X(Nw%=u-$7Qy`nr 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 literal 0 HcmV?d00001 diff --git a/pages/arduino_hid.md b/pages/arduino_hid.md new file mode 100644 index 00000000..a79fd04e --- /dev/null +++ b/pages/arduino_hid.md @@ -0,0 +1,47 @@ +# Hardware arduino HID instead the OTG +Using Arduino HID on non-v0 platforms is useful if you need a simple and primitive keyboard emulation device. For example, when used with a hardware KVM switch. You can use the firmware to emulate a USB keyboard and mouse, or for the PS/2 keyboard only. + +## USB keyboard & mouse +* Build and connect HID according to the [diagram](../README.md#setting-up-the-v0) (the bottom part with transistor, level-shifter and Arduino). +* Switch to RW-mode using command `rw`. +* Add these lines to `/etc/kvmd/override.yaml` (remove `{}` in the file before): + ```yaml + kvmd: + hid: + type: serial + reset_pin: 4 + device: /dev/kvmd-hid + ``` +* Create file `/etc/udev/rules.d/99-kvmd-extra.rules`: + ```udev + KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid" + ``` +* Run `systemctl disable getty@ttyAMA0.service`. +* Remove `console=ttyAMA0,115200` and `kgdboc=ttyAMA0,115200` from `/boot/cmdline.txt`. +* [Flash the Arduino HID](flashing_hid.md). +* Run `reboot`. + +## PS/2 keyboard +Using the PS/2 firmware currently has the following limitations: +* The possibility of using USB HID is excluded. +* Mouse is not supported due to features of the PS / 2 Protocol. + +Both of these problems will be solved one way or another in the future and the two different firmware versions will be combined into one universal one. + +To select the PS/2 firmware, you need to follow the instructions for USB, but with one exception. At the device firmware stage instead of commands: +``` +# make +# make install +``` +Use commands: +``` +# make ps2 +# make install +``` + +Next, you need to connect the Arduino pins to the female PS/2 port of your motherboard. Choose a purple port. If you only have one port, it is probably universal and can be used either for the keyboard or for the mouse. Most likely, it is painted in two colors: green and purple. You can use it either. + +Follow this diagram: +| Female PS/2 port (front view) | Pinout | +|-------------------------------|--------| +| drawing | Arduino pin 3 <-> PS/2 CLOCK
Arduino pin 2 <-> PS/2 DATA | diff --git a/pages/flashing_hid.md b/pages/flashing_hid.md index 54a34376..79f274a2 100644 --- a/pages/flashing_hid.md +++ b/pages/flashing_hid.md @@ -4,7 +4,7 @@ This operation can be done using your RPi. Here the common steps: 1. Disconnect the RESET wire from the Arduino board. 2. Connect the Arduino and RPi with a suitable USB cable. 3. Log in to the Raspberry Pi using SSH (`ssh root@` with password `root` by default) or using keyboard and monitor. The Raspberry Pi obtains the network address over DHCP. -4. Upload the firmware: +4. Upload the firmware (USB keyboard & mouse is used by default, on this step [you can choose PS/2 keyboard](arduino_hid.md#ps2_keyboard)): ```shell [root@pikvm ~]# rw [root@pikvm ~]# systemctl stop kvmd