Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!njin!princeton!notecnirp!nfs From: nfs@notecnirp.Princeton.EDU (Norbert Schlenker) Newsgroups: comp.os.minix Subject: 1.5.0 /usr/src/lib/string Keywords: PC Minix 1.5 assembler string Message-ID: <22676@princeton.Princeton.EDU> Date: 1 Jan 90 16:49:06 GMT Sender: news@princeton.Princeton.EDU Reply-To: nfs@notecnirp.UUCP (Norbert Schlenker) Organization: Dept. of Computer Science, Princeton University Lines: 413 Andy Tanenbaum has asked me to post the most recent version of my string routines for the IBM PC. These routines form the contents of the official 1.5.0 source directory /usr/src/lib/string. A few notes regarding installation: - Read the Readme file. - Edit the makefile to ensure that it points to the right places and uses the appropriate programs and definitions. - If you require your binaries to run on any PC, do not make the library with a target of "i80386". Using that target will result in code for memset() that will fail on 8088's, 8086's, and 80286's. (I use memset() extensively to zero blocks of memory, and thought it would be worthwhile to have a '386 specific version.) The routines have been shar'ed, compress'ed, and uuencode'd. Happy New Year! ----------------------------------- Snip snip -------------------------------- begin 644 string.shar.Z M'YV-9<:@>0,"#X@6(*24"4.F31D%<\J0 7'BA1;0 >'2#LPT;]R >&,&1)L\('3*2>/F M# @X8<:L"7.F# L0=Y;2P2F4*8@P\:0.5 M3AJR.4'4F#LG'F3M1RYD%&D^ K7 M-QXSW*LGQ1AUVN9'7>" \MQ-38[!1!QD2724& MBE])1D8:9A2%&!PF^D3C1&=Q%F$,+M3@ @PD*=67"VCXX!D:O=%H!E-Y?=8& M9B"@\)P;+;@1AD,M !A5&2W \09D*/8U7!M1F3@'@DU<-X9^_ V'F(LJP2CC MD%?QM2 (J8WQEHL@7%F<7&[PI9-[.Y'QQAAU8->:74%Q20=!(F961WZ8NN&" M2BJQY(8<2$T1X()RM*4:3R>FN*)+6*5!8V1[U0@"@:CR5& :8>!U%:](J1UX7H5H9--B4OCP@VC02A6)\HL;J.VMJ22 M9FG($=F(<'AK<)&8B4464F_PJMI5J=T1-1ENG/!R4'S1R)F(4#.&!L/2CHJ% M$#@>Y6M6(G(%:YLJQC3'0'<858?#-LE1U=Q"ETUT=O 9F4?7AK+1IQMPH!@3 M0NMM24RT22\ MB83/.M(<=8BAD[S_JN3>B6XE8LFOL)- M=D! !#2@2B=!>0@6D!0#C.FD+R 0P_YV2U42K,G*X"E3R$!-#N>1U +L)5T)5.E^= 2955 FC!CF' MJXPQ*> +T96F%2(W3(5>>CG5FM@0DS9D;"?$>P,<8A(4W%SE/JW)$!NQP)!X M98DX0QNL!16:$(K-87E+I4YX$BNE*^6N<2$=E@3@:[F(*TA MA2_6^"!0E7MPTZJ8V'%L4!#H"[ MRY;<#H&"S&BF-F4?Y.:R:#$1ZZ/(T-74C&DHJRKD4GUE+#K@=2+L.T-5+@BW MVT(N?).C0VK/^QAL;:Z*+)N65US27E(6)4!R*!*B718N*^@ M:"Y4\9IY*JI/9XWD.@X"6(0JRP;W%O*FCPF*4VHXDZ_4+"=C6(IN-&JO/)R( M,[VMPE\?VZO-""R="?L.&$&@81-V>$A.QH)<]H-2!()8Q*Z*5>?4$Q^_07B& M)K3HE2H# BBTQ PNH$)<80"#':@D-0,)D$6;*[GQ)05Q0E%B6$$$,*MR3<== M96OP4-RB,B0.:4Z!BE1@>17!2J5\O8D0A$T$ BL!9HT7I:-G1-GFD< I0WMF M$*TZ5$V\U*K)5L;7U*YTAH+)CC!"0(J5PF#9IJIZ7=R2%FW=TY*;9,G-?T;+ M@D/&ZZ5@2RA,ON&/\8!(@=Y%-*C2&\I $&P0B.#6)GP?9$2@QZAD:"*\*N U M[35D&N>EAI#)8+Q; QD!NT$EP>9,B,2 [LAZ#X>#DY5;:/69OXQ,[?TO)D7I/\ +GB & M@1!- &VYMG@3T7@8H1$<(7D#B&O2AGD5H7DCD$T#$3,3\4>5$3L613R&0DA5 M=F6O B2Y82*X$19HH3>]!04@T ,@\ )[(06!0)QWLCER_JY@1#P 150 1%L((M^((OX"<>9H,4N#:^8@89V#(UX8-4 M!H0@>'='IS=,D 1"L!HLZ()S (,RN'!CX )A((4X2(4[J($1TAJ.8QFF%6'L MY$1!( 5'4 14P(1I$%TXH!(C0 5[V(=_R(*!" ,RT%>$:(A\Z(> J%=\90-N MF(,7R"U7:%&)%4M%L7"BM@9=@B0SP!JN 1M2Q#XCT72^DRA9 T\1Q$18$(9" M 5!, 1+P(01<8 600(D\ )DT!%\X%)W$8H),(%5(#P\0HQB$(I/ 183E4'_ M(XJ5E!.$2(NVB(M,"(KVE@#>B(S"XV!R4$,1(86U\Q\1V>1" * M:137@3T/"41<91! Y$ /R04JD0!$! <3"76;])&_L1\B.08 (BH6B3PM82(& M"7;ND9$;R74=*)+YD9 I*0==%UDW"0<,MP8B>4XMJ10G"9-8P)'(HQ0BN2D^ M>9-6IY!-] 1"H 0!.9!V@I&=9"<)>95MT)#?H942^72_P55@69 N$!,:690= M698T!QEJ"40D.99#"98K>8)@N3QJ>99&B9,S"98UZ9%\B2=MB3P\*0<^"99 M&9CY @>B8I8Q>93(@YA*B9A-N4HJX0)34 7SF 184 13H ,@H)8/Z0($H8^? M22)84)F",0.!12<:& %BO= MR3G6Z0,>FF"BB2+=^1;:B5;H]6IW6J:,QP9Q1N:1-9*+E M60:>B:7;^1UCL)$]V@($P:4H2J9>VD1H1'!LX)E4ZIP;61<.8X8P"(4TDA'U M>090XAOXJ(_\6)2;T6IV@*2T. 1O8B=O^8W9M"K$,:HB,7F(AZH-&&VKJJ*N2FB_NI&$H:.R M2IY=2IK BJ2V2H_#4:VMJ:NXBI<^\*F'LQE-%%1OL9I%F1PIBJ$MFIU9FJXN MRJ(Z&BM]IJ(U"C"ZR4;^UY^$AQ"L&FB#!@,&>!*.IX"1]Q']NJQ, H$HH1)& M #NAXHU.X&DR<4]<@F *-"_OJ7L3ZQ JT0(>^[$@&[(BFP B6[(F>[(HVP+4 M8ZC\,021B$(0,VD VVP,R4 ,ZR[,>1P- M>[,[(P,YN[,@< ,)L'50YW4N"[,TZXW7(P,]$ 14\ 1%4+0T@+19N[5=JP5@ M.P-1BP4R2;4OFQ0QVR)7.[9<^P1:P )*"P-%.P,YD+8(*74W8@8V4@=F\+8S M6[,WV[1&ZW$UD+1"2[1.ZW$RP+A+B[B$ ;52^QOT4;5N>[5 *P,J,+=?N[,S M@+9;X+ES:[:BB[:7VY=)U[9S0+AQ>[A%:[0SL+A!.[2SV[-[N[)M4) H<+JE M=A5#&[=CT ,G4 0GD+NY!;3%>P):D+Q.ZS-I>Y%R\+ME6VK$:[S(F[LS /, M:[S/R[TQ,+V"V9,H( *S-!$AHA/TEA0T>ST]T'XBD+M#"[1S$+^_2@=<( =< MX ;SZYFC2[[TY[O *QG9>P)! +T\V[W?>[P*W+,XT,#AZ[3+>[E*8;UT&RAQ M>[_J][\\6P-0"[\BD <>3!@@;+_QNP9LT ;/ 0<>3 .[BP75@STH\+=7,5=P M:[@XF[N$$0,A?+=,F[N+>[EA-P><"[^@.[LS,+Y(7+9*K+KY.G@!"*N ]J6[ M*+ )"'D=\1'02A(F$8&$2*GB1$J0"A<6 =DAE"Q)#5_@54& M(7)RTTCL=B*FQ5E9ET0$X6HW$R%G 1D>]"2$H0* A\@@D 68W$$6N(Y[@4%' M0P=F_(RC)D"IP7'3@@+YY" 3H28A8A>9(TW=8\HJ\0*)/ *>7$=,L 1?0 7: M: -,0LRHW,=6XE)*%E.3L@9?0 <5)\C('&TW0P5)T 1%\ 5%L)E#4 7T_ 1.@ )X "'#L0?>F !G21B$C (F M\#Z,D0([4- &K1*$ 3;FP8>P8*%!@(IX(T'S;,4K09, MF 3B3,[FC,Y#H,[LS-$M@-(^ -(5-=(E;;1D4"E^PX(T10?#@0@NP5=P(0B$ 1CJ(0B8&AJ>RFJ[:NGZ]JP+=M# MH(1&< 1(D 1*L 1,T 1.@,Y1( 530 558 57@ 59H 6U[:FX[:1,T1Z6G0>8 M[;#6E-?/!P)ZP*3971!7$=YZ8-M[$-(L_J=_*P,VSH@3SMYE<$B/,C<+E 97H0847MX[O95YL.0+% 9M&P9O M&P8S8-O%G,@?"P)&P'_#<]$GI=$MTQM$9F1>\27WZ!-?X]V9DCE"=D^?X[$@ M(,V$<1T,WMV:'12@- MSN9N4.BO;1)'R,S.O 0OL#,5M>@%OA,KP((RP*1&2\_V3-=%L,_]_,^0CNJ$'N&&[M!Q;>KWG,^I;M=XW>J#_MU2?DJC3NMW/NQZ'N$R M(-H4SNNHKNIWS>JUKNQN$.M37N4S,.L++NB2ON_BE 3>%P1]CGRP1@?B_9X9F+S0+G?MA4<#DZ MEBB2CBZ0(?#D50(Q,!%[T=A-E0#WGAU7\=-,IQ'NG/'9/1PHX"5S /'G/APK M (U ,IL.F$INN';,P'(>>-BA1;3N=/,=AT4-COQK*M"[,R2[.-[?*$(=9D M;=;VC (SW[H@_443O1;S^M(S_,VG$&"^[:3R^UF3_5 ;/4NG^4Q;]532_-R M;O/[GO/GZY8MV_1 [[]8S_9E[?:&W_/BV;5%P.UO2_6O2[9>VP5J']>,S_5) M]_>0?[J4/_5RZ\2;__):+N=K"_@((?@XK_.K#_FO^_,Z$/1KK_6-?]:?KY=L M>Q4%O#-V3_J7#[QWJ_E[C\I;WK=]/^>G+-C9K?-]6\."&[B#2_NV']#^2+C_N>'_UQW^-7\?17L<"D+[NG/_3H[_;J/_UR M7_T@,+SO'U+QW[C&[_85/?N'E?P6_F-_'L?\786[%[1NW.GC>UNN(RT_U_?\ M"A_4R5R(K_8I/A4WD@Z?[Y-\YV\ ZKZ.%/I H/ B?:9+\@7 ' ?Z-)?H$X!M M;P1>0*GCLL)>VSI=-G#TG;T42+<"8 * >9^"HZB(B>#-D)_J0QY]:0(VOYM7 M 46 3,* /B^'73_\U@)O8-D*@3'PZ#U!&F@%,U@(*7O_3^_!P-RG!9%@U"F! M7I#_^;^S=[-PUP,T@@B!(#D0)1C7!A_TJTK5JX"-@;&7^.9?UA.!1T\.YL'K M11&0%Q]<@*2O>6TO/]CY"&#OX>L-PKP("'7F8,U; M@G;0 @*E2(B]-" CK'\RF R^A]DI>IQ 0HC7J10HGX0EHA5L $\+" MX[<)CZ <&$RBZ!/6P=8$.TA M_9.%NP\@>D%6N!!SX2MTB'\P'$;$@S@1GQD$C]@S'8$%T3"I1$G:P;=@#D&$8J(?@,!KNO@M6P$;8U:N(\# /X$2"Z/A@ M8BT4 2J,A8F2G[C_A%]-1(HKK(4-12P'!R'2B+%#PI ?$L.==Q7%7]S#885K M"CY$C1C^MM\-:W]0+^J%08S8"'5?6?R*5Z'N(4(VV ,<("],?7Y/:[B'DL@$ M3Z)2*&(#T2461;UX[4 7MVM;E@_S?:V<^!()8R0\C$[Q=(7$TF8;1 0*4'FV M[:M%,0!4>&:5%6,\%B&++:"/X!F]6.;A>V:J,THK%(6>JLF&B4[:QCVA%'D" M:FC9)@*U0 M+?0'+7R!RBC^?H,&^R\\80S8-A(WYRB*2KAO$RT4EK&5-/7,E,"; Q3/?5$X M!HD"?H/+DV\RS$%@4WAV4VPEP('9< MR19!%0-<48AU,Q($A 65(KX !^(:SP+!0C))T >#]UM615@\D7:N"XP]>3 MU1L./8 %.8$JP 32G9E$DX1!36Z!]>@FSP*R16D)_DD$^!5(->LDN8@:K@7E# D6231(!.ZA3N&(;& MV558DVT23S;*/@D"_F1I,UIAP5"X@<)V*MODU/-WM$;,.3R"1VC:EPF DEL M5<*[,>EQ(&6"E)0DLO+)'TJ&5+P",8$GN<8/+B,U22KG@*G$$H.R"%P!5:DD M6V41>)7A"2X)Y:_\=\(2! R\27NY*I?DN4P4Z1+>Y4EV M22MM90+ E3/P6ZJ(9.DKB69G^Y=B$J3QJ@00*0NF^+M[>BP_.)"@<%:JB>L( M,NOD]"4 H<""_J)[T)J=S686GAA@VQ) /RP!+D %S ''=A5@IK@K2MM2*)@$ M*B ?Z:.5*DI^$T60.!1P @[;+>R;B9,D% ;^Z!\=Y]B<,Y.SL!M"@6L(2-<@MQ99-$ MTH"IQQ1\(_F,FR[/&VW++>@^N^;2%)>J4B@P/8 I-I4G]B28)))[>D^V&3X) MR?\TGP$T 40X9R@F^*#'LMZB4!%* GMFWY3 M _DT%/"J$ID)1:!A;X.VR11I.Z&DN:V:L[)NG M+7+2@=#9OTAG:3MM=8Y27L83^7<"C[Z:8I\J'^TC'A&P$-#C&8UZJBE "3ZU MC!26YE$!B/0SN8!-ER2>D'.L4WDT 1@&1F9R E7WVG\R0 ?$@!B@ VA *0(] MHJ=CR3DYY4CQF)T:;'@*#22 )I IB$! \#@XP./8@$Z:21N1QPD].4 E(-)= MRDM[J0K0I8F4!L0L&E #YMPNC6M?0*S-Q_F8!: 6MMQG$%PJJ1GF?&HQ4[X M @N2_KB!2C'2"EKBPGK)5 HL4RK03)\I7T K"LYNNH&,QRC@"854 =C4B$&T M;TKA5$(( $CH'!DV,IYJ MU*O)4>LI%KBG,&]"_)4+09A"A$&X.!_BER$%:79/[2D^Y1'5[ M,")^*'K$$ MM: 1>"#I8"]O1 N3#K=# 0*12=W3HKI"^(]M4*H&C*G^0]_E5-GI_22J^M0, M^%2B"E2Y!0CX O61"!!5<"8&UDS+JJOZZGZU;4J'L4 6C$1=U6NPJW"&I&T7V3-J]VO MKW[5EXI/P^I8Y:SY%"[LTT363ZG /PVHR7,S[BNK2);P0!\-C7^T8+%6C&00 M#"G?$X1.B:FI@ 203 ZD"A"$4/6D%DC?:LG*6XL\IV5 PR&5( '*'M%.V%24 KZLTW>DY,*KFZ 5W0<[N)8M^[70G]%8BJ+DR[7#EM&\+N2I74M=V/8F;']C;+$E,:;"+E@7RP)@;(.=L356R]*!'"M4>"RES+9 MMOL!6A;+%UA DWVY9G;!8E@D"W1Y%%VXN"Q@XQ8EY"1S:>Z.W18W=QG5P*D) M]HQFC" #8.KHLEP5T&[?[1>(M_/VRH:!!)"^"%RJY3D:!">87:C@$A(L@9$@ M+98N6-FEFV4CR!> "CH!P,($.+%&T<";$B5D]N_"@8M+: MLV>TV6FHC":B9 MVW-'P/BRMU_!NVC;DF(-Q4"!>PV]PFBJ 1M;=H7@8#&Z/.G*UET5<7>IB-Z= M WQ7((39@-!B*VWG]2X2X>&R6#(0T%QLCI6P &\G&,W#(0=:+PMPO#D6\=8- MWR&SBD?:S0N:U\8^!D^2=VT&W'V[67?B)@"FNWP_R1=POC&I?2#=$2 #LB^1 MQ;#<-_K.W>D[>I,KWJ4#IS?U^MVE>W1O0OJ]":J7E:PPZ^M\$^SB?;..]\K: M6 9Y9=LO^C4KJ!?^KE^[>W[?;]]-L&*6\!:E!*QTW2\ 5K\)EL/RG2*+!C[N M^EVQ1-;()AT9ZWTS,!M@ 7)V^H:!,B!SP908N /R@U(F6#4Q>)6NM!V\?*'P M&MH[6G@FE>10M*!Q8&DQR6.#'5)M_6(+:](RI!M<:4WMIIUS/;@,H( C+#C; MEJ=EPK,OI"97%D5J>:N!)())#PH[8>$*A4/M69G"<(NY1EM3Q5E>;>Q0MJ%C MUKI7#01?Q^MK>2:,);L)GVA+:]\KKG7#\U7;(@@R#,N@C?F!5%QB&46(@^-< MD>T9OAAM>%I4%3B\;*_EV^@:BGA,R00[AQ:.3K0=#U@$E= $H;!FP(5\C1!U MF W?X4BMP'"WEQ+Q9QJ]BD!FK> MF,L@G:XS42U1]\[4OAHW!2Y<$MV3(6W.A+MV0NA6$ZC(6S4MD*P-I MV&9OX MX'LAKE)./Y\FV-= D5-T@&G4^LHL5NR2X*2-EI8Q\F#*W<,JH"K_^ MJ%_6];K@JLQR1T Y_KKGF IG^ M-M['"_.$8%*X,B$C4U3>RWMT5"R6Y;S*<*J1)V;\>3'PZAVS5QD+E-T@"'O) M )FO0D9\C($] !/@,=HKL6EV6@R8(S+>WTO\(6\7(D>%]^=<'SK,:&5O@T) M!=/=,T%L2;9#X1EXS.>O M7)_GZV609BAZ2#]GBCQW[^R3M4L%[B/D7<=NP?*Z M8_#C;PG3KW$:DJ)]5 :!BY_!&6K0 O?L"5@!6FUH$16)$+& M8FDL1J9!6VLDP 2XHY<8:>"Z2=]2J2<#F);=>H]&=0KPQR& !=[UMP[7.8!> MCZY[K6;U,[Z^&2,Z,K='[P7SD'7'V+?ON%G+XR9#K1NT9^6O^#C\^>.%&_Y6 M\%Y0I1%9Z"(Y#?N>5VY PP$AN6QXX):;LFK(N6-L7X3UTL3S0(6(#C02[K-7F Y>.B_8BR+ '57LM<[6 MVUH*=.LBL)'T=;LN2C34!@3H(CMH9?:;QXO MH*VY=1)00HM;2KL&_(NVKK0805 $ 7O\%-+0I9OS0V:Y?;I@L]E>U7N-M-7> M"0)W.8=NGIT H'3;9MQ^B@Q0:0.-N1.9],[2T=L.*6BDPJ!/F8/FHTZE27\! M[.%V<\/B+M,J6/"ZYQ5+NUE @_73=E2*%1Z*)*A?JPX&I P\40-AS1-AH4Y% MBK;OE(%#51O9:85K!@?>NG4,EQ)K(R8$%">Z4[4ZURYBMU505O6/*0ZR6AKO MUMJ8B&_U,T$2P>IFXR3#@228ZZXNN/!Q?UOP @O5%"Y 9N &.>+FYMP-ESW: M?7#(*G?VHEF/W'-)-@%GL@#Z37UL,JN0-PS)Q4F?N@Z,A"B.=)$L7^!548?( M F@6H +>V?35R3\;YO5DH?TB^$4<]M3;-.#4Q@_-M@EX8V8HWMG+!69[$97YX!X*=5F\M80W_*5/F9FVW7,:,?-IQ,R":3<"/[0+O!,:) 6!(^?I.S5BU(S M1^1:O9?/S:2L?L7OU,;K6YT 4Y&OGH$K\#,7O:G\PTEU(D78!7 $[K@!3=#F M= />ODOLIKC3.%V1%]B]7GIUPFT>LSA9L9MV+MNK80"8_=&H'>.*9)I.B-8L MW'6S'C?.$O4Y^Z M;#I/TQ $M*O8]C:#%7A>C#HXF!<]<'L^ _&YI*W@F,LC M\?.CN4!(H*?-X%NX4:#4/R4X03@JWM1S@>U>&XZ.2F^MK?[HO7:(R("0'EW% M.:O!W[SV3DV-6 M/661L7!NE4BZ9>E-!(ACB?_:D6"Z@>U(,SW#UO22O)#Q]!,/[7Y\BMONF[S3 M>2Z2:[(=><2_[! L@0MXAA:QW(+9C%R1;G(=@TY5L56YY[I@IKN3Y7C0[K% M>29/Y:*>F5GT9D[JG[R",/69X=1-LXW%'@<*F(.YJ3XNQN]?#^N!74=G V[!D[QY##DAY44*D;3(G[]L1]FIO8\U0Y*P9K9%F M41W,J768)\MG OJH'X'4*\_N[R(=KCAF L M2X(5Q8=[P&;=KQ]RQP[-W4!D7_/2M\5[7,U>S4LP%K#T!E@@)%B[_H$G?99U M]&H7TF/@1?_8M_.85;JP?@JSC#V?R(H 'F MRBG6L8$4T ,H)"'GFUT"([< M'V#L[;B*E<"-W0)WX$4_Z4>PJ6^Q)S@%BPB#_-OK='"_Z7GZ(6/8V%R^"^V? MCN>_(20-ZAQWE[]Q_TNG/P[![0N7MB->B[%=6* M=T\-:LR["G_#D]?7OBVO@%QP3PS'X!$]7-0K,0,2VCNQS;:QK+POVZKA;#,' MM'6N^5W!7]MJZ=];"K>U-D;BV[HMZ%-+Q"VY7?!;A X[>)B@;J.MR;D,]^,= MYUL0( 2>P!&H O4HDN07\7FI!P6B<61M PM%V^."?%@&LUT(NZ0WF ;4T%* MA""I)$Y!W^((C?,?6$LAF?@0'F.+1R&>[B&#A?<.!+8E" 6R'W5B>ME?4_UW M\+)]NE#<.>-Q)TGK7KFW>\EC^)Q[$)[W>!^#N$_4EB&0*J(62GA&,22"_[-D&SSB#45/LQ!-!2+46S#]7 .;^^F MV(='>)?^]RP\VR_('EF);W@F#NX__/46\5=7:/. M>#DYV/[DH%F4#U\;7;:?NN&6Y@1N/Q3Z\0M!K#Q89_3/OSJ[\H+LS?L\0:#E M2EK%TG5%#]C/-C8?\TT::+]D(/^)/$CHGLE&.WF3?TX/V:$_-8?0UIQ24@_) M 6R+VXQB/QR8R!1WBQ/FB@NR9;M&7O'-J/NHUT6 M,'.QK["O?V4IM!DCCV.E[OM,NHU&]^CW6SOZN M_)2FT&0BR,*X'64'BW00QD I=.^>-MF1T[N@3_N=M\+>7F<@29#R(?R*7-9H)[7V_F3TJ5K8"C9/TD# M;*C??S./AWR;K?)FGCL?<$V_R[/\_M7_*IYE-Z/9C;T1LY2%NW/ D=-=$NRR M0'W<-_4N"YB[AS,P$W@].U)?[N$,-)EC+^Y'MFPWV9S=D._RP"YEX>X<<.1% MR46TWD=.[BULQ"7W:B!"Z_]3SW_*^@'VYI8^1ZC?;=S=.48AE]G?M]6#^4W^ M>X\_,_[,,EKY#V[,Z_P%>YX7)=/?S'/G Z[I=WF6A^-;%O2N;,3^QDU]GF?S MA5Y*M^<#KNEW>9:'XUL6]*YLQ/[&KWU[/N":/MK7^C=^[>UZ!4;L81[Z3_9S M3L ][@&GN(#7!;=SPNS;X8 !E[[MO!F]QD1A30J'#O9VE8&T0)$N"2&'!8WXJ MU2_VTR.%EZAHX1[?A#:$!=!^%7$#%)Z/? $XXOGW-Q_)IEH#D:B$3[$&*HX; M\$QL: Y\"SU $?[)&J@X0B%2:IXB_H\OO$1%"QG>BEO8B/MS\<#L]K@CX%.L M@8KC!B"OR(T.-!XQB(!_L@8JCE"(E.W':';8B'O EVYEN/95.>+N;S[R!>!( M6EBZ5>':'Y2J'7'SK^WVN/N;CV13K8%(:A@>8%+GO-S[G7.?%^U2WL=BL=7= MD]27%.^?N_LFJ2]INHO:D>H8];V_)[71%J%?DPBQ/,Y DXGA@?[QDV)<'?;O ML<$E^\O#]:O3#%^SW?="AN)[6F1/9!4/DG^_R?Z]#,60[_+ /OP5N6*"NW/ MD1,(2_Z0 M/2ZYE\ATVF9_>S8]W,U] K?[^&$FY7TL%EO=O1FL2)'V[[MO,WC!"_'@UTLW M88/[>WZ_W:-I%!:U5!C@G]H1SA6L34R WZX6DRO;&![H'S\ICOQTN%I8E$&N MB\D[!O'H*]P4$X8@,(F3 U.H)DTAVEIR,YS)V3$;$"M\Y"NXG9]#7DZ_L.7A M8?\>&URRGQ]N@NN723R%]<*.1L,6Z:?;:(<,DV=VB[VF3.QSWR'S_2EM["3(1C_^RO//8O M]XH)[LX!1P[;![B%ME'CZ MRJQV)[M@K\ZS/LFR\7K;F<.YY6<*U<3"Q8Q+;E0Z_WX]YT%=SW;V/BO<;3\9 MQ[#9^P6[<]%>]U?K%DSN6"RVNGLS"&D5-73O2XUZM]Y[,T@?]+V_Y_?;/9I& M85%+A0'^J0WOJE8O0&]7B\G1L(G8$AF_+QA\R'_#+[%Z9^_"-B9O^*+[I)&^GN>#@N(ERRS1W:DU)5>?*/Y1N]_]?U.L'+MWHP3^DMGO_7]3K!D+MXQ RW$;..[O&) M;(ZS?U<[-3UT$#WS:3;-@WJU7*5M>NY5Y@[$.!_I>/RLE7.[8,Y-FGSK:*W2 M=_M_WCV^C9MO?V^]<%+ !IW/Y+(%\C;, MB5[3[_(L;V-S_38K\Y$^H+GZ2L]_4OT%_NOTO\V".4\/_2<[ ?>X(Z#>PKR+ M_\6%0LX6XUTBW,@K[-%"$H5- &W#(?E>>Z\=T#IY(C,U;3T^C(NM?1EZ0V!. MOM>>(2#Z-W\U+(- Z/]Y=YM+;0V\V_&_Q?/_NEXG7 W^D^K1 *]G<0$!X-9H ML('I^VZD*N=>OM6#>4IO\?R_KM<)4AN17^ SGV9S_3;;]=[WA^);E4=G>S@9PB@MX77 [)\S$_=SG MQ9R4W+%8;'7W9A#O1]J_[[[-8. OQ(.?]_&'PC\U^GTTC<*BE@H#_%/+^.&W MJ\7D:-A$;(F,CT$\^@H'>^35U$:(S2#Z'S\IQM4X7)%QHN0?Z'?V0& ,5L.Y M"GA7B\D)"&8A#T#&JG(170P:6 93$)]5GR$,B6BK<2RY&8ZU)T,7TQ,977XJ MW.- -4*!$QN5SM](HFV$H!$7!/.+9DK3+IASN0TXEI\I6!OROSQ81+MGF#FU7F\S).!8OND%]Q1?=%HNTK?H:;^-Y M/0$06\Q&:8ZUL[\K/Z4I-!EB"R'*#A;I((Q!,N"(KFWDC3^29\:?648K_\&- M>9V_8,<>P-P]G(&9P,IA>^L]VST^D9.Q#C?*3!/RU9TLRY29-O+>__)5]RC M,N#%@0Q@2!K+XPPT&9HROH?#[D4#5=M(5RJX@'_=XZ'WO=F;V&(V2L/KO[DE M-\.Q%N<&A(H1G(.HJ,_LB)DQ!S2N*ZPA<],VT228V&KS)KU*]/91_]I(GAFW M&I;!%,0GY1W;33[Y)@!B^P4$[O]^Y+&9V'X!@4ND'8AQ/M(7/WRW"^;SJP@@&O"V[GA'FV M@^2B6^[]SKG/B\ PN6.QV.KNI^%2BK1_WWU/PZ6T^:.I4C"&^M[?\_OM'DW_ M?0AWK@C]FD0(AC">84H,=T6M%I.?6UU,WC%(#8^V*[P&W@]ES%X#_>,GQ9&? MO0O;F&!?-?J/C=Z+PVE@N MHU&]^CW6SOZN_)2FT&0BR,*X'64'BW00QD I=.^>-MF_%Y!#7DO_4YI"DR'D M0_E)+W*X.P<<>5%R$:WWD9-[X(^[W?="7AYGH,D0\J%\REP6J.?U=AY!K3SDVVR5)_]8_FQ7Y]S/V3TR]D;,4A;NS@%'3G=)L,L" M]:P=.PNB1TZ89[N&K^T&N\TNA *NVV/V_:ZS+WB MW/"3-Q//?\IZP?8FUOZ M'*%^MW%WYQB%7&9_WU8/YC?Y[SW^S/@SRVCE/[@QK_,7['E>E$Q_+X_5LSP) M5NT%ECI=?[%N8\EZ89?-:%W/%_JZ+G<7/6)_XQI4;93V DN=KK]8M[%DO;"# MWFB/V-\X5S>_BUW31_M:3WX__60GZQ#8D+MX=@YX77 [)\S$'0N0]O-[VA6P M:J<#=+NLWFW7KIT3\Q<\P-LY82;NYSXO M'J:\C\5BJ[O?JK0UTOY]][U5:>OFCZ8&$1+J>W\_T%\&J8VV_HYS9P:F$%H@ M.G>=Z)*A2^0,4SVYH>EZ#?0@7?6+_?1(X;>J W']!M&!9/B:[;X7,A3?TR)[ M(A>E%F^Y:6_(C?$DMLRAV'89Q:,][Z_<)SX$#W_;_<>/M*6W,!.!D*-PHPGM M:7U@E[)P=PXX\J+D(EKO[:4T2.$>G9I# E*6QQEH,C3ES&3^F#'L!;-BGOV) M3)*_E5/3&RRY&<[D47R7JU+(:^E="A5YZ-M5HH=FBJ[,9=ES9N0H9 MCJE':F*Z=OK>W_/[[1Y-_WT(=ZX(_9I$B.5Q!II,#*]P\P5+_I' 4&L"_>/_ MO*9VA=? ^X$8X$04"<\QW S'6I&!0&KCKU7]8C\]4OBCI)A*$N>*";-FND5=\,^K]2,[EP@$TCK1;?,2ET\0SQI/8+RX4.ON[\E.:0I,AM@M#UX"&"(+CY6Y[3+)LW(WK M:%2/Z?ONL7;V=^6G-(4F$T$6QNTH.UBD@S &2J%[][3)_KV '/):^I_2%)H, M(1_*013:T_K +F7A[AQPY$7)1;3>1T[N@3_N=M\+>7F<@29#R(=R$$W =#K. M/^_WS^C !IW/Y+)ZRP+U<=_4HWI,?X"]N:7/$9B\ M6M:4"G(_]D3QZ.X[=V6W[(],F"WL'W>/BCQ 4-E@\* MT*\)%DG$1@+TNVJ5SET'Q48/](__\YK:%5X#[P=B@!-1)#S'<#,<:T4& JF- MOU;UB_WT2.%AHNL72LC#8UO<9A3[XD>^* MJTH)<\4%V;)=(Z_X9M3[D9S+A0.S6_:'W!A/8LOYJG/W,0C)&]LV5P M&*X:DY];9V\T_SK]W^H]_MXZ^ST1,SYP-%ZVSA?'(VT+^\>/M*7_*4VAR1#R MH1Q$H3VM#^Q2%N[. 4=>E%Q$ZWWDY-["]HP:!@=FG>VE_3^E*3090CZ4][3) M_KV '/):^I_2%)H,TTO)'GI/BVP-_YP9.4=RY$7)1;3>QLUR>T8-@P,C#>;Q M 9@^XVHH!H/ZT M>]BS[2(PV^4U\]SY@(/>:%_#\,",S;(N"]3G6/FC?DN*J\;D2 4A( _QX")* M"QG'L"X7#LSN=.Z166[/J&%P@%=!7] [?BD]1XH!H#[NFWH7@=DN[V7OO1'W M@-O9 &Z[/>X!I[B UP6W<\+LV^& 9>^[;P9O7,:G!X6)\P5%V0+?Z1M82,NT84# MO*K#1EPZW;#Y1=BDFDS@*FA>3\^19 P=P]G8"9 7L+PC?E;-^XT],GQDW$E MKBN_^D'F[.JX*&BLVF@;J$1ZT!7)M^E"WCA*-^:X-'M=P-P]G(&9P.O9D?IR M#V>@R1#RH;RG13;+;D:S^X^[QZ($[6E]8)>R<'<../*BY"):[R,G]SH:U& V MP' X),*Q=O9WY:&K@$-$43<5VF;_E.:0I,AY$-Y5P=U/8N86WS$ MI=,VV[V%\?)#-=.=-+L5U0'4\WHV#2 RQGO:)ZS#*=R*ZC P+L9POCY8>_9=>4\08RA%"09DK)/8!Z7L^.)L(@3QEO($,(A;E>YR-F*0MWYX CI[MZ_0UDB$DWV6>];I>Q;)QAV]"6G($$*!C,\!7:GAO[=>."E@0T406(9GKW)TA-;_MPV58C; <#AB+Q77E;^W MWLKQ1G%V4NP7[PKC$T6<'6EVS@FXQSW@%!?PNN!V3IA].QPPX-*WG3>C=TZ# M\V)3ROM8++:Z>YR#'-J WZ?@[AOG((J7+ ZFQP?\_OMWLTC<*B ME@H#?$E:?^: @B'X'9WTH_0!NMQ*& M+UY32.K=3*P ;K?"48(+SLB^U3G["E?MG]75MX_5J=NW.AD>0.38V.(M1-&' M9PP< G0#C]@W'(QFQ56E+A_-VQ56E1!VCG"S142=;H