a �DOg �@s~ddlZddlZddlZe�dej�Ze�d�Ze�d�Zdd�Z ej ej ej ej ejejd�ZGdd �d �Zdad d �ZdS) �Nz'(?i)^\s*([a-z_]\w*(?:\.[a-z_]\w*)*)(.*)z^\s*\((.*)\)\s*$z%^\s*(<=|>=|<|>|!=|==)\s*([^\s,]+)\s*$cCs6t�|�}|std|��|��\}}|tj�|�fS)Nz"bad package restriction syntax: %r)�re_splitComparison�match� ValueError�groups� distutils�version� StrictVersion)�pred�res�compZverStr�r �2/usr/lib64/python3.9/distutils/versionpredicate.py�splitUps    r)�z>=z!=c@s$eZdZdd�Zdd�Zdd�ZdS)�VersionPredicatecCs�|��}|std��t�|�}|s.td|��|��\|_}|��}|r�t�|�}|sbtd|��|��d}dd�|�d�D�|_|js�td|��ng|_dS) Nzempty package restrictionzbad package name in %rzexpected parenthesized list: %rrcSsg|] }t|��qSr )r)�.0ZaPredr r r � t�z-VersionPredicate.__init__..�,zempty parenthesized list in %r) �stripr�re_validPackagerr�name�re_paren�splitr )�selfZversionPredicateStrrZparen�strr r r �__init__`s&     �zVersionPredicate.__init__cCs8|jr.dd�|jD�}|jdd�|�dS|jSdS)NcSs g|]\}}|dt|��qS)� )r)r�cond�verr r r r}rz,VersionPredicate.__str__..z (z, �))r r�join)r�seqr r r �__str__{szVersionPredicate.__str__cCs(|jD]\}}t|||�sdSqdS)NFT)r �compmap)rrrr r r r � satisfied_by�szVersionPredicate.satisfied_byN)�__name__� __module__� __qualname__rr$r&r r r r rsArcCsdtdurt�dtj�a|��}t�|�}|s8td|��|�d�pDd}|rVtj � |�}|�d�|fS)Nz=([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(?:\s*\(\s*([^)\s]+)\s*\))?$z"illegal provides specification: %r��) � _provision_rx�re�compile�ASCIIrrr�grouprrr)�value�mr r r r �split_provision�s �   r3)r-Zdistutils.versionr�operatorr.r/rrrr�lt�le�eq�gt�ge�ner%rr,r3r r r r �s�    �n