ó
    -Vði•  ã                  óX  • S SK Jr  S SKrS SKrS SKrS SKJr  S SKJrJ	r	J
r
  S SKJr  S SKJr  SSKJr  SS	KJr  S
r\R(                  S:X  a   " S S\5      rO@ S SKr\R.                  \R0                  \R2                  \R4                  4rSr " S S\5      rSS/rg! \\4 a     Nf = f)é    )ÚannotationsN)Úsuppress)ÚEAGAINÚENOSYSÚEWOULDBLOCK)ÚPath)Úcasté   )ÚBaseFileLock)Úensure_directory_existsFÚwin32c                  ó,   • \ rS rSrSrSS jrSS jrSrg)ÚUnixFileLocké   úHUses the :func:`fcntl.flock` to hard lock the lock file on unix systems.c                ó   • [         e©N©ÚNotImplementedError©Úselfs    ÚSD:\a\ltx-desktop-ci\ltx-desktop-ci\python-embed\Lib\site-packages\filelock\_unix.pyÚ_acquireÚUnixFileLock._acquire   ó   € Ü%Ð%ó    c                ó   • [         er   r   r   s    r   Ú_releaseÚUnixFileLock._release   r   r   © N©ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ú__static_attributes__r    r   r   r   r      s   † ÙVô	&÷	&r   r   Tc                  ó6   • \ rS rSrSrSS jrSS jrSS jrSrg)	r   é%   r   c                ó”  • [        U R                  5        [        R                  [        R                  -  n[        [        SS 5      nUb  X-  nU[        R                  -  nU R                  5       n [        R                  " U R                  X5      nU R                  (       aB  [        [        5         [        R                  " X@R                   R"                  5        S S S 5         [$        R&                  " U[$        R(                  [$        R*                  -  5        [        R,                  " U5      R.                  S:X  a  [        R0                  " U5        g X@R                   l        g ! [         as    [        U R                  5      R                  5       (       d  e  [        R                  " U R                  U[        R                  ) -  U5      n GNA! [         a      g f = ff = f! , (       d  f       GN= f! [4         aÁ  n[        R0                  " U5        UR6                  [8        :X  ar  [        [4        5         [        U R                  5      R;                  5         S S S 5        O! , (       d  f       O= fU R=                  5         U R?                  5          S nAg UR6                  [@        [B        1;  a  e  S nAg S nAff = f)NÚ
O_NOFOLLOWr   )"r   Ú	lock_fileÚosÚO_RDWRÚO_TRUNCÚgetattrÚO_CREATÚ
_open_modeÚopenÚPermissionErrorr   ÚexistsÚFileNotFoundErrorÚhas_explicit_moder   ÚfchmodÚ_contextÚmodeÚfcntlÚflockÚLOCK_EXÚLOCK_NBÚfstatÚst_nlinkÚcloseÚlock_file_fdÚOSErrorÚerrnor   ÚunlinkÚ_fallback_to_soft_lockr   r   r   )r   Ú
open_flagsÚ
o_nofollowÚ	open_modeÚfdÚ	exceptions         r   r   r   (   sÜ  € Ü# D§N¡NÔ3ÜŸ™¤R§Z¡ZÑ/ˆJÜ ¤ \°4Ó8ˆJØÑ%ØÑ(�
Øœ"Ÿ*™*Ñ$ˆJØŸ™Ó)ˆIð
Ü—W’W˜TŸ^™^¨ZÓC�ð ×%×%ÜœoÕ.Ü—I’I˜b§-¡-×"4Ñ"4Ô5÷ /ð4Ü—’˜B¤§¡´·±Ñ =Ô>ô —8’8˜B“<×(Ñ(¨AÓ-Ü—H’H˜R•Là13—M‘MÕ.øô= #ó ô ˜DŸN™NÓ+×2Ñ2×4Ñ4ØðÜŸš §¡°¼r¿z¹z¸kÑ1IÈ9ÓU“BøÜ(ó Úðúðú÷ /Ö.ûô ó 	Ü—’˜”Ø—?‘?¤fÓ,Ü!¤'Õ*Ü˜TŸ^™^Ó,×3Ñ3Ô5÷ +×*Ö*úà×/Ñ/Ô1Ø—M‘M”OÜØ—?‘?¬6´;Ð*?Ó?Øô @ûð	úsl   Á3!E* Â4+G*Ã(6G< Å*3G'Æ4GÇ
G#ÇG'Ç"G#Ç#G'Ç*
G9Ç<
KÈ9KÈ?$I,É#	KÉ,
I:	É6'KÊ"KËKc                ó†   • SSK Jn  [        R                  " SSS9  SSKJnJn  [        X5      (       a  X l        g UU l        g )Nr
   )ÚSoftFileLockzDflock not supported on this filesystem, falling back to SoftFileLocké   )Ú
stacklevel)ÚAsyncSoftFileLockÚBaseAsyncFileLock)	Ú_softrO   ÚwarningsÚwarnÚasynciorR   rS   Ú
isinstanceÚ	__class__)r   rO   rR   rS   s       r   rH   Ú#UnixFileLock._fallback_to_soft_lockR   s/   € Ý+ä�MŠMÐ`ÐmnÒoßEä2<¸T×2UÑ2UÐ.�NÐ[gˆD�Nr   c                ót  • [        SU R                  R                  5      nS U R                  l        [        [        5         [        U R                  5      R                  5         S S S 5        [        R                  " U[        R                  5        [        R                  " U5        g ! , (       d  f       NJ= f)NÚint)r	   r;   rD   r   rE   r   r.   rG   r=   r>   ÚLOCK_UNr/   rC   )r   rL   s     r   r   r   Z   sl   € Ü�e˜TŸ]™]×7Ñ7Ó8ˆBØ)-ˆD�M‰MÔ&Üœ'Õ"Ü�T—^‘^Ó$×+Ñ+Ô-÷ #ä�KŠK˜œEŸM™MÔ*Ü�HŠH�R�L÷ #Õ"ús   Á$B)Â)
B7)rY   Nr!   )	r$   r%   r&   r'   r(   r   rH   r   r)   r    r   r   r   r   %   s   † ÙVô(	4ôT	h÷	r   Ú	has_fcntl)Ú
__future__r   r/   ÚsysrU   Ú
contextlibr   rF   r   r   r   Úpathlibr   Útypingr	   Ú_apir   Ú_utilr   r^   Úplatformr   r=   r>   r?   r@   r]   Ú_ÚImportErrorÚAttributeErrorÚ__all__r    r   r   Ú<module>rk      s¨   ðÝ "ã 	Û 
Û Ý ß -Ñ -Ý Ý å Ý *ð €	Ø‡<�<�7Óô&�|õ &ðÛà�[‰[˜%Ÿ-™-¨¯©¸¿¹ÐFˆð ˆ	ô;�|ô ;ð~ Øð�øðG ˜Ð(ó Ùðús   Á2B ÂB)Â(B)