U
    @v¨g(  ã                   @   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-gw11q0wt/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    ù

