§
    TøÁiªd  ã                  ó6  — d dl mZ d dlZd dlmZ d dlmZmZ ddlm	Z	 ddl
mZmZmZmZmZmZ ddlmZmZmZ d	d
lmZmZmZ g d¢ZdZd„  edd¦  «        D ¦   «         Z G d„ de¦  «        Zd,d„Zd-d „Z G d!„ d"e¦  «        Zd.d&„Z  G d'„ d(e¦  «        Z!d/d+„Z"dS )0é    )ÚannotationsN)ÚSequence)ÚAnyÚLiteralé   )Úframes)ÚDuplicateParameterÚInvalidParameterNameÚInvalidParameterValueÚNegotiationErrorÚPayloadTooBigÚProtocolError)Ú	BytesLikeÚExtensionNameÚExtensionParameteré   )ÚClientExtensionFactoryÚ	ExtensionÚServerExtensionFactory)ÚPerMessageDeflateÚClientPerMessageDeflateFactoryÚ enable_client_permessage_deflateÚServerPerMessageDeflateFactoryÚ enable_server_permessage_deflates     ÿÿc                ó,   — g | ]}t          |¦  «        ‘ŒS © )Ústr)Ú.0Úbitss     úr/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/websockets/extensions/permessage_deflate.pyú
<listcomp>r!      s   € Ð>Ð>Ð>¨�3˜t™9œ9Ð>Ð>Ð>ó    é   é   c                  óR   — e Zd ZdZ ed¦  «        Z	 ddd„Zdd„Zddœdd„Zdd„Z	dS )r   z)
    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údict[Any, Any] | NoneÚreturnÚNonec                ól  — |€i }|dv sJ ‚|dv sJ ‚d|cxk    rdk    sn J ‚d|cxk    rdk    sn J ‚d|vsJ ‚|| _         || _        || _        || _        || _        | j         s t          j        | j         ¬¦  «        | _        | j        s#t          j        dd| j         i| j        ¤Ž| _	        d| _
        dS )	z?
        Configure the Per-Message Deflate extension.

        N)FTr#   é   Úwbits©r3   Fr   )r'   r)   r*   r,   r-   ÚzlibÚdecompressobjÚdecoderÚcompressobjÚencoderÚdecode_cont_data)Úselfr'   r)   r*   r,   r-   s         r    Ú__init__zPerMessageDeflate.__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ðàÔ(ðð ˆDŒLð !&ˆÔÐÐr"   r   c           	     ó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,   ©r;   s    r    Ú__repr__zPerMessageDeflate.__repr__S   s_   € ðCØ*.Ô*IðCð Cà)-Ô)GðCð Cð '+Ô&AðCð Cð &*Ô%?ð	Cð Cð Cð	
r"   )Úmax_sizeÚframeúframes.FramerA   ú
int | Nonec               óN  — |j         t          j        v r|S |j         t          j        u r| j        s|S |j        rd| _        n>|j        s|S |j        sd| _        | j        r t          j	        | j
         ¬¦  «        | _        |j        r5t          |j        ¦  «        dk     rt          |j        ¦  «        t          z   }n|j        }|€dn|}	 | j                             ||¦  «        }| j        j        r|€J ‚t%          d|¦  «        ‚|j        r7t          |j        ¦  «        dk    r| j                             t          ¦  «         n'# t          j        $ r}t)          d¦  «        |‚d}~ww xY w|j        r	| j        r| `t          j        |j         ||j        d|j        |j        ¦  «        S )z,
        Decode an incoming frame.

        FTr4   iü  Nr   zdecompression failed)Úopcoder   ÚCTRL_OPCODESÚOP_CONTr:   ÚfinÚrsv1r'   r5   r6   r*   r7   ÚlenÚdataÚbytesÚ_EMPTY_UNCOMPRESSED_BLOCKÚ
