§
    u”j—U  ã                  ó†  — d Z ddlmZ ddlZ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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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$m%Z%m&Z& ddl'm(Z(m)Z)m*Z* ddl+m,Z,m-Z- ddl.m/Z/ ddl0m1Z1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8m9Z9 er.ddl:m;Z; ddl<m=Z= ddl>m?Z? ddl@mAZA ddlBmCZC  G d„ ded¬¦  «        ZD ejE        eF¦  «        ZGd4d$„ZH G d%„ d&¦  «        ZId5d'„ZJd6d)„ZK G d*„ d+e¦  «        ZL G d,„ d-¦  «        ZM G d.„ d/¦  «        ZN G d0„ d1¦  «        ZO G d2„ d3eO¦  «        ZPdS )7z:Build Environment used for isolation during sdist buildingé    )ÚannotationsN)ÚOrderedDict)ÚIterableÚSequence)ÚAbstractContextManager)Únullcontext)ÚStringIO)ÚTracebackType)ÚTYPE_CHECKINGÚProtocolÚ	TypedDict)ÚVersion)Ú__file__)Úopen_rich_spinnerÚopen_spinner)ÚBuildDependencyInstallErrorÚDiagnosticPipErrorÚInstallWheelBuildErrorÚPipError)Úget_platlibÚget_purelibÚ
get_scheme)Úget_default_environmentÚget_environment)Ú
deprecated)ÚVERBOSEÚcapture_logging)Úget_requirement)Úcall_subprocess)ÚTempDirectoryÚtempdir_kinds)Ú
WheelCache)ÚPackageFinder)ÚBuildTracker)ÚInstallRequirement)ÚBaseResolverc                  ó   — e Zd ZU ded<   dS )ÚExtraEnvironzdict[str, str]Úextra_environN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úf/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pip/_internal/build_env.pyr(   r(   ,   s   € € € € € € Ø%Ð%Ð%Ñ%Ð%Ð%r/   r(   F)ÚtotalÚaÚstrÚbÚreturnútuple[str] | tuple[str, str]c                ó   — | |k    r| |fn| fS ©Nr.   )r2   r4   s     r0   Ú_dedupr9   3   s   € Ø˜!’V�VˆAˆqˆ6ˆ6 ! Ð%r/   c                  ó   — e Zd Zdd„ZdS )Ú_PrefixÚpathr3   r5   ÚNonec                óš   — || _         d| _        t          d|¬¦  «        }|j        | _        t          |j        |j        ¦  «        | _        d S )NFÚ )Úprefix)	r<   Úsetupr   ÚscriptsÚbin_dirr9   ÚpurelibÚplatlibÚlib_dirs)Úselfr<   Úschemes      r0   Ú__init__z_Prefix.__init__8   sD   € ØˆŒ	ØˆŒ
Ý˜B tÐ,Ñ,Ô,ˆØ”~ˆŒÝ˜vœ~¨v¬~Ñ>Ô>ˆŒˆˆr/   N)r<   r3   r5   r=   )r*   r+   r,   rI   r.   r/   r0   r;   r;   7   s(   € € € € € ð?ð ?ð ?ð ?ð ?ð ?r/   r;   c                 óÖ   — t          j        t          ¦  «                             ¦   «         j        } |                      ¦   «         st          | ¦  «        S t          j        | dz  ¦  «        S )z¸Get a file to pass to a Python executable, to run the currently-running pip.

    This is used to run a pip subprocess, for installing requirements into the build
    environment.
    z__pip-runner__.py)	ÚpathlibÚPathÚpip_locationÚresolveÚparentÚis_dirr3   ÚosÚfsdecode)Úsources    r0   Úget_runnable_piprT   @   sV   € õ Œ\�,Ñ'Ô'×/Ò/Ñ1Ô1Ô8€Fà�=Š=‰?Œ?ð õ �6‰{Œ{ÐåŒ;�vÐ 3Ñ3Ñ4Ô4Ð4r/   úset[str]c                 ó¤   — t          t          d¦  «        rt          j        ¦   «         } nt          ¦   «         t	          ¦   «         g} d„ | D ¦   «         S )zâGet system site packages

    Usually from site.getsitepackages,
    but fallback on `get_purelib()/get_platlib()` if unavailable
    (e.g. in a virtualenv created by virtualenv<20)

    Returns normalized set of strings.
    Úgetsitepackagesc                óL   — h | ]!}t           j                             |¦  «        ’Œ"S r.   )rQ   r<   Únormcase)Ú.0r<   s     r0   ú	<setcomp>z+_get_system_sitepackages.<locals>.<setcomp>a   s(   € Ð<Ð<Ð< t�BŒG×Ò˜TÑ"Ô"Ð<Ð<Ð<r/   )ÚhasattrÚsiterW   r   r   )Úsystem_sitess    r0   Ú_get_system_sitepackagesr_   P   sO   € õ �tÐ&Ñ'Ô'ð 6ÝÔ+Ñ-Ô-ˆˆõ $™œ¥{¡}¤}Ð5ˆØ<Ð<¨|Ð<Ñ<Ô<Ð<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;   Úkindr3   Úfor_reqúInstallRequirement | Noner5   r=   c               ó   — d S r8   r.   )rG   rb   r@   rd   re   s        r0   Úinstallz!BuildEnvironmentInstaller.installj   s	   € ð ˆsr/   N©
