HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/packaging/__pycache__/markers.cpython-310.pyc
o

�N�g��	@s�UddlZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZddlm
Z
mZmZmZmZmZddlmZddlmZmZddlmZgd�ZeeegefZGd	d
�d
e�ZGdd�de�Z Gd
d�de�Z!dedefdd�Z"	d3deeee
efde	edefdd�Z#dd�dd�ej$ej%ej&ej'ej(ej)d�Z*eeefe+d<dedededefd d!�Z,d"ed#ede
ed$ffd%d&�Z-d'ed(eeefdefd)d*�Z.d+d,defd-d.�Z/deeeffd/d0�Z0Gd1d2�d2�Z1dS)4�N)�Any�Callable�Dict�List�Optional�Tuple�Union�)�
MarkerAtom�
MarkerList�Op�Value�Variable�parse_marker)�ParserSyntaxError)�InvalidSpecifier�	Specifier��canonicalize_name)�
InvalidMarker�UndefinedComparison�UndefinedEnvironmentName�Marker�default_environmentc@�eZdZdZdS)rzE
    An invalid marker was found, users should refer to PEP 508.
    N��__name__�
__module__�__qualname__�__doc__�r r �E/opt/saltstack/salt/lib/python3.10/site-packages/packaging/markers.pyr�rc@r)rzP
    An invalid operation was attempted on a value that doesn't support it.
    Nrr r r r!r!r"rc@r)rz\
    A name was attempted to be used that does not exist inside of the
    environment.
    Nrr r r r!r'r"r�results�returncCs|t|dt�r<|d\}}}t|t�r"|jdkr"t|j�}t|�}nt|t�r5|jdkr5t|j�}t|�}|||f|d<|S)z!
    Normalize extra values.
    r�extra)�
isinstance�tupler�valuerr
)r#�lhs�op�rhsZnormalized_extrar r r!�_normalize_extra_values.s


r,T�marker�firstcCs�t|tttf�s
J�t|t�r$t|�dkr$t|dttf�r$t|d�St|t�r@dd�|D�}|r7d�|�Sdd�|�dSt|t�rOd�dd	�|D��S|S)
Nr	rcss�|]	}t|dd�VqdS)F)r.N)�_format_marker��.0�mr r r!�	<genexpr>Ps�z!_format_marker.<locals>.<genexpr>� �(�)cSsg|]}|���qSr )�	serializer0r r r!�
<listcomp>Vsz"_format_marker.<locals>.<listcomp>)r&�listr'�str�lenr/�join)r-r.�innerr r r!r/>s��


r/cCs||vS�Nr �r)r+r r r!�<lambda>\�r@cCs||vSr>r r?r r r!r@]rA)�inznot in�<z<=z==z!=z>=�>�
_operatorsr)r*r+cCsxz
td�|��|g��}Wn	tyYnw|j|dd�St�|���}|dur7td|�d|�d|�d���|||�S)N�T)Zprereleasesz
Undefined z on z and �.)rr<r7r�containsrE�getr)r)r*r+�specZoperr r r!�_eval_opgs�
rK�values�key.cGs|dkr
tdd�|D��S|S)Nr%cs��|]}t|�VqdSr>r)r1�vr r r!r3|��z_normalize.<locals>.<genexpr>)r')rMrLr r r!�
_normalizevsrQ�markers�environmentc
Cs�gg}|D]d}t|tttf�sJ�t|t�r!|d�t||��qt|t�rZ|\}}}t|t�r;|j}||}|j}	n
|j}|j}||}	t||	|d�\}}	|d�t	|||	��q|dvs`J�|dkri|�g�qt
dd�|D��S)N���)rM)�and�orrVcsrNr>)�all)r1�itemr r r!r3�rPz$_evaluate_markers.<locals>.<genexpr>)r&r9r'r:�append�_evaluate_markersrr(rQrK�any)
rRrS�groupsr-r)r*r+Zenvironment_keyZ	lhs_valueZ	rhs_valuer r r!rZ�s*




�rZ�infozsys._version_infocCs2d�|�}|j}|dkr||dt|j�7}|S)Nz{0.major}.{0.minor}.{0.micro}�finalr)�format�releaselevelr:�serial)r]�version�kindr r r!�format_full_version�s

rdcCs^ttjj�}tjj}||tjt��t��t�	�t��t�
�t��d�t�
�dd��tjd�S)NrG�)�implementation_nameZimplementation_version�os_nameZplatform_machineZplatform_releaseZplatform_system�platform_versionZpython_full_versionZplatform_python_implementation�python_versionZsys_platform)rd�sys�implementationrb�name�os�platform�machine�release�systemri�python_implementationr<�python_version_tuple)Ziverrfr r r!r�s�rc@szeZdZdeddfdd�Zdefdd�Zdefdd	�Zdefd
d�Zde	de
fd
d�Zddee
eefde
fdd�ZdS)rr-r$Nc
Cs<z
tt|��|_WdSty}ztt|��|�d}~wwr>)r,r�_markersrrr:)�selfr-�er r r!�__init__�s��zMarker.__init__cCs
t|j�Sr>)r/rt�rur r r!�__str__�s
zMarker.__str__cCsd|�d�S)Nz	<Marker('z')>r rxr r r!�__repr__�szMarker.__repr__cCst|jjt|�f�Sr>)�hash�	__class__rr:rxr r r!�__hash__�szMarker.__hash__�othercCst|t�stSt|�t|�kSr>)r&r�NotImplementedr:)rur~r r r!�__eq__�s
z
Marker.__eq__rScCs,t�}d|d<|dur|�|�t|j|�S)a$Evaluate a marker.

        Return the boolean from evaluating the given marker against the
        environment. environment is an optional argument to override all or
        part of the determined environment.

        The environment is determined from the current Python process.
        rFr%N)r�updaterZrt)rurSZcurrent_environmentr r r!�evaluate�s
	
zMarker.evaluater>)rrrr:rwryrz�intr}r�boolr�rrr�r r r r!r�s$r)T)2�operatorrmrnrj�typingrrrrrrrZ_parserr
rrr
rrZ
_tokenizerrZ
specifiersrr�utilsr�__all__r:r�ZOperator�
ValueErrorrrrr,r/�lt�le�eq�ne�ge�gtrE�__annotations__rKrQrZrdrrr r r r!�<module>sL
$ ���
��