<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 4.0.5) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mih-sokolov-scitt-payload-binding-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Canonical Payload Binding">Canonical Payload Binding: A Signed Statement Construction Profile</title>
    <seriesInfo name="Internet-Draft" value="draft-mih-sokolov-scitt-payload-binding-03"/>
    <author initials="S." surname="Mih" fullname="Steven Mih">
      <organization>Action State Group, Inc.</organization>
      <address>
        <email>spec@actionstate.ai</email>
      </address>
    </author>
    <author initials="A." surname="Sokolov" fullname="Anton Sokolov">
      <organization>Tyche Institute</organization>
      <address>
        <postal>
          <city>Tallinn</city>
          <country>Estonia</country>
        </postal>
        <email>anton.sokolov@tyche.institute</email>
      </address>
    </author>
    <date year="2026" month="September" day="05"/>
    <area>Security</area>
    <workgroup>SCITT</workgroup>
    <keyword>SCITT</keyword>
    <keyword>canonicalization</keyword>
    <keyword>payload binding</keyword>
    <keyword>derived identifier</keyword>
    <keyword>typed digest reference</keyword>
    <abstract>
      <?line 158?>

<t>Independently written systems that anchor records to a SCITT Transparency
Service repeatedly need the same construction: a canonical form of structured
content, a content-addressed identifier derived from that form, binding to a
SCITT Signed Statement and Receipt, and references that cite external artifacts
by digest. This document defines that construction as the Canonical Payload
Binding (CPB). A payload profile declares its canonicalization algorithm and
exclusion set and thereby obtains a reproducible derived identifier. A CPB
Signed Statement carries either the complete statement content as specified by
RFC 9943 or a digest of content held elsewhere using the COSE Hash Envelope of
RFC 9995. CPB also defines an abstract typed digest reference information model
and one optional protected-header encoding, <tt>cpb-refs</tt>; a payload profile may
instead define its own reference serialization. An IANA registry governs CPB
canonicalization algorithms. CPB does not define payload content formats,
establish or require a universal artifact-type registry, or require either
typed-reference carrier.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <?line 176?>

<t>This document is an individual submission. The intended venue is the SCITT
Working Group (scitt@ietf.org). Named acknowledgments in this document were
individually confirmed in writing by the named parties.
The short name "Canonical Payload Binding" and the document title are
expected to be settled by the adopting working group.</t>
      <t>The source of this document and the companion interop record are maintained
at: https://github.com/action-state-group/scitt-payload-binding</t>
    </note>
  </front>
  <middle>
    <?line 187?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Systems that anchor structured content to a SCITT Transparency Service
<xref target="RFC9943"/> face a common sub-problem: how does a producer turn a JSON or
CBOR object into a content-addressed Signed Statement whose identifier
survives serialization, and how does a verifier check that the identifier
in hand matches the bytes in hand? Each answer involves the same four
moves — canonicalize, derive an identifier, bind a receipt, cite externals
by digest — but they have been restated independently in every profile that
needed them, with small variations that defeat interoperability.</t>
      <t>This document extracts those four moves into a single reusable profile
called the Canonical Payload Binding (CPB). The COSE Hash Envelope
<xref target="RFC9995"/> identifies a hash function and carries the resulting digest; when
structured content needs a deterministic preimage, CPB supplies the
profile-selected canonicalization and derived-identifier construction. CPB
also supports the ordinary RFC 9943 case in which the complete statement
content, rather than its digest, is supplied to COSE. CPB defines the binding
mechanics and a typed-reference mechanism for citing other digests, but it
does not define what any payload or cited artifact means. CPB generalizes the
construction first stated by <xref target="I-D.mih-scitt-agent-action-capsule"/> and
exercised across independent implementations at the IETF 126 hackathon; the
companion interop record preserves the detailed provenance and digest-context
boundaries.</t>
      <t>For generic citation-binding verification, a CPB verifier can process a
typed reference to any artifact type whose digest context it can resolve.
Whether a particular citation slot permits that artifact type is determined
by the consuming profile. Artifact-specific appraisal, authorization
semantics, and application integration remain separate.</t>
      <t>Supporting a new artifact type requires no change to this document's
citation-binding algorithm. Declaring the type, its digest context, and its
meaning is a matter for the payload profile that defines it; it may also
require consuming-profile integration and artifact-specific appraisal.</t>
      <section anchor="outofscope">
        <name>Out of Scope</name>
        <t>This document does not define:</t>
        <ul spacing="normal">
          <li>
            <t>Payload semantics — what fields a payload contains, what their values mean,
or what verdicts or decisions are carried. Those belong to payload profiles
that use CPB as their binding layer.</t>
          </li>
          <li>
            <t>Artifact types and their digest contexts — which named categories of
structured content exist, what fields and exclusion sets each declares,
and which purpose labels its digest contexts use. Those declarations are
owned by payload or consuming profiles and identified by stable normative
references. CPB defines no artifact-type registry.</t>
          </li>
          <li>
            <t>Application meaning — the real-world interpretation of any record
anchored via this construction.</t>
          </li>
          <li>
            <t>Transparency Service registration policy — which records a Transparency
Service will or must accept. Registration policy is a Transparency Service
concern, not a statement profile concern.</t>
          </li>
          <li>
            <t>Transports — how registration requests or retrieval queries travel between
producers, Transparency Services, or verifiers.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="changes-02">
      <name>Changes from -02</name>
      <t>This revision separates the payload-neutral CPB mechanisms from payload
formats and makes their wire and verification behavior explicit:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="typed-refs"/> is an abstract four-member information model. Payload
profiles own any payload-level serialization. CPB defines one optional,
closed CBOR encoding in the protected <tt>cpb-refs</tt> header.</t>
        </li>
        <li>
          <t>CPB creates no artifact-type registry. A consuming profile identifies by
stable normative reference the artifact-type and digest-context
declarations it accepts.</t>
        </li>
        <li>
          <t>Reference processing now distinguishes Malformed, Unresolved, Failed, and
Verified outcomes and keeps them separate from validation of the enclosing
COSE signature and issuer authentication.</t>
        </li>
        <li>
          <t><xref target="envelope"/> separates RFC 9943 Full-Content Mode from RFC 9995 Hash
Envelope Mode and retains every applicable RFC 9943 requirement in both.</t>
        </li>
        <li>
          <t>A Signed Statement uses at most one typed-reference carrier. The CDDL,
duplicate and unknown-key behavior, <tt>crit</tt> handling, and resource limits
for <tt>cpb-refs</tt> are now normative.</t>
        </li>
      </ul>
      <t>The -01-to-02 correction that withdrew <tt>jcs-n</tt> and registered <tt>jcs</tt> remains
unchanged.</t>
    </section>
    <section anchor="conventions">
      <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.</t>
      <dl>
        <dt>Payload Class:</dt>
        <dd>
          <t>A named category of structured content that has declared a canonicalization
algorithm (from the registry in <xref target="iana-alg"/>) and an exclusion set of
fields that are omitted from the canonical form before the derived
identifier is computed. A payload class is declared by the payload profile
that defines it; this document does not maintain a registry of payload
classes or artifact types.</t>
        </dd>
        <dt>Derived Identifier:</dt>
        <dd>
          <t>The content-address of a payload: the output of CANONICAL-DIGEST(A, v),
where v is the payload value with its profile-declared exclusion set
removed. Verifiers MUST recompute the derived identifier from the payload
value; a carried derived-identifier value is advisory only and a mismatch
is a defect.</t>
        </dd>
        <dt>Digest Context:</dt>
        <dd>
          <t>The complete set of parameters that determine how a digest was computed:
the field set selected, the exclusion set applied, the canonicalization
algorithm applied, any domain separation, the encoding of the pre-image,
and the representation of the output. Two digest values are comparable
only when their full digest contexts are established as compatible. A
payload class or artifact type MAY declare more than one digest context
over the same payload, each serving a distinct purpose declared by the
profile that defines the class or type. The declaration MUST also state the
exact <tt>digest_alg</tt> token and comparison representation. The contexts are
independent and MUST NOT be conflated.</t>
        </dd>
        <dt>RAW-DIGEST:</dt>
        <dd>
          <t>A function parameterized by a canonicalization algorithm A: for any such
algorithm A and payload v, RAW-DIGEST(A, v) = H_A(A(v)), where A(v) is the
canonical octet string and H_A is the hash function declared by A's entry
in the Canonicalization Algorithm Registry (<xref target="iana-alg"/>). RAW-DIGEST is
an octet string; it has no textual encoding.</t>
        </dd>
        <dt>CANONICAL-DIGEST:</dt>
        <dd>
          <t>A function parameterized by a canonicalization algorithm A: for any such
algorithm A and payload v,
CANONICAL-DIGEST(A, v) = ENCODE_A(RAW-DIGEST(A, v)), where ENCODE_A is
the output encoding
declared by A's entry in the Canonicalization Algorithm Registry
(<xref target="iana-alg"/>). Every algorithm definition supplied by this document
declares SHA-256 and 64-character lowercase hexadecimal; an entry
registered by a later
document MAY declare another digest function or encoding, and a verifier
MUST read both from the entry rather than assuming them. A(v) is the
octet string produced by the algorithm applied to v; the specific
pre-image construction — field selection, normalization, and encoding —
is part of A's definition and is registered per <xref target="iana-alg"/>.</t>
        </dd>
        <dt>Signed Statement:</dt>
        <dd>
          <t>A COSE_Sign1 object <xref target="RFC9052"/> that carries a payload, a protected
header, and an optional unprotected header; defined in <xref target="RFC9943"/>.</t>
        </dd>
        <dt>Signature-Valid:</dt>
        <dd>
          <t>A state of a Signed Statement, independent of typed-reference processing.
The COSE signature has been cryptographically validated under the selected
verification key. This state alone does not establish that the key is
authorized for the asserted issuer. Merely being encoded in a protected
header does not establish this state.</t>
        </dd>
        <dt>Issuer-Authenticated:</dt>
        <dd>
          <t>A state of a Signature-Valid Signed Statement for which the verifier's
policy accepts the signing key as authorized for the asserted issuer.
This state authenticates issuer claims but does not make a cited artifact
or typed reference Verified.</t>
        </dd>
        <dt>Malformed:</dt>
        <dd>
          <t>A typed-reference processing state. The reference or its <tt>cpb-refs</tt>
container violates the applicable serialization, required-member,
duplicate, closed-extension, or size rules. A verifier MUST NOT report any
entry in a Malformed <tt>cpb-refs</tt> value as Verified.</t>
        </dd>
        <dt>Unresolved:</dt>
        <dd>
          <t>A typed-reference processing state. The reference is well-formed, but the
verifier cannot select exactly one authorized digest context or cannot
obtain the cited artifact, or it lacks the implementation needed to execute
an otherwise valid digest context. An Unresolved reference is
not evidence of a content binding.</t>
        </dd>
        <dt>Failed:</dt>
        <dd>
          <t>A typed-reference processing state. The reference is well-formed and exactly
one authorized digest context is selected, but the declared algorithm or
representation conflicts with that context, the selected token is
permanently undefined or prohibited, or a recomputed digest differs from
the supplied value.</t>
        </dd>
        <dt>Verified:</dt>
        <dd>
          <t>A typed-reference processing state. The verifier selected exactly one
authorized digest context, obtained the cited artifact, applied that
context's canonicalization and hash rules, and obtained a digest equal to
the supplied value in the context's declared representation.</t>
        </dd>
        <dt>Receipt:</dt>
        <dd>
          <t>A COSE structure produced by a Transparency Service that provides
verifiable evidence that a Signed Statement was registered; defined in
<xref target="RFC9943"/> and format-governed by the Verifiable Data Structure of the
service.</t>
        </dd>
        <dt>Transparent Statement:</dt>
        <dd>
          <t>A Signed Statement to whose unprotected header one or more Receipts have
been attached.</t>
        </dd>
        <dt>Verifier:</dt>
        <dd>
          <t>Any party that validates a record from its bytes, without trusting the
producer.</t>
        </dd>
      </dl>
    </section>
    <section anchor="algorithms">
      <name>Payload Canonicalization Algorithms</name>
      <t>A canonicalization algorithm specifies how to produce a canonical octet string
from a structured value. The canonical octet string is the pre-image to
CANONICAL-DIGEST. A payload class declares exactly one canonicalization
algorithm; verifiers MUST NOT guess the algorithm from the payload shape.</t>
      <t>The algorithms defined in this document and registered in the Canonicalization
Algorithm Registry (<xref target="iana-alg"/>) are:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="left">Summary</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">jcs</td>
            <td align="left">Plain RFC 8785 JCS, no normalization pass; SHA-256; lowercase hex output</td>
            <td align="left">
              <xref target="algo-jcs"/></td>
          </tr>
          <tr>
            <td align="left">jcs-n</td>
            <td align="left">Withdrawn -- JCS + absent-field normalization; unavailable for new use</td>
            <td align="left">
              <xref target="algo-jcs-n"/> (withdrawn)</td>
          </tr>
          <tr>
            <td align="left">cde-n</td>
            <td align="left">Withdrawn -- token reserved, never assigned a definition</td>
            <td align="left">
              <xref target="algo-cde-n"/> (withdrawn)</td>
          </tr>
          <tr>
            <td align="left">as-transmitted</td>
            <td align="left">No canonicalization; digest over a byte sequence fixed by a cited named production in the container format; SHA-256; 64-character lowercase hex</td>
            <td align="left">
              <xref target="algo-as-transmitted"/></td>
          </tr>
        </tbody>
      </table>
      <t>Entries in the Canonicalization Algorithm Registry are immutable: new
behavior requires a new entry, never a retroactive edit to an existing one.
A reserved entry binds its token only; its summary is provisional until the
entry is defined, at which point the full entry becomes immutable. A reserved
entry may instead be withdrawn (<xref target="algo-cde-n"/>, <xref target="algo-jcs-n"/>), which is
terminal: the token stays bound, no definition is ever assigned (or, for an
entry that was already defined, no further definition ever attaches to it),
and the name is not reassigned. The hash function is part of each algorithm's
definition; migration to a different hash (for example, a future
post-quantum function) is performed by registering a new algorithm entry,
never by reinterpreting an existing one.</t>
      <section anchor="algo-jcs">
        <name>Algorithm jcs</name>
        <t>Algorithm <tt>jcs</tt> is the JSON Canonicalization Scheme <xref target="RFC8785"/> applied
directly to the payload, with no normalization pass: no member is removed
because its value is JSON null, an empty array, or an empty object.</t>
        <t>Pre-image construction:</t>
        <ol spacing="normal" type="1"><li>
            <t>Apply JCS <xref target="RFC8785"/> to the octets supplied to the algorithm, to
produce the canonical UTF-8 octet string. Exclusion-set removal is not
part of this algorithm: the derived identifier construction
(<xref target="derived-id"/>) removes the payload class's declared exclusion set
before invoking the algorithm.</t>
          </li>
          <li>
            <t>Compute SHA-256 over those octets.</t>
          </li>
          <li>
            <t>Encode the digest as lowercase hexadecimal. The output is a 64-character
ASCII string.</t>
          </li>
        </ol>
        <t>The CANONICAL-DIGEST of a payload P using <tt>jcs</tt> is therefore:</t>
        <artwork><![CDATA[
CANONICAL-DIGEST(jcs, P) =
    lowercase_hex(SHA-256(JCS(P)))
]]></artwork>
        <t>The exclusion set is matched against the top-level member names of P only;
a member of the same name nested inside a member's value is not removed.</t>
        <t><tt>jcs</tt> places no additional restriction on JSON numbers beyond RFC 8785 itself:
a JSON floating-point number is permitted and is serialized per the
canonical ECMAScript-based number-to-string procedure RFC 8785 <xref target="RFC8785"/>
Section 3.2.2.3 defines for IEEE 754 double-precision values. Two conforming
implementations that parse the same numeric literal into the same
double-precision value therefore produce byte-identical output; see
<xref target="floats"/>. A payload profile MAY still declare its own stricter constraint
(for example, requiring monetary fields to be exact decimal strings) — such a
constraint is a payload-profile decision, not a requirement of this
algorithm.</t>
      </section>
      <section anchor="algo-jcs-n">
        <name>Algorithm jcs-n (Withdrawn)</name>
        <t>Algorithm <tt>jcs-n</tt> is withdrawn (2026-08-18) -- terminal marking, never
deletion: the token stays bound, the definition it once carried is not
reassigned, and it is never carried forward as an active IANA algorithm.
That is a terminal marking that <tt>cde-n</tt> (<xref target="algo-cde-n"/>) also carries, though on different
facts: <tt>cde-n</tt> never acquired a definition, while <tt>jcs-n</tt> did and its
records remain eligible for verification by vintage.</t>
        <t>For historical evaluation, the complete <tt>jcs-n</tt> construction is as follows.
Let P be the JSON object supplied by the applicable payload or artifact-type
profile, and let E be that profile's set of top-level member names to exclude:</t>
        <ol spacing="normal" type="1"><li>
            <t>Before converting the input JSON text to a data model, reject a duplicate
member name in any object, including a duplicate that would later be
excluded. Equality is tested on decoded Unicode member-name strings after
JSON escape processing, with no Unicode normalization. NFC-equivalent but
distinct strings are not duplicate names, and <tt>jcs-n</tt> applies no Unicode
normalization.</t>
          </li>
          <li>
            <t>Reject a JSON number token unless it has the integer form
<tt>0|-?[1-9][0-9]*</tt> and its value is in the inclusive range
<tt>[-(2^53-1), 2^53-1]</tt>. In particular, a decimal point, exponent notation,
leading zero, or <tt>-0</tt> is prohibited. A non-integer quantity, and an integer
outside that range, has to be represented as an exact JSON string if the
applicable profile permits it.</t>
          </li>
          <li>
            <t>Remove from P each top-level member whose name is in E. A same-named member
nested below the top level is retained.</t>
          </li>
          <li>
            <t>Normalize the remaining value bottom-up and recursively. In each object,
remove every member whose normalized value is JSON null, an empty array, or
an empty object. Array elements are not object members and are not removed,
but values inside an array are recursively normalized before their
containing object is considered.</t>
          </li>
          <li>
            <t>Apply JCS <xref target="RFC8785"/> to the normalized object to produce canonical UTF-8
octets, compute SHA-256 over those octets, and encode the 32-octet digest as
exactly 64 lowercase hexadecimal ASCII characters.</t>
          </li>
        </ol>
        <t>Thus, for historical <tt>jcs-n</tt> evaluation:</t>
        <artwork><![CDATA[
CANONICAL-DIGEST(jcs-n, P, E) =
    lowercase_hex(SHA-256(JCS(normalize(P minus E))))
]]></artwork>
        <t>These steps define digest evaluation only. Evaluating the construction and
obtaining matching bytes does not by itself establish an eligible vintage or
produce a Verified typed-reference outcome.</t>
        <t>The withdrawal followed from an implementer census (the reference
implementation was the only implementer of the normalization step), a byte
audit showing 191 of 203 evaluated records were byte-identical under plain
<tt>jcs</tt> without it, the 12 divergent records being proof-of-concept artefacts
retained by vintage, and the admission bar this document now applies to
every entry: a named
consuming profile. <tt>jcs</tt> (<xref target="algo-jcs"/>) is the entry that replaces it going
forward; a payload class or typed digest reference that named <tt>jcs-n</tt> used
the withdrawn construction described above, and a party citing that
historical construction going forward registers a new entry rather than
resuming use of this token.</t>
        <t>Withdrawal forecloses new declarations of <tt>jcs-n</tt>; it does not
retroactively invalidate records already sealed under it. A payload class
or typed digest reference that names <tt>jcs-n</tt> MUST NOT be newly declared. The
vintage cutoff is the start of 2026-08-18 UTC. Pre-cutoff vintage is
established only by profile-defined, cryptographically verifiable evidence
that binds the exact record, or its digest under the declared context, to a
time before that cutoff. A payload timestamp, source-control commit date,
file-system time, transport arrival time, or other unauthenticated date MUST
NOT be used as vintage evidence.</t>
        <t>A verifier encountering <tt>jcs-n</tt> with evidence of a time at or after the
cutoff, or without sufficient evidence of a pre-cutoff vintage, MUST fail
closed and MUST NOT report the payload class or typed digest reference as
verified; a typed reference has the Failed outcome. Only after establishing
pre-cutoff vintage MAY a verifier apply the historical construction above.
If the construction is available, its ordinary digest comparison determines
whether the typed reference is Verified or Failed. A verifier that lacks an
implementation of the otherwise eligible historical construction reports the
typed reference as Unresolved. A historical identifier MUST NOT be relabelled
to another algorithm token or recomputed under another algorithm.</t>
      </section>
      <section anchor="algo-cde-n">
        <name>Algorithm cde-n (Withdrawn)</name>
        <t>Algorithm <tt>cde-n</tt> is withdrawn. It is a recorded terminal state, not a
deletion: the token was reserved for a deterministic CBOR canonicalization
profile, but it was never assigned a definition, and it will not be. The
entry remains in the Canonicalization Algorithm Registry (<xref target="iana-alg"/>) as
withdrawn -- the reserved entry bound the token, so the token stays bound,
never assigned, never reassigned. A future deterministic CBOR
canonicalization profile, if one is specified, is registered under a new
token rather than by assigning a definition to <tt>cde-n</tt>.</t>
        <t>A payload class or typed digest reference that names <tt>cde-n</tt> cannot be
verified: the token names no defined algorithm and never will, so a
verifier encountering it MUST fail closed — MUST NOT report the payload
class or typed digest reference as verified. For a typed reference, the
outcome is Failed because the selected token has no algorithm definition.</t>
      </section>
      <section anchor="algo-as-transmitted">
        <name>Algorithm as-transmitted</name>
        <t>Algorithm <tt>as-transmitted</tt> applies no canonicalization. The digest pre-image
