Ë fßX‚%yDãóv—ddlZddlmZddlZejj ZGd„d«ZGd„de«Zy)éN)ÚlogcóV—eZdZdZd„Zd„Zd„Zd„ZdZ dZ d„Z d „Z d „Z e d „«Zy ) Ú Installerz -nspkg.pthcól—|j«}|sy|j«}|jj|«t j d|«t |j|«}|jr t|«yt|d«5}|j|«ddd«y#1swYyxYw)Nz Installing %sÚwt) Ú_get_all_ns_packagesÚ_get_nspkg_fileÚoutputsÚappendrÚinfoÚmapÚ_gen_nspkg_lineÚdry_runÚlistÚopenÚ writelines)ÚselfÚnspÚfilenameÚlinesÚfs ú:/usr/lib/python3.12/site-packages/setuptools/namespaces.pyÚinstall_namespaceszInstaller.install_namespaces s‹€Ø×'Ñ'Ó)ˆÙØ Ø×'Ñ'Ó)ˆØ � ‰ ×јHÔ%Ü �‰� (Ô+Ü�D×(Ñ(¨#Ó.ˆà �<Š<ä �ŒKØ ä �(˜DÔ ! QØ �L‰L˜Ô ÷"× !Ñ !ús ÂB*Â*B3cóº—|j«}tjj|«syt j d|«tj |«y)Nz Removing %s)r ÚosÚpathÚexistsrr Úremove)rrs rÚuninstall_namespaceszInstaller.uninstall_namespacess=€Ø×'Ñ'Ó)ˆÜ�w‰w�~‰~˜hÔ'Ø Ü �‰� Ô)Ü � ‰ �(Õócó€—tjj|j««\}}||jzS©N)rrÚsplitextÚ _get_targetÚ nspkg_ext)rrÚ_s rr zInstaller._get_nspkg_file$s2€Ü—g‘g×&Ñ& t×'7Ñ'7Ó'9Ó:‰ ˆ�!ؘ$Ÿ.™.Ñ(Ð(r có—|jSr")Útarget©rs rr$zInstaller._get_target(s €Ø�{‰{Ðr )zimport sys, types, osz$p = os.path.join(%(root)s, *%(pth)r)z(importlib = __import__('importlib.util')z!__import__('importlib.machinery')z�m = sys.modules.setdefault(%(pkg)r, importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec(%(pkg)r, [os.path.dirname(p)])))zCm = m or sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))z7mp = (m or []) and m.__dict__.setdefault('__path__',[])z(p not in mp) and mp.append(p))z4m and setattr(sys.modules[%(parent)r], %(child)r, m)có—y)Nz$sys._getframe(1).f_locals['sitedir']©r)s rÚ _get_rootzInstaller._get_root@s€Ø5r cóø—t|jd««}|j«}|j}|j d«\}}}|r||j z }dj |«t«zdzS)NÚ.Ú;Ú )ÚtupleÚsplitr,Ú _nspkg_tmplÚ rpartitionÚ_nspkg_tmpl_multiÚjoinÚlocals)rÚpkgÚpthÚrootÚ tmpl_linesÚparentÚsepÚchilds rrzInstaller._gen_nspkg_lineCsn€Ü�C—I‘I˜c“NÓ#ˆØ�~‰~ÓˆØ×%Ñ%ˆ Ø Ÿ^™^¨CÓ0ш��UÙ Ø ˜$×0Ñ0Ñ 0ˆJØ�x‰x˜ Ó#¤f£hÑ.°Ñ5Ð5r c ó˜—|jjxsg}ttt t |j |««««S)z,Return sorted list of all package namespaces)Ú distributionÚnamespace_packagesÚsortedÚsetÚflattenr Ú _pkg_names)rÚpkgss rrzInstaller._get_all_ns_packagesLs8€à× Ñ ×3Ñ3Ò9°rˆÜ”cœ'¤# d§o¡o°tÓ"<Ó=Ó>Ó?Ð?r c#ó€K—|jd«}|r'dj|«–—|j«|rŒ&yy­w)zÏ Given a namespace package, yield the components of that package. >>> names = Installer._pkg_names('a.b.c') >>> set(names) == set(['a', 'a.b', 'a.b.c']) True r.N)r2r6Úpop)r8Úpartss rrEzInstaller._pkg_namesQs4èø€ð— ‘ ˜#“ˆÙØ—(‘(˜5“/Ò !Ø �I‰IŒKôùs‚9>¼>N)Ú__name__Ú __module__Ú __qualname__r%rrr r$r3r5r,rrÚ staticmethodrEr+r rrr sT„Ø€Iò ò"ò)òð€Kð (àQÐØ;ò6ò6ò@ð ñ óñ r rcó—eZdZd„Zd„Zy)ÚDevelopInstallercó>—tt|j««Sr")ÚreprÚstrÚegg_pathr)s rr,zDevelopInstaller._get_rootbs€Ü”C˜Ÿ ™ Ó&Ó'Ð'r có—|jSr")Úegg_linkr)s rr$zDevelopInstaller._get_targetes €Ø�}‰}Ðr N)rJrKrLr,r$r+r rrOrOas „ò(ór rO) rÚ distutilsrÚ itertoolsÚchainÚ from_iterablerDrrOr+r rÚrZs8ðÛ ÝÛð �/‰/× 'Ñ '€÷UñUôp�yõr