
    q"h|              	           S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  S\S\S\4S	 jrS
\S\4S jr SS\S
\\   S\S\4S jjrg)    )Optional)ArchiveInfo	DirectUrlDirInfoVcsInfo)Link)path_to_url)vcs
direct_urlnamereturnc                    U R                  5         US-   n/ n[        U R                  [        5      (       a@  UU R                  R                   SU R
                   SU R                  R                   3-  nO[        U R                  [        5      (       aO  X R
                  -  nU R                  R                  (       a%  UR                  U R                  R                  5        O/[        U R                  [        5      (       d   eX R
                  -  nU R                  (       a  UR                  SU R                  -   5        U(       a  USSR                  U5      -   -  nU$ )z0Convert a DirectUrl to a pip requirement string.z @ +@zsubdirectory=#&)validate
isinstanceinfor   r
   url	commit_idr   hashappendr   subdirectoryjoin)r   r   requirement	fragmentss       X/var/www/html/env/lib/python3.13/site-packages/pip/_internal/utils/direct_url_helpers.py%direct_url_as_pep440_direct_referencer   	   s   ,KI*//7++""#1Z^^$4Ajoo6O6O5PQ	
 
JOO[	1	1~~%??Z__112*//73333~~%:+B+BBCsSXXi000    
source_dirc                 6    [        [        U 5      [        SS9S9$ )NT)editable)r   r   )r   r	   r   )r!   s    r   direct_url_for_editabler$       s    
#d# r    Nlinklink_is_in_wheel_cachec           	      l   U R                   (       a  [        R                  " U R                  5      nU(       d   eUR	                  U R
                  5      u  pEnU(       a  U(       d   eUnOU(       d   eUR                  U5      n[        U[        UR                  UUS9U R                  S9$ U R                  5       (       a'  [        U R
                  [        5       U R                  S9$ S nU R                  n	U	(       a  U	 SU R                   3n[        U R
                  [        US9U R                  S9$ )N)r
   r   requested_revision)r   r   r   =)r   )is_vcsr
   get_backend_for_schemeschemeget_url_rev_and_authurl_without_fragmentget_revisionr   r   r   subdirectory_fragmentis_existing_dirr   	hash_namer   r   )
r%   r!   r&   vcs_backendr   r(   _r   r   r2   s
             r   direct_url_from_linkr5   '   s)    {{00={%0%E%E%%&
" " &%%*I
 :#00<I$$##5
 33
 	
 
				))33
 	
 NN	[$))-D))$'33
 	
r    )NF)typingr   pip._internal.models.direct_urlr   r   r   r   pip._internal.models.linkr   pip._internal.utils.urlsr	   pip._internal.vcsr
   strr   r$   boolr5    r    r   <module>r>      st     T T * 0 !i s s . 	  RW0

0
$SM0
JN0
0
r    