ahh@j.cc.purdue.edu (Brent L. Woods) (01/05/88)
Program Name: twm - a tiny window manager. Submitted By: Rico Mariani <rico%oscvax.uucp@relay.cs.net> Summary: A managing program to convert program windows into gadgets. Poster Boy: Brent Woods (ahh@j.cc.purdue.edu) Tested, uuencoded. NOTES: Brent Woods, Co-Moderator, comp.{sources,binaries}.amiga USENET: ...!j.cc.purdue.edu!ahh ARPANET: ahh@j.cc.purdue.edu BITNET: PODUM@PURCCVM PHONE: +1 (317) 743-8421 USNAIL: 320 Brown St., #406 / West Lafayette, IN 47906 ================================================================ # This is a shell archive. # Remove everything above and including the cut line. # Then run the rest of the file through sh. #----cut here-----cut here-----cut here-----cut here----# #!/bin/sh # shar: Shell Archiver # Run the following text with /bin/sh to create: # PopColours.uu # TWM.uu # Test1.uu # XE.uu # PopCol.doc # XE.doc # TWM.article # This archive created: Mon Jan 4 18:18:48 1988 # By: Brent L. Woods (Co-Moderators Unlimited.) cat << \SHAR_EOF > PopColours.uu begin 644 PopColours M #\P # ( 3W0 !< $ /I $]T[Z#=Q. M50 0J=(>@!.3KH2HE!/*4"$V&8"87!"ITAZ $Q.NA*.4$\I0(3<9@)A7$ZZ M#.9(>@!'3KH+V%A/2D!F"$ZZ )Q*0&<*3KH!G$I 9P)@X&$V3EU.=6EN='5I M=&EO;BYL:6)R87)Y &=R87!H:6-S+FQI8G)A<GD 4&]P0V]L;W5R<R Q+C( M3E4 $ZZ#0A*K(3P9PHO+(3P3KH2\EA/2JR$[&<*+RR$[$ZZ$N)83TJLA-AG M"B\LA-A.NA!\6$]*K(3<9PHO+(3<3KH0;%A/0F=.N@Z\5$].74YU3E4 "\* M0>R#,"E(@YY"K(,P2&R#C$ZZ$L183RE A/ D0$J 9@)AA$AZ *9(>/__+PI. MNA*T3^\ #"!J %9P ! H ]R >&A+P%.NA',6$\O*@!63KH16EA/*4"$Z&<, M+RR$Z$ZZ$:)83V#D,"H !-!\ 18@:@ NL&@ #&\.(FH +C I R0? $68 0P M*@ $.4"#7# J ;0? !((&H +K!H YO#B)J "XP*0 .D'P 2& $,"H !CE M@UXO"DZZ$?)83T*LA/!P 21?3EU.=5!O<$-O;&]U<G,@,2XR(" @8GD@06-M M92!(975R:7-T:6,@07!P;&EC871I;VYS(2 H04A!(2D 3E7_]$CG##!";?_Z M0FW_^#M\ '_]CM\ '_] BL >#/4ZZ"#I";(34.7P 8362&R#7$ZZ$9Y8 M3RE A.PF0$J 9@1.NOY>2'H!5DAX__\O"TZZ$8Q/[P ,*6L ,H3D3KH#8$ZZ M!3A.N@1T2FW_]F< /Y*;?_T9P ]DIM__IF%B!K %9P ! H ]R >&A+P%. MNA!\6$\O*P!63KH0"EA/*4"$Z&< +H@;(3H*"@ %"!LA.@Z* 8(&R$Z"1H M !PO+(3H3KH0.%A/N+P @9BA(;?_\2&W_^$AM__HO"DZZ /1/[P 0.T#_ M_@QM 7__F8$0FW_]&!BN+P (9@:Z? #H9PBXO $!F&#\M__Y(;?_X M2&W_^B\*3KH!.D_O Y@-+B\ $ &8@2FW_^&<:,"W__%)M__RP? %8PH_ M+?_^3KH%#E1/8 RXO @!F!$)M__9@ /\X2FW_^F<$3KH!)& _OXY:P $ M@XPY:P &@XXY:P $@UPY:P &@UXO"TZZ$!Y83T*LA.PP+?_V3-\,,$Y=3G50 M;W!#;VQO=7)S(#$N,B @(&)Y($%C;64@2&5U<FES=&EC($%P<&QI8V%T:6]N M<R$@*$%(02$I $Y5 O!"!M @X* FN'P 68D(&T ##"\ %*;(349Q0@ M;(38(F@ /$J19@A"9TZZ!%!43V!$N'P F<&N'P V88(&T $#"\ $@;0 4 M0E _!$ZZ!"Q43V @N'P !&8:2FR$U&8(.7P 8348 1";(340F=.N@0*5$\P M!"@?3EU.=4Y5 ,;0 ! !1F'&$D(&T "")H "(($0 9P1.N@%((&T #$)0 M8 8@;0 00E!.74YU3E7_^C L@]Q(0$) 2$" _!$1.T#__C L@_)(0$) 2$" M_!$1.T#__# LA A(0$) 2$" _!$1.T#_^B LA/30O "PI0(3@< P+?_Z M+P!R #(M__PO 70 -"W__B\"=@ V+( "+P,O+(3@3KH.@D_O !0_+?_Z/RW_ M_#\M__YA!EQ/3EU.=4Y5 O"B1LA.1(> !+PI.N@XF4$](> 62'@ WB\* M3KH.!$_O Q(> "< P+0 (Y8!![(!$+S ( "\*3KH..D_O Q(> C2'@ MWB\*3KH-U$_O Q(> "< P+0 *Y8!![(!$+S ( "\*3KH."D_O Q(> P M2'@ WB\*3KH-I$_O Q(> "< P+0 ,Y8!![(!$+S ( "\*3KH-VD_O PD M7TY=3G5.5?_L3KH"[" LA/30O "PI0(3@< P+( "+P @;(3@+R@ !$ZZ M#4)03SM __XP+?_^X$C ? /.T#__# M__[H2,!\ \[0/_Z,"W__L!\ \[ M0/_X,"W__,#\$1%R #( *T'_]# M__K _!$1<@ R "M!__ P+?_XP/P1$7( M,@ K0?_L0J=P # L@^ O $*G+RW_]'( ,BR#VB\!0J<O+(3L2&R$'$ZZ#4A/ M[P @0J=P # L@_8O $*G+RW_\'( ,BR#\"\!0J<O+(3L2&R$2$ZZ#1Y/[P @ M0J=P # LA PO $*G+RW_['( ,BR$!B\!0J<O+(3L2&R$=$ZZ#/1/[P @/RW_ M^#\M__H_+?_\3KK^0%Q/3EU.=4Y5__PO"B1LA.1(> _2'@ YB\*3KH,2$_O M Q(> !+PI.N@Q,4$](> "< P+( "Y8!![(!$+S ( "\*3KH,<D_O P@ M;(38(F@ .+/LA/1F!C L@ )@ G <@ R "M!__Q(> _2'@ _B\*3KH+[D_O M Q(> $+PI.N@P24$\O+?_\+PI.N@OF4$](> !2'H *B\*3KH,&$_O Q( M> !+PI.N@OH4$](> !+PI.N@N\4$\D7TY=3G4@ $Y5 O"B1LA.1(> ! M+PI.N@N>4$](> 62'@ ,B\*3KH+?$_O Q(> !2'H ?B\*3KH+OD_O Q( M> C2'@ ,B\*3KH+6$_O Q(> !2'H 7"\*3KH+FD_O Q(> P2'@ ,B\* M3KH+-$_O Q(> !2'H .B\*3KH+=D_O Q(> _2'@ EB\*3KH+$$_O Q( M> )2'H &"\*3KH+4D_O PD7TY=3G52 $< 0@ @4F5G:7-T97( 3E7__F%4 M(&R$]")H % L:0 $< 0+@ %<@'A83M!__X,;0 " AF!E)L@ )@# QM , M"&8$4VR C L@ )(0$) 2$" [?_^2$ Y0( "3KK^-$ZZ_11.74YU3E7__"\* M)&R$Y"!LA-@I: \A/1(> _2'@ 'B\*3KH*:$_O Q(> !+PI.N@IL4$]( M> #+PI.N@IP4$]*;(349WH@;(3T2I!F3D)LA-1(> -2'H G"\*3KH*@$_O M Q"K?_\4JW__ RM &&H/_\9?)(> _2'@ 'B\*3KH*"$_O Q(> -2'H M="\*3KH*2D_O Q@)"!LA/0I4(3T,"R$UK!LA-1G$DAX U(>@!<+PI.N@HD M3^\ #$ILA-1F&$ILA-9G$DAX U(>@!,+PI.N@H&3^\ #$*G+PI.N@G(4$\Y M;(34A-8D7TY=3G4H;F\@,FYD('-C<FXI "!43U @(%-#4D5%3B 4T5#3TY$ M(%-#4D5%3@ @5$]0("!30U)%14X@ $Y5 !.74YU3E4 $Y=3G4P, P,0 P M,@ P,P P- P-0 P-@ P-P P. P.0 Q, Q,0 Q,@ Q,P Q- Q-0 Q-@ Q M-P Q. Q.0 R, R,0 R,@ R,P R- R-0 R-@ R-P R. R.0 S, S,0!0 M;W!#;VQO=7)S(#$N,@ 3E4 "\*0>R$'"1(0I(U? ] 0U? / 8U? "; M @U? * HU? ' PU? # XU? # !!![(4 )4@ $D*J !9"J@ :0JH M'D'L@]HE2 B-7P 0 F0JH *$'LA3PD2$*2-7P \@ $-7P "@ &-7P 'P ( M-7P %0 *0FH ##5\ , #C5\ $ $$'L@"0E2 20JH %D*J !I"J@ >0JH M(C5\ ( )D*J "A![(64)$@@2D/LA3QP"B#94<C__#5\ !X !#5\ #H !C5\ M &@ "#5\ L "C5\ ( #D*J !(U? $ "8Y? #@]HY?! @^!![(/P0^R# MVG $(-E1R/_\,-E![(0&0^R#VG $(-E1R/_\,-E![(1(0^R$'' *(-E1R/_\ M0>R$=$/LA!QP"B#94<C__#E\ !R$3CE\ "F$>D'LA10I2(1:0>R%*"E(A(9! M[(/P*4B$:D'LA 8I2(260>R%:"1(($I#[(4\< H@V5'(__Q![( T)4@ $C5\ M /( !#5\ " !C5\ , )D'LA6@I2(4\0>R#,"E(A6A![(0<*4B#,$'LA$@I M2(0<0>R$="E(A$A![(64*4B$="1?3EU.=4Y5 O"B1M @@"F<$2A)F"' M)%].74YU(&R#Q"%* !0@;(/$0F@ &$ZZ!B9*;(/,9Q!(>@!.3KH%_%A/*4"# MP&8$< !@S"\L@\0O+(/ 3KH&:E!/3KH&7"\L@[Q.N@:26$\O+(.\3KH&%%A/ M*4"#Q"!L@\1*: 89@1P 6 "< !@D%1I;GE7:6YD;W=-86YA9V5R $Y5 @ M;(/(,7P 0 82FR#S&=&3KH%IDAZ $1.N@6"6$\I0(/ 9PXO+(/(+RR#P$ZZ M!?103TZZ!>9*K(/ 9QHO+(.\3KH&%EA/+RR#O$ZZ!9A83["L@\AFYDY=3G54 M:6YY5VEN9&]W36%N86=E<@!.50 2FR#S&<&< %.74YU0J="ITZZ!!Y03RE M@[QG+$AY $ $AX !I.N@3R4$\I0(/(9Q9(>0 ! !(> :3KH$W%!/*4"# MQ&8&831P &"Z(&R#R"%L@[P #B!L@\0A;(.\ X@;(/($7P !0 ((&R#Q!%\ M 4 "' !.4"#S&"*3E4 $)L@\Q*K(.\9PHO+(.\3KH$*EA/2JR#R&<.2'@ M&B\L@\A.N@2N4$]*K(/$9PY(> :+RR#Q$ZZ!)I03TY=3G5A<$/L@])%[(/2 MM<EF#C(\ 'MK"'0 (L)1R?_\*4^$H"QX 0I3H2D2.> @ @N 0!*6<02_H M"$ZN_^)@!D*G\U].<T/Z "!.KOYH*4"$J&8,+CP X '3J[_E& $3KH &E!/ M3G5D;W,N;&EB<F%R>0!)^0 ?_Y.=4Y5 O"DAY $ # L@\[!_ &+P!. MN@/*4$\I0(2L9A1"ITAY $ $ZZ J!03RYLA*!.=2!LA*Q": $(&R$K#%\ M $ $")LA*PS? ! H@;(2@("R$H)"H 10@"E A+ @;(2P(+Q-04Y80J=. MN@..6$\D0$JJ *QG+B\M PO+0 (+PI.NOKL3^\ ##E\ &$M"!LA*P :( M 0@;(2L &B *8$1(:@!<3KH#_EA/2&H 7$ZZ X!83RE A+8@;(2V2J@ M)&<0(&R$MB)H "0O$4ZZ <A83R\LA+8O"DZZ^HA03RELA+:$NDZZ ;P@;(2L M((!.N@'((&R$K"% 9G%DAX ^U(>@ L3KH!I%!/(&R$K"% PO+(2Z/RR$ MODZZ\(1<3T)G3KH #%1/)%].74YU*@!.50 2JR$^&<&(&R$^$Z0/RT "$ZZ M A43TY=3G5.5?_\+P0P+0 (2, K0/_\2JR$K&<H> !@"C\$3KH T%1/4D2X M;(/.;? P+(/.P?P !B\ +RR$K$ZZ HA03TJLA/QG!B!LA/Q.D$JLA,!G"B\L MA,!.N@$X6$]*K(3$9PHO+(3$3KH!*%A/2JR$R&<*+RR$R$ZZ 1A83RQX 0( M+@ $ 2EG%"\-2_H "DZN_^(J7V &0J?S7TYS2JR$MF8P2JR$S&<H,"R$T$C M+P O+(3,3KH"#E!/,"R$OE) 2,#E@"\ +RR$NDZZ ?A03V .3KH!Y"\LA+9. MN@)@6$\@+?_\+FR$H$YU*!].74YU3E4 $CG#B X+0 (, 3!_ &)$#5[(2L M2D1M"KAL@\YL!$J29A Y? "A-)P_TS?!'!.74YU,"H !,!\@ !F""\23KH M"EA/0I)P &#@(B\ !"QLA*A.[O_<(B\ !"QLA*A.[O^"+&R$J$[N_\I,[P & M 0L;(2H3N[_XBQLA*A.[O_$2.<!!$SO(( #"QLA*1.KO^43-\@@$YU3OH M B)O 0L;(2D3N[^8DY5 !(YP@@2'C__TZZ -!83R@ L+S_____9@IP $S? M!!!.74YU2'D 0 !2'@ (DZZ +A03R1 2H!F#"\$3KH ^%A/< !@UB5M @ M"A5M \ "15\ 0 "$(J X51 /0J=.N@"B6$\E0 02JT "&<*+PI.N@!: M6$]@"DAJ !1.N@#06$\@"F"23E4 "\*)&T "$JJ IG""\*3KH \%A/%7P M_P ()7S_____ !1P ! J \O $ZZ 'Q83TAX "(O"DZZ %Q03R1?3EU.=2)O M 0L;(2D3N[^GB O 0L;(2D3N[^MD[Z ),[P # 0L;(2D3N[_.B)O 0L M;(2D3N[^>D[Z (B;P $+&R$I$[N_MI.^@ "+&R$I$[N_WQ.^@ "(F\ !" O M @L;(2D3N[_+B O 0L;(2D3N[^L$[Z (@;P $+&R$I$[N_HP@;P $((A8 MD$*H 0A2 (3G5.^@ "+&R$I")O 0@+P (3N[]V"QLA*1.[O]V3.\# $ M+&R$I$[N_I(B;P $+&R$I$[N_IA.^@ "(F\ !"QLA*1.[OZ&("\ !"QLA*1. M[O["3OH B!O 0L;(2D3N[^@"!O 0@+P (+&R$W$[N_;HB;P $3.\ P ( M+&R$W$[N_Q B;P $("\ ""QLA-Q.[OZJ(F\ !" O @L;(3<3N[^I")O 0@ M+P (+&R$W$[N_IX@;P $3.\ #P (+&R$W$[N_N B;P $(&\ "" O PL;(3< M+P=.KO_$+A].=2!O 0L;(383N[_N$CG""!,[P< Q,[P ? !@L;(383J[_ M9$S?!!!.=2!O 0L;(383N[_-"\*3.\' (+&R$V$ZN_NPD7TYU #[ M $ ! .4@ /R #Z@ /0 - &0 1 $0 - M !D - !$ , @$ 0 " # (! $ $@ M G6 )V0 "=P G? )X@ ">4 GH )ZP ">X GQ ) M] "?< GZ )_0 "@ H# *!@ "@D H, *#P "A( H5 M *& "AL H> *(0 "B0 HG **@ "BT HP *,P'\ M ,^ /^ !@/^#^'!@P'\'''A@P'\&#&Q@P#X&#&=CP/^''&'@ QQ MC^&#@Q!P0 " @( !B ( ! 0 P!@ !@/^ M!@ !@ !P !@ M !_X#______P!______P!____^?P!\!X^?/X#XXX>?/X#Y\Y.?/\'Y\YB M</\'XXYX?_P!\!Y\?/ ?____^ /___^> /_____ ?_____P!____^?__ M____________^?______________^?______________________^/______ M________^?______^ # L !@ @ ,+_ M 8 8 ( \ #_@ (, 8 0 M $ 8@ " @(" 0<$ ,<9_']_ #_CCF!@ ^#!GA\$!_#!F M!@ !_#CF!@ #_A_&!@ #_@ #/@ !_ '_ M______________G_______G_______W_______________#_____________ M__W\ ?_____P '____O@ #_____@ #_____P '_____\ > X" __!\<9^?__ M!\^8>#[^ \^9^?_^ \<9^?_\ > Y^?_\ ?_____\ ?_____^ ___________ M__________X P + 8 ( 'X_P ! H + ; (8! M @ ! !Y QH !0 P!0 0 18 2/__ $ ": ! M$ X 4Z "C8 $!0 0 "X (___ M( ! ( ,N $ M % #[ @ ! *@ #H 'N #) T M -$ #; YP A $( !& 2@ $X !2 5@ M %H !> 8@ &8 !J ;@ '( !V >@ 'X "" MA@ (H ". D@ )8 ": G@ *( "F J@ *X "R D M@ +H "^ #= /R #ZP $ /R end SHAR_EOF cat << \SHAR_EOF > TWM.uu begin 644 TWM M #\P # ( +O 6P $ /I "[T[Z!AI4 M5TT 5%=- '1O<&%Z+F9O;G0 $Y5__Q(YP\@> !Z 'P!0FW__$AX "%(>@*( M3KH*\%!/*4"!2F8*/SP!]4ZZ JI43TAZ H!.N@IL6$]*@&<*/SP!]DZZ I)4 M3T*G2'H">$ZZ"5903RE @4YF"C\\ ?=.N@)V5$]![( N*4B!4B\(3KH+&%A/ M*4"!5F8*/SP!^$ZZ E943TI$9@ ""B!L@58B: !6< 0*0 /<@'AH2QL@4YT M !0N ]V >6C@H,O 4ZZ"I183R!L@58O* !63KH*+%A/*4"!7F< (8@;(%> M/B@ %B!L@5X[: 8__X@;(%>)&@ '"\L@5Y.N@I*6$^^? ( 9B)*1F<:2FW_ M_&8$> %@#B!L@58O* N3KH*7%A/8 )Z 6 TOGP 0&8N2D9G!'H!8"8@:@!B M0F@ &$AX $O*@!B3KH#)E!/4VW__'H!+RH 8DZZ">Y83V _VA*1&8 .(O M+(%.3KH)D%A/*4"!6F< - @;(%:2F@ &&9B+RR!6DZZ ?Q83R1 2H!F%B!L M@5HQ? '[ !@O+(%:3KH)I%A/8 12;?_\2D9F,B\L@58O+(%23KH$%E!/+RR! M4DZZ SI83R\L@5).N@G,6$\I0(%69@H_/ '\3KH!"E1/8%X@;(%:#&@ 0 8 M9CY*1F8$< %@ G /P O+(%:3KH";%Q/2D!G#B!L@5I": 84VW__& *(&R! M6C%\ ?H &"\L@5I.N@D>6$]@%"!L@5HQ? 'Y !@O+(%:3KH)"%A/8 #_'$I% M9U9Z "\L@58O+(%23KH#>E!/2D9G"$'L@%X@"& &0>R +B (*4"!4DI&9@1\ M 6 "? !*1F8*+RR!4DZZ GI83R\L@5).N@D,6$\I0(%69@@_/ '\84I43V M_?1"9V% 5$],WP3P3EU.=6EN='5I=&EO;BYL:6)R87)Y %1I;GE7:6YD;W=- M86YA9V5R %1I;GE7:6YD;W=-86YA9V5R $Y5 O"B1L@6)*K(%69PHO+(%6 M3KH(<%A/2JR!2F<*+RR!2DZZ!II83R *9R @:@!B,7P!_ 8+RH 8DZZ""!8 M3R\J &).N@$^6$]@W$JL@4YG.$ZZ!Y(O+(%.3KH'MEA/*4"!6F<6(&R!6C%\ M ?P &"\L@5I.N@?F6$]@VB\L@4Y.N@;86$].N@? /RT "$ZZ!(943R1?3EU. M=4Y5 !(YPPPE\LD;(%B( IG""9*)&H 9F#T0J=(> !J3KH&_%!/)$!*@&8* M< !,WPPP3EU.=2 +9P8G2@!F)HH@2D/L@*IP&2#94<C__##9(&T ""\H !1. MN@006$](P"!M @H -BH !0@;0 (N*@ %&,6(D0:*?__NCP .F<*NCP +V<$ M4X1@X#\\ ! O!$AJ %!.N@.R3^\ "B *T+P L)4 $B *T+P \)4 M&DAJ %!.N@.P6$]R$9) Y4$U00! ( K0O % E0 !()6T " !B2JR!8F8$ M*4J!8B *8 #_1DY5__Y(YP P0FW__I?+)&R!8B *9RA*;?_^9B(@:@!B(FT M""QH Z]Z0 .9@@[? !__Y@!B9*)&H 9F#42FW__F= 2FT #&<00J<O+(%6 M+PI.N@;$3^\ #"\*+RR!5DZZ!M903R +9P@G:@!F &9@!BEJ &:!8DAX &HO M"DZZ!>Y03S M__Y,WPP 3EU.=4Y5 !(YPXP)&T "'@ >A1\%"9L@6(@"V<H M-T4 !#=& 8P!%)$P'P [!\ -F"'H4W'P %& $VGP FB9K &9@U$I$9@0Z M/ "NN'P !&P&-44 !& &-7P"? $, 3 ? #9@8U1@ &8 HP!M!\ !0U0 & M,"H !-!2(&R!5B)H "ZP:0 ,;Q(@;(%6(F@ +C I R0:@ $-( P*@ "T&H M!B!L@58B: NL&D #F\4(&R!5B)H "XP*0 .D&H !C5 (E;(%B !),WPQP M3EU.=4Y5 !(YP P)&T ""9M PTJP $-6L !@ "-6L " $-6L "@ &+PM. MN@5T6$],WPP 3EU.=4Y5 !.74YU3E4 $Y=3G5A<$/L@19%[($6M<EF#C(\ M !5K"'0 (L)1R?_\*4^!%BQX 0I3H$:2.> @ @N 0!*6<02_H "$ZN_^)@ M!D*G\U].<T/Z "!.KOYH*4"!'F8,+CP X '3J[_E& $3KH &E!/3G5D;W,N M;&EB<F%R>0!)^0 ?_Y.=4Y5 O"DAY $ # L@13!_ &+P!.N@/^4$\I M0($B9A1"ITAY $ $ZZ M103RYL@19.=2!L@2)": $(&R!(C%\ $ $")L M@2(S? ! H@;($6("R!%I"H 10@"E @28@;($F(+Q-04Y80J=.N@/"6$\D M0$JJ *QG+B\M PO+0 (+PI.NO[T3^\ ##E\ &!*B!L@2( :( 0@;($B M &B *8$1(:@!<3KH$(%A/2&H 7$ZZ [183RE @2P@;($L2J@ )&<0(&R! M+")H "0O$4ZZ ?Q83R\L@2PO"DZZ_I!03REL@2R!,$ZZ ? @;($B((!.N@'\ M(&R!(B% 9G%DAX ^U(>@ L3KH!V%!/(&R!(B% PO+($P/RR!-$ZZ^%I< M3T)G3KH 0%1/)%].74YU*@!,[P, 0@"#(O Q@ A#95\G__&<&4D%@ D(8 M4<G__$YU(&\ !" (2AAF_)' ( A3@$YU3E4 $JL@69G!B!L@69.D#\M A. MN@ (5$].74YU3E7__"\$,"T "$C *T#__$JL@2)G*'@ 8 H_!$ZZ -!43U)$ MN&R!%&WP,"R!%,'\ 8O "\L@2).N@*(4$]*K(%J9P8@;(%J3I!*K($V9PHO M+($V3KH!.%A/2JR!.F<*+RR!.DZZ 2A83TJL@3YG"B\L@3Y.N@$86$\L> $ M""X ! $I9Q0O#4OZ I.KO_B*E]@!D*G\U].<TJL@2QF,$JL@4)G*# L@49( MP"\ +RR!0DZZ @Y03S L@3120$C Y8 O "\L@3!.N@'X4$]@#DZZ >0O+($L M3KH"4EA/("W__"YL@19.=2@?3EU.=4Y5 !(YPX@."T "# $P?P !B1 U>R! M(DI$;0JX;($4; 1*DF80.7P H%(</],WP1P3EU.=3 J 3 ?( 9@@O$DZZ M I83T*2< !@X"(O 0L;($>3N[_W"(O 0L;($>3N[_@BQL@1Y.[O_*3.\ M!@ $+&R!'D[N_^(L;($>3N[_Q$CG 01,[R" PL;($:3J[_E$S?((!.=4[Z M (B;P $+&R!&D[N_F).50 2.<(($AX__].N@#06$\H +"\_____V8*< !, MWP003EU.=4AY $ 4AX ").N@"X4$\D0$J 9@PO!$ZZ /A83W 8-8E;0 ( M H5;0 / D5? $ A"*@ .%40 #T*G3KH HEA/)4 $$JM AG"B\*3KH M6EA/8 I(:@ 43KH T%A/( I@DDY5 O"B1M A*J@ *9P@O"DZZ .)83Q5\ M /\ ""5\_____P 4< 0*@ /+P!.N@!\6$](> B+PI.N@!<4$\D7TY=3G4B M;P $+&R!&D[N_IX@+P $+&R!&D[N_K9.^@ "3.\ P $+&R!&D[N_SHB;P $ M+&R!&D[N_GI.^@ "(F\ !"QL@1I.[O[:3OH BQL@1I.[O]\3OH B)O 0@ M+P (+&R!&D[N_RX@+P $+&R!&D[N_K!.^@ "(&\ !"QL@1I.[OZ,(&\ !""( M6)!"J $(4@ "$YU3OH BQL@1HB;P $("\ "$[N_=@L;($:3N[_=B)O 0L M;($:3N[^F$[Z (B;P $+&R!&D[N_H8@+P $+&R!&D[N_L(@;P $+&R!&D[N M_H @;P $+&R!2D[N_[@@;P $+&R!2D[N_Z O"DSO!P ""QL@4I.KO]2)%]. M=2!O 0L;(%*3N[_-$SO P !"QL@4I.[O\< /L 0 $ :0 M _( /J 10 @ * '0 "@ # $ 0 M > / !X !0 0 D . $ M ! > / 0 D . M ( ! # ( '__?_] (O__0"+ S__0 , M__W__0 (@ "@ $ 0 M ( 4 "4 $ ! C M % ^P # 0 #X #< I[ , 1@ '8 ", _( /K 0 _+< end SHAR_EOF cat << \SHAR_EOF > Test1.uu begin 644 Test1 M #\P # ( ,/ ,0 $ /I ##T[Z _Y0 M<F5S<R!A;GD@:V5Y $Y5_]9(YPP (&T "B\03KH(2EA/. !31& "4T1*1&\> M, 130"!M HB4!(Q !(@3H!LGP .F<&NGP +V;<, 1(P"!M K0D"E @!Q( M> A2'H!4DZZ"S103RE @&)F"C\\ ?5.N@%05$].N@*\0FW__D)M__Q";?_Z M0>R ,BE(@&8O"$ZZ"YA83RE @&IF"C\\ ?A.N@$@5$]*;?_^9@ ]B!L@&HB M: !6< 0*0 /<@'AH2\!3KH+&%A/(&R :B\H %9.N@JB6$\I0(!N9U0@;(!N M.V@ %O_X(&R ;CMH !C_]B\L@&Y.N@K66$\,;0( __AF"#M\ '__F D#&T M"/_X9@X,;0#H__9F!DIM__IF" QM! #_^&8&.WP ?_\8)A*;?_\9VA";?_\ M+RR :B\L@&9.N@"T4$]*;?_Z9@XO+( <3KH VEA/2D!F*DIM__IG"$'L@#(@ M"& &0>R B (*4" 9DIM__IF"#M\ '_^F $0FW_^B\L@&9.N@J>6$\I0(!J M9@@_/ 'X82943V _P9"9V$<5$],WP P3EU.=6EN='5I=&EO;BYL:6)R87)Y M $Y5 !.N@'N2JR :F<*+RR :DZZ"DA83TJL@&)G"B\L@&).N@@Z6$\_+0 ( M3KH&B%1/3EU.=4Y5 !(YP P)&T ""9M PTJP $-6L !@ "-6L " $-6L M"@ &+PM.N@G\6$],WPP 3EU.=4Y5 O"B1M @@"F<$2A)F"' )%].74YU M(&R >B%* !0@;(!Z0F@ &$ZZ".Y*;(""9Q!(>@!.3KH(Q%A/*4" =F8$< !@ MS"\L@'HO+(!V3KH),E!/3KH))"\L@').N@E:6$\O+(!R3KH(W%A/*4" >B!L M@'I*: 89@1P 6 "< !@D%1I;GE7:6YD;W=-86YA9V5R $Y5 @;(!^,7P M 0 82FR @F=&3KH(;DAZ $1.N@A*6$\I0(!V9PXO+(!^+RR =DZZ"+Q03TZZ M"*Y*K(!V9QHO+(!R3KH(WEA/+RR <DZZ"&!83["L@'YFYDY=3G54:6YY5VEN M9&]W36%N86=E<@!.50 2FR @F<&< %.74YU0J="ITZZ!N903RE @')G+$AY M $ $AX !I.N@>Z4$\I0(!^9Q9(>0 ! !(> :3KH'I%!/*4" >F8&831P M &"Z(&R ?B%L@'( #B!L@'HA;(!R X@;(!^$7P !0 ((&R >A%\ 4 "' ! M.4" @F"*3E4 $)L@()*K(!R9PHO+(!R3KH&\EA/2JR ?F<.2'@ &B\L@'Y. MN@=V4$]*K(!Z9PY(> :+RR >DZZ!V)03TY=3G5A<$/L@(9%[("&M<EF#C(\ M ]K"'0 (L)1R?_\*4^ ABQX 0I3H"*2.> @ @N 0!*6<02_H "$ZN_^)@ M!D*G\U].<T/Z "!.KOYH*4" CF8,+CP X '3J[_E& $3KH &E!/3G5D;W,N M;&EB<F%R>0!)^0 ?_Y.=4Y5 O"DAY $ # L@(3!_ &+P!.N@:24$\I M0("29A1"ITAY $ $ZZ!6A03RYL@(9.=2!L@))": $(&R DC%\ $ $")L M@)(S? ! H@;("&("R AI"H 10@"E @)8@;("6(+Q-04Y80J=.N@966$\D M0$JJ *QG+B\M PO+0 (+PI.N@"R3^\ ##E\ & FB!L@)( :( 0@;("2 M &B *8$1(:@!<3KH&QEA/2&H 7$ZZ!DA83RE @)P@;("<2J@ )&<0(&R MG")H "0O$4ZZ!)!83R\L@)PO"DZZ EA03REL@)R H$ZZ!(0@;("2((!.N@20 M(&R DB% 9G%DAX ^U(>@ L3KH$;%!/(&R DB% PO+("@/RR I$ZZ^G!< M3T)G3KH"U%1/)%].74YU*@!.50 2.<,,"1M ! @;0 (("@ K.6 * @1" H M !#E@"9 $!-(@$C T*T #%2 .4" ID*G,"R IDC +P!.N@4P4$\I0("H9@A, MWPPP3EU.=1 32( _ "!+4H@O""\L@*A.N@%$3^\ "DAZ 3H0$TB 2,#0K("H M+P!.N@%X4$\_+0 .+PHO+("H3KH!1$_O I";("D)FR J"1+$!-(@#H L'P M(&<8NGP "6<2NGP #&<,NGP #6<&NGP "F8$4HM@V P3 "!M>@P3 ")F+E*+ M($M2BQ 02( Z &<>($I2BA"%NGP (F80#!, (F8$4HM@!D(J__]@ F#68#@@ M2U*+$!!(@#H 9R:Z? @9R"Z? )9QJZ? ,9Q2Z? -9PZZ? *9P@@2E** M$(5@SB!*4HI"$$I%9@)3BU)L@*1@ /]:0A)"IS L@*120$C Y8 O $ZZ!!I0 M3RE @*!F"$)L@*1@ /[D>@ F;("H8!XP!4C Y8 @;("@(8L( "\+3KH!-EA/ M4D!(P-? 4D6Z;("D;=PP!4C Y8 @;("@0K ( & _J8@ $SO P !" (,B\ M#& "$-E7R?_\9P9206 "0AA1R?_\3G4P/'__8 0P+P ,(&\ !$H89OQ32")O M A30!#95\C__&<"0A @+P $3G4@;P $( @B;P ($-EF_$YU3E4 $CG#C D M;0 (0J=(>@".3KH#U%!/*4" NF8(3-\,<$Y=3G4@;0 ,(F@ )"\I 1.N@0L M6$\H &=22'H ;2!$+R@ -DZZ _Y03R9 2H!G-$AX ^TO"TZZ >903RP 9R0@ M!N6 *@ @125H @ I"5& )Q(> /M2'H .$ZZ <)03R5 * O!$ZZ \I83R\L M@+I.N@':6$]"K("Z8(!I8V]N+FQI8G)A<GD 5TE.1$]7 "H (&\ !" (2AAF M_)' ( A3@$YU3E4 $JL@+YG!B!L@+Y.D#\M A.N@ (5$].74YU3E7__"\$ M,"T "$C *T#__$JL@))G*'@ 8 H_!$ZZ -!43U)$N&R A&WP,"R A,'\ 8O M "\L@)).N@*(4$]*K(#"9P8@;(#"3I!*K("L9PHO+("L3KH!.%A/2JR L&<* M+RR L$ZZ 2A83TJL@+1G"B\L@+1.N@$86$\L> $""X ! $I9Q0O#4OZ I. MKO_B*E]@!D*G\U].<TJL@)QF,$JL@*AG*# L@*9(P"\ +RR J$ZZ @Y03S L M@*120$C Y8 O "\L@*!.N@'X4$]@#DZZ >0O+("<3KH"8%A/("W__"YL@(9. M=2@?3EU.=4Y5 !(YPX@."T "# $P?P !B1 U>R DDI$;0JX;("$; 1*DF80 M.7P H"X</],WP1P3EU.=3 J 3 ?( 9@@O$DZZ I83T*2< !@X"(O 0L M;(".3N[_W"(O 0L;(".3N[_@BQL@(Y.[O_*3.\ !@ $+&R CD[N_^(L;(". M3N[_Q$CG 01,[R" PL;("*3J[_E$S?((!.=4[Z (B;P $+&R BD[N_F). M50 2.<(($AX__].N@#06$\H +"\_____V8*< !,WP003EU.=4AY $ 4AX M ").N@"X4$\D0$J 9@PO!$ZZ /A83W 8-8E;0 ( H5;0 / D5? $ A" M*@ .%40 #T*G3KH HEA/)4 $$JM AG"B\*3KH 6EA/8 I(:@ 43KH T%A/ M( I@DDY5 O"B1M A*J@ *9P@O"DZZ /!83Q5\ /\ ""5\_____P 4< 0 M*@ /+P!.N@!\6$](> B+PI.N@!<4$\D7TY=3G4B;P $+&R BD[N_IX@+P $ M+&R BD[N_K9.^@ "3.\ P $+&R BD[N_SHB;P $+&R BD[N_GI.^@ "(F\ M!"QL@(I.[O[:3OH BQL@(I.[O]\3OH B)O 0@+P (+&R BD[N_RX@+P $ M+&R BD[N_K!.^@ "(&\ !"QL@(I.[OZ,(&\ !""(6)!"J $(4@ "$YU3OH M BQL@(HB;P $("\ "$[N_=@L;("*3N[_=DSO P !"QL@(I.[OZ2(F\ !"QL M@(I.[OZ83OH B)O 0L;("*3N[^AB O 0L;("*3N[^PD[Z (@;P $+&R MBD[N_H!,[P, 0L;("Z3N[_H"!O 0L;("Z3N[_IB!O 0L;("Z3N[_LB!O M 0L;(!B3N[_N"!O 0L;(!B3N[_- ^P ! 0 !'0 # M\@ ^H A 1@ > !X !0 0 @@ ! . M ! 1@ > %H #P 0 !@ ! . $ M ! J 4 #[ $ 2@ /R #ZP $ /R end SHAR_EOF cat << \SHAR_EOF > XE.uu begin 644 XE M #\P # ( 7& "4P $ /I %QD[Z#[9. M50 2.<,,$'LA&0D2$'L@]PF2$ZZ!QA"$D(LA61*$F8:2'H!7$ZZ"?I83T'L MA&0D2"\(3KH'IEA/8.(0$AH 2(!20$'L@R (, !G(E**+PH0!4B /P!. MN@1F7$\X $I ; )"$C $2,#5P& -(O"T)G+PI.N@$23^\ "C@ 2D!O "R M, 1(P-7 ,"R DC 8%Y(>@#J2&R%9$ZZ$,I03V!<8%I(>@#:2&R%9$ZZ$+A0 M3V!*/SP "C\\ !0P+( "2, O $ALA61.NA&26$](P$'LA630B"\ 3KH%F$_O M Q(>@"@2&R%9$ZZ$'Q03V .58!GGE& 9ZI=@&>H8+8_+( "/SP %"\32&R% M9$ZZ$4Y83TC 0>R%9-"(+P!.N@543^\ #$AZ %](;(5D3KH0.%!/8 H_!$ZZ M!')43T(2#!( +&8.4HHO"DZZ!$183R1 8!!*$F<,/SS__DZZ!$Y43T(22&R% M9$ZZ"+983V _JA.N@8>3-\,,$Y=3G4^ "4 ) Z( * !.5?_P2.<.,"1M M @F;0 .*TK_^#M\ K_\CM\____\"\*3KH#XEA/)$ 0$DB . ,$@ M9@@[ M? !__9@!$)M__9G$E**+PI.N@.\6$\D0! 22( X +A\ "AF1%**+PI.N@.D M6$\D0"\+0F<O"F&03^\ "CH 2D!L"C %3-\,<$Y=3G4P!4C T(I2@"\ 3KH# M=EA/)$ 0$DB . !@ %4, 120$'L@R (, ! !G,# $D'P 83M __ P+?_P M2,#E@$'L@_PFL @ 4HHO"DZZ S983R1 $!)(@#@ 8 !%# $4D!![(,@"# M @ 9A2X? D9PZX? E9PBX? C9@ VC $4D!![(,@"# @ 9D P!$C M8!@[? 0__)@(#M\ +_\F 8.VR O_R8!"0O "-G\%. 9]Q3@&?@4HHO M"DZZ KY83R1 $!)(@#@ #&T "O_R;@HP+?_RT'P +V (,"W_\M!\ %<[0/_T M0I,P!%) 0>R#(!(P #"/ '9U0_!$ZZ#(943S@ L&W_]&\&</A@ /[B,"W_ M\DC (A-.N@YB+P"X? Y;P@P!)!\ %=@!C $D'P ,$C )!_4@":"4HHO"DZZ M CI83R1 $!)(@#@ 8)I@%C $4D!![(,@"# @ 9@9P_V _HQ*;?_V9P)$ MD[A\ "MG!KA\ "UF!'P"8"*X? J9PRX? O9P:X? E9@1\ V ,N'P /68$ M? %@ GP O&T #&T4O&T #&8(#&T 0 ,9@:X? I9@H@"I"M__A@ /XN4HI( M;?_\/P8O"DZZ_:1/[P *.@!*0&P&, 5@ /X0, 1(P&!Z("W__-&38 EB M M__R1DV (P@$R(M__Q.N@UX)H!@?$JM__QF!G#\8 #]W" 3(BW__$ZZ#8(F M@&!B2JW__&8&</Q@ /W"(!,B+?_\3KH-D": 8$A*;?_P; 9P^F _:@P+?_P M2,#E@$'L@_PAK?_\" FK?_\8"20O "5GNEN 9XY3@&< _W95@&< _WI5 M@&>,D+P .9[@P!4C T(HO $ZZ .I83R1 $!)(@#@ .WS____P8 #^RF M_4A.5?_X$"T "4B 2,!@ "82&W__$)G+RT "DZZ_*Y/[P *.T#_^DI ;VP, MK0 +__&T*#*T D__QO##\\__E.N@"H5$]@2DAZ &Q(;(5D3KH,5%!/ M/SP "C\\ !0O+?_\2&R%9$ZZ#3183TC 0>R%9-"(+P!.N@$Z3^\ #$AZ $%( M;(5D3KH,'E!/.6W__H "8 @_+?_Z85!43V 2</=.74YUD+P !"9P#_8F#N M,"W_^F#J3F5W(&)A<V4Z( @*&1E8VEM86PI"@ 3E4 "\*)&T " P2 "!F M!%**8/8@"B1?3EU.=4Y5 O!#@M AP_Y!$2,#E@$'L@ 0O, @ 2&R%9$ZZ M"YQ03R@?3EU.=4)A9"!E>'!R97-S:6]N('-Y;G1A> H 36ES<VEN9R!C;VUM M80H 26YV86QI9"!O<&5R871O<@H 1&EV:7-I;VX@8GD@>F5R;PH 1F]O(&)A M<@H 3'9A;'5E(')E<75I<F5D"@!"87-E(&]U="!O9B!R86YG92 H,BTS-BD* M $EL;&5G86P@9&EG:70* $EL;&5G86P@8V]M;6%N9 H 3E4 $CG#C D;0 ( M*"T ##HM ! F2C %2,#0BBP 4X9*A&P*($M2BQ"\ "U$A"!&4X9"$#(M !)( MP2 $3KH++#\ 83943R!&4X80@#(M !)(P2 $3KH*["@ 9MA2AC %2,#0BKR M9 H@1B)+4HL2D&#J3-\,<$Y=3G5.50 #&T "@ (; PP+0 (T'P ,$Y=3G4P M+0 (T'P -V#R5$-A;&, 5')A;G-A8W1O<B!#86QC=6QA=&]R $Y5 !"ITAZ M $Q.N@\V4$\I0(/@9QY(;("$3KH/L%A/*4"#Y&<.+RR#Y$ZZ OI83TI 9@)A M,$'L@(0I2(/H2&R"\"\L@^1.N@^04$].N@="3EU.=6EN='5I=&EO;BYL:6)R M87)Y $Y5 !.N@-@2JR#Y&<:2FR M&8*+RR#Y$ZZ#R183R\L@^1.N@\F6$]. MN@>"2JR#X&<*+RR#X$ZZ#%I83T)G3KH*GE1/3EU.=4Y5__A(YPXP)&T "'@ M>@!"$D)M__A*1&8 ; @;(/D(F@ 5G $"D #W(!X:$O 4ZZ#JA83R!L@^0O M* !63KH.'%A/)D!*@&<:+"L %#MK !C_^AEM__N#IB\+3KH.;%A/8-*\O @ M !F6@PL V#IF8.2'H!7$ZZ <Q83W@!8#X0+(.F2(# ? !_L'P (&T62&R# MIDZZ :Y83S %4D45K(.F !@& PL B#IF802D5O#$AZ 1Y.N@&,6$]314(R M4 !@9KR\ " &8&3KK^Z&!8O+P $ 9D(,;?____IG.' ,"W_^B\ 2&R" M\$ZZ#AQ03RM __PP+?_ZZDC ? _L'P F8&.WP ?_X(&W__#MH "#_^F# M8 Z\O $!F!CM\ '_^$IM__AG "40FW_^"\L@^0O+(/H3KH J%!/2FR MM&8.2'H BDZZ!(I83TI 9PY![("$*4B#Z$)L@+1@#D'L@%0I2(/H.7P 8"T M+RR#Z$ZZ#:)83RE @^1F!$ZZ_C!*;("T9C8O+(/D3KH XEA/2D!F!DZZ_AA@ M(DAL@O O+(/D3KH-?%!/2'H -$ZZ (Y83TALA&1.N@"$6$]@ /Y.3-\,<$Y= M3G4* @@" !4<F%N<T-A;&-U;&%T;W( /@!.50 2.< ,"1M @F;0 ,(&R# MY#2H 0@;(/D-6@ !@ "(&R#Y#5H @ !"!L@^0U: * 9*;("T9@Y.N@#V M+RR#Y$ZZ#,983R\L@^1.N@S(6$],WPP 3EU.=4Y5 @;(/L(7S_____ "0@ M;(/L(6T " H(&R#[#%\ , '"\L@^Q.N@N.6$].74YU3E4 "\$> !A4DI M9S8@;(/L(6T " H(&R#["%\ A D0J<O+(/L0J=(>@ >3KH+U$_O !!* M0&<&3KH @F "> $P!"@?3EU.=6-O;G-O;&4N9&5V:6-E !.50 +P1X $*G M2'H -$ZZ"7903RE @_!G'B\L@_!.N@I06$\I0(/L9P1X 6 *+RR#\$ZZ"=Y8 M3S $*!].74YU8V]N+G=R:71E $Y5 !*K(/L9PPO+(/L3KH)$%A/801.74YU M3E4 "\L@^Q.N@H86$\O+(/P3KH)FEA/3EU.=4Y5 !.74YU3E4 $Y=3G5# M;&EC:R!C;&]S92!T;R!Q=6ET(" @(" @(" @(" @(" @(" " @(" @(" @ M(" @(" @(" @(" C("AO=71P=70@8F%S92D@( (" @(" @(" @(" @(" @ M(" @("4@*&)I;F%R>2D@(" @(" @ !);G!U="!B87-E('!R969I>#H@)" H M:&5X861E8VEM86PI(" %9A;&ED('9A<FEA8FQE(&YA;65S.B!A('1H<F]U M9V@@>B @( 3F5W(&]U='!U="!B87-E.B!";B H,B \/2!N(#P](#,V*2 @ M !$96QI;6ET(&5X<')E<W-I;VYS('=I=&@@8V]M;6$@(" @(" $1E9F%U M;'0@:6YP=70O;W5T<'5T.B!D96-I;6%L(" @(" @( 3W!E<F%T;W)S.B J M("\@)2 @("L@+2 @(#T@(" H("D@(" @ @(&9O<B!!3$P@0V]M;6]D;W)E M(&UI8W)O8V]M<'5T97)S(" "!4:&4@<')O9W)A;6UE<B=S('1E8VAN:6-A M;"!J;W5R;F%L( (" @(" @(" @(" @5')A;G-A8W1O<B @(" @(" @(" @ M(" @ !,-$(@,4LW(" @<&AO;F4Z("@T,38I(#<V-"TU,C<S %)I8VAM;VYD M($AI;&PL($]N=&%R:6\L($-A;F%D80 .#4@5V5S="!7:6QM;W0@4W0N(",Q M, *B!4<F%N<V%C=&]R($UA9V%Z:6YE("H 5&AI<R!0<F]G<F%M(&ES(&9R M;VT %1I;GD@5VEN9&]W $-O;6UA;F1S+BXN $%B;W5T+BXN !0<F]J96-T M $Y5 O"B1M @@"F<$2A)F"' )%].74YU(&R#%B%* !0@;(,60F@ &$ZZ M""A*;(,>9Q!(>@!.3KH'_EA/*4"#$F8$< !@S"\L@Q8O+(,23KH(@E!/3KH( M="\L@PY.N@BJ6$\O+(,.3KH(%EA/*4"#%B!L@Q9*: 89@1P 6 "< !@D%1I M;GE7:6YD;W=-86YA9V5R $Y5 @;(,:,7P 0 82FR#'F=&3KH'J$AZ $1. MN@>$6$\I0(,29PXO+(,:+RR#$DZZ" Q03TZZ!_Y*K(,29QHO+(,.3KH(+EA/ M+RR##DZZ!YI83["L@QIFYDY=3G54:6YY5VEN9&]W36%N86=E<@!.50 2FR# M'F<&< %.74YU0J="ITZZ!6)03RE @PYG+$AY $ $AX !I.N@;>4$\I0(,: M9Q9(>0 ! !(> :3KH&R%!/*4"#%F8&831P &"Z(&R#&B%L@PX #B!L@Q8A M;(,. X@;(,:$7P !0 ((&R#%A%\ 4 "' !.4"#'F"*3E4 $)L@QY*K(,. M9PHO+(,.3KH%;EA/2JR#&F<.2'@ &B\L@QI.N@:P4$]*K(,69PY(> :+RR# M%DZZ!IQ03TY=3G5P ! O 6P/ !@8PJP/ !Z8@20/ @3G5P ! O 6P/ ! M8PJP/ !:8@30/ @3G5A<$/L@Z9%[(.FM<EF#C(\ 6EK"'0 (L)1R?_\*4^# MJ"QX 0I3H.L2.> @ @N 0!*6<02_H "$ZN_^)@!D*G\U].<T/Z "!.KOYH M*4"#L&8,+CP X '3J[_E& $3KH &E!/3G5D;W,N;&EB<F%R>0!)^0 ?_Y. M=4Y5 O"DAY $ # L@Z+!_ &+P!.N@6&4$\I0(.T9A1"ITAY $ $ZZ M ZA03RYL@ZA.=2!L@[1": $(&R#M#%\ $ $")L@[0S? ! H@;(.H("R# MJ)"H 10@"E @[@@;(.X(+Q-04Y80J=.N@5@6$\D0$JJ *QG+B\M PO+0 ( M+PI.NOIX3^\ ##E\ &#O"!L@[0 :( 0@;(.T &B *8$1(:@!<3KH% MYEA/2&H 7$ZZ!5)83RE @[X@;(.^2J@ )&<0(&R#OB)H "0O$4ZZ M!83R\L M@[XO"DZZ^B103REL@[Z#PDZZ L0@;(.T((!.N@+0(&R#M"% 9G%DAX ^U( M>@ L3KH"K%!/(&R#M"% PO+(/"/RR#QDZZ[JI<3T)G3KH!%%1/)%].74YU M*@ P/'__8 0P+P ,(&\ !$H89OQ32")O A30!#95\C__&<"0A @+P $3G5( MYW - '$P"8!2$/&P$A#0D/4@TA P,%(0$) T(),WP .3G5(YT@ 0H1*@&H$ M1(!21$J!:@9$@0I$ %A/DI$9P)$@$S? !)*@$YU2.=( $*$2H!J!$2 4D1* M@6H"1(%A&B !8-@O 6$2( $B'TJ 3G4O 6$&(A]*@$YU2.<P $A!2D%F($A! M-@$T $) 2$" PR( 2$ R H+#, %"04A!3-\ #$YU2$$F 2( 0D%(04A 0D!T M#]" TX&V@6($DH-20%'*__),WP ,3G4@;P $( A*&&;\D< @"%. 3G5.50 M2JR#]&<&(&R#]$Z0/RT "$ZZ A43TY=3G5.5?_\+P0P+0 (2, K0/_\2JR# MM&<H> !@"C\$3KH T%1/4D2X;(.B;? P+(.BP?P !B\ +RR#M$ZZ U)03TJL M@_AG!B!L@_A.D$JL@\AG"B\L@\A.N@%$6$]*K(/,9PHO+(/,3KH!-%A/2JR# MT&<*+RR#T$ZZ 2183RQX 0(+@ $ 2EG%"\-2_H "DZN_^(J7V &0J?S7TYS M2JR#OF8P2JR#U&<H,"R#V$C +P O+(/43KH"V%!/,"R#QE) 2,#E@"\ +RR# MPDZZ L)03V .3KH"KB\L@[Y.N@- 6$\@+?_\+FR#J$YU*!].74YU3E4 $CG M#B X+0 (, 3!_ &)$#5[(.T2D1M"KAL@Z)L!$J29A Y? "@]IP_TS?!'!. M74YU,"H !,!\@ !F""\23KH "EA/0I)P &#@(B\ !"QL@[!.[O_<(B\ !"QL M@[!.[O^"+&R#L$[N_\I,[P & 0L;(.P3N[_XBQL@[!.[O_$2.<!!$SO(( M#"QL@ZQ.KO^43-\@@$YU(F\ !"QL@ZQ.[OX^3OH B)O 0L;(.L3N[^8DY5 M !(YP@@2'C__TZZ -!83R@ L+S_____9@IP $S?!!!.74YU2'D 0 !2'@ M(DZZ 6!03R1 2H!F#"\$3KH!MEA/< !@UB5M @ "A5M \ "15\ 0 "$(J M X51 /0J=.N@%@6$\E0 02JT "&<*+PI.N@!:6$]@"DAJ !1.N@&.6$\@ M"F"23E4 "\*)&T "$JJ IG""\*3KH!Q%A/%7P _P ()7S_____ !1P ! J M \O $ZZ 3I83TAX "(O"DZZ 1I03R1?3EU.=2)O 0L;(.L3N[^GB O 0L M;(.L3N[^MDY5 !(> P+RT "$ZZ !I03TY=3G5.50 +RT "$ZZ $Q83TY= M3G5.50 +PI*K0 (9@AP "1?3EU.=4AY $ 2\M Q.N@!@4$\D0$J 9@1P M &#@%7P !0 (-6T #@ 2)6T " .( I@RDY5 O"B1M @@"F8&)%].74YU M%7P _P ()7S_____ !0E?/____\ &' ,"H $B\ +PI.N@!64$]@TD[Z ), M[P # 0L;(.L3N[_.DCG P B;P ,+&R#K$ZN_CA,WP# 3G4B;P $+&R#K$[N M_GI.^@ "(F\ !"QL@ZQ.[O[:3OH BQL@ZQ.[O]\3OH B)O 0@+P (+&R# MK$[N_RX@+P $+&R#K$[N_K!.^@ "(&\ !"QL@ZQ.[OZ,(&\ !""(6)!"J $ M(4@ "$YU(&\ !$SO @$ ""(O ! L;(.L3N[^1$[Z (L;(.L(F\ !" O A. M[OW8+&R#K$[N_W9,[P, 0L;(.L3N[^DB)O 0L;(.L3N[^F$[Z (B;P $ M+&R#K$[N_H8@+P $+&R#K$[N_L).^@ "(&\ !"QL@ZQ.[OZ (&\ !"QL@^!. M[O_*(&\ !"QL@^!.[O^X(&\ !" O @L;(/@3N[_<"!O 0L;(/@3N[_-$SO M P !"QL@^!.[O[X #[ $ ! 0+ /R #Z@ .D M"@ !=P 7S & @ !A0 8F &+P !D 9: &:0 @ * M '0 "@ # $ 0 > / !X !0 M 0 $ & )@ <6 ! % M #P 0 @ P ! / << !0 \ H R ! " M H 4 M$ ( "@!& "VH "T @ * M #P +D ,@" H ,@ NV W ( "@ H M "]P #P @ * !X , @ 00" H % PH M !& ( "@ * #$X $L @ * ,= 4 # M @$ 8 1P R: ," 0 !@ _ #, %H 0(! & M #< ,Y@ 7P" "( )0 T, !D ( (@ < M #2P &D @ B !, -3 ;@" "( "@ UD M !S , "@ #7P '@ @ , -D@ M , & !: P 4@ (( @ , M -G@ % @$L %H T@ %4 " M' # P 6@ , %( "/@ E( 4 " 2P 4 #2 M ?0 " P VJ G0 M P %H # !2 K@ *6 H !D #( 0 M#;0 +, (" @(" @(" @,# P M,# @(" @(" @(" @(" @(" @(""00$! 0$! 0$! 0$! 0$! # P,# P,# P, M#$! 0$! 0$ )"0D)"0D! 0$! 0$! 0$! 0$! 0$! 0$! 4! 0$! 0 H*"@H* M"@(" @(" @(" @(" @(" @(" @("0$! 0" !0 ^P : 0 M &0 #8 [ 0 $4 !* 3P %0 !9 8P &@ ! MM <@ '< !\ @0 (N "9 G0 *& "D J@ +, M "W@ N@ , ( " !@ H . $@ !8 M : '@ "( !L G , #4 Z /P $0 !) M 3@ %, !8 70 &( !G ; '$ !V >P ( " A% DH +$ "_ /R #ZP $ /R end SHAR_EOF cat << \SHAR_EOF > PopCol.doc PopColours 1.3 - September 1987 PopColours lets you change the Red/Green/Blue components of any colour register, on any screen currently in the system. PopColours has two modes - a large working window and a tiny window for when the program is not in use. Switch between the two modes with the toggle switch gadget. PopColours also supports Transactor's TWM standard for tiny windows, so the tiny window rendering may not necessarily be used. The PopColours working window has three proportional colour gadgets on its instrument panel. These affect the colour of the indicated colour register. To modify a colour register other than the one currently selected, use the up and down arrows on the right of the control panel. When the colour register value gets to the highest colour register available in the screen, it next goes back to zero. You can hold the arrows down and they will auto-repeat. when modifying the colour of the WorkBench screen, a square is drawn next to the colour register indicator in the colour that's being changed (the current colour register). The "TOP SCREEN" message is both an indicator and a gadget. It indicates what screen you are changing the colours of, and lets you select either the topmost or the second screen. For example, if you started a task that opened a new screen, then slid the screen down partially, revealing the WorkBench screen, playing with PopColours would change the colours of the new, top screen, not the WorkBench screen. This way you can modify the colours of just about ANY program. With your new screen in place, you can click on the "TOP SCREEN" message; it will switch to "SECOND SCREEN". This choice allows you to change the colours of a non-slidable screen (like TextCraft): use left-Amiga 'N' to bring the WorkBench screen to the front, then slide it partially down to see the other screen, and set PopColours to "SECOND SCREEN" mode. You can then muck about with the colours of a program that doesn't give you the option to do so. The poor program doesn't know what's going on! If you click on "TOP SCREEN" when there isn't another screen, the message "(no 2nd screen)" will appear for an instant, then "TOP SCREEN" will re-appear. PopColours was written by Chris Zamara and Nick Sullivan. (c) 1986, 1987 Transactor Publishing Inc. and AHA! (Acme Heuristic Applications!). Freely distributable. SHAR_EOF cat << \SHAR_EOF > XE.doc Documentation for XE - A mini-expression evaluator from Transactor Magazine Code and docs freely distributable but copyright (c) 1987 Transactor Publishing Inc. XE is an expression evaluator - a handy little calculator to have around for the odd bit of number-crunching you may need. It comes up in a window that can be sized, dragged, re-ordered and closed. Features of XE: * allows nested parentheses * has 26 variables that can be used in expressions * prints results in any number base * accepts numerical constants in decimal, hex, binary or any other base * can evaluate multiple expressions with a single command line * assignments to variables can be made within expressions Limitations: * 32-bit integers only. * no checking for overflow. * the only operators supported are the four basic operations (+ - * /) plus the modulo operation (%) and assignment (=). How to use XE: XE doesn't work with a calculator keyboard, but allows you to enter expressions in their normal algebraic form, for example: >2*(3+4)-2*4 (The '>' is XE's prompt) 6 (XE's answer) Except for the assignment operation, which binds from right to left, expressions are evaluated from left to right, with multiplication, division and the modulo operation (*, / and %) taking precedence over addition and subtraction (+ and -). XE allows single-letter variables, which can be assigned a constant or an expression, and used in expressions. For example: >a=5 5 >2*a 10 >b=a+1 6 Notice that a result is printed when a variable assignment is made. This is because an assignment returns a value in an expression (as in C). So you could do this: >25+3*(b=4*3) 61 >b 12 The variable 'b' was assigned the value 3*4, and that value was used in the expression. This allows you to do multiple-variable assignments: >a=b=c=d=e=x=0 XE will evaluate more than one expression at a time if you separate the expressions by commas. This can be useful to print out the values of several variables or results, e.g.: >a,b,c,a+b XE can speak not only in decimal (base 10), but in any arbitrary base up to base 36. After you select a new base using the syntax Bn, XE will print all results in that base. For example, to work in hex: >B16 New base: 16 (decimal) >23*10 $E6 >B24,21*10 New base: 21 (decimal) 21: AK Notice that the notation for number bases higher than 16 extends hexadecimal notation by using letters of the alphabet higher than F. In this case, the 'A' in AK means '10 * 21^1', and the K means '20 * 21^0'. To enter your numbers in a different base, use the following prefixes: $ - hexadecimal (base 16) % - binary (base 2) # - current output base Example: add binary 100101110 to decimal 152 and print the result in hexadecimal. Solution: >B16 New base: 16 (decimal) >%100101110+152 $1C6 When you're not actually calculating with XE, you can put it away temporarily without actually closing it down by selecting "Tiny Window" from the menu. The main XE window will close, and a conveniently small and inconspicuous window will open in its place. Clicking anywhere in the tiny window (except the drag bar or depth gadgets, of course) will close the tiny window and bring the main XE window up instead. XE also supports Transactor's TWM (Tiny Window Manager) program, so if you have TWM running in your system when you select "Tiny Window" from the menu, XE will be allotted a gadget (named "TransCalc") in the TWM window, and will not bother to put up a tiny window of its own. SHAR_EOF cat << \SHAR_EOF > TWM.article TWM - A Paneless Approach to Tiny Window Management by Nick Sullivan | This text is a slightly adapted version of an article from Volume 8, Issue 4 | of Transactor Magazine. This article and the TWM source code are freely | distributable, but are copyright (c) 1987, Transactor Publishing Inc. Most programs on the Amiga can be divided into three fairly tidy classes. The commonest class consists of programs like DIR and LIST, that you invoke as commands, that do their work then exit. Another class consists of handlers, like the console handler ConMan, or PopToFront, from a few Transactors ago. These programs, or their offspring, live in the system usually until next reboot, but because they require no user interaction, they are invisible. Programs in the third class are the ones you interact with for an extended period of time, such as text editors, terminal emulators and paint programs, or that you might keep around for sporadic interaction, such as PopColours and Structure Browser. One benefit of the Amiga's multitasking environment is that you don't have to take such programs down in order to do something else. You can switch readily from your editor to your terminal, for instance, and keep your text in memory; you can switch from the terminal back to the editor and stay on-line. The extent to which you can take advantage of this capability depends, of course, on how much RAM you have in your system in relation to the size of the programs you're running. Even with a lot of expansion RAM, though, you are still limited by the amount of available "chip RAM" - the special area of memory that the Amiga's custom chips can use. On current Amigas, chip RAM is limited to 512K and, while that sounds like a lot, it can quickly get eaten up by programs that use lots of windows, colourful screens, gadgets, and other display elements that need chip RAM to survive. The other problem with running a lot of interactive programs simultaneously is that they tend to crowd your monitor screen. That makes for a lot of depth-arranging and resizing as you flit from one task to another - the infamous "electronic shell-game" - and can get pretty tiresome if you have to do a lot of it. A few programs even put up a full-size window and won't allow you to get at the Workbench screen behind. One approach that some programs have taken to relieve the on-screen congestion has been to supply a "tiny window mode", which can be invoked when the program is not in active use. This idea was arrived at independently quite a while ago in at least two programs I know of - Rick Stiles' shareware text editor Uedit, and Chris Zamara's PopColours. In Uedit particularly, use of the tiny window (invoked by clicking on the editor's title bar) achieves a significant savings in chip RAM. Using a normal 640 by 200 window on the Workbench screen, which has two bit-planes, Uedit needs 32K for its bit-map, plus a bit more for gadgets. Its tiny window, however, is a mere 100 by 20 pixels in size, and so consumes less than 600 bytes. Clearly, the chip RAM penalty for running concurrent applications would be considerably eased if the use of a tiny window mode was more widespread. A tiny window consists of no more than an inch or two of title bar with an equivalent thickness of empty window beneath. It is draggable, and may be depth arranged (since part of its purpose is to keep the application that owns it out of your hair), but is not resizable. Clicking in the empty part reactivates the parent program, prompting it to take the tiny window down, put its working window (or screen) back up, and carry on with business as usual. One reason for this article is to advocate the use of tiny windows in programs - including commercial programs - in which their use is appropriate (for one approach to implementing a tiny window mode see the listings for "TWM" and "Test1"). Suppose this idea *were* generally adopted, though, making it easier to run several such programs concurrently. Now the user has another problem: the new disorder of TWL (Tiny Window Litter), in which one's visible workspace is obscured by annoying swarms of tiny windows that continually seem to be getting in your way as you work, no matter how much you try to shuffle things around. So the other reason for this article is to present TWM, for 'Tiny Window Manager', a small and easily implemented piece of code that enables programs to support a tiny window mode while giving users a method of avoiding the anguish of TWL, and the consequent disruption of their lives. From the user's point of view, TWM is a kind of central storage compartment in which sleeping programs are housed, and from which they can be activated. The programs do not have to maintain any display of their own - not even a tiny window - so the user's screen is free from clutter. TWM's own working window contains gadgets bearing the names of its "client programs". When the user clicks on one of these gadgets, the corresponding client program is awoken and resumes operation. TWM also has its own tiny window mode; when that is in use, the amount of chip RAM jointly consumed for windows by the client programs and TWM itself is very small. When the system is hosting two or more applications that support TWM, there is a significant savings in both resources and convenience. Of course, even if TWM is not running, applications that support it will run normally - but instead of disappearing entirely when they go to sleep, they will put up a tiny window in the usual way. From the programmer's point of view, TWM comes in two parts - the program TWM itself, and a short C-language module called twmClient.c. The twmClient code can be compiled and linked with any application that supports a tiny window mode. Let us suppose that this client application has been running in its active mode but now, as a result of some action of the user's (perhaps a menu selection, perhaps clicking on a gadget) it has taken down its working display and is about to put up its tiny window and go to sleep. Before taking that step, the application now calls the function PostMe() in the twmClient module, passing as an argument the name by which it would like to be known, as in: PostMe("PopColours"); PostMe(), in its turn, searches the system for a public message port with the name "TinyWindowManager". If the search succeeds, PostMe() sends a message to that port with the name of the client, and waits at its own message port for a reply. Effectively, the client application has now let itself go to sleep and, because it has closed its working window, there are no visible signs of its existence. The message sent by the client is now picked up by the TWM program, which the user has earlier run, and which is now displaying one of its own windows (either the tiny window or the larger working window) on the user's screen. On receipt of the message TWM creates a gadget bearing the client application's name. The gadget will be displayed in TWM's working window (immediately, if that window is up). There may be other gadgets in the window also - one for each client application. This is the only indication that the clients still exist and, when TWM is in its tiny window mode, there is no sign of them at all. Chip RAM is conserved, and the user's window is uncluttered. When the user later clicks on the gadget, TWM replies to the message the client sent, deletes the gadget, then forgets about the client altogether. Back now to PostMe(), waiting asleep at its message port for a reply to its message. The reply has finally come, signifying that the user has selected the client's gadget in the TWM working window, and wants the client to put up its own working window again. PostMe() now returns to the client, with the value TRUE, and the client goes back to work. Several things might have gone wrong along the way. The most probable of these is that the user may not currently have TWM running. A remoter possibility is that TWM might have failed to allocate memory for the client's gadget, or could not open a window. In all these cases, PostMe() returns FALSE to the client, who then knows that it is necessary to put up a tiny window of its own after all. As you will see in the code, there are other details. In case the client application wishes to wake itself up (in response to a time-out or some other kind of message) while it is in TWM's care, an UnPostMe() function is also provided. Most clients won't need UnPostMe(); in that case, the programmer can remove UnPostMe() from twmClient.c to shrink the code even further. Another detail is that TWM remembers where the user last placed its windows, and restores them to the chosen position each time they are re-opened. Uedit and PopColours also have this feature, and it is recommended that other tiny window programs include it. The intent of TWM is to institute a standard of which all tiny window programs can take advantage. Therefore all the code is freely redistributable, and may be used in any program - PD, shareware, or commercial. SHAR_EOF # End of shell archive exit 0