§
    Œ¶vg~  ã                  óV   — d dl mZ d dlZd dlZd dlZd dlZddgZdZdd„Zdd
„Z	dd„Z
dS )é    )ÚannotationsNÚ
accept_keyÚ
apply_maskz$258EAFA5-E914-47DA-95CA-C5AB0DC85B11ÚreturnÚstrc                 óv   — t          j        d¦  «        } t          j        | ¦  «                             ¦   «         S )zB
    Generate a random key for the Sec-WebSocket-Key header.

    é   )ÚsecretsÚtoken_bytesÚbase64Ú	b64encodeÚdecode)Úkeys    úM/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/websockets/utils.pyÚgenerate_keyr      s1   € õ
 Ô
˜bÑ
!Ô
!€CÝÔ˜CÑ Ô ×'Ò'Ñ)Ô)Ð)ó    r   c                óÎ   — t          j        | t          z                        ¦   «         ¦  «                             ¦   «         }t          j        |¦  «                             ¦   «         S )z
    Compute the value of the Sec-WebSocket-Accept header.

    Args:
        key: Value of the Sec-WebSocket-Key header.

    )ÚhashlibÚsha1ÚGUIDÚencodeÚdigestr   r   r   )r   r   s     r   r   r      sL   € õ Œ<˜t™×+Ò+Ñ-Ô-Ñ.Ô.×5Ò5Ñ7Ô7€DÝÔ˜DÑ!Ô!×(Ò(Ñ*Ô*Ð*r   ÚdataÚbytesÚmaskc                óš  — t          |¦  «        dk    rt          d¦  «        ‚t                               | t          j        ¦  «        }|t          | ¦  «        dz  z  |dt          | ¦  «        dz  …         z   }t                               |t          j        ¦  «        }||z                       t          | ¦  «        t          j        ¦  «        S )z
    Apply masking to the data of a WebSocket message.

    Args:
        data: Data to mask.
        mask: 4-bytes mask.

    é   zmask must contain 4 bytesN)ÚlenÚ
ValueErrorÚintÚ
from_bytesÚsysÚ	byteorderÚto_bytes)r   r   Údata_intÚmask_repeatedÚmask_ints        r   r   r   $   s›   € õ ˆ4y„yA‚~€~ÝÐ4Ñ5Ô5Ð5å~Š~˜d¥C¤MÑ2Ô2€HØC ™IœI¨™NÑ+¨d°?µS¸±Y´YÀ±]°?Ô.CÑC€MÝ~Š~˜m­S¬]Ñ;Ô;€HØxÑ×)Ò)­#¨d©)¬)µS´]ÑCÔCÐCr   )r   r   )r   r   r   r   )r   r   r   r   r   r   )Ú
__future__r   r   r   r
   r"   Ú__all__r   r   r   r   © r   r   ú<module>r+      sš   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø €€€Ø 
€
€
€
ð ˜Ð
&€ð .€ð*ð *ð *ð *ð	+ð 	+ð 	+ð 	+ðDð Dð Dð Dð Dð Dr   