From 969b4719bd81f1f4ed6ee9955159cfe09fb47f80 Mon Sep 17 00:00:00 2001 From: Michael Nolan Date: Sun, 7 Nov 2021 19:55:35 -0600 Subject: [PATCH] Fix SSE Maybe --- Program.cs | 18 +++++++++--------- ...e-downloader.csprojAssemblyReference.cache | Bin 90159 -> 424 bytes 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Program.cs b/Program.cs index c3559e3..7994973 100644 --- a/Program.cs +++ b/Program.cs @@ -20,8 +20,8 @@ namespace youtube_downloader public class SSE { public static SSE ServerSentEventItem = new SSE(); - List Streams = new List(); - public void RegisterStreamWriter(StreamWriter rp) + List Streams = new List(); + public void RegisterStreamWriter(HttpListenerResponse rp) { Streams.Add(rp); } @@ -40,11 +40,9 @@ namespace youtube_downloader { try { - if(items.BaseStream != null) - { - items.Write(raw_data); - items.Write("\n\n"); - } + var bytes = Encoding.UTF8.GetBytes(raw_data + "\n\n"); + await items.OutputStream.WriteAsync(bytes, 0, bytes.Length); + await items.OutputStream.FlushAsync(); } catch (Exception ex) { @@ -309,8 +307,10 @@ namespace youtube_downloader { rp.AddHeader("Cache-Control", "no-cache"); rp.ContentType = "text/event-stream"; - StreamWriter w = new StreamWriter(rp.OutputStream, rp.ContentEncoding); - SSE.ServerSentEventItem.RegisterStreamWriter(w); + rp.WithCode(); + rp.ContentEncoding = Encoding.UTF8; + + SSE.ServerSentEventItem.RegisterResponse(rp); diff --git a/obj/x86/Release/youtube-downloader.csprojAssemblyReference.cache b/obj/x86/Release/youtube-downloader.csprojAssemblyReference.cache index 01a81302e3e6776b4d9b489481f6ab1ca149523e..abef78d72dc59e47950283aa3ac806c73430b269 100644 GIT binary patch delta 29 fcmZ2~fOQ4)27gAzUy}nEz4#b_K!6QI0s%JweG3J6 literal 90159 zcmeHw2Y3|K`hGTKlT0W}7ZflcO$iI3gA^fDsS=7(giW%6HJfbM-B3gY1Vz146vc)T zuz&@ypkA>6SHJ=m@Cr8UC}QsoO@rJ0}wL7w1NOQ9q8-3IjpE{;5hMBZ+bm4EpndOoIk!!6A znG~46Jv5aL$QTy#6%6#{M?>K>GoGrH-JDQysW0pgrvo=PaH&6qzKo=f^99TNk))(5 zNp5%5^!jE#MurOlCB7i{`RamheJ-m`*+?ORO_X`fO*g3% z;!kq9YQpgf`j?tUCNnQk(r&ar=%>VXCij@>VZV>)r+Ev4!PIm*s!O}FNVr`vkk_s_ zR1#{}$=kK9uQbq(V)PaGBh2r@;-L4!{-OM`Vt+|g_tnU^m(_QgFW)?#VCV#U+fSL2 z*R`v!bAIP8+1)#K^0)8SodJSAgCM+$OpY!qi3W=O-XSGXe>hZ{>krQiLq_W09cb*LyxN;Nmn2 zxfY?cR->4O(?9H+#Z*+Aj`sfT(K(@#!oak$uyG1dMs>(1N9|)PBlT%KKSJjcKy?YI zZ(Kn3Q#Hy*RZh@v$e|v=47b7vr@)L>I1RRniK$vFmih!4r&9fqP+1rXA8qap_m%jj z`NMjIrx8vwh4lLSqCTqAis`b|k8423jf@$>2)c5^f&7RNLyRkv9jSvhB+$+Za#UWS z5~>S^hYF|&2h611epJsC^o`6Z$=6*^C)c)0*NSSGgppqs4zoJt404H26*m69B_$!M z`MH1_f!kUZ>@qL~Jl>z@wNxyP$)&s6#imGHYon4|gU^jCqq%-6+(2}Wm*`6J1EoGg>rDxuse)~^ztC(S z^@y4wQ)-^!)KXCCndrC-&!U6RQDCC1E*#~HPPerl&FT2@R&e2Z8x!`GM5vL)`8=^; z#iR9{w;=HNnl-(EEfqma@>R7-e^*_$BA>3-U~FnLm1bNldb36y0HdyLP0sBUC8rY( zD9I1$t@VJ}QGZEA1${O-H9w&fPRu!UWP8PtYF)Bsqz!qgPG|pskNO*tC{-k0D)xNV z1Z2_i9sjlj1aZ+tA4TJX?6r;UXuIkJ062Qdv4@(`=4i=tC}b9UJMvf6P9ywLFa4Vp z3KtD2DGY^+E848~ebOQBF+ zzvw&Em#0e1=(ctxkDh7<+qt(~cm2ysgZ|k%XE#FV6c>UxXh2DKC(qb@HELCa`YJ{z z0Zk8}dJxp#H&Rl~b}qTZsM%~M%i8M&T~G3Dr;fQ|L^UoDDf0!XB@Y;lcrS8_QMK8M zTCYkkDD#KsU|6LG*qfYHJ(rPrm(V!Os0@*_K6G5fnlqs>ur>Ai#|Sl^p%S5}WAtTW z`|24ykBHAwNKd**`qF_hPL-+{5L7>M`TGF|SO!O*I7i=0W7I8dUY4 zQ{pQo0kVn*T!ZOYRsV`-C?`CpG#Z)~_LWYb7|$oC z_&S8jZrV_CpAl2kF$?CznvUtJm+3H~?W>RiE6X@5@!CKE<{QW5(* zw$b^;1kzd|6*1%e{dr|ZCv6HHJ<(eJ!pXE&VkbVW*5maPJe3GqD6*qyAANMFsw1tB zPA#*Vd30pdn(Ntln8|L(`$!dg-Vp=FnDg8f<=w8tAMMm7Tc1%ig%(#El~2s^4eQyp zR>7&4M*#s`@qe9l#uaC?;io)UIwHK(y#4ZnUVU;%hbp9gh;h*ul8bHHDn>09D=*^% zB?X~b5tfW9Xc~dGx0b~TK;bo=yyBco^wan?*5EuqF#q_1we{#OA&mIuaaq{*GlYPO z2qi`b&DKKbS3+@+HRk4|R*?MTtGq0oM7jdU>}|B|f+;1pi>)I0->-FB)@Be#eCN?pf;KgT2_?Q#6hfw7P>iWb`T;7= zjx5uXWePY-?(vOGY#l5pu#B8-SGUj#psL0QNT~l~jG5Vy`uUzophK)D?gUpi)3q^~ zV=LWR1Q%maZM#aWEj{9!O}_D6VV3jDhkbMYwtR3^VsIgpPmF;sJ5n#7OXCj6I?0HD z=8~_fGbHv4aNK2dT${hW=0?u+hl9S-Qh$M-smsYh)q7CaJophac2^KnNGC26eWD3@ zokw8tog{TvWmuI+%aKTo1DZW+}`vnB_1xz}yJ40_G-|n_*VM+yZke%xy5Y!`uP03g%9jyI@ws zl*6onSqpPF%snvo!rTY54rV>f{V)%}JP7j;%m$c^Fq>c=hIs_$QJBYIHp4s)^90P3 zF#m>m3T6w;(=gA#JPY$2%vP9fFxz4N1M@u04w#)VyI@{`c@gF%n3rL8!|Z{11?E+l z*I-_U*$cA|<_(zt!n_HyALaneTQG0KyaV$t%zH2gVcv)N0OmuOk6=EA`2^-um_sn1 z!F&#L80HI@BQRgWd z!7`DEI~=9TD!H(PR$L?}Cnss?S$5>y>9oG1fO@bIe{o)L&In(zpLZvc3EBmd^ulKs z&pYqUbjlwsDj}PZk&)!WrGebeZ=O|q?18t8)D$z-y_iz|Kg5xoLZzgod;dus6DRXX z#Jpx`Sa*|=nhHA;D?2*2@0i^^$%QK&fmy;%V_~BTkitgrdZD0hkWw|4ib_L5&S0t6 zt9+}Pscuv=mAyc#A+xE~VZ{PnstT+I3wxO=)x%Ozok|5-lcl1bl~QZ5R8+uHYHc&s zjheZ#7ib-1HnlFSSfFT6q`>O2u+h*U)uP|}ENrwul|Ag!^spP)!$!L)1=f&-jRsXp zJ)NbZrIm{843>%}SW0cgQqeX`sf}4G8f}TU2}?z5E~TEyQqjyy$eAn^?Z4#Pl%>>cmpf@03zIvs83QrPMAg6+Kmnw<}9U7gqA^#!}I@ zl~TK#scv+7EBhtU1DQ=d7goF^&{dZL>&e1KA6`oB#Zu9^mr{GPRP_3#)IKZ~!vUmP z8k+OWR5!*6mAydwBD1OeV8sH(=tc@GhlPz{k5nlAS?V@b>HwCyU6neJrT)iEwG`+e zmWrX3#5S~RmkVFRE*N#YvCQrQeQArE%nndmWpwm#5>$fbz{I+*+nn{ znN1xDD~bTaRH;x#v9K|ImBPM&rD9+!rH*E)81W)?=L??Tp?Pl`Bd1)J`l`xz3`@lr zSwbFbrn)hBuI$A<4w+3I4=WZohWt`s7qYN17l2fYLN8*em?V%=C$Ln^9!SU&%~Ut0 z6)Jm?O+sc1HPG_kfs!{_i^&>OYQvY7U zQa@Jt7O_-JcY$~J!+#a=swT)%F%O1R3vw|_J)}x4VX2rolYB!g^>bBfDNDs%o8&u# zrD76JN)5AA%+5)v5tfQ+J1I5FQZb*0R7)*V#!@lShtzjpyrH66p2 zlsb>4VwzP-oo}YPG5=cG3uOT^n|dXzSSXk^mI7PI!p3wmQY{)>#8NTOETvw>QZWH7 zrCx2Ox-m0d*^6v3GMjo0tXO22PnU}9S{61Y+NIR%SSn`Vk?QXsskr3-#Zr@KNAkU% zrMk>i%gI>6Qj=A_OU+bw725enbMdt)lkVxhNZ%1Dw20K7Tv}A6v?yAIruW^2LEp4U zT7GGnFPuLe$K(u2&JU!~&U9KYs?j0%)yo%6r+Y5^d2};VT9JQFsV@+A`y#aZJS`B( z#k7A0JWI>^5{MQkE-uq=BTWzci}l|+lU!+ORVWWhRjS~ZgruZoS8{R<^H;TT#vQQf z>8|w7{D(I2);RO$g#fLMVZSsCHnL|dXYCoUm&s%V6vzwEYWq1Zm;NJ#D|HzaYE2V~ z|8A%)r*E|zU~VKsfBNQ{NB>JH{_FVhlglx1(q`g5*eO$z(gB$gB(VQ25DO+4@RI^r zR|Z+g|U=DwT|{OZB*9v5>$TLdOAwGALaov^e2#w70JdZ$TT|MAlpED9^tfL zb%VB%zSK6sJWPiE1niL__6P-b1|4r;KSq1(UTH3C;|_FfGo@*d!#qKT{sf94BE?_@ zMO8Z9pm+)hX7-1S)VAQ`(=gAFp+5mNM?~!>qo!5E@%V@8;v}TBm3*~rFx$zvYLGE9 z`5)S2+KF-7n)W>WcEIc;Lx1{aXs3sm^X_uaT^>5#pn8$^SmkEk`>MS}-)S$y>?T8h z0(2)4x}yTRCLM1;ze;=T0;Ywi755KouThHjI?P@&^d}H_MS`{pf?9OELGWMNYx=jk z$4$oCn{=4AALalV`V-h%i)^hFY_;ilgY6yKJJV#diPOt&K-Au)gS7Wx4w9iifvcIw z)l}w6tApe54;9Tx=;=f9)jlHQsz=7i^~bcw>xNi&DQlm=^HZ2ZWav-d3^AQ9X1k%B zZC8Cd-XJ?nd$r9X(%0@#>qR#=YhTd!+7Xy9$egxP7dk}y z73McG^d~T-iA<>qrZebxgXvG&V;6)iHev0Lc9ag&j=}szhW-RLm&lf+U~5Fj8*J!{ z)G^}{Z^qWpYtpK~q>!=V|9MPkpZ}l_w)WZ8nB%9B^JykNIsoDw+gdu{HJA*E<7biM zCk00n&QYD5TbUfJm9{pW6-y1Z8ldyQ)RZ{C6*<3AaGuFI>yR^x%YNgLRu}N~VCqX8 zUx*xs6&#tIqaisrG~?on*C`a^CUWg`5S#(iNMiX!WcgUZ(v-8DNzS!c>G6BdwM+mv zg=r?C9~9BwQ=m8F=q<>(y5&Z7ttCKP!L*i;4~WS77073Cfut`?KZ)sC zk?9!))7hM906Fs(JH~o{Z6Ig{!3>tTo)o#BP;i~YxrUN6J42Q=x!N#b4~H2c5j-Li zJggvS!wD`RXWo#TkJqu*ROsZ722U=`7>Vpbk?a8lSr#W7PtNQD5m(fjcQt7jg5e^V z2@=h{BF#MtnzozN!IaIJ%E*~DPEw;g6Y#TOW=kB4MUJZ#9342vTykd5=@N?!=Usnx zf_51=E{C~7B3d94%~ue0Zt zGHBNT`dXOlB>XZFKdQj*%<-3yb2e*WV?0yK?6wFGanP26cp1!ci9IB;mnhh~aP}4C zT+{x<2kj={-VC!+0uPAb(-q)dIrwel%tXL@DEf~1pa|`DaNGg2N+QY^iSiUg-8j)| za%OdzrM)qpCZUysVGYb$iDt4$Gf6?yozvV)&TQ->+-jlS2jq1y>m~T{BK$ZRKCK7A z>y3K#lj}=72;PTaHo$Cz*#z@2%p)+5!aN4E8Rl`ACt#i=C*)9?F7KwT(h8$dDI+j}U9US~F%zN;# zNarjuyUpb6y83hc56HQyP~O^yfcyyNV+pshh}%ekJAmUJB4;+$iG1UpFYPnHehzb3 z!ahyJuCKtx@+YH5|0OvyjR0F1W_|_muVKEC7;1?OH5CklIK%hk%=!#sD_ijx5$y+% z{0Q@t#8g#e%1|&3=1jkmGrM#xH7u*wwco(;JIo&vky|86Q4kH`M90XP^?_~olUF>L zMEeUo$6+urOV0XcOlBQFDoj88MIY?b59f2TD&)*2qiwggYIxMB=7vd?D1H|yep65k zhOZP1 z!#P7ea%NpfX?~+V;7@~TAaQ&ya(pIpq>Uhs|D}dH1H6r38iRZk&vFy`coO}rGXa$e z(-e3XrM)i(b5IV(bpdB@PR?1jUY>PmXL~4%)&iU@VOmMVZ;8YQ6vU%B@j2wIYDU@s zISZz(1iw#&->ZPnmc$ zQ7{)sEE`3Z4GNYCoMj9-Gj*9AMr|xm$H9!3px2Ag>lDxvIrIc_W&y}gy3r9|u~_Ck+Qju$k zg3HIbqU6j5fnsNfO=y*YVJ6HhiRK!SX0d`MkJDUA&a5XSOlS%5%mv3~Fqcb2SBgXn z6h!%)Xg)c!i&+?L(zDvw<9M|NAh{A|p~Q5V$TU~MRKS_8CTG?Bmj0X|Z87k#fw@*9 znJJQ#$s}ohBKcn~h3mn)1iaIDc9+se*1fUytC!*M|+(|LC*dVIXA8t_$wY~ zq-_AnMwm?!(J#-?D|>^ z;VU@=*F4TykDOUQ$I?C5>I3^Um> zi##tYcyObIF~{ANoY@JMTfA<-?+(*LBH1aD?2t*)7NczO4-3*yVo_i(@b-r319Kis zUzmO{IWYanxUS{F44{uJ7;yw?jDrTkV-U<>xKXCC87KZpF_R|=dzc|$e{RVk!K(7P~*lU?yo*Q+;rQ$-yZ(HVA8N^E4Dv)TkFYrSr7QL8vn7s zS9Efy?V<0lxOkIi$I4zU8(mjB$KN2cc-x9j!zb)p;kkiwiiPn;-BAm|UQ`@6@=Wo6or{=a>j z;^fKD6>14r>Ls+7UL45}h3QRz8Cns2)PiK#X0$~s%!(*wKKa}zRYY2dJlv}sVd*y% z{@>iOm*~POB}rJ9VP|MFpsui_t|g+nu9wwS26f%(sLN3o3BjngX3`!TOVN)P6*q}x zXtO9un@xsoMisVL6xr3X$mWuV`z}Xhj>t#|hR80XJ>mD!4DE9ILc4+t+YD(f5T!L= zmevCDaIbcxg!TjUyI4ZUGC`1(H9B9 z(APDz$JVxD;FzIZOW$bMkzt#mtuj$tQCV9{$iuUiv{g=im4BMyZpx`;n!$AseZ$7q zw5yj7iomlzVS>6}3hDtNCJnsAp_JvD59|N(s(f4twWgPd*hR3<%is zbi_yN#CS+fq7S*3(#0;!~bLNJ7NAMNpu%{uy^ttZ1aqhm8(l+`#{Ru7Vg=M$1uIr&xo zj?Jf(Q)|cO5Pc(dY*_f7FA^rGBT`Ub3PIsqv(5btB{(gM)3O*9z(aKL3N6b9Q~?{M zD&PXK3K%6<0gs>x_%30tmhYvj&6@%husz$;Dg(st0gQ_V6MZ0|S z)J>S6>PbP>7lNY8OYa*ZGSBG=6Vw?}P>qD3_-R5=nF$kAQz@usLQs}7)iU0o=G41w z*1p$!EG;^6sW*Cf@1{K~4qw$UdUKo2^VekE&}q={l+@;fp1-2T^lkHVL$CGh^IW^% zUz+pkZHvkdr5=9u%7YU>YnvY_~ny?qek^!x8f7IIlehmHZ%~Jn+sM!BL zU+#ZDNgnPFj z=~LxD-Gf+AyagU?2E~NV$MnMzCaB?3P$OamH9BE}%9Vl|BLoHg>UY%9|2-EbOi&j| zK}`^XqFugu@CMha@J5EPT1 z9@Kpa6Vy5>sP(p>SViH+D=?fHL}vz(WI!{B&(Zi+_yvC}eblzGF)xnLpOV%`oZRUx zPwqTV9`1)6VL3C1Bm_fPJ7_P)4B}2o(sq$yn<299qR6_*B72EE+#4K`IU*w=7$SR_ z_AJja*iBz(d&scOkXA=gS{-C*y+$7HjgGV&X^{{NX}wN+d~NGq`k?J2!!|=!ZADpS z$+CKrJluG_nA6{K`dfyq_LC&ovjNT5%V%f@Ag{M1d9@Pd)l!z%yO7tzj=Y>&i-cgv z>pj~0M{iEb&<>J|_C6W58FgDzQGA)Q_&y>J_alz@9PyD54Do$Td+gCHco=Mk_6dEX zeM*LHhPKWSwRO6zt(z?9UhUjdp|#+YD{h6SY-W*4EeL z;l}G-oj#eqmaOS%&s4l=hvZG>@pX8nV)Ugwi%UN^@#45`v+$pJ?v{ zkF(Fvex`%8U&ye{sMs`7Zt1ezekTt%-d62YY)-{y$n6i3M0^kH&(Qva>W)gPt0Jl{ zSytU~sO||zbxtKmLNHX979ycEWKS5hQHOM}MJC5`daj%D84}C1v4nN z+<=$N?t}?yj}+7^W>7-wsK@2mn=nD`lY)A~78F|^=iW~VP9M_gLy`<=fk-u~8-)cT z)#;;FgACh@R{VRhhW$>iVQZ0x`+y@XrxoX|cx{q|bw;lav{hHq)|aBTj>y_N4cdCk z(UzkvuB`?n3I5}KL&)lMNmhqMS$!(Ysxf(Z-XU3)Q&m^_yJGKBPOYn|-=lBDPAY5Q zJs&1aP#;M_eQXPgHA9}y5+PpsBdgRu@QmihlC00M=7YEgrF?z z-+xP(pnjKv`a=kcT~GMG=Pyc74~dU65I!WvZI@zg!+<;~lu%BeDt{H~rkq-<&{SJc zyb8@on4qdkK~)oiqFuguYSJh5>8`~<`01`KfN%ub@zke;a@wi zS?)6^!5I=eLt?7+Xh__IdWOP~_)Pk!Ws+f=F(m##>|eew_b<;P4|gL+SkAD84_lg( zB;vX+v{-WFB%maMX~p|Zw~${dw(m7PP9;Dh5fkX4o> zt2abh?UQBIjyybPlB~+9(yRPUeJ179+Oum)--z8+)a=+iEfOZEmQqlyY(W_zQBZ9X zCa5easJ6DCSf|XB9dA%WuimkH_Lw_5ZF%DKa~mXmeC}V5KlWAkq-aXLF6%zo{r0>m zDX)31nlX0$jY}Um`^#gsUVD1Ox$A2DweH!wn*}df(luk)8&!U-JGiLinPwMVbziqZ zO-g>AvFFBnd_9x?{fB>lqgOxNedx#h_Aiy6*>~aC)n|O$e9zgZ?RvY;C-?U4*rT!g z?dSHj>9*U`fd#c^Zk^+=v^{u%tD`L_`lxT7uJHzS%5M(u#)9JA=kB(k_?haJFhTW} zg6b0^D0e?faK;4An7|klw5JA97!zdEN38=Hwi#oBSHxy@kKC+wCJ%RxBP^%4#(QgB zND`J?T)RSA-6UzfAWCbOEUj}Pt^SU*9BFZB^(09&Hiw($8mi%;0)Nmuq$KJOm-vFT zqN*3v)>~5Bc2RBHWVQ8$+6FjkbJWJw){i8?hn+c)RewoVPm8kJBFkzJWHr!{l_M)I ztHC6R7|$6Q0+F3BiR^JvWSeD?4Ts1EIU;jJ#zi)QBw<~vG!ohxC24DusI85%wsOhC zGlaBNP6LC=KW}zE<}Vr9KvuB%WOcVFtF^MMrjUmxpJb(8Yg0fedYjAF+W6@kvCU;F_5>)Q zoIX|lj>IJ_DE?zXkq{L7@eP4_LJ1R8sT9-X=Sal%A#F@4lZ$gs_rD850Q(OWLh=*=JxcXdZt&O|Y3zz|lLB*7<&Bal^8lGVRN zSzRZ~Y8GTw!;zIED=w?qBnj)<(>c)ArINO;61BBR*4E|Z;i*Zu53UG<`q;U30<*y^ii8n zhHXYyY@S%JT_M+N3(3RX%n_E;W|9UBVJ#v_SZgoLbS!-^*`BIkookThlknUVc`>1l3jw%4-XXub=9WFhO;cg6bp$Wm)asEn$M{ zE(O&?2nzjBcBb6DD8U)JI71hshq;ofSz+jM3w_jXCBrsj=rT>LtPADJ`VR7N_jZKk zbOcBPhOkzVB-qQX#)N$(5nq0k9so*@V!0Cak#h>VMDGfBc@J`Zn1S+PGH$fs`CwB`Wh_j>nZ3f$I+LgFRrgGBnj&r-_y|6Gm^G)L~ZqxwY3%6>hEaF(H7U%Hj+d` zv+f#z$9I;70}+44n~}FeY5$Rw)=N}cPg!X@$-^^{SjuT)qw>!t52Bn}XOjohH_F-M zVetm__|fH`C(oO3`qp{OPdn*AK`^JN(JH zi(1z0weh8&S1t_Q^5U<9Mjg6kQo+X!Ru6dpr=oM()E>0qd4HRqpHFvBzTY#P1(m(E z+qex~Ms#+Kum!~?ojjxC4eFGyNzP?K@zvvFY(cR*2t5}jOi&j|K~1m)#g{ByoG?L6 zk%F2k1Z8<#UO~J;o$_nS&w}FDRG|Z4El|^ zJMSQW33`*>!M@1!Tz_y|O!dv%T%T?Xxm-%7W3du)kM{zbqQ| z1+y|omE{Ek`9uA4#)OLeCB5?6cP#8&*tIY_yP$J>Uq|2M$#j!LQkn^rj`t2xX2R(? zzEWR)AUcQcWJqsg&w?Vu%n>u0=>aMXY}zif)$z<=C7IUk%hh$f2gbR=F-p=^MhPfQ zE5IxUz$=Z}u>j^O0WN0%{9IlU3t)i~V4(!CC>FqCCBU^3z;&?zmM8(1NdU`Z0jy90 z+{^%YA+C%CaGMg~4hFyraaAmU)k=Uh62RJ60QV{Z)=2>CV*xy<1lS+}Y>Wl)h!Ws2 z31D+9fG3pzPcZ;~7PiC!cvcCpl>zXxuq_tA^Gbl741nigS1f>+lmNRK0MEgmSOBjn z0rpA&`(gpSsRTH{0C)&*#R7O&32;yXcs~}vM@oQC7yvJWPh$amt_1i(0yq*2;A(_)9E+-<1G=N&rV=0UTEXxTt~9d+oekNTzSZUc1o{(A_(3 zN|4)yGzP%SAUzg9RV6@m2Eb2ajaUG+lmK{jy&eJwzeiOatL@yxfK9!ELQ^H z#pE&o-a=^w$czPmH&4m{EhGTEZBUs5yi`yIz^mk}Ilz16lmK{roD6`M=2!vn1|1~; zUX&vP;MFKr0K6wf34qt3$N+fTg%tp=z5sxIbM;jM;JpS`0KDWtnFGAbK+XZ4S+4_d zDdPe5N&q~kUIxH}$*noSQ_7V9co?}1fQRK;0r2EpB>*0fD+A!Ms8#?xBUK52N1@69 zJ_!I1a#I5Ml>m53mo*1?WS0^EPv(+yfSUrX0JuX?34j{`WdPj%Wd*>!U`hbo@+AY{ z9v>?JZun6G;JzLi0E_9Z0P|x3U;(`haFqmr_0!56V41WGfW@)a9AKra5&#QgWdN*z zv;tr`q!IwD9%TTm%CQ1qiH;HgD{*81EV-}(VEu&>V2u(0KdxH=@JqWA06(b9Ilxb- zRsj5-sszB#rZND29@7DMg@WJ8lmPfiOa{R3AJ!b;#}Fj|e)Et4Fv)ENz>K#N02A9X zz;*_}L%>9)5@4qaz>N{;KN-KGzHg9Ei*5o1{_tpj)EAycCNJn881zj`a_I|os{TI) Cry0Tk