�
��^i� � � � d Z ddlZddlZddlZddlmZmZmZm Z m
Z
mZmZ g d�Z
ed� � ZdZ ej d� � Z G d� d e� � Z dd
eeef de
e ded
e e de e f
d�Z dd
eeef de
e ded
e e def
d�Zdee d ddfd�Zdedeeef fd�Z G d� d� � Z G d� d� � Z G d� d� � Zeeeef Z G d� d� � ZdS )z PEP 610 � N)�Any�Dict�Iterable�Optional�Type�TypeVar�Union)� DirectUrl�DirectUrlValidationError�DirInfo�ArchiveInfo�VcsInfo�Tzdirect_url.jsonz.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$c � � e Zd ZdS )r N)�__name__�
__module__�__qualname__� � ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/models/direct_url.pyr r s � � � � � ��Dr r �d�
expected_type�key�default�returnc � � || vr|S | | }t ||� � s$t d� |||� � � � �|S )z3Get value from dictionary and verify expected type.z-{!r} has unexpected type for {} (expected {}))�
isinstancer �format�r r r r �values r �_getr! s` � � �!�|�|���
�c�F�E��e�]�+�+�
�&�;�B�B��s�M�
�
�
�
�
�
�Lr c �R � t | |||� � }|�t |� d�� � �|S )Nz must have a value)r! r r s r �
_get_requiredr# ) s8 � �
��M�3��0�0�E��}�&�#�'A�'A�'A�B�B�B��Lr �infos�InfoTypec � � d� | D � � } | st d� � �t | � � dk rt d� � �| d �J �| d S )Nc � � g | ]}|�|��S �Nr )�.0�infos r �