$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron3.0>Derived>SaffronAG7Impl.Mesa!18 0000000 - - S a f f r o n A G 7 I m p 0000020 l . m e s a \r - - C o p y r 0000040 i g h t 323 1 9 8 7 b y X 0000060 e r o x C o r p o r a t i o n 0000100 . A l l r i g h t s r e 0000120 s e r v e d . \r - - G e n e 0000140 r a t e d b y R a u e n . p 0000160 a a t A u g u s t 3 , 1 0000200 9 8 8 1 0 : 5 2 : 3 7 a m 0000220 P D T \r - - u s i n g T 0000240 h r e e C a s a b a F o u r [ 0000260 1 . 2 ] o f J u n e 1 , 0000300 1 9 8 7 6 : 0 0 : 0 0 p m 0000320 P D T \r \r D I R E C T O R Y \r \t 0000340 S a f f r o n A G 7 D e f , \r \t 0000360 S a f f r o n G e n e r i c D e 0000400 f , \r \t S a f f r o n A T D e f 0000420 ; \r \r S a f f r o n A G 7 I m p 0000440 l : C E D A R P R O G R A M 0000460 I M P O R T S S a f f r o n 0000500 A G 7 D e f E X P O R T S S 0000520 a f f r o n A G 7 D e f = \r B 0000540 E G I N \r O P E N S a f f r o 0000560 n A G 7 D e f , S a f f r o n 0000600 G e n e r i c D e f , S a f f 0000620 r o n A T D e f ; \r \r - - A c 0000640 c e s s e m p t y P r o d \r \r A 0000660 c c e s s e m p t y P r o d P r 0000700 o c s : \t P U B L I C A c c e 0000720 s s N o d e P r o c s _ \r \t N 0000740 E W [ A c c e s s N o d e P r o 0000760 c s B o d y _ [ A c c e s s 0001000 e m p t y P r o d G e t A c c e 0001020 s s V a l ] ] ; \r \r B u i l d A 0001040 c c e s s e m p t y P r o d N o 0001060 d e : \t P U B L I C P R O C [ 0001100 p o s i t i o n : I N T , l 0001120 e n g t h : I N T ] \r \t R E T 0001140 U R N S [ A c c e s s N o d e ] 0001160 = \r \t \t B E G I N \r \t \t R E T 0001200 U R N [ N E W [ A c c e s s N o 0001220 d e B o d y _ [ p o s i t i o n 0001240 , l e n g t h , A c c e s s 0001260 e m p t y P r o d P r o c s , 0001300 N I L ] ] ] ; \r \t \t E N D ; \r \r 0001320 \r - - A c c e s s p u b l i c 0001340 P r o d \r \r A c c e s s p u b l 0001360 i c P r o d P r o c s : \t P U B 0001400 L I C A c c e s s N o d e P r 0001420 o c s _ \r \t N E W [ A c c e s 0001440 s N o d e P r o c s B o d y _ 0001460 [ A c c e s s p u b l i c P r 0001500 o d G e t A c c e s s V a l ] ] 0001520 ; \r \r B u i l d A c c e s s p u 0001540 b l i c P r o d N o d e : \t P U 0001560 B L I C P R O C [ p o s i t i 0001600 o n : I N T , l e n g t h : 0001620 I N T ] \r \t R E T U R N S [ A 0001640 c c e s s N o d e ] = \r \t \t B 0001660 E G I N \r \t \t R E T U R N [ N E 0001700 W [ A c c e s s N o d e B o d y 0001720 _ [ p o s i t i o n , l e n g 0001740 t h , A c c e s s p u b l i c 0001760 P r o d P r o c s , N I L ] ] 0002000 ] ; \r \t \t E N D ; \r \r \r - - A 0002020 c c e s s p r i v a t e P r o d 0002040 \r \r A c c e s s p r i v a t e P 0002060 r o d P r o c s : \t P U B L I C 0002100 A c c e s s N o d e P r o c s 0002120 _ \r \t N E W [ A c c e s s N o 0002140 d e P r o c s B o d y _ [ A 0002160 c c e s s p r i v a t e P r o d 0002200 G e t A c c e s s V a l ] ] ; \r 0002220 \r B u i l d A c c e s s p r i v 0002240 a t e P r o d N o d e : \t P U B 0002260 L I C P R O C [ p o s i t i o 0002300 n : I N T , l e n g t h : 0002320 I N T ] \r \t R E T U R N S [ A c 0002340 c e s s N o d e ] = \r \t \t B E 0002360 G I N \r \t \t R E T U R N [ N E W 0002400 [ A c c e s s N o d e B o d y _ 0002420 [ p o s i t i o n , l e n g t 0002440 h , A c c e s s p r i v a t e 0002460 P r o d P r o c s , N I L ] ] 0002500 ] ; \r \t \t E N D ; \r \r \r - - D 0002520 e f a u l t e m p t y P r o d \r 0002540 \r D e f a u l t e m p t y P r o 0002560 d P r o c s : \t P U B L I C D 0002600 e f a u l t N o d e P r o c s 0002620 _ \r \t N E W [ D e f a u l t N o 0002640 d e P r o c s B o d y _ [ D 0002660 e f a u l t e m p t y P r o d G 0002700 e t D e f a u l t E x p V a l ] 0002720 ] ; \r \r B u i l d D e f a u l t 0002740 e m p t y P r o d N o d e : \t P 0002760 U B L I C P R O C [ p o s i t 0003000 i o n : I N T , l e n g t h 0003020 : I N T ] \r \t R E T U R N S [ 0003040 D e f a u l t N o d e ] = \r \t 0003060 \t B E G I N \r \t \t R E T U R N [ 0003100 N E W [ D e f a u l t N o d e B 0003120 o d y _ [ p o s i t i o n , l 0003140 e n g t h , D e f a u l t e m 0003160 p t y P r o d P r o c s , N I 0003200 L ] ] ] ; \r \t \t E N D ; \r \r \r - 0003220 - D e f a u l t g e t s P r o 0003240 d \r \r D e f a u l t g e t s P r 0003260 o d P r o c s : \t P U B L I C 0003300 D e f a u l t N o d e P r o c s 0003320 _ \r \t N E W [ D e f a u l t N 0003340 o d e P r o c s B o d y _ [ 0003360 D e f a u l t g e t s P r o d G 0003400 e t D e f a u l t E x p V a l ] 0003420 ] ; \r \r B u i l d D e f a u l t 0003440 g e t s P r o d N o d e : \t P U 0003460 B L I C P R O C [ p o s i t i 0003500 o n : I N T , l e n g t h : 0003520 I N T ] \r \t R E T U R N S [ D 0003540 e f a u l t N o d e ] = \r \t \t 0003560 B E G I N \r \t \t R E T U R N [ N 0003600 E W [ D e f a u l t N o d e B o 0003620 d y _ [ p o s i t i o n , l e 0003640 n g t h , D e f a u l t g e t 0003660 s P r o d P r o c s , N I L ] 0003700 ] ] ; \r \t \t E N D ; \r \r \r - - 0003720 D e f a u l t g e t s e x p P r 0003740 o d \r \r D e f a u l t g e t s e 0003760 x p P r o d P r o c s : \t P U B 0004000 L I C D e f a u l t N o d e P 0004020 r o c s _ \r \t N E W [ D e f a 0004040 u l t N o d e P r o c s B o d y 0004060 _ [ D e f a u l t g e t s e 0004100 x p P r o d G e t D e f a u l t 0004120 E x p V a l ] ] ; \r \r B u i l d 0004140 D e f a u l t g e t s e x p P r 0004160 o d N o d e : \t P U B L I C P 0004200 R O C [ p o s i t i o n : I N 0004220 T , l e n g t h : I N T , 0004240 E x p : E x p N o d e ] \r \t R 0004260 E T U R N S [ D e f a u l t N o 0004300 d e ] = \r \t \t B E G I N \r \t \t 0004320 d a t a : \t D e f a u l t g e t 0004340 s e x p P r o d D a t a _ \r \t 0004360 \t \t N E W [ D e f a u l t g e t 0004400 s e x p P r o d D a t a B o d y 0004420 _ [ \r \t \t \t E x p ] ] ; \r \t 0004440 \t R E T U R N [ N E W [ D e f a 0004460 u l t N o d e B o d y _ [ p o s 0004500 i t i o n , l e n g t h , D 0004520 e f a u l t g e t s e x p P r o 0004540 d P r o c s , d a t a ] ] ] ; 0004560 \r \t \t E N D ; \r \r \r - - D e f 0004600 a u l t g e t s t r a s h P r o 0004620 d \r \r D e f a u l t g e t s t r 0004640 a s h P r o d P r o c s : \t P U 0004660 B L I C D e f a u l t N o d e 0004700 P r o c s _ \r \t N E W [ D e f 0004720 a u l t N o d e P r o c s B o d 0004740 y _ [ D e f a u l t g e t s 0004760 t r a s h P r o d G e t D e f a 0005000 u l t E x p V a l ] ] ; \r \r B u 0005020 i l d D e f a u l t g e t s t r 0005040 a s h P r o d N o d e : \t P U B 0005060 L I C P R O C [ p o s i t i o 0005100 n : I N T , l e n g t h : 0005120 I N T ] \r \t R E T U R N S [ D e 0005140 f a u l t N o d e ] = \r \t \t B 0005160 E G I N \r \t \t R E T U R N [ N E 0005200 W [ D e f a u l t N o d e B o d 0005220 y _ [ p o s i t i o n , l e n 0005240 g t h , D e f a u l t g e t s 0005260 t r a s h P r o d P r o c s , 0005300 N I L ] ] ] ; \r \t \t E N D ; \r \r 0005320 \r - - D e f a u l t g e t s e 0005340 x p o r t r a s h P r o d \r \r D 0005360 e f a u l t g e t s e x p o r t 0005400 r a s h P r o d P r o c s : \t P 0005420 U B L I C D e f a u l t N o d 0005440 e P r o c s _ \r \t N E W [ D e 0005460 f a u l t N o d e P r o c s B o 0005500 d y _ [ D e f a u l t g e t 0005520 s e x p o r t r a s h P r o d G 0005540 e t D e f a u l t E x p V a l ] 0005560 ] ; \r \r B u i l d D e f a u l t 0005600 g e t s e x p o r t r a s h P r 0005620 o d N o d e : \t P U B L I C P 0005640 R O C [ p o s i t i o n : I N 0005660 T , l e n g t h : I N T , 0005700 E x p : E x p N o d e ] \r \t R 0005720 E T U R N S [ D e f a u l t N o 0005740 d e ] = \r \t \t B E G I N \r \t \t 0005760 d a t a : \t D e f a u l t g e t 0006000 s e x p o r t r a s h P r o d D 0006020 a t a _ \r \t \t \t N E W [ D e f 0006040 a u l t g e t s e x p o r t r a 0006060 s h P r o d D a t a B o d y _ 0006100 [ \r \t \t \t E x p ] ] ; \r \t \t R 0006120 E T U R N [ N E W [ D e f a u l 0006140 t N o d e B o d y _ [ p o s i t 0006160 i o n , l e n g t h , D e f 0006200 a u l t g e t s e x p o r t r a 0006220 s h P r o d P r o c s , d a t 0006240 a ] ] ] ; \r \t \t E N D ; \r \r \r - 0006260 - I d e n t i d P r o d \r \r I 0006300 d e n t i d P r o d P r o c s : 0006320 \t P U B L I C I d e n t N o d 0006340 e P r o c s _ \r \t N E W [ I d 0006360 e n t N o d e P r o c s B o d y 0006400 _ [ I d e n t i d P r o d A 0006420 d d N a m e s T o F i e l d L i 0006440 s t , I d e n t i d P r o d G 0006460 e t I d e n t I n f o , I d e 0006500 n t i d P r o d A d d N a m e s 0006520 T o S e q u e n c e , I d e n 0006540 t i d P r o d A d d V a l u e D 0006560 e c l a r a t i o n T o F i e l 0006600 d L i s t , I d e n t i d P r 0006620 o d A d d T y p e D e c l a r a 0006640 t i o n T o F i e l d L i s t ] 0006660 ] ; \r \r B u i l d I d e n t i d 0006700 P r o d N o d e : \t P U B L I C 0006720 P R O C [ p o s i t i o n : 0006740 I N T , l e n g t h : I N T 0006760 , I d : I d N o d e ] \r \t R 0007000 E T U R N S [ I d e n t N o d e 0007020 ] = \r \t \t B E G I N \r \t \t d a 0007040 t a : \t I d e n t i d P r o d D 0007060 a t a _ \r \t \t \t N E W [ I d e 0007100 n t i d P r o d D a t a B o d y 0007120 _ [ \r \t \t \t I d ] ] ; \r \t \t 0007140 R E T U R N [ N E W [ I d e n t 0007160 N o d e B o d y _ [ p o s i t i 0007200 o n , l e n g t h , I d e n 0007220 t i d P r o d P r o c s , d a 0007240 t a ] ] ] ; \r \t \t E N D ; \r \r \r 0007260 - - I d e n t i d p o s i t i 0007300 o n P r o d \r \r I d e n t i d p 0007320 o s i t i o n P r o d P r o c s 0007340 : \t P U B L I C I d e n t N o 0007360 d e P r o c s _ \r \t N E W [ I 0007400 d e n t N o d e P r o c s B o d 0007420 y _ [ I d e n t i d p o s i 0007440 t i o n P r o d A d d N a m e s 0007460 T o F i e l d L i s t , I d e 0007500 n t i d p o s i t i o n P r o d 0007520 G e t I d e n t I n f o , I d 0007540 e n t i d p o s i t i o n P r o 0007560 d A d d N a m e s T o S e q u e 0007600 n c e , I d e n t i d p o s i 0007620 t i o n P r o d A d d V a l u e 0007640 D e c l a r a t i o n T o F i e 0007660 l d L i s t , I d e n t i d p 0007700 o s i t i o n P r o d A d d T y 0007720 p e D e c l a r a t i o n T o F 0007740 i e l d L i s t ] ] ; \r \r B u i 0007760 l d I d e n t i d p o s i t i o 0010000 n P r o d N o d e : \t P U B L I 0010020 C P R O C [ p o s i t i o n : 0010040 I N T , l e n g t h : I N 0010060 T , I d : I d N o d e , P 0010100 o s i t i o n : P o s i t i o 0010120 n N o d e ] \r \t R E T U R N S [ 0010140 I d e n t N o d e ] = \r \t \t B 0010160 E G I N \r \t \t d a t a : \t I d e 0010200 n t i d p o s i t i o n P r o d 0010220 D a t a _ \r \t \t \t N E W [ I d 0010240 e n t i d p o s i t i o n P r o 0010260 d D a t a B o d y _ [ \r \t \t 0010300 \t I d , P o s i t i o n ] ] ; 0010320 \r \t \t R E T U R N [ N E W [ I d 0010340 e n t N o d e B o d y _ [ p o s 0010360 i t i o n , l e n g t h , I 0010400 d e n t i d p o s i t i o n P r 0010420 o d P r o c s , d a t a ] ] ] 0010440 ; \r \t \t E N D ; \r \r \r - - P o 0010460 s i t i o n P r o d \r \r P o s i 0010500 t i o n P r o d P r o c s : \t P 0010520 U B L I C P o s i t i o n N o 0010540 d e P r o c s _ \r \t N E W [ P 0010560 o s i t i o n N o d e P r o c s 0010600 B o d y _ [ P o s i t i o n 0010620 P r o d G e t P o s i t i o n V 0010640 a l ] ] ; \r \r B u i l d P o s i 0010660 t i o n P r o d N o d e : \t P U 0010700 B L I C P R O C [ p o s i t i 0010720 o n : I N T , l e n g t h : 0010740 I N T , E x p : E x p N o 0010760 d e , O p t B i t s : O p t 0011000 B i t s N o d e ] \r \t R E T U R 0011020 N S [ P o s i t i o n N o d e ] 0011040 = \r \t \t B E G I N \r \t \t d a t 0011060 a : \t P o s i t i o n P r o d D 0011100 a t a _ \r \t \t \t N E W [ P o s 0011120 i t i o n P r o d D a t a B o d 0011140 y _ [ \r \t \t \t E x p , O p 0011160 t B i t s ] ] ; \r \t \t R E T U R 0011200 N [ N E W [ P o s i t i o n N o 0011220 d e B o d y _ [ p o s i t i o n 0011240 , l e n g t h , P o s i t i 0011260 o n P r o d P r o c s , d a t 0011300 a ] ] ] ; \r \t \t E N D ; \r \r \r - 0011320 - O p t B i t s a b s e n t P 0011340 r o d \r \r O p t B i t s a b s e 0011360 n t P r o d P r o c s : \t P U B 0011400 L I C O p t B i t s N o d e P 0011420 r o c s _ \r \t N E W [ O p t B 0011440 i t s N o d e P r o c s B o d y 0011460 _ [ O p t B i t s a b s e n 0011500 t P r o d G e t B o u n d s V a 0011520 l ] ] ; \r \r B u i l d O p t B i 0011540 t s a b s e n t P r o d N o d e 0011560 : \t P U B L I C P R O C [ p o 0011600 s i t i o n : I N T , l e n 0011620 g t h : I N T ] \r \t R E T U R 0011640 N S [ O p t B i t s N o d e ] 0011660 = \r \t \t B E G I N \r \t \t R E T U 0011700 R N [ N E W [ O p t B i t s N o 0011720 d e B o d y _ [ p o s i t i o n 0011740 , l e n g t h , O p t B i t 0011760 s a b s e n t P r o d P r o c s 0012000 , N I L ] ] ] ; \r \t \t E N D ; 0012020 \r \r \r - - O p t B i t s p r e 0012040 s e n t P r o d \r \r O p t B i t 0012060 s p r e s e n t P r o d P r o c 0012100 s : \t P U B L I C O p t B i t 0012120 s N o d e P r o c s _ \r \t N E 0012140 W [ O p t B i t s N o d e P r o 0012160 c s B o d y _ [ O p t B i t 0012200 s p r e s e n t P r o d G e t B 0012220 o u n d s V a l ] ] ; \r \r B u i 0012240 l d O p t B i t s p r e s e n t 0012260 P r o d N o d e : \t P U B L I C 0012300 P R O C [ p o s i t i o n : 0012320 I N T , l e n g t h : I N T 0012340 , B o u n d s : B o u n d s 0012360 N o d e ] \r \t R E T U R N S [ O 0012400 p t B i t s N o d e ] = \r \t \t 0012420 B E G I N \r \t \t d a t a : \t O p 0012440 t B i t s p r e s e n t P r o d 0012460 D a t a _ \r \t \t \t N E W [ O p 0012500 t B i t s p r e s e n t P r o d 0012520 D a t a B o d y _ [ \r \t \t \t 0012540 B o u n d s ] ] ; \r \t \t R E T U 0012560 R N [ N E W [ O p t B i t s N o 0012600 d e B o d y _ [ p o s i t i o n 0012620 , l e n g t h , O p t B i t 0012640 s p r e s e n t P r o d P r o c 0012660 s , d a t a ] ] ] ; \r \t \t E N 0012700 D ; \r \r \r - - I d e n t L i s 0012720 t o n e P r o d \r \r I d e n t L 0012740 i s t o n e P r o d P r o c s : 0012760 \t P U B L I C I d e n t L i s 0013000 t N o d e P r o c s _ \r \t N E 0013020 W [ I d e n t L i s t N o d e P 0013040 r o c s B o d y _ [ I d e n 0013060 t L i s t o n e P r o d A d d N 0013100 a m e s T o F i e l d L i s t , 0013120 I d e n t L i s t o n e P r o 0013140 d M a k e N a m e S e q u e n c 0013160 e , I d e n t L i s t o n e P 0013200 r o d A d d N a m e s T o S e q 0013220 u e n c e , I d e n t L i s t 0013240 o n e P r o d A d d V a l u e D 0013260 e c l a r a t i o n T o F i e l 0013300 d L i s t , I d e n t L i s t 0013320 o n e P r o d A d d T y p e D e 0013340 c l a r a t i o n T o F i e l d 0013360 L i s t ] ] ; \r \r B u i l d I d 0013400 e n t L i s t o n e P r o d N o 0013420 d e : \t P U B L I C P R O C [ 0013440 p o s i t i o n : I N T , l 0013460 e n g t h : I N T , I d e n 0013500 t : I d e n t N o d e ] \r \t R 0013520 E T U R N S [ I d e n t L i s t 0013540 N o d e ] = \r \t \t B E G I N \r 0013560 \t \t d a t a : \t I d e n t L i s 0013600 t o n e P r o d D a t a _ \r \t 0013620 \t \t N E W [ I d e n t L i s t o 0013640 n e P r o d D a t a B o d y _ 0013660 [ \r \t \t \t I d e n t ] ] ; \r \t 0013700 \t R E T U R N [ N E W [ I d e n 0013720 t L i s t N o d e B o d y _ [ p 0013740 o s i t i o n , l e n g t h , 0013760 I d e n t L i s t o n e P r o 0014000 d P r o c s , d a t a ] ] ] ; 0014020 \r \t \t E N D ; \r \r \r - - I d e 0014040 n t L i s t m a n y P r o d \r \r 0014060 I d e n t L i s t m a n y P r o 0014100 d P r o c s : \t P U B L I C I 0014120 d e n t L i s t N o d e P r o c 0014140 s _ \r \t N E W [ I d e n t L i 0014160 s t N o d e P r o c s B o d y 0014200 _ [ I d e n t L i s t m a n y 0014220 P r o d A d d N a m e s T o F i 0014240 e l d L i s t , I d e n t L i 0014260 s t m a n y P r o d M a k e N a 0014300 m e S e q u e n c e , I d e n 0014320 t L i s t m a n y P r o d A d d 0014340 N a m e s T o S e q u e n c e , 0014360 I d e n t L i s t m a n y P r 0014400 o d A d d V a l u e D e c l a r 0014420 a t i o n T o F i e l d L i s t 0014440 , I d e n t L i s t m a n y P 0014460 r o d A d d T y p e D e c l a r 0014500 a t i o n T o F i e l d L i s t 0014520 ] ] ; \r \r B u i l d I d e n t L 0014540 i s t m a n y P r o d N o d e : 0014560 \t P U B L I C P R O C [ p o s 0014600 i t i o n : I N T , l e n g 0014620 t h : I N T , I d e n t L i 0014640 s t h e a d : I d e n t L i s 0014660 t N o d e , I d e n t L i s t 0014700 t a i l : I d e n t L i s t N 0014720 o d e ] \r \t R E T U R N S [ I d 0014740 e n t L i s t N o d e ] = \r \t 0014760 \t B E G I N \r \t \t d a t a : \t I 0015000 d e n t L i s t m a n y P r o d 0015020 D a t a _ \r \t \t \t N E W [ I d 0015040 e n t L i s t m a n y P r o d D 0015060 a t a B o d y _ [ \r \t \t \t I 0015100 d e n t L i s t h e a d , I d 0015120 e n t L i s t t a i l ] ] ; \r \t 0015140 \t R E T U R N [ N E W [ I d e n 0015160 t L i s t N o d e B o d y _ [ p 0015200 o s i t i o n , l e n g t h , 0015220 I d e n t L i s t m a n y P r 0015240 o d P r o c s , d a t a ] ] ] 0015260 ; \r \t \t E N D ; \r \r \r - - T a 0015300 g i d e n t P r o d \r \r T a g i 0015320 d e n t P r o d P r o c s : \t P 0015340 U B L I C T a g N o d e P r o 0015360 c s _ \r \t N E W [ T a g N o d 0015400 e P r o c s B o d y _ [ T a 0015420 g i d e n t P r o d M a k e V a 0015440 r i a n t F l a v o r , T a g 0015460 i d e n t P r o d M a k e T a g 0015500 T y p e , T a g i d e n t P r 0015520 o d G e t S e q u e n c e T a g 0015540 I n f o ] ] ; \r \r B u i l d T a 0015560 g i d e n t P r o d N o d e : \t 0015600 P U B L I C P R O C [ p o s i 0015620 t i o n : I N T , l e n g t 0015640 h : I N T , I d e n t : I 0015660 d e n t N o d e , A c c e s s 0015700 : A c c e s s N o d e , T a 0015720 g T y p e : T a g T y p e N o 0015740 d e ] \r \t R E T U R N S [ T a g 0015760 N o d e ] = \r \t \t B E G I N \r 0016000 \t \t d a t a : \t T a g i d e n t 0016020 P r o d D a t a _ \r \t \t \t N E 0016040 W [ T a g i d e n t P r o d D a 0016060 t a B o d y _ [ \r \t \t \t I d 0016100 e n t , A c c e s s , T a g 0016120 T y p e ] ] ; \r \t \t R E T U R N 0016140 [ N E W [ T a g N o d e B o d y 0016160 _ [ p o s i t i o n , l e n g 0016200 t h , T a g i d e n t P r o d 0016220 P r o c s , d a t a ] ] ] ; \r 0016240 \t \t E N D ; \r \r \r - - T a g c 0016260 o m p u t e d P r o d \r \r T a g 0016300 c o m p u t e d P r o d P r o c 0016320 s : \t P U B L I C T a g N o d 0016340 e P r o c s _ \r \t N E W [ T a 0016360 g N o d e P r o c s B o d y _ 0016400 [ T a g c o m p u t e d P r o 0016420 d M a k e V a r i a n t F l a v 0016440 o r , T a g c o m p u t e d P 0016460 r o d M a k e T a g T y p e , 0016500 T a g c o m p u t e d P r o d G 0016520 e t S e q u e n c e T a g I n f 0016540 o ] ] ; \r \r B u i l d T a g c o 0016560 m p u t e d P r o d N o d e : \t 0016600 P U B L I C P R O C [ p o s i 0016620 t i o n : I N T , l e n g t 0016640 h : I N T , T a g T y p e : 0016660 T a g T y p e N o d e ] \r \t R 0016700 E T U R N S [ T a g N o d e ] 0016720 = \r \t \t B E G I N \r \t \t d a t a 0016740 : \t T a g c o m p u t e d P r o 0016760 d D a t a _ \r \t \t \t N E W [ T 0017000 a g c o m p u t e d P r o d D a 0017020 t a B o d y _ [ \r \t \t \t T a 0017040 g T y p e ] ] ; \r \t \t R E T U R 0017060 N [ N E W [ T a g N o d e B o d 0017100 y _ [ p o s i t i o n , l e n 0017120 g t h , T a g c o m p u t e d 0017140 P r o d P r o c s , d a t a ] 0017160 ] ] ; \r \t \t E N D ; \r \r \r - - 0017200 T a g o v e r l a i d P r o d \r 0017220 \r T a g o v e r l a i d P r o d 0017240 P r o c s : \t P U B L I C T a 0017260 g N o d e P r o c s _ \r \t N E 0017300 W [ T a g N o d e P r o c s B o 0017320 d y _ [ T a g o v e r l a i 0017340 d P r o d M a k e V a r i a n t 0017360 F l a v o r , T a g o v e r l 0017400 a i d P r o d M a k e T a g T y 0017420 p e , T a g o v e r l a i d P 0017440 r o d G e t S e q u e n c e T a 0017460 g I n f o ] ] ; \r \r B u i l d T 0017500 a g o v e r l a i d P r o d N o 0017520 d e : \t P U B L I C P R O C [ 0017540 p o s i t i o n : I N T , l 0017560 e n g t h : I N T , T a g T 0017600 y p e : T a g T y p e N o d e 0017620 ] \r \t R E T U R N S [ T a g N o 0017640 d e ] = \r \t \t B E G I N \r \t \t 0017660 d a t a : \t T a g o v e r l a i 0017700 d P r o d D a t a _ \r \t \t \t N 0017720 E W [ T a g o v e r l a i d P r 0017740 o d D a t a B o d y _ [ \r \t 0017760 \t \t T a g T y p e ] ] ; \r \t \t R 0020000 E T U R N [ N E W [ T a g N o d 0020020 e B o d y _ [ p o s i t i o n , 0020040 l e n g t h , T a g o v e r 0020060 l a i d P r o d P r o c s , d 0020100 a t a ] ] ] ; \r \t \t E N D ; \r \r 0020120 \r - - T a g T y p e s t a r P 0020140 r o d \r \r T a g T y p e s t a r 0020160 P r o d P r o c s : \t P U B L I 0020200 C T a g T y p e N o d e P r o 0020220 c s _ \r \t N E W [ T a g T y p 0020240 e N o d e P r o c s B o d y _ 0020260 [ T a g T y p e s t a r P r o 0020300 d M a k e T a g T y p e ] ] ; \r 0020320 \r B u i l d T a g T y p e s t a 0020340 r P r o d N o d e : \t P U B L I 0020360 C P R O C [ p o s i t i o n : 0020400 I N T , l e n g t h : I N 0020420 T ] \r \t R E T U R N S [ T a g T 0020440 y p e N o d e ] = \r \t \t B E G 0020460 I N \r \t \t R E T U R N [ N E W [ 0020500 T a g T y p e N o d e B o d y _ 0020520 [ p o s i t i o n , l e n g t 0020540 h , T a g T y p e s t a r P r 0020560 o d P r o c s , N I L ] ] ] ; 0020600 \r \t \t E N D ; \r \r \r - - T a g 0020620 T y p e t y p e e x p P r o d \r 0020640 \r T a g T y p e t y p e e x p P 0020660 r o d P r o c s : \t P U B L I C 0020700 T a g T y p e N o d e P r o c 0020720 s _ \r \t N E W [ T a g T y p e 0020740 N o d e P r o c s B o d y _ 0020760 [ T a g T y p e t y p e e x p P 0021000 r o d M a k e T a g T y p e ] ] 0021020 ; \r \r B u i l d T a g T y p e t 0021040 y p e e x p P r o d N o d e : \t 0021060 P U B L I C P R O C [ p o s i 0021100 t i o n : I N T , l e n g t 0021120 h : I N T , T y p e E x p : 0021140 T y p e E x p N o d e ] \r \t R 0021160 E T U R N S [ T a g T y p e N o 0021200 d e ] = \r \t \t B E G I N \r \t \t 0021220 d a t a : \t T a g T y p e t y p 0021240 e e x p P r o d D a t a _ \r \t 0021260 \t \t N E W [ T a g T y p e t y p 0021300 e e x p P r o d D a t a B o d y 0021320 _ [ \r \t \t \t T y p e E x p ] 0021340 ] ; \r \t \t R E T U R N [ N E W [ 0021360 T a g T y p e N o d e B o d y _ 0021400 [ p o s i t i o n , l e n g t 0021420 h , T a g T y p e t y p e e x 0021440 p P r o d P r o c s , d a t a 0021460 ] ] ] ; \r \t \t E N D ; \r \r \r - - 0021500 V a r i a n t L i s t o n e P 0021520 r o d \r \r V a r i a n t L i s t 0021540 o n e P r o d P r o c s : \t P U 0021560 B L I C V a r i a n t L i s t 0021600 N o d e P r o c s _ \r \t N E W 0021620 [ V a r i a n t L i s t N o d e 0021640 P r o c s B o d y _ [ V a r 0021660 i a n t L i s t o n e P r o d M 0021700 a k e U n i o n L i s t , V a 0021720 r i a n t L i s t o n e P r o d 0021740 A d d V a r i a n t s T o U n i 0021760 o n L i s t , V a r i a n t L 0022000 i s t o n e P r o d M a k e S t 0022020 a r T a g T y p e , V a r i a 0022040 n t L i s t o n e P r o d A d d 0022060 V a r i a n t N a m e s T o E n 0022100 u m T y p e T G N ] ] ; \r \r B u 0022120 i l d V a r i a n t L i s t o n 0022140 e P r o d N o d e : \t P U B L I 0022160 C P R O C [ p o s i t i o n : 0022200 I N T , l e n g t h : I N 0022220 T , V a r i a n t I t e m : 0022240 V a r i a n t I t e m N o d e ] 0022260 \r \t R E T U R N S [ V a r i a n 0022300 t L i s t N o d e ] = \r \t \t B 0022320 E G I N \r \t \t d a t a : \t V a r 0022340 i a n t L i s t o n e P r o d D 0022360 a t a _ \r \t \t \t N E W [ V a r 0022400 i a n t L i s t o n e P r o d D 0022420 a t a B o d y _ [ \r \t \t \t V 0022440 a r i a n t I t e m ] ] ; \r \t \t 0022460 R E T U R N [ N E W [ V a r i a 0022500 n t L i s t N o d e B o d y _ [ 0022520 p o s i t i o n , l e n g t h 0022540 , V a r i a n t L i s t o n e 0022560 P r o d P r o c s , d a t a ] 0022600 ] ] ; \r \t \t E N D ; \r \r \r - - 0022620 V a r i a n t L i s t m o r e P 0022640 r o d \r \r V a r i a n t L i s t 0022660 m o r e P r o d P r o c s : \t P 0022700 U B L I C V a r i a n t L i s 0022720 t N o d e P r o c s _ \r \t N E 0022740 W [ V a r i a n t L i s t N o d 0022760 e P r o c s B o d y _ [ V a 0023000 r i a n t L i s t m o r e P r o 0023020 d M a k e U n i o n L i s t , 0023040 V a r i a n t L i s t m o r e P 0023060 r o d A d d V a r i a n t s T o 0023100 U n i o n L i s t , V a r i a 0023120 n t L i s t m o r e P r o d M a 0023140 k e S t a r T a g T y p e , V 0023160 a r i a n t L i s t m o r e P r 0023200 o d A d d V a r i a n t N a m e 0023220 s T o E n u m T y p e T G N ] ] 0023240 ; \r \r B u i l d V a r i a n t L 0023260 i s t m o r e P r o d N o d e : 0023300 \t P U B L I C P R O C [ p o s 0023320 i t i o n : I N T , l e n g 0023340 t h : I N T , V a r i a n t 0023360 L i s t : V a r i a n t L i s 0023400 t N o d e , V a r i a n t I t 0023420 e m : V a r i a n t I t e m N 0023440 o d e ] \r \t R E T U R N S [ V a 0023460 r i a n t L i s t N o d e ] = 0023500 \r \t \t B E G I N \r \t \t d a t a : 0023520 \t V a r i a n t L i s t m o r e 0023540 P r o d D a t a _ \r \t \t \t N E 0023560 W [ V a r i a n t L i s t m o r 0023600 e P r o d D a t a B o d y _ 0023620 [ \r \t \t \t V a r i a n t L i s t 0023640 , V a r i a n t I t e m ] ] ; 0023660 \r \t \t R E T U R N [ N E W [ V a 0023700 r i a n t L i s t N o d e B o d 0023720 y _ [ p o s i t i o n , l e n 0023740 g t h , V a r i a n t L i s t 0023760 m o r e P r o d P r o c s , d 0024000 a t a ] ] ] ; \r \t \t E N D ; \r \r 0024020 \r - - V a r i a n t I t e m P 0024040 r o d \r \r V a r i a n t I t e m 0024060 P r o d P r o c s : \t P U B L I 0024100 C V a r i a n t I t e m N o d 0024120 e P r o c s _ \r \t N E W [ V a 0024140 r i a n t I t e m N o d e P r o 0024160 c s B o d y _ [ V a r i a n 0024200 t I t e m P r o d A d d V a r i 0024220 a n t s T o U n i o n L i s t , 0024240 V a r i a n t I t e m P r o d 0024260 A d d V a r i a n t N a m e s T 0024300 o E n u m T y p e T G N ] ] ; \r 0024320 \r B u i l d V a r i a n t I t e 0024340 m P r o d N o d e : \t P U B L I 0024360 C P R O C [ p o s i t i o n : 0024400 I N T , l e n g t h : I N 0024420 T , I d L i s t : I d L i s 0024440 t N o d e , R e c L i s t : 0024460 R e c L i s t N o d e ] \r \t R E 0024500 T U R N S [ V a r i a n t I t e 0024520 m N o d e ] = \r \t \t B E G I N 0024540 \r \t \t d a t a : \t V a r i a n t 0024560 I t e m P r o d D a t a _ \r \t 0024600 \t \t N E W [ V a r i a n t I t e 0024620 m P r o d D a t a B o d y _ 0024640 [ \r \t \t \t I d L i s t , R e c 0024660 L i s t ] ] ; \r \t \t R E T U R N 0024700 [ N E W [ V a r i a n t I t e m 0024720 N o d e B o d y _ [ p o s i t i 0024740 o n , l e n g t h , V a r i 0024760 a n t I t e m P r o d P r o c s 0025000 , d a t a ] ] ] ; \r \t \t E N D 0025020 ; \r \r \r - - P a c k e d y e s 0025040 P r o d \r \r P a c k e d y e s P 0025060 r o d P r o c s : \t P U B L I C 0025100 P a c k e d N o d e P r o c s 0025120 _ \r \t N E W [ P a c k e d N o 0025140 d e P r o c s B o d y _ [ P 0025160 a c k e d y e s P r o d G e t B 0025200 o o l e a n V a l ] ] ; \r \r B u 0025220 i l d P a c k e d y e s P r o d 0025240 N o d e : \t P U B L I C P R O 0025260 C [ p o s i t i o n : I N T , 0025300 l e n g t h : I N T ] \r \t R 0025320 E T U R N S [ P a c k e d N o d 0025340 e ] = \r \t \t B E G I N \r \t \t R 0025360 E T U R N [ N E W [ P a c k e d 0025400 N o d e B o d y _ [ p o s i t i 0025420 o n , l e n g t h , P a c k 0025440 e d y e s P r o d P r o c s , 0025460 N I L ] ] ] ; \r \t \t E N D ; \r \r 0025500 \r - - P a c k e d n o P r o d 0025520 \r \r P a c k e d n o P r o d P r 0025540 o c s : \t P U B L I C P a c k 0025560 e d N o d e P r o c s _ \r \t N 0025600 E W [ P a c k e d N o d e P r o 0025620 c s B o d y _ [ P a c k e d 0025640 n o P r o d G e t B o o l e a n 0025660 V a l ] ] ; \r \r B u i l d P a c 0025700 k e d n o P r o d N o d e : \t P 0025720 U B L I C P R O C [ p o s i t 0025740 i o n : I N T , l e n g t h 0025760 : I N T ] \r \t R E T U R N S [ 0026000 P a c k e d N o d e ] = \r \t \t 0026020 B E G I N \r \t \t R E T U R N [ N 0026040 E W [ P a c k e d N o d e B o d 0026060 y _ [ p o s i t i o n , l e n 0026100 g t h , P a c k e d n o P r o 0026120 d P r o c s , N I L ] ] ] ; \r 0026140 \t \t E N D ; \r \r E N D . . \r 0026156