File: //opt/python38/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-38.pyc
U
��e� � @ sh d dl mZmZ ddlmZ ddlmZ ddlmZm Z m
Z
ddlmZm
Z
mZmZ G dd� de�Zd S )
� )�Optional�Union� )�
CharSetProber)�CodingStateMachine)�LanguageFilter�MachineState�ProbingState)�HZ_SM_MODEL�ISO2022CN_SM_MODEL�ISO2022JP_SM_MODEL�ISO2022KR_SM_MODELc s� e Zd ZdZejfedd�� fdd�
Zdd�� fdd�Zee e
d�d d
��Zee e
d�dd��Ze
d�d
d�Zeeef ed�dd�Z� ZS )�EscCharSetProberz�
This CharSetProber uses a "code scheme" approach for detecting encodings,
whereby easily recognizable escape or shift sequences are relied on to
identify these encodings.
N)�lang_filter�returnc s� t � j|d� g | _| jtj@ r@| j�tt�� | j�tt �� | jtj
@ r\| j�tt�� | jtj@ rx| j�tt
�� d| _d | _d | _tj| _| �� d S )N)r r )�super�__init__� coding_smr r �CHINESE_SIMPLIFIED�appendr r
r �JAPANESEr �KOREANr
�active_sm_count�_detected_charset�_detected_languager � DETECTING�_state�reset)�selfr �� __class__� �A/tmp/pip-unpacked-wheel-uzdrexel/pip/_vendor/chardet/escprober.pyr 0 s zEscCharSetProber.__init__)r c s@ t � �� | jD ]}d|_|�� qt| j�| _d | _d | _d S )NT)r r r �active�lenr r r )r r r r! r"