decompressÚunconsumed_tailr   Úerrorr   ÚFrameÚrsv2Úrsv3)r;   rB   rA   rL   Ú
max_lengthÚexcs         r    ÚdecodezPerMessageDeflate.decode\   sß  € ð Œ<�6Ô.Ð.Ð.ØˆLð
 Œ<�6œ>Ð)Ð)ØÔ(ð Ø�ØŒyð .Ø(-�Ô%øð ”:ð Ø�Ø”9ð -Ø(,�Ô%ð Ô.ð VÝ#Ô1¸Ô9TÐ8TÐUÑUÔU�”ð Œ9ð 	�˜UœZ™œ¨4Ò/Ð/õ ˜œÑ$Ô$Õ'@Ñ@ˆDˆDà”:ˆDØ"Ð*�Q�Q°ˆ
ð		AØ”<×*Ò*¨4°Ñ<Ô<ˆDØŒ|Ô+ð 4ØÐ+Ð+Ð+Ý# D¨(Ñ3Ô3Ð3ØŒyð C�S ¤™_œ_°Ò4Ð4à”×'Ò'Õ(AÑBÔBÐBøøÝŒzð 	Að 	Að 	AÝÐ 6Ñ7Ô7¸SÐ@øøøøð	Aøøøð Œ9ð 	˜Ô8ð 	Ø�åŒ|ØŒLØØŒIàØŒJØŒJñ
ô 
ð 	
s   Ã	A9E ÅE'ÅE"Å"E'c                ól  — |j         t          j        v r|S |j         t          j        ur*| j        r#t          j        dd| j         i| j        ¤Ž| _	        | j	         
                    |j        ¦  «        | j	                             t
          j        ¦  «        z   }|j        rJ|dd…         t          k    sJ ‚t!          |¦  «        dk     r|dd…         }nt#          |¦  «        dd…         }|j        r	| j        r| `	t          j        |j         ||j        |j         t          j        u|j        |j        ¦  «        S )z,
        Encode an outgoing frame.

        r3   éüÿÿÿNi   r   )rF   r   rG   rH   r)   r5   r8   r,   r-   r9   ÚcompressrL   ÚflushÚZ_SYNC_FLUSHrI   rN   rK   Ú
memoryviewrR   rS   rT   )r;   rB   rL   s      r    ÚencodezPerMessageDeflate.encode¥   sF  € ð Œ<�6Ô.Ð.Ð.ØˆLð
 Œ<�vœ~Ð-Ð-àÔ-ð Ý#Ô/ð  ð  ØÔ5Ð5ð àÔ,ð ð  �”ð Œ|×$Ò$ U¤ZÑ0Ô0°4´<×3EÒ3EÅdÔFWÑ3XÔ3XÑXˆØŒ9ð 	-ð ˜˜˜”9Õ 9Ò9Ð9Ð9Ð9å�4‰yŒy˜4ÒÐØ˜C˜R˜C”y��å! $Ñ'Ô'¨¨¨Ô,�ð Œ9ð 	˜Ô7ð 	Ø�åŒ|ØŒLØØŒIàŒL¥¤Ð.ØŒJØŒJñ
ô 
ð 	
r"   ©N)r'   r(   r)   r(   r*   r+   r,   r+   r-   r.   r/   r0   )r/   r   )rB   rC   rA   rD   r/   rC   )rB   rC   r/   rC   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Únamer<   r@   rW   r^   r   r"   r    r   r   !   s¡   € € € € € ðð ð
 ˆ=Ð-Ñ.Ô.€Dð 48ð&&ð &&ð &&ð &&ð &&ðT