rb   rc   r@   r;   rd   r3   re   rf   r5   r=   )r*   r+   r,   Ú__doc__rh   r.   r/   r0   ra   ra   d   s2   € € € € € ðð ð
ð ð ð ð ð r/   ra   c                  ó0   — e Zd ZdZ	 	 ddd„Zdd„Zdd„ZdS )Ú#SubprocessBuildEnvironmentInstallerzD
    Install build dependencies by calling pip in a subprocess.
    NFÚfinderr#   Úbuild_constraintsúlist[str] | NoneÚ build_constraint_feature_enabledÚboolr5   r=   c                ó4   — || _         |pg | _        || _        d S r8   )rm   Ú_build_constraintsÚ!_build_constraint_feature_enabled)rG   rm   rn   rp   s       r0   rI   z,SubprocessBuildEnvironmentInstaller.__init__y   s&   € ð ˆŒØ"3Ð"9°rˆÔØ1QˆÔ.Ð.Ð.r/   c                óº   — | j         s| j        rdS t          j                             d¦  «        }|r|                     ¦   «         sdS t          dddd¬¦  «         dS )zÇ
        Check for deprecation warning: PIP_CONSTRAINT affecting build environments.

        This warns when build-constraint feature is NOT enabled and PIP_CONSTRAINT
        is not empty.
        NÚPIP_CONSTRAINTzGSetting PIP_CONSTRAINT will not affect build constraints in the future,zÍto specify build constraints using --build-constraint or PIP_BUILD_CONSTRAINT. To disable this warning without any build constraints set --use-feature=build-constraint or PIP_USE_FEATURE="build-constraint"z26.2)ÚreasonÚreplacementÚgone_inÚissue)rt   rs   rQ   ÚenvironÚgetÚstripr   )rG   Úpip_constraints     r0   Ú_deprecation_constraint_checkzASubprocessBuildEnvironmentInstaller._deprecation_constraint_checkƒ   s…   € ð Ô1ð 	°TÔ5Lð 	ØˆFåœŸšÐ(8Ñ9Ô9ˆØð 	 ^×%9Ò%9Ñ%;Ô%;ð 	ØˆFåð3ð5ð
 Øð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r/   rb   rc   r@   r;   rd   r3   re   rf   c               ó�  — |                       ¦   «          | j        }t          j        t	          ¦   «         dddd|j        ddddd	g}t                               ¦   «         t          j	        k    r| 
                    d
¦  «         n7t                               ¦   «         t          k    r| 
                    d¦  «         dD ]h}t          |j        |¦  «        }|                     d|                     dd¦  «        z   d                     t#          |pdh¦  «        ¦  «        f¦  «         Œi|j        �M|j                             ¦   «         D ]3\  }	}
|                     d|	                     dd¦  «        z   |
f¦  «         Œ4|j        }|rB|                     d|d         g¦  «         |dd …         D ]}|                     d|g¦  «         Œn| 
                    d¦  «         |j        D ]}|                     d|g¦  «         Œ|j        r|                     d|j        g¦  «         |j        D ]}|                     d|g¦  «         Œ|j        r|                     d|j        g¦  «         |j        r|                     d|j        g¦  «         |j        r| 
                    d¦  «         | j        r|                     ddg¦  «         | j        r8| j        D ]0}|                     d|g¦  «         |                     d |g¦  «         Œ1i }| j        r| j        sd!d"d#ii}|j        r.|                     d$|j                             ¦   «         g¦  «         | 
                    d¦  «         |                     |¦  «         |r|j        r
