$ od -c -N 50000 [Indigo]<Chipmonk>replicate>replicate-sources.dm!13
0000000  377  \0  \0   r   e   p   l   i   c   a   t   e   m   a   i   n
0000020    .   m   e   s   a  \0 373 230 242 234 304  \0  \0 376 001  \0
0000040    T   =   -   -       R   e   p   l   i   c   a   t   e   M   a
0000060    i   n   .   m   e   s   a  \r   -   -       a       p   r   o
0000100    g   r   a   m       t   o       r   u   n       w   i   t   h
0000120    i   n       C   h   i   p   m   o   n   k  \r  \r   -   -    
0000140    m   o   d   i   f   i   e   d       b   y       E   .       M
0000160    c   C   r   e   i   g   h   t   ,       F   e   b   r   u   a
0000200    r   y       2   3   ,       1   9   8   2           1   1   :
0000220    3   6       A   M  \r   -   -       w   r   i   t   t   e   n
0000240        b   y       E   .       M   c   C   r   e   i   g   h   t
0000260    ,       S   e   p   t   e   m   b   e   r       2   3   ,    
0000300    1   9   8   1           6   :   5   7       P   M  \r  \r   D
0000320    I   R   E   C   T   O   R   Y  \r           C   h   i   p   U
0000340    s   e   r   I   n   t   ,  \r           p   p   d   d   e   f
0000360    s   ,  \r           p   p   d   e   f   s   ,  \r           R
0000400    o   m   M   a   k   e   r   D   e   f   s   ;  \r  \r   R   e
0000420    p   l   i   c   a   t   e   M   a   i   n   :       P   R   O
0000440    G   R 376 001  \0 316 331   A   M  \r           I   M   P   O
0000460    R   T   S       C   h   i   p   U   s   e   r   I   n   t   ,
0000500        p   p   d   d   e   f   s   ,       p   p   d   e   f   s
0000520    ,       R   o   m   M   a   k   e   r   D   e   f   s       =
0000540   \r           B   E   G   I   N       O   P   E   N       C   h
0000560    i   p   U   s   e   r   I   n   t   ,       p   p   d   d   e
0000600    f   s   ,       p   p   d   e   f   s   ,       R   o   m   M
0000620    a   k   e   r   D   e   f   s   ;  \r  \f  \r   -   -        
0000640    C       e       l       l       -       R       e       l    
0000660    a       t       e       d               a       n       d    
0000700            P       r       o       c       e       d       u    
0000720    r       e       s  \r  \r           O   f   f   s   e   t   :
0000740        P   R   O   C   E   D   U   R   E   [   p   :       P   o
0000760    i   n   t       _       [   0   ,       0   ]   ,  \r        
0001000            c   e   l   l   :       l   i   s   t   P   t   r    
0001020    _       N   I   L   ,       c   e   l   l   S   i   z   e   :
0001040        P   o   i   n   t     376 001  \0   r 237   _       [   0
0001060    ,   0   ]   ,  \r                   d   i   r   :       D   i
0001100    r   e   c   t   i   o   n   ,       r   e   p   :       P   o
0001120    i   n   t       _       [   0   ,       0   ]   ,  \r        
0001140            m   i   d   C   e   l   l   :       l   i   s   t   P
0001160    t   r       _       N   I   L   ,       m   i   d   C   e   l
0001200    l   S   i   z   e   :       P   o   i   n   t       _       [
0001220    0   ,   0   ]   ,  \r                   m   i   d   G   a   p
0001240    :       P   o   i   n   t       _       [   0   ,       0   ]
0001260    ,       i   n   c   l   u   d   e   T   e   r   m   i   n   a
0001300    l   M   i   d   :       B   O   O   L   E   A   N       _    
0001320    T   R   U   E   ]  \r                   R   E   T   U   R   N
0001340    S       [   P   o   i   n   t   ]       =  \r                
0001360    B   E   G   I   N  \r                   m   i   d   R   e   p
0001400    :       P   o   i   n   t       _       I   F       i   n   c
0001420    l   u   d   e   T   e   r   m   i   n   a   l   M   i   d    
0001440    T   H   E   N       r   e   p       E   L   S 376 001  \0   p
0001460    X   E  \r                           [   x   :       r   e   p
0001500    .   x   -   1   ,       y   :       r   e   p   .   y   -   1
0001520    ]   ;  \r                   I   F       c   e   l   l   #   N
0001540    I   L       T   H   E   N       c   e   l   l   S   i   z   e
0001560        _       C   e   l   l   S   i   z   e   [   c   e   l   l
0001600    .   o   b   ]   ;  \r                   m   i   d   C   e   l
0001620    l   S   i   z   e       _       I   F       m   i   d   C   e
0001640    l   l   #   N   I   L       T   H   E   N       C   e   l   l
0001660    S   i   z   e   [   m   i   d   C   e   l   l   .   o   b   ,
0001700        d   i   r   ]  \r                           E   L   S   E
0001720        D   i   r   S   i   z   e   [   m   i   d   C   e   l   l
0001740    S   i   z   e   ,       d   i   r   ]   ;  \r                
0001760    R   E   T   U   R   N   [   [   x   :       p   .   x   +   r
0002000    e   p   .   x   *   D   i   r   S   i   z   e   [   c   e   l
0002020    l   S   i   z   e   ,       d   i   r   ]   .   x   +  \r    
0002040                                M   i   d   C   e   l   l   R   e
0002060    p 376 001  \0 201 032   [   m   i   d   G   a   p   .   x   ,
0002100        m   i   d   R   e   p   .   x   ,       c   e   l   l   S
0002120    i   z   e   .   x   ]   *  \r                                
0002140            m   i   d   C   e   l   l   S   i   z   e   .   x   ,
0002160   \r                           y   :       p   .   y   +   r   e
0002200    p   .   y   *   D   i   r   S   i   z   e   [   c   e   l   l
0002220    S   i   z   e   ,       d   i   r   ]   .   y   +  \r        
0002240                            M   i   d   C   e   l   l   R   e   p
0002260    [   m   i   d   G   a   p   .   y   ,       m   i   d   R   e
0002300    p   .   y   ,       c   e   l   l   S   i   z   e   .   y   ]
0002320    *  \r                                           m   i   d   C
0002340    e   l   l   S   i   z   e   .   y   ]   ]   ;  \r            
0002360        E   N   D   ;  \r  \r  \r           C   e   l   l   s   P
0002400    e   r   G   a   p   :       P   R   O   C   E   D   U   R   E
0002420    [   g   a   p   ,       s   i   z   e   P   e   r   C   e   l
0002440    l   :       l   o   c   N   u   m   ]       R   E   T   U   R
0002460    N   S   [   I   N   T 376 001  \0 223 222   E   G   E   R   ]
0002500        =  \r                   {   R   E   T   U   R   N   [   (
0002520    g   a   p   +   s   i   z   e   P   e   r   C   e   l   l   -
0002540    1   )   /   s   i   z   e   P   e   r   C   e   l   l   ]    
0002560    -   -       c   e   i   l   i   n   g       -   -   }   ;  \r
0002600   \r  \r           M   i   d   C   e   l   l   R   e   p   :    
0002620    P   R   O   C   E   D   U   R   E   [   g   a   p   ,       n
0002640    C   e   l   l   s   ,       s   i   z   e   P   e   r   C   e
0002660    l   l   :       l   o   c   N   u   m   ]       R   E   T   U
0002700    R   N   S   [   I   N   T   E   G   E   R   ]       =  \r    
0002720                B   E   G   I   N  \r                   c   e   l
0002740    l   s   P   e   r   G   a   p   :       I   N   T   E   G   E
0002760    R       _       C   e   l   l   s   P   e   r   G   a   p   [
0003000    g   a   p   ,       s   i   z   e   P   e   r   C   e   l   l
0003020    ]   ;  \r                   R   E   T   U   R   N   [   I   F
0003040        c   e   l   l   s   P   e   r   G   a   p   =   0       T
0003060    H   E   N       0       E   L   S   E     376 001  \0   H 036
0003100    n   C   e   l   l   s   /   c   e   l   l   s   P   e   r   G
0003120    a   p   ]   ;  \r                   E   N   D   ;  \r  \r  \r
0003140            P   l   a   c   e   L   i   s   t   :       P   R   O
0003160    C   E   D   U   R   E   [   t   o   :       l   i   s   t   P
0003200    t   r       _       N   I   L   ,       l   p   :       l   i
0003220    s   t   P   t   r   ,       c   e   l   l   S   i   z   e   :
0003240        P   o   i   n   t   ,  \r                   r   e   p   :
0003260        P   o   i   n   t       _       [   0   ,   0   ]   ,    
0003300    m   i   d   C   e   l   l   S   i   z   e   :       P   o   i
0003320    n   t       _       [   0   ,   0   ]   ,  \r                
0003340    m   i   d   G   a   p   :       P   o   i   n   t       _    
0003360    [   0   ,   0   ]   ]       R   E   T   U   R   N   S   [   l
0003400    i   s   t   P   t   r   ]       =  \r                   B   E
0003420    G   I   N  \r                   c   p   :       P   o   i   n
0003440    t       _       O   f   f   s   e   t   [   c   e   l   l   S
0003460    i   z   e   :       c   e   l   l   S   i   z   e   ,       d
0003500  376 001  \0 337 203   i   r   :       d   i   a   g   o   n   a
0003520    l   ,       r   e   p   :       r   e   p   ,  \r            
0003540                m   i   d   C   e   l   l   S   i   z   e   :    
0003560    m   i   d   C   e   l   l   S   i   z   e   ,       m   i   d
0003600    G   a   p   :       m   i   d   G   a   p   ]   ;  \r        
0003620            W   H   I   L   E       l   p   #   N   I   L       D
0003640    O  \r                           t   o       _       c   o   p
0003660    y   O   b   j   e   c   t   [   l   p   :       l   p   ,    
0003700    m   p   :       t   o   ,       x   o   f   f   :       c   p
0003720    .   x   ,       y   o   f   f   :       c   p   .   y   ]   ;
0003740   \r                           l   p       _       l   p   .   n
0003760    x   t   ;  \r                           E   N   D   L   O   O
0004000    P   ;  \r                   R   E   T   U   R   N   [   t   o
0004020    ]   ;  \r                   E   N   D   ;  \r  \r  \r        
0004040    -   -       M       a       i       n               P       r
0004060        o       g       r       a       m  \r  \r           B   E
0004100    G   I   N  \r     376 001  \0   N 223       E   N   A   B   L
0004120    E  \r                   B   E   G   I   N  \r                
0004140    P   u   n   t       =   >       G   O   T   O       E   x   i
0004160    t   ;           -   -       f   o   r       e   x   i   t   s
0004200   \r                   U   N   W   I   N   D       =   >       C
0004220    o   l   o   r   O   n   [   ]   ;  \r                   E   N
0004240    D   ;  \r  \r           h   R   e   p   ,       v   R   e   p
0004260    ,       h   S   i   z   e   ,       v   S   i   z   e   :    
0004300    l   o   c   N   u   m   ;  \r           s   e   l   R   e   c
0004320    t   ,       b   o   u   n   d   a   r   y   :       R   e   c
0004340    t   ;  \r           s   e   l   L   i   s   t   ,       s   e
0004360    l   L   i   s   t   T   a   i   l   ,       c   o   p   y   L
0004400    i   s   t   :       l   i   s   t   P   t   r       _       N
0004420    I   L   ;  \r           u   s   e   B   o   u   n   d   i   n
0004440    g   B   o   x   :       B   O   O   L   E   A   N   ;  \r  \r
0004460            l   p   p   :       L   O   N   G       P   O   I   N
0004500    T   E   R       T   O       l   i   s 376 001  \0 255 340   t
0004520    P   t   r   ;  \r  \r           C   o   l   o   r   O   f   f
0004540    [   ]   ;  \r  \r           h   R   e   p       _       R   e
0004560    q   u   e   s   t   I   n   t   e   g   e   r   [   "   R   e
0004600    p   l   i   c   a   t   e       s   e   l   e   c   t   e   d
0004620        i   t   e   m   s   "   L   ,  \r                   "   H
0004640    o   w       m   a   n   y       t   i   m   e   s       h   o
0004660    r   i   z   o   n   t   a   l   l   y   ?   "   L   ]   ;  \r
0004700            v   R   e   p       _       R   e   q   u   e   s   t
0004720    I   n   t   e   g   e   r   [   "   R   e   p   l   i   c   a
0004740    t   e       s   e   l   e   c   t   e   d       i   t   e   m
0004760    s   "   L   ,  \r                   "   H   o   w       m   a
0005000    n   y       t   i   m   e   s       v   e   r   t   i   c   a
0005020    l   l   y   ?   "   L   ]   ;  \r  \r           I   F       N
0005040    O   T       (   u   s   e   B   o   u   n   d   i   n   g   B
0005060    o   x       _  \r                   H   e   S   a   y   s   Y
0005100    e   s   [   "   S   h   o   u   l   d       I       t   a 376
0005120  001  \0   m 241   k   e       t   h   e       p   i   t   c   h
0005140        f   r   o   m       t   h   e   "   L   ,  \r            
0005160        "   b   o   u   n   d   i   n   g       b   o   x       o
0005200    f       t   h   e       s   e   l   e   c   t   e   d       i
0005220    t   e   m   s   ?   "   L   ]   )       T   H   E   N  \r    
0005240                B   E   G   I   N  \r                   I   F    
0005260    H   e   S   a   y   s   Y   e   s   [   "   O   K   ,       t
0005300    h   e   n       s   h   o   u   l   d       I       t   a   k
0005320    e       t   h   e       p   i   t   c   h       f   r   o   m
0005340        t   h   e   "   L   ,  \r                           "   g
0005360    a   p       b   e   t   w   e   e   n       m   a   r   k    
0005400    a   n   d       c   u   r   s   o   r   ?   "   ]       T   H
0005420    E   N  \r                           {   h   S   i   z   e    
0005440    _       x   x   -   m   a   r   k   P   n   t   .   x   ;    
0005460    v   S   i   z   e       _       y   y   -   m   a   r   k   P
0005500    n   t   .   y   }  \r                   E   L   S   E       {
0005520    E   x   p   l 376 001  \0  \v 032   a   i   n   [   "   T   h
0005540    a   t   '   s       a   l   l       I       k   n   o   w    
0005560    h   o   w       t   o       d   o   !   "   L   ]   ;       G
0005600    O   T   O       E   x   i   t   }   ;  \r                   E
0005620    N   D   ;  \r  \r           l   p   p       _       @   m   a
0005640    s   t   e   r   L   i   s   t   ;  \r           W   H   I   L
0005660    E       l   p   p   ^   #   N   I   L       D   O  \r        
0005700            I   F       l   p   p   ^   .   s   e   l   e   c   t
0005720    e   d       T   H   E   N  \r                           B   E
0005740    G   I   N  \r                           l   p   :       l   i
0005760    s   t   P   t   r       _       l   p   p   ^   ;  \r        
0006000                    l   p   p   ^       _       l   p   .   n   x
0006020    t   ;  \r                           l   p   .   n   x   t    
0006040    _       s   e   l   L   i   s   t   ;  \r                    
0006060        s   e   l   R   e   c   t       _       I   F       s   e
0006100    l   L   i   s   t   =   N   I   L       T   H   E   N       g
0006120    e   t   R   e   c   t   [   l   p 376 001  \0   < 343   ]    
0006140    E   L   S   E  \r                                   m   e   r
0006160    g   e   R   e   c   t   s   [   s   e   l   R   e   c   t   ,
0006200        g   e   t   R   e   c   t   [   l   p   ]   ]   ;  \r    
0006220                        s   e   l   L   i   s   t       _       l
0006240    p   ;  \r                           I   F       s   e   l   L
0006260    i   s   t   T   a   i   l   =   N   I   L       T   H   E   N
0006300        s   e   l   L   i   s   t   T   a   i   l       _       l
0006320    p   ;  \r                           E   N   D  \r            
0006340        E   L   S   E       l   p   p       _       @   l   p   p
0006360    ^   .   n   x   t   ;  \r                   E   N   D   L   O
0006400    O   P   ;  \r  \r           I   F       s   e   l   L   i   s
0006420    t   =   N   I   L       T   H   E   N  \r                   {
0006440    E   x   p   l   a   i   n   [   "   N   o       s   e   l   e
0006460    c   t   i   o   n   s   !   "   L   ]   ;       G   O   T   O
0006500        E   x   i   t   }   ;  \r  \r           I   F       u   s
0006520    e   B   o   u   n   d   i   n   g   B   o   x       T 376 001
0006540   \0   I   Q   H   E   N  \r                   {   h   S   i   z
0006560    e       _       s   e   l   R   e   c   t   .   x   2   -   s
0006600    e   l   R   e   c   t   .   x   1   ;       v   S   i   z   e
0006620        _       s   e   l   R   e   c   t   .   y   2   -   s   e
0006640    l   R   e   c   t   .   y   1   }   ;  \r  \r           F   O
0006660    R       h   :       l   o   c   N   u   m       I   N       [
0006700    0   .   .   h   R   e   p   )       D   O       F   O   R    
0006720    v   :       l   o   c   N   u   m       I   N       [   0   .
0006740    .   v   R   e   p   )       D   O  \r                   I   F
0006760        h   #   0       O   R       v   #   0       T   H   E   N
0007000   \r                           B   E   G   I   N  \r            
0007020                c   o   p   y   L   i   s   t       _       P   l
0007040    a   c   e   L   i   s   t   [   t   o   :       c   o   p   y
0007060    L   i   s   t   ,       l   p   :       s   e   l   L   i   s
0007100    t   ,  \r                                   c   e   l   l   S
0007120    i   z   e   :       [   x   :       h   S   i   z   e   ,    
0007140    y   :     376 001  \0   O   =   v   S   i   z   e   ]   ,    
0007160    r   e   p   :       [   x   :       h   ,       y   :       v
0007200    ]   ]   ;  \r                           E   N   D   ;  \r    
0007220                E   N   D   L   O   O   P       E   N   D   L   O
0007240    O   P   ;  \r  \r           s   e   l   L   i   s   t   T   a
0007260    i   l   .   n   x   t       _       c   o   p   y   L   i   s
0007300    t   ;  \r           c   o   p   y   L   i   s   t       _    
0007320    N   I   L   ;  \r           b   o   u   n   d   a   r   y    
0007340    _       g   e   t   R   e   c   t   [   s   e   l   L   i   s
0007360    t   ]   ;  \r           W   H   I   L   E       s   e   l   L
0007400    i   s   t   #   N   I   L       D   O  \r                   l
0007420    p   :       l   i   s   t   P   t   r       _       s   e   l
0007440    L   i   s   t   ;  \r                   s   e   l   L   i   s
0007460    t       _       l   p   .   n   x   t   ;  \r                
0007500    l   p   .   s   e   l   e   c   t   e   d       _       T   R
0007520    U   E   ;  \r                   b   o   u   n   d   a   r   y
0007540        _       m   e   r   g   e 376 001  \0 372 322   R   e   c
0007560    t   s   [   b   o   u   n   d   a   r   y   ,       g   e   t
0007600    R   e   c   t   [   l   p   ]   ]   ;  \r                   m
0007620    a   s   t   e   r   L   i   s   t       _       i   n   s   e
0007640    r   t   L   i   s   t   [   m   a   s   t   e   r   L   i   s
0007660    t   ,       l   p   ]   ;  \r                   E   N   D   L
0007700    O   O   P   ;  \r  \r           r   e   D   r   a   w   R   e
0007720    c   t   [   b   o   u   n   d   a   r   y   ,       0   ,    
0007740    T   R   U   E   ,       T   R   U   E   ,       F   A   L   S
0007760    E   ]   ;  \r  \r           E   X   I   T   S       E   x   i
0010000    t       =   >       N   U   L   L   ;  \r           E   N   D
0010020    ;  \r  \r           -   -       g   i   v   e       b   a   c
0010040    k       a   l   l       t   h   e       s   t   o   r   a   g
0010060    e       w   e       a   l   l   o   c   a   t   e   d  \r  \r
0010100            C   o   l   o   r   O   n   [   ]   ;  \r           a
0010120    n   y   C   h   a   n   g   e   s       _       s   i   n   c
0010140    e   I   O   c   h   a   n   g   e   s       _     376  \0   "
0010160  004 266   T   R   U   E   ;  \r  \r           E   N   D   .    
0010200    -   -       o   f       R   e   p   l   i   c   a   t   e   M
0010220    a   i   n  \r 377  \0  \0   r   e   p   l   i   c   a   t   e
0010240    .   c   o   n   f   i   g  \0 373 230 242 233   w  \0  \0 376
0010260  001  \0 267   .   -   -       R   e   p   l   i   c   a   t   e
0010300    .   c   o   n   f   i   g  \r  \r   -   -       m   o   d   i
0010320    f   i   e   d       b   y       M   c   C   r   e   i   g   h
0010340    t   :           F   e   b   r   u   a   r   y       2   3   ,
0010360        1   9   8   2           1   1   :   3   0       A   M  \r
0010400    -   -       w   r   i   t   t   e   n       b   y       M   c
0010420    C   r   e   i   g   h   t   :           N   o   v   e   m   b
0010440    e   r       6   ,       1   9   8   1           6   :   0   1
0010460        P   M  \r  \r   R   e   p   l   i   c   a   t   e   :    
0010500    C   O   N   F   I   G   U   R   A   T   I   O   N  \r   I   M
0010520    P   O   R   T   S  \r           m   u   l   t   i   G   r   a
0010540    p   h   i   c   s   D   e   f   s   ,   p   p   d   d   d   e
0010560    f   s   ,   p   p   d   d   e   f   s   ,   p   p   d   e   f
0010600    s   ,   P   r   o   c   e   s   s   D   e   f   s   ,  \r    
0010620        S   e   g   m   e   n   t   D   e   f   s   ,   S   t   r
0010640    i   n   g   D   e   f   s  \r   C   O   N   T   R   O   L  \r
0010660            R   e 376  \0   G 325  \t   p   l   i   c   a   t   e
0010700    M   a   i   n       =  \r   B   E   G   I   N  \r   R   e   p
0010720    l   i   c   a   t   e   M   a   i   n   ;   R   o   m   M   a
0010740    k   e   r   C   o   m   m   o   n   ;   C   h   i   p   U   s
0010760    e   r   I   n   t   I   m   p   l   ;  \r   E   N   D   .  \r
0011000  377  \0  \0   r   e   p   l   i   c   a   t   e   -   s   a   v
0011020    e   .   c   m  \0 373 230 027   - 331  \0  \0 376  \0 272   K
0011040    ?   f   t   p       i   n   d   i   g   o       c   o   n   n
0011060    /   c       c   h   i   p   m   o   n   k       d   i   r   /
0011100    c       >   r   e   p   l   i   c   a   t   e       s   t   /
0011120    c       r   e   p   l   i   c   a   t   e   .   c   h   i   p
0011140    b   c   d       r   e   p   l   i   c   a   t   e   .   s   y
0011160    m   b   o   l   s       d   u   m   p   /   c       r   e   p
0011200    l   i   c   a   t   e   -   s   o   u   r   c   e   s   .   d
0011220    m       r   e   p   l   i   c   a   t   e   m   a   i   n   .
0011240    m   e   s   a       r   e   p   l   i   c   a   t   e   .   c
0011260    o   n   f   i   g       r   e   p   l   i   c   a   t   e   -
0011300    s   a   v   e   .   c   m       r   e   p   l   i   c   a   t
0011320    e   -   d   e   l   e   t   e   .   c   m 377  \0  \0   r   e
0011340    p   l   i   c   a   t   e   -   d   e   l   e   t   e   .   c
0011360    m  \0 373 230 027   - 225  \0  \0 376  \0 237 255 345   d   e
0011400    l   e   t   e       r   e   p   l   i   c   a   t   e   .   c
0011420    o   n   f   i   g       r   e   p   l   i   c   a   t   e   m
0011440    a   i   n   .   m   e   s   a       r   e   p   l   i   c   a
0011460    t   e   -   s   a   v   e   .   c   m       r   e   p   l   i
0011500    c   a   t   e   -   d   e   l   e   t   e   .   c   m  \r   @
0011520    .   s   y   m   b   o   l   s   .   .   .   @       d   e   l
0011540    e   t   e       r   e   p   l   i   c   a   t   e   .   s   y
0011560    m   b   o   l   s  \r   @   .   c   h   i   p   b   c   d   .
0011600    .   .   @       d   e   l   e   t   e       r   e   p   l   i
0011620    c   a   t   e   .   c   h   i   p   b   c   d  \r 374        
0011636