<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-acme-pop-01" category="std" consensus="true" submissionType="IETF" updates="RFC 8555" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="ACME PoP Challenge">Automated Certificate Management Environment (ACME) Extension for Proof-of-Possession</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-acme-pop-01"/>
    <author initials="F." surname="Geng" fullname="Feng Geng">
      <organization>Yinwang Intelligent Technology</organization>
      <address>
        <email>gengfeng@yinwang.com</email>
        <email>507069@qq.com</email>
      </address>
    </author>
    <author initials="P." surname="Wu" fullname="Panyu Wu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>wupanyu3@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Xia" fullname="Liang Xia">
      <organization>Huawei Technologies</organization>
      <address>
        <email>frank.xialiang@huawei.com</email>
      </address>
    </author>
    <author initials="X." surname="Chen" fullname="Xin Chen">
      <organization>TrustAsia</organization>
      <address>
        <email>palos.chen@trustasia.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="01"/>
    <workgroup>Automated Certificate Management Environment Working Group</workgroup>
    <keyword/>
    <keyword/>
    <keyword/>
    <abstract>
      <?line 107?>

<t>The Automated Certificate Management Environment (ACME) protocol <xref target="RFC8555"/> requires a PKCS#10 Certificate Signing Request (CSR) at the finalization stage. This document defines an optional extension that allows a client to prove possession of a private key directly, without constructing a CSR. The extension is motivated by use cases where the CSR-based flow is problematic: KEM-only keys that cannot generate self-signatures, resource-constrained devices that benefit from reduced encoding overhead, and issuance models where the certificate is constructed from order and profile data (e.g., via the ACME Profiles extension <xref target="I-D.ietf-acme-profiles"/>) rather than a client-generated CSR. This is particularly relevant when combined with compact encodings such as C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</t>
      <t>In the "newOrder" request, the client declares the public key via a <tt>popKey</tt> field and includes a <tt>pop</tt> identifier whose value is the empty string. The server creates a dedicated <tt>pop</tt> authorization containing a single <tt>pop-01</tt> challenge, processed using the same state machine as any other ACME authorization. When all authorizations (including the <tt>pop</tt> authorization) are valid, the ACME server issues a certificate using the validated public key and the authorized identifiers, eliminating the need for a CSR at finalization. The extension is additive and strictly optional: clients that do not use it, and servers that do not support it, continue to use the standard CSR-based flow defined in <xref target="RFC8555"/> without any changes.</t>
    </abstract>
  </front>
  <middle>
    <?line 113?>

<section anchor="intro">
      <name>Introduction</name>
      <section anchor="background-and-motivation">
        <name>Background and Motivation</name>
        <t>In the current ACME flow <xref target="RFC8555"/>, the applicant submits a PKCS#10 <xref target="RFC2986"/> CSR at the finalization stage. The CSR carries both the certificate public key and a self-signature over the CSR contents. For a signature-capable key, verification of that self-signature demonstrates possession of the corresponding private key. A KEM-only key cannot create such a signature.</t>
        <t><strong>The core principle underlying this extension is that the order is the authoritative source of the client-declared certificate parameters.</strong> All information that the client contributes to the certificate, identifiers and public key alike, is declared in the order. The remaining certificate fields (subject, validity period, key usage, etc.) are determined by CA policy and any applicable certificate profile; optional extensions such as <xref target="I-D.ietf-acme-profiles"/> enable the client to select a profile that governs these fields.</t>
        <t>This principle is embodied as an <strong>optional</strong> extension to ACME. The existing CSR-based flow remains fully supported and unchanged; clients and servers that do not need CSR-less issuance simply ignore the extension. The extension is optional on purpose: protocol evolution should be additive, not disruptive.</t>
        <t>The principle addresses several distinct challenges in current ACME deployments:</t>
        <ul spacing="normal">
          <li>
            <t><strong>KEM-only keys.</strong>  Key-encapsulation mechanisms (such as ML-KEM <xref target="FIPS-203"/>) cannot produce digital signatures, making CSR self-signatures impossible. The <tt>pop-01</tt> challenge provides a direct ACME proof for such keys without assuming signature capability.</t>
          </li>
          <li>
            <t><strong>Resource-constrained devices.</strong>  Constructing a valid PKCS#10 CSR requires additional ASN.1 structures and signing logic. Avoiding this work can reduce code complexity for constrained clients, while still carrying the certificate public key as a DER-encoded SubjectPublicKeyInfo.</t>
          </li>
          <li>
            <t><strong>Compact certificate encodings.</strong>  C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/> provide a compact CBOR encoding for constrained environments. The CSR-less flow complements C509 by removing the client-side ASN.1/DER encoding step from the certificate request process. This is particularly relevant for C509 certificate type 2 (native CBOR-signed certificates), where the C509 certification request does not include a self-signature mechanism for proof of possession; the <tt>pop</tt> authorization supplies the necessary proof.</t>
          </li>
        </ul>
        <t>This extension is an additive complement to the CSR-based flow, not a replacement; deployments that rely on CSR for integration with HSMs, enterprise CA workflows, or legacy clients continue to operate unchanged. The <tt>pop-01</tt> challenge exists because the order-centric principle offers a cleaner architecture for emerging use cases and because post-quantum cryptography introduces key types incompatible with the CSR self-signature mechanism. This does not imply that CSR or PKCS#10 is flawed; both remain in widespread use.</t>
      </section>
      <section anchor="scope">
        <name>Scope</name>
        <t>This document defines:</t>
        <ul spacing="normal">
          <li>
            <t>A new field <tt>popKey</tt> in the "newOrder" request, through which the client declares the public key to be certified.</t>
          </li>
          <li>
            <t>A new <strong><tt>pop</tt> identifier type</strong> in the ACME Identifier Types registry, whose value is the empty string, used to request a dedicated proof-of-possession authorization.</t>
          </li>
          <li>
            <t>A new <strong><tt>pop-01</tt> challenge type</strong> that is placed exclusively in the <tt>pop</tt> authorization. The challenge contains either a <tt>popNonce</tt> (for signature keys) or a <tt>challenge_ciphertext</tt> (for KEM keys).</t>
          </li>
          <li>
            <t>Two proof-of-possession modes within the <tt>pop-01</tt> challenge: one for signature keys and the other for KEM keys.</t>
          </li>
          <li>
            <t>A finalization stage that accepts an empty JSON object when <strong>all authorizations</strong> (including the <tt>pop</tt> authorization) are valid.</t>
          </li>
        </ul>
        <t>The <tt>pop</tt> authorization is the sole container for the proof-of-possession challenge. The <tt>pop</tt> identifier is a protocol-level marker, not a certificate identifier; it is not encoded in the issued certificate. Its empty value carries neither the public key nor a hash of that key. Its sole purpose is to trigger the creation of a dedicated <tt>pop</tt> authorization.</t>
        <t>This document does not define proof constructions for DH-based KEMs (DHKEM), including those derived from ECDH; such constructions require a separate extension.</t>
        <t>Identifier-control validation (for DNS names, email addresses, etc.) continues to be performed by existing ACME challenge types (dns-01, http-01, tls-alpn-01, email-reply-00, etc.); the <tt>pop-01</tt> challenge solely proves private key possession. <strong>This extension does not modify, overload, or replace any existing challenge type.</strong></t>
        <t>This document does not define integration details for specific certificate encodings such as C509, nor a complete C509 automation solution; C509 appears here as an illustrative use case of the CSR-less flow. Complementary mechanisms for device identity and authorization, such as <tt>device-attest-01</tt> <xref target="I-D.ietf-acme-device-attest"/> or other identifier validation methods, may be needed depending on the deployment scenario.</t>
        <t>This document defines the <tt>popKey</tt> field as a DER-encoded SubjectPublicKeyInfo <xref target="RFC5280"/>. The mapping of this public key representation to non-DER certificate encodings (such as C509 <xref target="I-D.ietf-cose-cbor-encoded-cert"/>) is defined by the respective certificate encoding specifications, not by this document.</t>
      </section>
      <section anchor="relationship-to-other-acme-extensions">
        <name>Relationship to Other ACME Extensions</name>
        <t>This extension is part of a broader evolution of the ACME protocol toward a model where <strong>the order is the authoritative source of client-declared certificate parameters.</strong> Several ongoing and completed ACME working group efforts share and complement this design principle:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Certificate Profiles (draft-ietf-acme-profiles).</strong> Profiles lets a client specify a certificate profile in <tt>newOrder</tt>, so the server constructs the certificate from a predefined profile rather than from the client CSR. The <tt>pop</tt> authorization composes with Profiles: an order may carry both a <tt>profile</tt> and a <tt>pop</tt> identifier, with the CA using the validated <tt>popKey</tt> as the certificate public key under the requested profile.</t>
          </li>
          <li>
            <t><strong>Device Attestation (draft-ietf-acme-device-attest).</strong> Device attestation establishes a device's identity and trusted state; the <tt>pop</tt> authorization proves possession of the certificate key. When CA policy requires both, they are separate authorizations, and both must be <tt>valid</tt> before the order becomes <tt>ready</tt>.</t>
          </li>
          <li>
            <t><strong>Remote Attestation (draft-ietf-acme-rats).</strong> The RATS work provides precedent for an auxiliary identifier type that does not appear in the issued certificate but requests a dedicated authorization. This document follows that pattern with stricter rules for <tt>pop</tt>: exactly one such identifier, an empty value, and mandatory pairing with <tt>popKey</tt>. Section 3.5 specifies the composition rules for <tt>pop</tt> with RATS identifiers.</t>
          </li>
          <li>
            <t><strong>Short-Term, Automatically Renewed (STAR) Certificates (<xref target="RFC8739"/>).</strong> STAR issues short-lived certificates that the CA renews automatically, reissuing from the bootstrap CSR without new CSRs for subsequent renewals. The <tt>pop</tt> authorization extends this by also removing the bootstrap CSR, enabling a fully CSR-less flow for both initial issuance and STAR renewals.</t>
          </li>
          <li>
            <t><strong>Renewal Information (ARI, <xref target="RFC9773"/>).</strong> ARI lets the server suggest renewal timing, shifting scheduling from client-side heuristics to server-side policy. This complements the <tt>pop</tt> authorization's goal of making the order the authoritative source of client-declared certificate parameters by also making the CA the authoritative source of renewal policy.</t>
          </li>
        </ul>
        <t>This extension is designed to be used orthogonally with all of the above. The <tt>pop</tt> authorization provides a unified proof-of-possession mechanism that can be combined with Profiles (for certificate content), Device Attestation or RATS (for device trust), and STAR or ARI (for lifecycle management), without requiring changes to any of those extensions.</t>
        <t>When combined with C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>, the <tt>pop</tt> authorization and device attestation <xref target="I-D.ietf-acme-device-attest"/> form a complementary IoT certificate automation stack: device attestation establishes identity and trusted state, the <tt>pop</tt> authorization proves possession of the certificate private key, and C509 provides compact CBOR encoding for constrained delivery. This combination is illustrative, not exhaustive; deployments may use other identifier validation mechanisms as appropriate. Section 10.3 provides a complete example of this three-layer stack.</t>
        <t>The normative composition rules for combining the <tt>pop</tt> authorization with these extensions are specified in Section 3.5.</t>
      </section>
      <section anchor="protocol-overview">
        <name>Protocol Overview</name>
        <t>The following diagram provides a high-level overview of the <tt>pop-01</tt> protocol interaction:</t>
        <figure anchor="fig-pk-1">
          <name>High-level overview of the pop-01 protocol interaction</name>
          <artwork><![CDATA[
CLIENT                                      SERVER
   |                                          |
   |--- (0) GET /directory ------------------>|
   |<-- meta.popSupported = true -------------|
   |                                          |
   |--- (1) POST /newOrder ------------------>|
   |    identifiers = [dns, pop] + popKey     |
   |                                          | accept and record popKey
   |                                          | (see Section 3.2 for full
   |                                          |  validation details)
   |                                          | create DNS authorization
   |                                          | create pop authorization
   |                                          |   (with pop-01)
   |<-- (2) order: pending -------------------|
   |    identifiers = [dns, pop]              |
   |    authorizations = [dns, pop]           |
   |                                          |
   |--- POST-as-GET /authz/dns -------------->|
   |<-- dns-01 challenge ---------------------|
   |--- POST-as-GET /authz/pop -------------->|
   |<-- pop-01 challenge ---------------------|
   |                                          |
   |--- (3a) complete dns-01 ---------------->|
   |<-- updated dns-01 challenge -------------|
   |--- (3b) POST pop-01 challenge URL ------>|
   |    decoded payload = {"proof":"..."}     |
   |                                          | transition to processing
   |                                          | perform cryptographic validation
   |<-- (3b) updated pop-01 challenge --------|
   |    (status: processing -> valid/invalid) |
   |                                          |
   |--- (3c) POST-as-GET order URL ---------->|
   |<-- order: ready -------------------------|
   |--- (4) finalize; empty object ---------->|
   |<-- (5) order: processing or valid -------|
   |--- (6) POST-as-GET order URL ----------->|
   |<-- order: valid; certificate URL --------|
   |--- (7) POST-as-GET certificate URL ----->|
   |<-- certificate chain --------------------|
]]></artwork>
        </figure>
        <t>After submitting a challenge response, clients MUST poll the challenge URL until it reaches a terminal state (<tt>valid</tt> or <tt>invalid</tt>), observing <tt>processing</tt> if the server validates asynchronously; the server MAY validate synchronously, in which case <tt>processing</tt> may be transient and not observable by the client. POST-as-GET requests are account-key-authenticated JWS POSTs with an empty payload, as specified in <xref target="RFC8555"/>, Section 6.3.</t>
      </section>
      <section anchor="design-philosophy-the-pop-authorization">
        <name>Design Philosophy: The <tt>pop</tt> Authorization</name>
        <t>As stated in Section 1.1, the core principle is that the order is the authoritative source of client-declared certificate parameters. The <tt>pop</tt> authorization implements this principle by introducing a dedicated authorization for proof-of-possession, independent of identifier validation.</t>
        <t>The design introduces <tt>pop</tt> as a new identifier type that requests a dedicated authorization, rather than attaching a challenge to existing certificate-identifier authorizations. The reasons, and the alternatives considered, are analyzed in Appendix A. The main points:</t>
        <ul spacing="normal">
          <li>
            <t><strong>PoP is an independent verification.</strong> Proving possession of a private key is logically independent of proving control over an identifier. The <tt>pop</tt> authorization treats PoP as a verification object in its own right.</t>
          </li>
          <li>
            <t><strong>Orders combine authorizations with AND-semantics.</strong> An ACME order already requires all listed authorizations to be valid; the <tt>pop</tt> authorization is one more item in that list, with no special-case logic.</t>
          </li>
          <li>
            <t><strong>The <tt>pop</tt> authorization is order-specific.</strong> It is not reused across orders (Section 4.3), maintaining the order-specific binding of the proof.</t>
          </li>
        </ul>
        <t>By completing the PoP proof before the order becomes <tt>ready</tt>, the design removes the CSR as a separate, late-binding parameter channel and makes the order the complete specification of the client-declared certificate parameters at <tt>ready</tt> time; the security analysis is in Section 7.1.</t>
      </section>
      <section anchor="updates-to-rfc8555">
        <name>Updates to <xref target="RFC8555"/></name>
        <t>This document updates <xref target="RFC8555"/> in the following respects:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Finalize Payload (Section 6.1):</strong> <xref target="RFC8555"/>, Section 7.4 requires the finalize request payload to contain a <tt>csr</tt> field. This document allows an empty JSON object (<tt>{}</tt>) as the finalize payload when the order contains an accepted <tt>popKey</tt> and <tt>pop</tt> identifier pair, enabling CSR-less certificate issuance.</t>
          </li>
          <li>
            <t><strong>Authorization Reuse (Section 4.3):</strong> <xref target="RFC8555"/>, Section 7.1.3 describes cases where authorizations may be reused across orders. This document defines a new <tt>pop</tt> authorization type that MUST NOT be reused across orders, maintaining the order-specific binding of the proof-of-possession.</t>
          </li>
          <li>
            <t><strong>Identifier Semantics (Sections 3.1, 4.1):</strong> <xref target="RFC8555"/>, Section 7.1.3 assumes that all identifiers in the order's <tt>identifiers</tt> array are certificate identifiers. This document introduces the <tt>pop</tt> identifier type, which is a protocol-level marker rather than a certificate identifier. It does not represent a resource to be bound to the issued certificate and is not encoded in the certificate.</t>
          </li>
        </ol>
        <t>These updates are designed as optional extensions to ACME. The existing CSR-based flow remains fully supported for clients that do not use this extension; the normative changes only apply to orders that explicitly request the CSR-less flow by including a <tt>popKey</tt> and <tt>pop</tt> identifier pair.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<strong>MUST</strong>", "<strong>MUST NOT</strong>", "<strong>REQUIRED</strong>", "<strong>SHALL</strong>", "<strong>SHALL NOT</strong>", "<strong>SHOULD</strong>", "<strong>SHOULD NOT</strong>", "<strong>RECOMMENDED</strong>", "<strong>NOT RECOMMENDED</strong>", "<strong>MAY</strong>", and "<strong>OPTIONAL</strong>" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      <t>This document uses the following terminology:</t>
      <ul spacing="normal">
        <li>
          <t><strong>ACME Client:</strong> An ACME client as defined in <xref target="RFC8555"/>. In this document, "client" and "applicant" (the entity holding the private key to be certified) refer to the same entity.</t>
        </li>
        <li>
          <t><strong>ACME Server:</strong> An ACME server as defined in <xref target="RFC8555"/>, operated by a Certification Authority (CA) or its delegated service.</t>
        </li>
        <li>
          <t><strong><tt>popKey</tt>:</strong> A field in the "newOrder" request through which the client declares the public key requested for the certificate. Its value is the Base64URL encoding (without padding) of the DER-encoded SubjectPublicKeyInfo (SPKI) defined in <xref target="RFC5280"/>, Section 4.1.2.7. Section 3.2 defines server validation and error handling.</t>
        </li>
        <li>
          <t><strong><tt>popSupported</tt>:</strong> A field in the Directory metadata indicating that the server supports the <tt>pop</tt> identifier type, the <tt>pop-01</tt> challenge, and the <tt>popKey</tt> field.</t>
        </li>
        <li>
          <t><strong><tt>pop</tt> identifier:</strong> A protocol-level marker included in the <tt>identifiers</tt> array to request a dedicated proof-of-possession authorization. It is syntactically represented as an identifier type with an empty value, but it is not a certificate identifier. It does not represent a resource to be bound to the issued certificate and MUST NOT appear in the certificate's <tt>subject</tt> or <tt>subjectAltName</tt> extension. Its sole purpose is to trigger the creation of a dedicated <tt>pop</tt> authorization.</t>
        </li>
        <li>
          <t><strong><tt>pop</tt> authorization:</strong> An ACME Authorization object whose identifier type is <tt>pop</tt> and whose value is the empty string. This authorization corresponds to the <tt>pop</tt> identifier in the order's <tt>identifiers</tt> array, maintaining the one-to-one mapping required by <xref target="RFC8555"/>, Section 7.1.3. Its URL appears in the order's <tt>authorizations</tt> array at the same position as the <tt>pop</tt> identifier.</t>
        </li>
        <li>
          <t><strong><tt>pop-01</tt> challenge:</strong> A challenge type defined in this document. It proves possession of the private key corresponding to the public key declared in the order's <tt>popKey</tt> field. The challenge object contains either a <tt>popNonce</tt> (for signature keys) or a <tt>challenge_ciphertext</tt> (for KEM keys).</t>
        </li>
        <li>
          <t><strong>Certificate Identifier:</strong> An ACME identifier whose defining specification and the applicable certificate profile determine its representation or binding in the issued certificate. The auxiliary <tt>pop</tt> identifier is not a certificate identifier.</t>
        </li>
        <li>
          <t><strong>PoP Key:</strong> The public key whose possession is being proved, encoded in the <tt>key</tt> field of the <tt>pop-01</tt> challenge object. Its value is byte-identical to the <tt>popKey</tt> provided in the "newOrder" request.</t>
        </li>
        <li>
          <t><strong>Signature key:</strong> An asymmetric key capable of digital signature operations (e.g., ECDSA, Ed25519, RSASSA-PSS, ML-DSA, SLH-DSA).</t>
        </li>
        <li>
          <t><strong>KEM key:</strong> An asymmetric key capable of Key Encapsulation Mechanism operations (e.g., ML-KEM). This document defines the construction for the KEM algorithms specified here; a DHKEM or ECDH construction is outside its scope.</t>
        </li>
        <li>
          <t><strong>Proof of Possession (PoP):</strong> A cryptographic mechanism by which the requester proves possession of the private key corresponding to a declared public key. For signature keys, the PoP is a signature over challenge material; for KEM keys, it is a MAC derived from a shared secret obtained through KEM decapsulation.</t>
        </li>
        <li>
          <t><strong>raw_newOrder:</strong> The exact octet sequence obtained by Base64URL-decoding the JWS <tt>payload</tt> member of the "newOrder" request, before JSON parsing.</t>
        </li>
        <li>
          <t><strong>newOrder_hash:</strong> SHA-256 <xref target="RFC6234"/> (raw_newOrder).</t>
        </li>
        <li>
          <t><strong>Base64URL encoding:</strong> All Base64URL encodings in this document use the unpadded form (base64url-without-padding, per <xref target="RFC7515"/>, Section 2), consistent with ACME <xref target="RFC8555"/> and the JOSE ecosystem. Padding and whitespace are not part of this encoding.</t>
        </li>
      </ul>
    </section>
    <section anchor="declaring-the-public-key-the-popkey-field">
      <name>Declaring the Public Key: the <tt>popKey</tt> Field</name>
      <section anchor="the-popkey-field-in-neworder">
        <name>The <tt>popKey</tt> Field in <tt>newOrder</tt></name>
        <t>The <tt>popKey</tt>/<tt>pop-01</tt> flow enables certificate requests for key types that cannot produce CSR self-signatures, such as KEM keys. Clients using signature-capable keys and able to construct CSRs can instead use the standard flow described in <xref target="RFC8555"/>. Before creating an order, a client can use the <tt>popSupported</tt> field in the Directory metadata (Section 3.4) to discover whether the server supports this flow.</t>
        <t>A client that wishes to use the CSR-less flow declares the public key to be certified by including a <tt>popKey</tt> field and exactly one <tt>pop</tt> identifier in the decoded JWS payload of the "newOrder" request:</t>
        <artwork><![CDATA[
{
  "identifiers": [
    { "type": "dns", "value": "example.com" },
    { "type": "pop", "value": "" }
  ],
  "popKey": "<base64url(DER-encoded SPKI)>"
}
]]></artwork>
        <t>As required by <xref target="RFC8555"/>, the client sends these payload octets in an account-key-authenticated JWS with media type <tt>application/jose+json</tt>.</t>
        <t>Field description:</t>
        <ul spacing="normal">
          <li>
            <t><strong>popKey</strong> (OPTIONAL): The Base64URL encoding (without padding) of the DER-encoded SubjectPublicKeyInfo (SPKI) defined in <xref target="RFC5280"/>, Section 4.1.2.7 for the public key to be certified.</t>
          </li>
        </ul>
        <t>The <tt>popKey</tt> field and the <tt>pop</tt> identifier are paired. A client MUST include exactly one <tt>popKey</tt> member and exactly one <tt>pop</tt> identifier, or omit both. When present, the <tt>pop</tt> identifier's <tt>value</tt> MUST be the empty string, and the <tt>identifiers</tt> array MUST also contain at least one certificate identifier. A client MUST NOT use <tt>pop</tt> in a <tt>newAuthz</tt> request. This document does not define issuance for an order whose only identifier is <tt>pop</tt>.</t>
        <t>The <tt>popKey</tt> field is not itself an identifier; it declares the public key requested for the certificate. The <tt>pop</tt> identifier requests a separate proof-of-possession authorization but carries no public key, SPKI hash, or other lookup value. The public key is conveyed only by <tt>popKey</tt> and echoed by the challenge's <tt>key</tt> field.</t>
      </section>
      <section anchor="server-processing-of-popkey">
        <name>Server Processing of <tt>popKey</tt></name>
        <t>If neither <tt>popKey</tt> nor a <tt>pop</tt> identifier is present, the server processes the request according to <xref target="RFC8555"/> and other applicable extensions. A server implementing this specification MUST reject the request with <tt>urn:ietf:params:acme:error:malformed</tt> if it contains only one member of the pair, more than one <tt>popKey</tt> member, more than one <tt>pop</tt> identifier, a <tt>pop</tt> identifier whose value is not the empty string, or no certificate identifier. It MUST reject <tt>pop</tt> in a <tt>newAuthz</tt> request with <tt>urn:ietf:params:acme:error:malformed</tt>, because this identifier type is supported only as part of an order and cannot be pre-authorized.</t>
        <t>Upon receiving a "newOrder" request with a valid <tt>popKey</tt> and a <tt>pop</tt> identifier in the <tt>identifiers</tt> array, a server that accepts the request:</t>
        <ol spacing="normal" type="1"><li>
            <t>MUST validate that the <tt>popKey</tt> value decodes to a well-formed SPKI encoded using the Distinguished Encoding Rules (DER) specified in <xref target="X.690"/>, and that it contains no non-Base64URL characters or whitespace.</t>
          </li>
          <li>
            <t>MUST verify that the AlgorithmIdentifier, algorithm-specific public key encoding and length, and key parameters are supported for proof-of-possession and satisfy CA policy. For an ML-KEM <tt>popKey</tt>, the server MUST apply the encapsulation-key type check and the modulus check specified in <xref target="FIPS-203"/>, Section 7.2 (ML-KEM.Encaps), to the raw <tt>subjectPublicKey</tt> octets. If either ML-KEM check fails, the server MUST NOT invoke ML-KEM.Encaps and MUST reject the "newOrder" request with <tt>urn:ietf:params:acme:error:badPopKey</tt> without committing any order, authorization, or challenge state.</t>
          </li>
          <li>
            <t>MUST verify that the public key in <tt>popKey</tt> differs from the account public key of the ACME account placing the order. If the keys are identical, the server MUST reject the request with <tt>urn:ietf:params:acme:error:badPopKey</tt>. Equality is determined by byte-for-byte comparison of canonical DER-encoded SubjectPublicKeyInfo. The server MUST first convert the account public key to its canonical DER SPKI form per <xref target="RFC5280"/> and <xref target="RFC5480"/>, then compare the resulting octets with the decoded <tt>popKey</tt> octets. Canonicalization ensures that different valid encodings of the same cryptographic key are treated as equal. The account key authenticates ACME protocol messages; using it also as the certificate key would conflate two distinct security domains.</t>
          </li>
          <li>
            <t>MUST reject the "newOrder" request with <tt>urn:ietf:params:acme:error:badPopKey</tt> if any syntax, algorithm, parameter, or account-key validation fails. The problem detail SHOULD identify the incompatibility without exposing sensitive server policy.</t>
          </li>
          <li>
            <t>MAY reject an otherwise valid request with <tt>urn:ietf:params:acme:error:popKeyRejectedByPolicy</tt> when the account or request is not authorized for CSR-less issuance.</t>
          </li>
          <li>
            <t>MUST atomically store the accepted <tt>popKey</tt> value and <tt>newOrder_hash</tt> as order data. When the order contains an auto-renewal object, the stored popKey MUST be retained for the duration of the STAR order's active lifetime and MUST be used for all automatic renewals under that order.</t>
          </li>
          <li>
            <t>MUST retain the client-supplied <tt>pop</tt> identifier in the order's immutable <tt>identifiers</tt> array.</t>
          </li>
          <li>
            <t>MUST create exactly one <tt>pop</tt> authorization for the <tt>pop</tt> identifier. The server MUST maintain the one-to-one correspondence between the order's <tt>identifiers</tt> array and its <tt>authorizations</tt> array, as defined in <xref target="RFC8555"/>, Section 7.1.3. The <tt>pop</tt> authorization corresponds to the <tt>pop</tt> identifier in the <tt>identifiers</tt> array, and its URL MUST appear in the <tt>authorizations</tt> array at the same position as the <tt>pop</tt> identifier in the <tt>identifiers</tt> array.</t>
          </li>
          <li>
            <t>MUST place that authorization's URL in the initial order object's immutable <tt>authorizations</tt> array.</t>
          </li>
          <li>
            <t>MUST create exactly one <tt>pop-01</tt> challenge in that <tt>pop</tt> authorization.</t>
          </li>
          <li>
            <t>MUST set the challenge's <tt>key</tt> field to exactly equal the accepted <tt>popKey</tt> string.</t>
          </li>
          <li>
            <t>MUST NOT attach a <tt>pop-01</tt> challenge to any identifier authorization (dns, email, etc.).</t>
          </li>
        </ol>
        <t>The server MAY enforce a maximum length for <tt>popKey</tt> values consistent with its supported algorithm set. Requests exceeding this limit MUST be rejected with <tt>badPopKey</tt>.</t>
        <t>The server MUST verify that the JSON-parsed order is semantically consistent with the <tt>raw_newOrder</tt> octets. If the decoded payload contains duplicate JSON keys, or if JSON parsing would produce a result that is not uniquely determined by the raw octets, the server MUST reject the request with <tt>malformed</tt>. The <tt>raw_newOrder</tt> octets are always authoritative for proof binding purposes.</t>
        <t>For an ML-KEM <tt>popKey</tt>, the atomic operation in steps 6-11 is committed only after the Section 5.2 challenge-creation procedure, including ML-KEM.Encaps, completes successfully. A server-side execution error after successful input validation produces <tt>urn:ietf:params:acme:error:serverInternal</tt> and leaves no partially created order, authorization, challenge, or proof state.</t>
      </section>
      <section anchor="order-object-with-popkey">
        <name>Order Object with <tt>popKey</tt></name>
        <t>After atomically accepting the request and creating the <tt>pop</tt> authorization, the server MUST include the accepted <tt>popKey</tt> value and retain the requested <tt>pop</tt> identifier in the initial order object:</t>
        <artwork><![CDATA[
{
  "status": "pending",
  "expires": "2026-09-30T00:00:00Z",
  "identifiers": [
    { "type": "dns", "value": "example.com" },
    { "type": "pop", "value": "" }
  ],
  "authorizations": [
    "https://acme.example.com/acme/authz/dns-abc123",
    "https://acme.example.com/acme/authz/pop-def456"
  ],
  "popKey": "<base64url(DER-encoded SPKI)>",
  "finalize": "https://acme.example.com/acme/order/xyz/finalize"
}
]]></artwork>
        <t>The <tt>authorizations</tt> array maintains the same order as the <tt>identifiers</tt> array. The URL at the position corresponding to the <tt>pop</tt> identifier resolves to the <tt>pop</tt> authorization, which contains the sole <tt>pop-01</tt> challenge. This ordering is consistent with <xref target="RFC8555"/>, Section 7.1.3.</t>
        <t>The echoed <tt>popKey</tt> JSON string MUST be exactly equal to the value in the "newOrder" request. The order's <tt>identifiers</tt> array MUST contain the requested <tt>{ "type": "pop", "value": "" }</tt> object, and the <tt>authorizations</tt> array MUST contain exactly one authorization whose identifier is that object and whose sole challenge is <tt>pop-01</tt>. These conditions confirm that the server accepted the paired request; they do not guarantee that validation or issuance will succeed.</t>
        <t>If a server returns an order that omits or changes <tt>popKey</tt> or <tt>pop</tt>, or that does not provide exactly one corresponding authorization, the client MUST treat the CSR-less request as unaccepted and abandon that order; see Section 9.2.1 for the complete fallback behavior. The client MUST NOT attempt CSR finalization on the inconsistent order.</t>
      </section>
      <section anchor="server-capability-advertisement">
        <name>Server Capability Advertisement</name>
        <t>An ACME server can advertise support for this extension in its Directory metadata:</t>
        <artwork><![CDATA[
{
  "newNonce": "https://acme.example.com/acme/new-nonce",
  "newAccount": "https://acme.example.com/acme/new-acct",
  "newOrder": "https://acme.example.com/acme/new-order",
  "meta": {
    "popSupported": true
  }
}
]]></artwork>
        <t>The <tt>popSupported</tt> field, located inside the "meta" object, is a boolean. A value of true indicates support for the <tt>pop</tt> identifier type, the <tt>pop-01</tt> challenge type, the <tt>popKey</tt> field, and the CSR-less finalization flow. Absence or a false value indicates that the client cannot rely on CSR-less operation at that server. A successful order response confirms acceptance by retaining the requested <tt>pop</tt> identifier, echoing the accepted <tt>popKey</tt>, and including the corresponding authorization.</t>
        <t>A server that supports the combination of <tt>pop</tt> authorization with STAR certificates SHOULD advertise this capability by including a <tt>popStarSupported</tt> field in the <tt>meta</tt> object:</t>
        <artwork><![CDATA[
"meta": {
  "popSupported": true,
  "popStarSupported": true
}
]]></artwork>
        <t>The <tt>popStarSupported</tt> field, when present and true, indicates that the server accepts <tt>pop</tt> identifiers in STAR orders and will use the validated <tt>popKey</tt> for automatic renewals.</t>
        <section anchor="discovery-for-star-composition">
          <name>Discovery for STAR Composition</name>
          <t>When a client wishes to request a STAR order <xref target="RFC8739"/> using the CSR-less flow, it SHOULD proceed as follows:</t>
          <ol spacing="normal" type="1"><li>
              <t>Check that the server advertises <tt>popSupported: true</tt> (Section 3.4) and <tt>auto-renewal</tt> support (<xref target="RFC8739"/>, Section 3.2).</t>
            </li>
            <li>
              <t>Check that the server advertises <tt>popStarSupported: true</tt> (Section 3.4). If absent or false, the client MUST NOT include a <tt>pop</tt> identifier in STAR orders.</t>
            </li>
            <li>
              <t>If all three are advertised, the client MAY create a STAR order using the CSR-less flow.</t>
            </li>
          </ol>
          <t>A server that does not support the STAR combination MUST reject a STAR order containing a <tt>popKey</tt> and a <tt>pop</tt> identifier with <tt>urn:ietf:params:acme:error:malformed</tt>. A server that supports the STAR combination but rejects the request for a different reason MUST return the error type defined for that reason. For example, it MUST return <tt>badPopKey</tt> when the key is invalid or unsupported, and <tt>popKeyRejectedByPolicy</tt> when the key is acceptable but its use is prohibited by CA policy.</t>
        </section>
      </section>
      <section anchor="composition-with-other-acme-extensions">
        <name>Composition with Other ACME Extensions</name>
        <t>The following rules apply when a CSR-less order also carries another ACME extension or certificate encoding. Unless stated otherwise, the <tt>pop</tt> authorization composes with the extension orthogonally.</t>
        <ul spacing="normal">
          <li>
            <t><strong>With Certificate Profiles:</strong> The <tt>popKey</tt> field and the <tt>profile</tt> field MAY be used together in the same <tt>newOrder</tt> request. The CA MUST use the validated <tt>popKey</tt> as the certificate public key and apply the requested profile to construct the remainder of the certificate.</t>
          </li>
          <li>
            <t><strong>With STAR Certificates:</strong> The <tt>popKey</tt> field and the <tt>auto-renewal</tt> object <xref target="RFC8739"/>, Section 3.1.1 MAY be used together in the same <tt>newOrder</tt> request. When present together:
            </t>
            <ul spacing="normal">
              <li>
                <t>Whether a server supports the STAR combination is established via the capability discovery procedure in Section 3.4.1. When combined, the <tt>popKey</tt> recorded in the order at bootstrap time serves as the persistent public key for all automatic renewals within the STAR order's lifetime, in the same way that the CSR serves this role in <xref target="RFC8739"/>, Section 2.2; the retention and renewal-use obligations are specified in Section 3.2, step 6. The client MUST NOT change the <tt>popKey</tt> during the order's auto-renewal lifetime; a change of public key requires a new order with a fresh <tt>pop</tt> authorization. Automatic renewal therefore does not re-run the <tt>pop-01</tt> challenge; the initial PoP validation is reused for the order's lifetime, consistent with <xref target="RFC8739"/>'s reuse of the initial CSR.</t>
              </li>
              <li>
                <t>Once it becomes <tt>valid</tt>, the <tt>pop</tt> authorization authorizes use of the accepted <tt>popKey</tt> only for automatic renewals under this STAR order. The authorization MUST NOT be used after its <tt>expires</tt> time or the order's <tt>auto-renewal.end-date</tt>, whichever occurs first, and MUST NOT be used to issue a certificate with a <tt>notAfter</tt> later than the <tt>end-date</tt>. Reaching the <tt>end-date</tt> ends automatic issuance but does not change the STAR order resource's status from <tt>valid</tt>. Upon successful cancellation of the STAR order, the server MUST NOT issue any additional certificates for that order. Cross-order reuse of a <tt>pop</tt> authorization remains prohibited (Section 4.3).</t>
              </li>
              <li>
                <t>The CA MUST NOT require a new <tt>pop-01</tt> challenge or any other proof-of-possession for individual auto-renewals within the same STAR order.</t>
              </li>
              <li>
                <t>The client MAY terminate the auto-renewal sequence at any time via the cancellation interface defined in <xref target="RFC8739"/>, Section 3.1.2. Upon successful cancellation, the server MUST NOT issue any additional certificates for this Order.</t>
              </li>
              <li>
                <t>All other <xref target="RFC8739"/> constraints on STAR orders, including the prohibition on <tt>notBefore</tt> and <tt>notAfter</tt> in the order (<xref target="RFC8739"/>, Section 3.1.1), apply unchanged when combined with <tt>pop</tt>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t><strong>With Device Attestation:</strong> The <tt>pop</tt> authorization and the device-attestation authorization are independent and may be completed in any order. Both MUST reach the <tt>valid</tt> state before the order becomes <tt>ready</tt>.</t>
          </li>
          <li>
            <t><strong>With Remote Attestation (RATS):</strong> The <tt>pop</tt> authorization and a <tt>remote-attestation</tt> identifier <xref target="I-D.ietf-acme-rats"/> compose orthogonally: both are auxiliary markers that may appear in the same order, are validated independently, and require no special interaction beyond the general rules in Section 3.3.</t>
          </li>
          <li>
            <t><strong>With C509 Certificates:</strong> The <tt>pop</tt> authorization is compatible with C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>. The client declares the certificate public key in <tt>popKey</tt> as a DER-encoded SPKI, and the server verifies that the CBOR-encoded public key in the issued C509 certificate is cryptographically equivalent to the validated <tt>popKey</tt>, as specified in Section 6.2. When combined with STAR, the CA computes the C509 certificate validity from the STAR order's <tt>auto-renewal</tt> parameters per <xref target="RFC8739"/>, Section 3.5; this applies to C509's compact time encoding without changing its semantics.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="the-pop-01-challenge">
      <name>The <tt>pop-01</tt> Challenge</name>
      <section anchor="the-pop-authorization">
        <name>The <tt>pop</tt> Authorization</name>
        <t>An ACME server that accepts a paired <tt>popKey</tt> and <tt>pop</tt> request creates exactly one authorization for that <tt>pop</tt> identifier with the following shape:</t>
        <artwork><![CDATA[
{
  "identifier": {
    "type": "pop",
    "value": ""
  },
  "status": "pending",
  "challenges": [
    {
      "type": "pop-01",
      "url": "https://acme.example.com/acme/chall/abc123",
      "status": "pending",
      "key": "<base64url(DER-encoded SPKI)>",
      "popNonce": "<base64url(32 random bytes)>"
    }
  ]
}
]]></artwork>
        <t>The <tt>pop</tt> authorization MUST contain exactly one challenge, and that challenge MUST have type <tt>pop-01</tt>. Certificate-identifier authorizations do not receive a <tt>pop-01</tt> challenge from this specification. The empty <tt>pop</tt> identifier value carries neither the key nor an order digest. The <tt>pop</tt> identifier itself MUST NOT be encoded anywhere in the issued certificate, including its <tt>subject</tt> field or <tt>subjectAltName</tt> extension.</t>
        <t>In <xref target="RFC8555"/>, an authorization ordinarily represents an account's authority over an identifier. This specification deliberately gives the <tt>pop</tt> authorization a narrower, order-level role: its empty identifier has no standalone control semantics, and the authorization records only whether possession of the key declared by that order has been proved.</t>
      </section>
      <section anchor="challenge-object-fields">
        <name>Challenge Object Fields</name>
        <t>The set of fields in the <tt>pop-01</tt> challenge object depends on whether the accepted <tt>popKey</tt> is a signature key or a KEM key, as determined by the server from the <tt>key</tt> field (which mirrors the <tt>popKey</tt>).</t>
        <t>For signature keys:</t>
        <artwork><![CDATA[
{
  "type": "pop-01",
  "url": "https://acme.example.com/acme/chall/abc123",
  "status": "pending",
  "key": "<base64url(DER-encoded SPKI)>",
  "popNonce": "<base64url(32 random bytes)>"
}
]]></artwork>
        <t>Field descriptions:</t>
        <ul spacing="normal">
          <li>
            <t><strong>type</strong>: Fixed value "pop-01".</t>
          </li>
          <li>
            <t><strong>url</strong>, <strong>status</strong>: Standard semantics as defined in <xref target="RFC8555"/>, Section 7.1.5. The <tt>status</tt> field follows the full ACME challenge state machine, including <tt>pending</tt>, <tt>processing</tt>, <tt>valid</tt>, and <tt>invalid</tt>. Clients MUST be prepared to observe the <tt>processing</tt> state after submitting a challenge response and MUST poll the challenge URL until a terminal state (<tt>valid</tt> or <tt>invalid</tt>) is reached.</t>
          </li>
          <li>
            <t><strong>key</strong> (REQUIRED): The Base64URL encoding of the DER-encoded SPKI of the public key to be certified. This MUST be exactly equal to the <tt>popKey</tt> string accepted from the "newOrder" request.</t>
          </li>
          <li>
            <t><strong>popNonce</strong> (REQUIRED for signature keys): A random value generated by the ACME server for this challenge, Base64URL-encoded. The value MUST be exactly 32 bytes (256 bits) of random data <xref target="RFC4086"/> before Base64URL encoding, providing a fixed-length field for unambiguous concatenation.</t>
          </li>
        </ul>
        <t>For KEM keys:</t>
        <artwork><![CDATA[
{
  "type": "pop-01",
  "url": "https://acme.example.com/acme/chall/def456",
  "status": "pending",
  "key": "<base64url(DER-encoded SPKI)>",
  "challenge_ciphertext": "<base64url(ML-KEM ciphertext)>"
}
]]></artwork>
        <t>Field descriptions:</t>
        <ul spacing="normal">
          <li>
            <t><strong>type</strong>, <strong>url</strong>, <strong>status</strong>, <strong>key</strong>: Same as above.</t>
          </li>
          <li>
            <t><strong>challenge_ciphertext</strong> (REQUIRED for KEM keys): The Base64URL encoding of the ciphertext produced by the server's KEM Encapsulate operation using the public key from the <tt>key</tt> field.</t>
          </li>
        </ul>
        <t>The <tt>popNonce</tt> and <tt>challenge_ciphertext</tt> fields are mutually exclusive: each <tt>pop-01</tt> challenge object MUST contain exactly one of them.</t>
      </section>
      <section anchor="authorization-reuse-and-lifecycle">
        <name>Authorization Reuse and Lifecycle</name>
        <t>The authorization-reuse cases described in <xref target="RFC8555"/>, Section 7.1.3 do not apply to the <tt>pop</tt> authorization bound to a specific order and <tt>popKey</tt>. A <tt>pop</tt> authorization:</t>
        <ul spacing="normal">
          <li>
            <t>MUST NOT be reused from another order.</t>
          </li>
          <li>
            <t>MUST NOT be obtained via pre-authorization <xref target="RFC8555"/>, Section 7.4.1.</t>
          </li>
          <li>
            <t>MUST NOT be satisfied by an external authorization.</t>
          </li>
          <li>
            <t>Requires a fresh authorization and a fresh <tt>pop-01</tt> challenge for every order containing an accepted <tt>popKey</tt> and <tt>pop</tt> pair.</t>
          </li>
        </ul>
        <t>This non-reuse rule is a deliberate design choice rather than an implementation limitation. Each order requires fresh proof that the private key is held for that specific certificate request; reusing a <tt>pop</tt> authorization across orders would weaken that order-specific binding.</t>
        <t>A <tt>pop</tt> authorization is bound exclusively to its originating order. For an order that is not a STAR order, the <tt>expires</tt> value of the <tt>pop</tt> authorization MUST NOT be later than the <tt>expires</tt> value of the associated order. For a STAR order, the <tt>expires</tt> value of the <tt>pop</tt> authorization MUST NOT be later than the order's <tt>auto-renewal.end-date</tt>. The STAR order's <tt>expires</tt> value does not define the end of its automatic-renewal period; after the <tt>end-date</tt>, the STAR order resource remains in the <tt>valid</tt> state, as specified in <xref target="RFC8739"/>.</t>
        <t>If an order that is not a STAR order enters a terminal state due to failure (<tt>invalid</tt> or <tt>expired</tt>), the server MUST transition the <tt>pop</tt> authorization and its <tt>pop-01</tt> challenge to corresponding terminal states, if they are not already terminal. When such an order reaches <tt>valid</tt>, the <tt>pop</tt> authorization is already <tt>valid</tt> and no further transition is required.</t>
        <t>For a STAR order, successful cancellation MUST prevent further certificate issuance and MUST transition the associated <tt>pop</tt> authorization to <tt>deactivated</tt>, if it is not already terminal. When the STAR order reaches its <tt>auto-renewal.end-date</tt>, the server MUST NOT use the <tt>pop</tt> authorization for further certificate issuance and MUST transition the authorization to <tt>expired</tt>, if it is not already terminal. Reaching the <tt>end-date</tt> does not change the STAR order resource's status from <tt>valid</tt>.</t>
        <t>Clients MUST NOT send a deactivation request for a <tt>pop</tt> authorization. A server receiving such a request MUST reject it with <tt>urn:ietf:params:acme:error:malformed</tt>; cancellation of the associated STAR order implicitly deactivates the <tt>pop</tt> authorization.</t>
        <t>The <tt>pop</tt> authorization follows the standard ACME authorization state machine in <xref target="RFC8555"/>, including the applicable <tt>invalid</tt>, <tt>deactivated</tt>, <tt>expired</tt>, and <tt>revoked</tt> terminal states. It is subject to the same <tt>expires</tt> and <tt>Retry-After</tt> semantics as other ACME authorizations. Section 5.4 defines the additional cleanup required when this order-bound authorization, its challenge, or its associated order terminates.</t>
      </section>
    </section>
    <section anchor="proof-of-possession-execution">
      <name>Proof-of-Possession Execution</name>
      <section anchor="pop-for-signature-keys">
        <name>PoP for Signature Keys</name>
        <t>In signature key mode, the <tt>pop-01</tt> challenge object contains the <tt>popNonce</tt> field. The client constructs the proof as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Let <tt>raw_newOrder</tt> be the exact octets obtained by Base64URL-decoding the JWS <tt>payload</tt> member of the "newOrder" request, before JSON parsing.</t>
          </li>
          <li>
            <t>Compute <tt>newOrder_hash = SHA-256(raw_newOrder)</tt>.</t>
          </li>
          <li>
            <t>Let <tt>popNonce_bytes</tt> be the raw bytes obtained by Base64URL-decoding the <tt>popNonce</tt> field.</t>
          </li>
          <li>
            <t>Construct the message to be signed:  </t>
            <t><tt>text
