+
    QV-j  ã                   ó^  a € R t 0 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIt^ RIHtHtHtHt ^RIHt ^RIHt ]P.                  ! ]4      t]! ]P4                  RRR	7      t] ^ k ]P8                  RR
 R ll4       tR t]P8                  RR/R R ll4       tR# )é    N)ÚCallableÚ	Generator)Úpartial)ÚPath)ÚBaseFileLockÚFileLockÚSoftFileLockÚTimeout)Ú	constants)ÚloggingT)ÚstreamÚallow_unicodec                ó¤   € V ^8„  d   QhR\         R,          R\         R,          R\        \         ,          R,          R\        \        RR3,          /# )é   ÚsuffixNÚprefixÚdirÚreturn)Ústrr   r   )Úformats   "Úm/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/huggingface_hub/utils/_fixes.pyÚ__annotate__r   "   sM   € ÷ "ñ "Ü�$�Jð"ä�$�Jð"ô 
”��dÕ	ð"ô
 Œt�T˜4ÐÕ ñ"ó    c           	   +  ó¬  "  € \         P                  ! RRVRV RV/VB p\        VP                  4      P	                  4       x €  \
        P                  ! VP                  4        TP                  4        R#   \         d=     \
        P                  ! TP                  \        R7        LG  \         d      LUi ; ii ; i  \         d     R# i ; i5i)a˜  
Context manager to create a temporary directory and safely delete it.

If tmp directory cannot be deleted normally, we set the WRITE permission and retry.
If cleanup still fails, we give up but don't raise an exception. This is equivalent
to  `tempfile.TemporaryDirectory(..., ignore_cleanup_errors=True)` introduced in
Python 3.10.

See https://www.scivision.dev/python-tempfile-permission-error-windows/.
r   r   r   )ÚonerrorN© )
ÚtempfileÚTemporaryDirectoryr   ÚnameÚresolveÚshutilÚrmtreeÚ	ExceptionÚ_set_write_permission_and_retryÚcleanup)r   r   r   ÚkwargsÚtmpdirs   &&&, r   ÚSoftTemporaryDirectoryr(   !   s³   é € ô" ×(Ò(ÑY°ÐY¸vÐYÈ3ÐYÐRXÑY€FÜ
ˆv�{‰{Ó
×
#Ñ
#Ó
%Ò%ðä�Š�f—k‘kÔ"ðØ�‰Öøô ô ð	Ü�MŠM˜&Ÿ+™+Ô/N×OøÜô 	Úð	úð	ûô ô Úðüsf   ‚ACÁ A8 Á&C Á6CÁ8B?Â&B,Â*CÂ,B;Â7B?Â8CÂ:B;Â;B?Â?CÃCÃCÃCÃCc                 ó`   € \         P                  ! V\        P                  4       V ! V4       R # )N)ÚosÚchmodÚstatÚS_IWRITE)ÚfuncÚpathÚexcinfos   &&&r   r$   r$   G   s   € Ü‡H‚HˆT”4—=‘=Ô!Ùˆ†Jr   Útimeoutc          	      ó|   € V ^8„  d   QhR\         \        ,          R\        R,          R\        \        RR3,          /# )r   Ú	lock_filer1   Nr   )r   r   Úfloatr   r   )r   s   "r   r   r   M   s8   € ÷ .ñ .œC¤$�Jð .´E¸DµLð .ÌIÔVbÐdhÐjnÐVnÕLoñ .r   c             #  óÂ  "  € \         P                  p\        WRR7      p\        P                  ! 4       p \        P                  ! 4       V,
          pVe   WQ8¼  d   \	        \        V 4      4      h TP                  V'       d   \        W!V,
          4      MTR7         Tx €  TP                  4        R#   \         d<    \        P                  RT  R\        P                  ! 4       T,
          R R24        KÆ  \         dF   pR	\        T4      9   d*   \        P                  R
T 4       \        YR7      p Rp?EK	   Rp?EK  Rp?ii ; i  \         d2     \        T 4      P!                  4         R#   \         d      R# i ; ii ; i   TP                  4        i   \         d0     \        T 4      P!                  4         i   \         d      i i ; ii ; i; i5i)aP  A filelock with some custom logic.

This filelock is weaker than the default filelock in that:
1. It won't raise an exception if release fails.
2. It will default to a SoftFileLock if the filesystem does not support flock.
3. Lock files are created with mode 0o664 (group-writable) instead of the default 0o644.
   This allows multiple users sharing a cache directory to wait for locks.

An INFO log message is emitted every 10 seconds if the lock is not acquired immediately.
If a timeout is provided, a `filelock.Timeout` exception is raised if the lock is not acquired within the timeout.
i´  )r1   ÚmodeN)r1   z!Still waiting to acquire lock on z (elapsed: z.1fz	 seconds)zuse SoftFileLock insteadzPFileSystem does not appear to support flock. Falling back to SoftFileLock for %s)r   ÚFILELOCK_LOG_EVERY_SECONDSr   Útimer
   r   ÚacquireÚminÚloggerÚinfoÚNotImplementedErrorÚwarningr	   ÚreleaseÚOSErrorr   Úunlink)r3   r1   Úlog_intervalÚlockÚ
start_timeÚelapsed_timeÚes   &$     r   ÚWeakFileLockrG   L   sŒ  é € ô ×7Ñ7€LÜ�I¸%Ô@€DÜ—’“€Jà
Ü—y’y“{ ZÕ/ˆØÒ <Ô#:Üœ#˜i›.Ó)Ð)ð	Ø�L‰LÏg¤ \¸\Õ3IÔ!JÐ[gˆLÔhð ð	ØŠ
ð	Ø�L‰LŽNøô% ô 	Ü�K‰KØ3°I°;¸kÌ$Ï)Ê)Ë+ÐXbÕJbÐcfÐIgÐgpÐq÷ô #ô 	Ø)¬S°«VÔ3Ü—‘ØfÐhqôô $ IÔD�Þö 4ûð	ûô ô 	ðÜ�Y“×&Ñ&×(øÜô Ûðúð	ûð	Ø�L‰L�NøÜô 	ðÜ�Y“×&Ñ&Ö(øÜô Úðúð	ÿsß   ‚A.GÁ1B6 ÂB6 ÂGÂF Â$E Â4GÂ6AE
Ã8GÃ;E
ÄE
Ä2EÄ7GÅE
Å
GÅF	ÅE5Å2GÅ5FÆ F	ÆGÆFÆF	Æ	GÆGÆFÆGÆGÆ+GÇGÇG	ÇGÇGÇG	ÇGÇGÇGc                óZ   € V ^8„  d   Qh/ ^ \         9   d   \        R\        3,          ;R&   # )r   .Ú	yaml_dump)Ú__conditional_annotations__r   r   )r   s   "r   r   r      s$   € × Ñ ÷: TÒ SŒ8�Cœ�HÕÑ Sò; r   )NNN)!rJ   Ú
contextlibr*   r!   r,   r   r8   Úcollections.abcr   r   Ú	functoolsr   Úpathlibr   ÚyamlÚfilelockr   r   r	   r
   Ú r   r   Ú
get_loggerÚ__name__r;   ÚdumprI   Úcontextmanagerr(   r$   rG   r   )rJ   s   @r   Ú<module>rV      s�   øðß Ð Û 	Û Û Û Û ß /Ý Ý ã ß BÓ Bå Ý ð 
×	Ò	˜HÓ	%€ñ !(¨¯	©	¸$ÈdÔ S€	Ó Sð ×Ñö"ó ð"òJð
 ×Ñð.À4ö .ó ò.r   