+
    êhÑ  ã                   ó*  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIt^ RIHt ^ RIt^ RIHu Ht ^ RIHtHtH t  ^ RI!H"t" ^ RI#H$t$ ^ R	IH%t% ^ R
I&Ht ^ RI'H(t( ^ RI)H*t* ^ RI+H,t,H-t- ^RI.H/t/ ^RI0H1t1 ^ RI2t3]Ph                  ! RR7      R 4       t5 ! R R4      t6]1! R4      t7 ! R R4      t8]Pr                  Pu                  R4       ! R R4      4       t;]Ph                  R 4       t<]Pr                  P{                  R4      ]Pr                  P{                  R4       ! R R4      4       4       t>]Ph                  R  4       t?]Pr                  P{                  R!4       ! R" R#4      4       t@]Ph                  R$ 4       tA ! R% R&4      tB ! R' R(4      tCR) tDR* tER+ tFR, tGR-R.]DRRR?3R/ ltH]Pr                  P“                  ]
P”                  P—                  R04      ;'       d    ]P˜                  ! ]
Pš                  4      R1R27       ! R3 R44      4       tN ! R5 R64      tO ! R7 R84      tP ! R9 R:]4      tQR; tR]Pr                  P§                  ]
P”                  R<8H  R=R27      R> 4       tTR# )@zEasy install TestsN)ÚPath)Ú
NamedTuple)Úmock©Úpath)ÚDistributionÚnormalize_pathÚworking_set)Úsandbox)Ú
safer_name)ÚPthDistributions)r   ©Ú	run_setup)Úfail_on_ascii)Ú
MockServerÚpath_to_url)Úcontexts)ÚDALST)Úautousec                ó*   € V P                  RR4       R# )z�
Important: Disable the default index for pip to avoid
querying packages in the index and potentially resolving
and installing packages there.
ÚPIP_NO_INDEXÚtrueN)Úsetenv)Úmonkeypatchs   &ÚD/usr/lib/python3/dist-packages/setuptools/tests/test_easy_install.pyÚpip_disable_indexr   *   s   € ð ×Ñ�~ vÖ.ó    c                   ó,   a € ] tR t^4t o R tR tRtV tR# )ÚFakeDistc                ó   € VR 8w  d   / # RR/# )Úconsole_scriptsÚnameÚep© )ÚselfÚgroups   &&r   Úget_entry_mapÚFakeDist.get_entry_map5   s   € ØÐ%Ô%ØˆIØ˜ˆ~Ðr   c                ó   € R # )Úspecr#   ©r$   s   &r   Úas_requirementÚFakeDist.as_requirement:   s   € Ùr   r#   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r&   r+   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   4   s   ø‡ € ò÷
ð r   r   z3
    from setuptools import setup

    setup()
    c                   óL  a € ] tR t^Gt o R tR tR tR tR t]	P                  R 4       t]R 4       t]	P                  R 4       t]R	 4       t]	P                  R
 4       t]	P"                  P%                  ]P(                  P+                  R4      '       * RR7      R 4       tRtV tR# )ÚTestEasyInstallTestc                óÖ  € \         P                  P                  4       P                  4       P	                  4       p\        4       p\        \         P                  P                  V4      4      p\        P                  ! V^4      w  rEVP                  V4      '       g   Q hRV9   g   Q hRV9   g   Q hRV9   g   Q h\        P                  ! RV\        P                  R7      '       g   Q hR# )é   z'spec'z'console_scripts'z'name'z^# EASY-INSTALL-ENTRY-SCRIPT)ÚflagsN)ÚeiÚCommandSpecÚbestÚfrom_environmentÚ	as_headerr   ÚnextÚScriptWriterÚget_argsÚ	itertoolsÚisliceÚ
startswithÚreÚsearchÚ	MULTILINE)r$   ÚheaderÚdistÚargsÚ_nameÚscripts   &     r   Útest_get_script_argsÚ(TestEasyInstallTest.test_get_script_argsH   s¹   € Ü—‘×$Ñ$Ó&×7Ñ7Ó9×CÑCÓEˆÜ‹zˆÜ”B—O‘O×,Ñ,¨TÓ2Ó3ˆÜ!×(Ò(¨¨qÓ1‰ˆØ× Ñ  ×(Ò(Ð(Ð(Ø˜6Ô!Ð!Ð!Ø" fÔ,Ð,Ð,Ø˜6Ô!Ð!Ð!Ü�yŠyÐ7¸ÄrÇ|Á|×TÓTÐTÒTr   c                ó®  € \        4       p\        P                  ! V4      pR  Vn        RVn        RR.Vn        \        P                  P                  \        P                  ! 4       R4      Vn        R.Vn        VP                  4        VP                  P                  / 8X  g   Q h\        P                  ! V4      pR Vn        RR.Vn        \        P                  P                  \        P                  ! 4       R4      Vn        R.Vn        VP                  4        \!        VP                  P                  P#                  4       4      pVRR.8X  g   Q hR# )c                  ó   € R # ©Tr#   r#   r   r   Ú<lambda>Ú8TestEasyInstallTest.test_no_find_links.<locals>.<lambda>X   ó   € ©4r   TÚlink1Úlink2Úokc                  ó   € R # rQ   r#   r#   r   r   rR   rS   b   rT   r   N)r   r:   Úeasy_installÚcheck_pth_processingÚno_find_linksÚ
find_linksÚosr   ÚjoinÚtempfileÚmkdtempÚinstall_dirrJ   Úensure_finalizedÚpackage_indexÚscanned_urlsÚsortedÚkeys)r$   rI   Úcmdrf   s   &   r   Útest_no_find_linksÚ&TestEasyInstallTest.test_no_find_linksS   s  € ô ‹~ˆÜ�oŠo˜dÓ#ˆÙ#/ˆÔ Ø ˆÔØ! 7Ð+ˆŒÜŸ'™'Ÿ,™,¤x×'7Ò'7Ó'9¸4Ó@ˆŒØ�6ˆŒØ×ÑÔØ× Ñ ×-Ñ-°Ô3Ð3Ð3ô �oŠo˜dÓ#ˆÙ#/ˆÔ Ø! 7Ð+ˆŒÜŸ'™'Ÿ,™,¤x×'7Ò'7Ó'9¸4Ó@ˆŒØ�6ˆŒØ×ÑÔÜ�c×'Ñ'×4Ñ4×9Ñ9Ó;Ó<ˆØ˜ Ð)Ô)Ð)Ò)r   c                ó@  € \        4       p\        P                  ! V4      p\        P                  ! 4       Vn        \        P                  ! \        P                  P                  4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; i)zC
Test that `cant_write_to_target` is rendered as a DistutilsError.
N)r   r:   rY   r]   Úgetcwdra   ÚpytestÚraisesÚ	distutilsÚerrorsÚDistutilsErrorÚcant_write_to_target)r$   rI   rg   s   &  r   Útest_write_exceptionÚ(TestEasyInstallTest.test_write_exceptionj   s\   € ô ‹~ˆÜ�oŠo˜dÓ#ˆÜŸ)š)›+ˆŒÜ�]Š]œ9×+Ñ+×:Ñ:×;Õ;Ø×$Ñ$Ô&÷ <×;×;Ò;ús   Á1BÂB	c                ó”   a€ \        R4      oV3R lpVP                  \        RVRR7       S\        P                  ! 4       9   g   Q hR# )zP
get_site_dirs should always return site dirs reported by
site.getsitepackages.
z/setuptools/test/site-packagesc                  ó
   <€ S .# ©Nr#   r   s   €r   Úmock_gspÚ8TestEasyInstallTest.test_all_site_dirs.<locals>.mock_gsp{   s
   ø€ Ø�6ˆMr   ÚgetsitepackagesF©ÚraisingN)r   ÚsetattrÚsiter:   Úget_site_dirs)r$   r   rw   r   s   && @r   Útest_all_site_dirsÚ&TestEasyInstallTest.test_all_site_dirst   sF   ø€ ô
 Ð>Ó?ˆõ	ð 	×ÑœDÐ"3°XÀuÐÔMØ”r×'Ò'Ó)Ô)Ð)Ò)r   c                óp   € VP                  \        R RR7       \        P                  ! 4       '       g   Q hR# )ry   Frz   N)Údelattrr}   r:   r~   )r$   r   s   &&r   Ú0test_all_site_dirs_works_without_getsitepackagesÚDTestEasyInstallTest.test_all_site_dirs_works_without_getsitepackages�   s-   € Ø×ÑœDÐ"3¸UÐÔCÜ×Ò×!Ò!Ð!Ò!r   c                óä   € R \        R4      3RR.pRpW,          p\        P                  ! \        V4      R4      pV F  w  rgVP	                  Wg4       K  	  VP                  4        \        V4      # )úsetup.pya5  
                    import setuptools
                    setuptools.setup(
                        name="setuptools-test-unicode",
                        version="1.0",
                        packages=["mypkg"],
                        include_package_data=True,
                    )
                    zsetuptools-test-unicode-1.0.zipÚw©zmypkg/__init__.pyÚ )u   mypkg/â˜ƒ.txtr‰   )r   ÚzipfileÚZipFileÚstrÚwritestrÚclose©r$   ÚtmpdirÚfilesÚ
sdist_nameÚsdistÚ	sdist_zipÚfilenameÚcontents   &&      r   Úsdist_unicodeÚ!TestEasyInstallTest.sdist_unicode…   s~   € ð Üðó
ðððð'
ˆð0 7ˆ
ØÕ#ˆô —O’O¤C¨£J°Ó4ˆ	Û!&ÑˆHØ×Ñ˜xÖ1ñ "'à�‰ÔÜ�5‹zÐr   c                ó,  € \        RR./4      pVR,          P                  4       p\        P                  ! V\	        V4      R.R7      pVP                  \        P                  R\	        V4      4       VP                  4        VP                  V4       R# )zY
The install command should execute correctly even if
the package has unicode filenames.
Úscript_argsrY   ÚtargetÚx©ra   rJ   Ú
PYTHONPATHN©	r   Ú
ensure_dirr:   rY   rŒ   Úsetitemr]   Úenvironrb   )r$   r—   r�   r   rI   r›   rg   s   &&&&   r   Útest_unicode_filename_in_sdistÚ2TestEasyInstallTest.test_unicode_filename_in_sdist©   s|   € ô ˜]¨^Ð,<Ð=Ó>ˆØ˜8Õ#×/Ñ/Ó1ˆÜ�oŠoØÜ˜F›Ø�ô
ˆð
 	×ÑœBŸJ™J¨´c¸&³kÔBØ×ÑÔØ×Ñ˜Ö'r   c                ó  € R \        R4      3RR\        R4      3.pRpW,          p\        P                  ! \        V4      R4      pV F%  w  rgVP	                  WgP                  R4      4       K'  	  VP                  4        \        V4      # )r†   ar  
                    import setuptools
                    setuptools.setup(
                        name="setuptools-test-unicode",
                        version="1.0",
                        packages=["mypkg"],
                        include_package_data=True,
                        scripts=['mypkg/unicode_in_script'],
                    )
                    zmypkg/unicode_in_scriptu…   
                    #!/bin/sh
                    # Ã¡

                    non_python_fn() {
                    }
                z&setuptools-test-unicode-script-1.0.zipr‡   úutf-8rˆ   )r   rŠ   r‹   rŒ   r�   ÚencoderŽ   r�   s   &&      r   Úsdist_unicode_in_scriptÚ+TestEasyInstallTest.sdist_unicode_in_scriptº   s—   € ð Üð	óðð &à)Üðóðð#
