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