<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.5) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-restatement-04" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="The Restatement Anti-Pattern">The Restatement Anti-Pattern</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-restatement-04"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2025" month="August" day="24"/>
    <abstract>
      <?line 116?>

<t>Normative documents that cite other normative documents often
<em>restate</em> normative content extracted out of the cited document in
their own words.</t>
      <t>The present memo explains why this can be an Antipattern, and
how it can be mitigated.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-restatement/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cabo/restatement"/>.</t>
    </note>
  </front>
  <middle>
    <?line 132?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Normative documents that cite other normative documents often
<em>restate</em> normative content extracted out of the cited document in
their own words.</t>
      <t>The present memo explains why this can be an Antipattern
<xref target="KOENIG"/><xref target="ANTIPATTERN"/>, and how it can be mitigated.</t>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>Although this document is not an IETF Standards Track publication, it
adopts the conventions for normative language to provide clarity of
instructions to the implementer.
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -21?>

</section>
    </section>
    <section anchor="the-restatement-anti-pattern">
      <name>The Restatement Anti-Pattern</name>
      <t>A <em>Restatement</em> is the attempted expression of information that is
already expressed elsewhere.</t>
      <t>In this document, we are mostly concerned with <em>Normative
Restatements</em>, i.e., statements that are intended (or look like they
are intended!) to be normative.</t>
      <t>Restatements are rarely verbatim copies of the original statement and
the context needed to interpret that, so they tend to introduce
uncertainty about the interpretation of the restatement.</t>
      <t>Authors often presume a reader is well-versed enough to infer that
such an uncertainty (or outright contradiction) is not intended and
how it is to be resolved.
There is little reason to believe this is actually the case.</t>
      <t>An <em>internal restatement</em> is a restatement of information that has
been provided previously in the document under discussion.
Note that an unambiguous internal reference is not a restatement, as
it points to the original text and its context.
(There may still be uncertainties how to interpret the internal
restatement in the additional context.)</t>
      <t>A reference is <em>unambiguous</em> if the previous passage is clearly
identified and delimited.</t>
      <t>An <em>external restatement</em> is a restatement of information that has
been provided in (one or more) external documents.
Here there is increased danger of an unclear scope of the reference,
often by pointing to an entire document where only a specific passage
is actually intended to be referenced.</t>
      <t>Restatements can be entirely <em>hidden</em>, i.e., there is no indication
that information given is a restatement.  Restatements can also be
<em>explicit</em> by clearly being
identified as such, typically no longer using normative language.</t>
      <t>Restatements can be an Anti-Pattern because they can be "a common
response to a recurring problem that is usually ineffective and risks
being highly counterproductive" <xref target="WP-ANTIPATTERN"/>.  <xref target="reasons"/> discusses
the recurring problems as perceived by document authors, <xref target="perils"/>
explains why restatements can be ineffective and counterproductive,
and <xref target="defuse"/> discusses how to use restatements in a way that is not.</t>
    </section>
    <section anchor="reasons">
      <name>Reasons for making restatements</name>
      <t>There are many reasons that cause document authors to include
restatements in their work, many of which are actually good reasons
once the perils of restatements are properly managed.</t>
      <section anchor="integrating-a-complicated-base-standard-ecosystem">
        <name>Integrating a Complicated Base Standard Ecosystem</name>
        <t>Sometimes the source of the actual normative statement is complex and
would require considerable time to digest.
A <em>simplifying</em> restatement tries to shield the reader by rephrasing
or summarizing information from that source.</t>
        <t>Such a restatement can be of good intention, or it can try to hide
complexity that the referencing document actually does make required to incur.</t>
      </section>
      <section anchor="trying-to-be-a-textbook-for-the-implementer">
        <name>Trying to be a Textbook for the Implementer</name>
        <t>More generally, a restatement can attempt to be a directly useful
source for an implementer or user of a standard, e.g., by giving a
mere checklist of items (not necessarily complete!) that must be
implemented instead of actually identifying where the requirement and
possibly its finer points come from.</t>
      </section>
      <section anchor="increasing-availability-from-a-source-with-restricted-access">
        <name>Increasing Availability from a Source with Restricted Access</name>
        <t>In some cases, normative information from a cited document is not
openly available, but only under specific conditions that cannot be
expected to be satisfied by all users of the referencing document,
such as membership in an organization or payment of a non-trivial fee.
It may be appropriate to restate information from such a source so the
referencing document becomes useful.</t>
      </section>
      <section anchor="trying-to-raise-attention-to-a-detail-deemed-surprising">
        <name>Trying to Raise Attention to a Detail Deemed Surprising</name>
        <t>The author of the referencing document may see a need to alert the
reader to a detail of the cited document that might seem unintuitive
(i.e., not familiar) to the author.  By restating the detail in terms
more familiar to readers of the referencing document, this alert can
be more useful.</t>
      </section>
      <section anchor="limitations-in-formal-description-techniques">
        <name>Limitations in Formal Description Techniques</name>
        <t>Formal description techniques (<em>FDT</em>, such as ABNF <xref target="STD68"/>) are usually designed to
document a single specific artifact, not its evolution or its
embedding into another artifact.  This can lead to wholesale imports
of FDT material, without indication whether just the FDT was imported
(and which part of it)
or whether the importing document is intended to evolve with the donor
document.
See <xref target="example-8288"/> and <xref target="example-6991"/> for additional illustration of
this reason.</t>
      </section>
    </section>
    <section anchor="perils">
      <name>Perils of restatements</name>
      <t>The danger of restatements is that they might not be exactly
expressing the same normative statement that the cited document makes.</t>
      <t>One form of this is the <em>incomplete</em> restatement.</t>
      <t>Abridged copies of a normative statement from the cited document often
leave open whether the abridgment is intentional: Is the referencing
document only importing some of the requirements of the cited
document?
In the worst case, the restatement may appear to be <em>forking an
ecosystem</em>, i.e., an implementation of the cited document cannot be
used because it makes additional constraints that are not meant to be
included in the referencing document.
(This peril of course is also present with <em>intentional</em> changes to
the normative statements in a cited document, which are however likely
to receive
much more attention during review.)</t>
      <t><xref target="example-eat"/> presents an example for the situation where a reader
might infer behavior based on the common law statute interpretation
rule:</t>
      <ul empty="true">
        <li>
          <t><em>"Expressio unius est exclusio alterius"</em></t>
        </li>
      </ul>
      <t>which states that the reader is to presume that expressly referencing
one matter implies that other similar matters are intentionally not
mentioned and therefore are excluded.
This is particularly problematic with abridged statements, where this
rule may be invoked by the reader without an author being aware of it.</t>
      <t>Restatements may be slightly <em>semantically different</em> from the cited
document, in particular if the latter is based on a relatively
inaccessible (possibly poorly documented or poorly developed)
terminology.
Both authors and readers may not be aware that they need to use tools
that are commonplace in the ecosystem of the cited document.</t>
      <t>A large danger originates from restatements that are unclear whether a
<em>new</em> normative requirement is intended or a just a restatement of
known normative requirements of the cited document.  This is, of
course, particularly dangerous for <em>hidden</em> restatements.</t>
      <t>A restatement can cause <em>maintainability hazards</em>, as illustrated in
<xref target="example-8288"/>; it also can cause a referencing document to
<em>decouple</em> from the ecosystem of a cited document once that is
repaired (<xref target="example-6991"/>).</t>
      <t>Finally, to readers familiar with the cited document, the restatement
