File: //usr/lib/python3.9/site-packages/jwcrypto/__pycache__/jwa.cpython-39.pyc
a
�,�es� � @ s" d dl Z d dlZd dlmZmZ d dlmZmZ d dlm Z d dl
mZ d dlm
Z
mZmZ d dlmZ d dlmZ d d lmZ d d
lmZmZmZ d dlmZ d dlmZ d d
lmZmZ d dl m!Z! d dl"m#Z# d dl"m$Z$ d dl"m%Z% d dl"m&Z& d dl"m'Z' d dl"m(Z(m)Z) d dl"m*Z* d dl+m,Z, dZ-G dd� ded�Z.dd� Z/dd� Z0dd � Z1d!d"� Z2d#d$� Z3G d%d&� d&�Z4G d'd(� d(e4�Z5G d)d*� d*e4�Z6G d+d,� d,e4�Z7G d-d.� d.e4�Z8G d/d0� d0e5e.�Z9G d1d2� d2e5e.�Z:G d3d4� d4e5e.�Z;G d5d6� d6e6e.�Z<G d7d8� d8e6e.�Z=G d9d:� d:e6e.�Z>G d;d<� d<e7e.�Z?G d=d>� d>e7e.�Z@G d?d@� d@e7e.�ZAG dAdB� dBe7e.�ZBG dCdD� dDe6e.�ZCG dEdF� dFe6e.�ZDG dGdH� dHe6e.�ZEG dIdJ� dJe8e.�ZFG dKdL� dL�ZGG dMdN� dNeG�ZHG dOdP� dPeHe.�ZIG dQdR� dReHe.�ZJG dSdT� dTeHe.�ZKG dUdV� dVeG�ZLG dWdX� dXeLe.�ZMG dYdZ� dZeLe.�ZNG d[d\� d\eLe.�ZOG d]d^� d^eG�ZPG d_d`� d`ePe.�ZQG dadb� dbePe.�ZRG dcdd� ddePe.�ZSG dedf� dfeG�ZTG dgdh� dheTe.�ZUG didj� djeTe.�ZVG dkdl� dleTe.�ZWG dmdn� dneGe.�ZXG dodp� dpeGe.�ZYG dqdr� dreY�ZZG dsdt� dteY�Z[G dudv� dveY�Z\G dwdx� dxe4e.�Z]G dydz� dz�Z^G d{d|� d|e^�Z_G d}d~� d~e_e.�Z`G dd�� d�e_e.�ZaG d�d�� d�e_e.�ZbG d�d�� d�e^�ZcG d�d�� d�ece.�ZdG d�d�� d�ece.�ZeG d�d�� d�ece.�ZfG d�d�� d�e7e.�ZgG d�d�� d�e7e.�ZhG d�d�� d�e7e.�ZiG d�d�� d��ZjdS )�� N)�ABCMeta�abstractmethod)�hexlify� unhexlify)�InvalidSignature)�default_backend)�
constant_time�hashes�hmac)�ec)�padding)�utils)�Cipher�
algorithms�modes)�
ConcatKDFHash)�
PBKDF2HMAC)�aes_key_unwrap�aes_key_wrap)�PKCS7)�InvalidCEKeyLength)�InvalidJWAAlgorithm)�InvalidJWEKeyLength)�InvalidJWEKeyType)�InvalidJWEOperation)�base64url_decode�base64url_encode)�json_decode)�JWKi @ c @ sh e Zd Zeedd� ��Zeedd� ��Zeedd� ��Zeedd� ��Zeed d
� ��Z edd� �Z
d
S )�JWAAlgorithmc C s dS )zThe algorithm NameN� ��selfr r �0/usr/lib/python3.9/site-packages/jwcrypto/jwa.py�name$ s zJWAAlgorithm.namec C s dS )zA short descriptionNr r! r r r# �description) s zJWAAlgorithm.descriptionc C s dS )zThe algorithm key sizeNr r! r r r# �keysize. s zJWAAlgorithm.keysizec C s dS )zOne of 'alg', 'enc' or 'JWK'Nr r! r r r# �algorithm_usage_location3 s z%JWAAlgorithm.algorithm_usage_locationc C s dS )zOne of 'sig', 'kex', 'enc'Nr r! r r r# �
algorithm_use8 s zJWAAlgorithm.algorithm_usec C s&