From e2f5dfd648136f2afcabdfcabf18eddfed4300e3 Mon Sep 17 00:00:00 2001 From: Jack Jackson Date: Tue, 19 Jul 2022 19:08:04 -0700 Subject: [PATCH] ssh to idle window entry --- .../posts/ssh-to-idle-screen-window.md | 103 ++++++++++++++++++ blog/static/img/Why-would-you-do-this.png | Bin 0 -> 59809 bytes 2 files changed, 103 insertions(+) create mode 100644 blog/content/posts/ssh-to-idle-screen-window.md create mode 100644 blog/static/img/Why-would-you-do-this.png diff --git a/blog/content/posts/ssh-to-idle-screen-window.md b/blog/content/posts/ssh-to-idle-screen-window.md new file mode 100644 index 0000000..bc0f2c0 --- /dev/null +++ b/blog/content/posts/ssh-to-idle-screen-window.md @@ -0,0 +1,103 @@ +--- +title: "SSH to Idle Screen Window" +date: 2022-07-19T15:42:31-07:00 +tags: + - homelab + +--- +I've [written before]({{< ref "/posts/auto-screen" >}}) about setting up my ssh config so that I'll automatically join an existing screen session when ssh-ing to certain hosts, by setting `RemoteCommand screen -D -RR -p +` + +However, this has a couple of issues: +* It will _always_ create a new window within the session, even if an idle window exists. More often than not, I find myself immediately killing the new window and switching to an existing one. +* It doesn't restrict the rejoin to a named session - in my current usage, I typically only have a single `screen` session open at once, but that could change! + +This didn't seem like too hard of a problem to solve - in pseudo-code, the algorithm should look like: + +``` +if !(named session exists): + create and join named session +else + for window in named session: + if window is idle: + join window + else: + create and join new window in named session +end if +``` + +Translated into shell code, that looks like: + +``` +Host host_nickname + HostName hostname.avril + RequestTTY force + RemoteCommand sessionName=main; sessionSocket=$(ls /run/screen/S-pi | grep -E "^[[:digit:]]+\.$sessionName$"); if [ -z "$sessionSocket" ]; then screen -S "$sessionName"; else idleWindows=$(pgrep -P $(echo "$sessionSocket" | cut -d "." -f1) | xargs -I {} sh -c "echo -n '{}:'; pgrep -P {} | tr '\n' ':'; echo" | grep -E -v ':[[:digit:]]' | sed -n 's/:$//p'); if [ -z "$idleWindows" ]; then screen -D -RR -S "$sessionName" -p +; else screen -D -RR -S "$sessionName" -p $(tr '\0' '\n' ` contains sockets for each session started by ``, with names of the form `.`. If we wanted, we could declare `sessionUser=pi` to make this configurable, but I think it's very unlikely I'll be interested in sessions started by other users. + +## Create the session if it doesn't exist + +`if [ -z "$sessionSocket" ]; then screen -S "$sessionName"` - that is, "_if the variable_ `$sessionSocket` _is empty (i.e. there was nothing in_ `/run/screen/S-pi/` _matching the sessionName - no such named session is running), then create a session with that name_" + +That's the simple case. Moving into the `else` branch, where the session already exists and we need to join it, gets a bit more complicated. + +## Find idle windows + +`idleWindows=$(pgrep -P $(echo "$sessionSocket" | cut -d "." -f1) | xargs -I {} sh -c "echo -n '{}:'; pgrep -P {} | tr '\n' ':'; echo" | grep -E -v ':[[:digit:]]' | sed -n 's/:$//p')`[^1] [^2], broken down, is: + +* `echo "$sessionSocket" | cut -d "." -f1` gets the processId of the session +* `pgrep -P ` finds all processes that are children of that session - that is, the processes of the windows. + * This _works_, but I have the feeling that I'm misunderstanding or glossing over some complexity of `screen`'s operation (or, indeed, Unix process design) by relying on this fact. Note that [this SO answer](https://unix.stackexchange.com/a/556640/30828) recommends finding windows-in-a-screen by examining the output of `sudo w`, but it wasn't clear how to map from that output to the window numbers, nor how to tell whether an entry in `sudo w` corresponds with a `screen` window or not. In particular, `pts/` entries seem to appear for regular `ssh` connections, for screen session parents, and for each window, so that's pretty unclear. If you understand how to parse `sudo w` to identify screens-and-windows, please do let me know! +* `pgrep -P | xargs -I {} sh -c "echo -n '{}:'; pgrep -P {} | tr '\n' ':'; echo"` - for each window, list the child processIds of that window, colon-separated, on the same line. For instance, if there are windows with PID `001` and `002`, and window `001` has child process `003`, the output would look like: +``` +001:003: +002: +``` +* `pgrep -P | | grep -E -v ':[[:digit:]]' | sed -n 's/:$//p` filters the preceding output to any lines that _don't_ (`-v`) contain "_a colon followed by a digit_" (that is - it filters to only the lines referring to a window with no children; an idle window), then `sed` removes the trailing colons from each line so we recover the processIds of the idle windows. + * The grep here could have equivalently been `grep -E -v ':[^$]`, to search for "_any lines that don't contain a colon not at the end of the line_" => "_all lines whose only colon is at the end of the line_". + +After all that, we're left with a variable named `$idleWindows` which is a newline-delimited list of the processIds of idle windows of the `screen` session. + +We're nearly done! + +## Open screen to appropriate window + +`if [ -z "$idleWindows" ]; then screen -D -RR -p +; else screen -D -RR -p $(tr '\0' '\n' /environ`. I imagine that has a few nefarious purposes for black-/grey-hat applications... +* `pgrep` - here I've been, using `ps aux | grep` like some kind of _chump_! +* Hopefully, this has now cemented in my brain the `if [ -z "$variable" ]` syntax for checking emptiness - but I doubt it... +* `echo $$` to find the process of the current process + +And a few things I have yet to learn: +* I'm still a bit puzzled about why `perl` appears to behave differently when called in an `ssh` command than when called on the machine itself. When called on the machine, referencing capture groups uses the `$1` syntax that I'm used to; but, when `perl` is used in a command in `ssh`, I needed to use `\1` instead (apparently, [there is no standard across engines to insert capture groups into replacements](https://www.rexegg.com/regex-capture.html#replaceg10) - and note that that article lists Perl as using both). I even checked that the `perl --version` in both contexts was the same. This is a real puzzler! Because of this, you'll notice I haven't used `perl` here even though it could have replaced and consolidated a few commands. +* As I called out in [an earlier section]({{< ref "#find-idle-sections" >}}), I don't yet know how I could have parsed the output of `sudo w` or information from `netstat` to extract the information I was looking for here. I'm also a little stumped about why [this questioner](https://unix.stackexchange.com/questions/556594/how-do-i-find-what-process-is-running-in-a-particular-gnu-screen-window) found `screen -Q` commands to be so slow, but they [appeared to take negligible time for me](https://unix.stackexchange.com/a/556640/30828). + +[^1]: I had to use `xargs sh -c ""` here, rather than the more normal `xargs `, because the command contained semi-colons - without the `sh -c` wrapper, only the first part of `` would have been passed to `xargs`, and the following parts would have been executed independently, outside the `xargs` context. +[^2]: While testing this, I ran into a problem - I was testing by running `ssh ` from the command line, and I needed to enclose the command in quotes to prevent the `ssh` command only reading up until the first semi-colon and then stopping. However, I'd already used both double-quotes (to wrap the `sh -c` command) and single-quotes (within the `sh -c` command) - how could I combine both of those _and_ wrap them in a string identifier? Luckily, [this SO answer](https://stackoverflow.com/a/25941629/1040915) provided a solution - by wrapping a string in `$'...'`, you can use both double-quotes and escaped-single-quotes within it. This also required that the slashes in `\0` and `\n` be escaped, too - so it ended up looking like `\'\\0\'`. Not recommended - but good to know when necessary! +[^3]: There's another `fi` at the end of the full command to close the first `if` which created the session if it didn't exist. \ No newline at end of file diff --git a/blog/static/img/Why-would-you-do-this.png b/blog/static/img/Why-would-you-do-this.png new file mode 100644 index 0000000000000000000000000000000000000000..b468b7b548ab4a6598211f779c8fefcf60c80161 GIT binary patch literal 59809 zcmce-g;yJ0*FFpsm*NyDuE8A&w75$lSP1U!?oM$DR@~iP0u*R*hvIGpinX}&<-XtN zS-`CS1;%H%QXHMnj?PN}6?qzKO2j{gikYVjY*MTMTdP(pJK|GPl`+Y5L zPjJHdmug5U-^cFQ?{BMQDu0hx)1hwZCgM+id-47*dN;x~l&EOGFhL{Qagd8l3HE!w zI;eBXdG!ylNO<`4u=QW}TJraNd%l!oT-f zhPdUg4CGzfFVP;g$p@}lSY3ZFdq~jk8@m&3iN7gNr_%-cp$AU(q)xr}mk)Sgihcp4 z-%R3CzFdT*h>|Z(UC*^)99v2q9Y?YM^=r$yJ@1CD`x-#WmWRu`g@4Pp`mIG^Faj12 zYzM0@bno=?v=8QYB4Z%u?K^ud#fpW@0&;0=lC{|f{v$L$vQ;X(%9 zdLxgSoLw$2=~YaTYo6<)$y*7F(5JsygN2$EM&7e)OIwkb?lC%h2^+IzlcVnRzwSa3 z!#XzwsHCg)QDsulrSREI@N5+{!$kPec_T%vRg%%=0M__s2vlhj%53*5er2Ps_RJ#? z%7`o`DYZABS$*H#**_=2f+=52V8O z>(f74^*vYp6KJ=42^jNSPJYg*i0;nXYCHDquhg`y2Mk%xZ)iTBT?LxMqJ>!q^PB6uu@DyX-f4 z1ZteM{U%a)tm!N<)MWQMdLc{2NI84#e3qVXJzn!+zL6+6;AKACwb8I6OPqXOUty75Ow{Ife1D&9ppy0jhG*iqN7$cJS(z7tL-l#noSv%p|P~JL0eNxt4)*4Cfm$7Hu<6j|1a+XSw*&U0a7oewy^57M3EJIy}xM!N@ z2Kn*I?7uqYueps*;5o2e*7B-5Zs4f;*fE|7F8ja*0}rCJ}$sR=Lh36>!y2#j;EFFEc5mF zIvyLa+;`J*!q^|bUoPLY8rNODK{#yvvw~m3)yXos>?*}kM8hiAj`nFclQhMCvp)6K zPxPc8bMIQF?j0Q1$~GfZ&7B4pDv6+W)n4<7S!^1rI)#>*wrQ)!TnOIMrk{C_Xqc95 zO81vI`&wFD!GotBpJ-!y+NGy#>`uvJm|HSTLkZ^8eF)x~F>|@3%R40#C9JaB6Ulya zo}{qCRPfM-|ND4?pRgc&(BW5iHq;#`IK=Kd>r?nhVZo* zA%u+5$#A8l50P#bH&d5+LUi_pWuGtd5>8nutx<7eiL_Ygou|{j>^bw03+-6vp}xI8 z{PP^%y{!~OAs{O;@uJj)5_t8a0J z_r?a8?PksXi1#J%Ge+wl{+3Il@my@>JZ$@(tdO9Ek&(HW$~^vy*t|fQQry*jV!U%t zU_xd!TTpN%9qX)iEa=X@O5bL{hE}ypv1)e7=#!cQGgg>j8+N|P8_(wZn_>J!X%3O7 zCHDcprB~DVy4B=M#qfJdF=a<~E*N5xM+Gkf zaZJB6)2S{BR(}&rSC&lj7@d47QsXr{ncNj|mYt`8~MGDkx%^%{~!ZWS#m$MjZTH!}HNX3#W%X0h@Ur3X>xVK5XT2<)t6&JB6 zzj8Jl=Z4e;XZ-zmCD_yEeO5kl;}e<^W2Q?F_oix#82Rfvm)q;lzwAHAxP-J&bqUQd z*RKKDqetn-fddvH3T`#i9$9s$x`^!dy5V1f;&wW|l$yGpzxD3zYA>mn1Tkfsk$P;{ z{K67Jkbt775;8~4s124?Ht?l?a?-j)nD|aYEo+rzvH#$&uMuGmaf5p}{_p@auT+@iwES)bngfEovTAKED}cnT=bqfsg{DSjQW7p^BGC zniNyQJQm-61rAhnAxtt-Jp(I#c)s_TwCv91ir?-ezZ}dU8}&U9%=&d}+D_@E zBHf4>q`%40xNLr$#`!&^p^{SLL?2OYL}G=sLSY-W{(;fR>rZCv0VdTD0RycC68Q4$ z#FZvaPwdTHoagh=$&b#VIo9nvPk2cS;qfuHW#PA2{H0h~O=hi%$GLlxwBAh)2`KX$ z7&H>-eW{_VECZcJJ*cJOmy4hbh1864mAb}2ork))oL_K@e#Go`r zJ8Q^DTl}ieT*ewGw=(?=OeZ)(eWYX>Gj*F3ImPxyzMQ#y#nKxBH*gOnTb+=CEYI_! z!SEFfIwF!JD?hl9q#sXiL4HEGg=k1@C9k2MS;KpGbN5Jd2e5eL8@Yy&ZilQO-M8Ww z&MLJ`Z|b4z7loAv`PMI(j8s1be}*y+{EqylAo_>6Ky`!@h2DeYJ6s3thb3U(O`n{mu|eSbsD?BZ6vMl!{zr;SYCs(W(jnH1~P2iu_tWlBd9UM};d;6g#%xJzR8Y~d9ghF!L9S^o{1cH`hF?|)pT6Hs|pVn=v#d0A!U2&5V{YP4U9td`+ABY7zHdWSDN0nm*Kf$%E zy6DQIG&RL*=qIdiG7fCEF5G8CNdsLo2I z%I&c0N(LX2sPn%HMy1@(WWW7F5?BmQAD29)S4N0Gk*`LJl5F8p2>kpqM_hQ^yqECxPvU!| zh(h2qFp%!g(8&2DR1vjHxXd1{=3;x7?n z;+PqxL2r~o-OZO|a@8FxcUEFqaz1|7RSL&O?#;!Hn&(4%oA0dc6#eIDpe^E?xY9ih zC*e3Zij)4KpZVptNWmvTGnW;NrWNB8dK;sVQoZ)!S4YXqFS3HfVu|Ys)msU095T!e z_zdzDFI0Fnz~tl4Ys7j^ygvxk9AucKTe~)|>AFtw7^6My>L!GCz>boFjmE6y$->rz4Nvq%6sd_#SvK+m- z$jL#!3a>IQ=5mD^CAw+dc^ewzxz%2O;l{R=O=lMpCTAeen^3(Cl`?o*4)FQ#sQ%$8 zv1fZJ@S>UK>9_OXqNj1O#W2w&?tm4g++^OLDT*tjr2$HuEra!FdkflP(FT1~><7=Q zhu3%TvP+-SIS9^{Z+@s7*&MElWIR$&|Nd>ByBISp`D(k{$ml5&9?RoJ%K?hy7M_4| zD8zM7z0fuDpl|4XR`u*&BDM=;`*iB^*nFK~LpUL}_hpPBlt@mx8A->Si{ELA;d?q- z>*V`8RpmjvTF7sHEE0Q8T|BiF$-sTlCBQ;UvGJmk{y&S>0cJ>XM4Tq!&Vg=R+g60Lq>= zP+0W-DF0eyWhl|nsvT#wCCcE@75GZcq=a>x26Yv)LLb*t<1dt+%G`cI4$d=+9lvb8J}-<;XoS^tbjW~fZyU%vez zLB?V~9$hLUBL7~KFXtjWc8K|aZ4%run(2P=_WK8a^NizWl%!soG%E415M~9Y?=rC} zIRqGh&V%G}tka$t zZgt+Swi~-w@N#q25P{x4YEHfU6ZgCx=*q#(dDgF|0Jt0}mv*ex9WbnFf^4EFD+TxZ z&nLgTEE#qL%}Gwj6%Gyq|DPW`TxK>g>>!Gpys|XPFBAee7HZv?qG>odDmZy5aSgAP zlWy%qvqkUx`yAIZ<@3?j3LETv_z*ZW2wZn0a>-KM^kYw~g*J3dEwSmG7P2BcG21n1 zC0U>|qd-TmJpRcpRt6tWIvPgbEdUR(RJd3CFNO%j!vn+w!7x-Jq=Cx=DH||a`wef55f5z_8d%nR#4W>y83CB})YSWe$5cnK}bQLuH8@{3?h|mb< zd5ZDu)3^{|Qgq?$1e~+{XZ{Df9vC-3#YIEMEbn|Y)Y$aNoh!_rmx2_ z!40Zck&$N4F^StEO;W5n9IJ5dhh|_N81kIC0us^1qv?@-B+M4Yb{uRup#M9eCysa; zL=S;@ux+%eMT#1T9Cx{lWCJxTnj$~6xdykGX!^0` zqnHW4`z3`6M63v+2mzsXN=y@l#N$+h6j%M#TOsp`7Lo8{;Hrr`+Ce(4VxEVdJcPh5GfW8fcNE_Ns^d3B@86?Tq z5@oE(NLWBv=*g+A6h{hiSmj4Ta9A<=XmCDkUssI(zgKdlRB&K#=X=+&Zp-%AY@ug6 z=r*dFIV-1LX|14Ui!M_XD^3zqPt+hz&m%rzrrj$>%Hy4~IKQ;=L`s!#^;XZ8no}ZC zA)|yrQT{Wt4{%lsVqO7CgLngU5+OPOkW{@G(NSDSKoQH-q^M|J_~!7R|0uB?;~;VK zf>jOIpiyieIHtu`yHo--3`Y)-1T09A0)(ePU3X4uA$rnUfvYYd!WDe@)}tGA#&q&l z3|y&n1t|<+*3sOg)~vIcRb&ywDL6B)dI7@8TTeHG$09qn;k~F)Ng0Qwz$7MlIzs)D zLndim0Fh=d1Tro^5DOVcAL+u;Db_~CDbDfb@dJT!KKFsRZ>qLbycxE^QZ7#^p`E4O`Jdy|(R5 z8Q^gz?606j`(hF4HPaw&@Pdv_V>gd;V?gvJ*4jGh(L@onp}3d;41iEkp(AvP4=dns zz7JzXidG}!tRt9H;9{e9Wp9MCB9i<4bYvW{M@^~Muv@sQ{>4tnO1L-yHG0&geJ(Xa zo1Vx@>=Q;Z(99Eo~@ zDxW+8Gn`scfr|)n959frp_c^tuvl(`WQ9R_4b76vm*X$3G-sn-m~D=rHZ3PpoF``H zw{_8~C*rCXfXIo5GJ<$he)}>Jx50Mox(2o8!9Reu%`YuEVpaZX!jp@C-zHwQH&|Gc4Ml4ff zoG{txjcu(gX{#`(x{%ommM~qAa#07!hv!!j=mT_s(MTnr#ApD01^P(yxJ{F=f!lw* z=pvOoUgtW6b!G{}Cf35JgG7fO4W=aQL0L%n@~zp}?5#=w6LbZn1Hxb@0YU@Mq!paQ z6p2i;nRU)$iiqZr#C=Y);gPeiRjWBkl^hZ=4jT^d@S?QT=#}&5u0*1Z#D2bANJO!Q&iiq#7wTu zy6vGe{!B0vYg!4DrB}DZ#+m;xs=T;Dw76J>YJRyp5j;CM<#;!zOu#lh?JS|_KPkd< z+(M=YR2lMv*wpjta=d7K-iEN`%s{{BetNJ&$v>};#S(Z4glqkLA*Kk z&{X<>R)Nf(`T-M!#(ku(0biuhA)^V=p#~*}&?A1NKK#&j0dYI#i0y2N)%pG@S=#A# z2yNH-hg@Acngapu;Z+3Go8_3FCsxK<*$8uV{`>~Y8RPde@g#xb;y=!PEw9-6H=@8Y z?$OBNcVfl&Lm=A!OTv5Q&gaGIi7<2bo#o? z*AngoM0gDG-Vorp!azvMxZFr#R?DinyGYz;|8D0Cl~J7{p0W0Y6M6i>oycv21aMu} zglSK>tEv(1Al?d{@Z?|+94%r}qFcC;j$B$v39TP#=YItjy^xujN(iA_)|?VnG>o@y zE6}Q1PmMe~OVq=lw*}}(&Jau3Cl0P9L!jaw(nR+dZVF%N2$F-Mlh;cX%?;in42A^J zSA2DMhq_8|v(RJoHm0v<1*rY3HeUkY99EC~1VN^wO>NYqj^6SL<1gSH5}0su+bYec zMz^L^x5q`B+eWQBU;bB0qQs^iC0n)84hu+~>kjHw^R3-7p4!qbV}q)kLbiWQ&#?8! ze${|eoGZrp>6J{Q<;6ZQsbWZG8jG=@T0;-d3W4K_1F?$cxk(UjqYY_Kf44uRfsR_1 z+}KbV%kS2iXbygsLz?@Ay3w@23SuBUOR$Ln3wV~>mW_qoe3_Et|KdmP;}?~(Zd)Wz zO}D0>`zmFUHCmStVW#&md4QNYnHooWOH8uc~1;T~Ok5oYVD zJj*R%wK`L$ZknwUc0OcT^GXJb{Ohh{cTTJ30*dBDa@MHTrHO+n#l>L29BMSLCegY+ zX5;a)*o;Or3y^Dn5S#6uX&bq*qg{ut%^XuX2dIcYD!(w{%fhc!%opZBpvIyKoUgJ5u}MD3|#0{sbYR<#g>#~6*yOnwmGfU z;DDq89V$|nhn{a*-!K5AEE*-+S3B0gS?g}`>v>T&HHvH$ce$sD`fq^X6dc4s9QGPj zOks_Ptei?XJftRmcDYfFrd00uhiD6lJzgpg?#J^Lycy09$F)~998Xtb1OTU<}; z&QIuqVz?tDGJy)}qcZAE5t%In>k-lIXRR>@29kHCC;wsy|L~SHm9nPYUt1e!%?oZq zmb|bHlJ{tM$~3Js)q69xbCx(O&%RAw=dGjCUEkcI^=bM>nLzQu9Xi67R7^oWqucdPX6MS-Oy*A_WzmW*Bi1 zREEY-cTc#ySR#d*G}3~jLy#)sz9e7MDrcWqF&w5%#@M||2VG!;)JTJ4vJDtGGy4mi zE3vWF4Pz^&uF9n|J4a}s?u64$*PR$nh5|x(XMQYi%xxPTHo*9uGM2jfZ)#&p6H7H_ zQ%VN~a*s{VCfP<&I~b%)#B^6%Z1l_15o)dCP^l8fyS`YC8+ zqR58cwkcE3l!5lfSB!$c5+IVT}O`*Q35t;-B)< zHU|-i?;r}`g-D4>q($T=P${h4UWYG5sr{B3sVAl9HGs5Y9c_fgh|PB|Y7TRQMpZl{ ztA*K@8=?`faHP)MNjqGrMQg!kn_1^?9uMpO6^3x00Y@j}T*_imOX*@vxd!uX!`{ui z0B=ik#`kSYZVI57W*u-jL4>M8Bpd(C(oZwe0y>FkB_r(`;#eemYUL)*XkQ3TA}amk zZ9>c;x?&(B!=(`ntL1xm`i5zPR55UGCN3i-i!^R|nPQ1564J_*Z_5qNW_YRNsEp*0 znp5_o6O}OfM*Y+J-?zu57TUU`O_^!QI8HTir*SG*NO93h;D8hrk*-osV#+-DFu|z2 z2((nrZTQsO6@-Nx&;}eB7^IHOxhhq0prs>1h#CB|BI_EWsPDB7LV;8 zcjIF*-*5^Gw@pZF7HKfsADyg`vvi=BC-TAB*eFlT%WSAzQW`g{$Occ)v;sgmo-ugK zl{|cUHAE}Fuu72W`J5l9rM0Bk=$XP%5gHLTmF%3YC#cDf4~dRiE@o^`8GjIik_j?4$4)Xpq>VE)Ag zr7WcEpjxwqYs_IbrueiW?Pit*<7RA;B7#R*`E*8=RB{kYBp~RK#d>i!=t=&QXwC`@ ziZFR0bb5zPub+L;i5@oh(ey)6H|u6v&)ni)Yp>+8CESzt|AzJFXPQBp8FJJ z{X6dnFnx}gO>+TFNQyHg0&8^+k1R`I4B2QB9KguyLAD z?gUhYl{ZQKwb1qBvJs1!K349p^U(|jevUpoB{pozwj>Q{{xUq3e6(Pm>{5-Ef>L$# z+IPXttsEVtfg;j@rnDZ5BfY1&ICLrj(6c3vuzXs&kJMHe;<93kwGK|jS?|9;wR)&+ z1t<$@C;WLdJ^wfI#LXQ`ud=rrK6x7M{orA&=Vz&TT3P%yd2({nDiXji+~)Zz=g@O! z3mW@mn=zf~Z#}9CQH{dy=apU&{t0&&Up;!#J8#6ddmW(WeETw75q`vOLN8M*6}inm zKO+>bm1NT`b8V9T;FnPP);a>7t)!ibP#wrEj05u_L=7R;+n<-`gWpa3RXL}%oZCAawTgTeZr#Xf=tZ+orjYo@8hvXv`(1O1sRUHjvrH@K3`^aPPcfbLby=(ury_FT9V+Pr3JOM)RiW7}m@%w2GkfINvjegq`U2coKw z9MJi+<-75_AcvDkL}Ysu+ed^*!~3*%7iSq2f_|X3CSz z69!13$`co0quqF@a~6e94(6_a=)b^o+0Qz+)GEhebvG_P{?CBu3k{=6cD}|a-DOkW zGb=)$_P3W7d;E1+g<>v+YKfG5oePq+xYb&1Uf1$|HuJl6|BIlBV0`%?u6U+{_m@@s zm7aEJf+K6Qx>R!r=*U=`2Ax*(r&H>VS&|J`fnS5{Kp1aGqK}bv#k{lRr305AM+qlO zqeCm9Hiiy=W=PE5Mx5)J&&2%0WsbnT-m6d^2HS!`>@jyPMt$1ysfI;iid-rhB)Le0 zt(B2JDN#x#fR_5Oef8rz`jcA4m^kFw99M6JGt<9>W=-E%&bl3zh;I&4x~)fZ=`5J! ziGN=+4RM9j{dR1$^T|euFIhKJr%g9xqmL5K{o7l@NZ3H|Y)XnPb=_2IwrrXK@2!kN z`gMT)`lAdE)WR~;J+59)|C>e2g75POC*h$@jHZ7Ag@>>jfxWKm{>%(+&(#1&4X$30 zOUF1*oN}6LCylcFLNoOusRNbS^^Eav!CvD zd+tQ5DkkfXNR?krVnHxwos! z?Cq&*+L)xd$}4oZU}kN)+jyO)%h4Z7d4LexTOx@Oo036Qp%e?uz<{`1Kz&ANLqm5~ zlQQl+!i#BiEYLbay-?ib7@*f=%SH&Uaj?LoSQJ453ws;n^mTz>a~9v&YQI)J^7ZQY-~K*T z@@Prkda?KdGXbH%I{pFhCOp{AFdu~$gD`w($!)k0A{TAs3Y&nrk7dVYEQJO8dcTtk+oWOjGrg;#`0q5j}o3-6smn@-`z89W<{%7FTT9*3$_0F@-5OBJKwx`5Lv-Q3P<_h>E)#ZJ~u%@M4i z%$AdeGCeWwA^K$V6J#oyL6zar4I0e_#d8636~6atWKZkJj*8Sq`1j=1D15ev zUVIXQ#Pla+Lqhj)=34Ja_uUI5Zi;-ndvIz>d)_YG{Hmw}Tv@`GRg-@)UE?B8A){Sb zh}?*zTGbUy05P^u-uXa>iT&J|@1fUuqn&vI#i`lY~ePz8<`KPI>j z@g{7MwsApZqb`O1b`@x4&8K*Cbp2DkUXCiZ?%b~!&DaWvD*G&=T%n<-j}00Nyh{j- zAPAWXe7Qsn{vC71GnEa;YWTdeuy6>@dd5Nz@9(DV@D8nj)oQJIzW^tsAoT)KBym2? zJ|CI84boaY6JiGAY4|zc(fTM3rwYdWUcd;`Qq4V6Wg}=*v?^Z>szfhW7%>NA;D@|z zn=XD}r*Xw?XcbNFFuSt(PU#w$>#3c*$p@Iqnt!Q{d0Q(J&~$kI%X;db>HSgX8|Y-; z-i+8o+g!lUsfmDzB9D8oqToT*xUse%2RD*AYTgvONp+T9Mn630U`p!=k8=XHKo$n0k117=YF(O zwH5G`)%g4pW*KlQi7;WC<>PxnUb7Wb2g!$?h^=m0mU1{o#3Fj5Q(&Y(GyyBx2zT0k zu+ZP1WB<}h9*KJnHCq;d(PJb5W%ZYnsTaqWoAVbUYQzO_&!2FPYW#J}-p2ji@KzhQ z*;YjdiVtICO61d-p+fs&ka~`2;&>WTwFDP}>*Lw3Ee9TCkUVZTe<40C*xY6wZ#ywx zaIU17kFchK2t5Ts@dGMqkQl0k9-Vm`Z^`JfGX@Ok$2?Dtl9pVzx@&ImT?kXjWGO%_ z;_j;X|4tni2`C{vW6os#MND7?Iel%#}<;h$iE}>SKJolSjLD!YC4%ujVY`O zBap=Le|Z*kak7WYJb$;ve~O5n$u-$=!a_p*>EEu*a|0fZ_yD8UmG{`Mf2Z!IUhmJp z=H;PmIlkUFHuS#!b$n%07}1=0KH;HSYK*LH@fec|T%{L)%T#f~wwWm4-50}aVw|LD zk26RBrnm!daMz&S-Dbw0WSZ5@cnUQ*3Nj&1wTdv#W>A%xcyvLvo*Jnn5r)>PPw-|^ z_b#1zr~$-^Molx~FHcZ+d9dh3so||}+~kzZXmEU=NzMB@e9D|DM2f_m0G|`F-C~jG zs>jA=Qrz)56Jz_7>8q0Qbpyr@t)S+NJq)UPss<)ov>It0CXl2RTW||OEH&ryPytlm ziEk4r2af?wJoC(Cbww{g!1uH|fyhxVoKldHpK#Z`ZK4-hzPge3zIK$IyabdMO-Qek z7>xvDi*)9?q!$J2P~4DZ7`*?D1P zUJer$qG9$8r_0!B5%aKVSG9*MwhkVwG4Hq14$YEwk}ZsssZ$(@LtmM|3OobonKE@dBmEs@hAn}vK@LeNbm1Pm;^r)D6ufBEk`)--&lhTUm ztc7R?hL5w-$lB8FukOgALxZIXp^I z>-%9yoWx*VM+DAA&%g9k$(HhKnC6RBWKO?z?2DJiN58hRLRgabi zz^EUj?aYG@%W+-*l7W_F%jkV%BqZCPd#=pW3%k^u0{;kzf@s_QXL54(A4TszEs*y7 zx#yrN2GMrHGQrk-lKI-t+FE8g(z4a&d0a}Rna}e5xq^ynwFkI*r%0ZbJ?Q$TmATYb zVZ)6QtrwzUc8m)C4Tgk-dJ#dDK0S;QxmyaM_Sy+3F2j{+r z{;Bl~mC5Bn?gXz#lD=;ohR4K|p7PbxeJ@rHKA8+-RIrSdLQ;7U9cm8FJ!9wIeVG(Z4d1k$GP9nbU&Jx5dISvy;GFJCy9U^|RBWZ!E}CNJ6Z< z@p%68TZ*`rJcB@|lipjM+o)h?%GI6EChJW->IoUdKm1~uS)vEvW{$5ZY3ssc^&bou z`5^Kh^*?`If2{y@9|rU4OiiZb*`iH99B%H;FDm@E7huBg*+#;*8(+SfT(ygu`B>V+ z)}ZhC?d;h(OE^3hKOuqM;&~%bBQ#ME^$-bOQe2D?6@-b9mSQ3fuqZKEh?CAr4*9?c zJ^IKFjgtv28luPtSGfHCDXiDw;yniSJL7#zE;OD*D+@>;%NDuUoy-x2Rm)%Y_hFf9 z&Yppy)9a4t^ME^&r>fiQgKuCQ(x=;w*KW}bOQ){s#hw>U3kwU+wN0Z{dQZ-1=%Url z@07oE#)9z`12Z;QXIkjBRrg?5dv07pV6}Z7sodTjDpSYJTbBa9GqO16aNj|+8vW?y`#gWY=O$VKRN4WM;jet2ux+zf0 zGXbRkq3Yn(aHcW)SsTeBFe`$R#AbleBvs||BbfDvzdbyC0^tGl`wHQls7D^qAI@&; z(vrkPUcW06E@u+_vrQU?R~@?t5(1wj+4Tei4Rd(#@ss_oO!JJ&`J^DFdYyhF|FlIc zyF-Mzx&LvxC0HT0aoZd(d9OcidtRT(@Yb>`j;vo`lEebNOdPySbpG6DE%arS_S9CW zr8?GIg^P$Y29e3krfk!d;>y}~GC8(vt%#XOM4_#DVc6%xx>}`(it*KBPzefkWC<`b zf}^{9lHohZ6G8Tkt1H!`HT;RCRfc2)`oitQX;qLcjKBGuo0B6Pjg;@WAD_dG*G)GW z^y641s4?r+!qOlhfDmv7cbPbWzT~hsKJFLk?V8Eqlug`P_M+cQS-M_=r6+n_ZwNAg zExOv)hdK&S5u|{liv165#ezwK{{3XPS5*z39srOV$qtIo8tF=BDXAu_qN zB)IQF0zj-#(b3V_-WkB?x*xRFYj-l9n@qj-$&vhm-Q>6#5Qg*5cx?mkqn_k77y;X@ zRkUHH%1X2z>-0~WRr;#w;5T)Oe)f95FS^b1InW|>>t$b{r|-7s_9IOD93BG7%F6DK z&;1jqFz*dt(?!>)IwfEz!RN7J%p_*RvrX2ero@4bc964>@4K}E?Z}`-n0(`YlN?*d z)^7+6TSRfNqO=O1gsvF`tu+M!6J*+89nC~2#xzXZEn!y3Oi!HS&rXl84k9$Pr;?|d zUzWC&n~*Uk^d?@^cl3Z@IO`U&AnSwSWY(6;9g5Wu(9xOIl+*z-B_=xNyTTSF#mYpu z%TbkI7jX{swSEB5`y7rm?P=eh z1_kcU44>!O(9ZG?18$+4NLzuA-$hT-UDC$PRk8(xTmH6RP36hD;TaAe-;HnUXFy-Eaza{90aSFp?g(h()*2Tq?rvyzHIE?v?1;b1onP67p z$hBJhl^@cM>Wr=43YW-z7;SGur zQ11{^6EyMVb8u{sip^0)s9s;fMdt^i+P%M(3oMsF2_Agtb}uOb8XM>>-0MMJ-?f;8Irg$@)z`P-%yX!91^1qXj9%3*{v; z#-h>+_jN#9(PwPymv+4@uVgu#e{ znG=?8P`IRAj)W#@++PliRUBweVQoj+QK3WXl&CjhW09CngT$lDA-LBDiCCyKLwDSI}2Hle1zx(Zt zlzHtX-KsGWc%QH71YB1cy4;*VuY5jMw=k7hwSq-pjb)chrU^VEBK%xV7ngDSRE zl?8Z4|1&vE24|K#BCTZ{tf+l5-qGQ$@1Si)t_hXElb2_1a;9tZxzVMb4yHkqXikwc zMO~8slWb0p?shzK1ZY zxzI4+MOxrZ+0>`8^VgU2I)&O6zXRyzcGl+00y*K@NiADChv6^S9zW68x0l6N*VoHa zkF0}$o2Jz}GP}6F(V9LdaEJCQ^a}2q^O>N zkAEH*RJ~I?+8(0xIlg(EGSNF9-?9h+D(RTgkmh*{O4K7-EPfDIE}fE%`e9g6nY7$% zuxioYmdc_<*#(rLN$j|Ut8`BSn+8m5BU3G63~E$>%tfKS34jYP4^)_^SRhFLYEw6+ z+BW93X8IYzS<6?%zgo}Y{AKK;L&!{$TIK}9An}IZrTd20E}u}&WP}fU4Ij_kT-QZb zdWYXVo&wx4B178E5eFOfE8E&k+8c=&U(g{#0YS)q~>X1c)@vYWBudnep z%`Fp?ZxiwKBuop+je8~4NfRj8iOl;E>i7TI_`w!zMtR@~rTmmsUx#HtWw9S2aUn!>6 zrAZ~JqZ%ZpH6XRM=gPlJmU1jeB#lELotsH<~)8^!al^T_e0cd-?~LJ!07e@{)N{83p;a)%{sm z41T`R9iN<>w&GoGvcxU{W{jnCaPjbT|9X*;ks+a^EK_B2+3xp+4dI4atRyzMrHKhd zp(UCtVqgGi7uI0g&A^Sfy;@=TE|ofJe5{GX7jjT3XtF%z~5EX@At*!lG2*^p}3EhM?CL z73?h>+P-(V9@P50PzbrTf6H)vxT^5|wd5`033e%B+WGSOG{scnwda4ntGoGflZJNY zGxI#==ocy&@4Y{-eV-n9KZ4agWjC<7RV!bM7!9j<%#fll;E?(sx3mN8Hhvr-V-8LY zc8SkHC-UCq5YNx1$S7+3Qnvxm@n)u}rD%Aloczp42BQMA+*RjMW2-7AY&#wAvI!B? zSZTCjA^aX$#he9Z{%_;7N6J1rlgrw3B6W8v>wm-ev~wW3s=>s-i2Wz(vmXS7(&wv8k$8csR3xj(+L7B` zFG}9lyKi1^=?N*lF90&KLwD(vuRK$t-`Zt>*p#388Ab1{!IF|sw}E%Q|4g!{PPy9~ z91072AymC9C%1l2f3YuMzWmRc>lF9LkM8r~GrI|aiHvyn{u3NuLs(N@dY* zm3>#ezcUcycbTM#p6h8Z)s zrgi&;IhDJps3`*c;1!1<}?%g7s)sNG1UMXBl;E7*ILYaYWc^-=qA`R(bx^m-BIazrl2&oAy! za`R`bsKWBs4UCNg;Hi;d_*cs|68438OVSC3*Na`shWf;)ldCI&0btbMzaK@eww!Zc z_ooC>*NS8lxITCX*|bE=WWGUp3sdhFV`mXAu94t3D9cb!%6A+FOV?R=6jRsf>LFC9 zGY<>W4XdXcstaQ|MC&Z-Z5;FBIA@b*qoW_i`oPf(Ku+X+qQ3&)c5qZRYI#b#yBXwj zYrcb|7$vNg%^l-LkLW99=ISF#TgKawHH7)hKhVeUlD!*gIdhqVtj6FdDlQ#ahoR%B zh1JYctLmsX2}($*@du!D0xdXP06YbJMAX@bU}4T4=Hm-CWJ-)$?$C^hZ>`H7DO(IZ zc_-erftaR#&C9OmtRi}G4gmS`5`cS61&QQ5SYeTbQKL>^sm+lRCIgmq4jvw!P_DLb zAW`?Ka>FeJ#sKx?(v;oWy)Q?KXi#k=dez=7@%ftVVsjm!+D(u!qM5Uxlx*Mdso1q5;B&DUhQ>B}sI|oEykY-3hLO?`vq&tU3 z>G(G1T<3ki3;r=Yv-jF7?{%-WOOte}rmv2p3O9acPjYf`!zv}E0`{Lsou(x5@$#xd z7&|W4YW+5aU)O#88deuci+*z!esM5ACXXxm6B zWJFC}!_>m#6lHxq@bfe|g;EKc?6f~=AxKLIgxU+re$e?79NE|RSvF1b-SJt zM=X?`_#F}h4FP9GdEbT=Qp^ah_6II41Dw2lkYmc>b$MwkDmoew-;<(k-*X>MlJ_jp zJ__!iHJx442TXdk@%YNHZ5UgYID;L>5B*>LAXnb}7}!9eJ|kE0QrDme@m*8H!cowv zGWun2$WuT=$XiQPHy#+9#NA-qs*6ZM(aSoI-BCywF(a zC^}a}BuurXJj=tQWvrqat|7G=`*ruiiSvUdn}fz|>sHJRLH*VIN4$?wi8R}Ug_i<1 z7g|MWmiG2B=G~X5uRH(J12Sp(7nG5a;dcnP1F$8D^UD|Z0y&SBRx05OK+1(1r%<&# z@e6Jit^171N{$w;4qWM5^uZ))^-8_9-iWi?9cAf_CIj>0MYCPCpAlHwaIanZ?wh~| zh9v3xC%wl5B%A zb-5z1uC7iSzH()LpI3PQ*E}nyt-hT4@9?Htb#?V|VE2Xe*U$$v;Ol=n)^^rIAspc= zpR|Ia0TqADVbJLe4YSs_$L``0=Ar)*m5f1~e9~7#N&bg+(xYwm?aPuPG;UX?Oqi<= zee#bf&QkFHvUCqrjTFIIM)UCPh2O&sO@)3HU|plqx8Ik~wkT?Wa&k(#3k>2m>-e_6 z&&i@0lu=x4A@y%}d37JopC=wjVuiiEEI!DP)RAP{&<{8s|D(=^#`!7_F~Bnw7vq-^ z{Tv+y3`fLohbJ8radib3?4In~crv_6kgu70w!Pf`n)JTlM%TmD&g{@7W5Lp$6a*tn zUifV!=cps3_NEKUV@6A>m;FH{MbT4IJoOLl96q1wXN{>!uAe%>IprAdK_ex2)nCsD zOwPPE0hpG~q>WFw5Qd!{#Ld-n$_GZTPFu0vg1M`qI40*#R~pxUnC~Z`$L3E_PgQsG zZfjom<&M8I-(p^7b=4Q}tRz``&KQutLDJhaW{PYY6Yd`C+1^t8<0*Xq#7akraL>ud zg>4K}PqNF${(S7`(-*j>m0H1(7u^rMm=W~J&`(0S8UZ?)q~@2?&M|iSFT6iIoG;&V z0G@b7p5_`o@Zz9i)?xg;&}?_;$0!>A@JH{o{W@R7*}XOq89N($$g8X41#*BO`3q@5?+5^v%0Am3EAzM!g~(pXcdOD;y{c)!kC%tpleb@tO7*KwCe&VgT%AH+V)bcOe6OnQ`1uJ}s&8k9 ztkh~iyD`X2QMKaR%S7B&UgWd8XZR;m`uf6=#JaONQn3$NZ1=F}VQtsBj zdtSQP<|bJc^Sj@U(KkJ8$TozG_tVZWbVK*y_bViesiw% znEBA6!`)UTjygO~zYLPTv$2T)yixiKYQN}{6Zb@_z_3j7dqDswFlqBjfx|`559i13 z?^4r7HU*`{{a0u=J+fPtL*fj~?_L5v_`OgrrBqOOgWXttJw&iRCr?7Ab6f#5)NZ#7 zo&5K*LgE5<(_^;_VnPSRF?Tf@D@O{gx7s9`<#`9OSi)B4!jQW?QUJTyT1Kei?g8!Kvt$hDZ{k}+fOC#E-Tx6jVwHY780T(SF3rX3?| zM(JnHah$9-1%DxFLL06(dwzuo>ze0PKt?{$P1@%u&MoF5G#=PxQ4*L-^nM258a`d5 z_OW^O^V^OfUH#F)2v3#$y41D1-F*}s=&znZavit5ryQC>BvPV(Iw1hkFcazhk;YYDuLk!M=jdK>OyLMkB8K6PgF{qrBULmm{X7 zv-=O+y1E92t(vi}wFoO8+epm{wNm%sAyX5hvcQ)ys*tkRuHYfgDw{Bo#F%xz(QUv@ zLBYI^aler%(Z9_s1b9Osa2`)CJ zZ#oT@aWD2~)u3QS^q#<@{CVxOj#o!{58M<;#V2Xo&o>s$jKdS)LtAeV$-n>Yjv*NaL9%tN z*LA#jihn5Z`)L&#jo!-hlAg325buABPS`hfZE9|>RYgkws?^g7JeR4-P_5z3O5fbS zYMe)}V~3ZR$O`OLv8@ltLEdGOG>nFSprTwAf46*Fx#w_tMjpJ*C(&rgb*yohgo{%@p;50Ik{ZTL)TD4Af_+LbTS3%T_EhYouzBx{j!+`FcIc9l1%k?L_## zcAi4st+(??Yf+kq&cheYfUmKN2L?WBuBgWHCDpd&slH5;zrdwlTlCcevVotg-<1JR z4~%#mZGJ3;~C2;);Ljy#{$U%8f~Mw;1veM&7eF^tf}myNDQ7zpFWfADxE&i@jgwULy6b7EU7 zL5Fu$B3PSxp3P5oL7j{)%ZZkP$7nFi_lOg1|H|J?QKmLM8w+%I|Dao;$%hm}cO4z+ zKacQr@yP(dDNma{OfBiVw>Xp{-@fBY_vX5G`~pIx3u`PJbUz7&Z{VHlJ9fGA;PZiH zch~j55b$Xai&WpB^u6l&QDNEMg!@@{dlSjytQ=kV!o(Kyr;d{WBxT@=EO21!7G+j` z{_4iiGAx@nP#EJQ%5KSeCu>{rtNhv9MNTnFv?rFdx?6vDb%9O_ub9|Ck9-uX0Xv{b z7ZmEI@StpHzhXQuP^WU|CwT!iv<*-L0KUA$kQ4Z@5?N%2FOX~|AmOhuz9(DO`Hcyi zjFhylW=Ly(oyMj80q*SkHgTLmk9kGmR(99x*z#NT9W>5l7wkf8uQ^j`wgYa;VE?K> zBDknpb|~r{!3Y8Rb&X&$x|H69AUn4)Qz0VHVEh@e)E?P7L1fauxyJSTz%0#%oLzxY zhnQ#4B10QQDT<~CbA=7joc~O*7pQNUYw+Fk7Hb7vE|_GqyzAt#gkmk+pBS^!#wuP! zRuvgV2=xE@SzWGaEToWx=pe;<5`juzxSPjVg+S)!F0#}<#c5mZK(F%o?I(W&gD zuj01a>mPEvP6ISea3wDBBEEhDFuRbGxb4ePj@PM-Ef0yLk#yi;PJ)1RqfjesHMO`$ zIH$q&NNPYy86iN^mJ;oe*LUaA*>8CgNx~Q*_kmb!}3a^E?|PXhxz#sVPI8tm}g z+sHW_^ChhD4wWxi`Bj-K`T$`xZ78k-jBN@4N;Rn;Bf;<{AJ8I;iNT2NCjj*EprWEs zG&mN3I|08T67ZMIwc|t#=<`k?y~FYH#Jnexa84I8t?_?hszMeTG!SKJdhF?3Noy`~ z8#uAt$Qcjet_c)yZj8$w#n*lEM#aX!=uI41Bb&?jse6IWdjr}T1n{S&rO$UTWDU>* zUV`|zb z1Z6v&_M#vM)kR5P+w-O9gg@Qy9=-%GMkQncKmM&3=Lh1G!P7M^O;cQ23_2w&D822d z!?s(ZH_2}!P|<()KqSl+>M$cvwY}@vv(4{KbR}Llg1PyHg>U-GrN(-{eUkzZ?Xi{L zc%`Kbw+C@!*#!jwYh!63rgFP-RwAsj3Hy3DXV-%h#F(7~IUe48?&F~$y0uk68Iy?g zo1E`51y>SPXcpSI9iu2w-2bhRJ{@f_ulvelu9c||TJ@*i^~$-BzD&j<1;$97@rJVjg5?sJ1PqM0Bovk@>N+H5!SPk z=N7_B{Cr})Cxk5a_V&<*(p)cgc}GWMdRPmx@Pl0Ow~aoun~RrxB3@x$VxueX7V^Gm z8`?T~rFqOI;?#E(w8Bz@NX$kFC3n37<{jOA)jb>~?Gyee?A7zuEm*FN%g(r)<3Q4E zGU7g4rf(H+)-1lt*?L+(kjxi3Oubicf`pmyMV8&oaq{EN%)F?pM_={@VXqF5$bu-6n=G^Vt5$-!Y%gCe!%<$af z;L|Djes}_2I7r9cBomWboC6Oj zJ2y9QZH!XH?JKo&enEB!C-ih_QJg3PtFgJ6S3m#_-D8##>&z2qb4=UOQCRt19zS8x zEGTbih)evX`TRwc3KYE19hwB)gxZ0US`5wJ02(5TC#73+JEE{a$S}y(9g{KB z&f&V(s)9g6fCkhQ1?4z1@kSISs3v%)6dDrWYl1U~=Vwtju41AA#wMMi9>fO9Du(k0 z!2}+j*)sA`%KL;8tH_#Z>F=!mYH7!=mnUNiWMi|h*JPB`I}<%ffiY2x*@LZl@t@i~(9yQIQGs`6nhO zuBVC_{%j9@i3156XL0K45gsfC%PW9DbbtQ@c&O@Po$h7EqBs>}dC;b& zmtpO`E{Jw|1Q`vDol8gtYwVxy&}85;l0g-(sHlKcv06-)K-nkL-89p4oBKDS8y8A> zxZF;flvruE9;qjJIxs$JU$eq#yzMptYQ^x=?c9eh$@3z!&8TSOUVF+-h<6%8p zkV}CT5alNp89Rz46!(*L9E31PjlqeE&^c9mO7u9{qdJh_V~H;?(h4qP&e}F>WgX5@ z3$kUHsadM6o)RYNAavu3Gk}^uaU>r6Q&lx(aW}ZNF%59r#sF-;5#7!rl)ZarIccR5d}^xVZSd5je0{(CJH(UU=u_g~rAN%ra~UKO84fhOGbiayVY& z?0kFrJ;@(=;QPb2K^&~C&rXc|H%diC^>1g*C?_Y!|7_G35X?j3RA{F<&?L;f`u^e++t0!nZb%ZC+O$Es)4B-juxYPA7Gnf=f24sw=HTx@=pz zQj@U3#?q_|U?iLM5F8URlSAWTVz>M)BxlK~yrwh3JmeA|=@@m3OdM+db z0s=&D2k>!dq~rnvftd&QyE#GXh3*HFGYf!mez}!f``*#9qN*xax8m1t1Y&GzgHdh7 zpK=h|(2!bCAXSDJFA*eTY%K14aDY6DZT`V;XKS04lT$tR^!~UsN!5;T;r8T3M#d@N zl5wadeniA&iiX@W7HqS4dK{<@E5Xd}5$>MCajn@6jvAWzl*O}5vqjY(rC#X%^pjeLjWBHT&@rjW zea($p#=?rby&4PcJ(KvA-~A|ayI%$CzgNGfsoBs|(Lov0K`A4f#}b7+*jM*Au2(n9 z(smXW_wakOCZo-H*RJPJk3x^>f`jiKz5e2&JW&KX9Uv4ri5lN9d+V<*5?pORMUmU%*^NmVLmI5vZ6b*h+8)! z3kanwg}2mW7ox$}oOgG3fXfHaD^VatlS2nr0tPZ#2DS(2w+-F*5l3A&0pAY?FAf)( zx*JvO3`phBnVAQMUUR`HRskcG%H$?R&f9qP0TI}62D9YohRlju?J6`I4RLX2I#fQJ zA_^xbcX)O1;n-36JzgBs#$N)>xr$C;MJ9bO~eSG5h24ailD7w?7|aqc2=>{-=ks3j}PXp8myU$L}l^BSg%bzLT-qChT(6O=_Gs5 z=6kh!OSRZ9Z2$}jGqZ7BvdFZ&6;D))5CX0w5gL%GaYe`{=k#?n#8OOkm)kRZ>DpG?4Rl zU0thn-5gSsmouBQru+H(XV-S$$L{X3X%>i$9v{;g8O`Cz)ahA!d4(epwI18&T!~b` z9H^-C&kU;M8eccBqa~{Qb?JMSN2U1wJqn2TWep94R@ibfWJ(KN!Er$C7JhegKDoH) zxQs;dh>8xmKHP-bgt#QeWroNa8_!#@JdNj7*U&iW-ws`!ckQ+aadG+X+}_yOx3R$p zxS7EVT?xPAFw5fBV!YSf+!M32327h2eUCcoscg71M)x1Um8})P-j*PHC9Hn7;cQbv z6BPHug?{HNX=9X{0XGFl%@A%Z)M=$3m;PmxD*!}YV_ntjfN3S zHBC(k&CNoTEHGm;!#{p6&rzM74;q`BR#~I6XYEhp;wYq+O}Lfq>_}nA6muhM7ayPR zIr|wIB!J6*MJ}ddZca06LSnU+N@-Qf0AOl-qN1vR+Bj^l!(c8sxw$D|USa8x-dj{1 zB3R(@(z0}NyiaUt7tqRj?QB%uU!PBA^;y4)DDGLWo2z)*IxAl`XTkP?gLHU)`U3dF zFB=ZHI2&9E)&W=G3Jq$xf9j6b=(lr7!rp6TQU6n&ebkS>4VNl23dG0Gh$V-&e>ky< z$~ExY20Pejl2q}p5?#K9iX+(sC0bc&t3Dz|AaO>e6#4OT!<$4)!USd`l~r~>rb0X> zp#kMd{NzJKE?Xw3(-aHS=aC8jhW>%%qe`^M9iQs=DLK5Et|%D<$epm5gbW)sMwS`8 zNA?LVjaS5I5HYYqmN0SBR4ND_B&cqbW#;4b^5{GVr!Eh8?IgGe!?OG*Vo(FMt^I#J zeNOjVj(|;Z`iwO|3ae`@?TG)-U&70TT7(_n1de>gOaT;Em3o+ne``);r5GQ>z?JHF zdMyfMX&yXE(t;n40bZ)I)b);mHQ%fIP4jyisRyK;I6WY;RLu%^Q&Kuwbh%h4y=;?1 z#4h~TRp0K=t`{bBO`)3yn=O4Ud&q~2D`Sy#ku{c;C^pciBYFGEy5UtCxP9r^Rhe9C zdTV2Dah;ny7llwz;QmiS0zP?GE&car9T}V&P=`DzECo4j{ErYfHWhi%%Ha8$3-uZy zVe?cCw#wL6w(0t`M)oL@K{^V1pr)Iw+ZR=x;wOP?GP30)v#Cog6wVIe$UUGw5#Bb4_qq(~Sj_bAag+mw3EdhCw0cx%#Cc1}>%) zJv5kFzc-to6js4t{5J1yYrGf^E>-_$y`TFZ2x3`u02&31zsjFO#A}BKsCJ86S_)me z?jc9r4?f?!r>7RwU0rFi)iZ)ZQhHB+O((snN;hyR*l?ke$prP=QS;l>8T#BS=s6Q< zLD#g|)6dnf>(d}!VhKk#;!BFa9-tNyk$7A)io`PfDn|mYc~>Wnhq!~o+2_vh>S8ek zD^*H3Z0OlOgH+#Q4$IYZqWKfXxqKZN(SJrlu*!|0h~LwZ)(FyQ0B^)IR|yupO_8z3 zPJHWsl&YYj=%ID6eAzXnBiojbC0-4 zyzm|H&UP~yNVn9h44^tRBUv~o2Yk!=pyqGsuSq}w-`gwE;<_B5ZU#-u6ZOnkU6p5r zl2K7vgoMm=J>epWv!T!irGTJrl$jpzzlLmsn(H@Gm3riZI)Pu}?wW-Q=tX6Imz+=+ zWYpNt(yIZa=Y+`k&oqCJFfi#rs$g<@HjJ{8$C8`(HPe}#wtC;s{X>EohPF3Fv`kn7 z$*GV$Uh4!pM*$c5;8+pNFF)5^z3aC6wC>P;=iE3bs455pCSKCeH~wetbLm%EC&!ed z9K5I@CY6%r>5T?5CPc|h>*I*- zq~hYIx9ie(u0dB9-6!91g@0_5;>-P>o*o7IT|mxG+SuZoJhlxFxnoaFO+DAJuQTMF z4^JZ)O9i%X0q8rt-ubO01%BqprAT7CT}g{LGrZ}k9mC85J`J6b56H_=`25d!&TsO; z@Ukz&9>c}c?mKQoXCOWXrUoT#ymo2vOa<(?7(Cm4~(~m|F$yYn1I%ZyZ=s-}`mABpZESPnqAAd<#WkLu2=^fyEr1 zrBcP%VRO4T8f0(WZ%Dnyeg3sLrhB=*R(tY*y^6(~;Mgt5Fo~)Nj8Ua%Lc&K-YFE*INPp6_gFl;0>o){PD#GR2OU)G6?1u0RyTz$|xM@PI9b0 zouTH$vx{NA$QXf)@S^071S+~c9VI$_H4fwtq|s3D+`764Pc22bkQ3hO!P35Mg2Ld~ zn<*B`X#!mbBrPF4eF$ej0}ZYdzqrBsWi@cPx@(y!5fw3!PZ8Sk{xaLh>yN6!ti}X1 zpD}=w0)`~WyVab=lO%b`*C8ghz}n+Dz|J%u{6=^;@6+jmQ!Abvc_~zBgD3zK{gwAyfkcUmP4zy{8((AeDO; zZ((bj^IGa5z83Jt5m)~0ek5`I_44R+%NC4;{4tIx7KB$bMd%rv z^VN=CVK(fYb$QaD{kQ`L$NWx;S_5+b6F)EVryx49_GGF9RcLFE0y)2MTy{Z-#gL$*nx3H~byb1U zPtbwW!5rgJ>A?FM5_;;mH;T>fU{CzQ;@^drgZhDrqpdvAM^IzQ4HeKVFeaO(i74d^R6} zums|mj!!yRB=Hka&XvZ{YY-{^i<=>@SudTPyKnQE0Hc3MtG^Fii&Kcsly?Gf)`Vyz z=7#{!S07|mo*2JUS{_a8F}@-xc)aiv(308Fwgde{n#h2_M>`7AIvXXx2b}mOFBzJAZC4?b~3RCRYxn3~k?u~TC?z3Iz@ zBoCq2UxM*J#)i=kz2{pa_(Xt*$;u>npg#mGg+fOsAw7^YV)5tzQz)2UdzzsI9cw9u+%7P<>i~tqBo7Z1T}z-JDQdJrfu@YtfB_4*NNdikg?W{ zelfRN1eI~k>{0B7t60@Uz2ilHtr~{gssB_H1qa0GTbi1J94+7M8v(^uKWAMlI12$E?;j&jWB^cSrTh=%*PG0#B)aQ}fE$zX`ylIK{nN}`q zXY+u}GTQD(8$13YYs_93b-i)iR-1(ib8IPm)M(Ng`_;P`F06ZFGhJS@BP${&+PZ}xyh1RFAo3FS0#+8&E$FtmfO@S0NYXd zY6LCWlK86njRNm;R89ug7B6od-{WI7kW4WNeZg?K^Wp4j;$G4DPHDGze93dwmg6M_ zBNz*VG2TQv(04S!HgYP2?HYiG2;3Lb#Z_5E>#W)U8K2U+V*;V#Nl)=oUh69vHQ6-x zn4qM&JWBjm;fZETrQ}v?tS}^_vK@KjQpvCKKpOkCi)d1%GH-=)X86Dg<2YHI4NG`y zSE2o7+cg@US^H6`tQn$Q8$sVCpmJynJh)7$4*d=)eflYm%0DN;9-qby91(KWXC^bS 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 sl}m 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