
    Ofc
                     V    d dl mZ d dlmZmZ d dlmZ d dlmZ  G d de          Z	dS )   )CharSetProber)ProbingStateMachineState)CodingStateMachine)UTF8_SM_MODELc                   d     e Zd ZdZ fdZ fdZed             Zed             Zd Z	d Z
 xZS )
UTF8Proberg      ?c                     t          t          |                                            t          t                    | _        d | _        |                                  d S )N)superr	   __init__r   r   	coding_sm_num_mb_charsresetself	__class__s    2lib/python3.11/site-packages/chardet/utf8prober.pyr   zUTF8Prober.__init__&   sG    j$((***+M::!

    c                     t          t          |                                            | j                                         d| _        d S )N    )r   r	   r   r   r   r   s    r   r   zUTF8Prober.reset,   sA    j$%%'''r   c                     dS )Nzutf-8 r   s    r   charset_namezUTF8Prober.charset_name1   s    wr   c                     dS )N r   r   s    r   languagezUTF8Prober.language5   s    rr   c                    |D ]}| j                             |          }|t          j        k    rt          j        | _         na|t          j        k    rt          j        | _         n>|t          j	        k    r-| j         
                                dk    r| xj        dz  c_        | j        t          j        k    r.|                                 | j        k    rt          j        | _        | j        S )N   r   )r   
next_stater   ERRORr   NOT_ME_stateITS_MEFOUND_ITSTARTget_current_charlenr   state	DETECTINGget_confidenceSHORTCUT_THRESHOLD)r   byte_strccoding_states       r   feedzUTF8Prober.feed9   s     
	, 
	,A>44Q77L|11 ,*1!44 ,*3!33 ,>55771< ,&&!+&&:// 	4""$$t'>> 4*3zr   c                 N    d}| j         dk     r|| j        | j         z  z  }d|z
  S |S )NgGz?   g      ?)r   ONE_CHAR_PROB)r   unlikes     r   r*   zUTF8Prober.get_confidenceL   s;    ! 	d(D,>>>F<Mr   )__name__
__module____qualname__r2   r   r   propertyr   r   r/   r*   __classcell__)r   s   @r   r	   r	   #   s        M        
   X   X  &      r   r	   N)
charsetproberr   enumsr   r   codingstatemachiner   mbcssmr   r	   r   r   r   <module>r=      s   8 ) ( ( ( ( ( - - - - - - - - 2 2 2 2 2 2 ! ! ! ! ! !/ / / / / / / / / /r   