
    qi7                        U d dl Z d dlmZ d dlmZ d dlmZ eZi ae	e
eegdf   f   ed<   i ae	e
e j                  e   f   ed<   g aee   ed<   defd	Zd
edefdZde
defdZdeddfdZddZdedee
egdf   de
fdZdedede
fdZy)    N)Callable)Any)Sourceindex_to_bytecode_constructor index_to_external_object_weakref
keep_alivereturnc                       t        t              S N)boolr        i/home/ubuntu/crypto_trading_bot/.venv/lib/python3.12/site-packages/torch/_dynamo/graph_bytecode_inputs.pyhas_user_objectsr      s    -..r   objc                 0    t         j                  |        | S r   )r   append)r   s    r   stash_graph_created_objectr      s    cJr   indexc                 f    | t         v sJ d       t        |           }|J d       t        |           S )Nz4Index not registered in index_to_user_object_weakrefzUser object is no longer alive)r   )r   r   s     r   get_external_object_by_indexr   !   sH    44 >4 +5
1
3C?<<<?+E244r   argsc            
          t         j                          t         j                  t        |       D ci c]  \  }}|t	        j
                  |       c}}       y c c}}w r   )r   clearupdate	enumerateweakrefref)r   iargs      r   store_user_object_weakrefsr!   *   sC    $**,$+++4T?;CGKK	;;s    A
c                  |    t         j                          t        j                          t        j                          y r   )r   r   r   r   r   r   r   reset_user_object_trackingr#   2   s&    !'')$**,r   example_valueconstruct_fnc                     t         j                  |        t        t              fdt        <   	 t	        j
                  |       t        <   S # t        $ r!}ddlm	}  |dd|  dg |       Y d }~S d }~ww xY w)Nc                      |       S r   r   )cgr%   r   s    r   <lambda>z/register_graph_created_object.<locals>.<lambda>?   s    l5"6M r      unimplementedz7Failed to make weakref to graph-created external objectuser_object: 0Object does not allow us to make a weakref to itgb_typecontextexplanationhintsfrom_exc)
r   r   lenr   r   r   r   	TypeErrorexcr,   )r$   r%   er,   r   s    `  @r   register_graph_created_objectr9   8   s    
 m$-.E+M!%(
29++m2L(/ L  	
&M#M?3J	
 	
 L	
s   A 	A=A88A=valuesourcec                     t        t              }fdt        |<   	 t        j                  |       t        |<   |S # t
        $ r!}ddlm}  |dd|  dg |       Y d }~|S d }~ww xY w)Nc                      |       S r   r   )r(   r;   s    r   r)   z&register_user_object.<locals>.<lambda>S   s    bj r   r*   r+   z%Failed to make weakref to User Objectr-   r.   r/   )r5   r   r   r   r   r6   r7   r,   )r:   r;   r   r8   r,   s    `   r   register_user_objectr>   P   sx    -.E+@!%(
29++e2D(/ L  	
&;#E7+J	
 	
 L	
s   < 	A&A!!A&)r	   N)r   collections.abcr   typingr   torch._dynamo.sourcer   	PyCodegenr   dictint__annotations__r   ReferenceTyper   listr   r   r   r   r!   r#   r9   r>   r   r   r   <module>rH      s     $  ' 	 IK tC9+t2C)D$DE JJL  $sG,A,A#,F'F"G L
DI /$ /C C 
5 5 5c d &.Y/?/E&F0 V  r   