<?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 rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc text-list-symbols="-o*+"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ffm-rats-cca-token-03" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="CCA Reference Attestation Token">Arm's Confidential Compute Architecture Reference Attestation Token</title>
    <seriesInfo name="Internet-Draft" value="draft-ffm-rats-cca-token-03"/>
    <author initials="S." surname="Frost" fullname="Simon Frost">
      <organization>Arm Limited</organization>
      <address>
        <email>Simon.Frost@arm.com</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author initials="G." surname="Mandyam" fullname="Giri Mandyam">
      <organization>Mediatek Inc</organization>
      <address>
        <email>giridhar.mandyam@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="02"/>
    <area/>
    <workgroup/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 124?>

<t>The Arm Confidential Compute Architecture (CCA) is series of hardware and software
innovations that enhance Arm’s support for Confidential Computing for large,
compute-intensive workloads. Devices that implement CCA can produce attestation
tokens as described in this memo, which are the basis for trustworthiness assessment of
the Confidential Compute environment.  This document specifies the CCA attestation
token structure and semantics.</t>
      <t>The CCA attestation token is a profile of the Entity Attestation Token (EAT).
This specification describes what claims are used in an attestation token
generated by CCA compliant systems, how these claims get serialized to the
wire, and how they are cryptographically protected.</t>
      <t>This informational document is published as an independent submission to improve
interoperability with Arm's architecture. It is not a standard nor
a product of the IETF.</t>
    </abstract>
  </front>
  <middle>
    <?line 142?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Arm Confidential Compute Architecture (CCA) <xref target="CCA-ARCH"/> is a set of hardware <xref target="RME"/>
and firmware <xref target="RMM"/> specifications, backed by a reference implementation <xref target="TF-RMM"/> .</t>
      <t>CCA provides confidential compute environments, called Realms, that can be dynamically
allocated by the Normal world host. The initial state of a Realm, and of the platform
on which it executes, can be attested. Attestation allows the Realm owner to establish
trust in the Realm, before provisioning any secrets to it. The Realm does not have to
inherit the trust from the Non-secure hypervisor which controls it.</t>
      <t>As outlined in the RATS Architecture <xref target="RFC9334"/>, an Attester produces a signed collection
of Claims that constitutes Evidence about its target environment. This document focuses
on the output provided by requests from the Realm to the Realm Management Monitor (RMM) management component for an
attestation token that covers the state of that Realm and the CCA Platform.
This output corresponds to Evidence in <xref target="RFC9334"/> and, as a design decision, the CCA attestation
token is a profile of the Entity Attestation Token (EAT) <xref target="EAT"/>. Note that there are other profiles
of EAT available, such as <xref target="I-D.kdyxy-rats-tdx-eat-profile"/> and <xref target="I-D.mandyam-rats-qwestoken"/>,
for use with different use cases and by different attestation technologies.</t>
      <t>Since the CCA tokens are consumed by services outside the device, there is an actual
need to ensure interoperability. Interoperability needs are addressed here by
describing the exact syntax and semantics of the attestation claims, and
defining the way these claims are encoded and cryptographically protected.</t>
      <t>Further details on concepts expressed below can be found in the Realm Management Monitor
specification 1.0 <xref target="RMM"/>.</t>
      <t>As mentioned in the abstract, this memo documents a vendor extension
to the RATS architecture, and is not a standard.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
      </t>
      <t>The terms Attester, Relying Party, Verifier, Attestation Result, Target Environment, Attesting Environment and Evidence
are defined in <xref target="RFC9334"/>. We use the term "receiver" to refer to Relying Parties
and Verifiers.</t>
      <t>We use the terms Evidence, "CCA attestation token", and "CCA token" interchangeably.
The terms "sender" and Attester are used interchangeably. Likewise, we use the terms
Verifier and "verification service" interchangeably.</t>
      <dl newline="true">
        <dt>RoT:</dt>
        <dd>
          <t>Root of Trust, the minimal set of software, hardware and data that has to be
implicitly trusted in the platform - there is no software or hardware at a
deeper level that can verify that the Root of Trust is authentic and
unmodified.  An example of a RoT suitable
 for CCA would be an isolated
Trusted subsystem responsible for initial measurements, lifecycle state
management, identity and attestation services.  The services that the RoT
provides for securitization of the CCA environment are described as
Hardware-Enforced Security (HES) - see Section B4.1.5 of <xref target="RME-SYSARCH"/>.</t>
        </dd>
        <dt>Realm-World:</dt>
        <dd>
          <t>Realm World, provides a security state and physical address range that provides
an execution environment for VMs that is isolated from the Normal and Secure worlds.
The controlling firmware running in the Realm world can access memory in the Normal
world to allow shared buffers. (This is similar to Trusted Execution Environment (TEE),
"secure world", or "secure enclave".)</t>
        </dd>
        <dt>Realm:</dt>
        <dd>
          <t>the Realm execution environment, is an Arm CCA environment that can be dynamically
allocated by the Normal world Host.</t>
        </dd>
        <dt>NW-Host:</dt>
        <dd>
          <t>Normal world host, refers to the security domain outside of the restricted Root,
Secure and Realm worlds. This typically contains the host hypervisor and supervisory
services. The NW-Host can allocate and manage resource allocation and can manage the
scheduling for other worlds.</t>
        </dd>
      </dl>
      <t>In this document, the structure of data is specified in Concise Data Definition Language (CDDL) <xref target="RFC8610"/>.</t>
    </section>
    <section anchor="cca-attester-model">
      <name>CCA Attester Model</name>
      <t>There are two kinds of CCA Attester: direct and delegated.
Their architectural arrangements are described in <xref target="direct"/> and <xref target="delegated"/>, respectively.</t>
      <t>Both arrangements implement a "layered attester" (<xref section="3.2" sectionFormat="of" target="RFC9334"/>) with exactly two layers: platform and realm.</t>
      <t>The Realm Management Monitor (RMM) is the top layer Attesting Environment.
It attests to the initial memory content of each Realm that is executed on a CCA platform, any dynamic measurements provided by Realm guest code
and aditional evidence about the state of a Realm.</t>
      <t>The HES (Hardware Enforced Security) is the bottom layer Attesting Environment, which acts as the CCA platform hardware RoT.
It attests to the executables and configuration contents of the "Monitor Security Domain", which includes the RMM, as well as the identity, configuration and state of the CCA platform. This produces a set of claims forming the CCA Platform evidence.</t>
      <t>The following architecture applies to both following attester models.</t>
      <figure anchor="fig-cca-delegated-attester">
        <name>CCA Attester</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="704" width="440" viewBox="0 0 440 704" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,128 L 8,688" fill="none" stroke="black"/>
              <path d="M 24,320 L 24,528" fill="none" stroke="black"/>
              <path d="M 24,608 L 24,656" fill="none" stroke="black"/>
              <path d="M 48,144 L 48,224" fill="none" stroke="black"/>
              <path d="M 48,368 L 48,480" fill="none" stroke="black"/>
              <path d="M 64,224 L 64,344" fill="none" stroke="black"/>
              <path d="M 64,504 L 64,592" fill="none" stroke="black"/>
              <path d="M 88,224 L 88,256" fill="none" stroke="black"/>
              <path d="M 104,256 L 104,344" fill="none" stroke="black"/>
              <path d="M 128,256 L 128,288" fill="none" stroke="black"/>
              <path d="M 144,288 L 144,344" fill="none" stroke="black"/>
              <path d="M 160,144 L 160,224" fill="none" stroke="black"/>
              <path d="M 160,368 L 160,480" fill="none" stroke="black"/>
              <path d="M 176,400 L 176,432" fill="none" stroke="black"/>
              <path d="M 176,464 L 176,496" fill="none" stroke="black"/>
              <path d="M 184,528 L 184,584" fill="none" stroke="black"/>
              <path d="M 200,176 L 200,256" fill="none" stroke="black"/>
              <path d="M 240,208 L 240,288" fill="none" stroke="black"/>
              <path d="M 256,608 L 256,656" fill="none" stroke="black"/>
              <path d="M 264,400 L 264,432" fill="none" stroke="black"/>
              <path d="M 264,464 L 264,496" fill="none" stroke="black"/>
              <path d="M 280,320 L 280,376" fill="none" stroke="black"/>
              <path d="M 280,392 L 280,528" fill="none" stroke="black"/>
              <path d="M 288,32 L 288,96" fill="none" stroke="black"/>
              <path d="M 296,128 L 296,376" fill="none" stroke="black"/>
              <path d="M 296,392 L 296,688" fill="none" stroke="black"/>
              <path d="M 328,104 L 328,368" fill="none" stroke="black"/>
              <path d="M 376,32 L 376,96" fill="none" stroke="black"/>
              <path d="M 288,32 L 376,32" fill="none" stroke="black"/>
              <path d="M 288,96 L 376,96" fill="none" stroke="black"/>
              <path d="M 8,128 L 296,128" fill="none" stroke="black"/>
              <path d="M 48,144 L 160,144" fill="none" stroke="black"/>
              <path d="M 160,176 L 200,176" fill="none" stroke="black"/>
              <path d="M 200,208 L 240,208" fill="none" stroke="black"/>
              <path d="M 48,224 L 160,224" fill="none" stroke="black"/>
              <path d="M 88,256 L 200,256" fill="none" stroke="black"/>
              <path d="M 128,288 L 240,288" fill="none" stroke="black"/>
              <path d="M 24,320 L 56,320" fill="none" stroke="black"/>
              <path d="M 80,320 L 96,320" fill="none" stroke="black"/>
              <path d="M 112,320 L 136,320" fill="none" stroke="black"/>
              <path d="M 152,320 L 280,320" fill="none" stroke="black"/>
              <path d="M 64,352 L 144,352" fill="none" stroke="black"/>
              <path d="M 160,384 L 312,384" fill="none" stroke="black"/>
              <path d="M 176,400 L 264,400" fill="none" stroke="black"/>
              <path d="M 176,432 L 264,432" fill="none" stroke="black"/>
              <path d="M 176,464 L 264,464" fill="none" stroke="black"/>
              <path d="M 64,496 L 144,496" fill="none" stroke="black"/>
              <path d="M 176,496 L 264,496" fill="none" stroke="black"/>
              <path d="M 24,528 L 56,528" fill="none" stroke="black"/>
              <path d="M 72,528 L 280,528" fill="none" stroke="black"/>
              <path d="M 40,592 L 240,592" fill="none" stroke="black"/>
              <path d="M 40,672 L 240,672" fill="none" stroke="black"/>
              <path d="M 8,688 L 296,688" fill="none" stroke="black"/>
              <path d="M 64,352 C 55.16936,352 48,359.16936 48,368" fill="none" stroke="black"/>
              <path d="M 144,352 C 152.83064,352 160,359.16936 160,368" fill="none" stroke="black"/>
              <path d="M 312,384 C 320.83064,384 328,376.83064 328,368" fill="none" stroke="black"/>
              <path d="M 64,496 C 55.16936,496 48,488.83064 48,480" fill="none" stroke="black"/>
              <path d="M 144,496 C 152.83064,496 160,488.83064 160,480" fill="none" stroke="black"/>
              <path d="M 40,592 C 31.16936,592 24,599.16936 24,608" fill="none" stroke="black"/>
              <path d="M 240,592 C 248.83064,592 256,599.16936 256,608" fill="none" stroke="black"/>
              <path d="M 40,672 C 31.16936,672 24,664.83064 24,656" fill="none" stroke="black"/>
              <path d="M 240,672 C 248.83064,672 256,664.83064 256,656" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="336,104 324,98.4 324,109.6" fill="black" transform="rotate(270,328,104)"/>
              <polygon class="arrowhead" points="192,584 180,578.4 180,589.6" fill="black" transform="rotate(90,184,584)"/>
              <polygon class="arrowhead" points="152,344 140,338.4 140,349.6" fill="black" transform="rotate(90,144,344)"/>
              <polygon class="arrowhead" points="112,344 100,338.4 100,349.6" fill="black" transform="rotate(90,104,344)"/>
              <polygon class="arrowhead" points="72,504 60,498.4 60,509.6" fill="black" transform="rotate(270,64,504)"/>
              <polygon class="arrowhead" points="72,344 60,338.4 60,349.6" fill="black" transform="rotate(90,64,344)"/>
              <g class="text">
                <text x="332" y="68">Verifier</text>
                <text x="84" y="164">Target</text>
                <text x="104" y="180">Environment</text>
                <text x="368" y="180">Layered</text>
                <text x="180" y="196">TE</text>
                <text x="372" y="196">Evidence</text>
                <text x="424" y="196">for</text>
                <text x="80" y="212">Realm</text>
                <text x="112" y="212">1</text>
                <text x="372" y="212">Platform</text>
                <text x="424" y="212">and</text>
                <text x="220" y="228">TE</text>
                <text x="360" y="228">Realm</text>
                <text x="120" y="244">Realm</text>
                <text x="152" y="244">2</text>
                <text x="160" y="276">...</text>
                <text x="184" y="308">Collect</text>
                <text x="244" y="308">Claims</text>
                <text x="204" y="340">Target</text>
                <text x="224" y="356">Environment</text>
                <text x="80" y="372">Realm</text>
                <text x="100" y="388">Management</text>
                <text x="88" y="404">Monitor</text>
                <text x="80" y="420">(RMM)</text>
                <text x="216" y="420">BLs</text>
                <text x="96" y="468">Attesting</text>
                <text x="104" y="484">Environment</text>
                <text x="220" y="484">CFGs</text>
                <text x="236" y="516">Platform</text>
                <text x="108" y="548">Evidence</text>
                <text x="224" y="548">Collect</text>
                <text x="88" y="564">for</text>
                <text x="220" y="564">Claims</text>
                <text x="108" y="580">Platform</text>
                <text x="68" y="612">Hardware</text>
                <text x="68" y="628">Enforced</text>
                <text x="68" y="644">Security</text>
                <text x="192" y="644">Attesting</text>
                <text x="56" y="660">(HES)</text>
                <text x="200" y="660">Environment</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                                   .----------.
                                   |          |
                                   | Verifier |
                                   |          |
                                   '----------'
                                        ^
.-----------------------------------.   |
|    .-------------.                |   |
|    | Target      |                |   |
|    | Environment +----.           |   | Layered
|    |             | TE |           |   | Evidence for
|    | Realm 1     |    +----.      |   | Platform and
|    '-+--+--------'    | TE |      |   | Realm
|      |  | Realm 2     |    |      |   |
|      |  '-+--+--------'    |      |   |
|      |    |  |  ...        |      |   |
|      |    |  '-+-----------'      |   |
|      |    |    | Collect Claims   |   |
| .----| ---|----|----------------. |   |
| |    v    v    v    Target      | |   |
| |   .-----------.   Environment | |   |
| |  | Realm       |              | |   |
| |  | Management  +-------------------'
| |  | Monitor     | .----------. | |
| |  | (RMM)       | |   BLs    | | |
| |  |             | '----------' | |
| |  |             |              | |
| |  | Attesting   | .----------. | |
| |  | Environment | |   CFGs   | | |
| |   '-----------'  '----------' | |
| |    ^                 Platform | |
| '----|--------------+-----------' |
|      | Evidence     | Collect     |
|      | for          | Claims      |
|      | Platform     v             |
|  .---+----------------------.     |
| | Hardware                   |    |
| | Enforced                   |    |
| | Security       Attesting   |    |
| | (HES)          Environment |    |
|  '--------------------------'     |
'-----------------------------------'
]]></artwork>
        </artset>
      </figure>
      <section anchor="direct">
        <name>Direct</name>
        <t>The structure of the CCA direct Attester is illustrated in TODO-fig-cca-direct-attester.</t>
        <t>In the direct model, the RMM creates a set of claims that represent the state of a Realm.
This set of claims is hashed and that hash is passed to the HES when requesting the CCA Platform evidence.
This hash is included in a claim within the CCA Platform evidence.
The platform evidence is signed using the CCA Platform Attestation Key (CPAK).</t>
        <t>The CCA Evidence produced with the direct model comprises a signed EAT for the platform token and an unsigned EAT for the realm token, wrapped in a CMW <xref target="CMW"/> collection.
The intra-collection binding is detailed in <xref target="sec-token-binding"/>.</t>
        <t>change addresses: <eref target="https://github.com/SimonFrost-Arm/draft-ffm-rats-cca-token/issues/16">Issue #16</eref></t>
      </section>
      <section anchor="delegated">
        <name>Delegated</name>
        <t>The structure of the CCA delegated Attester is illustrated in <xref target="fig-cca-delegated-attester"/>.</t>
        <t>In the delegated model, the RMM uses its own private key called RAK (Realm Attestation Key) to sign the claims regarding the requesting Realm.</t>
        <t>The RAK keypair is derived within the HES. The RAK is transferred over a trusted channel to the RMM.
The platform evidence include a claim containg a hash of the RAK public key. The platform evidence is signed using the CCA Platform Attestation Key (CPAK).</t>
        <t>The CCA Evidence produced in delegated mode comprises two separately signed EATs, one for the platform, another for the realm, wrapped in a CMW <xref target="CMW"/> collection.
The intra-collection binding is detailed in <xref target="sec-token-binding"/>.</t>
        <t>TODO: Device Token</t>
      </section>
      <section anchor="boot-phase">
        <name>Boot Phase</name>
        <t>The HES Attesting Environment is responsible for collecting the information to be
represented in CCA platform claims and to assemble them into Evidence.</t>
        <t>The Main Bootloader, executing at boot-time, measures the trusted computing base (TCB) of the Realm World - i.e., loaded firmware components and the associated configuration payloads - and sends them to the HES RoT to be stored isolated.  See <xref target="fig-cca-attester-boot"/>.</t>
        <figure anchor="fig-cca-attester-boot">
          <name>CCA Attester Boot Phase</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="352" viewBox="0 0 352 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,80 L 8,192" fill="none" stroke="black"/>
                <path d="M 80,64 L 80,208" fill="none" stroke="black"/>
                <path d="M 192,64 L 192,208" fill="none" stroke="black"/>
                <path d="M 304,64 L 304,208" fill="none" stroke="black"/>
                <path d="M 344,80 L 344,192" fill="none" stroke="black"/>
                <path d="M 8,80 L 72,80" fill="none" stroke="black"/>
                <path d="M 88,80 L 184,80" fill="none" stroke="black"/>
                <path d="M 200,80 L 296,80" fill="none" stroke="black"/>
                <path d="M 312,80 L 344,80" fill="none" stroke="black"/>
                <path d="M 96,128 L 192,128" fill="none" stroke="black"/>
                <path d="M 192,176 L 296,176" fill="none" stroke="black"/>
                <path d="M 8,192 L 72,192" fill="none" stroke="black"/>
                <path d="M 88,192 L 184,192" fill="none" stroke="black"/>
                <path d="M 200,192 L 296,192" fill="none" stroke="black"/>
                <path d="M 312,192 L 344,192" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="304,176 292,170.4 292,181.6" fill="black" transform="rotate(0,296,176)"/>
                <circle cx="88" cy="128" r="6" class="opendot" fill="white" stroke="black"/>
                <g class="text">
                  <text x="52" y="36">i-th</text>
                  <text x="100" y="36">Target</text>
                  <text x="172" y="36">Main</text>
                  <text x="212" y="36">Boot</text>
                  <text x="304" y="36">HES</text>
                  <text x="80" y="52">Environment</text>
                  <text x="196" y="52">Loader</text>
                  <text x="304" y="52">RoT</text>
                  <text x="36" y="100">loop</text>
                  <text x="64" y="100">i</text>
                  <text x="120" y="116">measure</text>
                  <text x="224" y="148">write</text>
                  <text x="248" y="164">measurement</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
    i-th Target    Main Boot        HES
    Environment      Loader         RoT
         |             |             |
.--------|-------------|-------------|----.
| loop i |             |             |    |
|        | measure     |             |    |
|        |o------------+             |    |
|        |             | write       |    |
|        |             | measurement |    |
|        |             +------------>|    |
'--------|-------------|-------------|----'
         |             |             |
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="run-time-phase">
        <name>Run-time Phase</name>
        <t>The Realm Management Monitor (RMM), executing at run-time, maintains measurements for
the state of a Realm. It can respond to requests issued from a Realm for an attestation
token relevant for that Realm by obtaining a CCA Platform attestation token from the
HES RoT and combining that with an attestation token containing Evidence reflecting
Realm state.</t>
        <t anchor="para-pak-intro">The HES RoT, executing at run-time, maintains measurements for the state of the CCA
platform TCB, including the lifecycle state of the CCA platform. It can answer requests
coming from the RMM to collect and format claims corresponding to that state and use a
CCA Platform Attestation Key (CPAK) to sign them (see <xref target="fig-cca-attester-runtime"/>).
How the CPAK is derived is implementation-specific.</t>
        <figure anchor="fig-cca-attester-runtime">
          <name>CCA Attester Run-time Phase</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="592" width="352" viewBox="0 0 352 592" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 24,144 L 24,176" fill="none" stroke="black"/>
                <path d="M 56,240 L 56,272" fill="none" stroke="black"/>
                <path d="M 88,64 L 88,560" fill="none" stroke="black"/>
                <path d="M 152,352 L 152,384" fill="none" stroke="black"/>
                <path d="M 184,448 L 184,480" fill="none" stroke="black"/>
                <path d="M 216,64 L 216,560" fill="none" stroke="black"/>
                <path d="M 312,64 L 312,560" fill="none" stroke="black"/>
                <path d="M 96,160 L 216,160" fill="none" stroke="black"/>
                <path d="M 56,240 L 88,240" fill="none" stroke="black"/>
                <path d="M 56,272 L 80,272" fill="none" stroke="black"/>
                <path d="M 88,288 L 208,288" fill="none" stroke="black"/>
                <path d="M 184,448 L 216,448" fill="none" stroke="black"/>
                <path d="M 184,480 L 208,480" fill="none" stroke="black"/>
                <path d="M 216,544 L 304,544" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="312,544 300,538.4 300,549.6" fill="black" transform="rotate(0,304,544)"/>
                <polygon class="arrowhead" points="216,480 204,474.4 204,485.6" fill="black" transform="rotate(0,208,480)"/>
                <polygon class="arrowhead" points="216,288 204,282.4 204,293.6" fill="black" transform="rotate(0,208,288)"/>
                <polygon class="arrowhead" points="160,384 148,378.4 148,389.6" fill="black" transform="rotate(90,152,384)"/>
                <polygon class="arrowhead" points="104,160 92,154.4 92,165.6" fill="black" transform="rotate(180,96,160)"/>
                <polygon class="arrowhead" points="88,272 76,266.4 76,277.6" fill="black" transform="rotate(0,80,272)"/>
                <polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(90,24,176)"/>
                <g class="text">
                  <text x="88" y="36">HES</text>
                  <text x="208" y="36">Realm</text>
                  <text x="88" y="52">RoT</text>
                  <text x="216" y="52">Manager</text>
                  <text x="316" y="52">Verifier</text>
                  <text x="36" y="100">Platform</text>
                  <text x="20" y="116">Boot</text>
                  <text x="24" y="132">State</text>
                  <text x="116" y="132">Req.</text>
                  <text x="172" y="132">Platform</text>
                  <text x="120" y="148">Token</text>
                  <text x="172" y="148">(#RAK)</text>
                  <text x="36" y="196">Platform</text>
                  <text x="24" y="212">Token</text>
                  <text x="28" y="244">sign</text>
                  <text x="20" y="260">w/</text>
                  <text x="28" y="276">CPAK</text>
                  <text x="132" y="276">Plat</text>
                  <text x="176" y="276">Token</text>
                  <text x="152" y="324">Realm</text>
                  <text x="152" y="340">State</text>
                  <text x="152" y="404">Realm</text>
                  <text x="152" y="420">Token</text>
                  <text x="156" y="452">sign</text>
                  <text x="148" y="468">w/</text>
                  <text x="152" y="484">RAK</text>
                  <text x="240" y="532">CCA</text>
                  <text x="280" y="532">Token</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
           HES           Realm
           RoT           Manager     Verifier
            |               |           |
            |               |           |
  Platform  |               |           |
  Boot      |               |           |
  State     | Req. Platform |           |
    |       | Token (#RAK)  |           |
    |       |<--------------+           |
    v       |               |           |
  Platform  |               |           |
  Token     |               |           |
            |               |           |
   sign .---+               |           |
   w/   |   |               |           |
   CPAK '-->|   Plat Token  |           |
            +-------------->|           |
            |               |           |
            |     Realm     |           |
            |     State     |           |
            |       |       |           |
            |       |       |           |
            |       v       |           |
            |     Realm     |           |
            |     Token     |           |
            |               |           |
            |      sign .---+           |
            |      w/   |   |           |
            |      RAK  '-->|           |
            |               |           |
            |               |           |
            |               | CCA Token |
            |               +---------->|
            |               |           |
]]></artwork>
          </artset>
        </figure>
        <t>A reference implementation of the CCA Attester is provided by <xref target="TF-RMM"/>.</t>
      </section>
    </section>
    <section anchor="sec-cca-claims">
      <name>CCA Claims</name>
      <t>This section describes the claims to be used in a CCA reference attestation token.</t>
      <t>There are two logical sections within the CCA attestation token, relating to the two
