ó
    T=ŒjÇ  ã                  óÖ   • S SK Jr  S SKrS SKrS SKrS SKJrJr  S SKJ	r	J
r
  S SKJr  S SKJr  S SKJrJrJrJr  \R(                  " \5      r " S S	\5      r\R0                  " \5        g)
é    )ÚannotationsN)Ú
BadCommandÚInstallationError)Ú
HiddenTextÚdisplay_path)Úmake_command)Úpath_to_url)Ú
RevOptionsÚVersionControlÚ(find_path_to_project_root_from_repo_rootÚvcsc                  ó   ^ • \ rS rSrSrSrSrSr\SS j5       r	          SS jr
 S         SS jjr S         SS	 jjr\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SU 4S jj5       rSrU =r$ )Ú	Mercurialé   Úhgz.hgÚclone)zhg+filezhg+httpzhg+httpszhg+sshzhg+static-httpc                ó   • SU  3/$ )Nz--rev=© )Úrevs    Ú_/Users/stevendouglas/BidBrain/.venv/lib/python3.13/site-packages/pip/_internal/vcs/mercurial.pyÚget_base_rev_argsÚMercurial.get_base_rev_args!   s   € à˜˜�ÐÐó    c                ó4  • UR                  5       n[        R                  SUU[        U5      5        US::  a  SnOUS:X  a  SnOUS:X  a  SnOSnU R	                  [        S	S
/UQUPUP76 5        U R	                  [        S/UQUR                  5       P76 US9  g )NzCloning hg %s%s to %sr   )z--quieté   r   é   )ú	--verbose)r   z--debugr   z
--noupdateÚupdate©Úcwd)Ú
to_displayÚloggerÚinfor   Úrun_commandr   Úto_args)ÚselfÚdestÚurlÚrev_optionsÚ	verbosityÚrev_displayÚflagss          r   Ú	fetch_newÚMercurial.fetch_new%   s¯   € ð "×,Ñ,Ó.ˆÜ�‰Ø#ØØÜ˜Óô		
ð ˜‹>Ø%1‰EØ˜!‹^Ø‰EØ˜!‹^Ø"‰Eà,ˆEØ×Ñœ g¨|ÐO¸eÐOÀSÐOÈ$ÒOÔPØ×ÑÜ˜ÐA EÐA¨;×+>Ñ+>Ó+@ÒAØð 	ò 	
r   c                óP  • / n[         R                  R                  XR                  S5      n[        R
                  " 5       nUS::  a  UR                  S5         UR                  U5        UR                  SSUR                  5        [        US5       nUR                  U5        S S S 5        [        S/UQUR                  5       P76 n	U R                  X‘S9  g ! , (       d  f       N:= f! [        [        R                   4 a   n
["        R%                  S	X*5         S n
A
g S n
A
ff = f)
NÚhgrcr   ú-qÚpathsÚdefaultÚwr   r   z/Could not switch Mercurial repository to %s: %s)ÚosÚpathÚjoinÚdirnameÚconfigparserÚRawConfigParserÚappendÚreadÚsetÚsecretÚopenÚwriter   r%   r$   ÚOSErrorÚNoSectionErrorr"   Úwarning)r&   r'   r(   r)   r*   Úextra_flagsÚrepo_configÚconfigÚconfig_fileÚcmd_argsÚexcs              r   ÚswitchÚMercurial.switch=   sí   € ð ˆÜ—g‘g—l‘l 4¯©°vÓ>ˆÜ×-Ò-Ó/ˆà˜‹>Ø×Ñ˜tÔ$ð		1Ø�K‰K˜Ô$Ø�J‰J�w 	¨3¯:©:Ô6Ü�k 3Ô'¨;Ø—‘˜[Ô)÷ (ô
 $ HÐR¨{ÐR¸K×<OÑ<OÓ<QÒRˆHØ×Ñ˜XÐÒ0÷ (Õ'ûäœ×4Ñ4Ð5ó 	XÜ�N‰NÐLÈc×WÑWûð	Xús0   Á:C+ ÂCÂ&C+ Ã
C(Ã$C+ Ã+D%ÄD Ä D%c                ó²   • / nUS::  a  UR                  S5        U R                  S/UQUS9  [        S/UQUR                  5       P76 nU R                  XaS9  g )Nr   r1   Úpullr   r   )r;   r$   r   r%   )r&   r'   r(   r)   r*   rD   rH   s          r   r   ÚMercurial.updateV   sg   € ð ˆà˜‹>Ø×Ñ˜tÔ$à×Ñ˜&Ð/ ;Ð/°TÐÑ:Ü ÐN¨;ÐN¸×8KÑ8KÓ8MÒNˆØ×Ñ˜ÐÒ,r   c                ó¨   • U R                  SS/SSUS9R                  5       nU R                  U5      (       a  [        U5      nUR                  5       $ )NÚ
showconfigzpaths.defaultFT©Úshow_stdoutÚstdout_onlyr    )r$   ÚstripÚ_is_local_repositoryr	   )ÚclsÚlocationr(   s      r   Úget_remote_urlÚMercurial.get_remote_urlf   s[   € à�o‰oØ˜?Ð+ØØØð	 ð 
÷
 ‰%‹'ð 	ð ×#Ñ# C×(Ñ(Ü˜cÓ"ˆCØ�y‰y‹{Ðr   c                óJ   • U R                  SS/SSUS9R                  5       nU$ )zG
Return the repository-local changeset revision number, as an integer.
Úparentsz--template={rev}FTrQ   ©r$   rT   )rV   rW   Úcurrent_revisions      r   Úget_revisionÚMercurial.get_revisionr   s=   € ð
 Ÿ?™?ØÐ*Ð+ØØØð	 +ð 
÷
 ‰%‹'ð 	ð  Ðr   c                óJ   • U R                  SS/SSUS9R                  5       nU$ )zP
Return the changeset identification hash, as a 40-character
hexadecimal string
r[   z--template={node}FTrQ   r\   )rV   rW   Úcurrent_rev_hashs      r   Úget_requirement_revisionÚ"Mercurial.get_requirement_revision   s=   € ð Ÿ?™?ØÐ+Ð,ØØØð	 +ð 
÷
 ‰%‹'ð 	ð  Ðr   c                ó   • g)z&Always assume the versions don't matchFr   )rV   r'   Únames      r   Úis_commit_id_equalÚMercurial.is_commit_id_equal�   s   € ð r   c                ó  • U R                  S/SSUS9R                  5       n[        R                  R	                  U5      (       d<  [        R                  R                  [        R                  R                  X5      5      n[        X5      $ )zy
