Ë
    ¨Õ°j]  ã                  óÆ   — d dl m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
 ddlmZ ddlmZ d	d
lmZ d dlmc mZ d dlmZ eZddd„Z G d„ dej&                  «      Zy)é    )ÚannotationsN)ÚIterator)Úchain)ÚClassVaré   )Úmetadata)ÚDistributioné   )Ú_ORIGINAL_SUBCOMMANDS)Úlogc              #  ó‚   K  — t        j                  d¬«      D ]   } |j                  «       | «      E d{  –—†  Œ" y7 Œ­w)z%Find all files under revision controlzsetuptools.file_finders)ÚgroupN)r   Úentry_pointsÚload)ÚdirnameÚeps     úN/var/www/mission/venv/lib/python3.12/site-packages/setuptools/command/sdist.pyÚwalk_revctrlr      s:   è ø€ ä×#Ñ#Ð*CÔDò &ˆØ�2—7‘7“9˜WÓ%×%Ñ%ñ&Ø%ús   ‚3?µ=¶?c                  ó  ‡ — e Zd ZU dZg d¢Zded<   ded<   i Zded<   g d	¢Zd
ed<    ed„ eD «       «      Z	dd„Z
dd„Zdd„Zeej                  d„ «       «       Zdˆ fd„Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zˆ fd„Zdˆ fd„Zdd„Zdd„Zd„ Zdd„Zˆ xZS )Úsdistz=Smart sdist that finds anything supported by revision control))zformats=Nz6formats for source distribution (comma-separated list))z	keep-tempÚkz@keep the distribution tree around after creating archive file(s))z	dist-dir=ÚdzFdirectory to put the source distribution archive(s) in [default: dist])zowner=Úuz@Owner name used when creating a tar file [default: current user])zgroup=ÚgzAGroup name used when creating a tar file [default: current group]z+ClassVar[list[tuple[str, str | None, str]]]Úuser_optionsr	   ÚdistributionzClassVar[dict[str, str]]Únegative_opt)Ú z.rstz.txtz.mdzClassVar[list[str]]ÚREADME_EXTENSIONSc              #  ó&   K  — | ]	  }d |› �–— Œ y­w)ÚREADMEN© )Ú.0Úexts     r   ú	<genexpr>zsdist.<genexpr><   s   è ø€ Ò@ s�f˜S˜E”NÑ@ùs   ‚c                ó  — | j                  d«       | j                  d«      }|j                  | _        | j                  j                  t        j
                  j                  |j                  d«      «       | j                  «        | j                  «       D ]  }| j                  |«       Œ | j                  «        t        | j                  dg «      }| j                  D ]  }dd|f}||vsŒ|j                  |«       Œ y )NÚegg_infozSOURCES.txtÚ
dist_filesr   r   )Úrun_commandÚget_finalized_commandÚfilelistÚappendÚosÚpathÚjoinr'   Úcheck_readmeÚget_sub_commandsÚmake_distributionÚgetattrr   Úarchive_files)ÚselfÚei_cmdÚcmd_namer(   ÚfileÚdatas         r   Úrunz	sdist.run>   sÝ   € Ø×Ñ˜Ô$Ø×+Ñ+¨JÓ7ˆØŸ™ˆŒØ�‰×ÑœRŸW™WŸ\™\¨&¯/©/¸=ÓIÔJØ×ÑÔð ×-Ñ-Ó/ò 	'ˆHØ×Ñ˜XÕ&ð	'ð 	×ÑÔ ä˜T×.Ñ.°¸bÓAˆ
Ø×&Ñ&ò 	(ˆDØ˜R Ð&ˆDØ˜:Ò%Ø×!Ñ! $Õ'ñ	(ó    c                óB   — t         j                  j                  | «       y ©N)Úorigr   Úinitialize_options©r5   s    r   r?   zsdist.initialize_optionsQ   s   € Ü�
‰
×%Ñ% dÕ+r;   c                óŒ   — | j                  «       5  t        j                  j                  | «       ddd«       y# 1 sw Y   yxY w)z%
        Workaround for #516
        N)Ú_remove_os_linkr>   r   r2   r@   s    r   r2   zsdist.make_distributionT   s7   € ð ×!Ñ!Ó#ñ 	/Ü�J‰J×(Ñ(¨Ô.÷	/÷ 	/ñ 	/ús	   ‘ :ºAc               #  óÂ   K  —  G d„ d«      } t        t        d| «      }	 t        `	 d–— || ur|t        _        yy# t        $ r Y Œ!w xY w# || ur|t        _        w w xY w­w)zG
        In a context, remove and restore os.link if it exists
        c                  ó   — e Zd Zy)ú&sdist._remove_os_link.<locals>.NoValueN)Ú__name__Ú
__module__Ú__qualname__r"   r;   r   ÚNoValuerE   b   s   „ Ør;   rI   ÚlinkN)r3   r-   rJ   Ú	Exception)rI   Úorig_vals     r   rB   zsdist._remove_os_link[   sp   è ø€ ÷	ñ 	ô œ2˜v wÓ/ˆð	Ü�ð	#Ûà˜wÑ&Ø"”•ð 'øô ò 	Ùð	ûð
 ˜wÑ&Ø"”•ð 'üs6   ‚AŸ; ¦A
 ªA»	AÁAÁAÁAÁ
