o
    ߗi                     @   s   U d Z ddlZddlmZmZmZmZmZ ddlZ	i Z
eeef ed< e Zee ed< dedefdd	Zd
eddfddZdeej deeeef  fddZdS )zG
Utilities for converting data types into structured JSON for dumping.
    N)AnyDictListSequenceSetINTERN_TABLEDUMPED_FILESsreturnc                    sF   t d   d u r!tt   t < tjjjd fdddd  S )Nstrc                      s    fS N r   rr	   r   W/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/torch/_logging/structured.py<lambda>   s    zintern_string.<locals>.<lambda>T)suppress_context)r   getlentorch_logging	_internaltrace_structured)r	   r   r   r   intern_string   s   r   filenamec                    sX   dvrd S t v rd S t  ddlm  tjjjdfdd fddd d S )	Neval_with_keyr   )_loader	dump_filec                      s   d iS )Nnamer   r   r   r   r   r   &   s   zdump_file.<locals>.<lambda>c                      s
     S r   )
get_sourcer   r   r   r   r   r   )   s   
 )metadata_fn
payload_fn)r   addtorch.fx.graph_moduler   r   r   r   r   r   r   r!   r   r      s   


r   tbc                 C   s   dd | D }|S )Nc                 S   s"   g | ]}|j |jt|jd qS ))liner   r   )linenor   r   r   ).0framer   r   r   
<listcomp>0   s    z"from_traceback.<locals>.<listcomp>r   )r&   r   r   r   r   from_traceback-   s   r,   )__doc__	tracebacktypingr   r   r   r   r   torch._logging._internalr   r   r   int__annotations__setr   r   r   FrameSummaryr,   r   r   r   r   <module>   s    (