XylotrechusZ
U
��.e�� � @ sB d dl mZ d dlZd dlZd dlZzd dlZW n ek
rH dZY nX ejd dk �r~d dlmZ e fZ
eZd dl
mZ d dlZd dlZddlmZ d dlmZmZmZmZmZ d d lmZmZmZm Z m!Z!m"Z"m#Z# d
d� Zd dl$Z$d dl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- e�r&d d
l$m.Z. d dl/Z/d dl0Z0d dl1Z2d dl3m3Z3 d dl4Z4e5Z5d dl6m7Z8 d dl6m9Z: da;dd� Z<�nd dl=mZ e>fZ
e>Zd dl=m?Z d dlZd dlZd dlZd dl@mZmZmZm<Z<mZmZmZmZm#Z# d dlAm&Z&mZm%Z%m Z m!Z!m)Z)m*Z*m+Z+m,Z,m-Z- e�r&d d
lAm.Z. d dlBm(Z(m'Z'm"Z" d dlCmDZ/ d dlAmEZ$ d dlFmDZ0 d dl2Z2d dlGm3Z3 d dlHmIZ4 eJZ5d dl6m:Z: e8Z8zd dlmKZKmLZL W n8 ek
�r� G dd� deM�ZLdddd�ZNdd� ZKY nX zd dl
mOZP W n& ek
�r G d d!� d!eQ�ZPY nX zd d"lmRZR W n, ek
�rT ejSejTB dfd#d$�ZRY nX d d%lUmVZW eXeWd&��rteWZVn,d d'lUmYZZ G d(d)� d)eZ�ZYG d*d+� d+eW�ZVzd d,l[m\Z\ W n ek
�r� d-d.� Z\Y nX zd dl]Z]W n" ek
�r� dd/lm]Z] Y nX ze^Z^W n* e_k
�r2 d d0l`maZa d1d2� Z^Y nX zejbZbejcZcW nH edk
�r� e�e� �pbd3Zfefd4k�rtd5Zgnd6Zgd7d8� Zbd9d:� ZcY nX zd d;lhmiZi W nH ek
�r� d d<ljmkZkmlZl d dlZe�md=�Znd>d?� Zod@dA� ZiY nX zd dBlpmqZq W n" ek
�r d dBlrmqZq Y nX ejddC� dDk �r:e3� jsZsnd dElpmsZs zd dFl`mtZt W nd ek
�r� d dGl`muZu zd dHlvmwZx W n ek
�r� dedJdK�ZxY nX G dLdM� dMeu�ZtY nX zd dNlymzZz W nH ek
�r zd dNl{mzZz W n ek
�r dfdOdP�ZzY nX Y nX zd dQl`m|Z| W n� ek
�r� zd dRl}m~Z W n" ek
�rj d dRl�m~Z Y nX zd dSl�m�Z�m�Z�m�Z� W n ek
�r� Y nX G dTdU� dUe��Z|Y nX zd dVl�m�Z�m�Z� W nv ek
�r< e�mdWej��Z�dXdY� Z�G dZd[� d[e��Z�dgd\d]�Z�G d^d_� d_e��Z�G d`da� dae��Z�G dbdc� dceQ�Z�Y nX dS )h� )�absolute_importN� )�StringIO)�FileType� )�shutil)�urlparse�
urlunparse�urljoin�urlsplit�
urlunsplit)�urlretrieve�quote�unquote�url2pathname�pathname2url�ContentTooShortError� splittypec C s t | t�r| �d�} t| �S )N�utf-8)�
isinstance�unicode�encode�_quote)�s� r �>/usr/lib/python3.8/site-packages/pip/_vendor/distlib/compat.pyr s
r ) �Request�urlopen�URLError� HTTPError�HTTPBasicAuthHandler�HTTPPasswordMgr�HTTPHandler�HTTPRedirectHandler�build_opener)�HTTPSHandler)�
HTMLParser)�ifilter)�ifilterfalsec C s<