U
    "Ib(  ć                   @   s   d dl Z d dlZd dlZd dlZd dlmZ erDd dlmZmZm	Z	 e j
dfe jdfe jdfe jdfe jdfe jd	fe jd
fgZe d”Zdd ZdS )é    N)ŚMYPY_CHECK_RUNNING)ŚListŚTupleŚTextzutf-8zutf-16z	utf-16-bez	utf-16-lezutf-32z	utf-32-bez	utf-32-les   coding[:=]\s*([-\w.]+)c                 C   s¢   t D ],\}}|  |”r| t|d  |”  S q|  d”dd D ]D}|dd dkrDt |”rDt |” ” d  d”}|  |”  S qD|  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ŚlocaleŚgetpreferredencodingŚsysŚgetdefaultencoding)ŚdataŚbomŚencodingŚline© r   ś@/tmp/pip-unpacked-wheel-fcn5djv6/pip/_internal/utils/encoding.pyŚauto_decode   s    
’r   )Ścodecsr   Śrer   Śpip._internal.utils.typingr   Śtypingr   r   r   ŚBOM_UTF8Ś	BOM_UTF16ŚBOM_UTF16_BEŚBOM_UTF16_LEŚ	BOM_UTF32ŚBOM_UTF32_BEŚBOM_UTF32_LEr   Ścompiler   r   r   r   r   r   Ś<module>   s    ł