to_sign = "ACME-pop-01-sig v1:" || popNonce_bytes || newOrder_hash
</tt>  </t>
            <t>
where <tt>||</tt> denotes raw byte concatenation and "ACME-pop-01-sig v1:" is a fixed 19-byte ASCII domain separation prefix. Since <tt>newOrder_hash</tt> occupies the final 32 bytes and has a fixed length, the boundary between <tt>popNonce_bytes</tt> and <tt>newOrder_hash</tt> is always unambiguous.</t>
          </li>
          <li>
            <t>Compute the signature:  </t>
            <t><tt>text
proof = base64url( Sign(privateKey, to_sign) )
</tt>  </t>
            <t><tt>Sign(key, message)</tt> denotes a complete signing operation over <tt>message</tt> (with hashing internal to the algorithm).</t>
          </li>
        </ol>
        <t>Each challenge gets a fresh <tt>popNonce</tt> (Section 4.2), so a captured proof cannot be replayed against another challenge of the same order.</t>
        <t>The signature algorithm is determined by the key type declared in the <tt>key</tt> field's SPKI. The following table defines the normative baseline proof mappings:</t>
        <table anchor="tab-1">
          <name>Signature-Key Proof Algorithm Mappings</name>
          <thead>
            <tr>
              <th align="left">Key type</th>
              <th align="left">SPKI algorithm identification</th>
              <th align="left">Signature algorithm</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">EC P-256</td>
              <td align="left">id-ecPublicKey, namedCurve = secp256r1</td>
              <td align="left">ECDSA with SHA-256</td>
            </tr>
            <tr>
              <td align="left">EC P-384</td>
              <td align="left">id-ecPublicKey, namedCurve = secp384r1</td>
              <td align="left">ECDSA with SHA-384</td>
            </tr>
            <tr>
              <td align="left">EC P-521</td>
              <td align="left">id-ecPublicKey, namedCurve = secp521r1</td>
              <td align="left">ECDSA with SHA-512</td>
            </tr>
            <tr>
              <td align="left">Ed25519</td>
              <td align="left">1.3.101.112</td>
              <td align="left">Ed25519 <xref target="RFC8032"/></td>
            </tr>
            <tr>
              <td align="left">RSA</td>
              <td align="left">rsaEncryption (1.2.840.113549.1.1.1)</td>
              <td align="left">RSASSA-PSS with SHA-256</td>
            </tr>
            <tr>
              <td align="left">ML-DSA-44</td>
              <td align="left">2.16.840.1.101.3.4.3.17</td>
              <td align="left">ML-DSA-44 <xref target="FIPS-204"/></td>
            </tr>
            <tr>
              <td align="left">ML-DSA-65</td>
              <td align="left">2.16.840.1.101.3.4.3.18</td>
              <td align="left">ML-DSA-65 <xref target="FIPS-204"/></td>
            </tr>
            <tr>
              <td align="left">ML-DSA-87</td>
              <td align="left">2.16.840.1.101.3.4.3.19</td>
              <td align="left">ML-DSA-87 <xref target="FIPS-204"/></td>
            </tr>
            <tr>
              <td align="left">SLH-DSA-SHA2-128s</td>
              <td align="left">2.16.840.1.101.3.4.3.20</td>
              <td align="left">SLH-DSA-SHA2-128s <xref target="FIPS-205"/></td>
            </tr>
            <tr>
              <td align="left">SLH-DSA-SHA2-128f</td>
              <td align="left">2.16.840.1.101.3.4.3.21</td>
              <td align="left">SLH-DSA-SHA2-128f <xref target="FIPS-205"/></td>
            </tr>
            <tr>
              <td align="left">SLH-DSA-SHA2-192s</td>
              <td align="left">2.16.840.1.101.3.4.3.22</td>
              <td align="left">SLH-DSA-SHA2-192s <xref target="FIPS-205"/></td>
            </tr>
            <tr>
              <td align="left">SLH-DSA-SHA2-192f</td>
              <td align="left">2.16.840.1.101.3.4.3.23</td>
              <td align="left">SLH-DSA-SHA2-192f <xref target="FIPS-205"/></td>
            </tr>
            <tr>
              <td align="left">SLH-DSA-SHA2-256s</td>
              <td align="left">2.16.840.1.101.3.4.3.24</td>
              <td align="left">SLH-DSA-SHA2-256s <xref target="FIPS-205"/></td>
            </tr>
            <tr>
              <td align="left">SLH-DSA-SHA2-256f</td>
              <td align="left">2.16.840.1.101.3.4.3.25</td>
              <td align="left">SLH-DSA-SHA2-256f <xref target="FIPS-205"/></td>
            </tr>
          </tbody>
        </table>
        <t>The Ed25519 SPKI OID and encoding are defined by <xref target="RFC8410"/>, the ML-DSA OIDs are defined by <xref target="RFC9881"/>, and the SLH-DSA OIDs are defined by <xref target="RFC9909"/>. A client using a listed key type MUST use the corresponding mapping, and a server that accepts that key type MUST verify the proof accordingly.</t>
        <t>A server is not required to support every key type in this table. However, if a server supports a public key algorithm not listed in this table, the mapping for that algorithm (including the exact signature algorithm and byte encoding) MUST be defined in a separate extension specification. Otherwise, the server MUST reject such keys with <tt>urn:ietf:params:acme:error:badPopKey</tt>. This ensures interoperability and avoids ambiguity in proof verification.</t>
        <t><strong>Context parameter for ML-DSA and SLH-DSA.</strong> For ML-DSA <xref target="FIPS-204"/> and SLH-DSA <xref target="FIPS-205"/>, the signing operation uses the default context string as defined in the respective specification. The default context is the empty string (length 0). Implementations MUST NOT use a non-empty context string when constructing the <tt>to_sign</tt> input, to ensure interoperability across independent implementations.</t>
        <t><strong>RSA SPKI AlgorithmIdentifier.</strong></t>
        <t>This document supports RSA keys identified by the <tt>rsaEncryption</tt> AlgorithmIdentifier (1.2.840.113549.1.1.1) with NULL parameters as specified in <xref target="RFC3279"/>, Section 2.3.1.</t>
        <t>For RSA keys with <tt>rsaEncryption</tt> AlgorithmIdentifier, the proof of possession MUST use RSASSA-PSS with SHA-256 (PS256) as defined in <xref target="RFC7518"/>, Section 3.5, with MGF1 using SHA-256 and a salt length equal to the hash output length (32 bytes).</t>
        <t>The <tt>rsaEncryption</tt> OID is retained in the certificate SPKI for broad ecosystem compatibility; the PSS algorithm for the PoP proof is enforced by this protocol specification, independent of the certificate's AlgorithmIdentifier.</t>
        <t>RSA keys identified by the <tt>rsassaPss</tt> AlgorithmIdentifier (1.2.840.113549.1.1.10) in the SPKI MUST be rejected with <tt>urn:ietf:params:acme:error:badPopKey</tt>. The <tt>rsassaPss</tt> OID carries additional parameters (hashAlgorithm, maskGenAlgorithm, saltLength) that would introduce unnecessary complexity to the PoP verification and are not required for the ACME proof-of-possession context. Clients SHOULD use the <tt>rsaEncryption</tt> AlgorithmIdentifier for RSA keys used in ACME <tt>popKey</tt> fields.</t>
        <t>Byte encoding of signature values:</t>
        <ul spacing="normal">
          <li>
            <t>ECDSA: IEEE P1363 <xref target="P1363"/> format (<tt>r || s</tt>).</t>
          </li>
          <li>
            <t>RSASSA-PSS: PS256 algorithm as defined in <xref target="RFC7518"/>, Section 3.5.</t>
          </li>
          <li>
            <t>Ed25519: 64-octet <tt>R || S</tt> encoding <xref target="RFC8032"/>, Section 5.1.6.</t>
          </li>
          <li>
            <t>ML-DSA: byte encoding defined in <xref target="FIPS-204"/>.</t>
          </li>
          <li>
            <t>SLH-DSA: signature data format specified in <xref target="FIPS-205"/> Sections 9.2 and 9.3.</t>
          </li>
        </ul>
      </section>
      <section anchor="pop-for-kem-keys">
        <name>PoP for KEM Keys</name>
        <t>In KEM key mode, the <tt>pop-01</tt> challenge object contains the <tt>challenge_ciphertext</tt> field. The KEM algorithm is uniquely determined by the AlgorithmIdentifier in the <tt>key</tt> field's SPKI. The AlgorithmIdentifier OID includes the parameter set identifier, and its parameters field MUST be absent as specified in <xref target="RFC9935"/>. The <tt>subjectPublicKey</tt> BIT STRING MUST contain exactly the raw ML-KEM encapsulation-key octets, with no additional ASN.1 wrapping, and its length MUST match the selected parameter set in the table below.</t>
        <table anchor="tab-2">
          <name>ML-KEM Parameter Mappings</name>
          <thead>
            <tr>
              <th align="left">Key type</th>
              <th align="right">Public key length (bytes)</th>
              <th align="right">Ciphertext length (bytes)</th>
              <th align="left">SPKI AlgorithmIdentifier OID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">ML-KEM-512</td>
              <td align="right">800</td>
              <td align="right">768</td>
              <td align="left">2.16.840.1.101.3.4.4.1</td>
            </tr>
            <tr>
              <td align="left">ML-KEM-768</td>
              <td align="right">1184</td>
              <td align="right">1088</td>
              <td align="left">2.16.840.1.101.3.4.4.2</td>
            </tr>
            <tr>
              <td align="left">ML-KEM-1024</td>
              <td align="right">1568</td>
              <td align="right">1568</td>
              <td align="left">2.16.840.1.101.3.4.4.3</td>
            </tr>
          </tbody>
        </table>
        <t><strong>Composite KEM keys.</strong> The KEM construction in this section is algorithm-agnostic: it requires only that client and server can perform the encapsulation and decapsulation operations and agree on the resulting shared secret. When the composite ML-KEM specification <xref target="I-D.ietf-lamps-pq-composite-kem"/> is published, composite keys can be supported at the AlgorithmIdentifier level alone: a composite <tt>popKey</tt> would use the composite key encoding and composite AlgorithmIdentifier defined in that document, and the server-side and client-side flows below would apply unchanged, with the length checks in Section 3.2 and step 2 below evaluated against the composite public-key and ciphertext lengths defined by that document. The composite KEM algorithms defined in <xref target="I-D.ietf-lamps-pq-composite-kem"/> would be treated as a single KEM entity in this protocol; their internal ECDH, X25519, or X448 components would not be individually exposed to the PoP protocol. The exclusion of DHKEM in Section 1.2 applies to standalone DH-based KEMs, not to composite KEMs that encapsulate a DH component within a unified encapsulation operation.</t>
        <t>Server-side (challenge creation):</t>
        <ol spacing="normal" type="1"><li>
            <t>After the ML-KEM encapsulation-key checks required by Section 3.2 have succeeded, execute ML-KEM.Encaps using the public key from the <tt>key</tt> field, obtaining a shared secret <tt>shared_secret</tt> and a ciphertext <tt>ct</tt>.</t>
          </li>
          <li>
            <t>Verify that the length of <tt>ct</tt> matches the ciphertext length for the declared KEM algorithm.</t>
          </li>
          <li>
            <t>Derive a MAC key using HKDF <xref target="RFC5869"/>:  </t>
            <t><tt>text
prk = HKDF-Extract[SHA-256](salt, IKM = shared_secret)
mac_key = HKDF-Expand[SHA-256](prk,
          info = ASCII("ACME-pop-01-KEM v1"), L = 32)
</tt>  </t>
            <t>
The salt parameter to HKDF-Extract is omitted. Implementations MUST use the default salt defined in <xref target="RFC5869"/>, Section 2.2: a string of HashLen zero octets.</t>
          </li>
          <li>
            <t>Each invocation of ML-KEM.Encaps generates a fresh ephemeral secret and ciphertext, which is encoded in the <tt>challenge_ciphertext</tt> field. Servers MUST NOT reuse a ciphertext across challenges. A fresh encapsulation makes the derived <tt>mac_key</tt> unique to this challenge, limiting the impact of any single <tt>mac_key</tt> compromise; the <tt>newOrder_hash</tt> binding (Section 5.5) independently prevents replay of proofs across orders.</t>
          </li>
          <li>
            <t>Fill the <tt>challenge_ciphertext</tt> field with the Base64URL encoding of <tt>ct</tt>, and stage <tt>mac_key</tt> as challenge-specific state linked to the order.</t>
          </li>
          <li>
            <t>After construction of the challenge object is complete, atomically commit the order, authorization, challenge, and proof state. On success, destroy <tt>shared_secret</tt>, <tt>prk</tt>, and all intermediate secret state other than the retained <tt>mac_key</tt>.</t>
          </li>
        </ol>
        <t>Client-side (proof generation):</t>
        <ol spacing="normal" type="1"><li>
            <t>Let <tt>ct</tt> be the raw bytes obtained by Base64URL-decoding the <tt>challenge_ciphertext</tt> field.</t>
          </li>
          <li>
            <t>Perform KEM Decapsulate(ct) using the private key corresponding to the public key in the <tt>key</tt> field, obtaining <tt>shared_secret</tt>.</t>
          </li>
          <li>
            <t>Derive <tt>mac_key</tt> using the same parameters as the server:  </t>
            <t><tt>text
prk = HKDF-Extract[SHA-256](salt, IKM = shared_secret)
mac_key = HKDF-Expand[SHA-256](prk,
          info = ASCII("ACME-pop-01-KEM v1"), L = 32)
</tt>  </t>
            <t>
The salt parameter to HKDF-Extract is omitted. Implementations MUST use the default salt defined in <xref target="RFC5869"/>, Section 2.2: a string of HashLen zero octets.</t>
          </li>
          <li>
            <t>Compute <tt>newOrder_hash = SHA-256(raw_newOrder)</tt>.</t>
          </li>
          <li>
            <t>Compute the proof:  </t>
            <t><tt>text
