From 292352ea2df77e131b21cdb54eb777eb48a7b0db Mon Sep 17 00:00:00 2001 From: Scott Ehlert Date: Tue, 17 Feb 2009 03:02:00 -0600 Subject: [PATCH] Added SDK changes for Dark Messiah engine. --- lib/public/tier1.lib | Bin 2403186 -> 2239408 bytes notes.txt | 19 +- public/edict.h | 179 +--------- public/eiface.h | 80 ++--- public/engine/IEngineSound.h | 2 - public/engine/IEngineTrace.h | 8 + public/engine/iserverplugin.h | 30 +- public/engine/ivmodelinfo.h | 4 - public/filesystem.h | 191 +---------- public/filesystem_passthru.h | 38 --- public/iservernetworkable.h | 2 + public/tier1/utldict.h | 103 +++--- public/tier1/utlmap.h | 79 ++--- public/tier1/utlrbtree.h | 608 +++++++++++++++------------------- public/tier1/utlstring.h | 147 -------- public/tier1/utlsymbol.h | 123 +------ tier1/KeyValues.cpp | 19 +- tier1/tier1-2005.vcproj | 8 - tier1/utlstring.cpp | 218 ------------ tier1/utlsymbol.cpp | 170 ++-------- tier1/xboxstubs.cpp | 74 ----- 21 files changed, 457 insertions(+), 1645 deletions(-) delete mode 100644 public/tier1/utlstring.h delete mode 100644 tier1/utlstring.cpp delete mode 100644 tier1/xboxstubs.cpp diff --git a/lib/public/tier1.lib b/lib/public/tier1.lib index 0575c265af90c9ee43bd0d12dd21807a342ce973..7db9f85e885359c3dff8b180b0f72f9a8eb5350a 100644 GIT binary patch delta 409277 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

