[mod.sources] v06i067: VT100TOOL for Sun's

sources-request@mirror.UUCP (07/21/86)

Submitted by: linus!ell (Ed Lafferty)
Mod.sources: Volume 6, Issue 67
Archive-name: vt100tool

[  I generally dislike posting anything other than source code.  In this
   case, however, I'm making an exception because (a) there's no other
   way to do it; and (b) there is apparently a lot of demand for this
   program.  So, I took the object and data files in the fontdir and
   libdir directories and uuencode'd them.  The decode.sh script in the
   toplevel directory will uudecode them and remove the uu.xxx files;
   it lists the files by name, so you can check if you're missing
   something.  This comment will appear at the beginning of each of the
   postings of this program.  --r$  ]


#!/bin/sh
# This is a shell archive.  Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
# Wrapped by rs@mirror.UUCP on Thu Jul 17 00:21:23 EDT 1986
# Contents:  libdir/uu.ttyvt100.o libdir/uu.vt100keys.o
#	src/ttyvt100.h src/vt100fonts.c vconfig.h vt100tool.1
 
echo x - libdir/uu.ttyvt100.o
sed 's/^XX//' > "libdir/uu.ttyvt100.o" <<'@//E*O*F libdir/uu.ttyvt100.o//'
XXbegin 644 ttyvt100.o
XXM   !!P  (\@   )0        !M@        5N    !!.5O_\0KD     (_D 
XXM "12   D$B/Y   D2@  )!9"KO_\("[__.6 ($#1_     !"D%*N__P,K@  
XXM (3__&WB0J[__" N__SE@"! T?P     <@$@@5"N__P,K@   (3__&W@<@$C
XXMP0    !R B/!     $ZY     $ZY     $AX  5.N0    !83W !3EY.=4Y6
XXM   ,K@    $ #&88(&X " P0  QF#BU\   DL  (<@0M00 ,+RX #"\N  @O
XXM.0    !A"$_O  Q.7DYU3E;_M$C7(, J;@ ,3KD     +"X $"!N  A*J$ L
XXM9@ 0<DJ&;P 0;!X=(#D  "0:#(     *8@ 01M! ,#L !D[[  ( %@U0!1@0
XXM.A Z$#H%& 2L M #O T,0KD  "0F0KD  "0N0KD  "0R0KD  "0J0KD  "0V
XXM0J[__%*N__P@+O_\Y8 @0-'\     $*0#*X    )__QMXA '2(!(P R     
XXM&V(  2+00# [  9.^P "#]@!%@$6 18!%@ \ 18 1 !. &@ X #@ .  R@#Z
XXM 0(!%@$6 18!%@$6 18!%@$6 18!%@$6 0I@  ^>80 4#F  #Y9.N0    !@
XXM  ^,+SD  "06(#D  "024X O &$ #Z!03V  #W(@.0  )!)2@"U __P@+O_\
XXML+D  "16;B;E@"! T?P     2I!G$B\Y   D%B\N__QA  ]F4$]@!E*N__Q@
XXMSB N__RPN0  )%9M  \F+SD  "06+SD  "1680 //E!/8  /$$JY   D7F<6
XXM+SD  "060J=A  \D4$]A !!T8  .\B\Y   D%D*G80 /#E!/8  .X&$ &I!@
XXM  [880 :;F  #M!P 2/    D&F  #L1P(+X ;0 .O" Y   D$K"Y   D5F\2
XXM(#D  "1Z9P  RG(!L(%G  "B(_D  "02     "/\           @>0     0
XXMAU*Y     " Y   D%N. ($#1_       4 " (#D  "06YX@B .N)T($&@   
XXM   @0" Y   D$N. T< @.0  )!;C@") T_P     ,!$"@   __\B.0  )$+A
XXM@="!,(!2N0  )!(@>0    !"$"\Y     $AY     $ZY     %!/8  -_$*Y
XXM   D$B\Y   D%B\Y   D$F$ #@Y03V$ #UY@ /]"$\<  "2F+SD  "162'D 
XXM "2F3KD     4$\@.0  )!;GB"( ZXG0@0:      "! (#D  "16XX#1P" Y
XXM   D%N. (D#3_      P$0*   #__R(Y   D0N&!T($P@&  #7H0!TB 2, ,
XXM@    #!G  "(#(     Q9TP,@    #)G1 R     06<,#(    !"9S1@  "P
XXM0KD     #+D    !   DGF80#+D    "     &9T< )@<@RY     @    !G
XXM\&!B< $CP      ,N0    $  "2>9A ,N0    (     9D)P F! #+D    "
XXM     &?P8#!P B/       RY     0  ))YF$ RY     @    !F$' "8 X,
XXMN0    (     9_!P 2/      $JY   DGF8,2'@ !4ZY     %A/0KD  "0:
XXM8  ,CA '2(!(P R     ,&<  (@,@    #%G3 R     ,F=$#(    !!9PP,
XXM@    $)G-&   +1"N0     ,N0    $  "2>9A ,N0    (     9G1P F!R
XXM#+D    "     &?P8&)P 2/       RY     0  ))YF$ RY     @    !F
XXM0G "8$ ,N0    (     9_!@,' "(\      #+D    !   DGF80#+D    "
XXM     &80< )@#@RY     @    !G\' !(\      #+D    !   DGF8,2'@ 
XXM!4ZY     %A/0KD  "0:8  +GA '2(!(P 2     ,PR     !6(  $[00# [
XXM  9.^P " !( '@ J #8 0@ ,80 /+& P+SD  "0680 3@& B+SD  "0680 4
XXM@& 6+SD  "0680 5@& *+SD  "0680 5S%A/0KD  "0:8  +,G PO@!M,' Y
XXMO@!N*A Y   D*4B 2,#0@"( Y8G0@1('2(%(P="!!(     P(\   "0F8  *
XXM_' [O@!F," Y   D-N6 ($#1_      @N0  )"92N0  )#8C^0  )"8  "0J
XXM0KD  "0F8  *QG _O@!G?"/Y   D)@  )"XC^0  )"H  "0R(#D  "0VY8 @
XXM0-'\     ""Y   D)E*Y   D-DJY   D*F8D2KD  "0F9QP,N0    $  "0V
XXM9A C^0  )"8  "0J0KD  "0F2KD  "0J9@AP 2/    D*DJY   D)F8(< $C
XXMP   )"8,N0    (  "0:9@ $A! '2(!(P R     >&( !$9!^@0P<A&P&%3)
XXM__QF  0VTD$P.Q &3OL  @(> "0 0@!@ 'X G "Z :H"I@"< L0#%@,P BH#
XXM2 0J \@#SB Y   D%I"Y   D*B\ +SD  "0280 )^%!/8  #ZB Y   D%M"Y
XXM   D*B\ +SD  "0280 )VE!/8  #S"\Y   D%B Y   D$M"Y   D*B\ 80 )
XXMO%!/8  #KB\Y   D%B Y   D$I"Y   D*B\ 80 )GE!/8  #D" Y   D*E. 
XXM+P @.0  )"93@"\ 80 05E!/8  #<B Y   D+F<6#(     !9U8,@     )G
XXM  "D8  #5"\Y   D%F$ #[983R\Y   D3B Y   D%E* +P!A  X^4$\O.0  
XXM)$X@.0  )!92@"\ 80 6JE!/2'@ !4ZY     %A/8  ##"\Y   D%B\Y   D
XXM$B\Y   D4F$ #N)/[P ,(#D  "064X O "\Y   D2F$ #>A03R Y   D%E. 
XXM+P O.0  )$IA !944$](>  %3KD     6$]@  *V+SD  "1.+SD  "1*80 -
XXML%!/+SD  "1.+SD  "1*80 6(%!/2'@ !4ZY     %A/8  "@B Y   D+F<4
XXM#(     !9QP,@     )G,F   F8O.0  )!9A  [(6$]@  )6+SD  "06+SD 
XXM "02+SD  "1280 .+$_O  Q@  (X+SD  "06+SD  "02+SD  "1280 .#D_O
XXM  PO.0  )!9A  Z 6$]@  (.< 8CP   )!I@  ("2KD  "0V9A C^0  )"X 
XXM    4KD  "0V0J[__" N__RPN0  )#9L  '8Y8 @0-'\     " 0#(     '
XXM8@  .-! ,#L !D[[  ( $  6 "P +  < "( +  H80 5IF 680 5QF 080 6
XXM F *80 5[& $80 5T%*N__Q@H$AX  =(>0  )+4O.0    !.N0    !/[P ,
XXM8  !:$JY   D+F86(#D  "02Y8 @0-'\     $*08  !2@RY     P  )"YF
XXM  $\0J[__" N__SE@"! T?P     0I!2KO_\#*X   "#__QN  $88-X,N0  
XXM !0  "0N9@ !"' !(\   "1>8   _ RY    %   )"YF  #N0KD  "1>8   
XXMY RY    !0  )"YF&DAX  1(>0  )+TO.0    !.N0    !/[P ,#+D    &
XXM   D+F8  + @.0  )!)2@"\ (#D  "064H O $AY   DPDAN_\!.N0    !/
XXM[P 02&[_P$ZY     %A/+P!(;O_ +SD     3KD     3^\ #&!B80 ''F!<
XXM2KD  "0N9AI(>  42'D  "3++SD     3KD     3^\ # RY     0  )"YF
XXM+DAX !1(>0  ). O.0    !.N0    !/[P ,8!)X<G%N;6QH9V9C2TI(1$-"
XXM03\,N0    (  "0:9@9"N0  )!I"N0  )"9"N0  )"I"N0  )"Y"N0  )#)@
XXM  6T#+D    &   D&F8  D@0!TB 2, ,@    &AG#@R     ;&<  1)@  (@
XXM(#D  "0N4X ,@     AB  (.T$ P.P &3OL  @ 2 @( '@"( )0 K@#, -@ 
XXMY' !(\   "1F8  !YG(!(\$  "1^(_P   "#   D5B\Y   D3B\Y   D2F$ 
XXM"EA03R\Y   D3B\Y   D2F$ $LA03T*Y   D-B/Y   D2@  )#HC^0  )$X 
XXM "0^0J="IV$ !2!03TAX  5.N0    !83V   7QP 2/    D@F   7!*N0  
XXM)(9F  %F<@$CP0  )(9A  R.8  !5G(!(\$  "1:+SD  "0Z+SD  "1280 $
XXMT%!/8  !.' !(\   "1Z8  !+' !(\   "1J8  !(' !(\   "1N8  !%" Y
XXM   D+E. #(     (8@ ! M! ,#L !D[[  ( $@ < $( I@"N ,8 X #H /!"
XXMN0  )&9@  #<< $CP   )'(CP   )'HC^0  )$H  "0Z(_D  "1.   D/F  
XXM +9"N0  )'YR3R/!   D5B\Y   D3B\Y   D2F$ $:Y03R\Y   D3B\Y   D
XXM2F$ "1I03T*Y   D-B/Y   D2@  )#HC^0  )$X  "0^0J="IV$  _103TAX
XXM  5.N0    !83V!00KD  "2"8$@,N0    $  "2&9CQ"N0  )(9A  L48#!"
XXMN0  )%HO.0  )$HO.0  )%)A  .N4$]@%D*Y   D>F .0KD  "1J8 9"N0  
XXM)&Y"N0  )!I"N0  )!I"N0  )"9"N0  )"I"N0  )"Y"N0  )#)"N0  )!I@
XXM  ,^2KD  "0B9RP@.0  )")R()"!+P 0!TB 2,"0@2\ 80 #1%!/0KD  "0B
XXM0KD  "0:8  #"A '2(!(P"/    D(F   OI*N0  )')G  &P(_D  "1*   D
XXM.B/Y   D3@  )#X0!TB 2, $@    #$,@    "EB  %NT$ P.P &3OL  @%2
XXM 5P!8@%B 6(!8@%B 6(!8@%B 6(!. %( 4 !8@%B %0 < ", *@!8@%2 5P 
XXMQ #2 -H _@%B 6(!8@%B 6(!8@%B 6(!8@%B 6(!8@%B 0P!'%.Y   D%B\Y
XXM   D%B\Y   D$F$  GI03V   /12N0  )!8O.0  )!8O.0  )!)A  )>4$]@
XXM  #8+SD  "064KD  "02+SD  "0280 "0E!/8   O"\Y   D%E.Y   D$B\Y
XXM   D$F$  B903V   *!"IT*G80 "&%!/8   DF$  [Q@  "*+SD  "0680 (
XXM9%A/+SD  "1.(#D  "064H O &$ !NQ03V!D+SD  "0680 (0%A/8%9P"B/ 
XXM   D&D*Y   D(F!&2'@  TAY   D]2\Y     $ZY     $_O  Q@*D*Y   D
XXM<F B0KD  "2*8!IP 2/    DBF 0< $CP   )*)@!D*Y   DH@RY     0  
XXM)!IF  %,0KD  "0:8  !0A '2(!(P R     8V(  .!!^@#D<@^P&%3)__QF
XXM  #0TD$P.Q &3OL  @"B (X F #< -P @@"( *P M@ L #0 2@!@ &8 ( "^
XXM< (CP   )!I@  "R80 "9F   *HO.0  )!9"IV$  0!03V$  E!@  "4(#D 
XXM "02Y8 @0-'\     ' !((!@?&$  HI@=DAX  =(>0  )/DO.0    !.N0  
XXM  !/[P ,8%IA  -<8%1A  .:8$YP""/    D&F!$< DCP   )!I@.G '(\  
XXM "0:8#!P 2/    D=F F0KD  "1V8!YA  3X8!A"N0  )!I@$&-;6DU(140^
XXM/3@W,C$I*"-"N0  )"9"N0  )"I"N0  )"Y"N0  )#(,N0    $  "0:9A9"
XXMN0  )!I@#D*Y   D&G "(\      4X9@ .^&+SD  "02+SD  "063KD     
XXM4$\@+@ 03.X@P/^T3EY.=4Y6__P@+@ (L+D  "12;@@M>0  )%( "" N  BP
XXMN0  )%9M""UY   D5@ (("X #+"Y   D.FX6(#D  "06L+D  "0Z;0@M>0  
XXM)#H #" N  RPN0  )#YM%B Y   D%K"Y   D/FX(+7D  "0^  PM>0  )!;_
XXM_$JN  QL!$*N  PC[@ ,   D%B/N  @  "02+RX ""\N  Q.N0    !03R\N
XXM__PO+@ ,3KD     4$].7DYU3E8  $JY   D-F<R#+D    !   D-F<F#+D 
XXM   "   D-F8R(#D  "0FL+D  "0J9B0,N0    $  "0F9A@C^0  )$H  "0Z
XXM(_D  "1.   D/D*G8#X@.0  )":PN0  )"IO." Y   D*E. (\   "0Z(#D 
XXM "0F4X CP   )#Y*N0  )%IG"" Y   D.F "<  O $*G80#^LE!/3EY.=4Y6
XXM   @.0  )!:PN0  )#YG%B Y   D%E* +P O.0  )!)A /Z&8"H@.0  )!:P
XXMN0  )#YF'F%X80 *&" Y   D%E. +P O.0  )!9.N0    !03TY>3G5.5@  
XXM(#D  "06L+D  "0Z9Q8@.0  )!93@"\ +SD  "0280#^+F J(#D  "06L+D 
XXM "0Z9AYA;F$ "JX@.0  )!92@"\ +SD  "063KD     4$].7DYU3E;_^"UY
XXM     /_\+7D     __@C^0  )#H     (_D  "0^     "\Y     "\Y    
XXM &$ ##Y03R/N__P     (^[_^     !.7DYU3E;_^"UY     /_\+7D     
XXM__@C^0  )#H     (_D  "0^     "\Y     "\Y     &$ #6103R/N__P 
XXM    (^[_^     !.7DYU3E8  "/Y   D%@     C^0  )!(     (_D  "1"
XXM     "/Y   DG@     C^0          (_D          $Y>3G5.5@  (_D 
XXM       D%B/Y        )!(C^0       "1"(#D  "1""    &<$80 +"B Y
XXM   D0@@   %G!&$ "SP@.0  )$((   "9P1A  L&(_D        DG@RY    
XXM 0  ))YF$ RY     @    !F$' "8 X,N0    (     9_!P 2/      "/Y
XXM           C^0          2'@ !4ZY     %A/3EY.=4Y6__Q"KO_\0KD 
XXM "1>0KD  "1:<@$CP0  )'I"N0  )!)"N0  )!9"N0  )#IR%R/!   D/B\Y
XXM   D3B\Y   D2F$  2A03R\Y   D3B\Y   D2F$ "9A03R!Y   DJ-'Y   D
XXM5D(H  $@+O_\L+D  "1.;B O $*G80#[[E!/0J<O.0  )*A.N0    !03U*N
XXM__Q@U"!Y   DJ-'Y   D5G)%$4$  4*G0J=A /N\4$].7DYU3E8  $AY    
XXM $ZY     %A/+P!(>0     O.0    !.N0    !/[P ,3EY.=4Y6  !"N0  
XXM)%YR 2/!   D>D*Y   D6D*Y   D?D*Y   D$D*Y   D%D*Y   D0D*Y   D
XXM.G(7(\$  "0^+SD  "1.+SD  "1*83Q03R\Y   D3B\Y   D2F$ "*Y03T*Y
XXM   D<DAX  5.N0    !83R\Y   D%B\Y   D$F$ ^P903TY>3G5.5O_L+7D 
XXM "02__0M>0  )!;_\" Y   D0G($P($M0/_X3KD     ('D  "2LT?D  "16
XXM0B@  2UN  C__" N__RPK@ ,;E8O $*G80#ZL%!/(#D  "164H!L"B Y   D
XXM5E* 8 )P "U _^P@+O_\Y8 @0-'Y     "!0T>[_[$(0("[__.6 ($#1^0  
XXM   @4!%N_^___U*N__Q@H" N  Q2@"\ +RX "$ZY     %!/('D  "2LT?D 
XXM "16<B 100 !2J[_^&<&3KD     +R[_\"\N__1A /HD4$].7DYU3E;_\"Z'
XXM("X #)"N  A2@"X +7D  "02__PM>0  )!;_^$ZY     "/N !   "06('D 
XXM "2L0C!X "\N  @O.0  )*Q.N0    !03R!Y   DK'(@$8%X " Y   D0@@ 
XXM  )G!DZY     "\N__@O+O_\80#YJ%!/+B[_\$Y>3G5.5O_X+RX ""\Y   D
XXM5B\Y   D$F$ _VI/[P ,(#D  "164H B.0  )!*R@&\*(#D  "164H!@!B Y
XXM   D$BU __@@+@ (Y8 @0-'Y     "!0T>[_^$(0("X ".6 ($#1^0     @
XXM4!%N__O__TY>3G5.5O_X+7D  "06__A*N0  )%IG(" N  S0N0  )#HM0/_\
XXML+D  "0^;Q M>0  )#[__& &+6X #/_\(^X "   )!(C[O_\   D%B\N  @O
XXM+O_\3KD     4$\O+O_X+SD  "063KD     4$].7DYU3E8  $Y>3G5.5@  
XXM0J="IT*G2'@ "B\Y     "\Y     "!Y     '  D*@ #"\ ('D     < "0
XXMJ  (+P @>0     O*  $('D     (% @4$Z03^\ )$Y>3G5.5@  0J="IT*G
XXM2'@ "B\Y     "\Y     "!Y     '  D*@ #"\ ('D     < "0J  (+P @
XXM>0     O*  $('D     (% @4$Z03^\ )$Y>3G5.5O_X("X ".. ($#1_   
XXM   "4/_]("X ".. ($#1_     !R08-00J[__" N  CGB"( ZXG0@0:     
XXM "! ("[__.. T< "4/_]("X ".>((@#KB="!!H      ($ @+O_\XX#1P')!
XXM@U!2KO_\#*X   "#__QOLB N  CE@"! T?D     (% 0*/__ H    #_L+D 
XXM "1^2KD  "1^9P1P0F "<"@B.0  )%92@;"!;PH@.0  )%92@& .2KD  "1^
XXM9P1P0F "<"@M0/_X("X ".6 ($#1^0     @4-'N__A"$" N  CE@"! T?D 
XXM    (% 1;O_[__\O+@ (3KD     6$].7DYU3E;_^" N  CC@"! T?P     
XXM E#__B N  CC@"! T?P     <D*#4$*N__P@+@ (YX@B .N)T($&@      @
XXM0" N__SC@-'  E#__B N  CGB"( ZXG0@0:      "! ("[__.. T<!R0H-0
XXM4J[__ RN    @__\;[(@+@ (Y8 @0-'Y     "!0$"C__P*     _["Y   D
XXM?DJY   D?F<$<$)@ G H(CD  "164H&P@6\*(#D  "164H!@#DJY   D?F<$
XXM<$)@ G H+4#_^" N  CE@"! T?D     (%#1[O_X0A @+@ (Y8 @0-'Y    
XXM "!0$6[_^___+RX "$ZY     %A/3EY.=4Y6__P@+@ (XX @0-'\      )0
XXM_[Q"KO_\("X ".>((@#KB="!!H      ($ @+O_\XX#1P )0_[Q2KO_\#*X 
XXM  "#__QOTB\N  A.N0    !83TY>3G5.5O_X("X ".. ($#1_      "4/_\
XXM("X ".. ($#1_     !R0(-00J[__" N  CGB"( ZXG0@0:      "! ("[_
XXM_.. T< "4/_\("X ".>((@#KB="!!H      ($ @+O_\XX#1P') @U!2KO_\
XXM#*X   "#__QOLB N  CE@"! T?D     (% 0*/__ H    #_L+D  "1^2KD 
XXM "1^9P1P0F "<"@B.0  )%92@;"!;PH@.0  )%92@& .2KD  "1^9P1P0F "
XXM<"@M0/_X("X ".6 ($#1^0     @4-'N__A"$" N  CE@"! T?D     (% 1
XXM;O_[__\O+@ (3KD     6$].7DYU3E8  $*Y   DGDAX  5.N0    !83TY>
XXM3G5.5@  <@$CP0  ))Y(>  %3KD     6$].7DYU3E;_^"UY   D.O_\("[_
XXM_+"Y   D/FQPXX @0-'\     " N__Q2@.. (D#3_      PD4*N__@@+O_\
XXMYX@B .N)T($&@      @0" N__CC@-' ("[__%* YX@B .N)T($&@      B
XXM0" N__CC@-/ ,)%2KO_X#*X   "$__AMME*N__Q@A" Y   D/N. ($#1_   
XXM  !*N0  )'YG!' @8 )P #" 0J[_^" Y   D/N>((@#KB="!!H      ($ @
XXM+O_XXX#1P" Y   D/N. (D#3_      PD5*N__@,K@   (3_^&W"3EY.=4Y6
XXM__@M>0  )#[__" N__RPN0  )#IO<.. ($#1_      @+O_\4X#C@") T_P 
XXM    ,)%"KO_X("[__.>((@#KB="!!H      ($ @+O_XXX#1P" N__Q3@.>(
XXM(@#KB="!!H      (D @+O_XXX#3P#"14J[_^ RN    A/_X;;93KO_\8(0@
XXM.0  )#KC@"! T?P     2KD  "1^9P1P(& "<  P@$*N__@@.0  )#KGB"( 
XXMZXG0@0:      "! ("[_^.. T< @.0  )#KC@") T_P     ,)%2KO_X#*X 
XXM  "$__AMPDY>3G5.5O_X+6X "/_\("[__+"N  QN7N. ($#1_     !*N0  
XXM)'YG!' @8 )P #" 0J[_^" N__SGB"( ZXG0@0:      "! ("[_^.. T< @
XXM+O_\XX B0-/\     #"14J[_^ RN    A/_X;<92KO_\8)A.7DYU3E8  $*Y
XXM   D0D*Y     $ZY     $AX  5.N0    !83TY>3G5.5@  <@&#N0  )$)(
XXM>  %3KD     6$].7DYU3E8  '($@[D  "1"3KD     3EY.=4Y6  !R"(.Y
XXM   D0DY>3G5.5@  <@$CP0    !R H.Y   D0DY>3G5.5O_T("X #)"N  @O
XXM " N  A2@"\ +RX "$ZY     $_O  P@+@ ,Y8 @0-'Y     "U0__A"KO_\
XXM("[__+"Y     &X0(&[_^-' <B 0@5*N__Q@Y" Y   D5E* ; H@.0  )%92
XXM@& "<  M0/_T("X #.6 ($#1^0     @4-'N__1"$" N  SE@"! T?D     
XXM(% 1;O_W__\@+@ (4H B.0    !.N0     @>0    "0J  ,+P @.0  )%(B
XXM.0    !.N0     @>0    "0J  (+P @>0     O*  $2'@ &" N  R0K@ (
XXM(CD     3KD     +P O.0     @+@ ((CD     3KD     ('D     D*@ 
XXM#"\ (#D  "12(CD     3KD     ('D     D*@ ""\ ('D     +R@ !"!Y
XXM     "!0(%!.D$_O "0O+@ ,+SD     +SD     3KD     3^\ #$Y>3G5.
XXM5O_P("X #)"N  @O " N  Q3@"\ +RX #&$  59/[P ,("X ".6 ($#1^0  
XXM   M4/_T0J[__" N__RPN0    !N$"!N__31P'(@$(%2KO_\8.0@.0  )%92
XXM@&P*(#D  "164H!@ G  +4#_\" N  CE@"! T?D     (%#1[O_P0A @+@ (
XXMY8 @0-'Y     "!0$6[_\___("X ""(Y     $ZY     "!Y     )"H  PO
XXM " Y   D4B(Y     $ZY     "!Y     )"H  @O "!Y     "\H  1(>  8
XXM("X #)"N  @B.0    !.N0     O "\Y     " N  A2@"(Y     $ZY    
XXM "!Y     )"H  PO " Y   D4B(Y     $ZY     "!Y     )"H  @O "!Y
XXM     "\H  0@>0     @4"!03I!/[P D+RX ""\Y     "\Y     $ZY    
XXM $_O  Q.7DYU3E8  " N !!3K@ 02H!G'B N  Q3K@ ,+P @+@ (4ZX ""\ 
XXM3KD     4$]@UDY>3G5.5O_80B[_YW(D'4'_XW(&+4'_WDJN_]YO1! N_^/1
XXM+O_G("[_WN6((@#EB="!Y8G0@7)D3KD     +4#_VAVN_^<(^" N_]H=KO_G
XXM"/ @+O_:':[_YPCH4Z[_WF"V'7P ___X'7P ___P'7P ___H0B[__T(N__="
XXM+O_O2&[_Z$AN__!(;O_X2'@ "$*G('D     +R@ !"!Y     "!0(&@ )$Z0
XXM3^\ &' (3EY.=0  )5HE)4TE("5))2 E124@0V]P>7(@,3DX-2!-251212!#
XXM;W)P+@                                                      
XXM                                                         !< 
XXM                   7         $\                             
XXM                                            !0    @    0    
XXM"@          8P   "4$   ECAM;,DH &UL_,3LP8P ;6S!N !M;)74[)752
XXM !M;,CLQ.S$[,3$R.S$Q,CLQ.S!X !M;,SLQ.S$[,3$R.S$Q,CLQ.S!X !LO
XXM6@ ;6S\Q.S!C     $5%145%145%145%145%145%145%145%145%145%145%
XXM145%145%145%145%145%145%145%145%145%145%145%145%145%145%145%
XXM145%145%145%145%145%145%145%145%145%145%145%145%145%145%145%
XXM145%145%145%145%145% " @(" @(" @(" @(" @(" @(" @(" @(" @(" @
XXM(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
XXM(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
XXM(" @(" @(" @(" @(" @(         8  &]0    #   !D     0   &0   
XXM !8   9     &@  !D     L  ![4    $X  'M0    :   0E    !P  !&
XXM4    '8  !Y0    ?   #E    "&  "$4    *P   9     P@  @%    #>
XXM  !=4    /P   9    !+   !D    $R   &0    3@   9    !/@  !D  
XXM  %$   &0    5H  #E0   !R@  "%    '4   &0    =H   9    ![@  
XXM!D    '^   &0    @H  'M0   "%   !D    (P   &0    CH   9    "
XXM0   !D    )0   &0    E@   9    ";@  !D    *2   &0    J0   9 
XXM   "J@  !D    *R   &0    L0   9    "R   C5    +.  !14    M( 
XXM &90   "V   9E    +@  !F4    N8   9    "\   -E    +Z   &0   
XXM P@  '50   #$   !D    ,:   &0    R0  #90   #,@  !D    ,^   &
XXM0    T0  &90   #3   C5    -2  !14    U@  #!0   #9   !D    -J
XXM   &0    W    9    #A   !D    .*   &0    Y    9    #E@  ,%  
XXM  .>   &0    ZP  '50   #M   !D    .^   &0    \@  #90   #U@  
XXM!D    0:  !"4   !"0   9    $,   1E    1   !"4   !$P  $)0   $
XXM5@  !D    1B  !&4   !'(  $)0   $?@  0E    2(   &0   !)0  $90
XXM   $I   0E    2N  "/4   !+0   9    $P   A%    3(   &0   !08 
XXM $90   %$   !D    4<  !&4   !2P  $)0   %.   1E    5"   &0   
XXM!4X  $90   %7@  0E    5J  !&4   !70   9    %@   1E    60  !"
XXM4   !9H  (]0   %I   !D    6P  "$4   !;@   9    %]   !D    8 
XXM   &0   !@P   9    &&   !D    8D   &0   !CH   9    &6@  !D  
XXM  9J   &0   !G0  #E0   &>@  !D    :    &0   !H8   9    &B@  
XXM!D    :0   &0   !J    9    &I   !D    :J   &0   !JX   9    &
XXMM   !D    :^   Y4   !L0   9    &R@  !D    ;0   &0   !M@   9 
XXM   &Y   !D    ;L   &0   !O    9    &]@  !D    ;\   &0   !P8 
XXM  9    '#   !D    <6   &0   !R    9    '>   !D    =^   &0   
XXM!X8   9    'E@  !D    ><   &0   !Z0   9    'M   !D    >Z   &
XXM0   !\    9    'T@  !D    ?8   &0   !]X   9    '\   !D    ?Z
XXM   &0   " X   9    (+   !D    @X   &0   "#X   9    (3@  !D  
XXM  A4   &0   "&@  (10   (=   !D    AZ   &0   "(    9    (C@  
XXM!D    B8   &0   "*0   9    (K@  !D    B^  "$4   ",H   9    (
XXMT   !D    C<   &0   ".(   9    (\@  A%    C^   &0   "1H   9 
XXM   )*@  !D    DP   &0   "38   9    )2   !D    E.   &0   "50 
XXM  9    )8@  !D    ET   &0   "7X   9    )A@  !D    F*   Y4   
XXM"9    9    )G@  !D    FL   Y4   "?X   9    *!   @%    H*  !W
XXM4   "A@   9    *(   !D    HJ  ![4   "CH   9    *4   >U    IN
XXM   &0   "GH   9    *B   !D    J2   &0   "J    9    *K   !D  
XXM  JR  " 4   "K@  '=0   *Q@  !D    K0   &0   "MH   9    *Y   
XXM!D    KN  !74   "OP  (50   +"@  @%    L0  !W4   "R(   9    +
XXM+@  !D    LT  " 4   "SH  '=0   +2   !D    M4   &0   "UH  (!0
XXM   +8   =U    N"   &0   "XH   9    +D   !D    N6   &0   "YP 
XXM  9    +H@  !D    NP   &0   "]8   9    ,!@  !D    P2   &0   
XXM#!P   9    ,(@  !D    PH   &0   ##0   9    ,.@  !D    Q&   &
XXM0   #$P   9    ,4   !D    Q6   &0   #%H   9    ,;@  A%    Q\
XXM   &0   #(8   9    ,D@  !D    RB   &0   #*@   9    ,K@  !D  
XXM  S    &0   #,P   9    ,V   !D    SB   &0   #1    9    -'   
XXM!D    TB   &0   #2@   9    -+   !D    TR   &0   #38   9    -
XXM0   !D    U(   &0   #4X   9    -5   !D    U@   &0   #68   9 
XXM   -<@  !D    UX   &0   #7P   9    -@@  !D    V&   &0   #9H 
XXM (10   -I   !D    VP   &0   #;@   9    -Q   !D    W*   &0   
XXM#=    9    -W@  !D    WF   &0   #>X   9    -]   !D    WZ   &
XXM0   #@    9    .!@  !D    X,   &0   #A(   9    .&   !D    XB
XXM   &0   #BH   9    .1@  !D    Y,   &0   #EP   9    .9@  !D  
XXM  YP   &0   #G0   9    .>@  !D    Y^   &0   #O@   9    ._@  
XXM!D    \$   &0   #Q0   9    /&@  !D    \@   &0   #S    9    /
XXM-@  !D    \\   &0   #TP   9    /4@  !D    ]8   &0   #WX   9 
XXM   /B@  !D    ^0   &0   #Z(   9    /L@  !D    ^X   &0   #\0 
XXM  9    /R@  @%    _0  !W4   #]P   9    /Y   !D    _N   &0   
XXM#_@   9    0    !D   ! *   &0   $!0   9    0:@  !D   !!\   &
XXM0   $)(   9    0G   >U   !"R   &0   $+@  (!0   0O@  =U   !#8
XXM   &0   $.(   9    0[   !D   !#V   &0   $/X   9    1#   !D  
XXM !$D   &0   $2H   9    1,   !D   !$V   &0   $4    9    12   
XXM!D   !%0   &0   $5@   I0   19   !D   !%J   &0   $7   %I0   1
XXMC@  !D   !&6   &0   $:(   9    1J@  !D   !&V   &0   $;X   9 
XXM   1Q   !D   !',   &0   $=@   9    1X   !D   !'F   &0   $>X 
XXM  9    1]@  !D   !(*   &0   $A(   9    2(   55   !(P  !B4   
XXM$D    9    23   !D   !)8   &0   $F    9    29@  !D   !)R   &
XXM0   $GH   9    2?@  !D   !*$   &0   $H@   9    2D@  !D   !*8
XXM   &0   $J    9    2J   !D   !*N   &0   $K8   9    2O   !D  
XXM !+$   &0   $N    9    2Y@  !D   !+N   &0   $O@   9    3!   
XXM!D   !,*   &0   $Q@   9    3(@  !D   !,H  !B4   $S@   9    3
XXM/@  !D   !-&   &0   $U    9    37   !D   !-B   &0   $W    9 
XXM   3>@  !D   !.   !B4   $Y   "Y0   3F   (U   !.@   &0   $Z0 
XXM "Y0   3J@  !D   !.N   C4   $[0  "-0   3N@  +E   !/(   N4   
XXM$]   "-0   3W@  +E   !/F   C4   $^X   9    3\@  +E   !/X   &
XXM0   $_P  "-0   4 @  (U   !0(   N4   %!8  "Y0   4'@  (U   !0L
XXM   &0   %#   !10   4-@  !D   !0Z   G4   %$    9    41   &E  
XXM !1*   &0   %$X   10   45   0E   !18  !Y4   %%X  $90   48@  
XXM>E   !1P   44   %'0   9    4>@  )U   !1^   &0   %(0  !I0   4
XXMB   !D   !2.   &0   %)X   9    4K@  !D   !2^   $4   %,(   9 
XXM   4S   !D   !38  !&4   %.@  $)0   4\@  CU   !3X  !Y4   %/P 
XXM $)0   5 @  >E   !4&  !&4   %1   (10   5)   !D   !4J   &0   
XXM%3(   9    5.   !D   !4^   &0   %40   9    53   !D   !52   &
XXM0   %5@   9    59   !D   !5J   &0   %78   9    5?   !D   !6*
XXM   &0   %9X   9    5I   ,%   !6R   &0   %;@   9    5U@  :U  
XXM !7<  "%4   %>8  &M0   5[   @%   !7R  !W4   %@0   9    6#   
XXM!D   !82   &0   %A@   9    6'@  !D   !8D   &0   %BH   9    6
XXM,   !D   !8X   &0   %CX   9    61   !D   !9.   &0   %E0   9 
XXM   68   !D   !9J  "$4   %G(   9    6>   !D   !:,   &0   %I0 
XXM  9    6G   !D   !:J   Q4   %K    9    6M@  !D   !;:   &0   
XXM%N0   9    6_   $E   !<2   24   %S(  "]0   7.@  !D   !=    &
XXM0   %U(  'Y0   7?   !D   !>$   &0   %XP  #%0   7E   !D   !>:
XXM   &0   %Z@   9    7K@  ,%   !>V   &0   %\(   9    7S@  ?E  
XXM !?R   &0   %_@   9    8!@  !D   !@.   &0   &!@   9    8(@  
XXM!D   !@T   24   &$H  !)0   88   !D   !AH   &0   &'0   9    8
XXM?@  !D   !B&   &0   &)@   9    8H   !D   !BN  !54   &+H   9 
XXM   8P   8E   !CB  !R4   &.@  %)0   8[@  %E   !C\   64   &0H 
XXM !90   9%   %E   !DV  !R4   &3P  %)0   90@  %E   !E0   64   
XXM&5X  !90   9:   %E   !F(   V4   &9H  #90   9M   =5   !G4  !U
XXM4   &?X  !)0   :$   !D   !H6   &0   &B0   9    :,   !D   !HZ
XXM   &0   &E0  !)0   ::@  $E   !I\  "(4   &I0  #90   :I@  -E  
XXM !K   !U4   &N   '50   ;"@  $E   !L<   &0   &R(   9    ;,   
XXM!D   !L\   &0   &T8   9    ;8   $E   !MV   24   &X@  (A0   ;
XXMH   -E   !NZ  !U4   &^   (A0   ;^   -E   !P*   V4   '"0  '50
XXM   <1   =5   !QN   24   '(    9    <A@  !D   !R4   &0   '*  
XXM  9    <J@  !D   !S$   24   '-H  !)0   <[   B%   !S\   &0   
XXM'08  (10   =&   !D   !TB  "$4   '3(   9    =/@  !D   !U*   V
XXM4   '5H  #90   =<@  =5   !V0  !U4   ';8   9    =P   -E   !W&
XXM   &0   '=H   9    =Z   =5   !WX   &0   '@(  #90   >(   !D  
XXM !XL   &0   'C@  #90   >2   -E   !Y@  !U4   'GX  '50   >I   
XXM!D   !ZN   V4   'K0   9    >R   !D   ![6  !U4   'N8   9    >
XXM\   -E   !\B   V4   'R@   9    ?2   =5   !]@   V4   'X0   9 
XXM   ?B@  ;U   !^0   Q4   'YH  (10   ?K   !D   !^V  "$4   '\@ 
XXM  9    ?S@  ?E   !_>   &0   '^X  &]0   ?]@  !D   " :  !%4   
XXM("P  !)0   @/@  5%   "!6   &0   (&    9    @>   $E   "".   2
XXM4   (*(  ']0   @J    U   ""N   64   (+H   9    @P   3U   "#&
XXM   #4   (,P  !90   @V   %E   "#N  !_4   (/0   -0   @_   4E  
XXM "$&  !_4   (0P   -0   A$@  %E   "$>   &0   (20  $]0   A*@  
XXM U   "$P   64   (3P  !90   A1@  %E   "%:  !44   (6   'U0   A
XXM9@  :5   "&>   24   (;   %10   AR   !D   "'2   &0   (>H  !)0
XXM   B    $E   "(2  !_4   (A@   -0   B'@  %E   "(J   &0   (C  
XXM $]0   B-@   U   "(\   64   (D@  !90   B7@  ?U   ")D   #4   
XXM(FP  %)0   B>   ?U   ")^   #4   (H0  !90   BD   !D   "*6  !/
XXM4   (IP   -0   BH@  %E   "*N   64   (K@  !90   BS   5%   "+2
XXM  !]4   (M@  &E0   C"@  D%   "-,  !94   (Z8  !90   CL   %E  
XXM  #@   &0    .0   9     ! 4      !\(    $ <      "1:    '0< 
XXM     "2H    )@$             + $        $    -@<      "2>    
XXM108      "/(    304      !4:    5@$             8P<      "2&
XXM    ;P$        $    =P<      "1*    ?04      !N2    B@4     
XXM !OJ    E0$             GP4      !/8    K 4      !_F    M@< 
XXM     "2F    OP$        $    Q@<      "0J    RP$        $    
XXMU0<      "06    W@$             Z@<      "1&    \@4      !T0
XXM    _0<      "1V   !# $        $   !$P4      !_    !'P4     
XXM !+:   !)@4      !.*   !,0$            !/ 4            !1@4 
XXM     !X:   !5@<      "2"   !90<      "0^   != $        $   !
XXM? <      "0B   !@ 4      !:&   !BP<      "1>   !E $        $
XXM   !G@4      !_^   !J0<      "02   !L@4       "2   !O0$     
XXM  0    !Q0$        $   !S@<      "0Z   !V@$        $   !WP$ 
XXM           ![0$            !_P$            "!P<      "0>   "
XXM#P<      "0N   "%P<      "2B   "(0<      "2L   "*0$        P
XXM   ", 4      !=H   ".@<      "1N   "10$        H   "2@<     
XXM "0F   "3@<      "/V   "5@<      "/R   "7@<      "/^   "9@< 
XXM     "/Z   ";@<      "0"   "=@<      "0&   "?@<      "0*   "
XXMA@$        $   "B@<      "0.   "D@4      "+D   "H $         
XXM   "K0$        $   "L0<      "1"   "NP$        $   "QP$     
XXM  "$   "S 4      !_6   "U@<      "2:   "[@<      "26   "_@< 
XXM     "22   ##0<      "2.   #' $        $   #)@4      !7^   #
XXM+0$       $L   #.@$        $   #10<      "1.   #3@$        $
XXM   #50$            #6P<      "/N   #8@$            #:P4     
XXM !(Z   #?@$            #A $            #D 4      !1J   #H 4 
XXM     !0F   #K0$            #NP<      "1^   #QP4      "%R   #
XXMT@4      !70   #W@<      "1F   #Z $            #]0<      "0:
XXM   #_ <      "1J   $! <      "12   $"P$        $   $%0<     
XXM "16   $'0<      "1Z   $(P$            $+P4      !SV   $.@$ 
XXM       ?   $2@$        $   $60<      "1B   $8 <      "0R   $
XXM:0$        $   $=0<      "0V   $?04      !^D   $A@$        $
XXM   $D@4      !&$   $EP4      !J&   $I $      !C    $L04     
XXM !TL   $OP$            $S 4      !?H   $TP$        $   $V $ 
XXM       $   $W0$       (0   $YP<      "1R   $\0$        $   $
XXM]P$            $_0$        $   %" $            %$ 4      !,R
XXM   %& 4      !C2   %*P4      !DF   %/@$            %2 $     
XXM       %4 4      ",6   %9P<      "2*   %=@$            %?P4 
XXM     !A:   %B 4      !C*   %C@4      !]^   %EP4       #0   %
XXMI0$        $   %LP$        $   %O@$        $   %R0$         
XXM   %SP4      !EZ   %V5]C;&5A<DUA<FMS %]O<FEG:6Y?;6]D90!?97-T
XXM<FEN9P!L;75L= !?;V-H87)S970 7V%C=&EV94-H87)S970 7W-C8W-I9 !?
XXM17-C<F5E;@!?8FQI;FMS8W)E96X 7W)E=E]S8W)E96X 7V-U<G-O<@!?=G1O
XXM< !?8VQE87)?=VED=&@ 7VUA<FM?=VED90!?:6YI=%]K8F0 7W-C<F]L;%]D
XXM;W=N %]5;F1E<E]O;@!?8VAA<E-T<@!?:6UA9V4 7V%C, !?;V-U<G-R;W< 
XXM7V-U<G-R;W< 7V-S<E]P:7AW:6X 7W)E<&]R= !?1S%?<V5L96-T %]A<'!L
XXM7VME>5]A;G-I %]O8F]L9 !?4F5V97)S95]O;@!?26YD97@ 7W-C<F]L;%]U
XXM< !?:6UA9V5I;FET %]A;G-I:6YI= !?<VAI9G1-87)K<T1O=VX 7W-M;V]T
XXM:%]S8W)O;&P 7W-C<F]L;%]B;W1T;VT 7V)O='1O;0!?=FP 7V1E;%]L:6YE
XXM<P!?;F5W;&EN90!?;V-U<G-C;VP 7W-C<F]L;#%U< !?8W5R<V-O; !?9V9X
XXM<W1R:6YG %]?<V]B=68 7W!I>&9O;G0 7W-C<F]L;%]T;W  7W1O< !?<&-L
XXM96%R<V-R965N %]W<FET95!A<G1I86Q,:6YE %]N;V)O;&0 7W-T871E,0!?
XXM86-I;FET %]G<F%P:%\U,@!?8FQA;FMS %]M87)K<P!?9&5L7V-H87( 7VEN
XXM=&5R;&%C90!?86-M %]A8P!?9&5B=6<Q %]D96)U9S( 7V1E8G5G,P!?9&5B
XXM=6<T %]D96)U9S4 7V1E8G5G-@!?9&5B=6<W %]G, !?9&5B=6<X %]S=V%P
XXM;G)E9VEO;G, 7W-W87!R96=I;VYS %]G,0!?9FEL;&9U;F, 7V-H87)"=69-
XXM87@ 7V)U9@!?0FQI;FM?;VX 7W1W96QV95]T96YT:'-?8VAR=VED=&@ 7W1W
XXM:6-E7V-H<G=I9'1H %]F=6QL7V-H<G=I9'1H %]H86QF7V-H<G=I9'1H %]C
XXM:')W:61T: !?<F5S970 7V%N<VE#:&%R0G5F %]W:6YW:61T:'  7W9B;W1T
XXM;VT 7W)I9VAT %]V<&]S %]D96)U9P!?<W!R:6YT9@!?<V5T7W-C<F]L;%]R
XXM96=I;VX ;&1I=G0 7V1R87=#=7)S;W( 7U)E<W1O<F5?8W5R<V]R %]3879E
XXM7V-U<G-O<@!?<F5M;W9E0W5R<V]R %]B:6=?<V-R965N %]S8W)O;&PQ9&X 
XXM7V%N<W=E<F)A8VL 7V-U<G-?:V5Y %]C:&5C:U]M87)K<P!?<W1A=&4 7W)E
XXM<&5A= !?=FQE9G0 7V-H87).97AT %]V<FEG:'0 7W=R87  7W!C;&5A<FQI
XXM;F4 7T<P7W-E;&5C= !?86YS=V5R7VUE<W-A9V4 7V1E;&%Y<&%I;G1I;F< 
XXM7VQO8V%L %]A8VEN:70P %]U;F1E<G-C;W)E %]A8U]N=6T 7T)O;&1?;VX 
XXM7W=I;FAE:6=H='  7W!O<P!?;6%R:U]B;W1T;VT 7W)E9FQE8W1I;VYS %]S
XXM:&EF=$UA<FMS57  7W1T>7-W7VEN<'5T %]C;&5O; !?;V<P %]O9S$ 7W1A
XXM8D%R<F%Y %]V=#4R;6]D90!?;&5F= !?8F]L9 !?8VAR:&5I9VAT %]?='1Y
XXM<W< 7U)I;F1E> !?<'=H:71E7V)A8VMG<F]U;F0 7W!B;&%C:U]B86-K9W)O
XXM=6YD %]S971?9F]N= !?<W1R;&5N %]S971U<&9U;&QG<F%Y8V]L;W)M87  
XXM7V%L=%]K97EP861?-3( 7W)E=W)I=&4 7V%B<U]P;W, 7W1R87  7T%L;%]O
XXM9F8 7W1T>7-W7V]U='!U= !?8W5R<V-O;%-T87)T %]B;VQD7VYO<FT 7V=R
XX8869?;F]R;0!?<W=A< !?;6%R:U]T;W  
XX 
XXend
@//E*O*F libdir/uu.ttyvt100.o//
chmod u=rw,g=rw,o=rw libdir/uu.ttyvt100.o
 
echo x - libdir/uu.vt100keys.o
sed 's/^XX//' > "libdir/uu.vt100keys.o" <<'@//E*O*F libdir/uu.vt100keys.o//'
XXbegin 644 vt100keys.o
XXM   !!P  "F0   8,         ;         %6    L!.5O_X0J[__$*N__@M
XXM>0    #_^$JY     &8,(#D     5( M0/_X2KD     9PY*N0    !G!G #
XXM+4#__$JY     &<.2KD     9@9P 2U __Q*N0    !F#DJY     &<&< 0M
XXM0/_\2KD     9@Y*N0    !F!G "+4#__" N  @$@   ?RL,@    "=B  =2
XXMT$ P.P &3OL  @!4 %0 5 !4 %0 5 !4 %0 5 =&!T8'1@=&!T8'1@!> +(!
XXM!@%: :X" @)6 JH"_@-2 Z8#^@1.!*($]@=&!5(%7 5F!:0%X@8@!EX&L@;\
XXM8  &^B \   -6&  !O @+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( 
XXM'  F(#P   U98  &Q" \   -7&  !KH@/   #6!@  :P(#P   UC8  &IB \
XXM   -9V  !IP@+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F(#P 
XXM  UH8  &<" \   -:V  !F8@/   #6]@  9<(#P   UR8  &4B \   -=F  
XXM!D@@+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F(#P   UW8  &
XXM'" \   ->F  !A(@/   #7Y@  8((#P   V!8  %_B \   -A6  !?0@+O_\
XXM4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F(#P   V&8  %R" \   -
XXMB&  !;X@/   #8I@  6T(#P   V.8  %JB \   -DF  !: @+O_\4X ,@   
XXM  -B   \T$ P.P &3OL  @ ( !( '  F(#P   V38  %=" \   -E6  !6H@
XXM/   #9=@  5@(#P   V;8  %5B \   -GV  !4P@+O_\4X ,@     -B   \
XXMT$ P.P &3OL  @ ( !( '  F(#P   V@8  %(" \   -HF  !18@/   #:1@
XXM  4,(#P   VH8  % B \   -K&  !/@@+O_\4X ,@     -B   \T$ P.P &
XXM3OL  @ ( !( '  F(#P   VM8  $S" \   -KV  !,(@/   #;%@  2X(#P 
XXM  VU8  $KB \   -N6  !*0@+O_\4X ,@     -B   \T$ P.P &3OL  @ (
XXM !( '  F(#P   VZ8  $>" \   -O&  !&X@/   #;Y@  1D(#P   W"8  $
XXM6B \   -QF  !% @+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F
XXM(#P   W'8  $)" \   -R6  !!H@/   #<M@  00(#P   W/8  $!B \   -
XXMTV   _P@+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F(#P   W4
XXM8  #T" \   -UF   \8@/   #=A@  .\(#P   W<8  #LB \   -X&   Z@@
XXM+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F(#P   WA8  #?" \
XXM   -XV   W(@/   #>5@  -H(#P   WI8  #7B \   -[6   U0@+O_\4X ,
XXM@     -B   \T$ P.P &3OL  @ ( !( '  F(#P   WN8  #*" \   -\&  
XXM QX@/   #?)@  ,4(#P   WV8  #"B \   -^F   P @+O_\4X ,@     -B
XXM   \T$ P.P &3OL  @ ( !( '  F(#P   W[8  "U" \   -_6   LH@/   
XXM#?]@  + (#P   X#8  "MB \   .!V   JP@+O_\4X ,@     -B   \T$ P
XXM.P &3OL  @ ( !( '  F(#P   X(8  "@" \   ."F   G8@/   #@Q@  )L
XXM(#P   X08  "8B \   .%&   E@@+O_\4X ,@     -B  !$T$ P.P &3OL 
XXM @ (  @ )  N2KD     9PH@/   #A5@  (D(#P   X88  "&B \   .&F  
XXM A @/   #AY@  (&(#P   XB8  !_" \   .(V   ?(@/   #B1@  'H("[_
XXM^'(!L(%G%G("L(%G&G(#L(%G'B \   .,&   <@@/   #B5@  &^(#P   XH
XXM8  !M" \   .+&   :H@+O_X<@&P@6<6<@*P@6<:<@.P@6<>(#P   X\8  !
XXMBB \   .,6   8 @/   #C1@  %V(#P   XX8  !;" N__AR ;"!9Q9R K"!
XXM9QIR ["!9QX@/   #DA@  %,(#P   X]8  !0B \   .0&   3@@/   #D1@
XXM  $N("[_^'(!L(%G%G("L(%G&G(#L(%G'B \   .5&   0X@/   #DE@  $$
XXM(#P   Y,8   ^B \   .4&   / @+O_\4X ,@     -B   \T$ P.P &3OL 
XXM @ ( !( '  F(#P   Y58   Q" \   .6&   +H@/   #EQ@  "P(#P   Y?
XXM8   IB \   .8V   )P@+O_\4X ,@     -B   TT$ P.P &3OL  @ ( !  
XXM&  @(#P   YD8' @/   #F9@:" \   .:&!@(#P   YL8%@@/   #G!@4" N
XXM__Q3@ R      V(  #300# [  9.^P "  @ $  8 " @/   #G%@)B \   .
XXM<V >(#P   YU8!8@/   #GE@#B \   .?6 &(#P   Y^3EY.=4Y6  !A1$AX
XXM -=(>0  #G]A  % 4$](> #92'D   Z"80 !,%!/2'@ VTAY   .AF$  2!0
XXM3TAX -U(>0  #HIA  $04$].7DYU3E8  $AX  )(>0  #HY.N0    !03R/ 
XXM     &PH2'D   ZU2'D   Z62'D    H3KD     3^\ #$AX  ).N0    !8
XXM3TAY     $AY0!A& "\Y     $ZY     $_O  Q*@&PH2'D   [>2'D   Z^
XXM2'D    H3KD     3^\ #$AX  ).N0    !83PRY     @    !G*$AY   .
XXM_TAY   .YTAY    *$ZY     $_O  Q(>  "3KD     6$](>  "2'D   \(
XXM3KD     4$\CP     !L*$AY   /+4AY   /$4AY    *$ZY     $_O  Q(
XXM>  "3KD     6$].7DYU3E;_Y$*N__Q![O_H+4C_Y"!N  @0$$B 2,!R0["!
XXM9PYR4["!9Q @;O_D0I!@%"!N_^1R,& &(&[_Y'(.((%2K@ (0J[_^& .4J[_
XXM^ RN    6/_X;"Q(>  #("[_^.> ($#1_   "I@O$"\N  A.N0    !/[P ,
XXM2H!FS'(!+4'__$JN__QF+"\N  A(>0  #U)(>0  #S9(>0   "A.N0    !/
XXM[P 02'@  DZY     %A/(&[_Y" N__CG@") T_P   J<(!$10  $(&[_Y!%N
XXM  \ !2\N_^1(>8 0:P$O.0    !.N0    !/[P ,2H!L+"\N  A(>0  #WU(
XXM>0  #UM(>0   "A.N0    !/[P 02'@  DZY     %A/3EY.=4 H(REV=#$P
XXM,&ME>7,N8R Q+C8@.#8O,#0O,3$@0V]P>7(@,3DX-2!-251212!#;W)P    
XXM  ^(    5P  #XH   !K   /C    "@   ^.    ;   #Y    !M   /D@  
XXM "<   ^4    '@  #Y8    ?   /F    "    ^:    (0  #YP    B   /
XXMG@   ",   ^@    )   #Z(    E   /I    "8   ^F    5@  #Z@    I
XXM   /J@   !,   ^P    *P  #[,   !"   /MP   !T   ^[     0  #[X 
XXM  !A   /P@    ,   _%    &0  #\@    :   /RP   #$   _.    ,P  
XXM#]$   !(   /U    $D   _7    7P  #]H   !O   /W0   !4   _@    
XXM6P  #^0   !<   /Z    %T   _L    <   #_    !Q   /]    '(   _X
XXM    %@  #_L    7   /_@   "T  ! !    +@  $ 0    O   0!P   $0 
XXM ! *    10  $ T   !&   0$    %D  ! 4    !0  $!<    &   0&@  
XXM  @  ! =    "@  $"     ,   0(P    X  ! F    $   $"D    1   0
XXM+    !(  ! O    -0  $#,   !    0-0   %@  ! W    00  $#D    J
XXM   0.P   $T  ! ]    :   $#\   !F   000   $\  !!#    .   $$4 
XXM  !0   01P   %$  !!)    4@  $$L    ]   030   %,  !!/    5   
XXM$%$   !5   04P   &H  !!5    :0  $%<    ^   060   #\  !!;    
XXM-@  $%T    Y   07P   $X  !!A    .@  $&,    \   090   &<  !!G
XXM    -P  $&D   !E   0:P   #L  !!M    9  ;4  ;3U  &U  &T]0   ;
XXM40 ;3U$ &U$ &T]1   ;4@ ;3U( &U( &T]2   W #< &S]W !M/=P  .  X
XXM !L_>  ;3W@  #D .0 ;/WD &T]Y   T #0 &S]T !M/=   -0 U !L_=0 ;
XXM3W4  #8 -@ ;/W8 &T]V   Q #$ &S]Q !M/<0  ,@ R !L_<@ ;3W(  #, 
XXM,P ;/W, &T]S   P #  &S]P !M/<   +@ N !L_;@ ;3VX   T*  T &S]-
XXM !M/30     ;00 ;6T$ &T]!   ;0@ ;6T( &T]"   ;1  ;6T0 &T]$   ;
XXM0P ;6T, &T]#   ;4P ;3U, &U, &T]3   M "T &S]M !M/;0  +  L !L_
XXM;  ;3VP   !R. !R,3  <C$R '(Q-  O9&5V+V9B "5S.B!C;W5L9&XG="!O
XXM<&5N(&9R86UE8G5F9F5R"@!T='EV=#$P,  E<SH@8V]U;&1N)W0@9V5T('1H
XXM92!F8B!S=')U8W0* '1T>79T,3 P %-O<G)Y+"!)(&]N;'D@9&\@4W5N,G,*
XXM '1T>79T,3 P "]D978O:V)D "5S.B!C;W5L9&XG="!O<&5N(&ME>6)O87)D
XXM"@!T='EV=#$P,  E<SH@8V]U;&1N)W0@9FEN9"!@)7,G(&ME>0H ='1Y=G0Q
XXM,#  )7,Z(&-O=6QD;B=T(&1E9FEN92!T:&4@8"5S)R!K97D* '1T>79T,3 P
XXM    )P L "T +@ O #  ,0 R #, -  U #8 -P X #D .P ] &)R96%K &)S
XXM &1E; !E<V, ;#$ ;#$P &PR &PS &PT &PU &PV &PW &PX &PY &QF '(Q
XXM '(Q, !R,3$ <C$R '(Q,P!R,30 <C$U '(R '(S '(T '(U '(V '(W '(X
XXM '(Y ')E= !F,0!F,@!F,P!F- !F-0!F-@!F-P!F. !F.0!T86( 6P!< %T 
XXM8 !A &( 8P!D &4 9@!G &@ :0!J &L ; !M &X ;P!P '$ <@!S '0 =0!V
XXM '< > !Y 'H       X  !Y0    %@  'E     >   84    "H  !Y0    
XXM,@  (U    !    >4    $@  "-0    5@  'E    !>   )4    &P  !Y0
XXM    =   "5    #T   &0    2    9    !*@  !D    $T   &0    3X 
XXM  9    !2   !D    %T   &0    7X   9    !B   !D    &2   &0   
XXM 9P   9    !R   !D    '2   &0    =P   9    !Y@  !D    'P   &
XXM0    AP   9    ")@  !D    (P   &0    CH   9    "1   !D    )P
XXM   &0    GH   9    "A   !D    *.   &0    I@   9    "Q   !D  
XXM  +.   &0    M@   9    "X@  !D    +L   &0    Q@   9    #(@  
XXM!D    ,L   &0    S8   9    #0   !D    -L   &0    W8   9    #
XXM@   !D    .*   &0    Y0   9    #P   !D    /*   &0    ]0   9 
XXM   #W@  !D    /H   &0   !!0   9    $'@  !D    0H   &0   !#( 
XXM  9    $/   !D    1H   &0   !'(   9    $?   !D    2&   &0   
XXM!)    9    $O   !D    3&   &0   !-    9    $V@  !D    3D   &
XXM0   !1    9    %&@  !D    4D   &0   !2X   9    %.   !D    5D
XXM   &0   !6X   9    %>   !D    6"   &0   !8P   9    %N   "U  
XXM  7    &0   !<H   9    %U   !D    7>   &0   !>@   9    %\@  
XXM!D    7\   &0   !AP   9    &)@  !D    8P   &0   !CH   9    &
XXM6@  !D    9D   &0   !FX   9    &>   !D    :8   &0   !J(   9 
XXM   &K   !D    :V   &0   !M8   9    &X   !D    ;J   &0   !O0 
XXM  9    '(   !D    <J   &0   !S0   9    '/@  !D    =(   &0   
XXM!W0   9    '?   !D    >$   &0   !XP   9    'E   !D    >^   &
XXM0   !\8   9    'S@  !D    ?6   &0   !]X   9    'Y@  !D    ?Z
XXM   &0   " H   9    (&@  !D    @J   &0   "$(   9    (2   '%  
XXM  A0   %4   "%@   9    (7@  !D    AD   B4   "&H  !!0   (>   
XXM %    B    74   "(P   50   (D@  #5    B@   &0   "*8   9    (
XXMK   (E    BR   04   ",    !0   (S   %U    C4   &0   "-H   9 
XXM   (X   (E    CF   04   "/0   !0   )    !D    D&   <4   "0X 
XXM !U0   )%@  !D    D<   &0   "2(  ")0   )*   $%    DV    4   
XXM":0   9    )L    5    G.   &0   "=0   9    )V@  (E    G@   0
XXM4   ">X   !0   * @  !D    HB   =4   "B@   U0   *.@  !D    I 
XXM   &0   "D8  ")0   *3   $%    I:    4    #0   9     /   !D  
XXM  !$   &0    $P   9     5   !D    !<   &0    &0   9     ;   
XXM!D    !T   &0    'P   9     A   !D    ",   &0    )0   9     
XXMG   !D    "D   &0    *P   9     M   !D    "\   &0    ,0   9 
XXM    S   !D    #4   &0    -P   9     Y   !D    #L   &0    /0 
XXM  9     _   !D    $$   &0    0P   9    !%   !D    $<   &0   
XXM 20   9    !+   !D    $T   &0    3P   9    !1   !D    %,   &
XXM0    50   9    !7   !D    %D   &0    6P   9    !=   !D    %\
XXM   &0    80   9    !C   !D    &4   &0    9P   9    !I   !D  
XXM  &L   &0    ;0   9    !O   !D    '$   &0    <P   9    !U   
XXM!D    '<   &0    >0   9    ![   !D    'T   &0    ?P   9    "
XXM!   !D    (,   &0    A0   9    "'   !D    (D   &0    BP   9 
XXM   "-   !D    (\   &0    D0   9    "3   !D    )4   &0    EP 
XXM  9    "9   !D    )L   &0    G0   9    "?   !D    *$   &0   
XXM HP   9    "E   !D    *<   &0    J0   9    "K   !D    *T   &
XXM0    KP   9    "Q   !D    +,   &0    M0   9    "W   !D    +D
XXM   &0    NP   9     ! $             "@$             $P4     
XXM  E     ' 8       ID    ) 4       ?N    +@$        $    -0$ 
XXM       $    / $        $    10<       J8    3@$             
XXM70$        $    90$             ;@$        $    =P$         
XXM    ?@$       0     A@$        $    CP$             F $     
XXM   $    G0$        P    I $        $    K@4             O0$ 
XXM       $    R $        $    SP$        8    TP$             
XXMW0$        $    [ $        $    ^ $      !C    !!0$         
XXM   !"P$        $   !#P$            !&0$        $   !'P$     
XXM   $   !*@4       @X   !- $            !.@$            !25]E
XXM>&ET %]S=')N8VUP %]S971?:V5Y %]S8V-S:60 7VEN:71?:V)D %]F8F1E
XXM<P!?:6UA9V4 7V-U<G-R;W< 7VM?8F]A<F0 7V%P<&Q?:V5Y7V%N<VD 7V)O
XXM='1O;0!?;F5W;&EN90!?8W5R<V-O; !?:6]C=&P 7U]S;V)U9@!?<&EX9F]N
XXM= !?9G!R:6YT9@!?=&]P %]M87)K<P!?8VAR=VED=&@ 7W1R86YS;&%T95]K
XXM97D 7W=I;G=I9'1H< !?<FEG:'0 7V9B %]C=7)S7VME>0!?9&5L87EP86EN
XXM=&EN9P!?=VEN:&5I9VAT< !?<F5F;&5C=&EO;G, 7V]P96X 7VMB %]V=#4R
XXM;6]D90!?;&5F= !?8VAR:&5I9VAT %]P<F5P7VMB9 !?7VEO8@!?86QT7VME
XX(>7!A9%\U,@!F
XX 
XXend
@//E*O*F libdir/uu.vt100keys.o//
chmod u=rw,g=rw,o=rw libdir/uu.vt100keys.o
 
echo x - src/ttyvt100.h
sed 's/^XX//' > "src/ttyvt100.h" <<'@//E*O*F src/ttyvt100.h//'
XX/*	@(#)ttyvt100.h 1.8 86/04/13 MITRE	*/

XX/*
XX * Copyright (c) 1985 by Mitre Corp.
XX */

XX/* cursor states */
XX#define NOCURSOR	0
XX#define UNDERCURSOR	1
XX#define BLOCKCURSOR	2

XX/* terminal states */
XX#define ALPHA		0	/* normal state reading characters */
XX#define ESCAPE 		1	/* plain escape so far */
XX#define ESCBRKT		2	/* CSI; i.e. esc-[ */
XX/* deleted */
XX#define VT52            4	/* emulating vt52 terminal */
XX/* deleted */
XX#define ESCBRKTQM	6	/* now have esc-[? sequence */
XX#define ESCAPESHARP     7	/* now have esc-# sequence */
XX#define ESCAPELPRN      8	/* now have esc-( sequence */
XX#define ESCAPERPRN      9	/* now have esc-) sequence */
XX#define ESC52Y         10	/* in vt52 abs cursor mode sequence */
XX#define EATCHARS       11	/* when at end of line and nowrap */

XX#define G0 0			/* grafix states set with esc-( and esc-) */
XX#define G1 1

XXunsigned short  marks[24];		/* font type for each line */
XX		
XXunsigned short  reflections[24][132];	/* one for each char in image */

XX#define  NUMER5 1		/* vt52 numeric mode for keys */
XX#define  NUMERA 2		/* ansi numeric mode  "   "   */
XX#define  APPL5  3		/* vt52 application mode  */
XX#define  APPLA  4		/* ansi application mode  */

XX		/*font handling states for each line  */
XX		/*used for setting marks in line array  */
XX#define  NORMAL_F  0x00		/* standard 80 col mode  */
XX#define  WIDE_F    0x40		/* one of the double wide types */
XX#define  TOP_F     0x01		/* top half of a double height char */
XX#define  BOTTOM_F  0x02		/* bottom half of same */
XX#define  NARROW_F  0x20		/* 132 col mode (66 if wide) */
XX#define  GRAFIX_F  0x04		/* using a graphics font */
XX#define  BUSY      0x80		/* set if any characters have been written */
XX#define  BOLD_F    0x08		/* bold attribute on */
XX#define  SIZE_MASK 0xF0		/* just the width part */
XX#define  TYPE_MASK 0x0F		/* just the font part */
XX#define  HALF_MASK 0x03		/* just top and bottom */

XX#define  UK      0		/* special character set pound sign */
XX#define  ASC     1		/* regular ascii character set */
XX#define  GRAPH   2		/* graphics character set */

XX#define  BOLD    0x01		/* attributes for fillfunc memory */
XX#define  UNDER   0x02
XX#define  REVERSE 0x04
XX#define  BLINK   0x08



XX#define grafon()  graf_norm = (activeCharset == G1)?((g1 == GRAPH)?GRAPH:ASC)\
XX	:((g0 == GRAPH)?GRAPH:ASC)    /* 1=ASCII, 2=GRAPHIC */

XXtypedef int character;
XX#define MAX_SCREEN_WIDTH  132
XX#define	CHAR_BUF_LEN	300
@//E*O*F src/ttyvt100.h//
chmod u=r,g=r,o=r src/ttyvt100.h
 
echo x - src/vt100fonts.c
sed 's/^XX//' > "src/vt100fonts.c" <<'@//E*O*F src/vt100fonts.c//'
XX#ifndef lint
XXstatic	char sccsid[] = "@(#)vt100fonts.c 1.9 86/05/02 Copyr 1985 MITRE Corp";
XX#endif

XX/*
XX * Copyright (c) 1985 by MITRE Corporation
XX */

XX#include <stdio.h>
XX#include <pixrect/pixrect_hs.h>
XX#include <sunwindow/window_hs.h>
XX#include <signal.h>
XX#include <ctype.h>

XX#include <sys/ioctl.h>
XX#include <sun/fbio.h>
XX#include <sundev/kbio.h>
XX#include <sundev/kbd.h>

XX#include "ttysw_impl.h"
XX#include "ttyvt100.h"
XX#include "charimage.h"
XX#include "charscreen.h"
XX#define vanillaChar(c)	((c >= ' ') && (c <= '~'))
XXextern struct pixwin *csr_pixwin;/* This is the ttysw windowfd */
XXextern struct pixfont *pixfont;		/* This is what csr_init uses ???? */
XXextern int chrwidth, underscore;
XXextern pstring(),bold(),nobold();
XXextern int debug,vright,cursrow;
XXextern int fillfunc,bold_norm,graf_norm, g1,g0,full_chrwidth, activeCharset;
XXextern int vtop,vbottom,vleft,vright;

XXstruct vtfont {			/* hold vt100 font info */
XX  char fontfile_name[15];	/* name of file in font directory */
XX  struct pixfont * fontfd;	/* handle after pf_open returns, else 0 */
XX  int charwidth;		/* width of this font in pixels */
XX  int line_length;		/* length of vt100 line  */
XX} fonttab[32] = {
XX  "gacha.r.8",		0,	8,	79, /* regular  */
XX  "thin.r.5",		0,	5,	131,/* thin  */
XX  "wide.r.16",		0,	16,	39, /* wide  */
XX  "thinwide.r.10",	0,	10,	65, /* wide big screen */
XX  "widetop.r.16",	0,	16,	39, /* top half */
XX  "thintop.r.10",	0,	10,	65, /* top half big screen */
XX  "widebot.r.16",	0,	16,	39, /* bottom half */
XX  "thinbot.r.10",	0,	10,	65, /* bottom half big screen */
XX  "gacha.g.8",		0,	8,	79, /* start grafix fonts */
XX  "thin.g.5",		0,	5,	131,
XX  "wide.g.16",		0,	16,	39,
XX  "thinwide.g.10",	0,	10,	65,
XX  "widetop.g.16",	0,	16,	39,
XX  "thintop.g.10",	0,	10,	65,
XX  "widebot.g.16",	0,	16,	39,
XX  "thinbot.g.10",	0,	10,	65,
XX  "gacha.b.8",		0,	8,	79, /* start bold fonts */
XX  "thin.b.6",		0,	5,	131,
XX  "wide.b.16",		0,	16,	39,
XX  "thinwide.b.10",	0,	10,	65,
XX  "widetop.b.16",	0,	16,	39,
XX  "thintop.b.10",	0,	10,	65,
XX  "widebot.b.16",	0,	16,	39,
XX  "thinbot.b.10",	0,	10,	65,
XX  "gacha.bg.8",		0,	8,	79, /* start bold & grafix */
XX  "thin.bg.6",		0,	5,	131,
XX  "wide.bg.16",		0,	16,	39,
XX  "thinwide.bg.10",	0,	10,	65,
XX  "widetop.bg.16",	0,	16,	39,
XX  "thintop.bg.10",	0,	10,	65,
XX  "widebot.bg.16",	0,	16,	39,
XX  "thinbot.bg.10",	0,	10,	65
XX  };

XX  
XX/* Finds and sets up fonts and flags for rewriting lines */

XXfind_font(value)
XXunsigned value;
XX{
XX  unsigned type, attrib;
XX  int  fontindex = 0;
XX#ifdef DEBUG
XXif (debug6) printf ("entered find_font with arg: %x\n",value);
XX#endif
XX  type = value & 0x7F;
XX  attrib = (value & 0xFF00) >> 8;
XX#ifdef DEBUG
XXif(debug5) printf( "type == %x, attrib = %x\n",type, attrib);
XX#endif DEBUG
XX  if(attrib & REVERSE) bold();
XX  else nobold();
XX  if(attrib & UNDER) underscore = 1;
XX  else underscore = 0;
XX  if(type & NARROW_F) fontindex++;
XX  if(type & HALF_MASK ) 	/* One of the halfs */
XX    fontindex += 4;
XX  else if(type & WIDE_F)
XX    fontindex += 2;
XX  if(type &  BOTTOM_F) fontindex += 2;
XX  if(attrib & BOLD) fontindex += 16;
XX  if(type & GRAFIX_F) fontindex += 8;
XX  lookup_font(fontindex);
XX  return(fontindex);
XX}
XX 

XXlookup_font(index)
XX     int index;
XX{
XX  int returncode = 0;		/* means can't open font */
XX  if(fonttab[index].fontfd == 0) /* not open yet */
XX    {
XX      if(fontopen(index) != 0) 	returncode = -1;
XX    }
XX  pixfont = fonttab[index].fontfd; /* set up for new font parameters */
XX  chrwidth = fonttab[index].charwidth;
XX  vright = fonttab[index].line_length;
XX/*  vsetlinelength(image[cursrow], vright);*/
XX  return(returncode);
XX}

XXchar*  main_font_directory;

XXfontopen(index)
XX     int index;
XX{
XX  char  *p, fullname[60];
XX  int debug = 1;
XX  main_font_directory = getenv ("VTFONTS");
XX  strcpy(fullname, main_font_directory);
XX  strcat(fullname,"/");
XX  strcat(fullname,fonttab[index].fontfile_name);
XX  if((fonttab[index].fontfd = pf_open(fullname)) == NULL)
XX    {
XX      if(debug) printf("can't open %s font \n",fonttab[index].fontfile_name);
XX      return(-1);
XX    }
XX  return(0);
XX}

XXset_font(value)
XXint  value;
XX{
XX  int type;
XX  grafon();
XX  bold_norm = (fillfunc & BOLD) ? 1 : 0;
XX  if(bold_norm == 1) marks[cursrow] |= BOLD_F;
XX  else marks[cursrow] &= ~BOLD_F;
XX  if(graf_norm == 2) marks[cursrow] |= GRAFIX_F;
XX  else marks[cursrow] &= ~GRAFIX_F;
XX  type = marks[cursrow];
XX  type |= (fillfunc << 8);
XX  find_font( type);

XX}
XX/* This routine will watch the line font marks as we go to another row*/
XX/* and change fonts, calling rewrite if necessary */
XX/* Hopefully mostly simple cases where no font changes are  */
XX/* required. Next best case is where no wide or double chars are */
XX/* involved where we just change to correct font. Worst case is doubles. */
XX/* where we call rewrite() to possibly rewrite entire line in "new" font.*/

XXcheck_marks(now, was)
XXint now, was;
XX{
XX  int type;

XX#ifdef DEBUG
XX  if(debug4) printf("entering check_marks with marks %x, %x  \n",marks[was],marks[now]);
XX#endif

XX  if((marks[now]& ~BUSY) == (marks[was] & ~BUSY)) return;
XX  if(graf_norm == 2) marks[now] |= GRAFIX_F;
XX  else marks[now] &= ~GRAFIX_F;
XX  type = marks[now] + ((fillfunc & 0xFF) << 8);
XX  find_font( type);
XX  return;
XX}

XXrewrite (row)			/* if a double is called after line */
XXint row;			/* has been written  */

XX{
XX  char  save_image[133], chp[133];
XX  char *chpp, *imagep;
XX  int savecol,l, i,k, ochrwidth, olinelength, opixfont;
XX  short type, save_graf,save_bold,save_attrib;
XX  if(marks[row] & BUSY == 0) {		/* nothing in the line yet */
XX    set_font(5);
XX    return;
XX  }
XX  /* see long comment below for reason why we save these here */
XX  set_font(5);
XX  save_attrib = fillfunc;
XX  save_graf = graf_norm;
XX  save_bold = bold_norm;
XX  savecol = curscol;
XX  strncpy(save_image,image[row],132); 
XX#ifdef DEBUG
XXif(debug7) printf("IMAGE %d:%s \n",row, image[row]);
XX#endif
XX  opixfont = (int) pixfont;	/* remember font parameters */
XX  olinelength = vright;
XX  ochrwidth = chrwidth;
XX  lookup_font(0);		/* use standard font to blank line */
XX  pclearline(0,79,row);		/* clear out the old text */
XX  pixfont = (struct pixfont *) opixfont; /* reset font stuff */
XX  chrwidth = ochrwidth;
XX  vright = olinelength;
XX#ifdef DEBUG
XXif(debug5) printf("rewrite row with %x font marks\n", marks[row]);
XX#endif
XX  chpp = &chp[0];
XX  imagep = &save_image[0];
XX  for (i = 0, k = 0; *imagep ;i++ )
XX    {
XX      *chpp++ = *imagep++;
XX      if(reflections[row][i] != reflections[row][i+1])
XX	{
XX	  *chpp = '\0';
XX	  find_font(reflections[row][k]);
XX	  curscol = k;
XX	  writePartialLine(&chp[0], k);
XX	  chpp = &chp[0];
XX	  k = i + 1;
XX	}
XX    }
XX  *chpp = '\0';
XX  find_font(reflections[row][k]);
XX  curscol = k;
XX  writePartialLine(&chp[0], k);
XX  vsetlinelength(image[row], i);



XX  /* ********************************************************* */
XX  /* Since the attributes and graphics mode may have been set */
XX  /* after the text which we have just rewritten was originally */
XX  /* written, we have to save and restore them before and after */
XX  /* rewriting the line and we must also reset the font from those */
XX  /* parameters........................*/
XX  /* ************************************************************** */
XX  curscol = savecol;		/* restore current flags and column */
XX  graf_norm = save_graf;
XX  fillfunc = save_attrib;
XX  bold_norm = save_bold;
XX  if(graf_norm == 2) marks[cursrow] |= GRAFIX_F;
XX  else marks[cursrow] &= ~GRAFIX_F;
XX  type = marks[cursrow] + ((fillfunc & 0xFF) << 8);
XX  find_font(type);		/* and put font right for where we are */
XX#ifdef DEBUG
XXif(debug7) printf("image %d:%s \n",row,image[row]);
XX#endif
XX				
XX}

XXresquirt(row)
XX     int row;
XX{
XX  char * chpp, *imagep;
XX  char chp[133],save_image[133];
XX  int i, k;
XX  strncpy(save_image,image[row],133); 
XX  chpp = &chp[0];
XX  imagep = &save_image[0];
XX  for (i = 0, k = 0; *imagep ;i++ )
XX    {
XX      *chpp++ = *imagep++;
XX      if(reflections[row][i] != reflections[row][i+1])
XX	{
XX	  *chpp = '\0';
XX	  find_font(reflections[row][k]);
XX	  curscol = k;
XX	  writePartialLine(&chp[0], k);
XX	  chpp = &chp[0];
XX	  k = i + 1;
XX	}
XX    }
XX  *chpp = '\0';
XX  find_font(reflections[row][k]);
XX  curscol = k;
XX  writePartialLine(&chp[0], k);
XX  vsetlinelength(image[row], i);
XX}
@//E*O*F src/vt100fonts.c//
chmod u=r,g=r,o=r src/vt100fonts.c
 
echo x - vconfig.h
sed 's/^XX//' > "vconfig.h" <<'@//E*O*F vconfig.h//'
XX/* Copyright MITRE Corp. */

XX#define  MAIN_FONT_DIR 		"/usr/local/lib/fonts/vtfonts"

XX/* This structure holds the array of labels for the Pf keys on the
XX   vt100 panel. It is best not to try to add or subtract from the
XX   structure. The labels themselves can be easily changed in the
XX   array "keys" which follows. Just keep them to 6 chars in length.
XX*/

XXstruct key_labels {
XX  caddr_t button_handle;
XX  char norm_label[6];
XX  char mred_label[6];
XX  char ibm_label[6];
XX  char wd11_label[6];
XX  char emacs_label[6];
XX};

XX/* These are the labels which appear on the PF keys when the mouse
XX   clicks the label choice item (looks better in a wide window) */
XXstruct key_labels keys[23] = {
XX  0,	"",	"",             "",		"",   		 "",                        /* dummy     */
XX  0,	"1",	"-line",	"10",           "back",          "",                        /* 1 key = 1 */
XX  0,	"2",	"v",		"11",           "line",          "",                        /* 2 key = 2*/     
XX  0,	"3",	"-page",	"12",           "uppr",          "",                        /* 3 key = 3 */    
XX  0,	"4",	"<--",		"7",            "word",          "",                        /* 4 key = 4 */    
XX  0,	"5",	"home",		"8",            "para",          "",                        /* 5 key = 5 */    
XX  0,	"6",	"-->",		"9",            "bold",          "",                        /* 6 key = 6 */    
XX  0,	"7",	"+line",	"4",            "< >",           "",                        /* 7 key = 7 */    
XX  0,    "8",	"^",		"5",            "tabp",          "",                        /* 8 key = 8 */    
XX  0,	"9",	"+page",	"6",            "under",         "",                        /* 9 key = 9 */    
XX  0,	"0",	"rplcw",	"pf+12",        "advan",         "",			    /* 0 key = 10 */  
XX  0,	"PF1",	"pick",		"1",            "gold",          "",                        /* PF1 key = 11 */ 
XX  0,	"PF2",	"put",		"2",            "page",          "",                        /* PF2 key = 12 */ 
XX  0,	"PF3",	"-tabw",	"3",            "sent",          "",                        /* PF3 key = 13 */ 
XX  0,	"PF4",	"+tabw",	"PA1",          "  ",            "",			    /* PF4 key = 14 */
XX  0,	"-",	"+srch",	"PA2",          "aftwd",         "",                        /* - key = 15 */   
XX  0,	",",	"-srch",	"PA3",          "phras",         "",                        /* , key = 16 */   
XX  0,	"enter","goto",		"clear",        "swap",          "",			    /* enter key = 17 */
XX  0,	".",	"use",		"insrt",        "selct",         "",			    /* . key = 18 */  
XX  0,	"^",	"open",		"^",            "ruler",         "",                        /* up key = 19 */  
XX  0,	"-->",	"close",	"-->",          "cut",           "",                        /* right key = 20 */
XX  0,	"v",	"fill",		"v",            "delte",         "",                        /* down key = 21 */
XX  0,	"<--",	"tmpin",	"<--",          "paste",         ""			    /* left key = 22 */
XX};
@//E*O*F vconfig.h//
chmod u=r,g=r,o=r vconfig.h
 
echo x - vt100tool.1
sed 's/^XX//' > "vt100tool.1" <<'@//E*O*F vt100tool.1//'
XX.\" @(#)vt100tool.1 1.9 86/04/15 MITRE Corp; from UCB 4.2
XX.TH VT100TOOL 1 "15 APRIL 1986"
XX.SH NAME
XXvt100tool \- Dec VT100 terminal emulator tool
XX.SH SYNOPSIS
XX.B vt100tool
XX.SH DESCRIPTION
XX.LP
XX\fBvt100tool\fR emulates a DEC VT100 terminal with a  graphic
XXmodule.  It does this in much the same way as
XXshelltool (see
XX.IR suntools (1))
XXemulates a regular glass tty.
XXWhen \fBvt100tool\fR is invoked, a  shell is started up,
XXits output and input are connected to the emulator, and a new
XXwindow is formed.  The window is run  as a job from the calling window.
XXWhen the emulator is running the function keys take on the same
XXsignificance as VT100 function keys and keypad. Buttons R1-R15 
XXare the VT100 buttons:
XX.LP
XX PF1,PF2,PF3,7,8,9,4,5,6,1,2,3,0,.,Enter 
XX.LP
XXfrom
XXthe keypad. Buttons F3-F6 are the arrow keys: Up, Down, Left, and
XXRight, respectively, and F7-F9 are PF4,-,and  ",".
XXIt should be noted that these are only the markings on the keys. The
XXcontrol codes sent to the host are as described in the VT100 manual
XXand change depending on the setting of certain mode flags.
XX.LP
XXEvery effort has been made to make the emulator as faithful to the 
XXVT100 as the Sun Workstation will allow. Exceptions are listed at the end 
XXof this page. All sizes of characters are handled: regular, double and 
XXdouble-height and width as well as 132 character screen and all these
XXsizes scaled down to the small type of the 132 character screen. All
XXvt100 attributes are also handled: bold, reverse video. (I don't know how
XXto do blink on a Sun.) The emulator assumes that the graphics option
XXis installed and the graphics is activated by the \fBEscape-)\fR and 
XX\fBEscape-(\fR sequences as on a vt100. Vt52 mode is also handled correctly.
XX.LP
XXThe Setup panel at the bottom of the window can be used to alter certain
XXvt100 modes. (All have not been allowed as yet.) The 
XX.IR local/on-line, wrap,and newline modes 
XXcan be altered from the panel. Clicking the mouse on the 
XX.IR Setup Button
XXshows the options and clicking on an option changes the mode
XXin the emulator. The 
XX.IR answerback 
XXmessage can be set from the Setup Panel
XXby typing it into the line containing the Sun caret. Only 20 characters
XXare allowed in the 
XX.IR answerback 
XXmessage as in the VT100.
XX.LP
XXThere is also a keyboard on the panel, which is obtained by clicking
XXthe mouse on the 
XX.IR Keyboard
XXlabel. This displays a keypad and a set of arrow keys as on a vt100.
XXThese perform the exact same action as the actual Sun-2 keyboard keys
XXwhen in the emulator, but they can be labelled on the panel as the
XXuser prefers. The current set of labels are for a vanilla vt100, a
XXDECMATE or Word-11 keypad, a version of the Rand editor called MRED
XXand an IBM 3270 emulator on a vt100. The labels will change as the
XXmouse is clicked on the appropriate label. 
XX.LP
XXTyping control-D to vt100tool causes it to die. 
XX.SH CAVEATS
XXLike all VT100 emulators, this probably doesn't duplicate every nuance of the
XXVT100.  In cases where the Sun environment prevents emulation of a feature
XXthen some reasonable thing is done on receipt of the escape code 
XXrequesting the feature. Generally, this is to ignore it. (Xon-Xoff is an
XXexample of this). 
XX.LP
XXThe vt100tool window may be treated just like other windows; it can be overlaid,
XXmoved, reshaped etc.
XXHowever, when the window is reshaped, the contents will not scale.
XX.LP
XX.SH FILES
XX../vtfonts/*
XX.SH "SEE ALSO"
XXsuntools(1)
XX.br
XXDigital VT100  Computer Display Terminal User's Manual
XX.SH BUGS
XX.IP (1)
XXOnly wrap, newline, answerback, local are altered by the Setup Panel even
XXthough other features appear there.
XX.IP (2)
XXThe fonts need help. There are probably some minor glitches here and
XXthere. They had to be created with fonttool which has a few problems
XXof its own.
XX.IP (3)
XXFull reverse screen is erratic. This seems to be caused by a "feature" deep
XXdown in the Sun code which resets the reverse video automatically. I
XXwill try to fix this if I have time and if anyone cares. 
XX.IP (4)
XXSmooth scroll does not work.
XX.IP (5)
XXYou tell me. <Ed Lafferty, MITRE Corp, ell@mitre-bedford.ARPA,
XXell@linus.UUCP>




@//E*O*F vt100tool.1//
chmod u=rw,g=r,o=r vt100tool.1
 
echo Inspecting for damage in transit...
temp=/tmp/sharin$$; dtemp=/tmp/sharout$$
trap "rm -f $temp $dtemp; exit" 0 1 2 3 15
cat > $temp <<\!!!
     417    3898   25667 uu.ttyvt100.o
     161    1716    9776 uu.vt100keys.o
      68     396    2378 ttyvt100.h
     283    1094    8036 vt100fonts.c
      46     380    2860 vconfig.h
     103     710    4083 vt100tool.1
    1078    8194   52800 total
!!!
wc  libdir/uu.ttyvt100.o libdir/uu.vt100keys.o src/ttyvt100.h src/vt100fonts.c vconfig.h vt100tool.1 | sed 's=[^ ]*/==' | diff -b $temp - >$dtemp
if test -s $dtemp
then echo "Ouch [diff of wc output]:" ; cat $dtemp
else echo "No problems found."
fi
exit 0