$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron3.0>Derived>SaffronAG9Def.Mesa!33
0000000    -   -       S   a   f   f   r   o   n   A   G   9   D   e   f
0000020    .   m   e   s   a  \r       -   -       C   o   p   y   r   i
0000040    g   h   t     323       1   9   8   7       b   y       X   e
0000060    r   o   x       C   o   r   p   o   r   a   t   i   o   n   .
0000100            A   l   l       r   i   g   h   t   s       r   e   s
0000120    e   r   v   e   d   .  \r       -   -       G   e   n   e   r
0000140    a   t   e   d       b   y       R   a   u   e   n   .   p   a
0000160        a   t       S   e   p   t   e   m   b   e   r       1   ,
0000200        1   9   8   8       2   :   4   6   :   1   1       p   m
0000220        P   D   T  \r       -   -           u   s   i   n   g    
0000240    T   h   r   e   e   C   a   s   a   b   a   F   o   u   r    
0000260    [   1   .   2   ]       o   f       J   u   n   e       1   ,
0000300        1   9   8   7       6   :   0   0   :   0   0       p   m
0000320        P   D   T  \r  \r   D   I   R   E   C   T   O   R   Y  \r
0000340   \t   S   a   f   f   r   o   n   T   r   e   e   D   e   c   l
0000360    s   D   e   f   ,  \r  \t   S   a   f   f   r   o   n   G   e
0000400    n   e   r   i   c   D   e   f   ,  \r  \t   S   a   f   f   r
0000420    o   n   A   T   D   e   f   ;  \r  \r   S   a   f   f   r   o
0000440    n   A   G   9   D   e   f   :       C   E   D   A   R       D
0000460    E   F   I   N   I   T   I   O   N   S       =      \r   B   E
0000500    G   I   N  \r   O   P   E   N       S   a   f   f   r   o   n
0000520    T   r   e   e   D   e   c   l   s   D   e   f   ,       S   a
0000540    f   f   r   o   n   G   e   n   e   r   i   c   D   e   f   ,
0000560        S   a   f   f   r   o   n   A   T   D   e   f   ;  \r  \r
0000600    -   -       M   o   d   u   l   e   P   i   m   p   l   P   r
0000620    o   d  \r  \r   M   o   d   u   l   e   P   i   m   p   l   P
0000640    r   o   d   D   a   t   a   :  \t   T   Y   P   E       =    
0000660    R   E   F       M   o   d   u   l   e   P   i   m   p   l   P
0000700    r   o   d   D   a   t   a   B   o   d   y   ;  \r   M   o   d
0000720    u   l   e   P   i   m   p   l   P   r   o   d   D   a   t   a
0000740    B   o   d   y   :  \t   T   Y   P   E       =       R   E   C
0000760    O   R   D   [  \r   D   i   r   e   c   t   o   r   y   :    
0001000    D   i   r   e   c   t   o   r   y   N   o   d   e   ,       I
0001020    d   e   n   t   L   i   s   t   :       I   d   e   n   t   L
0001040    i   s   t   N   o   d   e   ,       C   e   d   a   r   :    
0001060    C   e   d   a   r   N   o   d   e   ,       P   r   o   g   H
0001100    e   a   d   :       P   r   o   g   H   e   a   d   N   o   d
0001120    e   ,       C   h   e   c   k   e   d   :       C   h   e   c
0001140    k   e   d   N   o   d   e   ,       B   l   o   c   k   :    
0001160    B   l   o   c   k   N   o   d   e   ]   ;  \r  \r   M   o   d
0001200    u   l   e   P   i   m   p   l   P   r   o   d   P   r   o   c
0001220    s   :  \t   M   o   d   u   l   e   P   N   o   d   e   P   r
0001240    o   c   s   ;  \r  \r   B   u   i   l   d   M   o   d   u   l
0001260    e   P   i   m   p   l   P   r   o   d   N   o   d   e   :  \t
0001300    P   R   O   C   [   p   o   s   i   t   i   o   n   :       I
0001320    N   T   ,       l   e   n   g   t   h   :       I   N   T   ,
0001340        D   i   r   e   c   t   o   r   y   :       D   i   r   e
0001360    c   t   o   r   y   N   o   d   e   ,       I   d   e   n   t
0001400    L   i   s   t   :       I   d   e   n   t   L   i   s   t   N
0001420    o   d   e   ,       C   e   d   a   r   :       C   e   d   a
0001440    r   N   o   d   e   ,       P   r   o   g   H   e   a   d   :
0001460        P   r   o   g   H   e   a   d   N   o   d   e   ,       C
0001500    h   e   c   k   e   d   :       C   h   e   c   k   e   d   N
0001520    o   d   e   ,       B   l   o   c   k   :       B   l   o   c
0001540    k   N   o   d   e   ]  \r  \t   R   E   T   U   R   N   S   [
0001560    M   o   d   u   l   e   P   N   o   d   e   ]   ;  \r  \r   M
0001600    o   d   u   l   e   P   i   m   p   l   P   r   o   d   M   a
0001620    k   e   E   n   v   i   r   o   n   m   e   n   t   :  \t   M
0001640    a   k   e   E   n   v   i   r   o   n   m   e   n   t   P   r
0001660    o   c   T   y   p   e   ;  \r  \r   -   -       M   o   d   u
0001700    l   e   P   d   e   f   P   r   o   d  \r  \r   M   o   d   u
0001720    l   e   P   d   e   f   P   r   o   d   D   a   t   a   :  \t
0001740    T   Y   P   E       =       R   E   F       M   o   d   u   l
0001760    e   P   d   e   f   P   r   o   d   D   a   t   a   B   o   d
0002000    y   ;  \r   M   o   d   u   l   e   P   d   e   f   P   r   o
0002020    d   D   a   t   a   B   o   d   y   :  \t   T   Y   P   E    
0002040    =       R   E   C   O   R   D   [  \r   D   i   r   e   c   t
0002060    o   r   y   :       D   i   r   e   c   t   o   r   y   N   o
0002100    d   e   ,       I   d   e   n   t   L   i   s   t   :       I
0002120    d   e   n   t   L   i   s   t   N   o   d   e   ,       C   e
0002140    d   a   r   :       C   e   d   a   r   N   o   d   e   ,    
0002160    D   e   f   H   e   a   d   :       D   e   f   H   e   a   d
0002200    N   o   d   e   ,       D   e   f   B   o   d   y   :       D
0002220    e   f   B   o   d   y   N   o   d   e   ]   ;  \r  \r   M   o
0002240    d   u   l   e   P   d   e   f   P   r   o   d   P   r   o   c
0002260    s   :  \t   M   o   d   u   l   e   P   N   o   d   e   P   r
0002300    o   c   s   ;  \r  \r   B   u   i   l   d   M   o   d   u   l
0002320    e   P   d   e   f   P   r   o   d   N   o   d   e   :  \t   P
0002340    R   O   C   [   p   o   s   i   t   i   o   n   :       I   N
0002360    T   ,       l   e   n   g   t   h   :       I   N   T   ,    
0002400    D   i   r   e   c   t   o   r   y   :       D   i   r   e   c
0002420    t   o   r   y   N   o   d   e   ,       I   d   e   n   t   L
0002440    i   s   t   :       I   d   e   n   t   L   i   s   t   N   o
0002460    d   e   ,       C   e   d   a   r   :       C   e   d   a   r
0002500    N   o   d   e   ,       D   e   f   H   e   a   d   :       D
0002520    e   f   H   e   a   d   N   o   d   e   ,       D   e   f   B
0002540    o   d   y   :       D   e   f   B   o   d   y   N   o   d   e
0002560    ]  \r  \t   R   E   T   U   R   N   S   [   M   o   d   u   l
0002600    e   P   N   o   d   e   ]   ;  \r  \r   M   o   d   u   l   e
0002620    P   d   e   f   P   r   o   d   M   a   k   e   E   n   v   i
0002640    r   o   n   m   e   n   t   :  \t   M   a   k   e   E   n   v
0002660    i   r   o   n   m   e   n   t   P   r   o   c   T   y   p   e
0002700    ;  \r  \r   -   -       D   i   r   e   c   t   o   r   y   e
0002720    m   p   t   y   P   r   o   d  \r  \r   D   i   r   e   c   t
0002740    o   r   y   e   m   p   t   y   P   r   o   d   D   a   t   a
0002760    :  \t   T   Y   P   E       =       R   E   F       D   i   r
0003000    e   c   t   o   r   y   e   m   p   t   y   P   r   o   d   D
0003020    a   t   a   B   o   d   y   ;  \r   D   i   r   e   c   t   o
0003040    r   y   e   m   p   t   y   P   r   o   d   D   a   t   a   B
0003060    o   d   y   :  \t   T   Y   P   E       =       R   E   C   O
0003100    R   D   [  \r   ]   ;  \r  \r   D   i   r   e   c   t   o   r
0003120    y   e   m   p   t   y   P   r   o   d   P   r   o   c   s   :
0003140   \t   D   i   r   e   c   t   o   r   y   N   o   d   e   P   r
0003160    o   c   s   ;  \r  \r   B   u   i   l   d   D   i   r   e   c
0003200    t   o   r   y   e   m   p   t   y   P   r   o   d   N   o   d
0003220    e   :  \t   P   R   O   C   [   p   o   s   i   t   i   o   n
0003240    :       I   N   T   ,       l   e   n   g   t   h   :       I
0003260    N   T   ]  \r  \t   R   E   T   U   R   N   S   [   D   i   r
0003300    e   c   t   o   r   y   N   o   d   e   ]   ;  \r  \r   D   i
0003320    r   e   c   t   o   r   y   e   m   p   t   y   P   r   o   d
0003340    P   r   o   c   e   s   s   D   i   r   e   c   t   o   r   y
0003360    C   l   a   u   s   e   :  \t   P   r   o   c   e   s   s   D
0003400    i   r   e   c   t   o   r   y   C   l   a   u   s   e   P   r
0003420    o   c   T   y   p   e   ;  \r  \r   -   -       D   i   r   e
0003440    c   t   o   r   y   m   o   r   e   P   r   o   d  \r  \r   D
0003460    i   r   e   c   t   o   r   y   m   o   r   e   P   r   o   d
0003500    D   a   t   a   :  \t   T   Y   P   E       =       R   E   F
0003520        D   i   r   e   c   t   o   r   y   m   o   r   e   P   r
0003540    o   d   D   a   t   a   B   o   d   y   ;  \r   D   i   r   e
0003560    c   t   o   r   y   m   o   r   e   P   r   o   d   D   a   t
0003600    a   B   o   d   y   :  \t   T   Y   P   E       =       R   E
0003620    C   O   R   D   [  \r   D   i   r   e   c   t   o   r   y   :
0003640        D   i   r   e   c   t   o   r   y   N   o   d   e   ,    
0003660    I   n   c   l   u   d   e   I   t   e   m   :       I   n   c
0003700    l   u   d   e   I   t   e   m   N   o   d   e   ]   ;  \r  \r
0003720    D   i   r   e   c   t   o   r   y   m   o   r   e   P   r   o
0003740    d   P   r   o   c   s   :  \t   D   i   r   e   c   t   o   r
0003760    y   N   o   d   e   P   r   o   c   s   ;  \r  \r   B   u   i
0004000    l   d   D   i   r   e   c   t   o   r   y   m   o   r   e   P
0004020    r   o   d   N   o   d   e   :  \t   P   R   O   C   [   p   o
0004040    s   i   t   i   o   n   :       I   N   T   ,       l   e   n
0004060    g   t   h   :       I   N   T   ,       D   i   r   e   c   t
0004100    o   r   y   :       D   i   r   e   c   t   o   r   y   N   o
0004120    d   e   ,       I   n   c   l   u   d   e   I   t   e   m   :
0004140        I   n   c   l   u   d   e   I   t   e   m   N   o   d   e
0004160    ]  \r  \t   R   E   T   U   R   N   S   [   D   i   r   e   c
0004200    t   o   r   y   N   o   d   e   ]   ;  \r  \r   D   i   r   e
0004220    c   t   o   r   y   m   o   r   e   P   r   o   d   P   r   o
0004240    c   e   s   s   D   i   r   e   c   t   o   r   y   C   l   a
0004260    u   s   e   :  \t   P   r   o   c   e   s   s   D   i   r   e
0004300    c   t   o   r   y   C   l   a   u   s   e   P   r   o   c   T
0004320    y   p   e   ;  \r  \r   -   -       I   n   c   l   u   d   e
0004340    I   t   e   m   P   r   o   d  \r  \r   I   n   c   l   u   d
0004360    e   I   t   e   m   P   r   o   d   D   a   t   a   :  \t   T
0004400    Y   P   E       =       R   E   F       I   n   c   l   u   d
0004420    e   I   t   e   m   P   r   o   d   D   a   t   a   B   o   d
0004440    y   ;  \r   I   n   c   l   u   d   e   I   t   e   m   P   r
0004460    o   d   D   a   t   a   B   o   d   y   :  \t   T   Y   P   E
0004500        =       R   E   C   O   R   D   [  \r   I   d   l   o   c
0004520    a   l   :       I   d   N   o   d   e   ,       I   d   O   r
0004540    S   t   r   i   n   g   :       I   d   O   r   S   t   r   i
0004560    n   g   N   o   d   e   ,       I   d   m   o   d   u   l   e
0004600    N   a   m   e   :       I   d   N   o   d   e   ,       U   s
0004620    i   n   g   :       U   s   i   n   g   N   o   d   e   ]   ;
0004640   \r  \r   I   n   c   l   u   d   e   I   t   e   m   P   r   o
0004660    d   P   r   o   c   s   :  \t   I   n   c   l   u   d   e   I
0004700    t   e   m   N   o   d   e   P   r   o   c   s   ;  \r  \r   B
0004720    u   i   l   d   I   n   c   l   u   d   e   I   t   e   m   P
0004740    r   o   d   N   o   d   e   :  \t   P   R   O   C   [   p   o
0004760    s   i   t   i   o   n   :       I   N   T   ,       l   e   n
0005000    g   t   h   :       I   N   T   ,       I   d   l   o   c   a
0005020    l   :       I   d   N   o   d   e   ,       I   d   O   r   S
0005040    t   r   i   n   g   :       I   d   O   r   S   t   r   i   n
0005060    g   N   o   d   e   ,       I   d   m   o   d   u   l   e   N
0005100    a   m   e   :       I   d   N   o   d   e   ,       U   s   i
0005120    n   g   :       U   s   i   n   g   N   o   d   e   ]  \r  \t
0005140    R   E   T   U   R   N   S   [   I   n   c   l   u   d   e   I
0005160    t   e   m   N   o   d   e   ]   ;  \r  \r   I   n   c   l   u
0005200    d   e   I   t   e   m   P   r   o   d   P   r   o   c   e   s
0005220    s   D   i   r   e   c   t   o   r   y   I   t   e   m   :  \t
0005240    P   r   o   c   e   s   s   D   i   r   e   c   t   o   r   y
0005260    I   t   e   m   P   r   o   c   T   y   p   e   ;  \r  \r   -
0005300    -   I   d   O   r   S   t   r   i   n   g  \r  \r   I   d   O
0005320    r   S   t   r   i   n   g   N   o   d   e   :  \t   T   Y   P
0005340    E       =       R   E   F       I   d   O   r   S   t   r   i
0005360    n   g   N   o   d   e   B   o   d   y   ;  \r   I   d   O   r
0005400    S   t   r   i   n   g   N   o   d   e   B   o   d   y   :  \t
0005420    T   Y   P   E       =       R   E   C   O   R   D   [  \r  \t
0005440    p   o   s   i   t   i   o   n   :  \t   I   N   T   ,       l
0005460    e   n   g   t   h   :  \t   I   N   T   ,  \r  \t   p   r   o
0005500    c   s   :  \t   I   d   O   r   S   t   r   i   n   g   N   o
0005520    d   e   P   r   o   c   s   ,  \r  \t   d   a   t   a   :  \t
0005540    R   E   F       A   N   Y   ]   ;  \r  \r   I   d   O   r   S
0005560    t   r   i   n   g   N   o   d   e   P   r   o   c   s   :  \t
0005600    T   Y   P   E       =       R   E   F       I   d   O   r   S
0005620    t   r   i   n   g   N   o   d   e   P   r   o   c   s   B   o
0005640    d   y   ;  \r   I   d   O   r   S   t   r   i   n   g   N   o
0005660    d   e   P   r   o   c   s   B   o   d   y   :  \t   T   Y   P
0005700    E       =       R   E   C   O   R   D   [  \r  \r  \t   R   o
0005720    p   e   F   r   o   m   I   d   O   r   S   t   r   i   n   g
0005740    :  \t   R   o   p   e   F   r   o   m   I   d   O   r   S   t
0005760    r   i   n   g   P   r   o   c   T   y   p   e   ]   ;  \r  \r
0006000   \r   -   -       I   d   O   r   S   t   r   i   n   g   i   d
0006020    P   r   o   d  \r  \r   I   d   O   r   S   t   r   i   n   g
0006040    i   d   P   r   o   d   D   a   t   a   :  \t   T   Y   P   E
0006060        =       R   E   F       I   d   O   r   S   t   r   i   n
0006100    g   i   d   P   r   o   d   D   a   t   a   B   o   d   y   ;
0006120   \r   I   d   O   r   S   t   r   i   n   g   i   d   P   r   o
0006140    d   D   a   t   a   B   o   d   y   :  \t   T   Y   P   E    
0006160    =       R   E   C   O   R   D   [  \r   I   d   :       I   d
0006200    N   o   d   e   ]   ;  \r  \r   I   d   O   r   S   t   r   i
0006220    n   g   i   d   P   r   o   d   P   r   o   c   s   :  \t   I
0006240    d   O   r   S   t   r   i   n   g   N   o   d   e   P   r   o
0006260    c   s   ;  \r  \r   B   u   i   l   d   I   d   O   r   S   t
0006300    r   i   n   g   i   d   P   r   o   d   N   o   d   e   :  \t
0006320    P   R   O   C   [   p   o   s   i   t   i   o   n   :       I
0006340    N   T   ,       l   e   n   g   t   h   :       I   N   T   ,
0006360        I   d   :       I   d   N   o   d   e   ]  \r  \t   R   E
0006400    T   U   R   N   S   [   I   d   O   r   S   t   r   i   n   g
0006420    N   o   d   e   ]   ;  \r  \r   I   d   O   r   S   t   r   i
0006440    n   g   i   d   P   r   o   d   R   o   p   e   F   r   o   m
0006460    I   d   O   r   S   t   r   i   n   g   :  \t   R   o   p   e
0006500    F   r   o   m   I   d   O   r   S   t   r   i   n   g   P   r
0006520    o   c   T   y   p   e   ;  \r  \r   -   -       I   d   O   r
0006540    S   t   r   i   n   g   s   t   r   i   n   g   P   r   o   d
0006560   \r  \r   I   d   O   r   S   t   r   i   n   g   s   t   r   i
0006600    n   g   P   r   o   d   D   a   t   a   :  \t   T   Y   P   E
0006620        =       R   E   F       I   d   O   r   S   t   r   i   n
0006640    g   s   t   r   i   n   g   P   r   o   d   D   a   t   a   B
0006660    o   d   y   ;  \r   I   d   O   r   S   t   r   i   n   g   s
0006700    t   r   i   n   g   P   r   o   d   D   a   t   a   B   o   d
0006720    y   :  \t   T   Y   P   E       =       R   E   C   O   R   D
0006740    [  \r   S   t   r   i   n   g   :       S   t   r   i   n   g
0006760    N   o   d   e   ]   ;  \r  \r   I   d   O   r   S   t   r   i
0007000    n   g   s   t   r   i   n   g   P   r   o   d   P   r   o   c
0007020    s   :  \t   I   d   O   r   S   t   r   i   n   g   N   o   d
0007040    e   P   r   o   c   s   ;  \r  \r   B   u   i   l   d   I   d
0007060    O   r   S   t   r   i   n   g   s   t   r   i   n   g   P   r
0007100    o   d   N   o   d   e   :  \t   P   R   O   C   [   p   o   s
0007120    i   t   i   o   n   :       I   N   T   ,       l   e   n   g
0007140    t   h   :       I   N   T   ,       S   t   r   i   n   g   :
0007160        S   t   r   i   n   g   N   o   d   e   ]  \r  \t   R   E
0007200    T   U   R   N   S   [   I   d   O   r   S   t   r   i   n   g
0007220    N   o   d   e   ]   ;  \r  \r   I   d   O   r   S   t   r   i
0007240    n   g   s   t   r   i   n   g   P   r   o   d   R   o   p   e
0007260    F   r   o   m   I   d   O   r   S   t   r   i   n   g   :  \t
0007300    R   o   p   e   F   r   o   m   I   d   O   r   S   t   r   i
0007320    n   g   P   r   o   c   T   y   p   e   ;  \r  \r   -   -    
0007340    U   s   i   n   g   r   e   s   t   r   i   c   t   e   d   P
0007360    r   o   d  \r  \r   U   s   i   n   g   r   e   s   t   r   i
0007400    c   t   e   d   P   r   o   d   D   a   t   a   :  \t   T   Y
0007420    P   E       =       R   E   F       U   s   i   n   g   r   e
0007440    s   t   r   i   c   t   e   d   P   r   o   d   D   a   t   a
0007460    B   o   d   y   ;  \r   U   s   i   n   g   r   e   s   t   r
0007500    i   c   t   e   d   P   r   o   d   D   a   t   a   B   o   d
0007520    y   :  \t   T   Y   P   E       =       R   E   C   O   R   D
0007540    [  \r   I   d   L   i   s   t   :       I   d   L   i   s   t
0007560    N   o   d   e   ]   ;  \r  \r   U   s   i   n   g   r   e   s
0007600    t   r   i   c   t   e   d   P   r   o   d   P   r   o   c   s
0007620    :  \t   U   s   i   n   g   N   o   d   e   P   r   o   c   s
0007640    ;  \r  \r   B   u   i   l   d   U   s   i   n   g   r   e   s
0007660    t   r   i   c   t   e   d   P   r   o   d   N   o   d   e   :
0007700   \t   P   R   O   C   [   p   o   s   i   t   i   o   n   :    
0007720    I   N   T   ,       l   e   n   g   t   h   :       I   N   T
0007740    ,       I   d   L   i   s   t   :       I   d   L   i   s   t
0007760    N   o   d   e   ]  \r  \t   R   E   T   U   R   N   S   [   U
0010000    s   i   n   g   N   o   d   e   ]   ;  \r  \r   U   s   i   n
0010020    g   r   e   s   t   r   i   c   t   e   d   P   r   o   d   R
0010040    e   s   t   r   i   c   t   N   a   m   e   d   T   G   N   :
0010060   \t   R   e   s   t   r   i   c   t   N   a   m   e   d   T   G
0010100    N   P   r   o   c   T   y   p   e   ;  \r  \r   -   -       U
0010120    s   i   n   g   n   o   t   h   i   n   g   P   r   o   d  \r
0010140   \r   U   s   i   n   g   n   o   t   h   i   n   g   P   r   o
0010160    d   D   a   t   a   :  \t   T   Y   P   E       =       R   E
0010200    F       U   s   i   n   g   n   o   t   h   i   n   g   P   r
0010220    o   d   D   a   t   a   B   o   d   y   ;  \r   U   s   i   n
0010240    g   n   o   t   h   i   n   g   P   r   o   d   D   a   t   a
0010260    B   o   d   y   :  \t   T   Y   P   E       =       R   E   C
0010300    O   R   D   [  \r   ]   ;  \r  \r   U   s   i   n   g   n   o
0010320    t   h   i   n   g   P   r   o   d   P   r   o   c   s   :  \t
0010340    U   s   i   n   g   N   o   d   e   P   r   o   c   s   ;  \r
0010360   \r   B   u   i   l   d   U   s   i   n   g   n   o   t   h   i
0010400    n   g   P   r   o   d   N   o   d   e   :  \t   P   R   O   C
0010420    [   p   o   s   i   t   i   o   n   :       I   N   T   ,    
0010440    l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R   E
0010460    T   U   R   N   S   [   U   s   i   n   g   N   o   d   e   ]
0010500    ;  \r  \r   U   s   i   n   g   n   o   t   h   i   n   g   P
0010520    r   o   d   R   e   s   t   r   i   c   t   N   a   m   e   d
0010540    T   G   N   :  \t   R   e   s   t   r   i   c   t   N   a   m
0010560    e   d   T   G   N   P   r   o   c   T   y   p   e   ;  \r  \r
0010600    -   -       U   s   i   n   g   u   n   r   e   s   t   r   i
0010620    c   t   e   d   P   r   o   d  \r  \r   U   s   i   n   g   u
0010640    n   r   e   s   t   r   i   c   t   e   d   P   r   o   d   D
0010660    a   t   a   :  \t   T   Y   P   E       =       R   E   F    
0010700    U   s   i   n   g   u   n   r   e   s   t   r   i   c   t   e
0010720    d   P   r   o   d   D   a   t   a   B   o   d   y   ;  \r   U
0010740    s   i   n   g   u   n   r   e   s   t   r   i   c   t   e   d
0010760    P   r   o   d   D   a   t   a   B   o   d   y   :  \t   T   Y
0011000    P   E       =       R   E   C   O   R   D   [  \r   ]   ;  \r
0011020   \r   U   s   i   n   g   u   n   r   e   s   t   r   i   c   t
0011040    e   d   P   r   o   d   P   r   o   c   s   :  \t   U   s   i
0011060    n   g   N   o   d   e   P   r   o   c   s   ;  \r  \r   B   u
0011100    i   l   d   U   s   i   n   g   u   n   r   e   s   t   r   i
0011120    c   t   e   d   P   r   o   d   N   o   d   e   :  \t   P   R
0011140    O   C   [   p   o   s   i   t   i   o   n   :       I   N   T
0011160    ,       l   e   n   g   t   h   :       I   N   T   ]  \r  \t
0011200    R   E   T   U   R   N   S   [   U   s   i   n   g   N   o   d
0011220    e   ]   ;  \r  \r   U   s   i   n   g   u   n   r   e   s   t
0011240    r   i   c   t   e   d   P   r   o   d   R   e   s   t   r   i
0011260    c   t   N   a   m   e   d   T   G   N   :  \t   R   e   s   t
0011300    r   i   c   t   N   a   m   e   d   T   G   N   P   r   o   c
0011320    T   y   p   e   ;  \r  \r   -   -       D   e   f   B   o   d
0011340    y   P   r   o   d  \r  \r   D   e   f   B   o   d   y   P   r
0011360    o   d   D   a   t   a   :  \t   T   Y   P   E       =       R
0011400    E   F       D   e   f   B   o   d   y   P   r   o   d   D   a
0011420    t   a   B   o   d   y   ;  \r   D   e   f   B   o   d   y   P
0011440    r   o   d   D   a   t   a   B   o   d   y   :  \t   T   Y   P
0011460    E       =       R   E   C   O   R   D   [  \r   B   i   n   d
0011500    L   i   s   t   :       B   i   n   d   L   i   s   t   N   o
0011520    d   e   ,       D   e   c   L   i   s   t   :       D   e   c
0011540    L   i   s   t   N   o   d   e   ]   ;  \r  \r   D   e   f   B
0011560    o   d   y   P   r   o   d   P   r   o   c   s   :  \t   D   e
0011600    f   B   o   d   y   N   o   d   e   P   r   o   c   s   ;  \r
0011620   \r   B   u   i   l   d   D   e   f   B   o   d   y   P   r   o
0011640    d   N   o   d   e   :  \t   P   R   O   C   [   p   o   s   i
0011660    t   i   o   n   :       I   N   T   ,       l   e   n   g   t
0011700    h   :       I   N   T   ,       B   i   n   d   L   i   s   t
0011720    :       B   i   n   d   L   i   s   t   N   o   d   e   ,    
0011740    D   e   c   L   i   s   t   :       D   e   c   L   i   s   t
0011760    N   o   d   e   ]  \r  \t   R   E   T   U   R   N   S   [   D
0012000    e   f   B   o   d   y   N   o   d   e   ]   ;  \r  \r   D   e
0012020    f   B   o   d   y   P   r   o   d   M   a   k   e   C   o   n
0012040    t   e   x   t   T   r   e   e   :  \t   M   a   k   e   C   o
0012060    n   t   e   x   t   T   r   e   e   P   r   o   c   T   y   p
0012100    e   ;  \r  \r   -   -       D   e   f   H   e   a   d   P   r
0012120    o   d  \r  \r   D   e   f   H   e   a   d   P   r   o   d   D
0012140    a   t   a   :  \t   T   Y   P   E       =       R   E   F    
0012160    D   e   f   H   e   a   d   P   r   o   d   D   a   t   a   B
0012200    o   d   y   ;  \r   D   e   f   H   e   a   d   P   r   o   d
0012220    D   a   t   a   B   o   d   y   :  \t   T   Y   P   E       =
0012240        R   E   C   O   R   D   [  \r   L   o   c   k   s   :    
0012260    L   o   c   k   s   N   o   d   e   ,       M   o   d   u   l
0012300    e   L   i   s   t   :       M   o   d   u   l   e   L   i   s
0012320    t   N   o   d   e   ,       S   h   a   r   e   s   :       S
0012340    h   a   r   e   s   N   o   d   e   ,       A   c   c   e   s
0012360    s   :       A   c   c   e   s   s   N   o   d   e   ]   ;  \r
0012400   \r   D   e   f   H   e   a   d   P   r   o   d   P   r   o   c
0012420    s   :  \t   D   e   f   H   e   a   d   N   o   d   e   P   r
0012440    o   c   s   ;  \r  \r   B   u   i   l   d   D   e   f   H   e
0012460    a   d   P   r   o   d   N   o   d   e   :  \t   P   R   O   C
0012500    [   p   o   s   i   t   i   o   n   :       I   N   T   ,    
0012520    l   e   n   g   t   h   :       I   N   T   ,       L   o   c
0012540    k   s   :       L   o   c   k   s   N   o   d   e   ,       M
0012560    o   d   u   l   e   L   i   s   t   :       M   o   d   u   l
0012600    e   L   i   s   t   N   o   d   e   ,       S   h   a   r   e
0012620    s   :       S   h   a   r   e   s   N   o   d   e   ,       A
0012640    c   c   e   s   s   :       A   c   c   e   s   s   N   o   d
0012660    e   ]  \r  \t   R   E   T   U   R   N   S   [   D   e   f   H
0012700    e   a   d   N   o   d   e   ]   ;  \r  \r   D   e   f   H   e
0012720    a   d   P   r   o   d   G   e   t   A   c   c   e   s   s   V
0012740    a   l   :  \t   G   e   t   A   c   c   e   s   s   V   a   l
0012760    P   r   o   c   T   y   p   e   ;  \r   D   e   f   H   e   a
0013000    d   P   r   o   d   B   u   i   l   d   I   n   t   e   r   f
0013020    a   c   e   T   G   N   :  \t   B   u   i   l   d   I   n   t
0013040    e   r   f   a   c   e   T   G   N   P   r   o   c   T   y   p
0013060    e   ;  \r  \r   -   -       C   e   d   a   r   y   e   s   P
0013100    r   o   d  \r  \r   C   e   d   a   r   y   e   s   P   r   o
0013120    d   D   a   t   a   :  \t   T   Y   P   E       =       R   E
0013140    F       C   e   d   a   r   y   e   s   P   r   o   d   D   a
0013160    t   a   B   o   d   y   ;  \r   C   e   d   a   r   y   e   s
0013200    P   r   o   d   D   a   t   a   B   o   d   y   :  \t   T   Y
0013220    P   E       =       R   E   C   O   R   D   [  \r   ]   ;  \r
0013240   \r   C   e   d   a   r   y   e   s   P   r   o   d   P   r   o
0013260    c   s   :  \t   C   e   d   a   r   N   o   d   e   P   r   o
0013300    c   s   ;  \r  \r   B   u   i   l   d   C   e   d   a   r   y
0013320    e   s   P   r   o   d   N   o   d   e   :  \t   P   R   O   C
0013340    [   p   o   s   i   t   i   o   n   :       I   N   T   ,    
0013360    l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R   E
0013400    T   U   R   N   S   [   C   e   d   a   r   N   o   d   e   ]
0013420    ;  \r  \r   C   e   d   a   r   y   e   s   P   r   o   d   I
0013440    s   K   e   y   w   o   r   d   P   r   e   s   e   n   t   :
0013460   \t   I   s   K   e   y   w   o   r   d   P   r   e   s   e   n
0013500    t   P   r   o   c   T   y   p   e   ;  \r  \r   -   -       C
0013520    e   d   a   r   n   o   P   r   o   d  \r  \r   C   e   d   a
0013540    r   n   o   P   r   o   d   D   a   t   a   :  \t   T   Y   P
0013560    E       =       R   E   F       C   e   d   a   r   n   o   P
0013600    r   o   d   D   a   t   a   B   o   d   y   ;  \r   C   e   d
0013620    a   r   n   o   P   r   o   d   D   a   t   a   B   o   d   y
0013640    :  \t   T   Y   P   E       =       R   E   C   O   R   D   [
0013660   \r   ]   ;  \r  \r   C   e   d   a   r   n   o   P   r   o   d
0013700    P   r   o   c   s   :  \t   C   e   d   a   r   N   o   d   e
0013720    P   r   o   c   s   ;  \r  \r   B   u   i   l   d   C   e   d
0013740    a   r   n   o   P   r   o   d   N   o   d   e   :  \t   P   R
0013760    O   C   [   p   o   s   i   t   i   o   n   :       I   N   T
0014000    ,       l   e   n   g   t   h   :       I   N   T   ]  \r  \t
0014020    R   E   T   U   R   N   S   [   C   e   d   a   r   N   o   d
0014040    e   ]   ;  \r  \r   C   e   d   a   r   n   o   P   r   o   d
0014060    I   s   K   e   y   w   o   r   d   P   r   e   s   e   n   t
0014100    :  \t   I   s   K   e   y   w   o   r   d   P   r   e   s   e
0014120    n   t   P   r   o   c   T   y   p   e   ;  \r  \r   -   -    
0014140    P   r   o   g   H   e   a   d   P   r   o   d  \r  \r   P   r
0014160    o   g   H   e   a   d   P   r   o   d   D   a   t   a   :  \t
0014200    T   Y   P   E       =       R   E   F       P   r   o   g   H
0014220    e   a   d   P   r   o   d   D   a   t   a   B   o   d   y   ;
0014240   \r   P   r   o   g   H   e   a   d   P   r   o   d   D   a   t
0014260    a   B   o   d   y   :  \t   T   Y   P   E       =       R   E
0014300    C   O   R   D   [  \r   S   a   f   e   :       S   a   f   e
0014320    N   o   d   e   ,       C   l   a   s   s   :       C   l   a
0014340    s   s   N   o   d   e   ,       A   r   g   u   m   e   n   t
0014360    s   :       A   r   g   u   m   e   n   t   s   N   o   d   e
0014400    ,       L   o   c   k   s   :       L   o   c   k   s   N   o
0014420    d   e   ,       I   n   t   e   r   f   a   c   e   :       I
0014440    n   t   e   r   f   a   c   e   N   o   d   e   ,       A   c
0014460    c   e   s   s   :       A   c   c   e   s   s   N   o   d   e
0014500    ]   ;  \r  \r   P   r   o   g   H   e   a   d   P   r   o   d
0014520    P   r   o   c   s   :  \t   P   r   o   g   H   e   a   d   N
0014540    o   d   e   P   r   o   c   s   ;  \r  \r   B   u   i   l   d
0014560    P   r   o   g   H   e   a   d   P   r   o   d   N   o   d   e
0014600    :  \t   P   R   O   C   [   p   o   s   i   t   i   o   n   :
0014620        I   N   T   ,       l   e   n   g   t   h   :       I   N
0014640    T   ,       S   a   f   e   :       S   a   f   e   N   o   d
0014660    e   ,       C   l   a   s   s   :       C   l   a   s   s   N
0014700    o   d   e   ,       A   r   g   u   m   e   n   t   s   :    
0014720    A   r   g   u   m   e   n   t   s   N   o   d   e   ,       L
0014740    o   c   k   s   :       L   o   c   k   s   N   o   d   e   ,
0014760        I   n   t   e   r   f   a   c   e   :       I   n   t   e
0015000    r   f   a   c   e   N   o   d   e   ,       A   c   c   e   s
0015020    s   :       A   c   c   e   s   s   N   o   d   e   ]  \r  \t
0015040    R   E   T   U   R   N   S   [   P   r   o   g   H   e   a   d
0015060    N   o   d   e   ]   ;  \r  \r   P   r   o   g   H   e   a   d
0015100    P   r   o   d   G   e   t   A   c   c   e   s   s   V   a   l
0015120    :  \t   G   e   t   A   c   c   e   s   s   V   a   l   P   r
0015140    o   c   T   y   p   e   ;  \r   P   r   o   g   H   e   a   d
0015160    P   r   o   d   B   u   i   l   d   I   m   p   l   e   m   e
0015200    n   t   a   t   i   o   n   T   G   N   :  \t   B   u   i   l
0015220    d   I   m   p   l   e   m   e   n   t   a   t   i   o   n   T
0015240    G   N   P   r   o   c   T   y   p   e   ;  \r  \r   -   -    
0015260    C   l   a   s   s   p   r   o   g   r   a   m   P   r   o   d
0015300   \r  \r   C   l   a   s   s   p   r   o   g   r   a   m   P   r
0015320    o   d   D   a   t   a   :  \t   T   Y   P   E       =       R
0015340    E   F       C   l   a   s   s   p   r   o   g   r   a   m   P
0015360    r   o   d   D   a   t   a   B   o   d   y   ;  \r   C   l   a
0015400    s   s   p   r   o   g   r   a   m   P   r   o   d   D   a   t
0015420    a   B   o   d   y   :  \t   T   Y   P   E       =       R   E
0015440    C   O   R   D   [  \r   ]   ;  \r  \r   C   l   a   s   s   p
0015460    r   o   g   r   a   m   P   r   o   d   P   r   o   c   s   :
0015500   \t   C   l   a   s   s   N   o   d   e   P   r   o   c   s   ;
0015520   \r  \r   B   u   i   l   d   C   l   a   s   s   p   r   o   g
0015540    r   a   m   P   r   o   d   N   o   d   e   :  \t   P   R   O
0015560    C   [   p   o   s   i   t   i   o   n   :       I   N   T   ,
0015600        l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R
0015620    E   T   U   R   N   S   [   C   l   a   s   s   N   o   d   e
0015640    ]   ;  \r  \r   C   l   a   s   s   p   r   o   g   r   a   m
0015660    P   r   o   d   f   o   o   :  \t   f   o   o   P   r   o   c
0015700    T   y   p   e   ;  \r  \r   -   -       C   l   a   s   s   m
0015720    o   n   i   t   o   r   P   r   o   d  \r  \r   C   l   a   s
0015740    s   m   o   n   i   t   o   r   P   r   o   d   D   a   t   a
0015760    :  \t   T   Y   P   E       =       R   E   F       C   l   a
0016000    s   s   m   o   n   i   t   o   r   P   r   o   d   D   a   t
0016020    a   B   o   d   y   ;  \r   C   l   a   s   s   m   o   n   i
0016040    t   o   r   P   r   o   d   D   a   t   a   B   o   d   y   :
0016060   \t   T   Y   P   E       =       R   E   C   O   R   D   [  \r
0016100    ]   ;  \r  \r   C   l   a   s   s   m   o   n   i   t   o   r
0016120    P   r   o   d   P   r   o   c   s   :  \t   C   l   a   s   s
0016140    N   o   d   e   P   r   o   c   s   ;  \r  \r   B   u   i   l
0016160    d   C   l   a   s   s   m   o   n   i   t   o   r   P   r   o
0016200    d   N   o   d   e   :  \t   P   R   O   C   [   p   o   s   i
0016220    t   i   o   n   :       I   N   T   ,       l   e   n   g   t
0016240    h   :       I   N   T   ]  \r  \t   R   E   T   U   R   N   S
0016260    [   C   l   a   s   s   N   o   d   e   ]   ;  \r  \r   C   l
0016300    a   s   s   m   o   n   i   t   o   r   P   r   o   d   f   o
0016320    o   :  \t   f   o   o   P   r   o   c   T   y   p   e   ;  \r
0016340   \r   -   -       I   n   t   e   r   f   a   c   e   P   r   o
0016360    d  \r  \r   I   n   t   e   r   f   a   c   e   P   r   o   d
0016400    D   a   t   a   :  \t   T   Y   P   E       =       R   E   F
0016420        I   n   t   e   r   f   a   c   e   P   r   o   d   D   a
0016440    t   a   B   o   d   y   ;  \r   I   n   t   e   r   f   a   c
0016460    e   P   r   o   d   D   a   t   a   B   o   d   y   :  \t   T
0016500    Y   P   E       =       R   E   C   O   R   D   [  \r   M   o
0016520    d   u   l   e   L   i   s   t   i   m   p   o   r   t   s   :
0016540        M   o   d   u   l   e   L   i   s   t   N   o   d   e   ,
0016560        M   o   d   u   l   e   L   i   s   t   e   x   p   o   r
0016600    t   s   :       M   o   d   u   l   e   L   i   s   t   N   o
0016620    d   e   ,       S   h   a   r   e   s   :       S   h   a   r
0016640    e   s   N   o   d   e   ]   ;  \r  \r   I   n   t   e   r   f
0016660    a   c   e   P   r   o   d   P   r   o   c   s   :  \t   I   n
0016700    t   e   r   f   a   c   e   N   o   d   e   P   r   o   c   s
0016720    ;  \r  \r   B   u   i   l   d   I   n   t   e   r   f   a   c
0016740    e   P   r   o   d   N   o   d   e   :  \t   P   R   O   C   [
0016760    p   o   s   i   t   i   o   n   :       I   N   T   ,       l
0017000    e   n   g   t   h   :       I   N   T   ,       M   o   d   u
0017020    l   e   L   i   s   t   i   m   p   o   r   t   s   :       M
0017040    o   d   u   l   e   L   i   s   t   N   o   d   e   ,       M
0017060    o   d   u   l   e   L   i   s   t   e   x   p   o   r   t   s
0017100    :       M   o   d   u   l   e   L   i   s   t   N   o   d   e
0017120    ,       S   h   a   r   e   s   :       S   h   a   r   e   s
0017140    N   o   d   e   ]  \r  \t   R   E   T   U   R   N   S   [   I
0017160    n   t   e   r   f   a   c   e   N   o   d   e   ]   ;  \r  \r
0017200    I   n   t   e   r   f   a   c   e   P   r   o   d   f   o   o
0017220    :  \t   f   o   o   P   r   o   c   T   y   p   e   ;  \r  \r
0017240    -   -       M   o   d   u   l   e   L   i   s   t   e   m   p
0017260    t   y   P   r   o   d  \r  \r   M   o   d   u   l   e   L   i
0017300    s   t   e   m   p   t   y   P   r   o   d   D   a   t   a   :
0017320   \t   T   Y   P   E       =       R   E   F       M   o   d   u
0017340    l   e   L   i   s   t   e   m   p   t   y   P   r   o   d   D
0017360    a   t   a   B   o   d   y   ;  \r   M   o   d   u   l   e   L
0017400    i   s   t   e   m   p   t   y   P   r   o   d   D   a   t   a
0017420    B   o   d   y   :  \t   T   Y   P   E       =       R   E   C
0017440    O   R   D   [  \r   ]   ;  \r  \r   M   o   d   u   l   e   L
0017460    i   s   t   e   m   p   t   y   P   r   o   d   P   r   o   c
0017500    s   :  \t   M   o   d   u   l   e   L   i   s   t   N   o   d
0017520    e   P   r   o   c   s   ;  \r  \r   B   u   i   l   d   M   o
0017540    d   u   l   e   L   i   s   t   e   m   p   t   y   P   r   o
0017560    d   N   o   d   e   :  \t   P   R   O   C   [   p   o   s   i
0017600    t   i   o   n   :       I   N   T   ,       l   e   n   g   t
0017620    h   :       I   N   T   ]  \r  \t   R   E   T   U   R   N   S
0017640    [   M   o   d   u   l   e   L   i   s   t   N   o   d   e   ]
0017660    ;  \r  \r   M   o   d   u   l   e   L   i   s   t   e   m   p
0017700    t   y   P   r   o   d   f   o   o   :  \t   f   o   o   P   r
0017720    o   c   T   y   p   e   ;  \r  \r   -   -       M   o   d   u
0017740    l   e   L   i   s   t   m   o   r   e   P   r   o   d  \r  \r
0017760    M   o   d   u   l   e   L   i   s   t   m   o   r   e   P   r
0020000    o   d   D   a   t   a   :  \t   T   Y   P   E       =       R
0020020    E   F       M   o   d   u   l   e   L   i   s   t   m   o   r
0020040    e   P   r   o   d   D   a   t   a   B   o   d   y   ;  \r   M
0020060    o   d   u   l   e   L   i   s   t   m   o   r   e   P   r   o
0020100    d   D   a   t   a   B   o   d   y   :  \t   T   Y   P   E    
0020120    =       R   E   C   O   R   D   [  \r   M   o   d   u   l   e
0020140    L   i   s   t   :       M   o   d   u   l   e   L   i   s   t
0020160    N   o   d   e   ,       M   o   d   u   l   e   I   t   e   m
0020200    :       M   o   d   u   l   e   I   t   e   m   N   o   d   e
0020220    ]   ;  \r  \r   M   o   d   u   l   e   L   i   s   t   m   o
0020240    r   e   P   r   o   d   P   r   o   c   s   :  \t   M   o   d
0020260    u   l   e   L   i   s   t   N   o   d   e   P   r   o   c   s
0020300    ;  \r  \r   B   u   i   l   d   M   o   d   u   l   e   L   i
0020320    s   t   m   o   r   e   P   r   o   d   N   o   d   e   :  \t
0020340    P   R   O   C   [   p   o   s   i   t   i   o   n   :       I
0020360    N   T   ,       l   e   n   g   t   h   :       I   N   T   ,
0020400        M   o   d   u   l   e   L   i   s   t   :       M   o   d
0020420    u   l   e   L   i   s   t   N   o   d   e   ,       M   o   d
0020440    u   l   e   I   t   e   m   :       M   o   d   u   l   e   I
0020460    t   e   m   N   o   d   e   ]  \r  \t   R   E   T   U   R   N
0020500    S   [   M   o   d   u   l   e   L   i   s   t   N   o   d   e
0020520    ]   ;  \r  \r   M   o   d   u   l   e   L   i   s   t   m   o
0020540    r   e   P   r   o   d   f   o   o   :  \t   f   o   o   P   r
0020560    o   c   T   y   p   e   ;  \r  \r   -   -       M   o   d   u
0020600    l   e   I   t   e   m   o   n   e   P   r   o   d  \r  \r   M
0020620    o   d   u   l   e   I   t   e   m   o   n   e   P   r   o   d
0020640    D   a   t   a   :  \t   T   Y   P   E       =       R   E   F
0020660        M   o   d   u   l   e   I   t   e   m   o   n   e   P   r
0020700    o   d   D   a   t   a   B   o   d   y   ;  \r   M   o   d   u
0020720    l   e   I   t   e   m   o   n   e   P   r   o   d   D   a   t
0020740    a   B   o   d   y   :  \t   T   Y   P   E       =       R   E
0020760    C   O   R   D   [  \r   I   d   :       I   d   N   o   d   e
0021000    ]   ;  \r  \r   M   o   d   u   l   e   I   t   e   m   o   n
0021020    e   P   r   o   d   P   r   o   c   s   :  \t   M   o   d   u
0021040    l   e   I   t   e   m   N   o   d   e   P   r   o   c   s   ;
0021060   \r  \r   B   u   i   l   d   M   o   d   u   l   e   I   t   e
0021100    m   o   n   e   P   r   o   d   N   o   d   e   :  \t   P   R
0021120    O   C   [   p   o   s   i   t   i   o   n   :       I   N   T
0021140    ,       l   e   n   g   t   h   :       I   N   T   ,       I
0021160    d   :       I   d   N   o   d   e   ]  \r  \t   R   E   T   U
0021200    R   N   S   [   M   o   d   u   l   e   I   t   e   m   N   o
0021220    d   e   ]   ;  \r  \r   M   o   d   u   l   e   I   t   e   m
0021240    o   n   e   P   r   o   d   f   o   o   :  \t   f   o   o   P
0021260    r   o   c   T   y   p   e   ;  \r  \r   -   -       M   o   d
0021300    u   l   e   I   t   e   m   t   w   o   P   r   o   d  \r  \r
0021320    M   o   d   u   l   e   I   t   e   m   t   w   o   P   r   o
0021340    d   D   a   t   a   :  \t   T   Y   P   E       =       R   E
0021360    F       M   o   d   u   l   e   I   t   e   m   t   w   o   P
0021400    r   o   d   D   a   t   a   B   o   d   y   ;  \r   M   o   d
0021420    u   l   e   I   t   e   m   t   w   o   P   r   o   d   D   a
0021440    t   a   B   o   d   y   :  \t   T   Y   P   E       =       R
0021460    E   C   O   R   D   [  \r   I   d   r   e   c   o   r   d   :
0021500        I   d   N   o   d   e   ,       I   d   t   y   p   e   :
0021520        I   d   N   o   d   e   ]   ;  \r  \r   M   o   d   u   l
0021540    e   I   t   e   m   t   w   o   P   r   o   d   P   r   o   c
0021560    s   :  \t   M   o   d   u   l   e   I   t   e   m   N   o   d
0021600    e   P   r   o   c   s   ;  \r  \r   B   u   i   l   d   M   o
0021620    d   u   l   e   I   t   e   m   t   w   o   P   r   o   d   N
0021640    o   d   e   :  \t   P   R   O   C   [   p   o   s   i   t   i
0021660    o   n   :       I   N   T   ,       l   e   n   g   t   h   :
0021700        I   N   T   ,       I   d   r   e   c   o   r   d   :    
0021720    I   d   N   o   d   e   ,       I   d   t   y   p   e   :    
0021740    I   d   N   o   d   e   ]  \r  \t   R   E   T   U   R   N   S
0021760    [   M   o   d   u   l   e   I   t   e   m   N   o   d   e   ]
0022000    ;  \r  \r   M   o   d   u   l   e   I   t   e   m   t   w   o
0022020    P   r   o   d   f   o   o   :  \t   f   o   o   P   r   o   c
0022040    T   y   p   e   ;  \r  \r   -   -       S   h   a   r   e   s
0022060    a   b   s   e   n   t   P   r   o   d  \r  \r   S   h   a   r
0022100    e   s   a   b   s   e   n   t   P   r   o   d   D   a   t   a
0022120    :  \t   T   Y   P   E       =       R   E   F       S   h   a
0022140    r   e   s   a   b   s   e   n   t   P   r   o   d   D   a   t
0022160    a   B   o   d   y   ;  \r   S   h   a   r   e   s   a   b   s
0022200    e   n   t   P   r   o   d   D   a   t   a   B   o   d   y   :
0022220   \t   T   Y   P   E       =       R   E   C   O   R   D   [  \r
0022240    ]   ;  \r  \r   S   h   a   r   e   s   a   b   s   e   n   t
0022260    P   r   o   d   P   r   o   c   s   :  \t   S   h   a   r   e
0022300    s   N   o   d   e   P   r   o   c   s   ;  \r  \r   B   u   i
0022320    l   d   S   h   a   r   e   s   a   b   s   e   n   t   P   r
0022340    o   d   N   o   d   e   :  \t   P   R   O   C   [   p   o   s
0022360    i   t   i   o   n   :       I   N   T   ,       l   e   n   g
0022400    t   h   :       I   N   T   ]  \r  \t   R   E   T   U   R   N
0022420    S   [   S   h   a   r   e   s   N   o   d   e   ]   ;  \r  \r
0022440    S   h   a   r   e   s   a   b   s   e   n   t   P   r   o   d
0022460    f   o   o   :  \t   f   o   o   P   r   o   c   T   y   p   e
0022500    ;  \r  \r   -   -       S   h   a   r   e   s   p   r   e   s
0022520    e   n   t   P   r   o   d  \r  \r   S   h   a   r   e   s   p
0022540    r   e   s   e   n   t   P   r   o   d   D   a   t   a   :  \t
0022560    T   Y   P   E       =       R   E   F       S   h   a   r   e
0022600    s   p   r   e   s   e   n   t   P   r   o   d   D   a   t   a
0022620    B   o   d   y   ;  \r   S   h   a   r   e   s   p   r   e   s
0022640    e   n   t   P   r   o   d   D   a   t   a   B   o   d   y   :
0022660   \t   T   Y   P   E       =       R   E   C   O   R   D   [  \r
0022700    I   d   L   i   s   t   :       I   d   L   i   s   t   N   o
0022720    d   e   ]   ;  \r  \r   S   h   a   r   e   s   p   r   e   s
0022740    e   n   t   P   r   o   d   P   r   o   c   s   :  \t   S   h
0022760    a   r   e   s   N   o   d   e   P   r   o   c   s   ;  \r  \r
0023000    B   u   i   l   d   S   h   a   r   e   s   p   r   e   s   e
0023020    n   t   P   r   o   d   N   o   d   e   :  \t   P   R   O   C
0023040    [   p   o   s   i   t   i   o   n   :       I   N   T   ,    
0023060    l   e   n   g   t   h   :       I   N   T   ,       I   d   L
0023100    i   s   t   :       I   d   L   i   s   t   N   o   d   e   ]
0023120   \r  \t   R   E   T   U   R   N   S   [   S   h   a   r   e   s
0023140    N   o   d   e   ]   ;  \r  \r   S   h   a   r   e   s   p   r
0023160    e   s   e   n   t   P   r   o   d   f   o   o   :  \t   f   o
0023200    o   P   r   o   c   T   y   p   e   ;  \r  \r   -   -       L
0023220    o   c   k   s   a   b   s   e   n   t   P   r   o   d  \r  \r
0023240    L   o   c   k   s   a   b   s   e   n   t   P   r   o   d   D
0023260    a   t   a   :  \t   T   Y   P   E       =       R   E   F    
0023300    L   o   c   k   s   a   b   s   e   n   t   P   r   o   d   D
0023320    a   t   a   B   o   d   y   ;  \r   L   o   c   k   s   a   b
0023340    s   e   n   t   P   r   o   d   D   a   t   a   B   o   d   y
0023360    :  \t   T   Y   P   E       =       R   E   C   O   R   D   [
0023400   \r   ]   ;  \r  \r   L   o   c   k   s   a   b   s   e   n   t
0023420    P   r   o   d   P   r   o   c   s   :  \t   L   o   c   k   s
0023440    N   o   d   e   P   r   o   c   s   ;  \r  \r   B   u   i   l
0023460    d   L   o   c   k   s   a   b   s   e   n   t   P   r   o   d
0023500    N   o   d   e   :  \t   P   R   O   C   [   p   o   s   i   t
0023520    i   o   n   :       I   N   T   ,       l   e   n   g   t   h
0023540    :       I   N   T   ]  \r  \t   R   E   T   U   R   N   S   [
0023560    L   o   c   k   s   N   o   d   e   ]   ;  \r  \r   L   o   c
0023600    k   s   a   b   s   e   n   t   P   r   o   d   f   o   o   :
0023620   \t   f   o   o   P   r   o   c   T   y   p   e   ;  \r  \r   -
0023640    -       L   o   c   k   s   p   r   e   s   e   n   t   P   r
0023660    o   d  \r  \r   L   o   c   k   s   p   r   e   s   e   n   t
0023700    P   r   o   d   D   a   t   a   :  \t   T   Y   P   E       =
0023720        R   E   F       L   o   c   k   s   p   r   e   s   e   n
0023740    t   P   r   o   d   D   a   t   a   B   o   d   y   ;  \r   L
0023760    o   c   k   s   p   r   e   s   e   n   t   P   r   o   d   D
0024000    a   t   a   B   o   d   y   :  \t   T   Y   P   E       =    
0024020    R   E   C   O   R   D   [  \r   E   x   p   :       E   x   p
0024040    N   o   d   e   ,       L   a   m   b   d   a   :       L   a
0024060    m   b   d   a   N   o   d   e   ]   ;  \r  \r   L   o   c   k
0024100    s   p   r   e   s   e   n   t   P   r   o   d   P   r   o   c
0024120    s   :  \t   L   o   c   k   s   N   o   d   e   P   r   o   c
0024140    s   ;  \r  \r   B   u   i   l   d   L   o   c   k   s   p   r
0024160    e   s   e   n   t   P   r   o   d   N   o   d   e   :  \t   P
0024200    R   O   C   [   p   o   s   i   t   i   o   n   :       I   N
0024220    T   ,       l   e   n   g   t   h   :       I   N   T   ,    
0024240    E   x   p   :       E   x   p   N   o   d   e   ,       L   a
0024260    m   b   d   a   :       L   a   m   b   d   a   N   o   d   e
0024300    ]  \r  \t   R   E   T   U   R   N   S   [   L   o   c   k   s
0024320    N   o   d   e   ]   ;  \r  \r   L   o   c   k   s   p   r   e
0024340    s   e   n   t   P   r   o   d   f   o   o   :  \t   f   o   o
0024360    P   r   o   c   T   y   p   e   ;  \r  \r   -   -       L   a
0024400    m   b   d   a   a   b   s   e   n   t   P   r   o   d  \r  \r
0024420    L   a   m   b   d   a   a   b   s   e   n   t   P   r   o   d
0024440    D   a   t   a   :  \t   T   Y   P   E       =       R   E   F
0024460        L   a   m   b   d   a   a   b   s   e   n   t   P   r   o
0024500    d   D   a   t   a   B   o   d   y   ;  \r   L   a   m   b   d
0024520    a   a   b   s   e   n   t   P   r   o   d   D   a   t   a   B
0024540    o   d   y   :  \t   T   Y   P   E       =       R   E   C   O
0024560    R   D   [  \r   ]   ;  \r  \r   L   a   m   b   d   a   a   b
0024600    s   e   n   t   P   r   o   d   P   r   o   c   s   :  \t   L
0024620    a   m   b   d   a   N   o   d   e   P   r   o   c   s   ;  \r
0024640   \r   B   u   i   l   d   L   a   m   b   d   a   a   b   s   e
0024660    n   t   P   r   o   d   N   o   d   e   :  \t   P   R   O   C
0024700    [   p   o   s   i   t   i   o   n   :       I   N   T   ,    
0024720    l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R   E
0024740    T   U   R   N   S   [   L   a   m   b   d   a   N   o   d   e
0024760    ]   ;  \r  \r   L   a   m   b   d   a   a   b   s   e   n   t
0025000    P   r   o   d   f   o   o   :  \t   f   o   o   P   r   o   c
0025020    T   y   p   e   ;  \r  \r   -   -       L   a   m   b   d   a
0025040    p   r   e   s   e   n   t   P   r   o   d  \r  \r   L   a   m
0025060    b   d   a   p   r   e   s   e   n   t   P   r   o   d   D   a
0025100    t   a   :  \t   T   Y   P   E       =       R   E   F       L
0025120    a   m   b   d   a   p   r   e   s   e   n   t   P   r   o   d
0025140    D   a   t   a   B   o   d   y   ;  \r   L   a   m   b   d   a
0025160    p   r   e   s   e   n   t   P   r   o   d   D   a   t   a   B
0025200    o   d   y   :  \t   T   Y   P   E       =       R   E   C   O
0025220    R   D   [  \r   I   d   e   n   t   :       I   d   e   n   t
0025240    N   o   d   e   ,       T   y   p   e   E   x   p   :       T
0025260    y   p   e   E   x   p   N   o   d   e   ]   ;  \r  \r   L   a
0025300    m   b   d   a   p   r   e   s   e   n   t   P   r   o   d   P
0025320    r   o   c   s   :  \t   L   a   m   b   d   a   N   o   d   e
0025340    P   r   o   c   s   ;  \r  \r   B   u   i   l   d   L   a   m
0025360    b   d   a   p   r   e   s   e   n   t   P   r   o   d   N   o
0025400    d   e   :  \t   P   R   O   C   [   p   o   s   i   t   i   o
0025420    n   :       I   N   T   ,       l   e   n   g   t   h   :    
0025440    I   N   T   ,       I   d   e   n   t   :       I   d   e   n
0025460    t   N   o   d   e   ,       T   y   p   e   E   x   p   :    
0025500    T   y   p   e   E   x   p   N   o   d   e   ]  \r  \t   R   E
0025520    T   U   R   N   S   [   L   a   m   b   d   a   N   o   d   e
0025540    ]   ;  \r  \r   L   a   m   b   d   a   p   r   e   s   e   n
0025560    t   P   r   o   d   f   o   o   :  \t   f   o   o   P   r   o
0025600    c   T   y   p   e   ;  \r   E   N   D   .   .  \r            
0025615