§
    �’j•  ã                  ó6  — d dl mZ d dlZd dlZd dlmZm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 d d	lmZ d d
lmZmZ d dlmZ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l$m%Z% d dl&m'Z' d dl(m)Z)  ej*        e+¦  «        Z, G d„ de¦  «        Z-dS )é    )ÚannotationsN)ÚCallableÚIterable)ÚValues)ÚAny)Úcanonicalize_name)ÚVersion)Ú
cmdoptions)ÚIndexGroupCommand)ÚERRORÚSUCCESS)Úget_installed_distributionÚprint_dist_installation_info)ÚCommandErrorÚDiagnosticPipErrorÚDistributionNotFoundÚPipError)ÚLinkCollector)ÚPackageFinder)ÚSelectionPreferences)ÚTargetPython)Ú
PipSession)Úwrite_outputc                  óH   — e Zd ZdZdZdZdd„Zdd„Zdd„Z	 	 ddd„Z	d d„Z
dS )!ÚIndexCommandz=
    Inspect information available from package indexes.
    Tz&
        %prog versions <package>
    ÚreturnÚNonec                ó   — t          j        | j        ¦  «         | j                             t          j        ¦   «         ¦  «         | j                             t          j        ¦   «         ¦  «         t          j        t           j        | j        ¦  «        }t          j        t           j	        | j        ¦  «        }| j         
                    d|¦  «         | j         
                    d|¦  «         | j         
                    d| j        ¦  «         d S )Nr   )r
   Úadd_target_python_optionsÚcmd_optsÚ
add_optionÚignore_requires_pythonÚjsonÚmake_option_groupÚindex_groupÚparserÚpackage_selection_groupÚinsert_option_group)ÚselfÚ
index_optsÚselection_optss      úJC:\Projects\DSCons\.venv\Lib\site-packages\pip\_internal\commands\index.pyÚadd_optionszIndexCommand.add_options-   sà   € ÝÔ,¨T¬]Ñ;Ô;Ð;àŒ× Ò ¥Ô!BÑ!DÔ!DÑEÔEÐEØŒ× Ò ¥¤Ñ!2Ô!2Ñ3Ô3Ð3åÔ1ÝÔ"ØŒKñ
ô 
ˆ
õ
 $Ô5ÝÔ.ØŒKñ
ô 
ˆð
 	Œ×'Ò'¨¨:Ñ6Ô6Ð6ØŒ×'Ò'¨¨>Ñ:Ô:Ð:ØŒ×'Ò'¨¨4¬=Ñ9Ô9Ð9Ð9Ð9ó    ú.dict[str, Callable[[Values, list[str]], None]]c                ó   — d| j         iS )NÚversions)Úget_available_package_versions)r)   s    r,   Úhandler_mapzIndexCommand.handler_mapA   s   € à˜Ô;ð
ð 	
r.   Úoptionsr   Úargsú	list[str]Úintc                óÞ  — t          j        |¦  «         |                      ¦   «         }|r
|d         |vrBt                               dd                     t          |¦  «        ¦  «        ¦  «         t          S |d         }	  ||         ||dd …         ¦  «         nM# t          $ r ‚ t          $ r6}t                               |j
        d         ¦  «         t          cY d }~S d }~ww xY wt          S )Nr   zNeed an action (%s) to perform.ú, é   )r
   Úcheck_release_control_exclusiver3   ÚloggerÚerrorÚjoinÚsortedr   r   r   r5   r   )r)   r4   r5   r3   ÚactionÚes         r,   ÚrunzIndexCommand.runF   s  € ÝÔ2°7Ñ;Ô;Ð;à×&Ò&Ñ(Ô(ˆð ð 	�t˜A”w kÐ1Ð1Ý�LŠLØ1Ø—	’	�& Ñ-Ô-Ñ.Ô.ñô ð õ ˆLà�a”ˆð	ØˆK˜Ô ¨¨a¨b¨b¬Ñ2Ô2Ð2Ð2øÝ!ð 	ð 	ð 	ØÝð 	ð 	ð 	Ý�LŠL˜œ œÑ#Ô#Ð#ÝˆLˆLˆLˆLˆLˆLøøøøð	øøøõ ˆs   Â B ÂC%Â/+C ÃC%Ã C%NFÚsessionr   Útarget_pythonúTargetPython | Noner"   Úboolr   c                ó¢   — t          j        ||¬¦  «        }t          d|j        |j        |¬¦  «        }t          j        ||||j        ¬¦  «        S )zK
        Create a package finder appropriate to the index command.
        )r4   F)Úallow_yankedÚrelease_controlÚformat_controlr"   )Úlink_collectorÚselection_prefsrD   Úuploaded_prior_to)r   Úcreater   rI   rJ   r   rM   )r)   r4   rC   rD   r"   rK   rL   s          r,   Ú_build_package_finderz"IndexCommand._build_package_finder`   sl   € õ 'Ô-¨g¸wÐGÑGÔGˆõ /ØØ#Ô3Ø"Ô1Ø#9ð	
