Ë
    ãš¾jÈ˜  ã                  óî  — U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
mZ d dlmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZmZ ddlmZmZmZ dd	lmZ dd
l m!Z!m"Z" ddl#m$Z$ ddl%m&Z&m'Z' erd dl(m)Z) ed   Z* e+ddh«      Z,de-d<   dZ.de-d<   dZ/de-d<   dZ0de-d<   dZ1de-d<   dZ2de-d<   dZ3de-d <   d!Z4de-d"<   d#Z5de-d$<   dZ6de-d%<   d&Z7d'e-d(<   d)Z8de-d*<   d+Z9d'e-d,<   d-Z:d'e-d.<    e;ed/d «      Z<de-d0<    e$jz                  «       Z>d1e-d2<    e+h d3£«      Z?d4e-d5<    e@ed6«      ZAd7e-d8<   ej„                  ej†                  v ZDd7e-d9<   ejŠ                  ej†                  v ZFd7e-d:<   ej                  ej†                  v ZGd7e-d;<   eAxr ej�                  ej†                  v ZId7e-d<<   dxd=„ZJ eJ«       ZKd7e-d><   dyd?„ZL eL«       ZMd4e-d@<    G dA„ dBe«      ZN edC¬D«       G dE„ dF«      «       ZO G dG„ dHeP«      ZQdzdI„ZRd{dJ„ZSd|dK„ZTd}dL„ZUd~dM„ZVddN„ZWd€dO„ZXd|dP„ZY	 	 	 	 	 	 	 	 	 	 d�dQ„ZZd‚dR„Z[dƒdS„Z\d„dT„Z]d…dU„Z^	 	 	 	 	 	 	 	 d†dV„Z_	 	 	 	 	 	 	 	 	 	 d‡dW„Z`	 	 	 	 	 	 	 	 	 	 dˆdX„Za	 	 	 	 	 	 	 	 d‰dY„Zb	 	 	 	 	 	 dŠdZ„Zcd‹d[„ZddŒd\„Zed�d]„ZfdŽd^„Zgd�d_„Zhd�d`„Zi	 	 	 	 	 	 	 	 d‘da„Zjd’db„Zkd“dc„Zlddddœ	 	 	 	 	 	 	 	 	 d”de„Zmd•df„Znd–dg„Zod—dh„Zpd˜di„Zqd™dj„Zrdšdk„Zsd›dl„Ztdœdm„Zud�dn„Zvdždo„ZwdŸdp„Zxd dq„Zyd¡dr„Zzd¢ds„Z{d£dt„Z|d¤du„Z}d¥dv„Z~g dw¢Zy)¦é    )ÚannotationsN)Ú	dataclass)ÚEACCESÚEEXISTÚENOENTÚENOSYSÚEPERMÚESTALEÚEXDEV)ÚPath)ÚTYPE_CHECKINGÚFinalÚLiteralÚcasté   )ÚBaseFileLockÚ
_canonicalÚ_raise_cleanup_errors)ÚSoftFileLockProtocolError)Ú	host_nameÚprocess_start_token)ÚSTRICT_SOFT_SENTINEL_RECORD)Úensure_directory_existsÚ	write_all)ÚIterator)ÚintentÚheldr   r   zFinal[frozenset[str]]Ú_CLAIM_STATESz	.filelockz
Final[str]Ú_COORDINATION_SUFFIXÚclaimsÚ_CLAIM_DIRECTORY_NAMEzfilelock-strict-v1Ú_CLAIM_MAGICi   z
Final[int]Ú_CLAIM_RECORD_LIMITé   Ú_CLAIM_NAME_PART_COUNTé    Ú_TOKEN_HEX_LENGTHz.private-v1-Ú_PRIVATE_RECORD_MARKERú.tmpÚ_PRIVATE_RECORD_SUFFIXÚ!_PRIVATE_RECORD_RANDOM_HEX_LENGTHg       @zFinal[float]Ú_PRIVATE_RECORD_GRACEé
   Ú_UNLINK_MAX_RETRIESg      à?Ú_CLAIM_READ_GRACEgü©ñÒMb`?Ú_CLAIM_READ_RETRYÚO_BINARYÚ	_O_BINARYzFinal[bytes]Ú_LEGACY_SENTINEL>   r   é   é2   zFinal[frozenset[int]]Ú_WINDOWS_HARD_LINK_UNSUPPORTEDÚlinkzFinal[bool]Ú	_HAS_LINKÚ_OPEN_SUPPORTS_DIR_FDÚ_UNLINK_SUPPORTS_DIR_FDÚ_STAT_SUPPORTS_DIR_FDÚ_LINK_SUPPORTS_DIR_FDc                 ó  — t         sy	 t        j                  «       5 } t        | d«      }|j	                  «        t        j                  |t        | d«      d¬«       d d d «       y# 1 sw Y   yxY w# t        t        t        f$ r Y yw xY w)NFzprobe-sourcez
probe-link)Úfollow_symlinksT)
r8   ÚtempfileÚTemporaryDirectoryr   ÚtouchÚosr7   ÚOSErrorÚNotImplementedErrorÚ
ValueError)Ú	directoryÚsources     úZ/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/filelock/_strict.pyÚ_probe_link_follow_symlinksrI   =   s�   € õ ØðÜ×(Ñ(Ó*ð 	R¨iÜ˜) ^Ó4ˆFØ�L‰LŒNÜ�G‰G�FœD ¨LÓ9È5ÕQ÷	Rð ÷	Rð ûô Ô(¬*Ð5ò Ùðús.   ‰A1 �?A%ÁA1 Á%A.Á*A1 Á.A1 Á1BÂBÚ_LINK_HONORS_FOLLOW_SYMLINKSc            	     ó’   — t        t        dt        t        dd «      «      } t        | €t        t        h«      S t        t        | h«      S )NÚENOTSUPÚ
EOPNOTSUPP)ÚgetattrÚerrnoÚ	frozensetr   r   )Únot_supporteds    rH   Ú#_probe_hard_link_unsupported_errnosrR   R   s?   € ô œE 9¬g´e¸\È4Ó.PÓQ€MÜ¨Ð(=”fœe�_ÓbÐbÄFÌEÐS`ÐCaÓbÐbó    Ú_HARD_LINK_UNSUPPORTED_ERRNOSc                  óÄ   ‡ — e Zd ZU dZdZded<   dZded<   dZded<   dZd	ed
<   dZ	ded<   dd„Z
dd„Zedd„«       Zdd„Zdˆ fd„Zdˆ fd„Zdd„Zdd„Zedd„«       Zˆ xZS )ÚStrictSoftFileLockz:Portable fail-closed lock based on immutable owner claims.TÚboolÚ_preserve_lock_file_supportedFÚ_on_acquired_supportedÚ_lifetime_supportedz<a strict claim is never broken by age, only by force_break()ÚstrÚ_lifetime_unsupported_reasongš™™™™™©?ÚfloatÚ_poll_backoff_capc                óD  — | j                   j                  x}€&t        | j                  «      x}| j                   _        t	        |«      }t	        |› t
        › �«      }|t        z  }t        t        j                  |«      «       t        | j                  |«       t        | j                  |«       t        | j                  || j                  «       «      x}€y 	 t        t        j                  |«      «      }| j%                  ||«       	 | j'                  |||«       y # t        $ r?}	 t        j                   |«       ‚ # t        $ r}t#        d||«       Y d }~‚ d }~ww xY wd }~ww xY w# t        $ r- | j                   j(                  |k(  r| j+                  ||«       ‚ w xY w)Nz)strict sentinel inspection cleanup failed)Ú_contextÚ
