§
    !@Äjúv  ã            
      óð  — d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	m
Z
 ddlmZ ddlmZmZ ddlmZmZ dd	lmZ dd
lmZ ddlmZmZ ddlmZ ddlmZ ddlmZmZm Z m!Z! ddl"m#Z$ dZ%ddddddœZ&ddddddœddddddœe&ddddddœddddddœd œZ'e%rd!d!d"d#d$dœe'd%<   d!d!d&d'd$dœe'd(<   e' (                    e$j)        ¦  «         dZ*d)„ Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0d/„ Z1d0„ Z2d1„ Z3 G d2„ d3e¦  «        Z4dS )4zFdistutils.command.install

Implements the Distutils 'install' command.é    )ÚannotationsN)ÚCallable)Úlog)Ú	USER_BASEÚ	USER_SITE)ÚAnyÚClassVaré   )ÚCommand)ÚDEBUG)ÚDistutilsOptionErrorÚDistutilsPlatformError)Ú
write_file)Úget_config_vars)Úchange_rootÚconvert_pathÚget_platformÚ
subst_varsé   )Ú_framework_compatTz{base}/Lib/site-packagesz{base}/Include/{dist_name}z{base}/Scriptsz{base})ÚpurelibÚplatlibÚheadersÚscriptsÚdatazA{base}/lib/{implementation_lower}{py_version_short}/site-packageszN{platbase}/{platlibdir}/{implementation_lower}{py_version_short}/site-packageszM{base}/include/{implementation_lower}{py_version_short}{abiflags}/{dist_name}z
{base}/binz!{base}/lib/{implementation_lower}z*{base}/{platlibdir}/{implementation_lower}z1{base}/include/{implementation_lower}/{dist_name}z{base}/site-packagesz{base}/include/{dist_name})Úposix_prefixÚ
posix_homeÚntÚpypyÚpypy_ntz
{usersite}zF{userbase}/{implementation}{py_version_nodot_plat}/Include/{dist_name}z:{userbase}/{implementation}{py_version_nodot_plat}/Scriptsz
{userbase}Únt_userzQ{userbase}/include/{implementation_lower}{py_version_short}{abiflags}/{dist_name}z{userbase}/binÚ
posix_userc                 ó¢   — t          j        t          ¦  «        5  d„ t          j        ¦   «         D ¦   «         cd d d ¦  «         S # 1 swxY w Y   d S )Nc                ó<   — i | ]}|t          j        |d ¬¦  «        “ŒS )F)Úexpand)Ú	sysconfigÚ	get_paths)Ú.0Úschemes     úVC:\Projects\Historical\venv\Lib\site-packages\setuptools/_distutils/command/install.pyú
<dictcomp>z+_load_sysconfig_schemes.<locals>.<dictcomp>f   s:   € ð 
ð 
ð 
àð •IÔ'¨°uÐ=Ñ=Ô=ð
ð 
ð 
ó    )Ú
contextlibÚsuppressÚAttributeErrorr&   Úget_scheme_names© r,   r*   Ú_load_sysconfig_schemesr2   d   sœ   € Ý	Ô	�^Ñ	,Ô	,ð 
ð 
ð
ð 
å#Ô4Ñ6Ô6ð
ñ 
ô 
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   šAÁAÁAc                 óŠ   ‡ — t          ¦   «         pi Š ˆ fd„t          t          j        t          ‰ ¦  «        ¦  «        D ¦   «         S )z=
    Extend default schemes with schemes from sysconfig.
    c                óx   •— i | ]6}|i t                                |i ¦  «        ¥‰                     |i ¦  «        ¥“Œ7S r1   )ÚINSTALL_SCHEMESÚget)r(   r)   Úsysconfig_schemess     €r*   r+   z!_load_schemes.<locals>.<dictcomp>s   s`   ø€ ð ð ð ð
 ð	 	ð 
Ý×!Ò! &¨"Ñ-Ô-ð
à×#Ò# F¨BÑ/Ô/ð
ðð ð r,   )r2   ÚsetÚ	itertoolsÚchainr5   )r7   s   @r*   Ú_load_schemesr;   l   sX   ø€ õ
 0Ñ1Ô1Ð7°RÐðð ð ð õ
 �)œ/­/Ð;LÑMÔMÑNÔNðñ ô ð r,   c                 ó4   — t          t          d¦  «        rdS dS )NÚpypy_version_infoÚPyPyÚPython)ÚhasattrÚsysr1   r,   r*   Ú_get_implementationrB   |   s   € Ý�sÐ'Ñ(Ô(ð Øˆvàˆxr,   c                óÔ   — t          |t          t          |¦  «        ¦  «        ¦  «        }t          | ¦  «                             t          | t          |¦  «        ¦  «        ¦  «         d S ©N)Ú_inject_headersÚ_load_schemeÚ_resolve_schemeÚvarsÚupdateÚ_remove_setÚ_scheme_attrs)ÚobÚnamer)   s      r*   Ú_select_schemerN   ƒ   sQ   € Ý˜T¥<µÀÑ0EÔ0EÑ#FÔ#FÑGÔG€FÝˆ�H„H‡O‚O•K ¥M°&Ñ$9Ô$9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r,   c                óD   ‡ — ˆ fd„|                      ¦   «         D ¦   «         S )z1
    Include only attrs that are None in ob.
    c                ó<   •— i | ]\  }}t          ‰|¦  «        ­||“ŒS rD   )Úgetattr)r(   ÚkeyÚvaluerL   s      €r*   r+   z_remove_set.<locals>.<dictcomp>Œ   s.   ø€ ÐSÐSÐS™:˜3 ½'À"ÀcÑ:JÔ:JÐ:RˆC�Ð:RÐ:RÐ:Rr,   )Úitems)rL   Úattrss   ` r*   rJ   rJ   ˆ   s(   ø€ ð TÐSÐSÐS¨¯ª©¬ÐSÑSÔSÐSr,   c                ó¬   — |                       d¦  «        \  }}}	 t          j        |¦  «        }n$# t          $ r t	          j        | ¦  «        }Y nw xY w|S )NÚ_)Ú	partitionr&   Úget_preferred_schemeÚ	ExceptionÚfwr)   )rM   Ú_os_nameÚ_seprR   Úresolveds        r*   rG   rG   �   sb   € ØŸ.š.¨Ñ-Ô-Ñ€Hˆd�Cð#ÝÔ1°#Ñ6Ô6ˆˆøÝð #ð #ð #Ý”9˜T‘?”?ˆˆˆð#øøøà€Os   ›0 °AÁAc                ó*   — t          ¦   «         |          S rD   )r;   )rM   s    r*   rF   rF   ˜   s   € Ý‰?Œ?˜4Ô Ð r,   c                ó\   — t          | ¦  «        }|                     d|d         ¦  «         |S )z¾
    Given a scheme name and the resolved scheme,
    if the scheme does not include headers, resolve
    the fallback scheme for the name and use headers
    from it. pypa/distutils#88
    r   )rF   Ú
