+
    SBie                     z   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH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Ht ^ RIHt ^ RIHt ^RIHtHt ^R	IHt ^R
IHt ^RIHt ^ RI t!^ RI"t!^ RI!H#t# ^ RI H$t$ ^ RI"H%t& ^ RI'H(t( ]PR                  PT                   R]PR                  PV                   2t,R t- ! R R4      t. ! R R].]4      t/ ! R R]&4      t% ! R R]4      t0R R lt1R R lt2R R lt3]Ph                  t4]Pj                  t5R  R! lt6R" R# lt7R+R$ R% llt8R& R' lt9R,R( lt: ! R) R*]4      t;R# )-zUsetuptools.command.egg_info

Create a distribution's .egg-info directory and contentsN)Callable)Command)	bdist_egg)sdistwalk_revctrl)edit_config)glob)_entry_points_normalization)metadata)SetuptoolsDeprecationWarning)_requirestxt)log)DistutilsInternalError)FileList)convert_path.c                   RpV P                   ! \        P                  P                  4      p\        P
                  ! \        P                  4      pRV R2p\        V4       EF  w  rVV\        V4      ^,
          8H  pVR8X  d%   V'       d   VR,          pMVRV RV R2,          pKF  ^ p\        V4      p	W8  Ed7   Wh,          p
V
R	8X  d   WR	,           ,          pEM
V
R
8X  d
   W,          pMV
R8X  d   V^,           pW8  d   Wk,          R8X  d
   V^,           pW8  d   Wk,          R8X  d
   V^,           pW8  d   Wk,          R8w  d   V^,           pK  W8  d   V\        P
                  ! V
4      ,          pMpWh^,           V pRpV^ ,          R8X  d   RpVR,          pV\        P
                  ! V4      ,          pVRV R2,          pTpMV\        P
                  ! V
4      ,          pV^,          pEK=  V'       d   EK  W,          pEK  	  VR,          p\        P                  ! V\        P                  \        P                  ,          R7      # )z
Translate a file path glob like '*.txt' in to a regular expression.
This differs from fnmatch.translate which allows wildcards to match
directory separators. It also knows about '**/' which matches any number of
directories.
 z[^]**z.*z(?:+z)**?[!^   NNz\Z)flags)splitospathsepreescape	enumeratelencompile	MULTILINEDOTALL)r   patchunksr#   
valid_charcchunk
last_chunki	chunk_lencharinner_iinner
char_classs   &             @/usr/lib/python3.14/site-packages/setuptools/command/egg_info.pytranslate_patternr8   &   s    C ZZ$F
))BFF
CcU!Jf%#f+/)
 D=t ZL#b11 J	m8Ds{C''!a%&5>S+@%kG&5>S+@%kG )en.C%kG' 299T?*C "a%'2E!#J Qx3%(
 %b	"))E"22JQzl!,,C  Aryy&FA zJC} &@ 5LC::c		!9::    c                      a  ] tR t^yt o RtRt]R 4       tR tR t	V 3R lR lt
V 3R lR ltV 3R	 lR
 lt]! ]4      tRtV tR# )
InfoCommonNc                ^    \         P                  ! V P                  P                  4       4      # N)r
   	safe_namedistributionget_nameselfs   &r7   nameInfoCommon.name}   s"    ''(9(9(B(B(DEEr9   c                    V P                  V P                  P                  4       4      p\        P                  ! V4      # r=   )
_maybe_tagr?   get_versionr
   safe_version)rB   taggeds   & r7   tagged_versionInfoCommon.tagged_version   s0    !2!2!>!>!@A**622r9   c                |    V P                   '       d   V P                  V4      '       d   V# WP                   ,           # )zw
egg_info may be called more than once for a distribution,
in which case the version string already contains all tags.
)vtags_already_taggedrB   versions   &&r7   rF   InfoCommon._maybe_tag   s8     zzzd227;; 	
 ::%	
r9   c                &   < V ^8  d   QhRS[ RS[/# )   rP   return)strbool)format__classdict__s   "r7   __annotate__InfoCommon.__annotate__   s     S Ss St Sr9   c                    VP                  V P                  4      ;'       g     VP                  V P                  4       4      # r=   )endswithrM   
_safe_tagsrO   s   &&r7   rN   InfoCommon._already_tagged   s3     

+RRw/?/?@Q/RRr9   c                    < V ^8  d   QhRS[ /# rS   rT   rU   )rW   rX   s   "r7   rY   rZ      s     J JC Jr9   c                    \         P                  ! R V P                   24      R,          #   \        P                  P
                   d4    \         P                  ! T P                  P                  RR4      4      u # i ; i)0r    r   )r
   rH   rM   	packagingrP   InvalidVersionr>   replacerA   s   &r7   r]   InfoCommon._safe_tags   sh    	J!..4::,/?@DD  // 	J!++DJJ,>,>sC,HII	Js   ), AA>=A>c                    < V ^8  d   QhRS[ /# r`   ra   )rW   rX   s   "r7   rY   rZ      s      c r9   c                    R pV P                   '       d   WP                   ,          pV P                  '       d   V\        P                  ! R4      ,          pV# )r   z%Y%m%d)	tag_buildtag_datetimestrftimerO   s   & r7   tagsInfoCommon.tags   s=    >>>~~%G===t}}X..Gr9    )__name__
__module____qualname____firstlineno__rk   rl   propertyrC   rJ   rF   rN   r]   ro   rM   __static_attributes____classdictcell__rX   s   @r7   r;   r;   y   sZ     IHF F3	
S S
J J  TNEr9   r;   c                     a  ] tR t^t o Rt. ROtR.tRR/tR t]	V 3R lR l4       t
]
P                  R 4       t
V 3R lR	 ltV 3R
 lR lt]R3R ltRV 3R lR lltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )egg_infoz+create a distribution's .egg-info directorytag-dateno-datec                L    R V n         R V n        R V n        R V n        RV n        R # )NF)egg_baseegg_namer{   egg_versionignore_egg_info_in_manifestrA   s   &r7   initialize_optionsegg_info.initialize_options   s'    +0(r9   c                   < V ^8  d   QhRR/# rS   rT   Nrq   )rW   rX   s   "r7   rY   egg_info.__annotate__         $ r9   c                    R # r=   rq   rA   s   &r7   tag_svn_revisionegg_info.tag_svn_revision       r9   c                    R # r=   rq   )rB   values   &&r7   r   r      r   r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r      s     	7 	7T 	7r9   c                h    \        V P                  4       ^ R7      p\        V\        VR7      4       R# )z
Materialize the value of date into the
build tag. Install build keys in a deterministic order
to avoid arbitrary reordering on subsequent builds.
)rk   rl   )r{   N)dictro   r   )rB   filenamer{   s   && r7   save_version_infoegg_info.save_version_info   s%     $))+:HdH56r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r      s     > >$ >r9   c                0   V P                   V n        V P                  4       V n        \        P
                  P                  V P                  4      p \        V\        P
                  P                  4      pV'       d   R MRp\        P                  P                  W0P                  V P                  3,          4       T P                  fF   T P                  P                   pT;'       g    / P#                  R\$        P&                  4      T n        T P)                  R4       \*        P,                  ! T P                  4      R,           T n        T P                  \$        P&                  8w  d:   \$        P0                  P3                  T P                  T P.                  4      T n        T P                  T P                  P4                  n        R#   \         d@   p\        P                  P                  RT P                   RT P                   24      ThRp?ii ; i)z%s==%sz%s===%sz-Invalid distribution name or version syntax: -Nr   r   	.egg-info)rC   r   rJ   r   re   rP   Version
isinstancerequirementsRequirement
ValueError	distutilserrorsDistutilsOptionErrorr   r?   package_dirgetr!   curdirensure_dirnamer
   filename_componentr{   r"   joinr   )rB   parsed_version
is_versionspecedirss   &     r7   finalize_optionsegg_info.finalize_options   s   
 		..0"**2243C3CD	#NI4E4E4M4MNJ)8yD""..t}}dFVFV6W/WX == $$00D!ZZR,,R;DMJ'&99$--H;V==BII%GGLLFDM
 .2-=-=""*#  	""77?aPTP`P`Oab	s   A+G H:HHNc                D    \        V P                  V P                  W4      # )0Compute filename of the output egg. Private API.)_egg_basenamer   r   )rB   
py_versionplatforms   &&&r7   _get_egg_basenameegg_info._get_egg_basename   s    T]]D,<,<jSSr9   c                $   < V ^8  d   QhRS[ RR/# rS   forcerT   NrV   )rW   rX   s   "r7   rY   r      s     + + +QU +r9   c                    V'       d   V P                  WV4       R# \        P                  P                  V4      '       d9   Vf"   V'       g   \        P
                  ! RW4       R# V P                  V4       R# R# )a  Write `data` to `filename` or delete if empty

If `data` is non-empty, this routine is the same as ``write_file()``.
If `data` is empty but not ``None``, this is the same as calling
``delete_file(filename)`.  If `data` is ``None``, then this is a no-op
unless `filename` exists, in which case a warning is issued about the
orphaned file (if `force` is false), or deleted (if `force` is true).
Nz$%s not set in setup(), but %s exists)
write_filer!   r"   existsr   warndelete_file)rB   whatr   datar   s   &&&&&r7   write_or_delete_fileegg_info.write_or_delete_file   sT     OODD1WW^^H%%|E?P  * &r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r     s      $ r9   c                    \         P                  ! RW4       VP                  R4      pV P                  '       g0   \	        VR4      pVP                  V4       VP                  4        R# R# )zWrite `data` to `filename` (if not a dry run) after announcing it

`what` is used in a log message to identify what is being written
to the file.
zwriting %s to %sutf-8wbN)r   infoencodedry_runopenwriteclose)rB   r   r   r   fs   &&&& r7   r   egg_info.write_file  sO     	#T4{{7#|||Xt$AGGDMGGI r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r     s        t  r9   c                    \         P                  ! RV4       V P                  '       g   \        P                  ! V4       R# R# )z8Delete `filename` (if not a dry run) after announcing itzdeleting %sN)r   r   r   r!   unlink)rB   r   s   &&r7   r   egg_info.delete_file  s*    )|||IIh r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r   $  s      T r9   c           	        \        \        P                  ! R R7      4      pV P                  V P                  4        \
        P                  ! V P                  R4       T FX  pTP                  4       pT! YP                  \
        P                  P                  T P                  TP                  4      4       KZ  	  \
        P                  P                  T P                  R4      p\
        P                  P                  T4      '       d   T P!                  T4       T P#                  4        R#   \         d6   pRT P                   R2p\        P                  P                  T4      ThRp?ii ; i)zegg_info.writers)groupNz'Cannot update time stamp of directory ''znative_libs.txt)listr   entry_pointsmkpathr{   r!   utimeOSErrorr   r   DistutilsFileErrorloadrC   r"   r   r   r   find_sources)rB   writersr   msgepwriternls   &      r7   runegg_info.run$  s    x,,3EFGDMM"	BHHT]]D) BWWYF4"'',,t}}bgg"FG 
 WW\\$--):;77>>"R   	B;DMM?!LC""55c:A	Bs   !D. .E.90E))E.c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r   :  s     $ $d $r9   c                    \         P                  P                  V P                  R4      p\	        V P
                  4      pV P                  Vn        Wn        VP                  4        VP                  V n
        R# )z"Generate SOURCES.txt manifest filezSOURCES.txtN)r!   r"   r   r{   manifest_makerr?   r   ignore_egg_info_dirmanifestr   filelist)rB   manifest_filenamemms   &  r7   r   egg_info.find_sources:  sR    GGLLFD--.!%!A!A'
r9   )r   r{   r   r   r   r   ))z	egg-base=r   zLdirectory containing .egg-info directories [default: top of the source tree])r|   dz0Add date stamp (e.g. 20050528) to version number)z
tag-build=bz-Specify explicit tag to add to version number)r}   Dz"Don't include date stamp [default]F)rr   rs   rt   ru   descriptionuser_optionsboolean_optionsnegative_optr   rv   r   setterr   r   PY_MAJORr   r   r   r   r   r   rw   rx   ry   s   @r7   r{   r{      s     ?K
L "lO:L1    
	7 	7> >@ ,4d T+ +$     ,$ $r9   r{   c                      a a ] tR tRt oRV3R lV 3R llltV3R lR ltR tR tR tR	 t	R
 t
R tR tR tR tV3R lR ltV3R lR ltR tR tRtVtV ;t# )r   iD  c                $   < V ^8  d   QhRS[ RR/# )rS   r   rT   Nr   )rW   rX   s   "r7   rY   FileList.__annotate__G  s     7 7@D7	7r9   c                2   < \         SV `  W4       W0n        R # r=   )super__init__r   )rB   r   debug_printr   	__class__s   &&&&r7   r   FileList.__init__G  s     	+#6 r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r   M  s     D= D=T D=r9   c                   V P                  V4      w  r#rER V P                  RV P                  RV P                  RV P                  R\
        P                  ! V P                  V4      R\
        P                  ! V P                  V4      RV P                  RV P                  /pR RRR	RR
RRRRRRRRRR/p Wb,          pTP                  R4      p
TR9   d   T.pT
'       d   T3MRpYr,          pT P                  RP                  T.T
'       d   T.M. ,           T,           4      4       T F+  pT! T4      '       d   K  \         P"                  ! Y.TO5!   K-  	  R#   \         d    RT: RT: 2p	\        T	4      Rhi ; i)includeexcludezglobal-includezglobal-excludezrecursive-includezrecursive-excludegraftprunez%warning: no files found matching '%s'z9warning: no previously-included files found matching '%s'z>warning: no files found matching '%s' anywhere in distributionzRwarning: no previously-included files matching '%s' found anywhere in distributionz:warning: no files found matching '%s' under directory '%s'zNwarning: no previously-included files matching '%s' found under directory '%s'z+warning: no directories found matching '%s'z6no previously-included directories found matching '%s'z$Invalid MANIFEST.in: unknown action z in Nz
recursive-rd   >   r  r  rq   )_parse_template_liner  r  global_includeglobal_exclude	functoolspartialrecursive_includerecursive_excluder  r  KeyErrorr   
startswithr   r   r   r   )rB   lineactionpatternsdirdir_pattern
action_maplog_mapprocess_actionr   action_is_recursiveextra_log_argslog_tmplpatterns   &&            r7   process_template_lineFileList.process_template_lineM  s    04/H/H/N,3 t||t||d11d11!2!2&&"  !2!2&&" TZZTZZ+

" >SP6  L2 BM%
*	8'/N %//=''#}H#6#B?HH%8SEbAHL	

  G!'**<^<  '  	88
$thOC(-47	8s   4E "E;c                   Rp\        \        V P                  4      ^,
          RR4       F\  pV! V P                  V,          4      '       g   K$  V P                  RV P                  V,          ,           4       V P                  V RpK^  	  V# )zn
Remove all files from the file list that match the predicate.
Return True if any matching files were removed
Fz
 removing T)ranger'   filesr   )rB   	predicatefoundr1   s   &&  r7   _remove_filesFileList._remove_files  sn    
 s4::*B3AA''  

1!=>JJqM	 4
 r9   c                    \        V4       Uu. uF,  p\        P                  P                  V4      '       d   K*  VNK.  	  ppV P	                  V4       \        V4      # u upi )z#Include files that match 'pattern'.)r   r!   r"   isdirextendrV   )rB   r  r   r#  s   &&  r7   r  FileList.include  sG     MBMqq1AMBEE{ Cs
   'AAc                N    \        V4      pV P                  VP                  4      # )z#Exclude files that match 'pattern'.)r8   r$  matchrB   r  r+  s   && r7   r  FileList.exclude  s!    !'*!!%++..r9   c                   \         P                  P                  VRV4      p\        VRR7       Uu. uF,  p\         P                  P	                  V4      '       d   K*  VNK.  	  ppV P                  V4       \        V4      # u upi )z>