Target Environment elements:</t>
      <ul spacing="normal">
        <li>
          <t>The CCA Platform token</t>
        </li>
        <li>
          <t>The Realm state token</t>
        </li>
      </ul>
      <t>The two sections use inter-related claims to bind together into a single logical unit.
See <xref target="sec-security-consideration"/> for more details.</t>
      <t>The above tokens are presented to the requester within a top level Conceptual Message Wrapper (CMW) collection <xref target="CMW"/>.</t>
      <t>CDDL <xref target="RFC8610"/> along with text descriptions is used to define each claim
independent of encoding.  The following CDDL type(s) are reused by different
claims:</t>
      <artwork><![CDATA[
arm-platform-hash-type = bytes .size 32 /
                         bytes .size 48 /
                         bytes .size 64
]]></artwork>
      <section anchor="sec-cca-token-collection">
        <name>CCA Attestation Token top level wrapper</name>
        <t>The above tokens are presented to the requester within a top level CMW collection <xref target="CMW"/>.
The collection map has two entries, one for a bstr encoding of the CCA Platform token and
the other for a bstr encoding of the Realm state token.
The type of the CMW entry will vary for the Realm state token depending on whether
the delegated or direct model is used by an implementation.</t>
        <artwork><![CDATA[
; CMW (draft-ietf-rats-msg-wrap) Collection
cca-token = #6.907(cca-token-cmw)

; CoAP Content-Format for "application/eat+cwt"
eat-cwt-coap-cf = 263

cca-token-cmw = {
  0xACCA => [
    eat-cwt-coap-cf
    bytes .cbor COSE_Sign1<arm-platform-claims>
  ]
  0xACD1 => [
    eat-cwt-coap-cf
    bytes .cbor COSE_Sign1<cca-realm-claims>
  ]
}
]]></artwork>
      </section>
      <section anchor="cca-platform-token-claims">
        <name>CCA Platform token Claims</name>
      </section>
      <section anchor="caller-claims">
        <name>Caller Claims</name>
        <section anchor="sec-platform-nonce-claim">
          <name>CCA Platform Nonce</name>
          <t>The Nonce claim is used to carry a challenge provided by the caller to demonstrate freshness of the generated token.</t>
          <t>The EAT <xref target="EAT"/> <tt>nonce</tt> (claim key 10) is used.  Since the EAT nonce claim offers flexiblity for different
attestation technologies, this specifications applies the following constraints
 to the <tt>nonce-type</tt>:</t>
          <ul spacing="normal">
            <li>
              <t>The length MUST be either 32, 48, or 64 bytes.</t>
            </li>
            <li>
              <t>Only a single nonce value is conveyed. The array notation MUST NOT be used for encoding the nonce value.</t>
            </li>
          </ul>
          <t>Where the CCA Platform implementation uses the Delegated Token signing model <xref target="sec-token-binding"/>, the
value of the Nonce claim will be a hash of the Realm Public Key claim of the CCA Realm State token
<xref target="sec-realm-public-key-claim"/>.</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <artwork><![CDATA[
arm-platform-challenge-label = 10

arm-platform-challenge = (
    arm-platform-challenge-label => arm-platform-hash-type
)

]]></artwork>
        </section>
      </section>
      <section anchor="target-identification-claims">
        <name>Target Identification Claims</name>
        <section anchor="sec-instance-id-claim">
          <name>CCA Platform Instance ID</name>
          <t>The Instance ID claim represents the unique identifier of the Platform
Attestation Key (PAK).
The EAT <tt>ueid</tt> (claim key 256) of type RAND is used.  The following constraints
apply to the <tt>ueid-type</tt>:</t>
          <ul spacing="normal">
            <li>
              <t>The length MUST be 33 bytes.</t>
            </li>
            <li>
              <t>The first byte MUST be 0x01 (RAND) followed by the 32-byte unique identifier of the PAK.</t>
            </li>
          </ul>
          <sourcecode type="cbor-diag"><![CDATA[
eat-ueid-rand-type = bytes .join eat-ueid-rand-fmt

eat-ueid-rand-fmt = [
  ; the type byte is 0x01
  ueid-rand-typ
  bytes .size 32
]

ueid-rand-typ = h'01'
]]></sourcecode>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <artwork><![CDATA[
arm-platform-instance-id-label = 256 ; EAT ueid

arm-platform-instance-id-type = eat-ueid-rand-type

arm-platform-instance-id = (
    arm-platform-instance-id-label => arm-platform-instance-id-type
)

]]></artwork>
        </section>
        <section anchor="sec-implementation-id">
          <name>CCA Platform Implementation ID</name>
          <t>The Implementation ID claim uniquely identifies the implementation of the
CCA Platform. The value of the CCA platform Implementation ID claim can be
used by a verification service to locate the details of the CCA platform
implementation from an endorser or manufacturer.
Such details are used by a verification service to determine the security properties
or certification status of the CCA Platform implementation.</t>
          <t>The value and format of the ID is decided by
the manufacturer or a particular certification scheme. For example, the ID
could take the form of a product serial number,
database ID, or other appropriate identifier.</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <t>Note that this identifies the CCA Platform implementation, not a particular instance.
To uniquely identify an instance, see the Instance ID claim <xref target="sec-instance-id-claim"/>.</t>
          <artwork><![CDATA[
arm-platform-implementation-id-label = 2396 ; PSA implementation ID
arm-platform-implementation-id-type = bytes .size 32

arm-platform-implementation-id = (
    arm-platform-implementation-id-label =>
        arm-platform-implementation-id-type
)

]]></artwork>
        </section>
      </section>
      <section anchor="target-state-claims">
        <name>Target State Claims</name>
        <section anchor="sec-plat-profile-definition-claim">
          <name>CCA Platform Profile Definition</name>
          <t>The CCA platform profile claim identifies the EAT profile to which the CCA platform token
conforms. This allows a receiver to assign the intended semantics to the rest of the claims
found in the token.</t>
          <t>The EAT <tt>eat_profile</tt> (claim key 265) is used.</t>
          <t>The format of the CCA platform profile claim is defined as a text string of value
"tag:arm.com,2024:cca_platform#2.0.0".</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <t>See <xref target="sec-backwards-compat"/>, for considerations about backwards compatibility
with previous versions of the CCA Platform attestation token format.</t>
          <artwork><![CDATA[
arm-platform-profile-label = 265 ; EAT profile

arm-platform-profile-type = "tag:arm.com,2024:cca_platform#2.0.0"

arm-platform-profile = (
    arm-platform-profile-label => arm-platform-profile-type
)
]]></artwork>
        </section>
        <section anchor="sec-security-lifecycle">
          <name>Security Lifecycle</name>
          <t>The Security Lifecycle claim represents the current lifecycle state of the CCA
Platform.</t>
          <t>The state is represented by an integer that is divided as follows:</t>
          <ul spacing="normal">
            <li>
              <t>major[15:8] - CCA Platform security lifecycle state, and</t>
            </li>
            <li>
              <t>minor[7:0] - IMPLEMENTATION DEFINED state.</t>
            </li>
          </ul>
          <t>The CCA Platform lifecycle states are illustrated in <xref target="fig-lifecycle-states"/>.
A non debugged CCA platform will be in arm-platform-lifecycle-secured state.
Realm Management Security Domain debug is always recoverable, and would
therefore be represented by arm-platform-lifecycle-non-platform-rot-debug state. Root
world debug is recoverable on a HES system and would be represented by
arm-platform-lifecycle-recoverable-platform-rot state. On a non-HES system Root world
debug is usually non-recoverable, and would be represented by
arm-platform-lifecycle-lifecycle-decommissioned state</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <figure anchor="fig-lifecycle-states">
            <name>CCA Platform Lifecycle States</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="608" width="512" viewBox="0 0 512 608" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 48,256 L 48,272" fill="none" stroke="black"/>
                  <path d="M 48,336 L 48,464" fill="none" stroke="black"/>
                  <path d="M 120,128 L 120,160" fill="none" stroke="black"/>
                  <path d="M 128,32 L 128,64" fill="none" stroke="black"/>
                  <path d="M 152,448 L 152,480" fill="none" stroke="black"/>
                  <path d="M 152,544 L 152,576" fill="none" stroke="black"/>
                  <path d="M 168,240 L 168,272" fill="none" stroke="black"/>
                  <path d="M 168,368 L 168,416" fill="none" stroke="black"/>
                  <path d="M 184,272 L 184,288" fill="none" stroke="black"/>
                  <path d="M 184,336 L 184,360" fill="none" stroke="black"/>
                  <path d="M 216,160 L 216,232" fill="none" stroke="black"/>
                  <path d="M 216,488 L 216,536" fill="none" stroke="black"/>
                  <path d="M 232,64 L 232,120" fill="none" stroke="black"/>
                  <path d="M 240,192 L 240,232" fill="none" stroke="black"/>
                  <path d="M 272,280 L 272,368" fill="none" stroke="black"/>
                  <path d="M 280,448 L 280,480" fill="none" stroke="black"/>
                  <path d="M 288,544 L 288,576" fill="none" stroke="black"/>
                  <path d="M 296,368 L 296,416" fill="none" stroke="black"/>
                  <path d="M 304,240 L 304,272" fill="none" stroke="black"/>
                  <path d="M 344,32 L 344,64" fill="none" stroke="black"/>
                  <path d="M 352,128 L 352,160" fill="none" stroke="black"/>
                  <path d="M 352,368 L 352,416" fill="none" stroke="black"/>
                  <path d="M 376,256 L 376,272" fill="none" stroke="black"/>
                  <path d="M 376,320 L 376,360" fill="none" stroke="black"/>
                  <path d="M 376,416 L 376,464" fill="none" stroke="black"/>
                  <path d="M 416,192 L 416,368" fill="none" stroke="black"/>
                  <path d="M 432,368 L 432,416" fill="none" stroke="black"/>
                  <path d="M 128,32 L 344,32" fill="none" stroke="black"/>
                  <path d="M 128,64 L 344,64" fill="none" stroke="black"/>
                  <path d="M 120,128 L 352,128" fill="none" stroke="black"/>
                  <path d="M 120,160 L 352,160" fill="none" stroke="black"/>
                  <path d="M 240,192 L 416,192" fill="none" stroke="black"/>
                  <path d="M 168,240 L 304,240" fill="none" stroke="black"/>
                  <path d="M 48,256 L 168,256" fill="none" stroke="black"/>
                  <path d="M 304,256 L 376,256" fill="none" stroke="black"/>
                  <path d="M 168,272 L 304,272" fill="none" stroke="black"/>
                  <path d="M 168,368 L 248,368" fill="none" stroke="black"/>
                  <path d="M 264,368 L 296,368" fill="none" stroke="black"/>
                  <path d="M 352,368 L 432,368" fill="none" stroke="black"/>
                  <path d="M 168,416 L 296,416" fill="none" stroke="black"/>
                  <path d="M 352,416 L 432,416" fill="none" stroke="black"/>
                  <path d="M 152,448 L 280,448" fill="none" stroke="black"/>
                  <path d="M 48,464 L 144,464" fill="none" stroke="black"/>
                  <path d="M 288,464 L 376,464" fill="none" stroke="black"/>
                  <path d="M 152,480 L 280,480" fill="none" stroke="black"/>
                  <path d="M 152,544 L 288,544" fill="none" stroke="black"/>
                  <path d="M 152,576 L 288,576" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="384,360 372,354.4 372,365.6" fill="black" transform="rotate(90,376,360)"/>
                  <polygon class="arrowhead" points="296,464 284,458.4 284,469.6" fill="black" transform="rotate(180,288,464)"/>
                  <polygon class="arrowhead" points="280,280 268,274.4 268,285.6" fill="black" transform="rotate(270,272,280)"/>
                  <polygon class="arrowhead" points="248,232 236,226.4 236,237.6" fill="black" transform="rotate(90,240,232)"/>
                  <polygon class="arrowhead" points="240,120 228,114.4 228,125.6" fill="black" transform="rotate(90,232,120)"/>
                  <polygon class="arrowhead" points="224,536 212,530.4 212,541.6" fill="black" transform="rotate(90,216,536)"/>
                  <polygon class="arrowhead" points="224,232 212,226.4 212,237.6" fill="black" transform="rotate(90,216,232)"/>
                  <polygon class="arrowhead" points="192,360 180,354.4 180,365.6" fill="black" transform="rotate(90,184,360)"/>
                  <polygon class="arrowhead" points="152,464 140,458.4 140,469.6" fill="black" transform="rotate(0,144,464)"/>
                  <g class="text">
                    <text x="164" y="52">Device</text>
                    <text x="228" y="52">Assembly</text>
                    <text x="280" y="52">and</text>
                    <text x="316" y="52">Test</text>
                    <text x="268" y="84">Device</text>
                    <text x="276" y="100">Lockdown</text>
                    <text x="144" y="148">CCA</text>
                    <text x="196" y="148">Security</text>
                    <text x="284" y="148">Provisioning</text>
                    <text x="156" y="196">Provisioning</text>
                    <text x="156" y="212">Lockdown</text>
                    <text x="464" y="244">Recoverable</text>
                    <text x="232" y="260">Secured</text>
                    <text x="48" y="292">Non</text>
                    <text x="360" y="292">Recoverable</text>
                    <text x="48" y="308">Recoverable</text>
                    <text x="156" y="308">RM</text>
                    <text x="192" y="308">Debug</text>
                    <text x="332" y="308">Root</text>
                    <text x="376" y="308">Debug</text>
                    <text x="20" y="324">Root</text>
                    <text x="64" y="324">Debug</text>
                    <text x="188" y="324">Enable</text>
                    <text x="200" y="388">Realm</text>
                    <text x="256" y="388">Manager</text>
                    <text x="388" y="388">Root</text>
                    <text x="224" y="404">Debug</text>
                    <text x="384" y="404">Debug</text>
                    <text x="216" y="468">Terminate</text>
                    <text x="220" y="564">Decommissioned</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                 .--------------------------.
                 | Device Assembly and Test |
                 '------------+-------------'
                              | Device
                              | Lockdown
                              v
                .----------------------------.
                | CCA Security Provisioning  |
                '-----------+----------------'
                            |
               Provisioning |  .---------------------.
                 Lockdown   |  |                     |
                            v  v                     |
                      .----------------.             |Recoverable
       .--------------+    Secured     +--------.    |
       |              '-+--------------'        |    |
      Non               |          ^     Recoverable |
  Recoverable       RM Debug       |     Root Debug  |
  Root Debug          Enable       |            |    |
       |                |          |            |    |
       |                v          |            v    |
       |              .---------- -+--.      .-------+-.
       |              | Realm Manager |      |  Root   |
       |              |    Debug      |      | Debug   |
       |              '---------------'      '--+------'
       |                                        |
       |            .---------------.           |
       '----------->+   Terminate   +<----------'
                    '---------------'
                            |
                            |
                            v
                    .----------------.
                    | Decommissioned |
                    '----------------'
]]></artwork>
            </artset>
          </figure>
          <t>The CDDL representation is shown below.
<xref target="tab-states-map"/> provides the mappings between <xref target="fig-lifecycle-states"/> and the data model.</t>
          <artwork><![CDATA[
arm-platform-lifecycle-label = 2395 ; PSA lifecycle

arm-platform-lifecycle-unknown-type = 0x0000..0x00ff
arm-platform-lifecycle-assembly-and-test-type = 0x1000..0x10ff
arm-platform-lifecycle-platform-rot-provisioning-type = 0x2000..0x20ff
arm-platform-lifecycle-secured-type = 0x3000..0x30ff
arm-platform-lifecycle-non-platform-rot-debug-type = 0x4000..0x40ff
arm-platform-lifecycle-recoverable-platform-rot-debug-type = 0x5000..0x50ff
arm-platform-lifecycle-decommissioned-type = 0x6000..0x60ff

arm-platform-lifecycle-type =
    arm-platform-lifecycle-unknown-type /
    arm-platform-lifecycle-assembly-and-test-type /
    arm-platform-lifecycle-platform-rot-provisioning-type /
    arm-platform-lifecycle-secured-type /
    arm-platform-lifecycle-non-platform-rot-debug-type /
    arm-platform-lifecycle-recoverable-platform-rot-debug-type /
    arm-platform-lifecycle-decommissioned-type

arm-platform-lifecycle = (
    arm-platform-lifecycle-label => arm-platform-lifecycle-type
)

]]></artwork>
          <t><tt>arm-platform-lifecycle-unknown-type</tt> is not shown in <xref target="fig-lifecycle-states"/>; it represents an invalid state that must not occur in a system.</t>
          <table anchor="tab-states-map">
            <name>Lifecycle States Mappings</name>
            <thead>
              <tr>
                <th align="left">CDDL</th>
                <th align="left">Lifecycle States</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>arm-platform-lifecycle-unknown-type</tt></td>
                <td align="left"> </td>
              </tr>
              <tr>
                <td align="left">
                  <tt>arm-platform-lifecycle-assembly-and-test-type</tt></td>
                <td align="left">Assembly and Test</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>arm-platform-lifecycle-platform-rot-provisioning-type</tt></td>
                <td align="left">CCA Platform Provisioning</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>arm-platform-lifecycle-secured-type</tt></td>
                <td align="left">Secured</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>arm-platform-lifecycle-non-platform-rot-debug-type</tt></td>
                <td align="left">Non-Recoverable CCA Platform Debug</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>arm-platform-lifecycle-recoverable-platform-rot-debug-type</tt></td>
                <td align="left">Recoverable CCA Platform Debug</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>arm-platform-lifecycle-decommissioned-type</tt></td>
                <td align="left">Decommissioned</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="sec-platform-config">
          <name>Platform Config</name>
          <t>The CCA platform config claim describes the set of chosen implementation options
of the CCA platform. As an example, these may include a description of the level
of physical memory protection which is provided.</t>
          <t>The CCA platform config byte string contains implementation information that is
 provided by the chip vendor and the device vendor. This is expected to include
 the following system properties (see {RME-SYSARCH}} for details):</t>
          <ul spacing="normal">
            <li>
              <t>Per-PAS encryption (all RME systems will require this property)</t>
            </li>
            <li>
              <t>MEC</t>
            </li>
            <li>
              <t>MPE Level
              </t>
              <ul spacing="normal">
                <li>
                  <t>L0 (none)</t>
                </li>
                <li>
                  <t>L1 (encryption only)</t>
                </li>
                <li>
                  <t>L2 (encryption and integrity)</t>
                </li>
                <li>
                  <t>L3 (anti-replay)</t>
                </li>
              </ul>
            </li>
            <li>
              <t>RME-DA support</t>
            </li>
            <li>
              <t>RME-CDA support</t>
            </li>
          </ul>
          <t>The layout and encoding of this information is IMPLEMENTATION DEFINED.</t>
          <t>An attestation verifier should use information from the an attestation
profile document applicable to the implementation to understand the
IMPLEMENTATION DEFINED choices made for
this field. Reference values can be accompanied by a bitmask identifying
the relevant portion of the platform config claim.</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <artwork><![CDATA[
arm-platform-config-label = 2401 ; PSA platform range
                                 ; TBD: add to IANA registration
arm-platform-config-type = bytes

arm-platform-config = (
    arm-platform-config-label => arm-platform-config-type
)

]]></artwork>
        </section>
        <section anchor="sec-platform-manufacturing-config">
          <name>Platform Config</name>
          <t>The CCA platform manufacturing config claim represents a record of production
phases and testing conducted during the manufacturing process for this instance.</t>
          <t>The CCA platform manufacturing config claim is optional in a CCA platform token</t>
          <artwork><![CDATA[
arm-platform-manufacturing-config-label = 2403

arm-platform-manufacturing-config-type = bytes

arm-platform-manufacturing-config = (
    arm-platform-manufacturing-config-label =>
        arm-platform-manufacturing-config-type
)
]]></artwork>
        </section>
      </section>
      <section anchor="software-inventory-claims">
        <name>Software Inventory Claims</name>
        <section anchor="sec-sw-components">
          <name>Software Components</name>
          <t>The Software Components claim is a list of software components which can affect
the behavior of the CCA platform.</t>
          <t>This claim MUST be present in a CCA Platform attestation token.</t>
          <t>Each entry in the Software Components list describes one software component
using the attributes described in the following subsections.  Unless explicitly
stated, the presence of an attribute is OPTIONAL.</t>
          <t>It is expected that an implementation will describe the expected software
component values within the profile.
In some implementations, a software component may consist of a configuration
data item.</t>
          <t>Note that, as described in <xref target="RFC9334"/>, a relying party will typically see the
result of the appraisal process from the Verifier in form of an Attestation
Result, rather than the CCA Platform token from the attesting endpoint.
Therefore, a relying party is not expected to understand the Software
Components claim.  Instead, it is for the Verifier to check this claim against
the available Reference Values and provide an answer in form of an "high level"
Attestation Result, which may or may not include the original Software
Components claim.</t>
          <artwork><![CDATA[
arm-platform-sw-components-label = 2399 ; PSA software components

arm-platform-sw-component = {
  ? 1 => text,                   ; component type
    2 => arm-platform-hash-type, ; measurement value
  ? 4 => text,                   ; version
    5 => arm-platform-hash-type, ; signer id
  ? 6 => text,                   ; hash algorithm identifier
}

arm-platform-sw-components = (
    arm-platform-sw-components-label => [ + arm-platform-sw-component ]
)

]]></artwork>
          <section anchor="component-type">
            <name>Component Type</name>
            <t>The Component Type attribute (key=1) is a short string representing the role of
this software component. This attribute is intended for use as a hint to help
the verifier understand how to evaluate the CCA platform software component
measurement value.</t>
            <t>This attribute is optional in a CCA Platform software component.</t>
          </section>
          <section anchor="measurement-value">
            <name>Measurement Value</name>
            <t>The Measurement Value attribute (key=2) represents a hash of the state of the software component
in memory at the time it was initialized. The measurement values are implemented such that the values can
only be extended rather than set. The values are initialised to 0, so the value reported in attestation will be
H( 0 || H(software component)). If the CCA platform supports Live Firmware Activation then the value
reported in attestation may have been further extended by measurements of updates to the software component. In
this case, the value of the measurement must be validated by reconstructing the reported value using information
from the Firmware Activity Log</t>
            <t>The value MUST be a cryptographic hash of 256 bits or stronger.</t>
            <t>This attribute MUST be present in a CCA Platform software component.</t>
          </section>
          <section anchor="version">
            <name>Version</name>
            <t>The Version attribute (key=4) is the issued software version in the form of a
text string. The meaning of this string is defined by the software component
vendor.</t>
            <t>This attribute is optional in a CCA Platform software component.</t>
          </section>
          <section anchor="signer-id">
            <name>Signer ID</name>
            <t>The Signer ID attribute (key=5) uniquely identifies the signer of the software component.
The identification is typically accomplished by hashing the signer's public key.
The value of this attribute will correspond to the
entry in the original manifest for the component. This can be used by a
Verifier to ensure the components were signed by an expected trusted source.</t>
            <t>This attribute MUST be present in a CCA Platform software component.</t>
          </section>
          <section anchor="measurement-description">
            <name>Measurement Description</name>
            <t>The Measurement Description attribute (key=6) contains a string identifying the
hash algorithm used to compute the corresponding Measurement Value.  The string
SHOULD be encoded according to "Hash Name String" in the "Named Information Hash Algorithm Registry" <xref target="IANA.named-information"/>.</t>
          </section>
        </section>
        <section anchor="sec-arm-platform-hash-algm-id">
          <name>CCA Platform Hash Algorithm ID</name>
          <t>The CCA platform hash algorithm ID claim is a text string that identifies
the algorithm used to calculate the extended measurements in the CCA platform token.</t>
          <t>The string SHOULD be encoded according to "Hash Name String" in the "Named
Information Hash Algorithm Registry" <xref target="IANA.named-information"/>.</t>
          <t>The CCA platform hash algorithm ID claim MUST be present in a CCA platform token.</t>
          <artwork><![CDATA[
arm-platform-hash-algo-id-label = 2402 ; PSA platform range
                                       ; TBD: add to IANA registration

arm-platform-hash-algo-id = (
    arm-platform-hash-algo-id-label => text
)

]]></artwork>
        </section>
        <section anchor="sec-arm-platform-client-id">
          <name>CCA Platform Client ID</name>
          <t>The CCA platform client ID claim identifies the security domain from which the attestation token was requested.</t>
          <t>In this profile, the only valid value for the CCA platform client ID claim is the Realm Management Security Domain (RMSD).</t>
          <t>The CCA platform client ID claim MUST be present in a CCA platform token.</t>
          <artwork><![CDATA[
arm-platform-client-id-label = 2394 ; PSA namespace

arm-platform-client-id-rmsd = 1 ; Realm Management Security Domain

arm-platform-client-id-type =
    arm-platform-client-id-rmsd

arm-platform-client-id = (
    arm-platform-client-id-label => arm-platform-client-id-type
)
]]></artwork>
        </section>
        <section anchor="sec-arm-platform-manufacturing-config">
          <name>CCA Platform Manufacturing Config</name>
          <t>The CCA platform manufacturing config claim represents a record of production phases and testing conducted