claim_rootr   Ú	lock_filer   r   r!   r   rB   ÚfspathÚ_ensure_protocol_directoryÚ_open_or_create_sentinelÚ
_open_modeÚ_file_identityÚfstatÚBaseExceptionÚcloser   Ú_mark_descriptor_pendingÚ_attempt_doorwayÚpending_lock_file_fdÚ_discard_doorway)	Úselfra   Ú	lock_pathÚcoordination_directoryÚclaim_directoryÚsentinel_fdÚsentinel_identityÚinspection_errorÚclose_errors	            rH   Ú_acquirezStrictSoftFileLock._acquirel   sy  € ð Ÿ-™-×2Ñ2Ð2ˆJÐ;Ü4>¸t¿~¹~Ó4NÐNˆJ˜Ÿ™Ô1Ü˜Ó$ˆ	Ü!%¨¨Ô4HÐ3IÐ&JÓ!KÐØ0Ô3HÑHˆÜ¤§	¡	¨)Ó 4Ô5Ü" 4§>¡>Ð3IÔJÜ" 4§>¡>°?ÔCÜ3°D·N±NÀIÈtÏÉÓO`ÓaÐaˆKÐjØð	Ü .¬r¯x©x¸Ó/DÓ EÐð 	×%Ñ% kÐ3DÔEð	Ø×!Ñ! /°;Ð@QÕRøô ò 	ðrÜ—‘˜Ô%ð øô !ò rÜ%Ð&QÐScÐep×qÐqØûðrþð	ûô ò 	Ø�}‰}×1Ñ1°[Ò@Ø×%Ñ% kÐ3DÔEØð	úsH   ÃD Ä
E) Ä	E&Ä(D>Ä=E!Ä>	EÅEÅE!ÅEÅE!Å!E&Å)6Fc                ó¼  — t        | j                  |«      r| j                  ||«       y t        j                  t
        dz  «      }t        d|«      }t        ||z  «      }	 t        |t        |«      | j                  «       «      }|�|‚|f| j$                  _        t        | j                  |«      }	|	r't)        d„ |	D «       «      st+        d„ |	D «       «      |k7  r| j                  ||«       y t        d|«      }
t        ||
z  «      }	 t-        |||
«      }||f| j$                  _        |�d| j$                  _        |‚t        | j                  |«      }	||
hj/                  d„ |	D «       «      rt+        d„ |	D «       «      d	|› d
�k7  r| j                  ||«       y | j1                  ||«       y # t        $ r | j                  ||«       Y y t        t        f$ rV}t        | j                  |«       t        |t        «      r*|j                   t"        k(  r| j                  ||«       Y d }~y ‚ d }~ww xY w# t        t        f$ r}t        | j                  |«       ‚ d }~ww xY w)Né   r   c              3  ó:   K  — | ]  }|j                   d k(  –— Œ y­w)r   N)Ústate©Ú.0Úclaims     rH   ú	<genexpr>z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>£   s   è ø€ Ò=¨U�5—;‘; &Õ(Ñ=ùs   ‚c              3  ó4   K  — | ]  }|j                   –— Œ y ­w©N©Únamer|   s     rH   r   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>¤   s   è ø€ Ò2 %�5—:•:Ñ2ùó   ‚r   © c              3  ó4   K  — | ]  }|j                   –— Œ y ­wr�   r‚   r|   s     rH   r   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>·   s   è ø€ Ò1QÀ°%·*µ*Ñ1Qùr„   c              3  óF   K  — | ]  }t        |j                  «      –— Œ y ­wr�   )Ú_claim_token_keyrƒ   r|   s     rH   r   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>¸   s   è ø€ ÒD°EÔ# E§J¡J×/ÑDùs   ‚!zv1-ú.claim)Ú_read_existing_claimsrb   rn   ÚsecretsÚ	token_hexr'   Ú_claim_namer[   Ú_publish_recordÚ_claim_recordrf   Ú_PrivateRecordReclaimedErrorrD   rC   Ú _raise_if_hard_links_unsupportedÚ
isinstancerO   r   r`   Úowner_claim_pathsÚanyÚminÚ_link_no_replaceÚissubsetÚ_mark_descriptor_owned)ro   rr   rs   rt   ÚtokenÚintent_nameÚintent_pathÚpublication_cleanup_errorÚerrorr    Ú	held_nameÚ	held_pathÚlink_cleanup_errors                rH   rl   z#StrictSoftFileLock._attempt_doorway‰   s:  € Ü  §¡°ÔAØ×!Ñ! +Ð/@ÔAØä×!Ñ!Ô"3°qÑ"8Ó9ˆÜ! (¨EÓ2ˆÜ˜/¨KÑ7Ó8ˆð
	Ü(7¸Ä]ÐSXÓEYÐ[_×[jÑ[jÓ[lÓ(mÐ%ð %Ð0Ø+Ð+Ø+6¨.ˆ�‰Ô'ä& t§~¡~°ÓGˆáÜÑ=°fÔ=Ô=ÜÑ2¨6Ô2Ó2°kÒAà×!Ñ! +Ð/@ÔAØä ¨Ó.ˆ	Ü˜¨)Ñ3Ó4ˆ	ð	Ü!1°/À;ÐPYÓ!ZÐð ,5°kÐ*Bˆ�‰Ô'ØÐ)Ø.0ˆD�M‰MÔ+Ø$Ð$ä& t§~¡~°ÓGˆà˜iÐ(×1Ñ1Ñ1QÈ&Ô1QÔQÜÑD¸VÔDÓDÈ#ÈeÈWÐTZÐH[Ò[à×!Ñ! +Ð/@ÔAØð 	×#Ñ# KÐ1BÕCøô_ ,ò 	Ø×!Ñ! +Ð/@ÔAÙÜ#¤WÐ-ò 	Ü,¨T¯^©^¸UÔCÜ˜%¤Ô)¨e¯k©k¼VÒ.CØ×%Ñ% kÐ3DÔEÜØûð	ûô. $¤WÐ-ò 	Ü,¨T¯^©^¸UÔCØûð	ús=   Á!$F, ÄH0 Æ,H-Ç	H-ÇAH(È'H(È(H-È0IÈ?IÉIc                óB   — t        | j                  | j                  «      S )z(Published claims that block acquisition.)rŠ   rb   Ú_claim_directory©ro   s    rH   r    zStrictSoftFileLock.claimsÄ   s   € ô % T§^¡^°T×5JÑ5JÓKÐKrS   c                ó|   — t        |«       t        | j                  |«       t        | j                  |«      x}	 �|‚y)zYRemove one named claim, allowing overlap if its owner still holds the protected resource.N)Ú_validate_force_break_nameÚ_require_exact_namer¢   Ú_unlink_in_directory)ro   Ú
claim_nameÚcleanup_errors      rH   Úforce_breakzStrictSoftFileLock.force_breakÉ   sD   € ä" :Ô.Ü˜D×1Ñ1°:Ô>ä1°$×2GÑ2GÈÓTÐTˆMØðð  ÐðrS   c                ó>   •— | j                   ry t        ‰| �	  |«       y r�   )Ú	is_lockedÚsuperÚ_rollback_failed_acquire)ro   Úacquisition_errorÚ	__class__s     €rH   r®   z+StrictSoftFileLock._rollback_failed_acquireÒ   s   ø€ ð
 �>Š>ØÜ‰Ñ(Ð):Õ;rS   c                ó^   •— | j                   sd | j                  _        t        ‰| �  |«       y r�   )r¬   r`   ra   r­   Ú_reconcile_failed_acquire)ro   Ú	canonicalr°   s     €rH   r²   z,StrictSoftFileLock._reconcile_failed_acquireÛ   s#   ø€ à�~Š~Ø'+ˆD�M‰MÔ$Ü‰Ñ)¨)Õ4rS   c                ó®  — t        d| j                  j                  «      }d | j                  _        t	        | j                  j
                  «      \  }}t        |«      | j                  _        |rt        d|«       | j                  «        	 | j                  |d¬«       |rt        d|«       y y # t        $ r}|j                  |«       Y d }~Œ/d }~ww xY w)NÚintzstrict claim release failedF©Údefault_suppresseszstrict release cleanup failed)r   r`   Úlock_file_fdra   Ú_unlink_owner_pathsr“   ÚtupleÚ_raise_recorded_errorsÚ_mark_descriptor_releasedÚ_close_released_fdri   Úappend)ro   ÚfdÚ	remainingÚerrorsrv   s        rH   Ú_releasezStrictSoftFileLock._releaseá   s¶   € Ü�%˜Ÿ™×3Ñ3Ó4ˆØ#'ˆ�‰Ô Ü/°·±×0OÑ0OÓPÑˆ	�6Ü*/°	Ó*:ˆ�‰Ô'ÙÜ"Ð#@À&ÔIØ×&Ñ&Ô(ð	'Ø×#Ñ# B¸5Ð#ÔAñ Ü"Ð#BÀFÕKð øô ò 	'Ø�M‰M˜+×&Ñ&ûð	'ús   ÂB0 Â0	CÂ9CÃCc                óp  — t        | j                  j                  «      \  }}t        |«      | j                  _        |r| j	                  ||«       t        d|«       | j                  «        	 | j                  |d¬«       |rt        d|«       y y # t        $ r}|j                  |«       Y d }~Œ/d }~ww xY w)Nz#strict doorway claim cleanup failedFr¶   zstrict doorway cleanup failed)
r¹   r`   r“   rº   r˜   r»   r¼   r½   ri   r¾   )ro   r¿   ÚidentityrÀ   rÁ   rv   s         rH   rn   z#StrictSoftFileLock._discard_doorwayð   s¤   € Ü/°·±×0OÑ0OÓPÑˆ	�6Ü*/°	Ó*:ˆ�‰Ô'ÙØ×'Ñ'¨¨HÔ5Ü"Ð#HÈ&ÔQØ×&Ñ&Ô(ð	'Ø×#Ñ# B¸5Ð#ÔAñ Ü"Ð#BÀFÕKð øô ò 	'Ø�M‰M˜+×&Ñ&ûð	'ús   Á.B Â	B5ÂB0Â0B5c                óà   — | j                   j                  r,t        | j                   j                  d   «      j                  S t        t	        | j
                  «      › t        › �«      t        z  S )Nr   )r`   r“   r   Úparentr   rb   r   r!   r£   s    rH   r¢   z#StrictSoftFileLock._claim_directoryþ   sU   € à�=‰=×*Ò*Ü˜Ÿ™×7Ñ7¸Ñ:Ó;×BÑBÐBÜ”z $§.¡.Ó1Ð2Ô3GÐ2HÐIÓJÔMbÑbÐbrS   )ÚreturnÚNone)rr   r   rs   rµ   rt   útuple[int, int]rÇ   rÈ   )rÇ   útuple[StrictSoftFileClaim, ...])r¨   r[   rÇ   rÈ   )r¯   ri   rÇ   rÈ   )r³   r[   rÇ   rÈ   )r¿   rµ   rÄ   rÉ   rÇ   rÈ   )rÇ   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rX   Ú__annotations__rY   rZ   r\   r^   rw   rl   Úpropertyr    rª   r®   r²   rÂ   rn   r¢   Ú__classcell__)r°   s   @rH   rV   rV   _   s”   ø… ÙDà*.Ð! 4Ó.Ø#(Ð˜DÓ(ð !&Ð˜Ó%Ø(fÐ  #Ófð  $Ð�uÓ#óó:9Dðv òLó ðLó õ<õ5óLóLð òcó ôcrS   rV   T)Úfrozenc                  óR   — e Zd ZU dZded<   ded<   ded<   ded<   ded	<   d
Zded<   y
)ÚStrictSoftFileClaimz"One parsed strict soft-lock claim.r[   rƒ   ÚStrictSoftFileClaimStater{   r™   rµ   ÚpidÚhostnameNú
int | NoneÚstart)rË   rÌ   rÍ   rÎ   rÏ   rÙ   r…   rS   rH   rÔ   rÔ     s+   … á,à
ƒIØ#Ó#ØƒJØ	ƒHØƒMð €Eˆ:ÔrS   rÔ   c                  ó   — e Zd Zy)r�   N)rË   rÌ   rÍ   r…   rS   rH   r�   r�     s   „ ØrS   r�   c                ó¼  — 	 t        |«      S # t        $ r Y nt        $ r Y y w xY wt        |t	        j                  «       «       	 t        t        j                  |«      t        |«      }|�X|‚# t        $ r Y y t        t        f$ r:}t        | |«       t        |t        «      r|j                  t        k7  r‚ Y d }~nd }~ww xY w	 t        |«      S # t        $ r Y y w xY wr�   )Ú_open_sentinelÚFileNotFoundErrorrC   Ú!_reclaim_sentinel_private_recordsÚtimerŽ   rB   rc   r3   r�   rD   r‘   r’   rO   r   )rb   ÚpathÚmoderœ   r�   s        rH   re   re     sÙ   € ðÜ˜dÓ#Ð#øÜò ÙÜò Ùðúô & d¬D¯I©I«KÔ8ð
,Ü$3´B·I±I¸d³OÔEUÐW[Ó$\Ð!ð %Ð0Ø+Ð+øô (ò ÙÜ¤Ð)ò Ü(¨°EÔ:Ü˜%¤Ô)¨U¯[©[¼FÒ-BØô .CûðúðÜ˜dÓ#Ð#øÜò Ùðús@   ‚
 �	#˜#¢#Á$A- Á-	C Á8C Â0B;Â;C Ã
C Ã	CÃCc                ó|   — t        | t        t        «      «      \  }}|t        k(  r|S t        j                  |«       y r�   )Ú_open_recordÚlenr3   rB   rj   )rà   r¿   Úrecords      rH   rÜ   rÜ   1  s4   € Ü˜d¤CÔ(8Ó$9Ó:�J€BˆØÔ!Ò!Øˆ	Ü‡H�HˆR„LØrS   c           	     óÌ   — g }t        | |«      D ]I  }t        |«      x}€t        | |d«      ‚t        | ||«      x}€Œ-|j	                  t        | |||«      «       ŒK t        |«      S )Nz&unknown claim name or protocol version)Ú_list_claim_namesÚ_parse_claim_namer   Ú_read_claim_recordr¾   Ú_parse_claimrº   )rb   rF   r    rƒ   Ú
name_partsrå   s         rH   Ú_read_claimsrì   9  sv   € Ø(*€FÜ! )¨YÓ7ò MˆÜ+¨DÓ1Ð1ˆJÐ:Ü+¨I°tÐ=eÓfÐfÜ(¨°I¸tÓDÐDˆFÑQØ�M‰Mœ, y°$¸
ÀFÓKÕLð	Mô
 �‹=ÐrS   c                óü   — 	 t        j                  |«      5 }t        ||«      cd d d «       S # 1 sw Y   y xY w# t        $ r9}d|j                  xs t        |«      j                  › �}t        | d |«      |‚d }~ww xY w)Nzcannot list claim directory: )rB   ÚscandirÚ_public_claim_namesrC   ÚstrerrorÚtyperË   r   )rb   rF   Úentriesr�   Úreasons        rH   rç   rç   C  sw   € ðLÜ�Z‰Z˜	Ó"ð 	; gÜ& y°'Ó:÷	;÷ 	;ò 	;ûäò LØ0°·±Ò1WÄ4ÈÃ;×CWÑCWÐ0XÐYˆÜ'¨	°4¸Ó@ÀeÐKûðLús)   ‚9 —-£	9 ­6²9 ¶9 ¹	A;Á4A6Á6A;c                ó–  — d }	 t        | ||«      \  }}|€|S |€t        j                  «       t        z   }n{t        j                  «       |k\  rd|j                  t
        k(  ry |t        | |«      vry d|j                  xs" t        |«      xs t        |«      j                  › �}t        | ||«      |‚t        j                  t        «       ŒÇ)Núcannot read claim: )Ú_attempt_claim_readrß   Ú	monotonicr/   rO   r
   rç   rð   r[   rñ   rË   r   Úsleepr0   )rb   rF   rƒ   Údeadlinerå   Úpendingró   s          rH   ré   ré   L  sÂ   € ð "€HØ
Ü-¨i¸ÀDÓI‰ˆ�Øˆ?ØˆMØÐÜ—~‘~Ó'Ô*;Ñ;‰HÜ�^‰^Ó Ò)Ø�}‰}¤Ò&ð àÔ,¨Y¸	ÓBÑBØØ*¨7×+;Ñ+;Ò+e¼sÀ7»|Ò+eÌtÐT[Ë}×OeÑOeÐ*fÐgˆFÜ+¨I°t¸VÓDÈ'ÐQÜ�
‰
Ô$Ô%ð# rS   c                óH  — 	 t        ||z  t        «      d fS # t        $ r Y yt        $ r}d |fcY d }~S d }~wt        $ rb}|j
                  t        k(  r	d |fcY d }~S d|j                  xs" t        |«      xs t        |«      j                  › �}t        | ||«      |‚d }~ww xY w)N)NNrõ   )Ú_read_recordr#   rÝ   ÚPermissionErrorrC   rO   r
   rð   r[   rñ   rË   r   )rb   rF   rƒ   r�   ró   s        rH   rö   rö   i  s    € ð
LÜ˜I¨Ñ,Ô.AÓBÀDÐHÐHøÜò ÙÜò Ø�Uˆ{ÕûÜò LØ�;‰;œ&Ò Ø˜�;ÕØ& u§~¡~Ò'[¼¸U»Ò'[ÄtÈEÃ{×G[ÑG[Ð&\Ð]ˆÜ'¨	°4¸Ó@ÀeÐKûð	Lús4   ‚ —	B!¢B!ª3­B!³B!¿BÁB!ÁABÂB!c                ób  — g }t        j                   «       }|D ]Š  }|j                  j                  d«      s|j                  |j                  «       Œ:t	        |j                  «      x}€ŒRt        |«      	 €Œ_t        t        j                  | «      d f|j                  |«       ŒŒ t        |«      S )Nú.)
rß   rƒ   Ú
startswithr¾   Ú_private_public_namerè   Ú_reclaim_private_recordrB   rc   Úsorted)rF   rò   ÚnamesÚnowÚentryÚpublic_names         rH   rï   rï   z  sš   € Ø€EÜ
�)‰)‹+€CØò SˆØ�z‰z×$Ñ$ SÔ)Ø�L‰L˜Ÿ™Õ$Ü1°%·*±*Ó=Ð=ˆkÑJÔO`ØóP
àñPô $¤R§Y¡Y¨yÓ%9¸4Ð$@À%Ç*Á*ÈcÕRðSô �%‹=ÐrS   c                ó<   — |j                  «       syt        | |«      S )Nr…   )Úexistsrì   )rb   rF   s     rH   rŠ   rŠ   ‡  s   € Ø×ÑÔØÜ˜	 9Ó-Ð-rS   c                óŒ  — 	 |j                  d«      j                  d«      \  }}}}}}	t        |«      }
|rt        |«      nd }t        j	                  |«      j                  d«      }t        |	 |t        k(  ||d   k(  d|
cxk  xr dk  nc t        |
«      |k(  |d u xs |dk\  xr t        |«      |k(  |j                  «       j                  «       |k(  xr% |j                  «       xr t        d„ |D «       «       f«      st        | |d«      ‚t        ||d   ||
||¬	«      S # t
        t        f$ r}t        | |d«      |‚d }~ww xY w)
NÚasciiú
zutf-8zmalformed claim recordr   iÿÿÿr   c              3  ó<   K  — | ]  }|j                  «       –— Œ y ­wr�   )Úisspace©r}   Ú	characters     rH   r   z_parse_claim.<locals>.<genexpr>£  s   è ø€ ÒB¨I�I×%Ñ%×'ÑBùs   ‚)rƒ   r{   r™   rÖ   r×   rÙ   )ÚdecodeÚsplitrµ   ÚbytesÚfromhexÚUnicodeDecodeErrorrE   r   Úallr"   r[   ÚencodeÚhexÚisprintabler”   rÔ   )rb   rƒ   rë   rå   Úmagicr™   Úpid_textÚhostname_hexÚ
start_textÚtrailingrÖ   rÙ   r×   r�   s                 rH   rê   rê   �  sY  € ð^ØEKÇ]Á]ÐSZÓE[×EaÑEaÐbfÓEgÑBˆˆu�h ¨j¸(Ü�(‹mˆÙ#-”�J”°4ˆÜ—=‘= Ó.×5Ñ5°gÓ>ˆô ØˆØ”ÑØ�˜A‘ÑØ	ˆSÖ�IÔÜˆC‹�HÑØ�ˆÒB˜% 1™*ÒA¬¨U«°zÑ)AØ�‰Ó×ÑÓ <Ñ/ò 	CØ× Ñ Ó"ò	CäÑB¸ÔBÓBÐBð
ô 
ô (¨	°4Ð9QÓRÐRÜ D°
¸1±ÀUÐPSÐ^fÐnsÔtÐtøô ¤
Ð+ò ^Ü'¨	°4Ð9QÓRÐX]Ð]ûð^ús   ‚A%D! Ä!EÄ0D>Ä>Ec                ó(  — | j                  d«      sy | j                  d«      j                  d«      }t        |«      t        k7  s|d   t
        vs|d   dk7  ry |d   }t        |«      t        k7  st        d„ |D «       «      ry t        d|d   «      |fS )	Nr‰   ú-r   r   Úv1ry   c              3  ó$   K  — | ]  }|d v–— Œ
 y­w©Ú0123456789abcdefNr…   r  s     rH   r   z$_parse_claim_name.<locals>.<genexpr>°  s   è ø€ Ò-iÐV_¨iÐ?QÔ.QÑ-iùó   ‚rÕ   )	ÚendswithÚremovesuffixr  rä   r%   r   r'   r”   r   )rƒ   Úpartsr™   s      rH   rè   rè   ©  s”   € Ø�=‰=˜Ô"ØØ×Ñ˜hÓ'×-Ñ-¨cÓ2€EÜ
ˆ5ƒzÔ+Ò+¨u°Q©x¼}Ñ/LÐPUÐVWÑPXÐ\`ÒP`ØØ�!‰H€EÜ
ˆ5ƒzÔ&Ò&¬#Ñ-iÐchÔ-iÔ*iØÜÐ*¨E°!©HÓ5°uÐ<Ð<rS   c                ó   — | › d|› d�S )Nz-v1-r‰   r…   )r{   r™   s     rH   r�   r�   µ  s   € ØˆW�D˜˜˜vÐ&Ð&rS   c                óB   — | j                  d«      j                  d«      S )Nzheld-zintent-)Úremoveprefixr‚   s    rH   rˆ   rˆ   ¹  s   € Ø×Ñ˜WÓ%×2Ñ2°9Ó=Ð=rS   c           
     ó  — t        «       j                  «       j                  «       }t        t	        j
                  «       «      }|€dn
