
    m&phT                    z   S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKJrJr  SSKJr  SSKJr  SSKJr  SSKJrJrJrJrJrJr  SS	KJrJr  SSKrSS
KJr  SSKJ r!  SSK"J#r#  SSK$J%r%  SSK&J'r'  SSK&J(r)  SSK*J+r+  \(       a  SSK,r, \-" S5        S#S jr1S$S jr2\3" \R@                  Ri                  S5      S   5      r5Sr6S%S jr7S&S jr8S'S jr9 S(         S)S jjr:S*S jr;S#S jr<S$S jr=        S+S jr>S,S  jr? " S! S"\5      r@g! \. a    SSKJ/r/  \/R`                  " 5          Nf = f)-zI
Create a wheel (.whl) distribution.

A wheel is a built archive format.
    )annotationsN)BytesGenerator	Generator)EmailPolicy)iglob)rmtree)TYPE_CHECKINGCallableIterableLiteralSequencecast)ZIP_DEFLATED
ZIP_STORED)Command   )__version__)pkginfo_to_metadata)log)tagsversion)	WheelFilezsetuptools.logging)_setuptools_loggingc                2    [         R                  " SSU 5      $ )zConvert an arbitrary string to a standard distribution name
Any runs of non-alphanumeric/. characters are replaced with a single '-'.
[^A-Za-z0-9.]+-)resubnames    E/var/www/html/venv/lib/python3.13/site-packages/wheel/_bdist_wheel.py	safe_namer#   /   s     66"C..    c                     [        [        R                  " U 5      5      $ ! [        R                   a-    U R	                  SS5      n [
        R                  " SSU 5      s $ f = f)z:
Convert an arbitrary string to a standard version string
 .r   r   )str_packaging_versionVersionInvalidVersionreplacer   r   r   s    r"   safe_versionr-   6   sW    6%--g677,, 6//#s+vv&W556s   ! >A"!A"r'   zcp3\dc                 4    [         R                  " S5      S:H  $ )NP   )structcalcsize r$   r"   _is_32bit_interpreterr4   G   s    ??31$$r$   c                 .    S[         R                  S    3$ )Npyr   )sysversion_infor3   r$   r"   
python_tagr9   K   s      #$%%r$   c                    [         R                  " 5       nUR                  S5      (       a  U b  SSKJn  U" X5      nO [        5       (       a  US:X  a  SnOUS:X  a  SnUR                  SS	5      $ )
z0Return our platform name 'win32', 'linux_x86_64'macosxr   )calculate_macosx_platform_taglinux-x86_64z
linux-i686linux-aarch64zlinux-armv7lr   _)	sysconfigget_platform
startswithmacosx_libfiler<   r4   r,   )archive_rootresultr<   s      r"   rA   rA   O   si    ##%F""|'?A.|D		 	 ^#!F& $F>>#s##r$   c                    [         R                  " U 5      nUc'  U(       a  [        R                  " SU  S3[        SS9  U$ XB:H  $ )zbUse a fallback value for determining SOABI flags if the needed config
var is unset or unavailable.zConfig variable 'z+' is unset, Python ABI tag may be incorrect   
stacklevel)r@   get_config_varwarningswarnRuntimeWarning)varfallbackexpectedrL   vals        r"   get_flagrR   c   sJ    
 
