
    ȅi                       S r SSKJr  SSKrSSKrSSKrSSKJrJr  SSK	J
r
  \(       a  SSKJr  \" S5      rSS	 jrSS
 jr\" SS/S9r/ SQr\
" \R$                  5      SS j5       r\
" \R&                  5      SS j5       r\
" \R(                  5      S S j5       r\
" \R*                  5      SS j5       r\
" \R,                  5      SS j5       r\
" \R.                  5      S!S j5       r\
" \R0                  5      S S j5       r\
" \R2                  5      S S j5       r\
" \R4                  5      SSS.S j5       r\
" \R6                  5      S"S j5       r\
" \R8                  5      S"S j5       rg)#z
Python polyfills for heapq
    )annotationsN)TYPE_CHECKINGTypeVar   )substitute_in_graph)
ModuleType_Tc                    0 n[        S U  5       5      n[        [        R                  5       HA  nX0;   d  UR	                  U5      (       d  M   [        R                  R                  U5      X'   MC     U$ )Nc              3  *   #    U  H	  oS -   v   M     g7f).N ).0names     W/home/james-whalen/.local/lib/python3.13/site-packages/torch/_dynamo/polyfills/heapq.py	<genexpr>+_save_and_remove_modules.<locals>.<genexpr>   s     2EDCZEs   )tuplelistsysmodules
startswithpop)namesorig_modulesprefixesmodnames       r   _save_and_remove_modulesr      s]    L2E22H$w11(;;$'KKOOG$<L! %     c                :   U 1Ukn[        U5      nU H  nS [        R                  U'   M      [        R                  " U 5      [        U5        [        R                  R                  U5        $ ! [        U5        [        R                  R                  U5        f = fN)r   r   r   	importlibimport_moduleupdate)r   blockedr   r   r   s        r   import_fresh_moduler%   !   s~     GE+E2L#G )&&t, '<( 	!'<(s   A. .,Bheapq_heapq)r$   )_heapify_max_heappop_max_heapreplace_maxheapifyheappopheappushheappushpopheapreplacemergenlargest	nsmallestc               ,    [         R                  U 5      $ r    )py_heapqr(   heaps    r   r(   r(   C         &&r   c                ,    [         R                  U 5      $ r    )r4   r)   r5   s    r   r)   r)   H   r7   r   c                ,    [         R                  X5      $ r    )r4   r*   r6   items     r   r*   r*   M   s    $$T00r   c               ,    [         R                  U 5      $ r    )r4   r+   r5   s    r   r+   r+   R       D!!r   c               ,    [         R                  U 5      $ r    )r4   r,   r5   s    r   r,   r,   W   r=   r   c                ,    [         R                  X5      $ r    )r4   r-   r:   s     r   r-   r-   \   s    T((r   c                ,    [         R                  X5      $ r    )r4   r.   r:   s     r   r.   r.   a       ++r   c                ,    [         R                  X5      $ r    )r4   r/   r:   s     r   r/   r/   f   rA   r   Fkeyreversec                .    [         R                  " X US.6$ )NrC   )r4   r0   )rD   rE   	iterabless      r   r0   r0   k   s    >>9w??r   c                *    [         R                  XUS9$ N)rD   )r4   r1   niterablerD   s      r   r1   r1   p   s    Qc22r   c                *    [         R                  XUS9$ rI   )r4   r2   rJ   s      r   r2   r2   u   s    as33r   )r   zset[str]returnzdict[str, ModuleType])r   strr$   z	list[str]rN   r   )r6   list[_T]rN   None)r6   rP   rN   r	   )r6   rP   r;   r	   rN   r	   )r6   rP   r;   r	   rN   rQ   r    )__doc__
__future__r   r&   r!   r   typingr   r   
decoratorsr   typesr   r	   r   r%   r4   __all__r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r   r   r   <module>rX      s   #   
 ) ,   T]
)  w
; U''(' )' U''(' )' U++,1 -1 U]]#" $" U]]#" $" U^^$) %) U&&', (, U&&', (, U[[! @ "@ U^^$3 %3 U__%4 &4r   