<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-pquip-hbs-state-04" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="HBS: State and Backup">Hash-based Signatures: State and Backup Management</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-hbs-state-04"/>
    <author initials="T." surname="Wiggers" fullname="Thom Wiggers">
      <organization>PQShield</organization>
      <address>
        <postal>
          <country>The Netherlands</country>
        </postal>
        <email>thom@thomwiggers.nl</email>
      </address>
    </author>
    <author initials="K." surname="Bashiri" fullname="Kaveh Bashiri">
      <organization>BSI</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>kaveh.bashiri.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Kölbl" fullname="Stefan Kölbl">
      <organization>Google</organization>
      <address>
        <postal>
          <country>Switzerland</country>
        </postal>
        <email>kste@google.com</email>
      </address>
    </author>
    <author initials="J." surname="Goodman" fullname="Jim Goodman">
      <organization>Crypto4A Technologies</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>jimg@crypto4a.com</email>
      </address>
    </author>
    <author initials="S." surname="Kousidis" fullname="Stavros Kousidis">
      <organization>BSI</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>kousidis.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="27"/>
    <area>Security</area>
    <workgroup>Post-Quantum Use In Protocols</workgroup>
    <keyword>stateful hash-based signatures</keyword>
    <keyword>XMSS</keyword>
    <keyword>LMS</keyword>
    <keyword>state management</keyword>
    <abstract>
      <?line 174?>

<t>Stateful Hash-Based Signature Schemes (Stateful HBS) such as Leighton-Micali
Signature (LMS), Hierarchical Signature System (HSS), eXtended Merkle Signature Scheme (XMSS), and
XMSS<sup>MT</sup> combine Merkle trees with One-Time Signatures (OTS) to
provide signatures that are resistant against attacks using large-scale quantum
computers. Unlike conventional stateless digital signature schemes, Stateful HBS have
a state to keep track of which OTS keys have been used, as double-signing with
the same OTS key allows forgeries.</t>
      <t>This document provides guidance and catalogs security considerations for the
operational and technical aspects of deploying systems that rely on Stateful HBS.
Management of the state of the Stateful HBS, including any handling of redundant key
material, is a sensitive topic. This document describes some approaches to handle the
associated challenges. It also describes the challenges that need to be resolved
before certain approaches should be considered.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://hbs-guidance.github.io/draft-hbs-state/draft-ietf-pquip-hbs-state.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-pquip-hbs-state/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Post-Quantum Use In Protocols Working Group mailing list (<eref target="mailto:pqc@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/pqc/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/pqc/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/hbs-guidance/draft-hbs-state"/>.</t>
    </note>
  </front>
  <middle>
    <?line 191?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Stateful Hash-Based Signature Schemes (Stateful HBS) such as Leighton-Micali
Signature (LMS), Hierarchical Signature System (HSS), eXtended Merkle Signature Scheme (XMSS) and
XMSS<sup>MT</sup> combine Merkle trees with One-Time Signatures (OTS) in order
to provide digital signature schemes that remain secure even when large-scale
quantum computers become available. The theoretic security of Stateful HBS is
well understood and depends only on the security of the underlying hash
function. As such, Stateful HBS can serve as an important building block for
quantum-resistant information and communication technology. Stateful HBS are
specified in <xref target="RFC8391"/>, <xref target="RFC8554"/>, and NIST <xref target="SP.800-208"/>, and we recommend Sections 1 and 3 of <xref target="SP.800-208"/> as background for this document.</t>
      <t>The private key of a Stateful HBS is a finite collection of OTS keys (typically
generated on-demand from a seed) and an associated data structure which keeps
track of which OTS keys have been used. This data structure is typically a
simple counter and often called an index; this document refers to it as the <strong>state</strong> of the
private key. Each Stateful HBS private key can be used to sign a finite number
of messages, and the state must be updated with each generated signature.</t>
      <t>One must not reuse any OTS key that is part of a Stateful HBS private key. If
an attacker is able to obtain signatures for two different messages created
using the same OTS key, it is computationally feasible for that attacker to
create forgeries <xref target="BH16"/> <xref target="Fluhrer23"/>. As noted in
<xref target="MCGREW"/> and <xref target="ETSI-TR-103-692"/>, extreme care should be taken in order to avoid
the risk that an OTS key will be reused accidentally. Whereas <xref target="MCGREW"/>
identifies the fundamental failure modes of Stateful HBS and
proposes architectural strategies such as a reservation approach, and
<xref target="ETSI-TR-103-692"/> provides a broad analysis of state management challenges and
risks, this document complements both by cataloging concrete operational
patterns in <xref target="pot-sol"/> and by addressing backup and recovery considerations
in <xref target="alt-backup-mgmt"/> not covered in prior work.</t>
      <t>In particular, the challenges below highlight why careful state and backup
management are essential in Stateful HBS:</t>
      <ul spacing="normal">
        <li>
          <t>Implementers must ensure that each creation of a signature updates the state
correctly.</t>
        </li>
        <li>
          <t>If the Stateful HBS private key is distributed to multiple signers at the same time,
implementers must ensure that they never use the same OTS key. This may
require synchronization between all signers.</t>
        </li>
        <li>
          <t>Additional operational complexity arises when part of the available OTS signatures are allocated to different devices (partial state transfer), or when state from different devices needs merging; these introduce risks of overlap, failure, and require careful coordination.</t>
        </li>
        <li>
          <t>If key backups are required, implementers must ensure that any backup
mechanism cannot lead to re-using a previously used OTS key.</t>
        </li>
      </ul>
      <t>The following sections present, recall, and discuss various strategies for a
correct state and backup management for Stateful HBS.</t>
      <section anchor="when-are-stateful-hbs-appropriate">
        <name>When are Stateful HBS Appropriate?</name>
        <t>The issues with state management described above, as well as (for most parameter
sets) the limited number of signatures, lead to new requirements that most
developers will not be familiar with and that require careful handling in
practice: Stateful HBS are not general-purpose signature schemes. Most
applications, especially those that may produce unrestricted numbers of
signatures, should use <em>stateless</em> hash-based signature schemes like SLH-DSA
<xref target="FIPS205"/>, which use the same security assumptions, or schemes based on other
assumptions, such as ML-DSA <xref target="FIPS204"/>, instead. However, if run time, implementation
size, or signature or key sizes of stateless alternatives are prohibitive, and the
specific use case allows a very tight control of the signing environment, using
Stateful HBS may be an appropriate solution. It seems likely that in many
scenarios, it is only possible to meet the requirements set out in <xref target="req-state"/>
when using purpose-designed hardware, such as hardware-security modules.</t>
        <t>Stateful HBS are already profiled or discussed in several deployment-focused specifications and guidance documents. For example, <xref target="RFC9802"/> discusses suitable use cases for stateful HBS in X.509 (including firmware/software signing and CA certificates). The Cryptographic Algorithms for Internet of Things (IoT) Devices specification <xref target="I-D.ietf-suit-mti"/> defines an asymmetric profile that uses HSS-LMS, providing an interoperability target for software/firmware update IoT ecosystems. Additionally, the NSA <xref target="CNSA2.0"/> allows LMS (and XMSS) in specific application scenarios such as firmware/software signing.</t>
      </section>
    </section>
    <section anchor="specific-terminology-in-the-context-of-stateful-hbs">
      <name>Specific Terminology in the Context of Stateful HBS</name>
      <t>This section defines key notions that are important in the
context of Stateful HBS.</t>
      <section anchor="private-key-components">
        <name>Private Key Components</name>
        <t>This section describes the two conceptual components that make up the private
key material used in Stateful HBS.</t>
        <t><strong>private key:</strong>
the static, long-lived secret(s) from which the underlying OTS private keys are derived.
This material is stateless: given the scheme parameters, it deterministically
defines the set of OTS private keys but does not change over time.</t>
        <t><strong>state:</strong>
the dynamically updated data structure that records which OTS key indices
have been consumed (often a monotone counter). This material is mutable and
must change on every successful signature.</t>
        <t>Conceptually, the private key and the state are distinct and should be handled
accordingly: the private key is a static secret, while the state is mutable,
evolves with each signature, and must be maintained with integrity and correctness. In some
implementations, these two components may be packaged together and not directly
separable; in such cases, this document’s guidance applies to the combined
artifact.</t>
      </section>
      <section anchor="state-management">
        <name>State Management</name>
        <t>In this document, <em>state management</em> refers to the handling and implementation
of the state of the private key.</t>
        <t>This includes mechanisms that aim to:</t>
        <ul spacing="normal">
          <li>
            <t>securely update the state before the signature is released,</t>
          </li>
          <li>
            <t>set up Stateful HBS where the state is separated in distinct, non-overlapping parts, so that signatures can
be generated from either part without risk of state reuse,</t>
          </li>
          <li>
            <t>enable partial transfer of unused signature capacity between devices, and optionally merging state fragments without overlap,</t>
          </li>
          <li>
            <t>enable effective but secure handling of private key and state backup
material, and</t>
          </li>
          <li>
            <t>guarantee the availability of both the private key and its state across
the lifetime of the key.</t>
          </li>
        </ul>
        <t>Note that in particular implementations of Stateful HBS or in alternative
signature mechanisms, the state and private key might be inseparable. For
example, puncturable schemes <xref target="BSW16"/> represent such an alternative; they are
research-level constructions and are not (at the time of writing) standardized or deployed in
practice. However, even in these scenarios, this document's guidance should
still apply.</t>
      </section>
      <section anchor="backup-management">
        <name>Backup Management</name>
        <t>In order to mitigate failure of, e.g., devices storing key material and to
facilitate other types of disaster recovery, backups of private keys and their
associated states should be considered as part of a security architecture.</t>
        <t>In this document, <em>backup management</em> refers to all mechanisms surrounding the
goal to guarantee the availability of the private key and state, but with
special care to avoid state reuse by not rolling back to a state in which
already-used OTS keys are still available.</t>
        <t>These mechanisms include procedures and protocols that aim to:</t>
        <ul spacing="normal">
          <li>
            <t>securely store this private key and state material outside the in-use
signing device,</t>
          </li>
          <li>
            <t>import an externally stored private key and state to a newly initiated
signing device, and</t>
          </li>
          <li>
            <t>allow practicing with backup recovery and to ensure backups are valid.</t>
          </li>
        </ul>
        <t>Backup management can be viewed as a more specific type of state management. The document
makes this distinction to clarify the aims of our recommendations.</t>
      </section>
      <section anchor="keymovement">
        <name>Key Export, Key Import and Key Transfer</name>
        <t>As part of state and backup management, this section discusses mechanisms to export,
import, or transfer private key and state material. In order to avoid
misunderstandings, these notions are specified more precisely.</t>
        <t><strong>key export:</strong>
A mechanism of exporting secret data, which yields
private key and state material, from the signing device to external storage.</t>
        <t><strong>key import:</strong>
A mechanism of importing secret data, which loads private
key and state material, from external storage to the signing device.</t>
        <t><strong>key transfer:</strong>
A cryptographically protected transfer of ownership of private key and
state material from one signing device to another.</t>
        <t>Systems and architectures relying on key transfer are generally expected to
require fewer operational and manually-executed steps and checks to avoid state
reuse, because the transfer mechanism can provide controlled handover of
key and state material, instead of relying on separate export, storage, and
re-import procedures.</t>
        <t>Note that, at times, secure variants of the aforementioned primitives may be
required (e.g., securely importing/exporting the key). In these situations
cryptographic mechanisms should be utilized to provide assurances related to
the confidentiality (e.g., utilizing symmetric or asymmetric encryption
mechanisms) and/or integrity/authenticity (e.g., utilizing digital signatures,
hash functions, and keyed message authentication codes) of the associated
operations.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <section anchor="assessing-operational-costs">
        <name>Assessing Operational Costs</name>
        <t>An important aspect of the evaluation of various HBS state and
backup management options is to consider the operational costs associated with
the options being evaluated.</t>
        <t>In the past, a conventional trust infrastructure
solution could utilize straightforward archival procedures to make copies of
the keys, which may then be distributed geographically to ensure their
availability and deliver a sufficiently resilient solution, all the while
enforcing whatever security protocols and procedures were required.
Unfortunately, Stateful HBS introduce an additional
constraint in that they need to ensure the state is never re-used. Hence,
archival procedures used for conventional trust infrastructures have to be
amended (including redesigned) to be used as viable options.</t>
      </section>
      <section anchor="ensuring-long-lived-resilient-solutions">
        <name>Ensuring Long-lived Resilient Solutions</name>
        <t>One of the most problematic aspects of providing a long-lived resilient
solution is simply managing the physical media on which the keys/state are
stored externally (i.e., outside of the signing device) throughout the course
of their lifetime.</t>
        <t>Physical media/devices degrade over time, and the more
complex the media/device, the more likely it is to fail at some point in time
(e.g., data stored on a CD vs. data stored on a USB drive vs. data stored in a
Hardware Security Module). Combine that with the long lifetimes associated
with Stateful HBS keys (e.g., 10-20+ years) and the
difficulties associated with transferring keys between devices, and one finds
oneself with a perplexing set of challenges that needs to be accounted for in
any state selection process of a proper state and backup management solution.</t>
        <t>Compounding these complexities is that any resilient state management
system should also provide some means to verify the integrity of these
long-lived backups to ensure they will be valid when they are required, and to
ensure the operators know how to execute the necessary recovery procedures.</t>
      </section>
      <section anchor="training-and-skills">
        <name>Training and Skills</name>
        <t>Many of the prescribed state management options require a high
