HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/chardet/__pycache__/escprober.cpython-38.pyc
U

�H�_n�@sXddlmZddlmZddlmZmZmZddlm	Z	m
Z
mZmZGdd�de�Z
dS)�)�
CharSetProber)�CodingStateMachine)�LanguageFilter�ProbingState�MachineState)�HZ_SM_MODEL�ISO2022CN_SM_MODEL�ISO2022JP_SM_MODEL�ISO2022KR_SM_MODELcsVeZdZdZd�fdd�	Z�fdd�Zedd��Zed	d
��Zdd�Z	d
d�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.
    Ncs�tt|�j|d�g|_|jtj@rD|j�tt	��|j�tt
��|jtj@r`|j�tt��|jtj
@r||j�tt��d|_d|_d|_d|_|��dS)N)�lang_filter)�superr�__init__�	coding_smrr�CHINESE_SIMPLIFIED�appendrrr�JAPANESEr	�KOREANr
�active_sm_count�_detected_charset�_detected_language�_state�reset)�selfr��	__class__��3/usr/lib/python3/dist-packages/chardet/escprober.pyr*szEscCharSetProber.__init__csJtt|���|jD]}|sqd|_|��qt|j�|_d|_d|_dS)NT)	r
rrr�active�lenrrr)rrrrrr:s

zEscCharSetProber.resetcCs|jS�N�r�rrrr�charset_nameEszEscCharSetProber.charset_namecCs|jSr )rr"rrr�languageIszEscCharSetProber.languagecCs|jr
dSdSdS)Ng�G�z��?gr!r"rrr�get_confidenceMszEscCharSetProber.get_confidencecCs�|D]�}|jD]�}|r|jsq|�|�}|tjkrhd|_|jd8_|jdkr�tj|_|j	Sq|tj
krtj|_|��|_
|j|_|j	Sqq|j	S)NFr�)rrZ
next_stater�ERRORrr�NOT_MEr�state�ITS_ME�FOUND_ITZget_coding_state_machinerr$r)r�byte_str�crZcoding_staterrr�feedSs"






zEscCharSetProber.feed)N)�__name__�
__module__�__qualname__�__doc__rr�propertyr#r$r%r.�
__classcell__rrrrr#s

rN)�
charsetproberrZcodingstatemachiner�enumsrrrZescsmrrr	r
rrrrr�<module>s