JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/acme/__pycache__/messages.cpython-39.opt-1.pyc

a

}|�g�f�@sTdZddlmZddlZddlZddlmZddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddlm
Z
ddlmZdd
lmZddlZddlmZddlmZddlmZddlmZddlmZdZddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.�Zid/d0�e��D��Zeed1�d2d3�ZGd4d5�d5eje�Z Gd6d7�d7e �Z!e!d8�Z"e!d9�Z#Gd:d;�d;ej$�Z%Gd<d=�d=ej$ej&�Z&Gd>d?�d?e �Z'e'd@�Z(e'dA�Z)e'dB�Z*e'dC�Z+e'dD�Z,e'dE�Z-e'dF�Z.e'dG�Z/GdHdI�dIej�Z0GdJdK�dKej$�Z1GdLdM�dMe1�Z2GdNdO�dOej$�Z3GdPdQ�dQ�Z4edRdSdT�Z5GdUdS�dSe3�Z6GdVdW�dWe6�Z7GdXdY�dYe6�Z8GdZd[�d[e2�Z9Gd\d]�d]e3�Z:Gd^d_�d_e1�Z;Gd`da�dae3�Z<Gdbdc�dce<�Z=Gddde�dee<�Z>Gdfdg�dge2�Z?Gdhdi�diej$�Z@Gdjdk�dke2�ZAGdldm�dmej$�ZBGdndo�doe3�ZCGdpdq�dqe2�ZDGdrds�dseC�ZEdS)tzACME protocol messages.�)�HashableN)�Any)�Dict)�Iterator)�List)�Mapping)�MutableMapping)�Optional)�Tuple)�Type)�TypeVar)�
challenges)�errors)�fields)�jws)�utilzurn:ietf:params:acme:error:z4The request specified an account that does not existzOThe request specified a certificate to be revoked that has already been revokedz2The CSR is unacceptable (e.g., due to a short key)z1The client sent an unacceptable anti-replay noncez>The JWS was signed by a public key the server does not supportz;The revocation reason provided is not allowed by the serverz@The JWS was signed with an algorithm the server does not supportz\Certification Authority Authorization (CAA) records forbid the CA from issuing a certificatezBSpecific error conditions are indicated in the "subproblems" arrayz?The server could not connect to the client to verify the domainzAThere was a problem with a DNS query during identifier validationz4The server could not validate a DNSSEC signed domainz;Response received didn't match the challenge's requirementsz1The provided email for a registration was invalidz$The provided contact URI was invalidz!The request message was malformedz9The server will not issue certificates for the identifierzLThe request attempted to finalize an order that is not ready to be finalizedz,There were too many requests of a given typez(The server experienced an internal errorz=The server experienced a TLS error during domain verificationz)The client lacks sufficient authorizationz@A contact URL for an account used an unsupported protocol schemez*The server could not resolve a domain namez'An identifier is of an unsupported typez,The server requires external account binding)ZaccountDoesNotExistZalreadyRevokedZbadCSRZbadNonceZbadPublicKeyZbadRevocationReasonZbadSignatureAlgorithmZcaaZcompoundZ
connection�dnsZdnssecZincorrectResponseZinvalidEmailZinvalidContactZ	malformedZrejectedIdentifierZ
orderNotReadyZrateLimitedZserverInternalZtlsZunauthorizedZunsupportedContactZunknownHostZunsupportedIdentifier�externalAccountRequiredcCsi|]\}}t||�qS�)�ERROR_PREFIX)�.0�nameZdescrr�1/usr/lib/python3.9/site-packages/acme/messages.py�
<dictcomp>;sr)�err�returncCs"t|t�r|jdurt|jvSdS)z#Check if argument is an ACME error.NF)�
isinstance�Error�typr)rrrr�
is_acme_error@s
rcs�eZdZUdZdZeZeedfe	d<edd��fdd�Z
ed�d	d
�Zeedd�dd
��Z
ed�dd�Zeed�dd�Zed�dd�Z�ZS)�	_ConstantzACME constant.�r�POSSIBLE_NAMESN�rrcst���||j|<||_dS�N)�super�__init__r"r��selfr��	__class__rrr&Ls