Include all files anywhere in 'dir/' that match the pattern.
r   T)	recursive)r!   r"   r   r   r'  r(  rV   )rB   r  r  full_patternr   r#  s   &&&   r7   r  FileList.recursive_include  se     ww||Cw7 >W>qbggmmTUFV>WEE{ Xs   'BBc                    \        \        P                  P                  VRV4      4      pV P	                  VP
                  4      # )z=
Exclude any file anywhere in 'dir/' that match the pattern.
r   r8   r!   r"   r   r$  r+  )rB   r  r  r+  s   &&& r7   r  FileList.recursive_exclude  s4     ""'',,sD'"BC!!%++..r9   c                    \        V4       UUu. uF+  p\        P                  P                  V4       F  pVNK  	  K-  	  pppV P	                  V4       \        V4      # u uppi )zInclude all files from 'dir/'.)r   r   r   findallr(  rV   )rB   r  	match_diritemr#  s   &&   r7   r  FileList.graft  sc     "#Y
&	!**229= = & 	 

 	EE{
s   1Ac                    \        \        P                  P                  VR4      4      pV P	                  VP
                  4      # )zFilter out files from 'dir/'.r   r3  )rB   r  r+  s   && r7   r  FileList.prune  s0    !"'',,sD"9:!!%++..r9   c                8   V P                   f   V P                  4        \        \        P                  P                  RV4      4      pV P                    Uu. uF  q2P                  V4      '       g   K  VNK  	  ppV P                  V4       \        V4      # u upi )z{
Include all files anywhere in the current directory that match the
pattern. This is very inefficient on large file trees.
r   )	allfilesr6  r8   r!   r"   r   r+  r(  rV   )rB   r  r+  r   r#  s   &&   r7   r  FileList.global_include  sm    
 == LLN!"'',,tW"=> MM<Mq[[^M<EE{ =s   B3Bc                    \        \        P                  P                  RV4      4      pV P	                  VP
                  4      # )z4
Exclude all files anywhere that match the pattern.
r   r3  r,  s   && r7   r	  FileList.global_exclude  s2     ""'',,tW"=>!!%++..r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r     s     $ $d $r9   c                    VP                  R 4      '       d   VRR p\        V4      pV P                  V4      '       d   V P                  P	                  V4       R# R# )Nr  )r\   r   
_safe_pathr!  append)rB   r8  r"   s   && r7   rE  FileList.append  sL    ==9DD!??4  JJd# !r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r     s     : :t :r9   c                d    V P                   P                  \        V P                  V4      4       R # r=   )r!  r(  filterrD  )rB   pathss   &&r7   r(  FileList.extend  s    

&%89r9   c                b    \        \        V P                  V P                  4      4      V n        R# )z
Replace self.files with only safe paths

Because some owners of FileList manipulate the underlying
``files`` attribute directly, this method must be called to
repair those paths.
N)r   rI  rD  r!  rA   s   &r7   _repairFileList._repair  s     &$**=>
r9   c                L   R p\         P                  ! V4      pVf   \        P                  ! RV R24       R# \         P                  ! VR4      pVf   \        P                  ! W!R4       R#  RV9   ;'       g    RV9   pV P
                  '       d   V'       d   R# \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d   R# R#   \         d/    \        P                  ! Y!\        P                  ! 4       4        R# i ; i)	z!'%s' not %s encodable -- skippingNr   z$' in unexpected encoding -- skippingFr   r   s	   .egg-infoT)unicode_utilsfilesys_decoder   r   
try_encoder   r!   r"   r   UnicodeEncodeErrorsysgetfilesystemencoding)rB   r"   enc_warnu_path	utf8_pathis_egg_infos   &&    r7   rD  FileList._safe_path  s    6 --d3>HHqBCD ",,VW=	HHXW-
	B%/LL<93LK'''Kww~~f%%	)B)B *C " 	BHHXS%>%>%@A	Bs*   .C* :C* C* $C* $C* *5D#"D#)r!  r   )NNF)rr   rs   rt   ru   r   r  r$  r  r  r  r  r  r  r  r	  rE  r(  rM  rD  rw   rx   __classcell__)r   rX   s   @@r7   r   r   D  sn     7 7D= D=L/
//

/$ $: :?B Br9   r   c                      a  ] tR tRt o RtV 3R lR ltV 3R lR ltV 3R lR ltR	 tV 3R
 lR lt	V 3R lR lt
]R 4       tV 3R lR ltV 3R lR ltR tR tRtV tR# )r   i  zMANIFEST.inc                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   manifest_maker.__annotate__  s     ) )D )r9   c                L    R V n         R V n        R V n        R V n        RV n        R# )TFN)use_defaultsr  manifest_onlyforce_manifestr   rA   s   &r7   r   !manifest_maker.initialize_options  s)     
!"#( r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r^    r   r9   c                    R # r=   rq   rA   s   &r7   r   manifest_maker.finalize_options  s    r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r^    s      T r9   c                @   \        V P                  R 7      V n        \        P                  P                  V P                  4      '       g   V P                  4        V P                  4        \        P                  P                  V P                  4      '       d   V P                  4        V P                  4        V P                  4        V P                  4        V P                  P                  4        V P                  P                  4        V P                  4        R# ))r   N)r   r   r   r!   r"   r   r   write_manifestadd_defaultstemplateread_templateadd_license_files_add_referenced_filesprune_file_listsortremove_duplicatesrA   s   &r7   r   manifest_maker.run  s     T5M5MNww~~dmm,,!77>>$--((  ""$'')r9   c                n    \         P                  ! V4      pVP                  \        P                  R 4      # )/)rP  rQ  rg   r!   r#   )rB   r"   s   &&r7   _manifest_normalize"manifest_maker._manifest_normalize)  s'    ++D1||BFFC((r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r^  -  s     
> 
> 
>r9   c                   V P                   P                  4        V P                   P                   Uu. uF  qP                  V4      NK  	  ppRV P                   R2pV P                  \        V P                  V3V4       R# u upi )zW
Write the file list in 'self.filelist' to the manifest file
named by 'self.manifest'.
zwriting manifest file 'r   N)r   rM  r!  ru  r   executer   )rB   r   r!  r   s   &   r7   ri  manifest_maker.write_manifest-  sp    
 	 7;mm6I6IJ6I))!,6IJ'a8Z$--!7= Ks   Bc                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r^  9  s     " "4 "r9   c                d    V P                  V4      '       g   \        P                  ! W4       R # R # r=   )_should_suppress_warningr   r   )rB   r   s   &&r7   r   manifest_maker.warn9  s$    ,,S11JJt! 2r9   c                0    \         P                  ! RV 4      # )z+
suppress missing-file warnings from sdist
zstandard file .*not found)r$   r+  )r   s   &r7   r}  'manifest_maker._should_suppress_warning=  s    
 xx4c::r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r^  D  s     - -d -r9   c                   \         P                  ! V 4       V P                  P                  V P                  4       V P                  P                  V P
                  4       \        \        4       4      pV'       d   V P                  P                  V4       M?\        P                  P                  V P
                  4      '       d   V P                  4        \        P                  P                  R 4      '       d   V P                  P                  R 4       V P                  R4      pV P                  P                  VP                  4       R# )zsetup.pyr{   N)r   rj  r   rE  rk  r   r   r   r(  r!   r"   r   read_manifestget_finalized_commandr  r{   )rB   rcfilesei_cmds   &  r7   rj  manifest_maker.add_defaultsD  s    4 T]]+T]]+|~&MM  )WW^^DMM** 77>>*%% MM  ,++J7FOO,r9   c                   < V ^8  d   QhRR/# r   rq   )rW   rX   s   "r7   rY   r^  V  s     , ,4 ,r9   c                    V P                   P                  P                  ;'       g    . pV F  p\        P                  ! R V4       K  	  V P
                  P                  V4       R# )zadding license file '%s'N)r?   r   license_filesr   r   r   r(  )rB   r  lfs   &  r7   rm   manifest_maker.add_license_filesV  sL    ))22@@FFBBHH/4  ]+r9   c                    \        V P                  R. 4      pV F  p\        P                  ! RV4       K  	  V P                  P                  V4       R# )zGAdd files referenced by the config (e.g. `file:` directive) to filelist_referenced_filesz%adding file referenced by config '%s'N)getattrr?   r   debugr   r(  )rB   
referencedrfs   &  r7   rn  $manifest_maker._add_referenced_files\  sB    T..0CRH
BII=rB Z(r9   c                    \        VR4      '       d   VP                  4       # \        P                  ! RRRR7       VP	                  4       # )z
The parent class implementation of this method
(``sdist``) will try to include data files, which
might cause recursion problems when
``include_package_data=True``.

Therefore, avoid triggering any attempt of
analyzing/building the manifest again.
get_data_files_without_manifestz@`build_py` command does not inherit from setuptools' `build_py`.z
            Custom 'build_py' does not implement 'get_data_files_without_manifest'.
            Please extend command classes from setuptools instead of distutils.
            z!https://peps.python.org/pep-0632/)see_url)hasattrr  r   emitget_data_files)rB   build_pys   &&r7   _safe_data_filesmanifest_maker._safe_data_filesd  sM     8>??;;==$))N 8	
 &&((r9   )r   rb  r   ra  r  r`  N)rr   rs   rt   ru   rk  r   r   r   ru  ri  r   staticmethodr}  rj  rm  rn  r  rw   rx   ry   s   @r7   r   r     sx     H) )  )
> 
>" " ; ;- -$, ,)) )r9   r   c                    V ^8  d   QhRR/# r   rq   )rW   s   "r7   rY   rY   }  s     
 
d 
r9   c                    RP                  V4      pVP                  R4      p\        V R4      ;_uu_ 4       pVP                  V4       RRR4       R#   + '       g   i     R# ; i)zsCreate a file with the specified name and write 'contents' (a
sequence of strings without line terminators) to it.

r   r   N)r   r   r   r   )r   contentsr   s   && r7   r   r   }  sL     yy"H w'H	h			 
			s   AA$	c                    V ^8  d   QhRR/# r   rq   )rW   s   "r7   rY   rY     s     8 8t 8r9   c                    \         P                  ! R V4       V P                  '       g   V P                  P                  pV P
                  VP                  uVn        pV P                  VP                  uVn        p VP                  ! V P                  4       WTuVn        Vn        \        V P                  RR4      p\        P                  ! V P                  V4       R# R#   YTuTn        Tn        i ; i)z
writing %szip_safeN)r   r   r   r?   r   r   rP   r   rC   write_pkg_infor{   r  r   write_safety_flag)cmdbasenamer   r   oldveroldnamesafes   &&&    r7   r  r    s    HH\8$;;;##,,#&??H4D4D &!$x}}w	>##CLL1.5+HM8+s''T:##CLL$7  /6+HM8+s   =C# #C3c                    V ^8  d   QhRR/# r   rq   )rW   s   "r7   rY   rY     s      d r9   c                    R# )aR  
Unused: left to avoid errors when updating (from source) from <= 67.8.
Old installations have a .dist-info directory with the entry-point
``depends.txt = setuptools.command.egg_info:warn_depends_obsolete``.
This may trigger errors when running the first egg_info in build_meta.
TODO: Remove this function in a version sufficiently > 68.
Nrq   r  r  r   s   &&&r7   warn_depends_obsoleter    s    r9   c                    V ^8  d   QhRR/# r   rq   )rW   s   "r7   rY   rY     s     P PT Pr9   c           	         \         P                  V P                  P                  4        Uu. uF  q3P	                  R ^4      ^ ,          NK  	  up4      pV P                  RVRP                  \        V4      4      R,           4       R# u upi )r   ztop-level namesr  N)r   fromkeysr?   iter_distribution_namesr    r   r   sorted)r  r  r   kpkgss   &&&  r7   write_toplevel_namesr    sq    ==$'$4$4$L$L$N$NqQ$N D NN$h		&,0G$0NOs   !Bc                    V ^8  d   QhRR/# r   rq   )rW   s   "r7   rY   rY     s     - -d -r9   c                      \        WVR 4       R# )TN)	write_argr  s   &&&r7   overwrite_argr    s    cXt,r9   c                (    V ^8  d   QhR\         RR/# r   r   )rW   s   "r7   rY   rY     s     > >d >t >r9   c                     \         P                  P                  V4      ^ ,          p\        V P                  VR4      pVe   RP                  V4      R,           pV P                  WBWS4       R# )    Nr  )r!   r"   splitextr  r?   r   r   )r  r  r   r   argnamer   s   &&&&  r7   r  r    sX    ggx(+GC$$gt4E		% 4'W=r9   c                    V ^8  d   QhRR/# r   rq   )rW   s   "r7   rY   rY     s     C Cd Cr9   c                     \         P                  ! V P                  P                  4      p\         P                  ! V4      pV P                  R W$R4       R# )zentry pointsTN)r	   r   r?   r   renderr   )r  r  r   epsdefns   &&&  r7   write_entriesr    s@    


S--::
;C$D^XTBr9   c                    \         P                  ! V 4      p\         P                  ! V4      pT RT RT;'       g    \         2pV'       d   VRV 2,          pV# )r   r   z-py)r
   r   r   )r   r   r   r   rC   rP   eggs   &&&&   r7   r   r     sY    ,,X6D//<GF!G9C
 6 6h7
8C8*~Jr9   c                       ] tR tRtRtRtR# )EggInfoDeprecationWarningi  z?Deprecated behavior warning for EggInfo, bypassing suppression.rq   N)rr   rs   rt   ru   __doc__rw   rq   r9   r7   r  r    s    Ir9   r  r   )NN)<r  r
  r!   r$   rT  rm   collections.abcr   re   packaging.requirementspackaging.versionsetuptools.unicode_utilsrP  
setuptoolsr   setuptools.commandr   setuptools.command.sdistr   r   setuptools.command.setoptr   setuptools.globr   r   r	   r
   
_importlibr   warningsr   r   distutils.errorsr   distutils.filelistr   r   r   	_FileListdistutils.utilr   version_infomajorminorr   r8   r;   r{   r   r   r  r  write_requirementswrite_setup_requirementsr  r  r  r  r   r  rq   r9   r7   <module>r     s  <  	 	 
  $    0  ( 8 1   , ! 3     3 4 '$$%Qs'7'7'='=&>?P;f, ,^Y$z7 Y$xGBy GBTl)U l)^
8" "44 '@@ P->CJ < Jr9   