"
"3
'C
{MM#C5(ST
 ?r$   c                 T   [         R                  " S5      n [        R                  " 5       nU (       d  US;   a  [	        [
        S5      (       a  SnSnSn[        S[	        [
        S5      US:H  S9(       a  S	n[        S
US:H  US:H  =(       a    [
        R                  S:  S9(       a  [
        R                  S:  a  SnU [        R                  " 5        U U U 3nU$ U (       a5  US:X  a/  U R                  S5      (       a  SU R                  S5      S   -   nU$ U (       a2  US:X  a,  U R                  S5      (       a  U R                  S5      S   nU$ U (       aM  US:X  aG  SR                  U R                  S5      SS 5      nUR                  SS5      R                  SS5      nU$ U (       aM  US:X  aG  SR                  U R                  S5      SS 5      nUR                  SS5      R                  SS5      nU$ U (       a$  U R                  SS5      R                  SS5      nU$ SnU$ )zJReturn the ABI tag based on SOABI (if available) or emulate SOABI (PyPy2).SOABI)cppp
maxunicode Py_DEBUGgettotalrefcountrU   )rL   dWITH_PYMALLOC)      mcpythonr   r   r   rV   NrG   r'   r?   graalpyr]   )r@   rJ   r   interpreter_namehasattrr7   rR   r8   interpreter_versionrB   splitjoinr,   )soabiimplr[   r_   uabis         r"   get_abi_tagrk   t   s   ))'2E  "DT\)gc<.H.HJ-? @PTVADL$,<3#3#3f#<
 'At//121#aS<& J% 
44<E$4$4Y$?$?U[[%a((  J 
44<E$4$4T$:$:kk#q! J 
44<hhu{{3'+,kk#s#++C5 J 
49$hhu{{3'+,kk#s#++C5 J 
mmC%--c37 J Jr$   c                8    [        U 5      R                  SS5      $ Nr   r?   )r#   r,   r    s    r"   
safer_namern      s    T?""3,,r$   c                8    [        U 5      R                  SS5      $ rm   )r-   r,   r   s    r"   safer_versionrp      s     ((c22r$   c                "    [        XUS   5        g )Nr   )remove_readonly_exc)funcpathexcinfos      r"   remove_readonlyrv      s    
 GAJ/r$   c                ^    [         R                  " U[        R                  5        U " U5        g )N)oschmodstatS_IWRITE)rs   rt   excs      r"   rr   rr      s    HHT4==!Jr$   c                  .   \ rS rSrSr\\S.rSSSS\" S5       S	34S
SSSSSSSSSR                  SR                  \5      5      4SSS\" 5        S34SS/r/ SQrS rS r\S 5       rS%S jrS rS\ S	34   S&S  jjrS'S! jr\S(S" j5       rS)S# jrS$rg)*bdist_wheel   zcreate a wheel distribution)storeddeflated)z
bdist-dir=bz1temporary directory for creating the distributionz
plat-name=pz8platform name to embed in generated filenames (default: N))	keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z	dist-dir=r[   z-directory to put final built distributions in)
skip-buildNz2skip rebuilding everything (for testing/debugging))relativeNz7build the archive using relative paths (default: false))zowner=ri   z@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group])	universalNz'make a universal wheel (default: false)zcompression=z6zipfile compression (one of: {}) (default: 'deflated')z, zpython-tag=z3Python implementation compatibility tag (default: 'z'))zbuild-number=NzqBuild number for this particular version. As specified in PEP-0427, this must start with a digit. [default: None])zpy-limited-api=Nz?Python tag (cp32|cp33|cpNN) for abi3 wheel tag (default: false))r   r   r   r   c                   S U l         S U l        S U l        S U l        SU l        SU l        S U l        S U l        S U l        S U l	        SU l
        S U l        S U l        SU l        SU l        [        5       U l        S U l        SU l        SU l        g )NzipFr   )	bdist_dirdata_dir	plat_nameplat_tagformat	keep_tempdist_diregginfo_dirroot_is_pure
skip_buildr   ownergroupr   compressionr9   build_numberpy_limited_apiplat_name_supplied)selfs    r"   initialize_optionsbdist_wheel.initialize_options   s    "%)$()-

$&0)|(,49"'r$   c                v   U R                   c@  U R                  S5      R                  n[        R                  R                  US5      U l         U R                  R                  S5      nUR                  5         U R                  S-   U l
        U R                  S LU l         U R                  U R                     U l        SnU R"                  " S/[%        X35      Q76   U R                  R'                  5       =(       d    U R                  R)                  5       (       + U l        U R,                  (       a=  [.        R0                  " [2        U R,                  5      (       d  [!        S[2         S35      eU R                  R5                  S5      nS	U;   aG  [6        R8                  " S
5        US	   S   R;                  5       nUR=                  5       S;   a  SU l        U R@                  b.  U R@                  S S RC                  5       (       d  [!        S5      eg g ! [         a    [!        SU R                   35      S ef = f)Nbdistwheelegg_infoz.datazUnsupported compression: )r   r   r   zpy-limited-api must match ''r   z=The [wheel] section is deprecated. Use [bdist_wheel] instead.r   )1trueyesTz1Build tag (build-number) must start with a digit.)"r   get_finalized_command
bdist_baserx   rt   rf   distributionget_command_objensure_finalizedwheel_dist_namer   r   r   supported_compressionsr   KeyError
ValueErrorset_undefined_optionsr   has_ext_moduleshas_c_librariesr   r   r   matchPY_LIMITED_API_PATTERNget_option_dictr   warningstriplowerr   r   isdigit)r   r   r   need_optionsr   rQ   s         r"   finalize_optionsbdist_wheel.finalize_options
  s   >>!33G<GGJWW\\*g>DN$$44Z@!!#,,w6"&.."<	W#::4;K;KLD ?""7MS-LM --/V43D3D3T3T3V
 rxx"D$7$7(
 (
 :;Q:RRSTUU !!11':%KKO $Q'--/Cyy{22!%(1B1B2A1F1N1N1P1PPQQ 2Q(7  	W89I9I8JKLRVV	Ws   !H $H8c                    [        U R                  R                  5       5      [        U R                  R	                  5       5      4nU R
                  (       a  XR
                  4-  nSR                  U5      $ )z4Return distribution full name with - replaced with _r   )rn   r   get_namerp   get_versionr   rf   )r   
componentss     r"   r   bdist_wheel.wheel_dist_name5  sd     t((1134$++779:

 ,,..Jxx
##r$   c                   U R                   (       a  [        [        U R                  5      nOU R                  (       a  SnOrU R                  (       a-  U R                  R                  S5      (       d  U R                  nO[        U R                  5      n[        5       (       a  US;   a  SnUS;   a  SnUR                  5       R                  SS5      R                  S	S5      R                  S
S5      nU R                  (       a'  U R                  (       a  SnOU R                  nUSU4nU$ [        R                  " 5       n[        R                  " 5       nXE-   nU R                   (       a'  XE-   R                  S5      (       a  U R                   nSnO![        [#        5       5      R                  5       nX&U4n[        R$                  " 5        Vs/ s H  owR&                  UR(                  U4PM     nnX8;   d
   SU 35       eU$ s  snf )Nanyr;   )r=   linux_x86_64
linux_i686)r>   linux_aarch64linux_armv7lr   r?   r'   r&   zpy2.py3nonecp3abi3z'would build wheel with unsupported tag )r   r   r(   r   r   rB   rA   r   r4   r   r,   r   r9   r   rb   rd   r   rk   sys_tagsinterpreterrj   )	r   r   rh   tag	impl_nameimpl_verabi_tagtsupported_tagss	            r"   get_tagbdist_wheel.get_tag@  s    ""S$..1II ~~dnn&?&?&I&I NN	 )8	$&& @@ ,I BB !/I OO%%c3/77SAII#sS 	 ~~ +C& 
# --/I//1H'D""	(<'H'H'O'O** km,224),C <@==?;Jay1?   %?8>?%
s   "Hc           	     	   U R                  S5      nSUl        SUl        U R                  S5      nSUl        U R                  (       d  U R                  S5        U R                  SSS9nU R                  Ul        SUl        U R                  Ul        SUl	        U R                  S	5      nSUl
        S
 H;  n[        USU-   [        R                  R                  U R                  U5      5        M=     Sn[        R                   S:X  aU  [        R                  R#                  [        R                  R                  U R                  S5      5      nU=U l        U l        [        UU R(                  (       a  SOSU5        [*        R,                  " SU R                   35        U R                  S5        U R/                  5       u  pxn	U R0                   SU SU SU	 3n
U R2                  (       d  U R                  nOC[        R                  R                  U R                  U R5                  UR6                  5      5      nU R9                  SS5        [;        U R<                  R?                  5       5       S[A        U R<                  RC                  5       5       S3n[        R                  R                  U R                  U5      nU RE                  U RF                  U5        U RI                  U5        [        R                  RK                  U RL                  5      (       d   [        RN                  " U RL                  5        [        R                  R                  U RL                  U
S-   5      n[Q        USU RR                  5       nURU                  U5        S S S 5        [W        U R<                  S/ 5      RY                  SSRZ                  " [\        R^                  S S 6 U45        U R`                  (       d{  [*        R,                  " SU R                   35        U Rb                  (       dF  [\        R^                  S:  a  [e        U R                  [f        S9  g [e        U R                  [h        S9  g g g ! , (       d  f       N= f) Nbuild_scriptspythonT	build_extFbuildinstall)reinit_subcommandsinstall_scripts)headersscriptsdatapurelibplatlibinstall_rX   ntz..install_purelibinstall_platlibzinstalling to r   install_egg_info)targetr   z
.dist-infoz.whlw
dist_filesr~   z{}.{}rG   z	removing )r]      )onerror)onexc)5reinitialize_command
executableforceinplacer   run_commandr   rootcompilewarn_dirno_epsetattrrx   rt   rf   r   r!   normpathinstall_libbaseinstall_libr   r   infor   r   r   _ensure_relativeinstall_baser   rn   r   r   rp   r   egg2distr   write_wheelfileexistsr   makedirsr   r   write_filesgetattrappendr   r7   r8   r   dry_runr   rv   rr   )r   r   r   r   r   keybasedir_observedimpl_tagr   r   archive_basenamerD   distinfo_dirnamedistinfo_dir
wheel_pathwfs                   r"   runbdist_wheel.runz  s   11/B#+ "--k:	!	W%++I$+O~~!__ 
 334EF $ HCGZ#-rww||DMM3/OP H 77d?  "ww//T]]D0QR6FFD 4#3!%!2!28I	
 	>$..!123#&*lln#8"2231XJay(T}}>>L77<< 5 5g6J6J KL 	""#57PQ$++44678T..::<=>jJ 	 ww||DNN4DEd&&5\* ww~~dmm,,KK&WW\\$--1AF1JK
z3(8(89RNN<( : 	!!<4;; 0 0! 45	
 ~~HHy 012<<##g-4>>?C4>>1DE	    :9s   Q00
Q>zbdist_wheel (c                   SSK Jn  U" 5       nSUS'   X$S'   [        U R                  5      R	                  5       US'   U R
                  b  U R
                  US'   U R                  5       u  pVnUR                  S5       HI  nUR                  S5       H1  n	UR                  S5       H  n
S	R                  XU
45      US
'   M     M3     MK     [        R                  R                  US5      n[        R                  " SU 35        [        US5       n[        USS9R                  U5        S S S 5        g ! , (       d  f       g = f)Nr   )Messagez1.0zWheel-Versionr   zRoot-Is-PurelibBuildr'   r   TagWHEELz	creating wb)maxheaderlen)email.messager  r(   r   r   r   r   re   rf   rx   rt   r   r   openr   flatten)r   wheelfile_base	generatorr  msgr  r   r   rh   rj   platwheelfile_pathfs                r"   r   bdist_wheel.write_wheelfile  s    	*i$O$K!$T%6%6!7!=!=!?(,,CL '+lln#8NN3'D}}S)$NN3/D!$4d*;!<CJ 0 * (
 ng>9^,-..$'111-55c: (''s   D22
E c                    [         R                  R                  U5      u  p!USS [         R                  :X  a  X!SS  -   nU$ )Nr   r   )rx   rt   
splitdrivesep)r   rt   drives      r"   r   bdist_wheel._ensure_relative  s=    gg((.!98#Dr$   c           	     |   [         S:  a)  U R                  R                  R                  =(       d    S$ [	        5       nU R                  R                  S5      n[         S:  a6  [        [        [           U R                  R                  R                  5      nOSU;   a  US   S   R                  5       nOSnSU;   a1  [        R                  " S[        S	S
9  UR                  US   S   5        U(       d  U(       d  [        U[        5      (       d  SnU H  n[!        U5       H  nUR#                  S5      (       a  [$        R&                  " SU S35        M5  XQ;  d  M<  [(        R*                  R-                  U5      (       d  Mb  [$        R.                  " SU SU S35        UR                  U5        M     M     U$ )N9   r3   metadata*   license_filesr   license_filezEThe "license_file" option is deprecated. Use "license_files" instead.rG   rH   )zLICEN[CS]E*zCOPYING*zNOTICE*zAUTHORS*~zignoring license file "z" as it looks like a backupzadding license file "z" (matched pattern "z"))setuptools_major_versionr   r(  r*  setr   r   r   r(   re   rK   rL   DeprecationWarningadd
isinstancelistr   endswithr   debugrx   rt   isfiler   )r   filesr(  patternspatternrt   s         r"   license_pathsbdist_wheel.license_paths  sq   #r)$$--;;ArA%$$44Z@#r)HSM4+<+<+E+E+S+STH (*#O4Q7==?X%MMW"
 IIh~.q12Xj4.H.HIHGg==%%II1$7RS $)=)=HH/v5I'RTU IIdO '   r$   c                2   SS jnU" U5        [         R                  R                  U5      (       d  SSKn[         R                  R	                  [         R                  R                  U5      S5      nUR                  U5      nSU S3nU(       a+  [         R                  R                  US   5      nUSU S3-  n[        U5      e[         R                  R                  U5      (       a"  [        X5      n	[         R                  " U5        O[         R                  R	                  US	5      n
[        X5      n	[        R                  " UUS
 S9  [         R                  R	                  US5      n[        USS9 nUR                  5       R                  5       nSSS5        W(       d  U" U5        [         R                  R	                  US5      n[!        SSSS9n[        USSS9 n[#        UUS9R%                  U	5        SSS5        U R&                   HW  n[         R                  R                  U5      n[        R(                  " U[         R                  R	                  UU5      5        MY     U" U5        g! , (       d  f       N= f! , (       d  f       N= f)z:Convert an .egg-info directory into a .dist-info directoryc                   [         R                  R                  U 5      (       a_  [         R                  R                  U 5      (       d;  [         R                  R	                  U 5      (       a  [
        R                  " U 5        g[         R                  R                  U 5      (       a  [         R                  " U 5        gg)z-Appropriately delete directory, file or link.N)rx   rt   r   islinkisdirshutilr   unlink)r   s    r"   adios#bdist_wheel.egg2dist.<locals>.adios#  sh    ww~~a  ):):rww}}Q?O?Oa ""		! #r$   r   Nz
*.egg-infozEgg metadata expected at z but not foundz (z) found - possible misnamed archive file?)PKG-INFOc                
    1 Sk$ )N>   rC  SOURCES.txtnot-zip-saferequires.txtr3   )xys     r"   <lambda>&bdist_wheel.egg2dist.<locals>.<lambda>I  s     %r$   )ignorezdependency_links.txtzutf-8)encodingMETADATATF)utf8mangle_from_max_line_lengthr   )policy)r   r(   returnNone)rx   rt   r   globrf   dirnamebasenamer   r5  r   mkdirr?  copytreer  readr   r   r   r  r9  copy)r   egginfo_pathdistinfo_pathrA  rU  patpossibleerraltpkg_infopkginfo_pathdependency_links_pathdependency_links_filedependency_linkspkg_info_pathserialization_policyoutlicense_pathfilenames                      r"   r   bdist_wheel.egg2dist   s   	 	mww~~l++
 '',,rww|<lKCyy~H-l^>JCgg&&x{3C5 IJJS/!77>>,''*<FHHH]# 77<<jAL*<FH OO	 %'GGLL@V$W!+g>BW#8#=#=#?#E#E#G  ?#+,]J?* 

 -w73c"67??I 8 !..Lww''5HKKbggll=(&KL / 	l% ?> 87s   9I7%J7
J
J)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r9   r   r   r   r   )rS  ztuple[str, str, str])r  r(   r  r(   )rt   r(   rS  r(   )rS  zIterable[str])r\  r(   r]  r(   )__name__
__module____qualname____firstlineno__descriptionr   r   r   rA   r   rf   r9   user_optionsboolean_optionsr   r   propertyr   r   r  wheel_versionr   r   r9  r   __static_attributes__r3   r$   r"   r~   r~      s1   /K   	Q%d+,A/	
	
 	LR	

	

	

 	GDKK		01	
 A*,rR	

	
	
g8Lt KO(*)RV $ $8tXFv 7DM?RS4T;!;.1;0 * *XEr$   r~   )r!   r(   rS  r(   )r   r(   rS  r(   )rS  bool)rS  r(   )rD   
str | NonerS  r(   )TT)
rN   r(   rO   rw  rP   rw  rL   rw  rS  rw  )rS  rx  )rs   Callable[..., object]rt   r(   ru   z6tuple[type[Exception], Exception, types.TracebackType]rS  rT  )rs   ry  rt   r(   r|   	ExceptionrS  rT  )A__doc__
__future__r   rx   r   r?  rz   r1   r7   r@   rK   email.generatorr   r   email.policyr   rU  r   r   typingr	   r
   r   r   r   r   zipfiler   r   
setuptoolsr   rX   r   ru  r(  r   utilr   vendored.packagingr   r   r)   	wheelfiler   types
__import__ImportErrorr   	configurer#   r-   intre   r-  r   r4   r9   rA   rR   rk   rn   rp   rv   rr   r~   r3   r$   r"   <module>r     sL   # 	 	    
   5 $   M M ,   * )  $ =  $#$/	6 z55;;C@CD ! %&$* CG	(,;?	"%P-30
0
0 D0 
	0
t' tS  $%!!#	$s   D D:9D: