
    }Yh                     z    d dl Z d dlmZ d dlZd dlmZ ddZd Zdej        j	        dee
         fdZddefd
ZdS )    N)Optional)
LazyStringc                       fddvrdd<   dv r:	 t           j                                        sdd<   n# t          $ r dd<   Y nw xY wt	          fd          S )z;
    Returns a LazyString that formats the graph code.
    c                        d  S S )N  )maybe_idnames   a/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/torch/fx/_utils.pyformat_namez+lazy_format_graph_code.<locals>.format_name   s"    ''X'''K    print_outputFcoloredc            	      r    t          d               dj        j        j         j        di           S )Nz===== z =====
r   )_format_graph_codeforward__code__co_filenameprint_readable)r   gmkwargss   r   <lambda>z(lazy_format_graph_code.<locals>.<lambda>   sG    ",[[]],,,J+B''''
 
 r   )sysstdoutisattyAttributeErrorr   )r
   r   r	   r   r   s   ````@r   lazy_format_graph_coder   	   s    
      V##!&~F	&:$$&& *$)y! 	& 	& 	& %F9	& 	
 	
 	
 	
 	
 	
  s   #> AAc                     d|  d| d| dS )z7
    Returns a string that formats the graph code.
    zTRACED GRAPH
 r   
r   )r
   filename	graph_strs      r   r   r   '   s%     =T<<H<<y<<<<r   graphreturnc                 `    | j         D ]%}|j        dk    rd|j        v r|j        d         c S &dS )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+   .   sI      0 07o%%*;ty*H*H9.////4r      c                     g }| }t          |          D ]=}|                    |                                           |j        dk    r n|j        }>d                    |ddd                   S )zD
    Returns a string of the last num_nodes nodes in the graph.
    rootr   N)rangeappendformat_noder(   prevjoin)r*   	num_nodesnode_contextscur_s        r   get_node_contextr9   8   s{     M
C9  S__..///6VEh99]44R4()))r   )N)r,   )r   typingr   torchtorch._loggingr   r   r   fxGraphdictr+   strr9   r   r   r   <module>rA      s    



        % % % % % %   <= = =ux~ (4.    * *3 * * * * * *r   