ˆð< >ˆ
ØÕ#ˆô —O’O¤C¨£J°Ó4ˆ	Û!&ÑˆHØ×Ñ˜x¯©¸Ó)@ÖAñ "'à�‰ÔÜ�5‹zÐr   c                ó,  € \        RR./4      pVR,          P                  4       p\        P                  ! V\	        V4      R.R7      pVP                  \        P                  R\	        V4      4       VP                  4        VP                  V4       R# )zZ
The install command should execute correctly even if
the package has unicode in scripts.
rš   rY   r›   rœ   r�   rž   NrŸ   )r$   r¨   r�   r   rI   r›   rg   s   &&&&   r   Útest_unicode_content_in_sdistÚ1TestEasyInstallTest.test_unicode_content_in_sdistä   sv   € ô ˜]¨^Ð,<Ð=Ó>ˆØ˜8Õ#×/Ñ/Ó1ˆÜ�oŠo˜d´°F³À3À%ÔHˆØ×ÑœBŸJ™J¨´c¸&³kÔBØ×ÑÔØ×ÑÐ0Ö1r   c                óv   € R \        R4      3R\        R4      3.pRp\        W,          4      p\        WB4       V# )r†   a  
                    import setuptools
                    setuptools.setup(
                        name="setuptools-test-script",
                        version="1.0",
                        scripts=["mypkg_script"],
                    )
                    Úmypkg_scriptzg
                     #/usr/bin/python
                     print('mypkg_script')
                     zsetuptools-test-script-1.0.zip)r   rŒ   Ú
make_sdist)r$   r�   r‘   r’   r“   s   &&   r   Úsdist_scriptÚ TestEasyInstallTest.sdist_scriptó   sX   € ð Üðó	ðð Üðóðð
ˆð0 6ˆ
Ü�FÕ'Ó(ˆÜ�5Ô Øˆr   ÚlinuxzTest can only be run on Linux©Úreasonc                ój  € \        RR./4      pVR,          P                  4       p\        P                  ! V\	        V4      R.R7      pVP                  \        P                  R\	        V4      4       VP                  4        VP                  V4       VR,          P                  4       '       g   Q hR# )	z
Check scripts are installed.
rš   rY   r›   rœ   r�   rž   r®   N)
r   r    r:   rY   rŒ   r¡   r]   r¢   rb   Úexists)r$   r°   r�   r   rI   r›   rg   s   &&&&   r   Útest_script_installÚ'TestEasyInstallTest.test_script_install  s–   € ô ˜]¨^Ð,<Ð=Ó>ˆØ˜8Õ#×/Ñ/Ó1ˆÜ�oŠoØÜ˜F›Ø�ô
ˆð
 	×ÑœBŸJ™J¨´c¸&³kÔBØ×ÑÔØ×Ñ˜Ô&Ø˜Õ'×/Ñ/×1Ò1Ð1Ò1r   r#   N)r-   r.   r/   r0   rM   rh   rr   r   rƒ   rl   Úfixturer—   r   r£   r¨   r«   r°   ÚmarkÚskipifÚsysÚplatformrD   r·   r1   r2   r3   s   @r   r6   r6   G   sÑ   ø‡ € ò	Uò*ò.'ò*ò"ð ‡^�^ñ!ó ð!ðF ñ(ó ð(ð  ‡^�^ñ'ó ð'ðR ñ2ó ð2ð ‡^�^ñó ðð< ‡[�[×ÑØ�L‰L×#Ñ# GÓ,Ô,Ð5Tð ó ñ2óö2r   r6   zignore:Unbuilt eggc                   ó2   a € ] tR tRt o R tR tR tRtV tR# )ÚTestPTHFileWriteri&  c                óð   € \        R\        P                  ! 4       .4      pVP                  '       d   Q hVP	                  \        \        P                  ! 4       4      4       VP                  '       g   Q hR# )zRa pth file manager should set dirty
if a distribution is in site but also the cwd
údoes-not_existN)r   r]   rk   ÚdirtyÚaddÚPRDistribution)r$   Úpths   & r   Ú!test_add_from_cwd_site_sets_dirtyÚ3TestPTHFileWriter.test_add_from_cwd_site_sets_dirty(  sL   € ô Ð/´"·)²)³+°Ó?ˆØ—9—9�9Ðˆ}Ø�‰”œrŸyšy›{Ó+Ô,Ø�y�yˆyÐŠyr   c                óÔ   € R p\         P                  ! V4      p\        RV.4      pVP                  '       d   Q hVP	                  \        V4      4       VP                  '       d   Q hR# )z%/test/location/does-not-have-to-existrÁ   N)Úpkg_resourcesr   r   rÂ   rÃ   rÄ   )r$   ÚlocationrÅ   s   &  r   Útest_add_from_site_is_ignoredÚ/TestPTHFileWriter.test_add_from_site_is_ignored1  s]   € Ø:ˆä ×/Ò/°Ó9ˆÜØàðó
ˆð —9—9�9Ðˆ}Ø�‰”˜xÓ(Ô)Ø—9—9�9Ðˆ}‘9r   c                óü  € VP                  R4      pVP                  4        \        VP                  R4      4      p\        V4      p\        V4      pVP                  VP                  u;8X  d   . 8X  g   Q R4       h Q R4       hVP                  R4      pVP                  4        \        V4      pVP                  P                  V4       VP                  4        VP                  '       g   Q R4       hWuP                  9  g   Q R4       hVP                  4        WuP                  9   g   Q R4       hVP                  R,          V8X  g   Q R4       h\        V4      P                  VP                  8X  g   Q R	4       hR
# )z‹
If the pth file is modified under the hood, then PthDistribution
will refresh its content before saving, merging contents when
necessary.
Ú
pth_subdirz	file1.pthz6unless there would be some default added at some pointÚ
src_subdirzEthe new_src_path added must still be present/valid in pth1 after savez:right before we save the entry should still not be presentzJthe new_src_path entry should have been added by pth2 with its save() callzVand it should match exactly on the last entry actually given we append to it in save()zXand we should have the exact same list at the end with a fresh PthDistributions instanceNéÿÿÿÿ)r^   ÚmkdirrŒ   r   ÚpathsÚappendÚsave)r$   r�   rÎ   Úpth_pathÚpth1Úpth2Únew_src_pathÚnew_src_path_strs   &&      r   Ú*test_many_pth_distributions_merge_togetherÚ<TestPTHFileWriter.test_many_pth_distributions_merge_together?  se  € ð —[‘[ Ó.ˆ
Ø×ÑÔÜ�z—‘ {Ó3Ó4ˆÜ Ó)ˆÜ Ó)ˆØ�z‰z˜TŸZ™ZÖ-¨2Ô-ð 	
ØDó	
Ñ-ð 	
ØDó	
Ð-ð
 —{‘{ <Ó0ˆØ×ÑÔÜ˜|Ó,ÐØ�
‰
×ÑÐ*Ô+Ø�	‰	ŒØ�z�zˆzð 	
ØSó	
ˆzð  §z¡zÔ1ð 	
ØHó	
Ð1ð 	�	‰	ŒØ§:¡:Ô-ð 	
ØXó	
Ð-ð �z‰z˜"�~ Ô-ð 	
ð.ó	
Ð-ô
   Ó)×/Ñ/°4·:±:Ô=ð 	
ð5ó	
Ò=r   r#   N)	r-   r.   r/   r0   rÆ   rË   rÚ   r1   r2   r3   s   @r   r¿   r¿   &  s   ø‡ € òò÷)
ð )
r   r¿   c              #   ó&  "  € V R ,          P                  RRR7      ;_uu_ 4       pVP                  \        4       RRR4       V P                  4       ;_uu_ 4        V x € RRR4       R#   + '       g   i     L7; i  + '       g   i     R# ; i5i)r†   r‡   r¦   ©ÚencodingN)ÚopenÚwriteÚSETUP_PYÚas_cwd)r�   Úfs   & r   Úsetup_contexträ   k  sZ   é € à
�:Õ
×	#Ñ	# C°'Ð	#×	:Ô	:¸aØ	�‰”Ô÷ 
;à	�‰��ØŠ÷ 
‰÷ 
;×	:úç	�ˆüs3   ‚#B¥A*» BÁA=Á 
BÁ*A:	Á5BÁ=B	Â	BÚuser_overriderä   c                   óª  a € ] tR tRt o ]P
                  ! R]P                  ! 4       4      t]P
                  ! R]P                  4      ]P
                  ! RR4      ]R 4       4       4       t
]P
                  ! RR4      ]R 4       4       t]R	 4       tR
 t]P                   R 4       t]P                   R 4       tR t]P*                  R 4       tR tRtV tR# )ÚTestUserInstallTestis  z;setuptools.command.easy_install.easy_install.check_site_dirz(setuptools.command.easy_install.__file__úsite.ENABLE_USER_SITETc                ó&   € V P                  4        R # rv   ©Úassert_not_user_siter*   s   &r   Ú/test_user_install_not_implied_user_site_enabledÚCTestUserInstallTest.test_user_install_not_implied_user_site_enabled  s   € ð 	×!Ñ!Ö#r   Fc                ó&   € V P                  4        R # rv   rê   r*   s   &r   Ú0test_user_install_not_implied_user_site_disabledÚDTestUserInstallTest.test_user_install_not_implied_user_site_disabled…  s   € ð 	×!Ñ!Ö#r   c                 ó¶   € \        4       p R V n        \        P                  ! V 4      pR.Vn        VP                  4        VP                  '       d   Q R4       hR# )r†   Úpyzuser should not be impliedN)r   Úscript_namer:   rY   rJ   rb   Úuser)rI   rg   s     r   rë   Ú(TestUserInstallTest.assert_not_user_siteŠ  sL   € ô ‹~ˆØ%ˆÔÜ�oŠo˜dÓ#ˆØ�6ˆŒØ×ÑÔØ—8—8�8Ð9Ð9Ó9ˆ|‘8r   c                óè   € \         P                  ! R 4       \        P                  ! R4      p\        P                  ! \        P
                  \        P                  R7       VP                  R4       R# )ÚmultiprocessingÚtest_easy_install)ÚlevelÚstreamzthis should not breakN)	rl   ÚimportorskipÚloggingÚ	getLoggerÚbasicConfigÚINFOr¼   ÚstderrÚinfo)r$   Úlogs   & r   Útest_multiproc_atexitÚ)TestUserInstallTest.test_multiproc_atexit”  sG   € Ü×ÒÐ-Ô.ä×ÒÐ 3Ó4ˆÜ×Ò¤'§,¡,´s·z±zÕBØ�‰Ð(Ö)r   c                ó¶   € VR ,          pVP                  R4      ;_uu_ 4       pVP                  R4       RRR4       \        V4      #   + '       g   i     L; i)zfoo-1.0.egg-infor‡   z
