Ë
    äØjjð  ã                   óÂ   — d dl Zd dl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mZ d dlmZmZmZ dedefd	„Zd
edefd„Z edg d¢«      Zdee   dedededee   f
d„Zy)é    N)Ú
namedtuple)ÚAnyÚListÚOptional)Útomli)ÚInvalidRequirementÚRequirement)ÚInstallationErrorÚInvalidPyProjectBuildRequiresÚMissingPyProjectBuildRequiresÚobjÚreturnc                 óJ   — t        | t        «      xr t        d„ | D «       «      S )Nc              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­w)N)Ú
isinstanceÚstr)Ú.0Úitems     úY/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_internal/pyproject.pyú	<genexpr>z"_is_list_of_str.<locals>.<genexpr>   s   è ø€ Ò(OÀ4¬°D¼#×)>Ñ(Oùs   ‚)r   ÚlistÚall)r   s    r   Ú_is_list_of_strr      s   € Ü�cœ4Ó ÒO¤SÑ(OÈ3Ô(OÓ%OÐOó    Úunpacked_source_directoryc                 óB   — t         j                  j                  | d«      S )Nzpyproject.toml)ÚosÚpathÚjoin)r   s    r   Úmake_pyproject_pathr       s   € Ü�7‰7�<‰<Ð1Ð3CÓDÐDr   ÚBuildSystemDetails)ÚrequiresÚbackendÚcheckÚbackend_pathÚ
use_pep517Úpyproject_tomlÚsetup_pyÚreq_namec                 óÈ  — t         j                  j                  |«      }t         j                  j                  |«      }|s|st        |› d�«      ‚|rKt	        |d¬«      5 }t        j                  |j                  «       «      }ddd«       j                  d«      }nd}|r|s| �| st        d«      ‚d} nr|r(d|v r$| �| st        d	j                  |d   «      «      ‚d} nH| €F|xsB t        j                  j                  d
«       xs  t        j                  j                  d«       } | €J ‚| sy|€dgddœ}|€J ‚d|vrt        |¬«      ‚|d   }	t        |	«      st        |d¬«      ‚|	D ]  }
	 t!        |
«       Œ |j                  d«      }|j                  dg «      }g }|€d}dg}t%        |	|||«      S # 1 sw Y   �Œ3xY w# t"        $ r}t        |d|
›�¬«      |‚d}~ww xY w)aB  Load the pyproject.toml file.

    Parameters:
        use_pep517 - Has the user requested PEP 517 processing? None
                     means the user hasn't explicitly specified.
        pyproject_toml - Location of the project's pyproject.toml file
        setup_py - Location of the project's setup.py file
        req_name - The name of the requirement we're processing (for
                   error reporting)

    Returns:
        None if we should use the legacy code path, otherwise a tuple
        (
            requirements from pyproject.toml,
            name of PEP 517 backend,
            requirements we should check are installed after setting
                up the build environment
            directory paths to import the backend from (backend-path),
                relative to the project root.
        )
    zW does not appear to be a Python project: neither 'setup.py' nor 'pyproject.toml' found.zutf-8)ÚencodingNzbuild-systemzIDisabling PEP 517 processing is invalid: project does not have a setup.pyTúbuild-backendzbDisabling PEP 517 processing is invalid: project specifies a build backend of {} in pyproject.tomlÚ
setuptoolsÚwheelzsetuptools>=40.8.0z setuptools.build_meta:__legacy__)r"   r,   r"   )ÚpackagezIt is not a list of strings.)r/   Úreasonz$It contains an invalid requirement: zbackend-path)r   r   Úisfiler
   Úopenr   ÚloadsÚreadÚgetÚformatÚ	importlibÚutilÚ	find_specr   r   r   r	   r   r!   )r&   r'   r(   r)   Úhas_pyprojectÚ	has_setupÚfÚpp_tomlÚbuild_systemr"   ÚrequirementÚerrorr#   r%   r$   s                  r   Úload_pyproject_tomlrA      sR  € ô0 —G‘G—N‘N >Ó2€MÜ—‘—‘˜xÓ(€Iá¡ÜØˆjð =ð >ó
ð 	
ñ
 Ü�.¨7Ô3ð 	,°qÜ—k‘k !§&¡&£(Ó+ˆG÷	,à—{‘{ >Ó2‰àˆñ ™YØÐ!©*Ü#ð3óð ð ‰
Ù	˜/¨\Ñ9ØÐ!©*Ü#ð$ç$*¡F¨<¸Ñ+HÓ$Ióð ð
 ‰
ð 
Ð	àò 5Ü—>‘>×+Ñ+¨LÓ9Ð9ò5ä—>‘>×+Ñ+¨GÓ4Ð4ð 	ð Ð!Ð!Ð!ñ ØàÐð .Ð.Ø?ñ
ˆð Ð#Ð#Ð#ð ˜Ñ%Ü+°HÔ=Ð=ð ˜JÑ'€HÜ˜8Ô$Ü+ØØ1ô
ð 	
ð  ò ˆð	Ü˜Õ$ðð ×Ñ˜Ó/€GØ×#Ñ# N°BÓ7€LØ€EØ€ð 5ˆØ%Ð&ˆä˜h¨°¸ÓEÐE÷i	,ñ 	,ûôx "ò 	Ü/Ø Ø=¸k¸_ÐMôð ðûð	ús$   Á $F5Å.GÆ5F?Ç	G!ÇGÇG!)Úimportlib.utilr7   r   Úcollectionsr   Útypingr   r   r   Úpip._vendorr   Ú"pip._vendor.packaging.requirementsr   r	   Úpip._internal.exceptionsr
   r   r   Úboolr   r   r    r!   rA   © r   r   ú<module>rJ      s¦   ðÛ Û 	Ý "ß &Ñ &å ß N÷ñ ðP˜ð P ó PðE°3ð E¸3ó Eñ  ØÒJóÐ ð
VFØ˜‘ðVFØ03ðVFØ?BðVFØNQðVFàÐ Ñ!ôVFr   