$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron3.0>Derived>SaffronScopeImpl.mesa!35
0000000    -   -       S   a   f   f   r   o   n   S   c   o   p   e   I
0000020    m   p   l   .   m   e   s   a  \r       -   -       C   o   p
0000040    y   r   i   g   h   t     323       1   9   8   7       b   y
0000060        X   e   r   o   x       C   o   r   p   o   r   a   t   i
0000100    o   n   .           A   l   l       r   i   g   h   t   s    
0000120    r   e   s   e   r   v   e   d   .  \r       -   -       G   e
0000140    n   e   r   a   t   e   d       b   y       R   a   u   e   n
0000160    .   p   a       a   t       S   e   p   t   e   m   b   e   r
0000200        1   ,       1   9   8   8       6   :   3   0   :   0   6
0000220        p   m       P   D   T  \r       -   -           u   s   i
0000240    n   g       T   h   r   e   e   C   a   s   a   b   a   F   o
0000260    u   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
0000340    R   Y  \r  \t   S   a   f   f   r   o   n   A   G   7   a   D
0000360    e   f   ,  \r  \t   S   a   f   f   r   o   n   A   G   7   b
0000400    D   e   f   ,  \r  \t   S   a   f   f   r   o   n   A   G   9
0000420    D   e   f   ,  \r  \t   S   a   f   f   r   o   n   A   G   5
0000440    D   e   f   ,  \r  \t   S   a   f   f   r   o   n   A   G   4
0000460    D   e   f   ,  \r  \t   R   o   p   e   ,  \r  \t   T   h   r
0000500    e   e   C   4   S   u   p   p   o   r   t   ,  \r  \t   S   a
0000520    f   f   r   o   n   B   a   s   e   D   e   f   ,  \r  \t   S
0000540    a   f   f   r   o   n   A   T   D   e   f   ;  \r  \r   S   a
0000560    f   f   r   o   n   S   c   o   p   e   I   m   p   l   :    
0000600    C   E   D   A   R       P   R   O   G   R   A   M       I   M
0000620    P   O   R   T   S       T   h   r   e   e   C   4   S   u   p
0000640    p   o   r   t   ,       S   a   f   f   r   o   n   B   a   s
0000660    e   D   e   f   ,       S   a   f   f   r   o   n   A   T   D
0000700    e   f       E   X   P   O   R   T   S       S   a   f   f   r
0000720    o   n   A   G   7   a   D   e   f   ,       S   a   f   f   r
0000740    o   n   A   G   7   b   D   e   f   ,       S   a   f   f   r
0000760    o   n   A   G   9   D   e   f   ,       S   a   f   f   r   o
0001000    n   A   G   5   D   e   f   ,       S   a   f   f   r   o   n
0001020    A   G   4   D   e   f   =      \r   B   E   G   I   N  \r   O
0001040    P   E   N       S   a   f   f   r   o   n   A   G   7   a   D
0001060    e   f   ,       S   a   f   f   r   o   n   A   G   7   b   D
0001100    e   f   ,       S   a   f   f   r   o   n   A   G   9   D   e
0001120    f   ,       S   a   f   f   r   o   n   A   G   5   D   e   f
0001140    ,       S   a   f   f   r   o   n   A   G   4   D   e   f   ,
0001160        R   o   p   e   ,       T   h   r   e   e   C   4   S   u
0001200    p   p   o   r   t   ,       S   a   f   f   r   o   n   B   a
0001220    s   e   D   e   f   ,       S   a   f   f   r   o   n   A   T
0001240    D   e   f   ;  \r   O   p   t   D   e   c   L   i   s   t   a
0001260    b   s   e   n   t   P   r   o   d   H   a   n   g   C   o   n
0001300    t   e   x   t   s   F   r   o   m   C   o   n   t   e   x   t
0001320    T   r   e   e   :  \t   P   U   B   L   I   C       P   R   O
0001340    C   [   r   e   f   :       R   E   F       A   N   Y   ,    
0001360    c   o   n   t   e   x   t   T   r   e   e   :       C   o   n
0001400    t   e   x   t   T   r   e   e   N   o   d   e   ,       r   i
0001420    b   :       C   o   n   t   e   x   t   R   i   b   N   o   d
0001440    e   ,       p   a   i   n   t   R   e   c   o   r   d   s   :
0001460        B   O   O   L   E   A   N   ,       c   s   :       C   o
0001500    m   p   i   l   e   r   S   t   a   t   e   N   o   d   e   ]
0001520        R   E   T   U   R   N   S   [   t   e   m   p   0   :    
0001540    C   o   n   t   e   x   t   T   r   e   e   N   o   d   e   ]
0001560        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   O
0001600    p   t   D   e   c   L   i   s   t   N   o   d   e   _       N
0001620    A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I
0001640    N  \r   E   N   A   B   L   E       T   h   r   e   e   C   4
0001660    S   u   p   p   o   r   t   .   G   e   t   S   o   u   r   c
0001700    e   I   n   f   o       =   >       R   E   S   U   M   E   [
0001720    t   r   e   e   .   p   o   s   i   t   i   o   n   ,       t
0001740    r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   e   m
0001760    p   0       _       F   a   k   e   D   a   m   a   g   e   C
0002000    o   n   t   e   x   t   T   r   e   e   [   c   o   n   t   e
0002020    x   t   T   r   e   e   ]   ;  \r   E   N   D  \r   E   N   D
0002040    ;  \r  \r   O   p   t   D   e   c   L   i   s   t   a   b   s
0002060    e   n   t   P   r   o   d   U   p   d   a   t   e   L   o   c
0002100    a   l   C   o   n   t   e   x   t   :  \t   P   U   B   L   I
0002120    C       P   R   O   C   [   r   e   f   :       R   E   F    
0002140    A   N   Y   ,       l   o   c   a   l   C   o   n   t   e   x
0002160    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0002200    o   d   e   ,       p   a   i   n   t   R   e   c   o   r   d
0002220    s   :       B   O   O   L   E   A   N   ,       c   s   :    
0002240    C   o   m   p   i   l   e   r   S   t   a   t   e   N   o   d
0002260    e   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0002300    :       L   o   c   a   l   C   o   n   t   e   x   t   N   o
0002320    d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0002340    :  \t   O   p   t   D   e   c   L   i   s   t   N   o   d   e
0002360    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0002400    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0002420    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0002440    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0002460    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0002500    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0002520    t   e   m   p   0       _       F   a   k   e   D   a   m   a
0002540    g   e   C   o   n   t   e   x   t   [   l   o   c   a   l   C
0002560    o   n   t   e   x   t   ]   ;  \r   E   N   D  \r   E   N   D
0002600    ;  \r  \r   O   p   t   D   e   c   L   i   s   t   a   b   s
0002620    e   n   t   P   r   o   d   A   d   d   D   e   c   l   a   r
0002640    a   t   i   o   n   s   T   o   F   i   e   l   d   L   i   s
0002660    t   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0002700    e   f   :       R   E   F       A   N   Y   ,       f   i   e
0002720    l   d   L   i   s   t   :       F   i   e   l   d   L   i   s
0002740    t   N   o   d   e   ,       l   o   c   a   l   C   o   n   t
0002760    e   x   t   :       L   o   c   a   l   C   o   n   t   e   x
0003000    t   N   o   d   e   ,       c   s   :       C   o   m   p   i
0003020    l   e   r   S   t   a   t   e   N   o   d   e   ]       R   E
0003040    T   U   R   N   S   [   t   e   m   p   0   :       F   i   e
0003060    l   d   L   i   s   t   N   o   d   e   ,       t   e   m   p
0003100    1   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0003120    o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e
0003140    e   :  \t   O   p   t   D   e   c   L   i   s   t   N   o   d
0003160    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0003200    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0003220    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0003240    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0003260    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0003300    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0003320   \r   t   e   m   p   1       _       F   a   k   e   D   a   m
0003340    a   g   e   C   o   n   t   e   x   t   [   l   o   c   a   l
0003360    C   o   n   t   e   x   t   ]   ;  \r   t   e   m   p   0    
0003400    _       F   a   k   e   D   a   m   a   g   e   F   i   e   l
0003420    d   L   i   s   t   [   f   i   e   l   d   L   i   s   t   ]
0003440    ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   O   p   t   D
0003460    e   c   L   i   s   t   p   r   e   s   e   n   t   P   r   o
0003500    d   H   a   n   g   C   o   n   t   e   x   t   s   F   r   o
0003520    m   C   o   n   t   e   x   t   T   r   e   e   :  \t   P   U
0003540    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0003560    E   F       A   N   Y   ,       c   o   n   t   e   x   t   T
0003600    r   e   e   :       C   o   n   t   e   x   t   T   r   e   e
0003620    N   o   d   e   ,       r   i   b   :       C   o   n   t   e
0003640    x   t   R   i   b   N   o   d   e   ,       p   a   i   n   t
0003660    R   e   c   o   r   d   s   :       B   O   O   L   E   A   N
0003700    ,       c   s   :       C   o   m   p   i   l   e   r   S   t
0003720    a   t   e   N   o   d   e   ]       R   E   T   U   R   N   S
0003740    [   t   e   m   p   0   :       C   o   n   t   e   x   t   T
0003760    r   e   e   N   o   d   e   ]       =  \r   B   E   G   I   N
0004000   \r   t   r   e   e   :  \t   O   p   t   D   e   c   L   i   s
0004020    t   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0004040    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0004060        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0004100    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0004120        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0004140    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0004160    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   O
0004200    p   t   D   e   c   L   i   s   t   p   r   e   s   e   n   t
0004220    P   r   o   d   D   a   t   a       _       N   A   R   R   O
0004240    W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e
0004260    m   p   0       _       t   r   e   e   D   a   t   a   .   D
0004300    e   c   L   i   s   t   .   p   r   o   c   s   .   H   a   n
0004320    g   C   o   n   t   e   x   t   s   F   r   o   m   C   o   n
0004340    t   e   x   t   T   r   e   e   [   t   r   e   e   D   a   t
0004360    a   .   D   e   c   L   i   s   t   ,       c   o   n   t   e
0004400    x   t   T   r   e   e   ,       r   i   b   ,       p   a   i
0004420    n   t   R   e   c   o   r   d   s   ,       c   s   ]   ;  \r
0004440    E   N   D  \r   E   N   D   ;  \r  \r   O   p   t   D   e   c
0004460    L   i   s   t   p   r   e   s   e   n   t   P   r   o   d   U
0004500    p   d   a   t   e   L   o   c   a   l   C   o   n   t   e   x
0004520    t   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0004540    e   f   :       R   E   F       A   N   Y   ,       l   o   c
0004560    a   l   C   o   n   t   e   x   t   :       L   o   c   a   l
0004600    C   o   n   t   e   x   t   N   o   d   e   ,       p   a   i
0004620    n   t   R   e   c   o   r   d   s   :       B   O   O   L   E
0004640    A   N   ,       c   s   :       C   o   m   p   i   l   e   r
0004660    S   t   a   t   e   N   o   d   e   ]       R   E   T   U   R
0004700    N   S   [   t   e   m   p   0   :       L   o   c   a   l   C
0004720    o   n   t   e   x   t   N   o   d   e   ]       =  \r   B   E
0004740    G   I   N  \r   t   r   e   e   :  \t   O   p   t   D   e   c
0004760    L   i   s   t   N   o   d   e   _       N   A   R   R   O   W
0005000    [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A
0005020    B   L   E       T   h   r   e   e   C   4   S   u   p   p   o
0005040    r   t   .   G   e   t   S   o   u   r   c   e   I   n   f   o
0005060        =   >       R   E   S   U   M   E   [   t   r   e   e   .
0005100    p   o   s   i   t   i   o   n   ,       t   r   e   e   .   l
0005120    e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a
0005140    :  \t   O   p   t   D   e   c   L   i   s   t   p   r   e   s
0005160    e   n   t   P   r   o   d   D   a   t   a       _       N   A
0005200    R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;
0005220   \r   t   e   m   p   0       _       t   r   e   e   D   a   t
0005240    a   .   D   e   c   L   i   s   t   .   p   r   o   c   s   .
0005260    U   p   d   a   t   e   L   o   c   a   l   C   o   n   t   e
0005300    x   t   [   t   r   e   e   D   a   t   a   .   D   e   c   L
0005320    i   s   t   ,       l   o   c   a   l   C   o   n   t   e   x
0005340    t   ,       p   a   i   n   t   R   e   c   o   r   d   s   ,
0005360        c   s   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r
0005400    O   p   t   D   e   c   L   i   s   t   p   r   e   s   e   n
0005420    t   P   r   o   d   A   d   d   D   e   c   l   a   r   a   t
0005440    i   o   n   s   T   o   F   i   e   l   d   L   i   s   t   :
0005460   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0005500    :       R   E   F       A   N   Y   ,       f   i   e   l   d
0005520    L   i   s   t   :       F   i   e   l   d   L   i   s   t   N
0005540    o   d   e   ,       l   o   c   a   l   C   o   n   t   e   x
0005560    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0005600    o   d   e   ,       c   s   :       C   o   m   p   i   l   e
0005620    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0005640    R   N   S   [   t   e   m   p   0   :       F   i   e   l   d
0005660    L   i   s   t   N   o   d   e   ,       t   e   m   p   1   :
0005700        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0005720    e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :
0005740   \t   O   p   t   D   e   c   L   i   s   t   N   o   d   e   _
0005760        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0006000    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0006020    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0006040    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0006060    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0006100        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0006120    r   e   e   D   a   t   a   :  \t   O   p   t   D   e   c   L
0006140    i   s   t   p   r   e   s   e   n   t   P   r   o   d   D   a
0006160    t   a       _       N   A   R   R   O   W   [   t   r   e   e
0006200    .   d   a   t   a   ]   ;  \r   [   t   e   m   p   0   ,    
0006220    t   e   m   p   1   ]       _       t   r   e   e   D   a   t
0006240    a   .   D   e   c   L   i   s   t   .   p   r   o   c   s   .
0006260    A   d   d   D   e   c   l   a   r   a   t   i   o   n   s   T
0006300    o   F   i   e   l   d   L   i   s   t   [   t   r   e   e   D
0006320    a   t   a   .   D   e   c   L   i   s   t   ,       f   i   e
0006340    l   d   L   i   s   t   ,       l   o   c   a   l   C   o   n
0006360    t   e   x   t   ,       c   s   ]   ;  \r   E   N   D  \r   E
0006400    N   D   ;  \r  \r   D   e   c   L   i   s   t   m   a   n   y
0006420    P   r   o   d   H   a   n   g   C   o   n   t   e   x   t   s
0006440    F   r   o   m   C   o   n   t   e   x   t   T   r   e   e   :
0006460   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0006500    :       R   E   F       A   N   Y   ,       c   o   n   t   e
0006520    x   t   T   r   e   e   :       C   o   n   t   e   x   t   T
0006540    r   e   e   N   o   d   e   ,       r   i   b   :       C   o
0006560    n   t   e   x   t   R   i   b   N   o   d   e   ,       p   a
0006600    i   n   t   R   e   c   o   r   d   s   :       B   O   O   L
0006620    E   A   N   ,       c   s   :       C   o   m   p   i   l   e
0006640    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0006660    R   N   S   [   t   e   m   p   0   :       C   o   n   t   e
0006700    x   t   T   r   e   e   N   o   d   e   ]       =  \r   B   E
0006720    G   I   N  \r   t   r   e   e   :  \t   D   e   c   L   i   s
0006740    t   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0006760    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0007000        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0007020    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0007040        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0007060    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0007100    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   D
0007120    e   c   L   i   s   t   m   a   n   y   P   r   o   d   D   a
0007140    t   a       _       N   A   R   R   O   W   [   t   r   e   e
0007160    .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   c   o
0007200    n   t   e   x   t   T   r   e   e   1   :  \t   C   o   n   t
0007220    e   x   t   T   r   e   e   N   o   d   e   ;  \r   c   o   n
0007240    t   e   x   t   T   r   e   e   1       _       t   r   e   e
0007260    D   a   t   a   .   D   e   c   L   i   s   t   h   e   a   d
0007300    .   p   r   o   c   s   .   H   a   n   g   C   o   n   t   e
0007320    x   t   s   F   r   o   m   C   o   n   t   e   x   t   T   r
0007340    e   e   [   t   r   e   e   D   a   t   a   .   D   e   c   L
0007360    i   s   t   h   e   a   d   ,       c   o   n   t   e   x   t
0007400    T   r   e   e   ,       r   i   b   ,       p   a   i   n   t
0007420    R   e   c   o   r   d   s   ,       c   s   ]   ;  \r   t   e
0007440    m   p   0       _       t   r   e   e   D   a   t   a   .   D
0007460    e   c   L   i   s   t   t   a   i   l   .   p   r   o   c   s
0007500    .   H   a   n   g   C   o   n   t   e   x   t   s   F   r   o
0007520    m   C   o   n   t   e   x   t   T   r   e   e   [   t   r   e
0007540    e   D   a   t   a   .   D   e   c   L   i   s   t   t   a   i
0007560    l   ,       c   o   n   t   e   x   t   T   r   e   e   1   ,
0007600        r   i   b   ,       p   a   i   n   t   R   e   c   o   r
0007620    d   s   ,       c   s   ]   ;  \r   E   N   D   ;  \r   E   N
0007640    D  \r   E   N   D   ;  \r  \r   D   e   c   L   i   s   t   m
0007660    a   n   y   P   r   o   d   A   d   d   D   e   c   l   a   r
0007700    a   t   i   o   n   s   T   o   F   i   e   l   d   L   i   s
0007720    t   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0007740    e   f   :       R   E   F       A   N   Y   ,       f   l   :
0007760        F   i   e   l   d   L   i   s   t   N   o   d   e   ,    
0010000    l   o   c   a   l   C   o   n   t   e   x   t   :       L   o
0010020    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,    
0010040    c   s   :       C   o   m   p   i   l   e   r   S   t   a   t
0010060    e   N   o   d   e   ]       R   E   T   U   R   N   S   [   t
0010100    e   m   p   0   :       F   i   e   l   d   L   i   s   t   N
0010120    o   d   e   ,       t   e   m   p   1   :       L   o   c   a
0010140    l   C   o   n   t   e   x   t   N   o   d   e   ]       =  \r
0010160    B   E   G   I   N  \r   t   r   e   e   :  \t   D   e   c   L
0010200    i   s   t   N   o   d   e   _       N   A   R   R   O   W   [
0010220    r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B
0010240    L   E       T   h   r   e   e   C   4   S   u   p   p   o   r
0010260    t   .   G   e   t   S   o   u   r   c   e   I   n   f   o    
0010300    =   >       R   E   S   U   M   E   [   t   r   e   e   .   p
0010320    o   s   i   t   i   o   n   ,       t   r   e   e   .   l   e
0010340    n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :
0010360   \t   D   e   c   L   i   s   t   m   a   n   y   P   r   o   d
0010400    D   a   t   a       _       N   A   R   R   O   W   [   t   r
0010420    e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r
0010440    f   l   2   :  \t   F   i   e   l   d   L   i   s   t   N   o
0010460    d   e   ;  \r   l   c   2   :  \t   L   o   c   a   l   C   o
0010500    n   t   e   x   t   N   o   d   e   ;  \r   f   l   1   :  \t
0010520    F   i   e   l   d   L   i   s   t   N   o   d   e   ;  \r   l
0010540    c   1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t
0010560    N   o   d   e   ;  \r   [   f   l   1   ,       l   c   1   ]
0010600        _       t   r   e   e   D   a   t   a   .   D   e   c   L
0010620    i   s   t   h   e   a   d   .   p   r   o   c   s   .   A   d
0010640    d   D   e   c   l   a   r   a   t   i   o   n   s   T   o   F
0010660    i   e   l   d   L   i   s   t   [   t   r   e   e   D   a   t
0010700    a   .   D   e   c   L   i   s   t   h   e   a   d   ,       f
0010720    l   ,       l   o   c   a   l   C   o   n   t   e   x   t   ,
0010740        c   s   ]   ;  \r   [   f   l   2   ,       l   c   2   ]
0010760        _       t   r   e   e   D   a   t   a   .   D   e   c   L
0011000    i   s   t   t   a   i   l   .   p   r   o   c   s   .   A   d
0011020    d   D   e   c   l   a   r   a   t   i   o   n   s   T   o   F
0011040    i   e   l   d   L   i   s   t   [   t   r   e   e   D   a   t
0011060    a   .   D   e   c   L   i   s   t   t   a   i   l   ,       f
0011100    l   1   ,       l   c   1   ,       c   s   ]   ;  \r   t   e
0011120    m   p   1       _       l   c   2   ;  \r   t   e   m   p   0
0011140        _       f   l   2   ;  \r   E   N   D   ;  \r   E   N   D
0011160   \r   E   N   D   ;  \r  \r   D   e   c   L   i   s   t   m   a
0011200    n   y   P   r   o   d   U   p   d   a   t   e   L   o   c   a
0011220    l   C   o   n   t   e   x   t   :  \t   P   U   B   L   I   C
0011240        P   R   O   C   [   r   e   f   :       R   E   F       A
0011260    N   Y   ,       l   o   c   a   l   C   o   n   t   e   x   t
0011300    :       L   o   c   a   l   C   o   n   t   e   x   t   N   o
0011320    d   e   ,       p   a   i   n   t   R   e   c   o   r   d   s
0011340    :       B   O   O   L   E   A   N   ,       c   s   :       C
0011360    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0011400    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0011420        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0011440    e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :
0011460   \t   D   e   c   L   i   s   t   N   o   d   e   _       N   A
0011500    R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N
0011520   \r   E   N   A   B   L   E       T   h   r   e   e   C   4   S
0011540    u   p   p   o   r   t   .   G   e   t   S   o   u   r   c   e
0011560    I   n   f   o       =   >       R   E   S   U   M   E   [   t
0011600    r   e   e   .   p   o   s   i   t   i   o   n   ,       t   r
0011620    e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e
0011640    D   a   t   a   :  \t   D   e   c   L   i   s   t   m   a   n
0011660    y   P   r   o   d   D   a   t   a       _       N   A   R   R
0011700    O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B
0011720    E   G   I   N  \r   l   c   1   :  \t   L   o   c   a   l   C
0011740    o   n   t   e   x   t   N   o   d   e   ;  \r   l   c   1    
0011760    _       F   a   k   e   D   a   m   a   g   e   C   o   n   t
0012000    e   x   t   [   l   o   c   a   l   C   o   n   t   e   x   t
0012020    ]   ;  \r   t   e   m   p   0       _       l   c   1   ;  \r
0012040    E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   D
0012060    e   c   L   i   s   t   o   n   e   P   r   o   d   H   a   n
0012100    g   C   o   n   t   e   x   t   s   F   r   o   m   C   o   n
0012120    t   e   x   t   T   r   e   e   :  \t   P   U   B   L   I   C
0012140        P   R   O   C   [   r   e   f   :       R   E   F       A
0012160    N   Y   ,       c   o   n   t   e   x   t   T   r   e   e   :
0012200        C   o   n   t   e   x   t   T   r   e   e   N   o   d   e
0012220    ,       r   i   b   :       C   o   n   t   e   x   t   R   i
0012240    b   N   o   d   e   ,       p   a   i   n   t   R   e   c   o
0012260    r   d   s   :       B   O   O   L   E   A   N   ,       c   s
0012300    :       C   o   m   p   i   l   e   r   S   t   a   t   e   N
0012320    o   d   e   ]       R   E   T   U   R   N   S   [   t   e   m
0012340    p   0   :       C   o   n   t   e   x   t   T   r   e   e   N
0012360    o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e
0012400    e   :  \t   D   e   c   L   i   s   t   N   o   d   e   _    
0012420    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0012440    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0012460    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0012500    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0012520    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0012540    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r
0012560    e   e   D   a   t   a   :  \t   D   e   c   L   i   s   t   o
0012600    n   e   P   r   o   d   D   a   t   a       _       N   A   R
0012620    R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r
0012640    t   e   m   p   0       _       t   r   e   e   D   a   t   a
0012660    .   D   e   c   l   a   r   a   t   i   o   n   .   p   r   o
0012700    c   s   .   H   a   n   g   C   o   n   t   e   x   t   s   F
0012720    r   o   m   C   o   n   t   e   x   t   T   r   e   e   [   t
0012740    r   e   e   D   a   t   a   .   D   e   c   l   a   r   a   t
0012760    i   o   n   ,       c   o   n   t   e   x   t   T   r   e   e
0013000    ,       r   i   b   ,       p   a   i   n   t   R   e   c   o
0013020    r   d   s   ,       c   s   ]   ;  \r   E   N   D  \r   E   N
0013040    D   ;  \r  \r   D   e   c   L   i   s   t   o   n   e   P   r
0013060    o   d   A   d   d   D   e   c   l   a   r   a   t   i   o   n
0013100    s   T   o   F   i   e   l   d   L   i   s   t   :  \t   P   U
0013120    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0013140    E   F       A   N   Y   ,       f   l   :       F   i   e   l
0013160    d   L   i   s   t   N   o   d   e   ,       l   o   c   a   l
0013200    C   o   n   t   e   x   t   :       L   o   c   a   l   C   o
0013220    n   t   e   x   t   N   o   d   e   ,       c   s   :       C
0013240    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0013260    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0013300        F   i   e   l   d   L   i   s   t   N   o   d   e   ,    
0013320    t   e   m   p   1   :       L   o   c   a   l   C   o   n   t
0013340    e   x   t   N   o   d   e   ]       =  \r   B   E   G   I   N
0013360   \r   t   r   e   e   :  \t   D   e   c   L   i   s   t   N   o
0013400    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0013420   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0013440    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0013460    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0013500    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0013520    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0013540    ;  \r   t   r   e   e   D   a   t   a   :  \t   D   e   c   L
0013560    i   s   t   o   n   e   P   r   o   d   D   a   t   a       _
0013600        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0013620    a   ]   ;  \r   B   E   G   I   N  \r   f   l   1   :  \t   F
0013640    i   e   l   d   L   i   s   t   N   o   d   e   ;  \r   l   c
0013660    1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N
0013700    o   d   e   ;  \r   [   f   l   1   ,       l   c   1   ]    
0013720    _       t   r   e   e   D   a   t   a   .   D   e   c   l   a
0013740    r   a   t   i   o   n   .   p   r   o   c   s   .   A   d   d
0013760    D   e   c   l   a   r   a   t   i   o   n   T   o   F   i   e
0014000    l   d   L   i   s   t   [   t   r   e   e   D   a   t   a   .
0014020    D   e   c   l   a   r   a   t   i   o   n   ,       f   l   ,
0014040        l   o   c   a   l   C   o   n   t   e   x   t   ,       c
0014060    s   ]   ;  \r   t   e   m   p   1       _       l   c   1   ;
0014100   \r   t   e   m   p   0       _       f   l   1   ;  \r   E   N
0014120    D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   D   e   c
0014140    L   i   s   t   o   n   e   P   r   o   d   U   p   d   a   t
0014160    e   L   o   c   a   l   C   o   n   t   e   x   t   :  \t   P
0014200    U   B   L   I   C       P   R   O   C   [   r   e   f   :    
0014220    R   E   F       A   N   Y   ,       l   o   c   a   l   C   o
0014240    n   t   e   x   t   :       L   o   c   a   l   C   o   n   t
0014260    e   x   t   N   o   d   e   ,       p   a   i   n   t   R   e
0014300    c   o   r   d   s   :       B   O   O   L   E   A   N   ,    
0014320    c   s   :       C   o   m   p   i   l   e   r   S   t   a   t
0014340    e   N   o   d   e   ]       R   E   T   U   R   N   S   [   t
0014360    e   m   p   0   :       L   o   c   a   l   C   o   n   t   e
0014400    x   t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r
0014420    t   r   e   e   :  \t   D   e   c   L   i   s   t   N   o   d
0014440    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0014460    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0014500    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0014520    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0014540    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0014560    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0014600   \r   t   r   e   e   D   a   t   a   :  \t   D   e   c   L   i
0014620    s   t   o   n   e   P   r   o   d   D   a   t   a       _    
0014640    N   A   R   R   O   W   [   t   r   e   e   .   d   a   t   a
0014660    ]   ;  \r   B   E   G   I   N  \r   l   c   1   :  \t   L   o
0014700    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;  \r
0014720    l   c   1       _       F   a   k   e   D   a   m   a   g   e
0014740    C   o   n   t   e   x   t   [   l   o   c   a   l   C   o   n
0014760    t   e   x   t   ]   ;  \r   t   e   m   p   0       _       l
0015000    c   1   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D
0015020    ;  \r  \r   D   e   c   l   a   r   a   t   i   o   n   o   p
0015040    a   q   u   e   t   y   p   e   P   r   o   d   H   a   n   g
0015060    C   o   n   t   e   x   t   s   F   r   o   m   C   o   n   t
0015100    e   x   t   T   r   e   e   :  \t   P   U   B   L   I   C    
0015120    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0015140    Y   ,       c   o   n   t   e   x   t   T   r   e   e   :    
0015160    C   o   n   t   e   x   t   T   r   e   e   N   o   d   e   ,
0015200        r   i   b   :       C   o   n   t   e   x   t   R   i   b
0015220    N   o   d   e   ,       p   a   i   n   t   R   e   c   o   r
0015240    d   s   :       B   O   O   L   E   A   N   ,       c   s   :
0015260        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0015300    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0015320    0   :       C   o   n   t   e   x   t   T   r   e   e   N   o
0015340    d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0015360    :  \t   D   e   c   l   a   r   a   t   i   o   n   N   o   d
0015400    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0015420    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0015440    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0015460    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0015500    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0015520    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0015540   \r   t   r   e   e   D   a   t   a   :  \t   D   e   c   l   a
0015560    r   a   t   i   o   n   o   p   a   q   u   e   t   y   p   e
0015600    P   r   o   d   D   a   t   a       _       N   A   R   R   O
0015620    W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e
0015640    m   p   0       _       F   a   k   e   D   a   m   a   g   e
0015660    C   o   n   t   e   x   t   T   r   e   e   [   c   o   n   t
0015700    e   x   t   T   r   e   e   ]   ;  \r   E   N   D  \r   E   N
0015720    D   ;  \r  \r   D   e   c   l   a   r   a   t   i   o   n   o
0015740    p   a   q   u   e   t   y   p   e   P   r   o   d   A   d   d
0015760    D   e   c   l   a   r   a   t   i   o   n   T   o   F   i   e
0016000    l   d   L   i   s   t   :  \t   P   U   B   L   I   C       P
0016020    R   O   C   [   r   e   f   :       R   E   F       A   N   Y
0016040    ,       f   l   :       F   i   e   l   d   L   i   s   t   N
0016060    o   d   e   ,       l   o   c   a   l   C   o   n   t   e   x
0016100    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0016120    o   d   e   ,       c   s   :       C   o   m   p   i   l   e
0016140    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0016160    R   N   S   [   t   e   m   p   0   :       F   i   e   l   d
0016200    L   i   s   t   N   o   d   e   ,       t   e   m   p   1   :
0016220        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0016240    e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :
0016260   \t   D   e   c   l   a   r   a   t   i   o   n   N   o   d   e
0016300    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0016320    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0016340    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0016360    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0016400    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0016420    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0016440    t   r   e   e   D   a   t   a   :  \t   D   e   c   l   a   r
0016460    a   t   i   o   n   o   p   a   q   u   e   t   y   p   e   P
0016500    r   o   d   D   a   t   a       _       N   A   R   R   O   W
0016520    [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G
0016540    I   N  \r   i   d   A   c   c   e   s   s   :  \t   A   c   c
0016560    e   s   s   V   a   l   N   o   d   e   ;  \r   t   y   p   e
0016600    A   c   c   e   s   s   :  \t   A   c   c   e   s   s   V   a
0016620    l   N   o   d   e   ;  \r   t   y   p   e   E   x   p   :  \t
0016640    T   y   p   e   E   x   p   P   T   r   e   e   N   o   d   e
0016660    ;  \r   d   e   f   a   u   l   t   :  \t   D   e   f   a   u
0016700    l   t   E   x   p   N   o   d   e   ;  \r   l   c   2   :  \t
0016720    L   o   c   a   l   C   o   n   t   e   x   t   N   o   d   e
0016740    ;  \r   t   g   n   :  \t   T   y   p   e   G   r   a   p   h
0016760    N   o   d   e   N   o   d   e   ;  \r   l   c   1   :  \t   L
0017000    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;
0017020   \r   p   a   i   n   t   :  \t   P   a   i   n   t   N   o   d
0017040    e   ;  \r   s   i   z   e   E   x   p   :  \t   V   a   l   u
0017060    e   N   o   d   e   ;  \r   s   i   z   e   E   x   p       _
0017100        t   r   e   e   D   a   t   a   .   O   p   t   S   i   z
0017120    e   .   p   r   o   c   s   .   G   e   t   E   x   p   V   a
0017140    l   [   t   r   e   e   D   a   t   a   .   O   p   t   S   i
0017160    z   e   ]   ;  \r   [   l   c   1   ,       p   a   i   n   t
0017200    ]       _       G   e   t   U   n   i   q   u   e   P   a   i
0017220    n   t   [   l   o   c   a   l   C   o   n   t   e   x   t   ]
0017240    ;  \r   [   l   c   2   ,       t   g   n   ]       _       C
0017260    r   e   a   t   e   O   p   a   q   u   e   T   G   N   [   l
0017300    c   1   ,       p   a   i   n   t   ,       s   i   z   e   E
0017320    x   p   ]   ;  \r   d   e   f   a   u   l   t       _       N
0017340    u   l   l   D   e   f   a   u   l   t   V   a   l   [   ]   ;
0017360   \r   t   y   p   e   E   x   p       _       B   o   g   u   s
0017400    T   y   p   e   E   x   p   P   T   r   e   e   [   ]   ;  \r
0017420    t   y   p   e   A   c   c   e   s   s       _       N   u   l
0017440    l   A   c   c   e   s   s   V   a   l   [   ]   ;  \r   i   d
0017460    A   c   c   e   s   s       _       t   r   e   e   D   a   t
0017500    a   .   A   c   c   e   s   s   .   p   r   o   c   s   .   G
0017520    e   t   A   c   c   e   s   s   V   a   l   [   t   r   e   e
0017540    D   a   t   a   .   A   c   c   e   s   s   ,       G   e   t
0017560    D   e   f   a   u   l   t   A   c   c   e   s   s   [   c   s
0017600    ]   ]   ;  \r   [   t   e   m   p   0   ,       t   e   m   p
0017620    1   ]       _       t   r   e   e   D   a   t   a   .   I   d
0017640    e   n   t   L   i   s   t   .   p   r   o   c   s   .   A   d
0017660    d   T   y   p   e   D   e   c   l   a   r   a   t   i   o   n
0017700    T   o   F   i   e   l   d   L   i   s   t   [   t   r   e   e
0017720    D   a   t   a   .   I   d   e   n   t   L   i   s   t   ,    
0017740    f   l   ,       l   c   2   ,       c   s   ,       i   d   A
0017760    c   c   e   s   s   ,       t   y   p   e   A   c   c   e   s
0020000    s   ,       t   g   n   ,       t   y   p   e   E   x   p   ,
0020020        d   e   f   a   u   l   t   ]   ;  \r   E   N   D   ;  \r
0020040    E   N   D  \r   E   N   D   ;  \r  \r   D   e   c   l   a   r
0020060    a   t   i   o   n   t   y   p   e   P   r   o   d   H   a   n
0020100    g   C   o   n   t   e   x   t   s   F   r   o   m   C   o   n
0020120    t   e   x   t   T   r   e   e   :  \t   P   U   B   L   I   C
0020140        P   R   O   C   [   r   e   f   :       R   E   F       A
0020160    N   Y   ,       c   o   n   t   e   x   t   T   r   e   e   :
0020200        C   o   n   t   e   x   t   T   r   e   e   N   o   d   e
0020220    ,       r   i   b   :       C   o   n   t   e   x   t   R   i
0020240    b   N   o   d   e   ,       p   a   i   n   t   R   e   c   o
0020260    r   d   s   :       B   O   O   L   E   A   N   ,       c   s
0020300    :       C   o   m   p   i   l   e   r   S   t   a   t   e   N
0020320    o   d   e   ]       R   E   T   U   R   N   S   [   t   e   m
0020340    p   0   :       C   o   n   t   e   x   t   T   r   e   e   N
0020360    o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e
0020400    e   :  \t   D   e   c   l   a   r   a   t   i   o   n   N   o
0020420    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0020440   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0020460    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0020500    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0020520    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0020540    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0020560    ;  \r   t   r   e   e   D   a   t   a   :  \t   D   e   c   l
0020600    a   r   a   t   i   o   n   t   y   p   e   P   r   o   d   D
0020620    a   t   a       _       N   A   R   R   O   W   [   t   r   e
0020640    e   .   d   a   t   a   ]   ;  \r   t   e   m   p   0       _
0020660        F   a   k   e   D   a   m   a   g   e   C   o   n   t   e
0020700    x   t   T   r   e   e   [   c   o   n   t   e   x   t   T   r
0020720    e   e   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   D
0020740    e   c   l   a   r   a   t   i   o   n   t   y   p   e   P   r
0020760    o   d   A   d   d   D   e   c   l   a   r   a   t   i   o   n
0021000    T   o   F   i   e   l   d   L   i   s   t   :  \t   P   U   B
0021020    L   I   C       P   R   O   C   [   r   e   f   :       R   E
0021040    F       A   N   Y   ,       f   l   :       F   i   e   l   d
0021060    L   i   s   t   N   o   d   e   ,       l   o   c   a   l   C
0021100    o   n   t   e   x   t   :       L   o   c   a   l   C   o   n
0021120    t   e   x   t   N   o   d   e   ,       c   s   :       C   o
0021140    m   p   i   l   e   r   S   t   a   t   e   N   o   d   e   ]
0021160        R   E   T   U   R   N   S   [   t   e   m   p   0   :    
0021200    F   i   e   l   d   L   i   s   t   N   o   d   e   ,       t
0021220    e   m   p   1   :       L   o   c   a   l   C   o   n   t   e
0021240    x   t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r
0021260    t   r   e   e   :  \t   D   e   c   l   a   r   a   t   i   o
0021300    n   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0021320    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0021340        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0021360    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0021400        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0021420    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0021440    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   D
0021460    e   c   l   a   r   a   t   i   o   n   t   y   p   e   P   r
0021500    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0021520    t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I
0021540    N  \r   i   d   A   c   c   e   s   s   :  \t   A   c   c   e
0021560    s   s   V   a   l   N   o   d   e   ;  \r   t   y   p   e   A
0021600    c   c   e   s   s   :  \t   A   c   c   e   s   s   V   a   l
0021620    N   o   d   e   ;  \r   t   y   p   e   E   x   p   :  \t   T
0021640    y   p   e   E   x   p   P   T   r   e   e   N   o   d   e   ;
0021660   \r   d   e   f   a   u   l   t   :  \t   D   e   f   a   u   l
0021700    t   E   x   p   N   o   d   e   ;  \r   l   c   2   :  \t   L
0021720    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;
0021740   \r   t   g   n   :  \t   T   y   p   e   G   r   a   p   h   N
0021760    o   d   e   N   o   d   e   ;  \r   p   a   i   n   t   R   e
0022000    c   o   r   d   s   :  \t   B   O   O   L   E   A   N   ;  \r
0022020    l   c   1   :  \t   L   o   c   a   l   C   o   n   t   e   x
0022040    t   N   o   d   e   ;  \r   p   a   i   n   t   :  \t   P   a
0022060    i   n   t   N   o   d   e   ;  \r   [   l   c   1   ,       p
0022100    a   i   n   t   ]       _       G   e   t   U   n   i   q   u
0022120    e   P   a   i   n   t   [   l   o   c   a   l   C   o   n   t
0022140    e   x   t   ]   ;  \r   p   a   i   n   t   R   e   c   o   r
0022160    d   s       _       T   r   u   e   [   ]   ;  \r   [   l   c
0022200    2   ,       t   g   n   ]       _       t   r   e   e   D   a
0022220    t   a   .   T   y   p   e   E   x   p   .   p   r   o   c   s
0022240    .   M   a   k   e   T   y   p   e   [   t   r   e   e   D   a
0022260    t   a   .   T   y   p   e   E   x   p   ,       l   c   1   ,
0022300        p   a   i   n   t   R   e   c   o   r   d   s   ,       c
0022320    s   ]   ;  \r   d   e   f   a   u   l   t       _       t   r
0022340    e   e   D   a   t   a   .   D   e   f   a   u   l   t   .   p
0022360    r   o   c   s   .   G   e   t   D   e   f   a   u   l   t   E
0022400    x   p   V   a   l   [   t   r   e   e   D   a   t   a   .   D
0022420    e   f   a   u   l   t   ]   ;  \r   t   y   p   e   E   x   p
0022440        _       T   y   p   e   E   x   p   P   T   r   e   e   V
0022460    a   l   [   t   r   e   e   D   a   t   a   .   T   y   p   e
0022500    E   x   p   ]   ;  \r   t   y   p   e   A   c   c   e   s   s
0022520        _       t   r   e   e   D   a   t   a   .   A   c   c   e
0022540    s   s   t   y   p   e   .   p   r   o   c   s   .   G   e   t
0022560    A   c   c   e   s   s   V   a   l   [   t   r   e   e   D   a
0022600    t   a   .   A   c   c   e   s   s   t   y   p   e   ,       G
0022620    e   t   D   e   f   a   u   l   t   A   c   c   e   s   s   [
0022640    c   s   ]   ]   ;  \r   i   d   A   c   c   e   s   s       _
0022660        t   r   e   e   D   a   t   a   .   A   c   c   e   s   s
0022700    i   d   .   p   r   o   c   s   .   G   e   t   A   c   c   e
0022720    s   s   V   a   l   [   t   r   e   e   D   a   t   a   .   A
0022740    c   c   e   s   s   i   d   ,       G   e   t   D   e   f   a
0022760    u   l   t   A   c   c   e   s   s   [   c   s   ]   ]   ;  \r
0023000    [   t   e   m   p   0   ,       t   e   m   p   1   ]       _
0023020        t   r   e   e   D   a   t   a   .   I   d   e   n   t   L
0023040    i   s   t   .   p   r   o   c   s   .   A   d   d   T   y   p
0023060    e   D   e   c   l   a   r   a   t   i   o   n   T   o   F   i
0023100    e   l   d   L   i   s   t   [   t   r   e   e   D   a   t   a
0023120    .   I   d   e   n   t   L   i   s   t   ,       f   l   ,    
0023140    l   c   2   ,       c   s   ,       i   d   A   c   c   e   s
0023160    s   ,       t   y   p   e   A   c   c   e   s   s   ,       t
0023200    g   n   ,       t   y   p   e   E   x   p   ,       d   e   f
0023220    a   u   l   t   ]   ;  \r   E   N   D   ;  \r   E   N   D  \r
0023240    E   N   D   ;  \r  \r   D   e   c   l   a   r   a   t   i   o
0023260    n   v   a   l   u   e   P   r   o   d   H   a   n   g   C   o
0023300    n   t   e   x   t   s   F   r   o   m   C   o   n   t   e   x
0023320    t   T   r   e   e   :  \t   P   U   B   L   I   C       P   R
0023340    O   C   [   r   e   f   :       R   E   F       A   N   Y   ,
0023360        c   o   n   t   e   x   t   T   r   e   e   :       C   o
0023400    n   t   e   x   t   T   r   e   e   N   o   d   e   ,       r
0023420    i   b   :       C   o   n   t   e   x   t   R   i   b   N   o
0023440    d   e   ,       p   a   i   n   t   R   e   c   o   r   d   s
0023460    :       B   O   O   L   E   A   N   ,       c   s   :       C
0023500    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0023520    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0023540        C   o   n   t   e   x   t   T   r   e   e   N   o   d   e
0023560    ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t
0023600    D   e   c   l   a   r   a   t   i   o   n   N   o   d   e   _
0023620        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0023640    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0023660    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0023700    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0023720    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0023740        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0023760    r   e   e   D   a   t   a   :  \t   D   e   c   l   a   r   a
0024000    t   i   o   n   v   a   l   u   e   P   r   o   d   D   a   t
0024020    a       _       N   A   R   R   O   W   [   t   r   e   e   .
0024040    d   a   t   a   ]   ;  \r   t   e   m   p   0       _       F
0024060    a   k   e   D   a   m   a   g   e   C   o   n   t   e   x   t
0024100    T   r   e   e   [   c   o   n   t   e   x   t   T   r   e   e
0024120    ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   D   e   c
0024140    l   a   r   a   t   i   o   n   v   a   l   u   e   P   r   o
0024160    d   A   d   d   D   e   c   l   a   r   a   t   i   o   n   T
0024200    o   F   i   e   l   d   L   i   s   t   :  \t   P   U   B   L
0024220    I   C       P   R   O   C   [   r   e   f   :       R   E   F
0024240        A   N   Y   ,       f   l   :       F   i   e   l   d   L
0024260    i   s   t   N   o   d   e   ,       l   o   c   a   l   C   o
0024300    n   t   e   x   t   :       L   o   c   a   l   C   o   n   t
0024320    e   x   t   N   o   d   e   ,       c   s   :       C   o   m
0024340    p   i   l   e   r   S   t   a   t   e   N   o   d   e   ]    
0024360    R   E   T   U   R   N   S   [   t   e   m   p   0   :       F
0024400    i   e   l   d   L   i   s   t   N   o   d   e   ,       t   e
0024420    m   p   1   :       L   o   c   a   l   C   o   n   t   e   x
0024440    t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0024460    r   e   e   :  \t   D   e   c   l   a   r   a   t   i   o   n
0024500    N   o   d   e   _       N   A   R   R   O   W   [   r   e   f
0024520    ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E    
0024540    T   h   r   e   e   C   4   S   u   p   p   o   r   t   .   G
0024560    e   t   S   o   u   r   c   e   I   n   f   o       =   >    
0024600    R   E   S   U   M   E   [   t   r   e   e   .   p   o   s   i
0024620    t   i   o   n   ,       t   r   e   e   .   l   e   n   g   t
0024640    h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   D   e
0024660    c   l   a   r   a   t   i   o   n   v   a   l   u   e   P   r
0024700    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0024720    t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I
0024740    N  \r   f   l   1   :  \t   F   i   e   l   d   L   i   s   t
0024760    N   o   d   e   ;  \r   p   a   r   s   e   T   r   e   e   :
0025000   \t   D   e   c   l   a   r   a   t   i   o   n   P   T   r   e
0025020    e   N   o   d   e   ;  \r   i   n   i   t   :  \t   I   n   i
0025040    t   i   a   l   i   z   a   t   i   o   n   P   T   r   e   e
0025060    N   o   d   e   ;  \r   a   c   c   e   s   s   :  \t   A   c
0025100    c   e   s   s   V   a   l   N   o   d   e   ;  \r   l   c   1
0025120    :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N   o
0025140    d   e   ;  \r   t   g   n   :  \t   T   y   p   e   G   r   a
0025160    p   h   N   o   d   e   N   o   d   e   ;  \r   p   a   i   n
0025200    t   R   e   c   o   r   d   s   :  \t   B   O   O   L   E   A
0025220    N   ;  \r   p   a   i   n   t   R   e   c   o   r   d   s    
0025240    _       T   r   u   e   [   ]   ;  \r   [   l   c   1   ,    
0025260    t   g   n   ]       _       t   r   e   e   D   a   t   a   .
0025300    T   y   p   e   E   x   p   .   p   r   o   c   s   .   M   a
0025320    k   e   T   y   p   e   [   t   r   e   e   D   a   t   a   .
0025340    T   y   p   e   E   x   p   ,       l   o   c   a   l   C   o
0025360    n   t   e   x   t   ,       p   a   i   n   t   R   e   c   o
0025400    r   d   s   ,       c   s   ]   ;  \r   a   c   c   e   s   s
0025420        _       t   r   e   e   D   a   t   a   .   A   c   c   e
0025440    s   s   .   p   r   o   c   s   .   G   e   t   A   c   c   e
0025460    s   s   V   a   l   [   t   r   e   e   D   a   t   a   .   A
0025500    c   c   e   s   s   ,       G   e   t   D   e   f   a   u   l
0025520    t   A   c   c   e   s   s   [   c   s   ]   ]   ;  \r   i   n
0025540    i   t       _       I   n   i   t   i   a   l   i   z   a   t
0025560    i   o   n   P   T   r   e   e   V   a   l   [   t   r   e   e
0025600    D   a   t   a   .   I   n   i   t   i   a   l   i   z   a   t
0025620    i   o   n   ]   ;  \r   p   a   r   s   e   T   r   e   e    
0025640    _       D   e   c   l   a   r   a   t   i   o   n   P   T   r
0025660    e   e   V   a   l   [   t   r   e   e   ]   ;  \r   f   l   1
0025700        _       t   r   e   e   D   a   t   a   .   I   d   e   n
0025720    t   L   i   s   t   .   p   r   o   c   s   .   A   d   d   V
0025740    a   l   u   e   D   e   c   l   a   r   a   t   i   o   n   T
0025760    o   F   i   e   l   d   L   i   s   t   [   t   r   e   e   D
0026000    a   t   a   .   I   d   e   n   t   L   i   s   t   ,       f
0026020    l   ,       c   s   ,       p   a   r   s   e   T   r   e   e
0026040    ,       a   c   c   e   s   s   ,       t   g   n   ,       i
0026060    n   i   t   ]   ;  \r   t   e   m   p   1       _       l   c
0026100    1   ;  \r   t   e   m   p   0       _       f   l   1   ;  \r
0026120    E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   I
0026140    d   e   n   t   L   i   s   t   m   a   n   y   P   r   o   d
0026160    A   d   d   T   y   p   e   D   e   c   l   a   r   a   t   i
0026200    o   n   T   o   F   i   e   l   d   L   i   s   t   :  \t   P
0026220    U   B   L   I   C       P   R   O   C   [   r   e   f   :    
0026240    R   E   F       A   N   Y   ,       f   l   :       F   i   e
0026260    l   d   L   i   s   t   N   o   d   e   ,       l   c   :    
0026300    L   o   c   a   l   C   o   n   t   e   x   t   N   o   d   e
0026320    ,       c   s   :       C   o   m   p   i   l   e   r   S   t
0026340    a   t   e   N   o   d   e   ,       i   d   A   c   c   e   s
0026360    s   :       A   c   c   e   s   s   V   a   l   N   o   d   e
0026400    ,       t   y   p   e   A   c   c   e   s   s   :       A   c
0026420    c   e   s   s   V   a   l   N   o   d   e   ,       t   g   n
0026440    :       T   y   p   e   G   r   a   p   h   N   o   d   e   N
0026460    o   d   e   ,       t   y   p   e   E   x   p   :       T   y
0026500    p   e   E   x   p   P   T   r   e   e   N   o   d   e   ,    
0026520    d   e   f   a   u   l   t   :       D   e   f   a   u   l   t
0026540    E   x   p   N   o   d   e   ]       R   E   T   U   R   N   S
0026560    [   t   e   m   p   0   :       F   i   e   l   d   L   i   s
0026600    t   N   o   d   e   ,       t   e   m   p   1   :       L   o
0026620    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]    
0026640    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   I   d
0026660    e   n   t   L   i   s   t   N   o   d   e   _       N   A   R
0026700    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0026720    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0026740    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0026760    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0027000    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0027020    e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D
0027040    a   t   a   :  \t   I   d   e   n   t   L   i   s   t   m   a
0027060    n   y   P   r   o   d   D   a   t   a       _       N   A   R
0027100    R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r
0027120    B   E   G   I   N  \r   f   l   2   :  \t   F   i   e   l   d
0027140    L   i   s   t   N   o   d   e   ;  \r   l   c   2   :  \t   L
0027160    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;
0027200   \r   f   l   1   :  \t   F   i   e   l   d   L   i   s   t   N
0027220    o   d   e   ;  \r   l   c   1   :  \t   L   o   c   a   l   C
0027240    o   n   t   e   x   t   N   o   d   e   ;  \r   [   f   l   1
0027260    ,       l   c   1   ]       _       t   r   e   e   D   a   t
0027300    a   .   I   d   e   n   t   L   i   s   t   h   e   a   d   .
0027320    p   r   o   c   s   .   A   d   d   T   y   p   e   D   e   c
0027340    l   a   r   a   t   i   o   n   T   o   F   i   e   l   d   L
0027360    i   s   t   [   t   r   e   e   D   a   t   a   .   I   d   e
0027400    n   t   L   i   s   t   h   e   a   d   ,       f   l   ,    
0027420    l   c   ,       c   s   ,       i   d   A   c   c   e   s   s
0027440    ,       t   y   p   e   A   c   c   e   s   s   ,       t   g
0027460    n   ,       t   y   p   e   E   x   p   ,       d   e   f   a
0027500    u   l   t   ]   ;  \r   [   f   l   2   ,       l   c   2   ]
0027520        _       t   r   e   e   D   a   t   a   .   I   d   e   n
0027540    t   L   i   s   t   t   a   i   l   .   p   r   o   c   s   .
0027560    A   d   d   T   y   p   e   D   e   c   l   a   r   a   t   i
0027600    o   n   T   o   F   i   e   l   d   L   i   s   t   [   t   r
0027620    e   e   D   a   t   a   .   I   d   e   n   t   L   i   s   t
0027640    t   a   i   l   ,       f   l   1   ,       l   c   1   ,    
0027660    c   s   ,       i   d   A   c   c   e   s   s   ,       t   y
0027700    p   e   A   c   c   e   s   s   ,       t   g   n   ,       t
0027720    y   p   e   E   x   p   ,       d   e   f   a   u   l   t   ]
0027740    ;  \r   t   e   m   p   1       _       l   c   2   ;  \r   t
0027760    e   m   p   0       _       f   l   2   ;  \r   E   N   D   ;
0030000   \r   E   N   D  \r   E   N   D   ;  \r  \r   I   d   e   n   t
0030020    L   i   s   t   m   a   n   y   P   r   o   d   A   d   d   V
0030040    a   l   u   e   D   e   c   l   a   r   a   t   i   o   n   T
0030060    o   F   i   e   l   d   L   i   s   t   :  \t   P   U   B   L
0030100    I   C       P   R   O   C   [   r   e   f   :       R   E   F
0030120        A   N   Y   ,       f   l   :       F   i   e   l   d   L
0030140    i   s   t   N   o   d   e   ,       c   s   :       C   o   m
0030160    p   i   l   e   r   S   t   a   t   e   N   o   d   e   ,    
0030200    p   a   r   s   e   T   r   e   e   :       D   e   c   l   a
0030220    r   a   t   i   o   n   P   T   r   e   e   N   o   d   e   ,
0030240        a   c   c   e   s   s   :       A   c   c   e   s   s   V
0030260    a   l   N   o   d   e   ,       t   g   n   :       T   y   p
0030300    e   G   r   a   p   h   N   o   d   e   N   o   d   e   ,    
0030320    i   n   i   t   :       I   n   i   t   i   a   l   i   z   a
0030340    t   i   o   n   P   T   r   e   e   N   o   d   e   ]       R
0030360    E   T   U   R   N   S   [   t   e   m   p   0   :       F   i
0030400    e   l   d   L   i   s   t   N   o   d   e   ]       =  \r   B
0030420    E   G   I   N  \r   t   r   e   e   :  \t   I   d   e   n   t
0030440    L   i   s   t   N   o   d   e   _       N   A   R   R   O   W
0030460    [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A
0030500    B   L   E       T   h   r   e   e   C   4   S   u   p   p   o
0030520    r   t   .   G   e   t   S   o   u   r   c   e   I   n   f   o
0030540        =   >       R   E   S   U   M   E   [   t   r   e   e   .
0030560    p   o   s   i   t   i   o   n   ,       t   r   e   e   .   l
0030600    e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a
0030620    :  \t   I   d   e   n   t   L   i   s   t   m   a   n   y   P
0030640    r   o   d   D   a   t   a       _       N   A   R   R   O   W
0030660    [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G
0030700    I   N  \r   f   l   2   :  \t   F   i   e   l   d   L   i   s
0030720    t   N   o   d   e   ;  \r   f   l   1   :  \t   F   i   e   l
0030740    d   L   i   s   t   N   o   d   e   ;  \r   f   l   1       _
0030760        t   r   e   e   D   a   t   a   .   I   d   e   n   t   L
0031000    i   s   t   h   e   a   d   .   p   r   o   c   s   .   A   d
0031020    d   V   a   l   u   e   D   e   c   l   a   r   a   t   i   o
0031040    n   T   o   F   i   e   l   d   L   i   s   t   [   t   r   e
0031060    e   D   a   t   a   .   I   d   e   n   t   L   i   s   t   h
0031100    e   a   d   ,       f   l   ,       c   s   ,       p   a   r
0031120    s   e   T   r   e   e   ,       a   c   c   e   s   s   ,    
0031140    t   g   n   ,       i   n   i   t   ]   ;  \r   f   l   2    
0031160    _       t   r   e   e   D   a   t   a   .   I   d   e   n   t
0031200    L   i   s   t   t   a   i   l   .   p   r   o   c   s   .   A
0031220    d   d   V   a   l   u   e   D   e   c   l   a   r   a   t   i
0031240    o   n   T   o   F   i   e   l   d   L   i   s   t   [   t   r
0031260    e   e   D   a   t   a   .   I   d   e   n   t   L   i   s   t
0031300    t   a   i   l   ,       f   l   1   ,       c   s   ,       p
0031320    a   r   s   e   T   r   e   e   ,       a   c   c   e   s   s
0031340    ,       t   g   n   ,       i   n   i   t   ]   ;  \r   t   e
0031360    m   p   0       _       f   l   2   ;  \r   E   N   D   ;  \r
0031400    E   N   D  \r   E   N   D   ;  \r  \r   I   d   e   n   t   L
0031420    i   s   t   o   n   e   P   r   o   d   A   d   d   T   y   p
0031440    e   D   e   c   l   a   r   a   t   i   o   n   T   o   F   i
0031460    e   l   d   L   i   s   t   :  \t   P   U   B   L   I   C    
0031500    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0031520    Y   ,       f   l   :       F   i   e   l   d   L   i   s   t
0031540    N   o   d   e   ,       l   c   :       L   o   c   a   l   C
0031560    o   n   t   e   x   t   N   o   d   e   ,       c   s   :    
0031600    C   o   m   p   i   l   e   r   S   t   a   t   e   N   o   d
0031620    e   ,       i   d   A   c   c   e   s   s   :       A   c   c
0031640    e   s   s   V   a   l   N   o   d   e   ,       t   y   p   e
0031660    A   c   c   e   s   s   :       A   c   c   e   s   s   V   a
0031700    l   N   o   d   e   ,       t   g   n   :       T   y   p   e
0031720    G   r   a   p   h   N   o   d   e   N   o   d   e   ,       t
0031740    y   p   e   E   x   p   :       T   y   p   e   E   x   p   P
0031760    T   r   e   e   N   o   d   e   ,       d   e   f   a   u   l
0032000    t   :       D   e   f   a   u   l   t   E   x   p   N   o   d
0032020    e   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0032040    :       F   i   e   l   d   L   i   s   t   N   o   d   e   ,
0032060        t   e   m   p   1   :       L   o   c   a   l   C   o   n
0032100    t   e   x   t   N   o   d   e   ]       =  \r   B   E   G   I
0032120    N  \r   t   r   e   e   :  \t   I   d   e   n   t   L   i   s
0032140    t   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0032160    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0032200        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0032220    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0032240        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0032260    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0032300    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   I
0032320    d   e   n   t   L   i   s   t   o   n   e   P   r   o   d   D
0032340    a   t   a       _       N   A   R   R   O   W   [   t   r   e
0032360    e   .   d   a   t   a   ]   ;  \r   [   t   e   m   p   0   ,
0032400        t   e   m   p   1   ]       _       t   r   e   e   D   a
0032420    t   a   .   I   d   e   n   t   .   p   r   o   c   s   .   A
0032440    d   d   T   y   p   e   D   e   c   l   a   r   a   t   i   o
0032460    n   T   o   F   i   e   l   d   L   i   s   t   [   t   r   e
0032500    e   D   a   t   a   .   I   d   e   n   t   ,       f   l   ,
0032520        l   c   ,       c   s   ,       i   d   A   c   c   e   s
0032540    s   ,       t   y   p   e   A   c   c   e   s   s   ,       t
0032560    g   n   ,       t   y   p   e   E   x   p   ,       d   e   f
0032600    a   u   l   t   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r
0032620   \r   I   d   e   n   t   L   i   s   t   o   n   e   P   r   o
0032640    d   A   d   d   V   a   l   u   e   D   e   c   l   a   r   a
0032660    t   i   o   n   T   o   F   i   e   l   d   L   i   s   t   :
0032700   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0032720    :       R   E   F       A   N   Y   ,       f   l   :       F
0032740    i   e   l   d   L   i   s   t   N   o   d   e   ,       c   s
0032760    :       C   o   m   p   i   l   e   r   S   t   a   t   e   N
0033000    o   d   e   ,       a   c   c   e   s   s   :       D   e   c
0033020    l   a   r   a   t   i   o   n   P   T   r   e   e   N   o   d
0033040    e   ,       p   a   r   s   e   T   r   e   e   :       A   c
0033060    c   e   s   s   V   a   l   N   o   d   e   ,       t   g   n
0033100    :       T   y   p   e   G   r   a   p   h   N   o   d   e   N
0033120    o   d   e   ,       i   n   i   t   :       I   n   i   t   i
0033140    a   l   i   z   a   t   i   o   n   P   T   r   e   e   N   o
0033160    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0033200    0   :       F   i   e   l   d   L   i   s   t   N   o   d   e
0033220    ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t
0033240    I   d   e   n   t   L   i   s   t   N   o   d   e   _       N
0033260    A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I
0033300    N  \r   E   N   A   B   L   E       T   h   r   e   e   C   4
0033320    S   u   p   p   o   r   t   .   G   e   t   S   o   u   r   c
0033340    e   I   n   f   o       =   >       R   E   S   U   M   E   [
0033360    t   r   e   e   .   p   o   s   i   t   i   o   n   ,       t
0033400    r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e
0033420    e   D   a   t   a   :  \t   I   d   e   n   t   L   i   s   t
0033440    o   n   e   P   r   o   d   D   a   t   a       _       N   A
0033460    R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;
0033500   \r   t   e   m   p   0       _       t   r   e   e   D   a   t
0033520    a   .   I   d   e   n   t   .   p   r   o   c   s   .   A   d
0033540    d   V   a   l   u   e   D   e   c   l   a   r   a   t   i   o
0033560    n   T   o   F   i   e   l   d   L   i   s   t   [   t   r   e
0033600    e   D   a   t   a   .   I   d   e   n   t   ,       f   l   ,
0033620        c   s   ,       a   c   c   e   s   s   ,       p   a   r
0033640    s   e   T   r   e   e   ,       t   g   n   ,       i   n   i
0033660    t   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   I   d
0033700    e   n   t   i   d   P   r   o   d   A   d   d   T   y   p   e
0033720    D   e   c   l   a   r   a   t   i   o   n   T   o   F   i   e
0033740    l   d   L   i   s   t   :  \t   P   U   B   L   I   C       P
0033760    R   O   C   [   r   e   f   :       R   E   F       A   N   Y
0034000    ,       f   l   :       F   i   e   l   d   L   i   s   t   N
0034020    o   d   e   ,       l   c   :       L   o   c   a   l   C   o
0034040    n   t   e   x   t   N   o   d   e   ,       c   s   :       C
0034060    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0034100    ,       i   d   A   c   c   e   s   s   :       A   c   c   e
0034120    s   s   V   a   l   N   o   d   e   ,       t   y   p   e   A
0034140    c   c   e   s   s   :       A   c   c   e   s   s   V   a   l
0034160    N   o   d   e   ,       t   g   n   :       T   y   p   e   G
0034200    r   a   p   h   N   o   d   e   N   o   d   e   ,       t   y
0034220    p   e   E   x   p   :       T   y   p   e   E   x   p   P   T
0034240    r   e   e   N   o   d   e   ,       d   e   f   a   u   l   t
0034260    :       D   e   f   a   u   l   t   E   x   p   N   o   d   e
0034300    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0034320        F   i   e   l   d   L   i   s   t   N   o   d   e   ,    
0034340    t   e   m   p   1   :       L   o   c   a   l   C   o   n   t
0034360    e   x   t   N   o   d   e   ]       =  \r   B   E   G   I   N
0034400   \r   t   r   e   e   :  \t   I   d   e   n   t   N   o   d   e
0034420    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0034440    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0034460    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0034500    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0034520    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0034540    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0034560    t   r   e   e   D   a   t   a   :  \t   I   d   e   n   t   i
0034600    d   P   r   o   d   D   a   t   a       _       N   A   R   R
0034620    O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B
0034640    E   G   I   N  \r   f   l   1   :  \t   F   i   e   l   d   L
0034660    i   s   t   N   o   d   e   ;  \r   f   i   e   l   d   :  \t
0034700    F   i   e   l   d   N   o   d   e   ;  \r   l   c   1   :  \t
0034720    L   o   c   a   l   C   o   n   t   e   x   t   N   o   d   e
0034740    ;  \r   n   a   m   e   d   T   G   N   :  \t   T   y   p   e
0034760    G   r   a   p   h   N   o   d   e   N   o   d   e   ;  \r   p
0035000    o   s   i   t   i   o   n   :  \t   P   o   s   i   t   i   o
0035020    n   V   a   l   N   o   d   e   ;  \r   p   o   s   i   t   i
0035040    o   n       _       N   u   l   l   P   o   s   i   t   i   o
0035060    n   [   ]   ;  \r   [   l   c   1   ,       n   a   m   e   d
0035100    T   G   N   ]       _       C   r   e   a   t   e   N   a   m
0035120    e   d   T   G   N   [   l   c   ,       t   r   e   e   D   a
0035140    t   a   .   I   d   ,       p   o   s   i   t   i   o   n   ,
0035160        t   y   p   e   A   c   c   e   s   s   ,       t   g   n
0035200    ,       d   e   f   a   u   l   t   ]   ;  \r   f   i   e   l
0035220    d       _       C   r   e   a   t   e   N   a   m   e   d   T
0035240    y   p   e   F   i   e   l   d   [   t   r   e   e   D   a   t
0035260    a   .   I   d   ,       p   o   s   i   t   i   o   n   ,    
0035300    i   d   A   c   c   e   s   s   ,       n   a   m   e   d   T
0035320    G   N   ,       t   y   p   e   E   x   p   ]   ;  \r   f   l
0035340    1       _       A   p   p   e   n   d   F   i   e   l   d   T
0035360    o   F   i   e   l   d   L   i   s   t   [   f   l   ,       f
0035400    i   e   l   d   ]   ;  \r   t   e   m   p   1       _       l
0035420    c   1   ;  \r   t   e   m   p   0       _       f   l   1   ;
0035440   \r   E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r
0035460    I   d   e   n   t   i   d   P   r   o   d   A   d   d   V   a
0035500    l   u   e   D   e   c   l   a   r   a   t   i   o   n   T   o
0035520    F   i   e   l   d   L   i   s   t   :  \t   P   U   B   L   I
0035540    C       P   R   O   C   [   r   e   f   :       R   E   F    
0035560    A   N   Y   ,       f   l   :       F   i   e   l   d   L   i
0035600    s   t   N   o   d   e   ,       c   s   :       C   o   m   p
0035620    i   l   e   r   S   t   a   t   e   N   o   d   e   ,       p
0035640    a   r   s   e   T   r   e   e   :       D   e   c   l   a   r
0035660    a   t   i   o   n   P   T   r   e   e   N   o   d   e   ,    
0035700    a   c   c   e   s   s   :       A   c   c   e   s   s   V   a
0035720    l   N   o   d   e   ,       t   g   n   :       T   y   p   e
0035740    G   r   a   p   h   N   o   d   e   N   o   d   e   ,       i
0035760    n   i   t   :       I   n   i   t   i   a   l   i   z   a   t
0036000    i   o   n   P   T   r   e   e   N   o   d   e   ]       R   E
0036020    T   U   R   N   S   [   t   e   m   p   0   :       F   i   e
0036040    l   d   L   i   s   t   N   o   d   e   ]       =  \r   B   E
0036060    G   I   N  \r   t   r   e   e   :  \t   I   d   e   n   t   N
0036100    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0036120    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0036140    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0036160    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0036200    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0036220    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0036240    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   I   d   e
0036260    n   t   i   d   P   r   o   d   D   a   t   a       _       N
0036300    A   R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]
0036320    ;  \r   B   E   G   I   N  \r   f   l   1   :  \t   F   i   e
0036340    l   d   L   i   s   t   N   o   d   e   ;  \r   f   i   e   l
0036360    d   :  \t   F   i   e   l   d   N   o   d   e   ;  \r   t   e
0036400    m   p   1   :       I   n   i   t   i   a   l   i   z   a   t
0036420    i   o   n   N   o   d   e   ;  \r   p   o   s   i   t   i   o
0036440    n   :  \t   P   o   s   i   t   i   o   n   V   a   l   N   o
0036460    d   e   ;  \r   p   o   s   i   t   i   o   n       _       N
0036500    u   l   l   P   o   s   i   t   i   o   n   [   ]   ;  \r   t
0036520    e   m   p   1       _       I   n   i   t   i   a   l   i   z
0036540    a   t   i   o   n   V   a   l   [   i   n   i   t   ]   ;  \r
0036560    I   F       t   e   m   p   1   .   p   r   o   c   s   .   I
0036600    n   i   t   i   a   l   i   z   a   t   i   o   n   I   s   B
0036620    i   n   d   i   n   g   [   t   e   m   p   1   ]       T   H
0036640    E   N       {   f   i   e   l   d       _       C   r   e   a
0036660    t   e   C   o   n   s   t   a   n   t   F   i   e   l   d   [
0036700    t   r   e   e   D   a   t   a   .   I   d   ,       p   o   s
0036720    i   t   i   o   n   ,       p   a   r   s   e   T   r   e   e
0036740    ,       a   c   c   e   s   s   ,       t   g   n   ,       i
0036760    n   i   t   ]   ;  \r   }       E   L   S   E       {   f   i
0037000    e   l   d       _       C   r   e   a   t   e   V   a   r   i
0037020    a   b   l   e   F   i   e   l   d   [   t   r   e   e   D   a
0037040    t   a   .   I   d   ,       p   o   s   i   t   i   o   n   ,
0037060        p   a   r   s   e   T   r   e   e   ,       a   c   c   e
0037100    s   s   ,       t   g   n   ,       i   n   i   t   ]   ;  \r
0037120    }   ;  \r   f   l   1       _       A   p   p   e   n   d   F
0037140    i   e   l   d   T   o   F   i   e   l   d   L   i   s   t   [
0037160    f   l   ,       f   i   e   l   d   ]   ;  \r   t   e   m   p
0037200    0       _       f   l   1   ;  \r   E   N   D   ;  \r   E   N
0037220    D  \r   E   N   D   ;  \r  \r   I   d   e   n   t   i   d   p
0037240    o   s   i   t   i   o   n   P   r   o   d   A   d   d   T   y
0037260    p   e   D   e   c   l   a   r   a   t   i   o   n   T   o   F
0037300    i   e   l   d   L   i   s   t   :  \t   P   U   B   L   I   C
0037320        P   R   O   C   [   r   e   f   :       R   E   F       A
0037340    N   Y   ,       f   l   :       F   i   e   l   d   L   i   s
0037360    t   N   o   d   e   ,       l   c   :       L   o   c   a   l
0037400    C   o   n   t   e   x   t   N   o   d   e   ,       c   s   :
0037420        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0037440    d   e   ,       i   d   A   c   c   e   s   s   :       A   c
0037460    c   e   s   s   V   a   l   N   o   d   e   ,       t   y   p
0037500    e   A   c   c   e   s   s   :       A   c   c   e   s   s   V
0037520    a   l   N   o   d   e   ,       t   g   n   :       T   y   p
0037540    e   G   r   a   p   h   N   o   d   e   N   o   d   e   ,    
0037560    t   y   p   e   E   x   p   :       T   y   p   e   E   x   p
0037600    P   T   r   e   e   N   o   d   e   ,       d   e   f   a   u
0037620    l   t   :       D   e   f   a   u   l   t   E   x   p   N   o
0037640    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0037660    0   :       F   i   e   l   d   L   i   s   t   N   o   d   e
0037700    ,       t   e   m   p   1   :       L   o   c   a   l   C   o
0037720    n   t   e   x   t   N   o   d   e   ]       =  \r   B   E   G
0037740    I   N  \r   t   r   e   e   :  \t   I   d   e   n   t   N   o
0037760    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0040000   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0040020    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0040040    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0040060    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0040100    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0040120    ;  \r   t   r   e   e   D   a   t   a   :  \t   I   d   e   n
0040140    t   i   d   p   o   s   i   t   i   o   n   P   r   o   d   D
0040160    a   t   a       _       N   A   R   R   O   W   [   t   r   e
0040200    e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   f
0040220    l   1   :  \t   F   i   e   l   d   L   i   s   t   N   o   d
0040240    e   ;  \r   f   i   e   l   d   :  \t   F   i   e   l   d   N
0040260    o   d   e   ;  \r   l   c   1   :  \t   L   o   c   a   l   C
0040300    o   n   t   e   x   t   N   o   d   e   ;  \r   n   a   m   e
0040320    d   T   G   N   :  \t   T   y   p   e   G   r   a   p   h   N
0040340    o   d   e   N   o   d   e   ;  \r   p   o   s   i   t   i   o
0040360    n   :  \t   P   o   s   i   t   i   o   n   V   a   l   N   o
0040400    d   e   ;  \r   p   o   s   i   t   i   o   n       _       t
0040420    r   e   e   D   a   t   a   .   P   o   s   i   t   i   o   n
0040440    .   p   r   o   c   s   .   G   e   t   P   o   s   i   t   i
0040460    o   n   V   a   l   [   t   r   e   e   D   a   t   a   .   P
0040500    o   s   i   t   i   o   n   ]   ;  \r   [   l   c   1   ,    
0040520    n   a   m   e   d   T   G   N   ]       _       C   r   e   a
0040540    t   e   N   a   m   e   d   T   G   N   [   l   c   ,       t
0040560    r   e   e   D   a   t   a   .   I   d   ,       p   o   s   i
0040600    t   i   o   n   ,       t   y   p   e   A   c   c   e   s   s
0040620    ,       t   g   n   ,       d   e   f   a   u   l   t   ]   ;
0040640   \r   f   i   e   l   d       _       C   r   e   a   t   e   N
0040660    a   m   e   d   T   y   p   e   F   i   e   l   d   [   t   r
0040700    e   e   D   a   t   a   .   I   d   ,       p   o   s   i   t
0040720    i   o   n   ,       i   d   A   c   c   e   s   s   ,       n
0040740    a   m   e   d   T   G   N   ,       t   y   p   e   E   x   p
0040760    ]   ;  \r   f   l   1       _       A   p   p   e   n   d   F
0041000    i   e   l   d   T   o   F   i   e   l   d   L   i   s   t   [
0041020    f   l   ,       f   i   e   l   d   ]   ;  \r   t   e   m   p
0041040    1       _       l   c   1   ;  \r   t   e   m   p   0       _
0041060        f   l   1   ;  \r   E   N   D   ;  \r   E   N   D  \r   E
0041100    N   D   ;  \r  \r   I   d   e   n   t   i   d   p   o   s   i
0041120    t   i   o   n   P   r   o   d   A   d   d   V   a   l   u   e
0041140    D   e   c   l   a   r   a   t   i   o   n   T   o   F   i   e
0041160    l   d   L   i   s   t   :  \t   P   U   B   L   I   C       P
0041200    R   O   C   [   r   e   f   :       R   E   F       A   N   Y
0041220    ,       f   l   :       F   i   e   l   d   L   i   s   t   N
0041240    o   d   e   ,       c   s   :       C   o   m   p   i   l   e
0041260    r   S   t   a   t   e   N   o   d   e   ,       p   a   r   s
0041300    e   T   r   e   e   :       D   e   c   l   a   r   a   t   i
0041320    o   n   P   T   r   e   e   N   o   d   e   ,       a   c   c
0041340    e   s   s   :       A   c   c   e   s   s   V   a   l   N   o
0041360    d   e   ,       t   g   n   :       T   y   p   e   G   r   a
0041400    p   h   N   o   d   e   N   o   d   e   ,       i   n   i   t
0041420    :       I   n   i   t   i   a   l   i   z   a   t   i   o   n
0041440    P   T   r   e   e   N   o   d   e   ]       R   E   T   U   R
0041460    N   S   [   t   e   m   p   0   :       F   i   e   l   d   L
0041500    i   s   t   N   o   d   e   ]       =  \r   B   E   G   I   N
0041520   \r   t   r   e   e   :  \t   I   d   e   n   t   N   o   d   e
0041540    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0041560    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0041600    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0041620    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0041640    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0041660    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0041700    t   r   e   e   D   a   t   a   :  \t   I   d   e   n   t   i
0041720    d   p   o   s   i   t   i   o   n   P   r   o   d   D   a   t
0041740    a       _       N   A   R   R   O   W   [   t   r   e   e   .
0041760    d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   f   l   1
0042000    :  \t   F   i   e   l   d   L   i   s   t   N   o   d   e   ;
0042020   \r   f   i   e   l   d   :  \t   F   i   e   l   d   N   o   d
0042040    e   ;  \r   t   e   m   p   1   :       I   n   i   t   i   a
0042060    l   i   z   a   t   i   o   n   N   o   d   e   ;  \r   p   o
0042100    s   i   t   i   o   n   :  \t   P   o   s   i   t   i   o   n
0042120    V   a   l   N   o   d   e   ;  \r   p   o   s   i   t   i   o
0042140    n       _       t   r   e   e   D   a   t   a   .   P   o   s
0042160    i   t   i   o   n   .   p   r   o   c   s   .   G   e   t   P
0042200    o   s   i   t   i   o   n   V   a   l   [   t   r   e   e   D
0042220    a   t   a   .   P   o   s   i   t   i   o   n   ]   ;  \r   t
0042240    e   m   p   1       _       I   n   i   t   i   a   l   i   z
0042260    a   t   i   o   n   V   a   l   [   i   n   i   t   ]   ;  \r
0042300    I   F       t   e   m   p   1   .   p   r   o   c   s   .   I
0042320    n   i   t   i   a   l   i   z   a   t   i   o   n   I   s   B
0042340    i   n   d   i   n   g   [   t   e   m   p   1   ]       T   H
0042360    E   N       {   f   i   e   l   d       _       C   r   e   a
0042400    t   e   C   o   n   s   t   a   n   t   F   i   e   l   d   [
0042420    t   r   e   e   D   a   t   a   .   I   d   ,       p   o   s
0042440    i   t   i   o   n   ,       p   a   r   s   e   T   r   e   e
0042460    ,       a   c   c   e   s   s   ,       t   g   n   ,       i
0042500    n   i   t   ]   ;  \r   }       E   L   S   E       {   f   i
0042520    e   l   d       _       C   r   e   a   t   e   V   a   r   i
0042540    a   b   l   e   F   i   e   l   d   [   t   r   e   e   D   a
0042560    t   a   .   I   d   ,       p   o   s   i   t   i   o   n   ,
0042600        p   a   r   s   e   T   r   e   e   ,       a   c   c   e
0042620    s   s   ,       t   g   n   ,       i   n   i   t   ]   ;  \r
0042640    }   ;  \r   f   l   1       _       A   p   p   e   n   d   F
0042660    i   e   l   d   T   o   F   i   e   l   d   L   i   s   t   [
0042700    f   l   ,       f   i   e   l   d   ]   ;  \r   t   e   m   p
0042720    0       _       f   l   1   ;  \r   E   N   D   ;  \r   E   N
0042740    D  \r   E   N   D   ;  \r  \r   O   p   t   S   i   z   e   a
0042760    b   s   e   n   t   P   r   o   d   G   e   t   E   x   p   V
0043000    a   l   :  \t   P   U   B   L   I   C       P   R   O   C   [
0043020    r   e   f   :       R   E   F       A   N   Y   ]       R   E
0043040    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0043060    u   e   N   o   d   e   ]       =  \r   B   E   G   I   N  \r
0043100    t   r   e   e   :  \t   O   p   t   S   i   z   e   N   o   d
0043120    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0043140    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0043160    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0043200    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0043220    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0043240    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0043260   \r   t   e   m   p   0       _       M   a   k   e   U   n   p
0043300    a   r   s   e   d   N   u   l   l   V   a   l   u   e   [   ]
0043320    ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   O   p   t   S
0043340    i   z   e   p   r   e   s   e   n   t   P   r   o   d   G   e
0043360    t   E   x   p   V   a   l   :  \t   P   U   B   L   I   C    
0043400    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0043420    Y   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0043440    :       V   a   l   u   e   N   o   d   e   ]       =  \r   B
0043460    E   G   I   N  \r   t   r   e   e   :  \t   O   p   t   S   i
0043500    z   e   N   o   d   e   _       N   A   R   R   O   W   [   r
0043520    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0043540    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0043560    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0043600    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0043620    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0043640    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0043660    O   p   t   S   i   z   e   p   r   e   s   e   n   t   P   r
0043700    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0043720    t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e   m   p
0043740    0       _       M   a   k   e   U   n   p   a   r   s   e   d
0043760    V   a   l   u   e   [   t   r   e   e   D   a   t   a   .   E
0044000    x   p   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   S
0044020    t   a   t   e   m   e   n   t   L   i   s   t   e   m   p   t
0044040    y   P   r   o   d   H   a   n   g   C   o   n   t   e   x   t
0044060    s   F   r   o   m   C   o   n   t   e   x   t   T   r   e   e
0044100    :  \t   P   U   B   L   I   C       P   R   O   C   [   r   e
0044120    f   :       R   E   F       A   N   Y   ,       c   o   n   t
0044140    e   x   t   T   r   e   e   :       C   o   n   t   e   x   t
0044160    T   r   e   e   N   o   d   e   ,       r   i   b   :       C
0044200    o   n   t   e   x   t   R   i   b   N   o   d   e   ,       p
0044220    a   i   n   t   R   e   c   o   r   d   s   :       B   O   O
0044240    L   E   A   N   ,       c   s   :       C   o   m   p   i   l
0044260    e   r   S   t   a   t   e   N   o   d   e   ]       R   E   T
0044300    U   R   N   S   [   t   e   m   p   0   :       C   o   n   t
0044320    e   x   t   T   r   e   e   N   o   d   e   ]       =  \r   B
0044340    E   G   I   N  \r   t   r   e   e   :  \t   S   t   a   t   e
0044360    m   e   n   t   L   i   s   t   N   o   d   e   _       N   A
0044400    R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N
0044420   \r   E   N   A   B   L   E       T   h   r   e   e   C   4   S
0044440    u   p   p   o   r   t   .   G   e   t   S   o   u   r   c   e
0044460    I   n   f   o       =   >       R   E   S   U   M   E   [   t
0044500    r   e   e   .   p   o   s   i   t   i   o   n   ,       t   r
0044520    e   e   .   l   e   n   g   t   h   ]   ;  \r   t   e   m   p
0044540    0       _       F   a   k   e   D   a   m   a   g   e   C   o
0044560    n   t   e   x   t   T   r   e   e   [   c   o   n   t   e   x
0044600    t   T   r   e   e   ]   ;  \r   E   N   D  \r   E   N   D   ;
0044620   \r  \r   S   t   a   t   e   m   e   n   t   L   i   s   t   m
0044640    o   r   e   P   r   o   d   H   a   n   g   C   o   n   t   e
0044660    x   t   s   F   r   o   m   C   o   n   t   e   x   t   T   r
0044700    e   e   :  \t   P   U   B   L   I   C       P   R   O   C   [
0044720    r   e   f   :       R   E   F       A   N   Y   ,       c   o
0044740    n   t   e   x   t   T   r   e   e   :       C   o   n   t   e
0044760    x   t   T   r   e   e   N   o   d   e   ,       r   i   b   :
0045000        C   o   n   t   e   x   t   R   i   b   N   o   d   e   ,
0045020        p   a   i   n   t   R   e   c   o   r   d   s   :       B
0045040    O   O   L   E   A   N   ,       c   s   :       C   o   m   p
0045060    i   l   e   r   S   t   a   t   e   N   o   d   e   ]       R
0045100    E   T   U   R   N   S   [   t   e   m   p   0   :       C   o
0045120    n   t   e   x   t   T   r   e   e   N   o   d   e   ]       =
0045140   \r   B   E   G   I   N  \r   t   r   e   e   :  \t   S   t   a
0045160    t   e   m   e   n   t   L   i   s   t   N   o   d   e   _    
0045200    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0045220    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0045240    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0045260    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0045300    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0045320    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r
0045340    e   e   D   a   t   a   :  \t   S   t   a   t   e   m   e   n
0045360    t   L   i   s   t   m   o   r   e   P   r   o   d   D   a   t
0045400    a       _       N   A   R   R   O   W   [   t   r   e   e   .
0045420    d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   c   o   n
0045440    t   e   x   t   T   r   e   e   1   :  \t   C   o   n   t   e
0045460    x   t   T   r   e   e   N   o   d   e   ;  \r   c   o   n   t
0045500    e   x   t   T   r   e   e   1       _       t   r   e   e   D
0045520    a   t   a   .   S   t   a   t   e   m   e   n   t   L   i   s
0045540    t   .   p   r   o   c   s   .   H   a   n   g   C   o   n   t
0045560    e   x   t   s   F   r   o   m   C   o   n   t   e   x   t   T
0045600    r   e   e   [   t   r   e   e   D   a   t   a   .   S   t   a
0045620    t   e   m   e   n   t   L   i   s   t   ,       c   o   n   t
0045640    e   x   t   T   r   e   e   ,       r   i   b   ,       p   a
0045660    i   n   t   R   e   c   o   r   d   s   ,       c   s   ]   ;
0045700   \r   t   e   m   p   0       _       t   r   e   e   D   a   t
0045720    a   .   S   t   a   t   e   m   e   n   t   .   p   r   o   c
0045740    s   .   H   a   n   g   C   o   n   t   e   x   t   s   F   r
0045760    o   m   C   o   n   t   e   x   t   T   r   e   e   [   t   r
0046000    e   e   D   a   t   a   .   S   t   a   t   e   m   e   n   t
0046020    ,       c   o   n   t   e   x   t   T   r   e   e   1   ,    
0046040    r   i   b   ,       p   a   i   n   t   R   e   c   o   r   d
0046060    s   ,       c   s   ]   ;  \r   E   N   D   ;  \r   E   N   D
0046100   \r   E   N   D   ;  \r  \r   S   t   a   t   e   m   e   n   t
0046120    i   f   t   h   e   n   P   r   o   d   H   a   n   g   C   o
0046140    n   t   e   x   t   s   F   r   o   m   C   o   n   t   e   x
0046160    t   T   r   e   e   :  \t   P   U   B   L   I   C       P   R
0046200    O   C   [   r   e   f   :       R   E   F       A   N   Y   ,
0046220        c   o   n   t   e   x   t   T   r   e   e   :       C   o
0046240    n   t   e   x   t   T   r   e   e   N   o   d   e   ,       r
0046260    i   b   :       C   o   n   t   e   x   t   R   i   b   N   o
0046300    d   e   ,       p   a   i   n   t   R   e   c   o   r   d   s
0046320    :       B   O   O   L   E   A   N   ,       c   s   :       C
0046340    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0046360    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0046400        C   o   n   t   e   x   t   T   r   e   e   N   o   d   e
0046420    ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t
0046440    S   t   a   t   e   m   e   n   t   N   o   d   e   _       N
0046460    A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I
0046500    N  \r   E   N   A   B   L   E       T   h   r   e   e   C   4
0046520    S   u   p   p   o   r   t   .   G   e   t   S   o   u   r   c
0046540    e   I   n   f   o       =   >       R   E   S   U   M   E   [
0046560    t   r   e   e   .   p   o   s   i   t   i   o   n   ,       t
0046600    r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e
0046620    e   D   a   t   a   :  \t   S   t   a   t   e   m   e   n   t
0046640    i   f   t   h   e   n   P   r   o   d   D   a   t   a       _
0046660        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0046700    a   ]   ;  \r   t   e   m   p   0       _       t   r   e   e
0046720    D   a   t   a   .   S   t   a   t   e   m   e   n   t   .   p
0046740    r   o   c   s   .   H   a   n   g   C   o   n   t   e   x   t
0046760    s   F   r   o   m   C   o   n   t   e   x   t   T   r   e   e
0047000    [   t   r   e   e   D   a   t   a   .   S   t   a   t   e   m
0047020    e   n   t   ,       c   o   n   t   e   x   t   T   r   e   e
0047040    ,       r   i   b   ,       p   a   i   n   t   R   e   c   o
0047060    r   d   s   ,       c   s   ]   ;  \r   E   N   D  \r   E   N
0047100    D   ;  \r  \r   S   t   a   t   e   m   e   n   t   i   f   t
0047120    h   e   n   e   l   s   e   P   r   o   d   H   a   n   g   C
0047140    o   n   t   e   x   t   s   F   r   o   m   C   o   n   t   e
0047160    x   t   T   r   e   e   :  \t   P   U   B   L   I   C       P
0047200    R   O   C   [   r   e   f   :       R   E   F       A   N   Y
0047220    ,       c   o   n   t   e   x   t   T   r   e   e   :       C
0047240    o   n   t   e   x   t   T   r   e   e   N   o   d   e   ,    
0047260    r   i   b   :       C   o   n   t   e   x   t   R   i   b   N
0047300    o   d   e   ,       p   a   i   n   t   R   e   c   o   r   d
0047320    s   :       B   O   O   L   E   A   N   ,       c   s   :    
0047340    C   o   m   p   i   l   e   r   S   t   a   t   e   N   o   d
0047360    e   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0047400    :       C   o   n   t   e   x   t   T   r   e   e   N   o   d
0047420    e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :
0047440   \t   S   t   a   t   e   m   e   n   t   N   o   d   e   _    
0047460    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0047500    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0047520    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0047540    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0047560    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0047600    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r
0047620    e   e   D   a   t   a   :  \t   S   t   a   t   e   m   e   n
0047640    t   i   f   t   h   e   n   e   l   s   e   P   r   o   d   D
0047660    a   t   a       _       N   A   R   R   O   W   [   t   r   e
0047700    e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   c
0047720    o   n   t   e   x   t   T   r   e   e   1   :  \t   C   o   n
0047740    t   e   x   t   T   r   e   e   N   o   d   e   ;  \r   c   o
0047760    n   t   e   x   t   T   r   e   e   1       _       t   r   e
0050000    e   D   a   t   a   .   S   t   a   t   e   m   e   n   t   t
0050020    h   e   n   p   a   r   t   .   p   r   o   c   s   .   H   a
0050040    n   g   C   o   n   t   e   x   t   s   F   r   o   m   C   o
0050060    n   t   e   x   t   T   r   e   e   [   t   r   e   e   D   a
0050100    t   a   .   S   t   a   t   e   m   e   n   t   t   h   e   n
0050120    p   a   r   t   ,       c   o   n   t   e   x   t   T   r   e
0050140    e   ,       r   i   b   ,       p   a   i   n   t   R   e   c
0050160    o   r   d   s   ,       c   s   ]   ;  \r   t   e   m   p   0
0050200        _       t   r   e   e   D   a   t   a   .   S   t   a   t
0050220    e   m   e   n   t   e   l   s   e   p   a   r   t   .   p   r
0050240    o   c   s   .   H   a   n   g   C   o   n   t   e   x   t   s
0050260    F   r   o   m   C   o   n   t   e   x   t   T   r   e   e   [
0050300    t   r   e   e   D   a   t   a   .   S   t   a   t   e   m   e
0050320    n   t   e   l   s   e   p   a   r   t   ,       c   o   n   t
0050340    e   x   t   T   r   e   e   1   ,       r   i   b   ,       p
0050360    a   i   n   t   R   e   c   o   r   d   s   ,       c   s   ]
0050400    ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r
0050420   \r   S   t   a   t   e   m   e   n   t   s   e   l   e   c   t
0050440    P   r   o   d   H   a   n   g   C   o   n   t   e   x   t   s
0050460    F   r   o   m   C   o   n   t   e   x   t   T   r   e   e   :
0050500   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0050520    :       R   E   F       A   N   Y   ,       c   o   n   t   e
0050540    x   t   T   r   e   e   :       C   o   n   t   e   x   t   T
0050560    r   e   e   N   o   d   e   ,       r   i   b   :       C   o
0050600    n   t   e   x   t   R   i   b   N   o   d   e   ,       p   a
0050620    i   n   t   R   e   c   o   r   d   s   :       B   O   O   L
0050640    E   A   N   ,       c   s   :       C   o   m   p   i   l   e
0050660    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0050700    R   N   S   [   t   e   m   p   0   :       C   o   n   t   e
0050720    x   t   T   r   e   e   N   o   d   e   ]       =  \r   B   E
0050740    G   I   N  \r   t   r   e   e   :  \t   S   t   a   t   e   m
0050760    e   n   t   N   o   d   e   _       N   A   R   R   O   W   [
0051000    r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B
0051020    L   E       T   h   r   e   e   C   4   S   u   p   p   o   r
0051040    t   .   G   e   t   S   o   u   r   c   e   I   n   f   o    
0051060    =   >       R   E   S   U   M   E   [   t   r   e   e   .   p
0051100    o   s   i   t   i   o   n   ,       t   r   e   e   .   l   e
0051120    n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :
0051140   \t   S   t   a   t   e   m   e   n   t   s   e   l   e   c   t
0051160    P   r   o   d   D   a   t   a       _       N   A   R   R   O
0051200    W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e
0051220    m   p   0       _       F   a   k   e   D   a   m   a   g   e
0051240    C   o   n   t   e   x   t   T   r   e   e   [   c   o   n   t
0051260    e   x   t   T   r   e   e   ]   ;  \r   E   N   D  \r   E   N
0051300    D   ;  \r  \r   S   t   a   t   e   m   e   n   t   e   x   p
0051320    P   r   o   d   H   a   n   g   C   o   n   t   e   x   t   s
0051340    F   r   o   m   C   o   n   t   e   x   t   T   r   e   e   :
0051360   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0051400    :       R   E   F       A   N   Y   ,       c   o   n   t   e
0051420    x   t   T   r   e   e   :       C   o   n   t   e   x   t   T
0051440    r   e   e   N   o   d   e   ,       r   i   b   :       C   o
0051460    n   t   e   x   t   R   i   b   N   o   d   e   ,       p   a
0051500    i   n   t   R   e   c   o   r   d   s   :       B   O   O   L
0051520    E   A   N   ,       c   s   :       C   o   m   p   i   l   e
0051540    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0051560    R   N   S   [   t   e   m   p   0   :       C   o   n   t   e
0051600    x   t   T   r   e   e   N   o   d   e   ]       =  \r   B   E
0051620    G   I   N  \r   t   r   e   e   :  \t   S   t   a   t   e   m
0051640    e   n   t   N   o   d   e   _       N   A   R   R   O   W   [
0051660    r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B
0051700    L   E       T   h   r   e   e   C   4   S   u   p   p   o   r
0051720    t   .   G   e   t   S   o   u   r   c   e   I   n   f   o    
0051740    =   >       R   E   S   U   M   E   [   t   r   e   e   .   p
0051760    o   s   i   t   i   o   n   ,       t   r   e   e   .   l   e
0052000    n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :
0052020   \t   S   t   a   t   e   m   e   n   t   e   x   p   P   r   o
0052040    d   D   a   t   a       _       N   A   R   R   O   W   [   t
0052060    r   e   e   .   d   a   t   a   ]   ;  \r   t   e   m   p   0
0052100        _       F   a   k   e   D   a   m   a   g   e   C   o   n
0052120    t   e   x   t   T   r   e   e   [   c   o   n   t   e   x   t
0052140    T   r   e   e   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r
0052160   \r   S   t   a   t   e   m   e   n   t   a   s   s   i   g   n
0052200    P   r   o   d   H   a   n   g   C   o   n   t   e   x   t   s
0052220    F   r   o   m   C   o   n   t   e   x   t   T   r   e   e   :
0052240   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0052260    :       R   E   F       A   N   Y   ,       c   o   n   t   e
0052300    x   t   T   r   e   e   :       C   o   n   t   e   x   t   T
0052320    r   e   e   N   o   d   e   ,       r   i   b   :       C   o
0052340    n   t   e   x   t   R   i   b   N   o   d   e   ,       p   a
0052360    i   n   t   R   e   c   o   r   d   s   :       B   O   O   L
0052400    E   A   N   ,       c   s   :       C   o   m   p   i   l   e
0052420    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0052440    R   N   S   [   t   e   m   p   0   :       C   o   n   t   e
0052460    x   t   T   r   e   e   N   o   d   e   ]       =  \r   B   E
0052500    G   I   N  \r   t   r   e   e   :  \t   S   t   a   t   e   m
0052520    e   n   t   N   o   d   e   _       N   A   R   R   O   W   [
0052540    r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B
0052560    L   E       T   h   r   e   e   C   4   S   u   p   p   o   r
0052600    t   .   G   e   t   S   o   u   r   c   e   I   n   f   o    
0052620    =   >       R   E   S   U   M   E   [   t   r   e   e   .   p
0052640    o   s   i   t   i   o   n   ,       t   r   e   e   .   l   e
0052660    n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :
0052700   \t   S   t   a   t   e   m   e   n   t   a   s   s   i   g   n
0052720    P   r   o   d   D   a   t   a       _       N   A   R   R   O
0052740    W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e
0052760    m   p   0       _       F   a   k   e   D   a   m   a   g   e
0053000    C   o   n   t   e   x   t   T   r   e   e   [   c   o   n   t
0053020    e   x   t   T   r   e   e   ]   ;  \r   E   N   D  \r   E   N
0053040    D   ;  \r  \r   S   t   a   t   e   m   e   n   t   m   u   l
0053060    t   i   a   s   s   i   g   n   P   r   o   d   H   a   n   g
0053100    C   o   n   t   e   x   t   s   F   r   o   m   C   o   n   t
0053120    e   x   t   T   r   e   e   :  \t   P   U   B   L   I   C    
0053140    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0053160    Y   ,       c   o   n   t   e   x   t   T   r   e   e   :    
0053200    C   o   n   t   e   x   t   T   r   e   e   N   o   d   e   ,
0053220        r   i   b   :       C   o   n   t   e   x   t   R   i   b
0053240    N   o   d   e   ,       p   a   i   n   t   R   e   c   o   r
0053260    d   s   :       B   O   O   L   E   A   N   ,       c   s   :
0053300        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0053320    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0053340    0   :       C   o   n   t   e   x   t   T   r   e   e   N   o
0053360    d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0053400    :  \t   S   t   a   t   e   m   e   n   t   N   o   d   e   _
0053420        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0053440    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0053460    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0053500    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0053520    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0053540        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0053560    r   e   e   D   a   t   a   :  \t   S   t   a   t   e   m   e
0053600    n   t   m   u   l   t   i   a   s   s   i   g   n   P   r   o
0053620    d   D   a   t   a       _       N   A   R   R   O   W   [   t
0053640    r   e   e   .   d   a   t   a   ]   ;  \r   t   e   m   p   0
0053660        _       F   a   k   e   D   a   m   a   g   e   C   o   n
0053700    t   e   x   t   T   r   e   e   [   c   o   n   t   e   x   t
0053720    T   r   e   e   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r
0053740   \r   S   t   a   t   e   m   e   n   t   b   l   o   c   k   P
0053760    r   o   d   H   a   n   g   C   o   n   t   e   x   t   s   F
0054000    r   o   m   C   o   n   t   e   x   t   T   r   e   e   :  \t
0054020    P   U   B   L   I   C       P   R   O   C   [   r   e   f   :
0054040        R   E   F       A   N   Y   ,       c   o   n   t   e   x
0054060    t   T   r   e   e   :       C   o   n   t   e   x   t   T   r
0054100    e   e   N   o   d   e   ,       r   i   b   :       C   o   n
0054120    t   e   x   t   R   i   b   N   o   d   e   ,       p   a   i
0054140    n   t   R   e   c   o   r   d   s   :       B   O   O   L   E
0054160    A   N   ,       c   s   :       C   o   m   p   i   l   e   r
0054200    S   t   a   t   e   N   o   d   e   ]       R   E   T   U   R
0054220    N   S   [   t   e   m   p   0   :       C   o   n   t   e   x
0054240    t   T   r   e   e   N   o   d   e   ]       =  \r   B   E   G
0054260    I   N  \r   t   r   e   e   :  \t   S   t   a   t   e   m   e
0054300    n   t   N   o   d   e   _       N   A   R   R   O   W   [   r
0054320    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0054340    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0054360    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0054400    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0054420    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0054440    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0054460    S   t   a   t   e   m   e   n   t   b   l   o   c   k   P   r
0054500    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0054520    t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e   m   p
0054540    0       _       t   r   e   e   D   a   t   a   .   B   l   o
0054560    c   k   .   p   r   o   c   s   .   H   a   n   g   C   o   n
0054600    t   e   x   t   s   F   r   o   m   C   o   n   t   e   x   t
0054620    T   r   e   e   [   t   r   e   e   D   a   t   a   .   B   l
0054640    o   c   k   ,       c   o   n   t   e   x   t   T   r   e   e
0054660    ,       r   i   b   ,       p   a   i   n   t   R   e   c   o
0054700    r   d   s   ,       c   s   ]   ;  \r   E   N   D  \r   E   N
0054720    D   ;  \r  \r   S   t   a   t   e   m   e   n   t   l   o   o
0054740    p   c   o   n   t   r   o   l   P   r   o   d   H   a   n   g
0054760    C   o   n   t   e   x   t   s   F   r   o   m   C   o   n   t
0055000    e   x   t   T   r   e   e   :  \t   P   U   B   L   I   C    
0055020    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0055040    Y   ,       c   o   n   t   e   x   t   T   r   e   e   :    
0055060    C   o   n   t   e   x   t   T   r   e   e   N   o   d   e   ,
0055100        r   i   b   :       C   o   n   t   e   x   t   R   i   b
0055120    N   o   d   e   ,       p   a   i   n   t   R   e   c   o   r
0055140    d   s   :       B   O   O   L   E   A   N   ,       c   s   :
0055160        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0055200    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0055220    0   :       C   o   n   t   e   x   t   T   r   e   e   N   o
0055240    d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0055260    :  \t   S   t   a   t   e   m   e   n   t   N   o   d   e   _
0055300        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0055320    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0055340    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0055360    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0055400    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0055420        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0055440    r   e   e   D   a   t   a   :  \t   S   t   a   t   e   m   e
0055460    n   t   l   o   o   p   c   o   n   t   r   o   l   P   r   o
0055500    d   D   a   t   a       _       N   A   R   R   O   W   [   t
0055520    r   e   e   .   d   a   t   a   ]   ;  \r   t   e   m   p   0
0055540        _       F   a   k   e   D   a   m   a   g   e   C   o   n
0055560    t   e   x   t   T   r   e   e   [   c   o   n   t   e   x   t
0055600    T   r   e   e   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r
0055620   \r   S   t   a   t   e   m   e   n   t   e   x   i   t   P   r
0055640    o   d   H   a   n   g   C   o   n   t   e   x   t   s   F   r
0055660    o   m   C   o   n   t   e   x   t   T   r   e   e   :  \t   P
0055700    U   B   L   I   C       P   R   O   C   [   r   e   f   :    
0055720    R   E   F       A   N   Y   ,       c   o   n   t   e   x   t
0055740    T   r   e   e   :       C   o   n   t   e   x   t   T   r   e
0055760    e   N   o   d   e   ,       r   i   b   :       C   o   n   t
0056000    e   x   t   R   i   b   N   o   d   e   ,       p   a   i   n
0056020    t   R   e   c   o   r   d   s   :       B   O   O   L   E   A
0056040    N   ,       c   s   :       C   o   m   p   i   l   e   r   S
0056060    t   a   t   e   N   o   d   e   ]       R   E   T   U   R   N
0056100    S   [   t   e   m   p   0   :       C   o   n   t   e   x   t
0056120    T   r   e   e   N   o   d   e   ]       =  \r   B   E   G   I
0056140    N  \r   t   r   e   e   :  \t   S   t   a   t   e   m   e   n
0056160    t   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0056200    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0056220        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0056240    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0056260        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0056300    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0056320    t   h   ]   ;  \r   t   e   m   p   0       _       F   a   k
0056340    e   D   a   m   a   g   e   C   o   n   t   e   x   t   T   r
0056360    e   e   [   c   o   n   t   e   x   t   T   r   e   e   ]   ;
0056400   \r   E   N   D  \r   E   N   D   ;  \r  \r   S   t   a   t   e
0056420    m   e   n   t   l   o   o   p   P   r   o   d   H   a   n   g
0056440    C   o   n   t   e   x   t   s   F   r   o   m   C   o   n   t
0056460    e   x   t   T   r   e   e   :  \t   P   U   B   L   I   C    
0056500    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0056520    Y   ,       c   o   n   t   e   x   t   T   r   e   e   :    
0056540    C   o   n   t   e   x   t   T   r   e   e   N   o   d   e   ,
0056560        r   i   b   :       C   o   n   t   e   x   t   R   i   b
0056600    N   o   d   e   ,       p   a   i   n   t   R   e   c   o   r
0056620    d   s   :       B   O   O   L   E   A   N   ,       c   s   :
0056640        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0056660    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0056700    0   :       C   o   n   t   e   x   t   T   r   e   e   N   o
0056720    d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0056740    :  \t   S   t   a   t   e   m   e   n   t   N   o   d   e   _
0056760        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0057000    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0057020    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0057040    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0057060    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0057100        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0057120    e   m   p   0       _       F   a   k   e   D   a   m   a   g
0057140    e   C   o   n   t   e   x   t   T   r   e   e   [   c   o   n
0057160    t   e   x   t   T   r   e   e   ]   ;  \r   E   N   D  \r   E
0057200    N   D   ;  \r  \r   S   t   a   t   e   m   e   n   t   g   o
0057220    t   o   P   r   o   d   H   a   n   g   C   o   n   t   e   x
0057240    t   s   F   r   o   m   C   o   n   t   e   x   t   T   r   e
0057260    e   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0057300    e   f   :       R   E   F       A   N   Y   ,       c   o   n
0057320    t   e   x   t   T   r   e   e   :       C   o   n   t   e   x
0057340    t   T   r   e   e   N   o   d   e   ,       r   i   b   :    
0057360    C   o   n   t   e   x   t   R   i   b   N   o   d   e   ,    
0057400    p   a   i   n   t   R   e   c   o   r   d   s   :       B   O
0057420    O   L   E   A   N   ,       c   s   :       C   o   m   p   i
0057440    l   e   r   S   t   a   t   e   N   o   d   e   ]       R   E
0057460    T   U   R   N   S   [   t   e   m   p   0   :       C   o   n
0057500    t   e   x   t   T   r   e   e   N   o   d   e   ]       =  \r
0057520    B   E   G   I   N  \r   t   r   e   e   :  \t   S   t   a   t
0057540    e   m   e   n   t   N   o   d   e   _       N   A   R   R   O
0057560    W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N
0057600    A   B   L   E       T   h   r   e   e   C   4   S   u   p   p
0057620    o   r   t   .   G   e   t   S   o   u   r   c   e   I   n   f
0057640    o       =   >       R   E   S   U   M   E   [   t   r   e   e
0057660    .   p   o   s   i   t   i   o   n   ,       t   r   e   e   .
0057700    l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t
0057720    a   :  \t   S   t   a   t   e   m   e   n   t   g   o   t   o
0057740    P   r   o   d   D   a   t   a       _       N   A   R   R   O
0057760    W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e
0060000    m   p   0       _       F   a   k   e   D   a   m   a   g   e
0060020    C   o   n   t   e   x   t   T   r   e   e   [   c   o   n   t
0060040    e   x   t   T   r   e   e   ]   ;  \r   E   N   D  \r   E   N
0060060    D   ;  \r  \r   S   t   a   t   e   m   e   n   t   r   e   t
0060100    u   r   n   P   r   o   d   H   a   n   g   C   o   n   t   e
0060120    x   t   s   F   r   o   m   C   o   n   t   e   x   t   T   r
0060140    e   e   :  \t   P   U   B   L   I   C       P   R   O   C   [
0060160    r   e   f   :       R   E   F       A   N   Y   ,       c   o
0060200    n   t   e   x   t   T   r   e   e   :       C   o   n   t   e
0060220    x   t   T   r   e   e   N   o   d   e   ,       r   i   b   :
0060240        C   o   n   t   e   x   t   R   i   b   N   o   d   e   ,
0060260        p   a   i   n   t   R   e   c   o   r   d   s   :       B
0060300    O   O   L   E   A   N   ,       c   s   :       C   o   m   p
0060320    i   l   e   r   S   t   a   t   e   N   o   d   e   ]       R
0060340    E   T   U   R   N   S   [   t   e   m   p   0   :       C   o
0060360    n   t   e   x   t   T   r   e   e   N   o   d   e   ]       =
0060400   \r   B   E   G   I   N  \r   t   r   e   e   :  \t   S   t   a
0060420    t   e   m   e   n   t   N   o   d   e   _       N   A   R   R
0060440    O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E
0060460    N   A   B   L   E       T   h   r   e   e   C   4   S   u   p
0060500    p   o   r   t   .   G   e   t   S   o   u   r   c   e   I   n
0060520    f   o       =   >       R   E   S   U   M   E   [   t   r   e
0060540    e   .   p   o   s   i   t   i   o   n   ,       t   r   e   e
0060560    .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a
0060600    t   a   :  \t   S   t   a   t   e   m   e   n   t   r   e   t
0060620    u   r   n   P   r   o   d   D   a   t   a       _       N   A
0060640    R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;
0060660   \r   t   e   m   p   0       _       F   a   k   e   D   a   m
0060700    a   g   e   C   o   n   t   e   x   t   T   r   e   e   [   c
0060720    o   n   t   e   x   t   T   r   e   e   ]   ;  \r   E   N   D
0060740   \r   E   N   D   ;  \r  \r   S   t   a   t   e   m   e   n   t
0060760    t   r   a   n   s   f   e   r   P   r   o   d   H   a   n   g
0061000    C   o   n   t   e   x   t   s   F   r   o   m   C   o   n   t
0061020    e   x   t   T   r   e   e   :  \t   P   U   B   L   I   C    
0061040    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0061060    Y   ,       c   o   n   t   e   x   t   T   r   e   e   :    
0061100    C   o   n   t   e   x   t   T   r   e   e   N   o   d   e   ,
0061120        r   i   b   :       C   o   n   t   e   x   t   R   i   b
0061140    N   o   d   e   ,       p   a   i   n   t   R   e   c   o   r
0061160    d   s   :       B   O   O   L   E   A   N   ,       c   s   :
0061200        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0061220    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0061240    0   :       C   o   n   t   e   x   t   T   r   e   e   N   o
0061260    d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0061300    :  \t   S   t   a   t   e   m   e   n   t   N   o   d   e   _
0061320        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0061340    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0061360    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0061400    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0061420    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0061440        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0061460    r   e   e   D   a   t   a   :  \t   S   t   a   t   e   m   e
0061500    n   t   t   r   a   n   s   f   e   r   P   r   o   d   D   a
0061520    t   a       _       N   A   R   R   O   W   [   t   r   e   e
0061540    .   d   a   t   a   ]   ;  \r   t   e   m   p   0       _    
0061560    F   a   k   e   D   a   m   a   g   e   C   o   n   t   e   x
0061600    t   T   r   e   e   [   c   o   n   t   e   x   t   T   r   e
0061620    e   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   S   t
0061640    a   t   e   m   e   n   t   f   r   e   e   P   r   o   d   H
0061660    a   n   g   C   o   n   t   e   x   t   s   F   r   o   m   C
0061700    o   n   t   e   x   t   T   r   e   e   :  \t   P   U   B   L
0061720    I   C       P   R   O   C   [   r   e   f   :       R   E   F
0061740        A   N   Y   ,       c   o   n   t   e   x   t   T   r   e
0061760    e   :       C   o   n   t   e   x   t   T   r   e   e   N   o
0062000    d   e   ,       r   i   b   :       C   o   n   t   e   x   t
0062020    R   i   b   N   o   d   e   ,       p   a   i   n   t   R   e
0062040    c   o   r   d   s   :       B   O   O   L   E   A   N   ,    
0062060    c   s   :       C   o   m   p   i   l   e   r   S   t   a   t
0062100    e   N   o   d   e   ]       R   E   T   U   R   N   S   [   t
0062120    e   m   p   0   :       C   o   n   t   e   x   t   T   r   e
0062140    e   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0062160    r   e   e   :  \t   S   t   a   t   e   m   e   n   t   N   o
0062200    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0062220   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0062240    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0062260    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0062300    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0062320    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0062340    ;  \r   t   r   e   e   D   a   t   a   :  \t   S   t   a   t
0062360    e   m   e   n   t   f   r   e   e   P   r   o   d   D   a   t
0062400    a       _       N   A   R   R   O   W   [   t   r   e   e   .
0062420    d   a   t   a   ]   ;  \r   t   e   m   p   0       _       F
0062440    a   k   e   D   a   m   a   g   e   C   o   n   t   e   x   t
0062460    T   r   e   e   [   c   o   n   t   e   x   t   T   r   e   e
0062500    ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   S   t   a
0062520    t   e   m   e   n   t   w   a   i   t   P   r   o   d   H   a
0062540    n   g   C   o   n   t   e   x   t   s   F   r   o   m   C   o
0062560    n   t   e   x   t   T   r   e   e   :  \t   P   U   B   L   I
0062600    C       P   R   O   C   [   r   e   f   :       R   E   F    
0062620    A   N   Y   ,       c   o   n   t   e   x   t   T   r   e   e
0062640    :       C   o   n   t   e   x   t   T   r   e   e   N   o   d
0062660    e   ,       r   i   b   :       C   o   n   t   e   x   t   R
0062700    i   b   N   o   d   e   ,       p   a   i   n   t   R   e   c
0062720    o   r   d   s   :       B   O   O   L   E   A   N   ,       c
0062740    s   :       C   o   m   p   i   l   e   r   S   t   a   t   e
0062760    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0063000    m   p   0   :       C   o   n   t   e   x   t   T   r   e   e
0063020    N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r
0063040    e   e   :  \t   S   t   a   t   e   m   e   n   t   N   o   d
0063060    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0063100    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0063120    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0063140    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0063160    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0063200    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0063220   \r   t   r   e   e   D   a   t   a   :  \t   S   t   a   t   e
0063240    m   e   n   t   w   a   i   t   P   r   o   d   D   a   t   a
0063260        _       N   A   R   R   O   W   [   t   r   e   e   .   d
0063300    a   t   a   ]   ;  \r   t   e   m   p   0       _       F   a
0063320    k   e   D   a   m   a   g   e   C   o   n   t   e   x   t   T
0063340    r   e   e   [   c   o   n   t   e   x   t   T   r   e   e   ]
0063360    ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   S   t   a   t
0063400    e   m   e   n   t   e   r   r   o   r   P   r   o   d   H   a
0063420    n   g   C   o   n   t   e   x   t   s   F   r   o   m   C   o
0063440    n   t   e   x   t   T   r   e   e   :  \t   P   U   B   L   I
0063460    C       P   R   O   C   [   r   e   f   :       R   E   F    
0063500    A   N   Y   ,       c   o   n   t   e   x   t   T   r   e   e
0063520    :       C   o   n   t   e   x   t   T   r   e   e   N   o   d
0063540    e   ,       r   i   b   :       C   o   n   t   e   x   t   R
0063560    i   b   N   o   d   e   ,       p   a   i   n   t   R   e   c
0063600    o   r   d   s   :       B   O   O   L   E   A   N   ,       c
0063620    s   :       C   o   m   p   i   l   e   r   S   t   a   t   e
0063640    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0063660    m   p   0   :       C   o   n   t   e   x   t   T   r   e   e
0063700    N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r
0063720    e   e   :  \t   S   t   a   t   e   m   e   n   t   N   o   d
0063740    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0063760    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0064000    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0064020    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0064040    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0064060    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0064100   \r   t   e   m   p   0       _       F   a   k   e   D   a   m
0064120    a   g   e   C   o   n   t   e   x   t   T   r   e   e   [   c
0064140    o   n   t   e   x   t   T   r   e   e   ]   ;  \r   E   N   D
0064160   \r   E   N   D   ;  \r  \r   S   t   a   t   e   m   e   n   t
0064200    s   t   o   p   P   r   o   d   H   a   n   g   C   o   n   t
0064220    e   x   t   s   F   r   o   m   C   o   n   t   e   x   t   T
0064240    r   e   e   :  \t   P   U   B   L   I   C       P   R   O   C
0064260    [   r   e   f   :       R   E   F       A   N   Y   ,       c
0064300    o   n   t   e   x   t   T   r   e   e   :       C   o   n   t
0064320    e   x   t   T   r   e   e   N   o   d   e   ,       r   i   b
0064340    :       C   o   n   t   e   x   t   R   i   b   N   o   d   e
0064360    ,       p   a   i   n   t   R   e   c   o   r   d   s   :    
0064400    B   O   O   L   E   A   N   ,       c   s   :       C   o   m
0064420    p   i   l   e   r   S   t   a   t   e   N   o   d   e   ]    
0064440    R   E   T   U   R   N   S   [   t   e   m   p   0   :       C
0064460    o   n   t   e   x   t   T   r   e   e   N   o   d   e   ]    
0064500    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   S   t
0064520    a   t   e   m   e   n   t   N   o   d   e   _       N   A   R
0064540    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0064560    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0064600    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0064620    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0064640    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0064660    e   .   l   e   n   g   t   h   ]   ;  \r   t   e   m   p   0
0064700        _       F   a   k   e   D   a   m   a   g   e   C   o   n
0064720    t   e   x   t   T   r   e   e   [   c   o   n   t   e   x   t
0064740    T   r   e   e   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r
0064760   \r   S   t   a   t   e   m   e   n   t   n   u   l   l   P   r
0065000    o   d   H   a   n   g   C   o   n   t   e   x   t   s   F   r
0065020    o   m   C   o   n   t   e   x   t   T   r   e   e   :  \t   P
0065040    U   B   L   I   C       P   R   O   C   [   r   e   f   :    
0065060    R   E   F       A   N   Y   ,       c   o   n   t   e   x   t
0065100    T   r   e   e   :       C   o   n   t   e   x   t   T   r   e
0065120    e   N   o   d   e   ,       r   i   b   :       C   o   n   t
0065140    e   x   t   R   i   b   N   o   d   e   ,       p   a   i   n
0065160    t   R   e   c   o   r   d   s   :       B   O   O   L   E   A
0065200    N   ,       c   s   :       C   o   m   p   i   l   e   r   S
0065220    t   a   t   e   N   o   d   e   ]       R   E   T   U   R   N
0065240    S   [   t   e   m   p   0   :       C   o   n   t   e   x   t
0065260    T   r   e   e   N   o   d   e   ]       =  \r   B   E   G   I
0065300    N  \r   t   r   e   e   :  \t   S   t   a   t   e   m   e   n
0065320    t   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0065340    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0065360        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0065400    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0065420        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0065440    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0065460    t   h   ]   ;  \r   t   e   m   p   0       _       F   a   k
0065500    e   D   a   m   a   g   e   C   o   n   t   e   x   t   T   r
0065520    e   e   [   c   o   n   t   e   x   t   T   r   e   e   ]   ;
0065540   \r   E   N   D  \r   E   N   D   ;  \r  \r   S   t   a   t   e
0065560    m   e   n   t   r   e   s   u   m   e   P   r   o   d   H   a
0065600    n   g   C   o   n   t   e   x   t   s   F   r   o   m   C   o
0065620    n   t   e   x   t   T   r   e   e   :  \t   P   U   B   L   I
0065640    C       P   R   O   C   [   r   e   f   :       R   E   F    
0065660    A   N   Y   ,       c   o   n   t   e   x   t   T   r   e   e
0065700    :       C   o   n   t   e   x   t   T   r   e   e   N   o   d
0065720    e   ,       r   i   b   :       C   o   n   t   e   x   t   R
0065740    i   b   N   o   d   e   ,       p   a   i   n   t   R   e   c
0065760    o   r   d   s   :       B   O   O   L   E   A   N   ,       c
0066000    s   :       C   o   m   p   i   l   e   r   S   t   a   t   e
0066020    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0066040    m   p   0   :       C   o   n   t   e   x   t   T   r   e   e
0066060    N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r
0066100    e   e   :  \t   S   t   a   t   e   m   e   n   t   N   o   d
0066120    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0066140    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0066160    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0066200    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0066220    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0066240    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0066260   \r   t   r   e   e   D   a   t   a   :  \t   S   t   a   t   e
0066300    m   e   n   t   r   e   s   u   m   e   P   r   o   d   D   a
0066320    t   a       _       N   A   R   R   O   W   [   t   r   e   e
0066340    .   d   a   t   a   ]   ;  \r   t   e   m   p   0       _    
0066360    F   a   k   e   D   a   m   a   g   e   C   o   n   t   e   x
0066400    t   T   r   e   e   [   c   o   n   t   e   x   t   T   r   e
0066420    e   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   S   t
0066440    a   t   e   m   e   n   t   r   e   j   e   c   t   P   r   o
0066460    d   H   a   n   g   C   o   n   t   e   x   t   s   F   r   o
0066500    m   C   o   n   t   e   x   t   T   r   e   e   :  \t   P   U
0066520    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0066540    E   F       A   N   Y   ,       c   o   n   t   e   x   t   T
0066560    r   e   e   :       C   o   n   t   e   x   t   T   r   e   e
0066600    N   o   d   e   ,       r   i   b   :       C   o   n   t   e
0066620    x   t   R   i   b   N   o   d   e   ,       p   a   i   n   t
0066640    R   e   c   o   r   d   s   :       B   O   O   L   E   A   N
0066660    ,       c   s   :       C   o   m   p   i   l   e   r   S   t
0066700    a   t   e   N   o   d   e   ]       R   E   T   U   R   N   S
0066720    [   t   e   m   p   0   :       C   o   n   t   e   x   t   T
0066740    r   e   e   N   o   d   e   ]       =  \r   B   E   G   I   N
0066760   \r   t   r   e   e   :  \t   S   t   a   t   e   m   e   n   t
0067000    N   o   d   e   _       N   A   R   R   O   W   [   r   e   f
0067020    ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E    
0067040    T   h   r   e   e   C   4   S   u   p   p   o   r   t   .   G
0067060    e   t   S   o   u   r   c   e   I   n   f   o       =   >    
0067100    R   E   S   U   M   E   [   t   r   e   e   .   p   o   s   i
0067120    t   i   o   n   ,       t   r   e   e   .   l   e   n   g   t
0067140    h   ]   ;  \r   t   e   m   p   0       _       F   a   k   e
0067160    D   a   m   a   g   e   C   o   n   t   e   x   t   T   r   e
0067200    e   [   c   o   n   t   e   x   t   T   r   e   e   ]   ;  \r
0067220    E   N   D  \r   E   N   D   ;  \r  \r   S   t   a   t   e   m
0067240    e   n   t   c   o   n   t   i   n   u   e   P   r   o   d   H
0067260    a   n   g   C   o   n   t   e   x   t   s   F   r   o   m   C
0067300    o   n   t   e   x   t   T   r   e   e   :  \t   P   U   B   L
0067320    I   C       P   R   O   C   [   r   e   f   :       R   E   F
0067340        A   N   Y   ,       c   o   n   t   e   x   t   T   r   e
0067360    e   :       C   o   n   t   e   x   t   T   r   e   e   N   o
0067400    d   e   ,       r   i   b   :       C   o   n   t   e   x   t
0067420    R   i   b   N   o   d   e   ,       p   a   i   n   t   R   e
0067440    c   o   r   d   s   :       B   O   O   L   E   A   N   ,    
0067460    c   s   :       C   o   m   p   i   l   e   r   S   t   a   t
0067500    e   N   o   d   e   ]       R   E   T   U   R   N   S   [   t
0067520    e   m   p   0   :       C   o   n   t   e   x   t   T   r   e
0067540    e   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0067560    r   e   e   :  \t   S   t   a   t   e   m   e   n   t   N   o
0067600    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0067620   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0067640    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0067660    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0067700    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0067720    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0067740    ;  \r   t   e   m   p   0       _       F   a   k   e   D   a
0067760    m   a   g   e   C   o   n   t   e   x   t   T   r   e   e   [
0070000    c   o   n   t   e   x   t   T   r   e   e   ]   ;  \r   E   N
0070020    D  \r   E   N   D   ;  \r  \r   S   t   a   t   e   m   e   n
0070040    t   r   e   t   r   y   P   r   o   d   H   a   n   g   C   o
0070060    n   t   e   x   t   s   F   r   o   m   C   o   n   t   e   x
0070100    t   T   r   e   e   :  \t   P   U   B   L   I   C       P   R
0070120    O   C   [   r   e   f   :       R   E   F       A   N   Y   ,
0070140        c   o   n   t   e   x   t   T   r   e   e   :       C   o
0070160    n   t   e   x   t   T   r   e   e   N   o   d   e   ,       r
0070200    i   b   :       C   o   n   t   e   x   t   R   i   b   N   o
0070220    d   e   ,       p   a   i   n   t   R   e   c   o   r   d   s
0070240    :       B   O   O   L   E   A   N   ,       c   s   :       C
0070260    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0070300    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0070320        C   o   n   t   e   x   t   T   r   e   e   N   o   d   e
0070340    ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t
0070360    S   t   a   t   e   m   e   n   t   N   o   d   e   _       N
0070400    A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I
0070420    N  \r   E   N   A   B   L   E       T   h   r   e   e   C   4
0070440    S   u   p   p   o   r   t   .   G   e   t   S   o   u   r   c
0070460    e   I   n   f   o       =   >       R   E   S   U   M   E   [
0070500    t   r   e   e   .   p   o   s   i   t   i   o   n   ,       t
0070520    r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   e   m
0070540    p   0       _       F   a   k   e   D   a   m   a   g   e   C
0070560    o   n   t   e   x   t   T   r   e   e   [   c   o   n   t   e
0070600    x   t   T   r   e   e   ]   ;  \r   E   N   D  \r   E   N   D
0070620    ;  \r  \r   S   t   a   t   e   m   e   n   t   g   e   t   s
0070640    t   a   t   e   P   r   o   d   H   a   n   g   C   o   n   t
0070660    e   x   t   s   F   r   o   m   C   o   n   t   e   x   t   T
0070700    r   e   e   :  \t   P   U   B   L   I   C       P   R   O   C
0070720    [   r   e   f   :       R   E   F       A   N   Y   ,       c
0070740    o   n   t   e   x   t   T   r   e   e   :       C   o   n   t
0070760    e   x   t   T   r   e   e   N   o   d   e   ,       r   i   b
0071000    :       C   o   n   t   e   x   t   R   i   b   N   o   d   e
0071020    ,       p   a   i   n   t   R   e   c   o   r   d   s   :    
0071040    B   O   O   L   E   A   N   ,       c   s   :       C   o   m
0071060    p   i   l   e   r   S   t   a   t   e   N   o   d   e   ]    
0071100    R   E   T   U   R   N   S   [   t   e   m   p   0   :       C
0071120    o   n   t   e   x   t   T   r   e   e   N   o   d   e   ]    
0071140    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   S   t
0071160    a   t   e   m   e   n   t   N   o   d   e   _       N   A   R
0071200    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0071220    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0071240    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0071260    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0071300    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0071320    e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D
0071340    a   t   a   :  \t   S   t   a   t   e   m   e   n   t   g   e
0071360    t   s   t   a   t   e   P   r   o   d   D   a   t   a       _
0071400        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0071420    a   ]   ;  \r   t   e   m   p   0       _       F   a   k   e
0071440    D   a   m   a   g   e   C   o   n   t   e   x   t   T   r   e
0071460    e   [   c   o   n   t   e   x   t   T   r   e   e   ]   ;  \r
0071500    E   N   D  \r   E   N   D   ;  \r  \r   S   t   a   t   e   m
0071520    e   n   t   s   e   t   s   t   a   t   e   P   r   o   d   H
0071540    a   n   g   C   o   n   t   e   x   t   s   F   r   o   m   C
0071560    o   n   t   e   x   t   T   r   e   e   :  \t   P   U   B   L
0071600    I   C       P   R   O   C   [   r   e   f   :       R   E   F
0071620        A   N   Y   ,       c   o   n   t   e   x   t   T   r   e
0071640    e   :       C   o   n   t   e   x   t   T   r   e   e   N   o
0071660    d   e   ,       r   i   b   :       C   o   n   t   e   x   t
0071700    R   i   b   N   o   d   e   ,       p   a   i   n   t   R   e
0071720    c   o   r   d   s   :       B   O   O   L   E   A   N   ,    
0071740    c   s   :       C   o   m   p   i   l   e   r   S   t   a   t
0071760    e   N   o   d   e   ]       R   E   T   U   R   N   S   [   t
0072000    e   m   p   0   :       C   o   n   t   e   x   t   T   r   e
0072020    e   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0072040    r   e   e   :  \t   S   t   a   t   e   m   e   n   t   N   o
0072060    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0072100   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0072120    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0072140    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0072160    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0072200    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0072220    ;  \r   t   r   e   e   D   a   t   a   :  \t   S   t   a   t
0072240    e   m   e   n   t   s   e   t   s   t   a   t   e   P   r   o
0072260    d   D   a   t   a       _       N   A   R   R   O   W   [   t
0072300    r   e   e   .   d   a   t   a   ]   ;  \r   t   e   m   p   0
0072320        _       F   a   k   e   D   a   m   a   g   e   C   o   n
0072340    t   e   x   t   T   r   e   e   [   c   o   n   t   e   x   t
0072360    T   r   e   e   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r
0072400   \r   B   l   o   c   k   P   r   o   d   M   a   k   e   C   o
0072420    n   t   e   x   t   T   r   e   e   :  \t   P   U   B   L   I
0072440    C       P   R   O   C   [   r   e   f   :       R   E   F    
0072460    A   N   Y   ,       p   a   r   e   n   t   R   i   b   :    
0072500    C   o   n   t   e   x   t   R   i   b   N   o   d   e   ,    
0072520    p   a   i   n   t   R   e   c   o   r   d   s   :       B   O
0072540    O   L   E   A   N   ,       c   s   :       C   o   m   p   i
0072560    l   e   r   S   t   a   t   e   N   o   d   e   ]       R   E
0072600    T   U   R   N   S   [   t   e   m   p   0   :       C   o   n
0072620    t   e   x   t   T   r   e   e   N   o   d   e   ]       =  \r
0072640    B   E   G   I   N  \r   t   r   e   e   :  \t   B   l   o   c
0072660    k   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0072700    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0072720        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0072740    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0072760        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0073000    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0073020    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   B
0073040    l   o   c   k   P   r   o   d   D   a   t   a       _       N
0073060    A   R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]
0073100    ;  \r   B   E   G   I   N  \r   e   r   r   :  \t   B   O   O
0073120    L   E   A   N   ;  \r   e   r   r       _       E   r   r   o
0073140    r   [   "   s   h   o   u   l   d       n   o   t       b   e
0073160        h   e   r   e   "   ]   ;  \r   t   e   m   p   0       _
0073200        E   m   p   t   y   C   o   n   t   e   x   t   T   r   e
0073220    e   [   p   a   r   e   n   t   R   i   b   ]   ;  \r   E   N
0073240    D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   B   l   o
0073260    c   k   P   r   o   d   H   a   n   g   C   o   n   t   e   x
0073300    t   s   F   r   o   m   C   o   n   t   e   x   t   T   r   e
0073320    e   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0073340    e   f   :       R   E   F       A   N   Y   ,       c   o   n
0073360    t   e   x   t   T   r   e   e   :       C   o   n   t   e   x
0073400    t   T   r   e   e   N   o   d   e   ,       r   i   b   :    
0073420    C   o   n   t   e   x   t   R   i   b   N   o   d   e   ,    
0073440    p   a   i   n   t   R   e   c   o   r   d   s   :       B   O
0073460    O   L   E   A   N   ,       c   s   :       C   o   m   p   i
0073500    l   e   r   S   t   a   t   e   N   o   d   e   ]       R   E
0073520    T   U   R   N   S   [   t   e   m   p   0   :       C   o   n
0073540    t   e   x   t   T   r   e   e   N   o   d   e   ]       =  \r
0073560    B   E   G   I   N  \r   t   r   e   e   :  \t   B   l   o   c
0073600    k   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0073620    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0073640        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0073660    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0073700        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0073720    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0073740    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   B
0073760    l   o   c   k   P   r   o   d   D   a   t   a       _       N
0074000    A   R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]
0074020    ;  \r   B   E   G   I   N  \r   e   r   r   :  \t   B   O   O
0074040    L   E   A   N   ;  \r   e   r   r       _       E   r   r   o
0074060    r   [   "   s   h   o   u   l   d       n   o   t       b   e
0074100        h   e   r   e   "   ]   ;  \r   t   e   m   p   0       _
0074120        F   a   k   e   D   a   m   a   g   e   C   o   n   t   e
0074140    x   t   T   r   e   e   [   c   o   n   t   e   x   t   T   r
0074160    e   e   ]   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N
0074200    D   ;  \r  \r   I   d   O   r   S   t   r   i   n   g   i   d
0074220    P   r   o   d   R   o   p   e   F   r   o   m   I   d   O   r
0074240    S   t   r   i   n   g   :  \t   P   U   B   L   I   C       P
0074260    R   O   C   [   r   e   f   :       R   E   F       A   N   Y
0074300    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0074320        R   O   P   E   ]       =  \r   B   E   G   I   N  \r   t
0074340    r   e   e   :  \t   I   d   O   r   S   t   r   i   n   g   N
0074360    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0074400    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0074420    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0074440    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0074460    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0074500    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0074520    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   I   d   O
0074540    r   S   t   r   i   n   g   i   d   P   r   o   d   D   a   t
0074560    a       _       N   A   R   R   O   W   [   t   r   e   e   .
0074600    d   a   t   a   ]   ;  \r   t   e   m   p   0       _       R
0074620    o   p   e   F   r   o   m   I   d   [   t   r   e   e   D   a
0074640    t   a   .   I   d   ]   ;  \r   E   N   D  \r   E   N   D   ;
0074660   \r  \r   I   d   O   r   S   t   r   i   n   g   s   t   r   i
0074700    n   g   P   r   o   d   R   o   p   e   F   r   o   m   I   d
0074720    O   r   S   t   r   i   n   g   :  \t   P   U   B   L   I   C
0074740        P   R   O   C   [   r   e   f   :       R   E   F       A
0074760    N   Y   ]       R   E   T   U   R   N   S   [   t   e   m   p
0075000    0   :       R   O   P   E   ]       =  \r   B   E   G   I   N
0075020   \r   t   r   e   e   :  \t   I   d   O   r   S   t   r   i   n
0075040    g   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0075060    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0075100        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0075120    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0075140        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0075160    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0075200    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   I
0075220    d   O   r   S   t   r   i   n   g   s   t   r   i   n   g   P
0075240    r   o   d   D   a   t   a       _       N   A   R   R   O   W
0075260    [   t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e   m
0075300    p   0       _       R   o   p   e   F   r   o   m   S   t   r
0075320    i   n   g   [   t   r   e   e   D   a   t   a   .   S   t   r
0075340    i   n   g   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r
0075360    E   N   D   .   .  \r                                        
0075366