Name: foo
N)rß   rà   rŒ   )r$   r�   Úegg_filerã   s   &&  r   Úfoo_packageÚTestUserInstallTest.foo_package›  sB   € àÐ.Õ.ˆØ�]‰]˜3×Ô 1Ø�G‰G�MÔ"÷  ä�6‹{Ð÷  ×ús   £AÁA	c           	   #  óä  "  € \        V4      p\        P                  ! R \        P                  V.,           4      ;_uu_ 4        \
        P                  P                  P                  \        P                  4      p\        P                  P                  \
        P                  VR7      ;_uu_ 4        Vx € RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i5i)zsys.path©rž   N)
rŒ   r   Úpatchr¼   r   r]   Úpathsepr^   Údictr¢   )r$   r�   r›   Úpython_paths   &&  r   Úinstall_targetÚ"TestUserInstallTest.install_target¢  s†   é € ä�V“ˆÜ�ZŠZ˜
¤C§H¡H°¨xÕ$7×8Õ8ÜŸ'™'Ÿ/™/×.Ñ.¬s¯x©xÓ8ˆKÜ—‘—‘¤§¡¸�×DÕDØ’÷ E÷ 9Ñ8çD×Dú÷ 9×8Ð8üs7   ‚AC0ÁA/CÂ2C		Â7CÂ?
C0Ã	CÃCÃC-	Ã'	C0c                óþ  € \        4       pRVn        \        P                  ! V4      pW$n        R.Vn        VP                  4        VP                  P                  V.4       VP                  R4      p\        P                  P                  \        P                  P                  VP                  4      4      p\        P                  P                  \        P                  P                  V4      4      pWg8X  g   Q hR# )zL
The local index must be used when easy_install locates installed
packages.
r†   ÚfooN)r   ró   r:   rY   ra   rJ   rb   Úlocal_indexÚscanr]   r   ÚnormcaseÚrealpathrÊ   )r$   r  r  rI   rg   ÚresÚactualÚexpecteds   &&&     r   Útest_local_indexÚ$TestUserInstallTest.test_local_indexª  sµ   € ô
 ‹~ˆØ%ˆÔÜ�oŠo˜dÓ#ˆØ(ŒØ�7ˆŒØ×ÑÔØ�‰×Ñ˜k˜]Ô+Ø×Ñ˜uÓ%ˆÜ—‘×!Ñ!¤"§'¡'×"2Ñ"2°3·<±<Ó"@ÓAˆÜ—7‘7×#Ñ#¤B§G¡G×$4Ñ$4°[Ó$AÓBˆØÔ!Ð!Ò!r   c              /  óÀ   "  € V P                   ! V/ VB ;_uu_ 4        ^ RIHu Hp \        P
                  Vn        Rx € RRR4       R#   + '       g   i     R# ; i5i)z_
Wrap sandbox.setup_context to patch easy_install in that context to
appear as user-installed.
N)Úorig_contextÚsetuptools.command.easy_installÚcommandrY   r}   Ú	USER_SITEÚ__file__)r$   rJ   Úkwargsr:   s   &*, r   Úuser_install_setup_contextÚ.TestUserInstallTest.user_install_setup_context»  s?   é € ð ×Ò Ð/¨×/Ó/ß8Ð8äŸ.™.ˆBŒKÛ÷	 0×/×/Ò/üs   ‚A�#A
Á 
AÁ
A	Á	Ac                ón   € \         P                  V n        \        P                  ! R V P
                  4      # )z setuptools.sandbox.setup_context)r
   rä   r  r   r  r#  r*   s   &r   Úpatched_setup_contextÚ)TestUserInstallTest.patched_setup_contextÇ  s-   € Ü#×1Ñ1ˆÔä�zŠzØ.Ø×+Ñ+ó
ð 	
r   )r  N)r-   r.   r/   r0   r   r  ÚMockÚprev_sp_writer}   r   rì   rï   Ústaticmethodrë   r  rl   r¹   r  r  r  Ú
contextlibÚcontextmanagerr#  r&  r1   r2   r3   s   @r   rç   rç   s  sü   ø‡ € ð —J’JØEØ�	Š	‹ó€Mð 
‡Z‚ZÐ:¸D¿N¹NÓKØ	‡Z‚ZÐ'¨Ó.Øñ$ó ó /ó Lð$ð 
‡Z‚ZÐ'¨Ó/Øñ$ó ó 0ð$ð ñ:ó ð:ò*ð ‡^�^ñó ðð ‡^�^ñó ðò"ð" ×Ññ	ó ð	÷
ð 
r   rç   c            	   #   ó\  "  € \         P                  R R4      p \        P                  ! \        P
                  R7      ;_uu_ 4        \        RRRR7      ;_uu_ 4       pVP                  V 4       RRR4       Rx € RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i5i)zfrom setuptools import setupz from distutils.core import setup)Úcdr†   r‡   r¦   rÝ   N)rá   Úreplacer   Útempdirr]   Úchdirrß   rà   )Údistutils_setup_pyrã   s     r   Údistutils_packager3  Ð  ss   é € ä!×)Ñ)Ø&Ø*óÐô 
×	Ò	œRŸX™X×	&Ö	&Ü�*˜c¨G×4Õ4¸Ø�G‰GÐ&Ô'÷ 5ã÷ 
'Ñ	&ß4×4ú÷ 
'×	&Ð	&üs6   ‚AB,ÁBÁB	Á/BÁ;
B,ÂBÂBÂB)	Â#	B,r3  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestDistutilsPackageiÜ  c                ó    € \        R R.4       R# )r†   Ú	bdist_eggNr   r*   s   &r   Ú)test_bdist_egg_available_on_distutils_pkgÚ>TestDistutilsPackage.test_bdist_egg_available_on_distutils_pkgÞ  s   € Ü�*˜{˜mÖ,r   r#   N)r-   r.   r/   r0   r8  r1   r2   r3   s   @r   r5  r5  Ü  s   ø‡ € ÷-ð -r   r5  c                  óˆ   € \        4       p V P                  ^ 8X  d   \        P                  ! R4       V P	                  4        V # )é    zcould not find a valid port)r   Úserver_portrl   ÚskipÚstart)Úp_indexs    r   Ú
mock_indexr@  â  s6   € ô ‹l€GØ×Ñ˜aÔô 	�ŠÐ1Ô2Ø‡M�M„OØ€Nr   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚTestInstallRequiresiî  c                ó°  € VR,          pVP                  RR7       VR,          pVP                  RR7       V P                  V4       \        P                  RRRR\	        V4      R\	        V4      R	\	        V4      R
\	        V4      R\	        V4      R\	        V4      R\	        V4      .p/ \
        P                  CRVP                  /Cp\        P                  ! V\	        V4      V\        P                  \        P                  RRR7      pVP                  ^ 8w  g   Q h RVP                   Uu0 uF  qˆP                  kK  	  up9   g   Q h\        R VP                   P#                  4        4       4      '       g   Q hR# u upi   \$         dG    RTP                   9   d4   \&        P(                  ! \        P*                   RTP                    24       h i ; i)zf
When ``python setup.py install`` is called directly, it will use easy_install
to fetch dependencies.
ÚprojectT)Úexist_okÚinstallú-cú __import__("setuptools").setup()z--install-basez--install-libz--install-headersz--install-scriptsz--install-dataz--install-purelibz--install-platlibÚ__EASYINSTALL_INDEXr¦   )ÚcwdÚenvÚstdoutr   ÚtextrÞ   ú/does-not-exist/c              3   óJ   "  € T F  pR V9   g   K  RV9   g   K  Vx € K  	  R# 5i)z"not find suitable distribution forzdoes-not-existNr#   )Ú.0Úlines   & r   Ú	<genexpr>ÚOTestInstallRequires.test_setup_install_includes_dependencies.<locals>.<genexpr>  s0   é € ð á2�DØ7¸4Ñ?ô ð %¨Ñ,÷ ’Û2ùs   ‚	#�#™
#zfailed to get random numbersz failure - N)rÑ   Úcreate_projectr¼   Ú
executablerŒ   r]   r¢   ÚurlÚ
subprocessÚrunÚPIPEÚSTDOUTÚ
returncodeÚrequestsr   r?   rL  Ú
splitlinesÚ	Exceptionrl   Úxfailr½   )	r$   Útmp_pathr@  Úproject_rootÚinstall_rootrg   rK  ÚcpÚrs	   &&&      r   Ú(test_setup_install_includes_dependenciesÚ<TestInstallRequires.test_setup_install_includes_dependenciesï  s±  € ð   )Õ+ˆØ×Ñ DÐÔ)Ø )Õ+ˆØ×Ñ DÐÔ)à×Ñ˜LÔ)ä�N‰NØØ.ØØÜ�ÓØÜ�ÓØÜ�ÓØÜ�ÓØÜ�ÓØÜ�ÓØÜ�Óð%
ˆð( D”—‘ÐCÐ2°J·N±NÑCˆÜ�^Š^ØÜ�LÓ!ØÜ—?‘?Ü×$Ñ$ØØô
ˆð �}‰} Ô!Ð!Ð!ð	Ø%¸*×:MÒ:MÓ)NÑ:M°Q¯&¬&Ñ:MÑ)NÔNÐNÐNÜñ àŸI™I×0Ñ0Ô2ó÷ ò ð ò ùò *Oøô ô 	Ø-°·±Ô:Ü—’¤§¡˜~¨[¸¿¹¸ÐDÔEØð	ús   ÄF Ä.E?Å;F Å?F ÆAGc                ó~   € R pVR,          P                  \        V4      RR7       VR,          P                  4        R# )zž
        [metadata]
        name = project
        version = 42

        [options]
        install_requires = does-not-exist
        py_modules = mod
        ú	setup.cfgr¦   rÝ   zmod.pyN)Ú
write_textr   Útouch)r$   ÚrootÚconfigs   && r   rT  Ú"TestInstallRequires.create_project'  s7   € ðˆð 
�Õ	×'Ñ'¬¨V«¸wÐ'ÔGØ	��×ÑÖ!r   r#   N)r-   r.   r/   r0   re  rT  r1   r2   r3   s   @r   rB  rB  î  s   ø‡ € ò6÷p"ð "r   rB  c                   óŒ  a € ] tR tRt o R t]]P                  R 4       4       tRt	]
P                  P                  R]	4      R 4       t]
P                  P                  R]	4      R 4       t]
P                  P                  R]	4      R 4       tR tR	 tR
 tR t]
