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