t        |«      }t        › d| › dt	        j
                  «       › d|› d|› d�
j                  d«      S )NÚ r  r  )r   r  r  r   rB   Úgetpidr[   r"   )r™   r  rÙ   r  s       rH   r�   r�   ½  sr   € Ü“;×%Ñ%Ó'×+Ñ+Ó-€LÜ¤§	¡	£Ó,€EØ�}‘¬#¨e«*€JÜˆ^˜2˜e˜W B¤r§y¡y£{ m°2°l°^À2ÀjÀ\ÐQSÐT×[Ñ[Ð\cÓdÐdrS   c                óÒ  — t         j                  j                  | «      \  }}|xs t         j                  }t	        |«      }t
        rt        |«      nd }||f}	 t        |||f||«       |�	 t        j                  |«       y y # t        $ rA}	 |�t        j                  |«       ‚ # t        $ r}	t        d||	«       Y d }	~	‚ d }	~	ww xY wd }~ww xY w# t        $ r}	|	cY d }	~	S d }	~	ww xY w)Nz+strict publication directory cleanup failed)rB   rà   r  ÚcurdirÚ_private_record_namer9   Ú_open_directoryÚ_publish_record_in_directoryri   rj   r   )
Úpublic_pathrå   rá   rF   r  Úprivate_nameÚdirectory_fdÚdirectory_refÚpublication_errorrv   s
             rH   rŽ   rŽ   Ä  sñ   € ô
  ŸW™WŸ]™]¨;Ó7Ñ€Iˆ{ØÒ&œRŸY™Y€IÜ'¨Ó4€LÝ1F”? 9Ô-ÈD€LØ˜|Ð+€MðÜ$ ]°\À;Ð4OÐQUÐW]Ô^ð Ðð	Ü�H‰H�\Ô"ñ øô ò ð	qØÐ'Ü—‘˜Ô&ð 	øô ò 	qÜ!Ð"OÐQbÐdo×pÐpØûð	qþð	ûô ò 	ØÕûð	úsZ   ÁB Á-C Â	CÂB&Â%C	Â&	CÂ/CÂ<C	ÃCÃC	Ã	CÃ	C&ÃC!ÃC&Ã!C&c                óö  — t         j                  t         j                  z  t         j                  z  t        z  }t        t         dd «      x}�||z  }t        | |d   ||«      }d }	 t        t        j                  |«      «      }t        ||«       t        | ||«       t        | |d   ||«      \  }	}
|	€|
�t        |	|
«       y y # t        $ r,}t        | |d   ||«      \  }	}
|	€|
�t        d||	|
«       ‚ d }~ww xY w)NÚ
O_NOFOLLOWr   z(strict record publication cleanup failed)rB   ÚO_RDWRÚO_CREATÚO_EXCLr2   rN   Ú_open_relativerg   rh   r   Ú_link_private_recordri   Ú _close_and_unlink_private_recordr   Ú!_raise_record_finalization_errors)r7  r  rá   rå   ÚflagsÚ
o_nofollowÚ
private_fdÚprivate_identityr8  rv   Úunlink_errors              rH   r3  r3  ß  s!  € ô �I‰IœŸ
™
Ñ"¤R§Y¡YÑ.´Ñ:€EÜœb ,°Ó5Ð5ˆ
ÐBØ�ÑˆÜ ¨u°Q©x¸ÀÓE€JØ/3ÐðÜ)¬"¯(©(°:Ó*>Ó?ÐÜ�*˜fÔ%Ü˜]¨EÐ3CÔDô  !AØØˆa‰ØØó	!Ñ€K�ð Ð ,Ð":Ü)¨+°|ÕDð #;øô+ ò Ü$DØØ�!‰HØØó	%
Ñ!ˆ�\ð Ð" lÐ&>Ü!Ø:Ø!ØØô	ð 	ûðús   Á&7C Ã	C8Ã'C3Ã3C8c                óø   — d }	 t        j                  |«       d }	 |€t        | |«       nt	        | ||«       ||fS # t        $ r}|}Y d }~Œ3d }~ww xY w# t
        $ r Y ||fS t        $ r}|}Y d }~||fS d }~ww xY wr�   )rB   rj   ri   Ú_unlink_relativeÚ_unlink_relative_if_identityrÝ   )r7  r5  rD  rE  rv   r�   rF  s          rH   r@  r@    s¢   € ð )-€KðÜ
