| Server IP : 35.80.110.71 / Your IP : 216.73.216.221 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/calibre/tinycss/__pycache__/ |
Upload File : |
�
�f~# � � � d Z ddlZddlZddlmZ dgZ d/d�Zd0d�Zd� Z G d� d � Z e � Z
e
dd d
f ej ed� dz ed
� z � j fd ej ed� � j fe
dd d
f ej ed� dz ed
� z � j fe
ddd� df ej ed� dz ed� z � j fe
ddd� df ej ed� dz ed� z � j fe
ddd� df ej ed� dz ed� z � j fe
ddd� df ej ed� dz ed� z � j fe
ddd� df ej ed� d z ed!� z � j fe
ddd� df ej ed"� d z ed!� z � j fe
ddd� df ej ed#� d$z ed%� z � j fe
ddd� df ej ed&� d$z ed%� z � j fd' ej ed(� � j fd) ej ed*� � j fd+ ej ed,� � j fd- ej ed.� � j fgZ
y)1z�
tinycss.decoding
----------------
Decoding stylesheets from bytes to Unicode.
http://www.w3.org/TR/CSS21/syndata.html#charset
:copyright: (c) 2012 by Simon Sapin.
:license: BSD, see LICENSE for more details.
� N)�from_hex_bytes�decodec � � |rt | |� }|�||fS t D ]� \ }} || � }|s�t |t � }|r�|\ } }
| |j d� � }|j dd� }|j
dd� }|j
dd� j
dd� j � d v r||
z
}|j dd� j d� }t | |� }|r|r|j d
� r||fc S n ||fD ] }|s�t | |� }|��||fc S t | d� }|�|dfS t | dd
�� dfS )a;
Determine the character encoding from the passed metadata and the
``@charset`` rule in the stylesheet (if any); and decode accordingly.
If no encoding information is available or decoding fails,
decoding defaults to UTF-8 and then fall back on ISO-8859-1.
:param css_bytes:
a CSS stylesheet as a byte string
:param protocol_encoding:
The "charset" parameter of a "Content-Type" HTTP header (if any),
or similar metadata for other protocols.
:param linking_encoding:
``<link charset="">`` or other metadata from the linking mechanism
(if any)
:param document_encoding:
Encoding of the referring style sheet or document (if any)
:return:
A tuple of an Unicode string, with any BOM removed, and the
encoding that was used.
� �ascii�replaceu ��?�-� �_)�utf16�utf32z
@charset "�UTF-8z
ISO-8859-1F)�fallback)
�try_encoding�ENCODING_MAGIC_NUMBERS�
isinstance�tuple�groupr r �lower�encode�
startswith)� css_bytes�protocol_encoding�linking_encoding�document_encoding�css_unicode�encoding�pattern�match�has_at_charset�extract�
endiannesss �$/usr/lib/calibre/tinycss/decoding.pyr r s� � �. �"�9�.?�@���"�� 1�1�1�3� ���'�� �"���'��%�8�N��&.�#���"�5�;�;�q�>�2�� $�?�?�7�I�>��#�+�+�H�c�:���#�#�C��,�4�4�S�"�=�C�C�E� J*� *��
�*�H�#�?�?�7�I�>�E�E�g�N��&�y�(�;�K��N�$/�$:�$:�<�$H�"�H�,�,��-�. &�'8�9� -���&�y�(�;�K��&�"�H�,�,� -�
�y�'�2�K����G�#�#�� �<�%�@�,�N�N� c � � |r | j |� }n| j |� }|r
|d dk( r|dd }|S # t t f$ r Y y w xY w)Nr u r )r �UnicodeDecodeError�LookupError)r r r r s r$ r r T sd � �� �#�*�*�8�4�K�
�&�&�x�0���{�1�~��1�!�!�"�o����� #�K�0� �� �s �8 �A
� A
c �| � t j t | j dd� j d� � � S )N� r r )�re�escaper r r )�hex_datas r$ �hex2rer. c s. � �
�9�9�^�H�$4�$4�S�"�$=�$D�$D�W�$M�N�O�Or% c � � e Zd ZdZd� Zy)�Slicerz2Slice()[start:stop:end] == slice(start, stop, end)c �, � t j |� S )N)�operator�
itemgetter)�self�slice_s r$ �__getitem__zSlicer.__getitem__i s � ��"�"�6�*�*r% N)�__name__�
__module__�__qualname__�__doc__r6 � r% r$ r0 r0 g s
� �<�+r% r0 r z&EF BB BF 40 63 68 61 72 73 65 74 20 22s ([^"]*?)z22 3Br zEF BB BFz40 63 68 61 72 73 65 74 20 22r � z-BEz@FE FF 00 40 00 63 00 68 00 61 00 72 00 73 00 65 0074 00 20 00 22s (( [^"])*?)z00 22 00 3Bz:00 40 00 63 00 68 00 61 00 72 00 73 00 65 00 74 0020 00 22z-LEz@FF FE 40 00 63 00 68 00 61 00 72 00 73 00 65 00 7400 20 00 22 00s (([^"] )*?)z22 00 3B 00z:40 00 63 00 68 00 61 00 72 00 73 00 65 00 74 00 2000 22 00� � z�00 00 FE FF 00 00 00 40 00 00 00 63 00 00 00 68 0000 00 61 00 00 00 72 00 00 00 73 00 00 00 65 00 0000 74 00 00 00 20 00 00 00 22s
(( [^"])*?)z00 00 00 22 00 00 00 3Bzu00 00 00 40 00 00 00 63 00 00 00 68 00 00 00 61 0000 00 72 00 00 00 73 00 00 00 65 00 00 00 74 00 0000 20 00 00 00 22z�FF FE 00 00 40 00 00 00 63 00 00 00 68 00 00 00 6100 00 00 72 00 00 00 73 00 00 00 65 00 00 00 74 0000 00 20 00 00 00 22 00 00 00s
(([^"] )*?)z22 00 00 00 3B 00 00 00zu40 00 00 00 63 00 00 00 68 00 00 00 61 00 00 00 7200 00 00 73 00 00 00 65 00 00 00 74 00 00 00 20 0000 00 22 00 00 00z UTF-32-BEz00 00 FE FFz UTF-32-LEzFF FE 00 00z UTF-16-BEzFE FFz UTF-16-LEzFF FE)NNN)T)r: r2 r+ �polyglot.binaryr �__all__r r r. r0 �Slice�compiler r r; r% r$ �<module>rC s �� � � � *� �*�� )-�48�:O�z�P�+� +� ��� �A�h��^�Z�R�Z�Z��7�8�
� �
��/� �� !�5�"�
�j�b�j�j��z���!�E�#� �A�h��^�Z�R�Z�Z��.�/�
� �
��/� �� !�5�"�
�A�D�q�D�k�5��:�2�:�:�� � !�
� � ��
� �!� "'�� (� �A�D�q�D�k�5��:�2�:�:�� � �
� � ��
� �!� "'�� (� �C�a�C�j�%��*�"�*�*�� � !�
� � ��
� �!� "'�� (� �C�a�C�j�%��*�"�*�*�� � �
� � ��
� �!� "'�� (� �A�D�q�D�k�5��:�2�:�:�� /� 0� '� '� �*�
+� ,�-�
.3�U�4� �A�D�q�D�k�5��:�2�:�:�� #� $� '� '� �*�
+� ,�-�
.3�U�4�N �C�a�C�j�%��*�"�*�*�� /� 0� '� '� �*�
+� ,�-�
.3�U�4� �C�a�C�j�%��*�"�*�*�� #� $� '� '� �*�
+� ,�-�
.3�U�4� �*�"�*�*��}���$�u�&� �*�"�*�*��}���$�u�&� �*�"�*�*��w����� � �*�"�*�*��w����� �cI� r%