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