can be surprising; if there really is no information in the
restatement, the reader automatically searches for a specific reason
this restatement is made and starts to reinterpret it until it means
something specific that would justify its presence.
If the restatement is not clearly identified as such, this is likely
to cause misinterpretations, as if the usage envisioned attempts to
fork the cited ecosystem.
(Often, the people who need to interpret the document in question are
actually more familiar with the cited document and the surrounding
ecosystem than the authors of the referencing document, who may just
be pulling in the ecosystem to solve one of their problems.)</t>
    </section>
    <section anchor="defuse">
      <name>Defusing restatements</name>
      <t>A general recommendation for readers of a referencing document is that
they should try to detect restatements and read them in full knowledge
of their perils (<xref target="perils"/>).
If a resolution is required, the RFC errata process may provide a
(poor) mechanism to obtain the resolution and ensure it is documented
in the context of the referencing document.
Mailing list discussions are also a good way to obtain a resolution,
but for additional readers they can be hard to find, and, when found,
it can be hard to extract any consensus that was formed.</t>
      <t>The rest of this section provides a summary of the recommendations
made by this document, employing <xref target="RFC2119"/> keywords as an instruction
to the potential implementers of this document, i.e., document authors
and reviewers.</t>
      <t>Much of the danger of restatements can be averted if they are
sufficiently identified by the authors as such.</t>
      <ul spacing="normal">
        <li>
          <t>For identification of internal restatements, use phrases such as:
In other words, hence, in particular, as discussed in Section NN.</t>
        </li>
        <li>
          <t>For identification of external restatements: As described/defined in
…, as per …</t>
        </li>
        <li>
          <t>In both cases, make sure that any local reference is clear and any
non-local reference is resolvable and well-scoped.</t>
        </li>
        <li>
          <t>Rephrasing the statement as a Note can make clear that there is no
normative intention.</t>
        </li>
        <li>
          <t>Examples <bcp14>MUST</bcp14> be identified clearly as such, including identifying
any explanatory notes as such so that these are not misunderstood as
new normative statements.</t>
        </li>
      </ul>
      <t>If a larger copy from a cited document is made, it <bcp14>SHOULD</bcp14> be made
verbatim and differences introduced deliberately should be explicitly
identified, possibly in a second step.
Note that the FDT mechanisms and their evolution can make verbatim
copies less useful, in which case a systematic approach of first
copying and fixing and then, if necessary, modifying can help the
reader.
For instance, <xref target="RFC2397"/> uses a variant form of ABNF that can be
parsed only once the variant "<tt>:=</tt>" syntax is replaced by "<tt>=</tt>".
(This is an active specification and was cited as recently as in
<xref section="4.3" sectionFormat="of" target="RFC9399"/>, which provides a clearly identified
restatement in modern ABNF, with errata applied and rules referenced
from elsewhere added [we ignore the innocuous redefinition of "hex"
from "HEXDIG"].)</t>
      <t>By making the copy informative, repairs from the base document (in the
<xref target="RFC2397"/> example e.g. <xref target="errata2397"/>) can be imported, even future
ones.</t>
      <t>Where the copy is made because the cited document is not openly
available, this also often requires more processing than a verbatim
copy, increasing the probability of introducing errors and
misunderstandings.
This can be somewhat mitigated by clearly stating the purpose of a
restatement, and the intended result when the restatement and the
original diverge.</t>
      <section anchor="summary-of-recommendations">
        <name>Summary of Recommendations</name>
        <t>(...Add nice checklist text for authors and reviewers based on <xref target="defuse"/> later...)</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="example-8288">
        <name>Example: Web linking <xref target="RFC8288"/></name>
        <t>This example is about an internal, FDT-induced restatement in
<xref target="RFC5988"/>, which turned into an external restatement in <xref target="RFC6690"/>,
which was not healed by the update to <xref target="RFC5988"/> in <xref target="RFC8288"/>.</t>
        <t><xref section="5" sectionFormat="of" target="RFC5988"/> defines a serialization of web links in a Link Header Field.
A link can have zero of more <tt>link-param</tt> parameters, each of which
has the form (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-extension = parmname [ "=" ( ptoken / quoted-string ) ]
]]></sourcecode>
        <t>So link-extensions can always be written as a <tt>quoted-string</tt>, or,
alternatively, without quotes as a <tt>ptoken</tt> if the more limited character
repertoire of <tt>ptoken</tt>s suffices.</t>
        <t>However, <xref target="RFC5988"/> also defines the specifics of a few link parameters.
When simply inserting this into the overall ABNF, the ABNF given for
these link parameters needs to <em>restate</em> the ABNF
for link parameters in their common syntax (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-param  = ( "rel" "=" relation-types )
            / ( "anchor" "=" <"> URI-Reference <"> )
            / ( "rev" "=" relation-types )
            / ( "hreflang" "=" Language-Tag )
            / ( "media" "=" ( MediaDesc / ( <"> MediaDesc <"> ) ) )
            / ( "title" "=" quoted-string )
            / ( "type" "=" ( media-type / quoted-mt ) )
]]></sourcecode>
        <t>This restatement loses the intended choice between <tt>ptoken</tt> and <tt>quoted-string</tt> for
many predefined link parameters, only keeping it for <tt>"media"</tt> and
<tt>"type"</tt> (and <tt>"rel"</tt> in the definition of <tt>relation-types</tt>, which is
arguably faulty by allowing non-ptoken characters in an unquoted URI).</t>
        <t>One could say that this restatement was caused by a limitation of ABNF:
ABNF
cannot separately express both the overall syntax of link-params (which yields
the link-param value)) and the specific syntax for the predefined
link-params, contaminating the former with the latter.
The specific syntax would really need to be in terms of the value
yielded as opposed to <em>restating</em> the link-param syntax that yields the value.</t>
        <t><xref section="3" sectionFormat="of" target="RFC8288"/> finally repairs this:</t>
        <blockquote>
          <artwork><![CDATA[
link-param = token BWS [ "=" BWS ( token / quoted-string ) ]
]]></artwork>
          <t>Note that any link-param can be generated with values using either
  the token or the quoted-string syntax; therefore, recipients <bcp14>MUST</bcp14> be
  able to parse both forms.  In other words, the following parameters
  are equivalent:</t>
          <artwork><![CDATA[
x=y
x="y"
]]></artwork>
          <t>Previous definitions of the Link header did not equate the token and
  quoted-string forms explicitly; the title parameter was always
  quoted, and the hreflang parameter was always a token.  Senders
  wishing to maximize interoperability will send them in those forms.</t>
          <t>Individual link-params specify their syntax in terms of the value
  after any necessary unquoting (as per <xref section="3.2.6" sectionFormat="comma" target="RFC7230"/>).</t>
        </blockquote>
        <t>Unfortunately, <xref target="RFC6690"/> adds an external restatement copying from
<xref target="RFC5988"/> in defining a few more link-params (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-param     = ( "rel" "=" relation-types )  ; ...
               / ( "type" "=" ( media-type / quoted-mt ) )
               / ( "rt" "=" relation-types )
               / ( "if" "=" relation-types )
               / ( "sz" "=" cardinal )
cardinal       = "0" / ( %x31-39 *DIGIT )
]]></sourcecode>
        <t>The letter of this specification for instance prohibits <tt>sz="47"</tt>
