Ë
    ”U.jm  ã                   ó¾   — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ  ej"                  e«      Z edd¬«       G d	„ d
«      «       Zy)é    N)Ú	dataclass)Úcanonicalize_name)ÚPyPI)Úhas_tls)Únormalize_pathÚredact_auth_from_urlT)ÚfrozenÚslotsc            	       óŒ   — e Zd ZU dZee   ed<   ee   ed<   eed<   edee   dee   dedd fd„«       Z	defd„Z
dedee   fd	„Zy
)ÚSearchScopezF
    Encapsulates the locations that pip is configured to search.
    Ú
find_linksÚ
index_urlsÚno_indexÚreturnc                 óš  — g }|D ]P  }|j                  d«      r,t        |«      }t        j                  j	                  |«      r|}|j                  |«       ŒR t        «       s`t        j                  ||«      D ]G  }t        j                  j                  |«      }|j                  dk(  sŒ2t        j                  d«        n  | |||¬«      S )zQ
        Create a SearchScope object after normalizing the `find_links`.
        Ú~Úhttpszipip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.)r   r   r   )Ú
startswithr   ÚosÚpathÚexistsÚappendr   Ú	itertoolsÚchainÚurllibÚparseÚurlparseÚschemeÚloggerÚwarning)Úclsr   r   r   Úbuilt_find_linksÚlinkÚnew_linkÚparseds           úcC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\pip/_internal/models/search_scope.pyÚcreatezSearchScope.create   s¹   € ð ')ÐÛˆDØ�‰˜sÔ#Ü)¨$Ó/�Ü—7‘7—>‘> (Ô+Ø#�DØ×#Ñ# DÕ)ð ô ŒyÜ!Ÿ™¨
Ð4DÖE�ÜŸ™×.Ñ.¨tÓ4�Ø—=‘= GÓ+Ü—N‘Nð%ôñ
 ð Fñ Ø'Ø!Øô
ð 	
ó    c                 ój  — g }g }| j                   rÇ| j                   t        j                  gk7  r©| j                   D ]k  }t        |«      }t        j
                  j                  |«      }|j                  s"|j                  st        j                  d|«       |j                  |«       Œm |j                  dj                  dj                  |«      «      «       | j                  r@|j                  dj                  dj                  d„ | j                  D «       «      «      «       dj                  |«      S )Nz:The index url "%s" seems invalid, please provide a scheme.zLooking in indexes: {}z, zLooking in links: {}c              3   ó2   K  — | ]  }t        |«      –— Œ y ­w)N)r   )Ú.0Úurls     r&   Ú	<genexpr>z6SearchScope.get_formatted_locations.<locals>.<genexpr>c   s   è ø€ ÐSÁ?¸CÔ2°3×7Á?ùs   ‚Ú
)r   r   Ú
simple_urlr   r   r   Úurlsplitr   Únetlocr   r    r   ÚformatÚjoinr   )ÚselfÚlinesÚredacted_index_urlsr,   Úredacted_index_urlÚpurls         r&   Úget_formatted_locationsz#SearchScope.get_formatted_locationsE   sø   € ØˆØ ÐØ�?Š?˜tŸ™´4·?±?Ð2CÒCØ—”�Ü%9¸#Ó%>Ð"ô —|‘|×,Ñ,Ð-?Ó@�ð —{’{¨4¯;ª;Ü—N‘NØTØ*ôð
 $×*Ñ*Ð+=Õ>ð# 'ð& �L‰LØ(×/Ñ/°·	±	Ð:MÓ0NÓOôð �?Š?Ø�L‰LØ&×-Ñ-Ø—I‘IÑSÀ4Ç?Â?ÓSÓSóôð
 �y‰y˜ÓÐr(   Úproject_namec                 ór   ‡— dt         dt         fˆfd„}| j                  D �cg c]
  } ||«      ‘Œ c}S c c}w )z²Returns 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
        r,   r   c                 ó¬   •— t        j                  | t        j                  j	                  t        ‰«      «      «      }|j                  d«      s|dz   }|S )NÚ/)Ú	posixpathr3   r   r   Úquoter   Úendswith)r,   Úlocr:   s     €r&   Úmkurl_pypi_urlz<SearchScope.get_index_urls_locations.<locals>.mkurl_pypi_urlo   sG   ø€ Ü—.‘.Ø”V—\‘\×'Ñ'Ô(9¸,Ó(GÓHóˆCð —<‘< Ô$Ø˜C‘i�ØˆJr(   )Ústrr   )r4   r:   rB   r,   s    `  r&   Úget_index_urls_locationsz$SearchScope.get_index_urls_locationsh   s9   ø€ ð	¤ð 	¬õ 	ð 04¯ªÓ?©¨‘˜sÕ#¨Ñ?Ð?ùÒ?s   ¢4N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚlistrC   Ú__annotations__ÚboolÚclassmethodr'   r9   rD   © r(   r&   r   r      sŠ   … ñð �S‘	ÓØ�S‘	ÓØƒNàð'
à˜‘Ið'
ð ˜‘Ið'
ð ð	'
ð
 
ò'
ó ð'
ðR! ¨ó ! ðF@°Sð @¸TÀ#¹Yô @r(   r   )r   Úloggingr   r>   Úurllib.parser   Údataclassesr   Úpip._vendor.packaging.utilsr   Úpip._internal.models.indexr   Úpip._internal.utils.compatr   Úpip._internal.utils.miscr   r   Ú	getLoggerrE   r   r   rM   r(   r&   Ú<module>rV      s[   ðÛ Û Û 	Û Û Ý !å 9å +Ý .ß Ià	ˆ×	Ñ	˜8Ó	$€ñ �$˜dÔ#÷j@ð j@ó $ñj@r(   