hAb*Kj+nP0nfo^7uw@*kdl()1(GXmfvj zyx*4c`IV_`&@0=@#=05wzP6P7EhIaSfj-@q%B148=Ifw6+fn9Jq%N|Zkc9OJLj={@ z$$K*9BD?zo{YI#+(Qx9YO1GD@?czsNx<49j8ga-N)n!>Ha6-k!*1FcoQ5uWz1I?N|A0{P2jcOEclfC;hq(k6!%c?BF1~aKMjc!% zfw|kJA^KI0oiN-sl=9dR3<+_y$36I6oU~EmT1c7lEhe{4@9D04y$9ymuxu6(Upb6Y z2k})Ba5+{Cr{gmbTmEpgp%L-{>v$)U7&iiqXe8NjQN*}ur0kUYM<08QPS+m zDBOP;E$c8QO;$>2Y>hqADS)p;R8PnLJ6#_pc)05egC-f2%$B_~& zF=U%TZl54K%|6gaC&*6oBj_g+D36^NnTWd(6Cv;{M%nuKik?LA^I%hF5`0gR1Ncv% z2W84+UBsMj%96>V9K3?=Rt8^&?YL(XpM^wbiMfMvKVpGb7);7yF?ol1A?V>#DE)A_ z&4NNzW=ugJ!L1dxOPGoi^l2h|bL;6~Xid*vVAtG19hol0wvhnkBEAP?Q$P-UP&Quo zm?3>Uo}noAnNl?V^_eJ&nbOY(@G}nIKDgJyek#qvU@=Gf89E0{*E!P9ZqPSi&f?)n zlwz2R_CA-A7QoMT&==-QKTUHmYUM~jGeGanp@VSab~;CYBV-Xg_jL6eAsrUl@0vOz zix9Ug{A~6^VZQ%>-~6{WZn@##r&Z2|xMCGC2%s^&?9GnN!o2XC9U*vJkmWO58R^3H zfROM_SWUg`Dd+&a{>D#1r|KfKU%9cn!s4i9O;Q}SuSq_xu@aK(c%s^P#U!70Zj49E zIlfhR%iPTo(%BPB_W(m!nUNztX#Gj^$h+^5<{yrR4#%nLtV@{KSrEVf!5YnGRZ zrOxq?k7+#dkdJB9(#2y(c}j8C3!dz+uqbe%mwa3#-Al@??(&jyt53Y-3*w0u`4sjj z{jrbj7WqiWpBDL?T~%-S{M`(1`6$OJZ}|*f0_0xtbhh~p>MzNUj;*l2<{Dv8{fd3B zE<;n^`42AG<9_}B@SuR}UJjnT(jMX(AwAbgvAIshwZ*-F2-oD!rSGe_O4ibKBD_Ls zGxr)lvb@!|h>Ju)T`FVes@F$cC`+20>l^Eu*7e^gmFhwXQ1J*j9{g_UqK4%R98TzdB*);WHoeW5|k z#RQ1C7cBq1I%N@THZNgzkD6?@CmYxJP>TrYO*+2WUdF&*w+z;}Ps=#*kRm?fw%Tn# zXS1#LbT)7v|I9wh$TrVqNR!K2eaPpa-JfRcupeeSyVV==r5*fzoKrrxLz)r(e%ooc z3x5H-Wr*>+?d?Sr=_R}z&UJh2zQWzEFYF>_=f%DDHp0H<~0Vd?(66^0w_^`*n`#^)KxZ9)sz*ui()goIV{RkBDz)tt0ki;eXyydzf$u!B~j6 z9<%?c2c`?hT2I)|bBOsT?BT-Q=bkYRN(c|}an|_SZWUoP{l@;4AR@lA9~Z=pQ}&U< zHG+?G&O9T(oS|p!RZSdP(gi!1n;`b&*)`!X(#u1SvHvA|2$lZP{w>=Zf70!}YZZv= zw))wAm8}vk*}a8Vt~y!LBQD!Lg;7BPFZsp(yD*r0RTLn7F41}Zs{M@7*bgk@>#+FF z*LnK7y(rg>^UiPfilUNA+!9`#uivuc4HcB-sXH=^`x2d@ckTXeY*FIA?()7JN9+h= z=O6Y~B3cj*y52a{(^=-~yEF(jN8^+f2IoD50X>%JjPi^& ziVQ_tq(!1cXNo1diAeuipXg~^PgD?iH*2)4&m$MCrOAIzbg)wkjFz1s?h(Xvkj6d1 z(v34AG`ba+i<82mXA7c|EqbgVwns;AZfvxNN;PHE`b8&K2&-7}1up4d-dF*fv}lD& zm8({J#wHCAY|<<+UE(O?QjrL1of92n>>ErYbD~Qb%Y_M+gx5%H8kX3w)uaV@VA5Oy zUHwgmkX6amlO@ zm)s{5hwz7deNu&evywQ!D=9c}*^@%t&G?*JN}2*ya2wKCRzBQVVYb+u6~4pwNSGJi1a>fqOLE9WC-Gu0Hbcfr`rXBMws2SYE@LbG1xBZQfl*viwED?Qio0Aisk(H*nv}iA zH^4Q^L#)o*xhRYOwbw6QQ&Rtpn^2c-9h=dl>rvjWVNb~S4!iX1)}_y&A^ke_>stBW zy{uZS>%VnbRcLiey6slw+2d}$jSD>5Q~Gzc59&5}aIgM72DKm5Wx(LU?fVV0|62jK zmy8v<=pPc~ns!rqZFI70LUQpVfY_k8>dKpVJTcwqvMq=UH?0@LTT}9)$V%iwbw#e; zzozc7?WS~pFArzj#%P15@t!x8-;On56YPf=H~Y{)9kV1l*Kdz*=>~^Rk6qF3M)u*i z8!qF0DUNZ5FE!J#zeMMx-O=NO!?3+@01wq9I@|1x{@lPph3=0wvkRwsFuFoKFXsZb z1v#8U9z@@DD_W^a{7ct|74edhIW)Lhwer=UEf0N^6L^F#=rvmND7vm?nLiGtz-Ru_ zN)I1JJB$~sWP2PPYrGIFPSMQ22IDk5gyIk3bo6eBG73as4D!EWWandL zJ7}e-I9ZE-5^XY9D2j)WBdErcXoqj@NSuiCVvwECiCL_s7H-_i*#8$7b%aG-nA87h z^y_X$yfPxzWgp@l4Xks*`J^Yn;D2(4pU>qXUbn1O9|c`&b_Ps)NNHhxRAHlFzHhiv zuG!)vBQ2fg&i|&{hCQ=!T=Ea=wqX#)WqpiW<@*-l_l3K{%@n5P9>UAnuKA7>;p3M^*SKJ;g;I@9{?CkBRW->nXbk6a21R9uFAK<{sZup5 zZpYGe?qVI#8DeLCl1((Yo+HNG1}XH09@d;_htLdS?t%pZWXK?37uR1JlLD{z=a`T*T-MxR_t>d3Jhhb_>fou`8EA}XITE|OV zVp^a14`=HSrIzvV>S9_iJT1>QN{wmXQySEShgT7^ci~x?+~iU7*KTt5En*V0Z|A{c z7LT(3Tx;k%kAhAXYmooIYa^CPXM}m-*}I0A)eFzgbA)-}+1X&0tBVAwsVzKR9K9Fj zmi(k^a8vc8_6!es=|7K@Ko{b!lt{JobFJBC} z?vVSxdRDCE!sq&3ckFkwiK~`5u46d4a1y*2-byaLQt!F>x@cK~?Q}z07ZPH1QF!7^ zSm<`fsc0R_xnr(P>$U`X(}9_ex9CQ5#~}AQ7@43~bBrah6pvB-W21uW0$>!2%fD>$ z+}^n`$+5J!v5lYD7gOK&9Gk+*SNi8&aY)h1Qd4!qbtgx$9dTfYcWUAVQ|n z{4S0>GD?cq=-tPI9z+>_5M5qUN}k0WL{66B_#>50Kw}prJjUjEAx=M5mxjco!{P1( z{gKqxC0<(p48r~_uPzR1c9wyNyHMFh35OvG_)S?nc}#dT__wl0_*m{pG$#5^fpmjvAaS+6aW0(1E`@s;w}+gG53b7qITy#n8EVySrX+io?0Y+G_Gu+AlzN z5~AvKd;=shvufaws3rxBhPUWic-yr$#UBf|dDVr#a&=J3l)*CUd64Ax7=dps@kO0s zyGA<#-CDs&=m}c_KfPUjKvX}?aod}^{pwc4I2r|py>{nZ#Pc#;U`DYBDXa^uo-kiN zX+%`D_{@;)_Zzlt-sIgB+$OZVPz=IHHJ`Z()zz$L%u;@;)3MsruvO{sZUubwI zvG^!_G_@V92aYa6uo4O{o<`#NOg=KgGnos(D(M`A-utp6qoKmQ@FM7}FfY95sV$D4 z3M=8733)+gUHqxb4c34XFqU^51|6B#fKH28R8{z096kLo>3)^`YyEC)-FIT*IUi5R zqb7NC`U)!_Tkb98C@%w9ZEmbo24?K+BcI*e>mwFj72JH;f8n=Ay9x8cM}PbAxC5up z-A^9frT7V!j*w40>rVqFJL*%pUABSLHq$ZHHH)nylO3)SuyW6GOm|J9{##doC24e? zAGYV$qT0A7qpn*-xNeE$(z8%kwJjGebzOQY=PH3t*QtCGhdnOjO1W@#`rpW+S@(Mp z7rj+lu&%8mB?`s5Ha{rDMau4)&v3X%TpPO2j<{$kj|V=ZsL9I3%aZ0e#yTjJ;|h!USV zeqn;F%fV#?mY3*kvD{JC$Oh>vg@rR`rK6-U_;R&$c}=3zdyON~ja`;pFD)7}A_Kh` zk%5mTI+w3^oHnL$;;`-&cf=VJ@W;OZ35rO(euJFX!q`fPUxED}oH>012%e;Z&5QUI z*r%|e{su)5DD1DqPq%kdP?T<)9d*;(d6Q?RwP&JKXRk`yScNi)3J)J7;nBM!p$){Z z1xn)$d6_WsO|b!Yk9!mEM+sePtgFJd8wgcvlnl)#Zo^vXd)z6lSagwZ z%(8p8gROP*3$3B~O6pk?y4-@>$jtE-Rd=-wx-VsfpMg$9> zTU*HjptgJ~wfsswqUun+CdwnJJvP!Eq>{Q1JK(}^2dSiPI_OayY2D|zTE4a;T24o) z*kvE+i=F8Bc2=#DjEjQF;;`MlCg=!p>(%lFim7P|dQN8wxPT3L42GZ`T_~4zSN+yS zp%deAFOVScm3+td z#3O9I;N4;D*h{+W+zT%q_LjGv2ltlzkkP&I^hzITwycl5G`gV=7!-Y3ft$FL{7qk! zbUz{IY3XUiD`NeTaaO5jv;2UBtxd%h+=1dYCIx%}#=z!*V95wQY8C{p&>##OgXOhu zabaB@jH({Ockdm>VZer3tTAH;S@@hdLe|8t5qeFW$35ArBcIho#3)%4tw-T*t%T8czWMv$oC#%YW;9Y|ATGx;+lXa! z&4F zGafH8u^;vyju%0D;Wbmf5{vhnS*4l2_-&B7Nod`KMw|_GDXbX!P{rz70*m* zpScB+$LC-$l3GB^8s*Q$1=cl?F+Mg$#vMP?2&G~$aGOTQ56K2qc^W3&>9R$LaVvc~ zv(jXXSV)x994%r6$ve}~#G|ai_3JG&ga-?rS5>~5f!qGGI6;(-vCDjN7KX^#dVu^U zLNCaD?3*J4ygx?<_;ij8uqpy@o2w`_=E(qAom887;*zRpk_&V61msBfuOQ27a-a$d zmsq)Nr3a%j?!mx)p-4e8w9uKWE=0vG)XQWBvfK~`#TGqx@YW)5&lbJlpcf44FMj60 z{oTdTE+tgB;SM+g_!!^amOQgJ(-OQYzT|}fmcwA|(&rAGOQD!-=?e}H!C=X!a+*5z zDZjEE-8V$d-Uj_t`1)m;>;OeEk(6D|>iEQE=BoHCC-lF0?L@{?R)CdCDNZzvS5ZzS zSAyran&OY5=geOXt2J_1*n~1|u?9u5j?-h-;IryFsh6+qI^1AhFOn(dnN_Ud4ct!i zp7n}yc!RLW#|>|{M;oN3IroMeS)EuGG{1?7#`w!7siv~bW?U4ei)@}d8#C6dE$E-~ z!8iSK3$7ary>FI@h}pVTQRZ!x%}=~qu>l5_Z6YT78dO%TZFt3Z8zo!@oAfKtgJ~eE zcN33?EZu<@e0NCCVzkPGf#*&hV#Hur1Etb<7i$X>pIOX)-Ypv%?UoH^KJ>itTLUR5 zltsJIwZ4!t@}j9%`2y45KK5V}_rQ&9_EA6^D2;5t57WjzIgB3PfmC{-n`Ru4L2m@| zFuDBz50kOxFAkvn9umQNafj%8=$YQPJk~JO`%6gde<`0xm4UeIh9DBiMXBae-D&yWmp{F0m z;^sKTpGTScoZvD&!G1+WEjEY|(F|;=YdG@EpGz`sF-gkeh?w ziaE>?0Q&lOSmvBY1o*kr&GGh7Gq26V&(N}VC;kP28#*>nT+$h1st_!oA`N^jM!>S*LymrIlHRqz5e*KLr-!v&W=q}7M zuIVoCZV%VR*|xZ||H8altA0%(2|Q%*K*J}S*DL-c zc?wp2qrQT7+-7Q{g&FU}95)>5G=G*~=e`(AlS1QpUH>q3kwQ# z7v_a|M@eJK&wZ|6$<&M%YxbmlmGZ)rFGj?T2>jGI+p$bmw2~KloqD`caE-@uZMA zFoni?Z&$Hy+#NbMd)=RCin(`-SX|Q@ zxk#ZH^!&K$7$f3FR0CJ*$g&L3T=dk%|1a42Z(c(p@cP4@WmC1|o@wW>_>0G%x00t* z7S_=qUcmHLp6HZC3C7~{H~e|CRvSTClyabM3A2hiWlA{my zi+h=<>?qBjejMswgyJij0;t0%Es#ohgBm(QYerj!Yqi+Z(~;Udx@`>&56(fj5%}{~ z7VDG+Px2CZ_1C(OMjr(3%eZ z;GY##KOGp0651aV93H^VY6uV52ZJK(b*(o0*!Q9KBdHc^xc^>QFw+}H9!$~kkF@se zB5oXV0c@sY|8d&olCQ#v2fqa@UVZfzZ&9-u-j_xenDSP9n4(c1YyH{#jgMt8zMn`e z`-yg#T7ImB`*Z0w6h88q0;g0<^KK5(tR&;#<}|QEXwfw0I`PjWK~!f!bz|G1^wZ4? z><{^|f&Aj;(Bq}{=#BWr;;*rw3VeWN>(2&QnB!L*9LziOJ*>v^{&eUNTK~Hfv>9nF zjPiBsmcU@RY7Hz3d<+9C1V1&s5wI8VEg-vZ3+xB% z0PGLs)V~7+A63{RU8R&}_>e7%DcPc!vM8^j=%v}~OwrbfT1~D59AU+gHc87AM_5Um zMQoSTIhQT*=b^OGDQ~5{PGK;5X7<%HvliobA27uzN^aU2Q_Ptp&ofD;GhuJj`m07< zaXaX1iYllE_z+d)24u5a`0GI#(=kkCW?4;Sj|(*!f~o0bEt(eI2({6K$yyNQJb+Fg z`xMxlx|jp31g$L`0OZ6)NzbMS+aja=m%-?5{CV>`{mR?)$7HQ8=kk?IZJYEs4<2A8 zRPluX7tkR@^zX*~23 zk@cJ{JiB&i0LPb+7$zPL@ua&`wD*MHBIk9#7l0n{n`fZVSIw1Z&s5n{pZkfNR^aC+ z-OnZ6&t(H8)Q85iHB(U}_x_A(&5?zN+SD2ztXKAmnFEMWNb1oD#8x4L{c!V4`KN9{o;opxw zJu(|_w7~7LIT(~C2GC8$-vh{huEcUWHlM5gUUCAw$ns=LmM2pdB>|-<&A8)DpgLQ$ z2JT`$qNJ8yD%iyyCR(#a^Q24jv>ntu!Xw;&6?|riaCk7!qS;QZE0W@j&(WYYJllrU zK7vKIaKeR{P3=F^DsXD;b@5`%+H`c08w-##ib8PQ7r^jFvN+(`^zJsTBD+1iQ2U-v z+u-6WnCA!=$C;wF+qJUn;`xkQb1_02>WB!B;3O>(Zn>P8!r}$Z{^P_TS};WuGxZur zu-@w5T%xU_u^Lj$HMm0fE{@@$c6b@;bJdS&X%8QVTO`CECwkb z;@?q%+J=9n*^kdCE{$@u;EY#MTC+?O9WQqostFTsp2Y0s^3%?Uc{gFXw%<^ab0DjY zDOqhyS(KhARcY3jDJr*8`$cUIE3=r-WCGUXn}^aMCvj^(ZJeu$cH&?*P@woiOD=6SrH2xJqT*eFwuSDE6d z)Fy45^@Q%5wa59u&DS(;qZS>&aq^HO^Ku$1)}ORU!zQwBmI2h-tR1#|r~5r+ps^;^ zE@pu9!V`Nv|6-3d)bx1XV@D=pt)I^8jN3q7XWRjL0q+6>fcJobz~6y9#b7Bf^qD>Y z@+#mD^523fXB9|p%igRzM)|RzyOUw7cDn|vG=!<*3p4=(fI+|rU}+%hWa37`x|+%Z z!-3U=IrVjFb}>-=f^V#I(6)YgHc(`Krp+tLiko1k*n#fAXdoA{gUWn{ge?Pk9e;A* zxc+S5ShY>tV=bopWo1u1ixsB^+u-LbkUWulD?F6kdN!2skej_j`@qV|pkSkv2J*yR zhSIic(PCKn9iQH!+c8ymSb4ZZ+hQ%J`;XV-El<;T=vDov@V^)T{;AOI&$Wy+9%wmZ zTyk7fZ|XFE^N;NdG%9goTHufEUbHvrGATu1Ui)wM1FbO7SAtyAwf<`FrhIRudpotA zZ&yNUIU%^NCYC8Rfv>O!U=k1#;X>tBB9I#}SC$-^n35wCQx=6+ZPKg>Q%;{;?X01q z9GZBcD=98ONkLDnPEB}5Vby|_ACH%5d{)f4{t48a%A~%Ti^XR z`#?1O0!=bJ3}B)3EG&E~Z11j@7z!^?aTanw`}SzRrQtj=9ac(1AeUS-U@>44a4e9Q z*yDh20H^8SGl0C*b^>{c9fAPf2F3zA0(lDNCH7)q3UHln&gYZ7& z9ECw&I=2fA`#q5E_`}G`6!qP!C3-hQL_xd;)>vi6N48u2X+J*zU`Yo`OgE>=jFlS0GX{6Z|c1Py@ z+D)DV?(fH3(5eW99suqvLREEqOUHK)Xh+jVA$Ts!4}m3s9|IGBk>fjUa{gKJJQ3@y#2vPl4RhSzBK_ z;7a=NAgYV2ItYK>qQeByxx-poLDWOOl=J6DUm|==(VsG6iawy@FF-GDs2Fasy-RQH z6+tDx(mrUh266Dzw-(6O8-O+--j)#CIR56e@OMk#W?(XKE3hl@GvEN=cHm&(4q9~> zX^lrZnTzDDRAP$aj%cO4Iq^YCI9xT8E93!*VV;)f-IOLB(T={Ii;&<%*$w1Tcn^@r zqjw_FAKcpQ-{5-%O1M;x&HLwZr8zA@IQ@|YH_rP<& z^T0e{9xxyHGw?3(GSGlD+yDv|955Q+w}2&qw}G5b4YV9Tneq-7EEOi@(oPsEytLDt zj+0uHA(%~q#B3+2ha3nEY~oRr`h6`kn)bD9F7tKVrQ-$0>Vfq1Ywd8_JtP1@DGz}> zjy?jm2R;V!@bm=u4G_~#`dNSh_%qN5yvoMFJ3tfgKF}R#LV#ugHP33%?vZdCM=9S~ix%NE4o6o|8&)S}XNqy-h zIZAK6gwc3oAf49n0b^tkg1AYh`4jcy@4a@|h38&8jW&q~^#{kis>M9?A*rFS31@bp{ z6h0A>{gNr!FPX9^)9|k}o52*hUC}-+$*WSc;D@kPkn%c$cvnyzLGfBHh*c^o!=&Q6 zqgP}ha;3wRT)K^1o~TL&)fnOQD|jD6$v3p2?BetdSx65Uv04oKO=7j*v|me(6R~h+nUa}h%A&;J zUujl?DQbLE9CkRj-vkGw80g%szMUduKgXokDMGB;N8CdM;O)=Wal1t4*?XGVP;!ol@H9eTO15XF zBxh8by^8NSWVx@E^X3!;DGm{#;0t%SFS6kra37(iEr7KwHl}2;F(psrq}g?NmS*5g z^lgovvoD*BMnd2W+d|3LS zFd5&>XXf}T6@M-L>%>HpVaz3!693R%p_+ea!Q}gg7MC{m=@8S{8-vS&2^y3%{;2RY z_UT~1H+%byIq>wY0+Snqz2EHZ-b(-M)UgArMdk&|DkMvG;nkpm#Npj?VU`G6X?6(| zH>M!vJ}6n&W_*L9MQ6N1)2#U5pGksP#Bp!oZ=TaU{$~FR@)@AJ=H6oXo4paIR#=?Jr>mS@Y&u|%8em!Z;y*z*e;06ccHx2gx#8Fvl80 zX^S;)8f}R2q_Tf%@dhh({8J0%VO0TdBfSi;DX=0C6R|iDdjmKH-){oH1-1g72V%u5 zme1{gH}H*PjPyT&U4T!4-GH2gom4sUIF+4keBvjfenBk0viKA0(Jn7Gf>)C ztKA>@S2p0!TWo$d&=*g&DQYeZ%t|zZ2NM@mEGXITI0@ybMFsz&(fm4CCf!RQwk@&#wec&u0*T^wX~tvfHmA)PlW8bf1++}GOg=Y2b`_-f>h7_729+y!tNCs*0b;KZ2zLd& zq95$}SI}s=SNP~(yh}x^5x)X^ZuRbZui#yF%1i7E_6j^@?vvgN!go{9E8aK7Y)hMq zOtW3i|I^piKu1ws;ho)Nc9Lvx3A@?+Y&IMA0U?wm0>&UeN&H1cKx>O~5C~!whzJ@f zAV~<&L_#1xKyDxqA|l|i8luRLRuU9FM{5bRlv9euL~{^-i>(K#)zI(0nH?v_)0eY* z@4WZDd++pT9 z7^AfcQ{VOy=q%&7*f{3SeH*+!-I+5^hndyy2g^)(q2z7)Yor*ZyiA4X^jSPw74OV# zgIJEGUjdB=JpdX4#iEd7_ns7gA99$}-7<60@*=RF$I-c-$9Ib?_Y&C2kRC;5=jZ_+ zZVTYo${Z262OMx}^tmRI=!8=&pmT{4t|`WBk(xVA&CKbVnTwWTho08~1$v&;>^ARW z{ETMYQaCsem;Y9wj_oa@dB^E?O{ArFAnUZ$a@^pIJ0rpWC-En385%9t4t(EG@FzpT z30fN^^jP?;RKTjv(&y2l+}IIsKnAwp9A6^U#t8R~e3H&*qdYTF!&ZzBCqCxH|M`PC*otpGFT&u^d*q81_i}XeXskFxN28qD*j`A^gruvWEb(KY^(~({ zeT12dwsje$G4ej|$KeQzz8N6C!pk1?F^mKq1E31Z4wjE^hBvFxAw zmOE@cUb4rDkIGsR%(8<0pu7zq038f^5OfmgVbFU)Ujsd39Cw4hf#ZLJwu7?Y=m6zz zKL#2N%H_Pzad`qLmj{e;?({Fg!(XrpX7&A%xoEj>=z09VNqXMZt7T>UIRdPTt+Lrt{c?!Phhk=7B^DjZI!6RyOF9WHMF?0GDGpDa&J+A|D^gJ*! zT~-dYbvpe4`s!kA{GsngiQTu^HwUR@g;+U+JB`!g1!vyXuM1_)duZ;H4~t)NE|)r# z)1)j)^Li$84pM|IDC04>bv%zUUQ3{?2l2?p(@%*anzB;h9l49rRHcKirue zN-kaVL5f#-onFd;s)NXP@}}cZE>U@j@DA$60VlUFY4=2Cbh#qc4 zB266|Qfb;MfLkAqSAD!t!$Jcl_aAB=pOot20F%>#?~6OBX1JE%`x}nJ@Sw?ELq~^e zsT5HTsnbG!)gGbH$yLH*PqWja5N6Ult5H%jAxWk5auKiOP+mEjc9`+48Jg<*!XkF4 zDRv6Ip8>IPTzRqZtMp=QahE8K!-@3d3j0bX{uW-y!IM9 zJ&>0apkFO>2dH$2UsWzrOJ0&U3b#6B$|U#Lq!4wY4ppy#mWgYi#SbkU>T}9AwY1x5 zU_OLh04~6u+o5#fJ8aGZ_{iW0xE@biBzuLq)IR!R>|@UHECZ3gMaoA;pxIe4Z$LGq1S^DU zzha~P>3)y$83hlb-pmS|ZXB(^l5M{UeU7zM0UKQiHHM@0?n+jkjiKg8nZwF&Ho4*S zbp>o(z_83pteX9_KU?$SjnJ8gApAJzyED-CbgHQo-sDo=K9DBK>7Dubyu#u_J?9Qe zd|D(Yw-|sskZZSD0e8|=0Adas0Nm@Mx(vUUs-A|9{FP}cZM`Ka-hL8~=H7w3#xJtj9IlG<;Dz<)6= zb+qQU-yTU5Mu&&oU4=fyke83vJobf+%9TkT*gL7{%V6z zeJvJPkqJ9SF&hC}3z(C`IfoLYsT-l^Je{mY*PKVeqkO3b8-zu`VpBjbZ^cN9ZM@N0 zr`qGlbtvKJ=5$?Qg1%=m+Hd$2#`LZA1Qk}hl9R_6fG2c7@k7hP!Dun&ToM2y)`0G_FIXYX~8WuaZ3y(OZ(ZrOx6n9{?5abr~hbstx=0HeQjSZ zYZ*(+cE|Cqf7qz0Rz%tNIq8S780X`)7>&-2ZuMGz06e@(R+!vjL-dM%2CbyTIxOr9 z24H1B-6b>?fT&&rP(pKR+`jP>fJ4)5i|ZF6>|)LuvG7F^hvG(d*pyO}8=z6lIGEg1 z$5Xh*t=d0;%c~O}L=di8^ezf+Q0}4BdNGW?tB2>CSugxb5p{53V?7EhDX9+pBrF*bIq*&Dfr9 zwshl06LwjnffHf-0pPScspkNGt$MTY# zHJGqtQRE+wuDho}1g_sI<&C!h8%v%k2yFWR5r2q7MRw_D89}@Pw6?|ffw96*jW!dv~)BHv(jV1%I8=$_+ z@;TZGz##csnJ9ct0`O&fi@M2`sO+In8b#>(y~ye7<@T5ccN)U?^wYkN3btZH?KJ@V zu%UMDb>TI7ThRqOPeiK9GP=4u&YL`d&;5{|?X_8S37@BjF=A|3AAtrlC*06fV7tOZJiJ`WeusXH_NOQJfHdtq7tBI?nl5H5v z%Pj9@DbE_Hwwbs;;0G@E#9_RfFgXrLpfv_~#RQ(EYn$LKUT%W3Sk#2g?h6~`?~U`= zzs0M!PeleOVmsFBVJYDe#L!KMp*=2oii>8Uh}^dYRiD*e9WiAisNN1^d3jKK6E@~t zOs%k2d)?%w;2n-l*qGyXh(Oj+sp)$Q@C_3<--SY?H{@tBS4p#Xh(x8GCa(@8CvP^& z+fm}smzh}pAmciyb%zLP$GAX&&s1h5c?Rt=;2jX>V3h4mQkq4g^Gykhpu$h1y~&ph zl*|l!YCaRkOuf5V_#APuHfmjNPo(L~?Xh$le>FFY_&}ciu+^b-C^WKh&xh1r!xg1l&>CyzYuD?$_=8o_X@5X=qWedhb7P`bnQ>&N*}D%$YN1 z=9!u2Wc?d|laIfCt-QkN%N^Li|A3rR1`l?(`{V>tg9hfDdWyK85+g~*rINC0`>*~+ zY}_XO!q@jp1b;H#_lpw#xdQlpSw(-U0KQ*npOY4DjBS#B=hydp8T@koZFb4n>DPBM zr}G;Lg6Ue*STu`D*~YXe}@L5X7-eR-`Dqh8T`)tzTaJg-zR|Y_o?sq6^^of zzq9>*uK@qQ{r|TH`2XAg_ge7p%m4rT|NqtjvHy?1^VVPdCfv15`ZK=1KZEIS;OYBQ zYW3>{@clVz{WSuZHx7}^KK}PV{QCZvg`;fW|FrhzjlTb_`a5iY>-&SG@UJ={S!(w^ zuS8P+fUobjFtI&^f&PI{oytG4TYm@-yg5i z-y{Iq|9`51KcW3y4?ipY>aXv&5dR6ZzF#frpHMi;_I0SL)JbmXkNBq17U`tleZIG( zw0-Tr>3^|H|Fy60zgbuZW%>SVHSM5qlKdW0rzE3O8>R5@4s1C2W9#G zteSe(9G6b`{xD1OgnTm#%swe|Y5H&eW)01k{+O@tk7D#6^6~v)HTlm3@cl7r%pX1> ze?o0x{nW)X$22dTJ%46i-bC+&@u!}zB-)R$nlyZvM=AfvK&i^p35a zP+3`9STwG*ps2QHVr5ZYUZrvjgn4A~o6o*UIW5Z&}&s zf&lwKhNi{M1r4a05V6ubp$*KHYp!b+7%-Y3$}O#^99vU6rp8+X3EOCWqnqmIGYg$A zyfULSQMBxpqsz)lD~f9?z180GqMD-WF`>LF8ygy!6_?po!kEsb8BtUeS(xuF7)3i~ z$cw3RoMFty6qj43%g-{z_@7K!5>-%!rpW7`M_cW(oz7ff=$)*C^75*@MR_G9-u!U_ zL|bRcs=rU#A_M241(Ot&rYx5Yw81C$rgc7fKt#>LdOFr*P$}2hz(;0a0oBm2wgdyF%_Agbce&5|r{9{}lI=!Q3r3$QhK^Md=!Z9J&E@YzIlWSuWJk{v(-Z==b!* zE%I=G#nAEopR;xut2Na@SxNqN?nwW=JuH#Ac{zELXwwvfH<)M79rCIEi@KUwkgK~E zQshMjJMJmvB16i?U0v78K}yRT0nvg@=RbDD#Z~pM>HetywH~JhNgp^UXZUCLBrv+R zS3?kN{zRS=Ogu2zFwDQA_Y*08%XRtuE&VQ|ug^0$ z{ZHf!(Sh_tw9=byiBn=|XpCZR*G~RJxu58C{z*Ht{fVi;R`s{+>_h7(82ZxBb|sUx z%vNk7Z$?`!P{I77+6wkirHe|ZpF6IuVfJ*|Fk8tIlG z`F9UD_)A|;4HcbMj#Rp|FLmeek-ETs%Ny+~LmMiT4F7j|Z52p=Gc5Op{9vc|pHZ-? zi|!l3O|rJan_tC_xe)DfsK7?GlN7K2lLGEww0x2>iE^Jx8*%;Qge2smz*p!I@rna`4dWfZH4OtG`sJxazjyJT-%}Y z3p-|4iIO_T&~px1r3c@Yjdb`j+2rf6mfVeopV|@1>xF*WgcUR)68#!9+=UQr5c4l@ z-vZo++qesgAopLwfvCrRzH7c^Q;aegt@Z-A$X0C-#es>-(78#OX%2fhsQS@(~}OeV{p)I zNhb)(A#kECfeI-gTt!+9+tY+HVN0bfr#XXenyJKITU@sBuf@^w#%D`5M{K;K?DR-_ z$_cMO+-gksH&oB2oBJsxt(W8~1v0r#Q9S;C)MRb^u%;n`-pMj%(U~(9&&F3LJTyhj zo#-4lyhh@wHvftj4Dpo%y~5$-7xKW4nUuqy^Z1D5c3^$V1HVKE7h<|HBgeeTU-Hi- zVY%!6hKWnR9bIYN<#IgFX-pQhN^v`0H2g~0Nqy7J4%&N#Y@>8@;v{4>GI% zZcp@R&(uHviOlv8%Do;!b}WCt8|5%+|Iti)2U5(*HoxE>ws}Yx>y~WHb*6NU-T27n zzej}Oc2yeES!Ids>XVm8QyDX>wSzJrJSeBrdr9V`FvfHL zC71bkKeM$x*uU=C?(HG8IRg#1qPK~LcY$G~ekvy++gLh!tK5_F4r5aI#9_Ig-`>Yc z=CO+5gf`4CDn<+P#N>$F%|Ca0Rz_G&c-kWt?7ogs+~kf|Osv6;IWNY`?F;drxwD5F z#&wLhcmm0HIJ5mP?JQ|e4sWI8vP@ajH_aRq6*~9n7Os}SEJ@6LQibB$GxJ*pWOM|M z+to9SFnyrAgSs7ZE7|^KJHvXKfB&v-VcB<|*7d~f{yDq5hSBXG)UyNQg5^5=<~;*# zVQOOKPatnE#eD(>_E1b4K60e{U)nRQeIazHkJ3%k;K5Y0$$$RK$?XaJ8(tn82EjCp zRt!|4I9oRD&N3Tl{b@>Ea&>=hZb-*Vj!SGy6Q?c^0XyRtPU$iovrq zZ{w$5+1q9DtXw7gW&k=vs$H~T zVepsUWJ^Qdra!*Q?wosb%*1j~!{+D#=$;;f* z@iiW4)(;-ZT#zZHFU^$lhh|AjjgpignSy^&Qk0~MuL78Y`$XWQa2JdJ4AIg$jR9Ew zuUE39{l!UfL12OuN}^N5QcIoe=#>a=suUsqxQqmmX5NaBLAx?MiZk@^aR#SAMF&by zqKrf8mw>4DD_Hl zQJQhGh*8MFe=LG3`Pi;)0IImM*>NT`!CMeM++f7DE$X z(-AiXH*>&ha8ygM(Uffqs8v&vUI$%PO~q~X>P$dxAl*svT{0>bi~pMK=v;VsQ6%AA zSfOk>db?|qa&u@97Ke%3e4M6Eh9?F8*qk)$(8Skra31bSoe1kg(cA!<^=b}|A^IO1 z8n?722sf6_NQZGTn)Wn9)w&_)(Rt{WqNiDSr}#Q0A1mc#e_Goyx%S6JX_l{RrL9=@ z2{vGvk~^iAH&m-_Jt^SV^!~3K2TRR0=KtIPnrK>!GDB@ZWEZ5>id$CuW1KcbF-A8! zEhif`W0?bvJRt{D@E`hr`~J;-lnd2boO>?+F_c|;+n-h|O{JQ@V=-7KZQ9YThdqEk z28CUHogqTtoSg?M{g3OU-FM1X=!Y#ubJJ~2#lo?E^d|S}H*Hr|5qFk0qBfi?o$yC1 z>*S%dzD`ch&;{)13Pa{G3~S$Ya-4~WMEHmx#G1rqaO1M&Bw~VM!SAOHzy1k1 z#y|J**zgBieFrSCW;0=dq2I~($LQ=F^Kk$0v?;VA#~e?e8qL!-SB0wkY&?9X>A$nXd5pnj+1?Y zf5;MBc+sJ#KX!SU*BXb@rZR&?>?oRfnKg7rvGuIwayPlFzF+mr8;PyUE|$+Qg*`rs z#Wz?fzOahxpI%4hz;>*B5M?AE_sEB_GLUN^sY!BJnHY-@<$ zx+6;~ZkDfZFBF||i(H_$Y%6wYrzrOJ?IE82z1|}K10TDn-x_&DeBh`9_5iW;(mH32 z+)wUkOV_|#x*H#ynJ2ft)*=@xVFd?PL`^jA4tZ!$0&LesTCpG1`uZdCC_5Q1G9>9+ zzO89H-h`?qBeq;=JX9+dYgjC9#hH;t|~ z45y}S*+Shtav%ThBmMmuPe;-E0ZJ;ZjgsxHKffw}74987U6ReKG_>t42DhDc@u}(! zSUZ-fy3#Gl=5DQ6yZua|p;_|T)Z-m_erwe}`TlS{h{fB%2jzh}lU8g|uMMMW#ZvC4 zN)+#~ai^!F1?fq2WdT;qPwQjOX?^4axiKt9$E&>UcMhqeU2km>xD|`Qha>FaYkt~F zFCG3|PHwlQ$s6RYSpB_1?yh^AU$Hyh_m|d*Y05DyD0jYvPPZMGlWFY_7(fnuYm26T z9GAP~{Ab(g&ul-hy@9q~{)OB{sSMk*{M|cHbS%}_wXaZ4$iSd&KXtbI)cWLC@<>zH zU$sKlD*q@i4f8zOQhIPFKV-Pa5_>DJsv7)-U%4sfWi^SqMJY!*81c1*c7NX&lG|-v zhnzC_I$Aliy$Y!@Mk&$F8fOkXbY(C3MgP$Uoc>J@#a&z1H0kLwL zN0mkL@Ya2a%GqIy-4wSiEp?Sg32xE19ErhmH6#I6CZwsyWD8-}N8Uqf$xR`g7JKcWlZ2wbeu4F>% zuuNrBxD3f%l;H6Ny1k2XZhK|;JKdE?rqx}Q;K3e$_@R&1N3xaNi14L&v1{R9HaIxq z&}BW9x7ruk>g%N>gd36Ax9Gr#+V5xZe(9DI$`tz{x!ug|yH4x(Im*LfJ=GuB>qr%y zEZ9+X@Ne4!>EP&!wkOhxJ(1_4+gF;Fd$GNXb3nmDJK7?7B42TG|E1lD36b=Ym(LYx zr(dSiihL!JjvA8twVqp`WQ6MvyC`Y?gF}0_u@Bu>$)qER3CVOYLNQR^!~`StD^XH{ zCumxGlqlQ6?dH%dL(sSIk(%z|`*`B4Rr&CI-2u^Aqm=MH;FpG%>gd*9WlEwv;6K`y zrwglaXs)qKrkTzzS6ad}i(Q^^!BTLX=jCvx*HWd7($2);(4lrnOzUXvxADWDaeis5 z-@jmdUvi95j<=Tw+e_LxEnOyhphlV5o`$gDRHoxwH;q+R8~)>CMH^}NnMykS_>C*N z^(wP$l<#_TvJ&6EJiq6yUTsIs^n(5Fx5l-8K1X@X;QJ2`+Wt}JY<>UXL0kRI>+d~h z>kB#B`dbd#{!!;_hvD4se{#@PoU_f#+gNpB&zRPoOO=1hQTjIF#!Z*)i)@{;Tp43& zZwtI%S+AP_A2G{pUFBC&WPU2xaGmmS{IsxL#jtI~U)oh1m@_c24>={K@8s(GhWffi z^^?z?+Ia4w=EYMN^=+IwN9s!%I}`_PxlM^TE)vf>t^d4D>8(WP26ik@qoa2ycIRpR z2MyM^O^GR!ozm*RjVPLFm!&*fa6H2ypG8~qQo0#SMo7{`1Lf^CXVQ9aia~Cnt)Hf3 z(ZP{%2IFlbCF#~t$@$Qg5r0q$RX~b1a(_XHf30re&!K*^v)c14mnRxcn*|Ll!berW+#P z8Y4+N$a02W$`2%Oad(USxki%SpgIOKD`WIHNlF|?yZ@o2Tev7E(ueWokBRzqOLiDf z-7HC`j9>Mx`JBA-039yL7RF8+G8u>9CoimTm^`L&@xp2KV+u!2UbJvp?Yze6lbdJP zFU&o$6)AUzQW!fmQjx5#dspqrm`c8_2J&w7j7lpY{h z>2o#HKogVmo?i75#r?jyd-AuUPNg`~J!aP8=IM>+%$NF#EK}Y$_XE+2_st%`ZS-+#kH{VZ_5BuS zPXVjiXz@_a2WErvsD(yvb*4o;YLRHqYDCbK+8N=hABk=CCa_kVmET# zKyhrVGo7+%0%KbSTJ4;3&xhtzk<&8Wgi8Rq)o7j;@fnnvmwfr=98j zn7|q!C>m4Xtt`T_tjY4SRl+)P<(RQ}g<^zvY*~%O4Z2aK@1J(MBb=&4hd#Hcs|HyO zI8v7Ou{jx+(c7F!5iQV5UA+s>_`r$Oa-@XSFsh~Ay&@j5BbSF*SvtFT)n9K-M{Jc7Zes6|Ey1tTx*1v>7Ppd8eV`F_k47=dBiRnv@p6eoU5y04mbB zn%dI-un{dC#p(PpHPwPKQ$#bQuyjnNx2B*(;tu}^RSiXdegwrVFk3U7Tp_0H!j#oT z1*5AAh0F`-;PXz0d;|48Vs_$kXsFfcya9v;sb=Ds%A$hW%IeX@rG*mr!5iqjBj!~3 za>^NIb;)z-f*sCOTy`OA_j=@!r7;u7)Q&H$I7JhdVTyp2dkciB|81e%7o157u3Ls# z#kKYYr^Ehl=rcm9KyR$ADVk6tN(0R`skRiR^$fSB^VK`tYUAsH0FU{@(Pxpiq}fs; zz=QVOZE+dXAnIO~MyJ`*loTt?PqSsgBVF^NGXs}(FT!7>(C!z7XKT!}c3~QKx~&(W zTl1_vaQQUPsyV6!4_MNJF7wa@uC#z(to2&iFDAU?>?Iu9f(u<9nv!8N0O7fc>2)VZ>~M1*0p*!Jwin zoKw%n1aK2*>B^!}U?p1xP#jlYl+Q)2(|Ht>jX^J9p&zo)16^#V()uE6 zkAx;d56 ze0sr>hxx;j`f0VzqWavezyN(s=*=qKA_U!SDk6r7j-6MONFFwSt<23XQuLomGWM54$RrD z;m3GK6nU$wy%RBrM_J;)N>_?*bG0Q!-om14$}P1zl`k#S@|x2&ioGt%)ZDJHC+-ab z66g?YQ5gZr%1SE>y)|A@xkSJUyhs*_sKOAq$8po>osRt#(m|KSWi(LVAIw?GT$Pshv3bs5YXC{mAh;LL1T5&kSW`Il zC$*QH{ZB2)Z#uhp%784bS=v-zHhZdOPZ~>Dq?87-n`yzOjC9#e@=J=-&iuKZ3iL)| zKpG7#vyRT-wi4ot=3+njHR{N74z{#-+VG>s^n#iIEPLS?#hyKmKS==TjJ#D@Ac*#LSoF!o!7BFuH7Xb#>7Q%yOeFZUCk(ZLSv` z~dGYSB(_fvmtgqO`22hUdp@C2s)4QxY+Bj1je?_2t%tVJz02 z5JK-1)nm)^%Zdb3mZfk!&rO&^6F8Jsj2k^l8=P2pc>dY_Z631aB&+g`lu}{sV@}h` z#`Kq)@ntJbsIc}>uCvmyx18Chu~xZXwslH|tkJcXKYDbTs5SR(*i@--SUap#_qKD8 za-)@QejCpjtE|^gvZNi^!eM)?&<7Q%7Ly7d!t#He;K8`<8;cS z=+J0uy4-tJrL~*wpQ0IpCW%uSmM(P7J5E;uyQ%_jiC}-+Lc4R4T|Dc&w2WIw)H_r?E|88VCtHdNo>O!{$s^oD z0#uk^ChP#VEX|(ZJn&S}G;Hc8Mv}gS&OVBwii6HUR32$bE`0lmr?MLF?6S1J$M@ZieDu?Y zl9Y@k6SI8Ip}9Xy?DqZx%}qOBJ^WdrB1z=}eq(*NPcC1Vy1&Qfzh2uX?diUf^cR_` zYB0loQKkiBg%{ZpX>q`gy@$jz!%?J^_Y~RyBDo*AjYuwypsE>hcI8oAjTXBcfdl_m zhg?B?9WiwF1HBFSO``fwyw0jvx$(gIFjYNXt8 zAm3x87NlKiCa%b~{g*vIbkc#d$7X-(duYuo??_UGiI$^q*Np0+e2Sam(y2UX(gvISMp3kx~ocCIXzvaDo(Fc=@_Sf zz*x=cQX5spA$^?dslcGk`%)o-po z^=->XAAbDfng1L)_NXLXYo|R-_qLrpoDXX{GV`6`pbdpKyYireTH?X~GY74l3wZBj z+RE2i$#jgbcO{c$4z9te+zrbk21!@V4I+xC!ZX4eEn#FRCO!t-9zC?HjHJY~USK?{-)5czub4K#nw0mKk zq4k!d&cSl`&O{5WU@hxwjpwBah4@QX}z`1_B_BwSNTa8 z)J;e!;R@L3MWf3{%RY0CxvSRXilCR5B&0dvhr|a+9N(Thv)Ty@G_Wr#9H8wC7%3EYiwv-h{<29g$prYte?@ia9&+A z<^Clhg%V$|nWK{>X&G=h=X%zFR8QioxW%sBiX&>Grvqb>ama7jm{S(B`W>E~1~tgmZ8i~)Y;C}>jQT&Qh(a8$Yd9?b!upLh~`|CXNhxN(1C1Pm?0q{cBML&us*2I zOlY8K`Z=ZZ7u7Fpp4~Wq5vF9C`2{f5_468+)HTq8qXw5&ogRVe^bAy|7i~AYJht~x zSh}drM}fO`nualpPq?PJ?m0r!){8=FQ#v2Jm80SEP3hG1rDB-Wp{DCaXVJS4?51%c zFA@bR0M66T8Pm|%jM;Lmg$0<35}J4q6mgy^>lPyR4g&JDRgGL%C&Wc^6XmQ@v8K5| zb=k;1DK(8oUyu-$6fXK~5a!a>OA=CS%fdxRfF;@xZAufu(*-@^qhcbU>RFoktdEUy zw%IJ*5bKINmAia*d`;4Xz+J2~IdB&vv9T~#GZwy!ksi&U+!67~v}L(93NP_#pKu{B zrrfL3Ra*bDADUK*#bB7w z1SLhFK$y1poEET&LAXW&G8k8`P#=7?3h|v*A-;=|wgs@U()Pez`w9uC2uxeoq_iIK zDOyGT5?&E)KfSFY>7f;2gJAVEaz#XZE2_IJ)#VAV1pLr4E^%m}62oYHZL-I<1)%=; z#tNDFuAO0{RmCS<@v{Kc3|qZ4T-?e=+WJmHx)=>Y?IO%^cmo3E6QsdGibdF9@MfFrX`GQ&$AzWh%O7lxFXL^JiSU>LAsmDr0`|Fa^TCe*w zxj||D+l|%<-RS3aYO-8JEjz5Iq!ojE3>4^+qRrf5oG!&T7Mm#uv$4aPHM9*BA&m+M zBgnb55b`$y4u)}ybsSZ_U@cA>4YFVP zo-4!fOh64GBephLA3xSticDeynJn^gUI}mBbhKJA9{agqhF1ZTm>GZJIgZ%_1)nV# zRM%sCT2en9!Gu102J|yWh*5$t1oaE`D$NC~ zP^w-$Z)$@u9&SfAkcJSEOITzfaZn_(Otv^w9n5{92+}F$`2pM2$n`bf!nN&5-p5!w~%}6jMI|BYNWdbOkOWLJnN#hqKTrL;&wwcVeu7UDpRJ9+A6Nx+R1LVKcp|AD^PS7 zsbN~}?CGM%`Eh#Y&B)v2>nU%mI$S3D@n!4j%8fWhu{Y8s-$W}v%IMa5aJT(MS-AyE znA2S&^s0y|A>w#th%kI43YKmqM-Hsz1E?!@(*oIl`fm(I!(D7 z2L$H0Mk@DOC~mH6q4o_2`1Jlb7S3 zpU^^C@k5qi1sqQ{+712M7%te;fy*ooTCvX_7b37My+GbiGBOg{Bv7QC*i=|+afQHS zX_tjQ-)GPCw9!RKdxDZin=!;{lMV7D*&XdlD54Dqt^Inu25M~>(R%aiNVk&}X`WfU z!2+qYZkrkxQko*|4Jj=+6QX_l?Wcs0MN034kg*fc>YjVRo?@|UjcsX0(jQMj;91LcCqh^Yny}mAi$TeZ9HV@L!|iwM`mWYHi9bV zk8$5qg9``u3DS_uC%j`QgHHnttT4g|xWdnn=IahzSrDdWMqH`SaoPH#gRad7}~OcMmp0Wboghj@Hqg6*{FSvAXE0k9io@l+TgbR_Q`{3(7oaT8r-erFU^!yk&tG=#j+N`-k zjQuF#;ds0JF5SN!<-SKRYM0Npt6B0ZWPV59Nq zRz8CBM32PxjX4S&e~wwm^?@~C`NBeHe_*XvzOvAiyDZhpH8v6rmMM@eE%!&c$4_izU;JU>` zkmqA-N~8hkNb=$~TFViMm$VneV4K~y)RibBXwDUmG@5d+#p;UzDNB(Jo?Hqu=ImTL z`{-!g&p-*WxGu(U$0pQX8U)DTO!%-gETt|@0^p(cn~1dDuL8A65q;VmV9*{(=I<=_ zJ{I8EmaVw5EptZQmTiFPYGL1iSIR%Z`M@77^yDYlDOG6SC)hhO(UJ39DF~To`P8bK zRpe>gq&$9%4(*7v(d4V`aa3`>D=NzlJbxUx8bTzr{+Fx;7wSmP$$G)(Rma|&DUs?}D%3WJM|F*smsdPj9xM>y_txz0^ zt3J1wAMU1BMMm~OaZ$8faijyra4T(!R7>Pu^z-$u(L7jHu5!7e`+>}ac}rjFyV?zR zZB(NIFc~W;Ek@OmwjM(AS8u7oP?(m@Ae}4HFh<{iY*o@~2q3T&kiShkrWT)Evir*1RFfOW*_I3_KUEkf!eIBU)&2lqUl zj;XJo%WjSxPJe2NQq`fS0>#5=L1WX>nnpMQpaufw7O;8qW;biF(*WxNSam(ts{^pX z*x!Sz8BEd9YRcfDpvVCQudC>VXti5( zDZu<0NmqfJk*hli#`k2k*7vwNj)Nv+zP8{hHI&z_F*QB1??gOR2Ha zhl(LRNpHtclJRUF{RU4Aa!2Wbd)-Rdmz@dNiP;rtvSwZ1#i)sc&ko^H+X0U$o$#n5 zZ>-uazD+8FG>uwfRh9l0tHy=E6{()#8AIDh6=^28@<;c)kw~+|csA)k;s|Lr{TQpJ zbnVP7wy`!zb7^Rt+ABnWNNFB5-s1AfjdbJ|SBBg~iK|_X!EJdWr3C?TbmfH)0&TR4 zw1{d~qcbIo5hfRiNJe4E)GQbAc-F5t{lvqQEPy%V=pPL?iVIx5eJcGQJ}FKx>% zOjq|CmjNE?H~!WETlO1&59DuGr0^R#@E4Z@%YNeuT)ES5$-3XT3NT#~!HE_mVtO)$ zu1Z8-o7ZbMCQslqTL|l}=;*4;M%Y|dLD=n(Z`|E34Ts@<&L4N+MpuHCL zH2GSxSRuNf_E=RL4YjJL<0)~eRXimM%ngj`<+%yj*gRZlPF}XY8ELjz{X2}(R5iuB z8ek6Lc1xg?P;#EE2g!lg?f7&!Z9U%_S_(Ej!nwC}LVg=P0rJ62eg?QO_d9UU*N(Fo zr8|M=4>x-RS!}B6y9*%B#w<=0${^hx$fBqo_j!0GK;A_7KE~;N_*wAN&5HZ*Q}nzYUE)?N9sCEn#9ERaF#6lc=>YT} zn8w}ZvM1exOyMK_eR#11o$h|1xmib+xXDz91T z!5)rD%Ij8Iai1$6&sU;9@8wynNs>97!9UK z2dp%yx5MQ+1RA|{W^MFFo*z$6%o`zn8px{~D(EwV8A6A{Ho*bRMEK%>7Da7NJp%6Zy!fy zP#?#j&Ha{ik6yno0%fyYEN8F?@|Lqm6eVj#EGhJU~=nS=?bJ?0XqASU{k7BX+|R?iI9J`(w6nE>}bS;6Cat5talaT z&|$7et;O%xtn^@E0w+Ii&2`vu`Z*%W4Kf}^@CbbD;`Ym&`HP#IdHY{1Z<@dm`ww3H zR!!qf9fKzbUi!qO0!^`~W){}e%O+^_42#oY6Wd@30a*0}$sWvX)`1|*rVUPvRo38Y zd)rEWsJufU@363yeRemC1M;$s8l+j`mzP+-EN2Yr5QRq8H;#Bmil4P&1IofJ+?Lo` zFyr@)^c@GW#X;+G9Yu0N>$-O>uSCe^)XdB1fjL4HhAt5oDpw z;TAweY~w65KL&XMD&u9JwtSJ&us}ZDL9xiXgKDFbrMxyeGs7`wr=|zZkwf!=2=#CU z9WY=IR~TT>jyY{eR~>zdfMWMH0#{ZW^Vi*531GS$f(@kU&(ig_~2@W3T zQWa*~@+p+~jU_`KME$<8IGlr#*NytZZD~iS<~0e|bvo68DrqRt-GMG$B%GRf`X5fm z2C5Fl3%11$S5h%Zg0FmtwSx$`loll8xzt_au*Hl7osUl2I0SrC3)G|NO>^$O|DawcHy*wBVSm`jZYmtmO?89e3Z|%Z z(MZgG>Qs7bq$5+AiYd=X#|%8GtsJ7BrqsjLj{SwCg45M=lsPb&GRG=; z9xXpZEl?WO)|<*5k3`4|C_}~`5HA_&$0N9taJm`ga&s-BstHaU;LB6Zb)oPj0l8TD z4A+%^F5sccUy8J@d_6xaAHm(lryWixf57=bai6#VS5`h})0KY_U>&iUK~6o z(X(IclrfHn6!}tqy=%O3nc6ykoFiMtR_4|bP~jEO|9HnZ`6~L^WX*`5kMS=C99Ucz zWkgx~Syl?^VGn^(3nw83Y0`r@n#x%ul1O z>ymB+BkWG{%WC2sMlRzfS{H*i&u>xbrh12~FMGP1LAF|yshDe!4sB3QuK~`4Xs5TL z|HfMJibP+KxC_)8=$F zy6-qBr$DfVF2z56*D7>}vt%j)p)w!Ku`3a9T4QcKL2v2{Tac#gO}U zx{J1qLhIfKdj8x`dq%0Flm}JX5@#K#tXEqfpXs<)mjAC+uD~owd053UM(Zl&QS7B! ztTU8Wq%GE-@?%t01;6;XN^w?eg|bPd$yU7n?4mRtHa0-jZfjF;CEfFv~2)$l;WoY!m*}!%o+f*-G(qBSmk>Ts8D5Z zM_N~?AVZp!{d@=uE?Hy2qf6-ypjf>x;L7S{l&;>LfOW)X3G9{k(Y6B56X0iX#k>0J z?T(?(;uc5G0XLrVuyPTN@k zeZDzl$Qg_0^RGZo?*qYy!CleU$<{*UUGW-s68$_$?UU_7R#a?y{i12&=tBz9QPS+` z4FaNx_a1uo$1c0_zDk>%cms=RaK0m)rip1jgf+XYldPYBhIOu=n)y^+^@*#$@|jBa zyR4b=B--V&I&yhA8wYiomeef_N-#D6YsQ-#O%NJ;_QLQ#2S)>WMxq;jqEhb^>?|Hr zsVT*Ju2M3BF4}|WIkzr#M$u0z(~NZI`zdBR@?MHj{(-ixOe@d;zSrZ8j%_HBSLFD^ zQJl3;U&_5UErW(;8WNb+u6!#|)k9_*b`vtvtQl1EVR||xegKB=P~M@$BrGp(c?iFT zboXJv^J-P2gG1`*+&G-S_PLF!{NO9Ho71gE1-~S^ekF)sr_^^7GwAD;X`(v?~PAS45f#QCG)=^ z?onFN1;J8h$~5#}iRnTf6W;7WFMgBO?~PBwz#+S>8KN*Q{?XX?57V)|@yR`3MT*ZR z@y8J??4E#(4#^E~!=I;Rdh%vxG9t1wR}R+G{<9Z3e&a9VhQ31}em+M0fZK%N8UK0> z*zSjEeI5NWEw2=dAIcROH2U_(`U1Zh8zlS>3;WukL`3YU^ zNOgxlp{sX!)WU}djL;BH_n|K0NV5L(woP8oM9DatL~D92~W zv^3+C{|ntJS~ z2(qOj+lui#!;yy~+inijwI7E^KA1pj?}56G;(qr;kuByhvMG}!>BuCy@{l<_`VQos zc_wBO)bev$Moc7TH3Ic@gQy&xYtzwCr<`{n06S(yODRd)4&lgTS9%CrQI7 z7m@iRd3Ml53!X+uv$fwqyUo*3RRonp1LCxdd>nDhSlCylLx6e_=}hs=p!Lp#Y-5)h zI4eApnmB^m)zreIW{|F#DM{;QX(7%IQQbChZen|Rca|i*K3fZx7KOE61ZazeaHhE$ zXfRbh15y#2?TopSG^jyiF^5)u5eRu^oZEnn-FX`PDmnys%o!;0>UlVLG+#5(ALeT& zx_cCg{Bgb{{n#i>r5`Q-669qdAJ&9@w*?GUHZ9O>j=?W1fE!*Ult$|(qa91h^A)m8 z25#CSN!r{js;V4orh_S{zJf)Vge973;U}w^G!LYOOYj=4?KN>wLikry>_@cXu=1em>NCfhNMC z3uu`GA{@T}$7n91^}R9hPaw%B~xqznHlyn=DvUnS||zf#U-B_jqy*%wHD|2M?=`d0NQ-oFbYGL`>bk}ka*arOW- zwq7ntpI=UEH=+xCi~GM_NxL^AhNT(Jp}cgZR>FZRB}u(nGwvE#Z_(9~bmP^O_mGkv z(|}qYKzh^)y2z4|PC11sNi^J(Fx%^Kn-Pt&UqN!?4b%j`Mebr` zj=xcomflG2N09jv+;_WKLvoFb%WuXjh&PMSd_t>{w*au4T8iNk+&@Fh%4$47tZpMP zb^&0*t-=V5m*0v<$Xi2@cLK0?4IOhk7pjtP1(1y-3>>2-2;MctRIbk=mE^JA4H(ND4WOl_=9kJ>uD`p@{8BkrE1;% zU+b|}`hP+Lavd#r*{y+>{+}d0vr!XJwDUI`(G4CV^CqWg%6<>QS|8S$y6H@`miH03 z??V}asNZBh7_6eAB7uzl(sPPJlwzZm_Wvy2^npV<2|Ow!59YmD5`!5(x-0< zDS6%|wB#n5vI&{*#Qo4GHDqNWifw#Sl5TiX{K+%W-?JL-^ygqE&j-xpd348ewBd&5 zCFy}38Z&51I&_5_*68MvRno2I;}qJMswW>D7drVD@&x@y@C#qJLFC*vNBi7yLP#==!fy$fWDMjLPg-k_g; zO3SnuA$#c?c&X@30P!)?h9PkdJgCCP0Xp)QR%LWo$@4Zw)3?RQ8N(yz*GRv`^o)|Dhy^Ul6?-6d8?9XT67R&_90Eqm`&i@^AIZXFPZ|R@q+g-NWQ0u_#E!P zc#quAAUdZ3{7vs;VE=%H;-{45XT~K*BXxV zk1h3|A{^;aM3jV~y@_m#U;(4P2{gkOX$I4U-(Yb62JeJ@0cZOUB%b}2%&Ezlrf>qVZ$VqonJQF8l%0zUP!Q${B$yQ-452 z)gLJDX(-@s+;96a;MTwX5t{jlRsdo2{)AEGXRYT5C-}j{BanOk1}o zX|Wj8rO7f@O905-2Ecac=R*M2MFc1?OOOs>wWQ3TQP8rnaR$>I=+R}A>B6-JkLhn{ z>-&&6_LSl=y@JHgNO+zBx2edinq+CQNv4*kl(ZP0SKS4`sA#%XP0cjzghT&6TBbc+ zl0C*gF|t$_L+hV~ls??w8-r&;@H9S&#Edvv@vWL^x*-n7(&J>RvnG2?|3acR0ogaB zu)m|QI}>E7Z=#H|{IFg20~aOA(m)Hyw}OIg_eBeq?Eu)bO(`|GZ~%LRH6Uyfu#*62 z1i-Qh3O9d`=DY-uxvHiN%EQdpv|5#=y8#h2TQKX2+yuyVsW0_3fv5S1djiFA%Vpmd%$To1qljsV4Eh;qOoOQ$CXm>jJD+lipdb)j;7tRB-e zmn>a{1h<-qRcpErkegEi9R3XsJ5yxoxm2{vUMOPW~l(9KWmLj?YNO<(&&*o!h*&>e`!$Qo#>NK8BgI*Au?Dq6@hD?$d`+eOJCp=> zvShM6gsg^TKjTw_*qjw3N-H?XYd0`WwbJsh6dM^|Pzvl=zOyJWw{Zp4<&D$pvCI_3 z2SFC(CG>T02&cIkPTRKSFh!pyQSQA4JFU%6Fb(9uNHaBx+C^BejKmHs z7cRo8T^mI+UfYebJdRKR?<5RzV(~7@a$bPEW?|j5dZ`wWuWV#_IbjkF%|kqe3k%FP zD(z}Zip&J+a}l=CD5BumD6uxqO*xKKGeYu4S?)(PmUj}9$(L<2M{=yHHMFZ&vYmQ& zvpG#1;SKL$(Mr{+itJwO=yyYGl{2uC{G#F>!J(RFS+UpC{->RW3@PBBJ{FOjc%l15 zbXonPMcAi{vWx_p7Q{z*Od>4Roj4oRJK2pWp70s-fw$Rc<;M{tyPi-0a~L*cNClK% z+dNDJt(r=**=Zvaj_%Oz{u|lRlWICMwk^&z6xU z-$5(p#il8@+o;8vn#GYvw?1G@rOo@?$v)P1PZdK%{nBy#+r*0y+5m!uLWT@!MmUE> zh_J}PpjHN|%s(~5%by`XdL<14o=<18N;<#~8KVC_P4L&SJoO84RspQJHO@Uzo8>js z(iq!4iG%F%VSy5FMIoZDah$abD{bGc^f%-}RvNuN!eL}H9c&}{nfQJ*at~tcu$}Rq zUxA3v!NJaihUA{fN%W7Bl*I0=KCIqq8sxxv_d$aNHM4NqdAerZlK{K{fgsZ(hNpGh zOwv@4e5sNALQ6{1K>Dpln%yzCAw$Y$&!5Z6o(bAz8tv51XxTtSD^Bg2Ao}YI;yZvz)uX%g-~J~%c;LBg7Z}$e|x0*#qD#x z-!N?4#|ArQpOpeGOE)1DMVE(8DOhWIt$g6=*eH#l4a02qk?RHi75lN5p4>d=_Ai{S zIq5sIzeHdz0YCn|`Sg#beBqqkZ`fmR&Rgxp<0CZCQ6R6g3?hJ+a*IKW)b%FT^Eq}D zqLp#Xr;+0@J2cDh*Hvu1yrStZ<$oDgl=AA)Ls+U4@Q9&bj=trzX;HHbAKdZgkh?J# zd`iGi3^(>oq!wpvAYSg_z+p2G=8R)u-C-0_(UkWQ?koeXl47D3jyYA0gDxBk>oSuT zW9?ZJc@afzY9w}u%<|%oKJ2sLKsWzmnP0RNZd`I79*YFL^zRXS-n#LrZ&IHc`tPNG zsak`Xtbm^w2kveGKQRv6fhZCGO-YK@qPC4eAT*AR<&V~4W$lUa!ADzjaV_SMyMvyxtUG1FY*F|AENl+<-Uh;I#9#NLMc8*18r5+~8y1NlIP5#Esp;eazYr%Yt#e^E^h`ZTHC-jPlVF#PwAni6oL6m|+&MOO zbV5ewScKxbfgW6{o|BhhB=^a}hwZ68S%sH3t2cMfI(@e7WUS9FN_Kai`4e zN?U51M&>P8n_KpU+e8^(xX+}V<8G|-ZZa$iBAWRQzhZG_!aKBO0wN4-KF1bCE531C zvDA43Iyas+vE_bC;11zxa5qiBHU;itq_=Rl1`a+}!V|o>i;?ieD%~bvc;FOwF;X$^ z;BP=TDsUGgHQ^5PbbOlwci0QRqOeO8UG#y{RY{1UYj($FQswvVI0fg!pSUt^361(t znah~R2Bh{?3T*W8fYkG7>PN~Q40NxI>#Gd6QRT|Gr>b~`gP%WY@a2zRmX`4qk3`E@ zl2y1ScMq2uDx(wi|Z-4-j3^FT-VX4Pn20)%<}6X)$Xg};*?=F+J9Bt zNXi+UdMeF!dd$>tbzBsk|EbcCZofKiAX9I+*w$AWtJ0y1Z3xvlEg@4$j-Un866|#8 zXNt>t2UvH-H&(hka2F$8v316CSnADBb&&Z(V-)S)lMoe|5QAkATE5+oK{?mqR|I~< zZ!0PZh_kpcLZufTj<8U#&y;k<2*_Vk)A815-QZMJ?n0{%E1pDNbm%Ecd5G`m!Os*S z+y|d2eUd*T(cYGQ@;uNHSu!XqB30&0d6=ixwg* z3TMhcS26?-9PNDW2*lWe!cP@qY~wrn{Bz}0=2}&io=JHx8PLuF)-#VNy=4TGoS2+0 z$7)r{r9(%R|Hs>Vz*kjd@#FWso5p*2E$`)}hdhWNNN-XULKP4&bQCEO5(y=NkSJJq zK~M>iwkl&6T|&;NdMbIzQZ zIn&OZIaBUDb&VL?L){ET%wtsGSgnb#3D%?rWjz^UTSEk^p3j40w&r-_?WRX8J?!r1 z&H#l~lqC7Odtt88sjw)(EDe;5pC=|lNATl0$lRbKDDrU0C07)^f}an&{)oG`Yl!GR zJs-R5=cFd(&W6bWag#@<0gRqQkXD{l9k)BI}F42kT)i zu-@`GrdzQe+`Zb6HU5lZynL`3QcsBaa6K$|<6=YX>WU;__{cA=y#`DWV!=m;PePp0Bk_lFTv_lFVl7@uliuki&j5&oBZ0Nc0p zUufT4S(RaN^}pN`V`)&PPKlWX-iTt%)@hcBQU7tr;#3J-kMbH+3B)|c%CGTBt+5rj z(es&x)x|-$8dn!*16;nVF01h>N$L4AvtX=zhJp9s96A;ajnZ|)iqlJ_$GS1a!TINo zSNNpj>kzApJAt(7nc{V&uC-~acDYu+Q1{a*d)7@#N|JFV zAW{UCrkJmKCVkyi#Vq6a$CwM1$~DF52r)rYDjJ3rCrPr-FA46(q~a#|jw9o2fq8gS zj1Kr;i8o>l!T<9mHV*$QBsLBI%OzHg|8pgF3;wHc*f^2HVhZM0xQRyk?y_lE_Sdw7 zz*HKP2+^@2Js5{P@GEA66h2h)5kR^j6Y?!Jf|x}m9vKJDeRwbXp9HyTZj;}ag__C; zGF3wqf1Z>fT4&}4HqR|gTDTJ2v=--Oc+7+=h`kwW`2p((-q07n96id#ig{&K_&q2i z4AMV;J9?C7hb#2j2Ktyc^fkgsVwDVY_*dmT4?kRn8^`B~?L9-;6)X$el4ihMynL`= zDwPY?N$Xp~jZZ!6`v4XKjsV1RX8i;}EMnGEY_Yyr4~1)V0K5Yb(p0|#urna*sGCcC z`CoTYycg0bgWGHL)!6R{d|>qp2>yR1-7N@rywtUBlwk|_6e;1DHX<*S@a$$1jur4` z5*|c|ipIm1kk=NcNg=Pe{6`9S%FNo<6_@X-&4r-1*iUg?lTGirOGdSOaH1o0MTwPI zW2UXee>gBD{;X~`Q^eSS|0>+Az~c3yc94kFD2n!!O$&SsRLMU_s7kT&gVdaO zGKzV;4!|Yf@pzm2Tit~nq=Gro@I)@0Igu!U^{8%{t z|7Wkj2$f=dkG$98RZkp4Fe-_?gd;_*CijGNa|ni1*B1cx0c;C60I(+@Hka!M0S*Kl z1vnINHsA=r&48l-?*<$VxCd|y;Ol^A0lo!T3dj+u3h6^pE+dN9Yh0o+52I)r0!z$e zOlgE%UjF0M#!HHWdsDGNG^@w1nS0WWz>bvCguaHH{(WNOxy9KNOQ%Xn4D1-^hGuuD zbc{D?(;4|J#GZfD3b^W-;PhGBTx7{oD;k+IgC$pDSprP?Qhb%~bYOMj$j#|F z;;H21w8<2i$#5~~=han6 z4b5y(OyI^^vlJK)RLNR5`z7zP-j1_)pAZ zlw#vgqF!SXF|n`G-iEPo*eLo~ljCYzHFtCDT=XS`R6!T&AFAzx5bVVOCl#+}n zFf<=u6U&vSz#bRBUhIzrz6QA-ua|}$tl_e1f2U)T+Y7I&_0*J`7w%|@~NCNrFjao_m67`g(bItX;F zReanawl*Q*x7I!9Cv{1Vxm!Wpa?0TEo^-W4IPD?_j4ke23!|}HCptv>3Z0Gt| zJQmL`9{zhZK|@m21Tj?;#60q%U`2abtXSo5CtkZGJ4w|4DJ|(3nR*=&Zk1Ov^P8y? z$W-hC{~#q(5wRuJ4CZo~#Mw}=c;lohy%`i+M&u`nsyA>4IrcQ_!PMX|nGV=XynO{kIUl9D4^FR9M687*fBgL< zXSSRq?N6|l_9v6C#4uUK4CV4&m-q$@PP$Yq5!r3TD-(TbqN=Ef zeM(ipyo)hM{1iE|NKfv`JyK%8x@`K(nit+Nf z2n8a%7?AW!0NFCT@v1IIOm#V89_*_qU#~&A-z^Ts{XIg>$BTEw{%QHx?4FUI?hdHT z6}C8F*jv$J`}gSs*f6_)!{NqmE76V98zRAsGj#@GNy#tG)4NA}6 zraC7pi26S*A_ks^^}(4zbGW;IMC8rQFV1bQYChIV_mEpOYyexTvX>-Vs@9k6x*i+? z$LodT!m*m+;e4b(U<@YhaU;N)T zX_=r6>NO7H|65}08h`&|RNfwVtrSQ4ntAxb^F*U|JYsedXD!U{Dz+{0C%G|f2dYwY zQ~Zd3qf4B5H4@|`j4RpL`6VW%ulIL5Cc(!M;7YOov@~2}^3Rkcd@Z!UPaqRVE8RVg zGk}LS_PQcniO~L^F9Z&+N)9 z?cR{u7MK0Kx+pIyz8mffo`h=9#U-YSOAKZja;<1do7-VN<}Wlm9@8#QBj{yfdp-nV z+zAC?$(7liDF}t)wI}?MSo796Rd+_L4%7$0v!AGLZ^oo-{2=p1+4w<}<(mUelm~o$ zd;$}ad4NciUWOs7#avheR}YKC80ly(zV&G#iOlpMC&)PztqeTt*`S3 zS?}Gi^B2nOxs4=*R~GJKppS@Hfzi7JC>c4D%4o`g8ly$g_2)n@=X20^n)G3P#!npqN4GfQIFX+nM# z?Fo%}jMr@1n>MY{)i|a&XkP0QY7U{)i%&N}EAIp~2d3Lc`NWRO9!S^n0>3m#lj&t8B zD_~fw&d4zzT@joH{Vx^K9pS8spkS$rAf_sUn8zr=e?=RnF^_>+nx>s=(*iqSQ8bQ9 zS|=KA@po!vk65Dnv;Mrz{mgXtniGoU;dbUJN-UL@oY1^;9M+xVdq6+3{sSOYl@D1^ zs*0HEyTm*Ob*iGV06v%4(%wAxbdGE(QV}VPa>4uUQ{){M3hQ9gy4u)SVxr8QnImrA z;tw7(Cch`P_X&jklMsy0c)a*%{RAD6C8jdSNy);=KO8Qa*}=>fJ6=r>#mR)_r^+6N zm(M4<{C@{zi+=&g#fGl{Iph5raEx{{ak^PQIAyBqhnT7#VrrL^<;6$M_)p9uNBaz~ zBo^U64y*<{nthZ^cAyw;y3JoG%kJ#m?}+Uy{J5p)95W3k#(hb@GX*I5qrVrsZ)m?i z)BGGK`4)G8Hs5xNnG~nsI!pZ0EYpow|7c&lk`HRh4au`*l=SFMZ!aoTo&wz%c2%y#0!PNtk~96l?vFjYx) zlIU=^zd(F@Kdi5JbVr}k+3d}Z9?A~jrq%~ALqTufG|bnhBhIzzoDfqvA?7hg;=iK7 z`U2KcRkO;Yf5Jk8HOI;8YM#uVe{9_i`F~$`V*R|rqPCx))^H#edHuV_)UdB;91+`# z8GrUKgH$ZJHX}!T_h+T}UHAH>riuafP*uf+AvFN}2zYg~WzuTU*tiSv`c7zLzjm*` zCnaXnNMDX9ywC3oM)<9IztH)J%I6bt>!i$_I61N!xV~~O>3AN}BJ>C#={o_j?0^q* zjrzWT&jFqe_#zHgyolpU(@^}IQHu|&5rf0qX?c`{eG@Zf4L{ryV?hsX+UE9x zp#_PMb#rbnGd(m|SI%6;Lsd?J>|6i06*CR2STU?1Rs<`E?n>=u#qboLsu*IbVu*R9 z4(i@R60x@;1A3(BtAN-)(KPlxMdP^BT?BUdbFm4(|3H3+V=SIMNK%{MRVP%mr}t@Y zes6S}x#FtsvGfjDv__s;I$}yY5>umxqH*--Bfjo~u^Hz9axefCod!j>ZCqhmvvE#r zIUfU^o($w2Z$>t1=>)MoWS&Ij-&!1f)*p&zBLmF`JbVXS53=zKAScJa0?ldulZ0_jjR_HhGWIXL#fCU|AV0TRS>%|#?t~S)zMmSw zR3YT#rcLuwU{|yrX&6304%>dWSn(4qe-6%UV`Wa3i0=l#gq+gfJo%V*=E~A4vFUtR z*Befloo)lrE2d?L!5z#jU%FnFW>=T%i&>Lfs$~37NIm!)VL(L6R#1W-vu%SmfRw z$?eU|y{aVuJ0?1F#8l>pdE^S2qUFOqTI~L-|JbPlj6ST<{twfYV2Rm{LfX?+BJL|N z+jl(6PMDZVm>7Pv82=S5U1H+f+cM?Bn)*R#lzw`YTsIhYJ7#fMFUuD*OUwvI$=VXL zT}LjhtNJFUI1}?o^H|Y>a8GhIk%Ae$6IBqGOcr7QtEWb$1UY(l3nlBJ{KA#_qa|4Ps&z3z6FP}f5 zrpfWofFZzp0WmDg!+u=iydQ3+_5dJTWDx=@gO!*v6N!0@lks2CI%&*fOrFwsB(P&d zbk!HGsZYic-Pn2bD1MJ@cq8?M(Rehl(LiIz z06>ljSSJ6T@YHniaHmV2IRJ9Kpm{*H}O+z};baz5sRY5oE4@2|9tpM>#? z+oieFu%d0BMC=#3QYRrA*9Y%(ZFkP&FL5vc$oW=CPI)7b33| z-@OG5q(`sgEHD0bl-a``w^Bxf-#h)xP%`DaM9hi=viiNL#r`cV<`*Jqr8ZS?;?ZXYrF@@e)7J~Fb#B- zVPY!7#8ieAjTyeA#p#<=?#`KVe+2zWbU%kx|N9f={rmiF|Ce52B46KWD!wb69^zW*&#p?UT%b1Ib$uAGgp;?n08rpGxuqiUg!u9Z!K{cl*bl!qcf8sKdJ*+EYNi~+U>| zFO?oKl^!u1*}#8Aqv3e1SosXP(U$3Ez?%Vg1UJ#sT9C<~HZ71Qp7>avBoKQ)R;}_m zplp>?J!~97gy-;HAr5WL#3gG75nh`KxyPU7iQS{j+|6}qUUBqXGnMv&T=x%7?f_P7 zCTBNY1APOM(E!*EaIMxqHz3EVl*CjiiK*oyMH>V64J>8PV+;843{%$ckr}FEhGv?D za;7KCrp%u)&tj+h#AeT-nPv}V@qBZwAHO)b*Pk@Lc@fs@B5VL`k0PMSrDWV{7lD{6 z0x?wtMPm_e6{jEa|2kf^5p}e}dfV7A8=Grmt8HwfjooZx>`ED8w+CJC=xkLHp)yoN zAFt?6c#Btz*Ki47<}KLPN|jfcs#U8O5dU&9>JxOuU&p(}293Y#M14&oFE(2s|yCxJxWY9$(f%kZ8+m|^gA@krG#jb zn>BnAP&SF_Xp$EZ{|a&V^WSZfvcLPgTTN2%QhrAKC&X;tBJ)upD6z2s5Gw`7Lcnf- zivUXis{pCx76X<6E&;q4um*4?U@aie=F|aF*e(Fv0eB%GTVgrjtAH1|jmhfX z7Y&B381P)3x1!%g?z-g0!9`z%8kZCYc1&;wcI;}5Cta~_ zSTGIYgMl4ADhB*y2OQ6U%XPpX8++|oHz}G{zdYZVHM8#Y#uwKH`-kd^SHE7Hv9{FJ zf4r+Md(|%Ys@?9@uh)Irb63w7F5eZnY4_UQd(w=&U8@cpbrL41m9U<#uX-jez;Juk z?m;*T=fiS5C}XeUqef#jQEUY_do5{`@$zx{yQHuB)@!2jZsKo+W(T}p99o$X_A?o> zeE{!x)n=igygQ(O|7u*cP=?>}IJpB(0Q+JcQ$phsZOCKo%nHAhsq8LKxicry*+VS; zLnJ#+)@)km^kM~?5@epytM3YkIZ6Fgzy`osfNKHQ0ImaU)NV>O-5kcR0%TU{rm$j3 zT@Omcltw28qnH~Sib$(i5hqS*T+*%QE*#2Tk>5DJSTrs)N5na;V;)%?gfu$ipvq)$dU1HK-8)6A3&}Z{RT*t_bXs`?Pk`Wl38beC#L#4F%Ju;Y0qd36%SRE zcKI%>M_?m7?YR+2;&0XFnaPC+pw9)IRaY47&DOU1Q7Zh#32xEG?Y@d9GGiNw*k;onmKf~7!p`EtzJW=t zUj-pWngsK}B*kFLHK0X|F~EKkWjiA|8BoA_yaR#0Qdl_|j^Lsb>+6vMU~jm@)Gg+~w#-6`Y_2yY#zeox+ZEin!gh|^ z5Uc*xOkpE1lT*>KEW-h^PMJpBz3bY2C2yX%kB|arLg+ z3F5mkW-swgotYc&gqwe6PM=lL`0R{5xYAlfuCr0aMvM|*YVD09kiuxUphl6sG8S6yT&KJB4 z^e6dP{`=tXT*QM?I>z5x#EZb^Z_WI(q#{w;BnN(2<=|5&6C|brQ12U zk;6`C*_Zt4@7ShIVhFZAf!GS&xwO2jX3jh)t`tKYx<4%(PeHLL{uRs96rV=|9Mib8qbi-!8vn=Jblj z!O@DJ4$P`}ZgBAEQT#`B&dA$!5-xN*nyi=)jy%mdqmnt=C<@~Wgc7PDHa5z}N^Ojp z`IjN`U-J9o*8_JxYHUf!9;}}x4`t7?;aE0mD(6Fg%Z6ip%yfDJcgh}?7IN*A2Ua*+ z_QataGmn>wLS)np2M&eX^6<5Js97LNMki-bpH3ebD3rycj4@Z|>Lm7I{g*7?1mx<* zJAjh_-vulOd=HTF_&(rLzz+dAjrj<0CE&+^*8v^`q)Z)zcqo}7rbLRE$5`eEP(&_% z9#jX{F1f_)tPTm~h*zGjYjMOp#yb30v`rfG7ht`*g!y*U{)Z|PjszInl1*`oA=v$g5y`3YnbJY zp+IH`%lguWxB$`ld`=reu5lJ#X10s}1L>)ej47*;jF`uG3W2|ov^^U0@arUlF}(6- z3Su5(0NPc>9i%ZVZfCRV@TZ{vDb+y#)QMz55#((#S2$k7V}RVgNM`Fq{svlskl zCJzH@h~6*yN5^||(3&-4IzE-7y{AT&^MI+oz1YSs1g3iV3L8s|O0?XS?-m<-5SZe! z%f_CwefLQW`YOeE%O<{WV_y>!p_lwQ@gx+G4~3o&bp@3)^+__`U-0s={5dPJ#wlt( z7}N5x{JDT+jZ;4OeBXk<#jPE$WT4*W<78l&e@8&4#^2b?Vq>P6Nf+QXCmy_B_7520 z*pRXYuU{~DRaW7L+G^$ZdSvz=kQSHKl;g%RetOOPv;}Elc}4Az^nj6ZZU@uNuLHnG(H*=uq_ECOrU^W>4g4ZiI(tg?T)a7Pfa$Lz^Z)8bf zrvX#4O7*3%(Kg0jplIxQ3R?zD#f{svD{KriZXNC#8@t!W_ArWy{DMt<&Borbv5#!* zM;l8X9XZZN9IQ*7@UHa6GBxT~bXQBkXeud``f z1y;Uy+Sq+IMpIq+ehf^-{hTx!JSkF*D(`>V0sm`bIS^OnOIu$>rgg4p*v`-xt#w5k zW@G2s*mhtl?xQwsryKRJqU^Pauh`gkHuf7Z6*<|oVx-$x*v5Dfo#NNS#>N1<9fgS) zlYpre*4Y*oH`W5>nqb7Z0hmf;D=@|8ZX0{R#vZXTSPMGb-+-yO*m2f0>@{obCmZ|C z#`2*dGhHZuim?Ewid-X!q%F6xdKAn=_Rp6udl7Opa@?&P&(;_*cM2Kn@;P0iKTb+W>d~a1$Uc z>^}fv5!$#G@M6HtfQV}dK=>Kg0d4`j0q_pMn*j%-bwG>P4+F9lgi^rU0M7;dBj7y1 zI{_~MybCZ6csJmBz&`_C4R}A`0l)_Ud12v$fV}}90vrnXFyI)#zW|;CxC3w&;NyV* z0eljjqW)JPPl3=1HL(*ALxZskFb4QEU{}Cr0Q&+y3pfq%1whP!j28jf6fTrX*`UOf z4NA--cP13=8q}Dgaot%hLZ#=(i(tl2Xx#S&*cgp_XJU<)=FVPqLg?oD!Zb0cU+c8) z9PLx#f!xZ`J`0c!M=?J1cdklp5wXr`VSj6QFEE8)ijpDb`{Z*JAx{ zx>|M;ZLUg=xLV8Gp5jpCvV1ABd{qC$lub(vX`)n$#*tppP`0V-R`hLr^(ae%YdCP( zO~vU)kJg2!(vmb3c@_(cYc|GV4SpAPm*`b=F{>q=`9 zoU4L9q?{s4w3}%fZ9q$xv{H!)*GzwQ!F1q!SYdovL68;cc8N_7=Z9sTT6M-?9P{`% zqgXXe182Kf(tzK2{ooycTFNxIYh;CHyK#Z+(JC_s`==RaEP=tUkJKbqJ7K}hm8N$q zvd42;NSWeA(uGNmc8{~%BJ^W=uG}Q20!7yC`O}MN6K3!wzyRROfHaF=0c;NlT~OZ< z@KwOh+JBVxpRE0vdHPd!y{I|0YfDTmkQ4J5|E2|`h+N}P#8#+sMe}LQW8~O0`DKEP z+{>o*wZnZ0E)*DiO)1YNA6%FnbR6Y95=hQdSH;aylA5k1bp@f=^oP{q&eIds%cTs1 zCEyB~+Vvr(R)LA(I=O4jtW$~}RnvAX{_^e@54v2M+FarHP!$cXMsC1#0;Bh3wlZiK z@kw+o(R#DlMvNYYZw9-ntcl9aILh83LsUM5N$&%j&1js_xE9Z7V;CRL7F06fRzT8k z14L6B+W;egcL1^{-vihU@BzSn+Mh+svWrGc6^)pO--k(Gul({Iv{4{VncDd8FW_PH z{ITDK-BuJJStymX#xsf=Lybw>8Ye_bkG{TYuWP`C-7fj$xigp|cB-C+CX@5zh+OW~ zpGw>*Om#n8lIZ>fzJ=Q-)FS@@p?2qg7BEb^=-M!c;*@%@E2jRalEv4VneNX+qO2k_ zD}E|?vsTbn_JKnzJ=If$Qvul{AX9Rg-vdaIg^?#OF@l6i5yiO>EuzGfh!XP{Um>)j zeWx*Xv|Q1Ut_g2ZbiJ8_UyeUyq!R)F$=M*JJCEKlf{&gHzj9ABN@E*fgwP zdlz5Ac}je_0a~9inS~%R@pA9L1yL&Xh`fwUVdcmPKH2PEn3^pX_fezy%p0*|PYq-# z7pjwQ@m?u5-H1{9iW5$ay4>VAyM{B@_>IDw%xodvOb;zu1STcO0i|UjUOpdSSR(uo zkka-MAZIzB0QLa<43O>eIp7dLSbz0n0lx>N3Z?s8?VhFG^XbM#|kJ*usRYt4xKp1T@G6gP}GxnV@Nh7rA<8__9E?A%xw z%}bYRxhohtw;TE(y}hzO<}3gj#LFV`VLcY3o23Z<)u!;%yBIH(S|=@!uUu^wiK;6L z3n`Csy{6#MHSk6*q#kRNOVdPT>y}sYT9H#HO0$usG|g!kj$ntL6(GJwUS- zI&fDf9ju0)ZV_uJ?3DT3uwt^-m%5EB-V3)OW}KbYp#$d!&dThLVC)hRd1oV6St9bz zL8XT?&Vx5OTMzokId__mx8dCGjAj#hhCLbYc)V8cFTKkghAV-}0l^>g=BLixabR-OU)bKliQYBbx zFjNU2<6R}TeuXa-3q~RQrW5Lgi$?|IS0sNP73d?{Rc3}-Jl_2VdNZ}{n}F1|Zvhqp zz75zG@Et(5=m9{={s@#r83e?Xwk75?skW2-q06G}`270cVr0&O9;y%=;;L`8ZX9 zwZ=v5+Clm@^>^0q8}J|9Orog?$*&iMwn{3H?98!~U?4Z$H-we9yEL_}yE36s@&o*^ zkCn*>Mw}SjE;U+4j*_K^pVO>zovA z8fi-9u3wOx8SnXiU%A;)H*)?oIrKOFyy}^x2HYq%;J*#$7U$Q-CeAOiw(k-xQqeFo zzhP$fnwf=PxqBW}=j`{=4#1_tV~Qhl8+^pio;7niE)jd0of*4>5OoZc`W8rv%-L=X zCu(bW3cQt4IYnYq;XOu1k@^;{6k~~uA_nIsXZLFW-c;vMU!)_HqAzde??r|ph~X9` z~Dk^jk(hB3t; z=8^YXF^1Rpr;dwH3P&Sp6}g?p)EDeHAcug%KqKZcxIm>MmuU<;8#av_8{>tmQ)W~o z-Itw{IRSB+@BhvaQ?{6cdNVI-1eqx@Ow-nl=v%6KXyd+_Um|a^lX1yjjUIiq8ME+V zobo8azmuBGq7a^%()rNeEshS(Y>l6tiX?d`IhlBus(uw^zglr@$BK%TAHFykz`3G;q*BvGACS~yIX5Jwa=j^cgkbI6V4Q9#mLT{LRvJ_Qz zDTt|35c3%Kf{UVU)0hVr6}GBa`EShZlY8vilVprv3+yXUB=-EMY`Pwa+ep5VGOi@`KlsxH)S{JC*xabvGXad&DG zXQ=o@aB>3-oeAs4bW2lrYgdr&s!CdgOS7>vT-x{&bAZfDDsCfFm_f^E)=ar#By$bx zK%QBN7*qs2DH(wg0x|jx&J-^C$ZfcYT&!6o+wC*ZaP=I1_agoupzIxKc==Fac>zg7 zSZOOb{n>l0Q>JXWZ**8IzUrOIMU(LL7W^&Ccs!J#JfP-G-~*pH@}Swq&x|o6KjKx( zT_=m@2gT%E8p~a=Fw@}Aj^QTY@@3F6-q6qD=7-Fj0`{U2=x&SUuf%Z>zZ^mNd;;5e z-#4k*veX=msLr2|UiblSLw)!20w4-$ya<>Lco>kK>}5c%ig9W4G{9E@hXC#eq>g$M za5msufaQP(0BZr?1-ugQJ-`OQ_pu9DzY)j>AlwCb5b!?0PXV_Beh!Gt@S{#JA{YvS zIBKW%0;cM9@0pEHPe%`7vJFTgMRtAih)AP1-7SJwwa$)rgFheD{z{tIxO|bmZN^ys z&eH*4Cg=13c6|CFp=JA}-`-A21V6tB)r&XwikoXV+;A4hXAZ+`_0 z0z#hZV}MTrb_B$3gIrJC3CQ}x#+Fvb#FR27=Hd0|(${O8q%n`Y+(U)y?ZSjW1sr1s z{dx((*Y4IiWi zCr}lzqFIrI9q>9IW!unK?fqK_r1oOj z)zXaWHmpO{Z78C;+lYk)d1;ebRz9p&$`jpewi3L2EPwWiB<(`+tz0>fk;f*&%``(xKOlR+Sj9`<^RjRH~#-=-`j}1oNEN2wGxlB@68h*oE_*WwmfR~ zK8t$I?r(^}X)R@gRi`Gk#8d|&=8wEEh5UkmC&NgQ z;rhePFulc*M`D?x%fm5`IQ&K|?IiAKN)JE=Chnw>c{dSzIF=(0=BKA5%S6PXH)2_y zK{{$lNbKB}9PRB)e+c~eFwdkj&tx?WxHDWoaU>KCi|f*J(hHpQdAcq-y3C9~rrQ`G zcBkiLjbcB-uA=-6PW20w-yfm(>7b9Pp0mLCLAeLQJ-KQjDbjy1+>>gS%OIgl6AQvI zUryW1p&;XOoJsPxWDzxlBQ3*4s3<4w8X*?>a^|?s5c_>Od9IP-8(+>D@zDs+mauA^ z?lbW=Z#~jY-Fjmkak`-v=r`^-aojpiX$x`2hahw^A@P_$Coet`VPxZIp74ja%a{bn zCs#M-S#YyaCje4nCIdS2ukzwDtQvRvSv)O2OF*WEUF3X`CPcIW@fX_ zkj;v#zn27a!kuTq7oSdtGmVQPqh_FcF>7Y3fE@it(YGuA}CYn?qdaUVyi` zxR7pj_C=03tS9-4lF=XJx(U<)l2+cR?VGONME z`U)|IW}w$%aVR4vD_jGwsb!V5R#(0NGZ6j^vnUMbq_`G}lfpS&UCYFwEOgT4BKB7t z?6@SHljgce#G?2OG+S2Cgct`yrg`0`v=$*OL}{^G-_vvsWP zGrDg;bf<*Vy%8@~{fohO?58$)oc+{jB=f(}FDC4n9qO z4Eu-ghsbVx2RtBA28E9Jgz}|usV+|U(0S!^7HIdKa9e$yWAELn^8O%J=Hz6F2hS_W zcils|%S!g5BL5`z=j04>-77-5Ia!nMM_doePw}}IxK+2?fII7UJKR>?GTeQ5DLxMZ z@@e8n@d@)Vl<^R}S=A2%GKdQ*Uq(-iaLO5aDi$8hfx*dq1w!*-Og56!&#KiXeu51c zJ6gT|%!`LhCMu>H7B<|ImnII!TP1aN^4qD)%g(?$vbwDmd-t(fu%a-h zi8Pth4#(q6I$MQN_5#0Gw0^*w#UsfY<#|wyMy_n@aZ;{R_lv!H>oDL*>*1h z^0CI`RM1%EX-0iId%`rkT+SbE5~~M?L%(KyQ*_;K#r1c_N_lqWveGDED4+9?f)Iu?P9JEnO2QRF=Kr#C(+@q^2 ztE|MHfE$S^J9?!0jXP%IN&J?5PI%E%${RhmZlT3;7ibe}s~1}=_NXwWHI>yhm9@)d zo}Xrz^4cb}XGp7Cy12Y*t_(vr8Kao8+|P<5Nb>aO6uY5yHT*opsxX!Y2j$>*c4hg( zxw3R#;{~!@SYEzZx-*Q&#o*RC;dab5CuI}rs*qBKtZ8<`v#N$KgE;|K8OF;YaZ&$h z8~47DxTSwITJRd;WFw4S8KpJVbHLVzmg_0@gKg*i2%;)#R8?gyezjgUSS#aon=a#k zy~}u$bBBrUw?d*~K(wRlVX>(Q#_ZeT(6fbk;--!{Y2t$c(KOFHh|1?cNPIgWI`H)O z;C71r`*2(4CB^as>F*B4rHCs(Y87^$onq^Y89fUQG6=+g(n@VX_uufcw;aMy-zqGg zy1R8SmY|!)r|{<^;{ZxOv2$2KR*DKHw!fJ-qWc$4)(A%Tmy$L1Dp?g9sH+Q@vb?b)sOI^?fR40QtRvL`nPzk*4I`% z@Mt*V`mg97h_-hB8WP`4X|+x@X{JC`ZO_sPi>vk#iB#KwWqR+BR< z-mYLWaBF-?1x~$S&A`*(wu;YiDR^1ytpNEn^%Gs+H`~OW;nG_SM;?h4fi`+B=RsKN zPp^hP4gG+u5AwBiRuH%|9V-Jpvri2KZ}Vq5ey>^GZX=2 zL7RrBj;&wr%W9Ve??e)baxn@AR^=!5-xCgVaV8;BZ?5CmQE>KSgDjxc7|AYk*{4w4(JnWYbvYG zXDlyIpKN=~+oNMH!=sm1BF05hL3xY8SxV0r^Ew;sLA7%!Kb{ry}Kd+wokO6sgap9{t~A(jCO}RA&H19 zcAt?G&g}s*t%15l%5y1%D42<*vkb8{?u*8W_d*!Cp|1UU(=97ajbC(g`D09V^@6&^ zh8)w_Kl4F5k2~;HOCjm75KzY)@7NKG;J0`(KH8ipuN|s7bM;K94y=au&bVLQY28yyS(J)#)*0)ujDDIRK$>g*$ z6Q{LGWS&(U^cAnw`?6Acg5*gOTgDdT#)uEW>xF_Js)Jf`D*eRZ1F@`u!{9|R9uCMB z??xjej={GJz-11Z`8t1)Ad|8ZypDJQ0=zOdqCeliD#VN=)^Ew7$Eoq?p zEV!Gmu#9)mPVOKTrrR}v&5#xEf)+@^AUjc~$#h-K z`dNyBBE%&d=H6O1I1jkhDJlDN;Fh1oDD&4<4mX-foZlttb5)2VC9T4;DN>9s#`%&D zd9l+rQ#I;4Fxh#TcR5Dtnjvn9-hANBkzxVdRxLAJC0^FtLO?$7i_2xrgy*rt#3BTy z>{kJj8C8EGe8PfY#+U)C-Kk+1j^A1}9~#I{@rcv2X}is zWy`pvI=5P;8ho17DeMhs>3Qfqi{aT^b(7{)-8FD)1quC$t!4~GeW4B))z#v3g;e*h zr3iEEu}RtUTy;tfE>&vqqq>4fd#XXMbX9nE@|vo$g_zZdCHDjh#h>p9c!d9t-n957vb4tu zEJqBJCuZ>Qht4^=D7RbwK)P{cgpmvi4pumdk|c}rKjmwHoiPd#g+ujwOoG5rNwhn- z9JnQ1ob}MXGDF%U@p|ACPAVZqS3KxLoo^>T~ zXU|##H{&y}2v>-Vs014T`8YiBqaqlnBK)*`Eqt+fY%~J0s7%5V^>x4#S#cRnIN8Nj zsaT?(0_%jM^+kw#+{Tve=Q48HS7;(w0cmD%@VG2Pbg7DFW3A>g$;R=^;fTr*t3fYC z!>dtU(XIf^>JS`CuY#LBtc3>WQhDvO%iG?i{7OuoE^Ss`aQ2 z(h`sFkK~H7y@j|3I}k1E{|Cgeg$0r6z6P%s%O_WBepVYb^`qe&6{W#wdMx2#8lt60 zV*mSCiQNn@3c__7UJuCDrI4|8qu5_U0~$Ai?tCd^Ou`bfn;8!Qo%y;2H0JpxKt4`C zRUUjZZBQ``tV!V?GjQIPrN09K zS?Zg`uic|r{n)dd{O^W09|j@a;{T^+{O=Z<+DF5@=j#Y}MFJ4N8xUk@^}^~JEwI>6Ur`BWQy`u748_C#hd=;8{hYka!<#3I#J?fz$xo@0=LYq z=`++^^d310#R|6TElf%OEJ6dK;oN%>5Fc;Ok(ozMb0N_osQmjfgeM&B6Mq2y9$6`_ zAaP3)wv(^C$O0(FrtySkZ0TCYrY3;H0Y zHP3{jDH`Wu1t*`0I^dR_XoY?q5URH?lNw+0atXNZ& zRhg(;nD3e;gHfY7{j6n3E4%ON9|BPO@Ew zUq_~=rP-kUsqs632Mc8lz3%|$b8H@9XNgVu(Vg)yxSd(P9IMcE<+yyicKPD+rI>JG zz|UDn)|ll?*&3xSzZUAuRw~V_EGw)(y|wC$TE{AP)4*;6XKYGd^|lv__hg725~pNTN2B4}i|aj=J+mRCBol8DeHpG#Y0d6lO$a&C*&OK-$5YKCXOOEh9-9`LLi) znlt{Sn!57i@Njsk^mRP(Ls2wjWrB=lFJi`Nbic1MhgA%ffe)2?a%EL*pI+K9|C=tr z!s;^nNZIF#rst}P*H?-*)j5GZtY}?IYjutOpa}Mqf|>Xcv{6fkFIucO!G99lW6|)8 zpFu`t*lBR4@oz=5^ZOs=w)4v{|5daRR(?tQMbTt7=>AQ_+F&Z-hAdlij-sma3$1EN z!4IIfiAKAnI{Z(!+Z8e}udK2Pt)}Wy72k)jqU4)ML@s;>!uXAGw0;283FT#T2QM8` zSyfhJOH2^-v1JR&hgL7PX(7<)Mhh<}U(THX)5stVXVN&8;-UoAou&WikMj_eu3=@h zWs{&5?KpFBkgc|Sl6PL^Qq{71GQ_yH(P&39Tw!Hh`nilK6Om#~Nu>C=VC#$ZZKH*5 zY$D&^HkzB1jWA;CKe8g?VB2V#nHx65wyQF;*|%HzYiv^Wg7PXI#uFARilfm&h8=-T zt-%X%Fd4mYu4(|ur(IY)SRCE#zBfaRJ}KI9V0(lO88tXNRdYf4TrRJ<3=T!v+@L8f zM;GU&jiPZwXECasc~CU*;7QRQu9L;!vDo)7dN7vMVI~$$I)JD3oa|6r@~8m@U#M)H z71;Nwd1|y1f;wl5baxJO1dJ9cT&YZJ)v3SUg}?_ZXMJWCy1L4wJzTDF!!+s^7LA{o z?G{m6&%>mNL%%f&_W*0=fSR5;=*grJt`ADfED-MvnjVINr-E)xice)&grTPI1Dt++ z0i`zQ8J)1WdqLJ|?*3u1t9yFXJs>Q8TaeXJuJ#v`zs!eQ^0fGHR3snXEkv_!HgG=H zu$S<2uB2f15#g+S4Mtp@Uuk^|ft>8Vo4!8QoYOb&$yA9}I^WC6sXBeAf!Ym+ZH zpM`SzsZ6z%U=1FAqgy%qQ|^XK$=d#+tn@ z7MpH}X1UM8kFA}ZTj(Ai7Op?}a&tKV)4ZC9;LfIm!M*);{F-)sV<2=ArIT5lfts`|5KA77&Y0HnHhlm7+t>d;WKXqhkG{f?)hSL}2d7fE71Qx9c3x z`B5GrU?-HGX zTqDvd$UuqQxr{ksk^c{G8-IJ6vqW*Djzc$B< zGN!U>ft-3c0>_RQSoIck7V%xZFWaBUuG?6J->3T;OMM9%wn=pPSSKriTLO7yv!Yt{ ziu#h_ES1^dh_hD5v9zQWheE<$vIhQuXBdq@*g*BiiC{?vC7NN5ZD_Z#9zSa@e1(p} zxQ&en%ZG(wTo%UCfz*+Iz-!Ggns$BDxY`l-GT@X@nJyGqqQVkWi9MJ~z&6T~rxIXs z&=5kC+UGr9`_|ho+6z*~<1r)fdor9mat-`^B_R1NH=wko&Jn>Ie1nUQ6GEH+^TMKZ zRzWmQ-9rP8(+JCyTmaheh2@KQWjBr8g>YLYr?t$z2($^+)!GCyjkd_^(CRwGP^LWn z$CfR#*vP3u6=*QE$kuYlQNW7Yp}YrNM`WN0mFLgXL>aIev{6eFA!$V_nj@qxn5Hvp zP2!eSINdP9D(7MwOI&)R&l6fK`AZsV(2MVa;@StK@R+Gret_2Mf zEA|^%SIfvsU34Lnr>0TvQ5EB=Ye%4p>|;Q~;OE?1UJmz!@31+tnr{rkJLL9tCg}IG&2(PAq%724O+@2LOj4XV0Ev$UX zD%;CRlUb3x5Ke5o30({KKOg?V8;x!PGbJUmH15-JE!*$Ua5Ibda}AWpAjwe8PM8^H zU>j%&CN9IufMq}R(@f3;Y>CE76PKKqt|eAZz4Urfy>ov>C# zf6F4{HlC+w@Ui5Q;=s(ZRh&#;JZ@$ZBI7Ki)q>W%l77uwSNS3RmJ)PEY?_%w>76BH zDHBsgx3M2?%I515CJOil+)dKs!Z4?bZvygZ;;H?tDm~UOk(uB1gSqCcQER26$5Tn_ zfDN_9P`#8>jrBneOH={0bF>X7&9ny~HwVq>X?g@K5nG<{&6&R)A)NysjjIP8G#Xc= zJ)}8W2G|a`hm_$PPt9&P+)iVQ?uk6RuKgbkilfFFn(_s-?=gW0Ji$$JoxD0h~SX6Hd z=_Yb^H zkAJ#kZmc+8!(WxmC6{n4`nRB4yuP8DWR|~^%n}0vt3Vb_CrV94_YoP+8vP8Thd#+m zvyQ&?P?k~Henu_>vdZPvd7KS@^0u2tY{*WZ>c7IV{u7LdO<$U$TmH#D5!&a=6%V`+ zZB^*Zwlzq-?N-O++=@qs&dn95GB3#u~${@hS;4 zOHor7{~KIKEgdy?nVM3|cqs^DjbY@I3O5w!@MY@E?+|gz{DSlh52=pP!5a~wJMbG@ z=@F?~W9jgBj(k42sama(&nsM);%1p`Pe+q7{P1(C@&M`uygCFxAGMVGHD^^V)Vr8$ zqNeH`MuRw-o1W(mMZ}f`1yR@E#NpR`XS!x9jhrD4UD_(_SpkjQ8V4G}5mEM>FHh|9 zoBe)gaScn+;x%7VLFY`QN%3^*)+|YL(4n&!CP(a^8V<*E;hoUjZX?ghLI*7XjnZy) zPwLoOhg3^-4H_pytr3=w751|egpEbC87liSA{8MryK);1??Pnem5QGkps3@LdxwH= zs*^d6SmD~~aB7y82xoPnlVln&L)!ysN>ntfUnNG9W0`z~1exK_0WBWRLNN1;@6;8Y zk)EXw?l>KuRt~$sgOBa$@N2FtRHo!n66y*%EjCtAD?i<2LGkNJ2-BoY)D?5wy(7Z) ztgo{eP>d@nBp)#-Cq2vER?>U8?+%Nup`<>ePX?Rjy|e>p&R*IP?&iJp6wsW#v{OWE zoL`We(G_%OzwD;_Wp~{#yTjkvFMGi4?3djf{jw+goc*$w?w7qlZ{9Ci9nJgY-Kt;q z(f#r>)i3W>{qj`VFU9Q9IY}w(n0;l(9N4D$IzoRiPV^*v5f%}@#0%PlPS^BW*|<0( zF7og4<@pj{P`h!B)cC8QV@f(@CE==a>pmd2F(e|sdpe2FbtckrNC@=-?Hf~iQ=gLv%Wd4QkkfsFVkV*5uK zS;F^Tah+kRmpI7)^I%ADb|CcGT)cA}VK%V)g^AbNvaL z%c#Kby*?do)8v!-c`fmf-@}J$k$Y$KonrgJjIQS_L=0B6Wsxs}``CiHj4B6bo|H?l zavRnmOc~Gi6CXYk?jbJ*P!|Ct8#N9dv^)-q@6ImB5;x~2rM0v4ejUQ_i-cqIfK9ZB zxb)d@$C-(=lZ|DXC&j-GJZaq@LgP_`UIag9*)E2gdR|L*ks}t=c&R z1$QE8f2kQ=SPh1o-^`o`$aKhynwq>L+P7|yNe>0X{uhW`B!Y?JdKJUu0DZtT)%{h=@Jn>(cph`0=>{Fv$@r zg<@-z${EZW__4A3a3eCxJ^z?kbX8!IyAhSp2#f2Ts{$Efd;@-ls7kmBqeUXP(?7OU z?)1w;0oF`z0~oP2tsb!vZc7@cU@V-9m$vmL(D^j=<6J=A;PVG~bBMoMM^79e5ZiCd zi^iR-tfQ3_Cekfo5{T;z*Ca`FG^d|sd+)&qSe!mI;N_aoTEKZ_OXtnPp`k_CyCdx? z{NT^l1qI=J(^v;@UPy-pj(OGxd{o=(q0ZL_dbqEVwU?QSjes!9B6hA16b@vW^hqLV zyI)H;PWoAg*Jyc@HlZAc0eOm0dyu|4BJwr_a*L*+oQXL45*WQ&LqE}dXdv2?I~=Al z9c~q3Qne!u*L6t4vMuxpGuPE3)X=KE`}&Bu_3Z$@nrdj3me~=uaTu!=Hy}Kp8v(nC z-G}|*Bz7Eo! zXE(`alk6thWYadALWdBFbRhzeLc?~zh_>r-Fxpj=bn4+xxLI8^US5L;t&hrHSu(? zVPa;q4}%8RJlW+?+mGV<4So(Oa4DMI+VcqWk1Gpzee2+tkEXm}_!Gn>rby*Qgo7u0 z5RautZ=<|K%Lm70(WQ^#+H`ysG*WOL?=C5m5@n!cSom}icJC4{Qx4Gt>P{CIYF~kY(khb%rxe{2Um9v{|7&AA#cOw zhv~Q)vXacxiFXh#L70DL3o_%D@=Mw8f`Ffz$m%C2@<9H-pyk9j8}1gkwc~~MS4_b< zLrk{~^k(7^ywoDODkL|x@E!=I7Bn|&#LW2)gTec7t?OmX^p-)&7Uh%ao1$61`=mEbFt>a8nL=Cq1;<@ z$hqWc8t0TxVt+%J>+^BpvR@u{{*G|943+}Gt?C3^eySl2oY|6U<3hsxk2nme)(o0M zYVgeEO(a(H%!NC)nrALsF~|8ldN^%lJWzhI4wlNs$-OnkQD2!)H!xC#?InqioA-=G5XZ$6q~xbAzbrl<`mS*M>D6PRvgV}Z^lzzw5zW64%Xa!HiLA<*-QmxOvBmC8MzZ^ zp3R(%r#;awANB4Y(}xc2OYu>!u}MztTs#GaCa2L4vlBhd&m&bHOUz+;Kjt#r3H$|k zsIA(RzXhG<{wJPt<|H=s|7*l!nv3xB!&Zp7Jzt6^=eVQ+r7C8cL#`XpmoFqSorbWL z&W13j%{cBqc(TFGn0eR@oY^O^Tvoa;f!EyOK|1s!B7Ftdn>ltFJ@{yB4E;JTDcT!p zP~in*@p_O8VH*WTL?yZG*wm0oMtkY0xrue1JV9m=JYM<~;mkOM`4^8Li@@sPu?z-- z1YLrc@~-!!($4Wo(VEXoUyo1n`;&kyL3hFtN<;*Ql59js@va>1Nv9`oON<4?f@{DFbxsQvK#~9M+W&r3pE)w1)dp)m^zeP zgK4wN#ifN4lG4*!7$hwXl7?U(VX~*q6OtM^TNxy+y)^3f#7t*fBiznQQ%eI0wEFhM zcxML#*wIT{ZcnV+t&_peERQ^dt>uw#(04ZI7>6p0CscR4fY-#NhH2dl+U^Fe`QjYc z2bHGJPfRTBX^`|XNUY7!eElqxJgh7k^nGivDoz2{?d^~c$9^gZ0q=j z0fgp;Hrl|kpEJ#Uf~l)n@ZShLXNLVO3s)Cjw2l$+H1}BHV&#vU5xjK05YKq*U(6^e z6j1tTp%2 zQ4U|@CC5UzZM;+$Zry{Z>IE|XfN?inH+kyJas1Ackh?v24-z=K_U^>Y&YaI{0UKu0 z7mvMe>XeyNC*$>|X|qa1y4L|eLgHa7ym+!zM_tkVE=)}B+ygXYCC!X+V{R4kdIL5= z!eB;D?o0OrY%&TBw)Q8E88B`PE|?11LN7JEBQZI75bz}?-gxtgWgLR;;SS{SdemUh zX(PP!*d2+P+CdL(ftyo=c=yV*gm@gM7_j?HUdDz5!~1zDdJ%Yy!xt_VB{s|)4?6RC zgvY|7nfQnT>bWvlbdD3en-<)e*v{7QW)K1`&3L1da8nRNEZQ{BS|a-lNCNQk>%hMVivX@EBbt=XMTN7$SNhvKWs3?qJZoY>1^BSABP<_*shxTa{# zmdS4g>~gF|VK;;Kp(X;)`+~Q?<%dr@Wj=W_oT5wx9Jv&5bFXt2U_Fh-=``*YtFzHC zS|%mX`dLZgiE|8Yb46^Eb{vgf71O$l>b~EigWEx3)xms(ITK7{uHRXo94-ZpR~iev z6t+4hvor*=DGPz)$J9{>XI){)4T&<)GS52@xYvQ7kmm7&Z1eXa*z>Eo(c;&u>^c!-^!PG)$*>~VfS{azR zBEb2nj+6Tij~IzR3fIh`6=qJTSg6bM$CcsB@~vtS&S& z)s!_}x$kg!yiIxLiUL`yqTC_~6-nqA+LVF$bH-VQ>P&bPpHleD#a7AIb z9dWr-&!kyJt)<3u7Hc(-ILp3+H5b;1HKiUcC#IMuNFyCLzY7v9p!8+Yt;qdsjQ!?&5U#na@PGwo?kYS8n0fflI}hauTXz*6M%cQmz+vmI z!V0gr(y6V4FxVIHJ_dZveT2tx#*q-Gt@4Vk1Mg~()Z99FicUQZ^Vd(K6X2bLwO+Y% z@GP>*I|u7HRm;wS5w5m#@H}X0?i{?x@hm$BFL~vq&X)nV?i{>=aLt{Abzbo%lDdx6 zwFz-`Imw#41q`$97QE_}_c&jp!nFyBb-7GxZWb`ix><0SS8Nv4VYqd(z{p{>&4Pz% zFSFeUQtMv9n+Vt3D|icv^$$VLsoq%1A)y>At zG4@g`?H+^H z?0&2`voADnNqq)dF1x*k`#Id&@vLR0xj7F;ISHAOw@fiR{Tc`}17E?<34ep1W%9A# z0Ly%ZMjvyi+y^|%a{%t;U@RLC4Aod$<_E0L5H2J)$Aiwo1oBg_oCh2<68piDm{lQW zp;#;BkD#rsAXWJZaDFa_GiO+g<3ck86t^?^TeKX$l0uFE#|rt&uTIO>N!P+9t zrTyxqW-sd4zUUn7p#EE9k{yyIP2GxJ%P&IMFnX|Cl3izJw0BQ*YCrDmzeUI#B+LQf zJHX5Vfwz^vN4Vx~tV+PlL4x@l^2*y-hXJ>Cw@19J>*6-lEE-H~a&W?_uyzHd#Qr^Bd8|+DNwl>%*gv|!aTmNQ#=Q85(Y2dlR zo`TB{*CF$q(`>wF4IXA)vBvwui<{p3Tn<^Y^_~GEPWT)(dmUD?LVQ9MpVQ|&m<^U` z%)I>rxGDeN@H6fLTB^+>mE{ChxI1TxNjZ?~0T`8tKPD94O zAP@5n<((VnjT-J6Our|(DMh~@ljtxqmzM;iALqR^Juf;Zg6lg+#wF*(m_`xiS{IFT zdqUhbD%e{ap@wkHMra4j+6Wy~{82(mYy`m8Ht0-{HyNPsd@tEYn-gQwsZ%T0NPCGN+ibL^l`EZ|Se_P6r5Sn``nExgi+)_57Ec!+Ol+r) zqh=4KrBlaDy&Vizr>DiH6S030Rcv&plYcpA*3+loL`_mZq|_h5dSsUFr=~xrIPh-G z=pSPsQkEW|O#+&&r>bXG?vF|*Pd2F1e~NLam9#7yR$`ngb^Hkys3!rzRSUCW;&oK&Cq&X4~1ItFn_(=@IEQ+cHmpeVYQt5^xiQX9 zbL${}-l=2<-G3M_{@hI&E0M7;7&>ZYn!^XXZ$VyZLElD|%6|0wscH$>=8lPT(Donw z3EIyp9RS!BEu~OerF}beC8ha%`~_Z9wv3=JLZe(t^HY<$NNw6reuq}6P;osyUhAsS z13&rwb$+_d+b}e)4;c%$Bw&k)=k+1IR*ZBvrS#AQsL2<_|oYb!xW{C5^fk%Z~Na&<1+8+6D(%s7H-q(e+@IpIWU;^wVbzbO)U% za3*Mb?JFNc$woE=05F#Wz zi%34GjWmLR2AdHs%j2ap7YfQGUgGI6J zgOOhhqeGPtm1EPz$5FYtMwy9p4EpeugjK(y&7EBdy0T+_2fn*n^aS!+6i!baLmC3H zs`d)~nriT&9xhgGNby3q*$n}XxnmiQEybdQjwW;n< zThePoonEb@i&n3Kv`;eA^dnIYwK45!ijrR9qQEf3c>F|6JMCK+<>#73yKHrhE@fyi z=}A%4>?Bh7;{^UX9R;^sI<*?<{}Y9SOmKVQBuciWMeG}bai>R9aWkZ0=Y*bGgEXvk zBZG85MpLIMus^USEn5rMRz95;A3qRQx%nwl%=Yqn4CVi0_fg){i4Lm6d@F{dJla^2 zE)KGMKW1eWszl{hRR2AQ;9CZ=Fv(IG6C}IdO(&iPiRV;|KWseEHfS;Z8DwvTn|eG0 zOpE5azx4!xnQUQkQ;-FpBlB~U5H#n;nKNY=d)ef!j7mwp&RB#@1YA?B1UD-*`XOg> z${3D^_fh~~PvbAXrAc{w#h-bjK^BE}Y&33xqKMj0s zDpz?ke^Z0PRmIXgCOm^bKlh(DwGxDU_Q}umAYl$nZd`*@p5BH$uYMK^TWg`48Kip< z?`fO`!*^Qh{_tDD0t&;Ra|Zp@CvmixQC{YgSA?RmmiFu*3w-u=^g7hfsZ5vtM@)6P zxj{NyNACCs_i@`y4Q$9!)8BVw^pP1cM2FTvr9H*Ycx^%gUE&CX z|Bdp8-7Q!(roGQ6dbM*2ly@Ua=}2o7#=SBT=+5ka?g{!PCQ|MT$ap7CVc84Nv9<0l z4${4yNUy$-=yx>&FECP`x^T?_@{e)))M-?39`z#JN8vAmpd3gp^IM+FSU}6q$M}3a zbeXl_{vg8}e6;O6WIw|R?>R4e&V?^R3(xu}NV_vWQgTGPZQ2f&@!mJ3=y^ut=kAu2I-F-x)ImkjtK|){h%9o+7 zF&DsZ>))s*Z-dMf?a`obKr-cy2fsNlL$pUMB##G4o=T=AO!8iPWTEP1RF^pxx+jBl zaVfN%rBCYsy4A0u^ygp_(-8y1xD@)0F?BBD@2Q)RxyG2Xn8K_H`rb~VZ5jXe3i*iSmqPfdml#7EN}O@w>kzQ17cg30i)5}(rD+o|LcI2Q-?uEQSkAzJ}C5aX(ohw z_8feErX+ig0CBc$YF+#@v;VHXrF$sW??$ZGm4I0MVf}*z0l#}4f)F6$p||sOPw5-* z+f<%Z@$~Zep+BDsv3m)m{I-vvfvYGNjmQ#`Gjq;Zes!9kjriGAEGWg3@No*3W&8-y zrB`_qu1$47t2`W}&bjk264hYUCDZHUgBK*P@9^Ce=dh^qu!Vqigh#q5T4D5B`3LKGNdXcBuD5?7U&kx zp#TQLF-suC=ztMT5HUw(K&EgM39)JyiwrR0xe;f>K45k>J@rOfQX;sTirpIY?ari6 z-$2LFWqq1IY`cj0Jb5;vx)$Qont!8yujq{KZim3^v#@wC$l|vwn%YJ8yV5~}M3sk@ z_o`1XZ^VizfS{S=`$1n`Hhs4-&F|v2!Ycc<{%1eZs(+$<9i9L^S5kgH2-1(qHX*Ef zejYX;?3a+&v&D1=3)MnfW)>B7#k_Vsu*S+l`7p@si)?CeA<93o1F$S@mQzPfVxP4p zeavyItsr&>Ih-|8->n3z0;u`<1V5YF8viWSVaIEz-YTuX5aktp%w3B~e))9nxYT(I3m(>I}5zN} zE&rDy%6f}FzX&GUjQb2cUxeg0x|FW~4OQj)?{xPM#VRmjeT7&^7w3n{LV&nikRWSa z{#r1yb|xW4FB`E04e0Q#T!XcQSgZ0kg3pck=W5idSBEFetd@pW(E9`t&%n&?^P6B^ z?e&1f^G&V1?g!MS@=B3eum1Mi-Jw_k#Nv$YmwAP+ufZn>8K>L^P+XA6n)?HQVy4Ic z_+2XdIU~e+4PtSpCurc}xWiyAA=cb~tI+ZocV^gkpt7mY)A~q9sJo zuOZJI%ntB}AfLMpK0gHctgTNEcGZ2khXfxkLvGC-Mhx5*inYOrbqKL!TRc>s7T%KX z;}`9_>M5ls41yn-34V%#uNR6=Kt{3Z^(UsOHbjLI8h}`w4MD?fl=*=0BOzA39tPB= z^0=h+#NU8Z*I-!T7HjPRjtHV-_&0m7!$IE*2J6E?UF>Wi`=6s!)=keU{aHljifKkZ z8uT48A|Dlzt#WZ8Un1|};yG4Yi}kMn+f=j9 z*w-L1yEg0J1dR_Vnyh~f`dS*Sf33y&xQI1^|M45JWAr?{##d9Byai@cc?33D9}oKa z8LW@jVtqoyVl=aUp;JDc8jI=DNdd0Hzsc-G(6_~4cA^$Drnjko za!(1G(U9J3M^!=2KNy^=sCao|)}YgZG?)MJizt6@MeQndM$kNrR3hNx=X8)=Tq6?_ zFov+6jYJhHJqv_QZH|A=-nqx3F~O**&p!lBE;yTlo(*!o+2DM(mI}^^SX~UxbC>j< zP+J9mwh~0V8Zm`F7i4{(!TMZ?b@tpbh@hOOw|nVXb^a2Ot+n%fF!HlTsgJs zApWOZ{v&9P(T44b-X=SZ=zk+^R=J}53<&o)9KzRiao;q1*mZ*$bAbx|nJL%&Yecyq z3FM~hASU>iA?gJlSgSpO#tJQbSj*M=4kC9SeZ`6q(ec!3p_*Cl_ovanWoiWd-bdda z)+twfkCmnm*RT!0P}Ljd4OcpK%H`x4>Mjh zI?I^5g3UQA z8(Q;-!8plCH!m-*2Wu#Fyh9r%YFQ#yY={Q>?A*1eUk~bklRA;!JeHVDTPJF`)nSp5 zHl(<_R)cK%eyH9?b%)ppCf&;`{z)va>=??s$L~&~fJ+-%zN-Ev+IoY&KA449M(8&O z1MXk3J$Tnhy=S<|l48C}%h;4NN)J~}s`BsK6qtS-{Hh7$8*Ne0o`=2WTiXzArKsdX%cEH%$1El$!9BnxqZwzGQ_R0 zJm#}3YiblVRqtiys{E5qK|iHU)BA>X8X)3w2jVS%EnqKyv4O|dEH9V7pQgX)v+&LD zn%AR8e&->QeA@&yjxJ5tTZamAdRAmARc-S+$T>p~)xoG%?u_b?vRS;8&=dBdpcgzBx9u~$!WD|D%NLpwjz;5V(AsTZr1(hAI)&eBKH7OVB>L`_+i88=GT$})aa<%NM~Sq<#o94He7Sj z;(2;^mW&DGRWzi#%r2a}TH)^ll&BLroWA zm#ScaJ};?dn}GFc)~r?Y=GWx5Xxo~q)@lh!En7FwZ7T>yJNu}`%9HnY>-yePm~c?x znY0wGLk#7X>Y2{9Sh7sQnjj`X{eDZqwrB^JZp#WNR5;pE$38NERSf0lr=&Z0JpLzx zmR;+p>$sGmC_iLUS-v|{^JLMU*yy_U>?}-AX*rYf`D$`DmE}6>*|YJYM;)rD(EMRZ z0C%gS(1rp>9Y;|ed_5OKn~B(5*Fb!Y<%U+D0^h`C+FI7fI;k(@=!hv@TWZ!h1%u7? zE?t|{fL6C~)U{8+jC%;}J(HfL-P=%tmSQ%CuQQ)bmm)vgh}_LV`2uDPkJ3Wsus%OU z*LF8%`Rdv~#!~ie+6#CX&x(F+Vx)Mc2@DaE=Z|zF#f+vR>-OxXn3_;=5Z)?R!udO? zNwfiQ2lMIOjLK4@>pBKu6S7BhkxeIZtlWm#->T-6_nww%e*ymYX~S7`*Jb(0)SoSA z+M_6v5tyMpk2R*=O2%V#w!-ACODo#5PRn%kgTGa48odwa14u* zSUt{eO_c}YG93%yzoiW=`wIS5Z4_l~8^OT-D*P*H`MI?8m4Bw`j$Lh0M(wD=s-y zPBab0O3P4Ej>kKp26duJWZ3Zq{4x0=GF5c}a&SIwxa8Bcw}8A4{==PR%2U8O;W|aR z^E%4i!JPVo_-O#H?Mm)_$j!8_s680M!8L3J{2RKV*v`jgIDYDes@I*CadJ7`q3<4o zV|OwI z0fG3wA{I@%0YY`_t0?#MrPZ0x-Q)28)=wfi?_p{EQ4#tZ2@Xc!t^%2PZe)(#1y~0Z zO3lO+f^vXF7N~w*TRwow649zQ41g6U+SVSoJqkLxbTttlP)x~+;H6v(%y)ZJaR*nr zb0jh_AM@h_gN44Fyi0x_;oFDO?W^@n$FD=NgMto!JG64mFhwaIM(ej}euoS3W(}i@ z7t=CjX)OfuwPB*TDbNQ({s(|3uNQf8-UjN=uE(vG;j&ajf!{P-QU1I^CNmCe#d}A{ zWY)v~-3SW2ulXbIMZ_wE=ZwU)onPb9oV;*a4WU~W$%s!Ep(PZ_h`+<1G+IO?R)yLG zr;^BW0CD<`Mun#3*P7Z`Ma4kTG~KV;-zmmP_KHLPbeeW4O;=CR21ZqICe$(5@EJpU z^0DLgHY#}JScOh?jP8-gIqIaS9yrRFb|bosyLH5jag#?3oH}a;tgm$GJ!0mJF-5mb z9Xq0A;jMhqB-uVT#{H)2-FWL(6UIOQg4_L0`bInc&$&qjGZ@lfeUS~9)9PQO#L z$CBsYR)BTzrOUrMGOjT{P{CV8VsYpuIwQ}4Qdc~1STfYya(#53IF7#_xcO2zhOpc3X z#wEo!N#1VoR_OZ|^a0v`JbVpuSZq0xDw;fY;;k@k;{|$)hfe*FM?X_oXbw5 zy1U!b`;nelZ42uDB;3gQ8;yhAjw+pkOQ*WKbF~wAC39G8g4&2G$GZ}n--6|=TOHo- z%a+g1?ithTt#vPbaqg!a9Nh`{$op)C%U*VG&(d9JY#LN=4QA( zaVN#)NzfM9sBk>On{AXoI5t7MV58~bfrRA77=_&G*)U&$Y{tuu zI-Lqfyfr!%M!@|Z;R&vUWRIQcXCIn$;re<I}g4;>%fskS+FVXpp40&pW~oIkgxPrL3d_|{e1Ui z|AXyQ*B8HayfJFiVF9;wJlp??)?>ma=ttM?Yxn$lbV*puyVa-c8=h=+U#mM37ai#} zr~XRhrI&yo`lH^avNl}`?!V)Vt?x%)ja8H~0q^N)Ubd%6_m0#0y6#K5^=82SBjAt5 zjjQ+TlGjoXHrRUiLrv1&gMzEVXzx#fWUXHWW%NsFOJ%R>r4%?4=tP%Z)jLqpkw9nM zra`c3i^G{T)~M(+MMa-Ec9L1qY2lApE2VEs5BFV>WNT`AohxHktH}*|U6H@hkb(^; zXUw!|-14p%fim9EM_f6zy#u1tuZ&$-68HF(vD@CzeOJa-%!_>V%GfmxJSkVvV#fUR z{&X-rkWZh@kL*Z+w;YjIpFg>hE`@av3pg){T=Vj;W>L z30K$ehPtW#E9Z0Jze!io(Y9G}SBdMM8<}xs&gyo@l}m0Ds$mOU|2iKCr<3ov!_Zqj zf-ZUvev!%(?4x&a0)DUS34&ogi_DFPjhx+XP1yFN;fr!OW(*XIRq}k z?MBFDJTiUJCOVV8{8x8V<#nmyG-qLKvVSee<3+^h z4WCn4n(w-+qC{U*aft$XVLtk-bC{c%y;hWwN!M3~xv1rHHg~uf!VF0RH0`XWQ`L{U zjvJ$eE926yi3Yza{LqEs^=SE!Aw5c?%n8t=a3kSzIEurx;*QvihA+d*`i;bKxAZ}% zLD}I;w=M0HtuGE=T%doD7k=^5rAu_^f(~1ThaKTgE+Bp&sQoDp*YUO#@29n%WjxcW`+%o-92KYf{m)yeeQalNn>|J?@vPYnK_u8cF-W7II% zXHntrdUIy~?g`{;s>!}1m>yae-I#J0`t-t@k~csd1Pi4xT#PD86SzEItB+rpuph|2 zNW2LyVNT^^!xyRSVILJwjc&}T?#)ZhT$$%_sXfh<-89o?tEcvm^|Eqiw65*Z=#MAk z>o#bDsFFSVBzyKbmACOPVehi9Hv3y@u%8@ak6Xn7Us$4Z5;B1jQYNdkp~x4AVV+n8 zAsyz~oVMk8ny|>*4nk4ShWHho(wmy%=KZPZnKiX_o1v|FaJl?%SE*t&5~zS5s~{w> zgMH)~p4yNT7*hM9H1 zFH+gXJ~~tyEeiOynZ8UKJu=m$&Is{davD3LJv=Zb8J}HC@ZN^tec*Bn=&MrVz43t< zF3fz90vBd}P}|D~`bA-;UVoL&hbs5R*VXzU$tAc2!R1Szp4Z*6Sm>028;dTAp`$`M zi;)<&Qglej4);FYY9}`Ae@v`@&BQ!;Mq_wLr?X~^$-lZd*UUpzXE ze$ku4Y73{bzcf90^c7PhPoAx*+Mn|CY-!ZCp3NiL4vqX6nZuf`jM?>u%MGTFLZu(; zfor*}3h+cN>?*N0uh_0Di_YsyBbLSv8A@yZb){k7eCxligrWg4Z#9p3 zt8Jq{XXPw9rY_p1F50eQTxlN!CtAVT0<1QwDoMWU+}r3?mD0FHyDqi(@UDuOhqo0i z*)|FZwWtV%X>WgwP3vBBxeJ3e0kL@8Sb-lu(1~~?UWSqZS#H3q<7IU^1>BwFnI0Wi zcY{IpD%_h`Ir6D7R#U&TS{k{V+GCR~~ku7&qu<-r7r=%MRQ%E zCssn7Ua-%}F$6Y}X@w6nhRcYr(2ZN; zLz9%Z#->X78(%?w^F_SCm--fnS^q-@vUpgZ8vc)p@#zDF^<@c><>%d+v9+yh|>pIj$%5LX9|i7Kn^S zY*v=r0OHD$UpFkl&)Q_IT1OF{jsT>5iM6yhBQUN4epDRjZHM8jQNlc5THMY-)3T@Fg?at3<9S%0ACEL)vQYsehGh3VhSn9`PUA=C*C8M|H_+8$` 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%0A7HCm)!!{IeHN=RXcc${yO|z5!xtl(UIUJi<;6F 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

rw`d2lry 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

)1xO>BpqeEJj&z_uDktZ+@;9r-+!7e|x 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�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 P2My{ys>+d~ZI1Xaw{})! diff --git a/notes.txt b/notes.txt index 14da7cd3..e481bc7c 100644 --- a/notes.txt +++ b/notes.txt @@ -1,18 +1,9 @@ ********* * About * ********* -This version of the Source/Half-Life 2 SDK attempts to provide support for GCC 4.x and remove as many -warnings as possible when compiling under Windows or Linux. In addition, the -fpermissive option has -been removed from the Linux makefiles and -Wall has been added. +This version of the Source SDK is meant only for compiling server plugins for +the engine that runs Might and Magic: Dark Messiah Multiplayer. An official SDK +is not available and will likely never be released. -********* -* Notes * -********* -1. The file "Makefile.mod" located in the linux_sdk directory has been renamed to "Makefile.game" in - order to avoid potential conflicts with the Modula-2 compiler. GNU Make may issue an error about the - file with its original name and try to execute m2c (the Modula-2 compiler program). - -2. Makefiles for choreoobjects_i486.a, mathlib_i486.a, and tier1_i486.a have been added in the linux_sdk - directory to ease compiling of these static libraries on Linux if it ever becomes necessary. - -3. The SDK does not currently compile with GCC 4.2. This will be addressed in the future. +This is a modified version of the Episode One SDK. Changes to it were reverse +engineered from the Dark Messiah engine and game binaries. diff --git a/public/edict.h b/public/edict.h index 774401a0..6971611a 100644 --- a/public/edict.h +++ b/public/edict.h @@ -72,8 +72,6 @@ class IServerEntity; #define FL_EDICT_CHANGED (1<<0) // Game DLL sets this when the entity state changes - // Mutually exclusive with FL_EDICT_PARTIAL_CHANGE. - #define FL_EDICT_FREE (1<<1) // this edict if free for reuse #define FL_EDICT_FULL (1<<2) // this is a full server entity @@ -82,82 +80,10 @@ class IServerEntity; #define FL_EDICT_DONTSEND (1<<4) // don't transmit this entity #define FL_EDICT_PVSCHECK (1<<5) // always transmit entity, but cull against PVS -// Used by local network backdoor. -#define FL_EDICT_PENDING_DORMANT_CHECK (1<<6) - -// This is always set at the same time EFL_DIRTY_PVS_INFORMATION is set, but it -// gets cleared in a different place. -#define FL_EDICT_DIRTY_PVS_INFORMATION (1<<7) - -// This is used internally to edict_t to remember that it's carrying a -// "full change list" - all its properties might have changed their value. -#define FL_FULL_EDICT_CHANGED (1<<8) - - -// Max # of variable changes we'll track in an entity before we treat it -// like they all changed. -#define MAX_CHANGE_OFFSETS 19 -#define MAX_EDICT_CHANGE_INFOS 100 - - -class CEdictChangeInfo -{ -public: - // Edicts remember the offsets of properties that change - unsigned short m_ChangeOffsets[MAX_CHANGE_OFFSETS]; - unsigned short m_nChangeOffsets; -}; - -// Shared between engine and game DLL. -class CSharedEdictChangeInfo -{ -public: - CSharedEdictChangeInfo() - { - m_iSerialNumber = 1; - } - - // Matched against edict_t::m_iChangeInfoSerialNumber to determine if its - // change info is valid. - unsigned short m_iSerialNumber; - - CEdictChangeInfo m_ChangeInfos[MAX_EDICT_CHANGE_INFOS]; - unsigned short m_nChangeInfos; // How many are in use this frame. -}; -extern CSharedEdictChangeInfo *g_pSharedChangeInfo; - -class IChangeInfoAccessor -{ -public: - inline void SetChangeInfo( unsigned short info ) - { - m_iChangeInfo = info; - } - - inline void SetChangeInfoSerialNumber( unsigned short sn ) - { - m_iChangeInfoSerialNumber = sn; - } - - inline unsigned short GetChangeInfo() const - { - return m_iChangeInfo; - } - - inline unsigned short GetChangeInfoSerialNumber() const - { - return m_iChangeInfoSerialNumber; - } - -private: - unsigned short m_iChangeInfo; - unsigned short m_iChangeInfoSerialNumber; -}; //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- -// NOTE: YOU CAN'T CHANGE THE LAYOUT OR SIZE OF CBASEEDICT AND REMAIN COMPATIBLE WITH HL2_VC6!!!!! class CBaseEdict { public: @@ -183,24 +109,14 @@ public: bool HasStateChanged() const; void ClearStateChanged(); void StateChanged(); - void StateChanged( unsigned short offset ); void ClearTransmitState(); - - void SetChangeInfo( unsigned short info ); - void SetChangeInfoSerialNumber( unsigned short sn ); - unsigned short GetChangeInfo() const; - unsigned short GetChangeInfoSerialNumber() const; + public: // NOTE: this is in the edict instead of being accessed by a virtual because the engine needs fast access to it. - // NOTE: YOU CAN'T CHANGE THE LAYOUT OR SIZE OF CBASEEDICT AND REMAIN COMPATIBLE WITH HL2_VC6!!!!! -#ifdef _XBOX - unsigned short m_fStateFlags; -#else int m_fStateFlags; -#endif // NOTE: this is in the edict instead of being accessed by a virtual because the engine needs fast access to it. int m_NetworkSerialNumber; // Game DLL sets this when it gets a serial number for its EHANDLE. @@ -212,18 +128,6 @@ protected: IServerUnknown *m_pUnk; -public: - - IChangeInfoAccessor *GetChangeAccessor(); // The engine implements this and the game .dll implements as - const IChangeInfoAccessor *GetChangeAccessor() const; // The engine implements this and the game .dll implements as - // as callback through to the engine!!! - - // NOTE: YOU CAN'T CHANGE THE LAYOUT OR SIZE OF CBASEEDICT AND REMAIN COMPATIBLE WITH HL2_VC6!!!!! - // This breaks HL2_VC6!!!!! - // References a CEdictChangeInfo with a list of modified network props. - //unsigned short m_iChangeInfo; - //unsigned short m_iChangeInfoSerialNumber; - friend void InitializeEntityDLLFields( edict_t *pEdict ); }; @@ -253,73 +157,14 @@ inline bool CBaseEdict::HasStateChanged() const inline void CBaseEdict::ClearStateChanged() { - m_fStateFlags &= ~(FL_EDICT_CHANGED | FL_FULL_EDICT_CHANGED); - SetChangeInfoSerialNumber( 0 ); + m_fStateFlags &= ~FL_EDICT_CHANGED; } inline void CBaseEdict::StateChanged() { - // Note: this should only happen for properties in data tables that used some - // kind of pointer dereference. If the data is directly offsetable - m_fStateFlags |= (FL_EDICT_CHANGED | FL_FULL_EDICT_CHANGED); - SetChangeInfoSerialNumber( 0 ); -} - -inline void CBaseEdict::StateChanged( unsigned short offset ) -{ - if ( m_fStateFlags & FL_FULL_EDICT_CHANGED ) - return; - m_fStateFlags |= FL_EDICT_CHANGED; - - IChangeInfoAccessor *accessor = GetChangeAccessor(); - - if ( accessor->GetChangeInfoSerialNumber() == g_pSharedChangeInfo->m_iSerialNumber ) - { - // Ok, I still own this one. - CEdictChangeInfo *p = &g_pSharedChangeInfo->m_ChangeInfos[accessor->GetChangeInfo()]; - - // Now add this offset to our list of changed variables. - for ( unsigned short i=0; i < p->m_nChangeOffsets; i++ ) - if ( p->m_ChangeOffsets[i] == offset ) - return; - - if ( p->m_nChangeOffsets == MAX_CHANGE_OFFSETS ) - { - // Invalidate our change info. - accessor->SetChangeInfoSerialNumber( 0 ); - m_fStateFlags |= FL_FULL_EDICT_CHANGED; // So we don't get in here again. - } - else - { - p->m_ChangeOffsets[p->m_nChangeOffsets++] = offset; - } - } - else - { - if ( g_pSharedChangeInfo->m_nChangeInfos == MAX_EDICT_CHANGE_INFOS ) - { - // Shucks.. have to mark the edict as fully changed because we don't have room to remember this change. - accessor->SetChangeInfoSerialNumber( 0 ); - m_fStateFlags |= FL_FULL_EDICT_CHANGED; - } - else - { - // Get a new CEdictChangeInfo and fill it out. - accessor->SetChangeInfo( g_pSharedChangeInfo->m_nChangeInfos ); - g_pSharedChangeInfo->m_nChangeInfos++; - - accessor->SetChangeInfoSerialNumber( g_pSharedChangeInfo->m_iSerialNumber ); - - CEdictChangeInfo *p = &g_pSharedChangeInfo->m_ChangeInfos[accessor->GetChangeInfo()]; - p->m_ChangeOffsets[0] = offset; - p->m_nChangeOffsets = 1; - } - } } - - inline void CBaseEdict::SetFree() { m_fStateFlags |= FL_EDICT_FREE; @@ -381,25 +226,6 @@ inline const char * CBaseEdict::GetClassName() const return m_pNetworkable->GetClassName(); } -inline void CBaseEdict::SetChangeInfo( unsigned short info ) -{ - GetChangeAccessor()->SetChangeInfo( info ); -} - -inline void CBaseEdict::SetChangeInfoSerialNumber( unsigned short sn ) -{ - GetChangeAccessor()->SetChangeInfoSerialNumber( sn ); -} - -inline unsigned short CBaseEdict::GetChangeInfo() const -{ - return GetChangeAccessor()->GetChangeInfo(); -} - -inline unsigned short CBaseEdict::GetChangeInfoSerialNumber() const -{ - return GetChangeAccessor()->GetChangeInfoSerialNumber(); -} //----------------------------------------------------------------------------- // Purpose: The engine's internal representation of an entity, including some @@ -424,5 +250,4 @@ inline ICollideable *edict_t::GetCollideable() return NULL; } - #endif // EDICT_H diff --git a/public/eiface.h b/public/eiface.h index d9d7c679..322820e9 100644 --- a/public/eiface.h +++ b/public/eiface.h @@ -75,8 +75,11 @@ class CStandardSendProxies; abstract_class IVEngineServer { public: - // Tell engine to change level ( "changelevel s1\n" or "changelevel2 s1 s2\n" ) - virtual void ChangeLevel( const char *s1, const char *s2 ) = 0; + // Tell engine to change level. + // changelevel s1 (multiplayer) + // changelevel2 s1 s2 bLongLoading (single player) + // changelevel3 s1 s2 video bLongLoading (single player) + virtual void ChangeLevel( const char *s1, const char *s2, const char *video = NULL, bool bLongLoading = false ) = 0; // Ask engine whether the specified map is a valid map file (exists and has valid version number). virtual int IsMapValid( const char *filename ) = 0; @@ -87,6 +90,8 @@ public: // Is in Hammer editing mode? virtual int IsInEditMode( void ) = 0; + virtual bool Unknown0( void ) = 0; + // Add to the server/client lookup/precache table, the specified string is given a unique index // NOTE: The indices for PrecacheModel are 1 based // a 0 returned from those methods indicates the model or sound was not correctly precached @@ -119,6 +124,8 @@ public: // returns -1 if the edict couldn't be found in the list of players. virtual int GetPlayerUserId( const edict_t *e ) = 0; virtual const char *GetPlayerNetworkIDString( const edict_t *e ) = 0; + + virtual int Unknown1( void *a ) = 0; // Return the current number of used edict slots virtual int GetEntityCount( void ) = 0; @@ -137,6 +144,8 @@ public: // Remove the specified edict and place back into the free edict list virtual void RemoveEdict( edict_t *e ) = 0; + virtual void Unknown2( void *a ) = 0; + // Memory allocation for entity class data virtual void *PvAllocEntPrivateData( long cb ) = 0; virtual void FreeEntPrivateData( void *pEntity ) = 0; @@ -327,37 +336,13 @@ public: // than a bunch of individual SetAreaPortalState calls. virtual void SetAreaPortalStates( const int *portalNumbers, const int *isOpen, int nPortals ) = 0; - // Called when relevant edict state flags change. - virtual void NotifyEdictFlagsChange( int iEdict ) = 0; - - // Only valid during CheckTransmit. Also, only the PVS, networked areas, and - // m_pTransmitInfo are valid in the returned strucutre. - virtual const CCheckTransmitInfo* GetPrevCheckTransmitInfo( edict_t *pPlayerEdict ) = 0; - - virtual CSharedEdictChangeInfo* GetSharedEdictChangeInfo() = 0; - - // Tells the engine we can immdiately re-use all edict indices - // even though we may not have waited enough time - virtual void AllowImmediateEdictReuse( ) = 0; - - // Returns true if the engine is an internal build. i.e. is using the internal bugreporter. - virtual bool IsInternalBuild( void ) = 0; - - virtual IChangeInfoAccessor *GetChangeAccessor( const edict_t *pEdict ) = 0; - - // Call this to find out the value of a cvar on the client. - // - // It is an asynchronous query, and it will call IServerGameDLL::OnQueryCvarValueFinished when - // the value comes in from the client. - // - // Store the return value if you want to match this specific query to the OnQueryCvarValueFinished call. - // Returns InvalidQueryCvarCookie if the entity is invalid. - virtual QueryCvarCookie_t StartQueryCvarValue( edict_t *pPlayerEntity, const char *pName ) = 0; + virtual void Unknown3( void ) = 0; + virtual void *Unknown4( void *, void *) = 0; + virtual bool Unknown5( void ) = 0; + virtual void Unknown6( int ) = 0; }; -#define INTERFACEVERSION_SERVERGAMEDLL_VERSION_4 "ServerGameDLL004" -#define INTERFACEVERSION_SERVERGAMEDLL_VERSION_5 "ServerGameDLL005" -#define INTERFACEVERSION_SERVERGAMEDLL "ServerGameDLL006" +#define INTERFACEVERSION_SERVERGAMEDLL "ServerGameDLL004" //----------------------------------------------------------------------------- // Purpose: These are the interfaces that the game .dll exposes to the engine @@ -397,6 +382,9 @@ public: // Called once during DLL shutdown virtual void DLLShutdown( void ) = 0; + + virtual int Unknown0 ( void ) = 0; + virtual int Unknown1 ( void ) = 0; // Get the simulation interval (must be compiled with identical values into both client and game .dll for MOD!!!) // Right now this is only requested at server startup time so it can't be changed on the fly, etc. @@ -437,25 +425,16 @@ public: // Hand over the StandardSendProxies in the game DLL's module. virtual CStandardSendProxies* GetStandardSendProxies() = 0; + + virtual void Unknown2( int, int, int, int ) = 0; + virtual void Unknown3( void ) = 0; // Called once during startup for non-dedicated servers, after the game .dll has been loaded and after the client .dll has also been loaded virtual void PostInit() = 0; // Called once per frame even when no level is loaded... virtual void Think( bool finalTick ) = 0; - - virtual void GetSaveCommentEx( char *comment, int maxlength, float flMinutes, float flSeconds ) = 0; -#ifdef _XBOX - virtual void GetTitleName( const char *pMapName, char* pTitleBuff, int titleBuffSize ) = 0; -#endif - - // * This function is new with version 6 of the interface. - // - // This is called when a query from IVEngineServer::StartQueryCvarValue is finished. - // iCookie is the value returned by IVEngineServer::StartQueryCvarValue. - // Added with version 2 of the interface. - virtual void OnQueryCvarValueFinished( QueryCvarCookie_t iCookie, edict_t *pPlayerEntity, EQueryCvarValueStatus eStatus, const char *pCvarName, const char *pCvarValue ) - { - } + + virtual void Unknown4( void * ) = 0; }; //----------------------------------------------------------------------------- @@ -570,17 +549,6 @@ public: // Call periodically to poll steam for a CSER connection virtual void UpdateConnection( void ) = 0; - - // If user has disabled stats tracking, do nothing - virtual bool IsGameStatsLoggingEnabled() = 0; - - // Gets a non-personally identifiable unique ID for this steam user, used for tracking total gameplay time across - // multiple stats sessions, but isn't trackable back to their Steam account or id. - // Buffer should be 16 bytes, ID will come back as a hexadecimal string version of a GUID - virtual void GetPseudoUniqueId( char *buf, size_t bufsize ) = 0; - - // For determining general % of users running using cyber cafe accounts... - virtual bool IsCyberCafeUser( void ) = 0; }; #define INTERFACEVERSION_PLUGINHELPERSCHECK "PluginHelpersCheck001" diff --git a/public/engine/IEngineSound.h b/public/engine/IEngineSound.h index c6831ec6..a6499a9c 100644 --- a/public/engine/IEngineSound.h +++ b/public/engine/IEngineSound.h @@ -112,8 +112,6 @@ public: // Retrieves list of all active sounds virtual void GetActiveSounds( CUtlVector< SndInfo_t >& sndlist ) = 0; - - virtual void PrecacheSentenceGroup( const char *pGroupName ) = 0; }; diff --git a/public/engine/IEngineTrace.h b/public/engine/IEngineTrace.h index 1f376999..bf9783cc 100644 --- a/public/engine/IEngineTrace.h +++ b/public/engine/IEngineTrace.h @@ -141,11 +141,17 @@ public: // Traces a ray against a particular entity virtual void ClipRayToEntity( const Ray_t &ray, unsigned int fMask, IHandleEntity *pEnt, trace_t *pTrace ) = 0; + virtual void Unknown0( void *, void *, void *) = 0; + + virtual void Unknown1( void *, void *, void *, void *, void *, void *, void *) = 0; + // Traces a ray against a particular entity virtual void ClipRayToCollideable( const Ray_t &ray, unsigned int fMask, ICollideable *pCollide, trace_t *pTrace ) = 0; // A version that simply accepts a ray (can work as a traceline or tracehull) virtual void TraceRay( const Ray_t &ray, unsigned int fMask, ITraceFilter *pTraceFilter, trace_t *pTrace ) = 0; + + virtual void Unknown2( void *, void *, void *, void *, void *) = 0; // A version that sets up the leaf and entity lists and allows you to pass those in for collision. virtual void SetupLeafAndEntityListRay( const Ray_t &ray, CTraceListData &traceData ) = 0; @@ -165,6 +171,8 @@ public: // Same thing, but enumerate entitys within a box virtual void EnumerateEntities( const Vector &vecAbsMins, const Vector &vecAbsMaxs, IEntityEnumerator *pEnumerator ) = 0; + virtual int Unknown3( void ) = 0; + // Convert a handle entity to a collideable. Useful inside enumer virtual ICollideable *GetCollideable( IHandleEntity *pEntity ) = 0; diff --git a/public/engine/iserverplugin.h b/public/engine/iserverplugin.h index 699b1dcb..8e6a70db 100644 --- a/public/engine/iserverplugin.h +++ b/public/engine/iserverplugin.h @@ -28,19 +28,7 @@ typedef enum PLUGIN_STOP, // don't run the game dll function at all } PLUGIN_RESULT; -typedef enum -{ - eQueryCvarValueStatus_ValueIntact=0, // It got the value fine. - eQueryCvarValueStatus_CvarNotFound=1, - eQueryCvarValueStatus_NotACvar=2, // There's a ConCommand, but it's not a ConVar. - eQueryCvarValueStatus_CvarProtected=3 // The cvar was marked with FCVAR_SERVER_CAN_NOT_QUERY, so the server is not allowed to have its value. -} EQueryCvarValueStatus; - -typedef int QueryCvarCookie_t; - -#define InvalidQueryCvarCookie -1 -#define INTERFACEVERSION_ISERVERPLUGINCALLBACKS_VERSION_1 "ISERVERPLUGINCALLBACKS001" -#define INTERFACEVERSION_ISERVERPLUGINCALLBACKS "ISERVERPLUGINCALLBACKS002" +#define INTERFACEVERSION_ISERVERPLUGINCALLBACKS "ISERVERPLUGINCALLBACKS001" //----------------------------------------------------------------------------- // Purpose: callbacks the engine exposes to the 3rd party plugins (ala MetaMod) //----------------------------------------------------------------------------- @@ -99,13 +87,6 @@ public: // A user has had their network id setup and validated virtual PLUGIN_RESULT NetworkIDValidated( const char *pszUserName, const char *pszNetworkID ) = 0; - - // This is called when a query from IServerPluginHelpers::StartQueryCvarValue is finished. - // iCookie is the value returned by IServerPluginHelpers::StartQueryCvarValue. - // Added with version 2 of the interface. - virtual void OnQueryCvarValueFinished( QueryCvarCookie_t iCookie, edict_t *pPlayerEntity, EQueryCvarValueStatus eStatus, const char *pCvarName, const char *pCvarValue ) - { - } }; #define INTERFACEVERSION_ISERVERPLUGINHELPERS "ISERVERPLUGINHELPERS001" @@ -139,15 +120,6 @@ public: // virtual void CreateMessage( edict_t *pEntity, DIALOG_TYPE type, KeyValues *data, IServerPluginCallbacks *plugin ) = 0; virtual void ClientCommand( edict_t *pEntity, const char *cmd ) = 0; - - // Call this to find out the value of a cvar on the client. - // - // It is an asynchronous query, and it will call IServerPluginCallbacks::OnQueryCvarValueFinished when - // the value comes in from the client. - // - // Store the return value if you want to match this specific query to the OnQueryCvarValueFinished call. - // Returns InvalidQueryCvarCookie if the entity is invalid. - virtual QueryCvarCookie_t StartQueryCvarValue( edict_t *pEntity, const char *pName ) = 0; }; #endif //ISERVERPLUGIN_H diff --git a/public/engine/ivmodelinfo.h b/public/engine/ivmodelinfo.h index b55403be..19ab31a5 100644 --- a/public/engine/ivmodelinfo.h +++ b/public/engine/ivmodelinfo.h @@ -99,10 +99,6 @@ public: // Gets a virtual terrain collision model (creates if necessary) // NOTE: This may return NULL if the terrain model cannot be virtualized virtual CPhysCollide *GetCollideForVirtualTerrain( const virtualterrainparams_t ¶ms ) = 0; - - virtual bool IsUsingFBTexture( const model_t *model ) const = 0; - - virtual const model_t *FindOrLoadModel( const char *name ) const = 0; }; diff --git a/public/filesystem.h b/public/filesystem.h index 0029f332..f37b2e18 100644 --- a/public/filesystem.h +++ b/public/filesystem.h @@ -32,6 +32,10 @@ typedef int FileFindHandle_t; typedef void (*FileSystemLoggingFunc_t)( const char *fileName, const char *accessType ); typedef int WaitForResourcesHandle_t; +// The handle is a CUtlSymbol for the dirname and the same for the filename, the accessor +// copies them into a static char buffer for return. +typedef void* FileNameHandle_t; + #ifdef _XBOX typedef void* HANDLE; @@ -86,104 +90,6 @@ enum FileWarningLevel_t }; -// In non-retail builds, enable the file blocking access tracking stuff... -#if defined( TRACK_BLOCKING_IO ) -enum FileBlockingWarning_t -{ - // Report how long synchronous i/o took to complete - FILESYSTEM_BLOCKING_SYNCHRONOUS = 0, - // Report how long async i/o took to complete if AsyncFileFinished caused it to load via "blocking" i/o - FILESYSTEM_BLOCKING_ASYNCHRONOUS_BLOCK, - // Report how long async i/o took to complete - FILESYSTEM_BLOCKING_ASYNCHRONOUS, - // Report how long the async "callback" took - FILESYSTEM_BLOCKING_CALLBACKTIMING, - - FILESYSTEM_BLOCKING_NUMBINS, -}; - -#pragma pack(1) -class FileBlockingItem -{ -public: - enum - { - FB_ACCESS_OPEN = 1, - FB_ACCESS_CLOSE = 2, - FB_ACCESS_READ = 3, - FB_ACCESS_WRITE = 4, - FB_ACCESS_APPEND = 5, - FB_ACCESS_SIZE = 6 - }; - - FileBlockingItem() : - m_ItemType( (FileBlockingWarning_t)0 ), - m_flElapsed( 0.0f ), - m_nAccessType( 0 ) - { - SetFileName( NULL ); - } - - FileBlockingItem( int type, char const *filename, float elapsed, int accessType ) : - m_ItemType( (FileBlockingWarning_t)type ), - m_flElapsed( elapsed ), - m_nAccessType( accessType ) - { - SetFileName( filename ); - } - - void SetFileName( char const *filename ) - { - if ( !filename ) - { - m_szFilename[ 0 ] = 0; - return; - } - - int len = Q_strlen( filename ); - if ( len >= sizeof( m_szFilename ) ) - { - Q_strncpy( m_szFilename, &filename[ len - sizeof( m_szFilename ) + 1 ], sizeof( m_szFilename ) ); - } - else - { - Q_strncpy( m_szFilename, filename, sizeof( m_szFilename ) ); - } - } - - char const *GetFileName() const - { - return m_szFilename; - } - - FileBlockingWarning_t m_ItemType; - float m_flElapsed; - byte m_nAccessType; -private: - - char m_szFilename[ 32 ]; -}; -#pragma pack() - -class IBlockingFileItemList -{ -public: - - // You can't call any of the below calls without locking first - virtual void LockMutex() = 0; - virtual void UnlockMutex() = 0; - - virtual int First() const = 0; - virtual int Next( int i ) const = 0; - virtual int InvalidIndex() const = 0; - - virtual const FileBlockingItem& Get( int index ) const = 0; - - virtual void Reset() = 0; -}; - -#endif // TRACK_BLOCKING_IO - enum FilesystemMountRetval_t { FILESYSTEM_MOUNT_OK = 0, @@ -196,11 +102,6 @@ enum SearchPathAdd_t PATH_ADD_TO_TAIL, // Last path searched }; -enum FilesystemOpenExFlags_t -{ - FSOPEN_UNBUFFERED = ( 1 << 0 ), -}; - #define FILESYSTEM_INVALID_HANDLE ( FileHandle_t )0 //----------------------------------------------------------------------------- @@ -554,77 +455,6 @@ public: // Returns the file system statistics retreived by the implementation. Returns NULL if not supported. virtual const FileSystemStatistics *GetFilesystemStatistics() = 0; - - //-------------------------------------------------------- - // Start of new functions after Lost Coast release (7/05) - //-------------------------------------------------------- - - virtual FileHandle_t OpenEx( const char *pFileName, const char *pOptions, unsigned flags = 0, const char *pathID = 0, char **ppszResolvedFilename = NULL ) = 0; - - // Extended version of read provides more context to allow for more optimal reading - virtual int ReadEx( void* pOutput, int sizeDest, int size, FileHandle_t file ) = 0; - virtual int ReadFileEx( const char *pFileName, const char *pPath, void **ppBuf, bool bNullTerminate = false, bool bOptimalAlloc = false, int nMaxBytes = 0, int nStartingByte = 0, FSAllocFunc_t pfnAlloc = NULL ) = 0; - - virtual FileNameHandle_t FindFileName( char const *pFileName ) = 0; - -#if defined( TRACK_BLOCKING_IO ) - virtual void EnableBlockingFileAccessTracking( bool state ) = 0; - virtual bool IsBlockingFileAccessEnabled() const = 0; - - virtual IBlockingFileItemList *RetrieveBlockingFileAccessInfo() = 0; -#endif - - virtual void PurgePreloadedData() = 0; - virtual void PreloadData() = 0; - - // Fixme, we could do these via a string embedded into the compiled data, etc... - enum KeyValuesPreloadType_t - { - TYPE_VMT, - TYPE_SOUNDEMITTER, - TYPE_SOUNDSCAPE, - - NUM_PRELOAD_TYPES - }; - - virtual void LoadCompiledKeyValues( KeyValuesPreloadType_t type, char const *archiveFile ) = 0; - - // If the "PreloadedData" hasn't been purged, then this'll try and instance the KeyValues using the fast path of compiled keyvalues loaded during startup. - // Otherwise, it'll just fall through to the regular KeyValues loading routines - virtual KeyValues *LoadKeyValues( KeyValuesPreloadType_t type, char const *filename, char const *pPathID = 0 ) = 0; - virtual bool LoadKeyValues( KeyValues& head, KeyValuesPreloadType_t type, char const *filename, char const *pPathID = 0 ) = 0; - virtual bool ExtractRootKeyName( KeyValuesPreloadType_t type, char *outbuf, size_t bufsize, char const *filename, char const *pPathID = 0 ) = 0; - - virtual FSAsyncStatus_t AsyncWrite(const char *pFileName, const void *pSrc, int nSrcBytes, bool bFreeMemory, bool bAppend = false, FSAsyncControl_t *pControl = NULL ) = 0; - // Async read functions with memory blame - FSAsyncStatus_t AsyncReadCreditAlloc( const FileAsyncRequest_t &request, const char *pszFile, int line, FSAsyncControl_t *phControl = NULL ) { return AsyncReadMultipleCreditAlloc( &request, 1, pszFile, line, phControl ); } - virtual FSAsyncStatus_t AsyncReadMultipleCreditAlloc( const FileAsyncRequest_t *pRequests, int nRequests, const char *pszFile, int line, FSAsyncControl_t *phControls = NULL ) = 0; - - virtual bool GetFileTypeForFullPath( char const *pFullPath, wchar_t *buf, size_t bufSizeInBytes ) = 0; - - //-------------------------------------------------------- - //-------------------------------------------------------- - virtual bool ReadToBuffer( FileHandle_t hFile, CUtlBuffer &buf, int nMaxBytes = 0, FSAllocFunc_t pfnAlloc = NULL ) = 0; - - //-------------------------------------------------------- - // Optimal IO operations - //-------------------------------------------------------- - virtual bool GetOptimalIOConstraints( FileHandle_t hFile, unsigned *pOffsetAlign, unsigned *pSizeAlign, unsigned *pBufferAlign ) = 0; - inline unsigned GetOptimalReadSize( FileHandle_t hFile, unsigned nLogicalSize ); - virtual void *AllocOptimalReadBuffer( FileHandle_t hFile, unsigned nSize = 0, unsigned nOffset = 0 ) = 0; - virtual void FreeOptimalReadBuffer( void * ) = 0; - - //-------------------------------------------------------- - // - //-------------------------------------------------------- - virtual void BeginMapAccess() = 0; - virtual void EndMapAccess() = 0; - - // Returns true on success, otherwise false if it can't be resolved - virtual bool FullPathToRelativePathEx( const char *pFullpath, const char *pPathId, char *pRelative, int maxlen ) = 0; - - virtual int GetPathIndex( const FileNameHandle_t &handle ) = 0; - virtual long GetPathTime( const char *pPath, const char *pPathID ) = 0; }; //----------------------------------------------------------------------------- @@ -662,19 +492,6 @@ private: //----------------------------------------------------------------------------- -inline unsigned IFileSystem::GetOptimalReadSize( FileHandle_t hFile, unsigned nLogicalSize ) -{ - unsigned align; - if ( IsPC() && GetOptimalIOConstraints( hFile, &align, NULL, NULL ) ) - return AlignValue( nLogicalSize, align ); - else if ( IsXbox() ) - return AlignValue( nLogicalSize, 512 ); - else - return nLogicalSize; -} - -//----------------------------------------------------------------------------- - // We include this here so it'll catch compile errors in VMPI early. #include "filesystem_passthru.h" diff --git a/public/filesystem_passthru.h b/public/filesystem_passthru.h index b5c9b19d..a3d6bfb4 100644 --- a/public/filesystem_passthru.h +++ b/public/filesystem_passthru.h @@ -139,7 +139,6 @@ public: virtual void AddLoggingFunc( void (*pfnLogFunc)( const char *fileName, const char *accessType ) ){ m_pFileSystemPassThru->AddLoggingFunc( pfnLogFunc ); } virtual void RemoveLoggingFunc( FileSystemLoggingFunc_t logFunc ) { m_pFileSystemPassThru->RemoveLoggingFunc( logFunc ); } virtual FSAsyncStatus_t AsyncReadMultiple( const FileAsyncRequest_t *pRequests, int nRequests, FSAsyncControl_t *pControls ) { return m_pFileSystemPassThru->AsyncReadMultiple( pRequests, nRequests, pControls ); } - virtual FSAsyncStatus_t AsyncReadMultipleCreditAlloc( const FileAsyncRequest_t *pRequests, int nRequests, const char *pszFile, int line, FSAsyncControl_t *pControls ) { return m_pFileSystemPassThru->AsyncReadMultipleCreditAlloc( pRequests, nRequests, pszFile, line, pControls ); } virtual FSAsyncStatus_t AsyncFinish(FSAsyncControl_t hControl, bool wait) { return m_pFileSystemPassThru->AsyncFinish( hControl, wait ); } virtual FSAsyncStatus_t AsyncGetResult( FSAsyncControl_t hControl, void **ppData, int *pSize ) { return m_pFileSystemPassThru->AsyncGetResult( hControl, ppData, pSize ); } virtual FSAsyncStatus_t AsyncAbort(FSAsyncControl_t hControl) { return m_pFileSystemPassThru->AsyncAbort( hControl ); } @@ -158,7 +157,6 @@ public: virtual bool IsFileImmediatelyAvailable(const char *pFileName) { return m_pFileSystemPassThru->IsFileImmediatelyAvailable( pFileName ); } virtual void GetLocalCopy( const char *pFileName ) { m_pFileSystemPassThru->GetLocalCopy( pFileName ); } virtual FileNameHandle_t FindOrAddFileName( char const *pFileName ) { return m_pFileSystemPassThru->FindOrAddFileName( pFileName ); } - virtual FileNameHandle_t FindFileName( char const *pFileName ) { return m_pFileSystemPassThru->FindFileName( pFileName ); } virtual bool String( const FileNameHandle_t& handle, char *buf, int buflen ) { return m_pFileSystemPassThru->String( handle, buf, buflen ); } virtual bool IsOk2( FileHandle_t file ) { return IsOk(file); } virtual void RemoveSearchPaths( const char *szPathID ) { m_pFileSystemPassThru->RemoveSearchPaths( szPathID ); } @@ -173,7 +171,6 @@ public: virtual void MarkPathIDByRequestOnly( const char *pPathID, bool bRequestOnly ) { m_pFileSystemPassThru->MarkPathIDByRequestOnly( pPathID, bRequestOnly ); } virtual bool AddPackFile( const char *fullpath, const char *pathID ) { return m_pFileSystemPassThru->AddPackFile( fullpath, pathID ); } virtual FSAsyncStatus_t AsyncAppend(const char *pFileName, const void *pSrc, int nSrcBytes, bool bFreeMemory, FSAsyncControl_t *pControl ) { return m_pFileSystemPassThru->AsyncAppend( pFileName, pSrc, nSrcBytes, bFreeMemory, pControl); } - virtual FSAsyncStatus_t AsyncWrite(const char *pFileName, const void *pSrc, int nSrcBytes, bool bFreeMemory, bool bAppend, FSAsyncControl_t *pControl ) { return m_pFileSystemPassThru->AsyncWrite( pFileName, pSrc, nSrcBytes, bFreeMemory, bAppend, pControl); } virtual FSAsyncStatus_t AsyncAppendFile(const char *pDestFileName, const char *pSrcFileName, FSAsyncControl_t *pControl ) { return m_pFileSystemPassThru->AsyncAppendFile(pDestFileName, pSrcFileName, pControl); } virtual void AsyncFinishAll( int iToPriority ) { m_pFileSystemPassThru->AsyncFinishAll(iToPriority); } virtual void AsyncFinishAllWrites() { m_pFileSystemPassThru->AsyncFinishAllWrites(); } @@ -183,41 +180,6 @@ public: virtual const char *RelativePathToFullPath( const char *pFileName, const char *pPathID, char *pLocalPath, int localPathBufferSize ) { return m_pFileSystemPassThru->RelativePathToFullPath( pFileName, pPathID, pLocalPath, localPathBufferSize ); } virtual int GetSearchPath( const char *pathID, bool bGetPackFiles, char *pPath, int nMaxLen ) { return m_pFileSystemPassThru->GetSearchPath( pathID, bGetPackFiles, pPath, nMaxLen ); } - virtual FileHandle_t OpenEx( const char *pFileName, const char *pOptions, unsigned flags = 0, const char *pathID = 0, char **ppszResolvedFilename = NULL ) { return m_pFileSystemPassThru->OpenEx( pFileName, pOptions, flags, pathID, ppszResolvedFilename );} - virtual int ReadEx( void* pOutput, int destSize, int size, FileHandle_t file ) { return m_pFileSystemPassThru->ReadEx( pOutput, destSize, size, file ); } - virtual int ReadFileEx( const char *pFileName, const char *pPath, void **ppBuf, bool bNullTerminate, bool bOptimalAlloc, int nMaxBytes = 0, int nStartingByte = 0, FSAllocFunc_t pfnAlloc = NULL ) { return m_pFileSystemPassThru->ReadFileEx( pFileName, pPath, ppBuf, bNullTerminate, bOptimalAlloc, nMaxBytes, nStartingByte, pfnAlloc ); } - -#if defined( TRACK_BLOCKING_IO ) - virtual void EnableBlockingFileAccessTracking( bool state ) { m_pFileSystemPassThru->EnableBlockingFileAccessTracking( state ); } - virtual bool IsBlockingFileAccessEnabled() const { return m_pFileSystemPassThru->IsBlockingFileAccessEnabled(); } - - virtual IBlockingFileItemList *RetrieveBlockingFileAccessInfo() { return m_pFileSystemPassThru->RetrieveBlockingFileAccessInfo(); } -#endif - virtual void PurgePreloadedData() {} - virtual void PreloadData() {} - - virtual void LoadCompiledKeyValues( KeyValuesPreloadType_t type, char const *archiveFile ) { m_pFileSystemPassThru->LoadCompiledKeyValues( type, archiveFile ); } - - // If the "PreloadedData" hasn't been purged, then this'll try and instance the KeyValues using the fast path of compiled keyvalues loaded during startup. - // Otherwise, it'll just fall through to the regular KeyValues loading routines - virtual KeyValues *LoadKeyValues( KeyValuesPreloadType_t type, char const *filename, char const *pPathID = 0 ) { return m_pFileSystemPassThru->LoadKeyValues( type, filename, pPathID ); } - virtual bool LoadKeyValues( KeyValues& head, KeyValuesPreloadType_t type, char const *filename, char const *pPathID = 0 ) { return m_pFileSystemPassThru->LoadKeyValues( head, type, filename, pPathID ); } - virtual bool ExtractRootKeyName( KeyValuesPreloadType_t type, char *outbuf, size_t bufsize, char const *filename, char const *pPathID = 0 ) { return m_pFileSystemPassThru->ExtractRootKeyName( type, outbuf, bufsize, filename, pPathID ); } - - virtual bool GetFileTypeForFullPath( char const *pFullPath, wchar_t *buf, size_t bufSizeInBytes ) { return m_pFileSystemPassThru->GetFileTypeForFullPath( pFullPath, buf, bufSizeInBytes ); } - - virtual bool GetOptimalIOConstraints( FileHandle_t hFile, unsigned *pOffsetAlign, unsigned *pSizeAlign, unsigned *pBufferAlign ) { return m_pFileSystemPassThru->GetOptimalIOConstraints( hFile, pOffsetAlign, pSizeAlign, pBufferAlign ); } - virtual void *AllocOptimalReadBuffer( FileHandle_t hFile, unsigned nSize, unsigned nOffset ) { return m_pFileSystemPassThru->AllocOptimalReadBuffer( hFile, nOffset, nSize ); } - virtual void FreeOptimalReadBuffer( void *p ) { m_pFileSystemPassThru->FreeOptimalReadBuffer( p ); } - - virtual void BeginMapAccess() { m_pFileSystemPassThru->BeginMapAccess(); } - virtual void EndMapAccess() { m_pFileSystemPassThru->EndMapAccess(); } - - virtual bool ReadToBuffer( FileHandle_t hFile, CUtlBuffer &buf, int nMaxBytes = 0, FSAllocFunc_t pfnAlloc = NULL ) { return m_pFileSystemPassThru->ReadToBuffer( hFile, buf, nMaxBytes, pfnAlloc ); } - virtual bool FullPathToRelativePathEx( const char *pFullPath, const char *pPathId, char *pRelative, int nMaxLen ) { return m_pFileSystemPassThru->FullPathToRelativePathEx( pFullPath, pPathId, pRelative, nMaxLen ); } - virtual int GetPathIndex( const FileNameHandle_t &handle ) { return m_pFileSystemPassThru->GetPathIndex( handle ); } - virtual long GetPathTime( const char *pPath, const char *pPathID ) { return m_pFileSystemPassThru->GetPathTime( pPath, pPathID ); } - protected: IFileSystem *m_pFileSystemPassThru; }; diff --git a/public/iservernetworkable.h b/public/iservernetworkable.h index 0faa97aa..c5b3f5e7 100644 --- a/public/iservernetworkable.h +++ b/public/iservernetworkable.h @@ -83,6 +83,8 @@ class IServerNetworkable public: // Gets at the entity handle associated with the collideable virtual IHandleEntity *GetEntityHandle() = 0; + + virtual void *Unknown() = 0; // Tell the engine which class this object is. virtual ServerClass* GetServerClass() = 0; diff --git a/public/tier1/utldict.h b/public/tier1/utldict.h index fa6fc8e3..3522212d 100644 --- a/public/tier1/utldict.h +++ b/public/tier1/utldict.h @@ -1,4 +1,4 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======// +//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: A dictionary mapping from symbol to structure // @@ -14,12 +14,9 @@ #endif #include "tier0/dbg.h" -#include "tier1/utlmap.h" +#include "utlrbtree.h" +#include "utlsymbol.h" -// Include this because tons of code was implicitly getting utlsymbol or utlvector via utldict.h -#include "tier1/utlsymbol.h" - -#include "tier0/memdbgon.h" //----------------------------------------------------------------------------- // A dictionary mapping from symbol to structure @@ -33,8 +30,6 @@ public: // at each increment. CUtlDict( bool caseInsensitive = true, int growSize = 0, int initSize = 0 ); ~CUtlDict( ); - - void EnsureCapacity( int ); // gets particular elements T& Element( I i ); @@ -78,38 +73,44 @@ public: I Next( I i ) const; protected: - typedef CUtlMap DictElementMap_t; - DictElementMap_t m_Elements; + struct DictElement_t + { + CUtlSymbol m_Name; + T m_Data; + }; + + static bool DictLessFunc( const DictElement_t &src1, const DictElement_t &src2 ); + typedef CUtlRBTree< DictElement_t, I > DictElementMap_t; + + DictElementMap_t m_Elements; + mutable CUtlSymbolTable m_SymbolTable; }; +//----------------------------------------------------------------------------- +// less function +//----------------------------------------------------------------------------- +template +bool CUtlDict::DictLessFunc( const DictElement_t &src1, const DictElement_t &src2 ) +{ + return src1.m_Name < src2.m_Name; +} + + //----------------------------------------------------------------------------- // constructor, destructor //----------------------------------------------------------------------------- template -CUtlDict::CUtlDict( bool caseInsensitive, int growSize, int initSize ) : m_Elements( growSize, initSize ) +CUtlDict::CUtlDict( bool caseInsensitive, int growSize, int initSize ) : m_Elements( growSize, initSize, DictLessFunc ), + m_SymbolTable( growSize, initSize, caseInsensitive ) { - if ( caseInsensitive ) - { - m_Elements.SetLessFunc( CaselessStringLessThan ); - } - else - { - m_Elements.SetLessFunc( StringLessThan ); - } } template CUtlDict::~CUtlDict() { - Purge(); } -template -inline void CUtlDict::EnsureCapacity( int num ) -{ - return m_Elements.EnsureCapacity( num ); -} //----------------------------------------------------------------------------- // gets particular elements @@ -117,13 +118,13 @@ inline void CUtlDict::EnsureCapacity( int num ) template inline T& CUtlDict::Element( I i ) { - return m_Elements[i]; + return m_Elements[i].m_Data; } template inline const T& CUtlDict::Element( I i ) const { - return m_Elements[i]; + return m_Elements[i].m_Data; } //----------------------------------------------------------------------------- @@ -132,13 +133,13 @@ inline const T& CUtlDict::Element( I i ) const template inline char *CUtlDict::GetElementName( I i ) { - return (char *)m_Elements.Key( i ); + return (char *)( m_SymbolTable.String( m_Elements[ i ].m_Name ) ); } template inline char const *CUtlDict::GetElementName( I i ) const { - return m_Elements.Key( i ); + return m_SymbolTable.String( m_Elements[ i ].m_Name ); } template @@ -156,12 +157,11 @@ inline const T & CUtlDict::operator[]( I i ) const template inline void CUtlDict::SetElementName( I i, char const *pName ) { - MEM_ALLOC_CREDIT_CLASS(); // TODO: This makes a copy of the old element // TODO: This relies on the rb tree putting the most recently // removed element at the head of the insert list - free( (void *)m_Elements.Key( i ) ); - m_Elements.Reinsert( strdup( pName ), i ); + m_Elements[ i ].m_Name = m_SymbolTable.AddString( pName ); + m_Elements.Reinsert( i ); } //----------------------------------------------------------------------------- @@ -200,7 +200,6 @@ inline I CUtlDict::InvalidIndex() template void CUtlDict::RemoveAt(I elem) { - free( (void *)m_Elements.Key( elem ) ); m_Elements.RemoveAt(elem); } @@ -212,9 +211,7 @@ template void CUtlDict::Remove( const char *search ) { I node = Find( search ); if (node != InvalidIndex()) - { RemoveAt(node); - } } @@ -224,20 +221,13 @@ template void CUtlDict::Remove( const char *search ) template void CUtlDict::RemoveAll() { - typename DictElementMap_t::IndexType_t index = m_Elements.FirstInorder(); - while ( index != m_Elements.InvalidIndex() ) - { - free( (void *)m_Elements.Key( index ) ); - index = m_Elements.NextInorder( index ); - } - m_Elements.RemoveAll(); } template void CUtlDict::Purge() { - RemoveAll(); + m_Elements.RemoveAll(); } @@ -248,8 +238,7 @@ void CUtlDict::PurgeAndDeleteElements() I index = m_Elements.FirstInorder(); while ( index != m_Elements.InvalidIndex() ) { - free( (void *)m_Elements.Key( index ) ); - delete m_Elements[index]; + delete m_Elements[index].m_Data; index = m_Elements.NextInorder( index ); } @@ -263,15 +252,20 @@ void CUtlDict::PurgeAndDeleteElements() template I CUtlDict::Insert( const char *pName, const T &element ) { - MEM_ALLOC_CREDIT_CLASS(); - return m_Elements.Insert( strdup( pName ), element ); + DictElement_t elem; + elem.m_Name = m_SymbolTable.AddString( pName ); + I idx = m_Elements.Insert( elem ); + m_Elements[idx].m_Data = element; + return idx; } template I CUtlDict::Insert( const char *pName ) { - MEM_ALLOC_CREDIT_CLASS(); - return m_Elements.Insert( strdup( pName ) ); + DictElement_t elem; + elem.m_Name = m_SymbolTable.AddString( pName ); + I idx = m_Elements.Insert( elem ); + return idx; } @@ -281,11 +275,10 @@ I CUtlDict::Insert( const char *pName ) template I CUtlDict::Find( const char *pName ) const { - MEM_ALLOC_CREDIT_CLASS(); - if ( pName ) - return m_Elements.Find( pName ); - else - return InvalidIndex(); + DictElement_t elem; + elem.m_Name = m_SymbolTable.AddString( pName ); + + return m_Elements.Find( elem ); } @@ -304,6 +297,4 @@ I CUtlDict::Next( I i ) const return m_Elements.NextInorder(i); } -#include "tier0/memdbgoff.h" - #endif // UTLDICT_H diff --git a/public/tier1/utlmap.h b/public/tier1/utlmap.h index 5df4a2d8..a498930b 100644 --- a/public/tier1/utlmap.h +++ b/public/tier1/utlmap.h @@ -19,8 +19,8 @@ //----------------------------------------------------------------------------- // // Purpose: An associative container. Pretty much identical to std::map. +// Note this class is not thread safe // -//----------------------------------------------------------------------------- template class CUtlMap @@ -39,17 +39,17 @@ public: // at each increment. // LessFunc_t is required, but may be set after the constructor using SetLessFunc() below CUtlMap( int growSize = 0, int initSize = 0, LessFunc_t lessfunc = 0 ) - : m_Tree( growSize, initSize, CKeyLess( lessfunc ) ) + : m_Tree( growSize, initSize, TreeLessFunc ) { + m_pfnLess = lessfunc; } CUtlMap( LessFunc_t lessfunc ) - : m_Tree( CKeyLess( lessfunc ) ) + : m_Tree( TreeLessFunc ) { + m_pfnLess = lessfunc; } - void EnsureCapacity( int num ) { m_Tree.EnsureCapacity( num ); } - // gets particular elements ElemType_t & Element( IndexType_t i ) { return m_Tree.Element( i ).elem; } const ElemType_t & Element( IndexType_t i ) const { return m_Tree.Element( i ).elem; } @@ -77,7 +77,7 @@ public: // Sets the less func void SetLessFunc( LessFunc_t func ) { - m_Tree.SetLessFunc( CKeyLess( func ) ); + m_pfnLess = func; } // Insert method (inserts in order) @@ -86,21 +86,18 @@ public: Node_t node; node.key = key; node.elem = insert; + Assert( m_pfnLess ); + KeyLessFunc( m_pfnLess ); return m_Tree.Insert( node ); } - IndexType_t Insert( const KeyType_t &key ) - { - Node_t node; - node.key = key; - return m_Tree.Insert( node ); - } - // Find method IndexType_t Find( const KeyType_t &key ) const { Node_t dummyNode; dummyNode.key = key; + Assert( m_pfnLess ); + KeyLessFunc( m_pfnLess ); return m_Tree.Find( dummyNode ); } @@ -110,6 +107,8 @@ public: { Node_t dummyNode; dummyNode.key = key; + Assert( m_pfnLess ); + KeyLessFunc( m_pfnLess ); return m_Tree.Remove( dummyNode ); } @@ -126,7 +125,7 @@ public: void Reinsert( const KeyType_t &key, IndexType_t i ) { m_Tree[i].key = key; - m_Tree.Reinsert(i); + Reinsert(i); } IndexType_t InsertOrReplace( const KeyType_t &key, const ElemType_t &insert ) @@ -144,44 +143,38 @@ public: struct Node_t { - Node_t() - { - } - - Node_t( const Node_t &from ) - : key( from.key ), - elem( from.elem ) - { - } - KeyType_t key; ElemType_t elem; }; - class CKeyLess - { - public: - CKeyLess( LessFunc_t lessFunc ) : m_LessFunc(lessFunc) {} - - bool operator!() const - { - return !m_LessFunc; - } - - bool operator()( const Node_t &left, const Node_t &right ) const - { - return m_LessFunc( left.key, right.key ); - } - - LessFunc_t m_LessFunc; - }; - - typedef CUtlRBTree CTree; + typedef CUtlRBTree CTree; CTree *AccessTree() { return &m_Tree; } protected: + + static bool TreeLessFunc( const Node_t &left, const Node_t &right ) + { + return (*KeyLessFunc())( left.key, right.key ); + } + + static LessFunc_t KeyLessFunc( LessFunc_t pfnNew = NULL ) + { + // @Note (toml 12-10-02): This is why the class is not thread safe. The way RB + // tree is implemented, I could see no other efficient + // and portable way to do this. This function local + // static approach is used to not require + // instantiation of a static data member or use + // of Microsoft extensions (_declspec(selectany)) + static LessFunc_t pfnLess; + + if ( pfnNew != NULL ) + pfnLess = pfnNew; + return pfnLess; + } + CTree m_Tree; + LessFunc_t m_pfnLess; }; //----------------------------------------------------------------------------- diff --git a/public/tier1/utlrbtree.h b/public/tier1/utlrbtree.h index 334071c0..958b7bfe 100644 --- a/public/tier1/utlrbtree.h +++ b/public/tier1/utlrbtree.h @@ -9,9 +9,8 @@ #ifndef UTLRBTREE_H #define UTLRBTREE_H -#include "tier1/utlmemory.h" -#undef MINMAX_H -#include "minmax.h" +//#include +#include "utlmemory.h" //----------------------------------------------------------------------------- // Tool to generate a default compare function for any type that implements @@ -44,128 +43,164 @@ void SetDefLessFunc( RBTREE_T &RBTree ) { #ifdef _WIN32 RBTree.SetLessFunc( DefLessFunc( RBTREE_T::KeyType_t ) ); -#elif defined _LINUX +#elif _LINUX RBTree.SetLessFunc( DefLessFunc( typename RBTREE_T::KeyType_t ) ); #endif } +template +class CLessFuncCallerNormal +{ +public: + typedef bool (*LessFunc_t)( const T &, const T & ); + + CLessFuncCallerNormal( LessFunc_t func ) + { + m_LessFunc = func; + } + + void Init( LessFunc_t func ) + { + m_LessFunc = func; + } + + inline bool CallLessFunc( const T &a, const T &b, void *pUserData ) const + { + Assert( m_LessFunc ); + return m_LessFunc( a, b ); + } + + LessFunc_t m_LessFunc; +}; + +template +class CLessFuncCallerUserData +{ +public: + typedef bool (*LessFunc_t)( const T &, const T &, void *pUserData ); + + CLessFuncCallerUserData( LessFunc_t func ) + { + m_LessFunc = func; + } + + void Init( LessFunc_t func ) + { + m_LessFunc = func; + } + + inline bool CallLessFunc( const T &a, const T &b, void *pUserData ) const + { + Assert( m_LessFunc ); + return m_LessFunc( a, b, pUserData ); + } + + LessFunc_t m_LessFunc; +}; + //----------------------------------------------------------------------------- // A red-black binary search tree //----------------------------------------------------------------------------- -template +template < class T, class I = unsigned short, class L=CLessFuncCallerNormal< T > > class CUtlRBTree { public: - + // Less func typedef + // Returns true if the first parameter is "less" than the second typedef T KeyType_t; typedef T ElemType_t; typedef I IndexType_t; - - // Less func typedef - // Returns true if the first parameter is "less" than the second - typedef L LessFunc_t; + typedef typename L::LessFunc_t MyLessFunc_t; // constructor, destructor // Left at growSize = 0, the memory will first allocate 1 element and double in size // at each increment. // LessFunc_t is required, but may be set after the constructor using SetLessFunc() below - CUtlRBTree( int growSize = 0, int initSize = 0, const LessFunc_t &lessfunc = 0 ); - CUtlRBTree( const LessFunc_t &lessfunc ); + CUtlRBTree( int growSize = 0, int initSize = 0, MyLessFunc_t lessfunc = 0 ); + CUtlRBTree( MyLessFunc_t lessfunc ); ~CUtlRBTree( ); - - void EnsureCapacity( int num ); - - void CopyFrom( const CUtlRBTree &other ); - + // gets particular elements T& Element( I i ); T const &Element( I i ) const; T& operator[]( I i ); T const &operator[]( I i ) const; - + // Gets the root I Root() const; - + // Num elements unsigned int Count() const; - + // Max "size" of the vector I MaxElement() const; - + // Gets the children I Parent( I i ) const; I LeftChild( I i ) const; I RightChild( I i ) const; - + // Tests if a node is a left or right child bool IsLeftChild( I i ) const; bool IsRightChild( I i ) const; - + // Tests if root or leaf bool IsRoot( I i ) const; bool IsLeaf( I i ) const; - + // Checks if a node is valid and in the tree bool IsValidIndex( I i ) const; - + // Checks if the tree as a whole is valid bool IsValid() const; - + // Invalid index static I InvalidIndex(); - + // returns the tree depth (not a very fast operation) int Depth( I node ) const; int Depth() const; - + // Sets the less func - void SetLessFunc( const LessFunc_t &func ); - + void SetLessFunc( MyLessFunc_t func ); + // Allocation method I NewNode(); // Insert method (inserts in order) - I Insert( T const &insert ); - void Insert( const T *pArray, int nItems ); - I InsertIfNotFound( T const &insert ); - + I Insert( T const &insert, void *pLessFuncUserData=NULL ); + void Insert( const T *pArray, int nItems, void *pLessFuncUserData=NULL ); + // Find method - I Find( T const &search ) const; - + I Find( T const &search, void *pLessFuncUserData=NULL ) const; + // Remove methods void RemoveAt( I i ); bool Remove( T const &remove ); void RemoveAll( ); - void Purge(); - + // Allocation, deletion void FreeNode( I i ); - + // Iteration I FirstInorder() const; I NextInorder( I i ) const; I PrevInorder( I i ) const; I LastInorder() const; - + I FirstPreorder() const; I NextPreorder( I i ) const; I PrevPreorder( I i ) const; I LastPreorder( ) const; - + I FirstPostorder() const; I NextPostorder( I i ) const; // If you change the search key, this can be used to reinsert the // element into the tree. void Reinsert( I elem ); - - // swap in place - void Swap( CUtlRBTree< T, I, L > &that ); - -private: - // Can't copy the tree this way! - CUtlRBTree& operator=( const CUtlRBTree &other ); + protected: enum NodeColor_t @@ -173,7 +208,7 @@ protected: RED = 0, BLACK }; - + struct Links_t { I m_Left; @@ -181,7 +216,7 @@ protected: I m_Parent; I m_Tag; }; - + struct Node_t : public Links_t { T m_Data; @@ -196,53 +231,49 @@ protected: // Gets at the links Links_t const &Links( I i ) const; Links_t &Links( I i ); - + // Checks if a link is red or black bool IsRed( I i ) const; bool IsBlack( I i ) const; - + // Sets/gets node color NodeColor_t Color( I i ) const; void SetColor( I i, NodeColor_t c ); - + // operations required to preserve tree balance void RotateLeft(I i); void RotateRight(I i); void InsertRebalance(I i); void RemoveRebalance(I i); - + // Insertion, removal I InsertAt( I parent, bool leftchild ); - + // copy constructors not allowed - CUtlRBTree( CUtlRBTree const &tree ); - + CUtlRBTree( CUtlRBTree const &tree ); + // Inserts a node into the tree, doesn't copy the data in. - void FindInsertionPosition( T const &insert, I &parent, bool &leftchild ); + void FindInsertionPosition( T const &insert, I &parent, bool &leftchild, void *pLessFuncUserData ); // Remove and add back an element in the tree. void Unlink( I elem ); void Link( I elem ); // Used for sorting. - LessFunc_t m_LessFunc; - + L m_LessFunc; + CUtlMemory m_Elements; I m_Root; I m_NumElements; I m_FirstFree; I m_TotalElements; -#if !defined(_XBOX) || defined(_DEBUG) Node_t* m_pElements; - + void ResetDbgInfo() { m_pElements = (Node_t*)m_Elements.Base(); } -#else - void ResetDbgInfo() {} -#endif }; @@ -250,78 +281,56 @@ protected: // constructor, destructor //----------------------------------------------------------------------------- -template -inline CUtlRBTree::CUtlRBTree( int growSize, int initSize, const LessFunc_t &lessfunc ) : -m_LessFunc( lessfunc ), -m_Elements( growSize, initSize ), -m_Root( InvalidIndex() ), -m_NumElements( 0 ), -m_FirstFree( InvalidIndex() ), -m_TotalElements( 0 ) +template +inline CUtlRBTree::CUtlRBTree( int growSize, int initSize, typename CUtlRBTree::MyLessFunc_t lessfunc ) : + m_Elements( growSize, initSize ), + m_LessFunc( lessfunc ), + m_Root( InvalidIndex() ), + m_NumElements( 0 ), m_TotalElements( 0 ), + m_FirstFree( InvalidIndex() ) { ResetDbgInfo(); } -template -inline CUtlRBTree::CUtlRBTree( const LessFunc_t &lessfunc ) : -m_LessFunc( lessfunc ), -m_Elements( 0, 0 ), -m_Root( InvalidIndex() ), -m_FirstFree( InvalidIndex() ), -m_NumElements( 0 ), m_TotalElements( 0 ) +template +inline CUtlRBTree::CUtlRBTree( typename CUtlRBTree::MyLessFunc_t lessfunc ) : + m_Elements( 0, 0 ), + m_LessFunc( lessfunc ), + m_Root( InvalidIndex() ), + m_NumElements( 0 ), m_TotalElements( 0 ), + m_FirstFree( InvalidIndex() ) { ResetDbgInfo(); } -template +template inline CUtlRBTree::~CUtlRBTree() { - Purge(); -} - -template -inline void CUtlRBTree::EnsureCapacity( int num ) -{ - return m_Elements.EnsureCapacity( num ); -} - -template -inline void CUtlRBTree::CopyFrom( const CUtlRBTree &other ) -{ - Purge(); - m_Elements.EnsureCapacity( other.m_Elements.Count() ); - memcpy( m_Elements.Base(), other.m_Elements.Base(), other.m_Elements.Count() * sizeof( T ) ); - m_LessFunc = other.m_LessFunc; - m_Root = other.m_Root; - m_NumElements = other.m_NumElements; - m_FirstFree = other.m_FirstFree; - m_TotalElements = other.m_TotalElements; - ResetDbgInfo(); } //----------------------------------------------------------------------------- // gets particular elements //----------------------------------------------------------------------------- -template +template inline T &CUtlRBTree::Element( I i ) { return m_Elements[i].m_Data; } -template +template inline T const &CUtlRBTree::Element( I i ) const { return m_Elements[i].m_Data; } -template +template inline T &CUtlRBTree::operator[]( I i ) { return Element(i); } -template +template inline T const &CUtlRBTree::operator[]( I i ) const { return Element(i); @@ -337,119 +346,116 @@ inline T const &CUtlRBTree::operator[]( I i ) const // Gets the root //----------------------------------------------------------------------------- -template +template inline I CUtlRBTree::Root() const { return m_Root; } - + //----------------------------------------------------------------------------- // Num elements //----------------------------------------------------------------------------- -template +template inline unsigned int CUtlRBTree::Count() const { return (unsigned int)m_NumElements; } - + //----------------------------------------------------------------------------- // Max "size" of the vector //----------------------------------------------------------------------------- -template +template inline I CUtlRBTree::MaxElement() const { return (I)m_TotalElements; } - + //----------------------------------------------------------------------------- // Gets the children //----------------------------------------------------------------------------- -template +template inline I CUtlRBTree::Parent( I i ) const { return Links(i).m_Parent; } -template +template inline I CUtlRBTree::LeftChild( I i ) const { return Links(i).m_Left; } -template +template inline I CUtlRBTree::RightChild( I i ) const { return Links(i).m_Right; } - + //----------------------------------------------------------------------------- // Tests if a node is a left or right child //----------------------------------------------------------------------------- -template +template inline bool CUtlRBTree::IsLeftChild( I i ) const { return LeftChild(Parent(i)) == i; } -template +template inline bool CUtlRBTree::IsRightChild( I i ) const { return RightChild(Parent(i)) == i; } - + //----------------------------------------------------------------------------- // Tests if root or leaf //----------------------------------------------------------------------------- -template +template inline bool CUtlRBTree::IsRoot( I i ) const { return i == m_Root; } -template +template inline bool CUtlRBTree::IsLeaf( I i ) const { return (LeftChild(i) == InvalidIndex()) && (RightChild(i) == InvalidIndex()); } - + //----------------------------------------------------------------------------- // Checks if a node is valid and in the tree //----------------------------------------------------------------------------- -template +template inline bool CUtlRBTree::IsValidIndex( I i ) const { - if ( !m_Elements.IsIdxValid( i ) ) - return false; - return LeftChild(i) != i; } - - + + //----------------------------------------------------------------------------- // Invalid index //----------------------------------------------------------------------------- -template +template inline I CUtlRBTree::InvalidIndex() { return (I)~0; } - + //----------------------------------------------------------------------------- // returns the tree depth (not a very fast operation) //----------------------------------------------------------------------------- -template +template inline int CUtlRBTree::Depth() const { return Depth(Root()); @@ -459,19 +465,19 @@ inline int CUtlRBTree::Depth() const // Sets the children //----------------------------------------------------------------------------- -template +template inline void CUtlRBTree::SetParent( I i, I parent ) { Links(i).m_Parent = parent; } -template +template inline void CUtlRBTree::SetLeftChild( I i, I child ) { Links(i).m_Left = child; } -template +template inline void CUtlRBTree::SetRightChild( I i, I child ) { Links(i).m_Right = child; @@ -481,7 +487,7 @@ inline void CUtlRBTree::SetRightChild( I i, I child ) // Gets at the links //----------------------------------------------------------------------------- -template +template inline typename CUtlRBTree::Links_t const &CUtlRBTree::Links( I i ) const { // Sentinel node, makes life easier @@ -489,12 +495,12 @@ inline typename CUtlRBTree::Links_t const &CUtlRBTree::Links( { InvalidIndex(), InvalidIndex(), InvalidIndex(), CUtlRBTree::BLACK }; - + return (i != InvalidIndex()) ? *(Links_t*)&m_Elements[i] : - *(Links_t*)&s_Sentinel; + *(Links_t*)&s_Sentinel; } -template +template inline typename CUtlRBTree::Links_t &CUtlRBTree::Links( I i ) { Assert(i != InvalidIndex()); @@ -505,13 +511,13 @@ inline typename CUtlRBTree::Links_t &CUtlRBTree::Links( I i ) // Checks if a link is red or black //----------------------------------------------------------------------------- -template +template inline bool CUtlRBTree::IsRed( I i ) const { return (Links(i).m_Tag == RED); } -template +template inline bool CUtlRBTree::IsBlack( I i ) const { return (Links(i).m_Tag == BLACK); @@ -522,13 +528,13 @@ inline bool CUtlRBTree::IsBlack( I i ) const // Sets/gets node color //----------------------------------------------------------------------------- -template +template inline typename CUtlRBTree::NodeColor_t CUtlRBTree::Color( I i ) const { return (NodeColor_t)Links(i).m_Tag; } -template +template inline void CUtlRBTree::SetColor( I i, typename CUtlRBTree::NodeColor_t c ) { Links(i).m_Tag = (I)c; @@ -538,11 +544,11 @@ inline void CUtlRBTree::SetColor( I i, typename CUtlRBTree::No // Allocates/ deallocates nodes //----------------------------------------------------------------------------- -template +template I CUtlRBTree::NewNode() { I newElem; - + // Nothing in the free list; add. if (m_FirstFree == InvalidIndex()) { @@ -558,20 +564,20 @@ I CUtlRBTree::NewNode() newElem = m_FirstFree; m_FirstFree = RightChild(m_FirstFree); } - + #ifdef _DEBUG // reset links to invalid.... Links_t &node = Links(newElem); node.m_Left = node.m_Right = node.m_Parent = InvalidIndex(); #endif - + Construct( &Element(newElem) ); ResetDbgInfo(); - + return newElem; } -template +template void CUtlRBTree::FreeNode( I i ) { Assert( IsValidIndex(i) && (i != InvalidIndex()) ); @@ -586,14 +592,14 @@ void CUtlRBTree::FreeNode( I i ) // Rotates node i to the left //----------------------------------------------------------------------------- -template +template void CUtlRBTree::RotateLeft(I elem) { I rightchild = RightChild(elem); SetRightChild( elem, LeftChild(rightchild) ); if (LeftChild(rightchild) != InvalidIndex()) SetParent( LeftChild(rightchild), elem ); - + if (rightchild != InvalidIndex()) SetParent( rightchild, Parent(elem) ); if (!IsRoot(elem)) @@ -605,7 +611,7 @@ void CUtlRBTree::RotateLeft(I elem) } else m_Root = rightchild; - + SetLeftChild( rightchild, elem ); if (elem != InvalidIndex()) SetParent( elem, rightchild ); @@ -616,14 +622,14 @@ void CUtlRBTree::RotateLeft(I elem) // Rotates node i to the right //----------------------------------------------------------------------------- -template +template void CUtlRBTree::RotateRight(I elem) { I leftchild = LeftChild(elem); SetLeftChild( elem, RightChild(leftchild) ); if (RightChild(leftchild) != InvalidIndex()) SetParent( RightChild(leftchild), elem ); - + if (leftchild != InvalidIndex()) SetParent( leftchild, Parent(elem) ); if (!IsRoot(elem)) @@ -635,7 +641,7 @@ void CUtlRBTree::RotateRight(I elem) } else m_Root = leftchild; - + SetRightChild( leftchild, elem ); if (elem != InvalidIndex()) SetParent( elem, leftchild ); @@ -646,28 +652,28 @@ void CUtlRBTree::RotateRight(I elem) // Rebalances the tree after an insertion //----------------------------------------------------------------------------- -template +template void CUtlRBTree::InsertRebalance(I elem) { while ( !IsRoot(elem) && (Color(Parent(elem)) == RED) ) { I parent = Parent(elem); I grandparent = Parent(parent); - + /* we have a violation */ if (IsLeftChild(parent)) { I uncle = RightChild(grandparent); if (IsRed(uncle)) - { + { /* uncle is RED */ SetColor(parent, BLACK); SetColor(uncle, BLACK); SetColor(grandparent, RED); elem = grandparent; - } + } else - { + { /* uncle is BLACK */ if (IsRightChild(elem)) { @@ -681,22 +687,22 @@ void CUtlRBTree::InsertRebalance(I elem) SetColor(parent, BLACK); SetColor(grandparent, RED); RotateRight(grandparent); - } + } } else { /* mirror image of above code */ I uncle = LeftChild(grandparent); if (IsRed(uncle)) - { + { /* uncle is RED */ SetColor(parent, BLACK); SetColor(uncle, BLACK); SetColor(grandparent, RED); elem = grandparent; - } + } else - { + { /* uncle is BLACK */ if (IsLeftChild(elem)) { @@ -710,7 +716,7 @@ void CUtlRBTree::InsertRebalance(I elem) SetColor(parent, BLACK); SetColor(grandparent, RED); RotateLeft(grandparent); - } + } } } SetColor( m_Root, BLACK ); @@ -721,7 +727,7 @@ void CUtlRBTree::InsertRebalance(I elem) // Insert a node into the tree //----------------------------------------------------------------------------- -template +template I CUtlRBTree::InsertAt( I parent, bool leftchild ) { I i = NewNode(); @@ -730,14 +736,14 @@ I CUtlRBTree::InsertAt( I parent, bool leftchild ) return i; } -template +template void CUtlRBTree::LinkToParent( I i, I parent, bool isLeft ) { Links_t &elem = Links(i); elem.m_Parent = parent; elem.m_Left = elem.m_Right = InvalidIndex(); elem.m_Tag = RED; - + /* insert node in tree */ if (parent != InvalidIndex()) { @@ -750,7 +756,7 @@ void CUtlRBTree::LinkToParent( I i, I parent, bool isLeft ) { m_Root = i; } - + InsertRebalance(i); Assert(IsValid()); @@ -760,42 +766,42 @@ void CUtlRBTree::LinkToParent( I i, I parent, bool isLeft ) // Rebalance the tree after a deletion //----------------------------------------------------------------------------- -template +template void CUtlRBTree::RemoveRebalance(I elem) { while (elem != m_Root && IsBlack(elem)) { I parent = Parent(elem); - + // If elem is the left child of the parent if (elem == LeftChild(parent)) { // Get our sibling I sibling = RightChild(parent); if (IsRed(sibling)) - { + { SetColor(sibling, BLACK); SetColor(parent, RED); RotateLeft(parent); - + // We may have a new parent now parent = Parent(elem); sibling = RightChild(parent); - } + } if ( (IsBlack(LeftChild(sibling))) && (IsBlack(RightChild(sibling))) ) - { + { if (sibling != InvalidIndex()) SetColor(sibling, RED); elem = parent; - } + } else - { + { if (IsBlack(RightChild(sibling))) { SetColor(LeftChild(sibling), BLACK); SetColor(sibling, RED); RotateRight(sibling); - + // rotation may have changed this parent = Parent(elem); sibling = RightChild(parent); @@ -805,36 +811,36 @@ void CUtlRBTree::RemoveRebalance(I elem) SetColor( RightChild(sibling), BLACK ); RotateLeft( parent ); elem = m_Root; - } + } } else { // Elem is the right child of the parent I sibling = LeftChild(parent); if (IsRed(sibling)) - { + { SetColor(sibling, BLACK); SetColor(parent, RED); RotateRight(parent); - + // We may have a new parent now parent = Parent(elem); sibling = LeftChild(parent); - } + } if ( (IsBlack(RightChild(sibling))) && (IsBlack(LeftChild(sibling))) ) - { + { if (sibling != InvalidIndex()) SetColor( sibling, RED ); elem = parent; - } + } else - { + { if (IsBlack(LeftChild(sibling))) { SetColor( RightChild(sibling), BLACK ); SetColor( sibling, RED ); RotateLeft( sibling ); - + // rotation may have changed this parent = Parent(elem); sibling = LeftChild(parent); @@ -844,19 +850,19 @@ void CUtlRBTree::RemoveRebalance(I elem) SetColor( LeftChild(sibling), BLACK ); RotateRight( parent ); elem = m_Root; - } + } } } SetColor( elem, BLACK ); } -template +template void CUtlRBTree::Unlink( I elem ) { if ( elem != InvalidIndex() ) { I x, y; - + if ((LeftChild(elem) == InvalidIndex()) || (RightChild(elem) == InvalidIndex())) { @@ -870,13 +876,13 @@ void CUtlRBTree::Unlink( I elem ) while (LeftChild(y) != InvalidIndex()) y = LeftChild(y); } - + /* x is y's only child */ if (LeftChild(y) != InvalidIndex()) x = LeftChild(y); else x = RightChild(y); - + /* remove y from the parent chain */ if (x != InvalidIndex()) SetParent( x, Parent(y) ); @@ -889,7 +895,7 @@ void CUtlRBTree::Unlink( I elem ) } else m_Root = x; - + // need to store this off now, we'll be resetting y's color NodeColor_t ycolor = Color(y); if (y != elem) @@ -899,29 +905,29 @@ void CUtlRBTree::Unlink( I elem ) SetParent( y, Parent(elem) ); SetRightChild( y, RightChild(elem) ); SetLeftChild( y, LeftChild(elem) ); - + if (!IsRoot(elem)) if (IsLeftChild(elem)) SetLeftChild( Parent(elem), y ); else SetRightChild( Parent(elem), y ); - else - m_Root = y; - - if (LeftChild(y) != InvalidIndex()) - SetParent( LeftChild(y), y ); - if (RightChild(y) != InvalidIndex()) - SetParent( RightChild(y), y ); - - SetColor( y, Color(elem) ); + else + m_Root = y; + + if (LeftChild(y) != InvalidIndex()) + SetParent( LeftChild(y), y ); + if (RightChild(y) != InvalidIndex()) + SetParent( RightChild(y), y ); + + SetColor( y, Color(elem) ); } - + if ((x != InvalidIndex()) && (ycolor == BLACK)) RemoveRebalance(x); } } -template +template void CUtlRBTree::Link( I elem ) { if ( elem != InvalidIndex() ) @@ -939,7 +945,7 @@ void CUtlRBTree::Link( I elem ) // Delete a node from the tree //----------------------------------------------------------------------------- -template +template void CUtlRBTree::RemoveAt(I elem) { if ( elem != InvalidIndex() ) @@ -956,7 +962,7 @@ void CUtlRBTree::RemoveAt(I elem) // remove a node in the tree //----------------------------------------------------------------------------- -template bool CUtlRBTree::Remove( T const &search ) +template bool CUtlRBTree::Remove( T const &search ) { I node = Find( search ); if (node != InvalidIndex()) @@ -972,7 +978,7 @@ template bool CUtlRBTree::Remove( T cons // Removes all nodes from the tree //----------------------------------------------------------------------------- -template +template void CUtlRBTree::RemoveAll() { // Just iterate through the whole list and add to free list @@ -994,32 +1000,12 @@ void CUtlRBTree::RemoveAll() m_NumElements = 0; } -//----------------------------------------------------------------------------- -// Removes all nodes from the tree and purges memory -//----------------------------------------------------------------------------- - -template -void CUtlRBTree::Purge() -{ - for (int i = (int)m_TotalElements; --i >= 0; ) - { - I idx = (I)i; - if (IsValidIndex(idx)) - Destruct( &Element(idx) ); - } - m_Root = InvalidIndex(); - m_NumElements = 0; - m_TotalElements = 0; - m_FirstFree = InvalidIndex(); - m_Elements.Purge(); -} - //----------------------------------------------------------------------------- // iteration //----------------------------------------------------------------------------- -template +template I CUtlRBTree::FirstInorder() const { I i = m_Root; @@ -1028,11 +1014,11 @@ I CUtlRBTree::FirstInorder() const return i; } -template +template I CUtlRBTree::NextInorder( I i ) const { Assert(IsValidIndex(i)); - + if (RightChild(i) != InvalidIndex()) { i = RightChild(i); @@ -1040,7 +1026,7 @@ I CUtlRBTree::NextInorder( I i ) const i = LeftChild(i); return i; } - + I parent = Parent(i); while (IsRightChild(i)) { @@ -1051,11 +1037,11 @@ I CUtlRBTree::NextInorder( I i ) const return parent; } -template +template I CUtlRBTree::PrevInorder( I i ) const { Assert(IsValidIndex(i)); - + if (LeftChild(i) != InvalidIndex()) { i = LeftChild(i); @@ -1063,7 +1049,7 @@ I CUtlRBTree::PrevInorder( I i ) const i = RightChild(i); return i; } - + I parent = Parent(i); while (IsLeftChild(i)) { @@ -1074,7 +1060,7 @@ I CUtlRBTree::PrevInorder( I i ) const return parent; } -template +template I CUtlRBTree::LastInorder() const { I i = m_Root; @@ -1083,21 +1069,22 @@ I CUtlRBTree::LastInorder() const return i; } -template + +template I CUtlRBTree::FirstPreorder() const { return m_Root; } -template +template I CUtlRBTree::NextPreorder( I i ) const { if (LeftChild(i) != InvalidIndex()) return LeftChild(i); - + if (RightChild(i) != InvalidIndex()) return RightChild(i); - + I parent = Parent(i); while( parent != InvalidIndex()) { @@ -1109,14 +1096,14 @@ I CUtlRBTree::NextPreorder( I i ) const return InvalidIndex(); } -template +template I CUtlRBTree::PrevPreorder( I i ) const { Assert(0); // not implemented yet return InvalidIndex(); } -template +template I CUtlRBTree::LastPreorder() const { I i = m_Root; @@ -1124,7 +1111,7 @@ I CUtlRBTree::LastPreorder() const { while (RightChild(i) != InvalidIndex()) i = RightChild(i); - + if (LeftChild(i) != InvalidIndex()) i = LeftChild(i); else @@ -1133,7 +1120,7 @@ I CUtlRBTree::LastPreorder() const return i; } -template +template I CUtlRBTree::FirstPostorder() const { I i = m_Root; @@ -1147,19 +1134,19 @@ I CUtlRBTree::FirstPostorder() const return i; } -template +template I CUtlRBTree::NextPostorder( I i ) const { I parent = Parent(i); if (parent == InvalidIndex()) return InvalidIndex(); - + if (IsRightChild(i)) return parent; - + if (RightChild(parent) == InvalidIndex()) return parent; - + i = RightChild(parent); while (!IsLeaf(i)) { @@ -1172,7 +1159,7 @@ I CUtlRBTree::NextPostorder( I i ) const } -template +template void CUtlRBTree::Reinsert( I elem ) { Unlink( elem ); @@ -1184,34 +1171,34 @@ void CUtlRBTree::Reinsert( I elem ) // returns the tree depth (not a very fast operation) //----------------------------------------------------------------------------- -template +template int CUtlRBTree::Depth( I node ) const { if (node == InvalidIndex()) return 0; - + int depthright = Depth( RightChild(node) ); int depthleft = Depth( LeftChild(node) ); - return max(depthright, depthleft) + 1; } + //----------------------------------------------------------------------------- // Makes sure the tree is valid after every operation //----------------------------------------------------------------------------- -template +template bool CUtlRBTree::IsValid() const { if ( !Count() ) return true; - + if (( Root() >= MaxElement()) || ( Parent( Root() ) != InvalidIndex() )) goto InvalidTree; - + #ifdef UTLTREE_PARANOID - + // First check to see that mNumEntries matches reality. // count items on the free list int numFree = 0; @@ -1225,7 +1212,7 @@ bool CUtlRBTree::IsValid() const } if (MaxElement() - numFree != Count()) goto InvalidTree; - + // iterate over all elements, looking for validity // based on the self pointers int numFree2 = 0; @@ -1239,35 +1226,35 @@ bool CUtlRBTree::IsValid() const int left = LeftChild(curr); if ((right == left) && (right != InvalidIndex()) ) goto InvalidTree; - + if (right != InvalidIndex()) - { + { if (!IsValidIndex(right)) goto InvalidTree; if (Parent(right) != curr) goto InvalidTree; if (IsRed(curr) && IsRed(right)) goto InvalidTree; - } - + } + if (left != InvalidIndex()) - { + { if (!IsValidIndex(left)) goto InvalidTree; if (Parent(left) != curr) goto InvalidTree; if (IsRed(curr) && IsRed(left)) goto InvalidTree; - } + } } } if (numFree2 != numFree) goto InvalidTree; - + #endif // UTLTREE_PARANOID - + return true; - + InvalidTree: return false; } @@ -1277,11 +1264,13 @@ InvalidTree: // Sets the less func //----------------------------------------------------------------------------- -template -void CUtlRBTree::SetLessFunc( const typename CUtlRBTree::LessFunc_t &func ) +template +void CUtlRBTree::SetLessFunc( typename CUtlRBTree::MyLessFunc_t func ) { - if (!m_LessFunc) - m_LessFunc = func; + if (!m_LessFunc.m_LessFunc) + { + m_LessFunc.Init( func ); + } else { // need to re-sort the tree here.... @@ -1295,11 +1284,11 @@ void CUtlRBTree::SetLessFunc( const typename CUtlRBTree::LessF //----------------------------------------------------------------------------- // Inserts a node into the tree, doesn't copy the data in. -template -void CUtlRBTree::FindInsertionPosition( T const &insert, I &parent, bool &leftchild ) +template +void CUtlRBTree::FindInsertionPosition( T const &insert, I &parent, bool &leftchild, void *pLessFuncUserData ) { - Assert( m_LessFunc ); - + Assert( m_LessFunc.m_LessFunc ); + /* find where node belongs */ I current = m_Root; parent = InvalidIndex(); @@ -1307,7 +1296,7 @@ void CUtlRBTree::FindInsertionPosition( T const &insert, I &parent, boo while (current != InvalidIndex()) { parent = current; - if (m_LessFunc( insert, Element(current) )) + if (m_LessFunc.CallLessFunc( insert, Element(current), pLessFuncUserData )) { leftchild = true; current = LeftChild(current); } @@ -1318,75 +1307,43 @@ void CUtlRBTree::FindInsertionPosition( T const &insert, I &parent, boo } } -template -I CUtlRBTree::Insert( T const &insert ) +template +I CUtlRBTree::Insert( T const &insert, void *pLessFuncUserData ) { // use copy constructor to copy it in I parent; bool leftchild; - FindInsertionPosition( insert, parent, leftchild ); + FindInsertionPosition( insert, parent, leftchild, pLessFuncUserData ); I newNode = InsertAt( parent, leftchild ); CopyConstruct( &Element( newNode ), insert ); return newNode; } -template -void CUtlRBTree::Insert( const T *pArray, int nItems ) +template +void CUtlRBTree::Insert( const T *pArray, int nItems, void *pLessFuncUserData ) { while ( nItems-- ) { - Insert( *pArray++ ); + Insert( *pArray++, pLessFuncUserData ); } } - -template -I CUtlRBTree::InsertIfNotFound( T const &insert ) -{ - // use copy constructor to copy it in - I parent; - bool leftchild; - - I current = m_Root; - parent = InvalidIndex(); - leftchild = false; - while (current != InvalidIndex()) - { - parent = current; - if (m_LessFunc( insert, Element(current) )) - { - leftchild = true; current = LeftChild(current); - } - else if (m_LessFunc( Element(current), insert )) - { - leftchild = false; current = RightChild(current); - } - else - // Match found, no insertion - return InvalidIndex(); - } - - I newNode = InsertAt( parent, leftchild ); - CopyConstruct( &Element( newNode ), insert ); - return newNode; -} - - //----------------------------------------------------------------------------- // finds a node in the tree //----------------------------------------------------------------------------- -template -I CUtlRBTree::Find( T const &search ) const -{ - Assert( m_LessFunc ); +template +I CUtlRBTree::Find( T const &search, void *pLessFuncUserData ) const +{ + Assert( m_LessFunc.m_LessFunc ); + I current = m_Root; while (current != InvalidIndex()) { - if (m_LessFunc( search, Element(current) )) + if (m_LessFunc.CallLessFunc( search, Element(current), pLessFuncUserData )) current = LeftChild(current); - else if (m_LessFunc( Element(current), search )) + else if (m_LessFunc.CallLessFunc( Element(current), search, pLessFuncUserData )) current = RightChild(current); else break; @@ -1395,20 +1352,7 @@ I CUtlRBTree::Find( T const &search ) const } -//----------------------------------------------------------------------------- -// swap in place -//----------------------------------------------------------------------------- -template -void CUtlRBTree::Swap( CUtlRBTree< T, I, L > &that ) -{ - m_Elements.Swap( that.m_Elements ); - swap( m_LessFunc, that.m_LessFunc ); - swap( m_Root, that.m_Root ); - swap( m_NumElements, that.m_NumElements ); - swap( m_FirstFree, that.m_FirstFree ); - swap( m_TotalElements, that.m_TotalElements ); - swap( m_pElements, that.m_pElements ); -} + #endif // UTLRBTREE_H diff --git a/public/tier1/utlstring.h b/public/tier1/utlstring.h deleted file mode 100644 index 3b657374..00000000 --- a/public/tier1/utlstring.h +++ /dev/null @@ -1,147 +0,0 @@ -//====== Copyright © 1996-2004, Valve Corporation, All rights reserved. ======= -// -// Purpose: -// -//============================================================================= - -#ifndef UTLSTRING_H -#define UTLSTRING_H -#ifdef _WIN32 -#pragma once -#endif - - -#include "tier1/utlmemory.h" - - -//----------------------------------------------------------------------------- -// Base class, containing simple memory management -//----------------------------------------------------------------------------- -class CUtlBinaryBlock -{ -public: - CUtlBinaryBlock( int growSize = 0, int initSize = 0 ); - - // NOTE: nInitialLength indicates how much of the buffer starts full - CUtlBinaryBlock( void* pMemory, int nSizeInBytes, int nInitialLength ); - CUtlBinaryBlock( const void* pMemory, int nSizeInBytes ); - CUtlBinaryBlock( const CUtlBinaryBlock& src ); - - void Get( void *pValue, int nMaxLen ) const; - void Set( const void *pValue, int nLen ); - const void *Get( ) const; - void *Get( ); - - unsigned char& operator[]( int i ); - const unsigned char& operator[]( int i ) const; - - int Length() const; - void SetLength( int nLength ); // Undefined memory will result - bool IsEmpty() const; - - bool IsReadOnly() const; - - CUtlBinaryBlock &operator=( const CUtlBinaryBlock &src ); - - // Test for equality - bool operator==( const CUtlBinaryBlock &src ) const; - -private: - CUtlMemory m_Memory; - int m_nActualLength; -}; - - -//----------------------------------------------------------------------------- -// class inlines -//----------------------------------------------------------------------------- -inline const void *CUtlBinaryBlock::Get( ) const -{ - return m_Memory.Base(); -} - -inline void *CUtlBinaryBlock::Get( ) -{ - return m_Memory.Base(); -} - -inline int CUtlBinaryBlock::Length() const -{ - return m_nActualLength; -} - -inline unsigned char& CUtlBinaryBlock::operator[]( int i ) -{ - return m_Memory[i]; -} - -inline const unsigned char& CUtlBinaryBlock::operator[]( int i ) const -{ - return m_Memory[i]; -} - -inline bool CUtlBinaryBlock::IsReadOnly() const -{ - return m_Memory.IsReadOnly(); -} - -inline bool CUtlBinaryBlock::IsEmpty() const -{ - return Length() == 0; -} - - -//----------------------------------------------------------------------------- -// Simple string class. -// NOTE: This is *not* optimal! Use in tools, but not runtime code -//----------------------------------------------------------------------------- -class CUtlString -{ -public: - CUtlString(); - CUtlString( const char *pString ); - CUtlString( const CUtlString& string ); - - // Attaches the string to external memory. Useful for avoiding a copy - CUtlString( void* pMemory, int nSizeInBytes, int nInitialLength ); - CUtlString( const void* pMemory, int nSizeInBytes ); - - const char *Get( ) const; - void Set( const char *pValue ); - - // Converts to c-strings - operator const char*() const; - - // for compatibility switching items from UtlSymbol - const char *String() const { return Get(); } - - // Returns strlen - int Length() const; - bool IsEmpty() const; - - // Sets the length (used to serialize into the buffer ) - void SetLength( int nLen ); - char *Get(); - - CUtlString &operator=( const CUtlString &src ); - CUtlString &operator=( const char *src ); - - // Test for equality - bool operator==( const CUtlString &src ) const; - bool operator==( const char *src ) const; - -private: - CUtlBinaryBlock m_Storage; -}; - - -//----------------------------------------------------------------------------- -// Inline methods -//----------------------------------------------------------------------------- -inline bool CUtlString::IsEmpty() const -{ - return Length() == 0; -} - - -#endif // UTLSTRING_H diff --git a/public/tier1/utlsymbol.h b/public/tier1/utlsymbol.h index 9fb2fdb4..7228a7d9 100644 --- a/public/tier1/utlsymbol.h +++ b/public/tier1/utlsymbol.h @@ -9,16 +9,14 @@ #ifndef UTLSYMBOL_H #define UTLSYMBOL_H -#include "tier0/threadtools.h" -#include "tier1/utlrbtree.h" -#include "tier1/utlvector.h" +#include "utlrbtree.h" +#include "utlvector.h" //----------------------------------------------------------------------------- // forward declarations //----------------------------------------------------------------------------- class CUtlSymbolTable; -class CUtlSymbolTableMT; //----------------------------------------------------------------------------- @@ -64,10 +62,10 @@ protected: static void Initialize(); // returns the current symbol table - static CUtlSymbolTableMT* CurrTable(); + static CUtlSymbolTable* CurrTable(); // The standard global symbol table - static CUtlSymbolTableMT* s_pSymbolTable; + static CUtlSymbolTable* s_pSymbolTable; static bool s_bAllowStaticSymbolTable; @@ -131,28 +129,8 @@ protected: unsigned short m_iOffset; // Index into the string pool. }; - class CLess - { - public: - CLess( int ignored = 0 ) {} // permits default initialization to NULL in CUtlRBTree - bool operator!() const { return false; } - bool operator()( const CStringPoolIndex &left, const CStringPoolIndex &right ) const; - }; - - friend class CLess; - // Stores the symbol lookup - class CTree : public CUtlRBTree - { - public: - CTree( int growSize, int initSize ) : CUtlRBTree( growSize, initSize ) {} - friend class CUtlSymbolTable::CLess; // Needed to allow CLess to calculate pointer to symbol table - }; - - CTree m_Lookup; - bool m_bInsensitive; - char const* m_pUserSearchString; - + CUtlRBTree< CStringPoolIndex, unsigned short, CLessFuncCallerUserData > m_Lookup; typedef struct { @@ -163,7 +141,9 @@ protected: // stores the string data CUtlVector m_StringPools; - + + // Stored before using the RBTree comparisons. + const char *m_pLessCtxUserString; private: @@ -172,89 +152,10 @@ private: const char* StringFromIndex( const CStringPoolIndex &index ) const; -}; - -class CUtlSymbolTableMT : private CUtlSymbolTable -{ -public: - CUtlSymbolTableMT( int growSize = 0, int initSize = 32, bool caseInsensitive = false ) - : CUtlSymbolTable( growSize, initSize, caseInsensitive ) - { - } - - CUtlSymbol AddString( char const* pString ) - { - m_mutex.Lock(); - CUtlSymbol result = CUtlSymbolTable::AddString( pString ); - m_mutex.Unlock(); - return result; - } - - CUtlSymbol Find( char const* pString ) - { - m_mutex.Lock(); - CUtlSymbol result = CUtlSymbolTable::Find( pString ); - m_mutex.Unlock(); - return result; - } - - char const* String( CUtlSymbol id ) const - { - m_mutex.Lock(); - const char *pszResult = CUtlSymbolTable::String( id ); - m_mutex.Unlock(); - return pszResult; - } - -private: - CThreadMutex m_mutex; -}; - - - -//----------------------------------------------------------------------------- -// CUtlFilenameSymbolTable: -// description: -// This class defines a symbol table of individual filenames, stored more -// efficiently than a standard symbol table. Internally filenames are broken -// up into file and path entries, and a file handle class allows convenient -// access to these. -//----------------------------------------------------------------------------- - -// The handle is a CUtlSymbol for the dirname and the same for the filename, the accessor -// copies them into a static char buffer for return. -typedef void* FileNameHandle_t; - -// Symbol table for more efficiently storing filenames by breaking paths and filenames apart. -// Refactored from BaseFileSystem.h -class CUtlFilenameSymbolTable -{ - // Internal representation of a FileHandle_t - // If we get more than 64K filenames, we'll have to revisit... - // Right now CUtlSymbol is a short, so this packs into an int/void * pointer size... - struct FileNameHandleInternal_t - { - FileNameHandleInternal_t() - { - path = 0; - file = 0; - } - - // Part before the final '/' character - unsigned short path; - // Part after the final '/', including extension - unsigned short file; - }; - - // Symbol table storing the file names: - CUtlSymbolTableMT m_FileNames; - -public: - FileNameHandle_t FindOrAddFileName( char const *pFileName ); - FileNameHandle_t FindFileName( char const *pFileName ); - int PathIndex(const FileNameHandle_t &handle) { return (( const FileNameHandleInternal_t * )&handle)->path; } - - bool String( const FileNameHandle_t& handle, char *buf, int buflen ); + // Less function, for sorting strings + static bool SymLess( CStringPoolIndex const& i1, CStringPoolIndex const& i2, void *pUserData ); + // case insensitive less function + static bool SymLessi( CStringPoolIndex const& i1, CStringPoolIndex const& i2, void *pUserData ); }; diff --git a/tier1/KeyValues.cpp b/tier1/KeyValues.cpp index 89d22f0b..ae63fefc 100644 --- a/tier1/KeyValues.cpp +++ b/tier1/KeyValues.cpp @@ -469,24 +469,21 @@ void KeyValues::UsesEscapeSequences(bool state) bool KeyValues::LoadFromFile( IBaseFileSystem *filesystem, const char *resourceName, const char *pathID ) { Assert(filesystem); - #ifndef _LINUX - Assert( IsXbox() || ( IsPC() && _heapchk() == _HEAPOK ) ); - #endif +#ifdef _MSC_VER + Assert(_heapchk() == _HEAPOK); +#endif + FileHandle_t f = filesystem->Open(resourceName, "rb", pathID); if (!f) return false; - s_LastFileLoadingFrom = (char*)resourceName; - // load file into a null-terminated buffer int fileSize = filesystem->Size(f); - unsigned bufSize = ((IFileSystem *)filesystem)->GetOptimalReadSize( f, fileSize + 1 ); + char *buffer = (char *)MemAllocScratch(fileSize + 1); - char *buffer = (char*)((IFileSystem *)filesystem)->AllocOptimalReadBuffer( f, bufSize ); - Assert(buffer); - - ((IFileSystem *)filesystem)->ReadEx(buffer, bufSize, fileSize, f); // read into local buffer + + filesystem->Read(buffer, fileSize, f); // read into local buffer buffer[fileSize] = 0; // null terminate file as EOF @@ -494,7 +491,7 @@ bool KeyValues::LoadFromFile( IBaseFileSystem *filesystem, const char *resourceN bool retOK = LoadFromBuffer( resourceName, buffer, filesystem ); - ((IFileSystem *)filesystem)->FreeOptimalReadBuffer( buffer ); + MemFreeScratch(); return retOK; } diff --git a/tier1/tier1-2005.vcproj b/tier1/tier1-2005.vcproj index 18d7ac00..71aeb213 100644 --- a/tier1/tier1-2005.vcproj +++ b/tier1/tier1-2005.vcproj @@ -275,18 +275,10 @@ RelativePath=".\utlbuffer.cpp" > - - - - 0 ); - if ( m_nActualLength < nLen ) - { - nLen = m_nActualLength; - } - - if ( nLen > 0 ) - { - memcpy( pValue, m_Memory.Base(), nLen ); - } -} - -void CUtlBinaryBlock::SetLength( int nLength ) -{ - Assert( !m_Memory.IsReadOnly() ); - - m_nActualLength = nLength; - if ( nLength > m_Memory.NumAllocated() ) - { - int nOverFlow = nLength - m_Memory.NumAllocated(); - m_Memory.Grow( nOverFlow ); - - // If the reallocation failed, clamp length - if ( nLength > m_Memory.NumAllocated() ) - { - m_nActualLength = m_Memory.NumAllocated(); - } - } - -#ifdef _DEBUG - if ( m_Memory.NumAllocated() > m_nActualLength ) - { - memset( ( ( char * )m_Memory.Base() ) + m_nActualLength, 0xEB, m_Memory.NumAllocated() - m_nActualLength ); - } -#endif -} - -void CUtlBinaryBlock::Set( const void *pValue, int nLen ) -{ - Assert( !m_Memory.IsReadOnly() ); - - if ( !pValue ) - { - nLen = 0; - } - - SetLength( nLen ); - - if ( m_nActualLength ) - { - if ( ( ( const char * )m_Memory.Base() ) >= ( ( const char * )pValue ) + nLen || - ( ( const char * )m_Memory.Base() ) + m_nActualLength <= ( ( const char * )pValue ) ) - { - memcpy( m_Memory.Base(), pValue, m_nActualLength ); - } - else - { - memmove( m_Memory.Base(), pValue, m_nActualLength ); - } - } -} - - -CUtlBinaryBlock &CUtlBinaryBlock::operator=( const CUtlBinaryBlock &src ) -{ - Assert( !m_Memory.IsReadOnly() ); - Set( src.Get(), src.Length() ); - return *this; -} - - -bool CUtlBinaryBlock::operator==( const CUtlBinaryBlock &src ) const -{ - if ( src.Length() != Length() ) - return false; - - return !memcmp( src.Get(), Get(), Length() ); -} - - -//----------------------------------------------------------------------------- -// Simple string class. -//----------------------------------------------------------------------------- -CUtlString::CUtlString() -{ -} - -CUtlString::CUtlString( const char *pString ) -{ - Set( pString ); -} - -CUtlString::CUtlString( const CUtlString& string ) -{ - Set( string.Get() ); -} - -// Attaches the string to external memory. Useful for avoiding a copy -CUtlString::CUtlString( void* pMemory, int nSizeInBytes, int nInitialLength ) : m_Storage( pMemory, nSizeInBytes, nInitialLength ) -{ -} - -CUtlString::CUtlString( const void* pMemory, int nSizeInBytes ) : m_Storage( pMemory, nSizeInBytes ) -{ -} - -void CUtlString::Set( const char *pValue ) -{ - Assert( !m_Storage.IsReadOnly() ); - int nLen = pValue ? Q_strlen(pValue) + 1 : 0; - m_Storage.Set( pValue, nLen ); -} - -// Returns strlen -int CUtlString::Length() const -{ - return m_Storage.Length() ? m_Storage.Length() - 1 : 0; -} - -// Sets the length (used to serialize into the buffer ) -void CUtlString::SetLength( int nLen ) -{ - Assert( !m_Storage.IsReadOnly() ); - - // Add 1 to account for the NULL - m_Storage.SetLength( nLen > 0 ? nLen + 1 : 0 ); -} - -const char *CUtlString::Get( ) const -{ - if ( m_Storage.Length() == 0 ) - { - return ""; - } - - return reinterpret_cast< const char* >( m_Storage.Get() ); -} - -// Converts to c-strings -CUtlString::operator const char*() const -{ - return Get(); -} - -char *CUtlString::Get() -{ - Assert( !m_Storage.IsReadOnly() ); - - if ( m_Storage.Length() == 0 ) - { - // In general, we optimise away small mallocs for empty strings - // but if you ask for the non-const bytes, they must be writable - // so we can't return "" here, like we do for the const version - jd - m_Storage.SetLength( 1 ); - m_Storage[ 0 ] = '\0'; - } - - return reinterpret_cast< char* >( m_Storage.Get() ); -} - -CUtlString &CUtlString::operator=( const CUtlString &src ) -{ - Assert( !m_Storage.IsReadOnly() ); - m_Storage = src.m_Storage; - return *this; -} - -CUtlString &CUtlString::operator=( const char *src ) -{ - Assert( !m_Storage.IsReadOnly() ); - Set( src ); - return *this; -} - -bool CUtlString::operator==( const CUtlString &src ) const -{ - return m_Storage == src.m_Storage; -} - -bool CUtlString::operator==( const char *src ) const -{ - return ( strcmp( Get(), src ) == 0 ); -} diff --git a/tier1/utlsymbol.cpp b/tier1/utlsymbol.cpp index 92b2f2a5..5623e934 100644 --- a/tier1/utlsymbol.cpp +++ b/tier1/utlsymbol.cpp @@ -6,17 +6,9 @@ // $NoKeywords: $ //=============================================================================// -#if !defined _XBOX && defined _MSC_VER #pragma warning (disable:4514) -#endif #include "utlsymbol.h" -#include "KeyValues.h" -#include "tier0/threadtools.h" -#include "tier0/memdbgon.h" -#include "stringpool.h" - -// memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" #define INVALID_STRING_INDEX CStringPoolIndex( 0xFFFF, 0xFFFF ) @@ -27,7 +19,7 @@ // globals //----------------------------------------------------------------------------- -CUtlSymbolTableMT* CUtlSymbol::s_pSymbolTable = 0; +CUtlSymbolTable* CUtlSymbol::s_pSymbolTable = 0; bool CUtlSymbol::s_bAllowStaticSymbolTable = true; @@ -40,17 +32,13 @@ void CUtlSymbol::Initialize() // If this assert fails, then the module that this call is in has chosen to disallow // use of the static symbol table. Usually, it's to prevent confusion because it's easy // to accidentally use the global symbol table when you really want to use a specific one. -#ifndef _XBOX - // xboxissue - need to isolate this concept per lib, otherwise - // can't trap coding mistakes (i.e. unintended global symbol table usage) Assert( s_bAllowStaticSymbolTable ); -#endif // necessary to allow us to create global symbols static bool symbolsInitialized = false; if (!symbolsInitialized) { - s_pSymbolTable = new CUtlSymbolTableMT; + s_pSymbolTable = new CUtlSymbolTable; symbolsInitialized = true; } } @@ -70,7 +58,7 @@ public: static CCleanupUtlSymbolTable g_CleanupSymbolTable; -CUtlSymbolTableMT* CUtlSymbol::CurrTable() +CUtlSymbolTable* CUtlSymbol::CurrTable() { Initialize(); return s_pSymbolTable; @@ -122,22 +110,29 @@ inline const char* CUtlSymbolTable::StringFromIndex( const CStringPoolIndex &ind } -bool CUtlSymbolTable::CLess::operator()( const CStringPoolIndex &i1, const CStringPoolIndex &i2 ) const +bool CUtlSymbolTable::SymLess( CStringPoolIndex const& i1, CStringPoolIndex const& i2, void *pUserData ) { - // Need to do pointer math because CUtlSymbolTable is used in CUtlVectors, and hence - // can be arbitrarily moved in memory on a realloc. Yes, this is portable. In reality, - // right now at least, because m_LessFunc is the first member of CUtlRBTree, and m_Lookup - // is the first member of CUtlSymbolTabke, this == pTable - CUtlSymbolTable *pTable = (CUtlSymbolTable *)( (byte *)this - offsetof(CUtlSymbolTable::CTree, m_LessFunc) ) - offsetof(CUtlSymbolTable, m_Lookup ); - char const* str1 = (i1 == INVALID_STRING_INDEX) ? pTable->m_pUserSearchString : - pTable->StringFromIndex( i1 ); - char const* str2 = (i2 == INVALID_STRING_INDEX) ? pTable->m_pUserSearchString : - pTable->StringFromIndex( i2 ); + CUtlSymbolTable *pTable = (CUtlSymbolTable*)pUserData; - if ( !pTable->m_bInsensitive ) - return strcmp( str1, str2 ) < 0; - else - return strcmpi( str1, str2 ) < 0; + char const* str1 = (i1 == INVALID_STRING_INDEX) ? pTable->m_pLessCtxUserString : + pTable->StringFromIndex( i1 ); + char const* str2 = (i2 == INVALID_STRING_INDEX) ? pTable->m_pLessCtxUserString : + pTable->StringFromIndex( i2 ); + + return strcmp( str1, str2 ) < 0; +} + + +bool CUtlSymbolTable::SymLessi( CStringPoolIndex const& i1, CStringPoolIndex const& i2, void *pUserData ) +{ + CUtlSymbolTable *pTable = (CUtlSymbolTable*)pUserData; + + char const* str1 = (i1 == INVALID_STRING_INDEX) ? pTable->m_pLessCtxUserString : + pTable->StringFromIndex( i1 ); + char const* str2 = (i2 == INVALID_STRING_INDEX) ? pTable->m_pLessCtxUserString : + pTable->StringFromIndex( i2 ); + + return strcmpi( str1, str2 ) < 0; } //----------------------------------------------------------------------------- @@ -145,8 +140,12 @@ bool CUtlSymbolTable::CLess::operator()( const CStringPoolIndex &i1, const CStri //----------------------------------------------------------------------------- CUtlSymbolTable::CUtlSymbolTable( int growSize, int initSize, bool caseInsensitive ) : - m_Lookup( growSize, initSize ), m_bInsensitive( caseInsensitive ), m_StringPools( 8 ) + m_Lookup( growSize, initSize ), m_StringPools( 8 ) { + if ( caseInsensitive ) + m_Lookup.SetLessFunc( SymLessi ); + else + m_Lookup.SetLessFunc( SymLess ); } CUtlSymbolTable::~CUtlSymbolTable() @@ -162,16 +161,11 @@ CUtlSymbol CUtlSymbolTable::Find( char const* pString ) return CUtlSymbol(); // Store a special context used to help with insertion - m_pUserSearchString = pString; + m_pLessCtxUserString = pString; // Passing this special invalid symbol makes the comparison function // use the string passed in the context - UtlSymId_t idx = m_Lookup.Find( INVALID_STRING_INDEX ); - -#ifdef _DEBUG - m_pUserSearchString = NULL; -#endif - + UtlSymId_t idx = m_Lookup.Find( INVALID_STRING_INDEX, this ); return CUtlSymbol( idx ); } @@ -235,7 +229,7 @@ CUtlSymbol CUtlSymbolTable::AddString( char const* pString ) index.m_iPool = iPool; index.m_iOffset = iStringOffset; - UtlSymId_t idx = m_Lookup.Insert( index ); + UtlSymId_t idx = m_Lookup.Insert( index, this ); return CUtlSymbol( idx ); } @@ -268,103 +262,3 @@ void CUtlSymbolTable::RemoveAll() m_StringPools.RemoveAll(); } - -//----------------------------------------------------------------------------- -// Purpose: -// Input : *pFileName - -// Output : FileNameHandle_t -//----------------------------------------------------------------------------- -FileNameHandle_t CUtlFilenameSymbolTable::FindOrAddFileName( char const *pFileName ) -{ - if ( !pFileName ) - { - return NULL; - } - - // Fix slashes and make lower case first.. - char fn[ MAX_PATH ]; - Q_strncpy( fn, pFileName, sizeof( fn ) ); - Q_FixSlashes( fn ); -#ifdef _WIN32 - strlwr( fn ); -#endif - - // Split the fn into constituent parts - char basepath[ MAX_PATH ]; - Q_ExtractFilePath( fn, basepath, sizeof( basepath ) ); - - char filename[ MAX_PATH ]; - Q_strncpy( filename, fn + Q_strlen( basepath ), sizeof( filename ) ); - - FileNameHandleInternal_t handle; - handle.path = g_CountedStringPool.ReferenceStringHandle(basepath); - handle.file = g_CountedStringPool.ReferenceStringHandle(filename ); - - void *h = &handle; - return *reinterpret_cast(h); -} - -FileNameHandle_t CUtlFilenameSymbolTable::FindFileName( char const *pFileName ) -{ - if ( !pFileName ) - { - return NULL; - } - - // Fix slashes and make lower case first.. - char fn[ MAX_PATH ]; - Q_strncpy( fn, pFileName, sizeof( fn ) ); - Q_FixSlashes( fn ); -#ifdef _WIN32 - strlwr( fn ); -#endif - - // Split the fn into constituent parts - char basepath[ MAX_PATH ]; - Q_ExtractFilePath( fn, basepath, sizeof( basepath ) ); - - char filename[ MAX_PATH ]; - Q_strncpy( filename, fn + Q_strlen( basepath ), sizeof( filename ) ); - - FileNameHandleInternal_t handle; - handle.path = g_CountedStringPool.FindStringHandle(basepath); - handle.file = g_CountedStringPool.FindStringHandle(filename); - - if( handle.path == 0 || handle.file == 0 ) - return NULL; - - void *h = &handle; - return *reinterpret_cast(h); -} - -//----------------------------------------------------------------------------- -// Purpose: -// Input : handle - -// Output : char const -//----------------------------------------------------------------------------- -bool CUtlFilenameSymbolTable::String( const FileNameHandle_t& handle, char *buf, int buflen ) -{ - buf[ 0 ] = 0; - - FileNameHandleInternal_t *internal = ( FileNameHandleInternal_t * )&handle; - if ( !internal ) - { - return false; - } - - char const *path = g_CountedStringPool.HandleToString(internal->path); - if ( !path ) - return false; - - Q_strncpy( buf, path, buflen ); - char const *fn = g_CountedStringPool.HandleToString(internal->file); - if ( !fn ) - { - return false; - } - - Q_strncat( buf, fn, buflen, COPY_ALL_CHARACTERS ); - - return true; -} - diff --git a/tier1/xboxstubs.cpp b/tier1/xboxstubs.cpp deleted file mode 100644 index a35b7828..00000000 --- a/tier1/xboxstubs.cpp +++ /dev/null @@ -1,74 +0,0 @@ -//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// -// -// Purpose: Stubs Xbox functions when compiling for other platforms -// -// $Workfile: $ -// $Date: $ -// $NoKeywords: $ -//=============================================================================// - -#ifndef _XBOX - -#ifdef _WIN32 -#include -#elif _LINUX -#define ERROR_GEN_FAILURE 1 -#define GetTickCount() Plat_FloatTime() -#else -#error "implement me" -#endif -#include "xbox/xboxstubs.h" -#include "tier0/memdbgon.h" - -void XBX_DebugString(xverbose_e verbose, COLORREF color, const char* format, ...) -{ -} - -void XBX_ProcessEvents( void ) -{ -} - -void XInitDevices( DWORD dwPreallocTypeCount, PXDEVICE_PREALLOC_TYPE PreallocTypes ) -{ -} - -DWORD XGetDevices(PXPP_DEVICE_TYPE DeviceType) -{ - return 0; -} - -bool XGetDeviceChanges(PXPP_DEVICE_TYPE DeviceType, DWORD *pdwInsertions, DWORD *pdwRemovals) -{ - return false; -} - -HANDLE XInputOpen(PXPP_DEVICE_TYPE DeviceType, DWORD dwPort, DWORD dwSlot, PXINPUT_POLLING_PARAMETERS pPollingParameters) -{ - return 0; -} - -void XInputClose(HANDLE hDevice) -{ -} - -DWORD XInputSetState(HANDLE hDevice, PXINPUT_FEEDBACK pFeedback) -{ - return ERROR_GEN_FAILURE; -} - -DWORD XInputGetState(HANDLE hDevice, PXINPUT_STATE pState) -{ - return ERROR_GEN_FAILURE; -} - -DWORD XInputPoll(HANDLE hDevice) -{ - return 0; -} - -unsigned int XBX_GetSystemTime( void ) -{ - return (unsigned int)GetTickCount(); -} - -#endif // _XBOX