during the manufacturing process for this instance.</t>
          <t>The values encoding in this claim are implementation defined.</t>
          <t>The CCA platform manufacturing config claim is OPTIONAL in a CCA platform token</t>
          <artwork><![CDATA[
arm-platform-manufacturing-config-label = 2403

arm-platform-manufacturing-config-type = bytes

arm-platform-manufacturing-config = (
    arm-platform-manufacturing-config-label =>
        arm-platform-manufacturing-config-type
)
]]></artwork>
        </section>
        <section anchor="sec-arm-platform-extension">
          <name>CCA Platform Extension</name>
          <t>The CCA platform extension claim identifies components which have been added to the CCA platform at runtime
and supplies verification hashes for evidence obtained from those components.</t>
          <t>An example of such a component is a coherent memory (CMEM) device</t>
          <t>The CCA platform extension claim is OPTIONAL in a CCA platform token</t>
          <artwork><![CDATA[
arm-platform-extension-label = 2404

; protocols that support VCA (Version-Capabilities-Algorithm message concatenation)
$protocols-support-vca /= "spdm-1.2.0"
$protocols-support-vca /= "spdm-1.2.1"
$protocols-support-vca /= "spdm-1.2.2"
$protocols-support-vca /= "spdm-1.2.3"
$protocols-support-vca /= "spdm-1.3.0"
$protocols-support-vca /= "spdm-1.3.1"
$protocols-support-vca /= "spdm-1.3.2"
$protocols-support-vca /= "spdm-1.4.0"

; device types requiring a form of encryption
$type-with-encryption /= "cxl-type-3"

encryption-type = (
    host-side-encryption: 0
    target-side-encryption: 1
    no-encryption: 2
)

arm-platform-extension-device-common = (
    ? 1 => text,            ; hash algorithm identifier
    2 => arm-platform-hash-type,     ; device measurements exchange digest
    3 => arm-platform-hash-type,     ; certificate chain digest
    4 => bool,              ; indicates whether this PDEV uses IDE
)

arm-platform-extension-device = {
    arm-platform-extension-device-common
    (
        ( ; ---- VCA digest required ----
            5 => $protocols-support-vca,    ; protocol, e.g. "spdm-1.2.3"
            6 => arm-platform-hash-type,             ; SPDM VCA digest
        )
     // ( ; ---- no VCA needed ----
            5 => text                       ; protocol
        )
    )
    (
        (
            7 => $type-with-encryption,     ; device type, e.g. "cxl-type-3
            8 => &encryption-type,          ; indicates encryption type
        )
     // ( ; ---- no encryption type needed ----
            7 => text
        )
    )
}

arm-platform-extension = (
    arm-platform-extension-label => [ + arm-platform-extension-device ]
)
]]></artwork>
        </section>
        <section anchor="sec-arm-platform-peer-signers">
          <name>CCA Platform Peer Signers</name>
          <t>In the event that the CCA platform consists of multiple peer RoTs which are unable to establish a
single attestation signing entity at boot time, it is necessary for an attestation report produced by one of
those RoTs to identify its peers where execution may be subsequently scheduled.
The CCA platform peer signers claim is used to provide this information to a verifier.</t>
          <t>The CCA platform peer signers claim is OPTIONAL in a CCA platform token</t>
          <t>The data type for this claim is Implementation Defined as different underlying RoT technologies or provisioning schemes are likely.</t>
          <artwork><![CDATA[
arm-platform-peer-signers-label = 2406

arm-platform-peer-signers-type = bytes

arm-platform-peer-signers = (
    arm-platform-peer-signers-label => arm-platform-peer-signers-type
)
]]></artwork>
        </section>
        <section anchor="sec-arm-platform-tbb-rotpk">
          <name>CCA Platform TBB ROTPK</name>
          <t>Where an implementation of the CCA platform follows the Trusted Board Boot specification <xref target="TBB"/>, the platform
will include several provisioned public key identifiers which are used to establish a chain of trust.
The CCA platform TBB ROTPK claim is used to provide this information to a verifier.</t>
          <t>The CCA platform tbb rotpk claim is OPTIONAL in a CCA platform token</t>
          <artwork><![CDATA[
arm-platform-tbb-rotpk-label = 2405

arm-platform-tbb-rotpk-type = [ + arm-platform-tbb-rotpk-item ]

arm-platform-tbb-rotpk-item = {
    1 => tstr,             ; e.g. "CM" or "DM"
    2 => int,              ; active ROTPK array
    3 => int,              ; index in the active array
    4 => arm-platform-hash-type    ; hash object
}

arm-platform-tbb-rotpk = (
    arm-platform-tbb-rotpk-label => arm-platform-tbb-rotpk-type
)
]]></artwork>
        </section>
      </section>
      <section anchor="verification-claims">
        <name>Verification Claims</name>
        <t>The following claims are part of the CCA Platform token (and therefore still Evidence)
but aim to help receivers, including relying parties, with the
processing of the received attestation Evidence.</t>
        <section anchor="sec-verification-service-indicator">
          <name>Verification Service Indicator</name>
          <t>The Verification Service Indicator claim is a hint used by a relying party to
locate a verification service for the token. The value is a text string that
can be used to locate the service (typically, a URL specifying the address of
the verification service API). A Relying Party may choose to ignore this claim
in favor of other information.</t>
          <artwork><![CDATA[
; PSA verification service
arm-platform-verification-service-label = 2400
arm-platform-verification-service-type = text

arm-platform-verification-service = (
    arm-platform-verification-service-label =>
        arm-platform-verification-service-type
)

]]></artwork>
          <t>It is assumed that the relying party is pre-configured with a list of trusted
verification services and that the contents of this hint can be used to look
up the correct one. Under no circumstances must the relying party be tricked
into contacting an unknown and untrusted verification service since the
returned Attestation Result cannot be relied on.</t>
          <t>Note: This hint requires the relying party to parse the content of the
CCA Platform token. Since the relying party may not be in possession of a trust
anchor to verify the digital signature, it uses the hint in the same way
as it would treat any other information provided by an external party,
which includes attacker-provided data.</t>
          <t>The CCA platform verification service indicator claim is OPTIONAL in a CCA platform token.</t>
        </section>
      </section>
      <section anchor="cca-realm-state-token-claims">
        <name>CCA Realm state token Claims</name>
        <t>The CCA Realm state token contains claims that represent the Target Environment
that is the Realm that requested the attestation report.</t>
        <section anchor="sec-realm-nonce-claim">
          <name>Realm Nonce</name>
          <t>The Nonce claim is used to carry a challenge provided by the caller to demonstrate freshness of the generated token.</t>
          <t>The EAT <xref target="EAT"/> <tt>nonce</tt> (claim key 10) is used.  Since the EAT nonce claim offers flexiblity for different
attestation technologies, this specification applies the following constraints
 to the <tt>nonce-type</tt>:</t>
          <ul spacing="normal">
            <li>
              <t>The length MUST be 64 bytes.</t>
            </li>
            <li>
              <t>Only a single nonce value is conveyed. The array notation MUST NOT be used for encoding the nonce value.</t>
            </li>
          </ul>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-challenge-label = 10
cca-realm-challenge-type = bytes .size 64

cca-realm-challenge = (
    cca-realm-challenge-label => cca-realm-challenge-type
)
]]></artwork>
        </section>
        <section anchor="sec-realm-profile-definition-claim">
          <name>Realm Profile Definition</name>
          <t>The Realm profile claim identifies the EAT profile to which the Realm token
conforms. This allows a receiver to assign the intended semantics to the rest of the claims
found in the token.</t>
          <t>The EAT <tt>eat_profile</tt> (claim key 265) is used.</t>
          <t>The format of the CCA platform profile claim is defined as a text string of value
"tag:arm.com,2024:realm#2.0.0".</t>
          <t>This claim is OPTIONAL in a CCA Realm attestation token.
If the Realm profile is not included in a CCA Realm token then the profile value
used in the CCA Platform token should refer to a profile that describes both
Platform and Realm claims.</t>
          <artwork><![CDATA[
cca-realm-profile-label = 265 ; EAT profile

cca-realm-profile-type = "tag:arm.com,2024:realm#2.0.0"

cca-realm-profile = (
    cca-realm-profile-label => cca-realm-profile-type
)
]]></artwork>
        </section>
        <section anchor="sec-realm-personalisation-value-claim">
          <name>Realm Personalisation Value</name>
          <t>The Realm Personalization Value (RPV) claim contains the RPV which was provided
at Realm creation.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-personalization-value-label = 44235
cca-realm-personalization-value-type = bytes .size 64

cca-realm-personalization-value = (
    cca-realm-personalization-value-label =>
        cca-realm-personalization-value-type
)
]]></artwork>
        </section>
        <section anchor="sec-realm-initial-measurement-claim">
          <name>Realm Initial Measurement</name>
          <t>The Realm Initial Measurement claim contains the compound extension of
measurements taken of Realm memory and state before the Realm is activated.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-initial-measurement-label = 44238

cca-realm-initial-measurement = (
    cca-realm-initial-measurement-label => cca-realm-measurement-type
)
]]></artwork>
        </section>
        <section anchor="sec-realm-extensible-measurements-claim">
          <name>Realm Extensible Measurements</name>
          <t>The Realm Extensible Measurements claim contains measurements provided by Realm
guest software and extended to the set of Realm Extensible Measurements
maintained by the RMM.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-extensible-measurements-label = 44239

cca-realm-extensible-measurements = (
    cca-realm-extensible-measurements-label =>
        [ 4*4 cca-realm-measurement-type ]
)
]]></artwork>
        </section>
        <section anchor="sec-realm-hash-algm-id-claim">
          <name>Realm Hash Algorithm Measurements</name>
          <t>The Realm hash algorithm ID claim identifies the algorithm used to calculate
all hash values which are present in the Realm token.</t>
          <t>The string value of the claim SHOULD be encoded according to "Hash Name String"
in the "Named Information Hash Algorithm Registry" <xref target="IANA.named-information"/>.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-hash-algo-id-label = 44236

cca-realm-hash-algo-id = (
    cca-realm-hash-algo-id-label => text
)
]]></artwork>
        </section>
        <section anchor="sec-realm-public-key-claim">
          <name>Realm Public Key</name>
          <t>The Realm public key claim identifies the attestation key which is used to sign the Realm token</t>
          <t>The value of the Realm public key claim is a byte string representation of a COSE_Key.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-public-key-label = 44237

; See RFC8152 for definition of COSE_Key
cca-realm-public-key-type = bstr .cbor COSE_Key

cca-realm-public-key = (
    cca-realm-public-key-label => cca-realm-public-key-type
)
]]></artwork>
        </section>
        <section anchor="sec-realm-public-key-hash-algo-id-claim">
          <name>Realm Public Key Hash Algorithm ID</name>
          <t>The Realm public key hash algorithm identifier claim identifies the algorithm used to
hash the value of the Realm Public Key claim <xref target="sec-realm-public-key-claim"/>
such that it can be presented as a Challenge for the bound CCA Platform token
<xref target="sec-token-binding"/>.</t>
          <t>This claim MUST be present in a CCA Realm state attestation token.</t>
          <artwork><![CDATA[
cca-realm-public-key-hash-algo-id-label = 44240

cca-realm-public-key-hash-algo-id = (
    cca-realm-public-key-hash-algo-id-label => text
)
]]></artwork>
        </section>
      </section>
      <section anchor="sec-backwards-compat">
        <name>Backwards Compatibility Considerations</name>
        <t>This profile conforms to the claims in the Beta release of the 2.0 release of the
Realm Management Monitor specification. <xref target="RMM"/>.</t>
        <t>TODO Backwards compat incl notes 1.1./2.0 with note that 1.0 is theoretical</t>
      </section>
      <section anchor="sec-token-binding">
        <name>Token Binding</name>
        <t>The reference implementation uses a 'Delegated Model' for token signing.
In this model, the completion of signing operations for the CCA token is
delegated from the CCA Platform RoT to the RMM. When the RMM initialises,
it obtains a 'Realm Attestation Token' (RAK) signing key pair from the CCA
Platform RoT. The public part of that key pair is hashed and used as a
challenge to obtain a CCA Platform token (signed by the CCA Platform RoT).
When guest code in a Realm requests a CCA Attestation token, the RMM
prepares a Realm state token, signed by the RAK private key, then wraps
both tokens in a CMW Collection. The two tokens are bound together by
the Nonce claim in the CCA Platform token having the same value as a
hash of the Realm Public key claim in the Realm state token (using the
hash algorithm identified by the Realm Public Key Hash Algorithm ID claim).</t>
        <t>A verifier MUST check this binding is valid when verifying a CCA
Attestation token.</t>
        <t>An implementation may choose instead a 'Direct Model'. In this model,
when guest code in a Realm requests a CCA Attestation token, the RMM
prepares a Realm state claim set, but does not wrap it in a CMW.
Instead, the claim set is hashed and this value is used as a Challenge
to obtain a CCA Platform token, signed by the CCA Platform RoT. The
CCA Platform and Realm state claim set are presented within a CMW Collection
as in the Delegated model. The two parts of the collection are bound
together by the Nonce claim in the CCA Platform token having the same value
as the hash of the Realm state claim set. If the Direct Model is used,
the CCA Platform profile claim <xref target="sec-plat-profile-definition-claim"/> MUST
have a different value from the reference profile. The map value within
the CCA Attestation token CMW Collection for the Realm state claim set
MUST also have a different value to that used for a Realm state CMW
token. In such a profile, the Realm Public Key <xref target="sec-realm-public-key-claim"/>
and Realm Public Key Hash Algorithm ID <xref target="sec-realm-public-key-hash-algo-id-claim"/> claims
will not be used.</t>
      </section>
      <section anchor="sec-reference-profile">
        <name>Reference Profile</name>
        <section anchor="sec-token-encoding-and-signing">
          <name>Token Encoding and Signing</name>
          <t>The CCA attestation token is encoded in CBOR <xref target="STD94"/> format.
The CBOR representation of a CCA attestation token MUST be "valid" according to the definition in <xref section="1.2" sectionFormat="of" target="STD94"/>.
Besides, only definite-length string, arrays, and maps are allowed.</t>
          <t>The CCA reference profile is designed to not emit CBOR preferred serializations (<xref section="4.1" sectionFormat="of" target="STD94"/>).
This profile assumes that the Verifier MUST be a variation-tolerant CBOR decoder.</t>
          <t>Cryptographic protection is obtained by wrapping the CCA Platform and Realm state claims-set each in a COSE
Web Token (CWT) <xref target="RFC8392"/>.  The signature structure MUST be a tagged (18) COSE_Sign1 <xref target="STD96"/>.</t>
          <t>Acknowledging the variety of markets, regulations and use cases in which the
CCA attestation token can be used, the baseline profile does not impose any
strong requirement on the cryptographic algorithms that need to be supported by
Attesters and Verifiers.  The flexibility provided by the COSE format should be
sufficient to deal with the level of cryptographic agility needed to adapt to
specific use cases.  It is RECOMMENDED that commonly adopted algorithms are
used, such as those discussed in <xref target="COSE-ALGS"/>.  It is expected that receivers
will accept a wider range of algorithms, while Attesters would produce CCA tokens
using only one such algorithm.</t>
          <t>The CCA Platform token is always directly signed by the CCA Platform RoT.  Therefore, the CCA Platform
claims-set is never carried in a Detached EAT bundle
(<xref section="5" sectionFormat="of" target="EAT"/>).</t>
        </section>
        <section anchor="freshness-model">
          <name>Freshness Model</name>
          <t>The CCA token supports the freshness models for attestation Evidence based on
nonces and epoch handles (Section <xref target="RFC9334" section="10.2" sectionFormat="bare"/> and Section <xref target="RFC9334" section="10.3" sectionFormat="bare"/> of <xref target="RFC9334"/>) using
the <tt>nonce</tt> claim to convey the nonce or epoch handle supplied by the Verifier.
No further assumption on the specific remote attestation protocol is made.</t>
          <t>Note that use of epoch handles is constrained by the type restrictions imposed by the <tt>eat_nonce</tt> syntax.
For use in CCA tokens, it must be possible to encode the epoch handle as an opaque binary string between 8 and 64 octets.</t>
        </section>
        <section anchor="synopsis">
          <name>Synopsis</name>
          <t><xref target="tbl-baseline-profile"/> presents a concise view of the requirements described in the preceding sections.</t>
          <table anchor="tbl-baseline-profile">
            <name>Baseline Profile</name>
            <thead>
              <tr>
                <th align="left">Issue</th>
                <th align="left">Profile Definition</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">CBOR/JSON</td>
                <td align="left">CBOR MUST be used</td>
              </tr>
              <tr>
                <td align="left">CBOR Encoding</td>
                <td align="left">Definite length maps and arrays MUST be used</td>
              </tr>
              <tr>
                <td align="left">CBOR Encoding</td>
                <td align="left">Definite length strings MUST be used</td>
              </tr>
              <tr>
                <td align="left">CBOR Serialization</td>
                <td align="left">Variant serialization MAY be used</td>
              </tr>
              <tr>
                <td align="left">COSE Protection</td>
                <td align="left">COSE_Sign1 MUST be used</td>
              </tr>
              <tr>
                <td align="left">Algorithms</td>
                <td align="left">
                  <xref target="COSE-ALGS"/> SHOULD be used</td>
              </tr>
              <tr>
                <td align="left">Detached EAT Bundle Usage</td>
                <td align="left">Detached EAT bundles MUST NOT be sent</td>
              </tr>
              <tr>
                <td align="left">Verification Key Identification</td>
                <td align="left">Any identification method listed in <xref section="F.1" sectionFormat="of" target="EAT"/></td>
              </tr>
              <tr>
                <td align="left">Endorsements</td>
                <td align="left">See <xref target="sec-cca-endorsements"/></td>
              </tr>
              <tr>
                <td align="left">Freshness</td>
                <td align="left">nonce or epoch ID based</td>
              </tr>
              <tr>
                <td align="left">Claims</td>
                <td align="left">Those defined in <xref target="sec-cca-claims"/>. As per general EAT rules, the receiver MUST NOT error out on claims it does not understand.</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section anchor="collated-cddl">
      <name>Collated CDDL</name>
      <sourcecode type="cddl"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

cca-token = #6.907(cca-token-cmw)
eat-cwt-coap-cf = 263
cca-token-cmw = {
  0xACCA => [
        eat-cwt-coap-cf,
        bytes .cbor COSE_Sign1<arm-platform-claims>,
],
  0xACD1 => [
        eat-cwt-coap-cf,
        bytes .cbor COSE_Sign1<cca-realm-claims>,
],
}
COSE_Sign1<C> = #6.18([
      Headers,
      payload: bytes .cbor C,
      signature: bytes,
])
cca-realm-claims = cca-realm-claim-map
cca-realm-claim-map = {
  cca-realm-challenge,
  ? cca-realm-profile,
  cca-realm-personalization-value,
  cca-realm-initial-measurement,
  cca-realm-extensible-measurements,
  cca-realm-hash-algo-id,
  cca-realm-public-key,
  cca-realm-public-key-hash-algo-id,
  cca-realm-mec-policy,
}
cca-realm-challenge-label = 10
cca-realm-challenge-type = bytes .size 64
cca-realm-challenge = (cca-realm-challenge-label => cca-realm-\
                                                      challenge-type)
cca-realm-extensible-measurements-label = 44239
cca-realm-extensible-measurements = (cca-realm-extensible-\
               measurements-label => [4*4cca-realm-measurement-type])
cca-realm-hash-algo-id-label = 44236
cca-realm-hash-algo-id = (cca-realm-hash-algo-id-label => text)
cca-realm-initial-measurement-label = 44238
cca-realm-initial-measurement = (cca-realm-initial-measurement-\
                                 label => cca-realm-measurement-type)
cca-realm-measurement-type = bytes .size 32 / bytes .size 48 / \
                                                       bytes .size 64
cca-realm-personalization-value-label = 44235
cca-realm-personalization-value-type = bytes .size 64
cca-realm-personalization-value = (cca-realm-personalization-value-\
                       label => cca-realm-personalization-value-type)
cca-realm-profile-label = 265
cca-realm-profile-type = "tag:arm.com,2024:realm#2.0.0"
cca-realm-profile = (cca-realm-profile-label => cca-realm-profile-\
                                                                type)
cca-realm-public-key-hash-algo-id-label = 44240
cca-realm-public-key-hash-algo-id = (cca-realm-public-key-hash-algo-\
                                                    id-label => text)
cca-realm-public-key-label = 44237
cca-realm-public-key-type = bstr .cbor COSE_Key
cca-realm-public-key = (cca-realm-public-key-label => cca-realm-\
                                                     public-key-type)
cca-realm-mec-policy-label = 44243
cca-realm-mec-policy = (cca-realm-mec-policy-label => "shared" / "\
                                                            private")
label = int / tstr
values = any
COSE_Key = {
  1 => tstr / int,
  ? 2 => bstr,
  ? 3 => tstr / int,
  ? 4 => [+ tstr / int],
  ? 5 => bstr,
  * label => values,
}
arm-platform-claims = arm-platform-claim-map
arm-platform-claim-map = {
  arm-platform-profile,
  arm-platform-challenge,
  arm-platform-implementation-id,
  arm-platform-instance-id,
  arm-platform-config,
  arm-platform-lifecycle,
  arm-platform-sw-components,
  ? arm-platform-verification-service,
  arm-platform-hash-algo-id,
  arm-platform-client-id,
  ? arm-platform-manufacturing-config,
  ? arm-platform-extension,
  ? arm-platform-peer-signers,
  ? arm-platform-tbb-rotpk,
}
arm-platform-challenge-label = 10
arm-platform-challenge = (arm-platform-challenge-label => arm-\
                                                  platform-hash-type)
arm-platform-config-label = 2401
arm-platform-config-type = bytes
arm-platform-config = (arm-platform-config-label => arm-platform-\
                                                         config-type)
arm-platform-hash-algo-id-label = 2402
arm-platform-hash-algo-id = (arm-platform-hash-algo-id-label => text)
arm-platform-hash-type = bytes .size 32 / bytes .size 48 / bytes .\
                                                              size 64
arm-platform-implementation-id-label = 2396
arm-platform-implementation-id-type = bytes .size 32
arm-platform-implementation-id = (arm-platform-implementation-id-\
                        label => arm-platform-implementation-id-type)
arm-platform-instance-id-label = 256
arm-platform-instance-id-type = eat-ueid-rand-type
arm-platform-instance-id = (arm-platform-instance-id-label => arm-\
                                           platform-instance-id-type)
arm-platform-profile-label = 265
arm-platform-profile-type = "tag:arm.com,2024:cca_platform#2.0.0"
arm-platform-profile = (arm-platform-profile-label => arm-platform-\
                                                        profile-type)
arm-platform-lifecycle-label = 2395
arm-platform-lifecycle-unknown-type = 0x0000 .. 0x00ff
arm-platform-lifecycle-assembly-and-test-type = 0x1000 .. 0x10ff
arm-platform-lifecycle-platform-rot-provisioning-type = 0x2000 .. \
                                                               0x20ff
arm-platform-lifecycle-secured-type = 0x3000 .. 0x30ff
arm-platform-lifecycle-non-platform-rot-debug-type = 0x4000 .. 0x40ff
arm-platform-lifecycle-recoverable-platform-rot-debug-type = 0x5000 \
                                                            .. 0x50ff
arm-platform-lifecycle-decommissioned-type = 0x6000 .. 0x60ff
arm-platform-lifecycle-type = arm-platform-lifecycle-unknown-type / \
arm-platform-lifecycle-assembly-and-test-type / arm-platform-\
lifecycle-platform-rot-provisioning-type / arm-platform-lifecycle-\
secured-type / arm-platform-lifecycle-non-platform-rot-debug-type / \
arm-platform-lifecycle-recoverable-platform-rot-debug-type / arm-\
                               platform-lifecycle-decommissioned-type
arm-platform-lifecycle = (arm-platform-lifecycle-label => arm-\
                                             platform-lifecycle-type)
arm-platform-sw-components-label = 2399
arm-platform-sw-component = {
  ? 1 => text,
  2 => arm-platform-hash-type,
  ? 4 => text,
  5 => arm-platform-hash-type,
  ? 6 => text,
}
arm-platform-sw-components = (arm-platform-sw-components-label => [\
                                        + arm-platform-sw-component])