(requiring this to be represented as <tt>sz=47</tt>).   The repair in
<xref target="RFC8288"/> cannot quite fix this as:</t>
        <ul spacing="normal">
          <li>
            <t>it is not clear that the repair actually applies to <xref target="RFC6690"/> (a
general problem with updated ["obsoleted"] references)</t>
          </li>
          <li>
            <t>the ABNF in <xref target="RFC6690"/> would need to be rewritten to apply the rule
<tt>cardinal</tt> to the extracted value of the link-param.</t>
          </li>
        </ul>
      </section>
      <section anchor="example-restatement-of-iso8601-in-rfc3339">
        <name>Example: Restatement of <xref target="ISO8601"/> in <xref target="RFC3339"/></name>
        <t><xref target="RFC3339"/> was largely intended as a freely available restatement of
the paywalled <xref target="ISO8601"/>, with focus added on formally defining the
parts that might be useful in the Internet.
However, when <xref target="ISO8601-2000"/> introduced additional text that seemed to
disallow the syntax used for one extension that <xref section="4.3" sectionFormat="of" target="RFC3339"/> had made to the semantics of <xref target="ISO8601"/>, the precedence
remained unclear.
Implementers of Internet-related standards largely ignored the
additional semantics of that extension anyway, while implementers of
<xref target="ISO8601"/> in general often performed input validation that made sure
the extension made by <xref target="RFC3339"/> wouldn't work.
(This is only now being addressed by <xref section="2" sectionFormat="of" target="RFC9557"/>.)</t>
      </section>
      <section anchor="example-6991">
        <name>Example: Date-Time in YANG (RFC6991)</name>
        <t><xref target="RFC6991"/> defines a YANG type <tt>date-and-time</tt> on page 11, restating
parts of <xref target="RFC3339"/> (the restatement is also faulty in its item (b), with an
attempted cleanup in <xref target="I-D.ietf-netmod-rfc6991-bis"/>).
Now that <xref target="RFC3339"/> is being bug-fixed via <xref section="2" sectionFormat="of" target="RFC9557"/>, it is not clear whether the change
applies to the YANG type as well.
This is more of a problem for YANG than it might be otherwise, as it might trigger
the YANG concept of a "non-backwards-compatible" change to that
datatype — a problem that is not entirely <em>caused</em> by restatements but gets
much harder to discuss.</t>
      </section>
      <section anchor="example-9444">
        <name>Example: ACME for Subdomains (RFC9444)</name>
        <t>A late draft of what became <xref target="RFC9444"/> defines a new feature added to <xref target="RFC8555"/>, referencing
the base standard in a number of places.</t>
        <t>Reviewing the draft <xref target="I-D.draft-ietf-acme-subdomains-04"/>, <xref target="acme-comment"/> states:</t>
        <ul empty="true">
          <li>
            <t>## restatement vs. new normative content</t>
            <t>Providing a specification of a new feature added to ACME, the text
explains a number basic ACME mechanisms that are relevant to this
specification.</t>
            <t>One pervasive problem is that these restatements of RFC 8555 content
are not always easy to distinguish from new, normative statements made
by this document.
E.g., 4.2 contains a statement about "is defined" that is part of a
paragraph restating RFC 8555 -- this one, however, appears to be new
normative content.
(Languagetool diagnoses overuse of passive voice, which exacerbates
this problem.)</t>
            <t>(The first paragraph of section 4 repeats the last paragraph of
section 3.  But that is not a problem; redundancy can be good if it
improves the flow, and this is clearly labeled as a restatement.)
The introduction of section 4 is a summary/restatement of RFC 8555;
section 4.1 introduces new normative content without warning (and
leads the reader astray by actually referencing RFC 8555).</t>
          </li>
        </ul>
        <t>(These problems were ultimately addressed in <xref target="RFC9444"/>.)</t>
      </section>
      <section anchor="example-eat">
        <name>Example: Base64 Encoding variants in draft-ietf-rats-eat-20</name>
        <t>Base64 encoding is defined in <xref target="RFC4648"/>, but comes in a number of
variants.  These often have default settings that are to be used
"unless the specification referring to this document explicitly states
otherwise" (e.g., <xref section="3.2" sectionFormat="of" target="RFC4648"/>).</t>
        <t>Documents that reference <xref target="RFC4648"/> normatively are
surprisingly often sloppy in doing so.
Not <xref target="I-D.draft-ietf-rats-eat-20"/>: Its Section 2 (terminology) defines
the term "Base64url Encoding”, referencing <xref target="RFC4648"/> as well as
<xref target="RFC7515"/> to fill in the open questions from <xref target="RFC4648"/> (i.e., Section
5 and not Section 4, no '=' padding that would be default, no extra
characters).</t>
        <t>While this was a good start, incomplete restatements in the following
text cause a problem, as detailed in <xref target="rats-comment"/>:</t>
        <blockquote>
          <t>A term "base64url encoded” [...] is used in multiple places.  One of the
