£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3
Re
                 @   sT   d Z ddlZddlmZ ddlmZ ddlmZ er@ddlm	Z	 G dd de
ZdS )	z`Represents a wheel file and provides access to the various parts of the
name that have meaning.
    N)Tag)InvalidWheelFilename)MYPY_CHECK_RUNNING)Listc               @   s>   e Zd ZdZejdejZdd Zdd Z	dd Z
d	d
 ZdS )WheelzA wheel filez^(?P<namever>(?P<name>.+?)-(?P<ver>.*?))
        ((-(?P<build>\d[^-]*?))?-(?P<pyver>.+?)-(?P<abi>.+?)-(?P<plat>.+?)
        \.whl|\.dist-info)$c                s    j j|}|stdj|| _|jdjdd _|jdjdd _|jd _	|jdj
d _|jd	j
d _|jd
j
d _ fdd jD  _dS )zX
        :raises InvalidWheelFilename: when the filename is invalid for a wheel
        z!{} is not a valid wheel filename.name_-verbuildpyver.abiplatc                s0   h | ](} j D ]} jD ]}t|||qqqS  )abisplatsr   ).0xyz)selfr   /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/models/wheel.py	<setcomp>.   s   z!Wheel.__init__.<locals>.<setcomp>N)wheel_file_rematchr   formatfilenamegroupreplacer   version	build_tagsplit
pyversionsr   r   	file_tags)r   r   
wheel_infor   )r   r   __init__   s    
zWheel.__init__c             C   s   t dd | jD S )z4Return the wheel's tags as a sorted list of strings.c             s   s   | ]}t |V  qd S )N)str)r   tagr   r   r   	<genexpr>6   s    z0Wheel.get_formatted_file_tags.<locals>.<genexpr>)sortedr$   )r   r   r   r   get_formatted_file_tags3   s    zWheel.get_formatted_file_tagsc                s   t  fdd| jD S )a  Return the lowest index that one of the wheel's file_tag combinations
        achieves in the given list of supported tags.

        For example, if there are 8 supported tags and one of the file tags
        is first in the list, then return 0.

        :param tags: the PEP 425 tags to check the wheel against, in order
            with most preferred first.

        :raises ValueError: If none of the wheel's file tags match one of
            the supported tags.
        c             3   s    | ]}| kr j |V  qd S )N)index)r   r(   )tagsr   r   r)   F   s    z*Wheel.support_index_min.<locals>.<genexpr>)minr$   )r   r-   r   )r-   r   support_index_min8   s    zWheel.support_index_minc             C   s   | j j| S )zReturn whether the wheel is compatible with one of the given tags.

        :param tags: the PEP 425 tags to check the wheel against.
        )r$   
isdisjoint)r   r-   r   r   r   	supportedH   s    zWheel.supportedN)__name__
__module____qualname____doc__recompileVERBOSEr   r&   r+   r/   r1   r   r   r   r   r      s   r   )r5   r6   pip._vendor.packaging.tagsr   pip._internal.exceptionsr   pip._internal.utils.typingr   typingr   objectr   r   r   r   r   <module>   s   