Ë
    nûàg&ƒ  ã            
       óÂ  — 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Zd dlZd dlm	Z	 d dl
mZ d dlmZmZ d dlmZ d dlZd dlmZ d dlmZ dd	lmZ d
Z e ej4                  dd«      «      Zdej8                  v Zej<                  j?                  ej@                  dk(  xr ed¬«      Z! G d„ d«      Z" G d„ de"«      Z# G d„ de"«      Z$ ed«       ed«      dœ ed«       ed«      dœ ed«       ed«      dœd ed«      i ed«       ed«      d œ ed«      d
 ed«      d!œgZ% G d"„ d#«      Z& G d$„ d%e&«      Z'd&„ Z(ej<                  jS                  d'«      d(„ «       Z*d)„ Z+y)*é    N)Úfutures)ÚPath)ÚAnyÚCallable)ÚZipFile)Úpath)ÚRequirementé   )ÚDALSz __import__('setuptools').setup()ÚTIMEOUT_BACKEND_TESTÚ180Ú__pypy__Úwin32z_The combination of PyPy + Windows + pytest-xdist + ProcessPoolExecutor is flaky and problematic)Úreasonc                   ó   — e Zd Zdd„Zy)ÚBuildBackendBaseNc                 ó6   — || _         |xs i | _        || _        y )N)ÚcwdÚenvÚbackend_name)Úselfr   r   r   s       ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/setuptools/tests/test_build_meta.pyÚ__init__zBuildBackendBase.__init__#   s   € ØˆŒØ’9˜"ˆŒØ(ˆÕó    )ú.Núsetuptools.build_meta)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r   "   s   „ ô)r   r   c                   óB   ‡ — e Zd ZdZˆ fd„Zdededef   fd„Zd„ Z	ˆ xZ
S )ÚBuildBackendzPEP 517 Build Backendc                 óZ   •— t        ‰| �  |i |¤Ž t        j                  d¬«      | _        y )Nr
   )Úmax_workers)Úsuperr   r   ÚProcessPoolExecutorÚpool)r   ÚargsÚkwargsÚ	__class__s      €r   r   zBuildBackend.__init__,   s'   ø€ Ü‰Ñ˜$Ð) &Ò)Ü×/Ñ/¸AÔ>ˆ�	r   ÚnameÚreturn.c                 ó   ‡ ‡— ˆˆ fd„}|S )ú<Handles arbitrary function invocations on the build backend.c                  óÊ  •— t         j                  j                  ‰j                  «      }t	        |‰j
                  ‰j                  «      }d }	 ‰j                  j                  t         j                  «      j                  t        «      } ‰j                  j                  |‰g| ¢­i |¤Žj                  t        «      S # t        j                  $ rM ‰j                  j                  d¬«       ‰j                  |«       t!        j"                  dt        › d�«       Y y t        j$                  j&                  t(        t*        f$ r t,        rt!        j"                  d«       ‚ w xY w)NF)Úwaitz(Backend did not respond before timeout (z s)z3PyPy frequently fails tests with ProcessPoolExector)Úosr   Úabspathr   ÚBuildBackendCallerr   r   r'   ÚsubmitÚgetpidÚresultÚTIMEOUTr   ÚTimeoutErrorÚshutdownÚ_killÚpytestÚxfailÚprocessÚBrokenProcessPoolÚMemoryErrorÚOSErrorÚIS_PYPY)r(   ÚkwÚrootÚcallerÚpidr+   r   s        €€r   Úmethodz(BuildBackend.__getattr__.<locals>.method3   s  ø€ Ü—7‘7—?‘? 4§8¡8Ó,ˆDÜ'¨¨d¯h©h¸×8IÑ8IÓJˆFØˆCð