ñ 
ô 
ˆõ Ô#Ø)Ø+Ø'Ø%Ô7ð	
ñ 
ô 
ð 	
r.   ú	list[Any]c                ó¤  — t          |¦  «        dk    rt          d¦  «        ‚t          j        |¦  «        }|d         }|                      |¦  «        5 }|                      ||||j        ¬¦  «        }d„ |                     |¦  «        D ¦   «         }|                      |t          |¦  «        ¦  «        rd„ |D ¦   «         }t          |¦  «        }|st          d|› �¦  «        ‚d„ t          |d	¬
¦  «        D ¦   «         }|d         }	d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }
|j        rB|||	dœ}|
�t          |
j        ¦  «        |d<   t#          t          j        |¦  «        ¦  «         d S t#          |› d|	› d�¦  «         t#          d                     d                     |¦  «        ¦  «        ¦  «         t+          |	|
¦  «         d S )Nr:   z(You need to specify exactly one argumentr   )r4   rC   rD   r"   c              3  ó$   K  — | ]}|j         V — Œd S ©N)Úversion)Ú.0Ú	candidates     r,   ú	<genexpr>z>IndexCommand.get_available_package_versions.<locals>.<genexpr>Š   s6   è è € ð +ð +Ø&/�	Ô!ð+ð +ð +ð +ð +ð +r.   c              3  ó(   K  — | ]}|j         °	|V — Œd S rS   )Úis_prerelease)rU   rT   s     r,   rW   z>IndexCommand.get_available_package_versions.<locals>.<genexpr>�   s>   è è € ð ð Ø '¸7Ô;PðØðð ð ð ð ð r.   z#No matching distribution found for c                ó,   — g | ]}t          |¦  «        ‘ŒS © )Ústr)rU   Úvers     r,   ú
<listcomp>z?IndexCommand.get_available_package_versions.<locals>.<listcomp>™   s   € Ð!UÐ!UÐ!U¨s¥# c¡(¤(Ð!UÐ!UÐ!Ur.   T)Úreverse)Únamer1   ÚlatestÚinstalled_versionz (ú)zAvailable versions: {}r9   )Úlenr   r
   Úmake_target_pythonÚ_build_sessionrO   r"   Úfind_all_candidatesÚshould_exclude_prereleaser   Úsetr   r?   r   r#   r\   rT   r   ÚdumpsÚformatr>   r   )r)   r4   r5   rD   ÚqueryrC   Úfinderr1   Úformatted_versionsra   ÚdistÚstructured_outputs               r,   r2   z+IndexCommand.get_available_package_versions{   sb  € Ýˆt‰9Œ9˜Š>ˆ>ÝÐIÑJÔJÐJå"Ô5°gÑ>Ô>ˆØ�Q”ˆà× Ò  Ñ)Ô)ð 	+¨WØ×/Ò/ØØØ+Ø'.Ô'Eð	 0ñ ô ˆFð+ð +Ø39×3MÒ3MÈeÑ3TÔ3Tð+ñ +ô +ˆHð ×-Ò-¨gÕ7HÈÑ7OÔ7OÑPÔPð ðð Ø+3ðñ ô �õ ˜8‘}”}ˆHàð Ý*ØA¸%ÐAÐAñô ð ð "VÐ!Uµf¸XÈtÐ6TÑ6TÔ6TÐ!UÑ!UÔ!UÐØ'¨Ô*ˆFð1	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+õ4 *¨%Ñ0Ô0ˆàŒ<ð 	7àØ.Ø ð!ð !Ðð ÐÝ9<¸T¼\Ñ9JÔ9JÐ!Ð"5Ñ6å�œÐ$5Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7õ ˜EÐ.Ð. VÐ.Ð.Ð.Ñ/Ô/Ð/ÝÐ1×8Ò8¸¿ºÐCUÑ9VÔ9VÑWÔWÑXÔXÐXÝ(¨°Ñ6Ô6Ð6Ð6Ð6s   ÁB3DÄDÄD)r   r   )r   r/   )r4   r   r5   r6   r   r7   )NF)
r4   r   rC   r   rD   rE   r"   rF   r   r   )r4   r   r5   rP   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úignore_require_venvÚusager-   r3   rB   rO   r2   r[   r.   r,   r   r   #   sž   € € € € € ðð ð Ðð€Eð:ð :ð :ð :ð(
ð 
ð 
ð 
ð
ð ð ð ð< .2Ø',ð
ð 
ð 
ð 
ð 
ð627ð 27ð 27ð 27ð 27ð 27r.   r   ).Ú
__future__r   r#   ÚloggingÚcollections.abcr   r   Úoptparser   Útypingr   Úpip._vendor.packaging.utilsr   Úpip._vendor.packaging.versionr	   Úpip._internal.clir
   Úpip._internal.cli.req_commandr   Úpip._internal.cli.status_codesr   r   Úpip._internal.commands.searchr   r   Úpip._internal.exceptionsr   r   r   r   Úpip._internal.index.collectorr   Ú"pip._internal.index.package_finderr   Ú$pip._internal.models.selection_prefsr   Ú"pip._internal.models.target_pythonr   Úpip._internal.network.sessionr   Úpip._internal.utils.miscr   Ú	getLoggerrq   r<   r   r[   r.   r,   ú<module>rŠ      sè  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1à (Ð (Ð (Ð (Ð (Ð (Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ø <Ð <Ð <Ð <Ð <Ð <Ø EÐ EÐ EÐ EÐ EÐ EØ ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1à	ˆÔ	˜8Ñ	$Ô	$€ðJ7ð J7ð J7ð J7ð J7Ð$ñ J7ô J7ð J7ð J7ð J7r.   