§ w<ˆj{¦ã ól—ddlmZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z ddl mZddlmZddlmZdd lmZdd lmZddlZddlZddlZddlmZdd lmZdd l m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(dd l)m*Z*ddl+m,Z,ddl-m.Z.ddl/m0Z0m1Z1ddl2m3Z3ej4ddg¬¦«d„¦«Z5ed¦«ed¦« 6¦«ddded¦«ed¦«ddd œid!œZ7d"Z8ej9 :ejd#kd$¬%¦«ej9 ;d&ie7¥d'e8i¥e7g¦«d(„¦«¦«ZGd+„d,¦«Z?Gd-„d.¦«Z@d/„ZAGd0„d1¦«ZBd2„ZCGd3„d4¦«ZDGd5„d6¦«ZEej9 Fd7¦«d8„¦«ZGej9jHd9„¦«ZIGd:„d;¦«ZJGd<„d=¦«ZKGd>„d?¦«ZLd@„ZMej9 FdA¦«dB„¦«ZNdC„ZOdD„ZPdE„ZQdOdK„ZRdPdN„ZSdS)Qé)Ú annotationsN)Údeepcopy)Ú import_module)ÚEXTENSION_SUFFIXES)ÚPath)Údedent)ÚAny)ÚMock)Úuuid4)Ú resources)Ú _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ó$—|jdkrddgSgS)Nrú--config-settingsúeditable-mode=strict)Úparam)Úrequests úx/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/setuptools/tests/test_editable_install.pyÚ editable_optsr%*s €à„}˜Ò Ð Ø#Ð%;Ð<Ð<Ø €Ióaý [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" zr global-include *.py *.txt global-exclude *.py[cod] prune dist prune build zThis is a ``README``z!---- placeholder MIT license ----Úmypkga import sys from importlib.metadata import PackageNotFoundError, version try: __version__ = version(__name__) except PackageNotFoundError: __version__ = "unknown" a  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) zx = ''z Hello World)ú __init__.pyz __main__.pyúmod.pyzdata.txt)úpyproject.tomlú MANIFEST.inz README.rstz LICENSE.txtÚsrcz __import__('setuptools').setup()Údarwinúpypa/setuptools#4328©ÚreasonÚfilesúsetup.pyc ó—|dz }| ¦«tj ||¬¦«ddddddt |¦«g|¢}t | |¦«¦«gd ¢}| |¦« ¦«d ksJ‚|d z  d d ¬¦«|dz  dd ¬¦«| |¦« ¦«dksJ‚dS)Nr'©ÚprefixÚpythonú-mÚpipÚinstallú--no-build-isolationú-e)r6r7r'z3.14159.post0 Hello Worldzsrc/mypkg/data.txtÚfoobarúutf-8©Úencodingzsrc/mypkg/mod.pyúx = 42z3.14159.post0 foobar 42) ÚmkdirÚjaracoÚpathÚbuildÚstrÚprintÚrunÚstripÚ write_text)Útmp_pathÚvenvr1r%ÚprojectÚcmds r$Útest_editable_with_pyprojectrN{s€ð˜Ñ €GØ ‡M‚M�O„O€OÝ „K×Ò�e GÐÑ,Ô,Ð,ð Ø Ø ØØØ Ý ˆG‰ Œ ð ð ð €Cõ ˆ$�(Š(�3‰-Œ-ÑÔÐà #Ð #Ð #€CØ �8Š8�C‰=Œ=× Ò Ñ Ô Ð$?Ò ?Ð ?Ð ?Ð ?à Ð#Ñ#×/Ò/°À7Ð/ÑKÔKÐKØ Ð!Ñ!×-Ò-¨hÀÐ-ÑIÔIÐIØ �8Š8�C‰=Œ=× Ò Ñ Ô Ð$=Ò =Ð =Ð =Ð =Ð =Ð =r&c óV—dtd¦«ddiddœi}tj ||¬¦«|dz }dd d d d d t |¦«g|¢}t | |¦«¦«gd¢}| |¦« ¦«dksJ‚dS)Nr'ac [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" [project] name = "mypkg" version = "3.14159" [tool.setuptools] packages = ["pkg"] py-modules = ["mod"] r(za = 4úb = 2)r*Úpkgr)r4r6r7r8r9r:r;)r6ú-cz$import pkg, mod; print(pkg.a, mod.b)z4 2©rrBrCrDrErFrGrH©rJrKr%r1rLrMs r$Útest_editable_with_flat_layoutrUœsÜ€àÝ$ð ñôð" 7Ð+Øð# ð ð €Eõ* „K×Ò�e HÐÑ-Ô-Ð-Ø˜Ñ €Gð Ø Ø ØØØ Ý ˆG‰ Œ ð ð ð €Cõ ˆ$�(Š(�3‰-Œ-ÑÔÐØ BÐ BÐ B€CØ �8Š8�C‰=Œ=× Ò Ñ Ô  EÒ )Ð )Ð )Ð )Ð )Ð )r&c óP—dtd¦«ddœi}tj ||¬¦«|dz }dddd d d t |¦«g|¢}t | |¦«¦«gd ¢}| |¦« ¦«d ksJ‚dS)Nr'a> [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" [project] name = "mod" version = "3.14159" [tool.setuptools] py-modules = ["mod"] rP)r*r)r4r6r7r8r9r:r;)r6rRzimport mod; print(mod.b)Ú2rSrTs r$Ú test_editable_with_single_modulerXÄsÔ€àÝ$ð ñ ô ðð ð ð €Eõ& „K×Ò�e HÐÑ-Ô-Ð-Ø˜Ñ €Gð Ø Ø ØØØ Ý ˆG‰ Œ ð ð ð €Cõ ˆ$�(Š(�3‰-Œ-ÑÔÐØ 6Ð 6Ð 6€CØ �8Š8�C‰=Œ=× Ò Ñ Ô  CÒ 'Ð 'Ð 'Ð 'Ð 'Ð 'r&cóž—eZdZd„Zej dd¦«ej dd¦«d„¦«¦«ZdS)ÚTestLegacyNamespacescó°—tjtd¬¦«}|dz }| ¦«d}|D]Ø}t j||d¬¦«}|5| ¦«5}| |¦«tdd¬ ¦«} t| ¦«} |   ¦«|   d ¦«j } |   || ¦«ddd¦«n #1swxYwYddd¦«n #1swxYwYŒÙt| d ¦«¦«} t!| ¦«t!|¦«ksJ‚dS) Nz .*namespace_packages parameter.*©Úmatchz.installation_dir)z myns.pkgAz myns.pkgBú myns.n.pkgAú myns.n.pkgBÚ42)Úversionr2Úconfig)Ú stop_afterÚ dist_infoz *-nspkg.pth)ÚpytestÚwarnsrrArÚbuild_namespace_packageÚcontextÚchdirrrÚfinalize_optionsÚget_finalized_commandÚnameÚ_install_namespacesÚlistÚglobÚlen) ÚselfrJÚ monkeypatchÚ deprecationÚinstallation_dirÚexamplesrlrQÚctxÚdistrMÚ editable_namer1s r$Útest_nspkg_file_is_uniquez.TestLegacyNamespaces.test_nspkg_file_is_uniqueísý€Ý”lÝ (Ð0Rð ñ ô ˆ ð$Ð&9Ñ9ÐØ×ÒÑ Ô Ð ð ˆðð Ið IˆDÝÔ4°X¸tÈTÐRÑRÔRˆCØð Ið I˜k×1Ò1Ñ3Ô3ð I°sØ— ’ ˜#‘”�Ý  ¸ÐAÑAÔA�Ý$ TÑ*Ô*�Ø×$Ò$Ñ&Ô&Ð&Ø #× 9Ò 9¸+Ñ FÔ FÔ K� Ø×'Ò'Ð(8¸-ÑHÔHÐHð  Ið Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið Ið Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið IøõÐ%×*Ò*¨=Ñ9Ô9Ñ:Ô:ˆÝ�5‰zŒz�S ™]œ]Ò*Ð*Ð*Ð*Ð*Ð*s7ÁDÁ)A:C/Ã# DÃ/C3 Ã3DÃ6C3 Ã7DÄD Ä D Úimpl)Ú pkg_resourcesÚns)zmyns.nc ó*—d}tj||›d�|¬¦«}tj||›d�|¬¦«}|dz  |d¬¦«|dz  |d¬¦«|dd…} |  d ¦«| d d d d t |¦«g| ¢¦«| d d d d dt |¦«g| ¢¦«| d dd|›d|›d�g¦«| gd¢¦«dS)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)rzz.pkgBr*r=r>Nr:r6r7r8r9r;rRzimport z.pkgA; import )r6rRzimport pkg_resources)rrgrIÚappendrGrE) rqrKrJr|rzr%Ú build_systemÚpkg_AÚpkg_BÚoptss r$Ú!test_namespace_package_importablez6TestLegacyNamespaces.test_namespace_package_importablesD€ð$ ˆ õ Ô2°8À¸\¸\¸\ÐPTÐUÑUÔUˆÝÔ2°8À¸\¸\¸\ÐPTÐUÑUÔUˆØ Ð!Ñ !×-Ò-¨lÀWÐ-ÑMÔMÐMØ Ð!Ñ !×-Ò-¨lÀWÐ-ÑMÔMÐMà˜Q˜Q˜QÔˆØ � Š Ð*Ñ+Ô+Ð+Ø �Š�(˜D %¨µC¸±J´JÐFÀÐFÑGÔGÐGØ �Š�(˜D %¨°D½#¸e¹*¼*ÐLÀtÐLÑMÔMÐMØ �Š�(˜DÐ"G¨BÐ"GÐ"G¸bÐ"GÐ"GÐ"GÐHÑIÔIÐIà �ŠÐ9Ð9Ð9Ñ:Ô:Ð:Ð:Ð:r&N)Ú__name__Ú __module__Ú __qualname__ryreÚmarkÚ parametrizerƒ©r&r$rZrZêsz€€€€€ð+ð+ð+ð4 „[×ÒØð ñôð „[×Ò˜T ;Ñ/Ô/ð;ð;ñ0Ô/ñôð;ð;ð;r&rZcó —eZdZd„Zd„Zd„ZdS)ÚTestPep420Namespacesc ól—tj|d¦«}tj|d¦«}|dd…}| d¦«| ddddt |¦«g|¢¦«| ddddd t |¦«g|¢¦«| gd ¢¦«dS) 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. r^r_Nr:r6r7r8r9r;)r6rRz&import myns.n.pkgA; import myns.n.pkgB)rÚbuild_pep420_namespace_packager~rGrE)rqrKrJr%r€r�r‚s r$rƒz6TestPep420Namespaces.test_namespace_package_importable-sº€õ Ô9¸(ÀMÑRÔRˆÝÔ9¸(ÀMÑRÔRˆà˜Q˜Q˜QÔˆØ � Š Ð*Ñ+Ô+Ð+Ø �Š�(˜D %¨µC¸±J´JÐFÀÐFÑGÔGÐGØ �Š�(˜D %¨°D½#¸e¹*¼*ÐLÀtÐLÑMÔMÐMØ �ŠÐKÐKÐKÑLÔLÐLÐLÐLr&c ó8—dtd¦«ddidœi}tj ||¬¦«|dz }t j|d¦«}t j|d¦«}|d d …}| d ¦«| d d d dt|¦«g|¢¦«| d d d ddt|¦«g|¢¦«| d d d ddt|¦«g|¢¦«| gd¢¦«d S)z@Currently users can create a namespace by tweaking `package_dir`ÚpkgAat [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(úa = 1)r*r,r4r_z myns.n.pkgCNr:r6r7r8r9r;)r6rRz#from myns.n import pkgA, pkgB, pkgC) rrBrCrDrr�r~rGrE) rqrKrJr%r1r€r�Úpkg_Cr‚s r$Ú&test_namespace_created_via_package_dirz;TestPep420Namespaces.test_namespace_created_via_package_dir<s=€ð Ý"(ð ñ #ô #ð& wÐ/ððð ˆõ& Œ ×Ò˜%¨ÐÑ1Ô1Ð1ؘ6Ñ!ˆÝÔ9¸(ÀMÑRÔRˆÝÔ9¸(ÀMÑRÔRˆð˜Q˜Q˜QÔˆØ � Š Ð*Ñ+Ô+Ð+Ø �Š�(˜D %¨µC¸±J´JÐFÀÐFÑGÔGÐGØ �Š�(˜D %¨°D½#¸e¹*¼*ÐLÀtÐLÑMÔMÐMØ �Š�(˜D %¨°D½#¸e¹*¼*ÐLÀtÐLÑMÔMÐMØ �ŠÐHÐHÐHÑIÔIÐIÐIÐIr&c ó¸—dtd¦«dddddœdœtdd œi}tj ||¬ ¦«|dz }d g}| d d ddddt |¦«g|¢¦«| gd¢¦«}| ¦«dksJ‚d}| d dt|¦«g¦«}d|vsJ‚dS)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�ar [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" [project] name = "pkgA" version = "3.14159" [tool.setuptools] packages.find.include = ["mypkg.*"] Úzb = 1r�)r(zpkgA.py)r(zother.pyÚnr+)r*r'r+r4r:r6r7r8ú-vr9r;)r6rRz'from mypkg.n import pkgA; print(pkgA.a)Ú1z} try: import mypkg.other except ImportError: print("mypkg.other not defined") rRzmypkg.other not definedN)rÚEXAMPLErBrCrDrGrErH)rqrKrJr1r€r‚ÚoutrMs r$Ú0test_namespace_accidental_config_in_lenient_modezETestPep420Namespaces.test_namespace_accidental_config_in_lenient_mode^s"€ð Ý"(ð ñ #ô #ð$&Ø 'à')Ø#*ððððõ ' }Ô5ð/ðð ˆõ6 Œ ×Ò˜%¨ÐÑ1Ô1Ð1ؘ6Ñ!ˆð'Ð'ˆØ �Š�(˜D %¨¨y¸$ÅÀEÁ Ä ÐRÈTÐRÑSÔSÐSØ�hŠhÐRÐRÐRÑSÔSˆØ�yŠy‰{Œ{˜cÒ!Ð!Ð!Ð!ð ˆð �hŠh˜ $­¨s© ¬ Ð4Ñ5Ô5ˆØ(¨CÐ/Ð/Ð/Ð/Ð/Ð/r&N)r„r…r†rƒr’ršr‰r&r$r‹r‹,sH€€€€€ð Mð Mð Mð Jð Jð JðD00ð00ð00ð00ð00r&r‹c ó.‡ —|dz Š ˆ fd„tjD¦«}|D]}| d¬¦«Œt|¦«t t jt j tt|¦«¦«¬¦«}tj dddd t|¦«d t‰ ¦«d g |¢}tj ||¬ ¦«tj¦«d krdnd}‰ |z dz }tj |g|¬ ¦«dS)z> Editable install to a prefix should be discoverable. r5có´•—g|]T}d|v¯| tj¦«¯%‰t|¦« tj¦«z ‘ŒUS)z site-packages)Ú startswithÚsysr5rÚ relative_to)Ú.0rCr5s €r$ú z-test_editable_with_prefix..˜s\ø€ðððà Ø ˜dÐ "Ð " t§¢µs´zÑ'BÔ'BÐ "ð •�d‘”×'Ò'­¬ Ñ3Ô3Ñ3à "Ð "Ð "r&T)Úparents)Ú PYTHONPATHr7r8r9ú --editablez--prefixr:)ÚenvÚWindowsÚScriptsÚbinÚsampleN)ržrCrAÚ _addsitedirsÚdictÚosÚenvironÚpathsepÚjoinÚmaprEÚ executableÚ subprocessÚ check_callÚplatformÚsystem) rJÚsample_projectr%Úsite_packages_allÚspr¥rMr¨Úexer5s @r$Útest_editable_with_prefixrº‘s=ø€ð˜Ñ €Fððððå”HðñôÐð  ððˆØ �Š˜ˆÑÔÐÐõÐ"Ñ#Ô#Ð#å �rŒz¥b¤j§o¢oµc½#Ð?PÑ6QÔ6QÑ&RÔ&RÐ SÑ SÔ S€Cå ŒØ Ø ØØÝ ˆNÑÔØÝ ˆF‰ Œ Øð ð ð €CõÔ˜# 3Ð'Ñ'Ô'Ð'õ ”Ñ(Ô(¨IÒ5Ð5ˆ)ˆ)¸5€CØ �3‰,˜Ñ !€CÝÔ˜3˜% SÐ)Ñ)Ô)Ð)Ð)Ð)r&cóT—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd S)ÚTestFinderTemplateúÍ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óL—i}t|||¦«|d¦«dS)Nr9)Úexec)rqÚfinderÚlocs r$Úinstall_finderz!TestFinderTemplate.install_finder¿s1€ØˆÝ ˆV�S˜#ÑÔÐØˆˆIŒÑÔÐÐÐr&có—ddddidœiddidœ}tj ||¬ ¦«t|d z ¦«t|d z ¦«d œ}t tt ¦«¦«|i¦«}t j¦«5t j¦«5d D]"}tj   |d¦«Œ#|  |¦«td¦«}td¦«}td¦«}|jdksJ‚|jdksJ‚t|dz  ¦«¦«} t!|| ¦«ddd¦«n #1swxYwYddd¦«dS#1swxYwYdS)NÚpkg1r”úmod1.pyza = 42)r(Úsubpkgúmod2.pyza = 43©Úsrc1Úsrc2r4z src1/pkg1z src2/mod2)rÄÚmod2)rÄú pkg1.subpkgúpkg1.subpkg.mod1rËrÍrËrÌé*é+zsrc1/pkg1/subpkg)rBrCrDrErr rÚ save_pathsÚsave_sys_modulesržÚmodulesÚpoprÂrÚaÚresolveÚ assert_path) rqrJr1ÚmappingÚtemplateÚmodÚmod1rËrÆÚexpecteds r$Ú test_packagesz TestFinderTemplate.test_packagesÄs&€ðØ#%Ø(¨(Ð3ðððð  Ð)ð ð ˆõ Œ ×Ò˜%¨ÐÑ1Ô1Ð1õ˜ ;Ñ.Ñ/Ô/ݘ ;Ñ.Ñ/Ô/ð ð ˆõ$¥C­©¬¡L¤L°'¸2Ñ>Ô>ˆå Ô Ñ "Ô "ð *ð *¥HÔ$=Ñ$?Ô$?ð *ð *ØJð +ð +�Ý” —’  TÑ*Ô*Ð*Ð*à × Ò  Ñ )Ô )Ð )Ý Ð!3Ñ4Ô4ˆDÝ  Ñ(Ô(ˆDÝ" =Ñ1Ô1ˆFà”6˜R’<�<�<�<Ø”6˜R’<�<�<�<ݘHÐ'9Ñ9×BÒBÑDÔDÑEÔEˆHÝ ˜ Ñ )Ô )Ð )ð *ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *s7ÂFÂ&B6E(Å FÅ(E, Å,FÅ/E, Å0FÆFÆFcó—ddddœi}tj ||¬¦«dt|dz ¦«i}dgi}t tt ¦«¦«||¦«}t j¦«5t j¦«5dD]"}tj   |d¦«Œ#|  |¦«td¦«}tj|¦«d z }t|dz  ¦«¦«} t#|| ¦«|jd ksJ‚| d ¬ ¦«dksJ‚ ddd¦«n #1swxYwYddd¦«dS#1swxYwYdS) NrQúa = 13Úabc)r(útext.txtr4ú ns.othernamer|©r|ráràé r=r>)rBrCrDrErr rrÐrÑržrÒrÓrÂrÚimportlib_resourcesr1rÕrÖrÔÚ read_text) rqrJr1r×rrØrÙrQÚtextrÛs r$Útest_namespacez!TestFinderTemplate.test_namespaceäsÿ€Ø¨¸eÐDÐDÐEˆÝŒ ×Ò˜%¨ÐÑ1Ô1Ð1à!¥3 x°%Ñ'7Ñ#8Ô#8Ð9ˆØ˜B�Zˆ å#¥C­©¬¡L¤L°'¸:ÑFÔFˆÝ Ô Ñ "Ô "ð =ð =¥HÔ$=Ñ$?Ô$?ð =ð =Ø-ð +ð +�Ý” —’  TÑ*Ô*Ð*Ð*à × Ò  Ñ )Ô )Ð )Ý Ñ/Ô/ˆCÝ&Ô,¨SÑ1Ô1°JÑ>ˆDå˜H uÑ,×5Ò5Ñ7Ô7Ñ8Ô8ˆHÝ ˜˜XÑ &Ô &Ð &Ø”5˜B’;�;�;�;ð—>’>¨7�>Ñ3Ô3°uÒ<Ð<Ð<Ð<Ð<ð =ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s7Á>E5ÂB>EÅ E5ÅE! Å!E5Å$E! Å%E5Å5E9Å<E9cóL—ddddiiidddiidœ}tj ||¬¦«t|d z ¦«t|d z ¦«d œ}dt|d z ¦«t|d z ¦«gi}t tt ¦«¦«||¦«}t j¦«5t j¦«5dD]"}tj   |d¦«Œ#|  |¦«td¦«}td¦«}t|d z  ¦«¦«} t|| ¦«|jdksJ‚|jdksJ‚ ddd¦«n #1swxYwYddd¦«dS#1swxYwYdS)Nr|rÄr(rÞrÇúb = 37rÈr4z src1/ns/pkg1zsrc2/ns)úns.pkgAr|rÉrÊ)r|rêúns.mod2rêrërãé%)rBrCrDrErr rrÐrÑržrÒrÓrÂrrÕrÖrÔÚb) rqrJr1r×Ú namespaces_rØrÙr�rËrÛs r$Útest_combine_namespacesz*TestFinderTemplate.test_combine_namespacesûs8€à˜F ]°HÐ$=Ð>Ð?ؘI xÐ0Ð1ð ð ˆõ Œ ×Ò˜%¨ÐÑ1Ô1Ð1õ˜8 nÑ4Ñ5Ô5Ý�h Ñ*Ñ+Ô+ð ð ˆð�c (¨VÑ"3Ñ4Ô4µc¸(ÀVÑ:KÑ6LÔ6LÐMÐNˆ Ý#¥C­©¬¡L¤L°'¸;ÑGÔGˆå Ô Ñ "Ô "ð ð ¥HÔ$=Ñ$?Ô$?ð ð Ø3ð +ð +�Ý” —’  TÑ*Ô*Ð*Ð*à × Ò  Ñ )Ô )Ð )Ý  Ñ+Ô+ˆDÝ  Ñ+Ô+ˆDå˜H ~Ñ5×>Ò>Ñ@Ô@ÑAÔAˆHÝ ˜˜hÑ 'Ô 'Ð 'Ø”6˜R’<�<�<�<Ø”6˜R’<�<�<�<�<ð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s7Â9Fà B'FÅ5 FÆF ÆFÆF Æ FÆFÆ Fcóä—dddiidddiidœ}tj ¦«}| |¦«5tj |¦«dd d d œd d gdœ}t |¦«}t |tt¦«¦«¦«}td„|  ¦«D¦«¦«}ddd¦«n #1swxYwYtj ¦«5tj ¦«5|dD]"}tj |d¦«Œ#| |¦«t%d¦«} t%d¦«} t|dz  ¦«¦«} tt)| j¦« ¦«¦«| ksJ‚t|dz  ¦«¦«} tt)| j¦« ¦«¦«| ksJ‚| jdksJ‚| jdksJ‚ ddd¦«n #1swxYwYddd¦«dS#1swxYwYdS)z� Users may attempt to combine namespace packages in a nested way via ``package_dir`` as shown in pypa/setuptools#4248. Ú my_packagez my_module.pyrÞÚ my_package2z my_module2.pyré)r,rÊú %PEP 517%zsrc/my_packagezsrc2/my_package2)Údifferent_nameúdifferent_name.subpkgrôrõ)Ú script_nameÚ package_dirÚpackagesc3óJK—|]\}}| d¦«¯|V—ŒdS)z.pyN©Úendswith)r ÚkÚvs r$ú zDTestFinderTemplate.test_combine_namespaces_nested...s8èè€ÐWÐW™d˜a ÀQÇZÂZÐPUÑEVÔEVÐW˜ÐWÐWÐWÐWÐWÐWr&Nrøzdifferent_name.my_modulez different_name.subpkg.my_module2zsrc/my_package/my_module.pyzsrc2/my_package2/my_module2.pyrãrì)rBrCÚDirectoryStackrhrDrrrEr ÚnextÚget_implementationrrÐrÑržrÒrÓrÂrrÕrÚ__file__rÔrí) rqrJr1ÚstackÚattrsrwrÀÚcoderÙrÚrËrÛs r$Útest_combine_namespaces_nestedz1TestFinderTemplate.test_combine_namespaces_nesteds8€ð! >°8Ð"<Ð=Ø" _°hÐ$?Ð@ð ð ˆõ ” ×*Ò*Ñ,Ô,ˆØ �]Š]˜8Ñ $Ô $ð Xð XÝ ŒK× Ò ˜eÑ $Ô $Ð $à*à&6Ø-?ð ð ð.Ð/FÐGð ðˆEõ  Ñ&Ô&ˆDÝ$ T­3­u©w¬w©<¬<Ñ8Ô8ˆFÝÐWÐW f×&?Ò&?Ñ&AÔ&AÐWÑWÔWÑWÔWˆDð Xð Xð Xñ Xô Xð Xð Xð Xð Xð Xð Xøøøð Xð Xð Xð XõÔ Ñ "Ô "ð ð ¥HÔ$=Ñ$?Ô$?ð ð Ø˜ZÔ(ð +ð +�Ý” —’  TÑ*Ô*Ð*Ð*à × Ò  Ñ %Ô %Ð %Ý Ð!;Ñ<Ô<ˆDÝ Ð!CÑDÔDˆDå˜HÐ'DÑD×MÒMÑOÔOÑPÔPˆHÝ•t˜DœMÑ*Ô*×2Ò2Ñ4Ô4Ñ5Ô5¸ÒAÐAÐAÐAå˜HÐ'GÑG×PÒPÑRÔRÑSÔSˆHÝ•t˜DœMÑ*Ô*×2Ò2Ñ4Ô4Ñ5Ô5¸ÒAÐAÐAÐAà”6˜R’<�<�<�<Ø”6˜R’<�<�<�<�<ð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sJÁBCÃCÃ"CÃ9I%Ä D3I É I%É I ÉI%ÉI ÉI%É%I)É,I)có¦—ddddiiiddddiiiddddiiid œ}tj ||¬ ¦«i}dt|d z ¦«gi}t tt ¦«¦«||¦«}d „d D¦«}t j¦«5t j¦«5dddg|¢RD]"}tj   |d¦«Œ#|  |¦«td¦«}|jdksJ‚tjt"¦«5td¦«ddd¦«n #1swxYwYtj t|dz ¦«¦«td¦«} | jdksJ‚tjt"¦«5td¦«ddd¦«n #1swxYwYtj t|dz ¦«¦«td¦«} | jdksJ‚ ddd¦«n #1swxYwYddd¦«dS#1swxYwYdS)NÚparentÚchildzone.pyúx = 1ztwo.pyúx = 2zthree.pyzx = 3)Úproject1Úproject2Úproject3r4zproject1/parentc3ó K—|] }d|›�V—Œ dS)z parent.child.Nr‰)r rls r$rþzCTestFinderTemplate.test_dynamic_path_computation..Ms+èè€ÐKÐK¨4Ð& Ð&Ð&ÐKÐKÐKÐKÐKÐKr&)ÚoneÚtwoÚthreez parent.childzparent.child.onerzparent.child.twor ézparent.child.threeré)rBrCrDrErr rrÐrÑržrÒrÓrÂrÚxreÚraisesÚ ImportErrorr~) rqrJr1r×rîrØÚmodsrÙrrrs r$Útest_dynamic_path_computationz0TestFinderTemplate.test_dynamic_path_computationAsZ€ð" G¨h¸Ð-@Ð#AÐBØ! G¨h¸Ð-@Ð#AÐBØ! G¨j¸'Ð-BÐ#CÐDð ð ˆõ Œ ×Ò˜%¨ÐÑ1Ô1Ð1؈إ# hÐ1BÑ&BÑ"CÔ"CÐ!DÐEˆ Ý#¥C­©¬¡L¤L°'¸;ÑGÔGˆàKÐKÐ3JÐKÑKÔKˆÝ Ô Ñ "Ô "ð ð ¥HÔ$=Ñ$?Ô$?ð ð Ø  .°.ÐHÀ4ÐHÐHð +ð +�Ý” —’  TÑ*Ô*Ð*Ð*à × Ò  Ñ )Ô )Ð )åÐ 2Ñ3Ô3ˆCØ”5˜A’:�:�:�:å”�{Ñ+Ô+ð 2ð 2ÝÐ0Ñ1Ô1Ð1ð 2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ ŒH�OŠO�C ¨:Ñ 5Ñ6Ô6Ñ 7Ô 7Ð 7ÝÐ 2Ñ3Ô3ˆCØ”5˜A’:�:�:�:å”�{Ñ+Ô+ð 4ð 4ÝÐ2Ñ3Ô3Ð3ð 4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ ŒH�OŠO�C ¨:Ñ 5Ñ6Ô6Ñ 7Ô 7Ð 7Ý!Ð"6Ñ7Ô7ˆEØ”7˜a’<�<�<�<�<ð+ ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s�ÂIÂ.A6H.Ä$EÄ4 H.ÅE ÅH.ÅE ÅA'H.Æ/G Æ? H.Ç G ÇH.ÇG ÇAH.È" IÈ.H2 È2IÈ5H2 È6IÉI É I cól—dddii}tj ||¬¦«dt|dz ¦«i}t tt ¦«¦«|i¦«}t j¦«5t j¦«5tj   dd¦«|  |¦«tjtd¬¦«5t!d¦«ddd¦«n #1swxYwYddd¦«n #1swxYwYddd¦«dS#1swxYwYdS)NrQr(zfrom . import pkgr4r\©rBrCrDrErr rrÐrÑržrÒrÓrÂrerrr©rqrJr1r×rØs r$Útest_no_recursionz$TestFinderTemplate.test_no_recursionesæ€ð ØÐ2ðð ˆõ Œ ×Ò˜%¨ÐÑ1Ô1Ð1ð •3�x %Ñ'Ñ(Ô(ð ˆõ$¥C­©¬¡L¤L°'¸2Ñ>Ô>ˆå Ô Ñ "Ô "ð %ð %¥HÔ$=Ñ$?Ô$?ð %ð %Ý ŒK�OŠO˜E 4Ñ (Ô (Ð (à × Ò  Ñ )Ô )Ð )Ý”�{°%Ð8Ñ8Ô8ð %ð %ݘeÑ$Ô$Ð$ð %ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð  %ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s[Á9D) ADÃC:Ã. DÃ:C> Ã>DÄC> ÄDÄ D)ÄD ÄD)ÄD ÄD)Ä)D-Ä0D-có²—ddddidœi}tj ||¬¦«dt|dz ¦«i}t tt ¦«¦«|i¦«}t j¦«5t j¦«5tj   dd¦«tj   dd¦«|  |¦«tjtd¬¦«5t!d¦«ddd¦«n #1swxYwYddd¦«n #1swxYwYddd¦«dS#1swxYwYdS) NÚfoor”r()r(Úbarr4zfoo.barr<r\rrs r$Útest_similar_namez$TestFinderTemplate.test_similar_namezs€à Ø!à! 2ðððð ˆõ Œ ×Ò˜%¨ÐÑ1Ô1Ð1ð •3�x %Ñ'Ñ(Ô(ð ˆõ$¥C­©¬¡L¤L°'¸2Ñ>Ô>ˆå Ô Ñ "Ô "ð (ð (¥HÔ$=Ñ$?Ô$?ð (ð (Ý ŒK�OŠO˜E 4Ñ (Ô (Ð (Ý ŒK�OŠO˜I tÑ ,Ô ,Ð ,à × Ò  Ñ )Ô )Ð )Ý”�{°(Ð;Ñ;Ô;ð (ð (ݘhÑ'Ô'Ð'ð (ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð  (ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s[Á<E ÂA1D4ÄDÄ D4ÄD! Ä!D4Ä$D! Ä%D4Ä( E Ä4D8 Ä8E Ä;D8 Ä<E Å EÅEcóø—ddddddœdœi}tj ||¬¦«dt|dz ¦«i}t tt ¦«¦«|i¦«}t j¦«5t j¦«5tj   dd¦«|  |¦«tjtd¬ ¦«5t!d ¦«ddd¦«n #1swxYwYtjtd ¬ ¦«5t!d ¦«ddd¦«n #1swxYwYtjtd ¬ ¦«5t!d¦«ddd¦«n #1swxYwYtjtd¬ ¦«5t!d¦«ddd¦«n #1swxYwYtjtd¬ ¦«5t!d¦«ddd¦«n #1swxYwYt!d¦«}|jdksJ‚t!d¦«}|jdksJ‚ ddd¦«n #1swxYwYddd¦«dS#1swxYwYdS)Nrr”r r )r(ú lowercase.py)r(r#r r4z'FOO'r\ÚFOOz'foo\.LOWERCASE'z foo.LOWERCASEz'foo\.bar\.Lowercase'zfoo.bar.Lowercasez 'foo\.BAR'zfoo.BAR.lowercasezFOO.bar.lowercasez foo.lowercaserzfoo.bar.lowercaser)rBrCrDrErr rrÐrÑržrÒrÓrÂrerrrr)rqrJr1r×rØrÙs r$Útest_case_sensitivityz(TestFinderTemplate.test_case_sensitivity’s!€à Ø!Ø 'à#%Ø$+ððððð  ˆõ Œ ×Ò˜%¨ÐÑ1Ô1Ð1à •3�x %Ñ'Ñ(Ô(ð ˆõ$¥C­©¬¡L¤L°'¸2Ñ>Ô>ˆÝ Ô Ñ "Ô "ð ð ¥HÔ$=Ñ$?Ô$?ð ð Ý ŒK�OŠO˜E 4Ñ (Ô (Ð (à × Ò  Ñ )Ô )Ð )Ý”�{°'Ð:Ñ:Ô:ð %ð %ݘeÑ$Ô$Ð$ð %ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ”�{Ð2EÐFÑFÔFð /ð /ݘoÑ.Ô.Ð.ð /ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ”�{Ð2KÐLÑLÔLð 3ð 3ÝÐ1Ñ2Ô2Ð2ð 3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ”�{°-Ð@Ñ@Ô@ð 3ð 3ÝÐ1Ñ2Ô2Ð2ð 3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ”�{°'Ð:Ñ:Ô:ð 3ð 3ÝÐ1Ñ2Ô2Ð2ð 3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ  Ñ0Ô0ˆCØ”5˜A’:�:�:�:åÐ 3Ñ4Ô4ˆCØ”5˜A’:�:�:�:�:ð/ ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sëÁ>I/ÂAIÃ#C?Ã3 IÃ?D ÄIÄD ÄIÄ%EÄ5 IÅE ÅIÅE Å IÅ'FÅ7 IÆF ÆIÆ F Æ IÆ)GÆ9 IÇG Ç IÇ G Ç IÇ+HÇ; IÈH È IÈH È;IÉ I/ÉI ÉI/ÉI ÉI/É/I3É6I3cóž—dddddœdœi}tj ||¬¦«dt|dz ¦«i}d gi}t tt ¦«¦«||¦«}t j¦«5t j¦«5d D]"}tj   |d¦«Œ#|  |¦«td¦«}t|dz  ¦«¦«}t||¦«|jd ksJ‚td ¦«} | jd ksJ‚td¦«} | jdksJ‚t'jt*d¬¦«5td¦«ddd¦«n #1swxYwYt'jt*d¬¦«5td¦«ddd¦«n #1swxYwYt'jt*d¬¦«5td¦«ddd¦«n #1swxYwYddd¦«n #1swxYwYddd¦«dS#1swxYwYdS)NrQrÞrézc = 42)r(zbar.py)r(rr4rár|rârãzns.othername.foorìzns.othername.foo.barrÎz'NS'r\zNS.othername.fooz'ns\.othername\.FOO\'zns.othername.FOOz'ns\.othername\.foo\.BAR\'zns.othername.foo.BAR)rBrCrDrErr rrÐrÑržrÒrÓrÂrrÕrÖrÔríÚcrerr) rqrJr1r×rrØrÙrQrÛrr s r$Útest_namespace_case_sensitivityz2TestFinderTemplate.test_namespace_case_sensitivity»sˆ€à Ø'à#+Ø&ððððð ˆõ Œ ×Ò˜%¨ÐÑ1Ô1Ð1à!¥3 x°%Ñ'7Ñ#8Ô#8Ð9ˆØ˜B�Zˆ å#¥C­©¬¡L¤L°'¸:ÑFÔFˆÝ Ô Ñ "Ô "ð 6ð 6¥HÔ$=Ñ$?Ô$?ð 6ð 6Ø-ð +ð +�Ý” —’  TÑ*Ô*Ð*Ð*à × Ò  Ñ )Ô )Ð )Ý Ñ/Ô/ˆCݘH uÑ,×5Ò5Ñ7Ô7Ñ8Ô8ˆHÝ ˜˜XÑ &Ô &Ð &Ø”5˜B’;�;�;�;åÐ 2Ñ3Ô3ˆCØ”5˜B’;�;�;�;åÐ 6Ñ7Ô7ˆCØ”5˜B’;�;�;�;å”�{°&Ð9Ñ9Ô9ð 2ð 2ÝÐ0Ñ1Ô1Ð1ð 2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ”�{Ð2LÐMÑMÔMð 2ð 2ÝÐ0Ñ1Ô1Ð1ð 2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ”�{Ð2RÐSÑSÔSð 6ð 6ÝÐ4Ñ5Ô5Ð5ð 6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð- 6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6s£ÂIÂCH*Å3FÆ H*ÆF ÆH*ÆF ÆH*Æ5GÇ H*ÇG ÇH*ÇG ÇH*Ç7HÈ H*ÈH ÈH*ÈH ÈH*È IÈ*H. È.IÈ1H. È2IÉIÉ Icóð—dddddddidœii}tj ||¬ ¦«dt|d z ¦«i}t tt ¦«¦«|i¦«}t j¦«5t j¦«5d D]"}tj   |d ¦«Œ#|  |¦«td ¦«}|jdksJ‚td¦«}|jdksJ‚t!jt$¦«5td¦«d d d ¦«n #1swxYwYd d d ¦«n #1swxYwYd d d ¦«d S#1swxYwYd S)zˆ The finder should not import ``fullname`` if the intermediate segments don't exist (see pypa/setuptools#4019). r,r'r”rÞzb = 13ú config.pyza = 37)r(r*z helloworld.pyÚ componentsr4z src/mypkg)r'z mypkg.configúmypkg.helloworldzmypkg.componentsúmypkg.components.configúmypkg.components.helloworldNr-rìr,rãr.)rBrCrDrErr rrÐrÑržrÒrÓrÂrrÔrírerr)rqrJr1r×rØrÙrbÚ helloworlds r$Útest_intermediate_packagesz-TestFinderTemplate.test_intermediate_packagesäsJ€ð ØØ#%Ø!)Ø%-à# Xð#ð ðð ð  ˆõ Œ ×Ò˜%¨ÐÑ1Ô1Ð1à�C ¨;Ñ 6Ñ7Ô7Ð8ˆÝ#¥C­©¬¡L¤L°'¸2Ñ>Ô>ˆå Ô Ñ "Ô "ð =ð =¥HÔ$=Ñ$?Ô$?ð =ð =ðð +ð +�õ” —’  TÑ*Ô*Ð*Ð*à × Ò  Ñ )Ô )Ð )å"Ð#<Ñ=Ô=ˆFØ”8˜r’>�>�>�>å&Ð'9Ñ:Ô:ˆJØ”< 2Ò%Ð%Ð%Ð%å”�{Ñ+Ô+ð =ð =ÝÐ;Ñ<Ô<Ð<ð =ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð' =ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s[ÂE+ÂB EÄ D<Ä0 EÄ<E ÅEÅE ÅEÅ E+ÅE ÅE+ÅE ÅE+Å+E/Å2E/N)r„r…r†Ú__doc__rÂrÜrçrïrrrr!r%r(r0r‰r&r$r¼r¼¹sÈ€€€€€ððð ððð *ð*ð*ð@=ð=ð=ð. ð ð ð6) ð) ð) ðV" ð" ð" ðH%ð%ð%ð*(ð(ð(ð0'ð'ð'ðR'6ð'6ð'6ðR*=ð*=ð*=ð*=ð*=r&r¼c óN—ddiddœdddidœdd dd iiidd idd idd idœ}tj ||¬¦«ddddœ}gd¢}t|||¦«}|t |dz ¦«t |dz ¦«t |dz ¦«t |dz ¦«t |dz ¦«t |dz ¦«dœksJ‚t t t||¦«¦«¦«}|ddhksJ‚t t|¦«¦«}|hd£ksJ‚dS)r½r(zab = 1r�)rír(zd = 1zde = 1)r(ÚeÚgÚhzfgh = 1zabc = 1z abcxyz = 1z mnopq = 1)rÔÚdÚfÚotherÚanotherÚ yet_anotherr4r8r9r:)úa.b.cú a.b.c.x.y.zú m.n.o.p.q) rÔúa.br;ú a.b.c.x.yr<r6zd.er7úf.gzf.g.hr=rÔr6r7)rÔr;r<r6r7r=r@>úm.núm.n.oúa.b.c.xúm.n.o.pÚmr>r?N) rBrCrDrrEÚsetr«rr)rJr1r÷røÚrootsr|s r$Útest_pkg_rootsrHs™€ð " 8Ð,¸WÐ EÐ EØ$¨M¸8Ð+DÐ EÐ EØ�C˜-¨Ð3Ð4Ð 5Ø Ð+Ø! <Ð0Ø% {Ð3ð  ð €Eõ „K×Ò�e HÐÑ-Ô-Ð-àØ Ø"ðð€Kð ð ð €Hõ  ¨+°xÑ @Ô @€EØ Ý �˜C‘Ñ Ô Ý�X Ñ'Ñ(Ô(ݘ8 iÑ/Ñ0Ô0Ý �˜C‘Ñ Ô Ý �˜C‘Ñ Ô Ý˜ MÑ1Ñ2Ô2ð ðò ð ð ð õ �TÕ" 8¨UÑ3Ô3Ñ 4Ô 4Ñ 5Ô 5€BØ �#�u�Ò Ð Ð Ð å Õ % eÑ ,Ô ,Ñ -Ô -€BØ ÐPÐPÐPÒ PÐ PÐ PÐ PÐ PÐ Pr&c ó<—eZdZUdZee¦«eddddddddœdœd œZd ed <eee¦«eddd ed id œee¦«ed¦«zeddded ddœed ddœee¦«eddd ed ded ddœid œdœZe j   e j dkd¬¦«e j  de ¦«¦«d„¦«¦«ZdS)ÚTestOverallBehaviourz· [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] name = "mypkg" version = "3.14159" r+r”zvar = 42zvar = 13ú resource 39)r(rÇzresource_file.txt)r(rÅÚ subpackage)r*r+ú otherfile.pyr'zdict[str, Any]Ú FLAT_LAYOUTr')r*r+rMr,zÇ [tool.setuptools] packages = ["mypkg", "mypkg.subpackage"] [tool.setuptools.package-dir] "mypkg.subpackage" = "other" rÅ)r(rÅrL)r*r+rMr'r8)rÅrL)ú flat-layoutú src-layoutú custom-layoutÚ namespacer-r.r/Úlayoutcój—td|||j|g|¢RŽ\}}d}| ddt|¦«g¦«}d|vsJ‚d} | ddt| ¦«g¦«}d|vsJ‚d} | ddt| ¦«g¦«}d |vsJ‚t | d ¦«¦«} t | d ¦«¦«} t | d ¦«¦«} |  d d¬¦«|  dd¬¦«|  dd¬¦«| ddt| ¦«g¦«}d|vsJ‚d|vsJ‚| ddt| ¦«g¦«}d |vsJ‚d|vsJ‚dS)Nr'zj try: import otherfile except ImportError as ex: print(ex) r6rRzNo module named 'otherfile'zy import mypkg, mypkg.mod1, mypkg.subpackage.mod2 print(mypkg.mod1.var, mypkg.subpackage.mod2.var) z42 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")) rKú **/mod1.pyú **/mod2.pyú**/resource_file.txtzvar = 17r=r>z var = 781z resource 374z17 781)Úinstall_projectÚEXAMPLESrGrrrorI)rqrJrKrSr%rLÚ_Úcmd_import_errorr™Ú cmd_get_varsÚcmd_get_resourcerÚrËÚ resource_files r$Útest_editable_installz*TestOverallBehaviour.test_editable_install…sü€õ%Ø �T˜8 T¤]°6Ô%:ð Ø=Jð ð ð ‰ ˆ�ð  Ðð �hŠh˜ $­Ð/?Ñ(@Ô(@ÐAÑBÔBˆØ,°Ð3Ð3Ð3Ð3ð ˆ ð�hŠh˜ $­¨|Ñ(<Ô(<Ð=Ñ>Ô>ˆØ˜#ˆ~ˆ~ˆ~ˆ~ð Ðð �hŠh˜ $­Ð/?Ñ(@Ô(@ÐAÑBÔBˆØ Ð#Ð#Ð#Ð#õ�G—L’L Ñ.Ô.Ñ/Ô/ˆÝ�G—L’L Ñ.Ô.Ñ/Ô/ˆÝ˜WŸ\š\Ð*@ÑAÔAÑBÔBˆ à �Š˜ ¨WˆÑ5Ô5Ð5Ø �Š˜ ¨gˆÑ6Ô6Ð6Ø× Ò  ¸'Ð ÑBÔBÐBà�hŠh˜ $­¨|Ñ(<Ô(<Ð=Ñ>Ô>ˆØ˜cÐ!Ð!Ð!Ð!ؘ3ˆˆˆˆà�hŠh˜ $­Ð/?Ñ(@Ô(@ÐAÑBÔBˆØ CÐ'Ð'Ð'Ð'Ø Ð$Ð$Ð$Ð$Ð$Ð$r&N)r„r…r†Ú PYPROJECTrr˜rNÚ__annotations__rYrer‡Úxfailržr´rˆÚkeysr_r‰r&r$rJrJBsÒ€€€€€€ð €Ið!˜& Ñ+Ô+ؘ}Ô-ØàØ!à!Ø%Ø%2ððð ð ð #ð #€Kð ð ð ñ ð #à$˜f YÑ/Ô/Ø" =Ô1ØØ˜[¨Ô1Ð2ð  ð ð%˜f YÑ/Ô/؈fðñôñ ð# =Ô1Øà!Ø& wÔ/° Ô:ððð! Ô)¨,Ô7ð# ð ð(%˜f YÑ/Ô/Ø" =Ô1ØàØ*¨7Ô3°IÔ>Ø"-¨gÔ"6°|Ô"Dðððð  ð  ð7&ð&€HðP „[×Ò�s”| xÒ/Ð8NÐÑOÔOØ „[×Ò˜X x§}¢}¡¤Ñ7Ô7ð0%ð0%ñ8Ô7ñPÔOð0%ð0%ð0%r&rJcóš—eZdZeejd¦«Zedxxed¦«z cc<deddd<d„Zd „Z d S) Ú TestLinkTreerPr*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ó—tj |j|¬¦«t |¦«5d}t ddi¦«}| ¦«t¦«}|dz }|dz }| ¦«| ¦«|  d¦«}d|_ t|¦«|_ |  ¦«| ¦«}| ¦«} t!||||¦«} | ||| ¦«t#| d ¦«¦«} |d z } t'| | ¦«t#| d ¦«d¦«�J‚t#| d ¦«d¦«�J‚t#| d ¦«d¦«�J‚t#| d¦«d¦«�J‚ ddd¦«dS#1swxYwYdS)Nr4z mypkg-3.14159röróz.auxz.buildÚbuild_pyTrUzsrc/mypkg/mod1.pyz **/subpackagerVrWz**/resource.not_in_manifest)rBrCrDÚFILESÚ_PathrÚparse_config_filesr rAÚget_command_objÚ editable_moderEÚ build_libÚensure_finalizedÚ get_outputsÚget_output_mappingrrroÚassert_link_to) rqrJrlrwÚwheelÚauxrDrhÚoutputsÚoutput_mappingÚ make_treerÚrÛs r$Útest_generated_treez TestLinkTree.test_generated_treeËsH€ÝŒ ×Ò˜$œ*¨XÐÑ6Ô6Ð6å �8‰_Œ_ð Oð OØ"ˆDÝ ° Ð <Ñ=Ô=ˆDØ × #Ò #Ñ %Ô %Ð %å‘F”FˆEؘVÑ#ˆCؘxÑ'ˆEØ �IŠI‰KŒKˆKØ �KŠK‰MŒMˆMà×+Ò+¨JÑ7Ô7ˆHØ%)ˆHÔ "Ý!$ U¡¤ˆHÔ Ø × %Ò %Ñ 'Ô 'Ð 'Ø×*Ò*Ñ,Ô,ˆGØ%×8Ò8Ñ:Ô:ˆNå! $¨¨c°5Ñ9Ô9ˆIØ ˆI�e˜W nÑ 5Ô 5Ð 5嘟š Ñ.Ô.Ñ/Ô/ˆDØÐ"5Ñ5ˆHÝ ˜4 Ñ *Ô *Ð *嘟š Ñ1Ô1°4Ñ8Ô8Ð@Ð@Ð@ݘŸš Ñ.Ô.°Ñ5Ô5Ð=Ð=Ð=ݘŸšÐ!7Ñ8Ô8¸$Ñ?Ô?ÐGÐGÐG嘟šÐ!>Ñ?Ô?ÀÑFÔFÐNÐNÐNÐNð; Oð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oð Oð Os¶F>HÈHÈ Hcó2—ddg}td|||jg|¢RŽ| gd¢¦«}d|vsJ‚d}| ddt|¦«g¦«}d |vsJ‚d }| ddt|¦«g¦«}d |vsJ‚d |vsJ‚dS) Nr r!r'©r6rRz(import mypkg.mod1; print(mypkg.mod1.var)r`zv try: from mypkg import subpackage except ImportError as ex: print(ex) r6rRú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) zNo such file or directoryrf)rXrirGr)rqrJrKr‚r™r[r]s r$Útest_strict_installz TestLinkTree.test_strict_installís߀Ø#Ð%;Ð<ˆÝ˜  x°´ÐC¸dÐCÐCÐCÐCà�hŠhÐSÐSÐSÑTÔTˆØ�sˆ{ˆ{ˆ{ˆ{ð Ðð �hŠh˜ $­Ð/?Ñ(@Ô(@ÐAÑBÔBˆØ0°CÐ7Ð7Ð7Ð7ð Ðð�hŠh˜ $­Ð/?Ñ(@Ô(@ÐAÑBÔBˆØ*¨cÐ1Ð1Ð1Ð1Ø)¨SÐ0Ð0Ð0Ð0Ð0Ð0r&N) r„r…r†rrJrYrirrxr|r‰r&r$rereºs”€€€€€Ø ˆHÐ)Ô2°<Ô@Ñ AÔ A€EØ Ð ÐÐÔ˜v˜vð ñ ô ñ ÐÐÑð9>€Eˆ%„L�ÔÐ4Ñ5ð Oð Oð OðD1ð1ð1ð1ð1r&rez9ignore:.*compat.*:setuptools.SetuptoolsDeprecationWarningcó~—ddg}tjd}td|||g|¢RŽ| gd¢¦«}d|vsJ‚t t |¦«¦«}dD]-}t | dd |g¦«¦«}||vsJ‚Œ.d }| dd t |¦«g¦«}d |vsJ‚dS) Nr zeditable-mode=compatrQr'rzr`)z"import otherfile; print(otherfile)zimport other; print(other)zimport mypkg; print(mypkg)r6rRzc try: from mypkg import subpackage; except ImportError as ex: print(ex) r{)rJrYrXrGÚcomparable_pathrEr)rJrKr‚r1r™Ú expected_pathrMs r$Útest_compat_installr€ sõ€ð Ð!7Ð 8€DÝ Ô )¨/Ô :€EÝ�G˜T 8¨UÐ:°TÐ:Ð:Ð:Ð:à �(Š(ÐOÐOÐOÑ PÔ P€CØ �3ˆ;ˆ;ˆ;ˆ;å#¥C¨¡M¤MÑ2Ô2€Mðð$ð$ˆõ ˜dŸhšh¨°$¸Ð'<Ñ=Ô=Ñ>Ô>ˆØ Ð#Ð#Ð#Ð#Ð#ð €Cð �(Š(�H˜d¥F¨3¡K¤KÐ0Ñ 1Ô 1€CØ ,°Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3r&có˜—dddddd|g|¢}| |tj¬¦«| gd¢¦«}d |vsJ‚d S) z3Ensure editable installs work with pbr, issue #3500r6r7r8r–r9r¤©Ústderr)r6rRzimport mypkg.helloz Hello world!N)rGr²ÚSTDOUT)Ú pbr_packagerKr%rMr™s r$Útest_pbr_integrationr†.st€ð Ø Ø Ø ØØØð ð ð €Cð ‡H‚HˆS�Ô*€HÑ+Ô+Ð+Ø �(Š(Ð9Ð9Ð9Ñ :Ô :€CØ ˜SÐ Ð Ð Ð Ð Ð r&cóP—eZdZdZiejd¥ded¦«i¥Zd„ZdS)ÚTestCustomBuildPya$ 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. rOr2af 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óŒ—td|||j¦«\}}d|vsJ‚d|vsJ‚| gd¢¦«}d|vsJ‚dS)z>Ensure that errors in custom build_py are reported as warningsr'rzValueError: TEST_RAISErzr`N)rXrirG)rqrJrKrZr™s r$Útest_safeguarded_from_errorsz.TestCustomBuildPy.test_safeguarded_from_errors_sh€õ! ¨$°¸$¼*ÑEÔE‰ˆˆ3Ø-°Ð4Ð4Ð4Ð4Ø'¨3Ð.Ð.Ð.Ð.à�hŠhÐSÐSÐSÑTÔTˆØ�sˆ{ˆ{ˆ{ˆ{ˆ{ˆ{r&N) r„r…r†r1rJrYrrirŠr‰r&r$rˆrˆ@sd€€€€€ððð Ø Ô '¨ Ô 6ð à�F�Fð ñ  ô  ð ð €Eð$ððððr&rˆcó—eZdZd„Zd„ZdS)ÚTestCustomBuildWheelcó`—| d¦«}Gd„d|¦«}||jd<dS)NÚ bdist_wheelcó‡—eZdZˆfd„ZˆxZS)úETestCustomBuildWheel.install_custom_build_wheel..MyBdistWheelcó|•—|j d¦«rd}t¦« ¦«S)Nzmacosx-zmacOS platform)Ú plat_namer�ÚsuperÚget_tag)rqrZÚ __class__s €r$r”zMTestCustomBuildWheel.install_custom_build_wheel..MyBdistWheel.get_tagos6ø€ð”>×,Ò,¨YÑ7Ô7ð)Ø(�AÝ‘w”w—’Ñ(Ô(Ð(r&)r„r…r†r”Ú __classcell__)r•s@r$Ú MyBdistWheelr�ns8ø€€€€€ð )ð )ð )ð )ð )ð )ð )ð )ð )r&r—)Úget_command_classÚcmdclass)rqrwÚbdist_wheel_clsr—s r$Úinstall_custom_build_wheelz/TestCustomBuildWheel.install_custom_build_wheelksS€Ø×0Ò0°Ñ?Ô?ˆð )ð )ð )ð )ð )˜?ñ )ô )ð )ð(4ˆŒ �mÑ$Ð$Ð$r&có´—tj ddi¦«t¦«}d|_| ¦«| |¦«t|¦«}| ¦«|  ¦«ttt¦«  d¦«¦«¦«}d|vsJ‚dS)Nú module.pyr@r2ú dist/*.whlÚeditable)rBrCrDrröÚ set_defaultsr›rrorGrErrro)rqÚ tmpdir_cwdrwrMÚ wheel_files r$Útest_access_plat_namez*TestCustomBuildWheel.test_access_plat_namexs¾€õ Œ ×Ò˜;¨Ð1Ñ2Ô2Ð2݉~Œ~ˆØ%ˆÔØ ×ÒÑÔÐØ ×'Ò'¨Ñ-Ô-Ð-ݘTÑ"Ô"ˆØ ×ÒÑÔÐØ �Љ Œ ˆ Ý��d™fœfŸkšk¨,Ñ7Ô7Ñ8Ô8Ñ9Ô9ˆ ؘZÐ'Ð'Ð'Ð'Ð'Ð'r&N)r„r…r†r›r£r‰r&r$rŒrŒjs2€€€€€ð 4ð 4ð 4ð (ð (ð (ð (ð (r&rŒcóp—eZdZd„Zej ejdkd¬¦«d„¦«Z dS)ÚTestCustomBuildExtcóB—ddlm}Gd„d|¦«}||jd<dS)Nr)Ú build_extcó—eZdZdS)úITestCustomBuildExt.install_custom_build_ext_distutils..MyBuildExtN)r„r…r†r‰r&r$Ú MyBuildExtr©‹s€€€€€Ø ˆDr&rªr§)Údistutils.command.build_extr§r™)rqrwÚ build_ext_clsrªs r$Ú"install_custom_build_ext_distutilsz5TestCustomBuildExt.install_custom_build_ext_distutilsˆsR€ØJÐJÐJÐJÐJÐJð ð ð ð ð ˜ñ ô ð ð&0ˆŒ �kÑ"Ð"Ð"r&Úlinuxz(compilers may fail without correct setupr/c󾇗tj ddi¦«dtddg¦«gi}t |¦«}d|_| ¦«| |¦«t|¦«}|  ¦«|  ¦«ttt¦« d¦«¦«¦«}d|vsJ‚d„t¦« d ¦«D¦«}t|¦«d ksJ‚|d jŠt#ˆfd „t$D¦«¦«sJ‚dS) Nzmodule.cr”Ú ext_modulesÚmoduler2ržrŸcó(—g|]}|jdk¯ |‘ŒS)z.c)Úsuffix)r Úps r$r¡zITestCustomBuildExt.test_distutils_leave_inplace_files..¡s$€ÐHÐHÐH�q°q´xÀ4Ò7GÐ7G�Ð7GÐ7GÐ7Gr&zmodule.*rrc3óB•K—|]}‰ |¦«V—ŒdS©Nrú)r Úextrls €r$rþzHTestCustomBuildExt.test_distutils_leave_inplace_files..¤s/øèè€ÐDÐD¨#�4—=’= Ñ%Ô%ÐDÐDÐDÐDÐDÐDr&)rBrCrDrrrör r­rrorGrErrrorprlÚanyr)rqr¡rrwrMr¢r1rls @r$Ú"test_distutils_leave_inplace_filesz5TestCustomBuildExt.test_distutils_leave_inplace_files�sKø€õ Œ ×Ò˜: rÐ*Ñ+Ô+Ð+à �I h°° Ñ=Ô=Ð>ð ˆõ˜EÑ"Ô"ˆØ%ˆÔØ ×ÒÑÔÐØ ×/Ò/°Ñ5Ô5Ð5ݘTÑ"Ô"ˆØ ×ÒÑÔÐØ �Љ Œ ˆ Ý��d™fœfŸkšk¨,Ñ7Ô7Ñ8Ô8Ñ9Ô9ˆ ؘZÐ'Ð'Ð'Ð'ØHÐH�D™FœFŸKšK¨ Ñ3Ô3ÐHÑHÔHˆÝ�5‰zŒz˜QŠˆˆˆØ�QŒxŒ}ˆÝÐDÐDÐDÐDÕ1CÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDr&N) r„r…r†r­rer‡Úskipifržr´r¹r‰r&r$r¥r¥‡sj€€€€€ð0ð0ð0ð „[×ÒØ Œ ˜ÒÐ(RðñôðEðEñôðEðEðEr&r¥có6—tj ddi¦«t¦«}d|_| ¦«t |¦«}| ¦«tdtfi¦«}t|¦«¬¦«}|  |d|¦«tj |¦«5}| ¦«ddd¦«n #1swxYwYtd„|jjD¦«¦«sJ‚dS) z7Make sure to display useful debugging tips to the user.r�r@r2Ú SimulatedErr)Ú side_effectrkNc3óK—|]}d|vV—Œ dS)zdebugging-tipsNr‰)r Únotes r$rþz&test_debugging_tips..¶s(èè€ÐHÐH¨DР4Ð'ÐHÐHÐHÐHÐHÐHr&)rBrCrDrrör rroÚtypeÚ Exceptionr ÚsetattrrerrGr¸ÚvalueÚ __notes__)r¡rrrwrMr¼Úsimulated_failurervs r$Útest_debugging_tipsrƧs@€å „K×Ò�{ HÐ-Ñ.Ô.Ð.Ý ‰>Œ>€DØ!€DÔØ×ÒÑÔÐÝ ˜Ñ Ô €CØ×ÒÑÔÐ嘭¨ °bÑ9Ô9€Lݨ¨©¬Ð8Ñ8Ô8ÐØ×Ò˜Ð4Ð6GÑHÔHÐHå Œ�|Ñ $Ô $ð¨Ø �Љ Œ ˆ ðððñôððððððøøøððððå ÐHÐH°C´IÔ4GÐHÑHÔHÑ HÔ HÐHÐHÐ HÐHÐHsÃC)Ã)C-Ã0C-ÚerrorcóR—td¦«}t|t¦«sJ‚dS)z>Ensure _encode_pth function does not produce encoding warningsutkmilan_ç_utf8N)r Ú isinstanceÚbytes)Úcontents r$Útest_encode_pthr̹s.€õÐ+Ñ,Ô,€GÝ �g�uÑ %Ô %Ð%Ð%Ð %Ð%Ð%r&c óø—||z }| ¦«tj ||¬¦«g|¢d‘}| ddddddt |¦«g|¢t j¬ ¦«}||fS) Nr4r:r6r7r8r–r9r;r‚)rArBrCrDrGrEr²r„)rlrKrJr1r‚rLr™s r$rXrXÀsŠ€Ø˜‰o€GØ ‡M‚M�O„O€OÝ „K×Ò�e GÐÑ,Ô,Ð,Ø *ˆTÐ *Ð)Ð *€DØ �(Š(Ø �4˜  i°µs¸7±|´|ÐKÀdÐKÝÔ ð ñ ô €Cð �Cˆ<Ðr&có¤—d dtd„|D¦«¦«z¦«}|ddz  |d¬¦«dS) a5To 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. ú )z import sitec3óFK—|]}dtj|¦«›d�V—ŒdS)zsite.addsitedir(ú)N)r¬Úfspath)r Únew_dirs r$rþz_addsitedirs..Ôs8èè€ÐSÐS¸wÐ:¥2¤9¨WÑ#5Ô#5Ð:Ð:Ð:ÐSÐSÐSÐSÐSÐSr&rzsitecustomize.pyr=r>N)r¯ÚtuplerI)Únew_dirsrËs r$rªrªÌse€ð �iŠiØÝ ÐSÐSÈ(ÐSÑSÔSÑ SÔ Sñ Tñô€Gðˆa„[Ð%Ñ%×1Ò1°'ÀGÐ1ÑLÔLÐLÐLÐLr&cóÌ—|jrXtt|j¦«d¦«}|r6tt |¦« ¦«¦«|ksJ‚dSdSdSr¶)Ú__path__rÚiterrErrÕ)rQrÛrCs r$rÖrÖÜsr€à „|ð9Ý•D˜œÑ&Ô&¨Ñ-Ô-ˆØ ð 9Ý•t˜D‘z”z×)Ò)Ñ+Ô+Ñ,Ô,°Ò8Ð8Ð8Ð8ð9ð9ð 9ð 9Ø8Ð8r&Úfilerr8ÚreturnÚNonecó®—| ¦«rHt| ¦«¦«t| ¦«¦«ksJ‚dS| ¦«}| ¦«}|tj|tjksJ‚|tj|tjksJ‚dSr¶)Ú is_symlinkrErÕÚstatÚST_INOÚST_DEV)rÙr8Ú file_statÚ other_stats r$rrrräsª€Ø ‡‚ÑÔðAÝ�4—<’<‘>”>Ñ"Ô"¥c¨%¯-ª-©/¬/Ñ&:Ô&:Ò:Ð:Ð:Ð:Ð:Ð:à—I’I‘K”Kˆ Ø—Z’Z‘\”\ˆ Ø�œÔ%¨µD´KÔ)@Ò@Ð@Ð@Ð@Ø�œÔ%¨µD´KÔ)@Ò@Ð@Ð@Ð@Ð@Ð@r&Ú str_with_pathrEcóŽ—| ¦« tjd¦« dd¦«S)Nú/z//)ÚlowerÚreplacer¬Úsep)rãs r$r~r~îs6€Ø × Ò Ñ Ô × (Ò (­¬°Ñ 5Ô 5× =Ò =¸dÀCÑ HÔ HÐHr&)rÙrr8rrÚrÛ)rãrErÚrE)TÚ __future__rr¬r´rÞr²ržÚcopyrÚ importlibrÚimportlib.machineryrÚpathlibrÚtextwraprÚtypingr Ú unittest.mockr Úuuidr Ú jaraco.envsrBÚ jaraco.pathrerCrjÚsetuptools._importlibr räÚ!setuptools.command.editable_wheelr rrrrrrrÚsetuptools.distrÚsetuptools.extensionrÚsetuptools.warningsrr”rrÚdistutils.corerÚfixturer%rHr˜ÚSETUP_SCRIPT_STUBr‡rbrˆrNrUrXrZr‹rºr¼rHrJreÚfilterwarningsr€Ú uses_networkr†rˆrŒr¥rÆrÌrXrªrÖrrr~r‰r&r$úrþsÎðØ"Ð"Ð"Ð"Ð"Ð"à € € € Ø€€€Ø € € € ØÐÐÐØ € € € ØÐÐÐÐÐØ#Ð#Ð#Ð#Ð#Ð#Ø2Ð2Ð2Ð2Ð2Ð2ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐàÐÐÐØÐÐÐØ € € € ØÐÐÐÐÐàBÐBÐBÐBÐBÐBð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð)Ð(Ð(Ð(Ð(Ð(Ø*Ð*Ð*Ð*Ð*Ð*Ø<Ð<Ð<Ð<Ð<Ð<à"Ð"Ð"Ð"Ð"Ð"Ð"Ð"à$Ð$Ð$Ð$Ð$Ð$ð€„˜ )Ð,Ð-Ñ-Ô-ððñ.Ô-ðð�fð ñôð<�6ð ñô÷ ‚e�g„gØ(Ø6àØ!˜6ðñ ô ð"˜6ðñ ô ðØ%ð/ ð ð ðSD ðD €ðN7Ðð„×Ò�3”< 8Ò+Ð4JÐÑKÔKØ„×ÒØ à2ˆ7Ð2�JÐ 1Ð2Ð2Øðñôð>ð>ñôñLÔKð>ð2%*ð%*ð%*ðP#(ð#(ð#(ðL?;ð?;ð?;ð?;ð?;ñ?;ô?;ð?;ðDb0ðb0ðb0ðb0ðb0ñb0ôb0ðb0ðJ%*ð%*ð%*ðPU=ðU=ðU=ðU=ðU=ñU=ôU=ðU=ðp .Qð.Qð.Qðbu%ðu%ðu%ðu%ðu%ñu%ôu%ðu%ðpP1ðP1ðP1ðP1ðP1ñP1ôP1ðP1ðf„×ÒÐWÑXÔXð4ð4ñYÔXð4ð@„Ôð!ð!ñÔð!ð"'ð'ð'ð'ð'ñ'ô'ð'ðT(ð(ð(ð(ð(ñ(ô(ð(ð:EðEðEðEðEñEôEðEð@IðIðIð$„×Ò˜GÑ$Ô$ð&ð&ñ%Ô$ð&ð ð ð ð Mð Mð Mð 9ð9ð9ðAðAðAðAðIðIðIðIðIðIr&