
    9j]              
           U d Z ddlZddlZddlZddlmZ ddlmZ ddlZ	i Z
eeef   ed<    e       Zee   ed<   dedz  defd	Zd
eddfdZdeej&                     deeeef      fdZdedeeeef      fdZ	 ddededeeeef      fdZy)zG
Utilities for converting data types into structured JSON for dumping.
    N)Sequence)AnyINTERN_TABLEDUMPED_FILESsreturnc                       yt         j                         Ht        t               t          <   t        j                  j
                  j                  d fdd       S )Nstrc                       fS N )rr   s   Y/media/conek/DATA/Code/OCR/venv/lib/python3.12/site-packages/torch/_logging/structured.py<lambda>zintern_string.<locals>.<lambda>   s    Aq6     T)suppress_context)r   getlentorch_logging	_internaltrace_structured)r   r   s   `@r   intern_stringr      s^    yAyQ  11>D 	2 	
 Hr   filenamec                      d vry  t         v ry t         j                          ddlm t        j
                  j                  j                  d fd fd       y )Neval_with_keyr   )_loader	dump_filec                      d iS )Nnamer   )r   s   r   r   zdump_file.<locals>.<lambda>,   s    H
 r   c                  &     j                        S r   )
get_source)r   r   s   r   r   zdump_file.<locals>.<lambda>/   s    7--h7 r   )metadata_fn
payload_fn)r   addtorch.fx.graph_moduler   r   r   r   r   )r   r   s   `@r   r   r   "   sT    h&<X-	NN--
 8 . r   tbc                     | D cg c]:  }|j                   |j                  t        |j                        |j                  d< }}|S c c}w )N)liner!   r   loc)linenor!   r   r   r*   )r(   framer   s      r   from_tracebackr.   3   sR     	  LLJJ%enn5::		
	A 	 H	s   ?A
num_framesc                    ddl m} ddlm} |j	                         }|rt        |d| z  d        S |j                         j                         }t        j                  j                  t        j                  t                    t        j                  j                  z   }t        t!        |            D ]@  \  }}||j"                  vs|t%        |      |z
  | z
  t%        |      |z
   }t        |      c S  t        |d| z  d        S )Nr   )TracingContextCapturedTracebackr
   )torch._guardsr1   torch.utils._tracebackr3   extract_stackr.   extractsummaryospathdirnameinspectgetfiler   sep	enumeratereversedr   r   )	r/   r1   r3   user_tbr(   torch_filepathir-   filtered_tbs	            r   get_user_stackrE   B   s    ,8**,Ggb:o&7899		"	"	$	,	,	.B WW__W__U%;<rww{{JNhrl+ /5/SWq[:5B!DK!+..	/ "R*_./00r   cppc                 8   ddl m} ddlm} |j	                  |      j                         }|D cg c]N  }|j                  j                  d      r|j                   |       vsd|j                  v sd|j                  v r|P }}t        |d| z  d	       S c c}w )
zJ
    Returns the traceback for the user stack and the framework stack
    r   )uninteresting_filesr2   )rF   z.pyzat::ztorch::r
   N)
%torch.fx.experimental.symbolic_shapesrH   r5   r3   r7   r8   r   endswithr!   r.   )r/   rF   rH   r3   r(   r-   s         r   get_framework_stackrK   W   s     J8		"	"s	"	+	3	3	5B 

 ''.NN*=*??%**$	UZZ(? 	

B 

 "R*_./00

s   AB)   F)__doc__r<   r9   	tracebackcollections.abcr   typingr   torch._logging._internalr   r   dictr   int__annotations__setr   r   r   FrameSummarylistr.   rE   boolrK   r   r   r   <module>rY      s     	  $    "d38n ! c#h S4Z C   "x	 6 67 Dc3h<P 1s 1tDcN'; 1, ',11#1	$sCx.1r   