shell bypass 403
U
��.e�7 � @ s d Z ddlZddlZddlZddlZddlmZ ddlmZm Z ddl
mZ ddlm
Z
mZ ddlmZmZ ddlmZ er�dd lmZmZmZmZmZmZmZ ejZed
e�Ze�e �Z!dd� Z"d
d� Z#edddddd�Z$e
r�dndZ%dd� Z&G dd� de'�Z(dS )a Configuration management setup
Some terminology:
- name
As written in config files.
- value
Value associated with a name
- key
Name combined with it's section (section.name)
- variant
A single word describing where the configuration key-value pair came from
� N)�configparser)�ConfigurationError�!ConfigurationFileCouldNotBeLoaded)�appdirs)�WINDOWS�
expanduser)�
ensure_dir�enum)�MYPY_CHECK_RUNNING)�Any�Dict�Iterable�List�NewType�Optional�Tuple�Kindc C s* | � � �dd�} | �d�r&| dd� } | S )zFMake a name consistent regardless of source (environment or file)
�_�-z--� N)�lower�replace�
startswith)�name� r �?/usr/lib/python3.8/site-packages/pip/_internal/configuration.py�_normalize_name. s
r c C s&