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