$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron3.0>Derived>SaffronExpressionCompImpl.Mesa!11
0000000    -   -       S   a   f   f   r   o   n   E   x   p   r   e   s
0000020    s   i   o   n   C   o   m   p   I   m   p   l   .   m   e   s
0000040    a  \r       -   -       C   o   p   y   r   i   g   h   t    
0000060  323       1   9   8   7       b   y       X   e   r   o   x    
0000100    C   o   r   p   o   r   a   t   i   o   n   .           A   l
0000120    l       r   i   g   h   t   s       r   e   s   e   r   v   e
0000140    d   .  \r       -   -       G   e   n   e   r   a   t   e   d
0000160        b   y       R   a   u   e   n   .   p   a       a   t    
0000200    A   u   g   u   s   t       2   ,       1   9   8   8       2
0000220    :   5   1   :   5   3       p   m       P   D   T  \r       -
0000240    -           u   s   i   n   g       T   h   r   e   e   C   a
0000260    s   a   b   a   F   o   u   r       [   1   .   2   ]       o
0000300    f       J   u   n   e       1   ,       1   9   8   7       6
0000320    :   0   0   :   0   0       p   m       P   D   T  \r  \r   D
0000340    I   R   E   C   T   O   R   Y  \r  \t   S   a   f   f   r   o
0000360    n   A   G   1   a   D   e   f   ,  \r  \t   S   a   f   f   r
0000400    o   n   A   G   1   b   D   e   f   ,  \r  \t   S   a   f   f
0000420    r   o   n   A   G   3   D   e   f   ,  \r  \t   S   a   f   f
0000440    r   o   n   A   G   2   D   e   f   ,  \r  \t   R   o   p   e
0000460    ,  \r  \t   T   h   r   e   e   C   4   S   u   p   p   o   r
0000500    t   ,  \r  \t   S   a   f   f   r   o   n   B   a   s   e   D
0000520    e   f   ,  \r  \t   B   i   g   I   n   t   e   g   e   r   s
0000540    ,  \r  \t   S   a   f   f   r   o   n   A   T   D   e   f   ;
0000560   \r  \r   S   a   f   f   r   o   n   E   x   p   r   e   s   s
0000600    i   o   n   C   o   m   p   I   m   p   l   :       C   E   D
0000620    A   R       P   R   O   G   R   A   M       I   M   P   O   R
0000640    T   S       T   h   r   e   e   C   4   S   u   p   p   o   r
0000660    t   ,       S   a   f   f   r   o   n   B   a   s   e   D   e
0000700    f   ,       B   i   g   I   n   t   e   g   e   r   s   ,    
0000720    S   a   f   f   r   o   n   A   T   D   e   f       E   X   P
0000740    O   R   T   S       S   a   f   f   r   o   n   A   G   1   a
0000760    D   e   f   ,       S   a   f   f   r   o   n   A   G   1   b
0001000    D   e   f   ,       S   a   f   f   r   o   n   A   G   3   D
0001020    e   f   ,       S   a   f   f   r   o   n   A   G   2   D   e
0001040    f   =      \r   B   E   G   I   N  \r   O   P   E   N       S
0001060    a   f   f   r   o   n   A   G   1   a   D   e   f   ,       S
0001100    a   f   f   r   o   n   A   G   1   b   D   e   f   ,       S
0001120    a   f   f   r   o   n   A   G   3   D   e   f   ,       S   a
0001140    f   f   r   o   n   A   G   2   D   e   f   ,       R   o   p
0001160    e   ,       T   h   r   e   e   C   4   S   u   p   p   o   r
0001200    t   ,       S   a   f   f   r   o   n   B   a   s   e   D   e
0001220    f   ,       B   i   g   I   n   t   e   g   e   r   s   ,    
0001240    S   a   f   f   r   o   n   A   T   D   e   f   ;  \r   E   x
0001260    p   s   u   m   P   r   o   d   C   o   m   p   i   l   e   E
0001300    x   p   r   e   s   s   i   o   n   :  \t   P   U   B   L   I
0001320    C       P   R   O   C   [   r   e   f   :       R   E   F    
0001340    A   N   Y   ,       l   o   c   a   l   C   o   n   t   e   x
0001360    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0001400    o   d   e   ,       c   s   :       C   o   m   p   i   l   e
0001420    r   S   t   a   t   e   N   o   d   e   ,       t   a   r   g
0001440    e   t   T   y   p   e   :       T   y   p   e   G   r   a   p
0001460    h   N   o   d   e   N   o   d   e   ]       R   E   T   U   R
0001500    N   S   [   t   e   m   p   0   :       V   a   l   u   e   N
0001520    o   d   e   ,       t   e   m   p   1   :       L   o   c   a
0001540    l   C   o   n   t   e   x   t   N   o   d   e   ]       =  \r
0001560    B   E   G   I   N  \r   t   r   e   e   :  \t   E   x   p   N
0001600    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0001620    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0001640    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0001660    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0001700    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0001720    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0001740    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   E   x   p
0001760    s   u   m   P   r   o   d   D   a   t   a       _       N   A
0002000    R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;
0002020   \r   B   E   G   I   N  \r   r   e   s   u   l   t   :  \t   V
0002040    a   l   u   e   N   o   d   e   ;  \r   t   e   m   p   2   :
0002060        B   O   O   L   E   A   N   ;  \r   l   h   s   T   y   p
0002100    e   :  \t   T   y   p   e   G   r   a   p   h   N   o   d   e
0002120    N   o   d   e   ;  \r   r   h   s   T   y   p   e   :  \t   T
0002140    y   p   e   G   r   a   p   h   N   o   d   e   N   o   d   e
0002160    ;  \r   l   h   s   :  \t   V   a   l   u   e   N   o   d   e
0002200    ;  \r   r   h   s   :  \t   V   a   l   u   e   N   o   d   e
0002220    ;  \r   u   n   c   h   e   c   k   e   d   R   h   s   :  \t
0002240    V   a   l   u   e   N   o   d   e   ;  \r   l   o   c   a   l
0002260    C   o   n   t   e   x   t   2   :  \t   L   o   c   a   l   C
0002300    o   n   t   e   x   t   N   o   d   e   ;  \r   u   n   c   h
0002320    e   c   k   e   d   L   h   s   :  \t   V   a   l   u   e   N
0002340    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0002360    t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t
0002400    N   o   d   e   ;  \r   [   u   n   c   h   e   c   k   e   d
0002420    L   h   s   ,       l   o   c   a   l   C   o   n   t   e   x
0002440    t   1   ]       _       t   r   e   e   D   a   t   a   .   E
0002460    x   p   l   e   f   t   .   p   r   o   c   s   .   C   o   m
0002500    p   i   l   e   E   x   p   r   e   s   s   i   o   n   [   t
0002520    r   e   e   D   a   t   a   .   E   x   p   l   e   f   t   ,
0002540        l   o   c   a   l   C   o   n   t   e   x   t   ,       c
0002560    s   ,       t   a   r   g   e   t   T   y   p   e   ]   ;  \r
0002600    [   u   n   c   h   e   c   k   e   d   R   h   s   ,       l
0002620    o   c   a   l   C   o   n   t   e   x   t   2   ]       _    
0002640    t   r   e   e   D   a   t   a   .   E   x   p   r   i   g   h
0002660    t   .   p   r   o   c   s   .   C   o   m   p   i   l   e   E
0002700    x   p   r   e   s   s   i   o   n   [   t   r   e   e   D   a
0002720    t   a   .   E   x   p   r   i   g   h   t   ,       l   o   c
0002740    a   l   C   o   n   t   e   x   t   1   ,       c   s   ,    
0002760    t   a   r   g   e   t   T   y   p   e   ]   ;  \r   r   h   s
0003000        _       D   e   m   a   n   d   N   u   m   b   e   r   [
0003020    u   n   c   h   e   c   k   e   d   R   h   s   ]   ;  \r   l
0003040    h   s       _       D   e   m   a   n   d   N   u   m   b   e
0003060    r   [   u   n   c   h   e   c   k   e   d   L   h   s   ]   ;
0003100   \r   r   h   s   T   y   p   e       _       T   y   p   e   [
0003120    r   h   s   ]   ;  \r   l   h   s   T   y   p   e       _    
0003140    T   y   p   e   [   l   h   s   ]   ;  \r   I   F       A   n
0003160    d   [   A   n   d   [   S   t   a   t   i   c   [   l   h   s
0003200    ]   ,       S   t   a   t   i   c   [   r   h   s   ]   ]   ,
0003220        A   n   d   [   C   o   n   f   o   r   m   s   T   o   I
0003240    n   t   e   g   e   r   [   l   h   s   T   y   p   e   ]   ,
0003260        C   o   n   f   o   r   m   s   T   o   I   n   t   e   g
0003300    e   r   [   r   h   s   T   y   p   e   ]   ]   ]       T   H
0003320    E   N       {   I   F       t   e   m   p   2       _       t
0003340    r   e   e   D   a   t   a   .   A   d   d   O   p   .   p   r
0003360    o   c   s   .   I   s   P   l   u   s   [   t   r   e   e   D
0003400    a   t   a   .   A   d   d   O   p   ]       T   H   E   N    
0003420    {       N   U   L   L   ;  \r   }       E   L   S   E       {
0003440    N   U   L   L   ;  \r   }   ;  \r   r   e   s   u   l   t    
0003460    _       C   a   s   t   I   n   t   e   g   e   r   V   a   l
0003500    u   e   [   (   I   F       t   e   m   p   2       T   H   E
0003520    N       A   d   d   [   R   e   t   r   i   e   v   e   I   n
0003540    t   e   g   e   r   V   a   l   u   e   [   l   h   s   ]   ,
0003560        R   e   t   r   i   e   v   e   I   n   t   e   g   e   r
0003600    V   a   l   u   e   [   r   h   s   ]   ]       E   L   S   E
0003620        S   u   b   [   R   e   t   r   i   e   v   e   I   n   t
0003640    e   g   e   r   V   a   l   u   e   [   l   h   s   ]   ,    
0003660    R   e   t   r   i   e   v   e   I   n   t   e   g   e   r   V
0003700    a   l   u   e   [   r   h   s   ]   ]   )   ,       G   e   t
0003720    I   n   t   r   i   n   s   i   c   I   n   t   e   g   e   r
0003740    T   y   p   e   s   [   c   s   ]   ]   ;  \r   }       E   L
0003760    S   E       {   r   e   s   u   l   t       _       M   a   k
0004000    e   D   u   m   m   y   [   "   c   o   d   e       f   o   r
0004020        a       s   u   m   "   ]   ;  \r   }   ;  \r   t   e   m
0004040    p   1       _       l   o   c   a   l   C   o   n   t   e   x
0004060    t   2   ;  \r   t   e   m   p   0       _       r   e   s   u
0004100    l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D
0004120    ;  \r  \r   E   x   p   u   n   a   r   y   s   u   m   P   r
0004140    o   d   C   o   m   p   i   l   e   E   x   p   r   e   s   s
0004160    i   o   n   :  \t   P   U   B   L   I   C       P   R   O   C
0004200    [   r   e   f   :       R   E   F       A   N   Y   ,       l
0004220    o   c   a   l   C   o   n   t   e   x   t   :       L   o   c
0004240    a   l   C   o   n   t   e   x   t   N   o   d   e   ,       c
0004260    s   :       C   o   m   p   i   l   e   r   S   t   a   t   e
0004300    N   o   d   e   ,       t   a   r   g   e   t   T   y   p   e
0004320    :       T   y   p   e   G   r   a   p   h   N   o   d   e   N
0004340    o   d   e   ]       R   E   T   U   R   N   S   [   t   e   m
0004360    p   0   :       V   a   l   u   e   N   o   d   e   ,       t
0004400    e   m   p   1   :       L   o   c   a   l   C   o   n   t   e
0004420    x   t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r
0004440    t   r   e   e   :  \t   E   x   p   N   o   d   e   _       N
0004460    A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I
0004500    N  \r   E   N   A   B   L   E       T   h   r   e   e   C   4
0004520    S   u   p   p   o   r   t   .   G   e   t   S   o   u   r   c
0004540    e   I   n   f   o       =   >       R   E   S   U   M   E   [
0004560    t   r   e   e   .   p   o   s   i   t   i   o   n   ,       t
0004600    r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e
0004620    e   D   a   t   a   :  \t   E   x   p   u   n   a   r   y   s
0004640    u   m   P   r   o   d   D   a   t   a       _       N   A   R
0004660    R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r
0004700    B   E   G   I   N  \r   r   e   s   u   l   t   :  \t   V   a
0004720    l   u   e   N   o   d   e   ;  \r   t   e   m   p   2   :    
0004740    B   O   O   L   E   A   N   ;  \r   r   h   s   T   y   p   e
0004760    :  \t   T   y   p   e   G   r   a   p   h   N   o   d   e   N
0005000    o   d   e   ;  \r   r   h   s   :  \t   V   a   l   u   e   N
0005020    o   d   e   ;  \r   u   n   c   h   e   c   k   e   d   R   h
0005040    s   :  \t   V   a   l   u   e   N   o   d   e   ;  \r   l   o
0005060    c   a   l   C   o   n   t   e   x   t   1   :  \t   L   o   c
0005100    a   l   C   o   n   t   e   x   t   N   o   d   e   ;  \r   [
0005120    u   n   c   h   e   c   k   e   d   R   h   s   ,       l   o
0005140    c   a   l   C   o   n   t   e   x   t   1   ]       _       t
0005160    r   e   e   D   a   t   a   .   E   x   p   .   p   r   o   c
0005200    s   .   C   o   m   p   i   l   e   E   x   p   r   e   s   s
0005220    i   o   n   [   t   r   e   e   D   a   t   a   .   E   x   p
0005240    ,       l   o   c   a   l   C   o   n   t   e   x   t   ,    
0005260    c   s   ,       t   a   r   g   e   t   T   y   p   e   ]   ;
0005300   \r   r   h   s       _       D   e   m   a   n   d   N   u   m
0005320    b   e   r   [   u   n   c   h   e   c   k   e   d   R   h   s
0005340    ]   ;  \r   r   h   s   T   y   p   e       _       T   y   p
0005360    e   [   r   h   s   ]   ;  \r   I   F       A   n   d   [   S
0005400    t   a   t   i   c   [   r   h   s   ]   ,       C   o   n   f
0005420    o   r   m   s   T   o   I   n   t   e   g   e   r   [   r   h
0005440    s   T   y   p   e   ]   ]       T   H   E   N       {   I   F
0005460        t   e   m   p   2       _       t   r   e   e   D   a   t
0005500    a   .   A   d   d   O   p   .   p   r   o   c   s   .   I   s
0005520    P   l   u   s   [   t   r   e   e   D   a   t   a   .   A   d
0005540    d   O   p   ]       T   H   E   N       {       N   U   L   L
0005560    ;  \r   }       E   L   S   E       {   N   U   L   L   ;  \r
0005600    }   ;  \r   r   e   s   u   l   t       _       C   a   s   t
0005620    I   n   t   e   g   e   r   V   a   l   u   e   [   (   I   F
0005640        t   e   m   p   2       T   H   E   N       R   e   t   r
0005660    i   e   v   e   I   n   t   e   g   e   r   V   a   l   u   e
0005700    [   r   h   s   ]       E   L   S   E       N   e   g   [   R
0005720    e   t   r   i   e   v   e   I   n   t   e   g   e   r   V   a
0005740    l   u   e   [   r   h   s   ]   ]   )   ,       G   e   t   I
0005760    n   t   r   i   n   s   i   c   I   n   t   e   g   e   r   T
0006000    y   p   e   s   [   c   s   ]   ]   ;  \r   }       E   L   S
0006020    E       {   r   e   s   u   l   t       _       M   a   k   e
0006040    D   u   m   m   y   [   "   c   o   d   e       f   o   r    
0006060    a       u   n   a   r   y   s   u   m   "   ]   ;  \r   }   ;
0006100   \r   t   e   m   p   1       _       l   o   c   a   l   C   o
0006120    n   t   e   x   t   1   ;  \r   t   e   m   p   0       _    
0006140    r   e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N   D
0006160   \r   E   N   D   ;  \r  \r   E   x   p   p   r   o   d   u   c
0006200    t   P   r   o   d   C   o   m   p   i   l   e   E   x   p   r
0006220    e   s   s   i   o   n   :  \t   P   U   B   L   I   C       P
0006240    R   O   C   [   r   e   f   :       R   E   F       A   N   Y
0006260    ,       l   o   c   a   l   C   o   n   t   e   x   t   :    
0006300    L   o   c   a   l   C   o   n   t   e   x   t   N   o   d   e
0006320    ,       c   s   :       C   o   m   p   i   l   e   r   S   t
0006340    a   t   e   N   o   d   e   ,       t   a   r   g   e   t   T
0006360    y   p   e   :       T   y   p   e   G   r   a   p   h   N   o
0006400    d   e   N   o   d   e   ]       R   E   T   U   R   N   S   [
0006420    t   e   m   p   0   :       V   a   l   u   e   N   o   d   e
0006440    ,       t   e   m   p   1   :       L   o   c   a   l   C   o
0006460    n   t   e   x   t   N   o   d   e   ]       =  \r   B   E   G
0006500    I   N  \r   t   r   e   e   :  \t   E   x   p   N   o   d   e
0006520    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0006540    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0006560    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0006600    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0006620    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0006640    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0006660    t   r   e   e   D   a   t   a   :  \t   E   x   p   p   r   o
0006700    d   u   c   t   P   r   o   d   D   a   t   a       _       N
0006720    A   R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]
0006740    ;  \r   B   E   G   I   N  \r   r   e   s   u   l   t   :  \t
0006760    V   a   l   u   e   N   o   d   e   ;  \r   t   e   m   p   3
0007000    :       B   O   O   L   E   A   N   ;  \r   t   e   m   p   2
0007020    :       B   O   O   L   E   A   N   ;  \r   l   h   s   T   y
0007040    p   e   :  \t   T   y   p   e   G   r   a   p   h   N   o   d
0007060    e   N   o   d   e   ;  \r   r   h   s   T   y   p   e   :  \t
0007100    T   y   p   e   G   r   a   p   h   N   o   d   e   N   o   d
0007120    e   ;  \r   l   h   s   :  \t   V   a   l   u   e   N   o   d
0007140    e   ;  \r   r   h   s   :  \t   V   a   l   u   e   N   o   d
0007160    e   ;  \r   u   n   c   h   e   c   k   e   d   R   h   s   :
0007200   \t   V   a   l   u   e   N   o   d   e   ;  \r   l   o   c   a
0007220    l   C   o   n   t   e   x   t   2   :  \t   L   o   c   a   l
0007240    C   o   n   t   e   x   t   N   o   d   e   ;  \r   u   n   c
0007260    h   e   c   k   e   d   L   h   s   :  \t   V   a   l   u   e
0007300    N   o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e
0007320    x   t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x
0007340    t   N   o   d   e   ;  \r   [   u   n   c   h   e   c   k   e
0007360    d   L   h   s   ,       l   o   c   a   l   C   o   n   t   e
0007400    x   t   1   ]       _       t   r   e   e   D   a   t   a   .
0007420    E   x   p   l   e   f   t   .   p   r   o   c   s   .   C   o
0007440    m   p   i   l   e   E   x   p   r   e   s   s   i   o   n   [
0007460    t   r   e   e   D   a   t   a   .   E   x   p   l   e   f   t
0007500    ,       l   o   c   a   l   C   o   n   t   e   x   t   ,    
0007520    c   s   ,       t   a   r   g   e   t   T   y   p   e   ]   ;
0007540   \r   [   u   n   c   h   e   c   k   e   d   R   h   s   ,    
0007560    l   o   c   a   l   C   o   n   t   e   x   t   2   ]       _
0007600        t   r   e   e   D   a   t   a   .   E   x   p   r   i   g
0007620    h   t   .   p   r   o   c   s   .   C   o   m   p   i   l   e
0007640    E   x   p   r   e   s   s   i   o   n   [   t   r   e   e   D
0007660    a   t   a   .   E   x   p   r   i   g   h   t   ,       l   o
0007700    c   a   l   C   o   n   t   e   x   t   1   ,       c   s   ,
0007720        t   a   r   g   e   t   T   y   p   e   ]   ;  \r   r   h
0007740    s       _       D   e   m   a   n   d   N   u   m   b   e   r
0007760    [   u   n   c   h   e   c   k   e   d   R   h   s   ]   ;  \r
0010000    l   h   s       _       D   e   m   a   n   d   N   u   m   b
0010020    e   r   [   u   n   c   h   e   c   k   e   d   L   h   s   ]
0010040    ;  \r   r   h   s   T   y   p   e       _       T   y   p   e
0010060    [   r   h   s   ]   ;  \r   l   h   s   T   y   p   e       _
0010100        T   y   p   e   [   l   h   s   ]   ;  \r   I   F       A
0010120    n   d   [   A   n   d   [   S   t   a   t   i   c   [   l   h
0010140    s   ]   ,       S   t   a   t   i   c   [   r   h   s   ]   ]
0010160    ,       A   n   d   [   C   o   n   f   o   r   m   s   T   o
0010200    I   n   t   e   g   e   r   [   l   h   s   T   y   p   e   ]
0010220    ,       C   o   n   f   o   r   m   s   T   o   I   n   t   e
0010240    g   e   r   [   r   h   s   T   y   p   e   ]   ]   ]       T
0010260    H   E   N       {   I   F       t   e   m   p   3       _    
0010300    t   r   e   e   D   a   t   a   .   M   u   l   t   O   p   .
0010320    p   r   o   c   s   .   I   s   T   i   m   e   s   [   t   r
0010340    e   e   D   a   t   a   .   M   u   l   t   O   p   ]       T
0010360    H   E   N       {       N   U   L   L   ;  \r   }       E   L
0010400    S   E       {   N   U   L   L   ;  \r   I   F       t   e   m
0010420    p   2       _       t   r   e   e   D   a   t   a   .   M   u
0010440    l   t   O   p   .   p   r   o   c   s   .   I   s   D   i   v
0010460    i   d   e   [   t   r   e   e   D   a   t   a   .   M   u   l
0010500    t   O   p   ]       T   H   E   N       {       N   U   L   L
0010520    ;  \r   }       E   L   S   E       {   N   U   L   L   ;  \r
0010540    }   ;  \r   }   ;  \r   r   e   s   u   l   t       _       C
0010560    a   s   t   I   n   t   e   g   e   r   V   a   l   u   e   [
0010600    (   I   F       t   e   m   p   3       T   H   E   N       M
0010620    u   l   [   R   e   t   r   i   e   v   e   I   n   t   e   g
0010640    e   r   V   a   l   u   e   [   l   h   s   ]   ,       R   e
0010660    t   r   i   e   v   e   I   n   t   e   g   e   r   V   a   l
0010700    u   e   [   r   h   s   ]   ]       E   L   S   E       (   I
0010720    F       t   e   m   p   2       T   H   E   N       D   i   v
0010740    [   R   e   t   r   i   e   v   e   I   n   t   e   g   e   r
0010760    V   a   l   u   e   [   l   h   s   ]   ,       R   e   t   r
0011000    i   e   v   e   I   n   t   e   g   e   r   V   a   l   u   e
0011020    [   r   h   s   ]   ]       E   L   S   E       M   o   d   [
0011040    R   e   t   r   i   e   v   e   I   n   t   e   g   e   r   V
0011060    a   l   u   e   [   l   h   s   ]   ,       R   e   t   r   i
0011100    e   v   e   I   n   t   e   g   e   r   V   a   l   u   e   [
0011120    r   h   s   ]   ]   )   )   ,       G   e   t   I   n   t   r
0011140    i   n   s   i   c   I   n   t   e   g   e   r   T   y   p   e
0011160    s   [   c   s   ]   ]   ;  \r   }       E   L   S   E       {
0011200    r   e   s   u   l   t       _       M   a   k   e   D   u   m
0011220    m   y   [   "   c   o   d   e       f   o   r       a       s
0011240    u   m   "   ]   ;  \r   }   ;  \r   t   e   m   p   1       _
0011260        l   o   c   a   l   C   o   n   t   e   x   t   2   ;  \r
0011300    t   e   m   p   0       _       r   e   s   u   l   t   ;  \r
0011320    E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E
0011340    x   p   o   r   P   r   o   d   C   o   m   p   i   l   e   E
0011360    x   p   r   e   s   s   i   o   n   :  \t   P   U   B   L   I
0011400    C       P   R   O   C   [   r   e   f   :       R   E   F    
0011420    A   N   Y   ,       l   o   c   a   l   C   o   n   t   e   x
0011440    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0011460    o   d   e   ,       c   s   :       C   o   m   p   i   l   e
0011500    r   S   t   a   t   e   N   o   d   e   ,       t   a   r   g
0011520    e   t   T   y   p   e   :       T   y   p   e   G   r   a   p
0011540    h   N   o   d   e   N   o   d   e   ]       R   E   T   U   R
0011560    N   S   [   t   e   m   p   0   :       V   a   l   u   e   N
0011600    o   d   e   ,       t   e   m   p   1   :       L   o   c   a
0011620    l   C   o   n   t   e   x   t   N   o   d   e   ]       =  \r
0011640    B   E   G   I   N  \r   t   r   e   e   :  \t   E   x   p   N
0011660    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0011700    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0011720    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0011740    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0011760    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0012000    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0012020    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   E   x   p
0012040    o   r   P   r   o   d   D   a   t   a       _       N   A   R
0012060    R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r
0012100    B   E   G   I   N  \r   r   e   s   u   l   t   :  \t   V   a
0012120    l   u   e   N   o   d   e   ;  \r   t   y   p   e   :  \t   T
0012140    y   p   e   G   r   a   p   h   N   o   d   e   N   o   d   e
0012160    ;  \r   l   h   s   :  \t   V   a   l   u   e   N   o   d   e
0012200    ;  \r   r   h   s   :  \t   V   a   l   u   e   N   o   d   e
0012220    ;  \r   u   n   c   h   e   c   k   e   d   R   h   s   :  \t
0012240    V   a   l   u   e   N   o   d   e   ;  \r   l   o   c   a   l
0012260    C   o   n   t   e   x   t   2   :  \t   L   o   c   a   l   C
0012300    o   n   t   e   x   t   N   o   d   e   ;  \r   u   n   c   h
0012320    e   c   k   e   d   L   h   s   :  \t   V   a   l   u   e   N
0012340    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0012360    t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t
0012400    N   o   d   e   ;  \r   [   u   n   c   h   e   c   k   e   d
0012420    L   h   s   ,       l   o   c   a   l   C   o   n   t   e   x
0012440    t   1   ]       _       t   r   e   e   D   a   t   a   .   E
0012460    x   p   l   e   f   t   .   p   r   o   c   s   .   C   o   m
0012500    p   i   l   e   E   x   p   r   e   s   s   i   o   n   [   t
0012520    r   e   e   D   a   t   a   .   E   x   p   l   e   f   t   ,
0012540        l   o   c   a   l   C   o   n   t   e   x   t   ,       c
0012560    s   ,       t   a   r   g   e   t   T   y   p   e   ]   ;  \r
0012600    [   u   n   c   h   e   c   k   e   d   R   h   s   ,       l
0012620    o   c   a   l   C   o   n   t   e   x   t   2   ]       _    
0012640    t   r   e   e   D   a   t   a   .   E   x   p   r   i   g   h
0012660    t   .   p   r   o   c   s   .   C   o   m   p   i   l   e   E
0012700    x   p   r   e   s   s   i   o   n   [   t   r   e   e   D   a
0012720    t   a   .   E   x   p   r   i   g   h   t   ,       l   o   c
0012740    a   l   C   o   n   t   e   x   t   1   ,       c   s   ,    
0012760    t   a   r   g   e   t   T   y   p   e   ]   ;  \r   r   h   s
0013000        _       D   e   m   a   n   d   B   o   o   l   e   a   n
0013020    [   u   n   c   h   e   c   k   e   d   R   h   s   ]   ;  \r
0013040    l   h   s       _       D   e   m   a   n   d   B   o   o   l
0013060    e   a   n   [   u   n   c   h   e   c   k   e   d   L   h   s
0013100    ]   ;  \r   t   y   p   e       _       G   e   t   I   n   t
0013120    r   i   n   s   i   c   B   o   o   l   e   a   n   T   y   p
0013140    e   [   c   s   ]   ;  \r   I   F       A   n   d   [   S   t
0013160    a   t   i   c   [   l   h   s   ]   ,       S   t   a   t   i
0013200    c   [   r   h   s   ]   ]       T   H   E   N       {   r   e
0013220    s   u   l   t       _       M   a   k   e   S   t   a   t   i
0013240    c   B   o   o   l   e   a   n   [   O   r   [   B   o   o   l
0013260    e   a   n   V   a   l   u   e   [   l   h   s   ]   ,       B
0013300    o   o   l   e   a   n   V   a   l   u   e   [   r   h   s   ]
0013320    ]   ,       t   y   p   e   ]   ;  \r   }       E   L   S   E
0013340        {   r   e   s   u   l   t       _       M   a   k   e   D
0013360    u   m   m   y   [   "   <   c   o   d   e       f   o   r    
0013400    a   n       O   R       e   x   p   r   e   s   s   i   o   n
0013420    >   "   ]   ;  \r   }   ;  \r   t   e   m   p   1       _    
0013440    l   o   c   a   l   C   o   n   t   e   x   t   2   ;  \r   t
0013460    e   m   p   0       _       r   e   s   u   l   t   ;  \r   E
0013500    N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x
0013520    p   a   n   d   P   r   o   d   C   o   m   p   i   l   e   E
0013540    x   p   r   e   s   s   i   o   n   :  \t   P   U   B   L   I
0013560    C       P   R   O   C   [   r   e   f   :       R   E   F    
0013600    A   N   Y   ,       l   o   c   a   l   C   o   n   t   e   x
0013620    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0013640    o   d   e   ,       c   s   :       C   o   m   p   i   l   e
0013660    r   S   t   a   t   e   N   o   d   e   ,       t   a   r   g
0013700    e   t   T   y   p   e   :       T   y   p   e   G   r   a   p
0013720    h   N   o   d   e   N   o   d   e   ]       R   E   T   U   R
0013740    N   S   [   t   e   m   p   0   :       V   a   l   u   e   N
0013760    o   d   e   ,       t   e   m   p   1   :       L   o   c   a
0014000    l   C   o   n   t   e   x   t   N   o   d   e   ]       =  \r
0014020    B   E   G   I   N  \r   t   r   e   e   :  \t   E   x   p   N
0014040    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0014060    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0014100    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0014120    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0014140    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0014160    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0014200    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   E   x   p
0014220    a   n   d   P   r   o   d   D   a   t   a       _       N   A
0014240    R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;
0014260   \r   B   E   G   I   N  \r   r   e   s   u   l   t   :  \t   V
0014300    a   l   u   e   N   o   d   e   ;  \r   t   y   p   e   :  \t
0014320    T   y   p   e   G   r   a   p   h   N   o   d   e   N   o   d
0014340    e   ;  \r   l   h   s   :  \t   V   a   l   u   e   N   o   d
0014360    e   ;  \r   r   h   s   :  \t   V   a   l   u   e   N   o   d
0014400    e   ;  \r   u   n   c   h   e   c   k   e   d   R   h   s   :
0014420   \t   V   a   l   u   e   N   o   d   e   ;  \r   l   o   c   a
0014440    l   C   o   n   t   e   x   t   2   :  \t   L   o   c   a   l
0014460    C   o   n   t   e   x   t   N   o   d   e   ;  \r   u   n   c
0014500    h   e   c   k   e   d   L   h   s   :  \t   V   a   l   u   e
0014520    N   o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e
0014540    x   t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x
0014560    t   N   o   d   e   ;  \r   [   u   n   c   h   e   c   k   e
0014600    d   L   h   s   ,       l   o   c   a   l   C   o   n   t   e
0014620    x   t   1   ]       _       t   r   e   e   D   a   t   a   .
0014640    E   x   p   l   e   f   t   .   p   r   o   c   s   .   C   o
0014660    m   p   i   l   e   E   x   p   r   e   s   s   i   o   n   [
0014700    t   r   e   e   D   a   t   a   .   E   x   p   l   e   f   t
0014720    ,       l   o   c   a   l   C   o   n   t   e   x   t   ,    
0014740    c   s   ,       t   a   r   g   e   t   T   y   p   e   ]   ;
0014760   \r   [   u   n   c   h   e   c   k   e   d   R   h   s   ,    
0015000    l   o   c   a   l   C   o   n   t   e   x   t   2   ]       _
0015020        t   r   e   e   D   a   t   a   .   E   x   p   r   i   g
0015040    h   t   .   p   r   o   c   s   .   C   o   m   p   i   l   e
0015060    E   x   p   r   e   s   s   i   o   n   [   t   r   e   e   D
0015100    a   t   a   .   E   x   p   r   i   g   h   t   ,       l   o
0015120    c   a   l   C   o   n   t   e   x   t   1   ,       c   s   ,
0015140        t   a   r   g   e   t   T   y   p   e   ]   ;  \r   r   h
0015160    s       _       D   e   m   a   n   d   B   o   o   l   e   a
0015200    n   [   u   n   c   h   e   c   k   e   d   R   h   s   ]   ;
0015220   \r   l   h   s       _       D   e   m   a   n   d   B   o   o
0015240    l   e   a   n   [   u   n   c   h   e   c   k   e   d   L   h
0015260    s   ]   ;  \r   t   y   p   e       _       G   e   t   I   n
0015300    t   r   i   n   s   i   c   B   o   o   l   e   a   n   T   y
0015320    p   e   [   c   s   ]   ;  \r   I   F       A   n   d   [   S
0015340    t   a   t   i   c   [   l   h   s   ]   ,       S   t   a   t
0015360    i   c   [   r   h   s   ]   ]       T   H   E   N       {   r
0015400    e   s   u   l   t       _       M   a   k   e   S   t   a   t
0015420    i   c   B   o   o   l   e   a   n   [   A   n   d   [   B   o
0015440    o   l   e   a   n   V   a   l   u   e   [   l   h   s   ]   ,
0015460        B   o   o   l   e   a   n   V   a   l   u   e   [   r   h
0015500    s   ]   ]   ,       t   y   p   e   ]   ;  \r   }       E   L
0015520    S   E       {   r   e   s   u   l   t       _       M   a   k
0015540    e   D   u   m   m   y   [   "   <   c   o   d   e       f   o
0015560    r       a   n       A   N   D       e   x   p   r   e   s   s
0015600    i   o   n   >   "   ]   ;  \r   }   ;  \r   t   e   m   p   1
0015620        _       l   o   c   a   l   C   o   n   t   e   x   t   2
0015640    ;  \r   t   e   m   p   0       _       r   e   s   u   l   t
0015660    ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r
0015700   \r   E   x   p   n   o   t   P   r   o   d   C   o   m   p   i
0015720    l   e   E   x   p   r   e   s   s   i   o   n   :  \t   P   U
0015740    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0015760    E   F       A   N   Y   ,       l   o   c   a   l   C   o   n
0016000    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0016020    x   t   N   o   d   e   ,       c   s   :       C   o   m   p
0016040    i   l   e   r   S   t   a   t   e   N   o   d   e   ,       t
0016060    a   r   g   e   t   T   y   p   e   :       T   y   p   e   G
0016100    r   a   p   h   N   o   d   e   N   o   d   e   ]       R   E
0016120    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0016140    u   e   N   o   d   e   ,       t   e   m   p   1   :       L
0016160    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0016200        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   E
0016220    x   p   N   o   d   e   _       N   A   R   R   O   W   [   r
0016240    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0016260    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0016300    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0016320    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0016340    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0016360    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0016400    E   x   p   n   o   t   P   r   o   d   D   a   t   a       _
0016420        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0016440    a   ]   ;  \r   B   E   G   I   N  \r   r   e   s   u   l   t
0016460    :  \t   V   a   l   u   e   N   o   d   e   ;  \r   t   y   p
0016500    e   :  \t   T   y   p   e   G   r   a   p   h   N   o   d   e
0016520    N   o   d   e   ;  \r   r   h   s   :  \t   V   a   l   u   e
0016540    N   o   d   e   ;  \r   u   n   c   h   e   c   k   e   d   R
0016560    h   s   :  \t   V   a   l   u   e   N   o   d   e   ;  \r   l
0016600    o   c   a   l   C   o   n   t   e   x   t   1   :  \t   L   o
0016620    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;  \r
0016640    [   u   n   c   h   e   c   k   e   d   R   h   s   ,       l
0016660    o   c   a   l   C   o   n   t   e   x   t   1   ]       _    
0016700    t   r   e   e   D   a   t   a   .   E   x   p   .   p   r   o
0016720    c   s   .   C   o   m   p   i   l   e   E   x   p   r   e   s
0016740    s   i   o   n   [   t   r   e   e   D   a   t   a   .   E   x
0016760    p   ,       l   o   c   a   l   C   o   n   t   e   x   t   ,
0017000        c   s   ,       t   a   r   g   e   t   T   y   p   e   ]
0017020    ;  \r   r   h   s       _       D   e   m   a   n   d   B   o
0017040    o   l   e   a   n   [   u   n   c   h   e   c   k   e   d   R
0017060    h   s   ]   ;  \r   t   y   p   e       _       G   e   t   I
0017100    n   t   r   i   n   s   i   c   B   o   o   l   e   a   n   T
0017120    y   p   e   [   c   s   ]   ;  \r   I   F       S   t   a   t
0017140    i   c   [   r   h   s   ]       T   H   E   N       {   r   e
0017160    s   u   l   t       _       M   a   k   e   S   t   a   t   i
0017200    c   B   o   o   l   e   a   n   [   N   o   t   [   B   o   o
0017220    l   e   a   n   V   a   l   u   e   [   r   h   s   ]   ]   ,
0017240        t   y   p   e   ]   ;  \r   }       E   L   S   E       {
0017260    r   e   s   u   l   t       _       M   a   k   e   D   u   m
0017300    m   y   [   "   <   c   o   d   e       f   o   r       a    
0017320    N   O   T       e   x   p   r   e   s   s   i   o   n   >   "
0017340    ]   ;  \r   }   ;  \r   t   e   m   p   1       _       l   o
0017360    c   a   l   C   o   n   t   e   x   t   1   ;  \r   t   e   m
0017400    p   0       _       r   e   s   u   l   t   ;  \r   E   N   D
0017420    ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x   p   r
0017440    e   l   a   t   i   o   n   P   r   o   d   C   o   m   p   i
0017460    l   e   E   x   p   r   e   s   s   i   o   n   :  \t   P   U
0017500    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0017520    E   F       A   N   Y   ,       l   o   c   a   l   C   o   n
0017540    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0017560    x   t   N   o   d   e   ,       c   s   :       C   o   m   p
0017600    i   l   e   r   S   t   a   t   e   N   o   d   e   ,       t
0017620    a   r   g   e   t   T   y   p   e   :       T   y   p   e   G
0017640    r   a   p   h   N   o   d   e   N   o   d   e   ]       R   E
0017660    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0017700    u   e   N   o   d   e   ,       t   e   m   p   1   :       L
0017720    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0017740        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   E
0017760    x   p   N   o   d   e   _       N   A   R   R   O   W   [   r
0020000    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0020020    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0020040    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0020060    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0020100    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0020120    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0020140    E   x   p   r   e   l   a   t   i   o   n   P   r   o   d   D
0020160    a   t   a       _       N   A   R   R   O   W   [   t   r   e
0020200    e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   r
0020220    e   s   u   l   t   :  \t   V   a   l   u   e   N   o   d   e
0020240    ;  \r   l   o   c   a   l   C   o   n   t   e   x   t   1   :
0020260   \t   L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0020300    e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t   1
0020320        _       F   a   k   e   D   a   m   a   g   e   C   o   n
0020340    t   e   x   t   [   l   o   c   a   l   C   o   n   t   e   x
0020360    t   ]   ;  \r   r   e   s   u   l   t       _       M   a   k
0020400    e   D   u   m   m   y   [   "   r   e   l   a   t   i   o   n
0020420    "   ]   ;  \r   t   e   m   p   1       _       l   o   c   a
0020440    l   C   o   n   t   e   x   t   1   ;  \r   t   e   m   p   0
0020460        _       r   e   s   u   l   t   ;  \r   E   N   D   ;  \r
0020500    E   N   D  \r   E   N   D   ;  \r  \r   E   x   p   i   f   t
0020520    h   e   n   e   l   s   e   P   r   o   d   C   o   m   p   i
0020540    l   e   E   x   p   r   e   s   s   i   o   n   :  \t   P   U
0020560    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0020600    E   F       A   N   Y   ,       l   o   c   a   l   C   o   n
0020620    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0020640    x   t   N   o   d   e   ,       c   s   :       C   o   m   p
0020660    i   l   e   r   S   t   a   t   e   N   o   d   e   ,       t
0020700    a   r   g   e   t   T   y   p   e   :       T   y   p   e   G
0020720    r   a   p   h   N   o   d   e   N   o   d   e   ]       R   E
0020740    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0020760    u   e   N   o   d   e   ,       t   e   m   p   1   :       L
0021000    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0021020        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   E
0021040    x   p   N   o   d   e   _       N   A   R   R   O   W   [   r
0021060    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0021100    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0021120    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0021140    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0021160    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0021200    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0021220    E   x   p   i   f   t   h   e   n   e   l   s   e   P   r   o
0021240    d   D   a   t   a       _       N   A   R   R   O   W   [   t
0021260    r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N
0021300   \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N   o
0021320    d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t
0021340    1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N
0021360    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0021400    t   1       _       F   a   k   e   D   a   m   a   g   e   C
0021420    o   n   t   e   x   t   [   l   o   c   a   l   C   o   n   t
0021440    e   x   t   ]   ;  \r   r   e   s   u   l   t       _       M
0021460    a   k   e   D   u   m   m   y   [   "   i   f   t   h   e   n
0021500    e   l   s   e   "   ]   ;  \r   t   e   m   p   1       _    
0021520    l   o   c   a   l   C   o   n   t   e   x   t   1   ;  \r   t
0021540    e   m   p   0       _       r   e   s   u   l   t   ;  \r   E
0021560    N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x
0021600    p   s   e   l   e   c   t   P   r   o   d   C   o   m   p   i
0021620    l   e   E   x   p   r   e   s   s   i   o   n   :  \t   P   U
0021640    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0021660    E   F       A   N   Y   ,       l   o   c   a   l   C   o   n
0021700    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0021720    x   t   N   o   d   e   ,       c   s   :       C   o   m   p
0021740    i   l   e   r   S   t   a   t   e   N   o   d   e   ,       t
0021760    a   r   g   e   t   T   y   p   e   :       T   y   p   e   G
0022000    r   a   p   h   N   o   d   e   N   o   d   e   ]       R   E
0022020    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0022040    u   e   N   o   d   e   ,       t   e   m   p   1   :       L
0022060    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0022100        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   E
0022120    x   p   N   o   d   e   _       N   A   R   R   O   W   [   r
0022140    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0022160    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0022200    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0022220    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0022240    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0022260    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0022300    E   x   p   s   e   l   e   c   t   P   r   o   d   D   a   t
0022320    a       _       N   A   R   R   O   W   [   t   r   e   e   .
0022340    d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   r   e   s
0022360    u   l   t   :  \t   V   a   l   u   e   N   o   d   e   ;  \r
0022400    l   o   c   a   l   C   o   n   t   e   x   t   1   :  \t   L
0022420    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;
0022440   \r   l   o   c   a   l   C   o   n   t   e   x   t   1       _
0022460        F   a   k   e   D   a   m   a   g   e   C   o   n   t   e
0022500    x   t   [   l   o   c   a   l   C   o   n   t   e   x   t   ]
0022520    ;  \r   r   e   s   u   l   t       _       M   a   k   e   D
0022540    u   m   m   y   [   "   s   e   l   e   c   t   "   ]   ;  \r
0022560    t   e   m   p   1       _       l   o   c   a   l   C   o   n
0022600    t   e   x   t   1   ;  \r   t   e   m   p   0       _       r
0022620    e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r
0022640    E   N   D   ;  \r  \r   E   x   p   a   s   s   i   g   n   P
0022660    r   o   d   C   o   m   p   i   l   e   E   x   p   r   e   s
0022700    s   i   o   n   :  \t   P   U   B   L   I   C       P   R   O
0022720    C   [   r   e   f   :       R   E   F       A   N   Y   ,    
0022740    l   o   c   a   l   C   o   n   t   e   x   t   :       L   o
0022760    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,    
0023000    c   s   :       C   o   m   p   i   l   e   r   S   t   a   t
0023020    e   N   o   d   e   ,       t   a   r   g   e   t   T   y   p
0023040    e   :       T   y   p   e   G   r   a   p   h   N   o   d   e
0023060    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0023100    m   p   0   :       V   a   l   u   e   N   o   d   e   ,    
0023120    t   e   m   p   1   :       L   o   c   a   l   C   o   n   t
0023140    e   x   t   N   o   d   e   ]       =  \r   B   E   G   I   N
0023160   \r   t   r   e   e   :  \t   E   x   p   N   o   d   e   _    
0023200    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0023220    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0023240    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0023260    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0023300    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0023320    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r
0023340    e   e   D   a   t   a   :  \t   E   x   p   a   s   s   i   g
0023360    n   P   r   o   d   D   a   t   a       _       N   A   R   R
0023400    O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B
0023420    E   G   I   N  \r   r   e   s   u   l   t   :  \t   V   a   l
0023440    u   e   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n
0023460    t   e   x   t   1   :  \t   L   o   c   a   l   C   o   n   t
0023500    e   x   t   N   o   d   e   ;  \r   l   o   c   a   l   C   o
0023520    n   t   e   x   t   1       _       F   a   k   e   D   a   m
0023540    a   g   e   C   o   n   t   e   x   t   [   l   o   c   a   l
0023560    C   o   n   t   e   x   t   ]   ;  \r   r   e   s   u   l   t
0023600        _       M   a   k   e   D   u   m   m   y   [   "   a   s
0023620    s   i   g   n   "   ]   ;  \r   t   e   m   p   1       _    
0023640    l   o   c   a   l   C   o   n   t   e   x   t   1   ;  \r   t
0023660    e   m   p   0       _       r   e   s   u   l   t   ;  \r   E
0023700    N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x
0023720    p   m   u   l   t   i   a   s   s   i   g   n   P   r   o   d
0023740    C   o   m   p   i   l   e   E   x   p   r   e   s   s   i   o
0023760    n   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0024000    e   f   :       R   E   F       A   N   Y   ,       l   o   c
0024020    a   l   C   o   n   t   e   x   t   :       L   o   c   a   l
0024040    C   o   n   t   e   x   t   N   o   d   e   ,       c   s   :
0024060        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0024100    d   e   ,       t   a   r   g   e   t   T   y   p   e   :    
0024120    T   y   p   e   G   r   a   p   h   N   o   d   e   N   o   d
0024140    e   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0024160    :       V   a   l   u   e   N   o   d   e   ,       t   e   m
0024200    p   1   :       L   o   c   a   l   C   o   n   t   e   x   t
0024220    N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r
0024240    e   e   :  \t   E   x   p   N   o   d   e   _       N   A   R
0024260    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0024300    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0024320    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0024340    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0024360    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0024400    e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D
0024420    a   t   a   :  \t   E   x   p   m   u   l   t   i   a   s   s
0024440    i   g   n   P   r   o   d   D   a   t   a       _       N   A
0024460    R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;
0024500   \r   B   E   G   I   N  \r   r   e   s   u   l   t   :  \t   V
0024520    a   l   u   e   N   o   d   e   ;  \r   l   o   c   a   l   C
0024540    o   n   t   e   x   t   1   :  \t   L   o   c   a   l   C   o
0024560    n   t   e   x   t   N   o   d   e   ;  \r   l   o   c   a   l
0024600    C   o   n   t   e   x   t   1       _       F   a   k   e   D
0024620    a   m   a   g   e   C   o   n   t   e   x   t   [   l   o   c
0024640    a   l   C   o   n   t   e   x   t   ]   ;  \r   r   e   s   u
0024660    l   t       _       M   a   k   e   D   u   m   m   y   [   "
0024700    m   u   l   t   i   a   s   s   i   g   n   "   ]   ;  \r   t
0024720    e   m   p   1       _       l   o   c   a   l   C   o   n   t
0024740    e   x   t   1   ;  \r   t   e   m   p   0       _       r   e
0024760    s   u   l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r   E
0025000    N   D   ;  \r  \r   E   x   p   i   d   P   r   o   d   C   o
0025020    m   p   i   l   e   E   x   p   r   e   s   s   i   o   n   :
0025040   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0025060    :       R   E   F       A   N   Y   ,       l   o   c   a   l
0025100    C   o   n   t   e   x   t   :       L   o   c   a   l   C   o
0025120    n   t   e   x   t   N   o   d   e   ,       c   s   :       C
0025140    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0025160    ,       t   a   r   g   e   t   T   y   p   e   :       T   y
0025200    p   e   G   r   a   p   h   N   o   d   e   N   o   d   e   ]
0025220        R   E   T   U   R   N   S   [   t   e   m   p   0   :    
0025240    V   a   l   u   e   N   o   d   e   ,       t   e   m   p   1
0025260    :       L   o   c   a   l   C   o   n   t   e   x   t   N   o
0025300    d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0025320    :  \t   E   x   p   N   o   d   e   _       N   A   R   R   O
0025340    W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N
0025360    A   B   L   E       T   h   r   e   e   C   4   S   u   p   p
0025400    o   r   t   .   G   e   t   S   o   u   r   c   e   I   n   f
0025420    o       =   >       R   E   S   U   M   E   [   t   r   e   e
0025440    .   p   o   s   i   t   i   o   n   ,       t   r   e   e   .
0025460    l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t
0025500    a   :  \t   E   x   p   i   d   P   r   o   d   D   a   t   a
0025520        _       N   A   R   R   O   W   [   t   r   e   e   .   d
0025540    a   t   a   ]   ;  \r   B   E   G   I   N  \r   l   o   c   a
0025560    l   C   o   n   t   e   x   t   1   :  \t   L   o   c   a   l
0025600    C   o   n   t   e   x   t   N   o   d   e   ;  \r   r   e   s
0025620    u   l   t   :  \t   V   a   l   u   e   N   o   d   e   ;  \r
0025640    r   e   s   u   l   t       _       L   o   o   k   u   p   V
0025660    a   r   i   a   b   l   e   O   r   C   o   n   s   t   a   n
0025700    t   N   a   m   e   [   l   o   c   a   l   C   o   n   t   e
0025720    x   t   ,       t   r   e   e   D   a   t   a   .   I   d   ]
0025740    ;  \r   l   o   c   a   l   C   o   n   t   e   x   t   1    
0025760    _       F   a   k   e   D   a   m   a   g   e   C   o   n   t
0026000    e   x   t   [   l   o   c   a   l   C   o   n   t   e   x   t
0026020    ]   ;  \r   t   e   m   p   1       _       l   o   c   a   l
0026040    C   o   n   t   e   x   t   1   ;  \r   t   e   m   p   0    
0026060    _       r   e   s   u   l   t   ;  \r   E   N   D   ;  \r   E
0026100    N   D  \r   E   N   D   ;  \r  \r   E   x   p   n   u   m   P
0026120    r   o   d   C   o   m   p   i   l   e   E   x   p   r   e   s
0026140    s   i   o   n   :  \t   P   U   B   L   I   C       P   R   O
0026160    C   [   r   e   f   :       R   E   F       A   N   Y   ,    
0026200    l   o   c   a   l   C   o   n   t   e   x   t   :       L   o
0026220    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,    
0026240    c   s   :       C   o   m   p   i   l   e   r   S   t   a   t
0026260    e   N   o   d   e   ,       t   a   r   g   e   t   T   y   p
0026300    e   :       T   y   p   e   G   r   a   p   h   N   o   d   e
0026320    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0026340    m   p   0   :       V   a   l   u   e   N   o   d   e   ,    
0026360    t   e   m   p   1   :       L   o   c   a   l   C   o   n   t
0026400    e   x   t   N   o   d   e   ]       =  \r   B   E   G   I   N
0026420   \r   t   r   e   e   :  \t   E   x   p   N   o   d   e   _    
0026440    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0026460    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0026500    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0026520    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0026540    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0026560    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r
0026600    e   e   D   a   t   a   :  \t   E   x   p   n   u   m   P   r
0026620    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0026640    t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I
0026660    N  \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N
0026700    o   d   e   ;  \r   i   n   t   e   g   e   r   V   a   l   u
0026720    e   :  \t   B   i   g   I   N   T   ;  \r   l   o   c   a   l
0026740    C   o   n   t   e   x   t   1   :  \t   L   o   c   a   l   C
0026760    o   n   t   e   x   t   N   o   d   e   ;  \r   l   o   c   a
0027000    l   C   o   n   t   e   x   t   1       _       F   a   k   e
0027020    D   a   m   a   g   e   C   o   n   t   e   x   t   [   l   o
0027040    c   a   l   C   o   n   t   e   x   t   ]   ;  \r   i   n   t
0027060    e   g   e   r   V   a   l   u   e       _       t   r   e   e
0027100    D   a   t   a   .   N   u   m   .   p   r   o   c   s   .   I
0027120    n   t   e   g   e   r   V   a   l   u   e   F   r   o   m   L
0027140    i   t   e   r   a   l   [   t   r   e   e   D   a   t   a   .
0027160    N   u   m   ]   ;  \r   r   e   s   u   l   t       _       C
0027200    a   s   t   I   n   t   e   g   e   r   V   a   l   u   e   [
0027220    i   n   t   e   g   e   r   V   a   l   u   e   ,       G   e
0027240    t   I   n   t   r   i   n   s   i   c   I   n   t   e   g   e
0027260    r   T   y   p   e   s   [   c   s   ]   ]   ;  \r   t   e   m
0027300    p   1       _       l   o   c   a   l   C   o   n   t   e   x
0027320    t   1   ;  \r   t   e   m   p   0       _       r   e   s   u
0027340    l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D
0027360    ;  \r  \r   E   x   p   s   t   r   i   n   g   P   r   o   d
0027400    C   o   m   p   i   l   e   E   x   p   r   e   s   s   i   o
0027420    n   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0027440    e   f   :       R   E   F       A   N   Y   ,       l   o   c
0027460    a   l   C   o   n   t   e   x   t   :       L   o   c   a   l
0027500    C   o   n   t   e   x   t   N   o   d   e   ,       c   s   :
0027520        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0027540    d   e   ,       t   a   r   g   e   t   T   y   p   e   :    
0027560    T   y   p   e   G   r   a   p   h   N   o   d   e   N   o   d
0027600    e   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0027620    :       V   a   l   u   e   N   o   d   e   ,       t   e   m
0027640    p   1   :       L   o   c   a   l   C   o   n   t   e   x   t
0027660    N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r
0027700    e   e   :  \t   E   x   p   N   o   d   e   _       N   A   R
0027720    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0027740    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0027760    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0030000    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0030020    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0030040    e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D
0030060    a   t   a   :  \t   E   x   p   s   t   r   i   n   g   P   r
0030100    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0030120    t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I
0030140    N  \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N
0030160    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0030200    t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t
0030220    N   o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e
0030240    x   t   1       _       F   a   k   e   D   a   m   a   g   e
0030260    C   o   n   t   e   x   t   [   l   o   c   a   l   C   o   n
0030300    t   e   x   t   ]   ;  \r   r   e   s   u   l   t       _    
0030320    M   a   k   e   D   u   m   m   y   [   "   s   t   r   i   n
0030340    g   "   ]   ;  \r   t   e   m   p   1       _       l   o   c
0030360    a   l   C   o   n   t   e   x   t   1   ;  \r   t   e   m   p
0030400    0       _       r   e   s   u   l   t   ;  \r   E   N   D   ;
0030420   \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x   p   f   l
0030440    n   u   m   P   r   o   d   C   o   m   p   i   l   e   E   x
0030460    p   r   e   s   s   i   o   n   :  \t   P   U   B   L   I   C
0030500        P   R   O   C   [   r   e   f   :       R   E   F       A
0030520    N   Y   ,       l   o   c   a   l   C   o   n   t   e   x   t
0030540    :       L   o   c   a   l   C   o   n   t   e   x   t   N   o
0030560    d   e   ,       c   s   :       C   o   m   p   i   l   e   r
0030600    S   t   a   t   e   N   o   d   e   ,       t   a   r   g   e
0030620    t   T   y   p   e   :       T   y   p   e   G   r   a   p   h
0030640    N   o   d   e   N   o   d   e   ]       R   E   T   U   R   N
0030660    S   [   t   e   m   p   0   :       V   a   l   u   e   N   o
0030700    d   e   ,       t   e   m   p   1   :       L   o   c   a   l
0030720    C   o   n   t   e   x   t   N   o   d   e   ]       =  \r   B
0030740    E   G   I   N  \r   t   r   e   e   :  \t   E   x   p   N   o
0030760    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0031000   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0031020    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0031040    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0031060    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0031100    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0031120    ;  \r   t   r   e   e   D   a   t   a   :  \t   E   x   p   f
0031140    l   n   u   m   P   r   o   d   D   a   t   a       _       N
0031160    A   R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]
0031200    ;  \r   B   E   G   I   N  \r   r   e   s   u   l   t   :  \t
0031220    V   a   l   u   e   N   o   d   e   ;  \r   l   o   c   a   l
0031240    C   o   n   t   e   x   t   1   :  \t   L   o   c   a   l   C
0031260    o   n   t   e   x   t   N   o   d   e   ;  \r   l   o   c   a
0031300    l   C   o   n   t   e   x   t   1       _       F   a   k   e
0031320    D   a   m   a   g   e   C   o   n   t   e   x   t   [   l   o
0031340    c   a   l   C   o   n   t   e   x   t   ]   ;  \r   r   e   s
0031360    u   l   t       _       M   a   k   e   D   u   m   m   y   [
0031400    "   f   l   n   u   m   "   ]   ;  \r   t   e   m   p   1    
0031420    _       l   o   c   a   l   C   o   n   t   e   x   t   1   ;
0031440   \r   t   e   m   p   0       _       r   e   s   u   l   t   ;
0031460   \r   E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r
0031500    E   x   p   c   h   a   r   P   r   o   d   C   o   m   p   i
0031520    l   e   E   x   p   r   e   s   s   i   o   n   :  \t   P   U
0031540    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0031560    E   F       A   N   Y   ,       l   o   c   a   l   C   o   n
0031600    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0031620    x   t   N   o   d   e   ,       c   s   :       C   o   m   p
0031640    i   l   e   r   S   t   a   t   e   N   o   d   e   ,       t
0031660    a   r   g   e   t   T   y   p   e   :       T   y   p   e   G
0031700    r   a   p   h   N   o   d   e   N   o   d   e   ]       R   E
0031720    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0031740    u   e   N   o   d   e   ,       t   e   m   p   1   :       L
0031760    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0032000        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   E
0032020    x   p   N   o   d   e   _       N   A   R   R   O   W   [   r
0032040    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0032060    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0032100    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0032120    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0032140    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0032160    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0032200    E   x   p   c   h   a   r   P   r   o   d   D   a   t   a    
0032220    _       N   A   R   R   O   W   [   t   r   e   e   .   d   a
0032240    t   a   ]   ;  \r   B   E   G   I   N  \r   r   e   s   u   l
0032260    t   :  \t   V   a   l   u   e   N   o   d   e   ;  \r   l   o
0032300    c   a   l   C   o   n   t   e   x   t   1   :  \t   L   o   c
0032320    a   l   C   o   n   t   e   x   t   N   o   d   e   ;  \r   l
0032340    o   c   a   l   C   o   n   t   e   x   t   1       _       F
0032360    a   k   e   D   a   m   a   g   e   C   o   n   t   e   x   t
0032400    [   l   o   c   a   l   C   o   n   t   e   x   t   ]   ;  \r
0032420    r   e   s   u   l   t       _       M   a   k   e   D   u   m
0032440    m   y   [   "   c   h   a   r   "   ]   ;  \r   t   e   m   p
0032460    1       _       l   o   c   a   l   C   o   n   t   e   x   t
0032500    1   ;  \r   t   e   m   p   0       _       r   e   s   u   l
0032520    t   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D   ;
0032540   \r  \r   E   x   p   a   t   o   m   P   r   o   d   C   o   m
0032560    p   i   l   e   E   x   p   r   e   s   s   i   o   n   :  \t
0032600    P   U   B   L   I   C       P   R   O   C   [   r   e   f   :
0032620        R   E   F       A   N   Y   ,       l   o   c   a   l   C
0032640    o   n   t   e   x   t   :       L   o   c   a   l   C   o   n
0032660    t   e   x   t   N   o   d   e   ,       c   s   :       C   o
0032700    m   p   i   l   e   r   S   t   a   t   e   N   o   d   e   ,
0032720        t   a   r   g   e   t   T   y   p   e   :       T   y   p
0032740    e   G   r   a   p   h   N   o   d   e   N   o   d   e   ]    
0032760    R   E   T   U   R   N   S   [   t   e   m   p   0   :       V
0033000    a   l   u   e   N   o   d   e   ,       t   e   m   p   1   :
0033020        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0033040    e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :
0033060   \t   E   x   p   N   o   d   e   _       N   A   R   R   O   W
0033100    [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A
0033120    B   L   E       T   h   r   e   e   C   4   S   u   p   p   o
0033140    r   t   .   G   e   t   S   o   u   r   c   e   I   n   f   o
0033160        =   >       R   E   S   U   M   E   [   t   r   e   e   .
0033200    p   o   s   i   t   i   o   n   ,       t   r   e   e   .   l
0033220    e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a
0033240    :  \t   E   x   p   a   t   o   m   P   r   o   d   D   a   t
0033260    a       _       N   A   R   R   O   W   [   t   r   e   e   .
0033300    d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   r   e   s
0033320    u   l   t   :  \t   V   a   l   u   e   N   o   d   e   ;  \r
0033340    l   o   c   a   l   C   o   n   t   e   x   t   1   :  \t   L
0033360    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;
0033400   \r   l   o   c   a   l   C   o   n   t   e   x   t   1       _
0033420        F   a   k   e   D   a   m   a   g   e   C   o   n   t   e
0033440    x   t   [   l   o   c   a   l   C   o   n   t   e   x   t   ]
0033460    ;  \r   r   e   s   u   l   t       _       M   a   k   e   D
0033500    u   m   m   y   [   "   a   t   o   m   "   ]   ;  \r   t   e
0033520    m   p   1       _       l   o   c   a   l   C   o   n   t   e
0033540    x   t   1   ;  \r   t   e   m   p   0       _       r   e   s
0033560    u   l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N
0033600    D   ;  \r  \r   E   x   p   n   a   r   r   o   w   P   r   o
0033620    d   C   o   m   p   i   l   e   E   x   p   r   e   s   s   i
0033640    o   n   :  \t   P   U   B   L   I   C       P   R   O   C   [
0033660    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0033700    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0033720    l   C   o   n   t   e   x   t   N   o   d   e   ,       c   s
0033740    :       C   o   m   p   i   l   e   r   S   t   a   t   e   N
0033760    o   d   e   ,       t   a   r   g   e   t   T   y   p   e   :
0034000        T   y   p   e   G   r   a   p   h   N   o   d   e   N   o
0034020    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0034040    0   :       V   a   l   u   e   N   o   d   e   ,       t   e
0034060    m   p   1   :       L   o   c   a   l   C   o   n   t   e   x
0034100    t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0034120    r   e   e   :  \t   E   x   p   N   o   d   e   _       N   A
0034140    R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N
0034160   \r   E   N   A   B   L   E       T   h   r   e   e   C   4   S
0034200    u   p   p   o   r   t   .   G   e   t   S   o   u   r   c   e
0034220    I   n   f   o       =   >       R   E   S   U   M   E   [   t
0034240    r   e   e   .   p   o   s   i   t   i   o   n   ,       t   r
0034260    e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e
0034300    D   a   t   a   :  \t   E   x   p   n   a   r   r   o   w   P
0034320    r   o   d   D   a   t   a       _       N   A   R   R   O   W
0034340    [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G
0034360    I   N  \r   r   e   s   u   l   t   :  \t   V   a   l   u   e
0034400    N   o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e
0034420    x   t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x
0034440    t   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n   t
0034460    e   x   t   1       _       F   a   k   e   D   a   m   a   g
0034500    e   C   o   n   t   e   x   t   [   l   o   c   a   l   C   o
0034520    n   t   e   x   t   ]   ;  \r   r   e   s   u   l   t       _
0034540        M   a   k   e   D   u   m   m   y   [   "   n   a   r   r
0034560    o   w   "   ]   ;  \r   t   e   m   p   1       _       l   o
0034600    c   a   l   C   o   n   t   e   x   t   1   ;  \r   t   e   m
0034620    p   0       _       r   e   s   u   l   t   ;  \r   E   N   D
0034640    ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x   p   l
0034660    o   o   p   h   o   l   e   P   r   o   d   C   o   m   p   i
0034700    l   e   E   x   p   r   e   s   s   i   o   n   :  \t   P   U
0034720    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0034740    E   F       A   N   Y   ,       l   o   c   a   l   C   o   n
0034760    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0035000    x   t   N   o   d   e   ,       c   s   :       C   o   m   p
0035020    i   l   e   r   S   t   a   t   e   N   o   d   e   ,       t
0035040    a   r   g   e   t   T   y   p   e   :       T   y   p   e   G
0035060    r   a   p   h   N   o   d   e   N   o   d   e   ]       R   E
0035100    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0035120    u   e   N   o   d   e   ,       t   e   m   p   1   :       L
0035140    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0035160        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   E
0035200    x   p   N   o   d   e   _       N   A   R   R   O   W   [   r
0035220    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0035240    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0035260    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0035300    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0035320    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0035340    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0035360    E   x   p   l   o   o   p   h   o   l   e   P   r   o   d   D
0035400    a   t   a       _       N   A   R   R   O   W   [   t   r   e
0035420    e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   r
0035440    e   s   u   l   t   :  \t   V   a   l   u   e   N   o   d   e
0035460    ;  \r   l   o   c   a   l   C   o   n   t   e   x   t   1   :
0035500   \t   L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0035520    e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t   1
0035540        _       F   a   k   e   D   a   m   a   g   e   C   o   n
0035560    t   e   x   t   [   l   o   c   a   l   C   o   n   t   e   x
0035600    t   ]   ;  \r   r   e   s   u   l   t       _       M   a   k
0035620    e   D   u   m   m   y   [   "   l   o   o   p   h   o   l   e
0035640    "   ]   ;  \r   t   e   m   p   1       _       l   o   c   a
0035660    l   C   o   n   t   e   x   t   1   ;  \r   t   e   m   p   0
0035700        _       r   e   s   u   l   t   ;  \r   E   N   D   ;  \r
0035720    E   N   D  \r   E   N   D   ;  \r  \r   E   x   p   a   p   p
0035740    l   y   P   r   o   d   C   o   m   p   i   l   e   E   x   p
0035760    r   e   s   s   i   o   n   :  \t   P   U   B   L   I   C    
0036000    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0036020    Y   ,       l   o   c   a   l   C   o   n   t   e   x   t   :
0036040        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0036060    e   ,       c   s   :       C   o   m   p   i   l   e   r   S
0036100    t   a   t   e   N   o   d   e   ,       t   a   r   g   e   t
0036120    T   y   p   e   :       T   y   p   e   G   r   a   p   h   N
0036140    o   d   e   N   o   d   e   ]       R   E   T   U   R   N   S
0036160    [   t   e   m   p   0   :       V   a   l   u   e   N   o   d
0036200    e   ,       t   e   m   p   1   :       L   o   c   a   l   C
0036220    o   n   t   e   x   t   N   o   d   e   ]       =  \r   B   E
0036240    G   I   N  \r   t   r   e   e   :  \t   E   x   p   N   o   d
0036260    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0036300    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0036320    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0036340    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0036360    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0036400    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0036420   \r   t   r   e   e   D   a   t   a   :  \t   E   x   p   a   p
0036440    p   l   y   P   r   o   d   D   a   t   a       _       N   A
0036460    R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;
0036500   \r   B   E   G   I   N  \r   r   e   s   u   l   t   :  \t   V
0036520    a   l   u   e   N   o   d   e   ;  \r   l   o   c   a   l   C
0036540    o   n   t   e   x   t   1   :  \t   L   o   c   a   l   C   o
0036560    n   t   e   x   t   N   o   d   e   ;  \r   l   o   c   a   l
0036600    C   o   n   t   e   x   t   1       _       F   a   k   e   D
0036620    a   m   a   g   e   C   o   n   t   e   x   t   [   l   o   c
0036640    a   l   C   o   n   t   e   x   t   ]   ;  \r   r   e   s   u
0036660    l   t       _       M   a   k   e   D   u   m   m   y   [   "
0036700    a   p   p   l   y   "   ]   ;  \r   t   e   m   p   1       _
0036720        l   o   c   a   l   C   o   n   t   e   x   t   1   ;  \r
0036740    t   e   m   p   0       _       r   e   s   u   l   t   ;  \r
0036760    E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E
0037000    x   p   q   u   a   l   i   f   i   e   r   P   r   o   d   C
0037020    o   m   p   i   l   e   E   x   p   r   e   s   s   i   o   n
0037040    :  \t   P   U   B   L   I   C       P   R   O   C   [   r   e
0037060    f   :       R   E   F       A   N   Y   ,       l   o   c   a
0037100    l   C   o   n   t   e   x   t   :       L   o   c   a   l   C
0037120    o   n   t   e   x   t   N   o   d   e   ,       c   s   :    
0037140    C   o   m   p   i   l   e   r   S   t   a   t   e   N   o   d
0037160    e   ,       t   a   r   g   e   t   T   y   p   e   :       T
0037200    y   p   e   G   r   a   p   h   N   o   d   e   N   o   d   e
0037220    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0037240        V   a   l   u   e   N   o   d   e   ,       t   e   m   p
0037260    1   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0037300    o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e
0037320    e   :  \t   E   x   p   N   o   d   e   _       N   A   R   R
0037340    O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E
0037360    N   A   B   L   E       T   h   r   e   e   C   4   S   u   p
0037400    p   o   r   t   .   G   e   t   S   o   u   r   c   e   I   n
0037420    f   o       =   >       R   E   S   U   M   E   [   t   r   e
0037440    e   .   p   o   s   i   t   i   o   n   ,       t   r   e   e
0037460    .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a
0037500    t   a   :  \t   E   x   p   q   u   a   l   i   f   i   e   r
0037520    P   r   o   d   D   a   t   a       _       N   A   R   R   O
0037540    W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E
0037560    G   I   N  \r   r   e   s   u   l   t   :  \t   V   a   l   u
0037600    e   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n   t
0037620    e   x   t   1   :  \t   L   o   c   a   l   C   o   n   t   e
0037640    x   t   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n
0037660    t   e   x   t   1       _       F   a   k   e   D   a   m   a
0037700    g   e   C   o   n   t   e   x   t   [   l   o   c   a   l   C
0037720    o   n   t   e   x   t   ]   ;  \r   r   e   s   u   l   t    
0037740    _       M   a   k   e   D   u   m   m   y   [   "   q   u   a
0037760    l   i   f   i   e   r   "   ]   ;  \r   t   e   m   p   1    
0040000    _       l   o   c   a   l   C   o   n   t   e   x   t   1   ;
0040020   \r   t   e   m   p   0       _       r   e   s   u   l   t   ;
0040040   \r   E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r
0040060    E   x   p   e   x   p   l   i   s   t   P   r   o   d   C   o
0040100    m   p   i   l   e   E   x   p   r   e   s   s   i   o   n   :
0040120   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0040140    :       R   E   F       A   N   Y   ,       l   o   c   a   l
0040160    C   o   n   t   e   x   t   :       L   o   c   a   l   C   o
0040200    n   t   e   x   t   N   o   d   e   ,       c   s   :       C
0040220    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0040240    ,       t   a   r   g   e   t   T   y   p   e   :       T   y
0040260    p   e   G   r   a   p   h   N   o   d   e   N   o   d   e   ]
0040300        R   E   T   U   R   N   S   [   t   e   m   p   0   :    
0040320    V   a   l   u   e   N   o   d   e   ,       t   e   m   p   1
0040340    :       L   o   c   a   l   C   o   n   t   e   x   t   N   o
0040360    d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0040400    :  \t   E   x   p   N   o   d   e   _       N   A   R   R   O
0040420    W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N
0040440    A   B   L   E       T   h   r   e   e   C   4   S   u   p   p
0040460    o   r   t   .   G   e   t   S   o   u   r   c   e   I   n   f
0040500    o       =   >       R   E   S   U   M   E   [   t   r   e   e
0040520    .   p   o   s   i   t   i   o   n   ,       t   r   e   e   .
0040540    l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t
0040560    a   :  \t   E   x   p   e   x   p   l   i   s   t   P   r   o
0040600    d   D   a   t   a       _       N   A   R   R   O   W   [   t
0040620    r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N
0040640   \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N   o
0040660    d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t
0040700    1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N
0040720    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0040740    t   1       _       F   a   k   e   D   a   m   a   g   e   C
0040760    o   n   t   e   x   t   [   l   o   c   a   l   C   o   n   t
0041000    e   x   t   ]   ;  \r   r   e   s   u   l   t       _       M
0041020    a   k   e   D   u   m   m   y   [   "   e   x   p   l   i   s
0041040    t   "   ]   ;  \r   t   e   m   p   1       _       l   o   c
0041060    a   l   C   o   n   t   e   x   t   1   ;  \r   t   e   m   p
0041100    0       _       r   e   s   u   l   t   ;  \r   E   N   D   ;
0041120   \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x   p   p   r
0041140    e   f   i   x   o   p   P   r   o   d   C   o   m   p   i   l
0041160    e   E   x   p   r   e   s   s   i   o   n   :  \t   P   U   B
0041200    L   I   C       P   R   O   C   [   r   e   f   :       R   E
0041220    F       A   N   Y   ,       l   o   c   a   l   C   o   n   t
0041240    e   x   t   :       L   o   c   a   l   C   o   n   t   e   x
0041260    t   N   o   d   e   ,       c   s   :       C   o   m   p   i
0041300    l   e   r   S   t   a   t   e   N   o   d   e   ,       t   a
0041320    r   g   e   t   T   y   p   e   :       T   y   p   e   G   r
0041340    a   p   h   N   o   d   e   N   o   d   e   ]       R   E   T
0041360    U   R   N   S   [   t   e   m   p   0   :       V   a   l   u
0041400    e   N   o   d   e   ,       t   e   m   p   1   :       L   o
0041420    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]    
0041440    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   E   x
0041460    p   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0041500    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0041520        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0041540    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0041560        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0041600    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0041620    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   E
0041640    x   p   p   r   e   f   i   x   o   p   P   r   o   d   D   a
0041660    t   a       _       N   A   R   R   O   W   [   t   r   e   e
0041700    .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   r   e
0041720    s   u   l   t   :  \t   V   a   l   u   e   N   o   d   e   ;
0041740   \r   l   o   c   a   l   C   o   n   t   e   x   t   1   :  \t
0041760    L   o   c   a   l   C   o   n   t   e   x   t   N   o   d   e
0042000    ;  \r   l   o   c   a   l   C   o   n   t   e   x   t   1    
0042020    _       F   a   k   e   D   a   m   a   g   e   C   o   n   t
0042040    e   x   t   [   l   o   c   a   l   C   o   n   t   e   x   t
0042060    ]   ;  \r   r   e   s   u   l   t       _       M   a   k   e
0042100    D   u   m   m   y   [   "   p   r   e   f   i   x   o   p   "
0042120    ]   ;  \r   t   e   m   p   1       _       l   o   c   a   l
0042140    C   o   n   t   e   x   t   1   ;  \r   t   e   m   p   0    
0042160    _       r   e   s   u   l   t   ;  \r   E   N   D   ;  \r   E
0042200    N   D  \r   E   N   D   ;  \r  \r   E   x   p   v   a   l   P
0042220    r   o   d   C   o   m   p   i   l   e   E   x   p   r   e   s
0042240    s   i   o   n   :  \t   P   U   B   L   I   C       P   R   O
0042260    C   [   r   e   f   :       R   E   F       A   N   Y   ,    
0042300    l   o   c   a   l   C   o   n   t   e   x   t   :       L   o
0042320    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,    
0042340    c   s   :       C   o   m   p   i   l   e   r   S   t   a   t
0042360    e   N   o   d   e   ,       t   a   r   g   e   t   T   y   p
0042400    e   :       T   y   p   e   G   r   a   p   h   N   o   d   e
0042420    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0042440    m   p   0   :       V   a   l   u   e   N   o   d   e   ,    
0042460    t   e   m   p   1   :       L   o   c   a   l   C   o   n   t
0042500    e   x   t   N   o   d   e   ]       =  \r   B   E   G   I   N
0042520   \r   t   r   e   e   :  \t   E   x   p   N   o   d   e   _    
0042540    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0042560    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0042600    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0042620    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0042640    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0042660    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r
0042700    e   e   D   a   t   a   :  \t   E   x   p   v   a   l   P   r
0042720    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0042740    t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I
0042760    N  \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N
0043000    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0043020    t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t
0043040    N   o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e
0043060    x   t   1       _       F   a   k   e   D   a   m   a   g   e
0043100    C   o   n   t   e   x   t   [   l   o   c   a   l   C   o   n
0043120    t   e   x   t   ]   ;  \r   r   e   s   u   l   t       _    
0043140    M   a   k   e   D   u   m   m   y   [   "   v   a   l   "   ]
0043160    ;  \r   t   e   m   p   1       _       l   o   c   a   l   C
0043200    o   n   t   e   x   t   1   ;  \r   t   e   m   p   0       _
0043220        r   e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N
0043240    D  \r   E   N   D   ;  \r  \r   E   x   p   a   l   l   P   r
0043260    o   d   C   o   m   p   i   l   e   E   x   p   r   e   s   s
0043300    i   o   n   :  \t   P   U   B   L   I   C       P   R   O   C
0043320    [   r   e   f   :       R   E   F       A   N   Y   ,       l
0043340    o   c   a   l   C   o   n   t   e   x   t   :       L   o   c
0043360    a   l   C   o   n   t   e   x   t   N   o   d   e   ,       c
0043400    s   :       C   o   m   p   i   l   e   r   S   t   a   t   e
0043420    N   o   d   e   ,       t   a   r   g   e   t   T   y   p   e
0043440    :       T   y   p   e   G   r   a   p   h   N   o   d   e   N
0043460    o   d   e   ]       R   E   T   U   R   N   S   [   t   e   m
0043500    p   0   :       V   a   l   u   e   N   o   d   e   ,       t
0043520    e   m   p   1   :       L   o   c   a   l   C   o   n   t   e
0043540    x   t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r
0043560    t   r   e   e   :  \t   E   x   p   N   o   d   e   _       N
0043600    A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I
0043620    N  \r   E   N   A   B   L   E       T   h   r   e   e   C   4
0043640    S   u   p   p   o   r   t   .   G   e   t   S   o   u   r   c
0043660    e   I   n   f   o       =   >       R   E   S   U   M   E   [
0043700    t   r   e   e   .   p   o   s   i   t   i   o   n   ,       t
0043720    r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e
0043740    e   D   a   t   a   :  \t   E   x   p   a   l   l   P   r   o
0043760    d   D   a   t   a       _       N   A   R   R   O   W   [   t
0044000    r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N
0044020   \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N   o
0044040    d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t
0044060    1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N
0044100    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0044120    t   1       _       F   a   k   e   D   a   m   a   g   e   C
0044140    o   n   t   e   x   t   [   l   o   c   a   l   C   o   n   t
0044160    e   x   t   ]   ;  \r   r   e   s   u   l   t       _       M
0044200    a   k   e   D   u   m   m   y   [   "   a   l   l   "   ]   ;
0044220   \r   t   e   m   p   1       _       l   o   c   a   l   C   o
0044240    n   t   e   x   t   1   ;  \r   t   e   m   p   0       _    
0044260    r   e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N   D
0044300   \r   E   N   D   ;  \r  \r   E   x   p   n   e   w   P   r   o
0044320    d   C   o   m   p   i   l   e   E   x   p   r   e   s   s   i
0044340    o   n   :  \t   P   U   B   L   I   C       P   R   O   C   [
0044360    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0044400    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0044420    l   C   o   n   t   e   x   t   N   o   d   e   ,       c   s
0044440    :       C   o   m   p   i   l   e   r   S   t   a   t   e   N
0044460    o   d   e   ,       t   a   r   g   e   t   T   y   p   e   :
0044500        T   y   p   e   G   r   a   p   h   N   o   d   e   N   o
0044520    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0044540    0   :       V   a   l   u   e   N   o   d   e   ,       t   e
0044560    m   p   1   :       L   o   c   a   l   C   o   n   t   e   x
0044600    t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0044620    r   e   e   :  \t   E   x   p   N   o   d   e   _       N   A
0044640    R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N
0044660   \r   E   N   A   B   L   E       T   h   r   e   e   C   4   S
0044700    u   p   p   o   r   t   .   G   e   t   S   o   u   r   c   e
0044720    I   n   f   o       =   >       R   E   S   U   M   E   [   t
0044740    r   e   e   .   p   o   s   i   t   i   o   n   ,       t   r
0044760    e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e
0045000    D   a   t   a   :  \t   E   x   p   n   e   w   P   r   o   d
0045020    D   a   t   a       _       N   A   R   R   O   W   [   t   r
0045040    e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r
0045060    r   e   s   u   l   t   :  \t   V   a   l   u   e   N   o   d
0045100    e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t   1
0045120    :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N   o
0045140    d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t
0045160    1       _       F   a   k   e   D   a   m   a   g   e   C   o
0045200    n   t   e   x   t   [   l   o   c   a   l   C   o   n   t   e
0045220    x   t   ]   ;  \r   r   e   s   u   l   t       _       M   a
0045240    k   e   D   u   m   m   y   [   "   n   e   w   "   ]   ;  \r
0045260    t   e   m   p   1       _       l   o   c   a   l   C   o   n
0045300    t   e   x   t   1   ;  \r   t   e   m   p   0       _       r
0045320    e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r
0045340    E   N   D   ;  \r  \r   E   x   p   c   o   n   s   P   r   o
0045360    d   C   o   m   p   i   l   e   E   x   p   r   e   s   s   i
0045400    o   n   :  \t   P   U   B   L   I   C       P   R   O   C   [
0045420    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0045440    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0045460    l   C   o   n   t   e   x   t   N   o   d   e   ,       c   s
0045500    :       C   o   m   p   i   l   e   r   S   t   a   t   e   N
0045520    o   d   e   ,       t   a   r   g   e   t   T   y   p   e   :
0045540        T   y   p   e   G   r   a   p   h   N   o   d   e   N   o
0045560    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0045600    0   :       V   a   l   u   e   N   o   d   e   ,       t   e
0045620    m   p   1   :       L   o   c   a   l   C   o   n   t   e   x
0045640    t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0045660    r   e   e   :  \t   E   x   p   N   o   d   e   _       N   A
0045700    R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N
0045720   \r   E   N   A   B   L   E       T   h   r   e   e   C   4   S
0045740    u   p   p   o   r   t   .   G   e   t   S   o   u   r   c   e
0045760    I   n   f   o       =   >       R   E   S   U   M   E   [   t
0046000    r   e   e   .   p   o   s   i   t   i   o   n   ,       t   r
0046020    e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e
0046040    D   a   t   a   :  \t   E   x   p   c   o   n   s   P   r   o
0046060    d   D   a   t   a       _       N   A   R   R   O   W   [   t
0046100    r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N
0046120   \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N   o
0046140    d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t
0046160    1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N
0046200    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0046220    t   1       _       F   a   k   e   D   a   m   a   g   e   C
0046240    o   n   t   e   x   t   [   l   o   c   a   l   C   o   n   t
0046260    e   x   t   ]   ;  \r   r   e   s   u   l   t       _       M
0046300    a   k   e   D   u   m   m   y   [   "   c   o   n   s   "   ]
0046320    ;  \r   t   e   m   p   1       _       l   o   c   a   l   C
0046340    o   n   t   e   x   t   1   ;  \r   t   e   m   p   0       _
0046360        r   e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N
0046400    D  \r   E   N   D   ;  \r  \r   E   x   p   l   i   s   t   c
0046420    o   n   s   P   r   o   d   C   o   m   p   i   l   e   E   x
0046440    p   r   e   s   s   i   o   n   :  \t   P   U   B   L   I   C
0046460        P   R   O   C   [   r   e   f   :       R   E   F       A
0046500    N   Y   ,       l   o   c   a   l   C   o   n   t   e   x   t
0046520    :       L   o   c   a   l   C   o   n   t   e   x   t   N   o
0046540    d   e   ,       c   s   :       C   o   m   p   i   l   e   r
0046560    S   t   a   t   e   N   o   d   e   ,       t   a   r   g   e
0046600    t   T   y   p   e   :       T   y   p   e   G   r   a   p   h
0046620    N   o   d   e   N   o   d   e   ]       R   E   T   U   R   N
0046640    S   [   t   e   m   p   0   :       V   a   l   u   e   N   o
0046660    d   e   ,       t   e   m   p   1   :       L   o   c   a   l
0046700    C   o   n   t   e   x   t   N   o   d   e   ]       =  \r   B
0046720    E   G   I   N  \r   t   r   e   e   :  \t   E   x   p   N   o
0046740    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0046760   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0047000    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0047020    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0047040    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0047060    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0047100    ;  \r   t   r   e   e   D   a   t   a   :  \t   E   x   p   l
0047120    i   s   t   c   o   n   s   P   r   o   d   D   a   t   a    
0047140    _       N   A   R   R   O   W   [   t   r   e   e   .   d   a
0047160    t   a   ]   ;  \r   B   E   G   I   N  \r   r   e   s   u   l
0047200    t   :  \t   V   a   l   u   e   N   o   d   e   ;  \r   l   o
0047220    c   a   l   C   o   n   t   e   x   t   1   :  \t   L   o   c
0047240    a   l   C   o   n   t   e   x   t   N   o   d   e   ;  \r   l
0047260    o   c   a   l   C   o   n   t   e   x   t   1       _       F
0047300    a   k   e   D   a   m   a   g   e   C   o   n   t   e   x   t
0047320    [   l   o   c   a   l   C   o   n   t   e   x   t   ]   ;  \r
0047340    r   e   s   u   l   t       _       M   a   k   e   D   u   m
0047360    m   y   [   "   l   i   s   t   c   o   n   s   "   ]   ;  \r
0047400    t   e   m   p   1       _       l   o   c   a   l   C   o   n
0047420    t   e   x   t   1   ;  \r   t   e   m   p   0       _       r
0047440    e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r
0047460    E   N   D   ;  \r  \r   E   x   p   n   i   l   P   r   o   d
0047500    C   o   m   p   i   l   e   E   x   p   r   e   s   s   i   o
0047520    n   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0047540    e   f   :       R   E   F       A   N   Y   ,       l   o   c
0047560    a   l   C   o   n   t   e   x   t   :       L   o   c   a   l
0047600    C   o   n   t   e   x   t   N   o   d   e   ,       c   s   :
0047620        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0047640    d   e   ,       t   a   r   g   e   t   T   y   p   e   :    
0047660    T   y   p   e   G   r   a   p   h   N   o   d   e   N   o   d
0047700    e   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0047720    :       V   a   l   u   e   N   o   d   e   ,       t   e   m
0047740    p   1   :       L   o   c   a   l   C   o   n   t   e   x   t
0047760    N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r
0050000    e   e   :  \t   E   x   p   N   o   d   e   _       N   A   R
0050020    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0050040    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0050060    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0050100    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0050120    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0050140    e   .   l   e   n   g   t   h   ]   ;  \r   B   E   G   I   N
0050160   \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N   o
0050200    d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t
0050220    1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N
0050240    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0050260    t   1       _       F   a   k   e   D   a   m   a   g   e   C
0050300    o   n   t   e   x   t   [   l   o   c   a   l   C   o   n   t
0050320    e   x   t   ]   ;  \r   r   e   s   u   l   t       _       M
0050340    a   k   e   S   t   a   t   i   c   B   o   o   l   e   a   n
0050360    [   F   a   l   s   e   [   ]   ,       G   e   t   I   n   t
0050400    r   i   n   s   i   c   B   o   o   l   e   a   n   T   y   p
0050420    e   [   c   s   ]   ]   ;  \r   t   e   m   p   1       _    
0050440    l   o   c   a   l   C   o   n   t   e   x   t   1   ;  \r   t
0050460    e   m   p   0       _       r   e   s   u   l   t   ;  \r   E
0050500    N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x
0050520    p   t   y   p   e   o   p   P   r   o   d   C   o   m   p   i
0050540    l   e   E   x   p   r   e   s   s   i   o   n   :  \t   P   U
0050560    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0050600    E   F       A   N   Y   ,       l   o   c   a   l   C   o   n
0050620    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0050640    x   t   N   o   d   e   ,       c   s   :       C   o   m   p
0050660    i   l   e   r   S   t   a   t   e   N   o   d   e   ,       t
0050700    a   r   g   e   t   T   y   p   e   :       T   y   p   e   G
0050720    r   a   p   h   N   o   d   e   N   o   d   e   ]       R   E
0050740    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0050760    u   e   N   o   d   e   ,       t   e   m   p   1   :       L
0051000    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0051020        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   E
0051040    x   p   N   o   d   e   _       N   A   R   R   O   W   [   r
0051060    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0051100    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0051120    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0051140    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0051160    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0051200    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0051220    E   x   p   t   y   p   e   o   p   P   r   o   d   D   a   t
0051240    a       _       N   A   R   R   O   W   [   t   r   e   e   .
0051260    d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   r   e   s
0051300    u   l   t   :  \t   V   a   l   u   e   N   o   d   e   ;  \r
0051320    l   o   c   a   l   C   o   n   t   e   x   t   1   :  \t   L
0051340    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;
0051360   \r   l   o   c   a   l   C   o   n   t   e   x   t   1       _
0051400        F   a   k   e   D   a   m   a   g   e   C   o   n   t   e
0051420    x   t   [   l   o   c   a   l   C   o   n   t   e   x   t   ]
0051440    ;  \r   r   e   s   u   l   t       _       M   a   k   e   D
0051460    u   m   m   y   [   "   t   y   p   e   o   p   "   ]   ;  \r
0051500    t   e   m   p   1       _       l   o   c   a   l   C   o   n
0051520    t   e   x   t   1   ;  \r   t   e   m   p   0       _       r
0051540    e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r
0051560    E   N   D   ;  \r  \r   E   x   p   s   i   z   e   P   r   o
0051600    d   C   o   m   p   i   l   e   E   x   p   r   e   s   s   i
0051620    o   n   :  \t   P   U   B   L   I   C       P   R   O   C   [
0051640    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0051660    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0051700    l   C   o   n   t   e   x   t   N   o   d   e   ,       c   s
0051720    :       C   o   m   p   i   l   e   r   S   t   a   t   e   N
0051740    o   d   e   ,       t   a   r   g   e   t   T   y   p   e   :
0051760        T   y   p   e   G   r   a   p   h   N   o   d   e   N   o
0052000    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0052020    0   :       V   a   l   u   e   N   o   d   e   ,       t   e
0052040    m   p   1   :       L   o   c   a   l   C   o   n   t   e   x
0052060    t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0052100    r   e   e   :  \t   E   x   p   N   o   d   e   _       N   A
0052120    R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N
0052140   \r   E   N   A   B   L   E       T   h   r   e   e   C   4   S
0052160    u   p   p   o   r   t   .   G   e   t   S   o   u   r   c   e
0052200    I   n   f   o       =   >       R   E   S   U   M   E   [   t
0052220    r   e   e   .   p   o   s   i   t   i   o   n   ,       t   r
0052240    e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e
0052260    D   a   t   a   :  \t   E   x   p   s   i   z   e   P   r   o
0052300    d   D   a   t   a       _       N   A   R   R   O   W   [   t
0052320    r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N
0052340   \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N   o
0052360    d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t
0052400    1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N
0052420    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0052440    t   1       _       F   a   k   e   D   a   m   a   g   e   C
0052460    o   n   t   e   x   t   [   l   o   c   a   l   C   o   n   t
0052500    e   x   t   ]   ;  \r   r   e   s   u   l   t       _       M
0052520    a   k   e   D   u   m   m   y   [   "   s   i   z   e   "   ]
0052540    ;  \r   t   e   m   p   1       _       l   o   c   a   l   C
0052560    o   n   t   e   x   t   1   ;  \r   t   e   m   p   0       _
0052600        r   e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N
0052620    D  \r   E   N   D   ;  \r  \r   E   x   p   s   i   z   e   2
0052640    P   r   o   d   C   o   m   p   i   l   e   E   x   p   r   e
0052660    s   s   i   o   n   :  \t   P   U   B   L   I   C       P   R
0052700    O   C   [   r   e   f   :       R   E   F       A   N   Y   ,
0052720        l   o   c   a   l   C   o   n   t   e   x   t   :       L
0052740    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,
0052760        c   s   :       C   o   m   p   i   l   e   r   S   t   a
0053000    t   e   N   o   d   e   ,       t   a   r   g   e   t   T   y
0053020    p   e   :       T   y   p   e   G   r   a   p   h   N   o   d
0053040    e   N   o   d   e   ]       R   E   T   U   R   N   S   [   t
0053060    e   m   p   0   :       V   a   l   u   e   N   o   d   e   ,
0053100        t   e   m   p   1   :       L   o   c   a   l   C   o   n
0053120    t   e   x   t   N   o   d   e   ]       =  \r   B   E   G   I
0053140    N  \r   t   r   e   e   :  \t   E   x   p   N   o   d   e   _
0053160        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0053200    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0053220    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0053240    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0053260    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0053300        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0053320    r   e   e   D   a   t   a   :  \t   E   x   p   s   i   z   e
0053340    2   P   r   o   d   D   a   t   a       _       N   A   R   R
0053360    O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B
0053400    E   G   I   N  \r   r   e   s   u   l   t   :  \t   V   a   l
0053420    u   e   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n
0053440    t   e   x   t   1   :  \t   L   o   c   a   l   C   o   n   t
0053460    e   x   t   N   o   d   e   ;  \r   l   o   c   a   l   C   o
0053500    n   t   e   x   t   1       _       F   a   k   e   D   a   m
0053520    a   g   e   C   o   n   t   e   x   t   [   l   o   c   a   l
0053540    C   o   n   t   e   x   t   ]   ;  \r   r   e   s   u   l   t
0053560        _       M   a   k   e   D   u   m   m   y   [   "   s   i
0053600    z   e   2   "   ]   ;  \r   t   e   m   p   1       _       l
0053620    o   c   a   l   C   o   n   t   e   x   t   1   ;  \r   t   e
0053640    m   p   0       _       r   e   s   u   l   t   ;  \r   E   N
0053660    D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x   p
0053700    b   i   t   s   P   r   o   d   C   o   m   p   i   l   e   E
0053720    x   p   r   e   s   s   i   o   n   :  \t   P   U   B   L   I
0053740    C       P   R   O   C   [   r   e   f   :       R   E   F    
0053760    A   N   Y   ,       l   o   c   a   l   C   o   n   t   e   x
0054000    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0054020    o   d   e   ,       c   s   :       C   o   m   p   i   l   e
0054040    r   S   t   a   t   e   N   o   d   e   ,       t   a   r   g
0054060    e   t   T   y   p   e   :       T   y   p   e   G   r   a   p
0054100    h   N   o   d   e   N   o   d   e   ]       R   E   T   U   R
0054120    N   S   [   t   e   m   p   0   :       V   a   l   u   e   N
0054140    o   d   e   ,       t   e   m   p   1   :       L   o   c   a
0054160    l   C   o   n   t   e   x   t   N   o   d   e   ]       =  \r
0054200    B   E   G   I   N  \r   t   r   e   e   :  \t   E   x   p   N
0054220    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0054240    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0054260    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0054300    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0054320    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0054340    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0054360    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   E   x   p
0054400    b   i   t   s   P   r   o   d   D   a   t   a       _       N
0054420    A   R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]
0054440    ;  \r   B   E   G   I   N  \r   r   e   s   u   l   t   :  \t
0054460    V   a   l   u   e   N   o   d   e   ;  \r   l   o   c   a   l
0054500    C   o   n   t   e   x   t   1   :  \t   L   o   c   a   l   C
0054520    o   n   t   e   x   t   N   o   d   e   ;  \r   l   o   c   a
0054540    l   C   o   n   t   e   x   t   1       _       F   a   k   e
0054560    D   a   m   a   g   e   C   o   n   t   e   x   t   [   l   o
0054600    c   a   l   C   o   n   t   e   x   t   ]   ;  \r   r   e   s
0054620    u   l   t       _       M   a   k   e   D   u   m   m   y   [
0054640    "   b   i   t   s   "   ]   ;  \r   t   e   m   p   1       _
0054660        l   o   c   a   l   C   o   n   t   e   x   t   1   ;  \r
0054700    t   e   m   p   0       _       r   e   s   u   l   t   ;  \r
0054720    E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E
0054740    x   p   b   i   t   s   2   P   r   o   d   C   o   m   p   i
0054760    l   e   E   x   p   r   e   s   s   i   o   n   :  \t   P   U
0055000    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0055020    E   F       A   N   Y   ,       l   o   c   a   l   C   o   n
0055040    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0055060    x   t   N   o   d   e   ,       c   s   :       C   o   m   p
0055100    i   l   e   r   S   t   a   t   e   N   o   d   e   ,       t
0055120    a   r   g   e   t   T   y   p   e   :       T   y   p   e   G
0055140    r   a   p   h   N   o   d   e   N   o   d   e   ]       R   E
0055160    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0055200    u   e   N   o   d   e   ,       t   e   m   p   1   :       L
0055220    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0055240        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   E
0055260    x   p   N   o   d   e   _       N   A   R   R   O   W   [   r
0055300    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0055320    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0055340    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0055360    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0055400    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0055420    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0055440    E   x   p   b   i   t   s   2   P   r   o   d   D   a   t   a
0055460        _       N   A   R   R   O   W   [   t   r   e   e   .   d
0055500    a   t   a   ]   ;  \r   B   E   G   I   N  \r   r   e   s   u
0055520    l   t   :  \t   V   a   l   u   e   N   o   d   e   ;  \r   l
0055540    o   c   a   l   C   o   n   t   e   x   t   1   :  \t   L   o
0055560    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;  \r
0055600    l   o   c   a   l   C   o   n   t   e   x   t   1       _    
0055620    F   a   k   e   D   a   m   a   g   e   C   o   n   t   e   x
0055640    t   [   l   o   c   a   l   C   o   n   t   e   x   t   ]   ;
0055660   \r   r   e   s   u   l   t       _       M   a   k   e   D   u
0055700    m   m   y   [   "   b   i   t   s   2   "   ]   ;  \r   t   e
0055720    m   p   1       _       l   o   c   a   l   C   o   n   t   e
0055740    x   t   1   ;  \r   t   e   m   p   0       _       r   e   s
0055760    u   l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N
0056000    D   ;  \r  \r   E   x   p   b   y   t   e   s   P   r   o   d
0056020    C   o   m   p   i   l   e   E   x   p   r   e   s   s   i   o
0056040    n   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0056060    e   f   :       R   E   F       A   N   Y   ,       l   o   c
0056100    a   l   C   o   n   t   e   x   t   :       L   o   c   a   l
0056120    C   o   n   t   e   x   t   N   o   d   e   ,       c   s   :
0056140        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0056160    d   e   ,       t   a   r   g   e   t   T   y   p   e   :    
0056200    T   y   p   e   G   r   a   p   h   N   o   d   e   N   o   d
0056220    e   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0056240    :       V   a   l   u   e   N   o   d   e   ,       t   e   m
0056260    p   1   :       L   o   c   a   l   C   o   n   t   e   x   t
0056300    N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r
0056320    e   e   :  \t   E   x   p   N   o   d   e   _       N   A   R
0056340    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0056360    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0056400    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0056420    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0056440    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0056460    e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D
0056500    a   t   a   :  \t   E   x   p   b   y   t   e   s   P   r   o
0056520    d   D   a   t   a       _       N   A   R   R   O   W   [   t
0056540    r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N
0056560   \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N   o
0056600    d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t
0056620    1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N
0056640    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0056660    t   1       _       F   a   k   e   D   a   m   a   g   e   C
0056700    o   n   t   e   x   t   [   l   o   c   a   l   C   o   n   t
0056720    e   x   t   ]   ;  \r   r   e   s   u   l   t       _       M
0056740    a   k   e   D   u   m   m   y   [   "   b   y   t   e   s   "
0056760    ]   ;  \r   t   e   m   p   1       _       l   o   c   a   l
0057000    C   o   n   t   e   x   t   1   ;  \r   t   e   m   p   0    
0057020    _       r   e   s   u   l   t   ;  \r   E   N   D   ;  \r   E
0057040    N   D  \r   E   N   D   ;  \r  \r   E   x   p   b   y   t   e
0057060    s   2   P   r   o   d   C   o   m   p   i   l   e   E   x   p
0057100    r   e   s   s   i   o   n   :  \t   P   U   B   L   I   C    
0057120    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0057140    Y   ,       l   o   c   a   l   C   o   n   t   e   x   t   :
0057160        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0057200    e   ,       c   s   :       C   o   m   p   i   l   e   r   S
0057220    t   a   t   e   N   o   d   e   ,       t   a   r   g   e   t
0057240    T   y   p   e   :       T   y   p   e   G   r   a   p   h   N
0057260    o   d   e   N   o   d   e   ]       R   E   T   U   R   N   S
0057300    [   t   e   m   p   0   :       V   a   l   u   e   N   o   d
0057320    e   ,       t   e   m   p   1   :       L   o   c   a   l   C
0057340    o   n   t   e   x   t   N   o   d   e   ]       =  \r   B   E
0057360    G   I   N  \r   t   r   e   e   :  \t   E   x   p   N   o   d
0057400    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0057420    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0057440    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0057460    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0057500    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0057520    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0057540   \r   t   r   e   e   D   a   t   a   :  \t   E   x   p   b   y
0057560    t   e   s   2   P   r   o   d   D   a   t   a       _       N
0057600    A   R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]
0057620    ;  \r   B   E   G   I   N  \r   r   e   s   u   l   t   :  \t
0057640    V   a   l   u   e   N   o   d   e   ;  \r   l   o   c   a   l
0057660    C   o   n   t   e   x   t   1   :  \t   L   o   c   a   l   C
0057700    o   n   t   e   x   t   N   o   d   e   ;  \r   l   o   c   a
0057720    l   C   o   n   t   e   x   t   1       _       F   a   k   e
0057740    D   a   m   a   g   e   C   o   n   t   e   x   t   [   l   o
0057760    c   a   l   C   o   n   t   e   x   t   ]   ;  \r   r   e   s
0060000    u   l   t       _       M   a   k   e   D   u   m   m   y   [
0060020    "   b   y   t   e   s   2   "   ]   ;  \r   t   e   m   p   1
0060040        _       l   o   c   a   l   C   o   n   t   e   x   t   1
0060060    ;  \r   t   e   m   p   0       _       r   e   s   u   l   t
0060100    ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r
0060120   \r   E   x   p   u   n   i   t   s   P   r   o   d   C   o   m
0060140    p   i   l   e   E   x   p   r   e   s   s   i   o   n   :  \t
0060160    P   U   B   L   I   C       P   R   O   C   [   r   e   f   :
0060200        R   E   F       A   N   Y   ,       l   o   c   a   l   C
0060220    o   n   t   e   x   t   :       L   o   c   a   l   C   o   n
0060240    t   e   x   t   N   o   d   e   ,       c   s   :       C   o
0060260    m   p   i   l   e   r   S   t   a   t   e   N   o   d   e   ,
0060300        t   a   r   g   e   t   T   y   p   e   :       T   y   p
0060320    e   G   r   a   p   h   N   o   d   e   N   o   d   e   ]    
0060340    R   E   T   U   R   N   S   [   t   e   m   p   0   :       V
0060360    a   l   u   e   N   o   d   e   ,       t   e   m   p   1   :
0060400        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0060420    e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :
0060440   \t   E   x   p   N   o   d   e   _       N   A   R   R   O   W
0060460    [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A
0060500    B   L   E       T   h   r   e   e   C   4   S   u   p   p   o
0060520    r   t   .   G   e   t   S   o   u   r   c   e   I   n   f   o
0060540        =   >       R   E   S   U   M   E   [   t   r   e   e   .
0060560    p   o   s   i   t   i   o   n   ,       t   r   e   e   .   l
0060600    e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a
0060620    :  \t   E   x   p   u   n   i   t   s   P   r   o   d   D   a
0060640    t   a       _       N   A   R   R   O   W   [   t   r   e   e
0060660    .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   r   e
0060700    s   u   l   t   :  \t   V   a   l   u   e   N   o   d   e   ;
0060720   \r   l   o   c   a   l   C   o   n   t   e   x   t   1   :  \t
0060740    L   o   c   a   l   C   o   n   t   e   x   t   N   o   d   e
0060760    ;  \r   l   o   c   a   l   C   o   n   t   e   x   t   1    
0061000    _       F   a   k   e   D   a   m   a   g   e   C   o   n   t
0061020    e   x   t   [   l   o   c   a   l   C   o   n   t   e   x   t
0061040    ]   ;  \r   r   e   s   u   l   t       _       M   a   k   e
0061060    D   u   m   m   y   [   "   u   n   i   t   s   "   ]   ;  \r
0061100    t   e   m   p   1       _       l   o   c   a   l   C   o   n
0061120    t   e   x   t   1   ;  \r   t   e   m   p   0       _       r
0061140    e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r
0061160    E   N   D   ;  \r  \r   E   x   p   u   n   i   t   s   2   P
0061200    r   o   d   C   o   m   p   i   l   e   E   x   p   r   e   s
0061220    s   i   o   n   :  \t   P   U   B   L   I   C       P   R   O
0061240    C   [   r   e   f   :       R   E   F       A   N   Y   ,    
0061260    l   o   c   a   l   C   o   n   t   e   x   t   :       L   o
0061300    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,    
0061320    c   s   :       C   o   m   p   i   l   e   r   S   t   a   t
0061340    e   N   o   d   e   ,       t   a   r   g   e   t   T   y   p
0061360    e   :       T   y   p   e   G   r   a   p   h   N   o   d   e
0061400    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0061420    m   p   0   :       V   a   l   u   e   N   o   d   e   ,    
0061440    t   e   m   p   1   :       L   o   c   a   l   C   o   n   t
0061460    e   x   t   N   o   d   e   ]       =  \r   B   E   G   I   N
0061500   \r   t   r   e   e   :  \t   E   x   p   N   o   d   e   _    
0061520    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0061540    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0061560    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0061600    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0061620    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0061640    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r
0061660    e   e   D   a   t   a   :  \t   E   x   p   u   n   i   t   s
0061700    2   P   r   o   d   D   a   t   a       _       N   A   R   R
0061720    O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B
0061740    E   G   I   N  \r   r   e   s   u   l   t   :  \t   V   a   l
0061760    u   e   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n
0062000    t   e   x   t   1   :  \t   L   o   c   a   l   C   o   n   t
0062020    e   x   t   N   o   d   e   ;  \r   l   o   c   a   l   C   o
0062040    n   t   e   x   t   1       _       F   a   k   e   D   a   m
0062060    a   g   e   C   o   n   t   e   x   t   [   l   o   c   a   l
0062100    C   o   n   t   e   x   t   ]   ;  \r   r   e   s   u   l   t
0062120        _       M   a   k   e   D   u   m   m   y   [   "   u   n
0062140    i   t   s   2   "   ]   ;  \r   t   e   m   p   1       _    
0062160    l   o   c   a   l   C   o   n   t   e   x   t   1   ;  \r   t
0062200    e   m   p   0       _       r   e   s   u   l   t   ;  \r   E
0062220    N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x
0062240    p   w   o   r   d   s   P   r   o   d   C   o   m   p   i   l
0062260    e   E   x   p   r   e   s   s   i   o   n   :  \t   P   U   B
0062300    L   I   C       P   R   O   C   [   r   e   f   :       R   E
0062320    F       A   N   Y   ,       l   o   c   a   l   C   o   n   t
0062340    e   x   t   :       L   o   c   a   l   C   o   n   t   e   x
0062360    t   N   o   d   e   ,       c   s   :       C   o   m   p   i
0062400    l   e   r   S   t   a   t   e   N   o   d   e   ,       t   a
0062420    r   g   e   t   T   y   p   e   :       T   y   p   e   G   r
0062440    a   p   h   N   o   d   e   N   o   d   e   ]       R   E   T
0062460    U   R   N   S   [   t   e   m   p   0   :       V   a   l   u
0062500    e   N   o   d   e   ,       t   e   m   p   1   :       L   o
0062520    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]    
0062540    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   E   x
0062560    p   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0062600    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0062620        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0062640    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0062660        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0062700    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0062720    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   E
0062740    x   p   w   o   r   d   s   P   r   o   d   D   a   t   a    
0062760    _       N   A   R   R   O   W   [   t   r   e   e   .   d   a
0063000    t   a   ]   ;  \r   B   E   G   I   N  \r   r   e   s   u   l
0063020    t   :  \t   V   a   l   u   e   N   o   d   e   ;  \r   l   o
0063040    c   a   l   C   o   n   t   e   x   t   1   :  \t   L   o   c
0063060    a   l   C   o   n   t   e   x   t   N   o   d   e   ;  \r   l
0063100    o   c   a   l   C   o   n   t   e   x   t   1       _       F
0063120    a   k   e   D   a   m   a   g   e   C   o   n   t   e   x   t
0063140    [   l   o   c   a   l   C   o   n   t   e   x   t   ]   ;  \r
0063160    r   e   s   u   l   t       _       M   a   k   e   D   u   m
0063200    m   y   [   "   w   o   r   d   s   "   ]   ;  \r   t   e   m
0063220    p   1       _       l   o   c   a   l   C   o   n   t   e   x
0063240    t   1   ;  \r   t   e   m   p   0       _       r   e   s   u
0063260    l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D
0063300    ;  \r  \r   E   x   p   w   o   r   d   s   2   P   r   o   d
0063320    C   o   m   p   i   l   e   E   x   p   r   e   s   s   i   o
0063340    n   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0063360    e   f   :       R   E   F       A   N   Y   ,       l   o   c
0063400    a   l   C   o   n   t   e   x   t   :       L   o   c   a   l
0063420    C   o   n   t   e   x   t   N   o   d   e   ,       c   s   :
0063440        C   o   m   p   i   l   e   r   S   t   a   t   e   N   o
0063460    d   e   ,       t   a   r   g   e   t   T   y   p   e   :    
0063500    T   y   p   e   G   r   a   p   h   N   o   d   e   N   o   d
0063520    e   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0063540    :       V   a   l   u   e   N   o   d   e   ,       t   e   m
0063560    p   1   :       L   o   c   a   l   C   o   n   t   e   x   t
0063600    N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r
0063620    e   e   :  \t   E   x   p   N   o   d   e   _       N   A   R
0063640    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0063660    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0063700    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0063720    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0063740    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0063760    e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D
0064000    a   t   a   :  \t   E   x   p   w   o   r   d   s   2   P   r
0064020    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0064040    t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I
0064060    N  \r   r   e   s   u   l   t   :  \t   V   a   l   u   e   N
0064100    o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x
0064120    t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t
0064140    N   o   d   e   ;  \r   l   o   c   a   l   C   o   n   t   e
0064160    x   t   1       _       F   a   k   e   D   a   m   a   g   e
0064200    C   o   n   t   e   x   t   [   l   o   c   a   l   C   o   n
0064220    t   e   x   t   ]   ;  \r   r   e   s   u   l   t       _    
0064240    M   a   k   e   D   u   m   m   y   [   "   w   o   r   d   s
0064260    2   "   ]   ;  \r   t   e   m   p   1       _       l   o   c
0064300    a   l   C   o   n   t   e   x   t   1   ;  \r   t   e   m   p
0064320    0       _       r   e   s   u   l   t   ;  \r   E   N   D   ;
0064340   \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x   p   i   s
0064360    t   y   p   e   P   r   o   d   C   o   m   p   i   l   e   E
0064400    x   p   r   e   s   s   i   o   n   :  \t   P   U   B   L   I
0064420    C       P   R   O   C   [   r   e   f   :       R   E   F    
0064440    A   N   Y   ,       l   o   c   a   l   C   o   n   t   e   x
0064460    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0064500    o   d   e   ,       c   s   :       C   o   m   p   i   l   e
0064520    r   S   t   a   t   e   N   o   d   e   ,       t   a   r   g
0064540    e   t   T   y   p   e   :       T   y   p   e   G   r   a   p
0064560    h   N   o   d   e   N   o   d   e   ]       R   E   T   U   R
0064600    N   S   [   t   e   m   p   0   :       V   a   l   u   e   N
0064620    o   d   e   ,       t   e   m   p   1   :       L   o   c   a
0064640    l   C   o   n   t   e   x   t   N   o   d   e   ]       =  \r
0064660    B   E   G   I   N  \r   t   r   e   e   :  \t   E   x   p   N
0064700    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0064720    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0064740    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0064760    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0065000    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0065020    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0065040    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   E   x   p
0065060    i   s   t   y   p   e   P   r   o   d   D   a   t   a       _
0065100        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0065120    a   ]   ;  \r   B   E   G   I   N  \r   r   e   s   u   l   t
0065140    :  \t   V   a   l   u   e   N   o   d   e   ;  \r   l   o   c
0065160    a   l   C   o   n   t   e   x   t   1   :  \t   L   o   c   a
0065200    l   C   o   n   t   e   x   t   N   o   d   e   ;  \r   l   o
0065220    c   a   l   C   o   n   t   e   x   t   1       _       F   a
0065240    k   e   D   a   m   a   g   e   C   o   n   t   e   x   t   [
0065260    l   o   c   a   l   C   o   n   t   e   x   t   ]   ;  \r   r
0065300    e   s   u   l   t       _       M   a   k   e   D   u   m   m
0065320    y   [   "   i   s   t   y   p   e   "   ]   ;  \r   t   e   m
0065340    p   1       _       l   o   c   a   l   C   o   n   t   e   x
0065360    t   1   ;  \r   t   e   m   p   0       _       r   e   s   u
0065400    l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D
0065420    ;  \r  \r   E   x   p   a   d   d   r   e   s   s   P   r   o
0065440    d   C   o   m   p   i   l   e   E   x   p   r   e   s   s   i
0065460    o   n   :  \t   P   U   B   L   I   C       P   R   O   C   [
0065500    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0065520    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0065540    l   C   o   n   t   e   x   t   N   o   d   e   ,       c   s
0065560    :       C   o   m   p   i   l   e   r   S   t   a   t   e   N
0065600    o   d   e   ,       t   a   r   g   e   t   T   y   p   e   :
0065620        T   y   p   e   G   r   a   p   h   N   o   d   e   N   o
0065640    d   e   ]       R   E   T   U   R   N   S   [   t   e   m   p
0065660    0   :       V   a   l   u   e   N   o   d   e   ,       t   e
0065700    m   p   1   :       L   o   c   a   l   C   o   n   t   e   x
0065720    t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0065740    r   e   e   :  \t   E   x   p   N   o   d   e   _       N   A
0065760    R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N
0066000   \r   E   N   A   B   L   E       T   h   r   e   e   C   4   S
0066020    u   p   p   o   r   t   .   G   e   t   S   o   u   r   c   e
0066040    I   n   f   o       =   >       R   E   S   U   M   E   [   t
0066060    r   e   e   .   p   o   s   i   t   i   o   n   ,       t   r
0066100    e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e
0066120    D   a   t   a   :  \t   E   x   p   a   d   d   r   e   s   s
0066140    P   r   o   d   D   a   t   a       _       N   A   R   R   O
0066160    W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E
0066200    G   I   N  \r   r   e   s   u   l   t   :  \t   V   a   l   u
0066220    e   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n   t
0066240    e   x   t   1   :  \t   L   o   c   a   l   C   o   n   t   e
0066260    x   t   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n
0066300    t   e   x   t   1       _       F   a   k   e   D   a   m   a
0066320    g   e   C   o   n   t   e   x   t   [   l   o   c   a   l   C
0066340    o   n   t   e   x   t   ]   ;  \r   r   e   s   u   l   t    
0066360    _       M   a   k   e   D   u   m   m   y   [   "   a   d   d
0066400    r   e   s   s   "   ]   ;  \r   t   e   m   p   1       _    
0066420    l   o   c   a   l   C   o   n   t   e   x   t   1   ;  \r   t
0066440    e   m   p   0       _       r   e   s   u   l   t   ;  \r   E
0066460    N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E   x
0066500    p   d   e   s   c   r   i   p   t   o   r   P   r   o   d   C
0066520    o   m   p   i   l   e   E   x   p   r   e   s   s   i   o   n
0066540    :  \t   P   U   B   L   I   C       P   R   O   C   [   r   e
0066560    f   :       R   E   F       A   N   Y   ,       l   o   c   a
0066600    l   C   o   n   t   e   x   t   :       L   o   c   a   l   C
0066620    o   n   t   e   x   t   N   o   d   e   ,       c   s   :    
0066640    C   o   m   p   i   l   e   r   S   t   a   t   e   N   o   d
0066660    e   ,       t   a   r   g   e   t   T   y   p   e   :       T
0066700    y   p   e   G   r   a   p   h   N   o   d   e   N   o   d   e
0066720    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0066740        V   a   l   u   e   N   o   d   e   ,       t   e   m   p
0066760    1   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0067000    o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e
0067020    e   :  \t   E   x   p   N   o   d   e   _       N   A   R   R
0067040    O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E
0067060    N   A   B   L   E       T   h   r   e   e   C   4   S   u   p
0067100    p   o   r   t   .   G   e   t   S   o   u   r   c   e   I   n
0067120    f   o       =   >       R   E   S   U   M   E   [   t   r   e
0067140    e   .   p   o   s   i   t   i   o   n   ,       t   r   e   e
0067160    .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a
0067200    t   a   :  \t   E   x   p   d   e   s   c   r   i   p   t   o
0067220    r   P   r   o   d   D   a   t   a       _       N   A   R   R
0067240    O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B
0067260    E   G   I   N  \r   r   e   s   u   l   t   :  \t   V   a   l
0067300    u   e   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n
0067320    t   e   x   t   1   :  \t   L   o   c   a   l   C   o   n   t
0067340    e   x   t   N   o   d   e   ;  \r   l   o   c   a   l   C   o
0067360    n   t   e   x   t   1       _       F   a   k   e   D   a   m
0067400    a   g   e   C   o   n   t   e   x   t   [   l   o   c   a   l
0067420    C   o   n   t   e   x   t   ]   ;  \r   r   e   s   u   l   t
0067440        _       M   a   k   e   D   u   m   m   y   [   "   d   e
0067460    s   c   r   i   p   t   o   r   "   ]   ;  \r   t   e   m   p
0067500    1       _       l   o   c   a   l   C   o   n   t   e   x   t
0067520    1   ;  \r   t   e   m   p   0       _       r   e   s   u   l
0067540    t   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D   ;
0067560   \r  \r   E   x   p   e   r   r   o   r   P   r   o   d   C   o
0067600    m   p   i   l   e   E   x   p   r   e   s   s   i   o   n   :
0067620   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0067640    :       R   E   F       A   N   Y   ,       l   o   c   a   l
0067660    C   o   n   t   e   x   t   :       L   o   c   a   l   C   o
0067700    n   t   e   x   t   N   o   d   e   ,       c   s   :       C
0067720    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0067740    ,       t   a   r   g   e   t   T   y   p   e   :       T   y
0067760    p   e   G   r   a   p   h   N   o   d   e   N   o   d   e   ]
0070000        R   E   T   U   R   N   S   [   t   e   m   p   0   :    
0070020    V   a   l   u   e   N   o   d   e   ,       t   e   m   p   1
0070040    :       L   o   c   a   l   C   o   n   t   e   x   t   N   o
0070060    d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0070100    :  \t   E   x   p   N   o   d   e   _       N   A   R   R   O
0070120    W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N
0070140    A   B   L   E       T   h   r   e   e   C   4   S   u   p   p
0070160    o   r   t   .   G   e   t   S   o   u   r   c   e   I   n   f
0070200    o       =   >       R   E   S   U   M   E   [   t   r   e   e
0070220    .   p   o   s   i   t   i   o   n   ,       t   r   e   e   .
0070240    l   e   n   g   t   h   ]   ;  \r   B   E   G   I   N  \r   r
0070260    e   s   u   l   t   :  \t   V   a   l   u   e   N   o   d   e
0070300    ;  \r   l   o   c   a   l   C   o   n   t   e   x   t   1   :
0070320   \t   L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0070340    e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t   1
0070360        _       F   a   k   e   D   a   m   a   g   e   C   o   n
0070400    t   e   x   t   [   l   o   c   a   l   C   o   n   t   e   x
0070420    t   ]   ;  \r   r   e   s   u   l   t       _       M   a   k
0070440    e   D   u   m   m   y   [   "   e   r   r   o   r   "   ]   ;
0070460   \r   t   e   m   p   1       _       l   o   c   a   l   C   o
0070500    n   t   e   x   t   1   ;  \r   t   e   m   p   0       _    
0070520    r   e   s   u   l   t   ;  \r   E   N   D   ;  \r   E   N   D
0070540   \r   E   N   D   ;  \r  \r   E   x   p   t   r   a   n   s   f
0070560    e   r   P   r   o   d   C   o   m   p   i   l   e   E   x   p
0070600    r   e   s   s   i   o   n   :  \t   P   U   B   L   I   C    
0070620    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0070640    Y   ,       l   o   c   a   l   C   o   n   t   e   x   t   :
0070660        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0070700    e   ,       c   s   :       C   o   m   p   i   l   e   r   S
0070720    t   a   t   e   N   o   d   e   ,       t   a   r   g   e   t
0070740    T   y   p   e   :       T   y   p   e   G   r   a   p   h   N
0070760    o   d   e   N   o   d   e   ]       R   E   T   U   R   N   S
0071000    [   t   e   m   p   0   :       V   a   l   u   e   N   o   d
0071020    e   ,       t   e   m   p   1   :       L   o   c   a   l   C
0071040    o   n   t   e   x   t   N   o   d   e   ]       =  \r   B   E
0071060    G   I   N  \r   t   r   e   e   :  \t   E   x   p   N   o   d
0071100    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0071120    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0071140    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0071160    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0071200    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0071220    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0071240   \r   t   r   e   e   D   a   t   a   :  \t   E   x   p   t   r
0071260    a   n   s   f   e   r   P   r   o   d   D   a   t   a       _
0071300        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0071320    a   ]   ;  \r   B   E   G   I   N  \r   r   e   s   u   l   t
0071340    :  \t   V   a   l   u   e   N   o   d   e   ;  \r   l   o   c
0071360    a   l   C   o   n   t   e   x   t   1   :  \t   L   o   c   a
0071400    l   C   o   n   t   e   x   t   N   o   d   e   ;  \r   l   o
0071420    c   a   l   C   o   n   t   e   x   t   1       _       F   a
0071440    k   e   D   a   m   a   g   e   C   o   n   t   e   x   t   [
0071460    l   o   c   a   l   C   o   n   t   e   x   t   ]   ;  \r   r
0071500    e   s   u   l   t       _       M   a   k   e   D   u   m   m
0071520    y   [   "   t   r   a   n   s   f   e   r   "   ]   ;  \r   t
0071540    e   m   p   1       _       l   o   c   a   l   C   o   n   t
0071560    e   x   t   1   ;  \r   t   e   m   p   0       _       r   e
0071600    s   u   l   t   ;  \r   E   N   D   ;  \r   E   N   D  \r   E
0071620    N   D   ;  \r  \r   N   u   m   d   e   c   i   m   a   l   P
0071640    r   o   d   I   n   t   e   g   e   r   V   a   l   u   e   F
0071660    r   o   m   L   i   t   e   r   a   l   :  \t   P   U   B   L
0071700    I   C       P   R   O   C   [   r   e   f   :       R   E   F
0071720        A   N   Y   ]       R   E   T   U   R   N   S   [   t   e
0071740    m   p   0   :       B   i   g   I   N   T   ]       =  \r   B
0071760    E   G   I   N  \r   t   r   e   e   :  \t   N   u   m   N   o
0072000    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0072020   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0072040    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0072060    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0072100    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0072120    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0072140    ;  \r   t   r   e   e   D   a   t   a   :  \t   N   u   m   d
0072160    e   c   i   m   a   l   P   r   o   d   D   a   t   a       _
0072200        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0072220    a   ]   ;  \r   B   E   G   I   N  \r   d   i   g   i   t   s
0072240    :  \t   R   O   P   E   ;  \r   d   i   g   i   t   s       _
0072260        R   o   p   e   F   r   o   m   D   e   c   i   m   a   l
0072300    n   u   m   [   t   r   e   e   D   a   t   a   .   D   e   c
0072320    i   m   a   l   n   u   m   ]   ;  \r   t   e   m   p   0    
0072340    _       P   a   r   s   e   I   n   t   e   g   e   r   L   i
0072360    t   e   r   a   l   [   d   i   g   i   t   s   ,       1   0
0072400    ]   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D   ;
0072420   \r  \r   N   u   m   o   c   t   a   l   P   r   o   d   I   n
0072440    t   e   g   e   r   V   a   l   u   e   F   r   o   m   L   i
0072460    t   e   r   a   l   :  \t   P   U   B   L   I   C       P   R
0072500    O   C   [   r   e   f   :       R   E   F       A   N   Y   ]
0072520        R   E   T   U   R   N   S   [   t   e   m   p   0   :    
0072540    B   i   g   I   N   T   ]       =  \r   B   E   G   I   N  \r
0072560    t   r   e   e   :  \t   N   u   m   N   o   d   e   _       N
0072600    A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I
0072620    N  \r   E   N   A   B   L   E       T   h   r   e   e   C   4
0072640    S   u   p   p   o   r   t   .   G   e   t   S   o   u   r   c
0072660    e   I   n   f   o       =   >       R   E   S   U   M   E   [
0072700    t   r   e   e   .   p   o   s   i   t   i   o   n   ,       t
0072720    r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e
0072740    e   D   a   t   a   :  \t   N   u   m   o   c   t   a   l   P
0072760    r   o   d   D   a   t   a       _       N   A   R   R   O   W
0073000    [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G
0073020    I   N  \r   d   i   g   i   t   s   :  \t   R   O   P   E   ;
0073040   \r   d   i   g   i   t   s       _       R   o   p   e   F   r
0073060    o   m   O   c   t   a   l   n   u   m   [   t   r   e   e   D
0073100    a   t   a   .   O   c   t   a   l   n   u   m   ]   ;  \r   t
0073120    e   m   p   0       _       P   a   r   s   e   I   n   t   e
0073140    g   e   r   L   i   t   e   r   a   l   [   d   i   g   i   t
0073160    s   ,       8   ]   ;  \r   E   N   D   ;  \r   E   N   D  \r
0073200    E   N   D   ;  \r  \r   N   u   m   h   e   x   P   r   o   d
0073220    I   n   t   e   g   e   r   V   a   l   u   e   F   r   o   m
0073240    L   i   t   e   r   a   l   :  \t   P   U   B   L   I   C    
0073260    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0073300    Y   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0073320    :       B   i   g   I   N   T   ]       =  \r   B   E   G   I
0073340    N  \r   t   r   e   e   :  \t   N   u   m   N   o   d   e   _
0073360        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0073400    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0073420    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0073440    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0073460    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0073500        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0073520    r   e   e   D   a   t   a   :  \t   N   u   m   h   e   x   P
0073540    r   o   d   D   a   t   a       _       N   A   R   R   O   W
0073560    [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G
0073600    I   N  \r   d   i   g   i   t   s   :  \t   R   O   P   E   ;
0073620   \r   d   i   g   i   t   s       _       R   o   p   e   F   r
0073640    o   m   H   e   x   n   u   m   [   t   r   e   e   D   a   t
0073660    a   .   H   e   x   n   u   m   ]   ;  \r   t   e   m   p   0
0073700        _       P   a   r   s   e   I   n   t   e   g   e   r   L
0073720    i   t   e   r   a   l   [   d   i   g   i   t   s   ,       1
0073740    6   ]   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D
0073760    ;  \r  \r   A   d   d   O   p   p   l   u   s   P   r   o   d
0074000    I   s   M   i   n   u   s   :  \t   P   U   B   L   I   C    
0074020    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0074040    Y   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0074060    :       B   O   O   L   E   A   N   ]       =  \r   B   E   G
0074100    I   N  \r   t   r   e   e   :  \t   A   d   d   O   p   N   o
0074120    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0074140   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0074160    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0074200    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0074220    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0074240    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0074260    ;  \r   t   e   m   p   0       _       F   a   l   s   e   [
0074300    ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   A   d   d
0074320    O   p   p   l   u   s   P   r   o   d   I   s   P   l   u   s
0074340    :  \t   P   U   B   L   I   C       P   R   O   C   [   r   e
0074360    f   :       R   E   F       A   N   Y   ]       R   E   T   U
0074400    R   N   S   [   t   e   m   p   0   :       B   O   O   L   E
0074420    A   N   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0074440    :  \t   A   d   d   O   p   N   o   d   e   _       N   A   R
0074460    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0074500    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0074520    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0074540    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0074560    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0074600    e   .   l   e   n   g   t   h   ]   ;  \r   t   e   m   p   0
0074620        _       T   r   u   e   [   ]   ;  \r   E   N   D  \r   E
0074640    N   D   ;  \r  \r   A   d   d   O   p   m   i   n   u   s   P
0074660    r   o   d   I   s   M   i   n   u   s   :  \t   P   U   B   L
0074700    I   C       P   R   O   C   [   r   e   f   :       R   E   F
0074720        A   N   Y   ]       R   E   T   U   R   N   S   [   t   e
0074740    m   p   0   :       B   O   O   L   E   A   N   ]       =  \r
0074760    B   E   G   I   N  \r   t   r   e   e   :  \t   A   d   d   O
0075000    p   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0075020    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0075040        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0075060    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0075100        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0075120    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0075140    t   h   ]   ;  \r   t   e   m   p   0       _       T   r   u
0075160    e   [   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   A
0075200    d   d   O   p   m   i   n   u   s   P   r   o   d   I   s   P
0075220    l   u   s   :  \t   P   U   B   L   I   C       P   R   O   C
0075240    [   r   e   f   :       R   E   F       A   N   Y   ]       R
0075260    E   T   U   R   N   S   [   t   e   m   p   0   :       B   O
0075300    O   L   E   A   N   ]       =  \r   B   E   G   I   N  \r   t
0075320    r   e   e   :  \t   A   d   d   O   p   N   o   d   e   _    
0075340    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0075360    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0075400    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0075420    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0075440    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0075460    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   e
0075500    m   p   0       _       F   a   l   s   e   [   ]   ;  \r   E
0075520    N   D  \r   E   N   D   ;  \r  \r   M   u   l   t   O   p   t
0075540    i   m   e   s   P   r   o   d   I   s   M   o   d   :  \t   P
0075560    U   B   L   I   C       P   R   O   C   [   r   e   f   :    
0075600    R   E   F       A   N   Y   ]       R   E   T   U   R   N   S
0075620    [   t   e   m   p   0   :       B   O   O   L   E   A   N   ]
0075640        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   M
0075660    u   l   t   O   p   N   o   d   e   _       N   A   R   R   O
0075700    W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N
0075720    A   B   L   E       T   h   r   e   e   C   4   S   u   p   p
0075740    o   r   t   .   G   e   t   S   o   u   r   c   e   I   n   f
0075760    o       =   >       R   E   S   U   M   E   [   t   r   e   e
0076000    .   p   o   s   i   t   i   o   n   ,       t   r   e   e   .
0076020    l   e   n   g   t   h   ]   ;  \r   t   e   m   p   0       _
0076040        F   a   l   s   e   [   ]   ;  \r   E   N   D  \r   E   N
0076060    D   ;  \r  \r   M   u   l   t   O   p   t   i   m   e   s   P
0076100    r   o   d   I   s   D   i   v   i   d   e   :  \t   P   U   B
0076120    L   I   C       P   R   O   C   [   r   e   f   :       R   E
0076140    F       A   N   Y   ]       R   E   T   U   R   N   S   [   t
0076160    e   m   p   0   :       B   O   O   L   E   A   N   ]       =
0076200   \r   B   E   G   I   N  \r   t   r   e   e   :  \t   M   u   l
0076220    t   O   p   N   o   d   e   _       N   A   R   R   O   W   [
0076240    r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B
0076260    L   E       T   h   r   e   e   C   4   S   u   p   p   o   r
0076300    t   .   G   e   t   S   o   u   r   c   e   I   n   f   o    
0076320    =   >       R   E   S   U   M   E   [   t   r   e   e   .   p
0076340    o   s   i   t   i   o   n   ,       t   r   e   e   .   l   e
0076360    n   g   t   h   ]   ;  \r   t   e   m   p   0       _       F
0076400    a   l   s   e   [   ]   ;  \r   E   N   D  \r   E   N   D   ;
0076420   \r  \r   M   u   l   t   O   p   t   i   m   e   s   P   r   o
0076440    d   I   s   T   i   m   e   s   :  \t   P   U   B   L   I   C
0076460        P   R   O   C   [   r   e   f   :       R   E   F       A
0076500    N   Y   ]       R   E   T   U   R   N   S   [   t   e   m   p
0076520    0   :       B   O   O   L   E   A   N   ]       =  \r   B   E
0076540    G   I   N  \r   t   r   e   e   :  \t   M   u   l   t   O   p
0076560    N   o   d   e   _       N   A   R   R   O   W   [   r   e   f
0076600    ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E    
0076620    T   h   r   e   e   C   4   S   u   p   p   o   r   t   .   G
0076640    e   t   S   o   u   r   c   e   I   n   f   o       =   >    
0076660    R   E   S   U   M   E   [   t   r   e   e   .   p   o   s   i
0076700    t   i   o   n   ,       t   r   e   e   .   l   e   n   g   t
0076720    h   ]   ;  \r   t   e   m   p   0       _       T   r   u   e
0076740    [   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   M   u
0076760    l   t   O   p   d   i   v   i   d   e   P   r   o   d   I   s
0077000    M   o   d   :  \t   P   U   B   L   I   C       P   R   O   C
0077020    [   r   e   f   :       R   E   F       A   N   Y   ]       R
0077040    E   T   U   R   N   S   [   t   e   m   p   0   :       B   O
0077060    O   L   E   A   N   ]       =  \r   B   E   G   I   N  \r   t
0077100    r   e   e   :  \t   M   u   l   t   O   p   N   o   d   e   _
0077120        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0077140    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0077160    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0077200    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0077220    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0077240        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0077260    e   m   p   0       _       F   a   l   s   e   [   ]   ;  \r
0077300    E   N   D  \r   E   N   D   ;  \r  \r   M   u   l   t   O   p
0077320    d   i   v   i   d   e   P   r   o   d   I   s   D   i   v   i
0077340    d   e   :  \t   P   U   B   L   I   C       P   R   O   C   [
0077360    r   e   f   :       R   E   F       A   N   Y   ]       R   E
0077400    T   U   R   N   S   [   t   e   m   p   0   :       B   O   O
0077420    L   E   A   N   ]       =  \r   B   E   G   I   N  \r   t   r
0077440    e   e   :  \t   M   u   l   t   O   p   N   o   d   e   _    
0077460    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0077500    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0077520    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0077540    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0077560    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0077600    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   e
0077620    m   p   0       _       T   r   u   e   [   ]   ;  \r   E   N
0077640    D  \r   E   N   D   ;  \r  \r   M   u   l   t   O   p   d   i
0077660    v   i   d   e   P   r   o   d   I   s   T   i   m   e   s   :
0077700   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0077720    :       R   E   F       A   N   Y   ]       R   E   T   U   R
0077740    N   S   [   t   e   m   p   0   :       B   O   O   L   E   A
0077760    N   ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :
0100000   \t   M   u   l   t   O   p   N   o   d   e   _       N   A   R
0100020    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0100040    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0100060    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0100100    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0100120    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0100140    e   .   l   e   n   g   t   h   ]   ;  \r   t   e   m   p   0
0100160        _       F   a   l   s   e   [   ]   ;  \r   E   N   D  \r
0100200    E   N   D   ;  \r  \r   M   u   l   t   O   p   m   o   d   P
0100220    r   o   d   I   s   M   o   d   :  \t   P   U   B   L   I   C
0100240        P   R   O   C   [   r   e   f   :       R   E   F       A
0100260    N   Y   ]       R   E   T   U   R   N   S   [   t   e   m   p
0100300    0   :       B   O   O   L   E   A   N   ]       =  \r   B   E
0100320    G   I   N  \r   t   r   e   e   :  \t   M   u   l   t   O   p
0100340    N   o   d   e   _       N   A   R   R   O   W   [   r   e   f
0100360    ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E    
0100400    T   h   r   e   e   C   4   S   u   p   p   o   r   t   .   G
0100420    e   t   S   o   u   r   c   e   I   n   f   o       =   >    
0100440    R   E   S   U   M   E   [   t   r   e   e   .   p   o   s   i
0100460    t   i   o   n   ,       t   r   e   e   .   l   e   n   g   t
0100500    h   ]   ;  \r   t   e   m   p   0       _       T   r   u   e
0100520    [   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   M   u
0100540    l   t   O   p   m   o   d   P   r   o   d   I   s   D   i   v
0100560    i   d   e   :  \t   P   U   B   L   I   C       P   R   O   C
0100600    [   r   e   f   :       R   E   F       A   N   Y   ]       R
0100620    E   T   U   R   N   S   [   t   e   m   p   0   :       B   O
0100640    O   L   E   A   N   ]       =  \r   B   E   G   I   N  \r   t
0100660    r   e   e   :  \t   M   u   l   t   O   p   N   o   d   e   _
0100700        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0100720    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0100740    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0100760    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0101000    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0101020        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0101040    e   m   p   0       _       F   a   l   s   e   [   ]   ;  \r
0101060    E   N   D  \r   E   N   D   ;  \r  \r   M   u   l   t   O   p
0101100    m   o   d   P   r   o   d   I   s   T   i   m   e   s   :  \t
0101120    P   U   B   L   I   C       P   R   O   C   [   r   e   f   :
0101140        R   E   F       A   N   Y   ]       R   E   T   U   R   N
0101160    S   [   t   e   m   p   0   :       B   O   O   L   E   A   N
0101200    ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t
0101220    M   u   l   t   O   p   N   o   d   e   _       N   A   R   R
0101240    O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E
0101260    N   A   B   L   E       T   h   r   e   e   C   4   S   u   p
0101300    p   o   r   t   .   G   e   t   S   o   u   r   c   e   I   n
0101320    f   o       =   >       R   E   S   U   M   E   [   t   r   e
0101340    e   .   p   o   s   i   t   i   o   n   ,       t   r   e   e
0101360    .   l   e   n   g   t   h   ]   ;  \r   t   e   m   p   0    
0101400    _       F   a   l   s   e   [   ]   ;  \r   E   N   D  \r   E
0101420    N   D   ;  \r  \r   R   e   l   o   p   e   q   P   r   o   d
0101440    G   e   t   R   e   l   a   t   i   o   n   O   p   :  \t   P
0101460    U   B   L   I   C       P   R   O   C   [   r   e   f   :    
0101500    R   E   F       A   N   Y   ]       R   E   T   U   R   N   S
0101520    [   t   e   m   p   0   :       R   e   l   a   t   i   o   n
0101540    O   p   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0101560    :  \t   R   e   l   o   p   N   o   d   e   _       N   A   R
0101600    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0101620    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0101640    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0101660    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0101700    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0101720    e   .   l   e   n   g   t   h   ]   ;  \r   t   e   m   p   0
0101740        _       R   e   l   a   t   i   o   n   O   p   .   e   q
0101760    ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   R   e   l   o
0102000    p   n   e   P   r   o   d   G   e   t   R   e   l   a   t   i
0102020    o   n   O   p   :  \t   P   U   B   L   I   C       P   R   O
0102040    C   [   r   e   f   :       R   E   F       A   N   Y   ]    
0102060    R   E   T   U   R   N   S   [   t   e   m   p   0   :       R
0102100    e   l   a   t   i   o   n   O   p   ]       =  \r   B   E   G
0102120    I   N  \r   t   r   e   e   :  \t   R   e   l   o   p   N   o
0102140    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0102160   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0102200    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0102220    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0102240    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0102260    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0102300    ;  \r   t   e   m   p   0       _       R   e   l   a   t   i
0102320    o   n   O   p   .   n   e   ;  \r   E   N   D  \r   E   N   D
0102340    ;  \r  \r   R   e   l   o   p   l   t   P   r   o   d   G   e
0102360    t   R   e   l   a   t   i   o   n   O   p   :  \t   P   U   B
0102400    L   I   C       P   R   O   C   [   r   e   f   :       R   E
0102420    F       A   N   Y   ]       R   E   T   U   R   N   S   [   t
0102440    e   m   p   0   :       R   e   l   a   t   i   o   n   O   p
0102460    ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t
0102500    R   e   l   o   p   N   o   d   e   _       N   A   R   R   O
0102520    W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N
0102540    A   B   L   E       T   h   r   e   e   C   4   S   u   p   p
0102560    o   r   t   .   G   e   t   S   o   u   r   c   e   I   n   f
0102600    o       =   >       R   E   S   U   M   E   [   t   r   e   e
0102620    .   p   o   s   i   t   i   o   n   ,       t   r   e   e   .
0102640    l   e   n   g   t   h   ]   ;  \r   t   e   m   p   0       _
0102660        R   e   l   a   t   i   o   n   O   p   .   l   t   ;  \r
0102700    E   N   D  \r   E   N   D   ;  \r  \r   R   e   l   o   p   l
0102720    e   P   r   o   d   G   e   t   R   e   l   a   t   i   o   n
0102740    O   p   :  \t   P   U   B   L   I   C       P   R   O   C   [
0102760    r   e   f   :       R   E   F       A   N   Y   ]       R   E
0103000    T   U   R   N   S   [   t   e   m   p   0   :       R   e   l
0103020    a   t   i   o   n   O   p   ]       =  \r   B   E   G   I   N
0103040   \r   t   r   e   e   :  \t   R   e   l   o   p   N   o   d   e
0103060    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0103100    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0103120    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0103140    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0103160    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0103200    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0103220    t   e   m   p   0       _       R   e   l   a   t   i   o   n
0103240    O   p   .   l   e   ;  \r   E   N   D  \r   E   N   D   ;  \r
0103260   \r   R   e   l   o   p   g   t   P   r   o   d   G   e   t   R
0103300    e   l   a   t   i   o   n   O   p   :  \t   P   U   B   L   I
0103320    C       P   R   O   C   [   r   e   f   :       R   E   F    
0103340    A   N   Y   ]       R   E   T   U   R   N   S   [   t   e   m
0103360    p   0   :       R   e   l   a   t   i   o   n   O   p   ]    
0103400    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   R   e
0103420    l   o   p   N   o   d   e   _       N   A   R   R   O   W   [
0103440    r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B
0103460    L   E       T   h   r   e   e   C   4   S   u   p   p   o   r
0103500    t   .   G   e   t   S   o   u   r   c   e   I   n   f   o    
0103520    =   >       R   E   S   U   M   E   [   t   r   e   e   .   p
0103540    o   s   i   t   i   o   n   ,       t   r   e   e   .   l   e
0103560    n   g   t   h   ]   ;  \r   t   e   m   p   0       _       R
0103600    e   l   a   t   i   o   n   O   p   .   g   t   ;  \r   E   N
0103620    D  \r   E   N   D   ;  \r  \r   R   e   l   o   p   g   e   P
0103640    r   o   d   G   e   t   R   e   l   a   t   i   o   n   O   p
0103660    :  \t   P   U   B   L   I   C       P   R   O   C   [   r   e
0103700    f   :       R   E   F       A   N   Y   ]       R   E   T   U
0103720    R   N   S   [   t   e   m   p   0   :       R   e   l   a   t
0103740    i   o   n   O   p   ]       =  \r   B   E   G   I   N  \r   t
0103760    r   e   e   :  \t   R   e   l   o   p   N   o   d   e   _    
0104000    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0104020    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0104040    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0104060    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0104100    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0104120    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   e
0104140    m   p   0       _       R   e   l   a   t   i   o   n   O   p
0104160    .   g   e   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   I
0104200    n   i   t   i   a   l   i   z   a   t   i   o   n   e   m   p
0104220    t   y   P   r   o   d   G   e   t   I   n   i   t   i   a   l
0104240    V   a   l   u   e   :  \t   P   U   B   L   I   C       P   R
0104260    O   C   [   r   e   f   :       R   E   F       A   N   Y   ,
0104300        t   g   n   :       T   y   p   e   G   r   a   p   h   N
0104320    o   d   e   N   o   d   e   ,       l   o   c   a   l   C   o
0104340    n   t   e   x   t   :       L   o   c   a   l   C   o   n   t
0104360    e   x   t   N   o   d   e   ,       c   s   :       C   o   m
0104400    p   i   l   e   r   S   t   a   t   e   N   o   d   e   ]    
0104420    R   E   T   U   R   N   S   [   t   e   m   p   0   :       V
0104440    a   l   u   e   N   o   d   e   ,       t   e   m   p   1   :
0104460        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0104500    e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :
0104520   \t   I   n   i   t   i   a   l   i   z   a   t   i   o   n   N
0104540    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0104560    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0104600    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0104620    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0104640    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0104660    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0104700    ]   ;  \r   t   e   m   p   1       _       F   a   k   e   D
0104720    a   m   a   g   e   C   o   n   t   e   x   t   [   l   o   c
0104740    a   l   C   o   n   t   e   x   t   ]   ;  \r   t   e   m   p
0104760    0       _       M   a   k   e   D   e   f   a   u   l   t   M
0105000    e   V   a   l   u   e   [   ]   ;  \r   E   N   D  \r   E   N
0105020    D   ;  \r  \r   I   n   i   t   i   a   l   i   z   a   t   i
0105040    o   n   e   m   p   t   y   P   r   o   d   I   n   i   t   i
0105060    a   l   i   z   a   t   i   o   n   I   s   A   s   s   i   g
0105100    n   m   e   n   t   :  \t   P   U   B   L   I   C       P   R
0105120    O   C   [   r   e   f   :       R   E   F       A   N   Y   ]
0105140        R   E   T   U   R   N   S   [   t   e   m   p   0   :    
0105160    B   O   O   L   E   A   N   ]       =  \r   B   E   G   I   N
0105200   \r   t   r   e   e   :  \t   I   n   i   t   i   a   l   i   z
0105220    a   t   i   o   n   N   o   d   e   _       N   A   R   R   O
0105240    W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N
0105260    A   B   L   E       T   h   r   e   e   C   4   S   u   p   p
0105300    o   r   t   .   G   e   t   S   o   u   r   c   e   I   n   f
0105320    o       =   >       R   E   S   U   M   E   [   t   r   e   e
0105340    .   p   o   s   i   t   i   o   n   ,       t   r   e   e   .
0105360    l   e   n   g   t   h   ]   ;  \r   t   e   m   p   0       _
0105400        F   a   l   s   e   [   ]   ;  \r   E   N   D  \r   E   N
0105420    D   ;  \r  \r   I   n   i   t   i   a   l   i   z   a   t   i
0105440    o   n   e   m   p   t   y   P   r   o   d   I   n   i   t   i
0105460    a   l   i   z   a   t   i   o   n   I   s   B   i   n   d   i
0105500    n   g   :  \t   P   U   B   L   I   C       P   R   O   C   [
0105520    r   e   f   :       R   E   F       A   N   Y   ]       R   E
0105540    T   U   R   N   S   [   t   e   m   p   0   :       B   O   O
0105560    L   E   A   N   ]       =  \r   B   E   G   I   N  \r   t   r
0105600    e   e   :  \t   I   n   i   t   i   a   l   i   z   a   t   i
0105620    o   n   N   o   d   e   _       N   A   R   R   O   W   [   r
0105640    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0105660    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0105700    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0105720    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0105740    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0105760    g   t   h   ]   ;  \r   t   e   m   p   0       _       F   a
0106000    l   s   e   [   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r
0106020   \r   I   n   i   t   i   a   l   i   z   a   t   i   o   n   e
0106040    m   p   t   y   P   r   o   d   I   n   i   t   i   a   l   i
0106060    z   a   t   i   o   n   I   s   E   m   p   t   y   :  \t   P
0106100    U   B   L   I   C       P   R   O   C   [   r   e   f   :    
0106120    R   E   F       A   N   Y   ]       R   E   T   U   R   N   S
0106140    [   t   e   m   p   0   :       B   O   O   L   E   A   N   ]
0106160        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   I
0106200    n   i   t   i   a   l   i   z   a   t   i   o   n   N   o   d
0106220    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0106240    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0106260    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0106300    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0106320    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0106340    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0106360   \r   t   e   m   p   0       _       T   r   u   e   [   ]   ;
0106400   \r   E   N   D  \r   E   N   D   ;  \r  \r   I   n   i   t   i
0106420    a   l   i   z   a   t   i   o   n   b   i   n   d   i   n   g
0106440    P   r   o   d   G   e   t   I   n   i   t   i   a   l   V   a
0106460    l   u   e   :  \t   P   U   B   L   I   C       P   R   O   C
0106500    [   r   e   f   :       R   E   F       A   N   Y   ,       t
0106520    g   n   :       T   y   p   e   G   r   a   p   h   N   o   d
0106540    e   N   o   d   e   ,       l   o   c   a   l   C   o   n   t
0106560    e   x   t   :       L   o   c   a   l   C   o   n   t   e   x
0106600    t   N   o   d   e   ,       c   s   :       C   o   m   p   i
0106620    l   e   r   S   t   a   t   e   N   o   d   e   ]       R   E
0106640    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0106660    u   e   N   o   d   e   ,       t   e   m   p   1   :       L
0106700    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0106720        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   I
0106740    n   i   t   i   a   l   i   z   a   t   i   o   n   N   o   d
0106760    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0107000    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0107020    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0107040    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0107060    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0107100    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0107120   \r   t   r   e   e   D   a   t   a   :  \t   I   n   i   t   i
0107140    a   l   i   z   a   t   i   o   n   b   i   n   d   i   n   g
0107160    P   r   o   d   D   a   t   a       _       N   A   R   R   O
0107200    W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   [   t
0107220    e   m   p   0   ,       t   e   m   p   1   ]       _       t
0107240    r   e   e   D   a   t   a   .   I   n   i   t   i   a   l   V
0107260    a   l   u   e   .   p   r   o   c   s   .   G   e   t   I   n
0107300    i   t   i   a   l   V   a   l   u   e   [   t   r   e   e   D
0107320    a   t   a   .   I   n   i   t   i   a   l   V   a   l   u   e
0107340    ,       t   g   n   ,       l   o   c   a   l   C   o   n   t
0107360    e   x   t   ,       c   s   ]   ;  \r   E   N   D  \r   E   N
0107400    D   ;  \r  \r   I   n   i   t   i   a   l   i   z   a   t   i
0107420    o   n   b   i   n   d   i   n   g   P   r   o   d   I   n   i
0107440    t   i   a   l   i   z   a   t   i   o   n   I   s   A   s   s
0107460    i   g   n   m   e   n   t   :  \t   P   U   B   L   I   C    
0107500    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0107520    Y   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0107540    :       B   O   O   L   E   A   N   ]       =  \r   B   E   G
0107560    I   N  \r   t   r   e   e   :  \t   I   n   i   t   i   a   l
0107600    i   z   a   t   i   o   n   N   o   d   e   _       N   A   R
0107620    R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r
0107640    E   N   A   B   L   E       T   h   r   e   e   C   4   S   u
0107660    p   p   o   r   t   .   G   e   t   S   o   u   r   c   e   I
0107700    n   f   o       =   >       R   E   S   U   M   E   [   t   r
0107720    e   e   .   p   o   s   i   t   i   o   n   ,       t   r   e
0107740    e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D
0107760    a   t   a   :  \t   I   n   i   t   i   a   l   i   z   a   t
0110000    i   o   n   b   i   n   d   i   n   g   P   r   o   d   D   a
0110020    t   a       _       N   A   R   R   O   W   [   t   r   e   e
0110040    .   d   a   t   a   ]   ;  \r   t   e   m   p   0       _    
0110060    F   a   l   s   e   [   ]   ;  \r   E   N   D  \r   E   N   D
0110100    ;  \r  \r   I   n   i   t   i   a   l   i   z   a   t   i   o
0110120    n   b   i   n   d   i   n   g   P   r   o   d   I   n   i   t
0110140    i   a   l   i   z   a   t   i   o   n   I   s   B   i   n   d
0110160    i   n   g   :  \t   P   U   B   L   I   C       P   R   O   C
0110200    [   r   e   f   :       R   E   F       A   N   Y   ]       R
0110220    E   T   U   R   N   S   [   t   e   m   p   0   :       B   O
0110240    O   L   E   A   N   ]       =  \r   B   E   G   I   N  \r   t
0110260    r   e   e   :  \t   I   n   i   t   i   a   l   i   z   a   t
0110300    i   o   n   N   o   d   e   _       N   A   R   R   O   W   [
0110320    r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B
0110340    L   E       T   h   r   e   e   C   4   S   u   p   p   o   r
0110360    t   .   G   e   t   S   o   u   r   c   e   I   n   f   o    
0110400    =   >       R   E   S   U   M   E   [   t   r   e   e   .   p
0110420    o   s   i   t   i   o   n   ,       t   r   e   e   .   l   e
0110440    n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :
0110460   \t   I   n   i   t   i   a   l   i   z   a   t   i   o   n   b
0110500    i   n   d   i   n   g   P   r   o   d   D   a   t   a       _
0110520        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0110540    a   ]   ;  \r   t   e   m   p   0       _       T   r   u   e
0110560    [   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   I   n
0110600    i   t   i   a   l   i   z   a   t   i   o   n   b   i   n   d
0110620    i   n   g   P   r   o   d   I   n   i   t   i   a   l   i   z
0110640    a   t   i   o   n   I   s   E   m   p   t   y   :  \t   P   U
0110660    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0110700    E   F       A   N   Y   ]       R   E   T   U   R   N   S   [
0110720    t   e   m   p   0   :       B   O   O   L   E   A   N   ]    
0110740    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   I   n
0110760    i   t   i   a   l   i   z   a   t   i   o   n   N   o   d   e
0111000    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0111020    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0111040    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0111060    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0111100    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0111120    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0111140    t   r   e   e   D   a   t   a   :  \t   I   n   i   t   i   a
0111160    l   i   z   a   t   i   o   n   b   i   n   d   i   n   g   P
0111200    r   o   d   D   a   t   a       _       N   A   R   R   O   W
0111220    [   t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e   m
0111240    p   0       _       F   a   l   s   e   [   ]   ;  \r   E   N
0111260    D  \r   E   N   D   ;  \r  \r   I   n   i   t   i   a   l   i
0111300    z   a   t   i   o   n   a   s   s   i   g   n   m   e   n   t
0111320    P   r   o   d   G   e   t   I   n   i   t   i   a   l   V   a
0111340    l   u   e   :  \t   P   U   B   L   I   C       P   R   O   C
0111360    [   r   e   f   :       R   E   F       A   N   Y   ,       t
0111400    g   n   :       T   y   p   e   G   r   a   p   h   N   o   d
0111420    e   N   o   d   e   ,       l   o   c   a   l   C   o   n   t
0111440    e   x   t   :       L   o   c   a   l   C   o   n   t   e   x
0111460    t   N   o   d   e   ,       c   s   :       C   o   m   p   i
0111500    l   e   r   S   t   a   t   e   N   o   d   e   ]       R   E
0111520    T   U   R   N   S   [   t   e   m   p   0   :       V   a   l
0111540    u   e   N   o   d   e   ,       t   e   m   p   1   :       L
0111560    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0111600        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   I
0111620    n   i   t   i   a   l   i   z   a   t   i   o   n   N   o   d
0111640    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0111660    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0111700    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0111720    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0111740    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0111760    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0112000   \r   t   r   e   e   D   a   t   a   :  \t   I   n   i   t   i
0112020    a   l   i   z   a   t   i   o   n   a   s   s   i   g   n   m
0112040    e   n   t   P   r   o   d   D   a   t   a       _       N   A
0112060    R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;
0112100   \r   [   t   e   m   p   0   ,       t   e   m   p   1   ]    
0112120    _       t   r   e   e   D   a   t   a   .   I   n   i   t   i
0112140    a   l   V   a   l   u   e   .   p   r   o   c   s   .   G   e
0112160    t   I   n   i   t   i   a   l   V   a   l   u   e   [   t   r
0112200    e   e   D   a   t   a   .   I   n   i   t   i   a   l   V   a
0112220    l   u   e   ,       t   g   n   ,       l   o   c   a   l   C
0112240    o   n   t   e   x   t   ,       c   s   ]   ;  \r   E   N   D
0112260   \r   E   N   D   ;  \r  \r   I   n   i   t   i   a   l   i   z
0112300    a   t   i   o   n   a   s   s   i   g   n   m   e   n   t   P
0112320    r   o   d   I   n   i   t   i   a   l   i   z   a   t   i   o
0112340    n   I   s   A   s   s   i   g   n   m   e   n   t   :  \t   P
0112360    U   B   L   I   C       P   R   O   C   [   r   e   f   :    
0112400    R   E   F       A   N   Y   ]       R   E   T   U   R   N   S
0112420    [   t   e   m   p   0   :       B   O   O   L   E   A   N   ]
0112440        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   I
0112460    n   i   t   i   a   l   i   z   a   t   i   o   n   N   o   d
0112500    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0112520    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0112540    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0112560    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0112600    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0112620    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0112640   \r   t   r   e   e   D   a   t   a   :  \t   I   n   i   t   i
0112660    a   l   i   z   a   t   i   o   n   a   s   s   i   g   n   m
0112700    e   n   t   P   r   o   d   D   a   t   a       _       N   A
0112720    R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;
0112740   \r   t   e   m   p   0       _       T   r   u   e   [   ]   ;
0112760   \r   E   N   D  \r   E   N   D   ;  \r  \r   I   n   i   t   i
0113000    a   l   i   z   a   t   i   o   n   a   s   s   i   g   n   m
0113020    e   n   t   P   r   o   d   I   n   i   t   i   a   l   i   z
0113040    a   t   i   o   n   I   s   B   i   n   d   i   n   g   :  \t
0113060    P   U   B   L   I   C       P   R   O   C   [   r   e   f   :
0113100        R   E   F       A   N   Y   ]       R   E   T   U   R   N
0113120    S   [   t   e   m   p   0   :       B   O   O   L   E   A   N
0113140    ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t
0113160    I   n   i   t   i   a   l   i   z   a   t   i   o   n   N   o
0113200    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0113220   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0113240    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0113260    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0113300    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0113320    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0113340    ;  \r   t   r   e   e   D   a   t   a   :  \t   I   n   i   t
0113360    i   a   l   i   z   a   t   i   o   n   a   s   s   i   g   n
0113400    m   e   n   t   P   r   o   d   D   a   t   a       _       N
0113420    A   R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]
0113440    ;  \r   t   e   m   p   0       _       F   a   l   s   e   [
0113460    ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   I   n   i
0113500    t   i   a   l   i   z   a   t   i   o   n   a   s   s   i   g
0113520    n   m   e   n   t   P   r   o   d   I   n   i   t   i   a   l
0113540    i   z   a   t   i   o   n   I   s   E   m   p   t   y   :  \t
0113560    P   U   B   L   I   C       P   R   O   C   [   r   e   f   :
0113600        R   E   F       A   N   Y   ]       R   E   T   U   R   N
0113620    S   [   t   e   m   p   0   :       B   O   O   L   E   A   N
0113640    ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t
0113660    I   n   i   t   i   a   l   i   z   a   t   i   o   n   N   o
0113700    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0113720   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0113740    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0113760    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0114000    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0114020    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0114040    ;  \r   t   r   e   e   D   a   t   a   :  \t   I   n   i   t
0114060    i   a   l   i   z   a   t   i   o   n   a   s   s   i   g   n
0114100    m   e   n   t   P   r   o   d   D   a   t   a       _       N
0114120    A   R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]
0114140    ;  \r   t   e   m   p   0       _       F   a   l   s   e   [
0114160    ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   I   n   i
0114200    t   i   a   l   V   a   l   u   e   t   r   a   s   h   P   r
0114220    o   d   G   e   t   I   n   i   t   i   a   l   V   a   l   u
0114240    e   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0114260    e   f   :       R   E   F       A   N   Y   ,       t   g   n
0114300    :       T   y   p   e   G   r   a   p   h   N   o   d   e   N
0114320    o   d   e   ,       l   o   c   a   l   C   o   n   t   e   x
0114340    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0114360    o   d   e   ,       c   s   :       C   o   m   p   i   l   e
0114400    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0114420    R   N   S   [   t   e   m   p   0   :       V   a   l   u   e
0114440    N   o   d   e   ,       t   e   m   p   1   :       L   o   c
0114460    a   l   C   o   n   t   e   x   t   N   o   d   e   ]       =
0114500   \r   B   E   G   I   N  \r   t   r   e   e   :  \t   I   n   i
0114520    t   i   a   l   V   a   l   u   e   N   o   d   e   _       N
0114540    A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I
0114560    N  \r   E   N   A   B   L   E       T   h   r   e   e   C   4
0114600    S   u   p   p   o   r   t   .   G   e   t   S   o   u   r   c
0114620    e   I   n   f   o       =   >       R   E   S   U   M   E   [
0114640    t   r   e   e   .   p   o   s   i   t   i   o   n   ,       t
0114660    r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   e   m
0114700    p   1       _       F   a   k   e   D   a   m   a   g   e   C
0114720    o   n   t   e   x   t   [   l   o   c   a   l   C   o   n   t
0114740    e   x   t   ]   ;  \r   t   e   m   p   0       _       M   a
0114760    k   e   T   r   a   s   h   [   t   g   n   ]   ;  \r   E   N
0115000    D  \r   E   N   D   ;  \r  \r   I   n   i   t   i   a   l   V
0115020    a   l   u   e   c   o   d   e   P   r   o   d   G   e   t   I
0115040    n   i   t   i   a   l   V   a   l   u   e   :  \t   P   U   B
0115060    L   I   C       P   R   O   C   [   r   e   f   :       R   E
0115100    F       A   N   Y   ,       t   g   n   :       T   y   p   e
0115120    G   r   a   p   h   N   o   d   e   N   o   d   e   ,       l
0115140    o   c   a   l   C   o   n   t   e   x   t   :       L   o   c
0115160    a   l   C   o   n   t   e   x   t   N   o   d   e   ,       c
0115200    s   :       C   o   m   p   i   l   e   r   S   t   a   t   e
0115220    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0115240    m   p   0   :       V   a   l   u   e   N   o   d   e   ,    
0115260    t   e   m   p   1   :       L   o   c   a   l   C   o   n   t
0115300    e   x   t   N   o   d   e   ]       =  \r   B   E   G   I   N
0115320   \r   t   r   e   e   :  \t   I   n   i   t   i   a   l   V   a
0115340    l   u   e   N   o   d   e   _       N   A   R   R   O   W   [
0115360    r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B
0115400    L   E       T   h   r   e   e   C   4   S   u   p   p   o   r
0115420    t   .   G   e   t   S   o   u   r   c   e   I   n   f   o    
0115440    =   >       R   E   S   U   M   E   [   t   r   e   e   .   p
0115460    o   s   i   t   i   o   n   ,       t   r   e   e   .   l   e
0115500    n   g   t   h   ]   ;  \r   t   e   m   p   1       _       F
0115520    a   k   e   D   a   m   a   g   e   C   o   n   t   e   x   t
0115540    [   l   o   c   a   l   C   o   n   t   e   x   t   ]   ;  \r
0115560    t   e   m   p   0       _       M   a   k   e   D   u   m   m
0115600    y   [   "   I   n   i   t   i   a   l   V   a   l   u   e   .
0115620    c   o   d   e   "   ]   ;  \r   E   N   D  \r   E   N   D   ;
0115640   \r  \r   I   n   i   t   i   a   l   V   a   l   u   e   e   x
0115660    p   P   r   o   d   G   e   t   I   n   i   t   i   a   l   V
0115700    a   l   u   e   :  \t   P   U   B   L   I   C       P   R   O
0115720    C   [   r   e   f   :       R   E   F       A   N   Y   ,    
0115740    t   g   n   :       T   y   p   e   G   r   a   p   h   N   o
0115760    d   e   N   o   d   e   ,       l   o   c   a   l   C   o   n
0116000    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0116020    x   t   N   o   d   e   ,       c   s   :       C   o   m   p
0116040    i   l   e   r   S   t   a   t   e   N   o   d   e   ]       R
0116060    E   T   U   R   N   S   [   t   e   m   p   0   :       V   a
0116100    l   u   e   N   o   d   e   ,       t   e   m   p   1   :    
0116120    L   o   c   a   l   C   o   n   t   e   x   t   N   o   d   e
0116140    ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t
0116160    I   n   i   t   i   a   l   V   a   l   u   e   N   o   d   e
0116200    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0116220    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0116240    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0116260    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0116300    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0116320    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0116340    t   r   e   e   D   a   t   a   :  \t   I   n   i   t   i   a
0116360    l   V   a   l   u   e   e   x   p   P   r   o   d   D   a   t
0116400    a       _       N   A   R   R   O   W   [   t   r   e   e   .
0116420    d   a   t   a   ]   ;  \r   t   e   m   p   1       _       F
0116440    a   k   e   D   a   m   a   g   e   C   o   n   t   e   x   t
0116460    [   l   o   c   a   l   C   o   n   t   e   x   t   ]   ;  \r
0116500    t   e   m   p   0       _       M   a   k   e   U   n   p   a
0116520    r   s   e   d   V   a   l   u   e   [   t   r   e   e   D   a
0116540    t   a   .   E   x   p   ]   ;  \r   E   N   D  \r   E   N   D
0116560    ;  \r  \r   I   n   i   t   i   a   l   V   a   l   u   e   b
0116600    l   o   c   k   P   r   o   d   G   e   t   I   n   i   t   i
0116620    a   l   V   a   l   u   e   :  \t   P   U   B   L   I   C    
0116640    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0116660    Y   ,       t   g   n   :       T   y   p   e   G   r   a   p
0116700    h   N   o   d   e   N   o   d   e   ,       l   o   c   a   l
0116720    C   o   n   t   e   x   t   :       L   o   c   a   l   C   o
0116740    n   t   e   x   t   N   o   d   e   ,       c   s   :       C
0116760    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0117000    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0117020        V   a   l   u   e   N   o   d   e   ,       t   e   m   p
0117040    1   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0117060    o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e
0117100    e   :  \t   I   n   i   t   i   a   l   V   a   l   u   e   N
0117120    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0117140    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0117160    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0117200    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0117220    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0117240    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0117260    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   I   n   i
0117300    t   i   a   l   V   a   l   u   e   b   l   o   c   k   P   r
0117320    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0117340    t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e   m   p
0117360    1       _       F   a   k   e   D   a   m   a   g   e   C   o
0117400    n   t   e   x   t   [   l   o   c   a   l   C   o   n   t   e
0117420    x   t   ]   ;  \r   t   e   m   p   0       _       M   a   k
0117440    e   D   u   m   m   y   [   "   I   n   i   t   i   a   l   V
0117460    a   l   u   e   .   b   l   o   c   k   "   ]   ;  \r   E   N
0117500    D  \r   E   N   D   ;  \r  \r   I   n   i   t   i   a   l   V
0117520    a   l   u   e   m   a   c   h   i   n   e   c   o   d   e   P
0117540    r   o   d   G   e   t   I   n   i   t   i   a   l   V   a   l
0117560    u   e   :  \t   P   U   B   L   I   C       P   R   O   C   [
0117600    r   e   f   :       R   E   F       A   N   Y   ,       t   g
0117620    n   :       T   y   p   e   G   r   a   p   h   N   o   d   e
0117640    N   o   d   e   ,       l   o   c   a   l   C   o   n   t   e
0117660    x   t   :       L   o   c   a   l   C   o   n   t   e   x   t
0117700    N   o   d   e   ,       c   s   :       C   o   m   p   i   l
0117720    e   r   S   t   a   t   e   N   o   d   e   ]       R   E   T
0117740    U   R   N   S   [   t   e   m   p   0   :       V   a   l   u
0117760    e   N   o   d   e   ,       t   e   m   p   1   :       L   o
0120000    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]    
0120020    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   I   n
0120040    i   t   i   a   l   V   a   l   u   e   N   o   d   e   _    
0120060    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0120100    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0120120    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0120140    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0120160    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0120200    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r
0120220    e   e   D   a   t   a   :  \t   I   n   i   t   i   a   l   V
0120240    a   l   u   e   m   a   c   h   i   n   e   c   o   d   e   P
0120260    r   o   d   D   a   t   a       _       N   A   R   R   O   W
0120300    [   t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e   m
0120320    p   1       _       F   a   k   e   D   a   m   a   g   e   C
0120340    o   n   t   e   x   t   [   l   o   c   a   l   C   o   n   t
0120360    e   x   t   ]   ;  \r   t   e   m   p   0       _       M   a
0120400    k   e   D   u   m   m   y   [   "   I   n   i   t   i   a   l
0120420    V   a   l   u   e   .   m   a   c   h   i   n   e   c   o   d
0120440    e   "   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   E
0120460    N   D   .   .  \r                                            
0120465