File: //usr/lib/python3/dist-packages/certbot/_internal/plugins/__pycache__/standalone.cpython-312.pyc
�
M/�e|$ � �� � d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlmZ ddlm Z ddlm
Z
ddlmZ dd lmZ dd
lm
Z
ddlmZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ej@ e!� Z"ereejF e
ejH f Z% G d� d� Z& G d� dejN ejP � Z(dejR ddfd�Z*y)zStandalone Authenticator.� N)�Any)�Callable)�DefaultDict)�Dict)�Iterable)�List)�Mapping)�Set)�Tuple)�Type)�
TYPE_CHECKING)�crypto)�
challenges)�
standalone)�achallenges)�errors)�
interfaces)�util)�commonc � � e Zd ZdZdeeeej ej f f de
ej j ddfd�Z d
dedeej$ d edej( fd
�Zdeddfd�Zdeeej( f fd�Zy)�
ServerManagera� Standalone servers manager.
Manager for `ACMEServer` and `ACMETLSServer` instances.
`certs` and `http_01_resources` correspond to
`acme.crypto_util.SSLSocket.certs` and
`acme.crypto_util.SSLSocket.http_01_resources` respectively. All
created servers share the same certificates and resources, so if
you're running both TLS and non-TLS instances, HTTP01 handlers
will serve the same URLs!
�certs�http_01_resources�returnNc �. � i | _ || _ || _ y �N)�
_instancesr r )�selfr r s �F/usr/lib/python3/dist-packages/certbot/_internal/plugins/standalone.py�__init__zServerManager.__init__2 s � � RT�����
�!2��� �port�challenge_type�
listenaddrc � � |t j k( sJ �|| j v r| j | S ||f} t j || j
� }|j � |j � d d }|| j |<