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