places restates its own reference to RFC 4648, but doesn’t restate
the reference to RFC 7515 and the text required with that.  This
restatement is very misleading as it strongly implies RFC 7515 is
<em>not</em> used here; the reference needs to be removed.  In the other
places I find the term is simply used, which assumes the reader
will think to look up the term in the terminology [...]</t>
        </blockquote>
        <t>(The problem in the draft was quickly addressed in the next revision;
with these fixes the draft has now turned into a published RFC <xref target="RFC9711"/>.)</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Restatements about security requirements and properties can create the
same uncertainties and interoperability problems as restatements in
other contexts.
Security considerations sections have turned out to be an attractor
for such problems.
They are meant "both to encourage document authors to consider
security in their designs and to inform the reader of relevant
security issues" (<xref section="1" sectionFormat="of" target="RFC3552"/>).
In practice, they tend to be the first point in a document that
security issues are considered at all, so they often both contain
normative statements that are nowhere else in the document and
security-conscious restatements of other normative statements in the
document, the latter with all the perils that this memo is about.
The fact that security considerations sections are often heavily
fleshed out during IESG processing can exacerbate the problem.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="ISO8601" to="ISO8601:1988"/>
    <displayreference target="ISO8601-2000" to="ISO8601:2000"/>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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>
        </referencegroup>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="KOENIG">
          <front>
            <title>Patterns and Antipatterns</title>
            <author initials="A." surname="Koenig" fullname="Andrew Koenig">
              <organization/>
            </author>
            <date year="1995"/>
          </front>
          <seriesInfo name="J. Object Oriented Program." value="8(1): pp. 46-48 "/>
        </reference>
        <reference anchor="ANTIPATTERN" target="http://wiki.c2.com/?AntiPattern">
          <front>
            <title>Anti Pattern</title>
            <author>
              <organization/>
            </author>
            <date year="2012" month="November" day="21"/>
          </front>
          <refcontent>C2 Wiki (at the time of writing, last edited:)</refcontent>
        </reference>
        <reference anchor="WP-ANTIPATTERN" target="https://en.wikipedia.org/w/index.php?title=Anti-pattern&amp;oldid=1296568489">
          <front>
            <title>Anti-pattern</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="June" day="20"/>
          </front>
          <refcontent>Wikipedia page (at the time of writing:)</refcontent>
        </reference>
        <reference anchor="RFC3552">
          <front>
            <title>Guidelines for Writing RFC Text on Security Considerations</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="B. Korver" initials="B." surname="Korver"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. 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="72"/>
          <seriesInfo name="RFC" value="3552"/>
          <seriesInfo name="DOI" value="10.17487/RFC3552"/>
        </reference>
        <reference anchor="RFC2397">
          <front>
            <title>The "data" URL scheme</title>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="August" year="1998"/>
            <abstract>
              <t>A new URL scheme, "data", is defined. It allows inclusion of small data items as "immediate" data, as if it had been included externally. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2397"/>
          <seriesInfo name="DOI" value="10.17487/RFC2397"/>
        </reference>
        <reference anchor="errata2397" target="https://www.rfc-editor.org/errata/rfc2397">
          <front>
            <title>RFC Errata Report » RFC Editor</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <refcontent>search result</refcontent>
        </reference>
        <reference anchor="RFC9399">
          <front>
            <title>Internet X.509 Public Key Infrastructure: Logotypes in X.509 Certificates</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Freeman" initials="T." surname="Freeman"/>
            <author fullname="L. Rosenthol" initials="L." surname="Rosenthol"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a certificate extension for including logotypes in public key certificates and attribute certificates. This document obsoletes RFCs 3709 and 6170.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9399"/>
          <seriesInfo name="DOI" value="10.17487/RFC9399"/>
        </reference>
        <referencegroup anchor="STD68" target="https://www.rfc-editor.org/info/std68">
          <reference anchor="RFC5234" target="https://www.rfc-editor.org/info/rfc5234">
            <front>
              <title>Augmented BNF for Syntax Specifications: ABNF</title>
              <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
              <author fullname="P. Overell" initials="P." surname="Overell"/>
              <date month="January" year="2008"/>
              <abstract>
                <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="68"/>
            <seriesInfo name="RFC" value="5234"/>
            <seriesInfo name="DOI" value="10.17487/RFC5234"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC5988">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>This document specifies relation types for Web links, and defines a registry for them. It also defines the use of such links in HTTP headers with the Link header field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5988"/>
          <seriesInfo name="DOI" value="10.17487/RFC5988"/>
        </reference>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <reference anchor="RFC7230">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document provides an overview of HTTP architecture and its associated terminology, defines the "http" and "https" Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7230"/>
          <seriesInfo name="DOI" value="10.17487/RFC7230"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <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="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC9444">
          <front>
            <title>Automated Certificate Management Environment (ACME) for Subdomains</title>
            <author fullname="O. Friel" initials="O." surname="Friel"/>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="T. Hollebeek" initials="T." surname="Hollebeek"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="August" year="2023"/>
            <abstract>
              <t>This document specifies how Automated Certificate Management Environment (ACME) can be used by a client to obtain a certificate for a subdomain identifier from a certification authority. Additionally, this document specifies how a client can fulfill a challenge against an ancestor domain but may not need to fulfill a challenge against the explicit subdomain if certification authority policy allows issuance of the subdomain certificate without explicit subdomain ownership proof.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9444"/>
          <seriesInfo name="DOI" value="10.17487/RFC9444"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc6991-bis">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="Jürgen Schönwälder" initials="J." surname="Schönwälder">
              <organization>Constructor University</organization>
            </author>
            <date day="23" month="June" year="2025"/>
            <abstract>
              <t>   This document defines a collection of common data types to be used
   with the YANG data modeling language.  This version of the document
   adds several new type definitions and obsoletes RFC 6991.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc6991-bis-18"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC9557">
          <front>
            <title>Date and Time on the Internet: Timestamps with Additional Information</title>
            <author fullname="U. Sharma" initials="U." surname="Sharma"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="April" year="2024"/>
            <abstract>
              <t>This document defines an extension to the timestamp format defined in RFC 3339 for representing additional information, including a time zone.</t>
              <t>It updates RFC 3339 in the specific interpretation of the local offset Z, which is no longer understood to "imply that UTC is the preferred reference point for the specified time".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9557"/>
          <seriesInfo name="DOI" value="10.17487/RFC9557"/>
        </reference>
        <reference anchor="I-D.draft-ietf-rats-eat-20">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="13" month="June" year="2023"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine how much
   it wishes to trust the entity.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-20"/>
        </reference>
        <reference anchor="RFC9711">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (IoT) device, network equipment, or such. This claims set is used by a relying party, server, or service to determine the type and degree of trust placed in the entity.</t>
              <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9711"/>
          <seriesInfo name="DOI" value="10.17487/RFC9711"/>
        </reference>
        <reference anchor="rats-comment" target="https://mailarchive.ietf.org/arch/msg/rats/H8qXwQywD0W6x4QcC9Iwd5LYl2s">
          <front>
            <title>Re: [Rats] I-D Action: draft-ietf-rats-eat-20.txt</title>
            <author initials="C." surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <date year="2023" month="June"/>
          </front>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="I-D.draft-ietf-acme-subdomains-04">
          <front>
            <title>ACME for Subdomains</title>
            <author fullname="Owen Friel" initials="O." surname="Friel">
              <organization>Cisco</organization>
            </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Tim Hollebeek" initials="T." surname="Hollebeek">
              <organization>DigiCert</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="29" month="June" year="2022"/>
            <abstract>
              <t>   This document outlines how ACME can be used by a client to obtain a
   certificate for a subdomain identifier from a certification
   authority.  The client has fulfilled a challenge against a parent
   domain but does not need to fulfill a challenge against the explicit
   subdomain as certification authority policy allows issuance of the
   subdomain certificate without explicit subdomain ownership proof.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-subdomains-04"/>
        </reference>
        <reference anchor="acme-comment" target="https://mailarchive.ietf.org/arch/msg/last-call/v0RYQkByhAII9yvaD6gbKWx0WtA">
          <front>
            <title>[Last-Call] Artart last call review of draft-ietf-acme-subdomains-04</title>
            <author initials="C." surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <date year="2022" month="November" day="23"/>
          </front>
        </reference>
        <reference anchor="ISO8601" target="https://www.iso.org/standard/15903.html">
          <front>
            <title>Data elements and interchange formats — Information interchange — Representation of dates and times</title>
            <author>
              <organization abbrev="ISO">International Organization for Standardization</organization>
            </author>
            <date year="1988" month="June"/>
          </front>
          <seriesInfo name="ISO" value="8601:1988"/>
          <annotation>Also available from &lt;⁠<eref target="https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub4-1-1991.pdf">https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub4-1-1991.pdf</eref>&gt;.</annotation>
        </reference>
        <reference anchor="ISO8601-2000" target="https://www.iso.org/standard/26780.html">
          <front>
            <title>Data elements and interchange formats — Information interchange — Representation of dates and times</title>
            <author>
              <organization abbrev="ISO">International Organization for Standardization</organization>
            </author>
            <date year="2000" month="December"/>
          </front>
          <seriesInfo name="ISO" value="8601:2000"/>
        </reference>
      </references>
    </references>
    <?line 592?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Julian Reschke opened the author's eyes to the fundamental problem of