arm-platform-verification-service-label = 2400
arm-platform-verification-service-type = text
arm-platform-verification-service = (arm-platform-verification-\
             service-label => arm-platform-verification-service-type)
arm-platform-client-id-label = 2394
arm-platform-client-id-rmsd = 1
arm-platform-client-id-type = arm-platform-client-id-rmsd
arm-platform-client-id = (arm-platform-client-id-label => arm-\
                                             platform-client-id-type)
arm-platform-manufacturing-config-label = 2403
arm-platform-manufacturing-config-type = bytes
arm-platform-manufacturing-config = (arm-platform-manufacturing-\
              config-label => arm-platform-manufacturing-config-type)
arm-platform-extension-label = 2404
$protocols-support-vca /= "spdm-1.2.0" / "spdm-1.2.1" / "spdm-1.2.2\
" / "spdm-1.2.3" / "spdm-1.3.0" / "spdm-1.3.1" / "spdm-1.3.2" / "\
                                                          spdm-1.4.0"
$type-with-encryption /= "cxl-type-3"
encryption-type = (
  host-side-encryption: 0,
  target-side-encryption: 1,
  no-encryption: 2,
  )
arm-platform-extension-device-common = (
  ? 1 => text,
  2 => arm-platform-hash-type,
  3 => arm-platform-hash-type,
  4 => bool,
  )
arm-platform-extension-device = {
  arm-platform-extension-device-common,
  ((
                    5 => $protocols-support-vca,
                    6 => arm-platform-hash-type,
              ) // 5 => text),
  ((
                    7 => $type-with-encryption,
                    8 => &encryption-type,
              ) // 7 => text),
}
arm-platform-extension = (arm-platform-extension-label => [+ arm-\
                                          platform-extension-device])
arm-platform-peer-signers-label = 2406
arm-platform-peer-signers-type = bytes
arm-platform-peer-signers = (arm-platform-peer-signers-label => arm-\
                                          platform-peer-signers-type)
arm-platform-tbb-rotpk-label = 2405
arm-platform-tbb-rotpk-type = [+ arm-platform-tbb-rotpk-item]
arm-platform-tbb-rotpk-item = {
  1 => tstr,
  2 => int,
  3 => int,
  4 => arm-platform-hash-type,
}
arm-platform-tbb-rotpk = (arm-platform-tbb-rotpk-label => arm-\
                                             platform-tbb-rotpk-type)
eat-ueid-rand-type = bytes .join eat-ueid-rand-fmt
eat-ueid-rand-fmt = [
  ueid-rand-typ,
  bytes .size 32,
]
ueid-rand-typ = h'01'
Headers = (
  protected: empty_or_serialized_map,
  unprotected: header_map,
  )
empty_or_serialized_map = bstr .cbor header_map / bstr .size 0
header_map = {
  Generic_Headers,
  * label => values,
}
Generic_Headers = (
  ? 1 => int / tstr,
  ? 2 => [+ label],
  ? 3 => tstr / int,
  ? 4 => bstr,
  ? (5 => bstr // 6 => bstr),
  )
]]></sourcecode>
    </section>
    <section anchor="sec-signing-keys">
      <name>Signing key implementation alternatives</name>
      <t>In the CCA Platform reference design, PAKs (<xref target="para-pak-intro"/>) are raw public keys.</t>
      <t>Some implementations may choose to use a PAK that is a certified public key. If
this option is taken, the value of the CCA Platform Profile Definition claim
<xref target="sec-plat-profile-definition-claim"/> MUST be altered from the reference implementation
value.</t>
      <t>Where the implementation uses a CPAK that is endorsed via an X.509 certificate chain,
the endorsement artefacts can be included in the COSE_Sign1 envelope of the CCA platform
token using parameters from CBOR Object Signing and Encryption (COSE) Header Parameters
for Carrying and Referencing X.509 Certificates <xref target="COSE-X509"/>. It is recommended that
this is done as follows:</t>
      <ul spacing="normal">
        <li>
          <t>The CPAK certificate is identified by including an x5t thumbprint parameter in the COSE_Sign1 protected header.</t>
        </li>
        <li>
          <t>The CPAK certificate itself is then packaged within an x5chain parameter in the COSE_Sign1 unprotected
header.</t>
        </li>
        <li>
          <t>This x5chain parameter can also include other certificates that endorse the CPAK certificate.</t>
        </li>
      </ul>
      <t>Alternatively, the other certificates in the chain that endorses the CPAK certificate
can be packaged in an additional entry within the RATS Conceptual Messages Wrapper <xref target="CMW"/> token</t>
    </section>
    <section anchor="cca-attestation-token-verification">
      <name>CCA Attestation Token Verification</name>
      <t>To verify the token for the reference profile, the initial need is to check correct
encoding for the token. Primary trust is established by checking the signing of
the CCA Platform token CWT.
The key used for verification is supplied to the Verifier by an
authorized Endorser along with the corresponding Attester's Implementation ID and Instance ID.
For the verifier, this ID information claim is
used to assist locating the key used to verify the signature covering the CCA Platform
CWT token. The verifier can also be supplied with the information that the
key instance has been revoked and is no longer valid.</t>
      <t>If an implementation has chosen to endorsed the CPAK via an X.509 certificate chain,
the ID claims may not be required to verify the CPAK. Instead this is achieved
by forming a full X.509 chain to the trusted Certificate Authority root and
validating that chain.</t>
      <t>Additional validation checks on the token are:</t>
      <ul spacing="normal">
        <li>
          <t>Checking that the binding between the CCA Platform token and the Realm state
token is valid <xref target="sec-token-binding"/>}. This has the side effect of establishing
the trustworthiness of the RAK public key.</t>
        </li>
        <li>
          <t>Validating that the Realm state token is correctly signed by the RAK.</t>
        </li>
        <li>
          <t>Checking that the value of the lll claim is cca-platform-lifecycle-secured state. Note
that some other values of this claim (cca-platform-lifecycle-non-psa-rot-debug and
cca-platform-lifecycle-recoverable-psa-rot states) may indicate that the attester
is only temporarily unsuitable and the verifier may choose the to indicate
this as a contraindication rather than a full verification failure. See discussion
of the CCA platform lifecycle in <xref target="RMM"/>.</t>
        </li>
      </ul>
      <t>The Verifier will typically operate a policy where values of some
of the claims in this profile can be compared to reference values, registered
with the Verifier for a given deployment, in order to confirm that the device
is endorsed by the manufacturer supply chain.  The policy may require that the
relevant claims must have a match to a registered reference value.  All claims
may be worthy of additional appraisal.  It is likely that most deployments
would include a policy with appraisal for the following claims:</t>
      <ul spacing="normal">
        <li>
          <t>Implementation ID - the value of the Implementation ID can be used to
identify the verification requirements of the deployment.</t>
        </li>
        <li>
          <t>Software Component, Measurement Value - this value can uniquely identify a
firmware release from the supply chain. In some cases, a Verifier may
maintain a record for a series of firmware releases, being patches to an
original baseline release. A verification policy may then allow this value to
match any point on that release sequence or expect some minimum level of
maturity related to the sequence.</t>
        </li>
        <li>
          <t>Software Component, Signer ID - where present in a deployment, this could
allow a Verifier to operate a more general policy than that for Measurement
Value as above, by allowing a token to contain any firmware entries signed by
a known Signer ID, without checking for a uniquely registered version.</t>
        </li>
      </ul>
      <section anchor="ar4si-trustworthiness-claims-mappings">
        <name>AR4SI Trustworthiness Claims Mappings</name>
        <t><xref target="RATS-AR4SI"/> defines an information model that Verifiers can employ to
produce Attestation Results.
AR4SI provides a set of standardized appraisal categories and tiers that
greatly simplifies the task of writing Relying Party policies in multi-attester
environments.</t>
        <t>The contents of <xref target="tab-ar4si-map"/> are intended as guidance for implementing a
PSA Verifier that computes its results using AR4SI.
The table describes which PSA Evidence claims (if any) are related to which
AR4SI trustworthiness claim, and therefore what the Verifier must consider when
deciding if and how to appraise a certain feature associated with the PSA
Attester.</t>
        <t>TODO: Ar4SI
TODO: LFA FAL</t>
        <table anchor="tab-ar4si-map">
          <name>AR4SI Claims mappings</name>
          <thead>
            <tr>
              <th align="left">Trustworthiness Vector claims</th>
              <th align="left">Related PSA claims</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>configuration</tt></td>
              <td align="left">Software Components (<xref target="sec-sw-components"/>)</td>
            </tr>
            <tr>
              <td align="left">
                <tt>executables</tt></td>
              <td align="left">ditto</td>
            </tr>
            <tr>
              <td align="left">
                <tt>file-system</tt></td>
              <td align="left">N/A</td>
            </tr>
            <tr>
              <td align="left">
                <tt>hardware</tt></td>
              <td align="left">Implementation ID (<xref target="sec-implementation-id"/>) and CCA Platform config (TODO)</td>
            </tr>
            <tr>
              <td align="left">
                <tt>instance-identity</tt></td>
              <td align="left">Instance ID (<xref target="sec-instance-id-claim"/>).  The Security Lifecycle (<xref target="sec-security-lifecycle"/>) can also impact the derived identity.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>runtime-opaque</tt></td>
              <td align="left">Indirectly derived from <tt>executables</tt>, <tt>hardware</tt>, and <tt>instance-identity</tt>.  The Security Lifecycle (<xref target="sec-security-lifecycle"/>) can also be relevant: for example, any debug state will expose otherwise protected memory.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>sourced-data</tt></td>
              <td align="left">N/A</td>
            </tr>
            <tr>
              <td align="left">
                <tt>storage-opaque</tt></td>
              <td align="left">Indirectly derived from <tt>executables</tt>, <tt>hardware</tt>, and <tt>instance-identity</tt>.</td>
            </tr>
          </tbody>
        </table>
        <t>This document does not prescribe what value must be chosen based on each
possible situation: when assigning specific Trustworthiness Claim values, an
implementation is expected to follow the algorithm described in <xref section="2.3.3" sectionFormat="of" target="RATS-AR4SI"/>.</t>
      </section>
      <section anchor="sec-cca-endorsements">
        <name>Endorsements, Reference Values and Verification Key Material</name>
        <t>The <xref target="CCA-ENDORSEMENTS"/> defines a protocol based on the <xref target="RATS-CoRIM"/> data model
that can be used to convey CCA Endorsements, Reference Values and Verification
Key Material to the Verifier.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t><cref anchor="rfc-ed-note">RFC Editor:</cref> please remove this section before publication.</t>
      <t>Implementations of this specification are provided by the Trusted
Firmware-RMM project <xref target="TF-RMM"/> and the Veraison project <xref target="Veraison"/>.
These implementations are released as open-source software.</t>
    </section>
    <section anchor="sec-security-consideration">
      <name>Security and Privacy Considerations</name>
      <t>This specification re-uses the EAT specification and therefore the CWT specification.
Hence, the security and privacy considerations of those specifications apply here as well.</t>
      <t>Attestation tokens contain information that may be unique to a device and
therefore they may allow singling out an individual device for tracking
purposes.  Deployments that have privacy requirements must take appropriate
measures to ensure that the token is only used to provision anonymous/pseudonym
keys.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TODO: <eref target="https://github.com/SimonFrost-Arm/draft-ffm-rats-cca-token/issues/34">Issue #34</eref> find document centric change controller
TODO: additional top level claims</t>
      <section anchor="cbor-web-token-claims-registration">
        <name>CBOR Web Token Claims Registration</name>
        <t>IANA is requested to make permanent the following claims that have been
assigned via early allocation in the "CBOR Web Token (CWT) Claims" registry
<xref target="IANA-CWT"/>.</t>
        <section anchor="arm-cca-attestation-cmw">
          <name>Arm CCA Attestation CMW</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-cca-attestation-cmw</t>
            </li>
            <li>
              <t>Claim Description: Arm CCA Attestation CMW</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 907</t>
            </li>
            <li>
              <t>Claim Value Type(s): unsigned integer</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-cca-token-collection"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="security-lifecycle-claim">
          <name>Security Lifecycle Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-security-lifecycle</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Security Lifecycle</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2395</t>
            </li>
            <li>
              <t>Claim Value Type(s): unsigned integer</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-security-lifecycle"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="implementation-id-claim">
          <name>Implementation ID Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-implementation-id</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Implementation ID</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2396</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-implementation-id"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="software-components-claim">
          <name>Software Components Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-software-components</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Software Components</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2399</t>
            </li>
            <li>
              <t>Claim Value Type(s): array</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-sw-components"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="verification-service-indicator-claim">
          <name>Verification Service Indicator Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-verification-service-indicator</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Verification Service Indicator</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2400</t>
            </li>
            <li>
              <t>Claim Value Type(s): text string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-verification-service-indicator"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="platform-config-claim">
          <name>Platform Config Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-config</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Configuration</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2401</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-platform-config"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="platform-hash-algorithm-id-claim">
          <name>Platform Hash Algorithm ID Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-hash-algm-id</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Hash Algorithm ID</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2402</t>
            </li>
            <li>
              <t>Claim Value Type(s): text string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-arm-platform-hash-algm-id"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="platform-manufacturing-config">
          <name>Platform Manufacturing Config</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-manufacturing-config</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Manufacturing Config</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2403</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-arm-platform-manufacturing-config"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="platform-extension">
          <name>Platform Extension</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-extension</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Extension</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2404</t>
            </li>
            <li>
              <t>Claim Value Type(s): array</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-arm-platform-extension"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="platform-tbb-rotpk">
          <name>Platform TBB RoTPK</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-tbb-rotpk</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform TBB RoTPK</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2405</t>
            </li>
            <li>
              <t>Claim Value Type(s): array</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-arm-platform-tbb-rotpk"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="platform-peer-signers">
          <name>Platform Peer Signers</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: arm-platform-peer-signers</t>
            </li>
            <li>
              <t>Claim Description: Arm Platform Peer Signers</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 2406</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-arm-platform-tbb-rotpk"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="cca-token-platform-token-label">
          <name>CCA Token Platform Token Label</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-platform-token-label</t>
            </li>
            <li>
              <t>Claim Description: CCA Token Platform Token Label</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44234</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-cca-token-collection"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-personalization-value-claim">
          <name>Realm Personalization Value Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-personalization-value</t>
            </li>
            <li>
              <t>Claim Description: CCA Realm Personalisation Value</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44235</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-personalisation-value-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-hash-algorithm-id-claim">
          <name>Realm Hash Algorithm ID Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-hash-algm-id</t>
            </li>
            <li>
              <t>Claim Description: CCA Realm Hash Algorithm ID</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44236</t>
            </li>
            <li>
              <t>Claim Value Type(s): text string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-hash-algm-id-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-public-key-claim">
          <name>Realm Public Key Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-public-key</t>
            </li>
            <li>
              <t>Claim Description: CCA Realm Public Key</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44237</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-public-key-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-initial-measurement-claim">
          <name>Realm Initial Measurement Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-initial-measurement</t>
            </li>
            <li>
              <t>Claim Description: CCA Realm Initial Measurement</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44238</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-initial-measurement-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-extensible-measurements-claim">
          <name>Realm Extensible Measurements Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-extensible-measurements</t>
            </li>
            <li>
              <t>Claim Description: CCA Realm Extensible Measurements</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44239</t>
            </li>
            <li>
              <t>Claim Value Type(s): array</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-initial-measurement-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="realm-public-key-hash-algorithm-id-claim">
          <name>Realm Public Key Hash Algorithm ID Claim</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-realm-public-key-hash-algm-id</t>
            </li>
            <li>
              <t>Claim Description: Realm Public Key Hash Algorithm ID Claim</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44240</t>
            </li>
            <li>
              <t>Claim Value Type(s): text string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-realm-public-key-hash-algo-id-claim"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="cca-token-delegated-realm-token-label">
          <name>CCA Token Delegated Realm Token Label</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: cca-platform-delegated-realm-label</t>
            </li>
            <li>
              <t>Claim Description: CCA Token Platform Token Label</t>
            </li>
            <li>
              <t>JWT Claim Name: N/A</t>
            </li>
            <li>
              <t>Claim Key: 44241</t>
            </li>
            <li>
              <t>Claim Value Type(s): byte string</t>
            </li>
            <li>
              <t>Change Controller: TBD</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-cca-token-collection"/> of RFCthis</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="sec-iana-media-types">
        <name>Media Types</name>
        <t>No new media type registration is requested.
To indicate that the transmitted content is a CCA attestation token,
applications can use the <tt>application/eat+cwt</tt> media type defined in
<xref target="EAT-MEDIATYPES"/> with the <tt>eat_profile</tt> parameter set to
<tt>tag:arm.com,2023:cca_platform#1.0.0</tt>.</t>
      </section>
      <section anchor="sec-iana-coap-content-format">
        <name>CoAP Content-Formats Registration</name>
        <t>IANA is requested to register a CoAP Content-Format ID in the "CoAP
Content-Formats" registry <xref target="IANA-CoAP-Content-Formats"/>:</t>
        <ul spacing="normal">
          <li>
            <t>A registration for the <tt>application/eat+cwt</tt> media type with the <tt>eat_profile</tt> parameter
equal to "tag:arm.com,2023:cca_platform#1.0.0"</t>
          </li>
        </ul>
        <t>The Content-Formats should be allocated from the Expert review range (0-255).</t>
        <section anchor="registry-contents">
          <name>Registry Contents</name>
          <ul spacing="normal">
            <li>
              <t>Media Type: `application/eat+cwt; eat_profile="tag:arm.com,2023:cca_platform#1.0.0"</t>
            </li>
            <li>
              <t>Encoding: -</t>
            </li>
            <li>
              <t>Id: To-be-assigned by IANA</t>
            </li>
            <li>
              <t>Reference: RFCthis</t>
            </li>
            <li>
              <t>Media Type: `application/eat+cwt; eat_profile="tag:arm.com,2023:realm#1.0.0"</t>
            </li>
            <li>
              <t>Encoding: -</t>
            </li>
            <li>
              <t>Id: To-be-assigned by IANA</t>
            </li>
            <li>
              <t>Reference: RFCthis</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="CCA-ARCH" target="https://developer.arm.com/documentation/den0125/400">
          <front>
            <title>Learn the architecture - Introducing Arm Confidential Compute Architecture</title>
            <author>
              <organization>Arm</organization>
            </author>
            <date year="2025" month="March" day="19"/>
          </front>
        </reference>
        <reference anchor="RMM" target="https://developer.arm.com/documentation/den0137/2-0bet0">
          <front>
            <title>Realm Management Monitor specification 2.0</title>
            <author>
              <organization>Arm</organization>
            </author>
            <date year="2026" month="February" day="03"/>
          </front>
        </reference>
        <reference anchor="RME" target="https://developer.arm.com/documentation/den0126/0102">
          <front>
            <title>Learn the architecture - Realm Management Extension</title>
            <author>
              <organization>Arm</organization>
            </author>
            <date year="2025" month="September" day="26"/>
          </front>
        </reference>
        <reference anchor="RME-SYSARCH" target="https://developer.arm.com/documentation/den0129/ca">
          <front>
            <title>Arm Realm Management Extension (RME) System Architecture</title>
            <author>
              <organization>Arm</organization>
            </author>
            <date year="2025" month="December" day="15"/>
          </front>
        </reference>
        <reference anchor="TBB" target="https://trustedfirmware-a.readthedocs.io/en/stable/design/trusted-board-boot.html">
          <front>
            <title>Trusted Board Boot</title>
            <author>
              <organization>Arm</organization>
            </author>
            <date year="2024" month="December" day="30"/>
          </front>
        </reference>
        <reference anchor="STD94">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="STD96">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="COSE-ALGS">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="IANA-CWT" target="https://www.iana.org/assignments/cwt/cwt.xhtml#claims-registry">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="EAT">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Mediatek USA</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="6" month="September" year="2024"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine the type
   and degree of trust placed in the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-31"/>
        </reference>
        <reference anchor="EAT-MEDIATYPES">
          <front>
            <title>EAT Media Types</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer Institute for Secure Information Technology</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="3" month="November" year="2024"/>
            <abstract>
              <t>   Payloads used in Remote Attestation Procedures may require an
   associated media type for their conveyance, for example when used in
   RESTful APIs.

   This memo defines media types to be used for Entity Attestation
   Tokens (EAT).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-media-type-12"/>
        </reference>
        <reference anchor="CMW">
          <front>
            <title>RATS Conceptual Messages Wrapper (CMW)</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Independent</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Dionna Glaze" initials="D." surname="Glaze">
              <organization>Google LLC</organization>
            </author>
            <date day="11" month="December" year="2025"/>
            <abstract>
              <t>   The Conceptual Messages introduced by the RATS architecture (RFC
   9334) are protocol-agnostic data units that are conveyed between RATS
   roles during remote attestation procedures.  Conceptual Messages
   describe the meaning and function of such data units within RATS data
   flows without specifying a wire format, encoding, transport
   mechanism, or processing details.  The initial set of Conceptual
   Messages is defined in Section 8 of RFC 9334 and includes Evidence,
   Attestation Results, Endorsements, Reference Values, and Appraisal
   Policies.

   This document introduces the Conceptual Message Wrapper (CMW) that
   provides a common structure to encapsulate these messages.  It
   defines a dedicated CBOR tag, corresponding JSON Web Token (JWT) and
   CBOR Web Token (CWT) claims, and an X.509 extension.

   This allows CMWs to be used in CBOR-based protocols, web APIs using
   JWTs and CWTs, and PKIX artifacts like X.509 certificates.
   Additionally, the draft defines a media type and a CoAP content
   format to transport CMWs over protocols like HTTP, MIME, and CoAP.

   The goal is to improve the interoperability and flexibility of remote
   attestation protocols.  Introducing a shared message format such as
   CMW enables consistent support for different attestation message
   types, evolving message serialization formats without breaking
   compatibility, and avoiding the need to redefine how messages are
   handled within each protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-23"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="IANA.named-information" target="https://www.iana.org/assignments/named-information">
          <front>
            <title>Named Information</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.kdyxy-rats-tdx-eat-profile">
          <front>
            <title>EAT profile for Intel(r) Trust Domain Extensions (TDX) attestation result</title>
            <author fullname="Greg Kostal" initials="G." surname="Kostal">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Sindhuri Dittakavi" initials="S." surname="Dittakavi">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Raghuram Yeluri" initials="R." surname="Yeluri">
              <organization>Intel</organization>
            </author>
            <author fullname="Haidong Xia" initials="H." surname="Xia">
              <organization>Intel</organization>
            </author>
            <author fullname="Jerry Yu" initials="J." surname="Yu">
              <organization>Intel</organization>
            </author>
            <date day="13" month="December" year="2024"/>
            <abstract>
              <t>   Intel® Trust Domain Extensions (TDX) introduce architectural elements
   designed for the deployment of hardware-isolated virtual machines
   (VMs) known as trust domains (TDs).  TDX is designed to provide a
   secure and isolated environment for running sensitive workloads or
   applications.  This Entity Attestation Token (EAT) profile outlines
   claims for an Intel TDX attestation result which facilitate the
   establishment of trust between a relying party and the environment.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-kdyxy-rats-tdx-eat-profile-02"/>
        </reference>
        <reference anchor="I-D.mandyam-rats-qwestoken">
          <front>
            <title>The Qualcomm Wireless Edge Services (QWES) Attestation Token</title>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Vivek Sekhar" initials="V." surname="Sekhar">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Shahid Mohammed" initials="S." surname="Mohammed">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <date day="1" month="November" year="2019"/>
            <abstract>
              <t>   An attestation format based on the Entity Attestation Token (EAT) is
   described.  The Qualcomm Wireless Edge Services (QWES) token is used
   in the context of device onboarding and authentication.  It is
   verified in the same manner as any CBOR Web Token (CWT).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mandyam-rats-qwestoken-00"/>
        </reference>
        <reference anchor="COSE-X509">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9360"/>
          <seriesInfo name="DOI" value="10.17487/RFC9360"/>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="IANA-CoAP-Content-Formats" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>CoAP Content-Formats</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="TF-RMM" target="https://www.trustedfirmware.org/projects/tf-rmm">
          <front>
            <title>Trusted Firmware-RMM</title>
            <author>
              <organization>Trusted Firmware Project</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="Veraison" target="https://github.com/veraison/ccatoken">
          <front>
            <title>Veraison ccatoken package</title>
            <author>
              <organization>The Veraison Project</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="RATS-CoRIM">
          <front>
            <title>Concise Reference Integrity Manifest</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>arm</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Independent</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   Remote Attestation Procedures (RATS) enable Relying Parties to assess
   the trustworthiness of a remote Attester and therefore to decide
   whether or not to engage in secure interactions with it.  Evidence
   about trustworthiness can be rather complex and it is deemed
   unrealistic that every Relying Party is capable of the appraisal of
   Evidence.  Therefore that burden is typically offloaded to a
   Verifier.  In order to conduct Evidence appraisal, a Verifier
   requires not only fresh Evidence from an Attester, but also trusted
   Endorsements and Reference Values from Endorsers and Reference Value
   Providers, such as manufacturers, distributors, or device owners.
   This document specifies the information elements for representing
   Endorsements and Reference Values in CBOR format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-09"/>
        </reference>
        <reference anchor="RATS-AR4SI">
          <front>
            <title>Attestation Results for Secure Interactions</title>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Hardjono" initials="T." surname="Hardjono">
              <organization>MIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Vincent Scarlata" initials="V." surname="Scarlata">
              <organization>Intel</organization>
            </author>
            <date day="15" month="August" year="2025"/>
            <abstract>
              <t>   This document defines reusable Attestation Result information
   elements.  When these elements are offered to Relying Parties as
   Evidence, different aspects of Attester trustworthiness can be
   evaluated.  Additionally, where the Relying Party is interfacing with
   a heterogeneous mix of Attesting Environment and Verifier types,
   consistent policies can be applied to subsequent information exchange
   between each Attester and the Relying Party.

   This document also defines two serialisations of the proposed
   information model, utilising CBOR and JSON.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-09"/>
        </reference>
        <reference anchor="CCA-ENDORSEMENTS">
          <front>
            <title>A CoRIM Profile for Arm's Confidential Computing Architecture (CCA) Endorsements</title>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>Arm Ltd</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="5" month="January" year="2026"/>
            <abstract>
              <t>   Arm Confidential Computing Architecture (CCA) Endorsements comprise
   reference values and cryptographic key material that a Verifier needs
   to appraise Attestation Evidence produced by an Arm CCA system.

   This memo defines CCA Endorsements as a profile of the CoRIM data
   model.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/yogeshbdeshpande/draft-cca-rats-endorsements.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ydb-rats-cca-endorsements-03"/>
        </reference>
      </references>
    </references>
    <?line 1941?>

