+
    
�iç  ã                   ó¶   € R 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 ]P$                  ! R	4      t ]t ! R
 R]4      tR# )zRdistutils.command.build_scripts

Implements the Distutils 'build_scripts' command.N)Ú	sysconfig)Úlog)ÚST_MODE)ÚClassVar)Únewer)ÚCommand)Úconvert_pathz^#!.*python[0-9.]*([ 	].*)?$c                   ó~   a € ] tR t^t o Rt. ROtR.tR tR tR t	R t
R tR tR	 tR
 t]R 4       tV 3R ltRtV tR# )Úbuild_scriptsz("build" scripts (copy and fixup #! line)Úforcec                ó>   € R V n         R V n        R V n        R V n        R # ©N)Ú	build_dirÚscriptsr   Ú
executable©Úselfs   &ÚM/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_scripts.pyÚinitialize_optionsÚ build_scripts.initialize_options%   s   € ØˆŒØˆŒØˆŒ
ØˆŽó    c                ód   € V P                  R RRR4       V P                  P                  V n        R# )ÚbuildN)r
   r   )r   r   )r   r   )Úset_undefined_optionsÚdistributionr   r   s   &r   Úfinalize_optionsÚbuild_scripts.finalize_options+   s1   € Ø×"Ñ"ØØ*ØØ(ô		
ð ×(Ñ(×0Ñ0ˆŽr   c                ó   € V P                   # r   )r   r   s   &r   Úget_source_filesÚbuild_scripts.get_source_files4   s   € Ø�|‰|Ðr   c                óN   € V P                   '       g   R # V P                  4        R # r   )r   Úcopy_scriptsr   s   &r   ÚrunÚbuild_scripts.run7   s   € Ø�|�|ˆ|ÙØ×ÑÖr   c                ó²   € V P                  V P                  4       . p. pV P                   F  pV P                  W1V4       K  	  V P	                  V4       W3# )a  
Copy each script listed in ``self.scripts``.

If a script is marked as a Python script (first line matches
'shebang_pattern', i.e. starts with ``#!`` and contains
"python"), then adjust in the copy the first line to refer to
the current Python interpreter.
)Úmkpathr   r   Ú_copy_scriptÚ_change_modes)r   ÚoutfilesÚupdated_filesÚscripts   &   r   r!   Úbuild_scripts.copy_scripts<   sU   € ð 	�‰�D—N‘NÔ#ØˆØˆØ—l”lˆFØ×Ñ˜f°Ö>ñ #ð 	×Ñ˜8Ô$àÐ&Ð&r   c           	     ó   € R p\        V4      p\        P                  P                  V P                  \        P                  P                  V4      4      pVP                  V4       V P                  '       g+   \        W4      '       g   \        P                  ! RV4       R #  \        P                  ! V4      pVP                  4       pV'       g   V P                  V R24       R # \        P!                  V4      pVP                  V4       V'       Ed†   \        P&                  ! RWP                  4       V P$                  '       Eg6   \(        P*                  '       g   V P,                  pMl\        P                  P                  \(        P.                  ! R4      RP1                  \(        P.                  ! R4      \(        P.                  ! R4      4      4      pVP3                  ^4      ;'       g    Rp	R	V,           V	,           R
,           p
V P5                  W¦P6                  4       \        VRVP6                  R7      ;_uu_ 4       pVP9                  V
4       VP;                  VP=                  4       4       R R R 4       V'       d   VP?                  4        R # R # V'       d   VP?                  4        V PA                  W4       R #   \"         d    T P$                  '       g   h R p ELíi ; i  + '       g   i     L~; i)Nznot copying %s (up-to-date)z is an empty file (skipping)zcopying and adjusting %s -> %sÚBINDIRz
python{}{}ÚVERSIONÚEXEÚ z#!Ú
Úw)Úencoding)!r   ÚosÚpathÚjoinr   ÚbasenameÚappendr   r   r   ÚdebugÚtokenizeÚopenÚreadlineÚwarnÚshebang_patternÚmatchÚOSErrorÚdry_runÚinfor   Úpython_buildr   Úget_config_varÚformatÚgroupÚ_validate_shebangr3   ÚwriteÚ
writelinesÚ	readlinesÚcloseÚ	copy_file)r   r*   r(   r)   Úshebang_matchÚoutfileÚfÚ
first_liner   Úpost_interpÚshebangÚoutfs   &&&&        r   r&   Úbuild_scripts._copy_scriptO   s  € ØˆÜ˜fÓ%ˆÜ—'‘'—,‘,˜tŸ~™~¬r¯w©w×/?Ñ/?ÀÓ/GÓHˆØ�‰˜Ô à�z�zˆz¤%¨×"8Ò"8Ü�IŠIÐ3°VÔ<Ùð	>Ü—’˜fÓ%ˆAð Ÿ™›ˆJßØ—	‘	˜V˜HÐ$@ÐAÔBÙä+×1Ñ1°*Ó=ˆMà×Ñ˜WÔ%ßˆ=Ü�HŠHÐ5°v¿~¹~ÔNØ—<—<‘<Ü ×-×-Ð-Ø!%§¡‘Jä!#§¡§¡Ü!×0Ò0°Ó:Ø$×+Ñ+Ü%×4Ò4°YÓ?Ü%×4Ò4°UÓ;óó"�Jð ,×1Ñ1°!Ó4×:Ð:¸�Ø Õ+¨kÕ9¸DÕ@�Ø×&Ñ& w·
±
Ô;Ü˜' 3°·±×<Õ<ÀØ—J‘J˜wÔ'Ø—O‘O A§K¡K£MÔ2÷ =÷ Ø—‘–	ñ ÷ Ø—‘”	Ø�N‰N˜6Ö+øôK ô 	Ø—<—<�<ØØ‹Að	ú÷: =×<ús$   Â#K É1K-ËK*Ë#K*Ë)K*Ë-K=	c                óh   € \         P                  R 8w  d   R# V F  pV P                  V4       K  	  R# )ÚposixN)r4   ÚnameÚ_change_mode)r   r(   Úfiles   && r   r'   Úbuild_scripts._change_modes„   s)   € Ü�7‰7�gÔÙãˆDØ×Ñ˜dÖ#ó r   c                ó8  € V P                   '       d   \        P                  ! R V4       R# \        P                  ! V4      \
        ,          R,          pVR,          R,          pW28w  d1   \        P                  ! RWV4       \        P                  ! W4       R# R# )zchanging mode of %sNiÿ  im  z!changing mode of %s from %o to %o)rA   r   rB   r4   Ústatr   Úchmod)r   rY   ÚoldmodeÚnewmodes   &&  r   rX   Úbuild_scripts._change_mode‹   sj   € Ø�<�<ˆ<Ü�HŠHÐ*¨DÔ1Ùä—'’'˜$“-¤Õ(¨6Õ1ˆØ˜U•? fÕ,ˆØÔÜ�HŠHÐ8¸$ÈÔQÜ�HŠH�TÖ#ñ r   c                óÐ   €  V P                  R 4        T P                  T4       R#   \         d    \        RT : R24      hi ; i  \         d    \        RT : RT R24      hi ; i)zutf-8zThe shebang (z) is not encodable to utf-8z+) is not encodable to the script encoding (Ú)N)ÚencodeÚUnicodeEncodeErrorÚ
