+
     h  c                   s    ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHtHt ]P&                  ! ]4      t]! RR	7       ! R
 R4      4       tR# )i    N)	dataclass)List)canonicalize_name)PyPI)has_tls)normalize_pathredact_auth_from_urlT)Zfrozenc                   sx   a  ] tR t^t o Rt. ROt]V 3R lR l4       tV 3R lR ltV 3R lR lt	V 3R lt
R	tV tR
# )SearchScopez>
Encapsulates the locations that pip is configured to search.
c                sP   < V ^8  d   QhRS[ S[,          RS[ S[,          RS[RR/# )   
find_links
index_urlsno_indexreturnr   r   strZboolformat__classdict__   "F/usr/lib/python3.14/site-packages/pip/_internal/models/search_scope.py__annotate__SearchScope.__annotate__   s;     '
 '
I'
 I'
 	'

 
'
    c                s   . pV F]  pVP                  R4      '       d3   \        V4      p\        P                  P	                  V4      '       d   TpVP                  V4       K_  	  \        4       '       ge   \        P                  ! W$4       FJ  p\        P                  P                  V4      pVP                  R8X  g   K5  \        P                  R4        M	  V ! VVVR7      # )zA
Create a SearchScope object after normalizing the `find_links`.
Z~Zhttpszipip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.r	   r
   r   )Z
startswithr   osZpathZexistsappendr   	itertoolsZchainurllibparseZurlparseschemeloggerwarning)Zclsr	   r
   r   Zbuilt_find_linksZlinkZnew_linkZparseds   &&&&    r   createZSearchScope.create   s     ')Ds##)$/77>>(++#D##D)  yy!
E..t4==G+NN%
  F '!
 	
r   c                s    < V ^8  d   QhRS[ /# )r   r   r   r   r   r   r   r   H   s     !  !  ! r   c                s   . p. pV P                   '       d   V P                   \        P                  .8w  d   V P                    Fx  p\        V4      p\        P
                  P                  V4      pVP                  '       g)   VP                  '       g   \        P                  R V4       VP                  V4       Kz  	  VP                  RP                  RP                  V4      4      4       V P                  '       dA   VP                  RP                  RP                  R V P                   4       4      4      4       RP                  V4      # )z:The index url "%s" seems invalid, please provide a scheme.zLooking in indexes: {}z, zLooking in links: {}c              3   s8   "   T F  p\        V4      x  K  	  R # 5i)N)r   )Z.0urls   & r   Z	<genexpr>Z6SearchScope.get_formatted_locations.<locals>.<genexpr>f   s     S?C2377?s   Z
)r
   r   Z
simple_urlr   r   r   Zurlsplitr   Znetlocr   r   r   r   joinr	   )selfZlinesZredacted_index_urlsr"   Zredacted_index_urlZpurls   &     r   get_formatted_locationsZ#SearchScope.get_formatted_locationsH   s     ???t4??2CC%9#%>" ||,,-?@ {{{4;;;NNT*
 $**+=># '& LL(//		:M0NO ???LL&--IIS4??SS
 yyr   c                s6   < V ^8  d   QhRS[ RS[S[ ,          /# )r   project_namer   )r   r   r   r   r   r   r   k   s#     @ @S @T#Y @r   c                sb   a R V3R llpV P                    Uu. uF
  q2! V4      NK  	  up# u upi )zReturns the locations found via self.index_urls

Checks the url_name on the main (first in the list) index and
use this url_name to produce all locations
c                s0    V ^8  d   QhR\         R\         /# )r   r"   r   r!   )r   s   "r   r   Z:SearchScope.get_index_urls_locations.<locals>.__annotate__r   s     	 	 	 	r   c                 s   < \         P                  ! V \        P                  P	                  \        S4      4      4      pVP                  R 4      '       g
   VR ,           pV# )Z/)	posixpathr#   r   r   Zquoter   Zendswith)r"   Zlocr&   s   & r   mkurl_pypi_urlZ<SearchScope.get_index_urls_locations.<locals>.mkurl_pypi_urlr   sJ    ..V\\''(9,(GHC <<$$CiJr   )r
   )r$   r&   r(   r"   s   &f  r   get_index_urls_locationsZ$SearchScope.get_index_urls_locationsk   s0    	 	 04?s#???s   ,c                s^   < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[;R&   # )r   r	   r
   r   r   r   r   r   r   r      s3      S	  S	  N r    Nr   )__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Z	__slots__Zclassmethodr    r%   r)   Z__annotate_func__Z__static_attributes__Z__classdictcell__)r   s   @r   r   r      sE      9I '
 '
R!  ! F@ @s  r   r   )r   Zloggingr   r'   Zurllib.parser   Zdataclassesr    Ztypingr   Zpip._vendor.packaging.utilsr   Zpip._internal.models.indexr   Zpip._internal.utils.compatr   Zpip._internal.utils.miscr   r   Z	getLoggerr+   r   r   r*   r   r   <module>r,      sZ      	   !  9 + . I			8	$ $l@ l@ l@r   