restatements, possibly not using this word.
Many IETFers over decades have worked on mitigating restatements; the
author apologizes that examples in this memo naturally mainly come
from the author's own recollection.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+V82XIbSZblu3+FN2QzSWoAcJdEKqVsaslMVmkrkWnqnOwc
MoBwANEMRKDCIwhBMpbV/EO/9MOYzUNb/0S/9fxJfsncc6+7hwcIqapm5m16
SYGx+HLXcxePwWCgbk70gVJ1VufmRF/MjH5vbJ3UZm6KWp8WdTZ4l9S1qQqV
jEaVufkLD6XluEjmNFRaJZN6MCqreVIUg6p9fpDTD1urMf0zLavVic6KSals
XZlkjj9SszD0n6JWKqVnTtS4LKwpbGNP1D2d0GP4d1lW19OqbBYn6tqs6K/0
RKkbUzQGd/U8yfIT3ctMPfl7/GdYVtOe0nqa1bNmRHfGyajciZbVUypp6llZ
ndBTA/p/TUuxJ/r5UD+TTfA12dzzpLK1KTp3aIIT/VOR3ZjKZvX/+tdaP6sw
sr74r2f8AHZo6hP9rrT1JBnP9MHB7uHhLt8bZzURQl6QC2VK87wY7D86ODp2
V5qiBrl+MJh0xRcXs7Kg5/7L4fHgcH9vsL/3aPDg4Hh/j28aIQJ2+vf1pwwk
UArEpvdrWid2+vu3L9+c/XDCz7f7b3d6WqSVWerfl6bIpnzHiYpjuNVJkbII
LNwF2aupMmMxlx/ud0P9dvRPZlzrt3SrqE2q31XltErmwxP91D2k9aOtve0T
vVgM9eGDweEjvs5SoPeOj4/oz9M3F2fvTi8uXr5/I0PXSTUFWWd1vTjZ2Vlm
19lwvD8cl/Od77AuL5nR2nFZx9erMfF0X3+gd/VWUuuaRLzO5kaXE72ssjor
pn2dJ7bWJs1o6Sfb0cL2d/f2B3sgPl388G7w1RVaWqIphljlgsZKwJSd5Q6k
/uNwMVt8x0t8wjrlKPqfyzzN0id7+8cPjh48Onx0vL4V/2DYygc/ul4kU/Ol
Ha1tYv9osPtgsA95fP/984Ojo/0TYuMYyieX9g+OH2JDpqqSOvF/3d3ecrkc
VpPxAKQqK96gvLJDV/FavP4eDaxf8m0yKouyqvV//Lvmi/x6L2zKmqQipSGV
bfJaVnR8cHwMbX/5MZkvcmOxnvOLFw8enehkVEzkoaPjR49O5OeDB8e77uej
/XD14f6Bv3r44DBcPdo78q8dH++5n8eHh4f4eTZ4MYRZGRSmnpfpgHaGpwaj
zLonDw4Ojv1LR0cPsX5Q2r0r1pFHoK3bgUlqIr1//uHe3ommS/Qn3yVZhona
TG4oOShDCj30lm4HF3bmdrqD93d+fPTHf1j+YbV8sfvhwcfDP4yfH58t06NX
P+f7NuaF18L39PuX9/Tir1irPh3XWVl4i76+5mH9sf6i9dhkJ502P9S/awoD
uTtwHDk6Ojq5S55kPDcD24zSkjZa2MEu05+vdsgSxFh08eD/gFZQ8ME4yfOd
m933P//h+tlqdnp2dry6SV48mI5+/+Hj7of6dBPBfnmFN5/Tm7/q04omrcVY
YCwS2JuMLCjp3Vd39TfQ8Oz87aMHu3tu35ld5Am5BX91j+T9i3qZ2ZL3TG6v
SJMq3dk7Ot49GM7qeb5pYy+gliZnBymWPiPLTfRKCrIr4kis/u3P/6zPvFsp
i84zdC9I1YJ0lwaSh0APAAEeFZbJ3qHAQHzqGYYr+K0kJ+8xTYrskwxCc+pz
txV3zc3mwQpR5QsOie6c6G8Cyb7puJpHj8gYyoIKEv3T3JY6uYH0jHLaeFXO
9be//ff/+a2nbXGTL5qRHRaZrYfT8mYHP3Bl55WZJuPVzvdn7853JtnC0sXD
wd6AvNnecJFOnj4dthwlddrdXWPrN56vuPfNX8/Y/QcPH+3+/87YlmbePOzu
Dvb2lVKDwYCGIkiWjAln/vLf6Pfe4Ff3az/8omsn+o0HTJrQbSMkq2fkVAm1
kUMl11rpYsMz5aR2aO6+A5r3o+fIsdaAz+YjL4LwUNnUoB5cNUZOw1BEeGHi
zGSVLpcF0G9qh+1yBZU7Pui5mZc0LgkQ2Ra9nK3ozcySOSr0yBBfYrzWB594
9Fm51Fntn5oTRpjSktMwS/Z/Mw3P8PmzwM3b28+fI5R0e8uL+MoCwK15lqa5
UeTuSW6qMm3YLd3lXYaf9+7p52VB4QCeEVF8YSZZkfHfSp3mJI3NdCYrbuls
iUE1ln728uL7IIFWXxCLrjXpbp6NWRr7tFKVpOWCZYG5GWaD8LZ8zkldGsCw
uiTKlTdZSk+TFyLET9wmPE5CKHuxeASDZUAzWJCphgoUpwhHWK57r386v+j1
5V/95i3/fv/yDz+dvX/5Ar/Pfzx99Sr8UO6J8x/f/vTqRfurffP529evX755
IS/TVd25pHqvT3/uCXt6b99dnL19c/qqR/K4RjiKyrB4YhvbCJIQyG9iVWrs
uMpGBgaG+P93z56/2zu8vdVbnz8DUu7tHd/ebru/Hu09PMRfy5kRsdRlka/c
n0SXlUoWC0KBGAqedZwssjrJLT1rtZ1BL0gVDcnL/V9AHhLXb0fjxd7hU3cB
u+5c9ITrXGTC3b1y52Wh5IZLG6YJJO1cXyN3d72nP3f+9sSPLn77XZ4RhKLA
47unCorx1chcnerL6OYlhB3ChtvzBdhFqkyabZ0RzyLDz9YusyrJKfpOV/5J
vJNbs3RUP1uTir5eGpaMOUW8xEjSkTGthN5aUhSuL4NdVdG67CWp1tAM+7q9
JPNjJEgXhUqp3iIdy8vyWufZtXHCEd3/u20njkEPaX3xLDxaRf+hdVHEPqJn
5rTABfkSb4PLKptm8EwtQWEqnbbXZLd1YQwWQ1MFsee10uJZk8kimsLfZ5tl
VAMi1GQySf8pMm8kNgvvByeKq1F+gtZ/yi7U+RW2wkRmnWjwhFwQUX5p8nyA
BAQ4U4iBw9wTuo11KdtQCEXmLV4ESEnLoN3Oat5ZlaQZG6RtbxAD2UEAZ6Yz
60hM6yjzG9jpCwgCbuRZTXADC7OQHjyWZ+bGiHzQ/5HDa0iFV2I7Ewv2nBb6
MhNIkMc7Z0lN4isbxXNG1mZkmDBsZFNQ6CYrG0vTsMFqfTPtHxQjkDVuWOCH
6k1ZGydnIE8yH2XThl7W0ZKIjIYIF9xEvCYYIUVkWZQZS2zZlSEWF8ZZdNOJ
z1BtCcXmyYqELCOTRuRsWQNZBLHXxMuEJamYJm6LSZpmDlH5abah+53VX0Yb
JPKKsHly6UViLRwWfHlO9jZfqQz5uGySiQjolNg5z8Q3g200y/87ttFGtsoC
tCPDUZltHUYP0GqofgTdai9vWTGGrAEyAZxWmEmkHOvXlhTbtDrlCNFXokij
lTAtK6YgNb2HvVaRtLCBE2eUaLswY6LE2JNJxeIcFMWrhpsrXTc/DuTITPTi
5YzgjSmC8QtbK8D81KEOJYY4ouGUTFtxh9JDre/MliCGGRl1CcSWEcC8xM4d
g+kGbb/DZnKpZCxoJatFNubN0VLyksnbWBDrLsb5wi4dFPSuiC6Nk8aK2fbP
9BKNeJ72SPtYIOPLzKBdjZuqwnQkIBR8zb0zokV4mpvJxIx5IRDOKrPXkCm8
MyOjxp6nEQUS2HhjeoRFuqm629shAKqYLEsIxRkHCl9EataWYUGhBYVDhoZL
QcoWDImd7tNw9ECW02iqA5OrDTRa38WdJfcVLn/+nJoJ0S5eoDcSIGlnaOAk
vUxWgWRktYaMFN7LNhmqzpNr7Kvz5ud7nhDKWXX240mxckbdR0DMx/Wdi8Ua
501q1PqCJIZB9r4v4yEhOcvgljCLV6RpWaZ+KgXcICaKyYlXqnVfToSiu/Qm
DUqSCIW7x6GCmVYJ63ZCIcF8wQCeGPaMzEUA+PrluLQrS+MpdV7ODYetPKMt
G2Kxtx2yvEjwI/MLsw7c/pGd5LJscmzgjw0sCZKopFsVZw84DUsUSrMpbWII
XGaB+LPJipZ52bGYNYJbPGxnmaEBRRTZ3Y/AisWsSqCLivhIaGBOYcUn7DU2
EZytYG7JZogy5wwDOjM5MaSNMunZkEmgQ0O7qKyuVlgLmSqj3GYRxfDYsWnF
ClqZ8CxNS9oKCZvxZHHAiBRLmHVRrZwNhs3QF2T3R4B4EFIMf9aGRUq9Jteg
p6YgotLg/Q27ccA2jJfSlGPgUBLZSZMrx1qMTk9HMRd2TM+IF9E+o9LXZjgl
y0x0J6PLAqXm0IzxzIyv88yKf6thGrYADwozJoxMHGEDhOFrA1wKas0bepyM
cTsrSE4CmKQ8a/AnYpCZLuKFhM5MvwBJFyWBmBEeJ2WgKJeW7mAIzSvpKq8O
7Ccx2qlks7IcHGQRSfS5UITROex4lXFe4nSMjTC+txgPeI2sW6sFd6QtuZPA
YNujSEXZifpMGlETOQ9cE0QWnCtpjOCYYGgK0JRIRpbU8LKEr5amteyxiDGI
CsE5u+7sY4nsOxRskcAY0cOzbMGmskBaqs1BkRQskpUHLgltoBgQSW4ysgAT
Q2p0VjNyg3AtYH6qLKlZs50k3qWLTOyNisQIaqPWkIssYYNEVtf1432SkfU6
rZ2Oiqd8QcFDltM/JBipPm/Id2RsGziFIKb5a3QRGGqgKohreNCcoKhbJBsd
niiViTanqkS8OZagsebEVxLEJuMwb0uwDRg5SeYkekm17ZGyrI988DPvH3mv
AO0yHXyHqeZWARSG94XcWNvXeS6Rh+yHZEkhwYRxYvq+AqZNROhotu/BO9AT
GYwF0/nCjGdF9seGQIFyt9Podh1u663L719cEJrzonb67M335Ly5OoUcR8Jz
O8NobDYtmOKqNZsavCN3EVQiqcgSkGUQAkLVzU2ZN15W6YKCPBP+ZwfAUFaS
k/5Nou6Fz9DlMDX0zHJW5sYSYWABy4oGITLS2kkaiNwk6322B4hTWxwKW8Qj
/xPsGIiON5a0TxnEpGoLaEUc+wIFEbaN2/BT/l2X6aLHO1KY2Q6Kxh5vnE2S
EI7sTiDTUJ2TwH7+bKQCOEBZj6CRICV/EZU5usiGvo2OKNxqkP918bZiARHE
AXHQ7zZjjc/3HKYTtWrjjS7QscErrpw2iPmiYCaBE1I+2eKE3CZzsxFXBOe6
pmdwpMgAvy0kXy/Sn1mf1qFQ2judDqRAxDaqspQgUpTvSDbO7ZDDnbklsU0S
RE/DpHdYmvDoHVYKxU/0mV1X0Fbe2Qm04sCOJih0cHe2Y3XC299J7skAV3Ld
zZr+egKFzZtLIIrruCS6MfQle2A8AAwRWIwJOkmZNWK0nqlBAOpjm8yxaC0g
h8RlnZQWXp6bpHBARTngnPqAfpM548xBZgUPY10ULVSW40UO83yGXvJsEQ8u
tZRvgCk5rtnAdhc3dLfZj0A6hRvmhriN1BtJMltgDoPUHNaO7WoSfFPaVBJe
oAyKXESrmCapSS/dYi1H3nInQD6bERDyFqdqk11KdEoyWyMzS24yemPEKYCy
cBl5RJMUmi55a029nmRTVZObE6We6sveS5/6hL9qyLKi1eMjMQKXkhyWsLG9
S6WECkyrVsWjDFxdhsQc33Vqnq86Uo/0xpyDYZaxzI8l5pqiAZSp3RO2TXwK
DzkSr9Vc/nYZGc4XTEoXqPHSU0nJiUmADc7GTc7BvgthiQpjEZHEW4RWCPoB
b2aWKeWxTlbclNcCt6Ktex8B3C1IQwLwZIn1sPFfTw648WwOViIFYmlJtCdJ
NqTZhOlVX66ZIdWKJMlpuy+fxsodXW0rDpCanKUcqawiYTybIRbbCtB5UZZV
3gbxeLEKF0ncczJ06bYCBMmKMi+nq6F6VoJ2Lubl1INDItias/dCgNYZeGjF
+Y+yzK0KlkAkdpEnSNKJEAeztNn4wJjThqtp64gk4QjpZLJ1vFKYySfGvN1O
1GVhlpeRNYhDjNgjw4eK119P7anrAhWYjUPYLyzf4ZGMpI0GECPW78qq7Atp
SdgEnybr7Gso+c1u9CdW+BLtFUim+khnlnxCQe+Sa0YBArC1Vesw4jGMONvT
dsBkM3Qma3qZErMaejsS2A777gRFLq0hpRWK5ROOibfWgcs27e/7rJAwN4K7
AQIHbLRustc8oHIxvg2hwWOnNBXrMQecLuMYF/1dABCluiPFJ/Ev2ZLw69Kk
ZYRZUa5UcJXHWJ2syZyGYeWxaJyxssM2350hWV8D/4ubtArQgAYCSPDDMxEl
5QLZpICZ8bF4FmQ8zu7UU3wS3ydAN6Y+nfFsHZ0IwRzEi12JlCCdAWo4eW6K
m8w6+yyJCPa5gBwRr4KAkEd/C1TVd3muEl6QsHmwF90KQNQZoBFvMKdIs1XI
HHSjpC+IiHcdEAnSsQKhQwuFQNYiCs7+QoSF1cLwgQOIrxZNnksosqYLSGcx
qOcs/8SlBH1eFRDhHqr1kmReA98u+wmNd8kfgA9uBEvb1pEoIvyCwjqArtgm
2xmLjktvUbyJNtVuhtEZd6x1jh1R0JhrWLzckONU7S4kathqU7/bLH2JlMkk
WmMlkBSY8Bv9jtIjCTLAOzElfbtAorbgibZJAQDfMss0LEcwbF6u/dhYKZql
K+OKdK1HU5lHRlK9/Ao3h+o1xdy4womttlAmaISNYiKZQs4vh9XE++wrZHfW
wi7Pmjj3P0MKlsaYUITJhX8GH2AliWRftT0h/kHXM6ORPw7d4c4KJGx85pwB
vnA6H4Ija7iw6SmLsomkTVctNWJpsorN02i1Xtkmhc5LTsdEjQzadaJzbQDx
Q9vboVyaY1EyjkP82SYcbVhfhG04CFnPrCsRREBpeo12+BqI2y39C7GoL8IQ
ZGdHNxHaw1rYZkLmE+3YXQvosF2ANmIQ0YiDrEh4chziok11WzKKMJacojbW
Z0K4xbNwSJeJ1dczLsd14RxbVF/i4GDo3PHuzZvhF9exqRBpT/Sp1aERZSdF
I5B4fK1/+/O/9V0lB79pYFrcCLjOZTk5Yc3q5IrDK52X4/VysMApMEc685Er
3PCYlMq5CsDpEZTruTiZYkvvQzpfbHLbdgA55QI1eMkrkgk9rPSlQp65zcq6
kAFj+xZpzX0wgPEtt70LDH5PQlC23W3+GV23xUr6vQhglhVDXBOkQ9KZsh5r
2tA2s5zatTWMRYJmQIKaG+NOtJDAUjKgrZCdWH05nQy9RBOWdj03SOjRJRWa
ObhO7YIIsqhtB4aUr0cGuC8Pxp9TM1IY7dS7CY6G7DrMG1mQksGKWcRNAz4H
Fiy09b6VnEKbpwv888tULgeTw+ZLMpIVQeJMyCDmZL/J4RpnmhPR+UlW4RwN
kUmSGCld+eh/1tw1RcruyxAEHudl6moJWMfM5IsotztUrFIF6h3QRrFrB8cP
ya41lk3lTVJlSFT4fBMnNX16HrkLUl8JuYhaoWjn3+pdnTy56tFmCJB/FG3g
WIfNTe+K7vm0RsbWM5FiqAd5SXBvMPEiEInl1AObLwAwYHhvJg6HB1ijOyaA
HkOXjWxN/13st95RQRRDwRoblTyod9PEh9x3QyA6tlGtX7HQhs4oeD968h9/
WZLWTYvSFXGyoiBxRmBDMCD0JmLJvZn52JNBej++/IcXZz/0fgUqerbytVrx
4ouVjk7z9LWEELYNPxAAt0qz5ZB8zFifb0FpCxnTcLQDOWpfmXYpXXJ66DWY
NDVZQ6QwoLAfQlFK1uPwfFTh31wK0lIKUlEpyGXoyYxIX4aDSFagrMNFsntI
R0eFVn3fA+LJAzjpgz5xUKz9uE27dAG7aq1TwuDXuoyJj5Qo1FhKQcM1o8Y9
E3GRYkExVWkZzibdWMlD7BBCywkWQTjrQYl7WIW+oRTnybix4t49fd5Clfdr
MEVtDYfD0zTVRTaOS5IM9BiCddIUDkC0KZKorwDn8yoajXG49xs8v/vjRH8w
IwKGxXXAPy7v/vleJ4JWQkwvZGDvyCWJPGDow2oOCPexYe5qn0gqzu+02kuy
J77bdeps8PfSaeqO+9CbLmcHqwHBm1Gg20KcZpG6ol00WRhBtjVUkVk5ckbF
PSlggnEkV0tC8XBC3l2I5PKpr+in/lGC5u9RzEflH/fFGCOX/slUEH4R+Cvc
G5BFTeZXmv8xgIqkhc7887bULJGkOtvkLddIQJZp+0SpP/3pT3IQiocCrQru
7nyC8eY4XqJ/0b0nPb2lF3V5TfK4Q9Ek+bR0gOIvMXdb/4pR0BWhu4P4piKC
/xaqgkNl0FrGKledUa7QQ9BXnEYtXBqurSrxo9a9J8u48qE0E8K1miFzzY3y
FXIlhGXLTDKL/iXAEMBZtks/So6632ErGxfPMYZYzre4SHFCwIQ50pJ7CAtX
aKYrzC1x2em8ZMVcm98NtyE4P4Er7BqlOYs4owQTrY3NsT0nPC6d+F6Gd5Eo
uPN8aJ9xuW3nSr/KdX5dE8u3dK8yeY/5LelQ1LNXCyLFdjh+if/ZwaOEAchc
yNPf9p7qn96fDd4HKIsrG14iu/LXjj8jd4muMXn+lesfG1wk001Pz3GYsedE
9TX+QFWW72Ep7RVeGP737hh8AkbGWJPxDc/Ssv10PDdvpNWOec1zsGZcrOe0
8tI68Qomn2gJszwy9RKtjkHMYYzXdIXFhRujFg4X0PtrgtAXhHVtzIJBulj4
K0cmHlZdySauNBdir5j3V6EPtoM3rrrsuvK2Fg3fFfEF2HeSkM9auR6Lcint
f8XAmY2gmtY1UjSF7Apys+2qlGPG2TYJDUNrdGNYl0gRDY2WeSjHe6x5olg1
XMXNGlCEMbyrskjgFiuk0xB6v1UGq7dkfytYYWnvi1TlJskbs73dpsZ8ktGN
5UtTLXsiRSPWILuSzJGD99iA0xFRDk4qFHKyY3103zcmZR4T2lx894OP9XmV
incgOLhcAH/w4/dD/8R9vbY5NwszQLbfjtZxcx47O8c+kfxzgJhgHpmazyfM
5lv1lHUnmuiJFsl49uHc+Rj82tJfdjNPeZC4DXsVD+gQmST9an+GgBduXT+q
yRAK8zDYlEzluNWdT8jwuK2aATyPs0XGCRMXIvNA0rFXao5sRL7ATju8m8UQ
VnvtaLVVxkFVjvAsLdjgyOpTR7KPT1bhV2/Vc9ff+VbsVlED5xlHzARHpFnK
mIZGZhQTdg0LgIG62+aVR2HuY3kDhrFdL+uh+PVoiBbHesu98Q1SW14Akefc
MLDmMZaZnbnWpXnykfT6kyvGomfTo/QlGuCtKdokKwEEaxy9HWXOCKZT+IYu
zFijRY1Wzj36EHOjzjA3Jlg2JCxEx85kYZVbLh/E0AGnw/sh93Qw3B8+kJLM
Twi96qZgC9SPEScCPvtFdOrjdURpag10Cru5VxVYxMGfyHD9FZ5e/yVnr/Vj
TfC+4/X+Rse36dWq/it8v384m/wND9tP8vAYh0FBzm0Vfmq34d5ujx/+Tx8P
9gYHx/o+Rc1nF62PJjoarguHTHAnrTCJUh8IHWfZCAWkK/vpSe/wYe9KbUk0
GqCf7+93zQtig/H44cOrbZJ+LalnWMsQyThb6twXDUcqO8k+usAX9vS+y9mH
wlTcYsBjhfqOJCBsiFyc6G0l+MiJq4z4jnk2lRLpIA/RK0e2RGNQ2vu1TVvY
bXW/ha7dGMq5pcgfVcYDfgRii4U7yoNUCC3gyvPnyrf3tadcWQu9SraCO+xG
mO87tWVaizsGHQVn+MLC7a1S0R9siTh9GJ/F4NBiUhkTt56uV6/ZpSerJRHX
pPF8Lu8zKceNdakcEZi5a95zKouwfSEVzLYFcuQ7DD3ykjPPph62EQonAsKE
fAacdxnSlVH1hMN56eWWNk+0DGaWMZmgFTF9jKIg1CixtYEfv7meIlMt+WZJ
KvkbxzXfkWHXeND3CIiWB9mhiAyFdprTdRYM1dlaecNvfMAqL60m7nBtYBgn
xyQBEu25swjXVOM3RCac3A4D1tysl1TUmtR4tXDn50wldSK6taA4lOQyS6OD
SUwHJP6Vk183pS8IdcQO6lF8U/O5hiiLyTC9INa4Zpg0dccm+X3Phn1sbCDf
B7m95bxLpAkv6OrgAmcGaAs/n775QW+5b5JsR/kWbhVwuuD6HdvUBL/FhvwK
cwyI8AOcQriCJPMnYvb2+m3XrRNjZnm7x60NBXQOqF1oQKuDyUQDvN4abTu1
SQrVHjCFaBTNQjT4K59QYQf7hiWa5bVdBLp6mJSjZjog2wl7kiVfpGX/jj2N
OxWlFU5FlhRXW2IlcqCybaJif8yZAm9ZoWLyAnKSWaT2DA0J9xhpDfB3cMxy
ajghIC/yodiFazHvIaYaJePrJRQDHzhZEEdGiFvdZxdqKbLgy1gJLxLfaEju
nI1iUOjPlt2XqOq+HBmJKoMoz05NbaVvD8VVafF2Zbc1k3z6/PVL+TBD+G4J
iyK+iROLIv6+lcYkcnD80RNJVyXc1o6sE7OUn4vFFHWhiUmQXnaG1js3fBsG
3Ix76EKC2xsSSbMVDXr6MSEXFyx3nSHdGdrJeUEif1/9Igsm/Pw5/tIMrVY6
/7hr8B+JOLE+3FBQ0C1tuU88MHR9x2UHwXZd7CHtt5v2DoqLqYXdp0HCKbKw
T6IABY/Mmqj0FBq9iP/mxvWWciff0+7kAqsRnZM5vKGxbkyQpaiHef1gmcSG
GmxpNxlKfi4UMIldOWmCVWkoBpDSBO21v7nxlCt4T++U22mV+iUfvjkc7kuA
LUSIEuecWO5lLmQiaBN0wbefJzQKoMa0Shaz6IxB2MlgINOSz+z7Jte+axn2
iI/WTsPcYTFWuOWzWGjro10n5M6QCUIuopHSAI6M4q0bpIN8mgUd4VzKMGAP
r8CxgFwB2INTwlLsi9ZPo/lmhkOAQ5O4L1Hwl4fi58DzEL5o/aypO2YiGI/H
KEQ1pErFOHRmyFkwdG/SKOReSYhdbmtCiMMHhWIdfVmE4JXJPeyKO89pNwyL
s+j7Hd19ZFFDxk4XoAU2PY72czjca4GS3ax9IdFMNrWQ8I6DYxyA8P3o0smG
VkBJcXmQHbfG+PkR+4Ej1rRHQZcogpEXzOaSj2odvQerYuzg2zs2FacQHxzq
l8W4ZNvgaqWcRtv8va3I0KJ9Wik3hPFDtCoQJsdnzWDNYO/lWFHXVCo/LTdk
GpZVQCQuStBgcPBE8xrqEhkX0Qi4FtVrCq5gxwkzsW5MwsoF/92PhrSJCGdW
VXCaFH/KabsoIzXcd2Ig2wEfXnS/x9P2WkTbbiUi900vvv0RVWreqM3LBVdT
aXFy+oBr+3e9RMSI29sTfUYzt8hjK2oO3vZ+TYn5rua6J5xqqjzw+7c//4+O
U+us28EP9ExIJuJoj5yg9EnlIaDg8xe+BdDVfuNR3Jkrt0p1xCoLvQ9BAGyx
/ubJN2Q05OxQ1E05CvznpziKU222d5srwIDezFnOA4nN4GZOLsq6Qyh3TiZ3
0mWKAxvfYuv0SlqA+PSXF+b4c3jEgE4G8tSReRTIzDphUqIyRb3D4fBXOTYu
g82hryhLOpyg2Q1KXApPwVf9qi1jW/Q3tzKGc3hkE0BnUS0ccC1++/O/hN5B
Nufm7ivgZMin8c7DiViXJE58bzQNsYa5yZvgSJGF/WI4weiSbFfJAu3PE4R5
eIz7xPH7snWkPB+vrSsUojiyn5f4mgcnOFnCXFbVUeSM2/R0EGvkUqQ6huHD
ORGLMxCxfaUROMOH1t1rzMWfb2kW0UhF+O20yLFNDG4LTIoIyEHmiHbj63Wz
i0cKoa104j5WPgNvOe/iVifDzLg6vOzWl+WDT3ZGF0BOMeQP9/ZckAYVavg7
Ts/9+W5XjO9+aYahifXPdtriIQRycp2/9sF95kQuyeUqPhTW/R5I+FRbnDmN
P0mwpmZiUn3Lp8V5ObeOcWfN3qVaMfqODPx1mtJ9woHiOKh9WXFtklu+Qs8u
Mmwr+UYAH2XqSSWmZBVsKoSYmz4S4NegAnVCiVMORbouKt+RHrtrbnMUdBu9
TmJnbA/9t96+7bmIkL9kKu246P9Ed9FYTom1X+kZSQ7dYS0coRZP2Tnduj6b
O7shO+F2b9TI2k8Aua+McE+hQFe1EfxGJ8KkbwgdRHe+XAPw4hcwwKzjTHqI
uvB8/at0d2yv6h4TcKdmJGZnLQ1fW2irdfzBN9/FIfUrHCv1Cam/IFhyEIhx
hUlusnylJoQZZk7M3DGxs5fnP8S9PmM5FOYAcujsATjmT8Gdvjm9o30XHZQh
mi1PJrKUofsAICJtjHI69p3cTCFyKgKNTPqkN0mICz3CWb9rcsJISEyOZ9fi
dyVX5QT6G4p4Vm0aYQIkzWcH2zwsIa1uf2xoLYRDbmzILqOihBbsYsUfouN0
Fk7cpRQ+o3WNdRS5JklGuu6k9Xb5x5JJk+NYyQIWNfvkj5oZ3xDqv+XGzC0Q
gcr5AZJT+XCBUaGhLOxUPOGY3Ldwd6j+N0Npre9MXAAA

-->

</rfc>