degree of operator involvement which means one should consider the costs
associated with training the operator element. This is needed to ensure processes and procedures
are adhered to and failures caught early and corrected before a catastrophic
loss of security can occur (e.g., accidentally instantiating multiple instances
of a Stateful HBS key/state).</t>
        <t>Note that training is not a
fixed one-time cost either as long lifetimes will necessitate succession
planning amongst the operator element, and training of each successive generation
of participants. Mechanisms also should be put in place to mitigate the
ever-present insider threat via mechanisms such as M-of-N controls, ensuring
least-privileges amongst participants, and enforcing a segregation of duties to
ensure multiple parties are required to collude to undermine a solution's
security. The segregation of duties must persist across successive
generations to ensure participants do not acquire multiple roles over time,
thereby undermining the intended segregation.</t>
      </section>
      <section anchor="configurable-warning-thresholds">
        <name>Configurable Warning Thresholds</name>
        <t>In addition to the state management, implementers may consider implementing
mechanisms to prevent abrupt signature exhaustion.</t>
        <t>Implementations may
consider providing a configurable warning threshold, M, which is triggered
when M signatures remain. When the number of available signatures reaches
this threshold, the system should return a 'signatures nearing exhaustion' warning.
This warning condition should require explicit acknowledgment from the user
through a mechanism that cannot be trivially skipped.</t>
        <t>In distributed or partitioned deployments (e.g., sectorized or multi-tree
architectures), warning thresholds may apply per device, per sector, or per
subtree rather than globally. In such systems, coordination mechanisms may be
required if a global exhaustion condition must be detected. In centrally
managed deployments, warnings may be directed to system operators or
management services rather than end users. The mechanism for acknowledging
or acting upon such warnings therefore depends on the operational model and
need not involve the end signer directly.</t>
      </section>
      <section anchor="selection-of-appropriate-parameter-set">
        <name>Selection of Appropriate Parameter Set</name>
        <t>Another important consideration in deploying Stateful HBS is
the selection of an appropriate parameter set.</t>
        <t>Given the flexibility of these
schemes — such as adjustable tree heights or Winternitz parameters — there
exists a large variety of possible configurations. The availability of these
different configurations offers many trade-offs between signature
generation/verification time, signature size, and key generation time. Hence,
careful attention during the design phase is essential to ensure that the chosen
parameter set aligns optimally with the specific requirements of the intended
use case.</t>
      </section>
      <section anchor="external-dependecies">
        <name>External Dependecies</name>
        <t>Costs associated with any external dependencies required by a
particular solution (e.g., access to a public ledger or transparency log,
providing accurate time references and synchronization mechanisms, access to
attestation facilities, etc.) must be accounted for as well, particularly if a
system is operating in an offline mode that makes delivering these additional
capabilities all the more complicated and expensive.</t>
      </section>
    </section>
    <section anchor="req-state">
      <name>Requirements for Secure State Management</name>
      <t>A system deploying Stateful HBS should fulfill certain requirements to allow securely
handling the state. The system must ensure that no two signing operations can
ever be issued from the same state. In addition, the generation of a signature
and update of the state should appear to be an <em>atomic transaction</em>. This means
that the system must not release a signature without irrevocably and correctly
updating the state.</t>
      <t>State management systems should satisfy all <em>ACID</em> properties:</t>
      <ul spacing="normal">
        <li>
          <t><em>Atomicity</em>: each operation on the state must be indivisible — such that it
either commits completely or leaves the state unchanged.</t>
        </li>
        <li>
          <t><em>Consistency</em>: the state before and after each update must reflect a valid
progression of available OTS indices, and no invalid or conflicting state is
ever observable.</t>
        </li>
        <li>
          <t><em>Isolation</em>: concurrent or overlapping operations (e.g., from separate
processes or devices) must not interfere in ways that could lead to state
reuse.</t>
        </li>
        <li>
          <t><em>Durability</em>: once a state transition (e.g., before issuing a signature) is
committed, that transition must survive crashes, power loss, or device
failure.</t>
        </li>
      </ul>
      <t>These requirements impose significant restrictions on the underlying technical
approach and a careful implementation of how the state will be updated or
synchronized. The abstraction layers of modern systems can make it particularly
difficult to guarantee that no two versions of the same state are present. The
main concerns are as follows:</t>
      <ul spacing="normal">
        <li>
          <t>how the actual storage for the state is implemented,</t>
        </li>
        <li>
          <t>how it is modified, and</t>
        </li>
        <li>
          <t>how an accidental/intentional failure/glitch might affect the state security.</t>
        </li>
      </ul>
      <t>A system may have a version of the private key stored in non-volatile memory
(e.g., a disk) and will load it into volatile memory (e.g., RAM) while processing.
Here, an implementer must ensure that these are always perfectly synchronized
<xref target="MCGREW"/>, meaning that no other parts of the system are allowed to read any version of
the key during procedures which are currently loading, writing, or modifying keys. This can be
particularly challenging if there are additional abstraction layers present in
the system, like additional caches which may affect reading/writing the state
and its potential existence in multiple locations.</t>
      <t>Cloning is another concern, as it can easily lead to re-using the same state.
This can happen for instance if a process which issues a signing operation is
forked, and no proper synchronization is enforced in the implementation to
guarantee correct state update. Virtual machine (VM) cloning is another
potential security risk here, as both backing up a VM into non-volatile memory
or live cloning of a VM can easily lead to a state re-use <xref target="MCGREW"/>. With users
shifting workloads to cloud service providers, the issue of VM cloning may
become more prevalent.</t>
      <t>Using dedicated cryptographic hardware is recommended to enforce these
requirements, ensure correct behavior, and handle the complexity of state
management. In particular, this enables implementing rollback resistant
counters which can be difficult to achieve in a software-only fashion.</t>
      <t>On the verifier side, no state management is required. However, the verifier
needs to trust the signer to not have re-used the state. A verifier may want to
check that no state re-use happened in the past by a signer, before accepting a
signature.</t>
      <t>In practice, this can be done if the verifier has access to all signatures
issued by the signer. As the signatures contain the index of the OTS key used,
detecting if an index was used more than once becomes trivial. In practice,
such a (public) data structure which contains all signatures may already be
present in some use cases (e.g., Certificate Transparency <xref target="RFC9162"/>) or could
be built. It is worth noting that while trusting the signer to not re-use the
state is a strong assumption, other signature schemes like ECDSA introduce
similar assumptions, by requiring the signer to never re-use
the nonce.</t>
    </section>
    <section anchor="pot-sol">
      <name>Potential State Management Approaches</name>
      <t>A variety of potential solutions have been proposed both within the
<xref target="SP.800-208"/> specification, as well as from external sources. This section
describes a number of approaches and their potential advantages and disadvantages.</t>
      <t>Each approach involves trade-offs in complexity, cost, and operational
risk. The purpose of this section is to analyze these trade-offs rather than
to recommend a single universally applicable solution.</t>
      <section anchor="multiple-public-keys-sp-800-208">
        <name>Multiple Public Keys (SP 800-208)</name>
        <t><xref target="SP.800-208"/> proposes generating multiple Stateful HBS keypairs and
configuring devices and clients to accept signatures created by any of these
keys. Secondary Stateful HBS keys can be kept in storage until the first keypair
is exhausted or lost.</t>
        <t>Accepting multiple public keys negatively impacts one of the advantages of using
Stateful HBS by increasing the public key footprint within the client, which can
be problematic if it has limited public key storage capacity. (Though public
keys are typically equivalently sized to ECDSA rather than larger classical RSA
keys often currently found.) <xref target="SP.800-208"/> addresses storage capacity concerns
by suggesting using a mechanism such as that proposed in <xref target="RFC8649"/> to update
the stored public key by having the current key endorse the next key that is to
be installed. Unfortunately, for many constrained devices the public key is
embedded in immutable ROM or fuses due to security reasons, so it cannot be
updated in this manner.</t>
        <t>The proposal of using multiple Stateful HBS keypairs for a single instance also
generates questions as to how to establish that approach in existing public key
infrastructures. For example, issuing multiple certificates adds the storage
needs of the certificate material to the public key footprint. In order to
alternatively issue multiple public keys encoded inside a single certificate
one would need a standardized format if interoperability is a concern.</t>
      </section>
      <section anchor="nist-dist-multi-tree">
        <name>Distributed Multi-trees (SP 800-208)</name>
        <t><xref target="SP.800-208"/> also proposes creating multiple Stateful HBS keys across multiple
cryptographic modules using a distributed multi-tree approach that is a variant
of the standard hyper-tree-based Stateful HBS schemes HSS and XMSS<sup>MT</sup>.</t>
        <t>This architecture reflects the constraints in <xref target="SP.800-208"/>, which does not
permit export of private key material from cryptographic modules. The
separation between root and subordinate devices enables compliance with this
non-export model while maintaining a hierarchical signing structure.</t>
        <t>Trees are instantiated on a root device (HSM<sub>root</sub>), as
well as one or more subordinate devices (HSM<sub>sub{{i}}</sub>), and the root
tree is used to sign the root nodes of the subordinate trees to synthesize a
multi-level Stateful HBS key. The root device is only ever used to sign subordinate
device root nodes, while the subordinate device(s) is(are) used to sign
messages. This is relatively straightforward to do using HSS, and <xref target="SP.800-208"/>
describes the necessary algorithmic modifications when using XMSS<sup>MT</sup>.</t>
        <t>One drawback of this approach is the increased signature size as an additional
OTS needs to be generated, effectively doubling the overall signature size.
Another concern is the single point of failure nature of relying on the root
tree module to sign all of the subordinate trees; if the root tree device fails
then no new subordinate trees can be signed. <xref target="SP.800-208"/> suggested that as
many subordinate trees as possible be generated during the initial root key
generation and subordinate-signing procedure. Unfortunately, this can incur a
large capital expenditure to procure all of the necessary devices, many of
which may not be used for a long period of time, if at all. The subordinate
tree root node signing process must also be carefully managed to ensure
top-level trees are only ever used to sign the root nodes of trusted/approved
subordinate trees to ensure that no malicious signing request is accepted,
which would effectively give a rogue entity the ability to generate valid
signatures, thereby undermining the security of the entire system.</t>
        <t><xref target="SP.800-208"/> also suggests combining distributed multi-trees with multiple
root public keys as a means to mitigate some of the concerns regarding having a
single point of failure in the root tree. However, even if a system operator
does everything right, use cases with exceptionally long lifetimes of 10-20+
years (e.g., automotive and aerospace/satellite applications) will require
system operators to rely on devices well beyond their expected lifetimes of
5-10 years, which may constitute an unacceptable business risk.</t>
      </section>
      <section anchor="sectorization">
        <name>Sectorization</name>
        <t>Distributed multi-trees attempt to partition a Stateful HBS signing space
amongst multiple cryptographic modules by breaking up the signing space along
the boundaries of the subordinate trees generated during the multi-tree key
generation process. An alternative approach based on the state reservation concept
described in Section 5 of <xref target="MCGREW"/> would be to use only a single tree,
and partition its signature space along some power-of-2 less than the total
number of leaves in the tree (e.g., 2<sup>s</sup> for a tree of height h &gt; s),
creating N = 2<sup>h-s</sup> partitions or sectors, which are instantiated as N
height-s Merkle trees whose root nodes are considered interior nodes of the
overall height-h Merkle tree. Hence, there is no additional OTS required to sign
their root nodes; their values are used as-is in the tree ascent mechanism of
the underlying Stateful HBS scheme, yielding a common public key (i.e., root
node) for all sectors. Care must be taken to ensure that each sector uses the
same root tree identifier (i.e., the "I" value for HSS/LMS and "root" value for
XMSS/XMSS<sup>MT</sup>).</t>
        <t>Each of the N sectors' OTS private key values can be generated pseudo-randomly
from a unique seed value generated from an appropriate source of randomness. The
private keys from different sectors are independent when generated by this
process. This requires that the path information for the root node of each
sector (i.e., all off-path nodes between the sector root node and the top level
node value) be stored with each sector's private key at key generation time
since a sector will not know the seed information required to compute any of the
other sectors' root nodes during the tree ascent phase of a signature generation
operation. During signature generation the signer appends the stored path
information to the path information it computes to ascend from the leaf OTS to
the sector's root node (which it can compute given that it knows its own seed
value).</t>
        <t>Hence, sectorized key generation results in a single public key value and
2<sup>h-s</sup> private key values, each capable of generating 2<sup>s</sup>
signatures, after which the sectorized key is exhausted.</t>
        <t>In addition to avoiding an increased signature size; when unique seeds are
utilized sectorization breaks a given Stateful HBS key/state into multiple independent
fragments that can be managed as independent objects. As a result, system
operators may distribute sectors to multiple cryptographic devices, providing
scalability through parallelization and improved resiliency/availability. This
approach offers isolation between sectors, ensuring that a compromise in one
does not extend to others, thereby supporting damage containment. At the same
time, it simplifies operational robustness by removing the need for
cross-device state coordination, since each sector is restricted to its own
signature space.</t>
      </section>
      <section anchor="keystate-transfer">
        <name>Key/State Transfer</name>
        <t>Stateful HBS key/state transfer between cryptographic modules entails having a means
to migrate one instance of a Stateful HBS key/state on a source device to a separate
destination device, while ensuring that any copy of the key/state is deleted
from the source device.</t>
        <t>This capability may help alleviate the aforementioned concern regarding
operating devices beyond their expected lifetimes by allowing operators to
migrate Stateful HBS key/state to a newer device when the original device begins to
approach its end-of-life. However, it still leaves the operator vulnerable to
having the source device fail before the key/state can be transferred,
effectively causing the loss of the key/state. Hence, it will not be of much
help addressing the single point of failure issue identified for root trees,
but may be useful for managing subordinate trees.</t>
        <t>In addition to complete key/state transfer, a device holding part of the total