P                  P                  RR4      R 4       tR tR tRtV tR# )ÚTestSetupRequiresi5  c                ó0  € VP                  RR4       VP                  RR4       VP                  RR4       \        P                  ! 4       ;_uu_ 4        \        P	                  4       ;_uu_ 4       p\        P
                  ! 4       ;_uu_ 4       p\        P                  ! VR7      ;_uu_ 4        \        P                  RRR	R
VP                  RRVV.
p\        P                  ! V4      P                  4        RRR4       RRR4       RRR4       RRR4       VP                   Uu. uF  qfP                  NK  	  upR.8X  g   Q hR#   + '       g   i     LW; i  + '       g   i     Lb; i  + '       g   i     Lm; i  + '       g   i     Lx; iu upi )zœ
When easy_install installs a source distribution which specifies
setup_requires, it should honor the fetch parameters (such as
index-url, and find-links).
ÚPIP_RETRIESÚ0ÚPIP_TIMEOUTr   Úfalser
  rG  rH  rY   z--index-urlz--exclude-scriptsz--install-dirNrN  )r   r   Úquietro  Úcreate_sdistr0  Úenvironmentr¼   rU  rV  rW  ÚPopenÚwaitr\  r   )r$   r@  r   Ú	dist_fileÚtemp_install_dirrg   rd  s   &&&    r   Ú'test_setup_requires_honors_fetch_paramsÚ9TestSetupRequires.test_setup_requires_honors_fetch_params6  s'  € ð 	×Ñ˜=¨#Ô.Ø×Ñ˜=¨#Ô.Ø×Ñ˜>¨7Ô3Ü�^Š^×Õä"×/Ñ/×1Ô1°YÜ×%Ò%×'Ô'Ð+;Ü!×-Ò-Ð9I×JÖJäŸN™NØ Ø>Ø*Ø)Ø&ŸN™NØ/Ø+Ø,Ø%ð˜ô #×(Ò(¨Ó-×2Ñ2Ô4÷ K÷ (÷ 2÷ ð& !+× 3Ò 3Ó4Ñ 3˜1—”Ñ 3Ñ4Ð9KÐ8LÔLÐLÒL÷ K×Jú÷ (×'ú÷ 2×1ú÷ ×üò& 5s[   ÁF Á1E-	Â EÂ/A	EÃ8EÄ E-	ÄF Ä&FÅEÅEÅE*Å%E-	Å-E=Å8F Æ F	c            	   #  óü   "  € \         P                  ! 4       ;_uu_ 4       p \        P                  P	                  V R4      p\        VR\        R4      3R.4       Vx € RRR4       R#   + '       g   i     R# ; i5i)zT
Return an sdist with a setup_requires dependency (of something that
doesn't exist)
z"setuptools-test-fetcher-1.0.tar.gzr†   a  
                    import setuptools
                    setuptools.setup(
                        name="setuptools-test-fetcher",
                        version="1.0",
                        setup_requires = ['does-not-exist'],
                    )
                N©rh  r‰   )r   r0  r]   r   r^   r¯   r   )ÚdirÚ	dist_paths     r   rv  ÚTestSetupRequires.create_sdistT  sn   é € ô ×Ò×Ô 3ÜŸ™Ÿ™ SÐ*NÓOˆIÜØð #Üðó	ðð &ðôð& ŠO÷+  ××Òüs   ‚A< >A(Á
A<Á(A9	Á3	A<Úuse_setup_cfgc                óž  € \        RRRR7      p\        P                  ! V4       \        P                  ! 4       ;_uu_ 4        \        P
                  ! 4       ;_uu_ 4       p\        W1R7      p\        P                  P                  VR4      p\        P                  ! 4       ;_uu_ 4       w  rg\        VR.4       RRR4       XP                  4       p\        V4      ^ 8”  g   Q hVR
,          P                  4       R	8X  g   Q h RRR4       RRR4       R#   + '       g   i     Lc; i  + '       g   i     L-; i  + '       g   i     R# ; i)a  
Regression test for distribution issue 323:
https://bitbucket.org/tarek/distribute/issues/323

Ensures that a distribution's setup_requires requirements can still be
installed and used locally even if a conflicting version of that
requirement is already on the path.
zdoes-not-matterÚfoobarú0.0©Úproject_nameÚversion©rƒ  r†   ú--nameNÚtest_pkgrÐ   )rÄ   r	   rÃ   r   Úsave_pkg_resources_stater0  Úcreate_setup_requires_packager]   r   r^   ru  r   Ú	readlinesÚlenÚstrip)	r$   rƒ  Ú	fake_distÚtemp_dirrŒ  Útest_setup_pyrL  Ú_stderrÚliness	   &&       r   Ú.test_setup_requires_overrides_version_conflictÚ@TestSetupRequires.test_setup_requires_overrides_version_conflicty  sï   € ô #Ø¨H¸eô
ˆ	ô 	�Š˜	Ô"ä×.Ò.×0Õ0Ü×!Ò!×#Ô# xÜ8Øô�ô !#§¡§¡¨X°zÓ B�Ü—^’^×%Ô%Ñ):¨&ô ˜m¨h¨ZÔ8÷ &ð
 ×(Ñ(Ó*�Ü˜5“z A”~Ð%�~Ø˜R•y—‘Ó(¨JÔ6Ð6Ñ6÷ $÷ 1Ñ0÷ &×%ú÷ $×#ú÷ 1×0Ð0ús>   ÁD;Á A
D(	Â*DÂ:AD(	ÄD;ÄD%Ä D(	Ä(D8Ä3D;Ä;E	c                ó  € \         P                  ! 4       ;_uu_ 4        \         P                  ! 4       ;_uu_ 4       p\        P                  P                  VR4      p\        VRR4       \        P                  P                  VR4      p\        P                  ! V4       \        P                  ! V4      ;_uu_ 4       pR Vn
        VP                  V4       RRR4       \        P                  P                  ^V4       \        VRRR7      p\        P                   ! V4       \#        R4      p\%        VRR	\        VVR
7      p\        P                  P                  VR4      p	\         P&                  ! 4       ;_uu_ 4       w  r« \)        V	R.4       RRR4       RX
P3                  4       9  g   Q hV
P5                  4       p\7        V4      ^ 8”  g   Q hVR,          P9                  4       R8X  g   Q h RRR4       RRR4       R#   + '       g   i     EL5; i  \*        P,                   d    \.        P0                  ! R4        L³i ; i  + '       g   i     L¿; i  + '       g   i     Lr; i  + '       g   i     R# ; i)z£
Like ``test_setup_requires_overrides_version_conflict`` but where the
``setup_requires`` package is part of a namespace package that has
*already* been imported.
zfoo_bar-0.1.tar.gzzfoo.barú0.1zfoo_bar-0.1c                 ó   € V # rv   r#   )Úmemberr   s   &&r   rR   ÚFTestSetupRequires.test_setup_requires_override_nspkg.<locals>.<lambda>©  s   € Ár   Nr‡  aæ                      import foo  # Even with foo imported first the
                                # setup_requires package should override
                    import setuptools
                    setuptools.setup(**%r)

                    if not (hasattr(foo, '__path__') and
                            len(foo.__path__) == 2):
                        print('FAIL')

                    if 'foo_bar-0.2' not in foo.__path__[0]:
                        print('FAIL')
                z0.2rŠ  r†   r‹  z9Installing setup.py requirements caused a VersionConflictÚFAILrŒ  rÐ   )r   r�  r0  r]   r   r^   Úmake_nspkg_sdistrÑ   Útarfilerß   Úextraction_filterÚ
extractallr¼   ÚinsertrÄ   r	   rÃ   r   rŽ  ru  r   rÉ   ÚVersionConflictrl   ÚfailÚgetvaluer�  r�  r‘  )r$   rƒ  r“  Úfoobar_1_archiveÚfoobar_1_dirÚtfrI   ÚtemplaterŒ  r”  rL  r•  r–  s   &&           r   Ú"test_setup_requires_override_nspkgÚ4TestSetupRequires.test_setup_requires_override_nspkg˜  sá  € ô ×.Ò.×0Õ0Ü×!Ò!×#Ô# xÜ#%§7¡7§<¡<°Ð:NÓ#OÐ Ü Ð!1°9¸eÔDô  "Ÿw™wŸ|™|¨H°mÓD�Ü—’˜Ô&Ü—\’\Ð"2×3Ô3°rÙ+F�BÔ(Ø—M‘M ,Ô/÷ 4ô —‘—‘  <Ô0ä%Ø ¨yÀ%ô�ô —’ Ô%äðó�ô  9ØØØÜ$ØØ"/ô�ô !#§¡§¡¨X°zÓ B�ä—^’^×%Ô%Ñ):¨&ðô " -°(°Ô<÷	 &ð  V§_¡_Ó%6Ô6Ð6Ð6Ø×(Ñ(Ó*�Ü˜5“z A”~Ð%�~Ø˜R•y—‘Ó(¨JÔ6Ð6Ñ6÷s $÷ 1Ñ0÷ 4×3Ð3ûôT )×8Ñ8ô ÜŸšØWöðú÷ &×%ú÷Y $×#ú÷ 1×0Ð0úss   žI/¼BI	Â>HÃB)I	ÆI	ÆHÆAI	Ç2I/ÈHÈ	I	È+IÉI	ÉIÉI	É	IÉI	ÉI,É'I/É/J 	c                ó„  € R  p\         P                  ! 4       ;_uu_ 4        \         P                  ! 4       ;_uu_ 4       p\        V\	        RR7      VVR,           R7      p\
        P                  P                  VR4      p\         P                  ! 4       ;_uu_ 4       w  rg\        VR.4       RRR4       XP                  4       p\        V4      ^ 8”  g   Q hVR,          P                  4       R8X  g   Q h RRR4       RRR4       R#   + '       g   i     Lc; i  + '       g   i     L-; i  + '       g   i     R# ; i)	c           
      óx   € R \        RV: RV: RV: R24      3VR,           \        R4      3.p\        W4       R# )r†   zj
                    import setuptools
                    setuptools.setup(
                        name=z",
                        version=z&,
                        py_modules=[z-],
                    )
                    z.pyz6
                    version = 42
                    N)r   r¯   )r�  Údistnamer‰  r‘   s   &&& r   Úmake_dependency_sdistÚVTestSetupRequires.test_setup_requires_with_attr_version.<locals>.make_dependency_sdistÞ  sk   € ð Üðð '™\ð *!Ø!(¡ð ,%Ø%-¡Lð 1ðó	ðð ˜uÕ$ÜðóððˆEô. �yÖ(r   zattr: foobar.version)r‰  )Úsetup_attrsÚmake_packagerƒ  r†   ú	--versionNÚ42rÐ   )r   r�  r0  rŽ  r  r]   r   r^   ru  r   r�  r�  r‘  )	r$   rƒ  r°  r“  rŒ  r”  rL  r•  r–  s	   &&       r   Ú%test_setup_requires_with_attr_versionÚ7TestSetupRequires.test_setup_requires_with_attr_versionÜ  så   € ò	)ô4 ×.Ò.×0Õ0Ü×!Ò!×#Ô# xÜ8ØÜ $Ð-CÔ DØ!6Ø"/°,Õ">ô	�ô !#§¡§¡¨X°zÓ B�Ü—^’^×%Ô%Ñ):¨&Ü˜m¨k¨]Ô;÷ &à×(Ñ(Ó*�Ü˜5“z A”~Ð%�~Ø˜R•y—‘Ó(¨DÔ0Ð0Ñ0÷ $÷ 1Ñ0÷ &×%ú÷ $×#ú÷ 1×0Ð0ús<   ¡D.¿AD	ÂDÂ-AD	Ã6D.ÄDÄD	ÄD+Ä&D.Ä.D?	c                ó  € VP                  R R4       VP                  RR4       VP                  RR4       VP                  RVP                  4       \        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4       p\        VRR\        . R7      R	7      p\        P                  P                  VR
4      p\        VRRR7      ;_uu_ 4       pVP                  \        R4      4       RRR4       \        P                  P                  VR4      p\        P                  ! \        P                   P"                  4      ;_uu_ 4        \%        VR.4       RRR4       RRR4       RRR4       \'        VP(                  4      ^8X  g   Q hVP(                  ^ ,          P                  R8X  g   Q hR#   + '       g   i     LÎ; i  + '       g   i     Lu; i  + '       g   i     L€; i  + '       g   i     L‹; i)rq  rr  rs  r   rt  ÚPIP_INDEX_URLúpython-xlibú0.19©Údependency_links©r²  rh  r‡   r¦   rÝ   z}
                        [easy_install]
                        index_url = https://pypi.org/legacy/
                        Nr†   r´  z/python-xlib/)r   rV  r   r�  r0  rŽ  r  r]   r   r^   rß   rà   r   rl   rm   rn   ro   rp   r   r�  r\  )r$   r@  r   r“  rŒ  Útest_setup_cfgÚfpr”  s   &&&     r   Ú"test_setup_requires_honors_pip_envÚ4TestSetupRequires.test_setup_requires_honors_pip_env  st  € Ø×Ñ˜=¨#Ô.Ø×Ñ˜=¨#Ô.Ø×Ñ˜>¨7Ô3Ø×Ñ˜?¨J¯N©NÔ;Ü×.Ò.×0Õ0Ü×!Ò!×#Ô# xÜ8ØØ!ØÜ $°bÔ 9ô	�ô "$§¡§¡¨h¸Ó!D�Ü˜.¨#¸×@Õ@ÀBØ—H‘HÜðóô÷ Aô !#§¡§¡¨X°zÓ B�Ü—]’]¤9×#3Ñ#3×#BÑ#B×CÕCÜ˜m¨k¨]Ô;÷ D÷% $÷ 1ô* �:×&Ñ&Ó'¨1Ô,Ð,Ð,Ø×"Ñ" 1Õ%×*Ñ*¨oÔ=Ð=Ò=÷ A×@ú÷ D×Cú÷% $×#ú÷ 1×0úsV   Á0G8ÂAG%	ÃF?Ã9AG%	ÅGÅ%G%	Å-G8Æ?GÇ
