<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
U
    ʗReI$                     @   s,  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mZm	Z	m
Z
mZmZmZ d dlmZ d dlmZ d dlmZmZ d dlmZ d dlmZmZmZ d dlmZ d d	lmZm Z  d d
l!m"Z"m#Z# ddl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* e+e,Z-G dd deZ.G dd dZ/G dd de%Z0G dd de'Z1dS )    N)
CollectionIterableIteratorListMapping
NamedTupleOptional)pkg_resources)Requirement)NormalizedNamecanonicalize_name)parse)InvalidWheelNoneMetadataErrorUnsupportedWheel)egg_link_path_from_location)display_pathnormalize_path)parse_wheelread_wheel_metadata_file   )BaseDistributionBaseEntryPointBaseEnvironmentDistributionVersionInfoPathWheelc                   @   s&   e Zd ZU eed< eed< eed< dS )
EntryPointnamevaluegroupN)__name__
__module____qualname__str__annotations__ r&   r&   /builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/metadata/pkg_resources.pyr      s   
r   c                   @   s   e Zd ZdZeeef eddddZeedddZ	eedd	d
Z
eee dddZeedddZeee dddZeeddddZdS )WheelMetadatazIMetadataProvider that reads metadata files from a dictionary.

    This also maps metadata decoding exceptions to our internal exception type.
    N)metadata
wheel_namereturnc                 C   s   || _ || _d S N)	_metadata_wheel_name)selfr)   r*   r&   r&   r'   __init__*   s    zWheelMetadata.__init__r   r+   c                 C   s
   || j kS r,   )r-   r/   r   r&   r&   r'   has_metadata.   s    zWheelMetadata.has_metadatac                 C   sV   z| j |  W S  tk
rP } z"td| j d| d| dW 5 d }~X Y nX d S )NzError decoding metadata for z: z in z file)r-   decodeUnicodeDecodeErrorr   r.   )r/   r   er&   r&   r'   get_metadata1   s    zWheelMetadata.get_metadatac                 C   s   t | |S r,   )r	   yield_linesr7   r2   r&   r&   r'   get_metadata_lines:   s    z WheelMetadata.get_metadata_linesc                 C   s   dS NFr&   r2   r&   r&   r'   metadata_isdir=   s    zWheelMetadata.metadata_isdirc                 C   s   g S r,   r&   r2   r&   r&   r'   metadata_listdir@   s    zWheelMetadata.metadata_listdir)script_name	namespacer+   c                 C   s   d S r,   r&   )r/   r=   r>   r&   r&   r'   
run_scriptC   s    zWheelMetadata.run_script)r!   r"   r#   __doc__r   r$   bytesr0   boolr3   r7   r   r9   r;   r   r<   r?   r&   r&   r&   r'   r(   $   s   	r(   c                   @   sB  e Zd ZejddddZeeedddZ	ee
eedd	d
Zeee dddZeee dddZeee dddZeedddZeedddZeedddZeedddZee dddZeedddZee ddd Zej j!dd!d"Z"d)e#e ee$ d$d%d&Z%ee dd'd(Z&dS )*DistributionN)distr+   c                 C   s
   || _ d S r,   )_distr/   rD   r&   r&   r'   r0   H   s    zDistribution.__init__)	directoryr+   c           	      C   s   | tj}tj|\}}t||}|drJtj}tj	|d }n.|dsXt
tj}tj	|d dd }||||d}| |S )Nz	.egg-infor   z
.dist-info-)project_namer)   )rstriposseppathsplitr	   PathMetadataendswithrC   splitextAssertionErrorDistInfoDistribution)	clsrG   dist_dirbase_dirdist_dir_namer)   dist_cls	dist_namerD   r&   r&   r'   from_directoryK   s    
zDistribution.from_directory)wheelr   r+   c              
      s   z>|  ,t|\ } fdd D }W 5 Q R X W nd tjk
rp } zt|j||W 5 d }~X Y n4 tk
r } zt| d| W 5 d }~X Y nX tj	|jt
||j|d}| |S )Nc                    s4   i | ],}|   d r|d dd t|qS )/r   )
startswithrN   r   ).0rM   info_dirzfr&   r'   
<dictcomp>d   s    z+Distribution.from_wheel.<locals>.<dictcomp>z has an invalid wheel, )locationr)   rI   )
as_zipfiler   namelistzipfile
BadZipFiler   rd   r   r	   rS   r(   )rT   r[   r   _metadata_textr6   rD   r&   r`   r'   
from_wheel_   s     
$
zDistribution.from_wheelr+   c                 C   s   | j jS r,   )rE   rd   r/   r&   r&   r'   rd   t   s    zDistribution.locationc                 C   s.   t | j}|r|}n| jr"| j}nd S t|S r,   )r   raw_namerd   r   )r/   egg_linkrd   r&   r&   r'   installed_locationx   s    
zDistribution.installed_locationc                 C   s   | j jS r,   )rE   egg_inform   r&   r&   r'   info_location   s    zDistribution.info_locationc                 C   s,   zt | jjjW S  tk
r&   Y dS X d S r:   )rB   rE   	_providerrM   AttributeErrorrm   r&   r&   r'   installed_by_distutils   s    z#Distribution.installed_by_distutilsc                 C   s   t | jjS r,   )r   rE   rI   rm   r&   r&   r'   canonical_name   s    zDistribution.canonical_namec                 C   s   t | jjS r,   )parse_versionrE   versionrm   r&   r&   r'   rx      s    zDistribution.version)rM   r+   c                 C   s   | j t|S r,   )rE   r3   r$   )r/   rM   r&   r&   r'   is_file   s    zDistribution.is_filec                 c   s   | j dE d H  d S )Nscripts)rE   r<   rm   r&   r&   r'   iter_distutils_script_names   s    z(Distribution.iter_distutils_script_namesc                 C   s>   t |}| j|st|| j|}|d kr:t| ||S r,   )r$   rE   r3   FileNotFoundErrorr7   r   )r/   rM   r   contentr&   r&   r'   	read_text   s    
zDistribution.read_textc                 c   sZ   | j   D ]F\}}| D ]4\}}t|d\}}}t| | |dV  qqd S )N=)r   r   r    )rE   get_entry_mapitemsr$   	partitionr   strip)r/   r    entriesr   entry_pointri   r   r&   r&   r'   iter_entry_points   s    zDistribution.iter_entry_pointsc                 C   s   t | jtjrd}nd}z| |}W n@ tk
rf   | jrHt| j}n
t| j}t	
d| d}Y nX tj }|| | S )z
        :raises NoneMetadataError: if the distribution reports `has_metadata()`
            True but `get_metadata()` returns None.
        METADATAzPKG-INFOzNo metadata found in %s )
isinstancerE   r	   rS   r~   r|   rd   r   reprloggerwarningemailparser
FeedParserfeedclose)r/   metadata_namer)   displaying_pathfeed_parserr&   r&   r'   _metadata_impl   s    



zDistribution._metadata_implr&   )extrasr+   c                 C   s"   |rt || jj}| j|S r,   )	frozensetintersectionrE   r   requires)r/   r   r&   r&   r'   iter_dependencies   s    zDistribution.iter_dependenciesc                 C   s   | j jS r,   )rE   r   rm   r&   r&   r'   iter_provided_extras   s    z!Distribution.iter_provided_extras)r&   )'r!   r"   r#   r	   rC   r0   classmethodr$   r   rZ   r   rk   propertyr   rd   rp   rr   rB   ru   r   rv   r   rx   r   ry   r   r{   r~   r   r   r   r   messageMessager   r   r
   r   r   r&   r&   r&   r'   rC   G   s0   
		rC   c                   @   s   e Zd ZejddddZeedddZee	e
e  edd	d
Zee dddZee	e dddZee	e dddZdS )EnvironmentN)wsr+   c                 C   s
   || _ d S r,   )_ws)r/   r   r&   r&   r'   r0      s    zEnvironment.__init__rl   c                 C   s
   | t jS r,   )r	   working_set)rT   r&   r&   r'   default   s    zEnvironment.default)pathsr+   c                 C   s   | t |S r,   )r	   
WorkingSet)rT   r   r&   r&   r'   
from_paths   s    zEnvironment.from_pathsc                 c   s   | j D ]}t|V  qd S r,   )r   rC   rF   r&   r&   r'   _iter_distributions   s    
zEnvironment._iter_distributionsr1   c                 C   s,   t |}|  D ]}|j|kr|  S qdS )zFind a distribution matching the ``name`` in the environment.

        This searches from *all* distributions available in the environment, to
        match the behavior of ``pkg_resources.get_distribution()``.
        N)r   iter_all_distributionsrv   )r/   r   rv   rD   r&   r&   r'   _search_distribution   s
    

z Environment._search_distributionc                 C   sF   |  |}|r|S z| j| W n tjk
r:   Y d S X |  |S r,   )r   r   requirer	   DistributionNotFound)r/   r   rD   r&   r&   r'   get_distribution   s    

zEnvironment.get_distribution)r!   r"   r#   r	   r   r0   r   r   r   r   r   r$   r   r   r   r   r   r   r&   r&   r&   r'   r      s   r   )2email.messager   email.parserloggingrK   rg   typingr   r   r   r   r   r   r   pip._vendorr	   "pip._vendor.packaging.requirementsr
   pip._vendor.packaging.utilsr   r   Zpip._vendor.packaging.versionr   rw   pip._internal.exceptionsr   r   r   pip._internal.utils.egg_linkr   pip._internal.utils.miscr   r   pip._internal.utils.wheelr   r   baser   r   r   r   r   r   	getLoggerr!   r   r   r(   rC   r   r&   r&   r&   r'   <module>   s(   $ 	
# 