From acb6c88c3968ac0f5abde3c3a9e8e23afed65d97 Mon Sep 17 00:00:00 2001 From: rapperskull Date: Fri, 13 Oct 2023 09:55:37 +0200 Subject: [PATCH] Update to WinFSP 2023 --- dist/winfsp-msil.dll | Bin 177664 -> 0 bytes dist/winfsp-msil.xml | 1345 ------------------------------------------ xbox-winfsp.csproj | 5 +- 3 files changed, 1 insertion(+), 1349 deletions(-) delete mode 100644 dist/winfsp-msil.dll delete mode 100644 dist/winfsp-msil.xml diff --git a/dist/winfsp-msil.dll b/dist/winfsp-msil.dll deleted file mode 100644 index 375af568ceab288df8b52de08e7b55237dcb8626..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177664 zcmdqK2Y3}#*EYQ8v?M2mG(v|U?U00?4go}^_bx~W6$Byy6@kPkf~Y8-YZG^?f{#=bn45y>?l9?J|3Yp-qpe%C3}h z(0{jYE47M{|1{RWh5uxeI;6rEA!>QRj*6>{);lV8et7W6=tncsAIj)AEP6n{;ltBM zMfV>Ro$=W4=)uFI?`_v9dRY3vK{bPe-IXQl_V+2(+OVr%`fTbeB6U>V6&+~QR%(e& zDHo(Gx6^erT^}V>DpX(7CD)t(n5d$uH6#zHWv6yEp1?`@|2Zg>Mf7JN<=c)gDBqdv zh&+GnDu`rp-`Z5!Ji0;z(MtJysr`vJ_u@524H`X)_?pGiE^aIR-}_IrQhjS?jLaB7 zLR~j*J2&*>+zA^i)wpKHprPrMkn5_rM>)yzJn5Qfwb#!~_ACA2y4jRdmF=L^)F*8! zKudFe7H_ku>>OI))$ptUw{m0{N ztdB`_c(baGsLqfN3Gs{U5aLh&1>7p`N6ACnksVBxgTzky&m}5K3RS8p0*wiAnfbL0 z@sH|k<^^q{6XvF=e{PyfTN;U4+UyQzh$F-q;tKKe)TH2yp(3d!ez1*-QDthoRU`5a zIUvkd(i2G@aA#czP>!tPbQyWe6;DG0Gqp z*(i!?Bp{R`YWpeb9`4$(NO!pHR&h6b#u?Q)wq&@?&$EHD4!7wFdbZPb4O>(U)i_** z8{xKbqp1=EPZFe8VC{CK+(Fk>qhgwbXtzcU=|Wx`(j_XUB?R7HiD56o6_h;A&F^rn)4_#AxQc-;llc2_-j&zNzJTt?89Z$Uoq5XyQ)R`Iw{{M zx4m?qIESl5U$?zHUzDVal6+B`E=ur4`Mz$O%i%f5C6KK{)xJ|(r{@qGN7VM$^A-&y zi3J+5wh%vxg;E>~Us9rQiVYp9+lYwE$VUI2dMdQvZ z@2Ftz{jAGmW*-+!?w~Pv%OL0PBS*xwjg2;o&AMVG3Ad5{N7C1@9f`A{1M?KW`AAsS zRm&v(ASFK(6;Q{;#RbG=gGXl zv6sG@a>_O6%rRHBCdOQ%&Fxjje7IWc$HqCBOD(S_afGfT=)A2y{j$@^h;PifKx zh8vzTgrjJf+T4*rE{8MRmQEU1a8y9;K!2V;JcpSEL^zIwL^xex&UBhCT*OqEg9ZfG zL8(YpF+qid5bbYw*s9#}^H7?Rf6@>2p=TFiOjU|k&nCVqZ}ZUVK5w2h0VX4}T{ z?_>&1o2MLU_hdF@sn$i4P-V7fZqKYpK;@RHZG$7JbX!z~FWrQ=TquCB)9lo9w0bx1zkC1&J+3PN{jlGL% z;;Bf9*pNfv1Dx1 z`Db$Wh#RGz9c`lV^rm96Qm1d@@WiFLwrm9sgm1d@@ zT`rYoZ%Pe2k*Y+W8bLy}POdw%)#D)JI9-)iCHi&-w`XdtcP=IK&!tP=TuSETqP5<+ zl+Hhwu6c7Qos)~!dgoF;|6ID|&82)!E?PTZ8qe*m5So8B-8q{vxg1j=G$$XeZYufk zcqq{)>XtpGw-~UbN-KK}dsM7J{*3WXS+c;C8211(&n*fT&M+U^H^jTYC+mO7BtlqQY+HtW8o;&!jX>!!Xp3vpnD&(kcq~# zj3!EJzVj?+W~x@?QmtfmBI_`X1$49LGm_K@%L?SZJ}rHZdhVh*JGK}Ev?GMTo<5T1 zUMj*K#cRK3H0Q(XhEv^3fkO*Rm^q`$sJTBmG6GhtFCT47&hxEu)%NE!ukKiZN)3&dfzQ#F6;{ zk*we72gQb~^jE1WX8wH&&A)6B^AA@cjuCuInfZAErEyz27Ft$?kRleAPh(nUov<2c zPk)`;*EH*-B}$*el0*qK&tCB_@6E`ka{r?Di|!)>H`u+$w758qcY@=*nIPGq|^O} z&PeX#b7h431gXFhWOx!XTy=5D4Y}t4 z<;FKpA^sr&T#=B#aYLzEbU#A_gZAoCVUF670df8zfdQU%oYw8<@A;7~!WV zVc3`wQ(;c-2h$(TJDYXzSDg!}gD%o(7D-dAcacshlJ1QQE7B}4=^nGZ0M&%bqno8% zZPt$V{6J;6{QPqcIMT_puHYlZBOK=W2DMFlHTZ}M@QRZPv8p)Y#Hngh{^5n^pHBOI z*O9_t;2} z)cFQSIP&!^0J5Q`FKjtdy#=I{{Tn0kxmCU(iwq%yr%FuO@X~( z`lD8T(;qICLgf@bPB~jXOiHH%8*+$mFp<5PZ}}KAp6)1LI_fEUzIX^T_w8uTyzNvC_Cd>wA~V~I*R z{a7@ASFvhY6n__OPOPT$|A~5uc7H}T@5-JkPe1e&<2lM~8}yFX@Xcb+Pm-FX?2KKFHDoUecFX8p6`A zy`(R*G@Pa1cuA+QG>WC0yrffETAHPsy`m{XQeb>mAEZyfNoy*d;Ed9<)`UXoovh;f|>6P!g%L3eJ(7ienn?3`eJt*HVB_TVNCvh1h_IywE z%(}&9+Bp3$%G&FcoX0#5n_9JS#?8-o789qsn`hj*0yG-kaS0_d=#czTn}=@T-Rafo zCz`r#{p2_rZXT+T+e4-<{p?9A()IJFtlK%IU!~Hs?EGvBweh0|RPHQWj=)ZWKsrpQ zQ6gh}?xI}z72`q?elhQPJ3v>~HIill_n0h4PUeC9ILtgv$Z3|Dk{%35z3l0KQ$-8O z)ThRUWNLV2dYdz)qX{lLre&6sRT(F#nfCNzT(#2CZQ9*)l%CPp6y3`x+BBGJl7o85 z?Q*0qA^%1N9tjL``KNzG*ZL0FoVV$|RqjP>if;Py+NUqg&)izS>Hb;Uzf2S6$CPqp z3{@(dgOdcGu%IRjI8Z5;4bESc<~ok+K%#LW)Eu|#sE4A#jnf#?^Ss=ikTxpb=>q+Z zy7eJ7-P_lo^g;g7w3wzHLtB(r$~+ zMTe2lL)&1t8(kXcXB#`5WOW1sqk^bYb@$o*(W(9=x(E6B*FIzOX2#GA<(LWj~_U(uESU4 zUYhg6qG>~<(6M#>fw4|4bVu_|6-4)!xZm;e;JQxwi4Dmu541&PzD2p(oP1#IjLxR~ zGT&x_Yj5U!M!!9o?=X&gmwv~UpwG$&B8crHi zu>pQjQ(|eYJnGK+gB%yEJg*BP((4!`U9(P8s`PhAJ9af)jr~*?LF3M;=U%!u z2($4_lJy5EkQcw<@)>8>RtvEz+8vNly-eG?EZd8@Y&XM}g_fMS64?Mg76gmd5jh#!^Iznmo>h5-x>t5knA2-jL z6psG2_qnt`q5`W#IO6Ee5J46k>ke~Blm+v^=^0M1o$)viciF?7$oLJ)IP)p`@shpC zvaH-Pu7GDFd4?8a?F$#ZE3%V#Rg5jF2aT>bvrbVu8&de`w@=dNakF`?p~YR%c8vBh zyfoY@OR-~gZ{ya!aOrI=Kg@CEdJ_dPWK*<8DcWg<*`x4YTCP0sI@-@>+J^sHPF%&D zQfLNn=gLjjhcn|k-%EMX=9bp9_o!ht?2)nMaH)eTS5-$*I$CPu!tAcGrD?|M;BbvC z!x&?a>_9K5kq_*OHblA|BQKNds@O9*VHHOvr;|7CY-o*#*Xm3zRQrzd)^;d7F50&e zZh8047BvJ$l%ChmVTAlgH%jgudfVdK*QqV{8-#@LoV-ux;QI129JzNe%{*tQd)owg3_Fz&04+)?z$+s*gb;^Mvfsy?}j z7I+#t>vKA1h=&$k_s{utNE$25{PXP(yNB~Eus`mn`cTXk*dO+S`r}WlKdAbsA^L?T z3efb8JTXxI{BCGZLYg1KG7@M5Wb@DvcE`CZT=M)*UFME0Wh-4ud!@9Vxb>yyEUSv^ zaCLcTUUA2T>h~T!jp!QhK4#J5M29QA65Xnh6L|bZQ#lmcG{y^D`SXL0(WTfyOjTTLQX+R5FnSwwwVMZ?!={E`_ zVFo=c^%4a6c}`LFgLO*+Q2W;Y8K)^xq~~tR`Z02hL6b=-R|efFKI-RbLPGsRFRSG- z4a=aLXG+AC8hH=>jKO+j(_@hRO7HxgW`F4d#a&?;70JpDE1KxsW9W|9w%edPG`-nR zzmLm2PG&hWPg9aD;3Vu%8_js+B>H3XkSsR)F!j34L$cWHBl^-q-JZ=;l#O3TjLqgr%jSvZ%bWVLB46sm9PYr_ zY<;rA_u8@9`tX7uF2`o;BL_Z=ip|#N6ny#=o2^e>IO<}v^^pi4;>2d_GYAi@G_lz{ zHf(&16PxX)FKJ$k&Gy%qG#$id^PBQE4@FjNHjgnqcRxpQK&w_*RG_CBMM-*d4xbkE zBV*0LSo5n8Ixxr&gDu#V-jWgw@gH6<(3RebF9U|xxi@1xxuEn*)SX6^C?wG*KJ%-T zKq_G+{U_7@(3oGPQ~)kKttpFCoOzwyrr`q5`L6kYlc zy^DIDWL~FilqW?Y51Rm=cTwrK+WTEp*cIVj)TUWFg!GHe>BljtHtE!oj#X()(jOWi z>hZcYYu8Muom7|h!aM`AU!t!oRVhoU$%OwT8LCpJQ5l1WKQxk4OsYd~@6+I|)TNV} z8gJuw4OFFOU0TpIq23~Xfi5aF8Jgao6Vo4?GK_Aw->DEl<4)Z$>M0s0Tsjx`B>hJl z9F;(g?oQ*K+fL3?188Vx6Aq^TI4zrUUC9rMidNC|AI;_Znr%1@b%{pi{p6aWkp6s7 z#cZ!jjf^%_$(rN|b=10gvx1>c)G+7`j%3pCAD4QSv~{a-x=%@qtId{dv2}IH(pI9> zRq4FTMYoOS)w85sLH?r?-8zQq$4BbwOG<~UCX_lr%Yw@o>N?fHrH+vWvnX-=LeWZJiWK}D%?J%oW{b_2KT9F1)fqi_*lOh#dN=_YzjcH%hKdD8KpKac z{=>0jP?Xmv+g{ZTm7qDtiGRE)DHo8e)0CmdE=W@;;9W&8sHsxa$Ejr1K~)b}rUFRP zg=z!I0|BeFq=hBv7x1~ZO0gtE1J-HDHA|8n@THc_wj_@QY|xS(+a^>n~DS`tHj0Le=v;rfJ;9#(Tn!ganty#vWSkvu?qFGv;yY}Qs0R$1?pgsq$u z;YhQHB;*cNM$kr`AVFmZdMX$9@A;; znx&dr?5Ye`eDR@|i}<-H_T zwPZ8RC#F@5mIQj`TvJO1d9}2zmV8IEi)odpB}cs^sag{6C26Q7Khtt3zs2rI7|cGZ#!UY_rvC6&C|)muvr(`Yht?yn^$yd)25 zNhdGQ57CnQy(Gi6WI2sxGoK7CS?|?@k88Lqb&$s=C#Mu?WI^NJSw+ohCGcT`9Bdz6-hc*T5aEqT%_pYmGr80|*PR@|i}X*qP2lSJz*XTWzc|e}T+V~^ z5((qCaNAeF>N|izw}26Ji_Pg?`2zSl z?J}8*s9%M*a+Z|19tix|L!5f$_j;p{W1U+29N4E{OH~3OZxu zVCYv#x{vBYUQ%$N`01LIbLlAbM=5UD{+i%I!61qwmUpE&gz@YGq$?%mjTHIne;~hm z81M+)=5zY76c>ym<^iurJ1(9C_X`G=e-QZAIN;2hz>!OVZ-$`!k0XE&AB22DRp7JI zA3su@ae2wo&yl^LA4G2>vAoV(z@GHji1{c%_haD4B`%u155DCpu>T{#3esQQq+TBj z@3Is6Ac?;o(m!V=K%Of7Yo~F+<(8ZX?9>PN^asFplYp7gz_((6SLld{?QS*%b`k&I zoB?jH4dlPh#Obode~<46r?=m=ysgCL6#9DvoNlS`hp6JrKa&0%NM}~eW5l1|Nxuvm z0{Nbgfv;Z!mX>yPly*kBk>BewuGVcrx^{8E1=8-Qe&A73&e$l}Eu;03%l~T>aC{`> ze|-uleEGzJ}>@y;ZyM0lJ9x(gEJm-ex;n#ue%7GYX^QTxPA_Jc}d^B z9(XrtPqN?+I%42_K9P1Gr~rPK%pb>}0)J5Abm3_5rQ*lEUi$TQX>T1F=XM$Ai2=yR zu?Y5aR{;|wj(+|eJh?Bhj>OLzNw;6-?MFhPFDrgp{~Gwz)xd+||JfbErKIZy z>?-|mVlDXAUBF*<0E46-kIT3iSp)K_GQRoEEAEH>Zr~yD)8b0t3j%@8E5LgO0EY(w z=T8Nel=<=5_27R?KC>Hw(^m;}IloJPMy7+`+z0IO2k>kH@V%FSq*F87QR;Mv0??}C#nLQ$~@jf=7)=oA^+`e;O^pxm*BU-=e7r)l6stxc$xA$ zn!oxU-GFG47*J-kM!&W{;ibXPOz@T z$)JwVhe;g7UjyI240xZc2YpmA^HvCzr`}Y_LgxHA?5t~6VhLk^0w>% zPpJ$1at!cuS+54x1aBbYDm@;&kL;7?%6JW)5BYm%fR}#(o_HMijr8|&Y1g+8Lv9}o zocJ_whOASIq#gBS9FLv?{b}KGFN5#y2R!dWzkeMIo}3K4CULU;0(h3hdFe*rO(dV| zkAf%80&bFe%%EEp9_K@Ug#7wW;6s_fy1Rk5w*mio7kIE2uwyiEjrc7r6nwDwWxxpV zbJAaRkANSG1MW-&UK8#o{=0Pr@-SHk21_|(CEdld(6^CvgJoZEejVgHUIZ?C1{g26 zLFSh$A3)w##`QN6KYL}K@qZ8cnrndl_5g>8zl%%x4{n0|>R#YJS*PM;{#qvd>toOl zkn%Pw@HY&g+Xn0}I9qU!;8{UGJJQ`HNani#MhQ|FXg)&XqrBig8BZYtpidnF+|&i= zFZ=Z3vi{7HILdei`hAOmZ@&U`i~k#M@G4IM>AA4(kA$nh52ao|h`)b52l)!= z-@pCHWv7LDd2;mzxFoxOQV5r`C~qLVi9;I9o+N$QmQ<78ZjF0Iu?@tr?6q=y8-!k6? zj*#*D2~998zaZmc?33UVq&@4UeK(}v*Gk-U2tv9p$-ouWfPQZPM@ihjc?Enz2(bDs zU`N5Rg602#{8wq`g?GR=PXjiTep~Z5xZ^?Kjn9D-ZUF1u1spEzoxLCY$Kirf?^coE zRR#c4e*;dHbzp_86BAsJA8Z30F6FI}^NF8iUKu3u^p=dv^cRqR;&tHU2Y^WjfyNo& zpg7?4I>2Wy0{cq6Z-{>bWE}oA4*Geo1A7Dmx5~WQ;&E`lrND}UT_s)`l!kmmE#L|n zhxI#wKO%9nQs$G8*C7Ay8gSZlU|lEhMe$3*An^G;fS29_?v;2s;}7nh3tTGoed8qf zv(leOWSzSIG0102eD0NePs_U3Ug~q&2J9^JL(j|LZLR{_e-11zxM2o(;+MddGVbC8BgF3? zD(Ig!fW2iL&8rGN|<4)Hi$<_%VrFzn6OdNF!6c>8;R1I0d6+P_lvkqHZ+4?Pa-AoIm4nGdeL1o_29 zz;DU{7Yi=!0zN^`%?2F;?<`nX_5r^qLEcm5k?)1azYn>sGjNCCav66+KY;wOoF6Qc zc;E0N?D4$b(J+TgdvADE-r1#zSQ(XY>}N zTelB*&nLh!(!Z(VpPyu%yiyAKk0rml9`Fi(0H2Zb9E8zun9 zv9=iytz;d)E;v%K$~Q>=rttmZhY<}Rueu!=C++Vg=a|K1 zT&GJt8VQyaKi3fd_LTfayOGb6(yo+y!RI~*j9Lf0oen%C7$EIlC;6S~1by^D;FO`j zx~+iiq+cTaz-OibpFRwn>Hx;Q20SPAEi31P2gDyEAA|mr-+(U*w)p`(O8V(Q3Gn5S zz<8Ng;-$ZrJPCQ|-@qBgfF-{NI%fcrn*cjYeL}>a-Nn9*tn0nSPa9_={rt(mZI^)q zBwmxnE~z-=t8W7LNIzGU`MaJC^7m!F=voc@z+7OHD!|R(0*_n;elZJpU=z@}8Q4Vj zx#ML2mm%XRbQ| zFIwi0#ScJ!Q|fp3Q{XTD1q_#Q`e;4yZV|wt(jTe*;1i`keii>XW!_sW`=37~zPAd# zEoeLk`-2^UcJa$+vd`UC9r7D%fv06$U6TH*<_GyD7jV0j-$?4&M9L{8@%FB)L+&z2 z|C9KCi?k#B1<3!{3Y;MR>SMz?{fyuu!PiD0-M-bpq2@gH75FoAfU6{*@#2?HCGG~U zfPRzo*Z9HUrTPNDxB{#pexR4M^m_7+_`Ckw&@Yhrczy_YXenU%Pl3;60*{+3S@)JLg}nVwz;R1}TLl*jCP}^TsR8}sIN(2b16RrZV{Lu# zOA^;FECMh4Fz~eCmr~vfQz5@c=Gkb8gS{TecZUL}%D6ZpP=r$(f!e@F>s&k17}M6+Dm(;KLq_uY5&n1;D>es zBijP2Gy|S_6?jqNVeVmYyTnT;*&hua1^EHl2aJ_?EGPSs-`|8j_873qW562gfm20( z{uOXnMc{9nf!9_8ACvLaLE_jZ{+=cM`lFm5RTKX_BI7JV;`+zB$Y;Fh-@6w)Fbg>L zJK)DsUU)h1{bhmo2p=t2ayjJAX~4r07n9?`n@c`ro)di(u+2)Kl5ufa=I=(YL;i{M ze}MS+1%Jr*iQTtvfTzp8^RL<9Q)GXZCFS&y@mNjfpMSO^-JjyWb`p1A$@$X_@y}cD zAzj3~z(GmCn-V|0L|$C#{fWfW_+OFkRJ|AkTgr*g?kIXVQ;ZwIRPG z{;Mqc^p*DZmGyO{1L=Mg9wKq^maH?a#zFr_DzM^oV8$0fm&^~!#XkdgcLJu526mJDhur|r6u-XP3cOev zFyjJnMKR#){=g|x|99R7e_!Hpyvzgp<@{xk^g}V}ryVlB77G3?^UN5j-_EMYFY7jN zqWGh<^kc0?karREmwBkOV5ff2uM&SgRRR2{++W-+{@L;t4*<({2JScqoGJK{jL%aqLf*6+aFVn$UgG6G>8Cj9hqBVH_hp~`{CH{SN3u?Q zSpw;n>;a}+1~!%X^vpo;buR;F76)d^xCuW3zD4Xii@#&bLf%5~WP9)kiTl!B!RrkN zMv0#fNV`%;Kt3}7IOr>2@w7PfV67g|FO~NEF8+N^`mx*!=s!6D93|zwng~8l=H0X5 z;Pd4E>xR_htmN~8tiwZoN4l#$fp17Z43apUDgAjw^eg^Ax^_5@e*5iN@Cj0{!?(e^O$T00Y|Rsp^?9ym+Vtt|%4)DZy;EqMWtUACxJAh|{fGd-Mjs5|ymiymv=KEx_ zkK@1O!0XeJbfkN%8nA+_&oe&*kGK~&P5c!r^_+JZ^1D_8*Gc;L55P|!2WF21Zao0J zTheuV9elzn;4q1|R!6{hiJ!9W2mf8>r+LB`j)MH{#X!6C_p8#5AyQ5~=_mUuNOwx) z5rU&?K|WIIbMO}Uqceex#lK@80e?X9i*F4+M*68yW$<+}o)-@SFDr5JQd{skg6BR0 zKhYBC-wa59pGo&iGigt3Q^@Ct-@k1I-dxHtq~FU+T$hW6{$>SWiqtRmJow!CzyT5; zlO+EK1xri*kqeOSvh;soP4MO?fZL>hm&v%l|0v|essa~P0lFmp_>$n?l>*i-1H9fG z_^IGV8L!=B+|-qL9WA_;jF-3kVHYpu-7V|q=J2}%F_!{DV$ z0K??@(FGZ|2V@=n`$y=nNWFT>{`G0;x9tx>e@f=1M?MDcF%Xz0yha@O_kDodhXSAI z4g6i^hk3%AEQ5SsF~sNfM&MN&1KX_yp6&}gC-F8;^xsRr-u)-^a|CU&pV{^y4!OvkM{K6#glg|U=rM*pm2QMM(&J>Y%5xbQVzjtLJ-AhtV zpSQplehQ>78te8C+5r4Vcx(gk-^7p8Wjvp}0Qq-ofcK3C4wLp*I0JrJ;^xrH;7`hY z)L!a)TIxUGedvQEexCjZyjC&bGb?}*yaQ~q2UttiucaB_PU+9a63@TShkWEAV22lgjimoF6Gfg0>?v_M zU)r}&+VPs?Uv4MT9o+@I`4sR4$#>sUaQ^lH`|V~I;61W0aJ&gVv^a3@m%tqxf#pTt zt`+zc$*U*P{Y!?r9>2-C)|chM>q&bzNqfJj0QtJf zz%7phcZvTVl=^%>0P+t7=gtAo`W8598gS=>z-v;^Crf~b4FXn|`+(`PPdYCC{agHU zM%wvcPoxjH9~jXC_?%#0k&l;jgGKHU`AOODXJ^6gn_q#iE&=ZN4fwlYtrYN|C64y3 z1Fs_I8h=ND50m-&A@O_j*C7AtEU?2F;gx|8zbZT%_>%P7rtiRCmiXKy{r`>l>Cd;I zUm*9}{lrhTWqvJp1^P)+{`-OxeuVt%dw{jR0QPtQ_@dOmvET~952T&NCEaBik9!)x z?%UUar3L411t0qha9kPSBALg(6+AEa+o#Z{Nd8Cv0k0|XxvdJgl6J2Zf4imK_18lG zmaHTDWghP)^UqR=yYU^7Zj!8HlSSY6BgoJG0Bj}k(n0Eduq5QqECBYD_-QKf)l}jm z<^=S|8v?ss0ES9Cj?Mxv^|ya}@P*PZ1MT3iNPNb31@Ao^xK`rF_yhcEZQx-U z-(6+i4yyrqMrUBCw6mf-&#OKj@?FmWZ&e2dL;}ysd{DLp_-1MU8-l@-{ws;YT~d#a z1mBUk9WC?4cG=H9xE1+*Ga6V=`tu>NdsfE#<_^$L7W?MX|LsLzOV-P;rC+oCkiMU! z?;`W)NuTYLm`NWHS&1OHC& zlfmHc%>$N`a=VCq^PeGqK+d=7%R1BP1IW`-fp<&XwFw7*Le77$id~OqA)j{(I8)L+ za}a#|IAA}i*8-XM?iRbo>!I%;>3#{6{KIwDafY^ zUONPSNbr5>hwjpjCnZi>OMErSmVD(rZ1@@QfzpnUW#A+F0#`{s=cJxNlJ0ql!;)c0 zw_NfM7rYb-`Ffd8cF29AO~&&n>DQ-ao=Yf+^v_Fu+I9!8Dfv9T3A~i_+vgJh_sIOX zQ_6ix#^W#bk$!a=P`v~EWjAnh8Q_{2;G&+uqg{ZfME^-=@T7^r%F?gpCGJPbywh9! z`Lm4k;S$ePMSfP&@0I#xOS`5$gM9ZE1HLHZQ? z$zY%@1o+m|!0Xcg%d)^jWM0`O^Y}Q4yXSv`e#t{(FaBSD7`*acU>iY0*3~y7Ay1O} zEt&vcQrg)i9{gr|;6qZc_9wwxw*}s~0qn3D*g)F#^}FB;MPD@oJnI!;H^Ggk!I#NC ze|T5$(IWrh3i!YP;73Wo)iRE5$hi5tCgcwfHPhoNcekyfxl7%_>{!+0|UUvNPGB0KfEswd>``NLx5|< z?#OKLTUCJ`2k_Inv<=sZ)d4z)8@!8(p3Vc@l`{+sV zhkpZh7z7NM2V5-m?I!h25c_{(p#M<%XU|CRmxM2q_J98Zbh z3v37O5WgLfa^AQL@*VquHE#g_kaW!(f=@~X&P@SENc%3xc&;b@IXE5qUNUY!UkASV zBjCrPA1%Crq}%-@^fPV)Q=SKoodJBU6L8b3z!@SxJR1C#;OEj`WyL=2e(2-HPv<1w z4!s8X3-y5SUkBc|0$As9V2P)J3&r2JD}iqv42+ZZzbxf`EdB6}*v%P^bhTt&s444O zL~+P_ehO^o1a^~pKQFjpC*yjS*rPp$!<^#stiAGmHW z@H6rMtWUr%$~wDI`mK?~eRd@D_XYqDirpHqi;(AS10;P!C!}*qJy%ZwuQCqUR^q!t zHSjfkfze_=st@?QSAhXtfJ5YY$9D10vYL?hlIH}URR#Yk6Bzs~u)NF{4+`#T0eL4G zmvf{(@3e$GQpS0J%*)9V2UnUwzewySOMbnCHxRpTMc!W4rNZoeYwZi(Fr(eL>K`sp&xdd&c@ zT?M%KJK%8fd$;xA#m)g|Nxc8vLDI=M{5FeunEIlMp?22|Q_j+c`i}7a8iuM*b4|(G zhWe?lp&qDes6&L$X?fS|LlmF1BGuA{b8}YqQ6_zDf@CF(*0fy*humpT^9T`DxdQ^ zCgp50xSpM|Yb8MbCAE|JZpn9sU=M|KYwzNHRHy7eD+0UIx63&FM8VmD>4GgZ+7*8r z^h{m5dWGy6!^sDXlc-&c%c=h72oLD`+10P{oUdK&7o3s=-b(mt-F~|oOzpiu=`KKD&Bbcy+-_y1jOlMt-r%_8yI>a2m)axvqTu6#=cv7$Kl(F5ji|$ZwJZMC zrlX!+ouTh`)u->r9-;isP`wbOGwQT1G|i*#Scaek4$#8;+X*X(%eZ^moFuT%Y*m!tMF zR--szY$8}sum*jfi{*yczpCXq`3ILbR0YykpnhhwQ+|w*!kyF)%-4{g7~4^Pj4#u8 zVf=;iWAsqH7{8%-Vq7TpjmZzp)3lvSy+HCx)W6)`GKAdz3gn-Clt1^+yW~%fPmaT? z~N9d*%Op6`AlKh&i9 z{37_f#+-3v_WN~`v;7PjPh1Z7e_bw@+RJfKP&)n!Y7(W3l{jO&`otBDi^haA$=~fq5c1b1e<0*DvBa`QwaIXhp!Rx_YP+f@>dSuB;;=!zC*}g zG+ao?-!c4%use-|PYL;(g`W}fmkQSq^7jch5Qb5{mB^1Ndi>c{0M(Dj%Tn^&85%#{ zNaICw9#`J-sx)4`xv!n6_r~w3{+r@mY6)qZD~zD~*Vu!p~Bzcg5Q* zeizkhSG--Ni#~?=+7pDM`h=PG*v=4kIw!H_o=GFd6W)IXlZdCt)mj!Se!>~WaGoW8Pk2t%5YDs3)r83^Svb!cj>Okg zYvDY51SQU-RUi5BEK(_PfqGUr&nEj4K2rOIx25vxBz~$+3Fld+apEegzW0;9RpMGz zitY}TnxT3cN_9)zNM9od52N^dAn|KePxy~yzuNdlH5Oi-MsL5wZ`3&97pXo&6St^U znom@5l>gL(?JBY|=QmMB5q~mqpV}^bA^GdM#DglDcF$b?5#lc=9#%Dlm!x=^p7^s$ z626)Aa}tlL#+px4+&}Lm9#ijXK2bHJ-Q!1zr_@?WzlB!W6^UonX6Q?fq4DKX=hZGR zzBci^3ZlCorM^}_Q+k)Wpc-g?!g!zJoB25CHQz`_Y!15nqW1VdMd`OB{;9%*zf62P zalSia{h#E&Er}OZobV8;|90Z3!iUl7y(RH4)lB%a#J3agB77FLZ%^VS)nE9>#J?y0 zsPHdoJRV5AtTKiFK>P^t7lqfOx#U3N6*W_MGvY^xzbCw>)?ZaSg^$qstLm)qWm#B!vf9n4uiPzO=;m>LP4fU4rH?;i?wN7{mt^Zq{6kbK^ z|5h%#>*M_2r2api_>U?nd?oRX#A^%hO#OX4@uq4b{1M_CiT4m*k>t@M-L#uJo_Jf$5PqEaM&e6^FQNJ1c%m{k2wzWpBk=>m_fvlzPc)2k!mkkDNL>FT zJyicII)9r{icYP#J$~BWX4DlvU)SGmG#CE4uD{(FD0~mC&c_oS2L00<+Wt@C8;Q>l zzLj=!#}l2#V&Nx=ZzR4&co$mLjwiYdJ~iX=M-ksh{D$zyC|-^y`Wc~gx6Ase#5WR; z6TV&h&);Yw{D}6SztLOx+q8-ur%x7+626-FM&eV2Kcm~{Hr^Bdif*6V_)2&(m3lle z(D+GsSK=FqUlQJw+Urq4h7pJQbs!!}yqNIMsXZS0`g>X7+lhw~j{#R3X#AZ_3^4`@ zUq$ov*~DVTDB-b`-{r&z<7^F`zgkCnmnvyo68xve1t7@2gB(Yh}5ygwM9 z)XJDCoc9MWCABk73FrO6^rQ|(<9bNX`-AyO-HdmI^ZsCYQeWemaNZv*Pa0sfjz@al zAAFhgps`pu?+05zc=|kqihQFyuNozUSbRt&g*wv@}~wrtz~;&uX`nbW|X8;Y~m%esXvD# zuQArp(+-Lsy`F`tHAYYxb94P#YxLE8qHhd=lzv}eU6zj(%Z!{{?sU)|T^=}xoPXd?rZZ;-qKA!d>JRUb29}9m_ z&j*{0pvG)JUj3}+gDpn9@IUo@u*H}x{4DkN@x-mh$C^*n@lXFohT(rVnbZ8&p5p01 z;x;2xcu(R-h?muTyn0aUzcm^Qe^l$gH6GU7?4Rw%WYM1_e}$^;#!=zdXnzo@b{O|I z;quJ%JB@*wk5_)=&rr3~*pf@X%Qz)^*zYo0-{Wn++Zd`j`G@AaXOedt4en+At7;+D zZ$;uhW2)w6c|RC$iJt$}fftg0FwP2poZ|VFVj)<4Bzn=AYo`Atn};$wfWrRVz0N@;3wwx6HU!s4)R z>to;E(zE^2l#Ui>`&B93EY9}dr1bW&?_=rN{@av(7H9iIDMKvI_J5{4=3_tF(zE@| zlra`(`@qy}i^G1BkNu05p6$z}zGQK>k4=5m;%uLmI>*QUO-s-AEmGgIINNtheb?e_ z-!Jt8AN$3Yp6!REF0nY z_}JgH^lX1M^|r;?-mgA?i#2CFrKN@mH^*b7rDyvx^`k7#_MZA>EROQ|o37sDxr(J{ z`;_|CEY9{#>c?1|?c3F_Svi*Si$(A1WjeP9yw)AYDQU4x`v;DaG z%`6W4Ha_<4EIr%5P``u4+5WZqT`Ug!o<8=yEIr%LuiwYwZ2xin2QAL_b5qlO>@zGq z+kaJml*QS8SN*XTXZxe|pY^eyXzAJhbp1&dXZuU_U$Qvr|C*2e3`@`U_69R8&h{Y< z-mp0A-}SM7&(gzwp~YeUk;P%Z+{b>UrDywc4OUs4?W;FfYjL)poBFkn{bozg_9+dv zTAc0gYp}!OY~Q89J|FuZEIr%zYw(lB+5XW6M=g%>&-mD%v-E5~zQK8mv;9jA{<1jQ zf8EFaZ%fbia~j;VINL965a940zkjBb5N?j&(w3g>H#aD2akl@lL1l|``Dv*&eeCO4 zdbTgupq|CqzIuaXi=+LGeC(T8dba<)!Mzq|`)dtaSRCcI_p$F}>DfLYt&7FkzF1l} zi?jVVDLsAcAF%XnUn;G)#o4}cT7QePeZ91Yee55x^laZSZJ5Q`{+_hq7H9j`Y5b0Y z_xzV(>Dj(x+9->&efPA-Espw+@v$Fk>Dj)2TBgO>esEg0#bH0e$9|%vXZulUlPr$< zKW}l^Pxi5Y$vw#C{0jkEWSnWbm@ z_tHMMINN`ew#MSH-{52am8EC$xzf3);$e>!cy#o7L;w1XCh{m(x3M=d?u zA4oiAakM{&v;FzBUw!ORv9Lc^OD zhrPp@+y8#TasN@PVSvTizH!5Fi?jXF`sIA=D_D9ize~f47H9ij4Xaq3?Y~Kh^|6n$ z^k{!gi=+MZEROo8_}DkF^ssMeaoFEuaoD%;v2ShZVc*u`uS2oPD zINPsp__UAxcuUXrTN+NVINR@Q_=3gR{#e6lKK8F!dXzuI;wb-hi=+J6KK64hJ=>pc z_@>3#{&K_l7H4}~qlG^9A6R;}cQ;yWakdX_w8Y|U-#YD6ANysNp6yFFT48avk7@LU z#ZmqSAN!4#p6wf^ePeO9zb9>z#ZmrNAA9~g6}Vr3{dSAPeuu?jzuU)tkELh((`oxG z&h}5GeQ$Bt@At7kVCi9h$l|a+VsY3X^RYi}>2>`Z{bq60|AfWa{(RbLANwZ+f)Dq2DCT ztIwN$FTD|^s9qn@vjs(;DSVC2ggO5(diI#tp56e=Cq4fQ^zZ0)`>6n`7yE_nO~3f& zW21KESO0?K-hSXWV7Z?B1}vA$Z@?<*4}Jrd%grxewqHTdX1JZh2yJ9vP&)W8ub)i6 zw$O3nRF`yoASeZ*F>*cQ-v#;{GzzH=$>0?7t^6ia4y%}$aOJ{+8 zK)W4kiEcNISKZGp{YJ8H{Be8WABP@yg~fwMk4J}!&~finaWpMweBsA!(C(K8{QXE6T+$~+RJ``M;~?`R(3c08c_ zmF6GHzp(LxbmT9c?%(@?-&kh9#!x(QJcbkyKfd{z@#;H%xPRGCoG-^K=gajs^Btwf z4ZQ`c>}tN~G5&nz4mCyezUBIkuY$(qRviyEnUC!)WHoieUnGOqn( zT<63M;?W$RhNQFUH>NqR%<+|>{b*Bt#Gm|*3a=ON58|5rgmIfQkC@}yw|(CJ*YT_U zYZL$4E&rk%Iv>?>Nbh~hJn{cJ@;gH87sk*~n~tl{P`heC>sx53LroWdAe~Ju*6FaX zU_H_~t#p_#>1}74f4ScfuXbx*%U|xW=JEXXhKkhVgZ4YJFEZo8+$T+!_i8(_!D_kbRR=<};Vr`RRQN&tsU+0%SgO>-kKn zK=pvGe~?O%ea*k+kMyoQ=^@X5-&ELqXO?H$qy0JisNDLT_M7R=b;@@i6)O9v-1bG^ zN3p&4KFT{E@BLCyly|;`?W26tnf~+LFZrg!eC)^*SEgTWvM(~{Z(sX=o1cCC zZ^kwDK@QmmIh8}N8#(i{IbZsgXSNId?Nmig$A5E%=aGNQub^~he3|&lHxw_kPB=J>KgHum1(*&5jNTn${}oi8@4ld!_M=1ghfclkGbA4mflO#a{60*IvuUsa!xT_?oZn5dOFp;dcLH;)j;oJ^ZmmMl8?D>YoX^ko4O_I zl5fBN+dliw()+31x?kzOT=wP2-=^-<`yYB=$frIWC*J#%+}tkt(SC^Ra?W`Q&yW4- zyU)?_m`CoA{ONq)4)ZtHm4fz5W_g9Db4mGh-!A?t%un1dGrywlzc79RtbLPjz5ZwU zxTW5KR=v$}iv66u(Ecv09mpqVpZ9O|&7D4P{M}K#D8i6l_LI>CpTp^T6*+zW_2Rh4 zI`}XCGRuk1x!>czIn48Ou6pFrJEfoK{7~Y{^hcp_W|rrhKh3Wg-x!Zv{+;EQ|2~+{ z3(S2(uJ%xQm~Zo*S0a7Eeuch>el4IJ6)oqS(K+XwoUix(yeRek_k8jnPaGd8&pbbM z6h5w`-@NY=yz7@E&pq#%{dlMGn3G@bILwj%pDE{mav$T}?mM>+kT`ee8aH?9AM5^! z<`Lg>Xy5wj^Xfe5@~#g&-tM>_*1V9rpOhufzn^&jSfqKv%!lf)@BgB6&dYPPv%qxu zx3kFQD|4Tnb6=UO+&udKIxpIl?|rIodAarfu{`pdzV9Xf7WBLT^IhKlEt;Lb#5+CL z@>(a%`G@1U&^UkNk~& zmT$WM7^nH^SRf2P}KX9 zT<6Qt1)neL`u?xwA1w1{NUr&l+gqgjA+Pw*&jrcP-p~IFJIBt|4-_AFW?yi8+|hjr zmFs)Hm+yL1V7mW9<2s-G&2vUyKl#=d=?bn#q5g=b@3!!BA&M`3?&r&?UcUED`L3s? z9mPW_IqwP8=V1=jo}c^uo1V^JQBKbN9_PdJl(wgOKhh z)^lOA-FTi{^n8lc-e?LL{fGWO&cB@B7q0i2Poj}4@4GR-7Z7if&O2`T+dh0Bq0fV9 zedGN#KQF51m6;Caz}Kkf}Z&dleJHU(b9bt#(q zO`cQoH(+?4=WoC8djq%i``AuZnx9)1H61+owvphe0-lv%FlLB+wv%VlZ^Zip`5$&Ss?@8(Q%lj?9ocBrk z{wwD>TS4WIm*@S!B9>3>G50apkI8u_?aK;!kMz#c=Y1|$Q2ovL*YELAJmh|lhwguP zUb5sxiwEwn|2nSu+g?16)zSA~4mCmMN3*{9>vPY)X57$Sv?@ja1t|VvC4DJdql;wB z-Kx6AP*q1TMeuIH7J~O{EUx-#bgAb>K3KkV`HALb)aRn#Ah<{H7mar*!@!p_2dnOM zYT;2&tA*6Mx~h~>mS*kx#E(*RHY7Ykvyw|yG?-`5M}dctQ=TCCHhOF4MZ&%$pQZ*& z{&kE~bXPZBr5N1J_ut;?NgnI{jc(oqFM3W09IetBi;2dGxd}21`3i>H76EIv77wdqxmG zNT(i;k^NCh_dMARpi%NN<$Ip$F+=2U2reRQM!V?Mggxk6DwiqU5~|mA(cdN>M)h#m zkRR8Nd9n?D=_1&Jkp0)k)!DvDW^% z_VKyL?ZwO3c|sr~G)*3=JVPwVm1jsSWqcOv};sTb)tR86JdNHv{)ORCxQTUO1Z z-)QwN{Z>|s=+~o`&~KbtM!&VyD*BCAYw0&xeMP?w)Mol^thUqdy=o8rHdjB;Z)JlH;B@U$${nexD4E>Ixl>TZorSw8h2pR${KAoHgtBexC35 zd-wf*@6g{~ujl<8-_P?r-{<>$pTD2y^E_vnv}9yDEITa@xXY3ccUy|#9!ojgYw^M< zOC8*2SplalXTllFO1R&0K0IJ~Gn}t5)! zejWO(--Leaw_&4oKWwu80IszD2sT@P3|p*+VXO5Qu+91`3|fB&yR64x#QJ9#v;Gyv zt^a@n){}69^))zTwPiUho2=Pz*y@BM)*?7+ErVm$DmZTS!Ohmw;Dq%}aI5tkxXs!O zw_7iQJFIVklh$^))7k}hS-atGYcJemT?hACH^3?D)o`EnIyh~;3C>tY;eP9#@PPFl zaMt>6IA`4o4_QA54_iM9=dGWB3)Y?Ri1qXEsP&8RnDs00xOECHS|5TZtlxr5*6+fT z)&uaA^>JviJq7Kyr=i0(51qDOLznHh&~1AjdThs`*Y*+ZixsI~&Gr=fMG63*2D41P<9&!%enMIBbi+ z5!>Z()V3Cm*{+1+wjsFLb}gK+-3YhZZiU-yV{p6e?QnFJ^bH*Cjk`aTg8U3&=;|dte7=&FJ zn_wj41{lk@1;#V(fCCxha6`u3a46%wa8t$y;BdxvIFj)(IGXV(IF|7_IG(W^ZqE1; zoXGeZ+?w$q+?Fv7w`Y6@?#TEaoXj`~cV^7NT^T=tyEA?U_hkGE?#(y?r!syI_htMM zPG`IbXEIK}{Tcs+2QvN*XEXi>=Q8X$~Do``$p)o4@0m0X6Uou z4*mAKV55CAY_h)xuC%`&Hrqc8TkJbvtNoL(&HmY(VoSg-TJNC!-W*2S_PSMk3;UiN ztP14)i2bYhjM={dUu$@@e0AL4V9{Rud1KLkhY&%jap zFX5Q|IXG@V3OCzdfD`t=z^(R|;Wqmc+-`pr?y&zCPTDDgmYsG7+-1*)yY0nrkG&l3 zwR_=|y$&{GJY)~U!}cCHZ|{Q(_5pareib}w zzXl$&Uk{JlN8qCUHh9ARHn?PeCp>ANfT!&5gOL3`#s(2+R_otdA3uFNk$cjo=j zlergqGrtafncsx|%x}ZS%>A$_^9OKc=8s@==8s`Z=3&^H`3u;V`78`({tk9!9)pq0 zKf_q&Utv7+A8;V^B;1hs8XU^B<&poH*>E`12}d%E;AmzU9LubN*2BN)8X;#Cb*b=E@mUyj z+zY!Ldtk)zRTy)81I8T>!vV((+~9Z&4mo}ZH#wew!;V96#PJLqb^H>JIi7>#j-zn1 z;{`b3_zT?Xco}YUEWz!LSK$uFf8nHq!G~q1!vS|W^5JerG2G)QhkG4fIOV8=`y4Ca zwBt-T<5&szJI;p(9B+oRj!WU3BM1*U!tk)82hKbC;DTcS9&ua+k2MJuc0gVx6qyYJoMxqhu++mpfC6D(4YGXY|K3cn{us1 zeEj8^&|bg9EuOa6|4Ta42^*+?3l1 zhjSxvB=>SSn!6T`xzL_h z2pxHD=*+8tuDlxP&TD|4yhiBFI}7^qRzZK>g|IQN6*lDs;L5xX*qpZpw&cZNYhFKW z%ew*w^9Es8-X<8yy8*`XZh`T;O@Mi!997uf_w9h zz^T07!+m*wgwuI1!kN4iaDU!E;eot=!`Zz5!MQwp3HhIw0}tmF!1=rqxRB?8NAjxS z(Y$(iEbnx9Jg*5Z=A8>q{AAHq$}C*ZL25FBwn14o^|gk#R<;JEWB-0XY-PB{Mpw>n>j z+nh^qyYp4J!}(u0>15hz+39q^UCw;C+gS|vILqN)rx#8+>)<};3OMaN6V5nS!u`(k z;Q{BH;jHsgIOhz)L(VWf?CgQ_&OW%{9DqlhSHYvsYv3{G_3*fJ1TH#ngD0GCgGxavHU7Hp6`R3^G|~l`EP<-^Us0X@|)rI{EOg@{I|f#{C2oA zzYFfl?}oecd*Pn^b#QO~1~`>}HQbkf9h}a;3C`q?!u|Po!UOs5fV27UhI9E_;i3Ew z!o&F=h4cBJfD8FM;gS5$!=w3Mgvau~0*~iU!NvTC;EDWi!KM7~!jt(2;Hmt_p{3v{ zXfJpgItu2Yv*6dzRq$KrE_fb#3XVf>!AsCr@OS7hcm*~VoPtdS)-v+HAPY7Z40uFj!Cvy9)d;Qg8;06`T#@1?Rzmf)==;;1W1guo`YE=!C-s5jawCIUFrm z3&#qsgyRK6aC5=6aH8NwxV7L`xUFCeZZCK{+)?l@I9ad-?kv~_cNKgD?k@N^+*9yr zxVK;zoGQ2v?ko5*oGy3(&J^r}`wJd{2MQjAvjyLWa|N^TP{EV%aKTUEe8JD*Lcsz& zQt%siwBQf$Sizs*@q$ITSnxM^qTpX}so+2GWPzoe{4dCamcm?UFD!(PLN|04RzO!_ z4RjYaKu=*K^cJ24eTA!_zwkoXSl9}i3IlLuVFzq3TmxGQW3aWbAGQ@<0fU8uu&Zzr zj1=AgV}-ZCc;Ovzpl}>+D7+gE6}}g4D*ON(F5C`B3O@!%3qJ+N3O@(O3wOiKg!Hi_R_JzZgdW#0^tx__KG*Hg z@45>%x;Dcm*L&bf*ZX0!>%*|cwF9=gJ_*}gpM^o!y|Bx*2S!|9g)!GRVBGaE9B|FR z4X(%Fkn4wVlj{jM>^cNTT+hH!*Dv9i>p3{?Itn+tUVsy>zrd}om*FxZ70>_qfX8UY8e6x$59P*9ti8Iup*gR>J+R^Wg#4o8heMQaI-d z!b7ewJnZU$^R7O);2MBOTvx%Pu4~{i*Y)tYYXmO3Zi6RWZ-Yy&cfymd33$r&K4>ZW z5VRNF106+^&{^~u=qmaGbQj$ZJwe)`ZJ6b{T0TG{s9MyPQndEufd@rTP68llnsZAoN%P5 z2#yw&!Lgz$I9}v~n~P3^6Gd-=TZ_(t+lrdu_M(g6j-t1~$)a|+v#1O1D(Z&2i+bUn zqIGa@(FQnGbT!;pbRC>7x(Ut{jl%s!cftcj?|`#K?}l?lTj8Oi55mJmABFQppMVQR zJK>R{&%>idUxdesz5pv7w5s2Vi#;JE`@Eyl`vRb z3%iQ_Fj9O5j1`{^NM!2>3R=BNr3~n!eJKRzHE;w1d1@0`~26q*I1nw^WINVeGX}Gs|7n~}-5AG}e zGMp}c0L~QegZqmgfd`5og|o%qhjYcV@KEuS@Nn@@;e7GW;X?5OJW~7{c(nKr@L2Jm z;PK)`xLEu*c%t}UaH;q|@MJN{1k0)7OlT>|h4zv{=qPbRXGsNgmDE6YNdxqhG(vC5 zSfSC(|Z=8`qAr6dMhOZs73$rUhIG6=g$Ho-{A4KP-63yhcC z0S8LP;f9jC;ZVtY;ii%gz~PeZaHQm8aJ1x8aIEBWaJ*zU++6Y{I8pL7xV7X#xUFOw zZZG)`+)?s9I9YNK?kt&uyGnincbEJO?kV{d+*@)4PL=!~?ko8toGy70&Xk;h`%C@_ z50v~H&X)WS&Xw4!$^ViZc(|kh&X<(Hg%S@uQc?|%mej*zC8xvVB~5U# zTQbK{sxS@ABF?&8Mwjy7#wo{5N>im z0f*g(;E4MfIO_f-9CJSh$K6NaX7>wl!u=Px)%`Nu=3au^-LJwO?*GC`H%m>Hoo)x* z<<5t@-NkT^yBzLyd*PJ34(@ZWfYa_X;f#AF-0wag9&o=I&blv!bM7EKHW}Cx)*v&zYcw+--Q0sZ^OpY{jjO@2XJNSk6?4@k6}ycVc1&w3)oir zEDV-g+)(-&94fWdlK-XIaJbY7M@oy}XlWT7E3Ja# zr9Qa1^fWk8`X;!w^c=XYv>9$My$J3oeG8l{ZHGHcyWp^St6y##$_e~13ES72k=DcDqI^^yN&S+Kb*54M!KU~5?^Y%8mT!LnM|Rpy70vNK?; z>}(h>I}Z+&wZIK!m%yR2)o@c;Cmb$|z>%`c;b_@fI97Hg94{M!o6D|+6Jb$+9hQXW2HmtL!6iciG3`p0ZEFy=A-LRM~xSU)h)8blC%NrfeVF zU-k$*Q1&RCE&D#4E1QLf%ASOW%YF*y%YF_Q$`;^}vfsd?Wq*Lj%Kik8mo37@vcJI- zW&eUpW&eRE%Pe)|e_1B9l;=Wwc_DO^yP>nZ0=mj;pu4;QddeH2xBM*VD_;fubYX9)K&$J79D98rV`EgRSNLu&w+G7%U%zUFDl#r2GaLE58NC%kO{#<>PQe`Q31+ z{Jn5f`3K-|`F1!`{xLXO{wX+C{y8{az8h{X{}P-i{~Fv{{vg~|J`J~*e+TX;{~nwy zKL~f0&%s^gKY_c;e+KuI{|fFcKLV%9e-HPS{}E1?zX)f_Pr&`<|AYt1{|#r${|D#F z?e*k;c@8{WUI6FIOW;De2OcS}hDXcm;j!}5;qme&xLAHJJW+lDTq?g9o-A*Jr^-Xn z;<*gkJyGcJ#G%u(9=belg>KJA=tiXXt06+eQ_6+eb86^CJK#V=r6#j`M2@jKX6aSTQ( z{tROke}(aif53r?lW;@DYjCK-<|qFvvf*%r6OL3A!O@B`I95>w$18krbH!E#72R-mMK9b_u@3I7*Z`+0u7>+6u7lGRH^G^T zQMkY2PI#c=9dNed-EgjAD?C*3L3p_0qj0|B6L6toCp=Q|d3dzqi||;*SK#rADY#hi z5Ij-wEx1(iU3jwM06bOkIJ8tg1?`njLr3L2bXNWvx+;GQ-IdQnPvvpwt$YdkD*q1s zm9N0Y%2TkZ(s~;CUzr7)EAwDWr3Rd&MR$_N~(yc~{Ju7zWjSHkhiA-K8nS~yX8BivefE8JE&2Dewf9qy=n z7o4oz0(Vw!gS#p}0(Vz_9PX+7G~8Rc3r*ntgRrY=6O2^d0Ap3RzTdN*~+p4DF_Nwo|9aZ0hlT`=d&Z;@MtLi6k zch%3}o~mELy;VoxRMqd{zN$aM>8cmuOw|dvzv`dxK-ItDY}NnZT$TNF^1mtv9nfRTEsSIv1X(x&SU!T?|iFwZT(WA!zYl2JPM`ba>;? z>0J+9-nT-xcO&$8hoRSdGxT|Hhkox}u+h62HhJFzS9;$Mo4p@~E#4il)%!`<=KU-T zdhdl@-aRnl{VI%kzX9Xkhv9&C25#^^28X;qgqyriz+vwpIO2T4CH&nj{hpKI7kpI=$aJbqDN2-h9XmuGJtFD6M)jqhn`ZPFE{U*4z`W(2ex*2Y- zz6kE9ehZweZihRoyWp++TesJW%}( zI9vU0I9I(D9;*HzJY4-zIA8q@ObqUT&#Wwo~Zs7T&n&q zJXw7Jo~nKvT56tx_L`@mqh=mDYkmz~HNS=Kn&+XX<~a1$yaatUe~12>S72k!DcDqF zeG~a#lLeb=@?cAi3%1sj!nT@97_6yEw#DO zURwwqwQlIFt$?oD8tATVfS%e$=&d~q`f67}f9-{^v9=X9)dt|o+78%Uy9Tz@#$ao0 zKWwYL0tRabVOQ-Y7^%Gh#%gbY@!C7!K>w!mV ztKrewdU&k%ba=eB2`<*23s2Nu0GDbnh9_&=;HlaWwD>NAc3%`ad~xXXt%ok(TcO*x z5qf;X(CfPy`h2%Tzwa*C=-UjNeD8rPeeZ|Oz7N9|-wxR7`y_1heHI3N_rfmU9vJa` z6~=tufN|f$aKJYMH~1cdL%tuvO};1Ku`Ea+d81C_v!@WK)obuJdeZCcN+IJ?L@vVgW zedogizBj{J-=%QQ7lem=VR+cr1Lu8xaKSeKkNB>FM}618W4`O*ao-4B^xXze_}&JW zeD8!OeG~AM?|slx_aSJny9YYzCZV(LGtgD{1?aB3AA0KcLT}yIp|9?n&|mj$*jTq8 zHr4$AuB`hJY_9t;Y^gg8TkC!S+v=W$!MfkUuDW9|Quk*VtNSaA*Zl(y)SZMI>Ry9G zb+)s~|GI2AT<3%%bwzNrt_+UVRl)H(AKYAb8l0$m6Wm&N4%}AP47b-^1b5WE1y0tr z!<}_qa93S7++EiT_tdR}d+Rp9sk*D-zPjt+blpvGrfwAOue%c-sCx&Tt$R0|tJ?|> z)qM~iuKOsQulodCsM`sT)O{Wvt@|Q8R`(Tnylx6E);$DI)O`ys)qNM9tUCZt)jbX^ z^-n>2{nOAuX_Gy&p#E&w#P|vthjcJUCF_0yorO0*C5X!%g*_aJW7KN9r$! zqxEaySpAi7ynYC7uD=#e)ZYlV*53-Z)sMmL^>2qe>fZ$?>$kw2_1oaC`j5cf^&f|O z>OT$l*6)H-_4mPj^(B04gJq?Y}+i({2HLQaEh6`b1Ln~}*2*8yM9k97!4Qy$M!PbU;*w%0b3^okH zu7*u8(r^QeHQWN@4R^qShH*bO%~ zdKZAQ3eg*e79D!2}zlZx8 z{s^ZVUW79ZC*b~uf5HO||Aw;-|ATW4_H)Vqh8%dfp#aV|l)!}s4?NOP4Uaa|!($Dn z!{ZH2aIxWBc%tC~xYTelJlW6&Pc?*~#eW&J`=ij|k3*+_J#_is3f=yV(BmJ5UjNO| z=f55L{dd7e|7O_ae-B*ge?M&Ye;Bs-cfeNvCt;iavoPqt7k2sgz=;2=Fy{XTjQbyk z1O6Gf!T%T>^8XNS@;?EG{fFR){~0*y|K+(kmhFDAmu-h%>}8wui@j`n~34|i`{KU z{9)pPm{atPLsRs zPLsRsPLsRskn$F%eHQLNZHZ9xl8dK_r#n`NP|g)1lxxMy(7i&0^{jZ6r+8QV7y4FY ztYUZG3K1LgVgBE=A|I|?Q4CvF{Du3iGM+XWPf*6wCF6<6P_Y#vh4B?4PX<Fkm1W3S%XT=Oh{yi{CE zEHBGzm8GCf{M}$Fm)A2b4f1-PWwpFsY*{O>?UwPj``Q1wg?KXfE$mNl6~F0zhkAV{ z*Ny7m;wt{$qW&$e;_v&_zr|JjeNg>dT*cqdtAC5D_&bB&cop%BtN6P?{aakc-|gz( z;wt{$sQxXk;_of$-{LC%zF+-YTxEEE1M$PW|3>vX!SzbZwze(m-}kH6gX;Bp^(uZF zQG{zyukGq}qk7$NO)<4X<9?)$2y}x<$R-uU-$T*XPx121QpsU%j@g z*Ny6Ri+a6Zy&hDr&#Tvr95uXpZC9@w)$11ZdcS%-s9v8}uNk>&c=g(@UN@@OE$a1t z^?FdfKCfOg^3?F^wOze#RIgjq>;3BWpn82?y=FMo@anZ)y>3*mTh#0Q>h+*{eO|q0 ziYJ^}12LZc(rItJj0-^?CK0QK*JjuXX&I z*iDwHwt&340s&5gxydpXxLRHp0#^1J-(+cBeKo%xaFb>C>i5X2tv$g0;hQYBb}Rd+ zZ?at1{vLjH@g~bt?N_rO`6f$KFu?xjn=BsSFujs{&l_!F>|<72HF($8o>H zy@JcgJh-YZ^NCew;X?es8+RZ7zaRH7?h)L1Sx>CG1lN~!aMgO;O}LwJw{q`Ju6Nlr+`YKxaW7;)vFb&xFL8a1 zYrcbUj)SXC<9aDBihF>+zm9tl_Ym$e+~c?xaWCUu!)4?gT=jI$6RTdpy^MQ>zpc3k zSLNhBv8sY=HPt~&-DhbcRQb4wFT#32Y(D)xF~^o6U&wc%=T9$YQ%zxem5*E+7kW4*YxiZ;JJQdiIZf;-Ut{UF zthZcc*<=~9yvy=gc6C3(PVFZx&sd(fyli>ZVzU-ntE`RIORX_$pY=-X_11S--)sG% z^+D_Rtxs5=u|8*g!J2O?x1DA?)3(wUuyxq3vE6EWx9uw#vl-81WRP+@Z=NmR_T!uo z@YJQ40(0` zm)yUV8YZq6a?*jg{)w6@g8T*xzei}bbV8e@%Tmby!_a2Aj1w=c ze8nREA7Ol8wRA(9rN>gr|D%xeDJ|vv|8i)v^l~zWm2pJ{|Bq8v`E^%lv#h0@S}p4! zzuQU~wNff-`TrG`I{tqpF4B z{5)TD2ks-bwv1=2yK=?JA#E8yx86(1psr>7!g@Jng)fuwD{CEJQAmGn-68$iCzSfg z#}|GrzsuN6OyZxYk=nmsX51rBH4%Rs?_VuXKN0uEH>jipRN=h1YFrI1N-baChpXfK zl6t;=17F(DITEMwHCONzPp2Je#GQeA6L-$UHQ~;}osByOw-R?QZWZo4Tr=)`+y%G` zaV@xuaBs$4jBCYRf_n?@Qd}D@fLo1g#|3dATnDZb*M$p{lFM*wa1mTLt_K&z#c-G7 zdU1WYIIbVJ7Pk&JfLo8d0(T{D1MVu^TXBOpQKm$Rx(2rqw+VMG?mFD{xMAE4xEpad z;YM&b<8Hy-iW|kkNXquCEP!7uj2lP%gmUw=HZHP<+y5G1MUpmIk@w27vloB zPFy#x54RpSh`Sbd6Ye(LUAVh(TW}x5-Gloi?sK^N7;#(r;(>U7-(a|BZ6Fd34#on# zf$mT|)H`_YN=+7zbq@vu0sO@J9i(b(-b+jL5U;Olu@ zrTGj*dP9NW`oVSKp7RnnwfqTp2RcJSG>EMC+B>ej{cYE7;=kQDY`p!}J8r#h?CfuQ5FG3d1;YVN+7k@-A?WLm z#iG4&K7>Kq-_sjvk9PKiuP{qOJ;A|fhtc=yP-nQOC*0GSB1xtp5^Y~&4Am1g{@vLd zh;@bA`v#-b@MwQrR_|!2Pkse8orCS2-F=C72*>(D?St!jqdYlzmw4j?B8BmQXdSc{ z?pPZV?MXZwh@{B+Vu5xZ)E@2a?T^J%#Kag2$fiag*=n*>{{ZvfqVRMFVli@1?=A6~ z!C-rPIMLMUy#(50=>_tmX+>QhA`Fsw zx4)-75DyuACDIjM)jk;N?Tz;0FVNH19gfGvr`5-p#xLb16kcog*tM3gX9(II?Fq+; zTYUX!FG&dXwfBZ&;+FmiF&egxFva)s{%GLr#Z7{NmJ0^kX-wmxb^JFTUafu1SZ|cCFM6H9%c6<9N)~7`@iC3^Aix&njoF45m= zceT1^yt_6W3`GaK`bDh>_r)TC^@G9Q@LCdR^!LU-=#FR>Da5@Uk?1;VY4Xu(j2!`L z0VAQ_Ff~MJ$hE|&KJ;yDGB_<`e{X1YlyWQUQE!NJwucgL#ybpluO94+ha(Z5tCo_4 zxQo|OAD0Z%-5*vW6CYD_DM^vi>uG}(ql^;MPgxX!`eQU5x?sj?J{THk4~2AMhEt)Q zKDCCYNM$LLl|Mz4951Aor@tHQqrq;c{iL?Ew@0amN)wV2y)2BuP=ukWXiTY@=_3q~ zx6<$Hd5TeP-p~^F>LN$Rvd}a5Jst@e2U&>q7VgmZMZkyFB$-) z1*e9je_VHeJiy0HFYN2@i-}Q<^1;oSC+kUwu8QoHV;G6_etSb|ixj>>ZS)MKnJO3v z)AN~bwu|b&URDpINNG$MA@>ccX-w8Ps<&+TMWqT2#7TcrCPq3P%CN~Sl0AAr3CfTl z7S)GK^y>7meIfFzzbD$>9_iObo#JI#4~)HHV&X5=);9$-ipj?*wR1T=?8d5i97Fl6==T1!-- zAj;;`^h{pO>_2TXqEv2*g6Jq1&WP@c&e{|gnH}x#rHAefUEUw=4R!Ne#-hfT3`Y@* zF#=5!LRzV0W+h%nRP>(yZrR24;osoP*l&yP5oCm{k0;2uN(>a#87G-(5V!Lg*MyXU z8lvM`9SQg8QxPML>ihDN!B9^)nMA(law0K0rMVX6P5f6aFUH_Kp|}{=r5B2xJ8h`; z_<)!jiz%PT_OyP|-jtYE zw~rA+XFngG-oKM9H3bRxkUGX!VKMJiM<*sP>FH1NMu9RgiqS!duFVieL?tI#ru!m6MxRWa zh**4ZS(DGHIJdZu4KqJq%{bVsbYMq6Q#e)tYNS{#7x8FTUSQXNR<&> zx^SJMW{3Gg%IsKcANqT`1AV&0Bx;A4zcWlxGy<||4M|l*VsL5j8SfHPvR-C`lueUI zIo}ON)0?3^Yf ztwUe;fcZh|y2FX@XO6DDw|}+L5iw*HN|{7XNToz?G_LmM?PMBdhH0MJqi7nHE?hD4q=Qi=C5ESnax2?GhNI>{A_YQjzMt-%XyBBJZ}u(fJ^fgpXlKo`#MjnZ z&0h3Ss0(DHZ1!x*kQA|~Evti=UHphYlcG4n<-Gc(_2oZK4@3Qb>%M9hfQ zv6@-dH_)ff@fh)kdc%|-vzLx_F;Px?low2u_pR?1^_$cN=up#zrneiEqmNW^A}{IJ z=w~RueL^21M{DM&=-T8I#(ZDR5K+*~B9Z&L!fzIfw-pSM%+3;_g)T&>oG3gd zi5PQ<{>*&eI0F&$@*Y|{aRLTEzQ6(npiWbe3NIs{iHtj6j ztmZ44(_zd|r5826B{j0WH!A8xw42_5qG*(>Z=ybDE%hrZ^?^oTvLg@^0miPT2t*Pz zt?*z+q`xnn2cfVPlcHrkboNHqp+Pb}RnbIC9m{&!=@1_!od?m0cA}+C??*NZ#$fb% zT?~xEs+zBZc5|IjDj0nk^Ok{jkI929b!qOWxh0z~p>1GsjS3U)NIY9AqO{`Aj9N^* z&FM4viM6wgWO{)V4|1VTsr1H|(oa=|A~MjK&R47_rl_eS%Spq%m%ok=S(=hl6JruI zUA1Vn#5__CPbuS_sBYDU$`~Ln`dO)y)HDDlxl}I3qEVr8qqm|pOR7=mIz>0iI9Bwc z%LWvRZP_~v{yzg~PvVoYr1k#{)X^IfiXCb)s)^SN6AZQYu8*ZjGAiTr0@29?iIqhN z(_0EjNX`(J@t|h?`av2?V+JV|Fc|HNq0$tsPb3;$(;qYWk_#(DGN|+&y=HN6t>_+v zVwp%H5&8_{Q&_t ztQB$@K^o|=b#H*9A zwW1?X)LKTl7@`T49+T8K!!LR@EfW)cwP?&@Q8d4brs4JE+Ds(HkJ6j#1^{Fq)610G zs%D(UkK|Z^g{k%75UXUUZaSj9I*GmmqVrc<$iepYG~7X6ik`2NC2g&VRJ}_ToNPehd2IK2vV(md{%#u$M6J@@Q zR&z~KVoi2co&D&BwZdWYm~Osp@}lo~L~1XKrg`IpeL!DWwAsppH0+q-ip%Li}MH#Ya6VQLle@ja7X#T1TODAfewAxe*G@IlMn6BK<7lNeHjK8ym9-mj9DuqdeMJ%~3J zI^!UAQ30jx6LTp#e>sTKKUd4LREh2>%X<>Ze7!YUo+x{yWL78-;yvYB=knqdiL9XF zeN7RnRwRn*Ao-lcI$CHT#`rz?wQ1JTY6n@rG2B;%GJPm4!ySwTDT5{t?fT~5EE6gk zb=A})(v;|Zs-DIq?u|wwLM1(@OqNYjeVeGNvrRrUb%W`4LK$hgZ&F5@q&j7!NkWJAH2t7Lei zRJ1Z?AId_bVxB}Fp$nTBV$eMVr8a?SjIcNo<{jz$r5AT&gT%Tn<|B!>O1roz^p3qs z*%Pacaz2{~A&1t~2r->vjM0~jOIe^%2XZEv3}y7LEWr2miIp09dlo>A^2AHi=V|6p zMjy(M5$%#8840sp!(Gjypgr8%-p|a)7)F_R83HgQm5V(>4=c^ck}s+arh3H6Ml3)z zNaT*_twj@Jyi0~l#W-^Wqd-;(<1ItvqL>)PqR0xprtvO4yQ-Jwdv)j&q@Pj>^@B+) zK7#VO#hdUY#7G_k($!czpi|Vnnc}mXB@KoI^1bEKZYKtmA|NYwde4fjtvW^0I(NMf z(f6Z`6OErP_l%33;_Y>Mrlddm3h{ZwI7lrVNg4KQqPvh`m4cI$p=Rq|Czk&dWohE8 z^$wu@R`m;t4m2U^3W^D~uNZjYvoTA zJgfzhY10H+!=B=Sva$$t9oA-4SQ23(Eq%fli}D)lE{hy2W~UGKeZL-4#;^CMV{*XdhMoT1#N^ zA#0XMoG>ZFJ}~j_+E6T=OfLF{Lfv}*%Z#;?i%xRM|Nj+6H$KNoz!=1!Pg1H)GR^8N zL^em1Je?iC8cgSv5sT79YGXV(I85;;D~mddOoov^f*GP}I%$%y4@7LS($suHDW|oK0^rJA7 zNbPt;(`J&0_~HX8x7B&HG7m5X(aNOhw&C%b8K^OZtJ~!ORSc+Q3nNTmsE)?Bz!)dR zmQlCYOv{Kw#v)r6zTyh`=>n{~urWrg03LF7_OxmuRC(#r#C< zhDsZOW_%@#7MAs-#id$aEbFg5j&;GZQl=2-Sy2it??vq$I+*l`ub4K)LP^pQQSEqA zvOSTh(vT4C2@7Ugoi=A)!f$tfB#yBWYcb3E?FwM=kv2VIXq{G|wS&t3C^5iRI;)g4 zi?Knpopt@R(TEz#YFk=a;tj;xruQN2FHuEF>$>zlw5^l>@3o_p7hv(Nn*k+rm@7iP z$_}*@KUh78t(J0Ke;F_0%f5aRm2Hn}-_T!Y02^p@E8TAtVLQtt>7S{7Jw<_*-b*6) zl`c%T8!_!$V6yQB@hA@yWl)>{r;SK9&S@pWetR_&(6qv|H?^v*G!t@}l-|!=Q#4;{ z1F)PoHP1Q%)F%d1^ju=+OxowJM$yfxEu}{3W72xk6eGIsi+uyj#F+RRs6k>qJf2nQ zXs4p3NqM2=JfpZ2DktWUX%nQW*p?BSVr8+G)(3;Fv~h{mG;M;QDLEAFnaq)7moG-9 zSoE)#6L_I4T}~ch={lX9uh6IN+Yu>AjX>vtMw*R1*cJ(&Aygn@FR9jJ>AU!JaIm@bkVx^XmkIsjj%e;WLeYmH(+)Z4+v;zXm7CK|s> zT-s@qW$C4|(My#o&!M}C@>DsUu>WVRx)F+vqqWV)tC~8el=TCblaga+oxf%~2 zADsc}2aGF);aU2pAxD!gCNu%LGGy{4%aXJ^H3`&*C`PRbJ7bzKR0J%MnS6_A7$~V` ze`&qQHdomarPwN@_4PU;HAPB4qU?f`M}wG>qUIj0O@F(b$ffh7#wA)Z)k6Jsd?|UL z8fK;Qr#@0vhS%|?tJY#Gh$-FrQyxqrHGVFlszyRRoeW^p`;kh07MiF<>HVp1{)Yb4 zXDZd-*fNNZtyq+&PlM7Zq=un%2(w*7E2B=y)O9zLP7Bi9;egB#id^r!g@}^Y-HH;yXL|WA$ zr|Cgzu~6Dz)ZLg@v(__P+3{(b{&L=6+CsGTTlnRTq)VmZ|?WVTS z7PQFBl(U}I>lNK=G8(Z)tA$XeE6M3V(w8n;eWROr37uRn0ZR3H+Te1fKPe%b)J=;b z`@7gVq2-ITuTVFD4z_nE?)M6TPP?y{(eE?fP7I9XJe#fWT9n2QD(2TZVWQ18o~))# zi%q_T!G>5)#d@z>nNp%cNjykQUnvRVmBfBP?fLyZV&kp$m*`k2@?tb0Jj&yDG?{ou zIvwtJh*NpA+Z3>5abd)76teCZ8o=sIs&Ne>Djc?tqL_&(q%eb2`!P(s_3`6xH5(LZ zuW4q*#%Gh9(XMjXNMgCt5IkXDDc;8*5v7cRA-a3<-xRq}p|c*`%{!&Ycxmcb>V2)c zq)HODE-7(|<~EilE;;u|cVFGn!1A9QtjW1*N~~&ofDSLcTpd`c6*48b(0VT?lNlrS zlZivvQbLLuw%opyR;t*PF;EppQb}{Vln6AN5HSK5s}C4)EbAw|l+P)&dcyWwjE96t zsn8;&#G=)s6an=no&U9TAhNWk1Q6M!tktG@jHp!F%rzyX;RG^6`IKKU(dQUMi83!I zq$zOnkjPqC?G|s zY{*eovr~k!7h*S#vME2UIOS$y_motmXnS{zFGlCKyi_X~bgi@l%GMu4aNYYX>qln` zrVdDB{mOw+X(CjWI3llwIas=9ikzT!(?F+wOYxnSlgVa5Q&Fenm58;EbOqL@jTh-M zqLi4_m(gW(AdwS5Re!GeR_D8NE-i`*L+k!d&RRwJ71I0=j>Spr zBn)?xT@{UwvUa&PiaH<}iUn=Opi*q^O5UdSa?FP^^wRDIx>s}TEC&R0$}8E=l9RMo z)WoDfG5AF7Wt1f556TzNHTlc<>qMC$&WluzKfo}{=r6HJl}8#Si6@D~C$PlQ%wPq0Z4kdrwgM{IkMHwP{l%^RBbC`UM+ozch(ZB%U^8-toap1QPdyh zXrtsawTZr(rarNZu6qY9W@%Gu7K%7E4_X(ee;&pr%G5}^nMknKeaIu2yM#`diKE!< zM8+^KH-<9gqq66IkU4vQk2vI#!;dq=YNxlt_C4M&M;hIj zY%d!XBOD^r#BvEvdrCAW4g%Cfx|x3$3n0DBBO(;Wq=!UCXyIewflvfROFx?@#4(9t zl&Qt0eLDR;Eu1t^(F+nWQ#=dm`7cX6?KJ9s9);BsTXp=o=znB zAgMl8R@*xJ#o>~Ap_r|$6T3LXgG7yH&0d@r6Bp;O$cd!(VBu5bw`S?9rS5eDiC8sl zrLgEV#HeMKIx*EAq_607i2cGQLX)L@8C@e}@F*7dwfNOfED~(+BOWAviG+5JC#ZAJ zK~9=XoM)>&Ht`8HU702jB~3jtR5^8urb3hpvCo1@wdPIaoo+-;g0RRo`O*4)j0k9$ zjN#RuxxYu-Z=zT-stRwT-;^xUY8*!b$>w&wobPK%6B=VJqYMINye8GL$__~_1nrF& z4rArZ!40Aj(YhEza4k;RmK!Ac6aJMGoeg60Uszj3L?zQ6DZfq1UA3o_+y7I9vJW2i7EGmm^boxV)+!r$j`OVy%i0lvC-Hnv&4vX-QND2=o&)l6(-fe40dS z8>IFoja-{#rxB6Q%A`1*O#Bu>n)|}CE8Ts0zyyN8TGk)+>EnB9#=dE!iQ=@3jdx0P z>c#=FjWXTS6s=}D30lT9&kv$gO>;Z#CX1A`BoeP2x5&AwvY9jI08i#jg0v!SWRqU1 zwi&dX<|yTUzO*rlCPS|lN(rjpAD%V_MTy?Wt|7Txn%0lFDbCQ=mBYl+4-#x4^div` z5<+wz;*_*R(M{+gP`tPCE`u%g&?A$8 z4nmw!V!E5C2f{{Odz3Loefo_Oq3ul{CjDJawV7Tj@=}wC4M(!=Hzil^N7GufdOcXmG#2z@KSRYG_{4q)sS*ImhH{y5$pRum>eR3zc)&m>;YZ1!z zIHO42ZpWq?W_f%~ITtJ*;b;=)Cn3_1q~=(ZNtd zFOWu$$^l4n$x?d=zwo41DKVmAy^G3+20B^I^pO}ni^*Y1D^jR3&Dw`dd;j zrW~IkCM4q7da-V}%YV&M#oSU<@}53nSB>5-F(KE-qK){B_Y6a1b@-w8q4j-fL_{by zACO}*fB=IyluC?=l_g7*2?L%ay(aY zqd<(V6ThNo6eXh5EC{s7)DkHNOq6h83M#D2(Htq~3>u?Rx+dejK7N!3bw635n5C7Q&Qq zt`^I(NijsFPX9l!Jc7FJ&g8qfL@+5lwYsn-A435Q*!2B~H(z6f@P<0?P#z zZMtoch-2C`9c4(YRck>E%^Y*;Wo1;sWo3%SYgw^;OTAQ7L8WMm5m$V@SthEd{+=j$ zT7B2w*L|S0auJW3^ZH=owk%lso659GNmWuPlP;#JsLK-;>ssE43Z^BCc7tE$(MKp> zf>MXFOqbu9f8wOVN=f1wdOKTv7=0_LZf?&LJ+R_{}c z=2&_`iL3P$da06g3GEtQ6LrHh@l!N(+Q%1VSRT48PC#aqqum!}HL+twYQ$g9gSuPO z7zIaNq`gnZYetpHGw5}XPOepoJXIFQOb^$7c~Tv@nWRdgG~E=t?sUg*i9x-|hj?Yh z(p@+CG5L|F43Zrzaf%~Lbcem`UO+n)D$O%QsTETbt=O8PPa61`1Y*INO)sg5)^b9g zlZCvmi$j;qftjeM-c?%^WeeNV;kSv^fri`O^{mc5U7db{q)a(J3h#HtEHExa<))6|CAUG4p} zd4M*c(B#IaYQ9wkY{IiljdIG67-Gr;6SWxB?RVOra?PI|)8Z&Z?Vg;CEBl!e%knxg zk5TMZS*_RIPV^W`Pm$J-n7yfmSJRgoBVn+qorY)>DE+Dac`}tsXQml~7=xe$SLYzc z`(krtkaDJLnZ%bfdP=;FP_NNM4t536nI#tCwWT^^ptu}5q?aWdddiacNiXF*!9=F3 z<8e8%P0Ts9FQN+N3}iW>VNb(yo^-n!QoJaJ)ao2Q%-|@IHc?hZTM?nTLUpAa!KkH8 z(}Zb-5&N@#EOzAvHGL#ntD$x!iO8iH1f!QQiU8d+mDQhQ8u&!~3M{&1eo9mgeV$eEe73EJo{f!NlSgPCe@E} z4FaY2(DK9}(r&7Kl0l|>S~{^7R4zp<7f`6R#Y_YZ3rmzjyRD^G)08PIfC(j;!B3*# z8x(44VweZ5F-ECN@LG${#|qrP7Wjt zkI){kwvGmwY&^uzJL`63YPqCWV$eniYYOFDt7Jxs3L(1(xz{c=X6?~Z4{Q*Nc?rc; zJ2XyvrdooPHe0(XH)X`y#SeRs7vg&;KdGq6#Uw)CNom_*Q+oz7Q|BT1b> zuDv+zkx*!hra?aiQY@Yl&tOSHJ*z`3JtodAA!mhQl;%xp_2h~I+Pp;jnAGcO{t|UW z+0~-8fE@C`F@GdT`}`>TM7l%)K-s%`eey}7jL{F!W+#8enA|a)F{?fA4YZAN#a{EP zs~6g_{mPQQ=7CWvPfqG8Dcgn!WP2>WVz{S2ku$Qzpe5n68U-dJHnZ4NB#dDb*{F>b z_>{s>g5O%?r-NA?(vqC;DD5zWwagoNV|0$adI&?Ja7<{L-#EOB-buQorBSlyAaFxdzspQ&jq-#z_K)J zgbooV%CZvWK+vGF0>1|^eU>C^AzV^P*s~JtN$gbulB%?Y?t@EUPLz4bo7H#f*(84=SiSjvZRg>VlFn6%my1;l$ zpbga8M;z|ybzeZS<(|BAx=_0KROg+_osjDOPTur;ambKW?QCipDNgS2p_+6nZ+dej z%We)l8U9tUlbvjJUrtX4CxmpUk0EPPM1%Q>K`oG`1!2N2lYXhyS2m2N?W^H2g~6)X zFq>QlLS%Cv3o~_TAd$K|VNJtPVrd>bxHJD^En3Mql!$C4kNIdNeKfFid0=*~G`_mD zT)H%JxwJU7Ji9PIy0|c1T3Q;M$ypdLE%%kqty~ydxR8?^Us#!69$lE7U(N~SB=+{` z%GBb___E$ny097tD5RrS?YN#WM8OwnZSxBz{n}O3J!E=Lk46bPbU7HyC^Nn?DT`Ea zP+;NfU zM{pZA?y*k6k+4{5!)SfL!4ASo#RvjF=I3~9$`oZo&A!fsWX*FwZ8kV>$1DEqGt>&U zilWLNlj`A(n)h@!jit_l+C1R) zA5PlGtmAO7;qUQ&G*8~34;iK%GwcbA1aId)I(mVDQ0)M!GN}qNyE>}UF&O85;+m!iH{xSWXzCg zkBpmzNTt+-eaMq9V1$+}CG_LC4W!+63%pm}PwH-Y=>+jyLduu&T6q=AKG}TQr~~CA z#2RKLnV;5?D#>X;D6Y)Vvxi$#ACsdhW7>=C-m31F+X_gaZX5M|^D_BDr zbvuWYnrxJ+U?&U^;`{b0*wJj7&I5*w%Lm4%i*%Cyi1o> zwx+0WUX{I-I7!RlipgV|JyPp?RjZkHdPAG;GEW-`N>ub2dcI|rcUYElde8_slpDR$LmxEd1bME*Ac9#-d|4w>fEX^C^Uk-2UX>ZXlP zy9j>8M@oIO%btetJ_fj9DKBjv+_J_iRZ?SSKmC-p6em@%tsP|zChyLNr)`-|8D8XaJwzgy2E|L)Ecr$$*oZ@#)q6w#ko7LM%tyC_ z-|0EDto6`W2b)QsZL^lSkOW(9rX}lBdPYErNP`_B;O@J%#qQC;U|6p0X`H4xi{8hB z4PRwY9{lu>Qa%xzf7F3s9|M==wo;M^=mx?@W1D(&)A1_PiJdq&`m`6yMk2}UiM|kI z?6`$oYuQ6+Z0gosxnx#d4-upr3pDqVwHoHXL*h$MvCq=Ddjcix8}D_?55e=i3){gu zpc|5h`_L=C1Q)1NHV5SA*e%01@?O#7^SRPZ-GqF`vPR&#AxkGw7*+-!QWqd+%)>bo z4Mp`i$CLxVfTO}Kt;(N?X3}NUELrbocZIouv^4f0QrJ>E!FyCLAJ2(ScC*z)ZG`vC zyKn3Tharfey$U79w~?{f-SS1tHENsrZSh7van3MUa_<|@ z8n}&Yy5k|X#!;7YQ~JQv%heMmF8n|;OtNZ;pPkp?wZ6{l53>~X>$V+Oowps=WvVf@ z8s;KtAi`X3#)2CG(=6D16lqzwCfSY8f|vgO5i65Q4=rzKw@mj?5W6(d_0uV{kk+ZW z6*t;R+tHvS1UCZn|g%*t!`n1;7%rsy1;mT0Z6 z+9j1o&7*|3(UkdwM)TA-J1Z+Qq#5yx5oNNC%o*fwB=gM(HJ%HNxIH7D;NUz)E=owpgXRnuHd&uG>H)lusSA%UDG9NIt* zD3Q7v2qad5!b0-1JBXG2;GBV3yrVWP;0hwOUOl!CAlOd(l^yKcSGLhRz!wh|Cc5+<$SlWY7aQtz`@Wzn*6#1|?uM$O3)e@gB7YY`r=4xa7P+6zY z(gHe|4TbT>ZQHIQI7JTcjMY2-Q-4N;u^v6@syu*D#|}igxU?c z;Z+o)^wHtWks|Kf3>Hu7LIQu`Q7|$EoaD9Q?6%qlSzLQV8ryD%Q8nZ^(9+h3di!Is z?}XlFZKZN*hgI+;-EX-$DfYf_uT>=*Ix(g`%WX_3x09MH-pFDc==3q<@#JO6xkpkn zF_+i+n2Oa1zj7Ud=W8$nDaPBXcOzqyap2QZ=C5fuvo_)oRUV9n$*u6Z{7@vdX(Vq| zcNS;_t;SSewCq>^5eF&}^l4t4h^2(7_1m$&;qY3GIylHU(SOvgbfyH_vCAQCgwjeu zux86Yx;<7$Qi4$^9k$st7^;IytyrkJ$xAc8ZT*)id?tZx6~LWU)(9hckDt!y8?li` zVou4`;jWZTsx3KXGs~J*4uML|;kaXO17jmkro<}1@wy_ry@NY8?xRwzW5eui zSvu90$lR8uVHRkey6m$7_NQaS01q5z0`! z(5Gf>Y)}W4gA3{^9h;6&Xid0JB|b>p-k7vWvQgL{b4e`w!tbZ(oX&gJE^*{5#>~qG zZ!;=bR#X;xx7R1c9*-TbRyUOtbXere7VuTNaX2Hw%mYv<5aY@yiL5HlajP~abz z-k`-rTc5~_T{uH$L)Rei19)FQ za<0lp_c;rp&S#28@ESkEGMpPPrzQSqL(W5TT%HbVT9%FLnV{mAt^{OqJ>L5nd>rq$ zuO?TNF@CY$J*18L6P>8A+7sL>Wo=2)rWPv5@q>N`#a<&Uj&)`|2%2$br&49Bx;s;i z+YrM8wGp(d)Z-A6xH0h^kG`tlCY*S6{Gpo4w%Np_v5_C%m09+um4-EZ*C!<54QErz1ng%+87mX$<>T5|q1hNEs_RiI*-;Co9W>h6Q0{}DrZ009 zu18Q-@%hIxxt6%4I9MM0Y5j65`47BrWKpG*F9SMt&}|71nIe(&P_7`XB;_I&rGD5W z#5O3}m{dMc*xVe6YkpE98!P(hGj~{>SGWr`Q^#vVNYwjDqwVK1(F)SIsD+AQ6G^uG zrZL>n{t=BzrCL~TQ5KT4?i|}t+ppV8-6$@Efhw&NM5*yzkf_ozFPJ(N860meXKtqr%5E;-lR&hfnOnBWn$C>YhSwuOv%<}P zT{IaV(sRHXc59rF5vRt46{Kk;hHXMi%-9_U(=DiIXMHdG%dMbQe!JRvJLIMKh8DO|Y(lcAwENQr zPJvTLzz|3CCAKyaWL}Yri*Wz(QSQs>>mFr}G7O(=zQdo*QQ}DCx8#OGYi*ShE@zw` zeh+EZGcON;wP>r+-$-r~tITM*jlkip{%tn9mX)ZKD-};tx2(Ayld6&`VDSY7G4 zG%QQqhYy0UDlQex=}D6VR4OG|XI^Wwt?85vuT)5VN~&kbwT0FZ;QjGAp(U#))bTZ$nd9!IGv%2ROh} zCQ=Wlk+r+@Yf=?D6-%qUd_|28Laf{d{ zbwTR@8W~k^oq2Vc-&VbBOkqJQliPU8j~x6oPGyVoD2|PaQ)nENLmB&usZ>Purv7WphDox^j$~VE3=Zsq+qA`u4`CH5ZGky3 z-R?GI`*HA2HBC`bS@shz!RyS7hh6v{Bu?9>T~Pko#O|pi25jT-3G0t9GuQ}DQ->_| z-cx9D(u3R=uG981BWE|EkQSq_h62DjUnjG}Hv0zSm!Vy%Z8AN;RmDV>Y6Nu`9@n@& z**_M$Ox^ToM~X5+Mq~s)J1E>#0%}Cswarc|LHpEkXxOKHV`-@yH&m8|IB7mKq!@1s zs`1gpc>H*e)E9<8el{aah_ll!+&K{ZaO%6yEbGh_!61z5BMT8)70^LC<%njgZAjsi zGv(<2o_#KT2rp2c$1Ak9pxW2p9}E3@yq``PA4-XAn-zOQv~-}`DPt!UjN&+i1U%ZU zuj%PN)#I@%>sWPSNYNVXO^kcTNUuIM!y&kQ3-YnlZ?~gK-NMMk1ou?Rk6_h_ECV!d z??0)MRzc3mAFULr;$?(!nCU*XlC9xDn9<^pv9`9Wz0s11#>$UtuoB*>HbxU(DqU<6 z3Wic=+|444d0o$x7VE5$$_Wz<;pQ52d{p?!*b6F4c5vv9EG0Hn9tHhS%GS{EuUmf)d~1RC)R!0*E?(_ zMmq-hvT*QL_B7?h;7%$0l2)A$i8Z^t$~Vay_^!?RiT&hNWuYhw?f;J5bU3m;XEKRm zaTRgM!^&1driEcc=nF$is;%bRaBi}^_q3E1b(BHqt{Ds~oA$+zAd2gDrXS<(9H$Nh zdui1-ghgdlv!!ZDvR0V`OpkE0(%{&X(yYk!m8m1gS+VuV8%k3v@oI>ACXebPY9a8U zm#?rtI(#1OrLF36n#4yIvlz?T26y-AB-I3ch)Nq=$ka+)Acv1So_A;UC zrrh*nnK0x`nINshhV5eEb-_`u#sM}*QRX_>@V&iXnoX>kdgiA7m^IeVRN92afOv

