ó
    Ô…g0'  ã                   ó2  • S SK JrJr  SSKJrJrJr  SSKJrJ	r	J
r
  SSKJrJrJr  SSKJrJrJr  SSKJrJrJr  SSKJr   " S	 S
5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r g)é    )ÚTupleÚUnioné   )ÚBIG5_CHAR_TO_FREQ_ORDERÚBIG5_TABLE_SIZEÚBIG5_TYPICAL_DISTRIBUTION_RATIO)ÚEUCKR_CHAR_TO_FREQ_ORDERÚEUCKR_TABLE_SIZEÚ EUCKR_TYPICAL_DISTRIBUTION_RATIO)ÚEUCTW_CHAR_TO_FREQ_ORDERÚEUCTW_TABLE_SIZEÚ EUCTW_TYPICAL_DISTRIBUTION_RATIO)ÚGB2312_CHAR_TO_FREQ_ORDERÚGB2312_TABLE_SIZEÚ!GB2312_TYPICAL_DISTRIBUTION_RATIO)ÚJIS_CHAR_TO_FREQ_ORDERÚJIS_TABLE_SIZEÚJIS_TYPICAL_DISTRIBUTION_RATIO)ÚJOHAB_TO_EUCKR_ORDER_TABLEc                   ó�   • \ rS rSrSrSrSrSrSS jrSS	 jr	S
\
\\4   S\SS4S jrS\4S jrS\4S jrS\
\\4   S\4S jrSrg)ÚCharDistributionAnalysisé:   i   g®Gáz®ï?g{®Gáz„?é   ÚreturnNc                 óˆ   • [        5       U l        SU l        SU l        SU l        SU l        SU l        U R                  5         g )Nr   g        F)ÚtupleÚ_char_to_freq_orderÚ_table_sizeÚtypical_distribution_ratioÚ_doneÚ_total_charsÚ_freq_charsÚreset©Úselfs    Ú:/usr/lib/python3/dist-packages/chardet/chardistribution.pyÚ__init__Ú!CharDistributionAnalysis.__init__@   s@   € ô 5:³GˆÔ ØˆÔð
 +.ˆÔ'ØˆŒ
ØˆÔØˆÔØ�
‰
�ó    c                 ó.   • SU l         SU l        SU l        g)zreset analyser, clear any stateFr   N)r    r!   r"   r$   s    r&   r#   ÚCharDistributionAnalysis.resetO   s   € ð ˆŒ
ØˆÔàˆÕr)   ÚcharÚchar_lenc                 óâ   • US:X  a  U R                  U5      nOSnUS:¼  aO  U =R                  S-  sl        X0R                  :  a*  SU R                  U   :”  a  U =R                  S-  sl        gggg)z"feed a character with known lengthé   éÿÿÿÿr   r   i   N)Ú	get_orderr!   r   r   r"   )r%   r,   r-   Úorders       r&   ÚfeedÚCharDistributionAnalysis.feedX   ss   € à�q‹=à—N‘N 4Ó(‰EàˆEØ�A‹:Ø×Ò Ñ"Õà×'Ñ'Ó'Ø˜×1Ñ1°%Ñ8Ó8Ø×$Ò$¨Ñ)Ö$ð 9ð (ð r)   c                 óB  • U R                   S::  d  U R                  U R                  ::  a  U R                  $ U R                   U R                  :w  aD  U R                  U R                   U R                  -
  U R                  -  -  nXR
                  :  a  U$ U R
                  $ )z(return confidence based on existing datar   )r!   r"   ÚMINIMUM_DATA_THRESHOLDÚSURE_NOr   ÚSURE_YES)r%   Úrs     r&   Úget_confidenceÚ'CharDistributionAnalysis.get_confidencef   s�   € ð ×Ñ Ó! T×%5Ñ%5¸×9TÑ9TÓ%TØ—<‘<Ðà×Ñ × 0Ñ 0Ó0Ø× Ñ Ø×"Ñ" T×%5Ñ%5Ñ5¸×9XÑ9XÑXñˆAð —=‘=Ó Ø�ð �}‰}Ðr)   c                 ó4   • U R                   U R                  :„  $ ©N)r!   ÚENOUGH_DATA_THRESHOLDr$   s    r&   Úgot_enough_dataÚ(CharDistributionAnalysis.got_enough_dataw   s   € ð × Ñ  4×#=Ñ#=Ñ=Ð=r)   Ú_c                 ó   • g)Nr0   © )r%   rA   s     r&   r1   Ú"CharDistributionAnalysis.get_order|   s   € ð
 r)   )r   r    r"   r   r!   r   ©r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r>   r8   r7   r6   r'   r#   r   ÚbytesÚ	bytearrayÚintr3   Úfloatr:   Úboolr?   r1   Ú__static_attributes__rC   r)   r&   r   r   :   s{   † Ø ÐØ€HØ€GØÐôôð*˜˜u iÐ/Ñ0ð *¸Cð *ÀDô *ð ô ð"> ô >ð