ð 
ð 
ð 
ð  $ð	G
ð G
ð G
ð G
ð G
ð G
ðR-
ð -
ð -
ð -
ð -
ð -
r"   r   Úserver_no_context_takeoverr(   Úclient_no_context_takeoverÚserver_max_window_bitsrD   Úclient_max_window_bitsúint | Literal[True] | Noner/   úlist[ExtensionParameter]c                ó2  — g }| r|                      d¦  «         |r|                      d¦  «         |r$|                      dt          |¦  «        f¦  «         |du r|                      d¦  «         n&|r$|                      dt          |¦  «        f¦  «         |S )zS
    Build a list of ``(name, value)`` pairs for some compression parameters.

    )re   N)rf   Nrg   T)rh   Nrh   )Úappendr   )re   rf   rg   rh   Úparamss        r    Ú_build_parametersrn   Õ   s¹   € ð (*€FØ!ð <Ø�ŠÐ:Ñ;Ô;Ð;Ø!ð <Ø�ŠÐ:Ñ;Ô;Ð;Øð OØ�ŠÐ/µÐ5KÑ1LÔ1LÐMÑNÔNÐNØ Ð%Ð%Ø�ŠÐ6Ñ7Ô7Ð7Ð7Ø	ð OØ�ŠÐ/µÐ5KÑ1LÔ1LÐMÑNÔNÐNØ€Mr"   rm   úSequence[ExtensionParameter]Ú	is_serverú9tuple[bool, bool, int | None, int | Literal[True] | None]c               ó  — d}d}d}d}| D ]ò\  }}|dk    r&|rt          |¦  «        ‚|€d}Œ!t          ||¦  «        ‚|dk    r&|rt          |¦  «        ‚|€d}ŒMt          ||¦  «        ‚|dk    r:|�t          |¦  «        ‚|t          v rt          |¦  «        }Œ�t          ||¦  «        ‚|dk    rA|�t          |¦  «        ‚|r|€d}Œ»|t          v rt          |¦  «        }ŒÔt          ||¦  «        ‚t	          |¦  «        ‚||||fS )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.

    FNre   Trf   rg   rh   )r	   r   Ú_MAX_WINDOW_BITS_VALUESr+   r
   )rm   rp   re   rf   rg   rh   rd   Úvalues           r    Ú_extract_parametersru   í   s‚  € ð (-ÐØ',ÐØ)-ÐØ9=Ðàð $-ð $-‰ˆˆeØÐ/Ò/Ð/Ø)ð /Ý(¨Ñ.Ô.Ð.Øˆ}Ø-1Ð*Ð*å+¨D°%Ñ8Ô8Ð8àÐ1Ò1Ð1Ø)ð /Ý(¨Ñ.Ô.Ð.Øˆ}Ø-1Ð*Ð*å+¨D°%Ñ8Ô8Ð8àÐ-Ò-Ð-Ø%Ð1Ý(¨Ñ.Ô.Ð.ØÕ/Ð/Ð/Ý),¨U©¬Ð&Ð&å+¨D°%Ñ8Ô8Ð8àÐ-Ò-Ð-Ø%Ð1Ý(¨Ñ.Ô.Ð.Øð 9˜U˜]Ø)-Ð&Ð&ØÕ1Ð1Ð1Ý),¨U©¬Ð&Ð&å+¨D°%Ñ8Ô8Ð8õ ' tÑ,Ô,Ð,ð 	#Ø"ØØð	ð r"   c                  óL   — e Zd ZdZ ed¦  «        Z	 	 	 	 	 ddd„Zdd„Zdd„ZdS )r   aÚ  
    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://datatracker.ietf.org/doc/html/rfc7692#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&   FNTre   r(   rf   rg   rD   rh   ri   r-   údict[str, Any] | Noner/   r0   c                óþ   — |�d|cxk    rdk    sn t          d¦  «        ‚|�"|du sd|cxk    rdk    sn t          d¦  «        ‚|�d|v rt          d¦  «        ‚|| _        || _        || _        || _        || _        dS )	úG
        Configure the Per-Message Deflate extension factory.

        Nr#   r2   ú/server_max_window_bits must be between 8 and 15Tú/client_max_window_bits must be between 8 and 15r3   zLcompress_settings must not include wbits, set client_max_window_bits instead)Ú
ValueErrorre   rf   rg   rh   r-   )r;   re   rf   rg   rh   r-   s         r    r<   z'ClientPerMessageDeflateFactory.__init__D  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"   ro   c                óN   — t          | j        | j        | j        | j        ¦  «        S )z,
        Build request parameters.

        )rn   re   rf   rg   rh   r?   s    r    Úget_request_paramsz1ClientPerMessageDeflateFactory.get_request_paramsd  s.   € õ
 !ØÔ+ØÔ+ØÔ'ØÔ'ñ	