Ø—i‘i×&Ñ&¤r§y¡yÓ1×8Ñ8¼ÓA�Ø'�t—y‘y×'Ñ'¨°ÐB°tÒB¸rÑB×IÑIÌ'ÓRÐRøÜ×'Ñ'ò VØ—	‘	×"Ñ"¨Ð"Ô.Ø—
‘
˜3”Ü—‘ÐGÌÀyÐPSÐTÖUÜ—O‘O×5Ñ5´{ÄGÐLò ÝÜ—L‘LÐ!VÔWØðús   ÁA/B? Â?AE"ÄAE"r    )r   r+   rF   s   `` r   Ú__getattr__zBuildBackend.__getattr__0   s   ù€ õ	ð  ˆr   c                 óþ   — |€y t        j                  t        t        «      5  t	        j
                  |t        j                  dk(  rt        j                  nt        j                  «       d d d «       y # 1 sw Y   y xY w)NÚnt)
Ú
contextlibÚsuppressÚProcessLookupErrorr@   r1   Úkillr+   ÚsignalÚSIGTERMÚSIGKILL)r   rE   s     r   r:   zBuildBackend._killE   sV   € Øˆ;ØÜ× Ñ Ô!3´WÓ=ñ 	PÜ�G‰G�C¬2¯7©7°dª?œŸšÄÇÁÔO÷	P÷ 	Pñ 	Pús   ¢AA3Á3A<)r   r   r   Ú__doc__r   Ústrr   r   rG   r:   Ú__classcell__©r*   s   @r   r"   r"   )   s-   ø„ Ùô?ð ð ¨°°c°Ñ(:ó ö*Pr   r"   c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )r3   c                 óv   •— t        ‰| �  |i |¤Ž | j                  j                  d«      \  | _        }| _        y )Nú:)r%   r   r   Ú	partitionÚbackend_obj)r   r(   r)   Ú_r*   s       €r   r   zBuildBackendCaller.__init__M   s8   ø€ Ü‰Ñ˜$Ð) &Ò)à37×3DÑ3D×3NÑ3NÈsÓ3SÑ0ˆÔ	˜A˜tÕ/r   c                 ó>  — t        j                  | j                  «       t         j                  j	                  | j
                  «       t        j                  | j                  «      }| j                  rt        || j                  «      }n|} t        ||«      |i |¤ŽS )r.   )r1   Úchdirr   ÚenvironÚupdater   Ú	importlibÚimport_moduler   rY   Úgetattr)r   r+   r(   rB   ÚmodÚbackends         r   Ú__call__zBuildBackendCaller.__call__R   sw   € ä
�‰�—‘ÔÜ
�
‰
×Ñ˜$Ÿ(™(Ô#Ü×%Ñ% d×&7Ñ&7Ó8ˆà×ÒÜ˜c 4×#3Ñ#3Ó4‰GàˆGà%Œw�w Ó% tÐ2¨rÑ2Ð2r   )r   r   r   r   rd   rS   rT   s   @r   r3   r3   L   s   ø„ ôTö
3r   r3   zÒ
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            úC
            def run():
                print('hello')
            ©úsetup.pyúhello.pyzü
            assert __name__ == '__main__'
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            aF  
            variable = True
            def function():
                return variable
            assert variable
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            rg   aƒ  
            # Some packages construct files on the fly, include them in the package,
            # and immediately remove them after `setup()` (e.g. pybind11==2.9.1).
            # Therefore, we cannot use `distutils.core.run_setup(..., stop_after=...)`
            # to obtain a distribution object first, and then run the distutils
            # commands later, because these files will be removed in the meantime.

            with open('world.py', 'w', encoding="utf-8") as f:
                f.write('x = 42')

            try:
                __import__('setuptools').setup(
                    name='foo',
                    version='0.0.0',
                    py_modules=['world'],
                    setup_requires=['six'],
                )
            finally:
                # Some packages will clean temporary files
                __import__('os').unlink('world.py')
            zŽ
        [metadata]
        name = foo
        version = 0.0.0

        [options]
        py_modules=hello
        setup_requires=six
        z7
        def run():
            print('hello')
        )ú	setup.cfgrh   )ri   rg   rh   c                   ó0  — e Zd ZdZd„ Z ej                  e¬«      d„ «       Zd„ Z	d„ Z
d„ Zej                  j                  dd	«      d
„ «       Zej                  j                  ddeg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z ed«      d ed«      dœZd„ Z ed«      ddd iid!œZd"„ Zd#„ Z d$„ Z!ej                  j                  d%d&d'ig«      d(„ «       Z"ej                  j                  d)d*d+gfd,d+gfd-d+gfd.d+gfd/d+d0gfd1d+gfd2d+gfd3d4gfd5d+d0gfd6d+d0gfd7d+d0gfg«      ej                  j                  d8d9d:g«      d;„ «       «       Z#d<„ Z$d=„ Z%d> ed?«      iZ&d@„ Z'd> edA«      iZ(dB„ Z)ej                  j                  dCdD«      dE„ «       Z*y)FÚTestBuildMetaBackendr   c                 ó.   — t        | j                  ¬«      S )N©r   )r"   r   )r   s    r   Úget_build_backendz&TestBuildMetaBackend.get_build_backendâ   s   € Ü¨×):Ñ):Ô;Ð;r   )Úparamsc              #   óÎ   K  — t        j                  |j                  t        |«      ¬«       |j	                  «       5  | j                  «       –— d d d «       y # 1 sw Y   y xY w­w)N)Úprefix)r   ÚbuildÚparamrR   Úas_cwdrn   )r   ÚtmpdirÚrequests      r   Úbuild_backendz"TestBuildMetaBackend.build_backendå   sH   è ø€ ä�
‰
�7—=‘=¬¨V«Õ5Ø�]‰]‹_ñ 	+Ø×(Ñ(Ó*Ò*÷	+÷ 	+ñ 	+üs   ‚;A%½AÁ	A%ÁA"ÁA%c                 ó\   — |j                  «       }dg}t        |«      t        |«      k(  sJ ‚y ©NÚsix)Úget_requires_for_build_wheelÚsorted©r   rw   ÚactualÚexpecteds       r   Ú!test_get_requires_for_build_wheelz6TestBuildMetaBackend.test_get_requires_for_build_wheelë   ó.   € Ø×;Ñ;Ó=ˆØ�7ˆÜ�f‹~¤¨Ó!1Ò1Ð1Ñ1r   c                 ó\   — |j                  «       }dg}t        |«      t        |«      k(  sJ ‚y ry   )Úget_requires_for_build_sdistr|   r}   s       r   Ú!test_get_requires_for_build_sdistz6TestBuildMetaBackend.test_get_requires_for_build_sdistð   r�   r   c                 óB  — t         j                  j                  d«      }t        j                  |«       |j	                  |«      }t         j                  j                  ||«      }t         j                  j                  |«      sJ ‚t         j                  j                  d«      rJ ‚t        |«      5 }t        |j                  «       «      }d d d «       d„ D «       }|D �cg c]  }|j                  d«      rŒ|‘Œ }	}t        |	«      dk(  sJ ‚y # 1 sw Y   ŒDxY wc c}w )Nz	pip-wheelúworld.pyc              3   óD   K  — | ]  }|j                  d «      sŒ|–— Œ y­w)z.pyN)Úendswith)Ú.0Úfs     r   ú	<genexpr>z8TestBuildMetaBackend.test_build_wheel.<locals>.<genexpr>  s   è ø€ ÒI °q·z±zÀ%Õ7Hœ!ÑIùs   ‚ ™ rg   r
   )r1   r   r2   ÚmakedirsÚbuild_wheelÚjoinÚisfiler   ÚsetÚnamelistrˆ   Úlen)
r   rw   Údist_dirÚ
wheel_nameÚ
wheel_fileÚzipfileÚwheel_contentsÚpython_scriptsrŠ   Úmoduless
             r   Útest_build_wheelz%TestBuildMetaBackend.test_build_wheelõ   sæ   € Ü—7‘7—?‘? ;Ó/ˆÜ
�‰�HÔØ"×.Ñ.¨xÓ8ˆ
ä—W‘W—\‘\ (¨JÓ7ˆ
Ü�w‰w�~‰~˜jÔ)Ð)Ð)ô —7‘7—>‘> *Ô-Ð-Ð-ä�ZÓ ð 	5 GÜ  ×!1Ñ!1Ó!3Ó4ˆN÷	5ñ
 J ^ÔIˆØ,ÖK˜°A·J±J¸zÕ4J’1ÐKˆÐKÜ�7‹|˜qÒ Ð Ñ ÷	5ð 	5üò Ls   Â3DÃ"DÃ9DÄDÚ
build_type)ÚwheelÚsdistc                 ó  — ddt        d«      t        d«      dœ}t        j                  |«       t        j                  j	                  d|z   «      }| j                  «       }t        |d|z   «      } ||«      }t        dd	d
¬«      5 }|j                  d«       d d d «        ||«      }	t        j                  j                  t        j                  j                  ||«      «      sJ ‚||	k7  sJ ‚t        t        j                  j                  ||	«      d«      j                  «         ||«      }
|
|	k(  sJ ‚t        j                  j                  t        j                  j                  ||
«      «      dkD  sJ ‚y # 1 sw Y   ŒáxY w)Nz$from setuptools import setup
setup()z0.0.1zo
                [metadata]
                name = foo
                version = file: VERSION
                ú›
                [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"
                )rg   ÚVERSIONri   úpyproject.tomlzpreexisting-Úbuild_r    Úwtúutf-8©Úencodingz0.0.2Úwbr   )r   r   rr   r1   r2   rn   ra   ÚopenÚwriter�   rŽ   ÚcloseÚgetsize)r   r›   Ú