d%|j        › �nd	}tA          d&|› �¦  «        5 }tC          |fd'|› |› �|d(œ|¤Ž d d d ¦  «         d S # 1 swxY w Y   d S ))Nrh   z--ignore-installedz	--no-userz--prefixz--no-warn-script-locationz--disable-pip-version-checkz--no-compilez--targetr?   z-vvz-v)Ú	no_binaryÚonly_binaryz--Ú_ú-ú,z:none:z-ir   é   z--extra-index-urlz
--no-indexz--find-linksz--proxyz--trusted-hostz--certz--client-certz--prefer-binaryz--use-featurezbuild-constraintz--constraintz--build-constraintr)   Ú _PIP_IN_BUILD_IGNORE_CONSTRAINTSÚ1z--uploaded-prior-toz for úInstalling zinstalling )Úcommand_descÚspinner)"r   rm   ÚsysÚ
executablerT   r<   ÚloggerÚgetEffectiveLevelÚloggingÚDEBUGÚappendr   ÚgetattrÚformat_controlÚextendÚreplaceÚjoinÚsortedÚrelease_controlÚget_ordered_argsÚ
index_urlsÚ
find_linksÚproxyÚtrusted_hostsÚcustom_certÚclient_certÚprefer_binaryrt   rs   Úuploaded_prior_toÚ	isoformatÚnamer   r   )rG   rb   r@   rd   re   rm   Úargsr”   ÚformatsÚ	attr_nameÚvaluer›   Úextra_indexÚlinkÚhostÚconstraint_filer)   Úidentify_requirementr‹   s                      r0   rh   z+SubprocessBuildEnvironmentInstaller.install    sÀ  € ð 	×*Ò*Ñ,Ô,Ð,à”ˆåŒNÝÑÔØØ ØØØŒKØ'Ø)ð ð Øð#
ˆõ& ×#Ò#Ñ%Ô%­¬Ò6Ð6Ø�KŠK˜ÑÔÐÐÝ×%Ò%Ñ'Ô'­7Ò2Ð2Ø�KŠK˜ÑÔÐØ:ð 	ð 	ˆNÝ˜fÔ3°^ÑDÔDˆGØ�KŠKà˜>×1Ò1°#°sÑ;Ô;Ñ;Ø—H’H�V GÐ$9°¨zÑ:Ô:Ñ;Ô;ðñô ð ð ð Ô!Ð-ð %+Ô$:×$KÒ$KÑ$MÔ$Mð Ið IÑ �	˜5Ø—’˜T I×$5Ò$5°c¸3Ñ$?Ô$?Ñ?ÀÐGÑHÔHÐHÐHàÔ&ˆ
Øð 	&Ø�KŠK˜˜z¨!œ}Ð-Ñ.Ô.Ð.Ø)¨!¨"¨"œ~ð @ð @�Ø—’Ð0°+Ð>Ñ?Ô?Ð?Ð?ð@ð �KŠK˜Ñ%Ô%Ð%ØÔ%ð 	0ð 	0ˆDØ�KŠK˜¨Ð.Ñ/Ô/Ð/Ð/àŒ<ð 	3Ø�KŠK˜ F¤LÐ1Ñ2Ô2Ð2ØÔ(ð 	2ð 	2ˆDØ�KŠKÐ)¨4Ð0Ñ1Ô1Ð1Ð1ØÔð 	8Ø�KŠK˜ 6Ô#5Ð6Ñ7Ô7Ð7ØÔð 	?Ø�KŠK˜¨&Ô*<Ð=Ñ>Ô>Ð>ØÔð 	+Ø�KŠKÐ)Ñ*Ô*Ð*ð Ô1ð 	?Ø�KŠK˜Ð*<Ð=Ñ>Ô>Ð>àÔ"ð 	Eð $(Ô#:ð Eð E�Ø—’˜^¨_Ð=Ñ>Ô>Ð>Ø—’Ð1°?ÐCÑDÔDÐDÐDà&(ˆØÔ1ð 	Y¸$Ô:Qð 	Yð -Ð/QÐSVÐ.WÐXˆMàÔ#ð 	WØ�KŠKÐ.°Ô0H×0RÒ0RÑ0TÔ0TÐUÑVÔVÐVØ�Š�DÑÔÐØ�Š�LÑ!Ô!Ð!ð '.ÐF°'´,ÐFÐ"�G”LÐ"Ð"Ð"ÀBð 	õ Ð.¨Ð.Ð.Ñ/Ô/ð 	°7ÝØðàG¨4ÐGÐ1EÐGÐGØðð ð  ð	ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÎN;Î;N?ÏN?)NF)rm   r#   rn   ro   rp   rq   r5   r=   ©r5   r=   ri   )r*   r+   r,   rj   rI   r   rh   r.   r/   r0   rl   rl   t   sr   € € € € € ðð ð /3Ø16ð	Rð Rð Rð Rð Rð
ð 
ð 
ð 
ð:gð gð gð gð gð gr/   rl   c                  ó:   — e Zd ZdZdddœdd„Zd d„Zd!d„Zd"d„ZdS )#Ú"InprocessBuildEnvironmentInstallera  
    Build dependency installer that runs in the same pip process.

    This contains a stripped down version of the install command with
    only the logic necessary for installing build dependencies. The
    finder, session, build tracker, and wheel cache are reused, but new
    instances of everything else are created as needed.

    Options are inherited from the parent install command unless
    they don't make sense for build dependencies (in which case, they
    are hard-coded, see comments below).
    r.   r   )rn   Ú	verbosityrm   r#   Úbuild_trackerr$   Úwheel_cacher"   rn   úSequence[InstallRequirement]r±   Úintr5   r=   c               óÈ   — ddl m} || _        || _        || _        d| _        t          dd¬¦  «        } || ||j        j        |j	        ||dd ddddddd¬	¦  «        | _
        d S )