z_Constant.__init__�rcCs|jSr$r!�r(rrr�to_partial_jsonQsz_Constant.to_partial_json��jobjrcCs&||jvrt�|j�d���|j|S)Nz not recognized)r"�joseZDeserializationError�__name__��clsr/rrr�	from_jsonTs
z_Constant.from_jsoncCs|jj�d|j�d�S)N�(�))r*r1rr,rrr�__repr__Zsz_Constant.__repr__)�otherrcCst|t|��o|j|jkSr$)r�typer)r(r8rrr�__eq__]sz_Constant.__eq__cCst|j|jf�Sr$)�hashr*rr,rrr�__hash__`sz_Constant.__hash__)r1�
__module__�__qualname__�__doc__�	__slots__�NotImplementedr"r�str�__annotations__r&r-�classmethodr4r7r�boolr:�intr<�
__classcell__rrr)rr Gs
r c@s&eZdZUdZiZeeefed<dS)�IdentifierTypezACME identifier type.r"N�	r1r=r>r?r"rrBr rCrrrrrHds
rHr�ipc@s<eZdZUdZejdejd�Zee	d<e�d�Z
ee	d<dS)�
IdentifierzJACME identifier.

    :ivar IdentifierType typ:
    :ivar str value:

    r9��decoderr�valueN)r1r=r>r?r0�fieldrHr4rrCrNrBrrrrrKms
rKc@seZdZUdZejdddd�Zeed<ejddd�Z	eed<ejd	dd�Z
eed	<ejd
ejdd�Z
eded
<ejd
dd�Zeeded
<ejeeeefedd�dd��Zeeedd�dd��Zeeed�dd��Zeeed�dd��Zeedd�dd�Zed�dd�ZdS) ra�ACME error.

    https://datatracker.ietf.org/doc/html/rfc7807

    Note: Although Error inherits from JSONObjectWithFields, which is immutable,
    we add mutability for Error to comply with the Python exception API.

    :ivar str typ:
    :ivar str title:
    :ivar str detail:
    :ivar Identifier identifier:
    :ivar tuple subproblems: An array of ACME Errors which may be present when the CA
            returns multiple errors related to the same request, `tuple` of `Error`.

    r9Tzabout:blank��	omitempty�defaultr�title�rQ�detail�
identifier�rMrQrK�subproblems)r.�rNrcCstdd�|D��S)Ncss|]}t�|�VqdSr$)rr4)r�
subproblemrrr�	<genexpr>��z$Error.subproblems.<locals>.<genexpr>��tuple�rNrrrrX�szError.subproblems)�code�kwargsrcKs.|tvrtd|��t|}|fd|i|��S)z�Create an Error instance with an ACME Error code.

        :str code: An ACME error code, like 'dnssec'.
        :kwargs: kwargs to pass to Error.

        z4The supplied code: %s is not a known ACME error coder)�ERROR_CODES�
ValueErrorr)r3r`rarrrr�	with_code�s�zError.with_coder+cCst�|j�S)z�Hardcoded error description based on its type.

        :returns: Description if standard ACME error or ``None``.
        :rtype: str

        )�ERROR_TYPE_DESCRIPTIONS�getrr,rrr�description�szError.descriptioncCs(t|j�jddd�d}|tvr$|SdS)z�ACME error code.

        Basically self.typ without the ERROR_PREFIX.

        :returns: error code if standard ACME code or ``None``.
        :rtype: str

        �:�)�maxsplit���N)rBr�rsplitrb)r(r`rrrr`�s
z
Error.codeN)rrNrcCst�|||�Sr$)�object�__setattr__)r(rrNrrrrn�szError.__setattr__cCstd�dd�|j|j|j|jfD����}|jrBd|jj�d�|}|jrpt	|j�dkrp|jD]}|d|��7}q\|S)Ns :: css"|]}|dur|�dd�VqdS)N�ascii�backslashreplace��encode)r�partrrrr[�s�z Error.__str__.<locals>.<genexpr>zProblem for z: r�
)
�joinrrgrUrS�decoderVrNrX�len)r(�resultrZrrr�__str__�s
�
z
Error.__str__)r1r=r>r?r0rOrrBrCrSrUrKr4rVr	rXr
rMrrrrDrd�propertyrgr`rnryrrrrrxs$
�"	rc@s&eZdZUdZiZeeefed<dS)�StatuszACME "status" field.r"NrIrrrrr{�s
r{�unknown�pendingZ
processingZvalidZinvalidZrevokedZreadyZdeactivatedc@s�eZdZdZGdd�dej�Zeee	fdd�dd�Z
ee	d�d	d
�Zee	d�dd�Ze
ee	fd
�dd�Zeeee	fdd�dd��ZdS)�	DirectoryzmDirectory.

    Directory resources must be accessed by the exact field name in RFC8555 (section 9.7.5).
    cs�eZdZUdZejddd�Zeed<ejddd�Z	eed<ejddd�Z
eeed<ejd	dd�Ze
ed
<edd��fd
d�Zeed�dd��Zeed��fdd�Zeed�dd�Z�ZS)zDirectory.MetazDirectory Meta.ZtermsOfServiceTrT�_terms_of_service�websiteZ
caaIdentities�caa_identitiesr�external_account_requiredN�rarcs,�fdd�|��D�}t�jfi|��dS)Ncsi|]\}}��|�|�qSr��_internal_name�r�k�vr,rrr�r\z+Directory.Meta.__init__.<locals>.<dictcomp>��itemsr%r&�r(rar)r,rr&�szDirectory.Meta.__init__r+cCs|jS)zURL for the CA TOS)rr,rrr�terms_of_service�szDirectory.Meta.terms_of_servicec#s.t���D]}|dkr"|dd�n|Vq
dS)Nrri�r%�__iter__r'r)rrr��szDirectory.Meta.__iter__r#cCs|dkrd|S|S)Nr��_rr'rrrr��szDirectory.Meta._internal_name)r1r=r>r?r0rOrrBrCr�r�rr�rErr&rzr�rr�r�rGrrr)r�Meta�s
r�Nr.cCs
||_dSr$)�_jobj�r(r/rrrr&�szDirectory.__init__r#c
Cs@z
||WSty:}ztt|���WYd}~n
d}~00dSr$)�KeyError�AttributeErrorrB)r(r�errorrrr�__getattr__s
zDirectory.__getattr__cCs4z|j|WSty.td|�d���Yn0dS)NzDirectory field "z" not found)r�r�r'rrr�__getitem__szDirectory.__getitem__r+cCst�|jdd��S)NcSs|Sr$r)r�rrr�<lambda>
r\z+Directory.to_partial_json.<locals>.<lambda>)rZmap_keysr�r,rrrr-szDirectory.to_partial_jsoncCs |j�|�di��|d<||�S)N�meta)r�r4�popr2rrrr4szDirectory.from_json)r1r=r>r?r0�JSONObjectWithFieldsr�rrBrr&r�r�rr-rDrr4rrrrr~�sr~c@s$eZdZUdZe�d�Zded<dS)�ResourcezOACME Resource.

    :ivar acme.messages.ResourceBody body: Resource body.

    �body�ResourceBodyN)r1r=r>r?r0rOr�rCrrrrr�s
r�c@s$eZdZUdZe�d�Zeed<dS)�ResourceWithURIzKACME Resource with URI.

    :ivar str uri: Location of the resource.

    �uriN)	r1r=r>r?r0rOr�rBrCrrrrr�s
r�c@seZdZdZdS)r�zACME Resource Body.N�r1r=r>r?rrrrr�'sr�c@s4eZdZdZeejeeee	ee
fd�dd��ZdS)�ExternalAccountBindingzACME External Account Binding)�account_public_key�kid�hmac_key�	directoryrc	CsRt�|�����}tj�|�}|d}tj�	|tj
j|d�tjj
d||�}|��S)zLCreate External Account Binding Resource from contact details, kid and hmac.Z
newAccount)�keyN)�json�dumpsr-rrr0Zb64Z	b64decoderZJWS�signZjwkZJWKOctZjwaZHS256)	r3r�r�r�r�Zkey_jsonZdecoded_hmac_key�urlZeabrrr�	from_data.s�z ExternalAccountBinding.from_dataN)r1r=r>r?rDr0�JWKrBr~rrr�rrrrr�+s
�r��GenericRegistration�Registration)�boundc	s�eZdZUdZejddejjd�Zeje	d<ejdddd�Z
eedfe	d<ejd	dd
�Z
ee	d	<ejddd
�Zee	d<ejddd
�Zee	d
<ejddd
�Zee	d<ejddd
�Zeeefe	d<dZdZed*eeeeeeeeeefeed�dd��Zedd��fdd�Zeeedfd�dd�Zeeefeeefd�dd �Zeeefd!��fd"d#�Z eeefd!��fd$d%�Z!e"eedfd!�d&d'��Z#e"eedfd!�d(d)��Z$�Z%S)+r�z�Registration Resource Body.

    :ivar jose.JWK key: Public key.
    :ivar tuple contact: Contact information following ACME spec,
        `tuple` of `str`.
    :ivar str agreement:

    r�T�rQrM�contactrrP.�	agreementrT�statusZtermsOfServiceAgreed�terms_of_service_agreedZonlyReturnExisting�only_return_existingZexternalAccountBinding�external_account_bindingztel:zmailto:N)r3�phone�emailr�rarcs�d|v}t|�dd��}|dur0|��j|�|durV|��fdd�|�d�D��|s^|rjt|�|d<|rv||d<�fi|��S)a
        Create registration resource from contact details.

        The `contact` keyword being passed to a Registration object is meaningful, so
        this function represents empty iterables in its kwargs by passing on an empty
        `tuple`.
        r�rNcsg|]}�j|�qSr)�email_prefix)rZmail�r3rr�
<listcomp>pr\z*Registration.from_data.<locals>.<listcomp>�,r�)�listr��append�phone_prefix�extend�splitr^)r3r�r�r�raZcontact_provided�detailsrr�rr�[szRegistration.from_datar�cs8d|vr"|ddur"t�|dd�t�jfi|��dS)z;Note if the user provides a value for the `contact` member.r�N�_add_contactT)rmrnr%r&r�r)rrr&|szRegistration.__init__)�prefixrcst�fdd�|jD��S)Nc3s(|] }|���r|t��d�VqdSr$)�
startswithrw)rrU�r�rrr[�s
�z/Registration._filter_contact.<locals>.<genexpr>)r^r�)r(r�rr�r�_filter_contact�s�zRegistration._filter_contactr.cCst|dd�r|�d�|d<|S)a�
        The `contact` member of Registration objects should not be required when
        de-serializing (as it would be if the Fields' `omitempty` flag were `False`), but
        it should be included in serializations if it was provided.

        :param jobj: Dictionary containing this Registrations' data
        :type jobj: dict

        :returns: Dictionary containing Registrations data to transmit to the server
        :rtype: dict
        r�Fr�)�getattrrrr�rrr�_add_contact_if_appropriate�sz(Registration._add_contact_if_appropriater+cst���}|�|�S)z2Modify josepy.JSONDeserializable.to_partial_json())r%r-r�r�r)rrr-�s
zRegistration.to_partial_jsoncst���}|�|�S)z;Modify josepy.JSONObjectWithFields.fields_to_partial_json())r%�fields_to_partial_jsonr�r�r)rrr��s
z#Registration.fields_to_partial_jsoncCs|�|j�S)z*All phones found in the ``contact`` field.)r�r�r,rrr�phones�szRegistration.phonescCs|�|j�S)z*All emails found in the ``contact`` field.)r�r�r,rrr�emails�szRegistration.emails)NNN)&r1r=r>r?r0rOr�r4r�rCr�r
rBr�r�r{r�rEr�r�rrr�r�rDrr�r	r�r&r�r�r-r�rzr�r�rGrrr)rr�As<

 ���  c@seZdZdZdS)�NewRegistrationzNew registration.Nr�rrrrr��sr�c@seZdZdZdS)�UpdateRegistrationzUpdate registration.Nr�rrrrr��sr�c@sVeZdZUdZejdejd�Zee	d<ejddd�Z
ee	d<ejddd�Zee	d<dS)	�RegistrationResourcez�Registration Resource.

    :ivar acme.messages.Registration body:
    :ivar str new_authzr_uri: Deprecated. Do not use.
    :ivar str terms_of_service: URL for the CA TOS.

    r�rL�new_authzr_uriTrTr�N)
r1r=r>r?r0rOr�r4r�rCr�rBr�rrrrr��s
r�cs4eZdZUdZdZejdddd�Zee	d<ejde
jded	�Z
e
e	d<ejd
dd�Zeje	d
<ejdejddd	�Zee	d<edd
��fdd�Zeed��fdd�Zeeefd��fdd�Zeeeefeeefd��fdd��Zeed�dd��Zeed�dd�Zeed��fdd�Z eed�dd �Z!�Z"S)!�
ChallengeBodya>Challenge Resource Body.

    .. todo::
       Confusingly, this has a similar name to `.challenges.Challenge`,
       as well as `.achallenges.AnnotatedChallenge`. Please use names
       such as ``challb`` to distinguish instances of this class from
       ``achall``.

    :ivar acme.challenges.Challenge: Wrapped challenge.
        Conveniently, all challenge fields are proxied, i.e. you can
        call ``challb.x`` to get ``challb.chall.x`` contents.
    :ivar acme.messages.Status status:
    :ivar datetime.datetime validated:
    :ivar messages.Error error:

    )�challr�TNrP�_urlr�)rMrQrR�	validatedrTr�r�cs,�fdd�|��D�}t�jfi|��dS)Ncsi|]\}}��|�|�qSrr�r�r,rrr�r\z*ChallengeBody.__init__.<locals>.<dictcomp>r�r�r)r,rr&�szChallengeBody.__init__r#cst��|�|��Sr$)r%rrr�r'r)rrrr�szChallengeBody.encoder+cst���}|�|j���|Sr$)r%r-�updater�r�r)rrr-�s
zChallengeBody.to_partial_jsonr.cs t��|�}tj�|�|d<|S)Nr�)r%�fields_from_jsonr
Z	Challenger4)r3r/Zjobj_fieldsr)rrr��szChallengeBody.fields_from_jsoncCs|jS)zThe URL of this challenge.)r�r,rrrr��szChallengeBody.uricCst|j|�Sr$)r�r�r'rrrr��szChallengeBody.__getattr__c#s&t���D]}|dkrdn|Vq
dS)Nr�r�r�r'r)rrr��szChallengeBody.__iter__cCs|dkrdS|S)Nr�r�rr'rrrr�szChallengeBody._internal_name)#r1r=r>r?r@r0rOr�rBrCr{r4�STATUS_PENDINGr�r�rfc3339r��datetimerr�rr&rrrr-rDrr�rzr�r�rr�r�rGrrr)rr��s(

�
�&r�c@sNeZdZUdZejdejd�Zee	d<e�d�Z
ee	d<eed�dd��Z
dS)	�ChallengeResourcez�Challenge Resource.

    :ivar acme.messages.ChallengeBody body:
    :ivar str authzr_uri: URI found in the 'up' ``Link`` header.

    r�rL�
authzr_urir+cCs|jjS)zThe URL of the challenge body.)r�r�r,rrrr�szChallengeResource.uriN)r1r=r>r?r0rOr�r4r�rCr�rBrzr�rrrrr�s

r�c@s�eZdZUdZejdejdd�Zee	d<ejddd�Z
eee	d<ejdde
jd�Ze
e	d<ejd	dd�Zeje	d	<ejd
dd�Zee	d
<e
jeeeefeedfd�d
d��Z
dS)�
Authorizationz�Authorization Resource Body.

    :ivar acme.messages.Identifier identifier:
    :ivar list challenges: `list` of `.ChallengeBody`
    :ivar acme.messages.Status status:
    :ivar datetime.datetime expires:

    rVTrWr
rTr�r��expires�wildcard.rYcCstdd�|D��S)Ncss|]}t�|�VqdSr$)r�r4)rr�rrrr[,r\z+Authorization.challenges.<locals>.<genexpr>r]r_rrrr
*szAuthorization.challengesN)r1r=r>r?r0rOrKr4rVrCr
rr�r{r�rr�r�r�r�rErMrrBrr
rrrrr�s
r�c@seZdZdZdS)�NewAuthorizationzNew authorization.Nr�rrrrr�/sr�c@seZdZdZdS)�UpdateAuthorizationzUpdate authorization.Nr�rrrrr�3sr�c@s@eZdZUdZejdejd�Zee	d<ejddd�Z
ee	d<dS)�AuthorizationResourcez~Authorization Resource.

    :ivar acme.messages.Authorization body:
    :ivar str new_cert_uri: Deprecated. Do not use.

    r�rL�new_cert_uriTrTN)r1r=r>r?r0rOr�r4r�rCr�rBrrrrr�7s
r�c@s0eZdZUdZejdejejd�Zej	e
d<dS)�CertificateRequestz~ACME newOrder request.

    :ivar jose.ComparableX509 csr:
        `OpenSSL.crypto.X509Req` wrapped in `.ComparableX509`

    �csr�rM�encoderN)r1r=r>r?r0rOZ
decode_csrZ
encode_csrr��ComparableX509rCrrrrr�Bs
r�c@s>eZdZUdZe�d�Zeed<e�d�Z	e
edfed<dS)�CertificateResourceaCertificate Resource.

    :ivar josepy.util.ComparableX509 body:
        `OpenSSL.crypto.X509` wrapped in `.ComparableX509`
    :ivar str cert_chain_uri: URI found in the 'up' ``Link`` header
    :ivar tuple authzrs: `tuple` of `AuthorizationResource`.

    �cert_chain_uri�authzrs.N)r1r=r>r?r0rOr�rBrCr�r
r�rrrrr�Ls
r�c@sBeZdZUdZejdejejd�Zej	e
d<e�d�Zee
d<dS)�
Revocationz�Revocation message.

    :ivar jose.ComparableX509 certificate: `OpenSSL.crypto.X509` wrapped in
        `jose.ComparableX509`

    �certificater��reasonN)
r1r=r>r?r0rOZdecode_certZencode_certr�r�rCr�rFrrrrr�Ys


�r�c@s�eZdZUdZejddd�Zeee	d<ejde
jdd�Ze
e	d<ejddd�Z
eee	d<ejddd�Zee	d<ejd	dd�Zee	d	<ejd
dd�Zeje	d
<ejddejd�Zee	d<ejeeeefeed
fd�dd��ZdS)�Ordera_Order Resource Body.

    :ivar identifiers: List of identifiers for the certificate.
    :vartype identifiers: `list` of `.Identifier`
    :ivar acme.messages.Status status:
    :ivar authorizations: URLs of authorizations.
    :vartype authorizations: `list` of `str`
    :ivar str certificate: URL to download certificate as a fullchain PEM.
    :ivar str finalize: URL to POST to to request issuance once all
        authorizations have "valid" status.
    :ivar datetime.datetime expires: When the order expires.
    :ivar ~.Error error: Any error that occurred during finalization, if applicable.
    �identifiersTrTr�rW�authorizationsr��finalizer�r�r�.rYcCstdd�|D��S)Ncss|]}t�|�VqdSr$)rKr4)rrVrrrr[r\z$Order.identifiers.<locals>.<genexpr>r]r_rrrr�}szOrder.identifiersN)r1r=r>r?r0rOr�rrKrCr{r4r�r�rBr�r�rr�r�r�rr�rMrrr
rrrrr�es

r�c@s�eZdZUdZejdejd�Zee	d<ejdddd�dd�d	�Z
ee	d<e�d
�Ze
ee	d
<ejddd�Zee	d<ejd
dd�Ze
ee	d
<eje
eeefeedfd�dd��ZdS)�
OrderResourcea�Order Resource.

    :ivar acme.messages.Order body:
    :ivar bytes csr_pem: The CSR this Order will be finalized with.
    :ivar authorizations: Fully-fetched AuthorizationResource objects.
    :vartype authorizations: `list` of `acme.messages.AuthorizationResource`
    :ivar str fullchain_pem: The fetched contents of the certificate URL
        produced once the order was finalized, if it's present.
    :ivar alternative_fullchains_pem: The fetched contents of alternative certificate
        chain URLs produced once the order was finalized, if present and requested during
        finalization.
    :vartype alternative_fullchains_pem: `list` of `str`
    r�rL�csr_pemTcCs
|�d�S�Nzutf-8rq)�srrrr��r\zOrderResource.<lambda>cCs
|�d�Sr�)rv)�brrrr��r\)rQrMr�r��
fullchain_pemrT�alternative_fullchains_pem.rYcCstdd�|D��S)Ncss|]}t�|�VqdSr$)r�r4)rZauthzrrrr[�r\z/OrderResource.authorizations.<locals>.<genexpr>r]r_rrrr��szOrderResource.authorizationsN)r1r=r>r?r0rOr�r4r�rCr��bytesr�rr�r�rBr�rMrrr
rrrrr��s

��r�c@seZdZdZdS)�NewOrderz
New order.Nr�rrrrr��sr�)Fr?�collections.abcrr�r��typingrrrrrrr	r
rrZjosepyr0Zacmer
rrrrrrbr�re�
BaseExceptionrErZJSONDeSerializabler rHZIDENTIFIER_FQDNZ
IDENTIFIER_IPr�rKrr{ZSTATUS_UNKNOWNr�ZSTATUS_PROCESSINGZSTATUS_VALIDZSTATUS_INVALIDZSTATUS_REVOKEDZSTATUS_READYZSTATUS_DEACTIVATEDr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�<module>s��!�W7		m
A

&
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg