ó
    ÷Þ j}-  ã                  ó�  • 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Jr  \	(       a-  S SKrS SKJr  S SKJr  \R                   S:¼  a  S SKJr  OS SKJr  / S	QrS'S
 jr\" S5      r " S S\5      r\" S\S9rS(S jrS)S jrS*S jr        S+S jr\R8                  " S5      rS,S jrS-S jrS.S jr  " S S\!5      r" " S S\"5      r#\RH                  " SSS9 " S S 5      5       r%\RH                  " SSS9 " S! S"5      5       r&\RH                  " SSS9 " S# S$5      5       r'\RH                  " SSS9 " S% S&5      5       r(g)/é    )ÚannotationsN)ÚMapping)ÚTYPE_CHECKINGÚAnyÚProtocolÚTypeVar)Ú
Collection)ÚSplitResult)é   é   )ÚSelf)ÚArchiveInfoÚDirInfoÚ	DirectUrlÚDirectUrlValidationErrorÚVcsInfoc                 ó   • [         $ ©N)Ú__all__© ó    ÚN/var/www/html/gaurav/venv/lib/python3.13/site-packages/packaging/direct_url.pyÚ__dir__r      s   € Ü€Nr   Ú_Tc                  ó(   • \ rS rSr\SS j5       rSrg)Ú_FromMappingProtocolé#   c                ó   • g r   r   ©ÚclsÚds     r   Ú
_from_dictÚ_FromMappingProtocol._from_dict$   s   € Ø7:r   r   N©r!   úMapping[str, Any]Úreturnr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úclassmethodr"   Ú__static_attributes__r   r   r   r   r   #   s   † ØÛ:ó Û:r   r   Ú_FromMappingProtocolT)Úboundc                óD   • U  VVs0 sH  u  pUc  M
  X_M     snn$ s  snnf r   r   )ÚdataÚkeyÚvalues      r   Ú_json_dict_factoryr3   +   s"   € Ù)-ÔC©™:˜3°‹JˆCŠJ©ÒCÐCùÓCs   †’c                ó¬   • U R                  U5      =nc  g[        X15      (       d.  [        S[        U5      R                   SUR                   S3US9eU$ )zBGet a value from the dictionary and verify it's the expected type.NzUnexpected type z (expected Ú)©Úcontext)ÚgetÚ
isinstancer   Útyper'   ©r!   Úexpected_typer1   r2   s       r   Ú_getr=   /   sd   € à—‘�s“ÐˆÑ$ØÜ�e×+Ñ+Ü&Øœt E›{×3Ñ3Ð4ð 5Ø&×/Ñ/Ð0°ð3àñ
ð 	
ð
 €Lr   c                ó:   • [        XU5      =nc  [        U5      eU$ )zKGet a required value from the dictionary and verify it's the expected type.)r=   Ú_DirectUrlRequiredKeyErrorr;   s       r   Ú_get_requiredr@   <   s$   € ä�a¨Ó,Ð,ˆÑ5Ü(¨Ó-Ð-Ø€Lr   c                óˆ   • [        U [        U5      =nc  g UR                  U5      $ ! [         a  n[	        XBS9UeSnAff = f)zIGet a dictionary value from the dictionary and convert it to a dataclass.Nr6   )r=   r   r"   Ú	Exceptionr   )r!   Útarget_typer1   r2   Úes        r   Ú_get_objectrE   C   sN   € ô �aœ #Ó&Ð&ˆÑ/Øð>Ø×%Ñ% eÓ,Ð,øÜó >Ü& qÑ6¸AÐ=ûð>ús   —( ¨
A²
<¼Az.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$c                ó„   • SU ;  a  U $ U R                  SS5      u  p#X!;   a  U $ [        R                  U5      (       a  U $ U$ )NÚ@é   )ÚrsplitÚ _PEP610_USER_PASS_ENV_VARS_REGEXÚmatch)ÚnetlocÚsafe_user_passwordsÚ	user_passÚnetloc_no_user_passs       r   Ú_strip_auth_from_netlocrP   T   sI   € Ø
�&ÓØˆØ%+§]¡]°3¸Ó%:Ñ"€IØÓ'ØˆÜ'×-Ñ-¨i×8Ñ8ØˆØÐr   c                ó  • [         R                  R                  U 5      n[        UR                  U5      n[         R                  R                  UR                  UUR                  UR                  UR                  45      $ )z™url with user:password part removed unless it is formed with
environment variables as specified in PEP 610, or it is a safe user:password
such as `git`.
)
ÚurllibÚparseÚurlsplitrP   rL   Ú
urlunsplitÚschemeÚpathÚqueryÚfragment)ÚurlrM   Ú
parsed_urlrL   s       r   Ú
_strip_urlr\   _   sl   € ô
 —‘×&Ñ& sÓ+€JÜ$ Z×%6Ñ%6Ð8KÓL€FÜ�<‰<×"Ñ"à×ÑØØ�O‰OØ×ÑØ×Ñð	
óð r   c                ó8   • U R                   R                  S5      $ )NÚ/)rW   Ú
startswith)r[   s    r   Ú_file_url_has_absolute_pathr`   q   s   € Ø�?‰?×%Ñ% cÓ*Ð*r   c                  óX   • \ rS rSr% SrSrS\S'   S\S'   SS.     SS	 jjrSS
 jrSr	g)r   éu   zKRaised when when input data is not spec-compliant.

.. versionadded:: 26.1
Nú
str | Noner7   ÚstrÚmessager6   c               ó   • [        U[        5      (       aS  UR                  (       a*  U(       a  U SUR                   3OUR                  U l        OX l        UR                  U l        g X l        [	        U5      U l        g )NÚ.)r9   r   r7   re   rd   )ÚselfÚcauser7   s      r   Ú__init__Ú!DirectUrlValidationError.__init__~   s\   € ô �eÔ5×6Ñ6Ø�}�}æ4;�w�i˜q §¡ Ñ0ÀÇÁð •ð  '”Ø Ÿ=™=ˆD�Là"ŒLÜ˜u›:ˆD�Lr   c                ót   • U R                   (       a  U R                   SU R                   < 3$ U R                  $ )Nz in ©r7   re   ©rh   s    r   Ú__str__Ú DirectUrlValidationError.__str__�   s-   € Ø�<�<Ø—l‘l�^ 4¨¯©Ñ'7Ð8Ð8Ø�|‰|Ðr   rm   )ri   zstr | Exceptionr7   rc   r&   ÚNone)r&   rd   )
r'   r(   r)   r*   Ú__doc__r7   Ú__annotations__rj   ro   r,   r   r   r   r   r   u   sC   ‡ ñð
 €GˆZÓØƒLð #ñ	&àð&ð ð	&ð
 
õ&÷$r   r   c                  ó,   ^ • \ rS rSrSU 4S jjrSrU =r$ )r?   é–   c                ó"   >• [         TU ]  SUS9  g )NzMissing required valuer6   )Úsuperrj   )rh   r1   Ú	__class__s     €r   rj   Ú#_DirectUrlRequiredKeyError.__init__—   s   ø€ Ü‰ÑÐ1¸3ÐÒ?r   r   )r1   rd   r&   rq   )r'   r(   r)   r*   rj   r,   Ú__classcell__)rx   s   @r   r?   r?   –   s   ø† ÷@õ @r   r?   TF)ÚfrozenÚinitc                  óp   • \ rS rSr% SrS\S'   S\S'   SrS\S'   SS	.       SS
 jjr\SS j5       r	Sr
g)r   é›   z8The version control information of a :class:`DirectUrl`.rd   ÚvcsÚ	commit_idNrc   Úrequested_revision)r�   c               óŽ   • [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g )Nr   r€   r�   ©ÚobjectÚ__setattr__)rh   r   r€   r�   s       r   rj   ÚVcsInfo.__init__£   s<   € ô 	×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨iÔ8Ü×Ñ˜4Ð!5Ð7IÕJr   c           	     ól   • U " [        U[        S5      [        U[        S5      [        U[        S5      S9$ )Nr   r�   r€   )r   r�   r€   )r@   rd   r=   r   s     r   r"   ÚVcsInfo._from_dict®   s6   € ñ Ü˜a¤ eÓ,Ü# A¤sÐ,@ÓAÜ# A¤s¨KÓ8ñ
ð 	
r   r   )r   rd   r€   rd   r�   rc   r&   rq   r$   )r'   r(   r)   r*   rr   rs   r�   rj   r+   r"   r,   r   r   r   r   r   ›   se   ‡ áBà	ƒHØƒNØ%)Ð˜
Ó)ð *.ñ	Kð ð	Kð ð		Kð
 'ð	Kð 
õ	Kð ó
ó ó
r   r   c                  óT   • \ rS rSr% SrSrS\S'   SS.   S
S jjr\SS j5       r	S	r
g)r   é¸   z0The archive information of a :class:`DirectUrl`.NúMapping[str, str] | NoneÚhashes©rŒ   c               ó2   • [         R                  U SU5        g )NrŒ   rƒ   )rh   rŒ   s     r   rj   ÚArchiveInfo.__init__¾   s   € ô
 	×Ñ˜4 ¨6Õ2r   c                óh  • [        U[        S5      nUb/  [        S UR                  5        5       5      (       d
  [	        SSS9e[        U[
        S5      nUbV  SU;  a
  [	        SSS9eUR                  SS5      u  pEUc  XE0nO+XB;  a  [	        S	U< S
3SS9eX$   U:w  a  [	        S	U< S3SS9eU " US9$ )NrŒ   c              3  ó@   #   • U H  n[        U[        5      v •  M     g 7fr   )r9   rd   )Ú.0Úhs     r   Ú	<genexpr>Ú)ArchiveInfo._from_dict.<locals>.<genexpr>È   s   é € Ð)VÁoÀ¬*°Q¼×*<Ð*<Âoùs   ‚zHash values must be stringsr6   ÚhashÚ=z3Invalid hash format (expected '<algorithm>=<hash>')rH   z
Algorithm z2 used in hash field is not present in hashes fieldz7 used in hash field has different value in hashes fieldr�   )r=   r   ÚallÚvaluesr   rd   Úsplit)r    r!   rŒ   Úlegacy_hashÚhash_algorithmÚ
hash_values         r   r"   ÚArchiveInfo._from_dictÅ   sù   € ä�aœ (Ó+ˆØÑ¤cÑ)VÀfÇmÁmÄoÓ)V×&VÑ&VÜ*Ø-°xñð ô ˜1œc 6Ó*ˆØÑ"Ø˜+Ó%Ü.ØIØ"ñð ð *5×):Ñ):¸3ÀÓ)BÑ&ˆNØ‰~à(Ð5‘ð "Ó/Ü2Ø$ ^Ñ$6ð 79ð :à (ñð ð
 Ñ)¨ZÓ7Ü2Ø$ ^Ñ$6ð 7>ð ?à &ñð ñ
 ˜&Ñ!Ð!r   r   )rŒ   r‹   r&   rq   r$   )r'   r(   r)   r*   rr   rŒ   rs   rj   r+   r"   r,   r   r   r   r   r   ¸   sB   ‡ á:à'+€FÐ$Ó+ð
 ,0ñ3ð )ð3ð 
õ	3ð ó"ó ó"r   r   c                  óT   • \ rS rSr% SrSrS\S'   SS.   S
S jjr\SS j5       r	S	r
g)r   éè   z8The local directory information of a :class:`DirectUrl`.Núbool | NoneÚeditable©r¢   c               ó2   • [         R                  U SU5        g )Nr¢   rƒ   )rh   r¢   s     r   rj   ÚDirInfo.__init__î   s   € ô
 	×Ñ˜4 ¨XÕ6r   c                ó,   • U " [        U[        S5      S9$ )Nr¢   r£   )r=   Úboolr   s     r   r"   ÚDirInfo._from_dictõ   s   € áÜ˜!œT :Ó.ñ
ð 	
r   r   )r¢   r¡   r&   rq   r$   )r'   r(   r)   r*   rr   r¢   rs   rj   r+   r"   r,   r   r   r   r   r   è   sA   ‡ áBà €HˆkÓ ð
 !%ñ7ð ð7ð 
õ	7ð ó
ó ó
r   r   c                  óà   • \ rS rSr% SrS\S'   SrS\S'   SrS\S	'   SrS
\S'   Sr	S\S'   SSSSS.           SS jjr
\SS j5       r\SS j5       rSSSS.       SS jjrSS jrSrg)r   éü   z;A class representing a direct URL.

.. versionadded:: 26.1
rd   rZ   NúArchiveInfo | NoneÚarchive_infoúVcsInfo | NoneÚvcs_infoúDirInfo | NoneÚdir_inforc   Úsubdirectory)r¬   r®   r°   r±   c               óê   • [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g )NrZ   r¬   r®   r°   r±   rƒ   )rh   rZ   r¬   r®   r°   r±   s         r   rj   ÚDirectUrl.__init__	  s^   € ô 	×Ñ˜4 ¨Ô,Ü×Ñ˜4 °Ô>Ü×Ñ˜4 ¨XÔ6Ü×Ñ˜4 ¨XÔ6Ü×Ñ˜4 °Õ>r   c                ó$  • U " [        U[        S5      [        U[        S5      [        U[        S5      [        U[
        S5      [        U[        S5      S9n[        UR                  5      [        UR                  5      -   [        UR                  5      -   S:w  a  [        S5      eUR                  b]  [        R                  R                  UR                  5      nUR                   S	:w  a
  [        S
SS9e[#        U5      (       d
  [        SSS9eU$ )NrZ   r¬   r®   r°   r±   )rZ   r¬   r®   r°   r±   rH   z?Exactly one of vcs_info, archive_info, dir_info must be presentÚfilez3URL scheme must be file:// when dir_info is presentr6   z2File URL must be absolute when dir_info is present)r@   rd   rE   r   r   r   r=   r§   r®   r¬   r°   r   rR   rS   rT   rZ   rV   r`   )r    r!   Ú
direct_urlr[   s       r   r"   ÚDirectUrl._from_dict  s	  € áÜ˜a¤ eÓ,Ü$ Q¬°^ÓDÜ  ¤G¨ZÓ8Ü  ¤G¨ZÓ8Ü˜a¤ nÓ5ñ
ˆ
ô �×$Ñ$Ó%Ü�:×*Ñ*Ó+ñ,ä�:×&Ñ&Ó'ñ(ð ó	ô
 +ØQóð ð ×ÑÑ*ÜŸ™×.Ñ.¨z¯~©~Ó>ˆJØ× Ñ  FÓ*Ü.ØIØ!ñð ô /¨z×:Ñ:Ü.ØHØ!ñð ð
 Ðr   c               ó$   • U R                  U5      $ )z@Create and validate a DirectUrl instance from a JSON dictionary.)r"   r   s     r   Ú	from_dictÚDirectUrl.from_dict8  s   € ð �~‰~˜aÓ Ð r   FT)Úgit)Úgenerate_legacy_hashÚstrip_user_passwordrM   c               óh  • [         R                  " U [        S9nU(       aq  U R                  (       a`  U R                  R                  (       aE  [        [        U R                  R                  R                  5       5      5      u  pVU SU 3US   S'   U(       a  [        U R                  U5      US'   U$ )a>  Convert the DirectUrl instance to a JSON dictionary.

:param generate_legacy_hash: If True, include a legacy `hash` field in
    `archive_info` for backward compatibility with tools that don't
    support the `hashes` field.
:param strip_user_password: If True, strip user:password from the URL
    unless it is formed with environment variables as specified in PEP
    610, or it is a safe user:password such as `git`.
:param safe_user_passwords: A collection of user:password strings that
    should not be stripped from the URL even if `strip_user_password` is
    True.
)Údict_factoryr—   r¬   r–   rZ   )
ÚdataclassesÚasdictr3   r¬   rŒ   ÚnextÚiterÚitemsr\   rZ   )rh   r¼   r½   rM   Úresrœ   r�   s          r   Úto_dictÚDirectUrl.to_dict=  s�   € ô& × Ò  Ô4FÑGˆÞ D×$5×$5¸$×:KÑ:K×:R×:RÜ)-¬d°4×3DÑ3D×3KÑ3K×3QÑ3QÓ3SÓ.TÓ)UÑ&ˆNØ-;Ð,<¸A¸j¸\Ð*JˆC�Ñ Ñ'ÞÜ# D§H¡HÐ.AÓBˆC�‰JØˆ
r   c                óB   • U R                  U R                  5       5        g)zqValidate the DirectUrl instance against the specification.

Raises :class:`DirectUrlValidationError` if invalid.
N)r¹   rÆ   rn   s    r   ÚvalidateÚDirectUrl.validateX  s   € ð
 	�‰�t—|‘|“~Õ&r   r   )rZ   rd   r¬   r«   r®   r­   r°   r¯   r±   rc   r&   rq   r$   )r¼   r§   r½   r§   rM   úCollection[str]r&   r%   )r&   rq   )r'   r(   r)   r*   rr   rs   r¬   r®   r°   r±   rj   r+   r"   r¹   rÆ   rÉ   r,   r   r   r   r   r   ü   së   ‡ ñð
 
ƒHØ'+€LÐ$Ó+Ø#€HˆnÓ#Ø#€HˆnÓ#Ø#€L�*Ó#ð ,0Ø#'Ø#'Ø#'ñ?ð ð?ð )ð	?ð
 !ð?ð !ð?ð !ð?ð 
õ?ð óó ðð> ó!ó ð!ð &+Ø$(Ø/7ñð #ðð "ð	ð
 -ðð 
õ÷6'r   r   )r&   z	list[str])r0   zlist[tuple[str, Any]]r&   zdict[str, Any])r!   r%   r<   útype[_T]r1   rd   r&   z	_T | None)r!   r%   r<   rÌ   r1   rd   r&   r   )r!   r%   rC   ztype[_FromMappingProtocolT]r1   rd   r&   z_FromMappingProtocolT | None)rL   rd   rM   rË   r&   rd   )rZ   rd   rM   rË   r&   rd   )r[   r
   r&   r§   ))Ú
__future__r   rÀ   ÚreÚurllib.parserR   Úcollections.abcr   Útypingr   r   r   r   Úsysr	   r
   Úversion_infor   Útyping_extensionsr   r   r   r   r-   r3   r=   r@   rE   ÚcompilerJ   rP   r\   r`   rB   r   r?   Ú	dataclassr   r   r   r   r   r   r   Ú<module>r×      s~  ðÝ "ã Û 	Û Ý #ß 8Ó 8æÛÝ*Ý(à
×Ñ˜7Ó"Þå*ò€ôñ ˆTƒ]€ô;˜8ô ;ñ
  Ð 7Ð?SÑTÐ ôDô
ôð	>Øð	>Ø'Bð	>ØILð	>à!ô	>ð $&§:¢:Ø5ó$Ð  ô
ôô$+ô˜yô ôB@Ð!9ô @ð
 ×Ò˜d¨Ñ/÷
ð 
ó 0ð
ð8 ×Ò˜d¨Ñ/÷,"ð ,"ó 0ð,"ð^ ×Ò˜d¨Ñ/÷
ð 
ó 0ð
ð& ×Ò˜d¨Ñ/÷`'ð `'ó 0ñ`'r   