ô 
ð 	
r"   rm   Úaccepted_extensionsúSequence[Extension]r   c                ó  ‡ — t          ˆ fd„|D ¦   «         ¦  «        rt          d‰ j        › �¦  «        ‚t          |d¬¦  «        \  }}}}‰ j        r|st          d¦  «        ‚‰ j        r|sd}‰ j        €n+|€t          d¦  «        ‚|‰ j        k    rt          d	¦  «        ‚‰ j        €|�t          d
¦  «        ‚n.‰ j        du rn$|€‰ j        }n|‰ j        k    rt          d¦  «        ‚t          |||pd|pd‰ j	        ¦  «        S )zV
        Process response parameters.

        Return an extension instance.

        c              3  ó8   •K  — | ]}|j         ‰j         k    V — Œd S r_   ©rd   ©r   Úotherr;   s     €r    ú	<genexpr>zIClientPerMessageDeflateFactory.process_response_params.<locals>.<genexpr>{  ó,   øè è € ÐHÐH¨5ˆuŒz˜TœYÒ&ÐHÐHÐHÐHÐHÐHr"   zreceived duplicate F©rp   z#expected server_no_context_takeoverTNzexpected server_max_window_bitsz"unsupported server_max_window_bitsz!unexpected client_max_window_bitsz"unsupported client_max_window_bitsr2   )
Úanyr   rd   ru   re   rf   rg   rh   r   r-   ©r;   rm   r   re   rf   rg   rh   s   `      r    Úprocess_response_paramsz6ClientPerMessageDeflateFactory.process_response_paramsp  s‚  ø€ õ ÐHÐHÐHÐHÐ4GÐHÑHÔHÑHÔHð 	FÝ"Ð#D¸¼Ð#DÐ#DÑEÔEÐEõ   °%Ð8Ñ8Ô8ñ	
Ø&Ø&Ø"Ø"ð Ô*ð 	NØ-ð NÝ&Ð'LÑMÔMÐMð Ô*ð 	2Ø-ð 2Ø-1Ð*ð Ô&Ð.Øð &Ð-Ý&Ð'HÑIÔIÐIØ'¨$Ô*EÒEÐEÝ&Ð'KÑLÔLÐLð Ô&Ð.Ø%Ð1Ý&Ð'JÑKÔKÐKð 2ð Ô(¨DÐ0Ð0Øð &Ð-Ø)-Ô)DÐ&Ð&Ø'¨$Ô*EÒEÐEÝ&Ð'KÑLÔLÐLå Ø&Ø&Ø"Ð( bØ"Ð( bØÔ"ñ
ô 
ð 	
r"   )FFNTN)re   r(   rf   r(   rg   rD   rh   ri   r-   rw   r/   r0   )r/   ro   )rm   ro   r   r€   r/   r   )	r`   ra   rb   rc   r   rd   r<   r~   r‹   r   r"   r    r   r   *  s‰   € € € € € ðð ð. ˆ=Ð-Ñ.Ô.€Dð ,1Ø+0Ø-1Ø=AØ37ð3ð 3ð 3ð 3ð 3ð@

ð 

ð 

ð 

ðg
ð g
ð g
ð g
ð g
ð g
r"   r   Ú
extensionsú'Sequence[ClientExtensionFactory] | Noneú Sequence[ClientExtensionFactory]c                ó†   — | €g } t          d„ | D ¦   «         ¦  «        s#t          | ¦  «        t          ddi¬¦  «        gz   } | 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.

    Nc              3  ó@   K  — | ]}|j         t          j         k    V — Œd S r_   )rd   r   )r   Úextension_factorys     r    r†   z3enable_client_permessage_deflate.<locals>.<genexpr>æ  sB   è è € ð ð àð 	ÔÕ"@Ô"EÒEðð ð ð ð ð r"   ÚmemLevelé   )r-   )r‰   Úlistr   ©rŒ   s    r    r   r   Ú  sw   € ð ÐØˆ
Ýð ð à!+ðñ ô ñ ô ð 
õ ˜*Ñ%Ô%Ý*Ø#-¨q /ðñ ô ð)
ñ 
ˆ
ð
 Ðr"   c                  óF   — e Zd ZdZ ed¦  «        Z	 	 	 	 	 	 ddd„Zdd„ZdS )r   aŸ  
    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://datatracker.ietf.org/doc/html/rfc7692#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&   FNre   r(   rf   rg   rD   rh   r-   rw   Úrequire_client_max_window_bitsr/   r0   c                ó*  — |�d|cxk    rdk    sn t          d¦  «        ‚|�d|cxk    rdk    sn t          d¦  «        ‚|�d|v rt          d¦  «        ‚|€|rt          d¦  «        ‚|| _        || _        || _        || _        || _        || _        dS )	ry   Nr#   r2   rz   r{   r3   zLcompress_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|   re   rf   rg   rh   r-   r—   )r;   re   rf   rg   rh   r-   r—   s          r    r<   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"   rm   ro   r   r€   ú2tuple[list[ExtensionParameter], PerMessageDeflate]c                óø  ‡ — t          ˆ fd„|D ¦   «         ¦  «        rt          d‰ j        › �¦  «        ‚t          |d¬¦  «        \  }}}}‰ j        r|sd}‰ j        r|sd}‰ j        €n|€‰ j        }n|‰ j        k    r‰ j        }‰ j        €|du r‰ j        }n7|€‰ j        rt          d¦  «        ‚n|du r‰ j        }n‰ j        |k     r‰ j        }t          ||||¦  «        t          |||pd|pd‰ j        ¦  «        fS )zi
        Process request parameters.

        Return response params and an extension instance.

        c              3  ó8   •K  — | ]}|j         ‰j         k    V — Œd S r_   rƒ   r„   s     €r    r†   zHServerPerMessageDeflateFactory.process_request_params.<locals>.<genexpr>=  r‡   r"   zskipped duplicate Trˆ   Nzrequired client_max_window_bitsr2   )r‰   r   rd   ru   re   rf   rg   rh   r—   rn   r   r-   rŠ   s   `      r    Úprocess_request_paramsz5ServerPerMessageDeflateFactory.process_request_params2  sŸ  ø€ õ ÐHÐHÐHÐHÐ4GÐHÑHÔHÑHÔHð 	EÝ"Ð#C¸¼	Ð#CÐ#CÑDÔDÐDõ   °$Ð7Ñ7Ô7ñ	
Ø&Ø&Ø"Ø"ð" Ô*ð 	2Ø-ð 2Ø-1Ð*ð Ô*ð 	2Ø-ð 2Ø-1Ð*ð Ô&Ð.Øð &Ð-Ø)-Ô)DÐ&Ð&Ø'¨$Ô*EÒEÐEØ)-Ô)DÐ&ð Ô&Ð.Ø%¨Ð-Ð-Ø)-Ô)DÐ&øð &Ð-ØÔ6ð NÝ*Ð+LÑMÔMÐMðNà'¨4Ð/Ð/Ø)-Ô)DÐ&Ð&ØÔ,Ð/EÒEÐEØ)-Ô)DÐ&õ Ø*Ø*Ø&Ø&ñ	ô õ Ø*Ø*Ø&Ð,¨"Ø&Ð,¨"ØÔ&ñô ð
ð 	
r"   )FFNNNF)re   r(   rf   r(   rg   rD   rh   rD   r-   rw   r—   r(   r/   r0   )rm   ro   r   r€   r/   r™   )r`   ra   rb   rc   r   rd   r<   rœ   r   r"   r    r   r   ò  s}   € € € € € ðð ð4 ˆ=Ð-Ñ.Ô.€Dð ,1Ø+0Ø-1Ø-1Ø37Ø/4ð!Mð !Mð !Mð !Mð !MðFo
ð o
ð o
ð o
ð o
ð o
r"   r   ú'Sequence[ServerExtensionFactory] | Noneú Sequence[ServerExtensionFactory]c                óŠ   — | €g } t          d„ | D ¦   «         ¦  «        s%t          | ¦  «        t          ddddi¬¦  «        gz   } | 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.

    Nc              3  ó@   K  — | ]}|j         t          j         k    V — Œd S r_   )rd   r   )r   Úext_factorys     r    r†   z3enable_server_permessage_deflate.<locals>.<genexpr>°  sB   è è € ð ð àð 	ÔÕ:Ô?Ò?ðð ð ð ð ð r"   é   r’   r“   )rg   rh   r-   )r‰   r”   r   r•   s    r    r   r   ¤  s}   € ð ÐØˆ
Ýð ð à%ðñ ô ñ ô ð 

õ ˜*Ñ%Ô%Ý*Ø')Ø')Ø#-¨q /ðñ ô ð)
ñ 
ˆ
ð Ðr"   )
re   r(   rf   r(   rg   rD   rh   ri   r/   rj   )rm   ro   rp   r(   r/   rq   )rŒ   r�   r/   rŽ   )rŒ   r�   r/   rž   )#Ú
__future__r   r5   Úcollections.abcr   Útypingr   r   Ú r   Ú
exceptionsr	   r
   r   r   r   r   r   r   r   Úbaser   r   r   Ú__all__rN   Úrangers   r   rn   ru   r   r   r   r   r   r"   r    ú<module>r«      s  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð BÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ Kðð ð €ð 0Ð à>Ð>°°°q¸"±´Ð>Ñ>Ô>Ð ðq
ð q
ð q
ð q
ð q
˜	ñ q
ô q
ð q
ðhð ð ð ð0:ð :ð :ð :ðzm
ð m
ð m
ð m
ð m
Ð%;ñ m
ô m
ð m
ð`ð ð ð ð0o
ð o
ð o
ð o
ð o
Ð%;ñ o
ô o
ð o
ðdð ð ð ð ð r"   