tmpdir_cwdÚfilesr“   rw   Úbuild_methodÚfirst_resultÚversion_fileÚsecond_resultÚthird_results              r   Ú%test_build_with_existing_file_presentz:TestBuildMetaBackend.test_build_with_existing_file_present	  sV  € ð
 @ØÜðóô #ðóñ
ˆô& 	�
‰
�5Ôä—7‘7—?‘? >°JÑ#>Ó?ˆà×.Ñ.Ó0ˆÜ˜}¨h¸Ñ.CÓDˆñ
 $ HÓ-ˆô �)˜T¨GÔ4ð 	(¸Ø×Ñ˜wÔ'÷	(ñ % XÓ.ˆä�w‰w�~‰~œbŸg™gŸl™l¨8°\ÓBÔCÐCÐCØ˜}Ò,Ð,Ð,ô 	ŒR�W‰W�\‰\˜( MÓ2°DÓ9×?Ñ?ÔAÙ# HÓ-ˆØ˜}Ò,Ð,Ð,Ü�w‰w�‰œrŸw™wŸ|™|¨H°lÓCÓDÀqÒHÐHÑH÷	(ð 	(ús   ÂE8Å8FÚsetup_scriptNc                 óv  — t        d«      t        d«      dddddddd	d
œidœ}|r||d<   | j                  «       }|j                  «       5  t        j                  |«       |j                  d«      }|j                  d«      }d d d «       t        j                  t        j                  j                  |d«      «      5 }t        |j                  «       «      }d d d «       t        t        j                  j                  |d«      «      5 }	t        |	j                  «       «      }
t        |	j!                  d«      d«      }t        |	j!                  d«      d«      }t        |	j!                  d«      d«      }d d d «       dhz
  h d£k(  sJ ‚
h d£k(  sJ ‚dk(  sJ ‚dddddt        t#        d«      «      z   dt        t#        d«      «      z   fD ]  }|v rŒJ ||f«       ‚ j%                  «       j'                  d«      sJ ‚j%                  «       dk(  sJ ‚y # 1 sw Y   �Œ•xY w# 1 sw Y   �ŒLxY w# 1 sw Y   Œ»xY w)Naj  
                [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"

                [project]
                name = "foo"
                license = {text = "MIT"}
                description = "This is a Python package"
                dynamic = ["version", "readme"]
                classifiers = [
                    "Development Status :: 5 - Production/Stable",
                    "Intended Audience :: Developers"
                ]
                urls = {Homepage = "http://github.com"}
                dependencies = [
                    "appdirs",
                ]

                [project.optional-dependencies]
                all = [
                    "tomli>=1",
                    "pyscaffold>=4,<5",
                    'importlib; python_version == "2.6"',
                ]

                [project.scripts]
                foo = "foo.cli:main"

                [tool.setuptools]
                zip-safe = false
                package-dir = {"" = "src"}
                packages = {find = {where = ["src"]}}
                license-files = ["LICENSE*"]

                [tool.setuptools.dynamic]
                version = {attr = "foo.__version__"}
                readme = {file = "README.rst"}

                [tool.distutils.sdist]
                formats = "gztar"
                zd
                global-include *.py *.txt
                global-exclude *.py[cod]
                zThis is a ``README``z!---- placeholder MIT license ----Úfooz__version__ = '0.1'z__version__: strz def main(): print('hello world')Ú )ú__init__.pyz__init__.pyizcli.pyzdata.txtzpy.typed)r¡   úMANIFEST.inz
README.rstzLICENSE.txtÚsrcrg   Útempúfoo-0.1.dist-info/METADATAr¤   úfoo-0.1.dist-info/LICENSE.txtú"foo-0.1.dist-info/entry_points.txtzfoo-0.1/setup.py>   úfoo-0.1úfoo-0.1/srcúfoo-0.1/src/fooúfoo-0.1/PKG-INFOúfoo-0.1/setup.cfgúfoo-0.1/README.rstúfoo-0.1/LICENSE.txtúfoo-0.1/MANIFEST.inúfoo-0.1/pyproject.tomlúfoo-0.1/src/foo/cli.pyúfoo-0.1/src/foo.egg-infoúfoo-0.1/src/foo/data.txtúfoo-0.1/src/foo/py.typedúfoo-0.1/src/foo/__init__.pyúfoo-0.1/src/foo/__init__.pyiú!foo-0.1/src/foo.egg-info/PKG-INFOú$foo-0.1/src/foo.egg-info/SOURCES.txtú%foo-0.1/src/foo.egg-info/not-zip-safeú%foo-0.1/src/foo.egg-info/requires.txtú&foo-0.1/src/foo.egg-info/top_level.txtú)foo-0.1/src/foo.egg-info/entry_points.txtú-foo-0.1/src/foo.egg-info/dependency_links.txt>   ú
foo/cli.pyúfoo/data.txtúfoo/py.typedúfoo/__init__.pyúfoo/__init__.pyiúfoo-0.1.dist-info/WHEELúfoo-0.1.dist-info/RECORDúfoo-0.1.dist-info/top_level.txtr¼   r½   r¾   z!Summary: This is a Python packagezLicense: MITz+Classifier: Intended Audience :: DeveloperszRequires-Dist: appdirszRequires-Dist: ztomli>=1 ; extra == "all"z2importlib; python_version=="2.6" and extra =="all"z$[console_scripts]
foo = foo.cli:main)r   rn   rt   r   rr   Úbuild_sdistr�   Útarfiler¨   r1   rŽ   r�   Úgetnamesr   r‘   rR   Úreadr	   Ústriprˆ   )r   ru   r´   r­   rw   Ú
sdist_pathr•   ÚtarÚsdist_contentsr–   r—   ÚmetadataÚlicenseÚepointsÚlines                  r   Ú test_build_with_pyproject_configz5TestBuildMetaBackend.test_build_with_pyproject_config<  si  € ô #ð)ó+ôX  ðóð 1Ø>àØ#8Ø$6Ø@Ø BØ "ñðñk>
ˆñ~ Ø ,ˆE�*Ñà×.Ñ.Ó0ˆØ�]‰]‹_ñ 	;Ü�J‰J�uÔØ&×2Ñ2°6Ó:ˆJØ&×2Ñ2°6Ó:ˆJ÷	;ô
 �\‰\œ"Ÿ'™'Ÿ,™, v¨v°zÓBÓCð 	1ÀsÜ  §¡£Ó0ˆN÷	1ô ”R—W‘W—\‘\ &¨&°*Ó=Ó>ð 	WÀ'Ü  ×!1Ñ!1Ó!3Ó4ˆNÜ˜7Ÿ<™<Ð(DÓEÀwÓOˆHÜ˜'Ÿ,™,Ð'FÓGÈÓQˆGÜ˜'Ÿ,™,Ð'KÓLÈgÓVˆG÷		Wð Ð!3Ð 4Ñ4ò 9
ò 
ð 	
ð 
ð0 ò "
ò 
ð 	
ð 
ð Ð=Ò=Ð=Ð=ð 0ØØ9Ø$Ø¤¤KÐ0KÓ$LÓ MÑMØÜ”+ÐRÓSÓTñUð
ò 		6ˆDð ˜8Ò#Ð5 d¨HÐ%5Ó5Ð#ð		6ð �~‰~Ó×(Ñ(Ð)?Ô@Ð@Ð@Ø�}‰}‹Ð"IÒIÐIÑI÷C	;ñ 	;ú÷
	1ñ 	1ú÷	Wð 	Wús%   Á
8HÂ>H"Ä
A+H/ÈHÈ"H,È/H8c                 óª  — t        d«      t        d«      t        d«      dœ}| j                  «       }|j                  «       5  t        j                  |«       |j                  d«      }|j                  d«      }d d d «       |dz  j                  «       sJ ‚|dz  j                  «       sJ ‚|dz  j                  «       rJ ‚|d	z  j                  «       rJ ‚|d
z  j                  «       rJ ‚|dz  j                  «       rJ ‚|dz  j                  «       rJ ‚|dz  j                  «       rJ ‚t        j                  t        j                  j                  |d«      «      5 }t        |j                  d«      j                  «       d«      }|j                  «       }d|vsJ ‚	 d d d «       t!        t        j                  j                  |d«      «      5 }	t        |	j                  d«      d«      }
|	j#                  «       }d|vsJ ‚	 d d d «       
fD ]  }dD ]  }||v rŒJ ‚ dD ]  }||vrŒJ ‚ Œ y # 1 sw Y   �Œ¸xY w# 1 sw Y   ŒŸxY w# 1 sw Y   ŒFxY w)NaR  
                [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"

                [project]
                name = "foo"
                description = "This is a Python package"
                version = "42"
                dependencies = ["six"]
                zO
                def run():
                    print('hello')
                z•
                __import__('setuptools').setup(
                    name='bar',
                    version='13',
                )
                )r¡   rh   rg   r»   ztemp/foo-42.tar.gzztemp/foo-42-py3-none-any.whlztemp/bar-13.tar.gzztemp/bar-42.tar.gzztemp/foo-13.tar.gzztemp/bar-13-py3-none-any.whlztemp/bar-42-py3-none-any.whlztemp/foo-13-py3-none-any.whlzfoo-42/PKG-INFOr¤   zbar-13/PKG-INFOzfoo-42.dist-info/METADATAzbar-13.dist-info/METADATA)z	Name: foozVersion: 42)z	Name: barzVersion: 13)r   rn   rt   r   rr   rÝ   r�   ÚexistsrÞ   r¨   r1   rŽ   rR   Úextractfilerà   rß   r   r‘   )r   ru   r­   rw   râ   r•   rã   Úpkg_infoÚmembersr–   rå   Úfilerè   s                r   Ú(test_static_metadata_in_pyproject_configz=TestBuildMetaBackend.test_static_metadata_in_pyproject_configÄ  sp  € ô #ð
óô ðóô ðóñ)
ˆð: ×.Ñ.Ó0ˆØ�]‰]‹_ñ 	;Ü�J‰J�uÔØ&×2Ñ2°6Ó:ˆJØ&×2Ñ2°6Ó:ˆJ÷	;ð
 Ð-Ñ-×5Ñ5Ô7Ð7Ð7ØÐ7Ñ7×?Ñ?ÔAÐAÐAØÐ1Ñ1×9Ñ9Ô;Ð;Ð;ØÐ1Ñ1×9Ñ9Ô;Ð;Ð;ØÐ1Ñ1×9Ñ9Ô;Ð;Ð;ØÐ;Ñ;×CÑCÔEÐEÐEØÐ;Ñ;×CÑCÔEÐEÐEØÐ;Ñ;×CÑCÔEÐEÐEä�\‰\œ"Ÿ'™'Ÿ,™, v¨v°zÓBÓCð 	4ÀsÜ˜3Ÿ?™?Ð+<Ó=×BÑBÓDÀgÓNˆHØ—l‘l“nˆGØ$¨GÑ3Ð3Ñ3÷	4ô
 ”R—W‘W—\‘\ &¨&°*Ó=Ó>ð 	>À'Ü˜7Ÿ<™<Ð(CÓDÀgÓNˆHØ×&Ñ&Ó(ˆGØ.°gÑ=Ð=Ñ=÷	>ð
 ˜hÐ&ò 	(ˆDØ4ò $�Ø˜t’|Ð#�|ð$à4ò (�Ø 4Ò'Ð'Ð'ñ(ñ	(÷1	;ñ 	;ú÷	4ð 	4ú÷
	>ð 	>ús%   Á8H0ÅA H=Ç2I	È0H:È=IÉ	Ic                 ó  — t         j                  j                  d«      }t        j                  |«       |j	                  |«      }t         j                  j                  t         j                  j                  ||«      «      sJ ‚y )Nz	pip-sdist)r1   r   r2   rŒ   rÝ   r�   rŽ   ©r   rw   r“   Ú
sdist_names       r   Útest_build_sdistz%TestBuildMetaBackend.test_build_sdist  sU   € Ü—7‘7—?‘? ;Ó/ˆÜ
�‰�HÔØ"×.Ñ.¨xÓ8ˆ
ä�w‰w�~‰~œbŸg™gŸl™l¨8°ZÓ@ÔAÐAÑAr   c                 ó  — t         j                  j                  d«      }t        j                  |«       |j	                  |«      }t         j                  j                  t         j                  j                  ||d«      «      sJ ‚y )Núpip-dist-infoÚMETADATA)r1   r   r2   rŒ   Ú prepare_metadata_for_build_wheelr�   rŽ   )r   rw   r“   Ú	dist_infos       r   Ú%test_prepare_metadata_for_build_wheelz:TestBuildMetaBackend.test_prepare_metadata_for_build_wheel
  sW   € Ü—7‘7—?‘? ?Ó3ˆÜ
�‰�HÔà!×BÑBÀ8ÓLˆ	ä�w‰w�~‰~œbŸg™gŸl™l¨8°YÀ
ÓKÔLÐLÑLr   c                 óà   — dD ]  }t        j                  |d¬«       Œ |j                  d«      }t         j                  j	                  t         j                  j                  |d«      «      sJ ‚y)zy
        Some users might pass metadata_directory pre-populated with `.tox` or `.venv`.
        See issue #3523.
        )z?.tox/python/lib/python3.10/site-packages/attrs-22.1.0.dist-infozD.tox/python/lib/python3.10/site-packages/autocommand-2.2.1.dist-infoz>.nox/python/lib/python3.10/site-packages/build-0.8.0.dist-infoz4.venv/python3.10/site-packages/click-8.1.3.dist-infoz5venv/python3.10/site-packages/distlib-0.3.5.dist-infoz4env/python3.10/site-packages/docutils-0.19.dist-infoT)Úexist_okr   r÷   N)r1   rŒ   rø   r   r�   rŽ   )r   rw   Úpre_existingrù   s       r   Útest_prepare_metadata_inplacez2TestBuildMetaBackend.test_prepare_metadata_inplace  sZ   € ð

ò 	5ˆLô �K‰K˜¨tÖ4ð	5ð "×BÑBÀ3ÓGˆ	Ü�w‰w�~‰~œbŸg™gŸl™l¨9°jÓAÔBÐBÑBr   c                 óâ   — t         j                  j                  d«      }|j                  |«      }t         j                  j	                  t         j                  j                  ||«      «      sJ ‚y )NÚdist)r1   r   r2   rÝ   r�   rŽ   rò   s       r   Útest_build_sdist_explicit_distz3TestBuildMetaBackend.test_build_sdist_explicit_dist#  sK   € ô —7‘7—?‘? 6Ó*ˆØ"×.Ñ.¨xÓ8ˆ
Ü�w‰w�~‰~œbŸg™gŸl™l¨8°ZÓ@ÔAÐAÑAr   c                 óâ  — t         j                  j                  d«      }t        j                  |«       |j	                  |«      }t         j                  j                  t         j                  j                  ||«      «      sJ ‚t         j                  j                  d«      }t         j                  j                  |«      st         j                  j                  d«      }t        |dd¬«      5 }|j                  «       }d d d «       t        |dd¬«      5 }|j                  j                  dd	«      «       d d d «       t        j                  |«       t        j                  |«       |j	                  d«      }t         j                  j                  t         j                  j                  t         j                  j                  d«      |«      «      sJ ‚y # 1 sw Y   ŒÙxY w# 1 sw Y   Œ­xY w)
NÚ	out_sdistrg   ri   Úrtr¤   r¥   r£   zversion='0.0.0'zversion='0.0.1')r1   r   r2   rŒ   rÝ   r�   rŽ   rë   r¨   rà   r©   ÚreplaceÚshutilÚrmtree)r   rw   Úsdist_into_directoryró   Ú	setup_locÚfile_handlerÚcontents          r   Útest_build_sdist_version_changez4TestBuildMetaBackend.test_build_sdist_version_change*  s`  € Ü!Ÿw™wŸ™¨{Ó;ÐÜ
�‰Ð(Ô)à"×.Ñ.Ð/CÓDˆ
Ü�w‰w�~‰~œbŸg™gŸl™lÐ+?ÀÓLÔMÐMÐMô
 —G‘G—O‘O JÓ/ˆ	Ü�w‰w�~‰~˜iÔ(ÜŸ™Ÿ™¨Ó4ˆIä�)˜T¨GÔ4ð 	*¸Ø"×'Ñ'Ó)ˆG÷	*ä�)˜T¨GÔ4ð 	V¸Ø×Ñ˜wŸ™Ð/@ÐBSÓTÔU÷	Vô 	�‰Ð*Ô+Ü
�‰Ð(Ô)à"×.Ñ.¨{Ó;ˆ
Ü�w‰w�~‰~œbŸg™gŸl™l¬2¯7©7¯?©?¸;Ó+GÈÓTÔUÐUÑU÷	*ð 	*ú÷	Vð 	Vús   Ã0GÄ"G%ÇG"Ç%G.c                 óv  — t        d«      dt        d«      dœ}t        j                  |«       | j                  «       }|j	                  d«      }t        j                  t        j                  j                  d|«      «      5 }t        d„ |j                  «       D «       «      sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nú°
                __import__('setuptools').setup(
                    name='foo',
                    version='0.0.0',
                    py_modules=['hello']
                )r·   rŸ   )rg   rh   r¡   r»   c              3   ó$   K  — | ]  }d |v –— Œ
 y­w)r¡   Nr    ©r‰   r+   s     r   r‹   zNTestBuildMetaBackend.test_build_sdist_pyproject_toml_exists.<locals>.<genexpr>Z  s   è ø€ ÒK°DÐ'¨4Ô/ÑKùó   ‚©r   r   rr   rn   rÝ   rÞ   r¨   r1   rŽ   Úanyrß   ©r   r¬   r­   rw   Ú
targz_pathrã   s         r   Ú&test_build_sdist_pyproject_toml_existsz;TestBuildMetaBackend.test_build_sdist_pyproject_toml_existsC  s¤   € äðóð Ü"ðóñ
ˆô$ 	�
‰
�5ÔØ×.Ñ.Ó0ˆØ"×.Ñ.¨vÓ6ˆ
Ü�\‰\œ"Ÿ'™'Ÿ,™, v¨zÓ:Ó;ð 	L¸sÜÑK¸C¿L¹L»NÔKÔKÐKÑK÷	L÷ 	Lñ 	Lúó   Â#B/Â/B8c                 óT  — t        j                  t        d   «       | j                  «       }|j	                  d«      }t        j                  t        j                   j                  d|«      «      5 }t        d„ |j                  «       D «       «      sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   r»   c              3   ó$   K  — | ]  }d |v –— Œ
 y­w©rg   Nr    r  s     r   r‹   zHTestBuildMetaBackend.test_build_sdist_setup_py_exists.<locals>.<genexpr>d  s   è ø€ ÒE¨d�z TÔ)ÑEùr  )r   rr   Údefnsrn   rÝ   rÞ   r¨   r1   rŽ   r  rß   )r   r¬   rw   r  rã   s        r   Ú test_build_sdist_setup_py_existsz5TestBuildMetaBackend.test_build_sdist_setup_py_exists\  s‚   € ô 	�
‰
”5˜‘8Ôà×.Ñ.Ó0ˆØ"×.Ñ.¨vÓ6ˆ
Ü�\‰\œ"Ÿ'™'Ÿ,™, v¨zÓ:Ó;ð 	F¸sÜÑE°c·l±l³nÔEÔEÐEÑE÷	F÷ 	Fñ 	Fús   Á1#BÂB'c                 óv  — t        d«      dt        d«      dœ}t        j                  |«       | j                  «       }|j	                  d«      }t        j                  t        j                  j                  d|«      «      5 }t        d„ |j                  «       D «       «      rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nzˆ
        __import__('setuptools').setup(
            name='foo',
            version='0.0.0',
            py_modules=['hello']
        )r·   z"
        exclude setup.py
        )rg   rh   r¹   r»   c              3   ó$   K  — | ]  }d |v –— Œ
 y­wr  r    r  s     r   r‹   zSTestBuildMetaBackend.test_build_sdist_setup_py_manifest_excluded.<locals>.<genexpr>~  s   è ø€ ÒI°$˜:¨Ô-ÑIùr  r  r  s         r   Ú+test_build_sdist_setup_py_manifest_excludedz@TestBuildMetaBackend.test_build_sdist_setup_py_manifest_excludedf  s©   € ô ðóð Üðóñ
ˆô" 	�
‰
�5Ôà×.Ñ.Ó0ˆØ"×.Ñ.¨vÓ6ˆ
Ü�\‰\œ"Ÿ'™'Ÿ,™, v¨zÓ:Ó;ð 	J¸sÜÑI¸#¿,¹,».ÔIÔIÐIÐIÐI÷	J÷ 	Jñ 	Júr  c                 ó    — t        d«      dt        d«      dœ}t        j                  |«       | j                  «       }|j	                  d«       y )Nr  r·   zE
                [sdist]
                formats=zip
                ©rg   rh   ri   r»   )r   r   rr   rn   rÝ   )r   r¬   r­   rw   s       r   Ú3test_build_sdist_builds_targz_even_if_zip_indicatedzHTestBuildMetaBackend.test_build_sdist_builds_targz_even_if_zip_indicated€  sR   € äðóð Üðóñ
ˆô$ 	�
‰
�5Ôà×.Ñ.Ó0ˆØ×!Ñ! &Õ)r   z´
            __import__('setuptools').setup(
                name='foo',
                version=__import__('hello').__version__,
                py_modules=['hello']
            )z__version__ = "0.0.0"z9
            [sdist]
            formats=zip
            r!  c                 óä   — t        j                  | j                  «       | j                  «       }t	        j
                  t        d¬«      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)Nz^No module named 'hello'$©Úmatchr»   )r   rr   Ú_relative_path_import_filesrn   r;   ÚraisesÚImportErrorrÝ   ©r   r¬   rw   s      r   Ú%test_build_sdist_relative_path_importz:TestBuildMetaBackend.test_build_sdist_relative_path_importª  sT   € Ü�
‰
�4×3Ñ3Ô4Ø×.Ñ.Ó0ˆÜ�]‰]œ;Ð.IÔJñ 	.Ø×%Ñ% fÔ-÷	.÷ 	.ñ 	.ús   ÁA&Á&A/zX
            [project]
            name = "proj"
            version = "42"
            Úprojr¸   r·   )r¡   rº   c                 óÊ   — t        t        |«      j                  d«      «      }|sJ ‚|D ]7  }|j                  «       rŒt	        j
                  |«      j                  dkD  rŒ7J ‚ y)z?All files in the directory should be either links or hard linksz**/*r   N)Úlistr   ÚglobÚ
is_symlinkr1   ÚstatÚst_nlink)r   Ú
parent_dirr­   rï   s       r   Ú_assert_link_treez&TestBuildMetaBackend._assert_link_tree»  sY   € ä”T˜*Ó%×*Ñ*¨6Ó2Ó3ˆÙˆˆuØò 	CˆDØ—?‘?Õ$¬¯©°«×(>Ñ(>ÀÓ(BÐBÐBñ	Cr   c                 óð   — t        j                  | j                  «       | j                  «       }t	        d«      j                  «       rJ ‚|j                  d«       t	        d«      j                  «       rJ ‚y)zù
        Sanity check to ensure tests with --mode=strict are different from the ones
        without --mode.

        --mode=strict should create a local directory with a package tree.
        The directory should not get created otherwise.
        rr   r»   N)r   rr   Ú_simple_pyproject_examplern   r   rë   Úbuild_editabler)  s      r   Ú%test_editable_without_config_settingsz:TestBuildMetaBackend.test_editable_without_config_settingsÂ  sa   € ô 	�
‰
�4×1Ñ1Ô2Ø×.Ñ.Ó0ˆÜ˜“=×'Ñ'Ô)Ð)Ð)Ø×$Ñ$ VÔ,Ü˜“=×'Ñ'Ô)Ð)Ð)Ð)r   c                 óT  — dddgi}t        j                  | j                  «       | j                  «       }t	        d«      j                  «       rJ ‚t	        d«      j                  «        |j                  d|«       |j                  d|«       t	        d«      j                  «       sJ ‚y )Nz--build-optionÚ	build_extz	--inplacerr   zbuild/proj-42-py3-none-any.whl)	r   rr   r5  rn   r   rë   Úmkdirrø   r�   ©r   r¬   Úconfig_settingsrw   s       r   Útest_build_wheel_inplacez-TestBuildMetaBackend.test_build_wheel_inplaceÐ  s�   € Ø+¨k¸;Ð-GÐHˆÜ�
‰
�4×1Ñ1Ô2Ø×.Ñ.Ó0ˆÜ˜“=×'Ñ'Ô)Ð)Ð)ÜˆW‹×ÑÔØ×6Ñ6°wÀÔPØ×!Ñ! '¨?Ô;ÜÐ4Ó5×<Ñ<Ô>Ð>Ñ>r   r<  zeditable-modeÚstrictc                 óR  — t        j                  i | j                  ¥di i¥«       t        d«      j	                  «       rJ ‚| j                  «       }|j                  d|«       |j                  d|d«       | j                  t        t        d«      j                  d«      «      «       y )NÚ_metarr   r»   z__editable__.*)r   rr   r5  r   rë   rn   Ú#prepare_metadata_for_build_editabler6  r3  Únextr.  r;  s       r   Ú"test_editable_with_config_settingsz7TestBuildMetaBackend.test_editable_with_config_settingsÚ  sŠ   € ä�
‰
ÐB�d×4Ñ4ÐB°g¸rÑBÔCÜ˜“=×'Ñ'Ô)Ð)Ð)Ø×.Ñ.Ó0ˆØ×9Ñ9¸'À?ÔSØ×$Ñ$ V¨_¸gÔFØ×Ñœt¤D¨£M×$6Ñ$6Ð7GÓ$HÓIÕJr   )Úsetup_literalÚrequirementsz'foo'r¶   z['foo']z'foo\n'z	'foo\n\n'z['foo', 'bar']Úbarz'# Has a comment line\nfoo'z'foo # Has an inline comment'z'foo \\\n >=3.0'zfoo>=3.0z
'foo\nbar'z'foo\nbar\n'z['foo\n', 'bar\n']Ú	use_wheelTFc                 ó  — t        d«      j                  |¬«      t        d«      dœ}t        j                  |«       | j	                  «       }|r|j
                  }n|j                  }t        |«      } |«       }	|t        |	«      k(  sJ ‚y )Na  
                from setuptools import setup

                setup(
                    name="qux",
                    version="0.0.0",
                    py_modules=["hello"],
                    setup_requires={setup_literal},
                )
            )rD  re   rf   )r   Úformatr   rr   rn   r{   rƒ   r|   )
r   rD  rE  rG  r¬   r­   rw   Úget_requiresr   r~   s
             r   Útest_setup_requiresz(TestBuildMetaBackend.test_setup_requiresã  s�   € ô& ð	ó÷ ‰f =ˆfÓ1Üðóñ
ˆô* 	�
‰
�5Ôà×.Ñ.Ó0ˆáØ(×EÑE‰Là(×EÑEˆLô ˜,Ó'ˆÙ“ˆàœ6 &›>Ò)Ð)Ñ)r   c                 ó°   — t        d«      t        d«      dddœ}t        j                  |«       | j                  «       }|j	                  «       }|dgk(  sJ ‚y )Nzd
                [project]
                name = "proj"
                version = "42"
            z¯
                __import__('setuptools').setup(
                    setup_requires=["foo"],
                    py_modules = ["hello", "world"]
                )
            z'hello'z'world')r¡   rg   rh   r†   r¶   )r   r   rr   rn   r{   )r   r¬   r­   rw   Úsetup_requiress        r   Ú'test_setup_requires_with_auto_discoveryz<TestBuildMetaBackend.test_setup_requires_with_auto_discovery  si   € ô
 #ðóô ðóð "Ø!ñ#
ˆô& 	�
‰
�5ÔØ×.Ñ.Ó0ˆØ&×CÑCÓEˆØ % Ò(Ð(Ñ(r   c                 ó  — t        d«      t        d«      dœ}t        j                  |«       | j                  «       }t        j                  j                  d«      }t	        j                  |«       |j                  |«       y )NaN  
                        from setuptools import setup

                        setup(
                            name="qux",
                            version="0.0.0",
                            py_modules=["hello"],
                            setup_requires=["does-not-exist >99"],
                        )
                    z[
                    def run():
                        print('hello')
                    rf   rö   )r   r   rr   rn   r1   r2   rŒ   rø   )r   r¬   r­   rw   r“   s        r   Ú test_dont_install_setup_requiresz5TestBuildMetaBackend.test_dont_install_setup_requires5  so   € äð	óô ðóñ
ˆô* 	�
‰
�5Ôà×.Ñ.Ó0ˆä—7‘7—?‘? ?Ó3ˆÜ
�‰�HÔð 	×6Ñ6°xÕ@r   rg   aD  
            import os
            import sys

            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
            )

            sys_argv = os.path.abspath(sys.argv[0])
            file_path = os.path.abspath('setup.py')
            assert sys_argv == file_path
            c                 óà   — t        j                  | j                  «       | j                  «       }t	        j
                  t        «      5  |j                  d«       d d d «       y # 1 sw Y   y xY w©Nr»   )r   rr   Ú_sys_argv_0_passthroughrn   r;   r'  ÚAssertionErrorrÝ   r)  s      r   Útest_sys_argv_passthroughz.TestBuildMetaBackend.test_sys_argv_passthroughh  sQ   € Ü�
‰
�4×/Ñ/Ô0Ø×.Ñ.Ó0ˆÜ�]‰]œ>Ó*ñ 	.Ø×%Ñ% fÔ-÷	.÷ 	.ñ 	.ús   Á	A$Á$A-a  
            import os
            assert os.path.isabs(__file__)
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            c                 ó„   — t        j                  | j                  «       | j                  «       }|j	                  d«       y rR  )r   rr   Ú_setup_py_file_abspathrn   rÝ   r)  s      r   Útest_setup_py_file_abspathz/TestBuildMetaBackend.test_setup_py_file_abspath}  s0   € Ü�
‰
�4×.Ñ.Ô/Ø×.Ñ.Ó0ˆØ×!Ñ! &Õ)r   Ú
build_hook)rÝ   r�   c                 óä   — ddi}t        j                  |«       t        j                  d«      }t	        j
                  t        |¬«      5   t        ||«      d«       d d d «       y # 1 sw Y   y xY w)Nrg   r·   zNo distribution was found.r$  r»   )r   rr   ÚreÚescaper;   r'  Ú
ValueErrorra   )r   rw   rY  r­   Úmsgs        r   Útest_build_with_empty_setuppyz2TestBuildMetaBackend.test_build_with_empty_setuppy‚  s[   € à˜RÐ ˆÜ�
‰
�5Ôä�i‰iÐ4Ó5ˆÜ�]‰]œ:¨SÔ1ñ 	7Ø.ŒG�M :Ó.¨vÔ6÷	7÷ 	7ñ 	7ús   Á
A&Á&A/)+r   r   r   r   rn   r;   Úfixturer  rw   r€   r„   rš   ÚmarkÚparametrizer³   ÚSETUP_SCRIPT_STUBré   rð   rô   rú   rþ   r  r  r  r  r  r"  r   r&  r*  r5  r3  r7  r=  rC  rK  rN  rP  rS  rU  rW  rX  r_  r    r   r   rk   rk   ß   s”  „ Ø*€Lò<ð €V‡^�^˜5Ô!ñ+ó "ð+ò
2ò
2ò
!ð( ‡[�[×Ñ˜\Ð+=Ó>ñ0Ió ?ð0Iðd ‡[�[×Ñ˜^¨dÐ4EÐ-FÓGñEJó HðEJòN=(ò~BòMòCò"BòVò2Lò2FòJò4*ñ2 ðó
ð ,Ùðó
ñ#Ðò$.ñ ðó
ð ˜¨Ð+Ð,ñ	!ÐòCò*ò?ð ‡[�[×ÑÐ.°/À8Ð1LÐ0MÓNñKó OðKð ‡[�[×ÑØ)à�u�gÐØ˜˜Ð Ø˜%˜Ð!Ø˜E˜7Ð#Ø  u˜~Ð.Ø+¨e¨WÐ5Ø-°¨wÐ7Ø  : ,Ð/Ø˜U E˜NÐ+Ø˜u e˜nÐ-Ø" U¨E NÐ3ð	
óð  ‡[�[×Ñ˜[¨4°¨-Ó8ñ#*ó 9ó!ð"#*òJ)ò8AðD 	‘Dðó
ðÐò$.ð 	‘Dð	ó
ðÐò*ð
 ‡[�[×Ñ˜\Ð+IÓJñ7ó Kñ7r   rk   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚTestBuildMetaLegacyBackendz setuptools.build_meta:__legacy__c                 ó„   — t        j                  | j                  «       | j                  «       }|j	                  d«       y rR  )r   rr   r&  rn   rÝ   r)  s      r   r*  z@TestBuildMetaLegacyBackend.test_build_sdist_relative_path_import�  s0   € ä�
‰
�4×3Ñ3Ô4à×.Ñ.Ó0ˆØ×!Ñ! &Õ)r   c                 ó„   — t        j                  | j                  «       | j                  «       }|j	                  d«       y rR  )r   rr   rS  rn   rÝ   r)  s      r   rU  z4TestBuildMetaLegacyBackend.test_sys_argv_passthrough—  s0   € Ü�
‰
�4×/Ñ/Ô0à×.Ñ.Ó0ˆØ×!Ñ! &Õ)r   N)r   r   r   r   r*  rU  r    r   r   re  re  Œ  s   „ Ø5€Lò*ó*r   re  c                 ó0  — d}t        j                  t        |«      ddœ«       g d¢}| j                  ||¬«      j	                  «       }d|vsJ ‚d|v sJ ‚i t
        j                  ¥dd	i¥}g d¢}| j                  |||¬
«      j	                  «       }d|v sJ ‚y )Nz—
    [build-system]
    requires = ["setuptools"]
    build-backend = "setuptools.build_meta"
    [project]
    name = "myproj"
    version = "42"
    r·   )r¡   zmymod.py)ÚpipÚinstallz--no-build-isolationz-er   )r   z#running setup.py develop for myprojzcreated wheel for myprojÚSETUPTOOLS_ENABLE_FEATURESzlegacy-editable)r   r   )r   rr   r   ÚrunÚlowerr1   r]   )Úvenvru   r¬   Ú	pyprojectÚcmdÚoutputr   s          r   Útest_legacy_editable_installrr  ž  s©   € ð€Iô 	‡J�J¤$ y£/¸rÑBÔCò @€CØ�X‰X�c˜vˆXÓ&×,Ñ,Ó.€FØ0¸Ñ>Ð>Ð>Ø%¨Ñ/Ð/Ð/ð JŒR�Z‰ZÐ
IÐ5Ð7HÑ
I€CÚ
?€CØ�X‰X�c˜v¨3ˆXÓ/×5Ñ5Ó7€FØ0°FÑ:Ð:Ñ:r   z/ignore::setuptools.SetuptoolsDeprecationWarningc                 óª   — | j                  |«       d}|dz  j                  t        |«      d¬«       t        d¬«      }|j	                  «       g k(  sJ ‚y)zHSetuptools should be resilient to setup.py with ``sys.exit(0)`` (#3973).zr
        import sys, setuptools
        setuptools.setup(name='foo', version='0.0.0')
        sys.exit(0)
        rg   r¤   r¥   r   rm   N)r\   Ú
write_textr   r"   r{   ©ÚmonkeypatchÚtmp_pathÚsetuppyrc   s       r   Útest_sys_exit_0_in_setuppyry  ¶  sY   € ð ×Ñ�hÔð€Gð
 �
Ñ×&Ñ&¤t¨G£}¸wÐ&ÔGÜÐ(?Ô@€GØ×/Ñ/Ó1°RÒ7Ð7Ñ7r   c                 óî   — | j                  |«       d}|dz  j                  |d¬«       t        j                  t        d¬«      5  t        d¬«      }|j                  «        d d d «       y # 1 sw Y   y xY w)	Nz"import sys; sys.exit('some error')rg   r¤   r¥   z
some errorr$  r   rm   )r\   rt  r;   r'  Ú
SystemExitr"   r{   ru  s       r   Útest_system_exit_in_setuppyr|  Ä  sg   € Ø×Ñ�hÔØ2€GØ�
Ñ×&Ñ& w¸Ð&ÔAÜ	�‰”z¨Ô	6ñ /ÜÐ,CÔDˆØ×,Ñ,Ô.÷/÷ /ñ /ús   ÁA+Á+A4),rJ   r_   r1   r[  r  rN   ÚsysrÞ   Ú
concurrentr   Úpathlibr   Útypingr   r   r–   r   r;   Újaracor   Úpackaging.requirementsr	   Útextwrapr   rc  ÚintÚgetenvr7   Úbuiltin_module_namesrA   ra  ÚskipifÚplatformÚ
pytestmarkr   r"   r3   r  rk   re  rr  Úfilterwarningsry  r|  r    r   r   ú<module>r‹     sØ  ðÛ Û Û 	Û 	Û Û Û 
Û Ý Ý ß  Ý ã Ý Ý .å à6Ð ñ ˆiˆb�i‰iÐ.°Ó6Ó
7€Ø
˜×0Ñ0Ð
0€ð �[‰[×ÑØ‡L�L�GÑÒ' ðð  ó €
÷)ñ )ô PÐ#ô  PôF3Ð)ô 3ñ, ðó	
ñ ðó
ññ& ðó

ñ ðó
ññ( ðó
ñ ðó
ñð. 	‘Dðó
ðñ4 ðó

ñ ðó
ññ( ðó

ð 7Ùðó
ñðQ|	€÷~j
7ñ j
7ôZ*Ð!5ô *ò$;ð0 ‡�×ÑÐMÓNñ
8ó Oð
8ó/r   