
    #h                        U d dl Z d dlmZ d dlmZmZmZ ddlmZ g dZ	i a
eeef         ed<   da ed	          ed
                         Z ed	          dee         fd            Z ed	          d             Z ed	          d             Z ed	          dee         fd            Z ed	          defd            Z ed	          ed                         Z ed	          deeef         fd            ZdS )    N)contextmanager)ListAnyDict   )compatibility)preserve_node_metahas_preserved_node_metaset_stack_traceset_grad_fn_seq_nrreset_grad_fn_seq_nrformat_stackset_current_metaget_current_metacurrent_metaF)is_backward_compatiblec               #   8   K   t           } 	 da d V  | a d S # | a w xY w)NTshould_preserve_node_meta)saved_should_preserve_node_metas    R/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/torch/fx/traceback.pyr	   r	      sC      
 '@#D$(!$C!!!$C!CCCCs    stackc                 Z    t           r!| r!d                    |           t          d<   d S d S d S )N stack_trace)r   joinr   )r   s    r   r   r      sA     ! 5U 5&(ggenn]###5 5 5 5    c                     t           r\t                              dd           t          d<   t                              dd           t          d<   | t          d<   dt          d<   d S d S )Ngrad_fn_seq_nrprev_grad_fn_seq_nr
in_grad_fnprev_in_grad_fnT)r   r   get)seq_nrs    r   r   r   #   si     ! *.:.>.>?OQU.V.V*+*6*:*:<*N*N&')/%&%)\"""* *r   c                      t           rXt          d         t          d         J t          d= t          d= t          d         t          d<   t          d         t          d<   d S d S )Nr    r"   r   r!   )r   r    r   r   r   r   /   so     ! E-.6 12:::-.\*)56K)L%&%12C%D\"""E Er   returnc                      t           rt                              dd          gS t          j        t          j                    d d                   S )Nr   r   )r   r   r#   	tracebackformat_listextract_stackr&   r   r   r   r   >   sI      E  3344 $Y%<%>%>ss%CDDDr   c                      t           S Nr   r&   r   r   r
   r
   G   s    $$r   c              #   l  K   t           r| j        rt          }	 | j                                        adt          vr| j        | j        fgt          d<   nNt          d         d         d         | j        k    r,t          d                             | j        | j        f           d V  |ad S # |aw xY wd V  d S )N	from_noder)   r   )r   metar   copynametargetappend)node
saved_metas     r   r   r   L   s       ! TY !
	&9>>++L ,...2i-E,F[))k*2.q1TY>>[)00$)T[1IJJJEEE%LLL:L%%%%s   BB) )B-c                      t           S r.   )r   r&   r   r   r   r   b   s    r   )r*   
contextlibr   typingr   r   r   _compatibilityr   __all__r   str__annotations__r   r	   r   r   r   r   boolr
   r   r   r&   r   r   <module>r@      s;        % % % % % % " " " " " " " " " " ) ) ) ) ) )C C C  "d38n ! ! !!  e,,,D D  -,D e,,,5DI 5 5 5 -,5 e,,,* * -,* e,,,E E -,E e,,,Ed3i E E E -,E e,,,% % % % -,% e,,,   -,( e,,,$sCx.    -,  r   