$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron3.0>Derived>SaffronCG2Impl.Mesa!15 0000000 - - S a f f r o n C G 2 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 7 , 1 0000200 9 8 8 7 : 5 7 : 3 6 p m P 0000220 D T \r - - u s i n g T h 0000240 r e e C a s a b a F o u r [ 1 0000260 . 2 ] o f J u n e 1 , 1 0000300 9 8 7 6 : 0 0 : 0 0 p m P 0000320 D T \r \r D I R E C T O R Y \r \t S 0000340 a f f r o n A G 1 a D e f , \r \t 0000360 S a f f r o n A G 7 a D e f , \r 0000400 \t S a f f r o n A G 1 b D e f , 0000420 \r \t S a f f r o n A G 6 b D e f 0000440 , \r \t S a f f r o n A G 2 D e f 0000460 , \r \t S a f f r o n A G 8 D e f 0000500 , \r \t S a f f r o n A G 3 D e f 0000520 , \r \t T h r e e C 4 S u p p o r 0000540 t , \r \t S a f f r o n C G 2 D e 0000560 f U S I N G [ ] , \r \t S a f f 0000600 r o n A T D e f ; \r \r S a f f r 0000620 o n C G 2 I m p l : C E D A R 0000640 P R O G R A M I M P O R T S 0000660 S a f f r o n A G 1 a D e f , 0000700 S a f f r o n A G 7 a D e f , 0000720 S a f f r o n A G 1 b D e f , 0000740 S a f f r o n A G 6 b D e f , 0000760 S a f f r o n A G 2 D e f , 0001000 S a f f r o n A G 8 D e f , S 0001020 a f f r o n A G 3 D e f E X P 0001040 O R T S S a f f r o n C G 2 D 0001060 e f = \r B E G I N \r O P E N 0001100 S a f f r o n A G 1 a D e f , 0001120 S a f f r o n A G 7 a D e f , 0001140 S a f f r o n A G 1 b D e f , 0001160 S a f f r o n A G 6 b D e f , 0001200 S a f f r o n A G 2 D e f , S 0001220 a f f r o n A G 8 D e f , S a 0001240 f f r o n A G 3 D e f , T h r 0001260 e e C 4 S u p p o r t , S a f 0001300 f r o n A T D e f ; \r S a f f r 0001320 o n C G 2 L i n k P r o c : P 0001340 U B L I C P R O C [ p r o d L 0001360 i n k A r r a y : S e e P r o 0001400 d L i n k A r r a y , t k n L 0001420 i n k A r r a y : T o k e n L 0001440 i n k A r r a y ] = \r B E G I 0001460 N \r p r o d L i n k A r r a y [ 0001500 5 0 ] _ S e e b o u n d s ; 0001520 \r p r o d L i n k A r r a y [ 5 0001540 1 ] _ S e e c h e c k e d e 0001560 m p t y ; \r p r o d L i n k A r 0001600 r a y [ 5 2 ] _ S e e c h e 0001620 c k e d c h e c k e d ; \r p r o 0001640 d L i n k A r r a y [ 5 3 ] _ 0001660 S e e c h e c k e d t r u s t 0001700 e d ; \r p r o d L i n k A r r a 0001720 y [ 5 4 ] _ S e e c h e c k 0001740 e d u n c h e c k e d ; \r p r o 0001760 d L i n k A r r a y [ 5 5 ] _ 0002000 S e e d e f a u l t a ; \r p r 0002020 o d L i n k A r r a y [ 5 6 ] 0002040 _ S e e d e f a u l t e m p t 0002060 y ; \r p r o d L i n k A r r a y 0002100 [ 5 7 ] _ S e e p o s i t i 0002120 o n P ; \r p r o d L i n k A r r 0002140 a y [ 5 8 ] _ S e e o p t b 0002160 i t s p r e s e n t ; \r p r o d 0002200 L i n k A r r a y [ 5 9 ] _ 0002220 S e e o p t b i t s a b s e n t 0002240 ; \r p r o d L i n k A r r a y [ 0002260 6 0 ] _ S e e s u m s u m ; 0002300 \r p r o d L i n k A r r a y [ 6 0002320 1 ] _ S e e s u m p r o d u 0002340 c t ; \r p r o d L i n k A r r a 0002360 y [ 6 2 ] _ S e e p r o d u 0002400 c t p r o d u c t ; \r p r o d L 0002420 i n k A r r a y [ 6 3 ] _ S 0002440 e e p r o d u c t f a c t o r ; 0002460 \r p r o d L i n k A r r a y [ 6 0002500 4 ] _ S e e m u l t o p t i 0002520 m e s ; \r p r o d L i n k A r r 0002540 a y [ 6 5 ] _ S e e m u l t 0002560 o p d i v i d e ; \r p r o d L i 0002600 n k A r r a y [ 6 6 ] _ S e 0002620 e m u l t o p m o d ; \r p r o d 0002640 L i n k A r r a y [ 6 7 ] _ 0002660 S e e f a c t o r u n a r y s u 0002700 m ; \r p r o d L i n k A r r a y 0002720 [ 6 8 ] _ S e e f a c t o r 0002740 p r i m a r y ; \r p r o d L i n 0002760 k A r r a y [ 6 9 ] _ S e e 0003000 a d d o p p l u s ; \r p r o d L 0003020 i n k A r r a y [ 7 0 ] _ S 0003040 e e a d d o p m i n u s ; \r p r 0003060 o d L i n k A r r a y [ 7 1 ] 0003100 _ S e e r e a d o n l y y e s 0003120 ; \r p r o d L i n k A r r a y [ 0003140 7 2 ] _ S e e r e a d o n l 0003160 y n o ; \r p r o d L i n k A r r 0003200 a y [ 7 3 ] _ S e e c a t c 0003220 h a n y ; \r p r o d L i n k A r 0003240 r a y [ 7 4 ] _ S e e i n t 0003260 e r v a l c c ; \r p r o d L i n 0003300 k A r r a y [ 7 5 ] _ S e e 0003320 i n t e r v a l o c ; \r p r o d 0003340 L i n k A r r a y [ 7 6 ] _ 0003360 S e e i n t e r v a l c o ; \r p 0003400 r o d L i n k A r r a y [ 7 7 ] 0003420 _ S e e i n t e r v a l o o 0003440 ; \r p r o d L i n k A r r a y [ 0003460 7 8 ] _ S e e e x p i f t h 0003500 e n e l s e ; \r p r o d L i n k 0003520 A r r a y [ 7 9 ] _ S e e e 0003540 x p s e l e c t ; \r p r o d L i 0003560 n k A r r a y [ 8 0 ] _ S e 0003600 e e x p a s s i g n ; \r p r o d 0003620 L i n k A r r a y [ 8 1 ] _ 0003640 S e e e x p m u l t i a s s i g 0003660 n ; \r p r o d L i n k A r r a y 0003700 [ 8 2 ] _ S e e e x p e r r 0003720 o r ; \r p r o d L i n k A r r a 0003740 y [ 8 3 ] _ S e e e x p t r 0003760 a n s f e r ; \r p r o d L i n k 0004000 A r r a y [ 8 4 ] _ S e e e 0004020 x p d i s j u n c t ; \r p r o d 0004040 L i n k A r r a y [ 8 5 ] _ 0004060 S e e c a s e e x p l i s t e m 0004100 p t y ; \r p r o d L i n k A r r 0004120 a y [ 8 6 ] _ S e e c a s e 0004140 e x p l i s t b ; \r p r o d L i 0004160 n k A r r a y [ 8 7 ] _ S e 0004200 e c a s e e x p l i s t c ; \r p 0004220 r o d L i n k A r r a y [ 8 8 ] 0004240 _ S e e c a s e e x p l i s 0004260 t P a ; \r p r o d L i n k A r r 0004300 a y [ 8 9 ] _ S e e c a s e 0004320 e x p l i s t P b ; \r p r o d L 0004340 i n k A r r a y [ 9 0 ] _ S 0004360 e e c a s e e x p i t e m ; \r E 0004400 N D ; \r \r S e e b o u n d s : 0004420 P R O C [ n o d e s : L I S 0004440 T O F R E F A N Y , p o 0004460 s i t i o n : I N T , l e n 0004500 g t h : I N T ] \r \t R E T U R 0004520 N S [ L I S T O F R E F 0004540 A N Y ] = \r B E G I N \r s t a 0004560 c k : L I S T O F R E F 0004600 A N Y _ n o d e s ; \r e x p 0004620 l o w e r : E x p N o d e ; \r 0004640 e x p u p p e r : E x p N o d 0004660 e ; \r e x p u p p e r _ N A 0004700 R R O W [ s t a c k . f i r s t 0004720 ] ; \r s t a c k _ s t a c k 0004740 . r e s t ; \r e x p l o w e r 0004760 _ N A R R O W [ s t a c k . f 0005000 i r s t ] ; \r s t a c k _ s 0005020 t a c k . r e s t ; \r s t a c k 0005040 _ C O N S [ B u i l d B o u 0005060 n d s P r o d N o d e [ p o s i 0005100 t i o n , l e n g t h , e x 0005120 p l o w e r , e x p u p p e r 0005140 ] , s t a c k ] ; \r R E T U R 0005160 N [ s t a c k ] \r E N D ; \r \r 0005200 S e e c h e c k e d e m p t y : 0005220 P R O C [ n o d e s : L I 0005240 S T O F R E F A N Y , p 0005260 o s i t i o n : I N T , l e 0005300 n g t h : I N T ] \r \t R E T U 0005320 R N S [ L I S T O F R E F 0005340 A N Y ] = \r B E G I N \r s t 0005360 a c k : L I S T O F R E F 0005400 A N Y _ n o d e s ; \r s t 0005420 a c k _ C O N S [ B u i l d 0005440 C h e c k e d e m p t y P r o d 0005460 N o d e [ p o s i t i o n , l 0005500 e n g t h ] , s t a c k ] ; \r 0005520 R E T U R N [ s t a c k ] \r E 0005540 N D ; \r \r S e e c h e c k e d c 0005560 h e c k e d : P R O C [ n o 0005600 d e s : L I S T O F R E F 0005620 A N Y , p o s i t i o n : 0005640 I N T , l e n g t h : I N T 0005660 ] \r \t R E T U R N S [ L I S T 0005700 O F R E F A N Y ] = \r B 0005720 E G I N \r s t a c k : L I S T 0005740 O F R E F A N Y _ n o 0005760 d e s ; \r s t a c k _ C O N 0006000 S [ B u i l d C h e c k e d c h 0006020 e c k e d P r o d N o d e [ p o 0006040 s i t i o n , l e n g t h ] , 0006060 s t a c k ] ; \r R E T U R N 0006100 [ s t a c k ] \r E N D ; \r \r S e 0006120 e c h e c k e d t r u s t e d : 0006140 P R O C [ n o d e s : L I 0006160 S T O F R E F A N Y , p 0006200 o s i t i o n : I N T , l e 0006220 n g t h : I N T ] \r \t R E T U 0006240 R N S [ L I S T O F R E F 0006260 A N Y ] = \r B E G I N \r s t 0006300 a c k : L I S T O F R E F 0006320 A N Y _ n o d e s ; \r s t 0006340 a c k _ C O N S [ B u i l d 0006360 C h e c k e d t r u s t e d P r 0006400 o d N o d e [ p o s i t i o n , 0006420 l e n g t h ] , s t a c k ] 0006440 ; \r R E T U R N [ s t a c k ] 0006460 \r E N D ; \r \r S e e c h e c k e 0006500 d u n c h e c k e d : P R O C 0006520 [ n o d e s : L I S T O F 0006540 R E F A N Y , p o s i t i 0006560 o n : I N T , l e n g t h : 0006600 I N T ] \r \t R E T U R N S [ 0006620 L I S T O F R E F A N Y ] 0006640 = \r B E G I N \r s t a c k : 0006660 L I S T O F R E F A N Y 0006700 _ n o d e s ; \r s t a c k _ 0006720 C O N S [ B u i l d C h e c k 0006740 e d u n c h e c k e d P r o d N 0006760 o d e [ p o s i t i o n , l e 0007000 n g t h ] , s t a c k ] ; \r R 0007020 E T U R N [ s t a c k ] \r E N 0007040 D ; \r \r S e e d e f a u l t a : 0007060 P R O C [ n o d e s : L I 0007100 S T O F R E F A N Y , p 0007120 o s i t i o n : I N T , l e 0007140 n g t h : I N T ] \r \t R E T U 0007160 R N S [ L I S T O F R E F 0007200 A N Y ] = \r B E G I N \r s t 0007220 a c k : L I S T O F R E F 0007240 A N Y _ n o d e s ; \r d e 0007260 f a u l t o p t : D e f a u l 0007300 t N o d e ; \r d e f a u l t o p 0007320 t _ N A R R O W [ s t a c k 0007340 . f i r s t ] ; \r s t a c k _ 0007360 s t a c k . r e s t ; \r s t a 0007400 c k _ C O N S [ d e f a u l 0007420 t o p t , s t a c k ] ; \r R E 0007440 T U R N [ s t a c k ] \r E N D 0007460 ; \r \r S e e d e f a u l t e m p 0007500 t y : P R O C [ n o d e s : 0007520 L I S T O F R E F A N Y 0007540 , p o s i t i o n : I N T , 0007560 l e n g t h : I N T ] \r \t R 0007600 E T U R N S [ L I S T O F 0007620 R E F A N Y ] = \r B E G I N 0007640 \r s t a c k : L I S T O F 0007660 R E F A N Y _ n o d e s ; 0007700 \r s t a c k _ C O N S [ B u 0007720 i l d D e f a u l t e m p t y P 0007740 r o d N o d e [ p o s i t i o n 0007760 , l e n g t h ] , s t a c k 0010000 ] ; \r R E T U R N [ s t a c k 0010020 ] \r E N D ; \r \r S e e p o s i t 0010040 i o n P : P R O C [ n o d e 0010060 s : L I S T O F R E F A 0010100 N Y , p o s i t i o n : I N 0010120 T , l e n g t h : I N T ] \r 0010140 \t R E T U R N S [ L I S T O 0010160 F R E F A N Y ] = \r B E G 0010200 I N \r s t a c k : L I S T O 0010220 F R E F A N Y _ n o d e 0010240 s ; \r e x p : E x p N o d e ; 0010260 \r o p t b i t s : O p t B i t 0010300 s N o d e ; \r o p t b i t s _ 0010320 N A R R O W [ s t a c k . f i 0010340 r s t ] ; \r s t a c k _ s t 0010360 a c k . r e s t ; \r e x p _ 0010400 N A R R O W [ s t a c k . f i r 0010420 s t ] ; \r s t a c k _ s t a 0010440 c k . r e s t ; \r s t a c k _ 0010460 C O N S [ B u i l d P o s i t 0010500 i o n P r o d N o d e [ p o s i 0010520 t i o n , l e n g t h , e x 0010540 p , o p t b i t s ] , s t a 0010560 c k ] ; \r R E T U R N [ s t a 0010600 c k ] \r E N D ; \r \r S e e o p t 0010620 b i t s p r e s e n t : P R O 0010640 C [ n o d e s : L I S T O 0010660 F R E F A N Y , p o s i t 0010700 i o n : I N T , l e n g t h 0010720 : I N T ] \r \t R E T U R N S 0010740 [ L I S T O F R E F A N Y 0010760 ] = \r B E G I N \r s t a c k : 0011000 L I S T O F R E F A N Y 0011020 _ n o d e s ; \r b o u n d s 0011040 : B o u n d s N o d e ; \r b o 0011060 u n d s _ N A R R O W [ s t 0011100 a c k . f i r s t ] ; \r s t a c 0011120 k _ s t a c k . r e s t ; \r 0011140 s t a c k _ C O N S [ B u i 0011160 l d O p t B i t s p r e s e n t 0011200 P r o d N o d e [ p o s i t i o 0011220 n , l e n g t h , b o u n d 0011240 s ] , s t a c k ] ; \r R E T U 0011260 R N [ s t a c k ] \r E N D ; \r 0011300 \r S e e o p t b i t s a b s e n 0011320 t : P R O C [ n o d e s : 0011340 L I S T O F R E F A N Y , 0011360 p o s i t i o n : I N T , 0011400 l e n g t h : I N T ] \r \t R E 0011420 T U R N S [ L I S T O F R 0011440 E F A N Y ] = \r B E G I N \r 0011460 s t a c k : L I S T O F R 0011500 E F A N Y _ n o d e s ; \r 0011520 s t a c k _ C O N S [ B u i 0011540 l d O p t B i t s a b s e n t P 0011560 r o d N o d e [ p o s i t i o n 0011600 , l e n g t h ] , s t a c k 0011620 ] ; \r R E T U R N [ s t a c k 0011640 ] \r E N D ; \r \r S e e s u m s u 0011660 m : P R O C [ n o d e s : 0011700 L I S T O F R E F A N Y , 0011720 p o s i t i o n : I N T , 0011740 l e n g t h : I N T ] \r \t R E 0011760 T U R N S [ L I S T O F R 0012000 E F A N Y ] = \r B E G I N \r 0012020 s t a c k : L I S T O F R 0012040 E F A N Y _ n o d e s ; \r 0012060 s u m : E x p N o d e ; \r a d 0012100 d o p : A d d O p N o d e ; \r 0012120 p r o d u c t : E x p N o d e 0012140 ; \r p r o d u c t _ N A R R 0012160 O W [ s t a c k . f i r s t ] ; 0012200 \r s t a c k _ s t a c k . r 0012220 e s t ; \r a d d o p _ N A R 0012240 R O W [ s t a c k . f i r s t ] 0012260 ; \r s t a c k _ s t a c k . 0012300 r e s t ; \r s u m _ N A R R 0012320 O W [ s t a c k . f i r s t ] ; 0012340 \r s t a c k _ s t a c k . r 0012360 e s t ; \r s t a c k _ C O N 0012400 S [ B u i l d E x p s u m P r o 0012420 d N o d e [ p o s i t i o n , 0012440 l e n g t h , s u m , a d d 0012460 o p , p r o d u c t ] , s t 0012500 a c k ] ; \r R E T U R N [ s t 0012520 a c k ] \r E N D ; \r \r S e e s u 0012540 m p r o d u c t : P R O C [ 0012560 n o d e s : L I S T O F R 0012600 E F A N Y , p o s i t i o n 0012620 : I N T , l e n g t h : I 0012640 N T ] \r \t R E T U R N S [ L I 0012660 S T O F R E F A N Y ] = 0012700 \r B E G I N \r s t a c k : L I 0012720 S T O F R E F A N Y _ 0012740 n o d e s ; \r p r o d u c t : 0012760 E x p N o d e ; \r p r o d u c t 0013000 _ N A R R O W [ s t a c k . 0013020 f i r s t ] ; \r s t a c k _ 0013040 s t a c k . r e s t ; \r s t a c 0013060 k _ C O N S [ p r o d u c t 0013100 , s t a c k ] ; \r R E T U R N 0013120 [ s t a c k ] \r E N D ; \r \r S 0013140 e e p r o d u c t p r o d u c t 0013160 : P R O C [ n o d e s : L 0013200 I S T O F R E F A N Y , 0013220 p o s i t i o n : I N T , l 0013240 e n g t h : I N T ] \r \t R E T 0013260 U R N S [ L I S T O F R E 0013300 F A N Y ] = \r B E G I N \r s 0013320 t a c k : L I S T O F R E 0013340 F A N Y _ n o d e s ; \r p 0013360 r o d u c t : E x p N o d e ; 0013400 \r m u l t o p : M u l t O p N 0013420 o d e ; \r f a c t o r : E x p 0013440 N o d e ; \r f a c t o r _ N 0013460 A R R O W [ s t a c k . f i r s 0013500 t ] ; \r s t a c k _ s t a c 0013520 k . r e s t ; \r m u l t o p _ 0013540 N A R R O W [ s t a c k . f i 0013560 r s t ] ; \r s t a c k _ s t 0013600 a c k . r e s t ; \r p r o d u c 0013620 t _ N A R R O W [ s t a c k 0013640 . f i r s t ] ; \r s t a c k _ 0013660 s t a c k . r e s t ; \r s t a 0013700 c k _ C O N S [ B u i l d E 0013720 x p p r o d u c t P r o d N o d 0013740 e [ p o s i t i o n , l e n g 0013760 t h , p r o d u c t , m u l 0014000 t o p , f a c t o r ] , s t 0014020 a c k ] ; \r R E T U R N [ s t 0014040 a c k ] \r E N D ; \r \r S e e p r 0014060 o d u c t f a c t o r : P R O 0014100 C [ n o d e s : L I S T O 0014120 F R E F A N Y , p o s i t 0014140 i o n : I N T , l e n g t h 0014160 : I N T ] \r \t R E T U R N S 0014200 [ L I S T O F R E F A N Y 0014220 ] = \r B E G I N \r s t a c k : 0014240 L I S T O F R E F A N Y 0014260 _ n o d e s ; \r f a c t o r 0014300 : E x p N o d e ; \r f a c t o 0014320 r _ N A R R O W [ s t a c k 0014340 . f i r s t ] ; \r s t a c k _ 0014360 s t a c k . r e s t ; \r s t a 0014400 c k _ C O N S [ f a c t o r 0014420 , s t a c k ] ; \r R E T U R N 0014440 [ s t a c k ] \r E N D ; \r \r S 0014460 e e m u l t o p t i m e s : P 0014500 R O C [ n o d e s : L I S T 0014520 O F R E F A N Y , p o s 0014540 i t i o n : I N T , l e n g 0014560 t h : I N T ] \r \t R E T U R N 0014600 S [ L I S T O F R E F A 0014620 N Y ] = \r B E G I N \r s t a c 0014640 k : L I S T O F R E F A 0014660 N Y _ n o d e s ; \r s t a c 0014700 k _ C O N S [ B u i l d M u 0014720 l t O p t i m e s P r o d N o d 0014740 e [ p o s i t i o n , l e n g 0014760 t h ] , s t a c k ] ; \r R E T 0015000 U R N [ s t a c k ] \r E N D ; 0015020 \r \r S e e m u l t o p d i v i d 0015040 e : P R O C [ n o d e s : 0015060 L I S T O F R E F A N Y , 0015100 p o s i t i o n : I N T , 0015120 l e n g t h : I N T ] \r \t R E 0015140 T U R N S [ L I S T O F R 0015160 E F A N Y ] = \r B E G I N \r 0015200 s t a c k : L I S T O F R 0015220 E F A N Y _ n o d e s ; \r 0015240 s t a c k _ C O N S [ B u i 0015260 l d M u l t O p d i v i d e P r 0015300 o d N o d e [ p o s i t i o n , 0015320 l e n g t h ] , s t a c k ] 0015340 ; \r R E T U R N [ s t a c k ] 0015360 \r E N D ; \r \r S e e m u l t o p 0015400 m o d : P R O C [ n o d e s 0015420 : L I S T O F R E F A N 0015440 Y , p o s i t i o n : I N T 0015460 , l e n g t h : I N T ] \r \t 0015500 R E T U R N S [ L I S T O F 0015520 R E F A N Y ] = \r B E G I 0015540 N \r s t a c k : L I S T O F 0015560 R E F A N Y _ n o d e s 0015600 ; \r s t a c k _ C O N S [ B 0015620 u i l d M u l t O p m o d P r o 0015640 d N o d e [ p o s i t i o n , 0015660 l e n g t h ] , s t a c k ] ; 0015700 \r R E T U R N [ s t a c k ] \r 0015720 E N D ; \r \r S e e f a c t o r u 0015740 n a r y s u m : P R O C [ n 0015760 o d e s : L I S T O F R E 0016000 F A N Y , p o s i t i o n : 0016020 I N T , l e n g t h : I N 0016040 T ] \r \t R E T U R N S [ L I S 0016060 T O F R E F A N Y ] = \r 0016100 B E G I N \r s t a c k : L I S 0016120 T O F R E F A N Y _ n 0016140 o d e s ; \r a d d o p : A d d 0016160 O p N o d e ; \r p r i m a r y : 0016200 E x p N o d e ; \r p r i m a r 0016220 y _ N A R R O W [ s t a c k 0016240 . f i r s t ] ; \r s t a c k _ 0016260 s t a c k . r e s t ; \r a d d 0016300 o p _ N A R R O W [ s t a c 0016320 k . f i r s t ] ; \r s t a c k 0016340 _ s t a c k . r e s t ; \r s t 0016360 a c k _ C O N S [ B u i l d 0016400 E x p u n a r y s u m P r o d N 0016420 o d e [ p o s i t i o n , l e 0016440 n g t h , a d d o p , p r i 0016460 m a r y ] , s t a c k ] ; \r R 0016500 E T U R N [ s t a c k ] \r E N 0016520 D ; \r \r S e e f a c t o r p r i 0016540 m a r y : P R O C [ n o d e 0016560 s : L I S T O F R E F A 0016600 N Y , p o s i t i o n : I N 0016620 T , l e n g t h : I N T ] \r 0016640 \t R E T U R N S [ L I S T O 0016660 F R E F A N Y ] = \r B E G 0016700 I N \r s t a c k : L I S T O 0016720 F R E F A N Y _ n o d e 0016740 s ; \r p r i m a r y : E x p N 0016760 o d e ; \r p r i m a r y _ N 0017000 A R R O W [ s t a c k . f i r s 0017020 t ] ; \r s t a c k _ s t a c 0017040 k . r e s t ; \r s t a c k _ 0017060 C O N S [ p r i m a r y , s t 0017100 a c k ] ; \r R E T U R N [ s t 0017120 a c k ] \r E N D ; \r \r S e e a d 0017140 d o p p l u s : P R O C [ n 0017160 o d e s : L I S T O F R E 0017200 F A N Y , p o s i t i o n : 0017220 I N T , l e n g t h : I N 0017240 T ] \r \t R E T U R N S [ L I S 0017260 T O F R E F A N Y ] = \r 0017300 B E G I N \r s t a c k : L I S 0017320 T O F R E F A N Y _ n 0017340 o d e s ; \r s t a c k _ C O 0017360 N S [ B u i l d A d d O p p l u 0017400 s P r o d N o d e [ p o s i t i 0017420 o n , l e n g t h ] , s t a 0017440 c k ] ; \r R E T U R N [ s t a 0017460 c k ] \r E N D ; \r \r S e e a d d 0017500 o p m i n u s : P R O C [ n 0017520 o d e s : L I S T O F R E 0017540 F A N Y , p o s i t i o n : 0017560 I N T , l e n g t h : I N 0017600 T ] \r \t R E T U R N S [ L I S 0017620 T O F R E F A N Y ] = \r 0017640 B E G I N \r s t a c k : L I S 0017660 T O F R E F A N Y _ n 0017700 o d e s ; \r s t a c k _ C O 0017720 N S [ B u i l d A d d O p m i n 0017740 u s P r o d N o d e [ p o s i t 0017760 i o n , l e n g t h ] , s t 0020000 a c k ] ; \r R E T U R N [ s t 0020020 a c k ] \r E N D ; \r \r S e e r e 0020040 a d o n l y y e s : P R O C 0020060 [ n o d e s : L I S T O F 0020100 R E F A N Y , p o s i t i o 0020120 n : I N T , l e n g t h : 0020140 I N T ] \r \t R E T U R N S [ L 0020160 I S T O F R E F A N Y ] 0020200 = \r B E G I N \r s t a c k : L 0020220 I S T O F R E F A N Y _ 0020240 n o d e s ; \r s t a c k _ 0020260 C O N S [ B u i l d R e a d O n 0020300 l y y e s P r o d N o d e [ p o 0020320 s i t i o n , l e n g t h ] , 0020340 s t a c k ] ; \r R E T U R N 0020360 [ s t a c k ] \r E N D ; \r \r S e 0020400 e r e a d o n l y n o : P R O 0020420 C [ n o d e s : L I S T O 0020440 F R E F A N Y , p o s i t 0020460 i o n : I N T , l e n g t h 0020500 : I N T ] \r \t R E T U R N S 0020520 [ L I S T O F R E F A N Y 0020540 ] = \r B E G I N \r s t a c k : 0020560 L I S T O F R E F A N Y 0020600 _ n o d e s ; \r s t a c k 0020620 _ C O N S [ B u i l d R e a d 0020640 O n l y n o P r o d N o d e [ p 0020660 o s i t i o n , l e n g t h ] 0020700 , s t a c k ] ; \r R E T U R N 0020720 [ s t a c k ] \r E N D ; \r \r S 0020740 e e c a t c h a n y : P R O C 0020760 [ n o d e s : L I S T O F 0021000 R E F A N Y , p o s i t i 0021020 o n : I N T , l e n g t h : 0021040 I N T ] \r \t R E T U R N S [ 0021060 L I S T O F R E F A N Y ] 0021100 = \r B E G I N \r s t a c k : 0021120 L I S T O F R E F A N Y 0021140 _ n o d e s ; \r s t a t e m e 0021160 n t : S t a t e m e n t N o d 0021200 e ; \r s t a t e m e n t _ N 0021220 A R R O W [ s t a c k . f i r s 0021240 t ] ; \r s t a c k _ s t a c 0021260 k . r e s t ; \r s t a c k _ 0021300 C O N S [ B u i l d C a t c h A 0021320 n y p r e s e n t P r o d N o d 0021340 e [ p o s i t i o n , l e n g 0021360 t h , s t a t e m e n t ] , 0021400 s t a c k ] ; \r R E T U R N [ 0021420 s t a c k ] \r E N D ; \r \r S e e 0021440 i n t e r v a l c c : P R O C 0021460 [ n o d e s : L I S T O F 0021500 R E F A N Y , p o s i t i 0021520 o n : I N T , l e n g t h : 0021540 I N T ] \r \t R E T U R N S [ 0021560 L I S T O F R E F A N Y ] 0021600 = \r B E G I N \r s t a c k : 0021620 L I S T O F R E F A N Y 0021640 _ n o d e s ; \r b o u n d s : 0021660 B o u n d s N o d e ; \r b o u 0021700 n d s _ N A R R O W [ s t a 0021720 c k . f i r s t ] ; \r s t a c k 0021740 _ s t a c k . r e s t ; \r s 0021760 t a c k _ C O N S [ B u i l 0022000 d I n t e r v a l c c P r o d N 0022020 o d e [ p o s i t i o n , l e 0022040 n g t h , b o u n d s ] , s 0022060 t a c k ] ; \r R E T U R N [ s 0022100 t a c k ] \r E N D ; \r \r S e e i 0022120 n t e r v a l o c : P R O C 0022140 [ n o d e s : L I S T O F 0022160 R E F A N Y , p o s i t i o 0022200 n : I N T , l e n g t h : 0022220 I N T ] \r \t R E T U R N S [ L 0022240 I S T O F R E F A N Y ] 0022260 = \r B E G I N \r s t a c k : L 0022300 I S T O F R E F A N Y _ 0022320 n o d e s ; \r b o u n d s : 0022340 B o u n d s N o d e ; \r b o u n 0022360 d s _ N A R R O W [ s t a c 0022400 k . f i r s t ] ; \r s t a c k 0022420 _ s t a c k . r e s t ; \r s t 0022440 a c k _ C O N S [ B u i l d 0022460 I n t e r v a l o c P r o d N o 0022500 d e [ p o s i t i o n , l e n 0022520 g t h , b o u n d s ] , s t 0022540 a c k ] ; \r R E T U R N [ s t 0022560 a c k ] \r E N D ; \r \r S e e i n 0022600 t e r v a l c o : P R O C [ 0022620 n o d e s : L I S T O F R 0022640 E F A N Y , p o s i t i o n 0022660 : I N T , l e n g t h : I 0022700 N T ] \r \t R E T U R N S [ L I 0022720 S T O F R E F A N Y ] = 0022740 \r B E G I N \r s t a c k : L I 0022760 S T O F R E F A N Y _ 0023000 n o d e s ; \r b o u n d s : B 0023020 o u n d s N o d e ; \r b o u n d 0023040 s _ N A R R O W [ s t a c k 0023060 . f i r s t ] ; \r s t a c k _ 0023100 s t a c k . r e s t ; \r s t a 0023120 c k _ C O N S [ B u i l d I 0023140 n t e r v a l c o P r o d N o d 0023160 e [ p o s i t i o n , l e n g 0023200 t h , b o u n d s ] , s t a 0023220 c k ] ; \r R E T U R N [ s t a 0023240 c k ] \r E N D ; \r \r S e e i n t 0023260 e r v a l o o : P R O C [ n 0023300 o d e s : L I S T O F R E 0023320 F A N Y , p o s i t i o n : 0023340 I N T , l e n g t h : I N 0023360 T ] \r \t R E T U R N S [ L I S 0023400 T O F R E F A N Y ] = \r 0023420 B E G I N \r s t a c k : L I S 0023440 T O F R E F A N Y _ n 0023460 o d e s ; \r b o u n d s : B o 0023500 u n d s N o d e ; \r b o u n d s 0023520 _ N A R R O W [ s t a c k . 0023540 f i r s t ] ; \r s t a c k _ 0023560 s t a c k . r e s t ; \r s t a c 0023600 k _ C O N S [ B u i l d I n 0023620 t e r v a l o o P r o d N o d e 0023640 [ p o s i t i o n , l e n g t 0023660 h , b o u n d s ] , s t a c 0023700 k ] ; \r R E T U R N [ s t a c 0023720 k ] \r E N D ; \r \r S e e e x p i 0023740 f t h e n e l s e : P R O C 0023760 [ n o d e s : L I S T O F 0024000 R E F A N Y , p o s i t i o 0024020 n : I N T , l e n g t h : 0024040 I N T ] \r \t R E T U R N S [ L 0024060 I S T O F R E F A N Y ] 0024100 = \r B E G I N \r s t a c k : L 0024120 I S T O F R E F A N Y _ 0024140 n o d e s ; \r e x p c o n d : 0024160 E x p N o d e ; \r e x p t h e 0024200 n p a r t : E x p N o d e ; \r 0024220 e x p e l s e p a r t : E x p 0024240 N o d e ; \r e x p e l s e p a r 0024260 t _ N A R R O W [ s t a c k 0024300 . f i r s t ] ; \r s t a c k _ 0024320 s t a c k . r e s t ; \r e x p 0024340 t h e n p a r t _ N A R R O 0024360 W [ s t a c k . f i r s t ] ; \r 0024400 s t a c k _ s t a c k . r e 0024420 s t ; \r e x p c o n d _ N A 0024440 R R O W [ s t a c k . f i r s t 0024460 ] ; \r s t a c k _ s t a c k 0024500 . r e s t ; \r s t a c k _ C 0024520 O N S [ B u i l d E x p i f t h 0024540 e n e l s e P r o d N o d e [ p 0024560 o s i t i o n , l e n g t h , 0024600 e x p c o n d , e x p t h e 0024620 n p a r t , e x p e l s e p a 0024640 r t ] , s t a c k ] ; \r R E T 0024660 U R N [ s t a c k ] \r E N D ; 0024700 \r \r S e e e x p s e l e c t : 0024720 P R O C [ n o d e s : L I S 0024740 T O F R E F A N Y , p o 0024760 s i t i o n : I N T , l e n 0025000 g t h : I N T ] \r \t R E T U R 0025020 N S [ L I S T O F R E F 0025040 A N Y ] = \r B E G I N \r s t a 0025060 c k : L I S T O F R E F 0025100 A N Y _ n o d e s ; \r c a s 0025120 e h e a d : S e l e c t H e a 0025140 d N o d e ; \r c a s e e x p l i 0025160 s t : S e l e c t E x p L i s 0025200 t N o d e ; \r e x p : E x p N 0025220 o d e ; \r e x p _ N A R R O 0025240 W [ s t a c k . f i r s t ] ; \r 0025260 s t a c k _ s t a c k . r e 0025300 s t ; \r c a s e e x p l i s t 0025320 _ N A R R O W [ s t a c k . f 0025340 i r s t ] ; \r s t a c k _ s 0025360 t a c k . r e s t ; \r c a s e h 0025400 e a d _ N A R R O W [ s t a 0025420 c k . f i r s t ] ; \r s t a c k 0025440 _ s t a c k . r e s t ; \r s 0025460 t a c k _ C O N S [ B u i l 0025500 d E x p s e l e c t P r o d N o 0025520 d e [ p o s i t i o n , l e n 0025540 g t h , c a s e h e a d , c 0025560 a s e e x p l i s t , e x p ] 0025600 , s t a c k ] ; \r R E T U R N 0025620 [ s t a c k ] \r E N D ; \r \r S 0025640 e e e x p a s s i g n : P R O 0025660 C [ n o d e s : L I S T O 0025700 F R E F A N Y , p o s i t 0025720 i o n : I N T , l e n g t h 0025740 : I N T ] \r \t R E T U R N S 0025760 [ L I S T O F R E F A N Y 0026000 ] = \r B E G I N \r s t a c k : 0026020 L I S T O F R E F A N Y 0026040 _ n o d e s ; \r l h s : E 0026060 x p N o d e ; \r e x p : E x p 0026100 N o d e ; \r e x p _ N A R R 0026120 O W [ s t a c k . f i r s t ] ; 0026140 \r s t a c k _ s t a c k . r 0026160 e s t ; \r l h s _ N A R R O 0026200 W [ s t a c k . f i r s t ] ; \r 0026220 s t a c k _ s t a c k . r e 0026240 s t ; \r s t a c k _ C O N S 0026260 [ B u i l d E x p a s s i g n P 0026300 r o d N o d e [ p o s i t i o n 0026320 , l e n g t h , l h s , e 0026340 x p ] , s t a c k ] ; \r R E T 0026360 U R N [ s t a c k ] \r E N D ; 0026400 \r \r S e e e x p m u l t i a s s 0026420 i g n : P R O C [ n o d e s 0026440 : L I S T O F R E F A N 0026460 Y , p o s i t i o n : I N T 0026500 , l e n g t h : I N T ] \r \t 0026520 R E T U R N S [ L I S T O F 0026540 R E F A N Y ] = \r B E G I 0026560 N \r s t a c k : L I S T O F 0026600 R E F A N Y _ n o d e s 0026620 ; \r e x p l i s t : E x p L i 0026640 s t N o d e ; \r e x p : E x p 0026660 N o d e ; \r e x p _ N A R R 0026700 O W [ s t a c k . f i r s t ] ; 0026720 \r s t a c k _ s t a c k . r 0026740 e s t ; \r e x p l i s t _ N 0026760 A R R O W [ s t a c k . f i r s 0027000 t ] ; \r s t a c k _ s t a c 0027020 k . r e s t ; \r s t a c k _ 0027040 C O N S [ B u i l d E x p m u l 0027060 t i a s s i g n P r o d N o d e 0027100 [ p o s i t i o n , l e n g t 0027120 h , e x p l i s t , e x p ] 0027140 , s t a c k ] ; \r R E T U R N 0027160 [ s t a c k ] \r E N D ; \r \r S 0027200 e e e x p e r r o r : P R O C 0027220 [ n o d e s : L I S T O F 0027240 R E F A N Y , p o s i t i 0027260 o n : I N T , l e n g t h : 0027300 I N T ] \r \t R E T U R N S [ 0027320 L I S T O F R E F A N Y ] 0027340 = \r B E G I N \r s t a c k : 0027360 L I S T O F R E F A N Y 0027400 _ n o d e s ; \r s t a c k _ 0027420 C O N S [ B u i l d E x p e r 0027440 r o r P r o d N o d e [ p o s i 0027460 t i o n , l e n g t h ] , s 0027500 t a c k ] ; \r R E T U R N [ s 0027520 t a c k ] \r E N D ; \r \r S e e e 0027540 x p t r a n s f e r : P R O C 0027560 [ n o d e s : L I S T O F 0027600 R E F A N Y , p o s i t i 0027620 o n : I N T , l e n g t h : 0027640 I N T ] \r \t R E T U R N S [ 0027660 L I S T O F R E F A N Y ] 0027700 = \r B E G I N \r s t a c k : 0027720 L I S T O F R E F A N Y 0027740 _ n o d e s ; \r t r a n s f e 0027760 r o p : T r a n s f e r O p N 0030000 o d e ; \r l h s : E x p N o d 0030020 e ; \r l h s _ N A R R O W [ 0030040 s t a c k . f i r s t ] ; \r s t 0030060 a c k _ s t a c k . r e s t 0030100 ; \r t r a n s f e r o p _ N 0030120 A R R O W [ s t a c k . f i r s 0030140 t ] ; \r s t a c k _ s t a c 0030160 k . r e s t ; \r s t a c k _ 0030200 C O N S [ B u i l d E x p t r a 0030220 n s f e r P r o d N o d e [ p o 0030240 s i t i o n , l e n g t h , 0030260 t r a n s f e r o p , l h s ] 0030300 , s t a c k ] ; \r R E T U R N 0030320 [ s t a c k ] \r E N D ; \r \r S 0030340 e e e x p d i s j u n c t : P 0030360 R O C [ n o d e s : L I S T 0030400 O F R E F A N Y , p o s 0030420 i t i o n : I N T , l e n g 0030440 t h : I N T ] \r \t R E T U R N 0030460 S [ L I S T O F R E F A 0030500 N Y ] = \r B E G I N \r s t a c 0030520 k : L I S T O F R E F A 0030540 N Y _ n o d e s ; \r d i s j 0030560 u n c t : E x p N o d e ; \r d 0030600 i s j u n c t _ N A R R O W 0030620 [ s t a c k . f i r s t ] ; \r s 0030640 t a c k _ s t a c k . r e s 0030660 t ; \r s t a c k _ C O N S [ 0030700 d i s j u n c t , s t a c k ] 0030720 ; \r R E T U R N [ s t a c k ] 0030740 \r E N D ; \r \r S e e c a s e e x 0030760 p l i s t e m p t y : P R O C 0031000 [ n o d e s : L I S T O F 0031020 R E F A N Y , p o s i t i 0031040 o n : I N T , l e n g t h : 0031060 I N T ] \r \t R E T U R N S [ 0031100 L I S T O F R E F A N Y ] 0031120 = \r B E G I N \r s t a c k : 0031140 L I S T O F R E F A N Y 0031160 _ n o d e s ; \r s t a c k _ 0031200 C O N S [ B u i l d S e l e c 0031220 t E x p L i s t e m p t y P r o 0031240 d N o d e [ p o s i t i o n , 0031260 l e n g t h ] , s t a c k ] ; 0031300 \r R E T U R N [ s t a c k ] \r 0031320 E N D ; \r \r S e e c a s e e x p 0031340 l i s t b : P R O C [ n o d 0031360 e s : L I S T O F R E F 0031400 A N Y , p o s i t i o n : I 0031420 N T , l e n g t h : I N T ] 0031440 \r \t R E T U R N S [ L I S T 0031460 O F R E F A N Y ] = \r B E 0031500 G I N \r s t a c k : L I S T 0031520 O F R E F A N Y _ n o d 0031540 e s ; \r c a s e e x p l i s t P 0031560 : S e l e c t E x p L i s t N 0031600 o d e ; \r c a s e e x p l i s t 0031620 P _ N A R R O W [ s t a c k 0031640 . f i r s t ] ; \r s t a c k _ 0031660 s t a c k . r e s t ; \r s t a 0031700 c k _ C O N S [ c a s e e x 0031720 p l i s t P , s t a c k ] ; \r 0031740 R E T U R N [ s t a c k ] \r E 0031760 N D ; \r \r S e e c a s e e x p l 0032000 i s t c : P R O C [ n o d e 0032020 s : L I S T O F R E F A 0032040 N Y , p o s i t i o n : I N 0032060 T , l e n g t h : I N T ] \r 0032100 \t R E T U R N S [ L I S T O 0032120 F R E F A N Y ] = \r B E G 0032140 I N \r s t a c k : L I S T O 0032160 F R E F A N Y _ n o d e 0032200 s ; \r c a s e e x p l i s t P : 0032220 S e l e c t E x p L i s t N o 0032240 d e ; \r c a s e e x p l i s t P 0032260 _ N A R R O W [ s t a c k . 0032300 f i r s t ] ; \r s t a c k _ 0032320 s t a c k . r e s t ; \r s t a c 0032340 k _ C O N S [ c a s e e x p 0032360 l i s t P , s t a c k ] ; \r R 0032400 E T U R N [ s t a c k ] \r E N 0032420 D ; \r \r S e e c a s e e x p l i 0032440 s t P a : P R O C [ n o d e 0032460 s : L I S T O F R E F A 0032500 N Y , p o s i t i o n : I N 0032520 T , l e n g t h : I N T ] \r 0032540 \t R E T U R N S [ L I S T O 0032560 F R E F A N Y ] = \r B E G 0032600 I N \r s t a c k : L I S T O 0032620 F R E F A N Y _ n o d e 0032640 s ; \r c a s e e x p i t e m : 0032660 S e l e c t E x p I t e m N o d 0032700 e ; \r c a s e e x p i t e m _ 0032720 N A R R O W [ s t a c k . f i 0032740 r s t ] ; \r s t a c k _ s t 0032760 a c k . r e s t ; \r s t a c k 0033000 _ C O N S [ B u i l d S e l e 0033020 c t E x p L i s t m o r e P r o 0033040 d N o d e [ p o s i t i o n , 0033060 l e n g t h , B u i l d S e l 0033100 e c t E x p L i s t e m p t y P 0033120 r o d N o d e [ c a s e e x p i 0033140 t e m . p o s i t i o n , c a 0033160 s e e x p i t e m . p o s i t i 0033200 o n - c a s e e x p i t e m 0033220 . l e n g t h ] , c a s e e x 0033240 p i t e m ] , s t a c k ] ; \r 0033260 R E T U R N [ s t a c k ] \r E 0033300 N D ; \r \r S e e c a s e e x p l 0033320 i s t P b : P R O C [ n o d 0033340 e s : L I S T O F R E F 0033360 A N Y , p o s i t i o n : I 0033400 N T , l e n g t h : I N T ] 0033420 \r \t R E T U R N S [ L I S T 0033440 O F R E F A N Y ] = \r B E 0033460 G I N \r s t a c k : L I S T 0033500 O F R E F A N Y _ n o d 0033520 e s ; \r c a s e e x p l i s t P 0033540 : S e l e c t E x p L i s t N 0033560 o d e ; \r c a s e e x p i t e m 0033600 : S e l e c t E x p I t e m N 0033620 o d e ; \r c a s e e x p i t e m 0033640 _ N A R R O W [ s t a c k . 0033660 f i r s t ] ; \r s t a c k _ 0033700 s t a c k . r e s t ; \r c a s e 0033720 e x p l i s t P _ N A R R O 0033740 W [ s t a c k . f i r s t ] ; \r 0033760 s t a c k _ s t a c k . r e 0034000 s t ; \r s t a c k _ C O N S 0034020 [ B u i l d S e l e c t E x p L 0034040 i s t m o r e P r o d N o d e [ 0034060 p o s i t i o n , l e n g t h 0034100 , c a s e e x p l i s t P , 0034120 c a s e e x p i t e m ] , s t 0034140 a c k ] ; \r R E T U R N [ s t 0034160 a c k ] \r E N D ; \r \r S e e c a 0034200 s e e x p i t e m : P R O C 0034220 [ n o d e s : L I S T O F 0034240 R E F A N Y , p o s i t i o 0034260 n : I N T , l e n g t h : 0034300 I N T ] \r \t R E T U R N S [ L 0034320 I S T O F R E F A N Y ] 0034340 = \r B E G I N \r s t a c k : L 0034360 I S T O F R E F A N Y _ 0034400 n o d e s ; \r c a s e l a b e 0034420 l : S e l e c t L a b e l N o 0034440 d e ; \r e x p : E x p N o d e 0034460 ; \r e x p _ N A R R O W [ s 0034500 t a c k . f i r s t ] ; \r s t a 0034520 c k _ s t a c k . r e s t ; 0034540 \r c a s e l a b e l _ N A R 0034560 R O W [ s t a c k . f i r s t ] 0034600 ; \r s t a c k _ s t a c k . 0034620 r e s t ; \r s t a c k _ C O 0034640 N S [ B u i l d S e l e c t E x 0034660 p I t e m P r o d N o d e [ p o 0034700 s i t i o n , l e n g t h , 0034720 c a s e l a b e l , e x p ] , 0034740 s t a c k ] ; \r R E T U R N 0034760 [ s t a c k ] \r E N D ; \r \r E N 0035000 D . . \r 0035004