�‰�Ôð *.€LðØÐ#Ü˜]¨LÕ9ä(¨¸ÐFVÔWð
 ˜Ð$Ð$øô ò Ø�ûðûô ò Øð ˜Ð$Ð$ô ò ØŒØ˜Ð$Ð$ûðús2   „< œA ¼	AÁAÁAÁ	A9Á"A9Á*A4Á4A9c                óº   — 	 t        | g|¢­Ž  t        | |d   «      |k(  ry d}t        |«      ‚# t        $ r#}t        | |d   «      �‚ d}t        |«      |‚d }~ww xY w)Nr   z(private publication record was reclaimedr   z'private publication record was replaced)Ú_link_relativerÝ   Ú_relative_identityr�   )r7  r  rE  r�   ÚmsgÚmsg_0s         rH   r?  r?    su   € ð
;Ü�}Ð- uÓ-ô ˜-¨¨q©Ó2Ð6FÒFØØ5€EÜ
& uÓ
-Ð-øô ò ;Ü˜m¨U°1©XÓ6ÐBØØ8ˆÜ*¨3Ó/°UÐ:ûð	;ús   ‚. ®	A·AÁAc                ó€   — | |fD �cg c]  }|€Œ|‘Œ	 }}t        |«      dkD  rt        d|d   g|dd  ¢­Ž  |d   ‚c c}w )Nr   z!strict record finalization failedr   ©rä   r   )rv   rF  r�   rÁ   s       rH   rA  rA  1  sW   € ð #.¨|Ð!<ÖR˜ÀÑ@QŠeÐR€FÐRÜ
ˆ6ƒ{�Q‚ÜÐAÀ6È!Á9ÐZÈvÐVWÐVXÈzÓZØ
�‰)€Oùò Ss   ‡;�;c                óR   — d| › t         › t        j                  t        dz  «      › d�S )Nrÿ   ry   r)   )r(   r‹   rŒ   r+   )r  s    rH   r1  r1  ;  s/   € Øˆ{ˆmÔ2Ð3´G×4EÑ4EÔFgÐklÑFlÓ4mÐ3nÐnrÐsÐsrS   c                ó  — | j                  d«      r| j                  t        «      sy | dt        t        «        j	                  t
        «      \  }}}|t
        k7  s$t        |«      t        k7  st        d„ |D «       «      ry |S )Nrÿ   r   c              3  ó$   K  — | ]  }|d v–— Œ
 y­wr#  r…   r  s     rH   r   z'_private_public_name.<locals>.<genexpr>F  s   è ø€ ÒO°yˆyÐ 2Ô2ÑOùr%  )r   r&  r*   rä   Ú
