$ od -c -N 50000 [Pixel]<IFS>IfsRsMgr.dm!1
0000000  377  \0  \0   I   f   s   E   v   e   n   t   M   g   r   I   n
0000020    i   t   .   b   c   p   l  \0 373 231   k 026 264  \0  \0 376
0000040  001  \0   Q 207   /   /       I   f   s   E   v   e   n   t   M
0000060    g   r   I   n   i   t   .   b   c   p   l       -       E   v
0000100    e   n   t       M   a   n   a   g   e   r       i   n   i   t
0000120    i   a   l   i   z   a   t   i   o   n  \r   /   /       C   o
0000140    p   y   r   i   g   h   t       X   e   r   o   x       C   o
0000160    r   p   o   r   a   t   i   o   n       1   9   7   9   ,    
0000200    1   9   8   2  \r  \r   /   /       L   a   s   t       m   o
0000220    d   i   f   i   e   d       J   u   l   y       2   5   ,    
0000240    1   9   8   2           2   :   0   7       P   M       b   y
0000260        T   a   f   t  \r  \r   g   e   t       "   I   f   s   .
0000300    d   e   c   l   "  \r  \r   e   x   t   e   r   n   a   l  \r
0000320    [  \r   /   /           O   u   t   g   o   i   n   g       p
0000340    r   o   c   e   d   u   r   e   s  \r   I   n   i   t   E   v
0000360    e   n   t   M   g   r  \r  \r   /   /           I   n   c   o
0000400    m   i   n   g       p   r   o   c   e   d   u   r   e   s  \r
0000420    A   l   l   o   c   a   t   e   ;       S   y   s   A   l   l
0000440    o   c   a   t 376 001  \0   K 247   e   Z   e   r   o   ;    
0000460    E   n   q   u   e   u   e   ;       I   n   i   t   i   a   l
0000500    i   z   e   C   o   n   t   e   x   t   ;       E   v   e   n
0000520    t   M   g   r  \r  \r   /   /           I   n   c   o   m   i
0000540    n   g       s   t   a   t   i   c   s  \r   s   y   s   Z   o
0000560    n   e   ;       b   i   g   Z   o   n   e   ;       i   f   s
0000600    C   t   x   Q   ;       @   e   v   e   n   t   S   t   a   t
0000620    e  \r   ]  \r  \r   s   t   a   t   i   c       e   v   e   n
0000640    t   M   g   r   S   S       =       8   0   0  \r  \r   m   a
0000660    n   i   f   e   s   t       l   e   n   E   v   e   n   t   S
0000700    t   a   t   e       =       3           /   /       =       s
0000720    i   z   e       E   v   e   n   t   S   t   a   t   e   /   1
0000740    6  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0000760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001040    -   -   -   -   -   -   -   -   - 376  \0 370   l   -   -   -
0001060    -   -   -   -   -   -  \r   l   e   t       I   n   i   t   E
0001100    v   e   n   t   M   g   r   (   )       b   e  \r   /   /   -
0001120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001220    -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   e   v
0001240    e   n   t   S   t   a   t   e       =       S   y   s   A   l
0001260    l   o   c   a   t   e   Z   e   r   o   (   l   e   n   E   v
0001300    e   n   t   S   t   a   t   e   )  \r   E   n   q   u   e   u
0001320    e   (   i   f   s   C   t   x   Q   ,       I   n   i   t   i
0001340    a   l   i   z   e   C   o   n   t   e   x   t   (   A   l   l
0001360    o   c   a   t   e   (   b   i   g   Z   o   n   e   ,       e
0001400    v   e   n   t   M   g   r   S   S   )   ,       e   v   e   n
0001420    t   M   g   r   S   S   ,  \r       E   v   e   n   t   M   g
0001440    r   )   )  \r   ]  \r 377  \0  \0   I   f   s   E   v   e   n
0001460    t   M   g   r   .   b   c   p   l  \0 373 231   k 031   k  \0
0001500   \0 376 001  \0   c 201   /   /       I   f   s   E   v   e   n
0001520    t   M   g   r   .   b   c   p   l       -       E   v   e   n
0001540    t       M   a   n   a   g   e   r       -       R   E   S   I
0001560    D   E   N   T  \r   /   /       C   o   p   y   r   i   g   h
0001600    t       X   e   r   o   x       C   o   r   p   o   r   a   t
0001620    i   o   n       1   9   7   9   ,       1   9   8   2  \r   /
0001640    /       L   a   s   t       m   o   d   i   f   i   e   d    
0001660    J   u   l   y       2   5   ,       1   9   8   2           2
0001700    :   1   0       P   M       b   y       T   a   f   t  \r  \r
0001720    g   e   t       "   I   f   s   .   d   e   c   l   "  \r  \r
0001740    e   x   t   e   r   n   a   l  \r   [  \r   /   /       o   u
0001760    t   g   o   i   n   g       p   r   o   c   e   d   u   r   e
0002000    s  \r   E   v   e   n   t   M   g   r   ;       Q   u   e   u
0002020    e   E   v   e   n   t   ;       C   r   e   a   t   e   E   v
0002040    e   n   t   ;       D   e   s   t   r   o   y   E   v   e   n
0002060    t  \r  \r   /   /       i   n   c   o   m   i   n   g       p
0002100    r   o   c   e   d   u 376 001  \0   < 266   r   e   s  \r   D
0002120    e   q   u   e   u   e   ;       U   n   q   u   e   u   e   ;
0002140        I   n   s   e   r   t   A   f   t   e   r   ;       S   y
0002160    s   A   l   l   o   c   a   t   e   ;       S   y   s   F   r
0002200    e   e  \r   S   e   t   T   i   m   e   r   ;       T   i   m
0002220    e   r   H   a   s   E   x   p   i   r   e   d   ;       B   l
0002240    o   c   k  \r  \r   /   /       o   u   t   g   o   i   n   g
0002260        s   t   a   t   i   c   s  \r   e   v   e   n   t   S   t
0002300    a   t   e  \r  \r   /   /       i   n   c   o   m   i   n   g
0002320        s   t   a   t   i   c   s  \r   ]  \r  \r   s   t   a   t
0002340    i   c       @   e   v   e   n   t   S   t   a   t   e  \r  \r
0002360    s   t   r   u   c   t   u   r   e       E   v   e   n   t   S
0002400    t   a   t   e   :  \r   [  \r   q   u   e   u   e   :       [
0002420        h   e   a   d       w   o   r   d   ;       t   a   i   l
0002440        w   o   r   d       ]  \r   a   c   t   i   v   e       w
0002460    o   r   d  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0002500    -   -   -   -   -   -   -   -   -   -   - 376 001  \0 234   L
0002520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0002600    -   -   -   -   -   -   -   -   -   -  \r   l   e   t       E
0002620    v   e   n   t   M   g   r   (   )       b   e  \r   /   /   -
0002640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0002740    -   -   -   -   -   -   -   -   -   -   -  \r   /   /       E
0002760    v   e   n   t       m   a   n   a   g   e   r       p   r   o
0003000    c   e   s   s   .           A   s   s   u   m   e   s       q
0003020    u   e   u   e       i   s       n   e   v   e   r       e   m
0003040    p   t   y   .  \r   [       /   /       r   e   p   e   a   t
0003060   \r   B   l   o   c   k   (   )       r   e   p   e   a   t   u
0003100    n   t   i   l       T   i   m   e   r   H   a   s   E   x   p
0003120  376 001  \0 223 273   i   r   e   d   (   l   v       (   e   v
0003140    e   n   t   S   t   a   t   e   >   >   E   v   e   n   t   S
0003160    t   a   t   e   .   q   u   e   u   e   .   h   e   a   d   )
0003200    >   >   E   C   B   .   t   i   m   e   r   )  \r   e   v   e
0003220    n   t   S   t   a   t   e   >   >   E   v   e   n   t   S   t
0003240    a   t   e   .   a   c   t   i   v   e       =       t   r   u
0003260    e  \r   l   e   t       e   c   b       =       D   e   q   u
0003300    e   u   e   (   l   v       e   v   e   n   t   S   t   a   t
0003320    e   >   >   E   v   e   n   t   S   t   a   t   e   .   q   u
0003340    e   u   e   )  \r   e   c   b   >   >   E   C   B   .   p   r
0003360    o   c   (   e   c   b   )  \r   e   v   e   n   t   S   t   a
0003400    t   e   >   >   E   v   e   n   t   S   t   a   t   e   .   a
0003420    c   t   i   v   e       =       f   a   l   s   e  \r   ]    
0003440    r   e   p   e   a   t  \r  \r   /   /   -   -   -   -   -   -
0003460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003520    -   -   -   -   - 376 001  \0   W 022   -   -   -   -   -   -
0003540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0003560    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0003600    Q   u   e   u   e   E   v   e   n   t   (   e   c   b   ,    
0003620    d   e   l   t   a   ;       n   u   m   a   r   g   s       n
0003640    a   )       b   e  \r   /   /   -   -   -   -   -   -   -   -
0003660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003760    -   -   -   -  \r   [  \r   i   f       n   a       g   r    
0004000    1       t   h   e   n       S   e   t   T   i   m   e   r   (
0004020    l   v       e   c   b   >   >   E   C   B   .   t   i   m   e
0004040    r   ,       d   e   l   t   a   )  \r   l   e   t       n   e
0004060    c   b       =       l   v       e   v   e   n   t   S   t   a
0004100    t   e   >   >   E   v   e   n   t   S   t   a   t   e   .   q
0004120    u   e   u   e   .   h   e   a   d  \r 376 001  \0 276   ]    
0004140            [       /   /       r   e   p   e   a   t  \r        
0004160        i   f       n   e   c   b   >   >   E   C   B   .   l   i
0004200    n   k       e   q       0       %       n   e   c   b   >   >
0004220    E   C   B   .   l   i   n   k   >   >   E   C   B   .   t   i
0004240    m   e   r   -   e   c   b   >   >   E   C   B   .   t   i   m
0004260    e   r       g   r       0       b   r   e   a   k  \r        
0004300        n   e   c   b       =       n   e   c   b   >   >   E   C
0004320    B   .   l   i   n   k  \r               ]       r   e   p   e
0004340    a   t  \r   I   n   s   e   r   t   A   f   t   e   r   (   l
0004360    v       e   v   e   n   t   S   t   a   t   e   >   >   E   v
0004400    e   n   t   S   t   a   t   e   .   q   u   e   u   e   ,    
0004420    n   e   c   b   ,       e   c   b   )  \r   ]  \r  \r   /   /
0004440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0004520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0004540  001  \0   F 223   -   -   -   -   -   -   -   -   -   -   -   -
0004560    -  \r   a   n   d       C   r   e   a   t   e   E   v   e   n
0004600    t   (   P   r   o   c   ,       d   e   l   t   a   ;       n
0004620    u   m   a   r   g   s       n   a   )       =       v   a   l
0004640    o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0004660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0004760    -  \r   [  \r   l   e   t       e   c   b       =       S   y
0005000    s   A   l   l   o   c   a   t   e   (   l   e   n   E   C   B
0005020    )  \r   e   c   b   >   >   E   C   B   .   p   r   o   c    
0005040    =       P   r   o   c  \r   Q   u   e   u   e   E   v   e   n
0005060    t   (   e   c   b   ,       (   n   a       g   r       1   )
0005100        &       d   e   l   t   a   )           /   /       =    
0005120    (   n   a       g   r       1   ?       d   e   l   t   a   ,
0005140        0   )  \r 376 001  \0   U   6   r   e   s   u   l   t   i
0005160    s       e   c   b  \r   ]  \r  \r   /   /   -   -   -   -   -
0005200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005300    -   -   -   -   -   -   -  \r   a   n   d       D   e   s   t
0005320    r   o   y   E   v   e   n   t   (   e   c   b   )       b   e
0005340   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0005360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0005460    [  \r   B   l   o   c   k   (   )       r   e   p   e   a   t
0005500    w   h   i   l   e       e   v   e   n   t   S   t   a   t   e
0005520    >   >   E   v   e   n   t   S   t   a   t   e   .   a   c   t
0005540    i   v   e  \r   U   n   q   u   e 376  \0   8 323 306   u   e
0005560    (   l   v       e   v   e   n   t   S   t   a   t   e   >   >
0005600    E   v   e   n   t   S   t   a   t   e   .   q   u   e   u   e
0005620    ,       e   c   b   )  \r   S   y   s   F   r   e   e   (   e
0005640    c   b   )  \r   ]  \r 377  \0  \0   I   f   s   R   s   .   d
0005660    e   c   l  \0 373 226 331   u   U  \0  \0 376 001  \0       #
0005700    /   /       I   f   s   R   s   .   d   e   c   l       -    
0005720    R   e   n   d   e   z   v   o   u   s       S   o   c   k   e
0005740    t       M   a   n   a   g   e   r       d   e   c   l   a   r
0005760    a   t   i   o   n   s  \r   /   /       C   o   p   y   r   i
0006000    g   h   t       X   e   r   o   x       C   o   r   p   o   r
0006020    a   t   i   o   n       1   9   7   9   ,       1   9   8   0
0006040    ,       1   9   8   1  \r   /   /       L   a   s   t       m
0006060    o   d   i   f   i   e   d       M   a   r   c   h       1   3
0006100    ,       1   9   8   1           5   :   1   7       P   M    
0006120    b   y       T   a   f   t  \r  \r   /   /   -   -   -   -   -
0006140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006240    -   -   -   -   -   -   -  \r   s   t   r   u   c   t   u   r
0006260    e       R   S   :  \t  \t   /   /       R   e   n   d   e   z
0006300  376 001  \0 316 326   v   o   u   s       S   o   c   k   e   t
0006320   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0006340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0006440    [  \r   l   i   n   k       w   o   r   d  \r   s   o   c    
0006460    w   o   r   d  \t  \t   /   /       -   >       P   u   p   S
0006500    o   c  \r   p   r   o   c       w   o   r   d  \r   e   x   t
0006520    r   a   S   p   a   c   e       w   o   r   d  \r   t   y   p
0006540    e       w   o   r   d  \t  \t   /   /       u   s   e   d    
0006560    t   o       i   n   i   t   i   a   l   i   z   e       R   S
0006600    C   t   x   .   t   y   p   e  \r   n   u   m   A   c   c   e
0006620    p   t   e   d       w   o   r   d       2  \t   /   /       n
0006640    u   m   b   e   r       o   f       s   u   c   c   e   s   s
0006660    f   u   l       c   o   n   n   e   c   t   i   o   n       a
0006700    t   t   e   m   p 376 001  \0   $ 326   t   s  \r   n   u   m
0006720    R   e   f   u   s   e   d       w   o   r   d       2  \t   /
0006740    /       n   u   m   b   e   r       o   f       u   n   s   u
0006760    c   c   e   s   s   f   u   l       c   o   n   n   e   c   t
0007000    i   o   n       a   t   t   e   m   p   t   s  \r   ]  \r   m
0007020    a   n   i   f   e   s   t       l   e   n   R   S       =    
0007040    s   i   z   e       R   S   /   1   6  \r  \r  \r   /   /   -
0007060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007160    -   -   -   -   -   -   -   -   -   -   -  \r   s   t   r   u
0007200    c   t   u   r   e       R   S   C   t   x   :  \t   /   /    
0007220    R   e   n   d   e   z   v   o   u   s       S   o   c   k   e
0007240    t       C   o   n   t   e   x   t  \r   /   /   -   -   -   -
0007260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0007300    -   -   -   -   -   -   -   -   -   - 376 001  \0 352 212   -
0007320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007360    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r
0007400    b   l   a   n   k       w   o   r   d       3  \t  \t   /   /
0007420        s   t   a   n   d   a   r   d       c   o   n   t   e   x
0007440    t       h   e   a   d   e   r  \r   b   l   a   n   k       b
0007460    i   t  \t  \t   /   /       u   s   e   d       t   o       b
0007500    e       k   i   l   l   F   l   a   g  \r   c   o   n   n   F
0007520    l   a   g       b   i   t  \t  \t   /   /       a       c   o
0007540    n   n   e   c   t   i   o   n       i   s       o   p   e   n
0007560   \r   b   l   a   n   k       b   i   t       6  \r   t   y   p
0007600    e       b   y   t   e  \t  \t   /   /       s   e   r   v   e
0007620    r       t   y   p   e  \r   b   s   p   S   o   c       w   o
0007640    r   d  \t  \t   /   /       -   >       B   S   P   S   o   c
0007660   \r   u   s   e   r   I   n   f   o       w   o   r   d  \t  \t
0007700    /   /       -   >       U   s   e   r   I   n   f   o  \r 376
0007720  001  \0 201   s   ]  \r   m   a   n   i   f   e   s   t       l
0007740    e   n   R   S   C   t   x       =       s   i   z   e       R
0007760    S   C   t   x   /   1   6  \r  \r   m   a   n   i   f   e   s
0010000    t  \r   [  \r   /   /       j   o   b       t   y   p   e   s
0010020   \r   /   /       *   *   *       I   f       y   o   u       c
0010040    h   a   n   g   e       t   h   e   s   e   ,       y   o   u
0010060        m   a   y       h   a   v   e       t   o       c   h   a
0010100    n   g   e       I   n   i   t   J   o   b   P   o   l   i   c
0010120    y   C   o   n   t   r   o   l   s   .  \r   j   o   b   T   y
0010140    p   e   F   T   P       =       0  \r   j   o   b   T   y   p
0010160    e   M   T   P       =       1  \r   j   o   b   T   y   p   e
0010200    T   e   l   n   e   t       =       2  \r   j   o   b   T   y
0010220    p   e   B   a   c   k   u   p       =       3  \r   j   o   b
0010240    T   y   p   e   M   a   i   l       =       4  \r   j   o   b
0010260    T   y   p   e   M   i   s   c   e   l   l   a   n   e   o   u
0010300    s       =       5  \r   j   o   b   T   y   p   e   L   e   a
0010320    f       =     376 001  \0 020 250   6  \r   j   o   b   T   y
0010340    p   e   P   r   e   s   s       =       7  \r   j   o   b   T
0010360    y   p   e   N   a   m   e   U   p   d   a   t   e       =    
0010400    8  \r   j   o   b   T   y   p   e   B   o   o   t   U   p   d
0010420    a   t   e       =       9  \r   j   o   b   T   y   p   e   C
0010440    o   p   y   D   i   s   k       =       1   0  \r   ]  \r  \r
0010460    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0010500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0010560    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   s
0010600    t   r   u   c   t   u   r   e       J   P   C   :           /
0010620    /       J   o   b       P   o   l   i   c   y       C   o   n
0010640    t   r   o   l   s       -   -       s   e   e       I   f   s
0010660    R   s   M   g   r   I   n   i   t   .   b   c   p   l       f
0010700    o   r       d   e   t   a   i   l   s  \r   /   /   -   -   -
0010720    -   -   -   -   -   -   -   -   - 376 001  \0 307 250   -   -
0010740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011020    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0011040   \r   t   y   p   e   C   l   a   s   s   ^   0   ,   1   0    
0011060    w   o   r   d  \r   c   l   a   s   s   M   a   x   ^   0   ,
0011100    4       w   o   r   d  \r   c   l   a   s   s   S   y   s   t
0011120    e   m   M   a   x   ^   0   ,   4       w   o   r   d  \r   ]
0011140   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0011160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011260   \r   s   t   r   u   c   t   u   r   e       J   o   b   T   ^
0011300    0   ,   0   :       w   o   r   d           /   /       a    
0011320    t   a   b   l   e       o   f       c   o   n   t   e 376  \0
0011340    ^   N   m   x   t   s       (   I   F   S       j   o   b   s
0011360    )  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0011400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011500   \r 377  \0  \0   I   f   s   R   s   M   g   r   I   n   i   t
0011520    .   b   c   p   l  \0 373 227 371 372 246  \0  \0 376 001  \0
0011540  275 350   /   /       I   f   s   R   S   M   g   r   I   n   i
0011560    t   .   b   c   p   l       -       R   e   n   d   e   z   v
0011600    o   u   s       S   o   c   k   e   t       M   a   n   a   g
0011620    e   r       i   n   i   t   i   a   l   i   z   a   t   i   o
0011640    n  \r   /   /       C   o   p   y   r   i   g   h   t       X
0011660    e   r   o   x       C   o   r   p   o   r   a   t   i   o   n
0011700        1   9   7   9   ,       1   9   8   0   ,       1   9   8
0011720    1  \r   /   /       L   a   s   t       m   o   d   i   f   i
0011740    e   d       O   c   t   o   b   e   r       1   8   ,       1
0011760    9   8   1           2   :   4   2       P   M       b   y    
0012000    T   a   f   t  \r  \r   g   e   t       "   I   f   s   .   d
0012020    e   c   l   "  \r   g   e   t       "   I   f   s   R   s   .
0012040    d   e   c   l   "  \r   g   e   t       "   I   f   s   I   n
0012060    i   t   .   d   e   c   l   "  \r  \r   e   x   t   e   r   n
0012100    a   l  \r   [  \r   /   /       o   u   t   g   o   i   n   g
0012120        p   r   o   c   e   d   u   r   e   s  \r   I   n   i   t
0012140    R   S 376 001  \0   [ 372   M   g   r   ;       I   n   i   t
0012160    J   o   b   P   o   l   i   c   y   C   o   n   t   r   o   l
0012200    s  \r  \r   /   /       i   n   c   o   m   i   n   g       p
0012220    r   o   c   e   d   u   r   e   s  \r   A   l   l   o   c   a
0012240    t   e   ;       Z   e   r   o   ;       M   o   v   e   B   l
0012260    o   c   k   ;       M   a   x  \r   C   r   e   a   t   e   E
0012300    v   e   n   t   ;       R   s   M   g   r   E   v   e   n   t
0012320    ;       F   l   u   s   h   V   i   t   a   l   S   t   a   t
0012340    e   ;       S   h   i   f   t   S   w   a   t   E   v   e   n
0012360    t  \r  \r   /   /       i   n   c   o   m   i   n   g       s
0012400    t   a   t   i   c   s  \r   r   s   Q   ;       o   v   P   B
0012420    I   Q   ;       r   s   L   o   c   k   ;       j   o   b   T
0012440    ;       l   e   n   J   o   b   T   ;       m   a   x   J   o
0012460    b   s   ;       l   e   a   f   P   r   e   s   e   n   t   ;
0012500        j   p   c  \r   i   s   b   ;       n   u   m   O   v   X
0012520    M   P   a   g   e   s   ;       n   u   m   P   B   I   s  \r
0012540    s   y   s   Z   o   n   e 376 001  \0 333 375   ;       l   v
0012560    A   b   o   r   t   F   l   a   g  \r   ]  \r  \r  \r   /   /
0012600        I   n   i   t   R   S   M   g   r       i   n   i   t   i
0012620    a   l   i   z   e   s       t   h   e       R   S   M   g   r
0012640        a   n   d       r   e   l   a   t   e   d       m   o   d
0012660    u   l   e   s   .  \r   /   /       n   u   m   V   M   e   m
0012700    B   u   f   s       i   s       t   h   e       t   o   t   a
0012720    l       n   u   m   b   e   r       o   f       V   M   e   m
0012740        b   u   f   f   e   r   s       e   x   p   e   c   t   e
0012760    d       t   o       b   e       a   v   a   i   l   a   b   l
0013000    e  \r   /   /       a   f   t   e   r       a   l   l       i
0013020    n   i   t   i   a   l   i   z   a   t   i   o   n       i   s
0013040        c   o   m   p   l   e   t   e   d   .           I   f    
0013060    t   h   e       A   l   t   o       h   a   s       e   x   t
0013100    e   n   d   e   d       m   e   m   o   r   y   ,  \r   /   /
0013120        t   h   i   s       i   s       u   s   e   d       t   o
0013140        f   i   g   u   r   e       o   u   t     376 001  \0   e
0013160  236   t   h   e       m   a   x   i   m   u   m       n   u   m
0013200    b   e   r       o   f       j   o   b   s  \r   /   /       t
0013220    h   a   t       c   a   n       b   e       s   u   p   p   o
0013240    r   t   e   d       a   n   d       t   o       a   d   j   u
0013260    s   t       z   o   n   e       s   i   z   e   s       a   n
0013300    d       P   B   I       a   l   l   o   c   a   t   i   o   n
0013320    s  \r   /   /       a   c   c   o   r   d   i   n   g   l   y
0013340    .           T   h   e       r   e   s   u   l   t   s       a
0013360    r   e       l   e   f   t       i   n   :  \r   /   /  \t   l
0013400    e   n   J   o   b   T       -   -       a   b   s   o   l   u
0013420    t   e       m   a   x   i   m   u   m       n   u   m   b   e
0013440    r       o   f       j   o   b   s  \r   /   /  \t   n   u   m
0013460    P   B   I   s       -   -       n   u   m   b   e   r       o
0013500    f       P   B   I   s       t   o       a   l   l   o   c   a
0013520    t   e  \r   /   /  \t   i   s   b   >   >   I   S   B   .   s
0013540    m   a   l   l   Z   o   n   e   I   n   c   r       -   -    
0013560    w 376 001  \0   ' 003   o   r   d   s       t   o       a   d
0013600    d       t   o       s   m   a   l   l   Z   o   n   e  \r   /
0013620    /  \t   i   s   b   >   >   I   S   B   .   b   i   g   Z   o
0013640    n   e   I   n   c   r       -   -       w   o   r   d   s    
0013660    t   o       a   d   d       t   o       b   i   g   Z   o   n
0013700    e  \r  \r   /   /       T   h   e       i   n   i   t   i   a
0013720    l       z   o   n   e       s   i   z   e   s   ,       P   B
0013740    I       a   l   l   o   c   a   t   i   o   n   s   ,       e
0013760    t   c   .       (   d   e   f   i   n   e   d       i   n    
0014000    I   f   s   I   n   i   t   R   e   s   .   b   c   p   l   )
0014020   \r   /   /       a   r   e       b   a   s   e   d       o   n
0014040        a       n   o   n   -   X   M   ,       n   o   n   -   L
0014060    e   a   f       c   o   n   f   i   g   u   r   a   t   i   o
0014100    n       s   u   p   p   o   r   t   i   n   g       a       m
0014120    a   x   i   m   u   m       o   f       6  \r   /   /       j
0014140    o   b   s   ;       t   h   e   s   e       n   u   m   b   e
0014160    r   s       h   a   v 376 001  \0   y   p   e       b   e   e
0014200    n       d   e   t   e   r   m   i   n   e   d       e   m   p
0014220    i   r   i   c   a   l   l   y   .           H   e   r   e    
0014240    w   e       c   o   m   p   u   t   e       t   h   e  \r   /
0014260    /       a   d   d   i   t   i   o   n   a   l       d   e   m
0014300    a   n   d   s       p   l   a   c   e   d       o   n       m
0014320    e   m   o   r   y       b   y       j   o   b   s       i   n
0014340        e   x   c   e   s   s       o   f       t   h   e       f
0014360    i   r   s   t       6   .  \r  \f  \r   /   /   -   -   -   -
0014400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014500    -   -   -   -   -   -   -   -  \r   l   e   t       I   n   i
0014520    t   R   S   M   g   r   (   n   u   m   V   M   e   m   B   u
0014540    f   s   )       b   e  \r   /   /   -   -   -   -   -   -   -
0014560    -   -   -   -   -   -   -   -   -   -   - 376 001  \0 264 177
0014600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014660    -   -   -   -   -   -   -   -   -   -  \r   [  \r   l   e   n
0014700    J   o   b   T       =       6  \r   n   u   m   P   B   I   s
0014720        =       2   1           /   /       3       p   e   r    
0014740    j   o   b       p   l   u   s       3       e   x   t   r   a
0014760   \r   i   s   b   >   >   I   S   B   .   s   m   a   l   l   Z
0015000    o   n   e   I   n   c   r       =       0   ;       i   s   b
0015020    >   >   I   S   B   .   b   i   g   Z   o   n   e   I   n   c
0015040    r       =       0  \r  \r   i   f       n   u   m   O   v   X
0015060    M   P   a   g   e   s       n   e       0       t   h   e   n
0015100   \r               [           /   /       X   M       c   o   n
0015120    f   i   g   u   r   a   t   i   o   n  \r               m   a
0015140    n   i   f   e   s   t  \r                           [        
0015160    /   /       A   s   s   u   m   p   t   i   o   n   s       m
0015200  376 001  \0 375 275   a   d   e       a   b   o   u   t       m
0015220    e   m   o   r   y       d   e   m   a   n   d       p   e   r
0015240        j   o   b  \r                           n   u   m   V   M
0015260    e   m   B   u   f   s   P   e   r   J   o   b       =       3
0015300   \t  \t   /   /       1       c   t   x       +       2       s
0015320    t   r   e   a   m       b   u   f   f   e   r   s  \r        
0015340                    z   o   n   e   W   o   r   d   s   P   e   r
0015360    J   o   b       =       3   0   0       +       1   0       +
0015400   \t   /   /       R   T   P       s   t   a   c   k       s   i
0015420    z   e       +       U   s   e   r   I   n   f   o       b   l
0015440    o   c   k  \r                               7   5       +    
0015460    2   5       +       5   0       +  \t  \t  \t   /   /       B
0015500    S   P   S   t   r   e   a   m       +       o   n   e       F
0015520    D       +       o   n   e       D   i   s   k   S   t   r   e
0015540    a   m  \r                               3   *   2   9   0    
0015560    +       1   0   0  \t  \t  \t   /   /       3       P   B   I
0015600    s       +       s 376 001  \0 275  \n   l   o   p  \r        
0015620                    t   o   t   a   l   W   o   r   d   s   P   e
0015640    r   J   o   b       =       (   n   u   m   V   M   e   m   B
0015660    u   f   s   P   e   r   J   o   b       l   s   h   i   f   t
0015700        l   o   g   S   t   d   P   a   g   e   L   e   n   g   t
0015720    h   )       +  \r                               z   o   n   e
0015740    W   o   r   d   s   P   e   r   J   o   b  \r                
0015760            ]  \r  \r               /   /       N   o   t   e    
0016000    t   h   a   t       t   h   e       z   o   n   e   W   o   r
0016020    d   s   P   e   r   J   o   b       f   o   r       t   h   e
0016040        f   i   r   s   t       6       j   o   b   s       a   r
0016060    e       a   l   r   e   a   d   y  \r               /   /    
0016100    a   c   c   o   u   n   t   e   d       f   o   r   .        
0016120    R   i   g   h   t   -   s   h   i   f   t       e   v   e   r
0016140    y   t   h   i   n   g       b   y       1       t   o       k
0016160    e   e   p       i   t       p   o   s   i   t   i   v   e   .
0016200   \r               l   e   t       n   u 376 001  \0 037 364   m
0016220    V   M   e   m   W   o   r   d   s   E   x   t   r   a       =
0016240   \r                   (   n   u   m   V   M   e   m   B   u   f
0016260    s       -       l   e   n   J   o   b   T   *   n   u   m   V
0016300    M   e   m   B   u   f   s   P   e   r   J   o   b   )       l
0016320    s   h   i   f   t       l   o   g   S   t   d   P   a   g   e
0016340    L   e   n   g   t   h  \r               l   e   t       n   u
0016360    m   J   o   b   s   E   x   t   r   a       =  \r            
0016400        (   n   u   m   V   M   e   m   W   o   r   d   s   E   x
0016420    t   r   a       r   s   h   i   f   t       1   )       /    
0016440    (   t   o   t   a   l   W   o   r   d   s   P   e   r   J   o
0016460    b       r   s   h   i   f   t       1   )  \r               l
0016500    e   n   J   o   b   T       =       l   e   n   J   o   b   T
0016520        +       n   u   m   J   o   b   s   E   x   t   r   a  \r
0016540   \r               /   /       A   d   j   u   s   t       z   o
0016560    n   e       s   i   z   e   s       a   n   d       P   B   I
0016600        a   l   l   o   c   a   t   i   o   n   s  \r         376
0016620  001  \0   \   n       i   s   b   >   >   I   S   B   .   b   i
0016640    g   Z   o   n   e   I   n   c   r       =       n   u   m   J
0016660    o   b   s   E   x   t   r   a   *   z   o   n   e   W   o   r
0016700    d   s   P   e   r   J   o   b  \r               i   s   b   >
0016720    >   I   S   B   .   s   m   a   l   l   Z   o   n   e   I   n
0016740    c   r       =       n   u   m   J   o   b   s   E   x   t   r
0016760    a   *   5   0           /   /       n   u   m   b   e   r    
0017000    p   i   c   k   e   d       o   u   t       o   f       t   h
0017020    e       a   i   r  \r               n   u   m   P   B   I   s
0017040        =       n   u   m   P   B   I   s       +       3   *   n
0017060    u   m   J   o   b   s   E   x   t   r   a  \r               ]
0017100   \r  \r   i   f       l   e   a   f   P   r   e   s   e   n   t
0017120        t   h   e   n  \r               [           /   /       b
0017140    a   c   k       o   f   f       t   h   e       j   o   b    
0017160    l   i   m   i   t       a   n   d       a   d   d       m   o
0017200    r   e       s   p   a   c   e       t   o       s   m   a   l
0017220    l   Z   o   n 376 001  \0 016 246   e  \r               l   e
0017240    n   J   o   b   T       =       l   e   n   J   o   b   T   -
0017260    1  \r               i   s   b   >   >   I   S   B   .   s   m
0017300    a   l   l   Z   o   n   e   I   n   c   r       =       i   s
0017320    b   >   >   I   S   B   .   s   m   a   l   l   Z   o   n   e
0017340    I   n   c   r   +   1   0   2   4  \r               ]  \r  \r
0017360    /   /       D   e   f   a   u   l   t       S   e   r   v   e
0017400    r   -   L   i   m   i   t  \r   m   a   x   J   o   b   s    
0017420    =       l   e   n   J   o   b   T   -   1  \r  \r   /   /    
0017440    a       l   i   t   t   l   e       u   n   s   t   r   u   c
0017460    t   u   r   e   d       p   r   o   g   r   a   m   m   i   n
0017500    g       h   e   r   e   .   .   .  \r   r   s   Q       =    
0017520    A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n   e
0017540    ,       l   e   n   J   o   b   T   +   6   )   ;       Z   e
0017560    r   o   (   r   s   Q   ,       l   e   n   J   o   b   T   +
0017600    6   )  \r   o   v   P   B   I   Q       =       r   s   Q   +
0017620    2  \r   r   s   L   o   c   k     376 001  \0 226   d   =    
0017640    r   s   Q   +   4  \r   j   o   b   T       =       r   s   Q
0017660    +   6  \r  \r   C   r   e   a   t   e   E   v   e   n   t   (
0017700    R   s   M   g   r   E   v   e   n   t   )  \r   C   r   e   a
0017720    t   e   E   v   e   n   t   (   F   l   u   s   h   V   i   t
0017740    a   l   S   t   a   t   e   )  \r   @   l   v   A   b   o   r
0017760    t   F   l   a   g       =       @   l   v   A   b   o   r   t
0020000    F   l   a   g       +   1           /   /   d   i   s   a   b
0020020    l   e       u   s   e   r       a   b   o   r   t   s  \r   C
0020040    r   e   a   t   e   E   v   e   n   t   (   S   h   i   f   t
0020060    S   w   a   t   E   v   e   n   t   )  \r   ]  \r  \f  \r   /
0020100    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0020120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020200    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0020220    d       I   n   i   t   J   o   b   P   o   l   i   c 376 001
0020240   \0 374 346   y   C   o   n   t   r   o   l   s   (   )       b
0020260    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0020300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020400   \r   /   /       S   e   t   s       t   h   e       j   o   b
0020420        p   o   l   i   c   y       c   o   n   t   r   o   l    
0020440    t   a   b   l   e       b   a   s   e   d       o   n       m
0020460    a   x   J   o   b   s   .  \r   [  \r   i   f       j   p   c
0020500        e   q       0       t   h   e   n       j   p   c       =
0020520        A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n
0020540    e   ,       s   i   z   e       J   P   C   /   1   6   )  \r
0020560   \r   M   o   v   e   B   l   o   c   k   (   l   v       j   p
0020600    c   >   >   J   P   C   .   t   y   p   e   C   l   a   s   s
0020620    ,       t   a   b   l   e  \r               [       /   /    
0020640    m   a   p 376 001  \0   -   X   s       t   y   p   e   s    
0020660    t   o       j   o   b       e   q   u   i   v   a   l   e   n
0020700    c   e       c   l   a   s   s   e   s  \r               0  \t
0020720    /   /       F   T   P  \r               0  \t   /   /       M
0020740    T   P  \r               0  \t   /   /       T   e   l   n   e
0020760    t  \r               1  \t   /   /       B   a   c   k   u   p
0021000   \r               2  \t   /   /       M   a   i   l  \r        
0021020        3  \t   /   /       M   i   s   c   e   l   l   a   n   e
0021040    o   u   s  \r               0  \t   /   /       L   e   a   f
0021060   \r               2  \t   /   /       P   r   e   s   s  \r    
0021100            4  \t   /   /       N   a   m   e   U   p   d   a   t
0021120    e  \r               2  \t   /   /       B   o   o   t   U   p
0021140    d   a   t   e  \r               0  \t   /   /       C   o   p
0021160    y   D   i   s   k  \r               ]   ,       1   1   )  \r
0021200   \r   M   o   v   e   B   l   o   c   k   (   l   v       j   p
0021220    c   >   >   J   P   C   .   c   l   a   s   s   M   a   x   ,
0021240        t   a   b   l   e  \r     376 001  \0 364 360           [
0021260        /   /       m   a   x       n   u   m   b   e   r       o
0021300    f       j   o   b   s       o   f       a       g   i   v   e
0021320    n       c   l   a   s   s       a   l   l   o   w   e   d    
0021340    s   i   m   u   l   t   a   n   e   o   u   s   l   y  \r    
0021360            0  \t  \t   /   /       0       F   T   P   +   M   T
0021400    P   +   T   e   l   n   e   t   +   L   e   a   f   +   C   o
0021420    p   y   D   i   s   k       -   -       c   h   a   n   g   e
0021440    d       t   o       m   a   x   J   o   b   s       b   e   l
0021460    o   w  \r               1  \t  \t   /   /       1       B   a
0021500    c   k   u   p  \r               1  \t  \t   /   /       2    
0021520    M   a   i   l   +   P   r   e   s   s   +   B   o   o   t   U
0021540    p   d   a   t   e  \r               2  \t  \t   /   /       3
0021560        M   i   s   c   e   l   l   a   n   e   o   u   s  \r    
0021600            1  \t  \t   /   /       4       N   a   m   e   U   p
0021620    d   a   t   e  \r               ]   ,       5   )  \r   j   p
0021640    c   >   >   J   P   C   .   c   l   a   s   s   M 376 001  \0
0021660  341  \a   a   x   ^   0       =       m   a   x   J   o   b   s
0021700   \r  \r   M   o   v   e   B   l   o   c   k   (   l   v       j
0021720    p   c   >   >   J   P   C   .   c   l   a   s   s   S   y   s
0021740    t   e   m   M   a   x   ,       t   a   b   l   e  \r        
0021760        [       /   /       a       j   o   b       o   f       a
0022000        g   i   v   e   n       c   l   a   s   s       s   h   o
0022020    u   l   d       n   o   t       b   e       p   e   r   m   i
0022040    t   t   e   d       t   o       r   u   n       i   f  \r    
0022060                    /   /       i   t       w   o   u   l   d    
0022100    m   a   k   e       t   h   e       n   u   m   b   e   r    
0022120    o   f       j   o   b   s       i   n       t   h   e       s
0022140    y   s   t   e   m       e   x   c   e   e   d  \r            
0022160            /   /       t   h   e       l   i   m   i   t       g
0022200    i   v   e   n       i   n       t   h   i   s       t   a   b
0022220    l   e   .  \r               9   9   9  \t  \t   /   /       0
0022240        F   T   P   +   M   T   P   +   T   e   l   n   e   t   +
0022260    L   e 376 001  \0 235   K   a   f   +   C   o   p   y   D   i
0022300    s   k  \r               2  \t  \t   /   /       1       B   a
0022320    c   k   u   p       -   -       c   h   a   n   g   e   d    
0022340    b   e   l   o   w  \r               5  \t  \t   /   /       2
0022360        M   a   i   l   +   P   r   e   s   s   +   B   o   o   t
0022400    U   p   d   a   t   e       -   -       c   h   a   n   g   e
0022420    d       t   o       m   a   x   J   o   b   s   -   1       b
0022440    e   l   o   w  \r               9   9   9  \t  \t   /   /    
0022460    3       M   i   s   c   e   l   l   a   n   e   o   u   s  \r
0022500                2  \t  \t   /   /       4       N   a   m   e   U
0022520    p   d   a   t   e       -   -       c   h   a   n   g   e   d
0022540        b   e   l   o   w  \r               ]   ,       5   )  \r
0022560    j   p   c   >   >   J   P   C   .   c   l   a   s   s   S   y
0022600    s   t   e   m   M   a   x   ^   1       =       M   a   x   (
0022620    2   ,       m   a   x   J   o   b   s   /   2   )           /
0022640    /       n   o       B   a   c   k   u   p       i   f       t
0022660    o   o       b   u   s   y 376  \0 232 360 221  \r   j   p   c
0022700    >   >   J   P   C   .   c   l   a   s   s   S   y   s   t   e
0022720    m   M   a   x   ^   2       =       m   a   x   J   o   b   s
0022740    -   1           /   /       l   e   a   v   e       o   n   e
0022760        s   l   o   t       f   o   r       a       c   l   a   s
0023000    s       0       j   o   b  \r   j   p   c   >   >   J   P   C
0023020    .   c   l   a   s   s   S   y   s   t   e   m   M   a   x   ^
0023040    4       =       M   a   x   (   2   ,       m   a   x   J   o
0023060    b   s   /   2   )           /   /       n   o       N   a   m
0023100    e   U   p   d   a   t   e       i   f       t   o   o       b
0023120    u   s   y  \r   ]  \r 377  \0  \0   I   f   s   R   s   M   g
0023140    r   R   e   s   .   b   c   p   l  \0 373 223 361 314 374  \0
0023160   \0 376 001  \0 264 247   /   /       I   f   s   R   S   M   g
0023200    r   R   e   s   .   b   c   p   l       -       R   e   n   d
0023220    e   z   v   o   u   s       S   o   c   k   e   t       M   a
0023240    n   a   g   e   r       -       R   E   S   I   D   E   N   T
0023260   \r   /   /       C   o   p   y   r   i   g   h   t       X   e
0023300    r   o   x       C   o   r   p   o   r   a   t   i   o   n    
0023320    1   9   7   9  \r  \r   /   /       L   a   s   t       m   o
0023340    d   i   f   i   e   d       M   a   y       2   0   ,       1
0023360    9   7   9           1   1   :   1   6       P   M       b   y
0023400        B   o   g   g   s  \r  \r   g   e   t       "   P   u   p
0023420    0   .   d   e   c   l   "  \r   g   e   t       "   P   u   p
0023440    1   .   d   e   c   l   "  \r   g   e   t       "   I   f   s
0023460    R   s   .   d   e   c   l   "  \r  \r   e   x   t   e   r   n
0023500    a   l  \r   [  \r   /   /       o   u   t   g   o   i   n   g
0023520        p   r   o   c   e   d   u   r   e   s  \r   R   s   M   g
0023540    r   E   v   e   n   t   ;       S   h   i   f   t   S   w   a
0023560    t   E   v   e   n   t 376 001  \0 312 035  \r  \r   /   /    
0023600    i   n   c   o   m   i   n   g       p   r   o   c   e   d   u
0023620    r   e   s  \r   Q   u   e   u   e   E   v   e   n   t   ;    
0023640    H   a   n   d   l   e   R   S   P   u   p   ;       H   a   n
0023660    d   l   e   K   e   y   s  \r  \r   /   /       i   n   c   o
0023700    m   i   n   g       s   t   a   t   i   c   s  \r   r   s   Q
0023720   \r   ]  \r  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0023740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024040    -   -   -  \r   l   e   t       R   s   M   g   r   E   v   e
0024060    n   t   (   e   c   b   )       b   e  \r   /   /   -   -   -
0024100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024160    -   -   -   -   -   -   -   -   -   -   - 376 001  \0 264   e
0024200    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /
0024220    /   C   h   e   c   k   s       r   e   n   d   e   z   v   o
0024240    u   s       s   o   c   k   e   t       i   n   p   u   t    
0024260    q   u   e   u   e   s       f   o   r       R   F   C   s  \r
0024300    [  \r   l   e   t       r   s       =       r   s   Q  \r    
0024320            [  \r               r   s       =       r   s   !   0
0024340   \r               i   f       r   s       e   q       0       b
0024360    r   e   a   k  \r               i   f       r   s   >   >   R
0024400    S   .   s   o   c   >   >   P   u   p   S   o   c   .   i   Q
0024420    .   h   e   a   d       n   e       0       t   h   e   n    
0024440    H   a   n   d   l   e   R   S   P   u   p   (   r   s   )  \r
0024460                ]       r   e   p   e   a   t  \r   Q   u   e   u
0024500    e   E   v   e   n   t   (   e   c   b   ,       2   5   )    
0024520        /   /   2   5   0       m   s       t   o       n   e   x
0024540    t       c   h   e   c   k  \r   ]  \r  \r  \r   /   /   -   -
0024560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0024600  376 001  \0     346   -   -   -   -   -   -   -   -   -   -   -
0024620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0024700    a   n   d       S   h   i   f   t   S   w   a   t   E   v   e
0024720    n   t   (   e   c   b   )       b   e  \r   /   /   -   -   -
0024740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0025040    -   -   -   -   -   -   -   -   -  \r   /   /   C   h   e   c
0025060    k   s       f   o   r       s   h   i   f   t   -   s   w   a
0025100    t       a   b   o   r   t       a   n   d       o   t   h   e
0025120    r       i   n   t   e   r   e   s   t   i   n   g       e   v
0025140    e   n   t   s  \r   [  \r   /   /       K   e   y   b   o   a
0025160    r   d       w   o   r   d       1   7   7   0   3   7   b    
0025200    c   o   n   t   a 376  \0 214   N   c   i   n   s       L   o
0025220    c   k   ,       S   p   a   c   e   ,       a   n   d       S
0025240    w   a   t   .           I   g   n   o   r   e       L   o   c
0025260    k   .  \r   i   f       (   @   1   7   7   0   3   7   b    
0025300    &       1   7   7   5   7   7   b   )       n   e       1   7
0025320    7   5   7   7   b       t   h   e   n       H   a   n   d   l
0025340    e   K   e   y   s   (   )  \r   Q   u   e   u   e   E   v   e
0025360    n   t   (   e   c   b   ,       2   5   )           /   /   2
0025400    5   0       m   s       t   o       n   e   x   t       c   h
0025420    e   c   k  \r   ]  \r 377  \0  \0   I   f   s   R   s   M   g
0025440    r   S   w   a   p   .   b   c   p   l  \0 373 231 262 027 372
0025460   \0  \0 376 001  \0   |   V   /   /       I   f   s   R   S   M
0025500    g   r   S   w   a   p   .   b   c   p   l       -       R   e
0025520    n   d   e   z   v   o   u   s       S   o   c   k   e   t    
0025540    a   n   d       P   r   o   c   e   s   s       M   a   n   a
0025560    g   e   r  \r   /   /       C   o   p   y   r   i   g   h   t
0025600        X   e   r   o   x       C   o   r   p   o   r   a   t   i
0025620    o   n       1   9   7   9   ,       1   9   8   0   ,       1
0025640    9   8   1   ,       1   9   8   2  \r   /   /       L   a   s
0025660    t       m   o   d   i   f   i   e   d       S   e   p   t   e
0025700    m   b   e   r       1   7   ,       1   9   8   2           1
0025720    0   :   4   5       A   M       b   y       T   a   f   t  \r
0025740   \r   g   e   t       "   P   u   p   .   d   e   c   l   "  \r
0025760    g   e   t       "   I   f   s   R   s   .   d   e   c   l   "
0026000   \r   g   e   t       "   I   f   s   .   d   e   c   l   "  \r
0026020   \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /       o
0026040    u   t   g   o   i   n   g       p   r   o   c   e   d   u   r
0026060    e   s  \r   H   a   n   d 376 001  \0   u   K   l   e   R   S
0026100    P   u   p   ;       D   i   s   t   r   i   b   u   t   e   P
0026120    B   I   s   ;       D   e   c   l   a   r   e   P   u   p   S
0026140    o   c  \r   C   r   e   a   t   e   J   o   b   ;       D   e
0026160    s   t   r   o   y   J   o   b   ;       A   c   t   i   v   e
0026200    J   o   b   s   ;       J   o   b   O   K  \r   F   l   u   s
0026220    h   V   i   t   a   l   S   t   a   t   e   ;       F   l   u
0026240    s   h   B   u   f   f   e   r   s   C   t   x  \r  \r   /   /
0026260        i   n   c   o   m   i   n   g       p   r   o   c   e   d
0026300    u   r   e   s  \r   R   S   S   e   n   d   A   b   o   r   t
0026320    ;       A   d   j   u   s   t   P   B   I   s   ;       P   e
0026340    r   f   o   r   m   I   d   l   e   T   a   s   k   s  \r   A
0026360    l   l   o   c   a   t   e   ;       F   r   e   e   ;       E
0026400    n   q   u   e   u   e   ;       D   e   q   u   e   u   e   ;
0026420        U   n   q   u   e   u   e   ;       I   n   s   e   r   t
0026440    A   f   t   e   r  \r   Z   e   r   o   ;       M   o   v   e
0026460    B   l   o   c   k   ;       M   a   x   ;     376 001  \0   N
0026500    G   M   i   n   ;       M   u   l   t   E   q   ;       D   e
0026520    f   a   u   l   t   A   r   g   s   ;       B   l   o   c   k
0026540   \r   S   e   t   A   l   l   o   c   a   t   i   o   n   ;    
0026560    E   x   c   h   a   n   g   e   P   o   r   t   s   ;       C
0026600    o   m   p   l   e   t   e   P   u   p   ;       A   p   p   e
0026620    n   d   S   t   r   i   n   g   T   o   P   u   p  \r   R   e
0026640    l   e   a   s   e   P   B   I   ;       O   p   e   n   L   e
0026660    v   e   l   1   S   o   c   k   e   t   ;       O   p   e   n
0026700    R   T   P   S   o   c   k   e   t   ;       C   r   e   a   t
0026720    e   B   S   P   S   t   r   e   a   m  \r   F   l   u   s   h
0026740    K   D   s   ;       F   l   u   s   h   B   T   r   e   e   S
0026760    t   a   t   e   ;       F   l   u   s   h   B   u   f   f   e
0027000    r   s   ;       M   a   r   k   D   i   r   t   y   V   F   i
0027020    l   e   s  \r   F   r   e   e   P   o   i   n   t   e   r   ;
0027040        I   n   i   t   i   a   l   i   z   e   C   o   n   t   e
0027060    x   t   ;       Q   u   e   u   e   E   v   e   n   t   ;    
0027100    C 376 001  \0 234   Q   r   e   a   t   e   E   v   e   n   t
0027120   \r   C   r   e   a   t   e   C   t   x   ;       D   e   s   t
0027140    r   o   y   C   t   x  \r   D   i   s   a   b   l   e   I   n
0027160    t   e   r   r   u   p   t   s   ;       E   n   a   b   l   e
0027200    I   n   t   e   r   r   u   p   t   s   ;       L   o   c   k
0027220    ;       U   n   l   o   c   k   ;       D   o   u   b   l   e
0027240    I   n   c   r   e   m   e   n   t  \r  \r   /   /       o   u
0027260    t   g   o   i   n   g       s   t   a   t   i   c   s  \r   e
0027300    n   t   F   l   a   g   ;       h   a   l   t   F   l   a   g
0027320    ;       r   s   Q   ;       j   o   b   T   ;       o   v   P
0027340    B   I   Q   ;       n   u   m   O   v   e   r   f   l   o   w
0027360    P   B   I   s   ;       m   a   x   O   v   e   r   f   l   o
0027400    w   P   B   I   s  \r   m   a   x   J   o   b   s   ;       r
0027420    s   L   o   c   k   ;       l   e   n   J   o   b   T   ;    
0027440    n   u   m   P   B   I   s   ;       j   p   c  \r  \r   /   /
0027460        i   n   c   o   m   i   n   g       s   t   a   t   i   c
0027500    s  \r   i   f   s   C 376 001  \0   : 244   t   x   Q   ;    
0027520    s   y   s   Z   o   n   e  \r   n   u   m   N   e   t   s   ;
0027540        p   b   i   F   r   e   e   Q   ;       l   e   n   P   B
0027560    I   ;       C   t   x   R   u   n   n   i   n   g   ;       o
0027600    p   e   n   L   o   c   k  \r   ]  \r  \r   s   t   a   t   i
0027620    c  \r   [  \r   e   n   t   F   l   a   g       =       t   r
0027640    u   e  \t  \t   /   /       N   e   t   w   o   r   k       c
0027660    o   n   n   e   c   t   i   o   n   s       a   r   e       a
0027700    l   l   o   w   e   d  \r   h   a   l   t   F   l   a   g    
0027720    =       f   a   l   s   e  \t   /   /       H   a   l   t    
0027740    t   h   e       s   y   s   t   e   m       a   f   t   e   r
0027760        a   l   l       j   o   b   s       a   r   e       k   i
0030000    l   l   e   d  \r   r   s   L   o   c   k  \t  \t  \t   /   /
0030020        L   o   c   k       f   o   r       C   r   e   a   t   e
0030040    J   o   b       a   n   d       D   i   s   t   r   i   b   u
0030060    t   e   P   B   I   s  \r   m   a   x   J   o   b   s  \t  \t
0030100   \t   /   /       m   a   x       #       c 376 001  \0 324 311
0030120    l   a   s   s       0       j   o   b   s       (   F   T   P
0030140    +   M   T   P   +   T   e   l   n   e   t   +   L   e   a   f
0030160    +   C   o   p   y   D   i   s   k   )  \r   j   p   c       =
0030200        0  \t  \t  \t   /   /       j   o   b       p   o   l   i
0030220    c   y       c   o   n   t   r   o   l   s  \r   r   s   Q   ;
0030240        j   o   b   T   ;       n   u   m   O   v   e   r   f   l
0030260    o   w   P   B   I   s   ;       m   a   x   O   v   e   r   f
0030300    l   o   w   P   B   I   s   ;       o   v   P   B   I   Q  \r
0030320    l   e   n   J   o   b   T   ;       n   u   m   P   B   I   s
0030340   \r   ]  \r  \r   m   a   n   i   f   e   s   t       j   o   b
0030360    S   S       =       1   0   2   4  \r  \f  \r   /   /   -   -
0030400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030500    -   -   -   -   -   -   -   -   -   -  \r   l   e   t       H
0030520  376 001  \0   ^ 346   a   n   d   l   e   R   S   P   u   p   (
0030540    r   s   )       b   e  \r   /   /   -   -   -   -   -   -   -
0030560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030660    -   -   -   -   -  \r   [  \r   l   e   t       p   b   i    
0030700    =       D   e   q   u   e   u   e   (   l   v       r   s   >
0030720    >   R   S   .   s   o   c   >   >   P   u   p   S   o   c   .
0030740    i   Q   )  \r   i   f       p   b   i   >   >   P   B   I   .
0030760    p   u   p   .   t   y   p   e       n   e       t   y   p   e
0031000    R   F   C       %       p   b   i   >   >   P   B   I   .   p
0031020    u   p   .   d   P   o   r   t   .   h   o   s   t       e   q
0031040        0       t   h   e   n  \r               [       R   e   l
0031060    e   a   s   e   P   B   I   (   p   b   i   )   ;       r   e
0031100    t   u   r   n       ]  \r   u   n   l   e   s   s       e   n
0031120    t   F   l   a   g 376 001  \0 026 027       d   o  \r        
0031140        [       R   S   S   e   n   d   A   b   o   r   t   (   p
0031160    b   i   ,       "   I   F   S       i   s       n   o   t    
0031200    a   v   a   i   l   a   b   l   e   "   )   ;       r   e   t
0031220    u   r   n       ]  \r  \r   /   /       D   e   f   a   u   l
0031240    t       n   e   t       f   i   e   l   d       o   f       c
0031260    o   n   n   e   c   t   i   o   n       p   o   r   t  \r   i
0031300    f       p   b   i   >   >   P   B   I   .   p   u   p   .   b
0031320    y   t   e   s   ^   1       e   q       0       t   h   e   n
0031340   \r               p   b   i   >   >   P   B   I   .   p   u   p
0031360    .   b   y   t   e   s   ^   1       =       p   b   i   >   >
0031400    P   B   I   .   p   u   p   .   s   P   o   r   t   .   n   e
0031420    t  \r  \r   /   /       C   h   e   c   k       j   o   b   T
0031440        f   o   r       d   u   p   l   i   c   a   t   e       e
0031460    n   t   r   y  \r   f   o   r       i       =       0       t
0031500    o       l   e   n   J   o   b   T   -   1       d   o  \r    
0031520            i   f       j   o   b   T   > 376 001  \0   c 264   >
0031540    J   o   b   T   ^   i       n   e       0       t   h   e   n
0031560   \r                           [  \r                           l
0031600    e   t       s   o   c       =       j   o   b   T   >   >   J
0031620    o   b   T   ^   i   >   >   R   S   C   t   x   .   b   s   p
0031640    S   o   c  \r                           i   f       s   o   c
0031660        n   e       0       &  \r                               M
0031700    u   l   t   E   q   (   l   v       s   o   c   >   >   R   T
0031720    P   S   o   c   .   f   r   n   P   o   r   t   ,       l   v
0031740        p   b   i   >   >   P   B   I   .   p   u   p   .   w   o
0031760    r   d   s   ,       l   e   n   P   o   r   t   )       &  \r
0032000                                M   u   l   t   E   q   (   l   v
0032020        s   o   c   >   >   R   T   P   S   o   c   .   c   o   n
0032040    n   I   D   ,       l   v       p   b   i   >   >   P   B   I
0032060    .   p   u   p   .   i   d   )       t   h   e   n  \r        
0032100                                [       S   e   n   d   R   F   C
0032120    (   p   b   i   ,       s   o   c   )   ;       r   e   t 376
0032140  001  \0 227 253   u   r   n       ]           /   /   d   u   p
0032160    l   i   c   a   t   e       R   F   C  \r                    
0032200        ]  \r  \r   /   /       G   e   t       a       s   t   a
0032220    c   k       a   n   d       i   n   i   t   i   a   l   i   z
0032240    e       t   h   e       n   e   w       j   o   b  \r   l   e
0032260    t       c   t   x       =       C   r   e   a   t   e   J   o
0032300    b   (   r   s   >   >   R   S   .   p   r   o   c   ,       r
0032320    s   >   >   R   S   .   t   y   p   e   ,       r   s   >   >
0032340    R   S   .   e   x   t   r   a   S   p   a   c   e   ,       t
0032360    r   u   e   )  \r   i   f       c   t   x       e   q       0
0032400        t   h   e   n  \r               [  \r               R   S
0032420    S   e   n   d   A   b   o   r   t   (   p   b   i   ,       "
0032440    I   F   S       i   s       f   u   l   l       -       t   r
0032460    y       l   a   t   e   r   "   )  \r               D   o   u
0032500    b   l   e   I   n   c   r   e   m   e   n   t   (   l   v    
0032520    r   s   >   >   R   S   .   n   u   m   R   e   f   u   s   e
0032540    d   )  \r     376 001  \0 256   %           r   e   t   u   r
0032560    n  \r               ]  \r   l   e   t       s   o   c       =
0032600        A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n
0032620    e   ,       l   e   n   B   S   P   S   o   c   )  \r   O   p
0032640    e   n   L   e   v   e   l   1   S   o   c   k   e   t   (   s
0032660    o   c   ,       0   ,       l   v       p   b   i   >   >   P
0032700    B   I   .   p   u   p   .   w   o   r   d   s   )  \r   c   t
0032720    x   >   >   R   S   C   t   x   .   b   s   p   S   o   c    
0032740    =       s   o   c  \r   D   i   s   t   r   i   b   u   t   e
0032760    P   B   I   s   (   )  \r   O   p   e   n   R   T   P   S   o
0033000    c   k   e   t   (   s   o   c   ,       0   ,       m   o   d
0033020    e   I   m   m   e   d   i   a   t   e   O   p   e   n   ,    
0033040    l   v       p   b   i   >   >   P   B   I   .   p   u   p   .
0033060    i   d   )  \r   c   t   x   >   >   R   S   C   t   x   .   c
0033100    o   n   n   F   l   a   g       =       t   r   u   e  \r   C
0033120    r   e   a   t   e   B   S   P   S   t   r   e   a   m   (   s
0033140    o   c   )  \r   S   e   n   d   R 376 001  \0   n   .   F   C
0033160    (   p   b   i   ,       s   o   c   )  \r   E   n   q   u   e
0033200    u   e   (   i   f   s   C   t   x   Q   ,       c   t   x   )
0033220   \r   D   o   u   b   l   e   I   n   c   r   e   m   e   n   t
0033240    (   l   v       r   s   >   >   R   S   .   n   u   m   A   c
0033260    c   e   p   t   e   d   )  \r   ]  \r  \r   /   /   -   -   -
0033300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0033400    -   -   -   -   -   -   -   -   -  \r   a   n   d       S   e
0033420    n   d   R   F   C   (   p   b   i   ,       s   o   c   )    
0033440    b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0033460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0033540    -   -   -   -   -   -   -   -   -   -   -   -   -   - 376 001
0033560   \0   x 261   -   -   -  \r   [  \r   M   o   v   e   B   l   o
0033600    c   k   (   l   v       p   b   i   >   >   P   B   I   .   p
0033620    u   p   .   w   o   r   d   s   ,       l   v       s   o   c
0033640    >   >   P   u   p   S   o   c   .   l   c   l   P   o   r   t
0033660    ,       l   e   n   P   o   r   t   )  \r   E   x   c   h   a
0033700    n   g   e   P   o   r   t   s   (   p   b   i   )  \r   C   o
0033720    m   p   l   e   t   e   P   u   p   (   p   b   i   ,       t
0033740    y   p   e   R   F   C   ,       p   u   p   O   v   B   y   t
0033760    e   s   +   6   )  \r   ]  \r  \f  \r   /   /   -   -   -   -
0034000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0034100    -   -   -   -   -   -   -   -  \r   a   n   d       D   i   s
0034120    t   r   i   b   u   t   e   P   B   I   s   (   )       b   e
0034140   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0034160    -   -   - 376 001  \0 372   s   -   -   -   -   -   -   -   -
0034200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0034260    -   -   -   -  \r   /   /       A   t   t   e   m   p   t   s
0034300        t   o       d   i   s   t   r   i   b   u   t   e       t
0034320    h   e       s   y   s   t   e   m       P   B   I   s       e
0034340    q   u   a   l   l   y       a   m   o   n   g       a   l   l
0034360        a   c   t   i   v   e       j   o   b   s   .  \r   /   /
0034400        A   f   t   e   r       d   o   i   n   g       i   t   s
0034420        b   e   s   t   ,       i   t       c   h   e   c   k   s
0034440        t   w   o       c   a   s   e   s   :  \r   /   /       1
0034460    )       W   h   e   n       a       n   e   w       j   o   b
0034500        i   s       c   r   e   a   t   e   d   ,       i   t    
0034520    m   a   y       n   o   t       b   e       p   o   s   s   i
0034540    b   l   e       t   o       e   q   u   a   l   l   y  \r   /
0034560    /           r   e   d   i   s 376 001  \0 341 246   t   r   i
0034600    b   u   t   e       t   h   e       P   B   I   s       b   y
0034620        r   e   d   u   c   i   n   g       t   h   e       a   l
0034640    l   o   c   a   t   i   o   n   s       o   f       t   h   e
0034660        o   t   h   e   r  \r   /   /           j   o   b   s   .
0034700            W   h   e   n       t   h   i   s       h   a   p   p
0034720    e   n   s   ,       e   n   o   u   g   h       P   B   I   s
0034740        a   r   e       a   l   l   o   c   a   t   e   d       f
0034760    r   o   m       s   y   s   Z   o   n   e  \r   /   /        
0035000    t   o       p   r   e   v   e   n   t       a       d   e   a
0035020    d   l   o   c   k   .  \r   /   /       2   )       I   f    
0035040    s   o   m   e       P   B   I   s       w   e   r   e       a
0035060    l   l   o   c   a   t   e   d       i   n       t   h   e    
0035100    p   a   s   t       t   o       p   r   e   v   e   n   t    
0035120    a       d   e   a   d   l   o   c   k   ,       a   n   d  \r
0035140    /   /           t   h   e   y       a   r   e       n   o    
0035160    l   o   n   g   e   r       n   e   e   d   e   d 376 001  \0
0035200  253 210       (   e   i   t   h   e   r       b   e   c   a   u
0035220    s   e       t   h   e   r   e       a   r   e       f   e   w
0035240    e   r       j   o   b   s       n   o   w   ,  \r   /   /    
0035260        o   r       b   e   c   a   u   s   e       s   o   m   e
0035300        j   o   b   s       a   r   e       n   o   t       u   s
0035320    i   n   g       a   l   l       o   f       t   h   e   i   r
0035340        a   l   l   o   c   a   t   i   o   n   s   )   ,  \r   /
0035360    /           p   b   i   F   r   e   e   Q       i   s       s
0035400    e   a   r   c   h   e   d       f   o   r       t   h   e    
0035420    e   x   t   r   a       P   B   I   s   ,       a   n   d    
0035440    t   h   e   y       a   r   e       r   e   l   e   a   s   e
0035460    d       i   f       f   o   u   n   d   .  \r   /   /       T
0035500    h   i   s       p   r   o   c   e   d   u   r   e       a   s
0035520    s   u   m   e   s       t   h   a   t       i   t       k   n
0035540    o   w   s       a   b   o   u   t       a   l   l       s   o
0035560    c   k   e   t   s       t   h   a   t       k   e   e   p    
0035600    P   B 376 001  \0 361 323   I   s  \r   /   /           f   o
0035620    r       a   n   y       l   e   n   g   t   h       o   f    
0035640    t   i   m   e       -   -       t   h   o   s   e       t   h
0035660    a   t       c   o   u   l   d       p   a   r   t   i   c   i
0035700    p   a   t   e       i   n       a       d   e   a   d   l   o
0035720    c   k   .  \r   [  \r   L   o   c   k   (   r   s   L   o   c
0035740    k   ,       t   r   u   e   )  \r   l   e   t       a   c   t
0035760    i   v   e   J   o   b   s       =       A   c   t   i   v   e
0036000    J   o   b   s   (   )  \r   l   e   t       c   o   m   m   i
0036020    t   t   e   d   P   B   I   s       =       n   u   m   N   e
0036040    t   s           /   /   e   a   c   h       n   e   t       c
0036060    o   n   s   u   m   e   s       1       P   B   I       p   e
0036100    r   m   a   n   e   n   t   l   y  \r   i   f       a   c   t
0036120    i   v   e   J   o   b   s       n   e       0       t   h   e
0036140    n  \r               [  \r               /   /       T   h   e
0036160        f   o   l   l   o   w   i   n   g       u   g   l   y    
0036200    t   h   i   n   g       e 376 001  \0 315 275   n   s   u   r
0036220    e   s       t   h   a   t       t   h   e       S   e   t   A
0036240    l   l   o   c   a   t   i   o   n       p   r   o   c   e   d
0036260    u   r   e  \r               /   /           i   s       i   n
0036300        c   o   r   e   ,       s   o       t   h   a   t       l
0036320    a   t   e   r       c   a   l   l   s       t   o       S   e
0036340    t   A   l   l   o   c   a   t   i   o   n       w   o   n   '
0036360    t       f   a   u   l   t       a   n   d  \r               /
0036400    /           l   e   t       o   t   h   e   r       p   r   o
0036420    c   e   s   s   e   s       s   n   e   a   k       i   n    
0036440    a   n   d       c   h   a   n   g   e       t   h   e       n
0036460    u   m   b   e   r       o   f       P   B   I   s       b   e
0036500    i   n   g       u   s   e   d   .  \r               l   e   t
0036520        z   P   S   I   B       =       v   e   c       l   e   n
0036540    P   S   I   B   ;       Z   e   r   o   (   z   P   S   I   B
0036560    ,       l   e   n   P   S   I   B   )  \r               S   e
0036600    t   A   l   l   o   c   a   t   i   o   n   ( 376 001  \0 037
0036620   \t   z   P   S   I   B       -       o   f   f   s   e   t    
0036640    P   u   p   S   o   c   .   p   s   i   b   /   1   6   ,    
0036660    0   ,       0   ,       0   )  \r  \r               /   /    
0036700    E   a   c   h       s   o   c   k   e   t       n   o   m   i
0036720    n   a   l   l   y       g   e   t   s       i   t   s       s
0036740    h   a   r   e       o   f       s   y   s   t   e   m       P
0036760    B   I   s   ,       b   u   t       a   t       m   o   s   t
0037000        8   :  \r               l   e   t       i   n   O   u   t
0037020    P   B   I   s       =       M   i   n   (   (   n   u   m   P
0037040    B   I   s   -   n   u   m   N   e   t   s   )   /   a   c   t
0037060    i   v   e   J   o   b   s   ,       8   )  \r               f
0037100    o   r       i       =       0       t   o       l   e   n   J
0037120    o   b   T   -   1       d   o  \r                           [
0037140   \r                           l   e   t       c   t   x       =
0037160        j   o   b   T   >   >   J   o   b   T   ^   i  \r        
0037200                    i   f       c   t   x       n   e       0    
0037220    t 376 001  \0   q 376   h   e   n  \r                        
0037240                [  \r                                       l   e
0037260    t       s   o   c       =       c   t   x   >   >   R   S   C
0037300    t   x   .   b   s   p   S   o   c           /   /   t   r   e
0037320    a   t   e   d       a   s       a       P   u   p   S   o   c
0037340   \r                                       i   f       s   o   c
0037360        n   e       0       t   h   e   n  \r                    
0037400                                [  \r                            
0037420                        /   /       I   n   d   e   p   e   n   d
0037440    e   n   t   l   y       c   o   m   p   u   t   e       a   c
0037460    t   u   a   l       i   n   p   u   t       a   n   d       o
0037500    u   t   p   u   t       s   o   c   k   e   t       P   B   I
0037520   \r                                                   /   /    
0037540    a   l   l   o   c   a   t   i   o   n   s   .           C   a
0037560    n   n   o   t       d   e   c   r   e   a   s   e       e   i
0037600    t   h   e   r       a   l   l   o   c   a   t   i   o   n    
0037620    b   e   l   o   w  \r 376 001  \0   u   a                    
0037640                                /   /       t   h   e       n   u
0037660    m   b   e   r       o   f       P   B   I   s       a   c   t
0037700    u   a   l   l   y       i   n       u   s   e       p   l   u
0037720    s       o   n   e   ,       u   n   l   e   s   s       t   h
0037740    e  \r                                                   /   /
0037760        s   o   c   k   e   t       i   s       a   l   r   e   a
0040000    d   y       u   s   i   n   g       i   t   s       m   a   x
0040020    i   m   u   m       a   l   l   o   c   a   t   i   o   n   .
0040040   \r                                                   l   e   t
0040060        i   P   B   I       =       M   a   x   (   M   i   n   (
0040100    s   o   c   >   >   P   u   p   S   o   c   .   m   a   x   I
0040120    P   B   I   -   s   o   c   >   >   P   u   p   S   o   c   .
0040140    n   u   m   I   P   B   I   +   1   ,  \r                    
0040160                                    s   o   c   >   >   P   u   p
0040200    S   o   c   .   m   a   x   I   P   B   I   )   ,       i   n
0040220    O   u   t   P   B   I   s   )  \r         376 001  \0 243 346
0040240                                            l   e   t       o   P
0040260    B   I       =       M   a   x   (   M   i   n   (   s   o   c
0040300    >   >   P   u   p   S   o   c   .   m   a   x   O   P   B   I
0040320    -   s   o   c   >   >   P   u   p   S   o   c   .   n   u   m
0040340    O   P   B   I   +   1   ,  \r                                
0040360                        s   o   c   >   >   P   u   p   S   o   c
0040400    .   m   a   x   O   P   B   I   )   ,       i   n   O   u   t
0040420    P   B   I   s   )  \r  \r                                    
0040440                /   /       P   e   r   m   i   t       t   h   e
0040460        s   o   c   k   e   t       o   n   e       m   o   r   e
0040500        t   h   a   n       t   h   e       m   a   x       o   f
0040520        i   t   s       i   n   p   u   t       a   n   d  \r    
0040540                                                /   /       o   u
0040560    t   p   u   t       a   l   l   o   c   a   t   i   o   n   s
0040600        t   o       g   u   a   r   a   n   t   e   e       t   h
0040620    a   t       o   n   e       P   B   I       c   a   n       s
0040640  376 001  \0 332 003   t   i   l   l  \r                        
0040660                            /   /       t   r   a   v   e   l    
0040700    i   n       t   h   e       r   e   v   e   r   s   e       d
0040720    i   r   e   c   t   i   o   n   .           H   o   w   e   v
0040740    e   r   ,       i   t       i   s       n   o   t  \r        
0040760                                            /   /       n   e   c
0041000    e   s   s   a   r   y       t   o       c   o   u   n   t    
0041020    t   h   i   s       i   n       c   o   m   m   i   t   t   e
0041040    d   P   B   I   s   ,       s   i   n   c   e       t   h   e
0041060        B   S   P  \r                                            
0041100        /   /       g   u   a   r   a   n   t   e   e   s       n
0041120    e   v   e   r       t   o       h   o   l   d       o   n   t
0041140    o       t   h   a   t       e   x   t   r   a       P   B   I
0041160    .           (   B   S   P       u   s   e   s  \r            
0041200                                        /   /       s   o   c   k
0041220    e   t       a   l   l   o   c   a   t   i   o   n       m   i
0041240    n   u   s       o 376 001  \0   = 235   n   e       i   n    
0041260    b   o   t   h       d   i   r   e   c   t   i   o   n   s    
0041300    t   o       c   o   n   t   r   o   l  \r                    
0041320                                /   /       B   S   P   -   l   e
0041340    v   e   l       a   l   l   o   c   a   t   i   o   n   s   .
0041360    )  \r                                                   l   e
0041400    t       m   a   x   P   B   I       =       M   a   x   (   i
0041420    P   B   I   ,       o   P   B   I   )  \r                    
0041440                                S   e   t   A   l   l   o   c   a
0041460    t   i   o   n   (   s   o   c   ,       m   a   x   P   B   I
0041500    +   1   ,       i   P   B   I   ,       o   P   B   I   )  \r
0041520                                                    c   o   m   m
0041540    i   t   t   e   d   P   B   I   s       =       c   o   m   m
0041560    i   t   t   e   d   P   B   I   s       +       m   a   x   P
0041600    B   I  \r                                                   ]
0041620   \r                                       ]  \r                
0041640            ]  \r               ]  \r  \r 376 001  \0 200   D   /
0041660    /       I   f       n   o   w       o   v   e   r   c   o   m
0041700    m   i   t   t   e   d   ,       a   l   l   o   c   a   t   e
0041720        n   e   w       P   B   I   s       a   n   d       a   d
0041740    d       t   o       p   o   o   l   .  \r   /   /       I   f
0041760        n   o   w       u   n   d   e   r   c   o   m   m   i   t
0042000    t   e   d   ,       t   r   y       t   o       g   e   t    
0042020    r   i   d       o   f       o   v   e   r   f   l   o   w    
0042040    P   B   I   s   .  \r   i   f       c   o   m   m   i   t   t
0042060    e   d   P   B   I   s       g   r       n   u   m   P   B   I
0042100    s   +   n   u   m   O   v   e   r   f   l   o   w   P   B   I
0042120    s       %  \r       c   o   m   m   i   t   t   e   d   P   B
0042140    I   s       l   s       n   u   m   P   B   I   s   +   n   u
0042160    m   O   v   e   r   f   l   o   w   P   B   I   s       &    
0042200    n   u   m   O   v   e   r   f   l   o   w   P   B   I   s    
0042220    g   r       0       t   h   e   n  \r               A   d   j
0042240    u   s   t   P   B   I   s   (   c   o   m   m   i   t   t 376
0042260  001  \0   t 205   e   d   P   B   I   s   )  \r  \r   U   n   l
0042300    o   c   k   (   r   s   L   o   c   k   )  \r   ]  \r  \f  \r
0042320    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0042340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0042420    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a
0042440    n   d       C   r   e   a   t   e   J   o   b   (   P   r   o
0042460    c   ,       t   y   p   e   ,       e   x   t   r   a   S   p
0042500    a   c   e   ,       d   o   n   t   S   t   a   r   t   ;    
0042520    n   u   m   a   r   g   s       n   a   )       =       v   a
0042540    l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -
0042560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0042660    -   -  \r   / 376 001  \0 364 214   /       C   r   e   a   t
0042700    e   s       a       j   o   b       o   f       t   y   p   e
0042720        t   y   p   e       a   n   d       i   n   s   e   r   t
0042740    s       i   t       i   n       t   h   e       j   o   b    
0042760    t   a   b   l   e   .  \r   /   /       S   t   a   r   t   s
0043000        t   h   e       c   o   n   t   e   x   t       u   n   l
0043020    e   s   s       d   o   n   t   S   t   a   r   t       i   s
0043040        t   r   u   e       (   d   e   f   a   u   l   t       f
0043060    a   l   s   e   )   .  \r   /   /       R   e   t   u   r   n
0043100    s       a       p   o   i   n   t   e   r       t   o       t
0043120    h   e       c   o   n   t   e   x   t       n   o   r   m   a
0043140    l   l   y   .  \r   /   /       R   e   t   u   r   n   s    
0043160    z   e   r   o       i   f       t   h   e       j   o   b    
0043200    t   a   b   l   e       i   s       f   u   l   l       o   r
0043220        t   o   o       m   a   n   y       j   o   b   s       o
0043240    f  \r   /   /       t   h   e       s   a   m   e       t   y
0043260    p   e       a   l   r   e   a   d 376 001  \0 371 260   y    
0043300    e   x   i   s   t       o   r       a       s   t   a   c   k
0043320        c   a   n   '   t       b   e       a   l   l   o   c   a
0043340    t   e   d   .  \r   [  \r   D   e   f   a   u   l   t   A   r
0043360    g   s   (   l   v       n   a   ,       -   2   ,       l   e
0043400    n   R   S   C   t   x   -   3   ,       f   a   l   s   e   )
0043420   \r   l   e   t       c   t   x       =       0  \r   L   o   c
0043440    k   (   r   s   L   o   c   k   ,       t   r   u   e   )  \r
0043460    i   f       J   o   b   O   K   (   t   y   p   e   ,       t
0043500    r   u   e   )       t   h   e   n  \r               f   o   r
0043520        i       =       0       t   o       l   e   n   J   o   b
0043540    T   -   1       d   o  \r                           i   f    
0043560    j   o   b   T   >   >   J   o   b   T   ^   i       e   q    
0043600    0       t   h   e   n  \r                                    
0043620    [  \r                                       c   t   x       =
0043640        A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n
0043660    e   ,       j   o   b   S   S   ,       t   r   u   e 376 001
0043700   \0 366   >   )  \r                                       i   f
0043720        c   t   x       n   e       0       t   h   e   n  \r    
0043740                                                [  \r            
0043760                                        Z   e   r   o   (   c   t
0044000    x   ,       e   x   t   r   a   S   p   a   c   e   +   3   )
0044020   \r                                                   I   n   i
0044040    t   i   a   l   i   z   e   C   o   n   t   e   x   t   (   c
0044060    t   x   ,       j   o   b   S   S   ,       P   r   o   c   ,
0044100        e   x   t   r   a   S   p   a   c   e   )  \r            
0044120                                        c   t   x   >   >   R   S
0044140    C   t   x   .   t   y   p   e       =       t   y   p   e  \r
0044160                                                    j   o   b   T
0044200    >   >   J   o   b   T   ^   i       =       c   t   x  \r    
0044220                                                u   n   l   e   s
0044240    s       d   o   n   t   S   t   a   r   t       d   o       E
0044260    n   q   u   e   u   e   (   i   f   s   C   t   x   Q   ,    
0044300    c   t   x 376 001  \0   2 325   )  \r                        
0044320                            ]  \r                                
0044340        b   r   e   a   k  \r                                    
0044360    ]  \r   U   n   l   o   c   k   (   r   s   L   o   c   k   )
0044400   \r   r   e   s   u   l   t   i   s       c   t   x  \r   ]  \r
0044420   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0044440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0044520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0044540    a   n   d       D   e   s   t   r   o   y   J   o   b   (   )
0044560        b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -
0044600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0044700    -   -  \r   /   /       P   r 376 001  \0   8 315   o   c   e
0044720    d   u   r   e       c   a   l   l   e   d       b   y       a
0044740        j   o   b       t   o       t   e   r   m   i   n   a   t
0044760    e       i   t   s   e   l   f   .           D   o   e   s    
0045000    n   o   t       r   e   t   u   r   n   .  \r   [  \r   F   r
0045020    e   e   P   o   i   n   t   e   r   (   l   v       C   t   x
0045040    R   u   n   n   i   n   g   >   >   R   S   C   t   x   .   b
0045060    s   p   S   o   c   )  \r   D   i   s   t   r   i   b   u   t
0045100    e   P   B   I   s   (   )  \r  \r   /   /       T   h   e    
0045120    f   o   l   l   o   w   i   n   g       d   e   p   e   n   d
0045140    s       o   n       t   h   e       f   a   c   t       t   h
0045160    a   t  \r   /   /       (   1   )       p   r   o   c   e   s
0045200    s       s   t   a   c   k   s       a   r   e       p   a   g
0045220    e   -   s   i   z   e       b   u   f   f   e   r   s   ,    
0045240    a   n   d       f   r   e   e   i   n   g       o   n   e    
0045260    d   o   e   s   n   '   t  \r   /   /                       i
0045300    m   m   e   d   i   a   t   e   l   y       c   l 376 001  \0
0045320  017 360   o   b   b   e   r       i   t   s       c   o   n   t
0045340    e   n   t   s   ;  \r   /   /       (   2   )       c   a   l
0045360    l   i   n   g       U   n   q   u   e   u   e       a   n   d
0045400        F   r   e   e       c   a   n   '   t       c   a   u   s
0045420    e       u   s       t   o       B   l   o   c   k   .  \r   f
0045440    o   r       i       =       0       t   o       l   e   n   J
0045460    o   b   T   -   1       d   o  \r               i   f       j
0045500    o   b   T   >   >   J   o   b   T   ^   i       e   q       C
0045520    t   x   R   u   n   n   i   n   g       t   h   e   n       j
0045540    o   b   T   >   >   J   o   b   T   ^   i       =       0  \r
0045560    F   r   e   e   (   s   y   s   Z   o   n   e   ,       C   t
0045600    x   R   u   n   n   i   n   g   )  \r   U   n   q   u   e   u
0045620    e   (   i   f   s   C   t   x   Q   ,       C   t   x   R   u
0045640    n   n   i   n   g   )  \r   C   t   x   R   u   n   n   i   n
0045660    g   !   0       =       0           /   /       s   o       C
0045700    a   l   l   C   o   n   t   e   x   t   L   i   s   t       w
0045720    i   l 376 001  \0   W   A   l       s   t   a   r   t       o
0045740    v   e   r       -   -       C   t   x   R   u   n   n   i   n
0045760    g       h   a   s       n   o       s   u   c   c   e   s   s
0046000    o   r   !  \r   B   l   o   c   k   (   )           /   /    
0046020    n   e   v   e   r       t   o       r   e   t   u   r   n  \r
0046040    ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0046060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0046160    -  \r   a   n   d       A   c   t   i   v   e   J   o   b   s
0046200    (   )       =       v   a   l   o   f  \r   /   /   -   -   -
0046220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0046320    -   -   -   -   -   -   - 376 001  \0 333   l   -   -  \r   [
0046340   \r   l   e   t       a   c   t   i   v   e   J   o   b   s    
0046360    =       0  \r   f   o   r       i       =       0       t   o
0046400        l   e   n   J   o   b   T   -   1       d   o       i   f
0046420        j   o   b   T   >   >   J   o   b   T   ^   i       n   e
0046440        0       t   h   e   n  \r               a   c   t   i   v
0046460    e   J   o   b   s       =       a   c   t   i   v   e   J   o
0046500    b   s   +   1  \r   r   e   s   u   l   t   i   s       a   c
0046520    t   i   v   e   J   o   b   s  \r   ]  \r  \f  \r   /   /   -
0046540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0046640    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0046660    D   e   c   l   a   r   e   P   u   p   S   o   c   (   s   o
0046700    c   )       b   e  \r   /   /   -   -   -   -   -   -   -   -
0046720    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0   }
0046740  374   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0046760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0047020    -   -   -   -   -   -   -   -   -  \r   /   /       P   r   o
0047040    c   e   d   u   r   e       c   a   l   l   e   d       b   y
0047060        a       p   r   o   c   e   s   s       t   o       d   e
0047100    c   l   a   r   e       a       P   u   p       s   o   c   k
0047120    e   t       i   t       i   n   t   e   n   d   s       t   o
0047140        u   s   e  \r   /   /       t   h   a   t       m   i   g
0047160    h   t       d   e   m   a   n   d       s   o   m   e       a
0047200    l   l   o   c   a   t   i   o   n   .           P   a   s   s
0047220        s   o   c       =       0       t   o       r   e   m   o
0047240    v   e       t   h   e       c   u   r   r   e   n   t  \r   /
0047260    /       s   o   c   k   e   t       (   m   u   s   t       d
0047300    o       t   h   i   s       b   e   f   o   r   e       c   a
0047320    l   l   i   n   g       D   e   s   t   r   o   y   J   o   b
0047340    , 376 001  \0   % 253       a   s       D   e   s   t   r   o
0047360    y   J   o   b  \r   /   /       w   i   l   l       t   r   y
0047400        t   o       f   r   e   e       t   h   e       c   u   r
0047420    r   e   n   t       s   o   c   k   e   t       i   n   t   o
0047440        s   y   s   Z   o   n   e       o   t   h   e   r   w   i
0047460    s   e   )   .  \r   [  \r   C   t   x   R   u   n   n   i   n
0047500    g   >   >   R   S   C   t   x   .   b   s   p   S   o   c    
0047520    =       s   o   c  \r   D   i   s   t   r   i   b   u   t   e
0047540    P   B   I   s   (   )  \r   ]  \r  \r   /   /   -   -   -   -
0047560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0047660    -   -   -   -   -   -   -   -  \r   a   n   d       J   o   b
0047700    O   K   (   t   y   p   e   ,       n   e   w   ;       n   u
0047720    m   a   r   g   s       n   a   )       =       v   a   l   o
0047740    f  \r   /   /   -   - 376 001  \0 233 250   -   -   -   -   -
0047760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0050060    -   -   -   -   -  \r   /   /       R   e   t   u   r   n   s
0050100        t   r   u   e       i   f   f       i   t       i   s    
0050120    o   k       f   o   r       a       j   o   b       o   f    
0050140    t   h   e       s   p   e   c   i   f   i   e   d       t   y
0050160    p   e       t   o       r   u   n       n   o   w   .  \r   /
0050200    /       n   e   w       =       t   r   u   e       m   e   a
0050220    n   s       y   o   u       a   r   e       t   a   l   k   i
0050240    n   g       a   b   o   u   t       c   r   e   a   t   i   n
0050260    g       a       n   e   w       j   o   b       o   f       t
0050300    h   a   t       t   y   p   e   ;  \r   /   /       f   a   l
0050320    s   e       (   t   h   e       d   e   f   a   u   l   t   )
0050340        m   e   a   n   s       y   o   u     376 001  \0 343 320
0050360    a   r   e       t   a   l   k   i   n   g       a   b   o   u
0050400    t       c   o   n   t   i   n   u   i   n   g       t   o    
0050420    r   u   n  \r   /   /       a   n       e   x   i   s   t   i
0050440    n   g       j   o   b   .  \r   /   /       S   e   e       I
0050460    f   s   R   s   M   g   r   I   n   i   t   .   b   c   p   l
0050500        f   o   r       j   o   b       p   o   l   i   c   y    
0050520    c   o   n   t   r   o   l   s       c   u   r   r   e   n   t
0050540    l   y       i   n       f   o   r   c   e   .  \r   [  \r   i
0050560    f       h   a   l   t   F   l   a   g       r   e   s   u   l
0050600    t   i   s       f   a   l   s   e  \r  \r   l   e   t       c
0050620    l   a   s   s       =       j   p   c   >   >   J   P   C   .
0050640    t   y   p   e   C   l   a   s   s   ^   t   y   p   e  \r   l
0050660    e   t       t   o   t   a   l   J   o   b   s       =       n
0050700    a       g   r       1       &       n   e   w   ?       1   ,
0050720        0  \r   l   e   t       n   u   m   J   o   b   s   I   n
0050740    C   l   a   s   s       =       t   o   t   a   l   J   o   b
0050760  376 001  \0   1 276   s  \r   f   o   r       i       =       0
0051000        t   o       l   e   n   J   o   b   T   -   1       d   o
0051020   \r               i   f       j   o   b   T   >   >   J   o   b
0051040    T   ^   i       n   e       0       t   h   e   n  \r        
0051060                    [  \r                           t   o   t   a
0051100    l   J   o   b   s       =       t   o   t   a   l   J   o   b
0051120    s   +   1  \r                           i   f       j   p   c
0051140    >   >   J   P   C   .   t   y   p   e   C   l   a   s   s   ^
0051160    (   j   o   b   T   >   >   J   o   b   T   ^   i   >   >   R
0051200    S   C   t   x   .   t   y   p   e   )       e   q       c   l
0051220    a   s   s       t   h   e   n  \r                            
0051240            n   u   m   J   o   b   s   I   n   C   l   a   s   s
0051260        =       n   u   m   J   o   b   s   I   n   C   l   a   s
0051300    s   +   1  \r                           ]  \r   r   e   s   u
0051320    l   t   i   s       n   u   m   J   o   b   s   I   n   C   l
0051340    a   s   s       l   e       j   p   c   >   >   J   P   C   .
0051360    c   l   a   s   s 376 001  \0   S  \a   M   a   x   ^   c   l
0051400    a   s   s       &  \r       t   o   t   a   l   J   o   b   s
0051420        l   e       j   p   c   >   >   J   P   C   .   c   l   a
0051440    s   s   S   y   s   t   e   m   M   a   x   ^   c   l   a   s
0051460    s  \r   ]  \r  \f  \r   /   /   -   -   -   -   -   -   -   -
0051500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051600    -   -   -   -  \r   a   n   d       F   l   u   s   h   V   i
0051620    t   a   l   S   t   a   t   e   (   e   c   b   )       b   e
0051640   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0051660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0051760    [  \r   /   /       L   o   c   k     376 001  \0 301 206   o
0052000    u   t       c   h   a   n   g   e   s       i   n       d   i
0052020    s   k       c   o   n   f   i   g   u   r   a   t   i   o   n
0052040        w   h   i   l   e       f   l   u   s   h   i   n   g    
0052060    d   i   s   k       s   t   a   t   e  \r   i   f       L   o
0052100    c   k   (   o   p   e   n   L   o   c   k   ,       t   r   u
0052120    e   ,       t   r   u   e   )       t   h   e   n  \r        
0052140        [  \r               F   l   u   s   h   K   D   s   (   )
0052160   \r               M   a   r   k   D   i   r   t   y   V   F   i
0052200    l   e   s   (   )  \r               F   l   u   s   h   B   T
0052220    r   e   e   S   t   a   t   e   (   )  \r               U   n
0052240    l   o   c   k   (   o   p   e   n   L   o   c   k   )  \r    
0052260            ]  \r  \r   D   i   s   t   r   i   b   u   t   e   P
0052300    B   I   s   (   )  \r  \r   /   /       I   f       t   h   e
0052320    r   e   '   s       n   o   t   h   i   n   g       e   l   s
0052340    e       t   o       d   o   .   .   .   .  \r   i   f       A
0052360    c   t   i   v   e   J   o   b   s   (   )       e   q     376
0052400  001  \0   ~ 357   0       t   h   e   n       P   e   r   f   o
0052420    r   m   I   d   l   e   T   a   s   k   s   (   )  \r  \r   /
0052440    /       F   o   r   k       a       s   e   p   a   r   a   t
0052460    e       c   o   n   t   e   x   t       t   o       d   o    
0052500    t   h   e       a   c   t   u   a   l       V   M   e   m    
0052520    f   l   u   s   h       t   o       d   i   s   k   ,       b
0052540    e   c   a   u   s   e       i   t  \r   /   /       c   a   n
0052560        t   a   k   e       a       l   o   n   g       t   i   m
0052600    e   ,       a   n   d       w   e       d   o   n   '   t    
0052620    w   a   n   t       t   o       t   i   e       u   p       t
0052640    h   e       E   v   e   n   t   M   g   r       c   o   n   t
0052660    e   x   t   .  \r   /   /       n   .   b   .       S   t   a
0052700    c   k       m   u   s   t       b   e       b   i   g       e
0052720    n   o   u   g   h       f   o   r       t   h   e       F   l
0052740    u   s   h   B   u   f   f   e   r   s       p   a   t   h    
0052760    t   h   r   o   u   g   h       V   M   e   m       p   l   u
0053000    s  \r   /   / 376 001  \0   D   V       t   h   e       d   e
0053020    e   p   e   s   t       D   O   P   A   G   E   I   O       c
0053040    a   l   l       p   a   t   h   .           A   l   l       D
0053060    O   P   A   G   E   I   O       p   r   o   c   e   d   u   r
0053100    e   s       b   e   s   i   d   e   s       O   v   D   O   P
0053120    A   G   E   I   O  \r   /   /       u   s   e       C   a   l
0053140    l   P   r   o   c       t   o       a   c   t   u   a   l   l
0053160    y       d   o       t   h   e       d   i   s   k       I   /
0053200    O   ;       a   n   d       O   v   D   O   P   A   G   E   I
0053220    O       i   s   n   '   t       a       p   r   o   b   l   e
0053240    m  \r   /   /       s   i   n   c   e       o   v   e   r   l
0053260    a   y   s       a   r   e       n   e   v   e   r       d   i
0053300    r   t   i   e   d       a   n   d       n   e   v   e   r    
0053320    n   e   e   d       t   o       b   e       w   r   i   t   t
0053340    e   n       o   u   t   .  \r   /   /       T   h   e   r   e
0053360    f   o   r   e       a       r   e   l   a   t   i   v   e   l
0053400    y       s   m   a   l   l       s 376 001  \0 330  \t   t   a
0053420    c   k       s   u   f   f   i   c   e   s   .  \r   /   /    
0053440    P   a   s   s       e   c   b       t   o       t   h   e    
0053460    F   l   u   s   h   B   u   f   f   e   r   s   C   t   x    
0053500    a   n   d       l   e   t       i   t       d   o       t   h
0053520    e       Q   u   e   u   e   E   v   e   n   t       f   o   r
0053540        t   h   e       n   e   x   t  \r   /   /       F   l   u
0053560    s   h   V   i   t   a   l   S   t   a   t   e       w   h   e
0053600    n       i   t       i   s       d   o   n   e       -   -    
0053620    s   o       t   h   a   t       t   h   e   r   e       c   a
0053640    n   n   o   t       p   o   s   s   i   b   l   y       b   e
0053660        m   u   l   t   i   p   l   e  \r   /   /       i   n   s
0053700    t   a   n   c   e   s       o   f       F   l   u   s   h   B
0053720    u   f   f   e   r   s   C   t   x       i   n       e   x   i
0053740    s   t   e   n   c   e       s   i   m   u   l   t   a   n   e
0053760    o   u   s   l   y   .  \r   C   r   e   a   t   e   C   t   x
0054000    (   2   0   0   ,       F   l   u   s   h   B   u   f 376 001
0054020   \0 314   s   f   e   r   s   C   t   x   )   !   3       =    
0054040    e   c   b  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0054060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0054160    -   -   -   -   -  \r   a   n   d       F   l   u   s   h   B
0054200    u   f   f   e   r   s   C   t   x   (   c   t   x   )       b
0054220    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0054240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0054340   \r   [  \r   l   e   t       e   c   b       =       c   t   x
0054360    !   3  \r   F   l   u   s   h   B   u   f   f   e   r   s   (
0054400    )  \r   Q   u   e   u   e   E   v   e   n   t   (   e   c   b
0054420    ,       1 376  \0   ; 207 224   5   0   0   )           /   /
0054440        1   5       s   e   c   o   n   d   s       t   o       n
0054460    e   x   t       F   l   u   s   h   V   i   t   a   l   S   t
0054500    a   t   e  \r   D   e   s   t   r   o   y   C   t   x   (   )
0054520   \r   ]  \r 377  \0  \0   I   f   s   R   s   M   g   r   R   a
0054540    r   e   .   b   c   p   l  \0 373 231 262 027 223  \0  \0 376
0054560  001  \0 353   "   /   /       I   f   s   R   S   M   g   r   R
0054600    a   r   e   .   b   c   p   l       -       R   e   n   d   e
0054620    z   v   o   u   s       S   o   c   k   e   t       a   n   d
0054640        P   r   o   c   e   s   s       M   a   n   a   g   e   r
0054660        -       R   a   r   e  \r   /   /       C   o   p   y   r
0054700    i   g   h   t       X   e   r   o   x       C   o   r   p   o
0054720    r   a   t   i   o   n       1   9   7   9   ,       1   9   8
0054740    0   ,       1   9   8   1   ,       1   9   8   2  \r   /   /
0054760        L   a   s   t       m   o   d   i   f   i   e   d       S
0055000    e   p   t   e   m   b   e   r       1   7   ,       1   9   8
0055020    2           1   0   :   4   4       A   M       b   y       T
0055040    a   f   t  \r  \r   g   e   t       "   A   l   t   o   D   e
0055060    f   s   .   d   "  \r   g   e   t       "   I   f   s   R   s
0055100    .   d   e   c   l   "  \r   g   e   t       "   P   u   p   0
0055120    .   d   e   c   l   "  \r   g   e   t       "   P   u   p   1
0055140    .   d   e   c   l   "  \r   g   e   t       "   P   u   p   R
0055160    T   P   .   d 376 001  \0 357   K   e   c   l   "  \r  \r   e
0055200    x   t   e   r   n   a   l  \r   [  \r   /   /       o   u   t
0055220    g   o   i   n   g       p   r   o   c   e   d   u   r   e   s
0055240   \r   A   b   o   r   t   R   S   C   o   n   n   e   c   t   i
0055260    o   n   s   ;       H   a   n   d   l   e   K   e   y   s   ;
0055300        R   S   S   e   n   d   A   b   o   r   t   ;       A   d
0055320    j   u   s   t   P   B   I   s   ;       P   e   r   f   o   r
0055340    m   I   d   l   e   T   a   s   k   s  \r  \r   /   /       i
0055360    n   c   o   m   i   n   g       p   r   o   c   e   d   u   r
0055400    e   s  \r   R   e   c   o   r   d   M   e   m   o   r   y   E
0055420    r   r   o   r   ;       R   e   t   u   r   n   R   e   t   a
0055440    i   n   e   d   F   r   e   e   P   a   g   e   s   ;       F
0055460    l   u   s   h   B   u   f   f   e   r   s  \r   C   l   o   s
0055500    e   R   T   P   S   o   c   k   e   t   ;       A   p   p   e
0055520    n   d   S   t   r   i   n   g   T   o   P   u   p   ;       E
0055540    x   c   h   a   n   g   e   P   o   r   t   s   ;       C   o
0055560    m   p   l   e   t   e   P   u   p 376 001  \0 350 272  \r   A
0055600    l   l   o   c   a   t   e   ;       F   r   e   e   ;       E
0055620    n   q   u   e   u   e   ;       D   e   q   u   e   u   e   ;
0055640        U   n   q   u   e   u   e   ;       M   a   x   ;       D
0055660    i   s   m   i   s   s  \r  \r   /   /       i   n   c   o   m
0055700    i   n   g       s   t   a   t   i   c   s  \r   j   o   b   T
0055720    ;       l   e   n   J   o   b   T   ;       n   u   m   P   B
0055740    I   s   ;       h   a   l   t   F   l   a   g   ;       e   n
0055760    t   F   l   a   g  \r   s   y   s   Z   o   n   e   ;       n
0056000    u   m   O   v   e   r   f   l   o   w   P   B   I   s   ;    
0056020    m   a   x   O   v   e   r   f   l   o   w   P   B   I   s   ;
0056040        o   v   P   B   I   Q   ;       p   b   i   F   r   e   e
0056060    Q   ;       l   e   n   P   B   I  \r   ]  \r  \r   /   /   -
0056100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056160    -   -   -   -   -   -   -   -   -   -   -   -   -   - 376 001
0056200   \0 327 263   -   -   -   -   -   -   -   -   -   -   -   -   -
0056220   \r   l   e   t       H   a   n   d   l   e   K   e   y   s   (
0056240    )       b   e  \r   /   /   -   -   -   -   -   -   -   -   -
0056260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056360    -   -   -  \r   /   /       C   a   l   l   e   d       f   r
0056400    o   m       S   h   i   f   t   S   w   a   t   E   v   e   n
0056420    t       i   f       a   n   y       k   e   y       i   n    
0056440    w   o   r   d       1   7   7   0   3   7   b       b   e   s
0056460    i   d   e   s       L   o   c   k       i   s       d   o   w
0056500    n  \r   [  \r   /   /       N   o   t   e       t   h   a   t
0056520        1   7   7   0   3   6   b       c   o   n   t   a   i   n
0056540    s       C   t   r   l       a   n   d       L   e   f   t   -
0056560    s   h   i   f   t       a   n   d       w   e       r   e   q
0056600    u   i   r 376 001  \0 207  \a   e       C   t   r   l       t
0056620    o       b   e  \r   /   /       u   p       f   o   r       a
0056640        s   h   i   f   t   -   s   w   a   t       a   b   o   r
0056660    t   .  \r   i   f       @   1   7   7   0   3   6   b       e
0056700    q       1   7   7   6   7   7   b       &       (   @   1   7
0056720    7   0   3   7   b       &       1   7   7   5   7   7   b   )
0056740        e   q       1   7   7   5   7   3   b       t   h   e   n
0056760   \r               [       A   b   o   r   t   R   S   C   o   n
0057000    n   e   c   t   i   o   n   s   (   )   ;       f   i   n   i
0057020    s   h       ]  \r  \r   /   /       S   o   m   e       o   t
0057040    h   e   r       k   e   y       i   n       1   7   7   0   3
0057060    7   b       (   e   .   g   .   ,       s   p   a   c   e   )
0057100        i   s       d   o   w   n   .  \r   /   /       F   l   a
0057120    s   h       s   c   r   e   e   n       t   o       r   e   a
0057140    s   s   u   r   e       o   b   s   e   r   v   e   r       t
0057160    h   a   t       I   F   S       i   s       u   p   .  \r   (
0057200    @   d   i   s   p   l   a   y 376 001  \0   Y   C   L   i   s
0057220    t   H   e   a   d   )   >   >   D   C   B   .   b   a   c   k
0057240    g   r   o   u   n   d       =       0           /   /       w
0057260    h   i   t   e  \r   D   i   s   m   i   s   s   (   1   )  \r
0057300    (   @   d   i   s   p   l   a   y   L   i   s   t   H   e   a
0057320    d   )   >   >   D   C   B   .   b   a   c   k   g   r   o   u
0057340    n   d       =       1           /   /       b   l   a   c   k
0057360   \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0057400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0057500    -   -  \r   a   n   d       A   b   o   r   t   R   S   C   o
0057520    n   n   e   c   t   i   o   n   s   (   )       b   e  \r   /
0057540    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0057560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0057600    -   -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0
0057620    O   $   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0057640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0057660    -   -  \r   f   o   r       i       =       0       t   o    
0057700    l   e   n   J   o   b   T   -   1       d   o  \r            
0057720    i   f       j   o   b   T   >   >   J   o   b   T   ^   i    
0057740    n   e       0       &       j   o   b   T   >   >   J   o   b
0057760    T   ^   i   >   >   R   S   C   t   x   .   c   o   n   n   F
0060000    l   a   g       t   h   e   n  \r                           [
0060020   \r                           j   o   b   T   >   >   J   o   b
0060040    T   ^   i   >   >   R   S   C   t   x   .   c   o   n   n   F
0060060    l   a   g       =       f   a   l   s   e  \r                
0060100            C   l   o   s   e   R   T   P   S   o   c   k   e   t
0060120    (   j   o   b   T   >   >   J   o   b   T   ^   i   >   >   R
0060140    S   C   t   x   .   b   s   p   S   o   c   ,       0   )  \r
0060160                            ]  \r  \f  \r   /   /   -   -   -   -
0060200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0060220    -   - 376 001  \0 321   7   -   -   -   -   -   -   -   -   -
0060240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060300    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0060320    d       R   S   S   e   n   d   A   b   o   r   t   (   p   b
0060340    i   ,       s   t   r   i   n   g   )       b   e  \r   /   /
0060360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060460    -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   p
0060500    b   i   >   >   P   B   I   .   p   u   p   .   w   o   r   d
0060520    s   ^   1       =       0  \r   A   p   p   e   n   d   S   t
0060540    r   i   n   g   T   o   P   u   p   (   p   b   i   ,       3
0060560    ,       s   t   r   i   n   g   )  \r   E   x   c   h   a   n
0060600    g   e   P   o   r   t   s   (   p   b   i   )  \r   C   o   m
0060620    p   l   e   t   e   P   u 376 001  \0   6   /   p   (   p   b
0060640    i   ,       t   y   p   e   A   b   o   r   t   )  \r   ]  \r
0060660   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0060700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0061000    a   n   d       A   d   j   u   s   t   P   B   I   s   (   c
0061020    o   m   m   i   t   t   e   d   P   B   I   s   )       b   e
0061040   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0061060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0061140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0061160    /   /       A   t   t   e   m   p   t   s       t   o       i
0061200    n   c   r   e   a   s   e       o   r       d   e   c   r   e
0061220    a   s   e       t   h   e       n   u   m   b 376 001  \0 231
0061240  372   e   r       o   f       P   B   I   s       i   n       t
0061260    h   e       s   y   s   t   e   m  \r   /   /       t   o    
0061300    r   e   f   l   e   c   t       c   o   m   m   i   t   t   e
0061320    d   P   B   I   s   .  \r   [  \r   /   /       I   f       n
0061340    o   w       o   v   e   r   c   o   m   m   i   t   t   e   d
0061360    ,       a   l   l   o   c   a   t   e       n   e   w       P
0061400    B   I   s       a   n   d       a   d   d       t   o       p
0061420    o   o   l  \r   w   h   i   l   e       c   o   m   m   i   t
0061440    t   e   d   P   B   I   s       g   r       n   u   m   P   B
0061460    I   s   +   n   u   m   O   v   e   r   f   l   o   w   P   B
0061500    I   s       d   o  \r               [  \r               l   e
0061520    t       o   v   P   B   I       =       A   l   l   o   c   a
0061540    t   e   (   s   y   s   Z   o   n   e   ,       l   e   n   P
0061560    B   I   +   1   )  \r               E   n   q   u   e   u   e
0061600    (   o   v   P   B   I   Q   ,       o   v   P   B   I   )  \r
0061620                E   n   q   u   e   u   e   (   p   b   i   F   r
0061640    e 376 001  \0   t   P   e   Q   ,       o   v   P   B   I   +
0061660    1   )  \r               n   u   m   O   v   e   r   f   l   o
0061700    w   P   B   I   s       =       n   u   m   O   v   e   r   f
0061720    l   o   w   P   B   I   s       +   1  \r               m   a
0061740    x   O   v   e   r   f   l   o   w   P   B   I   s       =    
0061760    M   a   x   (   m   a   x   O   v   e   r   f   l   o   w   P
0062000    B   I   s   ,       n   u   m   O   v   e   r   f   l   o   w
0062020    P   B   I   s   )  \r               ]  \r  \r   /   /       I
0062040    f       n   o   w       u   n   d   e   r   c   o   m   m   i
0062060    t   t   e   d   ,       t   r   y       t   o       g   e   t
0062100        r   i   d       o   f       o   v   e   r   f   l   o   w
0062120        P   B   I   s  \r   l   e   t       o   v   P   B   I    
0062140    =       o   v   P   B   I   Q   !   0  \r   w   h   i   l   e
0062160        c   o   m   m   i   t   t   e   d   P   B   I   s       l
0062200    s       n   u   m   P   B   I   s   +   n   u   m   O   v   e
0062220    r   f   l   o   w   P   B   I   s       &       o   v   P   B
0062240    I       n   e       0 376 001  \0 275 225       d   o  \r    
0062260            [  \r               l   e   t       n   e   x   t   O
0062300    v   P   B   I       =       o   v   P   B   I   !   0  \r    
0062320            i   f       U   n   q   u   e   u   e   (   p   b   i
0062340    F   r   e   e   Q   ,       o   v   P   B   I   +   1   )    
0062360    t   h   e   n  \r                           [  \r            
0062400                U   n   q   u   e   u   e   (   o   v   P   B   I
0062420    Q   ,       o   v   P   B   I   )  \r                        
0062440    F   r   e   e   (   s   y   s   Z   o   n   e   ,       o   v
0062460    P   B   I   )  \r                           n   u   m   O   v
0062500    e   r   f   l   o   w   P   B   I   s       =       n   u   m
0062520    O   v   e   r   f   l   o   w   P   B   I   s   -   1  \r    
0062540                        ]  \r               o   v   P   B   I    
0062560    =       n   e   x   t   O   v   P   B   I  \r               ]
0062600   \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0062620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0062640    -   -   -   -   -   -   -   -   -   -   - 376 001  \0 003 242
0062660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062720    -   -   -   -   -   -   -  \r   a   n   d       P   e   r   f
0062740    o   r   m   I   d   l   e   T   a   s   k   s   (   )       b
0062760    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0063000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0063100   \r   [  \r   /   /       H   a   l   t       t   h   e       s
0063120    y   s   t   e   m       i   f       h   a   l   t   F   l   a
0063140    g       i   s       t   r   u   e       a   n   d       n   o
0063160        j   o   b   s       c   u   r   r   e   n   t   l   y    
0063200    e   x   i   s   t   .  \r   /   /       U   n   l   e   s   s
0063220        h   a   l   t   i   n   g   ,       d   o   n   '   t    
0063240    a   l   l   o   w       t   h   e       s   y   s   t   e   m
0063260  376 001  \0 212  \b       t   o       g   o       i   d   l   e
0063300        w   i   t   h       e   n   t   F   l   a   g       =    
0063320    f   a   l   s   e   .  \r   i   f       h   a   l   t   F   l
0063340    a   g       t   h   e   n       [       F   l   u   s   h   B
0063360    u   f   f   e   r   s   (   t   r   u   e   )   ;       f   i
0063400    n   i   s   h       ]  \r   e   n   t   F   l   a   g       =
0063420        t   r   u   e  \r  \r   /   /       C   h   e   c   k    
0063440    f   o   r       m   a   i   n       m   e   m   o   r   y    
0063460    e   r   r   o   r   s       r   e   c   o   r   d   e   d    
0063500    b   y       h   a   r   d   w   a   r   e       (   A   l   t
0063520    o   -   I   I       o   n   l   y   )   .  \r   /   /       D
0063540    e   p   e   n   d       o   n       A   l   t   o   -   I    
0063560    r   e   t   u   r   n   i   n   g       z   e   r   o       w
0063600    h   e   n       M   E   S   R       i   s       r   e   a   d
0063620    .  \r   i   f       @   M   E   S   R       n   e       0    
0063640    &       (   n   o   t       @   M   E   S   R       &       1
0063660    3   7   4   B   ) 376  \0 376 264 034       n   e       0    
0063700    t   h   e   n       R   e   c   o   r   d   M   e   m   o   r
0063720    y   E   r   r   o   r   (   )  \r  \r   /   /       S   o   m
0063740    e   b   o   d   y       o   c   c   a   s   i   o   n   a   l
0063760    l   y       c   l   o   b   b   e   r   s       l   o   c   a
0064000    t   i   o   n       0   .           T   h   i   s       m   a
0064020    k   e   s       d   e   b   u   g   g   i   n   g  \r   /   /
0064040        v   e   r   y       d   i   f   f   i   c   u   l   t   ,
0064060        s   o   .   .   .  \r   @   0       =       7   7   4   0
0064100    0   B  \r  \r   /   /       G   i   v   e       r   e   t   a
0064120    i   n   e   d       f   r   e   e       p   a   g   e   s    
0064140    b   a   c   k       t   o       V   M   e   m   ,       j   u
0064160    s   t       t   o       g   e   t       e   v   e   r   y   t
0064200    h   i   n   g       i   n   t   o       a  \r   /   /       c
0064220    l   e   a   n       s   t   a   t   e   .  \r   R   e   t   u
0064240    r   n   R   e   t   a   i   n   e   d   F   r   e   e   P   a
0064260    g   e   s   (   )  \r   ]  \r 377  \0  \0   I   f   s   R   s
0064300    M   g   r   O   E   P   .   b   c   p   l  \0 373 231 242   t
0064320  352  \0  \0 376 001  \0 373 322   /   /       I   F   S   R   S
0064340    M   g   r   O   E   P   .   b   c   p   l  \r   /   /       C
0064360    o   p   y   r   i   g   h   t       X   e   r   o   x       C
0064400    o   r   p   o   r   a   t   i   o   n       1   9   7   9   ,
0064420        1   9   8   2  \r  \r   /   /       L   a   s   t       m
0064440    o   d   i   f   i   e   d       S   e   p   t   e   m   b   e
0064460    r       5   ,       1   9   8   2           2   :   0   6    
0064500    P   M       b   y       T   a   f   t  \r  \r   e   x   t   e
0064520    r   n   a   l  \r   [  \r   /   /       o   u   t   g   o   i
0064540    n   g       p   r   o   c   e   d   u   r   e   s  \r   I   n
0064560    i   t   R   S   M   g   r   O   E   P  \r  \r   /   /       i
0064600    n   c   o   m   i   n   g       p   r   o   c   e   d   u   r
0064620    e   s  \r   D   e   c   l   a   r   e   O   E   P   ;       F
0064640    l   u   s   h   V   i   t   a   l   S   t   a   t   e   ;    
0064660    F   l   u   s   h   B   u   f   f   e   r   s   C   t   x  \r
0064700    ]  \r  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0064720    -   -   -   -   -   -   -   - 376  \0 333 360   "   -   -   -
0064740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0065020    -   -   -   -   -   -   -  \r   l   e   t       I   n   i   t
0065040    R   S   M   g   r   O   E   P   (   o   e   v   )       b   e
0065060        D   e   c   l   a   r   e   O   E   P   (   o   e   v   ,
0065100        l   v       F   l   u   s   h   V   i   t   a   l   S   t
0065120    a   t   e   ,       l   v       F   l   u   s   h   B   u   f
0065140    f   e   r   s   C   t   x   )  \r   /   /   -   -   -   -   -
0065160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0065260    -   -   -   -   -   -   -  \r 377  \0  \0   I   f   s   C   t
0065300    x   M   g   r   .   b   c   p   l  \0 373 231 242   s 255  \0
0065320   \0 376 001  \0 353   r   /   /       I   f   s   C   t   x   M
0065340    g   r   .   b   c   p   l       -       C   r   e   a   t   e
0065360    s       a   n   d       d   e   s   t   r   o   y   s       t
0065400    e   m   p   o   r   a   r   y       c   o   n   t   e   x   t
0065420    s  \r   /   /       C   o   p   y   r   i   g   h   t       X
0065440    e   r   o   x       C   o   r   p   o   r   a   t   i   o   n
0065460        1   9   7   9   ,       1   9   8   2  \r  \r   /   /    
0065500    L   a   s   t       m   o   d   i   f   i   e   d       S   e
0065520    p   t   e   m   b   e   r       5   ,       1   9   8   2    
0065540        1   :   5   5       P   M       b   y       T   a   f   t
0065560   \r  \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /    
0065600    o   u   t   g   o   i   n   g       p   r   o   c   e   d   u
0065620    r   e   s  \r   C   r   e   a   t   e   C   t   x   ;       D
0065640    e   s   t   r   o   y   C   t   x  \r  \r   /   /       i   n
0065660    c   o   m   i   n   g       p   r   o   c   e   d   u   r   e
0065700    s  \r   I   n   i   t   i   a   l   i   z   e   C   o   n   t
0065720    e   x   t   ;       B 376 001  \0 224 266   l   o   c   k   ;
0065740        A   l   l   o   c   a   t   e   ;       F   r   e   e   ;
0065760        E   n   q   u   e   u   e   ;       U   n   q   u   e   u
0066000    e  \r  \r   /   /       i   n   c   o   m   i   n   g       s
0066020    t   a   t   i   c   s  \r   i   f   s   C   t   x   Q   ;    
0066040    s   y   s   Z   o   n   e   ;       C   t   x   R   u   n   n
0066060    i   n   g  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0066100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0066200    -   -   -   -   -  \r   l   e   t       C   r   e   a   t   e
0066220    C   t   x   (   l   e   n   C   t   x   ,       P   r   o   c
0066240    )       =       v   a   l   o   f  \r   /   /   -   -   -   -
0066260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0066320    -   -   -   -   -   -   -   -   -   -   - 376 001  \0   , 256
0066340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0066360    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /
0066400        C   r   e   a   t   e   s       a       c   o   n   t   e
0066420    x   t       o   f       l   e   n   g   t   h       l   e   n
0066440    C   t   x       r   u   n   n   i   n   g       P   r   o   c
0066460    .  \r   /   /       T   h   e       c   o   n   t   e   x   t
0066500        m   a   y       d   e   s   t   r   o   y       i   t   s
0066520    e   l   f       b   y       c   a   l   l   i   n   g       D
0066540    e   s   t   r   o   y   C   t   x   .  \r   /   /       N   o
0066560    t   e   :       2       w   o   r   d   s       a   r   e    
0066600    r   e   s   e   r   v   e   d       i   n       t   h   e    
0066620    a   l   l   o   c   a   t   e   d       s   t   o   r   a   g
0066640    e       a   h   e   a   d       o   f       t   h   e       c
0066660    t   x  \r   /   /       s   o       t   h   a   t       t   h
0066700    e       F   r   e   e       (   i   n       D   e   s   t   r
0066720    o   y   C   t   x   )       w   o   n   '   t       c   l   o
0066740  376 001  \0 272 264   b   b   e   r       t   h   e       c   t
0066760    x       u   n   t   i   l       i   t       g   e   t   s  \r
0067000    /   /       a       c   h   a   n   c   e       t   o       B
0067020    l   o   c   k   .           W   e       k   n   o   w       t
0067040    h   a   t       t   h   e       s   t   a   n   d   a   r   d
0067060        a   l   l   o   c   a   t   o   r       c   l   o   b   b
0067100    e   r   s       o   n   l   y  \r   /   /       t   h   e    
0067120    f   i   r   s   t       2       w   o   r   d   s       o   f
0067140        t   h   e       f   r   e   e   d       b   l   o   c   k
0067160    .  \r   [  \r   l   e   t       c   t   x       =       I   n
0067200    i   t   i   a   l   i   z   e   C   o   n   t   e   x   t   (
0067220    A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n   e
0067240    ,       l   e   n   C   t   x   +   2   )   +   2   ,       l
0067260    e   n   C   t   x   ,       P   r   o   c   )  \r   E   n   q
0067300    u   e   u   e   (   i   f   s   C   t   x   Q   ,       c   t
0067320    x   )  \r   r   e   s   u   l   t   i   s       c   t   x  \r
0067340    ]  \r  \r   /   / 376 001  \0   . 377   -   -   -   -   -   -
0067360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0067460    -   -   -   -   -   -  \r   a   n   d       D   e   s   t   r
0067500    o   y   C   t   x   (   )       b   e  \r   /   /   -   -   -
0067520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0067620    -   -   -   -   -   -   -   -   -  \r   [  \r   F   r   e   e
0067640    (   s   y   s   Z   o   n   e   ,       C   t   x   R   u   n
0067660    n   i   n   g   -   2   )  \r   U   n   q   u   e   u   e   (
0067700    i   f   s   C   t   x   Q   ,       C   t   x   R   u   n   n
0067720    i   n   g   )  \r   C   t   x   R   u   n   n   i   n   g   !
0067740    0       =       0           /   /     376  \0   d 002   }   s
0067760    o       C   a   l   l   C   o   n   t   e   x   t   L   i   s
0070000    t       w   i   l   l       s   t   a   r   t       o   v   e
0070020    r       -   -       C   t   x   R   u   n   n   i   n   g    
0070040    h   a   s       n   o       s   u   c   c   e   s   s   o   r
0070060    !  \r   B   l   o   c   k   (   )           /   /       n   e
0070100    v   e   r       t   o       r   e   t   u   r   n   .   .   .
0070120   \r   ]  \r 377  \0  \0   I   f   s   C   o   n   t   e   x   t
0070140    I   n   i   t   .   b   c   p   l  \0 373 224 345 215   (  \0
0070160   \0 376 001  \0   w   D   /   /       I   f   s   C   o   n   t
0070200    e   x   t   I   n   i   t   .   b   c   p   l  \r   /   /  \t
0070220    C   o   d   e       c   a   n       b   e       w   i   p   e
0070240    d       o   u   t       a   f   t   e   r       i   n   i   t
0070260    i   a   l   i   z   a   t   i   o   n  \r   /   /       C   o
0070300    p   y   r   i   g   h   t       X   e   r   o   x       C   o
0070320    r   p   o   r   a   t   i   o   n       1   9   7   9   ,    
0070340    1   9   8   0  \r  \r   /   /       L   a   s   t       m   o
0070360    d   i   f   i   e   d       b   y       T   a   f   t   ,    
0070400    F   e   b   r   u   a   r   y       2   8   ,       1   9   8
0070420    0           1   2   :   2   2       P   M  \r   /   /       L
0070440    a   s   t       m   o   d   i   f   i   e   d       b   y    
0070460    B   u   t   t   e   r   f   i   e   l   d   ,       S   e   p
0070500    t   e   m   b   e   r       7   ,       1   9   7   9        
0070520    3   :   3   5       P   M  \r   /   /       -       o   r   i
0070540    g   i   n   a   l       C   o   n   t   e   x   t   I   n   i
0070560    t   .   b   c   p   l 376 001  \0   N  \n       c   a   m   e
0070600        f   r   o   m       1   1   /   4   /   7   7       C   o
0070620    n   t   e   x   t   S   o   u   r   c   e   s   .   d   m  \r
0070640   \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /       o
0070660    u   t   g   o   i   n   g       p   r   o   c   e   d   u   r
0070700    e   s  \r   I   n   i   t   i   a   l   i   z   e   C   o   n
0070720    t   e   x   t  \r  \r   /   /       i   n   c   o   m   i   n
0070740    g       p   r   o   c   e   d   u   r   e   s  \r   S   y   s
0070760    E   r   r  \r   ]  \r  \r   /   /       T   h   i   s       d
0071000    e   c   l   a   r   a   t   i   o   n       m   a   t   c   h
0071020    e   s       o   n   e       i   n       C   o   n   t   e   x
0071040    t   .   A   s   m  \r   s   t   r   u   c   t   u   r   e    
0071060    C   T   X   :  \r   [  \r   N   e   x   t       w   o   r   d
0071100   \t   /   /       P   o   i   n   t   e   r       t   o       a
0071120        l   i   s   t       o   f       s   u   c   h       C   T
0071140    X   '   s  \r   S   t   a   c   k       w   o   r   d  \t   /
0071160    /       C   u   r   r   e   n   t       s 376 001  \0   `  \b
0071200    t   a   c   k       p   o   i   n   t   e   r  \r   S   t   a
0071220    c   k   M   i   n       w   o   r   d  \t   /   /       L   o
0071240    w   e   s   t       s   t   a   c   k       c   a   n       g
0071260    o   .  \r   ]  \t  \t   /   /       A   f   t   e   r       h
0071300    e   r   e   ,       e   x   t   r   a       f   o   r       u
0071320    s   e   r   .  \r  \r   m   a   n   i   f   e   s   t       e
0071340    c   C   t   x   S   t   a   c   k   T   o   o   S   m   a   l
0071360    l       =       2   7   0   0  \r   m   a   n   i   f   e   s
0071400    t       s   t   a   c   k   B   o   t   t   o   m       =    
0071420    -   1   ;  \r  \r  \r   /   /   -   -   -   -   -   -   -   -
0071440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0071520    -   -   -   -   -   -   -   -   -  \r   l   e   t       I   n
0071540    i   t   i   a   l   i   z   e   C   o   n   t   e   x   t   (
0071560    r   e   g   i   o   n   ,       l   e   n   g   t   h   ,    
0071600  376 001  \0 235   g   p   r   o   c   ,       e   x   t   r   a
0071620    S   p   a   c   e   ;  \r                   n   u   m   a   r
0071640    g   s       n   a   )       =       v   a   l   o   f  \r   /
0071660    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0071700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0071760    -   -  \r   [  \r   r   e   g   i   o   n   >   >   C   T   X
0072000    .   N   e   x   t   =   0  \t  \t   /   /       N   o   t    
0072020    o   n       a       l   i   s   t       y   e   t  \r   i   f
0072040        n   a       l   s       4       t   h   e   n       e   x
0072060    t   r   a   S   p   a   c   e   =   0  \r   r   e   g   i   o
0072100    n   >   >   C   T   X   .   S   t   a   c   k   M   i   n   =
0072120    r   e   g   i   o   n   +   (   s   i   z   e       C   T   X
0072140    /   1   6   )   +   e   x   t   r   a   S   p   a   c   e  \r
0072160    l   e   t       s   =   r   e   g   i   o   n   +   l   e   n
0072200    g   t   h   -   4 376 001  \0 321   c  \t  \t   /   /       S
0072220    p   o   t       t   o       s   t   a   r   t       s   t   a
0072240    c   k   .  \r   s   !   0       =       0  \t  \t  \t  \t   /
0072260    /       S   o       y   o   u       c   a   n       t   e   l
0072300    l       w   h   e   r   e       i   t       s   t   a   r   t
0072320    s  \r   s   !   1   =   p   r   o   c  \t  \t  \t   /   /    
0072340    A   d   d   r   e   s   s       a   t       w   h   i   c   h
0072360        t   o       b   e   g   i   n   .  \r   r   e   g   i   o
0072400    n   >   >   C   T   X   .   S   t   a   c   k   =   s  \t  \t
0072420    /   /       I   n   i   t   i   a   l       s   t   a   c   k
0072440        v   a   l   u   e  \r   i   f       l   v       s   !   s
0072460    t   a   c   k   B   o   t   t   o   m       -       r   e   g
0072500    i   o   n   >   >   C   T   X   .   S   t   a   c   k   M   i
0072520    n       l   s       0       t   h   e   n  \r       S   y   s
0072540    E   r   r   (   n   i   l   ,       e   c   C   t   x   S   t
0072560    a   c   k   T   o   o   S   m   a   l   l   )   ;  \r   s   !
0072600    s   t   a   c   k   B   o   t   t   o 376  \0   )  \b 021   m
0072620        =       l   v       s   !   s   t   a   c   k   B   o   t
0072640    t   o   m   ;  \r   r   e   s   u   l   t   i   s       r   e
0072660    g   i   o   n  \r   ]  \r  \r 374                            
0072671