<section anchor="examples">
      <name>Examples</name>
      <t>The following examples show CCA attestation tokens for an hypothetical system
comprising a single number of software component.
The attesting device is in a lifecycle state (<xref target="sec-security-lifecycle"/>) of
SECURED.</t>
      <section anchor="delegated-mode">
        <name>Delegated Mode</name>
        <t>The following sample claim set and token are representative of a CCA Token using "delegated mode" described in <xref target="delegated"/>.</t>
        <t>In this model, the <tt>eat_nonce</tt> claim in the Platform token contains a hash of the RAK public key claim in the Realm token.</t>
        <section anchor="platform-claims-set">
          <name>Platform Claims Set</name>
          <t>The CCA Platform claims set is</t>
          <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  265:"tag:arm.com,2024:cca_platform#2.0.0",
  10:h'\
   0D22E08A98469058486318283489BDB36F09DBEFEB1864DF433FA6E54EA2D711',
  2396:h'\
   7F454C4602010100000000000000000003003E00010000005058000000000000',
  256:h'\
 0107060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A1918',
  2401:h'CFCFCFCF',
  2395:12291,
  2402:"sha-256",
  2400:"https://veraison.example/.well-known/veraison/verification",
  2394: 1,
  2399:[
    {
      1:"RSE_BL1_2",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   9A271F2A916B0B6EE6CECB2426F0B3206EF074578BE55D9BC94F6F3FE3AB86AA',
      6:"sha-256"
    },
    {
      1:"RSE_BL2",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   53C234E5E8472B6AC51C1AE1CAB3FE06FAD053BEB8EBFD8977B010655BFDD3C3',
      6:"sha-256"
    },
    {
      1:"RSE_S",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   1121CFCCD5913F0A63FEC40A6FFD44EA64F9DC135C66634BA001D10BCF4302A2',
      6:"sha-256"
    },
    {
      1:"AP_BL1",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   1571B5EC78BD68512BF7830BB6A2A44B2047C7DF57BCE79EB8A1C0E5BEA0A501',
      6:"sha-256"
    },
    {
      1:"AP_BL2",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   10159BAF262B43A92D95DB59DAE1F72C645127301661E0A3CE4E38B295A97C58',
      6:"sha-256"
    },
    {
      1:"SCP_BL1",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   10122E856B3FCD49F063636317476149CB730A1AA1CFAAD818552B72F56D6F68',
      6:"sha-256"
    },
    {
      1:"SCP_BL2",
      5:h'\
   F14B4987904BCB5814E4459A057ED4D20F58A633152288A761214DCD28780B56',
      2:h'\
   AA67A169B0BBA217AA0AA88A65346920C84C42447C36BA5F7EA65F422C1FE5D8',
      6:"sha-256"
    },
    {
      1:"AP_BL31",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   2E6D31A5983A91251BFAE5AEFA1C0A19D8BA3CF601D0E8A706B4CFA9661A6B8A',
      6:"sha-256"
    },
    {
      1:"RMM",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   A1FB50E6C86FAE1679EF3351296FD6713411A08CF8DD1790A4FD05FAE8688164',
      6:"sha-256"
    },
    {
      1:"HW_CONFIG",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   1A252402972F6057FA53CC172B52B9FFCA698E18311FACD0F3B06ECAAEF79E17',
      6:"sha-256"
    },
    {
      1:"FW_CONFIG",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   9A92ADBC0CEE38EF658C71CE1B1BF8C65668F166BFB213644C895CCB1AD07A25',
      6:"sha-256"
    },
    {
      1:"TB_FW_CONFIG",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   238903180CC104EC2C5D8B3F20C5BC61B389EC0A967DF8CC208CDC7CD454174F',
      6:"sha-256"
    },
    {
      1:"SOC_FW_CONFIG",
      5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
      2:h'\
   E6C21E8D260FE71882DEBDB339D2402A2CA7648529BC2303F48649BCE0380017',
      6:"sha-256"
    }
  ]
}
]]></sourcecode>
        </section>
        <section anchor="realm-claims-set">
          <name>Realm Claims Set</name>
          <t>The CCA Realm claims set is</t>
          <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
    265: "tag:arm.com,2024:realm#2.0.0", / eat_profile /
    10: h'\
6E86D6D97CC713BC6DD43DBCE491A6B40311C027A8BF85A39DA63E9CE44C132A8A11\
9D296FAE6A6999E9BF3E4471B0CE01245D889424C31E89793B3B1D6B1504', / \
                                                          eat_nonce /
    44236: "sha-256", / Realm hash algorithm /
    44240: "sha-256", / RAK hash algorithm /
    44235: h'\
54686520717569636B2062726F776E20666F78206A756D7073206F76657220313320\
6C617A7920646F67732E54686520717569636B2062726F776E20666F7820', / PV /
    44237: << { / RAK /
        1: 2, / kty=EC2 /
        -1: 2, / crv=P-384 /
        -2: h'\
76F988091BE585ED41801AECFAB858548C63057E16B0E676120BBD0D2F9C29E056C5\
                      D41A0130EB9C21517899DC23146B', / x-coordinate /
        -3: h'\
28E1B062BD3EA4B315FD219F1CBB528CB6E74CA49BE16773734F61A1CA61031B2BBF\
                       3D918F2F94FFC4228E50919544AE' / y-coordinate /
    } >>,
    44238: h'\
311314AB73620350CF758834AE5C65D9E8C2DC7FEBE6E7D9654BBE864E300D49', \
                                                              / RIM /
    44239: [
        h'\
24D5B0A296CC05CBD8068C5067C5BD473B770DDA6AE082FE3BA30ABE3F9A6AB1', \
                                                           / REM[0] /
        h'\
788FC090BFC6B8ED903152BA8414E73DAF5B8C7BB1E79AD502AB0699B659ED16', \
                                                           / REM[1] /
        h'\
DAC46A58415DC3A00D7A741852008E9CAE64F52D03B9F76D76F4B3644FEFC416', \
                                                           / REM[2] /
        h'\
32C6AFC627E55585C03155359F331A0E225F6840DB947DD96EFAB81BE2671939'  \
                                                           / REM[3] /
    ],
    44243: "private"  / MEC policy /
}
]]></sourcecode>
        </section>
        <section anchor="platform-attestation-key">
          <name>Platform Attestation Key</name>
          <t>The COSE Key representation of the Platform Attestation Key (PAK) used for creating the COSE Sign1 signature over the CCA Platform token is</t>
          <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  / kty /  1: 2,  / EC2 /
  / crv / -1: 2,  / P-384 /
  / x-coordinate / -2: h'\
212867C52E2B9508B0A420A90560F394D2DFAA21BDD7514FF1A901AFE7E1F78BB11D\
                                       4E66F8A8A38AFA76AF6A31C4DE8C',
  / y-coordinate / -3: h'\
84CE2DAFC9964258B53FAD718774F45620D111B176E8318E1187DB0235A318D37BA5\
                                       97FEE80E0E4C762A12BCB3EA6ED4',
  / private key /  -4: h'\
8AC090C995869F61AC1358F02B021A26AB6EB386203AC735D7CE9855538B91F74C44\
                                        B0D580243EFB799A293DCBAA0899'
}
]]></sourcecode>
        </section>
        <section anchor="realm-attestation-key">
          <name>Realm Attestation Key</name>
          <t>The COSE Key representation of the Realm Attestation Key (RAK) used for creating the COSE Sign1 signature over the CCA Realm token is</t>
          <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  / kty /  1: 2,  / EC2 /
  / crv / -1: 2,  / P-384 /
  / x-coordinate / -2: h'\
76F988091BE585ED41801AECFAB858548C63057E16B0E676120BBD0D2F9C29E056C5\
                                       D41A0130EB9C21517899DC23146B',
  / y-coordinate / -3: h'\
28E1B062BD3EA4B315FD219F1CBB528CB6E74CA49BE16773734F61A1CA61031B2BBF\
                                       3D918F2F94FFC4228E50919544AE',
  / private key /  -4: h'\
2011C7F03CEE4325176E524F033C0CE1E21A76E6C1A4F0B839AA1DF61E0E8A5C8A05\
                                        740F9B69EFA7EB1A4185BD117F68'
}
]]></sourcecode>
        </section>
        <section anchor="signed-and-bound-assembly">
          <name>Signed and Bound Assembly</name>
          <t>The resulting CMW collection is</t>
          <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

907({
  44234: [
    263,
    << 18([
      h'A1013822',
      {},
      << {
        265:"tag:arm.com,2024:cca_platform#2.0.0",
        10:h'\
   0D22E08A98469058486318283489BDB36F09DBEFEB1864DF433FA6E54EA2D711',
        2396:h'\
   7F454C4602010100000000000000000003003E00010000005058000000000000',
        256:h'\
 0107060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A1918',
        2401:h'CFCFCFCF',
        2395:12291,
        2402:"sha-256",
        2394: 1,
        2400:"https://veraison.example/.well-known/veraison/\
                                                       verification",
        2399:[
          {
            1:"RSE_BL1_2",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   9A271F2A916B0B6EE6CECB2426F0B3206EF074578BE55D9BC94F6F3FE3AB86AA',
            6:"sha-256"
          },
          {
            1:"RSE_BL2",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   53C234E5E8472B6AC51C1AE1CAB3FE06FAD053BEB8EBFD8977B010655BFDD3C3',
            6:"sha-256"
          },
          {
            1:"RSE_S",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   1121CFCCD5913F0A63FEC40A6FFD44EA64F9DC135C66634BA001D10BCF4302A2',
            6:"sha-256"
          },
          {
            1:"AP_BL1",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   1571B5EC78BD68512BF7830BB6A2A44B2047C7DF57BCE79EB8A1C0E5BEA0A501',
            6:"sha-256"
          },
          {
            1:"AP_BL2",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   10159BAF262B43A92D95DB59DAE1F72C645127301661E0A3CE4E38B295A97C58',
            6:"sha-256"
          },
          {
            1:"SCP_BL1",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   10122E856B3FCD49F063636317476149CB730A1AA1CFAAD818552B72F56D6F68',
            6:"sha-256"
          },
          {
            1:"SCP_BL2",
            5:h'\
   F14B4987904BCB5814E4459A057ED4D20F58A633152288A761214DCD28780B56',
            2:h'\
   AA67A169B0BBA217AA0AA88A65346920C84C42447C36BA5F7EA65F422C1FE5D8',
            6:"sha-256"
          },
          {
            1:"AP_BL31",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   2E6D31A5983A91251BFAE5AEFA1C0A19D8BA3CF601D0E8A706B4CFA9661A6B8A',
            6:"sha-256"
          },
          {
            1:"RMM",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   A1FB50E6C86FAE1679EF3351296FD6713411A08CF8DD1790A4FD05FAE8688164',
            6:"sha-256"
          },
          {
            1:"HW_CONFIG",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   1A252402972F6057FA53CC172B52B9FFCA698E18311FACD0F3B06ECAAEF79E17',
            6:"sha-256"
          },
          {
            1:"FW_CONFIG",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   9A92ADBC0CEE38EF658C71CE1B1BF8C65668F166BFB213644C895CCB1AD07A25',
            6:"sha-256"
          },
          {
            1:"TB_FW_CONFIG",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   238903180CC104EC2C5D8B3F20C5BC61B389EC0A967DF8CC208CDC7CD454174F',
            6:"sha-256"
          },
          {
            1:"SOC_FW_CONFIG",
            5:h'\
   5378796307535DF3EC8D8B15A2E2DC5641419C3D3060CFE32238C0FA973F7AA3',
            2:h'\
   E6C21E8D260FE71882DEBDB339D2402A2CA7648529BC2303F48649BCE0380017',
            6:"sha-256"
          }
        ]
      } >>,
      h'\
31D04D52CCDE952C1E32CBA181885A40B8CC38E0528C1E89589807642AA5E3F2BC37\
F95374506BFF4D2E4BE7063C4D72419270C722E8D4D93EE8B6C9FACE3B43C9761A49\
            941AB6F38FFDFF496AD463B4CBFA11D83E23E31F7F62329DE30C1CC8'
    ]) >>
  ],

  44241: [
    263,
    << 18([
      h'A1013822',
      {},
      << {
        265:"tag:arm.com,2024:realm#2.0.0",
        10:h'\
6E86D6D97CC713BC6DD43DBCE491A6B40311C027A8BF85A39DA63E9CE44C132A8A11\
       9D296FAE6A6999E9BF3E4471B0CE01245D889424C31E89793B3B1D6B1504',
        44236:"sha-256",
        44240:"sha-256",
        44235:h'\
54686520717569636B2062726F776E20666F78206A756D7073206F76657220313320\
       6C617A7920646F67732E54686520717569636B2062726F776E20666F7820',
        44237:h'\
A40102200221583076F988091BE585ED41801AECFAB858548C63057E16B0E676120B\
BD0D2F9C29E056C5D41A0130EB9C21517899DC23146B22583028E1B062BD3EA4B315\
FD219F1CBB528CB6E74CA49BE16773734F61A1CA61031B2BBF3D918F2F94FFC4228E\
                                                         50919544AE',
        44238:h'\
   311314AB73620350CF758834AE5C65D9E8C2DC7FEBE6E7D9654BBE864E300D49',
        44239:[
          h'\
   24D5B0A296CC05CBD8068C5067C5BD473B770DDA6AE082FE3BA30ABE3F9A6AB1',
          h'\
   788FC090BFC6B8ED903152BA8414E73DAF5B8C7BB1E79AD502AB0699B659ED16',
          h'\
   DAC46A58415DC3A00D7A741852008E9CAE64F52D03B9F76D76F4B3644FEFC416',
          h'\
    32C6AFC627E55585C03155359F331A0E225F6840DB947DD96EFAB81BE2671939'
        ],
        44243: "private"  / MEC policy /
      } >>,
      h'\
580B1DEA32D30AC6884C86B39CBE0FCB03BD00DF5103F9BAB01386A46A3BA8143E27\
ED6D4EB0D0A2724ABDF9640C09462FACE6DF186909DFA6EB131E3A7918276077ACDA\
            B8A8BDECA6B0EAAFAB66E1439C1371F4FB1D6AAC047481B5DC75DD46'
    ]) >>
  ]
})
]]></artwork>
          <t>which has the following base16 encoding:</t>
          <artwork><![CDATA[
d9038ba219acca821901075905f2d28444a1013822a0590585aa19010978
237461673a61726d2e636f6d2c323032343a6363615f706c6174666f726d
23322e302e300a58200d22e08a98469058486318283489bdb36f09dbefeb
1864df433fa6e54ea2d71119095c58207f454c4602010100000000000000
000003003e00010000005058000000000000190100582101070605040302
01000f0e0d0c0b0a090817161514131211101f1e1d1c1b1a191819096144
cfcfcfcf19095b193003190962677368612d32353619095a01190960783a
68747470733a2f2f7665726169736f6e2e6578616d706c652f2e77656c6c
2d6b6e6f776e2f7665726169736f6e2f766572696669636174696f6e1909
5f8da401695253455f424c315f320558205378796307535df3ec8d8b15a2
e2dc5641419c3d3060cfe32238c0fa973f7aa30258209a271f2a916b0b6e
e6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa06677368612d
323536a401675253455f424c320558205378796307535df3ec8d8b15a2e2
dc5641419c3d3060cfe32238c0fa973f7aa302582053c234e5e8472b6ac5
1c1ae1cab3fe06fad053beb8ebfd8977b010655bfdd3c306677368612d32
3536a401655253455f530558205378796307535df3ec8d8b15a2e2dc5641
419c3d3060cfe32238c0fa973f7aa30258201121cfccd5913f0a63fec40a
6ffd44ea64f9dc135c66634ba001d10bcf4302a206677368612d323536a4
016641505f424c310558205378796307535df3ec8d8b15a2e2dc5641419c
3d3060cfe32238c0fa973f7aa30258201571b5ec78bd68512bf7830bb6a2
a44b2047c7df57bce79eb8a1c0e5bea0a50106677368612d323536a40166
41505f424c320558205378796307535df3ec8d8b15a2e2dc5641419c3d30
60cfe32238c0fa973f7aa302582010159baf262b43a92d95db59dae1f72c
645127301661e0a3ce4e38b295a97c5806677368612d323536a401675343
505f424c310558205378796307535df3ec8d8b15a2e2dc5641419c3d3060
cfe32238c0fa973f7aa302582010122e856b3fcd49f063636317476149cb
730a1aa1cfaad818552b72f56d6f6806677368612d323536a40167534350
5f424c32055820f14b4987904bcb5814e4459a057ed4d20f58a633152288
a761214dcd28780b56025820aa67a169b0bba217aa0aa88a65346920c84c
42447c36ba5f7ea65f422c1fe5d806677368612d323536a4016741505f42
4c33310558205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe3
2238c0fa973f7aa30258202e6d31a5983a91251bfae5aefa1c0a19d8ba3c
f601d0e8a706b4cfa9661a6b8a06677368612d323536a40163524d4d0558
205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa97
3f7aa3025820a1fb50e6c86fae1679ef3351296fd6713411a08cf8dd1790
a4fd05fae868816406677368612d323536a4016948575f434f4e46494705
58205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0fa
973f7aa30258201a252402972f6057fa53cc172b52b9ffca698e18311fac
d0f3b06ecaaef79e1706677368612d323536a4016946575f434f4e464947
0558205378796307535df3ec8d8b15a2e2dc5641419c3d3060cfe32238c0
fa973f7aa30258209a92adbc0cee38ef658c71ce1b1bf8c65668f166bfb2
13644c895ccb1ad07a2506677368612d323536a4016c54425f46575f434f
4e4649470558205378796307535df3ec8d8b15a2e2dc5641419c3d3060cf
e32238c0fa973f7aa3025820238903180cc104ec2c5d8b3f20c5bc61b389
ec0a967df8cc208cdc7cd454174f06677368612d323536a4016d534f435f
46575f434f4e4649470558205378796307535df3ec8d8b15a2e2dc564141
9c3d3060cfe32238c0fa973f7aa3025820e6c21e8d260fe71882debdb339
d2402a2ca7648529bc2303f48649bce038001706677368612d3235365860
31d04d52ccde952c1e32cba181885a40b8cc38e0528c1e89589807642aa5
e3f2bc37f95374506bff4d2e4be7063c4d72419270c722e8d4d93ee8b6c9
face3b43c9761a49941ab6f38ffdff496ad463b4cbfa11d83e23e31f7f62
329de30c1cc819acd182190107590259d28444a1013822a05901eca91901
09781c7461673a61726d2e636f6d2c323032343a7265616c6d23322e302e
300a58406e86d6d97cc713bc6dd43dbce491a6b40311c027a8bf85a39da6
3e9ce44c132a8a119d296fae6a6999e9bf3e4471b0ce01245d889424c31e
89793b3b1d6b150419accc677368612d32353619acd0677368612d323536
19accb584054686520717569636b2062726f776e20666f78206a756d7073
206f766572203133206c617a7920646f67732e54686520717569636b2062
726f776e20666f782019accd586ba40102200221583076f988091be585ed
41801aecfab858548c63057e16b0e676120bbd0d2f9c29e056c5d41a0130
eb9c21517899dc23146b22583028e1b062bd3ea4b315fd219f1cbb528cb6
e74ca49be16773734f61a1ca61031b2bbf3d918f2f94ffc4228e50919544
ae19acce5820311314ab73620350cf758834ae5c65d9e8c2dc7febe6e7d9
654bbe864e300d4919accf84582024d5b0a296cc05cbd8068c5067c5bd47
3b770dda6ae082fe3ba30abe3f9a6ab15820788fc090bfc6b8ed903152ba
8414e73daf5b8c7bb1e79ad502ab0699b659ed165820dac46a58415dc3a0
0d7a741852008e9cae64f52d03b9f76d76f4b3644fefc416582032c6afc6
27e55585c03155359f331a0e225f6840db947dd96efab81be267193919ac
d367707269766174655860580b1dea32d30ac6884c86b39cbe0fcb03bd00
df5103f9bab01386a46a3ba8143e27ed6d4eb0d0a2724abdf9640c09462f
ace6df186909dfa6eb131e3a7918276077acdab8a8bdeca6b0eaafab66e1
439c1371f4fb1d6aac047481b5dc75dd46
]]></artwork>
        </section>
      </section>
      <section anchor="direct-mode">
        <name>Direct Mode</name>
        <t>The following sample claim sets and the resulting CCA Token are representative of a CCA Token using "direct mode" (<xref target="direct"/>).</t>
        <t>In "direct mode" the <tt>eat_nonce</tt> claim in the Platform token contains a hash of the Realm claims set, which includes verifier-provided challenge data.</t>
        <t>TODO</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="Y." surname="Deshpande" fullname="Yogesh Deshpande">
        <organization>Arm Limited</organization>
        <address>
          <email>Yogesh.Deshpande@arm.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Trofimov" fullname="Sergei Trofimov">
        <organization>Arm Limited</organization>
        <address>
          <email>Sergei.Trofimov@arm.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+2923bbSJYo+I6vwCjPOpYqRQp3kqrK7Oa10qesTB9Lldm1
qvJkggAooUwSbIKSrLbVa35j3uZb5lPmS2ZfIgKBG0Xbss+atVrd5ZTIQGDH
jn2PHXt3Oh3j7tx0DWOX7pbJuXk03K5e5OY4Wy/SOFnv0nAJf6w2t7vEHG6j
m3SXRLvbbWK+SRbJNllH8PFul+S7cJdma/Mqe5usj4xwPt8mMO/ReDzcPzLO
onW4ghfH23Cx6ywWq8423OWdKAo7OxzSsVwjCnfJdbZ9ODfT9SIz8tv5Ks1z
mOXqYZPgh3GySdYIrmGkm+25udve5jvHsgaWY4TbJARIjoz7bPv2epvdbuiv
t8kDfBCfmy/Xu2S7TnadCUJgGADgOv4tXGZrmPohyQ1jk54bprldREmc7x6W
4mPT3GWR9mtKAMgP8my72yaLXP39sCr9udumkRocZasVPKu+3SXvdp1lmu86
8Ng8W8IXnewP3xpGeLu7ybYATcc0GW2X6QqQOdtm+Q4eNM1sex2u0/8gHJ/D
jq3MV+kKNi2mb5NVmC7FQ1166F/D7aoL79emvLrJVmFuzrI8h2kaZn2VrsNt
pk+4o0e6C37kX5c0oAtPadP+Od2m5gXg9iFcNUx6kcQpbPNb2I9In/oaHotv
wm13xY/+6zV+TiBH2RrQOL/dlVHyt+w6yW/MCfyzgWeSw/HCT3bVkw3IuUy2
10lqXm2zBSDx7iNwTg925YNqamOdbVfw6F2CRAb80hm+Gf9wTo+q7TbFa2h2
+lOw66sk3K4B/YkZ6szZQareZvEtUOU1QfQkQ/OsIQAJZHmz223y87OzOLlL
ltkm2XYFuGfAr7dIq7RY+H5t2Y5/5lkWPR/DDp6bjuX4wLYdewAfvrm4OHQx
b5JwuUISCa8TfId5ka1T2Fwz3yRRukgjlhxO1/p0YN3emdOx5smuAnDQsRwU
NQjw9LOxX1vJ9N0uWaPE+gw0B2eWDfKsiudBxwkY7M7l3y4/hniQLtohNY9h
yhPz8iHfJavnIpXBWRRWV2A7HduHD69Go0Mhv0L5nsTmKAu3+G+2a4Rpx8MW
6XZ1D2qgE3ZBF8SwXwBa3k2zs2R9BuJ+vkwAvDy9XssnOnOcGP7Ndt2b3WpZ
BtlDkF0koMurycBjQDvnZjTPtvT7d0DLs3F/4A3EmKAYk+WJNmZg+bij458u
p53hqz9fyg+REF8Ofxx2xr9ctSIFB+hYGY9+emP+ksxZt5rH8OyJOV6G6Spv
RM/9/X03hZ1HQX0W5ogAUkNn0f0O/9d9h2v/JqIZOtvkGjTS9qGMC4R+OrwC
YDqTbprsFqy+k3DHX3QuppOXw6u/vZ5eNozprFDqd3agxhELF7/wGLYFipGr
/Lpzvw03Bqh3MAA0eYmj38YP7x544C5+R9NuUMou1QihOnjMv9+DDYIIOpeI
/zffGjDi3QB3lX5zaV95D7Lha/gH7IT1rjOj1+eHbwo8bFYe/sjdyIB0N+EW
9A9YKnkd/1ezzj4pK5llJtjAfL3N/gmc3MRQcgxO2Aplha0I4A3PmZ/hnq1W
dSB/TrZhmmfrdjBBjMpBTSCq78A0pP0zN2H0FsRWI5zX6e7mdk5y6E48eCYf
rAP3Znh1CTv85uVFlUgB+elKjhi+8S5fVkeEWy9Pheqe/jj56c3l9GL649Wl
TsoP8bwwa8FSzbY5SVswLlEl7x4QE5fTVzMwTYH6djdpfmQYnU7HDOfAcyFg
wkD8HKTJgfHHwxMzzc082aZJbmYLEwyomPYeOAFs08UO/wBmWmd3JJ5z0GLh
zkzWNyEZ6tvV//t//l8wwe1mA4asCTzX9F40LvCrJSL/FOwxAqaTrkmF3CUm
mtzLLIzzLphjd2mUiPekq82S1Q06CFEIe0nWCsBXuAgGbVZugi0K0jkCSw8I
NEV9C0tbJavs1Ly/SaMbE9eFSnge5vANAkQUCi+Hoeskxyly+A+9MFsYOLYR
i8n6Lt1mxHZdYCt8j1Ri0gahFSQEdg1UtOpveQsIzWD5wfygaXjzKs+Y/Ay8
IzSFvMKdwtmnRBN1d8k8Bol60jUIsrJRJDGUA04AwSyzCTO3OaMNkFx7u3Gd
rIE7kPPnD7wXgIoliCFYMCn+/NS8ye4RqjyRswKjEWmFy/Q/4Mldhl8b9+k2
OaWFiwce6PXR9mGzy65BesNehcvlAy4WKTWJCS+wEiXTszVshsI4fLO5nYMb
BPoaiQAWoHl6ZuEFIgRAUdvsDkkaZCSaIeE8XSIS70EQmOzU6kZa13xJb1hn
O8A/+XxoSoAxboSCGHdyO15Or2ZdZsdVGsfLxDC+UQY2bf9HM+f799LSf3xk
EsiTXYlR378H8+vx0UCESklLH17AE6W9hy2agyTkPQzNrXK3FZfxjr9/z4oC
nofV4GYjygDaHHZdAzuqcwO8AvcOXkH2IvxJbIyMO0/M+AF8I95cA/7JIklQ
iLwfcWuXKAmWSBk5cBYiKwXLHl+G5Eh0H/LUTEEC8ZtluEPSMAB6ZvUUZNS7
JALwCCR6PVM1kFOJYRCQe2ZWtnGzeyB1JJWETD4gK4PEBIuURL5+nsAbE0YN
EhfKuHD9APsTbZNdTrQm1sDzxlnCZHQTgsTbZUCCN8AcO5qU37DYZiuBjHUH
JkI6uAGbZwuvAGnFSyNvFnx9nN4whiC2b3fgSEuZl5AKKtMSkAObKo+PiDex
flilkKZEV2BHwBxRBtvHxArIZaNQbCJQEIgbRKk5RXJA0gnn8HaAJBeKtSwa
y5JxAb+AeMVNQjDhQSAfSVtEB9vk328BsLxABKOOJUe73wceyMWJuSq+QNLM
1vzSLazYqMtTsSZQ+rz5isDoC34VkpiU4q8FjQmpKqAHtb9NcnhXTDuu8JKu
daTjRKckmkz2H+A/EVHN6R4t8fESH94J/3l87AIB7RJeCTyFegb+l+GvcsIc
txcGm+FdmC7RtTkFSYlKModZ9pvLvCAxrNlmBkIzEPWw4SxZ43RB4mZHH0Vh
jkS3pl0vvirtUhLdrLNldg2qFOj8MkW0SmRJjY96A8gS6ItmypFTkJxhd3LY
CRofk0FxKhCRkn4AQ+k2XBrrhNUSzIVsUtUJXY756VoCn+D3hnEMO486k+ad
PxhCtaIgwPcm7+AtoB1BrL4r63m5mfpyWWWSVIOJFulaTnMfPpS1Kr4caCxD
nsFp9yvO2e2Wtj1OdrDP8Oo1YixKNsBlybuNWMIcXPJ7KScX2e06Lkm7Bp4z
ymaF3bWk0mGhhGPhi0IqSQP1tLDLlGhAQr8jcxdgkgEQyfQozXSNzJK/ppK7
qGxBrd7xi5m6JoRJ+pt171uwNjCcm5tHF3+9vDo65f+aP/5Ev7+Z/s+/vnwz
neDvlz8MX71SvxhixOUPP/311aT4rXhy/NMF2PMTfhg+NUsfGUcXw78dMexH
P72+evnTj8NXR8pMVUKSbNQMt4GoETZoR1aNUTJtR+PX/8//bXuA8v8DhIxj
2wPgSf6jb/dQ4tzfJGuhI9dAEvwnGltGuNkk4ZYsvSUo8XCT7sJlTuIpB4ts
TfTcNf70L6hUzE7wL98bjDsAB8hP6o5TII3lA1Lp63C7ezhFvwvtXvhCl05v
kvx2CZt+xephWqgHOQ6n0D4mmKUcxaC8SezA69Zkatf8hWxWVp8Amnm0TaIE
vIntEWKQzBv8RQcTZAkZShJWlCyVaQrldsrHEjXVIXdRCaIj3qsIfKLrBETp
Q1fD11GOdijAhM8oxasZ3OUnzVfp2+Q+zeHt9xXADAk1v/6O/hL8JyRfAyTG
+3PzLgcXOPnuyDp6NN5kV+fGufkmy8iOJIeetdAKWAVNMGFhSu/vtOwUgj8c
sma5CXMmVQMNyDQC9/vBFD6/5HppmZmdQv6uMzU3ePTa7LD3QOZguIOniFHC
wniktT4ohVaGnmT6LXyMwpUE6O16lcWIKrD1zOEaRTGauMJ8zK5A06UUzjPY
Y4WNvM9ulzFZiah4syWapoaMdoALwV6Oyco+T+FZelSap6skRBUibOBlukii
h2gprAqjsExOTTafQZUgMnXaksqLPMqk0GXaoq8MZYnjy8lChPfziYLUKria
ROcnYiEpPECS/CAQ3pmiPxXBh5c80YN5/MP08gT2Kk8S/JCmHXldu+vj7ORq
yOAxCXrSDp1f0GYnoiJlQX+eFk5DKAF9EEYWrnxz85CjupJ61NwiyfJi5ZPA
qsKKRzj0NeHqf76QQYJc7ZhuQZM7ga+6ZEOaPIucWVPY0EsKTEinaXu7Jq1b
0nzsj0RkM0QIJyqu7YMcxK8xeBQwA3kTIEdhPqCmWzRsYEOP2X0FAZuuwNgi
sSRpa6oWqAvB46vp9ASURq7BDnIHli0/Agm1BEfiqHsitgE3oIC7EW+nwvwh
D7RCJp/mqP2Ajpph/PhLB39DEGp+3CmL4lxa8YoY4mwVAhqlrSbIF4iBzjzR
hwQuPzXE9uFOaluSC+9i97ARVg/uKczH1jy+WHedyP66lX8+GAWzITkI8Hmb
xXrpEWZchCm73aK7w1+S37hmshBDMLKRRzdJfLuU0S62tyXZGS8rqv5UuB0y
FATrJ9lahGxYjIJNA75CYk7wy8KgMV8Bw9ziq4/Hk8mrE6n+A9si1vyGdlgp
nAuwF5ekx4U3sLvPzLcp+i3o52lDz8EgB03KihgeSq5DMiXh0XSrW2LIXlti
W2HDlQQNaWueSfkLajb0Q1GUoogBQY9qagToKs9XBP9C82gZPiTIU8KJB316
/P69FFFu18FVKNvghH0OssBRJ8FS6fn8vFBICNEW6UlE3Z5wLlOmq1224ama
jZeu8VJ6MYreCxVBgiPiED/Cm4TgbwkPVwgyEbRAqw1WTbEXAfApRRcEZ5b0
TcmF5umu0Y020UcgcyeMUxE0S8qOe8nxFZEVgQ/QBKAOpG6uqQqFkXm224HM
3YMUFX6NdhSklUpKbYWyAEDDNWGQkYL6mq16ikJdAwGy58QIVV7Vkdw4pdUm
JGiOJBzgSS5vYxGghc0l0/c+AWNYACdV9GnlTSREijBBeRVCHukRFbajhNuG
Y6RPp8cT1JYIvC8yVCEUTdJDOGC1LymonCHGb/RhksVXyOIoaf7zP//TDMP8
7locm+z96XbUT/eQ8R+0Xw8br8zWA8d/3PwvCvhfHDKefv6XoS279adLMBBA
3doXNaDFyA/S1amupmGkrvG/rU5MI0HKk9yTT5SnupqWPuInVAwKqEs+xlLB
LkDS38aPvdYEIz/2ogOjvlXIrb7yQzGzUXwk3+UU79LHayMbp28cKSY2u12F
n30jXxSzyolbRuI/Yw54ylBnMZK2/IOJ/3TkP2UikCNpprvyP2Ui0Ed2S3OY
JSIojZSoLK24QEBppKa3zG+rkBJryIFCOPIcOvPjlHIU6zz9TaNXufxDjSrD
ozNi+6jqIuSoQnPsg6uOq/Hsz3kZLh0Q3P1muEAGmNUfxQI86kXDtpcpSyMo
xXVlqjLLZLcQmJejJM2VRyk4FDUVz+CobgWQCkFJslDKu/7zoRilNPveUUqX
8k95t9Qodh/VT3m3JPQvmiEXu0Wj9gwpxqKaw+DGN6Ch6bxcWZcdpRIpJeC7
I928PTIfwTj+xpywkfv+G2GjsvYtmeNSVQt7WNnS6Mstl7cYzxShjqufJj91
FBw0XAEhTf9EzkN6+lRaH2YEVuiuwWAgk3CbYIiW/bMmU41PeEvPwQc3IZ+F
0vEFR2pu6Jg0pGivMKvQwsO4oDx2ecI6oVfJmYQNxQfG/GayuYVb3DqFFhFS
pij5xXT4dJs3wqDHE/+SPIDD83r4lxPttFwxn7C+Yrb/qzinY6FtmuvnXXgE
QpkAOmh8/kKW89q8XTcM3YpzqbcYVsWUo43ExfjiFzy1vfgFvJ7iMI3Xnq6B
ZDrFp+YcHDAKOeQiQC8dJ3CSRVqzGEI+Hcf11NEDuDN/f5nnt4n5jR38etyQ
0kIJvJS/2wGf/6wtd/osxVnyMzs4Yd6QnITsoXy2fRyiHtjDJO/ft3MqLU+y
iZqswil4ekhnjRilho28Q27AiL48cx7+BTQX7UyFZE6Q5ungDecSjLKFt2xj
SXEaE+huEM4Jr9iE6ZZ3CV4r6EvQOrCROOaFoegUgQubL5Iteqt4vAg0IYOi
uH9rjGtmck2tPMH8pXhLBDfA2mcWFLjHV1LuQ4RAMhhfh8HSdWWfNOZCfztP
MBNtB769xmn5Kfi1SY3f0LXlYEmJvb4iY6H8PhepR3ygahjECZgyar4GlCeF
V9x8bJHmteCwhEegXEtfEXFzJd1FpEd3iuVp35rjisDuK5wXJlrhcouzZrFN
FxhLQ3AxjwpPYUQEkDxEEzNUO7t0lZzK0EFe5B3Qsb/M05rDWs3jq/HoRBFZ
EdU1O2baTbqnJr1ESzhRB+65OjQHkLMoDXl23Y3ehA+U6wWT8bEoHZ7jujTF
hFF6PgfLwVxF/IgQL1g4l0miCRMpQigLl3az7P+mHVAFhTmu8CStFHibUbVW
6OcVIVJZMxh+L5tGbX8VzmXZemz4qwsW0TLLNma6f0plPcm/xS4eMjYrGbBP
zFv+9h5svuTAsVpI6omxJdv1ezH2RQkv+3D24tBtqBqIJUppsg01dj8ywyXI
re+OImRPZTW+uV0TG+kyYX/ksMKIWzEB8CEQIgesS8E89NobbT1MRMOAs8g3
4TNOkS9D+lucfojxIvOlIa9kC3L7LhSnKFq2y/zBzOYIEeuZkoao58/IkxZD
citH5lZzmboA85IV1pRPKPUZCVGpW7bJQohLPtBgFPAJ5jeoTTqb8C0mjW6z
RyWM4c2fgOFqxg9pOUPJXpB+p0IFS+FdOdJrjgCKHQL9fw/EJHcH813pTEAl
NYEtA7sn1AMhjjWDFPpFVhG9PmNsFodneCwcGgeocN3sWZnHebPgBIwhwh4f
QeX/wDmZJj6uGzxpXkkT7MgEkLaAI+5O8cNxIv0DIJnih7mHha2MF5aiedVA
Winu9VEjC+/6qZGFlnhq5CVtDX/zJvn3rh5KqML5Qc0hMre+eYM7tW/kn8qu
77e1kXdqzudaO8N2yJzN3zSOJFLs1rRQw8j7M1NGGJ8YSYT6QugRXJ8EvR3O
Suzk+89YUeWbImD31EidYp56e/W/zzGyiWI+b0XNFPN5+GymmMaRjRTTOBKd
JkUxzwTnJ41EAc5Y2z/yW51WP+LtrfaPEPg4VZMVVDZyjnBY3RgatieQa7pR
Dwfox5RFjrk6qhYX0BBgdNIQYKEOHw0Z54oqdxg0b56dBXWJgaYsIKxZIN3q
WThmmkaU/RRx/mAlnFWbAU+wQdwoDU3TGPU8NzNh3OTnhvEH86rqe/P9CvGN
ZvfIL6544gIuVP6U5dWh96N7VWAgJcMQIEBvmtxEjHStr8FukQu8XWPiOPtQ
iGiZj9HBTFrYH/bSwMlGO2mV0aE+5Y4KRzOcZ3eJnoFb+LACD8LwweQHxmHI
5+aU0zXm7NNbgOQiyXNMYPiF3Hywl8G5P9F8e+nud9EZxySHUo6DiVfvr0Wk
L3m3E2SxYSylOdMCgMT5g3zaTqgy9OsheA6P2bSAJJF5VRyt0jvx0uFxfkJL
3SY0qZ60bDD2z8kKMsLtqiPtwQ5GaujOovkdPIIx3m6e/kdiuo551n5UqY/0
+oeODDx6P/ooBd/pCeLFDnBUZVviNA6JFKh/NJ5nsy9+adxPzsFSn6/CDWcT
3mMu9g4voxWRotDEzGG1Sbp0eV0L2JLrVMSSWp6tsZlI2MStktMD5AgKXgxa
Ls27EH6TjkPtcZPJid6AN1CI/YxyLBOeLcWiJYHiXZx1RYKySW38kaA4brvl
eiJPmdC1U5sItPZN0B1YvWNtX1f3JwZOV79jSos6ouwCTmw6S8Ldt9H97sjA
jH/4Bagi3HSiBUzsBK5hlKaFD98DgVrvhrgf331v/p1rGZQfNTRqxcvPdJ32
t0tQKfafShzDvPQ9jP9VzDqxP2lWBJKCiKUpH5lHJJNUyEcoIPoWA8pb7ZPK
Az+iEFMMpMBf48f8RhEtp4EihquJpCjcbvEOVnSDL8KYvq4cSasxBCS+Vnjz
BoOp4EIm+Q3dVBRkWtzL07QanVSIqyDm7wTU7+YxA4Hhcts6kcBgNE3drMDH
1hrAGaUvmuCVv0vndP1hQVQsJV/bdQ2R4l++fFZksJREbMRrS/GOqxQpDDJJ
zt+V0kQ0gaSnbH1Q9ElKTO46pyAkKTEy8JgYuvDAT5jzrjQfr+kuXN5SLDzC
SwIPuHaScNtt+IB3CXgd8jaAMiZwyUp+IHTabJg9TkZETSBVLCI6ucBBxckK
S2W0b3FilgmN4Wk6/zAYerHrOlWReMK85fLBAImo13w0gPEAuaMKVB5xqZka
/HbmGj5U6AC1CHJ+lJcweSK5DfJ0Uplc7RGjboOGVPTfWYZzQMB3QJtGyxD4
8pjvhO+d4XuzWQcbJ4bSkMJIe0l5XiqHvpXbX67xkglg/OVE8XwqPuukcYnh
tbECVSrIzxQA5te/38ocM0qLEpsiX2fUQjl8GCMZ+/fbJI1L/Oz4AQfrUX+9
Gf440bj7qpXbkB8fFMvhpPs5znUL/qJZ022+o4/UEOudZZvHCMGJeGkh0Fyn
Q2Pb1z/8iwgloTDvxGl4TSqIINuCbq+YUv/MgOjKAxarnWHUPoJHUH/8kW10
nIMAARwhvPBN6Q2GWbHVjF8NozQC5rt5YdmcgPAFmEInLckWsMWwANx+BMVo
f0DgqI649meaGasBiu/bR1Q4rMpAZWmos1E5ppjKU+baEwLFTD1At4p+RMpm
kwdaipCytC+J0dJ5W9sbOSXeULaa2XTvBtlIpI2z1Scu29XfY1Qg5ZA9ZulT
sYctarJVuL5dhHTIvgVPDW9lyhnVvaG9oMRYAGSFTs9OT7jf0FVGugSFp5P4
a/E0wHObNxrXNdu0QKQWupZ34CccNY6EMUNWsL4gk8zyDV7Gim7xLkQFjugG
3tU1Z3QXkK7tnIqJjYju6OzCt4kwIrYrPiCR9/C52IC5vl3Nk+2pgen0dJz5
ckIWAvsFIPcAD1s8mdSk0HOoN/3SLcbLyyS6B6en4i6jhhXJXCD3sxrVs8sg
RpzSbZ1do+5hlV7XVY+NcqfKi4X0cQcofl5fDquMBrvyxByN/m9VGFWfahFJ
bQB+r3zkA4BpMATYCmrV/6/FHezi8kXJ9JfXojux+r5kEpTEjLzPLVyCMomg
fJcDgI05Xb0mqdhawzN1+EvegxFlDLCsA1+CFFkDMueFaq0gSxa3kJUDnyvu
ZWfJKN0ArjoWv4Nu+U1AWTZDAr/wK2Qyuy4b9iEiV9c86Zo8BXTwIhA77SRt
jKNdeH0uqoadYn2tc3DzfpMzfuN0ra519ByMXATHsGDGfbiNscDPahPu0Bzn
1A4tVpaL2xRqsMmDU740blCICiC4SzMQsVhxgB5qkrUN56yEwiZ+lWSnuDTw
hY0gvjGaxwuOPAibzVM0s2cFnu+bvxUsKB3xb4rU0lfyiFVxlwpNFqevgqfq
DzVb2zCKKgu0H98aRWEHkd8WsnGoJ+eIIA38joeU8rJOnLLLHubC2uUQ7yr8
Z7b9x99t/7z/j1/NTnmDlTKuQMQ3//+Al3Dx4d65Rc++vHj9ispEDfHGuDmZ
zl7+OJ2ok/FaNLkyKxsMjXl4amSHR6JOGKJzC4w4v72+hrElfpV+JnKQvq/a
PHRRL5bA1dIiKvdx+D10I3F5Hz4gwqkcB9eiQMuC7uSiAbHlWivzpLYpzZDA
KoqPt9muw69iwOhaobixqUDQ3s1Xr/D0Wtz5VaDUATBaANCmKwEiQfgJX4FQ
aq+hO80ElqHAus1v6W4jDm1Gz+EwFb+BdZatRE0kuV/G83gybfeO9ly3abh1
9EGm4g057Y0vS1+homq4E1TKFi+f7T51I0i+6Mlhr7LobZzdr58YeFf7fu89
o/rS+VBQccprvbpQw9r1pdduBOxffG2y0rs+tEHesFsSNwR+7Uiy5W2ln7vq
NYenHqvBVr6R9eFNwStG8yN0nnwpJBb+fFuaSr24spwXVTS/MPWB8rEfs3V1
JcWvfPFEA5Ee0//mnzcXQJ0oCPQZSEqIj+kx7W/5M11rs5QWUAKyvlUfGn99
8rG7ysjS522PafthIlK75Y+/LSitdmlI1yxb+fUHgYv2N9KfGqrUg/Kz9k1v
3PMXiudetKKm7af5VVWy7jY9oUPzPZLxFfn6nE7yrZYq1Mz/tcV8nJT4iG/r
whB/6qzbOAx3paSlmt9VuylUvhZUNXL0dAelygoTkvzA/EgamXT8q5Qr67pU
Vsmhkkld4/37XTgXs3dW4ebxsSh8waGPzQYEag7jd/dJ0m59qbxpKgJA5wFN
Rr+mzwvn3BfOufrSaHvodv12DdBLH8B6Z8FPt4v/XSzaHhLJ5w8diiWCFi4e
t8Xj9p7HS5aYXi+vmMYR0zh7phHmZfGQKx5y9zzUbAkWc3hiDm/PHG3GXHUu
X8zl75mrbHoVzwbi2QCfbXuYR9cdr5btPds3smVP9z7zxEbufba0e3tH7tuy
vQ8esk97J2jYnLa9aPaAa8z5fdv3pUDU7wfs5u+y4hlLnz1u3B+x+KXmBpPj
ehcuU1m8gNzXFRZOwvmyCDaGDXx2REDqfGDR96EmGjGnn+Vs7To0fATPHbaU
JnG/7+lmYv1de7rRU2ifcD8l/65mrYYBNQN5z+w6rTcvVlme+6bZwwilpWOx
UN16LAHNts2+1xzANr+TdfXpr2hgrN8rCKlpe1ThZdUqlXeNKC+Ejj165IiS
goyq7F7X8zT4PpLZFJ8VX7EbXE40lNdsb7I8qWbsmBnnnRmN9wKGxIX6cUaO
lsGDds1PS16TwSlKocIJVa0sUUJG1HdMi2q3RXJlt31NdOopYqqqWFJlGaU7
ahzmMuq5KTfpRtZrVFYLO+z8qYhJUz2bDVWipHK4vFijkgEiwh/F4ZS4p1Cq
NcaZJ3wIdkJRttfJtvN6eIm5GVgAkxpRYEFDeEyWpOaYFSaopZSjwWjCtzyc
wAwX0zH++3pqviJMIyX+wXxlmcfAecmJ/Ns2j7V3YDVF9ZVT+orKUmKIkOrj
yDEugLXepcBmsB/0XlzYZChrposPxtontIMwGGPKOGk5fa1cCBuR3BwkxDqc
5as3d7IQC+gQDB1xJmkxlbqgUrk2JKO+RZFKTheb8zFFw/nrDs+s4mRLxTnp
KLYlkAnMREXuVmGciKtPWJo9TZZxV2sIRfH/XBVyjii+vk7lOeg83a3C/K06
HsMrRHy0IW46IVo1zmrk9i+T4EIvKGx1z7KFra5goIpXT1eu+aN5NZqc491v
xC52jzBFpw3epKbX6mdv1bQaXnlzTk0J6O8bvywZMIdJ3eIUGBXtHhlcGliW
yLpdQ0HbLRUB3xQl1jc3qrawvKYLM+C3QC0xT1k+k8ZPYAKq7scpnsRi8vz1
4wDE0tAbUWwrrdbwkjndNTJpQo1ONK5xwPg9u92I+sa93wdJyzFrKzDaMY95
KSt+vqQKvajG9PNW9fVYXSQuToHuO9r1YnkAVH+g2IHQxKZoehFT/YKyKKOO
Qm6xwOYhSA7z5Ca8S7Nt48W+Z5AMU8w+54Rica7atAICu7A6MAW6vgKjuMUP
b6LGZkmt9UVJw97O5e2Brmn+db1ESgfNLGq2GmRixZxmwauK+ObpungBolWW
LcZSDbuydkdToZbGzPpXAiZKuYknVG+RolS7EPLavQuheLpYGSLPVlU1g0WL
G/BDlhUd0DINhOX75wZXWWRPR6VsnNbah5SL5qMuoTLCmKMhksKL2pMiA8PY
UrVjVd97s8GOMiAJlHiRGlbVREvXRR7LWk/bN2TlZID6hg8dG2qrlO/iCspD
MMEO22QpViS8kudn9VUIl1I30spqWxGpUWUzICRMN0lCoJuUiGEhsuPV0jDP
+SaJ3rJAZeYJr9HqZJZTlec1Rf8z0wBViGWr0ywu1JZxdXSTXt+wkXxUypmU
iGM+R2KgnCpK8lUWN90T2KbXKQrq9lU2yOqSONKjcAOh2RtkjtE+hcig/xeT
Et0x7+G0UfsXD4guWKbptGe7nsIT+oV8TqDA13j7XyOyE2h+f//8VNcDdiWm
eYP981Jycri8BpzvbrTEl63xuAc5ebOSatyC782/m9+2jzN/1fMTvymkrnlF
cR5S8qXPNOF3/DZ5+M4+ER1YbrDVkXCklEGi6shkVGiaDdk6Kch0HV2uqtyc
heiYQCkwIAR3yEM3yXJD/KLMd41HqYVOZia4vzL7sGRxNKiPGl1I/VYCqm7F
vG6fsyuQeqFNTawsapNUP66i1jkpW3Z6KnspYaNhOQCf8ItFnWy6uggy6T7M
ZfFV7D/ECaC1xYsUCalYqNo3ZV2J2QrXw6BK+nj34J3YL10058lOSzEVs4q3
i1sf1inAX0yKSwZKEhcWNQEmUi2MH45Ny/zwwfzhuL7sk5Ou+bIhrUr4kLn5
CvtqqVZuQyy0K936ZF0AYbQBgQKTOtXM8dRiIdpIqKWD31UqqgD7c7uJ+Ywl
a9kq7KfBfIH9P041TIjd1TeHApRzGpDGsv40WvxrrkBV1G0S8PNMbBtpXq2h
lGMZGZQ8lF3r2azSsgvLPTUUNWIS9pzqT22R/TPw27Z13nnaPmznn5+F9CWg
xB9VXvFU6V1R9UNNJ2R3YQAKXWlo2XSKC9Z6QEEIMy0LT4R6GvhNhHieTWZc
shp5ORGGvfyzum7/pDX7W2iiVhkhikSVr3uUiodzSEH0EJs/0JZLCuPZX+R6
pS2NaiQOC3CJf4saHrLxWcn6V7YHeE/pAuPV0n6qqgoR9FBZ34ZuYInONaXn
sJjxNpFltzh1rTDxZEsDKmj+vNSri/lJEc+s6wDty+ouBydFbDJUdFnEdQiT
FWNC3aoTDckYG3oJlZoCkk0WaH5DtHKZa411IgwtiLvdRz/g+34MVxhxxgeO
5C4e4YcxiLUiiEZjhwq2N6Ib6hHeXcaoTRf7Q8cdTULxHfhq0nFlHu3ORN0i
A1SsirsTldraJVSpzPC0mmXL0V7FV2yh11EcLjE/fSe9OaENSqpAuzRfDnyo
DEt64Wci3XgGpB+MrVauqC2w+RI4TllKqPcs5xPjgIdFA9thaLaom6Bkc779
Vs94mSIu2igzoq9byDKSzzYnwld7RJAOL9Lh61nSaOvJm+ix1mxBRBDY1iD7
jU9CWXRLkbsfNL054J501uM3F5eTk8bzl8qMn0FNCqm64+kJUkIip04/1Viv
emi7ypEAMAb91Hpa52jLQii/pe3xlohzdVnVoHPp7TKuWKPIi1JcthKHfjJm
+dyhaHNfKNr4pFC05l+oQyHZQkwEWLa1wxhh0jVR5v5Atoz3/Vcgu43gpqpb
XSOVqWZ2TaSlvqyLwFqwunDEQOIXtTdK83HpO6rrI7rd8H370iVBqgzNtKXK
w3LRv6J5UpbrxiQfI2odtLhLpBaPIlMiym64h6PwxY/HF9OLE3EsfMjqP4nc
1Cw6jXlY6gLPyLMI26Ry7TzRoPpnmPVYOFadcbjhvo6Apk5hPaxEWRrskwiW
zpowd2L8NzVlR8zWuYtC8+w78yjfxKuO3XXwwswhw+zDhjmHDXMPGeYeBpt7
GGzuYbB5dIPojzI5AFkpF+fxXGNSuqjFKbrx33BUBw8BOtrZOk4avVsSN3Zg
wUbxnRQXLAOw8VMHr2ZpT5+bFn3HLWrr39r07Torfeig4dNCbLwejC2usrV6
dVsId1/w88kwLk8gEFgys5N3ohx4nF6DdqGp3KenKq7bYiIH3cMpnqfg8DzL
lpUg7h+xozY9k8vyNqx0Xk+mP3N1i5eT6ZMYE7HuithtwSsNPFaS+hiAoGTx
n6kiP4IsUzti+qJkOlPouplAT3lB8rtTM+led8vspM8UPIXSAkeXrycXGnhq
Gs4FMc/OikWsMxqI7WRbwSfvrPmnAL/ykpMq1krT9ggrTQxWITReHSOmYLvS
XH2c679X2FDDiE4yGiOrw4t2xFRGtyKpp1yUKg6qRwqFsmk0FWpapOEooUbK
v5YuMZYTBRNgD45j5c2GwQZGdDiulD+qwvfJXSIb8dW9Ej7PpEDr6na5S1Eb
4zRYSFWaCVQdYC3zclT/cjM0RCWcUr9JUXomEe0ouUi4yaVz+UhvnaAlKktf
VQr5cuC1qAiP5YPX4ugDTQiCC9O+5J11jJwixCRCtonWohBjzVjpG8+pwYdb
Y9M20UxPdJ6r3B3GdQv01YsryYPDWqoUVcOTpyhN5nDzvE/bJVcybZ/oVRnu
aoZKbYlJcdNZa4uNhzp8OEu1z7V6ShhvLvWZ5yIJfMawTN9yA72GC8IalekG
UlC91auP22N86+NargA3vLF6D7j6slbj+mo0Mt/8dPX6L808tJvPMU118/ZR
VmGqJyA0XTwXV3XpC9mEc5SF25jr/Zb7Wr9/D1CIGkxFDQ8K8MqT5DzBrNhl
sUMwXxEp1pR9iUsFrWo8KrQxgoxQNZC9Qshz0jyg0SQ0fpYhrjZDpzPfaBsk
iKwmZYsRmJ8BMrZtAvpaWhNsduW7bVUhswIbXxxR49TJxVFhb6Xr6kH1H7FB
IR6aMYqpLlhhVDWNxzKS71R/c364eMxrNxz4cT5Wmv8TU5CqGkuttJnPauj+
vu37MoeJ5IxKwaurUraQ1mYes0T21Fs8Flki4np2vkO2kOXcT4w5pq+mK3mG
rSpT5HptdT0hhUrHyc49hoiDaGUbxQTltslaG4xvqgu8FCVxXrIlkhU1L3Wn
uCMq53RSOexRHcDtmUsPpNNZfVGXp5xls8sM2VK2uWKPDENy1E+rU9QYpDf0
A6Fy3SE54bE62MKcn7++eSWkmjxAUU2XSVknzVANX7886ZrDcpt3zq26yVDB
o26/XmcytVqWVjUX4R3n0XG9HU0aqbqWGK1semmZCRo3SZMv1gHDhaQhM/Hp
4c3ctg+OllBSKywqnM4ZdGGe365kAp1IWS4naG22SUfmr8nGVkV+ozjOM5qQ
KVuxiJnLfVKxlxcSbY2YsrfG7aY4Qot2aNV1zb+ieYLWeZRuo9sVRyRzPqWv
w43Zfts0eguQURFiOtLjM3vqqEWXgbiVwVqeSDYSYS6LUxrbZHe7XasOU3qq
Fy4Cc7uoFMIype65IrfvnM9QaanCW8wb4EUNGm7zREdUUxExyaJFzczyPDLL
jOtkbDJs0pULQ0S0gTIAcTcZHd6qrvbkw6c7rD4NHBVinSwywVXZSIJfKJoc
j8TuQclgestOVIHYYRM56hBcY7rS9Q06Ct4lWzx5JpBPjUpTXJCtIWzctqMe
Q8u2yXJo3LC0Lh6fMieovLMqylovrqurqeYR6sS4vXVevS63Icu4FKc74jlx
jFQ7amKPRygafqJcCJZrZ/5XFdjWKrDPXAT2f0/J14OSwXUibbspohUpbqqD
2vR1QzW1wDOahipVtuct3zd+WXXKRC3Z9iJoomTs/ipoPMunlT97U3Rb/K+6
Z1ipizDeWPCsUd4y/hrI8KVeLVhCJrLCyy0+i2lY5KosQvkUgyr7L7R4DOLi
GfVlYNdU7TeK3uLmA/Y4V5W5yFDgl/NGyWhHQb0H1EKrD24thKajt+HBBtaq
1T5rflsDW4FsxZS5NOeN4azZCmeVx3QI1Q3Mpeb6D20u8/jN659Pym0khc57
/bPgMcyekKrHUP3AqDFtKip+PrfE25RhFWuS2+d5jus/OfpJYdj4WNPu7QOm
sPAPgae+wy85CVjPQavsr0gT7mjHOw272zBP067SuSyKsSLoDV5e6eQIK6iS
ScoTy+zptSwQMGd/vpAMKGc5gVhIuOemhiYM6LTQN/YPbtjTPVPq3Kl/3bx/
4owfg+oa6vPKHiZqlD5l3rCPLfNV97K0Y7pdyJ3UrtFGLXIxQ7nhWnaAuK++
fxWyR15hc1JX2i+wx20Y0vd5YDz9QMNePzF1wcF/N70/eHt2vzjVKfa/klu4
hwb0XMyGjW9NxSxbQXuSLg284E7TyLtyKqCsbU7FYipnXZby7fn9H52IaTx7
9uvzU1tj2iWSWGC0jGqgq71ZkVVFrnotVLV3tZVCyR4uDgqaiUFbKA5S9R4k
bShDV7eRq9np7W9Dm1OvC1GpdkVhC2qr8hdMev8SdkCBHX2Xepg2gmV4sd2T
7Tui/oP0LBAwCVbzZNI2wPY/WncYHN/4QJNVUAPt++ZvayVta9032pO5a5OV
aG4vwbRmlRwoVziNftdMKrXWIfu7gxjFpalUBRWLqqTk24yVayoD3nMyVBra
obX26f6S9NcmMjyrmWSekh5PTF0WJNRsXNWPxouIqn40JrJqxaYV6dRqUwv8
KA9TeMrSHhDBMSG8R8mODioSLJAvth48nspH9Sq+srlxKa7TxdvSopsf9lLX
lsKwkTeJbiUQo921u2f4Koplr1XRfBs+4nAcWJ87PL/gGu3kOY6YCtTiy7TB
HNLakJDiqKH5oui+c4H19V4wIeqNeLoqc5wq8J0qk3qZSLkj8yawkIwo/63n
kfN0aW4Urb/UDbQSpYsO59LkMn+RHjW2By5uDuanBnAU52jSInhHag3eXmDj
lb+cKPBQQmzCdFt6u6G/nYNhQqAUR32wE+pZDJ2HdCdKtB1mVjaKKBOsgGGr
XhMSR4TFLaQmBJx0DVo2W7NofDAf8xpVe+uw1tNOdGAU6DJACMACaJNr0eFT
swwDtv/cbMmZwYWecigDG6rlBoYdZLc7XtLFL1qXNcYYdqnTOuKxEFNNF0XL
i1LItzUegjUn5C0zNLBEVw1EcWs3J01765pfj4cfqwoR1atSSicU6HhSV/Hb
8GbDsLiDTOJXu94vOBEphm9Y3CNW+YRD9RM3alvI2cUVdtXOGFOuMUDMy93z
mHPxKqnOp8b9FyQjxja4U6cmnmnHWcIRMqQZypQSlILCQ5REKKxr9MLKbERg
q9C0YqpCPxr7mapK0FWmIiotH1sVAbTKiio9HVULxzLd01ETE1shQrlEqeII
FCDqQELr7ahYxNBYxPxMFkGA6FysxiSV9alL0jr1SLSfGrV3lqOzbIZg6LY9
uv1IrGBQhn6o5XOJG0ZS+Ba6SRY14Yu4QEE8klGvIKpRaWVLGptRqmUbxJ7h
Ms/MFsBkU3l14FEmeXiZIc46sfYKp/yXLlPV5MYTBmJBgntlTcssDVbxo4za
UzaWOHUVMXiDjHCJcXF0odnc4hu5q4/CbmdTYyqPfhDkS1anFbtDng5RQUqh
cbU7HvX7aWmunGsg9fHopzew0surycDj2nbU4oMex68avbDGeaUVfERC96js
udPBcuEzUU2bS0E+dtfBeQUIXWOUoIlJbVeXD/KppCMO3Ng7POWTs5zbDwDp
sgIMudGbdkRcI3Y+5xBiCyCjqjMrEJ203A2Np9YR1MBJRFVz87iA1+vaGrzU
Dk8zdTmNIi+SHX4u6Sm6038XYs8nylTOlmC6rcXbsThlTLlx49Ktf63KIl5t
nxdRMmqgK4XS03I276CgpfbDLFvBETV+SeaC3I7Hv1ydyM7G7sCB3RCXk2Uu
gMkVD/C3Yjm7kHp0HNv9E63xqaCqgCzxYYR5FsskvpbAIg4S8CgwiTjcvk12
OXaxvsbgEiFcWHlUn4FEvjqDM5rpT0sfYbGA/baW2HmsKBootCUoedTo4RoL
TmHxBJmQQW4FF6aoFF5QdovYWcwEN7nRt0jo544Xsss4L0DufS7bH9LJNbtS
1QN2xJw8rROHU/MEnNkFeDZ0aZOO3sOlSksTjY2xDmgZ1Gt+gUhWx7OtONzg
84b0lArMYvEksgreTMc/XVxMf5xMJ7xCvvqAJ9lxtiHPuUABFihiRLM8RqQg
RuM0j27zXFatwiV1hq/+fEmE1FSoSyXisegEmZFssP3YPTqZfA+ZZI56NdVS
gr0s8MxZJyL3u/B7clGbjJZA1csIUjlRU8caJR9FFxhukowJ4E8YObi3srBV
dYShMR7lsePBMKZbpPI8cwLuL2aY0xnhHMwT0A+auPERAZQ6cSLyPWYq6YJs
iGIlwn+UdVcos0GNJSOJHcSmpEViF0xXMijFgOk32WR05Q9hKslA2wKhTUqp
+MClEL8sVHbC9U+MIoHid2EUcBLWXfKgJTRgmoP2LnllUOH8Z5U2/GOmKsCQ
qJW1UNksk/QNrJxVgi7ymgruAtb4LHXJu+UwQ3m9nK3B6SAFKBTOwxP7bcqF
7IQ4UQPodF6sOH8Azfmua8xEOSXUuIpCKbFKFpfBDK1UXpcg/UyTlbASUvHe
bBNi21Jwc/A6hIiWypr+fdqVwDMzYDK6MkmFTR7W2SZPcwObBMyXHSkaldXx
aGo3iPG2Ibj75l2a3BcJr0pANhT42yAfk65X1f2wdPdLrApjfmhI2KAazajz
zv7H5U8/mvy7UilkCaohhRX0Qc6g0m9Y88OK2Rwoz3DIBIy+tgcvdSMAnv4Z
Ffd6VzYOzIvh38qPoiR/XejsD7pWrL1oWIjVD2WZqR2HqNElYTEiYWH+le6I
fmgSJHkppYiikzhLKZ0Yrd9K/2GAav1QrVKzApcpiynfUwr44Yaazb8zZ2wT
cYYXvmHKTUSZXj6YRRs7DEom2pdifCHTPlRFApjiLJsItxw5/AAilxSOyFgh
aOT0LHFR5wzxms9WJKUtCS/b2yUnhCVFno7CEZh+mC98S0aADFJqbnZR7qwr
64I3cJOsDj6SBoigfywKDvxIrhP5rVjaXvQZjuOl8V35ByGanpsv/vHCpFmU
rYdLAjlr9nsDx6w89B0HiFkTfGd+E3QHVu9YfdSJVvcnRqV7PSWpuEZpkLjR
gH3vQV6pvvf4U3n6VH0hsh+KIw6i+D9VyicgUr8/NX49FdNP7M+bXssb0+Z+
NLQh4+8ZFXb/WL7nhyTErZSzb8KHZRbG5+WXyG+V+Su+hzecGNX3wisqH2Gl
+Oowqh7PuG1IeDul+oW1hJ1T48mMj/KQhoyD8oCWY+ryIN3TrYCg3OG2z/c8
vMJARgbjHnCbni3zsCXx8MCcw38cWu6m8lOG6uSjkwwOyjFoHFSDuDHfwPy7
9wevPcugRMd7Dqrbz6kPOaI++aj8mifTa/ZPdsBOHpB8o4NcS82o9hA2z0of
eH344FMJqp2sv1ye2gFpak9N3LrcpvPqVtBO6hmOeh7lJydONuZNflTK5Cdv
p/qpre+g496DTnufGPRpsO9j4tZUiY9NgGjLfzg09eETt6UCXJnZpXYq7YTb
OKQMav3R782j/CbcJvERSISjz6MhcVB4dGJIuPAmzhndNjVEEtZ3FNOS2BV2
hrqTCoNTNgT+hW+e4o7wn27TGLo2+vdvtc9/5S98/eE/FCzOUKBWb7D5ELja
p2QiNX8soG/q3Hxa/bxkQO1vvF4fUbSkr89Lt91qH6t2QrVvSuWgGVlPXsar
TVI1nZrrjzXM3lQ1qmGYSsdt+E6/E9/wtbrNW9/kJuuteQRyzf5n+Q7xp/BL
/YbzyZNtUJ5uWNLSr+TwViWfwfoaPCcH1nPcX3LxwGqLTS872PoRH3yu1pQG
yn6W1gsQBk+NbVzCEw/VsFaftn2lzQTRDFgF55poKtboV5eoDRKLQxf6NsHy
h9SlDnMC2x6pL63+zk/gxlboKitsMvIaB7TaeaB+f5OjpbnXNENtoTWj75kY
Voe4strmjqkf1SDV7HbNz2qRyhM8Q5NUnOizreJP6LPKC/jcTqs8y3P1Wv1M
RBAsn9qrlZ8O9jwthh9CZui3fhxdnVX55vAmrW0Q/cMot2j9pPas7Qs5qDnr
YSLvsK3a07h1v3j4JDOohQAqoqi9dcxH9Ycx9tcMrLR5MfY3cqk0b6lamLVu
LAc1Yjkce3s6tvxawd5zlwM5qBpI+6DKGqt1QQ6sB1I1lBvrOz9Vznl/qea9
ZZrbqzQfUqD5U7mkDGIFB0/XEP7IEsIHVRDeM6i6yr1ORys4lVW2lK49rMos
Bja0arKlP51/GOUPXP1Pt/y0W34a67p+btBEr/16WDHX5lquLZVcUWC1FnLF
L6t1XPGzVtw3VXL9OFG7r+SqoVdUfRqMpuBLC6g42/Fx4y7tK33a+MC+CqeV
B06wVqcqTnqyB4o9pUYbxzeXE216fU97/WMLQmsM3VTi89uPFmGtu1JVVe2V
Fw8svLi37uKBJRc/aWU1kCorayn090Sdv71l/n49oMhfUeLP0Ar4GVpxPmNv
xb0aqZQK7B1SW+9TVV0ZGZwGUA4TFIGRf2bpuhJHWKx2Ru0TRCmAU5oGEVCO
r5wavxqlIfDYzQvLfmGIc3gh70SiaxKfm8lqs3v4Ldv+JnNtkvi3VUhz3661
cTc0gfwKFtX8XPn8oXgIY1X0OUFqGdo3vN1/xtyRNPpNSxhojHhXxpUFeBGp
16LvQIo0z69PheCLMP2xiryj+AnkHye8dL4GLPPEueRn+TpLuKSCW1geUmtq
y+PxNESrAFzKciyyqDl1+tR8PfwLJQRuwm3Y2YTAIevdNsO0P8zD3ob32vVQ
TAa7bOiZWqngR+0GcWJTlsMKZYnwUh1TvEjBvdu4yRfd1AvV7ZnSDdJyMeR6
GhpXCjz8cgUlPCMS9bt0bZf9DFmmiWvCUg2gxtuAY33RIjkqNu/SENP9/q3r
W4N6rXS+MaJlUgHidwmae6pPl142R2YYiyy0ZH2XLLNN0lQXiG9biPZ1uL+r
hBJtab2UFvcTVQpVhIb5d9PCpjrG95yIDBus1SgmMDD1dIyFxuRD8l4E/s3L
HBfLzGUy3L/BF5jMxfnDW/KvRXUJrEHJdWZzM8Yk3zCXRXXPDaPDSdeEXR1/
OL50+ayoAQqIe+dj3v7tar7ZItsqBDRgUYkhIVC67a/c5clyIe6UrmHS6G14
rd1ywtdy0d1979MEn1F6I8xbf57aSuO9G1kemOvxRTqKiegEEfHbKpBj7n4h
NJYPon1RfSYBLQOhT5s3zitLhypMMBbCOCamC5eiQ7XWgvnN8OoSLyBjivgt
VZ+h5hi5+QsmxgE8QC8XvwCjisoD39RuL/EtBz350TCuSsUPRRNjcaGpdnnk
VBTy4vI3dAcgzYvuwqJMpaEqti3K5VRfb9MV5uxS9UXidVlzmemQZtF7/XHt
rfrdMHEN65crvqmDkl7dnirVQsSqdzKVWlzDUfdRqAajEd7ubrItqkmZs7kF
qsE7EeqeQbmBncy8f1ErJo6NEtcxNWPGkD/8zYnPJJXFW0UpPhiq14WUJSAM
WUsCy6YBiqigrESIWmW5XmVxN4XCek2XYQzAVKmkrUSBYpG5lnKu1l0qXi2u
8xikVeUKwajjXjjb5A6m50uVVLTMXFJPTr6Bil3AFg01wfHxCPNY15z1LQS/
4pdDNIC8FJvrFT9VN4oyqnDSrmyWbUrBGUY3aXIHImVO9RRXoh/K7XIp38w8
zeQja6RqktocMg3tHswt1i0HJBiiV6pq50dzoDApGFwOwf1Hws9lFj9TN9gR
VGxxXDCFuFElL/jKnPcW9pCNw7VbUIa64sE3gxuLOzx2RaXWULb0BNmZLBZU
gHZR8Ky83UAYuQe/Fj7RKmHS5W6tTecfsAhaCSfNN6bp1sG28eYJTNltxEjJ
5lliy09ZUwWzU9pPVvjFXRMvQnARUuptz+Jd5JTIGr085XHLhBSLz8Mijk5U
0DK4FIHnhxiS/ISoWLbrKBYYCqFjoNWHN3rAH9tk23Cbwu+36/w23VGvCbnn
isN1E/OGC0WLydlwCMWFB7rkEUuxqXdTFqxQEquLMF0C/rqU1y4uPaE2aaqy
WMT7KUld1abQRTFdfipawHI9B7SGRZoRd6koNgR3ydArJ+Wq95q6Nsz6lWpe
CElQqDPhtohGjWjNGkrqKaAWdBX3GtQ+Nm7bLLMHyiPGN2XbmKsmUlBxuyo2
SnTZ0u1YQbxFNBI7W6CwfRBSgW0msVTcMCG+CqGLlUDuQlllTtR6FteJQUDj
vcCMCm/K5VTXCu8YSrbASmNUF5p4lm4gamYHmBJACnm4VDfWuK0FA7PK8p2G
jNzg22fSwio2jGpjy6mUHVAtbU8Crq5FO3Wmrg8ql8s2zKK7ScEAkpz1yzti
wmIRKFIuZfU21Xf+tKFVekcvGBBR+exyF2TsCWyaC9ndWhZwUZ5SedvxOjeK
G7qIiOXhf9a4FuaRBeGKpoZMkujZMx9U3wSzzBN2W4AouAF4iO2bVI9jdSlU
PIFl5Uu40siQTHW6Uqyvm3DNRIdFrjdZKu+M0n1GXjE3jxG3WOjGIy8VlGu6
ul2pq5s8FTe7hGdF4WTGlZiibXuK7tQdIR9K9Yd0jmX5jZSKMV1akIZsLPGg
BM4Kyy3K+zICFyQGaXmIf714pCkIA6XoHET6KRmVksZDWaA1k7UECWNq09DC
x41USg6hM7kgu1odt2HAKznKOmYqULSncb1oO0633szhG+/yJfdV0bSzuEB0
wXdp6EYcOhYdGg3OA98ooot2uv1HtycZCepSL7EA6CHAM1KFvIJarwqfdw0G
Rtz5pX7SXBKRLhOF25gM8EJgoILCa2Gycj69jtzdayyFSpYBvLgoqbUL87c4
3z2QEjXuKbVKoI1M2Uujlk0dpVCTogx5LtSSXp7//XtQrJ1w6+UpJmUCgqit
pyxlDBt/fQtGzVr0jlAGLu2/gc0VCjoTt4qxMXZOLZi2jB0RaiAUsUPDyryo
wct3v3E2dV1VaILjFA3rBxF2KjiInhBYrxpo9OiptBVEy5D72n19UjKRKHhF
RWSMOIlSri2zoMdvUDRkct8SEbCiNsEJ+yTgyGRRGu50vwLWoe6JiypV5+Zw
C6CK31/NhuZs+Aq+qkD+MwgSWc8eL8G9EQtGzAjd1ul0PmB7st9lpwYixN/x
Dl5NiFAEj0KA+uH54+OJ8Tt3xMJtyPFZUI9A4b9TaCx/AMBX+OmPZ0Pj9xug
XpwWP6hrKfGCWrobRQqrFdfEEegxYgFg0HLHuDMYvaLwLtXkWo6ZCNadCKNC
dRJ+pawwuWTxTWGWIkhFzATMpkiaNFtq9SKh6Bq/i+6mHb6Ky2Cp2+JyPGm9
EiJPzQJbTH8Na/xcyLn1BJlL51w/nhumnpLwZduc/Q2yOkE7oXFMJv890nAR
1OJqvLDcPLvdRkncwfYLat9zoMTw+gvhgO9W6pJHXqpklh5Ll5el+JEsOBdn
0S0ZLOrKJipFkiLM4azD5aVr4XzLq+9UGcNQN7HzdHcb8tEt1XTiWu50y1ne
M2/ULsq8BtOj4vGXCiBkwh5kD0eVnindri6u3Dtdt+ui0a+rK9Z0+mXbU63a
zM/sMBSVKLQbvxdAAXhAoo4BahdzWRm8fw8s2pn+OPnpzeX0Yvrj1aWuJItb
9QqHO3qIgBxnb15e4HBsSEcalJ3MSqcXUQ0ARcFHrsTQV1INcCFuqhLpEv57
C0r/7/9ru4g6QNJY8+9XcNbIasOqAXeih5C4yC4rULMnL4uQv6wcZEgfudJh
YltvoyHavBkzYQR1sMQeDKKA+vv3V7MOOYjKkYXFgGbh8gVijPwIdx92KK+f
q2gWMaloMO/WHWZiVaeZShMVUgbf9xpvmEStRR6V3In07x+Z8corh3WphjF4
6bqCl5LiJYf5l8qYrvED7vupsIQ1IDcCyBIQYgdQkJWmyanLx4PJPfnAjkiW
SwxCVYvH5MpArcX8hK/I1ia7mSJFAgMcpWWw18D2NTX/oPAtth5bU9QBCAHj
1uJx8gm3IZm0xuZ2i2IYy7FMCu+SISA/Vy675Mpxy6PwbUIWSLbBqkKJLLCe
c0wRfy3ccxVioiBKqWVfzluTrR9W2W1+tsmT2xj/MMQJHvDS8MdhlTiExfJ3
LvXwjev9enyz223y87Oza5Bmt3PM1D67TFfZerbFNJrhdnUWb8PFrrNYrDow
Td5RF8/PUpwlP3O9E/ASYLOVOI/IV4hM0WeYAjZYgGwr3q858LtsI9wrYRFx
Px88tyoqHQn9IYpCi6MAWl+a6213MtjSt9jdFGiCUiCbvHhtmzAYbLCeECd4
SbhdMlHIkLyoWF2BiGsvMVxHwqfZPoB3glB14Esh7MGvAUuperKBRdIwMkjq
B2thn1OmAGJWq4GCF/vVqAmpGZGa1DbnH8z/AaypT4u6X04B0vfcHFg99QF7
g1cPm+Q4PznHwBwjAv2Fa9gsjF3SBo7VBp6bV6MJurglETERG0/TFJUdRHkC
VXoOBCX5KP/9cvpq9vgoip3ULSeCrglBRbZnzahqR5SyV+tvOgRhlPP/NTDW
ZCg24KtutD+Nrpo9fwC2au85EFlBG7K0auGfhacG56SJrBrcpwPoSjyl+VeH
EFb9XQcia9CGLO4G+lnkVHYSG1D0RJfKp7G1vxfmAYh7oufmITjE7O0WHGot
kT4Lk0+0/GxCrVrhmH3kp3HJzvQBOBvrgYIDUWR/aZ6sLGM/Tuq1O59Gj94h
4wAk1cvmH4Yo50vTUuui9qPsQs8NFySwF19NyeQH4K3xPYehzv3SNPbk+vaj
cCozb/fiTeXnHoCsqTb2EAx5X07YN69hP0KoKXiGXdL3IURloR6AkGLGwxDS
alc9M0KKhu97EfI6SbbiJCPfixM91fkAtJTmPQwzX9yI+gj8oKPBTk+x0fTn
K0yHrSKqlEPADgClzTbj6Ym5D0AWFjJpZaznwtbBzoyoU93YTq9RyT1RZqcd
a5U3lZoAHoi2VvZ7LrRVFtbQhLAdhwcaCfV6Vu0WQoG2TzIPuLTWF7YPWvuB
7aG2oir6UySm6ug8SVdFT6oDMdMaVXhmYqrVh2/FS1PbwycQ1FCg7ClMNTVp
PBBl/a+DsvYmke24a2s1+AT+WoriPYXDthaDB+LxCzrRn47Bvb0KDubTA6Ta
wa87DJveF3enD2vRsM8OKVqJ8OIPNUdUYyUBw5c2TLwv7ncfZJhQRP0iidOQ
ACiOiNJwHQJRwxd0nQzPEH/MzHVyb9KHsnZ2EXQvhdu7mIxfz/2Eoet8le5w
e0RqCl8OauwDcGpQY3d5/kNZaiL583ftm7Mk3H0b3e9+1yErqgkb1K2+czGd
vBxe/e31FA89Vf5Guf12ceECU3owS6JSo8Yt16ixsUbN73xwO86Gr2mXUADM
6OCpcihRwiyXxBXD+ZzqseXYQiZFIZrqL+H8e3EOAV8bFRiKAwhTHkDAqE5l
1OMj5S8Oyzsqcx2fxPZT+DRME1bE57rVuj9NOD0ShfAr6FS9FOQhjH51a/oO
jElM26Na59xv4NjqOL4vi+3LvqFyXnLkNOI/b1zoH01tTd8dBj1MKwuVn5sd
/PNlDHybdeZUfEVlguN+4LfqdPxc581nAI5LZz4rVJ1Ox8QmgXiMOOV8lFz2
p5eHaSJPhXbsvpm5RfuCtXnzsMGMFWrNZ3JCkoHB6W2ac+Yhnb8m5vp2NQcm
oJRpEVJXMWxONeN34EPiXDYV/daKvG3OltmbfZMtjMvp+K9vphNm7HJ7v+pK
c1qo3vqK2raJWw+lnjt3SdFz50q7l3cUl7pfHVWzRtTXdGzY0ElQ71LAgAiB
ULlFobpAh+UWV6XbDU1d4GRTtXL0mg9ML5NdQ/8NcZrKnTJEXfR5tu0ANV8/
V3F0vNLrBP75QYXE8FqtbZ3fvKAb19bEcaZWfzjoe8HA8vteP3DtvtN3vf5g
NBm5wcwaTEbT2XRk9wNvMvNcdzYMpr43HTqTnm2/oAvj7iCQE/Zmnu+NvcBy
LNvC2lzVHxf+fwr/Fd/58FL9a57QF/PBqJ4VwCAPnnPomZk1tSbW2BpZQ2tg
9e2eHdi+7dmu7dg2vHJmT+2JPbZH9tAe2H2ez7NsmHA84/+TQPvntuMMbDHC
Oce6piAmgyPxiXV+JM/970R+Slcw9FkX0y46lNervjzTz0COxEs8UTcDz7HO
uVL7e3HX3T4/enM5/W30yv7NOZLFGHyJSd/twX4HrtXzXX8yc6fj/qQ/sv2h
M3UmYz/wYNGDsTtxAUHj2dR1wFcaW7PhoOfOesOh+0LO6MgZB0OnZ8+c4cAO
RtYomE6D8XQ8cjwHdnnkOlYwnVk9z+/1R1PfnwxG44E3C2YuzD0c9YPhUM0Y
FKiiTx5Pm9f1VVblu2PH9ab+tO/1nFEwHPuw+8OpPR6OAHQrmA0nlu+OpqP+
dDSb9Ae93ggIKfB9+Gvijt2PXNXl11iTDcQMlDqe+APbnVnDAFYy9uC/s9nE
A94LvNlgMrZdfxwEgeuNhsBPE9sajYFBLWfofMSahq+RAL/KovyePfKnY6Cv
SdD3bWc06/VdawR75gw9b+RYXm/cm8z83mg87Q1gw4b22Jr6o+nQGvqW/bGL
+irUBxLHH4yGMydwRp47HDiTgT8Z+YMJUOCs54wDDxbacy07COypNXTHU2/q
9kfOwIdJx37/IxZ1Of56W2WBZJz2/QBYaDzxBjMrcPH/7J7XC2xvMB7Bkob2
EDZoNhxO+nbf951Rz5n5wSSYBR+/qoa9mtneyBvAwixvNB75fdubep4/GFp+
bzrxJo418/vAGK7tO06/PwS4HNubjCdOv9e3Rn5QX9VwGPSGdjAA4TcaOjYs
3RoO4dHAd0H7Oda4D5rL8YAK3WA09Gc9YDR/5jnO2J5N/cnHrIoI0P0qe+VM
g4lrD/1BH8jPdnx7NBtO/eF0htwDOhCmB7KbBSAhrCngyQpGHuzaAAhyGACP
fYz8u7j4Gisa2rORb4F26oPwntoByIKZ6wIfDYLZJOjZrmfbQ6s/nvUnExvo
Y+jNQMTD0H7Q79uB9xEr+uGX38Y//Th7+eevwlVDx0dDYwCMAkZNbzYE3TW2
QWsB8wxms/EwGPSndt+17dlwPLFm7gh08ngIewkosHsfsa7Z11zXAMTecDIa
W+MpyLbpLPD74549noINNpr1x4EfBP0ZCMDRbOTYbuB54/7AH4/BQptYPcDJ
R6zravTbV10aDBhYYBFbsE+WNx07Y5ADIBRBWPijcWCP4PspsNkgAMXVH48d
IMvJuAcy0/dAWM4+RhD+NP66awMGc+xpf+IE1mzas/t9ZzJFm98dTJBKh84Y
hKrX9x2wBB3XcmfgHHjw+9RywWTfR47w76/Go6jdo4K9TX4Sf/O1nCR2k55o
rHFqnumxBPOMHgSXyUS8BSBkJsEEdDeQuAskMJl4LtD+1BugOAU/xQax6/SG
fSB9fwi4BB01HcD3HthrzhBsGvsfBmB4gLItAI4fDKaDEewn6B17BCwEqtcD
IusPQBWNXdigQW/gjtyRPQlguy2Qbp/TicWkZlTsJIul0ZHduVl4PzA/70ul
u7ka7lnV4eA5tw12fcac7wX9wHesnt3zAyDkAAy+wOmB89HrBVP4PYDf+vDf
IXw/6Vk99EhmvSDwe44DaHXhb8A/MF1vCFtsBR5YGj0YNT10ZsLc65810Hrn
5p/+ZL4XKzhTSLWxsCF8+nb38B0wvfZNR34Vbe++e91x+57+pcNL7QWzQb9v
DWxwpPo+WCsgQMAlAa076sMHHshEF80Y9MOmAVouYJFMwBefDcbOYGr5wdhv
22GYbGjZrjUdwVjwfHv9AbgCjmt7wYgW+K4TZdSkGAM8Gmwuw+aAhgG14owm
7nTojcB8mk0cezCzxyNQQ/0x+IU9bzwERkfN23N7LjiB4EuDcrJhF0bOaDRr
pT53Ai73DJbhgTYDw6k/9QELA9/zhtMXANtDHbZH8/vvT9WG9BlIYCJY0BCs
zAC23geB1vP7fRdmAY8HXNNpfwxCrzebjqYA7mQQ+N5oBJwJtrVlgb0KiPjc
Mt5AEi8vNFIZnGv93AiR3sQfWUNg5PHY8sejSd8K+mPfCsCsH028njvq9awJ
sP9wavUdkMhghlnD0dSdDeCzkf25MAKA04u/W79qe0y01+/PxtbAGs3GYN1N
J6i+wLwY9kFBTHvuZDjzR6CeRyMbfKzhxAdBD+QwGIwCfzCd2MHzgGVXwZoM
x14w9AEKfzJ2wV+dABcDXwDbWn2QjyALvZnvTCwXLKEe8H8wA+IEW2E2BUp6
LrCcKlgueGhDwJTTm/o+sOYYsQUKdgAGJ/DZ1HF8cGc8azIaeL0JENoUeRj4
2gE7dOAOXpjPAZYrwfpVcYIH7Hok2+PguIvpWN5dP9N1q4o06tccMCWBdSy2
7cTzznrP81JctPKwefx6+JeTov5ShBe0VRUinJOLdxV1irD2SVvRmi+q00lI
w79CZsNvUmCTjIZ/O+qbQl5XxaQS3Y7t9JGDwaoaDXyrDxzuOWDfgUwGe3wA
fucEPF7HHk0mPd8GMWfDd/YQDCj09/vAVvbkYIrwpqCZ+mATuP3hDIyt4SwY
uvbYm4B8I+uqKjGVFAdPFcw+oNzBIPAcvz/y3dlwAkZcD4xOzwepObFtsL9B
/4E7ASIfvpmMLFDG8IL+xO2Bf3swmAMQtNO+NbWm3rgXOEPbAYcctEcAmk2A
KSiV4uawFx1PgDlEUQRA+v1ggGoEY1b9meUAKOANgRgMpmBCo5Afjntg1/bG
00EfONHtjwaAT/DHvcP5a2RN/D6Yc+50NuoNBiCa3cl4BF4+qMgXdXv0Uxim
8Unz+M3ncIt2tPD/K1b5klZO7We/2bOPVb6owVP92WsA7WUVxwLHoTezXHCi
PdfxkXV9x4MPXHSs7SkwDHwUjO0hfDjqu4Ph0J7MMKo47Q/9cX9oHY5Ns+dZ
M1D5A1BnvSk44qiJRyAyehi801nlkg9D8TBvlN3Cv0PRMoPZhatdUBr8xS9m
kV4hCfm5yBcb/iIJUyKrtMScwGV9CTa81gb35sXQBlLpO0UY/P2j/A3NfYWl
jzo0459nPjoTcDz3AZqY9pmP0cSsDYdpahnakZoaXTlYU2PlyZga+NHnbZ9s
etUO6hRQ8oxO0E3pBY3ndfzz/GEaAdGzn93xTzVkwz+Pp0+v/auv/NnO9z5v
5Zdfe93Pdgb46euunA1+rYU/1znhZy78q1P6s50lfvrCq2eMX2/lz3Pe+Lkr
b93zZzuNrKz82c4kP33l1bPKr7Tnz3Zu+ekr188zv9Kqn+1s89NXXT/z/Epr
f7bzz09fe/2A7Sut/dnOSD997Y1np19p+c92jvrpy28+X/1K63+2s9a961e/
/yp+Kw5XRLgbZKk38R2wKqcD+I8NKxiPhjYo1L4/9KwRoB6o08K4CJ48+v1B
3wLAnOHQn8JujcZu7x/GbABo8nwQyLMZqL6pN5qCdHbH3qTnAHqcnjXuoToH
vThwp9P+KBgPgKGnLlg14wGoxqE3KLtuA88ejsBd6YNtC3MOguHEC2D4GHSC
bU/67tRxpy4YQbPAcZ3BZOpaY3s87r+gWX49gWUaFD03OHhuf+EQQem8WI0V
sYHnOSKWmPmsk2IFGp/xNvjhfJrb/IXLbPE8B7eScj/r/LYEXY+gA6q1LXgP
/M/2wU34lKjkP4xqXHJfuNFx8D31sCIwxkcHFuvxws84TqqEGgtM9aUY+vxz
1dK85WCJFPWffS5an/PzDzXrc37+iWR9TvOzzxMLEV7m0b3HgTysKux9cDzs
yXToOqCuhmOwH8GoAA8LvKmpNRuPYGETWPXMB2qcgd85QokYDAEpsCXg4IDQ
BWE/BVHmTUfWBLYUxPtwNJkNAs+C3fACB6V6MJnZ/WBgDSYY3hwBgU1dYHC7
7/QCq9cDQ25Ypmmw3cGzB7sOOXA4BAQEwRReNwDp17Nn3gwF2HA4BjffA9TA
7vR8EKFBRdgbj6I7GBdSlp0tihspWL3TDkzZuOacA9Ix0E5/HgKjhlEU9uG/
GB31B5a/cGKn73leKFRDaOGnfT8Macyg1zdA6HgBMLMbghRzgthJQFot4L+R
i1rbcT34Bj1X21+ASoxglAfSa4Fj4WEwFxKQHPA/K/RBoFkxfGD1w6YQ8jye
w9TWIJ4ni2RuYAw5XniuuwiDxPeS0Il7tg2ADfwIp+otwFKKmsPGhoobJ+1x
Y1ojfObY5WixQQ8srMSKrciaW2FjuHhhJ3ZsR/bcDjFcjHCB3+4Z0YL/jwCd
A4UDEPSlgxIRxL7txIA2HzCGI0KLlgR003dDI+iD+++hQnFDZ+EsWKUA/sHa
AqwngH2/B1MEMeHahzEJaAwffo8MJw7mQQKo78HA+qPyE3AnSeXgRg3wG3y/
4S/6cQiKJQAjCRxx318AC0bAygvQZT7iu2Qoxgs3ifpxf277oWMkThwJSzFy
Y7QUo0VClmJkLUIAYNELQ8AsTjMInZ69cMKBHcwtgNdIgiiJ5hjXXVhzVKTJ
guO688T348E8GniLYOHChOG8H4QhKEeFSIMxSYD3SoA/CXTiGIcD7bsRUHri
JxiRnQdh5Buw9WFiR+EcILOCRRjDoHky7yfzRYwh2TmHZOGv2I1cHWjXMRTQ
vgTad58GmOE1DgEYQ6lAhVGModSFBSy6SCLPAgpbLGIPmCnwFoM4sl0/oljq
PAR+iG1rHi0wlho6ZYAZXgPjcKA8LEkch4KMEBtPguz37LmfRLDxMQVB5wsM
gs4B3Y4Ret4co6BRL174vXmU9AaA69COrMSfJyEIF0R3HWSE2NBAPoAsylRh
7AUZw5fzcOEEzhzk4MCJB3489wcxUAZIwMjQ45eJFbpR4iUgix3g+0EPpFgL
yACV5xqfhmdGs7EXaJDBfT8Ayo1ib7CoRB6juQEQhzYogWgRhjGHHuc9Z+EH
MciLvUD7llHG9ML25iKKOI/mGEVMMIoImqaXxF4MA/x+qKKIRshhxDiKKYw4
9wMGOgyDXgjCCUQGajJYDXzUhydF0DDqe5FBUcPIDeYh6CIgcYTEiexF4set
QEvaMABk91MwjYg2mjEN0jp27RDjfSHF++aLMPHDZIF0C1oD5gSSMBYBsJ6V
9EOQ6XMPcI4BvzAA8m4B2vUdD3CHsBofD2wBq6EDG9qLuW+BMO6DMEswTJcs
RJhuEYswXWj1I9ATMYbpgCUXAAKMFXG6FmAH4OP3AMOut4CtBxcf1JtvfAqW
JeBGhZ5DFWNbYIxtEYK0jsBYmQPVDhaLKAwG/YRibIswMmJr4c5ByUQhbAQs
0u61Ah5UATc+jTwYcKOuCQdOGM8jK0pAKCSLwO9HPTtKwKSYL/oRBcgWIDnm
i7ljUIQs6oPtE4HFEVs9WHUL4BE4RA4ArsA3CsR/PPhGmxxRAS5AtuUlkRMB
m4FMAWb052AHzuF7IwFCHwQgtPtR5AD1xFEPZA5FuBYt4Mc+Ytz1AezaBhy+
AONpHQm07thJP3YCa5FQhCpO0AZ1B0aMBBU6UShCVPMIjd0FhahA+YgQVX0B
fh9Erwvc7MW+A9o3AWsqsgGAaB5yyAmWOAdcwH5jyAm+00JOYegDthfOPHJ7
Cxlxmi8WICYTb55gxCnyYhlxinooxkEODNwk6c+DaAAUFiUuaKIIQ06hNxh4
djgH26kPSh+mGQRh7AUwIAJBZNtx300cN3FBVS0CsEmcQQx2emRHUR9dhdjW
XAUHlFrdVbCBiwY4xkBfwY6edhXgcx/GRPCp8g0Mdg5AgIAoiYMYNCPwgQs0
FMeeCwySeAOUhxRGiiynF/aBP/zQBT0bGG4ygAEemDJOCAYBSFWUWGEShBg+
SgZzoA8MH82BzSh8FHP4CNRqYlD8aO7ObTCdMX5ELlJUN9QBG1b1U4MGzxHw
WjhnLsI5bItb5BBhvCiE72M070FuB4tywIh8p1DEiRYUJ0qaJzbqMxMsMZDf
PKxFhxYcHQJzuu8nsUHhoTABPTPn8FBE4aEE7fGEw0PzeQyO2mIQOQMgUxAo
MRASBoeMZA4fiuhQHFF0aC6jQyC4ALh57CahN0fPIQb6WdjRfI6UPg+MpOdF
QJXzRAaHFkClYEJTcGjuzGGrYnClwO8Bk38RYXAokREeA3QSrjFBzuWgTjiX
QZ1owUEd0K4gNuNB0o9AEPTAi0yCpBcPjMD35nOgLg8dUbB5aKpF3yM5BrwK
Th5QTRRZfjRHW6EfYfQG5FgMQt+d93pWDLQWgufqgDgBrW2Fc+DUAXwGdIPO
aL+/iMBPnC8iUNxJzOGaeWhgvCbpuXG48IHve/O5DaZrGPsgXuYYr5kH/iCJ
wRGASeIQ3NmQ4jNx5IbgxcZAEDJAA3QOVO0tfCe2XFBsPaCkYAGYBsWwSABd
PAnImiAEKAynl1BAJpIBGVDnsIsJbNcCAzLxHARqHA/A3wJKAPIQARnEjRG7
sEUWeotApOgp+ijawGAFVklCF3jACiOMr4C5MHfBZkysRTQHuGJwvsFEhx1d
gGU8pwBLCKsCpGGAJQGogMW9ZA7OdYjhlXAeLzC8ElF4ZWGACAviBcdXYnT9
57DX4PsV8RVgRgAYhEAM4geJNgxhBQE4soYHoGBIZeEtkKfDMOKQyhwQ2vNB
nAQyz8+cUJObgwp75KqPh5b8pyp5HF7rg9/IhT6O37/nv7HLEZX2KH//HMU9
KjfNTkUDLtHmMFftNTuqvUl0Ey6XCZbPwWYvoqsVVnsZRpiItkziay7B9v6c
a7Ik8XdHi3CZJ9S7hwaXm7KcU47jNE532fbc+P8APuhpd/ZjAQA=

-->

</rfc>