rpartitionr(   r+   r”   )r5  r  ÚmarkerÚ
random_hexs       rH   r  r  ?  sv   € Ø×"Ñ" 3Ô'¨|×/DÑ/DÔE[Ô/\ØØ&2°1¼Ô<RÓ8SÐ7SÐ&T×&_Ñ&_Ô`vÓ&wÑ#€K�˜àÔ(Ò(Üˆz‹?Ô?Ò?ÜÑOÀJÔOÔOàØÐrS   c                ó2  — t        j                  | j                  «      d f}t        j                  | j                  «      5 }|D ]<  }t	        |j
                  «      | j
                  k(  sŒ&t        ||j
                  |«       Œ> 	 d d d «       y # 1 sw Y   y xY wr�   )rB   rc   rÆ   rî   r  rƒ   r  )rà   r  r7  rò   r  s        rH   rÞ   rÞ   L  sz   € Ü—I‘I˜dŸk™kÓ*¨DÐ0€MÜ	�‰�D—K‘KÓ	 ð H GØò 	HˆEÜ# E§J¡JÓ/°4·9±9Ó<Ü'¨°u·z±zÀ3ÕGñ	H÷H÷ Hñ Hús   Á(BÁ*BÂBc                óì  — | \  }}	 |�t         rt        j                  ||d¬«      nt        ||«      j	                  «       }t        j                  |j                  «      st        ||«      › d�}t        |«      ‚|j                  dk(  r||j                  z
  t        k  ry 	 t        | |«       y # t
        $ r Y y w xY w# t
        $ r Y y t        $ r#}|j                  t        t        hvr‚ Y d }~y d }~ww xY w)NF©Údir_fdr>   z  is not a regular private recordr   )r;   rB   Ústatr   ÚlstatrÝ   ÚS_ISREGÚst_moderC   Úst_nlinkÚst_mtimer,   Ú_unlink_private_record_oncerO   r   r	   )r7  r5  r  rF   r6  Úprivate_statrM  r�   s           rH   r  r  T  sô   € Ø+Ñ€Iˆ|ðð Ð'Õ,Aô �G‰G�L¨ÀuÕMä�i Ó.×4Ñ4Ó6ð 	ô �<‰<˜×,Ñ,Ô-Ü�i Ó.Ð/Ð/OÐPˆÜ�c‹lÐØ×Ñ Ò! c¨L×,AÑ,AÑ&AÔDYÒ&YØðÜ# M°<Õ@øô ò Ùðûô ò ÙÜò Ø�;‰;œv¤u˜oÑ-Øô .ûðús/   ‡:B. Â!B= Â.	B:Â9B:Â=	C3ÃC3ÃC.Ã.C3c                ó‚   — | \  }}|�t         rt        j                  ||¬«       y t        ||«      j                  «        y ©N©rZ  )r:   rB   Úunlinkr   )r7  r5  rF   r6  s       rH   ra  ra  l  s6   € Ø+Ñ€Iˆ|àÐ Õ%<ä
�	‰	�, |Ö4äˆY˜Ó%×,Ñ,Õ.rS   c                ó¸   — | \  }}	 |�t         rt        j                  ||d¬«      }nt        ||«      j	                  «       }t        |«      S # t
        $ r Y y w xY w)NFrY  )r;   rB   r[  r   r\  rÝ   rg   )r7  rƒ   rF   r6  Ú	path_stats        rH   rL  rL  v  sb   € Ø+Ñ€Iˆ|ðØÐ#Õ(=ÜŸ™ ¨\È5ÔQ‰Iä˜Y¨Ó-×3Ñ3Ó5ˆIô ˜)Ó$Ð$øô ò Ùðús   ‡;A Á	AÁAc                ó˜   — t        | |«      |k(  r/t        j                  t        «      5  t	        | |«       d d d «       y y # 1 sw Y   y xY wr�   )rL  Ú