Return the path to Python project root, relative to the repo root.
Return None if the project root is in the repo root.
ÚrootFTrQ   )r$   rT   r5   r6   ÚisabsÚabspathr7   r   )rV   rW   Ú	repo_roots      r   Úget_subdirectoryÚMercurial.get_subdirectory’   sk   € ð —O‘OØˆH %°T¸xð $ð 
ç
‰%‹'ð 	ô �w‰w�}‰}˜Y×'Ñ'ÜŸ™Ÿ™¬¯©¯©°XÓ(IÓJˆIÜ7¸ÓLÐLr   c           	     ó  >• [         TU ]  U5      nU(       a  U$  U R                  S/USSSSS9n[        R                  R                  UR                  S5      5      $ ! [         a    [        R                  SU5         g [         a     g f = f)Nri   FTÚraise)r    rR   rS   Úon_returncodeÚlog_failed_cmdzIcould not determine if %s is under hg control because hg is not availablez
)ÚsuperÚget_repository_rootr$   r   r"   Údebugr   r5   r6   ÚnormpathÚrstrip)rV   rW   ÚlocÚrÚ	__class__s       €r   rt   ÚMercurial.get_repository_root    s›   ø€ ä‰gÑ)¨(Ó3ˆÞØˆJð	Ø—‘Ø�ØØ!Ø Ø%Ø$ð  ð ˆAô" �w‰w×Ñ §¡¨Ó 0Ó1Ð1øô ó 	Ü�L‰Lð.àôñ
 Ü ó 	Ùð	ús   ›A Á BÂ 	BÂBr   )r   ÚstrÚreturnz	list[str])
r'   r|   r(   r   r)   r
   r*   Úintr}   ÚNone)r   )rW   r|   r}   r|   )r'   r|   re   ú
str | Noner}   Úbool)rW   r|   r}   r€   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__re   r8   Ú	repo_nameÚschemesÚstaticmethodr   r-   rJ   r   ÚclassmethodrX   r^   rb   rf   rm   rt   Ú__static_attributes__Ú__classcell__)rz   s   @r   r   r      sH  ø† Ø€DØ€GØ€Ið€Gð ó ó ð ð
Øð
Ø(ð
Ø7Að
ØNQð
à	ô
ð: ð1àð1ð ð1ð  ð	1ð
 ð1ð 
õ1ð< ð-àð-ð ð-ð  ð	-ð
 ð-ð 
õ-ð  ó	ó ð	ð ó
 ó ð
 ð ó ó ð ð óó ðð óMó ðMð ö2ó ö2r   r   )Ú
__future__r   r9   Úloggingr5   Úpip._internal.exceptionsr   r   Úpip._internal.utils.miscr   r   Úpip._internal.utils.subprocessr   Úpip._internal.utils.urlsr	   Ú pip._internal.vcs.versioncontrolr
   r   r   r   Ú	getLoggerr‚   r"   r   Úregisterr   r   r   Ú<module>r•      sV   ðÝ "ã Û Û 	ç Bß =Ý 7Ý 0÷ó ð 
×	Ò	˜8Ó	$€ôb2�ô b2ðJ ‡‚ˆYÕ r   