mike@cimcor.mn.org (Michael Grenier) (07/26/90)
Not to be out done by Peter Grandi's excellent enhancement of my original printer driver for UNIX running on 386/486 boxes.... :-) Here is an updated version which includes a monitor program to montitor the throughput to the printers. It works under UNIX v.3.2 and under Microport V.3 and has supported various printers including Epsons, HP printers, and my obscure Integral Data Systems. It should support any Centronics printer with a reasonable buffer. This version has no trouble driving my HP deskjet in bit-mapped graphics mode with little load on this box. The driver was developed for certain TeX dvi drivers which are sold by Scandia Microsystems. The driver is hereby placed in the public domain. -Mike Grenier mike@cimcor.mn.org mike@sp.unisys.com Sorry, about the tar file...my shar doesn't understand directories. #!/bin/sh # This is fast_lp, a shell archive (shar 3.32) # made 07/26/1990 01:49 UTC by mike@cimcor # Source directory /usr/src # # existing files WILL be overwritten # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 66048 -rw-r--r-- lp.tar # if touch 2>&1 | fgrep 'amc' > /dev/null then TOUCH=touch else TOUCH=true fi # ============= lp.tar ============== echo "x - extracting lp.tar (Compressed)" sed 's/^X//' << 'SHAR_EOF' | uudecode && Xbegin 600 shar3_cmp_.tmp XM'YV,3-*,*>-F3AD`"!,J7,BPH<.'$"-*G(@0A$4;-&B``&`11(R,&SM:G!%2 XM9$<9*"W2L%%C1L8:+6-T;-F2(\6;.'/JW,FSI\^?0(,*'4JTJ$0%5-"DF0." XMC)PT=LK(`;&4JAL0=-"4`0&GCA@V`IN^:1,FC1L7()"$B0K"3!TW(10HZ-BB XM29HU6X_((9A&ZER+;>Z6`3(F39LQ;^2X:',V\9F_(*:,">.&3)HP(.R.D?-F XM3IXY=,JT87HQAHP6*VFTL`&CA@W(%JF4P0)BSALS=.Z$V2O7J._?P(,+%_Y, XM`P!0!!(&H()0`K]_?Q0F1XAF!!"$""#R>/X'#(;CTP%4OSY^87DJW#=0.`X! XMRW5?1*Z'-P4#88"$>#P@A"]_R'6%E,0'``'^`<`(=UNX@!`;_4"GD!1%!$%$ XM$T4,9V%/'6&D$4<6?;2A221Q:!(-,92H$DLNT3`###?<T!$--]0@@TT7UFCC XMC3CFJ.../R&E55MA@,;54VZ$-I534$E%%5,JM%''&&BH`"1H2F9%&59H=+;5 XM&6_<EH=51M8!!QT*P*&D08A5UM134<G!5!YOU`'";:%==489=(!P1QI9@5"% XM$TG0!@=G=J1!1AED@`"GG)-=)48=9IBAI`)AY,E&&4'FB1EB8EX*`I2[A3&& XMD4R9A>56@YIE)`B/1BJ5"W)1\895H(7!!ANG@F!$ID.JJB22;2H:)PANE($H XM5K/J()='*63V!EM9;07LF5ZU8-E>HR;VI1EI7,K46X=.%2T(>,E1+*YIFM%4 XM&MC2H2UL01)K[*&)FI&8L'5,Y1F5;:"5E+1L*JD;4XFE<899MK*1!VQW/$5' XMG2"`JZ1FG,&16)Z/YLDG"+;:!H(<;WU;F9)%3!$H6E6,+`=L%+]AL1QTL)`K XM:)"J:^JXT^I;[;5E9"O'EW-D60<;B7()FZDOX#G&"Y6F^T(;;Y`Q=!ESO,`& XM'&@I48>0<ZRU51BZ?7D'&I66$6Q5-VO%FTANO'$'6K!-D=C/,B<AEALGY+E7 XM&Z*)H626=R!;&YYB1@Q'KMQZ&['*?@)*FQ4NS.""#,O*T"QB<'QYM0MH6.0N XM""]L+<<+9HW!1AV'OK#OLC-<GFC2="S=]!MNF/%TU%-7??5<<]'0+!5YF`D" XM67@)_FBWB8Z[^:R)EX%6$NK:O7??2CYU!AHQ+QYNXX&"`+GDE+,]K^![N1$& XMW[DN+S@1`2OVQK(U-`OR56VL\58:>,CE(\!)3E55VX';2QC(\*7/<>96<)N+ XM#9KE!+?I:2O%.M;GH&89,WQI45.Y6FTL]@:PN.$,M:G6OD+3+Q`D@0Y,P0P= XMV'097$$&5!^$X+R.Y;?);&TKRCM<SJB"PC*P05UD>`/5B/6&/*V0,G-@0]E. XM!9EBW<P&5FP2'F2%(X05,,,+@XE`'@@Q$7HBBX9>@)J14%4DJ<WC>52`S XMKN:!3G2JXR`;K`8'TIU1#F8051GH>*J]+"EB<ZA#PKZTJ4I]:BQDJ0QDQB:0 XMS@F0#$PQ`V?:D"NS="5/S4NAF@Q2F5(9<5:@"6(=Z("6*VQE+W!0XD#82+8\ XM(:8-B4S4GOID&[YEQ2P@9"24]-0M7`4Q5T<LB!+ID`;:M>5>6X-;1Y)PE2'P XM4$]Q(AH(V-"E-4Q3,"#0@4508#>R105O1GR*!&?U2CAT"X=*F4,(4K`LDXR@ XM=*<[%`AX$,IB<LX'L`%,6:Z"`E5Q3`YG&(/,I`@"%:A@-V>P`SM-`H(]Y%,D XM_DS#0.-4I!T\M"-&2`(3BE!0,UB4H1TA:*LD)8<MT``&.;!!%RQZ48O8:RK] XM!$$//+(#JLSSGP&M:1I6L()F.12D(E'73.UE)C>@`*%VV$(:NB"S)WQ!"D1X XM@A.8D(44U/0%*GC"$F1&NZT$+9J)&M0;Q!"&KWQ)*IR9"I1Z9LU;,ND%+>T( XM(SV%`C/<"84H&*E49';2E,K,#"EH5EQ-8D8ZF`$%(BC!'+@@!Q'(3*]RL*I% XML`H"(M2A#6+`BAR0.,QB7D4%<`5J1\Q@.BW5U:IQ[<-#56N2O[3@M:]M9VQ^ XM9"8YX&H.FTG#F$P(R*U41:R%HA?'J/E!7O:I#5_R%1[UV)9S6H6)(IF#''&Y XMKG9I"U:RO<'O?D0[A<TI6N)22G$7-3R#84]/E/FD6/Y(/'1N18-0<P.?$@,9 XML9YALR74FI#&D"A5S2J^\YT*99(7O*VTMY1:N<JX"JNDI4!F?O+]H,Q6J#DX XM?"&^(&A!&V(``]`=R@YTA(%<CM"E1#'A26M@@6PU+!C(!`8OA#$,8A3#&!<X XM1G^P>:@"U*J5,;0UG04-K6CUI!2ZVA5/<\AKS?8*@K[:X*^!!<%@15+8PR9V XML8U][)(C6U/02<FRF-4L9ROEV2!/F;34-,AI/PI4UIK$S1UQ+6Q;(%L0_(LK XM4KEM;G=KMQO^$;B&.I:M:)=+/G4.N6"22AZ_Z,:TE0$VTNV2!T'(,Y_E`;N0 XMT:Z=N>L&[Q91;5BB+GD#<[T\Z:9(@OME5=J;OL,!V%TKZXA]\9NUK;FROT7Z XM+^T"S#$UT:'`PPL#7A!,D%PQV']S>/!;(GR&"?]LFA;&\!2"T`0H;/0+3Z@" XM%:"@;1[=*$,@$9&'2M(A&9#;)!CI<)-1E!'6I*0TIJ&1M^=-[WK;^][X5LB_ XM#((5PPSQ#E+YVEJ3E"@Q`(T@EBEN+;<B!CYI.`QP,%/1-@L'I8R!*7<JUF9# XM0P8%&)QC=IY-4PJUIOX=,[Q;00(4FD*U-:@!3VC9-`[]'2<4?JP,@Z(:08RH XM%06XX;)^F\IM^LTWIBR82*MRES3']:?N[?!SNME8#</@9SXE&[+HC>30V)!` XM*"!=21:1(E,XF:>.$)-O-2<-ECA3A^M=4G4]@XVZAVR1N9O$[@R%@0M@P'?8 XMR$2T'\F!#'#`4!G`:,@S6)$,7,"2&L#&W'2O.U#Q?O>]]SW`]>7,?<]7Z_WB XM>H*[AG6O"2R\`X/@"@DV]M>1K6PW,-O9%;ZP,7/V@B8(NPS-R[=OP/VA#H5; XM)*8YMTA0HI%UMR0C,KA!#&S0D1O`0`8UD+?NIT_]ZEO_^@X9@A&8$(0C3*$' XM"E"?-C<W!KD$;3?9A+8+QG#(VADL,[=WHW3UN/XWSF%T\$3='O=%1\XI(`'G XM-Q4M@!GDUW[<`D*VAQ?R!P?TQWZA<W]V9#KZISJ?T7^=XP.;$X`*@'T<V($> XM2!'WX1-T@`_0P0`-$8(`8``)@0@D^`<JB!#_$(-_8`<E<!U$H`_000X?<!S% XM4`'7@04X^`<T$(3J0`+7$2#7<0S^`!U%>!U@8`((07OI8C`?Z!,98@/,)VZ_ XMUQ'!)R(FP6$N8GPIDGS+ER&N$0/25X5JN(9LV(9'(46B8B0HH%URD7/<@@<R XM!6T*X!9N,"J>Q10S919\PE5%-5!I5@8RTS!\@HA4\0:CP@8*4(&;@P;_%X`9 XM1H!8PWY3B(#QYUSS-Q#U]X#XUX?QM'^2B#47F(%DLS)NV(JN.&\HR!,C6((G XMF!`O"``L"!VW&(/008,V&(0ZR(,^"`!`"!U#R(1&"`!("`!*B(Q."(4`0'OD XM]XHW<859R(5;6&["=Q&N01)BB'S*QWP7(0,P0`-I2(WHF([JN",*@%7_MRME XMM'HEUR8)D`!#X#)Y8#W8@P)CT"PQD`,XD`.9T4AAX$,@H!=\X1>@I3_O1(KZ XM!P(BP'\,2&MH(`(*T)`2*$\168&_9B9I5)$7F7\:R7_7PCD6B9&E")'\-P<& XM8SY<!Y(H^9`;634WI!@P*9);,9-)(P?F\@8F&9(..9(<^6L_&9-"J3NH:)$7 XM>2C<4BP@P`10(`158`0FHP4<Q6%]-P),:19;T01!@`4H@`<LD`?-@@)AV2P^ XM``(H0)8@\`-JB0?-HDUK&5A+B7M<F1E)X`1A.99E>98W-9=M^99QJ99DR4[A XM9V$3.1J]<D>`*&4_U1%[``(P@`<S(`8")9F4Z3<R,YF520:;^9D@L"(R$P,R XM4P,=U@<RXV4@X'7*Y6%F$V(,M9`B$9F<>0,XL)F4>0-A@)LS<`.>*9F@*9H> XM49JGF9J4Q9IWY)H@=C5_)Q*R"9F8F7RW&9VZB9O)]YLP$)S9.9P@8)H@T`<= XM<9SR^`(?1D>0YYQPU0<L15!7\P6ML@5>B050V05;`)52295)8)4K)1?^=#6' XM\BAG,%,PL`/U2%DR\3ETD"]784P+QW(`>C`?5(\)L)!UV90&9A:)<98)$)8@ XM8`*8&2F&B54),`5T4"E;PQ47PW(6.@<2*J$4JI5VZ91.\`14\`52.059L*$R XMP0,\``)T"*,6"@(S6J-!,`1+4(\HL*,]ND`5>I=%X`1$@&U&\`50$`104`12 XMH*/SU*/QTZ1..05%L%%#0`5(JJ1-QDY`>I=#^@58*@5/D*5)NJ6A&:)28H^T XMLT(=A*(PHZ)<R:(M.J%PY:5;D012$`5LZ@1!(`0;I:4\>J:"&AEA6@1C^@5Y XMR:@]VCJ/NJ9YF01D&J>-:CF/&@3:YE195*9R&@-HNI5?2@5N*@1%4(\QH#]7 XM(XAT@`+LY%`)X$_W0P<6E0!5AEA&$`130`6+N2H[9!:U<BN(P@5N(`*HE0`O XMI9:[FH<#NC@;TZ/Q"94UM:L\Q4X)@*L)4'-B@`+'-@=;L*M=L'XKQ`9?\#+9 XM`Z9B6J-Y"0)\(*0T2JF`0@7/FJOJ@@+^608`ZJWU^*LBP$Q\TD*U4:()2C#J XM0IZO>34ET%],40)XP*R.)64MNJLR8Q;C6J[G*E]TD*ZULK#M>C&!U:NJI5IR XM<34N0Q`H\&$R0T%EP$[^!+/#$S5E8%&XNA<'0R53,:TS%1AM(P<O:S:HU5)I XMT*_6FB<^,%/9NG*"]:TME0!UX`)U\`5H=2\S501)\`1L%GD6L1<):BY?^V9R XMP:]JV4]NT+&K9Z[HZ@(CNS4E"S/-XJ%KVJ9OVBP](*!1"ZY5>[59.Q5;V[4$ XM*J)%P)/W<BBA,2J"EB?'9F;UF+1J^:\!^W\#BW16AIRK$K@LM[@<-R=7X;#+ XM"0<1:[$RLZO[*K8*2J#_E[*R"@>EI68?1K.H]F$Z^W^4U4"W5%QE@`>%04S% XMM9`J.ZN.2`=L4+1V,%!M\)L(%;,X2[MY8K-CL+S.>R@615`'!5"W&UVS!"7\ XMN+P^I6,B,1G\=@1%4*-02:5!(`5-,`7*PE"2RX_X6'/DVK8RT[RUD09Z4`:W XM4;_*-0=1UJ,PX*VJ:RX@P+5>^U!B($!KP%+C&R1;`:;H"P7JR[[N^U#QBSEY XM8!9'!5`R4ZXRPY+[V[_E&L"22<"$8\`(7+86L<"8TL!U1KY;`2$2_`5#D&U. XM0`7O:Q*X&E&]&JTQU0/5F@8W];0ZU:T-]7\6X;%+Y0)GQ[^CU)@#JL3%BD9* XME:YB]P7!-`>!\3#'(J`HNUH*S,`.W!%,275LD"?*D@`%?!5<ZP16$`1,4,86 XM`6<W-[97,<4J>YA?P$ED\!6.N`;^"@=:9@83]19TP$Z@`3*C`FU?L(D%=377 XMNXH%U2H6Y4^<4E$*$)FB15E3@'"AQA2`[&-S,DJ"<W2M:6:0X4^+/%9E\,B: XM+%=%MA7RB\CAVU*4-5>H(H]5\2B>$<*7@G,<H\LN*F0,I<MJ"0(AH)8<.\@M XMX`-Q.P=SF\@=:J\U>J-5%;[U"%17\\Q/G'8\Q<)TEP"'HD1YX,P8"`?E'`9D XM&<:X*R5:%<*@/"YPR+A"-THMNI#UV%+BB@+0]LQD4"EA,,TRHP*MPE,@\*S] XM_,\^,"JV1="0&J_X2J_6C*^<2M'#VJI%\*Q`G+"<X3>PG"<SU<WIW,I^4U,F XM_<IC4%$>[<HA_5JH!50+3=(.S:[N*C/P*JGRZ@04K:GY&M,@1=.K*,U;W,4< XM%\[_E\ET\%H_?"_^G-(AG8<D?351QZM2%GE0O=)Y8@(>&@)J.ZXD'<W37+<5 XMC<W-(LX,E=5%`M/BS%I[O+)PH(BA@;S0RW)V<+NYBFI*W:N+_"268F&0K`*2 XM_'__IT$S5:X@L`+E-;1T?552HD%90C1,,9'G$TGW8A"7PKAA)8\4F@"4Q01= XM0L@@<%?`"T+U3"IM,4F]I2\,^$4#-CB505W10DDUAYYU)A+(C`)_^\@41<V1 XM>;9`I=1YV`1YZ<_V.955602G:[6\;<N]F@`:S,&[358&(3/M^9Y"FZ&SRU2' XMY-R6.]T0G-@SM=??S=S"W0+CW=LL58_MZ<>C+,A78]T6AMT82K3;?<A%(ED8 XMZ[JHQM7*_-7H+-;N2M9K:M8@@-8FH=9+W0)`+1)NC6.'*==E0-<*4+-F@]>8 XMK-Z5N$)^[<B!333M$T<-N(X-88WD-FY>V(6BA1$G<GPT0(9A"`)8&`,S<(XD XM?N,XGN-`X8X%!6TB#HJ7N1F8\KDX\`+)]P(!.5`REA@A\&*/ILHG-SB9_;F/ XMV]F?'=HR0]K4==IHE-ICL=H;Q%RO[<>RK16T;<H=0:%`E=N[K=0^)654S%#" XM[;3%_911B=SYJ=P18]Z]O:_1;53@7=V.3-^,?=_=G=_/'>A;L0+IC<B)SN>( XMG&&-KLF6V]X(]]Z#+-_N"2E;D-WV;;3<[>9=UKH*H%K]W=4`'M8**[<#7LT% XM7@4X>M93UM(@K=5L+<;?">%4[3`3/KL57KL7OLG_E^&.ON&,_->\[7X@)-B3 XMJ.,2P7LGGHTCL8T>H7S>N!+'UYLMX8WK9@,UOA'.'N[B/NX/P>,=0:)D!AH" XM42JUDQAD04S&%*UMQ"L:E#-U)M<0\W%V43P(*5]@5UXP5AB'D1B+T1@`I0`O XMJJI=^950.1(*T->-W)Z0_)@6\55[&M`E.LUE:_&NM*X:#VE9LJ<"?C%E2URF XM/=1:O%D%8=2(4O*$1G10C$)EVY]PD-(SCVK_:LXW_]=5;5'J*1<=&4;J`O'( XM#LGMF9CF^K3[^:@UG+Y5:L$>,5E2@E"U(332Y#<@9S&M^3E'OQN*N9!IZI3F XM.\$5W+X@`'F41?5?-30%]S4HNO6STO5R\/5P%?8S7#+G:\,X3*RA*?4X]4<M XMF1C'`K9`1:'F#@)/(`:%$B=)E`<R,_9?X/3K:_:OW?04_/1FWRBLLA4WE#RS XM0D#F$QB3<2L+,T!J8&O`9!C4%:V8LDN/*[D11"_^\B/E<BXJBL8H]/!6+TN) XM84U!"CAF\RH60<-Y?\-_0JQ[81`V1\\H7]1\PG&4XFLT9\I*;=E3T?J=<VQH XMD07#HOG1<A5^!OF2;\$*\#D&X5YK%R=N9\K&A,IWA!9!`/.U716%Q&]C$W!, XM]/I,T39Z@RD$)#AWE2O%@@>NM(IQJ"1'I295$2T>5T3&2Q!LE0+8)9N8H?7) XMR?6(Z?5O]:C$7Z/&G\/3KIJOEABUUXF7HN/0KH6]UQ$A`E0QH'PM[A*]*0,S XM((X^2H[?3N[D3N[D/@3.U`-C4'[:QWW>!W[MB6'C%VVT8V-)S7XM$/?19DSM XM&5\V9GZK.'[11COUEX!V>2F52,D#Z,CQ57\):)>>DLZR=Q8:^#6;A'!E+AJE XM7'86H>8@Q>:0GM\-!><)$-R]/=QU?MSX:97+?;6B;KE_KMO,3=V,>-V<[NET XM'>I]_NA72]V+/NF\6MY7>]Z3SJMGFP"67AF8'M^#SNF>3M>AWN>CG@#\O=6H XMWLRJ;J+2W.IV>Z\&CH)`I1`??1`),8M_8((,@8*WF(LNF!"\.(,U"``WF(,[ XM"`H]^(-!>(Q_$`[)N(S3L(1_$`[)^(0(\6J)04>R=Q9CH./0KH6]UQ$A`E(W XM@!+JANUCJ"(UT'PR$&_@3N[D3N[B;I1;04]T8!D^B0;X9)1;04^G>$]^?V== XM%4(1!Q;',DN=XU;KLLAID#%E!O8X.4\2&2K]@@;X9)1;04\<66`?B4]&N17T XMQ)'^]I'X9)1;P0.D520OB4\*0!8<C%"7B51UC5!C,,GH9U!(M;U@\BG.ZP9: XM[&]L1E`?)A!EL`58N9\6T;M&<A78.R=C@E!LUKM&<A7^Y#+`2P9E'+\(Q7X] XM:FZ")1);$P9WDJ1':Q&YS8]Y>%<N4ZM(=;\`E;P0V08Z,`<Z<`<ZX*S-$@(S XMU0*H"FG=BP;\&+X/S&\GT`8GD'Z4]6H%$[S&W!'Q6QNX11F'Y3(EZL$0&;$7 XM:P+QI<7^UBPA,%.HFL30^JNAA%8L(`(@(`0#1"Q`IR1#AR:T`TF"\VKWXC+P XM?A4M``**9;I737<N4Z(`]:R]NS$HT#IM?=4)OD)CD#G(*Q",B%1;X#+`2P9= XMT.`=\6H9&E]:[&\R\V$",;/B[,+"1L<A%=XG,`<GD'Z>C">T/G-"N^S&W!'Q XM6QNX11F'Y3(EZL$0&;$7:P+QI<7^UBPA,%.HFL30^JNAA%8L(`(@(`0#1"Q` XMIR1#AR:T`TF"\VKWXC+P?A4M``**9;I737<N4Z(`]:R]NS$HT#IM?=4)OD)C XMD#G(*Q",B%1;X#+`2P9=T.`=H?Q]C*=^@P+QI<7^)C,?)A`S*\XN+&QT'%+A XM?0)W<`+IY\EX@EX;<W;4]9P0I;1S@%N4<5@N4Z(>#)$1>[$F$%]:[&_-$@(S XMA:I)#*V_&DIHQ0(B``)",$#$`G1*,G1H0CN0)#BO=B\N`^]7T0(@H%BF>]5T XMYS(E"E#/VKL;@P*MT]97G>`K-`:9@[P"P8A(M04N`[QDT`4-WA'*_P55C0+Q XMI<7^)C,?)A`S*\XN+&QT?/M#H\8/M35A<"<HT#IEJ[(JNS5A<"<HT+M\\@67 XM$A5L4->]RR=?<"E1P0;;VQ:_&DIHQ0(B4`5=<R?IUYX8IF%X^&$"4086"]1F XM\*NAA%8L(`*RC/]X6!7C\G.8I21#AR:T`TF"\VJ):S8"4086"]1F\*NAA%8L XM(`(=T;OIUYX8IF'DJ)QT%`,6"]2]RR<HT+M\\@67$A5L@%HJ^VH9&E]:[&\R XM\V$",;._GB?QI<7^-LGHIP(?)A`Y*^P6X4^)<RASL+%L9O()NQMTH,7^)C,( XMI\7^QF8BQ>GD"`/[:1%RKYCE6L;Q6U?(,T0SU;)&]6$"P8A.!552154F/,!) XM'%2_&DIHQ0(BT)X8IDU^8CY?@4.STK)7H5A17DR/:+IV+1`S6[:UE5;(*Q`S XM6[:]RR<HX#MLIK(6$;_%](AUA3Q4(S/$7Z/&G\.;V2PAP+=)'%2_&DIHQ0(B XMX"?F\Q4X-"O)CR>Y\FH%4UQ*W>6F4N_M8[$-#@*]RR<H$#]LIK(57Z(PH\7^ XMEH=/G&2M`M1)9"QP@`+QI<7^!M3Q6TR/6%?(0S6/G_?CW[X?W+;-$@)\F\1! XM]:NAA%8L(`)^8CY?@4.S<E>Y\FH%4UQ*W>6F4N_M8[$-#@*]RR<H$#]LIK(6 XM@7!:[&]Y^,1)UBI'N\28BUB:^^]B!]MEYSG3;W.>@P9LM_YT`'=C8+%`#<1$ XM#,8VA:T,#P5'W%.P0;`E4`.)(A(EP&&)4@(XD"BB50*18P:F2Q4LP,18W/PJ XMS\7/CR@J!E),G*[?',4R<U$O&R=?,;/^S,18W/PJS\7/?RQ2@@1:D`(O@`(( XMI\7^EF$)NQMTH,7^=K*E;GYXTL=XZC<H`-5V8"LR\V$",;._GB=0;0>V4E,* XM@+T?)A`Y*^P6X4^)<RASL+%L)O>*6:YE'+]UA3Q#-%,M:U0?)A",Z%10)554 XM9<(#G,1!]:NAA%8L(`+MB6':Y"?F\Q4X-"LM>Q6*%>7%](BF:]<",;-E6UMI XMA;P",;-EV[M\@@*^PV8J:Q'Q6TR/6%?(0S6/G_?CW[X?W+;-$@)\F\1!]:NA XMA%8L(`)^8CY?@4.S<E>Y,@;Y4CZ.Z_7L#FWS*!46V^`@T+M\@@+QPV8JZU). XM3<1@;%/8RO!0<,0]!1M,G*Y7D])Y"-5V8"ME'+_%](AUA3Q4@]-Y/_[M^\%M XMVRPAP+=)'%2_&DIHQ0(BX"?F\Q4X!$IXDBMCD"_EX[A>S^[0-H]28;$-#@*] XMRR<H$#]LIK(JJ_Q?4-4H4-5?8`>V(C,?)A`S^^NF5A9T\`5V8"N3C'XJ\&$" XMD;/";A'^E#B',@<;RV9RKYCE6L;Q6U?(,T0SU;)&]6$"P8A.!552154F/,!) XM'%2_&DIHQ0(BT)X8IDU^8CY?@4.STK)7H5A17DR/:+IV+1`S6[:UE5;(*Q`S XM6[:]RR<HX#MLIK(6$;_%](AUA3Q4\_AY/_[M^\%MVRPAP+=)'%2_&DIHQ0(B XMX"?F\Q4X-"MWE2MCD"_EX[A>S^[0-H]28;$-#@*]RR<H$#]LIK(NY=1$#,8V XMA:T,#P5'W%.PP<3I>C4IG8=5_05V8"M=YLF[/US4%#AF81G!)4BWA2>E_5;M XM%+_%](AUA3Q4@]-Y/_[M^\%MVRPAP+=)'%2_&DIHQ0(BX"?F\Q4X!$IXDBMC XMD"_EX[A>S^[0-H]28;$-#@*]RR<H$#]LYKKZTRP"'+Y!]:NAA%8L(`+MB6': XMY"?F\Q4X-"LM>Q6*%>7%](BF:]<",;-E6UMIA;P",;-EV[M\@@*^PV8J:Q'Q XM6TR/6%?(0S6/G_?CW[X?W+;-$@)\F\1!]:NAA%8L(`)^8CY?@4.S<E>Y,@;Y XM4CZ.Z_7L#FWS*!46V^`@T+M\@@+QPV8JZU).3<1@;%/8RO!0<,0]!1M,G*Y7 XMD])Y6-5?8`>VTF6>O/O#14V!8Q:6$5R"=%MX4MIOM2R1UD&X1$?DWGPP$>V] XMIXU>R(4R`GG8/H9\UYPVD'PS`N[D3N[D+NXC`&V)MER,=B^/.TMHX*NAHJRX XMHER+]F@C<)$)$`2W\BFK&(==OANH$B0&D3QHP';7(SB/^Q84E+1]00:P,@() XMT$"L0AD:ET)^Q&!D`"LC<)$@(`4XITKH#T6;3TV!8_Z@?"6TVD+Z2V8,6@9< XMY$4X-"ON;R0J-@(AM$OQ,BX&P45>A$Z&E/Q()C@6`W!RT`*%LXGY0F:T$W-5 XM8!`7"7*O%$O75#PH@`;!\VEX(A"#A*8)T#-9`I%<``.)IP=<,`8G*3A^/#-E XMP$5>E),EXTQZ(`*G3%OR>`6<B@391JR%Q).7<2=WK*`7.2<9Q)62<BPHX%9_ XM-#:&-"Y<P'Y\@T3-(KDB4#+.I`<B\$>;@DBO;25D,@+#@RD%41MC@2?B!4*? XM@T%5K!BSM16]NQ2E?4BP-.:&D4J$1`9V0!D#D6PC`+JH$@9WHI9^S!1>P`0I XM`"LC<)$]DR40R04P\!%<,`8GJ0"8TQ=ST`,D0`.ZG[16'31):]5!D[16'31) XM:]5!D[1DDDD](`(DH`(6F08]$*O(O`4)0`)$W`*>0@*8TQ=,T04*$$3_%ZV- XM=A4DD$G_%T3?+5]X(`-!Q!0B0`+-(P)G[P,F$*OUV#-9`I%<``,?P05C8)'D XMW%7#W@-@T+N#D@`D0,2*'0-@H`!!5"P5KBY;``(DX)8A(*`@T`7EGV#_9QE= XM\Q5;T0*-)>$@$+@B``)@0-T$<3Y;00(P``;_U[L;$ZO<(A>]NS$B-A=^/#-E XMP$5>E),EXTQZ(`*G3%OR>`6<B@391JR%Q).7<2=WK*`7.2<9Q)62<BPHX%9_ XM-#:&-"Y<P'Y\@T3-(KDB4#+.I`<B\$>;@DBO;25D,@+#@RD%41MC@2?B!4*? XM@T%5K!@;)&FX%#KRA0<R$$1SD./-!Q/1WGO:Z(7#!P-_A^UC^'SBZ*,D,B/@ XM3N[D3N[B/@(A((HOT'!N\`*U!8D*8#:V`@(GT+L]8W^CTW!N\`*UA2LM,`4@ XM0`(=)@)&*`(G,.SJ0@(0ADM?(#%RT,=C\<I!XT-LP%*YS0,^$+XAE25P\+6% XM!9$D\`6,9;$^KP`](`(DH`(6F08]$*O(O`4)0`)$W`*>0@*8TQ=,T04*$$3_ XM%ZV-=A4DD$G_%T3?+5]X(`-!Q!0B0`+-(P)G[P,F$*OUV#-9`I%<``,?P05C XM8)'DW%7#W@-@T+N#D@`D0,2*'0-@H`!!5"P5KBY;``(DX)8A(*`@T`7EGV#_ XM9QE=\Q5;T0*-)>$@$+@B``)@0-T$<3Y;00(P``;_U[L;$ZO<(A>]NS$B-A=^ XM/#-EP$5>E),EXTQZ(`*G3%OR>`6<B@391JR%Q).7<2=WK*`7.2<9Q)62<BPH XMX%9_-#:&-"Y<P'Y\@T3-(KDB4#+.I`<B\$>;@DBO;25D,@+#@RD%41MC@2?B XM!4*?@T%5K!C@3N[D3N[D3N[D3N[D3N[D3N[D3N[D3N[D3NX]H1\(L1Y*,!TF XMB!#K\033X0"V"`!4,!T68(L`D`73<0$)L1YC,!W?@1#K$0?388((L1YY,!TF XMB!#K,0C3P0$)L1Z1,!TFB!#KD0G3X0"V"`">,!T68(L`,`K3<0$)L1ZN,!T= XMD!#K80O3\1T(L1[%,!WZ@1#K`0W388((L1[5,!T.8(L`H`W380&V"`#?,!T7 XMD!#KD0[3\1T(L1[V,!TFB!#K40$%@!`FB!#K,0(%@!#Z@1#KX0(%@!`FB!#K XM,0,%@!`.8(L`@`,%@!`68(L`T`,%@!`7D!#K<00%@!#?@1#K404%@!`FB!#K XMX0*YQQ!+B!!G$`#M&5_K!Q%D818.<1\D```"$(O3$(L($1X(L35A<"<)00TA XM>!\D```"$(M.T!"WB!"OEA@`0`("8!\`0`(`(`"QV`:QB!T/$1Z4,`#V`0`D XM```"$(OAT!`;J!#*_P55C0?3<1\D```"$(OAT!`FJ!!.W+MT4(L(,0`!P`4% XM@!".```%$!$N@/%AD!!<4``((0`),0#W,0`XX0)B,`=SH!!<D!T`,``),0"Q XM2!'KAT@[QP79,2`),0`!P`@YX3(E"E`0(0``,`>X11EF`!$"``!?4$QB(!$" XM``!F4&4/(0``T+M\(A$"```N`[QD`!$"``"+/`:9`Q$"``!WY3)T`!$"```M XMZP82(0``4%MI!1$"``#%](@1(0``\,1S$!$"``!)9"QP$!$"``!5!A$"```/ XMD!#*W\=XZC<(00("8!\`0`(`(`"QV`:QB!T/$1Z4,`#V`0`D```"$(OAT!`; XMJ!#*_P55C0?3<1\D```"$(OAT!`FJ!"OEAAT)'MN$.[-!Q/1WGO:Z(4>P2(S XM8`-AB.UC2`,U4'P^RB(S`N[D3N[D+NY,$`#)P0)%X`HF$#L(<08"@!`<```# XM$``+$((T@`0(`0D1@!"\D!T`0`T)`0T)00`)<!U.W+MTD!#0D!#0D!`T@`0( XM`0W5F!`N@/%AD!`$D`#RD0#7`0D1@!`$D`04\1\`X`)B,`=S`"`:<(0:<!V\ XMD!TY`0@)L7Z(M',.`0[9H8Q:<!,"@!##``F0``F#P`X(L`CLL`A%@`"-0`6% XM``&)4`&4H`'7@0[EP(M2T`A5P`!2``7H8!P(,0C$P`!0@`[I<`0(H08`@`LH XMJ`D*<0``0`_#``GI,`PAB`L"D!`Y4`0(\`"-D!T(H08!@`ZZ$()9D`Z%$(*+ XM4`3\D`Y7$(*-4`3X``5HL``)<!W_4`,0P`#7@0Y<D``(,0C$P``]@((/0`C@ XM#@#_4`,0P`#DX0`)0![\@`'7@0Z1D!T`,`C$P`!J,`#H\`9'@!!9L`A%P`"+ XM4`$(P`#7\0\T``F-4`24``7H4`<=@!"#0`P(T`A%0`E0\`]U@`_H8`DA.`C$ XM@`#I\``AV`A%@`]0@`8]D`#7\0\U``$,<!WHX`[9`0"#0`P,T`,H^`"$`.X` XM\`\U``$,0!Y`D`#DP0\8<!WH,`+9`0"#0`P,H`8#@`X!<`0(D06+4`0,L`@5 XM@``,<!W_0`.0T`A%0`E0@`X'T`$(,0C$@`"-4`24``7_4`?X@`Z8(``(,0C$ XM@`#I$`H)T0A%@`]0D"4)<!W_4`,0P`#7@0Z`D!T`,`C$P``]@((/0`C@#@#_ XM4`,0P`#D(0<)0![\@`'7@0ZU<``(,0C$P`!J,`#H,`E&@!!9L`A%P`"+4`$( XMP`#7\0\T``F-4`24``7HD`D<@!"#0`P(T`A%0`E0\`]U@`_HX``#@!"#0`P( XMD`XUCA!J,`#HL`4)D07I`(T`T`-MD!`/0`B>L(3_T`-SD!`/0`@!P(L]<`<) XM\0"$0`:\F`[-P(MH0``)<!W_4`<,\`]UP`#H<`H#@!"#0`P,D`A%P`\]P(O_ XM\`"%H`5+^`_),`Q5L`CL,`CLP`;I(`-+^`^0D`Y!D!!H$`H)0![\@`'7@0X( XM<``(,0C$@`!HP`L)0![\@`'7@0[V\(*#0`P(@`;SD`#DP0\8<!WH0`XO.`C$ XM@`#_4`<(@`[!4"$`D`7),`Q5L`CLD`ZWP(N0``GIH`4AJ`8`\`]UP`#HD`D; XM@!"#0`P(4`C`D`A%P`\/T`C0"`#_4`<,@`81H`#DP0\8<!WHT`DO.`C$P`#_ XM4`<,@`Z:4``(D05J0`#H(`<5`@!9H`8`H`8#\`]UP`_HD`\_@!"#0`P,4`C` XM\`"$8!S4@0,*0![\@`'7@0YC\(*#0`P(H`8%@`Y!4"$`D`6-4`@HP(M0@`X4 XML`$(D06)4`3T\`]U@`#H0`G?`0!9T`B%0`U+^`]0H`8"\`]UP`_HH`H_@!"# XM0`P,4`C`\`"$8!S4\3[DP0\8<!WH0`$O.`C$@`!J4`#H(`]$@!!9T`B%@`*\ XM"`7H4`S&`0!9D`A%``]H0`H*<!WH\`<%@!!9<`Q%@`\*D0X'@1"+4`3PL`)% XM0`^)4`C$L(3_L`V%0`Q+^`^-4`C4L(3_L`95@`\<L`9$``$(0`:)4`B\L(3_ XML`V%P`M+^`_>$`^#P`X(T`U<0`(`T`B%0`U+^`]K4`7XP`'_0`<0P`"-4`C4 XML(3_L`95@`\<\`]T``$(\`]U@`]H<`T*<!WH,`$%@!"#0`P8\`]%@`^X,``) XMD0-%@`\/P`B-P(O),`Q5L`CL$`CL0`0AF`Z8L(3_``F0``GI$`T)H08`\`]U XMP`#HD`+&`0"#0`P(4`C`D`A%P`\/T`C0"`#_4`<,@`;WH`#DP0\8<!WHT`(% XM@!"#0`P,\`]UP`#HH`+3D05J0`#H(`!$@!!9T`A%0`I0H`8"\`]UP`_H<`@^ XM@!"#0`P,4`C`\`"$8!S4X0$+0![\@`'7@0[Q,!V#0`P(H`8%@`[/,`0(D07' XM4`3XH!#I$`$)T0A%0`IK4`7XP`&+T`0(D`A,``$0\`]%@`^X,``)D0-%@`\/ XMP`CAP(N-4`2D``5J$`#_4`?\@`XIX`,(,0C$P`"%``P/0`C&01U-L`#DP0\8 XM<!WH,`G3,0C$@`!J4`#H$`=#@!!9D`S#4`6+P`Z#P`Y<D`XDP(N0``F0D`[1 XMD!!J``#_4`<,@`Y%D`$(,0C$@`"%``R)4`3\\`"-`(T`\`]UP`!HP`<+0![\ XM@`'7@0Y),!V#0`P,\`]UP`#H8`0#@!!9H`8$@`X>,`0(D06-4`2D``5J(`#_ XM4`?\@`ZCT`,(,0C$P`"%``P/0`C&01VCL`#DP0\8<!WHT`#3,0C$@`!J4`#H XML`Y"@!!9<`Q%@`\*D0X1D!"-4`2DL`95@`\<L`A-@`")P`00``'_4`3X@`L# XMD!`Y4`3X\`",$`Z\V`A%0`I0H`8!\`]UP`_H4`0]@!"#0`P,4`C`\`"$8!S4 XM(0T+0![\@`'7@0ZO,``(,0C$@`!J4`#HT`A"@!!9D`S#4`6+P`Z#P`Y<D`XD XMP(N0``F04`6+P`Y0<`56@`LHF`,%``4,<!T/4`AYD!"+4`0(D`,%@``,<!T/ XMT`@KD!"+4`0,L`@5@``,<!V+P`"0\`"^$``]T`()\0"%$`$)L0A%P`"+P`"0 XMH`A!$`"$``P/4`@-D!"XP(O_L`AU0`^+T`?XD`S#@`94P`#7L0A%P`"+4`$( XMP`#7\0\T``GHP`07@!"#0`P(4`C`\`"%$`$)\0\%@``,<!VXP(O_D`['P(N0 XML`A%P`"+4`$(P`#7L0@,``FA``4,<!T/X`L$$`"+@`^)T`,,P`#7,0C_H`,/ XM0`@6D!!7\`]U``'HD`H6@!"#0`P(4`C`L`CP\`"%@`D),0@]0``,\!\/0`A/ XMD!"+<`R(4`3^8`Q%\`\*L`A%P`#_``/HP`K_D050L`A%P`#_``-J(`#H8`O_ XM,0C$P`!H@`,,<!WH$`G_D050@`8XP`#7H08"@`Z;\!^#0`P,H`8"T`A%X`]0 XMH`8"@`Z+\!^#0`P,L`A%P`"+4`$(P`#7L0@,``FA``4,<!U`,`I0P`#7H0@4 XM$`"$(`T/4`@0D!#_4``(P`!)6`!0P`#7@8*X\`,)D0[RL(3_8`0/X`L&T`,Z XMD!`/4`CED!"A``4,<!U`L`A5P`"+T``(P`#7,0`$H`B*``&$(`T/0`@=D!"A XM``4,<!U`L`A5P`#_4``(P`#7,0`$H`BC``$,<!WIT`D)`0FA@``,<!U`,`H( XMP`#7L0-%@``/P`APD!"#T`,$P`#_\0"$\`0)L0C'@`A%X`_&4`3_H`"+4`0, XM\`\P@`ZX\`,(D050L`A%P`#_``-J(`#H(`P_@!"#0`P,@`84P`#7@0Z=\`,( XMD050@`84P`#7H08"@`ZG\`,(,0C$P`!J(`"-4`3^``5J(`#H<`D_@!"#0`P, XM<`P%``4,<!THB`L_D!#I8`)+^`^+4`0,L`@5@``,<!W_4``(P`#7L0@,``F) XMT``0P`!)6`!0P`#7@8+IT`,)`0F+4`0,L`@5@``,<!V+P`"0$`I0P`#7`02C XM``4,<!V*0`$!0`C2\`"%``$)<0P%``4,<!TH^`\%@``,D(0%``$,\!\)L0C' XMD`Z[T"#_``E5L`CL<`56\`M8P`#7$0K,T`#7D0,%0`<:<!T/T`@FB!"A0`<: XM<!V+P`.%P`8,<!W_4`<(@`[-X`,(D06+``^%8`\/0`@[B!!6\`]U@`!J(`#H XM\`P^@!"#0`P,H`8"@`9FP`#7H08"@`Z^X`,(,0C$P`!7@`Z=X`,(D050<`5J XM(`#HL`H^@!"#0`P,H`8!H!0,<!UJ(`#HH`D^@!"#0`P,L`AU@`^+T`?\D`S# XM``F0``E5L`CL``57T`A%P`")4`3\\`"^4`#X@`'7D0H"D!`/4`@9D!`/X`L% XM@`\8<!VI``@)\0"$H"`(`0@-@`\8<!T"@`;L@`'7\0]U\!QU@`#H(`@6@!"# XM0`P,L`CX\`"^4`#X@`'7D0K@#@`/0`@;B!"XP(O_L`A]@`_),`R+<`SI0`^\ XM"`F04`6+P`Y0<`6-4`00D`A%P`^+4`0(\`"^``0,D`H"D!`/4`@9D!"+4`0( XM\`"^``0,D`J`D!`/0`@LD!"+4`0(``A(P``"\`]U@`#_4`?/40<,@`X48`$( XM,0C$P`"+@`^+4`0(\`"^``0,D`K@#@`/0`@;B!"XP(O_L`A]@`_),`R+<`SI XM0`^\6`6+P`Y0T`A%P`")4`3\``7_4`<(@`;<@`'7@0YHD!"#0`P,D`S#``F0 XM``E5L`CL``6-4`00D`A%P`]0\`]UP`#_4`<(@`Y*D!"#0`P,D`S#``E5L`CL XM,`CL0`%7L`A]@`"-4`00D`A%P`_&4`3X$`"+<`R)4`3TD`A%``]7@`XZT`,( XMD06)4`3L8`Q%D`\4\`]U\!QUP`"-4`3L``7HL``),0C$P`"+T`?HD`S#``F0 XM``E5L`CL$`CL0`$A>`56,`6+T`<(L`AUP`#'4`C\L(3_H!#'4`!\0`'_D1#' XM4`"`0`'_D1#IH`X"@!"0``F0\`\-P`<4<!U7\`^U0`]+^`_H(`#K`0"#0`P( XMT`.\^`\/0`CX$(+I``T"@!"0``F0,`C[H`(/4`@7D!#'4`CPL(3_H!`/8`L& XM8`2+@`WI8(((`0F0<`R%``]+^`\H>`R%@`]+^`\*D0X=D!"0``F0L`:%@`]+ XM^`\*,`##T`+U@1")4`CXL(3_\`"V8`!&L`C8\`"^,`@9<`'7D0KA\0"%0`V\ XM.`B]@`]+^`\`\`"%L($(<0R%@`]+R(O0L0C#D`B%P`Y+^`\]P`8)\0"$$`$) XM@0MHD!`Y4`CLL(3_\`"%<(L/8`L&8`2+@`V%L`T/0`@CD!"#L`];\`"%4.,( XMT0B%``"\"`56@`[!D``(,0C$@`"%``R+``\/4`@9D!"XP(O_L`B=``Y+^`^+ XM4`ODL(3_L`B]@`Y+^`_),`P/X`N#D`$7<!VI@((/0`@-D!#'4`CLL(3_P`8) XM,0C#``*#L`]N\`"$P`<),0@]``@4\!\/4`AOD!"#L`]C\`"$8`8),0C[L`4/ XM0`A=D!#_4`!\0`'7\0\/\`"-X``)<07H0`8.@!!9D`X+D!"0``F+<`0$\`"V XM``#_<`0$D`B%0`]+^`\/X`N`D`$7<!VID!T(\0"%,`R\^`\-P`<4<!U7\`^U XM0`]+^`_HD`82@!"#0`P(T`.\^`\/0`A?D!"+,`P]L`4)\0"$P`()T0-CD!`/ XM0`@AD!`]D`8)\0"$P`P)T0-ND!`/0`A)D!`],`<)\0"%8`L)T0A%``%0<`6- XM4`@`P(M0\`^U@`]+^`]3\`^U``]+^`_H``,'@!#I``L)`0F0``F#T`O\L(3_ XM```/4`C0D!"XP(O_D`[2L(3_``FX@`8)D0.%P`Y+^`\/4`@[B!"+4`004`#A XMD0A%``&+``7\8`:AP`<4<!UFD`@"D`Z*D!"0``F0@`MLD!`Y4`CLL(3_\`"% XML`$)L0A%``$%$!Z)4`00L`A0P`^AP`<4<!V)(`#IP`4)`0F+4`004`#AD0A% XM``&+``7\$`I\0`'7D0@"D`Y!D!"0``F-4`00``57\`^UP`Y+&(.U@`]+^`]3 XM\`^U``]+^`_H<`$A.`C$@`&)4`CLL(3_,`B]P`Y+^`\`\`"$8!P(L0B%``]+ XM^`\!4`C\L(3_\`"V8`!&4`C`L`C8\`"%L``)L0B%P`]+^`_I$`!+^`\/X`N# XMD`$7<!VID!T(\0"$H`<),0@]``@4\!\/4`C(P(O_4`!\0`'7\0\/\`"-\``) XM<07H$`HF"`!9D`XFB!"0``F0L`A'0``/8`L`\`]'0`")4`CTL(3_\`"^``@9 XM<`'7D0K9@1`/4`C"P(O_T`!\0`'7<07_4`OTL(3_@`ZE``$(,0C$@``]P(O_ XM\`"%H`:\>`P%``@4<!THF`Y;P(N#L`\E\`"%\``)\0"V8`!&L`C8,`C[4`(/ XM4`B$\!PQ6`!\0`'7\0\/\`"-X``)<07HP`$F"`!9D`X+D!"0``F+<`0$\`"V XM``#_<`0$D`B%0`]+^`\[,`P/4`@I\!S_D`X+P(M5L`CL,`CL@`978`53L`A] XM@`&-4`3`L`CP<`Q%0`L*<0Q%``L*<0Q%P`H*<0Q%@`H*<0Q%0`H*<0Q%``H* XML0A%P`#6DA`/P`A;D!`]L!X(\0"'``4)40C`\`",@`0)\0\D4`B$0`'7`0G_ XM4`2H<`Q%@`L;B!#IL!X(`0G'4`2XD!T(D0X'D!#'4`2X``$)\0\%P`<4<!W_ XM\``/T`@<D!!7@`Y=L``(D07ID`$)`0F0``DS``R+T`6,L`AU``F+T`>4D`S# XML`A'0``/8`L`\`]'0`"+@`T]L`()\0"$`.X`T`,MD!`/0`@2D!!"G!`/0`A# XMD!#I$`8#@!"0``G_4`2D\`]-``$/X`A3,``P6`!\0`'7\0\/\`"-X``)<07H XM0`\;"`!9D`X+D!"0``F+<`0$\`"V``#_<`0$L`C8,`C[``,/4`@C,``(@0MI XMD!`Y4`0,\`"%4`$#@!"X@((Y4`00\`".<``#`(,%P`<4<!W_\``/T`@.D!!7 XM@`ZHL($`D`7IL``)`0F0L`A'0``/8`L`\`]'0`"(4`2_P`-X\`"$\``)\0"^ XM4`2_T`-8D!`/4`@%$((/X`M'T``]L!X(\0"$D``),0@_```/0`AH"(,%P`<4 XM<!W_\``/T`@/D!!7@`Y1L($`D`7I8(((`0F0``F+<`0$\`"V``#_<`0$@`A% XMX`OI$'T(`0F0``EJ$`!6\`"^<`0-``7H\`$.@!"#0`P,T`,H^`"%T``)H0@& XM@`A%X`OI<``)`0F0``G&4`2^$(,%P`<4<!T/X`M%X`L/X`N`D`$7<!VI``@) XM\0"$0`0)<0Q%@`L0D!"X(``)D0-%``$/\`@["(,-P`<4<!U7\`"^4`2^``7H XM8``.@!"#0`P(\`]-``'I8``"@!"0``F0\`"^4`2^L`C8,`AM``$"D`[T$(*0 XM\`\-P`<4<!U7\`"^4`2^``7H<`T-@!"#0`P(\`\-P`<4<!U7\`"^4`2_``7H XM,`P-@!"#0`P(D`[&$(*0``F0\`\-P`<4<!U7\`"^4`2_``7H<`H-@!"#0`P( XM<`Q%@`O9@1#I,`HAV`A%X`\[``\/8`@1D!#'4`!TH`'7(0(),0/`D`[JT"#_ XM\`"^,`@9<`'7D0KA\0"%`.X`@`L0D!`Y4`2X\`"%P`@)\0"^,`@9<`'7D0J` XMD!`/0`AZD!`/X`N#D`$7<!VI$!X/0`@FB!"X4!\(D0XCD!"0``D/X`N#D`$7 XM<!VI@((/0`@;B!"X<`,)D0X%D!"X<`4)L0C3L`+0D`A5P`F+4`2XD`-%P`D/ XMT`@,$(*#T`?9\0"$L!X(,0A]@`H`\`"%L($(\0"O4`2@,`!%P`F)4`2@\`]% XM0`OI\`H)`0F0,`A]@`H`\`"$H`T),0C[X`(/4`@.D!"+4`2P\`]%``N%``P/ XM0`B,D!"#L`]E\`"$D``),0C[4`0/4`BQD!"#T`>T```/0`BGD!"+4`2L\`]% XMP`J%``P/4`B9D!"+8`Q&L`C3@`@0\`\%P`<4<!W_\``/T`@FB!!7@`XJD!T` XMD`7ID``)L0A'0``/8`L`\`]'0`"+@`T/X`N#D`$7<!VI$!X/4`@DD!"#L`\K XM\`"$L`$),0C[T`(/0`@2D!`/X`N#D`$7<!VID!T(\0"$<`,)L0C&8`2+,`V( XM``'_4`!\0`'7\0\/\`"-X``)<07H@`P'@!!9D`X+D!"0``F+<`0$\`"V``#_ XM<`0$L`C8\`]-``$/T`A4L(3_,`A]D!T/0`C&D!"#T`>T```/0`B\D!"#T`>H XM```/0`ABD!#&H(*-4`3```7H8`8#@!!9T`U=@`F#T`>D```/0`C9@1#=4`28 XMD`W@T`U=@`FXP`8)D0-%0`$/4`C&@1"+4`0<L`@0,`C"0`")``&+(`3\T`U% XM@`G=@`'IL`8)`0F0``F+4`0<L`@0,`C"0`")``&+(`3\T`U%@`G9@`'I$`4) XM`0F#T`>D```/0`@6D!"XD!"`D`-%``H/0`C9@1"+4`2@<`_8D`A%``JXP`8) XMD0-%0`$/0`A2D!"X@`8)D0-%0`$/4`A$D!"+4`0<L`@0,`C"0`")``&+(`3\ XM8`:+4`6@8`:)``'_T`!\0`'7<053@`X/L``(,0C$@``]P(O_\`"%L($(<0P% XM``@4<!THN`A%0`OIT`7[$(.0``F0L`A%P`&+``&#(`P$D`@0L`A"P`^+4`6@ XMD`@0D`ZYP(N04`6+P`Z#P`X,<`56,`6+T`<(L`AUP`"+T`404`C_\`"$(`$) XML0A%P`&+``&#(`P$D`@0L`A"P`_I(``),0/`D`A%@`^)4`3T,`C^,`8/4`AH XMB!"!L`^\^`</4`@ED!"[@(+IL`$)`0F%\`\/0`C9@1"+4`3XH`A5P`^(``'_ XM4`3XL`0/X`ASD!#_4`!\0`'7L0A%@`'_@``/T`@1D!#_4`<8@`X-\()9D`X/ XMD!"0``F0L`A%@`&+``4$\`]`0``/8`L"D`A%P`\]P(O_\`"$<`,),0C^,`</ XM4`@5D!"+4`3\\`"^``@9<`'7D0K9@1`/4`@9D!"#X`];\`"%,`B\N`A%0`&+ XM4`7\``@\``$`\`"$,`>\B`N\^`\Y4`3\\`"%4`$)<0P%``@4<!TH^`\-P`<4 XM<!WI@(8(40C;\`".D`()\0\-P`<4<!W_4`<8\`]UP`_H<`L)@!"#0`P(T`.\ XM^`\/4`@;B!#'4`"`0`'7@8*+4`3TD`-%@`\/4`@-D!`S``R+T`7HL`AUP`Z+ XMT`?PD`S#4`C_\`"$\``),0C^,`8/0`BWN`A%@`_&@!"X@(+I0`V\"`E5L`CL XM,`CLP`!78`53L`A]@`"+4`<,<`Q%0`\*\0"V<``]X`4)\0"%$![_4`3T<`1H XM```A.`A]0`\`\`"%T``)@0LHF`X%D!"0``F0,`/```56@`[W4``(,0C$P``/ XM8`L'D`A%P`\]T`4)\0"$X``)@0LMD!`Y4`3\\`"%X`<)L0A%P`^*4`7T@`@4 XM8`!'D`YOD!"0``F#T`?\```/4`@-D!`S``R+T`7HL`AUP`Z+T`?PD`S#@`LM XMD!`Y4`3\\`"%\`,)\0"V<`")4`3XT`-=D!`/0`@*@A`/8`M'X`^+@`T[T`7X XM\`"-L(,(L0A%@`\K,`Q```7_4`?TL`C&,`##``7HL`8%@!"#0`P,<`3IL``) XM`0F0L`A%P`^*4`7T@`@48``/8`L'<`2)4`3\T`-=D!`/4`B!P(N+<`SI8`B\ XM"`F04`6+P`Z#P`YL<`6+T`<(<`Q%P`_NP(O'4`3XH!#'4`3TH!#'4`3LH!#' XM4`3H@(+'4`3DH!#'4`3@H!"-4`36D`A%P`QF<`Q%H`P"``"AP`T4<!V)4`3` XM$`K80`'7D0A%P`O'4`2XH!#'4`30H!#I\``)`0F0T`A%8`V+4`708`P$``$` XM\`]%``VXD``)D0-%``T/P`CEP(OI@()'\`"^<``/X`N`D`$7<!VID!T(\0"% XMH`Z\^`"^<``]L`()\0"$8`$)T0,MD!`/4`@F"(-%0`_=4`2\D`W@T`U=P`M' XM<`Q%``T*T0A%X`V)4`3,D`[-D!"0``F0\`"^<``]H"`(\0"$L`L)\0]%``Z# XMT`?H```/0`@9D!`/X`L'(,0)\0"%L``)@0LHF`X#D!"0,`/`4`C`D`A%@`X/ XM4`A[D!"X(`$)D0-%``T/T`A9D!"+4`30\`]%``VI@((/0`@DD!"+4`3,\`"^ XM``&!(`[PD!`/X`L/$`CA\``)L0#1@`@0\`]-P`SIL!X(`0F0``F+4`3,\`"^ XM<`&!(`X/D!#!(`X$@`@0,`A]P`X`\`"%H`()\0]%P`_I(`()`0F#T`?L```/ XM4`@7D!#_4`3\D`X/D!"0``F#T`?L```/0`@#D!#_T`3\<`0/X`L'\`"^``@9 XM<`'7D0KA\0"%$`*\^`"^<``]H"`(\0"%X``)L0A%P`[_4`3L4`C`\`"$4`"\ XM>`Q%``\H.`A]``X`\`"$<!`(\0"^<``]<!`(\0"$X``)\0"^<``]4"$(\0"% XMD`0)<00/X`L',%,)\0"$T`$)T0,KD!`/0`@2D!`]T`()\0"%D!T(<0Q%``^\ XM^`]'\`"^<``/X`N`D`$7<!VI$!X/4`A*$(+'4`3@H!"#T`>X```/0`C9@1#= XM4`2PL`A]``G),`R#T`?H```/0`@+D!#=4`#H0`'7D0[FP(N+4`3X\`"O4`3P XMD`A%@`^+4`3\$`!%@`^#T`?T```/0`@;B!"X``@)D0X"D!`S``R(4`3?T`A% XM8`V)4`2H8`:+4`3X\`"_``R)4`2D\`"_4`3*D`A%``H/\`M%@`R)4`2<\`"_ XM4`3&D`A%@`D/\`M%0`R)4`24,`79T`><8`:+4`2<8`8E\`_P8`8-```'8`:) XM4`288`8E\`_P8`8-```#8`:)4`24D`UM0`F+T`6H\`TC\`U%0`K9D`[>D`S9 XM``S9T`:8D`W\D`UM0`G9D`S8$`[?4`2@X`WYD`WPD`WHX`W!P`W(X`W*D`W) XM8`:+4`2<8`8-\`,`8`:)4`24L`G;(`[9T`:4D`W]D`WNX`W!D`W`D`WTT`W8 XM\`U=0`IFL`A%0`IFT`/_,``/X`@6D!#;(`[=@`W=4`2\<`P%0`<:<!TBD!#I XM0`(),0CL@`"+P`S=$`&+$``+$`0$,`C$@``]H!`/4`@;B!#'4`!TH`'7(0() XMD0UMP`G9D`S=@`U;D`[-L(3_``F0``F#T`>X```/4`AFD!!K4`3XH``/X`L7 XM,`#"T`+U@1")4`3X\`"O4`3P,`!%P`^)4`2L@`LC$((Y4`2L\`"/X``)@0NK XML(3_D`-%P`H/T`@OD!#'4`!TH`'7(0()@0LC$((Y4`2L\`".L``)T0U%P`OI XMD``)`0F0``G=4`#@0`'7T0U=``O_4`2X<`0/X`L'\`"^``@9<`'7D0KA\0"% XMH`>\F`XRL(3_``E5L`CL<`56L`A]@`"#\`?9\0"%<``)<07H``_0F`4/X`M' XMP`"I@((/4`@3D!`/X`M'P`"I``@)\0"$T`$)`0A/P``!\`"^<`0,D`I$D!`/ XM0`@\D!"^P`T8<!WI`(T`@`N\^`^+4`?XL`A]P`_),`P/X`M&P`"I\!\`\`"$ XM<``)807HX`(C@!!9,`C&``$[4`,<H`'7\0""L`V\N`A'@`")<`0$\`"^<`0, XMD`KA\0"$T``)@0LHF`X1D!"0``F0\`"^<`0-L`@$4`@@H`'7L0)'@`!0\`]W XM@``/X`M'T`!0@`XT,``(,0C$P`")<`#_\``/P`@/D!"+<`0$\`]'0``/8`L` XMD`YZP(N0@`N\^`\Y<``/0`@+D!"`\`0,``+ID`$)`0F0``A/P``0\`"^<`0, XMD`J`D!`/0`CA`0AGP`#^<`P'H!"XP(O_D`XZP(N0<`6+P`<D@`"*0`0DP`"+ XMP`0D``&#D`\4\`".T`$)40+_D!"*``Z+``W!(`X0L`#"L`C1$`SI(`#SL`J+ XMH`R!$`X#D!#SH`J+0`0D@`!?,`R04`6+P`Z#P`X4,`A]D!T/4`CA,0/`D`S# XMH`8`@`[YD!!9D`A%``]H0`4=@!!JX`#H$`LK@!"#0`P(D`A%@`_'4`3\H!#' XM4`3LH!"#T`?P```/0`@]D!"+4`0(D`-%``\/8`@+D!`I4`3P\`]%P`_I`(T` XML`A%@``K4`3PD`A%P`Z+4`3PD`A%@`#'4`3PH!#_T`3/40?XH`8.@`Y9L`(( XM,0C$@`!H``\4<!WH@`H)D06%``P/4`@.D!#_4`<(@`YSD!!9@`Y]D!!J``#H XM8`8)D06)4`3T,`A]P`\`\`",T``)\0]U@`]JX`#H8`$K@!"#0`P(,`A]P`\` XM\`"/L!X(,0A]P`\`\`"-<`$),0A]0`\`\`"$T``)L0A%``\#4`3T``7H$`() XMD06+4`3L,`!%0`_I,`&\"`E5L`CLH`8!@`;P0`'7@0X5@A"#0`P(D`S#@`L; XMD!":H!`'``##``F0``FXT`$)H0D*<0``\`""(`4K@!##``F+0`0D0`")@`4` XMD`AP0`")@`<(D`AHP`!:D`A@``&)``44L`+`\`_B``F+0`4D0`"+0`0D@``[ XMH`8,\`"$\``)L0A:``"+(`<$L`AZ@`"+H`8,L`AB``&%``P/4`@H"`3_(`84 XM8`6+0`<D@`"*0`4DP`"LH`/"\`"$\`,)00C`\`"$4.,(P0HZ(`P/0`@*@A"$ XM``P/0`@BD!"LH`/"\`"$T`$)00C`\`"$$`$)P0HZ(`P/0`@FB!"$``P/4`B\ XMP(LS``Q>,`R+8`Q(X`7#``F0<`56L`AT0`(,L`A\0`(0L`/^\`"$``@)P0JN XM\`"%T`<)00C`\`"$``<)P0JN\`"%T`8)00C`\`"$``8)P0JN\`"%T`4)00C` XM\`"$``4)P0JN\`"%T`0)00C`\`"$\!\`P`JN\`"%T`,)00C`\`"$4!\(P0JN XM\`"%T`()00C`\`"$`.X`P`JN\`"%T`$)00C`\`"$``$)P0JN\`"%T``)00C` XM\`"%``B\.`/`X`5?,`R?@`E>\`7#@`LKD!":H!`'```/(`@"H`((,0R0@`L% XMD!":H!`'```/(`CND`((,0R0@`L#D!":H!`'```/(`C:D`((,0R0<`6+8`V+ XMP`<DP``S``RYP(O_(`^N<`_1L`AT0`(,L`A\0`((L`C!$`SI(`#S4`J+@`R! XM$`X#D!#S0`J+0`0D@`"+(`]?,`R04`6+P`Y7L`A]P`"XP(O_D`-%@``/0`A) XMD!`/X`M'P`"I@((/0`@FB!"+<`0(D`-'0``/<`C?@1"+<`0(D`-'0``/4`@B XMD!"#\`,`\`"%D`$)\0]'0`"+<`0$@`2)<`0$H`A5@`"(``'_<`"+4`0(L`A] XMP`_),`RXP(O_D`[QP(M5L`CL,`CL@`"+4`0(L`@`4`(HF`A%P`^+4`0(L`@` XM$`WX4`*\^`>)4`3XD`L%D!"9<`_YL`A5@`")(`"+4`3XD`GWD`^-0`!5H!`# XM4`3\T`A```/),`Q5L`CL<`56,`6+T`<(L`AUP`"+T`40\`"^,`0-T`/K@1`/ XM0`@YD!"+4`04L`@`L`)#0``I,`"+4`04L`@0D`A30`!3@`["(`((D0538`5J XM$`!7@`Z?L`$(,0C$``&+4`04L`A30`")``&+T`7TL`AU@`^+T`?\D`S#8`57 XML`A%0`'_``/H4`4G@!"#0`P,,`#&L`A50`&)(`#IH`V\"`F04`6+P`Z!P`[X XM$()78`53L`A]@`"+4`<0<`Q%0`\*<0R%``)+^`\*<0R%P`%+^`\*<0R%0`%+ XM^`\*\0"^8`0-D`B%``%+^`^+8`0$D`A%P`^XL!X(D0.%``%+^`\/4`@0D!"+ XM4`3\T`"\^`?I``$)`0F0``F+4`@0L(3_L`@$4`@@H`'7D0A%@`\/X`L'4`C` XMD`A%0`X/0`B)D!"X4`()D0-%0`X/0`A[D!"+\`U'\`"^<`"%``R)4`3D\`"$ XMX``)@0LED!`Y4`3D\`"%,`Z\N`C'L`+#D`B%``%+^`\!4`3TL`A%P`\#4`@0 XML(3_D`B%P`!+^`\[4`3X\`"&P`$)T0A%P`]08`7_4`L0L(3_,`7H,`I+^`^# XM0`P0D`[Z@1"0``F0\`^U``%+^`]3\`]UP`_H$`30.`C$P`"+4`@,L(3_D`A% XMP`^#T`?D```/4`BGD!"+4`3\L`)&0`")4`@,L(3_D`(&L`A%P`^)8`0$,``& XML`-%@`\/8`@6D!`/X`M&T``]L!X(\0"$<``)807H<`,A@!!9\`"^8`0,D`I$ XMD!`/0`@S@A`/X`L``1`/0`@S@A`/X`M&&*0B`*#@@T(<"@+X5X>>&@6+BO!; XM480>%'2G2A0<1(Q!(6`/"!U0:`6=+0\%LSSP%3`5"(4A,RC$]:_FOT6=^/6K XMN:@6`'\\>Q$`^B_9L(CTTI&S">E8(29$%0*8`2Q1$6R)"B$AFA4*UR+LCJ3+ XM$*%@1`8%"!:TRF`1%'Z)JK`;U(<=@`>-_$$P"_8>5K"!ZF!3"R"=NKT`(`5J XM@DV`PG3=$"\>_#B:9,8('A>[C`UQX5R<@2@\5@2=U'2F$$.Z=U6T04)_;)Y- XMJY"M6[A5T-$UC;</8M*F'\=!S!H;$9B%1A:<_)(ON18P:A=B0#3=`M63`SSN XM0?RJ=KYH"=M^FZ@2$:*-"L$AN@AK%WB#>IVO>;=1E-&%P!"E9T&T4Z\U?0<` XM+@H!DD,A\_T3$@4*+8(@47YEE6`Z8B@$R1+I)7C1`_S4E`4B`Z3#A(60K':5 XM8Z]M@)]^-=G3'P#_$25@.B.06%QFKS%8D%,L_H//BS$&V."#-65%74VX)*#0 XM@4<J^(@!$VS42Y-W%=*`0L6Y5B4#"BWA8).-``$#B%G"1,@<2@(0$3PK')7; XM"M"4UV1\5#[@B!5I?OD5.%EM5=-D`*"8S@YIEF@B-@+.)EX1;9%G'GKJL><> XM//<0^4^!(?U@$X:67M2./AZ"F(X*3#E%`E'*P5@("D2A6-@%)#95R*DU/8`? XMJS4-@*5W#3)*VUJ,WE9>@KA@L601Y!RTP$PX5"!:.@98B`L3S@*0%0S5\1*M XMJA@0A4:U3F%;4[//CK*MH64:E-QHI6VKIJ\X6LMH"_%V`T`WG?#`7B%"$!4, XM.@24\(]R/0RL[@+?.0@$40(K6*49"L6G+WT'93'D$/ZB<T`)`O8@X$$*X$>! XMC/B!0')!N!1Q;+*%A(PR'=6F4\!,<%3;7B-##&`5/.F(HER)#F)<T[\;=_QQ XM(3JJVB,`%_A7"(#_)%K(PC4U;&LPX+15R<3_!*,.!0L((R%13G%`U,P[SDJ4 XMK6GC^H^N**M<4`[(A@0+V85T6Q,8X!8B[C_4/CL%VH:F1P-14*2'`^(1H0-$ XM#V49U,BR?#F>3JHEXA(Y`%#\4PO5-=7"-3IU(,81!>VE<V5!ANI9$Q)6Z=;+ XMX103(E/:/0K0M*I0SYC$KHV9J2+N1!&P>Y!1/U8CZX?&N^"*1!EP_-,G`Y!> XM&5_!H\@`A(!$")<&^3+`$.G$:R@NT9E5!3R("/!/$?#UP9N5P'L64IKOPF,, XM`"Z\#T_C1JJ.-L!W*"T=)%7`<==LXL46>BG$7OCBFH/Z-32`"8Q@!JO2-X8$ XM.JM520D1ZP77JM2#BV6L:`KQ&')<IJJ1"2EM)GLA`'91,]'@3&?P$Q':@G9" XMCJ7P:$GC$5$0,+W><9!AM0(`UK3&-:^!36R6*MO9\$,KA[6-*'!3U=\"QRVB XM\.U9#8`;)`R'.,4A#A<\.!8Z\!*OQLEL)FDL2.<^1Q3/C:X,#M@(,5"'C?C0 XM[E(AV4&OT.&7`RVN5HY0`4S$UX/TW840"2%>3110Q.J)*%;%<55(AJ<THC"@ XMDC*DD8VNXCQ"!#$_1'$`*)-7D.MEST&'_$<`:^(4%D0EA'5R!">WU[V0;$YS XM2RJ$+6O%"/`-R)'I,&:)_B',M8EO"(M87_O\]X]&-.D!CW"%38ICOY9%3'YW XM<03^UK2__L$/C6IDXR#?B+(X6FLZ1*';&AWA`?`!*F&E60$\BU0$;O2I.@`@ XM8`&1PS88M>LQ23/4;JJ$P-(D"EZUF5>][I6O?5&P:Q;,8,&4<Q`I)&QJ2'38 XM0<H0PA$>Q%AF*830,(K"@JA072QTB@M9.:`CK$Q9,X'9L]P%"5S44$W8N.'. XMG!)#FJ8#"2CB805;"H"75NF4/8+`*J76P20N<1%;\]?7PC8V6B)DBFFK8D&= XMXK8LXL*F<ZL;(;"0#Z_J[1]?U")1N)B>]?!D4@Y*T"S_0:>H'(0*RDE7E0ZA XM'-*`0T"X$-`__\280!4D'6GX&1EKDKA"Q!(*P$SK&AO1QM*P<T";FR/H[$@4 XM=&3#9:=K3S<*P35N=``1U?H&.#P!,OS$\J'HV"LWD0,"ETT!'4T87A:R`H%] XM->E`Q:U5([21IT(D5Y;[_$<ZDE&H$BD"6>G((WA^)2\&*`((_$!$(;!7$U?> XM%6<!V%DZ*F$A146T+5C@AV`/4@&%_/89&DC)(J8Q@#BM+QT08UXB.M$DU_U# XM$1!@9I,((8W[*>0?3=AL.&037=CET)$M:,Y=&-&!%*+T+H>0@$(^\@!&L/`? XM)"@$)*IEJ">,:AXU*5%\BOI(0X1PIH\T`?1J(H&IBNR6CQT1\PZE24)P4H@U XMH8"/'[N\Q#3/3%`EB@66K"H:]XI-PR`N%JF7*ZULV6Q%:F9-Z,8.;&[.0<., XM6D72X8]8180=`:A(<30<DB``S[%5PH!"`(4B?:;9*N!(1T%;!Q8_RZ@(X'AS XM5M*<CE2,DC+JTD2OV&'H,#<I'2@9<B,D`@4KJ($":$!`M=`Q#GC4A",0&$0K XMFD0!7"2-26M[!#5D(Y$!1#<K""#*#HJ`CP<80L.;YD>G/=>D4(]Z$Z;F*S$@ XMD`X1Q(K8WA*U:!C"#W340,\`X$A;"I%K?O(C/E![Y(<CP@];0VVON^[UKQ42 XM[&'7`FJ>ZQ$Z;)!L5#>;1)Z#=RUZ1&UT0`-6V>Z(@:WR[5Z`&9"$J$*O^!&F XM`J";U[[.;RLY[>D">.ZMZ,#&.TZ]['1$$@!JL'@MWMIO/`!<VP.7B!3I<V<4 XMA802O>)3=#$=JW9[&M0@&/4>-J[L5*^:**U^=72Q.6N>U/K6W-8UQ-<]<6%; XM`=HU04/.18..&?#<WLX>,M3_(?5J];L9%M#CMKLM2XG$Y[GA?,+";?W<AZO[ XMXS;WW'-_.PUW<)S9F78R).1.E"GT.PYA#_BVFT3PXA#B.R%A!,^+`P#$$T(2 XMO?+GS#\^1HI_NNM4GX/=>ZYJ5KLZF->4-:W+C72RI]O7P*;XUC$/`'2L8/-8 XM?W8MBCWUA=2AVL6HK^`=1/;"7P409AKWT:%B::6K._5.]QSQ0\>%TAJC'7>_ XM-_.47\=:--\FMT<'W\2><OE>A3`AV</FT1Q/L-B)#>,OM)BA>VE.VOSRTF[] XM%J#/^9\G^?-S&[KHC4YZPB>])J?'=-:C>K,7;:,V`?1G;_=`?X:R>O'7;ZV@ XM(RCW?V7'#^D`#?2W!M&E``.`+-`A'4UR!"MQ`%:1++X`"!FP.P.!'-*P3:UA XM)F=V:YZE3$`C@V7F"P=P!"68#A<`*O]@*%[B-^Q1"4TR`I5018K``!"`"`M@ XM8-&`#PWS#W^P"(W@-M.`#WO55Q3S$2Z(#09$"#-P96T23:X7)T1(%%H(2(X0 XM>&HB@S+G)__`9P6Q6Z]Q"VW%5_+A5X2@"G<8$>30`Q\6$ER00F]@)AKA4GB` XM'(9PATCV#_H`)%SV#ZZ2#FUPAX>"9P?Q!8R(:(BE6%[&6-B`9^D0!);8B/T` XMB5`SB2=@B4`#/_ZC"`LP!(B``-4T)U/B5X[`0KP$$H6`#3:1AN'$ABDG>7!X XM3ZTT7I*2'EO`%85P??^P/_?"6D3A6G@06[,5$ITP)+$$.]$%C'AQ'"G5)!$R XM<S$P)$V2"RR4"?>0#XT@!3"P",*`5<ZH!.7AC.UC8.J8#WN5)*`7:[Y`8<[( XMC<Z(56#BCHC`;)L#"0X2D%GAC/L#`^F1!?'4C&MS"-[PB[T02W?Q"+H7C:W5 XM`8!@C;0U'3.Q`H^!.3W5`@U2"?-8CT1QCW5S@BDH&JGP,81`.0,B-X7!4[A` XM4F;!DD1!CT!9$^VCC$2A3\Z8%<L7`)\8AXP!?(]%!O=@$Y:U-KJD$+OH2S.Q XM.0>29B6V.L?T&	@.NW$N,33>SC/JYH36O3"-I47LAX5S(SE3]8BT216/U( XM3,)882M!``/02&8R#3:!"SLQ9E5)3`:0;(UC2+%V#SQG8/H42[&3#AL@#S%6 XM@_[W7.BH$/FX5TN@@4T"$97P7'#2CN\H#"#"C_D7>O]8$^G0#.P08^F@86I@ XM>QC`$!3`$`E6!PS`$`B`#M7P'1R!`>D@%491!8O`#NG@BY<)";.I$&H0``QQ XMFW60FZ7#$+U9![]9"L))#,1IG,.`G,K)G#]8(ND0"-U)#U-P%MU0`"R``:+1 XM#1B0#7V`#V80$?8I,/!@!E=R`&9@%?9@!OK)GP`P`/]9$=G0!O2P"%V``-TP XM`-E0#K(EH`!0!"'!0F900D1P$%%2$-E`#]F`#MP0#-Z0#A^:#<G@#<*0#C[Y XM+@X*`*[%`_`)`+)%6X-PB"YJ+ZY%`S-:HP\@")N3#<"0H/:0#?S`H`S0#1.0 XMH/10HMG@#MB0#1.J$460H0``!`<AC$7@H`5`!#,JGV9`&ATB7:N@$">:#-G` XM#MZ`ID/:!D7*#]]0!?S`I$Z:#FLJI$1JI$P:I_J@"$V@#WA9$-,`#B7*#4/: XMIO;P#5V@#TQJ!G2A#X^$D]O0`APPH^G@*B&*HGCJIGJJH"7Z#06``C/J#?F0 XM#?`0HMY`HLEPH/KP#46@#VMZI^Z0H/B0JGM:`"8PHU'JHX>`/]Y0`[DZ;1+! XMH`XZ`=T0I6U@G^3V`+\`#$"P!49QG,F9#G=`%.;I!DG5!Q3@"TPPHQ$!`8T` XM"-TJ&NT1"J`PHP07"IR`KKP6$0[P+P&C41ET$)ZA!K\I@G*$#BG`-ASAH%OJ XM6J30H]<X""P4J(6!-@,B%=&$`1^1"`(0$O6RI=D`#MW0H,90`.,Z<>B0.%MZ XM$=A0F/V:"`?0#:61#>10H\<:$LC0("2(+,>0*H5A3$A!<&MB%?C0GJPPH]S0 XM!#>[/MS0!>C@HX;`#39!LB):!_A`G]QPG_U$H`QPH-Z0H-ZP#5U`#0G*#1%! XM#8"V",9@!-$$#J9YD-N`:#N+#]S0!NA0L>@P,"1KMAU`"P)+6X>`L.FP.6W+ XM#37`"U_:!?B0#IM0M!)[LK.5LH3P`8]A3"2+`'CKG?'9H'[X/N1`8HQ@#K_8 XM!PD1$H2Q"`<P`-@0"/N0L3_Z#'NV#YHPH[Z&L+M0NO'YKQW`#'$;$L84"/[0 XM!:8K"/%B#`8``^E0`V;:!TL;$4M[)4]K%5';!MZ0N%1KM6V`M46@M<@2)F-B XM`(FK#65`#MS0`-2PMPBP`_/PHZFR"/,`+0IA!.FP=[7B"P;0`[QK$(Q00LOA XM#Z!;"+<#`!>;L3$P,'1QN8>G$.2#;?2;NTZ@"`9```&`"`:P$L#0`SD`$X\P XM##9A#+HR+9:JL%V`#(M0!\RP"'T`#=(Z%^S``E=@!5.0#H10F(8BGH/`#@@0 XMPNNIK73!)2'!!M^T%W92(>%S!`Q0`B+F4II4""X0,7^0&2%!`@UR!`B0`T=` XM``?QPQOQ`U6"HRN!PZD`CE7"AE>`#AB`-EE`8H6P.6-!(E1!8H0`EE3!H.QP XMP?_3!_1@%%'<`(M``84``AH@&G&!#]_Z`*\0+/^3Q$B,`#]J8S<L$.!'DN\+ XM`&KQHVM`$K[9QA?1!Y2#<MBP`]X0$OX+"$_``"!0"-M08FTT#.F019!0QMBP XM",,P`])P#[R9#GA@$U<,P2E1,#9Q$!*G)A#,*$A@RJC<%E4``7`"C^GP!$P! XM-$E,LU6`#W!2"-*P"-I@)[]@$]S[`(/PO<9PJ0UR%-C@=]K9;VR`6@(W#"EP XM``&0Q(/@Q'B!/U21#H0!-`>P$E?@QA10"7(L&BMP!02P`]"`%ZERQ7*@Q5S; XM)A^Q"/!P$$NP2%),Q2$1AH&\@NK287P!`7C,*%#P$/]P![\Y#6FB;6*<S^@@ XM#BB2!=^:#H5@K:0<9PB0#OUSF>)Y!;_`#99*@U?,AEDP",<``3O0`QPPQW<A XM".H@&WW`#T8!"2EM!1J,`*U9$X6@((00"`0M$(-@)D.PU`K]2.8,#.F`/R5R XMQ5Z@$!X=T+YP!`UP$=F@%EL,$HU04$7]#\=0`'2`TYK4U0)12IXQT;\I#\J1 XM!<=@Q%)A##@,(S"["$:<"$G,M1=LQSW=P5<PU%$L$#T<1#!;QH4]#%=\#=^A XM$FX=U0<!Q95=9&PX"$'\2#)KQ$BLQ(=0#+%<V71VDS-A$])U"DQQSI_`%.() XM!8?=!PR0V"4@!2DD!,B!!`3MQ@00QS@=VM#<#T5,`/^0Q(I0!0APD`]@"\+0 XM`RQ4,0IQQ3$PV;!<*X3P`(AG"UNJP?C`QFY=`FS8`^YR$%1\7<M=!&@-L]&Y XM:?\`!8R,#FR`(]KF5+5E$-Q=TK3`%):,R31A$^E0"L%LVSO<5#W,Q-G6V4-< XMQ$><Q$L<,>1<")A=T,AAQ>A``I/-Q5UPN&`,#%PL9'=1V0:MR41QQ4V@U0J" XM%TES!<W=L>B0"VA(#"6M3'YMW,BMW,QMVF92L*J=#NNP-OF=#N)@K242U"V, XM`(M`T36^`L;0'HEP!THLXF:2*N>L72'NU8OPV_$,`"OPUP<PSO5!Y53M*IK+ XMSNX,SS@]S_5\SXV@T=:0X9OL""99$%-@!?$=`,JA;3N`#<]3$/T-`O_-$UVP XMH$BKP3Y=RE2]>>4)U,DYVWX<W@7>`T6F2`DM""N4VCQ]Z+;-<__0`*Z""#C, XMV4*\+@5QQ6>@U7[=X$I<"/>1T".NVS?LV\`MSUX.YGC!0N>,L*VSSK[0SF^, XMYO),S_:,S].-#N:@U>=<!\$<U(C=U6[,U5(\R)D0,?[PL(T@`R-F#_<]()B` XMTY^%"Z#@`71LQ.%JR.'3SHE``,!>&(Y4(J&F%NC@`AE>%48<$KSMYY?\Z%A^ XM!0C0")"G%HD`QUN>ZH!-`"6A"EHMQAUZY8*,'(31WT`PV(8.WE[="!10#U+A XM[Z@@`G3,[^V(``$_ZX71"L',Z.P0PLV.Y5J>YDG\SP'="&S8QF\L\HE`SQ+_ XMV#MP`WB1;+)T`^F0#B6/"^XB:0HQ$C]J"FA#%<-PPLF9PA@0"FM-QZ6Q:>X` XM!6@0`%10$+Z)#B$0,1U!8M8T2*,0]5,!#$9AL.E`#X-I`PI!]`5A](+@!&BS XM]"C,#@S`PJ2!#U(Q"#V`"#A=)>Z$"XR`TPT@(*/@]Z*!"X@/`(6O$*,P^/Y1 XM`'R`TY`/(P6`!SB]^*$P^:(Q"H2`TQ'1[T!P`+E`&+@<#^VQ"#V`^?XA$:=! XMZ0"P`S7`^542`-\1"/^P^`>!\7S!#T!`</8=8E@"SL@A`8*2#=^AD#WP^:)1 XMF^BP!G"SU9N/TV%2SP%-"/=N/8-P*061"XU7$*=/<,%0!OP`$<90^@IQ^L@< XM$JU.RZ>/"X2Q`F+#:P/P/[P69Q9(`R0R_?)<`,P/`.A?$/FX7W`2%T<J#.7^ XM'=[_'>$O$>-?_ES;@?RP`\;PH[!/;E9!#P32(7]`-_S@:["/!@#0(7^`#K/0 XMT=>M(/0#_L#`H.APP6?<!_!@%('0!OP``!T2&]FW"!U]W0I2"`55$I[0T>?, XM#$R1"#7P__QO+>]8R_1`$?C0`N)A`/QO/4!@_2'1D?RO)A5`^XL@`8&@#(H% XM`8M@`*-`^[JP^(&@#(K%;%9`Y(U``-G8(-?07XE0`:P?^S7`^G=A")L3"JRO XM)A"0"!4`"*!_`8D``:'`^HRO6`>0`\N/T]L>"JP/`)Y/_4G,@S:1"*L/^@8@ XMLCE0`_]_$.Z2",L/^C=P#P9@D]9@$XU``-G8(-?07SL@#S^Z\(U``-G8(-?0 XM7SMP#=",!;)Q#YI;`G6T"/BP`_[@:Z50F.F@#(7)['V`Y/<P".Y``(E0`ZRO XM)@90`G64"`;`_P"0`P=<".Z2"#7P_S=_Z":?PBLLPA>,`/=@!/Q@D_BS]:SM XM(8M@!!-Q_H31F;R&G>@@"V/JT?APU"'1U`6Q`WW@QX2@![W"`&$R`.@/_J<< XM#S3+:W3##]"L0!)AL_C9"+\M%9VCG?KL]6T1R9,\".O[+@SWVPK+7]"P`];P XMHX;;^XWPVU(Q`,/`Y.A?$/FX"!4`"#@=\(.P",=@QFBLP6N\]%>]"'Q``@B@ XM"$1``FW!!"0``?+@"@>!L(MP#$CP!8C^!4L/"2C/!R30%G1``A"P"$Q``JAS XM#(L0#<%PJ?-0"HN@#($0#EDT#Z3@!5]P%%1``GY9`9"`TU*`#AW)$;_-B_@3 XM"I"0YD1``@0P#)D%`&X/`'!?#@U"!21``(E0`9"`TTI_V'Q``@A`%;F@VO+@ XM"D&P",%P#]#P!4N?.83A]@``]ZZ@$$N//@JA"Z=P[^F@!7O&!"1`$-^!/@JA XM"Z=P[^GPU,O!!"1`$#B"/H]1CLO!!"1`$(B!/H]AN,O!!"1`$&J!/F*Y9TQ` XM`@2!(NC3]E(!]VQ?$,/`$03@]G>A=[B`HVX/`'#/ADI_/DGC]@`P$DM?(F./ XMTX'^#TM/:FI_$U1``@1@L&X/`'"?#38Q#&V@`W.@`W>@`P!0`F0``"`@!&%` XM!B#@!G70!F)0!G(``F]@!B`P!V4P!F_@!F0P!R!`!V\``FWP!FZ0!G3P!G(` XM`F\`!W20!F_@!B"0824P!R%3`F0``"`@!&%`!B#@!G70!F)0!G(``F]@!B`P XM!V4P!F_@!F0P!R!`!V\``FWP!FZ0!G3P!G(``F\`!W20!F_@!B"0824P!R%3 XM`F0``"`@!&%`!B#@!G70!F)0!G(``F]@!B`P!V4P!F_@!F0P!R!`!V\``FWP XM!FZ0!G3P!G(``F\`!W20!F_@!B"0824P!R%3!7,0!F=0!B"@`R#`!G#P!6WP XM!FX``BW0!G@``F10!G:0!F-0!B$#`B```G>`!F4@!V4``G@``FDP!R!`!VA0 XM!B#@!G70!F)0!G(``F]@!B`P!V4P!F_@!F0P!R!`!V\``FWP!FZ0!G3P!G(` XM`F10!G:0!F-0!B$#`B```F6`!R"@`R#`!G#P!6WP!FX``BW0!C(``R#P`F10 XM!G;P`FP`!S$0,FP`!U_0!F_@!B"@`R```E7@!F$@!FQ0!B!`!V\``F\`!V7@ XM!B!0`G,``F;P!G(``FGP!F-`!]L,`"!0!6X0!F+`!F4``G3P!B`@!V4P!V5` XM!R!`!VA0!B#0!F_@!FE`!V\@!VG@!F<``F/P!G7@!G10!G(P!R"0!FX``FP` XM!R!`!G*0!G90!G(0,B!0!6X0!F+`!F4``G3P!B!P!F5`!R!`!VA0!B#0!F_@ XM!FE`!V\@!VG@!F<``F/P!G7@!G10!G(P!R"0!FX``FP`!R!`!G*0!G90!G(0 XM,E`@!VG@!G10!G(``B```F.`!F$@!W,``G-0!FY`!R```B```G20!FU0!F]0 XM!W0P!R```B!`!V@@!V]0!V>`!G!0!W3P`G-0!F,0,B50`V0``B```B```B40 XM`S!`!B!0`CA`!B```B```B```B```B```B7@`C-@!B'#!G#P!6WP!FX``CH` XM`B!0!6X0!F+`!F4``G3P!B#P!G!0!FX``B4P!R!@!F\@!R"0!F\P!G2PS0`` XM`E7@!F$@!FQ0!B!`!V\``F=0!G0``G2`!F4``F-0!W(@!V7@!G0``G`0!G+0 XM!G,``FG@!B#`!G```F0@!VE@!V4@!R$#`E7@!F$@!FQ0!B!`!V\``G-0!G0` XM`G2`!F4``F-0!W(@!V7@!G0``G`0!G+0!G,``FG@!B#`!G```F0@!VE@!V4@ XM!R'#!G#P!6WP!FX``CH``B!0!6X0!F+`!F4``G3P!B#P!G!0!FX``B4P!R!@ XM!F\@!R"0!F\P!G2PS0```E7@!F$@!FQ0!B!`!V\``F=0!G0``G2`!F4``F-0 XM!W(@!V7@!G0``G`0!G+0!G,``FG@!B#`!G```F0@!VE@!V4@!R$#`E7@!F$@ XM!FQ0!B!`!V\``G-0!G0``G2`!F4``F-0!W(@!V7@!G0``G`0!G+0!G,``FG@ XM!B#`!G```F0@!VE@!V4@!RST_04A(%(A%3H``F\`!W20!F_@!B`@!V40!W60 XM!G)0!G,``F'@!B`0!G)P!G70!F7@!G0``BV080JA`R"0!FS`!F5P!F'`!B#P XM!G!`!VGP!FX``BV085(A("V@D@!0!6ZP!F[P!G?@!B!0!G(@!V\@!P"@`R_A XM,M#0`**!#0T@&N+0`*+!#PT@&@S@`*)!`@X@&B[@`**!!`X@&EK@`*+!!@X@ XM&GS@`*+Q"`X@&J'@`*(A"PX@&L3@`*(!#0X@&N;@`*(A#PX@&O[@`*+AT*+Q XM`0\@&B_P`*+A`P\@&D_P`*(Q!@\@&G?P`**!"`\@&I?P`*)A"@\@&K[P`**Q XM#`\@&N'P`*(1T*+!#P\@&A,``:)!`A`@&C\``:(A!1`@&FX``:)Q"!`@&I8` XM`:)!"A`@&KT``:*A#1`@&O4``:)!`!$@&B@0`:(A!!$@&DL0`:)!!1$@&ET0 XM`:)1!Q$@&HP0`:(!"A$@&K40`:)A#!$@&M,0`<\2`:+A#Q$@&@<@`:(!`1(@ XM&B0@`:)A`Q(@&D0@`:+!!1(@&GH@`:(!"1(@&J$@`:)Q"Q+@'Q(@&M4@`:(1 XM#Q+@&A,@&@DP`:(A`1,@&B4P`:+A`A,@&C<P`:*A!!,@&E,P`:+!!1,@&G<P XM`:)!"1,@&JLP`:(A#1,@&O<P`:)Q`10@&E5``:+Q844@!W+P!G(``M'A!&]` XM!R#P!G?@!F4@!P#@!&\``G-0!V,@=6:0!FQ0!B#P!G(``F20!G)0!F-`!V\@ XM!WD``$[P!B`P!W4P!E('!W+P!F-0!G,P!P"0!&Y`!V4@!W)0!W!`!V5`!B`P XM!WDP!W10!FT``F,0!FP@PTGP`D\``F4@!W+P!G(``$[P!B`P!W4P!E)'!F5@ XM!VDP!F4``F\@!R`0!F1`!G)0!G,P!P`0!')P!B#`!FDP!W0``G3P!F\``FSP XM!FYPZD6`!V4P!B!@!F\@!VT0!G0``F4@!W+P!G(``$(0!F0``F:0!FQ0!B#@ XM!G70!F)0!G(``$[P!B`P!FB0!FQ`!B``!W+P!F-0!G,P!V4P!P#@!&\``FWP XM!G)0!B``!W+P!F-0!G,P!V4P!P#@!&]`!R!0!F[P!G5P!E(W!W`0!F-`4E!0 XM!G+0!FDP!W.0!F_@!B!`!F7@!FE0!F0``$(0!F0``F%`!F0@!V4P!W,``$+` XM!F\P!FL``F10!G:0!F-0!B`@!V40!W60!G)0!F0``$10!G:0!F-0!B`@!G4P XM!WD``$:0!FQ0!B!0!GB0!G-`!W,``$,@!V\P!W/0`F10!G:0!F-0!B#`!FG@ XM!HGL!&\``G-0!V,@=610!G:0!F-`4D[P!G0``F$``F20!G)0!F-`!V\@!WD` XM`$DP!R`0!B!`!FD@!V4P!G3P!G*0!P"0!&Y@!V'`!FE`!B`0!G)P!G70!F7@ XM!G0``$:0!FQ0!B!`!V$@!FQ0!B#P!G90!G)@!FSP!G<``%3P!F\``FT0!FZ0 XM!R#P!G!0!FX``F:0!FQ0!G,``$[P!G0``F$``G20!W!0!G<@!VE`!V4@!P!` XM!66`!W0``F:0!FQ0!B`@!G4P!WD``$:0!FQ0!B!`!V_P!B#`!F$@!V=`4D[P XM!B`P!W`0!F-0!B#`!F5@!G0``F_@!B!`!F5@!VDP!B25!&S`!F5P!F'`!B`P XM!V50!HDL!640!F30`F_@!FR0!R!@!FG`!F4``G.0!W-`!V70!@!`!6_P!B#0 XM!F'@!GD``FR0!FZP!G,``$(@!V^P!F7@!B``!VD`!R05!')P!G70!F7@!G0` XM`F]0!W0``F]@!B!`!F_0!F&0!FX``%)0!G-0!VQ`!R!`!V_P!B#`!F$@!V=` XM4D[P!B#0!F4P!W,0!F=0!B#P!F8``F10!G.0!G)0!F0``G20!W!`4DE`!F7@ XM!G20!F:0!F4@!R`@!V70!F]@!V5`!@`P!&@0!F[@!F7`!B#@!G70!F)0!G(` XM`F]0!W0``F]@!B`@!V'@!F=`4DQ0!G90!FP``C(``F[P!G0``G.0!VXP!F@@ XM!V_@!FF@!V5`!@#`!&5@!V7`!B`P`R"`!F'`!G10!F0``$Q0!G90!FP``C,` XM`G)0!G-0!G0``$R0!FZP!B#@!G70!F)0!G(``F]0!W0``F]@!B`@!V'@!F=` XM4E`@!V]`!V\P!F_`!B!`!G*0!G90!G(``F[P!G0``F%`!W00!F.`!F5`!@#@ XM!&\``D,P!4D``G-`!W)0!V-`!W4@!V4``F%@!V&0!FP0!F+`!B3%!&5@!V7` XM!B`@`R"`!F'`!G10!F0``$10!F%`!FSP!F.P!B`P!VE`!W40!G20!F_@!B!` XM!F5`!V4P!G10!F3P`F%@!V^0!F10!F0``$[P!B`@!V4P!F\@!V0``FSP!F.P XM!G,``F%@!V&0!FP0!F+`!B15!'(@!V\@!R!``S=0H7(@!V\@!R!``SA0H7(@ XM!V\@!R!``PLL!&%`!B!0!G@P!F@0!FYP!F4``F10!G,P!G*0!G!`!V\@!P`@ XM!&%`!B`@!V40!W50!G-`!R!`!F4P!V,@!VD`!W3P!G(``$U0!G,P!V%P!F4` XM`G00!F+`!F4P!R!@!G7`!C(<!&[P!F10!B!`!V$@!FQ0!B#P!G90!G)@!FSP XM!G<``$(0!F0``G)0!G%0!V4P!W0``F/P!F1`4DG@!G80!FR0!F0``G/`!F]` XM!P!@!&G`!F4``FSP!F.P!FG@!F<``F10!F%`!FSP!F.0R$(0!F0``F;P!FY` XM!R!@!FG`!F4``F;P!G+0!F%`!Q4J!W+P!G(``C6``Q4J!W+P!G(``C6PP$[P XM!G0``F$``G-`!W)0!F'0!B!`!F5@!VDP!B3E!&\``F00!G00!B`0!G80!FG` XM!F$@!FQ`4E20!FU0!G(``F6`!W"0!G)0!F0``$]0!W0``F]@!B`P!W0@!V40 XM!FT``G)0!G/P!G4@!V-0!G,``$T0!F.`!FG@!F4``FDP!R#@!F]`!R#P!FX` XM`G2`!F4``FY0!G1P!V\@!XD,!6$P!FL0!F=0!B#@!F]`!R"0!FXP!W00!FS` XM!F5`!@#P!&*@!F4P!G0``FDP!R`@!V70!F]`!R3%!&G@!FL``F@0!G,``F)0 XM!F7@!B`P!V5@!V4@!V5`!@`0!&1@!V4@!W20!G-0!B!0!G(@!V\@!P`P!7+0 XM!F]0!VY`!R!0!G(@!V\@!P`P!&_0!FU0!VZ0!F,0!G20!F_@!B!0!G(@!V\@ XM!R#P!FX``G-0!FY`!IPC!V]`!V\P!F_`!B!0!G(@!V\@!Q4J!W+P!G(``C>` XM[44@!W+P!G(``C<0ADU0!VQ`!VF`!F\`!R`0!G1`!V70!G!`!V5`!A4J!W+P XM!G(``C?`NT4@!W+P!G(``C?`]D[P!G0``F$``F00!G00!B#0!F4P!W,0!F=` XM4D4@!W+P!G(``C>``Q4J!W+P!G(``C>PP$X0!FU0!B#@!F]`!R!0!VZ0!G%0 XM!V4``F_@!B#@!F5`!W?P!G*0R$:0!FQ0!B!`!F4P!V,@!VD`!W3P!G(``FG@ XM!B`@!F%`!B`P!W00!G1`4E)0!FWP!G10!B`0!F1`!G)0!G,P!R`P!F@0!FYP XM!F5`!@`P!&'@!B#@!F]`!R`0!F,P!F4P!W,``F$``FY0!F5`!F5`!B`P!V@0 XM!G)0!F0``FR0!F(@!V$@!WD``$$P!F-0!G,P!VG@!F<``F$``F/P!G(@!W4` XM!W10!F0``G.`!F$@!V5`!B#`!FD@!G(0!G*0!_S#!FD@!B`P!V4P!G20!F_@ XM!B"0!FX``F'@`F]0!W0``F/P!G(@!W4`!W10!F0``$%`!W10!FT`!W20!FYP XM!B!`!V\``FR0!FZP!B"0!FX``FWP!G)0!B`P!V@0!G)0!F0``FR0!F(@!V$@ XM!VE0!G,``G2`!F'@!B`P!WDP!W10!FT``FR0!FV0!G0``$,0!FX``F[P!G0` XM`F6`!V4P!B`0!B`P!V@0!G)0!F0``FR0!F(@!V$@!WD``F20!G)0!F-`!VR0 XM!U(A%0!P!FQ#!FQ#!FQ#!FQ#"FQS!FQ#"FQ#"FQ#"FQ#"FQ#"FQ#!VQ#"FQ# XM"FQ#"FQ#"FQ#"FQS!FQ#"FQ#"FP#"`55$.!0$^^`5E(A%5(A%5(A%5(A%5)1 XM$"```B```B```B```B```B```B```B```B```B"@80```S```S```S```S`` XM`S```S```S```S```S```XX$`#`0`S(P`S10`S9P`SB0`T$@!$-`!$5@!%(! XM`S$@`S-``S5@`S>``SD0!F(P!F10!@%6$&X0!FX``XE8$$X0!$X``Q^6!FX` XM,4G@!$8@%5(A%5(A%5(!`(20=:"@D@``"BJ9&%D'"BH)`.3``@4!"BH)`*"@ XMD@``"BH)`*"@D@``"UG'!ED'"BH)`'B0=9R0=:"@D@!`#EF'#UF'#UF'#UF' XM#UF'#UF'#UF'#UF'#UF'#UD'"BH)`*"@D@``"BH)`*"@D@``"BH)`*"@D@`` XM"BH)`*"@D@``"BH)`*"@D@``"BH)`$QPB*"@D@#`")0."BH)`*"@D@``"BH) XM`*"@D@``"BH)`*"@D@``"BH)`*"@D@``"BH)`*"@D@``"BH)`*"@D@``"BH) XM`*"@D@``"BH)`*"@D@"`#40,`*"@D@``"BH)`*"@D@``"BH)`*"@D@``"BH) XM`*"@D@``"BH)`*"@D@``"BH)`!]<$!BP/$QPB+QP`@7!")0^`<N#`<L#"BH) XM`*"@D@&U/*"@D@``"BH)`+Q`Q```"BH)`*"@D@``"BH)`!2@D@``"BH)`'!` XMQ```"BH)`*"@D@"`#40,`"IIDB\!`XD(`\:BDBIIDB^ADBIIDB^ADBIIDLT! XM`B```B```B```B```BB``BB``B@``B```B```B```B```B```B```B```B`` XM`B"`!!```1```1```1```1```1```1```1!`"(1`"(1`"(1`"(1`"(0``1`` XM`1```1```8$0"($0"(&`GK9O^[9O^[9O^[9O^[8?`!```1```1```8(@"((@ XM"((@"`(@``(@``(@``(@``(@``(@``(@``(@``(@``(@`!```1```1HF%5(A XM%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(! XM`&A`JC,P#P10"__P`R'C*E(A%5)1$/#@Q%)QI4\M%5(A%5(A%5(A%5(A%5(A XM%5(A%5(A%5(A%5(A%5(A%5(A%0``#TXL%5(A%0!``EJB$/#@Q%(!`"2@)0I! XM`EHB%5*A$"2@)5(A%=\O%5(A%04A``(R$QP_(!P/``;@*E(A%5(A%5(A%5(A XM%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A XM%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5*A XM$#>M)5)1$,#`\5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A%5(A XM%5+!.2,@&D"``B.0`B`P!G)`!S'@`F\``B!@!&G@!F'`!B`@!67`!F40!G/@ XMDS`@`RX``^4(!"@P`BDP!W1`!FGP!BZ`!@D0`R[`]D"``B.0`G`0!G(0!FW@ XM`FB0`#'@`C$``R"083AP`R\``S3P`C$0'4"``B.0`G-0`W`0!G(0!FW@`FB0 XM`#'@`F$(!"@P`BE`!WD`!V4P!RZ`!@D0`R[`NT"``B.0`G20!FU0!G/@`FB0 XM`#'@`F$(!"@P`BF`!F40!F2@`V8P!FY`!VS@`FB0`#'@`CAPI2@P`BE@!F/@ XM!G3`!BZ`!@D0`RZ`T`4!`S+@`C!0CD"``B.0`FR0!F(P!BT`!V\@!W2@`V=0 XM!F[P`F=0!G3P!G!`!RXP!@D0`RX0`V$(!"@P`BDP!VC`!FD@!BZ`!@D0`RZ@ XM_P4!`S+@`C!0CD"``B.0`FR0!F(P!BT`!V\@!W2@`V=0!F[P`G!0!G(@!V\@ XM!RXP!@D0`RYP`U(!`S+@`C!0CD"``B.0`FR0!F(P!BT`!V\@!W2@`V=0!F[P XM`F4@!W+`!G-`!RXP!@D0`RX0`S/@`C'@`N58$#`@`RX``^4(!"@P`BG`!FD@ XM!F/0`G#P!G)`!SH`!W*0!FY`!R\`!W*0!FY`!V;@`F.0`#'@`C$0'4"``B.0 XM`G.`!FR0!F+@`FB0`#'@`OH/!"@P`BDP!W1`!FGP!BZ`!@D0`R[`]D"``B.0 XM`FA0!F%`!CI@!V$@!V$@!V<P!RZ`!@D0`RZ@_P```S+@`C!0CD"``B.0`FR0 XM!F(P!BT`!V\@!W2@`W`@!VG@!G3P`F8`!W*0!FY`!V;@`F.0`#'@`C$0'4"` XM`B.0`G.`!FR0!F+@`FB0`#'@`OH/!"@P`BDP!W1`!FGP!BZ`!@D0`R[`]D"` XM`B.0`FA0!F%`!CI@!V$@!V$@!V<P!RZ`!@D0`RZ@_S`@`RX``^4(!"@P`BG` XM!FD@!F/0`G#P!G)`!SHP!W1`!FGP!B\P!V,0!FY@!BXP!@D0`RZ``U>*`B.0 XM`G-`!V20!F_@`FB0`#'@`FP/!"@P`BF`!F40!F2@`W80!G(0!G)P!G/@`FB0 XM`#'@`OJO$#`@`RX``^4(!"@P`BG`!FD@!F/0`G#P!G)`!SHP!W1`!FGP!B]` XM!F\P!V,0!F[@`F.0`#+@`C%P`U>*`B.0`G-`!V20!F_@`FB0`#'@`FP/!"@P XM`BF`!F40!F2@`V-`!WD`!V7@`FB0`#'@`FP/!"@P`BF`!F40!F2@`W80!G(0 XM!G)P!G/@`FB0`#'@`OH/!"@P`BE@!V'`!G50!G/@`FB0`#'@`FP/!"@P`BF` XM!F40!F2@`V4@!W+@!F_@`FB0`#'@`OH/!"@P`BE0!G(@!V[P!BZ`!@D0`RZ` XMT````S+@`C!0CD"``B.0`F%`!V]@!BXP!@D@`RX0`R"083AP`R\``S/P`C+` XM]D"``B.0`FA0!F%`!CHP!G20!W!0!BZ`!@D0`R[`]D"``B.0`G80!FQ0!V4P XM!RZ`!@D0`R[`]D"``B.0`FT0!G2`!BZ`!@D0`RZ@_T"``B.0`FA0!F%`!CI0 XM!G(@!V[P!BZ`!@D0`RZ@_T"``B.0`F4@!W+@!F_@`FB0`#'@`@@-`#`@`RX` XM`^4(!"@P`BG`!FD@!F/0`G#P!G)`!SHP!W1`!FGP!B]@!FG`!F)0!V;@`F.0 XM`#+@`KP+!"@P`BDP!VC`!FD@!BZ`!@D0`RZ@_T"``B.0`G-`!V20!F_@`FB0 XM`#'@`FQ_I2@P`BG0!F70!G-0!G3@`F@2`R[`]@H!`S+@`C!0CD"``B.0`G/` XM!F50!G#@`F.0`#'@`FP/!"@P`BF`!F40!F2@`W.0!F?@!F'`!BZ`!@D0`R[` XMNT"``B.0`G.0!F?@!F'`!BZ`!@D0`RX0AD"``B.0`G-0!G2@!FT`!RZ`!@D0 XM`RZ@_P4!!"@P`BD0!FP0!G+0!BZ`)C'@`M@.!"@P`BD`!V%0!W-0!BZ`)C'@ XM`M@.!"@P`BDP!V5`!VK0!G#@`F@2`RZ@_PH!!"@P`BDP!W0@!V.`!G+@`F@2 XM`RYP`U(!!"@P`BDP!W0@!V/0!G#@`F@2`RZ``U(!!"@P`BE`!VG0!F4P!RZ` XM)C'@`M@.!"@P`BGP!G!0!F[@`F@2`RZ`[5>*`B.0`G)0!F%`!BZ`)C'@`MA^ XMI2@P`BDP!W0@!V,`!WG@`F@2`R[`]@H!`S+@`C!0CD"``B.0`FR0!F(P!BT` XM!V\@!W2@`W-`!V20!F_P`G7@!F=0!G0P!BXP!@D@`R[`]D"``B.0`G.`!FR0 XM!F+@`FB0`#'@`OH/!"@P`BDP!W1`!FGP!BZ`!@D0`R[`]@```S+@`C!0CD"` XM`B.0`F3P!G`@!VY`!RXP!@D0`R[`NT"``B.0`G.`!FR0!F+@`FB0`#'@`OH/ XM!"@P`BDP!W1`!FGP!BZ`!@D0`R[`]D"``B.0`FA0!F%`!CHP!G20!W!0!BZ` XM!@D0`R[`]D"``B.0`FA0!F%`!CI@!V$@!V$@!V<P!RZ`!@D0`RZ@_T"``B.0 XM`G80!FQ0!V4P!RZ`!@D0`R[`]D"``B.0`G`@!VG@!G3@`FB0`#'@`KP+!"@P XM`BG@!F'@!BZ`!@D0`R[`]@4!`S+@`C!0CD"``B.0`FR0!F(P!BT`!V\@!W2@ XM`V=0!F[P`F-`!WD`!V7@`F.0`#'@`OH/!"@P`BF`!F40!F2@`V-`!WD`!V7@ XM`FB0`#'@`FRO$#`@`RX``^4(!"@P`BE0!F-@!W3@`F.0`#+@`C$``AF&`S?P XM`C`P`R\@`VP/!"@P`BE@!V'`!G50!G/@`FB0`#'@`FP/!"@P`BG@!F'@!BZ` XM!@D0`R[`]@```S+@`C!0CD"``B.0`FR0!F(P!BT`!V\@!W2@`W-`!V20!F_P XM`F9P!W*0!G10!BXP!@DP`RX0`]$!!"@P`BDP!VC`!FD@!BZ`!@D0`RZ@_T"` XM`B.0`G-`!V20!F_@`FB0`#'@`FP/!"@P`BG`!FD@!F/0`G#P!G)`!SHP!W1` XM!FGP!B\P!W1`!FGP!FW@`FB0`#'@`F$(!"@P`BE`!WD`!V4P!RZ`!@D0`RZP XMO@4!`S+@`C!0CD"``B.0`FR0!F(P!BT`!V\@!W2@`W-`!V20!F_P`F;`!G,@ XM!G5@!BXP!@D@`RX0`]@.!"@P`BDP!VC`!FD@!BZ`!@D0`RZ@_T"``B.0`G-` XM!V20!F_@`FB0`#'@`FP/!"@P`BG`!FD@!F/0`G#P!G)`!SHP!W1`!FGP!B\P XM!W1`!FGP!FW@`FB0`#'@`F$(!"@P`BE0!G(@!V[P!BZ`!@D0`RZ`T`4!!"@P XM`BDP!FSP!G-0!BZ`)C'@`F$(`S+@`C!0CD"``B.0`F00!G00!BXP!@D0`RZ@ XM_T"``B.0`G-`!V20!F_@`FB0`#'@`FRO$#`@`RX``^4(!"@P`BG`!FD@!F/0 XM`G#P!G)`!SIP!F7@!B^0!G,0!G1`!WG@`F.0`#'@`C=PI2@P`BDP!VC`!FD@ XM!BZ`!@D0`RZ@_T"``B.0`G10!G+0!FGP!BZ`!@D0`RZPOE>*`B.0`FDP`SA@ XM`U]`!F%`!V'@`F@2`RYP`U>*`B.0`FGP!F-`!VS@`F@2`RZ`[3`@`RX``^4( XM!"@P`BG0!F'`!FSP!F/@`F.0`#'@`C$0'4"``B.0`G.`!FR0!F+@`FB0`#'@ XM`OH/!"@P`BE@!V'`!G50!G/@`FB0`#'@`FP/!"@P`BF`!F40!F2@`V$P!W-0 XM!G)`!RZ`!@D0`R[`]E>*`B.0`FT0!FS`!E]`!F%`!V'@`F@2`RY0CD"``B.0 XM`FU0!FTP!F@@!RZ`)C'@`C'@2$"``B.0`FU0!FTP!G"0!RZ`)C'@`C@@%4"` XM`B.0`G,@!G*P!BZ`)C'@`OI_I2@P`BDP!W0@!VQ0!F[@`F@2`RZ`T`4!!"@P XM`BEP!W*0!G10!BZ`)C'@`M@.!"@P`BDP!VEP!FX0!FS@`F@B`RX0`R"083AP XM`R\``S3P`C"``U>*`B.0`FN0!FS`!BZ`)C'@`@@-!"@P`BEP!F5`!W"0!F3@ XM`F@2`RZ`[0H!!"@P`BDP!F4@!W+P!G+@`F@2`RZ@_PH!!"@P`BDP!G50!GB0 XM!G3@`F@2`RZ`[0H!!"@P`BD``F,@!W3@!B[P!B```D:0!FX0!FP``E)0!FQ0 XM!F$P!S[I`F:0!FS0HF`)%`5Q!@$P!G)`!S'@`G,@%5(A%2Y`!V6`!W2@$-2@ XM$`(R``'@3H0A%5)1$"Y`!F%`!V&@$`20`*+A*@,@(%(A%5*A$"X@!G,P!U)! XM"3B=10,0`(0A%5(A%07A`F/P!FW0!F7@!G0@%80Q``'P<5(A%5)1$"Z0!FZ0 XM!G2@$-"@$`(R``(B%5(A%0KQ!6DP!W00!G)`!P``#0HA(+KB`F:0!FS0HEU? XM$$!1$&<0`&P`!U_0!F_@!BXP!E(A%071!F&0!FX@%1#P'=I!Q`(@(``P#0*B XM$)M3$'4P!V%P!BU*#BBB'40L``("`$X@%0JQ\`71!F_@!FE`!V\@!P!``W"C XM'40L``("`&T@(`K1D5)1$(1!"FJA'40L``("`.$@%0H!<`HQ!V5`!U]P!V&0 XM!G2`"&BC'40L``("`.$@%0HQOP7A`G10!GA`!PH!`=\A(`,0`%R`-HX```@K XM%5+A`F00!G00!@I!``D@&JXR`-J115(A%5+!/V(P!W,@%=TN&EDT``(B%5(A XM%0KA`F/P!FW0!F7@!G3P<80Q``'`"%(A%5(A%?QC!FG`!BWZ`@H!%`5Q!@%P XM!F5`!V\`!W3@`F,@%5)1$&=0!G3P!G!`!P7!!MNB'40L``("`)S@*@J!HP7A XM`G10!GA`!PK!!MLB(`,0`)R`(D;P_5(A%07A`F00!G00!@I!``P@&JXR`%@O XM%5(A%5+!/V(P!W,@%=TN&EDT``(B%5(A%0KA`F/P!FW0!F7@!G2`"@I!&`,0 XM`#@@%5(A%5(!`&4@!W+P!G)0C@!``0P@&JZB*V4@!W+P!G*`[0"``PP@&JZB XM*RY@!FG`!BTJ2`4!%`5Q!@$`!V4@!W+P!G+@`F,@%5)1$'!0!G(@!V\@!P6! XM`&FB'2\A``("`(4@%>DO%?Q#!V6`!W2@$`B0)@(R``4,$]\O%5)1$"Y`!F%` XM!V&@$%C``*+A*@,0`$DC%5(A%07A`F(P!W,@%=TN&EDT``(B%5(A%0KA`F/P XM!FW0!F7@!G0`#@I!&`,0`"@@%5(A%5+!/V:0!FS0HCH)%`5Q!@%0!G(@!VPP XM!W3@`F,@%5)1$"Y`!V6`!W1@(6DB(`,@(%(A%5*A$"Y`!F%`!V&@$&S``*+A XM*@,0`!"`(Q\F%5)1$"X@!G,P!U+1[:*110,@(%(A%5*A$"XP!F_0!FU0!FY` XM!PCP'80Q``'``E(A%5(A%?QC!FG`!BW:_D!1$&<0`'`@!VG@!G1@!BXP!E(A XM%04!!W*0!FY`!P$&"6FB'40L``("`'`@%0KQ.U+A`G10!GA`!Q:2)@(R``$` XM!PH1,@(B%5+A`F00!G00!@K!!Q0@&JXR``(B%5(A%0KA`F(P!W,@%=TN&EDT XM``(B%5(A%0KA`F/P!FW0!F7@!G1``]]!&`,0`&`@%5(A%5+!/V:0!FS0HAM> XM$$!1$&<0`&8`!W*0!FY`!V;@`F,@%5(!`&8`!W*0!FY`!P'F,MI!Q`(@(``@ XMPU)1$`HG%2Y`!V6`!W0@%2XC(`,0`#)<$#,C(%(A%2Y`!F%`!V&@$'Q``:+A XM*@,@(%(A%5*A$"X@!G,P!U+1[:*110,@(%(A%5*A$"XP!F_0!FU0!FY`!Y3P XM'80Q``$`!E(A%5(A%?QC!FG`!BW:!@H!%`5Q!@$P!V,0!FY@!BXP!E(A%0HQ XM!V,0!FX08`"PS06A'40L``("``PM%0`0!E(!`&8P!V,0!FX08"96$-I!Q`(@ XM(`#`25(Q!E(!`',P!V,0!FX08*C@,MI!Q`(@(`!@9U)1$"U:$"Y`!V6`!W2@ XM$-M<$`(R``$`E0`P,UDD%5+A`F00!G00!@K!!Q0@&JXR``(B%5(A%0KA`F(P XM!W,@%=TN&EDT``(B%5(A%0KA`F/P!FW0!F7@!G1`#]]!&`,0`%`@%5(A%5+! XM/V:0!FS0HDI=$$!1$&<0`&3P!G,P!F'@!BXP!E(A%07Q!63P!G,P!F'@!@#` XM#BZC'40L``("`!1`&`H1!U(!`&Y0!VT@!F4@!S!1$-I!Q`,@(`!`!@BK$',@ XM%0`P!W0@!VG@!J<.`&2@(]I!Q`,@(```!P*B$'4@%0`P!V5`!W4`!PI!#;JG XM'3(\``("``@@(`IQ!U+!/W10!GA`!PK!#BXC(`,0`/!`.79!&%(A%2Y`!F%` XM!V&@$'Q``:+A*@,0`(-8$!TI%5)1$"X@!G,P!U+1[:*110,@(%(A%5*A$"XP XM!F_0!FU0!FY`!T2`(H0Q``'`"5(A%5(A%0`P!F@P!F]0!VY`!P#`!Q0@&JZB XM*V;`!F%P!E]0!F]@!H!``:+A*KKB`F:0!FS0HHV@$$!1$&<0`&%`!V]@!BXP XM!E(A%5(1!G3P!@%6$-P0>-IQ`H$B(`#``80Q8E+!/W10!GA`!PK!#8$G(`,0 XM`!R@%@LL(%(A%2Y`!F%`!V&@$-A``:+A*@,0`/XK%5(A%07A`F(P!W,@%=TN XM&EDT``(B%5(A%0KA`F/P!FW0!F7@!G0`#BA"&`,0`'P@%5(A%5+!/V:0!FS0 XMHM->$$!1$&<0`&:0!FP@!G5@!BXP!E(A%07Q!6:0!FP@!G4`,?@@<=I!Q`(@ XM(````@*B$)$@%?Q#!V6`!W2@$/@@<0(R``$``M]17P(B%5+A`F00!G00!@H! XM#Q0@&JXR``(B%5(A%0KA`F(P!W,@%=TN&EDT``(B%5(A%0KA`F/P!FW0!F7@ XM!G3`!7!#&`,0`-DO%5(A%07A`F:0!FS0HJ.@$$!1$&<0`&U0!FTP!V5`!RXP XM!U(A%07A`G10!GA`!PJ!`9$D(`,0`.XD(%(A%07A`F00!G00!@H!#Q0@&JXR XM``(B%5(A%0KA`F(P!W,@%=TN&EDT``(B%5(A%0KA`F/P!FW0!F7@!G1`"G!# XM&`,0`$DC%5(A%07A`F:0!FS0HK*@$$!1$&<0`'/`!F50!G#@`F,@%5*A$'/` XM!F50!G"@$%002=KQPP(@(`4A(`IQ"E(!`&%P!V&P!BU*!0RM'40\``("`$DC XM%8XF%2Y`!V6`!W2@$%0020(R``%``=\!*ZXB%5+A`F00!G00!@H!#Q0@&JXR XM``'@OU(A%5)1$"X@!G,P!U+1[:*110,@(%(A%5*A$"XP!F_0!FU0!FY`![@` XM-X0Q``$`!5(!$+@`-X0Q``$`!0`""APHL(P;.P3A40`"0(#``0!<F$G#IHQ` XM7@+]_0MX)D`8-F'DM'$QAZ!)%W3*X*$C$$V'@`$>!H!@LN9`%V3"T`DC$$$% XMA@X##HAILZ@+,7-*"L2D@2%$H42+UG0QYDV;-@;I("`0D"M4FE)/3JPHT%C& XMC0`ZP@E39TX9DF%1JF09$,]+`%&'4A`852I.G3P#^@0J,^Q4I$H#,G5:V#!! XMJE:QNJ&#P:M7`$/!.@XHD:+%@-#.<@S@EHZ:-G#@&DVY4B"CNWD#(!$8-&[. XMG3U_-FR\F3/B@8LQ\^X-^6I6%)9E[NT=<>QG`-I$IR5-1\X8-')4VY3;.B`U XMV#*Q]'3\%[=@W;6',O>=%'A3X5#71ZQJ?#*/Y%"7$W<ND)STCG-4-P9JVDW% XM&ET`L.`!3#)Q(E`$Y-T6&`"#[1;?>D>UM]1[3V'6UV;%248'%/AYJ!^(_`7D XMSG\!T)$&5G,4:.!<`B&S(%[*\14A8+D1=B%S&28&0'`=JH<A?2*246)F&*8( XM`#XLO@&'03+.V!T`W-P8FWX?;B=ACQ9Z*%^0[C'V(W%(9D7'DC,UZ1EM1&DT XMFAQEA$%&E2<=*!`\6N;(H&'E35AA>ET"^MN&9HIY9&19$<*F9BB^&1`#<:(% XMH(!PY(&G0-PA2,`'?WI(`X9?GN>CHD`>JAB'PX&8YF24L'DB>4YB4.EH=;AQ XM1AETC$&55+GNVFM`.("*(PD-]85&31#TU:E`Q88ZU+(!&8"C7Z52B%ZKY*DZ XM)*MGNLKH9*BP.1N03L)PZW1D2"G'9+\Z]H!`H!@;$[)&!D1$31ST]46[=\B1 XM1DKDV`L`OGTA.)`'_K8+Q[LL80$"@\@*T!<^%I@$@K-Z!E2OM`'`<D%`.030 XMH9<\FAIF9D%ET:V&JR::+YKCT@$/FY2L]X48(+FQ1DF#/@3`%WJ4(<<;990$ XMPK9"`5#'&/^F<49).#`M'!M0DR%U24Q8#1'67[@1AAL!@>&UTU"+338`:)P- XM=AINF!$0'&<__07<<@-`Q]F=D160#NMV-`8=>4P9[VHT!@3%#2"/F2T&%YPZ XM%`&%&N4MD=P"^BH=A!30E4P\N.DW`$T$'D`98]A!Q^%%H:[Z0(LS*$:R`[50 XMDP]]F9&ZPH`PCN/L%M=>$Q!]S25'&(,#`(OO]Z(*@"-="M'7[@0!D8/LS@=2 XMFT!$<)PX`+%?Z^&:B@-P&<KF`<`!!I('``R&EX/KO+CUT0&,Y^;+Q!!S8M21 XMMT!,8-_*FB,I`&3!=&8(V,#>,@:I)%!@*0D(,79`,=H)A`';"T@4O'>E"8(, XM@P%!@?C0-R%N")!08XJ?S"KGE\T!P%KY@PH?1/><.2"0#7/HGQE89Y(OC*$B XM8ZL#'*#1`P9-+'@"64%-NI"['[[!+0'A1Q&/94&/U>0+N3,#&]I"+4[XH()( XM#`@@:A(&?VDQA_Y3WP_`V!=`=&D,_L+#&77(B?TU+XP`0$5-RN"O@/4*#6L` XM`!&"P,:!8,0D'1G(%R;B!C+H$`!"**1`N%&3-/A+AW/(@QO&P(U(4A&/YR+( XM&CB(("*"C`KX:R`";),R+)TP<W%1(7SF1Y[-\0&&EQG*#-%5P#Z8SHENV12G XM.G:P(8`,`SH"5+9,V+X4PNQ;*QS3YO"!2YE`BE8%/(3I),1#*R&(!\84W\Q` XMM,Q70@431#F?Y9Z)N7#5LF8(.,#GH")"7HYN$J9+PQQT0KAN#D2?_,Q#0,`I XMR8#LCR"+(*5`""K.`!S4<RSD3+;H\!X4PH^=\AOG.^L'`WG&T$.AC-3H.I'/ XM&>#`!O\"#)Z>%1`^A#,VCFLE1=NG3D-A-)J+JA\>/)K+`,P*4$XZ13[?,#@V XM"),SQ'0IR+BTH_3AH:*P](LLBQ31[6R.$3RU)@T%L@O3M>$C;""J/P7R53:$ XMM8$`@,1+`0"\OG`C@P!81>[H]!P`L,$(1JPB`'Q'D%;TA4Y@)2H`2('7W^FU XM&C5YA4(#HE:0L>,I4)@E"07RU/9=TZ9":B<M-5<S3F05*I%E3F#'`(>Z0+5I XMHZ4+'TXKG-'B08RLA<AH#4(&0L26@*,KAE?!FM*=K#2I1V@<J5J)B-@&8)6I XMNNDL-<K9^K'CLR;::D">X=4RM.$ZV1%2GK['A^`V=&*APE8K(6%<9V8VHU6= XMB@N1V].?QL5)V:CN=3-U5)8"@!/>C0VR@)0M\C;SHN?%*9`V1P'V^FD_!22' XMZ7(HAS4<%:G?`T9^9;*O:C5U0OY=60`ND]Z(3#6J1MD<"@S\E?4TTB093@]N XMG^..!5>G(FZH+S$)<*[8()._K:1$>0%<IN5V^#&;PP&)HVO/Y^##=`I,R8/M XMRX$:'[C#@1*(CO^;W`#[6)HU8\*0F53DAP1%3M.9@]3$9E3M/H:8,'`R5`@Q XM'F7F>,=5[C%5L5P_+FPY`!R0CT`R()!3J%DX?7M.`[YLJ0"L@2)E!A0Q:?'G XMH=QXA$;)UI0U;%XY@]BJ-</#G2_[W@)>@-"C$18<TG`G,]^$F,QH=)MPG+Y) XM6S3.B+IR3D6$B#N[UR]."@&HIS,&HQTMNWXA)C=4S8!DLK+5<";.A]W97!%Q XMPM;2!<`*=BVX.JAD8#+^'CI4G>>`P'4JDDXVB):]V;AL#A;0[G)`:D#M`(Q! XM#G2(L:G/_#T")$&XK)Z0JR]]&.7.&4-P&YA`0@.RFH;E"P$*"5VH86R'?.&Z XM;\@52QQ`E*@XQ"!V2,/1R#;I#ET<#P(7R+9#Y1`I[40.9P@(!!AP*H>GX0VS XMFZ0Y=V-RN)%!,"P/DT,"9)U,=<5@W@:`E`PRD"R1'``O+ZI`E"H^A[@(1C7J XM4]!-[NNNY+PV)8<#'4P^J:O3!@`\'U!I$R3UW80=.]X!3]!Y#N.N_-DA27Y. XMDX^>R3F$S=?,:$#+`>!K-[Q!(#/5.4'V:U>O!]V'A)M20""W=\#>?$]E=PA6 XMVE":Q7?;XD,#28!TR`'69A`&`@&!YP'PD9"TH25J-_N8/Q*0--.=5Z<9^VN. XMOI:V/,<N1P^KKF*?Q]0[O-=R^#66W@Z`R9-6H/>=<-"-CW8`=/?HHB9U0%)] XM]$.;=2",/CHPGT."M1Y>S(^$YBP=/@>8IQ$`H/!`HLC?AO"C0@3K']IH2U+< XMO3,XD`*1\-'%T&""E$/YNT%;!`$%(\`0_X`6.R<U:/`&;'!SC$!\8G8&=()# XM9:`'$"@UM><6:'"!4\,K`?$#Q#<0%!005D!\O%)O]P8`!QAT91!N!HB``%`$ XM`E$:"%<=,&<17Q!6=Z`U9R!P""<U=$('=?`N8)<'=N=K;*!/++$S_D-;.S$[ XM$3AF;T`G`>$2=+=Z;-!Z$`A[J!$0L]=T`)"!M^=[=O4&N]>%J$"&/N1K4SA\ XM1V=\/I=\;VA=V-52`.@0T?=XU`>&UI>%`I%]8+A]`M%]1_>#X:=9Y&=^>9-^ XM\8=P[7=^[]>(\P<`]2=X.30'</`&#`@W9_`";#!V>A:*HCB*!`$"IG@#-5`# XM$V.*(!`#-$`#J\B*,2`#L<B*IA@#-2`#M`@"-&`#-3`#KR@#,``#,<"*-B`# XM-R`#``!>I-B,SOB,T!B-TCB-U%B-UGB-AC$"(/")(``W*2$'9H`\90`"9C"% XM(/`PWF@T('`'`X,&";`6QV-69<`&W3@91A..O:8`(Z"/"1`$9@4"UQ$2R/.- XM<P`"(3&.:Y$4+0@"=(`=$7<&:,"0;W".`F./<@`"N=(&;Z`U$]&"+L"/3C"1 XM8C`V;F`T!7F0%)F.=Z*/^@@"4E`&<``2O<:0:#".25B2("`&\_@&=R"1(.`6 XMC620;E"/`Y,&'Y$&>J`3+S>4;A$'UK9)X[AU-(F0%?F-+-"2<_`T$1D&!=F0 XMX]B43SF3#:D3($`GI=&5$YF)=V`T+2!$`&F&$W$&0ZB49N@"IE@%;M&28?"6 XM5S$V9+"-:;`&XX@":%`X;^"5+C(&8)4'*<"/J+.`("`"7``#,S`#>L`%8R`" XM+2F50/F77OF39>"4!C&3(E`$4S`$(*`'(N"3GXF.%@D"5Y`$5(`$3U`%5&"0 XM`!D2`A,&NU*6O#*$;M"2YGB396`&9;"0*-"0^M2-!7D':$"6GXF9((`58S,' XM*="-9A"9IHF:JLF<N(DD?DF3.M&2U.D&!5E^6*&<NN*3>1!Q%^F:WVB7($`% XM-0D"UQ8@G,B77Q648H8:;)`'!DD&=C`VO38'PHF3:]&;*-"9!>D%3)`"'[F/ XM(_"8$RF9Q$@#F*F9^U@5HY8T/4`"-*``<X`&:6`&=+`#/TFB)HJB(UJB)YJB XM+LJB*DH'"N`<<]`#(D`"*J"9:=`#,:``SND9(+`%"4`":0`"+5`1($`"')H& XM20,"7:``[:(`"5".%^D<];BD-DJE4YH`"9`K:8`',M`N!9FCSK&:,N`#)O"C XM7DJAD3F9KIBA7&J&94"E/0H&*O$P17JD*]"*8""E=*H`)3JD2_H#(!`"/0`" XM,`"E"N"5P9D`6K-//#..+2`'(A!W]AE\4[B:8#"20!D&6+&D,/"G"7!M=-"* XM-9H&"J``IJJHJPJ:0?F98#F:XUB:IYF:JRF5K5F5ZAB;LUF;M[F7BAE\1MF; XM00B<PGF1Q&F<R*F<!;F<S@F=]2F=Y6F=V*F=M]J=RRFLD1&>8TFCVEBM/VD5 XMO$*BZRF5[3F$*6F1=HF)FGB3G0BF8DJFV%BOAL&*J*B*RWB+KUB+K4B+^VJ+ XMIBB,Q<B+O@B,-"",,F`#^$H#L[B,]AJQ$CNQ%%NQ%GNQU3@"(?`";2$'+R`& XM</,"4R(';+"J93"@]'@"*H$Z(,"Q<^"Q(.L&(FLT]-@"4R"JD4D"0"`")V"G XMV4D"<I`K;L")7Y`K9&`T"$>N"%>39K4#JQJD2HH"/.`#U[D'"L"*UR$E3LN* XM\)FS7\`%<L`%;B`"3ML'"H"C.LJC/@JD)*JD1&JD2*JD3"HE3EJ04=JE5DJ. XM0@HW6NH9!@JI;T"E7SJT\_I$.7NF()"F:RJX;FJA<9J9<UJ2=MH#>(H'>@JW XM?1H#?]HNDCNH6U"HAYJHBQJECLJE`#6I2&JIF,J&E@H"G<J5!@&JXT@"HTJE XMK?JC$V&R('>J,/"JG3F5H"F:4(FMW)FK$[FKZ7B1ODJ;MOF=NEFLXWBL[Y*L XM@%F2S/J7R4FBS]J<SWFJT3D&TUDGYGF=@VJKQ>N=W-J7L=J]Y"F^YTFNZGD& XM[.F>ZQJ?S(BQ^)N_^KN__-N__ON_`!S``CS`!%S`!GS`")S`"KS`#-S`#OS` X#$!RQ X` Xend SHAR_EOF echo "uncompressing file lp.tar" && compress -d < shar3_cmp_.tmp > lp.tar && rm -f shar3_cmp_.tmp && $TOUCH -am 0725204990 lp.tar && chmod 0644 lp.tar || echo "restore of lp.tar failed" set `wc -c lp.tar`;Wc_c=$1 if test "$Wc_c" != "66048"; then echo original size 66048, current size $Wc_c fi exit 0
tneff@bfmny0.BFM.COM (Tom Neff) (07/27/90)
In article <1990Jul26.015350.1481@cimcor.mn.org> mike@cimcor.mn.org (Michael Grenier) writes: >Sorry, about the tar file...my shar doesn't understand directories. Fix it. #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # getopt.3 # getopt.c # makefile # shar.1 # shar.c # traverse.3 # traverse.c # This archive created: Fri Jul 27 11:13:30 1990 export PATH; PATH=/bin:/usr/bin:$PATH if test -f 'getopt.3' then echo shar: "will not over-write existing file 'getopt.3'" else sed 's/^X//' << \SHAR_EOF > 'getopt.3' X.TH GETOPT 3 local X.DA 25 March 1982 X.SH NAME Xgetopt \- get option letter from argv X.SH SYNOPSIS X.ft B Xint getopt(argc, argv, optstring) X.br Xint argc; X.br Xchar **argv; X.br Xchar *optstring; X.sp Xextern char *optarg; X.br Xextern int optind; X.ft X.SH DESCRIPTION X.I Getopt Xreturns the next option letter in X.I argv Xthat matches a letter in X.IR optstring . X.I Optstring Xis a string of recognized option letters; Xif a letter is followed by a colon, the option is expected to have Xan argument that may or may not be separated from it by white space. X.I Optarg Xis set to point to the start of the option argument on return from X.IR getopt . X.PP X.I Getopt Xplaces in X.I optind Xthe X.I argv Xindex of the next argument to be processed. XBecause X.I optind Xis external, it is normally initialized to zero automatically Xbefore the first call to X.IR getopt . X.PP XWhen all options have been processed (i.e., up to the first Xnon-option argument), X.I getopt Xreturns X.BR EOF . XThe special option X.B \-\- Xmay be used to delimit the end of the options; X.B EOF Xwill be returned, and X.B \-\- Xwill be skipped. X.SH SEE ALSO Xgetopt(1) X.SH DIAGNOSTICS X.I Getopt Xprints an error message on X.I stderr Xand returns a question mark X.RB ( ? ) Xwhen it encounters an option letter not included in X.IR optstring . X.SH EXAMPLE XThe following code fragment shows how one might process the arguments Xfor a command that can take the mutually exclusive options X.B a Xand X.BR b , Xand the options X.B f Xand X.BR o , Xboth of which require arguments: X.PP X.RS X.nf Xmain(argc, argv) Xint argc; Xchar **argv; X{ X int c; X extern int optind; X extern char *optarg; X \&. X \&. X \&. X while ((c = getopt(argc, argv, "abf:o:")) != EOF) X switch (c) { X case 'a': X if (bflg) X errflg++; X else X aflg++; X break; X case 'b': X if (aflg) X errflg++; X else X bproc(); X break; X case 'f': X ifile = optarg; X break; X case 'o': X ofile = optarg; X break; X case '?': X default: X errflg++; X break; X } X if (errflg) { X fprintf(stderr, "Usage: ..."); X exit(2); X } X for (; optind < argc; optind++) { X \&. X \&. X \&. X } X \&. X \&. X \&. X} X.RE X.PP XA template similar to this can be found in X.IR /usr/pub/template.c . X.SH HISTORY XWritten by Henry Spencer, working from a Bell Labs manual page. XBehavior believed identical to the Bell version. X.SH BUGS XIt is not obvious how X`\-' Xstanding alone should be treated; this version treats it as Xa non-option argument, which is not always right. X.PP XOption arguments are allowed to begin with `\-'; Xthis is reasonable but reduces the amount of error checking possible. X.PP X.I Getopt Xis quite flexible but the obvious price must be paid: there is much Xit could do that it doesn't, like Xchecking mutually exclusive options, checking type of Xoption arguments, etc. SHAR_EOF fi if test -f 'getopt.c' then echo shar: "will not over-write existing file 'getopt.c'" else sed 's/^X//' << \SHAR_EOF > 'getopt.c' X/* got this off net.sources */ X#include <stdio.h> X X/* X * get option letter from argument vector X */ Xint opterr = 1, /* useless, never set or used */ X optind = 1, /* index into parent argv vector */ X optopt; /* character checked for validity */ Xchar *optarg; /* argument associated with option */ X X#define BADCH (int)'?' X#define EMSG "" X#define tell(s) fputs(*nargv,stderr);fputs(s,stderr); \ X fputc(optopt,stderr);fputc('\n',stderr);return(BADCH); X Xgetopt(nargc,nargv,ostr) Xint nargc; Xchar **nargv, X *ostr; X{ X static char *place = EMSG; /* option letter processing */ X register char *oli; /* option letter list index */ X char *index(); X X if(!*place) { /* update scanning pointer */ X if(optind >= nargc || *(place = nargv[optind]) != '-' || !*++place) return(EOF); X if (*place == '-') { /* found "--" */ X ++optind; X return(EOF); X } X } /* option letter okay? */ X if ((optopt = (int)*place++) == (int)':' || !(oli = index(ostr,optopt))) { X if(!*place) ++optind; X tell(": illegal option -- "); X } X if (*++oli != ':') { /* don't need argument */ X optarg = NULL; X if (!*place) ++optind; X } X else { /* need an argument */ X if (*place) optarg = place; /* no white space */ X else if (nargc <= ++optind) { /* no arg */ X place = EMSG; X tell(": option requires an argument -- "); X } X else optarg = nargv[optind]; /* white space */ X place = EMSG; X ++optind; X } X return(optopt); /* dump back option letter */ X} SHAR_EOF fi if test -f 'makefile' then echo shar: "will not over-write existing file 'makefile'" else sed 's/^X//' << \SHAR_EOF > 'makefile' XCFLAGS=-O Xshar: shar.o traverse.o getopt.o X cc $(CFLAGS) -o shar shar.o traverse.o getopt.o X cc -o traverse -DSTANDALONE traverse.c SHAR_EOF fi if test -f 'shar.1' then echo shar: "will not over-write existing file 'shar.1'" else sed 's/^X//' << \SHAR_EOF > 'shar.1' X.TH SHAR 1net "June 3, 1985" "UNIX User's Manual" "Wang Institute" X.SH NAME Xshar \- create file storage archive for extraction by /bin/sh X.SH SYNOPSIS X.B shar X[-abcsv] [-d delim] [-p prefix] files X.SH DESCRIPTION X.I shar Xprints its input files with special command lines around them Xto be used by the shell, X.I /bin/sh , Xto extract them later. XThe output can be filtered through the shell to Xrecreate copies of the original files. X.PP X.I shar Xallows directories to be named, and X.I shar Xprints the necessary commands X.ul X(mkdir & cd) Xto create new directories and fill them. X.I shar Xwill emit commands to make executable plain files executable. X.I shar will not allow existing files to be over-written; Xsuch files must be removed by the file extractor. X.SH OPTIONS X.de OP X.TP X.B -\\$1 X.. X.OP a XAll the options. XThe options: X.B "-v -c -b -p <tab>X" Xare implied. X.OP s XSilent running. XAll checking and extra output is inhibited. X.OP v XPrint verbose feedback messages about what X.I shar Xis doing to be printed during extraction. XSizes of plain files are echoed to allow a simple validity check. X.OP c XCheck file size on extraction by counting characters. XAn error message is reported to the person doing the Xextraction if the sizes don't match. XOne reason why the sizes may not match is that X.I shar Xwill append a newline to complete incomplete last lines; X.I shar Xprints a message that mentions added newlines. XAnother reason why the sizes may not match is that some Xnetwork mail programs remove non-whitespace control characters. X.I shar Xprints a message that mentions control characters to the extractor. X.OP b XExtract files into basenames so that files with absolute path names Xare put into the current directory. XThis option has strange effects when directories are archived. X.OP d delim XUse this as the ``end of file'' delimiter instead of the default. XThe only reason to change it is if you suspect an file Xcontains the default delimiter: X.B SHAR_EOF. X.OP p prefix XUse this as the prefix to each line of the archived files. XThis is to make sure that special characters at the start of lines are not Xeaten up by programs like mailers. XIf this option is used, Xthe files will be extracted with the stream editor X.B sed Xrather than X.B cat Xso it is more efficient and portable to avoid setting the prefix, Xthough perhaps less safe if you don't know what is in the files. X.SH "SEE ALSO Xtar(1), cpio(1), tp(1), sh(1) X.SH AUTHOR XGary Perlman X(based on a shell version by James Gosling, Xwith additions motivated by XDerek Zahn, XMichael Thompson, XH. Morrow Long, XFred Avolio, XGran Uddeborg, X& XChuck Wegrzyn) X.SH LIMITATIONS X.I shar Xdoes not know anything about Xlinks between files Xor binary files. SHAR_EOF fi if test -f 'shar.c' then echo shar: "will not over-write existing file 'shar.c'" else sed 's/^X//' << \SHAR_EOF > 'shar.c' X#include <stdio.h> X#include <sys/types.h> X#include <sys/stat.h> X#include <ctype.h> X X/*{ XShar puts readable text files together in a package Xfrom which they are easy to extract. The original version Xwas a shell script posted to the net, shown below: X #Date: Mon Oct 18 11:08:34 1982 X #From: decvax!microsof!uw-beave!jim (James Gosling at CMU) X AR=$1 X shift X for i do X echo a - $i X echo "echo x - $i" >>$AR X echo "cat >$i <<'!Funky!Stuff!'" >>$AR X cat $i >>$AR X echo "!Funky!Stuff!" >>$AR X done XI rewrote this version in C to provide better diagnostics Xand to run faster. The major difference is that my version Xdoes not affect any files because it prints to the standard Xoutput. Mine also has several options. X XGary Perlman/Wang Institute/Tyngsboro, MA/01879/(617) 649-9731 X XMany enhancements motivated by Michael Thompson. X XDirectory archiving motivated by Derek Zahn @ wisconsin X His version had some problems, so I wrote a general X routine for traversing a directory hierarchy. It X allows marching through a directory on old and new X UNIX systems. X}*/ X X/* COMMANDS */ X#define EXTRACT "#! /bin/sh" /* magic exec string at shar file start */ X#define PATH "/bin:$PATH" /* search path for programs */ X#define CAT "cat"; /* /bin/cat */ X#define SED "sed 's/^%s//'" /* /bin/sed removes Prefix from lines */ X#define MKDIR "mkdir" /* make a new dirctory */ X#define CHMOD "chmod +x" /* change file protection (for executables) */ X#define CHDIR "cd" /* change current directory */ X#define TEST "test" /* /bin/test files */ X#define WC_C "wc -c <" /* counts chars in file */ X#define ECHO "echo shar" /* echo a message to extractor */ X Xmain (argc, argv) char **argv; X { X int shar (); X int optind; X if ((optind = initial (argc, argv)) < 0) X exit (1); X if (header (argc, argv, optind)) X exit (2); X while (optind < argc) X traverse (argv[optind++], shar); X footer (); X exit (0); X } X X/* OPTIONS */ Xtypedef int lgl; X#define true ((lgl) 1) X#define false ((lgl) 0) Xint Lastchar; /* the last character printed */ Xint Ctrlcount; /* how many bad control characters are in file */ X X#define USAGE "[-abcsv] [-p prefix] [-d delim] files > archive" X#define OPTSTRING "abcsvp:d:" X Xlgl Verbose = false; /* provide append/extract feedback */ Xlgl Basename = false; /* extract into basenames */ Xlgl Count = false; /* count characters to check transfer */ Xlgl Silent = false; /* turn off all verbosity */ Xchar *Delim = "SHAR_EOF"; /* put after each file */ Xchar Filter[100] = CAT; /* used to extract archived files */ Xchar *Prefix = NULL; /* line prefix to avoid funny chars */ X Xint /* returns the index of the first operand file */ Xinitial (argc, argv) char **argv; X { X int errflg = 0; X extern int optind; X extern char *optarg; X int C; X while ((C = getopt (argc, argv, OPTSTRING)) != EOF) X switch (C) X { X case 'v': Verbose = true; break; X case 'c': Count = true; break; X case 'b': Basename = true; break; X case 'd': Delim = optarg; break; X case 's': /* silent running */ X Silent = true; X Verbose = false; X Count = false; X Prefix = NULL; X break; X case 'a': /* all the options */ X Verbose = true; X Count = true; X Basename = true; X /* fall through to set prefix */ X optarg = " X"; X case 'p': (void) sprintf (Filter, SED, Prefix = optarg); break; X default: errflg++; X } X if (errflg || optind == argc) X { X if (optind == argc) X fprintf (stderr, "shar: No input files\n"); X fprintf (stderr, "USAGE: shar %s\n", USAGE); X return (-1); X } X return (optind); X } X Xheader (argc, argv, optind) Xchar **argv; X { X int i; X lgl problems = false; X long clock; X char *ctime (); X char *getenv (); X char *NAME = getenv ("NAME"); X char *ORG = getenv ("ORGANIZATION"); X for (i = optind; i < argc; i++) X if (access (argv[i], 4)) /* check read permission */ X { X fprintf (stderr, "shar: Can't read '%s'\n", argv[i]); X problems++; X } X if (problems) return (problems); X /* I have given up on putting a cut line in the archive. X Too many people complained about having to remove it. X puts ("-----cut here-----cut here-----cut here-----cut here-----"); X */ X puts (EXTRACT); X puts ("# This is a shell archive, meaning:"); X printf ("# 1. Remove everything above the %s line.\n", EXTRACT); X puts ("# 2. Save the resulting text in a file."); X puts ("# 3. Execute the file with /bin/sh (not csh) to create the files:"); X for (i = optind; i < argc; i++) X printf ("#\t%s\n", argv[i]); X (void) time (&clock); X printf ("# This archive created: %s", ctime (&clock)); X if (NAME) X printf ("# By:\t%s (%s)\n", NAME, ORG ? ORG : ""); X printf ("export PATH; PATH=%s\n", PATH); X return (0); X } X Xfooter () X { X puts ("#\tEnd of shell archive"); X puts ("exit 0"); X } X Xarchive (input, output) Xchar *input, *output; X { X char buf[BUFSIZ]; X FILE *ioptr; X if (ioptr = fopen (input, "r")) X { X if (Count == true) X { X Ctrlcount = 0; /* no bad control characters so far */ X Lastchar = '\n'; /* simulate line start */ X } X printf ("%s << \\%s > '%s'\n", Filter, Delim, output); X if (Prefix) X { X while (fgets (buf, BUFSIZ, ioptr)) X { X if (Prefix) outline (Prefix); X outline (buf); X } X } X else copyout (ioptr); X /* thanks to H. Morrow Long (ittvax!long) for the next fix */ X if (Lastchar != '\n') /* incomplete last line */ X putchar ('\n'); /* Delim MUST begin new line! */ X puts (Delim); X if (Count == true && Lastchar != '\n') X printf ("%s: a missing newline was added to \"'%s'\"\n", ECHO, input); X if (Count == true && Ctrlcount) X printf ("%s: %d control character%s may be missing from \"'%s'\"\n", X ECHO, Ctrlcount, Ctrlcount > 1 ? "s" : "", input); X (void) fclose (ioptr); X return (0); X } X else X { X fprintf (stderr, "shar: Can't open '%s'\n", input); X return (1); X } X } X X/* X Copyout copies its ioptr almost as fast as possible X except that it has to keep track of the last character X printed. If the last character is not a newline, then X shar has to add one so that the end of file delimiter X is recognized by the shell. This checking costs about X a 10% difference in user time. Otherwise, it is about X as fast as cat. It also might count control characters. X*/ X#define badctrl(c) (iscntrl (c) && !isspace (c)) Xcopyout (ioptr) Xregister FILE *ioptr; X { X register int C; X register int L; X register count; X count = Count; X while ((C = getc (ioptr)) != EOF) X { X if (count == true && badctrl (C)) Ctrlcount++; X L = putchar (C); X } X Lastchar = L; X } X Xoutline (s) Xregister char *s; X { X if (*s) X { X while (*s) X { X if (Count == true && badctrl (*s)) Ctrlcount++; X putchar (*s++); X } X Lastchar = *(s-1); X } X } X X#define FSIZE statbuf.st_size Xshar (file, type, pos) Xchar *file; /* file or directory to be processed */ Xint type; /* either 'f' for file or 'd' for directory */ Xint pos; /* 0 going in to a file or dir, 1 going out */ X { X struct stat statbuf; X char *basefile = file; X if (!strcmp (file, ".")) return; X if (stat (file, &statbuf)) FSIZE = 0; X if (Basename == true) X { X while (*basefile) basefile++; /* go to end of name */ X while (basefile > file && *(basefile-1) != '/') basefile--; X } X if (pos == 0) /* before the file starts */ X { X if (type == 'd') X { X printf ("if %s ! -d '%s'\n", TEST, basefile); X printf ("then\n"); X if (Verbose == true) X printf (" %s: creating directory \"'%s'\"\n", ECHO, basefile); X printf (" %s '%s'\n", MKDIR, basefile); X printf ("fi\n"); X if (Verbose == true) X printf ("%s: entering directory \"'%s'\"\n", ECHO, basefile); X printf ("%s '%s'\n", CHDIR, basefile); X } X else /* type == 'f' */ X { X if (Verbose == true) X printf ("%s: extracting \"'%s'\" '(%d character%s)'\n", X ECHO, basefile, FSIZE, FSIZE > 1 ? "s" : ""); X if (Silent == false) /* this solution by G|ran Uddeborg */ X { X printf ("if %s -f '%s'\n", TEST, basefile); X puts ("then"); X printf (" %s: will not over-write existing file \"'%s'\"\n", X ECHO, basefile); X puts ("else"); X } X if (archive (file, basefile)) exit (-1); X } X } X else /* pos == 1, after the file is archived */ X { X if (type == 'd') X { X if (Verbose == true) X printf ("%s: done with directory \"'%s'\"\n", ECHO, basefile); X printf ("%s ..\n", CHDIR); X } X else /* type == 'f' (plain file) */ X { X if (Count == true) X { X printf ("if %s %d -ne \"`%s '%s'`\"\n", X TEST, FSIZE, WC_C, basefile); X puts ("then"); X printf (" %s: error transmitting \"'%s'\" ", ECHO, basefile); X printf ("'(should have been %d character%s)'\n", X FSIZE, FSIZE > 1 ? "s" : ""); X puts ("fi"); X } X if (access (file, 1) == 0) /* executable -> chmod +x */ X printf ("%s '%s'\n", CHMOD, basefile); X if (Silent == false) X { X puts ("fi # end of overwriting check"); X } X } X } X } SHAR_EOF fi if test -f 'traverse.3' then echo shar: "will not over-write existing file 'traverse.3'" else sed 's/^X//' << \SHAR_EOF > 'traverse.3' X.TH TRAVERSE 3WI "December 16, 1984" X.SH NAME Xtraverse \- recursively traverse a directory X.SH SYNOPSIS X.nf Xtraverse (path, func) Xchar *path; Xint (*func) (); X Xfunc (path, filetype, position) Xchar *path; X.fi X.SH DESCRIPTION Xtraverse Xapplies its argument function func to its argument file pathname path. XIf path is a directory, Xthen traverse applies func to all its entries. XThis traversal is in depth first order Xso that files are processed in the order Xthat they are stored in the directory. X.PP XThe argument func should take three parameters: Xa file name, Xa file type, Xand a position. XThe call looks like this for directories: X.ce X(*func) (path, 'd', position); Xand like this for other files: X.ce X(*func) (path, 'f', position); XThe position Xis 0 when path is first encountered Xand 1 when traverse is done. XThis is used to allow processing before and after Xa directory is processed. X.SH EXAMPLE X.nf Xlist (name, type, pos) Xchar *name; X { X if (type == 'd') X printf ("%s %s\en", pos ? "Leaving" : "Entering", name); X else /* type == 'f' */ X printf (" %s\en", name); X } X.fi X.SH AUTHOR XGary Perlman X.SH BUGS XThere are no diagnostics when directories cannot be searched. SHAR_EOF fi if test -f 'traverse.c' then echo shar: "will not over-write existing file 'traverse.c'" else sed 's/^X//' << \SHAR_EOF > 'traverse.c' X/*LINTLIBRARY*/ X#include <stdio.h> X#include <sys/types.h> X#include <sys/dir.h> X X#ifdef MAXNAMLEN X X#define namedir(entry) (entry->d_name) X#define MAXNAME 256 X X#else X X#define DIR FILE X#define MAXNAME (DIRSIZ+2) X#define opendir(path) fopen (path, "r") X#define closedir(dirp) fclose (dirp) Xstruct direct * Xreaddir (dirp) XDIR *dirp; X { X static struct direct entry; X if (dirp == NULL) return (NULL); X for (;;) X { X if (fread (&entry, sizeof (struct direct), 1, dirp) == 0) return (NULL); X if (entry.d_ino) return (&entry); X } X } Xchar *strncpy (); Xchar * Xnamedir (entry) Xstruct direct *entry; X { X static char name[MAXNAME]; X return (strncpy (name, entry->d_name, DIRSIZ)); X } X X#endif X X#include <sys/stat.h> X#define isdir(path) (stat(path, &buf) ? 0 : (buf.st_mode&S_IFMT)==S_IFDIR) X Xtraverse (path, func) Xchar *path; Xint (*func) (); X { X DIR *dirp; X struct direct *entry; X struct stat buf; X int filetype = isdir (path) ? 'd' : 'f'; X (*func) (path, filetype, 0); X if (filetype == 'd') X { X if (chdir (path) == 0) X { X if (dirp = opendir (".")) X { X while (entry = readdir (dirp)) X { X char name[MAXNAME]; X (void) strcpy (name, namedir (entry)); X if (strcmp(name, ".") && strcmp(name, "..")) X traverse (name, func); X } X (void) closedir(dirp); X } X (void) chdir (".."); X } X } X (*func) (path, filetype, 1); X } X X#ifdef STANDALONE X Xstatic Indent = 0; Xtryverse (file, type, pos) Xchar *file; X { X int in; X if (pos == 0) X { X for (in = 0; in < Indent; in++) putchar ('\t'); X if (type == 'd') X { X printf ("%s/\n", file); X Indent++; X } X else puts (file); X } X else if (type == 'd') Indent--; X } X Xmain (argc, argv) char **argv; X { X int tryverse (); X char *root = argc > 1 ? argv[1] : "."; X traverse (root, tryverse); X } X#endif SHAR_EOF fi exit 0 # End of shell archive