ValueError)rR   r3   s   &&r   rG   Úbuild_scripts._validate_shebang–   s‚   € ð	UØ�N‰N˜7Ô#ð	Ø�N‰N˜8Ö$øô "ô 	UÜ˜}¨W©KÐ7RÐSÓTÐTð	Uûô "ô 	ÜØ ™{ð ++Ø+3¨*°Að7óð ð	ús   ‚' ”A §AÁA%c                óŒ   <€ V ^8„  d   Qh/ S[ S[S[S[S[S[3,          ,          ,          ;R&   S[ S[S[,          ,          ;R&   # )é   Úuser_optionsÚboolean_options)r   ÚlistÚtupleÚstr)rE   Ú__classdict__s   "€r   Ú__annotate__Úbuild_scripts.__annotate__   s?   ø‡ ‚ ñ ™4¡¡c©3± mÕ 4Õ5Õ6ñ ñ ñ ™d¡3�iÕ(Ñ4ò r   )r   r   r   r   N))z
build-dir=Údzdirectory to "build" (copy) to)r   rO   z1forcibly build everything (ignore file timestamps)zexecutable=Úez*specify final destination interpreter path)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Údescriptionri   rj   r   r   r   r"   r!   r&   r'   rX   ÚstaticmethodrG   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)rn   s   @r   r
   r
      s_   ø‡ € Ø>€Kò:€Lð -4¨9€Oòò1òòò
'ò&3,òj$ò	$ð ñó ð÷{ ƒ r   r
   )Ú__doc__r4   Úrer:   Ú	distutilsr   Údistutils._logr   r\   r   Útypingr   Ú	_modifiedr   Úcorer   Úutilr   Úcompiler>   Úfirst_line_rer
   © r   r   Ú<module>r‡      sS   ðñ5ó 
Û 	Û Ý Ý Ý Ý å Ý Ý à—*’*Ð<Ó=€ðð
  €ôQ�Gö Qr   