
    {Yh                        d Z ddlZddlmZmZmZmZmZmZ ddl	m
Z
  ed          Z e
d          Ze	 ddeeef         d	ed
eeef         fd            Ze	 dded         d	ed
eeeef         geeef         f         fd            Z	 ddeeeef                  d	ed
eeeef         eeeef         geeef         f         f         fdZdS )za
APIs related to torch.compile which lazily import torch._dynamo to avoid
circular dependencies.
    N)CallableLiteralOptionaloverloadTypeVarUnion)	ParamSpec_T_PTfn	recursivereturnc                     d S N r   r   s     `/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/torch/_compile.py_disable_dynamor      s	     s    c                     d S r   r   r   s     r   r   r      s	     69Sr   c                       Bt          j                   dt          j        dt          j        dt
          f fd            }|S t          j        t                    S )au  
    This API should be only used inside torch, external users should still use
    torch._dynamo.disable. The main goal of this API is to avoid circular
    imports issues that is common while using _dynamo.disable inside torch
    itself.

    This API avoids it by lazily importing torch._dynamo from the import time to
    the invocation of the decorated function.
    Nargskwargsr   c                      t          dd           }|(dd l}|j                            d          }|_         || i |S )N__dynamo_disabler   F)wrapping)getattrtorch._dynamo_dynamodisabler   )r   r   
disable_fntorchr   r   s       r   innerz_disable_dynamo.<locals>.inner)   sd     !%7>>J!$$$$ #]222y52QQ
&0#:t.v...r   )r   )	functoolswrapsr   r   r   r
   partialr   )r   r   r#   s   `` r   r   r      s{     
~				/ 	/BI 	/" 	/ 	/ 	/ 	/ 	/ 	/ 
		/   IFFFFr   )T)NT)__doc__r$   typingr   r   r   r   r   r   typing_extensionsr	   r
   r   boolr   r   r   r   <module>r+      s   
     H H H H H H H H H H H H H H H H ' ' ' ' ' ' WT]]Yt__ 
,0 R%)b"f   

 
049 99)-9xB (2r6"2239 9 9 
9 >B G  G"b&!" G6: G
8BFXxB'7&8(2r6:J&JKKL G  G  G  G  G  Gr   