˜5 ¨	Ð!1Ñ2ð °s÷ r)   r   c                   óH   ^ • \ rS rSrSU 4S jjrS\\\4   S\4S jr	Sr
U =r$ )ÚEUCTWDistributionAnalysisé„   r   c                 ód   >• [         TU ]  5         [        U l        [        U l        [        U l        g r=   )Úsuperr'   r   r   r   r   r   r   ©r%   Ú	__class__s    €r&   r'   Ú"EUCTWDistributionAnalysis.__init__…   ó&   ø€ Ü‰ÑÔÜ#;ˆÔ Ü+ˆÔÜ*JˆÕ'r)   Úbyte_strc                 ó<   • US   nUS:¼  a  SUS-
  -  US   -   S-
  $ g)Nr   éÄ   é^   r   é¡   r0   rC   ©r%   rY   Ú
first_chars      r&   r1   Ú#EUCTWDistributionAnalysis.get_order‹   ó6   € ð
 ˜a‘[ˆ
Ø˜ÓØ˜ dÑ*Ñ+¨h°q©kÑ9¸DÑ@Ð@Ør)   ©r   r   r   rE   ©rF   rG   rH   rI   r'   r   rJ   rK   rL   r1   rO   Ú__classcell__©rV   s   @r&   rQ   rQ   „   ó+   ø† ÷Kð %¨¨yÐ(8Ñ"9ð ¸c÷ ò r)   rQ   c                   óH   ^ • \ rS rSrSU 4S jjrS\\\4   S\4S jr	Sr
U =r$ )ÚEUCKRDistributionAnalysisé–   r   c                 ód   >• [         TU ]  5         [        U l        [        U l        [        U l        g r=   ©rT   r'   r	   r   r
   r   r   r   rU   s    €r&   r'   Ú"EUCKRDistributionAnalysis.__init__—   rX   r)   rY   c                 ó<   • US   nUS:¼  a  SUS-
  -  US   -   S-
  $ g)Nr   é°   r\   r   r]   r0   rC   r^   s      r&   r1   Ú#EUCKRDistributionAnalysis.get_order�   ra   r)   rb   rE   rc   re   s   @r&   rh   rh   –   rf   r)   rh   c                   óH   ^ • \ rS rSrSU 4S jjrS\\\4   S\4S jr	Sr
U =r$ )ÚJOHABDistributionAnalysisé¨   r   c                 ód   >• [         TU ]  5         [        U l        [        U l        [        U l        g r=   rk   rU   s    €r&   r'   Ú"JOHABDistributionAnalysis.__init__©   rX   r)   rY   c                 ór   • US   nSUs=::  a  S:  a%  O  gUS-  US   -   n[         R                  " US5      $ g)Nr   éˆ   éÔ   é   r   r0   )r   Úget)r%   rY   r_   Úcodes       r&   r1   Ú#JOHABDistributionAnalysis.get_order¯   sH   € Ø˜a‘[ˆ
Ø�:Õ$ Õ$ð ð  Ñ# h¨q¡kÑ1ˆDÜ-×1Ò1°$¸Ó;Ð;Ør)   rb   rE   rc   re   s   @r&   rq   rq   ¨   s+   ø† ÷Kð %¨¨yÐ(8Ñ"9ð ¸c÷ ò r)   rq   c                   óH   ^ • \ rS rSrSU 4S jjrS\\\4   S\4S jr	Sr
U =r$ )ÚGB2312DistributionAnalysisé·   r   c                 ód   >• [         TU ]  5         [        U l        [        U l        [        U l        g r=   )rT   r'   r   r   r   r   r   r   rU   s    €r&   r'   Ú#GB2312DistributionAnalysis.__init__¸   s&   ø€ Ü‰ÑÔÜ#<ˆÔ Ü,ˆÔÜ*KˆÕ'r)   rY   c                 óJ   • US   US   p2US:¼  a  US:¼  a  SUS-
  -  U-   S-
  $ g)Nr   r   rn   r]   r\   r0   rC   ©r%   rY   r_   Úsecond_chars       r&   r1   Ú$GB2312DistributionAnalysis.get_order¾   s?   € ð
 #+¨1¡+¨x¸©{�KØ˜$Ó [°DÓ%8Ø˜ dÑ*Ñ+¨kÑ9¸DÑ@Ð@Ør)   rb   rE   rc   re   s   @r&   r}   r}   ·   s+   ø† ÷Lð %¨¨yÐ(8Ñ"9ð ¸c÷ ò r)   r}   c                   óH   ^ • \ rS rSrSU 4S jjrS\\\4   S\4S jr	Sr
U =r$ )ÚBig5DistributionAnalysiséÉ   r   c                 ód   >• [         TU ]  5         [        U l        [        U l        [        U l        g r=   )rT   r'   r   r   r   r   r   r   rU   s    €r&   r'   Ú!Big5DistributionAnalysis.__init__Ê   s&   ø€ Ü‰ÑÔÜ#:ˆÔ Ü*ˆÔÜ*IˆÕ'r)   rY   c                 ól   • US   US   p2US:¼  a%  US:¼  a  SUS-
  -  U-   S-
  S-   $ SUS-
  -  U-   S-
  $ g)	Nr   r   é¤   r]   é�   é?   é@   r0   rC   r‚   s       r&   r1   Ú"Big5DistributionAnalysis.get_orderÐ   s_   € ð
 #+¨1¡+¨x¸©{�KØ˜ÓØ˜dÓ"Ø˜j¨4Ñ/Ñ0°;Ñ>ÀÑEÈÑJÐJØ˜* tÑ+Ñ,¨{Ñ:¸TÑAÐAØr)   rb   rE   rc   re   s   @r&   r†   r†   É   s+   ø† ÷Jð
 %¨¨yÐ(8Ñ"9ð 
¸c÷ 
ò 
r)   r†   c                   óH   ^ • \ rS rSrSU 4S jjrS\\\4   S\4S jr	Sr
U =r$ )ÚSJISDistributionAnalysiséÝ   r   c                 ód   >• [         TU ]  5         [        U l        [        U l        [        U l        g r=   ©rT   r'   r   r   r   r   r   r   rU   s    €r&   r'   Ú!SJISDistributionAnalysis.__init__Þ   ó&   ø€ Ü‰ÑÔÜ#9ˆÔ Ü)ˆÔÜ*HˆÕ'r)   rY   c                 ó¢   • US   US   p2SUs=::  a  S::  a  O  O	SUS-
  -  nOSUs=::  a  S::  a  O  g	SUS-
  S-   -  nOg	XC-   S
-
  nUS:”  a  S	nU$ )Nr   r   é�   éŸ   é¼   éà   éï   é   r0   rŽ   é   rC   )r%   rY   r_   rƒ   r2   s        r&   r1   Ú"SJISDistributionAnalysis.get_orderä   sy   € ð
 #+¨1¡+¨x¸©{�KØ�:Õ% Ö%Ø˜:¨Ñ,Ñ-‰EØ�ZÕ' 4Õ'ð ð ˜:¨Ñ,¨rÑ1Ñ2‰EàØÑ# dÑ*ˆØ˜ÓØˆEØˆr)   rb   rE   rc   re   s   @r&   r‘   r‘   Ý   s+   ø† ÷Ið %¨¨yÐ(8Ñ"9ð ¸c÷ ò r)   r‘   c                   óH   ^ • \ rS rSrSU 4S jjrS\\\4   S\4S jr	Sr
U =r$ )ÚEUCJPDistributionAnalysiséö   r   c                 ód   >• [         TU ]  5         [        U l        [        U l        [        U l        g r=   r”   rU   s    €r&   r'   Ú"EUCJPDistributionAnalysis.__init__÷   r–   r)   rY   c                 ó<   • US   nUS:¼  a  SUS-
  -  US   -   S-
  $ g)Nr   é    r\   r]   r   r0   rC   )r%   rY   r,   s      r&   r1   Ú#EUCJPDistributionAnalysis.get_orderý   s4   € ð
 ˜‰{ˆØ�4‹<Ø˜ ™Ñ%¨°©Ñ3°dÑ:Ð:Ør)   rb   rE   rc   re   s   @r&   r¡   r¡   ö   s+   ø† ÷Ið %¨¨yÐ(8Ñ"9ð ¸c÷ ò r)   r¡   N)!Útypingr   r   Úbig5freqr   r   r   Ú	euckrfreqr	   r
   r   Ú	euctwfreqr   r   r   Ú
gb2312freqr   r   r   Újisfreqr   r   r   Ú	johabfreqr   r   rQ   rh   rq   r}   r†   r‘   r¡   rC   r)   r&   Ú<module>r¯      s©   ð÷8  ÷ñ ÷
ñ ÷
ñ ÷
ñ ÷
ñ õ
 2÷Gñ GôTÐ 8ô ô$Ð 8ô ô$Ð 8ô ôÐ!9ô ô$Ð7ô ô(Ð7ô ô2Ð 8õ r)   