available OTS signatures may transfer some unused capacity to another device
(partial state transfer). In more advanced deployments, state fragments from
two devices may be merged to reconstruct or continue signature operations.
These operations carry risk: ensuring no overlap in used indices, ensuring
atomicity of transfer/merge operations, managing consistency, possible
conflicts, and durability of state across devices. Such approaches require
robust synchronization, auditability, and appropriate backup mechanisms to
avoid double-signing or loss of capacity.</t>
        <t>A more elaborate variant of key transfer, going beyond what <xref target="SP.800-208"/>
allows, can be found described in <xref target="alt-backup-mgmt"/> where key transfer is
accomplished using a two-step export and import process with hash-based
transfer validation to yield a more robust transfer mechanism.</t>
      </section>
      <section anchor="key-rotation">
        <name>Key Rotation</name>
        <t>Key rotation, such as that defined in <xref target="RFC8649"/>, would generate new Stateful HBS
keys on an as-needed basis, and provide a means to transition the system on to
using this new Stateful HBS key, while generating the next key in the chain in
preparation of a future rotation/update. However, this just shifts the problem
to the PKI and certificate handling.</t>
        <t>Key rotation is not foolproof since in most use cases it will require
redundancy to ensure there is at least one Stateful HBS signing key available to
attest to newly generated keys. In addition, for many applications the device
keys cannot be updated due to engineering constraints or security reasons.</t>
      </section>
      <section anchor="variable-length-signature-chains">
        <name>Variable-length Signature Chains</name>
        <t>A variant of the key rotation approach is to have an available signing
tree endorse a new subordinate tree when it is about to become exhausted (e.g.,
use its final OTS to sign the root node of a new subordinate tree, creating an
{n+1}-layer multi-tree from an {n}-layer multi-tree). This process can in
theory be repeated as many times as necessary. However, this entails having a
multi-tree scheme with a variable number of levels, and hence, variable length
signatures. Such dynamically extensible constructions are research-class and
are not currently standardized or deployed.</t>
        <t>In addition to departing quite significantly from the current Stateful HBS
specifications and <xref target="SP.800-208"/>, this approach has a number of significant
challenges on both the engineering and operational fronts. Firstly, the
variable length nature of the signature can lead to variable length
verification of signatures, which may cause significant issues for use cases
with strict time constraints (e.g., secure booting of a semiconductor device).
From an operational perspective, the ability of a subordinate tree to sign
either messages or new subordinate trees leads to severe security implications
as the rigor around authorizing those two types of operations will vary
dramatically, leading to either a much more onerous message signing operation,
or a much riskier subordinate tree signing operation. This approach may put the
system operator in an untenable situation where no users are satisfied with the
resulting solution, and hence, should not be considered as a viable solution.</t>
      </section>
      <section anchor="pre-assigning-states">
        <name>Pre-assigning States</name>
        <t>In some applications, individual one-time signatures (or states) can be
pre-assigned to the to-be-signed objects. This may, for example, be possible if
the signed objects are monotonically increasingly numbered. One example of such
a use case may be software signing. This solution basically externalizes the
state management to the to-be-signed messages.</t>
        <t>Expanding on the given example, for software that is released with strictly
increasing, simple, single-position version numbers (i.e., versions 1, 2, 3, ...),
this can be trivially implemented. As versions have a one-to-one correspondence
to a Stateful HBS signing state, operators must ensure that versions can only be
minted a single time. This may require skipping version numbers if a release
process failed, to avoid double-signing.</t>
        <t>This scheme can be adapted to more complicated release schemes: for example,
minor update-releases 1.0 to 1.99 can be accommodated by assigning signatures
1-100 for these version numbers, while release 2.0-2.99 would get signatures
101-200. The assignments must be fixed as the scheme is set up, and operators
should take into account that they are strictly limiting the number of update
releases. In the described solution to state management, one must move up a
major release number after 99 minor releases, even if this would break, e.g.,
semantic versioning conventions.</t>
        <t>A variant of pre-assigning signatures is doing this on the basis of time, which
we describe in the next section.</t>
      </section>
      <section anchor="time-based-state-management">
        <name>Time-based State Management</name>
        <t>As a variant of pre-assigning one-time signatures based on external counters,
it is in theory possible to base the selection of one-time signature indexes on
the current date and time. For example, if a given Stateful HBS instance offers 1024
total signatures, they could be broken up into 8 groups of 128 OTS instances
each, with the first 128 allowed to be used in the first time window, the
second 128 in the second time window, and so on, until the signature space is
effectively exhausted after 8 time windows. Note that a time-based approach to
state management will "waste" any OTS keys that are unused in past time
windows. One must not attempt to use these keys after the time window has gone
by.</t>
        <t>Any time-based approach has a very strict reliance on accurate time-keeping and
synchronization of clocks. In particular, we identify that at least the
following engineering-related challenges need to be considered:</t>
        <ul spacing="normal">
          <li>
            <t>Signing devices must have accurate timekeeping (which is a very challenging
engineering problem <xref target="TIMEFALSEHOODS"/>).</t>
          </li>
          <li>
            <t>Time on signing devices must not be allowed to ever move backwards, as this
can cause double-signing.</t>
          </li>
          <li>
            <t>Within time windows, signers must track the number of signatures produced to
ensure it does not exceed the number allowed within the window.</t>
          </li>
          <li>
            <t>Signing devices must still operate consistently with the requirements of
state keeping for Stateful HBS: the signature index within a time window should
still appear to be updated atomically, and signatures must not be released
before state changes have been recorded.</t>
          </li>
          <li>
            <t>A system should be robust against exhaustion of the number of signatures
available in a time window, as in this case it is required to wait until the
next time window starts before new messages can be signed.</t>
          </li>
          <li>
            <t>Time on signing devices should not be allowed to be moved forward maliciously
or accidentally, which would allow for a simple denial-of-service attack by
skipping over portions of the signature space.</t>
          </li>
          <li>
            <t>If a signing device needs to be replaced, the replacement device must be set
up with its time in sync with or ahead of the device it is to replace. This
implies the current time on signing devices should be continuously recorded.</t>
          </li>
          <li>
            <t>Rate limiting may need to be considered, as exhausting the available
signatures in a given time window may otherwise be easy.</t>
          </li>
          <li>
            <t>It may be necessary for signers to keep a separate clock for time-based state
management, and one for not necessarily monotonically increasing "wall-time",
e.g., if signed artifacts are expected to be time-stamped with real-world time.</t>
          </li>
        </ul>
        <t>If these concerns cannot be sufficiently addressed, time-based state
management as described in this paragraph should not be used. Note that this
list of concerns is not exhaustive, and other, unmentioned, concerns may also
be relevant to the security of a time-based solution.</t>
        <t>Time-based systems can be backed up by simply recording the private keys and
the configuration of the time windows. In case of loss of a signing device, a
time-based state management system can be recovered by using this information
to bring online a new device in the next time window. This approach may also be
used as a recovery mechanism in the case of (suspected) state consistency
problems during a time window. However, the operator must not allow new
signatures to be produced before the new time window starts, unless they know
the exact state at which the previous device became unavailable and are able to
set up the new device accordingly. Waiting until the start of the next time
window avoids double signing, as the OTS keys assigned to future time windows
are guaranteed to have not yet been used. However, this might incur significant
downtime of the signing systems. Downtime may be avoided by forcibly moving the
signing device to the next time window by incrementing its clock; however, this
induced clock drift will then need to be accounted for in the future. If clock
drift is to be avoided, this approach should account for availability
considerations.</t>
      </section>
      <section anchor="interval-based-approaches">
        <name>Interval-based Approaches</name>
        <t>The State Reservation Strategy described in Section 5 of <xref target="MCGREW"/> provides
another means of managing the state by allowing users to reserve intervals of
the signing space, marking the interval's associated OTS keys as being used in
the overall HBS state, which is then written back to non-volatile memory prior
to their usage. The OTS keys within the reservation interval are then consumed
as-needed, without having to update the state again until they have all been
consumed and additional OTS keys are required. Note that the reserved OTS keys
are kept in dynamic memory so they will be lost if the signing device loses
power or is reset, resulting in a reduction in the number of usable signatures
for a given HBS instantiation.</t>
        <t>Over provisioning can be used to ensure a sufficient number of signatures can
be provided in the presence of unexpected losses due to power loss or resets.
Over provisioning will cause a minor increase between 2% and 12% on signature
length as the MTS validation paths increase to accommodate the increased Merkle
tree height. However, reservation eliminates the need to update the state
after each OTS key is used, minimizing the likelihood of state reuse due to
state update failures and coherency issues.</t>
        <t>Multiple signing devices can in theory utilize reservation intervals to
carve out portions of signing space so that a single S-HBS key can be shared
amongst multiple devices, leading to potential performance and
disaster-recovery benefits. However, great care must be taken to manage the
reservations to ensure there is no overlap or repeated reservation of a
given interval, either in part or in whole.</t>
      </section>
    </section>
    <section anchor="alt-backup-mgmt">
      <name>Backup Management Beyond NIST SP 800-208</name>
      <t>This section presents in a generic form an alternative backup mechanism for Stateful HBS, which makes the strategy applicable for both multi-tree instances
XMSS<sup>MT</sup> and HSS.  However, following the same arguments as in
<xref target="sectorization"/>, with minor modifications, the presented strategy is also
applicable for single-tree instances such as XMSS and LMS.</t>
      <t>The strategy presented in this section builds upon the multi-tree variant
approach from <xref target="SP.800-208"/>, and aims to mitigate its limitations described in
<xref target="nist-dist-multi-tree"/>.  Thus, it is assumed that a top-level Merkle
tree (for signing the root-nodes of sub-trees) and several bottom-level Merkle
trees (for signing messages) are already instantiated.  These bottom-level trees may be
implemented on different hardware modules in order to obtain redundancy and
improve availability.  Let R be the number of these already initiated
bottom-level trees.  Let h<sub>0</sub> be the height of the top-level-tree.  It
is assumed that R + 1 is strictly smaller than 2<sup>h<sub>0</sub></sup>, the
number of leaves of the top-level tree.</t>
      <t>In this new strategy, after the completed key generation procedure from the
multi-tree variant approach from <xref target="SP.800-208"/>, further bottom-level trees are
generated, one by one, in one of the hardware modules.  These new  bottom-level
trees are each generated from a different seed, which is chosen uniformly at
random.  The following notations are introduced for the sake of clarity:</t>
      <ul spacing="normal">
        <li>
          <t>S denotes the number of these newly generated bottom-level trees.  Note that
at most 2<sup>h<sub>0</sub></sup> - R new bottom-level trees can be
generated, i.e., S is lower or equal to 2<sup>h<sub>0</sub></sup> - R.  In the
following we suppose that S is <em>strictly smaller</em> than
2<sup>h<sub>0</sub></sup> - R.</t>
        </li>
        <li>
          <t>I<sub>new</sub> denotes the set of indices that belong to these newly
generated bottom-level trees, i.e., I<sub>new</sub> = {R, R+1, ..., R+S-1}.
Bottom-level trees are indexed starting at 0.</t>
        </li>
      </ul>
      <t>For each new bottom-level tree, after it has been generated, the following
steps must be performed:</t>
      <ul spacing="normal">
        <li>
          <t>sign the corresponding root node with an unused OTS key from the top-level
tree,</t>
        </li>
        <li>
          <t>securely <em>key export</em> (as described in <xref target="keymovement"/>) the seed, which was
used to generate the bottom-level tree,</t>
        </li>
        <li>
          <t>export the signature of the root node, the corresponding OTS key index, and
finally the hash of the seed, using appropriate domain separation (i.e.,
ensuring there is no domain overlap with the hashes in the Stateful HBS scheme, and
that the hash of the seed includes the public key and leaf index to mitigate
multi-target attacks), and</t>
        </li>
        <li>
          <t>irreversibly delete the seed and the bottom-level tree from the hardware
module.</t>
        </li>
      </ul>
      <t>The newly generated bottom-level trees (i.e., those bottom-level trees, whose
indices belong to I<sub>new</sub>) are only used in order to guarantee
availability in the <em>worst-case scenario</em>, where, at the same time, both
of the following conditions hold:</t>
      <ul spacing="normal">
        <li>
          <t>none of the R bottom-level Merkle trees (which were generated according to
the multi-tree variant approach from <xref target="SP.800-208"/>) are available for signing
messages, and</t>
        </li>
        <li>
          <t>the top-level Merkle tree (which is used for signing the root-nodes of
sub-trees) is also not available anymore.</t>
        </li>
      </ul>
      <t>This scenario may, for example, happen if all hardware modules are broken at
the same time.</t>
      <t>As soon as this worst-case scenario occurs, the newly generated bottom-level
trees (i.e., those bottom-level trees, whose indices belong to I<sub>new</sub>)
need to be initiated in order to ensure availability. In order to do this the
following steps must be performed:</t>
      <ul spacing="normal">
        <li>
          <t>initiate a new hardware module,</t>
        </li>
        <li>
          <t>securely <em>key import</em> (as described in <xref target="keymovement"/>) the first unused seed
into this hardware module,</t>
        </li>
        <li>
          <t>generate the bottom-level tree corresponding to the seed,</t>
        </li>
        <li>
          <t>irreversibly delete the seed from the backup medium, and</t>
        </li>
        <li>
          <t>perform a correctness check by letting the hardware module output the hash of