AÁAc                óB   •— t         ‰| �  «        | j                  «        y r=   )ÚsuperÚadd_defaultsÚ _add_defaults_build_sub_commands©r5   Ú	__class__s    €r   rO   zsdist.add_defaultsp   s   ø€ Ü‰ÑÔØ×-Ñ-Õ/r;   c                ó˜   •— t         ‰| �  «        t        j                  j	                  d«      r| j
                  j                  d«       y y )Nzpyproject.toml)rN   Ú_add_defaults_optionalr-   r.   Úisfiler+   r,   rQ   s    €r   rT   zsdist._add_defaults_optionalt   s7   ø€ Ü‰Ñ&Ô(Ü�7‰7�>‰>Ð*Ô+Ø�M‰M× Ñ Ð!1Õ2ð ,r;   c                óî   — | j                   j                  «       r[| j                  d«      }| j                  j	                  |j                  «       «       | j                  | j                  |«      «       yy)zgetting python filesÚbuild_pyN)r   Úhas_pure_modulesr*   r+   ÚextendÚget_source_filesÚ_add_data_filesÚ_safe_data_files©r5   rW   s     r   Ú_add_defaults_pythonzsdist._add_defaults_pythony   s]   € à×Ñ×-Ñ-Ô/Ø×1Ñ1°*Ó=ˆHØ�M‰M× Ñ  ×!:Ñ!:Ó!<Ô=Ø× Ñ  ×!6Ñ!6°xÓ!@ÕAð 0r;   c                óì   ‡ — ‰ j                  d«      }t        |j                  «       «      t        z
  }ˆ fd„|D «       }d„ |D «       }‰ j                  j                  t        j                  |«      «       y )NÚbuildc              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr=   )r*   )r#   Úcr5   s     €r   r%   z9sdist._add_defaults_build_sub_commands.<locals>.<genexpr>„   s   øè ø€ ÒD°!�×*Ñ*¨1×-ÑDùs   ƒc              3  óV   K  — | ]!  }t        |d «      sŒ|j                  «       –— Œ# y­w)rZ   N)ÚhasattrrZ   )r#   rb   s     r   r%   z9sdist._add_defaults_build_sub_commands.<locals>.<genexpr>…   s#   è ø€ ÒV¨!´w¸qÐBTÕ7U�×#Ñ#×%ÑVùs   ‚)”))r*   Úsetr1   r   r+   rY   r   Úfrom_iterable)r5   r`   Úmissing_cmdsÚcmdsÚfiless   `    r   rP   z&sdist._add_defaults_build_sub_commands€   s]   ø€ Ø×*Ñ*¨7Ó3ˆÜ˜5×1Ñ1Ó3Ó4Ô7LÑLˆãD°|ÔDˆÙV¨tÔVˆØ�‰×ÑœU×0Ñ0°Ó7Õ8r;   c                ó   — |j                   S )að  
        Since the ``sdist`` class is also used to compute the MANIFEST
        (via :obj:`setuptools.command.egg_info.manifest_maker`),
        there might be recursion problems when trying to obtain the list of
        data_files and ``include_package_data=True`` (which in turn depends on
        the files included in the MANIFEST).

        To avoid that, ``manifest_maker`` should be able to overwrite this
        method and avoid recursive attempts to build/analyze the MANIFEST.
        )Ú
data_filesr]   s     r   r\   zsdist._safe_data_filesˆ   s   € ð ×"Ñ"Ð"r;   c                óH   — | j                   j                  d„ |D «       «       y)zA
        Add data files as found in build_py.data_files.
        c              3  ót   K  — | ]0  \  }}}}|D ]$  }t         j                  j                  ||«      –— Œ& Œ2 y ­wr=   )r-   r.   r/   )r#   Ú_Úsrc_dirÚ	filenamesÚnames        r   r%   z(sdist._add_data_files.<locals>.<genexpr>™   sD   è ø€ ò 
