To: stik-beta-testers@spodden.zetnet.co.uk
From: dlanor@oden.se (Ronald Andersson)
Organization: Atari
Subject: patched STinG TCP 1.19 beta release
X-Mailer: NEWSie Version 0.94 (Atari)

Hi guys, here's a new TCP module again.

The news:

This patch corrects the way TCP_ack_wait and TCP_wait_state respond to any
network errors (eg: TCP RESET or ICMP error messages) that come in for the
given connection during the timeout period.  Previously they were ignored
until the timeout was exceeded, but now they will immediately break the
loop and return the error code associated with that network error.

The result is that there is no longer any visible delay between an attempt
to connect to a nonexistent server and the resulting error dialog of the
client (unless the client itself is bugged).  This was tested with two of
the clients that have irritated me most with such delays, namely AFTP 1.5b
and MG-FTP 1.04, both of which now yield immediate error dialogs when the
requested server is not available.  No more irritation...  :-)

Beta testing request:
---------------------
Testing for 'remnant' closed connections I got some conflicting results with
various clients. In each case I requested connection with a server on a host
that did not have any server running for that port.  The results were:

CAB.OVL		Instant error message, whereafter the connection was instantly
by Olivier	closed and then vanished instantly.  PERFECT score Olivier !

FTP.TTP		No error message, but the connection was properly closed at
by Dan		program exit, and then vanished instantly.  Pretty good Dan.

GAPFTP.TTP	Instant error message, but connection lived on forever,
by Gary		even after program exit.  Do you close after errors Gary ?

MG-FTP.PRG	Same as for GAPFTP.  Instant error message, but no closing.
by Michael Guse

AFTP.PRG	Same as for GAPFTP. Instant error message, but no closing.
by Attack team

There seems to be a problem with some clients and since some clients do
manage to close connections quite consistently I do not think that this
problem is due to a bug in the TCP_close.  I think that it is OK now,
but we need to verify this.

To all:   Please test this with various clients in your environments.
To Gary:  Please confirm whether or not GAPFTP calls TCP_close after errors.
To Dan:   Please confirm that your FTP.TTP only (and always) closes the
          control connection at program exit, and does not detect errors.