G%	ÇG"ÇG%	Ç%G5Ç0G8Ç8H	c                ó¨  € VP                  R R4       VP                  RR4       VP                  RVP                  4       \        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4       p\
        P                  P                  VR4      p\        VRR4       \        VRR7      p\        VR	R
\        RV 2R7      R7      p\
        P                  P                  VR4      p\        VR.4       RRR4       RRR4       \        VP                  4      ^ 8X  g   Q hR#   + '       g   i     L6; i  + '       g   i     LA; i)rq  rr  rs  r¹  z
dep.tar.gzÚ
dependencyrµ  Ú	localhost)Ú	authorityrº  r»  zdependency @ ©Úsetup_requiresr¾  r†   r´  N)r   rV  r   r�  r0  r]   r   r^   Úmake_trivial_sdistr   rŽ  r  r   r�  r\  )r$   r@  r   r“  Ú	dep_sdistÚdep_urlrŒ  r”  s   &&&     r   Ú#test_setup_requires_with_pep508_urlÚ5TestSetupRequires.test_setup_requires_with_pep508_url$  sý   € Ø×Ñ˜=¨#Ô.Ø×Ñ˜=¨#Ô.Ø×Ñ˜?¨J¯N©NÔ;Ü×.Ò.×0Õ0Ü×!Ò!×#Ô# xÜŸG™GŸL™L¨°<Ó@�	Ü" 9¨l¸DÔAÜ% i¸;ÔG�Ü8Øà!ØÜ $°mÀGÀ9Ð4MÔ Nô�ô !#§¡§¡¨X°zÓ B�Ü˜-¨+¨Ô7÷ $÷ 1ô �:×&Ñ&Ó'¨1Ô,Ð,Ò,÷ $×#ú÷ 1×0ús%   ÁEÁ<BD.	Ä EÄ.D>Ä9EÅE	c                ó„  € RR\        R4      R\        R4      //p\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4       p\        P
                  ! W#R7       \        \        P                  ! VRR4      4      p\        P                  ! \        P                  P                  4      ;_uu_ 4        \        VR.4       RRR4       RRR4       RRR4       \        VP                   4      ^ 8X  g   Q hR#   + '       g   i     L>; i  + '       g   i     LI; i  + '       g   i     LT; i)	z2The `allow-hosts` option in not supported anymore.rŒ  r†   z~
                    from setuptools import setup
                    setup(setup_requires='python-xlib')
                    rh  z\
                    [easy_install]
                    allow_hosts = *
                    ©Úprefixr´  N)r   r   r�  r0  r   ÚbuildrŒ   Úpathlibr   rl   rm   rn   ro   rp   r   r�  r\  )r$   r@  r‘   r“  Úsetup_pys   &&   r   Ú$test_setup_requires_with_allow_hostsÚ6TestSetupRequires.test_setup_requires_with_allow_hosts8  sæ   € ð ØœDðóð œTðóðð
ˆô  ×.Ò.×0Õ0Ü×!Ò!×#Ô# xÜ—
’
˜5Õ2ÜœwŸ|š|¨H°jÀ*ÓMÓN�Ü—]’]¤9×#3Ñ#3×#BÑ#B×CÕCÜ˜h¨¨Ô6÷ D÷ $÷ 1ô �:×&Ñ&Ó'¨1Ô,Ð,Ò,÷ D×Cú÷ $×#ú÷ 1×0ús<   ¸D/ÁA/D	ÃD	ÃD	ÃD/Ä	DÄD	ÄD,Ä'D/Ä/D?	c                óH  € VP                  RR4       VP                  RR4       VP                  RR4       VP                  RR4       Rp\        \        W#,          4      4      pRp\        \        W#,          4      R	R
V4       Rp\        \        W&,          4      4      pR\        P
                  P                   R\        P
                  P                   R2p\        \        W&,          4      R	RV4       VR,          p	V	P                  \        R4      P                  VVVVVVR7      R4       \        \        V	4      4      p
\        P                  ! 4       ;_uu_ 4        \        \        V4      RR\        R	V
.R7      R7      p\        P                   P#                  VR4      p\%        VR.4       RRR4       \'        \)        \        \*        P,                  ! \        P                   P#                  XR4      4      4      4      pVR.8X  g   Q hR#   + '       g   i     Lg; i)z#Check `python_requires` is honored.rq  rr  rs  r   Ú1ÚPIP_VERBOSEzdep-1.0.tar.gzz>=2.7Údepú1.0zdep-2.0.tar.gzz!=Ú.z.*z2.0z
index.htmla©  
            <!DOCTYPE html>
            <html><head><title>Links for dep</title></head>
            <body>
                <h1>Links for dep</h1>
                <a href="{dep_1_0_url}"data-requires-python="{dep_1_0_python_requires}">{dep_1_0_sdist}</a><br/>
                <a href="{dep_2_0_url}"data-requires-python="{dep_2_0_python_requires}">{dep_2_0_sdist}</a><br/>
            </body>
            </html>
            )Údep_1_0_urlÚdep_1_0_sdistÚdep_1_0_python_requiresÚdep_2_0_urlÚdep_2_0_sdistÚdep_2_0_python_requiresr¦   rº  r»  )rÈ  r½  r¾  r†   r´  Nz.eggszdep 1.0)r   r   rŒ   Úmake_python_requires_sdistr¼   Úversion_infoÚmajorÚminorri  r   Úformatr   r�  rŽ  r  r]   r   r^   r   ÚlistÚmaprÉ   Úfind_distributions)r$   r   r�   rÝ  rÜ  rÞ  rà  rß  rá  ÚindexÚ	index_urlrŒ  r”  Úeggss   &&&           r   Ú(test_setup_requires_with_python_requiresÚ:TestSetupRequires.test_setup_requires_with_python_requiresR  sâ  € à×Ñ˜=¨#Ô.Ø×Ñ˜=¨#Ô.Ø×Ñ˜>¨3Ô/Ø×Ñ˜=¨#Ô.Ø(ˆÜ!¤# fÕ&<Ó"=Ó>ˆØ")ÐÜ"Ü�Õ&Ó'¨°Ð7Nô	
ð )ˆÜ!¤# fÕ&<Ó"=Ó>ˆà”×!Ñ!×'Ñ'Ð(¨¬#×*:Ñ*:×*@Ñ*@Ð)AÀÐDð 	 ô 	#Ü�Õ&Ó'¨°Ð7Nô	
ð ˜Õ%ˆØ×ÑÜðó÷ ‰fØ'Ø+Ø(?Ø'Ø+Ø(?ð ó ð ô-	
ô0  ¤ E£
Ó+ˆ	Ü×.Ò.×0Õ0Ü4Ü�F“ØØÜ °ÈÈÔTô	ˆHô ŸG™GŸL™L¨°:Ó>ˆMÜ�m k ]Ô3÷ 1ô Ü””]×5Ò5´b·g±g·l±lÀ8ÈWÓ6UÓVÓWó
ˆð ˜	�{Ô"Ð"Ò"÷ 1×0ús   Å AHÈH!	Ú!with_dependency_links_in_setup_pyc                ó–  € VP                  R R4       VP                  RR4       \        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4       p\	        \
        P                  P                  VR4      RR4       \
        P                  P                  VR4      p\
        P                  P                  VR4      p\
        P                  P                  VR4      p\
        P                  ! V4       \        VR	R
R7      ;_uu_ 4       pV'       d#   \
        P                  P                  VR4      .pM. pVP                  \        R4      P                  VR7      4       RRR4       \        VR	R
R7      ;_uu_ 4       pVP                  \        R4      P                  \
        P                  P                  VR4      VR7      4       RRR4       \        VR.4       RRR4       RRR4       R#   + '       g   i     L—; i  + '       g   i     LB; i  + '       g   i     L@; i  + '       g   i     R# ; i)rq  rr  rs  zpython-xlib-42.tar.gzrº  rµ  rŒ  r†   rh  r‡   r¦   rÝ   ÚlinkszØ
                        from setuptools import installer, setup
                        setup(setup_requires='python-xlib==42',
                        dependency_links={dependency_links!r})
                        r¼  Nz¢
                        [easy_install]
                        index_url = {index_url}
                        find_links = {find_links}
                        rê  )rë  r\   r´  )r   r   r�  r0  rÉ  r]   r   r^   rÑ   rß   rà   r   ræ  r   )	r$   r   rï  r“  rŒ  r”  r¿  rÀ  r½  s	   &&&      r   Ú0test_setup_requires_with_find_links_in_setup_cfgÚBTestSetupRequires.test_setup_requires_with_find_links_in_setup_cfgŽ  s«  € ð 	×Ñ˜=¨#Ô.Ø×Ñ˜=¨#Ô.Ü×.Ò.×0Õ0Ü×!Ò!×#Ô# xÜ"Ü—G‘G—L‘L Ð+BÓCÀ]ÐTXôô Ÿ7™7Ÿ<™<¨°*Ó=�Ü "§¡§¡¨X°zÓ B�Ü!#§¡§¡¨h¸Ó!D�Ü—’˜Ô"Ü˜-¨°w×?Õ?À2ß8Ü,.¯G©G¯L©L¸À7Ó,KÐ+LÑ(à+-Ð(Ø—H‘HÜðó÷ !™&Ð2B˜&ÓCô÷ @ô ˜.¨#¸×@Õ@ÀBØ—H‘HÜðó÷ !™&Ü&(§g¡g§l¡l°8¸WÓ&EØ'/ð !ó ô÷ Aô ˜-¨+¨Ô7÷G $÷ 1Ñ0÷ @×?ú÷ A×@ú÷- $×#ú÷ 1×0Ð0úsW   ÁH7Á B8H$	ÄAG>Å/H$	ÆA
HÇH$	Ç,H7Ç>HÈ	H$	ÈH!ÈH$	È$H4È/H7È7I	c                óz  € \         P                  ! 4       ;_uu_ 4        \         P                  ! 4       ;_uu_ 4       p\        \        P
                  P                  VR4      RR4       \        P
                  P                  VR4      p\        P                  ! V4       \
        P                  ! R\        R4      RR/VR	7       \        \        P
                  P                  VR4      R
.4       \        P                  ! V4       \        P
                  P                  VR4      p\        P
                  P                  VR4      p\        P                  ! V4       \        VRRR7      ;_uu_ 4       pVP                  \        R4      4       RRR4       VP                  R\!        V4      4       VP                  RR4       VP                  RR4       VP                  RR4       \        VR.4       RRR4       RRR4       R#   + '       g   i     L€; i  + '       g   i     L-; i  + '       g   i     R# ; i)z¥
Use case: installing a package with a build dependency on
an already installed `dep[extra]`, which in turn depends
on `extra_dep` (whose is not already installed).
úextra_dep-1.0.tar.gzÚ	extra_deprÚ  rÙ  r†   a  
                          import setuptools
                          setuptools.setup(
                              name='dep', version='2.0',
                              extras_require={'extra': ['extra_dep']},
                          )
                         rh  r‰   rÏ  Ú	dist_inforŒ  r‡   r¦   rÝ   ú”
                        from setuptools import installer, setup
                        setup(setup_requires='dep[extra]')
                        NÚPIP_FIND_LINKSr   r×  rq  rr  rs  r´  )r   r�  r0  rÉ  r]   r   r^   rÑ   rÑ  r   r   r	   Ú	add_entryrß   rà   r   rŒ   ©r$   r   r“  Údep_pkgrŒ  r”  rÀ  s   &&     r   Ú4test_setup_requires_with_transitive_extra_dependencyÚFTestSetupRequires.test_setup_requires_with_transitive_extra_dependencyº  s¡  € ô ×.Ò.×0Õ0Ü×!Ò!×#Ô# xä"Ü—G‘G—L‘L Ð+AÓBÀKÐQVôô Ÿ'™'Ÿ,™, x°Ó7�Ü—’˜Ô!Ü—
’
à"¤Dðó%ð $ Rðð #õô  œ"Ÿ'™'Ÿ,™, w°
Ó;¸k¸]ÔKÜ×%Ò% gÔ.äŸ7™7Ÿ<™<¨°*Ó=�Ü "§¡§¡¨X°zÓ B�Ü—’˜Ô"Ü˜-¨°w×?Õ?À2Ø—H‘HÜðóô÷ @ð ×"Ñ"Ð#3´S¸³]ÔCØ×"Ñ" >°3Ô7Ø×"Ñ" =°#Ô6Ø×"Ñ" =°#Ô6Ü˜-¨+¨Ô7÷Y $÷ 1Ñ0÷> @×?ú÷= $×#ú÷ 1×0Ð0ús<   žH)¼D4H	Å0HÆA&H	Ç1H)ÈHÈH	ÈH&È!H)È)H:	c                óª  € \         P                  ! 4       ;_uu_ 4        \         P                  ! 4       ;_uu_ 4       p\        \        P
                  P                  VR4      R\        R4      3RR.4       \        P
                  P                  VR4      p\        P                  ! V4       \
        P                  ! R\        R4      RRR\        R	4      /VR
7       \        \        P
                  P                  VR4      R.4       \        P                  ! V4       \        P
                  P                  VR4      p\        P
                  P                  VR4      p\        P                  ! V4       \        VRRR7      ;_uu_ 4       pVP                  \        R4      4       RRR4       VP                  R\!        V4      4       VP                  RR4       VP                  RR4       VP                  RR4       \        VR.4       RRR4       RRR4       R#   + '       g   i     L€; i  + '       g   i     L-; i  + '       g   i     R# ; i)zS
Use case: ensure build requirements' extras
are properly installed and activated.
rõ  r†   a$  
                          import setuptools
                          setuptools.setup(
                              name='extra_dep',
                              version='1.0',
                              py_modules=['extra_dep'],
                          )
                          rh  r‰   Úepdepa(  
                          import setuptools
                          setuptools.setup(
                              name='dep', version='2.0',
                              py_modules=['epcmd'],
                              extras_require={'extra': ['extra_dep']},
                              entry_points='''
                                           [distutils.commands]
                                           epcmd = epcmd:epcmd [extra]
                                           ''',
                          )
                         zepcmd.pya  
                                     from distutils.command.build_py import build_py

                                     import extra_dep

                                     class epcmd(build_py):
                                         pass
                                     rÏ  r÷  rŒ  r‡   r¦   rÝ   rø  Nrù  r   r×  rq  rr  rs  Úepcmdr  )zextra_dep.pyr‰   )r   r�  r0  r¯   r]   r   r^   r   rÑ   rÑ  r   r	   rú  rß   rà   r   rŒ   rû  s   &&     r   Ú.test_setup_requires_with_distutils_command_depÚ@TestSetupRequires.test_setup_requires_with_distutils_command_depï  sÑ  € ô
 ×.Ò.×0Õ0Ü×!Ò!×#Ô# xäÜ—G‘G—L‘L Ð+AÓBð 'Ü ð!ó	ðð *Ø,ðôô* Ÿ'™'Ÿ,™, x°Ó9�Ü—’˜Ô!Ü—
’
à"¤Dðó%ð $ RØ"¤Dð)ó	%ð!ð6 #õ9ô> œ"Ÿ'™'Ÿ,™, w°
Ó;¸k¸]ÔKÜ×%Ò% gÔ.äŸ7™7Ÿ<™<¨°*Ó=�Ü "§¡§¡¨X°zÓ B�Ü—’˜Ô"Ü˜-¨°w×?Õ?À2Ø—H‘HÜðóô÷ @ð ×"Ñ"Ð#3´S¸³]ÔCØ×"Ñ" >°3Ô7Ø×"Ñ" =°#Ô6Ø×"Ñ" =°#Ô6Ü˜-¨'¨Ô3÷Y $÷ 1Ñ0÷~ @×?ú÷} $×#ú÷ 1×0Ð0ús<   žI¼EH.	ÆHÆ#A&H.	È	IÈH+È&H.	È.H>È9IÉI	r#   N)r#   r¼  rÇ  )r½  rÈ  )FT)r-   r.   r/   r0   r|  r*  r+  r,  rv  rƒ  rl   rº   Úparametrizer—  r«  r¶  rÁ  rÌ  rÔ  rí  rò  rý  r  r1   r2   r3   s   @r   ro  ro  5  sö   ø‡ € òMð< Ø×Ññó ó ðð8€Mð ‡[�[×Ñ˜_¨mÓ<ñ7ó =ð7ð< ‡[�[×Ñ˜_¨mÓ<ñA7ó =ðA7ðF ‡[�[×Ñ˜_¨mÓ<ñ(1ó =ð(1òT>ò:-ò(-ò4:#ðx ‡[�[×ÑÐ@À-ÓPñ)8ó Qð)8òV38÷jR4ð R4r   ro  c                óJ   € \        V R\        RV: RV: R24      3R.4       R# )zP
Create a simple sdist tarball at dist_path, containing just a simple
setup.py.
r†   zT             import setuptools
             setuptools.setup(
                 name=z,
                 version=z
             )
         Nr  )r¯   r   )r�  r¯  r‰  s   &&&r   rÉ  rÉ  D  sK   € ô Øð Üðð  ‘lð #Ø!™ð %
ð	óðð ð	
ör   c                ó  € RV9   g   Q hVP                  R4      pV^ ,          p\        ^\        V4      ^,           4       Uu. uF  pRP                  VRV 4      NK  	  pp\	        RV: RV: RV: RV: R2	4      pRpR	V3\
        P                  P                  VR
4      V3.p	VR,           FK  p
\
        P                  P                  ! V
P                  R4      R
.,           !  pV	P                  VR34       KM  	  \        W	4       R# u upi )z¬
Make an sdist tarball with distname and version which also contains one
package with the same name as distname.  The top-level package is
designated a namespace package).
rÛ  NzE        import setuptools
        setuptools.setup(
            name=z,
            version=z,
            packages=z",
            namespace_packages=[z]
        )
    z7__import__('pkg_resources').declare_namespace(__name__)r†   z__init__.py:é   NNr‰   )	ÚsplitÚranger�  r^   r   r]   r   rÓ   r¯   )r�  r¯  r‰  ÚpartsÚ	nspackageÚidxÚpackagesrÓ  Úinitr‘   Úpackager•   s   &&&         r   rŸ  rŸ  ^  s  € ð �(Œ?Ðˆ?à�N‰N˜3Ó€EØ�a•€Iä16°q¼#¸e»*Àq½.Ô1IÓJÑ1I¨#�—‘˜˜t ˜Ö%Ñ1I€HÐJäðð ‘ð Ø‘Kð  Ø‘\ð "!Ø!*¡ð .ð	ó
€Hð E€Dà˜(Ð#¤b§g¡g§l¡l°9¸mÓ&LÈdÐ%SÐT€EØ˜B—<�<ˆÜ—7‘7—<’< '§-¡-°Ó"4¸°Õ"FÑHˆØ�‰�h �^Ö$ñ  ô ˆyÖ ùò+ Ks   ÁD
c           
      óZ   € \        V R \        R4      P                  WVR7      3R.4       R# )r†   zå                import setuptools
                setuptools.setup(
                  name={name!r},
                  version={version!r},
                  python_requires={python_requires!r},
                )
                )r!   r‰  Úpython_requiresNr  )r¯   r   ræ  )r�  r¯  r‰  r  s   &&&&r   râ  râ  ‚  sD   € ÜØð Üðó	÷ ‘&Ø!ÀOð ó ðð ð!	