Nr   )ÚRequirementPreparerzbuild-env-installT©rd   Úglobally_managedr?   FÚoff)Úbuild_isolation_installerrm   ÚsessionÚ	build_dirr²   r±   Úsrc_dirÚdownload_dirÚbuild_isolationÚcheck_build_depsÚprogress_barÚrequire_hashesÚuse_user_siteÚ
lazy_wheelÚlegacy_resolver)Ú pip._internal.operations.preparer·   Ú_finderrs   Ú_wheel_cacheÚ_levelr    Ú_link_collectorr¼   r<   Ú	_preparer)rG   rm   r²   r³   rn   r±   r·   r½   s           r0   rI   z+InprocessBuildEnvironmentInstaller.__init__  sœ   € ð 	IÐHÐHÐHÐHÐHàˆŒØ"3ˆÔØ'ˆÔØˆŒå!Ð':ÈTÐRÑRÔRˆ	Ø,Ð,Ø&*àØÔ*Ô2Ø”nØ'ØààØ Ø"Øð !ØØØ!ð)
ñ 
ô 
ˆŒˆˆr/   rb   rc   r@   r;   rd   r3   re   rf   c               ó´  — t                                t          ¦  «         o
| j        dk    }|r!t	          ¦   «         }t          d|› �¦  «        }nDt          t          ¦   «         ¦  «        t          ¦   «         }}t                                d|¦  «         	 | xj        dz  c_        |5  |5 }|  	                    ||¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   �nC# t          $ r�}	t                                t          j        |                     ¦   «         ¦  «        ¦  «         t                                d|	ddi¬	¦  «         t                                d
¦  «         t          |||	d¬¦  «        ‚d}	~	wt           $ rŸ}	t          j        |                     ¦   «         ¦  «                             ¦   «         }
|sMd}
t%          |	t&          ¦  «        rt                                d|	¦  «         nt                                d¦  «         t          |||	|
¬¦  «        ‚d}	~	ww xY w| xj        dz  c_        dS # | xj        dz  c_        w xY w)z@Install entrypoint. Manages output capturing and error handling.r   r‰   zInstalling %s ...r†   Nz%sÚrichT)Úextrar?   )ÚcauseÚ	log_lineszpip crashed unexpectedly)rŽ   ÚisEnabledForr   rÊ   r   r   r   r	   ÚinfoÚ_install_implr   ÚtextwrapÚdedentÚgetvalueÚerrorr   Ú	ExceptionÚ
splitlinesÚ
isinstancer   Ú	exception)rG   rb   r@   rd   re   Úcapture_logsÚcapture_ctxr‹   ÚstreamÚexcÚlogss              r0   rh   z*InprocessBuildEnvironmentInstaller.install@  sÐ  € õ "×.Ò.­wÑ7Ô7Ð7ÐL¸D¼KÈ1Ò<LˆØð 	3õ 5DÑ4EÔ4EˆKÝ,=Ð>RÈDÐ>RÐ>RÑ,SÔ,SˆGˆGõ $/­x©z¬zÑ#:Ô#:½K¹M¼M˜ˆKÝ�KŠKÐ+¨TÑ2Ô2Ð2ð	ØˆKŒK˜1ÑˆKŒKØð 9ð 9˜+ð 9¨Ø×"Ò" <°Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ùøõ "ð 	ð 	ð 	õ �KŠK�œ¨¯ªÑ(9Ô(9Ñ:Ô:Ñ;Ô;Ð;Ý�LŠL˜˜s¨6°4¨.ˆLÑ9Ô9Ð9Ý�KŠK˜‰OŒOˆOÝ-Ø˜¨S¸Dðñ ô ð øøøøõ ð 	ð 	ð 	Ý%-¤_°V·_²_Ñ5FÔ5FÑ%GÔ%G×%RÒ%RÑ%TÔ%TˆDØð Að �Ý˜c¥8Ñ,Ô,ð AÝ—L’L  sÑ+Ô+Ð+Ð+å×$Ò$Ð%?Ñ@Ô@Ð@Ý-Ø˜¨S¸Dðñ ô ð øøøøð	øøøð ˆKŒK˜1ÑˆKŒKˆKˆKøˆDˆKŒK˜1ÑˆKŒKˆKˆKˆKˆKs€   ÂC0 Â&C#Â)CÃ C#ÃC	ÃC#ÃC	ÃC#ÃC0 Ã#C'Ã'C0 Ã*C'Ã+C0 Ã.I Ã0
H0Ã:B
FÆH0ÆBH+È+H0È0I ÉIc           
     óœ  ‡— ddl m} ddlm} ddlmŠ ddlm} ˆfd„|D ¦   «         }|                     | j	        ¦  «         |  
                    ¦   «         }|                     |d¬¦  «        }| j                             |j                             ¦   «         ¦  «         d	„ |j        D ¦   «         }	 ||	| j        d¬
