Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!brutus.cs.uiuc.edu!uakari.primate.wisc.edu!aplcen!haven!udel!mmdf From: I5110401%DBSTU1.BITNET@cornellc.cit.cornell.edu Newsgroups: comp.os.minix Subject: ST: floating point for ACK C, part 1/3 Message-ID: <8610@nigel.udel.EDU> Date: 18 Jan 90 15:31:38 GMT Sender: mmdf@udel.EDU Lines: 424 Hello, this is a floating point upgrade kit for ACK C Compiler on minix-st, based on the fp package posted long time ago by peter s. housel. Some improvements with respect to speed have been made. Moreover the kit now supports denormalized floating point numbers as required by ansi. The only file in this distribution which was not included in the original PC kit is _cvt.c which contains floating point to ascii conversion procedures suitable for minix doprintf. This might by of interest for pc users too; it is in part three of this posting. g format might not do standard things; i don't know anything about g at all, but it should be easy to fix if it's broken. However, the conversion is a lot faster then the BSD stuff posted by peter, especially for numbers with extreme decimal exponent. For information please read the README file from part 1. For more info read OREADME and NOTES. To install the kit read the INSTALL file and follow the instructions in there. Following is part 1 of 3 parts; uudecode, uncompress and unshar into a suitable directory, for example lib/fplib. Enjoy --- Kai-Uwe Bloem, I5110401@dbstu1.bitnet --- PS: Jwahar, if you are interested in a (partial) port to gcc, this is what i have done before porting it to ack. Please leave me a mail, i'm unable to reach you under your old address (some mailer complains about dsrgsun being an unknown host). ===snip===snip===snip===snip===snip===snip===snip===snip===snip===snip=== table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 fp1.shar.Z M'YV-9<:@>0,"#X@6()(XF4(E"!,F"N:4(0/BQ LO6%[,><'Q! @?"1Q?DFZ)L[0WFZ&<.Fx M#AFD9M*P*3-'+H@7=>;(>=&3KMVM7;&T88K&!1H0D"&_)!-&SAG'D2??-8,9w MLAFE3!VOW$+EJ,2R-LJA>L4IUZ^..6\:0,BSYLZ.X6*D5/Y-8HVK[5SE_,Z3=\V;UZR>5W[u M=HJ58=Q0A%/G^%'J/6$G7=KT:50W4ZV1!ATG]#7';F2DD=I,.KW&%1;PN93&t M"V; (8=4G(T!67QS3#B'A1BZH&%9$KY@QX<7 ICA6<@-1L8;(*HH8F)%)#C5s MBS'2L6)\%*6&GAU(H: 3"&-,UT89 *:@WPB;]824$T]\80033P1!!0A"N5&&r M"[]A,0-8382QAFKRR?626KK7A2)\9I5:Q )5A;7[1G&:]"6)<9>1;VQ4E5T:&J$n M"T&X,(1T?!5(9*ECL*#6=6S3'&j MA7!,55A==U&4GU'FK93@2Q>*45]-M(;1E\5PLF%5&4<"2")% L6GE7X4EY$7i MN7001/> *A^UDMY\^]T7=RV^F48; PY=QL@.(QG&D7LJK3%2!_XI%*R.HW9&h M'973L<-*;A $(TTV/>[6'1.!93>IM8/!4U]EQ%''T$ A>1Q!8%#?@H8M/'%0g M6I]O.0889 NAVAV5(6444YOFBD880/9,]PDML%&A1SG929RP=CLL]41 S0D=f M"+1BGS*L1#L5d M0*D7*" @ RG(05@H)L\])R*PL@A&-,*1E'R$BF-*7TE.8A&58&$$*]%3Y\08c M0$B13(;]H0K8C#B>/*1Q)4.84A".,(6(G>\@YFL!$:94)2HP(0E"2(P1H "%b M)PA!"5-(0 \4Y0*", 4ME00!XD)'ADQNLE5?"$,=\)#)994!#SLD"!?P!)DOa MC*$-9L!!)EUI!C-8BB!?2)XE(2#9SF)7400*P.08\B8]\YN-F8H8P!2F04Y)RO(.(0'#*'6IHy M#G&00\HTI)0SQ &ZZSG.BLSD_BLLT-S2<\Z5\FH5D)E/>O\0M+8,$\BE4$Ox MZ^R:3B(:!C',89TGRM&*")H SVCTGQ_5$(Y2I*.$CL$.#;WDBC[9R6YB80C5w MC.0DH:).@K33D_%,&4'J><]27BV3_/R)&SQ9&(&JDI4@^,)!\S#+A>K4H1"%v MIE(F"LV*7I0@&24I9XY:4#]IU9,?)t MS86%(%0!"^4\YR1#.8=8[C6I8ZBEI?I"2\^2-K1I^"PMZZ#:,:3!EJU]K2Q/s M"\O9@H"CK1Q#'6![VMW:]@MDL(-ID]H&__W6*TL0XM=T.9ENV9@;5E?>TO0RG:[MS#&YW%6K/:S#2"@ CF@]*5B% $)A2!n M"D4 160D(0^'M()66X!0HI\Y*VAC&QZ@C((I P"*%3A2D%P0A:VK) C@" (m M1L"R%+3,92\KI CV2L*5KI $DAS!?$&X0A"RD,(S8O,-Q53B8/YV&(W0(4%Ol M$(VC_Y1-)*?1#%;MM*0),Q? E>$%8FL,&CX=:DCC)-0N'0%-12TI4AOF+B^(k MC1R2IVE9OX762Z0TKH4".SI<=-5GG+6K1RWL4Z>ZU\HNYJQCS=A(U[K9N9;#j MKC.-[!%4.U+!+G6EB3V@8Z?QV\P6-ZZ?W>UOWS36\)0GL">M[E/KFM?=CK=.i MK1WN6SN;,;W6=Z<%'FN>XG/9UZXWJ@'>;8-WVN$%_RG"^VWJ;&^[U_J<.+W]h MO?"Q-5SBQ=1GK)7:%J9JW-859W<:28Y05[.98]OF2Y]JTUW-=*6CU=5HA3==.WERf M;,\D#T$.^-8'/O98AS7H-,?U9"ISF6Z?'=Q"K_1D:@+MK[HZI)]^>[HYOG;+e M]+I"=D<[MN?.[;P'WJLA@K?>$\[W2[,]X(NGN-PO3?=\OQU%B4^C'2(?=[4[d MWN_=WOSA]UYQPO=:]&0M)NIE%.NLIA[N:3]UW]NN>c M]9H'_.M)7^FOASWTPK^]X'/_>=J?4;B5<4%'0A.EDAA?x MD1!- 56U@1OU1!4D 1/X 1:Z (Q<&<@( 07XCD@\ 2>8@=I4 89,X)& !K]w MT0)0,$=A8A2),051$QL),X)IPH1.."=]<3_Y RUT\"\ZB$J2XP8A>!,C6"STv M(X5GX()N@BMM "V?@AID0A$#D3%5:!17>"S$HA-KH(&T@AQM !9:MA93X(C0u MX@9ZH#%O\ 9KL!(' R2/\VH*LAX=9C Z<1WGP1B4LR9)6!2L00?%LP/ZD1>?t M,A6$:#I8 624P?Y$AL=YCF'"!UQ(H=W\3BT(Q?D0?V AYET8B4TS<]U 3IH8\^,QWTr M\1/,#%IF9&@*"H\V(U-J&VPHD#!(P*LP09S( (Cn M:2Q]P3)AL!*P,P?)!QE!0([N>#L>.#L@8)RD:9/=(1?_HIQ$$A\=]IWRV 8KT0(RX 4SD(8*j MM)_]"19!P&-M@!ZT$D!BXS'K*9JD*9WS22N*B!2+,95T!35\AH?(A2-&!=U ?Z,9,:F!9IXIXX600X,4@:0&XP94N9IDg ML!(HP"L&*HQ)2"WZL1@ 8AZQF0*'R3M5>J4DLY)%R9460YERL!*,"#U( @)Zf M$!N65"90*J4]&1@Z&A2O\4M D09W2A%NZ9DH4Y]. 1T!@Z%8$ ,O( ,] Z5Ge M:I>=R(ULNI6PPC+(X08SA@))JB1B2A.Z:3$J +[^:1: B CNA:JFHXL\Q(]d M)CBMN!8-2J06U(XUF0;! S/1TY2VRJLERHO-R(WS0RM#DCU_VC-I CM6FC34c M81S+^JH 8B^'>C\-)*?"ZJ2H!*66HYAL #_:1R*I(B&W BLY.:; RO64C5W*AU7V:040:V?68-Va MBJ>,N:.E>IC@NAR_B(ERY"8%"Z0$$2X ZY(K2B(K(0)CT0(9RQYI84(IH<(H:DI*4XSV3N)RQ&*M"11EH&V@OFV4W4 ,Tw ML*$Y@ ,U8"]CVYG6B*!,09LP(H@129M%X@:RPCBT23+F.)23JTDQ"A7R)+#7v MLBLV@:!Q8;<@&)&P: 2QWC@A2W:QZ,PZ@,)?$\R(,!80,#>&C8]X;X;*@,V8,$.r M+ ,#W*WP*KW4BP8-W*$-# ,/W,$%;#EP$<)^0:,)@ /N&P,QL!*LNTOTL\+Mq MF!\N')KN:P,TD!@HX)0_FV5GDK5H:ZF>N)M(P:3DF+ >G(ZNTI?>(XR-&JU8p MXB\K,8+^DH.E^35NXJ*2BQWJ*6PAM!9Q-@6H D>803(S@P5U@AUSPF-W42N$o MTQ=5<159L25-QA*-0P8V,D\4:!"-9P12S>19!ALO-DY?+l MC*"PLH'WT6A.6<1^2Q&+:R#/F3!R2[?*++F8>Z1^;*V[41PSH;N*D7,GM!Z*k M.S33JYX^$@8]<1?0J4DY*1O2X2]\ZKA34;F7:Q-G*J=JBS]LNQ,C&)./@1RGj M<ZVK#2H:T(*[Y/#""-AK^O48TEB1,Q5J$LF9?) R#"PJNVO!-SL!P]@[JPg M2BMU8@9T #^I038UK!8LPQIUHJ1US!.]\H%X&Y%!\P;0@8%SI;1TX*6ENUS,f M:HW63+.5"J="6&X*"E!G0"XDD[S#^R8!8;PVX9L^-I.OLBQ8\BW700=\FB8*e M>["PJQ^Q>22PV)S00S21[ :3'#M\82\:3YM^T<8Tc M$2U-VF@H,* 8PXV%_;<)$;@@@+B%&P.'>P,4;2"OHQ<NM1ALa M\-DQ9+YN*AM\_2&3_2I.;!P(M<=?,0,@<(=>XQ1ZR(>,X1=#T+,@, 2;[10Zz MNCG9K!9"VL53Z"8=1(P3(8([WMy MF";!$@9HW7YH/.-F:\1D(*61W!=\C3_R+#F1/3AK@8)6:A T_C-[(9)*4LU]x M2[-FFX%JP13GLB"4[08H $=*P@,SI>>S@@)0_N>!/MF#[N1)7K]ED +VHCATw ML!*(BAROD> @$*&D+9N!O)632,UK 2*+T3%O.T>4 9'=!^,BPV!(@L 0Fv ML&;:7-@3C'\M>OX:"6'BX2)V!H"7:=-XP)*HN(SY!]NPG;$r MXSTR TUU,!>=V])NN<)0 Y24!>7V$LQ^0ROH3N1:S6APWU!q MIDG?LIOTT\;AQ?*,4Q155+%X*#PG#]7D>3)4W>7I?D.BOO(S@;E"B=6T N47p M=88T$(M($01#L 3%'8-\(>-JKH)))B@+#0;L9M\!*Qo M01G4P;6]\BLKL00#8B]#@O9+4*EXOT#_C\1PND"W(G_Q+'OIB%OW1#Q)C\"<'(?W3[U#4l M@?W9OSS7S_W43Q3<+V8@0?S2I:5.>3-VH#/+T_17#S)CH#-<2C)CL;[ZT1-Vk M("?Q>-!6\1AH(>FF@7@Y#HF0\G:')BD#2 +DR3B0\2=TQ@#)&CW)8OPS9&6Cj MUH*V(PLT;C'L#8) E.($(JH3]1@?4R3N@J<[>VF/0$T+;B0"&I5+D@^%R>E5C,3Dh M!AY2U7B !03-\0Y.,2<>B.:X<4%""LZGA9860 ;E$!DS#O>5":V@)5@'4B@"g M3V!+#R,6@0!* $3"U>F!<"!-K4$N( %'5_]@@"A"!C^%%[#54f M=DJ&DU^X'VA+K:DG2+<2X(?8@FE3ZA>1P=B BC2@L:!(;21-,#Y-HGW^Q< @e M")/0#+9!W:<3E(1BJDC_ N'YL7I740RR27))U!5I8!'F5AY26HB[+I\E)&LE;/+7/)!]\DE%E>7C!HLc M*@+]+V@P!8M!]*+2 #!;2XY6&,Q;^8"6*,6 2/<50,JP7?"Q76B9_X/UK1$Q"'a M3.A<3:,BR2FE L=(D!,#:+(8*"!_A&(R$(D&AYY;.P!&*?4V9S@"/*";4!Gz ML(S\$ >EA7'0?)1C7/P[#B?M>A(:A ^LC_/E@?YQ!?/8IIN%?L%BN,3,9"U2y M80]<<#E+D*FN5K86QE;L$$$5D&7PLY%QU,K R0@>:8*?T3$S-@6&0!)( CAQx M\\G$&@<2-P<;6PMO0 RH :?5!ET74WAO08,OF!!H(?L64X63$U/OYOF;7)70w MS%@0G .=D'+ HB!0CE):;.@;6Y%EO C=4CP$HG1!9 VN9TB+2G)1G!7 H.!38^DQ[*26'(LY9#F@E-XBr M44I0?GRZ>A<0_Q\6"(4C3YG1! S7%M%"6KAZ1I '3:DR@1%E G0XBH8C1@F%q MM('7YA0"/%#2X0C&#-NX"0$CX(M6+DTN^!M)J!3VGBT39MAQHLU'3<$RTD95p MB&P.4DQ5.@")E.1 3I.0\2T[3JZ:" 7Q VT:1<_I+.6BJT04@A(6B D?A'SMo MA+=G$*Z7F$-ES88B# DR)]^&EVT\BI"O#%Z2>@8RS@ 89 TQHSX21_UV$G.Cn M"RD.+D%RV+DV%@<'8$P41C^J+6;"M? 3N%/8Z(-:8G4-"2ZIAX: ;UJ)TH7Rm MV0"8J!/)(A;<;K9NS0G!>C<1$%Y.'(O\#!8II)HP)7:^9X1 J84T$-$(^^(0XIETWP%)$."YC(.@4.+X0Q0DE KE8DIV:8h MUQ;4;MZX4+<$D!+#$^@',[+VL$$W9HVHTGC4BB\)V^9+GO2EX(5g M15!,1) 9) )(X<< -7W"UT$UG9'^QH";''T0L$>&@1]I'=,"A.P/NV(L%$ Df MY>QJA5TAES,37Q\)=X3?09/ER@>78 >,)*Q\WUZ3_D9/#/6\\P+L-,%z MX$_:B3_#IP="3@#"ICRUA441 H9Q:'I509[<3\\1.YN0]W2@P1-W>J!K429:y M% "-3]SHC=PTO)9 R:=K@9WN*P& NVJW,=^E5.$/SQ.UA% 1^C!CPU2 (V--x M&'8G+" B=LL*':%3 1D6Q)X!1U)H>+FA+;3:P5 %HD//59:BH=P%B%HN%UJ:w M>&C4ZW-1#]!1C4*7&-R'+^."^B';]2NR,$+MG3GL[!J &&V$Z-0503QDu MF( 5RP BB2F'N@$M\0'?DP)I-HQI(6U%U1 SR^6_TIJ,:DB\"!?H1I]=%,)#t M/^\^'E%@U]V64Q!S589QI=T$!3+73E*:Z*)-[W/2)D!(NI9HM9N8C>-D1#$Gs M%*_N8XWB<23/*)6)$BK1X!Q3K'A#0/XY)* A"+_D5'B:2,$(% 'S,R2,0/FQr ME>VQF?&R'&2M*(M"$YV\SBWQ-;+FL5:6"\!O20!@IJZFAX&@T';56H0;p M)%$:CFE@4?!EPX8:SW)CNT&6*BYG%QN)$,#G3BSJ4M0@ #F"AP%6O&EX@).Y25R\*W2@%WG4#7)0!B6!M!B^+"/*0?9l MTX!H)J.*3%D,:38ZL47I6'"M >[5)<6DFTZ>S#. ^2%#6CO25 ,D%0H@30_,k M3)D]C6$04L/! 'Q@[:YJMLJ5[YZ@=%AFPHB)381A-T /ZZ73B/NK5I"!Q\ Rj MTE ;:9Z*#"G@-I*!&P*("TIDLJ.8+B>G1 ;(@F<=3N1-M&(.?"?/RI%&?!:*i M;01),@XWS*[=QI*HY6LG5+>A$-52JGY82G(@6XP@H4:HXA'^:PN^R*Z^ECC2h MK"!6;$H5,DHGD, [D"5I EFHJZ!JR@0/5M3E$$?3K3&J$g MUT&S08NEBBW*&%((;6VI2KE*M+3*8)%:K5,T:FP&$4EZ65F4L4!K<<%"3M(Kf M!CUTD'S8=$CGA0+@5UU[e M#>QQ+D1(HY >+IMBXYLG22F\!'NQ!I('?36/(&,@_(FA ;#5M4P%OFB+'@*d MGVAC=X)JM!A8]C%T6=$&\D*:<;MNSRW&L"1ZU30^VQS:@M"ANI6+8:?=FIQSc M"D*DB66H@=MQ)!YKQM*L%Y96&%C%=I+FP(>-C)UMD@Z[Y\I7MVMS.*Z@E:)Qb MI;T@&E'25,H+JPFZ3@41,+2N0A)4(#$ G0&FYW$O3@.-ZAD==$"BBW%84F,?a MFZB%N@DLH("4*8R"% *<5[3I @XWBO3Z3B)(_%LZ0S 9-Q:@,T@&I\5":T @z M%5L/MV)+%7GPF2ZS*)RZ$>1H+P,(T)5$0X[%A3;"#=& D&JT( FY4CAAJ6"#y MB++TLA5T.7 CAU976QJ<+ ]E-57>!-^J&.+#"5$6$?*AY LZ &X_JR.Z*$H"x M#L6&GN;)Z$8<+ [0$LQA@=@W<"E6-P)[! M/V4;W:23+'LF@N+%$;=;,#O%Cw MJ4)@>!E*37FLS*49)T"$\W1C][%2&<\SD'$_9U(X(;\Q2<56Z=KAAD?QZ*Y!v MZ.JMV1%K3S&=4+P.Z:E6H$F)< 8"JEP@704J5/!-B=! 4-+E> &:- UT(W^+u MEQ1(76*EU@B@HKS:QU#Y%-]<>96S:B"V0%EN=M>MR#4#=.$,U9_;*R;82<4"t M3@EF^->26F;TTYA@S&JGB96q M@Y"/?FF:2&L$P:C=R[+@QVJ?^-R@L($Z !DA$V(5JG:UBH],0F4%2F:A1.5"p MRF(K,TX,K[^7EZZHZ")M:\QA.M&GO=8@O)9"LIA]SL$857DF7R_I0FD/Z]1S*@LKUQ24FK':=n M.:H+'0)(Q$(YX!QK'9JZ%=#PB$K0]8" VNITENL3B?0,V;5FEH#.-Q9F^/Jm MU ")G=?*4l M%E!8"3MX\#6C-'0PE=Z8BO(KIj MH$6=0F0=(K*!$ ^<>*7PWUMM!S (6XHO,0/,IGVX80E6%.$/I&BO,&+NT!3Gi M<*[8!2#+FQ)"(PP>ZRY+5$FQ\@:H(K&PBF0A>*2&3NP"WP9QLXJGH5@TEN::h M[_Z2-4*31%1+6K,S@WBOT$"@"!'QK4$EF] *_UVE58UPC1F/1<0AS_9M %%Kg MG41)#*A[8@/XJ@E^KRP#FI(!R?11!V^24E,%d MHPB+ K(<&L@#*V/-)S-#GPXNXSR3093?'CSG!D-/I5FEPMS%(/M?6SH5MFD\c M7K3[=C3E0[P0]0*EQ5B7'-@?"[G:)X?BF*P( S51 .?>];#:\A\;2*]@M\$Rb M8F;9C0;55&+$W]AQ(%4RH#"'EE. L4SLL%E5)7EW8VI>BH@*)#70)6Q13_D"a MSQDG.=D% M.+93G&;@ E5\1T2WV7@SPF2?+"-5>&+#&'%M9RD,_K5XZS,48Hz MG.4J&7C=J\58>?85QG*'!$%\YXABZL--]BU,7K#QV<1$7'A.^? 2$@5HD>P y M(/VH2UAQ+910VXC_,E)'^H63BZ*QU==BD%T(:C'(?S?*J5.@.+ \D%4H>!Q(x MAGXBIRQ42=5[S6QQTSF[%D8\FA4K%9JF)I&6^64O J$4#0(X6R;I\)V"DD3>HX8M:*Qu M5A-DXV""&/13V OV.9N(U54S5J485GXR@R:#*M5B,*-S9 1%L6.1<\H#THN8t M*Q6WT8TDU0(F%/>=8PQN$G53V%#IE(9 XS%$^2]Q0)7\(O13@4"!R]ERT&8 s M^4H=4A6*:_LP-4!<<%@7O&'5Z(S[53KWO<)Z%59=6DBQ3TDWW3G'G+$LFW.8r M1E*O,3K".(WTMB,0M@GCF">DA3K-I)%N G52.8D-0*/78M->]+LLQ80Z*RH(q MZ18\L(:CGM-=Z4_+AT83:,F5X12I32]6[<*?%$,3!(G$"V5.C-GIJRDSG^V5p MQ*32ZV3H6K@!0\Y@&D2X&K=&DZ?;"!-V"!ZHH\_A>K#1=RLC30U?U ]:KP!#o MNOI(D;024,Q!Q$LZ$$_I4?O&X1BG=;K9.&4k M TKK=W8 MRQ9:"VJW9.T,@&N&AE2R.3K8MH"PO)5B L:i M=?E.;;)]"M-VF4#)Y)4NKV>V)R_@A%C.1 :/ZZFN+RQ9LC9.$-RAVI,QH0BLh M0,;$4*JQ U0"]P08NQ=JF:+2"GQ*3"?4OH $JH!;^0)6P"$09$CH%W@ N_$!g M2N+JE=P9*G,=&IS&0+;1L9@!LKWT@C"X>GG<;B_EAZ\M$U>=(JV'9+;-:@,44W3O^AP0)FQZJL,*6/-5&BNF625)3M)e M'MK(_X&U6#GLP'>652#APGOS4XNYR>0(NPP[,#QHY=d M W%H805HU@O"ES039@]=,X/O=*NQ>FIB7SO=K*8[J)UFJ#W)@MX\5KJ4J)V;c M*A.O[W[X#V%])9'$7(YIQS1F156*0./L*5XF"#CTTA&/^- "X*311E UBFE'b M2 J]RE TD#H*]!![22+CFA0Y73MK1UJO:9NA:R0?#";-@DFVI>a M*KW$\:J(WSWZ)*O$XU$"&\;JAC_8!*X?$!NTB LXU N3)";48T9&$*_:82XNz MCFO9YXC([PAB*48\,6"*:O?&I7A/R@^.DM<1V?"-P&E"!Q$)@"1* %4($P,!"0P@0$OP4)x M+51M$DT?I1R8K#>B: )IULU*XT 77C,S.(<-W!.8@<9EW1W(W75J=W]*=N9"w MPJ1?."QV12@C2U)!//#MOQ!.!X,K[6X0L%=)DU5@C,9\2/QOLH"53G;#75]Gv M:CNV/^O-6E,8O4J@/\E."^ RL*%P0VCKD1>IP?&I4,*6E48MEWLQ,C\ \\12u MF64JF,K0][?6KH5F?D%!$C>R%EX!!G@!"]=.&.Q5Z,L'(N)19R@W56W8"YV&t MP31B8M6J1Q8T]B^%,<,")FS>T9:,:04[;\MT@&QGZ#" !Y(D.IR.&Y(6(CK&s M 8WVQD3 2N[X-"C>SJ3%RT)]& @&+2V@E;>;\XX8C=/M+K[=I-

RHSN')'$l MJG*7O"%+.PA'ET<0VN:N;D)U:%Y&*P]'"!&V5Q-&SQP[(+-F&1N>90$4;M?Bk M<>HW]+B_#N11> TE%BG<\LX9O2^=: Q%D>Q6Z(3X,">\KEX@"QQK*$F..7&Lj MPU$SWAT&2;LF[:1GC=3L[\BY?X(7KCP>U6B,SE"_VU)'I&/)4RU<8VA\ G#+i M6VQZI>V='W9I:E!A1^^PO@:Z(;M%>K[\GSE41K4Q8JI!J_?DQ=[&%X=[6)KQT)JX2^>2#+EH?VB",""=6W0;*&@]>Mg MLHEMN@1?X8D'5IKHS^%[A@IH DU%C *"UHS?\Q'%%$^PZ)2=!4_1TXC$47C;S4$Q[BE-XDW7 IGFe M3(0=KX8+P301=FPAW3D,A6POY,Y4P7=K-.S@8(]S>^XB +I%=Y\3&"7A="N)d M WYO=/8M$T9,5U C])R3QN5P6MB/NWU(S..$3HWNMWGXQP"FGI!MS;UK?J,Dc MPFH)HYYT,XU9<_.B:Y4(;0A[H!(.45TCXIY>E\.45@RH*8 =@(3FU-Z0*?<6b M^ON@C$)P0Q(+?W2S&_(T< 6V]DQL1ZJ #YP18,#AT>[V[,[$JN^H1a M8[MB9R". YAV0K;-3)K0NI:C0P;A<307R76:($IRZ&(:HB-O\4-XY2IBQL:)z MJ[07JNT_':3GG&Q8KPE(UY*.JGKHJ&>\ B\T]04>1$ ,Q:>"X-X%W8&2[X;%y MO=5V5Z-O;I*O *:MN?**0BYYT@M$E.3\.089\O6$[#1*5*:%[\W)(Q69u MQ98ZUZ#LS1OA*W,(M<+=0 N'FT8["'3%KUA51[9C/B4D[EHH,0@_@;AZL=."t M!>-@['!6#\>B]6Z\';Z;@W\D\C6PFRZ:?)I#XNN#CLZ%^XLX:W-?6.65;;&9 %&-KX=9*_! 'X!)_(0:?$LC;4$.Z;K&-(Y(C'<8IWS5"P%R+@"E0&q M?7<&BHF.+5#_#J(/<"B-\T%5"C!,5TLY0JE&>$%(&]3O&6U2F>)5F!%M?23Mp M=U'*6K_-MQL<<."R3H,.F> KK0)&^@_:QBF\:E9?^5I8OT:N"I)S28?Q*o MVI[$2%ELQWBD7*U5>$@208<%R #TCS!69@?_>.3Z[_QM'"8.<"&Y?A#(H+N2n MZN?=PVVICUC_Z8]P*$TSA^;-C>K;U;]WSC*1)& SXZk MK(LZT6B):5<<>]U8+&Z%JZ-W,9IM;"(/OG^8., !V),0?(=9>>NP3F$[G,'^j M5"D']_2MJ*;+[.#/C82&I["-<5 KJNMU&BJ*!^, 'OK4&\X-UB;CS_U>5V[*i MZEX=T6!,SX9QFJ@GJ A#80TFU%MR$g MT,+\K@14@>D^W(G\WO@BH8'"JHF5+L2^U:Q)P&QT"W)+$1+RJB@2<.#?U[$\f M=_ZI0WIJ4L2"VX4B]+4&T"IP OT1YK2'R %##' !;-Z>@$=e M$D*@_X_>N51Z+4<0Z*3'0@>;NQ] %##'#!K)Y>0(>$%!B^+: EW/^@-A5&[UPJO98C"'328X'.TN@+&&(BW'FIb M-\.% VX 6' "=.C\J"+8Y@(833$18CZ!:!W+$=2T-/K2^O5-*VE!K3$@M:B6a MEN"8+:%4V OVA@-N0*/Y$C.N513@*_#A>15U4 (N@$]=@0_/JZC#%9!G_P(Lz M3 &TD-9.$OY:5NYX@/G10OD: #]R=PGV8FHU-CJ4BTBX4*@EM,D)*(%B @6.y M/!8BYTA@+-@+]G8H&HVE $BF3?9"\W;IF_C%$##&?M/O@:D>MR@O7:BSD^%4*MSA "2SDLS0 4D -2@+39(>LI!D#\_I0#w M[ 4@VB%AZ7")* "S0D0R;[(7FK=-W\8I@(8S]I]\#3BK$T^$8C)ZYU+IM1Q7v MX(*@7CPBU^4$Z[47\,!(@K V(#3AKWMA1)X VB 5JP+>U$$7, 5 M#8*V6@0)<-8$"6"!\t M#XD;!0'$_P84?]Z";73H_*BB!R'2/-%4* )@80FT(1 -!927>9#-,\Y+OPU[s MP=YN@(@",#< +"R!V&"E\D5\L!?_B#Y= 1=@+X@ DK!2?:$)@ 7-NP8?ZEJ@r M<5"@SO/9N, $>B+F7@F J')1A!KA7X5#[:)#N8B$"X5:0IN<@!(H)E#@R&,Aq MQ0p ML!> J')1A!KA NR%%6@+8$$&H+,A\"P=D1 .:7!S*-B+,!%KBTD0.,!QK05\,!7R$QR!(6XB^*D>0(-',!3 P!&X #< .@%1-8 C8 !R W" n MI!J]7N"O/X7.IE9CHT.YB(0+A5I"FYR $B@F4.#(m M8R%RC@3&@KU@;SC@!C2:' 6GH! H$U48#J !1% DAJ$"X$"=K?#ZPS"]Y"Xl M$1/HB;O=!J" &9 "I,T.8>8WH 7@@%#K]_MA6#I<.6!EX9,VDXW^L[V BY k M"8 %$4#X'A(W"@*=]%@0VS93Y_EL]6TSV &1J2?"]Y!F*!/HB;N]!J &9 "j MI,T."4LW0#]5XA17!L0 6&!O.$!$F?XMU&:RT7^V%U# !2@!L" "H,!I=:$Xi MVPXA_SD2!#KIL2"V*P$*U'D^6WW;#'9 9.J)\#TD;L0$>N)NKP$H8 :D &FSh M0\+2#=!/,L!>A(FF$Y8.EX@R_<&AS62C_VPOH( +4 )@8= WH8%/;-M,G>>Sg MU;?-8 =$IIX(WT.:H4R@)^[V&H ":D *D#8[)"S= /T4:JD(>SA<(LKT?XDVf MDXW^L[V BY "8 %$8#W!T0+V/M6,2T8Z!07^%T"L6TS=9[/5M\V@QT06?Y^e M*>F<&S&!GKC;:P *L $I0-KLD+!T _23#+ 72F#E@07VA@-$E.FW%"(\-M0Bd M/6 O,$7V'KUQH?1:#L+WD)0T=ZQ=="@7D7"A4$MHDQ-0 @\""AQY+$3.D&29OCF>.>.,Q(S/O\WLZJ&]-(C!4$ .2 '29H>BT'OY<#0+T)P@0 3!D@%#"%E% 7@0D/ 'Z$P2( !@:(Q"(*5).;.$326MSA7I-v MN[*C!BOT1BNG3VPCC+($K82M?N*0JE7+&& #"AQ891&L32Z #%[X01X!+G;u MN9S[C'L@(*:.N,TS$13,*P[F7B=)"XH1A; P'L)XSD!9C"&*['ATDK2@&&E t MDW/:G<,-S!'E-'9ZZ<0#!"3J]4M.K7^ML*-CTPJ]493,);D&)A81M\G@2(:VMO\(6D+P1GSC6PVM6:=PGH#$IFVYP&[4>*\4(4]EBPQ!-KG) 3)97,X2G6^@'Q=-WR>YTCCUTDSZ%Y"o MW9W@T"A(+7X-39)KFIGS3(4ZZ;$0M6OA9F"\S#YB97;P3ZZ%/5Q\/#F((,VOn M$I/A<23YXWPY\A)JDGODXLQJ6\HQ<8[l MLW$7(W(OWT=BO"8$RIX1?G4R8->-N3W:5->Q:@"'99)QP!"O0)+E-6_ !\4\V9/;= 8P>XJ@[i M80J A>:D*MA "T@ =Y7O X& ,%3H ]KB3"Z@UKLO%^ "7$ (H \<& &&@+O*h M]_O/$Q$( &B*T)\@0 3 D %""5M$ 7D1D$!_@@ 1 $-C! (Q198A("S[SFJ(g MCYZ.IP4HX *F@ MH3JJ",(5H-U$Y?6(;L8QX@"ZY%.?.S ]%HG#](/!4Q"OEf M:@#MU;$\$Y$M>)@'L(!M=:34M701*HMYBJE20=Y2^Q[N7$QQ$ 44<#9 &ZWe M;*E!7@ %<46.Z/!.4!Q$ 0>T@-*/*C"=+S^^%T+Q/B9GI[32>^?J'?_S_$H!d M%R %7 2& M+6HE;NZP8^&]"?F WL;[<\DKU-"8]-%2R[++^P>)>843/9,<1c M7?@#P5JR 6)-3AL<6,"V.E+JNN!O7S]ZAL^]8KJH(+'Z(Q%)*Q",0$Q8")E1b MA%33,O#8;A>C! Y@1@> 81[0 #[BA48[U3P0$%-'&DUY(E=R%Z\Y]]ID,!"&a MZEM(92RX4:3>XK8M:9E6M,#?MAFX27LEC>-FT!,J; 8?#,5XU%N!$2JQI>2=*Q8x MH^2.(*1XYV^(_F(@AGB'CDRC2*:E.V1MU!4APLWZ>"'$OYF'F[B#C2![*. "w MIH +:$ZJ(L!1@?HN%H("C*V%L#!(@AAY(^HK8T1G4-W,I.!:,WOGv MPF5D4O?O&HLYKt MS<(^'!!>"4X]$V.2"8^A2:Z.S"R,M,1+;PX5@M5'6]BQ;PV@!^?C;>1LO/NCs M$!1.APE!C"L1E6-*EB$@4H:,(Z?6GZ/)Q<3A\M=" _I]*:[G T&UA_UNSNJ;[F(KROSk M3+3IS1K:#&UA[^QA#Y_< 84+FR1LD0\.ZF2S5ML&3^;#WE<0 V0#56"ZGFK6j MT/ #7M-I& &*R94I2\'"[1W 8G6NW7P #,H=MZ]H#NY2&,%F?AG9:47\Y9AGi M&'=H=)K>C71L'*.PG@B4&]KU^LV8V4T86 .3Y,+MLUVV"ZCP\[3>ABVX4M?*(I[\,W#8Q7AD:S$HB !P>Jg MA:K'I_FWD(K"*W>-60B0M-FMTA>$FF3IBXTNA6\>!3809,J64KAY<5%QG 'Qf MS^Q.1I?V@2FNYQ?96G$VUB$K;A81$[>+BT3[4S'<5:W0]@):RPLDA=-OA%Q,e M'4WO08SQ,B O+(8CDU&X% 3@AK,XI/ T8N.;U"G$.VN/)1&9OI]PBU/A@*

'MDF;0\)#1>X2!. 3W( ".B69F)^!TA(A!#+G8W5\5J!:J8FHO>E%<.!LD@@[OA #6X!64IV!1[1>Wz MX=*5()//(N^(E?0XQN:'O)U=Q89O"@P.0Q7;BJ4Y-HU;R'4A,_8^1B,,O!&=y MFTS.]$X++&!;':ECY0*1LG(.ZA/<_=5=#V=VS4X>(&!>)S+:T;*/TKH26TME+J0C3::!M:)V.<=FV*,.M24;.Xr M$3>:T@I4(X6X+Z2@&N\)^CQ-1*!q M2TX%JL!7$ *"!LQ0 9K!';%#Y-(FL=,%N( 0,.-?1 @@ S.P#GR%F:0EZ$ (p M2 .N\9Z@QQF&!2!#%9@"VL1]N0 7X )"0)'8-;"87HR!BU(D=@TL=@&U/@20o M@1E8![["3-(2=" $I '7>$_0XPQC%.XK";C&>X(>8T )( *7G I4@:\@! 0-n MF*$"0*!([!I83"_&P$4I$KL&%KN 6M]_GHA $!3Y&YT$U*-@+C( BI_U.,!m ME9%(U@/ P#B71+B#!*0A$0$&5L*HT0XO(#@>A(8A2 A)8T