Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!sdd.hp.com!uakari.primate.wisc.edu!crdgw1!sixhub!crdgw1.crd.ge.com!ibmbin-request From: ibmbin-request@crdgw1.crd.ge.com Newsgroups: comp.binaries.ibm.pc Subject: v08i228: atob, fast asm binary to/from ascii (part 01/01) Summary: change binary to text, smaller than uuencoded Message-ID: <2240@sixhub.UUCP> Date: 6 Nov 90 20:20:44 GMT Sender: davidsen@sixhub.UUCP Followup-To: comp.binaries.ibm.pc.d Lines: 282 Approved: davidsen@sixhub.UUCP X-Submissions-to: ibmbin@crdgw1.crd.ge.com X-Questions-to: ibmbin-request@crdgw1.crd.ge.com Checksum: 2800235935 (Verify with "brik -cv") Posting-number: Volume 08, Issue 228 Submitted-by: raymond@brahms.berkeley.edu Archive-name: atob/part01 ATOB and BTOA are encoders, more efficient than uuencode (but less widely used). This does the conversion from ASCII back to binary. From the .ASM file: ; atob.asm: Fast assembly-language version of atob.c ; Version 1.1 ; ; atob converts files from ascii to binary, undoing the encoding ; of btoa. ; atob reads its stdin and sends its output to the designated output file. ; If it already exists, the output file is overwritten *without*warning*. [ Checksums obtained with the 4.3BSD "sum" or System V "sum -r" command. checksum size (bytes) file (between BEGIN--cut and END--cut lines) 61768 15035 part01 checksum size (bytes) file 57752 10892 atob.zoo -- bill ] atob part01/01 BEGIN--cut here--cut here begin 644 atob.zoo M6D]/(#(N,#`@07)C:&EV92X:``#,G#EIWK@! M\<8,18L8QTCT2+0H42LV<>H$$<-%#(E#*UX$,49G33ETYH`PDX9-&:UFY+QI M,W),FC0@+((0D\9-&#EY6("HXX;,F[9GTJ*96<9-53)XA_9<:S&,"Z@00529 M$N1($1U#C4HF*E4,SSITX&!VP94-"!YM-=/AW!7Q1")%I@R1D@0*E21/G$"& M&!4H"#EEPI#1FB8KB#ET`.]L2>9WW]T@>FM]@UETVC=Z9Y+YFN:,6SIEBC// MC'EKUS*'$R?QV9LB&]RZ\X`H@R<-\#ERZ>R]S%UDYYGN>5Z](Z*D07D2)43%?7W_AE9Q6<-ADQAMRM)'=6NK)-Q,<8ITA1QADB5&8 M"QXY.).);X3Q0F7K^?6&<&<,A89&%($@0PTEK(<''"TIM=.(V(&``HYOP`'' M&R45I]8,,_0HAGIUU#'=7V6D@"((4Z31!AQ>K2>'6'(,-<9>8ZPA87X5RG%A MAAM6%%V,3D)7E1M<9:B7G![&2$<:N'D7YAT:#77EC!M6-6898]"1TI9.0%<1 M=E^*I!8;;XP1!AMIZ#%3GS:1.2$(;>@&GD="%/8B4$/E-T<=O86!TDPZI;05 MAB`$H5H22:0UHAL;N2\I8/YN3>4&2'5*U]+QM4U](KWPM4R MH(PZJAY.R-;,M$CJ?K5>=6C(5W%Y<=3!;&")W8%&&F>N1U)??VYJJX9![BE2 M>72$8;-6-<#0(Z8NB0U=O-V6-^Y;:7P5E58A`PGS<[GNVJN^YXIG;!@US=6D M7FR&.")9:ATZ7`HL3SY]7JY6*+0U!AM62CC'6&4,U1]@8]2!J;JVHE&' M3#QI/$<*Q#JYEWJ*0XUE<5QI+-?R5Y]`%HAET$&'>C]C%49;0XUMZ7QB7*_5 MC;&+449?O['(ES:TG2V-!P1Y8(YWBJ63,LCE3I%K%*EFPJ>]#,4D\_.,;LB` M&Y*L96-ON$/K)C(%*!2A"$28#8,F(@2(98ZD@$>B+*%IMA@F6`#CMANM)-/=L$T0\'6$)Y`A"0XX0B) M3(P1F",'#F%G7V.94VBZ\Y:9"*T,=XB35OPU`QGL[7%NP(Y,RDD$P1NJ,-) M;#(4BD(G/RW]"N(V-*4YP>T,8<+8B!I5+Q'H001;(]IW1K474PDT,4WM$W#Z MXQ(0B``/*@-!#<_0EH;V,S\78@.FXEF<*9U,,F@M#`B*4"PG@&`(7MD)8`%8 MA+^6`5=3^.NKR"*%OXJ%#B<3G$UF,MB=Y*=/@3V#?(`W)P@ABGQ;14&>[HC) M*WEI4Q9U0ZMVLA<\<*^?0SBL'.0RA,5VS[',HDB@Y(.;F9R)46M8+/$\.YWB M8+*U6AI*;84ZJLJ"`$SJ%X'JM)"S`D&)^$ MK[IO"0-5;S+28@WAL:/RUV_39-O2869#0O-7G][4!NF%X:X>>6]N88@"`8OD ML=,JCE?,0#6-V8L.W%L!4-E#AR](5;UQ/)F*UM5.JLC!2KY%4W"%2KQE-4LK M8LG?'35ROAG25@I#2&X8)Y*$)D"!"45H`K:H$(37Q":<$U'1G^%#V6S)9+O>IG M-W4[D[H5!T=0O4A.<<-6:9;)DYNJ@]W>ZH:2S:148Q#+/`/EZ-O0N5YA*4/? M$)=F$`BY5NH1RUB^QMTOB:4F5Q9)KS2U$_FT90V<1>I#66*6LO:IOVSX$YA4 M,J46('0H`MHLDP?'X!;L>8/F"7-_Y-.&+:'@"H,KG+>>+)(R3.R#OYEKO712 MO_G@``8SP($-Y"(X)GU:>LKFE*;^-$@V:'O,K].*_P!XY/>!()YRY5EBDO0G M;WDJ9IU<(0B0\(0KN/H)(&A"$)90V"0@$L!%.6`"Z_"ZV%&!"=Y<`LJ((G(% M\F\F2'LCRIVPA,@8I04XS[G.=X[SE7N$YT`/NLV+4JJ-_.0B$_'Y9(K>+Z!( M7#*.^O71Q9!TI1>E9,"NS`J'TDW5,"$(-2Z"%%ZP32AD@35'0,+'9YPKK:@+ M)AR;4Q@P0Z!R'F]^;5`6=#JX)&"E@2V<,OB;YN0__N6DG#UI]X>(W(:1)IM` MUT.#L9(UY/89_%6[O='C1'('#`5W@>#1\'Q`]`81%1DWI6J+5H:0I#STA]Q, MR0$?.13#&;:AEW\]EESRIVM22:YYB5G63RA%1]1U,%Z$$PE@QOIWS#BQS&[( M%X:Z[1$EJ$OY.CF!I>`RT.>:.<[`,Z]61H[X-F8U/U6!@^OQ)F?.'I,MS-&* M5\ZPJ9)6!T%!RH%?SA'P#45#*4![?G M7D^#`B/"A+T$!*4B'R[@/W)@,UXQ@;`4<48#`DK0$C"A-C$@>U%43AZ"'F*P M'=EU,D%0+,LB0BZ`(D*&);/Q$"CC%AI2%%2D`!+1$(`8B((XB`0Q%$?0%S:1 M4ZH&$^?TAX3XB)#XB`_Q$$3P!%-0$V/@$8MH%$$D>45Q&I8(1Z$R1R)1$G(@ M-/N'B19Q:0\!',)!%)M8%$DD&:"86$5#363@%9.H`-&23[#8-T:1`Y,Q$5!` M5LT20&25%_`R'W>R/+JH`*&6&R*ABP;63$C\3QC.Q1'O%8%#2`C>BX5\72)Z3W,R2QBTG2%V;@ M;^M1C40A`P5I%"R4C^/5:7$!-=%W<`JYBZ$F&;%(%#!`!FCP$&DDDR+I$3`0 M!C?IAPJ0/V:`$WH0D$:!1#)`D`?)?Y["64GP`A@GE/1R$^%A=3XW$5P1.PUG M-^717W?D/R#@%1XT-CMA`S2P!.&!AU:),A-1`UA$`R`@84WA$;>4(R3(67UB M/&,A(610$8:AEFM)BU8)ES"4&X5C50V%)6!!3O3A'%-R3E49F(+9>3=Q@>O" M'D#B=TN1'Y*U$\NC(6M(!NJA,F_T7PH@F8)9-,WH'G]25B^%&[8R&$;5AD`I M$)%XF[BI$(:(*07E&93&FO5B9O>7:W,0A(B&19*U6]`A$_ZH)*8&%-0 M!F>0:UFV%,L"+'U1$@O"H!HZB+OX!510!(=$%"41H8AC3A]2!RA!."!P`MN$ M&B?P$!X*HMNBB:;4H4308T$@HA"::P>'(<6A&2F:B2=PHSSVH@KP!42:HS2Z M&QTJ!%.06#I*HKY(F3^*HOJVHDXZ!4;Z!5E:%,-9)$!Z MI2X)`I-:J9<*`DB*HW+!I4_ZJ7'J!$20 MH!MZJ@V!+@B2.)SR<)C*FSEE!:`C*V+IB*AZJP5$%"SA M/Y[A$?)9D4,@8K:57SX"7C@1.^2E`-YZK!Z1K$8!`\4J6]DZK]M*D]UJ6^`J M*QNCK3YJKNC*7.JZ6%4(+L6Z6/+:,OO*D\-(%$P00CTZ90LK5/GJL,H:L1Z! M!'A3L5]5K/#UK^(JL%-&L,"5KM)R&\PRH:H%KX_5L/0JBQS;K!1+I2+++!D[ MLS19LQ[[9"!KHS@*BS5:F[AZM`5A+0BRJM+2JAMR!+#J&;+:'[0J.A"!M%@+ MHUW*JR7JJVD:K%E*K`I@!G;1'1X1K@'K$3A[FI/!LW29J'!@)(P:L4:P5?U( M+;BR':*QBT%U$MAYM@`[KB8ZJ$5!!I9QE$ET3'&[J-S#K$Y`GTD!`F$V>8$R M>%[F$KO8%D))LFD[N&PK&88K&4))E'`KMXV+E5NU3M&)G=KYN81ZN$5Q18IK MNA$+*M`Y(B8Z*H/'9"^E,6S`D9BQN6$9N$0AG82+K+`[D"HPNIU2NHR+NF&B MM^G)NNNIM4_JI45KJUA[JT/1!.HE:MJ[O:=JJN++O8E1*I,3+QVAC=,2,6)U4VG`%1N"MFRP($KW:GVF$SGE:R?[%B_!HSX#-#6A%9CUK)NU93,! M@&>0H>6+J@^!OE\1+[X7:M!QMN?S0+HZM'JZHUT[L%\KI$EJI();N,FKI\?K M$?7K!LG+`V/@`P^1B3HID!Y!`BNQPG12OQW,8T3+I*Z+O630!N0;P1MJ**&S MOL681SFB(201$Q1TD4QS'?ZW>*5W.Q!LQ!KZ$(`Q$T3WO1E,*G-0(T$,KIF2 M4V>KPQ0\5F$I%SR0=V<@%R=``B<@PV7L$;=G!X2*!W+1$T/9/B!`!)EJJ3KP MNW<,`FKP)481*N^*,L=!Q$:KQ5N<&)4X!>L[!.%3R?:Y6?M%%XWB1%CB?8?S M:`@\'P(L5(B3Q9)\H)08BE^,P41A!IZLQF^@QWR(!G(ARWZAPTQ<%)6,B3K\ MR$6\R@:Z6E*UOOBH&W9I71B&:M0Y'ZK[C:BS*?J[<@=4G=>9G?62'R9!1RO9 M&9[1&ZI,S+GY$,9C77@,QCJLGV@J"!L)KC[0S3VR`/N!&X+OOU'7)1OW'V1AWYLBA#SRESUV)02X>L!OM\UIF"*26A MUJY,%'T-?,MRV1&]=+5R.Q%?"$R$(% M!_-$(4R"$[,R=)*Q*3JAC/-Q>\#1`JFV:OF4$BW`.34A5QL"))R,!F(1>7." M)2Q`W_5\D78R%N/R*5/LLFE1P;2IH+/=H&;D$1EYU@F8H`P#FWY&+F_3/K'D MX$;A(`G^9-OQ0,L$0PBU)5?@G/]3)W+S4(XSGT-53F@M!U,2F9*1QU1QU\_6 MV(H\!W6G?,T=M]FX5&B8W_.S$TV^BU^]X8`8%76`!^M+%$&PY5TA+6H#'*R[ MX]+]00!$(,"IC^E4G`O36P-:3G5&%*+K%',6"/O:CZ!YQ;`3C M3R*S%*%LX))G%U^Q@FUA!UL=.RVA'FK0WAF.Y4RM`'.'!S'0Y?]\P@*MY$*) MSXI<%$J.(/C+P$+<^`\P. MT,X^T+^.Y-.NI]5^ZZ,]`^[8/F0P!NL[VE=.ZPM15-NQO@^*'SX13Y*;6_YR M`GIP`A/!+'4F("4A%UX!.Z%WM?!.VW^$&;H>[)01=_Q^`BUP`B%@I"B3SX_M M$:.][K*=\+J9&)Y2!ET>8)C>GW:G$YOD?+$SF^_N\;FJ`"$_\GB`V!X1!GQL M\SI,@W-P!SEO$3L?F!/A:Z2#*(OI9B#`\H>,;46Q7&W`!'(!EQ59!7#0E^4Y M'R(P!4*5F`7;;32][D;!]$@@%_8*E&RI&%.?9<9F]5+0LMBA]2G+7)?5'VDR M@3H<9,SH%1!#*.J!`BRK07=-`RRTU2WS]Q/!'ACC$A(R5T#U=[.R/76?%K^G M%;<7*.&XGV.0!\=C+BD">4`K]"TS(JHW)^Q#+W10.*NF:6EYR$1>N'=M8$A` MU_7<^C&[BR@S!^U<\WP,VH)YW,;AWS^CPW)P/'O,`KK/K`AV3G/B4Q;3]31, M&7R\K,S:M_795`WT8*E?^[=/$;E?]E,`'?@N@^5A\FDQ1K2),L%_PH-/_&S) M_+'/`M#_B;0_&;:/_C:O_A'+-2>[E<`O_*QO_[3(_GSH^:T_LB?_LE_]*W[9 M:)RX&4XV1O8?^B,#VV\8`4#GY_X&(.Q;>H\E[`V^"T@4#(S3TWX=S^6]O(F0 MB^+<^A(RJ6.(N_Z!MYI'W,,[+V\!P//LMX-6_+(3MM=^WH0*[+ M>2C*L[$`BF?Q)L,B(51-#@$RJ_N#(7R+3H@7@N_"K!1SC>.`S M[%$4%IY>*WM`(PWEB(C'$\K)9VH?@Z.LK+I-D0:^"LI`-D9!$JJ^SI;81LHR M63D300@(#!@2!L8>%VMRRTX+QK/0MI2^H%,I)<5!$<81,P@"T&`^48.'C.9! M0C?8V."@M<,#V2[9X8'1MNSP8`JS9WP0GW'!*R@#KE)RL`Z%,*LA0L\@#)." M#G.$X\X\/!!#=O$H(5'8>$*!``XY5D@9<-D8](9&A3[,"8L0MXQ7TB,#\(@" MKH576/:"P"RD"/)L%=:U>67D:H`*.'*G4'KLL2X8R+"`#C"(6$16)#J%:!06 MFROTAE9-!\C"C"@&-N(MC'/<3A=R0:OD!0%9GP!@P9`,#D,>4@QAQ3%L;8>- M#2[#>]8,Z]N60W?2\-QM-LGP*JXAQ*MXVA!T-3E(`@N_X;*@?(=0+)!#F6@. M#QDZU(,XH[N*A&I.(_@S]-46#V`/&P-A#&4K/KKG""<@0Q9[2.0T6 M<232P@!E"ZU@DZ,!'0%3;$%>V!+!H,G;+.40\9B7FI@&<>)D4(;JD"=>/&=X MZV@`'9R&[0,O6D.LF`T;VS:\B]Z0$$+%?"(5QV!Z683G\!$F1E78#K>BQNN* MT9`#UCQ[>":Z7D`D5W<-YW'$`,C3&!M:]'JT$02\/\%D$$7B09058R!DJ3ZP M:-EL(V=;B&L!#JS%V2@0%]M71']CP#C6-X#8$97C!F2.L/$C-D4A``5\(TD, MCG7Q"M:`O`C/5N)>PU0N$=*%!,]X7=;-8#2&V,$P2@;$:,_J3T^L9UNN!CS& MT38>)R,?.HI]4#+\P<+5Y-Q24]2,AI`S)D*J>!-"8SJT9Z31#[K#TQ@VF/YTXUNLB-YQ+@9'X*,:$Z--\H;@21_> M.?+$E7;"%@B)LO":6,5F1ZYHY'9HBF&AS=4@M;"&W,>LP9#V+!>=0QYIHK9# MB[1G8F!#3H9=ES)\)&9XDG$')2Q);]:=1Y!Z5"_$O+V\2];@!:I6[ MU,+:FI7*T%LYGK*'*=M7GQ`!AN_9!0U:(0?<'GT1*M=/_I4^7FC0BF75FPE7 M+^N-P4TIY.H9;NR`#$L[,JL@0!W12WL\--!E.9B,?]C\`LQBT8!U$?NA/P_H M_P23M=QM(F#M18ZVMRV?)=<[9.?OZV7`>LFL]&7[6C!T(+50!.J(20MJ@SG-$X!H!,M)JCEXM[%=XA8Z M$/;BI;1D$N;Q1#X!]/0I&22-LW$0HY:-(L-&+4_DG>MM$9,KMC9766[JPJ., ME)+R:Q!*H;2^$E)O.$^?TLW@!E_D*7F;-H.8(.<%4K@[,GCPG'ZP$(HO/]@% M!P-K#L[3P&97DCWY'*_)S2K%!-I\^4%QA!"W@\#VCDG0F?NP@MV*2U-U5D[5 M])HZTTTHOB").Z"9&WAS+?!DU!@H\`2D`(]Q`HA$",$53\9O=@+8D"N-CCET M/N@`SH32"%F5\6YL+HD.B$2`K+./_8ZB9H.D)U_RZ!Y3796.9?GZBN>/"T-+,^BZ,_N M&@2DB#%0,)JHNNF2GJ;YS)YIH#8NS[6FME[2]?2=-0A9&<^5LR3&771WDU`NS\(5.LQ*$7!JY>0?28CJ^1U$`-_J"81RY"&R1Z@G M[4-78`/AKDYNKN-P-!$>Z'0(B:%S8J>.4+<`&MI<75=SDTD>-9GOI(;5ZIN2 MH<;QCAR!$C(%L'E'V2.`"`>%Z1QX5SYI"P&K@O"%NA`$BT*=VS_XKL,\I:BD MZ!YR.9H\92C MQ),AQK]YB!R=YVYLBDB4<"I1^H$AH^/NP4ZDJRG&3\X2&.GG.VJ1VC/\N,Y` MYCTU5_@4G[T-SNT;A84A<8+^/&3\\S3J!GRF,@6%5Q@3:["^Q<:+:="*P!,P M`F]0,H"S4-$BG:=LY)`=\:[YL4D*.W6`)364&%(^T9%RL@466Q=PBQ6I5&2A MSL)`?,+/O)IRE('JT3HJ38M<-$V'SI&:/L@!:L:V(/!#A@]AEHZ)H4BH*J@( MJ`+/Z:94J^,0;*P39O"@0$F&^@06&@)!IYGX)UCADN%3,+A(&Z;A=&C;;"<4 ME'7!'>$(=+B1<1$+Z$@@*AGP$6F3`[_#"6B!Y.`3$*IO[`)A-+"(%..-V2%C6$&X@/Y(SP& MY;$&UA"I_7SJ%D+'UU4C$`3O`/>*7W)$#`ZQ$X8A4B32C(!>+L65@QJ8S6';3GB1K MW)(GC,$&LXGF8I-F8K@3>8(C;+[%DV1S[+"3'G6%LN2RK:9NZ@KXX''U"9,, MU)D@!'1%$?!T:BO<2)XORP8>C8CX'SIT3MB!634KLD@0D`(9"/R@.A6D?1J< MVD09'F(GQ#I%IA;$#J`MLB)0JN)7/0%JQ()EVST[A2:\A:"&2B&L&7!A10&& MV3&K8Q=8+%68LH`!F-)6"KH]>:GWW+-RP`0P@5IJ'=84DY-F*M8IW]IA5"V&F*74@1FQNPV5T+ MB&)H-_7";T$7HV"N8!*R#K^U01%M7^RX#WJH@44.K.!;F6=DC3LQB27"N3?P M<'$%.Y56X;:?>!J$ZV#TU,)-B*NV>-'(Y_)1`4,+B`'9=18%O0IW+;]1R%6J M_A;&4<1;A".$SZ3H#[S':J&,4.IAI%')K6E[J&4<-:(6U+9N2H,"M?2NP4Y( M"A^T*X;\"JZUL972[4!+X6M\1:,DI-HR!3&POI+`JB*%36F+/I>[<`P54#]A M'TCTAD9;C]80JHB;B%U?K4GO0T(Y4H((')DCY'1:E1"TN"B>61S?%_1FX= M(;>#IW2`CN7A!MBM/55]D<^"=97I<&AXP%E)*VNEK?@`N>`&AF_U"DI;383V M3,&T7_T'6SF<&W0P:@QO-',Q)%/=I8"LESK?#FL4!&N18[[C5ZI^B78B?:%+8 M5;O^5!>`5QR1`QVABYD5U@-F5U!A:TS=X3[`4W/FP@0P8&5A_/=TIB@XT'ZG MKT&;`Z-7\@(W&T1R!LF$0!,%#27`#Z4"IC8K86MMHM,+(K]JSI, M`A<%$6!W]RRG-W)P9OPN+".FP%T MUR/DME!6AGWOB]V1@M*,Q.#$>`+P@,2KC!6>S+D0 MM_S%;[(T8[@4YJ*9$+]^;:3UO#I.3EX-8*%.]V$27D\21\C\8.8&2#X/I[`9 M!\U(F)BAL5^7R9G;%&<2S;VLJC,'>(W&(`,19RCDE19AD8J#7W$NSJ6P>"LN MH5B82V,Q,"<#W$P6\^`9C+"F$;!?J+4$M>_R4.P#KOAK8K"RZ"\AXUS8BK[M M$Q@&[H0E!1:MG*E6\0K>1L@0%\`!UW1# MXB!3"-09[KRG,/BBH5-LEZL$7#NA2VQ&I8AOS-IBF)Q,+73P:9CL@$E$QM8UK`$%@$U=";\ M8S2@%99/3.@M\-3$^DN;;$[/U::\)!NA(IR))1R3C^LA*[4X=IF<`"?@535N MRK".2`3ILEJ.VQ3'IO:A"3:A?H&/^PLLFD7T\368"Q"?L/8J'\LO:S56/C5B M>5P*TBC4\4[>F_URQ$"RG!M@L-4GIKQC@2>M?I@`#.MNZ;EE"+ZC,")@4UHF%@2.*%\VCHR@)@=A0FD:<6B M%?84Z`K9=$-I+KF.EX+N7Y6932]>627-UV>X/H1EX9JOSQHVOY'4#5-2.`P^ M?0(FS:'DDY/RY?/+E<_C(A47-))^2D__6!QGJQ^,CADO#OG/Y>P\#:_9:HJ/ M&:MQT&:%\5P&LO!![KQQ-Q2?@,+L M$>RN=@MOU>4H6V-S89FQW&YFST]S#6/9_/H9)K*AHRV!!=-N8IXI&1:TGC@! M)DTNQ``E*"S70A/6R^=0)V39%:6E-#2'7BP2VE^&Z$E+%DZ`%#@!)IJV/)84 M#:(=,1YCK=TYKZ6V5"C9*JY;/KEB;T=[*=:V;*><$&NA6EC!-H@'T8`W[]OM M:#(*4OE6=IH"'T)``-RGQ/T"`50J``"F)@``)Q6"4DZWOP4``*X#```!```` M````````871O8BYE>&4`")H(``H`?^3X`````````````$`I(R@``)MH^15@ M`(```$``4,3@W[]>#``!,%&#&D(`'@!H1!COHL:/($.*'$FRI,F3*%.J7,FR MI_O^UARYN.SC_U*J;"0E=B M:C,9Y&`8,``@7P2V`,`EEUXFY!7-8O_E!9==`*@R3"#_M(,"'2%`,4444@0U ME"X2+O+,"LHLH@\M0/RD119;8#&'`;I(`$`ZN/BS#@`68KB+1KD`@((N[`"P MB#RT_/"3'!,L$-D#G@4R3(_&'`#`B2FRLAH++R+BSQ4S;#/#/S,D`UH=`Z"C MR3\LP"!'"#PD8(<`+)R@"#([-'-'!8L<O&/#N#4(0:EZ$CQ#P\@U&'%,+\$`D`N?P`` M"PC\S./*$X;"TH`\KAA3Q#\`=$D+#S_MX@(`CFSCR#!R<##*4.@L\8\3OQ!Q MZ@*^00;F>?^X4H<$XLRS#@BZ//%B.?UPZH\_/"A0!SWK7*-+&B]&TX\N>;RX M3#^_2(C.-OWP<$4=\%SQ"R6G)A`M,--.XX^UV&2[#@.Z=/)B*>_.\N(G_=#B M!#I5/-36EN@H\$\B'@@`@&($`/#%(.,,<-030ZQS#X`CB.!!H"`")/ZVH M2S$OGD&OR+W8A8XU_M01"RU%H"/!/[_P%S0`Z!A3]"FT3(&.`$RW]30ZMA1] M"2U2H".//[_DM;4I11]B`!1QECT%$&&2"4X0;E;Y@!`M^#TT$"'F+0\488(`A1 MQAE\#P$X&V2X<0(=?S_NQM^!=U[XX8DGX88=8;"1!N5TR!$&[G*0H#OOOE,^ M!AIA"!]Y&7;SO;D;G9,0^N@@%'$Y"$;@#@+B?=.!QAP@D)'&'&&<(4<9B0^! M!N1KS%%'&R"T<7X;8="Q/`ERTVTWWGKCF]\`)SC"&0YQ)`@(W*?$_0(````` M```````````````````````````````````````````````````````````` "_(,` ` end END--cut here--cut here