§
    �’j×  ã                  ó  — d dl mZ d dlZd dlmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZmZ d d	lmZ e	rd d
lmZ e
d         Zdd„Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ ded         ej        ¬¦  «        ZdS )é    )ÚannotationsN)ÚIterable)ÚAbstractContextManager)ÚTYPE_CHECKINGÚLiteralÚProtocol)ÚVersion)Ú
get_scheme)Úget_default_environmentÚget_environment)Úget_requirement)ÚInstallRequirement)ÚoffÚvirtualÚvenvÚaÚstrÚbÚreturnútuple[str] | tuple[str, str]c                ó   — | |k    r| |fn| fS ©N© )r   r   s     úJC:\Projects\DSCons\.venv\Lib\site-packages\pip\_internal\build_env\base.pyÚ_dedupr      s   € Ø˜!’V�VˆAˆqˆ6ˆ6 ! Ð%ó    c                  ó   — e Zd Zddœd
d	„ZdS )ÚPrefixN)Úvenv_executableÚpathr   r   ú
str | Noner   ÚNonec               ó¨   — || _         d| _        t          d|¬¦  «        }|j        | _        t          |j        |j        ¦  «        | _        || _	        d S )NFÚ )Úprefix)
r    Úsetupr
   ÚscriptsÚbin_dirr   ÚpurelibÚplatlibÚlib_dirsr   )Úselfr    r   Úschemes       r   Ú__init__zPrefix.__init__   sN   € ØˆŒ	ØˆŒ
Ý˜B tÐ,Ñ,Ô,ˆØ”~ˆŒÝ˜vœ~¨v¬~Ñ>Ô>ˆŒØ.ˆÔÐÐr   )r    r   r   r!   r   r"   )Ú__name__Ú
__module__Ú__qualname__r.   r   r   r   r   r      s5   € € € € € àCGð /ð /ð /ð /ð /ð /ð /ð /r   r   c                  ó   — e Zd ZdZdd„ZdS )ÚBuildEnvironmentInstallerz]
    Interface for installing build dependencies into an isolated build
    environment.
    ÚrequirementsúIterable[str]r%   r   Úkindr   Úfor_reqúInstallRequirement | Noner   r"   c               ó   — d S r   r   )r,   r4   r%   r6   r7   s        r   Úinstallz!BuildEnvironmentInstaller.install*   s	   € ð ˆsr   N)
r4   r5   r%   r   r6   r   r7   r8   r   r"   )r/   r0   r1   Ú__doc__r:   r   r   r   r3   r3   $   s2   € € € € € ðð ð
ð ð ð ð ð r   r3   c                  óz   — e Zd ZU dZded<   ded<   ej        dd„¦   «         Zdd„Zej        ddœdd„¦   «         Z	dS )ÚBuildEnvironmentzACreates and manages an isolated environment to install build depsz	list[str]r+   r   Úpython_executableÚ	installerr3   c                ó   — d S r   r   )r,   r?   s     r   r.   zBuildEnvironment.__init__:   s   € Ø>A¸cr   Úreqsr5   r   ú%tuple[set[tuple[str, str]], set[str]]c                ój  — t          ¦   «         }t          ¦   «         }|�rt          | d¦  «        rt          | j        ¦  «        nt	          ¦   «         }|D ]Ü}t          |¦  «        }|j        �|j                             ddi¦  «        sŒ5|                     |j	        ¦  «        }|s| 
                    |¦  «         Œgt          |j        t          ¦  «        r|j	        › d|j        › �}n|j	        › d|j        › �}|j                             |j        d¬¦  «        s| 
                    ||f¦  «         ŒÝ||fS )	zŽReturn 2 sets:
        - conflicting requirements: set of (installed, wanted) reqs tuples
        - missing requirements: set of reqs
        r+   NÚextrar$   z==z===T)Úprereleases)ÚsetÚhasattrr   r+   r   r   ÚmarkerÚevaluateÚget_distributionÚnameÚaddÚ
isinstanceÚversionr	   Ú	specifierÚcontains)	r,   rA   ÚmissingÚconflictingÚenvÚreq_strÚreqÚdistÚinstalled_req_strs	            r   Úcheck_requirementsz#BuildEnvironment.check_requirements=   sU  € õ ‘%”%ˆÝ‘e”eˆØñ 	Bõ ˜4 Ñ,Ô,ð/• ¤Ñ.Ô.Ð.å,Ñ.Ô.ð ð
  ð Bð B�Ý% gÑ.Ô.�ð ”:Ð)°#´*×2EÒ2EÀwÐPRÀmÑ2TÔ2TÐ)ØØ×+Ò+¨C¬HÑ5Ô5�Øð Ø—K’K Ñ(Ô(Ð(ØÝ˜dœl­GÑ4Ô4ð GØ+.¬8Ð(EÐ(E°t´|Ð(EÐ(EÐ%Ð%à+.¬8Ð(FÐ(F¸¼Ð(FÐ(FÐ%Ø”}×-Ò-¨d¬lÈÐ-ÑMÔMð BØ—O’OÐ%6¸Ð$@ÑAÔAÐAøà˜GÐ#Ð#r   N)r7   r4   Úprefix_as_stringr6   r7   r8   r"   c               ó   — d S r   r   )r,   r4   rY   r6   r7   s        r   Úinstall_requirementsz%BuildEnvironment.install_requirements_   s	   € ð ˆsr   )r?   r3   )rA   r5   r   rB   )
r4   r5   rY   r   r6   r   r7   r8   r   r"   )
r/   r0   r1   r;   Ú__annotations__ÚabcÚabstractmethodr.   rX   r[   r   r   r   r=   r=   4   s–   € € € € € € ØKÐKàÐÐÑØÐÐÑàÔØAÐAÐAñ ÔØAð $ð  $ð  $ð  $ðD 	Ôð .2ðð ð ð ð ñ Ôðð ð r   r=   )Ú	metaclass)r   r   r   r   r   r   )Ú
__future__r   r]   Úcollections.abcr   Ú
contextlibr   ÚContextManagerÚtypingr   r   r   Úpip._vendor.packaging.versionr	   Úpip._internal.locationsr
   Úpip._internal.metadatar   r   Úpip._internal.utils.packagingr   Úpip._internal.req.req_installr   ÚBuildIsolationModer   r   r3   ÚABCMetar=   r   r   r   ú<module>rl      s�  ðØ "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø $Ð $Ð $Ð $Ð $Ð $Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3à 1Ð 1Ð 1Ð 1Ð 1Ð 1à .Ð .Ð .Ð .Ð .Ð .Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ 9Ð 9Ð 9Ð 9Ð 9Ð 9àð AØ@Ð@Ð@Ð@Ð@Ð@ð Ð5Ô6Ð ð&ð &ð &ð &ð/ð /ð /ð /ð /ñ /ô /ð /ðð ð ð ð  ñ ô ð ð 3ð 3ð 3ð 3ð 3�~ dÔ+°s´{ð 3ñ 3ô 3ð 3ð 3ð 3r   