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