g(V2Moe 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 Co;Qd9 diff --git a/dist/winfsp-msil.xml b/dist/winfsp-msil.xml deleted file mode 100644 index 81221f4..0000000 --- a/dist/winfsp-msil.xml +++ /dev/null @@ -1,1345 +0,0 @@ - - - - winfsp-msil - - - -

- Provides the base class that user mode file systems must inherit from. - - - - - Provides a means to customize the returned status code when an exception happens. - - - STATUS_SUCCESS or error code. - - - - Occurs just before the file system is mounted. - File systems may override this method to configure the file system host. - - - The file system host that is mounting this file system. - - STATUS_SUCCESS or error code. - - - - Occurs just after the file system is mounted, - but prior to receiving any file system operation. - - - The file system host that is mounting this file system. - - STATUS_SUCCESS or error code. - - - - Occurs just after the file system is unmounted. - No other file system operations will be received on this file system. - - - The file system host that is mounting this file system. - - - - - Gets the volume information. - - - Receives the volume information. - - STATUS_SUCCESS or error code. - - - - Sets the volume label. - - - The new label for the volume. - - - Receives the updated volume information. - - STATUS_SUCCESS or error code. - - - - Gets file or directory attributes and security descriptor given a file name. - - - The name of the file or directory to get the attributes and security descriptor for. - - - Receives the file attributes on successful return. - If this call returns STATUS_REPARSE, the file system may place here the index of the - first reparse point within FileName. - - - Receives the file security descriptor. If the SecurityDescriptor parameter is null - on input the file system should not fill this value. - - - STATUS_SUCCESS, STATUS_REPARSE or error code. - STATUS_REPARSE should be returned by file systems that support reparse points when - they encounter a FileName that contains reparse points anywhere but the final path - component. - - - - - Creates a new file or directory. - - - The name of the file or directory to be created. - - - Create options for this request. - - - Determines the specific access rights that have been granted for this request. - - - File attributes to apply to the newly created file or directory. - - - Security descriptor to apply to the newly created file or directory. - - - Allocation size for the newly created file. - - - Receives the file node for the newly created file. - - - Receives the file descriptor for the newly created file. - - - Receives the file information for the newly created file. - - - Receives the normalized name for the newly created file. - - STATUS_SUCCESS or error code. - - - - Opens a file or directory. - - - The name of the file or directory to be opened. - - - Create options for this request. - - - Determines the specific access rights that have been granted for this request. - - - Receives the file node for the newly opened file. - - - Receives the file descriptor for the newly opened file. - - - Receives the file information for the newly opened file. - - - Receives the normalized name for the newly opened file. - - STATUS_SUCCESS or error code. - - - - Overwrites a file. - - - The file node for the file to be overwritten. - - - The file descriptor for the file to be overwritten. - - - File attributes to apply to the overwritten file. - - - When true the existing file attributes should be replaced with the new ones. - When false the existing file attributes should be merged (or'ed) with the new ones. - - - Allocation size for the overwritten file. - - - Receives the updated file information. - - STATUS_SUCCESS or error code. - - - - Cleans up a file or directory. - - - - When CreateFile is used to open or create a file the kernel creates a kernel mode file - object (type FILE_OBJECT) and a handle for it, which it returns to user-mode. The handle may - be duplicated (using DuplicateHandle), but all duplicate handles always refer to the same - file object. When all handles for a particular file object get closed (using CloseHandle) - the system sends a Cleanup request to the file system. - - There will be a Cleanup operation for every Create or Open operation posted to the user mode - file system. However the Cleanup operation is not the final close operation on a file. - The file system must be ready to receive additional operations until close time. This is true - even when the file is being deleted! - - The Flags parameter contains information about the cleanup operation: - - CleanupDelete - - An important function of the Cleanup operation is to complete a delete operation. Deleting - a file or directory in Windows is a three-stage process where the file is first opened, then - tested to see if the delete can proceed and if the answer is positive the file is then - deleted during Cleanup. - When this flag is set, this is the last outstanding cleanup for this particular file node. - - CleanupSetAllocationSize - - The NTFS and FAT file systems reset a file's allocation size when they receive the last - outstanding cleanup for a particular file node. User mode file systems that implement - allocation size and wish to duplicate the NTFS and FAT behavior can use this flag. - - CleanupSetArchiveBit - - File systems that support the archive bit should set the file node's archive bit when this - flag is set. - - CleanupSetLastAccessTime, CleanupSetLastWriteTime, CleanupSetChangeTime - - File systems should set the corresponding file time when each one of these flags is set. - Note that updating the last access time is expensive and a file system may choose to not - implement it. - - - - There is no way to report failure of this operation. This is a Windows limitation. - - - - The file node of the file or directory to cleanup. - - - The file descriptor of the file or directory to cleanup. - - - The name of the file or directory to cleanup. Sent only when a Delete is requested. - - - These flags determine whether the file was modified and whether to delete the file. - - - - - - - - Closes a file or directory. - - - The file node of the file or directory to close. - - - The file descriptor of the file or directory to close. - - - - - Reads a file. - - - The file node of the file to read. - - - The file descriptor of the file to read. - - - Pointer to a buffer that receives the results of the read operation. - - - Offset within the file to read from. - - - Length of data to read. - - - Receives the actual number of bytes read. - - STATUS_SUCCESS or error code. - - - - Writes a file. - - - The file node of the file to write. - - - The file descriptor of the file to write. - - - Pointer to a buffer that receives the results of the write operation. - - - Offset within the file to write to. - - - Length of data to write. - - - When true the file system must write to the current end of file. In this case the Offset - parameter will contain the value -1. - - - When true the file system must not extend the file (i.e. change the file size). - - - Receives the actual number of bytes written. - - - Receives the updated file information. - - STATUS_SUCCESS or error code. - - - - Flushes a file or volume. - - - Note that the FSD will also flush all file/volume caches prior to invoking this operation. - - - The file node of the file to flush. - When this and the FileDesc parameter are null the whole volume is being flushed. - - - The file descriptor of the file to flush. - When this and the FileNode parameter are null the whole volume is being flushed. - - - Receives the updated file information. - - STATUS_SUCCESS or error code. - - - - Gets file or directory information. - - - The file node of the file to get information for. - - - The file descriptor of the file to get information for. - - - Receives the file information. - - STATUS_SUCCESS or error code. - - - - Sets file or directory basic information. - - - The file node of the file to set information for. - - - The file descriptor of the file to set information for. - - - File attributes to apply to the file or directory. - If the value -1 is sent, the file attributes should not be changed. - - - Creation time to apply to the file or directory. - If the value 0 is sent, the creation time should not be changed. - - - Last access time to apply to the file or directory. - If the value 0 is sent, the last access time should not be changed. - - - Last write time to apply to the file or directory. - If the value 0 is sent, the last write time should not be changed. - - - Change time to apply to the file or directory. - If the value 0 is sent, the change time should not be changed. - - - Receives the updated file information. - - STATUS_SUCCESS or error code. - - - - Sets file/allocation size. - - - - This function is used to change a file's sizes. Windows file systems maintain two kinds - of sizes: the file size is where the End Of File (EOF) is, and the allocation size is the - actual size that a file takes up on the "disk". - - The rules regarding file/allocation size are: - - - Allocation size must always be aligned to the allocation unit boundary. The allocation - unit is the product SectorSize * SectorsPerAllocationUnit. The FSD will always send - properly aligned allocation sizes when setting the allocation size. - - - Allocation size is always greater or equal to the file size. - - - A file size of more than the current allocation size will also extend the allocation - size to the next allocation unit boundary. - - - An allocation size of less than the current file size should also truncate the current - file size. - - - - - - The file node of the file to set the file/allocation size for. - - - The file descriptor of the file to set the file/allocation size for. - - - New file/allocation size to apply to the file. - - - If true, then the allocation size is being set. if false, then the file size is being set. - - - Receives the updated file information. - - STATUS_SUCCESS or error code. - - - - Determines whether a file or directory can be deleted. - - - - This function tests whether a file or directory can be safely deleted. This function does - not need to perform access checks, but may performs tasks such as check for empty - directories, etc. - - This function should NEVER delete the file or directory in question. Deletion should - happen during Cleanup with the FspCleanupDelete flag set. - - This function gets called when Win32 API's such as DeleteFile or RemoveDirectory are used. - It does not get called when a file or directory is opened with FILE_DELETE_ON_CLOSE. - - NOTE: If both CanDelete and SetDelete are defined, SetDelete takes precedence. However - most file systems need only implement the CanDelete operation. - - - - The file node of the file or directory to test for deletion. - - - The file descriptor of the file or directory to test for deletion. - - - The name of the file or directory to test for deletion. - - STATUS_SUCCESS or error code. - - - - - - Renames a file or directory. - - - The kernel mode FSD provides certain guarantees prior to posting a rename operation: - - - A file cannot be renamed if a file with the same name exists and has open handles. - - - A directory cannot be renamed if it or any of its subdirectories contains a file that - has open handles. - - - - - The file node of the file or directory to be renamed. - - - The file descriptor of the file or directory to be renamed. - - - The current name of the file or directory to rename. - - - The new name for the file or directory. - - - Whether to replace a file that already exists at NewFileName. - - STATUS_SUCCESS or error code. - - - - Gets file or directory security descriptor. - - - The file node of the file or directory to get the security descriptor for. - - - The file descriptor of the file or directory to get the security descriptor for. - - - Receives the file security descriptor. - - STATUS_SUCCESS or error code. - - - - Sets file or directory security descriptor. - - - The file node of the file or directory to set the security descriptor for. - - - The file descriptor of the file or directory to set the security descriptor for. - - - Describes what parts of the file or directory security descriptor should be modified. - - - Describes the modifications to apply to the file or directory security descriptor. - - STATUS_SUCCESS or error code. - - - - - Reads a directory. - - - - - - Reads a directory entry. - - - The file node of the directory to be read. - - - The file descriptor of the directory to be read. - - - The pattern to match against files in this directory. Can be null. The file system - can choose to ignore this parameter as the FSD will always perform its own pattern - matching on the returned results. - - - A file name that marks where in the directory to start reading. Files with names - that are greater than (not equal to) this marker (in the directory order determined - by the file system) should be returned. Can be null. - - - Can be used by the file system to track the ReadDirectory operation. - - - Receives the file name for the directory entry. - - - Receives the file information for the directory entry. - - True if there are additional directory entries to return. False otherwise. - - - - - Resolves reparse points. - - - - - Gets a reparse point given a file name. - - - The name of the file or directory to get the reparse point for. - - - Determines whether the passed file name is assumed to be a directory. - - - Receives the reparse data for the file or directory. - - STATUS_SUCCESS or error code. - - - - Gets a reparse point. - - - The file node of the reparse point. - - - The file descriptor of the reparse point. - - - The file name of the reparse point. - - - Receives the reparse data for the reparse point. - - STATUS_SUCCESS or error code. - - - - Sets a reparse point. - - - The file node of the reparse point. - - - The file descriptor of the reparse point. - - - The file name of the reparse point. - - - The new reparse data for the reparse point. - - STATUS_SUCCESS or error code. - - - - Deletes a reparse point. - - - The file node of the reparse point. - - - The file descriptor of the reparse point. - - - The file name of the reparse point. - - - The reparse data for the reparse point. - - STATUS_SUCCESS or error code. - - - - Gets named streams information. - - - - - Gets named streams information entry. - - - The file node of the file or directory to get stream information for. - - - The file descriptor of the file or directory to get stream information for. - - - Can be used by the file system to track the GetStreamInfo operation. - - - Receives the stream name for the stream entry. - - - Receives the stream size for the stream entry. - - - Receives the stream allocation size for the stream entry. - - True if there are additional stream entries to return. False otherwise. - - - - Gets directory information for a single file or directory within a parent directory. - - - The file node of the parent directory. - - - The file descriptor of the parent directory. - - - The name of the file or directory to get information for. This name is relative - to the parent directory and is a single path component. - - - Receives the normalized name from the directory entry. - - - Receives the file information. - - STATUS_SUCCESS or error code. - - - - Processes a control code. - - - This function is called when a program uses the DeviceIoControl API. - - - The file node of the file or directory to be controled. - - - The file descriptor of the file or directory to be controled. - - - The control code for the operation. This code must have a DeviceType with bit - 0x8000 set and must have a TransferType of METHOD_BUFFERED. - - - Pointer to a buffer that contains the input data. - - - Input data length. - - - Pointer to a buffer that will receive the output data. - - - Output data length. - - - Receives the actual number of bytes transferred. - - STATUS_SUCCESS or error code. - - - - Sets the file delete flag. - - - - This function sets a flag to indicates whether the FSD file should delete a file - when it is closed. This function does not need to perform access checks, but may - performs tasks such as check for empty directories, etc. - - This function should NEVER delete the file or directory in question. Deletion should - happen during Cleanup with the FspCleanupDelete flag set. - - This function gets called when Win32 API's such as DeleteFile or RemoveDirectory are used. - It does not get called when a file or directory is opened with FILE_DELETE_ON_CLOSE. - - NOTE: If both CanDelete and SetDelete are defined, SetDelete takes precedence. However - most file systems need only implement the CanDelete operation. - - - - The file node of the file or directory to set the delete flag for. - - - The file descriptor of the file or directory to set the delete flag for. - - - The name of the file or directory to set the delete flag for. - - - If set to TRUE the FSD indicates that the file will be deleted on Cleanup; otherwise - it will not be deleted. It is legal to receive multiple SetDelete calls for the same - file with different DeleteFile parameters. - - STATUS_SUCCESS or error code. - - - - - - Converts a Win32 error code to a Windows kernel status code. - - - - - Converts a Windows kernel status code to a Win32 error code. - - - - - Gets the originating process ID. - - - Valid only during Create, Open and Rename requests when the target exists. - - - - - Modifies a security descriptor. [OBSOLETE] - - - This is a helper for implementing the SetSecurity operation. - - - The original security descriptor. - - - Describes what parts of the file or directory security descriptor should be modified. - - - Describes the modifications to apply to the file or directory security descriptor. - - The modified security descriptor. - - - - - Modifies a security descriptor. - - - This is a helper for implementing the SetSecurity operation. - - - The original security descriptor. - - - Describes what parts of the file or directory security descriptor should be modified. - - - Describes the modifications to apply to the file or directory security descriptor. - - - The modified security descriptor. This parameter is modified only on success. - - STATUS_SUCCESS or error code. - - - - - Finds a reparse point in file name. - - - This is a helper for implementing the GetSecurityByName operation in file systems - that support reparse points. - - - The name of the file or directory. - - - Receives the index of the first reparse point within FileName. - - True if a reparse point was found, false otherwise. - - - - - Makes a byte array that contains a reparse point. - - The reparse point byte array. - - - - Gets the reparse tag from reparse data. - - - The reparse data to extract the reparse tag from. - - The reparse tag. - - - - Tests whether reparse data can be replaced. - - - This is a helper for implementing the SetReparsePoint/DeleteReparsePoint operation - in file systems that support reparse points. - - - The current reparse data. - - - The replacement reparse data. - - STATUS_SUCCESS or error code. - - - - - - Provides a means to host (mount) a file system. - - - - - Creates an instance of the FileSystemHost class. - - The file system to host. - - - - Unmounts the file system and releases all associated resources. - - - - - Gets or sets the sector size used by the file system. - - - - - Gets or sets the sectors per allocation unit used by the file system. - - - - - Gets or sets the maximum path component length used by the file system. - - - - - Gets or sets the volume creation time. - - - - - Gets or sets the volume serial number. - - - - - Gets or sets the file information timeout. - - - - - Gets or sets the volume information timeout. - - - - - Gets or sets the directory information timeout. - - - - - Gets or sets the security information timeout. - - - - - Gets or sets the stream information timeout. - - - - - Gets or sets the EA information timeout. - - - - - Gets or sets a value that determines whether the file system is case sensitive. - - - - - Gets or sets a value that determines whether a case insensitive file system - preserves case in file names. - - - - - Gets or sets a value that determines whether file names support unicode characters. - - - - - Gets or sets a value that determines whether the file system supports ACL security. - - - - - Gets or sets a value that determines whether the file system supports reparse points. - - - - - Gets or sets a value that determines whether the file system allows creation of - symbolic links without additional privileges. - - - - - Gets or sets a value that determines whether the file system supports named streams. - - - - - Gets or sets a value that determines whether the file system supports extended attributes. - - - - - Gets or sets the prefix for a network file system. - - - - - Gets or sets the file system name. - - - - - Checks whether mounting a file system is possible. - - - The mount point for the new file system. A value of null means that - the file system should use the next available drive letter counting - downwards from Z: as its mount point. - - STATUS_SUCCESS or error code. - - - - Mounts a file system. - - - The mount point for the new file system. A value of null means that - the file system should use the next available drive letter counting - downwards from Z: as its mount point. - - - Security descriptor to use if mounting on (newly created) directory. - A value of null means the directory should be created with default - security. - - - If true file system operations are synchronized using an exclusive lock. - - - A value of 0 disables all debug logging. - A value of -1 enables all debug logging. - - STATUS_SUCCESS or error code. - - - - Mounts a file system. - - - The mount point for the new file system. A value of null means that - the file system should use the next available drive letter counting - downwards from Z: as its mount point. - - - Number of threads to use to service file system requests. A value - of 0 means that the default number of threads should be used. - - - Security descriptor to use if mounting on (newly created) directory. - A value of null means the directory should be created with default - security. - - - If true file system operations are synchronized using an exclusive lock. - - - A value of 0 disables all debug logging. - A value of -1 enables all debug logging. - - STATUS_SUCCESS or error code. - - - - Unmounts the file system and releases all associated resources. - - - - - Gets the file system mount point. - - The file system mount point. - - - - Gets the hosted file system. - - The hosted file system. - - - - Sets the debug log file to use when debug logging is enabled. - - - The debug log file name. A value of "-" means standard error output. - - STATUS_SUCCESS or error code. - - - - Return the installed version of WinFsp. - - - - - Returns a RequestHint to reference the current operation asynchronously. - - - - - Asynchronously complete a Read operation. - - - A reference to the operation to complete. - - - STATUS_SUCCESS or error code. - - - Number of bytes read. - - - - - Asynchronously complete a Write operation. - - - A reference to the operation to complete. - - - STATUS_SUCCESS or error code. - - - The number of bytes written. - - - Updated file information. - - - - - Asynchronously complete a ReadDirectory operation. - - - A reference to the operation to complete. - - - STATUS_SUCCESS or error code. - - - Number of bytes read. - - - - - Begin notifying Windows that the file system has file changes. - - - - A file system that wishes to notify Windows about file changes must - first issue an FspFileSystemBegin call, followed by 0 or more - FspFileSystemNotify calls, followed by an FspFileSystemNotifyEnd call. - - This operation blocks concurrent file rename operations. File rename - operations may interfere with file notification, because a file being - notified may also be concurrently renamed. After all file change - notifications have been issued, you must make sure to call - FspFileSystemNotifyEnd to allow file rename operations to proceed. - - - - STATUS_SUCCESS or error code. The error code STATUS_CANT_WAIT means that - a file rename operation is currently in progress and the operation must be - retried at a later time. - - - - - End notifying Windows that the file system has file changes. - - - - A file system that wishes to notify Windows about file changes must - first issue an FspFileSystemBegin call, followed by 0 or more - FspFileSystemNotify calls, followed by an FspFileSystemNotifyEnd call. - - This operation allows any blocked file rename operations to proceed. - - - STATUS_SUCCESS or error code. - - - - Notify Windows that the file system has file changes. - - - - A file system that wishes to notify Windows about file changes must - first issue an FspFileSystemBegin call, followed by 0 or more - FspFileSystemNotify calls, followed by an FspFileSystemNotifyEnd call. - - Note that FspFileSystemNotify requires file names to be normalized. A - normalized file name is one that contains the correct case of all characters - in the file name. - - For case-sensitive file systems all file names are normalized by definition. - For case-insensitive file systems that implement file name normalization, - a normalized file name is the one that the file system specifies in the - response to Create or Open (see also FspFileSystemGetOpenFileInfo). For - case-insensitive file systems that do not implement file name normalization - a normalized file name is the upper case version of the file name used - to open the file. - - - STATUS_SUCCESS or error code. - - - - Contains volume information about a file system. - - - - - Total size of volume in bytes. - - - - - Free size of volume in bytes. - - - - - Sets the volume label. - - - - - Contains metadata information about a file or directory. - - - - - The file or directory attributes. - - - - - The reparse tag of the file or directory. - This value is 0 if the file or directory is not a reparse point. - - - - - The allocation size of the file. - - - - - The file size of the file (end of file). - - - - - The time that the file or directory was created. - - - - - The time that the file or directory was last accessed. - - - - - The time that the file or direcotry was last modified. - - - - - The time that the file or directory metadata was last modified. - - - - - A unique identifier that is associated with the file or directory. - Not all file systems support this value. - - - - - The number of hard links. - Not currently implemented. Set to 0. - - - - - The extended attribute size of the file. - - - - - Enumeration of all the possible values for NotifyInfo.Action - - - - - Enumeration of all the possible values for NotifyInfo.Filter - - - - - Contains file change notification information. - - - - - Provides the base class for a process that can be run as a service, - command line application or under the control of the WinFsp launcher. - - - - - Creates an instance of the Service class. - - The name of the service. - - - - Runs a service. - - Service process exit code. - - - - Stops a running service. - - - - - Gets or sets the service process exit code. - - - - - Provides a means to customize the returned status code when an exception happens. - - - STATUS_SUCCESS or error code. - - - - Occurs when the service starts. - - Command line arguments passed to the service. - - - - Occurs when the service stops. - - - - diff --git a/xbox-winfsp.csproj b/xbox-winfsp.csproj index 997546a..5a8c7da 100644 --- a/xbox-winfsp.csproj +++ b/xbox-winfsp.csproj @@ -55,10 +55,7 @@ - - False - dist\winfsp-msil.dll - +