From 2f2afecb6d8f1e969b74656c3863534da4537e53 Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Wed, 5 Feb 2020 02:41:47 -0600 Subject: [PATCH] - Added more verbosity to kintox11 and added more functions to increase accuracy of the keyswap on all windows --- kintox11/binary/kintox11 | Bin 236232 -> 236320 bytes kintox11/src/kintox11.c | 31 ++++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/kintox11/binary/kintox11 b/kintox11/binary/kintox11 index 32748f9f480615796eb668957d13f99ec2c6ca79..9864e1e93b783848983cc338de81fb9672424e46 100755 GIT binary patch delta 52194 zcmb@v30zfG_cwm_VUQUVltG4zfPfKUXen#x}6G5 zD|?zWG|jZIOs%ZQ)NIDGx~7&kJvQF|cb~KOxmW7>{hs&#zUTAtuC>2w?X}lld+p(z zdoG?iE->m@1y}9dbyacB*D>**Yr~3?|0GwRWAq77s;B|f3rpN)XC9ZUeR@0 z(zC8QewMzcj*k9YUExn|D_tv>X1Yuc+MYTvWljGR^{YO!G+9Re^7C)=vX{|=E(xKT z(2`wRo4K1PB*2SfL+H;g{YV*2b`2)yw9iNBE!SXL<{m;m;2f!^E8V)&M%NG$Pp6=q zqoF;t&$~3_J&k{#^E9cID@}C`q8X^4tRYRFAtXT47@~cqYOSo%WL0h25(1Vj)hc1Rs{+gbmNpsh064 zZPm0UbA*<-hJ?P3;I~%7l}2q86h&l@@(E4$3J(1qX%YabhswvuaV?-zyn=guDWtNl zlzRf_Hk(`6RA$ebT0EzMKIhdTqByT&`uru9`O~K>#Y45v(Ph);X3bhqHhanv+T_(a zY)-}C*|Vn4Egv&$Zt1*5THWO2ZVTph>q&q0ilh7v&O(#oz%peR>_&GJ+f7bQZJ%R_lt zRT5F=mz;K5ywJW<(o4gYBO?E0AWZ^qY=L_o*7eV{z*`HvsRbS;@JlW5&cJ#5N^=Xr zAW^~A0v{vrn=SC^0>9k?Unp?pSKVRRvEDC;@~;ZL$KN-!M3e(s=&hw2{DUix2&t)s z^Z{W#p#}bkz>`|w&j~!E1^(Ir-5YZYe9ln~uT*kd2r6`eQrrSxCh(FLc$L6sw!qg2 zysQOYEAX`%juDb^n|WOKbZd(Wl>*<_0$(riBQ5Z)0zcCN-z)G-&UiT5d{zi-&H~^^ z>AkIkLr)2*$8WlO(%tiPH>Ax%n$SXegTB`~xbk-)HMfv@ysXQ9 zxC8C#gd*-h6GDA_yE~zXJJ4dF$xbNZ4s>?Ml zD8^k<6#pp9Gf|FcQEuC!?AxO3Mz_X~Q`4WPzsHAF4nRBR+O%RTT&qogVy&XsuKi`V zALU2Smz4xX$+3QKww}ngp0uSvHOKmmZM;Umw|zN**GXHAIuM(!r)_yiD`)^*sDY=< z*6Je{?RHyl2!Kup%H`JAAV}hZf+(%Zzqx%&5|pf;XIo#lR`=(^!2oo1TW?MFHL6{L z#9G~i&+KWhqudD2e4^O}Y%^z9HPZJIzDvrPc8F`5tzVd}kD0&?uXR1d=d#%fuTGd( zey!Z(+Lv#d6MryUFVgQ5lR~~Q$7!hbu@YW4@l{Q3ZK4sKyL!XG&$@vx=)6wtTt%&} zQLx7wS*tbozgn(pX*sDf1JICU`^f5F{8zsW7jvwC@i@QOO$*wrYVP!DgvAzb(pcMQ zEXL-VTFuGYv=LCiC=If@zG!n38eO?YZCWow^pfq{D7|tU+~cCM=5B3TXth$pYY(@& z{%SiTRBmEYLq&77HciouXc~_Tjdyen?m5S^SDhv!`~2l!J;=_xa%D*JFXmOp8zEIr zSD&XDU4rr&RwHXyzr#nM<~UD^9P8J%GguMK*3Y!=owoJm#%t5=f@Y4@&O4j{1kPn6 zw-sjV!(Q!HUbI%9;iN`O3;Ii! z7;=$@b&Vos+P76m&7PQJUdw@w%YK}M2 z-CYC2|8fIXqa|YUx!N-OwE%PNAY$(Gga7I;X;arIHDVRL)wONkS8wa{IZ2?w+@x4U zCMtYCt<0S_cRFHoD#KN=9sZdc_}pgqrTJLB59CEx9+BGgpQ{vQcui`v*?Nc%@Q;uC zv&L{`HAXR%kMyeJTY)04ym_fcM6I?CVCKs_?m5=uXHdxI4*r^ySu@vYZX@igZWI3p zp3>U+7Q?--N(?u~+UplNxZM8Lby)TNqtK+hn)>T~|93(%ic$9cAp@@TX5BeWM)>1b~U!hO{pt?2f2g%Br)?&Aty z{mJ9BdH=;qZvLv4o5_tZ^$kqfilKri&O{r-Yx+0aX8x$fxC~`6cXRxodrTx^F;EO3 zPpnb3U3TTTJjV5Mtk*`>#_r0gd8P!VYi;0-9%1vU*IaY@d|5uK#(UMT_VUV`HHVs@ zQT@w`88ycjgG+9_7T_P1fe__lwx2E^ZMHUzJ*&=P%_u_Z?c{HfxD%d zt9TxR!Cf%dq~C+p&(;x1sn01b?CsEB|0qNO!4?)yzlvP3S8A55uypNE%^|)YV%_AK zmu>yjT-)~k6)k6t%@^xZruAfX)IBe=eGGO}hww(^e9W@s%VwD;YDZz8mZ9H9-w(rK|K*s9eB2#xnPwwyN4~7h^R$wiS9yJTZ%%4Mq70`IGMXCP&>=PWs#~Z)>h``|AvN zM8MPDEN0qka>muBe~60c-MKgDgr4oy3uow(o)Mjn15_$H7n)b4Kaa|Y`&Z>Yn82q{ zuswMlN7GU?ddh9{8?>?KM)kMr)Y7XP8BSOA8bC(SS9@hgN8dmf(WaYr(1%~ei%|8Y zYcio$(k{K@J+^&^9n#HynvU-&Uv-w>8-M z5<=S0Z~HwX{xz-lU26e1>MHM+Ma_&?c2_!dOiB z=dhOA&V5anrH7I!bW3^~=}gb2cg7bEx6|Xv9BLXcHRjE)(2Z_#&FB5dv=o}HKNsZG z+?C5u-P^vRj}3@X&tIW$4hUCYxI%3M;?>$KwDrKwUL{v}KPpYOF?8s_MADU(4eS)W z@Ln|Cb&R+tJL<~wr8aFmJuq-Q@uI#N{k+eAZMU!L=jvbm*4MNkV`A%}W!!1IEvSgo z?`_NIiHro&oqn4!oZO^onS;rrbV+6uSxvWPhLgML3z>QTQS%g~+()}DgY`DF-JtUm zA8p31&}%p`u04iEU&c{YGq?0I-y}|JN6GK85}s1JVMer>ixXp3tPfurv-_MZ4~H37 zVA`F=ms+;^Z))^^q0tH@+vzVGh7FD-q&1zLW%7Muwq|+NYpU(5&*-+S9FMzR;=OcB zr#G^~$pY#%q$3HZ$wMZo$3LeVhQtPa^C=eD)7rtIb}2DWv)g|DoW3z6Ts{0L{boq2 zU;BG_{qznXw(8Gl;?OC+PixaUy$QtDj8BUDG{x7nfY3t#hK)H!soDobS|+K4^#?8AXUE z%^EeD%xc&)DvGGv&eKDqPxXp^-)=88pLUJIx!sN+V}(yY{u~GnZEiLfNX^wZ%Dpi~ zZ0-00XvN)Y*PYMN=W{#wpE>6w{rCd?GIxgB@ID=pS4w>8{=7l0{`DR@dFVa*Yu+|f z7>%GCG09-+w{d_b z(%i9wefQ|dzc}Jcca0tFSD+)~ICA_=dTVR~nMuROJx_}1+vECSY4IE%MgC0_$7lG5 zVfs0ylyAf0@gEV)wt|Uu>Km`quO`MvXPn}Z_Vu(Nj~>D43V9S=prQTBtNq;(JN~*eM3uRL_1fR!2 zk3TuVg51qK?e~{W7(v@BuhM~2(?|lXnA*?#Iu0pFn2A@vY@{zu?XPZrmHs+4DmeB8 z;B=%}rT>~;eAqF30k&?m`?Pl9W4H_h>!Hp6u>rc&Binl2)}>*}v}l#@Q`2LHwR@TG z1pcds;6`xdv>W^;sW$xsbSuaDt<4kd!mHTqRe!o_D;mVv{zET7rtY^HzCTCe{2BCWamp!dk5@C=@M*aGSB zdk%Tdp^B1)o0$sgF?&^;TN@Q+hBY<7|AjOg*o?L1v}#32!=c$7iF)gB!>4l|B5Ly? zI(Oc;>fRUVxUvoEd(YDwWjoc^8X9WuT|m?o>o+b~s9rok7cc0q?%PjaSWwvJ-WqPy zNA-WfcP7}iIVxSbBABL@4VH6qGuyA3d3pqkt-`9a2UNRQL+WNj7WEag_8b(jwXI1}rl0JK1D7|N? zi6l3yUz$eLntctgEqjvq2dv}+(h5$Yr@pQYOIJ)I>LZo3x$<7pxgo!5fs49kSHtO5 z(S(%JtE)5Gud3JX%lJ-Jl^(YgqkR@oZ=dn0KCG(yz=BFFt6FVQqu!jiI*P62J$)<0FP_A&;uFY z^>ri_OrEyI<35i+w>fF^-3d4Fv@^%r%ug3H>TDlxr|++|cob@l+g8x-));ahEwCO? zZ*QaS>k_e0C9Ug6GU@DfA?m*E^nrELf~RdWqOi*Dz9<+^18UtKnX|E`KJ@YeEP}Uj zgtYLL-uih>*LQ)~9@yG&q-G*f@0s5aT>FKJHSo8Gx{`@Bp{@hzOGni8HZ9p?OuwCfUZ(J$1$E?v3=%x-fOlTpGGzVSw*Oy)&4T<0oFVZ)m9BaGK!s zau@AL{2LymKdKo^A2h7SnU8RzCj5JafAICz!xr`sS8$Ex)86wGpKr~G3$|gt?tZ$S zp4gIsL!`?3sh>Yc2eNs1@8LNXseZq{;a%oWNH_ZV)^TdXdfIPWI2l5VxAjq9T1V-& z0p4#};T&HqUbWIswhgh2ui?X2G3=MD*hEu#1|G@Prt>FV_Bi+F(GXv5w?{^-z*ea}$H3j>7idqv zT{;8K_WoM>@%DkO2VtA#>&*QK0LJXKiL~>M4%k#i?J%J)^LFGDZ~E$vDl(1^-WeO5 zHVua3zYvFgPKsO{mWiFwcFM~Hg*0m|w-bS%JLlUbB)y_i{;ZT&gZl4<>; z&|KR!3vfYB;-BVK*F9{Nl?|WQuk_!zKM@Ziv@2^$`4rQP`Sa$ODi%ziKY7}`xie5~O8K;z zrYUomnC_XrWWk~-Wv2Pl@2!|MfBGD}hq1s*88UzVy!ocPrk9t`ntPXN#=L2?@BZkB zY^?>3v~0Xvw{CRY{+WRVRM&D zZv{;SJqelxdI_`?^e50wp#1Htlb~Hde*!gwrmjQ-pyi-tpjTGG0Z()Qi7^56JZPCG zhO%^x-TpLyy`YVtLC7x~s0Gx+3v$qK(AA(xpnE~HKu>}egT`Vq@CU6|K=*@|V&XJ| zmV^ETx*F62du$NqL;`3kXn#&I33pY3$pUi_bQ9T=#3WFR6tpg3(j4=nz0&U{*EieFj9<;X~)UV;v=p}jIiRaS zOF_?rF6L#N?vH@(1w9LT60{jK7Iz^Ycz~029?1(@8G8Xe15*lm9yADdCaJ+t0G$B3 z7jzTo>JKnGK+l8z1bPM3Cj@$zFzrCkgU$pk{}4R}4f+^81x*DFz?a&kpj|-AaffCB z{pnK-ai}s%Dg6u%05}NR1bQCy3h0&35uz|Cg64t-HKT{1n?Roi-3!_X8haT-)*d)$ z4juVg3{EEZz836ub3E+P+Sg(xZk-Gl#L~+N!l;zvUmfs97mnx`*IAE$w)u8D78dQ| z*e?9L0<5owU=ss9h<^bK5Nmq*Vjwl0OeI;g@MJuhO_!f+Ppas)lkMGpg8VdXeJU_* zm|w2C(aX=27m!--S>iP zUPQlmy`x(b*i!0yDn9fNa5J$~V;RscjFb|9Sd`L{r-I$OfSXBop9+lQxEZBo(Cy4M zwZ@CQ{5*zub6F{5bDQ+oXuAmmfCW;! za`2gj{iKPmJUt?G6S&;vc02MwyL#huAFv7ZtJA$g`M$Fs(tcbv!7m^d_GQW7MYk~a%ELuYph1=K( zEaZN>eHh0y8|t`BZiNevK$rvJH(Y4;GpTtVEus&;eckW zQgevQTw$|}X1*2N)dVhUwcXx(>VCFk=ucdXlR}KBk^t&~1e;BVoQ-!&<*7#R zJ=?2m8MsY2A!s=YkUO&)SR*i=1^i0IzpcQ|(hFx(LYu(-1ZjjO({tqtFoj0H-QLX= zLyDKW-yYc24DJt{HDuOs%M*Zk;GE$+iezx7CzXkRQu*FVT3G{9PJ4m~}Guh3836McIyfe&g7r0dV={t7~I5ozRliX@J)}2c@ zmS9}9i(^T^&I9WvFdm&OU^naN{qOd0TL#ulUwk*F>t1kG8|?N-p~x#A0k$3(Mn}84 z;FF(u)>6-=&Tjm)bAiw$w|sHs6VjVz`F99+WIz4%dQ+0iy`x&o0~?s z?E}}Je$|xX)(ozkM!Xk1kspG#HaJ@4o&;ct-UO^Gw>CZr+*F+DT3k+Ki&W0MYvpiRK0lV@7{p?&vx3geFsOS6L-FS9xqUrAkXYy0k zk;8U7&NSM^dz6Halfckf1Iq%|2&|jHxaneGpU}-F)EpTAF=fyxVMWm*|rhV%#@@YkrxYyU@e!ELacfc`@GYHn?Ln?PB+c zE?D(1z2X={?g$^JEa2FTF1B|o1s6bfU+m?!3tTDv^x`nj>)?(w+U=WZ@;f1P$OrLh zsaQM$UUfu{kFgn8I52Ht9L~4x(WiK7@jjJ8mPB`d5aYHUTnK#w+(B?<^wtOQZq48h z(uhkjVIDZOeR9%n#}P-nEcgruW;;p8UCK``2fGWWR318hak>`RPGH;xer4g`PGI|h zRcQOl%}ZTEuK;NV!j~9+W#Hd!VAw@J9O%{`XTcD<f*KZ!HRqjU01_% ztOGhH-Zxj|>*exwa{2nWd|kZuC~G}SZC5GZ2FEE#yX0HoE}|^o{&p2*`PMf!d+m~M zdt(dMF8PwTT+fak*KxTV$=AF^tSgoCLV>Ti{E}~a%WdU`kYnM}F8QvvoP+WmZ@C!A zce^pAwM)L!Ez?52%Z-_W3wOQZC2j@tK)d9-+sJF}lJ9II54B6atBnNFF8Pi&l0&QI@Y{%N&%iVr#n=e}E$2!IpckeD_-B`76SpTr=g{*K&KjB;;}zkndkd2?uTo zxk;4e8`yjax=ODjUawY^FX*q= zqFSHXrNeSd-cJ*+N8#yk_Vww>-n!{eT~DUnF8bm1sMdVC@=GSqZR&Yr zG+9f>-iRW<&?PtSB8?4~Z+uUfX@W}-UO7$e;33+VuYt?gzQ2FvxMIhZw4UBl+tG}h z$6D_fXK(L#y^%)hdy6}jj?X4KNBeyER(Cak(RXfjQ|q?VzixHIgY2$9bXQFeH%$8B zwuhQDg%!#=!e%w4tC$iAq)=UePm8(??JaduReIE7N?f2D|LWiS7lA*Ni`V=f7ar_D0o6TSLJsL| zD@ym=9$+DL}Sx%4D4V*zBuV9fv{9Jw{79Kg|nUegY zkpCAgexkRS(ZDvll7VVT1H0%-hN@K!EYgi6!UMA#DfinYI@*JG^dNiFjl_@(>^nCS zIjq%x-_}XJEoltP>J%*bODKjvGWws_k zT)5u@v}zbTOc09Z4 zNy63s<5?>&64_<(c)gWQXysh6W<*`cW8&#@=726jLXc!7e$#lC=S4yT7T*aUWcPWI zuwF0UfhM1KGRs#EVN#wQxXDy3GVimuP&pyan88|0MWXV;Hj464i0;#JX#c@{y-COR z$rBtdzpIOR-YW5>6WAzk5}I(Qhsn#G^qqWJe1JXVO(v@)MeL?G$y7^=Sc(rxC;QmF zJ|se=MXb(;M5!4??0^qRR+S=l#fNlL{fbzSFX^b7idcVN676j&(!Fs7Fw>WGRl5|i z*8NCifD&^Ljxr?JwQXzcJxPV^bzgFinp((u_>mMfzfemRR_RCFylXLN+ErV~9`Yjt z)E$NFT|W{*n%E6L(jojKA?K-(_?0MV$rJw?>+DY=!oL+DU#pZD3vZa{4VPJ1sXw|` zZedUOqv2W$Z#dNL_5ekBoBifb`janMuK*IOs)cM~0EwRJ6pVZHD{WWgft6t+7rH8NmG8kkHoK??}Y>k^!tw8xkH`F7$bx zJ0-#P18i;^5~gNY*t#|(11r^AZLq~<6tL((402%s%MK(RhW9Mc8{^@PFBF9tFvVXg z#AHzy@quwtN=y?G;air{zatK@s+3>|zkP+k1Sz?gts4&qlN*BNFZwKoC|`y%MIDr%Q>jrzkyw zu`;a8XD_!U(GfL5Tg#&@qM+x|;C%K+TM`;pAW%M%`?1&Qu~HIuQ() z=UGiVlBC|q)3VrKiMfDNGFj^4HW?1?XII*hS>#PNDwy=e5@`)4v(#UQu+hOJg!zP! zFH|Lu-3%cEGo#R7esLcX)13BnMcrRqFZ7E0Q6+9N>Ypt1j;ZWnW* z8zvw5P}Ll(%VqmRu`iY6vfH5~LoFN4`i7AKJJ51BHGJ=>lXc$bXQt&oyY%qN`0 zrBn!DKD<4f$h)NH%{Kzqo7>2nE7P0X&q~7)?1Suya0L6*NUgB|rBfa5fyi`Kn-En4 z7#50U42-AoGqS32N0ymKKT52aIHkBC&-v zvL_?a$VqlR5{+EU(RK4S~h}x8ck9|v~Ldp>s=VZEAuXlV2K?_ zT;>`9@I*>(5QYDuA8vX-aF}_h0~xKB3}?+9$n&b{Alnp!!_8;xNDPT;pCAnKTo!q( zXlJ0(;p~SP($Ra;O0yhH>16p%dn zzjyz0q8}8E+0v6g&n0iL_hU&%tcAbDVwpb3I>nJx@;aLwhj@kzXO(eSN;(LKw56o0 zDCkRx>u`1)ry!pU;gKf zWE|s@;a|izV;Ec2k#q_l>vY^noGA*t)e-ZDu{S!ByEcX#4O}7I&&bw2zYNa@jm~BfopH9R$Y%XJlTE=HGVx;i z@e_+HY4vYtH?eOzV=~nZW4*hOht-mU?1L^?x9Wy6(v_t2FB6rL-x{i$Hs-0#=<}U7 zf~v=}TAr63WMy4R5E8q(D>c<9mBYo9%{a9r;65IMwQC(3c^TSbnKX$Mi>8B3q z$8dMvPVJP=Ji8N9R=56+u{a5y#|)D&ezOz)oq=mfQExbwM=%&!>1aOWLxV&s6sPbFc5)v|%?Kr$x(O6SSHj!*ueR#RW05xDR`yhq9;C=UCy=ijyV74_C+7Aw9mr`-~j~&81 z(nz<&e%iNUIJe-m#6z(hpUAln93H41Rmh3Q*krr{Og>=C(@0q8`$DWFUKI@_qJF&p z5Vk*!gp+63+i6%~=Vq}RY1p4LhOq8ENru-E(Uy9IEkT()!H)JMF+t}AtnGYLO`-63 zD7)1Yfr}IKg2WAF*}dR>%1~zQMWP0b6#~9s#@{0fqfjV07 zWh&oSn%LL9NW6D@xu~}v#zK0Nm>GQqV9Y|d=k?%e5pmk}RgXq(7M93KuMGNKwBiTK z!?*x<4@B4#Wo0UVSg@b%?oB%2gmtnv$@K1E)>}|Im{~v{(#w)50KX z87q&H(^gbA8ho!ezVCiepwNZ1fFZyYd|z1p92WUXCE7*o@6 z8r)Q^wqJZ2bU|;%ynH4==HdV{Z1ULdqVgv3N8{dnH?NRMtkQ8K*^iT{4#K>KXWq6 z%pigB5kkOY9iQM-_+zAzukjg^+0qOguSZR0+cGfMzhH+m$VjhivXyJhFOzig4k^(Z z#TPs!Y;Yz?j_oc0JBFR7-g3ybr=pocKr&0%)=Z>YKnZ&#leC+@ObGZvxNJ19mB&xP z$)5?_2usN!*uvFv2D*58=?_GkpVt-e*?l-xb6O(Gw1o8?L=wGr2>>ZQXAtQa{k$kI z!=NR8DGK_^bJR~!lqu}sAlwdxOga43AkteUjfW$LkOEJ2>`}I06zLg~dlX8zOeqK@ z84$S9Q^DV($~ekSK&tjU%6=V%nUQ>yg^xzL^HF9Qt=*YCFd8?IyV!}*BrQEa*ob?( zS~nIRi*FV9W91)T(1DJ84ZdO&@BsKrmyY}aaKKTPl1sX%b=7Q2E`L5bjXj!6_5}7W z)hi~=t0>14L>Kk0`K&mP#F2AsMIH$qdUcvEPen_|e6-d`53QB6$7Pdw{6;;+RanY^ z=0#o8b;G3zb+b%R5db+?cngH!HuGIUHzd;ZN3(k*3;lOcCZK&?#- z#-#$15_?n#x1g1jhwjzA<4sPKniyO(nL^gE&J(aKEVp1;h`*0*v*0$gHyd3Mt`NW#b-*0B&z*bZt!HEs*Lg*t2-M5E5@CvrL2oo=M1=~_YM*GCgks*zn!)_Ik!9L1Di6{$M#uy;{ z-BW%M#j}z<1Vk-d$A= zc#;zQi3kQ4?r$L+^s5l^CO($J&Q3{FsbwFIxhbJoa`?sV#03j)Fk}CXM#y2F3JcWW z`E1t&j9b_F?6V1Yj8?pyxlhFN@#)K1|A~lA*LzqAr$bk;)f35pj6Ik_{Az~Hi+G}o ze0SNfuTtsrz7Sl8Amu1uB60nS0)Nd>)7k~Ce=~Iw_Sti+(H_vy36gWi3ifRY9w~LIVqK?@Omc?Jn?eSu`S-I16xEPb>=#g<)vIO2)vMXysbt`! z9b)0)%h9F??qVTHQc{iyxDym&I)`%Qs%;FeDw#X`rIevyhAB9 z(^>OWoKpwP+A@uVq|KkDH=f01J?_>ExhV9F;RD`DCTQMf(bMr*B%qr0noc_Scd6FxZ{t={ ztJ%!yI5y^1vj?Y>9Cdy*`(!$a2wpFgc)Lp0kF8;ix#v!00W)x~x_l}dIfIN+lcuqU zXOP6ybTQy6M)E`aLmuz}?=wQ+kHJVEizx7+F;ASvew#tM;LsX>7a0(FcB<~u0mznj z&=V<{C%i|7l5&}?x{Jib-xNA8LnlRbYVnj_flrP;A=B8~cadNStS_;|8H-B^IX@~u05&VF#>G0LN$#wT& z`L_~7E5i9aBEItoULmbv*Y70*1K+68YyW`_EP|gKa*weA^N9&#GpXs6&jCDvn&E@yCw-acQB@xDDbzU!bgaL(Y38d*`x|=s~PLqeHD0;o4byktstEOr>@hRFccGx zG0%l$j+$g;ix*;C)2-~Cg?P>~jO8sSK`dYqo~Mqqvi6JcZN*qCOJ77nhfK5TMqGpN z8x0v`!{u@jyy z@Ug(_1g>>M;CeSifp;U8{{bO>@oqHfHE@c3NeBDt<5-AaP6##Lpv|elJp$(q^0x>@ z++z2$_m+_0%ELl@FT}BDoSMp#30o$bLMWWX)1>%}*szrtn-FVV_(2r3F1S05#G|s} zZC;T*vWU1x@kd#)enN>m%J0nN0EbxF`uoT*+=rjP4_}+?W`Rp_aCw|rmXdz>=Amw> z_65y)sJlS0&T9P!`cY1Yx(O{AsbwvOGu zoa7Af5rCFG9a|>tZ4n0uR5g1R?<-kQR!uz*0*K~OD3etwJ zBJ(TBXRfNkSpI5~hBa{QYEnRsvrksz0r+v&x|$?)J-tOA?nq=8CZ`g0K>%;G!qTA4 zgh+89FkNSJt4TDbe_b^mX!>qpm#c9CEZfZN)%f~m`DQlb0W5`}3^Z`f<`$MWZ)P7p z0E=~-SkfA@FzUi4sbJA=7lW&?SCet78=n`so7n4XNWMCC6AN7nYcmaH-A~iXO>F#H zd;y%hk=3mwR<#pl?X9Fe2D6uy^pA<&s2lI*rFUZi?jKVG_APc9Q|3mt#fnv+jItwE zvXi{X3fGb3v6rb{FVPb(@?w3~L!d<65cmb)0#iC~5#T1Q8jFPTa)>QBog{b(k9liR z$(z{c>u|r+#O&*kW8bih8WI`TBv#`{eph!>6ci=6JKqLf)HdO6{8`be8q_$=YqSrC zUR|B;A@rW++k%Z~dddd&dkuL=jo-l5ug6j}bOU>GJuQ)1AN2|1d0kfoZJv&=Vp2n88636``Oq!Qlw^VW(VppDkC?uuj?>uV_GDEY4&E8umNZ4 z0CxD{4Wz+EE!ocUHn{f-Bv7J4&8O!%B_Tgr7zq))Io4ADx zQ}5r#9^Zl-zQjJ>f~oo`3uf4+c5Y+%@~{K>fla}8i2lECa~KRs+s08N|=zIZGqxmpm@mQgVXNOAsGz|H)t?bZN+{@p)mEG8ir(9)>g>54R zDrIcmHj+&)vlq7^IE=B6wvnFXG1huJxf`8i%eRyGo^ecXZ6A!M!&(^5ugPeIWGFF1 zh3pVyg}O}jFex}-9R6rKSxxXh-Qkj*WSJWn_StR{N?u~OcjK#|msr%Jq*KW2B5o_3 z?0UK+9A{G=CG9Xeiyy^9*CwIl+QeRclq7fmOq6T%N?c#}kUN!x9ryTv?p0bC;dJo^Bt182Hu(~~XLuB<1_R1a-I%c@AQ6EtXv!Qc^-X5(D3r?I$lq#_2 zfW3_c27%yPt!c2pj{!Hy2F{=mwRi{XzL&J^yxdu1wJ2~6ILlv{3J?$p*um!QCGFY; z3*a(zc)Zao(|{d^ckCrc3G%7vaqEXkZ_Yohgrfl|;WSJVbi+%ef=^5Q;m#(}Gy})~y9&h8b-E;1kk5!~A_(qobFMR); zQO_3q3!NNW&))nO*`jW$XH%cTGeA>4t9=Tyv3ET?`xK7F0rl($UIw20G;T4KN7&e> zQLp_YZ2!|_tXlC1^L~c(ZMW_b-khQwK(p=jv5K1h2pj(lnTm7Y%g^9xRo%nv_A{iP z-?@i%Rlbl%G_%ZSF^SQuY0r}MsB|H_2-#vd-JT~T?D5QtoB1$% z;o0Y*t|~(hZ@WkqA(e+6ZgYto=kag)5If2K!#{jTzQmU(BiIKYlgs#m{_xRH$k(pe zx^`bC@41rZ!wbGfhN%H#4?k)nAzbj%b^VFlPv7aZ>n*a7;1Ss2$9^CO!|_b)@OXbU zLWSm%*6LM)li=afK(&adRqGBP3sS?l-H|{R1$5fceLVyR)~9RH<$F`{U6a=%BVkle>ZhjhapMgmSL`-L@AW)qXKeO z@IG9(0~dgyVA+JrCyfm9g32b4Rbdv|KNs2xZ$F_ zG=;s_$|ZKAi>u*Fo?$O~RF*MtrCq%Z$bQ7E)iWNe6%Ct0`` z@Q7-HdxPc+Uu45X$(0d!$nZEB#f(z}yb@&+{`{O`6b($>3dcYzum@pp|pLt_#v*{?>2|IMF#Cym{eYB+0rMRjHV zuc$tie>YbwmF3&jL@AQ2beB6{TrW!(j9wN=R=y6cE6UQ=NirNof(=pR`_Q_kEWOJ< zx2T=|!Mm}4_io}pc{kSZ?rp=niISE6@HWTR%aX&piT~)`*m{R|y9(8gl^&uyp@O<8 zG++Ytki|Fwdnl8s2laqNBAxywkx0s&retxPfIYdXLe18=N!a-Kb^jzbvPg}M_+AYA zpGF$yO15$$yBzNlN}I2_MoP6-A}p$sR4;kx<<3?^Hl{c8u;k)(OczYd{5(-7g@XqlNXdbkU(G*-LjQ%2H&pY@|T2?UW7% zRw&uDVs`IXwYTBhM#H{Eva)IJh{bT^utQO@vT0pWmaaM!C41A!V@o|RXf}LbH2;YKq7eKFl`U%abfr_+EnF z)P(#)1oQtXg8Bat!Tf)UV1E7IBbfhB5zPOm2M&7ieP^I-y@j+PZ7+o z|Az?XJ4X<^%|@4ie~3=8jLvgLT#F>@oN~oRz&>y&N>+x5k7ltEFzFLEF2P1S<$kfl zJ$;I3mDzi9)wU7x2Q_kDI!)0B$MDG?%|@519s}Bple4Q(vcUr4)(Y!oX@EmfvV+I5 z|lLiA~|ww?H>}Gp>&@^Ck=w>`(_J+2Lcfsy;-$QlyVrn=$Oysn~jNi*hTYQm$m7 zlHuzTJ^1E8y~-bgV&+NKFGCk$I!m^V0ToIXzbcw?T{ZQERmWDYLC7UB4T~U_qpTKq(s&UvE zWwXbPW-XG9HLMj$HpzerB`e$3(?OO78;V7em2K;aS_uy!6}ZxDQNtq*Pu?*+$&)O1 zce)y1DV;rMsN_qwqtW05$x2^%gZcHcG{m7OS!d7k>t*SFhoU}c3TsZm*_9Av0se_= zukhs$LHR*e@{;0+D%nxv^?It3Trc@e0)v`lKXg))d?(GJUT9sJBzq&B<>n+mOE}Iw zkvt-Jf~rwT(v29Sa|P1WAP3}BOS^H572fnS9L;@Eu<`s~OQ6t*S%tN|5C zwn0F8hh*u8LTy3W=;CIW%Qos-B>Rj36-ZVZ&@)7qU=DMjz1KQXVS6FleGg{R98rGE zFf>6{X?8%8y@FcU`P!=ZU8CMbSzlFpvXwZ^M5={CQfgGsmF%2Ce(&7gt5%5cvq!Ao zca*V+I?B3}+C6zhlc*zIK?X}!_o~AXi|*2DK@oMyerrHQlD#1yJ?gR)i=S!EL0BFa z(l3mP6QoKTqhAvw+fIaq;8&Nr53;@^EOkOsZ&=Kg?Bf>Jl;RQ*`?e4@3F@hoi7#2| zC3KnP&Q-&`q~;eEo+La#?#U9nAZoiP%S`pMaM@_JP_kdJQ**JWtD-xyFNmvT^={$5 z+;w)NIC8w>IC@C-V*@IZ?B@nlDA{HK>EV{8D-K1;UK?n1De3>T2|jH*B$)>2V~`;z z@<6f`22>!~r318D-DRylhKfb9iw&qqvPnN;LxCm&#wf7Q#W?RACh6?a$YHrWWWFJ(FyVfb{sv(lkS{K(a61p(sm1 zMt&4XHqF8VV~UVJf8B4`n$k*WceXJ9`D#Q&h7gT3R0`e^?1u$x_YpM$M^0%+I)aBr z(vEBrkYqze>m?#X?s8;`Wbva~%|WShkD+3bEL61T6G=ie$WSSi>?F-fha{;o)KIZV zcDw-*YULzedBi!*DH5YIAd=1QG)`P`#$Hn2i<8$49V^BsDU zU1&fPWYrB0NV1#rwf!T6DDs!hvYwa1f5gm87u66iDVwFW9s1AOi0hr&3-h&AG~$14 zJ|dziPoF>61x0uz8wU>;VucMB&YN@}aQAm!C=)(N4YP%k zeKSvAo21IChKfb9Zx~RqWKl~?Us>xVLnTkLP~ppr(YCBglzho@E7~I__oU__qT_;M z0l6;N+XhrDS^R`sTTo@K?+g`-WTh$$NfxyrHvTC&^YsAU)M(X|ADIDA~0JR3zEWchr@oghvd`Ldia9Kt+=Mmo~(S z(tM<$VUetKhP!5|m!(AxMajyRbwycv)S)O@w24?phv(|U`h%c2@JsfOT=7k#M*-YN%U8g zpG9-BE%?__=u4}BBkYe6qZ8S@-FvD@5HS|pWzg2FG!juVg`Az3POC`xwg9g4E_fkRQU-;C0yVT=&T zmhc!(nlCqMKn0Th_eecT@rj=k~JAy?gYt33rL?7 zvIJYX-(km;wrUJpd6Mm@Z^TlA8XEbMg%K<^kwHg<=ruvHDLut*?NP%5TS`;~>(hs7 zpqE3y=KiLJZgg=^YRu6i{GOnQuw+$7geB`DBCP%?)%6Ht$2lpGKXbIZPwY4s9SG0F zp=F|czpSeiN_LHa^gNWMXB~=?ZOG9_L)v=4P_al>*49HWOHViyB@0_vkNC4v`Bx*B z0Ks$eEi3Vjz;7e;z#t%!^}oYQSqe8S7fQCf?qv%*mVdHish4(Q3_BLd!VdS4-!b*L zDg5y>)W%3wT5wSo%{0uRF2=Y$OKMhK&G@6KqPp|}tFB~abvMOo_V zP!wzzWw?PAN>=`b4ZX4~6^#)0We%se86H|B`@8`aNmjba%~|SYDZpsANV3vRT~U@g zI}`=mMUfrRHDzhAp=psUoYr4F@-ZSUJ;in+*$al#6D9kp0p&?ndd?foGx`x`G&)hT z(sNx=lm;436J?_GxW7?3PqH%HdSzKcKlqb>{>p&N80kC?k&=DiaC(AdrSn87maKC> z@{N9k7_Ll^taCr|>;Iu26J$Sn8I|)TD?R7^$gh_r^n*Y8Nx}0};j1F5^2gqi_cY8E zN*_>h<#pB9u?{6X-Jin)>vKnC=5iQseX;TARVZkIIjfe_&ty<}y$5MLRw z?+mS6$%Y%QPLi(5pum=++nD9-Bvr%0<*azmuvH}4PZ?Q<(*XpRsn=EOA+JP?<(v|&2yB5j5 zDcU8-YN?l{FAc@Xl9i6@ilWp`akw{GxTm}sug%3&e19ptddKiC zPqMO}i?ZQZrBh9Om6%XzR6J)?%$Mv*!?g*Lm0ok#@{K-x>QI!db06~SWl6e%XT-WA z_&x-EK(@D^D!)qHD;!D4RJ4mPN0OI+eu#g~CtZ=YIVO484zKIfW4_?wfk05DOqh0} z4gOML0ril@Fadig6ZuPpkVxc3A@SsrB26TrxBo7Z(0eUJm9QwW=^}Pc79}Km>m-uU z2~kTpE@Sc0-;GJ=V%8lW5(dM zd_G}@28d-X#aP}7B|FK03M4yQK>B=?r3bUM0}{TFl-BwgRV|X0CXiB+mG$-cBTMCu zx{^f${JjXn*^Y)vo@8ekP?2P%L2f>;UY20X_$DPtRFV$yG?cv5$9gYWR6Vg*4bxr+ zNtSiT3md$yhU&BBl%QBBCHvM;{p2nG%JhZ4x++v88;~xcNsIZ&m{<-x4Yx3F^(?bKT@xsf70k zum4Jb?S=o&b|kjlkX0IONbIyBbF?q9i<&G=QACUPYAwn@%o3sY!Yi86^D2Rb4q&S` zs~y8-G`=tfFJH2e+7~|jhLqVht3j15qr@|)Wsnd|8JpKczp;5qR>sLisU-EX@Ts9U zv1O=WO-5*Q|4KRhljR>clM&L)$$|_G>Pl9o3(oT`Lj&hzlw@R}C0Ut1(88(kdc2Dt zKhZHChIjA(r)Z=bU9$X_UAM@tcMzkEo8bSkn{6GPvdA7RNartGMDP(Sk^_@xxKbq9 zVgt&Rt?GHi=T=d7ks#72AV)a(Qq(?ZlrXSPP&|!#ls}CMX^a2#q=igXdhv&#fnE*) zdt|E`5m+x2pA(dSA&u8K1HBvqO|cXI19l^8M>iPg2Iqw2N_VYWCsgKU)N-**r6y{{Pj2-K@(<6 z^8*YOi)5uuv?y6=P+#g~$>OLhS=kKgN)|2hd+VXH#a>3OJjqIf+G zHzas&^ZylgEx=V3X}a$@2qBD^@VdEy;Ejk#R`PHMl!$901WbG-BsVIA>=39KWdgJYQ0iKXLmopEZxa@;yv@V&|i))vdoXwClJ{e96y_`TCw8fj3dirzo!o4Ws-pWHk4T+XH1OjMnJ9w zPm{+YXOvYrF_Xsczd`Repz5rLzdp|a8ufpG9)Xp zOs$SkX@Gr0MwyA4>lNI^#}3-jgvFMsA}c1ca-lepHCx%=J)mMjwqcG_$@Pcq)&Po; zeLaBc$-V{19R^Be!OOmSvX50<$|PcsLH$C?jO>2|P>k%``t~lbFv$I;Aoq1-#{~Im zB+F8`<41`Fk@_RcEIUI=%(VtRMvz*@50g49>5@9v_&mLRFNz=g-$Q!~3*hdjXMIS*#GiRzZS zy|C%WT+@tlvl!CX_}u|lHC@aU6HC`IHKt&6rjHVx$A}*zvgyW>XQj!I#{RnphPPl4 zS0|tJ#&;&a%BWz#5vVQ`kiI9>^#hZnA%Fl=|C{cUe%^ zb9Wad@shFU$heR?AC<|&A*FxE_RvP8>2&rp-h{Ds7f-3s)yU~k_09D8@&%#MvI;My z(~^8%W|};HpS(@;6wA_5p=UkiMKjZ6@fbhJG-G1dBU3KZlv+$Saz}WIM=GfgKjr0T z24aOtd;A#&x%*_Tw89hVd8sE;vaGR?F^+I zGG84^rY%=lvhxDJMP!+6PcsjP(duE46AENfJ( z$Zk$qk=+tN4P^h>Kw0u9S7gfzD;YDRfSKHjShgURX@6(Ra?VI&PqUE0o5{EKA%Q;y z3B||`OARcO%>d-u7p2iDL$chrSh_l7OXs;frOBo;7s#7j_>Ymdy5=WNWG4ntEm>|y z?D9ZqR$v$-Tdq(3+}vx1E?@$q1EV^!`2o~GmLboQZhdT0HO1+HWgXe_t853O;rohE z!y=p;_|=nTNSDG@6bl2(8nTiC`}?$F;&KX-6)U_|ACgBiMv(SPR?PTRQ;npS2T8`r z-W5Q#WH$nGRZdCvoHqw>E@LeW9P7w#2%vhh^fs~Tx+qC3dFY-X@6%*2Xxj)>W8hmu zmRXddlNCqXQ>Pbkd88mKCg$l&8h?6fw!fbSSQFV85vjVu<>hr?AaQpvk{KiWsFdH# z&>d`2mu6xg61w62Tq+9L9@*L2JoIrJYvOVekQEb~P#iD!mIp8SVq|4^>%U@Bmu6z~ zGB`?2nu)E;U+GPm8?YhD<*>y zVie|4s*WtPo2++@>U~f#A^U+{ZW7HKY*LqIvi*R}^BWYTCe6a+Rt5}oag&#!-)!_2 z=x>|6$#y91>qf6!w=DAB(2q0%+PcV_X?3R-dF6Af9M$V4LU4t|qeaBG%249TM-QdAft$mN*Q=QR9*s(*covcI>d*bAVYaLZa55oEZI?AidT zCChqn2bB`5LV7f0Sr5*TQjD2VwP0gGtvE|o3=1V8$$kW9XGke1pQ=qOp6!t2ApdKd z?7DdI`Z;T;i{Kqit3lh#Fui= zE|<<~4#F44&47MNE{fX+JU#NDH?*i6MpdBye>L0r1`{$nVcZ=zJ(Rq>Zpb{Jr7Foj z8^b}pfF5S<(!05g36|Z$l=zYEIV{cz* zy?t=CcZB($cw6LKRv&)i?eqJ8X_r~#>b;)|c&xYZGwPlwuUsx+eax+4GGa|-zW>$6f<>>pm{=poRY%bi?& zxjZJ1TQJa^FFHv1+9d{ezJ6H@xfS$Q(6yisTxP=O^5w@~zIe zmF4}R`F=PDBH!)@GbnUTgFjk&2&EiK891I5pW_1m0hB`ut1zVSVuj5;hdurtaB7Ik zs#C)kF4{jL+SWNnt+%fCGDdN{G8mq)kqe$j_muRPkU6#LBgmgs+LUrIYilwnr*2KF zGU@_O93#C0W*b2_1=N^Vaqinez`p@K49ZETeURS;?FWsbS6qCx&D_B0yjkd|%1qkO zJU=`W;%lJ41$`a#4bZPZPl0}Sjfq~$+4rO`U}pJCpuYlrAM{hu$Ih!)8QmTrO8| zZ3E2JV-H#NOn#iR6iW=b`fv{9d7xa4*aunmTsiKAa|fLtt-56C0ALK&Vm_Nlh1+7 z<>1#s=7Q@s$SZ8P2-i@50GJD?KXGadtzH*~e|N2I&F1`u*2mK*v z?M+tQ4w3X8$p7Nhs}?wK(lwAf7Z~q?Zy?TD=*+GH(A zJ;T36+v6@@>?3{%c~Ha%XTH3QE)4HR@@mQ5je4h4`8C;*WTuOl{@+&_>XhET&<}?; z>sJ^0WBp9|nuah&es`g7b|%knko%=NKi$pozKl^OO(J3Wjz(L9Ulh6M;P+XLk&p+B zRgXT}AW4jq9i@c{%NJIyoFh@P7m1wgJbHZeS-#3ueZA$2{BuL%(cI{V6H(mcapYCG zB;!fyTygXil8poB)QMc+8-a5+@Fd{7fG2VL|2yE%0YBkz{XdO<=p2)bnBSvth(7OR*6s7a z)d2i=!29){xHO>TzdEaaX!>uD;2~wsn@1MQX_jnuN?erH*H&##qoWc% zmmj%03n8+FF-=B3L^Z0#FHDrYQC?d#v7G)R7^%my2);5BH6INlLnW&(dfvCVa}rZUZcBaFGg<`j(A1LuDHX9K?%cssh9`M@6suF&gy2KZ|>naDAy%g}L}1oi(~wKpN<76|DoaO^SeD4Ll2X`Psmi(0-=_o&vr}@N9{n zh4>=cUx%|FrF!N$U^Emz(ap=`aP}fzvdiIYriZOsp0bTq=xa+7zG%&nI@x^mq{W#g)-HtPH~soZVwTZM-W zR+g5gWb#|~fD3dH;{8PIv!t?;0}jT1#3{y|i)Th3arEq0BhD8NFHqHs9l{Fv77pC` zwx#+ESUhe zZNTFLn$nXl7p4beQtPR7_7A}A9pES84v_Y4e_uH_Z-jGOWp4NKYjQ-5C4RL7n7blf za*Gswwj;9Rrbs1=V62**F)REw2GI`Rg5W>4Zj~D9;ueQbgZgRUC$O%3GVoV`M{$@Y z0{^|s%n3`Hhy1{mDEd!MJrY(qz{{!}z`JRY;Mr<|`Ualu{@tz8G2QDp9s4v$?jJgVHzD4HA(PF(z z)5rdz)y)#z z)X@pl(OXD+vOa0TT?%!_Zif$p_w~TDu66h=a9e7Uk$|el0c;6(+Hj#QmXtgWZ@x%m zWj_x*TI#&z+F^gcb>8ne^0g%q^Fbz)^CW7GU8V8*_Emnk`2wh`yIqV{N7M}9ahx&j z`A%^S@IKV?XxO&`=YFg=08iLtLYPqu+GjYt2+1#W z_64f_euq4acy}OB^-PEVI~+FI{6@Axt#Gko@t?5jl9!?G=x}bi@IDN@`%wq9BenOe zo7{3uWmFE&c7+>ws~Rh~sU*I?PaJ@Z>>)g_yu z?!cicvr46Q1JA-e;%?x-vToClK;2j4@EFve1MeAd=kerJu|2z1^I0NOjP^^M3r+zQ z2F@M2KS4zEVP0e3^N<6OA2l0z8BPn{`_>rT^da*aVUfJrdCJ|*{#Mf>aUU#-as6Kj zi^qU>R6F2S;61>r(G@EJo&+Anxi$j$5#VveIS=?}4o|2uJbLg3^Bo+@&^Me5hoN$o zno1}}ZLI+w2HuAv@|Ijk9OqjZlNYyS_ zb>RBRCchszr!e4zv7Zt&IgVf9Qj;^*{`yDTUh+isCpcE`aEe@<4B2CF{H~pBI0><; z(^>r95j7pS+U|foz^?=z-|c{W;MI(nxS0`gBj$110Gu21RKT-?IIcf!z`KBV0LS4~ z&jD8poFRKchaEmwalg%9Bhbf802jU-;QtN04ES2$!^SFgo_#=?B%G<7Zgi-3q57uj z=5=ycm<2T_t+5Mn4e&D5k+e7aTL`?T!^!2q*8yLJvvnBodu%c#4@1qJWLV%H;90mp z#^5I3vXb0I-iNv!$DtPLKU#I=Ex3pzk?4A;hmCV(PU7s?1Uv^g*Cw*}e4#$DUQ(L{ zHTUagCTn|-uJ_*^I&#I@*|)Z}u3U3N+sY-kt?PX;;eR|VYiaA6rj^YrT9-7fbMT}0 z`zwa;@Q3wgZ1>|K`L1T$4!>v=2Lnl``})XRva;}y?315;N^U#mN4iaaAwI)5;|jc4 z=Xd&-3_lI=v~CtLd$ZJy`H^<(r#tH}xF7e3xH1iVyFkZw%4jM*N)Z|29+~+9gFe{Tt^- z`mp|DmlUDrw1aze{zFoPl-O)U4#&Kx_ZTq=V;NQvF`L5)$uC`uEIn2GMcEuK=sWJ< mXm6YL4|<`vp1Rw=B=f?%e2d>Q&QxKUDZo%f8I_NRWB>_AbGUYKWx!lb!zzPH+7x%w8c@! zTj*(ZLij)G3V-5+A8|C@VXE(o7q54#Pj5=7b$NACUD9KJF09LaiSBcV2}px2*`=EF z?L;Bot{lstzc>sbuhMu&Kk^7AuKmbsbQ<_d`Zj+4&T)F)(Vw_!Co{K)~0TZ$SxG_Cboxv`@^p<4M_ ztyW*HRuD&Mg_9%uVX}h{ZE_AEXSsltG6zT6yQ42ztkof!c8OLqPy6}4hPZ0dRt=e@ z@s%3?rY7y7{T!g-S2X-%?dM7jsn__Q`A^#B;!iGXS!?krUoZH>Ft{5R8GiKBCiH{haQAv^)Jl^&!XTT30{yI-$?G zc2ncy=`q*tw1ZnuI?gS~an${H-brV>_3oOx=+66>nNU)SCM>w~-i)~m7tEWsZ0}mP zxhlQov8tRPiI1WIk=2U-+_@f#(m^?|IiV=)*KS0XJ1bv`vX3TrQm%`#uU2+ceiP+I zfpa@5ii1KNbem-XysRo7DD$gTq@{~qELU0w=-m0+1xmfZ+uGrCU)A+3?eO~qexn`! zfWU9I!)rCX7mWR`8x$TXPl^gI?eHer$=fgBh>-fXlb)mL-hSnq_UpD{+DV%Q9@h@H z2z*dG++Vbk)(-z#;F<04zjeG^$!RC>YSJAlZHIT;qvLbh;inGj_=0x$S%EKYhkqvU z3Jot;6dA=fA*g9r;TwV1x5KXsd{;aC`0Khu2ioBm1%BKf&xY8mUg(~ z8+rpb+u@${hfaP0fkNv4hpr{N*Mo+4_6tZ9(n0N{X*9R9U->v8Eovv7Ebuw)@Hqls z+74eN@S1k`!vf#b4zJhoa%ERL!4^^BKs)?dfgf*&?-%&_cKAC2x3t4s1%6Y*@3tkw z=R)8jc0U=#Zw2n(4*yNyG3{_iu@eqzhj*f!Cm~~!*xaNr^Qa1Y=_^l!$;6@UHk&l?4)hN2Pa@7>5Gu^bAfUF zt#jN9m44pEPcG~l>`hO1@uU7--9311d4*BZ)sJQZmHp+CI2sRhDNt9b2%1Kx0o?`E z-44y6Yk{5z>S>4K3<1=|&)q}rUR=0<{s43k(9U+c6*Sz>kIn(=Ylqg;T%enPcC|wr z=|ez|1NFB2L==YZS#oSU-BrHLkX+CE89H|8jfL%54Sf;u9z&V&~fdHse zO{uP6J`BlHE_q(7V&(SR`f*P#W|@zet1Gzd0|4Bd`LLx$lYNa^t&o_jtMD^x#*ys0 z-bZ-UfH!lbZsfYy?*cMsY~Wg%yy{b7oU3!(-~~0hy{C`kZ<*%5X-LnwZeM3cDL1&< zQ>9!d_Go71r5l;%8=1*1G`y!TUD30v8)}~AHDQZx>)BOS?h|@cw_c;Q^LFM#Uu&kg zf!Kd(AoIU9P>$9IK{ztrnpyp!SJj7TE8F~{1<*M2S6SvW+2+470+u0|Cd8oV34W>)1fGA{X+SM_i!@}*Ym%gFf4 znU!zwAyUSfzdKgl#yMQaW>@pBayGLrcsPuERh{OA+BbOKWShUXjOc@+`3tSrM=bk8 zxMtF?mAsqZXCdcy0LeBZfsRfmqgf=D&kj)V{&9()@O2ZFLxD+&5KQy&iiEn-LJ6kntbZEwEno&a4|w zGLwJws#?fJ=6BH9Qf_X>J44*rqD!{n*#EGiyhW5T+_}RfyEgJ|Oj7fgmZLZIiTK5@ zsFl2xd*)R=2hm1k{4nv};ybma9$N8M%iQ0%r-!l5cvU?@XZG!09tZ(efQ2qldI{3E zW^(lwP4D6{<=*-C-ihgWG|f@5G~o6LQ!*3z7Kx1#jq4?zfd2u220e8rwVuQ`TRgb& z+Un!HLv?iu){|q}5UV_H<~ocj4eIArp2p>GTU1Qk9M0+isL;>J=46E4_>zUPueNYzx-TDWF28s)6X{ho1{Kjc%Ovd8 z7~<+Yl=U8rGykTCp0_C6$*$E*^T6tkRo*0Ck8Z?*pIN(scPHEYJ2FmD;+rwFaTUmm z@L##GdJcqRYKL0NE%84CsC;7q0L+IMHRE+TC_$?T1d+4wl6fl+;5e_BPmQnZU6bul z$7_tQ8(NcXzKUg`lnc$bvTNVS1b5YImew&Ox?^_of6B(zx>f#eExS>>pU=X3E7N9HiFU+D)Wb_CO;(xp<2P0!KZ>~@T2RH_nr{SXVi;yn*q;^9i zO4;V0L`1Q6S1Zu0-CqG5GkOss#9;7UvG&C@&5Js_@yPai z*^=q?vOe7$s`+3bp&rU2r!Wfe)HW(tJN{!7wEecadF9gD@;8>ECPu)cUJOCmO#ASE z3oi$0jSp?LxN6?rJ_?ve7=h+f7=g(cBz**U%3blrxxyS()v46T{wyrRqH0k{D9{NED=XN%zB!wqmqce#U7X z$Z#N7diYBCB@k@7d<*Ij4qESjzUa(vb(cWSkzHCb!SYxOP|)=zJfU<+He#kDJ6ae!49KJFY zqlj6wiGz=f#faJZWYPPiEuUPz=<=1GP|%kIS}~w&Vb{ChNS#N+TuxGUVc@M@4xLbx zpOJ+ro8RTA(>hL)Z%pI9ph=L{dI*y|=(dbd9sCQ}3z;)_f*XiYfeaRu}Gbj~L zrSk@5g|CGYZ_`OT%%dI45>)MVO(x$D^z}i}E*-zeD&e%|IK4V3ruUOvqvfj9SoIy6 zNkRow-pNJJ8lw5%(P7Dc4p}(36eh<-1naS>b^7`kAMr)gv&`o+YcnE|D8-T9naPLC z66v1gfNo1*04^QQtX&=%W;ub<)g}=L+Lr7alWlIET#{aV7!CesF&aGot@LFZ?{XF@ zprtB>_8uG*kO5(~`MXShNAM0ml_x;Q%_;U6oi;eQ%M|W+?LrrAQx44NE5<%ys_98BHQ))E1PMcGwM~wN}ez)a! zP3fkBO!F`K*|oECkm8nruj$BP5vu7cde^WZb--7&W>~c9@fF=Ote0!sW!{hSFw4jE z>tV6vMe3c_)9>E<&~%?W#C_KxN1h;cN%=H4Z8A~mi)lmLOy5|ol|vl8s>gmqe@ZLq zl)8XBZMFCoa{9gH7M+$JL!#-b^fAOj&!&$ckJEtRp=3Et9v(!d)577oUVifxrOaKs z_kwj-`s(mACEYLKD0vuLd(G=;^i6&n&CUG@80Q!5Sob}a&!b9TOaa$>ai-3Qbm!}7 zR&q;O5X{`Vhu8SVlFa)BJL{XhUTro*$uj!#-fu=k60(-Mj|}r@n5S8;Jgi#oyhxKr zX1jDii!ho*>qZ8VpXhTVdyp;k^vEe{N*j$I73n+s3#8LAZQrhYkYvuVS{Aj@xub&A zfnU%^MR3EeaH0X6*s?UTLOv)7%P?uWCv#+9TA4dbO*liZ=FTK_G$(I(hn^qu>Hi_! zoVPjb@zbbX_h1;NH?GPD(?Vg(YYpyuurhsZd5`AhuOV0Im-!RaA*X4AsSvNER+*B> zR@!U|QCFU(Z6@C+3k+sqsKYSsi`sB#jP$pdMr!H6m-lBsKzsXWKtU3DpH3*q#0#rU z1<`8oY5I0SnDeLaL;5xSreGI2Me7Tvsl7g+KNXtPMW<-i9m`bLQ?%ud$(SBtMGHNL zU}j>Z#}p%&eNNHsMTH(87irMflL4KejuVG@*6PUP99eOa=1v^$IYfuXaH!8ox_#ns zkE@tuF!jeIK%dha6GwPFp(D?6q>iRd8sRxsM<#J3ZTYbU5vs$FE7OnBuS*ZB5r^sX(+bGzluS=l zM>9Hb`dUBJVLk@h@uF|$j6dHD!w6c29i|tjCy`yW%Zwpz^WNr(@_osb8E@0cGlr^N z4%5vuLj87fI0b1|?)7LRA9f6%x8)`J!Hlj!A8S=IB3-okKat65OZgbx$~J#%G2`5Xy&*EI@-IhiMT0oYYt&h& z?BhM3s8_Du5KKdt1nhl!)&P~%)6eIuC2!LCbI+*D4$+Z!6{-On>DIees|yd&UU%3Ry0fF7U!r#SJ8(T z_fUOT(dQQTRUKcVpDgZ1extuG4#mKCT@vD;4tjx(e=vYfcwia^cFzM(kTCoVq_ZD1 zW9=UIU?6o{9!B=;?Y%sSsBX{how4Fs;1lIwqXas&Bh{^t2yLw^5=`k zn7=iDkzxKm_LFS#wWTA()y>PkvNX~@kA6aap)NIZ)yZ4v!kYWAQGHd@Pc7O)yPEsN zP1F>ZMwyQwF<|nTCHij=JcVho)NO$ql`SsW<~Dwum{o6?`~+QSHo2VL${V-*O+PS4 zkU!{8<~{1t$LZ6nVzE-St{Ot#rtY==YRnU~N9_#1|7C5ZgOy-jsrs#padukS-oER9Qq%r?%&;1jd4L-Y!@sxq55D5MSRP-)6&xcmL(4iIK02*4Gr1ajr@lW-r6(#K#eVYZX&ZL+X9&U zD6QU_<@Mbo_5;;MKi^tKKBd#QMXH65(wc2AkmEa&8i+djQ97`(dk-J%Qt5?R=5y%< zS>|8TP3h)a1(|hy90BKN$NrUBdCkQVTCumh@gXnqI6rOO?pVrp_ov_No=vCk38Sm_ zoWmA@Yj4RbAGwz|Bb^vZ>!(?*KZ7^jX|)DHVJ2uIsP9~>^*knR2uN&AE<^CRM7))W?>xz6|w16G78J z*Mlwv-3PiFG;$Lh0QJS9cmp&M)Dh1rszCigFK@P%TNA+~K8{Ji1)#;CXFwN#Mm}M+ zR)Lm*ZUUW&rT7-;&Iafs8C$j^cRv^bBYbFXOzt33Mmu3!p8a&7hGuxm!Rp&LDa5v?lT_ItE%k z6U;s^zBudq`auD7DCkbmGSI4zF*`udfSv)p40;VT<29KeEn`VB{i`K9 zxC(VNFETy7b6h=L(lL_}4&U4l{ zJmy&EwA#6{LlIy{RZ$MmfTMRfm4Z7-7afguUJXuJN}oL1!|4FnDthW@biieBHCVy1 zI%pSn_@*ZHIOgZ%i_p~2X~%q`I39=67U=fknp(q!=;lZ_F3W~&H#GhF&H>i~tz@o+ zi-&JHup7W+_)3A*0}EP4pFZ|Tmqd&L)=llo#?Ri^W^T~*<6{GsgIln|YDJo8*C70? z2ezC(b$npJNpP)@4&kz5Pwz;OHek2tFUKRCT(Ajc(BKo@3Sz*`#BPJNUAwqTLxGh7 z3)3OZ%^YC!fMMQh7uTB!Y^fa<18gaGqF(=5cLL@158@sHPV2s zmKX-SQeEMRja7?PF=Wk<-HkH8c&iJ51wCxFhHHqP{Z+sQ0UOOR&4xNDom=4zG(tEJ z!f&`R(=$xXMM8~s(~P|iSsJ$TC@#ar^;>}z0~^T!%~-kS5SLwpte%pSetleEeP)%_ z+MR3R;;sb&s{l4nL-Zvg4%laO6VPagc}*RboJI09#F+PDMKfA=ScY{HcL`ioor|0Yb}B=x}G|0c!)s zvw&ZT_*Vh!8r^UzA>aTwUmP*y_c2`SB(N}g=~OqTYv2}8^8Tza*Zilr1+hm88Lhn4VGxYlV zQ=Nt)NlR(&2cw;8z?taQ4`!#%DzfDyx9W&>=O#`q7(4Cam_M+ef%O#_k4|r3-fQXb z*8Wa2!Oo$}S|j?b2G@wAO^8tBl^cP*01P9cUA^&hAFy5YL~Adn%izw_-&>=Tym6`t zT4$R`JcA;E`2*|2YijG;3@y8|QA~rZH!V0l)~Oy`F@5TEg41zu>*?pG{Yox_JFwT* zD);0juzkS#aBJiBY3Yt7yA_xmc;0Flu+M;f#P!B{wh{FmZS&x*4u!0d=6*QVnV+td z{q)HXhX<+U0D7Qw%@5(Uh}eotN^{+?({Vvtyi&gT;WHjduDO+%DSj++-&cdT^7@ zJs07;ocHA|y6#+mr+r{!=!tXDPW&wQ8U5v4zhGai`ZwRQjUjK2k5g~p*o;2z=ETo= z_+bCzflf8xs_52_M|V5}?tHV=x`F=izCU$3ADzTcdvWjBBFD!#4%kp&+QK-7Z`l)$ z^3>ve%7!e5PCFmr#E*l6s2SWAaP@T0`Dmx(;Lgy`&qoB_0C%g!YQ@P%yG;1$hy$L> z5gK?QFTNOTGY+vlbo}CU0kGGBaToZNfqzxNjssgH_LbfNCxIw9)?#7Nt~C5?1BPAn z!Z4>u92E!A!4u_n}YvdD?wA7FI65N0;B9%kRzQ_vP|?a{c>p#rRyj=~cZs z`GNR3QI?;C%TK`NC*SfDZ}~~L_=J0eB0t&I%_)lfR9k+UEkDJUpI*x^t>u^1*AKEz zbJecp^2=$QezZ$|G3_AA@noy8ijQlq> zDn#MP!00zc;SlmyMb5{N0(BvNn$+cJ?^8QfrGFiAK8ddTd+4A-(de2SJo$5;qBr#f z3aH-EVd*{{P?UZ-{jr=0Wwo?~I$NViAnk39C)sq0)o3lC%|WSWco!eiG#iL1@VT z4&78}Zxning66^)QFs%}LF`0P7>WHh_D)e)fF8vz5`{l7NnUnTw2(uu55B~$z>UeTNESD%c7;zYebW=>>X9Y~bAWFkv(AR&o6guv)@ zrU>OfJN>1j*6E5@*cu1Yg?O{49LQAXMy(lkX($P2y&OqbQ?#&n9AV^-VqnPOCt`{r zxgfbpeE$Ew#n1E>8((1?9LX@X`4x7~k&IH?UST0lBo-cII*~GVk4jve`}1DgvYVZ3$ar!khE~DDTF$D@F7)?s?ZR zUA;4u(igHz@x<357Q)>w#8+(_#g4j=o)K4sO+Nq82u7_yQF<0(tt2xX-KTO3%%>yS ztuC9yj&vm5)v8JCN=Fi;Zkfb7xRQ|G=O^i{^h7Hk`e{bg#XKgMF?)0ovVp`a(LYaO zxvnI@`~2?PU|;rtD+wIf^)}`B#K|_Ze9;gl<+*^HOvL(sSdURWBXZr(P%#&7$Zkf!+yODsH+dYi`+)m%lm-D;X8aFakZ7yIp z+(^3GQos`2NeXdc_qmf`^``<>?@mJ1#sap-oy4o91?;jr>8svbz zJ&BXsb(3a7QLdZV8c&j{{%K+#c#>ce$F6&l?m>e^8$1 zpnaaFX?Y$TnB+|Xk-=Ca z&3HNavmLA+=tk$c7^EYM1lKp83#k@$9a3DuX5Oe z0MfOmgK*k7WO(n>?P4`KiO*v$ZvrnZh}g9Aw_DPYS2NrXCk z0^1fyx&}2(&}(aB7xA<=3_P!D)3{Ll*bHBSAWToTS zOWjDmTk|;G3TYn4+=EC|!dU^_4{uM#@-FFlGkUyzbL)6>3-so^*~}mW+m}5Pgkbj= zr#0rS^sIM=&Yh|@A=*+HR*L0_?8;zF<_Pv$Fp2VT*dqfFJvWtI55|)JNGfv+Au(!O zHcJXY=NDwNB_Y_u!q~GRXe5$d3qd0Tvh^Mf2qigc>sVG3iXAm=uWn7-QO}GO{W>$2 zT?s{UelwPNhY`O7AO5@qm$8YriE7$*a@(P-kE)$d(%7Uhl7pOjK8%=1&c<+(=C)Lr zSC)=tW5dbdK~)0Sh_JzuIH2$uhn!g>gxXMzInB4yj;hQ35QVWf!bynQI);57P7?h~ zZ|lMsUKzS)#<1A#Br5$I0qj5<@jk-l|DqpGdOu3{vNhew1hqMfwRI=2s1tOhK`mMA#|YBH?dL4v&(B#bB9g?H{~-XW9X&yqcpVNp_t$fW zZ>qWKN<`r@iqDc`zVt1z*_i6B-UwP)-#GEk|;Jc z3h`W;#mb|wlsqgv)RvMuQP7u?nOW=&9E02&jRViREOsdh$CewZ?6)Y=mk`#Y2bO+U z`=#GUTlxcHi2%={r%KxEd^S8sJQ_!_${wU=&_TNcPwa6~;LVQxa1=YygY0x2ktSj} zf-Q+gFA~_cXcE||^Bx@*r_jxqL$9Z?>(L}2w%xALB8>3$cz2RMYWxUtHjVX* zA>DiZBIJBG`CG`#d3JVm@U?3wK^gABmdB8&UMcB%^Sr|N0lGm^q1`#Fgq@5bfkSRT z#6(xw)qnE#`nMmwqIagV@L24F{&s%!SEAoeXJY{mx%~(hea+5p*udNTYUjb9>8v4^ zL@UPC*6#TT~bagh9 z4edqN`!&kUix|SsERLkZZ_tio-}J(4x-p6k>P@z)&3oC$y|HlJ7|BQFG^5YA-vz2JFKLP1x|c2JLwu3h)qTk8>Pv&!h`wa7`t4v=-j_sn`eV25s-jHg z$0O@twy!T4qCPd4;nuvXx@suvh+FuK$A;J<&@xny8D?ShFLwBM2CgN=Z^AOqJ`Bdr zq3oW17>qA(hq*C+@gy0J^9rB+EA_1U>UPafhqAZ(k*)B zeTR;Bb+^MYE2lq-{A?b^e(8^W#UhPahOx8+9J2oy#wrp>too@&1KE)T;;k+i&OS~c zue!Y}vYfm-oNY>k_IJbC`9z%mt1_5N66qWJM27CY6Apts7Ay2|>Syynb*Vs7II*co z*q;Zo6-gv8pqCIUu~{SZ`mv}VJwJo(P9j0XgPlsk8vFhTc0CC@bYlkVH-MzM`fD%S z@Ce4AEkl`fV21{f2;W2jYkS}HumC(v8OeSafWTD?38@~*vIfF?I+B?OlF-zHLcmwd z==VfnJPL*2(G8b{#3d}!C9H=Md&N#wna+2XIQI2G67BY&n03m7qnQ675;5!X_S3M$ z2txa5*sM*%W;yGX;gdyOPf#Alg}8y3CNNP}rt{|o-fa6I(j8~4mO&)l?cvdS^puB3 zGw)fitWh^*r2a_)Bc@N^s`VApY zYGW1~FocAw&12ZaA!Mlf-WbM);K4%uSk^KG+1e~mLCs^C*HElcCvX}XO2Tkjn}<6# z-xTo(;a;AG)A^n9f+F_LP@E;o#A6InR>Xc9iu|rGVj(G{N8Vl`Fhca-A0K_7KVxZo zMMN3f>!YG}5%N`;&Yuo87qN{gB*CpkHrP_c&ZMBhwjySQAk<-^Uj4r`$Z}JOPfW9| zjdcF;H@{}04RO*#Tm0eU?ul%5Dz@@YjwFy>NW~3X>qPbokhGuv=SGYyz>~l$dap|D zT0Az9%^8M#S~^8Ffl_tR81csPl5RfI|8_&vi(kMPc-yd0wyJ3?w#S6Big7#ayol5hwSj#G()c#H-AwX9xFPi$L?cA zxg?78XDf3_z^E)CPee)1ijWi*MyK@W^~Iof(o zsIG$QTAM2CXCnPaBpkCd^tzO8{D&c=Tf#SXhMY0;v^Fsq=krNIWZ*2_!;NSq;rj)8 zfj3zqH8HqoGC}=j3F}=<0@w-@=IW!%*k%(JxlPMhP9gDEqnz0fCfrguupR{@MfH6^ zgB_xNUCt^BP&pl9<_~dSmaJe)3o+rU zRRBdF+QmGQz!dkwi)tv9vpY%v~vwxhvTkAnN`KcIFPO1`ZENi31BO zA{lO(29U|-b6|X>)ELj+EW(!T&a6cwLj7(Li=2pUsuLSM5yfxH**p~0#~)_(6XD() z53`pzZKz}?Ien{=eLIl^yE&EV=2XRrb)E!sZY+Ni8SB3I9@)&|d)RZ6$S}W)0^up) z)m047+JhS>6W>U$dv)!Pw1^0kd~{~n6xpE3B*Aa!VqKF9cefJ`pD2X9iBF}l)-GAf zwX8$*5|-K7iSiTPV5a_tMu;ElRZJGDOYUQh#Td7```8!7c%*h@B1;a3})Kj+VFnjF^dDp!&dgy0$k34wfR#PvH0x1?4hwC-T) z6l}QtSQEhCP5o2ESfLT|SEzYyIKYwL}}iE~6?ju?dAFFz9)q zyaUR~YaY}pDxIU?!t52SXetTvTPs}Q8r&Q=G;G@4tad6H>b3Z8y+#OXL~XsBotsLc z+=|3BB1#c+E=4*`5hF*GDXaj1`}+I!YD8IoKYOYax%uY`_H8MiF0CqOeWsCg62sEY$WF8N;YCT88+q5>AESt3at;;#)!lz2|;3U>IuhQ&|w5Z zNvN8stM9~=J1Ovmap{Z0ar{Iml0Ol0-l2r6Gg;eo99Xx_**JsvC-L8x<5vckt(&VC za!?o?!rRStTzeC%U-C0TQo_|nuyHd;z<_ZgPTBDCK~1|rUn`S$iDl+4XeXZ(3C9Zw z-z;WZW{{wqTXtZwKXyNUY3hmg1(SVYl_)IcR!@sUCAVr_!dzyOpwa!7>W28Rri5xk z>#(+=9Noa%kYtYvn>6`^2zos?_Ms?n2clA|_%i6vDq#^1LK|n2yZkb$^r{X@X%}pK zd)(r}pjpJi@5B?51yyX|owzw#EtEEME9jn>`s!ceptmmyORX_T@y;Y zT_xkEPO!$DcTZ#9vvAk?`7}0e78$SBPiI?ak=VqoA`euITy@ESdvq=xhsvOSQk=&mPHJWqI+G$kRORn8_6(K$lrP3R;{7X{wp zQN0469LY07 zoKrFQHZ$wAkYwWp(v*cb^Cht53vp0uHM1QHu@Zf1W?wEOz3{BlvyAK?T=)oT;5rIh zKCYS*{3%MX_Ixu}iJT+kA41+sm-E;~KKcmztBfS}sTcCikVi04xQ0T|^P*sM?dCx? zWf6bHVP+33!b9ENW_EHB>FM*1S$Dxuta*)fTukm!>ucE3#TeJEHSGPxc%$`94f|^` zcB>a_Shpp3X>qWIr7R% zA>H-C`WO}{k$(y`-XQ-vP&ViwqQDze^aSK_i}Yrvml3~m{IcYZ z+>M`k0IyF7^LY@57H4L9kPN{ai24V$7e&uLNZwK_YS>-NvAsW5!ya2sLU3?@aXFde z+CwBCP6?qaaIEjea#!Hy^-cjRcbeJ5D@b2-ZPR2I}+8`gWFoS>aCCVn(;FP_4Evv5~W_8s%*3C@1VK4`p${23ps#17@-Xhx~$7Bz|JLXeYKKzTCy)tcO4e9VhU! zzy+rC`gNV&$a*XrON8)D^RWR3c0JzKpR zYths7?Ag`GSZh5ywHkLTH`cIkR$~SKYYppBN21mGS~j7M3_~WbsUxwzPIbCfZ`{Qy z-Co5kX{lu=>&Oe(&z3!gI322GPdtV%2}*05UVn_l5d`}B8oa5CV?FEfF2tKntS5zP z<9fEI9;5Q&diHfahONmMV?DjXPOfJ$YjK`lu(4_DTC&$cZQjiCHjrqqvzv7X_($de zUunc3}f~Sp9qxE7?d!t6y$nPj5sH4`QEg#8gdTehhomtxYVI z;jSf*O~boHugP`>{Wol8bqu{OW$aZ(mb-0YdTV48V=0@+9pSGCpc>5w5|hhHMLa=N zqGw>p4>PuZ6Yk$nGj@Fw9&oj8WPzJWzWUQfHh(k8BI)elW(4QAjqH=nWB_quogOE5 zp_6RI<0N`OwU|@8U_1rZ0!aahM=K;viFjJb_Cr>n%T$*z#sBcercWLxRRrJEHI;55 z%bmcmFSe5a(v98RjyFQxSm=|ar+?JrdQVo`+3o01^E#XMB*D9Fw)9CndW{oGj&bar zCrNz2R8g+gD{+0@3U?|F+wYGqIEo1+HG_5EK~nL0dD;#V>Gqs}mFFI3^*gY!UVfat zwSxrQ@tm;H5IhrR1Kt;UJG3@TIBqJT(*^c2uv1uI5D30!gzXUc>%hZg1N=8CL(f0X z`t2lLdVOxMaak0&2At(zPAw1+S@1ZUzms(BxSVV!s3S$)Nprm4G#J62OR?^&{3t!`l7K1&9K zZ*I_)H=`H$%djq|@U!d7&X|uCq!0Komi`>xLpN??3!g(L4{l@cK1VjHKW}5xpU1<+ zifyd!dCbO5+t|tHaVB1{js3{Wz~f)Q?Pcj!Ht_}2dvGh;{Q{Y&p54maUL=FNe!G=7 zrzm^SY&U(ZLXT`^lV2p$ap-&VMLeOpv4!1ykqq(dFI4$L9-PL~U&16tuV%bNQbMPyI;t1>reZ(_}9-ScT@YPU;ncV_?%vAGMIEZRV!e zebqoN`M9eZ?;I4jRu6)oGoEBSk9F$kOkDap5oe{Nn!_T4)p^)kn$`uYy;Z(tHHWI7 zV6SW15~j{`;LDe5q*~_4XJx*A<-^606?syxJldaFm_y0y1DorG6xv$f)YR)}*a zCx?_VL$~QIHEwHqxUV|5`^frIUGIHCiBce0Rop!|DmWc9$dbE2p(xpIEG}2=RW41v zYnU=g_M8FbOZJk0xOG#5ELm-el9dhXin1izCW=Y04obIa>~sf*$aM~mhA(>zd$~si zE4xROiISB*`N5Z5hkt%5Y`7;||F4Qdp{ru^FITc~&wHC12KR=4D14C(6D3DR;CsX4 z9D_ANUQ7h5Zp>G^kGe5g(XN1EonlNR>s}(Ee93kdkUpNW)NcxlU#kWO{nM67+Um!) z=d0nt|J2AeG^S`>`xliwJC*I_Y7ldKOZ6`Qr>P>TC%>*HN}*(>tK9LT23blndRQn~ z`8l+%C`&hOih}i5KshqrZd3G*KuZR=?-Yi!RX`$9 z7&@%RL{&tRhD z+Z@#<=)b5G+NqS@qXxP;%cLqT;dR2-Ik=R|)yz^T`&%Gc&pRZPFIjH^@fQ*YChrI|KG$=-dNqAZo!6eTO;qPHzeU1U74iAffr*}hN> z3zoxn(g;niWTC?M5&ROH|Gz{q@82Sr_b(C5`?m<@HT*MzdH)u{yoP^?VBWt)Ft6dC z5zPCy2Fo?!&a_j^L0->_6ko&6zN@!6BGfGY@&cv zWsx#m@Y8K-lATq=wl7u#_1+3`FGI~FS!qG*04%-?svafyEYqZ zSaE}3pSD4geU3deR}FM0YKD;AU&wx+jxDrElxG`tawH3tG!KXH5jn&31Su922_o5h z4X9AE_Zv`wWET!&)2^vu{S{@J5K3iCXUR%sSeGp7A(~;q^4F6rqjX336c+52QCuaK zyoXJkW02k9O8*mB3b!MI{IMB(la(i$-W>UT~U_4oXoZts8Q^_64kXl*l5ut z*($?Op=9d~s6eu^Sv?D6X@{X$C|TL8t|&`i>Wb_ulj_G#mZ%-O^ff%ml`Qx4PBogH zDp6f#_c!Eul6}Nztyr?s5#Cx}gDgE|Q#e(wl zspKWaNl~&d8EWwjlK}qLucvZr|Ck#h(0)%z~TRU5gENU*$!*NwmWU;{-ldq5nwu1o` zNY+I_Jmv)rvgE^Ob~r!v$_9Qk8Zb%L!LU{=S!or=BgsmWdalWmPa$6)16ci92iJ)$ z!nQPw+LD!qiSqxgjUw5G5uN`Z0~MA~Dtb_BM5#css|BP7SeBkB&{kdTPU2pnvCLLk zs%_BK!c~lf6idSxYRTev@UUP7xjPz4KrVfW-P0S-E`tA$H6usWoAf-|E+~vk*3)pS zP_jO^^+}fU3Rs(oALE=1bI%&)Op^65%;if~8qiZjmS7H(pquNr!p0vaw*78QrBkBp zWEd)zRnlybWHa;#c2V)Ghk zSg3C+qtCXo?xc1H9ULdTk**+zC98WCKB_fe_vx~r2)ks*7|s+*cAS9pRFb7C{A%Sr zh>Nq34mTfJ7v4wtVCMWJwYyjxKT9oqOG~ULM1t$Z9kv}_s8Eq5<=++p7KaL zvPnRaT_##@PSv}7Oi*-LviMC{%|WU1o}prrEL60Csu!Xs4V41PzNuO19w$|vHdIWK zea(OhC5u|O8J4QJ1(GaOcm@Rj({P@hiWuzOqKQ}WHZ>m)r0a9_Za*m~QKm`Ofh{jn zqeuNyqd;nWVN@!VEdLcMe(9qwOAdM3HWQ+}D#Ry@nmJPE+g$EZ5F55gbsF)skiTNn zlk7PIDwb7$utAdjC0AQ3{fQ!fA6eFORrs$Sv#@ijzpIp;(Ap08cWuP=cI|Vy+Cm!q ze{4QDI8Jz$ZFo3Mveoc#F&5b+LR6vqfZM!8fh@^o*FVP1nnK3e5I$%39+M6_aG8Dhx>$wKS(?tt_Kfu4JL2IW1LWRX8nKZUs)`L0{+c z(j49EMS`L+$-Zbng_1oWAU)S*>3u`7K(ZDCDwOOmx78J;Smkd+vp}*PjiD%%tgAN0 zG4rLnD~(zv$x3gyZ>9!W`q-u@S$juJ4YH&fjhZBjMzv_)n4rff&t^-q#W~{Dpi6n{ zcwH+|Xd{x69VZ|?Y_c@frYPCvw<*ffdYhtTHwwr>SybAf75vfqD>g;RHcikTKn%s# z7(yu9f`5+)NLmFXS^Ea~0n{(9LiBH)piq`o3}f5EMI;1N&iz8tBtrqAFOVE~q}P zHUYc$4>f>!|Dks1m#wEqyr4)A$xb(*e96wp7O7YwWYe-`Dn<&VBwM=?#lADZhVWz@ z)jC#h>Ptba=ilb3EG@SwN_Ndy-P3>CGX0w^Q-icsY1lGJ7Ph#j{1&Qz zju78#sNEr1X~98RGRH87x)|(kqWiM8bOBFZBr9v{ag!zK0u&`{^TuV=Kkfa$jZ}!M z{KFWlG>-%LgA57DrtQ3dmbRlv6&ZJAm1Lo!P2ScqBJl*}i6>b3cQHib3DnbwZGmKc z#){SDjL^9-M$46T4zA_RS-Sn-1ciOc_B5Kzmu#wl^d@C#kxfyu<+mxyQk_jvu)US% z46H!1@{eTbt;o`=W5ivW&FS9_r%jUWY?v#QtaMXP4p~}YQXd zx~44cFf>h)h12>sL->y+gtO99>?@K@GAfoxHpPH)B`ZDWjpjDU(gTKKiDaecx}qoz zGn~eo0O|1-qjIifWw`aqvV?x{Xa4++|3CYYC;O3Lm@Ag7bRNG>C0Xe?Zz0d<$5LBe z$=dfLui;<%Q7rqxjLLbEm7eRZ$P)U&9|a}gLtrr+rJ^c-Bro~7hPeXi11diBiyDH8 z4npW|S20iUwu(8DU4RT2;1JB`+FzncSrd=$BsnZq^Lv)IV`>kAZJ54* zV0n{i@K=`pkZ-i;@4bTJ(N~#ZYiy8YSBvI|>MMk!v)H`84uRolK#dXDK%-)gWTD2# zH2D8$JAA|qap1TmC{{bkdK!<)3MJdwfC?n*W4y?de+ow`<3*lir82Bb7WJ^4_n0XE z?9N`>i#*BhGoXCQ%0H;XbGV>EmQL9eC5ykWgD+lsm8a=r5iTekkZg$o*EJ+H*#%SFVd5*=cRlBcq=qNq$Hkvg_wx`j+RLS-=paRLtzhuLm zGd0N42t#qIWToG_qAYc>c{f#h_gu6#6BFU9@T#xjU9MzhJqKm&>*aPe`Fq52Th0DP z%{<9Q8om`vR=Ul7%QHHWVpEi?bX!-HCFu+1jpm6H+D9jl?A@lzcZ-g~ks3kyGA4QX z_k;L*Kk16J%`wT#c6eR8F7x#c4+nh9Wx^~LZSYS5^Qnt0J|JKhrG$SH2#G`j(iQFM z$R&lENJ4%7DUwipJ5f0-O6*8G8AKA2y|rshLg6Cf!f_dk!2-6cA)z5c#QPM@U8gP* z8fF;d-SxIj681&C8qsfrh(>{+m>x2|lG@FfMs323T9By+iVBK}E7>;&== z=5y_xHD0WgiAvHTo`#Z_wXs!77H+(~6K@OoHz4t{?rXvZuPb?30S7I~qAt(s;2YwB zSr20=Es$(4?R$#IQSxs@Ck@tz216p*1$d0YFKn=qT__-ZNMvbc3V)#N}0q43z-}LW_7(|xf0YrsA1#~zBb}|(5Pv%DzQHdna!%i zqD2_&y^+`eArmd$r?n`A!Teo7TKy>y}CO;iIAaLyTZPW`%NS_86`dO7?&O<;YfL4&juxM&yVz3dj}^ z{K|1~?k&rU+q!+0~jQgQCyAmI+I|7JCAM5{Qxer7wxO7<%QDwOOM11gX# z{-B$78m$JY_UxI`An7gIh6E=!keijsx1Jg{zx9l$dnNS0-@h@fP3 z4}ztJ>^A}`Sy;tQSzP%7abUbGC{!f-`UrgjVhxh)H3KS;Y|jisOR@<9(#JuT8f}V_ zy_GRYRxY?D#9fTng@uysXFvs#O=R~qsC^CZFB#sOBwJ>ioBPgD3n$kp4gPH%0neRLIa^q{yTFKt~+k5uxnKN_F+&O3Flw zINBEx=J=6@$VPprf$ZZxG>h!d0eQ~KKpTap<90m@*}ymll$$*#^jJ3}ygAbRw$ea$ zsONCL$k>8%*ijS z*P&%YbDitj$lLF}>B3ZNHmbAl0T!oHjKrQxZXLYJ!}zTOPBy4vTZ-1~vXkH<+3rONyND=%!5UmxxQ2^-0{6B&CkK zzw7X91=Z0f-TYKvEZ3RmTwsvBTW0klXf;3fJ6$9<@d>>fb&)<9{$Z&*wAIUlMc zd&Gxo$(}1$E8Ar5t7i~33}UyRY93i;YcKDVe(f99kY&#DvxMxixD{CmLO*_x4%;(~ zFvEDvPghNr8S5~@ZIqa|46VpAZ|S3CnYUPxbtMiid~8B)Px!gk(?31PB+GGVPy1FO zvTylNJ=qU@C`9%{AF3yNRzqp>C)Z@d3oC)?X~9%(E-ZTr%S(Y5%F_6xsV7*-Y|f}# zi!cQ;Cq5NIc8L#FlU)kPHZDr5;)Z0o5wQ$*$Znr%V@i;9WzLoF`&CF04w*jto(3^(|}2ihuoZum0N# z5M}|Qe!4ocbZK*#MsbsG873<^=z(ca>V{U#Tn0L1#R`wud*#xM9;Ee>6*E1kRk5vZ zN;&d6=I2>U_OuUGlYIk_t#L}SiM&34Q#+u2&QDlF_K!YPN0zCzubMVW;!A#ck5I86 zxxEUJ=y^YJm@H$I!jqMh=Cu<>L0o=SkQEa>)gz5RF*`HhPXLUG?5c@eZRv7zyD_u) zl|QvvOI9|QmftwRZ!xJ!Fp(ybuk??}OgW2#{l{0eWYg67r)3haY`&M011(k356Bv; z{M;@)wL1nX7G!0YY7BGsm>O>M({%Xbpo=o+qKDvCNKFWHDtxa zWYp6noM2)y;%3^!rNNRFFaM88kBsPrF-pCVWw=4C02=SF1ga%FL6*Vl6WPgoamF1AK3c?Js z|9(0t%y*`CA=ztj*JQbuw~c|)U*m>kz1g~A;=caio79kHYTKVFeGxY#E57tqO0VXG z@@PVVn2fxg z>d2P(P%YVsK2%3`3LqN@rD-%A;MDCM?U-Z#Xmiz-TFHpAR+jlyP(${l4^@+8J=n8O ziB%z^D6*^vYe?x?zXqzo*7~(#Em<)vl(;0z5?Mn^e)*j0gyNY&5I2xNIp3_57(tn5 zJ)r@d)LXRV<~sk1BH!m1Jw*1Tl6_JxzIY=vt)Tk14|&N*p8Mpaa-(|LpWZCYqWq%W z3B)caoQ%5YStm(V!dAd~kSh6yh0l$e6D|LkP0t4DXCt#v%!AEKs)lSl+q$0FCNwFV zq4+Y4`nbj&q+bZALos)NVqY1GEInX~FCzu*q>D#HY_+g+ zOTCgE7_md2vJSV`l`vZkDrRKY(1RY9wo%#?(FMu7D$*li&9^12Nld68rF4$@jk|bs zV7%J&j=S5FuL|jh9NB8tyY2@0K-Pc1D`45L06zAffRj7NzVA**bzeH5mY;V^g?9ez zy!(rBdaph6fJE;g@y}Oyulj(BjP;Irtx#|M&4&XzZz}Xo4KCo5xQbH89NR$0;33GG z@fL3xuRq*7C)u1&TS)oz=UKSnQ=r3;e+&9D=tVcqqbtvO{qaF*m6m%SDnN>GJTn>60 z=qjzw9A0L9^K}FNl@1lI_cCO7Qp&lUuM&0P6J&Cx&m}{*m&m(vyTCDb=&7gUBXX(ZpVs8 zE|1&=c{eDROBP|RWSKgDR$5^4Ldg|SHyL%+?;(=@0rDH5Z-H|4^9PW*-q@|N9k6$e zDGL`4lX9)`WUJ-^;oFgltAke?brn~FlkR{SSG@0n%q8njLFS_HqmW-Q?$qyYar>rE zNLuVIv-iuTTDZ2q3F;Qmhpn1$GHo&H5^h>>6scYZJq7v&=r^F;Eg?-cce!1>Nb zHt@TF^Nr+@z*~U_aZ8uxV2)n`$5uq@i}_x9WfP1_VDur3_)NSM_$R=fG7BuzPb=iO zNZ$0(K}(f2c$xb9dbc!qQ)SEDeIoiZ{+q3_^QBk^oFNWB@u;Vu^`SqZt?{mBtW3N> zaN`}b!&h3ha|3X0YSa&SBmA^mKXaTcDEacKBT0Cx;JUi7 zd1--jy~LxBXOSR?1VMv3&T%9tQd=6OIAu`hLMP@`9o6}*PHrPn|mQuzzy z+_zk#N*8!zi%)%dp;;@;P9!DYDR{uq{pOJc(#?X6HW{v?&N-vj-RO*X&*pcrQs6vY z7~N##+f_prdSjzo4p;^ClcDEl$k;?~0^SaL;tPQDOGv$u&mF+|DY6{k4+!4NIsZ3^ z>fl1JU*Jx4bfK4*RdlaKAA|B|#>a3cq5_M&LfJ99c#)JSvcamy!s;Ed(q~ULpkJ`a z+a#NCpI_uPxG$epvle?}<+{?mSk6)GYnX$qH-YL}+$ZWwlP^|37j-~id%n3a*XSg`mM_;JN8+GH2 zqSmRo(C2fgmjdUO{sV#E1w4k~X+H3cz`0m^FYx^~ir1iSueSI|sQ<^P-M{ux=j39a z?PN=M>COnJD=AvpHh77bSvgkJI$GyCo4yck#sTM4>=fWNz`M6v;7Qb*n1Y>fKNW+bqroc)+LwFI)1KA<<7^9NJ=yF_x9DVB3((>MXt-d1L~2DlNbZ z>6O4E%HoLJnGC!L{&^v*vA8rVRPBCbuuLmtOp;No_tn?6c4E3!v38WSB#pPOlTG#s)F-xCxB=>v{;2sX3oy4l)woQGew8H^h7`|)aU^1mS>FwG z@{q+hSmLZS$tv%Ix@CdIuYmdy;352!8wLC+;7vG97X$yT4JKxT`HWUSvFbsv>N@~! z1{K5`W}a%kRl3Y~p)Nv~i6U7qQ%}(nsLN2VPeEM;JT0kl&m)eq-2(eNfJgq#0{zjX z?g8%Ltg|j&F`d&<*Dm$aQ`)qV?ijhx!<>)(q|D}clNMR$VZqG_-iJksYP?OZM_B`H zZFEnyco6C<1W%KTuD+rt9;L7k;ex|1Qf=H7FM+xXZ5=(@SqGf^3?Q}hph*^Jvt+*^ z?(u=OFy>=84tBmW>c*78Hr@`j zwZ)7Vco!N?Q@&MP2D}K>mjQeIH78we?!Wpy;PL=rg%n_=B^wN>Y=d!oqqUNTWsY9~ zZ;4oWgC)+(w8xdeKYU{rc*_T@T0w;E_MIMH~FdTK^4*Mb!$jtT~(!ZBO9l^DT#s85}7jK7} zANb+$cn@&rQR}V=xyhYWyatXNQu%>c>B8~mkF1@~kh%jWt_zC6={RxdM$D~PomnZd zPJ_B@w6)h?DAUJGqb^WkxBx83O0Rs&&90waGf5E(%*5UDbIJIQJ~(rT&ab z)_4x;?rUtaQh5CwIQQs&7x<7NC>tsoms{r&;O)ql_chrUY?YLG0@T6j)=w(j%`)of zVyIhiRlg1DyMc4pn_Gcz2HvsN0>!}FfH$Fwu^V>)@4CqvUIP37vUt>KN9W>g<4?@s zT5E~xsPisx{lRg4+-ZsPIq)Ksk2l(Z(wTLCDQdNbG1!kZI0Q#Nzvrc9T@733ev6~) zNxNviOB&;B6&6x;C#<^BquA0n0B=DA2+(-~c-KVhRXVCU4rX9zdm08ETdX1*eW2Uq zH&cHTO_$)rgI0ag66Ye|kroT=1fCDP3zy@3;Ds93ceiLcJ))dEN%|XdIwx-KQ;w9k z6W?Kh9{^tmyc>83_$J_y*%n}n-(&Hq4!7<+j08uR0cw0W@YjL21HTLSdxBr0i<0FI zwIMqXTU9ISZh+ddT1KilQ1kUR4ihc|-i|tw#$%3B;AyDSNxp6PGd8mf^6{D`K!WEzhU0@B=?;%+cuEfp2zW~le&?`*mbR21x z3Tzelu-rlPLHbiQN#K4VTuei1?N;yFeq9i|)BzFGLlUDtNPnUN+q`I?OEqtkw6T#^ z8&e0idDp6rZC+ZSLj_vB!Xcb1BwfEoO>XtZ_8Ze~lZ;VoTfGYR{z2-n!0G%AP5Ocg zJR~uPj#z8bCN)XmekZ=P@Cmi{A&EII9?&8uLr$sx)nW|BF;$|ZMEo%y`_TGuRI`$t q_+veG*22R(4=L}UD-#FJ+r`P3YdnKjsY6M*JR diff --git a/kintox11/src/kintox11.c b/kintox11/src/kintox11.c index 8aa739a..c18ca4e 100644 --- a/kintox11/src/kintox11.c +++ b/kintox11/src/kintox11.c @@ -108,7 +108,7 @@ Window get_top_window(Display* d, Window start){ if (s) XFree(children); - if(xerror){ + if(xerror || w == 0){ printf("fail\n"); exit(1); } @@ -121,6 +121,17 @@ Window get_top_window(Display* d, Window start){ return w; } +// search a named window (that has a WM_STATE prop) +// on the descendent windows of the argment Window. +Window get_named_window(Display* d, Window start){ + Window w; + // printf("getting named window ... "); + w = XmuClientWindow(d, start); // see man + // if(w == start) + // printf("fail\n"); + // printf("success (window: %d)\n", (int) w); + return w; +} const char * str_window_class(Display* d, Window w, char *prior_app ){ Status s; @@ -161,7 +172,8 @@ int main(void){ int system(const char *command); size_t i,n,r; - + + printf("Importing user_config.json...\n"); fp = fopen("user_config.json","r"); fread(buffer, 10240, 1, fp); fclose(fp); @@ -266,6 +278,8 @@ int main(void){ } } + + printf("Data from user_config.json imported successfully.\n"); for (i = 0; i < init_len; i++) { init_array[i] = json_object_get_int(json_object_array_get_idx(init, i)); @@ -292,9 +306,12 @@ int main(void){ int remap_bool = 2; + printf("Starting keyswap...\n"); + // get active window w = get_focus_window(d); w = get_top_window(d, w); + w = get_named_window(d, w); // XFetchName(d, w, &name); // printf("window:%#x name:%s\n", w, name); @@ -339,6 +356,7 @@ int main(void){ break; } // Else command for ignoring similar app category based on config else if((strcicmp(appnames_array[i][n], current_app) == 0 && remap_bool == 0)){ + printf(" %s\n",current_app); // printf("in 2nd elseif %s i:%ld n:%ld %s\n",name_array[i],i,n,appnames_array[i][n]); // printf("%s\n","4"); breakouter = 1; @@ -365,6 +383,12 @@ int main(void){ fflush(stdout); breakouter = 1; break; + } // GUI app still - no switching needed + else if ((i == arraylen-1 && appnames_max == n+1) && remap_bool == 1){ + printf(" %s\n",current_app); + } + else if ((i == arraylen-1 && appnames_max == n+1)){ + printf("%s - Failed to match any keyswap requirements\n",current_app); } } } @@ -381,6 +405,7 @@ int main(void){ XEvent e; XNextEvent(d, &e); w = get_focus_window(d); - + w = get_top_window(d, w); + w = get_named_window(d, w); } } \ No newline at end of file