
    iM                     P    d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d Zd	dZd Z	y)
    N)
json_loads)
to_unicode)urlsafe_b64decode)DecodeErrorc                     t        |       dkD  rt        d      t        | |d      }	 t        |j	                  d            }t        |t              s |d      |S # t        $ r} |d|       |d }~ww xY w)N  zValue of header is too longheaderzutf-8zInvalid header string: zHeader must be a json object)len
ValueErrorextract_segmentr   decode
isinstancedict)header_segment	error_clsheader_datar	   es        [/mnt/e/genesis-system/.venvs/browser-army/lib/python3.12/site-packages/authlib/jose/util.pyextract_headerr   	   s    
>V#677!.)XFK>K..w78 fd#677M  >1!56A=>s   A 	A6%A11A6c                     t        |       dkD  rt        d| d      	 t        |       S # t        t        j
                  f$ r}d| d} ||      |d }~ww xY w)Nr   z	Value of z is too longInvalid z padding)r
   r   r   	TypeErrorbinasciiError)segmentr   nameexcmsgs        r   r   r      se    
7|f9TF,788& ))x~~& &h'n#%&s   
* AAAc                     t        | t              s	 t        t        |             } t        | t              st        d|       | S # t        t
        f$ r}t        d|       |d }~ww xY w)Nr   )r   r   r   r   r   r   r   )sstructure_namer   s      r   ensure_dictr"   $   sr    a	D:a=)A aH^$4566H I& 	D(89:C	Ds   A A)A$$A))payload)
r   authlib.common.encodingr   r   r   authlib.jose.errorsr   r   r   r"        r   <module>r(      s#     . . 5 + &
r'   