ör   c                óÖ  € \        V4      ^8”  g   Q h\        P                  ! V R4      ;_uu_ 4       pV F”  w  r4\        P                  ! VP                  R4      4      p\        P                  ! VR7      p\        VP                  4       4      Vn        \        \        P                  ! 4       4      Vn        VP                  WeR7       K–  	  RRR4       R#   + '       g   i     R# ; i)zy
Create a simple sdist tarball at dist_path, containing the files
listed in ``files`` as ``(filename, content)`` tuples.
zw:gzr¦   )r!   )ÚfileobjN)r�  r   rß   ÚioÚBytesIOr§   ÚTarInfor¦  ÚsizeÚintÚtimeÚmtimeÚaddfile)r�  r‘   rI   r•   r–   Ú
file_bytesÚ	file_infos   &&     r   r¯   r¯   š  s�   € ô ˆu‹:˜Œ>Ðˆ>Ü	�Š�i ×	(Ô	(¨DÛ!&ÑˆHÜŸš G§N¡N°7Ó$;Ó<ˆJÜŸš¨XÔ6ˆIÜ  ×!4Ñ!4Ó!6Ó7ˆIŒNÜ!¤$§)¢)£+Ó.ˆIŒOØ�L‰L˜ˆLÖ7ñ "'÷ 
)×	(×	(Ò	(ús   ²BCÃC(	r…  rš  c           
     ó   € \        V4      pRRRRRV RV 2.R\        P                  P                  V 4      ./pV'       d   VP	                  V4       \        P                  P                  V R4      p	\        P                  ! V	4       V'       d·   . p
. pV Fq  pVP                  V4      pVRP                  4       9   d   TpMT
p\        V\        \        34      '       d   R	P                  V4      pVP                  V R
V 24       Ks  	  \        R4      P                  RP                  V
4      RP                  V4      R7      pMRp\        \        P                  P                  V	R4      RRR7      ;_uu_ 4       pVP!                  V4       RRR4       Vf   \        R4      p\        \        P                  P                  V	R4      RRR7      ;_uu_ 4       pVP!                  WH,          4       RRR4       \        P                  P                  W RV R24      pV! VW4       V	#   + '       g   i     L£; i  + '       g   i     LS; i)a  Creates a source tree under path for a trivial test package that has a
single requirement in setup_requires--a tarball for that requirement is
also created and added to the dependency_links argument.

``distname`` and ``version`` refer to the name/version of the package that
the test package requires via ``setup_requires``.  The name of the test
package itself is just 'test_pkg'.
r!   rŒ  r‰  r†  rÈ  z==r½  zname versionÚ;z: zg
            [metadata]
            {metadata}
            [options]
            {options}
            Ú
)ÚoptionsÚmetadatar‰   rh  r‡   r¦   rÝ   NzI            import setuptools
            setuptools.setup(**%r)
        r†   Ú-z.tar.gz)r   r]   r   ÚabspathÚupdater^   rÑ   Úpopr  Ú
isinstanceÚtuplerç  rÓ   r   ræ  rß   rà   )r   r¯  r‰  r³  Úsetup_py_templater²  rƒ  Únormalized_distnameÚtest_setup_attrsrŒ  r!  r"  r!   ÚvalueÚsectionÚtest_setup_cfg_contentsrã   Úfoobar_paths   &&&&&&&           r   rŽ  rŽ  «  s  € ô$ % XÓ.Ðà�
Ø�5ØÐ1Ð2°"°W°IÐ>Ð?ØœRŸW™WŸ_™_¨TÓ2Ð3ð	Ð÷ Ø×Ñ Ô,ä�w‰w�|‰|˜D *Ó-€HÜ‡H‚HˆXÔ÷ ØˆØˆÛ!ˆDØ$×(Ñ(¨Ó.ˆEØ�~×+Ñ+Ó-Ô-Ø"‘à!�Ü˜%¤%¬ ×/Ò/ØŸ™ ›�Ø�N‰N˜d˜V 2 e WÐ-Ö.ñ "ô #'ðó#
÷ ‰&Ø—I‘I˜gÓ&Ø—Y‘Y˜xÓ(ð ó 
ñ 	 ð #%ÐÜ	Œb�g‰g�l‰l˜8 [Ó1°3À×	IÕ	IÈQØ	�‰Ð'Ô(÷ 
Jð Ò Ü ðó
Ðô 
Œb�g‰g�l‰l˜8 ZÓ0°#À×	HÕ	HÈAØ	�‰Ð!Õ4Ô5÷ 
Iô —'‘'—,‘,˜tÐ'<¸A¸g¸YÀgÐ%NÓO€KÙ�˜hÔ0à€O÷# 
J×	Iú÷ 
I×	Hús   Å=H*ÇH=È*H:	È=I	Újavaz0Test cannot run under java when executable is shr³   c                   ó@   a € ] tR tRt o RtRtR tR tR tR t	Rt
V tR	# )
ÚTestScriptHeaderiø  u   /Users/JosÃ©/bin/pythonz$C:\Program Files\Python36\python.exec                óÞ   € R \         P                  ! \        P                  P	                  \
        P                  4      4       R2p\         P                  P                  R4      pW!8X  g   Q hR# )ú#!r   z#!/usr/local/bin/pythonN©	r:   Únt_quote_argr]   r   Únormpathr¼   rU  r@   Ú
get_header©r$   r  r  s   &  r   Útest_get_script_headerÚ'TestScriptHeader.test_get_script_header   sN   € ØœŸš¬¯©×(8Ñ(8¼¿¹Ó(HÓIÐJÈ"ÐMˆÜ—‘×+Ñ+Ð,EÓFˆØÔ!Ð!Ò!r   c                óÞ   € R \         P                  ! \        P                  P	                  \
        P                  4      4       R2p\         P                  P                  R4      pW!8X  g   Q hR# )r4  ú -x
z#!/usr/bin/python -xNr5  r9  s   &  r   Útest_get_script_header_argsÚ,TestScriptHeader.test_get_script_header_args  sN   € ØœŸš¬¯©×(8Ñ(8¼¿¹Ó(HÓIÐJÈ%ÐPˆÜ—‘×+Ñ+Ð,BÓCˆØÔ!Ð!Ò!r   c                óŒ   € \         P                  P                  R V P                  R7      pRV P                   R2pW8X  g   Q hR# )ú#!/usr/bin/python©rU  r4  r=  N)r:   r@   r8  Únon_ascii_exe©r$   r  r  s   &  r   Ú$test_get_script_header_non_ascii_exeÚ5TestScriptHeader.test_get_script_header_non_ascii_exe
  sI   € Ü—‘×+Ñ+Ø¨D×,>Ñ,>ð ,ó 
ˆð ˜×*Ñ*Ð+¨5Ð1ˆØÔ!Ð!Ò!r   c                ó¨   € \         P                  P                  R RV P                  ,           R,           R7      pRV P                   R2pW8X  g   Q hR# )rA  Ú"rB  ú#!"z"
N)r:   r@   r8  Úexe_with_spacesrD  s   &  r   Ú&test_get_script_header_exe_with_spacesÚ7TestScriptHeader.test_get_script_header_exe_with_spaces  sS   € Ü—‘×+Ñ+Ø¨C°$×2FÑ2FÕ,FÈÕ,Lð ,ó 
ˆð ˜×-Ñ-Ð.¨cÐ2ˆØÔ!Ð!Ò!r   r#   N)r-   r.   r/   r0   rC  rJ  r:  r>  rE  rK  r1   r2   r3   s   @r   r2  r2  ø  s*   ø‡ € ð
 .€MØ=€Oò"ò
"ò
"÷"ð "r   r2  c                   óÚ   a € ] tR tRt o R tR t]P                  ! R]P                  4      ]P                  P                  ]P                  4      R 4       4       tR tV 3R lR ltR	tV tR
# )ÚTestCommandSpeci  c                ód   € \         P                  ! RR.4      pVP                  4       R8X  g   Q hR# )z`
Show how a custom CommandSpec could be used to specify a #! executable
which takes parameters.
z/usr/bin/envÚpython3z#!/usr/bin/env python3
N)r:   r;   r>   ©r$   rg   s   & r   Útest_custom_launch_commandÚ*TestCommandSpec.test_custom_launch_command  s,   € ô
 �nŠn˜n¨iÐ8Ó9ˆØ�}‰}‹Ð"<Ô<Ð<Ò<r   c                ó€   € \         P                  ! R.4      p\         P                  P                  V4      pWJ g   Q hR# )z7
from_param should return an instance of a CommandSpec
ÚpythonN)r:   r;   Ú
from_param)r$   rg   Úcmd_news   &  r   Ú.test_from_param_for_CommandSpec_is_passthroughÚ>TestCommandSpec.test_from_param_for_CommandSpec_is_passthrough"  s2   € ô �nŠn˜h˜ZÓ(ˆÜ—.‘.×+Ñ+¨CÓ0ˆØ‹~ÐŠ~r   zsys.executablec                óô   € \         P                  P                  R R4       \        P                  P                  4       p\        V4      ^8X  g   Q hVP                  4       P                  R4      '       g   Q hR# )Ú__PYVENV_LAUNCHER__NrI  )	r]   r¢   r&  r:   r;   r=   r�  r>   rD   rQ  s   & r   Ú/test_from_environment_with_spaces_in_executableÚ?TestCommandSpec.test_from_environment_with_spaces_in_executable*  sV   € ô 	�
‰
�‰Ð,¨dÔ3Ü�n‰n×-Ñ-Ó/ˆÜ�3‹x˜1Œ}Ðˆ}Ø�}‰}‹×)Ñ)¨%×0Ò0Ð0Ò0r   c                ó–   € \         P                  P                  R4      p\        V4      ^8X  g   Q hRVP	                  4       9  g   Q hR# )zn
In order to support `executable = /usr/bin/env my-python`, make sure
from_param invokes shlex on that input.
z/usr/bin/env my-pythonrH  N)r:   r;   rV  r�  r>   rQ  s   & r   Ú"test_from_simple_string_uses_shlexÚ2TestCommandSpec.test_from_simple_string_uses_shlex2  s=   € ô
 �n‰n×'Ñ'Ð(@ÓAˆÜ�3‹x˜1Œ}Ðˆ}Ø˜#Ÿ-™-›/Ô)Ð)Ò)r   c                ó   <€ V ^8„  d   QhRR/# )r8   ÚreturnNr#   )ræ  r4   s   "€r   Ú__annotate__ÚTestCommandSpec.__annotate__;  s   ø€ ÷ ñ °tñ r   c                ó&  € \         P                  ! \        4      ;_uu_ 4       p\        P                  P                  \        4       4       RRR4       \        XP                  4      R8X  g   Q VP                  4       hR#   + '       g   i     L=; i)zS