the seed.</t>
        </li>
      </ul>
      <t>Now this bottom-level tree can be used to sign messages. As soon as no more OTS
on the bottom-level tree are available or as soon as the hardware module is
broken, the above steps with a new seed from the backup medium can be repeated.</t>
      <t>Note that the resulting signatures generated from these backed-up seeds do not
require any special processing on the verifier side. The signature stored
alongside the backed up seed, and the signature generated from the bottom-level
trees created from the backed up seed can be combined to match the format of a
signature over the complete tree.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security considerations are given throughout this document. Further security
considerations, which are not already covered in this document, are given in
<xref target="SP.800-208"/>, <xref target="MCGREW"/>, <xref target="FIPS205"/>, <xref target="RFC8391"/> and <xref target="RFC8554"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="SP.800-208" target="https://doi.org/10.6028/NIST.SP.800-208">
          <front>
            <title>NIST SP 800-208: Recommendation for Stateful Hash-Based Signature Schemes</title>
            <author initials="D." surname="Cooper" fullname="David Cooper">
              <organization/>
            </author>
            <author initials="D." surname="Apon" fullname="David Apon">
              <organization/>
            </author>
            <author initials="Q." surname="Dang" fullname="Quynh Dang">
              <organization/>
            </author>
            <author initials="M." surname="Davidson" fullname="Michael Davidson">
              <organization/>
            </author>
            <author initials="M." surname="Dworkin" fullname="Morris Dworkin">
              <organization/>
            </author>
            <author initials="C." surname="Miller" fullname="Carl Miller">
              <organization/>
            </author>
            <date year="2020" month="October"/>
          </front>
          <seriesInfo name="NIST Special Publication" value=""/>
        </reference>
        <reference anchor="RFC8391">
          <front>
            <title>XMSS: eXtended Merkle Signature Scheme</title>
            <author fullname="A. Huelsing" initials="A." surname="Huelsing"/>
            <author fullname="D. Butin" initials="D." surname="Butin"/>
            <author fullname="S. Gazdag" initials="S." surname="Gazdag"/>
            <author fullname="J. Rijneveld" initials="J." surname="Rijneveld"/>
            <author fullname="A. Mohaisen" initials="A." surname="Mohaisen"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>This note describes the eXtended Merkle Signature Scheme (XMSS), a hash-based digital signature system that is based on existing descriptions in scientific literature. This note specifies Winternitz One-Time Signature Plus (WOTS+), a one-time signature scheme; XMSS, a single-tree scheme; and XMSS^MT, a multi-tree variant of XMSS. Both XMSS and XMSS^MT use WOTS+ as a main building block. XMSS provides cryptographic digital signatures without relying on the conjectured hardness of mathematical problems. Instead, it is proven that it only relies on the properties of cryptographic hash functions. XMSS provides strong security guarantees and is even secure when the collision resistance of the underlying hash function is broken. It is suitable for compact implementations, is relatively simple to implement, and naturally resists side-channel attacks. Unlike most other signature systems, hash-based signatures can so far withstand known attacks using quantum computers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8391"/>
          <seriesInfo name="DOI" value="10.17487/RFC8391"/>
        </reference>
        <reference anchor="RFC8554">
          <front>
            <title>Leighton-Micali Hash-Based Signatures</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Curcio" initials="M." surname="Curcio"/>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This note describes a digital-signature system based on cryptographic hash functions, following the seminal work in this area of Lamport, Diffie, Winternitz, and Merkle, as adapted by Leighton and Micali in 1995. It specifies a one-time signature scheme and a general signature scheme. These systems provide asymmetric authentication without using large integer mathematics and can achieve a high security level. They are suitable for compact implementations, are relatively simple to implement, and are naturally resistant to side-channel attacks. Unlike many other signature systems, hash-based signatures would still be secure even if it proves feasible for an attacker to build a quantum computer.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF. This has been reviewed by many researchers, both in the research group and outside of it. The Acknowledgements section lists many of them.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8554"/>
          <seriesInfo name="DOI" value="10.17487/RFC8554"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9802">
          <front>
            <title>Use of the HSS and XMSS Hash-Based Signature Algorithms in Internet X.509 Public Key Infrastructure</title>
            <author fullname="D. Van Geest" initials="D." surname="Van Geest"/>
            <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="S. Kousidis" initials="S." surname="Kousidis"/>
            <date month="June" year="2025"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for the following stateful Hash-Based Signature (HBS) schemes: Hierarchical Signature System (HSS), eXtended Merkle Signature Scheme (XMSS), and XMSS^MT (a multi-tree variant of XMSS). This specification applies to the Internet X.509 Public Key Infrastructure (PKI) when digital signatures are used to sign certificates and certificate revocation lists (CRLs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9802"/>
          <seriesInfo name="DOI" value="10.17487/RFC9802"/>
        </reference>
        <reference anchor="I-D.ietf-suit-mti">
          <front>
            <title>Cryptographic Algorithms for Internet of Things (IoT) Devices</title>
            <author fullname="Brendan Moran" initials="B." surname="Moran">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Øyvind Rønningstad" initials="O." surname="Rønningstad">
              <organization>Nordic Semiconductor</organization>
            </author>
            <author fullname="Akira Tsukamoto" initials="A." surname="Tsukamoto">
              <organization>Openchip &amp; Software Technologies, S.L.</organization>
            </author>
            <date day="22" month="July" year="2025"/>
            <abstract>
              <t>   The SUIT manifest, as defined in "A Manifest Information Model for
   Firmware Updates in Internet of Things (IoT) Devices" (RFC 9124),
   provides a flexible and extensible format for describing how firmware
   and software updates are to be fetched, verified, decrypted, and
   installed on resource-constrained devices.  To ensure the security of
   these update processes, the manifest relies on cryptographic
   algorithms for functions such as digital signature verification,
   integrity checking, and confidentiality.

   This document defines cryptographic algorithm profiles for use with
   the Software Updates for Internet of Things (SUIT) manifest.  These
   profiles specify sets of algorithms to promote interoperability
   across implementations.

   Given the diversity of IoT deployments and the evolving cryptographic
   landscape, algorithm agility is essential.  This document groups
   algorithms into named profiles to accommodate varying levels of
   device capabilities and security requirements.  These profiles
   support the use cases laid out in the SUIT architecture, published in
   "A Firmware Update Architecture for Internet of Things" (RFC 9019).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-suit-mti-23"/>
        </reference>
        <reference anchor="CNSA2.0" target="https://media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/CSA_CNSA_2.0_ALGORITHMS_.PDF">
          <front>
            <title>Commercial National Security Algorithm Suite 2.0 (CNSA 2.0) Cybersecurity Advisory (CSA)</title>
            <author initials="" surname="National Security Agency (NSA)">
              <organization/>
            </author>
            <date year="2022" month="September" day="07"/>
          </front>
        </reference>
        <reference anchor="MCGREW" target="https://eprint.iacr.org/2016/357.pdf">
          <front>
            <title>State Management for Hash-Based Signatures</title>
            <author initials="D." surname="McGrew">
              <organization/>
            </author>
            <author initials="P." surname="Kampanakis">
              <organization/>
            </author>
            <author initials="S." surname="Fluhrer">
              <organization/>
            </author>
            <author initials="S." surname="Gazdag">
              <organization/>
            </author>
            <author initials="D." surname="Butin">
              <organization/>
            </author>
            <author initials="J." surname="Buchmann">
              <organization/>
            </author>
            <date year="2016" month="November" day="02"/>
          </front>
          <seriesInfo name="Security Standardization Research 2016" value=""/>
        </reference>
        <reference anchor="FIPS204" target="https://doi.org/10.6028/NIST.FIPS.204">
          <front>
            <title>FIPS 204: Module-Lattice-Based Digital Signature Standard</title>
            <author initials="" surname="National Institute of Standards and Technology">
              <organization/>
            </author>
            <date year="2024" month="August" day="13"/>
          </front>
          <seriesInfo name="Federal Information Processing Standards" value=""/>
        </reference>
        <reference anchor="FIPS205" target="https://doi.org/10.6028/NIST.FIPS.205">
          <front>
            <title>FIPS 205: Stateless Hash-Based Digital Signature Standard</title>
            <author initials="" surname="National Institute of Standards and Technology">
              <organization/>
            </author>
            <date year="2024" month="August" day="13"/>
          </front>
          <seriesInfo name="Federal Information Processing Standards" value=""/>
        </reference>
        <reference anchor="BH16" target="https://eprint.iacr.org/2016/1042.pdf">
          <front>
            <title>Oops, I did it again – Security of One-Time Signatures under Two-Message Attacks.</title>
            <author initials="L." surname="Bruinderink">
              <organization/>
            </author>
            <author initials="A." surname="Hülsing">
              <organization/>
            </author>
            <date year="2016"/>
          </front>
        </reference>
        <reference anchor="Fluhrer23">
          <front>
            <title>Oops, I did it again revisited; another look at reusing one-time signatures</title>
            <author initials="S." surname="Fluhrer" fullname="Scott Fluhrer">
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="ETSI-TR-103-692" target="https://www.etsi.org/deliver/etsi_tr/103600_103699/103692/01.01.01_60/tr_103692v010101p.pdf">
          <front>
            <title>State management for stateful authentication mechanisms</title>
            <author initials="" surname="European Telecommunications Standards Institute (ETSI)">
              <organization/>
            </author>
            <date year="2021" month="November"/>
          </front>
        </reference>
        <reference anchor="BSW16" target="https://link.springer.com/chapter/10.1007/978-3-662-49896-5_28">
          <front>
            <title>New Negative Results on Differing-Inputs Obfuscation</title>
            <author initials="M." surname="Bellare">
              <organization/>
            </author>
            <author initials="I." surname="Stepanovss">
              <organization/>
            </author>
            <author initials="B." surname="Waters">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="HBSX509" target="https://www.ietf.org/archive/id/draft-gazdag-x509-hash-sigs-02.html">
          <front>
            <title>Internet X.509 Public Key Infrastructure: Algorithm Identifiers for Hash-based Signatures</title>
            <author initials="K." surname="Bashiri">
              <organization/>
            </author>
            <author initials="S." surname="Fluhrer">
              <organization/>
            </author>
            <author initials="S." surname="Gazdag">
              <organization/>
            </author>
            <author initials="D." surname="Van Geest">
              <organization/>
            </author>
            <author initials="S." surname="Kousidis">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="TIMEFALSEHOODS" target="https://gist.github.com/timvisee/fcda9bbdff88d45cc9061606b4b923ca">
          <front>
            <title>Falsehoods programmers believe about time</title>
            <author initials="T." surname="Visée">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="RFC8649">
          <front>
            <title>Hash Of Root Key Certificate Extension</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>This document specifies the Hash Of Root Key certificate extension. This certificate extension is carried in the self-signed certificate for a trust anchor, which is often called a Root Certification Authority (CA) certificate. This certificate extension unambiguously identifies the next public key that will be used at some point in the future as the next Root CA certificate, eventually replacing the current one.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8649"/>
          <seriesInfo name="DOI" value="10.17487/RFC8649"/>
        </reference>
        <reference anchor="RFC8411">
          <front>
            <title>IANA Registration for the Cryptographic Algorithm Object Identifier Range</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="R. Andrews" initials="R." surname="Andrews"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>When the Curdle Security Working Group was chartered, a range of object identifiers was donated by DigiCert, Inc. for the purpose of registering the Edwards Elliptic Curve key agreement and signature algorithms. This donated set of OIDs allowed for shorter values than would be possible using the existing S/MIME or PKIX arcs. This document describes the donated range and the identifiers that were assigned from that range, transfers control of that range to IANA, and establishes IANA allocation policies for any future assignments within that range.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8411"/>
          <seriesInfo name="DOI" value="10.17487/RFC8411"/>
        </reference>
      </references>
    </references>
    <?line 974?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document was inspired by discussions at the 2nd Oxford Post-Quantum
Cryptography Summit 2023.</t>
      <t>We gratefully acknowledge Melissa Azouaoui for her input to this document.</t>
      <t>The abstract and the introduction are based on the introduction in <xref target="HBSX509"/>.
Thanks go to the authors of that document. "Copying always makes things easier
and less error-prone" - <xref target="RFC8411"/>.</t>
    </section>
    <section numbered="false" anchor="contributors">
      <name>Contributors</name>
      <ul spacing="normal">
        <li>
          <t>Jeff Andersen (Google)</t>
        </li>
        <li>
          <t>Bruno Couillard (Crypto4A Technologies)</t>
        </li>
        <li>
          <t>Stefan-Lukas Gazdag (genua GmbH)</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9V925Lb2JXl+/kKtComnGmTzIsullTdbqdSVaW0lSVZTLsc
4XZkgARIwgIBGgAzxVIowv8w8zJv8zo/ME/zNP0n/SWz176ccwBSKjtmXnqm
u0tJEgfnsu977X3G47Hriq7MnycPXqXtajxL2zxLpsWySrttk7fPk2mXdnmS
VlnyIp2/326S67RKl/k6r7oHLp3NmvwOD7+Y7v/0gZvTB8u62T1PimpRO5fV
8ypd09uyJl104yLvFuPNX7fFZryateMWz49PH7l2O1sXbVvUVbfb0K+vvrn5
Nkm+StKyrellRZXlm5z+D01hlDzIs6KrmyIt8cfVxQv6T93Qv97dfPvAVdv1
LG+eu4yGfu7mddXmVbuldS1osNzR3B+6tMlTGnaaz7dN0e0euPu6eb9s6u2G
Pn1bt934d9u06rbr5PdtnlxVydum7up5XbYP3Pt8R7/OnrtknPD8F9syWYWt
bP1W4hd/vJ5O8d/X11P/QLL2G+ru8mpL00ySv/PtSSIb9OAHmnFRLZPv8Bw+
X6dFSZ9v/jr/NXZ5UjdLfJw28xV9vOq6Tfv85AS/wkfFXT6xn53gg5NZU9+3
+Qk9f4LnlkW32s7wJJ3TcltkaTXPT+QU/dHhhyX9t+2iV8QPTGSYSVEPHz35
PEFMVt26fOBcuu1WdcMbXVR0gDeT5Idiucwb2tkkEbK6WdXr+FNazvPk7e+m
qyIvM3wwr7dVB3q8WeXJ93m3ypuSCJZ/nMue0VvWv8b/uZdxJlXp/Et/OyHa
bldFU4SX/ja9y1fxx/zWF9Or3gu/yxs66F30ovd4bjKT53j7f73EN5N5vQ5v
nE6S3/77/ypnZXjhlKgsraKP+YXf1fWyzHvvnN4X3Y+ywvi9bZf/esm/7r/q
NxMMktE0w7t+U6zjD/lNl81u09WPLpKbfL6q6rJeFnnbe/ElkXSWRu/8S7Fe
/nouz6X7C6y3bZEVbbzE9K6p2943f++26iN7O/qVkEdVd5Bru3qbzGkXV7Q5
ZZ68+/ayTYr1pizmJA93yWyX0DDEUR//lb46O3/46FNyBCFGr+uIXY5Zzn38
p/Bl5b9y/p/PaZnJ9O3k6enp+Pz0KTibWDZtljmxiHFIVhfMd2enkyen509P
vr+a3kzCQ/KMCml8RwMmNmDyLqe1kewg+UbiMqH5iRiGGGKJ/qIv0ZPpfEWy
hmUHiQPjKf5/eiAvJ8llXW/yRj+2M3mZ3hVZ/6vwxMWmrg7+PvpCf/27CX1V
LQe//t12V63iL/TX1xMZqN0b/7qYr9K8HH4dPXfPUnH4WN00RTv4Uh+6nNCo
Zbm39Mu0KeNvWJskb+ZdTcolOT89P+WP27whTgCVPE/kpDb5nBRT8nY7I8Li
I3IuoiLs/FfJ1fjlROTfotyumrwZl+t2vK6bfLxJm/W4zbtWfknU9vThs7Pw
x+PHj/AH/fPZ09Nz/BODsRhtt0U3XncF0+Dl99OL88npYQJckwZNJ1m+INVI
Mrq+O6EVnZ9M883J6S/p36cPT3959vTho5PxGf7n9ORyenGLEW9pyNuL19+9
eXd18+p6ejt5+/LbmFwvQZoN78D3vHj6h2nZ5KIky4D0wTqZ0kzzhMZKjjAq
/nWcXO5oa1v/4+yuaMmQoF9ML44P0a4/MT7IA69b5tWcnv/enpczxErHp8/G
p7/ENl1ffvfumx8O71K+aYqqmxTpvGF2PT89e3Ly8PEvJ5tsES9arKBgJTFP
HmLF9osseD3/rsnv+x+/JVGZrjc09HsRieErkqLfCvHsff5d+mOWLvde8GLb
Dcn/N/h0viKBWvW26OzJ+OxsfHq+R+R+d2nRJIKarPhR5NC7vM1hR/DD2Nlv
r95Oz08f/QMSEE9M6JGe/MOHCcYhNs62ZT5+nXZdMc91b18WZGHg1IO404l9
Qd55WrmqWnrPlk6vXvgHWxb0XtPt+rTzaHz6dHz2cG9jvs2zvOEhlddrttvm
ectKxQ8etubxP741jw9tzWOlwJJeFZPdf8qtefHq7Mk/wI1np4/Oh+z4pt60
o+QqyUgXFV2SLtOiSv7jb/810C6t6E2Vj2+KdR4xZ7IlB6NJbu7r8TVNjZg5
ueg68mvayU+Ln9fESM0WfgrN8v3h31xMklf//r9LLHrAbEwUwsznD5/3Dvng
asgFK1oSodnXdCA1bNqkrOv3SdrRV2LF1LTADgsM/sjBY+9PcU+oJAnZFaWa
aPO663rf+6N/iBV8czO9Gt+8G5+dPhw/eXZ++Bjv7+8npN2ExrO8JJ3YnOCD
266h43z45PT0Fv959oz/enZ+cno24f+5fXJ60jXy5fnd6Rn+/+awLF73ZbF3
07B2+lAVc7ImQk6rol0fFMz9nflm25AZRObjDTEaLLBtpcO0EXsErjnCbgz0
zhkJVSby6Q+fo/KSqGfSgtTJE4EVe0JT3HQ59mZydkra+dkvn45pf5+cjx89
e/rsyfjx7XnPYvw+v6f/XbK1Aam8LbuWqIHEwWIB4lyOr6rNlj57M1tsWzVR
PisPyKh6kZfkMub9z68mcEpIMdV37UAxvSA3jVbcMD+/ejH94+PTZ5+nhZ4T
SlM+KTJ1DZesxcYf6PEx+9dEyS3pJHYPezxyVdHrqrxL/jihH6vtlfw230Hk
NGnbNds5OOB5ZIJcIZhQLAqaZ9DXw2DIFwRl3y9M/h/U8h+IqL7LyYfee8D7
QvTNzdX1N99evJ5+8+rNm5fTw/u5LNrOPG6QDvE/yYk8P1nMs/TZbJYtFk+f
Zo8ez+fPTp+cPTl9Mns0e3b+cJ721QriJCvyANtk09TLJoVJ1yYz4tWcSCqd
1dsugWj5wu6Qq/6Hov33/5k7Nx6P6Rk6g3TeOfd3uSrJUfjZi+lx0pKJkqRt
8jovlquursbkCKRl4cKDR6+vp8ej5BUdJ9PRvK/3duQAr5OjV1P8KP9jh1BS
llznzfsy33t9coSgDf0QTjT++c/tdvOr65t/PsF/yRFdz4oqt6e7ho4uIbd7
dVCnHL25oQV0taOtJKclFsdJtyJ5TZxFMrulk0srFe8t/VcUj3qkJc55TLxK
7/urhIYcTYO4GNGK5PdVWbzPaWLVHWia1XfrLYJMzQD/4qSVXR4l8S6TW3yX
u1QjVF2dvM/zTYJTew99eU97Siu8mdLnu5Z/TBSRVzTDPBvhcLKa2C4Hk1aY
M3bEkbRNWtId9mCSlmV9zwy3ZANh4tzNqsDD8y2La92mNrEIElscJKVSsjfa
xLsHiOsVMCtEAoOD6WUOnqpZMHiwg6nC1JC25JlBEi6SLN+U9Q6TbJkw9CSa
vNxBUMa7MnGRWU+P8oJ4h/SP+Mcjov15uc0wclrtJNDAunhBg2dkXuCIaRvc
GvKRnCR6gkyqBBHKguV1V2+K+STp7wltx7wpZrQpbU17mW5ok1I6wxbHpNEM
LD5t25pcLzILElIa5LqSDiHyuOo4jBoNg4mHX8jqq5weo/FmTI51eZdnbpbT
vtJP86aD1RG9uF3V2zLDj+0g8mwivL4uMpoQgi8klhuy2efiBP/n4fz/j4xP
u1Y3tDuOdtYkwGcZ0shwjc1mSs8TkrgVMR/9n0gIOBUCiRcCdBJzpo07xHeJ
Dycc76SDpgMkeycwjljzge1Ju9yTghfjt+1I7DPjSLwdhoMwBRN+NAb+5kdK
ZiToZ7fYVnzWk+Si5ZMbSBgE38gvgA6BI4HgW92w2Jtti5LZZlbWJG+I6myJ
4yAbi8h9YKEQG2HC6eyUTPpvhekC3oeuz3AgHzmGh6jKp08j++vx40f4C+Ny
HOfjxxCPsy/uwRoafIMzIaLnjL97iE3pP4RVzkh8IrJPvxARFfE1y76cyKK4
g0CBeKQx0uHx0CeLokK8ZF4Tx/Jb2YMxWXzU7TYg+3LnlnkF+UfrJFbJiJDw
3qZes4zJMwlh0s5HkoKMUwh9tZBUzkP2t+7vE/4mrfrj0Cd+WknqWgRacwni
krOCadQLYsYEP8h5TvCdPnzd3yLa7wWom7gHvo9IrttblsC3t0qHLtrBSfIN
Caj+FsYbDBIkoYV5Y1CwYNhfyRw5GnUt/l8r5x6E/npLuhnPbzLePOb+HG8M
O+/Zms6XBIM8Q04ae2Y5KwbThszvtNxN2nQHzr63rquFw8GxXUA7CLqYlayo
6xlL58iwYFK7J4nPJj/20RaUzJscs3RiWAz18wjbTEOLXFFFSge4yNO2wOuE
iNMuTIRMGxkzKHXiA7jxxAEfP3qv9tMnFguIxYML3cePEnoDnyCu/nHgPYLp
8g8kZGl2cxhJQeV06fu88qIVW5De1UXG1kZTtO91hpXf5/uCBBwrNj74dD4v
YP1jaeSrkPdMy0vChFxhvoEQ3AKae80PJAuSr6DvdQ0jZShMoThIzG/qlr5k
dURiic6EDTKQB/ImXqml0LQkD1WkqXYVu/PAfgTbKE1m9FNwTVruSDxiHsPM
YqzgMSA2hui5z14455J/TqKqJlqe7czWAnmQbqezhbETzCq3oaMnb6sVUbqp
uzFZC3qK9HiaZY0GdmaSPsYXkJvk6A/tNsdjpGU3lt+O18t1R2OBXfgBkdjE
CER3CN8TT11VzC/FfEsacTS0ZchLqe+TFVkLJSwGEl07Jh+cUOuz1fI2F+0W
KIymjXOnwyr6VuBzsmySK9sqCCRmauSVm1yojYUAM4KK5zTS7yIu2iBIHPJZ
DW1KRxTIg+9bkz25hUMjNUjm27YT0bUmv76ATMVrMCWahGdneGcjeknxxTnT
z3dk99E2QyDuCQMV7OsUYb4m/+u2ABfuqvmqqSsL+87y7h6agA7AZsILusiy
Qu3w2CYXgvsAIyIlioQBBdvGBCCm4E0Ynkck1XBE8B/mqW5BEG9ZflfMYXQx
ZZj7A++lauknx4wP4DfJF6wT9x+HDUwLzhtQP1QRsSfRglixIluY10CZZboZ
mTQYKY3LFhm5zWuST0XFS7dDxlkK8bXq+fEz5EF9+aigNZRokxC2gjoDq5R5
yhvS5GOR6ykRD62p3rblTpSdnanYHIsafhh7QGbGbCCLqm4EVqVdliURzc23
5EPe0WHRYLEQgyZInVLxHmsNI3B9n8p99RXEbsVb0KP5CwhBInz66F9lqkXb
bs3O3pNx5tJkiErc5eyHsjVL/z3Ce9c1bSQRBZE1baxDXu2Yqaws1oifqs5n
AeopbeQ3tMrv7YhESPJhYFBHNEOiZoPTYvWCcyAVs0jXRVmkjUxYrAc26vu0
4V1D0oQbREaI/p7v2a08qFgW5XizbaBX9t2GSXKNCZH+sIwjrSBvJRFZwsqo
WyUj4mVoEabmbUVLJYkyD9sA4nbxPqjOhXS49RGF24NoF+/EcCxi+vrV+OX0
gtSY5jqgzsWM7Ika71KQRbpdb3TyCNnqaPIWiFREuV3vZ6ZHr1/jXYm9iw15
RFHoECfJq/oeEo4+ISd8W4loDNwm4c+2+DGX1/rl0B9gVnwT9CsHVEhdkf7j
+KowMe3oqpixA+8NRnM55rzeedrmFvtIE1aEHasnUockXUofWtDgSV7dFSRk
18yQzNKuRxs4x1nOlnxgmIT08Fb8L3L5yd5fy2GUZmhWCQMn2nlegZ9bs/bY
xyPaEhMPuiXPRZn0aJ+YJ0Hoj3U2fSNgHTKXWLCK4FEiJd+DlUFGpNJk9ylE
pJ2WfTL2Z7/mxB70xh4DpCWp1IyJdlHAUaBjUaEkpkGLwyWBLzEdTHS8IOuG
SVNPQENEOBgfVDILiJjnWxoy/5CCIEbJnzSv/mf/Fphr5K5jZ+wk235Sgd20
SmPPRyEEtCiaNRZ60pKrc88mrB4vpnJ5wXEVmWDeHovDLkCbZZNuiFdCtFre
6MPcRC2kmqslCbmr+uY4ean6q7diOqQ9ZACZVllO3g7bhHQYO/JlIQJsf4VQ
tljiq+l0/Pp6OlKrU6YNZZg3rNBnJObo7CQELRuiyzyxhavdk9AcE7L/NNg2
iWyDcicGHDAAf1LEwp+NUejtyRG2SoIyOGzjqUjWJZ6cPYV9duOheQShgUFu
8mZdSMgAg2Mel8SO5HQM7XoNUqqu9FsI+UASmqnLx3JDUEPGBALx0JiiBd+q
jYdcxSXZRnUFotx7Xxy4g2MHwzzfdFu1qOQpE/HvsfH8U7UgAVlMLOQo5kAx
DHO6n/88sjef//znzozVYk76sK6WY6TqMkyKXIIjUqNsRIlMH0SDYGxEo4mU
RGb0DlFCtSp1OlinidbnybJAvItfLRE5r7tFWmX4J50a2cIa8rDDkABVZ5GR
3uvJaCaOz1vxK0j3LnO24VgZ8Np5CrbqbFeRFpfQhXn6g/CGKnUyf7K2Hx5B
HAPM6EKUBD4PSZssOZKYR0oSj2ZCp2YBkWNva4ddWW9F6sB5Y3vQJl4hKEga
hMgdKXT2bKKYw6WnDeOu2JHoxzP4XLCX1bzjr4KTLXHlzJGzzGbsstw93xtN
otdMJEoYrOXLPHpHWMrI5XcILLdR3MTPXDSnBVgQAkVUw2IskDtLMRQ48sdW
Jx07wtsVh8VdX6WzqwvzXdjF84hqzg1ZqWREwshbMiaUxwV5ZIW4ZWQrgvZo
2l+z6IFsYeE/8KH/42//PU5WQDBJYJ4dUwkZ0y5C0pOZJ1w/BAyxU9sbdaT2
VmTs3kbBMIztTUjMfGDPHMpUxNEkFTCiq/I2SoSrICvW9Bp2eyUO7TkhGlez
A2a3pBb3o1/nsNpG8ngHadRT7PeIuPQpRDZbQkOeIkd0INVYna0Nmxe0jzD8
aplm5BzOGa1KJxsCcSyf8oJPlx1MUBIMGI4R+ZAJB4V4rqRHwHDmQ5r3iJ9u
q23f2p2nREKgR3OA1YcUMq43PnSm3qR3PNOlWFM2GfMlownk5JfOOR0EwaWJ
gDiZNGRoPQ/vH/rsEmQHjbvc0uYSB+Wxgy36m0bjwM8hOVF0rcmJeVNzml9c
p0XOyBIlLCGo7+su93ZmCNAMKHM/ZEaGA1JLwaYODkhElqNYaNHU4qmu2ZKe
wVP3PMtmnfNm3QaZiS1/4z2Ljx8ZhkEmUZOr86sWRG86X0uYBFmERiFu4xK+
H4t1VgjevDSX7UhjMbZL9yS56OiOsQAFzakpy1arBETNDYxcFk7+iBkBxy/Y
7T1Z8bNI/oj8dsQ/cIJJGO1E4uxVcrDI8fFT8oWLJdOnhjfrBb19spyMfGyk
RcUFkV/PlmBtUjuSbKAmFjbMbqhRkFRr0aYtIv4WABz58EefjlvTTEUT5zH5
xA+nG2HphcB5cCRD1DWfHBSsexGKWLIijhVJw3bbcPZGg+VuWUMw1D/BUYeY
iVcyYo7m1Lj65xLbthB2LJIQTOW0QV2WFk3lH5rUrMTwcOojjeM4j5hcSgY+
J8gRlTbmK1MBsPLneSZxNuYvrTj5vD4AQeSyuYflkacSEnM4M96WosI8SZKY
LyT0xeJPTGfwH9nL4L/SXpN95hW8HVV+X8LsIhrm1Mbe2CYG2a9IlM8Mo2AB
Kx+hFpq26FscrLtLywJZ7hd7IS5NK90V+b0QJkw8HID5GmCIQ1F68fqMOB2M
91YJVpUg5zbJhCFZWix2Qm7FWsKQ2yYkJEW8CrfDm/jmAzZzJCgo29iM/7wx
xfbxK9rONS0bL//k3EXgqC8E9FT8eO/EO8qxFUEbKBNwcqocXfEa9csEwzbd
ILezLlrNUKfMjd6+MwcsDdtNR8C7T1J9XrQ5y8Cf/xzvkjnBzr+Ioqi0XPlC
A6JkxrK9bxGrHWqJWvflSY/E3oijOEJ+shdCz0zNtI1+QrI5ByYkX3xmQmWd
Zm3Pu/vsfIZvNuuxP0c/HzshmdE8jkYwN0Iu5BwxjK2j+h5x/1WxOWCcuIEw
4FnB9dnfJYWyIg6kuBxRqkGgs3G5E3hrEs+Xj18jpSWfs86ydhZ6XRBvNskQ
IERkzZ7SOP9Agk1UTr6RN5OhAAxWXzg7sRcBuEgtlOln0YvMe8CHBvlKDodV
GXue9eKz56ahS0EN+dWahWx8ZQcq0q3Jxyo9gyCPjbIRp4cKRn2pQYmYfloJ
IoqlCqz5tQDIROCuC4lxis9kG0lurFgGXhN4Wj0JbKSG4THzstovBTmlkvbr
EVZP33pFvyXdxWZShJxB9LeBncN0oGkgJ45WtZCsbcpKWKcogwjSy0JdyFuE
v/KK5wKnKUyDcRInbJmq23nikcMHR9+D9LQjhyB5YpAY9QtoRyCcFF0+QCPP
kVI+9sfhjaAAamPxnryJSPiyn06F8L+ALOZgbP+HLeJKFzHqRiBx9sKc1NvW
py8t4wMT3esCt5/cEU+nZbxH7a0zHrCf96PXx7ATDw+0AWY5B75lEgwmE8Ih
jdSCfPvwRrK7W0YEReheZ/FvRFWQtRAK4qQVXASi73uyvUWg0Htimwc2cMoY
yk3BlqtTAm5N5oIJcFygzTgVu8x7AjJYDmrLxqahAKsY8g4zbrsg06CgNdFz
gDmVBfsguooR26KYBkdUXA74k5gtxNCctfVGbzDX1Hizdd3nUZJx4n6PMbpt
hXjbboDOCnlOOEA+ROvEzUE8RlyRkDjOs/5ygzsvSWVORwIg9Iq4jEy8QxvP
Riuixz95vIo7YoiiAxwDQL4o3E4L1KTDseIYBezRklnGjp9SmphI32DWeOx1
CG2+82cw1TNoBcKjHCLJxKamwdYc8oowpVGUPI6W+mMNxAnTCU7xTtjIhOVm
tWsZvMi1eZD4IbQKOjzxETunJnFkJB8Vk5wEkhnag2ySaFjkPcmXWXLUQWTm
tiFTXH5cNN6vpw1625vMifmAGQnDNItipwEfBYPLaXZfPoieHPmfWEJKEk90
THA4oZsY2bqpjcpobKdSViOvvGTAZJLLl8ldO9n//PfTF0mGGPPe1wgwuFea
dwplQFJQdoziV0F2MnGzU8BxjhrQa92UWHg5/kmPeQSIJxM+A/7vF8kuTxvR
JOw5Am2AkEhX5HuC0BsQ5mG3nwkr0RwXBYrX6V9k2C40y5yQpGVYBZuLLNEP
wXtb5QuEdBF2FsYrKgd0gZBXmxvCcCMFWuJdbzjn88Usv08+IgJNKiY4zW0e
YB9YfGFOZdUTe8POCJIuMouAEcweQw9iWedpxSsiYjTPKISJhaqJvCNmNF+u
J7QCOozdO0GJWMgnwmdoqCOSdqLf6qZN3lfAHNH/sqnPdiT/osqxhWmzC95l
zzwjOXQDyWpR3Ol7mgrJnGtsjY8jeIzDHvzBdKeZuCkDnxzYNGcpYFOkjeHI
Oz+l+oy3jw1x2eGe7mZ97Q6QqUw2Xn6Sl96VLVqR/nnW0w1KS/lQPTlO8WYr
DuewA5BZBAoR3S3iesRFZS/qj4OUyHPKWDVSEDXUL520kGuoESBFVs/pD+PM
GPjHZnYKg5HtVQ+nko+RwNkHZBJnihg+7gU8/bYUkmFK3aL4wFJJS/CwmxaJ
Jn00ECwCH2FSkRiaJnZgk27KtBLyWNNDbXdw55U4bRZwZzm1osPc+aC4pgYk
OltsUs5/Xwfrm5ksmOAbSfbTHMQ/81FCyDNo+LHFTQtPOkDAQeH2g2iK0xjX
i/H35g4BpKJK2CFh0I3hOZKlw4hFXW48VVlmMIMQ9CNCX3qbNdt2knsxLvWH
ysPkfciV2KslR7/onxxdWEMLpF6W/ax1RkwSqDn8Qk5aAQlUoHKHQ+XR5ruw
+bHoiVeWZLUQzlz42M+btgnWqFe3sEqbHJ0qdLbGjBB8bBBFMxQBcwnPaKmx
7x/Shh+5oXOic0ZUA2a2WXs+ODAQNEN0WhpwnOEbnGM/AgQMGmMrZ812E2Vr
SEauyHfWOV4NEgTAG/rRY7NqHq/kXlfS2UpGybWZ6lAwDbdyga6GPL+OU0VS
YDERBBqLaY8BC9jD3u+55sVx1Ct6H+9UT0k1OT0BU+Rn4fH/8z8qEmHs2/hV
/8ymr8lwWwytUA/CDygEQX41tykhCoGuKfNsKdA6CzmRqds4te+SiPlEQClM
ENBpsJjEVd8Xm435WbFDU0u2rNA4QADWtJHjj2SA5jCYWMeohnG9UM3xaP+Q
hHY4LwGG8QHajTgzNCrHCdFupN3OMGZCnMMZBVpPsizrmYC2rzQjq5iSUQ9s
GcueYeyigFCXcaIDiXbeMtBAGkDZ8LvmtHyOLClkuLctfp0+uyw5ZC0xEAoJ
xkLdxLhj4L/Zto7XifoSnGgrUiecJoMuPQmA4/gD1mDbTa2b4qfD0oJVZSjn
2XPNgWTnWJhjjw6EotaChAWqTIG9PjWuSew8KkaJcJvJW4Ns0E86hBwkJxTi
Dj0MOCd8fUHesDRJUB3RiwaQNw8Pgd1L8/rO40cWsDd7KRkyBi339x9/+28B
hZ/9hY5ciilAcCsuNcM5JT8w3Kkquh8jHAo/zDvr6A0c1pDaLI6Z5PI6j6bz
Qkt8Tz7PA+miVhwEgSP3n6FfLETqVhzvzHJSo4vgIXhREymaE7aJfWkUe2oR
UpPRjhqPimwDgcOYt25QVcD9K4n0i8fMEBl2tclpBbCRJFiAzsfGtaZB5wCg
ki0TnxXZGjRAyybsmgWS97t80qSHPlRz2BSdMzCeuvMW5n4pfeLm6E/lLg9F
ndjv8GFx6yuHB4JpgDoGFyWxvfMeDEn4Rpx+2ki1ORgSSkSzHPQwd58p6+XI
RVoM5iibULALOe2YczyTA8EDbH2c/vZvdDiPttPmT5J4LeAg5t18cuzFV9/H
U1j0KErMwwJeoDJL5BNgoCIUGJQMPiMqK2EPQUAEbFlrEazg3cXBonQjhM3W
lsav2PFnF7AQ7D7bcR82qHq94wNM3sVHzYBxCVLvtdb5+FVAnpJsMfH6GQmi
apT+XMDItkLWPqS71sSgxbOdh1p4W0itP3nXHji/qhllZOGWEK5lVAqHwmYK
ZM+iLBHjn2X0yAYTuyJiyn4ticPeKRSnh/IxP5mUetqYo18lt6R01khAgihT
FqO3BjaDB+g8l8ark3I1hvH0ClkMtFKQJ3ZXz0lo9lwz2jueWn/vFNbbCxZo
fkcn3dIj7YKrw5Pbi8url7cacQAZcdb59oKXQQLz9rl4N36XfXVqr0IPKDz0
SIEM9tJe4Cnos6DOGHKnQLlIfKLjAvAG6P+7uFqHrG3B3nGJc3LLQXdaAPH3
7fN9QBQnrRaQczxRPSyeGDE8dBkw4Ag20ES4w4I4e30DFIl8hRKOFJwGvcwx
CgmXEneK5rewK9bFuaUZV5VJxp/me0Xii7eKZgvk6LZhNUOjxNiqiGxVyjGp
Wt5J5qpufG2mW3scCIaVJQQaQxPSnYZ5JBhvFRVW/sRZNJney62hiWl+NaPo
4vqdIha8usXgJXUBjTaPZQPkRLuc7XPxzW0Inihx7R084nmTtits7aa+5+45
rdQdyLJoII1DeMxET2bAltFSDFazXKkqxRSisqshJNY3InBW5yd04itC+jgp
0AIHlDxxWZTKAKlkRgZ9IVW4ue+zgRHKdCcVHSzAyS0xpkNYhJMdRdfTByFE
OUS4BBl3By9XYVx9IaaVEBwP4Mk4LmNnpHKj+Xlgs7nySJjaFkgT3kYZau3l
ELIJwfkUTCGekwAyrYzz/R7iga9gIvpAzwkbDGrq6pmeLInYEAJj4FjKaLtY
kprLH+kXGPacfkhtCw7hfEK4GcDFO+a6EvY7acCdxbNTeFvvJTDMh4psPq+n
QjCz/5DR/buL62NF1m5856yJe5ULcDb2zw/W+bW5llMwX27ApxDXSUxCUUnu
iJWDiHE5/NrDKMPZy9ZYWd59rjVoXJi6i/bJcmlmQMb5KXbYMYRKpXLH+0E/
GxlsjvmST3pn4XHVYAK7cT2jxgLfbMcsxFCXOYaKxANsEiJZLqxtJMVM0ZNz
aX8RUoJKPVg1EuA65UBNzoCUm7pTC5m9Blh9XJFjoR6ua9T81GVZWzzR2nsp
H3GFWyGAI9RkY7uGxX8D48L5rVrBOKg06C9RTvGHLdZv4ROuuEv3DRqIWHr6
vcXDq9pnBgamK1wCDtQJO7Dl3hdwZMkGEdMvIxQRhw5CDQuGNW06DNGjPxAT
zPf2xoWt9aFfhviuhDustJkcZ/GTaWl/uBZ2O8SnsABYReib2ACjBw7suSkq
yXRGJeToVNytxIl37apYMFWgglmwO4zoqreZ+f+W2mgU6cpngDfjvToPBMa0
zYfBm8gckEYSv28l0Zephd0HWFjJlaCzFTBmEXo+JfVBYyU3MhlihzPLSQIW
CNHg7EPfmbio15BjLoa47VVsM3XAPml74UOGOjLM0Tf9cFogYbSpQLuepgJ1
oDEVvBZfhDTmorYFOnRxlPGNEKH4xSBY2mzgy/eTKkXwAyMobvyw88k0yVNb
rlXwajCFWFVo+jv2Ii7CBCA87mE4oIECgEZe1PZISng2cBHQEOye6hu9SQQH
ccO7mLq4HASbr8hi3XrbQ+R+REKGWa0QEAnObRlDWpx6MLNdtGJu6mB/Gha/
5toN9dez/INpDCuR4Z5RTiJsKqetAQjtiYIC1gIvhSMKQSWU31oEU6jKFuYk
mJMciTN+fLiric6rHaxL5LgWGkKdeFUgicZQ9qfK+DLU7QmW0pz9j9w6+tnZ
k/NPn47FSgcae5Zzg5uO6zIR7q0bkg0ALpqC1ZoZUJOX4D2CUmpA4sWbRbxA
pJJCUexI9fRnqnK/uUSdrAd6oCsLusH3i29nO6X/AzOJYB2sJiscDTvwb70M
3nPZL0LbqI9fWb8I2Fa9eJkX4Qa9iNrMaEuNTAQ5nFCtrRs03OnVP/aKwQdY
yHpLMs+sCAWyulBml8YpgTB7j1CPpptmd8TEqXbZYLy7/4Q2hrvReItf46pt
HMZjG9nk54hThVZDEnpuQJ2JhW9V4MxREQpX0BTcEORHlebxW6LosmNbwdoY
QY5USxS3VgjqtNKvR8orOQ8S0vpffZVcm7USWiyiZZfvTn7shkfiu6FYRCPO
tQ6Tq5u0aKRbiYVAA3xFIZkMFpC1ssDryR3pbcPisYoiq2IxTnME+ZGM30du
qEh8jwHB9uqJkOopJIS1oIl1NkUH/SW5A0mBkPcIJXzhRXBIPMo+8Usqbcop
iMmUgUMBXBQREuqN9mu+Z0hZY4neyAuDk01Xd9wfN+IO3axRUJ2QRDF+ieRu
0bHMt3YI0ZC2CVbpNEmOblacX5IfOV9mEBo9QW6ITVJK6TzbGCJ24gQHx8sb
gNpbwRm9m17IeNoVyjsDCwBJJsd7rbWky4zWpcTT9B6nm6FEckkbKukRbYwR
kimWAGAJ7EUMV7dDjD998ugZvQmpYbZHtSBWqhHCNs3YMbQjsdgKg82rrG5a
Q4J86Hotn0jrzxRsAGAwmjj2oHncvAJU7OF3nHQSThgcPlnlOYmrLJPpF2sr
HX335hrkueCC7mzLee5gIhMlSRuFWj0KyRE6izAUWjqD5uCMymb5w/uUlp5I
f4qbOfxsQsa7HUAa+G5lbfLXbd4qjF+aGiqWhvMyRauRu0iOihMlHQdsH9wA
Lzgo7beYkZ9vXH4PgrKIH9OT2njKnNFPA5Jdk+WHuLBXweCiajLwPpv2ByUE
GRG1HCLD+Py2Ra8H8osMCITUOF2X9mvKpEMeM/awUp8tBmUOkeYvo6zvtc/i
9gU6qWwUW4+RIR6HVO+nPUFvAC2R9tIJ6UvU0RpSwn4xBIVLUwjPt3GKOswj
0IQxVmrA9qgIlvcnWe1oN/gp6/PbSxWoofRqym28kr3+j1Y0Gye5LaCrLTU9
UlabY/VbCIoYtjp0twGAo1M4/7Bwol8ucXBnJMim4dm4FVNT11rMvZ1pUjz3
osP8LknHMC9q4o2kCLxhnY9khcUutWJsOYhV3GnTQgSe67BLTETsbnqIlWE0
eW5a8XH0anpNOzz7FT7EHs9+haa72o8yVe3YaCXVgbX4Aeh//+3jx+LfPn0K
wyguFWM7ppSi7bf9s2/pMLSVG1NL9B7hBs7hV7AkACZPnRCflIAOiVpstHiR
1l7FumyF90dvcvrjMJ1eGf3e0tF9oWiPUkS94zGdtfkLWDyukxDBM8TBo4NW
rfxFVD/SPnwx0bp+64mAZ0ytM4nQY9RmJWoGc4iFAKfOmvR+pq0lWcMEwd6q
08h2Tr+9EO9+OwCnw6OMoa2++nsUqqhp6dyb2AMXuWNMORh74oEKKiNtMiqD
BZtMM7YSWesT1KvS6ZOccGpoNFmWnyWzr80VZxrgp5Uo8D4GQiCqzB2p9mlU
7VeBv0+GxpJaQbn2oiIOY8tifxhU1BpwoVdKH2X+pc6ylHlC60apyoHQ8b2g
fcB3z8zxAYkCaSniLkFSkDHH9TScJKbD3kqNLMbZSrjZNjKQpEdKr8X4dyFI
q+AnX2sgEH2EwYua66y0KdQCSHQaXNO9EYMKFMnYM+ktrFUEIGvAme/xZQD/
GAlLvtdGRUfnpeRn5MMB+dSwx3HC7IL+zAeF1SAzvU6BHOPmbTppePd5K8qS
PRYEY2SzxLCIOQcNWVhuL7fAAnXc84czTdr/p/ZkojnNuH/Y5+CKw07CGLix
qPvksG2hVNxqUw0puzpkE2h7EW9X8CbGZpbU5xp83KNaOdhjBp+lrQCm5PYn
ZuUjunZYIBRVn4H3Cvk5kd+Hgzk2B7ifC9w2OhxI6FEUc5JWKR/Ys9SWEgP8
ME1BSg4clxx4jMq2q9c1t5HgTCNZgy25SPlJC94r0fA2bhl3LMkoDX26Pdga
Rw2kF7TpX9bTs3xX+7iIr7uMZ+cej89OpRwiLqZia0nuyiD+J4nAtMh+ywz6
A3zFcQ9FmwnmUFtbfdXGf5M1+vIzpAC0zHrDcWKPahzCur0Rg+1xBj0OfsJB
u5SoekZKylIKFijz4xDR0jjsNM7gw6ZN8SUr46CsjezcgaRVwTNJLnrNKoIm
9X3zQl4zbjarDaRcaKCIjlAaS3osvax9f95733i3ZsJkgeWdE0xvxGmusMHc
OSSo17AfVudzT5Z4vRifJ9xRj2MCmGhXk9R3IfimSAzlLN4Ipe5zNixabc0u
Qr3TqgdB8CWr5FdJezxy3hf5PvkXfW41tif9nBnUIFTlyXTPhiXJ8b2T4cft
oBE8d1mMBDYnNUO3CvbH0MY2Njed2SI65ioe05B4msPk4oI4FwnbJwazswUo
fBim8bVyJuoqdVJaFjcu+hubor9I16tCdwMQwwGHaSTV8YbQXq9BnMEj1sI0
Nokwn2M5qrK0rZ7gpr0A25HWzgMtJtUM/HvpTcdhcGQ4g7HkWzY39k7M/cHV
A1m5XPEynZ6gqRxo9QEejb7kfv8nexbrscVwlXG/t3n/bNhlzHZYTbHAz5s2
32b1uEHl97rcOe3Hvq0KUsPcll1nMehctNfcETFrNjd5JGl+ddNvf94OO9vq
bJWS/SW6YqWHF3JKp0CLAxUr7D4ocbUByblJuRdX6MNvWI1gGmn1idPz0sMQ
i20x5gGEA8xdVXsAPw6jmPtG9lLC9hJTj2zUMZu6EoiLGonxED8bNCPpDkFc
ocEFZSSv9f1buY5L5sMcG9bZLxrhSxeiGLPTrIuRRiQFImkec5kAZwdtouMq
HQv+T5KXMsKhn8XpGc4TRjEsUB5ttotXYRGr4SkWnS1KIuuYY4RUJCksTfW0
2N5vdTivI4UOCDLBdsi6+THqjne3ZdVQ31e8xU7Ok3hMJV1UWTA4t0YvspIk
r1pgQc4IByFzsCfg91h0pM26AVUt+RCi3ERPr/RsWYH0haLcwVzjnMBkr6qG
G0gU1kPzsHf7tfrOQTAw3zrfCaFn84j1AUtWdvlwoZqgHKLiNi8CXGhFZjUi
0nhPXBbATCJ5Uc/+gjAXZ3tTPYyRGrMuGImw64JR7qVPPIW+NeWdNg+Rdrjh
xHsXWtGCGFdZ5qWtXVvesRfka0jnu5MYWS9CLMDtFEZfGBgyAOhN6Vs5mrrJ
TMbEAwU3AUc0yvkmkkglSp8gZv3I1SG6sR4YWbrmzISknQULcRG6tDv1Ojup
B5f7BuLKjKYmQ5i7HEpSdl37PAPHfqG2OIY61lCBHHlcCgPYP2RdrEJZsvvO
z3y1BrOkG1hsvpfQiaR0rW3QoE1voDXfBsV29rDlDAhQUbbeoTIgMlyxJTuS
jEywVMEXyjAlpqiaMeojE0CrGWd/Um2jKsVGElkbHDZnWjbeIY0YiAHvOcq+
A3Q7fqPFhT30fSdowbzcQO3Rb7RkcthhxeJM3sV0AYFvLtZPeVczvVIrwLSE
35xt5eeOShtn+RosX/dMZnCxLKQ0gr+Y5cuiksoDH6brcIoZLHhMJW6y3WnT
sQhD7ctV77Yl5Kw0mXZR1qx/gtwSIGouGWatMspXyyNwEQcr0JHHxrRq4N4I
3qQuul7XdoBkt2S0yKGFGyy+FP+TPI63OyWy5A3SduTQ6k0LwshqxRloUk+a
Puz5gPtaw2DpB3iMcaSyXyis42BUdImCOFKfvUqBm5kYtwrIRRpc+ixqaMdk
kOjP3a3AuS6O0XMKez4sjhs2vgQXOb6dRmlc9wiNMg1C6lsrKtSdeGIbdxmN
O+LcMNahV3TRNIIAfB64HBBWAbtDlmsPZEXX+zLk1IoMJNomCzzhiUUvGIUz
nIdKgJEPnTrD5itwP/P49qixmuS+dAsmyXQb4URCJZITFTCEVyK4k6EpOY8q
b4l9BevOEFfjOulhNbilT8ALzCg+zw9oDp9nTrRTa2SPU2r4Wdx1a5Qsa4yi
Ugp9aYYJBOnlPTLW5XR+0os6/OnPR18NboA51haxvQ5f0OVzSVu1qzzziUEi
pTF6dlkmTW0D3wur1RhauLTA+TE5YultY/ZkrXWf7vx+a6/QYu9dre12Hf5q
9K9RH1gg/an3cAUjjar44CkC+72e4wKHqKRR+1h7KtD8CyUr3xQrhDKjYocI
oC1gW5OM3J/hfk8vmFqMTOEebsEgJSsA+7hbaUg8soZebCUhqrtwYiDeCEFJ
r/4LUzPwsIpiEDSKU8/k7W+vBOYT5dutGmvS32ZrtrCo65JG4Qs8DFONdgsh
gmqy3vOUXsU4H3RrkhhLytep0AAwQg6GCdmx9JLVV+TpfSHlLvKrBXnUq+7y
wI44+MqLVzlrgCRLWlgDcoFvMLI9l+q7ON9cN3vIDiHUP4B1wfIAxaNtjRei
lzjL1oB4abjg8n28zb3cXK1FENWgUh7Ck91bw7ykBxNVYmRI6YZeI1vbzYUB
UCURPi7whKGxKCzYdTAzItR36G2jgEJIK/ex+sXZpzGj/eO4qoVaPlb7X1pX
dhMjkqeCC4zKDL5PbJNbXFDKc7VTUEhLDRlgaPy6aC7a8l57+tzpwSVxOJTM
HGX/lRgy/ldyvJHHqkolbmbPXouvS46bFzcSHubuxozKYl/a+hkHONbnGhjv
2y5ZzvYCrZG4ruvVSgHWZaa0AaZ6ou/AzR1DMEU/b8yw5cFdPvoyF3VCgtNn
za5jRhrALTE7uRoEqD/tou8GOx3lf3vwZ6YSqw8Ynk6vLHtw51CUGeHGknFx
mZZkLCQAKnLN6ZVI8OMSbTMT5EGvRyOtWsDG2iqZ6IH09Za9QW0ONnHfKifE
G4GmJhsxr0e9tJ8MNGRvC0JrdaW/dBBR74N5a+yTICzAIlFesFgH4ej03kfy
SxA7lts05dZp6b6oFxyRSen7TkfmIMt+Ooidy5qUcY9yM0IpJTssVLU1DzsB
ov5J+jdImlqvxr1amBG3XpAnYGtyUcFwQ/aeUoniCZcvZJJ+bMOUm1Zho/yh
UkGr/TPVOqpqqS+R1rdcQlv4Tk0rblcO2cJJF99SMEgOrb1VNdPvq51az7w+
/Pdtk4+B2JRFMctKAxm7lzi6gEoKcDPU7/g+SJEHcmQ36LTHvozLjy5ugPgx
45lYq5A3FoSye+lEm3qEH9CtBl8oJHnRf5J3Su/eUJEYILX0hwgQICgAU9Fx
mU/hHKbhKid1Wfbul1FAuXULgLUWJC+g53ybVEDxR2Unhxbs4TzOffNhI42P
LacnUT+/9vgCHo+Fs5sYkkhUlMBJ2ppHEnri7hDwcse0fyLBrXrPLgbTOL6v
/zwbJeej5OEomUwmxyMXF5aEHjNR4SZHDv3TWkrJhFGP5SIU0gPtpuZeDMBJ
fDZJK33Uo5jjsNzRv4X7fyFXScS1LrgZQshacqsLI6RwvSG64uA1w/Vz8l73
09IkHArgSmPrENz3riwypHpdtyfN0o3d4ThsjGA19wpGfN6jb6wBCoANwrH+
lE5icoqxzibPnvlXzDkTl3k0vOfZqJrnbHx2emoJnDYfrtgcApvS+YR0L95h
fkvXG+z0jDTzqVYh8+vE27fEnnREU0muG1K0ej1IXPBQc8Ecv6PjIuVKsP6o
A/OJqJ22txeCFvS6d1m8FaC4bdspa0UcuZ+eU7v9QrARewA8f7RI57pBt07/
giiP7om+SjIDtDVyQPa+APtg7tAsOqL2ereCa3FDM4D4uvdq1Gsf1HYysM03
PfEbCVO+38C7dyog2FUM4Ca5K+A+rN5cOnbxtIxEexLSAzFEtndtxEUEsd2f
1CFR76EIvv7GivpGTnwBmQmM6vgWOjynmZaoAdD+G6RwjM07F5uU3HaBE4nM
630w+OJw4iSKOnO24Oz0/JHjYFrPVmMSnBssYtbUyFpvN0KsTxPc+C03XJyd
P9VODtZVMOcrfn2zGykswc+iGmrDqukJyW940fe01vpeDNKWC1r42cKnUWtd
r/8lY/LqBMo/lLMMsRmoIIjiqMEXE9J+Gg9JfBRaH6b8jRJLwGLX+/qNzbAH
97gN5EESXYIdXZ2mMUi+P0YX7Pw7e1dpR6geLYtr7RYRnjBr0jBl9g+WSODM
OLylntpw2uJFyN1aYlYTKwtGuq76rXvGuCFdXQc3LH5GMA332Ld7pa/3PmCs
lSA+2oADDbeyRs7J2DqdR36MtV7u2W3cUmHaa/mr4le0bTx9m/2Rb5in646q
59FNJPKRNFKT/Onm6vqbby9eT7959ebNy+mfj7mJxw3fdFMNWg634cRmvSYB
jHZkqYqoH9DI7UiUgzTxQA6ZnaA9hTrmwmptEWwUOfKXIK81ZsfltPnB213t
AlRu55qY5VBEN8QBbad1uybhdepRcZW8evLZTZc0iOi0PASKu7jT1aDBFW4u
6SRXLcczvDn3+YB5tWJWJpX2KF4vAkoSfxVQaAtkISUJd4s3lFZZvEfxuZkV
yfdrcVZGszHcEyeu05QL8bRNzsWgOeLMx1TTJQJPXdx/z9C8B86LXhuCTcN1
Sj+EynDEHDKKK7ix4vuUPvOyj4ZjjdfbrI77Wujq4Kp617WPrP4Sqff9qb40
X3Oi2oD3HpJb4mZt7uAX+tJaIOBe2x6jM5XVULE7Qj8k6xq5N+sdQNIQBD/D
aN6A5aahnImO27XsZXj5Vup0sJgepL7JuQGsNrzUv/T2Zf6xmXhky9EESAvK
jX2I8GKrUE9JAlI+xUJWerlFiHmGduA6vObu5QLzQvOIpte7Lx+ACEVkjOT6
6x5RvgPhenORseGHZCmTlZGn2pWeCPWCIbO9Km9JxCSFoTl9dg/4wAwZ+Fav
evdZwYBdX+jVw3oJFfg/ymKLNhFTPagt66QUW6y+STjjDDv/BvSs+JzfC6Vc
lmxTPcCd8RI4KhbmO9vVheI9RzersK+H+dBM1hvzMmnUcnxfN2Vmt2teaR1u
AFWH6HbvDgQr6gSpDdcZWRJp208gyRVUtFMMNBjwoVxAEPVqBl2VaNQLLW0T
Kkzwy4nbPc58gLCbfNJ+FJ6RrgEt13FCRN6lwYuP8e09EymKp0RWdtyZaSY6
EQmuDXw3vStAqNhX/g4uTgt3oFjbSJ8I7hluaGWqwDNL+w15n1buhru/37rN
pqp9zcXNjFJMEboMvvysEeeglP7KkLDG+ZETEs31UJxM6yucXeuQhq7qAbRq
eSpd5VG7bYVgjz06xqdsndo0HqWX9qfQa/7hw3LBCGXZTGuJgu7KFt7EiGAM
WPS+0gF1KQaaXApA5PgsyVHx7XDSLkKdoekLV3N4dMY85fR90JF2E6Glp/QK
TpuDPhjd6zpJfkhFIEYeQhehCfzpqDku0Y5WrTMjoJG59+EOuiiap/nBmB45
v+CbAGU+vYTN3eWd2BR6g0gviSKNu6RkKA7106BVfDOld5Xt5umX9gO7QB3r
EOLlruIzlpOGS3H7V1QdolVfmW9tbLijIET21yhkDvN2RSVUIfI8a4qF+kUd
V3cFTTS8oUHcQN7BCRQ2D+BkgMJf6yCLGeZGrDGkhlDYlohgcr7XdnyBHN80
fkeCXIRA6OAhReASFXgX1RNMOyiq5S75uwoKNHVNBKAQE72MYNG/EkW7KkYQ
J4l3s52Ad0s7WEzUX9nTq8EAUqN5HyrX5Lc/67WEjYhV7yBSJ1RuJ1J8vr8G
Ke4xjkNDwy90LLDbGQ80lIK0rhtNcRfI4OAGOI6U+ZdHjkVcpmFTljYLq+gu
aecxASPfldMQVfX+Xb1scgf2tmZ2XL+TV87fUM2yo19i4Ns8hK5IsTq1CUdb
yXxtvTQ0/2h7wVf3RpduoHWGlT4O2K1EJbmT/owetogbpkNig40v5PPn1kp6
EAFsB83cnZjSYq+FgA/fAiF9ou6s67wPyImms9o89Rfj65sOu5mh38ZdkYVg
jnQXElzjtgqQvrqNmjSEppQJBxRp2cSZ+3PjXRRPOdXoo6GLPQjz/L/wqZ7R
f+u4W7SmMVVmX9PZRWgYQMTbMJaGYDWmrNxkKGYpWXFR8+xIXsfUnMPwrrjd
gsewHiBWFzVP9ZeqS/H2CIukQX70KD9cJ1SsainjtDonjhxs8xCH0lf4u0Wk
Z+0ql7ZNkl2lw/ftbYauhWT+LUhpF4sd4lSGWs1TyCawZOyA9cvD7A5rn5GY
jhWK433OVYoLDPbq0TxmOspghoZE6O0I04srHMgytBt4x95YmuVVviiQR/On
tORrO+YHK3HE9rOMoi14cIuOr08ykB2TraIj4n2CxemE/WzLRpZ/1Yuj9Uro
+1VdSm+pvcuLkxcCOPv+anqThGYVycchkOyTZWD8pUbc2su8NuB0SDRhvwa3
Pu9B6PZiMSFh/973ClYdGLVPwlMMOYhgHiEWvFduxIT5ajqdJOFsQlTQgOMk
jZdbCRpx9MMBQtcrDjjWCLOIhF6B/iiSQnLdpc66kPtf3GD2mhjsz9xD3LAC
nvTr6ymdFVsHfsTwEvPS7BzQDo3sR76yoOsXOlr3Dm+/MFRkCP9gPVWs+wW8
sLvYt1cKjW0R3qNDnUyOaa9vVtt2ZLikVjShhbd9wXYs5o7MYbdjARxp7Cv7
2u1Myk+lyyuDG4g1iRC6er0/XNsfz2JPx9paVRrTxXWIPGV41L0RZSi98CJK
vXLJrq8I870gDY5fRHft1jPtj+4RchAhWmmR9Ksrktdkor9jUdHTueLrh2nb
tcz7c9UxVtzD41Rad9h4WsPp4cx6CmMpjEyuOjc8q3fJL5IzzilaWrDFxQLW
ckrrguJ3Cc9JMmWv5nT4ZinJDBeKM6BFKX0UpR0Ms71XweSbIHjwk9sn++TL
ZL/YNiwpD5x7Gi6AgJ5EFGiGam0ku6q40diQADwxYUW9kV3oUcDKeFig2Ksz
ZEPUTGO58QGlTJCtCO10TsoW5W2RUKtqY1epUezMdfZtoJEF5pRKipCKpDkQ
Ba29ITGgvSEK8yDleRsW8eVOMKOfpZFkTOSF/Tmw8YpeSeLeIwKWwA0mSWn2
K1nP0jTqi28BbVcapw6bdJ9LXVGrZjePfDsk9FumdHrwy2/gICR/RytSrou3
U28QVHi8vHCWc/W2+DC2xfGaD+yMbcPwXf+SfHw3St794ozBI/jXdHz2aUKj
vThI1prfzSQmwXGaLjmlZXBGF4R58GSMKbXDHQcToiPqYip0cumz2T5qQ2lO
zWNOA0aFOzV4BKreKmL5S7NZPcbRyxBaolTLY1S7Pfk2XEx+mxwNg5tQW9El
7cfHekSB3e5TBMrNPfF4coYA7O0J3qw4+X4+oI66z2BRowMr9sY4zkNaricC
zy13KlpaXyktU1SQflSbQDIAKibqWyXQIkvFqUb1BqX+3uxKnztbcf9+86oO
VqbLBL2fOpxdInfH7vfTg87mmlfJr0UmBsLtIrPRpqbTzEt77PvP88UYAHMg
kiR1Y+F9VtS8dyyBVEw440UsnrXt3k+LtFD2Xh80DEbSocAZWweOHvDncWhK
Y+l4bx/4YF3/XmM9hNv7uiHbai4IprzCFdK3I0ErygXkZsAKJAWGsXVpC7LO
X8XVcmUTs2AV6a93h+wo2wNlibyJy+l9qFMyvocNzi9qXjXFfIg1MtdwUmqw
eSroGw7RDKOEu29G9FkzEnmmYEiqeS6R5yjWuwOILCDNZNcPgCO1+TuAL+g3
MbQC8W/FsZBK7B3UhEE/bQ0MhKTokwMHLTdtqnvxJXJ1/wi5Jj9Nri6Km3pr
s0e1FrLpma9Rg0a0QdPL/WIQxpd0gr1IkxmD7Twg4KUi6e8W8AL5UYXCpfKJ
gIt4node92XBP5DkPk2lN2p8UWx54eR94qzYrj2x68ZwvTQ3iueCZWlpPkOr
/M6nUAfzRoREwc8mnJU98V6+YvVeFnxgPf2oHOvo0P0uotdKYZakvJwh4/ZG
63O3XJgVCH5/4kXrhFkMFQ/3SOhFqzfYPfj87oX8mcRI+vfJSlDVwNshpDgw
wMUUk2zhmIaWlgFyl6jzdwKj0xvqKezedalsrQ/0w9e2ZwEjwG0kHDfu4Yak
tgxJToqGN6W215+it/Z9/rdmzb39CQPbBkmzL4XLpp1mwbTNKQeTIhvmbuCD
mc/2Vbjz+7KX7XDOf9FPgzBFWPuK6NZ0RlrOt1LL/616Y5btHaRS4i5Cki8U
l9gyphYUsQFH0UuLyg19v/h2lo8fv716Oz0/fSx//BPKCh8+O0OrNK6V4Q8e
P3706ROv/uri+4u9ld/E72YTmViFfyk3oyAgOh6P+VwwyEXv6tHWfXxucPl/
ebAg1ZQ/+DQc9J7DU+3G7tTLina+bQWcrXR+TvN984HOM0vekgs2/t2WdPF2
7S5D64BdMt3iUqfk/PT8IU3qB9qkRsw9eJZ+Wjlp2rIgEZBc/Fhv03pbsAaU
yOJmq8n5+ATFtrLbYDwpmxMq9W9N3m+m1fuWqzrJ5vzj49Nn2OwbcsDeA2to
IlbqVDScgHJQTz0PLusNd1XSS3kskFjg5k5AM/LGiSVK4jRvmhrXLZMd9ICc
OK0kfXR2pid8iTuV0XQD8OmDJzNOfpMvFskFujnBNz/6rq6XZX5MX7xotnT0
l7RhZQl80pFs/qOL5Aa3VtVlvSzIBIHfTbueVuPX2/d0st+lP2bpMjkift+m
yXfr2atj938BqP2VlV/AAAA=

-->

</rfc>