setdefault)rM   r)   Úfallbacks      r*   rE   rE   œ   s1   € õ ˜DÑ!Ô!€HØ
×Ò�i ¨)Ô!4Ñ5Ô5Ð5Ø€Mr,   c                ó*   ‡ — ˆ fd„t           D ¦   «         S )z<Resolve install directories by applying the install schemes.c                ó(   •— i | ]}d |› �‰|         “ŒS )Úinstall_r1   )r(   rR   r)   s     €r*   r+   z!_scheme_attrs.<locals>.<dictcomp>¬   s(   ø€ ÐAÐAÐA¨cÐ�sÐÐ˜f SœkÐAÐAÐAr,   )ÚSCHEME_KEYS)r)   s   `r*   rK   rK   ª   s   ø€ àAÐAÐAÐAµ[ÐAÑAÔAÐAr,   c                  ó|  — e Zd ZU dZg d¢Zded<   g d¢Zded<   er1e                     dd	d
e	› d�f¦  «         e                     d¦  «         ddiZ
ded<   d0d„Zd0d„Zd0d„Zd0d„Zd0d„Zd0d„Zd„ Zd0d„Zd0d„Zd0d„Zd0d„Zd0d„Zd0d„Zd„ Zd „ Zd!„ Zd"„ Zd1d$„Zd1d%„Zd1d&„Zd1d'„Zd(efd)efd*efd+efd,d-„ fgZ d.ed/<   d	S )2Úinstallz'install everything from build directory))zprefix=Nzinstallation prefix)zexec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)zinstall-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=Nz<install everything relative to this alternate root directory)zinstall-purelib=Nz;installation directory for pure Python module distributions)zinstall-platlib=Nz8installation directory for non-pure module distributions)zinstall-lib=Nzginstallation directory for all module distributions (overrides --install-purelib and --install-platlib))zinstall-headers=Nz(installation directory for C/C++ headers)zinstall-scripts=Nz)installation directory for Python scripts)zinstall-data=Nz%installation directory for data files)ÚcompileÚczcompile .py to .pyc [default])ú
no-compileNzdon't compile .py files)z	optimize=ÚOzlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0])ÚforceÚfz1force installation (overwrite any existing files))ú
skip-buildNz2skip rebuilding everything (for testing/debugging))zrecord=Nz3filename in which to record list of installed fileszHClassVar[list[tuple[str, str, str]] | list[tuple[str, str | None, str]]]Úuser_options)ri   rm   ro   zClassVar[list[str]]Úboolean_optionsÚuserNzinstall in user site-package 'ú'rk   ri   zClassVar[dict[str, str]]Únegative_optÚreturnÚNonec                óx  — d| _         d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        t          | _        t          | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        dS )zInitializes options.NFT)ÚprefixÚexec_prefixÚhomerr   Úinstall_baseÚinstall_platbaseÚrootÚinstall_purelibÚinstall_platlibÚinstall_headersÚinstall_libÚinstall_scriptsÚinstall_datar   Úinstall_userbaser   Úinstall_usersiteri   ÚoptimizeÚ
extra_pathÚinstall_path_filerm   Ú
skip_buildÚwarn_dirÚ
build_baseÚ	build_libÚrecord©Úselfs    r*   Úinitialize_optionszinstall.initialize_optionsü   sÏ   € ð #'ˆŒØ'+ˆÔØ $ˆŒ	ØˆŒ	ð
 )-ˆÔØ,0ˆÔØ $ˆŒ	ð ,0ˆÔØ+/ˆÔØ+/ˆÔØ'+ˆÔØ+/ˆÔØ(,ˆÔÝ )ˆÔÝ )ˆÔàˆŒØˆŒð ˆŒØ!%ˆÔð ˆŒ
ØˆŒØˆŒð ˆŒØˆŒð ˆŒˆˆr,   c                ó	  — | j         s| j        s| j        r| j        s| j        rt          d¦  «        ‚| j        r| j         s| j        rt          d¦  «        ‚| j        r2| j         s| j        s| j        s| j        s| j        rt          d¦  «        ‚t          j        dk    r#| j        r|  	                    d¦  «         d| _        |  
                    d¦  «         t          j        dk    r|                      ¦   «          n|                      ¦   «          |  
                    d¦  «         t          j                             ¦   «         d	         }t!          d
d¦  «        \  }}	 t          j        }n# t$          $ r d}Y nw xY w| j                             ¦   «         | j                             ¦   «         | j                             ¦   «         |t          j        j        › dt          j        j        › �t          j        j        › t          j        j        › �|||||t5          t          dd¦  «        t7          ¦   «                              ¦   «         t7          ¦   «         dœ}dt5          t          dd¦  «                             dd¦  «        i}t<          r| j        |d<   | j         |d<   tC          j"        |tG          j        ¦   «         |tI          j%        ¦   «         ¦  «        | _&        |  '                    ¦   «          |  
                    d¦  «         | j        |d<   | j        |d<   tP          r2d	dl)m)} tU          d¦  «          |tW          | j&        ¦  «        ¦  «         |  ,                    ¦   «          |  
                    d¦  «         | j        r|  -                    ¦   «          | j.        €2| j         /                    ¦   «         r| j0        | _.        n| j1        | _.        |  2                    dddddddd¦  «         |  3                    ¦   «          | j.        | _4        t          j5         6                    | j.        | j7        ¦  «        | _.        | j8        �|  9                    d dddddd¦  «         |  
                    d!¦  «         |  :                    d"d#d$¦  «         dS )%zFinalizes options.zWmust supply either prefix/exec-prefix/home or install-base/install-platbase -- not bothz9must supply either home or prefix/exec-prefix -- not bothzGcan't combine user with prefix, exec_prefix/home, or install_(plat)baseÚposixz+exec-prefix option ignored on this platformNzpre-finalize_{unix,other}zpost-finalize_{unix,other}()r   rx   ry   Ú ú.Ú
platlibdirÚlib)Ú	dist_nameÚdist_versionÚdist_fullnameÚ
py_versionÚpy_version_shortÚpy_version_nodotÚ
sys_prefixrx   Úsys_exec_prefixry   Úabiflagsr•   Úimplementation_lowerÚimplementationÚpy_version_nodot_platÚwinverÚuserbaseÚusersitezpost-expand_basedirs()ÚbaseÚplatbase)Úpprintzconfig vars:zpost-expand_dirs()r   r   r   r   r   Úlibbasezafter prepending rootÚbuild)r‹   r‹   )rŒ   rŒ   );rx   ry   rz   r{   r|   r   rr   ÚosrM   ÚwarnÚ	dump_dirsÚfinalize_unixÚfinalize_otherrA   ÚversionÚsplitr   rŸ   r/   ÚdistributionÚget_nameÚget_versionÚget_fullnameÚversion_infoÚmajorÚminorrQ   rB   ÚlowerÚreplaceÚHAS_USER_SITEr„   r…   ÚcollectionsÚChainMapr&   r[   rH   Úconfig_varsÚexpand_basedirsr   r¨   ÚprintÚdictÚexpand_dirsÚcreate_home_pathr�   Úhas_ext_modulesr   r~   Úconvert_pathsÚhandle_extra_pathÚinstall_libbaseÚpathÚjoinÚ
extra_dirsr}   Úchange_rootsÚset_undefined_options)r�   rš   rx   ry   rŸ   Ú
local_varsÚcompat_varsr¨   s           r*   Úfinalize_optionszinstall.finalize_optionsI  sï  € ð  ŒKð 	˜4Ô+ð 	¨t¬yð 	ØÔð	Ø!%Ô!6ð	õ 'Øiñô ð ð Œ9ð 	˜$œ+ð 	¨Ô)9ð 	Ý&ØKñô ð ð Œ9ð 
	ØŒKð
	àÔð
	ð Œyð
	ð Ô ð	
	ð
 Ô$ð
	õ 'ð:ñô ð õ Œ7�gÒÐ $Ô"2ÐØ�IŠIÐCÑDÔDÐDØ#ˆDÔð 	�ŠÐ2Ñ3Ô3Ð3åŒ7�gÒÐØ×ÒÑ Ô Ð Ð à×ÒÑ!Ô!Ð!à�ŠÐ5Ñ6Ô6Ð6õ ”[×&Ò&Ñ(Ô(¨Ô+ˆ
Ý /°¸-Ñ HÔ HÑˆ�ð	Ý”|ˆHˆHøÝð 	ð 	ð 	àˆHˆHˆHð	øøøð Ô*×3Ò3Ñ5Ô5Ø Ô-×9Ò9Ñ;Ô;Ø!Ô.×;Ò;Ñ=Ô=Ø$Ý#&Ô#3Ô#9Ð TÐ T½CÔ<LÔ<RÐ TÐ TÝ#&Ô#3Ô#9Ð S½3Ô;KÔ;QÐ SÐ SØ ØØ*Ø&Ø Ý!¥# |°UÑ;Ô;Ý$7Ñ$9Ô$9×$?Ò$?Ñ$AÔ$AÝ1Ñ3Ô3ð
ð 
ˆ
ð( $¥W­S°(¸BÑ%?Ô%?×%GÒ%GÈÈRÑ%PÔ%Pð
ˆõ
 ð 	;Ø%)Ô%:ˆJ�zÑ"Ø%)Ô%:ˆJ�zÑ"å&Ô/ØÝÔ%Ñ'Ô'ØÝŒG‰IŒIñ	
ô 
ˆÔð 	×ÒÑÔÐà�ŠÐ/Ñ0Ô0Ð0ð "Ô.ˆ
�6ÑØ!%Ô!6ˆ
�:Ñåð 	+Ø%Ð%Ð%Ð%Ð%Ð%å�.Ñ!Ô!Ð!ØˆF•4˜Ô(Ñ)Ô)Ñ*Ô*Ð*ð 	×ÒÑÔÐà�ŠÐ+Ñ,Ô,Ð,ð Œ9ð 	$Ø×!Ò!Ñ#Ô#Ð#ð ÔÐ#ØÔ ×0Ò0Ñ2Ô2ð 8Ø#'Ô#7�Ô Ð à#'Ô#7�Ô ð 	×ÒØØØØØØØØñ		
ô 		
ð 		
ð  	×ÒÑ Ô Ð Ø#Ô/ˆÔÝœ7Ÿ<š<¨Ô(8¸$¼/ÑJÔJˆÔð Œ9Ð Ø×ÒØ˜5 )¨Y¸	À6È9ñô ð ð 	�ŠÐ.Ñ/Ô/Ð/ð 	×"Ò"ØÐ1Ð3Mñ	
ô 	
ð 	
ð 	
ð 	
s   ÅE+ Å+E:Å9E:c                ó’  — t           sdS ddlm} t          j        |dz   ¦  «         | j        D ]˜}|d         }|d         dk    r
|dd…         }|| j        v r4| j        |         }|                     |¦  «        }t          | |¦  «         }n%|                     |¦  «        }t          | |¦  «        }t          j        d||¦  «         Œ™dS )	zDumps the list of user options.Nr
   )Úlongopt_xlateú:r   éÿÿÿÿú=z  %s: %s)	r   Úfancy_getoptrÑ   r   Údebugrp   rt   Ú	translaterQ   )r�   ÚmsgrÑ   ÚoptÚopt_nameÚvals         r*   r­   zinstall.dump_dirsÿ  sñ   € åð 	ØˆFØ0Ð0Ð0Ð0Ð0Ð0åŒ	�#˜‘)ÑÔÐØÔ$ð 	1ð 	1ˆCØ˜1”vˆHØ˜Œ|˜sÒ"Ð"Ø# A b Dœ>�Ø˜4Ô,Ð,Ð,ØÔ,¨XÔ6�Ø#×-Ò-¨mÑ<Ô<�Ý! $¨Ñ1Ô1Ð1��à#×-Ò-¨mÑ<Ô<�Ý˜d HÑ-Ô-�ÝŒI�j (¨CÑ0Ô0Ð0Ð0ð	1ð 	1r,   c                óP  — | j         €| j        �I| j        du o| j        du o| j        du p| j        du p| j        du p| j        du }|rt          d¦  «        ‚dS | j	        r@| j
        €t          d¦  «        ‚| j
        x| _         | _        |                      d¦  «         dS | j        �*| j        x| _         | _        |                      d¦  «         dS | j        €�| j        �t          d¦  «        ‚t!          t"          dd¦  «        }t$          j                             t*          j        ¦  «        |z   | _        t$          j                             t*          j        ¦  «        |z   | _        n| j        €| j        | _        | j        | _         | j        | _        |                      d	¦  «         dS )
z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incompleteú$User base directory is not specifiedr"   r   z*must not supply exec-prefix without prefixÚ_prefix_additionr“   r   )r{   r|   r�   r~   r   r€   r‚   rƒ   r   rr   r„   r   Úselect_schemerz   rx   ry   rQ   r&   r«   rÈ   ÚnormpathrA   )r�   Úincomplete_schemerÞ   s      r*   r®   zinstall.finalize_unix  sç  € àÔÐ(¨DÔ,AÐ,Mð Ô$¨Ð,ð 5ØÔ,°Ð4ð5àÔ,°Ð4ð-ð
 Ô'¨4Ð/ð-ð Ô'¨4Ð/ð-ð Ô$¨Ð,ð ð !ð Ý*ð8ñô ð ð ˆFàŒ9ð 	/ØÔ$Ð,Ý,Ð-SÑTÔTÐTØ8<Ô8MÐMˆDÔ Ô 5Ø×Ò˜|Ñ,Ô,Ð,Ð,Ð,ØŒYÐ"Ø8<¼	ÐAˆDÔ Ô 5Ø×Ò˜|Ñ,Ô,Ð,Ð,Ð,àŒ{Ð"ØÔ#Ð/Ý.ØDñô ð õ
 $+­9Ð6HÈ"Ñ#MÔ#MÐ å œg×.Ò.­s¬zÑ:Ô:Ð=MÑM�”Ý#%¤7×#3Ò#3µC´OÑ#DÔ#DÐGWÑ#W�Ô Ð ð Ô#Ð+Ø'+¤{�DÔ$à $¤ˆDÔØ$(Ô$4ˆDÔ!Ø×Ò˜~Ñ.Ô.Ð.Ð.Ð.r,   c                ó6  — | j         rM| j        €t          d¦  «        ‚| j        x| _        | _        |                      t          j        dz   ¦  «         dS | j        �*| j        x| _        | _        |                      d¦  «         dS | j	        €.t          j
                             t          j	        ¦  «        | _	        | j	        x| _        | _        	 |                      t          j        ¦  «         dS # t          $ r t          dt          j        › d�¦  «        ‚w xY w)z)Finalizes options for non-posix platformsNrÝ   Ú_userr   z&I don't know how to install stuff on 'rs   )rr   r„   r   r{   r|   rß   r«   rM   rz   rx   rÈ   rà   rA   ÚKeyErrorrŽ   s    r*   r¯   zinstall.finalize_otherD  s  € àŒ9ð 	ØÔ$Ð,Ý,Ð-SÑTÔTÐTØ8<Ô8MÐMˆDÔ Ô 5Ø×Ò�rœw¨Ñ0Ñ1Ô1Ð1Ð1Ð1ØŒYÐ"Ø8<¼	ÐAˆDÔ Ô 5Ø×Ò˜|Ñ,Ô,Ð,Ð,Ð,àŒ{Ð"Ý œg×.Ò.­s¬zÑ:Ô:�”à8<¼ÐCˆDÔ Ô 5ðØ×"Ò"¥2¤7Ñ+Ô+Ð+Ð+Ð+øÝð ð ð Ý,ØG½R¼WÐGÐGÐGñô ð ðøøøs   ÃC0 Ã0(Dc                ó&   — t          | |¦  «         d S rD   )rN   )r�   rM   s     r*   rß   zinstall.select_schemeZ  s   € Ý�t˜TÑ"Ô"Ð"Ð"Ð"r,   c                óÚ   — |D ]g}t          | |¦  «        }|�St          j        dv rt          j                             |¦  «        }t          || j        ¦  «        }t          | ||¦  «         Œhd S )N)r’   r   )rQ   r«   rM   rÈ   Ú
expanduserr   r¾   Úsetattr)r�   rU   ÚattrrÛ   s       r*   Ú_expand_attrszinstall._expand_attrs]  sv   € Øð 	)ð 	)ˆDÝ˜$ Ñ%Ô%ˆCØˆÝ”7˜oÐ-Ð-Ýœ'×,Ò,¨SÑ1Ô1�CÝ   dÔ&6Ñ7Ô7�Ý˜˜d CÑ(Ô(Ð(øð	)ð 	)r,   c                ó4   — |                       g d¢¦  «         dS )zNCalls `os.path.expanduser` on install_base, install_platbase and
        root.)r{   r|   r}   N©rê   rŽ   s    r*   r¿   zinstall.expand_basedirsf  s%   € ð 	×ÒÐGÐGÐGÑHÔHÐHÐHÐHr,   c                ó4   — |                       g d¢¦  «         dS )z+Calls `os.path.expanduser` on install dirs.)r~   r   r�   r€   r‚   rƒ   Nrì   rŽ   s    r*   rÂ   zinstall.expand_dirsk  s3   € à×Òð 
ð 
ð 
ñ 	ô 	ð 	ð 	ð 	r,   c                ór   — |D ]3}d|z   }t          | |t          t          | |¦  «        ¦  «        ¦  «         Œ4dS )z!Call `convert_path` over `names`.re   N)rè   r   rQ   ©r�   ÚnamesrM   ré   s       r*   rÅ   zinstall.convert_pathsv  sP   € àð 	Cð 	CˆDØ Ñ$ˆDÝ�D˜$¥­W°T¸4Ñ-@Ô-@Ñ AÔ AÑBÔBÐBÐBð	Cð 	Cr,   c                óÖ  — | j         €| j        j         | _         | j         �·t          j        d¦  «         t	          | j         t
          ¦  «        r| j                              d¦  «        | _         t          | j         ¦  «        dk    r| j         d         x}}n2t          | j         ¦  «        dk    r| j         \  }}nt          d¦  «        ‚t          |¦  «        }nd}d}|| _
        || _        dS )	z4Set `path_file` and `extra_dirs` using `extra_path`.NzIDistribution option extra_path is deprecated. See issue27919 for details.ú,r   r   r
   zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsr“   )r‡   r²   r   ÚwarningÚ
isinstanceÚstrr±   Úlenr   r   Ú	path_filerÊ   )r�   r÷   rÊ   s      r*   rÆ   zinstall.handle_extra_path|  s÷   € àŒ?Ð"Ø"Ô/Ô:ˆDŒOàŒ?Ð&ÝŒKð.ñô ð õ ˜$œ/­3Ñ/Ô/ð =Ø"&¤/×"7Ò"7¸Ñ"<Ô"<�”å�4”?Ñ#Ô# qÒ(Ð(Ø)-¬¸Ô);Ð;�	˜J˜JÝ�T”_Ñ%Ô%¨Ò*Ð*Ø(,¬Ñ%�	˜:˜:å*ðBñô ð õ & jÑ1Ô1ˆJˆJàˆIØˆJð #ˆŒØ$ˆŒˆˆr,   c                ó~   — |D ]9}d|z   }t          | |t          | j        t          | |¦  «        ¦  «        ¦  «         Œ:dS )z:Change the install directories pointed by name using root.re   N)rè   r   r}   rQ   rï   s       r*   rË   zinstall.change_rootsŸ  sT   € àð 	Mð 	MˆDØ Ñ$ˆDÝ�D˜$¥¨D¬Iµw¸tÀTÑ7JÔ7JÑ KÔ KÑLÔLÐLÐLð	Mð 	Mr,   c                ó†  — | j         sdS t          t          j                             d¦  «        ¦  «        }| j                             ¦   «         D ]q}t          |¦  «                             |¦  «        rMt          j         	                    |¦  «        s.|  
                    d|› d�¦  «         t          j        |d¦  «         ŒrdS )zCreate directories under ~.Nú~zos.makedirs('z	', 0o700)iÀ  )rr   r   r«   rÈ   rç   r¾   Úvaluesrõ   Ú
startswithÚisdirÚdebug_printÚmakedirs)r�   rz   rÈ   s      r*   rÃ   zinstall.create_home_path¥  sº   € àŒyð 	ØˆFÝ�BœG×.Ò.¨sÑ3Ô3Ñ4Ô4ˆØÔ$×+Ò+Ñ-Ô-ð 	)ð 	)ˆDÝ�4‰yŒy×#Ò# DÑ)Ô)ð )µ"´'·-²-ÀÑ2EÔ2Eð )Ø× Ò Ð!@°Ð!@Ð!@Ð!@ÑAÔAÐAÝ”˜D %Ñ(Ô(Ð(øð	)ð 	)r,   c                ó  — | j         s\|                      d¦  «         | j                             d¦  «        j        }| j        r!|t          ¦   «         k    rt          d¦  «        ‚|                      ¦   «         D ]}|                      |¦  «         Œ| j	        r|  
                    ¦   «          | j        r�|                      ¦   «         }| j        rFt          | j        ¦  «        }t          t          |¦  «        ¦  «        D ]}||         |d…         ||<   Œ|                      t"          | j        |fd| j        › d�¦  «         t%          t&          j        j        t,          j        ¦  «        }t%          t&          j        j        |¦  «        }t&          j                             t&          j                             | j        ¦  «        ¦  «        }| j        r.| j	        r| j        s$||vrt5          j        d| j        ¦  «         dS dS dS dS )zRuns the command.rª   z"Can't install when cross-compilingNz$writing list of installed files to 'rs   zƒmodules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)r‰   Úrun_commandr²   Úget_command_objÚ	plat_namerŠ   r   r   Úget_sub_commandsr÷   Úcreate_path_filer�   Úget_outputsr}   rö   ÚrangeÚexecuter   Úmapr«   rÈ   rà   rA   Únormcaser�   rˆ   r   rÖ   )r�   Ú
build_platÚcmd_nameÚoutputsÚroot_lenÚcounterÚsys_pathr�   s           r*   Úrunzinstall.run±  s   € ð Œð 	SØ×Ò˜WÑ%Ô%Ð%àÔ*×:Ò:¸7ÑCÔCÔMˆJð Œ}ð S ­|©~¬~Ò!=Ð!=Ý,Ð-QÑRÔRÐRð ×-Ò-Ñ/Ô/ð 	'ð 	'ˆHØ×Ò˜XÑ&Ô&Ð&Ð&àŒ>ð 	$Ø×!Ò!Ñ#Ô#Ð#ð Œ;ð 
	Ø×&Ò&Ñ(Ô(ˆGØŒyð CÝ˜tœy™>œ>�Ý$¥S¨¡\¤\Ñ2Ô2ð Cð C�GØ'.¨wÔ'7¸¸	¸	Ô'B�G˜GÑ$Ð$Ø�LŠLÝØ”˜gÐ&ØE°t´{ÐEÐEÐEñô ð õ •r”wÔ'­¬Ñ2Ô2ˆÝ•r”wÔ'¨Ñ2Ô2ˆÝ”g×&Ò&¥r¤w×'7Ò'7¸Ô8HÑ'IÔ'IÑJÔJˆàŒMð	à”^ð	à(,Ô(>ð	ð  8Ð+Ð+åŒIðEð Ô ñô ð ð ð ð	ð 	ð ,Ð+ð	ð 	r,   c                óò   — t           j                             | j        | j        dz   ¦  «        }| j        r)|                      t          || j        gfd|› �¦  «         dS |  	                    d|› d�¦  «         dS )zCreates the .pth fileú.pthz	creating zpath file 'z' not createdN)
r«   rÈ   rÉ   rÇ   r÷   rˆ   r  r   rÊ   r¬   )r�   Úfilenames     r*   r  zinstall.create_path_fileã  sŒ   € å”7—<’< Ô 4°d´nÀvÑ6MÑNÔNˆØÔ!ð 	=Ø�LŠLÝ˜X¨¬Ð'8Ð9Ð;QÀxÐ;QÐ;Qñô ð ð ð ð �IŠIÐ; HÐ;Ð;Ð;Ñ<Ô<Ð<Ð<Ð<r,   c                ó^  — g }|                       ¦   «         D ]G}|                      |¦  «        }|                     ¦   «         D ]}||vr|                     |¦  «         ŒŒH| j        rG| j        r@|                     t          j                             | j	        | j        dz   ¦  «        ¦  «         |S )z.Assembles the outputs of all the sub-commands.r  )
r  Úget_finalized_commandr  Úappendr÷   rˆ   r«   rÈ   rÉ   rÇ   )r�   r  r  Úcmdr  s        r*   r  zinstall.get_outputsï  s¼   € àˆØ×-Ò-Ñ/Ô/ð 	-ð 	-ˆHØ×,Ò,¨XÑ6Ô6ˆCð  ŸOšOÑ-Ô-ð -ð -�Ø 7Ð*Ð*Ø—N’N 8Ñ,Ô,Ð,øð-ð Œ>ð 	X˜dÔ4ð 	XØ�NŠN�2œ7Ÿ<š<¨Ô(<¸d¼nÈvÑ>UÑVÔVÑWÔWÐWàˆr,   c                ó°   — g }|                       ¦   «         D ]>}|                      |¦  «        }|                     |                     ¦   «         ¦  «         Œ?|S )z*Returns the inputs of all the sub-commands)r  r  ÚextendÚ
get_inputs)r�   Úinputsr  r  s       r*   r  zinstall.get_inputsÿ  s[   € ð ˆØ×-Ò-Ñ/Ô/ð 	,ð 	,ˆHØ×,Ò,¨XÑ6Ô6ˆCØ�MŠM˜#Ÿ.š.Ñ*Ô*Ñ+Ô+Ð+Ð+àˆr,   Úboolc                óf   — | j                              ¦   «         p| j                              ¦   «         S )zSReturns true if the current distribution has any Python
        modules to install.)r²   Úhas_pure_modulesrÄ   rŽ   s    r*   Úhas_libzinstall.has_lib  s/   € ð Ô×.Ò.Ñ0Ô0ÐW°DÔ4E×4UÒ4UÑ4WÔ4Wð	
r,   c                ó4   — | j                              ¦   «         S )zLReturns true if the current distribution has any headers to
        install.)r²   Úhas_headersrŽ   s    r*   r"  zinstall.has_headers  ó   € ð Ô ×,Ò,Ñ.Ô.Ð.r,   c                ó4   — | j                              ¦   «         S )zMReturns true if the current distribution has any scripts to.
        install.)r²   Úhas_scriptsrŽ   s    r*   r%  zinstall.has_scripts  r#  r,   c                ó4   — | j                              ¦   «         S )zJReturns true if the current distribution has any data to.
        install.)r²   Úhas_data_filesrŽ   s    r*   Úhas_datazinstall.has_data  s   € ð Ô ×/Ò/Ñ1Ô1Ð1r,   r�   r€   r‚   rƒ   Úinstall_egg_infoc                ó   — dS )NTr1   rŽ   s    r*   ú<lambda>zinstall.<lambda>(  s   € ¨$€ r,   z8ClassVar[list[tuple[str, Callable[[Any], bool] | None]]]Úsub_commands)ru   rv   )ru   r  )!Ú__name__Ú
__module__Ú__qualname__Údescriptionrp   Ú__annotations__rq   r»   r  r   rt   r�   rÏ   r­   r®   r¯   rß   rê   r¿   rÂ   rÅ   rÆ   rË   rÃ   r  r  r  r  r   r"  r%  r(  r,  r1   r,   r*   rh   rh   ¯   s±  € € € € € € Ø;€Kð:	ð :	ð :	ð ð <ð <ð <ñ <ð| ,NÐ+MÐ+M€OÐMÐMÐMÑMàð 'Ø×ÒØØØ9¨YÐ9Ð9Ð9ð
ñ 	ô 	ð 	ð
 	×Ò˜vÑ&Ô&Ð&à.:¸IÐ-F€LÐFÐFÐFÑFðEð Eð Eð EðZq
ð q
ð q
ð q
ðl1ð 1ð 1ð 1ð(//ð //ð //ð //ðbð ð ð ð,#ð #ð #ð #ð)ð )ð )ðIð Ið Ið Ið
	ð 	ð 	ð 	ðCð Cð Cð Cð!%ð !%ð !%ð !%ðFMð Mð Mð Mð)ð )ð )ð )ð0ð 0ð 0ðd=ð =ð =ðð ð ð ð ð ð
ð 
ð 
ð 
ð/ð /ð /ð /ð
/ð /ð /ð /ð
2ð 2ð 2ð 2ð 
˜Ð Ø	˜KÐ(Ø	˜KÐ(Ø	˜Ð"Ø	Ð.Ð.Ð/ðN€Lð ð ð ñ ð ð r,   rh   )5Ú__doc__Ú
__future__r   r¼   r-   r9   r«   rA   r&   Úcollections.abcr   Údistutils._logr   Úsiter   r   Útypingr   r	   Úcorer   rÖ   r   Úerrorsr   r   Ú	file_utilr   r   Úutilr   r   r   r   r“   r   r[   r»   ÚWINDOWS_SCHEMEr5   rI   Úschemesrf   r2   r;   rB   rN   rJ   rG   rF   rE   rK   rh   r1   r,   r*   ú<module>r>     s-  ðð/ð /ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ "Ð "Ð "Ð "Ð "Ð "Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ %Ð %Ð %Ð %Ð %Ð %à€ð *Ø)Ø+ØØðð €ð Wð+ð3àØðð ð 7Ø?ØFØØðð ð à)Ø)Ø/ØØðð ð *Ø)Ø/Ø#Øðð ð3 ð  €ðF ð àØðàOØð"ð "€O�IÑð  Øð3à#Øð%ð %€O�LÑ!ð × Ò �r”zÑ "Ô "Ð "ð C€ð
ð 
ð 
ðð ð ð ð ð ð<ð <ð <ð
Tð Tð Tðð ð ð!ð !ð !ðð ð ðBð Bð Bð
z	ð z	ð z	ð z	ð z	ˆgñ z	ô z	ð z	ð z	ð z	r,   