from_param should raise its own TypeError when the argument's type is unsupported
Nz1Argument has an unsupported type <class 'object'>)	rl   rm   Ú	TypeErrorr:   r;   rV  ÚobjectrŒ   r,  )r$   Úexc_infos   & r   Ú%test_from_param_raises_expected_errorÚ5TestCommandSpec.test_from_param_raises_expected_error;  s_   € ô �]Š]œ9×%Ô%¨Ü�N‰N×%Ñ%¤f£hÔ/÷ &ô �—‘ÓÐ#VÔVð	à�>‰>ó	ÚV÷ &×%ús   £(B Â B	r#   N)r-   r.   r/   r0   rR  rX  r   r  r2  rJ  r  r]   r¢   r\  r_  ri  r1   r2   r3   s   @r   rN  rN    s_   ø‡ € ò=òð 
‡Z‚ZÐ Ð"2×"BÑ"BÓCØ	‡Z�Z‡_�_�R—Z‘ZÓ ñ1ó !ó Dð1ò*÷ö r   rN  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestWindowsScriptWriteriF  c                ó  € \         P                  P                  R 4      pVP                  R4      '       g   Q hVP	                  R4      '       g   Q hVP                  R4      pVP                  R4      pVP                  R4      '       d   Q hR# )r‰   r4  r   z\"N)r:   ÚWindowsScriptWriterr8  rD   ÚendswithÚlstripÚrstrip)r$   Úhdrs   & r   Útest_headerÚ#TestWindowsScriptWriter.test_headerG  sv   € Ü×$Ñ$×/Ñ/°Ó3ˆØ�~‰~˜d×#Ò#Ð#Ð#Ø�|‰|˜D×!Ò!Ð!Ð!Ø�j‰j˜ÓˆØ�j‰j˜Óˆà—>‘> %×(Ò(Ð(Ð(Ñ(r   r#   N)r-   r.   r/   r0   rs  r1   r2   r3   s   @r   rl  rl  F  s   ø‡ € ÷)ð )r   rl  c                   ó,   a € ] tR tRt o V 3R ltRtV tR# )ÚVersionStubiQ  c                óV   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[ ;R&   # )r8   rä  rå  ÚmicroÚreleaselevelÚserial)r  rŒ   )ræ  r4   s   "€r   rc  ÚVersionStub.__annotate__Q  s>   ø‡ ‚ Ù�Jñ á�Jñ ñ �Jñ ñ Ññ	 ñ
 �Kò r   r#   N)r-   r.   r/   r0   Ú__annotate_func__r1   r2   r3   s   @r   rv  rv  Q  s   ø‡ ‡ „ r   rv  c                 ó~  € \        4       pVP                  R 4      pR.Vn        ^ Vn        RVn        \        V 4      Vn        RVn        VP                  R4      p\        V 4      Vn        RVn        VP                  4       ;_uu_ 4       p\        P                  ! 4       ;_uu_ 4        \        P                  ! R4       Rp\        ^^
^R^ 4      pVP                  RR4       VP                  R	V4       VP                  R
V4       VP                  VR\        P                  ! 4       4       VP!                  4        RRR4       RRR4       \#        \$        R4      '       d   RMRp	VP&                  P)                  4       p
\*        P,                  ! V	R,           V
4      '       d'   \*        P,                  ! V	R,           V
4      '       g   Q hVP.                  R,          R8X  g   Q hVP.                  R,          R8X  g   Q hVP.                  R,          R8X  g   Q hR#   + '       g   i     Læ; i  + '       g   i     Lñ; i)rY   rW   TNrF  Úignorez:3.10.1 (main, Dec 21 2021, 09:17:12) [GCC 10.2.1 20210110]Úfinalrè   zsys.versionzsys.version_infoÚcreate_home_pathÚpypy_version_infoÚpypyrU  z3\.?1z3\.?1\dÚ
py_versionz3.10.1Úpy_version_shortz3.10Úpy_version_nodotÚ310)r   Úget_command_objrJ   Úoptimizerô   rŒ   Úinstall_userbaseÚinstall_usersiteÚcontextÚwarningsÚcatch_warningsÚsimplefilterrv  r|   r   r(  Úfinalize_optionsÚhasattrr¼   ra   ÚlowerrE   rF   Úconfig_vars)r�   Ú
tmpdir_cwdr   rI   rg   Úinstall_cmdr  r‰  r  r!   ra   s   &&&        r   Ú&test_use_correct_python_version_stringr•  Y  s»  € ô ‹>€DØ
×
Ñ
˜~Ó
.€CØˆv€C„HØ€C„LØ€C„HÜ˜v›;€CÔØ€CÔØ×&Ñ& yÓ1€KÜ#& v£;€KÔ Ø#'€KÔ à	×	Ñ	×	Ô	 %¬×)@Ò)@×)BÕ)BÜ×Ò˜hÔ'ØNˆÜ˜1˜b ! W¨aÓ0ˆØ�‰Ð-¨tÔ4Ø�‰�m WÔ-Ø�‰Ð(¨$Ô/Ø�‰�cÐ-¬t¯yªy«{Ô;Ø×ÑÔ÷ *C×	ô œSÐ"5×6Ò6‰6¸H€DØ—/‘/×'Ñ'Ó)€Kô 
‡y‚y�˜• +×.Ò.Ü�yŠy˜ 
Õ*¨K×8Ò8Ð8Ð8ð
 �?‰?˜<Õ(¨HÔ4Ð4Ð4Ø�?‰?Ð-Õ.°&Ô8Ð8Ð8Ø�?‰?Ð-Õ.°%Ô7Ð7Ò7÷9 *C×)Bú×	×	ús%   Â	H,Â'BH	Ä;H,ÈH)È$H,È,H<	ÚdarwinzDhttps://github.com/pypa/setuptools/pull/4716#issuecomment-2447624418c                ó¬  € VP                  RR4       VP                  R\        VR,          4      4       VP                  R\        VR,          4      4       VP                  R\        VR,          4      4       VP                  RR4       VP                  R	R4       \        \        P
                  ! 4       4      pVP                  R
R
R7       VR,          pVP                  R
R
R7       VP                  R\        V4      4       RpVR,          P                  VRR7       \        VP                  R4      4      . 8X  g   Q h\        VP                  R4      4      . 8X  g   Q h\        RRR.4       \        VP                  R4      4      . 8X  g   Q hVP                  R4       Uu0 uF  qfP                  kK  	  ppVR0,
          pVR08X  g   Q hR# u upi )zC`setup.py develop` should honor `--user` even under build isolationrè   FÚHOMEz.homeÚUSERPROFILEÚAPPDATAzsite.USER_BASENzsite.USER_SITET)ÚparentsrE  z.sys_prefixz
sys.prefixzF__import__('setuptools').setup(name='aproj', version=42, packages=[])
r†   r¦   rÝ   Ú*Údevelopz--userzeasy-install.pthzaproj.egg-link)r|   r   rŒ   r   r}   ÚgetusersitepackagesrÑ   ri  rç  Úglobr   r!   )rä   r   r`  Ú	user_siteÚ
sys_prefixÚsetup_scriptrã   Ú	installeds   &&&     r   Ú&test_editable_user_and_build_isolationr¤  ‡  s¯  € ð ×ÑÐ/°Ô7ð( ×Ñ�vœs 8¨gÕ#5Ó6Ô7Ø×Ñ�}¤c¨(°WÕ*<Ó&=Ô>Ø×Ñ�y¤# h°Õ&8Ó"9Ô:Ø×ÑÐ(¨$Ô/Ø×ÑÐ(¨$Ô/Ü”T×-Ò-Ó/Ó0€IØ‡O�O˜D¨4€OÔ0à˜MÕ)€JØ×Ñ˜T¨DÐÔ1Ø×Ñ˜¤c¨*£oÔ6ð 	Rð ð �
Õ×&Ñ& |¸gÐ&ÔFô �
—‘ Ó$Ó%¨Ô+Ð+Ð+Ü�	—‘˜sÓ#Ó$¨Ô*Ð*Ð*ô ˆj˜9 hÐ/Ô0ô �
—‘ Ó$Ó%¨Ô+Ð+Ð+à!*§¡°Ô!4Ó5Ñ!4˜A—”Ñ!4€IÐ5àÐ/Ð0Õ0€IØÐ)Ð*Ô*Ð*Ò*ùò 6s   Æ%Gr#   )UÚ__doc__r+  r  rB   rü   r]   rÒ  rE   r}   rW  r¼   r   r_   r  rŒ  rŠ   r   Útypingr   Úunittestr   rl   Újaracor   rÉ   r  r  rY   r:   r   rÄ   r   r	   Ú
setuptoolsr
   Úsetuptools._normalizationr   r   Úsetuptools.distÚsetuptools.sandboxr   Úsetuptools.testsr   Úsetuptools.tests.serverr   r   r‰   r   Útextwrapr   Údistutils.errorsrn   r¹   r   r   rá   r6   rº   Úfilterwarningsr¿   rä   Úusefixturesrç   r3  r5  r@  rB  ro  rÉ  rŸ  râ  r¯   rŽ  r»   r½   rD   Úis_shrU  r2  rN  rl  rv  r•  r_  r¤  r#   r   r   Ú<module>r´     s–  ðÙ ã Û 	Û Û Û 	Û Û 	Û Û Û 
Û Û Û Û Û Ý Ý Ý ã Ý ã ß ,Ð ,ß UÑ UÝ Ý 0Ý <Ý (Ý (Ý *ß ;å Ý ã ð ‡‚˜Ôñ/ó ð/÷ñ ñ ðó€÷\2ñ \2ð~ ‡�×ÑÐ0Ó1÷A
ð A
ó 2ðA
ðH ‡�ñó ðð ‡�×Ñ˜Ó)Ø‡�×Ñ˜Ó)÷X
ð X
ó *ó *ðX
ðv ‡�ñó ðð ‡�×ÑÐ,Ó-÷-ð -ó .ð-ð
 ‡�ñó ð÷D"ñ D"÷NL4ñ L4ò^ò4!!òHò08ð& ØØ#ØØØôJðZ ‡�×ÑØ‡L�L×Ñ˜FÓ#×@Ð@¨¯ª°·±Ó(@Ø=ð ó ÷"ð "ó	ð"÷:*ñ *÷Z)ñ )ô�*ô ò+8ð\ ‡�×ÑØ‡L�L�HÑØQð ó ñ9+ó	ò9+r   