Ë
    ùÿæiú  ã                   óJ   — d dl mZ d dlmZ d dlmZ d dlmZ  G d„ de«      Zy)é    )ÚTracebackType)ÚSelf)ÚFileLock)Ú_WaitCounterc                   ó\   ‡ — e Zd ZdZdefˆ fd„Zdee   dz  dedz  dedz  ddfˆ fd„Z	ˆ xZ
S )	r   a~  
    This behaves like a normal file lock.

    However, it adds waitcounters for acquiring and releasing the filelock
    as well as for the critical region within it.

    pytorch.filelock.enter - While we're acquiring the filelock.
    pytorch.filelock.region - While we're holding the filelock and doing work.
    pytorch.filelock.exit - While we're releasing the filelock.
    Úreturnc                 óð   •— t        d«      j                  «       | _        t        d«      j                  «       5  t        ‰| �  «       }d d d «       | j                  j	                  «        S # 1 sw Y   Œ%xY w)Nzpytorch.filelock.regionzpytorch.filelock.enter)r   ÚguardÚregion_counterÚsuperÚ	__enter__)ÚselfÚresultÚ	__class__s     €új/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/torch/utils/_filelock.pyr   zFileLock.__enter__   s^   ø€ Ü*Ð+DÓE×KÑKÓMˆÔÜÐ2Ó3×9Ñ9Õ;Ü‘WÑ&Ó(ˆF÷ <à×Ñ×%Ñ%Ô'Øˆ÷ <Ð;ús   ¹A,Á,A5Úexc_typeNÚ	exc_valueÚ	tracebackc                 ó¸   •— | j                   j                  «        t        d«      j                  «       5  t        ‰| �  |||«       d d d «       y # 1 sw Y   y xY w)Nzpytorch.filelock.exit)r   Ú__exit__r   r
   r   )r   r   r   r   r   s       €r   r   zFileLock.__exit__   sQ   ø€ ð 	×Ñ×$Ñ$Ô&ÜÐ1Ó2×8Ñ8Õ:ô ‰GÑ˜X y°)Ô<÷ ;ð ÷ ;ð ús   µAÁA)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚtypeÚBaseExceptionr   r   Ú__classcell__)r   s   @r   r   r   	   sX   ø„ ñ	ð˜4õ ðà�}Ñ%¨Ñ,ðð ! 4Ñ'ðð ! 4Ñ'ð	ð
 
÷ñ ó    r   N)	Útypesr   Útyping_extensionsr   Úfilelockr   Úbase_FileLockÚtorch.monitorr   © r   r   Ú<module>r%      s   ðÝ Ý "å .å &ô ˆ}õ  r   