U ��.e(�@s�ddlZddlZddlZddlZddlmZerDddlmZmZm Z ej dfej dfej dfej dfejdfejd fejd fgZe�d �Zd d �ZdS)�N)�MYPY_CHECK_RUNNING)�List�Tuple�Textzutf-8zutf-16z utf-16-bez utf-16-lezutf-32z utf-32-bez utf-32-lescoding[:=]\s*([-\w.]+)cCs�tD],\}}|�|�r|t|�d��|�Sq|�d�dd�D]D}|dd�dkrDt�|�rDt�|���d�d�}|�|�SqD|�t� d�p�t � ��S) z�Check a bytes string for a BOM to correctly detect the encoding Fallback to locale.getpreferredencoding(False) like open() on Python3N� �r��#�asciiF) �BOMS� startswith�len�decode�split� ENCODING_RE�search�groups�localeZgetpreferredencoding�sys�getdefaultencoding)�dataZbom�encoding�line�r�@/usr/lib/python3.8/site-packages/pip/_internal/utils/encoding.py� auto_decodes  �r)�codecsr�rerZpip._internal.utils.typingr�typingrrr�BOM_UTF8� BOM_UTF16� BOM_UTF16_BE� BOM_UTF16_LE� BOM_UTF32� BOM_UTF32_BE� BOM_UTF32_LEr �compilerrrrrr�s  