is the exact octet sequence already fixed by the container format or
cryptographic envelope carrying the payload -- for example, the signing input
over which a signature was computed. The signature (or other format-defined
byte-fixing) is what makes those bytes authoritative; re-canonicalizing them
would be redundant at best and would break the very binding that makes the
bytes authoritative at worst.</t>
        <t>Because there is no canonicalization step, <tt>as-transmitted</tt> has no field set
and no exclusion set. A profile-owned artifact-type declaration that selects
<tt>as-transmitted</tt> for a digest context MUST instead state a byte-boundary
selector in place of a field set: a normative reference plus the name that
referenced specification gives to the exact byte sequence in question. Two
examples of a valid selector:</t>
        <ul spacing="normal">
          <li>
            <t><xref target="RFC7515"/>, Section 5.1, <tt>JWS Signing Input</tt> -- the octets a JWS signature is
computed over.</t>
          </li>
          <li>
            <t><tt>RFC 9052 §4.4, ToBeSigned</tt> -- the octets a COSE_Sign1 signature is
computed over.</t>
          </li>
        </ul>
        <t>A selector that is not a cited named production is prose, not a selector.
This named-production rule eliminates that ambiguity: a digest-context
declaration MUST NOT select <tt>as-transmitted</tt> on the strength of an uncited
description such as "the payload bytes." If the container specification
carrying the artifact does not itself name the exact byte sequence as a
discrete production, the declaration MUST NOT use <tt>as-transmitted</tt>; it must
select another registered canonicalization algorithm whose definition
constructs the pre-image from first principles.</t>
        <t>The CANONICAL-DIGEST of a byte sequence B identified by the declared
byte-boundary selector is:</t>
        <artwork><![CDATA[
CANONICAL-DIGEST(as-transmitted, B) = lowercase_hex(SHA-256(B))
]]></artwork>
        <t>Digest: SHA-256, 64-character lowercase hex, matching <tt>jcs</tt>. These are
stated explicitly here as part of this entry, not inherited silently from
the generic CANONICAL-DIGEST definition (<xref target="conventions"/>).</t>
      </section>
    </section>
    <section anchor="derived-id">
      <name>The Derived Identifier</name>
      <t>The derived identifier of a record is computed as:</t>
      <artwork><![CDATA[
id = CANONICAL-DIGEST(A, payload minus exclusion_set)
]]></artwork>
      <t>where A is the canonicalization algorithm declared by the payload class and
the exclusion set is the set of fields declared by the payload class as
self-referential or chain-linkage fields. The derived identifier is a
64-character lowercase hex string for every algorithm this document defines.
A reserved or never-defined token has no derived-identifier representation.
For an algorithm registered elsewhere, its representation is the one that
algorithm's registry entry declares.</t>
      <t>The exclusion set MUST be declared by the payload class in its specification.
Fields excluded are those that either contain the derived identifier itself
(they cannot be inside the pre-image they help compute) or that reference
other records in a chain (to keep the content-address stable regardless of
what later chains to this record). The exclusion set is normative for the
payload class; a verifier MUST apply the same exclusion set as the producer.</t>
      <t>A producer MAY carry the derived identifier as a field in the payload.
A verifier MUST recompute the identifier from the payload bytes and the
declared exclusion set. If the recomputed value does not match the carried
value, the verifier MUST treat this as a defect in the record.</t>
      <t>If a payload profile applies a transformation before derived-identifier
computation, its specification MUST define that transformation and its order
relative to field exclusion and algorithm A so that producer and verifier
derive the same exact input. This document defines no such transform. Absent
an applicable profile declaration, the producer and verifier MUST use the
untransformed payload and exclusion procedure defined above.</t>
      <section anchor="representation">
        <name>Representation</name>
        <t>Representation is normative and MUST be declared by the payload class.
The following representations are distinct and are not implicitly
interchangeable:</t>
        <ul spacing="normal">
          <li>
            <t>bare 64-character lowercase hexadecimal text;</t>
          </li>
          <li>
            <t>prefixed textual representation; and</t>
          </li>
          <li>
            <t>raw 32-byte octet sequence.</t>
          </li>
        </ul>
        <t>A payload class MUST specify which representation it uses for each field
containing or referencing a derived identifier. A verifier MUST NOT
silently coerce among representations.</t>
        <t>A deterministic conversion MAY be applied only where this specification or
the applicable payload profile expressly defines both the conversion and
the resulting comparison representation. Such a conversion is an explicit
protocol operation and does not make the original representations
byte-identical.</t>
        <t>Each digest context used by a typed reference MUST declare whether its
comparison value is raw octets, bare text, or prefixed text, and MUST define
the exact grammar of any textual form. In <tt>cpb-refs</tt>, raw octets are encoded
as a CBOR byte string and textual forms as a CBOR text string. A verifier MUST
NOT silently convert between these forms. A wire type or textual form that is
inconsistent with the uniquely selected digest context produces the Failed
state.</t>
      </section>
    </section>
    <section anchor="envelope">
      <name>Envelope Conventions</name>
      <t>Every CPB Signed Statement MUST be a tagged COSE_Sign1 structure
<xref target="RFC9052"/> and MUST satisfy every applicable requirement of <xref target="RFC9943"/>.
CPB requirements are additive and do not replace or relax the SCITT
baseline. In particular, the protected header MUST contain the CWT Claims
header parameter (label 15), whose value includes <tt>iss</tt> (Claim label 1) and
<tt>sub</tt> (Claim label 2). Key identification, certificate carriage, and the
relationship among <tt>kid</tt>, <tt>x5t</tt>, and <tt>x5chain</tt> MUST follow <xref target="RFC9943"/>; CPB
does not define an alternative credential rule.</t>
      <t>A CPB Signed Statement uses exactly one of the two modes below. Other COSE
header parameters are permitted only when <xref target="RFC9052"/>, <xref target="RFC9943"/>, this
document, or the applicable payload profile defines them. Producers MUST NOT add ad-hoc
protected-header parameters. CPB assigns no meaning to non-critical header
parameters defined elsewhere. The closed extension policy for the inner
<tt>cpb-refs</tt> map is specified in <xref target="envelope-carriage"/>.</t>
      <section anchor="full-content-mode">
        <name>Full-Content Mode</name>
        <t>In Full-Content Mode, the payload supplied to COSE signing and verification
is the complete serialized statement content, whether that payload is
attached or detached as permitted by <xref target="RFC9052"/>. Protected <tt>content_type</tt>
(label 3) MUST identify the serialization selected by the payload profile
using a media type or content-format value permitted by <xref target="RFC9943"/> and
<xref target="RFC6838"/>. CPB neither constructs media-type names from payload-class names
nor registers a payload format. The RFC 9995 parameters 258, 259, and 260
MUST NOT appear in this mode.</t>
      </section>
      <section anchor="hash-envelope-mode">
        <name>Hash Envelope Mode</name>
        <t>In Hash Envelope Mode, let s be the complete statement content after any
carried derived identifier has been populated. The Signed Statement MUST
conform to the COSE Hash Envelope rules in <xref target="RFC9995"/> in addition to the
applicable <xref target="RFC9943"/> requirements stated above. The payload supplied to
COSE signing and verification MUST be the raw octet string:</t>
        <artwork><![CDATA[
RAW-DIGEST(A, s) = H_A(A(s))
]]></artwork>
        <t>It MUST NOT be the hexadecimal or other encoded CANONICAL-DIGEST value. If
the COSE payload is detached, the externally supplied payload is this same
raw digest value.</t>
        <t>The profile's derived-identifier exclusion set MUST NOT be applied to this
Hash Envelope computation: RFC 9995 binds the complete statement content.
The derived identifier remains a separate computation over s with its
declared exclusion set as specified in <xref target="derived-id"/>. Even when both use the
same canonicalization and hash algorithm, a producer or verifier MUST NOT
assume the Hash Envelope payload is the raw representation of the derived
identifier. A verifier processing a carried derived identifier MUST check
that identifier separately from the Hash Envelope content binding.</t>
        <t>The protected header MUST contain <tt>payload-hash-alg</tt> (CDDL
<tt>payload_hash_alg</tt>, label 258), identifying H_A by its COSE hash-algorithm
identifier, and <tt>preimage-content-type</tt> (CDDL
<tt>payload_preimage_content_type</tt>, label 259), identifying the media type or
content format of the exact canonical octets A(s) that were hashed. A
<tt>payload-location</tt> (CDDL <tt>payload_location</tt>, label 260) MAY also appear in
the protected header. As
required by <xref target="RFC9995"/>, labels 258 through 260 MUST NOT appear in the
unprotected header, and <tt>content_type</tt> (label 3) MUST NOT appear in either
header bucket.</t>
        <t>The applicable payload profile MUST identify A and the complete preimage
construction. Label 258 selects only H_A; a verifier MUST NOT treat it as a
canonicalization-algorithm identifier. An algorithm used in Hash Envelope
Mode MUST have an unambiguous COSE hash-algorithm mapping in its
Canonicalization Algorithm Registry entry (<xref target="iana-alg"/>).</t>
        <t>A verifier that has not obtained s can establish Signature-Valid status and,
after applying its issuer/key policy, can authenticate the digest claim, but
it has not verified the content binding.
To verify that binding, it MUST obtain s, compute A(s), apply the function
identified by label 258, and compare the raw result to the COSE payload.
<tt>cpb-refs</tt> MAY be used in either envelope mode, subject to
<xref target="envelope-carriage"/>.</t>
      </section>
    </section>
    <section anchor="receipt-binding">
      <name>Statement-to-Receipt Binding</name>
      <t>A producer makes a record transparent by registering its Signed Statement
with a SCITT Transparency Service per <xref target="RFC9943"/> and attaching the returned
Receipt to the unprotected header, forming a Transparent Statement.</t>
      <t>This profile is VDS-agnostic at the statement layer. Receipt format and
proof verification are governed by the Verifiable Data Structure (VDS) of
the Transparency Service; this profile imposes no VDS requirement.</t>
      <t>A verifier MUST NOT report receipt-backed status without having verified
a Receipt from a Transparency Service under a key the verifier trusts.</t>
      <t>A verifier determining which VDS to apply when verifying a Receipt MUST
read the VDS identifier from the protected header of the Receipt. The
verifier MUST NOT infer the VDS from the COSE structure of the receipt
alone. Unknown VDS identifiers MUST be rejected.</t>
      <section anchor="leaf-rule">
        <name>Leaf Construction</name>
        <t>This profile imposes no leaf construction on a Verifiable Data Structure.
Where a Transparency Service's VDS keys its log on a digest associated with
the derived identifier, the algorithms defined in this document produce a
32-byte RAW-DIGEST and a 64-character hexadecimal CANONICAL-DIGEST
representation of that value (<xref target="representation"/>). The VDS or an applicable
profile MUST state which one is its leaf input, and producer and verifier MUST
use that same representation. Algorithms registered later may have different
output sizes.</t>
        <t>For example, when that declaration selects RAW-DIGEST and the carried derived
identifier is a 64-character hexadecimal string D, the leaf input is:</t>
        <artwork><![CDATA[
leaf_input = bytes.fromhex(D)    -- 32 raw bytes
]]></artwork>
        <t>Under that RAW-DIGEST declaration, the following is incorrect:</t>
        <artwork><![CDATA[
leaf_input = D.encode("utf-8")  -- 64 ASCII bytes, not RAW-DIGEST
]]></artwork>
        <t>If the declaration instead selects the textual CANONICAL-DIGEST, the latter
64 ASCII bytes are the declared input. A verifier constructing a leaf MUST
apply the declared selection and MUST NOT infer it from the apparent shape of
the value. Confusing raw bytes with their hexadecimal encoding produces a
different leaf hash.</t>
      </section>
    </section>
    <section anchor="typed-refs">
      <name>Typed Digest References (Information Model)</name>
      <t>A typed digest reference is the mechanism by which one record cites an
external artifact — another record, an authorization document, a
configuration object, or any other verifiable item — by its content-address
without embedding it.</t>
      <t>This section defines a typed digest reference as an abstract information
model: four members, their meaning, and their requiredness. It does not fix a
payload serialization. CPB defines an optional protected-header serialization
in <xref target="envelope-carriage"/>; a payload profile may instead define its own
serialization as described in <xref target="payload-carriage"/>.</t>
      <t>A typed digest reference has the following members:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Member</th>
            <th align="left">Value</th>
            <th align="left">Req</th>
            <th align="left">Meaning</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">type</td>
            <td align="left">text</td>
            <td align="left">REQUIRED</td>
            <td align="left">The artifact-type identifier defined by a stable specification that the consuming profile explicitly accepts. CPB does not register these values.</td>
          </tr>
          <tr>
            <td align="left">purpose</td>
            <td align="left">text</td>
            <td align="left">CONDITIONAL</td>
            <td align="left">Selects one digest context for the resolved type. It is REQUIRED when that type has multiple accepted contexts and otherwise follows <xref target="comparability"/>.</td>
          </tr>
          <tr>
            <td align="left">digest_alg</td>
            <td align="left">text</td>
            <td align="left">REQUIRED</td>
            <td align="left">The hash algorithm of the digest value (e.g., "SHA-256"). The canonicalization context of the cited artifact is resolved from the digest context selected by <tt>type</tt> and <tt>purpose</tt>, not from this field.</td>
          </tr>
          <tr>
            <td align="left">digest</td>
            <td align="left">digest in the context's declared representation</td>
            <td align="left">REQUIRED</td>
            <td align="left">The digest of the cited artifact, in the exact representation declared by the selected digest context.</td>
          </tr>
        </tbody>
      </table>
      <t>These are the only members of the CPB information model. A payload profile
may place profile-specific fields beside its rendering of a typed reference,
but those fields are not CPB typed-reference extensions and their processing
is governed solely by that profile. The <tt>cpb-refs</tt> map is closed in this
version; see <xref target="envelope-carriage"/>.</t>
      <section anchor="comparability">
        <name>Cross-Profile Comparability</name>
        <t>Within typed-reference verification, the digest carried by the reference
and the digest recomputed over the referenced artifact are comparable only
when both are interpreted under the same established referenced-artifact
digest context and comparison representation.</t>
        <t>A consuming profile that accepts typed references MUST identify, by stable
normative reference, every artifact-type declaration that it accepts. Each
declaration MUST bind an exact <tt>type</tt> token to one or more digest contexts.
Each context MUST state its preimage construction, canonicalization
algorithm, hash function, exact <tt>digest_alg</tt> token, output representation,
and a purpose label when required below. A deployment MAY select a subset of
the declarations its consuming profile permits, but it MUST NOT redefine a
token or any parameter of its cited declaration. CPB creates no artifact-type
registry and does not authorize discovery from an unspecified or mutable
registry snapshot.</t>
        <t>The verifier MUST use <tt>type</tt> and, when present, <tt>purpose</tt> to select exactly
one accepted context:</t>
        <ul spacing="normal">
          <li>
            <t>If exactly one context is accepted for <tt>type</tt>, <tt>purpose</tt> MAY be absent. If
it is present, it MUST exactly match that context's declared purpose;
otherwise the reference is Unresolved.</t>
          </li>
          <li>
            <t>If multiple contexts are accepted for <tt>type</tt>, every context MUST have a
distinct, non-empty purpose label and the reference MUST carry <tt>purpose</tt>.
An absent or non-matching value makes the reference Unresolved.</t>
          </li>
          <li>
            <t>If no declaration matches, or declarations from more than one normative
source leave the selection ambiguous, the reference is Unresolved. The
verifier MUST NOT choose by entry order, apparent recency, or preferred
algorithm.</t>
          </li>
          <li>
            <t>A profile or deployment configuration containing duplicate <tt>(type,
purpose)</tt> selections is invalid and MUST NOT be used for verification.</t>
          </li>
        </ul>
        <t>After selecting a context, the verifier MUST compare <tt>digest_alg</tt> with the
exact token declared by that context. Comparison is case-sensitive and
octet-for-octet: no case folding, alias table, or whitespace trimming is
permitted. A mismatch makes the reference Failed; the verifier MUST NOT
silently use the context's algorithm while ignoring the supplied value.</t>
        <t><tt>digest_alg</tt> is REQUIRED even though every algorithm registered in
<xref target="iana-alg"/> today names the same hash, SHA-256: it is the field that lets
a future Canonicalization Algorithm Registry entry using a different hash
land as a new token without a breaking change to this wire format, rather
than being decorative because only one value is legal now.</t>
        <t>The hash algorithm is not chosen per reference. The selected digest context
determines it; <tt>digest_alg</tt> is a redundant consistency declaration for
algorithm agility and downgrade detection.</t>
        <t>The verifier MUST next check that the carried value uses the selected
context's declared representation. A mismatch is Failed. If the
representation matches but the cited artifact cannot be obtained, the state
is Unresolved. If the context is valid but the verifier does not implement its
construction, the state is also Unresolved. Otherwise, the verifier
MUST recompute the digest using the selected context and compare it
byte-for-byte with <tt>digest</tt>. Equal values produce Verified; unequal values
produce Failed. A deterministic conversion
is permitted only when the selected context expressly defines that conversion
and its output comparison representation.</t>
        <t>The citing record's own derived-identifier context need NOT be compatible
with the referenced artifact's digest context; those contexts govern
different computations.</t>
        <t>The two values actually being compared must share an established comparison
context. Bare hexadecimal equality alone is not a join.</t>
        <t>The enclosing Signed Statement's signature result is independent of these
states. A verifier SHOULD return the signature result and each reference
result separately. It MUST NOT treat a typed reference as authenticated or
actionable on behalf of the issuer unless the Signed Statement is
Issuer-Authenticated.
A Signature-Valid statement can contain an Unresolved or Failed reference;
a Verified digest match does not authenticate an issuer whose signature did
not validate.</t>
        <t>The consuming profile MUST define the disposition of every non-Verified
state. It MUST NOT rely on an Unresolved, Failed, or Malformed reference as
evidence of a content binding.</t>
      </section>
      <section anchor="carriage-selection">
        <name>Carriage Selection</name>
        <t>A payload profile that uses CPB typed references MUST select exactly one
carrier for them in each Signed Statement: <tt>cpb-refs</tt> envelope carriage or a
profile-owned payload carriage. A producer MUST NOT use both carriers in one
Signed Statement, whether for the same or different citations. A
profile-aware verifier that detects both MUST classify the Signed Statement
as nonconforming and MUST NOT merge the sets or prefer one carrier. A generic
CPB verifier is not expected to recognize a payload profile's private
serialization.</t>
      </section>
      <section anchor="envelope-carriage">
        <name>Envelope Carriage</name>
        <t>A CPB-bound Signed Statement MAY carry its typed digest references as a
COSE protected header parameter, <tt>cpb-refs</tt>, registered in <xref target="iana-header"/>.
The parameter MUST NOT occur in the unprotected header. Its value is defined
by this CDDL <xref target="RFC8610"/>:</t>
        <artwork><![CDATA[
cpb-refs = [1*64 typed-digest-reference]

typed-digest-reference = {
  1 => type-tstr,  ; type
  ? 2 => purpose-tstr,  ; purpose
  3 => digest-alg-tstr,  ; digest_alg
  4 => digest-value  ; digest
}

type-tstr = tstr .size (1..255)
purpose-tstr = tstr .size (1..64)
digest-alg-tstr = tstr .size (1..32)
digest-value = tstr .size (1..128) / bstr .size (1..128)
]]></artwork>
        <t>The integer keys have these meanings:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Key</th>
              <th align="left">Member</th>
              <th align="left">CBOR type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1</td>
              <td align="left">type</td>
              <td align="left">text string</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">purpose</td>
              <td align="left">text string</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">digest_alg</td>
              <td align="left">text string</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">digest</td>
              <td align="left">text string or byte string, matching the selected context's representation (<xref target="representation"/>)</td>
            </tr>
          </tbody>
        </table>
        <t>The encoded UTF-8 lengths of <tt>type</tt>, <tt>purpose</tt>, and <tt>digest_alg</tt> MUST be,
respectively, 1 through 255, 1 through 64, and 1 through 32 octets. The
encoded value at key 4 MUST be 1 through 128 octets. The array MUST contain
1 through 64 entries. These limits are part of the wire profile;
implementations MAY impose lower deployment limits only when their
registration or consuming policy advertises those limits before accepting
statements.</t>
        <t>The map is closed. Keys other than 1 through 4 are not extensions: their
presence makes the entire <tt>cpb-refs</tt> value Malformed. Any missing required
key, wrong CBOR type, empty or oversized value, or array outside the declared
bounds has the same result. A future extension that changes the reference
map requires a standards update or a new COSE header parameter; it MUST NOT
be introduced through an unrecognized inner-map key.</t>
        <t>CBOR map keys MUST be unique as required by this protocol's application of
<xref target="RFC8949"/>. A decoder MUST detect duplicate keys before any data-model
conversion that could discard them. Repeated array entries with the same
decoded four-member tuple are also forbidden. A duplicate key or repeated
entry makes the entire <tt>cpb-refs</tt> value Malformed; first-wins, last-wins,
partial-success, and duplicate-weighting behavior are prohibited. If any
array entry is Malformed, a verifier MUST NOT report another entry from that
header value as Verified. The COSE signature result remains independently
reportable.</t>
        <t>The CDDL constrains the data model, not the choice among CBOR serializations.
CPB imposes no deterministic-encoding or definite-length requirement beyond
<xref target="RFC8949"/> and <xref target="RFC9052"/>. Test fixtures MAY pin one deterministic encoding
solely to make expected bytes reproducible. A conforming verifier MUST NOT
reject another otherwise valid encoding solely because its bytes differ from
the fixture encoding.</t>
        <t>If a consuming profile requires understanding <tt>cpb-refs</tt> before accepting or
processing the Signed Statement, the producer MUST include the <tt>cpb-refs</tt>
label in the protected <tt>crit</tt> header parameter, and a verifier applying that
profile MUST reject a statement that omits that critical marking. When the
references are advisory to the applicable policy, the producer MAY omit the
label from <tt>crit</tt>. Unsupported critical use is a COSE processing failure as
specified by <xref target="RFC9052"/>. Critical marking does not make a Malformed,
Unresolved, or Failed reference valid.</t>
        <t><tt>cpb-refs</tt> is signature-covered because it is protected-header content, but
