$ od -c -N 50000 [Indigo]<Chipmonk>plamaker>PLAmaker-sources.dm!12
0000000 377 \0 \0 P L A M a k e r I m p l .
0000020 m e s a \0 373 230 \ 360 370 \0 \0 376 001 \0 355
0000040 200 - - P l a M a k e r I m p l
0000060 . m e s a \r - - a p r o g r
0000100 a m t o r u n w i t h i n
0000120 C h i p m o n k \r \r - - l a
0000140 s t m o d i f i e d b y C
0000160 a r y K o r n f e l d , O c
0000200 t o b e r 1 , 1 9 8 1 1
0000220 0 : 1 1 A M \r - - w r i t t
0000240 e n b y E . M c C r e i g
0000260 h t , A u g u s t 7 , 1 9
0000300 8 1 3 : 5 2 P M \r \r D I R
0000320 E C T O R Y \r I O D e f s ,
0000340 \r I n l i n e D e f s , \r
0000360 p p d d e f s , \r p p d e
0000400 f s , \r p p d d d e f s , \r
0000420 S e g m e n t D e f s , \r
0000440 376 001 \0 213 306 S t r e a m D e f s
0000460 , \r S t r i n g D e f s , \r
0000500 S y s t e m D e f s , \r
0000520 Z o n e A l l o c D e f s ; \r \r
0000540 P l a M a k e r I m p l : P R
0000560 O G R A M \r I M P O R T S \r
0000600 I n l i n e D e f s ,
0000620 p p d d d e f s , p p d d e f
0000640 s , p p d e f s , S e g m e
0000660 n t D e f s , S t r e a m D e
0000700 f s , \r I O D e f s ,
0000720 S t r i n g D e f s , Z o n e
0000740 A l l o c D e f s = \r B E
0000760 G I N O P E N p p d d d e f
0001000 s , p p d d e f s , p p d e
0001020 f s , i o : I O D e f s ; \r
0001040 \r \r Z : 376 001 \0 263 4 U N C O
0001060 U N T E D Z O N E _ Z o n
0001100 e A l l o c D e f s . G e t A n
0001120 X M Z o n e [ ] ; \r \r P u n
0001140 t : S I G N A L = C O D E
0001160 ; \r \r \r - - A l l o f
0001200 t h e p e r i p h e r a l c
0001220 e l l s m u s t c o n t a i
0001240 n a n a d j a c e n t p a
0001260 i r o f b i t s , a n d \r
0001300 - - a l l o f t h e
0001320 c e n t e r c e l l s m u s
0001340 t c o n t a i n a r e c t
0001360 a n g u l a r q u a d o f
0001400 b i t s \r \r C e l l : T Y
0001420 P E = L O N G P O I N T E
0001440 R T O o b j e c t 376 001 \0 [ M
0001460 _ N I L ; \r D C e l l :
0001500 T Y P E = A R R A Y B O
0001520 O L E A N - - d a t a i n
0001540 c e l l - - O F C e l l ; \r
0001560 D C e l l P r : T Y P E
0001600 = A R R A Y B O O L E A N
0001620 - - d a t a i n e v e n
0001640 c e l l - - O F D C e l l
0001660 ; \r \r M A X I D L E N G T H
0001700 : C A R D I N A L = 1 0 0
0001720 ; \r S t o p C O D E : C H
0001740 A R A C T E R = ' * ; \r
0001760 H A S H S I Z E : C A R D I
0002000 N A L = 2 9 ; - - M a y
0002020 b e s m a l l f o r b i g
0002040 P L A ' s \r \r n a m e I n
0002060 376 001 \0 , 255 d e x : T Y P E =
0002100 [ 0 . . M A X I D L E N G T H
0002120 ) ; \r h a s h I n d e x :
0002140 T Y P E = [ 0 . . H A S H S
0002160 I Z E ) ; \r \r I O L i n k :
0002200 T Y P E = L O N G P O I
0002220 N T E R T O I O ; \r P T
0002240 e r m L i n k : T Y P E =
0002260 L O N G P O I N T E R T O
0002300 P r o d u c t T e r m ; \r I
0002320 O T e r m L i n k : T Y P E
0002340 = L O N G P O I N T E R T
0002360 O I O T e r m ; \r \r S t a
0002400 t e s : T Y P E = { A b s
0002420 e n t , A s s e r t , I n v
0002440 e r t } ; \r T B S t a t e s
0002460 : T Y P 376 001 \0 030 P E = { b
0002500 o t t o m , t o p } ; \r D
0002520 i r e c t i o n : T Y P E =
0002540 { v e r t i c a l , h o r i
0002560 z o n t a l , d i a g o n a l
0002600 , u p , d o w n , l e f t
0002620 , r i g h t , \r \t u p A n d L
0002640 e f t , u p A n d R i g h t ,
0002660 d o w n A n d L e f t , d o
0002700 w n A n d R i g h t } ; \r \r
0002720 I O : T Y P E = R E C O R
0002740 D [ \r \t n e x t : I O L i n k
0002760 , \r \t T o p B o t t o m : T B
0003000 S t a t e s , \r \t p o s i t i o
0003020 n : C A R D I N A L , \r \t n a
0003040 m e : S E Q U E N C E l e n
0003060 g t h : C A R D I 376 001 \0 275 S N
0003100 A L O F C H A R A C T E R ]
0003120 ; \r \r P r o d u c t T e r m
0003140 : T Y P E = R E C O R D [
0003160 \r \t n e x t : P T e r m L i n
0003200 k , \r \t o u t p u t : I O T e
0003220 r m L i n k , \r \t i n p u t :
0003240 I O T e r m L i n k ] ; \r \r
0003260 I O T e r m : T Y P E = R
0003300 E C O R D [ \r \t t e r m : S E
0003320 Q U E N C E t c o u n t : C
0003340 A R D I N A L O F S t a t e
0003360 s ] ; \r \r I O L I S T : T
0003400 Y P E = R E C O R D [ n o d
0003420 e : S E Q U E N C E I O c o
0003440 u n t : C A R D I N A L O F
0003460 I O L i n k ] ; \r \r H a 376
0003500 001 \0 304 s s h T a b l e : T Y P
0003520 E = A R R A Y h a s h I n
0003540 d e x O F I O L i n k ; \r
0003560 h a s h P T e r m : A R R A
0003600 Y h a s h I n d e x O F P
0003620 T e r m L i n k ; \r \r i n p
0003640 u t s , o u t p u t s : H a
0003660 s h T a b l e ; \r i n C o u
0003700 n t , o u t C o u n t : C A
0003720 R D I N A L ; \r i n p u t L
0003740 i s t , o u t p u t L i s t :
0003760 L O N G P O I N T E R T O
0004000 I O L I S T ; \r S c o u n
0004020 t : I N T E G E R _ 0 ; \r
0004040 P T e r m C o u n t , b o
0004060 i s t C o u n t , m i n B o i
0004100 s t S p 376 001 \0 377 323 a c e : C A
0004120 R D I N A L ; \r \r \r - - i n
0004140 : S t r e a m D e f s . S t r
0004160 e a m H a n d l e ; \r l i n
0004200 e : S T R I N G _ [ M A X
0004220 I D L E N G T H ] ; \r l i n
0004240 e I n : S T R I N G _ [ M
0004260 A X I D L E N G T H ] ; \r e
0004300 o l : B O O L E A N ; \r \r
0004320 P L A D e c o d e r , P L A D
0004340 a t a : D C e l l P r ; \r
0004360 P L A D e c o d e r D a t a ,
0004400 P L A D e c o d e r D a t a T o
0004420 p , P L A D e c o d e r D a t
0004440 a B o t t o m , \r P L A
0004460 D e c o d e r T o p L e f t C o
0004500 r n e r , P L A 376 001 \0 030 032 D e
0004520 c o d e r B o t t o m L e f t C
0004540 o r n e r , \r P L A D e
0004560 c o d e r L e f t G n d , P L
0004600 A D e c o d e r G n d , P L A
0004620 D e c o d e r D a t a G n d , \r
0004640 P L A D a t a H G n d ,
0004660 P L A D a t a V G n d , P L
0004700 A D a t a G n d , P L A D a t
0004720 a T o p G n d , \r P L A
0004740 D a t a B o t t o m G n d , P
0004760 L A D a t a R i g h t G n d , \r
0005000 P L A D a t a T o p R i
0005020 g h t C o r n e r , P L A D a
0005040 t a R i g h t , P L A D a t a
0005060 B o t t o m R i g h t C o r n e
0005100 r : C e l l ; \r P L A 376 001
0005120 \0 232 033 D e c o d e r L e f t ,
0005140 P L A D a t a T o p , P L A D
0005160 a t a B o t t o m , P L A D e
0005200 c o d e r T o p , \r P
0005220 L A D e c o d e r B o t t o m ,
0005240 P L A O u t M u x : D C e l
0005260 l ; \r - - c o l u m n :
0005300 F A L S E = > e v e n c o
0005320 l u m n , T R U E = > o d
0005340 d c o l u m n \r d e c o d
0005360 e C e l l , d a t a C e l l :
0005400 C e l l ; - - s a m p l
0005420 e s f o r m e a s u r e m e
0005440 n t s \r \r \r R d I D : P R
0005460 O C E D U R E [ i d : S T R
0005500 I N G ] = \r B E G I N
0005520 \r 376 001 \0 / 366 c h a r :
0005540 C H A R A C T E R ; \r i
0005560 : n a m e I n d e x ; \r
0005600 i _ 0 ; \r c h a r
0005620 _ i o . R e a d C h a r [ ]
0005640 ; \r W H I L E c h a r
0005660 = i o . S P O R c h a r
0005700 = i o . T A B O R c h a
0005720 r = i o . C R O R c h a
0005740 r = i o . L F D O \r
0005760 c h a r _ i o . R e a
0006000 d C h a r [ ] ; E N D L O O P
0006020 ; \r W H I L E c h a r
0006040 # i o . S P A N D c h a
0006060 r # i o . C R A N D c h
0006100 a r # i o . L F A N D c
0006120 h a r # i o 376 001 \0 E 363 . T A
0006140 B D O \r i d [ i ]
0006160 _ c h a r ; i _ i +
0006200 1 ; c h a r _ i o . R e
0006220 a d C h a r [ ] ; E N D L O O
0006240 P ; \r i d ^ . l e n g t
0006260 h _ i ; \r e o l _
0006300 ( c h a r = i o . C R O
0006320 R c h a r = i o . L F ) ;
0006340 \r E N D ; \r \r R e a
0006360 d I O : P R O C E D U R E [
0006400 S t o p C o d e : C H A R A C
0006420 T E R ] R E T U R N S [ c o
0006440 u n t : C A R D I N A L _
0006460 0 , \r \t \t \t \t \t \t h a s h
0006500 T a b l e : H a s h T a b l e
0006520 ] = \r B E G I N 376 001 \0
0006540 216 237 \r T e r m : I O L
0006560 i n k ; \r i d : S T R
0006600 I N G _ [ M A X I D L E N G
0006620 T H ] ; \r i d 2 : S T
0006640 R I N G _ [ M A X I D L E N
0006660 G T H ] ; \r T B : T B
0006700 S t a t e s ; \r k , i
0006720 , h a s h : C A R D I N A L
0006740 ; \r \r F O R i I N
0006760 h a s h I n d e x D O h a s
0007000 h T a b l e [ i ] _ N I L
0007020 E N D L O O P ; \r \r D O
0007040 \r \r - - g e t t h e
0007060 n a m e o f t h e I O
0007100 t e r m a n d i t s p o s
0007120 i t i o n \r R d I D [ i
0007140 d ] 376 001 \0 231 313 ; \r I F
0007160 i d [ 0 ] = S t o p C o d e
0007200 T H E N E X I T ; \r
0007220 h a s h _ h a s h C o d e [
0007240 i d ] ; \r R d I D [ i d
0007260 2 ] ; \r I F i d 2 [ 0
0007300 ] = ' t O R i d 2 [ 0 ]
0007320 = ' T \r \t T H E N T B
0007340 _ t o p \r \t E L S E
0007360 T B _ b o t t o m ; \r \r \r
0007400 - - c r e a t e a n
0007420 I O n o d e \r T e r m
0007440 _ Z . N E W [ I O [ i d . l
0007460 e n g t h ] ] ; \r S c o
0007500 u n t _ S c o u n t + 1
0007520 ; \r B E G I N O P E N
0007540 T e r m ; \r 376 001 \0 u 342 \t T o p
0007560 B o t t o m _ T B ; \r \t p o
0007600 s i t i o n _ c o u n t ; \r
0007620 \t c o u n t _ c o u n t +
0007640 1 ; \r \t F O R k I N [ 0
0007660 . . i d . l e n g t h ) D O \r
0007700 \t n a m e [ k ] _ i d [
0007720 k ] ; \r \t E N D L O O P ; \r \t n
0007740 e x t _ h a s h T a b l e [
0007760 h a s h ] ; \r \t h a s h T a b l
0010000 e [ h a s h ] _ T e r m ; \r
0010020 E N D ; \r \r E N
0010040 D L O O P ; \r \r R E T U
0010060 R N [ c o u n t , h a s h T a
0010100 b l e ] ; \r \r E N D ; \r \r \r
0010120 R e a d P T e r m s : P R
0010140 O C E D U R E [ ] 376 001 \0 216
0010160 004 = \r B E G I N \r
0010200 P T e r m , P T : P T e r
0010220 m L i n k _ N I L ; \r
0010240 i d : S T R I N G _ [ M
0010260 A X I D L E N G T H ] ; \r
0010300 a l l o c : B O O L E A N
0010320 _ T R U E ; \r d o n e
0010340 , f o u n d : B O O L E A N
0010360 _ F A L S E ; \r k ,
0010400 o u t I D , h a s h : C A
0010420 R D I N A L _ 0 ; \r \r
0010440 P T e r m C o u n t _ 0 ;
0010460 \r \r D O \r \r \t - - a l
0010500 l o c a t e a n e w P r o
0010520 d u c t T e r m N o d e \r \t
0010540 I F a l l o c T H E N B E
0010560 G 376 001 \0 | 367 I N \r \t a l l
0010600 o c _ F A L S E ; \r \t
0010620 P T e r m _ Z . N E W [ P r
0010640 o d u c t T e r m ] ; \r \t
0010660 P T e r m . i n p u t _ Z .
0010700 N E W [ I O T e r m [ i n C o u
0010720 n t ] ] ; \r \t P T e r m .
0010740 o u t p u t _ Z . N E W [ I
0010760 O T e r m [ o u t C o u n t ] ]
0011000 ; \r \t S c o u n t _ S
0011020 c o u n t + 3 ; \r \t P
0011040 T e r m C o u n t _ P T e r
0011060 m C o u n t + 1 ; \r \t E
0011100 N D ; \r \t F O R k I N [ 0
0011120 . . i n C o u n t ) D O \r \t
0011140 P T e r m . i n p u t . t
0011160 e r m [ k ] 376 001 \0 223 ~ _ A b
0011200 s e n t ; \r \t E N D L O O P
0011220 ; \r \t F O R k I N [ 0 . .
0011240 o u t C o u n t ) D O \r \t
0011260 P T e r m . o u t p u t . t
0011300 e r m [ k ] _ A b s e n t ;
0011320 \r \t E N D L O O P ; \r \r \t -
0011340 - g e t t h e o u t p u t
0011360 t e r m \r \t R d I D [ i d ] ;
0011400 \r \t I F i d [ 0 ] = ' *
0011420 T H E N E X I T ; \r \t o u t I
0011440 D _ l o o k U p [ i d , o
0011460 u t p u t s ] ; \r \t P T e r m .
0011500 o u t p u t . t e r m [ o u t I
0011520 D ] _ A s s e r t ; \r \r \t -
0011540 - d i s c a r d t h e s y
0011560 n t a c t i c s e p 376 001 \0 225 U
0011600 a r a t o r ' = ' \r \t R d I D
0011620 [ i d ] ; \r \r \t - - g e t t
0011640 h e i n p u t t e r m s \r \t
0011660 h a s h _ 0 ; \r \t d o n e
0011700 _ F A L S E ; \r \t W H I L E
0011720 N O T d o n e D O \r \t R
0011740 d I D [ i d ] ; \r \t k _
0011760 l o o k U p [ i d , i n p u t
0012000 s ] ; \r \t h a s h _ h a
0012020 s h + k ; \r \t I F i d
0012040 [ 0 ] = ' - \r \t T H
0012060 E N P T e r m . i n p u t . t
0012100 e r m [ k ] _ I n v e r t \r
0012120 \t E L S E P T e r m .
0012140 i n p u t . t e r m [ k ] _
0012160 A s s e r t ; \r \r \t - - d
0012200 376 001 \0 303 q i s c a r d s y n t
0012220 a c t i c s e p a r a t o r \r
0012240 \t R d I D [ i d ] ; \r \t
0012260 d o n e _ i d [ 0 ] = '
0012300 ; ; \r \t E N D L O O P ; \r \r \t
0012320 - - i n s e r t t h e P r
0012340 o d u c t T e r m i n t o
0012360 t h e P T e r m m a t r i x
0012400 \r \t I F h a s h > = H A S
0012420 H S I Z E T H E N h a s h
0012440 _ h a s h M O D H A S H S
0012460 I Z E ; \r \t P T _ h a s h P
0012500 T e r m [ h a s h ] ; \r \t f o u
0012520 n d _ F A L S E ; \r \t D O \r
0012540 \t I F P T = N I L \r \t
0012560 T H E N E X I T \r \t
0012600 376 001 \0 222 \f E L S E f
0012620 o u n d _ T R U E ; \r \t
0012640 F O R k I N [ 0 . . i n C
0012660 o u n t ) U N T I L N O T
0012700 f o u n d D O \r \t f o
0012720 u n d _ P T . i n p u t . t
0012740 e r m [ k ] = P T e r m . i
0012760 n p u t . t e r m [ k ] ; \r \t
0013000 E N D L O O P ; \r \t I F
0013020 f o u n d \r \t T H
0013040 E N E X I T \r \t E L
0013060 S E P T _ P T . n e x t ;
0013100 \r \t E N D L O O P ; \r \r \t I
0013120 F f o u n d T H E N P T .
0013140 o u t p u t . t e r m [ o u t I
0013160 D ] _ A s s e r t \r \t
0013200 E L S E B E G I 376 001 \0 \t 277 N
0013220 \r \t \t P T e r m . n e x t _
0013240 h a s h P T e r m [ h a s h ] ;
0013260 \r \t \t h a s h P T e r m [ h a s
0013300 h ] _ P T e r m ; \r \t \t a l
0013320 l o c _ T R U E ; \r \t
0013340 E N D ; \r \r E N D L
0013360 O O P ; \r \r - - r e l
0013400 e a s e u n u s e d P T e r
0013420 m n o d e s p a c e \r
0013440 I F N O T a l l o c \r \t
0013460 T H E N B E G I N \r \t Z
0013500 . F R E E [ @ P T e r m . i n p
0013520 u t ] ; \r \t Z . F R E E [
0013540 @ P T e r m . o u t p u t ] ; \r
0013560 \t Z . F R E E [ @ P T e r
0013600 m ] ; \r \t S c o u n t 376
0013620 001 \0 037 022 _ S c o u n t - 3
0013640 ; \r \t P T e r m C o u n t
0013660 _ P T e r m C o u n t -
0013700 1 ; \r \t E N D ; \r \r E N
0013720 D ; \r \r \r F r e e B l o c k
0013740 s : P R O C E D U R E [ ] =
0013760 \r B E G I N \r I
0014000 O P t r , I O T e m p : I O
0014020 L i n k ; \r p , p T e
0014040 m p : P T e r m L i n k ; \r
0014060 i : h a s h I n d e x ;
0014100 \r \r - - r e l e a s e
0014120 s p a c e f o r i n p u t
0014140 a n d o u t p u t n o d e
0014160 l i s t s \r Z . F R E
0014200 E [ @ i n p u t L i s t ] ; \r
0014220 Z 376 001 \0 266 ( . F R E E [ @
0014240 o u t p u t L i s t ] ; \r
0014260 S c o u n t _ S c o u n t
0014300 - 2 ; \r \r - - r e
0014320 l e a s e n o d e s p a c e
0014340 f o r i n p u t t e r m s
0014360 \r F O R i I N h a
0014400 s h I n d e x D O \r
0014420 F O R I O P t r _ i n p u
0014440 t s [ i ] , I O T e m p U N
0014460 T I L I O P t r = N I L D O
0014500 \r \t I O T e m p _ I O P t r
0014520 . n e x t ; \r \t Z . F R E E [ @
0014540 I O P t r ] ; \r \t S c o u n t
0014560 _ S c o u n t - 1 ; \r
0014600 E N D L O O P ; \r
0014620 E N D L O O P ; 376 001 \0 364 206 \r \r
0014640 - - r e l e a s e n
0014660 o d e s p a c e f o r o u
0014700 t p u t t e r m s \r F
0014720 O R i I N h a s h I n d e
0014740 x D O \r F O R
0014760 I O P t r _ o u t p u t s [ i ]
0015000 , I O T e m p U N T I L I
0015020 O P t r = N I L D O \r \t I O T
0015040 e m p _ I O P t r . n e x t
0015060 ; \r \t Z . F R E E [ @ I O P t r
0015100 ] ; \r \t S c o u n t _ S c o
0015120 u n t - 1 ; \r E
0015140 N D L O O P ; \r E N D L
0015160 O O P ; \r \r - - r e l
0015200 e a s e n o d e s p a c e
0015220 f o r p r o d u c t t e 376 001
0015240 \0 367 021 r m s \r F O R i
0015260 I N h a s h I n d e x D O
0015300 \r F O R p _
0015320 h a s h P T e r m [ i ] , p T
0015340 e m p U N T I L p = N I L
0015360 D O \r \t p T e m p _ p . n e
0015400 x t ; \r \t Z . F R E E [ @ p . o
0015420 u t p u t ] ; \r \t Z . F R E E [
0015440 @ p . i n p u t ] ; \r \t Z . F R
0015460 E E [ @ p ] ; \r \t S c o u n t
0015500 _ S c o u n t - 3 ; \r
0015520 E N D L O O P ; \r
0015540 E N D L O O P ; \r \r E N D
0015560 ; \r \r h a s h C o d e : P
0015600 R O C E D U R E [ n a m e :
0015620 S T R I N G ] R E T U R N S
0015640 [ h a 376 001 \0 004 \r s h I n d e x ]
0015660 = \r B E G I N \r
0015700 j : n a m e I n d e x ; \r
0015720 i : I N T E G E R ; \r
0015740 S t a r t : C A R D I N
0015760 A L ; \r \r S t a r t _
0016000 i _ 0 ; \r I F n
0016020 a m e [ 0 ] = ' - T H E N
0016040 S t a r t _ 1 ; \r
0016060 F O R j I N [ S t a r t .
0016100 . n a m e ^ . l e n g t h ) D
0016120 O \r i _ i * 1 0
0016140 + ( n a m e [ j ] - ' 0
0016160 ) ; \r I F n a m e
0016200 [ j ] > = ' a T H E N i
0016220 _ i - 3 2 ; - - h a s
0016240 h o n u p p 376 001 \0 @ 036 e r
0016260 c a s e o n l y \r
0016300 E N D L O O P ; \r i _
0016320 i M O D H A S H S I Z E ;
0016340 \r R E T U R N [ I F i
0016360 < 0 T H E N i + H A
0016400 S H S I Z E E L S E i ] ; \r
0016420 E N D ; \r \r s t r c
0016440 m p : P R O C E D U R E [ s
0016460 : S T R I N G , n : I O L
0016500 i n k ] R E T U R N S [ B O
0016520 O L E A N ] = \r B E G
0016540 I N \r i : I N T E G E
0016560 R ; \r O f f , j : n
0016600 a m e I n d e x ; \r \r O
0016620 f f _ 0 ; \r I F s
0016640 [ 0 ] = ' - T H E N 376 001 \0
0016660 # 340 O f f _ 1 ; \r
0016700 F O R j _ 0 , j + 1
0016720 U N T I L j = s . l e n
0016740 g t h - O f f D O \r
0016760 i _ n . n a m e [ j ] -
0017000 s [ j + O f f ] ; - - c h e
0017020 c k f o r e q u a l i t y
0017040 r e g a r d l e s s o f c a
0017060 s e \r I F i =
0017100 0 T H E N L O O P ; \r
0017120 I F i = 3 2 A N D
0017140 s [ j ] > = ' A T H E N
0017160 L O O P ; \r I F
0017200 i = - 3 2 A N D s [ j ]
0017220 > = ' a T H E N L O O P
0017240 ; \r R E T U R N [ F
0017260 A L 376 001 \0 227 265 S E ] ; \r
0017300 R E P E A T F I N I S H E
0017320 D = > R E T U R N [ T R U E
0017340 ] \r E N D L O O P ;
0017360 \r E N D ; \r \r l o o
0017400 k U p : P R O C E D U R E [
0017420 s : S T R I N G , h a s h T
0017440 a b l e : H a s h T a b l e ]
0017460 R E T U R N S [ C A R D I N
0017500 A L ] = \r B E G I N \r
0017520 n : I O L i n k ; \r
0017540 h : h a s h I n d e x ;
0017560 \r \r h _ h a s h C o
0017600 d e [ s ] ; \r F O R n
0017620 _ h a s h T a b l e [ h ] ,
0017640 n ^ . n e x t U N T I L n
0017660 = N I L 376 001 \0 L 020 D O \r
0017700 I F s t r c m p [ s
0017720 , n ] T H E N R E T U R N
0017740 [ n . p o s i t i o n ] E N D
0017760 L O O P ; \r R E T U R N
0020000 [ 0 ] ; \r E N D ; \r \r \t
0020020 \r B u i l d P r o d u c
0020040 t T e r m s : P R O C E D U R
0020060 E [ s i : S t r e a m D e f
0020100 s . S t r e a m H a n d l e ]
0020120 = \r B E G I N - - c
0020140 a l l e d o n c e i n m a
0020160 i n \r l i n e : S T R
0020200 I N G _ [ M A X I D L E N G
0020220 T H ] ; \r i : h a s h
0020240 I n d e x ; \r I O P t r
0020260 : I O L i n k ; \r 376 001 \0 230
0020300 361 e c h o : B O O L E A N
0020320 ; \r s a v e I n : S t
0020340 r e a m D e f s . S t r e a m H
0020360 a n d l e ; \r \r F O R
0020400 i I N h a s h I n d e x D
0020420 O h a s h P T e r m [ i ] _
0020440 N I L E N D L O O P ; \r
0020460 e o l _ F A L S E ; \r
0020500 s a v e I n _ i o . G
0020520 e t I n p u t S t r e a m [ ] ;
0020540 \r i o . S e t I n p u t
0020560 S t r e a m [ s i ] ; \r
0020600 e c h o _ i o . S e t E c h
0020620 o [ F A L S E ] ; \r \r -
0020640 - r e a d I n p u t t e r
0020660 m s a n d b u i l d i n p
0020700 u 376 001 \0 \v L t t e r m h a s
0020720 h t a b l e \r [ i n C
0020740 o u n t , i n p u t s ] _
0020760 R e a d I O [ S t o p C O D E ]
0021000 ; \r \r - - r e a d o
0021020 u t p u t t e r m s a n d
0021040 b u i l d o u t p u t t e r
0021060 m h a s h t a b l e \r
0021100 [ o u t C o u n t , o u t p
0021120 u t s ] _ R e a d I O [ S t
0021140 o p C O D E ] ; \r \r - -
0021160 b u i l d I O L i s t o
0021200 f I O d e s c r i p t o r s
0021220 a r r a n g e d b y p o s
0021240 i t i o n \r i n p u t L
0021260 i s t _ Z . N E W [ I O L I
0021300 S T [ i n C 376 001 \0 321 364 o u n t ]
0021320 ] ; \r o u t p u t L i s
0021340 t _ Z . N E W [ I O L I S T
0021360 [ o u t C o u n t ] ] ; \r
0021400 S c o u n t _ S c o u n t
0021420 + 2 ; \r F O R i
0021440 I N h a s h I n d e x D O
0021460 \r F O R I O P t r
0021500 _ i n p u t s [ i ] , I O P t
0021520 r . n e x t U N T I L I O P
0021540 t r = N I L D O \r \t i n p u t
0021560 L i s t [ I O P t r . p o s i t
0021600 i o n ] _ I O P t r ; \r
0021620 E N D L O O P ; \r
0021640 E N D L O O P ; \r \r F
0021660 O R i I N h a s h I n d e
0021700 x D O \r 376 001 \0 252 f
0021720 F O R I O P t r _ o u t p u
0021740 t s [ i ] , I O P t r . n e x
0021760 t U N T I L I O P t r = N I
0022000 L D O \r \t o u t p u t L i s t
0022020 [ I O P t r . p o s i t i o n ]
0022040 _ I O P t r ; \r
0022060 E N D L O O P ; \r E N D
0022100 L O O P ; \r \r \r \r - -
0022120 i n p u t t h e p r o d u c
0022140 t t e r m s a n d b u i l
0022160 d t h e p r o d u c t t e
0022200 r m m a t r i x \r R e
0022220 a d P T e r m s ; \r \r i
0022240 o . S e t I n p u t S t r e a m
0022260 [ s a v e I n ] ; \r [ ]
0022300 _ i o . S e t E c h o [ e c
0022320 376 001 \0 h 027 h o ] ; \r \r E
0022340 N D ; \r \r F i n d P L A C e
0022360 l l s : P R O C E D U R E [
0022400 c e l l F a m i l y : S T R I
0022420 N G ] = \r B E G I N \r
0022440 P L A D e c o d e r _
0022460 F i n d D C e l l P r [ c e l
0022500 l F a m i l y : c e l l F a m
0022520 i l y , r e q u i r e d : T
0022540 R U E , \r m e m b e
0022560 r P r e f i x : " D e c o d e
0022600 r " L ] ; \r d e c o d e
0022620 C e l l _ P L A D e c o d e
0022640 r [ T R U E ] [ F A L S E ] ; \r
0022660 P L A D e c o d e r T o
0022700 p _ F i n d D C e l l [ \r
0022720 376 001 \0 222 \0 c e l l F a
0022740 m i l y : c e l l F a m i l y
0022760 , m e m b e r P r e f i x :
0023000 " D e c o d e r T o p " L ] ; \r
0023020 P L A D e c o d e r B o
0023040 t t o m _ F i n d D C e l l
0023060 [ \r c e l l F a m i
0023100 l y : c e l l F a m i l y ,
0023120 m e m b e r P r e f i x : " D
0023140 e c o d e r B o t t o m " L ] ;
0023160 \r P L A D e c o d e r L
0023200 e f t _ F i n d D C e l l [
0023220 \r c e l l F a m i l
0023240 y : c e l l F a m i l y , m
0023260 e m b e r P r e f i x : " D e
0023300 c o d e r L e f t " L , v C o
0023320 m p a t : d e c o 376 001 \0 253 237 d
0023340 e C e l l ] ; \r P L A D
0023360 e c o d e r T o p L e f t C o r
0023400 n e r _ F i n d C e l l [ \r
0023420 c e l l F a m i l y
0023440 : c e l l F a m i l y , m e
0023460 m b e r : " D e c o d e r T o
0023500 p L e f t C o r n e r " L ] ; \r
0023520 P L A D e c o d e r B o
0023540 t t o m L e f t C o r n e r _
0023560 F i n d C e l l [ \r
0023600 c e l l F a m i l y : c e l
0023620 l F a m i l y , m e m b e r :
0023640 " D e c o d e r B o t t o m L
0023660 e f t C o r n e r " L ] ; \r
0023700 P L A D a t a _ F i n d
0023720 D C e l l P r [ c e l l F a m 376
0023740 001 \0 243 g i l y : c e l l F a m
0023760 i l y , r e q u i r e d : T
0024000 R U E , \r m e m b e
0024020 r P r e f i x : " D a t a " L
0024040 ] ; \r d a t a C e l l
0024060 _ P L A D a t a [ F A L S E ]
0024100 [ F A L S E ] ; \r C h e
0024120 c k P i t c h C o m p a t a b i
0024140 l i t y [ d e c o d e C e l l ,
0024160 d a t a C e l l , v e r t i
0024200 c a l , [ 1 , 2 ] , [ 1 ,
0024220 1 ] ] ; \r P L A D e c
0024240 o d e r D a t a _ F i n d C
0024260 e l l [ \r c e l l F
0024300 a m i l y : c e l l F a m i l
0024320 y , m e m b e r : " D e c o
0024340 d e r D 376 001 \0 375 305 a t a " L ,
0024360 v C o m p a t : d a t a C e l
0024400 l ] ; \r P L A D e c o d
0024420 e r D a t a T o p _ F i n d
0024440 C e l l [ \r c e l l
0024460 F a m i l y : c e l l F a m i
0024500 l y , m e m b e r : " D e c
0024520 o d e r D a t a T o p " L , h
0024540 C o m p a t : P L A D e c o d
0024560 e r D a t a ] ; \r P L A
0024600 D e c o d e r D a t a B o t t o
0024620 m _ F i n d C e l l [ \r
0024640 c e l l F a m i l y :
0024660 c e l l F a m i l y , m e m b
0024700 e r : " D e c o d e r D a t a
0024720 B o t t o m " L , \r
0024740 h C o m p a t : 376 001 \0 t " P L
0024760 A D e c o d e r D a t a ] ; \r
0025000 P L A D a t a T o p _
0025020 F i n d D C e l l [ \r
0025040 c e l l F a m i l y : c e l
0025060 l F a m i l y , m e m b e r P
0025100 r e f i x : " D a t a T o p "
0025120 L , h C o m p a t : d a t a
0025140 C e l l ] ; \r - - P L A
0025160 D a t a B o t t o m _ F i n
0025200 d D C e l l [ \r - -
0025220 c e l l F a m i l y : c e l l
0025240 F a m i l y , m e m b e r P r
0025260 e f i x : " D a t a B o t t o
0025300 m " L ] ; \r P L A O u t
0025320 M u x _ F i n d D C e l l [
0025340 c e l l F a m i l y : c e 376 001
0025360 \0 D f l l F a m i l y , m e m
0025400 b e r P r e f i x : " O u t M
0025420 u x " L ] ; \r C h e c k
0025440 P i t c h C o m p a t a b i l i
0025460 t y [ d a t a C e l l , P L A
0025500 O u t M u x [ F A L S E ] , h
0025520 o r i z o n t a l , [ 1 , 1
0025540 ] , [ 1 , 1 ] ] ; \r
0025560 P L A D a t a R i g h t _ F
0025600 i n d C e l l [ \r c
0025620 e l l F a m i l y : c e l l F
0025640 a m i l y , m e m b e r : "
0025660 D a t a R i g h t " L , v C o
0025700 m p a t : d a t a C e l l ] ;
0025720 \r P L A D a t a T o p R
0025740 i g h t C o r n e r _ F i n
0025760 d C e 376 001 \0 311 \a l l [ \r
0026000 c e l l F a m i l y : c e
0026020 l l F a m i l y , m e m b e r
0026040 : " D a t a T o p R i g h t C
0026060 o r n e r " L ] ; \r P L
0026100 A D a t a B o t t o m R i g h t
0026120 C o r n e r _ F i n d C e l
0026140 l [ \r c e l l F a m
0026160 i l y : c e l l F a m i l y ,
0026200 m e m b e r : " D a t a B o
0026220 t t o m R i g h t C o r n e r "
0026240 L ] ; \r P L A D e c o d
0026260 e r L e f t G n d _ F i n d
0026300 C e l l [ \r c e l l
0026320 F a m i l y : c e l l F a m i
0026340 l y , m e m b e r : " D e c
0026360 o d e r L e f t 376 001 \0 202 364 G n d
0026400 " L ] ; \r P L A D e c o
0026420 d e r G n d _ F i n d C e l
0026440 l [ \r c e l l F a m
0026460 i l y : c e l l F a m i l y ,
0026500 m e m b e r : " D e c o d e
0026520 r G n d " L , v C o m p a t :
0026540 P L A D e c o d e r L e f t G
0026560 n d , h C o m p a t : d e c
0026600 o d e C e l l ] ; \r P L
0026620 A D e c o d e r D a t a G n d
0026640 _ F i n d C e l l [ \r
0026660 c e l l F a m i l y : c e
0026700 l l F a m i l y , m e m b e r
0026720 : " D e c o d e r D a t a G n
0026740 d " L , h C o m p a t : P L
0026760 A D e c o d e r D a t a ] 376 001 \0
0027000 327 277 ; \r P L A D a t a H
0027020 G n d _ F i n d C e l l [ \r
0027040 c e l l F a m i l y
0027060 : c e l l F a m i l y , m e
0027100 m b e r : " D a t a H G n d "
0027120 L , v C o m p a t : P L A D
0027140 e c o d e r G n d , h C o m p
0027160 a t : d a t a C e l l ] ; \r
0027200 P L A D a t a G n d _
0027220 F i n d C e l l [ \r
0027240 c e l l F a m i l y : c e l l
0027260 F a m i l y , m e m b e r :
0027300 " D a t a G n d " L , v C o m
0027320 p a t : P L A D a t a H G n d
0027340 ] ; \r P L A D a t a V G
0027360 n d _ F i n d C e l l [ \r
0027400 376 001 \0 u P c e l l F a
0027420 m i l y : c e l l F a m i l y
0027440 , m e m b e r : " D a t a V
0027460 G n d " L , v C o m p a t :
0027500 d a t a C e l l , h C o m p a
0027520 t : P L A D a t a G n d ] ; \r
0027540 P L A D a t a T o p G n
0027560 d _ F i n d C e l l [ \r
0027600 c e l l F a m i l y :
0027620 c e l l F a m i l y , m e m b
0027640 e r : " D a t a T o p G n d "
0027660 L , h C o m p a t : P L A D
0027700 a t a V G n d ] ; \r P L
0027720 A D a t a B o t t o m G n d _
0027740 F i n d C e l l [ \r
0027760 c e l l F a m i l y : c e l
0030000 l F a m i l y 376 001 \0 0 307 , m e
0030020 m b e r : " D a t a B o t t o
0030040 m G n d " L , h C o m p a t :
0030060 P L A D a t a V G n d ] ; \r
0030100 P L A D a t a R i g h t G
0030120 n d _ F i n d C e l l [ \r
0030140 c e l l F a m i l y :
0030160 c e l l F a m i l y , m e m
0030200 b e r : " D a t a R i g h t G
0030220 n d " L , v C o m p a t : P
0030240 L A D a t a H G n d ] ; \r
0030260 E N D ; \r \r F i n d C e l
0030300 l : P R O C E D U R E [ \r
0030320 c e l l F a m i l y : S
0030340 T R I N G , m e m b e r : S
0030360 T R I N G , r e q u i r e d :
0030400 B O O L E A N _ F 376 001 \0 235
0030420 ^ A L S E , \r v C o m p
0030440 a t : C e l l _ N I L ,
0030460 h C o m p a t : C e l l _
0030500 N I L ] R E T U R N S [ C e
0030520 l l ] = \r B E G I N
0030540 O P E N S t r i n g D e f s ;
0030560 \r s : S T R I N G _
0030600 [ 1 0 0 ] ; \r s . l e
0030620 n g t h _ 0 ; \r A p
0030640 p e n d S t r i n g [ t o : s
0030660 , f r o m : c e l l F a m i
0030700 l y ] ; \r A p p e n d S
0030720 t r i n g [ t o : s , f r o
0030740 m : m e m b e r ] ; \r
0030760 F O R c p : L O N G P O I
0031000 N T E R T O c L i s t _
0031020 c 376 001 \0 m G e l l L i s t , c
0031040 p . n x t W H I L E c p #
0031060 N I L D O \r I F
0031100 S t r i n g D e f s . E q u i
0031120 v a l e n t S t r i n g [ c p .
0031140 n a m e , s ] T H E N \r
0031160 B E G I N \r
0031200 c : C e l l _ c p
0031220 . o b ; \r I F
0031240 v C o m p a t # N I L T H
0031260 E N C h e c k P i t c h C o m
0031300 p a t a b i l i t y [ c , v C
0031320 o m p a t , v e r t i c a l ]
0031340 ; \r I F h C o
0031360 m p a t # N I L T H E N
0031400 C h e c k P i t c h C o m p a t
0031420 a b i l i t 376 001 \0 ` 340 y [ c ,
0031440 h C o m p a t , h o r i z o n
0031460 t a l ] ; \r R E
0031500 T U R N [ c ] ; \r
0031520 E N D ; \r E N D L
0031540 O O P ; \r I F r e q u
0031560 i r e d T H E N { E x p l a
0031600 i n [ " M i s s i n g c e l l
0031620 i n f a m i l y " L , s ]
0031640 ; S I G N A L P u n t } ; \r
0031660 R E T U R N [ N I L ] ;
0031700 \r E N D ; \r \r F i n
0031720 d D C e l l : P R O C E D U R
0031740 E [ \r c e l l F a m i
0031760 l y , m e m b e r P r e f i x
0032000 : S T R I N G , r e q u i r
0032020 e d : B O O L E A N 376 001 \0 001 034
0032040 _ F A L S E , \r v C
0032060 o m p a t : C e l l _ N I
0032100 L , h C o m p a t : C e l l
0032120 _ N I L ] R E T U R N S
0032140 [ d : D C e l l ] = \r
0032160 B E G I N O P E N S t r i
0032200 n g D e f s ; \r o r i g
0032220 i n a l L e n g t h : C A R D
0032240 I N A L _ m e m b e r P r e
0032260 f i x . l e n g t h ; \r
0032300 m e m b e r : S T R I N G _
0032320 [ 5 0 ] ; \r m e m b e
0032340 r . l e n g t h _ 0 ; \r
0032360 A p p e n d S t r i n g [ t
0032400 o : m e m b e r , f r o m :
0032420 m e m b e r P r e f i x ] ; \r
0032440 376 001 \0 276 l A p p e n d S
0032460 t r i n g [ t o : m e m b e r
0032500 , f r o m : " 0 " L ] ; \r
0032520 d [ F A L S E ] _ F i
0032540 n d C e l l [ c e l l F a m i l
0032560 y , m e m b e r , r e q u i
0032600 r e d , v C o m p a t , h C
0032620 o m p a t ] ; \r m e m b
0032640 e r . l e n g t h _ o r i g
0032660 i n a l L e n g t h ; \r
0032700 A p p e n d S t r i n g [ t o :
0032720 m e m b e r , f r o m : "
0032740 1 " L ] ; \r d [ T R U E
0032760 ] _ F i n d C e l l [ c e l
0033000 l F a m i l y , m e m b e r ,
0033020 r e q u i r e d , v C o m p
0033040 a t , h 376 001 \0 ~ 325 C o m p a t
0033060 ] ; \r I F v C o m p a
0033100 t # N I L O R h C o m p
0033120 a t # N I L \r \t T H E N C
0033140 h e c k P i t c h C o m p a t a
0033160 b i l i t y [ d [ F A L S E ] ,
0033200 d [ T R U E ] , d i a g o n
0033220 a l ] ; \r E N D ; -
0033240 - o f F i n d D C e l l \r \r
0033260 F i n d D C e l l P r : P
0033300 R O C E D U R E [ \r c
0033320 e l l F a m i l y , m e m b e
0033340 r P r e f i x : S T R I N G ,
0033360 r e q u i r e d : B O O L E
0033400 A N _ F A L S E , \r
0033420 v C o m p a t : C e l l _
0033440 N I L , h C o m p 376 001 \0 265 ( a
0033460 t : C e l l _ N I L ] R
0033500 E T U R N S [ p : D C e l l
0033520 P r ] = \r B E G I N
0033540 O P E N S t r i n g D e f s ;
0033560 \r o r i g i n a l L e n
0033600 g t h : C A R D I N A L _
0033620 m e m b e r P r e f i x . l e n
0033640 g t h ; \r m e m b e r :
0033660 S T R I N G _ [ 5 0 ] ; \r
0033700 m e m b e r . l e n g t
0033720 h _ 0 ; \r A p p e n
0033740 d S t r i n g [ t o : m e m b
0033760 e r , f r o m : m e m b e r
0034000 P r e f i x ] ; \r A p p
0034020 e n d S t r i n g [ t o : m e
0034040 m b e r , f r o m : " 0 " 376
0034060 001 \0 027 327 L ] ; \r p [ F A
0034100 L S E ] _ F i n d D C e l l
0034120 [ c e l l F a m i l y , m e m
0034140 b e r , r e q u i r e d , v
0034160 C o m p a t , h C o m p a t ]
0034200 ; \r m e m b e r . l e n
0034220 g t h _ o r i g i n a l L e
0034240 n g t h ; \r A p p e n d
0034260 S t r i n g [ t o : m e m b e
0034300 r , f r o m : " 1 " L ] ; \r
0034320 p [ T R U E ] _ F i
0034340 n d D C e l l [ c e l l F a m i
0034360 l y , m e m b e r , r e q u
0034400 i r e d , v C o m p a t , h
0034420 C o m p a t ] ; \r I F
0034440 v C o m p a t # N I L O R
0034460 h C o 376 001 \0 226 212 m p a t #
0034500 N I L \r \t T H E N C h e c k P
0034520 i t c h C o m p a t a b i l i t
0034540 y [ p [ F A L S E ] [ F A L S E
0034560 ] , p [ T R U E ] [ F A L S E
0034600 ] , d i a g o n a l ] ; \r
0034620 E N D ; - - o f F i
0034640 n d D C e l l \r \r C h e c k
0034660 P i t c h C o m p a t a b i l i
0034700 t y : P R O C E D U R E [ \r
0034720 c 1 , c 2 : C e l l
0034740 , d i r : D i r e c t i o n
0034760 , r e p 1 : P o i n t _
0035000 [ 1 , 1 ] , r e p 2 : P o
0035020 i n t _ [ 1 , 1 ] ] = \r
0035040 B E G I N O P E N S
0035060 t r i n g D e f s 376 001 \0 325 * ; \r
0035100 \r F i n d C e l l N a m
0035120 e : P R O C E D U R E [ c :
0035140 C e l l ] R E T U R N S [
0035160 S T R I N G ] = \r
0035200 B E G I N \r F O R
0035220 c p : L O N G P O I N T E R
0035240 T O c L i s t _ c e l l
0035260 L i s t , c p . n x t W H I
0035300 L E c p # N I L D O \r
0035320 I F c = c p
0035340 . o b T H E N R E T U R N [
0035360 c p . n a m e ] E N D L O O P
0035400 ; \r R E T U R N [ "
0035420 " ] ; \r E N D ; \r \r
0035440 I F S t e p P [ , c
0035460 1 , d i r , r e p 1 ] 376 001
0035500 \0 210 f # S t e p P [ , c 2 ,
0035520 d i r , r e p 2 ] T H E N
0035540 \r B E G I N \r
0035560 c e l l N a m e s : S T
0035600 R I N G _ [ 5 0 ] ; \r
0035620 c e l l N a m e s . l e n
0035640 g t h _ 0 ; \r A
0035660 p p e n d S t r i n g [ t o :
0035700 c e l l N a m e s , f r o m :
0035720 F i n d C e l l N a m e [ c 1
0035740 ] ] ; \r A p p e n d
0035760 S t r i n g [ t o : c e l l N
0036000 a m e s , f r o m : " -
0036020 " L ] ; \r A p p e n
0036040 d S t r i n g [ t o : c e l l
0036060 N a m e s , f r o m : F i n
0036100 d C e 376 001 \0 201 003 l l N a m e [ c
0036120 2 ] ] ; \r S E L E C
0036140 T d i r F R O M \r
0036160 v e r t i c a l , u p ,
0036200 d o w n = > \r
0036220 E x p l a i n [ " I n c o
0036240 m p a t i b l e c e l l v e
0036260 r t i c a l p i t c h e s " L
0036300 , c e l l N a m e s ] ; \r
0036320 h o r i z o n t a l
0036340 , l e f t , r i g h t = >
0036360 \r E x p l a
0036400 i n [ " I n c o m p a t i b l e
0036420 c e l l h o r i z o n t a l
0036440 p i t c h e s " L , c e l l
0036460 N a m e s ] ; \r
0036500 E N D C A S E 376 001 \0 213 232 = >
0036520 E x p l a i n [ " I n c o m p a
0036540 t i b l e c e l l s i z e s
0036560 " L , c e l l N a m e s ] ; \r
0036600 S I G N A L P u n
0036620 t ; \r E N D ; \r
0036640 E N D ; - - o f C h
0036660 e c k P i t c h C o m p a t a b
0036700 i l i t y \r \r R e p l i c a
0036720 t e : P R O C E D U R E [ c
0036740 : C e l l , p : P o i n t
0036760 , n : C A R D I N A L _
0037000 1 , d i r : D i r e c t i o
0037020 n _ d o w n ] \r R E
0037040 T U R N S [ P o i n t ] = \r
0037060 B E G I N \r I F
0037100 c = N I L T H E N 376 001 \0
0037120 016 346 R E T U R N [ p ] ; -
0037140 - n o c e l l \r F O
0037160 R i : C A R D I N A L I N
0037200 [ 0 . . n ) D O \r
0037220 S E L E C T d i r F R O M
0037240 \r v e r t i c a
0037260 l , d o w n , h o r i z o n
0037300 t a l , r i g h t = > \r
0037320 B E G I N \r
0037340 l p p _ i n
0037360 s e r t L i s t [ l p p , m a
0037400 k e L i s t [ c . p . a n o t h
0037420 e r m e [ c ] , p . x , p .
0037440 y , 0 , 0 ] ] ; \r
0037460 p _ S t e p P [ p
0037500 , c , d i r ] ; \r
0037520 376 001 \0 210 320 E N D ; \r
0037540 l e f t , u p
0037560 = > \r B E G
0037600 I N \r p _
0037620 S t e p P [ p , c , d i r
0037640 ] ; \r l p p
0037660 _ i n s e r t L i s t [ l p
0037700 p , m a k e L i s t [ c . p .
0037720 a n o t h e r m e [ c ] , p .
0037740 x , p . y , 0 , 0 ] ] ; \r
0037760 E N D ; \r
0040000 E N D C A S E =
0040020 > N U L L ; \r E N
0040040 D L O O P ; \r R E T U R
0040060 N [ p ] ; \r E N D ; \r \r
0040100 R e p l i c a t e E v e n O
0040120 d d : P R O 376 001 \0 267 301 C E D U
0040140 R E [ d : D C e l l , p :
0040160 P o i n t , n : C A R D I
0040200 N A L , d i r : D i r e c t
0040220 i o n ] \r R E T U R N S
0040240 [ P o i n t ] = \r B
0040260 E G I N \r I F d [ F A
0040300 L S E ] = N I L A N D d
0040320 [ T R U E ] = N I L T H E
0040340 N R E T U R N [ p ] ; - -
0040360 n o c e l l s \r F O
0040400 R i : C A R D I N A L I N
0040420 [ 0 . . n ) D O \r
0040440 I F d [ i M O D 2 =
0040460 0 ] # N I L T H E N S E L E
0040500 C T d i r F R O M \r
0040520 v e r t i c a l 376 001 \0 o
0040540 m , d o w n , h o r i z o n
0040560 t a l , r i g h t = > \r
0040600 B E G I N \r
0040620 l p p _ i n
0040640 s e r t L i s t [ l p p , m a
0040660 k e L i s t [ d [ i M O D 2
0040700 = 0 ] . p . a n o t h e r m
0040720 e [ d [ i M O D 2 = 0 ]
0040740 ] , p . x , p . y , 0 ,
0040760 0 ] ] ; \r p
0041000 _ S t e p P [ p , d [ i
0041020 M O D 2 = 0 ] , d i r ]
0041040 ; \r E N D ;
0041060 \r l e f t , u
0041100 p = > \r B
0041120 E G I N \r p
0041140 376 001 \0 r ( _ S t e p P [ p ,
0041160 d [ i M O D 2 = 0 ] ,
0041200 d i r ] ; \r
0041220 l p p _ i n s e r t L i s
0041240 t [ l p p , m a k e L i s t [
0041260 d [ i M O D 2 = 0 ] . p
0041300 . a n o t h e r m e [ d [ i M
0041320 O D 2 = 0 ] ] , p . x ,
0041340 p . y , 0 , 0 ] ] ; \r
0041360 E N D ; \r
0041400 E N D C A S E = >
0041420 N U L L \r E L S E
0041440 p _ S t e p P [ p , d [ N
0041460 O T ( i M O D 2 = 0 ) ]
0041500 , d i r ] ; \r E N
0041520 D L O O P ; \r R E T U R
0041540 N [ p ] ; \r 376 001 \0 @ % E
0041560 N D ; \r \r S t e p P : P R
0041600 O C E D U R E [ \r p :
0041620 P o i n t _ [ 0 , 0 ] ,
0041640 c : C e l l , d i r : D
0041660 i r e c t i o n , r e p : P
0041700 o i n t _ [ 1 , 1 ] ] \r
0041720 R E T U R N S [ P o i n
0041740 t ] = \r B E G I N \r
0041760 I F c = N I L T H
0042000 E N R E T U R N [ p ] \r
0042020 E L S E \r S E L E
0042040 C T d i r F R O M \r
0042060 u p = > R E T U R N
0042100 [ [ p . x , p . y - r e p
0042120 . y * c . s i z e [ 1 ] ] ] ; \r
0042140 v e r 376 001 \0 374 203
0042160 t i c a l , d o w n = > R
0042200 E T U R N [ [ p . x , p . y
0042220 + r e p . y * c . s i z e [ 1
0042240 ] ] ] ; \r h o r
0042260 i z o n t a l , r i g h t =
0042300 > R E T U R N [ [ p . x +
0042320 r e p . x * c . s i z e [ 0 ] ,
0042340 p . y ] ] ; \r
0042360 l e f t = > R E T U R N [ [
0042400 p . x - r e p . x * c . s i
0042420 z e [ 0 ] , p . y ] ] ; \r
0042440 u p A n d L e f t
0042460 = > R E T U R N [ [ p . x -
0042500 r e p . x * c . s i z e [ 0 ]
0042520 , p . y - r e p . y * c .
0042540 s i z e [ 1 ] ] ] ; \r
0042560 376 001 \0 264 % u p A n d R i g
0042600 h t = > R E T U R N [ [ p .
0042620 x - r e p . x * c . s i z e
0042640 [ 0 ] , p . y + r e p . y
0042660 * c . s i z e [ 1 ] ] ] ; \r
0042700 d o w n A n d L e f
0042720 t = > R E T U R N [ [ p . x
0042740 - r e p . x * c . s i z e [
0042760 0 ] , p . y + r e p . y *
0043000 c . s i z e [ 1 ] ] ] ; \r
0043020 E N D C A S E - -
0043040 d o w n A n d R i g h t , d i
0043060 a g o n a l - - = > \r
0043100 R E T U R N [ [ p
0043120 . x + r e p . x * c . s i z
0043140 e [ 0 ] , p . y + r e p .
0043160 y * c . s 376 001 \0 224 270 i z e [ 1 ]
0043200 ] ] ; \r E N D ; \r \r
0043220 H a l f : P R O C E D U R E
0043240 [ x : C A R D I N A L ] R E
0043260 T U R N S [ C A R D I N A L ]
0043300 = I N L I N E { R E T U R
0043320 N [ ( x + 1 ) / 2 ] } ; \r \r
0043340 M a k e N e w C e l l : P
0043360 R O C E D U R E [ n a m e :
0043400 S T R I N G , l p p : L O N
0043420 G P O I N T E R T O l i s
0043440 t ] \r R E T U R N S [
0043460 c p : L O N G P O I N T E R
0043500 T O c L i s t ] = \r
0043520 B E G I N \r m i n :
0043540 P o i n t _ [ L A S T [ l o
0043560 c N u m ] , L A S 376 001 \0 267 % T
0043600 [ l o c N u m ] ] ; \r m
0043620 a x : P o i n t _ [ F I R
0043640 S T [ l o c N u m ] , F I R S
0043660 T [ l o c N u m ] ] ; \r
0043700 F O R l p : L O N G P O I
0043720 N T E R T O l i s t _ l
0043740 p p , l p . n x t W H I L E
0043760 l p # N I L D O \r
0044000 i i : [ 0 . . 1 ] _
0044020 I F I n l i n e D e f s . B I
0044040 T A N D [ l p . i d x , 4 ]
0044060 = 0 T H E N 0 E L S E
0044100 1 ; \r m i n _ [
0044120 M I N [ m i n . x , l p . l x
0044140 ] , M I N [ m i n . y , l p
0044160 . l y ] ] ; \r m a 376
0044200 001 \0 \t 367 x _ [ \r
0044220 M A X [ m a x . x , l p .
0044240 l x + l p . o b . s i z e [
0044260 i i ] ] , M A X [ \r
0044300 m a x . y , l p . l y
0044320 + l p . o b . s i z e [ i i
0044340 + 1 ] ] ] ; \r E N
0044360 D L O O P ; \r F O R l
0044400 p : L O N G P O I N T E R
0044420 T O l i s t _ l p p , l
0044440 p . n x t W H I L E l p #
0044460 N I L D O \r l p
0044500 . l x _ l p . l x - m i
0044520 n . x ; l p . l y _ l p .
0044540 l y - m i n . y ; l p . s
0044560 e l e c t e d _ F A L S E ;
0044600 E N D 376 001 \0 261 356 L O O P ; \r
0044620 c p _ a l o c C L i s
0044640 t [ ] ; \r c p . n x t
0044660 _ c e l l L i s t ; \r
0044700 c e l l L i s t _ c p ; \r
0044720 c p . o b _ m a k e C
0044740 e l l [ m a x . x - m i n .
0044760 x , m a x . y - m i n . y
0045000 , 0 , l p p ] ; \r c
0045020 p . n a m e _ n a m e ; \r
0045040 E N D ; - - o f M
0045060 a k e N e w C e l l \r \r D r
0045100 a w C e l l : P R O C E D U R
0045120 E [ o b p : L O N G P O I
0045140 N T E R T O o b j e c t ]
0045160 = \r B E G I N \r
0045200 l p : L O N G 376 001 \0 272 002 P O
0045220 I N T E R T O l i s t _
0045240 m a k e L i s t [ o b p . p . a
0045260 n o t h e r m e [ o b p ] , x
0045300 x , y y , 0 , 0 ] ; \r
0045320 o b p . r e t u r n a b l e
0045340 _ F A L S E ; \r m a
0045360 s t e r L i s t _ i n s e r
0045400 t L i s t [ m a s t e r L i s t
0045420 , l p ] ; \r a n y C h
0045440 a n g e s _ s i n c e I O c
0045460 h a n g e s _ T R U E ; \r
0045500 s e l N e w T h i n g [ m
0045520 a s t e r L i s t , l p , T
0045540 R U E ] ; \r p u t M a r
0045560 k [ x x , y y ] ; \r r
0045600 e D r a w R e c t [ g e t R 376 001
0045620 \0 305 337 e c t [ l p ] , 0 , T
0045640 R U E , T R U E , F A L S E
0045660 ] ; \r E N D ; - -
0045700 o f D r a w C e l l \r \r E
0045720 x p l a i n : P R O C E D U R
0045740 E [ w h y , e x p l a n a t
0045760 i o n : S T R I N G ] = \r
0046000 B E G I N \r I F
0046020 e x p l a n a t i o n = N I
0046040 L T H E N e x p l a n a t i
0046060 o n _ " " L ; \r [ ]
0046100 _ t y p e I n C [ " C a n '
0046120 t r u n P L A m a k e r [
0046140 C o n f i r m ] " L , w h y ,
0046160 e x p l a n a t i o n ] \r
0046200 E N D ; \r \r F i x E x t
0046220 e n s 376 001 \0 024 210 i o n : P R O
0046240 C E D U R E [ s , e x t :
0046260 S T R I N G ] R E T U R N S
0046300 [ s e : S T R I N G ] = \r
0046320 B E G I N \r F O R
0046340 i : C A R D I N A L I N
0046360 [ 0 . . s . l e n g t h ) D O
0046400 I F s [ i ] = ' . T H
0046420 E N R E T U R N [ s ] E N D
0046440 L O O P ; \r s e _ G
0046460 e t S t r i n g [ s . l e n g t
0046500 h + e x t . l e n g t h ] ;
0046520 \r S t r i n g D e f s .
0046540 A p p e n d S t r i n g [ t o :
0046560 s e , f r o m : s ] ; \r
0046600 S t r i n g D e f s . A p
0046620 p e n d S t r i 376 001 \0 033 275 n g [
0046640 t o : s e , f r o m : e x
0046660 t ] ; \r F r e e S t r i
0046700 n g [ s ] ; \r E N D ; \r
0046720 \r R e q u e s t S t r i n g
0046740 : P R O C E D U R E [ s 1 :
0046760 S T R I N G _ N I L , s 2
0047000 : S T R I N G _ N I L ,
0047020 s 3 : S T R I N G _ N I L
0047040 ] \r R E T U R N S [ s R
0047060 e s u l t : S T R I N G ] =
0047100 \r B E G I N \r o
0047120 k : B O O L E A N ; \r
0047140 [ o k , s R e s u l t , ]
0047160 _ t y p e I n [ \r
0047200 I F s 1 # N I L T H E N s
0047220 1 E L S E " " L , \r 376 001 \0
0047240 a 226 I F s 2 # N I L
0047260 T H E N s 2 E L S E " "
0047300 L , \r I F s 3 # N
0047320 I L T H E N s 3 E L S E
0047340 " " L ] ; \r I F N O T
0047360 o k T H E N S I G N A L
0047400 P u n t ; \r E N D ; \r \r
0047420 R e q u e s t I n t e g e r
0047440 : P R O C E D U R E [ s 1 :
0047460 S T R I N G _ N I L , s 2
0047500 : S T R I N G _ N I L ] \r
0047520 R E T U R N S [ I N T E
0047540 G E R ] = \r B E G I N
0047560 \r D O \r s :
0047600 S T R I N G _ R e q u e s
0047620 t S t r i n g [ s 1 , s 2 ] ;
0047640 \r 376 001 \0 306 212 n : I
0047660 N T E G E R _ S t r i n g D
0047700 e f s . S t r i n g T o D e c i
0047720 m a l [ s : s \r
0047740 ! S t r i n g D e f s . I n
0047760 v a l i d N u m b e r = > {
0050000 F r e e S t r i n g [ s ] ; L
0050020 O O P } ] ; \r F r e
0050040 e S t r i n g [ s ] ; \r
0050060 R E T U R N [ n ] ; \r
0050100 E N D L O O P ; \r
0050120 E N D ; \r \r l a y d o w n T
0050140 o p : P R O C E D U R E [ p
0050160 : P o i n t _ [ 0 , 0 ]
0050200 ] R E T U R N S [ h p : P
0050220 o i n t ] = \r B E G I
0050240 N \r O 376 001 \0 253 N r B ,
0050260 k : C A R D I N A L ; \r
0050300 f l a g : B O O L E A N _
0050320 T R U E ; \r \r - - p
0050340 l a c e t h e t o p l e f
0050360 t c o r n e r c e l l , l
0050400 e a v e m a r k a t b o t
0050420 t o m r i g h t c o r n e r
0050440 \r h p _ S t e p P [
0050460 S t e p P [ p , P L A D e c o
0050500 d e r D a t a T o p , d o w n
0050520 ] , P L A D e c o d e r T o p
0050540 L e f t C o r n e r , u p ] ;
0050560 \r h p _ R e p l i c
0050600 a t e [ P L A D e c o d e r T o
0050620 p L e f t C o r n e r , h p ,
0050640 1 , r i g h t ] ; \r 376 001 \0 227
0050660 356 h p _ S t e p P [
0050700 h p , P L A D e c o d e r T o
0050720 p L e f t C o r n e r , d o w
0050740 n ] ; \r \r - - p l a c
0050760 e t h e d e c o d e r c e
0051000 l l s , l e a v e m a r k
0051020 a t b o t t o m r i g h t
0051040 c o r n e r \r F O R k
0051060 I N [ 0 . . i n C o u n t )
0051100 D O \r \t f l a g _ i n p u
0051120 t L i s t [ k ] . T o p B o t t
0051140 o m = b o t t o m ; \r \t h p _
0051160 S t e p P [ h p , P L A D e
0051200 c o d e r T o p [ f l a g ] ,
0051220 u p ] ; \r \t h p _ R e p l i
0051240 c a t e [ P L A D e c o d e r T
0051260 o 376 001 \0 ^ W p [ f l a g ] , h
0051300 p , 1 , r i g h t ] ; \r \t h
0051320 p _ S t e p P [ h p , P L
0051340 A D e c o d e r T o p [ f l a g
0051360 ] , d o w n ] ; \r
0051400 E N D L O O P ; \r \r - -
0051420 p l a c e t h e i n t e r
0051440 f a c e c e l l b e t w e e
0051460 n t h e A N D a n d O R
0051500 p l a n e s \r h p _
0051520 S t e p P [ h p , P L A D e
0051540 c o d e r D a t a T o p , u p
0051560 ] ; \r h p _ R e p l
0051600 i c a t e [ P L A D e c o d e r
0051620 D a t a T o p , h p , 1 ,
0051640 r i g h t ] ; \r h p _
0051660 S t e p P 376 001 \0 o 003 [ h p ,
0051700 P L A D e c o d e r D a t a T o
0051720 p , d o w n ] ; \r \r -
0051740 - p l a c e t h e d a t a
0051760 c e l l s , l e a v e m a
0052000 r k a t b o t t o m r i g
0052020 h t c o r n e r \r O r
0052040 B _ 0 ; \r F O R k
0052060 I N [ 0 . . o u t C o u n t
0052100 ) D O \r \t f l a g _ o u t
0052120 p u t L i s t [ k ] . T o p B o
0052140 t t o m = b o t t o m ; \r \t h p
0052160 _ S t e p P [ h p , P L A
0052200 D a t a T o p [ f l a g ] , u
0052220 p ] ; \r \t h p _ R e p l i c
0052240 a t e [ P L A D a t a T o p [ f
0052260 l a g ] , h p , 1 376 001 \0 m ~
0052300 , r i g h t ] ; \r \t h p _
0052320 S t e p P [ h p , P L A D a t
0052340 a T o p [ f l a g ] , d o w n
0052360 ] ; \r \t O r B _ O r B +
0052400 1 ; \r \t I F ( O r B = b o
0052420 i s t C o u n t ) A N D ( o
0052440 u t C o u n t - k ) > m
0052460 i n B o i s t S p a c e \r \t
0052500 T H E N B E G I N \r \t \t O r
0052520 B _ 0 ; \r \t \t h p _ S t
0052540 e p P [ h p , P L A D a t a T
0052560 o p G n d , u p ] ; \r \t \t h p
0052600 _ R e p l i c a t e [ P L A
0052620 D a t a T o p G n d , h p ,
0052640 1 , r i g h t ] ; \r \t \t h p
0052660 _ S t e p P [ h p , P L A D
0052700 376 001 \0 g b a t a T o p G n d ,
0052720 d o w n ] ; \r \t E N
0052740 D ; \r E N D L O O P
0052760 ; \r \r - - p l a c e
0053000 t o p r i g h t c o r n e r
0053020 c e l l , l e a v e m a r
0053040 k a t l e f t b o t t o m
0053060 o f r o w \r h p _
0053100 S t e p P [ h p , P L A D a
0053120 t a T o p R i g h t C o r n e r
0053140 , u p ] ; \r h p _
0053160 R e p l i c a t e [ P L A D a t
0053200 a T o p R i g h t C o r n e r ,
0053220 h p , 1 , r i g h t ] ; \r
0053240 h p _ S t e p P [ p
0053260 , P L A D e c o d e r D a t a
0053300 T o p , 376 001 \0 t 220 d o w n ] ;
0053320 \r \r E N D ; \r \r \r l
0053340 a y d o w n B o d y : P R O C
0053360 E D U R E [ p : P o i n t
0053400 _ [ 0 , 0 ] ] R E T U R N
0053420 S [ h p : P o i n t ] = \r
0053440 \r B E G I N \r i
0053460 , j , k : C A R D I N A L
0053500 _ 0 ; \r A n d B ,
0053520 O r B : C A R D I N A L _
0053540 0 ; \r P T , P T 0 ,
0053560 P T 1 : P T e r m L i n k ; \r
0053600 f l a g : B O O L E A
0053620 N _ T R U E ; \r \r F
0053640 O R i I N h a s h I n d e
0053660 x D O \r F O R P
0053700 T _ h a s h P T 376 001 \0 + 266 e
0053720 r m [ i ] , P T . n e x t U
0053740 N T I L P T = N I L D O \r \r
0053760 \t h p _ p ; \r \t j _ j
0054000 + 1 ; \r \r \t - - l a y d o w
0054020 n t h e D e c o d e r P u
0054040 l l u p \r \t h p _ R e p l i
0054060 c a t e [ P L A D e c o d e r L
0054100 e f t [ f l a g ] , h p , 1
0054120 , r i g h t ] ; \r \r \t - - l
0054140 a y d o w n t h e p r o d u
0054160 c t t e r m i n p u t s \r \t
0054200 F O R k I N [ 0 . . i n C
0054220 o u n t ) D O \r \t S E L E
0054240 C T P T . i n p u t . t e r m
0054260 [ k ] F R O M \r \t A s
0054300 s e r t = > \r \t \t h p _ 376
0054320 001 \0 336 343 R e p l i c a t e [ P L
0054340 A D e c o d e r [ T R U E ] [ F
0054360 A L S E ] , h p , 1 , r i
0054400 g h t ] ; \r \t I n v e r
0054420 t = > \r \t \t h p _ R e p l
0054440 i c a t e [ P L A D e c o d e r
0054460 [ F A L S E ] [ T R U E ] , h
0054500 p , 1 , r i g h t ] ; \r \t
0054520 A b s e n t = > \r \t \t h
0054540 p _ R e p l i c a t e [ P L
0054560 A D e c o d e r [ F A L S E ] [
0054600 F A L S E ] , h p , 1 , r
0054620 i g h t ] ; \r \t E N D C A
0054640 S E ; \r \t E N D L O O P ; \r \t I
0054660 F f l a g \r \t T H E N
0054700 P T 0 _ P T \r \t E
0054720 L S E 376 001 \0 224 H P T 1 _ P
0054740 T ; \r \r \t - - l a y d o w n
0054760 t h e O R p l a n e i n
0055000 p a i r s \r \t f l a g _ N O
0055020 T f l a g ; \r \t I F f l a g
0055040 T H E N B E G I N \r \r \t
0055060 - - l a y d o w n t h e
0055100 i n t e r f a c e b l o c k \r
0055120 \t h p _ S t e p P [ h
0055140 p , P L A D e c o d e r [ F A
0055160 L S E ] [ F A L S E ] , u p ]
0055200 ; \r \t h p _ R e p l i
0055220 c a t e [ P L A D e c o d e r D
0055240 a t a , h p , 1 , r i g h
0055260 t ] ; \r \r \t - - l a y d
0055300 o w n t h e o u t p u t s
0055320 t h a t t h e 376 001 \0 e 272 p r
0055340 o d u c t t e r m d r i v e
0055360 s \r \t O r B _ 0 ; \r \t
0055400 F O R k I N [ 0 . .
0055420 o u t C o u n t ) D O \r \t
0055440 h p _ R e p l i c a t
0055460 e [ P L A D a t a [ P T 1 . o u
0055500 t p u t . t e r m [ k ] = A s s
0055520 e r t ] \r \t \t \t [ P T 0 .
0055540 o u t p u t . t e r m [ k ] = A
0055560 s s e r t ] , h p , 1 , r
0055600 i g h t ] ; \r \t O r B
0055620 _ O r B + 1 ; \r \t
0055640 I F O r B = b o i s t
0055660 C o u n t A N D ( o u t C o
0055700 u n t - k ) > m i n B o i s
0055720 t S p a c e \r \t 376 001
0055740 \0 _ 222 T H E N B E G I N \r \t
0055760 \t h p _ R e p l i c a t e
0056000 [ P L A D a t a V G n d , h p
0056020 , 1 , r i g h t ] ; \r \t \t
0056040 O r B _ 0 ; \r \t \t E N D ; \r
0056060 \t E N D L O O P ; \r \r
0056100 \t - - l a y d o w n t
0056120 h e r i g h t e n d c e l
0056140 l \r \t h p _ R e p l i
0056160 c a t e [ P L A D a t a R i g h
0056200 t , h p , 1 , r i g h t ]
0056220 ; \r \r \t E N D ; \r \r \t - -
0056240 S t e p d o w n t o t h e
0056260 n e w l a y e r \r \t p _
0056300 S t e p P [ p , P L A D e c
0056320 o d e r [ F A L S E ] [ F A L S
0056340 E ] , 376 001 \0 $ 225 d o w n ] ; \r
0056360 \r \t - - l a y d o w n t h
0056400 e b o i s t e r s t r i p
0056420 e v e r y b o i s t C o u n t
0056440 l a y e r s \r \t A n d B _
0056460 A n d B + 1 ; \r \t I F
0056500 A n d B = b o i s t C o u n
0056520 t A N D ( P T e r m C o u n
0056540 t - j ) > m i n B o i s
0056560 t S p a c e \r \t T H E N
0056600 B E G I N \r \t \t A n d B _
0056620 0 ; \r \t \t h p _ R e p l i c
0056640 a t e [ P L A D e c o d e r L e
0056660 f t G n d , p , 1 , r i g
0056700 h t ] ; \r \t \t F O R k I N
0056720 [ 0 . . i n C o u n t ) D
0056740 O \r \t \t h p 376 001 \0 255 266 _
0056760 R e p l i c a t e [ P L A D e c
0057000 o d e r G n d , h p , 1 ,
0057020 r i g h t ] ; \r \t \t E N D L O
0057040 O P ; \r \t \t h p _ R e p l i
0057060 c a t e [ P L A D e c o d e r D
0057100 a t a G n d , h p , 1 , r
0057120 i g h t ] ; \r \t \t O r B _ 0
0057140 ; \r \t \t F O R k I N [ 0 .
0057160 . o u t C o u n t ) D O \r \t \t
0057200 h p _ R e p l i c a t
0057220 e [ P L A D a t a H G n d , h
0057240 p , 1 , r i g h t ] ; \r \t \t
0057260 O r B _ O r B + 1
0057300 ; \r \t \t I F ( O r B =
0057320 b o i s t C o u n t ) A N D
0057340 ( o u t C o u n t - k ) 376 001 \0
0057360 027 356 > m i n B o i s t S p a
0057400 c e \r \t \t T H E N B
0057420 E G I N \r \t \t \t h p _ R e p
0057440 l i c a t e [ P L A D a t a G n
0057460 d , h p , 1 , r i g h t ]
0057500 ; \r \t \t \t O r B _ 0 ; \r \t \t
0057520 E N D ; \r \t \t
0057540 E N D L O O P ; \r \t \t h p _
0057560 R e p l i c a t e [ P L A D a t
0057600 a R i g h t G n d , h p , 1
0057620 , r i g h t ] ; \r \t \t p _
0057640 S t e p P [ p , P L A D e c o
0057660 d e r L e f t G n d , d o w n
0057700 ] ; \r \t E N D ; \r \r
0057720 E N D L O O P ; \r E
0057740 N D L O O P ; \r \r - - c
0057760 h e 376 001 \0 265 M c k f o r o d
0060000 d n u m b e r o f p r o d
0060020 u c t t e r m s a n d f i
0060040 n i s h l a y o u t \r
0060060 - - i f n e c e s s a r y \r
0060100 I F N O T f l a g T
0060120 H E N B E G I N \r \r \t - - l
0060140 a y d o w n a N U L L A N
0060160 D t e r m r o w \r \t h p _
0060200 p ; \r \t h p _ R e p l i c
0060220 a t e [ P L A D e c o d e r L e
0060240 f t [ f l a g ] , h p , 1 ,
0060260 r i g h t ] ; \r \t h p _ R
0060300 e p l i c a t e [ P L A D e c o
0060320 d e r [ F A L S E ] [ F A L S E
0060340 ] , h p , i n C o u n t ,
0060360 r i g h t ] ; 376 001 \0 [ 236 \r \r \t -
0060400 - l a y d o w n t h e i n
0060420 t e r f a c e b l o c k \r \t
0060440 h p _ S t e p P [ h p ,
0060460 P L A D e c o d e r [ F A L S
0060500 E ] [ F A L S E ] , u p ] ; \r
0060520 \t h p _ R e p l i c a
0060540 t e [ P L A D e c o d e r D a t
0060560 a , h p , 1 , r i g h t ]
0060600 ; \r \r \t - - l a y d o w
0060620 n t h e o u t p u t s t h
0060640 a t t h e p r o d u c t t
0060660 e r m d r i v e s \r \t O
0060700 r B _ 0 ; \r \t F O R
0060720 k I N [ 0 . . o u t C o u n
0060740 t ) D O \r \t h p _
0060760 R e p l i c a t e [ P 376 001 \0 341
0061000 Y L A D a t a [ F A L S E ] \r \t
0061020 \t \t [ P T 0 . o u t p u t
0061040 . t e r m [ k ] = A s s e r t ]
0061060 , h p , 1 , r i g h t ] ;
0061100 \r \t O r B _ O r B
0061120 + 1 ; \r \t I F O
0061140 r B = b o i s t C o u n t
0061160 A N D ( o u t C o u n t - k )
0061200 > m i n B o i s t S p a c e
0061220 \r \t T H E N B E
0061240 G I N \r \t \t h p _ R e p l
0061260 i c a t e [ P L A D a t a V G n
0061300 d , h p , 1 , r i g h t ]
0061320 ; \r \t \t O r B _ 0 ; \r \t \t
0061340 E N D ; \r \t E N D L O
0061360 O P ; \r \r \t - - l a y d
0061400 o 376 001 \0 \b \a w n t h e r i g
0061420 h t e n d c e l l \r \t
0061440 h p _ R e p l i c a t e [ P
0061460 L A D a t a R i g h t , h p ,
0061500 1 , r i g h t ] ; \r \r \t
0061520 - - S t e p d o w n t o
0061540 t h e n e w l a y e r \r \t
0061560 p _ S t e p P [ p ,
0061600 P L A D e c o d e r [ F A L S E
0061620 ] [ F A L S E ] , d o w n ] ;
0061640 \r \r \t E N D ; \r \r h p
0061660 _ p ; \r \r E N D ; \r \r
0061700 l a y d o w n B o t t o m :
0061720 P R O C E D U R E [ p : P
0061740 o i n t _ [ 0 , 0 ] ] R
0061760 E T U R N S [ h p : P o i n
0062000 t ] = \r \r 376 001 \0 033 251 B
0062020 E G I N \r O r B , k
0062040 : C A R D I N A L _ 0 ; \r
0062060 f l a g : B O O L E
0062100 A N _ T R U E ; \r \r
0062120 h p _ p ; \r h p
0062140 _ R e p l i c a t e [ P L A
0062160 D e c o d e r B o t t o m L e f
0062200 t C o r n e r , h p , 1 ,
0062220 r i g h t ] ; \r F O R
0062240 k I N [ 0 . . i n C o u n
0062260 t ) D O \r \t f l a g _ i n
0062300 p u t L i s t [ k ] . T o p B o
0062320 t t o m = b o t t o m ; \r \t h p
0062340 _ R e p l i c a t e [ P L A
0062360 D e c o d e r B o t t o m [ f l
0062400 a g ] , h p , 1 , 376 001 \0 261 \0
0062420 r i g h t ] ; \r E
0062440 N D L O O P ; \r h p
0062460 _ R e p l i c a t e [ P L A D
0062500 e c o d e r D a t a B o t t o m
0062520 , h p , 1 , r i g h t ] ;
0062540 \r F O R k I N [
0062560 0 . . o u t C o u n t ) D O \r
0062600 \t f l a g _ o u t p u t L i
0062620 s t [ k ] . T o p B o t t o m =
0062640 b o t t o m ; \r \t h p _ R e
0062660 p l i c a t e [ P L A O u t M u
0062700 x [ f l a g ] , h p , 1 ,
0062720 r i g h t ] ; \r \t O r B _ O
0062740 r B + 1 ; \r \t I F O r B
0062760 = b o i s t C o u n t A N D
0063000 ( o u t C o u n t - k ) >
0063020 376 001 \0 211 017 m i n B o i s t S p a
0063040 c e \r \t T H E N B E G I N
0063060 \r \t \t h p _ R e p l i c a
0063100 t e [ P L A D a t a B o t t o m
0063120 G n d , h p , 1 , r i g h
0063140 t ] ; \r \t \t O r B _ 0 ; \r
0063160 \t \t E N D ; \r E N D
0063200 L O O P ; \r h p _ R
0063220 e p l i c a t e [ P L A D a t a
0063240 B o t t o m R i g h t C o r n e
0063260 r , h p , 1 , r i g h t ]
0063300 ; \r E N D ; \r \r \r o
0063320 k : B O O L E A N ; \r - -
0063340 b o d y H e i g h t , d e c o
0063360 d e r D a t a X , d a t a X ,
0063400 d a t a R i g h t X : l o c
0063420 N u m ; \r 376 001 \0 023 335 - - c u
0063440 r P t : P o i n t ; \r - -
0063460 d e c o d e r W i d t h , w o
0063500 r d s P e r D a t a R o w , w
0063520 o r d C o u n t , w o r d W i
0063540 d t h : C A R D I N A L ; \r
0063560 - - l o g W o r d s P e r D a
0063600 t a R o w : I N T E G E R ; \r
0063620 f i l e N a m e , m e m N
0063640 a m e , c e l l F a m i l y ,
0063660 P L A N a m e , w d P e r R
0063700 o w S t r : S T R I N G _
0063720 N I L ; \r s : S t r e a m
0063740 D e f s . S t r e a m H a n d l
0063760 e _ N I L ; \r l p p :
0064000 L O N G P O I N T E R T O
0064020 l i s t _ N I L 376 001 \0 3 202 ;
0064040 - - l i s t o f c e l
0064060 l s a l r e a d y p l a c e
0064100 d \r \r - - M a i n
0064120 B o d y \r \r B E G
0064140 I N \r E N A B L E P u n t
0064160 = > G O T O E x i t ;
0064200 - - f o r e x i t s \r [
0064220 o k , f i l e N a m e , ]
0064240 _ t y p e I n [ " " L , " D
0064260 a t a f i l e : " L , " . s
0064300 l i m f o r m a t " L ] ; \r
0064320 I F N O T o k T H E N
0064340 G O T O E x i t ; \r f i l
0064360 e N a m e _ F i x E x t e n
0064400 s i o n [ f i l e N a m e , "
0064420 . s l i m " L ] ; \r s _ 376
0064440 001 \0 205 \0 S t r e a m D e f s .
0064460 N e w B y t e S t r e a m [ \r
0064500 f i l e N a m e , S t r
0064520 e a m D e f s . R e a d ! \r
0064540 S e g m e n t D e f s . F
0064560 i l e N a m e E r r o r = >
0064600 { \r E x p l a i n [
0064620 " C a n ' t f i n d . s l i
0064640 m f i l e " L , n a m e ] ;
0064660 G O T O E x i t } ] ; \r \r
0064700 [ o k , c e l l F a m i l y
0064720 , ] _ t y p e I n [ " C e
0064740 l l f a m i l y : " L , " "
0064760 L , " " L ] ; \r I F N O
0065000 T o k T H E N G O T O E
0065020 x i t ; \r [ o k , P L A N
0065040 a m e , 376 001 \0 e * ] _ t y
0065060 p e I n [ " N a m e o f c o
0065100 m p l e t e d P L A c e l l
0065120 : " L , " " L , " " L ] ; \r
0065140 I F N O T o k T H E N
0065160 G O T O E x i t ; \r F i
0065200 n d P L A C e l l s [ c e l l F
0065220 a m i l y ] ; \r \r - - B u
0065240 i l d t h e P L A ' s P r
0065260 o d u c t T e r m M a t r i
0065300 x \r B u i l d P r o d u c t
0065320 T e r m s [ s ] ; \r \r - -
0065340 C o n s t r u c t t h e P L
0065360 A s y m b o l \r B E G I N
0065400 \r f l a g : B O O L E
0065420 A N _ T R U E ; \r p
0065440 , h p : P o i 376 001 \0 346 333 n t
0065460 ; \r \r p _ h p _
0065500 [ 0 , 0 ] ; \r b o i s
0065520 t C o u n t _ R e q u e s t
0065540 I n t e g e r [ " N u m b e r
0065560 o f M i n T e r m s b e t
0065600 w e e n G N D L i n e s : "
0065620 L ] ; \r m i n B o i s t
0065640 S p a c e _ R e q u e s t I
0065660 n t e g e r [ " M i n i m u m
0065700 n u m b e r o f M i n T e
0065720 r m s b e t w e e n G N D
0065740 l i n e s " L ] ; \r \r -
0065760 - l a y d o w n t h e t o
0066000 p o f t h e P L A \r
0066020 p _ l a y d o w n T o p [
0066040 p ] ; \r \r - - l a 376 001
0066060 \0 k 350 y d o w n t h e b o d
0066100 y o f t h e P L A \r
0066120 p _ l a y d o w n B o d y
0066140 [ p ] ; \r \r - - l a y
0066160 d o w n t h e b o t t o m
0066200 o f t h e P L A \r p
0066220 _ l a y d o w n B o t t o m
0066240 [ p ] ; \r \r E N D ; \r \r
0066260 D r a w C e l l [ M a k e N e w
0066300 C e l l [ P L A N a m e , l p
0066320 p ] . o b ] ; \r P L A N a m
0066340 e _ N I L ; - - w e
0066360 g a v e t h e n a m e t o
0066400 t h e c e l l \r \r \r \r \r - -
0066420 w o r d s P e r D a t a R o w
0066440 _ 1 ; l o g W o r d s P e r
0066460 D a t 376 001 \0 371 260 a R o w _ 0
0066500 ; \r - - I F P L A O u t M u x
0066520 [ F A L S E ] # N I L T H E N
0066540 \r - - B E G I N \r - - t
0066560 : C A R D I N A L ; \r - -
0066600 [ o k , w d P e r R o w S t r
0066620 , ] _ t y p e I n [ " " L
0066640 , " W o r d s p e r r o w
0066660 : " L , " ( p o w e r o f
0066700 2 ) " L ] ; \r - - I F N O
0066720 T o k T H E N G O T O E
0066740 x i t ; \r - - t _ S t r
0066760 i n g D e f s . S t r i n g T o
0067000 N u m b e r [ s : w d P e r R
0067020 o w S t r , r a d i x : 1 0
0067040 ] ; \r - - F O R w o r d s
0067060 P e r D a t a R 376 001 \0 304 357 o w
0067100 _ 1 , 2 * w o r d s P e r D
0067120 a t a R o w W H I L E w o r
0067140 d s P e r D a t a R o w < t D
0067160 O \r - - l o g W o r d s
0067200 P e r D a t a R o w _ l o g
0067220 W o r d s P e r D a t a R o w +
0067240 1 ; \r - - E N D L O O P
0067260 ; \r - - E N D ; \r \r - - M B
0067300 . R e C a s t [ m e m : m b M
0067320 e m , n e w W o r d W i d t h
0067340 : m b M e m . w i d t h * w o
0067360 r d s P e r D a t a R o w ] ; \r
0067400 - - M B . S u p p r e s s D e f
0067420 a u l t W o r d s [ m e m : m
0067440 b M e m , d e f a u l t : F
0067460 A L S E ] ; \r - - [ d e c 376 001 \0
0067500 276 267 o d e r W i d t h , w o r
0067520 d C o u n t , w o r d W i d t
0067540 h ] _ M B . A n a l y z e M
0067560 e m o r y [ m b M e m ] ; \r \r -
0067600 - d e c o d e r W i d t h _
0067620 d e c o d e r W i d t h + l o g
0067640 W o r d s P e r D a t a R o w ;
0067660 \r - - w o r d C o u n t _ w
0067700 o r d C o u n t + ( w o r d
0067720 C o u n t M O D 2 ) + 2 * l
0067740 o g W o r d s P e r D a t a R o
0067760 w ; \r \r - - b o d y H e i g h t
0070000 _ S t e p P [ , d e c o d
0070020 e C e l l , d o w n A n d R i
0070040 g h t , [ x : 1 , y : w
0070060 o r d C o u n t ] ] . y ; \r - -
0070100 d e 376 001 \0 276 347 c o d e r D a t a
0070120 X _ S t e p P [ , d e c o
0070140 d e C e l l , d o w n A n d R
0070160 i g h t , [ x : d e c o d e
0070200 r W i d t h , y : 1 ] ] . x
0070220 ; \r - - d a t a X _ S t e p
0070240 P [ [ d e c o d e r D a t a X ,
0070260 0 ] , P L A D e c o d e r D
0070300 a t a , r i g h t ] . x ; \r -
0070320 - d a t a R i g h t X _ S t
0070340 e p P [ \r - - [ d a t a X ,
0070360 0 ] , P L A D a t a [ F A L
0070400 S E ] [ F A L S E ] , r i g h
0070420 t , [ x : w o r d W i d t h
0070440 , y : 1 ] ] . x ; \r \r - - [
0070460 ] _ R e p l i c a t e E v e
0070500 n O d d [ \r - 376 001 \0 201 X - P
0070520 L A D e c o d e r L e f t , S
0070540 t e p P [ [ 0 , 0 ] , P L A
0070560 D e c o d e r L e f t [ F A L S
0070600 E ] , l e f t ] , w o r d C
0070620 o u n t , d o w n ] ; \r - - [
0070640 ] _ R e p l i c a t e [ \r -
0070660 - P L A D e c o d e r T o p
0070700 L e f t C o r n e r , S t e p
0070720 P [ [ 0 , 0 ] , P L A D e c
0070740 o d e r T o p L e f t C o r n e
0070760 r , u p A n d L e f t ] ] ; \r
0071000 - - [ ] _ R e p l i c a t e
0071020 [ \r - - P L A D e c o d e r
0071040 B o t t o m L e f t C o r n e r
0071060 , S t e p P [ \r - - [ 0 ,
0071100 b o d y H e i g h t ] 376 001 \0 9
0071120 031 , P L A D e c o d e r B o t
0071140 t o m L e f t C o r n e r , l
0071160 e f t ] ] ; \r - - [ ] _ R e
0071200 p l i c a t e [ \r - - P L A
0071220 D e c o d e r T o p , S t e p
0071240 P [ [ 0 , 0 ] , P L A D e c
0071260 o d e r T o p , u p ] , d e
0071300 c o d e r W i d t h , r i g h
0071320 t ] ; \r - - [ ] _ R e p l i
0071340 c a t e [ P L A D e c o d e r B
0071360 o t t o m , [ 0 , b o d y H
0071400 e i g h t ] , d e c o d e r W
0071420 i d t h , r i g h t ] ; \r - -
0071440 [ ] _ R e p l i c a t e [ \r
0071460 - - P L A D e c o d e r D a
0071500 t a T o p , S t e p P [ [ d e
0071520 c 376 001 \0 031 w o d e r D a t a X ,
0071540 0 ] , P L A D e c o d e r D
0071560 a t a T o p , u p ] ] ; \r - -
0071600 c u r P t _ R e p l i c a t
0071620 e [ P L A D e c o d e r D a t a
0071640 , [ d e c o d e r D a t a X ,
0071660 0 ] , w o r d C o u n t / 2
0071700 , d o w n ] ; \r - - [ ] _
0071720 R e p l i c a t e [ P L A D e c
0071740 o d e r D a t a B o t t o m ,
0071760 c u r P t ] ; \r - - [ ] _ R
0072000 e p l i c a t e E v e n O d d [
0072020 \r - - P L A D a t a T o p ,
0072040 S t e p P [ [ d a t a X , 0
0072060 ] , P L A D a t a T o p [ F A
0072100 L S E ] , u p ] , \r - -
0072120 w o r d W 376 001 \0 \t v i d t h ,
0072140 r i g h t ] ; \r - - [ ] _
0072160 R e p l i c a t e [ \r - - P
0072200 L A D a t a T o p R i g h t C o
0072220 r n e r , S t e p P [ [ d a t
0072240 a R i g h t X , 0 ] , P L A
0072260 D a t a T o p R i g h t C o r n
0072300 e r , u p ] ] ; \r - - [ ] _
0072320 R e p l i c a t e [ P L A D a
0072340 t a R i g h t , [ d a t a R i
0072360 g h t X , 0 ] , w o r d C o
0072400 u n t / 2 , d o w n ] ; \r - -
0072420 [ ] _ R e p l i c a t e [ P
0072440 L A D a t a B o t t o m R i g h
0072460 t C o r n e r , [ d a t a R i
0072500 g h t X , b o d y H e i g h t
0072520 ] ] ; \r - - I F w o 376 001 \0 346 200
0072540 r d s P e r D a t a R o w = 1
0072560 T H E N \r - - [ ] _ R e
0072600 p l i c a t e E v e n O d d [ P
0072620 L A D a t a B o t t o m , [ d
0072640 a t a X , b o d y H e i g h t
0072660 ] , w o r d W i d t h , r i
0072700 g h t ] \r - - E L S E \r - -
0072720 B E G I N \r - - c u r P t
0072740 _ [ d a t a X , b o d y H e
0072760 i g h t ] ; \r - - F O R i
0073000 : C A R D I N A L I N [ 0
0073020 . . w o r d W i d t h / w o r d
0073040 s P e r D a t a R o w ) D O \r
0073060 - - c u r P t _ R e
0073100 p l i c a t e [ P L A O u t M u
0073120 x [ F A L S E ] , c u r P t ,
0073140 376 001 \0 4 212 1 , r i g h t ] ;
0073160 \r - - c u r P t _ R
0073200 e p l i c a t e [ P L A O u t M
0073220 u x [ T R U E ] , c u r P t ,
0073240 w o r d s P e r D a t a R o w
0073260 / 2 - 1 , r i g h t ] ; \r - -
0073300 E N D L O O P ; \r - -
0073320 E N D ; \r - - M a k e D e c o
0073340 d e r B l o c k [ P L A D e c o
0073360 d e r , [ 0 , 0 ] , [ d e
0073400 c o d e r W i d t h , w o r d
0073420 C o u n t ] , m b M e m ] ; \r
0073440 - - M a k e D a t a B l o c k [
0073460 P L A D a t a , [ d a t a X ,
0073500 0 ] , [ w o r d W i d t h ,
0073520 w o r d C o u n t / 2 ] , m
0073540 b M e m ] 376 001 \0 261 260 ; \r \r - - D
0073560 r a w C e l l [ M a k e N e w C
0073600 e l l [ P L A N a m e , l p p
0073620 ] . o b ] ; \r E X I T S E
0073640 x i t = > N U L L ; \r E
0073660 N D ; \r \r - - g i v e b
0073700 a c k a l l t h e s t o r
0073720 a g e w e a l l o c a t e d
0073740 \r \r - - F r e e B l o c k s [ ]
0073760 ; \r Z _ Z o n e A l l o
0074000 c D e f s . D e s t r o y A n X
0074020 M Z o n e [ Z ] ; \r I F f
0074040 i l e N a m e # N I L T H
0074060 E N F r e e S t r i n g [ f i
0074100 l e N a m e ] ; \r I F m e
0074120 m N a m e # N I L T H E N
0074140 F r e e S t r i n 376 001 \0 Y \a g
0074160 [ m e m N a m e ] ; \r I F
0074200 c e l l F a m i l y # N I L
0074220 T H E N F r e e S t r i n g
0074240 [ c e l l F a m i l y ] ; \r
0074260 I F P L A N a m e # N I L
0074300 T H E N F r e e S t r i n g
0074320 [ P L A N a m e ] ; \r I F
0074340 w d P e r R o w S t r # N I
0074360 L T H E N F r e e S t r i n
0074400 g [ w d P e r R o w S t r ] ; \r
0074420 I F s # N I L T H E
0074440 N s . d e s t r o y [ s ] ; \r
0074460 a n y C h a n g e s _ s
0074500 i n c e I O c h a n g e s _
0074520 T R U E ; \r \r E N D . - -
0074540 o f P L A M a k e r I m p 376
0074560 \0 325 271 V l \r 032 ( 1 7 9 2 ) \ 3 b
0074600 1 2 B 2 9 9 b 1 2 B 2 4 4 7 b 4
0074620 B 4 3 9 b 6 B 8 4 8 b 1 0 B 1 8
0074640 7 5 b 1 0 B 9 0 1 b 8 B 4 0 5 b
0074660 6 B 4 6 5 b 6 B 2 6 9 b 1 7 B 1
0074700 1 9 2 b 1 2 B 2 9 5 9 b 8 B 7 6
0074720 5 b 9 B 7 1 7 b 1 1 B 7 3 5 b 2
0074740 3 B 1 2 6 b 1 2 B 8 7 3 b 9 B 6
0074760 1 4 b 1 6 B 7 8 5 b 5 B 7 7 3 b
0075000 4 B 7 8 b 1 1 B 8 3 4 b 8 B 3 8
0075020 3 b 7 B 1 8 0 b 1 2 B 3 0 7 b 1
0075040 3 B 3 0 1 b 1 4 B 3 0 7 b 1 0 B
0075060 1 6 2 6 b 1 1 B 3 2 2 8 b 1 3 B
0075100 1 1 2 0 b 1 7 B \r 377 \0 \0 P L A M
0075120 a k e r . c o n f i g \0 373 230 [ 250
0075140 354 \0 \0 376 001 \0 [ N - - P L A M a
0075160 k e r . c o n f i g \r - - m o
0075200 d i f i e d b y C a r y K
0075220 o r n f e l d : O c t o b e
0075240 r 1 , 1 9 8 1 1 0 : 0 6
0075260 A M \r - - w r i t t e n b
0075300 y M c C r e i g h t : A u
0075320 g u s t 7 , 1 9 8 1 5 :
0075340 0 2 P M \r \r P L A M a k e r :
0075360 C O N F I G U R A T I O N \r I
0075400 M P O R T S \r p p d d d e f
0075420 s , p p d d e f s , p p d e f s
0075440 , S e g m e n t D e f s , I O D
0075460 e f s , Z o n e A l l o c D e f
0075500 s , \r S t r e a m D e f s ,
0075520 S t r i n g D e f s \r C O N T R
0075540 O L \r P l a 376 \0 8 205 ; M a k
0075560 e r I m p l = \r B E G I N \r P
0075600 l a M a k e r I m p l ; \r E N D
0075620 . \r 032 ( 1 7 9 2 ) \ 3 b 8 B 1 1
0075640 6 b 8 B \r 377 \0 \0 P L A m a k e r
0075660 - s o u r c e s . c m \0 373 227 343 O
0075700 327 \0 \0 376 \0 021 246 @ P L A M a k e r
0075720 I m p l . m e s a 377 \0 \0 P L A m
0075740 a k e r - s a v e . c m \0 373 227 365
0075760 316 , \0 \0 376 \0 312 307 205 f t p i n d
0076000 i g o c o n n / c c h i p m
0076020 o n k d i r / c > P L A m a
0076040 k e r s t / c P L A M a k e
0076060 r . c h i p b c d P L A M a k
0076100 e r . s y m b o l s d u m p /
0076120 c P L A m a k e r - s o u r c
0076140 e s . d m @ P L A m a k e r -
0076160 s o u r c e s . c m @ P L A M
0076200 a k e r . c o n f i g P L A m
0076220 a k e r - s o u r c e s . c m
0076240 P L A m a k e r - s a v e . c m
0076260 P L A m a k e r - d e l e t e
0076300 . c m 377 \0 \0 P L A m a k e r - d
0076320 e l e t e . c m \0 373 227 343 E 347 \0 \0
0076340 376 \0 232 031 7 d e l e t e @ P L A
0076360 m a k e r - s o u r c e s . c m
0076400 @ M a k e P L A . c o n f i g
0076420 P L A m a k e r - s a v e . c
0076440 m P L A m a k e r - d e l e t
0076460 e . c m \r @ . s y m b o l s . .
0076500 . @ d e l e t e M a k e P L
0076520 A . s y m b o l s \r @ . c h i p
0076540 b c d . . . @ d e l e t e M
0076560 a k e P L A . c h i p b c d \r 374
0076600