a
    ‘º”h  ã                   @   s¤   d dl Z d dlmZ d dlmZmZ d dlZd dlmZm	Z	m
Z
 d dlmZ g d¢Ze jed dœd	d
„ƒZeedf eedf dœdd„Zeeeedf f ZdS )é    N)Ú	Generator)ÚAnyÚUnion)Ú*get_single_level_autograd_function_allowedÚ*set_single_level_autograd_function_allowedÚunwrap_if_dead)Ú
exposed_in)r   Ú	argnums_tÚ%enable_single_level_autograd_functionÚunwrap_dead_wrappers)NNN)Úreturnc                  c   s0   z t ƒ } tdƒ d V  W t| ƒ n
t| ƒ 0 d S )NT)r   r   )Z
prev_state© r   úD/var/www/auris/lib/python3.9/site-packages/torch/_functorch/utils.pyr
      s
    r
   .)Úargsr   c                 C   s   t dd„ | D ƒƒ}|S )Nc                 s   s&   | ]}t |tjƒrt|ƒn|V  qd S )N)Ú
isinstanceÚtorchZTensorr   )Ú.0Úargr   r   r   Ú	<genexpr>"   s   z'unwrap_dead_wrappers.<locals>.<genexpr>)Útuple)r   Úresultr   r   r   r       s    ÿr   )Ú
contextlibÚcollections.abcr   Útypingr   r   r   Ztorch._C._functorchr   r   r   Ztorch.utils._exposed_inr   Ú__all__Úcontextmanagerr
   r   r   Úintr	   r   r   r   r   Ú<module>   s   	 