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