ibmbin-request@crdgw1.crd.ge.com (06/06/90)
Checksum: 3209149213 (Verify with "brik -cv") Posting-number: Volume 06, Issue 195 Submitted-by: caprio@uhccux.uhcc.hawaii.edu Archive-name: cvirprot/part01 Because I don't keep viruses around for testing I can't say anything about how well these routines work. With the virus problems we've been having I felt this was a useful toolset. The submitter says: This archive contains several programs designed to make C programs virus resistant. The programs do not actually stop virus infection, but will alert the user that such an event has occurred. The technique works by embedding CRC or checksum values into the executable file. When the user program is started, it checks itself against the CRC values embedded when the file was first compiled to see if any changes have been made. The program is a faster revision of the version published in PC Magazine, Aug. 1989 (and includes a correction for a bug in that version). These programs have been compiled under Turbo C 2.0 and MSC 5.1. They have not been tested with other compilers. [ Checksums obtained with the 4.3BSD "sum" or System V "sum -r" command. checksum size (bytes) file (between BEGIN--cut and END--cut lines) 54689 14393 part01 checksum size (bytes) file 18146 10423 cvirprot.zoo -- bill ] cvirprot part01/01 BEGIN--cut here--cut here begin 644 cvirprot.zoo M6D]/(#(N,#`@07)C:&EV92X:``#<I\3]*@```-;___\"``$J```````!W*?$ M_0(!^@P``'$````^$\5<S<TZ&@``B0P```$```````````!A8VAE8VLN8P`` M````"@`06UT`````I`%`````0"DC*```1Z1Q,X9-'3)E0(B80X=,FC<NT(AH MH$`@08,(%3(DPR:-F(@3*PXL>#"AB#%OW#P$2=$BR8PGZ>2!4X:ER(LE-=*1 M,_",S98(S0Q,2$5*E2(@8@`M(]1-0B-!F$Q!"H/BTJ8)Q;!Y,V;-'!`RJBJX M.A3$$"E#OC0I0@7)$R(@0+Q08?9-FS9EW-`!\:;.7CIO0-29DW`,FC)=Y]1I M\U7%"ZMC(S,,0R?-&!`,Y=09LQ=$&#MI-'_=0Q&$X3!RXJ)$N`5'EQVE!W8& M(28/G3)S8"L0[&9.FC-.R8#8ZN;,\#=WQL@9HQN$[+BFE\_9$O8UQ3X@=%/, MO'GOY]"#XX;1FP9TZAX@]H@8$@2*E"1/N.`A8X8+#!%]M$>&+-!,4+-HJ<66 M6T1`1E$=O?T6G'-Z13=&##;0$888U-5@0Q<@]$`1:0HD``,>,(0(`PL@?#@$ M#$/$0**),>"@8HD@QD##B#`.,0,,+WX(PPPGK@BB##C0:*(,-*A(D8=X#&$# MCC["8$./,,)P0Y`^#G%#D4W6$&*5-:18)0TN-DG#C"P<:>*).8(X!)0Z$D%E MC41@&:416]9HA)<U%A%FE$60:2:(0=1I8A!XFBC$GCH*06:-.3`990YL@HC# MFR;B@.6?;CKZ88N1QI`#I7@0D8.<FPHA:*A"%!IJ$(CB$4,0?G:X:1&G$E&$ MJD08T6H,1BSZ(1%$:.HJ$9T.`2JQE\KJZHQ"ADH#KC7L6H.OH=X@;`PW=&K# ML38DBR018:49@PR=SG#L#*2Z&D.M,>`*PZXPQ(HDG<+>&.D,+39KA(QISG"C MOCRF:020_1(YXI\S+*GODP)/V>^5^FK9;Y?-H@MJK]Y^R..I=ZIJA)O]QJDO MG?W>6;&>^O9II+)0U4MHQ8?JJVB_C>H+J<"3]FOIP<H">:J>JA;Q:9HRC-IL M$:82G6JS,K!Z-*PK(UD$K43?RK2N1_=*=+!'$YOFK:V2*^^'?0I+9*0R1'OT MM$1;>W2V7V]+=+<\(RE#6$>3^[6Y1*-[]+I$M\OTNT?'&_6'@0J[9*0VY.MC M$/SZ:,._CP?\.,&2&URFLC8H_#C#CSLL.<2/2RPYQ9*#V2RL&>/QY*F$JAH$ MR)*+_#C)DILL.<J/J[PYDD$$FJ8-+TL>\^,S2U[SXS<_GK/D.__^X92G'JJJ M$$/[>(/1/@J1M/9+:^]T]U!+CX<05&MOM?98=Z^U]EQW[W7WQJ:9[=CGSVC_ ML\W>H';W;-.>V[H'M^[)37MT(]&?;H"W[NFM>WS3GM^Z!SCM"4Y[A.N>X12H M+"V=JE&JRD&+TE0#&34K!S<BX<9\5`.?^2@'1#H<'G*P)!*^CH74>^&52.C! M%W8I3:-JU;3P!REA=2E2-<C4"^-$0GJ]\$Y`U!,)RV:^&B3NA80"XJ%(J*@3 M-HJ$163AI$YH*1F.,4U@BA0-/M4L'(P*C:9J8ZK2A`-6H1%6=?L0#6C5QEO1 M45=H[%4;@X5&8C7K6:#"P1!:-Z9364I5.(@6&J?51FNA,5N'W%8;NV7&</F( M!N0ZI+G:B"XTKJN-[:+CN]`8+['DQT"1F0L(6D#+6MKREKBD)0B"0`8[C&<, MA5D."-P@!-O@QC1H0$T8.%,&.7PEE]`$@6.V(Z'*7.8YAD',&KZ@%:ZL`078 M7(XOV4"BTZ1&!4-(IAR6>1MGD@A!O@%.&81#3&/.(04;*@UT&/27-L"A.?LT M9UQ4H)PQ?,&<`(4./!4T3Q"H80?[A(XLG1"8;G8%,VCH"QN$(X:$^``$W5J" M-!^SFWV:X0VI08$:>D"C@AY4G3U(IS*9Z4R(J@$$/!AF,6^3&X>N8`4L<*DY M?XK/DD*'0PF@@S][4-!Q>H&@RWDI:G23@*:&@0T]0(%5V>`#'^`@!5XH*(0D M1"&EP@$$)H"1&<Q@':/&I0_ZA(X<RD"'.LC!#0X:IV[@NI^^MJ0,;"",7.@R MF(0,`0FW6L(4JM`$`;7E+2.%Y5R@><M=DD$X*<E*'=;:S*_<`:5T0`,(`&.6 MPW1E"HN9)66A.4T%3,::_$2F-KFYE:Z`LT'IU"9JVU!.=4I3INNDZ1S>F2!Y MTG.GN"DJAZ`C4*@:%*%Q7:AQ':H?Z)PTI4*%*7#9V5D2K10&-L6I3NUITY^6 M,ZI#74%1(YK;TZ9V!>AQKE3ED-"YUO6NI=7M8O;*G[PXQ`RPI`@V3;L&$-S6 M.W(XPQAZBQIIHN8,=MA"%Y0+F;@\A[G+`:A`!RJ&S9H!HA$-L8CW*4LHO$$V MG1UM8,A`F3#0QL/-C&Q)-\P@A([XQA&5914(DYJ!P,$O.-YG:RW<(.BHX45J MD`%`+ZR:9!:G#"`.\HUE207-)"0-9@"!4-B0D*NVLZ'0&3)OXKD@9Z9!#U"6 M<I!E&80V]*5!;\@RBR4$@KF&03BRJ2B,STG2N!@A"4Q`RD#-X`:`2G=!Q#%. M7+:2G.60"`V_04-!HUSB-_BF,BGA2Y914X8P?.4T3^9H'D``!\H81L9Q.328 M0ZR%9KX!N7.(091S3!<AU+;`I)V,'/:"9CF<N#BTL:>(Q:QJX8BXU;Z&M9)' M+$M;>U/%6AY(&N8@VE[_VCBUX6F(B5W<!8G8V5V9]93I,@+:W/HK=A;.>(23 MS:ZL>MA]1F:#@XQ.=4)!W"*N-(I30UIS<M>9T.XH"*S=4#$S&<?(?L,4PH`7 M<*]!W%2VLG.RG'!8QR!#Z*FX/640YG@7>\1M&,B]U3Q8$!3!#9C-LD4+C%+/ MD,<\F-E)=^R:$!G#,BZRE`)=[8K7U1Q3S+*$P2Q!L.,8WW=!<<XR''Q]&\X\ M!*_PUJ<L+]X"$!@A#5P>9AGL$.-2TR&;9""1&P*S]#<T'=-X!3I=.%[UJV>] MW6MH:%_V\@21DESM()C!T-V>D&1^I:-YD7>H,3.2A'C]U*VM,,[ITEY<!X8P M5\YR8?G-<[FO%03F"4_9S_YT5,?EN@8^<H:28M.+Y_3!S'%H#(@:5PMG&04A MR,P8_(F"!T?XR%U@@0A>$`81I&"](;8OS\%27=<;&`6$'OU):>*&VB<XPC#( MO0CD(`;?IP#C('!"%9C`!."GI_6D]LM74"`"O@_3[%I^LW"X<`,1@"`%"8U+ M&?"0AKV@(`;PCRM?XRK+Q@<\(8HQ5Z1F:J)U!YY69PC"%W@56@FQ90DA9A-G M8.-1&>;A`@4U'=&'?4)G`FDU@>41&A8H'5L0`QC2`^@!`]ZW7"1&%U0`:9_V M!AEA@%\Q=GMQ>(=!!BZ0?8&1>5^Q>8B!=J8Q'K1A>+X&&@@A'!#X>05A:66` M?&Z0?VY59SN'7[*F?S<7%QUV>>@Q!E=56[7W<B"8;;A!(KZ!9G&F5>KT>PF5 M9*,'7G'E<&V84*!V!@F!'E`A%4604(Q64*/G@16XA\*T`H1GAF;PA10(@CYW M?2M0A48%:6<@:<*$'GX(@H!X&8)8AF5PAMS!&9[!@U`('1K'4Q>''BA0;"F` M`I4H%RYWB'+@`F)X3PD5BKC!<:1HBBC@B)!X&2^PBA_8BJ_XB7&1<`O7<+<V M>JB(''QH@B"`BP4%A7%%!H&A@OMD9FBF?.EF8%EH!F1X9IE8B.:4`B0RB;YH M3R1":,`84)%8(OH!?H.E`N[XCO`8C_(XC_18C_98C_&V@OEU4;E6!I$W6BYH M;L_6!H.Q%\G$=9AW575P3`0G'*15!@3)!I3Q@/DH472!4K\Q$%<5<Y01'G'& MBS"WB?=5$W'1@LUT93,8&&=0!\JD%_XX4!6Y>`!)&0`Y;3&G&9Q!<U+H&PCA M6?4':7B560+9%62X8H]G%PF!!SOA8DDHDW#W%?WV!ES';P'Y!G``A"27E1&5 M>%$8@2@`A\HHB['F?4?%CG$1<FX`!:,'`FAIB+WHBN1HEFI6BMTV3Z?(C,)4 M=>((E]I6:[>FAG()>BA06JBAENB1C2`@B'1)9G9YC(UV&7H)AN/8ER#@<"G0 M`HQ(<L"EECF%F(*(EO<FER&VF:S7E4*VF7'(CGP58H`E6%AF8"$@C`Q7!G#( M@959C&'I:LI&EG$AC1$EF*AYF!X6?S>&FIWI88EI8+:(EY`)DF$H;'[I3>>( M8Z2I7J(Y4,&ICJIYA>AX&5M(8+3U;%KE:"^V5B1"C64PG<;GEA5X@5N09#^% M(2&PA<O!F]]GFH)'AZ-7%$=!G-`A!G;V<-O9E0[W4PF%'7<`:5F'`NB)?7OY MB\6G97/5A-EXCF:PA(3AA,YH5*^)AN-!A]<GD^;G=T,8>%YVDL;6<>`G?/@U M`PG5FC7';'11!%-I&T!I''`G=T!6=YXG5U.(5V[85_O75QH0$-RGQ/T"`7$: M``!!#0``?11J@;^:'1H``#`-```!````````````<&%T8V@N8P````````H` M$%],`````*0!0````$`I(R@``$>D<3.&31TR94"(F$.'3)HW+M"(:*!`($&# M"!4R),,FC9B($RL.+'@PX4(Z<@:>`4G1(LF,(AZR%&D&H1D03:80>3*EY4B, M"7FT*=/FC9P\$7VT+,-F3AF?%TLJ'-IFYH@R;AR:@?K29,<V:>C,F=G2YL"$ M5*14*0(B1MDR9LZ",!*$R12V,-[&=9.PR)0A($#(N*%7KA@V;\:LF2,XKX+" M?$$,D3+D2Y,B5)`\(1*X\PL5DM^T&>J&#H@W=4S3>0.BCE,08]"443RG3AO& M*EY0W*V`H9PZ8TR#"&,GS6_&>RC"1A-&3N`Q;Q!NP=%EA_*!PD&(R4.GS!SK M"EJ[F9/F#%\R(!"[.9/^S9TQ<L:`!X&],_PQ<[;(@%&=8A\0X%'D&W"F$6>< M:X&%45H:Q3G7`PA[B#!$$%!(D<037.!!AAE<P"!"'_-U)N*())+XF63,K9<0 M'6BDP=AJ(,PA6ADLJB1>&G'4D=!`(.2!FG-QL9%0;LJ5:.21)TI!%%%BE.$< MC+$I>$9"8<0VVQHNC#%<4ZP=V1F1CX7I4TUP24:999AI1@1O%-4Q7GGGT5<: M;/'%8`,=88BA7PTV=`%"#Q0EIT`",.`!PZ$PL`!"H4/`,$0,BC(:`PZ0+FIH M##0D:ND0,\!0::$PS-!HI(;*@(.FC,I``Z04$8K'$#9X2BH,-HQJ*0PWG$KJ M$#>L.FL-A^Y:PZ.[TD#IK#1DRD*KC#;ZJ:%#V`HJ$;IN2H2OMQH1[*9&$+MI M$<?>6H2RS!H:Q+:,!N$MHT*$"ZH0RFZ:@ZRWYB"MH3A4RR@.OI9++;V%3GIO M##GHBP<1.6`;L!#H'BS$N@<'X2X>,01![J`!%]$P$45`3(01$\=@1+R%$D$$ MP!03,?`0!JO<+\849XKJP31X7$/(-9!\\`THQW##P#:T;,/+KA*QW[,QR##P M#"W/H##%,6P<@\<PA`S#Q:YJBW*G]\XPZ<Q&8/KL#)V"+>JS1I@ZMJJ)ECM# MKBG:N8_<*-K!C#SNSTP:/3'2AHC;<+<1&4#OVM6!K.W:W>X,+]KBLPDS7 MUNKNW2[8\(X]+]CVHIWOV/RV#;.I#8,+<1$%/RM#PC,7P;#J#\\L@\2M6QRY MJT5HK'K'LH/<^LBJG]RZRL]V/+'26!<Z+LJJWBO#S:WGK#K/K?]<?-"J#RVZ MJS+LU[K2Q3.MNM.M1ZWZU+)7W?K5MQ=Z+LJQWFO#UZ0&(3:I-I1=_]GUJXT_ MV\N"F0W@5C^YU8]N^+-;_?"&/[WASU@SL]C?\%"KAJD+8D$P'/X05S_%X8]Q M^'-<_2`70%<%X5S/LD'E\'>Y^F4.?YNK7^?J]SG\A:Z$A<I5P]H%,2&DCE0W M8!VIA/`Z(,8.B+0;HNUPB`<AZ`Z(O`.B[X8(/"`*;XC$&R++GO6SY#4Q4URL MV<QN`+TA2@^(U!NB]8:(/2!J3U'ENH'WA@B^(8H/B.0;HOF`B#X@JF^([(,C MS(#5L'E!+`>3>E8-,#6S''1*D8$C50U(1ZH<J*I]>,A!K!1904GJL)*]4B0A M*SFL9R5L8CGSHKU0-JQ[U>!?E;R6(K56R6Z9$ER*7!X3:_"^2JK+E.U2)+P: M.2]%KE*2^6HDOS"9S&<9ZUXT*-C,<)`P9S)LF@][%@XDYDR+;:]0--#8-#NF M39`Y<V33/)DS53:SFAD,!T.88+(:QB^(X>!FSLS9-'GFS)^U,VC3'!HSCT8J M&BBMG4R;IM.<&;5I3DV;57/FU1P#(C:%Z40MR*A&-\K1CF84!$$@@QT4-(:$ MW`<$;A`"=[RSG.94J3MR8(Q'9PH",#$D#'1(@Y;J8R7%?.$PB5D#"G@:GY&R M05%1<HX*AL`<.;S427-0%'GT4(8OF":E*YU#"@)5I,[4APYM@$.([-/4P*C@ M/E](ZE@#XR;RF*<,Z%'##D1T(B>P!JB*B1$:4,,&]#0)!#X`P="64%/=A$=$ M9C`*"%"@AAYH"JU)[0%371H<J,Y5#2#@`4I5VIWO@$`-*U@!"R#;U-!N];"= M$50"P`J''MS'J%XX:WS2VE3P)."U86!##U"`6S;XP`<X2($7[F,G/.F)M2`P M@:7,8(;^H#8P?>AJ8.1`HSK(P0UT&H-1P1-=,7EW*4U)R(E<DY`A(*%C2YA" M%9J`ILQLIK`6_<Q,.0I2,J#G#9$10QV8"U40W,$H+`(!C)AZI2G8!@3SG:]- M\933G<ZIIVOX*6(4,]0Y$5@Q!FX#4LNZU*8^-:9230-5K;K9K)Y64&1M3DU) MVYP`H3:QSN'M;",[6:=6-J9S9;%S-%OC#S-F!27N;(YG7-H5G'9$%UY#AD&P M@@?)=@RT;7%7J4L'ZV(WR1GF+F^NDI4T;.6[8&Y#&'A4X0+)X0QCV+"*5="< M,]AA"UTX,6\"4Q_[Q"=$2>V,&=P0AJ%L`5C.?4Y9S:I?YBI*!84V@UB-="(H MO`$[_841&7`:!NWLUPQ.@N]AZQP8-<@@1)P&06+=1(:Y>FE$)Z+";W9T$SC@ M-#:PB4Y"1IT53=-Y3IT1PU3+8.I3>P8T4Q!Q0MYPDY/B=0U&`E-@=DUB$,14 MV+WV-0A.%(2BN,DTQ`;!I/'D[#*$`3W8N>NE,ZUL.64G1K-9C1Q80&PS.(4. MT?XU"!Q-GISBU[^RH2X(7$T'6$,G([1&3[G5PY[`F($-\9;VM$%CA#0(*3U8 M.4.`%4ZB<ALA"4Q@BUGW[.*N>GFQ;=92#QXD@R,'!L4B\LT8X)"'Q>ZYSV50 M5)O?'(,XC[6[G6&*4[J*\L[`(26E,0,*1%"".8A`42(@`J5%[?"$\'DH.E!( M"M8*@BF)!04O'\K4N]I=C]\$!5C'[H,2"P>LA!WF+!"!',2P`A&D(`5_>I`3 MJL`$)I@<0M+==VH8,_2&/]P-;S!-P$'`A1N(``1;?RX(RH"'L"PV!HGO3-?# M).\CT"A&PCY-L>.CG0DC&T;DM;7!V?`GI@M)2.MA$=:;#OBPOWVL9&!-SP/S M<^Q\701<<$/N_9Z07=.',27HJZ+$C(?.!Y4Q+@)!"<B0^Z.+^JC&ITWD153[ MH"]6!$QP3Z9]_Q7'WWL[G7W!L7^O?.:[X>@'%[_GY[`"R%.]^G2X?19^%'UD M^[X-KC'-7X4TAQ>E2/EU0'CGQP)5D`1.0`66$018,'T^!W3Q=WVYEWL@4`2E MD6G@YQWJ%U0@$'5N1W5S,`8*<GO+YWPFH&O"QH#_<0<M\G!@9X)4E5G/EX&T MT7YP!P)\P`>+Y8()$5@']WH6-6>!<2(-5VLLDA#\!FM,`E<(`6[8%20KPAH3 MAE-4LB`-$B,H02#6-22&E6N75GH@R`83A@)1HRHLL&O$QEM-Y8.HY13!H5@/ M`@-C-7@/0A=V401C]6PO.';4]6THD&AE*&QGF%0IP`*+)`,LL&>)UU4JV'2+ M!0(A4`9GZ(2MAXAP9P+*%0(!=W>SAVYM*`>A175XF!!ZZ&UD@`(E>&E_%@,S MT`5_2%6!F(:$F#2'Z`8,:'"*A0+M]FZ.-5>Y>'F:58B\R%SO9EIY)RB?\7%] MB(J]2`=^`E@@D"ERMFESPEHA`F.+A5QO.%>LQ0,XH(UA18RH!7\B.`9'EVA; MP%HV5R3B.'3-EWC=56XB@HR^01!A98KFN(RL.!Q4:!Q9(FM2A1*HAP(*DE,- MTH\(\79QMRAWEUIY9XND5GIIL194%QABL(=K,)$X)R(9V1E4L7)YD(R&=HK, ME8JK&(LE=W,6)6]V=0?HUARP5H3I$08,P8GJUFW?1A\W`7@@T"*FD0>7!X_( MB(FHD16:F'=LJ&Z?F'?6B(O"2".[J'GNYHO.YGLM8(5R$)`#R2#\^&]E,'50 M.8Q&5HP-26=?-X]C4(\B:09;L(PKL$@EJ8\$N97^:)58N8]R8)!="7<CIY!C MB7>*AUA#B1X/$I%VV)?:89$3"5UYMY&3YW6!@76!692*)X[79P2!&6L9@5,T MJ5C+IRC+)X!'=Y1&T0*5LHRUJ'=B<7U),!Y.DE/K`9=:>1S:1FD=R'5=I7-/ M@5JS!P=[-W1#(&LH%7BB=ID\XH2U^5R\>74B8%>PV2`(LFV5-A!.(0?=@1Z% M=YPBPGAA(88H^(.4%X2@L9*PD5MC4`=L((79!0)&I2.,H2#HP1!=&&[-:1Q6 MB87Z!H]F0%UE`))FP(")YH6Y%88Z&&*N*'2"R(#4=0<#48J(.%:>5GIP"(3: M)GL-&8JEEY^DF(.71J"0:*"PJ!V[IB@-VI")!@>EEV@3>5+9V)`JNAQ7(F$: M*&-I5J(L$(JG.9]W>1_YX6FAY2</<A\329F^*1MYQ97#Z1SC]YEW()/*=S7% MUWR*\J!(%1\HB&^,B`(6NI<ZF(C?N7`@<`4IT1T")ALX6I_!D87FQAHPR7BS MQHCPF)4%>8&,\2`Z.%9PRH^(\1Z<]R`H()IR0)IP!QJ%R`1,]I4T$H=.40;( M%G8R9Y<ND*?WH2AW401+\`5W004,:`9W$*;[:0)WNFZ85Z!]>H7!,1S.J54L M`"DC^F(%\09.X7HNUIAAH@$!`=RGQ/T"`4(F``"X&@``/A-L7*TYE!0``(H+ M```!````````````<&%T8V@N9&]C``````H`$('J`````*0!0````$`I(R@` M`!LH$)@@`90@5(8@`=$"1!`0<.2\.2,G3!L0=-Z`2.-F#)LZ9,J`".,F#9TT M=M+(J3,'Q)@W(0DF`$&SIDV;'#-"E$C1XAR9!0O2!!ITJ`*:!Q,N?.EF3IHY M=%J^,8/QCL:($RNVF<,"Q!LW(J>"N(,FS1@T(,Z4B;JQX\>09-J"R/.FCAR! M<^K*&2/R94@0*,*<+3-FC8LQ*4:ZB3L2Q!S"7^-B[7D1!9PP=,ZZ*(.G3&*R M9M$^!;'2#0B!7QN#O<,FC\LW;>"D85-&,D^MBB5C'MR2#AK,.[-:Q'A58LJ8 M"GR+)'DRY<J6?D7>,2G:C9DW<MI@3I/:)`BPM7MK#$FG3':.(M-052[0S&R1 MOUN**5/&=!@VY>74=B%0()(W=T"T&UI6R;'&'#H0E)1"8V%W(`ABN#;&?6/4 MP<9V;IP!PA!2#-$2"MBYA`9A!]:Q56+7R0&"'6'(D4888M`F$&T9^@8A&V\4 M)M5Z(X+`&6%UT`$C;2"X1YL+-%$QXF,;=MA2BR+985X>>-7G5',BZ70626JU MQ!%&/1I91E<DQ;5EAAQIJ`9+='@%%H3>3<<&&P*=J1:8(G$X!)FTR7%2AG/5 M!29P8:RH$DL@:.?:;U**R&5M>+;W'I(@*)EGARO>5T<9T%%H(6:01@C"@@M! MZ6,;\Y$!EUQAX$7'2F/089=(*$"UW1B.O5I'K",YQU)B>0W:9AE2RN':26UD M&>9[&_VDP(\5ED=&5PH5,<02@"DG8&9HF5%'1R>E1E<=;7D$4GJFC:MB="G4 M21)IA'EZ87EX-NEA;J_%9JIR%^FD[5><>N7B&1S=UYJ[;%0X;ZBND<K?0`HD M8&FNL,JJ7Z^'>ME;CVN4<:Q&_\)AWG:IB>6P0!.[)P=4F;HX)+KU0E7QK,TJ M!@(.CE84JWD4IRD0:&<ERB:$Z)KT(AMIZ`&I3H7*G*:P()#Q1L!NO-%FCA7* M<=>S;#Q&EGDPJUODI$GV^%5K$-D%QQM,BN7;:$X#.EI&`F%UW'(@=.Q:L+X! M1ZI+[[JW6+UA^-J2S+M:C*Y`8D,;Y,MC'TG3$QV)]'=\(.`XH;0QZQKKK%V9 MA+#"H&Y\Z;UECN5B>:9?E!/(/3HN9(PBB?DP$Z#*T=77IE5[;<T3S@FI&1)= M-&YPE(7>IG[!D\ZZ0-KJR56^E[D(*+_$U0MP2Y=Q"^GK]8H)(94*.$S3%2.: MYIU^@BU)N.$4)PXZ"&@`2*QYR@L-E4`</>8G"#`X@9>:4IXPQ,5M/=)3ICX2 ML+_!X4)\B<N7M!4=@=2*(WP9%4(8-(<P!.ALKE&:1`1(M!2EITW=&TQ<*`@3 MSSS,*`89T%AFPX;O6"UO](%#8^!'/-BTQ0R$^9.&Q#89K71%#$'B7YOD5,/R MS"E0Y.*=F^`3A@&R""XO]`^`LL<2D:00#0F*&!4TTL5MG:4KQVO#T##X%F75 MCEE!\-T27#`$N:@++WK)H.UH4H06H6V"/2KB<%"@,JC\(`5H%-0<ZF<A,QDL M4@KP%KBX8YK!%"8P<CC#&,B423ND@%)#&%%A9OA$_5C,/NIS0WG4LJX6LN!G M90D:H]Q8I#?,"4!/2Q9)TH2@_AP%!"]0`0BDL!:[5+*%+5'!"P1"DV`"D"$@ M,`*S+-FQ`P8)!$_`UDVV61-E,A.8PHP!-*5))+`4RXPCFI8-@U.>6%$2!-[\ MI3-E`,TJ^`\CQH345*B"E7:&RS3<5.9IY"G,&8R369B;3WT<E2%(.:5RZ(3G M,B%FDRG0!R.<HL-A:JFB=W'&(@\,BVGJ%R"=E)&:E$H"_0I7!OZYY5QQ*=1+ MVJ"=P2'M36^`PS^S=TJOF($J\*-FFE)J!NCU*",=,\T+"A4&.(BL15(Q#0MI MFKJ;CFE#2+`6MIAHPS91TZAOE%RERO*D6]ZA)2E*%'9$4A'9Q$5\.#+@T]13 MKRYN#6XTZUN;JF:HYZST27004F$<BD&17(AE0KW>LH[$S"#8!S_F<<-V&F65 M1A(M>]KI6+U"8H8P6&BO&DGL&<BT&-2X`6W4#!^SI*@MN\(K#IN"RO<T2A"" M4"Z#1+S-<!)*GV/&YCWJ%-LBZ\*&N)1&(`XK`A:*X*:-:!0I&UP(5PG6J..] M*Z<[30U)X33$NOR,.5!448QRM`;')*T,E,)=)GDV7AV1LH:E*5(5\W/$:][G M#F'(@[-"XI0S2)9>A6IO>9VBM,QQ:F/OTI9@9'6?R(F$P.@MVU,$DMF`>:<- M:XV:>MRCL#:EU7`!TPEGRP`<;?4SB)1\V-^XJAS3D.$I#\QOO5C$0"^U:33] M,X\0V^*O$4F*-F0R0W[&$DNT-*XST8*<^$;S14BESG`"T8]3;*7*APGD(;#- MZ#O%,@>1U2:,"4`?LQ1(X]B.Y&+%VIN5C-8HID&V(O\<("2CTQ7EN.8^?`N# M9F%KDN6`ADA:DA>H*$6YS+7H3F+B"EC'$@;O3,@T\RG2<UZ%H3-0*@A/>FQ^ M_HN2JZITEB/IVAM<:JY518>+3*+F'$RTP-A2RE),,A5MYG`X(.GGE0I`8IO2 M#`(^CS+0"?M4>9`T1H;>24NB+-%6NC+39*G2*TE,3H^L"@(1C("SZ+'7%YI0 M!"H@X0E$$(%<Q&`UM,0QJ]>B([X<-@0K*Z`(;1K"6D8&9B4Q6;>N>Q*\4N*4 MDE'EU-A)`\$D.Z>]U4$,;3`)Y^A6OCHV(0QG"(,>T$/:N``-+4U]JGXD*-4> M!:$.9U@CK6=E02O8T@4V8,$(8D"#3Y8-.*?^5HID]=\RH.TW,840R.6RXB(+ MY,6,J5J;#+9%[^BD0.5-S876Z^`Y4,H(3U"1;]@FG?HE2N!HH(-`0$T'..1A MMFVI<X]>HC44=Z>7O]PE'9SC`AS=80Q[`4$/`/.86&&G!3%(C#!K$`-ZKL"G M9G@,'7:`%T86%UX&#"--U,YVM\,=5W.O51#OGG=X@H#O,F`""/Z^3\'O8*`$ M46EEXX(TS?:8).55<-7<D(>J(0IY6DF6BLA2G#?<C0R+5F#,'\-Q,-U;.&UX M]=A;"+AD2=J')!%(B\[2:<`)+RYZ,D(0ID"%W5%GG<[.+H^6$Z3ZR8&$DDV6 MNX?`4LR`>>4Z&.OO*?->-Z$-Z1O9?N8XTC$56?=B+/&9`J"R5M/%[W,74S@9 M0SVT02_382.M51(E<1+W<5ZXIP`B-#5R)H#/<1A[X70TD014(38W57]>H5-I MD'!*DVG&5088)B7.HAQ,$H$6UG%A)1VK4QY2-1Y/L09BMU!I)&-<-VH*P!%& MTX`%IBV(`X!9HA$Q@%:;@0=$!451`SM/T17ZD2RH8AY&!7/)YAB&MT+ITQ;^ MTR9'B"]"!P(LV!)2=`9O\#2V1X72]F">HSB4,@4B,P;J818&DP==448()!)- M8!82D1="YA7%<B'DTX$\<X!HH2TO$!8@F!I<I1]\=C%Y87QVTH+U$AWNE@`C M(`/I)P1^9BIB,5-BX(.`\@9BH`9!]!I_T4,7\6(_!3:J5">P(1M]@H$.X013 MH%)U)#54<T-=1ACJL2A;-(2*<SA92#3*AS3^]3VJ%%EUV!4@!#4*IBI2]A@[ MDB@F.!\K8XP]V!'L\U`:\B78$1(J(A8AX1$M0C)N0"GVA(9O,E.RR#,I@ES1 MA2\D46[P&")R]!J6)66?)1<8%(N8`2.S832<TA[%HV&MJ!_/UH#^E7VTZ$M7 MUGW8`69[J%GD%Q'<T15'4!%D4`>@`@)3("LA\6Q?4@2J!!NV-!&N@0)Z-4!U M%Q4AT"X*4&(]4@4E42Q7XAIB@00>U&AIT!4/5S5A0"E(T!?O$FGLHT*&TBJY M9A)@,71MDGZ`@Y%O``1U@`9C4"%*>&72>&!2201EH%-((A8FF1$8AB-G0#Y" M`0(S``,U``,@\'#,<@7YI9&S@6$7,P,Q``,R01/_434?\1%=@00J!0(Y8`,X M(`,R\$W<!!@X``,XD!@Y0`,XT`*):0,Q(!`:$!#<I\3]`@%_*```B28``#X3 ML%)!9EL#``#V`0```0```````````'1E<W0N8P!O8P`````*`!`[E0````"D M`4````!`*2,H```;*!`X(HV;,6SJD"D#0D28,6C*C%GC8HP(@0+;A#$(`H5! M.B#"R#DSA@4(B")!J!!YQLZ6+BD$[A$(XB2:E"`,HI2S`Z."FG#D?#2#0@07 M-U30I)ES\LU"$'+*A&'#)@\(,F_*,'7SAHY2-V>.BDC1\R>(.7?2T('8$:+$ M-1U9E@PYTDZ*%"!FFJTY)LP<AC!`Z``A)FJ8-3MJOE`!HHR=,G+R>#5X!L23 M)2I?^*S)UR_#&(+STN1,NC10H6[HF.DH`D32I2#,I&'#\(Y?$%Q!P@FS-B*9 MD&Y^]W63FW"9L65-*P=:AP[3HC;?EOEMYHT<$';2R*GS=P[RT<M+%Y:*&'QX M$'W,]_T+0D9HO>=+PVG^O'65O]?IU)'C9CJ(-V:LEMUV3`75E41TI/&&&PV1 M95Y\XQV67'SHJ><9"#.\]^!Y\SG'&@A<W'#444'8%`98#-W$E!AEE,&@1D_1 M\08(7C%D71IGšPN9!,>!J:4Q557?[45A4$.Q)H9586"G'7<NU#3$@@FZ M40=#VQ%'&8T1@6#@&7*$T<8/#4Y(84X'W71=#R"<449O9:#@H)'Q(9D:44:Y M(=:<9]:4QFHHR%@'''!`YE&:(N$5`ILG9'%"3'3&5P8>:J$0`Y\4IF>DILPY M5]1K3&&E%0BTS>'=G'UH$!#<I\3]`@`````````````````````````````` <``````````````````````````````````#\@P`` ` end END--cut here--cut here