
    yj#                    j    d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ ddZddZ	 dddZdS )    )annotations)ArchiveInfo	DirectUrlDirInfoVcsInfo)Link)path_to_url)vcs
direct_urlr   namestrreturnc                &   |                                   |dz   }g }| j        r'|| j        j         d| j         d| j        j         z  }n| j        rl|| j        z  }| j        j        rUt          t          | j        j        	                                                    \  }}|
                    | d|            n| j        sJ || j        z  }| j        r|
                    d| j        z              |r|dd                    |          z   z  }|S )z0Convert a DirectUrl to a pip requirement string.z @ +@=zsubdirectory=#&)validatevcs_infor
   url	commit_idarchive_infohashesnextiteritemsappenddir_infosubdirectoryjoin)r   r   requirement	fragmentshash_algorithm
hash_values         g/usr/local/lib/hermes-agent/venv/lib/python3.11/site-packages/pip/_internal/utils/direct_url_helpers.py%direct_url_as_pep440_direct_referencer'   	   sV   ,KI &"& 0 0 0 0#-0 0	
 
	  	&z~%") 	?)-Z,399;;<<* *&NJ ====>>>""""z~% D:+BBCCC 1sSXXi0000    
source_dirc                Z    t          t          |           t          d                    S )NT)editable)r   r   )r   r	   r   )r)   s    r&   direct_url_for_editabler,   $   s2    
##$'''   r(   NFlinkr   
str | Nonelink_is_in_wheel_cacheboolc                0   | j         rt          j        | j                  }|sJ |                    | j                  \  }}}|r|sJ |}n|sJ |                    |          }t          |t          |j	        ||          | j
                  S |                                 r(t          | j        t                      | j
                  S | j        r| j        sJ | j        | j        i}nd }t          | j        t          |          | j
                  S )N)r
   r   requested_revision)r   r   r    )r   r   r    )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_namehashr   )	r-   r)   r/   vcs_backendr   r2   _r   r   s	            r&   direct_url_from_linkr?   +   sl    { .
0=={%0%E%E%&
 &
" " 	= &%%%*II
 :#00<<I$##5  
 3
 
 
 	
 
				 
)YY3
 
 
 	
 > 	99ndi0FFF)$F3333
 
 
 	
r(   )r   r   r   r   r   r   )r)   r   r   r   )NF)r-   r   r)   r.   r/   r0   r   r   )
__future__r   pip._internal.models.direct_urlr   r   r   r   pip._internal.models.linkr   pip._internal.utils.urlsr	   pip._internal.vcsr
   r'   r,   r?    r(   r&   <module>rF      s    " " " " " " T T T T T T T T T T T T * * * * * * 0 0 0 0 0 0 ! ! ! ! ! !   6    OT1
 1
 1
 1
 1
 1
 1
r(   