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