proof = base64url( HMAC-SHA-256(mac_key, newOrder_hash) )
</tt></t>
          </li>
        </ol>
        <t>The client SHOULD verify that the length of the decoded <tt>challenge_ciphertext</tt> matches the expected length for the KEM algorithm identified in the <tt>key</tt> field, to reject malformed ciphertexts early and avoid unexpected behavior in decapsulation.</t>
        <t>The client MUST NOT use <tt>shared_secret</tt> directly as the HMAC key; <tt>mac_key</tt> MUST be derived via HKDF. After submitting the proof, the client SHOULD immediately destroy <tt>shared_secret</tt>, <tt>prk</tt>, and <tt>mac_key</tt> from memory.</t>
      </section>
      <section anchor="client-response-submission">
        <name>Client Response Submission</name>
        <t>After constructing the proof, the client submits it to the challenge URL in an account-key-authenticated ACME JWS. The decoded JWS payload is a JSON object containing the <tt>proof</tt> field:</t>
        <artwork><![CDATA[
POST /acme/chall/abc123 HTTP/1.1
Host: acme.example.com
Content-Type: application/jose+json

{
  "protected": "<base64url(protected-header)>",
  "payload": "<base64url({\"proof\":\"...\"})>",
  "signature": "<base64url(account-key-signature)>"
}
]]></artwork>
        <t>The <tt>proof</tt> field carries the signature (signature key mode) or HMAC (KEM key mode). The <tt>proof</tt> field is the single response field defined for the <tt>pop-01</tt> challenge type, as specified in <xref target="RFC8555"/>, Section 7.5.1. Servers MUST ignore any other fields in the challenge response payload. A server MUST reject an invalid JSON object, a missing or non-string <tt>proof</tt>, invalid Base64URL, or a proof with an invalid encoding or length with <tt>urn:ietf:params:acme:error:malformed</tt>.</t>
        <t>The client MUST submit the challenge response using the same account key with which the order was created. The client MUST retain <tt>raw_newOrder</tt> for the duration of the order lifecycle, as it is needed to recompute <tt>newOrder_hash</tt> for proof construction. The client SHOULD destroy all intermediate secret material (<tt>shared_secret</tt>, <tt>prk</tt>, and <tt>mac_key</tt> in KEM mode) immediately after submitting the proof, as specified in Section 5.2.</t>
      </section>
      <section anchor="server-validation">
        <name>Server Validation</name>
        <t>This section describes how the server validates the submitted proof and manages the lifetime of proof material.</t>
        <section anchor="validation-steps">
          <name>Validation Steps</name>
          <t>Upon receiving a syntactically valid response, the server:</t>
          <ol spacing="normal" type="1"><li>
              <t>Follows the authoritative <tt>challenge -&gt; authorization -&gt; order -&gt; account</tt> relationship and retrieves the accepted <tt>popKey</tt>, stored <tt>newOrder_hash</tt>, and challenge-specific material (<tt>popNonce_bytes</tt> for signature mode or <tt>mac_key</tt> for KEM mode).</t>
            </li>
            <li>
              <t>MUST immediately transition the <tt>pop-01</tt> challenge to the <tt>processing</tt> state, indicating that cryptographic validation is in progress.</t>
            </li>
            <li>
              <t>Selects the validation path based on the field present in the challenge object:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Signature key mode: Constructs <tt>to_sign</tt> and verifies the signature.</t>
                </li>
                <li>
                  <t>KEM key mode: Computes HMAC-SHA-256(mac_key, newOrder_hash) and compares it (using constant-time comparison) with the submitted proof.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Upon completion of the cryptographic validation:
              </t>
              <ul spacing="normal">
                <li>
                  <t>If validation succeeds, the server sets the <tt>pop-01</tt> challenge and its containing <tt>pop</tt> authorization to <tt>valid</tt>.</t>
                </li>
                <li>
                  <t>If validation fails, the server sets both to <tt>invalid</tt>, records <tt>urn:ietf:params:acme:error:badPoP</tt> on the challenge, and sets the order to <tt>invalid</tt>.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Applies the proof-material lifecycle rule in Section 5.4.2 after updating resource states.</t>
            </li>
          </ol>
          <t>The server MAY complete validation synchronously, in which case the <tt>processing</tt> state MAY be transient and not observable by the client.</t>
        </section>
        <section anchor="proof-material-lifecycle">
          <name>Proof-Material Lifecycle</name>
          <t>The server MUST immediately destroy the locally stored <tt>popNonce_bytes</tt> (signature-key mode) or <tt>mac_key</tt> (KEM-key mode), and mark that proof material as consumed, upon the earliest of:</t>
          <ul spacing="normal">
            <li>
              <t>the associated STAR order <xref target="RFC8739"/> entering <tt>canceled</tt>;</t>
            </li>
            <li>
              <t>the <tt>pop-01</tt> challenge entering <tt>valid</tt> or <tt>invalid</tt>;</t>
            </li>
            <li>
              <t>the containing <tt>pop</tt> authorization entering <tt>invalid</tt>, <tt>deactivated</tt>, <tt>expired</tt>, or <tt>revoked</tt>;</t>
            </li>
            <li>
              <t>the associated order entering <tt>invalid</tt>, including because an unfinalized order expired or another authorization reached a final state other than <tt>valid</tt>; or</t>
            </li>
            <li>
              <t>the ACME account owning the associated order entering <tt>deactivated</tt> or <tt>revoked</tt>.</t>
            </li>
          </ul>
          <t><strong>Challenge termination.</strong> If the containing <tt>pop</tt> authorization enters <tt>invalid</tt>, <tt>deactivated</tt>, <tt>expired</tt>, or <tt>revoked</tt> while its <tt>pop-01</tt> challenge is <tt>pending</tt> or <tt>processing</tt>, the server MUST set the challenge to <tt>invalid</tt> without replacing the authorization's terminal state.</t>
          <t><strong>Order termination.</strong> If the associated order enters <tt>invalid</tt>, the server MUST set any <tt>pending</tt> or <tt>processing</tt> <tt>pop-01</tt> challenge to <tt>invalid</tt> and MUST set its containing <tt>pop</tt> authorization to <tt>invalid</tt> if that authorization is still <tt>pending</tt>. When a nonterminal <tt>pop-01</tt> challenge is made <tt>invalid</tt> solely because its containing authorization or associated order terminated, the server MUST NOT attach a <tt>badPoP</tt> error, because no cryptographic proof validation failed. If an error is included for an independently applicable reason, the problem document MUST describe that actual reason; otherwise the server SHOULD omit the challenge's <tt>error</tt> field.</t>
          <t><strong>STAR termination.</strong> If the associated STAR order enters <tt>canceled</tt>, the server MUST destroy the proof material as specified above, and MUST set any <tt>pending</tt> or <tt>processing</tt> <tt>pop-01</tt> challenge to <tt>invalid</tt> without attaching a <tt>badPoP</tt> error.</t>
          <t><strong>Post-termination handling.</strong> After any lifecycle trigger above, the server MUST NOT process another proof submission or change the challenge state in response to such a submission. Account-authenticated POST-as-GET retrieval of the terminal challenge resource remains governed by <xref target="RFC8555"/>. Destruction triggered by account deactivation or revocation does not by itself define additional order, authorization, or challenge state transitions; account deactivation and resource-state handling follow <xref target="RFC8555"/>, Section 7.3.6 and server policy.</t>
        </section>
      </section>
      <section anchor="order-binding">
        <name>Order Binding</name>
        <t>Both the signature-mode <tt>to_sign</tt> and the KEM-mode HMAC input include SHA-256(raw_newOrder). This binds the proof to the exact decoded JWS payload octets of the "newOrder" request. Any change to those octets causes proof verification to fail.</t>
        <t>Implementations MUST NOT hash a re-serialized JSON object.</t>
        <t>The proof binds only to the JWS payload, not the protected header. The integrity of the protected header (algorithm, account identifier, nonce) is already guaranteed by the outer account-key JWS signature. Binding the certificate-key proof to the payload alone ensures the proof attests to the content of the order itself, independent of the account authentication layer.</t>
        <t><strong>Proof construction versioning.</strong> Both proof constructions carry a version marker in their domain separation prefixes ("v1"): <tt>"ACME-pop-01-sig v1:"</tt> for signature keys and <tt>"ACME-pop-01-KEM v1"</tt> for KEM keys. The trailing colon in the signature-mode prefix is part of the domain separation string; it is absent in KEM mode, where the string serves as the HKDF <tt>info</tt> and needs no delimiter. The marker is a domain separation label, not an in-band negotiation mechanism; any incompatible change to a construction requires a new challenge type in a separate extension specification.</t>
      </section>
    </section>
    <section anchor="finalization">
      <name>Finalization</name>
      <section anchor="finalize-request">
        <name>Finalize Request</name>
        <t>An order for which the server accepted the <tt>popKey</tt> and <tt>pop</tt> pair contains one <tt>pop</tt> authorization. When its sole <tt>pop-01</tt> challenge becomes <tt>valid</tt>, the server sets the <tt>pop</tt> authorization to <tt>valid</tt>. The order becomes <tt>ready</tt> only when that <tt>pop</tt> authorization and every other authorization listed by the order are <tt>valid</tt>; challenges within a certificate-identifier authorization remain alternatives under <xref target="RFC8555"/>. The server does not push the <tt>ready</tt> transition; the client retrieves the order URL using POST-as-GET until the returned order object is <tt>ready</tt>.</t>
        <t>After an order using the CSR-less flow becomes <tt>ready</tt>, the client MUST send an account-key-authenticated finalize JWS. The decoded JWS payload MUST parse as a JSON object with no members:</t>
        <artwork><![CDATA[
POST /acme/order/xyz/finalize HTTP/1.1
Host: acme.example.com
Content-Type: application/jose+json

{
  "protected": "<base64url(protected-header)>",
  "payload": "e30",
  "signature": "<base64url(account-key-signature)>"
}
]]></artwork>
        <t>The value <tt>e30</tt> is the Base64URL encoding of the two UTF-8 octets <tt>{}</tt> and is the recommended deterministic representation.</t>
        <t>Before processing a finalize request, the server MUST verify that all authorizations associated with the order, including the <tt>pop</tt> authorization, are still in the <tt>valid</tt> state and have not expired. If any authorization has entered a terminal state other than <tt>valid</tt>, the server MUST transition the order to <tt>invalid</tt> and return an appropriate error.</t>
        <t>For an order with an accepted <tt>popKey</tt> and <tt>pop</tt> pair, the server MUST reject any finalize payload that is not an empty JSON object with <tt>urn:ietf:params:acme:error:malformed</tt>. This includes, but is not limited to, payloads containing a <tt>csr</tt> field. The empty-payload requirement applies only to the finalize endpoint. Other authenticated POSTs to the order resource (e.g., STAR cancellation per <xref target="RFC8739"/>, Section 3.1.2) are unaffected.</t>
        <t>If the order has not reached the <tt>ready</tt> state (e.g., the <tt>pop</tt> authorization is still <tt>pending</tt>), the server MUST return an <tt>orderNotReady</tt> error, consistent with <xref target="RFC8555"/>, Section 7.4.</t>
        <t>If the order is already in the <tt>valid</tt> state, the server MUST return the current order object without modification, consistent with <xref target="RFC8555"/>, Section 7.4.</t>
      </section>
      <section anchor="certificate-issuance">
        <name>Certificate Issuance</name>
        <t>For a successful finalize request, the server returns HTTP 200 with an updated order object as specified by <xref target="RFC8555"/>. When issuing the certificate, the server uses:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Public key:</strong> The DER SubjectPublicKeyInfo octets to be placed in the certificate. The server MUST confirm that the public key to be placed in the certificate is cryptographically equivalent to the public key declared in the accepted order's <tt>popKey</tt>. For DER-encoded X.509 certificates, this is achieved by byte-for-byte comparison of the DER SubjectPublicKeyInfo octets. For C509 certificates, the server MUST verify that the CBOR-encoded subjectPublicKey represents the same cryptographic key as the DER-encoded popKey. Implementations SHOULD decode the key parameters from both encodings and compare the underlying mathematical values (e.g., RSA modulus and exponent, EC curve and point coordinates, ML-KEM parameter set and public key bytes). Support for C509 certificate issuance is optional; implementations that do not support C509 are unaffected by this dependency.</t>
          </li>
          <li>
            <t><strong>Identifiers:</strong> The certificate identifiers authorized for the order. The <tt>pop</tt> identifier MUST NOT be encoded anywhere in the issued certificate, including its <tt>subject</tt> field or <tt>subjectAltName</tt> extension.</t>
          </li>
        </ul>
        <t>All other certificate fields and extensions (subject, validity period, key usage, extended key usage, etc.) are determined by CA policy and any applicable certificate profile selected for the order. This document does not mandate specific values for these fields; they are outside the scope of the proof-of-possession mechanism. When used together with the Certificate Profiles extension, the profile identifier in the order governs the composition of the remainder of the certificate. Clients that previously conveyed certificate extensions via the CSR's extensionRequest can express them through a certificate profile; this document does not define a mechanism for client-supplied arbitrary extensions.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="security-model-and-threat-analysis">
        <name>Security Model and Threat Analysis</name>
        <t>This section states the security guarantees of the <tt>pop</tt> authorization under the threat model below, then examines the deployment-specific combinations referenced in Sections 3.5 and 10.</t>
        <t>The <tt>pop-01</tt> challenge proves that an entity participating in the ACME transaction possessed, at challenge completion, the private key corresponding to the accepted <tt>popKey</tt>. It does not prove control of any certificate identifier. Identifier control and key possession are represented by separate authorizations: certificate-identifier authorizations validate the requested certificate identifiers, while the <tt>pop</tt> authorization validates possession of the certificate key. The order can become <tt>ready</tt> only when both kinds of authorization are valid.</t>
        <t>The following threat model defines the security guarantees provided by this design against attackers with different capabilities:</t>
        <table anchor="tab-3">
          <name>Threat Model and Security Guarantees</name>
          <thead>
            <tr>
              <th align="left">Attacker capability</th>
              <th align="left">Security guarantee</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Holds identifier control, no certificate private key</td>
              <td align="left">Cannot make <tt>pop</tt> authorization valid; cannot obtain certificate</td>
            </tr>
            <tr>
              <td align="left">Holds certificate private key, no identifier control</td>
              <td align="left">Cannot satisfy identifier authorization; cannot obtain certificate</td>
            </tr>
            <tr>
              <td align="left">Can tamper with finalization-stage network traffic</td>
              <td align="left">Cannot substitute public key; key is locked at order creation</td>
            </tr>
            <tr>
              <td align="left">Can eavesdrop on all protocol traffic</td>
              <td align="left">Cannot forge PoP proof; cannot obtain KEM shared secret</td>
            </tr>
            <tr>
              <td align="left">Can trick the victim into signing a PoP response for an order</td>
              <td align="left">Challenge responses are authenticated by the account that created the order, so cross-account submission fails outer JWS verification; and the proof binds to that order's <tt>newOrder_hash</tt>, so a proof for the victim's own order cannot satisfy the attacker's order.</td>
            </tr>
          </tbody>
        </table>
        <t><strong>Architectural Benefit: Eliminating Late-Binding and Semantic Inconsistency.</strong> In the traditional CSR-based flow, the public key is declared at finalization time, after all authorizations are complete. This creates a semantic window: the order becomes <tt>ready</tt> based on authorizations that validate identifiers, but the certificate public key is not committed until the finalize request. An attacker who can intercept or influence the finalization step could, in principle, replace the client's CSR with one of their own containing a different public key, because the CSR is not cryptographically bound to the order at creation time.</t>
        <t>The <tt>pop</tt> authorization design closes this window by binding the public key to the order at creation time, before the order becomes <tt>ready</tt>. The key is declared in the <tt>newOrder</tt> request and fixed once the <tt>pop</tt> authorization becomes <tt>valid</tt>; there is no CSR to substitute and no later swap point.</t>
        <t>This architectural improvement does not imply a security vulnerability in <xref target="RFC8555"/>. In the standard ACME threat model, where the account key is assumed uncompromised and the client environment is trusted, CSR substitution is not exploitable as a protocol-level attack. The value of the <tt>pop</tt> design lies in making the order a complete specification of the certificate at the time it becomes <tt>ready</tt>, reducing the potential for semantic confusion.</t>
        <t>In deployments where an untrusted proxy component sits between the ACME client and server, and that proxy has the ability to substitute messages, the <tt>pop</tt> authorization design eliminates the possibility of substituting the public key at finalization. This deployment-specific risk is not part of the standard ACME threat model <xref target="RFC8555"/> but may be relevant to environments where proxies handle certificate requests.</t>
        <t><strong>Instantaneous nature of PoP.</strong> The <tt>pop-01</tt> challenge proves possession of the private key at the time the challenge is completed. It does not guarantee continued possession throughout the certificate's validity period. This is consistent with the security model of CSR-based issuance, where the self-signature also only proves possession at the time of CSR submission. Deployments requiring ongoing assurance of key possession should consider short-lived certificates or other operational controls.</t>
        <t><strong>STAR composition with KEM keys.</strong> For a KEM certificate key combined with automatic renewal (STAR), the <tt>pop-01</tt> proof is validated only at bootstrap; subsequent certificates issued under the same order inherit that initial validation without any fresh proof of possession. This is consistent with <xref target="RFC8739"/>, which reissues certificates from the initial CSR without re-running authorization. However, because a KEM proof is a challenge-response rather than a non-repudiable signature, servers SHOULD, for KEM-key STAR orders, bound the auto-renewal duration (e.g., via a conservative <tt>end-date</tt> and minimum <tt>lifetime</tt>) and SHOULD require a fresh <tt>pop</tt> authorization when a new order is created for the same key, to limit the exposure of an unverifiable issuance chain. This does not impose new requirements on CSR-based STAR orders, where the same property applies, but acknowledges the reduced auditability of KEM proofs during auto-renewal. Section 7.5 discusses the revocation and single-control-point implications of the KEM+STAR combination.</t>
        <t><strong>Deployment-specific value of PoP.</strong> The value of PoP varies by context: in a typical Web PKI flow, an attacker who can satisfy identifier validation can usually generate a fresh key pair, so PoP mainly prevents issuance of a key the requester cannot prove possession of; in device-attestation deployments, the <tt>pop</tt> authorization supplies that proof alongside the attestation authorization; and for KEM-only keys it is the only available proof, since the <xref target="RFC8555"/> finalization self-signature does not exist.</t>
        <t><strong>Declarative-composable trust model.</strong> As described in Section 1.5, the design makes the order the single authoritative source of client-declared certificate parameters and evaluates all verifications (identifier control, key possession, and optional attestation) before the order becomes <tt>ready</tt>. Because no finalization-time request can introduce new claims or alter verified ones, the attack surface associated with late-stage request processing is reduced and the security analysis of the issuance path is simplified.</t>
      </section>
      <section anchor="cryptographic-binding">
        <name>Cryptographic Binding</name>
        <t>The proof input includes SHA-256(raw_newOrder). The proof therefore covers the requested <tt>identifiers</tt>, <tt>popKey</tt>, and every other order field as encoded by the client. The server maintains this binding through the authenticated <tt>challenge -&gt; authorization -&gt; order -&gt; account</tt> relationship.</t>
        <t>The strength of this transcript binding is bounded by the collision resistance of SHA-256, regardless of the security level of the certificate-key algorithm.</t>
      </section>
      <section anchor="nonce-and-kem-key-management">
        <name>Nonce and KEM Key Management</name>
        <t>The <tt>popNonce</tt> field MUST be exactly 32 bytes (256 bits of entropy) and MUST NOT be reused across challenges, providing a fixed-length concatenation boundary (Section 4.2). The server marks signature-mode proof material consumed and handles later proof submissions according to the lifecycle rules in Section 5.4.</t>
        <t>In KEM mode, the client and server MUST use the HKDF-SHA-256 parameters in Section 5.2 and MUST NOT use <tt>shared_secret</tt> directly as the HMAC key. The server MUST compare the submitted proof with the expected HMAC in constant time.</t>
        <section anchor="kem-specific-security-requirements">
          <name>KEM-Specific Security Requirements</name>
          <ul spacing="normal">
            <li>
              <t><strong>Constant-time implementation:</strong> Server-side KEM encapsulation and proof verification MUST be implemented using constant-time cryptographic primitives to avoid timing side channels that could leak information about the shared secret or the private key.</t>
            </li>
            <li>
              <t><strong>Minimal secret retention:</strong> The server MUST NOT persist or log the raw KEM shared secret. Only the derived <tt>mac_key</tt> MAY be retained for the duration of the challenge, and MUST be destroyed immediately upon challenge termination.</t>
            </li>
            <li>
              <t><strong>Freshness and uniqueness:</strong> Each <tt>pop-01</tt> challenge for a KEM key MUST use a fresh invocation of ML-KEM.Encaps, generating a unique ephemeral secret and ciphertext. Ciphertexts MUST NOT be cached, reused across challenges, or shared between orders. This ensures that each derived <tt>mac_key</tt> is unique per challenge, limiting the impact of any single key compromise; the <tt>newOrder_hash</tt> binding (Section 5.5) independently prevents replay attacks across orders, as a proof computed for one order's hash cannot satisfy another order's challenge even if the ciphertext were reused.</t>
            </li>
            <li>
              <t><strong>Server-side <tt>mac_key</tt> compromise:</strong> The server stores only the derived <tt>mac_key</tt> during the challenge lifetime. If this <tt>mac_key</tt> is compromised while the challenge is still <tt>pending</tt> or <tt>processing</tt>, an attacker could generate a valid proof for that specific challenge, potentially leading to unauthorized issuance for that order. However, the per-challenge uniqueness of the <tt>mac_key</tt> ensures that compromise of one challenge does not affect others; immediate destruction upon challenge termination (as specified in Section 5.4) limits the window of exposure. Servers SHOULD protect the in-memory <tt>mac_key</tt> with the same security controls applied to other sensitive authentication material and SHOULD consider hardware-backed security mechanisms for high-value deployments. In STAR orders, this risk is limited to the bootstrap phase only, as no <tt>mac_key</tt> is retained for automatic renewals; a <tt>mac_key</tt> compromise therefore does not affect an already-established STAR renewal chain.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="algorithm-and-key-rejection">
        <name>Algorithm and Key Rejection</name>
        <t>The server MUST reject a <tt>popKey</tt> that it cannot parse or for which it does not implement the mapping required by Section 5. A server MAY also reject a syntactically valid key under CA policy. Both failures use <tt>urn:ietf:params:acme:error:badPopKey</tt>.</t>
        <t>Rejection of an otherwise valid <tt>popKey</tt> for a reason unrelated to the key value itself (e.g., the account or request is not authorized for CSR-less issuance) uses <tt>urn:ietf:params:acme:error:popKeyRejectedByPolicy</tt> as defined in Section 3.2, step 5. The two error types are distinct: <tt>badPopKey</tt> indicates a problem with the key value itself (syntax, algorithm, parameters, or equivalence to the account key), whereas <tt>popKeyRejectedByPolicy</tt> indicates that the key is acceptable but its use is not permitted by CA policy.</t>
        <t><strong>Algorithm identifier stability.</strong> Section 5 defines the algorithm mappings implemented by this document. For an accepted order, the <tt>popKey</tt> and challenge <tt>key</tt> strings are equal, proof processing uses the algorithm identified by the decoded SPKI, and, for DER-encoded X.509 certificates, the issued certificate contains the same DER SPKI octets; for other certificate encodings, cryptographic equivalence is determined as specified in Section 6.2. The mappings are not an ACME-wide whitelist; a future algorithm mapping requires an extension specification.</t>
      </section>
      <section anchor="revocation-of-kem-bound-certificates">
        <name>Revocation of KEM-Bound Certificates</name>
        <t><xref target="RFC8555"/>, Section 7.6 defines two authentication methods for revocation: the ACME account key, and the certificate's private key. For KEM-bound certificates, the certificate-private-key path is not available, as KEM keys cannot produce digital signatures.</t>
        <t>Deployments using KEM keys MUST therefore ensure the availability of the ACME account key for revocation operations. Loss of the account key leaves no in-protocol mechanism for revoking the certificate. Mitigations include:</t>
        <ul spacing="normal">
          <li>
            <t>Account-key recovery mechanisms provided by the ACME service provider.</t>
          </li>
          <li>
            <t>Short-lived certificates to reduce the impact of unrevocable certificates; the interaction of short-lived certificates with KEM keys is discussed below.</t>
          </li>
          <li>
            <t>Separate revocation channels (CRL, OCSP) operated by the CA independently of ACME.</t>
          </li>
        </ul>
        <t>Combining KEM certificate keys with STAR <xref target="RFC8739"/> concentrates the active control path on a single point: the ACME account key. STAR certificates cannot be explicitly revoked (<xref target="RFC8739"/>, Section 5.2 defines the <tt>autoRenewalRevocationNotSupported</tt> error), and KEM keys cannot use the certificate-private-key revocation method of <xref target="RFC8555"/>, Section 7.6. Cancellation of the STAR order via the account key is therefore the sole in-protocol mechanism to stop issuance after a key compromise. Deployments combining KEM keys with STAR MUST give the highest priority to securing and backing up the ACME account key, and SHOULD prefer short STAR <tt>lifetime</tt> values to bound the exposure window. Loss of the account key leaves automatic renewal running with a potentially compromised key until the order's <tt>end-date</tt>.</t>
      </section>
      <section anchor="relationship-to-established-pop-security">
        <name>Relationship to Established PoP Security</name>
        <t>The <tt>pop-01</tt> challenge builds on established IETF proof-of-possession work and provides guarantees appropriate for the ACME issuance context. Its security properties depend on the mode of operation. In particular:</t>
        <ul spacing="normal">
          <li>
            <t><strong>JWS payload processing <xref target="RFC7515"/>:</strong> To avoid JSON serialization ambiguities, the proof is bound to the exact octets obtained by Base64URL-decoding the JWS <tt>payload</tt> member of the "newOrder" request, before JSON parsing (see Section 5.5).</t>
          </li>
          <li>
            <t><strong>PoP key semantics <xref target="RFC7800"/> <xref target="RFC8747"/>:</strong> These RFCs formalize a PoP key bound to a security token. Here the public key carried in <tt>popKey</tt> and the <tt>pop-01</tt> challenge is a PoP key, and the ACME order is the binding context.</t>
          </li>
          <li>
            <t><strong>OAuth 2.0 DPoP <xref target="RFC9449"/>:</strong> DPoP is an application-layer PoP mechanism for sender-constraining OAuth tokens. It provides an example of proof binding to a protocol context, although its state and replay models differ from this ACME challenge.</t>
          </li>
          <li>
            <t><strong>CMP <xref target="RFC9810"/>:</strong> The Certificate Management Protocol likewise requires proof of possession of the certified key, illustrating that an ACME-native PoP mechanism serves a need common to PKI management protocols.</t>
          </li>
        </ul>
        <t><strong>Signature key mode.</strong> For signature keys, the proof is a digital signature over the challenge material. This provides security guarantees equivalent to the CSR self-signature mechanism of <xref target="RFC8555"/>: only the private key holder can generate the proof, and the proof serves as evidence of possession that can be independently verified by third parties.</t>
        <t><strong>KEM key mode.</strong> For KEM keys, the proof is a MAC derived from a shared secret obtained through decapsulation. This is a challenge-response proof that demonstrates to the server that the client possesses the private key, because only the client can decapsulate the ciphertext to derive the correct shared secret and MAC key. However, because the server originates the encapsulation and can compute the expected MAC independently, the proof does not provide non-repudiation: the client cannot present the proof to a third party as evidence of possession, as the server could have generated it itself.</t>
        <t>In the ACME issuance context, this distinction does not weaken security: the server is the relying party, and its goal is to verify before issuance that the requester holds the private key corresponding to the declared public key. A client that cannot decapsulate the ciphertext cannot produce the required MAC, and the proof is bound to the order context (<tt>newOrder_hash</tt>) and a fresh server-generated ciphertext, providing protection against replay and substitution. The server can, however, always compute a valid proof itself, so KEM-mode proofs provide no non-repudiation and cannot serve as third-party-verifiable evidence. Deployments that need auditable, externally verifiable proof of possession (e.g., publicly trusted CAs subject to regulatory audit) SHOULD prefer signature-capable certificate keys or a future extension for KEM-based signing proofs; where signature keys are not an option, CAs SHOULD evaluate whether logging the challenge-response exchange (ciphertext, submitted proof, timestamp) suffices for their internal audit trail, recognizing that such logs are not third-party-verifiable.</t>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>The <tt>popKey</tt> field carries a public key intended for a certificate, but sending the same value in multiple orders permits those transactions to be correlated. A fresh key for each order reduces that correlation and can be preferable when the application does not require key continuity.</t>
        <t>Key reuse is nevertheless valid protocol behavior. Renewal, public key pinning, escrow, and pre-provisioned hardware keys can require the same key in multiple certificates or orders. While <tt>popKey</tt> may be reused across orders, each reuse requires a fresh <tt>pop</tt> authorization, challenge material, and proof, ensuring that each certificate issuance is independently verified.</t>
        <t>Servers SHOULD retain <tt>popKey</tt> and proof-related data only as long as needed for order processing, certificate issuance, security investigation, and applicable audit requirements.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="acme-identifier-types-registry">
        <name>ACME Identifier Types Registry</name>
        <t>IANA is requested to add the following entry to the "ACME Identifier Types" registry (established by <xref target="RFC8555"/>):</t>
        <table anchor="tab-4">
          <name>ACME Identifier Types Registry Entry</name>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">pop</td>
              <td align="left">Auxiliary identifier type requesting a dedicated proof-of-possession authorization.</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
        <t><tt>pop</tt> is an auxiliary identifier type whose value is the empty string. It requests a dedicated proof-of-possession authorization and is not encoded in the issued certificate.</t>
        <t>The entry is registered under the "Specification Required" policy established by <xref target="RFC8555"/> for this registry. The Change Controller is the IETF.</t>
      </section>
      <section anchor="acme-validation-methods-registry">
        <name>ACME Validation Methods Registry</name>
        <t>IANA is requested to add the following entry to the “ACME Validation Methods” registry (defined in <xref target="RFC8555"/>, Section 9.7.8):</t>
        <table anchor="tab-5">
          <name>ACME Validation Methods Registry Entry</name>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Identifier Type</th>
              <th align="left">ACME</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">pop-01</td>
              <td align="left">pop</td>
              <td align="left">Y</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
        <t><tt>pop-01</tt> is used only in <tt>pop</tt> authorizations. It MUST NOT appear in certificate-identifier authorizations.</t>
        <t>The entry is registered under the "Specification Required" policy established by <xref target="RFC8555"/> for this registry. The Change Controller is the IETF.</t>
      </section>
      <section anchor="acme-directory-metadata-fields-registry">
        <name>ACME Directory Metadata Fields Registry</name>
        <t>IANA is requested to add the following entry to the "ACME Directory Metadata Fields" registry:</t>
        <table anchor="tab-6">
          <name>ACME Directory Metadata Fields Registry Entries</name>
          <thead>
            <tr>
              <th align="left">Field Name</th>
              <th align="left">Field Type</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">popStarSupported</td>
              <td align="left">boolean</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="left">popSupported</td>
              <td align="left">boolean</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
        <t><tt>popSupported</tt> indicates support for the <tt>pop</tt> identifier type, the <tt>pop-01</tt> challenge type, and the <tt>popKey</tt> field. <tt>popStarSupported</tt> indicates whether the server supports using <tt>pop</tt> authorizations with STAR orders and for automatic renewals.</t>
        <t>The entry is registered under the "Specification Required" policy established by <xref target="RFC8555"/> for this registry. The Change Controller is the IETF.</t>
      </section>
      <section anchor="acme-error-types-registry">
        <name>ACME Error Types Registry</name>
        <t>IANA is requested to add the following entries to the "ACME Error Types" registry:</t>
        <table anchor="tab-7">
          <name>ACME Error Types Registry Entries</name>
          <thead>
            <tr>
              <th align="left">Type</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">badPopKey</td>
              <td align="left">The popKey value is malformed, contains an unsupported algorithm or invalid parameters, matches the account key, or exceeds length limits.</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="left">popKeyRejectedByPolicy</td>
              <td align="left">The popKey is syntactically and algorithmically valid but rejected by CA policy (e.g., insufficient key strength, account not authorized for CSR-less issuance).</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="left">badPoP</td>
              <td align="left">The submitted proof-of-possession cryptographic verification failed.</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
        <t>The entry is registered under the "Specification Required" policy established by <xref target="RFC8555"/> for this registry. The Change Controller is the IETF.</t>
      </section>
      <section anchor="acme-order-object-fields-registry">
        <name>ACME Order Object Fields Registry</name>
        <t>IANA is requested to add the following entry to the “ACME Order Object Fields” registry (defined in <xref target="RFC8555"/>, Section 9.7.2):</t>
        <table anchor="tab-8">
          <name>ACME Order Object Fields Registry Entry</name>
          <thead>
            <tr>
              <th align="left">Field Name</th>
              <th align="left">Field Type</th>
              <th align="left">Configurable</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">popKey</td>
              <td align="left">string</td>
              <td align="left">true</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
        <t>The <tt>popKey</tt> field is included in the <tt>newOrder</tt> request and echoed in the Order object. Its value is the Base64URL-encoded DER SubjectPublicKeyInfo of the key to be certified.</t>
        <t>The entry is registered under the "Specification Required" policy established by <xref target="RFC8555"/> for this registry. The Change Controller is the IETF.</t>
      </section>
      <section anchor="acme-challenge-object-fields-registry">
        <name>ACME Challenge Object Fields Registry</name>
        <t>IANA is requested to add the following entries to the “ACME Challenge Object Fields” registry (defined in <xref target="RFC8555"/>, Section 9.7.4):</t>
        <table anchor="tab-9">
          <name>ACME Challenge Object Fields Registry Entries</name>
          <thead>
            <tr>
              <th align="left">Field Name</th>
              <th align="left">Field Type</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">key</td>
              <td align="left">string</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="left">popNonce</td>
              <td align="left">string</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="left">challenge_ciphertext</td>
              <td align="left">string</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
        <t>The <tt>key</tt> field is REQUIRED in all <tt>pop-01</tt> challenges. The <tt>popNonce</tt> field is REQUIRED in signature-key mode. The <tt>challenge_ciphertext</tt> field is REQUIRED in KEM-key mode.</t>
        <t>The entry is registered under the "Specification Required" policy established by <xref target="RFC8555"/> for this registry. The Change Controller is the IETF.</t>
      </section>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <section anchor="acme-server-ca">
        <name>ACME Server (CA)</name>
        <section anchor="obtaining-and-storing-neworderhash">
          <name>Obtaining and Storing <tt>newOrder_hash</tt></name>
          <t>As defined in Section 2, the server MUST retain the <tt>raw_newOrder</tt> payload octets, compute <tt>newOrder_hash = SHA-256(raw_newOrder)</tt>, and parse that same sequence as the request object; it MUST NOT hash a re-serialized JSON object (Section 5.1, step 1). The server stores <tt>newOrder_hash</tt> as data of the created order; challenge validation obtains the order through the stored <tt>challenge -&gt; authorization -&gt; order</tt> relationship.</t>
        </section>
        <section anchor="storing-and-validating-popkey">
          <name>Storing and Validating <tt>popKey</tt></name>
          <t>The server-side requirements for receiving, validating, and storing <tt>popKey</tt> are specified in Section 3.2 and are not repeated here. In brief: the server verifies the request shape (Section 3.2, step 1), decodes and validates the DER SPKI against the Section 5 mapping and CA policy (steps 2-4), atomically stores <tt>popKey</tt> and <tt>newOrder_hash</tt> and creates exactly one <tt>pop</tt> authorization with one <tt>pop-01</tt> challenge (steps 6-10), and sets the challenge <tt>key</tt> to the accepted <tt>popKey</tt> string (step 11). For STAR orders, the retention and renewal-use requirements for the stored <tt>popKey</tt> are as specified in Section 3.2, step 6.</t>
          <t>Mode-specific proof material is handled as specified in Section 5: for signature keys, generate a fresh 32-byte <tt>popNonce</tt> and retain the decoded bytes only until the lifecycle rule in Section 5.4 applies; for KEM keys, check the ciphertext length after Encapsulate (Section 5.2), retain only <tt>mac_key</tt>, and compare proofs in constant time.</t>
        </section>
        <section anchor="public-key-comparison-for-account-key-exclusion">
          <name>Public Key Comparison for Account Key Exclusion</name>
          <t>When comparing a <tt>popKey</tt> value against the account public key, servers MUST use the canonical DER SPKI encoding of the account key as the comparison baseline. Implementations should be aware that:</t>
          <ul spacing="normal">
            <li>
              <t>The same RSA modulus and exponent may be represented with different DER encodings (e.g., leading zero bytes in the modulus); canonical DER encoding requires the minimal number of bytes per <xref target="X.690"/>.</t>
            </li>
            <li>
              <t>The same EC point may be represented in compressed or uncompressed form; SPKI uses the uncompressed form (0x04 prefix) as specified in <xref target="RFC5480"/>.</t>
            </li>
            <li>
              <t>The same ML-KEM key has a single canonical encoding as specified in <xref target="RFC9935"/>.</t>
            </li>
          </ul>
          <t>Servers MUST reject any <tt>popKey</tt> that is cryptographically identical to the account key, regardless of encoding differences, by performing the byte-for-byte comparison after canonicalization.</t>
        </section>
        <section anchor="rate-limiting-for-kem-encapsulation">
          <name>Rate Limiting for KEM Encapsulation</name>
          <t>KEM encapsulation (ML-KEM.Encaps) is computationally more expensive than signature verification for classical keys. An attacker could repeatedly create orders containing KEM <tt>popKey</tt> values to consume server resources.</t>
          <t>Servers SHOULD apply rate limiting to <tt>newOrder</tt> requests containing a <tt>popKey</tt>, particularly for KEM key types where encapsulation is computationally expensive. Rate limits SHOULD be applied per account and per IP address to prevent resource exhaustion attacks. Servers MAY also reject <tt>popKey</tt> values for KEM algorithms that exceed the server's configured resource limits, returning <tt>urn:ietf:params:acme:error:badPopKey</tt>.</t>
        </section>
        <section anchor="error-returns">
          <name>Error Returns</name>
          <t>For a well-formed proof that fails cryptographic verification, the server returns HTTP 200 with an updated <tt>invalid</tt> challenge object containing a <tt>badPoP</tt> error. A request-layer syntax failure returns a top-level <tt>malformed</tt> problem response.</t>
        </section>
      </section>
      <section anchor="acme-client">
        <name>ACME Client</name>
        <t>Before requesting CSR-less issuance, a client can check for <tt>popSupported: true</tt>. For a CSR-less request, the client:</t>
        <ol spacing="normal" type="1"><li>
            <t>Serializes the "newOrder" JSON object once, retains the resulting octets as <tt>raw_newOrder</tt>, and uses those same octets as the JWS payload.</t>
          </li>
          <li>
            <t>Includes exactly one <tt>{ "type": "pop", "value": "" }</tt> identifier together with <tt>popKey</tt> and at least one certificate identifier.</t>
          </li>
          <li>
            <t>After receiving the initial order, verifies that the echoed <tt>popKey</tt> string is unchanged, that the order retains exactly one <tt>pop</tt> identifier, and that exactly one authorization URL resolves to an authorization with that identifier.</t>
          </li>
          <li>
            <t>Verifies that this authorization contains exactly one <tt>pop-01</tt> challenge.</t>
          </li>
          <li>
            <t>Verifies that the <tt>key</tt> field of the <tt>pop-01</tt> challenge is byte-identical to the <tt>popKey</tt> string submitted in the <tt>newOrder</tt> request.</t>
          </li>
          <li>
            <t>Constructs the proof and submits it in an account-key-authenticated challenge JWS.</t>
          </li>
          <li>
            <t>Retrieves the order URL using POST-as-GET until the order becomes <tt>ready</tt>, before sending the finalize request.</t>
          </li>
        </ol>
        <section anchor="fallback-behavior">
          <name>Fallback Behavior</name>
          <ul spacing="normal">
            <li>
              <t><strong>Pre-flight check:</strong> Before creating an order, the client SHOULD check for <tt>popSupported: true</tt> in the directory metadata. If absent or false, the client MUST use the standard CSR flow.</t>
            </li>
            <li>
              <t><strong>Hard failure fallback:</strong> If the <tt>newOrder</tt> request is rejected with <tt>unsupportedIdentifier</tt>, the client MUST abandon the CSR-less attempt and create a new order using the CSR flow without the <tt>pop</tt> identifier.</t>
            </li>
            <li>
              <t><strong>Inconsistent response fallback:</strong> If the server returns an order that omits <tt>popKey</tt>, omits the <tt>pop</tt> identifier, or does not include exactly one <tt>pop</tt> authorization, the client MUST treat the CSR-less flow as rejected and fall back to CSR-based issuance.</t>
            </li>
            <li>
              <t><strong>STAR capability fallback:</strong> If the client intends to create a STAR order and the server does not advertise <tt>popStarSupported: true</tt>, the client MUST NOT include a <tt>pop</tt> identifier in that order, and SHOULD fall back to the CSR-based STAR flow.</t>
            </li>
          </ul>
          <t>For example, a client that does not see <tt>popSupported: true</tt> uses the standard CSR-based flow with only certificate identifiers:</t>
          <artwork><![CDATA[
{
  "identifiers": [
    { "type": "dns", "value": "example.com" }
  ]
}
]]></artwork>
          <t>A server that receives an unsupported <tt>pop</tt> identifier rejects it with the existing <tt>unsupportedIdentifier</tt> error, as described in Section 3.2.</t>
        </section>
      </section>
      <section anchor="implementation-status">
        <name>Implementation Status</name>
        <t>At the time of publication, the authors are not aware of any public implementations of this specification. The authors welcome implementation feedback.</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="signature-key-with-dns-identifier">
        <name>Signature Key with DNS Identifier</name>
        <t>The client controls <tt>example.com</tt> and has a P-256 certificate key. The server advertises <tt>popSupported: true</tt>.</t>
        <t>Step 1: Create the order.</t>
        <artwork><![CDATA[
{
  "identifiers": [
    {"type":"dns","value":"example.com"},
    {"type":"pop","value":""}
  ],
  "popKey":"<base64url(spki_bytes)>"
}
]]></artwork>
        <t>The HTTP entity is an account-key-authenticated JWS.</t>
        <t>Step 2: Retrieve the order and its two authorizations.</t>
        <artwork><![CDATA[
{
  "status": "pending",
  "expires": "2026-09-30T00:00:00Z",
  "identifiers": [
    { "type": "dns", "value": "example.com" },
    { "type": "pop", "value": "" }
  ],
  "authorizations": [
    "https://acme.example.com/acme/authz/dnsAuthz",
    "https://acme.example.com/acme/authz/popAuthz"
  ],
  "popKey": "<base64url(spki_bytes)>",
  "finalize": "https://acme.example.com/acme/order/xyz/finalize"
}
]]></artwork>
        <t>The DNS authorization contains normal challenge alternatives. The <tt>pop</tt> authorization contains only <tt>pop-01</tt>:</t>
        <artwork><![CDATA[
{
  "status": "pending",
  "identifier": { "type": "pop", "value": "" },
  "challenges": [{
    "type": "pop-01",
    "url": "https://acme.example.com/acme/chall/pop789",
    "status": "pending",
    "key": "<base64url(spki_bytes)>",
    "popNonce": "<base64url(32 random bytes)>"
  }]
}
]]></artwork>
        <t>Step 3: Complete each authorization.</t>
        <t>The client completes one offered DNS challenge. For the <tt>pop</tt> authorization, it computes:</t>
        <artwork><![CDATA[
newOrder_hash = SHA-256(raw_newOrder)
popNonce_bytes = base64url-decode(popNonce)
to_sign = "ACME-pop-01-sig v1:" || popNonce_bytes || newOrder_hash
proof = base64url(ECDSA-Sign-P1363(private_key, to_sign))
]]></artwork>
        <t>It submits the proof to <tt>/acme/chall/pop789</tt>.</t>
        <t>Step 4: Finalize without a CSR.</t>
        <artwork><![CDATA[
POST /acme/order/xyz/finalize HTTP/1.1
Host: acme.example.com
Content-Type: application/jose+json

{
  "protected": "<base64url(protected-header)>",
  "payload": "e30",
  "signature": "<base64url(account-key-signature)>"
}
]]></artwork>
        <t>When the order becomes <tt>valid</tt>, the certificate URL is returned.</t>
      </section>
      <section anchor="kem-key-with-device-attestation">
        <name>KEM Key with Device Attestation</name>
        <t>An IoT device has an ML-KEM-768 certificate key and a permanent identifier <tt>ABCDEF123456</tt>, using the <tt>permanent-identifier</tt> identifier type defined in <xref target="I-D.ietf-acme-device-attest"/>. The order request is as follows:</t>
        <artwork><![CDATA[
{
  "identifiers": [{
    "type":"permanent-identifier",
    "value":"ABCDEF123456"
  }, {
    "type":"pop",
    "value":""
  }],
  "popKey":"<base64url(ml-kem-768-spki)>"
}
]]></artwork>
        <t>The order contains separate device-attestation and <tt>pop</tt> authorizations. The <tt>pop</tt> authorization contains:</t>
        <artwork><![CDATA[
{
  "status": "pending",
  "identifier": { "type": "pop", "value": "" },
  "challenges": [{
    "type": "pop-01",
    "url": "https://acme.example.com/acme/chall/pop890",
    "status": "pending",
    "key": "<base64url(ml-kem-768-spki)>",
    "challenge_ciphertext": "<base64url(ml-kem-768-ciphertext)>"
  }]
}
]]></artwork>
        <t>The client computes the KEM proof:</t>
        <artwork><![CDATA[
ct = base64url-decode(challenge_ciphertext)
shared_secret = ML-KEM-768.Decapsulate(private_key, ct)
prk = HKDF-Extract[SHA-256](salt, IKM = shared_secret)
mac_key = HKDF-Expand[SHA-256](prk,
          info = ASCII("ACME-pop-01-KEM v1"), L = 32)
newOrder_hash = SHA-256(raw_newOrder)
proof = base64url(HMAC-SHA-256(mac_key, newOrder_hash))
]]></artwork>
        <t><em>salt uses the default all-zero salt per <xref target="RFC5869"/>, Section 2.2.</em></t>
        <t>Once both the device-attestation and <tt>pop</tt> authorizations are valid, the order becomes <tt>ready</tt>. The client finalizes with an empty object.</t>
      </section>
      <section anchor="complete-iot-certificate-automation-stack-informative">
        <name>Complete IoT Certificate Automation Stack (Informative)</name>
        <t>This example shows how the CSR-less flow combines with device attestation and C509 for constrained IoT devices: <tt>device-attest-01</tt> establishes device identity and trusted state, <tt>pop-01</tt> proves possession of the certificate private key, and C509 delivers the certificate in compact CBOR. Device attestation details are defined in <xref target="I-D.ietf-acme-device-attest"/>; the C509 public key equivalence check is specified in Section 6.2. Client preferences such as <tt>preferredCertificateFormat</tt>, <tt>c509Supported</tt>, and <tt>c509CertificateTypes</tt> are illustrative and not defined as normative fields by this document.</t>
        <t>A constrained IoT device with an ML-KEM-768 key and a hardware trust anchor (e.g., TPM 2.0) requests a certificate for <tt>sensor.example.com</tt>. The flow follows Section 10.2 for the two authorizations, with C509 as the delivery format:</t>
        <ol spacing="normal" type="1"><li>
            <t>The client sends <tt>newOrder</tt> with a <tt>permanent-identifier</tt> and a <tt>pop</tt> identifier plus a <tt>popKey</tt> carrying the ML-KEM-768 SPKI.</t>
          </li>
          <li>
            <t>The server creates a device-attestation authorization and a <tt>pop</tt> authorization.</t>
          </li>
          <li>
            <t>The client completes <tt>device-attest-01</tt> with hardware attestation evidence (the challenge mechanics are defined in <xref target="I-D.ietf-acme-device-attest"/>).</t>
          </li>
          <li>
            <t>The client completes the <tt>pop-01</tt> challenge as in Section 10.2.</t>
          </li>
          <li>
            <t>When both authorizations are <tt>valid</tt>, the order becomes <tt>ready</tt>; the client finalizes with an empty object.</t>
          </li>
          <li>
            <t>The server issues the certificate in C509 format, verifying that the CBOR-encoded subjectPublicKey is cryptographically equivalent to the validated <tt>popKey</tt> (Section 6.2). The certificate is returned with <tt>Content-Type: application/cose-c509</tt>.</t>
          </li>
        </ol>
        <t>The two authorizations are independent and may be completed in any order; the order becomes <tt>ready</tt> only when both are <tt>valid</tt>, forming the trust statement "a trusted device holding this certificate key." If the device has no attestation support, the client omits <tt>permanent-identifier</tt> and uses a DNS identifier instead; if the server does not support C509, the certificate is returned in DER format. The <tt>pop</tt> authorization is the common proof-of-possession mechanism in both cases.</t>
        <t>When combined with STAR, the device requests a STAR order with a <tt>popKey</tt>/<tt>pop</tt> pair at bootstrap, and the CA automatically renews the C509 certificate from the validated <tt>popKey</tt> within the STAR order's lifetime without re-running the <tt>pop-01</tt> challenge (Section 3.5). This provides the CSR-less equivalent of <xref target="RFC8739"/>'s auto-renewal for C509 deployments; the ACME account key is the sole in-protocol mechanism for stopping the renewal sequence (Section 7.5). Section 10.4 provides the complete STAR bootstrap flow for the CSR-less case.</t>
      </section>
      <section anchor="star-bootstrap-with-csr-less-flow-informative">
        <name>STAR Bootstrap with CSR-less Flow (Informative)</name>
        <t>This example illustrates how a client uses the <tt>pop</tt> authorization to bootstrap a STAR order <xref target="RFC8739"/>, Section 2.1. The combination rules are specified in Section 3.5; this section focuses on the STAR-specific flow.</t>
        <t><strong>Step 0: Discover capability.</strong></t>
        <t>Before creating the order, the client checks that the server advertises <tt>popSupported: true</tt> (this document) and <tt>auto-renewal</tt> support in its directory metadata, as specified in Section 3.4.1.</t>
        <t><strong>Step 1: Client creates a STAR order.</strong></t>
        <t>The client includes an <tt>auto-renewal</tt> object in the <tt>newOrder</tt> request alongside the <tt>popKey</tt> and <tt>pop</tt> identifier.</t>
        <artwork><![CDATA[
{
  "identifiers": [
    { "type": "dns", "value": "example.com" },
    { "type": "pop", "value": "" }
  ],
  "popKey": "<base64url(DER-encoded SPKI)>",
  "auto-renewal": {
    "end-date": "2027-08-30T00:00:00Z",
    "lifetime": 86400
  }
}
]]></artwork>
        <t>The <tt>auto-renewal</tt> object syntax is defined in <xref target="RFC8739"/>, Section 3.1.1; <tt>end-date</tt> and <tt>lifetime</tt> are required.</t>
        <t><strong>Step 2: Server processes the order.</strong></t>
        <t>The server processes the request as described in Section 3.2, creating both the identifier authorization (e.g., DNS) and the <tt>pop</tt> authorization. The server MAY adjust the auto-renewal values according to its local policy (<xref target="RFC8739"/>, Section 3.1.1); the returned Order object includes the echoed <tt>popKey</tt> and the server-accepted <tt>auto-renewal</tt> object:</t>
        <artwork><![CDATA[
{
  "status": "pending",
  "expires": "2027-08-30T00:00:00Z",
  "identifiers": [
    { "type": "dns", "value": "example.com" },
    { "type": "pop", "value": "" }
  ],
  "authorizations": [
    "https://acme.example.com/acme/authz/dns-abc123",
    "https://acme.example.com/acme/authz/pop-def456"
  ],
  "popKey": "<base64url(DER-encoded SPKI)>",
  "auto-renewal": {
    "end-date": "2027-08-30T00:00:00Z",
    "lifetime": 86400
  },
  "finalize": "https://acme.example.com/acme/order/xyz/finalize"
}
]]></artwork>
        <t><strong>Step 3: Complete the authorizations.</strong></t>
        <t>The client completes the identifier authorization (e.g., via <tt>dns-01</tt>) and the <tt>pop-01</tt> challenge as shown in Sections 10.1 and 10.2. Both authorizations MUST reach the <tt>valid</tt> state before the order becomes <tt>ready</tt>.</t>
        <t><strong>Step 4: Finalize the bootstrap.</strong></t>
        <t>Once the order is <tt>ready</tt>, the client sends an empty JSON object to the finalize endpoint, as specified in Section 6.1:</t>
        <artwork><![CDATA[
POST /acme/order/xyz/finalize HTTP/1.1
Host: acme.example.com
Content-Type: application/jose+json

{
  "protected": "<base64url(protected-header)>",
  "payload": "e30",
  "signature": "<base64url(account-key-signature)>"
}
]]></artwork>
        <t>Once the order is <tt>valid</tt>, the client obtains the (rolling) STAR certificate from the <tt>star-certificate</tt> URL as defined in <xref target="RFC8739"/>, Section 3.3. Automatic renewals are governed by the rules in Section 3.5; no new <tt>pop-01</tt> challenge is required.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="FIPS-203" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf">
          <front>
            <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization>National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date year="2024" month="August" day="13"/>
          </front>
          <seriesInfo name="FIPS" value="203"/>
        </reference>
        <reference anchor="FIPS-204" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date year="2024" month="August" day="13"/>
          </front>
          <seriesInfo name="FIPS" value="204"/>
        </reference>
        <reference anchor="FIPS-205" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.205.pdf">
          <front>
            <title>Stateless Hash-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date year="2024" month="August" day="13"/>
          </front>
          <seriesInfo name="FIPS" value="205"/>
        </reference>
        <reference anchor="X.690" target="https://www.itu.int/rec/T-REC-X.690">
          <front>
            <title>Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February" day="13"/>
          </front>
          <seriesInfo name="ITU-T" value="X.690"/>
        </reference>
        <reference anchor="P1363" target="https://doi.org/10.1109/IEEESTD.2000.92292">
          <front>
            <title>IEEE Standard Specifications for Public-Key Cryptography</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2000"/>
          </front>
          <seriesInfo name="IEEE" value="Std 1363-2000"/>
          <seriesInfo name="DOI" value="10.1109/IEEESTD.2000.92292"/>
        </reference>
        <reference anchor="RFC8555" target="https://www.rfc-editor.org/info/rfc8555" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8555.xml">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC8739" target="https://www.rfc-editor.org/info/rfc8739" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8739.xml">
          <front>
            <title>Support for Short-Term, Automatically Renewed (STAR) Certificates in the Automated Certificate Management Environment (ACME)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Lopez" initials="D." surname="Lopez"/>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
            <author fullname="A. Pastor Perales" initials="A." surname="Pastor Perales"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="March" year="2020"/>
            <abstract>
              <t>Public key certificates need to be revoked when they are compromised, that is, when the associated private key is exposed to an unauthorized entity. However, the revocation process is often unreliable. An alternative to revocation is issuing a sequence of certificates, each with a short validity period, and terminating the sequence upon compromise. This memo proposes an Automated Certificate Management Environment (ACME) extension to enable the issuance of Short-Term, Automatically Renewed (STAR) X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8739"/>
          <seriesInfo name="DOI" value="10.17487/RFC8739"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC6234" target="https://www.rfc-editor.org/info/rfc6234" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6234.xml">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
        <reference anchor="RFC7515" target="https://www.rfc-editor.org/info/rfc7515" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7515.xml">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC5480" target="https://www.rfc-editor.org/info/rfc5480" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5480.xml">
          <front>
            <title>Elliptic Curve Cryptography Subject Public Key Information</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="K. Yiu" initials="K." surname="Yiu"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Polk" initials="T." surname="Polk"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the syntax and semantics for the Subject Public Key Information field in certificates that support Elliptic Curve Cryptography. This document updates Sections 2.3.5 and 5, and the ASN.1 module of "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 3279. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5480"/>
          <seriesInfo name="DOI" value="10.17487/RFC5480"/>
        </reference>
        <reference anchor="RFC4086" target="https://www.rfc-editor.org/info/rfc4086" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4086.xml">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="RFC8032" target="https://www.rfc-editor.org/info/rfc8032" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8032.xml">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8410" target="https://www.rfc-editor.org/info/rfc8410" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8410.xml">
          <front>
            <title>Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use in the Internet X.509 Public Key Infrastructure</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for elliptic curve constructs using the curve25519 and curve448 curves. The signature algorithms covered are Ed25519 and Ed448. The key agreement algorithms covered are X25519 and X448. The encoding for public key, private key, and Edwards-curve Digital Signature Algorithm (EdDSA) structures is provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8410"/>
          <seriesInfo name="DOI" value="10.17487/RFC8410"/>
        </reference>
        <reference anchor="RFC9881" target="https://www.rfc-editor.org/info/rfc9881" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9881.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure -- Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)</title>
            <author fullname="J. Massimo" initials="J." surname="Massimo"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="B. E. Westerbaan" initials="B. E." surname="Westerbaan"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>Digital signatures are used within X.509 certificates and Certificate Revocation Lists (CRLs), and to sign messages. This document specifies the conventions for using FIPS 204, the Module-Lattice-Based Digital Signature Algorithm (ML-DSA) in Internet X.509 certificates and CRLs. The conventions for the associated signatures, subject public keys, and private key are also described.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9881"/>
          <seriesInfo name="DOI" value="10.17487/RFC9881"/>
        </reference>
        <reference anchor="RFC9909" target="https://www.rfc-editor.org/info/rfc9909" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9909.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure -- Algorithm Identifiers for the Stateless Hash-Based Digital Signature Algorithm (SLH-DSA)</title>
            <author fullname="K. Bashiri" initials="K." surname="Bashiri"/>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
            <author fullname="S. Gazdag" initials="S." surname="Gazdag"/>
            <author fullname="D. Van Geest" initials="D." surname="Van Geest"/>
            <author fullname="S. Kousidis" initials="S." surname="Kousidis"/>
            <date month="December" year="2025"/>
            <abstract>
              <t>Digital signatures are used within the X.509 Public Key Infrastructure, such as X.509 certificates and Certificate Revocation Lists (CRLs), as well as to sign messages. This document specifies the conventions for using the Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) in the X.509 Public Key Infrastructure. The conventions for the associated signatures, subject public keys, and private keys are also specified.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9909"/>
          <seriesInfo name="DOI" value="10.17487/RFC9909"/>
        </reference>
        <reference anchor="RFC3279" target="https://www.rfc-editor.org/info/rfc3279" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3279.xml">
          <front>
            <title>Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="L. Bassham" initials="L." surname="Bassham"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="May" year="2002"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for digital signatures and subject public keys used in the Internet X.509 Public Key Infrastructure (PKI). Digital signatures are used to sign certificates and certificate revocation list (CRLs). Certificates include the public key of the named subject. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3279"/>
          <seriesInfo name="DOI" value="10.17487/RFC3279"/>
        </reference>
        <reference anchor="RFC7518" target="https://www.rfc-editor.org/info/rfc7518" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7518.xml">
          <front>
            <title>JSON Web Algorithms (JWA)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification registers cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications. It defines several IANA registries for these identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7518"/>
          <seriesInfo name="DOI" value="10.17487/RFC7518"/>
        </reference>
        <reference anchor="RFC9935" target="https://www.rfc-editor.org/info/rfc9935" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9935.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure - Algorithm Identifiers for the Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM)</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="J. Massimo" initials="J." surname="Massimo"/>
            <author fullname="B. E. Westerbaan" initials="B. E." surname="Westerbaan"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>The Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) is a quantum-resistant Key Encapsulation Mechanism. This document specifies the conventions for using the ML-KEM in X.509 Public Key Infrastructure. The conventions for the subject public keys and private keys are also specified.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9935"/>
          <seriesInfo name="DOI" value="10.17487/RFC9935"/>
        </reference>
        <reference anchor="RFC5869" target="https://www.rfc-editor.org/info/rfc5869" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5869.xml">
          <front>
            <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5869"/>
          <seriesInfo name="DOI" value="10.17487/RFC5869"/>
        </reference>
        <reference anchor="RFC9449" target="https://www.rfc-editor.org/info/rfc9449" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9449.xml">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-acme-profiles" target="https://datatracker.ietf.org/doc/html/draft-ietf-acme-profiles-03" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-acme-profiles.xml">
          <front>
            <title>Automated Certificate Management Environment (ACME) Profiles Extension</title>
            <author fullname="Aaron Gable" initials="A." surname="Gable">
              <organization>Internet Security Research Group</organization>
            </author>
            <date day="28" month="October" year="2026"/>
            <abstract>
              <t>This document defines how an ACME Server may offer a selection of different certificate profiles to ACME Clients, and how those clients may indicate which profile they want.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-profiles-03"/>
        </reference>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert" target="https://datatracker.ietf.org/doc/html/draft-ietf-cose-cbor-encoded-cert-21" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cose-cbor-encoded-cert.xml">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza" initials="S." surname="Raza">
              <organization>University of Glasgow</organization>
            </author>
            <author fullname="Joel Höglund" initials="J." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
              <organization>IN Groupe</organization>
            </author>
            <author fullname="Lijun Liao" initials="L." surname="Liao">
              <organization>NIO Inc.</organization>
            </author>
            <date day="24" month="September" year="2026"/>
            <abstract>
              <t>This document specifies a CBOR encoding of X.509 certificates. The resulting certificates are called C509 certificates. The CBOR encoding supports a large subset of RFC 5280 and common certificate profiles, and it is extensible. Two types of C509 certificates are defined. One type is an invertible CBOR re-encoding of DER-encoded X.509 certificates with the signature field copied from the DER encoding. The other type is identical except that the signature is computed over the CBOR encoding instead of the DER encoding, thereby avoiding the use of ASN.1. Both types of certificates have the same semantics as X.509 while providing comparable size reduction. This document also specifies CBOR-encoded data structures for certification requests and certification request templates, new COSE headers, as well as a TLS certificate type and a file format for C509. This document updates RFC 6698 by extending the TLSA selectors registry to include C509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-21"/>
        </reference>
        <reference anchor="I-D.ietf-acme-device-attest" target="https://datatracker.ietf.org/doc/html/draft-ietf-acme-device-attest-10" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-acme-device-attest.xml">
          <front>
            <title>Automatic Certificate Management Environment (ACME) Device Attestation Extension</title>
            <author fullname="Brandon Weeks" initials="B." surname="Weeks">
              <organization>Google Inc</organization>
            </author>
            <author fullname="Ganesh Mallaya" initials="G." surname="Mallaya">
              <organization>AppViewX Inc.</organization>
            </author>
            <author fullname="Sven Rajala" initials="S." surname="Rajala">
              <organization>Keyfactor</organization>
            </author>
            <author fullname="Corey Bonnell" initials="C." surname="Bonnell">
              <organization>TurboLight Solutions</organization>
            </author>
            <author fullname="Ryan Hurst" initials="R." surname="Hurst">
              <organization>Peculiar Ventures</organization>
            </author>
            <date day="9" month="August" year="2026"/>
            <abstract>
              <t>This document specifies new identifiers and a challenge for the Automatic Certificate Management Environment (ACME) protocol which allows validating the identity of a device using attestation. This document updates RFC 8555 to enable a privacy-preserving mode for the identifiers defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-device-attest-10"/>
        </reference>
        <reference anchor="I-D.ietf-acme-rats" target="https://datatracker.ietf.org/doc/html/draft-ietf-acme-rats-03" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-acme-rats.xml">
          <front>
            <title>Automated Certificate Management Environment (ACME) Remote Attestation Identifier and Challenge Type</title>
            <author fullname="Peter Chunchi Liu" initials="P. C." surname="Liu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Cryptic Forest Software, Ltd</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works Inc</organization>
            </author>
            <author fullname="Ganesh Mallaya" initials="G." surname="Mallaya">
              <organization>AppViewX, Inc</organization>
            </author>
            <author fullname="Sven Rajala" initials="S." surname="Rajala">
              <organization>Keyfactor</organization>
            </author>
            <date day="28" month="October" year="2026"/>
            <abstract>
              <t>This document describes an approach where an ACME Server can challenge an ACME Client to provide Evidence, Endorsements, or Attestation Result according to the Remote ATtestation procedureS (RATS) framework in any format supported by the Conceptual Message Wrapper (CMW). The ACME Server can optionally challenge the Client for specific claims that it wishes attestation for.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-rats-03"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-pq-composite-kem" target="https://datatracker.ietf.org/doc/html/draft-ietf-lamps-pq-composite-kem-23" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lamps-pq-composite-kem.xml">
          <front>
            <title>Composite ML-KEM for use in X.509 Public Key Infrastructure</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Massimiliano Pala" initials="M." surname="Pala">
              <organization>OpenCA Labs</organization>
            </author>
            <author fullname="Jan Klaußner" initials="J." surname="Klaußner">
              <organization>Bundesdruckerei GmbH</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <date day="14" month="October" year="2026"/>
            <abstract>
              <t>This document defines combinations of US NIST ML-KEM in hybrid with traditional algorithms RSA-OAEP, ECDH, X25519, and X448. These combinations are tailored to meet security best practices and regulatory guidelines. Composite ML-KEM is applicable in any application that uses X.509 or PKIX data structures that accept ML- KEM, but where the operator wants extra protection against breaks or catastrophic bugs in ML-KEM.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-pq-composite-kem-23"/>
        </reference>
        <reference anchor="RFC2986" target="https://www.rfc-editor.org/info/rfc2986" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2986.xml">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC9773" target="https://www.rfc-editor.org/info/rfc9773" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9773.xml">
          <front>
            <title>ACME Renewal Information (ARI) Extension</title>
            <author fullname="A. Gable" initials="A." surname="Gable"/>
            <date month="June" year="2025"/>
            <abstract>
              <t>This document specifies how an Automated Certificate Management Environment (ACME) server may provide suggestions to ACME clients as to when they should attempt to renew their certificates. This allows servers to mitigate load spikes and ensures that clients do not make false assumptions about appropriate certificate renewal periods.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9773"/>
          <seriesInfo name="DOI" value="10.17487/RFC9773"/>
        </reference>
        <reference anchor="RFC7800" target="https://www.rfc-editor.org/info/rfc7800" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7800.xml">
          <front>
            <title>Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>This specification describes how to declare in a JSON Web Token (JWT) that the presenter of the JWT possesses a particular proof-of- possession key and how the recipient can cryptographically confirm proof of possession of the key by the presenter. Being able to prove possession of a key is also sometimes described as the presenter being a holder-of-key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7800"/>
          <seriesInfo name="DOI" value="10.17487/RFC7800"/>
        </reference>
        <reference anchor="RFC8747" target="https://www.rfc-editor.org/info/rfc8747" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8747.xml">
          <front>
            <title>Proof-of-Possession Key Semantics for CBOR Web Tokens (CWTs)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="March" year="2020"/>
            <abstract>
              <t>This specification describes how to declare in a CBOR Web Token (CWT) (which is defined by RFC 8392) that the presenter of the CWT possesses a particular proof-of-possession key. Being able to prove possession of a key is also sometimes described as being the holder-of-key. This specification provides equivalent functionality to "Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)" (RFC 7800) but using Concise Binary Object Representation (CBOR) and CWTs rather than JavaScript Object Notation (JSON) and JSON Web Tokens (JWTs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8747"/>
          <seriesInfo name="DOI" value="10.17487/RFC8747"/>
        </reference>
        <reference anchor="RFC9810" target="https://www.rfc-editor.org/info/rfc9810" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9810.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure -- Certificate Management Protocol (CMP)</title>
            <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
            <author fullname="D. von Oheimb" initials="D." surname="von Oheimb"/>
            <author fullname="M. Ounsworth" initials="M." surname="Ounsworth"/>
            <author fullname="J. Gray" initials="J." surname="Gray"/>
            <date month="July" year="2025"/>
            <abstract>
              <t>This document describes the Internet X.509 Public Key Infrastructure (PKI) Certificate Management Protocol (CMP). Protocol messages are defined for X.509v3 certificate creation and management. CMP provides interactions between client systems and PKI components such as a Registration Authority (RA) and a Certification Authority (CA).</t>
              <t>This document adds support for management of certificates containing a Key Encapsulation Mechanism (KEM) public key and uses EnvelopedData instead of EncryptedValue. This document also includes the updates specified in Section 2 and Appendix A.2 of RFC 9480.</t>
              <t>This document obsoletes RFC 4210, and together with RFC 9811, it also obsoletes RFC 9480. Appendix F of this document updates Section 9 of RFC 5912.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9810"/>
          <seriesInfo name="DOI" value="10.17487/RFC9810"/>
        </reference>
      </references>
    </references>
    <?line 1266?>

<section anchor="appendix-a">
      <name>Design Decisions and Alternatives Considered</name>
      <t>This appendix documents the design decisions made in this document and the alternatives that were considered but not adopted. It is provided for informational purposes to help the Working Group understand the rationale behind the chosen design.</t>
      <section anchor="comparison-with-csr-based-issuance">
        <name>Comparison with CSR-based Issuance</name>
        <t>The following table summarizes the key differences between the traditional CSR-based issuance flow and the <tt>pop</tt> authorization flow defined in this document:</t>
        <table anchor="tab-10">
          <name>Comparison with CSR-based Issuance</name>
          <thead>
            <tr>
              <th align="left">Dimension</th>
              <th align="left">CSR-based Flow</th>
              <th align="left">pop Authorization Flow</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Public key submission</td>
              <td align="left">In CSR at finalization</td>
              <td align="left">In <tt>newOrder</tt> as <tt>popKey</tt></td>
            </tr>
            <tr>
              <td align="left">Proof of possession</td>
              <td align="left">CSR self-signature</td>
              <td align="left">
                <tt>pop-01</tt> challenge</td>
            </tr>
            <tr>
              <td align="left">Binding time</td>
              <td align="left">Finalization</td>
              <td align="left">Authorization phase</td>
            </tr>
            <tr>
              <td align="left">Substitution attack surface</td>
              <td align="left">CSR can be replaced at finalization</td>
              <td align="left">None (key fixed at order creation)</td>
            </tr>
            <tr>
              <td align="left">Supported key types</td>
              <td align="left">Signature-capable only</td>
              <td align="left">All types (signature + KEM)</td>
            </tr>
            <tr>
              <td align="left">PKCS#10 CSR ASN.1/DER encoding</td>
              <td align="left">Required</td>
              <td align="left">Eliminated (popKey remains DER SPKI)</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="historical-context-why-csr-was-chosen-and-why-it-is-no-longer-necessary">
        <name>Historical Context: Why CSR Was Chosen and Why It Is No Longer Necessary</name>
        <t>ACME's original requirement for a PKCS#10 CSR at finalization was driven by three pragmatic considerations in 2015: concern about CA/Browser Forum Baseline Requirements mandating CSRs, compatibility with existing PKI toolchains and HSM workflows, and the convenience of using the CSR's self-signature as proof of possession.</t>
        <t>All three rationales have since eroded. The CA/Browser Forum Baseline Requirements do not mandate PKCS#10 CSRs for certificate issuance; they require validation of domain control and proof of possession, which other mechanisms can satisfy. ACME is now the Web PKI automation standard, so backward compatibility with legacy CSR workflows matters less. Post-quantum KEM keys cannot produce self-signatures, and the CSR-based PoP leaves a semantic window: the public key is not bound to the order until finalization, a property that matters in deployments with untrusted proxy components (see Section 7.1).</t>
        <t>The <tt>pop</tt> authorization design addresses this longstanding constraint by replacing the CSR-based PoP with an ACME-native mechanism aligned with the principle that the order is the authoritative source of client-declared certificate parameters.</t>
      </section>
      <section anchor="the-two-paths-for-pop-and-why-order-level-pop-was-rejected">
        <name>The Two Paths for PoP and Why Order-Level PoP Was Rejected</name>
        <t>During the development of this document, a key architectural question was whether proof-of-possession should be modeled as a new authorization type or as an order-level condition verified at finalization. In WG discussion, Ilari Liusvaara observed that two paths existed for implementing PoP in ACME:</t>
        <ul spacing="normal">
          <li>
            <t><strong>(a) New identifier type with dedicated authorization:</strong> This approach reuses the existing ACME authorization state machine. The <tt>pop</tt> identifier requests a dedicated authorization whose sole challenge is <tt>pop-01</tt>. The order becomes <tt>ready</tt> only after all authorizations, including the <tt>pop</tt> authorization, are <tt>valid</tt>.</t>
          </li>
          <li>
            <t><strong>(b) Public key as an order field:</strong> This approach adds <tt>popKey</tt> and a PoP challenge URL directly to the order object. The PoP proof is submitted at finalization, alongside or instead of a CSR.</t>
          </li>
        </ul>
        <t>The Working Group consensus favored path (a) for several reasons. It preserves the OR-semantics of existing identifier authorizations, avoids a new class of order-level wait condition, and leaves a clean integration path for future extensions. It also eliminates the late-binding semantic window that remains open in path (b) and in the traditional CSR flow, because the PoP proof must complete before the order becomes <tt>ready</tt>; that window matters in deployments with untrusted proxy components (see Section 7.1).</t>
        <t>Two order-level variants of path (b) were discussed and rejected:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Order-level field without authorization:</strong> adding a <tt>popState</tt> field to the order object to track PoP status. This would bypass the standard ACME authorization state machine, require special-case logic in order processing, and force clients to handle PoP differently from other verifications, increasing implementation complexity.</t>
          </li>
          <li>
            <t><strong>Order-level PoP verified at finalization:</strong> adding a <tt>keyPopNonce</tt> field to the order and requiring the client to submit the PoP proof at finalization. When the order transitions to <tt>ready</tt>, the server has not yet verified that the client possesses the private key corresponding to the declared public key; <tt>ready</tt> therefore loses its semantic meaning that all verifications required for issuance have been completed. The temporal separation creates a window in which the binding between the declared public key and the proof of possession could be subverted. While the protocol could be specified to prevent direct replacement of the public key at finalization, this does not eliminate the underlying architectural weakness.</t>
          </li>
        </ul>
        <t>The <tt>pop</tt> authorization design avoids both issues: all verifications, including proof-of-possession, are completed before the order becomes <tt>ready</tt>, preserving the semantic meaning of the <tt>ready</tt> state. The client experience remains uniform, as all verifications are represented as authorizations.</t>
      </section>
      <section anchor="why-a-dedicated-authorization-not-a-challenge-attached-to-certificate-identifier-authorizations">
        <name>Why a Dedicated Authorization, Not a Challenge Attached to Certificate-Identifier Authorizations?</name>
        <t>The design of attaching a PoP challenge to each identifier authorization was considered and rejected for the following reasons:</t>
        <ul spacing="normal">
          <li>
            <t><strong>OR-semantics violation:</strong> ACME authorizations have OR-semantics (any one challenge succeeds -&gt; authorization valid). A PoP challenge attached to an identifier authorization would require AND-semantics (identifier challenge AND PoP challenge) to achieve the desired security property. This would fundamentally change the semantics of existing authorization processing.</t>
          </li>
          <li>
            <t><strong>Multi-identifier inefficiency:</strong> An order with N identifiers would require N separate PoP challenges, each proving the same private key possession. This is inefficient and scales poorly.</t>
          </li>
          <li>
            <t><strong>Semantic confusion:</strong> Mixing identifier control validation and private key possession proof in the same authorization conflates two logically independent concerns.</t>
          </li>
        </ul>
      </section>
      <section anchor="why-the-pop-identifier-value-is-the-empty-string">
        <name>Why the <tt>pop</tt> Identifier Value Is the Empty String</name>
        <t>The <tt>pop</tt> identifier's value is the empty string to explicitly indicate that it is not a certificate identifier. This avoids any confusion with DNS names, email addresses, or other identifiers that could appear in the issued certificate. An empty value is also consistent with the precedent set by <xref target="I-D.ietf-acme-rats"/> for auxiliary identifiers that do not represent a certificate identity.</t>
      </section>
      <section anchor="popkey-encoding-and-future-evolution">
        <name><tt>popKey</tt> Encoding and Future Evolution</name>
        <t>The <tt>popKey</tt> field is defined as a DER-encoded SubjectPublicKeyInfo (SPKI) <xref target="RFC5280"/>, while the document's secondary motivation is to reduce encoding complexity for constrained clients. This tension is deliberate: a pragmatic tradeoff between cryptographic consistency and ecosystem compatibility.</t>
        <t><strong>Current Design Choice: DER SPKI</strong></t>
        <t>The decision to use DER SPKI for <tt>popKey</tt> is based on the following considerations:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Certificate Format Compatibility:</strong> The X.509 certificates issued by the ACME server contain the public key in DER SPKI format. Accepting the public key in the same format from the client allows the server to use it directly for certificate issuance, avoiding error-prone format conversions that could introduce security vulnerabilities.</t>
          </li>
          <li>
            <t><strong>Ecosystem Compatibility:</strong> The DER SPKI format is the standard public key representation for interactions with HSMs, PKCS#11 tokens, and existing CA software. Requiring clients to submit public keys in this format maximizes interoperability with existing PKI infrastructure.</t>
          </li>
          <li>
            <t><strong>Scope of "ASN.1-Free":</strong> The "ASN.1-free" claim in this document is scoped to the certificate request process: the client no longer needs to construct a full PKCS#10 CSR with its associated ASN.1 structures and signing logic. The SPKI encoding of the public key remains necessary for compatibility with the X.509 certificate format and existing PKI toolchains. This distinction is reflected in the revised Abstract and Section 1.1.</t>
          </li>
          <li>
            <t><strong>C509 Interoperability:</strong> For C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>, the server MUST verify cryptographic equivalence between the DER-encoded <tt>popKey</tt> and the CBOR-encoded key in the issued certificate, rather than requiring byte-for-byte identity (see Section 6.2). This ensures compatibility with constrained environments while maintaining a single public key declaration format.</t>
          </li>
        </ol>
        <t><strong>Future Evolution: Alternative Public Key Encodings</strong></t>
        <t>The current design is not intended to be the final word on public key encodings for CSR-less ACME. As the ecosystem evolves and deployment experience with non-DER formats matures, future revisions or extensions could consider alternative encodings:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>JWK Support:</strong> Accepting JSON Web Key (JWK) format for <tt>popKey</tt> would align with the JOSE ecosystem used elsewhere in ACME <xref target="RFC7515"/> and eliminate ASN.1/DER processing for clients that already handle JWK. The server would need to convert JWK to DER SPKI before certificate issuance. This would particularly benefit clients in JavaScript environments or those already integrating with OAuth/OpenID Connect workflows.</t>
          </li>
          <li>
            <t><strong>C509 Native CBOR Encoding:</strong> For deployments exclusively using C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>, accepting the C509 CBOR encoding of the public key directly would enable a fully CBOR-native issuance path. This would require the server to understand C509's optimized public key representations (e.g., compressed EC points, CBOR-encoded RSA parameters). Such an extension would eliminate the final remaining ASN.1/DER dependency for C509-only deployments, creating a truly end-to-end CBOR-based certificate issuance flow.</t>
          </li>
        </ol>
        <t>These alternatives are not adopted in this document due to the additional server-side complexity, the need for widespread implementation experience, and the current lack of deployment data. The Working Group may consider them in future extensions once the ecosystem has matured and deployment experience with C509 and other non-DER formats has been gained. Any such extension must define unambiguous conversion rules between the alternative encoding and the DER SPKI format required for X.509 certificate issuance.</t>
      </section>
    </section>
    <section anchor="document-revision-history-informative">
      <name>Document Revision History (Informative)</name>
      <t><strong>draft-geng-acme-public-key-00:</strong> Initial publication. Introduced the concept of a public key challenge as an alternative to CSR-based finalization.  Proposed multiple challenge variants bound to different identifier types.</t>
      <t><strong>draft-geng-acme-public-key-01:</strong> Minor editorial refinements. Clarified scope and relationship with existing ACME challenge types.</t>
      <t><strong>draft-geng-acme-public-key-02:</strong> Refined challenge attachment model. Addressed early feedback on identifier binding semantics.</t>
      <t><strong>draft-geng-acme-public-key-03:</strong> Structural reorganization of challenge object fields. Improved alignment with RFC8555 terminology.</t>
      <t><strong>draft-geng-acme-public-key-04:</strong> Expanded challenge variants to six distinct types covering both PoP and identifier control validation. Introduced the pk_binding object in newOrder request.  First draft to reference public key identity authentication protocols.  Last combined version before functional split per IETF 125 feedback.</t>
      <t><strong>draft-geng-acme-public-key-05:</strong> Functional split: "pk-01" now focuses exclusively on proof-of-possession.  Identifier control validation moved to draft-geng-acme-idp-01.  Challenge consolidation into single pk-01 challenge.  Introduced pop_mode negotiation and ALPN identifier acme-pk/1.</t>
      <t><strong>draft-geng-acme-public-key-06:</strong> Refined pop_mode semantics. Added comprehensive security considerations. Introduced initial KEM key support framework. WG adoption call issued (April 2026) did not pass due to architectural concerns regarding challenge semantics and insufficient community support.</t>
      <t><strong>draft-geng-acme-public-key-07:</strong> Removed <tt>pop_mode</tt>. "pk-01" became exclusively a proof-of-possession challenge.  Added <tt>popKeyAccepted</tt> and <tt>popSupported</tt> fields.  Established IANA "ACME PoP Key Algorithms" registry.  Added KEM revocation guidance.</t>
      <t><strong>draft-geng-acme-pop-00:</strong> Complete architectural redesign: PoP becomes a dedicated <tt>pop</tt> authorization (one <tt>pop-01</tt> challenge per order). <tt>pop</tt> authorizations are order-bound and non-reusable. Added composition rules for STAR, C509, profiles, device attestation, RATS, and composite KEM keys. Expanded security analysis for KEM+STAR and KEM non-repudiation.</t>
      <t><strong>draft-geng-acme-pop-01:</strong> Editorial and normative refinements in preparation for WGLC. Corrected the IANA registrations and replaced <tt>unsupportedIdentifier</tt> with <tt>malformed</tt> where the server supports the identifier type but not the specific context. Added the <tt>popStarSupported</tt> directory field and clarified STAR discovery, added ML-DSA/SLH-DSA context-string guidance, and expanded client fallback behavior. Fixed reference hygiene and other minor editorial corrections.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document has benefited from discussion, review, and constructive feedback throughout its development, beginning with the initial discussion of the public-key challenge on the ACME mailing list. The authors thank Mike Ounsworth for challenging the original threat model and encouraging the authors to focus the document on its core use cases; Aaron Gable for highlighting the value of a public-key identifier for CSR-less finalization and KEM keys, and for encouraging a focused treatment of the public-key identifier and challenge; and Ilari Liusvaara for early protocol feedback and analysis of alternative designs.</t>
      <t>The authors also thank John Gray, Ilari Liusvaara, David Benjamin, Aaron Gable, and Richard Barnes for discussion and revision suggestions at IETF 125. The authors thank Tim Hollebeek for feedback on the KEM proof construction, and Michael Richardson for detailed comments during the Working Group adoption discussion, including comments that helped clarify the separation of proof-of-possession from identifier validation. Mike Ounsworth's subsequent review and guidance also helped focus the work on a standalone proof-of-possession mechanism.</t>
      <t>The authors further thank Greg T. Wallace and Seo Suchan for feedback on the later authorization-based design, and the ACME Working Group chairs and participants for their constructive discussion and review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+y96XYcV3Ym+l9r6R3ion4IoDOTmDgBXW5DIFiESxTZBMoq
t+1VGcgMAFHMzMiKiASIEunVD3Lvy/WT3D2ffWJIgJTsdq175UECEHHiDPvs
eX97OBx++02d17PsINk4WtXFPK2zaXKclXV+mU/gh+RNukivsnm2qJOTxU1e
Fgv6782j4zcnW8nJxzpbVHmxSC6LMnlXFsXlEP73XVFVWYW/3/j2m/Tiosxu
8APwSvKueJccX6ezWba4yuCv+JGrorw7SKp6+u031epintOb53dLmNXpyfmr
b7/Jl+VBUperqt7d3n6xvfvtN99+My0mi3QOj0zL9LIe5ll9OUwn82y4LJbD
7Z1vv1ktpzB2dZC8f3WcPH/y5IkfvbbRk+Q3STqrCphgvphmywz+36LeGCQb
2TSvizJPZ/jD6dH38C9Y5Mbp+/NXMPHFan6RlQcwEfgK/GtSLCrYi1VFM81w
ijBwmaUHydH7k6Nvv7ktyg9XZbFawi++ZKt/gvfyxVXyO3z3228+ZHcw0hS+
mAwT//9ussUKJ/KbJJHP/PQ7+onX2hgGfj9P8xk+9A/Zx3S+nGWjSTGnP6Tl
5Pogua7rZXXw+LH762MZ8Sqvr1cXuGO46/nN3fD26vEiq3GJw3wBM4GNuxve
pYurDXxhhgdRw/M6pntvxION8qJnhMfugPGV7qdG1/V8toG7nq7q6wIPJkmG
+P+ShOnkVYarh//HvyzKq4Pkn/PFLbycnC7qbDbLr3C/z7PJ9aKYFVd3/GBG
+8T/DUMm8NDVJfzfP9zxy7xt+tcn28+2n774h7/8RX8dzeFdurhbJT+t3BRe
r9LbLA9fzbPKfze5XS3xpb1/uKYHO4f9IcdF/DFPv2DcyzJdfBh9BPLGl9eN
/sd8AVc2W7jBz/EuHlX6QRlymc6KajSBR/+BLmsKD/CI+D9wQeoyvwDSx8PB
/1kUJdyC/Caj3X11+u5suLu9J1tdp+VVVgcyXNzMlquLarTIq3p0Vdw8xv/A
3zzGFx//eHp2PsL/GsEQo+X0UkYR5vammK5m2fCHtK7zSTb8Pq3g8v0+uxue
LCbpsloBhSIXewO7lcLA8+SsThfTtJxu8Dh0yZPd7d394fbz4c4e/9aRmm3N
jzRSOgOaquDrK7jYxaUNVyXwb0diySZOfItHqLISTilfXBY2JK4Ipg9r2nB7
tP/L92j/gXv0Mof7Cas5y68Wab0qs/9yO7Pvd+bJL9+ZJ+2dgTkCfwCJlrxO
q+u/mZ15QhP54+jpi+2ebbm9vR3B90b5on5cZpPH58P3J8dDeiPegVP4AF1W
uCR1mMkwOTr7cbSTZItJMUXpUgIFgQQ8W2YTFmv4AqwFtiyfgFiTx97jY8nm
9yfvtwbJcbooFvDsrPX3Y/g7Lf4lnBb8fpVX17DzzcdewmPNPd8Zbu+u3fPT
8z8Mz3v3kP4K66atoLHf7ew97eNN0yIfwaCPd7ZHOzvbLx6fnpycnJ2/BGLa
3h692N19sdvYTfi7HW+8WRVrUquLWT4ZAoNKjsu7ZV1cleny+q6xyO3tNcuD
T/SvDv5IZD1NcFVDHGpD//jy7Sn8rX8p9CAzcNDMlC6EiZ8OX46cKlYWlzkS
RPSnSVFlw8lFUQ6JbLLpcAJaUMfr0+wGGRHwI9Qe2n8v07ox9AxUlWq4/At8
Y74sqrzOhh+y+YHOeDgcJulFVZfppMafz6+zL9PFRO2FddXFpJglP//8f4F2
icrl589Jmf1llZdAkGny7vfHZ7/Z2Y6GRD5BRAuPwXqAus+Quuukhllc5nD9
87/yfQHJeZWNkvPrvEpAzV3Rp6cZPIODw31aCrvITP2ur2Eg0KqLW/z8ZJbj
K3WBM73JkqXp43gXU/htfoNTAl0ymcKUJ/XsbpDcgiJWrOoENVmQ3xO8cfAw
TBPnkrmvwbzmRU1jTJOLu2RVZckEmGKV3F5nwAhxRfDa8IIY5SXMCl+BuVzM
MiSWyUHy+5M3w2Ixu8M5VDz9SbpYFDXqV1mJs6uy2eWwUu5aDWCDq2JVAkXw
DFPYj2nCRCJDXMC7l3kNyk0xh8enqwk8YcwJtqK8ztLpgHgKGAKrdDHJYCnT
bOanPnGnBvO2/cC14MCgfmcljSEEjjcyTTaz0dVokNzkKY3C5o7cALd5P//c
fUk+f95KYN0wC1zLwo5xqBsy1aOAOeF2pjDLCWguJexiCeLpJoUzh1UsYMbz
C9ocPFL8aQkEb/tQJdVqcp2kVXL8ZPuFX23lJ9d9TT9/HuHNOV3QGjcW2e1b
3I0Non4g6wHvIBPgNJvA9OhwgAiJpxHN4RalyRgsNeBwYyD+bDblM1lMZqsp
XSH86zjJ0RiD2cGm3F7DhJKbdLaiU8Ehs/myvoPrUsKqmEaB2cEhJxOwu2oa
BuZNS5vKgMwr9aahTgpkxIQOPPIKznLMBuQ4maiZOsBzBhpDYl7hU/TxCpRj
vKpAJPN0cg37jVsKunpS0CHS+UefGyU/4enAqPHvQYTxwnXojqluoS2Jq8+n
g0BeslwkZVqtp9wwU3qL9sCdAW43/lG/An8Nmw2XLZvlc2BKtQ6yyJD8QTYR
R0C+5XlWB4dIp2A/g1ygL+EZIZcx3nUgNCIXd1okePeRkeQ1309eW/z3arVc
FmVNz+DZ5WDyIpvD9+hMVKY2uA8zT6SvmGUry8NTQ83/KqtGKijm+XQ6Ezse
7MMStOMJEc3Pv8nxx8/0p9+AajMhu37BJPyGGSM86O7JZFWWeCHo0GhGfhp8
oOlyCWeDd5jcFLWXIz///N/h6d0Xz5/CpGX7+8UGMV9gpyUK/uQCyLHF1hqE
kDaYLbFKZeO003hUo+QVnb89NgTbKQWejuMA4wNFw+t8dHCNcafZnHk33s5Y
LNEUC9inalks6Co4MTVKjiKRocKCL7owtDAxOsRHj855yAxHWkzyJcwUjikD
hslUnVcxydKMcR7M4YXLyA2pSctJWATZhJlFC6ObxnuclsAiaqDh0aNHyRHc
+txr0fot4ZVmHiO7LJoHNvCXk0WPO8FZ/gGfqBKbR74I62CSKNFIJ07n50is
F/gPkNyfQQ0YMK/Igasu4TQL4DX4gVWVIhfM6smI+dAUlzWnKwXi//gIjhIm
I7QEd0loGUkj2hEWdYcdGkwQSv3yESQYDel2DXYKKAxmTloNC2Pa2Suk4AUd
YKXLHLHOR6qI0gOSwPwC5CIshdh38uiRzg5OzWlYBd1eZXRskDT5DG8y6PCr
GdCpcKuMGcNqwRxmemisr4/NEa/FocnmNEWlyudLGBaIvBBNxabXwX9tj+HH
5aqEywZGg2mu2U0xWzHbAA4I4vciM449oElM86pcLfHnkerKYdvg0RIFIhxb
BtOHr0xpR+AgTGxWSIUR55tmy1lxh+psRS6gIWx2pAjiRSG3TBa5ZebqliFK
ZTJ588MQXgVqUb8R6k/CFZbErIFMxUT3SuQ8/SAH11QwkxxthioHEuPtbGsC
pE/nrKCw4swLW6Lnm6QjTY90WpMtcHxz/GTggsQ28xlcsxFvwvs1mi3tyXGs
k9MtDVYGrCUYH3SIdPBsm/N7tECiNzFD0CU4AbZ6U+RT44boWMVNFN05Qb2P
9McZUDwwBVyhn6IQMtgO13jzgAKAy6HguVO1oU/o4A6C3a66ZXLGDIgNX6AA
dDjI5hyL/uqHMl2Wd+dr9Fg9S1Sb5AvH3799H8yF5mKzYAhWJmb5itLl532i
P/OMLlAvn8NHdC9YWFT4UTqbx7AD4XtVnS3ZwGhunOjWqobeZwPgxJtbQlGA
ZDfZXLAYw6US7cdCq9oaeBsuHgSvok5lWsAu410Tlb2tQtilpfnwDYH/DUL/
sE/XJcY5y8VuWGS45rS84zECE4+1zUVQOMNBqCSN2TTztxTWspylE3rw0PMm
5sWwnXfIO/F24QpA6cuuSp4g2VWvz96gngy/LoExgpQBOYgXCD9RUaxoll2l
IBWV3XuNtViykWtSoZflkKwBNS6bpKrmklgHMkaNYeK4cnF5SeoBfDFLF2ij
lmCY1Bldf1oELLa8QmILJjsyBR0cDqce/gWkTb2ag24VPE9JLhowvID3F6kJ
+TvdnBpZJu+Jqox9tGBeDaUekmi03/gaur6EqeV4q9JbFJekwbJoRZFyiwx4
CYofWmMsnEANP5vAlhptNN0mIm6OgJpuxd408zNfZ8uCYn91jextcv0QyxZO
9sLuLhyq/+yjRy2bFrcRGJjMgETJafjrOW1ymV0BAZTooFlvAQ9wO6Y4Bb2k
3vxdanDWad2xddqea4MSZbZ0Wsh88PIAW/wIDKCCe4eqyaLvTjN5h7HE8oZb
nJO1zAb/jwXoOeNkkySpUQ+K062ETI+xjfAnIHl4sQYuIC+gOkCPykrOb4vO
VaO/h8Wzm2681AO4+Hxh4lmY1cwmvv+qbV/bJhPv3GSSLUnpk1P7x7O3PyYF
iT122zx61HYNwH5/kXPAdLUuvipEUxUzOwBZBZFxx17ZjgT2FBEwcl5TKkEW
AhWAhlV+yEplspEzzV48BBMeX8ZnVAWQ0yBnRiSURslpXcmmMfWrbbsQ6mnc
wgXRynVaXZsdSjYkDkOLF32YNgQkRJlfXckoZFCao3St92jUwW2UrzHbEakX
HKrq33/5WsQRUA8GMF7Dv0Hy+oPG6QEzgnslXseT45evD1m/jAcU1Y8kMNqc
tbcLyAlh2z4kKxPUf3EJ4ULp7rz88YyivSjQMJgbFHw1+1R4VcLjQH6hMcsW
oNlDxMJijgHrmy4quF8DipfQf9SzapjOlgv6gT44RGF8N9zelu8d9txMOr/Z
HTu2q8iTHch2lKDtH6kIdjJw+/NLYKZoH84KdAbD8kUTINvV1hIvAxTN+8/b
6whgI8O6+LwrCfF067CRP3Yg1MtKTC1KWMpRCmIpYrgdyl+WyywFoU9KG1uw
oISvyMeCypAKevVYRDrrKDk2XQk1LGdo4bTZApFrW4t576/AwKY+joI1dGZN
Qz56AvRv+ACzUcdPHF3OM/jQlCy2OyQ4NIrJKsIUHXLnM78IiltSgUqUlnnR
dTMlfKJU5R3PD7FFxGH3ZPf59ufPzAznsPU0j0s2nhwDAnqC24ObWovvYFEs
hqjtdxPAZuSRf4DxssXenkt1wdTk4UEyYw244ytGhCxYmD/Tq26fRhzWA33q
fcbGd3WdL3EBb4NT27K+qm5dHK0S5p8XJdwweC14G4QK1WpmZ0Rd3KLTNuVQ
jBggjx492BP3cC/cmXgrisVVQaY0ULTetCnP6lYSpSiJKsku4SKg2LhGERse
Z+uCti5DHSFo4ebZ8ME/iwNtttLV5C9bOD17DObjAnl8cncNaar+LpCbY9Vd
x3Aj2eTRSIiKiqplVZJUQemdKSHpiD4MFQxSnouFA7vjKehCEe3KVnNAQUs6
SLzL5B9gpR61Pn5oLH7opoYxcHbFUWdMw25z2l6iu5Lk+JV7QtpxWK/4GV4y
tzsi/iSysXlaEQ+jI5O3UvcW/gd8t7qWCBQ+8F0Vs1FKkMqmHEDqt4RVzLU9
5W6VpNtQaCl4Ys0fhPtMAYY7UhJNRYjVTA650JnMYWLIb8e0xWP4z0t1N/IZ
grFYgKaQjNEEuxubC2te1PfsHgbsadOQft4fnZ+xw8mcakCKYFFk4sJAk371
MZ/lKJkaRpO6S0X8shDs1yCTi1Wt5x5HBVtGihcalwVH1OljSzziUmx/jmfB
ZCjhhaZLx3cAnDDlQNdCwhKelk33JzWWN32OISvMY4Qv5GjH8ReUrEfAszju
tDd6ojxcBJlmOZBjJp4ID0J77CIHclZnsOR6eJ6V84HmP2D+Dcz6fQacBLZl
8+z86P2Wz18A1iUxq2d7L0AAETeFhzT4WNGYM9JXI1ecBTqAOEscvjJthr6J
cX0cg1xuymwuiqJGFWZJbgF1paJlCj+LTrW6qPBEFzUPm86qfsZE8mlaMce+
uKOM39g5F31xwKEGdrayMz/29eEE6LbkC9h+ECjmpMcjpX2xSen9oB8Tn0m1
efT+dCDBvRfPnu3JtsJvWQA4Pl6twESpbKlJjdFZMPlBPF+StlpNrrPpama7
6J2N19mqRKV2UnHABEfkvzC3ELr3DswehgRs7KpA+XmpjvTAF365hLaTcWMD
1awbWPdDFtKtkLCIZt/IRcZuEqDW6+IK/eRwuHRZ0PgW7ppeANvtpyYXBVgt
yNHT7WgwD6jmt5BzKErOCIoBuZvdtkjUFczCDsEEz9Ld3nRqOomUrUGgQPgT
khI9M8svs8ndZIZqq6Y2bYWcHxYXYvVQ7Aa2inIZLsUWDZE62uSf2nkmX+WF
H/SKPlzGtC1c77Mq8HaZ+aR2zWlxHu2tN6fqdPLhoOtLXoz3y+7+BTxIdjsD
lk+OdtEI7GGRCVCa4VaU7h5fUOoGU783B1nrzz5ep/Ar+Dn2e6N2hvbierPM
TEQ0nJYwVVgDeWlUUO1sj/b8HTFTVkoJzGKqr8ssG87SO2RweA7mvbLU8B4Z
x0tc4xIztTEiXVaBRIaSx8kJ12D7vFPD5C3s6k2e3eq0WCHAz07zFAz9uV/m
dX51LS6wQt7TEzc/hpk86CnANET4NhkM//7v//7tN8c/nJ78eJ486J+zk/f/
dPKekjY/PewN/OcTv4D5LZvbW8nvTs6TxxzIRAVk2Prn7+WF/4YJMVmdjmAh
ZxbW/i2VusSvffolU9rZSt69PYM5qT2zZkr4rk+K+G3yL1NUZGGG/5b8XcLq
k//CF0xJnLV0IWFzQL7JeF8+0maVZY7Kdol8UaX48qH8NRTv0taXjyIpM+jx
i27MV48EO/NLR0qSTbqvfE22As1t7m6xdnGQqNunTRHDh1BE/MXwQiMTr+ed
X0LVSNHDtBrSZcPP/fUxfCLppmpcNLtLnf+xY8m26J4v4KH0f4H3+YFf+KpF
b+6lW4Hxy4rWcRcu15ves/joCxfCLVqr+cP7H5I2swDlk9x7y/QOHb9w1D9v
kNq2cbAxGo02Pn/lSQMTTBcioTjlGgPWuRSafdFI4lT3odd84q69uxi4et2z
3uN0i9lEbQWrE8P8kuHf89iP8wX9e+sX0fnm3mQrIkU2C8JhNI9cLja5Ebop
sHnk+1saXgPNhS1pCaB1f2HzSWAfYdmFKDRJxxee3r+ErjXQeIeRZudf8l94
Fn+h8xX/hcgmuMYYeM8ukQrx80Hym8v8arj8MNzhepPfbrzuV0yEcrrUkg1K
cD26rMn6xIxUST4KZMa5mhVolZri8OYPdB/BkqqjcC+ubAWMeYZxPzjwCfvG
OIsQM7Qoj3pTfU7oxRCaHIOVUlygzYpfH4djHCf5pbeQ1SOIeundYnJdFoti
Vc3uDv1Db47+2R5MoscGlFpAcX4Kl0RfkhAEX3T0OKBigJo0z4yyEsULzzsx
is44eJ7QhzyZFLAVQ9D4h8irUV6xL+offzqj18R9as4iYVgDVLgj5TVOIlYl
4+loT5MiXrJv+t11PiuqYnl9d+Bs2qNYZsNZV3wOkWK8M9oZaG6uzwD84nTZ
Bzrpe43u3DsnohzOi5CewhTa494LiUixoY5Hb5XfONVOy8dsE3H4u4wYmS5S
NLqoOn2V93sfB3H5R11TVUF840C+hPhk2MCh+2Ss0Gjyb1qZl5cOaYa+TDoi
LnCBAeBQBkyhcCPv/spkcLQkvetjcqRBL/jlssh9CifW9HMKlt9Hnw4usQ26
wuuKkWAUykskp0zjUJbyvoawKUUdv2lL76edGjXVisAH6JTiVHWWIJhcBM8U
t2BnAsOsxW9HZoja1E23OV/Uox9fDqtsnuJF5lzvBYeSpFBoxhIupGgCe5zl
VYsANLQuwqTPssXc3gWWLZVYLJHN2e0NJIZjSrxkUTCnSGdD4mac7ckrWpMd
wollGijEpZxamkaZkd8snZRwgPxklWwqm9gf7W0NiDq0oCYkqln0G3ZwahHT
zOXzfX+nuqK+iUfF2RP3xR8GEgWmS0kuXfGOU51E5dIiBgREMNRZGNMhn9cC
pCO74z/I+8GraXps1axrfXgNAJZsyIzReZupWJqsSvYrwZ2rOKvTcd9nox3l
5X9gPAukEc/326FuAb6IK10kNBIcGBIt5lu8gxkTr0SzSt6JgrwZJMrO1gEQ
Q7e8eTbaD7Rdh6oUl7cqA8LUJe2IUrmqUkLwzbiLFjJ2ZUptjn/+PN7SYJ99
Sj9BiVTh9CzNDDkq2fRRxHAxbac0YRTG+f/N7x9XBbK3n85mFzcvEqbJe7wr
8eVYt387oz0k4EmZXyA7dpWUDf4gekjXVeytFyWR1MkUTTaR1vbj2/O+sb/q
YscylnZqD3fKJTieKdO0raqSPdQ39u8hONwwyqvX+BKyVG/6+/qX74BVuL/B
NpRlytHQ7uS01l46UR+YckPKD0R57M+Ia1Z3dn4bk9RCXNPySChbWXQpFhIX
VHEm+c0dEU8uce1KsPOZdaLTALEq1+DyHomXpFVnqc4vqoUh921P7V9cksUs
0rmCJTRB5SJYYkT5tiKJaKjsI9Yd5fXsznhPK+eJ1UVNtEsfwA2YA2MNBiLO
sB8ZQQnwhpHZX6lqiDoMovNUycajR3irHj1C8CD+b7xh+vP7k//xh9P3Jy/1
57PXRz/8EP3gnz57/fYPP7yMf4pHO3775s3Jjy/DgHibO34N9g/9J84ffnz7
7vz07Y9H+GWmjogLl0prOee4U45MWhmrIor6/vhdsrMvN3V3Z+cFCBu5tjvP
9rHGEjgyf5DOjX/kfASL2qdUNrLEYp2KzZxr1MOQBXbkcq0qFTQmzdiQJFAK
U0tJBTsmSjtwSpnksaQhf6phScEVbGwFbB2/tcEbZ6WaG8kmZWFzbOi6mFmW
rtdqG0nhW0Cbl8gHJFEH64h5hFE09TMyWf3UxYjtn/pA6wooKSx18XvkmyKj
YKabx0eUUI0K7zTDMgWKZ6GRLUJtKCngeDNoCpIs15ss/+W58iEPRzOQWzm/
Ua47wq483UdPggXCNjV+ucTij8XVlkqge9P5Ns/e/f50q72PnOAXZA1IotHu
6NkocuGrbI09Dxq0zMoS1gO8aooKRLSbFjrp2tOXFofBSAtBCqBYnWgNthjb
lhBAQ62VSN0ptMEKjBMho5n60Xiu3TJNyn9sEV2S9qsrEsT6qO5A95hoiorJ
RKvYbNrbsfdEUm0wAyjknP+niF9Tq+L0JPcYqiZSestOL/nhaFb/CGxh7As8
/wOS18NhR3/zLCfWa61agb7f2PbcHCGL6UPQGvKqlT2o1d9WAt0uOLhXsetQ
VhfZsC6GZDRLzq7YK8Qm1yiZvOvIcjTNuvn9WEE33bIOrN2i12n3XY1OolGG
QhcvzkP3LCtO3UXS7c058PIorrKXnXaMubOK/LuqyS4aFT1CG/8JhT1xau1p
zKeEblvAIbRtrTTo4BBbW7EeCt5JZDbSuzEXTAygNTUs5+Qb1XzGrkqatYzJ
O9vgEA4ki9IdG6/THT2mumUMpABUMR00DYHxh5AE30xUaJ5rQx5f3JnTEYG7
3G0lApGsiDXqgq3nzFODnGBa3c1BBpayMEWZgDm2KrpF4SGlXAB4To5fnh3B
v6a7T57svBgk78+Ozs6Ohu/OzgZYNU5/PPvhNf5HoCihsXsngDkFfZiB7alw
kfpWn23OvqVQy2OKEM4mnV2hsnY9905/1IgPsVwBK4aQ8LAqKB4D3XirmrL7
kFYrrIsM1KNluAGiNdkEktoSVhPFHUP+2sWdU+tUbyu/ktukgcEE6mVskZg1
DMwTSEZ1A50kUCjCdyFO62FUkDcQcZ8mb46O41KqlNP5UeMFkYlRnJoTqVSH
xTFgkuGUbQPL9PZPSsx6BynlNykmdYZ4J5iSihEPHRP2zjTXIcWgVS5hvGcs
jqsx7DYCyuoOdlWjiieUvGFLEEZeu9TH/4RVbzgxMCKHu0+einR7uruHttim
n34g/rZmfSCIJe2/VG1DUcuSVwtUw1mfnyebF/TuqpwNRUsfipY+wDi3TOzZ
k51I7O5uDTgeUWHyo/jXkaFH3kzl2v/49uwkgS2t7uDx+Sh5xx8QDSSvge6o
rKvMiLlqYQq7GWRBmvYF9jxSpTmgmTSR1ca87RXyS/HJnrf+EFdj8ND+qcfG
YckXwYgmsXPRIkVIzaHY2mOkKcBFB4pFKMmyylQxgispn+iE72GXBsOrFIGh
cLr1hEI7sMVccs26jUItCcCScwnExvT3TLWsm9LZsEIxCPUtOL6OG5tJ91pI
m8Eu29/CqU9z4Hg3JPazWmtD2zZTLgVwFPc0NBnc4lvO+HSoUrH76IGl371u
poB25ksF+hRdTVpBXqE+7l4WETIJf8b8gQ2nHG8cJP/CCI8/JxtIUPCLjemi
QrcQSXX82UE9bySfB63nYY7R8/AQPvNv9OQGLxB//9/s6m9Ghjia3H+/8e03
n2WWFHLuV8WdD6GS7H30VNo2IMMldsTO/TVRdWIjc7CHUtahx6LuIeU8/jOo
TX/356pYjIka+BozQS8tPxPZJC8QK7LVb7bF8fT/k56JUL69HoUgYlWBBjuN
LOSX6PhEVAq7HGTNKtpHk3RpVJFg95E2VdwWc5DOWEEhlUuiUA86J4S2BxHd
mGdxkbUMSufU6PBA0FtUWWDxpzqZZWlV0wz7fAHx2tGSX1U2O4phwRVEC/mv
Y9Nrm6pes0JY60SkwonDVKy6k380NgnoW33nJyYDaHkgAmJHCNXXf6Xj7byL
JFz6gpWQ3evAIaeL1eoXbg4DYgZUoj8IhcCzoviwWrKVMWqaN4zEeZPdZeJJ
vriLffegrRahGtbUQySeD7GTC+FCWCK8c1lhlzYcFc1fGrqAfYUrs7tMt4h8
RdooaGTltWZiVKWqwi2lhvfBGaOu7ALIUfEeNRXGgJtio5bItczIHvff5sKy
Vbk4wPqJAwpOVwdYRnFATsuDeTrjon5KrsqdNU87Th6USE3lYOmcA/RIzm1+
0PXnmB3cD/aJZN6+8XAaQFRrHHl+H9be2i/ZmYGD4smrLi9YiHVxpMpVROuF
p0Ji1uUQSwF0sYDDSST6hyWBLU2y/Ib1hw6PO/s5JZcxugpdRNrrnx3QnS4Z
8dEBlTjK0SQB2lDLnzOXtH2bD4x1Fi4hSm6z2WwoSBF051X4hVre+9G9m2lv
BMuNwpCZflpHtLrgcvsglYEXYFIjhgmL0hkGIwre86IwI+guLOlIre9TT6j6
yxD5dgzKZD9OClkPFt7ifxM4hUsEwRqUKBzayUgRqw2uc3XpABYFgXOh6He6
8RHfYWHH4VEKTjk7dqj2BOxJNvlgQnOO2P+rSn7b2O2AsOfdo7vJJs9ixP4Q
MNzEDQRGpnmyTbcZi74GF/NSfYOyCv7oJdYztBeCUjdf3BQfsiT6XPCwO0bX
d0nW3eyLdPpOyDcgYM8t3RVr4MRciZP1Cu+CoLzJEWU4dJKTl2OLcF+mOSN2
Wd2rqLH+eY+YYH+epZMoFYN2tb5WU65UVjhJZ+0t/RrJEHZplJz8ZZUieCGX
VnokUHILAkUP8T+4eK3MK/YLTQzm/17cPw/lTDO+zMuqZvFf1n0bBdSHDq/o
O8xyyB8RfA6sSRMByS/2WbWupahxmUrCGUj11YzoQIwNAyNQu8yOUqnbuhlY
6fGiWpVqv/OBU3okce3gVZFjppBB7Ib7IKX7lMTIQa8MT0BcyrIR9JQzfKoG
xsYcQfSusupQGG9es0LcgZrAWQwICgo7fjkjVn9bBIRPS1qbFpTiAXS/P/q1
72J+SXePYn8fHesdBFZKd9AZfj4QS9xEdEjGnZeSqUTSJ0QOMo8MQHaEymmM
IPuI0Rv0mWRU4XETlDutN34yoqRyWTgKeGRtt3kleZwPXzxT0nsaKJt+f/eO
PjEOKW161IWp4xY1CCDeBP7YhI6FeT6VE0prML04klrVmljZTo1jSU4pMZFr
kdKcWYdB/4tYb8aH4oS7VV0MtUC7EIBh9h0VZaYldWbSlZl4TNUqma7KKNFS
ipo5GJUy0g3WNWM6ZRAHWuBNBhbjqTHYgFXkGxZIWgv3/PabZ0bAZB4G18NQ
wCg7coMa4bF8Pl/VpLR3KFnwiefyCSmba5vI7WT1znhhiztqvLMZ7Ayed/JI
X2T1bZY9IDEOM8fqvtjmYG36SSN6GkzJr470diusMkVU7lTdcRH2XyEqu+bz
cJQv5CgZNYy15gZMAk5No4GCEcE3hC9CTC+d84Xv7Gyvp5lGqE4Twbvj/Tuq
wFdZvc5E5iID/hAJmh4WIZF8GFiVaMp1oLoFsUCaAJKMKdBXrEBAcYIHJzBw
5vpw9TsZImigVx8I/2M+X81F2Tbwk8DAqlYsgUJiAZdbpQruyUhbs2AK4iTL
AiwytkKoHZ9iDi0c3WlGzcl2aYIYvRli9IYwKKRuRqsHiC03p0xk6AM3kSrt
lRH1jBoTnq7YzSlBIw6LYd7XZRRFEmmvUYVU9J5EkT4pPXORw+bM7hoan+r7
PKMv0DWDQS1somuFXI4yu03vqkZdUcAUtnR+TotheIp1ZhJLwBCtxWuD2MtV
8nS4s8N+JtL/zYCnGjiSQMLenoD1Y2Q9tLQb8viA1Mo8lGNktQysloBQ/9A/
RPmxwbnDuCzZR9CxWH2kbLJUyvD0DRh/uaq9wrO0YqQ1KgZ/Arsdlot0NhZL
Nb0R9xyiSTMJiqrZbfm4TDI7BTWAxL3GxftvJV3I4xmFokKniTBzUYvGXGXo
JNGwUd0tStoUpy7q+/QaJ+mDQ7RPDHSx8Ga0hQtsKU7CpeobHBcBJRJLIzao
J9vu0+H2i+He9vn29gH97/+Up/5zYzWxwAkftA6dSDQj3/oTfxGq14fpxWRn
d29j8AWvoTwAxWH/ydONr4ga8dNa77FxcN836aQef7z762N7xweezvvVBFWn
qqAtiNOu6lUJiIVRnpjY+6pedOZadXjXq2J2kzWUoQahS3Fq4SdXdDYskiAE
zZpsvbYcXKe26f6IQ93uDokMlvomDBuKAk9f/La9uT+0W+tUUNZ5ikXXDV1P
42MzNCwe1H3K0Se8XtWAkWmmOmrdq6S7hVxHRlUOulhlB0PrrSjVh3sz0HFc
5uU8aWb1GsNS53pmBiRVQ9xptcTVCpg78HHRPp0gKMoQZLrFfgwkNcStfHoZ
nL3AAFclW2pa6obrotZD7Nyiaovg4RBoOeL6Mf6etlLw+xhTfgfT9rE18m3E
wXaTAmiv2b5wlgL8f22hQ1M/TDzKyovR7mgnxLa0eO8SjuYinXwAsr1Ob/JC
LKlmiA8hoOZLxqOPsLwLFQXuLqn56GNKx9bdIzmaosMqryhYQ5IvzuSfUNsC
eca6W/HMYxAzLk5tJ0A0hRBcNsq1vJ9BwpPDBT060DeP2MHwsHfhSOrwKt/w
B71IeyZv4jLgrZ9FjPjcjw1tpJ2g5Gpw7o4kkUEyKyZSvU46FDEf+oDxBEoH
uygKbI+AKhczKnQvlMSwpuI6i0/iC/PrG38MAdvAk0JGiScwRmQ+uqg4gQxj
jUCzIQ5m02v1juJIkutYwaMHFTcVZZ7pjrTNoEvy7VcwB+VNlTAjYiTUysTn
VPerTAOSG/pcSwMbuEZ/1hiln1VIgo6PT0WVDx7rTCK4nUhg5DuKwOnEDxiu
H1250JqnK4HnrE7LvuSkMZLauKUbRiTeReCmBkWDG/V3EH7HJAbsJbRyBUap
IzukRTSRqKla58f1x+Zq40ALCRLNh+rA3iVnW8vRZvbAbzDGR2lZ3EOIhj8O
yG6GKGgpYSELK5SOhEklHorURRKjTC1KAJVTJsuMfecC6qohzWMKPrU2R6mi
inkNn8q4kXZGblLv7RwbB4lAUwe+imhrlFD48WET8GfeOQlyBqQXFUslZhxt
OcvRNO3Y02XtuJPneBYOS3guZcaZlDa1aTz+0T+rmyo6qp7T6bjYpk7o5pnT
199y71aIPhQ187wvHP4FAX+XeNHmP63pMdIwzi7O++DWmSH+w5Ac5nSGmXC0
lsz9qNDjUtUtfoVjwCJZicb9GGMfzlTXvKTPCKIOksdqYU6wgRW+ro8+yCAi
FAjxhkqqKu7aSf19r/OLXIoPQ8xatCN33Xn31yDKR0AFlAbA8exb5hFBwAnA
BiZ2SZpRunDtV4MC1QBXteTf5A8LGkmAbyx40w/rGWOc05m5rwRQWcuu/onA
UTvA4DV/vDctT6HR+fd4wTS4URdXnN0qwoes1JB3HFtacBREImv493rsdLpD
llDQwk+PM4b5ETSipyFPKK45t11hOeCk8n1bEjNZscH6WOwOWAFftWk+I9He
oi7iQ/xbzXVNXYWYLXaAWrzhyE6tObRTM6YmGc19GAOTYqJnEuHtNpRLRqhs
1GuhyhcwrSlERhOu9KxBN1Qrxh31mqiZ65gUReI0BDeI9vU2dU5vzlMvGZkF
tqQsuG9B98ntjnYPhYxqLrgXhx1NZEgItTDhK6m1WYPpujvgrnpPu009NnHj
zYT9jzIrvqviOKau9pBxmahC6rKZXSlt4BF5QxI8OVXrEn5/3d0e66i54TiF
knPnXUHqsFz1Na06jDyVWDbjvAK46ZnFRf3qwvH1+IjodL6T9/VC62ewHQRf
jLdoJ2BSr8LzMHzbGoBnDVqzBFHo7ZbLlnzw3QqmRXJheYEmtdbOf8xDnDDA
CfmgKc4pDlrG5Uka2xOxnFG2mA6RdY7FHYftRJJiMllhEg8mqQziyt/Aergm
sFHfJ2QxhrMln/iYEIoEIoT2zT6I0SkBBIv/kFBqfNgbc/6geDbKcaTuVCYt
av6OBeBKMpHk6EA4YhaisxQnOPBs1hOV70ne4nVjV+DQmjSyxEzBkdM7RuiZ
oc5QaCPtpCEFGXG6R4S6I7TppSDOKbTMUnCcZtFj6Tq5d6XncUfIaX6TT9Hx
6Ykk4pTECx1phvk4tVlgEGsJWnh2Y/VkKXcpJxINUsQdB4F0XGI8uh2d7xCN
u+tP95edJVzHt265WEnGWxnZbQZhjg7HyPIYNBwEerzihsP7wmVFgtoS7k8k
AnuNL9AMECifVBrrwMnaZYxpr/n3prG0sfi9ytKFYc8BWgdSH3M/+YmEfsC7
YySyO+kXIO2JqNLlTm/J99h+QlT/VEozFT+T4TQf2LmF1tXVvgU7DGzdt7wU
R8N3/eoiU6uJ2I9dYOj0SY+OdOYDaQtU+lJpRpoQBwZuSpzsEQI0g9AGUfyA
tqEzSRrRix/w8TzkKWzQXSFHdgUXEDtFsfkRaRV7fuMIr79Phe2A2Gt2TP2q
rgmROhOVefRo8D7ptN3v7N3vT4NvUkFNCCIx6t+CLYP1nXhs0gi45r3VeBjX
7PMZKeCLxwAHlYUWvW2jpI13GvDodhsacXDyMeMCZo8bvaoVC7A5K+tzb6m3
kU7bMDRc9vaywcU8W3lyyLwv1fbFBX34u9DHgdi3JYpbvjEyIE7KDLkg5j2L
GwMfq4xqlKB24bnGwYa4C6lGlzrgr9Rlwd6cak10zCR3t3+ljgz56jpdZv0l
ii4MEMX35HchyEcRgcHakHvoQe9i6fyveHjYUv0C/GFVzu4PYdDYj+P4d/9U
6G8fHhzg1iiIxXDcO3u7SYmBrzmlWVdUSYnPc1y/y1PcZD+9Mc8WNlBaO2WI
XrtObwSAJIQ1HdvrR6DViCUXs2TdmWFyC5uVTIIwR1U/LRLrbwVrPWA1sjnN
r8wb0nZ6cv2c19n1aEDcMg5jL66H11TImDA4H8HVWAvqQyHZZg5l2lQOqF4s
LXMPfqSIlhiv+y4kR931wOK2SsSwZcwFQYXBqFe5YqZ2SvkEPl4Wt5xwjbiP
jACFRvwBLZoPyG3pdUoJRVwjPuNoMKP2GndzWMQNjX5CAHoKFscaeAthIsKp
ubhz9gN9/CLLpAGPVfwZ49S0JCr0rULOHlVo0akZzE8vHIq0ISW91Reat63X
BnQFVXSg90iq8yWdtplSJyzbhJNPz9zkRJB5jq7iuKPpliW/xUgaTa7bxQG/
lvv1MuGHc70v4XiBy7UKtQMiNXcqP4Aj/ohON2IUulhR3mD8R48G8B88fXz6
TCENjEgfnOv8RHgLD6YnFfoHZgSD2WyPzGr6nMz6iJOMZSdBB/I49IPgVCFp
rRD5AeFB03KASyzpaiBAJmHUq5vLodrz59OHIPwHr8ZacP8HIvqzNwqbAEzl
ND5wXb3CYvbX1XdV0WOJj9aj9hfBMxdcm7fUSG0Ot9nuYSeQkWADEAX7VXQ0
kIeFHSlNM1mynVGHq+9VNrOmnYAOYDKyAUx6PFpzeXCD6Ookm4gFAxZ0RUAE
MgNC0GCi3t9+/hSMMjEZ2xs/kBwfaYmI92qoaddC6xhVSkEdv1oVK8pwQvm4
CFH8Vw6c59dmSJJX+KsxpC40ssa7Wrxof/9S9jTo4kIDvQzAjtCwRWONmhHy
m13zapGc4aXdd4vCGJo+3BBA3zGKTAC8cnhbLrDr4wcdEivCLxAkOOJf3Zhv
IoLRlp+v6hXbix+BNVagphwk5OzoF8y9Oi6vea7qQBdgN07qB22UqJOO1JMh
+yMZorsX9KaF7V1ol1qGLO7TtAxUMg0d40O9uHInjEd3vC3U1YHlzZhXEhdV
N2T8pKFVoWvRl6PzxHqB3wmePh6Ki5YFASfl1quYbd7K6xlSvYWESjgy0uVe
CjGTps2AYXAKnLXj/+vR3g3UmUTCwo4VfT2ssAX1WDsLYE7TJG6NnbqmJDxj
KhQRy+UE6VSd2LJOXgtnzIfa4LgBxrVyU042UDroQIg6pAMO+Q4txT1q1cA1
HrdZ+iHzqZMtEHdJzOhxXzGJ2nWcWdktPHVFQU9qsEQeylfeBPO1JGkraBBi
MCElb50RK7TWipZ0jpJWVTHJQ0GDzOw/aBL3BI5YWsfOpsZ3m5gxlGOwINwn
3GkL9ViQAFhyXkwPXaHK2AWqemI+FjtRW8f7jnt7DZHPy1KJ7ztcxLWmFLKm
XjhdUdYAVumiarRpuiEpirwf1PqpGYXwvdbWeKXzuupiGZSoECXkR9PCuAOd
+Z1BxmnzFn1Q/I6MsbawLeWGVveGPJG3yIC63dxJCsyDkhlLWF8esLFCTVNE
tH2ROVbUywzh6m3krv4VQa1v7Ku7Ml3rgH0cTzMqwcVnxgOBi1ES6N60FiHy
rmmtaWeUtSsK5aHiuqpmv27FrQUqFd67uL7A7C8LvuKRR2YdLh1x0Eg8yd6z
x8RnmHUnF4Scf0WUYQq2l31WXf5FeDiHnVFhR0BuySgupT9DIJ9ez9NonS/T
29aGRcggGdFzkY3dVtTiOKMDXjKONGiSuiMMUingnhUfMBO3wUwMvpzdfxHe
f2D5NMT7rC7vhhLCjLwPLpmt2dgrFCPuR4iyPjSLie6rZcDYk2w+a/XE4rxR
nEEoGlGNH4mdhhQNUetKGmS80zi5A5c90UJGba1cvOMMYDOLQTerxA8au8nm
YJb15tg30ab1MTEvPEK15MhrglqlEWVMKmilA/+Q1c1SVEWbCyiv1X8muium
CHMoqwHFkPxWQV5jWNex9tqhteie/In8ALYarNllz8ADltLaWPzAPs7LJ/0J
wog4XriDDG1rkiTj8RiNO/rvuvgTadS/TTaQrod8uAhhmtzsHGwknz4l8aTx
N9HKdUgZnF3040+fgOVmwG/hDV1e7Ibg7h2dHyWtn9wayc4Lhq85Ojs+PRWM
EwW940pbuGwf4f7lKE+a8BiYDLTMfSes4ITBz1+n4UsKEoWP0k3EcLfCNLRO
rguMgxQKKo92vhc6nieBbIjr6NXqOhG+DL9NgnOD7uemWCa/Rze1nNpWstXY
/TE9Sq5soYCtcA6u+Tu+TcaBORAoVDGWl8bSAhrXxUjqYjYK27RSffZxk3UV
2MEVFYs7W1EB50MyECILI94N5l7iRkgDCgfDVmZL7EUP/PAKeUptNrNjOw6l
J9R+nfsNdqACLXwkjVxIfncMs+88JqASoDuKGZjrckOSyfP60BwJz26GIo5X
JY0OmK99Ithy+qhrNkx+UzdZCd9IgMg/2LE03wD4U7sjbdLxu85/7nmQhz85
Tt4RmLWbVD4dZhODjRokQP7Z9HiFju7fIkLREp4vd5JPDAcv+QGCid2YPQ2/
93z/i4aH57uGj4Zxwz/Z3fmi4eH5ruGf7Oy2hmece//rBKt4d7Z3RjvR461/
wsuiFG3v7X7+HD2BX3gPM2i+WFbpyYLyOihVCPPJnu9vwwf3nuy/wPyq0c4W
PRjQ9zvOgIZnTP7h/r4bfne085QHpHVgEjSs6Fl7AeFlw6nbd0vwH3j65N4P
PO/9ALx87weeP7v3Ay96PwAv939A2hUMYfN2hzu7z6u+D+xutz/Qftk+hLCj
nR+47P3Azv0fuLz3Ay92+1fQotiul+//QP8K9u7/wL0rAAruX8H+PR+gl+//
QP8Kntz/gfYKsDM4CJDQFtzY+hClA3eGMNjL5I0IkI3PKuGUV5DceHv6kkF3
DfSyDImnAcl7f0eB9YTO8cWq++EXz5/vBEzPTJe07o0X2+iNCjjN6g2V7rom
aqPyl9gDJIJyIN7mbiDUtG6MZag+ZkkorK8U/gSsXs3cFwsM1Bktb2PntQ2s
fRVIyo+S18UtPkDeh3axSRrV59ip4adk8dFwfATa/ci8y+HFzdgQZmOnS6fB
bSL1WE9+y4KOLlLuUKJDdVQjtYfqv0KtVQdqEPkoCNHyi/Apz7m9A8Mukh5J
OqfU29A53xQ5hphIYyYky4WcY9S1Gg/y0SOwcjhEZv2Ccf+EnHE0IVRsl/wq
/CXi5u6x6GIOTDmPVWNrcQh7miIU00QmoZHpKC+BDDru50sQhe0UquYwHS25
kk2J525jLWkU16hi31tKIRN+tzEvSaHWdjRqP4rxMGbYIgKK5fPpOB4OWvhk
6DjIUsmxoFZCrKgDqheOot020u4OvklUZRlLppyPI71m3DV2n7JDJPrjH374
IcL67fSi7+0+axQ87UmfZ6Qfmx4T/f0zGjg+hLVIwftifK9PC9t8dwb/2urM
c3n2ZOd5I79Vuou/+d2rHeG1OpBwz3RWKxpblFlB/opiVSNolfx9U83iAPLW
XCsKGfKCi4ei3UDP8F2TixKRz6wXjOVZE1VxaRSuPjAyrYMKncaJaxC2nNAD
F7Uyfmp0qQbN5vSNaYH91kWVuM57iA9s4XdV9QWEt72l20Jb0QNS92DOGc8C
D8AKa4Nb0RH4Jp7sUQBnnafVh99lC/cbpIkf6Mi3WOhwINJ6KierxSLDMAY6
P9hb8BEZgVAO1bE5psyUJtEZk6p6mIp526rXET4VMqUEGMBiCQ+4+Jf+clJk
PZcM67hctZKe9k5IIo0EacrYhBKwJwvvIDk9OTlJ3u3sPd2D60f/BrFxSeZ9
sjku0QdWUX7f0F3mg4TurxfPD7vINI4odAfJ0/0hd68av8fvnI3DvL1hOHAu
553RU478k7A7iFWCeApBDNIbIgYP3H5QHpKstRt7HHVYaxH+YrRLVPBCsKqc
WxmzVZxDWTJhvsKVvCY1ha9J1KINWccagMQuYrrH6dP1CrFDBm8QJ7ZpJJi9
GrVUkBiou6lSRC78QZAiuuXTixd7T7TIpAPI/fvT8+Ts/P3pj7/rzrZR/7Jk
SLUB6BUsknjTovCs5ejsx9FOclt6rRwXIkJD8G5rqXeqshlzucZO8N4KSkGm
aBOxG+yTtvjCGalMYoEEfzsOqVGtv/VpHXRATX/YGgfXwVf+LTjGeIfZK/Sp
aRTKP8+3t3v/9uzp824jc3+kdr7/Dj7eN9bOzvP93r9tP+/9jpr7/js727v9
Yz2hOa/7W+d31Op3lvCuWsJCqO+MiGLjF00Axq7IQlM1qfKiFMCo/aKYXVVm
7RhD24j0alFUdT7BtPmQFUSp7lxzIb3JF1OPEAbaMSHYcx6I7z2JD0Z9Cn0P
ShKUV4jaUpiJIGj2UftDF52f2DplS+KiAVeZNkvny2q4/MvQXoGbPQcujTrT
SuAOBm5AEpq4mgvf/aK/20bCRQZUPXAgcQQeyYQtKxLBrHefiptxhD91fSgy
pAiGRru+xyVxjMxK4wkyOP58SVFoYjIyoUZZ6SDUQgknoX4XjZpClmgEVrAr
o2WoJjDiv8Qj4mWyA2CoAB2TJseqvMMkWpkERiOidu1GI+l9/4nzqi+iBgVY
8rC4mvHQGTW3t5uhKjUp5XkZIj3Yy3SQ/FHatoI0/+P+/nOe5oJ0Nv6SRGtC
9TXlh2It6dQrjfoZqSHijDVOUODuqW7/d3D/Q9Geq1t5+XqIkZUpLgQkFjUi
KuKtEwdR5pJksUFrmLjWg6eoI5CkjW+x3VmSUmeO2DaDlqIgw1saqT6yZK9e
OSuE5jvseYqjki5Bh6T2wBSrb/ZZeXCa70BCyeyCizusjvnHP/GPisrkSHY8
qcca7v6nBmS2XBuEd8PCKhL/Wu7aEtPWPECjaxFxa2j8JbWDld6wuCBe5evf
v3ylPUGePwUbvTta+iH5LT06PPlYY+nwv4gV/G+baOwMktPfv8Ewjl8yR03n
6eRP+DV7fQkbEd6Gka0KUP7JsSXgbzkWvRmFrnFdNzsbW4PkB3hgb7cZl6Wg
JNrjQTcCyvXTplbBDHTd4/FR3qruIxqv3ZmQtirCb0GOLS4hOLbXYCOCCZj8
NSsLxS6XFAKK42J/n4mlD8Xkp/URIbybwZHPqTZbiCvmfgqUqy1eXYB1rVLP
9865ujgnOKJScU6F8lL0Pcusois9Tz+YA48bD4/l7MdiKDCriks7KH1Yb1vO
FcOF9EFhdhpGQe4ClzCvBPelmRmgsOibwWZ7shWXxGuKYCWRb3Ieoe1cxanD
mk/wKpfSn3UbGaRdd90BXuGBCDvMFgkrSt1ehKxkzt+a5YsPgb2HyPtT5YOR
DqYOmaaJJ+X3mI4w8PDjjPcehl6HeI4z95DnyVvD0BhgrnhdFndNdkdVXB9k
2YiuRCKP+pFiYgRTMS+0COnlrLKJ68u2yeUFiozg2cg98RKC8n+QY35Vzs+6
yyKM+p0opsiKXpoamm1O6i0vNtY1A2/IlbZV7KVKY1sbzNzdMPs29/qI/LFB
ofv/mft/MHP/mry1Rt4SEfcDc5ZegzAf6tByGoM4c6yRvuTyA8Uf2GzXEXQP
USq461f35fCaCWik7Jpo6CUNv1FwAneRPsGfEuuyfFsnjkDApeXMRbRAtNhn
FeQax223sncLj3vbNvS0KQFOcxNLnN1r0ZcO3W0L4T+WdFhChJSorNmVltqJ
Rsih2pFrLhyRfGj3M9IwA9JG59m8KO9CCwrmkcl7rWA9w2mQMzi0oGhFqtqT
49ljlrqyq7jw9b720+Qf/sefzjQO127nTamHlPYZeyJD9iVOSmgiFE6+ewvb
3i7KTl6fn797vDPa+fab10VVw11tlE2C9EBfOEz2/G6JpnVXK2z8iiAWgxlF
FNUof7TfD6+zFK+v1XLzshqP//yvG7SMf904+NeN0Wj0rxuf7Q1zBDfe8Ztq
zzSqLM+bG2TxiijrMdls5xZvoYlJBL3p/cRbChPhB811PNLCrCr6Umo8PVDr
GkjwnpqaVlkdutdjfRQmj8nBAZMsxinoKNiWY3C5/xFw7sLQYB3lYSdYuiNU
w0VRXuHzshsDe8u0Bm7CJ+yY8ezC2EHxK5UPfgnwbhen4vvYt+qG5PfNEenD
bBqYopfcotLJbos2RKR0iGmkg/d1p+MBZ1o+SqctVSNkXzMzn3SKxLHrZ+Q1
2WhOwiaVNfbpkXMsR0Ngq82HMc+cwyR8IzwPbgEDOAbZh8z0ZLTb6IbwT4ZB
aRF5dY1q/WyVXBe3PgdEsaDk0vEMLGGXsdEW2MySRbS2AFTzxbZgpOjjYRLJ
GXZ66uywTK0mJ9qFS5s3MmENmmrjDhYRhgqUuDlVUA+S4d836lHgF0wp+Bcm
T0RcYtlcXedLbU4ETExRWTpA9KWFYoOM+Gw7rChHFM208hikAMmAavCCcJWw
GvPG0DHZk0pHVV678k5lWYw/YRD1TGHoBI+6n8YYppyncwXHIujkZxQB4m3y
3bBSuOzsuJM5MatWUN8W3zTY/gQBC89awuIgFDtULp8Ft9shpTmJM5KhvGg5
UNW2epiuqr5rQncDXrLJ7I04RAqCkag+dNndCrZ3485wh1aieDGAvZncs9+6
GaeXfmfFXxi3equyuuo7eY3gOa2mr6TQKt86vttuD00fJbxAfDeUaymC0L1J
D+/GShwN+96WI4VObnju+HqkvmLliEO7YCYApJrc80aMdjFXXS2nTPFWjSs1
Yx39Dq2Cwp/C3WJyXRaLYlUhtGG+0O5QadUL9CJQ2HxXNcyEDm0GiOFg6Z3T
fY19cmHXG11iCyIhar/WocUTly5c09lpu7olKGjDSEELjAi1tPC3gciBUnon
xJyfnElwTVZzdGyvlnLOaC/lWO4oNuWQ2WtnrWIEVUp1zES6XOyIdY/6egfN
h8c74G/sxXtuRBjkIaWI+AWtRDzsWJmrx26MGTI/L8BOZBwMsCS1bZq9yp9i
aFxWQpvIXYToQ9VNodLbObRkMw5hCJ1g1NW8uDWbZ83E/Q5Eq9Z0zSBzpEAR
FalHj7RZ5kN2vfryPccLiPe9u/CcuoEJphM30vKoTnXjDrUatEYsyGAjyWtr
feCbDWjjalTZnLdR5Wa8Md17Hm1F10TRJuldW48qENZi5diUt/EwMWEv54Ki
0Sqyr2p0VdusJMJNeau2Ld2nNAdb1n0Bm7rN7uxiNCbYhOlbUyM77S5lD91y
VSKRfBrYFxdFQz5LmnIsGMnHR3gM3D+ENCVKFJI+2IuG598VOnNXEcsh5Vbp
mjNLE1U9XTZ7gpg88tqha3fu1iemStGy1AjtAqfoPclImMR476XLNrJE4Mft
Dfbipy0egv1CAEuDmBR/GVXrDeXjFYSW6ITlPr4rKlDjwrIT4JPTGZb+wvql
TSrMJCgVYBZcXeFvec5dNCUTNS4t0Qpzf4Xmfg0mwww7XwRzmooViD7D66D9
iF8mdnShP2qYVsPfnZyr+YINU/kM7dZFNnuMQ3KF9aBx+Qh5RtDBH2I7sgEC
LySSI8JDKBDmwAKKBsKA7bwY6VNgVVzWWXfUpyhbmxMMneqw++tsvfHShvyS
nqlUcva6ffZGT33qT9w+hzn39xzVo/zSQnV9U5zIeIuNE3E585/I2cWdg7UJ
VKcnXkooMIToq+XFhuPakC5PphbH9xW5A+ks7oz2cDQCAOe3iN9VHWUYChTD
qDN9hQkUWUA8i2FFV5w0F+fbMs06dI3WzCtelluI5Hnww+zlTNjLyQ4ZdLtc
MdrqZedjyWYaEqCVTHx+JjVe3PJ4MNbQ07JGgYFkpfcs0xSDganEwLfYQfHi
o9GJ6flwSotWxoSDZeR26z47Yf9w7Njiu9OZ+K4LdPyAwLDSu8z4XMu1hUeM
7ER4HVFz2wFWkTsXLro+LmjwYsDnZW99PmIebmAI7SAZd5b8Nz0flKBGrrGu
SNw4QtZjMsDeBTM2yGea+de6jjwbSotLS9uy9qzZ0XooLkNJz3W+uYHAHNAn
2Ckb9/Oh3JUxhhQFVAitdNQfEMsMBLESr24gwZy1pjFLL7IZ0z8pDcMLHuuq
qHNJbcjwAufV/JBEE7ZDNUT7cLXT+LAbTXFix/gDC8YUDv2V65kpzFF+lRGi
HJCyoJ8z5eLBBb9vV6PdHoi4kBKO16YTWIf0SkJt7+7E3N0Np8trssYfEtol
Nzs4GEqypC72wWEJTF6H0SbFgspyGGywzIKtFnJdQhrb5AG43yLWgedQdl9N
ENPcricW7s6BEPoJryppaCHrDHL30AfnYjcpz57QaMlP5jUSxqetOaViRWqG
7+VOBpp1xbAO9UpCPT0Mm8fR7rfIeE3r4oNqZq+PETKiV1pWjAgahQs1i54h
ZqrOCGG7G/p/pThhtrf9K4UCGUBvDAOONWbXD39a3xbJH85fDZ+rCjL++TPz
gFx7N2JmEAq7qVV15BU3oBJPcmBN3JAmCWaCOkJwsw3lp6mw+3wD6bvmsfOd
7WO+XVFW44Ldzo7x1BmNTOEujD+Bo7nhUirxaogdede4zIhaQxYX+XcaYH5t
F8+9uH1tx6qGPbCJJV6YJWzksqTAVjCYIkRJDTbeh/TZW16My7QT0psWQRku
pEK2dd0e2jmU9Git2Rlwx8xKqrTn1K6qLgb67di3AKZtVUYlRzSXoU5URCqZ
6Zq77PVZWxnQ77LIMev7rQmA2GyrosS6YJltZqOr0UCaGnqQt3VNUHZGu1tE
eatFenlJV1/xIsMnuEFAbT5Dz+sFOZy/3Sce206eDrDIQE5j+uyPRf2evyFe
lp6Odx04t60VONW9G0CzZzIkIVZlad3jPV2hzwCUPVdn+mUzxLQXVxx7KqCH
AT3SIUau5U082YqERLK7vW2XjQIXTeEZeVNa1jvrSDCVDlsl+ijaf4aRHYqz
tKHSy5P3mMQTFaOdYgadcG/GHUOXaGepcKRpaN0aNjpPAhJvEz2+d7CHdjVy
IzbhnoxtGQys4TvjWXlo8j+Omk2icN+Qs2Cm7jVqQLTvGEoZAu8ZCvSZBgYd
av66HeQPtxpSrRdapBT5zlDNekHfs6TWxIzYp0klLJVOMfSYov1oZy9aIgQ+
Rm+RxetKHTEfjCKDKvIrH0ulV0gVnd0xBAj8ghB1QaRxba6yHyz3hQu5mq14
BKwzWVBt0MkxXuMblqLEX2F47tRCeyZFGXFhIj0bSELK3xPp7E2WSkf/LEEu
xYTOJTusDpuYCInU90Tts2momBNbXbsa8eRgwvsWCqKsg1k0C9cf3hp3NpqJ
9vTX+T/VWCd0HfQLUXR5OkztOp1sylCD0BiMQZUHUh2SYmyYXpgKsIz+rp6M
tgSextf9Wv9rTs9cRD73qEubNFG2WtbWnnoQCzOR5liiVAewDyVceVuT0yqy
lxjPGKQLZYzTLZwUy8y5r1oF82bmCwOPOyibMtrV1zpsrEUVaIV5q/qZpQg7
fqWgx3UJl9mtbSZt9fwSBM5ucoqJI3O/ye5imvInrj00waD7zs34vfY+I+R6
ZFw0LxQSZbG6um40cJWlSd+39impqzlsJx2QFhCuSG9DPIOLHDTk8s7NUEBV
QcSvyNWI+Sewg1LdaUlW8tc3cK1mRGrn15jPlhwBm7gD1aGVdcWJBsLT5W1z
Pprztkvn0ma7SEH0jTl9lKoV6aSpBHxu4ITAY2bF3ZxWajD2oTc2lp1cAg9Y
TKIcsgrxCWglO9sRAnDDs0LdneTc04UWGaKTLZ/kS86uEDKjKDNZINLnUegc
o3JRp7OQHKOUe0/pQsv2INDf4MfAOVrvKynl6War8GK4HvoG7gLJtnAv8SKb
RGVWY56z2Hg8eJCfprJsO7ls2ty9h/sPJNDdRyQhd6/dtMsP+QEle3BscWUw
elM6fFskyj+wx/6yo3MqfdNoxeFlejL1sJldhM/9bSIRSTC1BgaKsTxqRErM
D5R0It469HLPM4XbPJJnfZ/3B//zKdxqm97D3+4B5PyCfx6M3bkOmeB1QenJ
LZIeUEQ74qDhioUdOGZQViyj66eyQ8Vu5QqhaFg3iZ6v0UzaE2xPghuaRP3t
osncO41jLOZK50uVm5fOgT3kKrhFVt8WmMpUgqYGbDLpmMbqAizeehU1dj3U
riGzYvKB6+nlPkm5cJhBlgK7nJbFEpPe0NVk0EbtjzboUWYAkuvK4SU11014
AVHVb6BH2oIyn3yg63eTAxueYxitMOyzlAYOmfXe0/PJNe/TJyrpEux9GeLF
1niUZJNyUbrznFWYU4EtxvVBFxunNEMJvaED1gciDy2i6mOIJAl039GMa6bk
Eugwv6GqHW8APFzcLgID9MRG6xAu8l2luqADr9hT8AqR90EBMO7xO2NuimNx
VIK1iO7YFZbPfp8tgCfWB8kJOqOkd8sPKCw0ssjDMRx9crowZwRYDZifITAr
ZWqBdHSPc9rtpSoFUXlfFcxgmLO/CNQadyDpkV2e0DK0whalWPvTpgaZD/dr
MS1uD5xy2YyYWFJwY3w6QxOFkcBDr11TfMWLoiYPVESKpBZiDU0fCwbA7VhB
thUk9yiLH/UIgtpfXM6447sbQEOE2RI+s8LKMEqEBgspX2KpAWeCZS78ADQD
Z8H8JnS/ykuiuMjNGARZWFPIPxIV2RbZ8nlYzyoXP6oD+8FTXdvHQdsrzQqG
PMwrOURyaLgId+yc6f+aIen30gDrHU16VC9eqPTQ3hh4CxiwvdBz6ezeFYf6
yPAqM9452kPKpjEmLo1fuHtQdZsu2YsQ+lKl0WXN56RMxuYFegHuiP7lyt+s
ZouApdgoMRrpjY37ZXgtyUeZffFMTqEIzKZFYBMrPZ8aR5SgV7a4yctiQbPE
IEq5qij3DZdvaxf/rUQdZkXOQE0U2FKhJD1m+a74DoeRfSLEQ77vnKrulVqE
Nhz8fIRk06GQii+Lcurzuh3aAxpZWbLlskCXLGaSURKBsh/0KK58Z99gAlWy
s5RbK/uCq/1454BCKvR0aAMAs1xaqECuSzOPcC3eMz34mNIEYb/q96bLPmYi
BzQ5BGSkACgmnEEm59e+kQ1mrl6LDgOwzKsPevo+I6KfJiMaJmY8T+8Y4xCI
JGVnqyM83WncGiQMSr/KuhqoKZToKddTpIsMO1dKPgjMCzQSxXnqN0DbZo5X
aT1VEcX5ZFMlzmlsNQatHxl1vliRL9S+Ip6Ioi2Vvqua7iuNQFWtQEJkBvE+
w/SD/Fa3Y5R3ks0uhx4UGFQbstLaW+HXzeNGKYQv3b3gQBbFZRdXBaPbVsDz
kNfCqw37t7omEKCJeEPw57Iezqjy2HutUZZKx0OF18H0Q1by9eA5suVcTrQ1
HuPrlTVrbhiv4snQwKw1ZUu0KdsmDr7VQB00oFHVNKa8gbBdF0VRV6BLLQ/p
piGFonHplyRe0uCHCX0ogP3BWnNRekG2E3NyacKWkopBT9eGMAKM7SeXONrH
6TRlRhOq4kkaNJBOQvUQTlkflqtFO3nawV1bEQLtum2Y60o8NCsh6sYojRyX
q2lO8sQIdSBsUyMHA83loky5kFOMqh5rM9dkWVhDslDrKWEBdB5yhhMWznDN
X+j7RYUpsPr5ap6MtTpxzOVcEruQ4G3UsqTJlG8lZz27DSFHtWbUkCAC+MD9
WTikTL8mOCxhYiRw2IyhbbF4AuxnbpzaaRSYk4kfdQFm6nMeeEO0ZY49ENgG
oTnXdxqTZvUZhPiiuJ1lUy3aJGmK+gOcVp0GIWNnXuGmC52EznC+SBo012qy
qiob0XJ+SVJSqfZQLvyQIzTcf0w0fuHW8MW/Uz6grklhDy875JdpIU44+N/B
D1R+fmHY2Aec31bfLSnA9FN2kRBoMRlIaYc90OFwcBcZn1hVDHum4EhGRxwI
y9nIxdmg69wj/djpI2WwMu28fmaGsuMyEm2HjCQBpms25IRR1R2MlfcrGOLp
Njc9ZZ3OgN9bQMIP2XCvkP4tN5a4JeMnG4o5c9AbsNyJwKVEucpVWY/0h9ii
igWa3YLsY17VRgRoINAlF+g7+gqpcCw4KVe/0Q44IMs9GYgznFSsAAylnTMN
VSCuIZYUDMyH5WCBGSqRGeqgbSjPjyEDK7Kgve+iSja7nHGxcGW9UoOM/ki2
HmBUfR9KViIPF+kApYurBOhnygWdpfmcxDWlCmo5LQpGVVn5hgARlZdo5TaT
otCEEj+afsZlYRGAuDAbw3MUvSeVIInyArsdVD+MQRPiGNQ/XvMrosi1y8c/
N79QlGFf9afYW149clDa3UlBYip2xI+dM4KK+LUGvJnZKemuFB5NA/pZXNPp
syCQOSjmseT7i9ucQl0iBp2D7RcVtofa1rp0qDpkJqYLbpNuc9BWw27+xWyW
V5xZiqqJcjHZXjTQrsB+oORMtSn0nNmYbBt9w6h7hh4x1aXS7gqcdPKG4AaQ
x3W0Mo+BlRUE2Zq+bSJA90XOdREZkv7ybisUG8WtulsAcwOJS2g+4cdsOlQY
0ai1nfWPi1qeNY67/FC189OjwigtmpXkQLScKvFRNOuIqtD0RD0ycfFzBHH6
RJOofEq78xy4wpcInYowrbTLgGN3MehEvJ9fgmTUlRYUskSa2BNmOhnOktTU
WFF+8Hhh5TSKrDNVHcwx+95pVprvdBwV9cfpHZiQ4WFBW2ifDpUuqpxRorTh
0HrowhBolBgSDuENg6EyslSNnoGrhD6PkexFNhNhTg5JuGHpB8Izo350OKML
NVDjmIAors5GlgSUN6gxB1BH+D/kO7z45hFRmRsWhFQ04KxghwQC3LWiEIjQ
J6DkbSxGqYk3mL0+cJcGQECAvKIKQxT5ruydys0nnWXIvNRXqKstuEZvKniQ
+CMulQAxe7rdp4YmYVdEFb81EJoDwwYkHiLwk/egaI4cAnoVcaoJZWwO1nAs
9IjxCagrS3Ak4848jJqLy22fi+HpU6rpF0Fkim3+q4NjshLSgMYcmNeSCpcI
3IOpiJzuEhKi2rRGgEerM/UZBx5wg/mSQncBe/Q2K1VMCBl5ltAFDNq4OYS8
YGjjXbdBLK7YT6UG7IjrcbFQwh+TdwaHzIDIzdVI1G3Xv3sjiNmJM2wYiMfH
z0KXiIknDfPJzlDgpyqXVguXr2YKno0kkTVzPxBzgl0NKwj305zPtgERLYet
wAeRAMIgZlpwJh5rbNVh4BvMS6Rcqp+DJJv90Ev7W3w9WMBJFAWVDvEGBEwx
8UJIbYZ4a4aMoOdWFxyFaNmbNqVONDHxKfrDxFxllOR/E+mNXLWnhdfBB2Iu
POAV01vgF8OLlILYwS2pSVOc1nadX10P2dZ2RidFNSKPBBGp+plDnj2txLxs
yfIasVLwNtAlBqsloutIJLS8e1j923nnnDLfPHKkcs4YH6JZJRj5PHV1NLFP
RvTQo6jpGuqh76lwIVcsre6qhlAHwb7A2ox6qh8qfEVc3ggmcXwJN0p7xXWB
hz/xqHIgQckRbJ/vwtGihElyW1pe5IhrPjHgTleIlLaH9SmiPkq6FeLjCjgE
/MXQkocEJ8MVwBzIIgn0gBNjkpLicFd3YLgkpdmVWhgSZ8BaUZiyly1u4LZu
OTy999Km6fu7d7Qp40YDHwfXPuD47xOpPb0tBOsBKyilPyLWJi0m9YFgDfD6
BV4rEzlF+A52sdvLp9P7OEhcAXPQukm2W5b7JHNpcBoq3BKPYGoJ7e01hilZ
CrkGGSmfjqGIVgwIQrgbEi9CPljXjQRb8dMctUFVUeaJb3FEKrSQb5QLFsBY
tWdypC5bNpj1TpAipDh/P7i+rAIp8G/GdOWqXT4qao42EKnmnBXW968TIvZC
BTcb9tiHhvRRdmjfXzHQlWcd9z0iRk9lAuii5LKAQ9Zn6mYmteXWDxr2gyeQ
uAV2n+x6OtrV4mQ5Au3wlXKHreEtKjm3GA/HilXkvperRmfKBseqKCt0TS0x
cNj3mdea0Vj7ngIALquZDLS+qpungZLgPjZlXgZMYsqiKzinD0Jc192a0Gsk
Dud5M4kID+fIQYr24XrHhrzIWADizKL9VDcpCT2NdDm3L/nlpvlVXqNpoL4C
Dpj5qB2bkTYAF/mZ7JPujkTJ/EXz8Hctv7FHrovNKPmhCIqXf2VGCW2UxLcY
Wi5bnGdN4EwdZUej5A2oKVfiGRVPnZQeHTnABSwAJQeb00TiPFFZCwrDfJLp
H0vudNYXmiQkUNro2IpB6YR70CgR4Bx+ThNKTeb1Bj6jGCZdQImTTK0XFsxN
c4bdrptdv3mMuK5vj8/ebclRhOUC243tJOwaDFvAuPQUQlHCaERMZWak70Tg
aujIQseYJR6k3MdUMzKJfotFaCpDwZzuizSSakW/IULc5JzD+E+O0xbcrmSz
u44RfUpeSoxRBXzPWlrgGj8W9Zn2MpKiQgGma94s61LUc0fdMTDfwH3tZTsj
TKgM5ZhyOxw6klY3NHJ4wgUlZl8QQGHX5aEmOMUy2EuSl9ewruNA/iQ6/caJ
E4O4wmPFT6Mqz376vCg1Y4XUfsk6RFOABOJyDb80MwbrCPhC8MdC1FXLYrCe
z2K7Fh5lG+leHtMO7msQm2P/kenpDWJWezUb0DJELVQc5JDDf4Wpnjj7AKN4
6jlcUw5xscpnhGiTeOPi9OT8VWd5D2Ubi9cQOVblU+F98XXUWTPEjrWd5mld
BXtNYr8Y52MOofiajCp76TododHGtRqrWVpa1afHPHBqkfWxhItAXg11S1Jh
tgL+iONRmjrnKhYthSBKVWQUI0Usur8fBs5sLFMbC9ZCP9KRJSHSBNHwIndT
lWWJdzmJIwePGElF88iwO/x/xwU/394G/sg/PH+2/0xWT+Vd8KuKm2ZShinn
T1NVoS7T5QXWwOswyUJD9S51i/HSSR2L1Ne6m84oFUM+FbQWog7LUiBDW1xs
Sim80rdHoCMlu6Pt5CWOIe0m9/df8Mrol3klAAAaqh8SkhCHsyPxjuga6Koh
pBlJaOUv0HorSqsyAk+5PAlU+4AUbSGvwuUe6pzRCMK0latrhngx0ATxCFLw
t5IEWs17gdlz0p7umKz8+M07OcgXz3e27SCjAroQZsJaOp7LLP+QkVlram1X
o+c4tMWcZ5Dks9kKdyZgK6s6zYAsjS1VPCGCDqJ8ZsahQVNgHqam22RJVC2w
ZE2cisGVGrcxbWuZCSpbDf+hYXmz89hOs6uEp11/TXlncZA/rLchYQ+Ca9Rn
8F0XMy1QMq+kLSTcAImOGSRThtOUEGWUvJfW2gYx1qMs7s0WZzll/pjpNnsg
ad1glbOtrcWglPp3iTCbDdmM42mwN+4RYnlgnWlXGrbGkuNszrdP9No6OKXM
tpcInxbdVc0tDjlfdgDyCm5UmFjWdInXhSxSAsQlhvgaC6VwjYb6Wklmbrqg
h1y55Nd2fA0nM3GtaSwEyBFAd5b+OKJaQDRiXZZasAfDevlRRikPoxB/ClRx
109hg7jHkfjTCeZFyXdKuTPk79GQbK+EF2+qupZyj6h4m6XAZe0mHvjPGoIO
l9jTpEM336sCM9qJYARLQMSlfd6IJ6QmXVM1V/N6dpZlWq5MkHPospRd1jvI
Bbq91NWwiXUy5AyFI29e/aaCIWU9vI3JZiMEtSUtEDl6Jw1GwwH5dnYhAUD8
9USQUpWowanFNMqvj6LasJABtlhg0k9nt+ldZZQcB1gU5a8qAmqkpOMF+m2S
sN4OCm9lhIlQMbEO6dyHLvtQiTa2HOhESOpIPuBMqu2xL6jxxpDd1WCq4rPl
w6Z2BJxef3xUKRwF29xXeNAY46DPbDUNCMuMoLLNRs442TPkSxbPU/AtaXIa
Z0dqRRvv26EkSDaBBoN/i/OtBjRbmZDmceG75HebFVdXrdBcYMjZR0He2/SE
00heGFBqQoWViFvwNyz5C3gBvg8rbQ6jGzKaPqznr6ZCECAszCesofuorTU7
XtZJV/26WjK/t45X1rwnjZvCCewCu/IjkAj0EldZqBIiB6Z4tMGUxn7HpPBR
aEgcyEhvmOTqKsIVPYa4CQUIQmdH9U9RqFoRkpAlWNiv1DQnkxMXmRAVkdGt
9ld2Sm1go5oLzNyMEv7RYY07xPAp6gHH+wujUKTBLi1ridrta5SIj2LgN3CZ
k7UKV6qalJx1Sq0whnSnkYSzqUXhQqdmnZjtKx9G2NVWvr2E+X+iOLAdrZVr
+IQBDdbRrvIaHUhkb1b0oEM1dE0ZB+x5NGKl0fvQVLr1L9eEtwrp2twJyNtH
bFVrOAnM+VQSUbEYl4oYtPHPpW6NM2kHnbMaBLU2X4AiqT5K6RwZAET4ivoM
7VGSMGDE6dGPR91gESTgHcrAOUWO3mdXINxL8i3Qu3nlkg9R8ZiymAt19eis
syq8jc5h0RLmcYE7O4dEAx1qSwrmf0DY0eQTIj1THiBekC/+5xOsRQAlGpXw
v7ikPWn8jCMDMdBHj1Yf81mOqXcu8ES4prKNUmeZTSWLsssf06iG+BQHnXzh
774W/q4/zuQED4kLfwWSh+3q3tneElMU3ilKMKHfceCKjGktnPqy9SimIqVW
xz152wEpSxNlKiNqxCUR9mAofdk4iwr6JKVuuqGoO2uITmSejVxKEuAxy9Bj
djvPghaLXrSRv0Sun9QbifL80mv0v//X/90z9P/+X/+Pu0ytBp1N9/CL0bPR
c75X/m4BSTVoBUkXv9h/bTrujfym90YMt3cSvRr+Zv4z/6uXqp9EVL1mf5t0
Te6pvGJ8ImLAwqgbgoOdQaHxwnKZpYRD9CCQlL8FonxJGa6o3cKepSSQXjHY
1a/D4nvHD7xeuDn9OkFMLjt//pWQXUxwnYAlEYH1UttZnZYWgIGnLopilqWL
HlrjV+xxfmr9K0qeTyPyvH+niUpzBV4Y++/69IfKAb+pv3XcZMyNEsJWU8lF
A8RaEEPHzf3xH1a7wlnsMheN7HZdIRfOEYVaS3PaCVJ/CzfmhBJofpEalAe3
10ZzzNa9IPLv0lv+g9SeexWZL/yn+x5arlFzWngYTJRBqzBw3EFIPKEKxcru
ZcjoIDgMsXRcDpJvsxzFBNFI+0jd6bTbKOdDdupTn5Lu9KR44pi+GuWzcQt3
mWGU43ZB9a1/NpzFgAAo/glYK1nd5ISieI8UwoQeEQ9KLutZDveX6SAPcgXF
voCGttZoAehLCLS90Brm+Cxijl2XKmaH/8W5Andaectuo19Jgqp21zH2V6h3
u1ttQdsQsceIbXu1Yv/DPRxinaztFb163z9pNwqRoOUqc6TXSzPPI5pZt+Ve
4evwGPlWV+shXLLJdREeeusAjDmMHVk+IQqsBks/eC7H3gJqsEXh/hZkYEDW
+lUo3slDpfmeL3wF3e930L1ndNENeKBQfICi+aEp2rrovlO8cCXhl71m+t2f
XCzivtf0Wr2IrtV9Z9tmy5ypajfr/cn/+MPp+5OXVME+6+qZVwXQ36gcsvFy
u7mnvNe12p4xfPvP/9I3qwFYvcYZJz2yN4+PtrRi8O2FQXNhhhNYGaSNx9Ej
gjfuTBTf7QSeT5Uzxq3M475dA4sJxV9LfttdwiwVyFxVwKEBLhP5C+OXpVEh
s7BaanD04KZdvkBrRxLgd+KiVqlqalZ4YRo9uWS1x3EWYOtdUxsPrMAh8bg4
PxRCa9/aB1RAd5Q948nqWeKmqYNDDC2UZ3FJB1d1RRAcnNAq/coHNnP8bwr/
KamYk7rMurOt96ReVuM3Zbbk3cFAFWVmXQBXuIziuVGTaz3S6joFVrvZLlLY
2RpIljqbiHFDd8sv1yAmJS9acr7mceOLTofGgatkd7iPGZZgbeaun3AVu+Zb
xIBRGQEL1PrsnpZOATGvw+CWOTwd7mxvNTpFN5P9+/CBlY9v8j4hMWMiR6N+
KQvlr5JwREb10EVJAk146vRn35dsH47pKdEmIkcGfJNGPXiu+Fn9yftPDjo6
qQ3a2CR7u9yXwMkK6fmi7EkLG7hwnpx5IXtybWNtRZs5jNq0YbAoE8xRJ0zF
NuSU1pNFSABw3GZ3a6Azo3lYrdcg6iQgsfHe+m/pYoHK8nFox4BzlDRz+tPJ
R1BgKynrIrR16d3AfWD0UFlB9ZdGzUaP3KhYR1EV/SRdFAuCn7HL1+yG5PNe
0wDGLlPG0PYMhE27G4MAcoHem95y2XxaSz7nuQYO+9oohNBgALRuoCvjfEMX
B7Gktbzzr1lZCLXklmmKX9k6bCzZVmtBRnpaas4XK03n5MG4v80fR09fbH/+
PIqWcnIs3R46pp7zwZUELY7eCMFK5J/R73HIe29lPq0Hks3tj9v70jVwq3Xn
WEN5sv+8NS/pN0EZa1STLLnyYRtsC7oHffFi7wkNGqKfzWZJjcLCrhYo7LvE
z7VLw5oQHTYhPe0JwUURdh3uhcb0e9ua8A22FWr0TC/fe7zTP2jBuDKGE5/Y
RUH2FprCZlQ/v6VlzqtaYORmqISWnAEGqh3ln6VOyW14UAjwP60q2hYClotg
YDlDS4UwZpCTqFIXqwNrxZnG3ICMLcHsCL17GDuo6opkI5+8S4gvh1L6osNk
bjajMtSZkLU9u/PcVgoROdsl3s+O/bOtG/ExSeGyzPIis9pivIrWYHTBP5++
Q+uTezMUWqhv64axr9NVxcKTi/ZD5XOzXLW5nbogc/EpTgH5FZ1G9F3F/YOu
Vih47du8DpIdq5K7mD+8phWJlt1n77n/UmjcdJvNZkP2nPr0S4ar7nfffVlT
p9CMLagzoojHxBC3sk6OlGgkU5trSLW0176bwmktBdh1HLqkWVWqpjPF/gnK
2XMN9lxQveUaHWB6UEgdZel/SXgDLgJzQF4q6bOUhlGiRlg8DAmyHSIfNk+Y
bbuEf2+tFDQFVhtUU64wWQalLFcaYFlsZISxPiECAQPwjOloT+MorioC9mYX
VXTBloq02Z+TDbyD2DoRlrsxSDaIqPHnjeRzHFeKGrlEynOKClKKBtuirwUQ
TGJvJO3JzSLhcL5gPkpNrLMaJJ1TnHBNdZjwPjiHbToIT2u2FW9oW3X3LZUN
Etc/Fuv22AQSb+pMoW2aeQpSF53W8WL3R8k/NVaSV41XLZrRnGVsQ8BoT9qj
xY4XB3HcLr4gYdiSss39DO7+Xp8ozATryLRLb9QPmrNJiSPn1IV4bQvTMD/s
YfrtN88wC+3LG7N2wspZIY1P8mvBqivzfAUTwcqx5HvJh7NuciVoELP86rpm
poDVF8JPGDyc7E1fyi1sRLEq1nIS3eSpxYXnEhfmdprczBmBF0D0xLBXkZZu
GMhYtnCppZqPHr3G3yk3vZQ14hKkI2GHw5v8VhKLko6VIcQWEkE6Wtam2PFZ
6raMNSIU4HxZO0s6QiaN+uNya1xFfO0Ka2vLsdBQoDbm37W+hvyyvhAM4EJk
GvSTwhBQ2jyicD2GJWpwn0OgvUE1QVNH20MrTt2WU1wcPaZEjXXRAaysID7c
XNPaxHQsXz7OabCs8ekRuJLPAG4Y91JOp5g2ihVErYwAId/2EtE3p/uTtrMS
cqljkeviSjGjNesWOdBYIWrWaqQaywlt6WInM8dquc7rZuaTvzCu74Q6cWZ9
zZZck2TuXuz+BOLyX/B3SeLk6XRRRfLU9UkG0YqP/5tvRXwU1cCwiMxage7W
vjL5EM91QHM5Kzs9F1hbmaY9AKR7o13VpxpuaSCFekUq5lEM1s3eBEf9fCFc
0joZ+gK7Jb6HZkNCxXaMcRfIXtXhQKelhk/xq8klKNpIQuJMP+Gtto5nZmSh
54S26eWPZy63Tf2oqgcqWNHYndlY4A2plpGQBTtbU2mveL1BVbceSWYWufMO
kmO+mSbPRg8iNKEzJjOlsojIPg8aj5KGZ49uMA1KZ21ihfBb10C7Wn7I/8T9
Jttds8kgyLiBmmSJ9gp7FvGy4N0Dk/ROhGuVj2JiNNLo3G5URIKksLJ4lzbg
3Iya/rC7vft0uP1iuLd9vr19QP/7P+WpX3ZpB63nO5Rmt6vxSsIHN67relkd
PH7cbKDOndfxtb8+hqlgXepfNwZf8BLMh1/qONuk93D5OVWR8Mn132q3hm/R
B16wHm13QQXITgUkEF8uL3WxwaaX3d5n56pouk2u3Ece4eDhb+sPkF8I4Uo8
t5/lDNxr8HU7GtjR+3eNRsQTevb8hb3ZM1/4y4cHnBmfLnnGG8/u7SYlKmXz
JNzgJPkciRy6j3sH5GamhidU+hCnlbdYIz9aSYegS4qe4mEHc4Vs5Lr7FAeE
LcYxQydRHxQ8/PYbXStvAjxn6+XC+2xTn4CH6+JPBJ/9W86yG/KRYVVvcrNz
sJF8CuF2GQ9+E00EPki2jfvO5snxy7OjIUqU4budvad7m1JY+KcPjKhP39za
sj0+rc0sCsYSes/aNOGkwv5B8koNFuvCgBpL4IZoECV915HY8+Od0c6337wu
qvogaVIk4q6gblgPMfXhwFcZPf5zUWV/9+eKPZ18q6SKMJs2qMx+P7wG0wvO
SHmJuB6Ihe5tyy/N2dkYxUsOe6Yhc37SeqiGycfOpxaYEVmODMkH+n+A4lZ0
ZlYCCJkeOy8qZjlpNovktDgX2HoW+AtxlQ+fPX3eaurBRZlYJpZSfMIpZ+Oj
749fnrza2d3bf/IUJhlsnrE97xLIW2m8SZTicjp8OUKn4BAPcxjB6mOjpnPn
/DCDLq0k2eY+9TVmcBtd0zOWoxqEXx2zl0HSHAfZa+M14UT9isd8BqQwx80e
Isvr0D5CoSxJBOtm2tFrgIK7nbn99wmav0XR8vzF9leJlvaW67Nd2Tb9L4dn
OiVOQ5KsNLxvLTzCnk/qLv7eNRtgthFwN7wXruvoZajWjnn1BF9clh/gcQIM
P/lYI1TWv4js+bfNCvSSQXL6+zfwRPQBeE9Cu+HdJdBZeBWGlf3jfxDlGp49
Ojs+Pd2MxBGu/GZnY2uQ/AAP7O1uPVwYtmQT4oor7vmmzHAQizQnmR7h+oJd
DKwmXcEvYH+HFCOlP3NUkwKIz59GaFe7YCQ+wnHeYuIOtdvlYR58A0Mf3kG/
M4+vqdCMirfKwhBcbSYpmVy9hA0XVKFBRu7RUo6k5oBN2cmHZPNU8cdvsi1r
o6eYL9U1ME4sg+9w3UgvJ23ty9KiuexjhFSkYJ7izSDAkkmX6iAZRxtGvtuQ
YVbpuMxiahY2WqpO4DKDqFFUd3Ox3m62NsVphqBw0kYi8n9IXgHcxuPv374f
qcyMu7nUFFLihvYPFVgMUEdfd2XHHgeSHaj5OvzHY4EJsa7gFdeaE5Io/RJu
rSOAV3TW2BFjAh8OZS68FfRL9zQlpHNiTIDFudE2jLUtNhWbhv54yfmSLQxQ
9vF004GRs1MzgmphVdbcPyZdTOASaVrD+bs3iI205css/QGS/xkxlovSiw25
V0TJoiCE/jPbo13LEmob5AOeLZ1cqryDyOeOsaUsAuZubkVuSOd0FhS0Hj2I
F95ydi0pGSRELrD0/05VKrd3mDDBUS/nkgmtX7t4VKv2NO3iWRzF6rSHOi4y
rdFOz3/OcFg240QwARqafOll2uKIU+fEeuJCadQPA8+c40w/Wff0Dm4dqdud
/PrQO4bv5ddPoxOS1nAdPEj5KBCXRAjvrF6f2AjwJsu6rxoZ991ZJ23gp9Bf
zwhs03EbySGNa/DNwJCISb9VNQGraogMZmw2dftuMa8JGAPcF46zhqzzIwfX
7jQxtfco2FFyG87TH6BPlmG+QuKEksM3UpMxagUVM4mk5VXL77mhQQdnMi2K
iN7FCx1FDTQI08sASDVJybkQBRJgYun0UNsdNGMXWh+JJNM2C/2JwTZimheT
Vb85kFtiG2KbdZVCBXiwXLZ6AjoZey41Nc/1fcSoxsBvmGPdLjhjHJJp8THP
DTu1Ra0fQzXn8VGoqSQSpxTQKsjZSC5oy8UOqscvS3gyzOe7yto6dLVm7OEy
LtH3yVYTjy1Sqtx9DCBrhLD6XRV3VqQKN9ZaDA6Ir0ELI1jObg1qKaWh1gWn
D3P6BX/FctI3A4gqLsFxzP14KdY3mDYtdA0QIVvG60USCRorvfK9vcISVh99
hQOs11RNP8lYX7XwmOn3XaRNCKf6zYj4uhFud0cq1UPfQ2nbtCZz/MmhhHXk
N5egElXkQTQSC7nEFu179Ig8YdsHycu8IkhlF/IcPXrk0nssHG+sMGI0pEe6
vImHhWhQNDv9jcG3xp4Qx8ZrYLnIy9qx/MGajOp92Ey3UAwEyXxNUQkHIgt2
At56xYFUbUxLUovWlLZFbRTjPPh23P1XjHp+aQClM3ThQetR0zOno98FdMWI
B0OhcyU09Gy4/bwjNAQPKn+DB58/3d/eJv9F033RvdeSvpZXSbsqrXGJ9uDc
dw6bzV8d/HBaBtQ4TyG7B1r8I5hAPlXGEUjV9ZAdfX/MdxAukpnzfegWan6A
cN6K4ASaCnPUhwsTKad/XmkmumfqkksZtYfDOzUrMGVJCzrW7OjWoaxTpLsv
1gyXpSufLM6CGIb6i66TfqhTMA5H9tDc31g4cpheTHZ29740IAnGyqV6iP/r
3OtfOeYpd9RH00IahPmcW1w8NtPuu20I0T7GgwAlK752beMOfVcLd8Mr1Fh2
6CUy9riVTsP8kOx9DAPSyJLayzDG97ZzdfvgA1j4gqkZsgVvtdGuAUBb8p6T
3Ow1MLPR582KzWYBL3iSaiz6Je7T0U64vP8fi551bHcUOBOLzFUzbmKlKrCz
rVZzhGA6jIEuyqH705jCbumDhCBmA7cQYEj2XaGytwjtI1p9QUmlREzR7LYn
4zUSn1/3P1jKjSlFdIwHiP0E7P3jZ0wvesl9mV8CkUlTU7hURy6Jwcp3YRE/
/0bfHaafTW/X35l+qY40GnlqI8+BLliR89XbevN94gTrt9TxbxK+jgAjnNFX
LAmh8pTCgtaQ5JLwUqwFJ4raVYnt3Cln8DqbcS+Fn4qSWiv8rixWSy6Wpjw6
Ph95FTkE2I3SkwYT0xeyIGuEHOpwzMLhFLxTyXBU9hgQArizU7Waz9PSkunR
tnMVQNY0kr0Z6TSXxbRTKCXvsl9j4QccAUdbLxhpn8AomQuSa+c/n9ynyXzr
eYoncBRNoPX8GnSePhSCX/KUQBi8C1750MDXz/10Qam7aR03SG+sEJ5yFkjq
ym6bK3zXAdPb3NImMnvPljY4Qsdj+MHvFck/n3djLL3qXZd/Kj497hHY/cEz
B7fc7FBuKxQsWEJppg7kjf39hM2mgUETxiw2d040rVb0d2y9bh/UxNFQbRXN
/ayFX0xOw+YKZzN5eTNs/d9h1HarscJ3vz8++83ONi3k6OzH0c7jqJLyk+Ep
9G0nf/AEa6IW5JXaFOCYMpuTcNJi1C2PYQFfFBCL+1kMI1cAN3qdU/072hfH
DLl9kPx0fUdz/wkI9ZhZGPIK/DVwztMK9j75AYxn2OwfMzSvUoY7Qc/Td5UC
ws98xbVAEPudaR7pLYpMBKVfsMwrMwzUpVcsHCcRFgSypN3tnScH3AOp1LbJ
x0ePvy+LWzBiMP9qNSc4Giy/jVpHY1MGARGAiQh+A/wsmeS0ZZY+jGWndVHM
qMMkS7nXZ2+oDwwyycp1ICsWMPlcoeWj3P7vqualTTsbUnCEDCmN1m9SpWIk
ehgS6/RKNA8EVuNhK54WJAF54Zk/By7d6wLVJVvyztCMPeIDwvMjJVqrqdBH
uwGqz+0yuQmeawaG91s6+o4UQB9myDHmn7IL2vY0BKo1YZ0Q1lEjucXs9Y5z
m2VXBJoNBGZHhFX51PscHYmj5B2os8O/wBJr2K6+Tm7xablTDncJQcO00ZG1
oJHWSIwB4bG42THfgXTPhTz+Kgy4pwq2BLpjjUYXkC+8v5dXDO9LnALe+ch9
lKhIvIr75jwb7WxZ1KVL5oveJRWipGTkjMlMu2/dzzFyW+MdZe7sqNxtjMa6
fNeU4HCGpV5ZKIBTAoGyCRu7UcMmzmuZac0DSc0oto4mpX1ofQuiKL9B36nq
hSs/vy2Sd2l9zXSPU1XeRtJ5+AOVWeLvkf0pyB0O8DJ0eZ7iQ8VyLo76SDsa
SLevtJxg28UJ0A/wQq69FDanKJJdcZQAC0BtcjiyzjVDDb815sYhVw2FPVIj
OsGmDvSM9UZpMFsCK/npd9rhjmjuFHYwT37IV9VNCjsHhhD5gqQ4EMN0S9o2
4oyqNWsFAnFK7EHEJ259qTbTLZARt23MZM4XUSTkaGXc4SeXdloGc17FZR0c
5oh2hC30ObxBgAuBzqNSkQ4g5kYxI5eTYrgksqdUp/JZhp3RRun5Npu1kgbY
BedDRa3UYBeglEqnzYstr4e68+Y8i/Z+wRVuILtw66mwHDRR2VM/u4vZkSK7
4RrxHWvSEUojG8Q0cK70wmKTVOZi2brnLfsJWQlizsM9TG8IhIXaFSLBcIsq
oF3SIbD/sHakyqRPEE737fth6PtF3bqFMnrBiAfc/EyvE2ELUHc1d3duU8rN
lgvEbN+Y/IQQb7Ge7KoURRfnjPNt9rbgGVPFfKZ6HM8bk/CG2j+rITa07om1
PJAA5LzijblgZ1feaeCRwRa35wmHN0dnswXm7vNgHYoRzRP6dSUPMBG/2TfA
cVJ8HJUGXSRZ76H1JkPdMBc2tvLWDcK1v5Yg3uQkcBcCEgOWbhnUWgfZ0+9K
tEhw99itLQHbW2bLd0skGvKUaw3dfZxoYCoUueTS2RDDntgKBMu/9Cr7FgeC
DjxRpxT7IQhOiCZmKC+IJIGOKNavPIABMxu8PXQl4koxpoWP3C2juZ/4gT65
EW8ocKN3Dfi6aE/56HDp1oJFyhUL4SYNQm1JqUbCOzUeydkCwPIB7y2V8Arn
XdTJXVaHVTy4o9aDuyIdGsevrTXojDxG1PFOb/Uc+EXoIQcCITqi0BaJZKk6
Z0jTv8iyRch2kd7lGdyvksLylOpNR2lxUrmw+UJ0bvI4C5v5fzu7uua2rSP6
VzB+iZSKcuTGzYwynQ4jybEdSe5YnqZvCUSCFCoS0BCkEvbXd89+3b0AJGv6
lJFDEhf37t3Ps2djamjkbXoTmfLsw8z8EToyFIuxGhlUot+w2X/2Mc87B44R
sTUWzye/KfORB3ZF/SoFtbge5e9x/k2GZOWeFqZrNXD0X+Lrij3gSp8Ar06H
xxTN9ojHJiY7AZO+pl+PzI756J2+tBiPgUoYK5MM1wYSmI0EmmYrdk2NBCZn
/oeCJtXURLhUdv2ijHrI8IPL4tw9o2nunFy33ILjbsQU6Zs7OeqAGZ2EiQnZ
L3T/sEPRA+BLv2U9uRw4KfSjXIV5siIEXzrkeaOpcKxJSqKqK5GMSHQgHut2
5SpuqNE1/s6+csD4syZ6id1uJjTaA45D9ugOQfmSv2MZdhC+xZOvqmRHYkim
1+dxIeFb6ZfpM/mzDvkZtNXWdYoz0Il/2RzafWbyFnTTSrYdPKVXaDyj3Obe
V77sZNXU0lyB1mWSQdkq5fae7Xnvmwj9uo7N571NuE4tL9l72nAkzu/H8VZR
0YeUi89sTEuR6kI348zLQ9uSojHaAbusIDFi7jks+qr+s+d5WmIkZE0kRzK2
BHOym7TWQTfOYiUeJLlQ7DkIa1hASWomLLvKKcoIN/JfTIf3QYzfBRcVb5j9
JFeY6WW+6Z6ebsOXNE0Ht0kJYvHqreU9yqcYcTRyUb+82ad9TT3qDW0IDpU0
3SqlJ5iVQhyfKCM6WgyCkmaVcF15ODEHwiYv4+/HHnug1wgZimpWzaUguxXS
2xyNTILYKf3t2KwgXZkm4lwZj+6MTjGjQ/Qg7sJJ6EiK3kmwcfHYrnbWsWcH
l1N8B3R+WWTYgjFG7gPJKWuvyxuQ5XEGT229ZTg4mYkYCW+4brcQaQOJgiCM
E2ie7k7O5qAJRL1bFQKbCsjLXtW3zIJ5yrkwywIj6qnaxcIdmpzBy89ttlfm
8rbb09/rPFOoNfqz3UaYEsUUnd219YyeZ7n1BFOwSiTeDtGVU0Earw3vOTiG
Shmm0zM8ee7aGgNoAeHgpSlDioO2Tht1/O/jHnC1M2HW4jDbK59b2jgvaDYL
MFs2g32nDPIxFZl/2BWRfDjVu9UFKaVdInjeujn1NiUWnsosayDO3Odg4QAm
tfFHcR59I6XfcJtrKFTNzaq9etytwJXKuyUDf99gXy/82Ee3s7cPjo+1eC5s
hF/TxEjI0x5t+CFrh/c3V6SMJKV+ohO0j5SuU43i2bTo2sUWLRDHmphnwUjR
ncZD6dmdl111mevyT/J//8soAFoCj4R/smJRN4tNKQRVpCmkY4OM16x94LTp
Ky5LTd5tquqVbYv+2wL/htxIvR7W3JEGwm94oBdP19B1avOzAb1Ny4lkEpOG
/SNlX+QF8mRQclljcYjfqGYmt66lmJl9Uayv8JeSWowNDWWbKE7yKEtrdqji
MjdWu1K9NKglbMfunh1Hdr55kUj1WZz9y3CMxUpcU71eFBrV0BfT246bLoUP
yJDVDIz9ntUEVvChd+anOsm6j2nvol2SdotbumCq9hmnAqUe7i3DnXSacK5O
Yx9ajCCjHRkACLMulKBMhub3COUtGabkQzM5WM1oS73rL0spWSsK0N8YXFl1
YwcYbU3VPNakZTR9xTYNYpDIGZX3NQiKRMp+9aEzxXL07e9pBL5E7mKz2l3A
vKnV0QCoNlItHdUqkzAc1YUiFluU2B7orL7ZmBsYAdLpBu80FVg9Cm0fzidl
8GIIyVuF0cSpEYRLZlL30sQmCyvrPCagsiyn6mazcBGMk9aZLN7HX3+xcjz7
+m6AGNWGuh927YA+duiGJ9pYCQC4epSu6MdPNxfhhXmgXbXqKmFU1YqEOjU/
vD3BjAK+vJ5OSDX6FK4o+6zqZ0nfcDxueThaY4brlaXxLGZRbsiV4FP4002O
JgfGjGIWdGVksbcVBSZIS+ty6JU+lo/lDY++ygWbg16UL2y1nqymV+Id+4SA
/PUniho+nKPk3yAv46VSM6GsVq7lHHGjXZJN78RkcCU03I8VeMd58/5PrVRm
Dgn/CD/8GWXuvobsW9XImFe2KHtRRiqOnl9Dpjnb7Gxeb3JmEsALKwGwgda2
5lELT7oIzrQd6KmN+ZouU6YcQe6dapToquGu3SYMyNaXyhJfC8VWrFVzJem1
WHC29/agCRekwmEFfDs3uKEJsJlPti0tay7rEy92dPivN6aQ4Hc96J2TnAnK
bug8zHeVk1vPvXgRxzakUEEsFN8mvMof6C96gET3U9lJjwUghqrYFRL5wCok
tSfcksNqFNoLXYnRb7DvM6jpMFFtT78i4SzKcv41HSvdwvQZiVr7Khe/xGnf
JVssRKd76eROAsGlHAnqSEDL9W293LW7LvjMihSN9npMKftm9b3hLCc99H4C
C+MYKNTO+rOaC8UX7YedW99+O9+Ui+1kWTVLCaDlUjGE97vvmMZRSXEDrx4K
1xoGOOgGOkOqjeFaZjBwELOFPchoJfOCA/B3QH7Ow7DuMPNEy1WO4kh0+70C
d3f89Xc8kcxRA4NK16HluREbPludTH2Gkjyn0tnr1gRnGpHSc/zZzuVjLl+y
jjdYx2dNFPQzk3yajEQgedTUC2kkITFXwkH4J+H9+7XNl6zhr1jDjbr2vA3t
Zlk2lv8C0qPPrC0cAzxXAZwP6hasPWmjE4mKLWbXNy0FCPsXLOR7LESYTLLd
8LNHrAbIsjr3Cgnk3jxvGjJUybP5wIEoP9z/ZluXmtcMNeqUvUXxrt5ACeAl
JN9i87piBO9cGYmEUBONXK7B2PPLUsrC0pVr6kM9lMVOIhdo6IdVLSQoGNVU
nLx5m1NNPr+hb9lj6P0aunTuQfDDmC/rhYx+xHiXMa36w7M51jVLAm5mb0n1
HNgN+n4qXkDft/5NMtCtxwBYWyRzi0dFvuhvuBB0NMuW9JPndqeX/7zOEvi8
FfevT16wS3+Ld9CfkG4Q7l41V6/iTocneB4kTzBlgmXE4jZswCfnwu+A23cM
HBDbbE40o3akodrB9GFTrwoQSR6SvAvdB5e/1ZLndTfLP+uwCs5vpMKI1woE
wxAGeqKnfNfgNXRtL9iuH2S75LR/t/36/djFCkCIdZVJVDk+wTMcsuyxBhtT
7YBLHaFhILDpnuIiDELjaX8yQA4KAJHM1KchpJm2/iAcCYVVrV7N5Y5EMVnW
kQ0A/IgNo3dX5SdAVpuDylN+vpUdI9BprBR68MTQJlx4rsQcHj/NXCRoDrGH
wgjTTIDWghcehbaVsr06Jwud3HSkBAV0MAsKyLujEQqho+Lz9MtNmh6EX6oc
tnmcdLXfhpLUzL6rfSbFX7h5B9/Ht2SFD7t5rVr4mc1mC33htlle0DhugqVm
kM4mFeXx4F9/vjwDTfxmI0kfaHiWEJUD20Q26Ypyf4qqWGg1wuQHCW1DvOJD
qLd5Bx2D7az/hT9vPeYzQXvbIVmlqDf5OnVzS0mBT8G9Et7YuXamg0qJf+rq
cnJ+M319c/ke/7UHTbReZGJuGVKztEqWYkT0t0pEf0zmDvD+ZOXu9kv6aBUc
6XXPh5rJpqe6djGd3ZOhWVXzJZ8X/FYZXVTN//6KyeVfpbYkD1jEIefYG44i
MuARMImUSPWHSaYmM5n9yPwinYMHXBK3xifUKKBay1pYIzyRYbo6PSQPeCe5
Y6t1BlY4KI1xGrTutjlZNJJr9+Rm3lfFJxIvUvmKWLMfSpwBCtsH9LxUp08O
iWIGUjD+Sf/pVkx3VhxiZ5Cn4JCEoiDANCA/FtNyQ//nZw7P8fi7ennHgwXs
V6UEF/z4SXJkWJazbFfWOmB3W2aX2Wz1uOxSnYy5sNAPASj9h/Gh2lb/yH/2
AbL8DHaEHQTjJ8+YS9NDeKcQfoiSTvgUZwlH6VGO62N7R3u1KfcDWO5RcU73
Yl78VDX/KUnwj+LGyrt/rmfgWyp+KjeNKtsgUaJwNDrrdsul4JIxqsD9uzEJ
+lKvi/cY3Ekhqkx0iO4/NtL5C8NtMAjlFdZE4qRrs2FuwpomNkIbFRLIOo/Q
3UWJVzABc/wHOFeHnr3KNNVeFaWrZ+CbRlwBvuBBBKKrnt+fbxgNK+QoW9UD
/Jqm3OQsdRXpjsDfwm6VWmxawfQ+S6YzEJLFbuM583vammpZfCEXjgQV/VNS
QWg5k1Q2o6cEGEEPXKKRsMhlSqOwYumBdu/KeiNGSzKU9UMZxinWm1wRjohd
hfzR/wDIdZmcQM0BAA==

-->

</rfc>
