Ë
    ”Âi§	  ã                   óD   —  G d „ d«      Z  G d„ de«      Z G d„ de«      Zy)c                   ó6   — e Zd ZdZdZdZdZdZdZd„ Z	d„ Z
d„ Zy)	ÚJWSAlgorithmzˆInterface for JWS algorithm. JWA specification (RFC7518) SHOULD
    implement the algorithms for JWS with this base implementation.
    NFÚJWSÚalgc                 ó   — t        «       ‚)z0Prepare key for signing and verifying signature.©ÚNotImplementedError)ÚselfÚraw_datas     úS/var/www/timesheet/venv/lib/python3.12/site-packages/authlib/jose/rfc7515/models.pyÚprepare_keyzJWSAlgorithm.prepare_key   s   € ä!Ó#Ð#ó    c                 ó   — t         ‚)z®Sign the text msg with a private/sign key.

        :param msg: message bytes to be signed
        :param key: private key to sign the message
        :return: bytes
        r   )r	   ÚmsgÚkeys      r   ÚsignzJWSAlgorithm.sign   s
   € ô "Ð!r   c                 ó   — t         ‚)z÷Verify the signature of text msg with a public/verify key.

        :param msg: message bytes to be signed
        :param sig: result signature to be compared
        :param key: public key to verify the signature
        :return: boolean
        r   )r	   r   Úsigr   s       r   ÚverifyzJWSAlgorithm.verify   s
   € ô "Ð!r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚdescriptionÚ
deprecatedÚalgorithm_typeÚalgorithm_locationr   r   r   © r   r   r   r      s2   „ ñð €DØ€KØ€JØ€NØÐò$ò"ó"r   r   c                   ó2   ‡ — e Zd ZdZˆ fd„Zed„ «       Zˆ xZS )Ú	JWSHeadera  Header object for JWS. It combine the protected header and unprotected
    header together. JWSHeader itself is a dict of the combined dict. e.g.

        >>> protected = {"alg": "HS256"}
        >>> header = {"kid": "a"}
        >>> jws_header = JWSHeader(protected, header)
        >>> print(jws_header)
        {'alg': 'HS256', 'kid': 'a'}
        >>> jws_header.protected == protected
        >>> jws_header.header == header

    :param protected: dict of protected header
    :param header: dict of unprotected header
    c                 ó�   •— i }|r|j                  |«       |r|j                  |«       t        ‰| �	  |«       || _        || _        y )N)ÚupdateÚsuperÚ__init__Ú	protectedÚheader)r	   r%   r&   ÚobjÚ	__class__s       €r   r$   zJWSHeader.__init__4   sA   ø€ ØˆÙØ�J‰J�vÔÙØ�J‰J�yÔ!Ü‰Ñ˜ÔØ"ˆŒØˆ�r   c                 ól   — t        || «      r|S  | |j                  d«      |j                  d«      «      S )Nr%   r&   )Ú
isinstanceÚget)Úclsr'   s     r   Ú	from_dictzJWSHeader.from_dict>   s0   € ä�c˜3ÔØˆJÙ�3—7‘7˜;Ó'¨¯©°Ó):Ó;Ð;r   )r   r   r   r   r$   Úclassmethodr-   Ú__classcell__©r(   s   @r   r    r    $   s!   ø„ ñôð ñ<ó ô<r   r    c                   ó4   ‡ — e Zd ZdZdˆ fd„	Zed„ «       Zˆ xZS )Ú	JWSObjectz*A dict instance to represent a JWS object.c                 óR   •— t         ‰| �  ||¬«       || _        || _        || _        y )N)r&   Úpayload)r#   r$   r&   r4   Útype)r	   r&   r4   r5   r(   s       €r   r$   zJWSObject.__init__H   s2   ø€ Ü‰ÑØØð 	ô 	
ð ˆŒØˆŒØˆ�	r   c                 ó,   — | j                   dk(  r| d   S y)z'Alias of ``header`` for JSON typed JWS.Újsonr&   N)r5   )r	   s    r   ÚheaderszJWSObject.headersQ   s   € ð �9‰9˜ÒØ˜‘>Ð!ð r   )Úcompact)r   r   r   r   r$   Úpropertyr8   r/   r0   s   @r   r2   r2   E   s   ø„ Ù4õð ñ"ó ô"r   r2   N)r   Údictr    r2   r   r   r   ú<module>r<      s)   ð÷ "ñ  "ôF<�ô <ôB"�õ "r   