$ od -c -N 50000 [Indigo]<AltoSource>NETEXEC.DM!4 0000000 377 \0 \0 N e t E x e c . b c p l \0 0000020 373 233 , 305 227 \0 \0 376 001 \0 265 340 / / N 0000040 e t E x e c . b c p l - - A 0000060 o n e - d a y h a c k t h 0000100 a t w o r k e d \r / / t h 0000120 i s m o d u l e k n o w s 0000140 n o t h i n g a b o u t n e 0000160 t w o r k s \r / / C o p y r i 0000200 g h t X e r o x C o r p o r 0000220 a t i o n 1 9 7 9 , 1 9 8 0 0000240 , 1 9 8 2 , 1 9 8 3 \r / / 0000260 L a s t m o d i f i e d J u 0000300 l y 1 , 1 9 8 3 4 : 2 3 0000320 P M b y B o g g s \r \r g e 0000340 t " A l t o D e f s . d " \r g 0000360 e t " C m d S c a n . d e c l 0000400 " \r \r e x t e r n a l \r [ \r / / 0000420 i n c o m i n g p r 376 001 \0 217 0000440 017 o c e d u r e s \r P r i n t N 0000460 a m e ; P r i n t P o r t ; 0000500 L o a d M i c r o c o d e ; W 0000520 h e r e ; L o a d K T \r G e t 0000540 T i m e ; G e t D i r ; G e 0000560 t N a m e ; N e t B o o t ; 0000600 M y E t h e r B o o t \r \r M y F 0000620 r a m e ; C a l l S w a t ; 0000640 S y s E r r ; M o v e B l o c 0000660 k ; Z e r o \r E n q u e u e ; 0000700 D e q u e u e ; D o u b l e 0000720 D i f f e r e n c e ; J u n t 0000740 a \r I n i t i a l i z e Z o n e 0000760 ; A l l o c a t e ; F r e e 0001000 \r \r I n i t i a l i z e C o n t 0001020 e x t ; C a l l C o n t e x t 0001040 L 376 001 \0 # 210 i s t ; B l o c k 0001060 ; D i s m i s s \r \r C r e a t 0001100 e D i s p l a y S t r e a m ; 0001120 S h o w D i s p l a y S t r e a 0001140 m ; E r a s e B i t s \r G e t 0001160 B i t P o s ; S e t B i t P o 0001200 s ; C h a r W i d t h ; G e 0001220 t L m a r g ; S e t F o n t \r 0001240 \r S e t T i m e r ; T i m e r 0001260 H a s E x p i r e d \r S t a r t 0001300 I O ; F a l s e P r e d i c a 0001320 t e ; R e a d C a l e n d a r 0001340 \r \r U N P A C K D T ; W E E K 0001360 D A Y ; M O N T H N A M E ; 0001400 W R I T E U D T \r P u t s ; R 0001420 e s e t s ; C l o s e s ; P 0001440 u t b a c k 376 001 \0 > v s ; E n 0001460 d o f s \r P u t T e m p l a t e 0001500 ; W s s ; E x t r a c t S u 0001520 b s t r i n g \r \r I n i t C m d 0001540 ; G e t K e y w o r d ; G e 0001560 t N u m b e r ; G e t S t r i 0001600 n g ; C o n f i r m ; C m d 0001620 E r r o r C o d e \r B e g i n D 0001640 e f a u l t P h r a s e ; E n 0001660 d D e f a u l t P h r a s e ; 0001700 E n a b l e C a t c h ; E n d 0001720 C a t c h \r C r e a t e K e y w 0001740 o r d T a b l e ; T e r m i n 0001760 a t i n g C h a r \r \r I n i t P 0002000 u p L e v e l 1 \r \r / / i n c 0002020 o m i n g s t a t i c s \r s y 0002040 s Z o n e ; s y s F 376 001 \0 354 260 0002060 o n t ; d s p ; k e y s \r \r 0002100 / / o u t g o i n g s t a t 0002120 i c s \r f t p C t x Q ; c m d 0002140 D s p ; c m d K T ; e b K T 0002160 ; k b d C S ; b u f \r t i m 0002200 e R e q u e s t ; d i r R e q 0002220 u e s t \r e n g ; O p e n F i 0002240 l e \r ] \r \r s t a t i c \r [ \r f 0002260 t p C t x Q ; c m d D s p ; 0002300 c m d K T ; e b K T ; k b d 0002320 C S ; b u f \r t i m e R e q u 0002340 e s t ; d i r R e q u e s t \r 0002360 \r w a t c h D o g ; e n g ; 0002400 O p e n F i l e \r c u r s o r O 0002420 n ; c u r s o r T i m e r \r ] 0002440 \r \r s t r u c t u r e K T E : 0002460 376 001 \0 ; Q \t / / m u s t m a t 0002500 c h d e f i n i t i o n i n 0002520 N e t E x e c 1 . b c p l \r [ 0002540 \r b f n w o r d \t / / b o o t 0002560 f i l e n u m b e r \r l o c 0002600 a l w o r d \t / / t r u e = 0002620 > l o c a l p r o c e d u r 0002640 e ; f a l s e = > b o o t 0002660 f i l e \r p o r t w o r d 0002700 3 \t / / i n t e r n e t a d d 0002720 r e s s o f b o o t s e r 0002740 v e r \r d a t e w o r d 2 \t 0002760 / / u s e d a s a v e r s 0003000 i o n n u m b e r \r ] \r m a n 0003020 i f e s t \r [ \r l e n K T E = 0003040 s i z e K T E / 1 6 \r m a x 0003060 K T E s 376 001 \0 250 236 = 2 0 0 \r 0003100 \r b u f L e n = 2 5 6 + 0003120 1 6 3 8 4 + 4 0 9 6 + 1 0003140 0 0 / / h e a d e r + 0003160 I M + I F U M + s l o p 0003200 \r s t k L i m = 3 3 5 b \r ] 0003220 \r \f \r / / - - - - - - - - - - - 0003240 - - - - - - - - - - - - - - - - * 0003340 - - - - - - - - - - - - - - \r l 0003360 e t N e t E x e c ( ) b e 0003400 J u n t a ( n i l , A f t e r 0003420 J u n t a ) \r / / - - - - - - - 0003440 - - - - - - - - - - - - - - - - 0003460 - - - - - - - - - - 376 001 \0 < 214 - 0003500 - - - - - - - - - - - - - - - - * 0003560 - - - - - - - \r \r / / - - - - - 0003600 - - - - - - - - - - - - - - - - * 0003720 - - - - \r a n d A f t e r J u 0003740 n t a ( ) b e \r / / - - - - - 0003760 - - - - - - - - - - - - - - - - * 0004060 - - - - - - - - - - - - - - - 376 0004100 001 \0 \n C - - - - - \r [ \r l e t 0004120 d = v e c ( l D C B + 3 ) 0004140 ; d s p = ( d + 1 ) & - 2 0004160 \r l e t d c b = d s p + 2 0004200 ; d s p ! 0 , d s p ! 1 = 0004220 d c b , d c b \r Z e r o ( d 0004240 c b , l D C B ) ; d c b > > 0004260 D C B . h e i g h t = 4 2 \r 0004300 S h o w D i s p l a y S t r e a 0004320 m ( d s p , D S a l o n e ) \r 0004340 e n g = ( t a b l e [ 6 0004360 1 0 1 4 b ; 1 4 0 1 b ] ) ( 0004400 ) < < V E R S . e n g \r \r b u f 0004420 = @ s t k L i m ; @ s t k 0004440 L i m = b u f + b u f L 0004460 e n \r l e t b a s e = @ s 0004500 t k L i 376 001 \0 216 231 m ; @ s t k 0004520 L i m = M y F r a m e ( ) 0004540 - 2 0 0 \r s y s Z o n e = 0004560 I n i t i a l i z e Z o n e ( b 0004600 a s e , @ s t k L i m - b 0004620 a s e , S y s E r r , S y s 0004640 E r r ) \r \r l e t v = v e 0004660 c 1 ; f t p C t x Q = v 0004700 ; f t p C t x Q ! 0 = 0 \r 0004720 I n i t P u p L e v e l 1 ( s y 0004740 s Z o n e , f t p C t x Q , 0004760 2 5 ) \r E n q u e u e ( f t p C 0005000 t x Q , I n i t i a l i z e C 0005020 o n t e x t ( A l l o c a t e ( 0005040 s y s Z o n e , 5 0 0 ) , 5 0005060 0 0 , T i t l e ) ) \r E n q u 0005100 e u e ( f t p C t 376 001 \0 # " x Q 0005120 , I n i t i a l i z e C o n t 0005140 e x t ( A l l o c a t e ( s y s 0005160 Z o n e , 5 0 0 ) , 5 0 0 , 0005200 C o m m a n d ) ) \r E n q u e 0005220 u e ( f t p C t x Q , I n i t 0005240 i a l i z e C o n t e x t ( A l 0005260 l o c a t e ( s y s Z o n e , 0005300 3 0 0 ) , 3 0 0 , G e t T i 0005320 m e ) ) \r E n q u e u e ( f t p 0005340 C t x Q , I n i t i a l i z e 0005360 C o n t e x t ( A l l o c a t e 0005400 ( s y s Z o n e , 3 0 0 ) , 0005420 3 0 0 , G e t D i r ) ) \r E n 0005440 q u e u e ( f t p C t x Q , I 0005460 n i t i a l i z e C o n t e x t 0005500 ( A l l o c a t e ( s y s Z 376 001 0005520 \0 204 ! o n e , 3 0 0 ) , 3 0 0005540 0 , G e t N a m e ) ) \r E n q 0005560 u e u e ( f t p C t x Q , I n 0005600 i t i a l i z e C o n t e x t ( 0005620 A l l o c a t e ( s y s Z o n e 0005640 , 1 0 0 ) , 1 0 0 , W a t 0005660 c h D o g ) ) \r \r c m d K T = 0005700 C r e a t e K e y w o r d T a 0005720 b l e ( m a x K T E s , l e n 0005740 K T E ) \r e b K T = C r e a 0005760 t e K e y w o r d T a b l e ( m 0006000 a x K T E s , l e n K T E ) \r 0006020 \r C a l l C o n t e x t L i s t 0006040 ( f t p C t x Q ! 0 ) r e p e 0006060 a t \r ] \r \f \r / / - - - - - - - 0006100 - - - - - - - - - - - - - - - - 0006120 - - - 376 001 \0 301 005 - - - - - - - - 0006140 - - - - - - - - - - - - - - - - * 0006220 - - - - - - - \r a n d T i t l 0006240 e ( ) b e \r / / - - - - - - - 0006260 - - - - - - - - - - - - - - - - * 0006400 - - \r [ \r B l o c k ( ) \r l e t 0006420 l i n e W o r d s = l D C 0006440 B + 3 8 * 2 * ( ( s y s F o n t 0006460 ! - 2 + 1 ) r s h i f t 1 ) 0006500 + 1 \r l e t t o p = v 0006520 e c 1 \r t o p 376 001 \0 m 244 ! 0 0006540 = C r e a t e D i s p l a y S 0006560 t r e a m ( 1 , A l l o c a t 0006600 e ( s y s Z o n e , l i n e W 0006620 o r d s ) , l i n e W o r d s 0006640 ) \r t o p ! 1 = C r e a t e 0006660 D i s p l a y S t r e a m ( 1 , 0006700 A l l o c a t e ( s y s Z o n 0006720 e , l i n e W o r d s ) , l 0006740 i n e W o r d s ) \r S h o w D i 0006760 s p l a y S t r e a m ( t o p ! 0007000 0 , D S b e l o w , d s p ) 0007020 \r l e t b o t = v e c 1 0007040 \r b o t ! 0 = C r e a t e D 0007060 i s p l a y S t r e a m ( 1 , 0007100 A l l o c a t e ( s y s Z o n e 0007120 , l i n e W o r d s ) , 376 001 \0 0007140 v 003 l i n e W o r d s ) \r b o 0007160 t ! 1 = C r e a t e D i s p 0007200 l a y S t r e a m ( 1 , A l l 0007220 o c a t e ( s y s Z o n e , l 0007240 i n e W o r d s ) , l i n e W 0007260 o r d s ) \r S h o w D i s p l a 0007300 y S t r e a m ( b o t ! 0 , D 0007320 S b e l o w , t o p ! 0 ) \r l 0007340 e t b o l d F o n t = v e 0007360 c 1 ; b o l d F o n t = 0007400 b o l d F o n t + 2 \r b o l d 0007420 F o n t ! - 2 = - 1 ; b o 0007440 l d F o n t ! - 1 = s y s F 0007460 o n t \r l e t m a c h i n e T 0007500 y p e = s e l e c t o n e 0007520 n g i n t o \r [ \r 0007540 c a 376 001 \0 346 232 s e 0 : c a s 0007560 e 1 : " A l t o I " \r 0007600 c a s e 2 : " A l t o I 0007620 I " \r c a s e 3 : " A 0007640 l t o I I X M " \r c a 0007660 s e 4 : " D o l p h i n " \r 0007700 c a s e 5 : " D o r a 0007720 d o " \r ] \r \r l e t l a 0007740 s t T i m e , n o w = v e 0007760 c 1 , v e c 1 \r [ \r 0010000 R e a d C a l e n d a r ( 0010020 n o w ) \r i f D o u b l 0010040 e D i f f e r e n c e ( n o w , 0010060 l a s t T i m e ) n e 0 0010100 t h e n \r [ \r 0010120 l e t l i n e = t o 0010140 p ! 1 \r 376 001 \0 \b { R 0010160 e s e t s ( l i n e ) \r 0010200 P u t T e m p l a t e ( l i 0010220 n e , " - - $ P X E R O X $ 0010240 P B C P L N e t E x e c u 0010260 t i v e / 1 3 " , \r 0010300 S e t F o n t , b o l d F o 0010320 n t , S e t F o n t , s y s 0010340 F o n t ) \r F i l l 0010360 W i t h D a s h ( l i n e , 3 0010400 3 0 ) \r W r i t e D 0010420 a t e ( l i n e ) \r 0010440 F i l l W i t h D a s h ( l i n 0010460 e , 6 0 5 ) \r E x 0010500 c h a n g e L i n e s ( t o p ) 0010520 \r \r l i n e = b 0010540 o t ! 1 \r R 376 001 \0 254 0010560 357 e s e t s ( l i n e ) \r 0010600 F i l l W i t h D a s h ( 0010620 l i n e , 1 2 5 ) \r 0010640 W s s ( l i n e , m a c h i 0010660 n e T y p e ) \r F i 0010700 l l W i t h D a s h ( l i n e , 0010720 2 5 0 ) \r P r i n 0010740 t N a m e ( l i n e ) \r 0010760 i f e n g g r 3 t h 0011000 e n \r [ \r 0011020 F i l l W i t h D 0011040 a s h ( l i n e , 4 5 0 ) \r 0011060 P u t T e m p l 0011100 a t e ( l i n e , " P a r t i 0011120 t i o n $ D " , ( t a b l e 0011140 [ 6 1 0 3 7 b ; 1 4 0 1 b 0011160 376 001 \0 321 244 ] ) ( 0 ) ) \r 0011200 ] \r F i 0011220 l l W i t h D a s h ( l i n e , 0011240 6 0 5 ) \r E x c h 0011260 a n g e L i n e s ( b o t ) \r \r 0011300 M o v e B l o c k ( 0011320 l a s t T i m e , n o w , 2 0011340 ) \r ] \r D i s 0011360 m i s s ( 2 0 ) \r ] r e 0011400 p e a t \r ] \r \r / / - - - - - - 0011420 - - - - - - - - - - - - - - - - * 0011540 - - - \r a n d E x c h a n g e 0011560 L i n e s ( 376 001 \0 342 331 l i n e V 0011600 e c ) b e \r / / - - - - - - - 0011620 - - - - - - - - - - - - - - - - * 0011740 - - \r [ \r l e t d c b = @ 0011760 d i s p l a y L i s t H e a d \r 0012000 w h i l e d c b > > D C B . n 0012020 e x t n e l i n e V e c ! 0 0012040 > > D S . c d c b d o d c b 0012060 = d c b > > D C B . n e x t 0012100 \r l i n e V e c ! 1 > > D S . c 0012120 d c b > > D C B . n e x t = 0012140 l i n e V e c ! 0 > > D S . c d 0012160 c b > > D C B . n e x 376 001 \0 032 207 0012200 t \r d c b > > D C B . n e x t 0012220 = l i n e V e c ! 1 > > D S . 0012240 c d c b \r l e t t e m p = 0012260 l i n e V e c ! 1 ; l i n e V 0012300 e c ! 1 = l i n e V e c ! 0 0012320 ; l i n e V e c ! 0 = t e 0012340 m p \r ] \r \f \r / / - - - - - - - 0012360 - - - - - - - - - - - - - - - - * 0012500 - - \r a n d F i l l W i t h D 0012520 a s h ( s t r e a m , e n d ) 0012540 b e \r / / - - - - - - - - - - 0012560 - - - - - - - - - - - - - - - - 0012600 376 001 \0 027 255 - - - - - - - - - - - 0012620 - - - - - - - - - - - - - - - - * 0012700 - - - - \r [ \r i f ( e n d - G 0012720 e t B i t P o s ( s t r e a m ) 0012740 ) g r C h a r W i d t h ( s 0012760 t r e a m , $ * S ) & \r G 0013000 e t B i t P o s ( s t r e a m ) 0013020 n e G e t L m a r g ( s t r 0013040 e a m ) t h e n P u t s ( s 0013060 t r e a m , $ * S ) \r f o r 0013100 i = 1 t o ( e n d - C h 0013120 a r W i d t h ( s t r e a m , 0013140 $ * S ) - G e t B i t P o s ( s 0013160 t r e a m ) ) / \r C h a r W i 0013200 d t h ( s 376 001 \0 D X t r e a m , 0013220 $ - ) d o P u t s ( s t r 0013240 e a m , $ - ) \r S e t B i t P 0013260 o s ( s t r e a m , e n d ) \r 0013300 ] \r \r / / - - - - - - - - - - - 0013320 - - - - - - - - - - - - - - - - * 0013420 - - - - - - - - - - - - - - \r a 0013440 n d W r i t e D a t e ( s t r 0013460 e a m ) = v a l o f \r / / - 0013500 - - - - - - - - - - - - - - - - * 0013600 - - - - - - - - - - 376 001 \0 342 S - 0013620 - - - - - - - - - - - - - \r / / 0013640 " W e e k d a y M o n t h 0013660 D a y - h o u r : m i n u t 0013700 e : s e c o n d a m / p m " \r 0013720 [ \r s t r u c t u r e U V : \r 0013740 [ \r y e a r w o r 0013760 d \r m o n t h w o r d \r 0014000 d a y w o r d \r h 0014020 o u r w o r d \r m i n u 0014040 t e w o r d \r s e c o n 0014060 d w o r d \r d s t w o 0014100 r d \r ] \r m a n i f e s t 0014120 l e n U V = s i z e U V 0014140 / 1 6 \r l e t d v = v e c 0014160 1 ; R e a d C a l e n d a r 0014200 ( d v ) \r l e t u v = v 376 0014220 001 \0 9 - e c l e n U V ; U N 0014240 P A C K D T ( d v , u v ) \r i 0014260 f u v > > U V . y e a r l e 0014300 1 9 8 2 % u v > > U V . y 0014320 e a r g r 2 0 0 0 t h e n 0014340 \r [ \r W s s ( s t r 0014360 e a m , " D a t e a n d t 0014400 i m e u n k n o w n " ) \r 0014420 r e s u l t i s f a l s e \r 0014440 ] \r l e t d a y = s 0014460 e l e c t o n W E E K D A Y ( 0014500 d v ) i n t o \r [ \r 0014520 c a s e 0 : " M o n d a y 0014540 " \r c a s e 1 : " T u 0014560 e s d a y " \r c a s e 2 0014600 : " W e d n e s d a y " \r 0014620 c a s 376 001 \0 L R e 3 : " T 0014640 h u r s d a y " \r c a s e 0014660 4 : " F r i d a y " \r 0014700 c a s e 5 : " S a t u r d a 0014720 y " \r c a s e 6 : " S 0014740 u n d a y " \r ] \r l e t 0014760 m o n t h = s e l e c t o n 0015000 u v > > U V . m o n t h i n 0015020 t o \r [ \r c a s e 0015040 0 : " J a n " \r c a s e 0015060 1 : " F e b " \r c a s 0015100 e 2 : " M a r " \r c a 0015120 s e 3 : " A p r " \r c 0015140 a s e 4 : " M a y " \r 0015160 c a s e 5 : " J u n " \r 0015200 c a s e 6 : " J u l " \r 0015220 c a s e 7 : 376 001 \0 303 [ " 0015240 A u g " \r c a s e 8 : 0015260 " S e p " \r c a s e 9 : 0015300 " O c t " \r c a s e 1 0015320 0 : " N o v " \r c a s e 0015340 1 1 : " D e c " \r ] \r 0015360 P u t T e m p l a t e ( s t r e 0015400 a m , " $ S $ S $ U D - 0015420 " , d a y , m o n t h , 0015440 u v > > U V . d a y ) \r l e t 0015460 a m = u v > > U V . h o u r 0015500 l e 1 1 \r i f u v > > U V 0015520 . h o u r g e 1 2 t h e n 0015540 u v > > U V . h o u r = u 0015560 v > > U V . h o u r - 1 2 \r 0015600 i f u v > > U V . h o u r l 0015620 s 1 t h e n u v > > U 376 001 0015640 \0 s 031 V . h o u r = 1 2 \r P 0015660 u t T e m p l a t e ( s t r e a 0015700 m , " $ U D : $ U 2 F 0 D : $ 0015720 U 2 F 0 D $ S " , u v > > U 0015740 V . h o u r , \r u v > > U V . 0015760 m i n u t e , u v > > U V . s 0016000 e c o n d , ( a m ? " a m " 0016020 , " p m " ) ) \r r e s u l t i 0016040 s t r u e \r ] \r \f \r / / - - - 0016060 - - - - - - - - - - - - - - - - * 0016200 - - - - - - \r a n d C o m m a 0016220 n d ( ) b e / / a c o n 0016240 t e x 376 001 \0 344 004 t \r / / - - - - 0016260 - - - - - - - - - - - - - - - - * 0016400 - - - - - \r [ \r m a n i f e s t 0016420 n u m L i n e s = 2 0 \r c 0016440 m d D s p = C r e a t e D i 0016460 s p l a y S t r e a m ( n u m L 0016500 i n e s , b u f , b u f L e 0016520 n ) \r f o r i = 1 t o 0016540 n u m L i n e s - 1 d o P u 0016560 t s ( c m d D s p , $ * N ) \r 0016600 S h o w D i s p l a y S t r e a 0016620 m ( c m d D s p , D S b e l o 0016640 w , d s p ) \r 376 001 \0 274 \ S e t 0016660 T i m e r ( l v c u r s o r T 0016700 i m e r , 0 ) \r c m d D s p > 0016720 > S T . p u t b a c k = c m 0016740 d D s p > > S T . p u t s ; c 0016760 m d D s p > > S T . p u t s = 0017000 P u t s W i t h C u r s o r \r 0017020 k e y s > > S T . p a r 1 = 0017040 k e y s > > S T . g e t s ; k 0017060 e y s > > S T . g e t s = G 0017100 e t s W i t h C u r s o r \r k e 0017120 y s > > S T . p a r 2 = k e 0017140 y s > > S T . e n d o f ; k e 0017160 y s > > S T . e n d o f = E 0017200 n d o f W i t h C u r s o r \r d 0017220 i r R e q u e s t = E x t r 0017240 a c t S u b s t r i n g ( 376 001 \0 0017260 222 \0 " 0 # 0 # " ) \r t i m e R e 0017300 q u e s t = t r u e \r \r L o 0017320 a d K T ( c m d K T , " B o o 0017340 t D P 0 " , D i s k B o o t , 0017360 0 , 0 ) \r L o a d K T ( c m 0017400 d K T , " E t h e r B o o t " 0017420 , N e t B o o t , 0 , 0 ) 0017440 \r L o a d K T ( c m d K T , " 0017460 F i l e S t a t " , F i l e S 0017500 t a t , 0 , 0 ) \r i f e n 0017520 g g r 3 t h e n \r [ 0017540 \r L o a d K T ( c m d K T 0017560 , " L o a d M i c r o c o d e 0017600 " , L o a d M i c r o c o d e 0017620 , 0 , 0 ) \r L o a d K 0017640 T ( c m d K T , " P a r t i t 0017660 i o 376 001 \0 361 p n " , P a r t i 0017700 t i o n , 0 , 0 ) \r L 0017720 o a d K T ( c m d K T , " P o 0017740 w e r O f f " , P o w e r O f 0017760 f , 0 , 0 ) \r ] \r L o 0020000 a d K T ( c m d K T , " P r o 0020020 b e " , P r o b e , 0 , 0 0020040 ) \r L o a d K T ( c m d K T , 0020060 " Q u i t " , Q u i t , 0 , 0020100 0 ) \r L o a d K T ( c m d K T 0020120 , " S e t T i m e " , S e t 0020140 T i m e , 0 , 0 ) \r L o a d 0020160 K T ( c m d K T , " W h e r e 0020200 " , W h e r e , 0 , 0 ) \r 0020220 \r [ \r k b d C S = 0020240 I n i t C m d ( 2 5 6 , 5 , 0020260 0 , 0 , 376 001 \0 265 G 0 , k 0020300 e y s , c m d D s p ) r e p 0020320 e a t u n t i l k b d C S n 0020340 e 0 \r W s s ( k b d C S 0020360 , " * N > " ) \r i f E n 0020400 a b l e C a t c h ( k b d C S ) 0020420 t h e n \r [ \r 0020440 i f C m d E r r o r C 0020460 o d e ( k b d C S ) e q e c 0020500 K e y N o t F o u n d t h e n 0020520 \r d i r R e q 0020540 u e s t = E x t r a c t S u 0020560 b s t r i n g ( " 0 # 0 # 4 " ) 0020600 \r E n d C a t c h ( 0020620 k b d C S ) \r ] \r 0020640 S e t T i m e r ( l v w a 0020660 t c h D o g , 3 0 0 0 376 001 \0 036 0020700 371 0 ) / / 5 m i n \r 0020720 l e t k t e = G e t K e y 0020740 w o r d ( k b d C S , c m d K 0020760 T ) \r t e s t k t e > > 0021000 K T E . l o c a l \r 0021020 i f s o ( k t e > > K T E . b 0021040 f n ) ( ) \r i f n o 0021060 t M y E t h e r B o o t ( k t 0021100 e > > K T E . b f n , l v k 0021120 t e > > K T E . p o r t ) \r 0021140 C l o s e s ( k b d C S ) \r 0021160 ] r e p e a t \r ] \r \f \r / 0021200 / - - - - - - - - - - - - - - - 0021220 - - - - - - - - - - - - - - - - * 0021300 - 376 001 \0 020 035 - - - - - - - - - - 0021320 - - - - - - - - - - - - - - - \r 0021340 a n d Q u i t ( ) b e M y 0021360 E t h e r B o o t ( 0 ) \r / / - 0021400 - - - - - - - - - - - - - - - - * 0021520 - - - - - - - - \r \r / / - - - - 0021540 - - - - - - - - - - - - - - - - * 0021660 - - - - - \r a n d S e t T i m 0021700 e ( ) b e 376 001 \0 304 m t i m e 0021720 R e q u e s t = t r u e \r / 0021740 / - - - - - - - - - - - - - - - 0021760 - - - - - - - - - - - - - - - - * 0022060 - - - - - - - - - - \r \r / / - - 0022100 - - - - - - - - - - - - - - - - * 0022220 - - - - - - - \r a n d P r o b 0022240 e ( ) b e \r / / - - - - - - - 0022260 - - - - - - - - - - - - - - - - 0022300 - - - - - - - - - - - 376 001 \0 025 363 0022320 - - - - - - - - - - - - - - - - * 0022400 - - - - - - - \r [ \r t e s t T 0022420 e r m i n a t i n g C h a r ( k 0022440 b d C S ) e q $ * S \r 0022460 i f n o t d i r R e q u e s t 0022500 = E x t r a c t S u b s t r 0022520 i n g ( " 0 # 0 # 4 " ) \r 0022540 i f s o \r [ \r 0022560 W s s ( k b d C S , " 0022600 ( i n t e r n e t a d d r e s 0022620 s ) " ) \r d i r R 0022640 e q u e s t = G e t S t r i 0022660 n g ( k b d C S ) \r 0022700 ] \r ] \r \r / / - - - - - - - - - 0022720 376 001 \0 8 301 - - - - - - - - - - - 0022740 - - - - - - - - - - - - - - - - * 0023040 - - - - - \r a n d P a r t i t 0023060 i o n ( ) b e \r / / - - - - - 0023100 - - - - - - - - - - - - - - - - * 0023220 - - - - \r [ \r W s s ( k b d C S 0023240 , " n u m b e r " ) \r B e 0023260 g i n D e f a u l t P h r a s e 0023300 ( k b d C S ) \r P u t T e m p l 0023320 a t e ( k 376 001 \0 " 206 b d C S , 0023340 " $ D " , ( t a b l e [ 6 0023360 1 0 3 7 b ; 1 4 0 1 b ] ) ( 0023400 0 ) ) \r E n d D e f a u l t P h 0023420 r a s e ( k b d C S ) \r ( t a b 0023440 l e [ 6 1 0 3 7 b ; 1 4 0 0023460 1 b ] ) ( G e t N u m b e r ( 0023500 k b d C S ) ) \r ] \r \r / / - - - 0023520 - - - - - - - - - - - - - - - - * 0023640 - - - - - - \r a n d P o w e r 0023660 O f f ( ) b e i f C o n f 0023700 i r m ( k b d C S ) t h e n 0023720 ( t a b l e [ 6 376 001 \0 306 340 1 0023740 0 3 4 b ; 1 4 0 1 b ] ) ( ) 0023760 \r / / - - - - - - - - - - - - - 0024000 - - - - - - - - - - - - - - - - * 0024100 - - - - - - - - - - - - \r \r / / 0024120 - - - - - - - - - - - - - - - - * 0024240 - - - - - - - - - \r a n d W a 0024260 t c h D o g ( ) b e / / a 0024300 c o n t e x t \r / / - - - - - 0024320 - - - - - - - - - - - - - - - 376 0024340 001 \0 O 363 - - - - - - - - - - - - 0024360 - - - - - - - - - - - - - - - - * 0024440 - - - - - - - - - \r [ \r S e t T 0024460 i m e r ( l v w a t c h D o g 0024500 , 3 0 0 0 0 ) / / 5 m i 0024520 n u t e s \r B l o c k ( ) r e 0024540 p e a t u n t i l T i m e r H 0024560 a s E x p i r e d ( l v w a t 0024600 c h D o g ) \r Q u i t ( ) \r ] \r 0024620 \f \r / / - - - - - - - - - - - - 0024640 - - - - - - - - - - - - - - - - * 0024740 - - - - 376 001 \0 023 230 - - - - - - - 0024760 - - \r a n d D i s k B o o t ( 0025000 ) b e \r / / - - - - - - - - - 0025020 - - - - - - - - - - - - - - - - * 0025140 \r / / D 0 s d o n ' t b o 0025160 o t w h e n S I O 1 0 0 0 0025200 0 0 i s e x e c u t e d , 0025220 s o t h i s B c p l p r o 0025240 c e d u r e \r / / d o e s 0025260 w h a t t h e m i c r o c o 0025300 d e s h o u l d d o . \r [ \r 0025320 s t r u c t u r e K C B : \r 0025340 [ \r l i 376 001 \0 ~ 027 n k 0025360 w o r d \r s t a t u s 0025400 w o r d \r c o m m a n d 0025420 w o r d \r h e a d e r A d 0025440 d r e s s w o r d \r l a 0025460 b e l A d d r e s s w o r d \r 0025500 d a t a A d d r e s s w 0025520 o r d \r n o r m a l W a k 0025540 e u p s w o r d \r e r r 0025560 o r W a k e u p s w o r d \r 0025600 h e a d e r w o r d \r 0025620 d i s k A d d r e s s w o r 0025640 d \r ] \r m a n i f e s t 0025660 l e n K C B = s i z e K C 0025700 B / 1 6 \r \r @ d i s p l a y L i 0025720 s t H e a d = 0 / / t u 0025740 r n o f f d i s p l a y 376 001 0025760 \0 220 245 \r ( t a b l e [ 6 1 0 0026000 0 0 b ; 1 4 0 1 b ] ) ( ) 0026020 / / d i s a b l e i n t e r 0026040 r u p t s \r S t a r t I O ( 3 ) 0026060 / / r e s e t E t h e r n 0026100 e t \r \r l e t k c b , d a t 0026120 a , l a b e l = v e c l 0026140 e n K C B , v e c 2 5 6 , 0026160 v e c 8 \r f o r t r i e s 0026200 = 1 t o 1 0 d o \r 0026220 [ \r Z e r o ( k c b , l 0026240 e n K C B ) \r k c b > > K 0026260 C B . c o m m a n d = 4 4 1 0026300 0 0 b / / c h e c k h e a 0026320 d e r , r e a d l a b e l , 0026340 r e a d d a t a \r k c 0026360 b > > 376 001 \0 253 c K C B . h e a d 0026400 e r A d d r e s s = l v k 0026420 c b > > K C B . h e a d e r \r 0026440 k c b > > K C B . l a b e l 0026460 A d d r e s s = l a b e l \r 0026500 k c b > > K C B . d a t a 0026520 A d d r e s s = d a t a \r 0026540 k c b > > K C B . d i s k A 0026560 d d r e s s = k b d A d ! 0 0026600 x o r - 1 \r @ d i s k 0026620 C o m m a n d = k c b / 0026640 / s p i n t h e d i s k \r 0026660 w h i l e ( k c b > > K C 0026700 B . s t a t u s & 7 4 0 0 b 0026720 ) e q 0 l o o p / / w 0026740 a i t f o r i t t o s t 0026760 o p \r i f 376 001 \0 / 236 ( k 0027000 c b > > K C B . s t a t u s & 0027020 7 6 6 7 b ) e q 7 4 0 0 b 0027040 b r e a k / / g o o d s 0027060 t a t u s \r i f t r i e 0027100 s e q 1 0 t h e n C a l 0027120 l S w a t ( " 1 0 c o n s e c 0027140 u t i v e e r r o r s r e a 0027160 d i n g v d a 0 " ) \r 0027200 ] \r \r M o v e B l o c k ( 4 0 2 0027220 b , l a b e l , 8 ) / / 0027240 4 0 2 - 4 1 1 _ l a b e l \r 0027260 M o v e B l o c k ( 1 , d a t 0027300 a , 2 5 6 ) / / 1 - 4 0 0027320 0 _ d a t a \r @ 2 = k c 0027340 b > > K C B . s t a t u s / 0027360 / 2 _ s t a t u s \r g 376 001 \0 0027400 \0 270 o t o 1 / / j u m p 0027420 t o b o o t l o a d e r s t 0027440 a r t a d d r e s s \r ] \r \f \r 0027460 / / - - - - - - - - - - - - - - 0027500 - - - - - - - - - - - - - - - - * 0027600 - - - - - - - - - - - \r a n d 0027620 F i l e S t a t ( ) b e \r / / 0027640 - - - - - - - - - - - - - - - - * 0027760 - - - - - - - - - \r [ \r W s s ( 0030000 k b 376 001 \0 Q 5 d C S , " f o 0030020 r b o o t f i l e " ) \r l 0030040 e t k t e = G e t K e y w 0030060 o r d ( k b d C S , c m d K T 0030100 , t r u e ) \r i f k t e e 0030120 q 0 t h e n [ R e s e t 0030140 s ( k b d C S ) ; k t e = 0030160 G e t K e y w o r d ( k b d C S 0030200 , e b K T ) ] \r i f k t e 0030220 > > K T E . l o c a l t h e n 0030240 [ W s s ( k b d C S , " * 0030260 N N e t E x e c c o m m a n d 0030300 - n o t a b o o t f i 0030320 l e " ) ; r e t u r n ] \r P 0030340 u t T e m p l a t e ( k b d C S 0030360 , " * N B o o t f i l e n 0030400 u m b e r $ 376 001 \0 340 036 U O b " 0030420 , k t e > > K T E . b f n ) \r 0030440 P u t T e m p l a t e ( k b d C 0030460 S , " , f r o m [ $ P ] " 0030500 , P r i n t P o r t , l v 0030520 k t e > > K T E . p o r t ) \r l 0030540 e t u t v = v e c 7 ; 0030560 U N P A C K D T ( l v k t e > 0030600 > K T E . d a t e , u t v ) \r 0030620 P u t T e m p l a t e ( k b d C 0030640 S , " , c r e a t e d $ P 0030660 " , W R I T E U D T , u t v 0030700 ) \r l e t a l t o I = e n 0030720 g l e 1 \r W s s ( k b d C S 0030740 , " * N B o o t k e y s < 0030760 B S > " ) \r f o r i = 0 0031000 t o 1 5 d o i f 376 001 \0 332 0031020 320 ( ( k t e > > K T E . b f n ) 0031040 & ( 1 b 1 5 r s h i f t 0031060 i ) ) n e 0 t h e n \r 0031100 W s s ( k b d C S , s e l e 0031120 c t o n i i n t o \r 0031140 [ \r c a s e 0 0031160 : " 3 " \r c a s 0031200 e 1 : " 2 " \r 0031220 c a s e 2 : " W " \r 0031240 c a s e 3 : " Q " \r 0031260 c a s e 4 : " 0031300 S " \r c a s e 5 : 0031320 " A " \r c a s e 0031340 6 : " 9 " \r c 0031360 a s e 7 : " I " \r 0031400 c a s e 8 : " X " \r 0031420 376 001 \0 g - c a s e 9 0031440 : " O " \r c a s 0031460 e 1 0 : " L " \r 0031500 c a s e 1 1 : " < c o m 0031520 m a > " \r c a s e 0031540 1 2 : " < q u o t e > " \r 0031560 c a s e 1 3 : " 0031600 ] " \r c a s e 1 4 0031620 : a l t o I ? " < b l a n 0031640 k - m i d d l e > " , " < F 0031660 R 4 > " \r c a s e 0031700 1 5 : a l t o I ? " < b l 0031720 a n k - t o p > " , " < B W 0031740 > " \r ] ) \r ] \r \f \r 0031760 / / - - - - - - - - - - - - - - 0032000 - - - - - - - - - - - - - - - - 0032020 - - - - - - 376 001 \0 243 n - - - - - 0032040 - - - - - - - - - - - - - - - - * 0032120 \r a n d G e t s W i t h C u r 0032140 s o r ( s t ) = v a l o f \r 0032160 / / - - - - - - - - - - - - - - 0032200 - - - - - - - - - - - - - - - - * 0032300 - - - - - - - - - - - \r [ \r B l 0032320 o c k ( ) r e p e a t w h i l 0032340 e E n d o f s ( s t ) \r E r a 0032360 s e C u r s o r ( ) \r r e s u l 0032400 t i s s t > > S T . p a r 1 ( 0032420 s t ) \r ] \r \r / / - - 376 001 \0 5 247 0032440 - - - - - - - - - - - - - - - - * 0032560 - - - - - - - \r a n d P u t s 0032600 W i t h C u r s o r ( s t , c 0032620 h a r ) b e \r / / - - - - - - 0032640 - - - - - - - - - - - - - - - - * 0032760 - - - \r [ \r E r a s e C u r s o 0033000 r ( ) \r P u t b a c k s ( s t , 0033020 c h a r ) \r ] \r \r / / - - - - 0033040 376 001 \0 342 J - - - - - - - - - - - 0033060 - - - - - - - - - - - - - - - - * 0033160 - - - - - - - - - - \r a n d E 0033200 n d o f W i t h C u r s o r ( s 0033220 t ) = v a l o f \r / / - - - 0033240 - - - - - - - - - - - - - - - - * 0033360 - - - - - - \r [ \r i f T i m e 0033400 r H a s E x p i r e d ( l v c 0033420 u r s o r T i m e r ) t h e n 0033440 \r [ 376 001 \0 A T \r S e 0033460 t T i m e r ( l v c u r s o r 0033500 T i m e r , 5 0 ) \r t e 0033520 s t c u r s o r O n \r 0033540 i f s o E r a s e C u r s 0033560 o r ( ) \r i f n o t 0033600 [ P u t s ( c m d D s p , 0033620 $ | ) ; c u r s o r O n = 0033640 t r u e ] \r ] \r r e s u 0033660 l t i s s t > > S T . p a r 2 0033700 ( s t ) \r ] \r \r / / - - - - - - 0033720 - - - - - - - - - - - - - - - - * 0034040 - - - \r a n d E r 376 \0 272 261 321 a 0034060 s e C u r s o r ( ) b e i f 0034100 c u r s o r O n t h e n \r / 0034120 / - - - - - - - - - - - - - - - 0034140 - - - - - - - - - - - - - - - - * 0034240 - - - - - - - - - - \r [ \r E r a 0034260 s e B i t s ( c m d D s p , - 0034300 C h a r W i d t h ( c m d D s p 0034320 , $ | ) ) \r c u r s o r O n = 0034340 f a l s e \r ] \r 377 \0 \0 N e t E 0034360 x e c 1 . b c p l \0 373 233 , 305 207 \0 0034400 \0 376 001 \0 275 025 / / N e t E x e c 0034420 1 . b c p l - - a l l t h 0034440 e n e t w o r k - r e l a t e 0034460 d s t u f f \r / / C o p y r 0034500 i g h t X e r o x C o r p o 0034520 r a t i o n 1 9 7 9 , 1 9 8 0034540 0 , 1 9 8 2 , 1 9 8 3 \r / / 0034560 L a s t m o d i f i e d J 0034600 u l y 1 , 1 9 8 3 4 : 2 0034620 3 P M b y B o g g s \r \r g 0034640 e t " P u p E f t p . d e c l 0034660 " \r g e t " A l t o D e f s . 0034700 d " \r \r e x t e r n a l \r [ \r / 0034720 / o u t g o i n g p r o c e 0034740 d u r e s \r P r i n t N a m e ; 0034760 P r i n t P o r t ; L o a d 0035000 M i c r o c 376 001 \0 q 353 o d e ; 0035020 W h e r e ; L o a d K T \r G e 0035040 t T i m e ; G e t D i r ; G 0035060 e t N a m e ; N e t B o o t ; 0035100 M y E t h e r B o o t \r \r / / 0035120 i n c o m i n g p r o c e d 0035140 u r e s \r U N P A C K D T ; W 0035160 R I T E U D T \r D i s a b l e I 0035200 n t e r r u p t s ; S t a r t 0035220 I O \r M o v e B l o c k ; Z e 0035240 r o ; D e q u e u e ; A l l 0035260 o c a t e ; F r e e ; B l o 0035300 c k \r S e t T i m e r ; T i m 0035320 e r H a s E x p i r e d ; D i 0035340 s m i s s ; S e t C a l e n d 0035360 a r \r P u t T e m p l a t e ; 0035400 W s s ; C l o s e s 376 001 \0 260 * 0035420 ; R e s e t s \r S t r i n g C 0035440 o m p a r e ; G e t K e y w o 0035460 r d ; G e t S t r i n g \r E n 0035500 u m e r a t e K e y w o r d T a 0035520 b l e ; I n s e r t K e y w o 0035540 r d ; L o o k u p K e y w o r 0035560 d ; D e l e t e K e y w o r d 0035600 \r \r G e t P a r t n e r ; O p 0035620 e n L e v e l 1 S o c k e t ; 0035640 C l o s e L e v e l 1 S o c k e 0035660 t \r G e t P B I ; R e l e a s 0035700 e P B I ; C o m p l e t e P u 0035720 p ; L o c a t e N e t \r O p e 0035740 n E F T P S o c ; R e c e i v 0035760 e E F T P B l o c k ; C l o s 0036000 e E F T P S o c \r \r / / i n c 0036020 376 001 \0 036 203 o m i n g s t a t i 0036040 c s \r s y s Z o n e \r k b d C S 0036060 ; c m d D s p ; c m d K T ; 0036100 e b K T ; b u f ; e n g \r 0036120 t i m e R e q u e s t ; d i r 0036140 R e q u e s t \r l e n P B I ; 0036160 n d b Q \r m a y D a y P a c k e 0036200 t ; b o o t L o a d e r P a c 0036220 k e t \r ] \r \r s t a t i c o u 0036240 r N a m e \r \r m a n i f e s t \r 0036260 [ \r p s M i s c S e r v = 4 0036300 \r p t A l t o T i m e R e q = 0036320 2 0 6 b \r p t A l t o T i m e 0036340 R e p l y = 2 0 7 b \r p t B 0036360 o o t F i l e R e q = 2 4 4 0036400 b \r p t B o o t D i r R e q = 0036420 2 5 7 b 376 001 \0 200 345 \r p t B o o 0036440 t D i r R e p l y = 2 6 0 b 0036460 \r p t A d d r e s s L o o k u p 0036500 = 2 2 3 b \r p t A d d r e s 0036520 s R e p l y = 2 2 4 b \r p t 0036540 A d d r e s s E r r o r = 2 0036560 2 2 b \r ] \r \r s t r u c t u r e 0036600 K T E : \t / / m u s t m a t 0036620 c h d e f i n i t i o n i n 0036640 N e t E x e c . b c p l \r [ \r 0036660 b f n w o r d \t / / b o o t 0036700 f i l e n u m b e r \r l o c a 0036720 l w o r d \t / / t r u e = > 0036740 l o c a l p r o c e d u r e 0036760 ; f a l s e = > b o o t 0037000 f i l e \r p o r t @ P o r t \t 0037020 / / i n t e r n e t 376 001 \0 A 003 0037040 a d d r e s s o f b o o t 0037060 s e r v e r \r d a t e w o r d 0037100 2 \t / / u s e d a s a v 0037120 e r s i o n n u m b e r \r ] \r 0037140 \r s t r u c t u r e B F D : 0037160 [ b f n w o r d ; d a t e 0037200 w o r d 2 ; n a m e @ S 0037220 t r i n g ] \r \f \r / / - - - - 0037240 - - - - - - - - - - - - - - - - * 0037360 - - - - - \r l e t G e t T i m 0037400 e ( ) b e / / a c o n t 0037420 e x t \r / / - - - - - - - - - 376 0037440 001 \0 210 203 - - - - - - - - - - - - 0037460 - - - - - - - - - - - - - - - - * 0037560 - - - - \r [ \r B l o c k ( ) r 0037600 e p e a t u n t i l t i m e R 0037620 e q u e s t \r l e t p b i = 0037640 A l l o c a t e ( s y s Z o n 0037660 e , l e n P B I ) ; Z e r o 0037700 ( p b i , l e n P B I ) \r p b 0037720 i > > P B I . p u p . t y p e 0037740 = p t A l t o T i m e R e q \r 0037760 p b i > > P B I . p u p . l e n 0040000 g t h = p u p O v B y t e s 0040020 \r p b i > > P B I . p u p . d P 0040040 o r t . 376 001 \0 [ 334 s o c k e t ^ 0040060 2 = p s M i s c S e r v \r S 0040100 i m p l e P u p ( p b i , 5 0 0040120 , 1 0 0 0 , I n s t a l l T 0040140 i m e ) \r F r e e ( s y s Z o n 0040160 e , p b i ) \r t i m e R e q u 0040200 e s t = 0 \r ] r e p e a t 0040220 \r \r / / - - - - - - - - - - - - 0040240 - - - - - - - - - - - - - - - - * 0040340 - - - - - - - - - - - - - \r a n 0040360 d I n s t a l l T i m e ( p b 0040400 i , n i l ) = v a l o f \r 0040420 / / - - - - - - - - - - - - - - 0040440 - - - - - - - - - 376 001 \0 233 233 - - 0040460 - - - - - - - - - - - - - - - - * 0040560 \r [ \r s t r u c t u r e N T i 0040600 m e : \r [ \r t i m e 0040620 w o r d 2 \r z o n e : 0040640 \r [ \r s 0040660 i g n b i t 1 \r 0040700 h o u r b i t 7 \r 0040720 m i n u t e b i t 8 \r 0040740 ] \r b e g i n D S 0040760 T w o r d \r e n d D S T 0041000 w o r d \r ] \r \r i f p 0041020 b i > > P B I . p u p . t y p e 0041040 n e p t A l t o T i m e 376 001 0041060 \0 354 356 R e p l y r e s u l t i 0041100 s t r u e / / k e e p 0041120 t r y i n g \r l e t n T i m e 0041140 = l v p b i > > P B I . p 0041160 u p . w o r d s \r S e t C a l e 0041200 n d a r ( l v n T i m e > > N 0041220 T i m e . t i m e ) \r t i m e P 0041240 a r a m s > > L T P . s i g n 0041260 = n T i m e > > N T i m e . z 0041300 o n e . s i g n \r t i m e P a r 0041320 a m s > > L T P . z o n e H = 0041340 n T i m e > > N T i m e . z o 0041360 n e . h o u r \r t i m e P a r a 0041400 m s > > L T P . z o n e M = 0041420 n T i m e > > N T i m e . z o n 0041440 e . m i n u t e \r t i m e P a r 0041460 a m s 376 001 \0 031 t > > L T P . b e 0041500 g i n D S T = n T i m e > > 0041520 N T i m e . b e g i n D S T \r t 0041540 i m e P a r a m s > > L T P . e 0041560 n d D S T = n T i m e > > N 0041600 T i m e . e n d D S T \r r e s u 0041620 l t i s f a l s e \r ] \r \f \r / 0041640 / - - - - - - - - - - - - - - - 0041660 - - - - - - - - - - - - - - - - * 0041760 - - - - - - - - - - \r a n d G 0042000 e t D i r ( ) b e / / a 0042020 c o n t e x t \r / / - - - - - - 0042040 - - - - - - - - - - - - - - - - 0042060 - - - - - - - - 376 001 \0 | = - - - 0042100 - - - - - - - - - - - - - - - - * 0042160 - - - - - - - - \r [ \r B l o c k 0042200 ( ) r e p e a t u n t i l d 0042220 i r R e q u e s t \r l e t t a 0042240 r g e t = d i r R e q u e s 0042260 t ; d i r R e q u e s t = 0042300 0 \r i f t a r g e t > > S t r 0042320 i n g . c h a r ^ 1 e q $ [ 0042340 t h e n \r [ \r f o 0042360 r i = 2 t o t a r g e 0042400 t > > S t r i n g . l e n g t h 0042420 - 1 d o \r t a r g 0042440 e t > > S t r i n g . c h a r ^ 0042460 ( i - 1 ) = t a r g e 376 001 \0 0042500 376 272 t > > S t r i n g . c h a r 0042520 ^ i \r t a r g e t > > S t 0042540 r i n g . l e n g t h = t a 0042560 r g e t > > S t r i n g . l e n 0042600 g t h - 2 \r ] \r l e t 0042620 p o r t = v e c l e n P o 0042640 r t ; Z e r o ( p o r t , l 0042660 e n P o r t ) \r G e t P a r t n 0042700 e r ( t a r g e t , k b d C S 0042720 , p o r t , 0 , p s M i s 0042740 c S e r v ) \r F r e e ( s y s Z 0042760 o n e , t a r g e t ) \r \r l e 0043000 t p b i = A l l o c a t e 0043020 ( s y s Z o n e , l e n P B I 0043040 ) ; Z e r o ( p b i , l e n 0043060 P B I ) \r p b i > > P B I . p u 0043100 p . 376 001 \0 335 p t y p e = p t 0043120 B o o t D i r R e q \r p b i > > 0043140 P B I . p u p . l e n g t h = 0043160 p u p O v B y t e s \r M o v e 0043200 B l o c k ( l v p b i > > P B 0043220 I . p u p . d P o r t , p o r 0043240 t , l e n P o r t ) \r S i m p 0043260 l e P u p ( p b i , 1 0 0 , 0043300 3 0 0 , I n s t a l l D i r ) 0043320 \r ] r e p e a t \r \r / / - - - 0043340 - - - - - - - - - - - - - - - - * 0043460 - - - - - - \r a n d I n s t a 0043500 l l D i r ( p 376 001 \0 376 323 b i , 0043520 n i l ) = v a l o f \r / / - 0043540 - - - - - - - - - - - - - - - - * 0043660 - - - - - - - - \r [ \r i f p b 0043700 i > > P B I . p u p . t y p e 0043720 e q p t B o o t D i r R e p l 0043740 y t h e n \r [ \r l 0043760 e t p t r , m a x P t r = 0044000 1 , ( p b i > > P B I . p u 0044020 p . l e n g t h - p u p O v B y 0044040 t e s ) / 2 \r w h i l e 0044060 p t r l s m a x P t r d o 0044100 \r [ \r 376 001 \0 276 0044120 261 l e t b f d = l v 0044140 p b i > > P B I . p u p . w o 0044160 r d s ^ p t r \r l e 0044200 t n a m e = l v b f d > 0044220 > B F D . n a m e \r 0044240 l e t l e n g t h = n a m 0044260 e > > S t r i n g . l e n g t h 0044300 \r i f S t r i n g 0044320 C o m p a r e ( n a m e , " . 0044340 b o o t " , l e n g t h - 4 ) 0044360 e q 0 t h e n \r 0044400 L o a d K T ( c m d K T 0044420 , n a m e , b f d > > B F D 0044440 . b f n , l v p b i > > P B 0044460 I . p u p . s P o r t , l v 0044500 b f d > > B F D . d a t e ) \r 0044520 376 001 \0 0 { i f S t r 0044540 i n g C o m p a r e ( n a m e , 0044560 " . e b " , l e n g t h - 2 0044600 ) e q 0 t h e n \r 0044620 L o a d K T ( e b K T 0044640 , n a m e , b f d > > B F D 0044660 . b f n , l v p b i > > P B 0044700 I . p u p . s P o r t , l v 0044720 b f d > > B F D . d a t e ) \r 0044740 p t r = p t r + 0044760 4 + l e n g t h / 2 \r 0045000 ] \r ] \r r e s u l 0045020 t i s t r u e \r ] \r \f \r / / - 0045040 - - - - - - - - - - - - - - - - * 0045120 - - - - - - 376 001 \0 j - - - - - - 0045140 - - - - - - - - - - - - - - - - 0045160 - - - - - - - - - - - - - \r a n 0045200 d L o a d K T ( k t , n a m 0045220 e , b f n , p o r t , d 0045240 a t e ) b e \r / / - - - - - - 0045260 - - - - - - - - - - - - - - - - * 0045400 - - - \r [ \r l e t k t e = 0045420 L o o k u p K e y w o r d ( k t 0045440 , n a m e ) \r i f k t e n 0045460 e 0 & D o u b l e U s c ( 0045500 d a t e , l v k t e > > K T 0045520 E . d a t e ) g r 376 001 \0 # = 0045540 0 t h e n \r [ D e l e 0045560 t e K e y w o r d ( k t , n a 0045600 m e ) ; k t e = 0 ] \r i 0045620 f k t e e q 0 t h e n \r 0045640 [ \r k t e = I n 0045660 s e r t K e y w o r d ( k t , 0045700 n a m e ) \r k t e > > K T 0045720 E . b f n = b f n \r k 0045740 t e > > K T E . l o c a l = 0045760 p o r t e q 0 & d a t e 0046000 e q 0 \r M o v e B l o 0046020 c k ( l v k t e > > K T E . p 0046040 o r t , p o r t , 3 ) \r 0046060 M o v e B l o c k ( l v k t 0046100 e > > K T E . d a t e , d a t 0046120 e , 2 ) \r ] \r ] \r \r / / 0046140 376 001 \0 214 8 - - - - - - - - - - - 0046160 - - - - - - - - - - - - - - - - * 0046260 - - - - - - - - - - - - - - \r a 0046300 n d D o u b l e U s c ( l v A 0046320 , l v B ) = \r / / - - - - - 0046340 - - - - - - - - - - - - - - - - * 0046460 - - - - \r / / l v A a n d 0046500 l v B a r e t h e a d d r 0046520 e s s e s o f t w o 3 2 - 0046540 b i t o 376 001 \0 344 252 p e r a n d 0046560 s R e t u r n s : \r / / \t - 1 0046600 i f A < B \r / / \t 0 0046620 i f A = B \r / / \t 1 i 0046640 f A > B \r ( t a b l e \r 0046660 [ \r 4 1 0 0 3 b \t / 0046700 / \t s t a 0 3 2 \t ; l v 0046720 A \r 4 5 0 0 2 b \t / / \t 0046740 s t a 1 2 2 \t ; l v B \r 0046760 2 3 0 0 3 b \t / / \t l d 0047000 a 0 @ 3 2 \t ; A h i g 0047020 h p a r t \r 2 7 0 0 2 0047040 b \t / / \t l d a 1 @ 2 2 \t 0047060 ; B h i g h p a r t \r 0047100 1 0 6 4 1 4 b \t / / \t s e 0 0047120 1 \t \t ; A , B \r 0047140 4 0 5 b \t / / \t 376 001 \0 ` 025 j 0047160 m p d u s c 1 \r 1 1 0 0047200 0 3 b \t / / \t i s z 3 2 \t \t 0047220 ; l v A \r 1 1 0 0 2 b 0047240 \t / / \t i s z 2 2 \t \t ; l 0047260 v B \r 2 3 0 0 3 b \t / / 0047300 \t l d a 0 @ 3 2 \t ; A 0047320 l o w p a r t \r 2 7 0 0047340 0 2 b \t / / \t l d a 1 @ 2 0047360 2 \t ; B l o w p a r t \r 0047400 1 0 6 4 3 3 b \t / / d u s 0047420 c 1 : s l e u 0 1 \t ; A 0047440 , B \r 4 0 5 b \t / 0047460 / \t j m p g r \t \t ; A > 0047500 B \r 1 0 6 4 1 4 b \t / / 0047520 \t s e 0 1 \t \t ; A , B \r 0047540 1 0 2 0 0 1 b \t / / \t 376 0047560 001 \0 237 c m k m i n u s o n e 0 0047600 0 s k p \t ; A < B \r 0047620 1 0 2 4 6 0 b \t / / \t m k z 0047640 e r o 0 0 \t ; A = B \r 0047660 1 4 0 1 b \t / / \t j m 0047700 p 1 3 \r 1 0 2 5 2 0 b 0047720 \t / / g r : \t m k o n e 0 0047740 0 \r 1 4 0 1 b \t / / \t 0047760 j m p 1 3 \r ] ) ( l v 0050000 A , l v B ) \r \f \r / / - - - - 0050020 - - - - - - - - - - - - - - - - * 0050140 - - - - - \r a n d G e t N a m 0050160 e ( ) 376 001 \0 027 253 b e / / a 0050200 c o n t e x t \r / / - - - - - 0050220 - - - - - - - - - - - - - - - - * 0050340 - - - - \r [ \r l e t n d b = 0050360 n d b Q ! 0 ; B l o c k ( ) 0050400 r e p e a t w h i l e o u r 0050420 N a m e n e 0 % n d b > 0050440 > N D B . l o c a l N e t e q 0050460 0 \r l e t p b i = A l l 0050500 o c a t e ( s y s Z o n e , l 0050520 e n P B I ) ; Z e r o ( p b i 0050540 , l e n P B I ) \r p b i > > P 0050560 B I . p u p . t y 376 001 \0 x 356 p e 0050600 = p t A d d r e s s L o o k 0050620 u p \r p b i > > P B I . p u p . 0050640 l e n g t h = p u p O v B y 0050660 t e s + 6 \r p b i > > P B I . p 0050700 u p . d P o r t . s o c k e t ^ 0050720 2 = p s M i s c S e r v \r l 0050740 e t p o r t = l v p b i 0050760 > > P B I . p u p . b y t e s ^ 0051000 1 \r p o r t > > P o r t . n e t 0051020 = n d b > > N D B . l o c a 0051040 l N e t \r p o r t > > P o r t . 0051060 h o s t = n d b > > N D B . 0051100 l o c a l H o s t \r S i m p l e 0051120 P u p ( p b i , 1 0 0 , 5 0 0051140 0 , I n s t a l l N a m e ) \r 0051160 F r e e ( s y s Z o n e , 376 001 0051200 \0 l 316 p b i ) \r ] r e p e a t 0051220 \r \r / / - - - - - - - - - - - - 0051240 - - - - - - - - - - - - - - - - * 0051340 - - - - - - - - - - - - - \r a n 0051360 d I n s t a l l N a m e ( p b 0051400 i , n i l ) = v a l o f \r 0051420 / / - - - - - - - - - - - - - - 0051440 - - - - - - - - - - - - - - - - * 0051540 - - - - - - - - - - - \r [ \r s w 0051560 i t c h o n p b i > > P B I . 0051600 p u p 376 001 \0 F 334 . t y p e i n 0051620 t o \r [ \r c a s e 0051640 p t A d d r e s s R e p l y : \r 0051660 [ \r l e 0051700 t n u m C h a r s = p b i 0051720 > > P B I . p u p . l e n g t h 0051740 - p u p O v B y t e s \r 0051760 o u r N a m e = A l 0052000 l o c a t e ( s y s Z o n e , 0052020 n u m C h a r s / 2 + 1 ) \r 0052040 f o r i = 1 t o 0052060 n u m C h a r s d o \r 0052100 o u r N a m e > > S 0052120 t r i n g . c h a r ^ i = p 0052140 b i > > P B I . p u p . b y t e 0052160 s ^ i \r o u r N a m 0052200 e > > S t r i n 376 001 \0 262 002 g . l 0052220 e n g t h = n u m C h a r s 0052240 \r r e s u l t i s 0052260 f a l s e \r ] \r 0052300 c a s e p t A d d r e s s E 0052320 r r o r : \r [ \r 0052340 o u r N a m e = - 1 0052360 \r r e s u l t i s 0052400 f a l s e \r ] \r 0052420 d e f a u l t : r e s u l t 0052440 i s t r u e \r ] \r ] \r \r 0052460 / / - - - - - - - - - - - - - - 0052500 - - - - - - - - - - - - - - - - * 0052600 - - - - - - - - - - - \r a 376 001 \0 0052620 222 322 n d P r i n t N a m e ( s 0052640 t r e a m ) b e \r / / - - - - 0052660 - - - - - - - - - - - - - - - - * 0053000 - - - - - \r [ \r t e s t o u r 0053020 N a m e e q 0 % o u r N 0053040 a m e e q - 1 \r i f s 0053060 o P u t T e m p l a t e ( s t 0053100 r e a m , " [ $ O # $ O # ] " 0053120 , ( n d b Q ! 0 ) > > N D B . 0053140 l o c a l N e t , ( n d b Q ! 0053160 0 ) > > N D B . l o c a l H o s 0053200 t ) \r i f n o t P u t T 0053220 e m 376 001 \0 373 333 p l a t e ( s t r 0053240 e a m , " [ $ S ] " , o u r 0053260 N a m e ) \r ] \r \r / / - - - - - 0053300 - - - - - - - - - - - - - - - - * 0053420 - - - - \r a n d P r i n t P o 0053440 r t ( s t r e a m , p o r t ) 0053460 b e \r / / - - - - - - - - - - 0053500 - - - - - - - - - - - - - - - - * 0053600 - - - - - - - - - - - - - - - \r 0053620 [ \r P u t T e 376 001 \0 300 274 m p l a 0053640 t e ( s t r e a m , " $ U O # 0053660 $ U O # " , p o r t > > P o r 0053700 t . n e t , p o r t > > P o r 0053720 t . h o s t ) \r i f p o r t > 0053740 > P o r t . s o c k e t ^ 1 n 0053760 e 0 % p o r t > > P o r t 0054000 . s o c k e t ^ 2 n e 0 t 0054020 h e n \r P u t T e m p l a 0054040 t e ( s t r e a m , " $ E U O 0054060 " , l v p o r t > > P o r t 0054100 . s o c k e t ) \r ] \r \f \r / / - 0054120 - - - - - - - - - - - - - - - - * 0054220 - - - - - - - - - - - - 376 001 \0 I 0054240 036 - - - - - - - - - - - - \r a n 0054260 d L o a d M i c r o c o d e ( 0054300 ) b e \r / / - - - - - - - - - 0054320 - - - - - - - - - - - - - - - - * 0054440 \r [ \r W s s ( k b d C S , " 0054460 f r o m f i l e " ) \r l e t 0054500 k t e = G e t K e y w o r 0054520 d ( k b d C S , e b K T ) \r C 0054540 l o s e s ( c m d D s p ) \r \r l 0054560 e t s o c = v e c l e n 0054600 E F T P S o c \r O p e n E F T P 0054620 S o c ( s o c , 0 , l v k 0054640 t 376 001 \0 355 l e > > K T E . p o r 0054660 t ) \r \r / / o u g h t t o 0054700 d o s o m e b u f f e r b 0054720 o u n d s c h e c k i n g , 0054740 a n d c h e c k f i l e c 0054760 h e c k s u m \r l e t b y t e 0055000 P t r = n i l \r [ \r 0055020 l e t p b i = G e t P 0055040 B I ( s o c ) \r p b i > > 0055060 P B I . p u p . i d ^ 2 = k 0055100 t e > > K T E . b f n \r C 0055120 o m p l e t e P u p ( p b i , 0055140 p t B o o t F i l e R e q , p 0055160 u p O v B y t e s ) \r b y 0055200 t e P t r = R e c e i v e E 0055220 F T P B l o c k ( s o c , b u 0055240 f , 1 0 0 376 001 \0 265 \f ) / / 0055260 1 s e c \r ] r e p e a 0055300 t u n t i l b y t e P t r g 0055320 r 0 \r \r l e t b y t e s = 0055340 n i l \r [ \r b y t 0055360 e s = R e c e i v e E F T P 0055400 B l o c k ( s o c , b u f + b 0055420 y t e P t r r s h i f t 1 , 0055440 1 0 0 0 ) / / 1 0 s e 0055460 c \r b y t e P t r = b 0055500 y t e P t r + b y t e s \r 0055520 ] r e p e a t u n t i l 0055540 b y t e s l e 0 \r \r C l o s 0055560 e E F T P S o c ( s o c ) \r \r l 0055600 e t p t r = b u f + 2 0055620 5 6 \r i f e n g e q 4 t 0055640 h e n \r [ / 376 001 \0 \n 307 0055660 / m a g i c i n c a n t a t 0055700 i o n f r o m H G M \r 0055720 p t r = p t r - 1 \r 0055740 p t r ! 0 = 0 \r ] \r ( 0055760 t a b l e [ 6 1 0 3 6 b ; 0056000 1 4 0 1 b ] ) ( p t r , t r 0056020 u e ) / / l o a d r a m 0056040 a n d b o o t \r ] \r \f \r / / 0056060 - - - - - - - - - - - - - - - - * 0056200 - - - - - - - - - \r a n d W h 0056220 e r e ( ) b e \r / / - - - - - 0056240 - - - - - - - - - - - - - - - - 0056260 376 001 \0 244 330 - - - - - - - - - - - 0056300 - - - - - - - - - - - - - - - - * 0056360 - - - - - - - - - \r [ \r W s s ( 0056400 k b d C S , " ( i s f i l 0056420 e ) " ) \r l e t k t e = 0056440 G e t K e y w o r d ( k b d C S 0056460 , c m d K T , t r u e ) \r i 0056500 f k t e e q 0 t h e n 0056520 [ R e s e t s ( k b d C S ) ; 0056540 k t e = G e t K e y w o r 0056560 d ( k b d C S , e b K T ) ] 0056600 \r l e t p b i = A l l o c 0056620 a t e ( s y s Z o n e , l e n 0056640 P B I ) ; Z e r o ( p b i , 0056660 l e n P B 376 001 \0 v 025 I ) \r p b i 0056700 > > P B I . p u p . t y p e = 0056720 p t B o o t D i r R e q \r p b 0056740 i > > P B I . p u p . l e n g t 0056760 h = p u p O v B y t e s \r p 0057000 b i > > P B I . p u p . d P o r 0057020 t . s o c k e t ^ 2 = p s M 0057040 i s c S e r v \r S i m p l e P u 0057060 p ( p b i , 1 0 0 0 , 2 5 0 0057100 , W h e r e M a t c h , k t 0057120 e ! - 1 ) \r F r e e ( s y s Z o 0057140 n e , p b i ) \r ] \r \r / / - - 0057160 - - - - - - - - - - - - - - - - * 0057260 - - - - - - - - - - 376 001 \0 023 \0 - 0057300 - - - - - - - - - - - - \r a n d 0057320 W h e r e M a t c h ( p b i , 0057340 s t r i n g ) = v a l o f 0057360 \r / / - - - - - - - - - - - - - 0057400 - - - - - - - - - - - - - - - - * 0057500 - - - - - - - - - - - - \r [ \r i 0057520 f p b i > > P B I . p u p . t 0057540 y p e e q p t B o o t D i r 0057560 R e p l y t h e n \r [ \r 0057600 l e t p t r , m a x P 0057620 t r = 1 , ( p b i > > P B 0057640 I . p u p . l e n g t h - p u p 0057660 O v B y t e s ) / 2 \r w 376 0057700 001 \0 " 267 h i l e p t r l s 0057720 m a x P t r d o \r 0057740 [ \r l e t b f d 0057760 = l v p b i > > P B I . p u 0060000 p . w o r d s ^ p t r \r 0060020 l e t n a m e = l v 0060040 b f d > > B F D . n a m e \r 0060060 l e t l e n g t h = 0060100 n a m e > > S t r i n g . l e 0060120 n g t h \r i f S t 0060140 r i n g C o m p a r e ( s t r i 0060160 n g , n a m e ) e q 0 t 0060200 h e n \r [ \r 0060220 l e t u t v 0060240 = v e c 7 ; U N P A C K D 0060260 T ( l v b f d > > B F D . d a 0060300 t e , 376 001 \0 [ @ u t v ) \r 0060320 P u t T e m p l a 0060340 t e ( c m d D s p , " * N [ $ 0060360 P ] b o o t f i l e n u m 0060400 b e r $ U O , c r e a t e d 0060420 $ P " , \r 0060440 P r i n t P o r t , l v p b 0060460 i > > P B I . p u p . s P o r t 0060500 , b f d > > B F D . b f n , 0060520 W R I T E U D T , u t v ) \r 0060540 ] \r 0060560 p t r = p t r + 4 + 0060600 l e n g t h / 2 \r ] 0060620 \r ] \r r e s u l t i s t 0060640 r u e \r ] \r \f \r / / - - - - - - 0060660 - - - - - - - - - - - - - - - - 0060700 - - - - - - - - - 376 001 \0 317 z - - 0060720 - - - - - - - - - - - - - - - - * 0061000 - - - - - - - - \r a n d S i m 0061020 p l e P u p ( o u t P b i , r 0061040 e t r a n s T O , t o t a l T 0061060 O , p r o c , a r g ) b e 0061100 \r / / - - - - - - - - - - - - - 0061120 - - - - - - - - - - - - - - - - * 0061220 - - - - - - - - - - - - \r [ \r l 0061240 e t s o c = v e c l e n 0061260 P u p S o c ; O p e n L e v e 0061300 l 1 S o c k e t ( s o c ) \r 376 001 0061320 \0 225 X l e t q = v e c 1 0061340 ; q ! 0 = 0 ; o u t P b 0061360 i > > P B I . q u e u e = q 0061400 \r l e t r T i m e r = n i 0061420 l ; S e t T i m e r ( l v r 0061440 T i m e r , 0 ) \r l e t t T 0061460 i m e r = n i l ; S e t T 0061500 i m e r ( l v t T i m e r , 0061520 t o t a l T O ) \r l e t c o n 0061540 t i n u e = t r u e \r 0061560 [ \r i f T i m e r H a s 0061600 E x p i r e d ( l v r T i m e 0061620 r ) t h e n \r [ \r 0061640 o u t P b i > > P B 0061660 I . s o c k e t = s o c \r 0061700 C o m p l e t e P u p 0061720 ( o u 376 001 \0 243 n t P b i ) \r 0061740 S e t T i m e r ( l v 0061760 r T i m e r , r e t r a n s T 0062000 O ) \r ] \r B l 0062020 o c k ( ) r e p e a t u n t i 0062040 l s o c > > P u p S o c . i Q 0062060 . h e a d n e 0 % \r 0062100 T i m e r H a s E x p i r e d 0062120 ( l v r T i m e r ) % T i 0062140 m e r H a s E x p i r e d ( l v 0062160 t T i m e r ) \r i f T 0062200 i m e r H a s E x p i r e d ( l 0062220 v t T i m e r ) b r e a k \r 0062240 l e t i n P b i = D 0062260 e q u e u e ( l v s o c > > P 0062300 u p S o c . i Q ) ; i f i n 0062320 P b i n e 0 376 001 \0 001 271 t h 0062340 e n \r [ \r 0062360 c o n t i n u e = p r o c 0062400 ( i n P b i , a r g ) \r 0062420 R e l e a s e P B I ( i n 0062440 P b i ) \r ] \r 0062460 ] r e p e a t w h i l e c o 0062500 n t i n u e \r C l o s e L e v e 0062520 l 1 S o c k e t ( s o c ) \r ] \r 0062540 \f \r / / - - - - - - - - - - - - 0062560 - - - - - - - - - - - - - - - - * 0062660 - - - - - - - - - - - - - \r a n 0062700 d N e t B o o t ( ) b e \r / 0062720 / - - - - - - - - - - - - 376 001 \0 0062740 h 200 - - - - - - - - - - - - - - 0062760 - - - - - - - - - - - - - - - - * 0063040 - - - - - - - - - - - - - - - \r 0063060 [ \r W s s ( k b d C S , " ( 0063100 f i l e n a m e d ) " ) \r l 0063120 e t k t e = G e t K e y w 0063140 o r d ( k b d C S , c m d K T 0063160 ) \r i f k t e > > K T E . l o 0063200 c a l t h e n [ W s s ( k 0063220 b d C S , " - N e t E x e 0063240 c c o m m a n d ; n o t a 0063260 b o o t f i l e " ) ; r e 0063300 t u r n ] \r W s s ( k b d C S 0063320 , " ( f r o m s e r v e r 0063340 ) 376 001 \0 g 331 " ) \r l e t s e 0063360 r v e r = G e t S t r i n g 0063400 ( k b d C S ) \r i f s e r v e 0063420 r > > S t r i n g . c h a r ^ 1 0063440 e q $ [ t h e n \r [ 0063460 \r f o r i = 2 t o 0063500 s e r v e r > > S t r i n g . 0063520 l e n g t h - 1 d o \r 0063540 s e r v e r > > S t r i n g 0063560 . c h a r ^ ( i - 1 ) = s e 0063600 r v e r > > S t r i n g . c h a 0063620 r ^ i \r s e r v e r > > S 0063640 t r i n g . l e n g t h = s 0063660 e r v e r > > S t r i n g . l e 0063700 n g t h - 2 \r ] \r l e t 0063720 d P o r t = v e c l e n 0063740 P o r t \r i f 376 001 \0 K k G e t 0063760 P a r t n e r ( s e r v e r , 0064000 k b d C S , d P o r t , 0 , 0064020 4 ) t h e n M y E t h e r 0064040 B o o t ( k t e > > K T E . b f 0064060 n , d P o r t ) \r F r e e ( s 0064100 y s Z o n e , s e r v e r ) \r 0064120 ] \r \r / / - - - - - - - - - - - 0064140 - - - - - - - - - - - - - - - - * 0064240 - - - - - - - - - - - - - - \r a 0064260 n d M y E t h e r B o o t ( b 0064300 f n , d P o r t ; n u m a r 0064320 g s n a ) b e \r / / - - - - 0064340 - - - - - - - - - - - - 376 001 \0 346 0064360 003 - - - - - - - - - - - - - - - 0064400 - - - - - - - - - - - - - - - - * 0064460 - - - - - - - - - - \r [ \r l e t 0064500 m a y D a y P u p = m a y 0064520 D a y P a c k e t + 2 \r m a y D 0064540 a y P u p > > P u p . i d ^ 2 0064560 = b f n \r i f n a g r 1 0064600 t h e n \r [ \r l e 0064620 t r t e = L o c a t e N e 0064640 t ( d P o r t > > P o r t . n e 0064660 t ) \r i f r t e e q 0064700 0 t h e n [ D i s m i s s 0064720 ( 1 5 0 ) ; r t e = L o c 0064740 a t e N e t ( d P o r t > > P o 0064760 r 376 001 \0 E / t . n e t ) ] \r 0065000 l e t p d h = r t e 0065020 e q 0 ? 0 , ( r t e > > R 0065040 T E . h o p s e q 0 ? d P 0065060 o r t > > P o r t . h o s t , 0065100 r t e > > R T E . h o s t ) \r 0065120 m a y D a y P a c k e t ! 0 0065140 = p d h l s h i f t 8 \r 0065160 M o v e B l o c k ( l v 0065200 m a y D a y P u p > > P u p . d 0065220 P o r t , d P o r t , l e n 0065240 P o r t ) \r m a y D a y P 0065260 u p > > P u p . s P o r t . n e 0065300 t = ( n d b Q ! 0 ) > > N D 0065320 B . l o c a l N e t \r ] \r 0065340 D i s a b l e I n t e r r u p t 0065360 s ( ) \r S t 376 \0 Z 255 343 a r t I O 0065400 ( 3 ) \r f o r i = 0 t o 0065420 2 5 5 d o 1 ! i = b o 0065440 o t L o a d e r P a c k e t ! i 0065460 / / c a n ' t c a l l a 0065500 p r o c e d u r e ! \r g o t o 0065520 6 \r ] \r 377 \0 \0 B u i l d N e t 0065540 E x e c . c m \0 373 233 + 235 212 \0 \0 376 0065560 001 \0 a [ / / B u i l d N e t E 0065600 x e c . c m - - B u i l d s 0065620 t h e B C P L N e t E x e 0065640 c \r / / L a s t m o d i f i 0065660 e d J u n e 3 0 , 1 9 8 3 0065700 7 : 2 0 P M b y B o g 0065720 g s \r / / C o p y r i g h t 0065740 X e r o x C o r p o r a t i o 0065760 n 1 9 8 2 , 1 9 8 3 \r \r B l 0066000 d r / L V K N e t E x e c B o 0066020 o t / S 6 0 0 / W 1 7 0 0 0 0066040 / V F u l l B o o t B a s e / 0066060 J N e t E x e c N e t E x e 0066100 c 1 ^ \r ^ \r P u p E f t p C o 0066120 m m o n P u p E f t p R e c e 0066140 i v e P u p N a m e L o o k u 0066160 p ^ \r 376 001 \0 [ a P u p 1 O p e 0066200 n C l o s e P u p R o u t e 0066220 P u p D u m m y G a t e P u p 0066240 1 B P u p A l 1 A ^ \r P u p 0066260 A l E t h B P u p A l E t h A 0066300 ^ \r ^ \r T i m e C o n v A T 0066320 i m e C o n v B T i m e I O 0066340 T e m p l a t e ^ \r S t r i n 0066360 g U t i l K e y w o r d K e 0066400 y w o r d I n i t ^ \r C m d S 0066420 c a n C m d S c a n E d i t 0066440 C m d S c a n D i s p l a y C 0066460 m d S c a n A u x ^ \r I n t e 0066500 r r u p t C o n t e x t C o 0066520 n t e x t I n i t ^ \r A l t o 0066540 Q u e u e A l t o T i m e r 0066560 A l t o B y t e B 376 \0 357 $ D l t 0066600 ^ \r ^ \r P u p 1 I n i t P u 0066620 p A l E t h I n i t I n t e r 0066640 r u p t I n i t \r / / n o r m 0066660 a l n u m b e r o f e r r 0066700 o r s = 2 \r \r B u i l d B o 0066720 o t N e t E x e c . m a p / L 0066740 N e t E x e c . B o o t / O 0066760 1 3 1 1 / G 3 / D D i s k B 0067000 o o t . R u n / B 3 0 0 / N 0067020 F u l l B o o t B a s e . x c / 0067040 S 1 4 1 1 / V F u l l B o o 0067060 t B a s e . R u n / E 1 3 5 1 0067100 / V N e t E x e c B o o t . r 0067120 u n / E \r \r D e l e t e N e t 0067140 E x e c B o o t . r u n \r 377 \0 \0 0067160 N e t E x e c . c m \0 373 232 K 256 x 0067200 \0 \0 376 \0 5 \b 224 N e t E x e c . b 0067220 c p l N e t E x e c 1 . b c p 0067240 l B u i l d N e t E x e c . c 0067260 m N e t E x e c . c m 374 0067275