
    9j[                        d dl Z d dlmZ d dlZd dlmZ 	 ddedej                  j                  de	dz  dedef
d	Z
ded
ededefdZdej                  j                  deeef   dz  fdZddej                  j                  de	defdZy)    N)Any)
LazyStringnamegmmaybe_idkwargsreturnc                      dt         f fddvrdd<   dv r$	 t        j                  j                         sdd<   t        fd      S # t        $ r dd<   Y  w xY w)z;
    Returns a LazyString that formats the graph code.
    r	   c                        d  S S )N  )r   r   s   O/media/conek/DATA/Code/OCR/venv/lib/python3.12/site-packages/torch/fx/_utils.pyformat_namez+lazy_format_graph_code.<locals>.format_name   s    V1XJ''K    print_outputFcoloredc            	          t        d          dj                  j                  j                   j                  di       S )Nz===== z =====
r   )_format_graph_codeforward__code__co_filenameprint_readable)r   r   r   s   r   <lambda>z(lazy_format_graph_code.<locals>.<lambda>    sA    "[]O8,JJ++B''
 r   )strsysstdoutisattyAttributeErrorr   )r   r   r   r   r   s   ````@r   lazy_format_graph_coder      sy      V#!&~F	&::$$&$)y! 	
   	& %F9	&s   #A A%$A%filename	graph_strc                     d|  d| d| dS )z7
    Returns a string that formats the graph code.
    zTRACED GRAPH
 r   
r   )r   r    r!   s      r   r   r   (   s     TF!H:Qyk<<r   graphc                     | j                   D ]1  }|j                  dk(  sd|j                  v s"|j                  d   c S  y)zF
    Returns the nn_module_stack of the first call_function node.
    call_functionnn_module_stackN)nodesopmeta)r$   nodes     r   #first_call_function_nn_module_stackr,   /   sD      077o%*;tyy*H99.//0 r   r+   	num_nodesc                     g }| }t        |      D ]G  }|j                  t        |j                                      |j                  dk(  r n|j
                  }I dj                  |ddd         S )zD
    Returns a string of the last num_nodes nodes in the graph.
    rootr#   N)rangeappendr   format_noder)   prevjoin)r+   r-   node_contextscur_s        r   get_node_contextr9   9   sn     M
C9 S!23466Vhh 99]4R4())r   )N)   )r   typingr   torchtorch._loggingr   r   fxGraphModuleintr   r   Graphdictr,   Noder9   r   r   r   <module>rD      s    
   % AE
88''36:PS@=S =C =C =C =uxx~~ $sCx.SWBW *588== *S * *r   