
    eXf                         d 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Zddlm	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  ej        d	ej                  j        Zd
Zd Zej        d             Z G d d          ZdS )zWheels support.    N)get_platform)parse_version)sys_tags)canonicalize_name)write_requirements)_unpack_zipfile_objz^(?P<project_name>.+?)-(?P<version>\d.*?)
    ((-(?P<build>\d.*?))?-(?P<py_version>.+?)-(?P<abi>.+?)-(?P<platform>.+?)
    )\.whl$z8__import__('pkg_resources').declare_namespace(__name__)
c                    t          j        |           D ])\  }}}t           j                            ||           }|D ]X}t           j                            ||          }t           j                            |||          }t          j        ||           Yt          t          t          |                              D ]}\  }	}
t           j                            ||
          }t           j                            |||
          }t           j        	                    |          st          j        ||           ||	= ~+t          j        | d          D ]\  }}}|rJ t          j
        |           dS )zDMove everything under `src_dir` to `dst_dir`, and delete the former.T)topdownN)oswalkpathrelpathjoinrenamesreversedlist	enumerateexistsrmdir)src_dirdst_dirdirpathdirnames	filenamessubdirfsrcdstnds              I/var/www/html/Qu*py/bism/lib/python3.11/site-packages/setuptools/wheel.pyunpackr"       se   (*(8(8    $9'22 	! 	!A',,w**C',,w22CJsC    T)H"5"56677 	  	 DAq',,w**C',,w22C7>>#&&   
3$$$QK	  )+(F(F(F  $9
     c               #      K   ddl m}  |                     | j                  }	 dV  |                     |           dS # |                     |           w xY w)z*
    Temporarily disable info traces.
    r   )logN)	distutilsr%   set_thresholdWARN)r%   saveds     r!   disable_info_tracesr*   6   sq      
 ch''E!%     %    s	   ? Ac                   z    e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
d             Ze
d	             Ze
d
             ZdS )Wheelc                    t          t          j                            |                    }|t	          d|z            || _        |                                                                D ]\  }}t          | ||           d S )Nzinvalid wheel name: %r)	
WHEEL_NAMEr   r   basename
ValueErrorfilename	groupdictitemssetattr)selfr1   matchkvs        r!   __init__zWheel.__init__E   s    27++H5566=5@AAA OO%%++-- 	  	 DAqD!Q	  	 r#   c                     t          j        | j                            d          | j                            d          | j                            d                    S )z>List tags (py_version, abi, platform) supported by this wheel..)	itertoolsproduct
py_versionsplitabiplatformr5   s    r!   tagsz
Wheel.tagsM   sN     O!!#&&HNN3M$$
 
 	
r#   c                     t          d t                      D                       t          fd|                                 D             d          S )z5Is the wheel is compatible with the current platform?c              3   >   K   | ]}|j         |j        |j        fV  d S N)interpreterr@   rA   ).0ts     r!   	<genexpr>z&Wheel.is_compatible.<locals>.<genexpr>W   sH       D D34Q]AE1:.D D D D D Dr#   c              3   $   K   | ]
}|v d V  dS )TN )rH   rI   supported_tagss     r!   rJ   z&Wheel.is_compatible.<locals>.<genexpr>Y   s-      FFa!~2E2ET2E2E2E2EFFr#   F)setr   nextrC   )r5   rM   s    @r!   is_compatiblezWheel.is_compatibleU   sf     D D8@

D D D D DFFFF499;;FFFNNNr#   c                     t          j        | j        | j        | j        dk    rd nt                                                                dz   S )Nany)project_nameversionrA   z.egg)pkg_resourcesDistributionrS   rT   rA   r   egg_namerB   s    r!   rW   zWheel.egg_name[   sO    )*DL"mu44dd,..
 
 
 (**v 	r#   c                    |                                 D ]c}t          j        |          }|                    d          r8t	          |                              t	          | j                            r|c S dt          d          )Nz
.dist-infoz.unsupported wheel format. .dist-info not found)namelist	posixpathdirnameendswithr   
startswithrS   r0   )r5   zfmemberr[   s       r!   get_dist_infozWheel.get_dist_infoa   s    kkmm 	 	F'//G  .. %g..99)$*;<<> > IJJJr#   c                     t          j        | j                  5 }|                     ||           ddd           dS # 1 swxY w Y   dS )z"Install wheel as an egg directory.N)zipfileZipFiler1   _install_as_egg)r5   destination_eggdirr^   s      r!   install_as_eggzWheel.install_as_eggk   s    _T]++ 	9r  !3R888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   >AAc                 $   | j         d| j        }|                     |          }d|z  }t          j                            |d          }|                     ||||           |                     ||           |                     ||           d S )N-z%s.dataEGG-INFO)	rS   rT   r`   r   r   r   _convert_metadata_move_data_entries_fix_namespace_packages)r5   re   r^   dist_basename	dist_info	dist_dataegg_infos          r!   rd   zWheel._install_as_eggp   s    #'#4#4#4dllC&&r**	-	7<< 2J??r#5y(KKK 2I>>>$$X/ABBBBBr#   c           	      0   
  fd} |d          }t          |                    d                    }t          d          |cxk    ot          d          k     nc }|st          d|z            t           |           t          j                            |          t          j        	                    |t          j
        |                    
d t          t          
                                                    
fd	
j        D             }t	          j        |           t	          j        t          j                            |d
          t          j                            |d                     t!          j        t#          |                    }	t%                      5  t'          |	                    d          d t          j                            |d                     d d d            d S # 1 swxY w Y   d S )Nc                 8                        t          j        |                     5 }|                                                    d          }t
          j                                                            |          cd d d            S # 1 swxY w Y   d S )Nzutf-8)	openrZ   r   readdecodeemailparserParserparsestr)namefpvaluern   r^   s      r!   get_metadataz-Wheel._convert_metadata.<locals>.get_metadata|   s    	48899 =R		((11|**,,55e<<= = = = = = = = = = = = = = = = = =s   ABBBWHEELzWheel-Versionz1.0z2.0dev0z$unsupported wheel format version: %s)metadatac                 .    d | _         t          |           S rF   )markerstr)reqs    r!   raw_reqz(Wheel._convert_metadata.<locals>.raw_req   s    CJs88Or#   c           
      r    i | ]3}|fd t                              |f                    D             4S )c                     g | ]}|v|	S rL   rL   )rH   r   install_requiress     r!   
<listcomp>z6Wheel._convert_metadata.<locals>.<dictcomp>.<listcomp>   s/       ... ...r#   )maprequires)rH   extradistr   r   s     r!   
<dictcomp>z+Wheel._convert_metadata.<locals>.<dictcomp>   si     
 
 
      wuh(?(?@@  
 
 
r#   METADATAzPKG-INFO)r   extras_require)attrsrp   zrequires.txt)r   getr0   r   r   r   r   rU   rV   from_locationPathMetadatar   r   r   extrasrename
setuptoolsdictr*   r   get_command_obj)r^   re   rn   rp   r}   wheel_metadatawheel_versionwheel_v1r   
setup_distr   r   r   s   ` `       @@@r!   rj   zWheel._convert_metadataz   s   	= 	= 	= 	= 	= 	=
 &g..%n&8&8&I&IJJ%  MLLLLM)4L4LLLLL 	  	H6FH H H 	B 2333GLL!3Y??	)77	"/0BINN 8 
 
	 	 	  GT]]__ = =>>
 
 
 
 
 
 
 
 
 		)X&&&
	GLL:..GLL:..	
 	
 	
  ,!1-  
 
 

 !"" 	 	**:66X~66  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ;AHHHc                    t           j                            |           t           j                            d          }t           j                            |          rt           j                            | dd          }t          j        |           t          j        |          D ]}|                    d          r3t          j        t           j                            ||                     Jt          j        t           j                            ||          t           j                            ||                     t          j	        |           t          t           j        j        fddD                       D ]}t          ||            t           j                                      rt          j	                   dS dS )z,Move data entries to their correct location.scriptsri   z.pycc              3   X   K   | ]$}t           j                            |          V  %d S rF   )r   r   r   )rH   r    ro   s     r!   rJ   z+Wheel._move_data_entries.<locals>.<genexpr>   sG       .
 .
 GLLA&&.
 .
 .
 .
 .
 .
r#   )dataheaderspurelibplatlibN)r   r   r   r   mkdirlistdirr\   unlinkr   r   filterr"   )re   ro   dist_data_scriptsegg_info_scriptsentryr   s    `    r!   rk   zWheel._move_data_entries   s    GLL!3Y??	GLLI>>7>>+,, 	(!w||"J	 ;  ;H%&&&$566 	 	 >>&)) Ibgll+<eDDEEEEI%6>>%5u==    H&'''RW^ .
 .
 .
 .
>.
 .
 .
   	/ 	/F 6-....7>>)$$ 	 HY	  	 r#   c                    t           j                            | d          }t           j                            |          r0t	          |          5 }|                                                                }d d d            n# 1 swxY w Y   |D ]}t          j        j        |g|                    d          R  }t           j                            |d          }t           j                            |          st          j        |           t           j                            |          sBt	          |d          5 }|                    t                     d d d            n# 1 swxY w Y   d S d S )Nznamespace_packages.txtr;   z__init__.pyw)
r   r   r   r   rs   rt   r?   r   writeNAMESPACE_PACKAGE_INIT)rp   re   namespace_packagesr{   modmod_dirmod_inits          r!   rl   zWheel._fix_namespace_packages   s   W\\.0 07>>,-- 
	9()) 7R%'WWYY__%6%6"7 7 7 7 7 7 7 7 7 7 7 7 7 7 7) 9 9','9KCIIcNNKKK7<<??w~~g.. &HW%%%w~~h// 9h,, 9!78889 9 9 9 9 9 9 9 9 9 9 9 9 9 9
	9 
	99 9s$   'BB
B>E%%E)	,E)	N)__name__
__module____qualname__r9   rC   rP   rW   r`   rf   rd   staticmethodrj   rk   rl   rL   r#   r!   r,   r,   C   s             
 
 
O O O  K K K9 9 9
C C C 7 7 \7r     \ 6 9 9 \9 9 9r#   r,   )__doc__rv   r<   r   rZ   rerb   
contextlibdistutils.utilr   rU   r   r    setuptools.extern.packaging.tagsr   !setuptools.extern.packaging.utilsr   setuptools.command.egg_infor   setuptools.archive_utilr   compileVERBOSEr6   r.   r   r"   contextmanagerr*   r,   rL   r#   r!   <module>r      su          				     				      ' ' ' ' ' '         ' ' ' ' ' ' 5 5 5 5 5 5 ? ? ? ? ? ? : : : : : : 7 7 7 7 7 7 RZ J	  	  @   , 	! 	! 	![9 [9 [9 [9 [9 [9 [9 [9 [9 [9r#   