it becomes authenticated as an issuer claim only after the Signed Statement
is Issuer-Authenticated. It is not covered by the payload's derived identifier
(<xref target="derived-id"/>), which is computed from the payload content alone.</t>
      </section>
      <section anchor="payload-carriage">
        <name>Payload Carriage</name>
        <t>This section is informative.</t>
        <t>A payload profile MAY carry typed digest references in its own
serialization — JSON, CBOR, or any other format the payload class
defines — as part of the payload bytes that the derived identifier is
computed over. This document does not define that serialization: a
payload profile that carries references this way states its own field names,
container structure, extension behavior, and any profile-specific
requiredness beyond <xref target="typed-refs"/>'s information model. In Full-Content Mode,
the serialized reference data are part of the content supplied to COSE
signature verification. In Hash Envelope Mode, the raw digest of the complete
statement content is supplied instead, and the reference data are covered only
after the verifier obtains that content and validates the hash binding as
specified in <xref target="hash-envelope-mode"/>. Neither kind of coverage makes a typed
reference Verified without the processing in <xref target="comparability"/>.
<xref target="appendix-d"/> describes one profile-owned example without defining its wire
format here. The prohibition on dual carriage in <xref target="carriage-selection"/>
still applies.</t>
      </section>
      <section anchor="verification-scope">
        <name>Verification Scope</name>
        <t>Successful verification of a typed digest reference establishes content
binding to the referenced artifact under the declared digest context. CPB
verification alone MUST NOT be interpreted as establishing issuer authority,
artifact validity, scope, freshness, revocation status, policy compliance,
semantic acceptance, or application authorization. Any appraisal required
by the referenced artifact type or consuming application profile remains a
separate verification step. Missing, indeterminate, or failed required
appraisal MUST NOT be treated as authorization success.</t>
        <t>The interchangeability property of typed digest references -- that any
artifact type whose digest context can be resolved may fill a citation slot
-- applies to citation-binding interoperability only and does not extend to
any appraisal or authorization semantics defined by the artifact type or
consuming profile.</t>
      </section>
    </section>
    <section anchor="profile-independence">
      <name>Profile Independence</name>
      <t>When a payload profile uses CPB to bind an artifact of another type, it MUST
NOT require the CPB citation-binding verifier to interpret the other payload
profile's internal fields. The CPB relationship is expressed through a typed
reference (<xref target="typed-refs"/>) that resolves against the cited artifact type's own
digest-context declaration.</t>
      <t>This constraint keeps CPB binding verification decomposable: a verifier
evaluates each digest under its own declared context. It does not prohibit an
application or consuming profile from defining additional joint semantics or
appraisal after the independent content bindings have been checked.</t>
    </section>
    <section anchor="discovery">
      <name>Discovery Mirror</name>
      <t>This section is informative.</t>
      <t>A producer MAY place an unprotected COSE header parameter that mirrors the
derived identifier of the record when the applicable payload profile defines
that parameter's label, type, and processing. CPB does not assign a discovery
label or wire encoding. Any such parameter is advisory only: it can help log
tooling locate a record's content-address without parsing the payload, but it
carries no binding guarantee.</t>
      <t>A verifier MUST NOT rely on an advisory mirror without obtaining the content
and recomputing its derived identifier under the applicable payload profile.
A mismatch is a defect in the record and MUST be reported.</t>
      <t>Section 3.11.2 of <xref target="I-D.birkholz-verifiable-agent-conversations"/> defines an
unprotected <tt>trace-metadata</tt> map with optional <tt>content-hash</tt> and
<tt>content-hash-alg</tt> members. That is an analogous profile-owned discovery
mechanism. CPB does not assert wire compatibility with it.</t>
    </section>
    <section anchor="cross-cutting">
      <name>Extensibility and Cross-Cutting Facilities</name>
      <t>This section is informative.</t>
      <t>This specification does not define selective disclosure, countersignature or
multi-party attestation, record-relation semantics, erasure tombstones,
producer timestamps or validity periods, batch aggregation, or profile
versioning. A companion or payload profile that defines one specifies its own
semantics and wire behavior; it does not thereby extend the closed <tt>cpb-refs</tt>
map.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="preimages-are-bytes-not-renderings">
        <name>Preimages Are Bytes, Not Renderings</name>
        <t>The preimage of RAW-DIGEST, and therefore of CANONICAL-DIGEST, is the octet
string produced by the canonicalization algorithm — not a rendered form, not
a console output, and not a string with added whitespace, trailing newlines,
or encoding differences. A producer that serializes then re-reads the payload
before computing the digest MUST ensure the byte sequence entering the hash
function is identical to what the canonicalization algorithm produces, not
what a deserializer happens to emit. Diagnosing divergence requires comparing
the exact octets, not visual representations.</t>
      </section>
      <section anchor="low-entropy-fields">
        <name>Low-Entropy Fields</name>
        <t>A digest hides its pre-image only to the degree the pre-image space is large
and unguessable. When a committed value is drawn from a small enumeration, a
short identifier, or a bounded numeric range, an adversary can reconstruct it
by enumerating candidates and matching digests. A payload class SHOULD commit
low-entropy fields under a per-issuer salt or via a selective-disclosure
mechanism (see the SD-JWT commitment pattern in <xref target="RFC9901"/>) rather than
digesting the bare value. Bare digests of low-entropy fields are not
confidential.</t>
      </section>
      <section anchor="floats">
        <name>Float Values and Digest Reproducibility</name>
        <t>Different JSON implementations can serialize the same numeric quantity
(<xref target="RFC8259"/> number values that are not integers) as
<tt>1.0</tt>, <tt>1e0</tt>, or <tt>1.00</tt>; a canonicalization algorithm's number-serialization
rule determines whether that variation survives into the digest pre-image.
Algorithm <tt>jcs</tt> (<xref target="algo-jcs"/>) inherits RFC 8785's canonical
ECMAScript-based number-to-string procedure (<xref target="RFC8785"/> Section 3.2.2.3),
which fixes one serialization per IEEE 754 double-precision value; two
conforming implementations that parse the same numeric literal into the same
double-precision value therefore produce byte-identical output under <tt>jcs</tt>.
That guarantee is bounded by parsing, not by canonicalization: a JSON parser
that rounds a numeric literal to a different double-precision value than
another parser produces a different pre-image under any algorithm, <tt>jcs</tt>
included. A payload profile for which this residual risk is unacceptable —
for example, one carrying monetary or quantity values — MAY declare its own
stricter constraint, such as requiring exact decimal strings instead of
JSON numbers, in the fields it selects for digesting; such a constraint is a
payload-profile decision, not a requirement this document imposes on every
payload class.</t>
      </section>
      <section anchor="immutable-coordinates">
        <name>Immutable Coordinates</name>
        <t>A mutable reference — a branch name, a tag that can be moved, a content
URL that is not a content-addressed URL — is not evidence. The moment a
record is amended at its referent, any citation to the mutable reference
silently refers to the new content. A payload profile that relies on CPB to
verify a citation MUST express it as a typed digest reference (<xref target="typed-refs"/>)
that pins the content by its CANONICAL-DIGEST. Names, labels, and human-readable identifiers MAY appear
alongside a typed reference for display purposes but carry no evidentiary
weight.</t>
        <t>When an artifact type cited in an immutable coordinate has no uniquely
resolvable, profile-authorized digest-context declaration, the reference is
Unresolved and the consuming profile determines the disposition
(<xref target="comparability"/>). A verifier MUST NOT invent a mapping or reinterpret an
existing type token to make an earlier citation verifiable.</t>
      </section>
      <section anchor="tamper-evidence-and-runtime-honesty">
        <name>Tamper Evidence and Runtime Honesty</name>
        <t>The envelope signature and the registration Receipt provide tamper evidence
for the record's bytes and bound its timing. They do not prove the recording
runtime was honest at the moment of recording. A producer that seals a false
record produces a structurally valid record of a fiction. A Transparency
Service's append-only property bounds the timing of such a record and makes
its omission or substitution detectable; it does not make its content true.</t>
      </section>
      <section anchor="ltv">
        <name>Long-Term Verifiability Considerations</name>
        <t>Artifacts bound under this specification may need to remain verifiable over periods
considerably longer than the lifetime of any particular digest or signature algorithm.
Because a binding is expressed in terms of a registered algorithm identifier rather
than a fixed algorithm, artifacts bound under different algorithms are each well-formed
and independently verifiable.</t>
        <t>Preserving verifiability across an algorithm transition requires that evidence be
re-established under a stronger algorithm <em>before</em> the original is considered weak;
this cannot be done retroactively. Deployments with long retention requirements SHOULD
adopt an evidence-renewal scheme. <xref target="RFC4998"/> specifies one such scheme and
distinguishes timestamp renewal, which operates on archived evidence alone, from
hash-tree renewal, which requires access to the original data objects. This
specification does not mandate a particular scheme.</t>
      </section>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>CPB provides integrity binding, not confidentiality. Full-Content Mode exposes
the statement payload unless another applicable mechanism protects it. Hash
Envelope Mode can withhold the preimage, but exposes a stable digest. COSE
protected headers are integrity-protected after successful signature
validation and issuer-authenticated only after the applicable key policy
succeeds; they are not encrypted. In particular, <tt>cpb-refs</tt> exposes each reference's
type, purpose, digest algorithm, and digest value, together with citation-graph
structure. These values can enable correlation across records and dictionary
attacks against low-entropy artifacts.</t>
      <t>A producer SHOULD omit <tt>cpb-refs</tt> or use a profile-defined confidential
payload carrier when public header visibility is inappropriate. A consuming
profile MUST analyze whether its type and purpose values, stable digests, or
citation topology disclose identities, relationships, workflow state, or
otherwise sensitive information. <tt>type</tt> and <tt>purpose</tt> MUST NOT contain secrets
or unnecessary personal data.</t>
      <t>Low-entropy fields are not confidential merely because they are digested
(<xref target="security"/>). Salting, unlinkable identifiers, and selective-disclosure
commitments can reduce some risks, but each changes the digest context and
MUST be explicitly declared by the applicable profile. A verifier MUST NOT
introduce such a transformation implicitly.</t>
      <t>An anchored record cannot be retracted: a Transparency Service's log is
append-only and a registered record persists. Payload classes SHOULD
specify which fields, if any, must not be present in a record that is
intended to be anchored.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document requests the creation of one new IANA registry, the
Canonicalization Algorithm Registry (<xref target="iana-alg"/>), under a "Canonical
Payload Binding" heading, and one registration in an existing IANA
registry, the <tt>cpb-refs</tt> COSE Header Parameter (<xref target="iana-header"/>). The
Canonicalization Algorithm Registry uses the Specification Required
policy (<xref target="RFC8126"/>, Section 4.6); a Designated Expert is required for each
registration. This document neither creates nor depends on an artifact-type
registry. Artifact-type and digest-context declarations are owned and
selected by profiles as specified in <xref target="comparability"/>.</t>
      <t>An active entry's algorithm semantics are immutable. If a behavior change is
needed, a new entry MUST be registered; an existing name MUST NOT be
reinterpreted. Status changes follow the rules below and the same
Specification Required policy. IANA is the registry maintainer; no source
repository or other body is an alternative registry authority. Before RFC
publication, the names in this document are draft-local and the table below
is only the requested initial registry contents.</t>
      <section anchor="iana-alg">
        <name>Canonicalization Algorithm Registry</name>
        <t>This registry records the canonicalization algorithms that may be used to
compute CANONICAL-DIGEST values.</t>
        <t>Each entry pins its canonicalization steps, its hash function, and its
output representation together as a single immutable triple, so that
changing any one of the three requires registering a new token rather than
reinterpreting an existing one — otherwise a token such as <tt>jcs</tt> would
silently come to mean more than its name states.</t>
        <t>Registration template:</t>
        <ul spacing="normal">
          <li>
            <t>Name: A short ASCII identifier suitable for use in protocol fields.</t>
          </li>
          <li>
            <t>Status: <tt>Active</tt>, <tt>Reserved</tt>, or <tt>Withdrawn</tt>.</t>
          </li>
          <li>
            <t>Preimage construction: A normative description sufficient to implement the
canonicalization or byte-selection operation deterministically.</t>
          </li>
          <li>
            <t>Hash function and typed-reference token: The hash function and the exact
<tt>digest_alg</tt> string used by a digest context based on this entry.</t>
          </li>
          <li>
            <t>COSE hash algorithm: The integer COSE Algorithms registry value used for
RFC 9995 Hash Envelope Mode, or "N/A" when that mode is unsupported.</t>
          </li>
          <li>
            <t>Output representation: The exact ENCODE_A operation and result type.</t>
          </li>
          <li>
            <t>Test vectors: Public positive and negative vectors covering preimage and
output boundaries.</t>
          </li>
          <li>
            <t>Reference: The stable, publicly available specification that defines the
algorithm.</t>
          </li>
        </ul>
        <t>An <tt>Active</tt> entry MUST complete every field other than permitting "N/A" for
the COSE hash algorithm when Hash Envelope Mode is unsupported. A <tt>Reserved</tt>
entry binds only its name and MAY use "N/A" for the remaining algorithm
fields. Promotion from <tt>Reserved</tt> to <tt>Active</tt> requires a complete registration.
An <tt>Active</tt> or <tt>Reserved</tt> entry MAY become <tt>Withdrawn</tt>; withdrawal is terminal,
prohibits new use, and does not erase an active entry's last definition, which
remains available for historical verification. A <tt>Withdrawn</tt> name MUST NOT be
reassigned.</t>
        <t>The Designated Expert MUST verify that each required field is unambiguous, the
cited specification and vectors are publicly available for an active entry,
and the requested registration or status change does not alter the semantics
of an existing active or withdrawn definition.</t>
        <t>Initial contents:</t>
        <t>The preimage construction for each active entry is defined in
<xref target="algorithms"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Status</th>
              <th align="left">Hash / token</th>
              <th align="left">COSE</th>
              <th align="left">Output</th>
              <th align="left">Test Vectors</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">jcs</td>
              <td align="left">Active</td>
              <td align="left">SHA-256 / <tt>SHA-256</tt></td>
              <td align="left">-16</td>
              <td align="left">64-char lowerhex</td>
              <td align="left">
                <xref target="test-vector-locations"/></td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">jcs-n</td>
              <td align="left">Withdrawn</td>
              <td align="left">SHA-256 / <tt>SHA-256</tt></td>
              <td align="left">-16</td>
              <td align="left">64-char lowerhex</td>
              <td align="left">
                <xref target="test-vector-locations"/></td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">cde-n</td>
              <td align="left">Withdrawn</td>
              <td align="left">N/A</td>
              <td align="left">N/A</td>
              <td align="left">N/A</td>
              <td align="left">N/A -- no definition exists</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">as-transmitted</td>
              <td align="left">Active</td>
              <td align="left">SHA-256 / <tt>SHA-256</tt></td>
              <td align="left">-16</td>
              <td align="left">64-char lowerhex</td>
              <td align="left">
                <xref target="test-vector-locations"/></td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <section anchor="test-vector-locations">
          <name>Test Vector Locations</name>
          <t>The public vector locations named by the initial registrations are:</t>
          <ul spacing="normal">
            <li>
              <t><tt>jcs</tt>: https://github.com/action-state-group/scitt-payload-binding/tree/main/vectors/jcs</t>
            </li>
            <li>
              <t>historical <tt>jcs-n</tt>: https://github.com/action-state-group/scitt-payload-binding/tree/main/vectors/jcs-n</t>
            </li>
            <li>
              <t><tt>as-transmitted</tt>: https://github.com/action-state-group/scitt-payload-binding/tree/main/vectors/as-transmitted</t>
            </li>
          </ul>
          <t>A payload class or typed digest reference naming <tt>cde-n</tt> MUST NOT be
treated as verifiable under any vintage: the token was bound by a reserved
entry but never assigned a definition, so no construction exists to verify
against, and a verifier encountering it MUST fail closed; for a typed
reference, the outcome is Failed. A payload class or typed digest reference
naming <tt>jcs-n</tt> MUST NOT be newly declared;
records committed under it before 2026-08-18 are governed by the vintage
rule in <xref target="algo-jcs-n"/>. Both withdrawals are recorded terminal states, not
deletions: the tokens stay bound and are never assigned or reassigned. See
<xref target="algo-cde-n"/> and <xref target="algo-jcs-n"/>.</t>
          <t>An artifact type MUST NOT declare <tt>as-transmitted</tt> without a byte-boundary
selector that cites a named production in the container specification
(<xref target="algo-as-transmitted"/>). Without that selector, an <tt>as-transmitted</tt>
declaration states nothing: there is no field set, no exclusion set, and no
canonicalization to fall back on for the pre-image construction.</t>
        </section>
      </section>
      <section anchor="iana-header">
        <name>COSE Header Parameters Registration</name>
        <t>This document requests registration of the following entry in the "COSE
Header Parameters" registry <xref target="RFC9052"/>, Section 11.1:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Label</th>
              <th align="left">Value Type</th>
              <th align="left">Value Registry</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">cpb-refs</td>
              <td align="left">TBD1</td>
              <td align="left">array</td>
              <td align="left"> </td>
              <td align="left">A closed, bounded array of typed digest references encoded as specified in <xref target="envelope-carriage"/></td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <t>IANA is requested to assign an integer value for TBD1. The registry uses the
Specification Required policy (<xref target="RFC8126"/>, Section 4.6). <tt>cpb-refs</tt> may
appear in the protected header only and MUST NOT appear in the unprotected
header. Its critical-processing behavior and the distinction among
signature coverage, authentication, and reference verification are specified
in <xref target="envelope-carriage"/>.</t>
      </section>
    </section>
    <section anchor="related">
      <name>Related Work</name>
      <t><xref target="RFC9995"/> defines the protected parameters and COSE payload semantics for
signing a hash rather than its preimage. CPB Hash Envelope Mode
(<xref target="hash-envelope-mode"/>) uses that format and adds the profile-selected
canonicalization step that precedes the registered hash function.</t>
      <t><xref target="RFC9942"/> defines generic COSE Receipts. The CCF Receipt Profile
<xref target="I-D.ietf-scitt-receipts-ccf-profile"/> defines one VDS-specific Receipt
profile. CPB does not alter either format.</t>
      <t><xref target="I-D.hillier-scitt-arp"/> independently derives a similar canonical claim
construction in its Sections 3 and 4.1. Its Claim Hash uses its own
normalization, deterministic encoding, and deployment-blinding rules. It is
not byte-compatible with a CPB <tt>jcs</tt> identifier, and implementations MUST NOT
substitute one construction for the other.</t>
      <t><xref target="I-D.birkholz-verifiable-agent-conversations"/> defines trace-metadata
at the conversation grain in Section 3.11.2, including optional content-hash
metadata in an unprotected header. <xref target="discovery"/> notes the analogous design
without claiming a shared label or wire format. CPB does not normatively
depend on that document.</t>
      <t><xref target="I-D.le-scitt-derived-subjects"/> derives a protected CWT <tt>sub</tt> value from an
application-admitted structured Value. It explicitly does not derive that
subject from the Statement payload or define generic payload binding. CPB
instead derives identifiers for Statement content and binds digest references;
it does not replace that document's subject-identity profile.</t>
      <t><xref target="I-D.le-comparing-derived-identifiers"/> gives general principles for fixing
the comparison domain, equivalence relation, and complete derivation semantics
of independently produced identifiers. It defines no wire syntax,
canonicalization format, or hash procedure. CPB instantiates such choices for
its narrower Statement-content and typed-reference mechanisms.</t>
      <t><xref target="I-D.nobuo-scitt-protected-object-binding"/> defines protected-object and
Statement-reference models, relationship vocabulary, and an optional graph
manifest. It does not define CPB's canonicalization algorithms, derived-
identifier procedure, or <tt>cpb-refs</tt> carrier; CPB does not import its graph
semantics.</t>
      <t><xref target="RFC6920"/> defines hash-based <tt>ni</tt> and <tt>nih</tt> names, URI/URL representations,
and associated registries. CPB defines the structured-content preimage and
digest context used for its bindings but defines no URI syntax or resolution
protocol.</t>
      <t><xref target="I-D.sokolov-rats-aep-composition"/> addresses the complementary problem in
the RATS domain: composing application-layer action evidence with remote
attestation. <xref target="I-D.mih-sato-agent-accountability-composition"/> defines
composition and conformance rules for multi-agent accountability chains.
They address composition and appraisal questions outside CPB's payload-neutral
binding rules; CPB does not import their payload semantics.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </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="RFC8785">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
            <author fullname="B. Jordan" initials="B." surname="Jordan"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
              <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8785"/>
          <seriesInfo name="DOI" value="10.17487/RFC8785"/>
        </reference>
        <reference anchor="RFC8949">
          <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="RFC9052">
          <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="RFC9942">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Receipts</title>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>CBOR Object Signing and Encryption (COSE) Receipts prove properties of a Verifiable Data Structure (VDS) to a verifier. VDSs and associated Proof Types enable security properties, such as minimal disclosure, transparency, and non-equivocation. Transparency helps maintain trust over time and has been applied to certificates, end-to-end encrypted messaging systems, and supply chain security. This specification enables concise transparency-oriented systems by building on Concise Binary Object Representation (CBOR) and COSE. The extensibility of the approach is demonstrated by providing CBOR encodings for Merkle inclusion and consistency proofs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9942"/>
          <seriesInfo name="DOI" value="10.17487/RFC9942"/>
        </reference>
        <reference anchor="RFC9943">
          <front>
            <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9943"/>
          <seriesInfo name="DOI" value="10.17487/RFC9943"/>
        </reference>
        <reference anchor="RFC9995">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Hash Envelope</title>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>This document defines new CBOR Object Signing and Encryption (COSE) header parameters for signaling a payload as an output of a hash function. This mechanism enables faster validation, as access to the original payload is not required for signature validation. Additionally, hints of the hashed payload's content format and availability are defined, providing references to optional discovery mechanisms that can help to find the original payload content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9995"/>
          <seriesInfo name="DOI" value="10.17487/RFC9995"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC6920">
          <front>
            <title>Naming Things with Hashes</title>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="D. Kutscher" initials="D." surname="Kutscher"/>
            <author fullname="C. Dannewitz" initials="C." surname="Dannewitz"/>
            <author fullname="B. Ohlman" initials="B." surname="Ohlman"/>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <author fullname="P. Hallam-Baker" initials="P." surname="Hallam-Baker"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>This document defines a set of ways to identify a thing (a digital object in this case) using the output from a hash function. It specifies a new URI scheme for this purpose, a way to map these to HTTP URLs, and binary and human-speakable formats for these names. The various formats are designed to support, but not require, a strong link to the referenced object, such that the referenced object may be authenticated to the same degree as the reference to it. The reason for this work is to standardise current uses of hash outputs in URLs and to support new information-centric applications and other uses of hash outputs in protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6920"/>
          <seriesInfo name="DOI" value="10.17487/RFC6920"/>
        </reference>
        <reference anchor="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="RFC9901">
          <front>
            <title>Selective Disclosure for JSON Web Tokens</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="K. Yasuda" initials="K." surname="Yasuda"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="November" year="2025"/>
            <abstract>
              <t>This specification defines a mechanism for the selective disclosure
of individual elements of a JSON data structure used as the payload
of a JSON Web Signature (JWS). The primary use case is the selective
disclosure of JSON Web Token (JWT) claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9901"/>
          <seriesInfo name="DOI" value="10.17487/RFC9901"/>
        </reference>
        <reference anchor="RFC4998">
          <front>
            <title>Evidence Record Syntax (ERS)</title>
            <author fullname="T. Gondrom" initials="T." surname="Gondrom"/>
            <author fullname="R. Brandner" initials="R." surname="Brandner"/>
            <author fullname="U. Pordesch" initials="U." surname="Pordesch"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>In many scenarios, users must be able prove the existence and integrity of data, including digitally signed data, in a common and reproducible way over a long and possibly undetermined period of time. This document specifies the syntax and processing of an Evidence Record, a structure designed to support long-term non-repudiation of existence of data. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4998"/>
          <seriesInfo name="DOI" value="10.17487/RFC4998"/>
        </reference>
        <reference anchor="I-D.ietf-scitt-receipts-ccf-profile">
          <front>
            <title>CCF Profile for COSE Receipts</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
              <organization>Microsoft Research</organization>
            </author>
            <author fullname="Cedric Fournet" initials="C." surname="Fournet">
              <organization>Microsoft Research</organization>
            </author>
            <author fullname="Amaury Chamayou" initials="A." surname="Chamayou">
              <organization>Microsoft Research</organization>
            </author>
            <date day="24" month="June" year="2026"/>
            <abstract>
              <t>   This document defines a new verifiable data structure (VDS) type for
   COSE Receipts and inclusion proofs specifically designed for append-
   only logs produced by the Confidential Consortium Framework (CCF) to
   provide stronger tamper-evidence guarantees.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-receipts-ccf-profile-04"/>
        </reference>
        <reference anchor="I-D.mih-scitt-agent-action-capsule">
          <front>
            <title>An Agent Action Capsule Profile for SCITT</title>
            <author initials="S." surname="Mih" fullname="Steven Mih">
              <organization>Action State Group, Inc.</organization>
            </author>
            <date year="2026" month="August" day="28"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mih-scitt-agent-action-capsule-04"/>
        </reference>
        <reference anchor="I-D.hillier-scitt-arp">
          <front>
            <title>Attestation Reconciliation Protocol</title>
            <author initials="J." surname="Hillier" fullname="Joel Hillier">
              <organization>Certisyn, Inc.</organization>
            </author>
            <date year="2026" month="August" day="13"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hillier-scitt-arp-03"/>
        </reference>
        <reference anchor="I-D.mih-sato-agent-accountability-composition">
          <front>
            <title>Agent Accountability: Composition and Conformance</title>
            <author initials="S." surname="Mih" fullname="Steven Mih">
              <organization>Action State Group, Inc.</organization>
            </author>
            <author initials="T." surname="Sato" fullname="Tom Sato">
              <organization>MyAuberge K.K.</organization>
            </author>
            <author initials="I." surname="Schrock" fullname="Iman Schrock">
              <organization>EMILIA Protocol, Inc.</organization>
            </author>
            <author initials="S." surname="Bu" fullname="Songbo Bu">
              <organization>Independent</organization>
            </author>
            <author initials="A." surname="Sokolov" fullname="Anton Sokolov">
              <organization>Tyche Institute</organization>
            </author>
            <date year="2026" month="August" day="16"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mih-sato-agent-accountability-composition-01"/>
        </reference>
        <reference anchor="I-D.sokolov-rats-aep-composition">
          <front>
            <title>Composing Application-Layer Action Evidence with Remote Attestation Procedures</title>
            <author initials="A." surname="Sokolov" fullname="Anton Sokolov">
              <organization>Tyche Institute</organization>
            </author>
            <date year="2026" month="August" day="31"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sokolov-rats-aep-composition-06"/>
        </reference>
        <reference anchor="I-D.birkholz-verifiable-agent-conversations">
          <front>
            <title>Verifiable Agent Conversation Records</title>
            <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
              <organization>Fraunhofer Institute for Secure Information Technology</organization>
            </author>
            <author initials="T." surname="Heldt" fullname="Tobias Heldt">
              <organization/>
            </author>
            <author initials="O." surname="Steele" fullname="Orie Steele">
              <organization/>
            </author>
            <date year="2026" month="August" day="31"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-birkholz-verifiable-agent-conversations-01"/>
        </reference>
        <reference anchor="I-D.le-scitt-derived-subjects">
          <front>
            <title>SCITT Profile for Independently Derived Subjects</title>
            <author initials="T." surname="Le" fullname="Thanh Le">
              <organization/>
            </author>
            <date year="2026" month="August" day="22"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-le-scitt-derived-subjects-00"/>
        </reference>
        <reference anchor="I-D.le-comparing-derived-identifiers">
          <front>
            <title>Principles for Comparing Independently Derived Identifiers</title>
            <author initials="T." surname="Le" fullname="Thanh Le">
              <organization/>
            </author>
            <date year="2026" month="August" day="22"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-le-comparing-derived-identifiers-00"/>
        </reference>
        <reference anchor="I-D.nobuo-scitt-protected-object-binding">
          <front>
            <title>SCITT Statement Relationship and Protected Object Binding</title>
            <author initials="N." surname="Aoki" fullname="Nobuo Aoki">
              <organization>The Graduate University for Advanced Studies (SOKENDAI)</organization>
            </author>
            <date year="2026" month="July" day="07"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-nobuo-scitt-protected-object-binding-00"/>
        </reference>
        <reference anchor="I-D.rampalli-pedigree">
          <front>
            <title>PEDIGREE: Provenance and Delegation Records for Digital Artifacts</title>
            <author initials="K." surname="Rampalli" fullname="Karthik Rampalli">
              <organization>Glyphzero, Inc.</organization>
            </author>
            <date year="2026" month="April" day="25"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rampalli-pedigree-00"/>
        </reference>
        <reference anchor="I-D.lee-orprg-permit-receipts">
          <front>
            <title>Permit Receipts for Permit-Before-Commit Authorization of AI-Agent and Workload External Effects</title>
            <author initials="Y." surname="Lee" fullname="Yong Bok Lee">
              <organization>Meridian Verity Group</organization>
            </author>
            <date year="2026" month="June" day="04"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lee-orprg-permit-receipts-00"/>
        </reference>
      </references>
    </references>
    <?line 1352?>

<section anchor="appendix-a">
      <name>Synthetic Registration Walkthrough</name>
      <t>This appendix illustrates the mechanics of <xref target="derived-id"/>, <xref target="envelope"/>, and
<xref target="receipt-binding"/> using a non-domain-specific payload class. No domain
vocabulary from any specific profile is used.</t>
      <t><strong>Payload class:</strong> <tt>temperature-record</tt>. Fields: <tt>station_id</tt> (string),
<tt>timestamp</tt> (string), <tt>celsius</tt> (exact decimal string), <tt>record_id</tt> (string).
Exclusion set: <tt>{record_id}</tt>. Algorithm: <tt>jcs</tt>. Representation: bare 64-char
lowercase hex.</t>
      <t><strong>Step 1 — Construct the payload:</strong></t>
      <sourcecode type="json"><![CDATA[
{
  "station_id": "WS-42",
  "timestamp": "2026-07-24T00:00:00Z",
  "celsius": "21.3",
  "record_id": null
}
]]></sourcecode>
      <t><strong>Step 2 — Apply the exclusion set:</strong></t>
      <t>Remove <tt>record_id</tt> (it is in the exclusion set). The resulting object is:</t>
      <sourcecode type="json"><![CDATA[
{
  "station_id": "WS-42",
  "timestamp": "2026-07-24T00:00:00Z",
  "celsius": "21.3"
}
]]></sourcecode>
      <t><strong>Step 3 — Compute the derived identifier:</strong></t>
      <t>Apply JCS <xref target="RFC8785"/> to produce the canonical octet string. Compute
SHA-256 and encode as lowercase hex. The result is the <tt>record_id</tt> value
to be placed back into the payload for transport.</t>
      <t><strong>Step 4 — Construct the Signed Statement:</strong></t>
      <t>Use Full-Content Mode (<xref target="full-content-mode"/>): wrap the complete payload,
including the now-populated <tt>record_id</tt>, in an RFC 9943 Signed Statement.
Its protected header includes:</t>
      <ul spacing="normal">
        <li>
          <t><tt>alg</tt>: the producer's signing algorithm;</t>
        </li>
        <li>
          <t><tt>content_type</tt>: <tt>application/example+json</tt>, used here only as the
illustrative media type from the RFC 9943 examples;</t>
        </li>
        <li>
          <t>CWT Claims (label 15), including an <tt>iss</tt> such as
<tt>https://issuer.example</tt> and a <tt>sub</tt> such as
<tt>urn:example:temperature-record:WS-42</tt>; and</t>
        </li>
        <li>
          <t>key identification or certificate parameters conforming to RFC 9943.</t>
        </li>
      </ul>
      <t>A real <tt>temperature-record</tt> profile would specify an appropriate media type;
CPB does not register one.</t>
      <t><strong>Step 5 — Register and receive a Receipt:</strong></t>
      <t>Submit the Signed Statement to a SCITT Transparency Service. Attach the
returned Receipt to the unprotected header. The Transparent Statement is
now suitable for distribution to verifiers.</t>
      <t><strong>Step 6 — Verify:</strong></t>
      <t>A verifier validates the Signed Statement signature and RFC 9943 headers,
extracts the payload, strips <tt>record_id</tt>, applies JCS, recomputes SHA-256,
and compares the result to the carried <tt>record_id</tt>. If a Receipt is present,
the verifier separately verifies it under a trusted Transparency Service
key. The signature, content binding, and Receipt results remain distinct.</t>
    </section>
    <section anchor="appendix-b">
      <name>Synthetic Two-Slot Composition</name>
      <t>This appendix illustrates <xref target="typed-refs"/> using two cooperating payload
classes. No domain vocabulary is used.</t>
      <t><strong>Scenario:</strong> a <tt>decision-record</tt> payload class cites an <tt>authorization-doc</tt>
using a typed digest reference.</t>
      <t><strong>Authorization doc</strong> (payload class <tt>authorization-doc</tt>; algorithm <tt>jcs</tt>):</t>
      <sourcecode type="json"><![CDATA[
{
  "doc_id": "...",
  "subject": "WS-42",
  "scope": "temperature-write",
  "issued_at": "2026-07-24T00:00:00Z"
}
]]></sourcecode>
      <t>Its derived identifier is computed with <tt>doc_id</tt> in the exclusion set.
Suppose the result is <tt>"ab12cd34..."</tt>.</t>
      <t><strong>Decision record</strong> (payload class <tt>decision-record</tt>; algorithm <tt>jcs</tt>):</t>
      <t>For this example, the profile selects payload carriage and therefore the
Signed Statement does not also contain <tt>cpb-refs</tt>. The profile accepts a
stable specification for <tt>authorization-doc</tt> that declares exactly one
digest context, using <tt>jcs</tt>, the <tt>SHA-256</tt> token, and lowercase hexadecimal
output. <tt>purpose</tt> is therefore omitted.</t>
      <sourcecode type="json"><![CDATA[
{
  "record_id": null,
  "action": "write",
  "authorization": {
    "type": "authorization-doc",
    "digest_alg": "SHA-256",
    "digest": "ab12cd34..."
  }
}
]]></sourcecode>
      <t>The typed reference <tt>authorization</tt> cites the authorization doc by its
artifact type and derived identifier. A verifier can confirm the doc was
cited by resolving the <tt>authorization-doc</tt> artifact type's digest context
from its governing specification, recomputing <tt>"ab12cd34..."</tt> from the
doc's bytes, and matching.</t>
      <t><strong>Composability:</strong> a profile-aware parser first extracts the reference from
the <tt>decision-record</tt> payload. Generic citation-binding verification then
needs the accepted <tt>authorization-doc</tt> digest-context declaration and cited
artifact, but no other <tt>decision-record</tt> semantics. Whether this citation
slot permits that type is determined by the consuming profile. Artifact
appraisal, authorization semantics, and application integration remain
separate.</t>
    </section>
    <section anchor="appendix-c">
      <name>Field-Verified Instances</name>
      <t>The instances in this appendix were chosen to illustrate the mechanisms of
<xref target="algorithms"/>, <xref target="receipt-binding"/>, and <xref target="typed-refs"/>. They are not a
ranking. Two parties appear in every instance: the implementing system and
the verification counterparty. The common counterparty in each case is the
AAC reference implementation, which is present as a verifier, not as the
subject. This is a historical record and is not edited retroactively: the
instances below report what ran at the time, under algorithm <tt>jcs-n</tt>, which
is withdrawn as of this revision (<xref target="algo-jcs-n"/>). The byte-agreement result
each instance reports is a property of applying RFC 8785 JCS consistently,
which <tt>jcs</tt> (<xref target="algo-jcs"/>) also provides going forward.</t>
      <t><strong>Owner consent status:</strong> Anton Sokolov (Tyche Institute) — confirmed
2026-07-24. Tom Sato (GAR/SOOS) — confirmed 2026-07-25. Tymofii
Pidlisnyi (Agent Passport System) — confirmed 2026-07-24 (on-issue).</t>
      <section anchor="appendix-c1">
        <name>Deep Mechanism Instances</name>
        <section anchor="glyphzero-byte-agreement-algorithm-determinism">
          <name>Glyphzero Byte-Agreement — Algorithm Determinism</name>
          <t>Public record: Glyphzero PEDIGREE delegation record, IETF 126 hackathon.</t>
          <t><strong>What ran:</strong> Two independently written RFC 8785 JCS implementations —
Glyphzero's (Rampalli), used to produce its PEDIGREE delegation records
<xref target="I-D.rampalli-pedigree"/>, and the AAC reference implementation — computed
a digest over the same delegation record and both produced
<tt>subject_digest</tt> <tt>0b4da06b...</tt> without any coordination on byte ordering
beyond RFC 8785 itself. The record carried no null, empty-array or
empty-object member, so the absent-field normalization pass <tt>jcs-n</tt> added
to JCS did not apply to it; the agreement is an agreement about RFC 8785
JCS, which is the part <tt>jcs</tt> (<xref target="algo-jcs"/>) carries forward.</t>
          <t><strong>Mechanism illustrated:</strong> <xref target="algo-jcs"/>. RFC 8785 JCS is reproducible
across separately written implementations. The agreement was not
premeditated; it emerged from two systems applying the same algorithm
independently. This instance does not evidence an independent
implementation of the withdrawn normalization pass, and the implementer
census (<xref target="algo-jcs-n"/>) records that there was none.</t>
          <t><strong>Consent:</strong> Karthik Rampalli (Glyphzero) confirmed 2026-07-25 (email, with corrections).</t>
        </section>
        <section anchor="gar-session-block-leaf-construction-rule">
          <name>GAR Session Block — Leaf Construction Rule</name>
          <t>Public record: GAR Session Block anchor, IETF 126 hackathon; gar-core.ts
commit fe18f24; CT leaf 166.</t>
          <t><strong>What ran:</strong> A GAR Session Block record was registered in a SCITT
Transparency Service (<tt>RFC9162_SHA256</tt> VDS; <xref target="RFC9162"/>). The log leaf was constructed as
SHA-256 of the raw bytes of the derived identifier — <tt>bytes.fromhex(id)</tt>,
not <tt>id.encode("utf-8")</tt>. The inclusion proof verified correctly against the
anchored Merkle root only when the leaf used the raw bytes.</t>
          <t><strong>Mechanism illustrated:</strong> <xref target="leaf-rule"/>. The leaf-bytes-not-hex rule was
discovered during live anchoring when a leaf constructed from the hex string
failed to verify; switching to raw bytes produced the correct root.</t>
          <t><strong>Consent:</strong> Tom Sato (GAR/SOOS) — confirmed 2026-07-25.</t>
        </section>
        <section anchor="a2a-boundary-seal-derived-identifier-as-protocol-gate">
          <name>A2A Boundary Seal — Derived Identifier as Protocol Gate</name>
          <t>Public record: capsule-emit issue #29, verified offline at
https://github.com/action-state-group/capsule-emit/issues/29.</t>
          <t><strong>What ran:</strong> An A2A-protocol boundary producer submitted a record to a SCITT
Transparency Service and used the derived identifier as a protocol-layer
gate (<tt>capsule.digest</tt> / <tt>capsule.resolve</tt>). The receipt was verified
offline using a conforming SCITT verifier (<tt>scitt-cose verify_receipt</tt>
→ <tt>ok=True</tt>), and the Merkle inclusion proof (<tt>verify_inclusion</tt>) folded to
the anchored root. A DENY negative case was also demonstrated: a fabricated
derived identifier not present in the log returned 404 on the resolve step
and DENY on the gate.</t>
          <t><strong>Classification (exact):</strong> single-machine loopback rehearsal, independently
reproduced. The read-only resolve path (<tt>/anchor/inclusion-proof-ct</tt>) is live
at <tt>anchor.agentactioncapsule.org</tt>; a networked cross-machine close is
pending counterparty schedule.</t>
          <t><strong>Mechanism illustrated:</strong> <xref target="derived-id"/> and <xref target="receipt-binding"/> applied at
a protocol boundary: the derived identifier is stable across network hops and
usable as a verifiable join key without payload disclosure.</t>
          <t><strong>Consent:</strong> Anton Sokolov (Tyche Institute) — confirmed 2026-07-24.</t>
        </section>
      </section>
      <section anchor="appendix-c2">
        <name>Field Table — IETF 126 Participants</name>
        <t>The following table lists all parties that ran verifiable instances at the
IETF 126 hackathon. Rows appear in alphabetical order by party name; the
order carries no ranking.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Party</th>
              <th align="left">Record type</th>
              <th align="left">What ran</th>
              <th align="left">Public record</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Agent Passport System (Pidlisnyi)</td>
              <td align="left">Decision record</td>
              <td align="left">Content-derived action reference; NFC + code-point sort + JCS; bidirectional cross-runs 6/6 + 24/24</td>
              <td align="left">draft-pidlisnyi-aps + hackathon coordinates</td>
            </tr>
            <tr>
              <td align="left">EP (Schrock)</td>
              <td align="left">Named-human approval</td>
              <td align="left">Three independent codebases produced <tt>8cf0c36e...</tt>; three-computation single-digest</td>
              <td align="left">EMILIA/EP hackathon record</td>
            </tr>
            <tr>
              <td align="left">GAR (Sato)</td>
              <td align="left">Kernel session block</td>
              <td align="left">Sealed as record; CT leaf = SHA-256(raw bytes of id); leaf 166 verified</td>
              <td align="left">gar-core.ts commit fe18f24</td>
            </tr>
            <tr>
              <td align="left">Glyphzero (Rampalli)</td>
              <td align="left">Delegation record</td>
              <td align="left">Two independent JCS implementations; <tt>subject_digest</tt> <tt>0b4da06b...</tt></td>
              <td align="left">Glyphzero PEDIGREE hackathon record</td>
            </tr>
            <tr>
              <td align="left">Microsoft (Chamayou)</td>
              <td align="left">Two-TS statement</td>
              <td align="left">One payload, two receipt profiles (ccf.v1 + RFC9162_SHA256) in conjunction</td>
              <td align="left">scitt-ccf-ledger PR #424</td>
            </tr>
            <tr>
              <td align="left">Sokolov (Tyche)</td>
              <td align="left">Boundary-seal</td>
              <td align="left">A2A gate; derived-id as resolve key; DENY negative; offline Receipt verify</td>
              <td align="left">capsule-emit issue #29</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="appendix-c3">
        <name>Agreed and Scheduled</name>
        <t>The following cross-verifications are agreed and scheduled but have not
produced field-verified instances at time of writing:</t>
        <ul spacing="normal">
          <li>
            <t>VTO/libp2p (M.S. Gupta) — content-addressed telemetry objects citing
action records across grains.</t>
          </li>
          <li>
            <t>VSO/VeritasChain (Kamimura) — verifiable service objects under <tt>jcs</tt>.</t>
          </li>
        </ul>
        <t>Field-verified instances are expected to be added in future revisions as
cross-verifications complete.</t>
        <t>The PermitReceipt × MachineMandate composition is excluded from this appendix.
It is recorded in the AAC interop registry (INTEROP.md).</t>
      </section>
    </section>
    <section anchor="appendix-d">
      <name>Profile-Owned Payload Carriage Example</name>
      <t>This appendix is informative. Section 5.5.5 of
<xref target="I-D.mih-scitt-agent-action-capsule"/> defines a payload-level <tt>references</tt>
array. In revision -04, each entry's identity uses the profile-owned JSON
members <tt>type</tt>, <tt>digest_alg</tt>, and <tt>digest</tt>; the separate
<tt>citation_purpose</tt> member describes why the Capsule cites the target. That
field is not CPB's <tt>purpose</tt>, which selects a digest context.</t>
      <t>This is an example of the profile-owned payload carriage described in
<xref target="payload-carriage"/>, not a CPB JSON wire format. CPB neither imports nor
redefines AAC's field names, additional members, or extension behavior.
Implementers of that carrier follow the cited AAC revision. An AAC consuming
profile that applies CPB verification also identifies by stable normative
reference the artifact-type and digest-context declarations it accepts, as
required by <xref target="comparability"/>, and does not include <tt>cpb-refs</tt> in the same
Signed Statement.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The following individuals contributed findings from the IETF 126 hackathon in
Vienna that directly shaped the rules in this document. All attributions
cite public artifacts.</t>
      <t><strong>Contributors</strong> [all named attributions and contributor acknowledgments
individually confirmed: Anton Sokolov (confirmed 2026-07-24), Iman Schrock
(confirmed 2026-07-24), Tom Sato (confirmed 2026-07-25), Yong Bok Lee (Scott
Lee) (contributor attribution confirmed 2026-07-27), Tymofii Pidlisnyi (Agent Passport System,
confirmed 2026-07-24, on-issue), Karthik Rampalli (Glyphzero, confirmed
2026-07-25, email, with corrections)]:</t>
      <ul spacing="normal">
        <li>
          <t>Anton Sokolov (Tyche Institute) — assurance-boundary discipline; the A2A
boundary-seal instance in <xref target="appendix-c"/>.</t>
        </li>
        <li>
          <t>Yong Bok Lee (Scott Lee), Meridian Verity Group — ORPRG-derived
cross-profile digest-context discipline: equal-looking digest text alone
is not a valid join; a typed reference is verified by recomputing the
referenced artifact under its established digest context and comparing
that result with the digest carried in the reference, not with the citing
record's own derived identifier. Also contributed the
representation-boundary distinction among raw digest bytes, bare lowercase
hexadecimal text, and prefixed text, and the verification-scope boundary
separating typed-reference content binding from artifact-specific
appraisal and authorization. See <xref target="I-D.lee-orprg-permit-receipts"/>.</t>
        </li>
        <li>
          <t>Tymofii Pidlisnyi (Agent Passport System) — the content-derived action reference pattern
(NFC + code-point sort + JCS) demonstrating that RFC 8785 JCS generalizes
across canonicalization styles; bidirectional cross-runs with confirmed
byte-agreement.</t>
        </li>
        <li>
          <t>Tom Sato (GAR/SOOS) — the leaf-bytes-not-hex finding documented in
<xref target="leaf-rule"/>: the log leaf hashes the raw bytes of the derived
identifier, not the hex-string encoding.</t>
        </li>
        <li>
          <t>Karthik Rampalli (Glyphzero) — independent JCS implementation
byte-agreement on <tt>subject_digest</tt> <tt>0b4da06b...</tt>, demonstrating that
RFC 8785 JCS is reproducible across separately written implementations.</t>
        </li>
        <li>
          <t>Iman Schrock (EMILIA/EP) — confirmed 2026-07-24 — the three-computation single-digest instance
(<tt>8cf0c36e...</tt>) demonstrating byte-agreement across three independent
codebases.</t>
        </li>
      </ul>
      <t><strong>Acknowledged</strong> [Amaury Chamayou confirmed 2026-07-24 (email)]:</t>
      <ul spacing="normal">
        <li>
          <t>Amaury Chamayou (Microsoft) — two-TS single-statement demonstration;
the vds-from-protected-header finding subsequently mirrored in
microsoft/scitt-ccf-ledger #424.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA72963bbSJYu+D+eAsv5I6VsgpZk2WVLq6ZblpVZqvJtLGXm
qqnTY0EkKKJEAmwAlJJlu9f8mgeYNWvNI8x7zLzJeZLZ94gAQNl5prv7UiWT
YCAuO/Z9fztNU9cW7SI/Sh6dZmVVFpNskbzPNosqmyYvi3JalDdHyUlyUdyU
+TS5aLM2X+Zlm5xWZdPW60lbVGXyvq5mxSJ/5LLr6zq/e2iwR25aTcpsCW+c
1tmsTZfFPG2q22pR3aXNpGjbdMW/SK/5F+neEzeF1x4lB3sHz9K9F+neUzeB
D26qenOUNO3UNevrZdE0MJV2s4IHz88uf3TFqj5KYIpNe7C392LvwGV1nsHU
LvLJui7azSN3X9W3N3W1XuGnp+eXl4/cbb6BT6dHLkkT+gj/mOhiin9kuF78
TCaZyCTxo2leF3ewScUUNqiYFXmNn+KMpsm0uMmbNqnzWV7n5SR3TZuV04/Z
oiphvpu8caviKPlbW01GSVPVLTzYwF+bJf7xr85l63Ze1TStomyOkotx8qaY
uyRJeC8v2vwuL/Wzqr7JSpksnB4fEp1d8hOud5Scl5MxPpkvs2IBm7jKJ/+S
0XMNPjbOCnvVyTi54PPxrzspWxzRfxy/8XIzmefwjgZoa93m+ACcLBzWZbZY
FGVJH1TrssUDPGtgrCILZpPh6GMhin9pcbBxYYO5sqqX8KK7HLYj+fDj6cH+
/gv58/n+Hw7tz4Nn8uez50+e66cHT+3ZZ/t7+ucfnj/VP18c6gMv9p4e6J8v
DoM/n9ifL+BnrihnnRn94em+jvfsxYG+5cX+Mz/I3r78efjiBU3uPH01LvJ2
Jpegzid5sWqbdDKZpSu+X/oYXRl6KrsBUkv54NJJtmrW/FSS6K0+KZMTfEip
4JQf0iubwNQToX38WXjRnqcHz+nDBgg7b3CZPDbMomzzuszb9BXe4egqb51X
undIvzZSpv/p0TP9zxBR0/98M2XjPs0LoLa81jnVq87WtG2O1I5DfMgnVTkp
FkWmDA2uYrUY2pT9J79rU3qTQH62dR/+PE7+xD/o7MWfq3zR+yrejdO8botm
U0Z7QGeStZUdCd277BqW2m7SSbVcVU1Bv4/3RmgmfBre4B+HSzpFIUCkDwxt
cKee/X7y+Zappnv7/4WUFIx9CawQJtgZ/LJaxh/HQ7/ZnKyv8/omT/4y/ktn
wHMYcDKvq8ltZ8xz2NTeV/G4Z2/OX5+fGKkOzRf24uW6uxVVeXNdhZ/Hw56X
03yVlyjD4sFiORCM2BMGA6P2JQISp8r9OgNGl+Wr7fQolFfeJCer1QJkMdHB
62yT13p2Z3coeCd5cl+0c7jQywqOMrzjsFOTfLqu82aIWJ/s/y5ifWjq6d6z
7fT5n7CN10V9O68W/0jvYPKzIrsGZst3CJgafNbQr5t4R3+xZ0VAnAbPEj+s
p/8RG/WNk3vwTv8J6FiG6Wzan/Lytv9dvGk/1tm6nFegefmdY7mHmiBup8hv
WPdlPpmXcAA3m97N/1O+mLa9q39dZE30lfzg3RiZTr7IO794B7vmv8HTg/1g
2SD6Ywra7N/zSds5LxLSkdgObupik7wS7fNCfj0ozw9+19FtnVm6t7f9sGCr
XndXfTnPyjl/LEvG65LVqN7r4F5t7qz8PTw2KVaLvKFln+ovt2zAuR/nP2YP
Hpzq/9+tKKvrdaWGD7By2F54QUX7rBbQECF4S+xDvuArNC9WJJXf6zDJOxrG
m17d3fgD/N/v2o1vme2DO/J2nJxUt0VnT97isPEXHb43R6mcTdconn8uC+Qb
oBQQPZxM71ABQeN0PYVVJDsX7/5y9vbVyfmu7HGdwQGC5pSCJVbc1HlHRX5/
9ur8pw9nZ0e4c6Am4Gi0ka/gkt5E/JBe+Kq4KVqwbE9A3Zplg1ftMD14+rs2
tjfFB3fxL+Pkg/ygs5N/yep2Xtz2v47386fFZjX/R15Xka64gNdW9aq+gVnU
y8IbIZ39oi9xS+hL2hP+LH2Zwz/yFK4oPnFCc5eXJtUsOTlPWdbg7v4K1jeZ
0Ge/4Y7Ahp7NZsOc65naDt9+a7es5MFt/Ste1+59/SvoS8nL6jb6qqPhwaym
BShsKFOBKkl/dC5N0yS7btoaaMS5mFndw4MtaKTNpoFr3CTtPMNdmcCkklpo
ra2SjG2z5LLOygaYEOg3G3eR13cFkGgN48EmTWG4Mgf6b+GSNDBnMK29bwas
ae+/wKNa4kHw1yD8pg4ehom0I3yO/0yz6RSUpCZyZZh3Y1aDukvTxcFG6gCh
2TrhTV1nER63kMuI/mF+EFk5MJQ8yZUOMr1Y7nojnpMxsICiSabVZE0jTvNZ
UdqvQ19U1tBG9BxQTrhgsnP6/uUusCFz4Yh1DWNOFrDFTVIAUXd9Pkm2uAFa
budLXIDLf5ss1uhwApLk9cFL6xzmW123GVATbCecT11N15PimgbvOodwCjAV
19utSVYjlSd5gWPSalAELXLYo8Y/xYeF60XvDQ45Ta437sOPpwn6KIBGYQ7i
d4Ij1+fnoKsk+aLJ73HCyZqUatqxdxdnyZ+yZp6cgV62qFY5/EyGe/F0jHOF
TWgq23sgeCXvLV6upAhUq2U1zRcOt6oqYegVfgjH48XIPM9glxL4YYUHNUqu
JqvrFB1gV8ewlO5xLbONQ68Q/EqmRAdX3ZfBBJBh2BnCjpfJ+cnbE3jgpoCZ
b5IbYPg1nBYexPYjb3j10wpWXVZKfTYj3VpeazNyaHJcLwrYSrrO/7YuYKez
ZM2CK6DwFPfNZjMKH+fTd7SxqV8QE0c9ZvYCk8k/vsX/aKuPH2j/Gufiq1LQ
SSHxg4G0hpd7b+mYBGuBs5/C8YHsW+f4PJIDez+RSSOBEEtLdkjy/wu6qcbA
AuEWvQV+M02yyW1Z3S/y6Q2+ES5QCUOEc7iH2Ts/BeBYsGezosYfw8PIDfEt
cH3w1SUNusJNypuxwzk2wBhb+uIh37JeRP9iklmw3Tnc2BUrRcCorpEwWvhm
qq/MpkiQMIV7WTD5hceOX16t6wnehs6q9G2kIJZIMbiVdbUSFo7vBTKFD+H/
gdVmIJ/mbbtqjh4/BhVivr4ew08fi5uMrnZK73086AjnI18W0ynYDu47FH3E
X4hWP31X4D+/OHcxIFI8vzdi3SJdEpEu7tMncXZ++ZIAqeYkH5ZL5Hjra1T+
gKstYT3VPd+LLGFuhxxrXcPlSf588e4tULQ7ffnuQ8I6Im5QNShpelzwfl41
eehLb9YwsTt4U3SnWZ4Es2AzE2YBlvLklncBDykYCShujr+CywoPMblfb9qc
CBe/+efkLJvMYeQGCBc+vKsWd/IcCdgZEIRbVvjZf//f/s9QVuQj4fR05+yV
LCZJJogUjCReIOhowOs1zXkDk4GRrvMcWRrRB16XUI+ACeew4o1xRVyvQ3WA
FQIQ0OQOaZZw65I7MGPYVuB9AT4GGoRSbV6Lr23cZSEwT+Ty+Cs8FFx+wsuX
80QhskBGtm7IoyCzAZa6WIhmsvXWqkC+HJRBSocvngId2obiQc/xsdm6nJg7
UgUnvg72a72gG837egwElZdu4CLgZuF4U5CvoCuWwIqLCawgL5bZDZwncv5m
jV4nHtrJ4tIGzAPiKH3BUU6Tvq0Y6SkkURzJUxwcuBvPG9hGUWZwoCbHJxne
A2CS8wJoclgb8FpcnYnSgPQHY/LqR8jVZRHEAXGjRaiZJpVbMGuZT+D3xaSh
lWRJVwjJ982SdP8JM++KXszva0ZEw0XrujLznrnSxoQnD4BCRGQijA4XjycH
xgJQJd4r3vpI0wP5AfdFrgVcoE+fvh4cASJi9S2vJ0VDoquumia8VUmBu4u7
KldFGAgGFZP9g2dAeJNb2OWqPJY5beH+QELAqpRxAHllBV6GVWxk8oaldIC/
te66WpfTrCbB536EzaEtAIKEJbHTUxVuZnQT5YK0X575wfGv0N8Ja8tYiQi0
IryzcAS246SFMMMVLiTTgROkoWAlyALH7td5TsecsXierEFjtqklzQIOmi0u
lT/RK5CnyC0DcSiiF890vcQVycUam2WdimY7SbLVqs4KUJ1GYrppKLbJlxnc
r0nDgiDz3mE6jpua/64xtIjKOkwb45sgJvnW4Xsz4AH3namKGoa0myCx39Cu
RfL/+8b1DsVUxnHyiswJ1a5x0FFwI3WHedrwuUOyx6dRX0PRBPtE1wt/3dV9
lXvTzS2AucE5gT5M+rlTDdI2VuOH0Y7Qbm3fZ9ih775L3q3JdriYoDXw6btq
3VazBv/xpSsiOvf8yLkfjNHbGZFwIw4ARLogrhvq0Gg3jfh7WHRRg7xarGFY
3JmRQ6ubvwQqnxYojio0S+Ee8zWtVTueojBBYr4GEcKmaWcDGxiN9nANT5Fh
08gr9SAXGFoY4ypOQrpoVOkr6s5B6uKQSbMCKzkKKDbAkEqGlLD8twKZc7Ql
MH5kXYIhiMqIWqe4EfgMv2m1rle40kUGa20G6KvBJep+8BjK1mr0Z4C5xNwz
5MfdG8mzMklGz5OJA7q6hr5hLG/Vx6IFrtCwwcP7G1xZvQO4lSzFs0UKKvli
yswVWGpr3iRkYcxqaUtQ0UUjpsj4mkbSFl80pObqVHjQVQUz2QQHqa6YLPbA
JPbz+wLUKtiy5Rq2PJtM8lU7Tj4MjFl0BzFFG1MhYM9qYOJ4f7LAxtd7Kw8E
qyB9AeeJmm+0Brz9KIHZlmyB/OAWJfAZq0Y1aJQLuBjtPWiV8G5V2uHiDc2u
IZtUxQrKpO+SU2KHDXuC0r0DYAzMIRv4hzKGOr8rhIKZ5TYhI0vLfA1TWRCZ
mDYhQ8ozTszphFX121yv6D1Z0+U0koCwJFCWC5gsGHqw40VLLOjTJ9NdGlQg
Y68FKrLpMl9ek5bfcVWMzXOU+HuA3oVAe0kXOW5nx8sQ0n7o68CrO1lUqHaQ
TaSeDraXc+8KCTwfCXtFxrAWHHZS57SX269UctK/v6HifL0hVhRf3lA3QGs4
GnpAS0liVlIo7Tc4zw82lmggOJMSLTRUrcubddGg1fUmW+CO59NR8nMpCgb8
/SNpSSQW4TUcpYQdAdEDipZwots8XxE1LI28mHSA1IupMQhcCsxjQYFjGIys
iwYMzQy5MPO0plmjOgM6Be4Q09KYCCcXCwTIxtOwaeU/rheL9FTY+BugF56A
usvIiIFXmiuNHmHXJ/sH2WwTfQUPw4YW+c3OGyBsUKxxRgNJeMDaST1dVujj
K/Oeoq7eIjauXr16jSQ4XTPD5fmsS/TdlOktmJt6h9D1BlrMFRnDC/LF8dTF
E7IoUMODoVA/CWgVRTAetNGVOFDSvf20rZBVADsFnkoHRPIXjdNpDdrX1d8n
TVpeyXuQlnPk5vjxlWhvjQNjjxjNlPkQxo9LEWYUroErV/C/gSX5b7/wLHCF
98TOH735+eLy0Yj/O3n7jv7+cPY//3z+4ewV/n3xp5PXr+0PfsLBP979/Fq+
x7/8L0/fvXlz9vYV/xg+TTofvTn56yMm6Ufv3l+ev3t78vpR30uG28feKRN2
aKGg0tzAeVyzs+zl6ftk/5DtYkx9A/qkvzH3Df5GM5ePqyox0ED/JGcC0Fqe
IaNL0BcABhFGsUCfQA/yHBkbOoRhZ1VtO11kTXPkMP0zUmg2cQTBe5TwQOc0
XVJVpmHowVInA0f6jsQSPPfCyX36VGRllsJjX77ssppaxhoRq1OiL4mZAVx2
iSEVC1Dk3bDHNcWmxBYj2xwGCaxzUhmWq3WL+qOPDkxwF9hykVWJ3dJRKVWj
DLXydlhFVpcg+YNk4bClKxM39M6cRHhklaD87Ye58Ygu2ZAKnWqkIumgR+xc
WLcr1uhPT96+e3t+evI6fXX+09nF5c7JKLnbRe7AYYE7dQPrKkkVZ18SKpnq
A7FNiQ6IdEF0EMFO/qK6Q0KXDTUq2uTwIMJjsOPz20HvPiZqIvV+yLfC80P5
PgXFg4gUyZ/9F0tQLtDXhwfOrh4MNOJmsq58ymLNb6T6V4jW0NQF+m9xDXLE
YsOS9mVBlvvMU9ARkUPORErjqLdoxGIpjh+xY2YUk+3QlbEnUQmZVqFRS24A
EXmsVogIBD6Ssi9LTAe+ceSeKNtIWjKBgLi4r3RVYoORdUWJECis0HBQ7iJa
2QwEYs/2wF9ZMIR5GQ3SYkwMbhmqVtE961J8ApxTbx6IObq/wA5Q1sXvwhnd
SbSMfLQy7oitJ3TEsKnPSggMr6ZT5157bS++z3Q0OkecGgvVQA9iAmeXHuUR
8mj5b7iYK57uRzjKK2Dyt7m4LDm3pCHFPTyRsb/SspFIvIGXCn+t4gtFBgZU
FugKA7L+cPKr3Gtm3+YlNUou/sEL7nPogNhOjkjAI6k1a7o9wXc0AeMOo8S/
k3lJ8sfkTx9Pdk527nZ3R8JV8B/CWJDLGX+u4GKgJ4+8JTgu/FIZUOzmDQ/r
5HvQojCHnHYmdjLrYk5swh+U0+5EAmYcTBxeSTckmg/5VlCqgcqNZ4ERNL1h
sNVdRvpftuGozw4ycdj4s7en716dwe53D8VOQp/gJQeyQZdmKn5nr3/HTsMQ
3b0+Y6XXHp2ayua903QNA7npZ9IkoI6lB0+f0VY8O0xBG0Q7Dq79orrPa/KU
z+G+oVNomS2OSXMQCgmUSjoGvCuYSW3iOeQ0sLjAm+2PswrD0yxb1DaGoUTA
YVUI/NxLMt640DMPbIQNNLRhxp17Ed0Gsc99oLIrClBjvDtmvidePGJhwvPj
5Aj0GKhIWrAePmJtPY6nmQiBH7DQRHcvpfB834SnxjZUuLkrWGN46uhq7dgt
fEfQGvuIX+1rcJBDPXtPD0CN5cQOCehknptn3kqGibFxPFIt0ZIK1qW3pfmZ
Y2HkU1YxLbYp0yOLMP0FzUeeHXNwUqG60x9FfBglZ8fq8mYvZlZZXMtbnshO
KKo3qTertrqps9Uc7xJIVLFgczTMpirPRHVAVSh0eYBBI3kxPFuqJvJqps9C
sCAomkDM5MSJjvqy+JhR5awpwkg28RjTmvIFGoVICEQRvHtDRzD8Vp0ZbPI5
DZqeeEM7H97p4CT6Bu+MXMAaB9Or9z2uSPxs4ofgfYOf49xx1bDj37BmOi6/
n8FkG3UVAIMolg2FtwKF/pbi41Ecix3W3dCLOjRgS8wBwvuwnYpkE4mS/Pcw
OGri3vxmTyLlGoA+XFQL87oFXoZO8Fx8DVPxgkXugZE4q1IMU5cNPY+5BLCD
Sb1eoJf3xEecTBcBPQZzNUCIofKjMiPz/p7QY8BqOxxOsC/eG/Q/tjFwfvf5
YpGqd0mi6XZ7ODyG58YXizW0xYa0yoBIOqGwSn+GB0tJXqwTRoc+4mMB6TK5
5b2Po4mJhuYreGs+4Rx+5FwoG+4LkF/EADrvpsQlvy3RWuH3dO20+oEukprk
Es3AUCK51f4jNlQiFLRlZAc8tGl4l8zwkYMI/AMmzKqaRHRkk5BGS3EeMjs1
1Y+jZiFfFH2a9gKjj1nJyRHIQZnnw6HAIufFdUETodQ4s0Rt0tNiNkMjDwW3
aEWmlRChwj4qnf6enTSyswkHFBcz425wkAlNUii6pGYaAOZ8JPqj74eSFzFH
BhVpurfiHtKhzYAFXgCykwqZ+mtXxc+/xY6xY7mA/cFZLl7Oe3dRpNAMR0T4
pDFMDiTd2LUl9mVkzm6fgbShLNRGQqkPA4U5TbgF7PFPOQnQ61hBacyrrIWX
2OTZTHYJ25MT8m/aCtquhtObHNx6jrL39RMOFNRs41pqNeb/wNtIV8jaFixZ
4pDqU6HXUDSibje8Jao/NELhtTjEUFRQjhMnBFV4FbE2WpTQIBJEvlXzAW5V
89HH6hMkvzh38pBloymqDblMMCDLb4uyk0PF19Gss9DPyFeQ7eJh01F9Vqb8
Ai13jaS+b8+si1AO9LwwtpZjHw7zQu9mjR63WEHverKSZp6t1CXuty5UTPv5
hYFmvcXycl+1cdF7cOTcZ8rWTD4nF+vlElOMPgehms/uc5qm9v/w8N8nDTzx
foGCDmMTWCSd/Pn0Ag2G2GaABTbNsRpnx7ExpoblZ7h9uOgUxoXrJ29IS/ji
VwoCZPdlkqb4huSfMESHrky2VaKXHcPlye5AmtH9REUOkzcwjh++IS3hHTv3
OvAuvW8yzfvvY9khqTogG0oMzKBiyJc3C60dewONNPCGrElb5AfiioYdr3qU
dGxJ2fQiupXAT/5tTecwK34zRwGxe0mG9ZmeAR9mVY+5WLD/2y1jv4J4pnQg
7qxsydz6Hc4UNJaL5XJN8cQjPApngVhLoeH8GlIFbX8pNl1hctYdcPVpwQmp
JWdEkPOyhKtyYgcjmiQqNJzmwOeGXshj+ncjRF00LDoatQTbYkEcTlRRu28j
jJxJFkVVlKyakBdTXpVzwNGWh5xDpyOjYc6N5qBf54lRA17AkFBGHdIkPwy+
GXQW9iVnC3bR87JAedgAv8ZcMLpuAQ0WHDr0FLqD8Tp2G8msOLKGFs8CvREb
v2IYarau2bXhh+TxWLxQ2UnR7o6ceoop6bpgQweGk9cyH46dc4GbgJyuxuPA
QPOvO06WhSYhUfIoq11Um4DD7cwoiJ+h3oz2/myN7N+tqqZNQUEp2/XSXkle
E1D5RDO93hi/DPK6jGqZAh1TID1rcTZ2PHaoDzOgPM0jP2SRRyzMBXyXo5Qi
fSjtuXd3LmBvYR85UgecFDUQVq/ctMCQKMgdSjALPNek9g4y2yP8WBMXGg22
wNWbZMgJ8T5YQITmUwJdj2iFy1WL17bOuNzAPmIfDIb/Bl1HID/2x5SrsyEW
HS5E5k2iOE4zjQTiiFVLE/1xjO7nyx/T55E4HydnGiVJMUpCq4QnmRZpJKE2
Epv2nqNtoaVwPfhzuKQ+koRykvcxDnyRjhBqu91IlwYWMU38VtP9fB6gcwdj
qlnFmJf6LyVUgaog7xo89gTWS04Wnj7LCLjEg65Nvn4iWimmFTJ9nNXJxen5
ue4k6xxdVSiKECbvpRYoJOaalgZn/+///u89TWrn75h1+X43+SPVxdk8P8I8
d2SlO0ArO+93d3dpBJpFHPqC93AaPojaGwzyt8IGV5JbI1SOXIhCmu+Z57tM
v5HQFQV9iFeVsHGkLjUF5lzIc98HV4JZGQconeMFr8Bkl8Sa6bQQPyJm3deF
+H5LvUo4HDrwNhXWtalqBJcuX8yOnBQ+zGBTW0q+JOHCvxJ2JeqBOE/VJSPO
U8optmtxdvrm5GJSgzWQXmeYOcQDYTqF9xAzrIGfSnA53YWkWzwZH8D/PrF4
FlWQn52dJX94eggq5xrr8oETcjalRP04EDhhlA9Uyrup0WypZXWTB2cAyism
LC9AfcEULyoR0G/d8Js8rRl3QLVIAryk5xOpH8NmYUkAbS6okUNlfOjHByaO
0Ujx5mtZGJ+lMQKMwrtY2rDKgru6BAnQoj6haQaUl8GxPLmDcrmaXXKrY8Am
yZwfmq+lJooFRYZFI273ltQgn+wjnMyFzKMrgkCB3fnVK51eIIFa0RVJmE9T
NKFWYsgsz3dJ9xXVA64gVT2JdgbCepFz8egWlYQZrNdJMPvI0o2myqG9tqBZ
zvQNiV99FLb/PqspMoxxEdYHqUYv2IVLJDPazu6MmQKvSM266mpduxyMlSgC
zrpa38zxIpvK4ajO9MhGEO10wl7RSPsnlQ1OUHd2Wkwtd1vzRCXNPF8UN4Wa
J3GW4ia5w+SPm1zS++G8W1gmkjgmaq6DOL6lIegbo1AObgfe4gXwXRAfr4GX
vkcSNRVEgipxXC3yBQcpv1HGn1a48KnBFJIzHjmzlNTvG02O2MKpycEJjH6a
s+bAleEJY36o1wF4A8ovmi65C1kfRJ8LpWDihaRFZN4rjbImeBP5lktVXzA0
gy+VUL8lurFGXK3BmKS4HywHx5EZgjJ7hq4vrN1Gucfyg6PNFPT4GXgxCmZ+
b0rvlcufZDMRuLSKvJmAjR/4Ab0Wp4NE2tw4efvjaYo8AA6fPLZr0iksS8Fe
Q6l1bbAm2mc+Ikuekyol/zYcK34h6SMfdFsDiSb3fF0u0JUhQe9W6kNvxM7E
8a72Pqf//Lf99MW//m0P/uOHK70GXsCKBUmH0VB+Kabt0Y//lu4c/K9Pn6T7
YAPxH/96NU7Oy6CgZET3jnksSc8RJvVWJVVrVSx7MFIBpJnRUTOSAeYipntX
YgGKsxclBMjSVBdBFgQctMUM5QscDmQMqQxELTTjEW8C8X7zcubKrVga0Baq
A0r9g9E1E9avhTFFy9reB9JA2E30ni2m3mVid6GaYLCtZ7gglKQpOwb4OTpm
JlusebhXHSrhwchEYG8vvPoQiE5IIpdcIORaVFNEB3hdtW21TNcr8UBN1jUe
4mJD50QTleuG72VFSvJZ42nrW6bfaI3QxnUMkuQEvwWWmnNtsV4EYW/8QilU
k69EtaPZYcxBUphUISz5hfR4sLhwuj5XsKBJibOFLEMpZOUCAxiwpk19+hXj
KBhcRgicoB0riGiRzIKRJpRttxyCgD2f5pODlK0oMyGY1bFv89nhsEEh9oKZ
EA3ZDOuGXQuBlFJe46XVA+ZBCqLs/Sg5+7qNYPuz8z4BCb9u4Eeh2dAgx8Ws
b6kj1JCFzYLMAsww4Q9EwMTQEOXUcdSDNDw0O7jqHN3lFswFOcmqfBDKzgKZ
LvIbydU7sS1PvRsRkrx1scBUFaOcVJTcmq+KjEh1a9SO8rKBLdhpwzhcR/sm
Dw/Z3ZiJF/5aLKLYbYC7tzsSf6PL1uhyw7Rf3IH9F/v4o4O9J7qhFNVhnQZr
97vaOOcmrNA3LOaTBhUKic3tH8AR3SHsXdnaUJxKALtWzVL4PyprWVGRYM54
H8qlAj1pZCmL2VRgC5LrrO64yjHrXKVfWzlmRjkDjGbsQ3UDhYY8953QM62J
OEngSwPWz9Yh7NlNRdEJVltDXIooOXAAC4NGYqatd2gNBp1r56HjMCJYn/ed
XcPF15QjDvdI2S0F/4L7GQ1AkzUdW31jkUc2zEtyWDVNO4ReJHWskF4ABPxr
SLxwpJgc0NBAUTEI/EzWR6lzeq9c4PClwnWNVPkiK/FWNnm2sPyXou0FbNw3
7HFjexzmSMJcFxvz5JAPxel1nmBt40wPH24+u5a8xQS8+XScoHdMHtVfgsUW
5rjSdbzeBCnS4nwdSPbpBzYdLYHd3JwojDoGb9FIcz5k3T5DyJxTPj6OcDxt
scy9LMPwOc083FF8BCa/XI0E5oJqfOpqQWgPeH6YCeK44J2QJegno6TVOjSU
pqi9yucwRc6dW5dh/syUBqLTcHIa64Y1Kd1H3YIxxhItZo6SbV2KR1cPlXTq
OOWB1ppRmgap5OxHofXSpJRBNesZWGMFVV9GA6x6Jzti4pllxcJJ3VaUdSuZ
Lj1v4QNMAISxrIx4Rzc7SFVuztYw4ZG8o1x2WpaRGrKh/pzJ/RGgYGSklFAi
7RYeQaxl7M5nfYGJNqaG2rh42eAJLFHB8pctK75x91Il3krhc5yxEhR11bLS
KJOIKJUTaIAldYSeJqpbvozJ5W3r41Pi5MruZGC7fVoNTiIYJHAchzykzqnW
doGcu7JEUR9kkLhUHeaX8EXtPdt173B8csC9w/6MyL0j/orQvQPauXhJmF2g
NqLuEspGEZ/ToHuH8yYk1jZj7KgIEIMqFntRcfMUMNwDDfNABNX8QFQ3S9oW
R/QlciWFXv/j6dx4we6j8C5jgUQxRPRh+aUj49vi53LxUjR4GUbBTiQ+NbBb
fUAp2y2wEzHJoAiwu0adPFqhGQqpSow6SCDGAHGj+Y1RjBqIUoiD+Ojv1k4a
oy1JkrvOjWWFBMPPamwySubCM+adwmOm/c3cMEMHUjAeq7Wx6E19gMe6r/NY
5SVwPj8SKXfuPamoTrgr7rvwW42fDSSXSQXAUOp69xp3kgDkDncC7tFljr+L
/DhdGpKqE16zJbq4ItQWJIimKQWqV1lqwVD6AJozkYKSaP0r+U83alApPcHV
ijznYb4tefUcWaoc5c6C3OewSooX47/bMeVBMrOEthyZHzB/GJ30cwJM0Jpw
QnogG04S6VqqPT1OUDj67dN0e8d+QGLlUwRbwUwbJPOGM27ka9izW80y3niU
w/DFuRt4LWUVVHWDTp6Xnp5qCTz1k6TQMBv1aUAIzgrIKB5fVnH4jDQ50TMZ
ySEu3Q6rk2jqTNWN671uFsIFavYm3ULNb5CcaDYFBaZm43jAispKyUhiZcqm
TebXQJn5Chbh0wvIiLEvp1bJwDO/IdgvcaQwicdJM/BuAj3g+3EP9h+TpdRA
ckqtzlRwAaRNA+ZmaIjs6XgfDuLPv15Q5h4jDAOdXqkckQB3luAjnmop79Rk
PZI9lmtfUT333tOD5P/5vw/Hh6PksnqZc0Zgf8CgFuLhcYGj2463EhXhQNK2
bCFyhja5gUvIr8cM00DPp8HzmCCKOhWqDa0CbGbL6+JmTS0AlEYMCqBXAIdc
WxKre1RWlWJdwTnfgApPKB4g6mjyjs3dlZQDId9okkch06HrNn6UeF1VeFhE
Ly5iWFZOaA4e8e4I4Q1TFDp43bSA+WAAxu+Phr4G1owXvbtgBuZZN63cE9MB
A0H/QNakQDKZpPH4V91ER3IiMSDWyuCyHwz7x+t92UF3CY1KF914T39Fs83z
F+/CKHmJRWnDvr+X6uPjUtwjdXSOHshiG3nfHTlwSIw0DPMocGAKAgK2D/He
rImTRTQZDcmhnCNsL3KdYsGJ45QAjlug4Fu9LQwULlBAQ6yBL7uUQIsb3y/V
BmUgyDjh4xlIVKEDkuzdoCwdViE7Duzsj4Plf3pT2IVqsuIjcGLZZ6nEVEfH
A9S3reCd9S90prZD6RysPNFWS+z8KwM1eDlm6jNti4wQdeDsizJdFOUt0TeN
pCW3vQ1Dq8c9kPYo4RnSWDoliO0QrnCUeUgppvAr1UZijXCgFr2bD/8j51n5
dwa335B42b7ulEAU6uEVERlk1HnoALZqNIt5PJRlQ0zqulfr3AU5YMjAiJnC
7PkQNVbKKBXEmEg2CEqx8OJtqVfMcx06tDfesNCQTCdpm5Av88VKCX83UWnn
feHKRtl1SAVGRDHJDugJiA9jEiKERBDcG9i6rJ4uGCTB3bO/gfzuczI/FemN
hxdsyh6he7VGyslctJ3HoRuGS8PNF0OJMh0MAGXploV/4hFV0alDUm3b/qK8
EqVLwYR4LmPXrdGKERgeQF5QpZqNZTecADdWYRy4OzjYF1THtQpcyUkfjh4Y
qXYdzK1FeCNJ5/NADbokPg4sJgzz1jS8qkZTxq5Jj+YkDtD+RXU8Y0m56JE+
T0niTVxCGQ+sYW/0tdSupj4MdwThwifhN4r89kEpN3kcOJuCD9jDWVH6DSHI
BoSS0SYwNMMgDnpZscZkMwTLgFLoHTKefiw60GBGEd1FM+EdEAvGYb82GT33
legxXp1PRjO3ALsX0UT+EDO3T9/F3O4LFg512Z+/ZOZ6/RofY8Rojq8h14/f
whFky68I48boamSlwVFiMIMNUWY72gzX+NzXq84pk+UYnoe3ssmtsAHxRI5J
hP6Q1Nk9xmxJH4st9wEHDm0AU+nGMOriPRNYKJJ1GKonWnRhBLs2PqreoyFs
+l5lpzP9aFLlCAOVLav+9tKkY2eYNPqhKwWM7Dq3yjUFESGRUnTvX1W7LRlL
Ssag5iFfX2zsIlDlvbB+famqKh4T+AHYjQsyPMKfF5LswcSBLk9quJUQYrIx
grgYmKR2XdwUZe/cGxcHU2HDCG26Y3tTdITqQLpOa2FLnNuornbMQgtWZfkW
SF2aKEAELHWFdUyeI3+9eCedt4xu6gxLKxRyUamZucx5GZTzjoLXMfYLV407
YubkQWazwyN9hKMJ06fnaA80D7xDjBRACoiRUsoU0xC3njCq6yUVKBNaIDlD
UEgHb1P7Ge46ZXI0VDErpaZYolfALVxsvCOwc0DCMcOAjdNq9+888FuIUvbp
OwOVg0MnRRRB/Xp1gsrm4Oyzmxv4KvQPaEGcC+ES7PSwnVYDvKEHL9dJNI0g
EHASwfd8dpwGLYx3Wklmjfh4aoqD/EZr504BmJ0M2nrey+US6RJXO9JcQ53x
9NdLBBwrlo2TRww6JdmhiEuy/5TKZioukl5LetkUPdZFg2F8+n0iDxN0mLtq
1tedbw5An/sL4iAIt1ME5QnmJc44t44UlTD5QKS7dlkixnd1W0yB5K9+e9pe
SR7eb09Jg5SoM4ugcKuPCfW7i4lNtgEhwdN+T0CwiR2E3hhiqINkQnw+LFqU
4Fh7X1H+ZMPJYOPkHbEIJKLe5vJZ+5x0D+sUkNcoXMOIWLVTFWSUKJbCdjYd
YCgtMYQukKPedwK0Bv+fzquJ6/UD8VOVHiQU92i4AobhYtuKcvwQs5BCd/xL
FyxStREzt6SOlCMOBnCgKBKKD1GUYP+7AK9gma2iqA2jieitTpVuCFcENJ4+
SuSn77DELFXDBI/pCzYH6j86ijSbLni7Odu7QKgaCghAzKy8oNc9ZpT4UC1l
8vPLMAddqo0ZY1n+zsLqBUJcNxIZB23HrmT0j8h2r5xc3ye74k/meyeGUAhH
4VntFog9LlDBio5pkRlT172UQAbzhoF5Wt03c07sCozzRpoqvRWr/jV6B3vR
OdQVYtOmrI3RF9iPOEqt0VnzfJjQDBc0oMmDp89H8B8vmHccPNtz/j4YVCOp
RUglTFBxfx6hKCybS40GPUn1Hx5RNnejeeIPtRWiZAME8eiA7oUWo+HYrKrV
msHHaLWDAs1JHYk68gf6DRE6QQDQw00fSqvIkZ+6gNWERxuJMHEEsvlBsxq4
Su7Bq2RymJRH1WxEKxFPXIyw1XjYs0Ydm+dtlD9AqRiBtWAhL0XY6fkape79
fOZs2/xFtcupuILcUQT1Fl1m8DAr2ViHg8sJEf7EbeTT+wf8WgM+JVlUFpb8
AfeIjzUws4/8TfA5TtvJcLzNQ6qJApkHAA7ewlmyjcFVbvFdxL2ziOzCekCC
KytZGJJZoYYwN1nbirERFDwGTXECGG1vUREOGNNEvGXRmTHxDSM2KpTpFtst
ACTpwWf2MlyoYw4noAVf6QaLX3xgsn20mcuv6nxXykmJeREq4g4CFDv94iN+
QXCJI1Xcnj4HBVDFBy4JYQI5XZevhY7F2x/siahn2tTFxC8JqO6L9amPkRjz
s3jRmQVuSCSRtBuLhdZnQZypA13RJMgqWPxSpi2ugRJLbELpomJ+JDO1vfto
X9jknu3tcgYYFj6ZFHFDOji8otFeEaGUfEExUWkoAHsOc6upbgoGTwYlFLqG
uqPLjkdbmHQ0gXgcaXgmxHK9ntzmrYJlbFctY5XixJKFjafoaUa9Y8bJayUp
DYmz5gsU1ffb4jzZM1m0HBnsXn5PdLETJXT6k0FfdKSyIxFOb6FeTxQN5XBr
tR6kalRBVwIaj6ztW3KkOELQAWOMsiwNu5lLKyQLm5CEgjT4Lj4b8us1eYhH
ThQGdHFzYo8ipj1G+DXWq0c0XpgWyjxMDGs00iiTzBV+MprKE/rzPae5rPgB
SdSWz0eWVyRAXUEhBV63UeCKVygBFwdAjeWMApzWPGDG6EqKVBlzuAfmgri7
9OhFy7TMmiWpZNJVGdWRraaE16Ww8lfwgayDFnpS6RPtQ/Mlih5wvopFFNsA
saiDmICn1lXeKJ/uwV5xgvkYYyuxAaH8sc6xKRzIKZ267NwQ45Bi4wgdKsBW
0u5k1tugSX55dZFmN2VF3kaBOvS6BLdyUVAlZcpoB1AlQqzy4SF/Ox7UDrx5
F2NI+NjQ1ggGuM0Ve8Szux5+GSqs8XXspr/Z8WbAFe3eaUoz4q1YQyj0tvm1
MojS4KFpgiFezygSQ7hQTTwhc+hii0RyO+P820ouEulIfBH55HQCpPgTJCpt
JPxmMODUA8NiiSmjSKJ+b3OKciZJxjiwjdYBHKssPoVjOQLJHCc/c9uDzpQa
U/m58JQ7DXyXvM6zGXryfFbxp+8W8FmKFsuXLkH6Q8Zn4mxkJLHtBEUNtqhX
6NCRfU+UjgfGEDiL6obHs0qvppoUZPYgabjhWCEbCt+CP2XlTU7jEwFWMpei
ROGQ0KzpWjFuSH01ax1EUycW9EWirrhgCZ+bEuAi4c95aUyUklRLm4NbTzEz
5uDbA1xurbFsUuy7AYEA8SyI23O8GPF/SG77gnLB5ECUTG3hZkmSApdOqOI+
g0gVkM7mBgHTAS2/D/oRbb942F/xYfu98Ek7+NlH/uyPkliFNwhzc17tUlPs
NHlyQMKOvmVj9mcpOYElBNPtRRN98I2qVqXrx9CbX43Z7t15tG5n6fNHu/Ti
Z4dSjyiQdagI+PeJXa0GkN9JS1WUHSVnqLj8uwQpO0N91lz8vkQlvZmNEnsN
GKK/1MTvaIeJmLxmYb82rOW4fITZV9F6zgW/ZWFHSHEqV8T+B/YzYweYnYlF
K4r49A2+2WIUmMymKEs0V1QqOVGJokvSCMHw4Jpk5zxoiIRa6gLLEYJuSigf
trV9bsQo0jaR15vggooagjl/VOHR6/tNGeA+U45Ln0Rx9P3kvQOaUDdmoDIL
GSgWgECp8zhBrVWBVUzUZ5Vtx06WiFO5iqXFU27QZFpHk2tpnjTBfiALPWw1
FbSXcoRtcCRtVLl+eSSnKB5tizsUBqM2hbc1VOJh4YNZ8Rus3dxa25tQhdDY
Pf969Du3zZ+9pQN3MtyB28V+3W4Lm0+fzI8aarlb6UnLojxbkW0jVMM3XHP+
OfmFZAmiGv5bgh9zcKCDbCjohmSqf+YwI/xCev/An5dBzii7fwOmq6KS4rKS
TBTHrA1qu9+EK8hJ1G5ZcVtxFS8SwlQMHpyuNquwGZ++e/vqnDsJIaKj2bC9
Dp4ayjDwYO5dwaVCtm4vmWjJuOFLjJWvMLGGJuuLCzklyFdgCQZJgnmQ3CCE
ugijAw2n7htfbN3v2G1mrq3APZns5OObMTdkwvTQR7sdIFAlNUNrlhThuLUs
5XTJPhjX7WxYGIS4Yr8FO4/4CK5YGsmvYUDKrwiXmtgf3wqZ298RhYgcWsVI
x9Xa0GiobmrMlvA1Tljq6lXakQNE8RTkzUifA53xeqhLDnkBx4atPbL2FJUs
0Ouccv04yxHVCGlR06/OcQwUTa2mpSmmZOjgdLoV9ha8C3tzer8nxsPMoIOj
z7k6NwSzYVLqR/kkOih6sZN8EMKgeijod4odhdP3cutPwztBfcnCO8JV1fiG
zqri7r4hmYpKKMfrMyJVZzTuGZUOxA8HVyJu7ENE4LzLm+CzgmZkQVMCykwL
6p794KlB4Heu1sMdbwhCuMc1uQBBUf1jSmli99/I9yV1AzUnI02KeLhEJmhm
SG3g+xUO3Mtd8V+ER3BSMFjEIZBzpx/SmDN9ovIaNl+4p1bex10cPYBEPIrx
N0dbWw2NFCkw3nHG+MziJrIsCrxfmDMIMKVrtag21ilF6xnQeyUt2TraeKO6
VedABQbHSkYDX4fmQzgrouVem5oIAtyCxiR2GLxq/GBvTGeZ0lGelqGuYzLg
pCLSUCyOdenjQtTdlYnKBmrKbNXMK/VP9/MlveAQq0/2feTlCNJK3IDAEZZ+
R9pS6iHYOhE4tUfXt8epFaNEKvw7NN+OckEphpgIDJtNSI9AX6Dpuh5tPxRc
MvIxIv+bBhDxFhw8KKrm2ZsyEbUGG5w8X9LojrBr3HlYrBHlezBOUEy9vr9Z
lC7HydO2L9jo46SUbaEEfxjOikpY47Aqv2Cs3rqoAMCzB4ay5Ka50VUgwor7
l4Wdk7WvZp5p3q83GTUYMHpwm8lFlgx4ECfzigskJQpAycojb2qiX6ycbCwl
MK9r6usSVKn/4KsMeWHGCWK7K8gx9TBlVzvU+hwB5nnzd6/86hr2D3CBXrej
GXnNuwh6KCUo0iBjcGAz7AoRb4E67iOmqGazY4bJ3CZWnLJAUzr1Igu1gqwB
5QZVDs2OcxTJw/wTRl464jpPVo2lV9SiQBuGgRS4iQ2wqhXqS21dLJfsKnGW
tYIcV7sWDlIiJxweD6w4ytTVamZ/k8PqMvJW3gAhqpu+1+4i2rbQYMjvyGCg
wGC3pCbCrHdh1Am2egqKokAEqhaBUmykhV9Hwp/I3qM0esaDyNvGKRj0NwED
MLlrylAMMu0WJPkUCEcgEMTsz7j4l/KEKQPc6kEol5SV4ZGU4zsuxydgI4QL
rFnp0Epy0qnxtltC7iK/yRD64F5kR8f2kXrOCWq/JQVW7MylWnpYn3cefoNa
j3YPLguqnS3ddbKJuBeszCsXSXbDKisLzfvyps6mDHOgLdX7oq9Elk1pBIEh
LAor7wDlLIZ2ift6Q5HwLlixvhaedB3LwoKt2UzHAvS1RxrlHPlwkevw1KDO
VMQtcyod24dHrLZU0UokITtU5Ow1dB4YoA/f9U6laczF3FDXVIH/aezaKk30
FW1ULaV8HtgTOfGJ+wl9XAn0pWLkqctfIVqw20IePGCQZx63ZVuuv4uwjqN2
of0J9xP5lQXraFZsw5rsQ2bEJR87136g9/B7xv8dSGnS92NbJt9JUzuUOssG
H7Ccvm86V/BYbFZTcdjsDDyvQYqS1ulhrq62WJ2go9o6rsn5Tal+GD3C1Jcw
Mrn8JjgTVi/xucgZrNCm3B7OCsb/XhW6WdYkvRf8RZxXK0iXoDeJ7LgBHvoR
OPk9bgomfbI5+ssn3x2N6ocyqmNRS1a+8YlH5K7qpGL06yKkxZtHnEJ2RndP
LFvqb76YqW9DGroJ4Gk7lLcIInmocR0W1Q3lQkjuWmaqEB5Y0LfL8I78rBHI
3PCQhJ6Y00WGiuVLIFAgz5sz4f1+Toupo4QJwVXTi9AzwOKyNjJ/QC8rNCzH
0hwVYp2XlDVEh0CtAavOAkeyPFJxfL+3CP7qa43K0IEiDhVxa3K4Vb0sqSmP
X8LyqMhdQELGfEU9f0G/7ZskudbqLV1StgZSZa93ZegniiBSCgaFRI98hMhh
BVzyjGB2SGFniB5AHheZCaXB4sz63Sc1ZVs9u6RDoV7u+UyhTCY5sdlk98gZ
4owfluZSNcX6MiY2a3Z2LxWEcnJKDwgf6+xLhHsU/k5lkWJQSEMlWheuXqrq
qezE5iN8CQSBwu4Q874p0ULvxR6+R1FV3KHMjuMeREC++EbPxVfeeHed1FUw
ssFAzrLV3BbmeepGJrhiibOIe0kM5rcYxSVSUUcn0Y75J+hBpNRJ83jY3laT
yVrT7QayZvByBvjLHjeHFVdKG2RU2mf7e1++SCRWZ5X8Mfnb/g/PDsULKQgf
tsp/dW74C/jdJzDs9pM//k/007QFdWeUJMf0L/jmn5MD/E4sP/+1fABPPMHv
ZVzQPf0jXn+Fpw6Dp3iR9oT7wrOjX8KE6L/G1KRyZ388Pnj6dNeF7+8/8uxw
13Vm0H/oyYE9xBPoPbF/8Hw3eZxc9z/1vS8UhZpSOOZi7De5hv04noXFSUFU
i8vhKFzV69G1n8SRLAn741cHSS9qFHz7JBkKzAQPHCZBOCP8sqrDGr4AimNI
r/u+h2gwlOkhoQjLgOdWMAuCiGE80a5fS7JLQxtHEndGqD0gCyGY0RHskKWv
Pn0a/vPZIQ/iP3lyoM1YBJGOZyMtSltKlDq0BCH/Ozji8IeCLh1mO7vwtWSY
FnmjqCWItSP+MA9RkrOtKdzuuNd4A5kT5xlxEXLolJEBI427qNV5qaW1oWIg
rXOnBM3fGKiWDCT18+ysw4iKqTqqxEbxEqquayTqTtaxX/2hRXJ81OZI5sdE
MQkdb6j11Hm/X6ypFmNqf0iwwKTss9PawUmBmKyxSM9uz0hhxWuKhzQelpwT
BejQPAJ8CH+D8qGxILQkCaGKGsD/+RIyNlzIcdBx2jjcp6ArGuwjQurA2OsV
oaNWAvgneb8dMXIcessdoWe02kxTN5h81yY3p1zAluJ7sVm0c7Qd8k+f7Ma1
rglBQPp8cM1cpGpn9BxxApboiVxE9fzF4Qtuw8K9EmrVLlE6BV5Aep0SEhwZ
9nigSqWFCyqtxeZD/DX0ySNmcUslgx/A2uByHgaDl0Z1Zp5xaxnp1oB5FdLP
OGnXFMHGt6LBDe+/Lqagf9KMw9lxSSu/xZq7fTMdHjP2UnpflA3mzuufjgph
s0XarCcYj2SWYy9O7/PiZk6GqnXNy/jaW/uCc6q6dn7h1KPC3jwazFa3Hsxa
WtTWVr2BcNFMWf3my0PNysUa89CcZvotNo5fRN3xBGwKNQ1rgsPbFzb0wLtP
PpV5VRiEAFFlpMc1XJQcpFJGbobUMpwq62SXpywxokpnbtIU0iqdQFS4eIlC
blb8hqtlzrpi3bvj2tB3Ookig4ZKtf6msnJOFoo3vJWFtAwMtOW+o1b7m8hB
ddtA2zI1cB00eBPYelL6PWKVrMN+qWgpfTPQGBHFdIkXEaKWJ/Iu4xfIey0o
GrIQOmAiAiBIZdr0TdCtnOM1ilYTFI/WRXs1oENzrDIGNjYA9Mi2taYx3iYn
zlKROGMmo6XC0kdonPwqktKFyj2Vwd8VTVVbd76wFkWKGuIlA/3gi2gsXiNd
PF4XJh6jk72irvM2CzpTBQIMi7YQF3VN+GXORyS7lbenncX0GtN7buFCY33A
HcF0h45/TwZF4ANKKVCaTwNKFIjBOKnM6oulmkObacYOGs6RE38GlX+w1mIA
3n0LFF426JGRhCbynesUoyJiX9IYJHS5bgtA35fTo671cJGsRnZhbSJ9v2Qz
OHspbp0MQnKjzTQIOB5yZgSwT1vMT4Hs6qfcYXoj9loZEXPt5EJKCUS0JkLW
V+crJWA2kT4ag0KZd38QjM3FqJVdzKIO/IEAkwazPwrSGiPHjrTyCneAAzPZ
hi97Y83epHUwNUlS9BsMG2qq/ShQ2VT4alOgTS+JyYVZmNr679OnIB32y/fN
UKbUYGW/Y1vJ6vL99SNR2TUFlN66GADOC+koRJpsqf1upXipk1wmlXKuV31L
N1/fKYmeo4EIu01abx4lEflLbDybQy7et8+3qJwGXctbDYkp4m7E+chhMlDu
DkzwrRRX3WJyTjXjueBN1OonOivP3b3X1fqhz8PGXfyubkYjaBJYsQhT+y3F
rsma1sqpl7HjT9L+bXzWU6TKCs07J/fQ41Go4ieVIlMMvJhvkSfUd4N+cdzu
UADQmCH9EhY1XUyQCD59F1JJ2kwYh+aCVdPZehFXQgWpeb2EXB+EsOxpZxDJ
1dZcs4GGFd2sRMRHiQuyKGoR5gWE+WjApMKGCCpLFJF5M3L2cqIx6vxFKx8B
X8+beUlaeZ3fSSmt1FaN1Cim21FklJbYgApcUokZaUT0ITHWwDCKctTZPIWv
QRduCAhKDNRu8l6wRwGqhShs4fBeeZP6d2f179GuIaj0OHlTSA86VNqlF0DL
c56p4JcZ+UlGYAV1boI6Sr4Xe2bs3VqGlsZRY5joKsc2NchltggvQkGmUryN
i9cvwLdx9uCEAu0+gRdTTmdE+ObwTppF1ToY1/cCsu+0NpJnS+BdMlfWOcLc
MBINBBCRRQdY1d19EJLwVVTaZrFzngPdh7D6QrNEz82qmpDuIIykCD7GXFHU
Uft5+D7cUVluor2fULvEGUNuEHEiOLYT6fgt1be3Vz5cUPl7x9nCNKRi8nu3
PD2FhQYhZCsDTAUISgjByyHf0HnR49E7sYiVOnmhgCbqGNyJ8+PPOOyrblsl
ozBvUFSyoGkrQofyZsZbMLHs6gptUm53780Rp32zGg4bRR16VCXpdumJqzmU
92NJTORqqQeMN9JJTaAEHYv/Tt2GPVliDNTI14vkMIDbicGJY5pwXSiVg4sg
k1eWJfmmqOuKsIz1o2/RbUMDiTPFyVnlLb9Bpxef+JLeyJj7w3jJzE6psMiy
DL6OSOW0gTG/DAiGLLaRXBWpGxSNoFOtwThUlFokuyDmHjUbCk1wkgIEz+mX
hdaeWpbIfyjtCTkcAd8uqhvXViCB4HAJ5CG38u3ve/VKpmBgI+ZOnwbNsnWq
OZeVEfbNGmYDI3UaLg2FeG2qfBD2Rt9NL9BTnXSNJBtA9Z2BU/PawPaDwkh7
mPszDAkbYYOyS4qI1ve+3t8fHzDs3Xn6anxd1LfzavGP1BeFpRl2qkvFGZkJ
lndQQRVhXFxhURfonnmbofLLFQPkjbQ6K4W+IICTKwajCz9izBMpt0AuKS2O
cb9B57lB+IdYn/R0ZoV1fZJEJESiPs1iYREnSDgMTch2z7VP7+KKhdN1S8f1
YzbBr5BaPn03oa8m/NVXr/llH8Sza+2J3nrHadeLqiFbTFrCeIMG+BblDKfc
7A7LNBtF6uVDT1WgeG4HNl2d4YAgrpbXTQuaI/pglfNYrzOKTas+iElKRTUl
fEyksuzmBvGh+VUUw+YKF3FSCyAlbW8p/HnQVlXSQfVVLZgmsNaVQ1PPETwx
tUKjtnlI5XWO2buikswNtS7wpQH5MUoEtjPFNZ1Kb9JMgScb+eYLuyuk1KBJ
TuDFL7nI9i0W2WplTqMgPlKTAHfHF+CaESg92+HLfnmtYpdjZMz5XvUcr9Au
NNvR59EFoS3SS+qySm4L8iA79mdWi1zSwXhC0uGCX8WoFVMMCPhkW2pbVxBb
xV6ABdFHVXs/q+ZQTDiRyZNO6KNgMxUTz1KENmhChuuutdG1cr8gY4/z7Eum
0Hne6cGQa1MktYGdVnbQRbPmm6CK3fvkyq0bqLW/vGP0C+SetgiEb0NTlnt1
L7HR4quCUDR4I7h55yRwFEu6WXkTgMMqtixlHhVNH+ZY7NHX1X16hvGq1SZh
RHnCCeZ9mRdTuRoeBZ6UcrElpzlcyS5MPGdPY0ZtBhMlobMub9YgECkckYiy
zG0MPSw5eqKoOZhgY4BsWWDF9HqZawU7GFVzDJ+EmAkUmqNIIIxED4MdKD2i
WUCi2KgJ3J4YlGR+cvqlHx8T+9DTzt4OnLQF0Hkzml6/S82i45W4BexkLjsp
5XEK5QGcLBULGNQ9Kmy4KzLr+gJHmnqm66VIstPI7l68Sv/866W8iTEgqEC+
DED59vZREQ+7hvLElXIJZVhq1l9mVgRFgfyBuUtAmEu4BfdUwDNhC1ou6uWd
siJ1DbBoTd0Mn8SK9FeWAkV9prtRczwbo38fzNXj1N7g6BXGeNHBU4wXSXd0
SdJkg1UBwzmdo6G2c1f74z3MUdjP8b+woAU+2Ls6JuC1bbcUtDkeP43LsKkN
T5DSHcF03sElVDO8vqPmSDCTKuQ0dk3GYZ+xwW633P6kIWA+7Fn9fePn685O
35xcUFOeFAF+pzrbtko9SxfE952w7bVXvQ7gf5/sjhw71hFyWmRi5K/GTPfz
s7Oz5A9PD0H4rVElg0VMCnLQ0uYfY7KsC8Jp3eNVZb4ZOFugFLh/C79RHDIe
fFEg2TTdudP/WJKQ+d5xDxpHGpzp1MhnlF1cb1Q1H2mH6S5FoC1JJEvTr9ku
qTnxIOstAnF3gnS/ratAS7JUQx3HDQAhgt97nqqNKjchiCGtz0kUbzpQ/EuZ
iHy80jYDdA+SBEVzixuxLsVjhho+CHYXtY7T7ECK5i3hX21GdUp2H/XuUWNA
sB4V+9x0KaBEQkDxdvzIGkix9MKhWWDFCCmNARhUMye96QWQQSwMYVOF9U6j
1RrLO5YXhT4E6kaj4Z+g4wIdzsi0Gh+ljmF3NOgNB0m5uHFbEeaN50upSQRN
j3uytqSuF/o5WDL2OWU66vPeuUJBnuQa6BUWgIGSEQOOa6iFvG3L6o6TDNS4
+/nD66TTeSw2RzGBC57B0TWnUxv7ki9oWdEqM+cbHMG76aJQ9a1Fd0ir23jf
nlzc3kJ8tRN9ZJ3iMJFGcUQHiFZcSeQmhNHZf+YETS5wKUpxJDmrFABwm1+8
668S/4ImQpinRTArOzrzOHlL4SoBX2Sldr4GQ4H0TMYuCbGqEOiR8BMJ1eqG
Upf6efFMr81qkVmxJJfHcGgRewreieQFYuOUlLE6G8uOJ5PdbJzZbsSWeGLT
tkgKn+/YWceFb5aKrKW3uoVDzrl+vWMQvA5wHruusUBqdrLb3U4voLM72OkC
SxKJRg1skbKDvAOUUGsK0XlwW6z6myPumDxeL6jARMnIuxr4Bl8C94PvzzQd
Hhf0AYxgbGP9JzRcQQ+RrEgJ4nnj2IfggpQ+hVyDfbijHDZ+gTUW90Ag4kby
7X04A5qSI7Dx3w1d1I2C/uOAefBTNABqmSl285zTbBV3T643KHv29JAllS2o
YxH8V66MIJBNGqXlLumUCiMPSXfJiRaGhThpzuOkcZAuJSPCQhGSyIez5HXi
aMK+A0cSBQwdCRfKLGQbH+vcQRitxQ2MjiA8zNhYp9MPIIUQSy9XA6i8SS+B
Mg39jbXXnqW+aO+QYcutEy3CnGU9/wpGQah6iRLmMSoUQh0R9IM4OCgEQa+6
hl1BhqEJmrgji2KW05FKmw/fwsHixXVIgr48WLucZuZZjLz7KEdzbO4hXe0s
+30IMzWqqsykZW0IqDy4LV6VCWDtqP8I+uLv88Ui5fwXriILM9jie/mem755
t7+eUkZ+sLiLG+FocqzWTGRuiaZ3+hppOw0rttRSAwLn/ffD/cCegx/Ya6K9
YyQ6UbAH5D7Pbo8dUYEvZJwyqBaMmEnaM1jylg4sWZILbtWDRBlMmB9g+9Jl
02rVEu+S+YPUARmKutJknmMbelLwD1+8eA4KvndpkTKPt4gfI1cnF+rfrDlE
bI63REbUNBtuocMCOKvBDKYu3cYSMfQ74tw2cpm26AXoDOHzaSkiqcLfNpCS
ExgRrOFMFLfFQbnEbNyWi02M9mXpHKsr7rLJwI1d8Rdwa1GJEP7LkbAb8sYZ
LC2nJ3lDF74cDzSJgMuDQprTRCwrQxUYKVizdvLeee4tenFVo8IyplwQFzcN
QO0O6WJeLabqVyETgAMGMgEPcsUsYMxpJ93ik8ZgYmi5qf+eA06NzzAwBuIk
5aPQPmqc1NUp4IuTwYKVekxhR6Pn04Zq4Tc+wbykdtaUGhY3pAkLuGSdcQHi
943j+I9oSyMD2AwYUWnqn3azq27YRqf7ZpFUaqftLO1Is/7FpCF85VJ0qNo8
2sJutL0hv4xLGUFFI2jdWx/+DL0qxiDjoJu4kCgxMVg/sHTm3KqZaRQ7JFIX
VbBR5SGWpoPNCSapphIXFlCgoADGHKsVuik0B5a1tDhREyMdm39ETaxYnaLA
mxSv8E6NYkokiA0XmAZADNXNRmMKqidjEGMURZ7hn/dVfTvDxjx0tWggn3fr
gR2CZK7xIBBYgLEh1Z5Njv2CG/Qor8syR6JHUxaYXFMpL4Jzeb3VCxbtO9bT
hUm/Rt68BSDNQJ81vz6qshcZtTcbIYvAxqkdg4GpdtAX6D1+jXgwye3RVFjr
AFa8wPXQPQlrG/oAT07jcAHcXReTrN+QcLjhnBU4qJbWacDoG/YhtSMjmYBd
kZuy6GUkikdESZ0ebcfWRThd7HwTqI6ccxzoLKqqYiyIfLXvQ9s8N1kat+jj
Qx4lBalWI67olpmJr5xbmCpCt3Uma9kwxsSO3JZH0uj85O1JXxRhMaFG6cyh
gCKSPLBkMGFKj+R3EQwNWMk0loIbkd31TbDyMaD8yJSbR/Zjp9sjSOWPiF8Y
wCUrLoENw3almVY4LxfNK2Re3ECG+c973yysU1HJQIHftB7DpriIFIQPmiMl
KWHi59w/eBY2jz8cP9tFX++rnGUcnNrZb2h3MOiglNVoV8aoGqubIGvdiAzQ
iuq7cjReqsgmj/Gt4BJF0GZeRg3Z18x0OLSM9zbEPZRb2Qx0SOllRNLF44gu
1ZlEGDNBmBNVBHUYcFmLL3oRnBUgeTRl2OGEhMmFKz6yr/fwOCIT6uQepK25
wFRH+X/BcOnKt6QtGxm01HCIMM7MqCbH8DAFiMox5gujvVmUfND24izjY+rH
SphOVCEDEqVilyarbNfVdKPB/qDxm8cp0/TFcfKS/dBAcI4lbuAbYRidHmw3
iYga1CZqHOIhsVh+0mIxjZ4DbPNc2QMdcMFt53QiYsY2Wpf/9TvELIhYgrAh
G0y1mYfjlmJDoVmrGFBtpQnlW5ojNdpDk+mF/G1F2/TfgmmRDbf67UDnCbyI
GwTK87odOf/Qk78IqBkhnMiTLW19HVEal8fHjfnmbMCIxRJ2XgiBiMLYWkDK
PKAnexwYvaxeeclkAPV9c8DnHgvqwuatS0I0wprjAJIM94QuksB4YDPegDOD
DbJCzHOCo0M35RG2MaYwKSNnhx2D1gXvy0z0y6K0OkJNC4RR+FoeJVcnxD0w
dvZBeq5LAA2xMSlYe4XPvx/CR8RpeKxHTsdeSWxsBhe4IC9MFQDztASU1iMN
qWv2edVBf9eoDgx9UjidP4UExJesg+FJh3HkEW7jhzWEDpOJCpklrub7v3Z0
LI7DVXLrieJxOtYqxl8lfrXWnNMDPTD7euOBmUg8wXSsRddQEQHs06O3j08e
BZDBmILPYR4rbcIZvRu6SkfSSx0dymdvT9+9Ovt40umkq71VEKcYhqHyvDs4
k6oGYnnPZge7dKU5aUnpOne5PsW5/+wTFpJBAZdo2I5cRxnVYMP4hnnOU2sE
pI25LeqAd1mx2Ib0HHS2jDHzUCoqYYdizPoSMcwKV6kEtdKCmIST522eSRfk
gfPlIxhoCdg5C7gi/mZJcSt3XyMZYDefsuhO/kpX1l4uImIpeX6+u5bm976v
q2XF+GFU52ZvwmtnWxCUPdsWRDpQtGF4+f04sn0EZUncK2AMx2Ru49/sLJMs
9wWlfVE+bUOcdd1IPqfP8a4RoS/rKS9Yvas1pSQaSId3lnFv5ICbA1cQKI5i
wnEJzkk4ySENhdNHSZlHsuurjfR42NxInBSqSRLlcHA1goh0HKKJiZWbXvDt
oPKiPnXPpM1GsBsj5yMNqiN0YQSaULkKUhEX6rUxFdCRZ9nLL3mTpJNyUo7f
dyxcFXVEtZCjTk5a1FjF+p2HCwiwUBiK0KsZpLp+JlGGAOq8is98mx6LHP3M
t+6zsrLPzIx+kY387HnHEMp8B6sDZDH8gikc38hwh/CuK/nzCj5N95/Bf0pb
D4Z2mOe/wUefPrWEPUKvto5wmKL6uWM9yLtSnL6R4H/2CyfTvPdC4CAD/5mm
XM2t58z00AyOmjUpWfySwPVfs3ug6X4XnnPyWh/H/heDwwhdsmjibxP7li6/
uT46Kra3xEixIoXtKJm37ao5evz4BnZzfT0GnveYgcxSUs7Sm7parx43cNHb
VPMMxMf8GH3kj5FVPZb7/hjGhKEDTnVF5PGf8Z60xEXEx/Yf/p54+LBultPl
qnpbeB5OgkvckVqvIoYcVDoF4TOfD3OHtt1NfsR6POOFZhqFIjWtFnmlAnaN
hvwd2QzM6Tl53cRKUxFMbMjD5Cq02tTOiYe3V/yO+aprTRdVVBAs6ZLc4GPm
5t16GjYbQQsiKRpAaX7zFjrdQiahqFgMM2q9r+/Yqb3nMzC1HEaRBQ72Dp6l
e8/T/eeDfddkzzkZjpwPmriWlljy+RJRy7z4Z8nGb0WrUTQBMWg4DXYK2j1d
ueAgqVewRId5o9EZGx8dxf9NZCcXeS7CJCVaMliJaILsGonSJ2y/NIepe1lC
FFo0R0RX3Yh7ppIAujTPEd7Cbn71oGmmiRQ8h3qA0+S/+K3kJfvVymAzzXXi
iujeHCNEfCm7xmAUEMYR585x5o/oKE1OeN1x713N2O610kTqn2FKLva6S0Sw
x5m/USdP9kwMuQKbJLJgxTMhfsGtPtJYv2G73fedEa2CN/kRRcN6r33kTasA
psF7Cvf3x/tHge7BrUi1fc0lw3nxP8yt8hkVRDNtv1HxQLmsCG8g516+Qrgw
BpL5jMJUmMXIEhUFBGl7xaZiYvXdggPdMIZkqzrOvD6JuYxSSVWarcomKZ48
zprzxuqum/ZhJ90Dbtpx3Otj46JmtgPdCDUUMNz9NixicyEcn8J7pEFVucf5
sXYdDGlPWjqi4QRV/VrDPgpxM8xdNdwshLiXHc7Wfk4UQ/iQU9P25NeqvqUm
ovRPuBth//XAxA22JuhjTxVEYVdy7/RF49W6q7P1Gji3oq4XXMrUN2aRZQ1V
/O8qHWRhS0+s+LCpMoKD4UwPOQMlZxhB8Kd56M+laE/ktRnbthweBNsiYJa8
A5KDpVWvpz9aVpYU+jouQCvydpayviN9KZt0MplpsmgwPDr5sL2pddORAZ0F
zuIKMDK7JH7A20LzxpfOiwWmpMl7s3oFr4lzYbhIj12cywLTH3y3aoJniRCt
FXzkQrH8n9AJHI73mfxPCdCFTpSOStN1yV2npzDaArIkxrqlsaSgW3NyEfns
Be/FcTp1i+muCtoslT+0L+wA7fYB74HpGWy+5njl2mYjti+t7tn29PdXEsaV
g853C7OnkxtMI8bdjesXR4KkRL5fLTMMSwqdjipxtCGY0E+ffNHuFyQZoXpf
dDglT4Q1waNz5/tLGNTTJK5yFSKLydA8souNYwJLzGMm0sC2EO8oUaQC8Ug/
ZN40JcigTPjXy+QKnlEQNunZEtZMp9lUNE7Lu5iyRCW6CSPTvjoR38Tue23I
bMA/F70cHIUdy+3+Gz6OIBkTkoXvjsfrCLN3kaAuepArlI5Jvrme9D12Yaph
nXMRdbSpCNfNk5dihdZieeF+WyGX7XkwMdj2G5osrYw6BgLdYYCD5zwrftMS
sACEfVqhjTZCtPECzkUKxxaBuDK3H72zU7mJvqGYF1mpYDA1LpiXiwQaJRFg
s4GL/Nuoz9+1UQO66ZAJWaXKWNqaIeZZW5D6ShETxqRjqcVO0bomcE3ffDs8
pq6737KvGtvrsrpeV0LeHiOLs9GsV7fnDd1HyG3tXx68CsGFOpktCUKYXGOK
00ZxjDyb4Cwk2OxiRnlc530YJtiT7wdCZt5jNjIA/bAPre0qh2y8YiXZQscx
Z8DihprT/CUzSklA5euzFwd7wZ6Q7OeYx1VZSApOWcyvBNsp+fnD+WMsOOiU
HUpzK98SWfRHQl4Nm2Nykp2yCTvhKHTQCcFYZxrC4VPYhOt1RJwwL6FNth6b
akHJw05DYUYlTXVbLaq7FFSjJs3yVcoYE+QnQMtS6iq0hsCkV023BEQOwpXT
hfxwcnkhV/EokVFiBJmUuqEnmTgcNNWSZGadL4H+XFBrPZaC+WUxT0E4VSLb
sgm5HyQJoDNdhVYIPpX7zwlVxBnWyk24yJuGTeJh0aVcYPko5aIr1kF3VA9u
QQYFyXNFcWWKVodSma9B9i4Mp4jmMEydLfcQ7KqzcGBgVpFhSsXWcLjzvCWd
LLAZf80Wt4po8uk7Q4uytBz9JAF1bE2/yqN2uZOGgQpCXLpRoMTjvzLCtLSu
8MZItNsNovczGXjFMa4iSt5WQijO8w2VpZvE/0qbmjdE9bAFP/wQ5Twd/fBD
coXRYQzhrakkGh0wV2Mp8z0CYc3E9LGYXiU7HN7cHbkrywoOPgUGAoytWGOd
4lC9Fj7BL4hGG7uz0LkA7/xkT325Cnp4H0m1HhWRhlFJqloVz7EjzzE1cJrn
v9GSL9BW2Kdwu7WBD8u+YRcIUv3v2IsDMdEf+UU/Okoe/XqRHh48wi5Yj2zZ
+Dl7wP6QHhxe7u0d0f/9L/yY7AM9tD9+wh/aouDjcr1YuC+MLS4TPKAJnlgH
6sjjQlP8kGNBV7yHhbT06P9kVy1vDMiS2sliSZuI/+ettrOwJ7LzQQ+cHp4I
rY/X/ufTiyQsRm0rK+SMkk+4el1Ia6zjOw0uUGsS8nigwyMmimBjNBEo3FRS
TR2n7ZGeNmV/lpWf6m0ks4LyEYHxeFI7HCC1XisKXPDPMJ9+AjnYzDP8UK0D
MZmPknuQuYEYaT1QjPPGBeUWVffpqlqt2UEQLG0kxgUnCRw+6U1r7M7bpu9E
kfrRhuMcmOlwpHY6pShLp5koxnyMj8oaPlIGLtzfQJg9lhrSf0JChJmRXCb/
I7tsNC5vnBZV/GU+Ldgz7hV8W4wM2OCb0dAgG7ZJdtjm2X+6Gxph6BotGmBV
km+DmRwa6uB89rGMdyUOfLZbgsfXdXkkzxz1megRXSQsIQd+/wMlvSu9B+BQ
CNo+YyDrwCsT1EkDyekCKSu8zjEINMCzjdtTylCiSawYFfb53MEGHrvh/tUM
iyqk/JRI+YN+J+BAOSVvqDeDSPlifS24uf1mHFTxfHF6fnk5mL0LHB5z4rmp
H3cbgp+r70Wu3JA5jLfYD9jGrX9KzBEPc5mmpEBer9VPrfGYxq/2Ga2WSrw2
zJF81CZGueytMa7vM5KUGouRA82zptKngH+MiHmtmviGKvod8MGRITFRcjIx
NlaNpb+UOr0456YSBskt24JBJWNTtzRoIEqKp63RN23Sz6hoVlODgZuR13fo
EBG2X3rc6U6MuuBkbNnoLHjWjda9qSt1HGtnl/dVerHA7tGB7hhoZtcPamZx
Ra82XbvHyJ2kLWGekYC/SBZ4oF0FVlmkQ11McjAviwrVJ+ALWh3ub2IUj5Nw
D4ZiQvhB0PEmV06VvmGnPb3tJAIthF/BW3fiVwyMfBykGpHatNsV+/CUiPzx
eMySXPwPHTWAIDfxs5Dr3MPQOX9P7HL6MWu3qgmqEZwPg4mFgM3S4I7mdjWo
2IyB2ayouqSNxPjVo+x6/2AyfXKI67mivXulqAp8NAM71z28wX37sZLyTcM9
CLzUhi3QbRbVAVqiqEeXbwTO36ayWhRviRu0LL1JW2lnTgpq4kQh6sTbJwXN
dqOgZRO1zopt45HcEFq3pOxbhoY0o8Y1RdqU9qqT7NtxUGPDupXiTElz1A4V
drVioii2cJGcAjKLFgbf4c9RSd0wcfbWTb9COrf8THxM1hN/Sb8PiAe++6I0
i/vfrcqPN/lKrji5YruXVfACOhip7B/vXoSokEY60c2KmtUcHOseFA/OELve
CJKm6nxD594F1Ox0HSUNqrBeh9SqIKQnL36IKOLrZfqXg1dpQfooAkWiG3gq
kJvkFmCGGTc1E3AT6sGRRGIyQEHQDglbee04+Ul8uVtgUC3xMy+pTkGOS5tY
D23f9vIL9ongQdi5co1VWUk+aH+i3hOB6FYSRysam69D+FttsM5XlkiFsuAE
FcFjr/UAaa18xEOGjrbh3Y7U+2I4pVz/yX+zQDZsYhLI5A6wnoLJOblfJ4Ra
YqJ48kUBhfVLrW4w2XyP6r20x8W8bhPVoQ+loXLzTr4fOlF6LpORJG6EQl7g
D7QmL3OgrHCTCFAluJQ0b4IYMKfy6pzZrLEYE12JDSg9S9LivbIk2yaJPARz
yJwa82U6X1g7QuKYzBPdyclpCI8RBbWCPgZaYEalC8oaBIWGBxKRLWVIhLIZ
ZIsFyAiK5zIt2KEalJzTqp0/N66pkT40BD5XoxnRKvpCbuVikahM0YzjhNui
CfJCs4ZzMSh14I7l8U6cbiPOCooGZogXJ3kdKNsdbZ7OTqYlSw2Rqq2piIJh
kSvB+iWDyFMcq0EsLRLAVv99U1EHj6oGHsVK37v7UlCKSN/n+gfgZydliyjt
7AZOdi43k3lOF4RikbtkUggfB3bh1SNYMTDQiwzuwc5PJx8eX7x7d9F5OrGn
n8LTmyXc9MK9L6aLoik3RbJzQp7X96DH0EldEKVuHeMw2QF2RMraLmfevMrB
6HljdefDt3r/C2dV/rTYrOb/yOuKICfTEzslclsZIbyyiPDSOUn4F4M4GOL9
2avznz6cnSWY03WjfAefGiXnZ5c/JvsHz5J5NrnNgIGVtP+/Ch3inuNVjiNO
qCfAIcdn340VI3qVzQFk1s4H0OayxaLYHWmxkvmakAlvn2Uj3v9aBkiBARW4
I8qU8KY8dMflkFjpdVYnQpAfWsjWf60AvrRzi7C5K2EAH6UndHK1d304zfae
XYOYDjLSEIxJgX4K7lBACJaYb0ewkNIXwzYQNiBfzNRXJiW5bFqClCNVjbuy
pZJ5VDv+p/gZGR1X6qpA0l7jvUmls0eYRQBMuWksKZFQP9H5hgc4LQQYlL2i
FXVHp9GM+qQSz/6dXeNydRWOrGhjp2x8w1UZ5AAKsxzeen87vLBCh3ES/nTc
Ibu4j5QTQIDAulZq7RCotCC0tdwTHBOmi+Tot0GjYUqYNTl1a9XuNnAZWEg1
YWMloSFf8xFdGJUXylV9ZYXHNAqvWKeJoW90qEy+f6T+Ithv89pNEEK16fH/
oMAwE9xcWb64o06Z8eLW/wVOcF7cJnp7gX/qpd4dZJ7JDqo0iDpC6A6I1cBZ
L8wHgbedfEgucoYLermoJrd0PV/n2cy7cSlNbQ3H2eNqvR9zrfcQJztObrIa
NMo6H1OLeUyuTWb5/vPZweFxcnqZLPCd+8+e9VjeycB7FDM98+WIgu/F7jY3
5KlJdq4wEWr/2cFHsIXItPvl1cWxpDvCxyaNsaae5oMvsHwayiA0N7uit2f3
AkklHwxY+bilV/TQGOkWTMedYrp7NaI8oKtiOmZ3/c6jdTtLnz/aFduXXLa0
aLhSMPqdKqFyjugr9q0EnMEIvMnrW0Saq2D0uIE9rYn5fTj1r913/FmKgUdR
MmmclH6awhJSrFagbGe00jRRB506a8r0XnDFG86OII4Z4ZbmEu6tubVxOA5u
OOn3Yanlx0kDlCydW6tg81e+pWSu+0M70L1Cv0v14DtycnCSvJSEZqAlUC7x
B6/knM/9OQOxvNeC0Z+wyXP3wkyyFeh1eYq4xYwdk3x38GLkT7aazRDeOcFu
h99UfRCOyN775vHBi/4dKnEVqZWzan62h1ppyI1NNG54DtXD14mwi5WYBsg+
0wwofCVH8N0Nmjw7VzLtsYrux4l9JFh5VxbFY6fpvZU4gJDUbVIfYhA1YG+7
+RJ2rjiNZUKYLERDH2XIK/ff//f/I7mqbv94Wa/hfZ5rywXq3r+dKxnAvrja
xSRrhrpwnI+mUB5IesC6Xp29/auv9CQ7CFdCKvc0XzL6pgB8zLLrmiGEhrpF
MKadoW60wqYsbHC4d8jZatZrhlJFyWlOs5Avb9iyhUvBPdPVouPA9S5SC1eK
p8sMLxq+plpRGLDO52A7kn3d66cp908PLRMoEp3KCoQAbOBj3qDHtoMpbW06
aWErERQbVo3JhVf83JgyLJjslT6q+obQicu8RUgcZIcE9q+zFSCdxpEaj8DV
oUWKwFjT9SL/GssL0xjE1u7nLWTSZCxDaPfe3Tradi+KRlGBRD+SpSTzakV5
yW7d8Nfe9qV/Y5cUCqf51hnsd/WQOF1297tstMBiEixr0lkvFQDXi/X3BExV
rDJE3gltpgNxhfjaA17pgkqEsEBCHRGtWtfBAr0hzqqQG7CIkg/VfejGyBar
eXadC8Ix6vSCXAynjblWpDY7/iJoJ6LOEaxoeE8PY3kC8z2uZVD+CX9GbHyo
dgEGGTRJkx0zWnepGiJyymOlpoS6lUwkw8mMp+PkLSjY/5SgfpCuuEsODv9P
qG8fJ9fFtBCVDrNq6SLUazD4nj1+Bs8cHD4+oJbohKux0qmkcJXgW9vTAAi1
oQrGs/fJzsVkXoOqhdPGio9pSpCuHFK9yxZUJoG4EHFPnmmOSW+BPL56Ppnt
TZ48y9EoO2YsiZTNP/HNMbOxru1nb85fn588hin4+fmNJ11wBwU4TuwvWHi1
APuCdcNr0g0/k4zmcg/+odcv/6jBxJ1IbwNt7NgUUC+NP4c6axLrrDwZM+u9
QU3H3LVeP3cN9yEr/Tj5ikn7eciPMLhLbwqkhWrWJjun82yZbar1Lk8ivbwI
wPk+J+/KICqLBlXtAVkZTGdnMpmN7/aBYGLtGUHYkXf8XfEhPiciayezFPYf
K2Lef0i+O5TNipkQTkeVqhSBVbG0BxQtFE/HiWe/fIosRID1HccS9dg0Jg2u
Sun55y26FlfKJuTDYafChUiEacTHnvT4GF+u0AkqnXb9UI0NhR5x6kfFRqzc
BXIBpEZeMbcTEFM0kLEiDfNNfrl893hRXK8OVsnOm/HFOPlpvWozY9od+Gqw
r+FQsdRIcCPRwY5KdOK5igDzsdihhH0Ck/jl4t1jdHG3WXOK6YvJzl+yZbFc
1/KygEU3ovzpOyIweffj1hXWQcdpwQWjLifwMulFrx5ShG9yQ7utyT+CPfCe
AgZ67v/v/5W8YQ3gjQBihjmXFMBkJHi1MwLvPOb+sO9CijBFv0I3lrTd83Vc
O+dvL88+vHs/Xk53w2Z46TvCpOq11D2TfpoBdU37ofu4JZGVUDwdw/9yTMAS
WrkORjJaySAQUg8bP1n+6CK/Aw555fPxr7gpO+FLmlM63Tscsate8SQsEd/g
xeK2Tog676QPlOAMjiJEGFan5ZOrYwFVYEeQu9LYz0cLmfJYQWvS+zlHfE55
dUGoscXWKS13n3KGKIEKMufOWhxWHWAap+6i0mjvJ3alaedTbR0crbcX4taJ
CkRDr2/yF4XMx2QjwujvFZ4oYhrn7xJiGqjSeoZAfbCWsCFw2DFPtp7S1/st
gYGivedJXBPWiLgOscQ4qMoOWyaGMVmL8EEf/pLbiEiaDq6g0/MUjBrTczEw
qnquFdYETRLJXPpdwG9Fq2kAI2QRhilCjcU7AG8d1BRt5h72By/NVdhLTqB7
fTK5Lat7FGQMMAkXOP7ki/t0xH0X8ukfHxEo+KOe2EBj4Y76SjC8NiVikSyQ
/Htze/R1XaSsX4q8LDNJZCjE7dPMs5U6cSgnvYumhrnDC2w/pnlfHD1XsIcQ
bpXMBX6uqhswGf7b31BN5xLtcARNh9dnk852OL9UwusSo+Koa4MMmRtgfJ+j
dilKp9v2kPfeDPlr4IG/ImD0y+o2eQ2qKeiwVds6+HOXfuBn7pc1ZP38Ad/E
Qafka0GnkRuaKrYHkYDT6CGv7WgoQPYUwwvDXtv/9q+kGHyLVQfTXGOTDF+M
T2ZisUJ1idkx6FugHFxHWpj5xRm5wIe4sfb2h6H9xT9hlW+AFUwLOENSJDbJ
T+ifopm8+/D+w09q4SCIGcl2a3zQufE2xyOsysoW6aKqbn2jqYQRWxFjG1Nk
tZsHo+2jgXw80Eui8L4jzh+J+pzBONvbPmM0LIRC70PHBg3GkkQ7vWJmFp0e
F0vzbySIZE0gDd8C12BPm9ZmLQ+4C+tAzoxmTilT0cWERQLR8cc122Fbdcli
oYICy3KCwYI8p4Qzpbi9aM4g9/6jbooAd+o26oKhRPpr94mwCK2TLykVHSod
rJ19EhTOUCJH3Lb6AmhSqwVBbter+ibltBKrVxYy/tbbzVdJ8k4eNNS15RjM
cecBk3038Pox+WVtHEOT+kXs10eaO6nqA1XgG6oD2uoAENahzCXpZBjwLmzx
hWuooOPiF5FlQoZVnyQOEByZZ5LsaayD02TdLZESvMZBqbN0j0TC02Zd1pIW
J/1gDIza9zxoZfd2Av2iD9vdo4EzE7zBbZHP5Nsjn7imUPYlO+YBeSChQY/p
a/4UZedIlpErpkuInU2R+bddFw+yb3XycI6uKQH5lJSHk2W2Bmajboct+Rgk
4EycdX6yY+4LoUdxW/DKvPciWEFVHhP3BR40bVJkH0HlqtRyKP1ivTx1r0RV
ilsDKykv9cWPe64M9GOM3f8HZzqMuXs8AQA=

-->

</rfc>
