File: //usr/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-39.pyc
a
?�f�M � @ s: d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl m
Z
ddlmZm
Z
mZmZmZmZmZ ddlmZ ddlmZ dd lmZ dd
lmZmZmZmZ ddlmZ ddl m!Z! dd
l"m#Z# ddl$m%Z% e!�r�ddl&m'Z'm(Z(m)Z)m*Z* ddl+m,Z, ddlm-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 ddlm8Z8 e�r�e,de'e9e(e9 ge(e9 f e:d�dd�Z;n8e,de'e9e9gdf e'e9e(e9 ge(e9 f e:e:d�dd�Z;e�<e=�Z>dd� Z?dd � Z@G d!d"� d"eA�ZBd3d#d$�ZCd%d&� ZDd'd(� ZEd4d)d*�ZFd5d+d,�ZGd-d.� ZHd/d0� ZIG d1d2� d2eA�ZJdS )6z)Prepares a distribution for installation
� N)�PY2)�)make_distribution_for_install_requirement)�InstalledDistribution)�DirectoryUrlHashUnsupported�HashMismatch�HashUnpinned�InstallationError�NetworkConnectionError�PreviousBuildDirError�VcsHashUnsupported)�copy2_fixed)�
MissingHashes)�
indent_log)�display_path�hide_url�path_to_display�rmtree)�
TempDirectory)�MYPY_CHECK_RUNNING)�unpack_file)�vcs)�Callable�List�Optional�Tuple)� TypedDict)�AbstractDistribution)�
PackageFinder)�Link)�
Downloader)�InstallRequirement)�RequirementTracker)�Hashes�CopytreeKwargs��ignore�symlinksF)�total)�
copy_functionr% Zignore_dangling_symlinksr&