rh2y+@andrew.cmu.edu (Russell E. Hoffman, II) (09/30/90)
Here is a little utility I was working on this weekend that sends a BREAK
signal on any serial port. (i.e. it holds the RS-232 to a logic zero for
250 milliseconds -- useful for some modems and wierd protocols.)
Below is a shell archive that contains the C source, the assembler 'glue'
code that makes the support for the SS_Break SetStt, and the uuencoded
exectuable.
P.S. Many thanks to Ric and Ryan at Microware for their help!
-------- cut here --------
: This is a shar archive. Extract with sh, not csh.
echo x - sbreak.c
sed -e 's/^X//' > sbreak.c << ''
X#include <stdio.h>
X#include <sg_codes.h>
X#include <sgstat.h>
X#include <errno.h>
X#include <strings.h>
X
X
Xmain(argc,argv)
Xint argc;
Xchar *argv[];
X{
X static char temp[50];
X FILE *outfile;
X int err;
X void help();
X if (argc<2)
X {
X fprintf(stderr,"%s: Must specify device! \n",argv[0]);
X exit(E_BPNAM);
X }
X if (argv[1][0]=='-' && argv[1][1] == '?')
X help();
X outfile=fopen(argv[1],"w");
X if (outfile==NULL)
X {
X fprintf(stderr, "%s: error opening %s\n",argv[0],argv[1]);
X exit(0);
X }
X if (!_ss_break(fileno(outfile)))
X {
X err=ferror(outfile);
X fclose(outfile);
X exit(err);
X }
X fclose(outfile);
X exit(0);
X}
X
Xvoid help()
X{
X printf("Syntax: sbreak [/device]\n");
X printf("Function: send break on SCF device\n");
X printf("Options: none\n");
X exit(0);
X}
echo x - ss_break.a
sed -e 's/^X//' > ss_break.a << ''
X********************
X* Stacked parameter defs
X* Arguments from 'C' beyond 2 are passed on the stack
X* and hence the definitions below.
X* usage: move.b arg3+params(a5),d0
X*
Xparams equ 8 offset from a5 to stacked parameters
Xarg3 set 0
Xarg4 set 4
Xarg5 set 8
Xarg6 set 12
Xarg7 set 16
X
X** _ss_break()
X**
X** 'C' bindings for SS_Break setstat
X**
X*
X* Function: _ss_break - send break on serial line via SS_Break setstat
X*
X*
X* int _ss_break( path )
X* int path; /* path number to the device as returned by open() */
X*
X* Returns: 0 if all went well
X* -1 on error, errno set to error number from driver
X*
X* Description:
X* Attempts to do a SetStt of SS_Break on the specified path. Returns -1
X* if an error occurs.
X* Caveats:
X* Garbage in.... Garbage (possibly crash) out
X*
X
X psect _ss_break,0,0,0,0,0
X
X_ss_break:
X link a5,#0 set stack frame (for symbolic debuggers, ect.. )
X move.l a0,-(sp)
X move.l d1,a0 the command pointer
X move.l #SS_Break,d1 SS_Break code
X os9 I$SetStt
X bcs.s _ss_breakerr
X clr.l d0 return all ok
X bra.s _ss_breakex
X
X_ss_breakerr
X move.l #-1,d0 set error flag for return
X move.l d1,errno(a6) set errno to value from driver
X_ss_breakex
X move.l (sp)+,a0
X unlk a5
X rts
X
X ends
X
X
echo x - sbreak.uu
sed -e 's/^X//' > sbreak.uu << ''
Xbegin 777 sbreak
XM2OP 0 ,1X 2 55 0' 0 '
XM $ & 4 ;H PB , ,%@ #$"<V)R96%K M1H 0+4: %#U#
XM@!@(*P % !1G#BU,@!IF""UY ( :2H5G'@@% !F%$'U6 !*:/_^9@I9
XMB$GH__QP 6 F0C58_R!-U^L #$*G+PMT 2 \ ; $Z[" !@=D/H 0M28N$
XM= B8"X)9PS3S4(I__\@B5*"8.Y3@&?@2H)F$$IH__YG"D(H__\D2%B(8 8@
XMC21(4H)2@DJ49Q@H5$H<9ORUS&,>#!P _&884HPF5-?-8!0,+0#\ )F""9M
XM 37S6 $U^L #"$++PA"*/__+P(@? $O1.NX@ 90 !'&$@3-\ YO-+RZ+
XMA"!\ !3$Z[B !P "!\ >/DZ[B @?/__C"+1SBU(@ 0M3X +4^ "" \
XM____!-"/L*Z "&4"3G6PKH $908M0( (3G5!^@!P81 O/ 0$@? '@Y.
XMNX@ /P%R9' "3D C#(?3G4@+H D*Z "$YU("Z ")"N@ 1.=4CGP/ P+P >
XM!$ @.1 #$ #V8,0?H :W( 3D (60,(GP !W,3KN8 &5D3-\/ U"/69=.
XM=4K[ % J*BHJ(%-T86-K($]V97)F;&]W("HJ*BH- "HJ*BH@0V%N)W0@:6YS
XM=&%L;"!T<F%P(&AA;F1L97(@*BHJ*@T ("HJ*BH@ &UA=&@ "(\
XM0"\(0?K_P&$ _T8B?/__@O33SD'Z_]9A*"!?4XEA(D'Z_\I3B6$:$WP #?__
XM('S__X+TT<YA /\83D !DY 82V&;\3G5.50 2.? @" \____K&$ _LQ1
XMCW "L*\ "&\B(&\ #"\00?H!!B((0>Z#+" (80 $#%B/(#P #780 <PB!O
XM P@: $#! +684(&\ #"!H 0,* _ %F!&$ (Q!^@#C(@@@;P ,("@
XM!&$ PPO0 $2J\ !&8F(&\ #"\H 0@;P 0+Q!!^@"[(@A![H,L( AA .D
XM4(]P &$ '%X@;P $,&@ #B (80 ! $J 9AP@;P $<"# : ,2, N@" O 1A
XM NV(!=A !PP("\ !&$ "ZAP &$ '")0CTSM 0#__$Y=3G5.50 2.> @" \
XM____O&$ _>)!^@!?( AA +R0?H <2 (80 "Z$'Z (L@"&$ MYP &$ &^!,
XM[0$ __Q.74YU)7,Z($UU<W0@<W!E8VEF>2!D979I8V4A( T =P E<SH@97)R
XM;W(@;W!E;FEN9R E<PT 4WEN=&%X.B @('-B<F5A:R!;+V1E=FEC95T- $9U
XM;F-T:6]N.B!S96YD(&)R96%K(&]N(%-#1B!D979I8V4- $]P=&EO;G,Z("!N
XM;VYE#0 3E4 "\(($$B/ !U.0 ".901"@& *(#S_____+4& #"!?3EU.
XM=4Y5 !(YX"@1>Z"]& 2< / :@ ,9@0@"F 8U?P <0>Z&=+'*8N8M?
XM ,B #' 3.T% /_X3EU.=4Y5 !(Y\ P)$$F;P 8( MF!&&P)D @"V=*-V\
XM @ .#"H *P !9P@,*@ K )F" !K , #& 6#!( <F<&#!( 9&8$< %@ G "
XM@6L #" K 0R*P 22,'0@2= @F@" +8 )P $SM# #_^$Y=3G5.50 2.?,
XM,"1 )D%Z & :#"L *P "9@1P!V "< 0J & (IZ V (00*P !2( ,0 #_
XM8F9* &< '(, K9^(, !X9\A@4B %", & ^( 4(P !(@ @"F$ %UXH
XM '+_LH!G$$AX )R " $80 8KEB/8%H@!0C $B " *80 7IF 0(#P "!
XM@(4B " *80 7)B@ 8#9/[?_H+7P #+@ QP_V H$!-(@ Q ')GE&(2#
XM9&?*8MP, !A9P#_C#$ =V>H8,H@!$SM###_\$Y=3G5.50 2.? $*G
XM(B\ "" O 1A /Z>6(].74YU3E4 $CGR+ D0"9!(@L@"F$ _O0H '+_LH!F
XM!)'(8 Y"IR(+( 1A /YN6(\@0" (3.T-$/_P3EU.=4Y5 !(Y\BX)$ F02AO
XM "0@#&$ "+0B"R *80#^L"@ ; 21R& .2%0B"R $80#^+EB/($ @"$SM'1#_
XM[$Y=3G5.50 2.? @$'N@Q M2(!00JZ <$AO !1(;P ((B\ "$'Z!20@"&$
XM )90CP@N 6#'6<$</]@!" N@'!,[0$ __Q.74YU3E4 $CGP( M5X!00JZ
XM<$AO !1"IR(O Q!^@3D( AA5E"/(%<(* % UG!'#_8 0@+H!P3.T! /_\
XM3EU.=4Y5 !(Y\" +5> 4$*N@'!(;P 40J<B+P ,0?H$Q" (8190CR!N@%!"
XM$" N@'!,[0$ __Q.74YU3E4 $CGS[@F0"1!3^__]$JO #QG""HO #Q\ & 6
XM*B\ 0'P!8 Y*!&< F00!$B 2,!.DQ@:# 0 )6;J&!IP "] @N P$ "UF
XM!' !8 )P "U @&A*KH!H9P(8&@P$ #!F!' P8 )P("U @&Q@&" '<@IA !+X
XM$@1(@01! #!(P="!+@ 8&A $2(!(P$'NBXD0, @ 2( ( #9M(,! N9@1P
XM 6 "< O0 $2J\ !&<T8!H@+P (<@IA !*P$@1(@01! #!(P="!+T "!@:
XM$ 1(@$C 0>Z+B1 P" !(@ @ -FS@P$ &QF $.&!I@ $(+P<@15B%(!!A
XM &<8$8O!R!%6(4@$&$ B1@."\'$ 1(@$C 0>Z+B1 P" !(@ ) )(P"(
XM($58A2 080 "/& 2+P<@15B%(A!![H!4( AA &:(@!@ "B2J\ !&8&< 8O
XM0 (2H9F!BHO $!\ 2Z%+P=(;P $(B\ $! $2(!(P&$ U!8CR( ( MA *H
XM6(\J%V /)*AV<0+P=(> !( 58A5: (@!@/B!%6(4@$$Z38 TB!%6(4H
XM4$JO 1G,B], 1@!DH49PY2C" O A3KP (2H!F[B\'( R0KP (+P B+P ,
XM( MA 'J4(]@ "4+P<B#" +80 ".%B/8 A! $2( $0 !%#$ ,V( _B+0
XM0# [ 9.^P "_SK^%O\Z_A;^%OX6_A;^%OX6_A;^%OX6_A;^%OX6_A;^%OX6
XM_A;^_/X6_A;^%OX6_A;^%OX6_A;^%OX6_WC^X/\Z_SK_.OX6_A;^%OX6_A;^
XM%OX6_N[^%OX6_A;_F/X6_R+^%OX6_OQ*AF8 _;)\ 2HO $!@ /VH3^\ #$SM
XM'?#_X$Y=3G5.50 2.?(H"@ 1>Z 5$J$;!X@!$2 * !L$D'Z! HB"$'N@%0@
XM"&$ "<9@$!3\ "TB!" *81!![H!4( A,[042__!.74YU3E4 $CGR+ H 4?N
XM@%Y@&" $<@IA !#@!@ ,!; <@H@!&$ $-HH ' )L(1EXB17<##0!!3 8 (4
XMXT'N@%ZQRV7V0A(@%TSM#1#_\$Y=3G5.50 2.>(L"@ 1>Z 5$?N@%YP!\ $
XM!@ ,!; YHQF\F "%.-![H!>L<ME]D(20>Z 5" (3.T-$/_P3EU.=4Y5 !(
XMY\ZP* J 4J%9P1P06 "<&%R"I"!*@!'[H!>< _ A"P $@!P";"&; 0@!6 "
XM<##2 !;!Z(QFY$7N@%1@ A3C0>Z 7K'+9?9"$D'N@%0@"$SM#7#_Z$Y=3G5.
XM50 2.?,,"9 )$$H+P @*B\ ))J$2JZ :&8:8 8@+H!L3I,@!5.%2H!N\F (
XM$!I(@$C 3I,@!%.$2H!F\$JN@&AG$& &("Z ;$Z3( 53A4J ;O),[0PP__!.
XM74YU3E4 $CGR# F0"1!*"\ '" *80 (+)B 2JZ :&8:8 8@+H!L3I,@!%.$
XM2H!N\F ($!I(@$C 3I-*$F;T2JZ :&<08 8@+H!L3I,@!%.$2H!N\DSM#!#_
XM]$Y=3G5.50 2.? "(N@% @%V$ C92KH!P3.T O_\3EU.=4Y5 !(YX"
XM(&Z 4%*N@% 0KP #4JZ <$SM 0#__$Y=3G5.50 2.?.("@ *@$D;P @2H5L
XM'GH 8!I\ 6 \>$5\_V V>$5@ GAE? !*A68J>@%@)@P$ &5GYF(0# 0 1V?B
XM8A8,! !%9]1@#@P$ &=GUF(&# 0 9F? $ 1(@$C +P O!B(%(!)0DF$,4(],
XM[01P__!.74YU2.<^P"@!($!,T #0>Z =$/N@;1V $J ; 02_ M2B\ (VQ<
XM)#Q__P 4D0T!"P\ 3;$Z[:/A30!+84P1G#!+\ "Y@ A+84<S__&$6$N\
XM)V$ /1"$4'N@;0@"$S? WQ.=4H#9Q9![H&T#"$ ,&8$L<EE]@P1 "YG E*)
XM3G5G "8- 1(0C0\ ! L/ $PY.NVCX2D!N1!+\ #!*1&>T$OP +D1 2D-F
XM#KA ;@(P!)A 8 02_ P4<C_^F "$MA7S/_\2D1M#E.)2@-F"!+\ #!1S/_Z
XM88I@ /]Z4T 2V%?(__Q*0&T*4XD2_ P4<C_^DI$9P#_7DI#9P9*$&< _U02
XM_ N4T1**/__9K!*0V>\4XE@ /\^2H!G)G8!)#Q__P - 0L/ $G).NVCX
XM#$#__&\ _P"P1&X _OI@ /]4> !@B,"\ #__TI :@@2_ M1$!@!!+\ "N
XM_ !D9P@&0 P$L!"0$A @/P "@9 # 2P$A !D ,!+ 3G4M,C$T-S0X,S8T
XM. !.50 2.? H"1!,"H #$C H ( B#( ( "9Q1P(L!J P,0 "9@
XM<" *80 #K@@J ( #6<F2'@ 4'O <B"#!J X@""!J !A.D%B/<O^R@&9&
XM".H !0 -8#HP*@ ,2, ( (9@8@"F$ 4@@4E*2$*\ R 2L*H "&0.""H
XM!P -9A1P#;"79@X@"F$ 21*@&<$</]@ B 73.T% /_X3EU.=4Y5 !(Y\@@
XM* D02(*( 3@B&$ _T(B"B $80#_.DSM!!#_^$Y=3G5.50 2.> H$7N@O1@
XM"B *81C5_ !Q![H9TL<IB[DSM!0#_^$Y=3G5.50 2.>(H"1 > @"F=B
XM,"H #$C " #V<0""H 0 -9PX@"F%6* !@!DIJ QG"C!J X@"&$ #9PP
XM*@ ,2, ( )9P@@*@ $80 'J' )4 ""2 )4 !$)J Q":@ 2< E0 8
XM)4 %" $8 )P_TSM!1#_]$Y=3G5.50 2.> ("1 ( IG#' BP&H # Q )G
XM!'#_8!8P*@ ,2, ( /9@8@"F$ C8@"F$*3.T$ /_\3EU.=4Y5 !(Y\R@
XM)$ P*@ ,2, ( (9AX@$K"J AG%D*G( IA &:(@ P:@ .( AA XX6(\@
XM$I"J 0H $J$9T(P*@ ,2, ( (9S8DJ@ $8"PO!"(2,&H #B ((&H &$Z0
XM6(\J '+_LH!F#@CJ 4 #22J 1P_V BF(7;DDJ$;M (Z@ P@*@ $)( R
XM*@ 22,'0@25 AP $SM!3+_[$Y=3G5.50 2.?,L"1 * $@"F< -AP \!J
XM QG #.,"H #$C " #V8*( IA %48 FC J Q(P @ AG(B *80#^
XMV@)J_O\ #" J 0R*@ 22,'0@25 @D@& &P@$K"J AD8BH$8#H@"F$
XM *B:@$J%; 8@!42 8 (@!3(J !)(P;"!;BP@$M"%)D"WZ@ $92"WZ@ (9!HD
XMBP)J_^\ #&!&("\ )$J 9[X,@ %GOG !L*\ )&8(("H ")"2F( DJ@ (
XM FK_[P ,+R\ )"($,&H #B (80 ,Y%B/<O^R@&8$</]@ G 3.T-,/_L3EU.
XM=4Y5 !(Y\ 0J=R " O 1A /[V6(],[0 "__Q.74YU3E4 $CGX* D0" *
XM9PAP \!J QF!'#_8$0P*@ ,2, ( /9@8@"F$ #Y(> !<@ P:@ .( AA
XM QP6(\B # J Q(P @ AG!B J 1@!" J @D$I2 TH(@ 4SM!0;_\$Y=
XM3G5.50 2.? H"1 ,#P P,!J QF+$_O_X!(5S!J XB"' 80 *&%B/#!<
XM 68(".H !P -8 8(Z@ & U/[P" ".H !P ,""H !P -9PY!^@N()4@ %$'Z
XM"[I@#$'Z"YHE2 40?H+Q"5( !A*:@ 29A8(*@ ' UG"#5\ @ $F &-7P!
XM 22JH !&8L""H @ -9P1P & *,&H $B (80 "@B( ( IA :""H P -
XM9P8(Z@ ! Q,[04"__1.74YU3E4 $CGP" D0# J Q(P @ AG!B *80#\
XMOC J Q(P @ EG#B J 1A 0B FK]_P , FK^\P ,)6\ ! $9Q0(Z@ #
XM U*:@ 29APU? ( !)@%' 0T(HE0 $".H @ --7P 0 2("H !#(J !)(
XMP="!)4 ""2 3.T$ /_\3EU.=2\(($"S @ !F4@@! ##B6<8L0EE,&(@
XM2BC__V8,8#1* &<P#$ _V,J,!BP66?P90X,0 #_8Q9P 2!?PXE.=0Q /]C
XM"'#_(%_#B4YU2BG__F;R< @7\.)3G7#B7 $!BP&5;(__IEW%) (%_#B4YU
XM+P@@0$H89PQ*&&<(2AAG!$H89O"1P" (4X @7TYU+P@@0,.)$-EG#!#99P@0
XMV6<$$-EF\"!?PXE.=2\(($##B4H89PQ*&&<(2AAG!$H89O 16?__9LY@W"\(
XM($##B1#9:OQ"$ (@ '\@7\.)3G5.50 2.> #U\ $&# $)N@P(]? "@QP]
XM? !@QX]? "@S@]? "@SI.74YU3E4 $CGP+ D0$?NAVQ@.DJ39@HFBB=J
XM 0 !& F("H !.>(T(JPDV8$)HI@#B 3(BL !.>)T(&PBF8,("H !-&K 0@
XM"F ,48M![H9TL<MCOG 3.T- O_P3EU.=4Y5 !(Y\@P(#P '_T)<"@/__
XM_@ H " $YXAA I^)$!P_["*9R@@+HM\YH@H "9*)T0 !":\AV6KS2 +80#_
XM8DJ 9@XB"B NBWQA IH< !@#" +4(!A )N("Z,$DSM#!+_\$Y=3G5.50
XM2.>,L"@ 2H1G/" $7H#FB%* *@!*KHP29A1![HP*+4B,$BU(AW0M? ("'
XM>"9NC!)@&+7NC!)F$" %80#_5"1 2H!F!' 8#(F2B13NJH !&+@NJH !&8$
XM)I)@$)NJ 0@*@ $YXC5P"5% 0DO(=EJ\TM2XP2( I0@$SM#3#_[$Y=3G5.
XM50 2.?/N"1 * $@"F8*( 1A /]B8 !1$J$9@@@"F$ 41@%$JNC!)G#B *
XM9PH@"F$ BA*@&8&< !@ $>( I1@"9 ( 1>@&P"7H#F@%* +@"^JP $9RJ^
XMJP $9"H@!^>(T(LH0"B\AV6KS2 K 20ARE 0G1P $( Q0@&$ .0@"F
XM -0H;HP28 (H5+?,8P:WU&4*8 2WU&3PN=1E["H4("L !.>(T(NPA696("L
XM!"!%T*@ !+"'94@@*P $($70J $L(=C*"!%( ?GB">0" @*P $($70J $
XMD(<B!^>))X 8!" 'YXC0BRB 8 0@12B0)T< !"U,C!(@"U" 8%0@*P $4X N
XM " *80 P"A ( 1A /Y:+ !*AF<L( ?GB"\ (@H@!F$ H98CR ,9R(@!E&
XM)D"YRV42("L !.>(T(NPC&(,8 0@#&<&( QA &:( 9,[1WP_^!.74YU3E4
XM $CG@# D0$JNC!)G'B *9QH@"F$ -Y*@&<0( IA3"9 ( MG!B +80 !8$SM
XM# #_^$Y=3G5.50 2.>( "@ 2H1L"BU\@ (P68!1*A&P"7H3FA R$ "
XM &T$+42,%DSM !#__$Y=3G5.50 2.>,N"1 ( I1@"9 * LH;HP28 (H5+?,
XM8P:WU&4*8 2WU&3PN=1E[" K 3GB-"+L)1F$"!4("@ !-&K 0@5":08 (F
XME" L 3GB-",L(MF#B K 31K $*),H#& "*(LM3(P2($0@+HP6L*@ !&($
XM($1@ I'(( A,[1TP_^A.74YU3E4 $CGP+ D0$'NAW2QRF(:0>Z+=+'*8Q(@
XM"E& )D ,DX=EJ\UF*G !8"A'[H=L8!A*DV<2M=-E#B 3(BL !.>)T(&PBF32
XM48M![H9TL<MCX' 3.T- O_P3EU.=4Y5 !(Y\X@* J 2 $(@5A )(+ !A
XM /RD)$!*@&<,+P9R " *80 !S%B/( I,[01P__!.74YU3E4 $CGS+@D0"9N
XMC!JUTV4>(!,B*P $YXG0@2(J 3GB=**L(%C""U+C!I@ ",M=-F !P("H
XM!+"K 1E9"ANC!)@ BA4M=1F^K7NC!)F!"U,C!(@*@ $L*L !&8&*))X & >
XM("L !.>(T(HH "B ("H !)"K 0@1"% 0@1""2(@H@*P $YXAA 9"0I-"
XMJP $)$1*A&<>( IA /]@8!9![H9T48NQRV,$1^Z';+?NC!IF /]63.T=,O_D
XM3EU.=4Y5 !(Y^#@($ D020M AG F$*3.T'!__H8 V$J"9TJQRF)(9T0P
XM"@@ !G!!#:4X(P" @ !F).**9 9A!!#:3G7BBF0&,-I@ B#:4<K__%)"
XM4X)D]'0 3G40VE'*__Q20E."9/1T $YUU<+1PC *" &<$$2)3@C ("
XM &8DXHID!F$$$2).=>**9 8Q(F "(2)1RO_\4D)3@F3T= !.=1$B4<K__%)"
XM4X)D]'0 3G5.50 2.?(,"1 )D$H+P <8!H0$K 39Q 0$TB $A)(@9) 2,$@
XM 6 .4HI2BR $4X1*@&;>< !,[0P0__1.74YU3E4 $CGSB D0"@!*B\ ('
XM$ 0L & "%,8@!5.%2H!F]DSM!'#_\$Y=3G5.50 2.?.("1 * $J+P @< 0
XM!"P 8 YP ! 2L(9F!" *8 Q2BB %4X5*@&;J< !,[01P__!.74YU2.<X "0
XM)@!(0R@!2$3 P<+#Q,3&Q$A T$%X ->$T$+7A$A 0D%(04)"2$+2@M*#2H!,
XMWP <3G4O G0 2H!J!$2 = -*@6H&1($* @ !82+B"F0"1(#B"F0"1($D'TJ
XM3G5AU,%!2H!.=6$&P4%*@$YU2.<X "0!9@:!_ 8&Y3@6=J* $B +2!90QG
XM!' 8%QP 9*"8%8F FOVQH1F$N**=O_BBE7+__Q$@^:HPH1@/' =O_C@FH&
XMM(%B"F ,M(%4R__R9P12@^**1(-@!.. XHJ2@F404H!1R__T8 [C@.**TH)E
XM\%'+__;2@DS? !Q*@$YU*E]3A65B$!AG^ P UG6 P "!G[ P EGY@P
XM "QGX%*"# (F<P# )V<J2&C__U.%93 0&&?&# #6<2# (&<,#
XM"6<&# +&;@0BC__V"H2%!3A64($ABP 6;V8.P@3TA7+P)3@F<0Y8(@,"@
XM(9 H "# 48)B\D[53E4 $CG8(#!04J!9T(, 0 !9RX, 0 &9SH, 0 "9Q ,
XM 0 %9PIRT \ %@ ,>3D C64 Q8@;0 ((()@ ,43D C64 P0@ 6
XM OP@;0 (3D C6 O!.50 2.=@@,%!2H%F""!M AR & ,# $ F:N)"T
XM"'("3D CF L9.50 2.=@@"! , %.0 "$90 "M$Y (]@ *T3E4 $CG
XM8( @0# != !.0 "$8 "E$Y5 !(YV" 3D CV H1.50 2.=@@"! <()T
XM $Y (5@ )X3E4 $CG8( @0" !(B\ %"0O !A@XDY5 !(YV" ($ P 2(O
XM !0D+P 83D @V CQ.50 2.?@@"! , $"00 D $$ W0 3D @R!?9 "
XM' P! -IF (6,"\ FL @X"0 '3D A&4 @)T '("3D CF0 ?0T 4Y
XM (\R F >I.50 2.=@@"! , %.0 "'8 !WDY5 !(YV" ($!P DY (=@
XM '*3E4 $CG8(!.0 ""8 !L$Y5 !(YV" ($$B+0 (3D B60@#$$ TV8
XM 99@ &:3E4 $CG8( @02(M A.0 "+9> @ 6 79.50 2.=@@"!!(BT
XM"$Y (IDYF 6!.50 2.=@@"!!(BT "$Y (QDSF 4A.50 2.=@@!(M
XM MG)@P! %G%@P! )G!G++8 !*'("3D C60.8/)R!4Y (UD!&#H= #4
XMER("3D B&7<( %@ $ 3E4 $CG8( B &8&<LM@ #P4H'"/ #^)"Z+>)2!
XM91 @+HMTTZZ+=).NBWA@ ""("Z,'K"!8@(@ 2!*3D *,5(90 O"U(BW0M
XM0(MXT:Z $&"^3E4 $CG8( B %*!PCP _B0!TJZ !&42LJZ "&0,("Z !"U!
XM@ 0B F R<L]@ !^3E4 $CG8(!2@, \ /XB -"N@!0@24Y ?#2&4 %XM
XM0( 4TZZ $" (D($@0'0 Y(ED!C#"8 (@PE')__Q205.!9/0@ & #).5?_\
XM+HI.0 H91PM0(M\( HD;?_\3EU.=4Y5__PNBB1!3D *63J</\M08 ,8.)D
XM#"U!@ QP_V $9?9P $SM 0;_]$Y=3G5.50 (@!A >80#O2F (3E4 $K\
XM(@!.0 &WJW>K0 \ %.=4YU+P5Z $J :@1Z"$2 80A$Q4S? "!.=4CG00 O
XM"-'\ "A"\ !@$"(\ "F$ ^SX& 0 P$0$,@ IDZ 8 # 1 "X(
XMGI]@!!$\ #!1S__Z3-\ @4YU+P%A 48809,WP "3G5(YQ_ >@ (@ ?9P)Z
XM"$CG) N &< -1"1TA'Z$\$1P/_;PX,1P0 90@@/'_P !R ,_\!-%(1T/Z
XM B+G1["Q< !B#F4&LK%P!&(444=@[E!'L+%P"&4(8O:RL7 ,8O!$1V\"44=G
XM$"0Q< F,7 $80 )'$1'XT<H $)$2$3H1,A\!_^8? /_R?Q-$$A$YT1#^@+Z
XML+% &(.90:RL4 $9 911&#N4$2PL4 (90AB]K*Q0 QD\$1$9Q(D,4 )C%
XM!$1$YD3>1&$ ",0L $A&Z$X$1@/_ H" #___", %& $XX'CD%'.__HL'U)'
XM) !(0N@*E#P "FT.$/P ,5)'U#P ,!#"8 ;4/ Z$,(F!DA#2,-(Q]:';B1M
XM'@R @ &46$"C__[ \ #1C#!%\ #'__T(04D=@=$(@8'!(QKR#;P(L U.&
XM8"#C@>.0) F >.!XY#C@>.0TH/1@B0 2$+H"@8" # 0P@* ___U'._]A"
XM$")(#( " 92X0(+'O !AG#E( # .6,<$+P ,&#J4@ , Y8PYP,1"
XM<# 2P$(14D=@ A" , =(P"H?1,5,WP/X3G4 #1CCN;-T%H!"-]
XMF<Q0;5<'=:.1U6O<A@K(!BADK&]"#AJL"_FYYEL1;9RGG8E&*13 <!O5)[27
XM&!(_\&[JA'D;9$+D^V<98!ZV?IP2>VYT(@CY5TW/BG E6[H(SXR7G"BNR&:W
XMG@RZ+ $6@%[_KJHO4OBL%TUA(S*E#_U$]*<]-?=B3XIV+]@Y2?8CU:BG,CR<
XMTK*7V(F\/_ !#0<-Y-^" $:3N+6U!6X62>7E,:"AR'--.$\#Z3_Y
XM]E"*_.]1\/M@4]WV=6+8LVA7,*'UN!,D:5J"=TCY,!TT7=2 5SBU&GAA)L+4
XM)6_\QF1Y1112,+-[9\P.'O&G).]K'R7!AJ;P3VYQ2E+?_&>:<<,R--YZU^1U
XM%4_=?W._/'AGJ3HI5/.Z>[I$WX,KC4A_#2H;Y 2/D'_P !/&<.]49&
XMU)<\G-*RE]B)O3S2 Z^>YU86/0:$FX:A*YP]/"7":$EV@SUQEYF!+>H2/:7]
XM?^%Y9)<]VWS?V=>]O3X1+@OH)M:6/D5YCN(PC#L^>M?RFKRO2CZPQO>@M>V.
XM/N3XM8CC:/$_&C;BZQQ#+3]08DW2\:G\/X1ZX4>N%'L_N9F9F9F9FC_P
XM 0"0 ! 60 $"/0 0,.( ! ^&H $$N
XMA( 06,2T !!E]>$ $'-S64 0@*@7R !"-TAVZ
XM $)M&I2B 0J(PG.5 !"UKS$'I $,,:_4F- 0T'#>3?@@ !#=C17
XMA=B@ "\!80 )/&$ 0HB'TYU+P%A E>80 _"(?3G5(YT 80 T&$ "59,
XMWP "3G5(YT 80 OF$ "7A,WP "3G5(YS 80 K&$ "<AA #$P4(B V$
XM +PB " "3-\ #$YU2.= &$ (IA"F$ *1,WP "3G5(YS\ > !A L(#$?_
XM_VX<;1(@/#_P !R $J$:E@(P ?8%)P '( /@!@2GPTG$=O*'8 8 QD!(8\
XM %21^*(XI%1SO_R9!)2@60$4H!@"@@# !F! (! /Y*@&8$2H%G%+"\ !
XM &0(XXGCD%-'8.AA KL3-\ _$YU2.<M '@ 80 *<'( = +BB.*14<K_^F$
XM"LQ,WP"T3G5(YRT >@!X &$ "FIT N.)XY!1RO_Z2H%J&E* #(& 9@0"
XM #^#( ! 903BB%)'80 *=$3%3-\ M$YV3G5*@F<$"$( 'TJ"9@1*@$YU
XM2H!F"" "(@-*@$YU2.</ 'H +@ L D)'2$="1DA&*CP #___P(7$A7H4"\ +
XMPGH/"X=G!$2!0( +AF<$1(- @NA.Z$\$1@/_!$<#_WH . >81F=P:@A$1,%"
XMPT//1GP #$0 -F,4* "A( !J!D2&0(% @& ( ,1 @90X$1 @+ ,F
XM EO"2()(P@Q$ !!E$ 1$ ! \ S8"2$9(0TA"2,(,1 (91111!P#%@+@@N";
XMX)Y@!N*"XI/BEE',__A@ GP > #2@]&":@PH/( !$AD"!0( D!DJ 9A8@
XM 68*( 9G% 1' $!@!@1' " B G0 81QA EX2H!F! C% )J! C% -$Q4S?
XM /!.=DYU2H!F#$J!9@A*@F8$?@!.=0R " &4*XHCBD>*24D=@WK"\ !
XM &0*XXKCD>.04T=@[DJ":B)2@6024H ,@ @ !E%.*(XI%21V ,#(*
XM9@0" 0#^ CS_^TYU2.<\ '0 2H!K %<)@ (@P ?0D-(0V< G0H &H$",,
XM'P* ___PC !3H2P1# _]B #,9V0(0P ?1$,,0P V9 "2 Q# !1B'G0
XM4T/BB.*1XI)1R__X-CP $2!0(#0O 0 !@,B0!(@!P()!#9!)$0%- XHGB
XMDE'(__I@"..*XY%1R/_Z< !$@D"!0(#0O 0 V/ "( %$J 9@I*@68&
XM3-\ /$YUXXKCD>.04T,( 49_)*@FHB4H%D$E* #( ( 913BB.*14D-@
XM# R"@ &8$ @$ _@B !36? /_Z4M(0TI#:@0(PP ?0D. @TS? #Q.=0Q#
XM #9D %^>@"6? 48A)$0P?%1$.0A684<@!,WP \3G5T()2#!<5T )*%D8((
XM 49@;CB>.04T/6? 03 H #___Z4M*@VH$",, #TA#0D. @TS? #Q.=4CG
XM/ !T $J :P#^J"8 "(, 'T)#2$-G $$* !*@&H$",, 'P* ___PC !3H
XM2P1# _]D<D1##$, -F0 -@,0P 49"CFN.:Y= !Z )9\ "!$0P?%4X4H!4:%
XMRH$D!<*$*@1&A,B P(6"A& D) $B ' !$, %.:YYJIX )9\ "!$0P?$4X0J
XM!$:$R('"A82$*#P_\ @(1*@VH$", 'TS? #Q.=3H#= ,0P V9'AX 1#
XM !1B3$1#!\30A @ !5G(E)%XHCBD60:4H%D$E* #( ( 90SBB.*14D5@
XM! (! /[:? /_Z4U(14)%2H-J! C% !\(@ 4@(5,WP \3G5$0P9# " 'Q-*$
XM9*Y2@&"J H" <@ @#_P !,WP \3G4@!$S? #Q.=7( (#R_\ 3-\
XM/$YU2.<_ "@ M80N "P"0D=(1V< ;Y"1DA&9P !MDJ$:@0(QP ?*CP #___
XMP(7$A7H4"\ +PLQ\?_#.?'_PG'P_\-Y&:0 !.F\ 8@,@ 0 !F#$J!9@@@
XM B(#8 !1@R" ! &8$2H-G\"\'>@!^ #P!S,,\!4A&2$,X <C#W(3;1TA!
XM2$,X <C#W(3;1S\&/ 5(1GH . #(P]R$VT=(0S@!R,/<A-M'2$$X <C"W(3;
XM1S\&/ 5(1GH 2$(X <C"W(3;1TA!2$(X <C"W(3;1S@ R,/<A-M'2$!(0S@
XMR,/<A-M'/P8\!4A&>@!(0S@ R,/<A-M'2$ X ,C"W(3;1TA". '(PMR$VT<_
XM!CP%2$9Z #@ R,+<A$A 2$(X ,C"W(1(0L#"2$#0ADS? (9V!"@\\ @
XM !EG#MY\ !!K/'8%*#SX YKCFN>:J*@3*@82%*@1&A<*%R(""A,"%2H)J
XM/%*!9"Q2@ R " &4NXHCBD=Y\ !!J)'H"(#Q_\ <@!*AVHZ",4 0C
XM !]@, R"@ &8$ @$ _@* ___TA'2D=J! C !]"1X"'>@!*@&8$",4
XM FH$",4 T3%3-\ _$YV3G5P "( 8.!(YS\ * "UA"X + )"1DA&9A8@/'_P
XM !Z TJ$:@ !? C !]@ %T0D=(1V< 69*A&H$",< 'SH\?_#,1<Y%GD;>
XM?#_P:<IO %*+P<(@@ 4>@OKJF8&2H-G #ZZ[OKJ.NY*CP ?_* '(A;F!
XM@(0H \B%N8.$A'H?"\ +PGP ?@ O""!#>#]*!&\ ,QV'Y*(D8)J>D2!0(!*
XM@&8HF#P (&0,V#P ( G'4X=@ "J"<93AB !8 +CB%O+__QR 0# !]@%N.)
XMXY!;R__Z>@ $ P @# 0 (&0."<?8 V_*>@ )Q=J%8!0)QM@#"<7:A0P$ "!E
XM!)R%8 13AIZ%2@1O5G8?DHB1@DJ :HY$@4" 2H!F(@0$ "!D"-@\ " )QV V
XM"<8@ 6 "XXA;R__\<@ $ P ?8!CCB>.06\O_^@0# " ,! @9 0)QV ""<;8
XM V _S9^ & 8( 8B!WX = !A '>"( %)Y\ OI3R!?*!_81PQ$?_!L /Z6
XM2$1*1&H&",0 'T)$P+P #___@(1@!' <@!Z $J 9@0(Q0 ":@0(Q0 #1,5,
XMWP#\3G9.=4J":Q1*@&H"8"2P@F8>LH-F&D3\ 1.=4J :P)@%K2 9@JV@68&
XM1/P !$YU8@9$_ (3G5$_ 3G5*@&<$"$ 'TJ 3G5(YPT > B &<@:@8(
XMQ ?1(%P 'XT8 ;CB>.04T<,@ 0 !E\F$ FY,WP"P3G5(YPT > B &?P
XM8-8O!"@ 82YH!A@\ )@!!@\ !*@&<4:@0(1 ?" 0 'V<("$ 'P $ )$
XMQ$S? !!.=DYU2.<M 'H > !A ',9TH,AP ! !F$B \?____TJ$9P)&@ \
XM )@,G0TE$=G(FL.XH#BD5-"9OA*@&<48 X,0O_@;PCC@>.04D)F^ $ (@
XM 4J$9P)$@$3$3-\ M$YV3G5(YP_ > !A %L2D=J#F$ ;0D "8!< !R &!6
XM($ B07PTG$=N!G0 )@)@0B0\_____PQ& "!O% 1& "#MJL""<@#!B,.)1H+
XM@F .[:K"@L&(PXEP $:"PH(O!W0 81AA %B) F 2 ((@DN'V$ 51,WP/P
XM3G5(YQP > F &<$>"!@!B8!9P M$A#2D-G!M@\ !!@ DA##$,! &4$>@]@
XM GH'"P-6S?_\V 7>1)Y\ #28/ @9 C8/ @P4+!00F F#P %&(@1 3IJ.FY
XMZ;IZ G%4X4H!<J!@(4J!$:%PH7(@H*$8"+HN>BXF#P ($0$>@ )Q5.%1H4H
XM!4:$RH# A"0!PH2S@H*%", %$J":B)2@6024H ,@ @ !E%.*(XI%21V ,
XM#(* 9@0" 0#^>@%,WP X3G5*@F<.P4(F )Y\ $!X(& _SY^ $S? #A.
XM=2X XX]G0$A'X$\$1P!_2,<"@(!___\(P 78!HN ../9R1(1^I/!$<#_TC'
XM H" #___", % B !]G$ A$ !]$_ (3G5$_ $3G5$_ 3G5(YS "(
XM%V=2!D< ?R0\?X _Q8\ =@&$CG, (@ 49S@&1P/_)#Q_\ ?_%CP !$I'
XM;@AP % 1@#+Y"91 @ @) " A'( 4 F *YV](1T)'@(> A$S? Q.
XM=0 "X "B "] D 0$! 0$! 0$!$1$!$1$! 0$! 0$! 0$! 0$!
XM 0$! 0$P(" @(" @(" @(" @(" @2$A(2$A(2$A(2" @(" @("!"0D)"0D("
XM @(" @(" @(" @(" @(" @(" B @(" @($1$1$1$1 0$! 0$! 0$! 0$! 0$
XM! 0$! 0$(" @( $ '= " !VP " 0N$
X3 ,,"@P:"X "&,P
X
Xend
exit