R`i
Z d dl mZ ddlmZ ddlmZ ddlmZmZ ddl m
Z
G d de Zy )
)Union )
CharSetProber)CodingStateMachine)MachineStateProbingState)
UTF8_SM_MODELc e Zd ZdZd
fdZd
fdZedefd Zedefd Z de
eef de
fdZdefd Z xZS )
UTF8Proberg ?returnc x t | t t | _ d| _ | j
y Nr )super__init__r r coding_sm
_num_mb_charsresetself __class__s /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/chardet/utf8prober.pyr zUTF8Prober.__init__' s+
+M:
c d t | | j j d| _ y r )r r r r r s r r zUTF8Prober.reset- s$
r c y)Nzutf-8 r s r charset_namezUTF8Prober.charset_name2 s r c y)N r r s r languagezUTF8Prober.language6 s r byte_strc 2 |D ] }| j j | }|t j k( rt j
| _ ns|t j k( rt j | _ nI|t j k( s| j j dk\ s| xj dz
c_ | j t j k( r2| j | j kD rt j | _ | j S )N r )r
next_stater ERRORr NOT_ME_stateITS_MEFOUND_ITSTARTget_current_charlenr state DETECTINGget_confidenceSHORTCUT_THRESHOLD)r r! ccoding_states r feedzUTF8Prober.feed: s A>>44Q7L|111*11|222*33|111>>5571<&&!+& ::///""$t'>'>>*33zzr c j d}| j dk r!|| j | j z z }d|z
S |S )NgGz? g ?)r
ONE_CHAR_PROB)r unlikes r r. zUTF8Prober.get_confidenceM s? !d(($*<*<<