
    LdI                     B    d dl Z d dlmZmZmZ d dlmZ d ZddZd Z	dS )	    N)urlsafe_b64decode
json_loads
to_unicode)DecodeErrorc                    t          | |d          }	 t          |                    d                    }n0# t          $ r#} |d                    |                    d }~ww xY wt          |t                    s |d          |S )Nheaderzutf-8zInvalid header string: {}zHeader must be a json object)extract_segmentr   decode
ValueErrorformat
isinstancedict)header_segment	error_clsheader_datar   es        7F:\djangOuth\env\Lib\site-packages\authlib/jose/util.pyextract_headerr      s    !.)XFFK?K..w7788 ? ? ?i3::1==>>>? fd## 8i6777Ms   "6 
A# AA#payloadc                     	 t          |           S # t          t          j        f$ r! d                    |          } ||          w xY w)NzInvalid {} padding)r   	TypeErrorbinasciiErrorr   )segmentr   namemsgs       r   r	   r	      sX     )))x~&   "))$//inns	    7Ac                 H   t          | t                    sU	 t          t          |                     } n7# t          t
          f$ r# t          d                    |                    w xY wt          | t                    s"t          d                    |                    | S )Nz
Invalid {})r   r   r   r   r   r   r   r   )sstructure_names     r   ensure_dictr       s    a C	C:a==))AAI& 	C 	C 	Cl11.AABBB	C a ?,--n==>>>Hs	   4 4A()r   )
r   authlib.common.encodingr   r   r   authlib.jose.errorsr   r   r	   r         r   <module>r%      sz     M M M M M M M M M M + + + + + +
 
 
   
 
 
 
 
r$   