¦  «        \  }
}|rt%          |¦  «        ‚ ||                     |¦  «        |j        dddddd¬¦  «        }t+          t-          |j        ¦  «        ¦  «        } |||¦  «        x}rt0                               |¦  «         dS dS )z$Core build dependency install logic.r   )Úinstalled_packages_summary)Úinstall_given_reqs)Úinstall_req_from_line)Úbuildc                ó*   •— g | ]} ‰|d ¬¦  «        ‘ŒS )T)Úuser_suppliedr.   )rZ   Úreqrå   s     €r0   ú
<listcomp>zDInprocessBuildEnvironmentInstaller._install_impl.<locals>.<listcomp>{  s*   ø€ ÐXÐXÐXÀCÐ&Ð& s¸$Ð?Ñ?Ô?ÐXÐXÐXr/   T)Úcheck_supported_wheelsc                ó    — g | ]}|j         °	|‘ŒS r.   )Úis_wheel)rZ   Úrs     r0   rê   zDInprocessBuildEnvironmentInstaller._install_impl.<locals>.<listcomp>„  s/   € ð 
ð 
ð 
ØÀ1Ä:ð
Øð
ð 
ð 
r/   )ÚverifyNFrº   )r@   ÚrootÚhomeÚwarn_script_locationrÄ   Ú	pycompilerÂ   )Úpip._internal.commands.installrã   Úpip._internal.reqrä   Úpip._internal.req.constructorsrå   Úpip._internal.wheel_builderræ   r•   rs   Ú_make_resolverrN   rÌ   Ú prepare_linked_requirements_morerb   ÚvaluesÚrequirements_to_installrÉ   r   Úget_installation_orderr<   r   ÚlistrF   rŽ   rÓ   )rG   rb   r@   rã   rä   ræ   ÚireqsÚresolverÚresolved_setÚreqs_to_buildrƒ   Úbuild_failuresÚ	installedÚenvÚsummaryrå   s                  @r0   rÔ   z0InprocessBuildEnvironmentInstaller._install_implt  s»  ø€ àMÐMÐMÐMÐMÐMØ8Ð8Ð8Ð8Ð8Ð8ØHÐHÐHÐHÐHÐHØ5Ð5Ð5Ð5Ð5Ð5àXÐXÐXÐXÈ<ÐXÑXÔXˆØ�Š�TÔ,Ñ-Ô-Ð-à×&Ò&Ñ(Ô(ˆØ×'Ò'¨ÀdÐ'ÑKÔKˆØŒ×7Ò7ØÔ%×,Ò,Ñ.Ô.ñ	
ô 	
ð 	
ð
ð 
Ø#Ô;ð
ñ 
ô 
ˆð "˜E -°Ô1BÈ4ÐPÑPÔPÑˆˆ>Øð 	9Ý(¨Ñ8Ô8Ð8à&Ð&Ø×+Ò+¨LÑ9Ô9Ø”;àØØ!&Øð Øð
ñ 
ô 
ˆ	õ �d 6¤?Ñ3Ô3Ñ4Ô4ˆØ0Ð0°¸CÑ@Ô@Ð@ˆ7ð 	!Ý�KŠK˜Ñ Ô Ð Ð Ð ð	!ð 	!r/   r&   c                ód   — ddl m} ddlm}  ||| j        | j        | j        ddddddd¬¦  «        S )	z'Create a new resolver for one time use.r   )Úinstall_req_from_req_string)ÚResolverFTzto-satisfy-onlyN)Úmake_install_reqÚpreparerrm   r³   Úignore_requires_pythonrÄ   Úignore_dependenciesÚignore_installedÚforce_reinstallÚupgrade_strategyÚpy_version_info)rö   r  Ú,pip._internal.resolution.resolvelib.resolverr  rÌ   rÈ   rÉ   )rG   r  r  s      r0   rø   z1InprocessBuildEnvironmentInstaller._make_resolver�  sj   € ð 	OÐNÐNÐNÐNÐNØIÐIÐIÐIÐIÐIàˆxØ8à”^Ø”<ØÔ)à#(ØØ %Ø!Ø!Ø.Ø ð
ñ 
ô 
ð 	
r/   N)rm   r#   r²   r$   r³   r"   rn   r´   r±   rµ   r5   r=   ri   )rb   rc   r@   r;   r5   r=   )r5   r&   )r*   r+   r,   rj   rI   rh   rÔ   rø   r.   r/   r0   r°   r°   
  sƒ   € € € € € ðð ð& ;=Øð&
ð &
ð &
ð &
ð &
ð &
ðP2ð 2ð 2ð 2ðh'!ð '!ð '!ð '!ðR
ð 
ð 
ð 
ð 
ð 
r/   r°   c                  ó@   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zddœd d„ZdS )!ÚBuildEnvironmentzACreates and manages an isolated environment to install build depsÚ	installerra   r5   r=   c                ó˜  ‡— || _         t          t          j        d¬¦  «        Št	          ˆfd„dD ¦   «         ¦  «        | _        g | _        g | _        t          t          | j         
                    ¦   «         ¦  «        ¦  «        D ]@}| j                             |j        ¦  «         | j                             |j        ¦  «         ŒAt          ¦   «         }t           j                             ‰j        d¦  «        | _        t           j                             | j        ¦  «        st!          j        | j        ¦  «         t-          t           j                             | j        d¦  «        dd¬	¦  «        5 }|                     t1          j        d
¦  «                             || j        ¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTr¸   c              3  ó€   •K  — | ]8}|t          t          j                             ‰j        |¦  «        ¦  «        fV — Œ9d S r8   )r;   rQ   r<   r—   )rZ   r¤   Útemp_dirs     €r0   ú	<genexpr>z,BuildEnvironment.__init__.<locals>.<genexpr>¼  sV   øè è € ð %
ð %
àð •7�2œ7Ÿ<š<¨¬°tÑ<Ô<Ñ=Ô=Ð>ð%
ð %
ð %
ð %
ð %
ð %
r/   )ÚnormalÚoverlayr]   zsitecustomize.pyÚwzutf-8)ÚencodingaŸ  
                import os, site, sys

                # First, drop system-sites related paths.
                original_sys_path = sys.path[:]
                known_paths = set()
                for path in {system_sites!r}:
                    site.addsitedir(path, known_paths=known_paths)
                system_paths = set(
                    os.path.normcase(path)
                    for path in sys.path[len(original_sys_path):]
                )
                original_sys_path = [
                    path for path in original_sys_path
                    if os.path.normcase(path) not in system_paths
                ]
                sys.path = original_sys_path

                # Second, add lib directories.
                # ensuring .pth file are processed.
                for path in {lib_dirs!r}:
                    assert not path in sys.path
                    site.addsitedir(path)
                )r^   rF   )r  r    r!   Ú	BUILD_ENVr   Ú	_prefixesÚ	_bin_dirsÚ	_lib_dirsÚreversedrý   rú   r’   rC   r•   rF   r_   rQ   r<   r—   Ú	_site_dirÚexistsÚmkdirÚopenÚwriterÕ   rÖ   Úformat)rG   r  r@   r^   Úfpr  s        @r0   rI   zBuildEnvironment.__init__¸  sç  ø€ Ø"ˆŒÝ ¥mÔ&=ÐPTÐUÑUÔUˆå$ð %
ð %
ð %
ð %
à-ð%
ñ %
ô %
ñ 
ô 
ˆŒð
 %'ˆŒØ$&ˆŒÝ�t D¤N×$9Ò$9Ñ$;Ô$;Ñ<Ô<Ñ=Ô=ð 	3ð 	3ˆFØŒN×!Ò! &¤.Ñ1Ô1Ð1ØŒN×!Ò! &¤/Ñ2Ô2Ð2Ð2õ
 0Ñ1Ô1ˆåœŸš h¤m°VÑ<Ô<ˆŒÝŒw�~Š~˜dœnÑ-Ô-ð 	%ÝŒH�T”^Ñ$Ô$Ð$ÝÝŒG�LŠL˜œÐ);Ñ<Ô<¸cÈGð
ñ 
ô 
ð 	àØ�HŠHÝ”ðñô ÷2 ’& l¸T¼^�&ÑLÔLñ5ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Å0AF?Æ?GÇGc                ó’  — d„ dD ¦   «         | _         | j        d d …         }| j         d         }|r2|                     |                     t          j        ¦  «        ¦  «         | j        g}t          j                             t          j         	                    |¦  «        dt          j         	                    |¦  «        dœ¦  «         d S )Nc                óP   — i | ]#}|t           j                             |d ¦  «        “Œ$S r8   )rQ   r{   r|   )rZ   r¤   s     r0   ú
<dictcomp>z.BuildEnvironment.__enter__.<locals>.<dictcomp>ð  s:   € ð 
ð 
ð 
àð •"”*—.’.  tÑ,Ô,ð
ð 
ð 
r/   )ÚPATHÚPYTHONNOUSERSITEÚ
PYTHONPATHr,  rˆ   )
Ú	_save_envr  r•   ÚsplitrQ   Úpathsepr"  r{   Úupdater—   )rG   r<   Úold_pathÚ
pythonpaths       r0   Ú	__enter__zBuildEnvironment.__enter__ï  sÅ   € ð
ð 
àBð
ñ 
ô 
ˆŒð
 Œ~˜a˜a˜aÔ ˆØ”> &Ô)ˆØð 	4Ø�KŠK˜Ÿš¥r¤zÑ2Ô2Ñ3Ô3Ð3à”nÐ%ˆ
å
Œ
×Òåœ
Ÿš¨Ñ-Ô-Ø$'Ý œjŸošo¨jÑ9Ô9ðð ñ	
ô 	
ð 	
ð 	
ð 	
r/   Úexc_typeútype[BaseException] | NoneÚexc_valúBaseException | NoneÚexc_tbúTracebackType | Nonec                ó¨   — | j                              ¦   «         D ]7\  }}|€!t          j                             |d ¦  «         Œ(|t          j        |<   Œ8d S r8   )r/  ÚitemsrQ   r{   Úpop)rG   r6  r8  r:  ÚvarnameÚ	old_values         r0   Ú__exit__zBuildEnvironment.__exit__  s^   € ð #'¤.×"6Ò"6Ñ"8Ô"8ð 	0ð 	0ÑˆG�YØÐ Ý”
—’˜w¨Ñ-Ô-Ð-Ð-à&/•”
˜7Ñ#Ð#ð		0ð 	0r/   Úreqsrc   ú%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   NrÏ   r?   z==z===T)Úprereleases)Úsetr\   r   r   r   r   ÚmarkerÚevaluateÚget_distributionr¤   ÚaddrÛ   Úversionr   Ú	specifierÚcontains)	rG   rB  ÚmissingÚconflictingr  Úreq_strré   ÚdistÚinstalled_req_strs	            r0   Ú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©re   rb   Úprefix_as_stringr3   rd   re   rf   c               ó„   — | j         |         }|j        rJ ‚d|_        |sd S | j                             ||||¬¦  «         d S )NT)rd   re   )r  rA   r  rh   )rG   rb   rU  rd   re   r@   s         r0   Úinstall_requirementsz%BuildEnvironment.install_requirements2  sX   € ð ”Ð 0Ô1ˆØ”<ÐÐÐØˆŒØð 	ØˆFØŒ×Ò˜|¨V¸$ÈÐÑPÔPÐPÐPÐPr/   )r  ra   r5   r=   r®   ©r6  r7  r8  r9  r:  r;  r5   r=   )rB  rc   r5   rC  ©
rb   rc   rU  r3   rd   r3   re   rf   r5   r=   )	r*   r+   r,   rj   rI   r5  rA  rS  rW  r.   r/   r0   r  r  µ  s—   € € € € € ØKÐKð5ð 5ð 5ð 5ðn
ð 
ð 
ð 
ð*
0ð 
0ð 
0ð 
0ð $ð  $ð  $ð  $ðP .2ðQð Qð Qð Qð Qð Qð Qð Qr/   r  c                  ó@   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zddœdd„ZdS )ÚNoOpBuildEnvironmentz0A no-op drop-in replacement for BuildEnvironmentr5   r=   c                ó   — d S r8   r.   ©rG   s    r0   rI   zNoOpBuildEnvironment.__init__E  ó   € Øˆr/   c                ó   — d S r8   r.   r]  s    r0   r5  zNoOpBuildEnvironment.__enter__H  r^  r/   r6  r7  r8  r9  r:  r;  c                ó   — d S r8   r.   )rG   r6  r8  r:  s       r0   rA  zNoOpBuildEnvironment.__exit__K  s	   € ð 	ˆr/   c                ó   — d S r8   r.   r]  s    r0   ÚcleanupzNoOpBuildEnvironment.cleanupS  r^  r/   NrT  rb   rc   rU  r3   rd   re   rf   c               ó   — t          ¦   «         ‚r8   )ÚNotImplementedError)rG   rb   rU  rd   re   s        r0   rW  z)NoOpBuildEnvironment.install_requirementsV  s   € õ "Ñ#Ô#Ð#r/   r®   rX  rY  )	r*   r+   r,   rj   rI   r5  rA  rb  rW  r.   r/   r0   r[  r[  B  s�   € € € € € Ø:Ð:ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð .2ð$ð $ð $ð $ð $ð $ð $ð $r/   r[  )r2   r3   r4   r3   r5   r6   )r5   r3   )r5   rU   )Qrj   Ú
__future__r   r�   rQ   rK   r]   rŒ   rÕ   Úcollectionsr   Úcollections.abcr   r   Ú
contextlibr   ÚContextManagerr   Úior	   Útypesr
   Útypingr   r   r   Úpip._vendor.packaging.versionr   Úpipr   rM   Úpip._internal.cli.spinnersr   r   Úpip._internal.exceptionsr   r   r   r   Úpip._internal.locationsr   r   r   Úpip._internal.metadatar   r   Úpip._internal.utils.deprecationr   Úpip._internal.utils.loggingr   r   Úpip._internal.utils.packagingr   Úpip._internal.utils.subprocessr   Úpip._internal.utils.temp_dirr    r!   Úpip._internal.cacher"   Ú"pip._internal.index.package_finderr#   Ú,pip._internal.operations.build.build_trackerr$   Úpip._internal.req.req_installr%   Úpip._internal.resolution.baser&   r(   Ú	getLoggerr*   rŽ   r9   r;   rT   r_   ra   rl   r°   r  r[  r.   r/   r0   ú<module>r~     sÿ  ðØ @Ð @à "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5à 1Ð 1Ð 1Ð 1Ð 1Ð 1à (Ð (Ð (Ð (Ð (Ð (Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fðð ð ð ð ð ð ð ð ð ð ð ð IÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø :Ð :Ð :Ð :Ð :Ð :Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eàð &Ø.Ð.Ð.Ð.Ð.Ð.Ø@Ð@Ð@Ð@Ð@Ð@ØIÐIÐIÐIÐIÐIØ@Ð@Ð@Ð@Ð@Ð@Ø:Ð:Ð:Ð:Ð:Ð:ð&ð &ð &ð &ð &�y¨ð &ñ &ô &ð &ð 
ˆÔ	˜8Ñ	$Ô	$€ð&ð &ð &ð &ð?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ð5ð 5ð 5ð 5ð =ð =ð =ð =ð(ð ð ð ð  ñ ô ð ð Sð Sð Sð Sð Sñ Sô Sð Sðlh
ð h
ð h
ð h
ð h
ñ h
ô h
ð h
ðVJQð JQð JQð JQð JQñ JQô JQð JQðZ$ð $ð $ð $ð $Ð+ñ $ô $ð $ð $ð $r/   