U ���_� � @ s� d dl Z d dlZd dlmZ d dlmZmZmZmZm Z ddl mZmZm Z mZ ddlmZmZmZmZ ddlmZmZ G dd � d �Ze� ZejZejZejZejZejZejZdS ) � N)�Mapping)�Any�Dict�List�Optional�Type� )� Algorithm�get_default_algorithms� has_crypto�requires_cryptography)�DecodeError�InvalidAlgorithmError�InvalidSignatureError�InvalidTokenError)�base64url_decode�base64url_encodec @ s� e Zd ZdZd!dd�Zedd� �Zdd� Zd d � Zdd� Z d"e eeee eeej ed�dd�Zd#eeee e e eef d�dd�Zd$eeee e ed�dd�Zdd� Zdd� Zd%dd�Zdd� Zdd � ZdS )&�PyJWSZJWTNc C sh t � | _|d k rt|�nt| j�| _t| j�� �D ]}|| jkr2| j|= q2|d krVi }| �� |�| _d S )N)r �_algorithms�set�_valid_algs�list�keys�_get_default_options�options)�self� algorithmsr �key� r �</opt/alt/python38/lib/python3.8/site-packages/jwt/api_jws.py�__init__ s � zPyJWS.__init__c C s ddiS )N�verify_signatureTr r r r r r '