a
    þdÜ  ã                   @   sT   d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	m
Z
 ee	 edœdd„ZdS )	é    )ÚMappingÚOptionalÚUnion)Úmodule_available)ÚTensor)ÚModuleÚ	Parameter)ÚmoduleÚreturnc                    sv   | d u st dƒsdS ddlm‰  ttttttf  f t	dœ‡ fdd„}t
dd	„ |  ¡ D ƒƒ}|pt|| jƒpt|| jƒS )
Nztorchdistx.fakeFr   ©Úis_fake)Útensorsr
   c                    s   t ‡ fdd„|  ¡ D ƒƒS )Nc                 3   s   | ]}|d urˆ |ƒV  qd S ©N© )Ú.0Útr   r   úi/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pytorch_lightning/utilities/meta.pyÚ	<genexpr>   ó    z1_is_deferred.<locals>.any_fake.<locals>.<genexpr>)ÚanyÚvalues)r   r   r   r   Úany_fake   s    z_is_deferred.<locals>.any_fakec                 s   s   | ]}t |ƒV  qd S r   )Ú_is_deferred)r   Úmr   r   r   r      r   z_is_deferred.<locals>.<genexpr>)r   Ztorchdistx.faker   r   Ústrr   r   r   r   Úboolr   ÚchildrenÚ_parametersÚ_buffers)r	   r   Zis_deferredr   r   r   r      s    (r   N)Útypingr   r   r   Z lightning_utilities.core.importsr   Ztorchr   Ztorch.nnr   r   r   r   r   r   r   r   Ú<module>   s   