$ od -c -N 50000 [Erinyes]<LispManual>Mouse.im!7
0000000   \r   {   B   e   g   i   n       S   u   b   S   e   c       C
0000020    u   r   s   o   r       a   n   d       M   o   u   s   e   }
0000040   \r   {   T   i   t   l   e       C   u   r   s   o   r       a
0000060    n   d       M   o   u   s   e   }  \r   {   T   e   x   t  \r
0000100   \r   {   i   n   d   e   x       *   P   R   I   M   A   R   Y
0000120    *       M   o   u   s   e   }  \r   {   i   n   d   e   x    
0000140    *   P   R   I   M   A   R   Y   *       C   u   r   s   o   r
0000160    }  \r  \r   A       m   o   u   s   e       i   s       a    
0000200    s   m   a   l   l       b   o   x       c   o   n   n   e   c
0000220    t   e   d       t   o       t   h   e       c   o   m   p   u
0000240    t   e   r       k   e   y   b   o   a   r   d       b   y    
0000260    a       l   o   n   g       w   i   r   e   .           O   n
0000300        t   h   e       t   o   p       o   f       t   h   e    
0000320    m   o   u   s   e       a   r   e       t   w   o       o   r
0000340        t   h   r   e   e       b   u   t   t   o   n   s   .    
0000360        O   n       t   h   e       b   o   t   t   o   m       i
0000400    s       a       r   o   l   l   i   n   g       b   a   l   l
0000420        o   r       a       s   e   t       o   f       p   h   o
0000440    t   o   r   e   c   e   p   t   o   r   s   ,       t   o    
0000460    d   e   t   e   c   t       w   h   e   n       t   h   e    
0000500    m   o   u   s   e       i   s       m   o   v   e   d   .    
0000520        A   s       t   h   e       m   o   u   s   e       i   s
0000540        m   o   v   e   d       o   n       a       s   u   r   f
0000560    a   c   e   ,       a       s   m   a   l   l       i   m   a
0000600    g   e       o   n       t   h   e       s   c   r   e   e   n
0000620    ,       c   a   l   l   e   d       t   h   e       c   u   r
0000640    s   o   r   ,       m   o   v   e   s       t   o       f   o
0000660    l   l   o   w       t   h   e       m   o   v   e   m   e   n
0000700    t       o   f       t   h   e       m   o   u   s   e   .    
0000720        B   y       m   o   v   i   n   g       t   h   e       m
0000740    o   u   s   e   ,       t   h   e       u   s   e   r       c
0000760    a   n       c   a   u   s   e       t   h   e       c   u   r
0001000    s   o   r       t   o       p   o   i   n   t       t   o    
0001020    a   n   y       p   a   r   t       o   f       t   h   e    
0001040    d   i   s   p   l   a   y       s   c   r   e   e   n   .  \r
0001060   \r   T   h   e       m   o   u   s   e       a   n   d       c
0001100    u   r   s   o   r       a   r   e       a   n       i   m   p
0001120    o   r   t   a   n   t       p   a   r   t       o   f       t
0001140    h   e       I   n   t   e   r   l   i   s   p   -   D       u
0001160    s   e   r       i   n   t   e   r   f   a   c   e   .        
0001200    T   h   e       I   n   t   e   r   l   i   s   p   -   D    
0001220    w   i   n   d   o   w       s   y   s   t   e   m       a   l
0001240    l   o   w   s       t   h   e       u   s   e   r       t   o
0001260        c   r   e   a   t   e   ,       m   o   v   e   ,       a
0001300    n   d       r   e   s   h   a   p   e       w   i   n   d   o
0001320    w   s   ,       a   n   d       t   o       s   e   l   e   c
0001340    t       i   t   e   m   s       f   r   o   m       d   i   s
0001360    p   l   a   y   e   d       m   e   n   u   s   ,       a   l
0001400    l       b   y       m   o   v   i   n   g       t   h   e    
0001420    m   o   u   s   e       a   n   d       c   l   i   c   k   i
0001440    n   g       t   h   e       m   o   u   s   e       b   u   t
0001460    t   o   n   s   .           T   h   i   s       s   e   c   t
0001500    i   o   n       d   e   s   c   r   i   b   e   s       t   h
0001520    e       l   o   w   -   l   e   v   e   l       f   u   n   c
0001540    t   i   o   n   s       u   s   e   d       t   o       c   o
0001560    n   t   r   o   l       t   h   e       m   o   u   s   e    
0001600    a   n   d       c   u   r   s   o   r   .  \r  \r  \r   {   B
0001620    e   g   i   n       S   u   b   S   e   c       C   h   a   n
0001640    g   i   n   g       t   h   e       C   u   r   s   o   r    
0001660    I   m   a   g   e   }  \r   {   T   i   t   l   e       C   h
0001700    a   n   g   i   n   g       t   h   e       C   u   r   s   o
0001720    r       I   m   a   g   e   }  \r   {   T   e   x   t  \r  \r
0001740   \r   I   n   t   e   r   l   i   s   p   -   D       m   a   i
0001760    n   t   a   i   n   s       t   h   e       i   m   a   g   e
0002000        o   f       t   h   e       c   u   r   s   o   r       o
0002020    n       t   h   e       s   c   r   e   e   n   ,       m   o
0002040    v   i   n   g       i   t       a   s       t   h   e       m
0002060    o   u   s   e       i   s       m   o   v   e   d   .        
0002100    T   h   e       b   i   t   m   a   p       t   h   a   t    
0002120    b   e   c   o   m   e   s       v   i   s   i   b   l   e    
0002140    a   s       t   h   e       c   u   r   s   o   r       c   a
0002160    n       b   e       a   c   c   e   s   s   e   d       b   y
0002200        t   h   e       f   o   l   l   o   w   i   n   g       f
0002220    u   n   c   t   i   o   n   :  \r  \r   {   F   n   D   e   f
0002240        {   N   a   m   e       C   U   R   S   O   R   B   I   T
0002260    M   A   P   }  \r   {   T   e   x   t  \r   R   e   t   u   r
0002300    n   s       t   h   e       c   u   r   s   o   r       b   i
0002320    t   m   a   p   .  \r   }   }  \r  \r   {   V   a   r   D   e
0002340    f       {   N   a   m   e       C   U   R   S   O   R   W   I
0002360    D   T   H   }   }  \r   {   V   a   r   D   e   f       {   N
0002400    a   m   e       C   U   R   S   O   R   H   E   I   G   H   T
0002420    }  \r   {   T   e   x   t  \r   V   a   l   u   e       i   s
0002440        t   h   e       w   i   d   t   h       a   n   d       h
0002460    e   i   g   h   t       o   f       t   h   e       c   u   r
0002500    s   o   r       b   i   t   m   a   p   ,       r   e   s   p
0002520    e   c   t   i   v   e   l   y   .  \r   }   }  \r  \r  \r   T
0002540    h   e       c   u   r   s   o   r       b   i   t   m   a   p
0002560        c   a   n       b   e       c   h   a   n   g   e   d    
0002600    l   i   k   e       a   n   y       o   t   h   e   r       b
0002620    i   t   m   a   p       b   y       {   f   n       B   I   T
0002640    B   L   T   }   i   n   g       i   n   t   o       i   t    
0002660    o   r       p   o   i   n   t   i   n   g       a       d   i
0002700    s   p   l   a   y       s   t   r   e   a   m       a   t    
0002720    i   t       a   n   d       p   r   i   n   t   i   n   g    
0002740    o   r       d   r   a   w   i   n   g       c   u   r   v   e
0002760    s   .           H   o   w   e   v   e   r   ,       f   o   r
0003000        s   o   m   e       a   p   p   l   i   c   a   t   i   o
0003020    n   s       i   t       i   s       n   e   c   e   s   s   a
0003040    r   y       t   o       s   a   v   e       a   n   d       r
0003060    e   s   t   o   r   e       t   h   e       c   u   r   s   o
0003100    r   ,       w   h   i   c   h       c   a   n       b   e    
0003120    m   o   s   t       e   a   s   i   l   y       d   o   n   e
0003140        u   s   i   n   g       {   l   i   s   p       C   U   R
0003160    S   O   R   }       r   e   c   o   r   d       o   b   j   e
0003200    c   t   s   .   {   i   n   d   e   x       C   U   R   S   O
0003220    R       (   R   e   c   o   r   d   )   }           A       {
0003240    l   i   s   p       C   U   R   S   O   R   }       r   e   c
0003260    o   r   d       c   o   n   t   a   i   n   s       f   i   e
0003300    l   d   s       {   l   i   s   p       C   U   R   S   O   R
0003320    B   I   T   M   A   P   }       a   n   d       {   l   i   s
0003340    p       C   U   R   S   O   R   H   O   T   S   P   O   T   }
0003360    .           T   h   e       v   a   l   u   e       o   f    
0003400    t   h   e       {   l   i   s   p       C   U   R   S   O   R
0003420    B   I   T   M   A   P   }       f   i   e   l   d       i   s
0003440        a       b   i   t   m   a   p       t   h   a   t       i
0003460    s       {   v   a   r       C   U   R   S   O   R   W   I   D
0003500    T   H   }       b   i   t   s       w   i   d   e       b   y
0003520        {   v   a   r       C   U   R   S   O   R   H   E   I   G
0003540    H   T   }       h   i   g   h   .           T   h   e       v
0003560    a   l   u   e       o   f       t   h   e       {   l   i   s
0003600    p       C   U   R   S   O   R   H   O   T   S   P   O   T   }
0003620        f   i   e   l   d       i   s       t   h   e       {   i
0003640    n   d   e   x       *   P   R   I   M   A   R   Y   *       H
0003660    o   t       s   p   o   t       o   f       c   u   r   s   o
0003700    r   }   {   i   n   d   e   x       *   P   R   I   M   A   R
0003720    Y   *       H   o   t   s   p   o   t   }   "   h   o   t    
0003740    s   p   o   t   "       o   f       t   h   e       c   u   r
0003760    s   o   r   ,       a       p   o   s   i   t   i   o   n    
0004000    i   n       t   h   e       b   i   t   m   a   p       i   n
0004020    t   e   r   p   r   e   t   e   d       a   s       t   h   e
0004040        p   o   i   n   t       t   h   a   t       t   h   e    
0004060    c   u   r   s   o   r       i   s       p   o   i   n   t   i
0004100    n   g       t   o   .           {   l   i   s   p       C   U
0004120    R   S   O   R   }       o   b   j   e   c   t   s       c   a
0004140    n       b   e       s   a   v   e   d       o   n       a    
0004160    f   i   l   e       u   s   i   n   g       t   h   e       f
0004200    i   l   e       p   a   c   k   a   g   e       c   o   m   m
0004220    a   n   d       {   f   i   l   e   c   o   m       C   U   R
0004240    S   O   R   S   }   ,   {   i   n   d   e   x       C   U   R
0004260    S   O   R   S       F   i   l   e   C   o   m   }       o   r
0004300        t   h   e       {   f   i   l   e   c   o   m       U   G
0004320    L   Y   V   A   R   S   }       f   i   l   e       p   a   c
0004340    k   a   g   e       c   o   m   m   a   n   d   .  \r  \r  \r
0004360    {   F   n   D   e   f       {   N   a   m   e       C   U   R
0004400    S   O   R   C   R   E   A   T   E   }       {   A   r   g   s
0004420        B   I   T   M   A   P       X       Y   }  \r   {   T   e
0004440    x   t  \r   R   e   t   u   r   n   s       a       c   u   r
0004460    s   o   r       o   b   j   e   c   t       w   h   i   c   h
0004500        h   a   s       {   a   r   g       B   I   T   M   A   P
0004520    }       a   s       i   t   s       i   m   a   g   e       a
0004540    n   d       t   h   e       l   o   c   a   t   i   o   n    
0004560    (   {   a   r   g       X   }   ,   {   a   r   g       Y   }
0004600    )       a   s       t   h   e       h   o   t       s   p   o
0004620    t   .           I   f       {   a   r   g       X   }       i
0004640    s       a       {   l   i   s   p       P   O   S   I   T   I
0004660    O   N   }   ,       i   t       i   s       u   s   e   d    
0004700    a   s       t   h   e       h   o   t       s   p   o   t   .
0004720            I   f       {   a   r   g       B   I   T   M   A   P
0004740    }       h   a   s       d   i   m   e   n   s   i   o   n   s
0004760        d   i   f   f   e   r   e   n   t       f   r   o   m    
0005000    {   l   i   s   p       C   U   R   S   O   R   W   I   D   T
0005020    H   }       b   y       {   l   i   s   p       C   U   R   S
0005040    O   R   H   E   I   G   H   T   }   ,       t   h   e       l
0005060    e   s   s   e   r       o   f       t   h   e       w   i   d
0005100    t   h   s       a   n   d       t   h   e       l   e   s   s
0005120    e   r       o   f       t   h   e       h   e   i   g   h   t
0005140    s       a   r   e       u   s   e   d       t   o       d   e
0005160    t   e   r   m   i   n   e       t   h   e       b   i   t   s
0005200        t   h   a   t       a   c   t   u   a   l   l   y       g
0005220    e   t       c   o   p   i   e   d       i   n   t   o       t
0005240    h   e       l   o   w   e   r       l   e   f   t       c   o
0005260    r   n   e   r       o   f       t   h   e       c   u   r   s
0005300    o   r   .           I   f       {   a   r   g       X   }    
0005320    i   s       {   l   i   s   p       N   I   L   }   ,       0
0005340        i   s       u   s   e   d   .           I   f       {   a
0005360    r   g       Y   }       i   s       {   l   i   s   p       N
0005400    I   L   }   ,       {   l   i   s   p       C   U   R   S   O
0005420    R   H   E   I   G   H   T   }   -   1       i   s       u   s
0005440    e   d   .           T   h   e       d   e   f   a   u   l   t
0005460        c   u   r   s   o   r       i   s       a   n       u   p
0005500    a   r   r   o   w       w   i   t   h       i   t   s       t
0005520    i   p       i   n       t   h   e       u   p   p   e   r    
0005540    l   e   f   t       c   o   r   n   e   r       a   n   d    
0005560    i   t   s       h   o   t       s   p   o   t       a   t    
0005600    (   0   ,   {   l   i   s   p       C   U   R   S   O   R   H
0005620    E   I   G   H   T   }   -   1   )   .  \r   }   }  \r  \r  \r
0005640    {   n   o   t   e       t   h   e       I   N   V   E   R   T
0005660    F   L   G       a   r   g       t   o       C   U   R   S   O
0005700    R       a   n   d       S   E   T   C   U   R   S   O   R    
0005720    s   h   o   u   l   d       n   o   t       b   e       d   o
0005740    c   u   m   e   n   t   e   d   .   .   .           F   L   I
0005760    P   C   U   R   S   O   R       i   s       t   o       b   e
0006000        u   s   e   d       f   o   r       i   n   v   e   r   t
0006020    i   n   g       t   h   e       c   u   r   s   o   r   }  \r
0006040   \r  \r   {   F   n   D   e   f       {   N   a   m   e       C
0006060    U   R   S   O   R   }       {   A   r   g   s       N   E   W
0006100    C   U   R   S   O   R       {   a   n   o   n   a   r   g   }
0006120    }  \r   {   T   e   x   t  \r   R   e   t   u   r   n   s    
0006140    a       {   l   i   s   p       C   U   R   S   O   R   }    
0006160    r   e   c   o   r   d       i   n   s   t   a   n   c   e    
0006200    t   h   a   t       c   o   n   t   a   i   n   s       (   a
0006220        c   o   p   y       o   f   )       t   h   e       c   u
0006240    r   r   e   n   t       c   u   r   s   o   r       s   p   e
0006260    c   i   f   i   c   a   t   i   o   n   .           I   f    
0006300    {   a   r   g       N   E   W   C   U   R   S   O   R   }    
0006320    i   s       a       {   l   i   s   p       C   U   R   S   O
0006340    R   }       r   e   c   o   r   d       i   n   s   t   a   n
0006360    c   e   ,       t   h   e       c   u   r   s   o   r       w
0006400    i   l   l       b   e       s   e   t       t   o       t   h
0006420    e       v   a   l   u   e   s       i   n       {   a   r   g
0006440        N   E   W   C   U   R   S   O   R   }   .           I   f
0006460        {   a   r   g       N   E   W   C   U   R   S   O   R   }
0006500        i   s       {   l   i   s   p       T   }   ,       t   h
0006520    e       c   u   r   s   o   r       w   i   l   l       b   e
0006540        s   e   t       t   o       t   h   e       d   e   f   a
0006560    u   l   t       c   u   r   s   o   r       {   v   a   r    
0006600    D   E   F   A   U   L   T   C   U   R   S   O   R   }   ,   {
0006620    i   n   d   e   x       *   P   R   I   M   A   R   Y   *    
0006640    D   E   F   A   U   L   T   C   U   R   S   O   R       V   a
0006660    r   }       a   n       u   p   w   a   r   d       l   e   f
0006700    t       p   o   i   n   t   i   n   g       a   r   r   o   w
0006720    :      \0 001  \0  \0  \0  \b  \0 020  \0 001 200  \0 300  \0
0006740  340  \0 360  \0 370  \0 374  \0 376  \0 360  \0 330  \0 230  \0
0006760   \f  \0  \f  \0 006  \0 006  \0 003  \0 003  \0   .  \r   }   }
0007000   \r  \r  \r   {   F   n   D   e   f       {   N   a   m   e    
0007020    S   E   T   C   U   R   S   O   R   }       {   A   r   g   s
0007040        N   E   W   C   U   R   S   O   R       {   a   n   o   n
0007060    a   r   g   }   }  \r   {   T   e   x   t  \r   I   f       {
0007100    a   r   g       N   E   W   C   U   R   S   O   R   }       i
0007120    s       a       {   l   i   s   p       C   U   R   S   O   R
0007140    }       r   e   c   o   r   d       i   n   s   t   a   n   c
0007160    e   ,       t   h   e       c   u   r   s   o   r       w   i
0007200    l   l       b   e       s   e   t       t   o       t   h   e
0007220        v   a   l   u   e   s       i   n       {   a   r   g    
0007240    N   E   W   C   U   R   S   O   R   }   .           T   h   i
0007260    s       d   o   e   s       n   o   t       r   e   t   u   r
0007300    n       t   h   e       o   l   d       c   u   r   s   o   r
0007320    ,       a   n   d       t   h   e   r   e   f   o   r   e   ,
0007340        p   r   o   v   i   d   e   s       a       w   a   y    
0007360    o   f       c   h   a   n   g   i   n   g       t   h   e    
0007400    c   u   r   s   o   r       w   i   t   h   o   u   t       u
0007420    s   i   n   g       s   t   o   r   a   g   e   .  \r   }   }
0007440   \r  \r  \r   {   F   n   D   e   f       {   N   a   m   e    
0007460    F   L   I   P   C   U   R   S   O   R   }       {   A   r   g
0007500    s   }  \r   {   T   e   x   t  \r   I   n   v   e   r   t   s
0007520        t   h   e       c   u   r   s   o   r   .  \r   }   }  \r
0007540   \r  \r  \r   T   h   e       f   o   l   l   o   w   i   n   g
0007560        l   i   s   t       d   e   s   c   r   i   b   e   s    
0007600    t   h   e       c   u   r   s   o   r   s       u   s   e   d
0007620        b   y       t   h   e       I   n   t   e   r   l   i   s
0007640    p   -   D       s   y   s   t   e   m   .           M   o   s
0007660    t       o   f       t   h   e   m       a   r   e       s   t
0007700    o   r   e   d       a   s       t   h   e       v   a   l   u
0007720    e   s       o   f       v   a   r   i   o   u   s       v   a
0007740    r   i   a   b   l   e   s   .  \r  \r   {   B   e   g   i   n
0007760        L   a   b   e   l   e   d   L   i   s   t       N   a   m
0010000    e   d       c   u   r   s   o   r   s   }  \r  \r   {   L   a
0010020    b   e   l      \0 001  \0  \0  \0  \b  \0 020  \0 001 200  \0
0010040  300  \0 340  \0 360  \0 370  \0 374  \0 376  \0 360  \0 330  \0
0010060  230  \0  \f  \0  \f  \0 006  \0 006  \0 003  \0 003  \0   }  \r
0010100    {   T   e   x   t  \r   I   n       v   a   r   i   a   b   l
0010120    e       {   v   a   r       D   E   F   A   U   L   T   C   U
0010140    R   S   O   R   }   .   {   i   n   d   e   x       D   E   F
0010160    A   U   L   T   C   U   R   S   O   R       V   a   r   }    
0010200        T   h   i   s       i   s       t   h   e       d   e   f
0010220    a   u   l   t       c   u   r   s   o   r   .  \r   }  \r  \r
0010240    {   L   a   b   e   l      \0 001  \0  \0  \0 017  \0 020  \0
0010260  001 377 376 300 006   ` 034   =   x 037 360 017 340 006 300 003
0010300  200 002 200 006 300  \r   ` 031   0   7 330   g 354 377 376 377
0010320  376   }  \r   {   T   e   x   t  \r   I   n       v   a   r   i
0010340    a   b   l   e       {   v   a   r       W   A   I   T   I   N
0010360    G   C   U   R   S   O   R   }   .   {   i   n   d   e   x    
0010400    *   P   R   I   M   A   R   Y   *       W   A   I   T   I   N
0010420    G   C   U   R   S   O   R       V   a   r   }           R   e
0010440    p   r   e   s   e   n   t   s       a   n       h   o   u   r
0010460    g   l   a   s   s   .           U   s   e   d       d   u   r
0010500    i   n   g       l   o   n   g       c   o   m   p   u   t   a
0010520    t   i   o   n   s   .  \r   }  \r  \r   {   L   a   b   e   l
0010540       \0 001  \0  \0  \0  \r  \0 020  \0 001 377 370 200  \b 271
0010560    ( 271   ( 271   ( 271   ( 271   ( 271   ( 271   ( 200  \b 200
0010600   \b 200  \b 200  \b 200  \b 200  \b 377 370   }  \r   {   T   e
0010620    x   t  \r   I   n       v   a   r   i   a   b   l   e       {
0010640    v   a   r       M   O   U   S   E   C   O   N   F   I   R   M
0010660    C   U   R   S   O   R   }   .   {   i   n   d   e   x       M
0010700    O   U   S   E   C   O   N   F   I   R   M   C   U   R   S   O
0010720    R       V   a   r   }           I   n   d   i   c   a   t   e
0010740    s       t   h   a   t       t   h   e       s   y   s   t   e
0010760    m       i   s       w   a   i   t   i   n   g       f   o   r
0011000        t   h   e       u   s   e   r       t   o       c   o   n
0011020    f   i   r   m       a   n       a   c   t   i   o   n       b
0011040    y       p   r   e   s   s   i   n   g       t   h   e       l
0011060    e   f   t       m   o   u   s   e       b   u   t   t   o   n
0011100    ,       o   r       a   b   o   r   t   i   n   g       t   h
0011120    e       a   c   t   i   o   n       b   y       p   r   e   s
0011140    s   i   n   g       a   n   y       o   t   h   e   r       b
0011160    u   t   t   o   n   .           U   s   e   d       b   y    
0011200    t   h   e       f   u   n   c   t   i   o   n       {   f   n
0011220        M   O   U   S   E   C   O   N   F   I   R   M   }       (
0011240    {   P   a   g   e   R   e   f       F   n       M   O   U   S
0011260    E   C   O   N   F   I   R   M   }   )   .  \r   }  \r  \r   {
0011300    L   a   b   e   l      \0 001  \0  \0  \0 016  \0 016  \0 001
0011320    t 234 202 240   a 030 021 004 222   $   b 030  \0  \0  \0  \0
0011340    2   \   J   H   J   H   J   H   J   H   1 210   }  \r   {   T
0011360    e   x   t  \r   I   n       v   a   r   i   a   b   l   e    
0011400    {   v   a   r       S   Y   S   O   U   T   C   U   R   S   O
0011420    R   }   .   {   i   n   d   e   x       S   Y   S   O   U   T
0011440    C   U   R   S   O   R       V   a   r   }           I   n   d
0011460    i   c   a   t   e   s       t   h   a   t       t   h   e    
0011500    s   y   s   t   e   m       i   s       s   a   v   i   n   g
0011520        t   h   e       v   i   r   t   u   a   l       m   e   m
0011540    o   r   y       i   n       a       s   y   s   o   u   t    
0011560    f   i   l   e   .           S   e   e       {   f   n       S
0011600    Y   S   O   U   T   }   ,       {   P   a   g   e   R   e   f
0011620        F   n       S   Y   S   O   U   T   }   .  \r   }  \r  \r
0011640    {   L   a   b   e   l      \0 001  \0  \0  \0 017  \0  \r  \0
0011660  001   d 240 212 240 312 240   . 254 252   @ 312   @  \0  \0  \n
0011700    N  \v   R  \v   P  \n 326  \n 322  \n   \   }  \r   {   T   e
0011720    x   t  \r   I   n       v   a   r   i   a   b   l   e       {
0011740    v   a   r       S   A   V   I   N   G   C   U   R   S   O   R
0011760    }   .   {   i   n   d   e   x       S   A   V   I   N   G   C
0012000    U   R   S   O   R       V   a   r   }                   I   n
0012020    d   i   c   a   t   e   s       t   h   a   t       {   f   n
0012040        S   A   V   E   V   M   }       h   a   s       b   e   e
0012060    n       c   a   l   l   e   d       a   u   t   o   m   a   t
0012100    i   c   a   l   l   y       t   o       s   a   v   e       t
0012120    h   e       v   i   r   t   u   a   l       m   e   m   o   r
0012140    y       s   t   a   t   e       a   f   t   e   r       t   h
0012160    e       s   y   s   t   e   m       i   s       i   d   l   e
0012200        f   o   r       l   o   n   g       e   n   o   u   g   h
0012220    .           S   e   e       {   v   a   r       S   A   V   E
0012240    V   M   W   A   I   T   }   ,       {   P   a   g   e   R   e
0012260    f       V   a   r       S   A   V   E   V   M   W   A   I   T
0012300    }   .  \r   }  \r  \r   {   L   a   b   e   l      \0 001  \0
0012320   \0  \0 017  \0 017  \0 001  \a 300 035   p   1 030   a  \f   A
0012340  004 301 006 201 002 377 376 201 002 301 006   A 004   a  \f   1
0012360  030 035   p  \a 300   }  \r   {   T   e   x   t  \r   I   n    
0012400    v   a   r   i   a   b   l   e       {   v   a   r       C   R
0012420    O   S   S   H   A   I   R   S   }   .   {   i   n   d   e   x
0012440        C   R   O   S   S   H   A   I   R   S       V   a   r   }
0012460                    U   s   e   d       b   y       {   f   n    
0012500    G   E   T   P   O   S   I   T   I   O   N   }       (   {   P
0012520    a   g   e   R   e   f       F   n       G   E   T   P   O   S
0012540    I   T   I   O   N   }   )       t   o       i   n   d   i   c
0012560    a   t   e       a       p   o   s   i   t   i   o   n   .  \r
0012600    }  \r  \r   {   L   a   b   e   l      \0 001  \0  \0  \0  \f
0012620   \0  \f  \0 001 377 360 377 360 300   0 300   0 300   0 300   0
0012640  300   0 300   0 300   0 300   0 377 360 377 360   }  \r   {   T
0012660    e   x   t  \r   I   n       v   a   r   i   a   b   l   e    
0012700    {   v   a   r       B   O   X   C   U   R   S   O   R   }   .
0012720    {   i   n   d   e   x       B   O   X   C   U   R   S   O   R
0012740        V   a   r   }                   U   s   e   d       b   y
0012760        {   f   n       G   E   T   B   O   X   P   O   S   I   T
0013000    I   O   N   }       (   {   P   a   g   e   R   e   f       F
0013020    n       G   E   T   B   O   X   P   O   S   I   T   I   O   N
0013040    }   )       t   o       i   n   d   i   c   a   t   e       w
0013060    h   e   r   e       t   o       p   l   a   c   e       t   h
0013100    e       c   o   r   n   e   r       o   f       a       b   o
0013120    x   .  \r   }  \r  \r  \r   {   L   a   b   e   l      \0 001
0013140   \0  \0  \0  \f  \0 020  \0 001   9 300   )   @   9 300 020 200
0013160  031 200 017  \0 006  \0 006  \0 017  \0 031 200   p 340 220 220
0013200  220 220 220 220 220 220   `   `   }  \r   {   T   e   x   t  \r
0013220    I   n       v   a   r   i   a   b   l   e       {   v   a   r
0013240        F   O   R   C   E   P   S   }   .   {   i   n   d   e   x
0013260        F   O   R   C   E   P   S       V   a   r   }            
0013300        U   s   e   d       b   y       {   f   n       G   E   T
0013320    R   E   G   I   O   N   }       (   {   P   a   g   e   R   e
0013340    f       F   n       G   E   T   R   E   G   I   O   N   }   )
0013360        w   h   e   n       t   h   e       u   s   e   r       s
0013400    w   i   t   c   h   e   s       c   o   r   n   e   r   s   .
0013420   \r   }  \r  \r  \r   {   L   a   b   e   l      \0 001  \0  \0
0013440   \0 020  \0 016  \0 001 200  \0 300  \0 340  \0 360  \0 370 347
0013460  374 303 376 275 360   $ 330   $ 230 275  \f 303  \f 347 006  \0
0013500  006  \0   }  \r   {   T   e   x   t  \r   I   n       v   a   r
0013520    i   a   b   l   e       {   v   a   r       E   X   P   A   N
0013540    D   I   N   G   B   O   X   }   .   {   i   n   d   e   x    
0013560    E   X   P   A   N   D   I   N   G   B   O   X       V   a   r
0013600    }                   U   s   e   d       b   y       {   f   n
0013620        G   E   T   R   E   G   I   O   N   }       (   {   P   a
0013640    g   e   R   e   f       F   n       G   E   T   R   E   G   I
0013660    O   N   }   )       w   h   e   n       a       b   o   x    
0013700    i   s       f   i   r   s   t       d   i   s   p   l   a   y
0013720    e   d   .  \r   }  \r  \r  \r   {   L   a   b   e   l      \0
0013740  001  \0  \0  \0  \n  \0  \v  \0 001 377 300 177 300  \0 300  \0
0013760  300  \0 300  \0 300  \0 300  \0 300  \0 300  \0 300  \0   @   }
0014000   \r   {   T   e   x   t  \r   I   n       v   a   r   i   a   b
0014020    l   e       {   v   a   r       U   p   p   e   r   R   i   g
0014040    h   t   C   u   r   s   o   r   }   .   {   i   n   d   e   x
0014060        U   p   p   e   r   R   i   g   h   t   C   u   r   s   o
0014100    r       V   a   r   }  \r   }  \r  \r   {   L   a   b   e   l
0014120       \0 001  \0  \0  \0  \v  \0  \v  \0 001  \0      \0   `  \0
0014140    `  \0   `  \0   `  \0   `  \0   `  \0   `  \0   ` 177 340 377
0014160  340   }  \r   {   T   e   x   t  \r   I   n       v   a   r   i
0014200    a   b   l   e       {   v   a   r       L   o   w   e   r   R
0014220    i   g   h   t   C   u   r   s   o   r   }   .   {   i   n   d
0014240    e   x       L   o   w   e   r   R   i   g   h   t   C   u   r
0014260    s   o   r       V   a   r   }  \r   }  \r   {   L   a   b   e
0014300    l      \0 001  \0  \0  \0  \n  \0  \v  \0 001 377 300 377 200
0014320  300  \0 300  \0 300  \0 300  \0 300  \0 300  \0 300  \0 300  \0
0014340  200  \0   }  \r   {   T   e   x   t  \r   I   n       v   a   r
0014360    i   a   b   l   e       {   v   a   r       U   p   p   e   r
0014400    L   e   f   t   C   u   r   s   o   r   }   .   {   i   n   d
0014420    e   x       U   p   p   e   r   L   e   f   t   C   u   r   s
0014440    o   r       V   a   r   }  \r   }  \r  \r   {   L   a   b   e
0014460    l      \0 001  \0  \0  \0  \v  \0  \v  \0 001 200  \0 300  \0
0014500  300  \0 300  \0 300  \0 300  \0 300  \0 300  \0 300  \0 377 300
0014520  377 340   }  \r   {   T   e   x   t  \r   I   n       v   a   r
0014540    i   a   b   l   e       {   v   a   r       L   o   w   e   r
0014560    L   e   f   t   C   u   r   s   o   r   }   .   {   i   n   d
0014600    e   x       L   o   w   e   r   L   e   f   t   C   u   r   s
0014620    o   r       V   a   r   }  \r   }  \r      \r   {   U   n   i
0014640    n   d   e   n   t  \r   T   h   e       p   r   e   v   i   o
0014660    u   s       f   o   u   r       c   u   r   s   o   r   s    
0014700    a   r   e       u   s   e   d       b   y       {   f   n    
0014720    G   E   T   R   E   G   I   O   N   }       (   {   P   a   g
0014740    e   R   e   f       F   n       G   E   T   R   E   G   I   O
0014760    N   }   )       t   o       i   n   d   i   c   a   t   e    
0015000    t   h   e       f   o   u   r       c   o   r   n   e   r   s
0015020        o   f       a       r   e   g   i   o   n   .  \r   }  \r
0015040   \r  \r   {   L   a   b   e   l      \0 001  \0  \0  \0  \r  \0
0015060   \r  \0 001 370  \0  \0  \0 377  \0  \0  \0 377 340  \0  \0 377
0015100  370  \0  \0 377 340  \0  \0 377  \0  \0  \0 370  \0   }  \r   {
0015120    T   e   x   t  \r   I   n       v   a   r   i   a   b   l   e
0015140        {   v   a   r       V   e   r   t   T   h   u   m   b   C
0015160    u   r   s   o   r   }   .   {   i   n   d   e   x       V   e
0015200    r   t   T   h   u   m   b   C   u   r   s   o   r       V   a
0015220    r   }           U   s   e   d       d   u   r   i   n   g    
0015240    s   c   r   o   l   l   i   n   g       t   o       i   n   d
0015260    i   c   a   t   e       t   h   u   m   b   i   n   g       i
0015300    n       a       v   e   r   t   i   c   a   l       s   c   r
0015320    o   l   l       b   a   r   .  \r   }  \r  \r   {   L   a   b
0015340    e   l      \0 001  \0  \0  \0  \a  \0 020  \0 001 020  \0   8
0015360   \0   8  \0   |  \0   |  \0 376  \0   8  \0   8  \0   8  \0   8
0015400   \0 376  \0   |  \0   |  \0   8  \0   8  \0 020  \0   }  \r   {
0015420    T   e   x   t  \r   I   n       v   a   r   i   a   b   l   e
0015440        {   v   a   r       V   e   r   t   S   c   r   o   l   l
0015460    C   u   r   s   o   r   }   .   {   i   n   d   e   x       V
0015500    e   r   t   S   c   r   o   l   l   C   u   r   s   o   r    
0015520    V   a   r   }  \r   }  \r  \r  \r   {   L   a   b   e   l    
0015540   \0 001  \0  \0  \0  \t  \0 020  \0 001  \b  \0 034  \0 034  \0
0015560    >  \0   >  \0 177  \0 177  \0 377 200 377 200 034  \0 034  \0
0015600  034  \0 034  \0 034  \0 034  \0 034  \0   }  \r   {   T   e   x
0015620    t  \r   I   n       v   a   r   i   a   b   l   e       {   v
0015640    a   r       S   c   r   o   l   l   U   p   C   u   r   s   o
0015660    r   }   .   {   i   n   d   e   x       S   c   r   o   l   l
0015700    U   p   C   u   r   s   o   r       V   a   r   }  \r   }  \r
0015720   \r      \r   {   L   a   b   e   l      \0 001  \0  \0  \0  \t
0015740   \0 020  \0 001 034  \0 034  \0 034  \0 034  \0 034  \0 034  \0
0015760  034  \0 377 200 377 200 177  \0 177  \0   >  \0   >  \0 034  \0
0016000  034  \0  \b  \0   }  \r   {   T   e   x   t  \r   I   n       v
0016020    a   r   i   a   b   l   e       {   v   a   r       S   c   r
0016040    o   l   l   D   o   w   n   C   u   r   s   o   r   }   .   {
0016060    i   n   d   e   x       S   c   r   o   l   l   D   o   w   n
0016100    C   u   r   s   o   r       V   a   r   }  \r   }  \r  \r   {
0016120    U   n   i   n   d   e   n   t  \r   T   h   e       p   r   e
0016140    v   i   o   u   s       f   o   u   r       c   u   r   s   o
0016160    r   s       a   r   e       u   s   e   d       b   y       {
0016200    f   n       S   C   R   O   L   L   .   H   A   N   D   L   E
0016220    R   }       (   {   P   a   g   e   R   e   f       F   n    
0016240    S   C   R   O   L   L   .   H   A   N   D   L   E   R   }   )
0016260        d   u   r   i   n   g       v   e   r   t   i   c   a   l
0016300        s   c   r   o   l   l   i   n   g   .  \r   }  \r  \r  \r
0016320    {   L   a   b   e   l      \0 001  \0  \0  \0  \r  \0  \r  \0
0016340  001 002  \0 002  \0  \n 200  \n 200  \n 200   * 240   * 240   *
0016360  240 252 250 252 250 252 250 252 250 252 250   }  \r   {   T   e
0016400    x   t  \r   I   n       v   a   r   i   a   b   l   e       {
0016420    v   a   r       H   o   r   i   z   T   h   u   m   b   C   u
0016440    r   s   o   r   }   .   {   i   n   d   e   x       H   o   r
0016460    i   z   T   h   u   m   b   C   u   r   s   o   r       V   a
0016500    r   }           U   s   e   d       d   u   r   i   n   g    
0016520    s   c   r   o   l   l   i   n   g       t   o       i   n   d
0016540    i   c   a   t   e       t   h   u   m   b   i   n   g       i
0016560    n       a       h   o   r   i   z   o   n   t   a   l       s
0016600    c   r   o   l   l       b   a   r   .  \r   }  \r  \r   {   L
0016620    a   b   e   l      \0 001  \0  \0  \0 017  \0  \n  \0 001  \b
0016640      030   0   8   8   x   < 377 376 377 376   x   <   8   8 030
0016660    0  \b       }  \r   {   T   e   x   t  \r   I   n       v   a
0016700    r   i   a   b   l   e       {   v   a   r       H   o   r   i
0016720    z   S   c   r   o   l   l   C   u   r   s   o   r   }   .   {
0016740    i   n   d   e   x       H   o   r   i   z   S   c   r   o   l
0016760    l   C   u   r   s   o   r       V   a   r   }  \r   }  \r  \r
0017000    {   L   a   b   e   l      \0 001  \0  \0  \0 020  \0  \n  \0
0017020  001  \0 200 003 200 017 200   ? 200 377 377 377 377   ? 200 017
0017040  200 003 200  \0 200   }  \r   {   T   e   x   t  \r   I   n    
0017060    v   a   r   i   a   b   l   e       {   v   a   r       S   c
0017100    r   o   l   l   L   e   f   t   C   u   r   s   o   r   }   .
0017120    {   i   n   d   e   x       S   c   r   o   l   l   L   e   f
0017140    t   C   u   r   s   o   r       V   a   r   }  \r   }  \r  \r
0017160    {   L   a   b   e   l      \0 001  \0  \0  \0 020  \0  \n  \0
0017200  001 001  \0 001 300 001 360 001 374 377 377 377 377 001 374 001
0017220  360 001 300 001  \0   }  \r   {   T   e   x   t  \r   I   n    
0017240    v   a   r   i   a   b   l   e       {   v   a   r       S   c
0017260    r   o   l   l   R   i   g   h   t   C   u   r   s   o   r   }
0017300    .   {   i   n   d   e   x       S   c   r   o   l   l   R   i
0017320    g   h   t   C   u   r   s   o   r       V   a   r   }  \r   }
0017340   \r  \r   {   U   n   i   n   d   e   n   t  \r   T   h   e    
0017360    p   r   e   v   i   o   u   s       f   o   u   r       c   u
0017400    r   s   o   r   s       a   r   e       u   s   e   d       b
0017420    y       {   f   n       S   C   R   O   L   L   .   H   A   N
0017440    D   L   E   R   }       (   {   P   a   g   e   R   e   f    
0017460    F   n       S   C   R   O   L   L   .   H   A   N   D   L   E
0017500    R   }   )       d   u   r   i   n   g       h   o   r   i   z
0017520    o   n   t   a   l       s   c   r   o   l   l   i   n   g   .
0017540   \r   }  \r  \r  \r   {   L   a   b   e   l      \0 001  \0  \0
0017560   \0 020  \0 017  \0 001 340  \0   N 216   H 210   N 216   H 210
0017600    N 356  \0  \0  \0  \0  \0  \0 340  \0 223   v 225   % 347   %
0017620  245   % 225   v   ,      \0 001  \0  \0  \0  \f  \0  \b  \0 001
0017640  001 340 001 020   ! 020   q 020 251 020   ! 020   ! 020   ! 340
0017660    ,      \0 001  \0  \0  \0  \f  \0  \b  \0 001 001 020 001 220
0017700    ! 220   q   P 251   P   !   0   !   0   ! 020   ,      \0 001
0017720   \0  \0  \0 017  \0  \a  \0 001   d   \ 226 322 207 322 205   R
0017740  205   R 224   R   d   \   }  \r   {   L   a   b   e   l      \0
0017760  001  \0  \0  \0 020  \0  \a  \0 001  \0     340 001 223   ' 344
0020000  251 223 251 224 251 227   w   ,      \0 001  \0  \0  \0 020  \0
0020020   \a  \0 001 360 020 210 020 212 322 363 024 212 034 212 022 362
0020040  021   ,      \0 001  \0  \0  \0 020  \0 016  \0 001   x   @ 204
0020060  240 200 240 201 020 205 360   z  \b  \0  \0  \0  \0   B 337   b
0020100    D   R 204   J 004   F 004   B 004   }  \r   {   T   e   x   t
0020120   \r   T   h   e   s   e       c   u   r   s   o   r   s       a
0020140    r   e       u   s   e   d       b   y       t   h   e       T
0020160    e   l   e   r   a   i   d       l   o   w   -   l   e   v   e
0020200    l       d   e   b   u   g   g   e   r   .           T   h   e
0020220    s   e       c   u   r   s   o   r   s       a   r   e       n
0020240    o   t       a   c   c   e   s   s   a   b   l   e       a   s
0020260        s   t   a   n   d   a   r   d       I   n   t   e   r   l
0020300    i   s   p   -   D       c   u   r   s   o   r   s   .  \r   }
0020320   \r  \r   {   E   n   d       L   a   b   e   l   e   d   L   i
0020340    s   t       N   a   m   e   d       c   u   r   s   o   r   s
0020360    }  \r  \r  \r  \r   }   {   E   n   d       S   u   b   S   e
0020400    c       C   h   a   n   g   i   n   g       t   h   e       C
0020420    u   r   s   o   r       I   m   a   g   e   }  \r  \r  \r  \r
0020440   \r   {   B   e   g   i   n       S   u   b   S   e   c       F
0020460    l   a   s   h   i   n   g       B   a   r   s       o   n    
0020500    t   h   e       C   u   r   s   o   r   }  \r   {   T   i   t
0020520    l   e       F   l   a   s   h   i   n   g       B   a   r   s
0020540        o   n       t   h   e       C   u   r   s   o   r   }  \r
0020560    {   T   e   x   t  \r  \r   {   i   n   d   e   x       *   P
0020600    R   I   M   A   R   Y   *       F   l   a   s   h   i   n   g
0020620        b   a   r   s       o   n       c   u   r   s   o   r   }
0020640   \r   {   i   n   d   e   x       *   P   R   I   M   A   R   Y
0020660    *       B   a   r   s       o   n       c   u   r   s   o   r
0020700    }  \r   {   i   n   d   e   x       *   P   R   I   M   A   R
0020720    Y   *       I   n   v   e   r   t   e   d       c   u   r   s
0020740    o   r   }  \r  \r   T   h   e       l   o   w   -   l   e   v
0020760    e   l       I   n   t   e   r   l   i   s   p   -   D       s
0021000    y   s   t   e   m       u   s   e   s       t   h   e       c
0021020    u   r   s   o   r       t   o       d   i   s   p   l   a   y
0021040        c   e   r   t   a   i   n       s   y   s   t   e   m    
0021060    s   t   a   t   u   s       i   n   f   o   r   m   a   t   i
0021100    o   n   ,       s   u   c   h       a   s       g   a   r   b
0021120    a   g   e       c   o   l   l   e   c   t   i   o   n       o
0021140    r       s   w   a   p   p   i   n   g   .           T   h   i
0021160    s       i   s       d   o   n   e       b   e   c   a   u   s
0021200    e       c   h   a   n   g   i   n   g       t   h   e       c
0021220    u   r   s   o   r       i   m   a   g   e       i   s       v
0021240    e   r   y       q   u   i   c   k   ,       a   n   d       d
0021260    o   e   s       n   o   t       r   e   q   u   i   r   e    
0021300    i   n   t   e   r   a   c   t   i   n   g       w   i   t   h
0021320        t   h   e       w   i   n   d   o   w       s   y   s   t
0021340    e   m   .                   I   n   t   e   r   l   i   s   p
0021360        i   n   v   e   r   t   s       h   o   r   i   z   o   n
0021400    t   a   l       b   a   r   s       o   n       t   h   e    
0021420    c   u   r   s   o   r       w   h   e   n       t   h   e    
0021440    s   y   s   t   e   m       i   s       s   w   a   p   p   i
0021460    n   g       p   a   g   e   s   ,       o   r       d   o   i
0021500    n   g       c   e   r   t   a   i   n       s   t   a   c   k
0021520        o   p   e   r   a   t   i   o   n   s   .           N   o
0021540    r   m   a   l   l   y   ,       t   h   e   s   e       b   a
0021560    r   s       a   r   e       o   n   l   y       i   n   v   e
0021600    r   t   e   d       f   o   r       a       v   e   r   y    
0021620    s   h   o   r   t       t   i   m   e   ,       s   o       t
0021640    h   e   y       l   o   o   k       l   i   k   e       t   h
0021660    e   y       a   r   e       f   l   a   s   h   i   n   g   .
0021700            T   h   e   s   e       c   u   r   s   o   r       c
0021720    h   a   n   g   e   s       a   r   e       i   n   t   e   r
0021740    p   r   e   t   e   d       a   s       f   o   l   l   o   w
0021760    s   :  \r  \r   {   B   e   g   i   n       L   a   b   e   l
0022000    e   d   L   i   s   t       F   l   a   s   h   i   n   g    
0022020    b   a   r   s       o   n       c   u   r   s   o   r   }  \r
0022040   \r   {   L   a   b   e   l       I   n   v   e   r   t   e   d
0022060        c   u   r   s   o   r   :      \0 001  \0  \0  \0 020  \0
0022100  020  \0 001 177 377   ? 377 037 377 017 377  \a 377 003 377 003
0022120  377 017 377   ' 377   g 377 363 377 363 377 371 377 371 377 374
0022140  377 374 377   }  \r   {   T   e   x   t  \r   W   h   a   t   e
0022160    v   e   r       i   m   a   g   e       i   s       b   e   i
0022200    n   g       d   i   s   p   l   a   y   e   d       a   s    
0022220    t   h   e       c   u   r   s   o   r   ,       w   h   e   n
0022240    e   v   e   r       I   n   t   e   r   l   i   s   p       d
0022260    o   e   s       a       g   a   r   b   a   g   e       c   o
0022300    l   l   e   c   t   i   o   n   ,       t   h   e       w   h
0022320    o   l   e       c   u   r   s   o   r       i   s       i   n
0022340    v   e   r   t   e   d   .  \r   }  \r  \r   {   L   a   b   e
0022360    l       T   o   p       b   a   r   :      \0 001  \0  \0  \0
0022400  020  \0 020  \0 001 177 377 300  \0 340  \0 360  \0 370  \0 374
0022420   \0 374  \0 360  \0 330  \0 230  \0  \f  \0  \f  \0 006  \0 006
0022440   \0 003  \0 003  \0   }  \r   {   T   e   x   t  \r   S   w   a
0022460    p       r   e   a   d   .           O   n       w   h   e   n
0022500        I   n   t   e   r   l   i   s   p       i   s       s   w
0022520    a   p   p   i   n   g       i   n       a       p   a   g   e
0022540        f   r   o   m       t   h   e       v   i   r   t   u   a
0022560    l       m   e   m   o   r   y       f   i   l   e       i   n
0022600    t   o       t   h   e       r   e   a   l       m   e   m   o
0022620    r   y   .           I   t       i   s       a   l   s   o    
0022640    o   n       w   h   e   n       I   n   t   e   r   l   i   s
0022660    p       a   l   l   o   c   a   t   e   s       a       n   e
0022700    w       v   i   r   t   u   a   l       m   e   m   o   r   y
0022720        p   a   g   e   ,       e   v   e   n       t   h   o   u
0022740    g   h       t   h   a   t       d   o   e   s   n   '   t    
0022760    i   n   v   o   l   v   e       a       d   i   s   k       r
0023000    e   a   d   .           I   f       t   h   i   s       i   s
0023020        f   l   a   s   h   i   n   g       a       l   o   t   ,
0023040        t   h   e       s   y   s   t   e   m       i   s       d
0023060    o   i   n   g       a       l   o   t       o   f       s   w
0023100    a   p   p   i   n   g   .           T   h   i   s       i   s
0023120        a   n       i   n   d   i   c   a   t   i   o   n       t
0023140    h   a   t       t   h   e       v   i   r   t   u   a   l    
0023160    m   e   m   o   r   y       w   o   r   k   i   n   g       s
0023200    e   t       i   s       f   r   a   g   m   e   n   t   e   d
0023220        (   s   e   e       {   P   a   g   e   R   e   f       T
0023240    e   r   m       W   o   r   k   i   n   g       S   e   t   }
0023260    )   .           P   e   r   f   o   r   m   a   n   c   e    
0023300    m   a   y       b   e       i   m   p   r   o   v   e   d    
0023320    b   y       r   e   l   o   a   d   i   n   g       a       c
0023340    l   e   a   n       I   n   t   e   r   l   i   s   p       s
0023360    y   s   t   e   m   .  \r   }  \r  \r   {   L   a   b   e   l
0023400        U   p   p   e   r       m   i   d   d   l   e       b   a
0023420    r   :      \0 001  \0  \0  \0 020  \0 020  \0 001 200  \0 300
0023440   \0 340  \0 360  \0 370  \0 374  \0 003 377 360  \0 330  \0 230
0023460   \0  \f  \0  \f  \0 006  \0 006  \0 003  \0 003  \0   }  \r   {
0023500    T   e   x   t  \r   S   t   a   c   k       o   p   e   r   a
0023520    t   i   o   n   s   .           I   f       t   h   i   s    
0023540    i   s       f   l   a   s   h   i   n   g       a       l   o
0023560    t   ,       i   t       s   u   g   g   e   s   t   s       t
0023600    h   a   t       s   o   m   e       p   r   o   c   e   s   s
0023620        i   s       n   e   g   l   e   c   t   i   n   g       t
0023640    o       r   e   l   e   a   s   e       s   t   a   c   k    
0023660    p   o   i   n   t   e   r   s       i   n       a       t   i
0023700    m   e   l   y       f   a   s   h   i   o   n       (   s   e
0023720    e       {   P   a   g   e   R   e   f       T   e   r   m    
0023740    R   e   l   e   a   s   i   n   g       S   t   a   c   k    
0023760    P   o   i   n   t   e   r   s   }   )   .  \r   }  \r  \r   {
0024000    L   a   b   e   l       L   o   w   e   r   e   l   e   r    
0024020    m   i   d   d   l   e       b   a   r   :      \0 001  \0  \0
0024040   \0 020  \0 020  \0 001 200  \0 300  \0 340  \0 360  \0 370  \0
0024060  374  \0 374  \0 360  \0 330  \0   g 377  \f  \0  \f  \0 006  \0
0024100  006  \0 003  \0 003  \0   }  \r   {   T   e   x   t  \r   S   t
0024120    a   c   k       o   p   e   r   a   t   i   o   n   s   .    
0024140        O   n       w   h   e   n       I   n   t   e   r   l   i
0024160    s   p       i   s       m   o   v   i   n   g       f   r   a
0024200    m   e   s       o   n       t   h   e       s   t   a   c   k
0024220    .           I   f       t   h   e       s   y   s   t   e   m
0024240        i   s       s   l   o   w   ,       a   n   d       t   h
0024260    i   s       i   s       f   l   a   s   h   i   n   g       a
0024300        l   o   t   ,       {   f   n       H   A   R   D   R   E
0024320    S   E   T   }       (   {   P   a   g   e   R   e   f       F
0024340    n       H   A   R   D   R   E   S   E   T   }   )       s   o
0024360    m   e   t   i   m   e   s       h   e   l   p   s   .  \r   }
0024400   \r  \r   {   L   a   b   e   l       B   o   t   t   o   m    
0024420    b   a   r   :      \0 001  \0  \0  \0 020  \0 020  \0 001 200
0024440   \0 300  \0 340  \0 360  \0 370  \0 374  \0 374  \0 360  \0 330
0024460   \0 230  \0  \f  \0  \f  \0 006  \0 006  \0 003  \0 374 377   }
0024500   \r   {   T   e   x   t  \r   S   w   a   p       w   r   i   t
0024520    e   .           O   n       w   h   e   n       I   n   t   e
0024540    r   l   i   s   p       w   r   i   t   e   s       a       d
0024560    i   r   t   y       v   i   r   t   u   a   l       m   e   m
0024600    o   r   y       p   a   g   e       f   r   o   m       t   h
0024620    e       r   e   a   l       m   e   m   o   r   y       b   a
0024640    c   k       i   n   t   o       t   h   e       v   i   r   t
0024660    u   a   l       m   e   m   o   r   y       f   i   l   e   .
0024700   \r   }  \r  \r   {   E   n   d       L   a   b   e   l   e   d
0024720    L   i   s   t       F   l   a   s   h   i   n   g       b   a
0024740    r   s       o   n       c   u   r   s   o   r   }  \r  \r  \r
0024760   \r   }   {   E   n   d       S   u   b   S   e   c       F   l
0025000    a   s   h   i   n   g       B   a   r   s       o   n       t
0025020    h   e       C   u   r   s   o   r   }  \r  \r  \r   {   B   e
0025040    g   i   n       S   u   b   S   e   c       C   u   r   s   o
0025060    r       P   o   s   i   t   i   o   n   }  \r   {   T   i   t
0025100    l   e       C   u   r   s   o   r       P   o   s   i   t   i
0025120    o   n   }  \r   {   T   e   x   t  \r  \r  \r   T   h   e    
0025140    p   o   s   i   t   i   o   n       a   t       w   h   i   c
0025160    h       t   h   e       c   u   r   s   o   r       b   i   t
0025200    m   a   p       i   s       b   e   i   n   g       d   i   s
0025220    p   l   a   y   e   d       c   a   n       b   e       r   e
0025240    a   d       o   r       s   e   t       u   s   i   n   g    
0025260    t   h   e       f   o   l   l   o   w   i   n   g       f   u
0025300    n   c   t   i   o   n   s   :  \r  \r  \r   {   F   n   D   e
0025320    f       {   N   a   m   e       C   U   R   S   O   R   P   O
0025340    S   I   T   I   O   N   }       {   A   r   g   s       N   E
0025360    W   P   O   S   I   T   I   O   N       D   I   S   P   L   A
0025400    Y   S   T   R   E   A   M       O   L   D   P   O   S   I   T
0025420    I   O   N   }  \r   {   T   e   x   t  \r   R   e   t   u   r
0025440    n   s       t   h   e       l   o   c   a   t   i   o   n    
0025460    o   f       t   h   e       c   u   r   s   o   r       i   n
0025500        t   h   e       c   o   o   r   d   i   n   a   t   e    
0025520    s   y   s   t   e   m       o   f       {   a   r   g       D
0025540    I   S   P   L   A   Y   S   T   R   E   A   M   }       (   o
0025560    r       t   h   e       c   u   r   r   e   n   t       d   i
0025600    s   p   l   a   y       s   t   r   e   a   m   ,       i   f
0025620        {   a   r   g       D   I   S   P   L   A   Y   S   T   R
0025640    E   A   M   }       i   s       {   l   i   s   p       N   I
0025660    L   }   )   .           I   f       {   a   r   g       N   E
0025700    W   P   O   S   I   T   I   O   N   }       i   s       n   o
0025720    n   -   {   l   i   s   p       N   I   L   }   ,       i   t
0025740        s   h   o   u   l   d       b   e       a       p   o   s
0025760    i   t   i   o   n       a   n   d       t   h   e       c   u
0026000    r   s   o   r       w   i   l   l       b   e       p   o   s
0026020    i   t   i   o   n   e   d       a   t       {   a   r   g    
0026040    N   E   W   P   O   S   I   T   I   O   N   }   .           I
0026060    f       {   a   r   g       N   E   W   P   O   S   I   T   I
0026100    O   N   }       i   s       {   l   i   s   p       N   I   L
0026120    }   ,       t   h   e       c   u   r   r   e   n   t       p
0026140    o   s   i   t   i   o   n       i   s       s   i   m   p   l
0026160    e       r   e   t   u   r   n   e   d   .  \r  \r   N   o   t
0026200    e   :           T   h   e       c   u   r   r   e   n   t    
0026220    p   o   s   i   t   i   o   n       o   f       t   h   e    
0026240    c   u   r   s   o   r       i   s       t   h   e       p   o
0026260    s   i   t   i   o   n       o   f       t   h   e       "   h
0026300    o   t       s   p   o   t   "       o   f       t   h   e    
0026320    c   u   r   s   o   r   ,       n   o   t       t   h   e    
0026340    p   o   s   i   t   i   o   n       o   f       t   h   e    
0026360    c   u   r   s   o   r       b   i   t   m   a   p   .  \r  \r
0026400    I   f       {   a   r   g       O   L   D   P   O   S   I   T
0026420    I   O   N   }       i   s       a       {   l   i   s   p    
0026440    P   O   S   I   T   I   O   N   }       o   b   j   e   c   t
0026460    ,       t   h   i   s       o   b   j   e   c   t       w   i
0026500    l   l       b   e       c   h   a   n   g   e   d       t   o
0026520        p   o   i   n   t       t   o       t   h   e       l   o
0026540    c   a   t   i   o   n       o   f       t   h   e       c   u
0026560    r   s   o   r       a   n   d       r   e   t   u   r   n   e
0026600    d   ,       r   a   t   h   e   r       o   f       a   l   l
0026620    o   c   a   t   i   n   g       a       n   e   w       {   l
0026640    i   s   p       P   O   S   I   T   I   O   N   }   .        
0026660    T   h   i   s       c   a   n       i   m   p   r   o   v   e
0026700        p   e   r   f   o   r   m   a   n   c   e       i   f    
0026720    {   f   n       C   U   R   S   O   R   P   O   S   I   T   I
0026740    O   N   }       i   s       c   a   l   l   e   d       r   e
0026760    p   e   a   t   e   d   l   y       t   o       t   r   a   c
0027000    k       t   h   e       c   u   r   s   o   r   .      \r  \r
0027020    N   o   t   e   :           T   o       g   e   t       t   h
0027040    e       l   o   c   a   t   i   o   n       o   f       t   h
0027060    e       c   u   r   s   o   r       i   n       a   b   s   o
0027100    l   u   t   e       s   c   r   e   e   n       c   o   o   r
0027120    d   i   n   a   t   e   s   ,       u   s   e       t   h   e
0027140        v   a   r   i   a   b   l   e   s       {   v   a   r    
0027160    L   A   S   T   M   O   U   S   E   X   }       a   n   d    
0027200    {   v   a   r       L   A   S   T   M   O   U   S   E   Y   }
0027220        (   {   P   a   g   e   R   e   f       V   a   r       L
0027240    A   S   T   M   O   U   S   E   X   }   )   .  \r   }   }  \r
0027260   \r  \r   {   F   n   D   e   f       {   N   a   m   e       A
0027300    D   J   U   S   T   C   U   R   S   O   R   P   O   S   I   T
0027320    I   O   N   }       {   A   r   g   s       D   E   L   T   A
0027340    X       D   E   L   T   A   Y   }  \r   {   T   e   x   t  \r
0027360    M   o   v   e   s       t   h   e       c   u   r   s   o   r
0027400        {   a   r   g       D   E   L   T   A   X   }       p   o
0027420    i   n   t   s       i   n       t   h   e       X       d   i
0027440    r   e   c   t   i   o   n       a   n   d       {   a   r   g
0027460        D   E   L   T   A   Y   }       p   o   i   n   t   s    
0027500    i   n       t   h   e       Y       d   i   r   e   c   t   i
0027520    o   n   .       {   a   r   g       D   E   L   T   A   X   }
0027540        a   n   d       {   a   r   g       D   E   L   T   A   Y
0027560    }       d   e   f   a   u   l   t       t   o       0   .  \r
0027600    }   }  \r  \r  \r   }   {   E   n   d       S   u   b   S   e
0027620    c       C   u   r   s   o   r       P   o   s   i   t   i   o
0027640    n   }  \r  \r  \r  \r   {   B   e   g   i   n       S   u   b
0027660    S   e   c       M   o   u   s   e       B   u   t   t   o   n
0027700        T   e   s   t   i   n   g   }  \r   {   T   i   t   l   e
0027720        M   o   u   s   e       B   u   t   t   o   n       T   e
0027740    s   t   i   n   g   }  \r   {   T   e   x   t  \r  \r   {   i
0027760    n   d   e   x       *   P   R   I   M   A   R   Y   *       M
0030000    o   u   s   e       K   e   y   s   }  \r   {   i   n   d   e
0030020    x       *   P   R   I   M   A   R   Y   *       K   e   y   s
0030040        o   n       m   o   u   s   e   }  \r   {   i   n   d   e
0030060    x       *   P   R   I   M   A   R   Y   *       M   o   u   s
0030100    e       b   u   t   t   o   n   s   }  \r   {   i   n   d   e
0030120    x       *   P   R   I   M   A   R   Y   *       B   u   t   t
0030140    o   n   s       o   n       m   o   u   s   e   }  \r  \r   T
0030160    h   e   r   e       a   r   e       t   w   o       o   r    
0030200    t   h   r   e   e       k   e   y   s       o   n       t   h
0030220    e       m   o   u   s   e   .           T   h   e   s   e    
0030240    k   e   y   s       (   a   l   s   o       c   a   l   l   e
0030260    d       b   u   t   t   o   n   s   )       a   r   e       r
0030300    e   f   e   r   r   e   d       t   o       b   y       t   h
0030320    e   i   r       l   o   c   a   t   i   o   n   :       {   l
0030340    i   s   p       L   E   F   T   }   ,       {   l   i   s   p
0030360        M   I   D   D   L   E   }   ,       o   r       {   l   i
0030400    s   p       R   I   G   H   T   }   .           T   h   e    
0030420    f   o   l   l   o   w   i   n   g       m   a   c   r   o   s
0030440        a   r   e       p   r   o   v   i   d   e   d       t   o
0030460        t   e   s   t       t   h   e       s   t   a   t   e    
0030500    o   f       t   h   e       m   o   u   s   e       b   u   t
0030520    t   o   n   s   :  \r  \r  \r   {   M   a   c   D   e   f    
0030540    {   N   a   m   e       M   O   U   S   E   S   T   A   T   E
0030560    }       {   A   r   g   s       B   U   T   T   O   N   F   O
0030600    R   M   }  \r   {   T   e   x   t  \r   R   e   a   d   s    
0030620    t   h   e       s   t   a   t   e       o   f       t   h   e
0030640        m   o   u   s   e       b   u   t   t   o   n   s   ,    
0030660    a   n   d       r   e   t   u   r   n   s       {   l   i   s
0030700    p       T   }       i   f       t   h   a   t       s   t   a
0030720    t   e       i   s       d   e   s   c   r   i   b   e   d    
0030740    b   y       {   a   r   g       B   U   T   T   O   N   F   O
0030760    R   M   }   .           {   a   r   g       B   U   T   T   O
0031000    N   F   O   R   M   }       c   a   n       b   e       o   n
0031020    e       o   f       t   h   e       k   e   y       i   n   d
0031040    i   c   a   t   o   r   s       {   l   i   s   p       L   E
0031060    F   T   }   ,   {   i   n   d   e   x       L   E   F   T    
0031100    (   k   e   y       i   n   d   i   c   a   t   o   r   )   }
0031120        {   l   i   s   p       M   I   D   D   L   E   }   ,   {
0031140    i   n   d   e   x       M   I   D   D   L   E       (   k   e
0031160    y       i   n   d   i   c   a   t   o   r   )   }       o   r
0031200        {   l   i   s   p       R   I   G   H   T   }   ;   {   i
0031220    n   d   e   x       R   I   G   H   T       (   k   e   y    
0031240    i   n   d   i   c   a   t   o   r   )   }       t   h   e    
0031260    a   t   o   m       {   l   i   s   p       U   P   }       (
0031300    i   n   d   i   c   a   t   i   n   g       a   l   l       k
0031320    e   y   s       a   r   e       u   p   )   ;       t   h   e
0031340        f   o   r   m       {   l   i   s   p       (   O   N   L
0031360    Y       {   a   r   g       K   E   Y   }   )   }   ;       o
0031400    r       a       f   o   r   m       o   f       {   l   i   s
0031420    p       A   N   D   }   ,       {   l   i   s   p       O   R
0031440    }   ,       o   r       {   l   i   s   p       N   O   T   }
0031460        a   p   p   l   i   e   d       t   o       a   n   y    
0031500    v   a   l   i   d       b   u   t   t   o   n       f   o   r
0031520    m   .  \r  \r   F   o   r       e   x   a   m   p   l   e   :
0031540        {   l   i   s   p       (   M   O   U   S   E   S   T   A
0031560    T   E       L   E   F   T   )   }       w   i   l   l       b
0031600    e       t   r   u   e       i   f       t   h   e       l   e
0031620    f   t       m   o   u   s   e       b   u   t   t   o   n    
0031640    i   s       d   o   w   n   .           {   l   i   s   p    
0031660    (   M   O   U   S   E   S   T   A   T   E       (   O   N   L
0031700    Y       L   E   F   T   )   )   }       w   i   l   l       b
0031720    e       t   r   u   e       i   f       t   h   e       l   e
0031740    f   t       m   o   u   s   e       b   u   t   t   o   n    
0031760    i   s       t   h   e       o   n   l   y       o   n   e    
0032000    d   o   w   n   .           {   l   i   s   p       (   M   O
0032020    U   S   E   S   T   A   T   E       (   O   R       (   N   O
0032040    T       L   E   F   T   )       M   I   D   D   L   E   )   )
0032060    }       w   i   l   l       b   e       t   r   u   e       i
0032100    f       e   i   t   h   e   r       t   h   e       l   e   f
0032120    t       m   o   u   s   e       b   u   t   t   o   n       i
0032140    s       u   p       o   r       t   h   e       m   i   d   d
0032160    l   e       m   o   u   s   e       b   u   t   t   o   n    
0032200    i   s       d   o   w   n   .  \r   }   }  \r  \r  \r   {   M
0032220    a   c   D   e   f       {   N   a   m   e       L   A   S   T
0032240    M   O   U   S   E   S   T   A   T   E   }       {   A   r   g
0032260    s       B   U   T   T   O   N   F   O   R   M   }  \r   {   T
0032300    e   x   t  \r   S   i   m   i   l   a   r       t   o       {
0032320    m   a   c       M   O   U   S   E   S   T   A   T   E   }   ,
0032340        b   u   t       t   e   s   t   s       t   h   e       v
0032360    a   l   u   e       o   f       {   v   a   r       L   A   S
0032400    T   M   O   U   S   E   B   U   T   T   O   N   S   }       (
0032420    b   e   l   o   w   )       r   a   t   h   e   r       t   h
0032440    a   n       g   e   t   t   i   n   g       t   h   e       c
0032460    u   r   r   e   n   t       s   t   a   t   e   .           T
0032500    h   i   s       i   s       u   s   e   f   u   l       f   o
0032520    r       d   e   t   e   r   m   i   n   i   n   g       w   h
0032540    i   c   h       k   e   y   s       c   a   u   s   e   d    
0032560    {   m   a   c       M   O   U   S   E   S   T   A   T   E   }
0032600        t   o       b   e       t   r   u   e   .  \r   }   }  \r
0032620   \r  \r   {   M   a   c   D   e   f       {   N   a   m   e    
0032640    U   N   T   I   L   M   O   U   S   E   S   T   A   T   E   }
0032660        {   A   r   g   s       B   U   T   T   O   N   F   O   R
0032700    M       I   N   T   E   R   V   A   L   }  \r   {   T   e   x
0032720    t  \r   {   a   r   g       B   U   T   T   O   N   F   O   R
0032740    M   }       i   s       a   s       d   e   s   c   r   i   b
0032760    e   d       i   n       {   m   a   c       M   O   U   S   E
0033000    S   T   A   T   E   }   .           W   a   i   t   s       u
0033020    n   t   i   l       {   a   r   g       B   U   T   T   O   N
0033040    F   O   R   M   }       i   s       t   r   u   e       o   r
0033060        u   n   t   i   l       {   a   r   g       I   N   T   E
0033100    R   V   A   L   }       m   i   l   l   i   s   e   c   o   n
0033120    d   s       h   a   v   e       e   l   a   p   s   e   d   .
0033140            T   h   e       v   a   l   u   e       o   f       {
0033160    m   a   c       U   N   T   I   L   M   O   U   S   E   S   T
0033200    A   T   E   }       i   s       {   l   i   s   p       T   }
0033220        i   f       {   a   r   g       B   U   T   T   O   N   F
0033240    O   R   M   }       w   a   s       s   a   t   i   s   f   i
0033260    e   d       b   e   f   o   r   e       i   t       t   i   m
0033300    e   d       o   u   t   ,       o   t   h   e   r   w   i   s
0033320    e       {   l   i   s   p       N   I   L   }   .           I
0033340    f       {   a   r   g       I   N   T   E   R   V   A   L   }
0033360        i   s       {   l   i   s   p       N   I   L   }   ,    
0033400    i   t       w   a   i   t   s       i   n   d   e   f   i   n
0033420    i   t   e   l   y   .           T   h   i   s       c   o   m
0033440    p   i   l   e   s       i   n   t   o       a   n       o   p
0033460    e   n       l   o   o   p       t   h   a   t       c   a   l
0033500    l   s       t   h   e       {   l   i   s   p       T   T   Y
0033520    }       w   a   i   t       b   a   c   k   g   r   o   u   n
0033540    d       f   u   n   c   t   i   o   n   .           T   h   i
0033560    s       f   o   r   m       s   h   o   u   l   d       n   o
0033600    t       b   e       u   s   e   d       i   n   s   i   d   e
0033620        t   h   e       {   l   i   s   p       T   T   Y   }    
0033640    w   a   i   t       b   a   c   k   g   r   o   u   n   d    
0033660    f   u   n   c   t   i   o   n   .           {   m   a   c    
0033700    U   N   T   I   L   M   O   U   S   E   S   T   A   T   E   }
0033720        d   o   e   s       n   o   t       u   s   e       a   n
0033740    y       s   t   o   r   a   g   e       d   u   r   i   n   g
0033760        i   t   s       w   a   i   t       l   o   o   p   .  \r
0034000    }   }  \r  \r  \r   {   B   e   g   i   n       c   o   m   m
0034020    e   n   t       k   e   y   s   e   t       d   e   -   d   o
0034040    c   u   m   e   n   t   e   d   }  \r   T   h   e       m   a
0034060    c   r   o   s       {   m   a   c       K   E   Y   S   E   T
0034100    S   T   A   T   E   }   {   i   n   d   e   x       K   E   Y
0034120    S   E   T   S   T   A   T   E       M   a   c   }       a   n
0034140    d       {   m   a   c       L   A   S   T   K   E   Y   S   E
0034160    T   S   T   A   T   E   }   {   i   n   d   e   x       L   A
0034200    S   T   K   E   Y   S   E   T   S   T   A   T   E       M   a
0034220    c   }       a   r   e       i   d   e   n   t   i   c   a   l
0034240        t   o       {   m   a   c       M   O   U   S   E   S   T
0034260    A   T   E   }       a   n   d       {   m   a   c       L   A
0034300    S   T   M   O   U   S   E   S   T   A   T   E   }       e   x
0034320    c   e   p   t       t   h   a   t       t   h   e   y       a
0034340    l   s   o       c   h   e   c   k       t   h   e       s   t
0034360    a   t   e       o   f       t   h   e       f   i   v   e   -
0034400    f   i   n   g   e   r       k   e   y   s   e   t       a   s
0034420        w   e   l   l       a   s       t   h   e       s   t   a
0034440    t   e       o   f       t   h   e       m   o   u   s   e    
0034460    b   u   t   t   o   n   s   .           T   h   a   t       i
0034500    s       t   h   e   y       c   h   e   c   k       t   h   e
0034520        s   t   a   t   e       o   f       b   o   t   h       t
0034540    h   e       m   o   u   s   e       a   n   d       t   h   e
0034560        k   e   y   s   e   t   .           T   h   u   s   ,    
0034600    i   f       t   h   e       l   e   f   t       m   o   u   s
0034620    e       b   u   t   t   o   n       w   a   s       t   h   e
0034640        o   n   l   y       m   o   u   s   e       b   u   t   t
0034660    o   n       h   e   l   d       d   o   w   n   ,       {   l
0034700    i   s   p       (   M   O   U   S   E   S   T   A   T   E    
0034720    (   O   N   L   Y       L   E   F   T   )   )   }       w   o
0034740    u   l   d       b   e       {   l   i   s   p       T   }    
0034760    e   v   e   n       t   h   o   u   g   h       a       k   e
0035000    y   s   e   t       k   e   y       w   a   s       d   o   w
0035020    n   ;       w   h   e   r   e   a   s       {   l   i   s   p
0035040        (   K   E   Y   S   E   T   S   T   A   T   E       (   O
0035060    N   L   Y       L   E   F   T   )   )   }       w   o   u   l
0035100    d       b   e       {   l   i   s   p       N   I   L   }    
0035120    i   f       a       k   e   y   s   e   t       b   u   t   t
0035140    o   n       w   e   r   e       d   o   w   n   .      \r  \r
0035160    T   h   e       n   a   m   e   s       o   f       t   h   e
0035200        k   e   y   s   e   t       k   e   y   s       a   r   e
0035220    :       {   l   i   s   p       L   E   F   T   K   E   Y   }
0035240    ,   {   i   n   d   e   x       L   E   F   T   K   E   Y    
0035260    (   k   e   y       i   n   d   i   c   a   t   o   r   )   }
0035300        {   l   i   s   p       L   E   F   T   M   I   D   D   L
0035320    E   K   E   Y   }   ,   {   i   n   d   e   x       L   E   F
0035340    T   M   I   D   D   L   E   K   E   Y       (   k   e   y    
0035360    i   n   d   i   c   a   t   o   r   )   }       {   l   i   s
0035400    p       M   I   D   D   L   E   K   E   Y   }   ,   {   i   n
0035420    d   e   x       M   I   D   D   L   E   K   E   Y       (   k
0035440    e   y       i   n   d   i   c   a   t   o   r   )   }       {
0035460    l   i   s   p       R   I   G   H   T   M   I   D   D   L   E
0035500    K   E   Y   }   {   i   n   d   e   x       R   I   G   H   T
0035520    M   I   D   D   L   E   K   E   Y       (   k   e   y       i
0035540    n   d   i   c   a   t   o   r   )   }       a   n   d       {
0035560    l   i   s   p       R   I   G   H   T   K   E   Y   }   .   {
0035600    i   n   d   e   x       R   I   G   H   T   K   E   Y       (
0035620    k   e   y       i   n   d   i   c   a   t   o   r   )   }  \r
0035640    {   E   n   d       c   o   m   m   e   n   t       k   e   y
0035660    s   e   t       d   e   -   d   o   c   u   m   e   n   t   e
0035700    d   }  \r  \r  \r   }   {   E   n   d       S   u   b   S   e
0035720    c       M   o   u   s   e       B   u   t   t   o   n       T
0035740    e   s   t   i   n   g   }  \r  \r  \r  \r  \r   {   B   e   g
0035760    i   n       S   u   b   S   e   c       L   o   w       L   e
0036000    v   e   l       M   o   u   s   e       F   u   n   c   t   i
0036020    o   n   s   }  \r   {   T   i   t   l   e       L   o   w    
0036040    L   e   v   e   l       M   o   u   s   e       F   u   n   c
0036060    t   i   o   n   s   }  \r   {   T   e   x   t  \r  \r   T   h
0036100    i   s       s   e   c   t   i   o   n       d   e   s   c   r
0036120    i   b   e   s       t   h   e       f   u   n   c   t   i   o
0036140    n   s       a   n   d       v   a   r   i   a   b   l   e   s
0036160        t   h   a   t       p   r   o   v   i   d   e       l   o
0036200    w       l   e   v   e   l       a   c   c   e   s   s       t
0036220    o       t   h   e       m   o   u   s   e       a   n   d    
0036240    c   u   r   s   o   r   .  \r  \r   {   F   n   D   e   f    
0036260    {   N   a   m   e       L   A   S   T   M   O   U   S   E   X
0036300    }       {   A   r   g   s       D   I   S   P   L   A   Y   S
0036320    T   R   E   A   M   }  \r   {   T   e   x   t  \r   R   e   t
0036340    u   r   n   s       t   h   e       v   a   l   u   e       o
0036360    f       t   h   e       c   u   r   s   o   r   '   s       X
0036400        p   o   s   i   t   i   o   n       i   n       t   h   e
0036420        c   o   o   r   d   i   n   a   t   e   s       o   f    
0036440    {   a   r   g       D   I   S   P   L   A   Y   S   T   R   E
0036460    A   M   }       (   a   s       o   f       t   h   e       l
0036500    a   s   t       c   a   l   l       t   o       {   f   n    
0036520    G   E   T   M   O   U   S   E   S   T   A   T   E   }   ,    
0036540    b   e   l   o   w   )   .  \r   }   }  \r  \r  \r   {   F   n
0036560    D   e   f       {   N   a   m   e       L   A   S   T   M   O
0036600    U   S   E   Y   }       {   A   r   g   s       D   I   S   P
0036620    L   A   Y   S   T   R   E   A   M   }  \r   {   T   e   x   t
0036640   \r   R   e   t   u   r   n   s       t   h   e       v   a   l
0036660    u   e       o   f       t   h   e       c   u   r   s   o   r
0036700    '   s       Y       p   o   s   i   t   i   o   n       i   n
0036720        t   h   e       c   o   o   r   d   i   n   a   t   e   s
0036740        o   f       {   a   r   g       D   I   S   P   L   A   Y
0036760    S   T   R   E   A   M   }       (   a   s       o   f       t
0037000    h   e       l   a   s   t       c   a   l   l       t   o    
0037020    {   f   n       G   E   T   M   O   U   S   E   S   T   A   T
0037040    E   }   ,       b   e   l   o   w   )   .  \r   }   }  \r  \r
0037060   \r   {   V   a   r   D   e   f       {   N   a   m   e       L
0037100    A   S   T   M   O   U   S   E   X   }  \r   {   T   e   x   t
0037120   \r   V   a   l   u   e       i   s       t   h   e       X    
0037140    p   o   s   i   t   i   o   n       o   f       t   h   e    
0037160    c   u   r   s   o   r       i   n       a   b   s   o   l   u
0037200    t   e       s   c   r   e   e   n       c   o   o   r   d   i
0037220    n   a   t   e   s       (   a   s       o   f       t   h   e
0037240        l   a   s   t       c   a   l   l       t   o       {   f
0037260    n       G   E   T   M   O   U   S   E   S   T   A   T   E   }
0037300    ,       b   e   l   o   w   )   .  \r   }   }  \r  \r  \r   {
0037320    V   a   r   D   e   f       {   N   a   m   e       L   A   S
0037340    T   M   O   U   S   E   Y   }  \r   {   T   e   x   t  \r   V
0037360    a   l   u   e       i   s       t   h   e       Y       p   o
0037400    s   i   t   i   o   n       o   f       t   h   e       c   u
0037420    r   s   o   r       i   n       a   b   s   o   l   u   t   e
0037440        s   c   r   e   e   n       c   o   o   r   d   i   n   a
0037460    t   e   s       (   a   s       o   f       t   h   e       l
0037500    a   s   t       c   a   l   l       t   o       {   f   n    
0037520    G   E   T   M   O   U   S   E   S   T   A   T   E   }   ,    
0037540    b   e   l   o   w   )   .  \r   }   }  \r  \r  \r   {   V   a
0037560    r   D   e   f       {   N   a   m   e       L   A   S   T   M
0037600    O   U   S   E   B   U   T   T   O   N   S   }  \r   {   T   e
0037620    x   t  \r   V   a   l   u   e       i   s       a   n       i
0037640    n   t   e   g   e   r       t   h   a   t       h   a   s    
0037660    b   i   t   s       o   n       c   o   r   r   e   s   p   o
0037700    n   d   i   n   g       t   o       t   h   e       m   o   u
0037720    s   e       b   u   t   t   o   n   s       t   h   a   t    
0037740    a   r   e       d   o   w   n       (   a   s       o   f    
0037760    t   h   e       l   a   s   t       c   a   l   l       t   o
0040000        {   f   n       G   E   T   M   O   U   S   E   S   T   A
0040020    T   E   }   ,       b   e   l   o   w   )   .           B   i
0040040    t       {   l   i   s   p       4   Q   }       i   s       t
0040060    h   e       l   e   f   t       m   o   u   s   e       b   u
0040100    t   t   o   n   ,       {   l   i   s   p       2   Q   }    
0040120    i   s       t   h   e       r   i   g   h   t       b   u   t
0040140    t   o   n   ,       {   l   i   s   p       1   Q   }       i
0040160    s       t   h   e       m   i   d   d   l   e       b   u   t
0040200    t   o   n   .  \r  \r   {   B   e   g   i   n       c   o   m
0040220    m   e   n   t       k   e   y   s   e   t       d   e   -   d
0040240    o   c   u   m   e   n   t   e   d   }  \r   (   B   i   t   s
0040260        {   l   i   s   p       2   0   0   Q   }   ,       {   l
0040300    i   s   p       1   0   0   Q   }   ,       {   l   i   s   p
0040320        4   0   Q   }   ,       {   l   i   s   p       2   0   Q
0040340    }   ,       a   n   d       {   l   i   s   p       1   0   Q
0040360    }       g   i   v   e       t   h   e       s   t   a   t   e
0040400        o   f       t   h   e       k   e   y   s   e   t       k
0040420    e   y   s   ,       f   r   o   m       l   e   f   t       t
0040440    o       r   i   g   h   t   ,       i   f       y   o   u    
0040460    h   a   v   e       a       k   e   y   s   e   t   .   )  \r
0040500    {   E   n   d       c   o   m   m   e   n   t       k   e   y
0040520    s   e   t       d   e   -   d   o   c   u   m   e   n   t   e
0040540    d   }  \r   }   }  \r  \r   {   V   a   r   D   e   f       {
0040560    N   a   m   e       L   A   S   T   K   E   Y   B   O   A   R
0040600    D   }  \r   {   T   e   x   t  \r   V   a   l   u   e       i
0040620    s       a   n       i   n   t   e   g   e   r       e   n   c
0040640    o   d   i   n   g       t   h   e       s   t   a   t   e    
0040660    o   f       c   e   r   t   a   i   n       k   e   y   s    
0040700    o   n       t   h   e       k   e   y   b   o   a   r   d    
0040720    (   a   s       o   f       t   h   e       l   a   s   t    
0040740    c   a   l   l       t   o       {   f   n       G   E   T   M
0040760    O   U   S   E   S   T   A   T   E   }   ,       b   e   l   o
0041000    w   )   .           B   i   t       {   l   i   s   p       2
0041020    0   0   Q   }       =       l   o   c   k   ,       {   l   i
0041040    s   p       1   0   0   Q   }       =       l   e   f   t    
0041060    s   h   i   f   t   ,       {   l   i   s   p       4   0   Q
0041100    }       =       c   t   r   l   ,       {   l   i   s   p    
0041120    1   0   Q   }       =       r   i   g   h   t       s   h   i
0041140    f   t   ,       {   l   i   s   p       4   Q   }           =
0041160        b   l   a   n   k       B   o   t   t   o   m   ,       {
0041200    l   i   s   p       2   Q   }       =       b   l   a   n   k
0041220        M   i   d   d   l   e   ,       {   l   i   s   p       1
0041240    Q   }       =       b   l   a   n   k       T   o   p   .    
0041260        I   f       t   h   e       k   e   y       i   s       d
0041300    o   w   n   ,       t   h   e       c   o   r   r   e   s   p
0041320    o   n   d   i   n   g       b   i   t       i   s       o   n
0041340    .  \r   }   }  \r  \r   {   F   n   D   e   f       {   N   a
0041360    m   e       G   E   T   M   O   U   S   E   S   T   A   T   E
0041400    }  \r   {   T   e   x   t  \r   R   e   a   d   s       t   h
0041420    e       c   u   r   r   e   n   t       s   t   a   t   e    
0041440    o   f       t   h   e       m   o   u   s   e       a   n   d
0041460        s   e   t   s       t   h   e       v   a   r   i   a   b
0041500    l   e   s       {   v   a   r       L   A   S   T   M   O   U
0041520    S   E   X   }   ,       {   v   a   r       L   A   S   T   M
0041540    O   U   S   E   Y   }   ,       a   n   d       {   v   a   r
0041560        L   A   S   T   M   O   U   S   E   B   U   T   T   O   N
0041600    S   }   .           I   n       p   o   l   l   i   n   g    
0041620    m   o   d   e   ,       t   h   e       p   r   o   g   r   a
0041640    m       m   u   s   t       r   e   m   e   m   b   e   r    
0041660    t   h   e       p   r   e   v   i   o   u   s       s   t   a
0041700    t   e       a   n   d       l   o   o   k       f   o   r    
0041720    c   h   a   n   g   e   s   ,       s   u   c   h       a   s
0041740        a       k   e   y       g   o   i   n   g       u   p    
0041760    o   r       d   o   w   n   ,       o   r       t   h   e    
0042000    c   u   r   s   o   r       m   o   v   i   n   g       o   u
0042020    t   s   i   d   e       a       r   e   g   i   o   n       o
0042040    f       i   n   t   e   r   e   s   t   .  \r   }   }  \r  \r
0042060   \r   {   F   n   D   e   f       {   N   a   m   e       D   E
0042100    C   O   D   E   B   U   T   T   O   N   S   }       {   A   r
0042120    g   s       B   U   T   T   O   N   S   T   A   T   E   }  \r
0042140    {   T   e   x   t  \r   R   e   t   u   r   n   s       a    
0042160    l   i   s   t       o   f       t   h   e       m   o   u   s
0042200    e       b   u   t   t   o   n   s       t   h   a   t       a
0042220    r   e       d   o   w   n       i   n       t   h   e       s
0042240    t   a   t   e       {   a   r   g       B   U   T   T   O   N
0042260    S   T   A   T   E   }   .           I   f       {   a   r   g
0042300        B   U   T   T   O   N   S   T   A   T   E   }       i   s
0042320        n   o   t       a       s   m   a   l   l       i   n   t
0042340    e   g   e   r   ,       t   h   e       v   a   l   u   e    
0042360    o   f       {   v   a   r       L   A   S   T   M   O   U   S
0042400    E   B   U   T   T   O   N   S   }       (   a   b   o   v   e
0042420    )       i   s       u   s   e   d   .           T   h   e    
0042440    b   u   t   t   o   n       n   a   m   e   s       t   h   a
0042460    t       c   a   n       b   e       r   e   t   u   r   n   e
0042500    d       a   r   e   :       {   l   i   s   p       L   E   F
0042520    T   }   ,       {   l   i   s   p       M   I   D   D   L   E
0042540    }   ,       {   l   i   s   p       R   I   G   H   T   }    
0042560    (   t   h   e       t   h   r   e   e       m   o   u   s   e
0042600        k   e   y   s   )   .  \r  \r   {   B   e   g   i   n    
0042620    c   o   m   m   e   n   t       k   e   y   s   e   t       d
0042640    e   -   d   o   c   u   m   e   n   t   e   d   }  \r   {   l
0042660    i   s   p       L   E   F   T   K   E   Y   }   ,       {   l
0042700    i   s   p       L   E   F   T   M   I   D   D   L   E   K   E
0042720    Y   }   ,       {   l   i   s   p       M   I   D   D   L   E
0042740    K   E   Y   }   ,       {   l   i   s   p       R   I   G   H
0042760    T   M   I   D   D   L   E   K   E   Y   }       a   n   d    
0043000    {   l   i   s   p       R   I   G   H   T   K   E   Y   }    
0043020    (   t   h   e       f   i   v   e       k   e   y   s   e   t
0043040        k   e   y   s   )   .  \r   {   E   n   d       c   o   m
0043060    m   e   n   t       k   e   y   s   e   t       d   e   -   d
0043100    o   c   u   m   e   n   t   e   d   }  \r   }   }  \r  \r  \r
0043120    {   B   e   g   i   n       C   o   m   m   e   n   t       F
0043140    l   u   s   h   e   d   }  \r   {   V   a   r   D   e   f    
0043160    {   N   a   m   e       L   A   S   T   M   O   U   S   E   T
0043200    I   M   E   }       {   T   e   x   t       T   h   e       t
0043220    i   m   e       i   n       m   i   l   l   i   s   e   c   o
0043240    n   d   s       s   i   n   c   e       t   h   e       m   o
0043260    u   s   e       w   a   s       l   a   s   t       r   e   a
0043300    d       (   s   i   n   c   e       t   h   e       l   a   s
0043320    t       c   a   l   l       t   o       {   l   i   s   p    
0043340    G   E   T   M   O   U   S   E   S   T   A   T   E   }   .    
0043360        {   v   a   r       L   A   S   T   M   O   U   S   E   T
0043400    I   M   E   }       i   s       a       1   6   -   b   i   t
0043420        p   o   s   i   t   i   v   e       i   n   t   e   g   e
0043440    r       s   o       i   t       r   o   l   l   s       o   v
0043460    e   r       e   v   e   r   y       6   5   +       s   e   c
0043500    o   n   d   s   .   }   }  \r   {   E   n   d       C   o   m
0043520    m   e   n   t       F   l   u   s   h   e   d   }  \r  \r  \r
0043540   \r   }   {   E   n   d       S   u   b   S   e   c       L   o
0043560    w       L   e   v   e   l       M   o   u   s   e       F   u
0043600    n   c   t   i   o   n   s   }  \r  \r  \r   }   {   E   n   d
0043620        S   u   b   S   e   c       C   u   r   s   o   r       a
0043640    n   d       M   o   u   s   e   }  \r  \r  \r  \r  \r  \r  \0
0043660   \0  \0  \0  \0 004  \0 003  \0   ?  \0   1   (   D   E   F   A
0043700    U   L   T   F   O   N   T       1       (   G   A   C   H   A
0043720        1   0   )       (   G   A   C   H   A       8   )       (
0043740    T   E   R   M   I   N   A   L       8   )   )  \0  \n  \0  \0
0043760   \0  \0  \0  \0  \0  \0  \0   ?  \0   1   (   D   E   F   A   U
0044000    L   T   F   O   N   T       1       (   G   A   C   H   A    
0044020    1   0   )       (   G   A   C   H   A       8   )       (   T
0044040    E   R   M   I   N   A   L       8   )   )  \0  \n  \0  \0  \0
0044060   \0  \0  \0  \0  \0  \0   ?  \0   1   (   D   E   F   A   U   L
0044100    T   F   O   N   T       1       (   G   A   C   H   A       1
0044120    0   )       (   G   A   C   H   A       8   )       (   T   E
0044140    R   M   I   N   A   L       8   )   )  \0  \n  \0  \0  \0  \0
0044160   \0  \0  \0  \0  \0  \0  \r 322  \0  \0  \0  \0 003  \0  \0  \0
0044200    *  \0 001  \0  \f   B   M   O   B   J   .   G   E   T   F   N
0044220    2  \0  \0  \0 002 030  \0  \0  \0  \0 003  \0  \0  \0   *  \0
0044240  001  \0  \f   B   M   O   B   J   .   G   E   T   F   N   2  \0
0044260   \0  \0  \0   i  \0  \0  \0  \0 003  \0  \0  \0   *  \0 001  \0
0044300   \f   B   M   O   B   J   .   G   E   T   F   N   2  \0  \0  \0
0044320   \0 220  \0  \0  \0  \0 003  \0  \0  \0   *  \0 001  \0  \f   B
0044340    M   O   B   J   .   G   E   T   F   N   2  \0  \0  \0 001   ;
0044360   \0  \0  \0  \0 003  \0  \0  \0   &  \0 001  \0  \f   B   M   O
0044400    B   J   .   G   E   T   F   N   2  \0  \0  \0  \0 273  \0  \0
0044420   \0  \0 003  \0  \0  \0   $  \0 001  \0  \f   B   M   O   B   J
0044440    .   G   E   T   F   N   2  \0  \0  \0 001 002  \0  \0  \0  \0
0044460  003  \0  \0  \0   (  \0 001  \0  \f   B   M   O   B   J   .   G
0044500    E   T   F   N   2  \0  \0  \0  \0 225  \0  \0  \0  \0 003  \0
0044520   \0  \0   "  \0 001  \0  \f   B   M   O   B   J   .   G   E   T
0044540    F   N   2  \0  \0  \0  \0 262  \0  \0  \0  \0 003  \0  \0  \0
0044560    *  \0 001  \0  \f   B   M   O   B   J   .   G   E   T   F   N
0044600    2  \0  \0  \0  \0 224  \0  \0  \0  \0 003  \0  \0  \0   &  \0
0044620  001  \0  \f   B   M   O   B   J   .   G   E   T   F   N   2  \0
0044640   \0  \0  \0 235  \0  \0  \0  \0 003  \0  \0  \0      \0 001  \0
0044660   \f   B   M   O   B   J   .   G   E   T   F   N   2  \0  \0  \0
0044700   \0   R  \0  \0  \0  \0 003  \0  \0  \0      \0 001  \0  \f   B
0044720    M   O   B   J   .   G   E   T   F   N   2  \0  \0  \0  \0   Q
0044740   \0  \0  \0  \0 003  \0  \0  \0      \0 001  \0  \f   B   M   O
0044760    B   J   .   G   E   T   F   N   2  \0  \0  \0  \0   P  \0  \0
0045000   \0  \0 003  \0  \0  \0      \0 001  \0  \f   B   M   O   B   J
0045020    .   G   E   T   F   N   2  \0  \0  \0  \0 327  \0  \0  \0  \0
0045040  003  \0  \0  \0   $  \0 001  \0  \f   B   M   O   B   J   .   G
0045060    E   T   F   N   2  \0  \0  \0  \0 226  \0  \0  \0  \0 003  \0
0045100   \0  \0   *  \0 001  \0  \f   B   M   O   B   J   .   G   E   T
0045120    F   N   2  \0  \0  \0  \0   S  \0  \0  \0  \0 003  \0  \0  \0
0045140    *  \0 001  \0  \f   B   M   O   B   J   .   G   E   T   F   N
0045160    2  \0  \0  \0  \0   P  \0  \0  \0  \0 003  \0  \0  \0   *  \0
0045200  001  \0  \f   B   M   O   B   J   .   G   E   T   F   N   2  \0
0045220   \0  \0  \0 323  \0  \0  \0  \0 003  \0  \0  \0   $  \0 001  \0
0045240   \f   B   M   O   B   J   .   G   E   T   F   N   2  \0  \0  \0
0045260   \0 232  \0  \0  \0  \0 003  \0  \0  \0 036  \0 001  \0  \f   B
0045300    M   O   B   J   .   G   E   T   F   N   2  \0  \0  \0  \0   T
0045320   \0  \0  \0  \0 003  \0  \0  \0 036  \0 001  \0  \f   B   M   O
0045340    B   J   .   G   E   T   F   N   2  \0  \0  \0  \0   R  \0  \0
0045360   \0  \0 003  \0  \0  \0 036  \0 001  \0  \f   B   M   O   B   J
0045400    .   G   E   T   F   N   2  \0  \0  \0  \0 327  \0  \0  \0  \0
0045420  003  \0  \0  \0   (  \0 001  \0  \f   B   M   O   B   J   .   G
0045440    E   T   F   N   2  \0  \0  \0  \0 002  \0  \0  \0  \0 003  \0
0045460   \0  \0 032  \0 001  \0  \f   B   M   O   B   J   .   G   E   T
0045500    F   N   2  \0  \0  \0  \0 002  \0  \0  \0  \0 003  \0  \0  \0
0045520  032  \0 001  \0  \f   B   M   O   B   J   .   G   E   T   F   N
0045540    2  \0  \0  \0  \0 002  \0  \0  \0  \0 003  \0  \0  \0 030  \0
0045560  001  \0  \f   B   M   O   B   J   .   G   E   T   F   N   2  \0
0045600   \0  \0  \0  \t  \0  \0  \0  \0 003  \0  \0  \0 030  \0 001  \0
0045620   \f   B   M   O   B   J   .   G   E   T   F   N   2  \0  \0  \0
0045640   \0 002  \0  \0  \0  \0 003  \0  \0  \0 030  \0 001  \0  \f   B
0045660    M   O   B   J   .   G   E   T   F   N   2  \0  \0  \0  \0 002
0045700   \0  \0  \0  \0 003  \0  \0  \0   &  \0 001  \0  \f   B   M   O
0045720    B   J   .   G   E   T   F   N   2  \0  \0  \0 003 360  \0  \0
0045740   \0  \0 003  \0  \0  \0   *  \0 001  \0  \f   B   M   O   B   J
0045760    .   G   E   T   F   N   2  \0  \0  \0  \0 230  \0  \0  \0  \0
0046000  003  \0  \0  \0   *  \0 001  \0  \f   B   M   O   B   J   .   G
0046020    E   T   F   N   2  \0  \0  \0 001 356  \0  \0  \0  \0 003  \0
0046040   \0  \0   *  \0 001  \0  \f   B   M   O   B   J   .   G   E   T
0046060    F   N   2  \0  \0  \0  \0 337  \0  \0  \0  \0 003  \0  \0  \0
0046100    *  \0 001  \0  \f   B   M   O   B   J   .   G   E   T   F   N
0046120    2  \0  \0  \0  \0 317  \0  \0  \0  \0 003  \0  \0  \0   *  \0
0046140  001  \0  \f   B   M   O   B   J   .   G   E   T   F   N   2  \0
0046160   \0  \0 036   p  \0  \0  \0  \0 003  \0  \0   G 257  \0   E   z
0046200  272                                                            
0046201