Ë
    �ÏÏeÑ  ã                   óF   — d Z ddlZddlmZ dedefd„Zdeeef   defd„Zy)a  `JOSE Base64`_ is defined as:

  - URL-safe Base64
  - padding stripped

.. _`JOSE Base64`:
    https://tools.ietf.org/html/draft-ietf-jose-json-web-signature-37#appendix-C

.. Do NOT try to call this module "base64", as it will "shadow" the
   standard library.

é    N)ÚUnionÚdataÚreturnc                 ó€   — t        | t        «      st        d«      ‚t        j                  | «      j                  d«      S )zÃJOSE Base64 encode.

    :param data: Data to be encoded.
    :type data: bytes

    :returns: JOSE Base64 string.
    :rtype: bytes

    :raises TypeError: if ``data`` is of incorrect type

    zargument should be bytesó   =)Ú
isinstanceÚbytesÚ	TypeErrorÚbase64Úurlsafe_b64encodeÚrstrip©r   s    ú,/usr/lib/python3/dist-packages/josepy/b64.pyÚ	b64encoder      s6   € ô �dœEÔ"ÜÐ2Ó3Ð3Ü×#Ñ# DÓ)×0Ñ0°Ó6Ð6ó    c                 ó  — t        | t        «      r	 | j                  d«      } nt        | t
        «      st        d«      ‚t        j                  | ddt        | «      dz  z
  z  z   «      S # t        $ r t	        d«      ‚w xY w)a^  JOSE Base64 decode.

    :param data: Base64 string to be decoded. If it's unicode, then
                 only ASCII characters are allowed.
    :type data: bytes or unicode

    :returns: Decoded data.
    :rtype: bytes

    :raises TypeError: if input is of incorrect type
    :raises ValueError: if input is unicode with non-ASCII characters

    Úasciiz5unicode argument should contain only ASCII charactersz#argument should be a str or unicoder   é   )
r   ÚstrÚencodeÚUnicodeEncodeErrorÚ
ValueErrorr	   r
   r   Úurlsafe_b64decodeÚlenr   s    r   Ú	b64decoder   "   s�   € ô �$œÔð	VØ—;‘;˜wÓ'‰Dô ˜œeÔ$ÜÐ=Ó>Ð>ä×#Ñ# D¨4°1¼¸D»	ÀA¹Ñ3FÑ+GÑ$GÓHÐHøô "ò 	VÜÐTÓUÐUð	Vús   ’A) Á)A>)Ú__doc__r   Útypingr   r	   r   r   r   © r   r   ú<module>r      sD   ðñó Ý ð7�Eð 7˜eó 7ð"I�E˜% ˜*Ñ%ð I¨%ô Ir   