ó
    Á›‘hc  ã                   ó‚   • S SK r S SKrSSKJr  S SKJr  \ R                  R                  r " S S5      r	 " S S\	5      r
g)	é    Né   )Úpy312)Úlogc                   óf   • \ rS rSrSrSS jrSS jrS rS rSr	 S	r
 S
 rS rS r\S 5       rSrg)Ú	Installeré   z
-nspkg.pthNc                 ó¦  • U R                  5       nU(       d  g U R                  5       nU R                  R                  U5        [        R
                  " SU5        [        U R                  U5      nU R                  (       a  [        U5        g [        US[        R                  S9 nUR                  U5        S S S 5        g ! , (       d  f       g = f)NzInstalling %sÚwt)Úencoding)Ú_get_all_ns_packagesÚ_get_nspkg_fileÚoutputsÚappendr   ÚinfoÚmapÚ_gen_nspkg_lineÚdry_runÚlistÚopenr   ÚPTH_ENCODINGÚ
writelines)ÚselfÚnspÚfilenameÚlinesÚfs        ÚYC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\setuptools/namespaces.pyÚinstall_namespacesÚInstaller.install_namespaces   s•   € Ø×'Ñ'Ó)ˆÞØØ×'Ñ'Ó)ˆØ�‰×Ñ˜HÔ%Ü�Š� (Ô+Ü�D×(Ñ(¨#Ó.ˆà�<�<ä�ŒKØä�(˜D¬5×+=Ñ+=Ò>À!ð �L‰L˜Ô÷ ?×>Ö>ús   Â'CÃ
Cc                 óÈ   • U R                  5       n[        R                  R                  U5      (       d  g [        R
                  " SU5        [        R                  " U5        g )NzRemoving %s)r   ÚosÚpathÚexistsr   r   Úremove)r   r   s     r   Úuninstall_namespacesÚInstaller.uninstall_namespaces!   s@   € Ø×'Ñ'Ó)ˆÜ�w‰w�~‰~˜h×'Ñ'ØÜ�Š� Ô)Ü
�	Š	�(Õó    c                 ó|   • [         R                  R                  U R                  5       5      u  pXR                  -   $ ©N)r!   r"   ÚsplitextÚ_get_targetÚ	nspkg_ext)r   r   Ú_s      r   r   ÚInstaller._get_nspkg_file(   s.   € Ü—g‘g×&Ñ& t×'7Ñ'7Ó'9Ó:‰ˆØŸ.™.Ñ(Ð(r'   c                 ó   • U R                   $ r)   )Útarget©r   s    r   r+   ÚInstaller._get_target,   s   € Ø�{‰{Ðr'   )zimport 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                 ó   • g)Nz$sys._getframe(1).f_locals['sitedir']© r1   s    r   Ú	_get_rootÚInstaller._get_rootD   s   € Ø5r'   c                 óþ   • [        UR                  S5      5      nU R                  5       nU R                  nUR	                  S5      u  pVnU(       a  X@R
                  -  nSR                  U5      [        5       -  S-   $ )NÚ.Ú;Ú
)ÚtupleÚsplitr5   Ú_nspkg_tmplÚ
rpartitionÚ_nspkg_tmpl_multiÚjoinÚlocals)r   ÚpkgÚpthÚrootÚ
tmpl_linesÚparentÚsepÚchilds           r   r   ÚInstaller._gen_nspkg_lineG   sj   € Ü�C—I‘I˜c“NÓ#ˆØ�~‰~ÓˆØ×%Ñ%ˆ
Ø Ÿ^™^¨CÓ0Ñˆ�UÞØ×0Ñ0Ñ0ˆJØ�x‰x˜
Ó#¤f£hÑ.°Ñ5Ð5r'   c           
      ó¢   • U R                   R                  =(       d    / n[        [        [	        [        U R                  U5      5      5      5      $ )z,Return sorted list of all package namespaces)ÚdistributionÚnamespace_packagesÚsortedÚsetÚflattenr   Ú
_pkg_names)r   Úpkgss     r   r   ÚInstaller._get_all_ns_packagesP   s8   € à× Ñ ×3Ñ3×9°rˆÜ”cœ'¤# d§o¡o°tÓ"<Ó=Ó>Ó?Ð?r'   c              #   ó–   #   • U R                  S5      nU(       a-  SR                  U5      v •  UR                  5         U(       a  M,  gg7f)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
r8   N)r<   r@   Úpop)rB   Úpartss     r   rP   ÚInstaller._pkg_namesU   s5   é € ð —	‘	˜#“ˆÞØ—(‘(˜5“/Ò!Ø�I‰IŒK÷ Šeùs   ‚AA	ÁA	r4   )ÚreturnN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r,   r   r%   r   r+   r=   r?   r5   r   r   ÚstaticmethodrP   Ú__static_attributes__r4   r'   r   r   r      sT   † Ø€Iô ô&ò)òð€Kð  (àQÐØ;ò6ò6ò@ð
 ñó ór'   r   c                   ó    • \ rS rSrS rS rSrg)ÚDevelopInstallerée   c                 ó>   • [        [        U R                  5      5      $ r)   )ÚreprÚstrÚegg_pathr1   s    r   r5   ÚDevelopInstaller._get_rootf   s   € Ü”C˜Ÿ™Ó&Ó'Ð'r'   c                 ó   • U R                   $ r)   )Úegg_linkr1   s    r   r+   ÚDevelopInstaller._get_targeti   s   € Ø�}‰}Ðr'   r4   N)rX   rY   rZ   r[   r5   r+   r]   r4   r'   r   r_   r_   e   s   † ò(õr'   r_   )Ú	itertoolsr!   Úcompatr   Ú	distutilsr   ÚchainÚfrom_iterablerO   r   r_   r4   r'   r   Ú<module>rn      s9   ðÛ Û 	å å à
�/‰/×
'Ñ
'€÷Wñ Wôt�yõ r'   