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