+
    hw                       ^ RI H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Ht ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t) ^ RI*H+t+ ^ RI,H-t- ^ RI.H/t/ ^RI0H1t1H2t2 ^ RI3H4t4 ]Pj                  ! RR.R7      R 4       t6R]! R4      R]! R4      Po                  4       RRRRRRR ]! R!4      R"]! R#4      R$R%R&R'///t8R(t9]Pt                  Pw                  ]P                  R)8H  R*R+7      ]Pt                  Py                  R,/ ]8CR-]9/C]8.4      R. 4       4       t=R/ t>R0 t? ! R1 R24      t@ ! R3 R44      tAR5 tB ! R6 R74      tCR8 tD ! R9 R:4      tE ! R; R<4      tF]Pt                  P                  R=4      R> 4       tHR? tI ! R@ RA4      tJ ! RB RC4      tK ! RD RE4      tLRF tM]Pt                  P                  RG4      RH 4       tNRI tORJ tPRK tQRL RM ltRRN RO ltSR# )P    )annotationsN)deepcopy)import_module)EXTENSION_SUFFIXES)Path)dedent)Any)Mock)uuid4)	resources)	_DebuggingTips_encode_pth_find_namespaces_find_package_roots_find_virtual_namespaces_finder_template	_LinkTree_TopLevelFindereditable_wheel)Distribution)	Extension)SetuptoolsDeprecationWarning)contexts
namespaces)	run_setupstrictlenient)paramsc                0    V P                   R 8X  d   RR.# . # )r   --config-settingseditable-mode=strict)param)requests   &H/usr/lib/python3/dist-packages/setuptools/tests/test_editable_install.pyeditable_optsr%   +   s    }} #%;<<I    pyproject.tomla          [build-system]
        requires = ["setuptools"]
        build-backend = "setuptools.build_meta"

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

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

        [tool.setuptools.dynamic]
        readme = {file = "README.rst"}

        [tool.distutils.egg_info]
        tag-build = ".post0"
        MANIFEST.inzr        global-include *.py *.txt
        global-exclude *.py[cod]
        prune dist
        prune build
        z
README.rstzThis is a ``README``zLICENSE.txtz!---- placeholder MIT license ----srcmypkg__init__.pya                  import sys
                from importlib.metadata import PackageNotFoundError, version

                try:
                    __version__ = version(__name__)
                except PackageNotFoundError:
                    __version__ = "unknown"
                z__main__.pya                  from importlib.resources import read_text
                from . import __version__, __name__ as parent
                from .mod import x

                data = read_text(parent, "data.txt")
                print(__version__, data, x)
                mod.pyzx = ''zdata.txtzHello Worldz __import__('setuptools').setup()darwinpypa/setuptools#4328reasonfilessetup.pyc           	        V R ,          pVP                  4        \        P                  P                  W$R7       RRRRRR\	        V4      .VOp\        VP                  V4      4       . ROpVP                  V4      P                  4       R8X  g   Q hVR	,          P                  R
RR7       VR,          P                  RRR7       VP                  V4      P                  4       R8X  g   Q hR# )r*   prefixpython-mpipinstall--no-build-isolation-ez3.14159.post0 Hello Worldzsrc/mypkg/data.txtfoobarutf-8encodingzsrc/mypkg/mod.pyx = 42z3.14159.post0 foobar 42N)r6   r7   r*   )	mkdirjaracopathbuildstrprintrunstrip
write_text)tmp_pathvenvr1   r%   projectcmds   &&&&  r$   test_editable_with_pyprojectrN   |   s      GMMO
KKe, 	G	 
	C 
$((3-
#C88C= $????##//7/K!!--h-I88C= $====r&   c           	     2   R R\        R4      RRR/RR//p\        P                  P                  W0R7       V R ,          pR	R
RRRR\	        V4      .VOp\        VP                  V4      4       . ROpVP                  V4      P                  4       R8X  g   Q hR# )r*   r'   ac                  [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"

                [project]
                name = "mypkg"
                version = "3.14159"

                [tool.setuptools]
                packages = ["pkg"]
                py-modules = ["mod"]
                pkgr+   za = 4r,   b = 2r4   r6   r7   r8   r9   r:   r;   z4 2N)r6   -cz$import pkg, mod; print(pkg.a, mod.b)r   rB   rC   rD   rE   rF   rG   rH   rJ   rK   r%   r1   rL   rM   s   &&&   r$   test_editable_with_flat_layoutrU      s    f M7+g#
E* KKe- G 	G	 
	C 
$((3-
BC88C= E)))r&   c           	     *   R R\        R4      RR//p\        P                  P                  W0R7       V R ,          pRRRR	R
R\	        V4      .VOp\        VP                  V4      4       . ROpVP                  V4      P                  4       R8X  g   Q hR# )r*   r'   a>                  [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"

                [project]
                name = "mod"
                version = "3.14159"

                [tool.setuptools]
                py-modules = ["mod"]
                r,   rQ   r4   r6   r7   r8   r9   r:   r;   2N)r6   rR   zimport mod; print(mod.b)rS   rT   s   &&&   r$    test_editable_with_single_modulerX      s    f g
E& KKe- G 	G	 
	C 
