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