$ od -c -N 50000 [Indigo]<Spruce>13>Sprint.Bcpl!3
0000000    /   /       S   p   r   i   n   t   .   B   c   p   l       -
0000020        l   a   s   t       m   o   d   i   f   i   e   d   :    
0000040        F   e   b   r   u   a   r   y       5   ,       1   9   8
0000060    1           9   :   3   1       P   M  \r  \r   /   /       S
0000100    P   R   U   C   E       M   A   I   N       P   R   I   N   T
0000120    I   N   G       P   R   O   C   E   D   U   R   E  \r   /   /
0000140            e   r   r   o   r   s       2   6   0   0   ,       5
0000160    0   0   0       (   P   r   i   n   t       r   e   p   o   r
0000200    t   s   )  \r   /   /   g   e   t       "   S   p   r   u   c
0000220    e   .   d   "               m   a   d   e       t   o   o    
0000240    b   i   g       d   i   c   t   i   o   n   a   r   y  \r  \t
0000260    g   e   t       "   S   p   r   u   c   e   I   n   L   d   O
0000300    u   t   L   d   .   d   "  \t  \t   /   /       I   n   L   d
0000320    /   O   u   t   L   d       m   e   s   s   a   g   e   s    
0000340    f   o   r       s   p   o   o   l   e   r       <   -   >    
0000360    s   e   r   v   i   c   e       c   o   m   m   u   n   i   c
0000400    a   t   i   o   n  \r  \t   g   e   t       "   S   p   r   u
0000420    c   e   d   o   c   .   d   "  \r  \t   g   e   t       "   s
0000440    p   r   u   c   e   M   i   s   c   .   d   "  \r  \t   g   e
0000460    t       "   s   p   r   u   c   e   P   r   i   n   t   e   r
0000500    s   .   d   "  \t   /   /   J   u   s   t       f   o   r    
0000520    m   a   x   B   i   n   s       v   a   l   u   e  \r   g   e
0000540    t       "   S   p   r   u   c   e   F   i   l   e   s   .   d
0000560    "  \r   g   e   t       "   P   r   e   s   s   F   i   l   e
0000600    .   d   "  \r   g   e   t       "   A   l   t   o   f   i   l
0000620    e   s   y   s   .   d   "  \r  \r   /   /       o   u   t   g
0000640    o   i   n   g       p   r   o   c   e   d   u   r   e   s  \r
0000660    e   x   t   e   r   n   a   l  \r  \t   [  \r  \t   S   p   r
0000700    i   n   t  \r  \t   D   o   B   r   e   a   k   P   a   g   e
0000720   \r  \t   ]  \r  \r   /   /       i   n   c   o   m   i   n   g
0000740        s   t   a   t   i   c   s  \r  \r   e   x   t   e   r   n
0000760    a   l  \r  \t   [  \r   /   /   F   i   l   e   s   ,       d
0001000    i   s   k   s  \r  \t   B   a   n   d   F   i   l   e   ;    
0001020    M   e   t   e   r   F   i   l   e   ;       F   o   n   t   F
0001040    i   l   e   ;       R   u   n   F   i   l   e  \r  \t   C   h
0001060    e   c   k   F   p  \r  \t   F   o   n   t   W   i   n   d   o
0001100    w  \r  \t   l   o   g   B   a   n   d   R   e   c   o   r   d
0001120    S   i   z   e  \r  \t   s   p   r   i   n   t   F   P   R   D
0001140    ;       s   p   r   u   c   e   F   P   R   D  \r  \t   i   n
0001160    M   s   g   ;       o   u   t   M   s   g  \r  \t   D   P   z
0001200    e   r   o  \t  \t  \t   /   /   D   o   u   b   l   e       p
0001220    r   e   c   i   s   i   o   n       z   e   r   o  \r  \t   U
0001240    s   e   M   i   c   r   o   C   o   d   e  \t  \t   /   /   F
0001260    l   a   g       t   o       u   s   e       m   i   c   r   o
0001300    c   o   d   e       f   a   c   i   l   i   t   i   e   s  \r
0001320   \t   D   e   b   u   g  \t  \t  \t   /   /   O   n       i   f
0001340        d   e   b   u   g   g   i   n   g  \r  \t   D   e   b   u
0001360    g   S   y   s   t   e   m  \r  \t   W   h   i   c   h  \r  \t
0001400    S   p   r   i   n   t   S   a   v   e   d   U   F   P  \r  \t
0001420    S   p   r   i   n   t   V   e   r   s   i   o   n  \t  \t   /
0001440    /   V   e   r   s   i   o   n       n   u   m   b   e   r    
0001460    =   a   .   b       =       a   *   2   5   6   +   b  \r  \t
0001500    D   o   E   t   h   e   r   R   e   p   o   r   t  \t  \t   /
0001520    /   T   r   u   e       i   f       l   o   g       e   r   r
0001540    o   r   s       o   n       M   A   X   C       W   h   a   t
0001560    ?   ?   ?  \r  \t   R   e   p   o   r   t  \t  \t  \t   /   /
0001600    P   o   i   n   t   e   r       t   o       R   E   P       s
0001620    t   r   u   c   t   u   r   e       f   o   r       E   t   h
0001640    e   r       r   e   p   o   r   t   i   n   g  \r  \t   b   r
0001660    e   a   k   P   a   g   e  \r  \t   p   r   i   n   t   D   a
0001700    t   e   S   t   r   i   n   g  \r  \t   p   r   i   n   t   e
0001720    r   D   e   v   i   c   e  \r  \t   N   u   m   B   i   n   s
0001740   \r  \r   /   /   F   r   e   e       s   t   o   r   a   g   e
0001760        s   t   u   f   f  \r  \t   S   p   r   u   c   e   Z   o
0002000    n   e  \t  \t   /   /   Z   o   n   e       t   o       u   s
0002020    e       f   o   r       a   l   l       f   r   e   e       s
0002040    t   o   r   a   g   e  \r  \t   P   e   r   m   a   n   e   n
0002060    t   B   o   t   t   o   m  \t   /   /   B   o   t   t   o   m
0002100        o   f       "   p   e   r   m   a   n   e   n   t   "    
0002120    f   r   e   e       s   t   o   r   a   g   e  \r  \t   O   v
0002140    e   r   l   a   y   T   o   p  \t  \t   /   /   P   l   a   c
0002160    e       w   h   e   r   e       l   a   s   t       w   o   r
0002200    d       o   f       o   v   e   r   l   a   y       i   s  \r
0002220   \r   /   /       I   n   f   o       f   r   o   m       s   p
0002240    o   o   l   e   r  \r  \t   n   u   m   F   i   l   e   s   S
0002260    p   o   o   l   e   d   ;       n   u   m   M   u   s   t   P
0002300    r   i   n   t  \r  \t   S   p   o   o   l   V   e   c  \r  \t
0002320    p   r   i   n   t   D   o   c  \r  \r   /   /       P   r   i
0002340    n   t       C   o   u   n   t  \r  \t   n   u   m   P   r   i
0002360    n   t   e   d  \r  \t   e   r   r   o   r   P   e   n   d   i
0002400    n   g  \r  \t   d   r   i   v   e   1   D   i   s   k  \r  \t
0002420    s   t   a   t   u   s   O   f   3   1   s  \r  \t   t   r   i
0002440    d   e   n   t   U   s   e   d  \r  \t   t   r   i   d   e   n
0002460    t   D   i   s   k  \r  \t   t   r   i   d   e   n   t   D   r
0002500    i   v   e  \r  \t   e   a   r   M   a   s   k  \r  \t   t   i
0002520    c   k   M   a   s   k  \r  \t   B   i   n   S   e   r   i   a
0002540    l   s  \r      \r   /   /       d   e   f   i   n   e   d    
0002560    h   e   r   e  \r  \t   s   t   o   p   s   P   r   i   n   t
0002600    i   n   g   ;       b   r   e   a   k   P   a   g   e   C   o
0002620    p   y      \r  \t   ]  \r  \r   /   /       i   n   c   o   m
0002640    i   n   g       p   r   o   c   e   d   u   r   e   s  \r  \r
0002660    e   x   t   e   r   n   a   l  \r  \t   [  \r   /   /   M   a
0002700    i   n       p   r   o   c   e   d   u   r   e   s       f   o
0002720    r       t   h   e       v   a   r   i   o   u   s       p   a
0002740    s   s   e   s   .  \r  \t   S   p   r   i   n   t   I   n   s
0002760    t   a   l   l  \r  \t   I   n   t   e   r   p   r   e   t  \r
0003000   \t   P   r   i   n   t  \r  \t   P   r   i   n   t   I   n   i
0003020    t  \r  \t   P   r   i   n   t   S   e   t   P   a   r   a   m
0003040    e   t   e   r   s  \r  \t   F   o   r   c   e   B   r   e   a
0003060    k   P   a   g   e  \r   /   /  \t   V   a   l   i   d   a   t
0003100    e   F   o   n   t   s  \t  \t   /   /       C   h   e   c   k
0003120    s       a   l   l       o   f       S   p   r   u   c   e   .
0003140    f   o   n   t   s   ,       i   f       v   a   l   i   d   a
0003160    t   e       r   o   u   t   i   n   e   s       l   o   a   d
0003200    e   d  \r  \r   /   /   S   p   r   u   c   e       s   t   r
0003220    e   a   m   s  \r  \t   W   i   n   d   o   w   G   e   t   P
0003240    o   s   i   t   i   o   n  \r  \t   W   i   n   d   o   w   S
0003260    e   t   B   o   u   n   d   s  \r  \t   W   i   n   d   o   w
0003300    R   e   a   d   B   l   o   c   k  \r  \t   W   i   n   d   o
0003320    w   R   e   a   d   B   y   t   e  \r  \t   W   i   n   d   o
0003340    w   R   e   a   d  \r  \t   W   i   n   d   o   w   W   r   i
0003360    t   e  \r  \t   I   n   i   t   S   p   r   u   c   e   F   i
0003400    l   e  \r  \r   /   /       C   h   e   c   k   p   o   i   n
0003420    t   s  \r  \t   C   h   e   c   k   P   o   i   n   t  \r  \t
0003440    R   e   s   t   o   r   e   F   r   o   m   C   h   e   c   k
0003460    P   o   i   n   t  \r  \t   R   e   l   e   a   s   e   C   h
0003500    e   c   k   L   e   v   e   l  \r  \t   I   n   i   t   C   h
0003520    e   c   k   Z   o   n   e  \r  \t   A   c   t   O   n   E   n
0003540    t   r   y  \r  \r   /   /       S   p   r   u   c   e       U
0003560    t   i   l   i   t   i   e   s  \r  \t   C   u   r   s   o   r
0003600    C   h   a   r  \r  \t   F   S   G   e   t   X   ;       F   S
0003620    I   n   i   t   ;       F   S   P   u   t  \r  \t   R   e   c
0003640    l   a   i   m  \r  \t   I   n   i   t   R   a   m  \r  \t   E
0003660    a   r   O   n  \r  \t   M   a   x  \r  \t   O   v   e   r   l
0003700    a   y   ;       L   o   a   d   B   a   s   e   ;       I   s
0003720    O   v   e   r   l   a   y   P   r   e   s   e   n   t  \r  \t
0003740    S   p   r   u   c   e   E   r   r   o   r   ;       S   p   r
0003760    u   c   e   C   o   n   d   i   t   i   o   n  \r  \t   D   i
0004000    s   a   b   l   e   C   o   m   m   e   n   t   s  \r  \t   S
0004020    e   t   u   p   D   r   i   v   e  \r  \t   L   o   a   d   O
0004040    r   b   i   t   M   C   ;       L   o   a   d   S   h   o   w
0004060    M   C  \r  \r   /   /   M   E   T   E   R  \r  \t   M   e   t
0004100    e   r   B   l   o   c   k   ;       M   e   t   e   r   C   l
0004120    o   s   e  \r  \r   /   /   O   S  \r  \t   M   o   v   e   B
0004140    l   o   c   k  \r  \t   S   t   a   r   t   I   O  \r  \t   S
0004160    y   s   E   r   r  \r  \t   M   y   F   r   a   m   e  \r  \t
0004200    O   u   t   L   d  \r  \t   I   n   L   d  \r  \t   Z   e   r
0004220    o  \r  \t   C   a   l   l   S   w   a   t  \r  \t   G   o   t
0004240    o   L   a   b   e   l  \r  \t   A   l   l   o   c   a   t   e
0004260   \r  \r   /   /   A   l   l   o   c  \r  \t   I   n   i   t   i
0004300    a   l   i   z   e   Z   o   n   e  \r  \r   /   /   T   i   m
0004320    e       p   a   c   k   a   g   e  \r  \t   C   O   N   V   U
0004340    D   T  \r  \r   /   /   S   P   R   U   C   E   M   L  \r  \t
0004360    D   o   u   b   l   e   A   d   d   ;       D   o   u   b   l
0004400    e   S   u   b   ;       D   o   u   b   l   e   C   o   p   ;
0004420        M   u   l   D   i   v  \r  \r   /   /       O   t   h   e
0004440    r  \r  \t   D   i   s   a   b   l   e   I   n   t   e   r   r
0004460    u   p   t   s   ;       E   n   a   b   l   e   I   n   t   e
0004500    r   r   u   p   t   s  \r  \t   P   a   g   e   D   a   t   a
0004520   \r  \t   P   o   l   l   E   t   h   e   r  \r  \t   S   w   a
0004540    p   O   n   S   p   o   o   l   R   e   q   u   e   s   t   ;
0004560        S   w   a   p   S   y   s   t   e   m  \r  \r   /   /    
0004600    T   F   S  \r  \t   T   F   S   S   e   t   D   i   s   k  \r
0004620   \t   T   F   S   T   r   y   D   i   s   k  \r  \r  \t   r   e
0004640    s   t   a   r   t   F   r   a   m   e  \r  \t   d   i   d   C
0004660    o   n   t   i   n   u   e  \r  \t   ]  \r  \r   s   t   a   t
0004700    i   c       [       b   r   e   a   k   P   a   g   e   C   o
0004720    p   y   ;       s   t   o   p   s   P   r   i   n   t   i   n
0004740    g           ]  \r  \r   l   e   t       S   p   r   i   n   t
0004760    (   l   a   y   o   u   t   ,       u   s   e   r   P   a   r
0005000    a   m   s   ,       r   u   n   C   f   a   ;       n   u   m
0005020    a   r   g   s       n   )       b   e      \r   [   S   p   r
0005040    i   n   t  \r   D   P   z   e   r   o   =       t   a   b   l
0005060    e       [       0   ;   0       ]  \r   C   h   e   c   k   F
0005100    p       =       t   a   b   l   e       [       0   ;       0
0005120    ;       0   ;       0   ;       0   ;       0       ]       /
0005140    /       F   P       f   o   r       C   h   e   c   k   P   o
0005160    i   n   t   F   i   l   e   .  \r   M   o   v   e   B   l   o
0005200    c   k   (   C   h   e   c   k   F   p   ,       l   a   y   o
0005220    u   t   ,       l   F   P   )  \r  \r   /   /       F   i   r
0005240    s   t   ,       c   a   l   l       i   n   i   t   i   a   l
0005260    i   z   a   t   i   o   n       r   o   u   t   i   n   e   .
0005300            I   t       w   i   l   l       c   a   l   l       S
0005320    p   r   i   n   t   (   )       w   h   e   n       i   t    
0005340    i   s       f   i   n   i   s   h   e   d   .  \r   i   f    
0005360    n       t   h   e   n       S   p   r   i   n   t   I   n   s
0005400    t   a   l   l   (   l   a   y   o   u   t   ,       r   u   n
0005420    C   f   a   )  \r   d   i   d   C   o   n   t   i   n   u   e
0005440        =       t   r   u   e       /   /       f   o   r   c   e
0005460        O   u   t   L   d       f   i   r   s   t       t   i   m
0005500    e  \r   r   e   s   t   a   r   t   F   r   a   m   e       =
0005520        M   y   F   r   a   m   e   (   )  \r   B   i   n   S   e
0005540    r   i   a   l   s       =       0           /   /       c   a
0005560    u   s   e       a   l   l   o   c   a   t   i   o   n       o
0005600    f       t   a   b   l   e       t   h   e       f   i   r   s
0005620    t       t   i   m   e  \r   /   /   |   |       O   v   e   r
0005640    l   a   y       s   t   a   t   e   :       n   o       o   v
0005660    e   r   l   a   y   s       p   r   e   s   e   n   t  \r   /
0005700    /       M   a   i   n       L   o   o   p  \r  \t   [   P   r
0005720    i   n   t  \r  \t   e   x   t   e   r   n   a   l       R   e
0005740    s   t   a   r   t   S   p   r   i   n   t  \r  \t   /   /   |
0005760    |       N   o       O   v   e   r   l   a   y   s       |   |
0006000   \r  \t   L   o   a   d   B   a   s   e   (   )  \r  \t   /   /
0006020    |   |       O   V   B   a   s   e   ,       O   V   I   n   i
0006040    t       |   |  \r  \t   F   S   I   n   i   t   (   )  \r  \t
0006060    u   n   l   e   s   s       B   i   n   S   e   r   i   a   l
0006100    s       d   o           /   /       a   l   l   o   c   a   t
0006120    e       B   i   n   S   e   r   i   a   l   s       t   h   e
0006140        f   i   r   s   t       t   i   m   e       t   h   r   o
0006160    u   g   h  \r  \t  \t   [  \r  \t  \t   B   i   n   S   e   r
0006200    i   a   l   s   =   F   S   G   e   t   X   (   m   a   x   B
0006220    i   n   s   ,       S   p   r   u   c   e   Z   o   n   e   ,
0006240        5   0   )  \r  \t  \t   N   u   m   B   i   n   s   =   m
0006260    a   x   B   i   n   s           /   /   t   h   i   s       i
0006300    s       w   r   o   n   g   ,       b   u   t       f   u   t
0006320    u   r   e       c   h   e   c   k   p   o   i   n   t   s    
0006340    w   i   l   l       c   o   r   r   e   c   t       i   t  \r
0006360   \t  \t   ]  \r  \t   C   h   e   c   k   P   o   i   n   t   (
0006400    L   E   V   R   u   n   ,   L   E   V   R   u   n   )        
0006420    /   /   s   a   v   e       a   w   a   y       t   h   e    
0006440    B   i   n   S   e   r   i   a   l   s       t   a   b   l   e
0006460   \r  \t   S   w   a   p   S   y   s   t   e   m   (   f   a   l
0006500    s   e   )  \r  \t   R   e   s   t   a   r   t   S   p   r   i
0006520    n   t   :  \r  \t   C   u   r   s   o   r   C   h   a   r   (
0006540    $   I   )  \r  \t   /   /   |   |       O   v   e   r   l   a
0006560    y       s   t   a   t   e   :       p   r   a   c   t   i   c
0006600    a   l   l   y       a   n   y       c   o   n   f   i   g   u
0006620    r   a   t   i   o   n       i   s       p   o   s   s   i   b
0006640    l   e       h   e   r   e       |   |  \r  \t   L   o   a   d
0006660    B   a   s   e   (   )  \r  \t   /   /   |   |   (   O   V   T
0006700    8   0   )   ,       O   V   B   a   s   e   ,       O   V   I
0006720    n   i   t       |   |  \r  \t   Z   e   r   o   (   o   u   t
0006740    M   s   g   ,       1   8   )       /   /       a   s   s   u
0006760    m   e   s       1   8       =           l   I   n   L   d   M
0007000    e   s   s   a   g   e  \r  \t   n   u   m   P   r   i   n   t
0007020    e   d       =       0  \r  \t   s   p   r   u   c   e   F   P
0007040    R   D       =       i   n   M   s   g  \t  \t   /   /       a
0007060    s       i   t       w   e   r   e  \r  \t   D   i   s   a   b
0007100    l   e   C   o   m   m   e   n   t   s   (   )  \t  \t   /   /
0007120        n   o       b   r   e   a   k       p   a   g   e       c
0007140    o   m   m   e   n   t   s       e   x   i   s   t  \r   R   e
0007160    l   e   a   s   e   C   h   e   c   k   L   e   v   e   l   (
0007200    L   E   V   S   h   a   r   e   d   I   n   i   t   S   t   a
0007220    t   i   c   s   )  \t   /   /       T   h   r   o   w       o
0007240    u   t       a   l   m   o   s   t       e   v   e   r   y   t
0007260    h   i   n   g   !  \r  \t   R   e   s   t   o   r   e   F   r
0007300    o   m   C   h   e   c   k   P   o   i   n   t   (   L   E   V
0007320    S   h   a   r   e   d   V   e   r   s   i   o   n   s   ,    
0007340    L   E   V   S   h   a   r   e   d   V   e   r   s   i   o   n
0007360    s   )       /   /       U   p   -   t   o   -   d   a   t   e
0007400        v   e   r   s   i   o   n   s  \r  \t   R   e   s   t   o
0007420    r   e   F   r   o   m   C   h   e   c   k   P   o   i   n   t
0007440    (   L   E   V   S   h   a   r   e   d   I   n   i   t   S   t
0007460    a   t   i   c   s   ,       L   E   V   R   u   n   )       /
0007500    /       R   e   t   r   i   e   v   e       b   a   s   i   c
0007520        i   n   f   o  \r  \t   R   e   s   t   o   r   e   F   r
0007540    o   m   C   h   e   c   k   P   o   i   n   t   (   L   E   V
0007560    E   t   e   r   n   a   l   S   t   a   t   i   c   s   ,    
0007600    L   E   V   E   t   e   r   n   a   l   S   t   a   t   i   c
0007620    s   )  \r  \t   s   t   o   p   s   P   r   i   n   t   i   n
0007640    g       =       f   a   l   s   e  \r  \t   b   r   e   a   k
0007660    P   a   g   e   C   o   p   y       =       1  \r  \t   i   f
0007700        (   D   e   b   u   g   S   y   s   t   e   m   &   1   )
0007720        n   e       0       t   h   e   n       C   a   l   l   S
0007740    w   a   t   (   "   S   p   r   i   n   t   :       R   e   t
0007760    u   r   n       f   r   o   m       I   n   L   d   "   )  \r
0010000   \t   /   /   |   |       (   O   V   T   8   0   )   ,       O
0010020    V   B   a   s   e   ,       O   V   I   n   i   t   ;       m
0010040    a   y       n   o   t       m   a   t   c   h       t   r   i
0010060    d   e   n   t   U   s   e   d       r   e   q   u   i   r   e
0010100    m   e   n   t   s       |   |  \r  \t   t   r   i   d   e   n
0010120    t   D   i   s   k       =       0   ;       i   f       t   r
0010140    i   d   e   n   t   U   s   e   d       t   h   e   n  \r  \t
0010160   \t   [  \r  \t  \t   L   o   a   d   B   a   s   e   (   )  \r
0010200   \t  \t   l   e   t       c   p   Z   o   n   e       =       I
0010220    n   i   t   C   h   e   c   k   Z   o   n   e   (   )  \r  \t
0010240   \t   S   e   t   u   p   D   r   i   v   e   (   D   I   S   K
0010260    T   8   0   ,       c   p   Z   o   n   e   )  \r  \t  \t   i
0010300    f       t   r   i   d   e   n   t   D   i   s   k       e   q
0010320        0       %       T   F   S   T   r   y   D   i   s   k   (
0010340    t   r   i   d   e   n   t   D   r   i   v   e   )       n   e
0010360        1       t   h   e   n       S   p   r   u   c   e   E   r
0010400    r   o   r   (   2   6   0   0   )  \r  \t  \t   ]  \r  \t   d
0010420    r   i   v   e   1   D   i   s   k       =       0   ;       i
0010440    f       s   t   a   t   u   s   O   f   3   1   s       e   q
0010460        1       t   h   e   n  \r  \t  \t   [  \r  \t  \t   l   e
0010500    t       c   p   Z   o   n   e       =       I   n   i   t   C
0010520    h   e   c   k   Z   o   n   e   (   )  \r  \t  \t   S   e   t
0010540    u   p   D   r   i   v   e   (   D   I   S   K   3   1   B   ,
0010560        c   p   Z   o   n   e   )  \r  \t  \t   ]  \r       /   /
0010600        S   p   r   u   c   e   Z   o   n   e       i   s       N
0010620    O   T       s   e   t       u   p  \r   /   /  \t   S   p   r
0010640    u   c   e   Z   o   n   e       m   u   s   t       b   e    
0010660    s   e   t       u   p   !  \r  \t   S   p   r   u   c   e   Z
0010700    o   n   e       =       I   n   i   t   i   a   l   i   z   e
0010720    Z   o   n   e   (   O   v   e   r   l   a   y   T   o   p   +
0010740    1   ,       3   0   0   0   )  \r  \t   l   e   t       c   p
0010760    Z   o   n   e       =       I   n   i   t   C   h   e   c   k
0011000    Z   o   n   e   (   )  \r  \t   p   r   i   n   t   D   a   t
0011020    e   S   t   r   i   n   g   =   A   l   l   o   c   a   t   e
0011040    (   c   p   Z   o   n   e   ,   1   5   )  \r  \t   C   O   N
0011060    V   U   D   T   (   p   r   i   n   t   D   a   t   e   S   t
0011100    r   i   n   g   ,   0   ,   t   r   u   e   )  \r       /   /
0011120    |   |       (   O   V   T   8   0   )   ,       O   V   B   a
0011140    s   e   ,       O   V   I   n   i   t       |   |  \r  \t   P
0011160    r   i   n   t   I   n   i   t   (   0   )  \t  \t   /   /    
0011200    S   t   a   r   t       p   r   i   n   t   e   r   ,       i
0011220    n   i   t   i   a   l   i   z   e       n   L   e   a   d   i
0011240    n   g   ,       n   T   r   a   i   l   i   n   g   B   a   n
0011260    d   s  \r  \t   l   o   g   B   a   n   d   R   e   c   o   r
0011300    d   S   i   z   e       =       B   a   n   d   F   i   l   e
0011320    >   >   S   P   r   u   c   e   F   i   l   e   .   l   n   P
0011340    a   g   e   S   i   z   e  \r   /   /       P   r   i   n   t
0011360        u   p       t   o       n   u   m   F   i   l   e   s   S
0011400    p   o   o   l   e   d       d   o   c   u   m   e   n   t   s
0011420   \r   /   /       f   o   r       n   u   m   P   r   i   n   t
0011440    e   d       =       0       t   o       n   u   m   F   i   l
0011460    e   s   S   p   o   o   l   e   d   -   1       d   o       -
0011500    -       l   o   o   p       c   o   n   t   r   o   l   l   e
0011520    d       f   r   o   m       w   i   t   h   i   n  \r      \t
0011540   \t   [   P   r   i   n   t   O   n   e  \r      \t  \t   i   f
0011560        n   u   m   P   r   i   n   t   e   d       g   e       n
0011600    u   m   F   i   l   e   s   S   p   o   o   l   e   d       b
0011620    r   e   a   k  \r  \t  \t   b   r   e   a   k   P   a   g   e
0011640    C   o   p   y       =       1  \r                   /   /   |
0011660    |       (   O   V   T   8   0   )   ,       e   i   t   h   e
0011700    r       (   O   V   B   a   s   e   &   (   O   V   I   n   t
0011720    e   r   p   e   t       o   r       O   V   I   n   i   t   )
0011740    )       o   r       O   V   P   r   i   n   t       |   |  \r
0011760           \t  \t   L   o   a   d   B   a   s   e   (   )        
0012000    /   /   |   |       (   O   V   T   8   0   )   ,       O   V
0012020    B   a   s   e   ,       O   V   I   n   i   t       |   |  \r
0012040                    /   /       p   r   i   n   t   D   o   c    
0012060    _       D   o   c   G       f   r   o   m       c   h   e   c
0012100    k   p   o   i   n   t  \r      \t  \t   R   e   l   e   a   s
0012120    e   C   h   e   c   k   L   e   v   e   l   (   L   E   V   R
0012140    u   n   D   o   c   s   )       /   /       R   e   l   e   a
0012160    s   e       i   f       t   h   e   r   e       i   s       a
0012200    n   y  \r   /   /  \t  \t   R   e   s   t   o   r   e   F   r
0012220    o   m   C   h   e   c   k   P   o   i   n   t   (   L   E   V
0012240    R   u   n   D   o   c   s   ,       L   E   V   R   u   n   D
0012260    o   c   s   ,       n   u   m   P   r   i   n   t   e   d   +
0012300    1   )  \r  \t  \t   R   e   c   l   a   i   m   (   )  \r  \t
0012320   \t   A   c   t   O   n   E   n   t   r   y   (   S   p   o   o
0012340    l   V   e   c   !   (   n   u   m   P   r   i   n   t   e   d
0012360    +   1   )   ,       t   r   u   e   )  \t   /   /       g   e
0012400    t       e   n   t   r   y       i   n   t   o       c   o   r
0012420    e  \r  \t  \t   S   w   a   p   O   n   S   p   o   o   l   R
0012440    e   q   u   e   s   t   (   )       /   /       ~   ~       r
0012460    e   m   o   v   e       w   h   e   n       i   n   t   e   r
0012500    r   u   p   t   s       r   e   s   t   o   r   e   d  \r    
0012520            /   /       I   f       u   s   e   r       h   a   s
0012540        s   p   e   c   i   f   i   e   d       a       c   o   p
0012560    y       c   o   u   n   t   ,       w   i   l   l       b   e
0012600        n   e   e   d   e   d       f   o   r       r   e   p   r
0012620    i   n   t   i   n   g   ,       p   e   r   h   a   p   s    
0012640    (   e   v   e   n       t   h   o   u   g   h       d   o   c
0012660    u   m   e   n   t       d   i   r   e   c   t   o   r   y    
0012700    i   s       n   o   t       r   e   -   r   e   a   d   )  \r
0012720   \t  \t   l   e   t       o   v   e   r   R   i   d   e   C   o
0012740    p   i   e   s   =   p   r   i   n   t   D   o   c   >   >   D
0012760    o   c   G   .   n   C   o   p   i   e   s  \r  \r            
0013000    /   /       P   a   r   a   m   e   t   e   r   s       s   e
0013020    t       u   p       a   t       t   h   i   s       p   o   i
0013040    n   t       f   a   l   l       i   n   t   o       t   w   o
0013060        c   l   a   s   s   e   s   :  \r               /   /    
0013100    C   O   N   S   T   A   N   T   :       r   e   l   a   t   e
0013120        t   o       p   r   i   n   t   e   r       o   r       i
0013140    n   s   t   a   l   l   a   t   i   o   n       r   e   q   u
0013160    i   r   e   m   e   n   t   s       (   R   e   s   o   l   u
0013200    t   i   o   n   S   ,       R   e   s   o   l   u   t   i   o
0013220    n   B   ,       P   a   p   e   r   D   i   m   e   n   s   i
0013240    o   n   X   ,       F   A   )  \r               /   /       F
0013260    I   L   E   :       r   e   l   a   t   e       t   o       t
0013300    h   e       p   a   r   t   i   c   u   l   a   r       P   r
0013320    e   s   s       f   i   l   e   :       a   l   l       a   r
0013340    e       c   o   n   t   a   i   n   e   d  \t   i   n       t
0013360    h   e       D   o   c   G       s   t   r   u   c   t   u   r
0013400    e       p   o   i   n   t   e   d       t   o       b   y    
0013420    p   D   o   c  \r               /   /  \t   P   r   e   s   s
0013440    F   i   l   e   :       a       f   i   l   e       s   t   r
0013460    u   c   t   u   r   e       f   o   r       t   h   e       f
0013500    i   l   e       t   o       b   e       p   r   i   n   t   e
0013520    d       (   o   r       -   1       f   o   r       r   e   p
0013540    r   i   n   t   i   n   g   )  \r               /   /  \t   n
0013560    C   o   p   i   e   s       (   S   t   a   n   d   -   a   l
0013600    o   n   e       o   n   l   y       -   -       n   o       w
0013620    a   y       f   o   r       u   s   e   r       t   o       s
0013640    p   e   c   i   f   y       v   i   a       E   F   T   P   /
0013660    P   r   e   s   s   )  \r               /   /  \t   X   O   f
0013700    f   s   e   t   ,   Y   O   f   f   s   e   t   ,   S   c   a
0013720    l   e   O   f   f   s   e   t   :       p   e   r   t   u   r
0013740    b       p   a   g   e       p   l   a   c   e   m   e   n   t
0013760   \r               /   /  \t   U   s   e   r   P   a   g   e   S
0014000    t   a   r   t   ,   U   s   e   r   P   a   g   e   E   n   d
0014020    :       p   a   g   e       r   a   n   g   e   s  \r        
0014040           \r  \t  \t   c   o   m   p   i   l   e   i   f       R
0014060    e   p   o   r   t   S   w       t   h   e   n       [       G
0014100    e   t   T   i   m   e   (   l   v       R   e   p   o   r   t
0014120    >   >   R   E   P   .   t   o   t   a   l   T   i   m   e   )
0014140        ]  \r                   /   /       S   u   p   p   l   y
0014160        d   e   f   a   u   l   t   s       f   o   r       p   r
0014200    i   n   t   i   n   g       p   a   r   a   m   e   t   e   r
0014220    s       n   o   t       s   u   p   p   l   i   e   d       b
0014240    y       u   s   e   r  \r      \t  \t   l   e   t       p   D
0014260    o   c       =       p   r   i   n   t   D   o   c       /   /
0014300        ~   ~       h   i   s   t   o   r   i   c   a   l       n
0014320    o   m   e   n   c   l   a   t   u   r   e  \r  \t  \t   p   D
0014340    o   c   >   >   D   o   c   G   .   U   s   e   r   P   a   g
0014360    e   S   t   a   r   t       =       M   a   x   (   1   ,    
0014400    p   D   o   c   >   >   D   o   c   G   .   U   s   e   r   P
0014420    a   g   e   S   t   a   r   t   )  \r  \t  \t   u   n   l   e
0014440    s   s       p   D   o   c   >   >   D   o   c   G   .   U   s
0014460    e   r   P   a   g   e   E   n   d       d   o       p   D   o
0014500    c   >   >   D   o   c   G   .   U   s   e   r   P   a   g   e
0014520    E   n   d       =       1   0   0   0  \r  \t  \t   p   D   o
0014540    c   >   >   D   o   c   G   .   U   s   e   r   P   a   g   e
0014560    E   n   d       =       M   a   x   (   p   D   o   c   >   >
0014600    D   o   c   G   .   U   s   e   r   P   a   g   e   S   t   a
0014620    r   t   ,       p   D   o   c   >   >   D   o   c   G   .   U
0014640    s   e   r   P   a   g   e   E   n   d   )  \r      \t  \t   l
0014660    e   t       r   e   p   r   i   n   t   ,       o   v   e   r
0014700    R   i   d   e   D   u   p   l   e   x   ,       o   v   e   r
0014720    R   i   d   e   P   a   g   e   S   t   a   r   t   ,       o
0014740    v   e   r   R   i   d   e   P   a   g   e   E   n   d       =
0014760        f   a   l   s   e   ,       f   a   l   s   e   ,       0
0015000    ,       0  \r  \r                   i   f       (   D   e   b
0015020    u   g   S   y   s   t   e   m   &   2   )       e   q       0
0015040        t   h   e   n       /   /       I   n   h   i   b   i   t
0015060        p   r   o   c   e   s   s   i   n   g       i   f       D
0015100    e   b   u   g   S   y   s   t   e   m   '   s       2       b
0015120    i   t       i   s       o  \0  \0  \r  \t  \t  \t       [   D
0015140    o   P   r   i   n   t  \r                  \t  \t  \t   /   /
0015160        O   b   t   a   i   n       B   a   n   d       P   r   o
0015200    c   e   s   s   i   n   g       C   o   d   e  \r            
0015220       \t  \t  \t   /   /   |   |       (   O   V   T   8   0   )
0015240    ,       O   V   B   a   s   e   ,       O   V   I   n   i   t
0015260        |   |  \r  \t  \t  \t   l   e   t       b   a   s   e   L
0015300    e   v   P   1       =       I   s   O   v   e   r   l   a   y
0015320    P   r   e   s   e   n   t   (   O   V   B   a   s   e   )   +
0015340    1  \r  \t  \t  \t   l   e   t       r   e   p   r   i   n   t
0015360        =       f   a   l   s   e  \r  \t  \t  \t   t   e   s   t
0015400        p   D   o   c   >   >   D   o   c   G   .   P   r   e   s
0015420    s   F   i   l   e       n   e       -   1       t   h   e   n
0015440        /   /       e   l   s   e       r   e   p   r   i   n   t
0015460    ,       p   o   w   e   r       o   n   ,       o   r       p
0015500    o   w   e   r       o   f   f  \r  \t  \t  \t  \t   [  \r  \t
0015520   \t  \t  \t   O   v   e   r   l   a   y   (   O   V   I   n   t
0015540    e   r   p   r   e   t   ,       b   a   s   e   L   e   v   P
0015560    1   ,       l   v       L   o   a   d   S   h   o   w   M   C
0015600    )  \r      \t  \t  \t  \t   O   v   0   :  \r  \t  \t  \t  \t
0015620    i   f       (   D   e   b   u   g   S   y   s   t   e   m   &
0015640    #   1   0   0   )       n   e       0       t   h   e   n    
0015660    C   a   l   l   S   w   a   t   (   "   S   p   r   i   n   t
0015700    :       O   v   0   "   )  \r  \t  \t  \t  \t   F   S   I   n
0015720    i   t   (   )  \r  \t  \t  \t  \t   I   n   t   e   r   p   r
0015740    e   t   (   p   D   o   c   )  \r  \t  \t  \t  \t   ]  \r    
0015760   \t  \t  \t   o   r  \t   [  \r  \t  \t  \t  \t   l   e   t    
0016000    d   i   r   e   c   t   i   v   e       =       p   D   o   c
0016020    >   >   D   o   c   G   .   p   r   i   n   t   e   r   D   i
0016040    r   e   c   t   i   v   e  \r  \t  \t  \t  \t   s   w   i   t
0016060    c   h   o   n           d   i   r   e   c   t   i   v   e    
0016100    i   n   t   o       /   /       S   e   e       S   p   r   u
0016120    c   e   I   n   i   t       f   o   r       S   p   r   u   c
0016140    e       c   o   m   m   a   n   d   s       l   e   a   d   i
0016160    n   g       t   o       d   i   r   e   c   t   i   v   e   s
0016200   \r  \t  \t  \t  \t  \t   [  \r  \t  \t  \t  \t  \t   c   a   s
0016220    e       0   :  \r  \t  \t  \t  \t  \t   c   a   s   e       1
0016240    0   0   :  \r  \t  \t  \t  \t  \t  \t   O   v   e   r   l   a
0016260    y   (   O   V   I   n   t   e   r   p   r   e   t   ,       b
0016300    a   s   e   L   e   v   P   1   ,       l   v       L   o   a
0016320    d   S   h   o   w   M   C   )  \r  \t  \t  \t  \t  \t  \t   F
0016340    S   I   n   i   t   (   )   ;       d   o   c   a   s   e    
0016360    d   i   r   e   c   t   i   v   e   +   1   0   0   0  \r  \t
0016400   \t  \t  \t  \t   c   a   s   e       1   0   0   0   :       /
0016420    /       c   a   s   e       0   ,       e   x   t   e   n   d
0016440    e   d  \r  \t  \t  \t  \t  \t  \t   I   n   i   t   S   p   r
0016460    u   c   e   F   i   l   e   (   B   a   n   d   F   i   l   e
0016500    ,       0   ,       0   )   ;  \r  \t  \t  \t  \t  \t  \t   o
0016520    v   e   r   R   i   d   e   P   a   g   e   S   t   a   r   t
0016540        =       p   D   o   c   >   >   D   o   c   G   .   U   s
0016560    e   r   P   a   g   e   S   t   a   r   t  \r  \t  \t  \t  \t
0016600   \t  \t   o   v   e   r   R   i   d   e   P   a   g   e   E   n
0016620    d       =       p   D   o   c   >   >   D   o   c   G   .   U
0016640    s   e   r   P   a   g   e   E   n   d  \r  \t  \t  \t  \t  \t
0016660   \t   o   v   e   r   R   i   d   e   D   u   p   l   e   x    
0016700    =       p   D   o   c   >   >   D   o   c   G   .   d   u   p
0016720    l   e   x  \r      \t  \t  \t  \t  \t  \t   r   e   p   r   i
0016740    n   t       =       t   r   u   e   ;       e   n   d   c   a
0016760    s   e           /   /       p   r   e   p   a   r   e       f
0017000    o   r       r   e   p   r   i   n   t  \r  \t  \t  \t  \t  \t
0017020    /   /       r   e   m   o   v   e   d       c   a   l   l    
0017040    t   o       V   a   l   i   d   a   t   e   F   o   n   t   s
0017060    (   )  \r  \t  \t  \t  \t  \t   c   a   s   e       1   1   0
0017100    0   :       d   o   c   a   s   e       -   1       /   /    
0017120    c   a   s   e       1   0   0   ,       e   x   t   e   n   d
0017140    e   d  \r  \t  \t  \t  \t  \t   d   e   f   a   u   l   t   :
0017160        /   /       P   o   w   e   r       o   n       o   r    
0017200    o   f   f  \r  \t  \t  \t  \t  \t  \t   P   r   i   n   t   I
0017220    n   i   t   (   d   i   r   e   c   t   i   v   e   )   ;    
0017240    /   /       d   o   c   a   s   e       -   1  \r  \t  \t  \t
0017260   \t  \t   c   a   s   e       -   1   :       o   u   t   M   s
0017300    g   >   >   T   O   S   p   o   o   l   e   r   M   s   g   .
0017320    n   u   m   P   r   i   n   t   e   d       =       1   ;    
0017340    b   r   e   a   k  \r  \t  \t  \t  \t  \t   ]  \r  \t  \t  \t
0017360   \t   ]  \r   /   /       P       R       I       N       T  \r
0017400   \t  \t  \t   /   /   |   |       (   O   V   T   8   0   )   ,
0017420        O   V   B   a   s   e   ,       O   V   I   n   t   e   r
0017440    p   r   e   t       |   |  \r  \t  \t  \t   p   D   o   c   =
0017460    P   a   g   e   D   a   t   a   (   0   )  \t  \t   /   /   R
0017500    e   a   d       i   n       t   h   e       g   o   o   d   i
0017520    e   s       -   -       d   e   s   t   r   o   y   s       S
0017540    p   r   u   c   e   Z   o   n   e  \r  \t  \t  \t   O   v   e
0017560    r   l   a   y   (   O   V   P   r   i   n   t   ,       I   s
0017600    O   v   e   r   l   a   y   P   r   e   s   e   n   t   (   O
0017620    V   T   8   0   )   +   1   ,       l   v       L   o   a   d
0017640    O   r   b   i   t   M   C   )  \r  \t  \t  \t   /   /   |   |
0017660        (   O   V   T   8   0   )   ,       O   V   P   r   i   n
0017700    t       |   |  \r          \t  \t   O   v   1   :  \r  \t  \t
0017720   \t   i   f       (   D   e   b   u   g   S   y   s   t   e   m
0017740    &   #   2   0   0   )       n   e       0       t   h   e   n
0017760        C   a   l   l   S   w   a   t   (   "   S   p   r   i   n
0020000    t   :       O   v   1   "   )  \r  \t  \t  \t   i   f       o
0020020    v   e   r   R   i   d   e   C   o   p   i   e   s       t   h
0020040    e   n       p   D   o   c   >   >   D   o   c   G   .   n   C
0020060    o   p   i   e   s   =   o   v   e   r   R   i   d   e   C   o
0020100    p   i   e   s  \r  \t  \t  \t   l   e   t       n   P   r   i
0020120    n   t   e   d   =   0  \r  \t  \t  \t   i   f       r   e   p
0020140    r   i   n   t       d   o  \r  \t  \t  \t  \t   [  \r  \t  \t
0020160   \t  \t   i   f       o   v   e   r   R   i   d   e   P   a   g
0020200    e   S   t   a   r   t       >       p   D   o   c   >   >   D
0020220    o   c   G   .   U   s   e   r   P   a   g   e   S   t   a   r
0020240    t       d   o  \r  \t  \t  \t  \t  \t   [       n   P   r   i
0020260    n   t   e   d           =       o   v   e   r   R   i   d   e
0020300    P   a   g   e   S   t   a   r   t       -       p   D   o   c
0020320    >   >   D   o   c   G   .   U   s   e   r   P   a   g   e   S
0020340    t   a   r   t       -   1  \r  \t  \t  \t  \t  \t   p   D   o
0020360    c   >   >   D   o   c   G   .   U   s   e   r   P   a   g   e
0020400    S   t   a   r   t       =       o   v   e   r   R   i   d   e
0020420    P   a   g   e   S   t   a   r   t       ]  \r  \t  \t  \t  \t
0020440    i   f       o   v   e   r   R   i   d   e   P   a   g   e   E
0020460    n   d       <       p   D   o   c   >   >   D   o   c   G   .
0020500    U   s   e   r   P   a   g   e   E   n   d       d   o  \r  \t
0020520   \t  \t  \t  \t   p   D   o   c   >   >   D   o   c   G   .   U
0020540    s   e   r   P   a   g   e   E   n   d       =       o   v   e
0020560    r   R   i   d   e   P   a   g   e   E   n   d  \r  \t  \t  \t
0020600   \t   p   D   o   c   >   >   D   o   c   G   .   n   P   a   g
0020620    e   s       =       p   D   o   c   >   >   D   o   c   G   .
0020640    U   s   e   r   P   a   g   e   E   n   d       -   p   D   o
0020660    c   >   >   D   o   c   G   .   U   s   e   r   P   a   g   e
0020700    S   t   a   r   t       +  \r  \t  \t  \t  \t  \t       b   r
0020720    e   a   k   P   a   g   e       +   1  \r  \t  \t  \t  \t   p
0020740    D   o   c   >   >   D   o   c   G   .   d   u   p   l   e   x
0020760        =       o   v   e   r   R   i   d   e   D   u   p   l   e
0021000    x  \r  \t  \t  \t  \t   ]  \r  \t  \t  \t  \t   [  \r  \t  \t
0021020   \t  \t   l   e   t       r   e   p   o   r   t       =       n
0021040    i   l  \r  \t  \t  \t  \t   E   a   r   O   n   (   2   )    
0021060    /   /       d   u   t   y       c   y   c   l   e       l   i
0021100    m   i   t   e   d   ;       r   c   v   r       t   u   r   n
0021120    e   d       o   n       o   n   l   y       b   y       "   t
0021140    i   c   k   "       c   o   d   e  \r  \t  \t  \t  \t   l   e
0021160    t       o   l   d   P   e   r   m   B   o   t       =       P
0021200    e   r   m   a   n   e   n   t   B   o   t   t   o   m        
0021220    /   /       ~   ~       o   u   t   r   a   g   e   o   u   s
0021240   \r  \t  \t  \t  \t   n   P   r   i   n   t   e   d           =
0021260            P   r   i   n   t   (   p   D   o   c   ,       n   P
0021300    r   i   n   t   e   d   ,       l   v       r   e   p   o   r
0021320    t   )  \r  \t  \t  \t  \t   P   e   r   m   a   n   e   n   t
0021340    B   o   t   t   o   m       =       o   l   d   P   e   r   m
0021360    B   o   t       /   /       ~   ~       o   u   t   r   a   g
0021400    e   o   u   s  \r  \t   /   /       i   f       s   o   m   e
0021420    o   n   e       k   n   o   c   k   e   d       a   n   d    
0021440    w   e       a   r   e       d   e   f   e   r   r   i   n   g
0021460        t   o       t   h   e       s   p   o   o   l   e   r   ,
0021500        n   P   r   i   n   t   e   d       g   e       0       a
0021520    n   d       r   e   p   o   r   t       =       0  \r  \t   /
0021540    /       e   l   s   e       i   f       n   P   r   i   n   t
0021560    e   d       g   e       0   ,       r   e   p   o   r   t    
0021600    t   e   l   l   s       o   f       a       m   a   j   o   r
0021620        b   u   g       t   h   a   t       s   t   o   p   p   e
0021640    d       t   h   i   n   g   s       o   r       a       m   i
0021660    n   o   r       o   n   e  \r  \t   /   /       t   h   a   t
0021700        w   e   '   r   e       r   e   p   o   r   t   i   n   g
0021720        n   o   w       t   h   a   t       a   l   l       i   s
0021740        d   o   n   e   .       I   n       t   h   e       l   a
0021760    s   t       c   a   s   e   ,       n   P   r   i   n   t   e
0022000    d       i   s       s   u   c   h      \r  \t   /   /       t
0022020    h   a   t       p   r   i   n   t   i   n   g       w   i   l
0022040    l       t   e   r   m   i   n   a   t   e       i   m   m   e
0022060    d   i   a   t   e   l   y       o   n       c   l   o   s   i
0022100    n   g       t   h   e       l   o   o   p       ~   ~   ~   ~
0022120    ~   !  \r  \t  \t  \t  \t   i   f       n   P   r   i   n   t
0022140    e   d   <   0       %       (   r   e   p   o   r   t       &
0022160        D   e   b   u   g   )       t   h   e   n       [       E
0022200    a   r   O   n   (   1   )   ;       b   r   e   a   k       ]
0022220        /   /   g   o   o   d   ,       o   r       e   r   r   o
0022240    r       b   u   t       d   e   b   u   g   g   i   n   g  \r
0022260   \t  \t  \t  \t   t   e   s   t       r   e   p   o   r   t    
0022300    t   h   e   n       S   p   r   u   c   e   C   o   n   d   i
0022320    t   i   o   n   (   5   0   0   0   +   r   e   p   o   r   t
0022340    ,   E   C   E   n   g   i   n   e   T   e   r   m   i   n   a
0022360    t   e   )  \r  \t  \t  \t  \t  \t   o   r       S   w   a   p
0022400    O   n   S   p   o   o   l   R   e   q   u   e   s   t   (   )
0022420        /   /       o   f       w   h   i   c   h       w   e    
0022440    k   n   o   w       t   h   e   r   e       i   s       o   n
0022460    e  \r  \t  \t  \t  \t   P   r   i   n   t   S   e   t   P   a
0022500    r   a   m   e   t   e   r   s   (   0   )       /   /       R
0022520    e   t   u   r   n   i   n   g       a   f   t   e   r       p
0022540    e   r   h   a   p   s       a       l   o   n   g       t   i
0022560    m   e  \r  \t  \t  \t  \t   ]       r   e   p   e   a   t    
0022600    /   /       w   i   l   l       l   o   o   p       a   f   t
0022620    e   r       r   e   t   u   r   n       f   r   o   m       I
0022640    n   L   d  \r  \r      \t  \t  \t   /   /   A   n   d       f
0022660    i   n   i   s   h       s   t   a   t   i   s   t   i   c   s
0022700    :  \r  \t  \t  \t   c   o   m   p   i   l   e   i   f       R
0022720    e   p   o   r   t   S   w       t   h   e   n       [       R
0022740    e   p   o   r   t   >   >   R   E   P   .   S   u   c   c   e
0022760    s   s   =   t   r   u   e       ]  \r  \t  \t  \t   c   o   m
0023000    p   i   l   e   i   f       R   e   p   o   r   t   S   w    
0023020    &       M   e   t   e   r   S   w       t   h   e   n       [
0023040        M   e   t   e   r   B   l   o   c   k   (   M   E   T   E
0023060    R   R   e   p   ,       R   e   p   o   r   t   ,       s   i
0023100    z   e       R   E   P   /   1   6   )       ]  \r  \t  \t  \t
0023120    c   o   m   p   i   l   e   i   f       M   e   t   e   r   S
0023140    w       t   h   e   n       [       M   e   t   e   r   C   l
0023160    o   s   e   (   )       ]  \r  \t  \t  \t   ]   D   o   P   r
0023200    i   n   t  \r  \t  \t   n   u   m   P   r   i   n   t   e   d
0023220        =       n   u   m   P   r   i   n   t   e   d       +    
0023240    1  \r  \t  \t   o   u   t   M   s   g   >   >   T   O   S   p
0023260    o   o   l   e   r   M   s   g   .   n   u   m   P   r   i   n
0023300    t   e   d       =       n   u   m   P   r   i   n   t   e   d
0023320   \r  \t  \t   o   u   t   M   s   g   >   >   T   O   S   p   o
0023340    o   l   e   r   M   s   g   .   l   a   s   t   P   r   i   n
0023360    t   e   d   C   o   d   e       =           p   D   o   c   >
0023400    >   D   o   c   G   .   P   r   e   s   s   F   i   l   e   >
0023420    >   S   P   r   u   c   e   F   i   l   e   .   f   i   l   e
0023440    C   o   d   e  \r  \t  \t   ]   P   r   i   n   t   O   n   e
0023460        r   e   p   e   a   t       /   /       l   o   o   p    
0023500    n   u   m   P   r   i   n   t   e   d       t   o       n   u
0023520    m   F   i   l   e   s   S   p   o   o   l   e   d  \r      \t
0023540    o   u   t   M   s   g   >   >   T   O   S   p   o   o   l   e
0023560    r   M   s   g   .   c   o   m   p   l   e   t   i   o   n   C
0023600    o   d   e       =       C   C   F   i   n   i   s   h   e   d
0023620   \r  \t   ]   P   r   i   n   t       r   e   p   e   a   t  \r
0023640    ]   S   p   r   i   n   t  \r  \r   /   /       T   h   i   s
0023660        i   s       h   e   r   e       b   e   c   a   u   s   e
0023700        F   o   r   c   e   B   r   e   a   k   P   a   g   e    
0023720    i   s       i   n       t   h   e       o   t   h   e   r    
0023740    o   v   e   r   l   a   y       f   r   o   m       P   r   i
0023760    n   t  \r   a   n   d       D   o   B   r   e   a   k   P   a
0024000    g   e   (   )       b   e  \r  \t   [  \r  \t   F   o   r   c
0024020    e   B   r   e   a   k   P   a   g   e   (   p   r   i   n   t
0024040    D   o   c   )  \t   /   /       ~   ~       d   i   r   t   y
0024060        p   D   o   c       c   o   n   v   e   n   t   i   o   n
0024100    s  \r  \t   l   e   t       p   D   o   c   =   P   a   g   e
0024120    D   a   t   a   (   0   )  \t  \t   /   /   R   e   a   d    
0024140    i   n       t   h   e       g   o   o   d   i   e   s       -
0024160    -       d   e   s   t   r   o   y   s       S   p   r   u   c
0024200    e   Z   o   n   e  \r  \t   /   /   |   |       (   O   V   T
0024220    8   0   )   ,       O   V   B   a   s   e   ,       O   V   I
0024240    n   t   e   r   p   r   e   t  \r  \t   O   v   e   r   l   a
0024260    y   (   O   V   P   r   i   n   t   ,       I   s   O   v   e
0024300    r   l   a   y   P   r   e   s   e   n   t   (   O   V   T   8
0024320    0   )   +   1   ,       l   v       L   o   a   d   O   r   b
0024340    i   t   M   C   )       /   /   |   |       (   O   V   T   8
0024360    0   )   ,       O   V   P   r   i   n   t       |   |  \r    
0024400                    O   v   1   E   r   r   :  \r  \t   p   r   i
0024420    n   t   D   o   c       =       p   D   o   c  \t   /   /    
0024440    ~   ~       j   u   s   t       i   n       c   a   s   e  \r
0024460   \t   l   e   t       n   P   r   i   n   t   e   d   =   0  \r
0024500   \r  \t  \t   [  \r  \t  \t   l   e   t       r   e   p   o   r
0024520    t       =       n   i   l  \r  \t  \t   E   a   r   O   n   (
0024540    2   )       /   /       d   u   t   y       c   y   c   l   e
0024560        l   i   m   i   t   e   d   ;       r   c   v   r       t
0024600    u   r   n   e   d       o   n       o   n   l   y       b   y
0024620        "   t   i   c   k   "       c   o   d   e  \r  \t  \t   l
0024640    e   t       o   l   d   P   e   r   m   B   o   t       =    
0024660    P   e   r   m   a   n   e   n   t   B   o   t   t   o   m    
0024700        /   /       ~   ~       o   u   t   r   a   g   e   o   u
0024720    s  \r  \t  \t   n   P   r   i   n   t   e   d           =    
0024740        P   r   i   n   t           (   p   D   o   c   ,       n
0024760    P   r   i   n   t   e   d   ,       l   v       r   e   p   o
0025000    r   t   )  \r  \t  \t   E   a   r   O   n   (   1   )  \r  \t
0025020   \t   P   e   r   m   a   n   e   n   t   B   o   t   t   o   m
0025040        =       o   l   d   P   e   r   m   B   o   t       /   /
0025060        ~   ~       o   u   t   r   a   g   e   o   u   s  \r  \t
0025100   \t   i   f       n   P   r   i   n   t   e   d       <       0
0025120        %       D   e   b   u   g       r   e   t   u   r   n  \r
0025140   \t  \t   S   p   r   u   c   e   C   o   n   d   i   t   i   o
0025160    n   (   5   0   0   0   +   r   e   p   o   r   t   ,   E   C
0025200    E   n   g   i   n   e   T   e   r   m   i   n   a   t   e   )
0025220   \r  \t      \t   ]       r   e   p   e   a   t      \r  \t   ]
0025240   \r   /   /       D   C   S   ,       J   u   l   y       2   7
0025260    ,       1   9   7   7           1   0   :   0   0       P   M
0025300    ,       d   e   r   i   v   e   d       (   l   o   o   s   e
0025320    l   y   )       f   r   o   m       "   P   r   e   s   s   "
0025340        v   e   r   s   i   o   n       o   f       S   p   r   u
0025360    c   e  \r   /   /       J   u   l   y       2   8   ,       1
0025400    9   7   7           1   0   :   2   4       A   M   ,       s
0025420    p   r   u   c   e       u   p       e   n   o   u   g   h    
0025440    t   o       r   u   n       i   n   i   t   i   a   l       t
0025460    e   s   t  \r   /   /       J   u   l   y       2   9   ,    
0025500    1   9   7   7           3   :   0   4       P   M   ,       d
0025520    o   n   '   t       c   h   a   n   g   e       f   i   n   i
0025540    s   h       p   r   o   c       u   n   t   i   l       R   a
0025560    m       i   s       l   o   a   d   e   d  \r   /   /       J
0025600    u   l   y       3   0   ,       1   9   7   7           1   0
0025620    :   1   2       P   M   ,       r   e   p   a   i   r       r
0025640    a   n   d   o   m       b   u   g   s       t   o       f   i
0025660    r   s   t       w   o   r   k   i   n   g       S   p   o   o
0025700    l   e   d       p   r   i   n   t   e   r   !  \r   /   /    
0025720    A   u   g   u   s   t       2   ,       1   9   7   7        
0025740    1   2   :   1   0       A   M   ,       a   d   d       r   e
0025760    p   r   i   n   t   ,       p   o   w   e   r       o   n   ,
0026000        p   o   w   e   r       o   f   f  \r   /   /       A   u
0026020    g   u   s   t       7   ,       1   9   7   7           1   2
0026040    :   4   0       P   M   ,       p   u   t       i   n       a
0026060    p   p   r   o   x   .       t   o       f   i   n   a   l    
0026100    e   r   r   o   r       m   a   n   a   g   e   m   e   n   t
0026120    .  \r   /   /       A   u   g   u   s   t       2   2   ,    
0026140    1   9   7   7           5   :   2   3       P   M   ,       D
0026160    e   b   u   g   S   y   s   t   e   m       t   a   k   e   s
0026200        o   n       b   i   t       b   y       b   i   t       m
0026220    e   a   n   i   n   g  \r   /   /  \t   (   s   e   e       S
0026240    h   a   r   e   d   S   t   a   t   i   c   s   )  \r   /   /
0026260        A   u   g   u   s   t       2   8   ,       1   9   7   7
0026300            7   :   3   5       A   M   ,       S   p   r   u   c
0026320    e       -   >       S   p   r   i   n   t   ,       S   p   r
0026340    o   u   l   l   e   r   -   >   S   p   r   u   c   e  \r   /
0026360    /       S   e   p   t   e   m   b   e   r       2   ,       1
0026400    9   7   7           4   :   2   6       P   M   ,       a   d
0026420    d       e   t   h   e   r       "   e   a   r   "  \r   /   /
0026440        S   e   p   t   e   m   b   e   r       5   ,       1   9
0026460    7   7           9   :   3   8       A   M   ,       a   d   d
0026500        S   w   a   p   O   n   S   p   o   o   l   R   e   q   u
0026520    e   s   t  \r   /   /       S   e   p   t   e   m   b   e   r
0026540        2   3   ,       1   9   7   7           9   :   5   7    
0026560    P   M   ,       a   c   c   o   m   m   o   d   a   t   e    
0026600    n   e   w       p   r   i   n   t   e   r       s   t   a   t
0026620    u   s       r   e   p   o   r   t   i   n   g  \r   /   /    
0026640    N   o   v   e   m   b   e   r       3   ,       1   9   7   7
0026660            7   :   4   4       A   M   ,       p   i   c   k    
0026700    u   p       L   E   V   S   h   a   r   e   d   R   u   n    
0026720    s   t   u   f   f       i   n       i   n   M   s   g       a
0026740    f   t   e   r       f   u   l   l       s   w   a   p   ,    
0026760    v   4   .   (   2   ,   7   )  \r   /   /       D   e   c   e
0027000    m   b   e   r       2   0   ,       1   9   7   7           3
0027020    :   1   9       P   M   ,       m   o   d   s       f   o   r
0027040        T   r   i   d   e   n   t       d   i   s   k       v   e
0027060    r   s   i   o   n  \r   /   /       J   a   n   u   a   r   y
0027100        2   0   ,       1   9   7   8           1   :   5   6    
0027120    P   M   ,       a   c   c   o   m   m   o   d   a   t   e    
0027140    i   m   p   r   o   v   e   d       o   v   e   r   l   a   y
0027160        s   t   r   u   c   t   u   r   e  \r   /   /       J   a
0027200    n   u   a   r   y       2   1   ,       1   9   7   8        
0027220    1   2   :   5   0       A   M   ,       r   e   m   o   v   e
0027240        S   w   a   p   S   y   s   t   e   m   ,       .   .   .
0027260    O   n   S   p   o   o   l   R   e   q   .   .   .   ,       f
0027300    i   n   i   s   h       p   r   o   c   e   d   u   r   e  \r
0027320    /   /       J   a   n   u   a   r   y       2   3   ,       1
0027340    9   7   8           9   :   5   7       A   M   ,       m   o
0027360    v   e       P   a   g   e   D   a   t   a       t   o       S
0027400    p   r   u   c   e   B   a   n   d   ,       c   a   l   l    
0027420    i   t       b   e   f   o   r   e       p   r   i   n   t    
0027440    o   v   e   r   l   a   y  \r   /   /       J   a   n   u   a
0027460    r   y       2   3   ,       1   9   7   8           5   :   4
0027500    2       P   M   ,       b   r   i   n   g       i   n       I
0027520    n   t   e   r   p   r   e   t       o   v   e   r   l   a   y
0027540        t   o       p   r   o   c   e   s   s       r   e   p   r
0027560    i   n   t   ,       e   t   c   .       (   P   a   g   e   D
0027600    a   t   a   )       ~   ~  \r   /   /       M   a   r   c   h
0027620        1   0   ,       1   9   7   8           9   :   2   4    
0027640    A   M   ,       a   d   d       O   V   I   n   i   t  \r   /
0027660    /       M   a   y       1   1   ,       1   9   7   8        
0027700    6   :   4   6       P   M   ,       a   c   c   o   m   m   o
0027720    d   a   t   e       i   n   t   e   r   r   u   p   t       l
0027740    e   v   e   l       E   t   h   e   r       E   a   r  \r   /
0027760    /       M   a   y       1   2   ,       1   9   7   8        
0030000    5   :   5   5       P   M   ,       s   u   s   p   e   n   s
0030020    i   o   n       d   u   r   i   n   g       p   r   i   n   t
0030040    i   n   g   !  \r   /   /       A   u   g   u   s   t       2
0030060    8   ,       1   9   7   8           8   :   3   7       P   M
0030100    ,       c   h   a   n   g   e       E   a   r   O   n       p
0030120    a   r   a   m   e   t   e   r       c   o   n   v   e   n   t
0030140    i   o   n   s  \r   /   /       S   e   p   t   e   m   b   e
0030160    r       1   5   ,       1   9   7   8           3   :   3   1
0030200        P   M   ,       a   c   c   o   m   m   o   d   a   t   e
0030220        n   e   w       i   n   s   t   a   l   l   a   t   i   o
0030240    n   ,       c   h   e   c   k   p   o   i   n   t       s   t
0030260    u   f   f  \r   /   /       S   e   p   t   e   m   b   e   r
0030300        1   8   ,       1   9   7   8           9   :   2   9    
0030320    A   M   ,       C   h   e   c   k   C   f   a       -   >    
0030340    C   h   e   c   k   F   p  \r   /   /       S   e   p   t   e
0030360    m   b   e   r       2   2   ,       1   9   7   8           2
0030400    :   2   2       P   M   ,       g   e   t       u   p   -   t
0030420    o   -   d   a   t   e       S   p   r   u   c   e       v   e
0030440    r   s   i   o   n   s       a   f   t   e   r       S   p   o
0030460    o   l   e   r       c   a   l   l  \r   /   /       O   c   t
0030500    o   b   e   r       1   6   ,       1   9   7   8       8   :
0030520    5   0       A   M   ,       m   o   d   s       f   o   r    
0030540    f   a   s   t       f   i   l   e   s  \r   /   /       D   e
0030560    c   e   m   b   e   r       6   ,       1   9   7   8        
0030600    1   0   :   3   1       A   M       a   d   d       p   r   i
0030620    n   t   e   r       s   p   e   c   i   f   i   c       o   v
0030640    e   r   l   a   y       s   t   r   u   c   t   u   r   e  \r
0030660    /   /       A   p   r   i   l       2   5   ,       1   9   7
0030700    9           1   :   3   9       P   M       r   e   s   p   o
0030720    n   d       t   o       S   p   r   u   c   e       V   a   l
0030740    i   d   a   t   e   F   o   n   t   s       -   -       s   e
0030760    e       S   p   r   u   c   e   I   n   i   t   ,       S   p
0031000    r   u   c   e   V   a   l   i   d   a   t   e  \r   /   /    
0031020    A   u   g   u   s   t       2   9   ,       1   9   7   9    
0031040        1   :   3   1       P   M   ,       u   s   e       L   E
0031060    V   R   e   p   o   r   t       t   o       p   a   s   s    
0031100    B   i   n   C   o   u   n   t   e   r   s       b   a   c   k
0031120        a   n   d       f   o   r   t   h  \r   /   /       J   a
0031140    n   u   a   r   y       2   9   ,       1   9   8   0       4
0031160    :   3   3       P   M   ,       a   d   d       L   o   a   d
0031200    O   r   b   i   t   M   C       a   n   d       L   o   a   d
0031220    S   h   o   w   M   C       t   o       o   v   e   r   l   a
0031240    y       c   a   l   l   s  \r   /   /       J   u   l   y    
0031260    1   6   ,       1   9   8   0   ,       1   :   1   1       P
0031300    M       a   l   l   o   w       o   v   e   r   r   i   d   e
0031320        o   f       d   u   p   l   e   x   ,       p   a   g   e
0031340    -   s   t   a   r   t       a   n   d       -   e   n   d    
0031360    o   n       r   e   p   r   i   n   t  \r   /   /       J   u
0031400    l   y       2   2   ,       1   9   8   0   ,       4   :   1
0031420    4       P   M   ,       r   e   s   t   o   r   e       L   e
0031440    v   S   h   a   r   e   d   V   e   r   s   i   o   n   s    
0031460    f   i   r   s   t  \r   /   /       J   a   n   u   a   r   y
0031500        2   6   ,       1   9   8   1   ,       5   :   0   0   P
0031520    M   ,       c   r   e   a   t   e       p   r   i   n   t   D
0031540    a   t   e   S   t   r   i   n   g       f   o   r       u   s
0031560    e       o   n       b   r   e   a   k       p   a   g   e  \r
0031600    /   /       F   e   b   r   u   a   r   y       4   ,       1
0031620    9   8   1           8   :   5   3       P   M   ,           a
0031640    d   d       B   i   n   S   e   r   i   a   l   s       h   a
0031660    c   k   i   n   g   ,       h   e   n   c   e       m   o   r
0031700    e       C   h   e   c   k   P   o   i   n   t   i   n   g  \r
0031720    /   /       O   c   t   o   b   e   r       6   ,       1   9
0031740    8   2           1   1   :   2   4       A   M       r   e   m
0031760    o   v   e   d       r   e   f   s       t   o       V   a   l
0032000    i   d   a   t   e   F   o   n   t   s   (   )  \r 032   (   6
0032020    3   5   )   \   8   7   6   b   7   B   3   3   8   b   1   0
0032040    B   3   5   9   b   2   B   2   8   8   b   1   3   B   5   5
0032060    b   9   B   2   6   9   b   2   5   B   1   6   7   5   b   6
0032100    1   B   5   1   9   b   7   9   B   6   6   6   b   2   B   6
0032120    2   b   7   9   B   2   3   0   2   b   3   5   B  \r        
0032136