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