á(��7˜A˜yØ!ò
ð ô �G‰G�L‰L˜ $×'ð
Ø'ñ
ùs   ‚68N)r+   rY   )r5   rk   s     r   r[   zsdist._add_data_files•   s#   € ð 	�‰×Ññ 
à,6ô
õ 	
r;   c                ól   •— 	 t         ‰| �  «        y # t        $ r t        j                  d«       Y y w xY w)Nz&data_files contains unexpected objects)rN   Ú_add_defaults_data_filesÚ	TypeErrorr   ÚwarnrQ   s    €r   rs   zsdist._add_defaults_data_filesŸ   s/   ø€ ð	?Ü‰GÑ,Õ.øÜò 	?Ü�H‰HÐ=Ö>ð	?ús   ƒ ’3²3c                ó¨   •— t         ‰| �  «        t        j                  t        j
                  «      }| j                  j                  d|z   d¬«       y )Nz^(\.tox|\.nox|\.venv)T)Úis_regex)rN   Úprune_file_listÚreÚescaper-   Úsepr+   Úexclude_pattern)r5   r{   rR   s     €r   rx   zsdist.prune_file_list¥   s=   ø€ Ü‰ÑÔ!ä�i‰iœŸ™ÓˆØ�‰×%Ñ%Ð&>ÀÑ&DÈtÐ%ÕTr;   c                óÂ   — | j                   D ]#  }t        j                  j                  |«      sŒ# y  | j	                  ddj                  | j                   «      z   «       y )Nz,standard file not found: should have one of z, )ÚREADMESr-   r.   Úexistsru   r/   )r5   Úfs     r   r0   zsdist.check_readme«   sK   € Ø—‘ò 	ˆAÜ�w‰w�~‰~˜aÕ Ùð	ð 	�	‰	Ø:¸T¿Y¹YÀtÇ|Á|Ó=TÑTõ	
r;   c                ór  — t         j                  j                  | ||«       t        j                  j                  |d«      }t        t        d«      rFt        j                  j                  |«      r't        j                  |«       | j                  d|«       | j                  d«      j                  |«       y )Nz	setup.cfgrJ   r'   )r>   r   Úmake_release_treer-   r.   r/   rd   r   ÚunlinkÚ	copy_filer*   Úsave_version_info)r5   Úbase_dirri   Údests       r   r‚   zsdist.make_release_tree³   s{   € Ü�
‰
×$Ñ$ T¨8°UÔ;ô �w‰w�|‰|˜H kÓ2ˆÜ”2�vÔ¤2§7¡7§>¡>°$Ô#7ô �I‰I�dŒOØ�N‰N˜;¨Ô-à×"Ñ" :Ó.×@Ñ@ÀÕFr;   c                óÞ   — t         j                  j                  | j                  «      syt	        | j                  d«      5 }|j                  «       }d d d «       |dk7  S # 1 sw Y   dk7  S xY w)NFÚrbs+   # file GENERATED by distutils, do NOT edit
)r-   r.   rU   ÚmanifestÚopenÚreadline)r5   ÚfpÚ
first_lines      r   Ú_manifest_is_not_generatedz sdist._manifest_is_not_generatedÀ   s\   € ä�w‰w�~‰~˜dŸm™mÔ,Øä�$—-‘- Ó&ð 	'¨"ØŸ™›ˆJ÷	'àÐLÑLÐL÷	'àÐLÑLÐLús   ÁAÁA,c                óŽ  — t        j                  d| j                  «       t        | j                  d«      }|D ]S  }	 |j	                  d«      }|j                  «       }|j                  d«      s|sŒ9| j                  j                  |«       ŒU |j                  «        y# t
        $ r t        j                  ›d�«       Y ŒŠw xY w)zªRead the manifest file (named by 'self.manifest') and use it to
        fill in 'self.filelist', the list of files to include in the source
        distribution.
        zreading manifest file '%s'r‰   zUTF-8z  not UTF-8 decodable -- skippingú#N)r   ÚinforŠ   r‹   ÚdecodeÚUnicodeDecodeErrorru   ÚstripÚ
startswithr+   r,   Úclose)r5   rŠ   Ú
bytes_lineÚlines       r   Úread_manifestzsdist.read_manifestÉ   s¯   € ô
 	�‰Ð-¨t¯}©}Ô=Ü˜Ÿ™ tÓ,ˆØ"ò 	'ˆJðØ!×(Ñ(¨Ó1�ð
 —:‘:“<ˆDØ�‰˜sÔ#©4ØØ�M‰M× Ñ  Õ&ð	'ð 	�‰Õøô &ò Ü—‘˜D˜8Ð#CÐDÔEÙðús   ½B Â !CÃC)ÚreturnÚNone)rF   rG   rH   Ú__doc__r   Ú__annotations__r   r   Útupler~   r:   r?   r2   ÚstaticmethodÚ
contextlibÚcontextmanagerrB   rO   rT   r^   rP   r\   r[   rs   rx   r0   r‚   r�   rš   Ú__classcell__)rR   s   @r   r   r      s·   ø… ÙGò
A€LÐ=ó ð0 ÓØ-/€LÐ*Ó/â-HÐÐ*ÓHÙÑ@Ð.?Ô@Ó@€Gó(ó&,ó/ð Ø×Ññ#ó ó ð#õ&0ô3ò
Bò9ò#ò
ô?õUó
óGòM÷r;   r   )r   )r›   r   )Ú
__future__r   r¡   r-   ry   Úcollections.abcr   Ú	itertoolsr   Útypingr   Ú
_importlibr   Údistr	   r`   r   Údistutils.command.sdistÚcommandr   r>   Ú	distutilsr   ÚlistÚ_default_revctrlr   r"   r;   r   ú<module>r¯      sI   ðÝ "ã Û 	Û 	Ý $Ý Ý å !Ý Ý (ç &Ð &Ý àÐ ô&ôBˆD�J‰Jõ Br;   