If any of you have any contact with Michael Guse and/or Attack, please
ask them the same questions as for GAPFTP, since their programs behave
identically in this, and relay their answers here ASAP.

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 TCP_STX.LZH
M)0\M;&@U+;,;   -+0  35^()B  #U1#4%]35%A<5$-0+E-46,2B%PJ#WKW"a
MQIN2=?O>?CQAAX<PPR.9'SYSQZ888\>1YX=<=8^:;S/-MSSP<QNXV5DB+IY@a
MSV!C<'G.L$Z(4YA+3B1;8G2G%%>2[M[5RV32'7FC;HC8HN3@A39+U^!A39)-a
M6J2R4D"$G2'2VRR$<,__WO8\&0A>G:KJWX.^'JEW\ .[NUDDC;;:J2*MJR)"a
MU'VT+L?M*1--$4:<+>C96H_*WVQF7/?6ZMH/RJK>-CJR<"3,N^^O\!4?OL[?a
M'^WN<;=*JZZN755B6]9967?:]=5C&Q\7"W6&K=[K(V^/NL+(&"PL554BALJZa
M=MY#QB2GH-(L2.]_[C<=G];-'EI7$)3G>\4 ?:K.ST"[WT1:MJZ?.X6;:%GUa
MTC+\X^)]Z>+VLK[AY&:1?D<M>L>!6D1+N%B%&6_-*J6\]SS\;'_*.\CZ>V'9a
MQ]E2Y-[\)*2?>+*?ON3:%XN)3S.%CT)DE]!;ZQVMC:$@SO[?JOD&-2QY35BIa
MJ2U<Y\QJ9582$UXSN20F6[2HM5FZE^-WO[LZ>#Z5#Y+^3B4[M^QJ;_Q_L>E0a
M]!S)INV;(Y:34*]E_V$42&O3*REKPZ:'&MB5UX$>K-25D2\MRG"=IN8OR!S6a
M\ER8[V/IX;-S\HO>5F;XD6WUOU"6 +TL(H?W94B:I).[R,(JRT:P_ %.-P)/a
M6+:G7AY4K*FWPQ_?*R!C?LRI#;#,XOKJWZNX)[+R]E>ZV020L? ^BQ>+5I)3a
M8(S<#"(K$]C8DGQ^,WA%$_/#VD+:2]VKDZ3^9I\IEW^!N=@VGLF57TO=WP\Ma
M^_/*7NV>D5IX5Z?-8W!8FL[WN,!68-ARY>7L[T:>1>@=K4<V>F "SB2%W$EYa
M=\+MNHGHVQ#(K=C(@IKBGC]174<7<.Z.W&=Q=/\?8Q;MC43L=.V0[.LM3-':a
MUY>7@'P>XHY_E?OS\7MY]VW4Y'9X"Q(:)#>&'.MB:TRE=F4%G!8\ICRJ.%JIa
M>69.K2:N#7>64!7!5B% ;^+5[ 4YFKWQ%I+,HCM'2^@49VCIMJ2[M%[E%8.Ta
M=.]*RHT>"7&NW"#6<4G0JJF+>+(?]\"=:A'S*% $XO%?! N_:QRKR\;S">#%a
M_:[.+&%ZXP[Q3N27FO%K0S]FD<?0Q;?[]7>N:?P_KR"JA?SOX7^.+^K%_C_Pa
MOY@OU1?[W^%_7B_67K2>YN^H4._!1.9OMVOMT^_WV[CD\%NK[;(P,*>ALKV\a
M]BT!,X$"C,94?$K-^1J!7E[=WSY'/DL,0(/0WU#.Y["Z NQH(\Z_;?IE[N.]a
MMW!6F9G&\F9?*7W^SY]J_GDN^6K"><P'KT*&9O\-ZO6.\#7RH6Y)EI1>*3W,a
MOIKR%.+AJO6^J/O*/*F82STK:RO?AH?%%CE8V4<K.UCE:[PK;?91$BX8#Y$Ka
M[S=5*N)J?+&HMOV=[0WH(A,$-\9+,0A=V!W<VNE?>FU3%T,#LNS@;8 )MK@Da
MVK.TM*% 47C&,*L:'<VB44'5VV(2))PZT CU4U%I\,_![>?&LR&0E[H_7\?2a
M.:_8.%0O@86G/Z8+-Y4KQ@B#IFDE8Y/895\<DN?OJ'JVTDD6GLJZ;3G^T,+Ea
MNEYVOF$M*\":DOI6D@)VKM29R2XJLZAGC65#'[$D!"+"9"9F.HYM]D?#[(IDa
MAN +%W$OCQ,_K#5[+7W!<#7W19%9<EO=>.QEDUEN7B@-('_62"WL3[SEJD+5a
M,47A/6(Q:BOK2JN3C$CAHM)#F*.ODE3B]2)\/-H3_7X)0&.050QBE4C[5:_Pa
M"BC[8BG8#[9"[M=?B%5E="C*%C+'N^<Y>S+RQN^ -A5Y\G(*P0K&"V0W/9C[a
M]H?=J.-B[&#P]>!@E]T9GR1]X-9B$R7#UMX3(!K!5O,(M//[L)OR4F8A0SKUa
M6<TF+% *E??+[N$6EGVL8&N_VMI+I-1@D!_PH@S<&'V@6VR3ES:&C'7TH&#3a
MWGL56>91=E!V-Z"A:J)C 1_G4/<5-$OY#O289&J-K<"VCE5TK>0:,F&!3@;?a
M[@(.9*N,2J5K2X,UZQYA<%Q'':\O?4W3\1[96E-TFDAU/@STLVM+437\JXG/a
M%E)J5EYU#XI_Q#$P-;;EBZW?%W#$@I[$A]6DH%6KW:D7P9TA?_42<OY@ /.*a
MH'^S'_.']WSG!<* "IWS$A78814\4@6R6HHVN Q@A0+QZ-6, AV2E:&+=1M*a
M?IFD9^D[J02AY?_1O:.#6'1_#  >O)]36LEP7=-:"S72>XI@T.NW#KTF?/50a
M][A9>_]OA9V_Z7"CE'IJ0%;PPRYG_'Q,XP!N8^,#I4I_5-BYM<IJK=T\]?:?a
MS_B/>=1DTK/X@!=-52:C9?B7[K "*N#5&)M>RL0'FD(.J[0@X5(09? $-]5*a
MD3GC$XJH5_75E81=Q:@Z6IOY$U]L0=:/J(WGYQ>YL_XQY\V?UQY_*,S8Y<XKa
M#E2,9.?0%C_//IXY.;3P= Y4QVS8J],SF]NY,Z\',Z>E:Z!S?A@>J4/^7Z]Na
M$/?F$]/-K8Q5)ECU?!D]0PXI<56*5K-@*R&C5]O0KK>M_&%=;UI+6; K7U)Qa
M60^V!]+[OH4<GOF) *Y4,#MHNZDMI ?5<+C[!3Z0 WL[$'URK?$M= YV(:!Ma
M5G-BE[WW_QY7M_?_ORNE]]J)'=,?<&+YN5M3%NMA%3>^[G0%?$*J7IFJ>B5"a
M#*V_SGPE2T=X39@4__WALJCPVO['#6JY?2&%?L\!!(Y\!JAP&=]/ 35JV&ZTa
M=[57#9"_I;K ^HB,]Y?AM+2"8MZ.@Q24L<IS04G"95X6,4"'*,,Z578E.1:Fa
M.F)H_LGH9GF%AX:8X*VTCO$&*T(R:T,#>B@EUIH[Z9U';K0CM!:J!:@RX8-7a
M1T?T'-M4[>VTV8YML0\6IE@JVH!5M/@@JV_,JU0%6J JMX"J347R^QH?A7HTa
M6##E6QI#T7-+PW-+N'-+N/\=+B#2X0TM4*ST9Z%O\(9<QC=/XNRO00FC-3 &a
M^Z"!OKFP6GM,=&.]^T>TOSV'3_!:Y1^T>M*D8D)3!/(CS3-P0>#0#./(&HINa
M8F,-1[J<E/)I14;6QY8+=&P@1^TA=XZ>R?/[OX25= 2C_0YSVZ<X?P1SV']'a
M/7@Y[%'/8:\#=)!+#5KP,S$*7C)#IK]G 8D UM4\V]Y(WF Z9"?/1LJ@-EJ&a
MX6.^CH=H[O62!;GR.(&GVH8W!4Y^U_.)/73B>DB/*1):N82>KG!:&]5>:'/;a
M2UV-Z"=8L;&*N"*&OJ8Y6$+8'OZ'KV13D@A%_H/JKWSG&[OC&B#^@1)!0B:(a
M/*"'V6,#O.4!CXWANGQEXL2<5\$W\R+BDDQ<-1O-_TMPIF#1O=Z8:5I9Z_INa
M;LKV_P5^Z8L2)?NFEYEQ,P>7BD\PTN5@[K\W*P6U*.3NI_LM/XF*.AJ-\>C9a
MU\_KFEIWP-%E!82O:%Z4M@4\YO/)\5"7NYZ IIG38RI?^L-'8<L9 9G^X>EOa
MM*&DNZ<IR]V12.D=C'?,9:NTNO8E[M&T+X>=OPV2IC9D>=OV-_SM_JN8,;G<a
MUQHQ61]_QSHE:7' /%FTQ]QQ9?_E4H4'G<#__]#R;_V6)F3SI+S7FW1]QG34a
MK"#SF!5)RJG806$><PPQSA_S7.&O9%"@?130EPC0CSVE(9M6X#"7  UPU?NHa
M*P2>S14TIN*:9$>*7D?2L#&II9F*94JSC9K981=?D=[^84>('F</$-3T I-.a
M_1G_L-L/&J_<<O=#&\9S>7C.:ZV6P;2$RZ+/K[H.X9(+[!Q+2"U_)FUPN?)%a
MSXL-EJKB&_H[!PGF)/0MB"I?8@NV,XF#O D!]<(^]F";_%'-\!R[=YGQRV6Va
MW# NU W;DI-P)D4,UMO4'Y-)?]K^W-QT.3QS2$V44TA.2AK)Q0R6**&)W4.:a
M2$A(-1P SOTV=E!U'#!SW?!%CLCX?JH#3P,4XHZ3@!D+BAD+P'=K;IZ^*5DVa
M\5E,!]STF&:9UM0[.;$L(I5+:PY7B_1RN?MH+B/'XI_5<U%<_*83LM5&CPGRa
M'09_/*GH!S[@N,]9H=:IR <K@?8(?FQ5IQ5-1J8(@0/*M"IIJ@\I34QYT[9Ha
M#ZF^94B L?3&D=!V/IKOOTLYH9K_;9-XK\#JP2B.D9Q%]5F V%NJ#7VCR0=Ra
MV_"]%3,Y!)MO%HA/N3Q)KP'!\,'!] ,=9%DPHQ5:T8-;M:<"=2M @MVJL8JBa
M:_8DOZ;V;L.RZ7 85D:X-SZD8VPN:\'NF (7X;/?UA8B&P$V%-*,U$ J:8(9a
M7II.=I(FOVJ@8/I@J6G'OJCVF/?ZBJH[VDD'XCC%: /U09;T_["IL[F@EG+Ua
M9W^65F.?V>KD%#'U<?=PL=>256/JTP.391#5TF6#'T\)F'=@@T5U]2 /T.H8a
M)=*!CO^I)Y@HYDG;/;#4\T7/?L!2?B%4ZS<!*_&.CWX2]E%GH'3SO+)("]8=a
M+'*I!M[[.#JCF3BI\-(/<=.[!3W-SW)5-SU M-'L+'U,=3VMPZ)L+BR]3F+;a
M!J0 *OY3H%32_IM0YDIJ*X6JC[+(#/%*FRI.9N#UVP)I*PB%3ZY@J>>0P*']a
MV;_7Z6W\[1W%D(&7-KZ)]?0!QK<PQ_S%]58^82(?;40/]3IW8[FA-9UN('7-a
M(- +Q'$H>P2C$BO(4?W$H>=Z3._$/'70%C\Y*'D?U7?C"Q%?X7<#[KF!:R7;a
M$L0)C3?6ZMG-SO,)(]IR%.CN>8?<[LV'_+X!PH\;>;!>I[3G(YJ4P;_/0S1Ia
M+M/_/A?U<)^9S=TCQXZZ_'U\/M.CB=Q0<S/<>RR[R7(@*[!:*XMO?81?+GGBa
M6)K'E8\"V0CZ>P.&'V9@KC6=LCD)]XCWAG#[!B:N_,B_O"!\Z@^OJ24]5Q]Ka
MJV..53V! PV9\".2SI8.Y=7DFSR@T_XW1$V ;;^_/F*.L-ZC2&?>(SJ'7H]Qa
MG'V$^X_J9W\YP/LXP!GW/I7?C"Q<P?8#^+$5_8=P/O.8$5S K.= J"DWX^OCa
M*;/-]6V<U^V_\4<V8)S%#[-W[KF= )Y2VJ!^:>$7R>GW_9!*]^H$M:7<L31Ya
MU4?51QD^V!VB!FFAH\7?XE/#(>8(IY6(_"L45=T]61X>5NJ,9#AN,7[X*4;$a
MC3WC[M1P&I!:LJ[<B/K56YLN!H.9<6_"D6E5A^":D4!1E#,J =O!FJV!IOWLa
MJW;35DL7S3X44@QQHB+=SBX*^4$OKQV)PPA$[YM=#D4MIU6CL^(3WZMIX;L*a
MW<9R7CD6YGK7S3W^OTIKV3[I<-:^5TS?Q*Z808/^D)67CJS$K2&R(.G^>.\6a
M=!;N78 F&XVUPBH;P>[X>]T-S\EJIB>(49Q9;J*06W%F,6\5U#?M!:G*N:/+a
MXN!'C #<S0Y'1@-[E.)X(3K^O;5I<"EHKD!M 3:C1R.G[%-WK($;90F8EV&Da
M^!8DZJS^/?+ZK$@A'B&N&QXY2U]4M>"Y',]-O6JD!5OE7C:=B&W5I2Q\LGD3a
MA!*6]*^7U6-8_@G'C^=.*Z""=EQ)J]"86ZY)T30=W69?S4@*-1U-:XW7[RCNa
M]6;4>%!KPXA2^B48$6SHP(E<0(>I<_U8_K"N/\] -%J(^TP:1X@:T4IZ(8W4a
MJ56F. XGJ;K?VXY>U5<#U[$(RPU]P-N2$:PIE<%8S_P2SA%^WSG&.NH=6N_@a
M]%IE;!$1E1<6QV5?&-=+8:G\LEN,%F*8BR8S/)RFZM6 Y34%-^Y<O5H Q(Q[a
M;U6\HK?_RCZ19:SP(-?(4-6*=?*6P;"L"365S32:SXC-9."6]-7CDIK_L!TKa
M-<RLK(U>*XX&XI5&KP!>CWKL4W"DZ)N(HBU[X?8#'E&C1I$&T8AR%V+JL_%*a
MGVR8Z/3M(UY'#@0P)IOXPX2\,2?R\-J#/7_]P(EMXXCGLVK*>NM*<@_=A/(+a
M,ZD?8$+8 YTP)^3-@0Q 688:$PAKC-_'K90E R59*+R78P>[ 1:JT$6+Z,1Fa
M/=AY/"T>QK"J]A\(Y[(?#A9N7],\OW5GX!"(5BSV5?ND9T5=IN]<$(T_5:)'a
MVM%3^2/0#L^Y#T_W>FYYXKG0;X0\T,9?:7<V%-Q /<O:=57BCZIY%YT&B2_Pa
M/$]-W4X)LG>.AS^0&*41<?"+K=<^5H[/L<=FJZ/&R2_X*WD_/PB^9$,@ORG"a
M)4OY='3U3YW7ON8;%R>1TH(Q?]1@$$Z7DL-DCV5IY)3*73T]'0WP8LS9B[4=a
M72.1B_Y=?FE06[&GMO:6FQF=C/06QG6=-.#LCDV=7]##;UBC.':B_TN:!&]0a
M^;A]?J3:0PTUL38BVQKZPJ=N!85N@66WH+_5%MBYF;%HJ;R5=C#W!)ANO#'Ba
ML$'_Z,V'IN+Y9)L7!@WZ+H-[.BTWJUF*7BB,AXI;P.+G($9MQ2R22=BQXX/+a
MGYYZS\O_,!=SS"ZA:*[%Q"&EU)#C03&[#02!J\;1XZ#@^P$5N''#;?27ONI-a
M>Y[4-?#</P'2GW8I6@MV$4*%0?\(I<<<OQQ_XQ?D+WZ1%L-TBWY,X$6OW17Ha
M^31%>1?WF$T0X&IUUN57'[GM<%=+=_;UAV'YBJJ)P9(W5'161G_QT:=H#Y;(a
M^KC64W-9RJ-RLY<G&V0Y]M7%&U4<M5U;PW0/Y&E=C_$ :'YW2"W!![/LPI%Ra
M/ FRNWG/DL^?620[![$QRS3!O)-#'@R9M/?R0>K)#8K)$"5W"NQ.$'K>J[_Ka
MO]PEO?_4GNKQ@W,I:X0@$-*IP<6,5]-@0@A7$G9>A-2(ECK,$XEC68(5*X(Va
M5YSA(#W"57G.!1Y^_P8I73O*\E"B42 (NV.B,?%T5,^U<_F,=8-Y3M6UF#3Qa
MVT1L5J08,9JE&Q>"QKJ-,!7_B!&5<-POXAG8N6I@[JP$[LH&2IY?]))8EU%Xa
M59?%*9!</X?2<&#BF=7-2WJ#47^.JC493?ERKELL_>M%\U6%#-4& ^R<8#USa
M=2S*GR^.57C/75TX'?DF?&+.-NH!SG$/Q\9NNA##\3CDOB0@N[BA\YK0.=-Ua
M^=#8*'5?6&V%QM8;D2O1U4,-B$4.?.U A_NT=!W&('I$V@^>B;\^W."KW^3Ma
M0-N&7*$ #VT +7\-5#I"0$YWC>YP@IUPVG[MG[KEGTW+/LA_. ,Z$!!A#$M(a
MY"'0X&L.4-B NG+B>*.*J1:+W'%<0YIW_C7XC@:]-^'T@Q/AFY+??B%>B2"Ga
MCT.?;A9W3?A$<C<Z[#!1\,0!^KFU_<_O(!_^<!:2-L-&?6,#LZB#]&*7SEJ!a
M!^WCJRDQ+V1,6]%J_$WUY>X)YMD[,%QM(V:2NGFU +Y$PI!%+D5;3_&=?U,Ua
M69_O&)=N^<'N%697C)MJQWRV!H$1Q9BLR$#8PU#TFP7T[GC7)R4=5^WPUZ;0a
M(A[RT\*]BCA8918P)UPY[[ML$\(W0_J5^J-6>K(U,DD@UCU(GB-X28,Y^E\Ia
M-]WYW,6F=ZR)%2+VDJK$RCXDA:9]8/AZLR("_1/E7MB$)+%Q9TSF)=5\HS+Da
M"5Q0)448W?$QXI6O?%=>OP;__:N/;;\0.5+D_]"8;O@7G>'*F86E63!@H@>_a
MZSC5HA*,JYFUYVIR _.Y!)7^4+N([=V&D9YG0.SX!Z2J'3G]=/1RMPV<-+\-a
M4;KEC RLK&5KSXS18D[_*1Q3=\0@=2YWXN+(")-(Y,:>PB#@CCO/'%\O?C+Oa
M.+(&+#Q. 3A&FK,"@6GHSSOY'7GT01&5-LA =TP7>E"D!(*GP^.$",()$Z@,a
MGZ9G1PY@9=4\L/PN(G"F 7?N+<.%X[3Q;RRE:N[*4Z[9@E$YX/U(3)PO,,7=a
M]?D/,KP/A)$-B\+BSBB.G%S4PW7DBNZ8^V[56</O>N4ZC)0:L!#F8O&MQ@TJa
M)H9R^TV]&+T6>7(PT6+B5;S:<5[++MW'!<6+M7ER-LE7D#2TET''"<YPO%*Ga
M70LRE26WN0AS3X*2'Y 8CURU @"IOILFP_? N:]%V 8FO7]N5]X6+F#[#Z^[a
M 4_8=P/O.8&CU5)B2TCCH.P.D\;[KF- 9U@@WLVZOZ4#M/?W+N^D<_-4ULX*a
M*4AY8)X.=V'#M\BAT+D,W;N'Z[F'#%6"9:@2:V0.SV3:CO&R-!ZH<//_1QR6a
M"!U;B&EY- *L56"9UP*':MU7TH3_Y'$,NU<PNX.*LMOG4.[3PWP,T*+.#7Z1a
M>FHPLO>AXE9.'\]>K-_Q$JM3CO%^R_XE/3[PN\BN/^,4/^+\)@TZ3V'1?\0)a
M,2$^.IVE*/FB'UME\_-[]V'YE\_FC%U ;Y;)TFGPAO<((O;% /U^@YQI8Z0@a
M"LGGV_/#L&&-]5??A%&AVX*_7":SAV!(NM8<@05LW.U%>+V(2_CI@7.D_]0.a
MEV"%]^:_VG$<O?Z.3IU<&3TR@+YX;6??!LL .9."))_.!49%/^C77.1JX-OUa
M7T"%=P\4K5JGY8%CMY'&'D&TO1 D_@:KUS5MW'*!9=F"R[.FXMR:6\XT2L%@a
M/Z//,0:#T[/^[-/*L7 37F^$^@K@AVW?'*0[#4K0#>-<(NE:*X.N$&;UY\]9a
M<=+P$D1\&)/>+2%=2MPF#$O?2?4UV>5-UF/K9^41U_K9]"@/<R]SELHT&9P(a
M>VM"ARY9ROV7NWT&;=9G=MV0]VH]KCW8CW$'NN'M4>X8]P1[JQ[?#W4#V\'Na
MGS.[FYNW2<?;1(L96I;^2><$;T\,^$X Z;3BG?C;;N7)V=ZU\#EOLOJMQP<Xa
M9BAT8[S^KT=J1?(*?I_HS>=FU^FL'CPXXN^>(D3;_4ZN_RF^L&'OEN5^JT\.a
MQ&-\M8NIX_3\<"KXK/2MJN\]W)SZ'JL_IHT<RE1X5*BU2HV5*B^T*/7Z=*CFa
MTJ/&I49]*BS2HJNT8.?UR%&#P\]$K_?MB#NWGL9.?7EF[Y"AT69H>N]7J_L>a
MC0SPA1IARWJW\G4ZL2B7/!9O1[?;7WK.]M+\U'MJ1V-+M/$<[3ZV3GLYV3GNa
M>^GDYY1*5&^I4<FE1_FI4?1I4>KH44(-*C(I4=Q2HY=*CR[SUH(HP<]#].=Ha
M=GR>WV=7UJ79WE_)?>L?950.F$)JS<97]7 58E;\4=_")EB4PVM"0<]O<WSXa
M3P\#+W?-S66,WS\[@4J_G]JN(E"0)%UTN2S,9OA1TQDGN*RW:](N4M']6\H?a
M?-)!(H?"%'-[%SI<[2YP2Z2"]'0L=.**@F9JF]'WHD6HM!]_G'WK'>X%O?5Ua
M_@;)6S5O\#<[KP%=ODY&WW7V]SC;I7Q,;#W>+MZY6]W6+]Q7(QE=KMU?MY&%a
MCY&WPU=K]RCC=7J'IZ"2^NKM=KROMOD;?'5F8V0-"FX60=2&K,DDYB]I>8V%a
MAG2V'B84W<[8L"9)EW]]>S,#:#0+N^+P;VXV-Y<[2\D^%<S#U/:'=N4+NW\$a
M7U_?E,M_L[3!EW!7%S=;29@8#GO P+PO_WY''3J*A/\CQ1XHH_JE/#L/<3KWa
MI_GB%JGN/50Y%.]0@X;V=4U&\3X2>\>MH<M"X4KJK[-/#L*E[5IQ4)%]R:E-a
M!="(FI!A5',3JO#G65?70:Y"^S9$#F((0GV\JMJ^JWR"3Z"^NGW*M.!LN(@@a
MA.P$ZJ#LT(;YYCP4$."D]JTG/Q I>"UL:#4M(0\  #LE  !+:H@F(  35$-0a
M7U-46%Q40U!?4U18+E185 ?4"I=[FMI&VWJWC$@'/V832_!1C<C<<: @H+33a
M?YL;;02+D=PD-/=I)T+CVF]O<2S?#C[[]]O<2DW9)18)+@6BW$N?<J@468E a
MG>'O>UC;3?)_O\P7_.^AS*6ZG<M[+S='7U9?=BR^[+>O7NEVQ\7PI9.VL?9Xa
M/)Y/)B[_AQ=_QX+_-4X?'.S-NY;WMHSLZ84MHG9CIG=5&,*;UY/!_C[GSXO!a
M]."__Q/\NE\69RHD[HS5/S.BRO2YDUE53J:Q\NQU$->H_[C6$-9#.G@!;6:Ha
M3V#V<\*L%_JROI]&%C8L?6S2/ZUU0T5.C$+1%],SF=#JW5,[T[XMUZW-J=/Wa
MF/I9J?/R?M;38VK<Q%HP7RBP0*&O=4_1IK97!FMM<VD<5L#(@QB+*G:FOI3Ia
MM;JJ]Q1=>AZ85UNIT-'\U8<%]M,Z)A4ZAS8HENJ[W?/T\_/]N/IYT3B ZUX<a
M51N"[9WTHZ)FE^I$2\OMRIXNYP8J^-8978CHPT"F%84H=K./3"6YG,UV9J'Sa
M86#Q!UI\Z:M/LP7RAH9=]?)F=6U@0BA].AE Y/"S6.#/_6AG;D;KM?7I9 >Ga
M4Q&QL;97IA5%$4]NLP0Q'B44'M;7B!.0[;;A+8*G%F@:?IJA3"B&A\S: M@Aa
MMQ?I"?S=&(2",\&+P>1G%)VO'>\I6F3@9^$AOY1H2B93@! 2(C)JUB9VMW&'a
MSK;-V=>UHAL+X#\!_YUK%&&X:X4HXIM.[!?I=7MA5V,=54&<LXG:.5(P.GGZa
MN?*&%,R<WJZ%^UFH19MT.CQCK6UCN]3BT40;'OL%_0_8ZD?-32$22:.RHNQ*a
M-UOU.@'X")%\)\3&= ;X^%D1"D/OW,VNJ'&Z*8"/W!?LIK?1W>QM$,#O?,YPa
MA(6#NF&V7M%\3]6IT[PL0Y#, ).Q43HA#6C!ZG5V54IR2J;-"=PBUC"9Z YIa
M":BL=S$[I= SFRBLQIIXAAV<L<+*(4Z!$(&H,(;69 ,Z XT1C;7!B;1^A+IJa
MUUB..%K(D<(/?I=[Q'"@([JMB<1;,P>R+0E3(*^(I) SX+\U#SZG%930',J$a
MXOQ/KBX"?!'<UFC0(9@W!(-2T42*[UOVP''++POMR5[2W8%=JJ?6C' ^G5",a
MI<HV"'E%@CA0>$-RQ^?+T"-KQ9E!6]7HY%^#O^$.L@9I\[-NEX]@NVW/<!UKa
MG9=RO!)-+J56&IW[[%2V3&9 HMV !IH;.%7]< C55R6 '?%B'S<O)QH$V97Ba
MN):++CN7\96@^>7D&-+O 0FEM-?>#&($:O?&Q%F1F@(-$R CYLX#/ET!=A%&a
M38+^QM1CAM:QB9DI8YIFU(MN1F]7>$F:-A;:MX^!K-(;R71-(KTZ, 1SQAOEa
MX]5E--J<)Y&N%5:/T=O1018<I8GS8_+B]GV>F]>R4@!007=T[V$M_$H&<D8Ia
M OP1PEB+ZE  \! ?LH?L>ZJ])D<HN:6;&TOB2EKO.,^?/T^?GYLK(S%V$O:9a
M\A1,06XLN7HO7@\[XH<9Z_P0=2WA#U;W5:(AYFB@E0V%NH 8/!'/]44 #(,Da
MT0A.?<2>_T8^BU$/Q9&44X,8"E#EH((825,*(7Z =S>O.(BJM.[47'=>:#-Ta
M+%4"7@R&'/LL_84*64G%T=/HO=0EJ)LY?))(6,_HCX"9/-"!?$B'>H2_-=0Sa
MT61<>:Q_CS#$YG_/,8ZZP3F)9FZI"6A[T0=+&1^32O(FNU2! 23>0-Q@R6D&a
M[OFG% =J;2%,/!JR+MF!_?8^M/ABHG8@(R#U$D=KTOI[+1IGQP7[>] @,]CEa
M%W C)*]E38]:="6G]ONO0>_V?60M"](E#BK4<M&6'SOS[DZ)2)1RU%'*P0IKa
M2H$'=/N5=OB >>]#_@_.G8\40&I )$X8O^Y;N&(,+Q3-"9=*.P.E*RK $ 3*a
M*([U"[H1UXT1J\$4MXU%@3OY1U"+X-$XBX]M H2P?.G(Q48MEWX$/KJA1VQ_a
MD''[I<YX.4:Z<5/LU>]$\%_)G0+T$*&0"X,T\RV:1,W;%<>/^4+NL-(J#$8Ra
M":XH?/J1XT3&,@J200]TE.&4,8\=]TPX,><>[P7WSAOAI_0P%(%'QPRH-B>.a
MOJMIB!0XL2-['U8^C]:B3Z?\5$GC_.HDQQN%@2DZ:1*A%I4XD-8;K*E*VD==a
MXT);?J#&MCI4):3Q&HC!=CUM=FBCL'NQLSYWS/67<<JZA^H6$%<J":12LI=@a
M7RS]PL&V[YB%L933DHVT0?9S8OL\^3U_+CYA+?P[* C0 K /Q46(4E^"_$.Qa
MMM<-\0]M'-0LT$CP>X#</O2J3(2YI0G--F::F'-N2RIJ*#RJ=<,J+.MO8(RDa
MH9@EE+/!] MG*;!.^( N+IETWU?4SF4HM *#&&/,GH2+UG3C]3,U$)NQ9$S:a
M66O1Q<:B;-KNHX M]80>3+TM7C4RRN135/16:IZ4"G&H^*!7AV$%,Q['CP!+a
M&D<KS/5M-A*$J6TO#!$EZ<\@KAZL '\GPGH#7#DM%_O6O$?&U#@0X;45[D@Ia
M-,F[;W0F?3)F,PNRR@ +M2?6VI[>C;;:+2+]0HH X<B.$-( YK=E)1$K29^Ga
M'ZQ<(3 9LU"X<'=4XH.=-,:P)M*W!W#S+NE',=?5S]/V&J4\4GL"?@0_&P7,a
M?EP(8^2&O6(_1&?.^KX0M[4!7H%R&MX*2M<%_:[,+':&TR8LLC;9[6X"P4N3a
M/FQ>-60) S*9SO19*F.9XL7A!,=L5:Q1_:[-Z4OZ/$9[Q&[[>GK]'/ZD00E]a
MK1BW+&(0"RPF<HOBAAGS+(K(D 3P=3P&Y6*&-I&R53T-0%?K+_ZPVF.<P-M-a
M2 +6=MOE#SDGR6:)?9D*O\;3-:GI9YL@YVP5_><Q-"A''03)!$1_OPFOE@ICa
M:26SW6HF U"#)(!CBE3RCJ$ZUK.L!4]9>7IKKU\81/'_)-P/D/62A=[:)! Pa
M 0':W".E'WE0UM+4,L4,8MY[08I+;*$P)RA1:6:N0XBJH-:PV\*Z*8)"G1)^a
M.H\K%"CV>MU?FM0H/\QA*DC?(8IP8[J4%1[:P9*,$VL0KP269W33<*0;/8?Ma
M$[8](S-2H'%(=M<9)6[1QD1Y2^4 K )DPF(T.E1R3H,S FS%H9J30@>)G%ETa
MB=@)-3;(L<%37;;;D7.5KO(GY:0E!%/7Y199>9:;.LDQ\$.@7_((K*^Q5W<[a
M\X@=EQU"<8D4N"^*(<06 3@CO<A'S6[%D?2<(R:.YU<P%/6G["+ANH +6_65a
M_\)A;@O.2;[;B7A #J"OCQ+!)O*IOE%+P+72F<WCY:;BE3Q,P*&-FGF0H2ZBa
MZE@ZS8HUV2>_]Q8A; C5*K-86&J6&5G-6[Y5(D$9IF$WX+I$L0>XOZ!4K>VGa
M>,/G5!C\Z$VBG5PB&1"1PK/88;42@_;\GR);G8+_L,V"#&"G%'1VTJRB!6X4a
M61-UU!].DQZ6^*8)E:GKWYGPBSJLUN][II5>&>J&KXY6[$SV;P)=\7PZM)K"a
M($@^ ^8.#H?_!'#_&JK:(/#AFJFFCA(J*1AI>DJI[X[^*2RRYO7_\J*)1FIAa
MT>09*.DA45B L0+U#@?.N,G"6)DO35\*X<!Q;( G^XC8A&;UD_F\M+< XTY$a
MN$Y%J\%#<]E-H19@O.!H>@B:G[]AA=HDYC$HU6_TJ4QL;"=TV@ C3[M\I"7Ga
M:T+:<'=?.U&M$3&&&=LT;AG^=[Y4IZN@$O-#^Q*G?C0HQ1?'2(P%F$0)+LELa
MMF?*W3-@); "KE$ME)7[C:[FEZA(8OPH)\0H3%")5T,#BW.<5>3@S%EU>WH]a
MQO \*2J,L.AI-2[3H!@(L73"!E]G5:?X<]];3>D7]%A%T%L/)RHW#S&C3^M@a
MWX_[6#?SXOF^C\[!OV:4/+PW4E]N@!A3O*WG;N3 O +J:N1DSI09D.&<SI*6a
M+0T5^9.A0OF6:3'N>VD0"5V4KEE98RV=UL(6D4;(KJ@SLON$9W1D!-:!N.G^a
M(8U0=8\F6)(DA_ P,%U+,,VD]8O;CH;<REOT/B9"S;O[KL7N[N:0(I'JR4)#a
MIEH?MO;:)6FN(!HF8J3&+RZA(2#'[E].3JR\_K74.RI$Y0AITLH+S4AE4#),a
M3CSE7S5FB%0T[$3.QW5 YD@3&8\G4MK.:M&Z-$C@$FVP%H)0&Z1*HM(]*@,Xa
M]^$:0!\ _T1A(3'AF>)#1@^;1*<]/2EJ:"\4D>FE/MRL/ZQZ?1_J/3)3\$^Ra
M,XNG'QJ_2IVT9CRM<SM]XN!5U<"88 +"'6')DGCMJJ6+A.8PWP? 7'4,4\+0a
MN665NC=X>Q++M+)VMQ_)PU=0H/.]I;1GY)[ ,#[^\12'+(';=D)@FI5XISF*a
M@$(EN>P6;95VQ,6UQ$_W'Y\>0XL])K[%P[KXKRX#5&<[2EW& ^SMJ,:^1!0Ja
MW( !P9^D?DL3E1W4%MV6:PRSA ZVVDGCWI40H: + D:WW#+&U15G<H?C3%/Sa
M#7_KLOY8S)9C=]8CDSK2*A;$JA;<A03EDI44IQD,#I0#/,[?>Z2J7CPC?A:(a
MQ(+:TA7PH!V<1^RAV>NZ=PLXX\*XQY,S)=V$"1%*MHD]==6LM[<ND6UBP-?:a
M#VOBRXPUGMVK]# O!W^_WPBY#JX AVZQ*TJ"6 _N8 O%VV;4*K6>+DQ %V,Sa
M/W5,JU>RPGSW81 U-.ZY9/RHDO_3^>+^\_G@_MM,GKK(QD_8[\+W+:D+=IIOa
M)A?);]\4T,3,661=D"2]DK)KM\OX2-^"V.+VC6X=)L$YV8S0BC8LTG#+)T@]a
M'?53ASME4SK2JUWS<34)I<7;^;^9;9I%W7N^5:UB162(D+,(WU=VCF[3#+0La
MDHQ?@%<@-XHZ:"2L'O-H-L-/VX.4VYZ6TQ"_37Z6\6N#_NK?HZW3"9M+<Y(Pa
MTTK!J55:X8K1OM6IG#W+6P(C32#^N'DEO^A5.I0%AU98DF_QSO-1T//6BLS6a
M4=EV $3!'CR1*.<C[\%D4W/=K3?K+U@CCHL1H]Y,YXNTOMZD"R0;/+ZY9,2Wa
MZYX;:9?;__E^_[DP_@\Z<8[?Y;?+C;A".[1_%:K*91G7"GIMFI;EF[E1/N>0a
M8E9LEH6)K-BOX7*+VX,XT)#LZ.!7#?)9M+.F-'5'[M'6F Z3&:RREHCS&.OGa
MX4J=HB,N8(@"(;;@?4BTQ(:T=0D:D'B", D;C444P9YVG>;)YP"9W[VB4#F]a
6@/Z ?\ZY/XP?\MXKP 3,67W9?^]0 'B"a
 a
end
