� ���g~ ��X�ddlZddlmZd\ZZZZZZ Z gd�Z e e fZGd�d��ZdS)�N)�json)r������)�OPEN�CLOSE�PING�PONG�MESSAGE�UPGRADE�NOOPc�2�eZdZdZeZeddfd�Zdd�Zd�Z dS)�PacketzEngine.IO packet.Nc�0�||_||_d|_t|t��rd|_n$t|t ��rd|_nd|_|jr|jtkrtd���|�|� |��dSdS)NFTz*Binary packets can only be of type MESSAGE) � packet_type�data� encode_cache� isinstance�str�binary� binary_typesr� ValueError�decode)�selfrr�encoded_packets �_/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/engineio/packet.py�__init__zPacket.__init__s���&����� � ��� �d�C� � � ��D�K�K� ��l� +� +� ��D�K�K��D�K� �;� K�4�+�w�6�6��I�J�J� J� � %� �K�K�� '� '� '� '� '� &� %�Fc��|jr|jS|jr:|r0dtj|j���d��z}n�|j}n�t |j��}t|jt ��r ||jz }nwt|jt��st|jt��r%||j � |jd���z }n|j�|t |j��z }||_|S)z�Encode the packet for transmission. Note: as a performance optimization, subsequent calls to this method will return a cached encoded packet, even if the data has changed. �bzutf-8)�,�:)� separators) rr�base64� b64encoderrrrr�dict�listr�dumps)r�b64rs r�encodez Packet.encodes�� � � %��$� $� �;� 1�� +�!$�v�'7�� �'B�'B�'I�'I��(�(�"���"&���� ��!1�2�2�N��$�)�S�)�)� 1��$�)�+����D�I�t�,�,� 1� �4�9�d�0K�0K� 1��$�)�/�/�$�)�=G�#2�#I�#I�I�����&��#�d�i�.�.�0��*����r!c���t|t��|_|js"t|��dkrt d���|j o |ddk}|r6d|_t |_tj|dd���|_ dS|jr$t|t��st|��}|jrt |_||_ dSt|d��|_ |d� ��rt�|j �|dd���|_ dS#ttf$r|dd�|_ YdSwxYw)zDecode a transmitted package.rzInvalid empty packet receivedr#TrN)rrr�lenrrrr'� b64decoder�bytes�int� isnumericr�loads� IndexError)rrr,s rrz Packet.decode8sd�� ���>�>�� ��{� >�s�>�2�2�a�7�7��<�=�=� =��+�o�:�.��"3�s�":�� � 3��D�K�&�D� ��(�����);�<�<�D�I�I�I��{� 7�:�n�e�#D�#D� 7�!&�~�!6�!6���{� 3�#*�� �*�� � � �#&�~�a�'8�#9�#9�� �3�%�a�(�2�2�4�4�)�)�(� $� ����q�r�r�0B� C� C�D�I�I�I��"�J�/�3�3�3� .�q�r�r� 2�D�I�I�I�I�3���s�2AD<�< E �E )F) �__name__� __module__� __qualname__�__doc__�_jsonrrr r-r�r!rrr s]�������� �D�#'�d�4� (� (� (� (�����43�3�3�3�3r!r)r'�engineiorr:r r r r rrr� packet_namesr1� bytearrayrrr;r!r�<module>r?s��� � � � �"�"�"�"�"�"�4I�1��u�d�D�'�7�D�N�N�N� ��y�!� �H3�H3�H3�H3�H3�H3�H3�H3�H3�H3r!
Memory