
    i3	                        S SK r S SKrS SKJr  S SKrS SKrS SKJr  \ R                  " \
5      rS\R                  R                  S\R                  R                  4S jr SS\R                  R                  S\R                  R                  S-  S\4S jjrSS	\S
\S\4S jjr  SS	\\R(                     S
\\   4S jjrg)    N)Optional)inspect_nodenodegraph_modulec                 @    [         R                  [        X5      5        g N)loggerinfoget_node_debug_info)r   r   s     c/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/executorch/backends/arm/common/debug.py
debug_noder      s    
KK#D78    returnc                    U(       a  S[        UR                  U S9 S3OPSU R                   SU R                   SU R                   SU R
                   SU R                   S	U R                   S
3nU R                  R                  5        Hj  u  p4US:X  a*  UR                  S5      nUS-  nU H  nUSU S3-  nM     M5  USU SU S3-  n[        U[        5      (       d  MX  U H  nUSU S3-  nM     Ml     U$ )Nz  )graphr   
z-- NODE DEBUG INFO --
  Op is z
  Name is z
  Node target is z
  Node args is z
  Node kwargs is z
  Node users is z
  Node.meta = 
stack_tracez      'stack_trace =
z      z    'z' = )r   r   opnametargetargskwargsusersmetaitemssplit
isinstancelist)r   r   outputkvmatchesmis           r   r   r      s&   
  \ 2 2>?rB77) YYK   KK= ))) % KK= )::, '  		!ggdmG..FF1#R.(  aSQCr**F!T""Aqcn,F  " Mr   
tosa_graphpathsuffixc                 ~   SU S3n[         R                  SU< SU< 35        [        R                  " USS9  [        R                  R                  X5      n[        US5       nUR                  U 5        S S S 5        [        R                  R                  U5      (       d  [        S5      eg ! , (       d  f       N>= f)	Nr   z.tosazEmitting debug output to: path=z	, suffix=T)exist_okwbzFailed to write TOSA flatbuffer)
r	   r
   osmakedirsr&   joinopenwriteexistsIOError)r%   r&   r'   filenamefilepath_tosa_fbfs         r   debug_tosa_dumpr5   7   s    xu%H
KK2TG:fY?@KKt$ww||D3		%	
 
&77>>*++788 , 
&	%s   $B..
B<c                     [         R                  S5        Ub:  U(       a3  [        UR                  5       U5        [         R                  SU S35        [	        X5        g )Nz*Internal error due to poorly handled node:zDebug output captured in 'z'.)r	   warningr5   	serializer   )r   r   r%   r&   s       r   
debug_failr9   E   sJ     NN?@$
,,.53D6<=t"r   r   ) )NN)loggingr+   typingr   torchtosa_serializertsexecutorch.exir.print_programr   	getLogger__name__r	   fxNodeGraphModuler   strr   bytesr5   TosaSerializerr9    r   r   <module>rJ      s     	    6			8	$9UXX]] 9%((2F2F 9 FJ
((--',xx';';d'B@9 9S 9# 9" /3	
# **+
# 3-	
#r   