File: //opt/python38/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc
U
�i�_�c � @ s� d Z ddlmZ ddlmZ ddlmZ ddlm Z ddlZddlZddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ ddlmZ dd
lmZ ddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z& ddl'm(Z( ddl)m*Z* ddlm+Z+ ddlm,Z, dd� Z-G dd� d�Z.G dd� de.e�Z/G dd� de�ZG dd� de�Z0dd� Z1dd� Z2d d!� Z3d"d#� Z4d$d%� Z5d&d'� Z6d(d)� Z7d*d+� Z8d5d-d.�Z9d/d0� Z:d1d2� Z;G d3d4� d4e,�Z<dS )6zUsetuptools.command.egg_info
Create a distribution's .egg-info directory and contents� )�FileList)�DistutilsInternalError)�convert_path)�logN)�six)�map)�Command)�sdist)�walk_revctrl)�edit_config)� bdist_egg)�parse_requirements� safe_name�
parse_version�safe_version�yield_lines�
EntryPoint�iter_entry_points�to_filename)�glob)� packaging)�SetuptoolsDeprecationWarningc C s� d}| � tjj�}t�tj�}d|f }t|�D �]�\}}|t|�d k}|dkrr|r`|d7 }q0|d||f 7 }q0d}t|�} || k �r�|| }
|
dkr�||d 7 }�n |
d kr�||7 }n�|
d
k�r�|d }|| k r�|| dkr�|d }|| k �r|| dk�r|d }|| k �r,|| dk�r,|d }�q|| k�rF|t�|
�7 }nR||d |� }d}
|d dk�rxd
}
|dd� }|
t�|�7 }
|d|
f 7 }|}n|t�|
�7 }|d7 }q~|s0||7 }q0|d7 }tj|tj tj
B d�S )z�
Translate a file path glob like '*.txt' in to a regular expression.
This differs from fnmatch.translate which allows wildcards to match
directory separators. It also knows about '**/' which matches any number of
directories.
� z[^%s]� �**z.*z
(?:%s+%s)*r �*�?�[�!�]�^Nz[%s]z\Z)�flags)�split�os�path�sep�re�escape� enumerate�len�compile� MULTILINE�DOTALL)r �pat�chunksr% Z
valid_char�c�chunk�
last_chunk�iZ chunk_len�charZinner_i�inner�
char_class� r6 �?/tmp/pip-unpacked-wheel-tlqm5ymo/setuptools/command/egg_info.py�translate_pattern% sV
r8 c @ s8 e Zd ZdZdZedd� �Zdd� Zdd� Zee�Z dS )�
InfoCommonNc C s t | j�� �S �N)r �distribution�get_name��selfr6 r6 r7 �name| s zInfoCommon.namec C s2 | j �� }| jr$|�| j�r$t|�S t|| j �S r: )r; �get_version�vtags�endswithr �r>