$ od -c -N 50000 [Indigo]<AltoSource>EMPRESSSOURCES.DM!2 0000000 377 \0 \0 E m p r e s s . b c p l \0 0000020 373 231 273 240 D \0 \0 376 001 \0 246 " / / B 0000040 c p l E m P r e s s . b c p l 0000060 - E M b a r k t e x t f 0000100 i l e s t o P R E S S f o 0000120 r m a t \r / / D a v i d B o 0000140 g g s \r \r / / l a s t m o d i 0000160 f i e d S e p t e m b e r 2 0000200 4 , 1 9 8 2 4 : 1 8 P M 0000220 b y T a f t \r / / B B a d 0000240 e n o c h F e b r u a r y 4 0000260 , 1 9 8 1 c h a n g e w h 0000300 a t h a p p e n s t o S w 0000320 a t e e w h e n f i n i s h 0000340 e d 032 ( 1 7 9 2 ) \r / / B B a 0000360 d e n o c h M a y 1 5 , 1 0000400 9 8 0 , 1 0 : 2 1 A M n 0000420 e w S p r u c e P r 376 001 \0 342 0000440 262 o t o c o l , a l w a y s 0000460 s e n d f o r N a m e i n 0000500 P L i s t \r / / R i c k T i 0000520 b e r i S e p t e m b e r 2 0000540 7 , 1 9 7 9 4 : 4 0 P M 0000560 n e w p r i n t e r c a p 0000600 a b i l i t i e s \r / / D C S 0000620 , J u n e 1 3 , 1 9 7 8 0000640 1 1 : 2 2 A M , n e w d 0000660 a t e f i e l d i n D D V 0000700 , f o r c e D a t e ( g l o 0000720 b a l / D ) s w i t c h \r / 0000740 / D a n S w i n e h a r t 0000760 M a y 4 , 1 9 7 8 3 : 0 0001000 2 P M , r e l a x s i z e 0001020 c o m p a r i s o n , u p d 0001040 a 376 001 \0 320 307 t e t i m e p k 0001060 g . \r \r g e t " P u p E F T P 0001100 . d e c l " \r g e t " A l t o 0001120 F i l e S y s . d " \r g e t " 0001140 P r e s s F i l e . d " 032 \r g e 0001160 t " S t r e a m s . d " \r \r e 0001200 x t e r n a l \r [ \r / / o u t g 0001220 o i n g p r o c e d u r e s \r 0001240 S e n d T o P r i n t e r ; F 0001260 i n i s h U p ; G e t P r i n 0001300 t e r S t a t u s ; G e t D a 0001320 t e A n d T i m e \r \r / / i n c 0001340 o m i n g p r o c e d u r e s 0001360 f r o m E m p r e s s 1 \r I 0001400 n i t C o m p o s e ; C o m p 0001420 o s e P r e s s F i l e \r \r / / 0001440 i n c o m i 376 001 \0 F 334 n g p r 0001460 o c e d u r e s f r o m E m 0001500 p r e s s I n i t \r S e a r c h 0001520 U s e r C m ; F r e e S p a c 0001540 e T o S y s Z o n e ; G e t P 0001560 a r a m e t e r s ; S e t U p 0001600 F i l e N a m e s \r \r / / i n c 0001620 o m i n g p r o c e d u r e s 0001640 f r o m E m p r e s s P a r 0001660 s e \r i s P r e s s F i l e ; 0001700 p a g e P o s i t i o n ; c o 0001720 p y P r e s s F i l e \r \r / / i 0001740 n c o m i n g p r o c e d u r 0001760 e s f r o m P r i n t e r P 0002000 L i s t \r N i n ; S c a n P L 0002020 i s t ; I n i t P L i s t S t 0002040 r e a m ; W r i t e 376 001 \0 P 003 0002060 S t r i n g P r o p ; W r i t 0002100 e N u m b e r P r o p ; W r i 0002120 t e B o o l e a n P r o p \r \r / 0002140 / i n c o m i n g p r o c e d 0002160 u r e s f r o m O S \r O p e 0002200 n F i l e ; R e a d B l o c k 0002220 ; F i l e P o s ; F i l e L 0002240 e n g t h \r E n d o f s ; G e 0002260 t s ; C l o s e s ; P u t s 0002300 ; R e s e t s ; S t a t e o 0002320 f s \r W s ; W s s ; C a l l 0002340 S w a t ; M o v e B l o c k ; 0002360 Z e r o ; M y F r a m e \r A 0002400 l l o c a t e ; F r e e ; R 0002420 e a d C a l e n d a r \r / / I n 0002440 i t i a l i z e F s t r e a m ; 0002460 376 001 \0 037 320 S e t u p F s t r e 0002500 a m \r \r / / i n c o m i n g p 0002520 r o c e d u r e s f r o m p 0002540 a c k a g e s \r P u t T e m p l 0002560 a t e \r E x t r a c t S u b s t 0002600 r i n g ; C r e a t e S t r i 0002620 n g S t r e a m ; S t r i n g 0002640 C o m p a r e ; C o n c a t e 0002660 n a t e S t r i n g s \r E n q u 0002700 e u e ; D e q u e u e ; S e 0002720 t T i m e r ; T i m e r H a s 0002740 E x p i r e d \r I n i t i a l i 0002760 z e C o n t e x t ; C a l l C 0003000 o n t e x t L i s t ; B l o c 0003020 k ; D i s m i s s \r O p e n L 0003040 e v e l 1 S o c k e t ; C l o 0003060 s e L e v 376 001 \0 023 h e l 1 S o c 0003100 k e t \r G e t P B I ; R e l e 0003120 a s e P B I ; C o m p l e t e 0003140 P u p ; G e t P a r t n e r \r 0003160 O p e n E F T P S o c ; C l o 0003200 s e E F T P S o c \r G e t E F T 0003220 P A b o r t ; S e n d E F T P 0003240 B l o c k ; S e n d E F T P E 0003260 n d \r \r / / o u t g o i n g s 0003300 t a t i c s \r b r e a k P a g e 0003320 N a m e ; p r i n t e d B y ; 0003340 h e a d e r D a t e \r w i d t 0003360 h T a b ; l e a d i n g ; p 0003400 o i n t S i z e ; f o n t N a 0003420 m e ; n u m C o p i e s \r n u 0003440 m I n p u t N a m e s ; c u r 0003460 r e n t I n p u t N 376 001 \0 231 # a 0003500 m e ; m a x I n p u t N a m e 0003520 s \r i n p u t N a m e s ; i n 0003540 p u t D V s ; p r e s s F i l 0003560 e ; m e r g i n g ; h e a d 0003600 i n g ; f o r c e D a t e \r a 0003620 d d r e s s e e N a m e ; k e 0003640 y S t r i n g ; d o c N a m e 0003660 ; t i t l e S t r i n g ; \r w 0003700 e i g h t ; s l o p e ; e x 0003720 p a n s i o n ; \r p r i n t e r 0003740 N a m e ; l o c a l F i l e n 0003760 a m e ; t r a n s m i t F l a 0004000 g ; w a i t F l a g \r c t x Q 0004020 ; p r i n t e r P o r t ; s 0004040 t a t u s S t r e a m \r u s i n 0004060 g S w a t e e ; r e s e t S 376 0004100 001 \0 | h w a t e e \r p a s s w o 0004120 r d ; f o r N a m e ; d u p 0004140 l e x ; f o r c e D u p l e x 0004160 \r \r / / i n c o m i n g s t a 0004200 t i c s f r o m O S \r k e y 0004220 s ; d s p ; s y s Z o n e \r 0004240 \r / / i n c o m i n g s t a t 0004260 i c s f r o m E m p r e s s 0004300 1 \r h e a d e r N a m e \r \r / / 0004320 i n c o m i n g s t a t i c s 0004340 f r o m E m p r e s s P a r 0004360 s e \r a d d r e s s e e s F i n 0004400 i s h e d \r ] \r \r c o m p i l e 0004420 t e s t a l t o \r i f s 0004440 o \r [ \r 0004460 e x t e r n a l \r 0004500 [ \r 376 001 \0 376 251 0004520 / / i n c o m i n g p r o 0004540 c e d u r e s \r 0004560 C O N V U D T \r 0004600 T r u n c a t e D i s k S t 0004620 r e a m ; P o s i t i o n P a 0004640 g e \r \t L o a d R a m ; I n i 0004660 t B c p l R u n t i m e \r \r 0004700 / / i n c o m i n 0004720 g s t a t i c s \r 0004740 U s e r N a m e \r 0004760 R a m I m a g e \r 0005000 ] \r ] 0005020 \r i f n o t \r 0005040 [ \r e x t e r n a l 0005060 \r [ \r 0005100 I n i t 376 001 \0 255 r N o 0005120 v a A l t o \r 0005140 ] \r ] \r \r s t a t i 0005160 c \r [ \r b r e a k P a g e N a m 0005200 e ; p r i n t e d B y ; h e 0005220 a d e r D a t e \r w i d t h T a 0005240 b ; p o i n t S i z e ; f o 0005260 n t N a m e ; n u m C o p i e 0005300 s \r n u m I n p u t N a m e s 0005320 = 0 ; c u r r e n t I n p u 0005340 t N a m e = 0 ; m a x I n 0005360 p u t N a m e s = 1 0 0 \r i 0005400 n p u t N a m e s ; i n p u t 0005420 D V s ; i t W e n t O K ; l 0005440 o n g R e t r y C o u n t \r c t 0005460 x Q ; p r i n t e r P o r t ; 0005500 p r i n t e r N a m e = 376 001 0005520 \0 370 375 0 ; t r a n s m i t F 0005540 l a g = t r u e \r s t a t u 0005560 s S t r e a m ; l o c a l F i 0005600 l e n a m e ; u s i n g S w a 0005620 t e e ; r e s e t S w a t e e 0005640 ; h e a d i n g ; f o r c e 0005660 D a t e \r p r e s s F i l e ; 0005700 a d d r e s s e e N a m e ; k 0005720 e y S t r i n g ; d o c N a m 0005740 e ; t i t l e S t r i n g \r m 0005760 e r g i n g = f a l s e ; 0006000 w a i t F l a g = f a l s e 0006020 \r w e i g h t ; s l o p e ; 0006040 e x p a n s i o n ; \r p r i n t 0006060 e r D o u b l e ; p r i n t e 0006100 r C o l o r / / B o o l e a n 0006120 \r p r 376 001 \0 320 3 i n t I n s t a 0006140 n c e I D ; p r i n t e r M a 0006160 x F i l e ; p r i n t e r C u 0006200 r r e n t F i l e \r p r i n t e 0006220 r U n d e r s t a n d s P L i s 0006240 t s \r p a s s w o r d ; f o r 0006260 N a m e ; d u p l e x ; f o 0006300 r c e D u p l e x \r ] \r \r m a n 0006320 i f e s t \r [ \r s t a c k L i m 0006340 i t = # 3 3 5 \r D E L = 0006360 # 1 7 7 \r \r s o c k e t P r i n 0006400 t e r S t a t u s = # 2 1 \r 0006420 s o c k e t P r i n t e r S e r 0006440 v e r = # 2 0 \r \r t y p e P 0006460 r i n t e r S t a t u s R e q u 0006500 e s t = # 2 0 0 \r t y p e P 0006520 r i n t e r S t 376 001 \0 ' 330 a t u 0006540 s R e p l y = # 2 0 1 \r t y 0006560 p e P r C a p a b i l i t y R e 0006600 q u e s t = # 2 0 2 \r t y p 0006620 e P r C a p a b i l i t y R e p 0006640 l y = # 2 0 3 \r t y p e J o 0006660 b S t a t u s R e q u e s t = 0006700 # 2 0 4 \r t y p e J o b S t a 0006720 t u s R e p l y = # 2 0 5 \r 0006740 \r / / p r i n t e r S t a t u 0006760 s e s \r p s N o t R e s p o n d 0007000 i n g = 0 \r p s N o t S p o 0007020 o l i n g = 1 \r p s S p o o 0007040 l i n g A n d W a i t i n g = 0007060 2 \r p s S p o o l i n g A n d 0007100 B u s y = 3 \r \r P r I n s t 0007120 P a s s 0 = # 1 2 5 3 376 001 \0 0007140 [ 357 1 4 \r P r I n s t P a s s 1 0007160 = # 1 7 0 3 7 7 032 \r 032 \r / / 0007200 S p r u c e P r o t o c o l 0007220 a b o r t c o d e s 032 \r m e 0007240 d i u m W a i t A b o r t = 0007260 7 / / S p r u c e m u s 0007300 t p r i n t s o m e f i l 0007320 e s b e f o r e i t c a n 0007340 s p o o l a g a i n 032 \r l o 0007360 n g W a i t A b o r t = 6 0007400 / / S p r u c e h a s d 0007420 i s a b l e d s p o o l i n g 0007440 - - w h o k n o w s w h 0007460 e n i t ' l l b e b a c k 0007500 \r ] \r \r / / - - - - - - - - - - 0007520 - - - - - - - - - - - - - - - - 0007540 - - 376 001 \0 257 N - - - - - - - - - 0007560 - - - - - - - - - - - - - - - \r 0007600 s t r u c t u r e S t r i n g 0007620 : [ l e n g t h b y t e ; 0007640 c h a r ^ 1 , 1 b y t e ] 0007660 \r / / - - - - - - - - - - - - - 0007700 - - - - - - - - - - - - - - - - * 0007740 - - - - - - - \r \f \r / / - - - - 0007760 - - - - - - - - - - - - - - - - * 0010040 \r l e t E m p r e s s ( l a y 0010060 o u t ) b e \r / / - - - - - - 0010100 - - - - - - - - - - - - - - - - * 0010140 - - - - - - - 376 001 \0 y | - - - - 0010160 - - - \r [ \r c o m p i l e i f 0010200 a l t o t h e n \r \t [ \r \t i f 0010220 L o a d R a m ( R a m I m a g 0010240 e ) e q 0 t h e n I n i 0010260 t B c p l R u n t i m e ( ) \r \t 0010300 @ s t a c k L i m i t = l a 0010320 y o u t ! ( $ A - $ A ) \t / / 0010340 R e c o v e r s p a c e \r \t ] 0010360 \r \r F r e e S p a c e T o S y s 0010400 Z o n e ( ) \r c t x Q = A l 0010420 l o c a t e ( s y s Z o n e , 2 0010440 ) ; c t x Q ! 0 = 0 \r E n 0010460 q u e u e ( c t x Q , I n i t i 0010500 a l i z e C o n t e x t ( A l l 0010520 o c a t e ( s y s Z o n e , 2 0 0010540 0 0 ) , 2 0 0 0 , M a i 376 001 \0 030 0010560 230 n ) ) \r c o m p i l e i f n 0010600 o v a t h e n [ I n i t N 0010620 o v a A l t o ( s y s Z o n e ) 0010640 ] \r C a l l C o n t e x t L i 0010660 s t ( c t x Q ! 0 ) r e p e a 0010700 t / / f o r e v e r \r ] \r \r 0010720 / / - - - - - - - - - - - - - - 0010740 - - - - - - - - - - - - - - - - * 0011000 - - - - - - \r a n d M a i n ( 0011020 ) b e \r / / - - - - - - - - - 0011040 - - - - - - - - - - - - - - - - * 0011100 - - - - - - - - - - - \r [ \r W s 0011120 ( " E m p r e s s o f S e p 0011140 t e m b e r 2 4 , 1 9 8 2 " 0011160 ) 376 001 \0 363 006 \r \r G e t P a r a m 0011200 e t e r s ( ) \r S e t U p F i l 0011220 e N a m e s ( ) \r \r p r e s s F 0011240 i l e = O p e n F i l e ( l 0011260 o c a l F i l e n a m e , k s T 0011300 y p e R e a d W r i t e , c h a 0011320 r I t e m ) \r l e t f P o s 0011340 = v e c 1 ; l e t l e n 0011360 S w a t e e = 2 5 6 \r t e s 0011400 t u s i n g S w a t e e i f 0011420 s o / / r e m e m b e r 0011440 h o w l o n g i t i s \r \t 0011460 [ \r \t u n l e s s r e s e t S 0011500 w a t e e d o \r \t \t [ \r \t \t F 0011520 i l e L e n g t h ( p r e s s F 0011540 i l e , f P o s ) \r \t \t l e n S 0011560 w a t e e 376 001 \0 q 304 = p a g 0011600 e P o s i t i o n ( f P o s ) 0011620 + 1 \r \t \t R e s e t s ( p r e 0011640 s s F i l e ) \r \t \t ] \r \t ] \r 0011660 i f n o t \r \t [ \r \t u n l 0011700 e s s E n d o f s ( p r e s s 0011720 F i l e ) d o / / a l r 0011740 e a d y e x i s t s \r \t 0011760 [ \r \t P u t T e m 0012000 p l a t e ( d s p , " * N O u t 0012020 p u t f i l e $ S a l r e 0012040 a d y e x i s t s . O v e 0012060 r w r i t e ? [ C o n f i r m 0012100 ] " , \r \t l o c a 0012120 l F i l e n a m e ) \r \t 0012140 l e t c h a r = G e t s 0012160 ( k e y s ) \r \t 376 001 \0 242 035 0012200 t e s t ( c h a r e q 0012220 $ * n ) % ( c h a r e q 0012240 $ y ) % ( c h a r e q $ 0012260 Y ) \r \t i f n o 0012300 t [ W s ( " N o * n " ) ; 0012320 F i n i s h U p ( ) ] \r 0012340 \t i f s o W s ( " Y 0012360 e s * n " ) \r \t ] \r \t 0012400 ] \r \r I n i t C o m p o s e ( ) 0012420 \r u n t i l c u r r e n t I n 0012440 p u t N a m e e q n u m I n 0012460 p u t N a m e s d o \r [ 0012500 \r i f u s i n g S w a t 0012520 e e \r t h e n b r e 0012540 a k P a g e N a m e = i n p 0012560 u t N a m e s ! c u r r e n t I 0012600 376 001 \0 217 M n p u t N a m e \r 0012620 C o m p o s e P r e s s F i l 0012640 e ( p r e s s F i l e , t r a n 0012660 s m i t F l a g ) \r F i l 0012700 e P o s ( p r e s s F i l e , f 0012720 P o s ) \r l e t l a s t 0012740 P a g e = p a g e P o s i t 0012760 i o n ( f P o s ) \r i f 0013000 t r a n s m i t F l a g & l 0013020 a s t P a g e n e 0 t h e 0013040 n \r S e n d T o P r 0013060 i n t e r ( p r e s s F i l e , 0013100 l a s t P a g e , t r u e ) 0013120 \r i f m e r g i n g & 0013140 n o t a d d r e s s e e s F 0013160 i n i s h e d d o \r 0013200 [ \r 376 001 \0 324 226 c u r r 0013220 e n t I n p u t N a m e = 0 0013240 \r l o o p \r 0013260 ] \r ] \r \r c o m p i l e i 0013300 f a l t o t h e n \r [ 0013320 \r i f u s i n g S w a t 0013340 e e t h e n / / m a k e 0013360 s u r e w e h a v e n ' t 0013400 e x t e n d e d i t \r 0013420 [ \r P o s i t i 0013440 o n P a g e ( p r e s s F i l e 0013460 , l e n S w a t e e ) \r 0013500 T r u n c a t e D i s k S 0013520 t r e a m ( p r e s s F i l e ) 0013540 \r ] \r ] \r C l 0013560 o s e s ( p r e s s F i l e ) \r 0013600 u n l e s s u s i 376 001 \0 306 376 n 0013620 g S w a t e e d o P u t T e 0013640 m p l a t e ( d s p , " * N P r 0013660 e s s f i l e = $ S " , l 0013700 o c a l F i l e n a m e ) \r i f 0013720 t r a n s m i t F l a g & 0013740 w a i t F l a g t h e n W a 0013760 i t F o r J o b ( ) \r F i n i s 0014000 h U p ( ) \r ] \r \r / / - - - - - 0014020 - - - - - - - - - - - - - - - - * 0014060 - - - - - - - - - - - - - - - \r 0014100 a n d F i n i s h U p ( ) b 0014120 e \r / / - - - - - - - - - - - - 0014140 - - - - - - - - - - - - - - - - * 0014200 - - - - - - - - \r [ \r i f t 376 0014220 001 \0 022 & r a n s m i t F l a g 0014240 t h e n G e t P r i n t e r S 0014260 t a t u s ( d s p ) \r f i n i s 0014300 h \r ] \r \r / / - - - - - - - - - 0014320 - - - - - - - - - - - - - - - - * 0014360 - - - - - - - - - - - \r a n d 0014400 S e n d T o P r i n t e r ( i n 0014420 p u t S t r e a m , l a s t P 0014440 a g e , u s e B r e a k N a m 0014460 e ) b e \r / / - - - - - - - - 0014500 - - - - - - - - - - - - - - - - * 0014540 - - - - - - - - - - - - \r [ \r W 0014560 s s ( d s p , " * N T r a n s m 0014600 i s s i o n p r o c e e d i n 0014620 g " ) \r 376 001 \0 . 316 l e t b u f 0014640 f e r = A l l o c a t e ( s 0014660 y s Z o n e , 2 5 6 ) \r l e t 0014700 e f t p S o c = v e c l e 0014720 n E F T P S o c \r l e t i t W 0014740 e n t O K = n i l \r [ 0014760 \r i t W e n t O K = t 0015000 r u e \r O p e n E F T P S 0015020 o c ( e f t p S o c , 0 , p r i 0015040 n t e r P o r t ) \r 0015060 [ \r l e t s t a t 0015100 u s = G e t P r i n t e r S 0015120 t a t u s ( s t a t u s S t r e 0015140 a m , t r u e ) \r 0015160 i f s t a t u s e q p s S 0015200 p o o l i n g A n d W a i t i n 0015220 g \r \t % s t a t 376 001 \0 016 \t u s 0015240 e q p s N o t R e s p o n d 0015260 i n g b r e a k \r 0015300 W s ( " * N P r i n t e r n o 0015320 t r e s p o n d i n g " ) \r 0015340 S e n d B l o c k ( e 0015360 f t p S o c , b u f f e r , 0015400 0 ) \t / / w a k e u p s p o 0015420 o l e r \r C l o s e 0015440 E F T P S o c ( e f t p S o c ) 0015460 \t / / r e s e t t o p a c k 0015500 e t 0 \r O p e n E 0015520 F T P S o c ( e f t p S o c , 0 0015540 , p r i n t e r P o r t ) \r 0015560 ] r e p e a t \r 0015600 R e s e t s ( i n p u t S t r e 0015620 a m ) \r i f p r i n 376 001 0015640 \0 ; 310 t e r U n d e r s t a n d 0015660 s P L i s t s t h e n \r \t [ 0015700 \r \t l e t b y t e s = G e 0015720 n P r i n t I n s t a n c e ( b 0015740 u f f e r , l a s t P a g e ) \r 0015760 \t i t W e n t O K = S e n d 0016000 B l o c k ( e f t p S o c , b 0016020 u f f e r , b y t e s ) \r \t ] 0016040 \r f o r p a g e = 1 0016060 t o l a s t P a g e d o \r 0016100 [ \r u n 0016120 l e s s i t W e n t O K b r 0016140 e a k \r R e a d B l 0016160 o c k ( i n p u t S t r e a m , 0016200 b u f f e r , 2 5 6 ) \r 0016220 i f p a g e e q l a s 0016240 t P a 376 001 \0 260 = g e t h e n 0016260 f i l l I n D D V ( b u f f e r 0016300 , u s e B r e a k N a m e ) \r 0016320 i t W e n t O K = 0016340 S e n d B l o c k ( e f t p S o 0016360 c , b u f f e r , 5 1 2 ) \r 0016400 ] \r i f i t 0016420 W e n t O K t h e n S e n d 0016440 E F T P E n d ( e f t p S o c , 0016460 5 0 0 ) \r C l o s e E F T 0016500 P S o c ( e f t p S o c ) \r 0016520 ] r e p e a t u n t i l i 0016540 t W e n t O K \r W s s ( d s p , 0016560 " . . . D o n e " ) \r F r e e ( 0016600 s y s Z o n e , b u f f e r ) \r 0016620 G e t P r i n t e r S t a t u s 0016640 ( s t a t u s S 376 001 \0 373 327 t r e 0016660 a m ) \r ] \r \r / / - - - - - - - 0016700 - - - - - - - - - - - - - - - - * 0016740 - - - - - - - - - - - - - \r a n 0016760 d S e n d B l o c k ( e f t p 0017000 S o c , b u f f e r , b y t 0017020 e s ) = v a l o f \r / / - - 0017040 - - - - - - - - - - - - - - - - * 0017120 - - \r [ \r l e t l o n g R e t 0017140 r y C o u n t = 1 2 \r 0017160 [ \r l e t l e n g t h 0017200 = S e n d E F T P B l o c k ( 0017220 e f t p S o c , b u f f e r , b 0017240 y t e s , 5 0 0 ) \r 376 001 \0 0017260 \v [ s w i t c h o n l e n g t 0017300 h i n t o \r 0017320 [ \r d e f a u 0017340 l t : i f l e n g t h e q 0017360 b y t e s b r e a k ; e n 0017400 d c a s e \r c 0017420 a s e E F T P T i m e o u t : 0017440 \r [ \r 0017460 W s ( " * 0017500 N P r i n t e r n o t r e s 0017520 p o n d i n g " ) \r 0017540 t e s t e f t p S 0017560 o c > > E F T P S o c . S e q N 0017600 u m e q 0 \r 0017620 i f s o r e s u l t i 0017640 s f a l s e \r 0017660 376 001 \0 D 367 i f n o t \r 0017700 [ \r 0017720 l 0017740 o n g R e t r y C o u n t = 0017760 l o n g R e t r y C o u n t - 0020000 1 \r 0020020 i f l o n g R e t r y C o u 0020040 n t e q 0 t h e n d o c 0020060 a s e 5 1 3 \r 0020100 ] \r 0020120 e n d c a s e \r 0020140 ] \r 0020160 c a s e E F T P A b o 0020200 r t R e c e i v e d : \r 0020220 [ \r 0020240 l e t p b i = 0020260 G e t E F T P 376 001 \0 264 330 A b o r 0020300 t ( e f t p S o c ) \r 0020320 R e s e t s ( s t 0020340 a t u s S t r e a m ) ; P u t 0020360 s ( s t a t u s S t r e a m , $ 0020400 * N ) \r 0020420 f o r i = 3 t o p b i 0020440 > > P B I . p u p . l e n g t h 0020460 - p u p O v B y t e s d o \r 0020500 P u 0020520 t s ( s t a t u s S t r e a m , 0020540 p b i > > P B I . p u p . b y t 0020560 e s ^ i ) 032 \r \t l e t 0020600 a b o r t C o d e = p b i > 0020620 > P B I . p u p . w o r d s ^ 1 0020640 \r t e s 0020660 t e f t p S o c > > E 376 001 \0 037 0020700 034 F T P S o c . S e q N u m e 0020720 q 0 & \r 0020740 a b o r t C o d e e q 0020760 R e c e i v e r B u s y A b o r 0021000 t \r 0021020 i f s o [ W s ( " * N P r 0021040 i n t e r i s b u s y " ) ; 0021060 D i s m i s s ( 2 0 0 ) ; e 0021100 n d c a s e ] \r 0021120 i f n o t 032 \r 0021140 \t \t [ 032 \r \t \t i f ( a b o r t 0021160 C o d e e q m e d i u m W a 0021200 i t A b o r t ) % ( a b o r 0021220 t C o d e e q l o n g W a i 0021240 t A b o r t ) t h e n 032 \r \t \t 0021260 \t [ D i s m i s s ( 5 0 0 ) ; 0021300 376 001 \0 3 T e n d c a s e ] 032 0021320 \r \t \t ] \r 0021340 ] \r c a s e 0021360 5 1 3 : \r 0021400 [ \r 0021420 W s ( " S o m e t h i n g i s 0021440 w r o n g . I ' l l r e 0021460 s t a r t a n d t r y a g 0021500 a i n " ) \r 0021520 r e s u l t i s f a l s e 0021540 \r ] \r 0021560 ] \r ] r 0021600 e p e a t \r r e s u l t i s t 0021620 r u e \r ] \r \r / / - - - - - - - 0021640 - - - - - - - - - - - - - - - - * 0021700 - - - - - - 376 001 \0 B 004 - - - - - 0021720 - - \r a n d f i l l I n D D V 0021740 ( d d v , u s e B r e a k N a m 0021760 e ) b e \r / / - - - - - - - - 0022000 - - - - - - - - - - - - - - - - * 0022040 - - - - - - - - - - - - \r [ \r l 0022060 e t s = l v ( d d v > > D 0022100 D V . F i l e S t r ) \r i f s 0022120 > > S t r i n g . l e n g t h 0022140 e q 0 \r t h e n M o v e B l 0022160 o c k ( s , \r ( u s e B r e 0022200 a k N a m e ? b r e a k P a g 0022220 e N a m e , h e a d e r N a m 0022240 e ) , \r s i z e D D V . F 0022260 i l e S t r / 1 6 ) \r \r s = 0022300 l v ( d d v > > D D V 376 001 \0 335 p 0022320 . C r e a t S t r ) \r u n l e s 0022340 s p r i n t e r U n d e r s t 0022360 a n d s P L i s t s \r d o 0022400 M o v e B l o c k ( s , p r 0022420 i n t e d B y , s i z e D D 0022440 V . C r e a t S t r / 1 6 ) \r \r 0022460 s = l v ( d d v > > D D V . 0022500 D a t e S t r ) \r i f s > > S 0022520 t r i n g . l e n g t h e q 0022540 0 \r t h e n M o v e B l o c k 0022560 ( s , h e a d e r D a t e , 0022600 s i z e D D V . D a t e S t r 0022620 / 1 6 ) \r \r i f f o r c e D a 0022640 t e & ( d d v > > D D V . d a t 0022660 e 0 e q 0 % d d v > > D 0022700 D V . d a t e 0 e q - 1 ) 0022720 376 001 \0 u 277 t h e n \r \t R e a d C 0022740 a l e n d a r ( l v d d v > > 0022760 D D V . d a t e ) \r \r i f d d 0023000 v > > D D V . l C o p y e q 0023020 d d v > > D D V . f C o p y \r 0023040 t h e n d d v > > D D V . l C 0023060 o p y = d d v > > D D V . f 0023100 C o p y + n u m C o p i e s - 1 0023120 \r ] \r \f \r / / - - - - - - - - - 0023140 - - - - - - - - - - - - - - - - * 0023200 - - - - - - - - - - - \r a n d 0023220 G e t P r i n t e r S t a t u s 0023240 ( s t r e a m , g e t C a p a 0023260 b i l i t i e s ; n u m a r g 0023300 s N ) = v a l o f \r / / - 0023320 - - - - - 376 001 \0 224 211 - - - - - - 0023340 - - - - - - - - - - - - - - - - * 0023400 - - - - - - - - \r / / R e t u 0023420 r n s t h e s t a t u s w 0023440 o r d i n t h e r e s p o 0023460 n s e , o r 0 i f n o 0023500 r e s p o n s e \r [ i f N 0023520 l s 2 t h e n g e t C a p 0023540 a b i l i t i e s = f a l s 0023560 e \r i f s t r e a m e q s 0023600 t a t u s S t r e a m t h e n 0023620 R e s e t s ( s t r e a m ) \r 0023640 l e t s t a t u s P o r t = 0023660 v e c l e n P o r t ; M o 0023700 v e B l o c k ( s t a t u s P o 0023720 r t , p r i n t e r 376 001 \0 025 252 P 0023740 o r t , l e n P o r t ) \r s t a 0023760 t u s P o r t > > P o r t . s o 0024000 c k e t ^ 1 = 0 \r s t a t u 0024020 s P o r t > > P o r t . s o c k 0024040 e t ^ 2 = s o c k e t P r i 0024060 n t e r S t a t u s \r l e t s 0024100 o c = v e c l e n P u p S 0024120 o c \r O p e n L e v e l 1 S o c 0024140 k e t ( s o c , 0 , s t a t u s 0024160 P o r t ) \r \r l e t p b i = 0024200 T r y F o r R e p l y ( s o c 0024220 , t y p e P r i n t e r S t a 0024240 t u s R e q u e s t , \r \t \t t y 0024260 p e P r i n t e r S t a t u s R 0024300 e p l y , G e t P B I , p u p O 0024320 v B y t e s ) \r u n l e s s 376 0024340 001 \0 240 P p b i d o \r [ \r 0024360 C l o s e L e v e l 1 S o 0024400 c k e t ( s o c ) \r r e s 0024420 u l t i s 0 \r ] \r P u t 0024440 s ( s t r e a m , $ * N ) \r f o 0024460 r i = 3 t o p b i > > 0024500 P B I . p u p . l e n g t h - p 0024520 u p O v B y t e s d o \r 0024540 P u t s ( s t r e a m , p b i > 0024560 > P B I . p u p . b y t e s ^ i 0024600 ) \r l e t s t a t u s = p 0024620 b i > > P B I . p u p . w o r d 0024640 s ^ 1 \r R e l e a s e P B I ( p 0024660 b i ) \r \r i f g e t C a p a b 0024700 i l i t i e s t h e n \r \t [ \r 0024720 \t l e t p b i = T r y F o 0024740 r R e p 376 001 \0 247 234 l y ( s o c , 0024760 t y p e P r C a p a b i l i t 0025000 y R e q u e s t , \r \t \t t y p e 0025020 P r C a p a b i l i t y R e p l 0025040 y , G e t P B I , p u p O v B y 0025060 t e s ) \r \t i f p b i t h e 0025100 n \r \t [ \r \t p r i n 0025120 t e r U n d e r s t a n d s P L 0025140 i s t s = t r u e \r \t 0025160 P a r s e P r i n t e r C a p a 0025200 b i l i t i e s ( p b i ) \r \t 0025220 R e l e a s e P B I ( p b i 0025240 ) \r \t ] \r \t ] \r C l o s e 0025260 L e v e l 1 S o c k e t ( s o c 0025300 ) \r r e s u l t i s s t a t u 0025320 s \r ] \r \r / / - - - - - - - - - 0025340 - - - - - - - - - 376 001 \0 5 214 - - 0025360 - - - - - - - - - - - - - - - - * 0025420 \r a n d T r y F o r R e p l y 0025440 ( s o c , t y p e , r e p l y T 0025460 y p e , p b i R o u t i n e , l 0025500 e n g t h ) = v a l o f \r / 0025520 / - - - - - - - - - - - - - - - 0025540 - - - - - - - - - - - - - - - - * 0025600 - - - - - \r [ \r f o r i = 0025620 1 t o 5 d o \r [ \r 0025640 C o m p l e t e P u p ( p b 0025660 i R o u t i n e ( s o c ) , t y 0025700 p e , l e n g t h ) \r l e 0025720 t t i m e r = n i l ; S 0025740 e t T i m e r ( l v t i m 376 001 0025760 \0 204 312 e r , 2 0 ) \r B l o 0026000 c k ( ) r e p e a t u n t i l 0026020 s o c > > P u p S o c . i Q . 0026040 h e a d n e 0 \r \t \t % T i 0026060 m e r H a s E x p i r e d ( l v 0026100 t i m e r ) \r l e t p 0026120 b i = D e q u e u e ( l v 0026140 s o c > > P u p S o c . i Q ) \r 0026160 i f p b i n e 0 t 0026200 h e n \r \t [ \r \t i f p b i > > 0026220 P B I . p u p . t y p e e q 0026240 r e p l y T y p e r e s u l t 0026260 i s p b i \r \t R e l e a s e P 0026300 B I ( p b i ) \r \t ] \r ] \r 0026320 r e s u l t i s 0 \r ] \r \r / / 0026340 - - - - - - - - - - - - - - - - 0026360 - - - 376 001 \0 032 N - - - - - - - - 0026400 - - - - - - - - - - - - - - - - 0026420 - - - - - - - - - \r a n d P r 0026440 i n t e r C a p a b i l i t y ( 0026460 n a m e , v a l u e ) = v 0026500 a l o f \r / / - - - - - - - - - 0026520 - - - - - - - - - - - - - - - - * 0026560 - - - - - - - - - - - \r [ \r i f 0026600 S t r i n g C o m p a r e ( n 0026620 a m e , " D U P L E X " ) e 0026640 q 0 t h e n \r \t [ \r \t p r i 0026660 n t e r D o u b l e = S t r 0026700 i n g C o m p a r e ( v a l u e 0026720 , " T R U E " ) e q 0 \r \t 0026740 r e s u l t i s t r u e \r \t ] 0026760 \r i f S t r i 376 001 \0 326 / n g C 0027000 o m p a r e ( n a m e , " C O 0027020 L O R " ) e q 0 t h e n \r 0027040 \t [ \r \t p r i n t e r C o l o r 0027060 = S t r i n g C o m p a r e 0027100 ( v a l u e , " T R U E " ) 0027120 e q 0 \r \t r e s u l t i s t 0027140 r u e \r \t ] \r i f S t r i n g 0027160 C o m p a r e ( n a m e , " I 0027200 D " ) e q 0 t h e n \r \t [ 0027220 \r \t u n l e s s p r i n t I n 0027240 s t a n c e I D \r \t \t d o p r 0027260 i n t I n s t a n c e I D = 0027300 A l l o c a t e ( s y s Z o n e 0027320 , 2 ) \r \t u n l e s s N i n 0027340 ( v a l u e , p r i n t I n s 0027360 t a n c e I D , t r u e 376 001 \0 0027400 227 e ) \r \t \t d o Z e r o ( p r 0027420 i n t I n s t a n c e I D , 2 0027440 ) \r \t r e s u l t i s t r u e 0027460 \r \t ] \r i f S t r i n g C o m 0027500 p a r e ( n a m e , " M A X - 0027520 F I L E - S I Z E " ) e q 0 0027540 t h e n \r \t [ \r \t u n l e s s 0027560 N i n ( v a l u e , l v p 0027600 r i n t e r M a x F i l e ) \r \t 0027620 \t d o Z e r o ( p r i n t e r 0027640 M a x F i l e , 2 ) \r \t r e s 0027660 u l t i s t r u e \r \t ] \r i f 0027700 S t r i n g C o m p a r e ( n 0027720 a m e , " C U R R E N T - F I 0027740 L E - S I Z E " ) e q 0 t 0027760 h e n \r \t [ \r \t u n l e s s N 0030000 i n 376 001 \0 332 032 ( v a l u e , l 0030020 v p r i n t e r C u r r e n t 0030040 F i l e ) \r \t \t d o Z e r o ( 0030060 p r i n t e r C u r r e n t F i 0030100 l e , 2 ) \r \t r e s u l t i s 0030120 t r u e \r \t ] \r r e s u l t i 0030140 s t r u e \r ] \r \r / / - - - - 0030160 - - - - - - - - - - - - - - - - * 0030240 \r a n d P a r s e P r i n t e 0030260 r C a p a b i l i t i e s ( p b 0030300 i ) = v a l o f \r / / - - - 0030320 - - - - - - - - - - - - - - - - * 0030400 - \r [ \r l e t 376 001 \0 236 234 s = 0030420 v e c l F S ; I n i t P L 0030440 i s t S t r e a m ( s , l v 0030460 p b i > > P B I . p u p . b y t 0030500 e s , \r \t \t \t p b i > > P B I . 0030520 p u p . l e n g t h - p u p O v 0030540 B y t e s ) \r r e s u l t i s 0030560 S c a n P L i s t ( s , P r i n 0030600 t e r C a p a b i l i t y ) \r ] 0030620 \r \r / / - - - - - - - - - - - - 0030640 - - - - - - - - - - - - - - - - * 0030700 - - - - - - - - \r a n d G e n 0030720 P r i n t I n s t a n c e ( b u 0030740 f , f i l e S i z e ) = v 0030760 a l o f \r / / - - - - - - - - - 0031000 - - - - - - - - - - - - 376 001 \0 203 0031020 246 - - - - - - - - - - - - - - - 0031040 - - - - - - - - - - - - - - - - 0031060 \r [ \r Z e r o ( b u f , 2 5 6 0031100 ) ; b u f ! 0 , b u f ! 1 0031120 = P r I n s t P a s s 0 , P r 0031140 I n s t P a s s 1 \r l e t s 0031160 = v e c l F S ; I n i t P 0031200 L i s t S t r e a m ( s , b u 0031220 f + 2 , 5 0 8 ) \r P u t s ( s 0031240 , $ ( ) \r W r i t e S t r i 0031260 n g P r o p ( s , " P R I N T 0031300 E D - B Y " , U s e r N a m e 0031320 ) \r W r i t e S t r i n g P r o 0031340 p ( s , " P R I N T E D - F O 0031360 R " , ( f o r N a m e ? f o 0031400 r N a m e , U s e r N a m e ) 0031420 ) 376 001 \0 242 @ \r i f p a s s w o 0031440 r d t h e n W r i t e S t r 0031460 i n g P r o p ( s , " H O L D 0031500 " , p a s s w o r d ) \r i f 0031520 p r i n t I n s t a n c e I D 0031540 t h e n W r i t e N u m b e r 0031560 P r o p ( s , " I D " , p r 0031600 i n t I n s t a n c e I D , t 0031620 r u e ) \r i f f o r c e D u p 0031640 l e x t h e n W r i t e B o 0031660 o l e a n P r o p ( s , " D U 0031700 P L E X " , d u p l e x ) \r W 0031720 r i t e N u m b e r P r o p ( s 0031740 , " F I L E - P A G E S " , 0031760 f i l e S i z e ) \r P u t s ( s 0032000 , $ ) ) \r r e s u l t i s 0032020 S t a t e o 376 001 \0 026 q f s ( s ) 0032040 + 4 / / s t r e a m p o s i 0032060 t i o n + p a s s w o r d 0032100 o v e r h e a d \r ] \r \r / / - - 0032120 - - - - - - - - - - - - - - - - * 0032200 - - \r a n d J o b S t a t u s 0032220 ( n a m e , v a l u e ) = 0032240 v a l o f \r / / - - - - - - - - 0032260 - - - - - - - - - - - - - - - - * 0032320 - - - - - - - - - - - - \r [ \r i 0032340 f S t r i n g C o m p a r e ( 0032360 n a m e , " S T A T U S " ) 0032400 e q 0 t h e n W s s ( d s 0032420 p , v a l u e ) \r r 376 001 \0 303 3 0032440 e s u l t i s t r u e \r ] \r \r 0032460 / / - - - - - - - - - - - - - - 0032500 - - - - - - - - - - - - - - - - * 0032540 - - - - - - \r a n d P a r s e 0032560 J o b S t a t u s ( p b i ) = 0032600 v a l o f \r / / - - - - - - - 0032620 - - - - - - - - - - - - - - - - * 0032660 - - - - - - - - - - - - - \r [ \r 0032700 l e t s = v e c l F S ; 0032720 I n i t P L i s t S t r e a m 0032740 ( s , l v p b i > > P B I . 0032760 p u p . b y t e s , \r \t \t \t p b 0033000 i > > P B I . p u p . l e n g t 0033020 h - p u p O v B y t e s ) \r r e 0033040 376 001 \0 f 206 s u l t i s S c a n 0033060 P L i s t ( s , J o b S t a t u 0033100 s ) \r ] \r \r / / - - - - - - - - 0033120 - - - - - - - - - - - - - - - - * 0033160 - - - - - - - - - - - - \r a n d 0033200 G e t J o b P B I ( s o c ) 0033220 = v a l o f \r / / - - - - - - 0033240 - - - - - - - - - - - - - - - - * 0033300 - - - - - - - - - - - - - - \r [ 0033320 \r l e t p b i = G e t P B 0033340 I ( s o c ) \r M o v e B l o c k 0033360 ( l v p b i > > P B I . p u p 0033400 . b y t e s , p r i n t I n s 0033420 t a n c e I D , 2 ) \r r e s u 0033440 l t i s 376 001 \0 351 246 p b i \r ] \r 0033460 \r / / - - - - - - - - - - - - - 0033500 - - - - - - - - - - - - - - - - * 0033540 - - - - - - - \r a n d W a i t 0033560 F o r J o b ( ) b e \r / / - - 0033600 - - - - - - - - - - - - - - - - * 0033660 - - \r [ \r R e s e t s ( k e y s 0033700 ) \r l e t s t a t u s P o r t 0033720 = v e c l e n P o r t ; 0033740 M o v e B l o c k ( s t a t u s 0033760 P o r t , p r i n t e r P o r t 0034000 , l e n P o r t ) \r s t a t u s 0034020 P o r t > > P o r t . s o c k e 0034040 t ^ 1 = 0 \r s t 376 001 \0 0 224 a 0034060 t u s P o r t > > P o r t . s o 0034100 c k e t ^ 2 = s o c k e t P 0034120 r i n t e r S t a t u s \r l e t 0034140 s o c = v e c l e n P u 0034160 p S o c \r O p e n L e v e l 1 S 0034200 o c k e t ( s o c , 0 , s t a t 0034220 u s P o r t ) \r \t [ \r \t W s s ( 0034240 d s p , " * N P r e s s < R 0034260 E T U R N > f o r s t a t u 0034300 s , < D E L > t o q u i t 0034320 . * N " ) \r \t l e t c h = 0034340 G e t s ( k e y s ) \r \t i f c 0034360 h e q D E L b r e a k \r \t 0034400 l e t p b i = p r i n t I 0034420 n s t a n c e I D ? \r \t \t T r y 0034440 F o r R e p l y ( s o c , t 376 0034460 001 \0 < 376 y p e J o b S t a t u s 0034500 R e q u e s t , \r \t \t t y p 0034520 e J o b S t a t u s R e p l y , 0034540 G e t J o b P B I , p u p O v B 0034560 y t e s + 4 ) , \r \t \t 0 \r \t t e 0034600 s t p b i \r \t i f s o \r \t 0034620 [ \r \t P a r s e J o b S 0034640 t a t u s ( p b i ) \r \t R 0034660 e l e a s e P B I ( p b i ) \r \t 0034700 ] \r \t i f n o t W s s 0034720 ( d s p , " N o r e s p o n 0034740 s e " ) \r \t G e t P r i n t e r 0034760 S t a t u s ( s t a t u s S t r 0035000 e a m ) \r \t ] r e p e a t \r C 0035020 l o s e L e v e l 1 S o c k e t 0035040 ( s o c ) \r ] \r \r / / - - - - - 0035060 - - - - 376 001 \0 364 { - - - - - - - 0035100 - - - - - - - - - - - - - - - - * 0035140 - - - - \r a n d G e t D a t e 0035160 A n d T i m e ( p u p P a c k a 0035200 g e E n a b l e d ) = v a l 0035220 o f \r / / - - - - - - - - - - - 0035240 - - - - - - - - - - - - - - - - * 0035300 - - - - - - - - - \r [ \r l e t 0035320 d a t e S t r i n g = A l l 0035340 o c a t e ( s y s Z o n e , 2 0 0035360 ) ; Z e r o ( d a t e S t r i 0035400 n g , 2 0 ) \r c o m p i l e t e 0035420 s t a l t o \r i f s o 0035440 [ C O N V U D T ( d a t e S t 0035460 r i n g , 0 ) ] 376 001 \0 331 357 \r 0035500 i f n o t \r [ \r 0035520 u n l e s s p u p 0035540 P a c k a g e E n a b l e d r 0035560 e s u l t i s d a t e S t r i 0035600 n g \r l e t s o c 0035620 = v e c l e n P u p S o c 0035640 \r O p e n L e v e l 0035660 1 S o c k e t ( s o c , 0 , t a 0035700 b l e [ 0 ; 0 ; s o c k 0035720 e t M i s c S e r v i c e s ] 0035740 ) \r f o r i = 0035760 1 t o 5 d o \r 0036000 [ \r C o 0036020 m p l e t e P u p ( G e t P B I 0036040 ( s o c ) , t y p e S t r i n g 0036060 T i m e R e q u e s t , p u 376 001 0036100 \0 4 032 p O v B y t e s ) \r 0036120 l e t t i m e r 0036140 = n i l ; S e t T i m e r ( 0036160 l v t i m e r , 2 0 ) \r 0036200 B l o c k ( ) r e 0036220 p e a t u n t i l s o c > > P 0036240 u p S o c . i Q . h e a d n e 0036260 0 % \r T 0036300 i m e r H a s E x p i r e d ( l 0036320 v t i m e r ) \r 0036340 l e t p b i = D e q u 0036360 e u e ( l v s o c > > P u p S 0036400 o c . i Q ) ; i f p b i e 0036420 q 0 l o o p \r 0036440 l e t o k = p b i > > 0036460 P B I . p u p . t y p e e q 0036500 t y p 376 001 \0 ^ 006 e S t r i n g T 0036520 i m e R e p l y \r 0036540 i f o k t h e n \r 0036560 [ \r 0036600 d a t e S t r i n 0036620 g > > S t r i n g . l e n g t h 0036640 = p b i > > P B I . p u p . 0036660 l e n g t h - p u p O v B y t e 0036700 s \r f o 0036720 r i = 1 t o d a t e S 0036740 t r i n g > > S t r i n g . l e 0036760 n g t h d o \r 0037000 d a t e S t r i n 0037020 g > > S t r i n g . c h a r ^ i 0037040 = p b i > > P B I . p u p . 0037060 b y t e s ^ i \r 0037100 ] \r 376 \0 v \v 261 0037120 R e l e a s e P B I ( p 0037140 b i ) \r i f 0037160 o k b r e a k \r 0037200 ] \r C l o s e L 0037220 e v e l 1 S o c k e t ( s o c ) 0037240 \r ] \r r e s u l t i 0037260 s d a t e S t r i n g \r ] \r \r 0037300 \r 032 \r 377 \0 \0 E m p r e s s I n i 0037320 t . b c p l \0 373 226 250 h 302 \0 \0 376 001 0037340 \0 322 333 / / B c p l E m P r e 0037360 s s I n i t . b c p l - E M 0037400 b a r k t e x t f i l e s 0037420 t o P R E S S f o r m a t \r 0037440 \r / / l a s t m o d i f i e d 0037460 : \r / / B r i a n B a d e n 0037500 o c h F e b r u a r y 4 , 0037520 1 9 8 1 a d d r e s e t S w 0037540 a t e e g l o b a l , i n c 0037560 r e a s e n a m e V e c \r g e 0037600 t " P u p E F T P . d e c l " 0037620 \r g e t " A l t o F i l e S y 0037640 s . d " \r g e t " P r e s s F 0037660 i l e . d " 032 ( 1 7 9 2 ) \r g e 0037700 t " S t r e a m s . d " \r \r e 0037720 x t e r n a l \r [ \r / / o u t g 0037740 o i n 376 001 \0 327 Y g p r o c e d 0037760 u r e s \r S e a r c h U s e r C 0040000 m ; F r e e S p a c e T o S y 0040020 s Z o n e ; G e t P a r a m e 0040040 t e r s ; S e t U p F i l e N 0040060 a m e s \r \r / / i n c o m i n g 0040100 p r o c e d u r e s f r o m 0040120 E m p r e s s \r G e t D a t e 0040140 A n d T i m e ; G e t P r i n 0040160 t e r S t a t u s ; F i n i s 0040200 h U p \r \r / / i n c o m i n g 0040220 p r o c e d u r e s f r o m 0040240 O S \r O p e n F i l e ; R e a 0040260 d B l o c k ; F i l e P o s \r 0040300 E n d o f s ; G e t s ; C l 0040320 o s e s ; P u t s ; R e s e 0040340 t s \r W s ; W 376 001 \0 266 315 s s ; 0040360 C a l l S w a t ; M o v e B 0040400 l o c k ; Z e r o ; M y F r 0040420 a m e \r I n i t i a l i z e Z o 0040440 n e ; A d d T o Z o n e ; A 0040460 l l o c a t e ; F r e e ; R 0040500 e a d C a l e n d a r \r \r / / i 0040520 n c o m i n g p r o c e d u r 0040540 e s f r o m p a c k a g e s 0040560 \r S e t u p R e a d P a r a m ; 0040600 R e a d P a r a m ; R e a d 0040620 P a r a m S t r e a m \r P u t T 0040640 e m p l a t e ; R e a d U s e 0040660 r C m I t e m \r E x t r a c t S 0040700 u b s t r i n g ; C r e a t e 0040720 S t r i n g S t r e a m ; S t 0040740 r i n g C o m p a r e ; 376 001 \0 0040760 = \t C o n c a t e n a t e S t r 0041000 i n g s \r I n i t i a l i z e C 0041020 o n t e x t ; C a l l C o n t 0041040 e x t L i s t ; B l o c k ; 0041060 D i s m i s s \r O p e n L e v e 0041100 l 1 S o c k e t ; C l o s e L 0041120 e v e l 1 S o c k e t ; I n i 0041140 t P u p L e v e l 1 \r G e t P B 0041160 I ; R e l e a s e P B I ; C 0041200 o m p l e t e P u p ; G e t P 0041220 a r t n e r \r I n i t E F T P P 0041240 a c k a g e \r \r / / i n c o m i 0041260 n g s t a t i c s \r b r e a k 0041300 P a g e N a m e ; p r i n t e 0041320 d B y ; h e a d e r D a t e \r 0041340 w i d t h T a b ; l e a d i n 0041360 g ; 376 001 \0 V P p o i n t S i z 0041400 e ; f o n t N a m e ; n u m 0041420 C o p i e s \r n u m I n p u t N 0041440 a m e s ; c u r r e n t I n p 0041460 u t N a m e ; m a x I n p u t 0041500 N a m e s \r i n p u t N a m e s 0041520 ; i n p u t D V s ; p r e s 0041540 s F i l e ; m e r g i n g ; 0041560 h e a d i n g ; f o r c e D a 0041600 t e \r a d d r e s s e e N a m e 0041620 ; k e y S t r i n g ; d o c 0041640 N a m e ; t i t l e S t r i n 0041660 g ; \r w e i g h t ; s l o p e 0041700 ; e x p a n s i o n ; \r p r i 0041720 n t e r N a m e ; l o c a l F 0041740 i l e n a m e ; t r a n s m i 0041760 t F l a g ; 376 001 \0 337 177 w a i t 0042000 F l a g \r c t x Q ; p r i n t 0042020 e r P o r t ; s t a t u s S t 0042040 r e a m \r u s i n g S w a t e e 0042060 ; r e s e t S w a t e e ; a 0042100 d d r e s s e e s F i n i s h e 0042120 d \r p a s s w o r d ; f o r N 0042140 a m e ; d u p l e x ; f o r 0042160 c e D u p l e x \r \r / / i n c o 0042200 m i n g s t a t i c s f r o 0042220 m O S \r k e y s ; d s p ; 0042240 s y s Z o n e ; U s e r P a s 0042260 s w o r d \r \r / / i n c o m i n 0042300 g s t a t i c s f r o m E 0042320 m p r e s s 1 \r h e a d e r N a 0042340 m e \r \r ] \r \r c o m p i l e t e 0042360 s t a l t o \r i 376 001 \0 244 0042400 f s o \r [ \r 0042420 e x t e r n a l \r 0042440 [ \r 0042460 / / i n c o m i n g p r o c e 0042500 d u r e s \r L 0042520 o o k u p E n t r i e s ; C O 0042540 N V U D T \r C 0042560 r e a t e D i s p l a y S t r e 0042600 a m ; S h o w D i s p l a y S 0042620 t r e a m \r T 0042640 r u n c a t e D i s k S t r e a 0042660 m ; P o s i t i o n P a g e \r 0042700 \t L o a d R a m ; I n i t B c 0042720 p l R u n t i m e \r \r 0042740 / / i n c o m i n g s 0042760 t a t i c s \r 0043000 f 376 001 \0 @ 366 p S y s D i r ; f 0043020 p U s e r C m ; U s e r N a m 0043040 e \r R a m I m 0043060 a g e \r \t ] \r ] \r 0043100 i f n o t \r [ \r 0043120 e x t e r n a l \r 0043140 [ \r 0043160 I n i t N o v a A l t o \r 0043200 ] \r 0043220 ] \r \r m a n i f e s t \r [ \r s 0043240 t a c k L i m i t = # 3 3 5 0043260 \r s o c k e t P r i n t e r S e 0043300 r v e r = # 2 0 \r p s N o t 0043320 S p o o l i n g = 1 \r ] \r \r 0043340 / / - - - - - - - - - - - - - - 0043360 - - - - - - - - - - - - - - - - 0043400 - - - - - - 376 001 \0 \n Z - - - - - 0043420 - - - - - - - - - - - \r s t r u 0043440 c t u r e S t r i n g : [ 0043460 l e n g t h b y t e ; c h a 0043500 r ^ 1 , 1 b y t e ] \r / / - 0043520 - - - - - - - - - - - - - - - - * 0043600 - - - \r \f \r / / - - - - - - - - 0043620 - - - - - - - - - - - - - - - - * 0043660 - - - - - - - - - - - - \r l e t 0043700 T e x t T o I n t ( s t r i n 0043720 g , d e f a u l t V a l ) = 0043740 v a l o f \r / / - - - - - - - - 0043760 - - - - - - - - - - - - - - - - 0044000 - - - - - - - - - - - 376 001 \0 313 \n 0044020 - - - - - - - - - - - - - - - - 0044040 - \r [ \r l e t v a l = 0 \r 0044060 f o r i = 1 t o s t r 0044100 i n g > > S t r i n g . l e n g 0044120 t h d o \r [ \r l e 0044140 t c h a r = s t r i n g > 0044160 > S t r i n g . c h a r ^ i \r 0044200 u n l e s s ( c h a r g 0044220 e $ 0 ) & ( c h a r l e 0044240 $ 9 ) d o \r [ \r 0044260 P u t T e m p l a t 0044300 e ( d s p , " * N $ S i s n 0044320 o t a n i n t e g e r . 0044340 V a l u e u s e d i s $ U 0044360 D " , \r s t r i n 0044400 g , d e f a u l t V a l ) \r 0044420 376 001 \0 344 B r e s u l t i 0044440 s d e f a u l t V a l \r 0044460 ] \r v a l = v a 0044500 l * 1 0 + ( c h a r - $ 0 ) 0044520 \r ] \r r e s u l t i s v 0044540 a l \r ] \r \r / / - - - - - - - - 0044560 - - - - - - - - - - - - - - - - * 0044620 - - - - - - - - - - - - \r a n d 0044640 S c a n F o r C h a r ( s t , 0044660 i , c h a r ) = v a l o 0044700 f \r / / - - - - - - - - - - - - 0044720 - - - - - - - - - - - - - - - - * 0044760 - - - - - - - - \r [ \t / / s c 0045000 a n s t r i n g s t , s t 0045020 a r t i n 376 001 \0 334 320 g a t c 0045040 h a r a c t e r i , f o r 0045060 s t ! i \r \t / / \t c h a r g e 0045100 0 , E Q \r \t / / \t c h a r 0045120 l s 0 , N E \r \t / / r e t 0045140 u r n u p d a t e d i , i 0045160 f f o u n d \r \t / / \t - 1 0045200 i f n o t \r \t / / t h e f 0045220 i r s t c h a r a c t e r o 0045240 f s t i s s t ! 1 \r \r l e 0045260 t j = s t > > S t r i n g 0045300 . l e n g t h \r t e s t c h a 0045320 r g e 0 i f s o \r \t w h i 0045340 l e i l e j d o \r \t \t [ 0045360 \r \t \t i f s t > > S t r i n g 0045400 . c h a r ^ i e q c h a r 0045420 r e s u l t i s i 376 001 \0 237 357 \r 0045440 \t \t i = i + 1 \r \t \t ] \r i f 0045460 n o t \t w h i l e i l e 0045500 j d o \r \t \t [ \r \t \t i f s t 0045520 > > S t r i n g . c h a r ^ i 0045540 n e - c h a r r e s u l t i 0045560 s i \r \t \t i = i + 1 \r \t \t 0045600 ] \r r e s u l t i s - 1 \r ] \r 0045620 \r / / - - - - - - - - - - - - - 0045640 - - - - - - - - - - - - - - - - * 0045700 - - - - - - - \r a n d F r e e 0045720 S p a c e T o S y s Z o n e ( ) 0045740 b e \r / / - - - - - - - - - - 0045760 - - - - - - - - - - - - - - - - * 0046020 - - - - - - - - - - \r [ \r l e 376 0046040 001 \0 027 O t f r e e B e g i n , 0046060 f r e e E n d = n i l , n i 0046100 l \r c o m p i l e t e s t a l 0046120 t o \r i f s o / / a l 0046140 t o s t a c k \r [ 0046160 \r f r e e B e g i n 0046200 = @ s t a c k L i m i t \r 0046220 f r e e E n d = M 0046240 y F r a m e ( ) - 1 0 0 \r 0046260 @ s t a c k L i m i t = 0046300 f r e e E n d \r ] 0046320 \r i f n o t / / n o v 0046340 a s t a c k \r [ \r 0046360 f r e e B e g i n 0046400 = M y F r a m e ( ) + 1 0 0 \r 0046420 f r e e E n d = 0046440 @ s t a 376 001 \0 > 212 c k L i m i t 0046460 \r @ s t a c k L i m 0046500 i t = f r e e B e g i n \r 0046520 ] \r l e t f r e e S 0046540 p a c e = f r e e E n d - f 0046560 r e e B e g i n \r t e s t f r 0046600 e e S p a c e l s 0 \r 0046620 i f n o t s y s Z o n e = 0046640 I n i t i a l i z e Z o n e ( f 0046660 r e e B e g i n , f r e e S p a 0046700 c e ) \r i f s o \r 0046720 [ \r s y s Z o n 0046740 e = I n i t i a l i z e Z o 0046760 n e ( f r e e B e g i n , # 7 7 0047000 7 7 7 ) \r i f f r 0047020 e e S p a c e - # 7 7 7 7 7 g 0047040 r 2 0 t h e n 376 001 \0 C 356 \r 0047060 A d d T o Z o n 0047100 e ( s y s Z o n e , f r e e B e 0047120 g i n + # 7 7 7 7 7 , f r e e S 0047140 p a c e - # 7 7 7 7 7 ) \r 0047160 ] \r ] \r \f \r / / - - - - - 0047200 - - - - - - - - - - - - - - - - * 0047240 - - - - - - - - - - - - - - - \r 0047260 a n d S e a r c h U s e r C m 0047300 ( ) b e \r / / - - - - - - - - 0047320 - - - - - - - - - - - - - - - - * 0047360 - - - - - - - - - - - - \r [ \r / 0047400 / s e t u p s o m e d e f 0047420 a u l t s \r l e t d e f a u l 0047440 t P r i n t e d B y = " 376 001 0047460 \0 257 203 $ " \r \r / / g o r e a d 0047500 u s e r . c m \r l e t u s e 0047520 r C m = O p e n F i l e ( " 0047540 U S E R . C M " , k s T y p e R 0047560 e a d O n l y , c h a r I t e m 0047600 , 0 , ( a l t o ? f p U s e r 0047620 C m , 0 ) ) \r i f u s e r C m 0047640 n e 0 t h e n \r [ \r 0047660 l e t s t r i n g = 0047700 v e c 1 2 7 \r l e t t 0047720 y p e = R e a d U s e r C m 0047740 I t e m ( u s e r C m , s t r i 0047760 n g ) \r i f t y p e e 0050000 q $ N & S t r i n g C o m 0050020 p a r e ( s t r i n g , " H A R 0050040 D C O P Y " ) e q 0 t h e 0050060 n \r 376 001 \0 j 224 [ \r 0050100 t y p e = R e a d 0050120 U s e r C m I t e m ( u s e r C 0050140 m , s t r i n g ) \r 0050160 i f t y p e e q $ E % 0050200 t y p e e q $ N b r e a k 0050220 \r l e t l v D e s 0050240 t = 0 \r i f t 0050260 y p e e q $ L t h e n \r 0050300 [ \r 0050320 i f S t r i n g C o m p 0050340 a r e ( s t r i n g , " P R E S 0050360 S " ) e q 0 t h e n \r 0050400 l v D e s t 0050420 = l v p r i n t e r N a m 0050440 e \r i f S t 0050460 r i n g C o m p 376 001 \0 - ' a r e 0050500 ( s t r i n g , " P R I N T E D 0050520 B Y " ) e q 0 t h e n \r 0050540 l v D e s 0050560 t = l v d e f a u l t P r 0050600 i n t e d B y \r 0050620 i f S t r i n g C o m p a r 0050640 e ( s t r i n g , " F O N T " ) 0050660 e q 0 t h e n / / $ $ 0050700 $ $ $ \r \t [ \r 0050720 t y p e = R e a 0050740 d U s e r C m I t e m ( u s e r 0050760 C m , s t r i n g ) \r 0051000 i f t y p e e 0051020 q $ E b r e a k \r 0051040 i f ( t y p e 0051060 e q $ S % t y p e 376 001 \0 0051100 023 ^ e q $ P ) t h e n \r \t \t 0051120 [ \r \t \t l e t s = 1 \r \t 0051140 \t l e t t = S c a n F o r 0051160 C h a r ( s t r i n g , s , $ 0051200 ) \r \t \t t e s t t g e 0 0051220 i f s o \r \t \t \t [ \r \t 0051240 \t \t f o n t N a m e = E 0051260 x t r a c t S u b s t r i n g ( 0051300 s t r i n g , 1 , t - 1 ) \r \t 0051320 \t \t s = S c a n F o r C 0051340 h a r ( s t r i n g , t , - $ 0051360 ) \r \t \t \t t = S c a n F o r 0051400 C h a r ( s t r i n g , s , $ 0051420 ) \r \t \t \t l e t p = E x t 0051440 r a c t S u b s t r i n g ( s 0051460 t r i n g , s , t l s 0 0051500 ? s 376 001 \0 ! ) t r i n g > > S t 0051520 r i n g . l e n g t h , t - 1 ) 0051540 \r \t \t \t p o i n t S i z e = 0051560 T e x t T o I n t ( p , p o i n 0051600 t S i z e ) \r \t \t \t F r e e ( s 0051620 y s Z o n e , p ) \r \t \t \t s = 0051640 S c a n F o r C h a r ( s t r 0051660 i n g , t , - $ ) \r \t \t \t i f 0051700 s g r 0 t h e n \r \t \t \t 0051720 [ \r \t \t \t w e i g h t = 0051740 s t r i n g > > S t r i n g . c 0051760 h a r ^ s \r \t \t \t s = S 0052000 c a n F o r C h a r ( s t r i n 0052020 g , s + 1 , - $ ) \r \t \t \t 0052040 i f s g r 0 t h e n \r \t 0052060 \t \t [ \r \t \t \t s 0052100 l o p e = s t 376 001 \0 s = r i n g 0052120 > > S t r i n g . c h a r ^ s \r 0052140 \t \t \t s = S c a n F 0052160 o r C h a r ( s t r i n g , s + 0052200 1 , - $ ) \r \t \t \t i f 0052220 s g r 0 \r \t \t \t 0052240 t h e n e x p a n s i o n 0052260 = s t r i n g > > S t r i n g 0052300 . c h a r ^ s \r \t \t \t ] 0052320 \r \t \t \t ] \r \t \t \t ] \r \t \t 0052340 i f n o t \r \t \t \t [ \r \t \t \t f o 0052360 n t N a m e = E x t r a c t 0052400 S u b s t r i n g ( s t r i n g 0052420 ) \r \t \t \t ] \r \t \t ] \r \t l 0052440 o o p \r \t ] \t \t \t \t \t / / 0052460 $ $ $ $ $ \r \t ] \r i 0052500 f l v D e s t n e 376 001 \0 243 0052520 0 t h e n \r 0052540 [ \r t y p e 0052560 = R e a d U s e r C m I t e 0052600 m ( u s e r C m , s t r i n g ) 0052620 \r i f t y p 0052640 e e q $ E b r e a k \r 0052660 i f ( t y p e 0052700 e q $ S % t y p e e q 0052720 $ P ) t h e n \t \t / / $ $ $ $ 0052740 $ \r @ l 0052760 v D e s t = E x t r a c t S 0053000 u b s t r i n g ( s t r i n g ) 0053020 \r ] \r 0053040 ] r e p e a t \r i f 0053060 t y p e e q $ E b r e a 0053100 k \r ] r e p e a t \r C l 0053120 o 376 001 \0 276 8 s e s ( u s e r C m 0053140 ) \r \r p r i n t e d B y = A 0053160 l l o c a t e ( s y s Z o n e , 0053200 1 2 7 ) \r l e t s s = C r 0053220 e a t e S t r i n g S t r e a m 0053240 ( p r i n t e d B y , 2 5 5 ) \r 0053260 f o r i = 1 t o d e f 0053300 a u l t P r i n t e d B y > > S 0053320 t r i n g . l e n g t h d o \r 0053340 t e s t d e f a u l t P 0053360 r i n t e d B y > > S t r i n g 0053400 . c h a r ^ i e q $ $ \r 0053420 i f s o W s s ( s s , 0053440 ( a l t o ? U s e r N a m e , 0053460 " N o v a " ) ) \r 0053500 i f n o t P u t s ( s s , d e 0053520 f a u l t P 376 001 \0 210 267 r i n t e 0053540 d B y > > S t r i n g . c h a r 0053560 ^ i ) \r C l o s e s ( s s ) \r ] 0053600 \r \f \r / / - - - - - - - - - - - 0053620 - - - - - - - - - - - - - - - - * 0053660 - - - - - - - - - \r a n d G e 0053700 t P a r a m e t e r s ( ) b e 0053720 \r / / - - - - - - - - - - - - - 0053740 - - - - - - - - - - - - - - - - * 0054000 - - - - - - - \r [ \r / / s e t 0054020 u p d e f a u l t s f o r 0054040 u s e r - s e t t a b l e p a 0054060 r a m e t e r s \r w i d t h T a 0054100 b = 8 \r n u m C o p i e s 0054120 = 1 \r p o i n t S i 376 001 \0 a 031 0054140 z e = 8 \r f o n t N a m e 0054160 = " G A C H A " \r a d d r e s 0054200 s e e N a m e = 0 \r k e y S 0054220 t r i n g = " < - - - - - - 0054240 - - - - - - - - - - - - - - - - * 0054300 - - > " \r t i t l e S t r i n g 0054320 = " < - - t i t l e - - > " 0054340 \r d o c N a m e = 0 \r w e i 0054360 g h t = $ M \r s l o p e = 0054400 $ R \r e x p a n s i o n = 0054420 $ R \r d u p l e x = f a l s 0054440 e \r w a i t F l a g = f a l 0054460 s e \r f o r N a m e = 0 \r p 0054500 a s s w o r d = 0 \r r e s e 0054520 t S w a t e e = f a l s e \r 0054540 376 001 \0 Y 270 \r S e a r c h U s e r 0054560 C m ( ) / / p r i n t e r N 0054600 a m e a n d p r i n t e d B 0054620 y \r \r i n p u t N a m e s = 0054640 A l l o c a t e ( s y s Z o n e 0054660 , m a x I n p u t N a m e s ) \r 0054700 i n p u t D V s = A l l o c 0054720 a t e ( s y s Z o n e , m a x I 0054740 n p u t N a m e s * l D V ) \r l 0054760 o c a l F i l e n a m e = 0 0055000 / / o n t o w h i c h p 0055020 r e s s c o n v e r s i o n 0055040 i s d o n e \r \r l e t n a m 0055060 e V e c , s w i t c h V e c 0055100 = v e c 4 0 , v e c 1 0 0055120 \r S e t u p R e a d P a r a m ( 0055140 n a m e V 376 001 \0 226 \r e c , s w i 0055160 t c h V e c ) \r \r / / g l o b a 0055200 l s w i t c h e s \r l e t n 0055220 o t F l a g = f a l s e \r h 0055240 e a d i n g = t r u e \r f o 0055260 r i = 1 t o s w i t c 0055300 h V e c ! 0 d o \r [ \r 0055320 s w i t c h o n s w i t c 0055340 h V e c ! i i n t o \r 0055360 [ \r c a s e $ 0055400 - : \r \t [ n o t F l a g = 0055420 n o t n o t F l a g ; l o o 0055440 p ] \r c a s e $ 0055460 H : c a s e $ h : \r \t [ h 0055500 e a d i n g = n o t n o t 0055520 F l a g ; e n d c a s e ] \r 0055540 c a s e 376 001 \0 234 % 0055560 $ D : c a s e $ d : \r \t [ 0055600 f o r c e D a t e = n o t 0055620 n o t F l a g ; e n d c a s e 0055640 ] \r c a s e $ M 0055660 : c a s e $ m : \r \t [ m e 0055700 r g i n g = n o t n o t F 0055720 l a g ; e n d c a s e ] \r 0055740 c a s e $ R : c a 0055760 s e $ r : \r \t [ r e s e t S 0056000 w a t e e = n o t n o t F 0056020 l a g ; e n d c a s e ] \r 0056040 c a s e $ S : c a 0056060 s e $ s : \r \t [ p a s s w o 0056100 r d = U s e r P a s s w o r 0056120 d ; e n d c a s e ] \r 0056140 c a s e $ T : c a s 376 0056160 001 \0 222 " e $ t : \r \t [ t r a 0056200 n s m i t F l a g = n o t 0056220 n o t F l a g ; e n d c a s e 0056240 ] \r c a s e $ W 0056260 : c a s e $ w : \r \t [ w a 0056300 i t F l a g = n o t n o t 0056320 F l a g ; e n d c a s e ] \r 0056340 c a s e $ 2 : \r \t 0056360 [ d u p l e x = n o t n 0056400 o t F l a g ; f o r c e D u p 0056420 l e x = t r u e ; e n d c 0056440 a s e ] \r ] \r 0056460 n o t F l a g = f a l s e 0056500 \r ] \r \r / / p a r a m e t 0056520 e r s \r u n t i l R e a d P a 0056540 r a m ( $ P , 0 , n a m e V e c 0056560 , s w i 376 001 \0 \r \0 t c h V e c , 0056600 t r u e ) e q - 1 d o \r 0056620 [ \r / / n o s w i t 0056640 c h d e f a u l t s t o i 0056660 n p u t f i l e n a m e \r 0056700 i f s w i t c h V e c ! 0 0056720 e q 0 t h e n s w i t c 0056740 h V e c ! 1 = $ i \r s 0056760 w i t c h o n s w i t c h V e 0057000 c ! 1 i n t o \r [ 0057020 \r c a s e $ a : 0057040 c a s e $ A : / / a d d 0057060 r e s s e e n a m e \r 0057100 [ \r 0057120 a d d r e s s e e N a m e = 0057140 E x t r a c t S u b s t r i n g 0057160 ( n a m e V e c ) 376 001 \0 002 026 \r 0057200 e n d c a s e \r 0057220 ] \r 0057240 c a s e $ c : c a s e $ 0057260 C : / / n u m b e r o f 0057300 c o p i e s \r 0057320 [ \r n u m C 0057340 o p i e s = T e x t T o I n 0057360 t ( n a m e V e c , n u m C o p 0057400 i e s ) \r e n 0057420 d c a s e \r ] 0057440 \r c a s e $ d : 0057460 c a s e $ D : / / D o c 0057500 u m e n t n a m e \r 0057520 [ \r d 0057540 o c N a m e = E x t r a c t 0057560 S u b s t r i n g ( n a m e 376 001 0057600 \0 221 302 V e c ) \r 0057620 e n d c a s e \r 0057640 ] \r c a s e $ 0057660 f : c a s e $ F : / / 0057700 f o n t n a m e \r 0057720 [ \r f o 0057740 n t N a m e = E x t r a c t 0057760 S u b s t r i n g ( n a m e V e 0060000 c ) \r e n d c 0060020 a s e \r ] \r 0060040 c a s e $ h : c a 0060060 s e $ H : / / h o s t 0060100 n a m e \r [ \r 0060120 p r i n t e r 0060140 N a m e = E x t r a c t S u 0060160 b s t r i n g ( n a m e V e c ) 0060200 \r 376 001 \0 244 344 e 0060220 n d c a s e \r 0060240 ] \r c a s e $ 0 : 0060260 c a s e $ 1 : c a s e $ 0060300 2 : c a s e $ 3 : c a s e 0060320 $ 4 : \r c a s e 0060340 $ 5 : c a s e $ 6 : c a s 0060360 e $ 7 : c a s e $ 8 : c 0060400 a s e $ 9 : \r 0060420 [ \r l e t 0060440 v a l = s w i t c h V e c ! 0060460 1 - $ 0 \r 0060500 f o r i = 2 t o s w i 0060520 t c h V e c ! 0 d o v a l 0060540 = v a l * 1 0 + s w i t c 0060560 h V e c ! i - $ 0 \r 0060600 w i d t h 376 001 \0 \t 177 T a b 0060620 = v a l \r 0060640 / / f a l l s t h r o u g h \r 0060660 ] \r 0060700 c a s e $ i : c a s e $ 0060720 I : / / i n p u t f i l 0060740 e \r [ \r 0060760 i f n u m I n p u 0061000 t N a m e s e q m a x I n p 0061020 u t N a m e s t h e n \r 0061040 [ \r 0061060 P u t T e m p l a 0061100 t e ( d s p , " * N T o o m a 0061120 n y n a m e s : o n l y f 0061140 i r s t $ U D f i l e s u 0061160 s e d " , \r 0061200 m a x I n p u t N a 376 001 \0 0061220 2 037 m e s ) \r 0061240 e n d c a s e \r 0061260 ] \r 0061300 i n p u t N a m e s ! n u m 0061320 I n p u t N a m e s = E x t 0061340 r a c t S u b s t r i n g ( n a 0061360 m e V e c ) \r 0061400 n u m I n p u t N a m e s = 0061420 n u m I n p u t N a m e s + 1 0061440 \r e n d c a s 0061460 e \r ] \r 0061500 c a s e $ k : c a s e 0061520 $ K : / / K e y s t r 0061540 i n g \r [ \r 0061560 k e y S t r i n 0061600 g = E x t r a c t S u b s t 0061620 r i 376 001 \0 e 026 n g ( n a m e V e 0061640 c ) \r e n d c 0061660 a s e \r ] \r 0061700 c a s e $ n : c a 0061720 s e $ N : / / N a m e 0061740 ( p r i n t e d f o r ) \r 0061760 [ \r 0062000 f o r N a m e = E x t r 0062020 a c t S u b s t r i n g ( n a m 0062040 e V e c ) \r e 0062060 n d c a s e \r 0062100 ] \r c a s e $ o : 0062120 c a s e $ O : / / o u 0062140 t p u t f i l e n a m e \r 0062160 [ \r 0062200 l o c a l F i l e n a m e 0062220 = E x t r 376 001 \0 251 236 a c t S 0062240 u b s t r i n g ( n a m e V e c 0062260 ) \r e n d c a 0062300 s e \r ] \r 0062320 c a s e $ p : c a s 0062340 e $ P : / / p o i n t 0062360 s i z e \r [ \r 0062400 p o i n t S i 0062420 z e = T e x t T o I n t ( n 0062440 a m e V e c , p o i n t S i z e 0062460 ) \r e n d c a 0062500 s e \r ] \r 0062520 c a s e $ s : c a s 0062540 e $ S : / / S e c r e t 0062560 ( p a s s w o r d ) \r 0062600 [ \r 0062620 p a s s w o r d = E 376 001 \0 032 0062640 001 x t r a c t S u b s t r i n g 0062660 ( n a m e V e c ) \r 0062700 e n d c a s e \r 0062720 ] \r c a s e 0062740 $ t : c a s e $ T : 0062760 / / t a b w i d t h \r 0063000 [ \r 0063020 w i d t h T a b = T e x t T 0063040 o I n t ( n a m e V e c , w i d 0063060 t h T a b ) \r 0063100 e n d c a s e \r 0063120 ] \r d e f a u l t 0063140 : \r [ \r 0063160 P u t T e m p l a t 0063200 e ( d s p , " * N I g n o r i n 0063220 g $ S / $ C . " , n a m e V e 0063240 c 376 001 \0 \t 234 , s w i t c h V e c 0063260 ! 1 ) \r e n d 0063300 c a s e \r ] \r 0063320 ] \r ] \r i f 0063340 p r i n t e r N a m e e q 0 0063360 & t r a n s m i t F l a g 0063400 t h e n \r [ \r R e a 0063420 d P a r a m ( $ P , " * N P r i 0063440 n t e r h o s t n a m e : 0063460 " , n a m e V e c ) \r p r 0063500 i n t e r N a m e = E x t r 0063520 a c t S u b s t r i n g ( n a m 0063540 e V e c ) \r ] \r C l o s e 0063560 s ( R e a d P a r a m S t r e a 0063600 m ) \r ] \r \r / / - - - - - - - - 0063620 - - - - - - - - - - - - - - - - 0063640 - - - - - - 376 001 \0 i 313 - - - - - 0063660 - - - - - - - - - - - - - - - - 0063700 - \r a n d S e t U p F i l e N 0063720 a m e s ( ) b e \r / / - - - - 0063740 - - - - - - - - - - - - - - - - * 0064020 \r [ \r i f l o c a l F i l e n 0064040 a m e e q 0 & n o t t 0064060 r a n s m i t F l a g t h e n 0064100 \r [ \r l e t l a s 0064120 t D o t = ( i n p u t N a m 0064140 e s ! 0 ) > > S t r i n g . l e 0064160 n g t h \r f o r i = 0064200 ( i n p u t N a m e s ! 0 ) > > 0064220 S t r i n g . l e n g t h t o 0064240 1 b y - 1 d o 376 001 \0 R , 0064260 \r i f ( i n p u t 0064300 N a m e s ! 0 ) > > S t r i n g 0064320 . c h a r ^ i e q $ . t h 0064340 e n \r [ l a 0064360 s t D o t = i - 1 ; b r e 0064400 a k ] \r l e t n a m e 0064420 B o d y = E x t r a c t S u 0064440 b s t r i n g ( i n p u t N a m 0064460 e s ! 0 , 1 , l a s t D o t ) \r 0064500 l o c a l F i l e n a m e 0064520 = C o n c a t e n a t e S t 0064540 r i n g s ( n a m e B o d y , " 0064560 . P r e s s " , t r u e , f a l 0064600 s e ) \r ] \r \r P u t T e m 0064620 p l a t e ( d s p , " * N F o n 0064640 t : $ S $ U D , t a b w i d 0064660 376 001 \0 R k t h : $ U D , c o p 0064700 i e s : $ U D " , \r f o n t N 0064720 a m e , p o i n t S i z e , w i 0064740 d t h T a b , n u m C o p i e s 0064760 ) \r h e a d e r D a t e = G 0065000 e t D a t e A n d T i m e ( t r 0065020 a n s m i t F l a g ) \r \r i f 0065040 t r a n s m i t F l a g t h e 0065060 n \r [ \r I n i t P u 0065100 p L e v e l 1 ( s y s Z o n e , 0065120 c t x Q , 1 0 ) \r p r i n 0065140 t e r P o r t = A l l o c a 0065160 t e ( s y s Z o n e , l e n P o 0065200 r t ) \r P u t T e m p l a 0065220 t e ( d s p , " , h o s t : $ 0065240 S " , p r i n t e r N a m e ) 0065260 \r u 376 001 \0 k ] n l e s s 0065300 G e t P a r t n e r ( p r i n t 0065320 e r N a m e , d s p , p r i n t 0065340 e r P o r t , 0 , s o c k e t P 0065360 r i n t e r S e r v e r ) f i 0065400 n i s h \r c o m p i l e t 0065420 e s t a l t o \r i 0065440 f n o t [ s t a t u s S t r 0065460 e a m = d s p ] \r 0065500 i f s o \r 0065520 [ \r s t a t u 0065540 s S t r e a m = C r e a t e 0065560 D i s p l a y S t r e a m ( 4 , 0065600 A l l o c a t e ( s y s Z o n e 0065620 , 2 0 0 0 ) , 2 0 0 0 ) \r 0065640 S h o w D i s p l a 0065660 y S t r e a m ( s t 376 001 \0 277 : a 0065700 t u s S t r e a m ) \r 0065720 ] \r i f G e t P 0065740 r i n t e r S t a t u s ( s t a 0065760 t u s S t r e a m ) e q p s 0066000 N o t S p o o l i n g t h e n 0066020 F i n i s h U p ( ) \r I 0066040 n i t E F T P P a c k a g e ( ) 0066060 \r ] \r \r i f n u m I n p 0066100 u t N a m e s e q 0 t h e 0066120 n \r [ \r W s ( " * N 0066140 N o i n p u t f i l e n a 0066160 m e s s u p p l i e d " ) \r 0066200 F i n i s h U p ( ) \r 0066220 ] \r \r c o m p i l e i f a l t 0066240 o t h e n \r [ \r l 0066260 e t s y s D i r = O p e 376 0066300 001 \0 F V n F i l e ( " S y s D i 0066320 r " , 0 , 0 , 0 , f p S y s D i 0066340 r ) \r i f s y s D i r 0066360 e q 0 t h e n C a l l S w 0066400 a t ( " C a n t o p e n S y 0066420 s D i r ! " ) \r L o o k u 0066440 p E n t r i e s ( s y s D i r , 0066460 i n p u t N a m e s , i n p u t 0066500 D V s , n u m I n p u t N a m e 0066520 s , t r u e ) \r C l o s e 0066540 s ( s y s D i r ) \r ] \r \r 0066560 t e s t l o c a l F i l e n a 0066600 m e e q 0 \r i f s o \r 0066620 [ \r u s 0066640 i n g S w a t e e = t r u e 0066660 \r l o c a l F i l e 0066700 n a m e 376 \0 352 376 % = a l t o 0066720 ? " S w a t e e " , " T E M 0066740 P . P R E S S " \r b 0066760 r e a k P a g e N a m e = i 0067000 n p u t N a m e s ! 0 / / f 0067020 i r s t s o u r c e f i l e 0067040 n a m e \r ] \r 0067060 i f n o t \r [ \r 0067100 u s i n g S w a t e e 0067120 = f a l s e \r b 0067140 r e a k P a g e N a m e = l 0067160 o c a l F i l e n a m e \r 0067200 ] \r \r a d d r e s s e e s 0067220 F i n i s h e d = ( a d d r 0067240 e s s e e N a m e e q 0 ) \r 0067260 ] 032 \r 377 \0 \0 E m p r e s s 1 . b 0067300 c p l \0 373 226 236 \t u \0 \0 376 001 \0 235 261 0067320 / / B c p l E m P r e s s 1 . 0067340 b c p l - E M b a r k t e 0067360 x t f i l e s t o P R E S 0067400 S f o r m a t \r / / J o e M 0067420 a l e s o n \r \r / / B B a d e 0067440 n o c h J a n u a r y 2 7 , 0067460 1 9 8 1 3 : 3 7 P M , 0067500 f i x b u g i f t a b p 0067520 u t s c u r r e n t P o s o 0067540 v e r m a x P o s 032 ( 1 7 9 2 0067560 ) \r / / B B a d e n o c h M 0067600 a y 1 5 , 1 9 8 0 , 1 0 : 0067620 2 6 A M , a l l o w f i l 0067640 e t r a n s m i s s i o n e 0067660 v e n i f n o f o n t s . 0067700 w i d t h s 032 \r / / R i c k 0067720 376 001 \0 n 357 T i b e r i J u l y 0067740 3 0 , 1 9 7 9 5 : 5 8 0067760 P M d u p l e x f o r m a t 0070000 \r / / D C S , J u n e 1 3 0070020 , 1 9 7 8 1 1 : 2 3 A M 0070040 , n e w d a t e f i e l d 0070060 i n D D V \r \r g e t " S t 0070100 r e a m s . d " \r g e t " A l 0070120 t o F i l e S y s . d " \r g e t 0070140 " P r e s s F i l e . d " \r \r 0070160 e x t e r n a l \r [ \r / / o u t 0070200 g o i n g p r o c e d u r e s 0070220 \r I n i t C o m p o s e ; C o 0070240 m p o s e P r e s s F i l e ; 0070260 W r i t e P a r t ; P u t E n 0070300 t i t y T r a i l e r ; \r A d d 0070320 F o n t E 376 001 \0 233 311 n t r y ; 0070340 P u t C o m m a n d B y t e ; 0070360 W r i t e C o m m a n d \r \r / / 0070400 o u t g o i n g s t a t i c s 0070420 \r p a r t D i r ; h e a d e r 0070440 N a m e \r \r / / i n c o m i n g 0070460 p r o c e d u r e s f r o m 0070500 O S \r O p e n F i l e ; W r 0070520 i t e B l o c k ; R e a d B l 0070540 o c k \r F i l e P o s ; S e t 0070560 F i l e P o s ; F i l e L e n 0070600 g t h \r E n d o f s ; G e t s 0070620 ; R e s e t s ; P u t s ; 0070640 C l o s e s \r W s ; W s s ; 0070660 W n s ; C a l l S w a t ; M 0070700 o v e B l o c k ; D o u b l e 0070720 A d d ; Z e r o \r 376 001 \0 202 217 A 0070740 l l o c a t e ; F r e e ; R 0070760 e t r y C a l l ; S y s E r r 0071000 \r I n i t i a l i z e F s t r e 0071020 a m ; S e t u p F s t r e a m 0071040 ; S e t E o f ; R e a d C a 0071060 l e n d a r \r \r / / i n c o m i 0071100 n g p r o c e d u r e f r o 0071120 m E m p r e s s \r S e n d T o 0071140 P r i n t e r \r \r / / i n c o m 0071160 i n g p r o c e d u r e s f 0071200 r o m E m P r e s s P a r s e 0071220 \r i s P r e s s F i l e ; p a 0071240 g e P o s i t i o n ; M e r g 0071260 e P r e s s F i l e ; C o p y 0071300 P r e s s F i l e \r \r / / i n c 0071320 o m i n g p r o c e d u r e 376 0071340 001 \0 W 335 f r o m T e m p l a 0071360 t e \r P u t T e m p l a t e \r \r 0071400 / / i n c o m i n g p r o c e 0071420 d u r e f r o m F o n t W i 0071440 d t h s \r L o o k u p F o n t N 0071460 a m e ; E n c o d e F a c e \r 0071500 \r / / i n c o m i n g p r o c 0071520 e d u r e s f r o m P r e s 0071540 s M l \r D o u b l e C o p ; D 0071560 o u b l e S h r ; D o u b l e 0071600 S u b ; M u l F u l l ; M u 0071620 l D i v \r \r / / i n c o m i n g 0071640 s t a t i c s f r o m O S 0071660 \r d s p ; s y s Z o n e \r \r / 0071700 / i n c o m i n g s t a t i c 0071720 s f r o m E m p r e s s \r b 0071740 r e a k 376 001 \0 033 033 P a g e N a m 0071760 e ; p r i n t e d B y ; h e 0072000 a d e r D a t e \r w i d t h T a 0072020 b ; p o i n t S i z e ; f o 0072040 n t N a m e ; n u m C o p i e 0072060 s \r n u m I n p u t N a m e s ; 0072100 c u r r e n t I n p u t N a m 0072120 e ; i n p u t N a m e s ; i 0072140 n p u t D V s \r m e r g i n g ; 0072160 d o c N a m e ; h e a d i n 0072200 g ; d u p l e x \r w e i g h t 0072220 ; s l o p e ; e x p a n s i 0072240 o n \r ] \r \r s t a t i c \r [ \r e 0072260 n t i t y B u f f e r ; e n t 0072300 i t y I n d e x / / h o l d 0072320 c o m m a n d s h e r e u 0072340 n t i l p a g e 376 001 \0 214 276 i 0072360 s d o n e \r b o x B o t t o m 0072400 ; b o x T o p ; c h a r W i 0072420 d t h s \r r e c o r d S t a r t 0072440 \r X M i n ; Y M i n ; X M a 0072460 x ; Y M a x \r h e i g h t L i 0072500 n e / / i n m i c a s \r c 0072520 u r r e n t P o s ; l i n e N 0072540 u m b e r ; m a x L i n e s \r 0072560 h e a d e r N a m e ; h e a d 0072600 e r P a g e N u m \r f s ; f a 0072620 s t B u f f e r \r f o n t D i r 0072640 ; p a r t D i r ; A d d e d 0072660 F o n t S e t s ; m a x F o n 0072700 t S e t s \r e n t i t y S t a r 0072720 t P o s ; e n t i t y S t a r 0072740 t I n d e x ; \r n o F o n t 376 001 0072760 \0 / 263 W i d t h s = f a l s 0073000 e \r f a c e ; r o t a t i o n 0073020 \r ] \r \f \r m a n i f e s t \r [ \r 0073040 l e n F a s t B u f f e r = 0073060 2 5 6 * 4 0 \r \r E H l e n = 0073100 s i z e E H / 1 6 \r P E l e n 0073120 = s i z e P E / 1 6 \r l e 0073140 n E n t i t y B u f f e r = 0073160 4 0 0 0 \r m a x P a r t s = 0073200 2 0 0 \r m a x F o n t s = 3 0073220 2 \r \r M i c a s P e r I n c h 0073240 = 2 5 4 0 \r P o i n t s P e r 0073260 I n c h = 7 2 \r M i c a H e 0073300 i g h t = M i c a s P e r I 0073320 n c h * 1 1 \t \t / / 1 1 i n c 0073340 h p a g e h e i g h t \r M i 0073360 c a W 376 001 \0 $ ; i d t h = ( 0073400 M i c a s P e r I n c h / 2 ) * 0073420 1 7 \t \t / / 8 1 / 2 i n c h 0073440 p a g e w i d t h \r T o p M 0073460 a r g = M i c a s P e r I n 0073500 c h \t \t \t / / 1 i n c h t o 0073520 p m a r g i n \r B o t t o m M 0073540 a r g = M i c a s P e r I n 0073560 c h / 2 \t \t / / 1 / 2 i n c h 0073600 b o t t o m m a r g i n \r L 0073620 e f t M a r g = M i c a s P 0073640 e r I n c h \t \t \t / / 1 i n c 0073660 h l e f t m a r g i n \r R i 0073700 g h t M a r g = M i c a s P 0073720 e r I n c h / 2 \t \t / / 1 / 2 0073740 i n c h r i g h t m a r g i 0073760 n \r m a x P o s 376 001 \0 235 236 = 0074000 M i c a W i d t h - R i g h 0074020 t M a r g \r H e a d e r M a r g 0074040 = M i c a s P e r I n c h / 0074060 2 \t \t / / 1 / 2 i n c h f r 0074100 o m t h e t o p \r T i m e M 0074120 a r g = M i c a s P e r I n 0074140 c h * 3 + M i c a s P e r I n c 0074160 h / 2 \t / / 3 1 / 2 i n c h 0074200 e s f r o m l e f t e d g 0074220 e \r C o p y M a r g = M i c 0074240 a s P e r I n c h * 5 \t \t / / 5 0074260 i n c h e s f r o m l e f 0074300 t e d g e \r P a g e M a r g 0074320 = M i c a W i d t h - ( R 0074340 i g h t M a r g + M i c a s P e 0074360 r I n c h ) \r N a m e M a 376 001 \0 0074400 240 267 r g = M i c a W i d t h 0074420 - ( R i g h t M a r g + 3 * 0074440 ( M i c a s P e r I n c h / 2 ) 0074460 ) 032 \r 032 \r n o F o n t s W i d t 0074500 h s F i l e = 1 032 \r f o n t 0074520 N o t I n F o n t W i d t h s 0074540 = 2 \r ] \r \r / / - - - - - - - 0074560 - - - - - - - - - - - - - - - - * 0074660 - - - - - \r s t r u c t u r e 0074700 [ l h b y t e ; r h b y 0074720 t e ] \r / / - - - - - - - - - 0074740 - - - - - - - - - - - - - - - - * 0075000 - - 376 001 \0 314 217 - - - - - - - - - 0075020 - - - - - - - - - - - - - - - - 0075040 - - - - - - - - \r s t r u c t u 0075060 r e B y t e s ^ 0 , 9 9 : [ 0075100 b l a n k b y t e ] \r / / - 0075120 - - - - - - - - - - - - - - - - * 0075220 - - - - - - - - - - - \r s t r u 0075240 c t u r e S t r i n g : [ 0075260 l e n g t h b y t e ; c h a 0075300 r ^ 1 , 2 5 5 b y t e ] \r / 0075320 / - - - - - - - - - - - - - - - 0075340 - - - - - - - - - - - - - - - - * 0075400 - - - - - - - 376 001 \0 R % - - - - 0075420 - - - - - - - - - - - - - - - - 0075440 - - \r s t r u c t u r e P o s 0075460 i t i o n : [ b l a n k w 0075500 o r d ; b l a n k b i t 7 0075520 ; B y t e s b i t 9 ] \r 0075540 / / - - - - - - - - - - - - - - 0075560 - - - - - - - - - - - - - - - - * 0075640 - - - - - - - - - - - - - - \r \r 0075660 / / - - - - - - - - - - - - - - 0075700 - - - - - - - - - - - - - - - - * 0075760 - - - - - - - - - - - - - - \r l 0076000 e t I n i t C o m p o 376 001 \0 307 0076020 B s e ( ) b e \r / / - - - - - 0076040 - - - - - - - - - - - - - - - - * 0076140 - - - - - - - \r [ \r f s = A 0076160 l l o c a t e ( s y s Z o n e , 0076200 l F S ) \r f a s t B u f f e r 0076220 = A l l o c a t e ( s y s Z o 0076240 n e , l e n F a s t B u f f e r 0076260 ) \r \r h e i g h t L i n e = 0076300 M u l D i v ( p o i n t S i z e 0076320 , M i c a s P e r I n c h , P o 0076340 i n t s P e r I n c h ) \r l e t 0076360 l e a d i n g = h e i g h 0076400 t L i n e / 8 / / l e a d i 0076420 n 376 001 \0 263 i g i s 1 / 8 o 0076440 f t h e f o n t h e i g h 0076460 t \r h e i g h t L i n e = h 0076500 e i g h t L i n e + l e a d 0076520 i n g \r m a x L i n e s = ( 0076540 M i c a H e i g h t - ( T o p M 0076560 a r g + B o t t o m M a r g ) ) 0076600 / h e i g h t L i n e \r \r l e t 0076620 f o n t S t r e a m = O p 0076640 e n F i l e ( " F o n t s . W i 0076660 d t h s " , k s T y p e R e a d 0076700 O n l y ) \r i f f o n t S t r 0076720 e a m e q 0 t h e n \r 0076740 [ \r n o F o n t W i d t 0076760 h s = n o F o n t s W i d t 0077000 h s F i l e \r r e t u r n 0077020 \r ] \r 376 001 \0 r 334 c h a r W 0077040 i d t h s = A l l o c a t e 0077060 ( s y s Z o n e , 2 5 6 ) \r l e 0077100 t b u f y = v e c 2 5 6 0077120 \r l e t b o u n d b o x = 0077140 v e c 4 \r r o t a t i o n = 0077160 0 \r f a c e = E n c o d e 0077200 F a c e ( w e i g h t , s l o 0077220 p e , e x p a n s i o n ) \r i 0077240 f f a c e e q - 1 t h e 0077260 n f a c e = 0 \r u n l e s 0077300 s L o o k u p F o n t N a m e 0077320 ( f o n t S t r e a m , f o n t 0077340 N a m e , f a c e , p o i n t S 0077360 i z e , r o t a t i o n , \r c 0077400 h a r W i d t h s , b u f y , b 0077420 o u n d b o x ) d o 376 001 \0 243 266 0077440 \r [ P u t T e m p l a t 0077460 e ( d s p , " * N I l l e g a l 0077500 f o n t n a m e : $ S " , 0077520 f o n t N a m e ) ; n o F o n 0077540 t W i d t h s = f o n t N o 0077560 t I n F o n t W i d t h s ; r 0077600 e t u r n ] \r C l o s e s ( f 0077620 o n t S t r e a m ) \r b o x B o 0077640 t t o m = b o u n d b o x ! 0077660 1 \r b o x T o p = b o u n d 0077700 b o x ! 3 \r \r p a r t D i r = 0077720 A l l o c a t e ( s y s Z o n 0077740 e , P E l e n * ( m a x P a r t 0077760 s + 2 ) ) \r f o n t D i r = 0100000 A l l o c a t e ( s y s Z o n e 0100020 , F E l e n * m a x F o n t s + 0100040 376 001 \0 337 253 2 ) / / 2 o v e r 0100060 h e a d \r e n t i t y B u f f e 0100100 r = A l l o c a t e ( s y s 0100120 Z o n e , l e n E n t i t y B u 0100140 f f e r ) \r e n t i t y S t a r 0100160 t P o s = A l l o c a t e ( 0100200 s y s Z o n e , 2 ) \r ] \r \f \r / 0100220 / - - - - - - - - - - - - - - - 0100240 - - - - - - - - - - - - - - - - * 0100320 - - - - - - - - - - - - - \r a n 0100340 d C o m p o s e P r e s s F i 0100360 l e ( o u t p u t F i l e , t r 0100400 a n s m i t t i n g ) = v a 0100420 l o f \r / / - - - - - - - - - - 0100440 - - - - - 376 001 \0 231 272 - - - - - - 0100460 - - - - - - - - - - - - - - - - * 0100540 - - - - - - - \r [ \r p a r t D i 0100560 r ! 0 , f o n t D i r ! 0 , 0100600 f o n t D i r ! 1 = 0 , 0 0100620 , 0 \r m a x F o n t S e t s , 0100640 A d d e d F o n t S e t s = 0100660 0 , 0 \r A d d F o n t ( f o n t 0100700 N a m e , f a c e , p o i n t S 0100720 i z e , r o t a t i o n , f o n 0100740 t D i r ) \r X M i n = 3 2 0 0100760 0 0 ; X M a x = 0 \r Y M i 0101000 n = 3 2 0 0 0 ; Y M a x 0101020 = 0 \r e n t i t y I n d e x , 0101040 e n t i t y S t a r 376 001 \0 L 225 t 0101060 I n d e x = 0 , 0 ; Z e r 0101100 o ( e n t i t y S t a r t P o s 0101120 , 2 ) \r r e c o r d S t a r t 0101140 = 0 \r \r R e s e t s ( o u t p 0101160 u t F i l e ) \r [ / / 0101200 f i l e l o o p \r / / b 0101220 e f o r e s t a r t i n g a 0101240 n o t h e r i n p u t f i l 0101260 e , \r / / s e e i f t 0101300 h i s p r e s s f i l e i 0101320 s g e t t i n g t o o l a 0101340 r g e . \r / / s p r u c e 0101360 s e e m s t o b l o w u 0101400 p o n p r e s s f i l e s 0101420 > 5 1 2 p a g e s , \r 0101440 / / b u t w e l i m i t 376 0101460 001 \0 261 324 t h i n g s h e r e 0101500 t o a s m a l l e r n u 0101520 m b e r t o \r / / g a i 0101540 n s o m e p i p e l i n i n 0101560 g : w h i l e S p r u c e 0101600 i s m u n c h i n g o n 0101620 t h e \r / / f i r s t 2 0101640 0 0 o r s o p a g e s , 0101660 w e a r e p r e s s i n g 0101700 t h e n e x t b a t c h \r 0101720 i f t r a n s m i t t i n 0101740 g t h e n \r [ \r 0101760 l e t f P o s = 0102000 v e c 1 ; F i l e P o s ( o 0102020 u t p u t F i l e , f P o s ) \r 0102040 i f p a g e P o s 0102060 i t i o 376 001 \0 333 267 n ( f P o s ) 0102100 g r 2 0 0 b r e a k \r 0102120 ] \r \r / / o p e n 0102140 n e x t i n p u t f i l e 0102160 \r i f c u r r e n t I n 0102200 p u t N a m e e q n u m I n 0102220 p u t N a m e s b r e a k 0102240 / / n o m o r e f i l e s \r 0102260 h e a d e r N a m e = 0102300 i n p u t N a m e s ! c u r r e 0102320 n t I n p u t N a m e \r l 0102340 e t f p = l v ( i n p u 0102360 t D V s + l D V * c u r r e n t 0102400 I n p u t N a m e ) > > D V . f 0102420 p \r c u r r e n t I n p u 0102440 t N a m e = c u r r e n t I 0102460 n p u t N a m e 376 001 \0 307 320 + 1 0102500 \r \r P u t T e m p l a t e 0102520 ( d s p , " * N F i l e : $ S 0102540 " , h e a d e r N a m e ) \r 0102560 l e t i n p u t F i l e = 0102600 O p e n F i l e ( h e a d e r 0102620 N a m e , k s T y p e R e a d O 0102640 n l y , c h a r I t e m , 0 , f 0102660 p ) \r i f i n p u t F i 0102700 l e e q 0 t h e n [ W 0102720 s ( " - d o e s n o t e 0102740 x i s t " ) ; l o o p ] \r \r 0102760 i f m e r g i n g t h 0103000 e n \r [ \r l 0103020 e t a u x = O p e n F i l 0103040 e ( h e a d e r N a m e , k s T 0103060 y p e R e a d O n l y , c h 376 001 0103100 \0 7 n a r I t e m , 0 , f p ) \r 0103120 A d d e d F o n t S e 0103140 t s = m a x F o n t S e t s + 0103160 1 \r M e r g e P r e 0103200 s s F i l e ( o u t p u t F i l 0103220 e , i n p u t F i l e , a u 0103240 x ) \r C l o s e s ( a 0103260 u x ) \r C l o s e s ( 0103300 i n p u t F i l e ) \r 0103320 l o o p \r ] \r \r 0103340 W r i t e F i l e ( i n p u t F 0103360 i l e , o u t p u t F i l e , t 0103400 r a n s m i t t i n g ) \r 0103420 C l o s e s ( i n p u t F i l e 0103440 ) \r ] r e p e a t / / 0103460 f i l e l o o p \r \r i f m e 0103500 r g i 376 001 \0 347 307 n g t h e n \r 0103520 [ \r W r i t e P a r t ( 0103540 p a r t D i r , o u t p u t F i 0103560 l e , f a l s e ) \r u n l e 0103600 s s d o c N a m e e q 0 0103620 d o \r [ \r b r e 0103640 a k P a g e N a m e = d o c 0103660 N a m e \r h e a d e r N 0103700 a m e = d o c N a m e \r 0103720 P u t T e m p l a t e ( d s 0103740 p , " * N D o c u m e n t : $ 0103760 S " , d o c N a m e ) \r 0104000 l e t i n p u t F i l e = 0104020 O p e n F i l e ( d o c N a m e 0104040 , k s T y p e R e a d O n l y , 0104060 c h a r I t e m ) \r t e 0104100 s t i s P r e 376 001 \0 \t S s s F 0104120 i l e ( i n p u t F i l e , f a 0104140 s t B u f f e r ) \r i f 0104160 s o \r [ \r 0104200 l e t a u x = O p e n F 0104220 i l e ( d o c N a m e , k s T y 0104240 p e R e a d O n l y , c h a r I 0104260 t e m ) \r A d d e d 0104300 F o n t S e t s = m a x F o n t 0104320 S e t s + 1 \r C 0104340 o p y P r e s s F i l e ( i n p 0104360 u t F i l e , o u t p u t F i l 0104400 e , a u x ) \r C l o 0104420 s e s ( a u x ) \r ] 0104440 \r i f n o t W r i t e 0104460 F i l e ( i n p u t F i l e , o 0104500 u t p u t F i l e ) \r 376 001 \0 0104520 | 305 C l o s e s ( i n p u t 0104540 F i l e ) \r ] \r ] \r 0104560 l e t f P o s = v e c 1 0104600 ; F i l e P o s ( o u t p u t 0104620 F i l e , f P o s ) \r i f f P 0104640 o s ! 0 n e 0 % f P o s 0104660 ! 1 n e 0 t h e n / / 0104700 w e p r e s s e d a t l e 0104720 a s t o n e f i l e \r 0104740 W r i t e D i r s ( f o n t D i 0104760 r , p a r t D i r , 1 , n u m C 0105000 o p i e s , o u t p u t F i l e 0105020 ) \r ] \r \r / / - - - - - - - - - 0105040 - - - - - - - - - - - - - - - - * 0105120 - - 376 001 \0 337 ; - - - - - - - - - 0105140 - - - - - - - - \r a n d W r i 0105160 t e F i l e ( i n p u t F i l e 0105200 , o u t p u t F i l e , t r a n 0105220 s m i t t i n g ) b e \r / / - 0105240 - - - - - - - - - - - - - - - - * 0105340 - - - - - - - - - - - \r [ 0105360 \r l e t l a s t P a g e 0105400 = n i l \r i f i s P 0105420 r e s s F i l e ( i n p u t F i 0105440 l e , f a s t B u f f e r , l v 0105460 l a s t P a g e ) t h e n \r 0105500 [ \r 0105520 t e s 376 001 \0 247 372 t t r 0105540 a n s m i t t i n g \r 0105560 i f s o \r 0105600 [ \r 0105620 W s ( " 0105640 - a l r e a d y i n P r 0105660 e s s f o r m a t " ) \r 0105700 S e n d 0105720 T o P r i n t e r ( i n p u t F 0105740 i l e , l a s t P a g e , f a l 0105760 s e ) \r 0106000 ] \r 0106020 i f n o t W s ( " - s k 0106040 i p p e d . A l r e a d y 0106060 i n P r e s s f o r m a t " 0106100 ) \r r e t u r 0106120 n \r ] 376 001 \0 253 0106140 224 \r \r s w i t c h o n n 0106160 o F o n t W i d t h s i n t o 0106200 032 \r \t [ 032 \r \t d e f a u l t : 032 0106220 \r \t c a s e n o F o n t s W i 0106240 d t h s F i l e : \r \t \t [ \r \t \t 0106260 W s ( " - s k i p p e d . 0106300 ' F o n t s . W i d t h s ' i 0106320 s n o t o n y o u r d i 0106340 s k . " ) \r \t \t r e t u r n \r \t 0106360 \t ] 032 \r \t c a s e f o n t N o 0106400 t I n F o n t W i d t h s : 032 \r 0106420 \t \t [ 032 \r \t \t W s ( " - s k 0106440 i p p e d . f o n t n o t 0106460 i n ' F o n t s . W i d t h s 0106500 ' . " ) \r \t \t r e t u r n \r \t \t 0106520 ] 032 \r \t c a s e 0 : 032 \r \t \t [ 0106540 032 376 001 \0 220 O \r \r i n p u t 0106560 F i l e = S e t u p F a s t 0106600 I n p u t ( i n p u t F i l e ) 0106620 \r \t \r \t c u r r e n t P o 0106640 s = L e f t M a r g \r \t 0106660 l e t X S t a r t = L e 0106700 f t M a r g \r \t l e t Y 0106720 S t a r t = M i c a H e i g 0106740 h t - T o p M a r g \r \t h 0106760 e a d e r P a g e N u m = 1 0107000 \r \t l i n e N u m b e r 0107020 = 0 \r \t l e t c o u n 0107040 t = 0 / / c o u n t o 0107060 f c h a r a c t e r s i n 0107100 a r u n \r \t l e t c o 0107120 n t r o l Z = f a l s e \r \t 0107140 \r \t u 376 001 \0 V 222 n t i l 0107160 E n d o f s ( i n p u t F i l e 0107200 ) d o \r \t [ / 0107220 / c h a r a c t e r l o o p \r 0107240 \t l e t c h a r 0107260 = G e t s ( i n p u t F i l e 0107300 ) \r \t i f c o n t 0107320 r o l Z & c h a r n e $ 0107340 * N l o o p / / i g n o r 0107360 e b r a v o t r a i l e r \r 0107400 \t c o n t r o l Z 0107420 = f a l s e \r \t s 0107440 w i t c h o n c h a r i n t 0107460 o / / t a k e c a r e o 0107500 f s p e c i a l c a s e s \r 0107520 \t [ \r \t 0107540 c a s e 376 001 \0 x 260 0107560 $ * 0 1 4 : / / f o r m f 0107600 e e d \r \t 0107620 [ \r \t 0107640 c o u n t = F l u s h L i n 0107660 e ( c o u n t ) \r \t 0107700 W r i t e P a r t ( 0107720 p a r t D i r , o u t p u t F i 0107740 l e ) \r \t 0107760 c u r r e n t P o s = L e 0110000 f t M a r g \r \t 0110020 X S t a r t = L e f 0110040 t M a r g \r \t 0110060 Y S t a r t = M i c a 0110100 H e i g h t - T o p M a r g \r \t 0110120 e n d c 0110140 a s e \r \t 0110160 376 001 \0 002 316 ] \r \t 0110200 c a s e $ * 0 3 2 : / 0110220 / c o n t r o l - Z ( f o r 0110240 B r a v o f i l e s ) \r \t 0110260 [ \r \t 0110300 c o n t r o l 0110320 Z = t r u e \r \t 0110340 e n d c a s e \r \t 0110360 ] \r \t 0110400 c a s e $ * N : 0110420 \r \t [ 0110440 \r \t c o 0110460 u n t = F l u s h L i n e ( 0110500 c o u n t ) \r \t 0110520 l i n e N u m b e r = 0110540 l i n e N u m b e r + 1 \r \t 0110560 376 001 \0 236 332 0110600 i f l i n e N u m b e r g 0110620 e m a x L i n e s t h e n 0110640 W r i t e P a r t ( p a r t D i 0110660 r , o u t p u t F i l e ) \r \t 0110700 X S t a r 0110720 t = L e f t M a r g \r \t 0110740 c u r r e n 0110760 t P o s = L e f t M a r g \r 0111000 \t Y S t 0111020 a r t = ( M i c a H e i g h 0111040 t - T o p M a r g ) - h e i g h 0111060 t L i n e * l i n e N u m b e r 0111100 \r \t e n 0111120 d c a s e \r \t 0111140 ] \r \t c 0111160 a s e $ * T : \r \t 376 001 \0 A 8 0111200 [ \r \t 0111220 c o u n t 0111240 = F l u s h L i n e ( c o u n 0111260 t ) \r \t 0111300 l e t t a b = ( c h a r W 0111320 i d t h s ! $ * S ) * w i d t h 0111340 T a b \r \t 0111360 c u r r e n t P o s = ( ( 0111400 c u r r e n t P o s - L e f t M 0111420 a r g ) / t a b + 1 ) * t a b + 0111440 L e f t M a r g \r \t 0111460 X S t a r t = c 0111500 u r r e n t P o s \r \t 0111520 e n d c a s e \r \t 0111540 ] \r \t 0111560 c a s e $ * 376 0111600 001 \0 026 S : \r \t 0111620 [ \r \t 0111640 u n l e s s X S t a r t 0111660 e q 0 d o \r \t 0111700 [ \r \t 0111720 c u r r e 0111740 n t P o s = c u r r e n t P 0111760 o s + c h a r W i d t h s ! 0112000 $ * S \r \t 0112020 X S t a r t = c u r 0112040 r e n t P o s \r \t 0112060 l o o p \r \t 0112100 ] \r \t 0112120 / / f a 0112140 l l s t h r o u g h \r \t 0112160 ] \r \t 0112200 376 001 \0 363 276 d e f a u l 0112220 t : \r \t 0112240 [ \r \t i 0112260 f X S t a r t n e 0 t h 0112300 e n [ W r i t e C o m m a n 0112320 d ( E S e t X , X S t a r t ) ; 0112340 X S t a r t = 0 ] \r \t 0112360 i f Y S 0112400 t a r t n e 0 t h e n [ 0112420 W r i t e C o m m a n d ( E S 0112440 e t Y , Y S t a r t ) ; Y S t 0112460 a r t = 0 ] \r \t 0112500 P u t s ( o u t p 0112520 u t F i l e , c h a r ) \r \t 0112540 c o u n t 0112560 = c o u n t + 1 \r \t 0112600 c 376 001 \0 e 326 u r 0112620 r e n t P o s = c u r r e n 0112640 t P o s + c h a r W i d t h 0112660 s ! c h a r \r \t 0112700 e n d c a s e \r \t 0112720 ] \r \t 0112740 ] \r \t i f 0112760 c u r r e n t P o s g r m 0113000 a x P o s t h e n \r \t 0113020 [ \r \t 0113040 F l u s h L i n e ( c o u n t 0113060 ) \r \t l i n e 0113100 N u m b e r = l i n e N u m 0113120 b e r + 1 \r \t 0113140 i f l i n e N u m b e r g 0113160 e m a x L i n e s t h e n 0113200 W r i t e P a r t ( p a r t 376 001 0113220 \0 255 252 D i r , o u t p u t F i l 0113240 e ) \r \t W r i 0113260 t e C o m m a n d ( E S e t X , 0113300 L e f t M a r g ) ; X S t a r 0113320 t = 0 \r \t 0113340 W r i t e C o m m a n d ( E S e 0113360 t Y , ( M i c a H e i g h t - T 0113400 o p M a r g ) - h e i g h t L i 0113420 n e * l i n e N u m b e r ) \r \t 0113440 W s s ( o u t 0113460 p u t F i l e , " * * * * " ) \r 0113500 \t c u r r e n 0113520 t P o s = L e f t M a r g 0113540 + ( c h a r W i d t h s ! $ * 0113560 * ) * 2 \r \t c 0113600 o u n t = 2 \r \t 0113620 376 001 \0 350 333 ] \r \t 0113640 ] / / c h a r a c t e r 0113660 l o o p \r \t / / f l u s h 0113700 o u t l a s t l i n e a 0113720 n d l a s t p a g e \r \t 0113740 F l u s h L i n e ( c o u n t 0113760 ) \r \t i f c o u n t n 0114000 e 0 % l i n e N u m b e r 0114020 n e 0 \r \t t h e n 0114040 W r i t e P a r t ( p a r t D 0114060 i r , o u t p u t F i l e ) \r \t 0114100 i f d u p l e x & E 0114120 v e n ( h e a d e r P a g e N u 0114140 m ) t h e n \r \t 0114160 [ \r \t 0114200 l e t h = h e a d 0114220 i n g ; h e a 376 001 \0 233 A d i n 0114240 g = f a l s e \r \t 0114260 c o u n t = 0 0114300 \r \t c u 0114320 r r e n t P o s = L e f t M 0114340 a r g \r \t 0114360 X S t a r t = L e f t M a 0114400 r g \r \t 0114420 Y S t a r t = M i c a H e i 0114440 g h t - T o p M a r g \r \t 0114460 W r i t e P a 0114500 r t ( p a r t D i r , o u t p u 0114520 t F i l e ) \r \t 0114540 h e a d i n g = h \r 0114560 \t ] 032 \r 0114600 \t e n d c a s e 032 \r \t ] 032 \r \t ] 0114620 \r ] \r \r / / - - - - 376 001 \0 0114640 ' u - - - - - - - - - - - - - - 0114660 - - - - - - - - - - - - - - - - * 0114740 - - - - - - - - - - \r a n d E 0114760 v e n ( v a l ) = ( v a l 0115000 & 1 ) e q 0 \r / / - - - - 0115020 - - - - - - - - - - - - - - - - * 0115120 - - - - - - - - \r \f \r / / - - - 0115140 - - - - - - - - - - - - - - - - * 0115240 - - 376 001 \0 7 270 - - - - - - - \r a 0115260 n d F l u s h L i n e ( c o u 0115300 n t ) = v a l o f \r / / - - 0115320 - - - - - - - - - - - - - - - - * 0115420 - - - - - - - - - - \r [ \r i f 0115440 c o u n t n e 0 t h e n 0115460 W r i t e C o m m a n d ( E S h 0115500 o w , c o u n t ) \r r e s u l t 0115520 i s 0 \r ] \r \f \r / / s e t u 0115540 p a g i a n t f a s t i 0115560 n p u t s t r e a m t o m 0115600 a k e i t g o f a s t e r 0115620 \r \r / / - - - - - - - - - - - - 0115640 - - - - - - - 376 001 \0 334 g - - - - 0115660 - - - - - - - - - - - - - - - - * 0115740 - - - - - \r a n d S e t u p F 0115760 a s t I n p u t ( s t r e a m ) 0116000 = v a l o f \r / / - - - - - 0116020 - - - - - - - - - - - - - - - - * 0116120 - - - - - - - \r [ \r I n i t i a 0116140 l i z e F s t r e a m ( f s , c 0116160 h a r I t e m , S y s E r r , F 0116200 a s t O v e r f l o w ) \r f s > 0116220 > S T . c l o s e = F a s t 0116240 C l o s e \r f s > > S T 376 001 \0 343 0116260 310 . p a r 3 = s t r e a m \r 0116300 S e t u p F s t r e a m ( f s , 0116320 f a s t B u f f e r , 0 , 0 ) \r 0116340 R e s e t s ( s t r e a m ) \r r 0116360 e s u l t i s f s \r ] \r \r / / 0116400 - - - - - - - - - - - - - - - - * 0116500 - - - - - - - - - - - - \r a n d 0116520 F a s t O v e r f l o w ( s t 0116540 r e a m , i t e m ) b e \r / / 0116560 - - - - - - - - - - - - - - - - * 0116660 - 376 001 \0 273 017 - - - - - - - - - - 0116700 - \r [ \r t e s t E n d o f s ( 0116720 s t r e a m > > S T . p a r 3 ) 0116740 \r i f s o S e t E o f ( 0116760 s t r e a m , t r u e ) \r 0117000 i f n o t \r [ \r 0117020 l e t n c = R e a 0117040 d B l o c k ( s t r e a m > > S 0117060 T . p a r 3 , f a s t B u f f e 0117100 r , l e n F a s t B u f f e r ) 0117120 l s h i f t 1 \r 0117140 i f ( F i l e P o s ( s t r e 0117160 a m > > S T . p a r 3 ) & 1 0117200 ) e q 1 t h e n n c = 0117220 n c - 1 \r S e t 0117240 u p F s t r e a m ( s t r e a m 0117260 , f a s t B 376 001 \0 237 310 u f f e r 0117300 , 0 , n c ) \r ] \r R 0117320 e t r y C a l l ( s t r e a m , 0117340 i t e m ) \r ] \r \r / / - - - - - 0117360 - - - - - - - - - - - - - - - - * 0117460 - - - - - - - \r a n d F a s t 0117500 C l o s e ( s t r e a m ) b e 0117520 C l o s e s ( s t r e a m > > 0117540 S T . p a r 3 ) \r / / - - - - - 0117560 - - - - - - - - - - - - - - - - * 0117660 - - - - - - - \r \f \r / 376 001 \0 320 026 0117700 / - - - - - - - - - - - - - - - 0117720 - - - - - - - - - - - - - - - - * 0120000 - - - - - - - - - - - - - \r a n 0120020 d W r i t e C o m m a n d ( c 0120040 o m m a n d , p a r a m ) b e 0120060 \r / / - - - - - - - - - - - - - 0120100 - - - - - - - - - - - - - - - - * 0120160 - - - - - - - - - - - - - - - \r 0120200 [ \r l e t c o m m = v e c 0120220 2 0 \r l e t n u m B y t e s 0120240 = 0 \r s w i t c h o n c o 0120260 m m a n d i n t o / / c h 0120300 376 001 \0 u 337 e c k f o r s h o 0120320 r t c o m m a n d p o s s i 0120340 b i l i t y \r [ \r c 0120360 a s e E N o p : \r 0120400 [ \r c o m m ! 1 = 0120420 E N o p \r n u m B 0120440 y t e s = 1 \r e 0120460 n d c a s e \r ] \r 0120500 c a s e E S e t X : \r 0120520 [ \r i f p 0120540 a r a m l s X M i n t h e 0120560 n X M i n = p a r a m \r 0120600 c o m m ! 1 = E S 0120620 e t X ; c o m m ! 2 = p a 0120640 r a m < < l h ; c o m m ! 3 0120660 = p a r a m < < r h \r 0120700 n u m 376 001 \0 I 322 B y t e s 0120720 = 3 \r e n d c a s 0120740 e \r ] \r c a s 0120760 e E S e t Y : \r [ 0121000 \r c o m m ! 1 = 0121020 E S e t Y ; c o m m ! 2 = 0121040 p a r a m < < l h ; c o m m ! 0121060 3 = p a r a m < < r h \r 0121100 n u m B y t e s = 3 0121120 \r e n d c a s e \r 0121140 ] \r c a s e E 0121160 S h o w : \r [ \r 0121200 i f c u r r e n t P 0121220 o s g r X M a x t h e n 0121240 X M a x = c u r r e n t P o 0121260 s \r w h i l e p a 0121300 r a m g r 2 5 5 376 001 \0 1 # 0121320 d o \r [ \r 0121340 W r i t e C o m 0121360 m a n d ( E S h o w , 2 5 5 ) \r 0121400 p a r a m = 0121420 p a r a m - 2 5 5 \r 0121440 ] \r t e s t 0121460 p a r a m g r 3 2 \r 0121500 i f s o [ c o m 0121520 m ! 1 = E S h o w ; c o m 0121540 m ! 2 = p a r a m ; n u m 0121560 B y t e s = 2 ] \r 0121600 i f n o t [ c o m 0121620 m ! 1 = E S h o w S h o r t 0121640 + p a r a m - 1 ; n u m B y t 0121660 e s = 1 ] \r e 0121700 n d c a s e \r ] \r 376 0121720 001 \0 B _ c a s e E O n l 0121740 y O n C o p y : \r [ 0121760 \r c o m m ! 1 = 0122000 E O n l y O n C o p y ; c o m 0122020 m ! 2 = p a r a m \r 0122040 n u m B y t e s = 2 \r 0122060 e n d c a s e \r 0122100 ] \r d e f a u l t : 0122120 \r [ \r C 0122140 a l l S w a t ( " [ W r i t e C 0122160 o m m a n d ] U n k n o w n 0122200 c o m m a n d " , c o m m a n d 0122220 ) \r f i n i s h \r 0122240 ] \r ] \r l e t 0122260 e = e n t i t y I n d e x \r 0122300 e n t i t y I n d e x = e n 0122320 t i t y 376 001 \0 T 231 I n d e x + n 0122340 u m B y t e s \r i f e n t i t 0122360 y I n d e x g r l e n E n t 0122400 i t y B u f f e r * 2 t h e n 0122420 \r [ \r C a l l S w a 0122440 t ( " [ W r i t e C o m m a n d 0122460 ] E n t i t y b u f f e r 0122500 o v e r f l o w " ) \r f i 0122520 n i s h \r ] \r f o r i 0122540 = 1 t o n u m B y t e s 0122560 d o \r e n t i t y B u f f e r 0122600 > > B y t e s ^ ( e + i - 1 ) 0122620 = c o m m ! i \r ] \r \f \r / / - 0122640 - - - - - - - - - - - - - - - - * 0122720 - - - - - - - - - 376 001 \0 # 203 - - 0122740 - - - - - - - - - - - - - - - - 0122760 \r a n d P u t C o m m a n d B 0123000 y t e ( B y t e ) b e \r / / - 0123020 - - - - - - - - - - - - - - - - * 0123120 - - - - - - - - - - - \r [ \r l e 0123140 t e = e n t i t y I n d e 0123160 x \r e n t i t y I n d e x = 0123200 e n t i t y I n d e x + 1 \r i f 0123220 e n t i t y I n d e x g r 0123240 l e n E n t i t y B u f f e r * 0123260 2 t h e n \r [ \r C 0123300 a l l S w a t ( " [ P u t C o m 0123320 m a n d B y t e ] E n t i 376 001 0123340 \0 " % t y b u f f e r o v e 0123360 r f l o w " ) \r f i n i s 0123400 h \r ] \r e n t i t y B u f 0123420 f e r > > B y t e s ^ e = B 0123440 y t e \r ] \r \r / / - - - - - - - 0123460 - - - - - - - - - - - - - - - - * 0123560 - - - - - \r a n d P u t E n t 0123600 i t y T r a i l e r ( e n t i t 0123620 y , p r e s s F i l e ) b e \r 0123640 / / - - - - - - - - - - - - - - 0123660 - - - - - - - - - - - - - - - - * 0123740 - - - 376 001 \0 001 201 - - - - - - - - 0123760 - - - \r [ \r i f ( e n t i t y 0124000 I n d e x & 1 ) n e 0 0124020 t h e n W r i t e C o m m a n 0124040 d ( E N o p ) \r l e t b u f f 0124060 e r = l v ( e n t i t y B u 0124100 f f e r > > B y t e s ^ e n t i 0124120 t y I n d e x ) \r e n t i t y I 0124140 n d e x = e n t i t y I n d 0124160 e x + ( E H l e n * 2 ) \r e n t 0124200 i t y > > E H . L e n g t h = 0124220 ( e n t i t y I n d e x - e n 0124240 t i t y S t a r t I n d e x ) / 0124260 2 \r \r e n t i t y S t a r t I n 0124300 d e x = e n t i t y I n d e x 0124320 / / f o r n e x t e n t 0124340 i t y \r \r l e t 376 001 \0 366 255 D L 0124360 l e n g t h = v e c 1 ; 0124400 F i l e P o s ( p r e s s F i l 0124420 e , D L l e n g t h ) \r l e t 0124440 s t a r t P o s = v e c 1 0124460 ; M u l F u l l ( r e c o r d 0124500 S t a r t , 5 1 2 , s t a r t P 0124520 o s ) \r D o u b l e A d d ( s t 0124540 a r t P o s , e n t i t y S t a 0124560 r t P o s ) \r D o u b l e S u b 0124600 ( D L l e n g t h , s t a r t P 0124620 o s ) \r D o u b l e C o p ( l v 0124640 ( e n t i t y > > E H . D s t a 0124660 r t ) , e n t i t y S t a r t P 0124700 o s ) \r D o u b l e C o p ( l v 0124720 ( e n t i t y > > E H . D l e n 0124740 g t h ) , D L l e n g t h 376 001 \0 0124760 347 I ) \r \r D o u b l e A d d ( e 0125000 n t i t y S t a r t P o s , D L 0125020 l e n g t h ) / / f o r 0125040 n e x t e n t i t y \r \r e n t 0125060 i t y > > E H . F o n t s e t 0125100 = e n t i t y > > E H . F o n 0125120 t s e t + A d d e d F o n t 0125140 S e t s \r M o v e B l o c k ( b 0125160 u f f e r , e n t i t y , E H l 0125200 e n ) \r ] \r \r / / - - - - - - - 0125220 - - - - - - - - - - - - - - - - * 0125320 - - - - - \r a n d W r i t e H 0125340 e a d e r ( h e a d e r P a g e 0125360 N u 376 001 \0 b 336 m , p r e s s F i 0125400 l e ) b e \r / / - - - - - - - 0125420 - - - - - - - - - - - - - - - - * 0125520 - - - - - \r [ \r u n l e s s 0125540 h e a d i n g r e t u r n \r 0125560 l e t p a g e M a r g = 0125600 d u p l e x & E v e n ( h e 0125620 a d e r P a g e N u m ) ? \r \t \t 0125640 L e f t M a r g , P a g e M a r 0125660 g \r l e t n a m e M a r g 0125700 = d u p l e x & E v e n ( 0125720 h e a d e r P a g e N u m ) ? \r 0125740 \t \t N a m e M a r g , L e f t M 0125760 a r g \r \r / / 376 001 \0 366 330 f o r 0126000 i = 1 t o n u m C o p i 0126020 e s d o \r / / [ \r / / 0126040 W r i t e C o m m a n d ( E O n 0126060 l y O n C o p y , i ) \r \r W 0126100 r i t e C o m m a n d ( E S e t 0126120 Y , M i c a H e i g h t - H e a 0126140 d e r M a r g ) \r \r W r i t 0126160 e C o m m a n d ( E S e t X , n 0126200 a m e M a r g ) \r W s s ( p 0126220 r e s s F i l e , h e a d e r N 0126240 a m e ) \r W r i t e C o m m 0126260 a n d ( E S h o w , h e a d e r 0126300 N a m e > > S t r i n g . l e n 0126320 g t h ) \r \r W r i t e C 0126340 o m m a n d ( E S e t X , T i m 0126360 e M a r g ) \r W s s 376 001 \0 357 0126400 322 ( p r e s s F i l e , h e a d 0126420 e r D a t e ) \r W r i t e C 0126440 o m m a n d ( E S h o w , h e a 0126460 d e r D a t e > > S t r i n g . 0126500 l e n g t h ) \r \r / / W r i 0126520 t e C o m m a n d ( E S e t X , 0126540 C o p y M a r g ) \r / / P 0126560 u t T e m p l a t e ( p r e s s 0126600 F i l e , " C o p y $ 3 U D " 0126620 , i ) \r / / W r i t e C o m 0126640 m a n d ( E S h o w , 8 ) \r \r \r 0126660 W r i t e C o m m a n d ( E 0126700 S e t X , p a g e M a r g ) \r 0126720 P u t T e m p l a t e ( p r e 0126740 s s F i l e , " P a g e $ 3 U 0126760 D " , h e a d e r P a g e N u m 0127000 ) 376 001 \0 221 375 \r W r i t e C o 0127020 m m a n d ( E S h o w , 8 ) \r / 0127040 / ] \r / / W r i t e C o m m 0127060 a n d ( E O n l y O n C o p y , 0127100 0 ) \r ] \r \f \r / / - - - - - - - 0127120 - - - - - - - - - - - - - - - - * 0127220 - - - - - \r a n d W r i t e P 0127240 a r t ( p a r t D i r , p r e s 0127260 s F i l e , d o T r a i l e r ; 0127300 n u m a r g s N ) b e \r / / 0127320 - - - - - - - - - - - - - - - - * 0127400 - - - - - - 376 001 \0 3 ~ - - - - - 0127420 - - - - - - - - - - - - - - - - 0127440 - \r [ \r i f N l s 3 t h 0127460 e n d o T r a i l e r = t 0127500 r u e \r i f d o T r a i l e r 0127520 t h e n \r [ \r / / f i 0127540 r s t , p u t o u t p a g 0127560 e h e a d e r \r W r i t e 0127600 H e a d e r ( h e a d e r P a g 0127620 e N u m , p r e s s F i l e ) \r 0127640 \r P u t T e m p l a t e ( d 0127660 s p , " * N P a g e $ U D 0127700 " , h e a d e r P a g e N u m ) 0127720 \r h e a d e r P a g e N u m 0127740 = h e a d e r P a g e N u m 0127760 + 1 \r i f c u r r e n t 0130000 P o s g r X M a x 376 001 \0 2 @ 0130020 t h e n X M a x = c u r 0130040 r e n t P o s \r Y M a x = 0130060 M i c a H e i g h t - H e a d 0130100 e r M a r g \r Y M i n = 0130120 Y M a x - h e i g h t L i n e * 0130140 l i n e N u m b e r \r i f 0130160 ( e n t i t y I n d e x & 1 0130200 ) n e 0 t h e n W r i t 0130220 e C o m m a n d ( E N o p ) \r 0130240 ] \r \r / / s t a r t E L o 0130260 n w o r d b o u n d a r y : 0130300 \r l e t b y t e L e n = v 0130320 e c 1 \r F i l e P o s ( p r e 0130340 s s F i l e , b y t e L e n ) \r 0130360 i f ( b y t e L e n ! 1 & 0130400 1 ) n e 0 t h e n \r [ 0130420 376 001 \0 266 343 \r P u t s ( p r e 0130440 s s F i l e , 0 ) \r F i l e 0130460 P o s ( p r e s s F i l e , b y 0130500 t e L e n ) \r ] \r \r l e t 0130520 s t a r t P o s = v e c 1 0130540 \r M u l F u l l ( r e c o r d S 0130560 t a r t , 5 1 2 , s t a r t P o 0130600 s ) \r D o u b l e A d d ( s t a 0130620 r t P o s , e n t i t y S t a r 0130640 t P o s ) \r D o u b l e S u b ( 0130660 b y t e L e n , s t a r t P o s 0130700 ) \r \r l e t z e r o = v e 0130720 c 0 ; z e r o ! 0 = 0 0130740 / / o b v i o u s l y ! \r W r 0130760 i t e B l o c k ( p r e s s F i 0131000 l e , z e r o , 1 ) / / 0 0131020 w o r d 376 001 \0 L 250 t o s e 0131040 p a r a t e D L f r o m E 0131060 L \r \r / / n o w , s t o r e 0131100 e n t i t y c o m m a n d s \r 0131120 W r i t e B l o c k ( p r e s s 0131140 F i l e , e n t i t y B u f f e 0131160 r , e n t i t y I n d e x / 2 ) 0131200 \r \r i f d o T r a i l e r t 0131220 h e n / / i f n o t , t 0131240 r a i l e r s a r e i n e 0131260 n t i t y B u f f e r \r [ \r 0131300 / / a n d , w r i t e e 0131320 n t i t y t r a i l e r \r 0131340 l e t E C o m m a n d = v 0131360 e c E H l e n \r E C o m m 0131400 a n d > > E H . T y p e = 0 0131420 \r E C o m m a n 376 001 \0 5 344 d 0131440 > > E H . F o n t s e t = 0 0131460 \r D o u b l e C o p ( l v ( 0131500 E C o m m a n d > > E H . D s t 0131520 a r t ) , e n t i t y S t a r t 0131540 P o s ) \r D o u b l e C o p 0131560 ( l v ( E C o m m a n d > > E H 0131600 . D l e n g t h ) , b y t e L e 0131620 n ) \r E C o m m a n d > > E 0131640 H . X e = 0 \r E C o m m 0131660 a n d > > E H . Y e = 0 \r 0131700 E C o m m a n d > > E H . X l 0131720 e f t = X M i n \r E C o 0131740 m m a n d > > E H . Y b o t t o 0131760 m = Y M i n - b o x B o t t 0132000 o m \r E C o m m a n d > > E 0132020 H . W i d t h = X M a x - 376 0132040 001 \0 027 261 X M i n \r E C o m m 0132060 a n d > > E H . H e i g h t = 0132100 ( Y M a x - Y M i n ) + b o x 0132120 T o p \r E C o m m a n d > > 0132140 E H . L e n g t h = E H l e 0132160 n + ( e n t i t y I n d e x 0132200 / 2 ) \r W r i t e B l o c k 0132220 ( p r e s s F i l e , E C o m m 0132240 a n d , E H l e n ) \r ] \r \r 0132260 / / c o m p u t e a n d w r 0132300 i t e p a d d i n g : \r l e t 0132320 p o s = v e c 1 ; F i 0132340 l e P o s ( p r e s s F i l e , 0132360 p o s ) \r l e t p a d d i n g 0132400 = 0 \r u n t i l p o s > > 0132420 P o s i t i o n . B y t e s e 0132440 q 0 376 001 \0 211 @ d o \r [ \r 0132460 W r i t e B l o c k ( p r e 0132500 s s F i l e , z e r o , 1 ) \r 0132520 p a d d i n g = p a d d i n g 0132540 + 1 \r F i l e P o s ( p r e 0132560 s s F i l e , p o s ) \r ] \r 0132600 \r / / u p d a t e p a r t d 0132620 i r e c t o r y ; \r l e t n u 0132640 m P a r t s = p a r t D i r 0132660 ! 0 \r i f n u m P a r t s e 0132700 q m a x P a r t s t h e n \r 0132720 [ \r C a l l S w a t 0132740 ( " [ W r i t e P a r t ] T o 0132760 o m a n y p a g e s " ) \r 0133000 f i n i s h \r ] \r l e 0133020 t P a r t = p a r t D i r 0133040 + ( n u m P a r t 376 001 \0 204 x s * 0133060 P E l e n ) + 1 / / i n d 0133100 e x i n t o p a r t D i r 0133120 v e c t o r \r P a r t > > P E . 0133140 T y p e = P E T y p e P a g 0133160 e \r P a r t > > P E . p S t a r 0133200 t = r e c o r d S t a r t \r 0133220 P a r t > > P E . p R e c s = 0133240 p a g e P o s i t i o n ( p o 0133260 s ) - r e c o r d S t a r t \r P 0133300 a r t > > P E . P a d d i n g 0133320 = p a d d i n g \r \r / / s e t 0133340 u p f o r n e x t p a r 0133360 t : \r r e c o r d S t a r t = 0133400 p a g e P o s i t i o n ( p o 0133420 s ) \r e n t i t y I n d e x , e 0133440 n t i t y S t a r t I n d e 376 001 0133460 \0 L 326 x = 0 , 0 ; Z e r o 0133500 ( e n t i t y S t a r t P o s , 0133520 2 ) \r l i n e N u m b e r = 0133540 0 \r p a r t D i r ! 0 = n u 0133560 m P a r t s + 1 \r X M i n = 0133600 3 2 0 0 0 ; X M a x = 0 \r 0133620 Y M i n = 3 2 0 0 0 ; Y M 0133640 a x = 0 \r ] \r \f \r / / - - - 0133660 - - - - - - - - - - - - - - - - * 0133760 - - - - - - - - - \r a n d A d 0134000 d F o n t ( n a m e , f a c e , 0134020 p o i n t S i z e , r o t a t i 0134040 o n , f o n t D i r , s e t ; n 0134060 u m a 376 001 \0 343 002 r g s N ) b 0134100 e \r / / - - - - - - - - - - - - 0134120 - - - - - - - - - - - - - - - - * 0134220 \r [ \r i f N l s 6 t h e 0134240 n s e t = 0 \r \r l e t n 0134260 u m F o n t s = f o n t D i 0134300 r ! 0 \r l e t F B u f = f 0134320 o n t D i r + 2 + f o n t D i r 0134340 ! 1 \r \r F B u f > > F E . l e n 0134360 g t h = F E l e n \t / / e n 0134400 t r y l e n g t h \r F B u f > 0134420 > F E . s e t = s e t + 0134440 A d d e d F o n t S e t s \r F B 0134460 u f > > F E . f 376 001 \0 327 322 n o 0134500 = n u m F o n t s \t / / f o n 0134520 t # \r F B u f > > F E . d e s 0134540 t m , F B u f > > F E . d e s 0134560 t n = 0 , 1 2 7 / / m 0134600 ; n \r M o v e B l o c k ( l v 0134620 ( F B u f > > F E . f a m ) , n 0134640 a m e , s i z e F E . f a m / 0134660 1 6 ) \r F B u f > > F E . f a c 0134700 e , F B u f > > F E . s o u r 0134720 c e = f a c e , 0 / / 0134740 f a c e ; s o u r c e \r F B u 0134760 f > > F E . s i z = p o i n 0135000 t S i z e / / s i z e \r F 0135020 B u f > > F E . r o t n = r 0135040 o t a t i o n / / r o t a 0135060 t i o n \r F B u f ! F E l 376 001 \0 0135100 @ 235 e n = 0 / / n o 0135120 m o r e e n t r i e s \r i f 0135140 F B u f > > F E . s e t g r 0135160 m a x F o n t S e t s t h e n 0135200 m a x F o n t S e t s = F B u 0135220 f > > F E . s e t \r \r f o n t D 0135240 i r ! 0 = n u m F o n t s + 0135260 1 \r f o n t D i r ! 1 = ( f 0135300 o n t D i r ! 1 ) + F E l e n \r 0135320 i f f o n t D i r ! 1 g r 0135340 F E l e n * m a x F o n t s t 0135360 h e n \r [ C a l l S w 0135400 a t ( " [ A d d F o n t ] T o 0135420 o m a n y f o n t s d e f 0135440 i n e d " ) ; f i n i s h ] 0135460 \r ] \r \r / / - - - - - - - - - - 0135500 - - 376 001 \0 F 0 - - - - - - - - - 0135520 - - - - - - - - - - - - - - - - * 0135600 - - - - - - - \r a n d A d d F 0135620 o n t E n t r y ( f o n t ) b 0135640 e \r / / - - - - - - - - - - - - 0135660 - - - - - - - - - - - - - - - - * 0135760 \r [ \r f o n t > > F E . s e t 0136000 = f o n t > > F E . s e t + 0136020 A d d e d F o n t S e t s \r l 0136040 e t n u m F o n t s = f o 0136060 n t D i r ! 0 \r l e t F B u f 0136100 = f o n t 376 001 \0 002 234 D i r + 0136120 2 + f o n t D i r ! 1 \r l e t 0136140 l e n g t h = f o n t > > F 0136160 E . l e n g t h \r M o v e B l o 0136200 c k ( F B u f , f o n t , l e n 0136220 g t h ) \r F B u f ! F E l e n 0136240 = 0 / / n o m o r e 0136260 e n t r i e s \r i f F B u f > 0136300 > F E . s e t g r m a x F o 0136320 n t S e t s t h e n m a x F 0136340 o n t S e t s = F B u f > > F E 0136360 . s e t \r \r f o n t D i r ! 0 0136400 = n u m F o n t s + 1 \r f o n 0136420 t D i r ! 1 = ( f o n t D i 0136440 r ! 1 ) + l e n g t h \r i f f 0136460 o n t D i r ! 1 g r F E l e 0136500 n * m a x F o n t s t 376 001 \0 233 0136520 177 h e n \r [ C a l l S w 0136540 a t ( " [ A d d F o n t E n t r 0136560 y ] T o o m a n y f o n t 0136600 s d e f i n e d " ) ; f i n 0136620 i s h ] \r ] \r \r / / - - - - - 0136640 - - - - - - - - - - - - - - - - * 0136740 - - - - - - - \r a n d W r i t 0136760 e D i r s ( f o n t D i r , p a 0137000 r t D i r , f i r s t C o p y , 0137020 l a s t C o p y , p r e s s F i 0137040 l e ) b e \r / / - - - - - - - 0137060 - - - - - - - - - - - - - - - - * 0137120 - 376 001 \0 247 204 - - - - - - - - - - 0137140 - - - - - - - - - - - - - - - - 0137160 - - - - - - - - - - \r [ \r / / w 0137200 r i t e F o n t D i r e c t 0137220 o r y : \r l e t l e n F o n t 0137240 = ( ( f o n t D i r ! 1 ) 0137260 + 1 + 2 5 5 ) / 2 5 6 / 0137300 / o n e f o r t e r m i n a 0137320 t o r \r W r i t e B l o c k ( p 0137340 r e s s F i l e , f o n t D i r 0137360 + 2 , l e n F o n t * 2 5 6 ) \r 0137400 / / a d d f o n t p a r t 0137420 t o d o c u m e n t d i r 0137440 e c t o r y : \r l e t n u m P 0137460 a r t s = p a r t D i r ! 0 0137500 \r l e t f o n t E n t r y = 0137520 p a r t D 376 001 \0 \b & i r + 0137540 n u m P a r t s * P E l e n + 0137560 1 \r f o n t E n t r y > > P E 0137600 . T y p e = P E T y p e F o 0137620 n t \r f o n t E n t r y > > P E 0137640 . p S t a r t = r e c o r d 0137660 S t a r t \r f o n t E n t r y > 0137700 > P E . p R e c s = l e n F 0137720 o n t \r f o n t E n t r y > > P 0137740 E . P a d d i n g = 0 / / 0137760 n o t a p p l i c a b l e \r n 0140000 u m P a r t s = n u m P a r 0140020 t s + 1 \r \r / / w r i t e P a 0140040 r t D i r e c t o r y : \r l e 0140060 t l e n P a r t = ( n u m 0140100 P a r t s * P E l e n + 2 5 0140120 5 ) / 2 5 6 / / l 376 001 \0 233 7 0140140 e n g t h i n r e c o r d s 0140160 \r W r i t e B l o c k ( p r e s 0140200 s F i l e , p a r t D i r + 1 , 0140220 l e n P a r t * 2 5 6 ) \r \r / / 0140240 w r i t e D o c u m e n t D 0140260 i r e c t o r y : \r l e t d o 0140300 c D i r = A l l o c a t e ( 0140320 s y s Z o n e , 2 5 6 ) \r Z e r 0140340 o ( d o c D i r , 2 5 6 ) \r d o 0140360 c D i r > > D D V . P a s s w d 0140400 = P r e s s P a s s w d \r d 0140420 o c D i r > > D D V . n R e c s 0140440 = r e c o r d S t a r t + 0140460 l e n F o n t + l e n P a 0140500 r t + 1 \r d o c D i r > > 0140520 D D V . n P a r t s = n u m 0140540 376 001 \0 320 d P a r t s \r d o c D i 0140560 r > > D D V . p d S t a r t = 0140600 r e c o r d S t a r t + l 0140620 e n F o n t / / p a r t d 0140640 i r s t a r t \r d o c D i r > 0140660 > D D V . p d R e c s = l e 0140700 n P a r t / / p a r t d i 0140720 r l e n g t h \r d o c D i r > 0140740 > D D V . B a c k p = - 1 0140760 / / s p a r e \r d o c D i r > 0141000 > D D V . f C o p y = f i r 0141020 s t C o p y \r d o c D i r > > D 0141040 D V . l C o p y = l a s t C 0141060 o p y \r R e a d C a l e n d a r 0141100 ( l v d o c D i r > > D D V . 0141120 d a t e ) / / m a c h i n e 0141140 - r e a d 376 001 \0 \t h a b l e d 0141160 a t e f i e l d \r M o v e B l 0141200 o c k ( l v ( d o c D i r > > D 0141220 D V . F i l e S t r ) , b r e 0141240 a k P a g e N a m e , s i z e 0141260 D D V . F i l e S t r / 1 6 ) 0141300 \r M o v e B l o c k ( l v ( d o 0141320 c D i r > > D D V . C r e a t S 0141340 t r ) , p r i n t e d B y , s i 0141360 z e D D V . C r e a t S t r / 0141400 1 6 ) \r M o v e B l o c k ( l v 0141420 ( d o c D i r > > D D V . D a t 0141440 e S t r ) , h e a d e r D a t e 0141460 , s i z e D D V . D a t e S t 0141500 r / 1 6 ) \r W r i t e B l o c k 0141520