contextlibÚsuppressrÝ   rH  )r7  rƒ   rÄ   s      rH   rI  rI  ‚  sK   € ô
 ˜-¨Ó.°(Ò:Ü× Ñ Ô!2Ó3ñ 	2Ü˜]¨DÔ1÷	2ð 	2ð ;÷	2ð 	2ús   ©A Á A	c                ó„   — | \  }}|�t        j                  ||||¬«      S t        j                  t        ||«      ||«      S rd  )rB   Úopenr   )r7  rƒ   rB  rá   rF   r6  s         rH   r>  r>  Œ  sK   € Ø+Ñ€Iˆ|ð Ð#ô 	�‰��e˜T¨,Ô7ðô �W‰W”T˜) TÓ*¨E°4Ó8ðrS   c                ó~   — | \  }}|�t         rt        ||||¬«       y t        t        ||«      t        ||«      «       y )N©Ú
src_dir_fdÚ
dst_dir_fd)r<   Ú_link_no_followr   )r7  Úsource_nameÚdestination_namerF   r6  s        rH   rK  rK  •  sA   € Ø+Ñ€Iˆ|ØÐÕ$9Ü˜Ð%5À,Ð[gÕhØÜ”D˜ KÓ0´$°yÐBRÓ2SÕTrS   ro  c               óž   — t         sd}t        |«      ‚t        rt        j                  | |||d¬«       y t        j                  | |||¬«       y )Nz'os.link is unavailable on this platformF)rp  rq  r>   ro  )r8   rD   rJ   rB   r7   )rG   Údestinationrp  rq  rM  s        rH   rr  rr  �  sE   € õ ð 8ˆÜ! #Ó&Ð&õ $Ü
�‰�˜°
ÀzÐchÖiä
�‰�˜°
ÀzÖRrS   c                óÔ   — | \  }}|�t         rt        j                  ||¬«       y t        j                  dk(  rt        t        |«      |«       y t        ||«      j                  «        y )Nre  Úwin32)r:   rB   rf  ÚsysÚplatformr§   r   )r7  rƒ   rF   r6  s       rH   rH  rH  ²  sP   € Ø+Ñ€Iˆ|ØÐÕ$;Ü
�	‰	�$˜|Ö,Ü	�‰˜Ò	 ÜœT )›_¨dÕ3äˆY˜Ó×$Ñ$Õ&rS   c                óp  — t         r;t        t        | «      «      }	 t        ||||¬«       	 t        j                  |«       y t        | |z  | |z  «       y # t        $ r?}	 t        j                  |«       ‚ # t        $ r}t        d||«       Y d }~‚ d }~ww xY wd }~ww xY w# t        $ r}|cY d }~S d }~ww xY w)Nro  z$strict link directory cleanup failed)r<   r2  r[   rr  ri   rB   rj   r   )rF   rs  rt  r6  Ú
link_errorrv   s         rH   r–   r–   ¼  s½   € ÝÜ&¤s¨9£~Ó6ˆð	Ü˜KÐ)9ÀlÐ_kÕlð	Ü�H‰H�\Ô"ð Ü�I Ñ+¨YÐ9IÑ-IÔJØøô ò 	ðgÜ—‘˜Ô&ð øô !ò gÜ%Ð&LÈjÐZe×fÐfØûðgþð	ûô ò 	ØÕûð	úsX   œA ¬B  Á	BÁA5Á4BÁ5	BÁ>BÂBÂBÂBÂBÂ 	B5Â)B0Â*B5Â0B5c                ó”   — t         j                  j                  | «      \  }}t        t	        |xs t         j
                  «      |«      S r�   )rB   rà   r  r§   r   r0  )rà   rF   rƒ   s      rH   Ú_unlink_owner_pathr~  Ð  s3   € Ü—g‘g—m‘m DÓ)�O€IˆtÜ¤ YÒ%;´"·)±)Ó <¸dÓCÐCrS   c                óÊ   — | D �cg c]  }|t        |«      f‘Œ }}|D ���cg c]  \  }\  }}|rŒ|‘Œ c}}}|D ��cg c]  \  }\  }}|€Œ|‘Œ c}}fS c c}w c c}}}w c c}}w r�   )Ú_unlink_owner_path_result)Úpathsrà   ÚresultsÚremovedÚ_r�   s         rH   r¹   r¹   Õ  sw   € ØCHÖI¸4�Ô/°Ó5Ò6ÐI€GÐIØ+2×BÐBÑ'�T™<˜G Qº'ŠDÔBØ#*÷EÙ�!‘Z�a˜¨eÑ.?ŠóEð ð ùò JùÜBùó Es   …A¡A¯A¼AÁ
Ac                ój   — 	 t        | «      }d|fS # t        $ r Y yt        $ r}d|fcY d }~S d }~ww xY w)N)TNFT)r~  rÝ   ri   )rà   r©   r�   s      rH   r€  r€  Ü  sE   € ðÜ*¨4Ó0ˆð
 �ÐÐøô	 ò ÙÜò Ø�eˆ|Õûðús   ‚ ‘	2œ2¤-§2­2c                óN   — t        |«      dkD  rt        | |d   g|dd  ¢­Ž  |d   ‚)Nr   r   rP  )ÚmessagerÁ   s     rH   r»   r»   æ  s/   € Ü
ˆ6ƒ{�Q‚Ü˜g v¨a¡yÐ>°6¸!¸"°:Ó>Ø
�‰)€OrS   c                óŒ  — t         rCt        t        | «      «      }	 t        j                  ||¬«       	 t        j                  |«       y t        j                  dk7  rt        | |z  «      j	                  «        y d}t        t        «      D ]T  }t        | |z  «      x}€ y |j                  t        t         hvs|t        dz
  k(  r|‚t#        j$                  |«       |dz  }ŒV y # t
        $ r?}	 t        j                  |«       ‚ # t
        $ r}t        d||«       Y d }~‚ d }~ww xY wd }~ww xY w# t
        $ r}|cY d }~S d }~ww xY w)Nre  z&strict unlink directory cleanup failedrx  gü©ñÒMbP?r   ry   )r:   r2  r[   rB   rf  ri   rj   r   ry  rz  r   Úranger.   Ú_unlink_errorrO   r   r	   rß   rø   )rF   rƒ   r6  rF  rv   Úretry_delayÚattemptr�   s           rH   r§   r§   ì  s9  € ÝÜ&¤s¨9£~Ó6ˆð	Ü�I‰I�d <Õ0ð	Ü�H‰H�\Ô"ð Ü
‡|�|�wÒÜˆY˜ÑÓ×%Ñ%Ô'ØØ€KÜÔ,Ó-ò ˆÜ" 9¨tÑ#3Ó4Ð4ˆEÐ=ÙØ�;‰;œv¤u˜oÑ-°Ô<OÐRSÑ<SÒ1SØˆKÜ�
‰
�;ÔØ�qÑ‰ðð øô- ò 	ðkÜ—‘˜Ô&ð øô !ò kÜ%Ð&NÐP\Ð^i×jÐjØûðkþð	ûô ò 	ØÕûð	úsX   œC# ´D. Ã#	D+Ã-DÄD&Ä	D#ÄDÄD&ÄD#Ä#D&Ä&D+Ä.	EÄ7D>Ä8EÄ>Ec                óV   — 	 | j                  «        y # t        $ r}|cY d }~S d }~ww xY wr�   )rf  rC   )rà   r�   s     rH   rŠ  rŠ  
  s,   € ðØ�‰Œð øô ò Ø�ûðús   ‚ “	(œ#�(£(c           	     ó’   — t        j                  | t         j                  t        t         dd«      z  t        t         dd«      z  «      S )NÚO_DIRECTORYr   r:  )rB   rm  ÚO_RDONLYrN   )rF   s    rH   r2  r2    s:   € Ü�7‰7ØÜ
�‰”gœb -°Ó3Ñ3´g¼bÀ,ÐPQÓ6RÑRóð rS   c                óN   — t        | |«      \  }}t        j                  |«       |S r�   )rã   rB   rj   )rà   Úlimitr¿   rå   s       rH   rü   rü     s"   € Ü˜d EÓ*�J€BˆÜ‡H�HˆR„LØ€MrS   c                óÞ  — | j                  «       }t        j                  |j                  «      s| › d�}t	        |«      ‚t
        j                  t        z  t        t
        dd«      z  t        t
        dd«      z  }t        j                  | |«      }	 t        || ||«      }||fS # t        $ r?}	 t        j                  |«       ‚ # t        $ r}t        d||«       Y d }~‚ d }~ww xY wd }~ww xY w)Nú is not a regular filer:  r   Ú
O_NONBLOCKz!strict record read cleanup failed)r\  r[  r]  r^  rC   rB   r�  r2   rN   rm  Ú_read_opened_recordri   rj   r   )	rà   r’  rh  rM  rB  r¿   rå   Ú
read_errorrv   s	            rH   rã   rã     sâ   € Ø—
‘
“€IÜ�<‰<˜	×)Ñ)Ô*Ø�Ð,Ð-ˆÜ�c‹lÐÜ�K‰Kœ)Ñ#¤g¬b°,ÀÓ&BÑBÄWÌRÐQ]Ð_`ÓEaÑa€EÜ	�‰��uÓ	€BðÜ$ R¨¨y¸%Ó@ˆð ˆvˆ:Ðøô ò ð	`Ü�H‰H�RŒLð 	øô ò 	`Ü!Ð"EÀzÐS^×_Ð_Øûð	`þðús<   ÂB$ Â$	C,Â.CÃC'Ã	C$ÃCÃC'ÃC$Ã$C'Ã'C,c                óP  — t        j                  | «      }t        j                  |j                  «      s|› d�}t        |«      ‚t        |«      t        |«      k7  r|› d�}t        |«      ‚t        j                  | |dz   «      }t        |«      |kD  r|› d|› d�}t        |«      ‚|S )Nr”  z changed while openingr   z	 exceeds z bytes)	rB   rh   r[  r]  r^  rC   rg   Úreadrä   )r¿   rà   rh  r’  Úopened_statrM  rå   s          rH   r–  r–  1  s¢   € Ü—(‘(˜2“,€KÜ�<‰<˜×+Ñ+Ô,Ø�Ð,Ð-ˆÜ�c‹lÐÜ�kÓ"¤n°YÓ&?Ò?Ø�Ð,Ð-ˆÜ�c‹lÐÜ�W‰W�R˜ ™Ó#€FÜ
ˆ6ƒ{�UÒØ��i ˜w fÐ-ˆÜ�c‹lÐØ€MrS   c                ó6  — 	 |j                  «        y # t        $ r| 	 |j                  «       j                  }n"# t        $ r}t        | d d|› �«      |‚d }~ww xY wt        j                  |«      rt        j                  |«      sY y t        | d |› d�«      d ‚w xY w)Nzcannot inspect z is not a real directory)	ÚmkdirÚFileExistsErrorr\  r^  rC   r   r[  ÚS_ISDIRÚS_ISLNK)rb   rF   rá   r�   s       rH   rd   rd   @  sš   € ð	kØ�‰ÕøÜò kð	gØ—?‘?Ó$×,Ñ,‰DøÜò 	gÜ+¨I°t¸ÈyÈkÐ=ZÓ[ÐafÐfûð	gúä�<‰<˜Ô¤d§l¡l°4Ô&8ÙÜ'¨	°4¸I¸;ÐF^Ð9_Ó`ÐfjÐjðkús/   ‚ “	B�8·B¸	AÁAÁAÁ-BÂBc                óÀ   ‡ — ‰  xs5 ‰ j                  d«      xs" ‰ t        j                  t        j                  hv }|st	        ˆ fd„dD «       «      rd}t        |«      ‚y )Nrÿ   c              3  ó&   •K  — | ]  }|‰v –— Œ
 y ­wr�   r…   )r}   Ú	separatorrƒ   s     €rH   r   z-_validate_force_break_name.<locals>.<genexpr>O  s   øè ø€ ÒW°i 	¨TÔ 1ÑWùs   ƒ)ú/ú\ú z,claim_name must be one public claim basename)r   rB   r0  Úpardirr”   rE   )rƒ   Úinvalid_componentrM  s   `  rH   r¥   r¥   M  sY   ø€ Ø ˜ÒZ D§O¡O°CÓ$8ÒZ¸DÄRÇYÁYÔPR×PYÑPYÐDZÐ<ZÐÙœCÓWÐCVÔWÔWØ<ˆÜ˜‹oÐð XrS   c                óÔ   ‡— t        j                  | «      5 }t        ˆfd„|D «       «      s(t        t        t        j
                  t        «      ‰«      ‚	 d d d «       y # 1 sw Y   y xY w)Nc              3  ó<   •K  — | ]  }|j                   ‰k(  –— Œ y ­wr�   r‚   )r}   r  rƒ   s     €rH   r   z&_require_exact_name.<locals>.<genexpr>V  s   øè ø€ Ò;¨%�5—:‘: Õ%Ñ;ùs   ƒ)rB   rî   r”   rÝ   r   rð   )rF   rƒ   rò   s    ` rH   r¦   r¦   T  sU   ø€ Ü	�‰�IÓ	ð G 'ÜÓ;°7Ô;Ô;Ü#¤F¬B¯K©K¼Ó,?ÀÓFÐFð <÷G÷ Gñ Gús   —=AÁA'c                óš   — t        |t        «      xs' |j                  t        v xs t	        |dd «      t
        v }|rd}t        | d |«      |‚y )NÚwinerrorzCfilesystem does not support atomic no-replace hard-link publication)r’   rD   rO   rT   rN   r6   r   )rb   r�   Úunsupportedró   s       rH   r‘   r‘   Z  s]   € ä�5Ô-Ó.ò 	PØ�;‰;Ô7Ð7ò	Pä�E˜: tÓ,Ô0NÐNð ñ
 ØVˆÜ'¨	°4¸Ó@ÀeÐKð rS   c                ó2   — | j                   | j                  fS r�   )Úst_devÚst_ino)Ústs    rH   rg   rg   e  s   € Ø�9‰9�b—i‘iÐÐrS   )rÔ   rÕ   rV   )rÇ   rW   )rÇ   zfrozenset[int])rb   r[   rà   r   rá   rµ   rÇ   rØ   )rà   r   rÇ   rØ   )rb   r[   rF   r   rÇ   rÊ   )rb   r[   rF   r   rÇ   ú	list[str])rb   r[   rF   r   rƒ   r[   rÇ   zbytes | None)rb   r[   rF   r   rƒ   r[   rÇ   z#tuple[bytes | None, OSError | None])rF   r   rò   zIterator[os.DirEntry[str]]rÇ   r±  )
rb   r[   rƒ   r[   rë   z$tuple[StrictSoftFileClaimState, str]rå   r  rÇ   rÔ   )rƒ   r[   rÇ   z+tuple[StrictSoftFileClaimState, str] | None)r{   rÕ   r™   r[   rÇ   r[   )rƒ   r[   rÇ   r[   )r™   r[   rÇ   r  )r4  r[   rå   r  rá   rµ   rÇ   úBaseException | None)
r7  útuple[str, int | None]r  útuple[str, str]rá   rµ   rå   r  rÇ   rÈ   )
r7  r³  r5  r[   rD  rµ   rE  útuple[int, int] | NonerÇ   z1tuple[BaseException | None, BaseException | None])r7  r³  r  r´  rE  rÉ   rÇ   rÈ   )rv   r²  rF  r²  rÇ   rÈ   )r  r[   rÇ   r[   )r5  r[   rÇ   z
str | None)rà   r   r  r]   rÇ   rÈ   )r7  r³  r5  r[   r  r]   rÇ   rÈ   )r7  r³  r5  r[   rÇ   rÈ   )r7  r³  rƒ   r[   rÇ   rµ  )r7  r³  rƒ   r[   rÄ   rÉ   rÇ   rÈ   )
r7  r³  rƒ   r[   rB  rµ   rá   rµ   rÇ   rµ   )r7  r³  rs  r[   rt  r[   rÇ   rÈ   )
rG   ú
str | Pathrv  r¶  rp  rØ   rq  rØ   rÇ   rÈ   )r7  r³  rƒ   r[   rÇ   rÈ   )rF   r   rs  r[   rt  r[   rÇ   r²  )rà   r[   rÇ   r²  )r�  ztuple[str, ...]rÇ   z%tuple[list[str], list[BaseException]])rà   r[   rÇ   z!tuple[bool, BaseException | None])r‡  r[   rÁ   zlist[BaseException]rÇ   rÈ   )rF   r   rƒ   r[   rÇ   r²  )rà   r   rÇ   zOSError | None)rF   r[   rÇ   rµ   )rà   r   r’  rµ   rÇ   r  )rà   r   r’  rµ   rÇ   ztuple[int, bytes])
r¿   rµ   rà   r   rh  úos.stat_resultr’  rµ   rÇ   r  )rb   r[   rF   r   rÇ   rÈ   )rƒ   r[   rÇ   rÈ   )rF   r   rƒ   r[   rÇ   rÈ   )rb   r[   r�   zNotImplementedError | OSErrorrÇ   rÈ   )r°  r·  rÇ   rÉ   )€Ú
__future__r   rj  rO   rB   r‹   r[  ry  r?   rß   Údataclassesr   r   r   r   r   r	   r
   r   Úpathlibr   Útypingr   r   r   r   Ú_apir   r   r   Ú_errorr   Ú	_identityr   r   Ú_soft_protocolr   Ú_utilr   r   Úcollections.abcr   rÕ   rP   r   rÏ   r   r!   r"   r#   r%   r'   r(   r*   r+   r,   r.   r/   r0   rN   r2   r  r3   r6   Úhasattrr8   rm  Úsupports_dir_fdr9   rf  r:   r;   r7   r<   rI   rJ   rR   rT   rV   rÔ   Ú	Exceptionr�   re   rÜ   rì   rç   ré   rö   rï   rŠ   rê   rè   r�   rˆ   r�   rŽ   r3  r@  r?  rA  r1  r  rÞ   r  ra  rL  rI  r>  rK  rr  rH  r–   r~  r¹   r€  r»   r§   rŠ  r2  rü   rã   r–  rd   r¥   r¦   r‘   rg   Ú__all__r…   rS   rH   ú<module>rÆ     so  ðÞ "ã Û Û 	Û Û Û 
Û Û Ý !ß F× FÑ FÝ ß 6Ó 6ç AÑ AÝ -ß 5Ý 7ß 5áÝ(à"Ð#3Ñ4Ð á'0°(¸FÐ1CÓ'D€Ð$Ó DØ#.Ð �jÓ .Ø$,Ð �zÓ ,Ø/€ˆjÓ /Ø"&Ð �ZÓ &Ø%&Ð ˜
Ó &Ø "Ð �:Ó "Ø%3Ð ˜
Ó 3Ø%+Ð ˜
Ó +Ø02Ð ! :Ó 2Ø&)Ð �|Ó )Ø"$Ð �ZÓ $à"%Ð �<Ó %Ø"'Ð �<Ó 'ñ    J°Ó2€	ˆ:Ó 2Ø!CÐ!<×!CÑ!CÓ!EÐ �,Ó EÙ8AÂ+Ó8NÐ Ð 5Ó Nñ
 !  VÓ,€	ˆ;Ó ,ð &(§W¡W°×0BÑ0BÐ%BÐ �{Ó BØ')§y¡y°B×4FÑ4FÐ'FÐ ˜Ó FØ%'§W¡W°×0BÑ0BÐ%BÐ �{Ó BØ%.Ò%P°2·7±7¸b×>PÑ>PÐ3PÐ �{Ó Póñ$ -HÓ,IÐ ˜kÓ Iócñ 8[Ó7\Ð Ð4Ó \ôcc˜ô ccñL �$Ô÷
ð 
ó ð
ô	 9ô 	óó4óóLó&ó:Ló"
ó.ðuØðuà
ðuð 5ðuð ð	uð
 óuó8	=ó'ó>óeðØðàðð ðð ó	ð6%EØ)ð%Eàð%Eð ð%Eð ð	%Eð
 
ó%EðP%Ø)ð%àð%ð ð%ð -ð	%ð
 7ó%ð0.Ø)ð.àð.ð &ð.ð 
ó	.ð$Ø%ðà&ðð 
óótó
óHóó0/ó	%ð2Ø)ð2à
ð2ð ð2ð 
ó	2óóUð "Ø!ñSØðSàðSð ð	Sð
 ðSð 
óSó*'óó(Dó
óóóó<óóóó$ó
kóóGóLó ò�rS   