Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/charset_normalizer/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/charset_normalizer/__pycache__/utils.cpython-312.pyc

�

'ٜg�.���ddlmZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZddl
mZddlmZd	d
lmZmZmZmZmZmZe
e��d*d��Ze
e��d+d
��Ze
e��d,d��Ze
e��d*d��Ze
e��d*d��Ze
e��d*d��Ze
e��d*d��Ze
e��d*d��Ze
e��d*d��Z e
e��d*d��Z!e
e��d*d��Z"e
e��d*d��Z#e
e��d*d��Z$e
e��d*d��Z%e
e��d*d��Z&e
e��d*d��Z'e
e(e���d-d��Z)e
e��d*d��Z*d.d/d�Z+e
d��d0d ��Z,d1d!�Z-d2d"�Z.d3d4d#�Z/d5d$�Z0d6d%�Z1d&ejdd'f							d7d(�Z3	d8																			d9d)�Z4y):�)�annotationsN)�IncrementalDecoder)�aliases)�	lru_cache)�findall)�	Generator)�MultibyteIncrementalDecoder�)�ENCODING_MARKS�IANA_SUPPORTED_SIMILAR�RE_POSSIBLE_ENCODING_INDICATION�UNICODE_RANGES_COMBINED�UNICODE_SECONDARY_RANGE_KEYWORD�UTF8_MAXIMAL_ALLOCATION)�maxsizec��	tj|�}d|vxs(d|vxs"d|vxsd|vxsd|vxsd|vxs
d|vxsd	|vS#t$rYywxYw)
NFz
WITH GRAVEz
WITH ACUTEzWITH CEDILLAzWITH DIAERESISzWITH CIRCUMFLEXz
WITH TILDEzWITH MACRONzWITH RING ABOVE��unicodedata�name�
ValueError��	character�descriptions  �C/usr/local/lib/python3.12/site-packages/charset_normalizer/utils.py�is_accentuatedrs����&�+�+�I�6��	��#�	,��;�&�	,��[�(�	,��{�*�	,���+�		,�
�;�&�	,��K�'�
	,���+�	������s�A�	A�Ac��tj|�}|s|S|jd�}tt	|dd��S)N� r�)r�
decomposition�split�chr�int)r�
decomposed�codess   r�
remove_accentr%,sA��!�/�/�	�:�J����!�'�'��,�E��s�5��8�R� �!�!�c�b�t|�}tj�D]
\}}||vs�|cSy)zK
    Retrieve the Unicode range official name from a single character.
    N)�ordr�items)r�
character_ord�
range_name�	ord_ranges    r�
unicode_ranger-7s9��
�Y��M�!8�!>�!>�!@��
�I��I�%���"A�r&c�T�	tj|�}d|vS#t$rYywxYw)NF�LATINrrs  r�is_latinr0Es8���&�+�+�I�6���k�!�!���������	'�'c�Z�tj|�}d|vryt|�}|�yd|vS)N�PTF�Punctuation�r�categoryr-�r�character_category�character_ranges   r�is_punctuationr:Ns=��)�2�2�9�=��
� � ��"/�	�":�O�����O�+�+r&c�p�tj|�}d|vsd|vryt|�}|�yd|vxr|dk7S)N�S�NTF�Forms�Lor5r7s   r�	is_symbolr@]sP��)�2�2�9�=��
� � �C�+=�$=��"/�	�":�O�����o�%�D�*<��*D�Dr&c�2�t|�}|�yd|vxsd|vS)NF�	Emoticons�Pictographs)r-)rr9s  r�is_emoticonrDls*��"/�	�":�O�����/�)�M�]�o�-M�Mr&c�j�|j�s|dvrytj|�}d|vxs|dvS)N>�|�+�<�>T�Z>�Pc�Pd�Po)�isspacerr6)rr8s  r�is_separatorrOvsB������i�+A�A��)�2�2�9�=���$�$�P�(:�>P�(P�Pr&c�D�|j�|j�k7S�N)�islower�isupper�rs r�is_case_variablerU�s������)�"3�"3�"5�5�5r&c�T�	tj|�}d|vS#t$rYywxYw)NF�CJKr�r�character_names  r�is_cjkrZ�s8���$�)�)�)�4���N�"�"������r1c�T�	tj|�}d|vS#t$rYywxYw)NF�HIRAGANArrXs  r�is_hiraganar]��8���$�)�)�)�4����'�'������r1c�T�	tj|�}d|vS#t$rYywxYw)NF�KATAKANArrXs  r�is_katakanara�r^r1c�T�	tj|�}d|vS#t$rYywxYw)NF�HANGULrrXs  r�	is_hangulrd��8���$�)�)�)�4���~�%�%������r1c�T�	tj|�}d|vS#t$rYywxYw)NF�THAIrrXs  r�is_thairh�s8���$�)�)�)�4���^�#�#������r1c�T�	tj|�}d|vS#t$rYywxYw)NF�ARABICrrXs  r�	is_arabicrk�rer1c�`�	tj|�}d|vxrd|vS#t$rYywxYw)NFrjz
ISOLATED FORMrrXs  r�is_arabic_isolated_formrm�sB���$�)�)�)�4���~�%�K�/�^�*K�K������s�!�	-�-c�4��t�fd�tD��S)Nc3�&�K�|]}|�v���
y�wrQ�)�.0�keywordr+s  �r�	<genexpr>z-is_unicode_range_secondary.<locals>.<genexpr>�s�����T�4S��w�*�$�4S�s�)�anyr)r+s`r�is_unicode_range_secondaryru�s����T�4S�T�T�Tr&c�j�|j�duxr |j�duxr|dk7xr|dk7S)NF�u)rN�isprintablerTs r�is_unprintablery�sL��	����u�$�	"��!�!�#�u�,�	"����	"�
��!�	r&c	�r�t|t�st�t|�}t	t
|dt
||�jdd���}t|�dk(ry|D]T}|j�jdd�}tj�D]\}}||k(r|ccS||k(s�|ccS�Vy)zW
    Extract using ASCII-only decoder any specified encoding in the first n-bytes.
    N�ascii�ignore��errorsr�-�_)�
isinstance�bytes�	TypeError�lenrr
�min�decode�lower�replacerr))�sequence�search_zone�seq_len�results�specified_encoding�encoding_alias�
encoding_ianas       r�any_specified_encodingr��s����h��&����x�=�G� �'��,�3�w��,�-�4�4�W�X�4�N��G�
�7�|�q���%��/�5�5�7�?�?��S�I��
.5�]�]�_�)�N�M��!3�3�$�$�� 2�2�$�$�	.=�
&�r&�c�n�|dvxs0ttjd|���jt�S)zQ
    Verify is a specific encoding is a multi byte one based on it IANA name
    >	�utf_7�utf_8�utf_16�utf_32�	utf_16_be�	utf_16_le�	utf_32_be�	utf_32_le�	utf_8_sig�
encodings.)�
issubclass�	importlib�
import_modulerr	)rs r�is_multi_byte_encodingr��sC��
�
�
�
�
����*�T�F� 3�4�G�G�#�
�
r&c��tD]>}t|}t|t�r|g}|D]}|j|�s�||fccS�@y)z9
    Identify and extract SIG/BOM in given sequence.
    )Nr&)rr�r��
startswith)r��
iana_encoding�marks�marks    r�identify_sig_or_bomr�sQ��
(�
�%3�M�%B���e�U�#��G�E��D��"�"�4�(�$�d�*�*��
(�r&c�
�|dvS)N>r�r�rp)r�s r�should_strip_sig_or_bomr�"s��� 4�4�4r&c��|j�jdd�}tj�D]\}}|||fvs�
|cS|rt	d|�d���|S)zIReturns the Python normalized encoding name (Not the IANA official name).rr�zUnable to retrieve IANA for '�')r�r�rr)r)�cp_name�strictr�r�s    r�	iana_namer�&sc���m�m�o�%�%�c�3�/�G�
*1����%��
��~�}�5�5� � �*9���8��	��C�D�D��Nr&c�t�t|�st|�rytjd|���j}tjd|���j}|d��}|d��}d}t	d�D]7}t|g�}|j
|�|j
|�k(s�3|dz
}�9|dzS)	Ngr�r|r}r�r
�)r�r�r�r�ranger�r�)	�iana_name_a�iana_name_b�	decoder_a�	decoder_b�id_a�id_b�character_match_count�i�
to_be_decodeds	         r�
cp_similarityr�7s����k�*�.D�[�.Q���'�'�*�[�M�(B�C�V�V�I��'�'�*�[�M�(B�C�V�V�I�(��9�D�(��9�D�!"��
�3�Z��$�a�S�z�
��;�;�}�%����]�)C�C�!�Q�&�!��
!�3�&�&r&c�,�|tvxr|t|vS)z�
    Determine if two code page are at least 80% similar. IANA_SUPPORTED_SIMILAR dict was generated using
    the function cp_similarity.
    )r)r�r�s  r�
is_cp_similarr�Ks%��	�-�-�	?��1�+�>�>�r&�charset_normalizerz)%(asctime)s | %(levelname)s | %(message)sc���tj|�}|j|�tj�}|j	tj
|��|j
|�yrQ)�logging�	getLogger�setLevel�
StreamHandler�setFormatter�	Formatter�
addHandler)r�level�
format_string�logger�handlers     r�set_logging_handlerr�VsU��
�
�
�t�
$�F�
�O�O�E���#�#�%�G�����*�*�=�9�:�
���g�r&c	#�K�|r|dur|D]}	||	|	|z}
|
sy|
���y|D]�}	|	|z}|t|�dzkDr�||	|	|z}|r	|dur||z}|j||rdnd��}
|r[|	dkDrVt|d�}
|rH|
d|
|vrAt|	|	dz
d	�D].}|||}|r	|dur||z}|j|d��}
|
d|
|vs�.n|
����y�w)
NF�r|r�r}rr����)r�r�r�r�)�	sequencesr��offsets�
chunk_size�bom_or_sig_available�strip_sig_or_bom�sig_payload�is_multi_byte_decoder�decoded_payloadr��chunk�	chunk_end�cut_sequence�chunk_partial_size_chk�js               r�cut_sequence_chunksr�cs<�����0�E�9��A�#�A��J��7�E����K�	��A��J��I��3�y�>�A�-�-��$�Q��Z��8�L�#�(8�E�(A�*�\�9�� �'�'��#8�x�h�(��E�%��Q��.1�*�b�.A�&�$��5�5�6�o�M�"�1�a�!�e�R�0��'0��9�'=��/�4D��4M�+6��+E�L� ,� 3� 3�M�(� 3� S�� �!8�"8�9�_�L�!�1��K�G�s�B>C�
C)r�str�return�bool)rr�r�r�)rr�r��
str | None)r+r�r�r�)i )r�r�r�r"r�r�)rr�r�r�)r�r�r�ztuple[str | None, bytes])r�r�r�r�)T)r�r�r�r�r�r�)r�r�r�r�r��float)r�r�r�r�r�r�)rr�r�r"r�r�r��NonerQ)r�r�r�r�r�r�r�r"r�r�r�r�r�r�r�r�r�r�r�zGenerator[str, None, None])5�
__future__rr�r�r�codecsr�encodings.aliasesr�	functoolsr�rer�typingr�_multibytecodecr	�constantrrr
rrrrr%r-r0r:r@rDrOrUrZr]rardrhrkrmr�ruryr�r�r�r�r�r�r��INFOr�r�rpr&r�<module>r�s���"����%�%��������*�+��,��"�*�+�"�,�"��*�+�
�,�
��*�+�"�,�"��*�+�,�,�,��*�+�E�,�E��*�+�N�,�N��*�+�Q�,�Q��*�+�6�,�6��*�+�#�,�#��*�+�(�,�(��*�+�(�,�(��*�+�&�,�&��*�+�$�,�$��*�+�&�,�&��*�+�L�,�L��3�.�/�0�U�1�U��*�+��,���@�3�����(�$5��"'�(�%����D�
�

�
��
��
�
�	
�,#'�5��5��5��5��	5�
�5��
5��5� �5� �5� �5r&

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists