Ë
    Q/æjŽ  ã                   ón   — d dl Z d dlmZmZmZ ddlmZ  G d„ de j                  «      Zej                  Z
y)é    N)ÚListÚOptionalÚTupleé   )Ú_resolve_namec                   óˆ   ‡ — e Zd ZdZedededeeeee   f      fd„«       Z	ˆ fd„Z
dededefd	„Zd
„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )Ú_ExtractModuleReferenceszR
    Extract the list of global variables a block of code will read and write
    ÚsrcÚpackageÚreturnc                 ó¤   —  | |«      }t        j                  |«      }|j                  |«       t        |j                  j                  «       «      S ©N)ÚastÚparseÚvisitÚlistÚ
referencesÚkeys)Úclsr
   r   ÚvisitorÚtrees        úg/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/package/find_file_dependencies.pyÚrunz_ExtractModuleReferences.run   s>   € á�g“,ˆÜ�y‰y˜‹~ˆØ�‰�dÔÜ�G×&Ñ&×+Ñ+Ó-Ó.Ð.ó    c                 ó>   •— t         ‰| �  «        || _        i | _        y r   )ÚsuperÚ__init__r   r   )Úselfr   Ú	__class__s     €r   r   z!_ExtractModuleReferences.__init__   s   ø€ Ü‰ÑÔØˆŒØˆ�r   Úmodule_nameÚlevelc                 ó>   — |dkD  rt        || j                  |«      S |S )Nr   )r   r   )r   r    r!   s      r   Ú
_absmodulez#_ExtractModuleReferences._absmodule   s"   € Ø�1Š9Ü  ¨d¯l©l¸EÓBÐBØÐr   c                 ó\   — |j                   D ]  }d| j                  |j                  d f<   Œ y )NT)Únamesr   Úname)r   ÚnodeÚaliass      r   Úvisit_Importz%_ExtractModuleReferences.visit_Import   s,   € Ø—Z‘Zò 	7ˆEØ26ˆD�O‰O˜UŸZ™Z¨Ð.Ò/ñ	7r   c                 ó  — | j                  |j                  |j                  €dn|j                  «      }|j                  D ]>  }|j                  dk7  rd| j
                  ||j                  f<   Œ.d| j
                  |d f<   Œ@ y )Nr   Ú*T)r#   Úmoduler!   r%   r&   r   )r   r'   r&   r(   s       r   Úvisit_ImportFromz)_ExtractModuleReferences.visit_ImportFrom"   so   € Ø�‰˜tŸ{™{°·±Ð1C©AÈÏÉÓTˆØ—Z‘Zò 	5ˆEð �z‰z˜SÒ Ø6:�—‘  u§z¡zÐ 2Ò3à04�—‘  t Ò-ñ	5r   c                 ó   — |j                   S r   ©Úvalue©r   r'   s     r   Ú_grab_node_intz'_ExtractModuleReferences._grab_node_int-   ó   € Ø�z‰zÐr   c                 ó   — |j                   S r   r/   r1   s     r   Ú_grab_node_strz'_ExtractModuleReferences._grab_node_str0   r3   r   c                 ó†  — t        |j                  d«      �r|j                  j                  dk(  �rù	 | j                  |j                  d   «      }g }d}t        |j                  «      dkD  r?|j                  d   j                  D ]"  }|j                  | j                  |«      «       Œ$ nht        |d«      r\|j                  D ]M  }|j                  dk(  sŒ|j                  j                  D ]"  }|j                  | j                  |«      «       Œ$ ŒO t        |j                  «      dkD  r| j                  |j                  d   «      }nHt        |d«      r<|j                  D ]-  }|j                  dk(  sŒ| j                  |j                  «      }Œ/ |g k(  rPd	| j                  |d f<   |j                  d
d¬«      d   }||k7  rf| j                  ||«      }d	| j                  |d f<   y | j                  ||«      }|D ]*  }|dk7  rd	| j                  ||f<   Œd	| j                  |d f<   Œ, y y y y # t        $ r
}	Y d }	~	y d }	~	ww xY w)NÚidÚ
__import__r   é   ÚkeywordsÚfromlisté   r!   Tú.r   )Úmaxsplitr+   )ÚhasattrÚfuncr7   r5   ÚargsÚlenÚeltsÚappendr:   Úargr0   r2   r   Úrsplitr#   Ú	Exception)
r   r'   r&   r;   r!   ÚvÚkeywordÚtop_namer(   Úes
             r   Ú
visit_Callz#_ExtractModuleReferences.visit_Call3   s#  € ä�4—9‘9˜dÕ#¨¯	©	¯©¸Ó(Dð'Ø×*Ñ*¨4¯9©9°Q©<Ó8�Ø�Ø�Ü�t—y‘y“> AÒ%Ø!ŸY™Y q™\×.Ñ.ò @˜Ø Ÿ™¨×(;Ñ(;¸AÓ(>Õ?ñ@ä˜T :Ô.Ø#'§=¡=ò H˜Ø"Ÿ;™;¨*Ó4Ø%,§]¡]×%7Ñ%7ò H Ø (§¡°×0CÑ0CÀAÓ0FÕ GñHðHô �t—y‘y“> AÒ%Ø ×/Ñ/°·	±	¸!±Ó=‘EÜ˜T :Ô.Ø#'§=¡=ò G˜Ø"Ÿ;™;¨'Ó1Ø$(×$7Ñ$7¸¿¹Ó$F™EðGð ˜r’>ð
 59�D—O‘O T¨4 LÑ1Ø#Ÿ{™{¨3¸˜{Ó;¸AÑ>�HØ 4Ò'Ø#'§?¡?°8¸UÓ#C˜Ø<@˜Ÿ™¨°4Ð(8Ò9àŸ?™?¨4°Ó7�DØ!)ò A˜ð ! Cš<Ø=A˜DŸO™O¨T°5¨MÒ:à<@˜DŸO™O¨T°4¨LÒ9ñAð (ð5 )EÐ#øôN ò Üûðús'   ³B#H- ÃBH- Å6A1H- Ç(AH- È-	I È;I )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚclassmethodÚstrr   r   r   r   r   Úintr#   r)   r-   r2   r5   rL   Ú__classcell__)r   s   @r   r	   r	      s|   ø„ ñð ð/�cð / Cð /¨D°°s¸HÀS¹MÐ7IÑ1JÑ,Kò /ó ð/ôð
 cð °#ð ¸#ó ò
7ò	5òòö*r   r	   )r   Útypingr   r   r   Ú
_importlibr   ÚNodeVisitorr	   r   Úfind_files_source_depends_on© r   r   ú<module>rZ      s2   ðã 
ß (Ñ (å %ôU˜sŸ™ô Uðp  8×;Ñ;Ñ r   