�
A��g~) � �� � d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl m
Z
d dl mZ d dl
mZmZ d dlmZ d dlmZ d d lmZmZ d d
lmZ d dlmZmZmZmZmZmZm Z m!Z!m"Z" d dl#m$Z$m%Z% d d
l&m'Z'm(Z(m)Z)m*Z* ej+ ddd�� � Z,d�d�Z-d�d�Z. G d� de/� � Z0 G d� de/� � Z1 G d� dej2 �� � Z3 G d � d!� � Z4 G d"� d#e3� � Z5 G d$� d%e3� � Z6 G d&� d'e3� � Z7 G d(� d)e3� � Z8 G d*� d+e3� � Z9 G d,� d-� � Z: G d.� d/e3� � Z; G d0� d1e3� � Z< G d2� d3e3� � Z= G d4� d5e3� � Z> G d6� d7� � Z? G d8� d9ej@ � � ZAeAjB eAjC eAjD eAjE eAjF eAjG eAjH eAjI d:�ZJeAjB d;eAjC d<eAjD d=eAjE d>eAjF d?eAjG d@eAjH dAeAjI dBiZKeAjL d eAjB d;eAjC d<eAjD d=eAjE d>eAjF d?eAjG d@eAjM dBeAjH dCeAjI dDi
ZN G dE� dFe3� � ZO G dG� dHe3� � ZP G dI� dJ� � ZQ G dK� dL� � ZR G dM� dN� � ZS G dO� dPe3� � ZT G dQ� dRe3� � ZU G dS� dTe3� � ZV G dU� dVe3� � ZW G dW� dXej@ � � ZXdY� eXD � � ZY G dZ� d[e3� � ZZ G d\� d]e3� � Z[ G d^� d_e3� � Z\ G d`� daej] e, � � Z^ G db� dc� � Z_ G dd� dee3� � Z` G df� dge3� � Za G dh� die3� � Zb G dj� dke3� � Zc G dl� dme3� � Zd G dn� doe3� � Ze G dp� dqe3� � Zf G dr� dse3� � Zg G dt� due3� � Zh G dv� dwe3� � Zi G dx� dye3� � Zj G dz� d{� � Zk G d|� d}� � Zl G d~� d� � Zm G d�� d�e3� � Zn G d�� d�e3� � ZodS )�� )�annotationsN)�utils)�asn1)�x509)�
constant_time�
serialization)�EllipticCurvePublicKey)�RSAPublicKey)�CertificateIssuerPublicKeyTypes�CertificatePublicKeyTypes)�SignedCertificateTimestamp) �
DirectoryName�DNSName�GeneralName� IPAddress� OtherName�RegisteredID�
RFC822Name�UniformResourceIdentifier�_IPAddressTypes)�Name�RelativeDistinguishedName)�CRLEntryExtensionOID�ExtensionOID�ObjectIdentifier�OCSPExtensionOID�ExtensionTypeVar�
ExtensionTypeT)�bound� covariant�
public_keyr �return�bytesc � � t | t � � r5| � t j j t j j � � }n�t | t � � r5| � t j j t j j
� � }nH| � t j j t j j � � }t j
|� � }t j |� � � � � S �N)�
isinstancer
�public_bytesr �Encoding�DER�PublicFormat�PKCS1r �X962�UncompressedPoint�SubjectPublicKeyInfor �parse_spki_for_data�hashlib�sha1�digest)r! �data�
serializeds �l/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/cryptography/x509/extensions.py�_key_identifier_from_public_keyr6 2 s� � � �*�l�+�+� 4��&�&��"�&��&�,�
�
���
�J� 6� 7� 7� 4��&�&��"�'��&�8�
�
��� �,�,��"�&��&�;�
�
�
� �'�
�3�3���<����$�$�&�&�&� �
field_name�strc �. � � d� fd�}� fd�}� fd�}|||fS )Nr"