Ë
    bQbjg  ã                  ó.  — U d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z
 erddlmZ ddlmZmZ d	ed
<   	 ddlmZ 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Zedk(  r¬ ej,                  «       j/                  «       Zedz  j3                  «       sJ ‚edz  Zedz  Zej9                  d¬«      Z ee«      D � �ci c]&  \  } }| j=                  d«      j=                  d«      |“Œ( c}} Z eee«      Z  ejB                   e"e «      «       yy# e$ r	 ddlmZ Y ŒÑw xY wc c}} w )zhSync Requirements - Automatically upgrade test requirements pinned
versions from pre-commit config file.é    )ÚannotationsN)ÚPath)ÚTYPE_CHECKING)Úload)Ú	Generator)ÚCLoaderÚLoaderztype[_CLoader | _Loader]r	   )r   )r	   c              #  óº   K  — t        | t        «      }|d   D ]?  }d|vsd|vrŒ|d   }|j                  dd«      d   }|d   j                  d«      }||f–— ŒA y­w)	z5Yield (name, rev) tuples from pre-commit config file.ÚreposÚrepoÚrevú/é   éÿÿÿÿÚvN)Ú	load_yamlr	   ÚrsplitÚremoveprefix)Úpre_commit_textÚpre_commit_configr   ÚurlÚnamer   s         úP/var/www/html/venv/lib/python3.12/site-packages/trio/_tools/sync_requirements.pyÚyield_pre_commit_version_datar      sv   è ø€ ô " /´6Ó:ÐØ! 'Ñ*ò ˆØ˜Ñ ¨dÑ!2ØØ�6‰lˆØ�z‰z˜#˜qÓ! "Ñ%ˆØ�5‰k×&Ñ& sÓ+ˆØ�Cˆi‹ñùs   ‚AAc                óx  — d}| j                  d¬«      j                  d«      }| j                  dd¬«      5 }|D ]ç  }|j                  d«      sd|vr|j	                  |«       Œ*|j                  dd«      \  }}|j                  «       }d	}	d
|v r*|j                  d
d«      \  }}	|j                  «       }d|	z   }	|j                  |«      }
|
€|j	                  |«       Œ¤|› d|
› |	› �}||k7  r%|sd}t        d«       t        |› d|› d|› d|
› �«       |j	                  |«       Œé 	 ddd«       |S # 1 sw Y   |S xY w)zeReturn if updated requirements file.

    Update requirements file to match versions in version_data.Fúutf-8©ÚencodingTÚwú#z==r   ú
ú;z ;Nz5Changed test requirements version to match pre-commitz -> )	Ú	read_textÚ
splitlinesÚopenÚ
startswithÚwriteÚsplitÚstripÚgetÚprint)ÚrequirementsÚversion_dataÚchangedÚ	old_linesÚfileÚliner   ÚrestÚold_versionÚextraÚversionÚnew_lines               r   Úupdate_requirementsr7   )   s^  € ð €GØ×&Ñ&°Ð&Ó8×CÑCÀDÓI€Ià	×	Ñ	˜3¨Ð	Ó	1ð !°TØò 	!ˆDà�‰˜sÔ# t°4Ñ'7Ø—
‘
˜4Ô ØØŸ™ D¨!Ó,‰JˆD�$àŸ*™*›,ˆKØˆEØ�d‰{Ø%)§Z¡Z°°QÓ%7Ñ"�˜UØ)×/Ñ/Ó1�Ø˜u™�Ø"×&Ñ& tÓ,ˆGàˆØ—
‘
˜4Ô Øà˜˜r ' ¨5¨'Ð2ˆHØ˜4ÒÙØ"�GÜÐQÔRÜ˜˜˜b  ¨T°$°°r¸'¸ÐCÔDØ�J‰J�xÕ ñ3	!÷!ð6 €N÷7!ð6 €Nús   ·C-D/Ä/D9Ú__main__ÚLICENSEz.pre-commit-config.yamlztest-requirements.txtr   r   z-mirrorz-pre-commit)r   ÚstrÚreturnz&Generator[tuple[str, str], None, None])r,   r   r-   zdict[str, str]r;   Úbool)#Ú__doc__Ú
__future__r   ÚsysÚpathlibr   Útypingr   Úyamlr   r   Úcollections.abcr   r   Ú_CLoaderr	   Ú_LoaderÚ__annotations__ÚImportErrorr   r7   Ú__name__ÚcwdÚabsoluteÚsource_rootÚexistsÚ
pre_commitÚtest_requirementsr#   r   ÚremovesuffixÚpre_commit_versionsr.   ÚexitÚint)r   r5   s   00r   ú<module>rS      sJ  ðò)õ #ã 
Ý Ý  å "áÝ)ç;à$Ó$ðÝ&ð
Øðà+óð%Øð%à ð%ð 
ó%ðP ˆzÒØ�$—(‘(“*×%Ñ%Ó'€Kð ˜)Ñ#×+Ñ+Ô-Ð-Ð-ØÐ8Ñ8€JØ#Ð&=Ñ=Ðà ×*Ñ*°GÐ*Ó<€Oñ ;¸?ÓK÷áˆD�'ð 	×Ñ˜)Ó$×1Ñ1°-Ó@À'ÑIóÐñ "Ð"3Ð5HÓI€GØ€C‡H�H‰S�‹\Õð# øðu ò ßðüóLs   ¶D  Â.+DÄ DÄD