$ od -c -N 50000 [Erinyes]<LispManual>TerminalTables.im!9
0000000   \r  \r  \r   {   B   e   g   i   n       S   u   b   S   e   c
0000020        T   e   r   m   i   n   a   l       T   a   b   l   e   s
0000040    }  \r   {   T   i   t   l   e       T   e   r   m   i   n   a
0000060    l       T   a   b   l   e   s   }  \r   {   T   e   x   t  \r
0000100   \r   {   T   a   g       T   e   r   m   i   n   a   l   T   a
0000120    b   l   e   s   }  \r  \r   {   i   n   d   e   x       *   P
0000140    R   I   M   A   R   Y   *       T   e   r   m   i   n   a   l
0000160        t   a   b   l   e   s   }  \r  \r   A       r   e   a   d
0000200        t   a   b   l   e       (   {   P   a   g   e   R   e   f
0000220        T   e   r   m       r   e   a   d       t   a   b   l   e
0000240    s   }   )       c   o   n   t   a   i   n   s       i   n   p
0000260    u   t   /   o   u   t   p   u   t       i   n   f   o   r   m
0000300    a   t   i   o   n       t   h   a   t       i   s       {   i
0000320    t       m   e   d   i   a   -   i   n   d   e   p   e   n   d
0000340    e   n   t   }   .           F   o   r       e   x   a   m   p
0000360    l   e   ,       t   h   e       a   c   t   i   o   n       o
0000400    f       p   a   r   e   n   t   h   e   s   e   s       i   s
0000420        t   h   e       s   a   m   e       r   e   g   a   r   d
0000440    l   e   s   s       o   f       t   h   e       d   e   v   i
0000460    c   e       f   r   o   m       w   h   i   c   h       t   h
0000500    e       i   n   p   u   t       i   s       b   e   i   n   g
0000520        p   e   r   f   o   r   m   e   d   .           A       t
0000540    e   r   m   i   n   a   l       t   a   b   l   e       i   s
0000560        a   n       o   b   j   e   c   t       t   h   a   t    
0000600    c   o   n   t   a   i   n   s       i   n   f   o   r   m   a
0000620    t   i   o   n       t   h   a   t       p   e   r   t   a   i
0000640    n   s       t   o       {   i   t       t   e   r   m   i   n
0000660    a   l   }       i   n   p   u   t   /   o   u   t   p   u   t
0000700        o   p   e   r   a   t   i   o   n   s       o   n   l   y
0000720    ,       s   u   c   h       a   s       t   h   e       c   h
0000740    a   r   a   c   t   e   r       t   o       t   y   p   e    
0000760    t   o       d   e   l   e   t   e       t   h   e       l   a
0001000    s   t       c   h   a   r   a   c   t   e   r       o   r    
0001020    t   o       d   e   l   e   t   e       t   h   e       l   a
0001040    s   t       l   i   n   e   .           I   n       a   d   d
0001060    i   t   i   o   n   ,       t   e   r   m   i   n   a   l    
0001100    t   a   b   l   e   s       c   o   n   t   a   i   n       s
0001120    u   c   h       i   n   f   o   r   m   a   t   i   o   n    
0001140    a   s       h   o   w       l   i   n   e   -   b   u   f   f
0001160    e   r   i   n   g       i   s       t   o       b   e       p
0001200    e   r   f   o   r   m   e   d   ,       h   o   w       c   o
0001220    n   t   r   o   l       c   h   a   r   a   c   t   e   r   s
0001240        a   r   e       t   o       b   e       e   c   h   o   e
0001260    d   /   p   r   i   n   t   e   d   ,       w   h   e   t   h
0001300    e   r       l   o   w   e   r       c   a   s   e       i   n
0001320    p   u   t       i   s       t   o       b   e       c   o   n
0001340    v   e   r   t   e   d       t   o       u   p   p   e   r    
0001360    c   a   s   e   ,       e   t   c   .  \r  \r  \r   U   s   i
0001400    n   g       t   h   e       f   u   n   c   t   i   o   n   s
0001420        b   e   l   o   w   ,       t   h   e       u   s   e   r
0001440        m   a   y       c   h   a   n   g   e   ,       r   e   s
0001460    e   t   ,       o   r       c   o   p   y       t   e   r   m
0001500    i   n   a   l       t   a   b   l   e   s   ,       o   r    
0001520    c   r   e   a   t   e       a       n   e   w       t   e   r
0001540    m   i   n   a   l       t   a   b   l   e       a   n   d    
0001560    i   n   s   t   a   l   l       i   t       a   s       t   h
0001600    e       p   r   i   m   a   r   y       t   e   r   m   i   n
0001620    a   l       t   a   b   l   e   {   i   n   d   e   x       *
0001640    P   R   I   M   A   R   Y   *       P   r   i   m   a   r   y
0001660        t   e   r   m   i   n   a   l       t   a   b   l   e   }
0001700        v   i   a       {   f   n       S   E   T   T   E   R   M
0001720    T   A   B   L   E   }   .           H   o   w   e   v   e   r
0001740    ,       u   n   l   i   k   e       r   e   a   d       t   a
0001760    b   l   e   s   ,       t   e   r   m   i   n   a   l       t
0002000    a   b   l   e   s       c   a   n   n   o   t       b   e    
0002020    p   a   s   s   e   d       a   s       a   r   g   u   m   e
0002040    n   t   s       t   o       i   n   p   u   t   /   o   u   t
0002060    p   u   t       f   u   n   c   t   i   o   n   s   .  \r  \r
0002100   \r   {   F   n   D   e   f       {   F   n   N   a   m   e    
0002120    G   E   T   T   E   R   M   T   A   B   L   E   }       {   F
0002140    n   A   r   g   s       T   T   B   L   }  \r   {   T   e   x
0002160    t  \r   I   f       {   a   r   g       T   T   B   L   }   =
0002200    {   l   i   s   p       N   I   L   }   ,       r   e   t   u
0002220    r   n   s       t   h   e       p   r   i   m   a   r   y    
0002240    (   i   .   e   .   ,       c   u   r   r   e   n   t   )    
0002260    t   e   r   m   i   n   a   l       t   a   b   l   e   .    
0002300        I   f       {   a   r   g       T   T   B   L   }       i
0002320    s       a       t   e   r   m   i   n   a   l       t   a   b
0002340    l   e   ,       r   e   t   u   r   n       {   a   r   g    
0002360    T   T   B   L   }   .           O   t   h   e   r   w   i   s
0002400    e   ,       g   e   n   e   r   a   t   e   s       a   n    
0002420    {   l   i   s   p       I   L   L   E   G   A   L       T   E
0002440    R   M   I   N   A   L       T   A   B   L   E   }   {   i   n
0002460    d   e   x       I   L   L   E   G   A   L       T   E   R   M
0002500    I   N   A   L       T   A   B   L   E       E   r   r   o   r
0002520    }       e   r   r   o   r   .  \r   }   }  \r  \r  \r   {   F
0002540    n   D   e   f       {   F   n   N   a   m   e       C   O   P
0002560    Y   T   E   R   M   T   A   B   L   E   }       {   F   n   A
0002600    r   g   s       T   T   B   L   }  \r   {   T   e   x   t  \r
0002620    R   e   t   u   r   n   s       a       c   o   p   y       o
0002640    f       {   a   r   g       T   T   B   L   }   .           {
0002660    a   r   g       T   T   B   L   }       c   a   n       b   e
0002700        a       r   e   a   l       t   e   r   m   i   n   a   l
0002720        t   a   b   l   e   ,       {   l   i   s   p       N   I
0002740    L   }       (   c   o   p   i   e   s       t   h   e       p
0002760    r   i   m   a   r   y       t   e   r   m   i   n   a   l    
0003000    t   a   b   l   e   )   ,       o   r       {   l   i   s   p
0003020        O   R   I   G   }       (   r   e   t   u   r   n   s    
0003040    a       c   o   p   y       o   f       t   h   e       {   i
0003060    t       o   r   i   g   i   n   a   l   }       s   y   s   t
0003100    e   m       t   e   r   m   i   n   a   l       t   a   b   l
0003120    e   )   .           N   o   t   e       t   h   a   t       {
0003140    f   n       C   O   P   Y   T   E   R   M   T   A   B   L   E
0003160    }       i   s       t   h   e       o   n   l   y       f   u
0003200    n   c   t   i   o   n       t   h   a   t       c   r   e   a
0003220    t   e   s       a       t   e   r   m   i   n   a   l       t
0003240    a   b   l   e   .  \r   }   }  \r  \r  \r   {   F   n   D   e
0003260    f       {   F   n   N   a   m   e       S   E   T   T   E   R
0003300    M   T   A   B   L   E   }       {   F   n   A   r   g   s    
0003320    T   T   B   L   }  \r   {   T   e   x   t  \r   S   e   t   s
0003340        t   h   e       p   r   i   m   a   r   y       t   e   r
0003360    m   i   n   a   l       t   a   b   l   e       t   o       b
0003400    e       {   a   r   g       T   T   B   L   }   .           R
0003420    e   t   u   r   n   s       t   h   e       p   r   e   v   i
0003440    o   u   s       p   r   i   m   a   r   y       t   e   r   m
0003460    i   n   a   l       t   a   b   l   e   .           G   e   n
0003500    e   r   a   t   e   s       a   n       {   l   i   s   p    
0003520    I   L   L   E   G   A   L       T   E   R   M   I   N   A   L
0003540        T   A   B   L   E   }   {   i   n   d   e   x       I   L
0003560    L   E   G   A   L       T   E   R   M   I   N   A   L       T
0003600    A   B   L   E       E   r   r   o   r   }       e   r   r   o
0003620    r       i   f       {   a   r   g       T   T   B   L   }    
0003640    i   s       n   o   t       a       r   e   a   l       t   e
0003660    r   m   i   n   a   l       t   a   b   l   e   .  \r   }   }
0003700   \r  \r  \r   {   F   n   D   e   f       {   F   n   N   a   m
0003720    e       R   E   S   E   T   T   E   R   M   T   A   B   L   E
0003740    }       {   F   n   A   r   g   s       T   T   B   L       F
0003760    R   O   M   }  \r   {   T   e   x   t  \r   C   o   p   i   e
0004000    s       (   s   m   a   s   h   e   s   )       {   a   r   g
0004020        F   R   O   M   }       i   n   t   o       {   a   r   g
0004040        T   T   B   L   }   .           {   a   r   g       F   R
0004060    O   M   }       a   n   d       {   a   r   g       T   T   B
0004100    L   }       c   a   n       b   e       {   l   i   s   p    
0004120    N   I   L   }       o   r       a       r   e   a   l       t
0004140    e   r   m   i   n   a   l       t   a   b   l   e   .        
0004160    I   n       a   d   d   i   t   i   o   n   ,       {   a   r
0004200    g       F   R   O   M   }       c   a   n       b   e       {
0004220    l   i   s   p       O   R   I   G   }   ,       m   e   a   n
0004240    i   n   g       t   o       u   s   e       t   h   e       s
0004260    y   s   t   e   m   '   s       o   r   i   g   i   n   a   l
0004300        t   e   r   m   i   n   a   l       t   a   b   l   e   .
0004320   \r   }   }  \r  \r  \r   {   F   n   D   e   f       {   F   n
0004340    N   a   m   e       T   E   R   M   T   A   B   L   E   P   }
0004360        {   F   n   A   r   g   s       T   T   B   L   }  \r   {
0004400    T   e   x   t  \r   R   e   t   u   r   n   s       {   a   r
0004420    g       T   T   B   L   }   ,       i   f       {   a   r   g
0004440        T   T   B   L   }       i   s       a       r   e   a   l
0004460        t   e   r   m   i   n   a   l       t   a   b   l   e   ,
0004500        {   l   i   s   p       N   I   L   }       o   t   h   e
0004520    r   w   i   s   e   .  \r   }   }  \r  \r  \r  \r  \r   {   B
0004540    e   g   i   n       S   u   b   S   e   c       T   e   r   m
0004560    i   n   a   l       S   y   n   t   a   x       C   l   a   s
0004600    s   e   s   }  \r   {   T   i   t   l   e       T   e   r   m
0004620    i   n   a   l       S   y   n   t   a   x       C   l   a   s
0004640    s   e   s   }  \r   {   T   e   x   t  \r  \r   {   i   n   d
0004660    e   x       *   P   R   I   M   A   R   Y   *       T   e   r
0004700    m   i   n   a   l       s   y   n   t   a   x       c   l   a
0004720    s   s   e   s   }  \r  \r   A       t   e   r   m   i   n   a
0004740    l       t   a   b   l   e       a   s   s   o   c   i   a   t
0004760    e   s       w   i   t   h       e   a   c   h       c   h   a
0005000    r   a   c   t   e   r       a       s   i   n   g   l   e    
0005020    "   t   e   r   m   i   n   a   l       s   y   n   t   a   x
0005040        c   l   a   s   s   "   ,       o   n   e       o   f    
0005060    {   l   i   s   p       C   H   A   R   D   E   L   E   T   E
0005100    }   ,       {   l   i   s   p       L   I   N   E   D   E   L
0005120    E   T   E   }   ,       {   l   i   s   p       W   O   R   D
0005140    D   E   L   E   T   E   }   ,       {   l   i   s   p       R
0005160    E   T   Y   P   E   }   ,       {   l   i   s   p       C   T
0005200    R   L   V   }   ,       {   l   i   s   p       E   O   L   }
0005220    ,       a   n   d       {   l   i   s   p       N   O   N   E
0005240    }   .           U   n   l   i   k   e       r   e   a   d    
0005260    t   a   b   l   e       c   l   a   s   s   e   s   ,       o
0005300    n   l   y       o   n   e       c   h   a   r   a   c   t   e
0005320    r       i   n       a       p   a   r   t   i   c   u   l   a
0005340    r       t   e   r   m   i   n   a   l       t   a   b   l   e
0005360        c   a   n       b   e   l   o   n   g       t   o       e
0005400    a   c   h       o   f       t   h   e       c   l   a   s   s
0005420    e   s       (   e   x   c   e   p   t       f   o   r       t
0005440    h   e       d   e   f   a   u   l   t       c   l   a   s   s
0005460        {   l   i   s   p       N   O   N   E   }   )   .        
0005500    W   h   e   n       a       n   e   w       c   h   a   r   a
0005520    c   t   e   r       i   s       a   s   s   i   g   n   e   d
0005540        o   n   e       o   f       t   h   e   s   e       s   y
0005560    n   t   a   x       c   l   a   s   s   e   s       b   y    
0005600    {   f   n       S   E   T   S   Y   N   T   A   X   }       (
0005620    {   P   a   g   e   R   e   f       F   n       S   E   T   S
0005640    Y   N   T   A   X   }   )   ,       t   h   e       p   r   e
0005660    v   i   o   u   s       c   h   a   r   a   c   t   e   r    
0005700    i   s       d   i   s   a   b   l   e   d       (   i   .   e
0005720    .   ,       r   e   a   s   s   i   g   n   e   d       t   h
0005740    e       s   y   n   t   a   x       c   l   a   s   s       {
0005760    l   i   s   p       N   O   N   E   }   )   ,       a   n   d
0006000        t   h   e       v   a   l   u   e       o   f       {   f
0006020    n       S   E   T   S   Y   N   T   A   X   }       i   s    
0006040    t   h   e       c   o   d   e       f   o   r       t   h   e
0006060        p   r   e   v   i   o   u   s       c   h   a   r   a   c
0006100    t   e   r       o   f       t   h   a   t       c   l   a   s
0006120    s   ,       i   f       a   n   y   ,       o   t   h   e   r
0006140    w   i   s   e       {   l   i   s   p       N   I   L   }   .
0006160   \r  \r   T   h   e       t   e   r   m   i   n   a   l       s
0006200    y   n   t   a   x       c   l   a   s   s   e   s       a   r
0006220    e       i   n   t   e   r   p   r   e   t   e   d       a   s
0006240        f   o   l   l   o   w   s   :  \r  \r   {   B   e   g   i
0006260    n       L   a   b   e   l   e   d   L   i   s   t       t   e
0006300    r   m   i   n   a   l       s   y   n   t   a   x       c   l
0006320    a   s   s   e   s   }  \r  \r   {   N   a   m   e       {   l
0006340    i   s   p       C   H   A   R   D   E   L   E   T   E   }   {
0006360    i   n   d   e   x       C   H   A   R   D   E   L   E   T   E
0006400        (   s   y   n   t   a   x       c   l   a   s   s   )   }
0006420    }  \r   {   T   e   x   t  \r   (   I   n   i   t   i   a   l
0006440    l   y       {   i   n   d   e   x       *   P   R   I   M   A
0006460    R   Y   *       B   a   c   k   s   p   a   c   e   }   B   a
0006500    c   k   S   p   a   c   e       a   n   d       {   i   n   d
0006520    e   x       *   P   R   I   M   A   R   Y   *       C   o   n
0006540    t   r   o   l   -   A   }   c   o   n   t   r   o   l   -   A
0006560        i   n       I   n   t   e   r   l   i   s   p   -   D   )
0006600            T   y   p   i   n   g       t   h   i   s       c   h
0006620    a   r   a   c   t   e   r       d   e   l   e   t   e   s    
0006640    t   h   e       p   r   e   v   i   o   u   s       c   h   a
0006660    r   a   c   t   e   r       t   y   p   e   d   .           R
0006700    e   p   e   a   t   e   d       u   s   e       o   f       t
0006720    h   i   s       c   h   a   r   a   c   t   e   r       d   e
0006740    l   e   t   e   s       s   u   c   c   e   s   s   i   v   e
0006760        c   h   a   r   a   c   t   e   r   s       b   a   c   k
0007000        t   o       t   h   e       b   e   g   i   n   n   i   n
0007020    g       o   f       t   h   e       l   i   n   e   .  \r   }
0007040   \r  \r  \r   {   N   a   m   e       {   l   i   s   p       L
0007060    I   N   E   D   E   L   E   T   E   }   {   i   n   d   e   x
0007100        L   I   N   E   D   E   L   E   T   E       (   s   y   n
0007120    t   a   x       c   l   a   s   s   )   }   }  \r   {   T   e
0007140    x   t  \r   (   I   n   i   t   i   a   l   l   y       c   o
0007160    n   t   r   o   l   -   Q   {   i   n   d   e   x       *   P
0007200    R   I   M   A   R   Y   *       C   o   n   t   r   o   l   -
0007220    Q   }       i   n       I   n   t   e   r   l   i   s   p   -
0007240    D   )           T   y   p   i   n   g       t   h   i   s    
0007260    c   h   a   r   a   c   t   e   r       d   e   l   e   t   e
0007300    s       t   h   e       w   h   o   l   e       l   i   n   e
0007320    ;       i   t       c   a   n   n   o   t       b   e       u
0007340    s   e   d       r   e   p   e   a   t   e   d   l   y   .  \r
0007360    }  \r  \r   {   N   a   m   e       {   l   i   s   p       W
0007400    O   R   D   D   E   L   E   T   E   }   {   i   n   d   e   x
0007420        W   O   R   D   D   E   L   E   T   E       (   s   y   n
0007440    t   a   x       c   l   a   s   s   )   }   }  \r   {   T   e
0007460    x   t  \r   (   I   n   i   t   i   a   l   l   y       c   o
0007500    n   t   r   o   l   -   W       i   n       I   n   t   e   r
0007520    l   i   s   p   -   D   )   {   i   n   d   e   x       *   P
0007540    R   I   M   A   R   Y   *       C   o   n   t   r   o   l   -
0007560    W   }           T   y   p   i   n   g       t   h   i   s    
0007600    c   h   a   r   a   c   t   e   r       d   e   l   e   t   e
0007620    s       t   h   e       p   r   e   v   i   o   u   s       "
0007640    w   o   r   d   "   ,       i   .   e   .   ,       s   e   q
0007660    u   e   n   c   e       o   f       n   o   n   -   s   e   p
0007700    a   r   a   t   o   r       c   h   a   r   a   c   t   e   r
0007720    s   .  \r   }  \r  \r  \r   {   N   a   m   e       {   l   i
0007740    s   p       R   E   T   Y   P   E   }   {   i   n   d   e   x
0007760        R   E   T   Y   P   E       (   s   y   n   t   a   x    
0010000    c   l   a   s   s   )   }   }  \r   {   T   e   x   t  \r   (
0010020    I   n   i   t   i   a   l   l   y       c   o   n   t   r   o
0010040    l   -   R   )   {   i   n   d   e   x       *   P   R   I   M
0010060    A   R   Y   *       C   o   n   t   r   o   l   -   R   }    
0010100        C   a   u   s   e   s       t   h   e       l   i   n   e
0010120        t   o       b   e       r   e   t   y   p   e   d       a
0010140    s       I   n   t   e   r   l   i   s   p       s   e   e   s
0010160        i   t       (   u   s   e   f   u   l       w   h   e   n
0010200        r   e   p   e   a   t   e   d       d   e   l   e   t   i
0010220    o   n   s       m   a   k   e       i   t       d   i   f   f
0010240    i   c   u   l   t       t   o       s   e   e       w   h   a
0010260    t       r   e   m   a   i   n   s   )   .  \r   }  \r  \r  \r
0010300    {   N   a   m   e       {   l   i   s   p       C   T   R   L
0010320    V   }   {   i   n   d   e   x       C   T   R   L   V       (
0010340    s   y   n   t   a   x       c   l   a   s   s   )   }   }  \r
0010360    {   N   a   m   e       {   l   i   s   p       C   N   T   R
0010400    L   V   }   {   i   n   d   e   x       C   N   T   R   L   V
0010420        (   s   y   n   t   a   x       c   l   a   s   s   )   }
0010440    }  \r   {   T   e   x   t  \r   (   I   n   i   t   i   a   l
0010460    l   y       c   o   n   t   r   o   l   -   V   )   {   i   n
0010500    d   e   x       *   P   R   I   M   A   R   Y   *       C   o
0010520    n   t   r   o   l   -   V   }           W   h   e   n       f
0010540    o   l   l   o   w   e   d       b   y       {   l   i   s   p
0010560        A   }   ,       {   l   i   s   p       B   }   ,       {
0010600    e   l   l   i   p   s   i   s   }       {   l   i   s   p    
0010620    Z   }   ,       i   n   p   u   t   s       t   h   e       c
0010640    o   r   r   e   s   p   o   n   d   i   n   g       c   o   n
0010660    t   r   o   l       c   h   a   r   a   c   t   e   r       c
0010700    o   n   t   r   o   l   -   A   ,       c   o   n   t   r   o
0010720    l   -   B   ,       {   e   l   l   i   p   s   i   s   }    
0010740    c   o   n   t   r   o   l   -   Z   .           T   h   i   s
0010760        a   l   l   o   w   s       i   n   t   e   r   r   u   p
0011000    t       c   h   a   r   a   c   t   e   r   s       t   o    
0011020    b   e       i   n   p   u   t       w   i   t   h   o   u   t
0011040        c   a   u   s   i   n   g       a   n       i   n   t   e
0011060    r   r   u   p   t   .  \r   }  \r  \r  \r   {   N   a   m   e
0011100        {   l   i   s   p       E   O   L   }   {   i   n   d   e
0011120    x       E   O   L       (   s   y   n   t   a   x       c   l
0011140    a   s   s   )   }   }  \r   {   T   e   x   t  \r   O   n    
0011160    i   n   p   u   t       f   r   o   m       a       t   e   r
0011200    m   i   n   a   l   ,       t   h   e       {   l   i   s   p
0011220        E   O   L   }       c   h   a   r   a   c   t   e   r    
0011240    s   i   g   n   a   l   s       t   o       t   h   e       l
0011260    i   n   e       b   u   f   f   e   r   i   n   g       r   o
0011300    u   t   i   n   e       t   o       p   a   s   s       t   h
0011320    e       i   n   p   u   t       b   a   c   k       t   o    
0011340    t   h   e       c   a   l   l   i   n   g       f   u   n   c
0011360    t   i   o   n   .           I   t       a   l   s   o       i
0011400    s       u   s   e   d       t   o       t   e   r   m   i   n
0011420    a   t   e       i   n   p   u   t   s       t   o       {   f
0011440    n       R   E   A   D   L   I   N   E   }       (   {   P   a
0011460    g   e   R   e   f       F   n       R   E   A   D   L   I   N
0011500    E   }   )   .           I   n       g   e   n   e   r   a   l
0011520    ,       w   h   e   n   e   v   e   r       t   h   e       p
0011540    h   r   a   s   e       c   a   r   r   i   a   g   e   -   r
0011560    e   t   u   r   n       l   i   n   e   f   e   e   d       i
0011600    s       u   s   e   d   ,       w   h   a   t       i   s    
0011620    m   e   a   n   t       i   s       t   h   e       c   h   a
0011640    r   a   c   t   e   r       w   i   t   h       t   e   r   m
0011660    i   n   a   l       s   y   n   t   a   x       c   l   a   s
0011700    s       {   l   i   s   p       E   O   L   }   .  \r   }  \r
0011720   \r  \r   {   N   a   m   e       {   l   i   s   p       N   O
0011740    N   E   }   {   i   n   d   e   x       N   O   N   E       (
0011760    s   y   n   t   a   x       c   l   a   s   s   )   }   }  \r
0012000    {   T   e   x   t  \r   T   h   e       t   e   r   m   i   n
0012020    a   l       s   y   n   t   a   x       c   l   a   s   s    
0012040    o   f       a   l   l       o   t   h   e   r       c   h   a
0012060    r   a   c   t   e   r   s   .  \r   }  \r  \r  \r   {   E   n
0012100    d       L   a   b   e   l   e   d   L   i   s   t       t   e
0012120    r   m   i   n   a   l       s   y   n   t   a   x       c   l
0012140    a   s   s   e   s   }  \r  \r  \r   {   n   o   t   e       c
0012160    u   r   r   e   n   t   l   y   ,       D   E   L   E   T   E
0012200    C   H   A   R       a   n   d       D   E   L   E   T   E   L
0012220    I   N   E       a   r   e       n   o   t       a   c   c   e
0012240    p   t   e   d       b   y       I   n   t   e   r   l   i   s
0012260    p   -   D       a   s       v   a   l   i   d       t   e   r
0012300    m   i   n   a   l       s   y   n   t   a   x       c   l   a
0012320    s   s   e   s   ,       b   u   t       C   N   T   R   L   V
0012340        i   s   .   }  \r  \r  \r  \r   {   f   n       G   E   T
0012360    S   Y   N   T   A   X   }   ,       {   f   n       S   E   T
0012400    S   Y   N   T   A   X   }   ,       a   n   d       {   f   n
0012420        S   Y   N   T   A   X   P   }       a   l   l       w   o
0012440    r   k       o   n       t   e   r   m   i   n   a   l       t
0012460    a   b   l   e   s       a   s       w   e   l   l       a   s
0012500        r   e   a   d       t   a   b   l   e   s       (   s   e
0012520    e       {   P   a   g   e   R   e   f       F   n       G   E
0012540    T   S   Y   N   T   A   X   }   )   .           A   s       w
0012560    i   t   h       r   e   a   d       t   a   b   l   e   s   ,
0012600        f   u   l   l       s   i   x   t   e   e   n   -   b   i
0012620    t       {   i   n   d   e   x       N   S       C   h   a   r
0012640    a   c   t   e   r   s   }   N   S       c   h   a   r   a   c
0012660    t   e   r   s       c   a   n       b   e       s   p   e   c
0012700    i   f   i   e   d       i   n       t   e   r   m   i   n   a
0012720    l       t   a   b   l   e   s       (   s   e   e       {   P
0012740    a   g   e   R   e   f       T   e   r   m       N   S       C
0012760    h   a   r   a   c   t   e   r   s   }   )   .           W   h
0013000    e   n       g   i   v   e   n       {   l   i   s   p       N
0013020    I   L   }       a   s       a       {   a   r   g       T   A
0013040    B   L   E   }       a   r   g   u   m   e   n   t   ,       {
0013060    f   n       G   E   T   S   Y   N   T   A   X   }       a   n
0013100    d       {   f   n       S   Y   N   T   A   X   P   }       u
0013120    s   e       t   h   e       p   r   i   m   a   r   y       r
0013140    e   a   d       t   a   b   l   e   {   i   n   d   e   x    
0013160    p   r   i   m   a   r   y       r   e   a   d       t   a   b
0013200    l   e   }       o   r       p   r   i   m   a   r   y       t
0013220    e   r   m   i   n   a   l       t   a   b   l   e   {   i   n
0013240    d   e   x       P   r   i   m   a   r   y       t   e   r   m
0013260    i   n   a   l       t   a   b   l   e   }       d   e   p   e
0013300    n   d   i   n   g       o   n       w   h   i   c   h       t
0013320    a   b   l   e       c   o   n   t   a   i   n   s       t   h
0013340    e       i   n   d   i   c   a   t   e   d       {   a   r   g
0013360        C   L   A   S   S   }       a   r   g   u   m   e   n   t
0013400    .           F   o   r       e   x   a   m   p   l   e   ,    
0013420    {   l   i   s   p       (   S   E   T   S   Y   N   T   A   X
0013440        {   a   r   g       C   H   }       '   B   R   E   A   K
0013460    )   }       r   e   f   e   r   s       t   o       t   h   e
0013500        p   r   i   m   a   r   y       r   e   a   d       t   a
0013520    b   l   e   ,       a   n   d       {   l   i   s   p       (
0013540    S   E   T   S   Y   N   T   A   X       {   a   r   g       C
0013560    H   }       '   C   H   A   R   D   E   L   E   T   E   )   }
0013600        r   e   f   e   r   s       t   o       t   h   e       p
0013620    r   i   m   a   r   y       t   e   r   m   i   n   a   l    
0013640    t   a   b   l   e   .           I   n       t   h   e       a
0013660    b   s   e   n   c   e       o   f       s   u   c   h       i
0013700    n   f   o   r   m   a   t   i   o   n   ,       a   l   l    
0013720    t   h   r   e   e       f   u   n   c   t   i   o   n   s    
0013740    d   e   f   a   u   l   t       t   o       t   h   e       p
0013760    r   i   m   a   r   y       r   e   a   d       t   a   b   l
0014000    e   ;       e   .   g   .   ,       {   l   i   s   p       (
0014020    S   E   T   S   Y   N   T   A   X       '   {   l   b   r   a
0014040    c   k   e   t   }       '   %   [   )   }       r   e   f   e
0014060    r   s       t   o       t   h   e       p   r   i   m   a   r
0014100    y       r   e   a   d       t   a   b   l   e   .           I
0014120    f       g   i   v   e   n       i   n   c   o   m   p   a   t
0014140    i   b   l   e       {   a   r   g       C   L   A   S   S   }
0014160        a   n   d       t   a   b   l   e       a   r   g   u   m
0014200    e   n   t   s   ,       a   l   l       t   h   r   e   e    
0014220    f   u   n   c   t   i   o   n   s       g   e   n   e   r   a
0014240    t   e       e   r   r   o   r   s   .           F   o   r    
0014260    e   x   a   m   p   l   e   ,       {   l   i   s   p       (
0014300    S   E   T   S   Y   N   T   A   X       {   a   r   g       C
0014320    H   }       '   B   R   E   A   K       {   a   r   g       T
0014340    T   B   L   }   )   }   ,       w   h   e   r   e       {   a
0014360    r   g       T   T   B   L   }       i   s       a       t   e
0014400    r   m   i   n   a   l       t   a   b   l   e   ,       g   e
0014420    n   e   r   a   t   e   s       a   n       {   l   i   s   p
0014440        I   L   L   E   G   A   L       R   E   A   D   T   A   B
0014460    L   E   }   {   i   n   d   e   x       I   L   L   E   G   A
0014500    L       R   E   A   D   T   A   B   L   E       E   r   r   o
0014520    r   }       e   r   r   o   r   ,       a   n   d       {   l
0014540    i   s   p       (   G   E   T   S   Y   N   T   A   X       '
0014560    C   H   A   R   D   E   L   E   T   E       {   a   r   g    
0014600    R   D   T   B   L   }   )   }       g   e   n   e   r   a   t
0014620    e   s       a   n       {   l   i   s   p       I   L   L   E
0014640    G   A   L       T   E   R   M   I   N   A   L       T   A   B
0014660    L   E   }   {   i   n   d   e   x       I   L   L   E   G   A
0014700    L       T   E   R   M   I   N   A   L       T   A   B   L   E
0014720        E   r   r   o   r   }       e   r   r   o   r   .  \r  \r
0014740   \r   }   {   E   n   d       S   u   b   S   e   c       T   e
0014760    r   m   i   n   a   l       S   y   n   t   a   x       C   l
0015000    a   s   s   e   s   }  \r  \r  \r  \r  \r   {   B   e   g   i
0015020    n       S   u   b   S   e   c       T   e   r   m   i   n   a
0015040    l       C   o   n   t   r   o   l       F   u   n   c   t   i
0015060    o   n   s   }  \r   {   T   i   t   l   e       T   e   r   m
0015100    i   n   a   l       C   o   n   t   r   o   l       F   u   n
0015120    c   t   i   o   n   s   }  \r   {   T   e   x   t  \r  \r   {
0015140    i   n   d   e   x       *   P   R   I   M   A   R   Y   *    
0015160    E   c   h   o   i   n   g       c   h   a   r   a   c   t   e
0015200    r   s   }  \r   {   i   n   d   e   x       *   P   R   I   M
0015220    A   R   Y   *       C   o   n   t   r   o   l   -   c   h   a
0015240    r   a   c   t   e   r       e   c   h   o   i   n   g   }  \r
0015260    {   i   n   d   e   x       *   P   R   I   M   A   R   Y   *
0015300        M   e   t   a   -   c   h   a   r   a   c   t   e   r    
0015320    e   c   h   o   i   n   g   }  \r   {   i   n   d   e   x    
0015340    *   P   R   I   M   A   R   Y   *       C   h   a   r   a   c
0015360    t   e   r       e   c   h   o   i   n   g   }  \r  \r  \r  \r
0015400    {   F   n   D   e   f       {   F   n   N   a   m   e       E
0015420    C   H   O   C   H   A   R   }       {   F   n   A   r   g   s
0015440        C   H   A   R   C   O   D   E       M   O   D   E       T
0015460    T   B   L   }  \r   {   T   e   x   t  \r   {   f   n       E
0015500    C   H   O   C   H   A   R   }       s   e   t   s       t   h
0015520    e       "   e   c   h   o       m   o   d   e   "       o   f
0015540        t   h   e       c   h   a   r   a   c   t   e   r       {
0015560    a   r   g       C   H   A   R   C   O   D   E   }       t   o
0015600        {   a   r   g       M   O   D   E   }       i   n       t
0015620    h   e       t   e   r   m   i   n   a   l       t   a   b   l
0015640    e       {   a   r   g       T   T   B   L   }   .           T
0015660    h   e       "   e   c   h   o       m   o   d   e   "       d
0015700    e   t   e   r   m   i   n   e   s       h   o   w       t   h
0015720    e       c   h   a   r   a   c   t   e   r       i   s       t
0015740    o       b   e       e   c   h   o   e   d       o   r       p
0015760    r   i   n   t   e   d   .           N   o   t   e       t   h
0016000    a   t       a   l   t   h   o   u   g   h       t   h   e    
0016020    n   a   m   e       o   f       t   h   i   s       f   u   n
0016040    c   t   i   o   n       s   u   g   g   e   s   t   s       e
0016060    c   h   o   i   n   g       o   n   l   y   ,       i   t    
0016100    a   f   f   e   c   t   s       {   i   t       a   l   l   }
0016120        o   u   t   p   u   t       o   f       t   h   e       c
0016140    h   a   r   a   c   t   e   r   ,       b   o   t   h       e
0016160    c   h   o   i   n   g       o   f       i   n   p   u   t    
0016200    a   n   d       p   r   i   n   t   i   n   g       o   f    
0016220    o   u   t   p   u   t   .  \r  \r   {   a   r   g       C   H
0016240    A   R   C   O   D   E   }       s   h   o   u   l   d       b
0016260    e       a       c   h   a   r   a   c   t   e   r       c   o
0016300    d   e   .           {   a   r   g       C   H   A   R   C   O
0016320    D   E   }       c   a   n       a   l   s   o       b   e    
0016340    a       l   i   s   t       o   f       c   h   a   r   a   c
0016360    t   e   r   s   ,       i   n       w   h   i   c   h       c
0016400    a   s   e       {   f   n       E   C   H   O   C   H   A   R
0016420    }       i   s       a   p   p   l   i   e   d       t   o    
0016440    e   a   c   h       o   f       t   h   e   m       w   i   t
0016460    h       a   r   g   u   m   e   n   t   s       {   a   r   g
0016500        M   O   D   E   }       a   n   d       {   a   r   g    
0016520    T   T   B   L   }   .           N   o   t   e       t   h   a
0016540    t       e   c   h   o       m   o   d   e   s       c   a   n
0016560        b   e       s   p   e   c   i   f   i   e   d       f   o
0016600    r       f   u   l   l       s   i   x   t   e   e   n   -   b
0016620    i   t       {   i   n   d   e   x       N   S       C   h   a
0016640    r   a   c   t   e   r   s   }   N   S       c   h   a   r   a
0016660    c   t   e   r   s       (   s   e   e       {   P   a   g   e
0016700    R   e   f       T   e   r   m       N   S       C   h   a   r
0016720    a   c   t   e   r   s   }   )   .  \r  \r   {   a   r   g    
0016740    M   O   D   E   }       s   h   o   u   l   d       b   e    
0016760    o   n   e       o   f       t   h   e       l   i   t   a   t
0017000    o   m   s       {   l   i   s   p       I   G   N   O   R   E
0017020    }   ,       {   l   i   s   p       R   E   A   L   }   ,    
0017040    {   l   i   s   p       S   I   M   U   L   A   T   E   }   ,
0017060        o   r       {   l   i   s   p       I   N   D   I   C   A
0017100    T   E   }       w   h   i   c   h       s   p   e   c   i   f
0017120    y       h   o   w       t   h   e       c   h   a   r   a   c
0017140    t   e   r       s   h   o   u   l   d       b   e       e   c
0017160    h   o   e   d       o   r       p   r   i   n   t   e   d   :
0017200   \r  \r   {   B   e   g   i   n       L   a   b   e   l   e   d
0017220    L   i   s   t       E   C   H   O   C   O   N   T   R   O   L
0017240        M   O   D   E       a   r   g   u   m   e   n   t   }  \r
0017260   \r   {   N   a   m   e       {   l   i   s   p       I   G   N
0017300    O   R   E   }   }  \r   {   T   e   x   t       {   a   r   g
0017320        C   H   A   R   C   O   D   E   }       i   s       n   e
0017340    v   e   r       p   r   i   n   t   e   d   .   }  \r  \r   {
0017360    N   a   m   e       {   l   i   s   p       R   E   A   L   }
0017400    }  \r   {   T   e   x   t       {   a   r   g       C   H   A
0017420    R   C   O   D   E   }       i   t   s   e   l   f       i   s
0017440        p   r   i   n   t   e   d   .           S   o   m   e    
0017460    t   e   r   m   i   n   a   l   s       m   a   y       r   e
0017500    s   p   o   n   d       t   o       c   e   r   t   a   i   n
0017520        c   o   n   t   r   o   l       a   n   d       m   e   t
0017540    a       c   h   a   r   a   c   t   e   r   s       i   n    
0017560    i   n   t   e   r   e   s   t   i   n   g       w   a   y   s
0017600    .   }  \r  \r   {   N   a   m   e       {   l   i   s   p    
0017620    S   I   M   U   L   A   T   E   }   }  \r   {   T   e   x   t
0017640        O   u   t   p   u   t       o   f       {   a   r   g    
0017660    C   H   A   R   C   O   D   E   }       i   s       s   i   m
0017700    u   l   a   t   e   d   .           F   o   r       e   x   a
0017720    m   p   l   e   ,       c   o   n   t   r   o   l   -   I    
0017740    (   t   a   b   )       m   a   y       b   e       s   i   m
0017760    u   l   a   t   e   d       b   y       p   r   i   n   t   i
0020000    n   g       s   p   a   c   e   s   .           T   h   e    
0020020    s   i   m   u   l   a   t   i   o   n       i   s       m   a
0020040    c   h   i   n   e   -   s   p   e   c   i   f   i   c       a
0020060    n   d       b   e   y   o   n   d       t   h   e       c   o
0020100    n   t   r   o   l       o   f       t   h   e       u   s   e
0020120    r   .   }  \r  \r   {   N   a   m   e       {   l   i   s   p
0020140        I   N   D   I   C   A   T   E   }   }  \r   {   T   e   x
0020160    t       F   o   r       c   o   n   t   r   o   l       o   r
0020200        m   e   t   a       c   h   a   r   a   c   t   e   r   s
0020220    ,       {   a   r   g       C   H   A   R   C   O   D   E   }
0020240        i   s       p   r   i   n   t   e   d       a   s       {
0020260    l   i   s   p       #   }       a   n   d   /   o   r       {
0020300    l   i   s   p       ^   }       f   o   l   l   o   w   e   d
0020320        b   y       t   h   e       c   o   r   r   e   s   p   o
0020340    n   d   i   n   g       a   l   p   h   a   b   e   t   i   c
0020360        c   h   a   r   a   c   t   e   r   .           F   o   r
0020400        e   x   a   m   p   l   e   ,       c   o   n   t   r   o
0020420    l   -   A       w   o   u   l   d       e   c   h   o       a
0020440    s       {   l   i   s   p       ^   A   }   ,       a   n   d
0020460        m   e   t   a   -   c   o   n   t   r   o   l   -   W    
0020500    w   o   u   l   d       e   c   h   o       a   s       {   l
0020520    i   s   p       #   ^   W   }   .   }  \r  \r   {   E   n   d
0020540        L   a   b   e   l   e   d   L   i   s   t       E   C   H
0020560    O   C   O   N   T   R   O   L       M   O   D   E       a   r
0020600    g   u   m   e   n   t   }  \r  \r  \r   T   h   e       v   a
0020620    l   u   e       o   f       {   f   n       E   C   H   O   C
0020640    H   A   R   }       i   s       t   h   e       p   r   e   v
0020660    i   o   u   s       e   c   h   o       m   o   d   e       f
0020700    o   r       {   a   r   g       C   H   A   R   C   O   D   E
0020720    }   .           I   f       {   a   r   g       M   O   D   E
0020740    }   =   {   l   i   s   p       N   I   L   }   ,       {   f
0020760    n       E   C   H   O   C   H   A   R   }       r   e   t   u
0021000    r   n   s       t   h   e       c   u   r   r   e   n   t    
0021020    e   c   h   o       m   o   d   e       w   i   t   h   o   u
0021040    t       c   h   a   n   g   i   n   g       i   t   .  \r  \r
0021060   \r   W   a   r   n   i   n   g   :           I   n       s   o
0021100    m   e       f   o   n   t   s   ,       c   o   n   t   r   o
0021120    l       a   n   d       m   e   t   a       c   h   a   r   a
0021140    c   t   e   r   s       m   a   y       b   e       u   s   e
0021160    d       f   o   r       p   r   i   n   t   a   b   l   e    
0021200    c   h   a   r   a   c   t   e   r   s   .           I   f    
0021220    t   h   e       e   c   h   o   m   o   d   e       i   s    
0021240    s   e   t       t   o       {   l   i   s   p       I   N   D
0021260    I   C   A   T   E   }       f   o   r       t   h   e   s   e
0021300        c   h   a   r   a   c   t   e   r   s   ,       t   h   e
0021320    y       w   i   l   l       n   o   t       p   r   i   n   t
0021340        o   u   t       c   o   r   r   e   c   t   l   y   .  \r
0021360    }   }  \r  \r  \r   {   F   n   D   e   f       {   F   n   N
0021400    a   m   e       E   C   H   O   C   O   N   T   R   O   L   }
0021420        {   F   n   A   r   g   s       C   H   A   R       M   O
0021440    D   E       T   T   B   L   }  \r   {   T   e   x   t  \r   {
0021460    f   n       E   C   H   O   C   O   N   T   R   O   L   }    
0021500    i   s       a   n       o   l   d   ,       l   i   m   i   t
0021520    e   d       v   e   r   s   i   o   n       o   f       {   f
0021540    n       E   C   H   O   C   H   A   R   }   ,       t   h   a
0021560    t       c   a   n       o   n   l   y       s   p   e   c   i
0021600    f   y       t   h   e       e   c   h   o       m   o   d   e
0021620        o   f       c   o   n   t   r   o   l       c   h   a   r
0021640    a   c   t   e   r   s   .           {   a   r   g       C   H
0021660    A   R   }       i   s       a       c   h   a   r   a   c   t
0021700    e   r       o   r       c   h   a   r   a   c   t   e   r    
0021720    c   o   d   e   .           I   f       {   a   r   g       C
0021740    H   A   R   }       i   s       a   n       a   l   p   h   a
0021760    b   e   t   i   c       c   h   a   r   a   c   t   e   r    
0022000    (   o   r       c   o   d   e   )   ,       i   t       r   e
0022020    f   e   r   s       t   o       t   h   e       c   o   r   r
0022040    e   s   p   o   n   d   i   n   g       c   o   n   t   r   o
0022060    l       c   h   a   r   a   c   t   e   r   ,       e   .   g
0022100    .   ,       {   l   i   s   p       (   E   C   H   O   C   O
0022120    N   T   R   O   L       '   Z       '   I   N   D   I   C   A
0022140    T   E   )   }       i   f       e   q   u   i   v   a   l   e
0022160    n   t       t   o       {   l   i   s   p       (   E   C   H
0022200    O   C   H   A   R       (   C   H   A   R   C   O   D   E    
0022220    ^   Z   )       '   I   N   D   I   C   A   T   E   )   }   .
0022240   \r   }   }  \r  \r  \r  \r  \r   {   F   n   D   e   f       {
0022260    F   n   N   a   m   e       E   C   H   O   M   O   D   E   }
0022300        {   F   n   A   r   g   s       F   L   G       T   T   B
0022320    L   }  \r   {   T   e   x   t  \r   I   f       {   a   r   g
0022340        F   L   G   }   =   {   l   i   s   p       T   }   ,    
0022360    t   u   r   n   s       e   c   h   o   i   n   g       f   o
0022400    r       t   e   r   m   i   n   a   l       t   a   b   l   e
0022420        {   a   r   g       T   T   B   L   }       o   n   .    
0022440        I   f       {   a   r   g       F   L   G   }   =   {   l
0022460    i   s   p       N   I   L   }   ,       t   u   r   n   s    
0022500    e   c   h   o   i   n   g       o   f   f   .           R   e
0022520    t   u   r   n   s       t   h   e       p   r   e   v   i   o
0022540    u   s       s   e   t   t   i   n   g   .  \r  \r  \r   N   o
0022560    t   e   :           U   n   l   i   k   e       {   f   n    
0022600    E   C   H   O   C   H   A   R   }   ,       t   h   i   s    
0022620    o   n   l   y       a   f   f   e   c   t   s       e   c   h
0022640    o   i   n   g       o   f       t   y   p   e   d   -   i   n
0022660        c   h   a   r   a   c   t   e   r   s   ,       n   o   t
0022700        p   r   i   n   t   i   n   g       o   f       c   h   a
0022720    r   a   c   t   e   r   s   .  \r   }   }  \r  \r  \r  \r   {
0022740    F   n   D   e   f       {   F   n   N   a   m   e       G   E
0022760    T   E   C   H   O   M   O   D   E   }       {   F   n   A   r
0023000    g   s       T   T   B   L   }  \r   {   T   e   x   t  \r   R
0023020    e   t   u   r   n   s       t   h   e       c   u   r   r   e
0023040    n   t       e   c   h   o       m   o   d   e       f   o   r
0023060        {   a   r   g       T   T   B   L   }   .  \r   }   }  \r
0023100   \r  \r  \r  \r   T   h   e       f   o   l   l   o   w   i   n
0023120    g       f   u   n   c   t   i   o   n   s       m   a   n   i
0023140    p   u   l   a   t   e       t   h   e       "   r   a   i   s
0023160    e       m   o   d   e   ,   "       w   h   i   c   h       d
0023200    e   t   e   r   m   i   n   e   s       w   h   e   t   h   e
0023220    r       l   o   w   e   r       c   a   s   e       c   h   a
0023240    r   a   c   t   e   r   s       a   r   e       c   o   n   v
0023260    e   r   t   e   d       t   o       u   p   p   e   r       c
0023300    a   s   e       w   h   e   n       i   n   p   u   t       f
0023320    r   o   m       t   h   e       t   e   r   m   i   n   a   l
0023340    .           T   h   e   r   e       i   s       n   o       "
0023360    r   a   i   s   e       m   o   d   e   "       f   o   r    
0023400    i   n   p   u   t       f   r   o   m       f   i   l   e   s
0023420    .  \r  \r   {   i   n   d   e   x       *   P   R   I   M   A
0023440    R   Y   *       L   o   w   e   r       c   a   s   e       i
0023460    n   p   u   t   }  \r  \r   {   F   n   D   e   f       {   F
0023500    n   N   a   m   e       R   A   I   S   E   }       {   F   n
0023520    A   r   g   s       F   L   G       T   T   B   L   }  \r   {
0023540    T   e   x   t  \r   S   e   t   s       t   h   e       {   f
0023560    n       R   A   I   S   E   }       m   o   d   e       f   o
0023600    r       t   e   r   m   i   n   a   l       t   a   b   l   e
0023620        {   a   r   g       T   T   B   L   }   .           I   f
0023640        {   a   r   g       F   L   G   }   =   {   l   i   s   p
0023660        N   I   L   }   ,       a   l   l       c   h   a   r   a
0023700    c   t   e   r   s       a   r   e       p   a   s   s   e   d
0023720        a   s       t   y   p   e   d   .           I   f       {
0023740    a   r   g       F   L   G   }   =   {   l   i   s   p       T
0023760    }   ,       i   n   p   u   t       i   s       e   c   h   o
0024000    e   d       a   s       t   y   p   e   d   ,       b   u   t
0024020        l   o   w   e   r   c   a   s   e       l   e   t   t   e
0024040    r   s       a   r   e       c   o   n   v   e   r   t   e   d
0024060        t   o       u   p   p   e   r       c   a   s   e   .    
0024100        I   f       {   a   r   g       F   L   G   }   =   {   l
0024120    i   s   p       0   }   ,       i   n   p   u   t       i   s
0024140        c   o   n   v   e   r   t   e   d       t   o       u   p
0024160    p   e   r       c   a   s   e       {   i   t       b   e   f
0024200    o   r   e   }       i   t       i   s       e   c   h   o   e
0024220    d   .           R   e   t   u   r   n   s       t   h   e    
0024240    p   r   e   v   i   o   u   s       s   e   t   t   i   n   g
0024260    .  \r   }   }  \r  \r   {   F   n   D   e   f       {   F   n
0024300    N   a   m   e       G   E   T   R   A   I   S   E   }       {
0024320    F   n   A   r   g   s       T   T   B   L   }  \r   {   T   e
0024340    x   t  \r   R   e   t   u   r   n   s       t   h   e       c
0024360    u   r   r   e   n   t       {   f   n       R   A   I   S   E
0024400    }       m   o   d   e       f   o   r       {   a   r   g    
0024420    T   T   B   L   }   .  \r   }   }  \r  \r  \r  \r   {   F   n
0024440    D   e   f       {   F   n   N   a   m   e       D   E   L   E
0024460    T   E   C   O   N   T   R   O   L   }       {   F   n   A   r
0024500    g   s       T   Y   P   E       M   E   S   S   A   G   E    
0024520    T   T   B   L   }  \r   {   T   e   x   t  \r   S   p   e   c
0024540    i   f   i   e   s       t   h   e       o   u   t   p   u   t
0024560        p   r   o   t   o   c   o   l       w   h   e   n       a
0024600        {   l   i   s   p       C   H   A   R   D   E   L   E   T
0024620    E   }   {   i   n   d   e   x       C   H   A   R   D   E   L
0024640    E   T   E       (   s   y   n   t   a   x       c   l   a   s
0024660    s   )   }       o   r       {   l   i   s   p       L   I   N
0024700    E   D   E   L   E   T   E   }   {   i   n   d   e   x       L
0024720    I   N   E   D   E   L   E   T   E       (   s   y   n   t   a
0024740    x       c   l   a   s   s   )   }       i   s       t   y   p
0024760    e   d   ,       b   y       s   p   e   c   i   f   y   i   n
0025000    g       c   h   a   r   a   c   t   e   r       s   t   r   i
0025020    n   g   s       t   o       p   r   i   n   t       w   h   e
0025040    n       c   h   a   r   a   c   t   e   r   s       a   r   e
0025060        d   e   l   e   t   e   d   .  \r  \r   I   n   t   e   r
0025100    l   i   s   p   -   1   0       (   d   e   s   i   g   n   e
0025120    d       f   o   r       u   s   e       o   n       h   a   r
0025140    d   c   o   p   y       t   e   r   m   i   n   a   l   s   )
0025160        e   c   h   o   s       t   h   e       c   h   a   r   a
0025200    c   t   e   r   s       b   e   i   n   g       d   e   l   e
0025220    t   e   d   ,       p   r   e   c   e   d   i   n   g       t
0025240    h   e       f   i   r   s   t       b   y       a       {   l
0025260    i   s   p       \   }       a   n   d       f   o   l   l   o
0025300    w   i   n   g       t   h   e       l   a   s   t       b   y
0025320        a       {   l   i   s   p       \   }   ,       s   o    
0025340    t   h   a   t       i   t       i   s       e   a   s   y    
0025360    t   o       s   e   e       e   x   a   c   t   l   y       w
0025400    h   a   t       w   a   s       d   e   l   e   t   e   d   .
0025420            N   o   t   e   :           I   n   t   e   r   l   i
0025440    s   p   -   D       i   s       i   n   i   t   i   a   l   l
0025460    y       s   e   t       u   p       t   o       p   h   y   s
0025500    i   c   a   l   l   y       e   r   a   s   e       t   h   e
0025520        d   e   l   e   t   e   d       c   h   a   r   a   c   t
0025540    e   r   s       f   r   o   m       t   h   e       d   i   s
0025560    p   l   a   y   ,       s   o       t   h   e       {   f   n
0025600        D   E   L   E   T   E   C   O   N   T   R   O   L   }    
0025620    s   t   r   i   n   g   s       a   r   e       i   n   i   t
0025640    i   a   l   i   z   e   d       t   o       t   h   e       n
0025660    u   l   l       s   t   r   i   n   g   .  \r  \r   T   h   e
0025700        v   a   r   i   o   u   s       v   a   l   u   e   s    
0025720    o   f       {   a   r   g       T   Y   P   E   }       s   p
0025740    e   c   i   f   y       d   i   f   f   e   r   e   n   t    
0025760    p   h   a   s   e   s       o   f       t   h   e       d   e
0026000    l   e   t   i   o   n   ,       a   s       f   o   l   l   o
0026020    w   s   :  \r  \r  \r   {   B   e   g   i   n       L   a   b
0026040    e   l   e   d   L   i   s   t       i   n   t   e   r   p   r
0026060    e   t   a   t   i   o   n   s       o   f       T   Y   P   E
0026100    }  \r  \r  \r   {   L   a   b   e   l       {   l   i   s   p
0026120        1   S   T   C   H   D   E   L   }   }  \r   {   T   e   x
0026140    t  \r   {   a   r   g       M   E   S   S   A   G   E   }    
0026160    i   s       t   h   e       m   e   s   s   a   g   e       p
0026200    r   i   n   t   e   d       t   h   e       f   i   r   s   t
0026220        t   i   m   e       {   l   i   s   p       C   H   A   R
0026240    D   E   L   E   T   E   }       i   s       t   y   p   e   d
0026260    .           I   n   i   t   i   a   l   l   y       "   {   l
0026300    i   s   p       \   }   "       i   n       I   n   t   e   r
0026320    l   i   s   p   -   1   0   .  \r   }  \r  \r   {   L   a   b
0026340    e   l       {   l   i   s   p       N   T   H   C   H   D   E
0026360    L   }   }  \r   {   T   e   x   t  \r   {   a   r   g       M
0026400    E   S   S   A   G   E   }       i   s       t   h   e       m
0026420    e   s   s   a   g   e       p   r   i   n   t   e   d       w
0026440    h   e   n       t   h   e       s   e   c   o   n   d       a
0026460    n   d       s   u   b   s   e   q   u   e   n   t       {   l
0026500    i   s   p       C   H   A   R   D   E   L   E   T   E   }    
0026520    c   h   a   r   a   c   t   e   r   s       a   r   e       t
0026540    y   p   e   d       (   w   i   t   h   o   u   t       i   n
0026560    t   e   r   v   e   n   i   n   g       c   h   a   r   a   c
0026600    t   e   r   s   )   .           I   n   i   t   i   a   l   l
0026620    y       "   "       i   n       I   n   t   e   r   l   i   s
0026640    p   -   1   0   .  \r   }  \r  \r   {   L   a   b   e   l    
0026660    {   l   i   s   p       P   O   S   T   C   H   D   E   L   }
0026700    }  \r   {   T   e   x   t  \r   {   a   r   g       M   E   S
0026720    S   A   G   E   }       i   s       t   h   e       m   e   s
0026740    s   a   g   e       p   r   i   n   t   e   d       w   h   e
0026760    n       i   n   p   u   t       i   s       r   e   s   u   m
0027000    e   d       f   o   l   l   o   w   i   n   g       a       s
0027020    e   q   u   e   n   c   e       o   f       o   n   e       o
0027040    r       m   o   r   e       {   l   i   s   p       C   H   A
0027060    R   D   E   L   E   T   E   }       c   h   a   r   a   c   t
0027100    e   r   s   .           I   n   i   t   i   a   l   l   y    
0027120    "   {   l   i   s   p       \   }   "       i   n       I   n
0027140    t   e   r   l   i   s   p   -   1   0   .  \r   }  \r  \r   {
0027160    L   a   b   e   l       {   l   i   s   p       E   M   P   T
0027200    Y   C   H   D   E   L   }   }  \r   {   T   e   x   t  \r   {
0027220    a   r   g       M   E   S   S   A   G   E   }       i   s    
0027240    t   h   e       m   e   s   s   a   g   e       p   r   i   n
0027260    t   e   d       w   h   e   n       a       {   l   i   s   p
0027300        C   H   A   R   D   E   L   E   T   E   }       i   s    
0027320    t   y   p   e   d       a   n   d       t   h   e   r   e    
0027340    a   r   e       n   o       c   h   a   r   a   c   t   e   r
0027360    s       i   n       t   h   e       b   u   f   f   e   r   .
0027400            I   n   i   t   i   a   l   l   y       "   {   l   i
0027420    s   p       #   #   {   C   R   s   y   m   b   o   l   }   }
0027440    "       i   n       I   n   t   e   r   l   i   s   p   -   1
0027460    0   .  \r   }  \r  \r   {   L   a   b   e   l       {   l   i
0027500    s   p       E   C   H   O   }   }  \r   {   T   e   x   t  \r
0027520    I   f       {   a   r   g       T   Y   P   E   }   =   {   l
0027540    i   s   p       E   C   H   O   }   ,       t   h   e       c
0027560    h   a   r   a   c   t   e   r   s       d   e   l   e   t   e
0027600    d       b   y       {   l   i   s   p       C   H   A   R   D
0027620    E   L   E   T   E   }       a   r   e       e   c   h   o   e
0027640    d   .           {   a   r   g       M   E   S   S   A   G   E
0027660    }       i   s       i   g   n   o   r   e   d   .  \r   }  \r
0027700   \r   {   L   a   b   e   l       {   l   i   s   p       N   O
0027720    E   C   H   O   }   }  \r   {   T   e   x   t  \r   I   f    
0027740    {   a   r   g       T   Y   P   E   }   =   {   l   i   s   p
0027760        N   O   E   C   H   O   }   ,       t   h   e       c   h
0030000    a   r   a   c   t   e   r   s       d   e   l   e   t   e   d
0030020        b   y       {   l   i   s   p       C   H   A   R   D   E
0030040    L   E   T   E   }       a   r   e       n   o   t       e   c
0030060    h   o   e   d   .           {   a   r   g       M   E   S   S
0030100    A   G   E   }       i   s       i   g   n   o   r   e   d   .
0030120   \r   }  \r  \r   {   L   a   b   e   l       {   l   i   s   p
0030140        L   I   N   E   D   E   L   E   T   E   }   }  \r   {   T
0030160    e   x   t  \r   {   a   r   g       M   E   S   S   A   G   E
0030200    }       i   s       t   h   e       m   e   s   s   a   g   e
0030220        p   r   i   n   t   e   d       w   h   e   n       t   h
0030240    e       {   l   i   s   p       L   I   N   E   D   E   L   E
0030260    T   E   }       c   h   a   r   a   c   t   e   r       i   s
0030300        t   y   p   e   d   .           I   n   i   t   i   a   l
0030320    l   y       "   {   l   i   s   p       #   #   {   C   R   s
0030340    y   m   b   o   l   }   }   "   .  \r   }  \r   {   E   n   d
0030360        L   a   b   e   l   e   d   L   i   s   t       i   n   t
0030400    e   r   p   r   e   t   a   t   i   o   n   s       o   f    
0030420    T   Y   P   E   }  \r  \r  \r   N   o   t   e   :           I
0030440    n       I   n   t   e   r   l   i   s   p   -   1   0   ,    
0030460    t   h   e       {   l   i   s   p       L   I   N   E   D   E
0030500    L   E   T   E   }   ,       {   l   i   s   p       1   S   T
0030520    C   H   D   E   L   }   ,       {   l   i   s   p       N   T
0030540    H   C   H   D   E   L   }   ,       {   l   i   s   p       P
0030560    O   S   T   C   H   D   E   L   }   ,       a   n   d       {
0030600    l   i   s   p       E   M   P   T   Y   C   H   D   E   L   }
0030620        m   e   s   s   a   g   e   s       m   u   s   t       b
0030640    e       4       c   h   a   r   a   c   t   e   r   s       o
0030660    r       f   e   w   e   r       i   n       l   e   n   g   t
0030700    h   .  \r  \r  \r   {   f   n       D   E   L   E   T   E   C
0030720    O   N   T   R   O   L   }       r   e   t   u   r   n   s    
0030740    t   h   e       p   r   e   v   i   o   u   s       m   e   s
0030760    s   a   g   e       a   s       a       s   t   r   i   n   g
0031000    .           I   f       {   a   r   g       M   E   S   S   A
0031020    G   E   }   =   {   l   i   s   p       N   I   L   }   ,    
0031040    t   h   e       v   a   l   u   e       r   e   t   u   r   n
0031060    e   d       i   s       t   h   e       p   r   e   v   i   o
0031100    u   s       m   e   s   s   a   g   e       w   i   t   h   o
0031120    u   t       c   h   a   n   g   i   n   g       i   t   .    
0031140        F   o   r       {   a   r   g       T   Y   P   E   }   =
0031160    {   l   i   s   p       E   C   H   O   }       a   n   d    
0031200    {   l   i   s   p       N   O   E   C   H   O   }   ,       t
0031220    h   e       v   a   l   u   e       o   f       {   f   n    
0031240    D   E   L   E   T   E   C   O   N   T   R   O   L   }       i
0031260    s       t   h   e       p   r   e   v   i   o   u   s       e
0031300    c   h   o       m   o   d   e   ,       i   .   e   .   ,    
0031320    {   l   i   s   p       E   C   H   O   }       o   r       {
0031340    l   i   s   p       N   O   E   C   H   O   }   .  \r  \r   {
0031360    n   o   t   e       w   h   i   c   h       i   s       l   o
0031400    u   s   y   ,       b   e   c   a   u   s   e       i   t    
0031420    m   e   a   n   s       y   o   u       c   a   n   '   t    
0031440    d   o       (   R   E   S   E   T   S   A   V   E       N   I
0031460    L       (   L   I   S   T       '   D   E   L   E   T   E   C
0031500    O   N   T   R   O   L       t   y   p   e           (   D   E
0031520    L   E   T   E   C   O   N   T   R   O   L       t   y   p   e
0031540        n   e   w   v   a   l   u   e   )   )   )       w   i   t
0031560    h   o   u   t       r   e   g   a   r   d       t   o       T
0031600    Y   P   E   .   }      \r   }   }  \r  \r  \r   {   F   n   D
0031620    e   f       {   F   n   N   a   m   e       G   E   T   D   E
0031640    L   E   T   E   C   O   N   T   R   O   L   }       {   F   n
0031660    A   r   g   s       T   Y   P   E       T   T   B   L   }  \r
0031700    {   T   e   x   t  \r   R   e   t   u   r   n   s       t   h
0031720    e       c   u   r   r   e   n   t       {   f   n       D   E
0031740    L   E   T   E   C   O   N   T   R   O   L   }       m   o   d
0031760    e       f   o   r       {   a   r   g       T   Y   P   E   }
0032000        i   n       {   a   r   g       T   T   B   L   }   .  \r
0032020    }   }  \r  \r  \r   }   {   E   n   d       S   u   b   S   e
0032040    c       T   e   r   m   i   n   a   l       C   o   n   t   r
0032060    o   l       F   u   n   c   t   i   o   n   s   }  \r  \r  \r
0032100   \r   {   B   e   g   i   n       S   u   b   S   e   c       L
0032120    i   n   e   -   B   u   f   f   e   r   i   n   g   }  \r   {
0032140    T   i   t   l   e       L   i   n   e   -   B   u   f   f   e
0032160    r   i   n   g   }  \r   {   T   e   x   t  \r  \r   {   i   n
0032200    d   e   x       *   P   R   I   M   A   R   Y   *       L   i
0032220    n   e   -   b   u   f   f   e   r   i   n   g   }  \r   {   i
0032240    n   d   e   x       *   P   R   I   M   A   R   Y   *       L
0032260    i   n   e       b   u   f   f   e   r   }  \r   {   i   n   d
0032300    e   x       *   P   R   I   M   A   R   Y   *       S   y   s
0032320    t   e   m       b   u   f   f   e   r   }  \r  \r   C   h   a
0032340    r   a   c   t   e   r   s       t   y   p   e   d       a   t
0032360        t   h   e       t   e   r   m   i   n   a   l       a   r
0032400    e       s   t   o   r   e   d       i   n       t   w   o    
0032420    b   u   f   f   e   r   s       b   e   f   o   r   e       t
0032440    h   e   y       a   r   e       p   a   s   s   e   d       t
0032460    o       a   n       i   n   p   u   t       f   u   n   c   t
0032500    i   o   n   .           A   l   l       c   h   a   r   a   c
0032520    t   e   r   s       t   y   p   e   d       i   n       a   r
0032540    e       p   u   t       i   n   t   o       t   h   e       l
0032560    o   w   -   l   e   v   e   l       "   s   y   s   t   e   m
0032600        b   u   f   f   e   r   "   ,       w   h   i   c   h    
0032620    a   l   l   o   w   s       t   y   p   e   -   a   h   e   a
0032640    d   .           W   h   e   n       a   n       i   n   p   u
0032660    t       f   u   n   c   t   i   o   n       i   s       e   n
0032700    t   e   r   e   d   ,       c   h   a   r   a   c   t   e   r
0032720    s       a   r   e       t   r   a   n   s   f   e   r   r   e
0032740    d       t   o       t   h   e       "   l   i   n   e       b
0032760    u   f   f   e   r   "       u   n   t   i   l       a       c
0033000    h   a   r   a   c   t   e   r       w   i   t   h       t   e
0033020    r   m   i   n   a   l       s   y   n   t   a   x       c   l
0033040    a   s   s       {   l   i   s   p       E   O   L   }       a
0033060    p   p   e   a   r   s       (   o   r   ,       f   o   r    
0033100    c   a   l   l   s       f   r   o   m       {   f   n       R
0033120    E   A   D   }   ,       w   h   e   n       t   h   e       c
0033140    o   u   n   t       o   f       u   n   b   a   l   a   n   c
0033160    e   d       o   p   e   n       p   a   r   e   n   t   h   e
0033200    s   e   s   {   i   n   d   e   x       P   a   r   e   n   t
0033220    h   e   s   e   s       c   o   u   n   t   i   n   g       b
0033240    y       R   E   A   D   }       r   e   a   c   h   e   s    
0033260    0   )   .           N   o   t   e       t   h   a   t       {
0033300    f   n       P   E   E   K   C   }       i   s       a   n    
0033320    e   x   c   e   p   t   i   o   n   ;       i   t       r   e
0033340    t   u   r   n   s       t   h   e       c   h   a   r   a   c
0033360    t   e   r       i   m   m   e   d   i   a   t   e   l   y    
0033400    w   h   e   n       i   t   s       s   e   c   o   n   d    
0033420    a   r   g   u   m   e   n   t       i   s       {   l   i   s
0033440    p       N   I   L   }   .           U   n   t   i   l       t
0033460    h   i   s       t   i   m   e   ,       t   h   e       u   s
0033500    e   r       c   a   n       d   e   l   e   t   e       c   h
0033520    a   r   a   c   t   e   r   s       o   n   e       a   t    
0033540    a       t   i   m   e       f   r   o   m       t   h   e    
0033560    l   i   n   e       b   u   f   f   e   r       b   y       t
0033600    y   p   i   n   g       t   h   e       c   u   r   r   e   n
0033620    t       {   l   i   s   p       C   H   A   R   D   E   L   E
0033640    T   E   }       c   h   a   r   a   c   t   e   r   ,       o
0033660    r       d   e   l   e   t   e       t   h   e       e   n   t
0033700    i   r   e       l   i   n   e       b   u   f   f   e   r    
0033720    b   a   c   k       t   o       t   h   e       l   a   s   t
0033740        c   a   r   r   i   a   g   e   -   r   e   t   u   r   n
0033760        b   y       t   y   p   i   n   g       t   h   e       c
0034000    u   r   r   e   n   t       {   l   i   s   p       L   I   N
0034020    E   D   E   L   E   T   E   }   .  \r  \r  \r   N   o   t   e
0034040        t   h   a   t       t   h   i   s       l   i   n   e    
0034060    e   d   i   t   i   n   g       i   s       {   i   t       n
0034100    o   t   }       p   e   r   f   o   r   m   e   d       b   y
0034120        {   f   n       R   E   A   D   }       o   r       {   f
0034140    n       R   A   T   O   M   }   ,       b   u   t       b   y
0034160        I   n   t   e   r   l   i   s   p   ,       i   .   e   .
0034200    ,       i   t       d   o   e   s       n   o   t       m   a
0034220    t   t   e   r       (   n   o   r       i   s       i   t    
0034240    n   e   c   e   s   s   a   r   i   l   y       k   n   o   w
0034260    n   )       w   h   i   c   h       f   u   n   c   t   i   o
0034300    n       w   i   l   l       u   l   t   i   m   a   t   e   l
0034320    y       p   r   o   c   e   s   s       t   h   e       c   h
0034340    a   r   a   c   t   e   r   s   ,       o   n   l   y       t
0034360    h   a   t       t   h   e   y       a   r   e       s   t   i
0034400    l   l       i   n       t   h   e       I   n   t   e   r   l
0034420    i   s   p       l   i   n   e       b   u   f   f   e   r   .
0034440            H   o   w   e   v   e   r   ,       t   h   e       f
0034460    u   n   c   t   i   o   n       t   h   a   t       i   s    
0034500    r   e   q   u   e   s   t   i   n   g       i   n   p   u   t
0034520        a   t       t   h   e       t   i   m   e       t   h   e
0034540        b   u   f   f   e   r   i   n   g       s   t   a   r   t
0034560    s       d   o   e   s       d   e   t   e   r   m   i   n   e
0034600        w   h   e   t   h   e   r       p   a   r   e   n   t   h
0034620    e   s   e   s       c   o   u   n   t   i   n   g   {   i   n
0034640    d   e   x       p   a   r   e   n   t   h   e   s   e   s    
0034660    c   o   u   n   t   i   n   g       b   y       R   E   A   D
0034700    }       i   s       o   b   s   e   r   v   e   d   .        
0034720    F   o   r       e   x   a   m   p   l   e   ,       i   f    
0034740    a       p   r   o   g   r   a   m       p   e   r   f   o   r
0034760    m   s       {   l   i   s   p       (   P   R   O   G   N    
0035000    (   R   A   T   O   M   )       (   R   E   A   D   )   )   }
0035020        a   n   d       t   h   e       u   s   e   r       t   y
0035040    p   e   s       i   n       "   {   l   i   s   p       A    
0035060    (   B       C       D   )   }   "   ,       t   h   e       u
0035100    s   e   r       m   u   s   t       t   y   p   e       i   n
0035120        t   h   e       c   a   r   r   i   a   g   e   -   r   e
0035140    t   u   r   n       f   o   l   l   o   w   i   n   g       t
0035160    h   e       r   i   g   h   t       p   a   r   e   n   t   h
0035200    e   s   i   s       b   e   f   o   r   e       a   n   y    
0035220    a   c   t   i   o   n       i   s       t   a   k   e   n   ,
0035240        b   e   c   a   u   s   e       t   h   e       l   i   n
0035260    e       b   u   f   f   e   r   i   n   g       i   s       h
0035300    a   p   p   e   n   i   n   g       u   n   d   e   r       {
0035320    f   n       R   A   T   O   M   }   .           I   f       t
0035340    h   e       p   r   o   g   r   a   m       h   a   d       p
0035360    e   r   f   o   r   m   e   d       {   l   i   s   p       (
0035400    P   R   O   G   N       (   R   E   A   D   )       (   R   E
0035420    A   D   )   )   }   ,       t   h   e       l   i   n   e   -
0035440    b   u   f   f   e   r   i   n   g       w   o   u   l   d    
0035460    b   e       u   n   d   e   r       {   f   n       R   E   A
0035500    D   }   ,       s   o       t   h   a   t       t   h   e    
0035520    r   i   g   h   t       p   a   r   e   n   t   h   e   s   i
0035540    s       w   o   u   l   d       t   e   r   m   i   n   a   t
0035560    e       l   i   n   e       b   u   f   f   e   r   i   n   g
0035600    ,       a   n   d       n   o       t   e   r   m   i   n   a
0035620    t   i   n   g       c   a   r   r   i   a   g   e   -   r   e
0035640    t   u   r   n       w   o   u   l   d       b   e       r   e
0035660    q   u   i   r   e   d   .  \r  \r   O   n   c   e       a    
0035700    c   a   r   r   i   a   g   e   -   r   e   t   u   r   n    
0035720    h   a   s       b   e   e   n       t   y   p   e   d   ,    
0035740    t   h   e       e   n   t   i   r   e       l   i   n   e    
0035760    i   s       "   a   v   a   i   l   a   b   l   e   "       e
0036000    v   e   n       i   f       n   o   t       a   l   l       o
0036020    f       i   t       i   s       p   r   o   c   e   s   s   e
0036040    d       b   y       t   h   e       f   u   n   c   t   i   o
0036060    n       i   n   i   t   i   a   t   i   n   g       t   h   e
0036100        r   e   q   u   e   s   t       f   o   r       i   n   p
0036120    u   t   .           I   f       a   n   y       c   h   a   r
0036140    a   c   t   e   r   s       a   r   e       "   l   e   f   t
0036160        o   v   e   r   "   ,       t   h   e   y       a   r   e
0036200        r   e   t   u   r   n   e   d       i   m   m   e   d   i
0036220    a   t   e   l   y       o   n       t   h   e       n   e   x
0036240    t       r   e   q   u   e   s   t       f   o   r       i   n
0036260    p   u   t   .           F   o   r       e   x   a   m   p   l
0036300    e   ,       {   l   i   s   p       (   L   I   S   T       (
0036320    R   A   T   O   M   )       (   R   E   A   D   C   )       (
0036340    R   A   T   O   M   )   )   }       w   h   e   n       t   h
0036360    e       i   n   p   u   t       i   s       "   {   l   i   s
0036400    p       A       B   {   C   R   s   y   m   b   o   l   }   }
0036420    "       r   e   t   u   r   n   s       t   h   e       t   h
0036440    r   e   e   -   e   l   e   m   e   n   t       l   i   s   t
0036460        {   l   i   s   p       (   A       %           B   )   }
0036500        a   n   d       l   e   a   v   e   s       t   h   e    
0036520    c   a   r   r   i   a   g   e   -   r   e   t   u   r   n    
0036540    i   n       t   h   e       b   u   f   f   e   r   .  \r  \r
0036560    I   f       a       c   a   r   r   i   a   g   e   -   r   e
0036600    t   u   r   n       i   s       t   y   p   e   d       w   h
0036620    e   n       t   h   e       i   n   p   u   t       u   n   d
0036640    e   r       {   f   n       R   E   A   D   }       i   s    
0036660    n   o   t       "   c   o   m   p   l   e   t   e   "       (
0036700    t   h   e       p   a   r   e   n   t   h   e   s   e   s    
0036720    a   r   e       n   o   t       b   a   l   a   n   c   e   d
0036740        o   r       a       s   t   r   i   n   g       i   s    
0036760    i   n       p   r   o   g   r   e   s   s   )   ,       l   i
0037000    n   e       b   u   f   f   e   r   i   n   g       c   o   n
0037020    t   i   n   u   e   s   ,       b   u   t       t   h   e    
0037040    l   i   n   e   s       c   o   m   p   l   e   t   e   d    
0037060    s   o       f   a   r       a   r   e       n   o   t       a
0037100    v   a   i   l   a   b   l   e       f   o   r       e   d   i
0037120    t   i   n   g       w   i   t   h       {   l   i   s   p    
0037140    C   H   A   R   D   E   L   E   T   E   }       o   r       {
0037160    l   i   s   p       L   I   N   E   D   E   L   E   T   E   }
0037200    .  \r  \r  \r  \r   T   h   e       f   u   n   c   t   i   o
0037220    n       {   f   n       C   O   N   T   R   O   L   }       i
0037240    s       a   v   a   i   l   a   b   l   e       t   o       d
0037260    e   f   e   a   t       l   i   n   e   -   b   u   f   f   e
0037300    r   i   n   g   :  \r  \r   {   F   n   D   e   f       {   F
0037320    n   N   a   m   e       C   O   N   T   R   O   L   }       {
0037340    F   n   A   r   g   s       M   O   D   E       T   T   B   L
0037360    }  \r   {   T   e   x   t  \r   I   f       {   a   r   g    
0037400    M   O   D   E   }   =   {   l   i   s   p       T   }   ,    
0037420    e   l   i   m   i   n   a   t   e   s       I   n   t   e   r
0037440    l   i   s   p   '   s       n   o   r   m   a   l       l   i
0037460    n   e   -   b   u   f   f   e   r   i   n   g       f   o   r
0037500        t   h   e       t   e   r   m   i   n   a   l       t   a
0037520    b   l   e       {   a   r   g       T   T   B   L   }   .    
0037540        I   f       {   a   r   g       M   O   D   E   }   =   {
0037560    l   i   s   p       N   I   L   }   ,       r   e   s   t   o
0037600    r   e   s       l   i   n   e   -   b   u   f   f   e   r   i
0037620    n   g       (   n   o   r   m   a   l   )   .           W   h
0037640    e   n       o   p   e   r   a   t   i   n   g       w   i   t
0037660    h       a       t   e   r   m   i   n   a   l       t   a   b
0037700    l   e       i   n       w   h   i   c   h       {   l   i   s
0037720    p       (   C   O   N   T   R   O   L       T   )   }       h
0037740    a   s       b   e   e   n       p   e   r   f   o   r   m   e
0037760    d   ,       c   h   a   r   a   c   t   e   r   s       a   r
0040000    e       r   e   t   u   r   n   e   d       t   o       t   h
0040020    e       c   a   l   l   i   n   g       f   u   n   c   t   i
0040040    o   n       w   i   t   h   o   u   t       l   i   n   e   -
0040060    b   u   f   f   e   r   i   n   g       a   s       d   e   s
0040100    c   r   i   b   e   d       b   e   l   o   w   .  \r  \r   {
0040120    f   n       C   O   N   T   R   O   L   }       r   e   t   u
0040140    r   n   s       i   t   s       p   r   e   v   i   o   u   s
0040160        s   e   t   t   i   n   g   .  \r   }   }  \r  \r  \r   {
0040200    F   n   D   e   f       {   F   n   N   a   m   e       G   E
0040220    T   C   O   N   T   R   O   L   }       {   F   n   A   r   g
0040240    s       T   T   B   L   }  \r   {   T   e   x   t  \r   R   e
0040260    t   u   r   n   s       t   h   e       c   u   r   r   e   n
0040300    t       c   o   n   t   r   o   l       m   o   d   e       f
0040320    o   r       {   a   r   g       T   T   B   L   }   .  \r   }
0040340    }  \r  \r   T   h   e       f   u   n   c   t   i   o   n    
0040360    t   h   a   t       i   n   i   t   i   a   t   e   s       t
0040400    h   e       r   e   q   u   e   s   t       f   o   r       i
0040420    n   p   u   t       d   e   t   e   r   m   i   n   e   s    
0040440    h   o   w       t   h   e       l   i   n   e       i   s    
0040460    t   r   e   a   t   e   d       w   h   e   n       {   l   i
0040500    s   p       (   C   O   N   T   R   O   L       T   )   }    
0040520    i   s       i   n       e   f   f   e   c   t   :  \r  \r  \r
0040540    {   B   e   g   i   n       L   a   b   e   l   e   d   L   i
0040560    s   t       f   u   n   c   t   i   o   n       t   h   a   t
0040600        i   n   i   t   i   a   t   e   s       t   h   e       r
0040620    e   q   u   e   s   t   }  \r  \r   {   L   a   b   e   l    
0040640    {   f   n       R   E   A   D   }   {   i   n   d   e   x    
0040660    R   E   A   D       F   N   }   }  \r   {   T   e   x   t  \r
0040700    I   f       t   h   e       e   x   p   r   e   s   s   i   o
0040720    n       b   e   i   n   g       t   y   p   e   d       i   s
0040740        a       l   i   s   t   ,       t   h   e       e   f   f
0040760    e   c   t       i   s       t   h   e       s   a   m   e    
0041000    a   s       t   h   o   u   g   h       d   o   n   e       w
0041020    i   t   h       {   l   i   s   p       (   C   O   N   T   R
0041040    O   L       N   I   L   )   }   ,       i   .   e   .   ,    
0041060    l   i   n   e   -   b   u   f   f   e   r   i   n   g       c
0041100    o   n   t   i   n   u   e   s       u   n   t   i   l       a
0041120        c   a   r   r   i   a   g   e   -   r   e   t   u   r   n
0041140        o   r       m   a   t   c   h   i   n   g       p   a   r
0041160    e   n   t   h   e   s   e   s   .           I   f       t   h
0041200    e       e   x   p   r   e   s   s   i   o   n       b   e   i
0041220    n   g       t   y   p   e   d       i   s       n   o   t    
0041240    a       l   i   s   t   ,       i   t       i   s       r   e
0041260    t   u   r   n   e   d       a   s       s   o   o   n       a
0041300    s       a       b   r   e   a   k       o   r       s   e   p
0041320    a   r   a   t   o   r       c   h   a   r   a   c   t   e   r
0041340    {   i   n   d   e   x       b   r   e   a   k       c   h   a
0041360    r   a   c   t   e   r   s   }   {   i   n   d   e   x       s
0041400    e   p   a   r   a   t   o   r       c   h   a   r   a   c   t
0041420    e   r   s   }       i   s       e   n   c   o   u   n   t   e
0041440    r   e   d   ,       e   .   g   .   ,       {   l   i   s   p
0041460        (   R   E   A   D   )   }       w   h   e   n       t   h
0041500    e       i   n   p   u   t       i   s       "   {   l   i   s
0041520    p       A   B   C   }   <   s   p   a   c   e   >   "       i
0041540    m   m   e   d   i   a   t   e   l   y       r   e   t   u   r
0041560    n   s       {   l   i   s   p       A   B   C   }   .        
0041600    {   l   i   s   p       C   H   A   R   D   E   L   E   T   E
0041620    }       a   n   d       {   l   i   s   p       L   I   N   E
0041640    D   E   L   E   T   E   }           a   r   e       a   v   a
0041660    i   l   a   b   l   e       o   n       t   h   o   s   e    
0041700    c   h   a   r   a   c   t   e   r   s       s   t   i   l   l
0041720        i   n       t   h   e       b   u   f   f   e   r   .    
0041740        T   h   u   s   ,       i   f       a       p   r   o   g
0041760    r   a   m       i   s       p   e   r   f   o   r   m   i   n
0042000    g       s   e   v   e   r   a   l       r   e   a   d   s    
0042020    u   n   d   e   r       {   l   i   s   p       (   C   O   N
0042040    T   R   O   L       T   )   }   ,       a   n   d       t   h
0042060    e       u   s   e   r       t   y   p   e   s       "   {   l
0042100    i   s   p       N   O   W       I   S       T   H   E       T
0042120    I   M   E   }   "       f   o   l   l   o   w   e   d       b
0042140    y       c   o   n   t   r   o   l   -   Q   ,       o   n   l
0042160    y       {   l   i   s   p       T   I   M   E   }       i   s
0042200        d   e   l   e   t   e   d   ,       s   i   n   c   e    
0042220    t   h   e       r   e   s   t       o   f       t   h   e    
0042240    l   i   n   e       h   a   s       a   l   r   e   a   d   y
0042260        b   e   e   n       t   r   a   n   s   m   i   t   t   e
0042300    d       t   o       {   f   n       R   E   A   D   }       a
0042320    n   d       p   r   o   c   e   s   s   e   d   .  \r  \r   A
0042340    n       e   x   c   e   p   t   i   o   n       t   o       t
0042360    h   e       a   b   o   v   e       o   c   c   u   r   s    
0042400    w   h   e   n       t   h   e       b   r   e   a   k       o
0042420    r       s   e   p   a   r   a   t   o   r       c   h   a   r
0042440    a   c   t   e   r       i   s       a   n       o   p   e   n
0042460    i   n   g       p   a   r   e   n   t   h   e   s   i   s   ,
0042500        b   r   a   c   k   e   t       o   r       d   o   u   b
0042520    l   e   -   q   u   o   t   e   ,       s   i   n   c   e    
0042540    r   e   t   u   r   n   i   n   g       a   t       t   h   i
0042560    s       p   o   i   n   t       w   o   u   l   d       l   e
0042600    a   v   e       t   h   e       l   i   n   e       b   u   f
0042620    f   e   r       i   n       a       "   f   u   n   n   y   "
0042640        s   t   a   t   e   .           T   h   u   s       i   f
0042660        t   h   e       i   n   p   u   t       t   o       {   l
0042700    i   s   p       (   R   E   A   D   )   }       i   s       "
0042720    {   l   i   s   p       A   B   C   (   }   "   ,       t   h
0042740    e       {   l   i   s   p       A   B   C   }       i   s    
0042760    n   o   t       r   e   a   d       u   n   t   i   l       a
0043000        c   a   r   r   i   a   g   e   -   r   e   t   u   r   n
0043020        o   r       m   a   t   c   h   i   n   g       p   a   r
0043040    e   n   t   h   e   s   e   s       i   s       e   n   c   o
0043060    u   n   t   e   r   e   d   .           I   n       t   h   i
0043100    s       c   a   s   e       t   h   e       u   s   e   r    
0043120    c   o   u   l   d       {   l   i   s   p       L   I   N   E
0043140    D   E   L   E   T   E   }       t   h   e       e   n   t   i
0043160    r   e       l   i   n   e   ,       s   i   n   c   e       a
0043200    l   l       o   f       t   h   e       c   h   a   r   a   c
0043220    t   e   r   s       a   r   e       s   t   i   l   l       i
0043240    n       t   h   e       b   u   f   f   e   r   .  \r   }  \r
0043260   \r   {   L   a   b   e   l       {   f   n       R   A   T   O
0043300    M   }   {   i   n   d   e   x       R   A   T   O   M       F
0043320    N   }   }  \r   {   T   e   x   t  \r   C   h   a   r   a   c
0043340    t   e   r   s       a   r   e       r   e   t   u   r   n   e
0043360    d       a   s       s   o   o   n       a   s       a       b
0043400    r   e   a   k       o   r       s   e   p   a   r   a   t   o
0043420    r       c   h   a   r   a   c   t   e   r       i   s       e
0043440    n   c   o   u   n   t   e   r   e   d   .           U   n   t
0043460    i   l       t   h   e   n   ,       {   l   i   s   p       L
0043500    I   N   E   D   E   L   E   T   E   }       a   n   d       {
0043520    l   i   s   p       C   H   A   R   D   E   L   E   T   E   }
0043540        m   a   y       b   e       u   s   e   d       a   s    
0043560    w   i   t   h       {   f   n       R   E   A   D   }   .    
0043600        F   o   r       e   x   a   m   p   l   e   ,       {   l
0043620    i   s   p       (   R   A   T   O   M   )   }       f   o   l
0043640    l   o   w   e   d       b   y       "   {   l   i   s   p    
0043660    A   B   C   }   <   c   o   n   t   r   o   l   -   A   >   <
0043700    s   p   a   c   e   >   "       r   e   t   u   r   n   s    
0043720    {   l   i   s   p       A   B   }   .           {   l   i   s
0043740    p       (   R   A   T   O   M   )   }       f   o   l   l   o
0043760    w   e   d       b   y       "   {   l   i   s   p       (   }
0044000    <   c   o   n   t   r   o   l   -   A   >   "       r   e   t
0044020    u   r   n   s       {   l   i   s   p       (   }       a   n
0044040    d       t   y   p   e   s       {   l   i   s   p       #   #
0044060    }   {   i   n   d   e   x       #   #       (   P   r   i   n
0044100    t   e   d       b   y       S   y   s   t   e   m   )   }    
0044120    i   n   d   i   c   a   t   i   n   g       t   h   a   t    
0044140    c   o   n   t   r   o   l   -   A       w   a   s       a   t
0044160    t   e   m   p   t   e   d       w   i   t   h       n   o   t
0044200    h   i   n   g       i   n       t   h   e       b   u   f   f
0044220    e   r   ,       s   i   n   c   e       t   h   e       {   l
0044240    i   s   p       (   }       i   s       a       b   r   e   a
0044260    k       c   h   a   r   a   c   t   e   r       a   n   d    
0044300    w   o   u   l   d       t   h   e   r   e   f   o   r   e    
0044320    a   l   r   e   a   d   y       h   a   v   e       b   e   e
0044340    n       r   e   a   d   .  \r   }  \r  \r   {   L   a   b   e
0044360    l       {   f   n       R   E   A   D   C   }   {   i   n   d
0044400    e   x       R   E   A   D   C       F   N   }   }  \r   {   L
0044420    a   b   e   l       {   f   n       P   E   E   K   C   }   {
0044440    i   n   d   e   x       P   E   E   K   C       F   N   }   }
0044460   \r   {   T   e   x   t  \r   T   h   e       c   h   a   r   a
0044500    c   t   e   r       i   s       r   e   t   u   r   n   e   d
0044520        i   m   m   e   d   i   a   t   e   l   y   ;       n   o
0044540        l   i   n   e       e   d   i   t   i   n   g       i   s
0044560        p   o   s   s   i   b   l   e   .           I   n       p
0044600    a   r   t   i   c   u   l   a   r   ,       {   l   i   s   p
0044620        (   R   E   A   D   C   )   }       i   s       p   e   r
0044640    f   e   c   t   l   y       h   a   p   p   y       t   o    
0044660    r   e   t   u   r   n       t   h   e       {   l   i   s   p
0044700        C   H   A   R   D   E   L   E   T   E   }       o   r    
0044720    {   l   i   s   p       L   I   N   E   D   E   L   E   T   E
0044740    }       c   h   a   r   a   c   t   e   r   s   ,       o   r
0044760        t   h   e       {   f   n       E   S   C   A   P   E   }
0045000        c   h   a   r   a   c   t   e   r       (   {   l   i   s
0045020    p       %   }   )   {   i   n   d   e   x       %   }   .  \r
0045040    }  \r  \r   {   E   n   d       L   a   b   e   l   e   d   L
0045060    i   s   t       f   u   n   c   t   i   o   n       t   h   a
0045100    t       i   n   i   t   i   a   t   e   s       t   h   e    
0045120    r   e   q   u   e   s   t   }  \r  \r  \r  \r  \r   T   h   e
0045140        s   y   s   t   e   m       b   u   f   f   e   r       a
0045160    n   d       l   i   n   e       b   u   f   f   e   r       c
0045200    a   n       b   e       d   i   r   e   c   t   l   y       m
0045220    a   n   i   p   u   l   a   t   e   d       u   s   i   n   g
0045240        t   h   e       f   o   l   l   o   w   i   n   g       f
0045260    u   n   c   t   i   o   n   s   .  \r  \r   {   i   n   d   e
0045300    x       *   P   R   I   M   A   R   Y   *       I   n   p   u
0045320    t       b   u   f   f   e   r   }  \r  \r   {   F   n   D   e
0045340    f       {   F   n   N   a   m   e       C   L   E   A   R   B
0045360    U   F   }       {   F   n   A   r   g   s       F   I   L   E
0045400        F   L   G   }  \r   {   T   e   x   t  \r   C   l   e   a
0045420    r   s       t   h   e       i   n   p   u   t       b   u   f
0045440    f   e   r       f   o   r       {   a   r   g       F   I   L
0045460    E   }   .           I   f       {   a   r   g       F   I   L
0045500    E   }       i   s       {   l   i   s   p       T   }       a
0045520    n   d       {   a   r   g       F   L   G   }       i   s    
0045540    {   l   i   s   p       T   }   ,       t   h   e       c   o
0045560    n   t   e   n   t   s       o   f       I   n   t   e   r   l
0045600    i   s   p   '   s       s   y   s   t   e   m       b   u   f
0045620    f   e   r   {   i   n   d   e   x       s   y   s   t   e   m
0045640        b   u   f   f   e   r   }       a   n   d       l   i   n
0045660    e       b   u   f   f   e   r   {   i   n   d   e   x       l
0045700    i   n   e       b   u   f   f   e   r   }       a   r   e    
0045720    s   a   v   e   d       (   a   n   d       c   a   n       b
0045740    e       o   b   t   a   i   n   e   d       v   i   a       {
0045760    i   n   d   e   x       S   Y   S   B   U   F       F   N   }
0046000    {   f   n       S   Y   S   B   U   F   }       a   n   d    
0046020    {   i   n   d   e   x       L   I   N   B   U   F       F   N
0046040    }   {   f   n       L   I   N   B   U   F   }       d   e   s
0046060    c   r   i   b   e   d       b   e   l   o   w   )   .  \r  \r
0046100    W   h   e   n       {   i   n   d   e   x       c   o   n   t
0046120    r   o   l   -   D       (   I   n   t   e   r   r   u   p   t
0046140        C   h   a   r   a   c   t   e   r   )   }   c   o   n   t
0046160    r   o   l   -   D       o   r       {   i   n   d   e   x    
0046200    c   o   n   t   r   o   l   -   E       (   I   n   t   e   r
0046220    r   u   p   t       C   h   a   r   a   c   t   e   r   )   }
0046240    c   o   n   t   r   o   l   -   E       i   s       t   y   p
0046260    e   d   ,       o   r       a   n   y       o   f       t   h
0046300    e       i   n   t   e   r   r   u   p   t       c   h   a   r
0046320    a   c   t   e   r   s       t   h   a   t       r   e   q   u
0046340    i   r   e       t   e   r   m   i   n   a   l       i   n   t
0046360    e   r   a   c   t   i   o   n       i   s       t   y   p   e
0046400    d       (   {   i   n   d   e   x       c   o   n   t   r   o
0046420    l   -   G       (   I   n   t   e   r   r   u   p   t       C
0046440    h   a   r   a   c   t   e   r   )   }   c   o   n   t   r   o
0046460    l   -   G   ,       o   r       {   i   n   d   e   x       c
0046500    o   n   t   r   o   l   -   P       (   I   n   t   e   r   r
0046520    u   p   t       C   h   a   r   a   c   t   e   r   )   }   c
0046540    o   n   t   r   o   l   -   P   )   ,       I   n   t   e   r
0046560    l   i   s   p       a   u   t   o   m   a   t   i   c   a   l
0046600    l   y       p   e   r   f   o   r   m   s       {   l   i   s
0046620    p       (   C   L   E   A   R   B   U   F       T       T   )
0046640    }   .           F   o   r       c   o   n   t   r   o   l   -
0046660    P       a   n   d   ,       w   h   e   n       t   h   e    
0046700    b   r   e   a   k       i   s       e   x   i   t   e   d    
0046720    n   o   r   m   a   l   l   y   ,       c   o   n   t   r   o
0046740    l   -   H   ,       I   n   t   e   r   l   i   s   p       r
0046760    e   s   t   o   r   e   s       t   h   e       b   u   f   f
0047000    e   r       a   f   t   e   r       t   h   e       i   n   t
0047020    e   r   a   c   t   i   o   n   .  \r  \r   T   h   e       a
0047040    c   t   i   o   n       o   f       {   l   i   s   p       (
0047060    C   L   E   A   R   B   U   F       T   )   }   ,       i   .
0047100    e   .   ,       c   l   e   a   r   i   n   g       o   f    
0047120    t   y   p   e   a   h   e   a   d   ,       i   s       a   l
0047140    s   o       a   v   a   i   l   a   b   l   e       a   s    
0047160    t   h   e       {   l   i   s   p       R   U   B   O   U   T
0047200    }       i   n   t   e   r   r   u   p   t       c   h   a   r
0047220    a   c   t   e   r   ,       i   n   i   t   i   a   l   l   y
0047240        a   s   s   i   g   n   e   d       t   o       t   h   e
0047260        d   e   l   e   t   e       k   e   y   {   i   n   d   e
0047300    x       *   P   R   I   M   A   R   Y   *       D   e   l   e
0047320    t   e   }       i   n       I   n   t   e   r   l   i   s   p
0047340    -   D   .               N   o   t   e       t   h   a   t    
0047360    t   h   i   s       i   n   t   e   r   r   u   p   t       c
0047400    l   e   a   r   s       b   o   t   h       b   u   f   f   e
0047420    r   s       a   t       t   h   e       t   i   m   e       i
0047440    t       i   s       {   i   t       t   y   p   e   d   }   ,
0047460        w   h   e   r   e   a   s       t   h   e       a   c   t
0047500    i   o   n       o   f       t   h   e       {   l   i   s   p
0047520        C   H   A   R   D   E   L   E   T   E   }       a   n   d
0047540        {   l   i   s   p       L   I   N   E   D   E   L   E   T
0047560    E   }       c   h   a   r   a   c   t   e   r       o   c   c
0047600    u   r       a   t       t   h   e       t   i   m   e       t
0047620    h   e   y       a   r   e       {   i   t       r   e   a   d
0047640    }   .  \r   }   }  \r  \r  \r  \r   {   F   n   D   e   f    
0047660    {   F   n   N   a   m   e       S   Y   S   B   U   F   }    
0047700    {   F   n   A   r   g   s       F   L   G   }  \r   {   T   e
0047720    x   t  \r   I   f       {   a   r   g       F   L   G   }   =
0047740    {   l   i   s   p       T   }   ,       r   e   t   u   r   n
0047760    s       t   h   e       c   o   n   t   e   n   t   s       o
0050000    f       t   h   e       s   y   s   t   e   m       b   u   f
0050020    f   e   r   {   i   n   d   e   x       s   y   s   t   e   m
0050040        b   u   f   f   e   r   }       (   a   s       a       s
0050060    t   r   i   n   g   )       t   h   a   t       w   a   s    
0050100    s   a   v   e   d       a   t       t   h   e       l   a   s
0050120    t       {   l   i   s   p       (   C   L   E   A   R   B   U
0050140    F       T       T   )   }   .           I   f       {   a   r
0050160    g       F   L   G   }   =   {   l   i   s   p       N   I   L
0050200    }   ,       c   l   e   a   r   s       t   h   i   s       i
0050220    n   t   e   r   n   a   l       b   u   f   f   e   r   .  \r
0050240    }   }  \r  \r  \r   {   F   n   D   e   f       {   F   n   N
0050260    a   m   e       L   I   N   B   U   F   }       {   F   n   A
0050300    r   g   s       F   L   G   }  \r   {   T   e   x   t  \r   S
0050320    a   m   e       a   s       {   f   n       S   Y   S   B   U
0050340    F   }       f   o   r       t   h   e       l   i   n   e    
0050360    b   u   f   f   e   r   {   i   n   d   e   x       l   i   n
0050400    e       b   u   f   f   e   r   }   .  \r   }   }  \r  \r  \r
0050420    I   f       b   o   t   h       t   h   e       s   y   s   t
0050440    e   m       b   u   f   f   e   r       a   n   d       I   n
0050460    t   e   r   l   i   s   p   '   s       l   i   n   e       b
0050500    u   f   f   e   r       a   r   e       e   m   p   t   y   ,
0050520        t   h   e       i   n   t   e   r   n   a   l       b   u
0050540    f   f   e   r   s       a   s   s   o   c   i   a   t   e   d
0050560        w   i   t   h       {   f   n       L   I   N   B   U   F
0050600    }       a   n   d       {   f   n       S   Y   S   B   U   F
0050620    }       a   r   e       n   o   t       c   h   a   n   g   e
0050640    d       b   y       a       {   l   i   s   p       (   C   L
0050660    E   A   R   B   U   F       T       T   )   }   .  \r  \r  \r
0050700    {   F   n   D   e   f       {   F   n   N   a   m   e       B
0050720    K   S   Y   S   B   U   F   }       {   F   n   A   r   g   s
0050740        X       F   L   G       R   D   T   B   L   }  \r   {   T
0050760    e   x   t  \r   {   f   n       B   K   S   Y   S   B   U   F
0051000    }       s   e   t   s       t   h   e       s   y   s   t   e
0051020    m       b   u   f   f   e   r       t   o       t   h   e    
0051040    {   f   n       P   R   I   N   1   }   -   n   a   m   e    
0051060    o   f       {   a   r   g       X   }   .           T   h   e
0051100        e   f   f   e   c   t       i   s       t   h   e       s
0051120    a   m   e       a   s       t   h   o   u   g   h       t   h
0051140    e       u   s   e   r       t   y   p   e   d       {   a   r
0051160    g       X   }   .           S   o   m   e       i   m   p   l
0051200    e   m   e   n   t   a   t   i   o   n   s       h   a   v   e
0051220        a       l   i   m   i   t       o   n       t   h   e    
0051240    l   e   n   g   t   h       o   f       {   a   r   g       X
0051260    }   ,       i   n       w   h   i   c   h       c   a   s   e
0051300        c   h   a   r   a   c   t   e   r   s       i   n       {
0051320    a   r   g       X   }       b   e   y   o   n   d       t   h
0051340    e       l   i   m   i   t       a   r   e       i   g   n   o
0051360    r   e   d   .           R   e   t   u   r   n   s       {   a
0051400    r   g       X   }   .  \r  \r   I   f       {   a   r   g    
0051420    F   L   G   }       i   s       {   a   r   g       T   }   ,
0051440        t   h   e   n       t   h   e       {   f   n       P   R
0051460    I   N   2   }   -   n   a   m   e       o   f       {   a   r
0051500    g       X   }       i   s       u   s   e   d   ,       c   o
0051520    m   p   u   t   e   d       w   i   t   h       r   e   s   p
0051540    e   c   t       t   o       t   h   e       r   e   a   d    
0051560    t   a   b   l   e       {   a   r   g       R   D   T   B   L
0051600    }   .  \r  \r   N   o   t   e       t   h   a   t       i   f
0051620        t   h   e       u   s   e   r       i   s       t   y   p
0051640    i   n   g       a   t       t   h   e       s   a   m   e    
0051660    t   i   m   e       a   s       t   h   e       {   f   n    
0051700    B   K   S   Y   S   B   U   F   }       i   s       b   e   i
0051720    n   g       p   e   r   f   o   r   m   e   d   ,       t   h
0051740    e       r   e   l   a   t   i   v   e       o   r   d   e   r
0051760        o   f       t   h   e       t   y   p   e   -   i   n    
0052000    a   n   d       t   h   e       c   h   a   r   a   c   t   e
0052020    r   s       o   f       {   a   r   g       X   }       i   s
0052040        u   n   p   r   e   d   i   c   t   a   b   l   e   .  \r
0052060   \r   C   o   m   p   a   t   i   b   i   l   i   t   y       n
0052100    o   t   e   :       S   o   m   e       i   m   p   l   e   m
0052120    e   n   t   a   t   i   o   n   s       o   f       {   f   n
0052140        B   K   S   Y   S   B   U   F   }       (   I   n   t   e
0052160    r   l   i   s   p   -   1   0   )       u   s   e       a    
0052200    "   s   y   s   t   e   m   "       b   u   f   f   e   r   ,
0052220        f   r   o   m       w   h   i   c   h       k   e   y   b
0052240    o   a   r   d       i   n   t   e   r   r   u   p   t   s    
0052260    a   r   e       a   l   s   o       p   r   o   c   e   s   s
0052300    e   d   .           I   n       t   h   i   s       c   a   s
0052320    e   ,       {   f   n       B   K   S   Y   S   B   U   F   }
0052340        o   f       a   n       i   n   t   e   r   r   u   p   t
0052360        c   h   a   r   a   c   t   e   r       a   c   t   u   a
0052400    l   l   y       i   n   v   o   k   e   s       t   h   e    
0052420    i   n   t   e   r   r   u   p   t       a   t       s   o   m
0052440    e       (   a   s   y   n   c   h   r   o   n   o   u   s   )
0052460        t   i   m   e       a   f   t   e   r       t   h   e    
0052500    {   f   n       B   K   S   Y   S   B   U   F   }       i   s
0052520        i   n   i   t   i   a   t   e   d   .           I   n    
0052540    o   t   h   e   r       i   m   p   l   e   m   e   n   t   a
0052560    t   i   o   n   s       (   I   n   t   e   r   l   i   s   p
0052600    -   D   )   ,       t   h   e       c   h   a   r   a   c   t
0052620    e   r   s       a   r   e       n   o   t       p   r   o   c
0052640    e   s   s   e   d       f   o   r       i   n   t   e   r   r
0052660    u   p   t   s   ,       a   n   d       i   t       i   s    
0052700    p   o   s   s   i   b   l   e       t   o       {   f   n    
0052720    B   K   S   Y   S   B   U   F   }       c   h   a   r   a   c
0052740    t   e   r   s       w   h   i   c   h       w   o   u   l   d
0052760        o   t   h   e   r   w   i   s   e       b   e       i   m
0053000    p   o   s   s   i   b   l   e       t   o       t   y   p   e
0053020    .  \r   }   }  \r  \r  \r  \r   {   F   n   D   e   f       {
0053040    F   n   N   a   m   e       B   K   L   I   N   B   U   F   }
0053060        {   F   n   A   r   g   s       S   T   R   }  \r   {   T
0053100    e   x   t  \r   {   a   r   g       S   T   R   }       i   s
0053120        a       s   t   r   i   n   g   .           {   f   n    
0053140    B   K   L   I   N   B   U   F   }       s   e   t   s       I
0053160    n   t   e   r   l   i   s   p   '   s       l   i   n   e    
0053200    b   u   f   f   e   r       t   o       {   a   r   g       S
0053220    T   R   }   .           S   o   m   e       i   m   p   l   e
0053240    m   e   n   t   a   t   i   o   n   s       h   a   v   e    
0053260    a       l   i   m   i   t       o   n       t   h   e       l
0053300    e   n   g   t   h       o   f       {   a   r   g       S   T
0053320    R   }   ,       i   n       w   h   i   c   h       c   a   s
0053340    e       c   h   a   r   a   c   t   e   r   s       i   n    
0053360    {   a   r   g       S   T   R   }       b   e   y   o   n   d
0053400        t   h   e       l   i   m   i   t       a   r   e       i
0053420    g   n   o   r   e   d   .           R   e   t   u   r   n   s
0053440        {   a   r   g       S   T   R   }   .  \r   }   }  \r  \r
0053460   \r   {   i   n   d   e   x       B   K   L   I   N   B   U   F
0053500        F   N   }   {   f   n       B   K   L   I   N   B   U   F
0053520    }   ,       {   i   n   d   e   x       B   K   S   Y   S   B
0053540    U   F       F   N   }   {   f   n       B   K   S   Y   S   B
0053560    U   F   }   ,       {   i   n   d   e   x       L   I   N   B
0053600    U   F       F   N   }   {   f   n       L   I   N   B   U   F
0053620    }   ,       a   n   d       {   i   n   d   e   x       S   Y
0053640    S   B   U   F       F   N   }   {   f   n       S   Y   S   B
0053660    U   F   }       p   r   o   v   i   d   e       a       w   a
0053700    y       o   f       "   u   n   d   o   i   n   g   "       a
0053720        {   i   n   d   e   x       C   L   E   A   R   B   U   F
0053740        F   N   }   {   f   n       C   L   E   A   R   B   U   F
0053760    }   .           T   h   u   s       t   o       "   p   e   e
0054000    k   "       a   t       v   a   r   i   o   u   s       c   h
0054020    a   r   a   c   t   e   r   s       i   n       t   h   e    
0054040    b   u   f   f   e   r   ,       o   n   e       c   o   u   l
0054060    d       p   e   r   f   o   r   m       {   l   i   s   p    
0054100    (   C   L   E   A   R   B   U   F       T       T   )   }   ,
0054120        e   x   a   m   i   n   e       t   h   e       b   u   f
0054140    f   e   r   s       v   i   a       {   f   n       L   I   N
0054160    B   U   F   }       a   n   d       {   f   n       S   Y   S
0054200    B   U   F   }   ,       a   n   d       t   h   e   n       p
0054220    u   t       t   h   e   m       b   a   c   k   .  \r  \r   T
0054240    h   e       m   o   r   e       c   o   m   m   o   n       u
0054260    s   e       o   f       t   h   e   s   e       f   u   n   c
0054300    t   i   o   n   s       i   s       i   n       s   a   v   i
0054320    n   g       a   n   d       r   e   s   t   o   r   i   n   g
0054340        t   y   p   e   a   h   e   a   d       w   h   e   n    
0054360    a       p   r   o   g   r   a   m       r   e   q   u   i   r
0054400    e   s       s   o   m   e       u   n   a   n   t   i   c   i
0054420    p   a   t   e   d       (   f   r   o   m       t   h   e    
0054440    u   s   e   r   '   s       s   t   a   n   d   p   o   i   n
0054460    t   )       i   n   p   u   t   .           T   h   e       f
0054500    u   n   c   t   i   o   n       {   f   n       R   E   S   E
0054520    T   B   U   F   S   }       p   r   o   v   i   d   e   s    
0054540    a       c   o   n   v   e   n   i   e   n   t       w   a   y
0054560        o   f       s   i   m   p   l   y       c   l   e   a   r
0054600    i   n   g       t   h   e       i   n   p   u   t       b   u
0054620    f   f   e   r   ,       p   e   r   f   o   r   m   i   n   g
0054640        a   n       i   n   t   e   r   a   c   t   i   o   n    
0054660    w   i   t   h       t   h   e       u   s   e   r   ,       a
0054700    n   d       t   h   e   n       r   e   s   t   o   r   i   n
0054720    g       t   h   e       i   n   p   u   t       b   u   f   f
0054740    e   r   .      \r  \r  \r   {   F   n   D   e   f       {   F
0054760    n   N   a   m   e       R   E   S   E   T   B   U   F   S   }
0055000   \r   {   F   n   A   r   g   s       F   O   R   M   {   S   U
0055020    B       1   }       F   O   R   M   {   S   U   B       2   }
0055040        {   e   l   l   i   p   s   i   s   }       F   O   R   M
0055060    {   S   U   B       N   }   }  \r   {   T   y   p   e       N
0055100    O   S   P   R   E   A   D       N   L   A   M   B   D   A   }
0055120   \r   {   T   e   x   t  \r   C   l   e   a   r   s       a   n
0055140    y       t   y   p   e   a   h   e   a   d       (   r   i   n
0055160    g   i   n   g       t   h   e       t   e   r   m   i   n   a
0055200    l   '   s       b   e   l   l       i   f       t   h   e   r
0055220    e       w   a   s   ,       i   n   d   e   e   d   ,       t
0055240    y   p   e   a   h   e   a   d   )   ,       e   v   a   l   u
0055260    a   t   e   s       {   a   r   g       F   O   R   M   {   s
0055300    u   b       1   }   }   ,       {   a   r   g       F   O   R
0055320    M   {   s   u   b       2   }   }   ,   {   e   l   l   i   p
0055340    s   i   s   }       {   a   r   g       F   O   R   M   {   s
0055360    u   b       N   }   }   ,       t   h   e   n       r   e   s
0055400    t   o   r   e   s       t   h   e       t   y   p   e   a   h
0055420    e   a   d   .           R   e   t   u   r   n   s       t   h
0055440    e       v   a   l   u   e       o   f       {   a   r   g    
0055460    F   O   R   M   {   s   u   b       N   }   }   .           C
0055500    o   m   p   i   l   e   s       o   p   e   n   .  \r   }   }
0055520   \r  \r  \r  \r   }   {   E   n   d       S   u   b   S   e   c
0055540        L   i   n   e   -   B   u   f   f   e   r   i   n   g   }
0055560   \r  \r  \r  \r  \r   }   {   E   n   d       S   u   b   S   e
0055600    c       T   e   r   m   i   n   a   l       T   a   b   l   e
0055620    s   }  \r  \r  \r  \0  \0  \0  \0  \0 004  \0 003  \0   ?  \0
0055640    1   (   D   E   F   A   U   L   T   F   O   N   T       1    
0055660    (   G   A   C   H   A       1   0   )       (   G   A   C   H
0055700    A       8   )       (   T   E   R   M   I   N   A   L       8
0055720    )   )  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0   ?  \0   1
0055740    (   D   E   F   A   U   L   T   F   O   N   T       1       (
0055760    G   A   C   H   A       1   0   )       (   G   A   C   H   A
0056000        8   )       (   T   E   R   M   I   N   A   L       8   )
0056020    )  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0 023  \0 005   G
0056040    A   C   H   A  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0056060  025 206  \0  \0  \0  \0 003  \0  \0  \0   v  \0  \0  \0  \0 001
0056100   \0  \0   6   Y  \0  \0  \0  \0 003  \0  \0  \0 026  \0  \0  \0
0056120   \0 002  \0  \0  \0 036  \0  \0  \0  \0 003  \0  \0  \0 026  \0
0056140   \0  \0  \0 002  \0  \0  \0   t  \0  \0  \0  \0 003  \0  \0  \0
0056160  026  \0  \0  \0  \0 002  \0  \0  \0 037  \0  \0  \0  \0 003  \0
0056200   \0  \0 026  \0  \0  \0  \0 002  \0  \0 016   7  \0  \0  \0  \0
0056220  003  \0  \0   [ 225  \0  \v   z 272                            
0056231