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