$((3-
6C88C= C'''r&   c                      ] tR t^tR t]P                  P                  RR4      ]P                  P                  RR4      R 4       4       tRt	R# )	TestLegacyNamespacesc           
     	   \         P                  ! \        R R7      pVR,          pVP                  4        RpV F  p\        P
                  ! WRR7      pT;_uu_ 4        VP                  4       ;_uu_ 4       pVP                  V4       \        RRR7      p	\        V	4      p
V
P                  4        V
P                  R4      P                  pV
P                  WK4       R	R	R	4       R	R	R	4       K  	  \        VP                  R
4      4      p\!        V4      \!        V4      8X  g   Q hR	#   + '       g   i     LS; i  + '       g   i     EK  ; i)z .*namespace_packages parameter.*matchz.installation_dir42)versionr2   config)
stop_after	dist_infoNz*-nspkg.pth)z	myns.pkgAz	myns.pkgBmyns.n.pkgAmyns.n.pkgB)pytestwarnsr   rA   r   build_namespace_packagecontextchdirr   r   finalize_optionsget_finalized_commandname_install_namespaceslistgloblen)selfrJ   monkeypatchdeprecationinstallation_direxamplesrl   rP   ctxdistrM   editable_namer1   s   &&&          r$   test_nspkg_file_is_unique.TestLegacyNamespaces.test_nspkg_file_is_unique   s   ll(0R
 $&99 
 D44XTRCk1133s		# A$T*$$& # 9 9+ F K K''(8H 4  %**=9:5zS]*** 43s%   D<8A&D)D<)D94D<<Eimplnsc           
        Rp\         P                  ! W# R2VR7      p\         P                  ! W# R2VR7      pVR,          P                  VRR7       VR,          P                  VRR7       VR,          p	V	P                  R	4       VP	                  R
RRR\        V4      .V	O4       VP	                  R
RRRR\        V4      .V	O4       VP	                  R
RRV RV R2.4       VP	                  . RO4       R# )a  
Installing two packages sharing the same namespace, one installed
naturally using pip or `--single-version-externally-managed`
and the other installed in editable mode should leave the namespace
intact and both packages reachable by import.
(Ported from test_develop).
zq        [build-system]
        requires = ["setuptools"]
        build-backend = "setuptools.build_meta"
        z.pkgA)r{   z.pkgBr'   r=   r>   NNNr:   r6   r7   r8   r9   r;   rR   zimport z.pkgA; import N)r6   rR   zimport pkg_resources)r   rg   rI   appendrG   rE   )
rq   rK   rJ   r|   r{   r%   build_systempkg_Apkg_Boptss
   &&&&&&    r$   !test_namespace_package_importable6TestLegacyNamespaces.test_namespace_package_importable  s    $
 228t5\PTU228t5\PTU	!	!--lW-M	!	!--lW-MQ*+(D%CJFFG(D%D#e*LtLM(DGB4~bT"GHI9:r&    N)pkg_resources)zmyns.n)
__name__
__module____qualname____firstlineno__ry   re   markparametrizer   __static_attributes__r   r&   r$   rZ   rZ      sM    +4 [[	
 [[T;/; 0;r&   rZ   c                  (    ] tR tRtR tR tR tRtR# )TestPep420Namespacesi-  c           
     B   \         P                  ! VR4      p\         P                  ! VR4      pVR,          pVP                  R4       VP                  RRRR\	        V4      .VO4       VP                  RRRRR	\	        V4      .VO4       VP                  . RO4       R
# )z
Installing two packages sharing the same namespace, one installed
normally using pip and the other installed in editable mode
should allow importing both packages.
rc   rd   r~   r:   r6   r7   r8   r9   r;   N)r6   rR   z&import myns.n.pkgA; import myns.n.pkgB)r   build_pep420_namespace_packager   rG   rE   )rq   rK   rJ   r%   r   r   r   s   &&&&   r$   r   6TestPep420Namespaces.test_namespace_package_importable.  s     99(MR99(MRQ*+(D%CJFFG(D%D#e*LtLMKLr&   c           
        RR\        R4      RRR///p\        P                  P                  WBR7       VR,          p\        P
                  ! VR4      p\        P
                  ! VR	4      pVR
,          pVP                  R4       VP                  RRRR\        V4      .VO4       VP                  RRRRR\        V4      .VO4       VP                  RRRRR\        V4      .VO4       VP                  . RO4       R# )z@Currently users can create a namespace by tweaking `package_dir`pkgAr'   at                      [build-system]
                    requires = ["setuptools", "wheel"]
                    build-backend = "setuptools.build_meta"

                    [project]
                    name = "pkgA"
                    version = "3.14159"

                    [tool.setuptools]
                    package-dir = {"myns.n.pkgA" = "src"}
                    r)   r+   a = 1r4   rd   zmyns.n.pkgCr~   r:   r6   r7   r8   r9   r;   N)r6   rR   z#from myns.n import pkgA, pkgB, pkgC)	r   rB   rC   rD   r   r   r   rG   rE   )	rq   rK   rJ   r%   r1   r   r   pkg_Cr   s	   &&&&     r$   &test_namespace_created_via_package_dir;TestPep420Namespaces.test_namespace_created_via_package_dir=  s      &# w/
& 	%16!99(MR99(MR Q*+(D%CJFFG(D%D#e*LtLM(D%D#e*LtLMHIr&   c                   RR\        R4      RRRRRR	RRR
R//R\        R,          //p\        P                  P	                  W2R7       VR,          pR.pVP                  RRRRRR\        V4      .VO4       VP                  . RO4      pVP                  4       R8X  g   Q hRpVP                  RR\        V4      .4      pRV9   g   Q hR# )a  Sometimes users might specify an ``include`` pattern that ignores parent
packages. In a normal installation this would ignore all modules inside the
parent packages, and make them namespaces (reported in issue #3504),
so the editable mode should preserve this behaviour.
r   r'   ar                      [build-system]
                    requires = ["setuptools", "wheel"]
                    build-backend = "setuptools.build_meta"

                    [project]
                    name = "pkgA"
                    version = "3.14159"

                    [tool.setuptools]
                    packages.find.include = ["mypkg.*"]
                    r*   r+    zother.pyzb = 1nzpkgA.pyr   r(   r4   r:   r6   r7   r8   -vr9   r;   rR   1z}        try:
            import mypkg.other
        except ImportError:
            print("mypkg.other not defined")
        zmypkg.other not definedN)r6   rR   z'from mypkg.n import pkgA; print(pkgA.a))r   EXAMPLErB   rC   rD   rG   rE   rH   )rq   rK   rJ   r1   r   r   outrM   s   &&&     r$   0test_namespace_accidental_config_in_lenient_modeETestPep420Namespaces.test_namespace_accidental_config_in_lenient_mode_  s      &# !2%r!7 w}5/
6 	%16! ''(D%y$E
RTRShhRSyy{c!!! hh$s45(C///r&   r   N)r   r   r   r   r   r   r   r   r   r&   r$   r   r   -  s    M JD00r&   r   c           
        V R,          p\         P                   Uu. uFb  pRV9   g   K  VP                  \         P                  4      '       g   K3  V\	        V4      P                  \         P                  4      ,          NKd  	  ppV F  pVP                  RR7       K  	  \        V4       \        \        P                  \        P                  P                  \        \        V4      4      R7      p\         P                  RRRR	\        V4      R
\        V4      R.	VOp\         P"                  ! WR7       \$        P&                  ! 4       R8X  d   RMRp	W9,          R,          p
\         P"                  ! V
.VR7       R# u upi )z6
Editable install to a prefix should be discoverable.
r5   zsite-packagesT)parents)
PYTHONPATHr7   r8   r9   z
--editablez--prefixr:   )envWindowsScriptsbinsampleN)sysrC   
startswithr5   r   relative_torA   _addsitedirsdictosenvironpathsepjoinmaprE   
executable
subprocess
check_callplatformsystem)rJ   sample_projectr%   r5   rC   site_packages_allspr   rM   r   exes   &&&        r$   test_editable_with_prefixr     s;     F
 HHDd" 	4'+szz'B 	4d''

333    
   "#
rzzbjjooc#?P6Q&R
SCNF 
C #'  (I5)5C
,
!C3%S)=s   	E>"E>3E>c                  \    ] tR tRtRtR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtR# )TestFinderTemplatei  This test focus in getting a particular implementation detail right.
If at some point in time the implementation is changed for something different,
this test can be modified or even excluded.
c                	>    / p\        WV4       VR ,          ! 4        R# )r9   N)exec)rq   finderlocs   && r$   install_finder!TestFinderTemplate.install_finder  s    V#Ir&   c           	     	,   R RRRRRR///RRR	//p\         P                  P                  W!R
7       R\        VR,          4      R\        VR,          4      /p\	        \        \        4       4      V/ 4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        R F#  p\        P                  P                  VR4       K%  	  V P                  V4       \        R4      p\        R4      p\        R4      pVP                  ^*8X  g   Q hVP                  ^+8X  g   Q h\        VR,          P                  4       4      p	\!        W4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)src1pkg1r+   r   subpkgmod1.pyza = 42src2mod2.pyza = 43r4   z	src1/pkg1mod2z	src2/mod2pkg1.subpkgpkg1.subpkg.mod1Nzsrc1/pkg1/subpkg)r   r   r   r   )rB   rC   rD   rE   r   r   r   
save_pathssave_sys_modulesr   modulespopr   r   aresolveassert_path)
rq   rJ   r1   mappingtemplatemodmod1r   r   expecteds
   &&        r$   test_packages TestFinderTemplate.test_packages  sO   !2y(3 Y)
 	%1 C;./C;./
 $CL'2>  ""H$=$=$?$?JT* K ) !34D (D"=1F66R<<66R<<H'99BBDEH) %@""$?$?"""s%   F0B-E/	F/E?:FF	c           	     	   R RRRR//p\         P                  P                  W!R7       R\        VR ,          4      /pR. /p\	        \        \        4       4      W44      p\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        R F#  p\        P                  P                  VR4       K%  	  V P                  V4       \        R4      p\        P                  ! V4      R,          p\        VR ,          P!                  4       4      p	\#        Wy4       VP$                  ^8X  g   Q hVP'                  R	R
7      R8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)rP   r+   a = 13ztext.txtabcr4   ns.othernamer|   Nr=   r>   r|   r   )rB   rC   rD   rE   r   r   r   r   r   r   r   r   r   r   importlib_resourcesr1   r   r   r   	read_text)
rq   rJ   r1   r   r   r   r   rP   textr   s
   &&        r$   test_namespace!TestFinderTemplate.test_namespace  s)   *eDE%1!3x%'7#89BZ
#CL'F  ""H$=$=$?$?-T* . )/C&,,S1J>DHu,5578H&55B;; >>7>3u<<< %@""$?$?"""s%   ;E9B:E&	E9&E61E99F
	c           	     	b   R RRRR///RRRR///p\         P                  P                  W!R7       R	\        VR
,          4      R\        VR,          4      /pR\        VR ,          4      \        VR,          4      ./p\	        \        \        4       4      W44      p\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        R F#  p\        P                  P                  VR4       K%  	  V P                  V4       \        R	4      p\        R4      p\        VR
,          P                  4       4      p	\        Wy4       VP                   ^8X  g   Q hVP"                  ^%8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   r|   r   r+   r   r   r   b = 37r4   ns.pkgAzsrc1/ns/pkg1zsrc2/nsns.mod2N)r|   r   r   )rB   rC   rD   rE   r   r   r   r   r   r   r   r   r   r   r   r   r   b)
rq   rJ   r1   r   namespaces_r   r   r   r   r   s
   &&        r$   test_combine_namespaces*TestFinderTemplate.test_combine_namespaces  s[   TF]H$=>?TIx01
 	%1 s8n45#h*+
 c(V"34c(V:K6LMN#CL'G  ""H$=$=$?$?3T* 4 ) +D +DH~5>>@AH'66R<<66R<< %@""$?$?"""s%   7FB"F
	8F
FFF.	c           	        RRRR//RRRR///p\         P                  P                  4       pVP                  V4      ;_uu_ 4        \         P                  P	                  V4       R	R
RRRRR/RRR./p\        V4      p\        V\        \        4       4      4      p\        R VP                  4        4       4      pRRR4       \        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        XR,           F#  p\        P                  P!                  VR4       K%  	  V P#                  X4       \%        R4      p	\%        R4      p
\        VR,          P'                  4       4      p\        \)        V	P*                  4      P'                  4       4      V8X  g   Q h\        VR,          P'                  4       4      p\        \)        V
P*                  4      P'                  4       4      V8X  g   Q hV	P,                  ^8X  g   Q hV
P.                  ^%8X  g   Q h RRR4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L.; i  + '       g   i     R# ; i)zw
Users may attempt to combine namespace packages in a nested way via
``package_dir`` as shown in pypa/setuptools#4248.
r)   
my_packagezmy_module.pyr   r   my_package2zmy_module2.pyr   script_name	%PEP 517%package_dirdifferent_namezsrc/my_packagezdifferent_name.subpkgzsrc2/my_package2packagesc              3  \   "   T F"  w  rVP                  R 4      '       g   K  Vx  K$  	  R# 5i)z.pyNendswith).0kvs   &  r$   	<genexpr>DTestFinderTemplate.test_combine_namespaces_nested.<locals>.<genexpr>/  s"     W&AdaQZZPUEV&As   ,
,Nzdifferent_name.my_modulez different_name.subpkg.my_module2zsrc/my_package/my_module.pyzsrc2/my_package2/my_module2.py)rB   rC   DirectoryStackrh   rD   r   r   rE   r   nextget_implementationr   r   r   r   r   r   r   r   r   r   __file__r   r   )rq   rJ   r1   stackattrsrw   r   coder   r   r   r   s   &&          r$   test_combine_namespaces_nested1TestFinderTemplate.test_combine_namespaces_nested  s    L>8"<=]_h$?@

 **,]]8$$KKe${$&6+-?  -/FGE  &D$T3uw<8FWf&?&?&AWWD %   ""H$=$=$?$?Z((T* ) % !;<D !CDDH'DDMMOPHtDMM*2245AAAH'GGPPRSHtDMM*2245AAA66R<<66R<< %@"" %$$ %@$?"""s2   A6H6!I?D$I
	$I6I	
III.	c                	   R RRRR///RRRRR///RRRR	R
////p\         P                  P                  W!R7       / pR\        VR,          4      ./p\	        \        \        4       4      W44      pR R 4       p\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        . ROVO F#  p\        P                  P                  VR4       K%  	  V P                  V4       \        R4      pVP                  ^8X  g   Q h\        P                   ! \"        4      ;_uu_ 4        \        R4       RRR4       \        P                  P%                  \        VR,          4      4       \        R4      p	V	P                  ^8X  g   Q h\        P                   ! \"        4      ;_uu_ 4        \        R4       RRR4       \        P                  P%                  \        VR,          4      4       \        R4      p
V
P                  ^8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L@; i  + '       g   i     R# ; i)project1parentchildzone.pyx = 1project2ztwo.pyx = 2project3zthree.pyzx = 3r4   zproject1/parentc              3  ,   "   T F
  pR V 2x  K  	  R# 5i)zparent.child.Nr   )r   rl   s   & r$   r   CTestFinderTemplate.test_dynamic_path_computation.<locals>.<genexpr>N  s     K3J4-v&3Js   Nzparent.child.onezparent.child.twozparent.child.three)onetwothree)r  parent.childr  )rB   rC   rD   rE   r   r   r   r   r   r   r   r   r   r   xre   raisesImportErrorr   )rq   rJ   r1   r   r   r   modsr   r  r  r  s   &&         r$   test_dynamic_path_computation0TestFinderTemplate.test_dynamic_path_computationB  s    Gh-@#ABGh-@#ABGj'-B#CD

 	%1#h1B&B"C!DE#CL'GK3JK  ""H$=$=$?$?H4HT* I ) 23C55A::{++01 , HHOOC: 567 23C55A::{++23 , HHOOC: 567!"67E77a<<+ %@"" ,+ ,+! %@$?"""sW   I"3A?I	2H)>A7I	5H<AI	I")H94I	<II	II""I3	c                	   R RR//p\         P                  P                  W!R7       R \        VR ,          4      /p\	        \        \        4       4      V/ 4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        \        P                  P                  R R4       V P                  V4       \        P                  ! \        R R7      ;_uu_ 4        \!        R 4       RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)rP   r+   zfrom . import pkgr4   Nr\   rB   rC   rD   rE   r   r   r   r   r   r   r   r   r   re   r  r  r   rq   rJ   r1   r   r   s   &&   r$   test_no_recursion$TestFinderTemplate.test_no_recursionf  s     2

 	%1 3x%'(
 $CL'2>  ""H$=$=$?$?KKOOE4(){%88e$ 9	 %@"" 98	 %@$?"""s=   6D6AD#	*D6D#	>D6D D#	#D3.D66E	c                	   R RRRRR///p\         P                  P                  W!R7       R \        VR ,          4      /p\	        \        \        4       4      V/ 4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        \        P                  P                  R R4       \        P                  P                  RR4       V P                  V4       \        P                  ! \        RR7      ;_uu_ 4        \!        R4       RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)	foor+   r   barr4   Nzfoo.barr<   r\   r   r!  s   &&   r$   test_similar_name$TestFinderTemplate.test_similar_name{  s    r!2
 	%1 3x%'(
 $CL'2>  ""H$=$=$?$?KKOOE4(KKOOIt,){(;;h' < %@""
 <; %@$?"""s=   :EA6E	D4E	"E4E?E	EEE+	c                	z   R RRRRRRRRR///p\         P                  P                  W!R7       R \        VR ,          4      /p\	        \        \        4       4      V/ 4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        \        P                  P                  R R4       V P                  V4       \        P                  ! \        R	R
7      ;_uu_ 4        \!        R4       RRR4       \        P                  ! \        RR
7      ;_uu_ 4        \!        R4       RRR4       \        P                  ! \        RR
7      ;_uu_ 4        \!        R4       RRR4       \        P                  ! \        RR
7      ;_uu_ 4        \!        R4       RRR4       \        P                  ! \        R	R
7      ;_uu_ 4        \!        R4       RRR4       \!        R4      pVP"                  ^8X  g   Q h\!        R4      pVP"                  ^8X  g   Q h RRR4       RRR4       R#   + '       g   i     EL@; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L{; i  + '       g   i     R# ; i)r%  r+   r   zlowercase.pyr  r&  r  r4   Nz'FOO'r\   FOOz'foo\.LOWERCASE'zfoo.LOWERCASEz'foo\.bar\.Lowercase'zfoo.bar.Lowercasez
'foo\.BAR'zfoo.BAR.lowercasezFOO.bar.lowercasezfoo.lowercasezfoo.bar.lowercase)rB   rC   rD   rE   r   r   r   r   r   r   r   r   r   re   r  r  r   r  )rq   rJ   r1   r   r   r   s   &&    r$   test_case_sensitivity(TestFinderTemplate.test_case_sensitivity  s   r!2"G	
 	%13x%'(
 $CL'2>  ""H$=$=$?$?KKOOE4(){'::e$ ; {2EFFo. G {2KLL12 M {-@@12 A {'::12 ;  0C55A:: 34C55A::/ %@"" ;:: GFF ML A@ ;:! %@$?"""s   >J)AJ	2H5>,J	*I	6,J	"I.,J	I0&,J	JAJ	#J)5I 	J		I	J	I-(J	0J ;J	JJ	J&!J))J:	c                	   R RRRRRRR///p\         P                  P                  W!R7       R\        VR ,          4      /pR	. /p\	        \        \        4       4      W44      p\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        R F#  p\        P                  P                  VR
4       K%  	  V P                  V4       \        R4      p\        VR ,          P                  4       4      p\        Wx4       VP                   ^8X  g   Q h\        R4      p	V	P"                  ^%8X  g   Q h\        R4      p
V
P$                  ^*8X  g   Q h\&        P(                  ! \*        RR7      ;_uu_ 4        \        R4       R
R
R
4       \&        P(                  ! \*        RR7      ;_uu_ 4        \        R4       R
R
R
4       \&        P(                  ! \*        RR7      ;_uu_ 4        \        R4       R
R
R
4       R
R
R
4       R
R
R
4       R
#   + '       g   i     L; i  + '       g   i     Lm; i  + '       g   i     LH; i  + '       g   i     LS; i  + '       g   i     R
# ; i)rP   r+   r   r%  r   zbar.pyzc = 42r4   r   r|   Nzns.othername.foozns.othername.foo.barz'NS'r\   zNS.othername.fooz'ns\.othername\.FOO\'zns.othername.FOOz'ns\.othername\.foo\.BAR\'zns.othername.foo.BARr   )rB   rC   rD   rE   r   r   r   r   r   r   r   r   r   r   r   r   r   r   cre   r  r  )rq   rJ   r1   r   r   r   r   rP   r   r%  r&  s   &&         r$   test_namespace_case_sensitivity2TestFinderTemplate.test_namespace_case_sensitivity  s   x!8h
 	%1!3x%'7#89BZ
#CL'F  ""H$=$=$?$?-T* . )/CHu,5578H&55B;; 23C55B;; 67C55B;;{&9901 : {2LMM01 N {2RSS45 T- %@""  :9 NM TS- %@$?"""sm   ?I#C$I	H,I	9H*,I	1H==I	I#H'"I	*H:5I	=II	I I##I4	c                .   RRRRRRRRR	RR
////p\         P                  P                  W!R7       R\        VR,          4      /p\	        \        \        4       4      V/ 4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        R F#  p\        P                  P                  VR4       K%  	  V P                  V4       \        R4      pVP                  ^%8X  g   Q h\        R4      pVP                  ^8X  g   Q h\         P"                  ! \$        4      ;_uu_ 4        \        R4       RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)zp
The finder should not import ``fullname`` if the intermediate segments
don't exist (see pypa/setuptools#4019).
r)   r*   r+   r   z	config.pyr   zhelloworld.pyzb = 13
componentsza = 37r4   z	src/mypkgmypkg.helloworldmypkg.components.configmypkg.components.helloworldN)r*   zmypkg.configr3  zmypkg.componentsr4  r5  )rB   rC   rD   rE   r   r   r   r   r   r   r   r   r   r   r   r   re   r  r  )rq   rJ   r1   r   r   r   r`   
helloworlds   &&      r$   test_intermediate_packages-TestFinderTemplate.test_intermediate_packages  sA    !2#X #X#		
 	%1C; 678#CL'2>  ""H$=$=$?$? T* )"#<=F88r>!>&'9:J<<2%%%{++;< ,' %@""& ,+' %@$?"""s=    FBE0	7EE0	FE-(E0	0F ;FF	r   N)r   r   r   r   __doc__r   r   r   r   r	  r  r"  r'  r+  r/  r7  r   r   r&   r$   r   r     sC    

*@=. 6) V" H%*(0'R'6R*=r&   r   c                :   RRRR/RR/RRRRRR	//R
RRRR///RRR/RRR/RRR//p\         P                  P                  WR7       RRRRRR/p. ROp\        W2V 4      pVR\	        V R,          4      R\	        V R,          4      R\	        V R,          4      R\	        V R,          4      R
\	        V R
,          4      R\	        V R,          4      /8X  g   Q h\        \        \        W44      4      4      pVR
R08X  g   Q h\        \        V4      4      pV0 Rm8X  g   Q hR# )r   r   r   r+   zab = 1r   dzd = 1ezde = 1fghzfgh = 1otherzabc = 1anotherz
abcxyz = 1yet_anotherz	mnopq = 1r4   a.b.ca.b.c.x.y.z	m.n.o.p.qf.gN)r   a.brC  	a.b.c.x.yrD  r;  zd.er=  rF  zf.g.hrE  >   mrG  m.nm.n.oa.b.c.xm.n.o.prH  )	rB   rC   rD   r   rE   setr   r   r   )rJ   r1   r   r   rootsr|   s   &     r$   test_pkg_rootsrP    s[    	cM8,mWEmWcM8+DEcC-345-+M<0{3E KKe-y]K
H  x@ESC X'(s8i/0SC SC SM12    
T"834	5B#u	%e,	-BPPPPr&   c                  l   ] tR tRt$ RtR]! ]4      R]R,          RRRRRR	R
RRRRRRR///tR]R&   R]RR]! ]4      R]R,          RRRR]R,          //RR]! ]4      ]! R4      ,           R]R,          RRRRRR	]R,          R	,          /R]R,          R,          /RR]! ]4      R]R,          RRRRR	]R,          R	,          R]R,          R,          ////t	]
P                  P                  ]P                  R8H  RR7      ]
P                  P                  R]	P!                  4       4      R 4       4       tRtR# ) TestOverallBehaviouriC  z        [build-system]
        requires = ["setuptools"]
        build-backend = "setuptools.build_meta"

        [project]
        name = "mypkg"
        version = "3.14159"
        r'   r(   zotherfile.pyr   r*   r+   r   zvar = 42
subpackager   zvar = 13zresource_file.txtresource 39zdict[str, Any]FLAT_LAYOUTflat-layout
src-layoutr)   custom-layoutz                [tool.setuptools]
                packages = ["mypkg", "mypkg.subpackage"]

                [tool.setuptools.package-dir]
                "mypkg.subpackage" = "other"
                r@  	namespacer-   r.   r/   layoutc                	   \        R W!V P                  V,          .VO5!  w  rVRpVP                  RR\        V4      .4      pRV9   g   Q hRp	VP                  RR\        V	4      .4      pRV9   g   Q hRp
VP                  RR\        V
4      .4      pRV9   g   Q h\	        VP                  R	4      4      p\	        VP                  R
4      4      p\	        VP                  R4      4      pVP                  RRR7       VP                  RRR7       VP                  RRR7       VP                  RR\        V	4      .4      pRV9  g   Q hRV9   g   Q hVP                  RR\        V
4      .4      pRV9  g   Q hRV9   g   Q hR# )r*   zj        try:
            import otherfile
        except ImportError as ex:
            print(ex)
        r6   rR   zNo module named 'otherfile'zy        import mypkg, mypkg.mod1, mypkg.subpackage.mod2
        print(mypkg.mod1.var, mypkg.subpackage.mod2.var)
        z42 13z        import mypkg.subpackage
        from setuptools._importlib import resources as importlib_resources
        text = importlib_resources.files(mypkg.subpackage) / "resource_file.txt"
        print(text.read_text(encoding="utf-8"))
        rT  
**/mod1.py
**/mod2.py**/resource_file.txtzvar = 17r=   r>   z	var = 781zresource 374z17 781N)install_projectEXAMPLESrG   r   r  ro   rI   )rq   rJ   rK   rZ  r%   rL   _cmd_import_errorr   cmd_get_varscmd_get_resourcer   r   resource_files   &&&&&         r$   test_editable_install*TestOverallBehaviour.test_editable_install  s    %TT]]6%:
=J


 hh$/?(@AB,333 hh$|(<=>#~~ hh$/?(@AB### GLL./GLL./W\\*@AB
W5g6  ' Bhh$|(<=>c!!!3hh$/?(@ABC'''$$$r&   r   N)r   r   r   r   	PYPROJECTr   r   rU  __annotations__r`  re   r   xfailr   r   r   keysrf  r   r   r&   r$   rR  rR  C  s   I 	&+w}-2zr:#]
	#K   	{fY/7=1BG[12	
 	fY/	 7=1Br;w/	: [),7#
& 	fY/7=1B{73I> +g"6|"D	

7&HP [[s||x/8NO[[Xx}}70% 8 P0%r&   rR  c                      ] tR tRt]! ]P                  R,          4      t]R;;,          ]! R4      ,          uu&   R]R,          R,          R&   R	 t	R
 t
RtR# )TestLinkTreei  rW  r'   a[          [tool.setuptools]
        # Temporary workaround: both `include-package-data` and `package-data` configs
        # can be removed after #3260 is fixed.
        include-package-data = false
        package-data = {"*" = ["*.txt"]}

        [tool.setuptools.packages.find]
        where = ["src"]
        exclude = ["*.subpackage*"]
        r   r)   r*   resource.not_in_manifestc                	   \         P                  P                  V P                  VR 7       \	        V4      ;_uu_ 4        Rp\        RR/4      pVP                  4        \        4       pVR,          pVR,          pVP                  4        VP                  4        VP                  R4      pRVn
        \        V4      Vn        VP                  4        VP                  4       pVP                  4       p	\!        W2WV4      p
V
! WHV	4       \#        VP%                  R4      4      pVR	,          p\'        W4       \#        VP%                  R
4      R4      e   Q h\#        VP%                  R4      R4      e   Q h\#        VP%                  R4      R4      e   Q h\#        VP%                  R4      R4      e   Q h RRR4       R#   + '       g   i     R# ; i)r4   zmypkg-3.14159r   r   z.auxz.buildbuild_pyTr\  zsrc/mypkg/mod1.pyz**/subpackageNr]  r^  z**/resource.not_in_manifest)rB   rC   rD   FILES_Pathr   parse_config_filesr
   rA   get_command_objeditable_moderE   	build_libensure_finalizedget_outputsget_output_mappingr   r  ro   assert_link_to)rq   rJ   rl   rw   wheelauxrD   rp  outputsoutput_mapping	make_treer   r   s   &&           r$   test_generated_tree TestLinkTree.test_generated_tree  sy   $**X68__"D <=D##%FEV#Cx'EIIKKKM++J7H%)H"!$UH%%'**,G%88:N!$c9Ien5./D"55H4*148@@@.5===!78$?GGG!>?FNNN; ___s   E3F==G	c                	*   R R.p\        RW!V P                  .VO5!   VP                  . RO4      pRV9   g   Q hRpVP                  RR\        V4      .4      pRV9   g   Q hRpVP                  RR\        V4      .4      pR	V9   g   Q hR
V9   g   Q hR# )r    r!   r*   r6   rR   r^   zv        try:
            from mypkg import subpackage
        except ImportError as ex:
            print(ex)
        cannot import name 'subpackage'a8          import mypkg
        from setuptools._importlib import resources as importlib_resources
        try:
            text = importlib_resources.files(mypkg) / "resource.not_in_manifest"
            print(text.read_text(encoding="utf-8"))
        except FileNotFoundError as ex:
            print(ex)
        zNo such file or directoryrn  Nr6   rR   z(import mypkg.mod1; print(mypkg.mod1.var))r_  rq  rG   r   )rq   rJ   rK   r   r   rb  rd  s   &&&    r$   test_strict_install TestLinkTree.test_strict_install  s    #%;<CdChhSTs{{ hh$/?(@AB0C777 hh$/?(@AB*c111)S000r&   r   N)r   r   r   r   r   rR  r`  rq  r   r  r  r   r   r&   r$   rm  rm    sW    )22<@AE	
v
	   9>E%L45 OD1r&   rm  z9ignore:.*compat.*:setuptools.SetuptoolsDeprecationWarningc                f   R R.p\         P                  R,          p\        RWV.VO5!   VP                  . R
O4      pRV9   g   Q h\	        \        V 4      4      pR F(  p\	        VP                  RRV.4      4      pWT9   d   K(  Q h	  RpVP                  RR\        V4      .4      pRV9   g   Q hR	# )r    zeditable-mode=compatrX  r*   r6   rR   r^   zc    try:
        from mypkg import subpackage;
    except ImportError as ex:
        print(ex)
    r  Nr  )z"import otherfile; print(otherfile)zimport other; print(other)zimport mypkg; print(mypkg))rR  r`  r_  rG   comparable_pathrE   r   )rJ   rK   r   r1   r   expected_pathrM   s   &&     r$   test_compat_installr    s      !78D ))/:EGTU:T:
((O
PC3;;#CM2M
 dhh$'<=>###C ((HdF3K0
1C,333r&   c                R   R\        R4      R\        R4      R\        R4      RRR	R
R/RRR//pVP                  . RO4       \        P                  ! RR7      ;_uu_ 4        \	        RWV.VO5!   RRR4       VP                  . RO4      pRV9   g   Q hR#   + '       g   i     L.; i)z3Ensure editable installs work with pbr, issue #3500r'   z            [build-system]
            requires = ["setuptools"]
            build-backend = "setuptools.build_meta"
            r2   z            __import__('setuptools').setup(
                pbr=True,
                setup_requires=["pbr"],
            )
            z	setup.cfgz~            [metadata]
            name = mypkg

            [files]
            packages =
                mypkg
            r*   r+   r   zhello.pyzprint('Hello world!')r@  ztest.txtzAnother file in here.z0.42)PBR_VERSIONNzHello world!)r6   r7   r8   r9   pbr)r6   rR   zimport mypkg.hello)r   rG   r   environmentr_  )rJ   rK   r%   r1   r   s   &&&  r$   test_pbr_integrationr  /  s     	&
 	F
 	V	
 	2/
 	*56=E@ 	HH67			&	1	1GG 
2 ((9
:CS   	 
2	1s    BB&	c                  ^    ] tR tRtRt/ ]P                  R,          CR]! R4      /CtR t	Rt
R# )	TestCustomBuildPyiZ  a  
Issue #3501 indicates that some plugins/customizations might rely on:

1. ``build_py`` not running
2. ``build_py`` always copying files to ``build_lib``

During the transition period setuptools should prevent potential errors from
happening due to those assumptions.
rV  r2   af              import pathlib
            from setuptools import setup
            from setuptools.command.build_py import build_py as orig

            class my_build_py(orig):
                def run(self):
                    super().run()
                    raise ValueError("TEST_RAISE")

            setup(cmdclass={"build_py": my_build_py})
            c                    \        RW!V P                  4      w  r4RV9   g   Q hRV9   g   Q hVP                  . RO4      pRV9   g   Q hR# )z>Ensure that errors in custom build_py are reported as warningsr*   r   zValueError: TEST_RAISEr^   Nr  )r_  rq  rG   )rq   rJ   rK   ra  r   s   &&&  r$   test_safeguarded_from_errors.TestCustomBuildPy.test_safeguarded_from_errorsy  sO     !$$**E-444'3...hhSTs{{r&   r   N)r   r   r   r   r9  rR  r`  r   rq  r  r   r   r&   r$   r  r  Z  s:    

'
'
6F
E$r&   r  c                  "    ] tR tRtR tR tRtR# )TestCustomBuildWheeli  c                	Z    VP                  R 4      p ! R RV4      pW1P                  R &   R# )bdist_wheelc                  (   a  ] tR tRtV 3R ltRtV ;t# )ETestCustomBuildWheel.install_custom_build_wheel.<locals>.MyBdistWheeli  c                	f   < V P                   P                  R 4      '       d   Rp\        SV `  4       # )zmacosx-zmacOS platform)	plat_namer   superget_tag)rq   ra  	__class__s   & r$   r  MTestCustomBuildWheel.install_custom_build_wheel.<locals>.MyBdistWheel.get_tag  s,     >>,,Y77(Aw((r&   r   )r   r   r   r   r  r   __classcell__)r  s   @r$   MyBdistWheelr    s    ) )r&   r  N)get_command_classcmdclass)rq   rw   bdist_wheel_clsr  s   &&  r$   install_custom_build_wheel/TestCustomBuildWheel.install_custom_build_wheel  s,    00?	)? 	) (4m$r&   c                	j   \         P                  P                  R R/4       \        4       pRVn        VP                  4        V P                  V4       \        V4      pVP                  4        VP                  4        \        \        \        4       P                  R4      4      4      pRV9   g   Q hR# )	module.pyr@   r2   
dist/*.whleditableN)rB   rC   rD   r   r   set_defaultsr  r   rw  rG   rE   r  r   ro   )rq   
tmpdir_cwdrw   rM   
wheel_files   &&   r$   test_access_plat_name*TestCustomBuildWheel.test_access_plat_name  s     	;12~%''-T"	dfkk,789
Z'''r&   r   N)r   r   r   r   r  r  r   r   r&   r$   r  r    s    4(r&   r  c                  |    ] tR tRtR t]P                  P                  ]P                  R8g  RR7      R 4       t
RtR# )	TestCustomBuildExti  c                	D    ^ RI Hp  ! R RV4      pW1P                  R&   R# )r   )	build_extc                      ] tR tRtRtR# )ITestCustomBuildExt.install_custom_build_ext_distutils.<locals>.MyBuildExti  r   N)r   r   r   r   r   r   r&   r$   
MyBuildExtr    s    r&   r  r  N)distutils.command.build_extr  r  )rq   rw   build_ext_clsr  s   &&  r$   "install_custom_build_ext_distutils5TestCustomBuildExt.install_custom_build_ext_distutils  s    J	 	 &0k"r&   linuxz(compilers may fail without correct setupr/   c                	  a \         P                  P                  R R/4       R\        RR .4      ./p\	        V4      pRVn        VP                  4        V P                  V4       \        V4      pVP                  4        VP                  4        \        \        \        4       P                  R4      4      4      pRV9   g   Q h\        4       P                  R4       Uu. uF  qfP                  R8w  g   K  VNK  	  pp\!        V4      ^8X  g   Q hV^ ,          P"                  o\$        ;QJ d#    V3R	 l\&         4       F  '       g   K   R
M	  RM! V3R	 l\&         4       4      '       g   Q hR# u upi )zmodule.cr   ext_modulesmoduler2   r  r  zmodule.*z.cc              3  F   <"   T F  pSP                  V4      x  K  	  R # 5iNr   )r   extrl   s   & r$   r   HTestCustomBuildExt.test_distutils_leave_inplace_files.<locals>.<genexpr>  s     D1C#4==%%1Cs   !TFN)rB   rC   rD   r   r   r   r  r  r   rw  rG   rE   r  r   ro   suffixrp   rl   anyr   )	rq   r  r  rw   rM   r  pr1   rl   s	   &&      @r$   "test_distutils_leave_inplace_files5TestCustomBuildExt.test_distutils_leave_inplace_files  s!    	:r*+Ih=>
 E"%//5T"	dfkk,789
Z''' FKK
3H3qxx47G3H5zQQx}}sD1CDsssD1CDDDDD Is    E07E0r   N)r   r   r   r   r  re   r   skipifr   r   r  r   r   r&   r$   r  r    s@    0 [[(R  EEr&   r  c           	     F   \         P                  P                  RR/4       \        4       pRVn        VP                  4        \        V4      pVP                  4        \        R\        3/ 4      p\        V! 4       R7      pVP                  VRV4       Rp\        P                  ! V4      ;_uu_ 4        \        P                  ! \        VR7      ;_uu_ 4        VP!                  4        R	R	R	4       R	R	R	4       R	#   + '       g   i     L; i  + '       g   i     R	# ; i)
z7Make sure to display useful debugging tips to the user.r  r@   r2   SimulatedErr)side_effectrk   z-following steps are recommended to help debugr\   N)rB   rC   rD   r   r   r  r   rw  type	Exceptionr
   setattrre   r  rf   r   rG   )r  rr   rw   rM   r  simulated_failureexpected_msgs   &&     r$   test_debugging_tipsr    s    
KK{H-.>D!D

Cb9L846GHBL	|	$	$fll>&V&V	 'W	$	$&V&V	$	$	$s$   4%DC<	*D<DDD 	errorc                 L    \        R4      p \        V \        4      '       g   Q hR# )z>Ensure _encode_pth function does not produce encoding warningsu   tkmilan_ç_utf8N)r   
isinstancebytes)contents    r$   test_encode_pthr    s"     +,Ggu%%%%r&   c                    W ,          pVP                  4        \        P                  P                  W5R 7       . VORNpVP	                  RRRRRR\        V4      .VO\        P                  R7      pWV3# )	r4   r:   r6   r7   r8   r   r9   r;   )stderr)rA   rB   rC   rD   rG   rE   r   STDOUT)rl   rK   rJ   r1   r   rL   r   s   &&&&*  r$   r_  r_    sx    oGMMO
KKe,*T*)*D
((	4is7|KdK    C <r&   c                    RP                  R\        ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      ,           4      pV ^ ,          R,          P                  VRR7       R# )a%  To use this function, it is necessary to insert new_dir in front of sys.path.
The Python process will try to import a ``sitecustomize`` module on startup.
If we manipulate sys.path/PYTHONPATH, we can force it to run our code,
which invokes ``addsitedir`` and ensure ``.pth`` files are loaded.

c              3  X   "   T F   pR \         P                  ! V4      : R2x  K"  	  R# 5i)zsite.addsitedir()N)r   fspath)r   new_dirs   & r$   r   _addsitedirs.<locals>.<genexpr>  s$     S(w"299W#5"8:(s   (*zsitecustomize.pyr=   r>   N)zimport site)r   tuplerI   )new_dirsr  s   & r$   r   r     sV     ii
%S(S%%S(S
S	TG a[%%11'G1Lr&   c                    V P                   '       dU   \        \        V P                   4      R 4      pV'       d,   \        \	        V4      P                  4       4      V8X  g   Q hR # R # R # r  )__path__r  iterrE   r   r   )rP   r   rC   s   && r$   r   r     sM    
|||D&-tDz))+,888  r&   c               $    V ^8  d   QhRRRRRR/# )   filer   r@  returnNoner   )formats   "r$   __annotate__r    s&     A A Ad At Ar&   c                   V P                  4       '       d:   \        V P                  4       4      \        VP                  4       4      8X  g   Q hR # V P                  4       pVP                  4       pV\        P                  ,          V\        P                  ,          8X  g   Q hV\        P
                  ,          V\        P
                  ,          8X  g   Q hR # r  )
is_symlinkrE   r   statST_INOST_DEV)r  r@  	file_stat
other_stats   &&  r$   rz  rz    s    4<<>"c%--/&::::IIK	ZZ\
%DKK)@@@@%DKK)@@@@r&   c                    V ^8  d   QhRRRR/# )r  str_with_pathrE   r  r   )r  s   "r$   r  r    s     I I3 I3 Ir&   c                ~    V P                  4       P                  \        P                  R 4      P                  RR 4      # )/z//)lowerreplacer   sep)r  s   &r$   r  r    s/     ((5==dCHHr&   )T
__future__r   r   r   r  r   r   copyr   	importlibr   importlib.machineryr   pathlibr   textwrapr   typingr	   unittest.mockr
   uuidr   jaraco.envsrB   jaraco.pathre   rC   rr  setuptools._importlibr   r   !setuptools.command.editable_wheelr   r   r   r   r   r   r   r   r   setuptools.distr   setuptools.extensionr   setuptools.warningsr   r   r   r   distutils.corer   fixturer%   rH   r   SETUP_SCRIPT_STUBr   rj  r   rN   rU   rX   rZ   r   r   r   rP  rR  rm  filterwarningsr  r  r  r  r  r  r  r_  r   r   rz  r  r   r&   r$   <module>r     sT   " 	    
  # 2          B
 
 
 ) * < " $ ),- . f	< 6	 eg(6	6
 6	 h/
SDN 7  3<<8+4JK272J 12> L>2%*P#(L?; ?;Db0 b0J%*PU= U=p
.Qbu% u%pP1 P1f WX4 Y4@(!V' 'T( (:E E@$ G$& %&	
M 9AIr&   