<?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.31 (Ruby 3.4.8) -->
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-cbor-edn-e-ref-03" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="EDN external references">External References to Values in CBOR Diagnostic Notation (EDN)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-e-ref-03"/>
    <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="2026" month="March" day="01"/>
    <keyword>CBOR numbers</keyword>
    <keyword>References to CDDL numbers</keyword>
    <abstract>
      <?line 56?>

<t>The Concise Binary Object Representation (CBOR, RFC 8949) 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.</t>
      <t>CBOR diagnostic notation (EDN) is widely used to represent CBOR data
items in a way that is accessible to humans, for instance for examples
in a specification.
At the time of writing, EDN did not provide mechanisms for composition
of such examples from multiple components or sources.
This document uses EDN application extensions to provide two such
mechanisms, both of which insert an imported data item into the data
item being described in EDN:</t>
      <t>The <tt>e''</tt> application extension provides a way to import data items,
particularly constant values, from a CDDL model (which itself has ways
to provide composition).</t>
      <t>The <tt>ref''</tt> application extension provides a way to import data items
that are described in EDN.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://cbor-wg.github.io/edn-e-ref/draft-ietf-cbor-edn-e-ref.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-cbor-edn-e-ref/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        cbor Working Group mailing list (<eref target="mailto:cbor@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/cbor/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cbor/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cbor-wg/edn-e-ref"/>.</t>
    </note>
  </front>
  <middle>
    <?line 79?>

<section anchor="intro">
      <name>Introduction</name>
      <t>(Please see abstract.)
<xref target="RFC8949"/> <xref target="I-D.ietf-cbor-edn-literals"/></t>
      <t>See <xref target="I-D.bormann-cbor-draft-numbers"/> for a more general discussion of working with assigned
numbers during development of a specification.</t>
    </section>
    <section anchor="the-e-application-extension-importing-from-cddl">
      <name>The <tt>e''</tt> application extension: importing from CDDL</name>
      <section numbered="false" anchor="problem">
        <name>Problem</name>
        <t>In diagnostic notation examples used during development of earlier
drafts, authors often used text strings in place of constants they
need, even though they actually mean a placeholder for a later,
to-be-registered integer.</t>
        <t>One example from a recent draft would be:</t>
        <figure anchor="fig-incorrect">
          <name>Misleading usage of text strings as stand-in for registered constants</name>
          <artwork><![CDATA[
{
    "group_mode" : true,
    "gp_enc_alg" : 10,
          "hkdf" : 5
}
]]></artwork>
        </figure>
        <t>Not only is the reader misled by seeing text strings in places that
are actually intended to be small integers, there are also small
integers that are not explained at all (here: 10, 5).
The usefulness of this example is greatly reduced.
Examples constructed in this are not actually machine-readable -- they
seem to be, but they mean the wrong thing in several places without
any warning that this is so.</t>
      </section>
      <section numbered="false" anchor="solution">
        <name>Solution</name>
        <t>In many cases, the constants needed to clean up this example are
already available in a CDDL model, or could be easily made available
in this way.</t>
        <t>If such a CDDL model can be identified, the EDN application extension
<tt>e'constant-name'</tt> can be used to reference a constant defined by that
model under the name <tt>constant-name</tt>.
(Hint: memorize the <tt>e</tt> as external constant, or enum.)</t>
        <t>For the example in <xref target="fig-incorrect"/>, such a CDDL model could have at
least the content shown in <xref target="fig-cddl"/>:</t>
        <figure anchor="fig-cddl">
          <name>CDDL model defining constants for e''</name>
          <sourcecode type="cddl"><![CDATA[
hkdf = -1
group_mode = -3
gp_enc_alg = -4
HMAC-256-256 = 5
AES-CCM-16-64-128 = 10
]]></sourcecode>
        </figure>
        <t>Note that such a model can have other, unrelated CDDL rules that
define more complex data items; only the ones used in an <tt>e''</tt>
construct need to be constant values.</t>
        <t>Using the CDDL model in <xref target="fig-cddl"/>, the example in <xref target="fig-incorrect"/> can
be notated as (example derived from <xref section="6.2-9" sectionFormat="of" target="I-D.ietf-ace-oscore-gm-admin"/>):</t>
        <figure anchor="fig-using-e">
          <name>Example updated to use e'constantname' for registered constants</name>
          <artwork><![CDATA[
{
    e'group_mode' : true,
    e'gp_enc_alg' : e'AES-CCM-16-64-128',
          e'hkdf' : e'HMAC-256-256'
}
]]></artwork>
        </figure>
        <!--
CBOR_DIAG_CDDL=sourcecode/cddl/cddl-model-defining-constan.cddl diag2diag.rb -ae
CBOR_DIAG_CDDL=sourcecode/cddl/solution.cddl diag2diag.rb -ae
 -->

<t>This example is equivalent to notating <tt>{-3: true, -4: 10, -1: 5}</tt>,
which expresses the concise 10-byte data item that will actually be
interchanged for this example.</t>
        <t>Note that the application-oriented literal does not itself define
where the CDDL definitions it uses come from.  This information needs
to come from the context of the example.</t>
        <t>Note also that the CDDL names for one EDN instance all come from a
single name space.
<xref target="I-D.bormann-cbor-edn-mapkey"/> proposes access to CDDL names where the name space in use is
specific to the data item the reference has as immediate context; this
provides a more complex, but also more powerful approach that can
handle different constant values for the same name in different contexts.</t>
      </section>
      <section numbered="false" removeInRFC="true" anchor="implementation">
        <name>Implementation</name>
        <t>The <tt>e''</tt> application extension is now implemented in the <tt>cbor-diag</tt>
tools <xref target="cbor-diag"/>, by the <tt>cbor-diag-e</tt> gem <xref target="cbor-diag-e"/>, which can
be installed as:</t>
        <artwork><![CDATA[
 gem install cbor-diag-e cddlc
]]></artwork>
        <t>(<tt>cbor-diag-e</tt> uses <tt>cddlc</tt> <xref target="cddlc"/> internally, so it must be in PATH.)</t>
        <t>Use of this extension has two prerequisites:</t>
        <ol spacing="normal" type="1"><li>
            <t>Opt-in to the application extension <tt>e</tt>, which in the <tt>cbor-diag</tt>
tools such as <tt>diag2</tt><em>x</em><tt>.rb</tt> is done using the <tt>-a</tt> command line
flag, here: <tt>-ae</tt>.</t>
          </li>
          <li>
            <t>Identification of the CDDL model to be used, which will give the
actual values for the constants.  </t>
            <t>
This can be a complete CDDL model for the application, no need to
limit it just to constant definitions.
(Where the constant values need to be obtained by registration at
the time of completion of the document using the examples, the CDDL
model can be set up with TBD values of the constants to be
assigned, and once they are, the necessary updates are all in one
place.)</t>
          </li>
        </ol>
        <t>Assuming that the example in <xref target="fig-using-e"/> is in a file called
<tt>gmadmin.diag</tt>, and that the CDDL model that includes the constants
defined in <xref target="fig-cddl"/> is in <tt>gmadmin.cddl</tt>, the following commands can
be used to translate the <tt>e'</tt>` constants into their actual values:</t>
        <sourcecode type="shell"><![CDATA[
$ export CBOR_DIAG_CDDL=gmadmin.cddl
$ diag2diag.rb -ae gmadmin.diag
{33: true, 34: 10, 31: 5}
]]></sourcecode>
      </section>
      <section numbered="false" removeInRFC="true" anchor="provisional-use">
        <name>Provisional use</name>
        <t>The need for this application is there now, while ratification of the
present specification might take a year or so.
Until then, each document using this scheme can simply use boilerplate
such as:</t>
        <blockquote>
          <t>In the CBOR diagnostic notation used in this document, constructs of
the form <tt>e’somename'</tt> are replaced by the value assigned to
<tt>somename</tt> in CDDL in figure 0815.
E.g., <tt>{e'group_mode': "bar"}</tt> stands for <tt>{33: "bar"}</tt>.</t>
        </blockquote>
        <t>(Choose 0815, group_mode and 33 along the lines of the figure you
include with the CDDL definitions needed.)</t>
      </section>
    </section>
    <section anchor="the-ref-application-extension-importing-from-edn">
      <name>The <tt>ref''</tt> application extension: importing from EDN</name>
      <section numbered="false" anchor="problem-1">
        <name>Problem</name>
        <t>Examples using CBOR diagnostic notation can get large.
One way to manage the size of an example is to make it incomplete.
This reduces the usefulness of the example for machine-processing.
It can also be misleading, unless the elision is made explicit (see
<xref section="3.2" sectionFormat="of" target="I-D.ietf-cbor-edn-literals"/>).</t>
      </section>
      <section numbered="false" anchor="solution-1">
        <name>Solution</name>
        <t>In a set of CBOR examples, recurring subtrees can often be identified,
the details of which do not need to be repeated in each example.</t>
        <t>By enabling examples to reference these subtrees from a separate piece
of EDN, each example can focus on what is specific for them.</t>
        <t>The <tt>ref''</tt> application-oriented literal enables composition by
standing for a CBOR data item from a separate EDN instance that is
referenced using its text as an identifier.</t>
        <t>So, for example, if <tt>123.diag</tt> is a file containing</t>
        <artwork><![CDATA[
[1, 2, 3]
]]></artwork>
        <t>the result of the EDN</t>
        <artwork><![CDATA[
[4711.0, true, ref’123.diag’]
]]></artwork>
        <t>is</t>
        <artwork><![CDATA[
[4711.0, true, [1, 2, 3]]
]]></artwork>
        <t>The text of the literal can be one of two kinds of identifiers:</t>
        <ol spacing="normal" type="1"><li>
            <t>a file name to be interpreted in the context of the referencing
example, as shown above, or</t>
          </li>
          <li>
            <t>a URI that references the EDN to be embedded, as in  </t>
            <artwork><![CDATA[
  [4711.0, true, ref'http://tzi.de/~cabo/123.diag']
]]></artwork>
            <t><!-- URI-references that are not absolute would, again, be interpreted -->
            </t>
            <t><!-- in the context of the referencing example. -->
            </t>
          </li>
        </ol>
        <aside>
          <t>(ISSUE: We could use upper-case REF to unambiguously identify one of
he two; the current implementation however just tries to parse the
literal text as a URI and, if that fails, interprets it as a file
name.)</t>
        </aside>
        <t>Note that a <tt>ref''</tt> application-oriented literal can only be used for
a single CBOR data item; the extension point provided by EDN does not
work for splicing in CBOR sequences.</t>
      </section>
      <section numbered="false" removeInRFC="true" anchor="implementation-1">
        <name>Implementation</name>
        <t>The <tt>ref''</tt> application extension is now implemented in the <tt>cbor-diag</tt>
tools <xref target="cbor-diag"/>, by the <tt>cbor-diag-ref</tt> gem <xref target="cbor-diag-ref"/>, which can be installed as:</t>
        <artwork><![CDATA[
 gem install cbor-diag-ref
]]></artwork>
        <t>For using the application extension, the <tt>cbor-diag</tt> tools such as
<tt>diag2</tt><em>x</em><tt>.rb</tt> need to be informed by the <tt>-a</tt> command line flag,
here: <tt>-aref</tt>.</t>
        <t>For experimenting with the implementation, the web resource
<tt>http://tzi.de/~cabo/123.diag</tt> contains <tt>[1, 2, 3]</tt>.
This example enables usage as in:</t>
        <sourcecode type="shell"><![CDATA[
$ echo "[4711.0, true, ref'http://tzi.de/~cabo/123.diag']" >my.diag
$ diag2diag.rb -aref my.diag
[4711.0, true, [1, 2, 3]]

$ echo "[4, 5, 6]" >456.diag
$ echo "[4711.0, true, ref'456.diag']" >my.diag
$ diag2diag.rb -aref my.diag
[4711.0, true, [4, 5, 6]]
]]></sourcecode>
        <t>If a referenced EDN file parses as a CBOR sequence this is currently
treated as an error.</t>
      </section>
      <section numbered="false" removeInRFC="true" anchor="provisional-use-1">
        <name>Provisional use</name>
        <t>Documents that want to use the application extension <tt>ref''</tt> now can
use boilerplate similar to that given above for <tt>e''</tt>.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to make the following two assignments in the CBOR
Diagnostic Notation Application-extension Identifiers
registry [IANA.cbor-diagnostic-notation]:</t>
      <table anchor="tab-iana">
        <name>Additions to Application-extension Identifier Registry</name>
        <thead>
          <tr>
            <th align="left">Application-extension Identifier</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">e</td>
            <td align="left">import value from external CDDL</td>
          </tr>
          <tr>
            <td align="left">ref</td>
            <td align="left">import value from external EDN</td>
          </tr>
        </tbody>
      </table>
      <t>All entries the Change Controller "IETF" and the Reference "RFC-XXXX".</t>
      <t><cref anchor="to-be-removed">RFC Editor: please replace RFC-XXXX with the RFC
number of this RFC, [IANA.cbor-diagnostic-notation] with a
reference to the new registry group, and remove this note.</cref></t>
    </section>
    <section anchor="security-considerations">
      <name>Security considerations</name>
      <t>The security considerations of <xref target="RFC8610"/>, <xref target="RFC8949"/>, and <xref target="I-D.bormann-t2trg-deref-id"/> apply.</t>
      <t>The proof of concept implementations described do not do any
sanitizing of URLs or file names at all.
Upcoming versions of the present document will need to define the
right restrictions for external references like this.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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="I-D.ietf-cbor-edn-literals">
          <front>
            <title>CBOR Extended Diagnostic Notation (EDN)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="16" month="October" year="2025"/>
            <abstract>
              <t>   This document formalizes and consolidates the definition of the
   Extended Diagnostic Notation (EDN) of the Concise Binary Object
   Representation (CBOR), addressing implementer experience.

   Replacing EDN's previous informal descriptions, it updates RFC 8949,
   obsoleting its Section 8, and RFC 8610, obsoleting its Appendix G.

   It also specifies and uses registry-based extension points, using one
   to support text representations of epoch-based dates/times and of IP
   addresses and prefixes.


   // (This cref will be removed by the RFC editor:) The present -19
   // includes the definition of the cri'' application- extension. cri''
   // was previously defined in draft-ietf-core-href; however the latter
   // document overtook the present document in the approval process.
   // As the definition of cri'' is dependent on the present document
   // (and conversely has essentially no dependency on the technical
   // content of draft-ietf-core-href beyond its mere existence), the
   // text (including IANA considerations) has been moved here. -19 is
   // intended for use at the CBOR WG meeting at IETF 124.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-literals-19"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.bormann-cbor-draft-numbers">
          <front>
            <title>Managing CBOR codepoints in Internet-Drafts</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="12" month="January" year="2026"/>
            <abstract>
              <t>   CBOR-based protocols often make use of numbers allocated in a
   registry.  During development of the protocols, those numbers may not
   yet be available.  This impedes the generation of data models and
   examples that actually can be used by tools.

   This short draft proposes a common way to handle these situations,
   without any changes to existing tools.  Also, in conjunction with the
   application-oriented EDN literal e'', a further reduction in
   editorial processing of CBOR examples around the time of approval can
   be achieved.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-draft-numbers-07"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-edn-mapkey">
          <front>
            <title>CBOR: Generating Numeric Map Labels from Textual EDN</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <date day="1" month="March" year="2026"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, STD 94 == RFC 8949)
   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.

   CBOR diagnostic notation (EDN) is widely used to represent CBOR data
   items in a way that is accessible to humans, for instance for
   examples in a specification.  Complex examples often use nested maps,
   the map keys (labels) for each of which are often sourced from
   different specifications.  While the e'' application extension
   provides a way to import data items, particularly constant values,
   from a CDDL model, it does not help with automatically selecting the
   right kind of map depending on its position in the nested maps.


   // The present document is intended to capture ideas initially
   // discussed at the CBOR WG interim 2025-06-25 and demonstrate some
   // design alternatives.  It is not ready for adoption yet in any way.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-edn-mapkey-01"/>
        </reference>
        <reference anchor="cddlc" target="https://github.com/cabo/cddlc">
          <front>
            <title>CDDL conversion utilities</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="cbor-diag" target="https://github.com/cabo/cbor-diag">
          <front>
            <title>CBOR diagnostic utilities</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="cbor-diag-e" target="https://github.com/cabo/cbor-diag-e">
          <front>
            <title>CBOR diagnostic extension e''</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.ietf-ace-oscore-gm-admin">
          <front>
            <title>Admin Interface for the OSCORE Group Manager</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Peter Van der Stok" initials="P." surname="Van der Stok">
         </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date day="23" month="February" year="2026"/>
            <abstract>
              <t>   Group communication for the Constrained Application Protocol (CoAP)
   can be secured using Group Object Security for Constrained RESTful
   Environments (Group OSCORE).  A Group Manager is responsible for
   handling the joining of new group members, as well as for managing
   and distributing the group keying material.  This document defines a
   RESTful admin interface at the Group Manager that allows an
   Administrator entity to create and delete OSCORE groups, as well as
   to retrieve and update their configuration.  The ACE framework for
   Authentication and Authorization is used to enforce authentication
   and authorization of the Administrator at the Group Manager.
   Protocol-specific transport profiles of ACE are used to achieve
   communication security, proof of possession, and server
   authentication.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-oscore-gm-admin-15"/>
        </reference>
        <reference anchor="cbor-diag-ref" target="https://github.com/cabo/cbor-diag-ref">
          <front>
            <title>CBOR diagnostic extension ref''</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.bormann-t2trg-deref-id">
          <front>
            <title>The "dereferenceable identifier" pattern</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <date day="24" month="February" year="2026"/>
            <abstract>
              <t>   In a protocol or an application environment, it is often important to
   be able to create unambiguous identifiers for some meaning (concept
   or some entity).

   Due to the simplicity of creating URIs, these have become popular for
   this purpose.  Beyond the purpose of identifiers to be uniquely
   associated with a meaning, some of these URIs are in principle
   _dereferenceable_, so something can be placed that can be retrieved
   when encountering such a URI.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-t2trg-deref-id-07"/>
        </reference>
      </references>
    </references>
    <?line 362?>

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61a63IbOXb+j6dANKmSvGG3RUlWbE48tbIk76hq51K+ZFOZ
OCbYDZK97gsX6BbN0XAqr5H/+yb7JnmSfOcA6AspW+tJVJZFdqOBg3P5zncO
OooicTuRp0LUWZ3rifxGSHn9sdamVLl8pefa6DLRVtaV/FeVN/iUlfLyxQ+v
5FWmFmVl6yyR31e1qrOqlEfXV98/Emo2Mxqz4ovUYS7TziXSKilVgcVSo+Z1
lOl6HiWzykQ6LSMdYWSUq1rbWqT4M5Enxyfn0fFpdDwWH/RmXZl0AikjJ0bZ
FDNtLF8Yynt5dfXH9nai6glEn1fC1karYiJvrt+8FGKVTeRPdZWMpK0M7swt
Pm0K9yGpipVKav5Q6LK274S41WWjaf1CZflEkty/px3ElVng6iKrl83MXY/W
i8ftlnDPbWoil3W9spPHj/2Y2D0TZ1U3+vEnVRMv6yIXQjX1sjKsB/xKbM1O
5GUsX1SmUGXJ15ySL5WxtS4HdyDrRL4ts1uoJqv/9tdavjAaO5Rv/v2GB5CS
NET9EQaeq2QpT0+Pz86O+V6S1ZuJf8BdqFKscxWdPD198sxfacraYNQfNC26
4YurZVVi3D+dPYvOTsbRyfhpdH767GTMN7VXp5pVv69/zliboiSRa0hJ+3z1
8vLps7NnTrX++/n4GN/TNMf3m+gqHuorz+B7Kodi8E2Q8XvT0fCZU4l7wmnc
+8uk51d7I2nuQq3gixPp/mIUSZFMeC8+lNj/kqpkJSM4mjqDRJm2bpAyC91z
Bu8E8LTHpITHPB/Ny7Ih1oZzk+unXQR+4dxhzv78kf7sChTIJe9DHx5+2SqR
7ptHJTqqbFIZHS2KSKVFVk5k+DQQCN7+d4qEkV8slIvJvnHrk9osolQTAGUp
4Ik+CRFFkVQzRASgQIg3Sy0vqzLJrJYvslKZjfxh9med1ECfldEWMOGxkMQd
kZtK8ttHMrNSSSCaEs4R5XpZYZJU22xRykUFT0UYJ3mTalljlVVlbTYju25k
NafdUsjlG2kLleeCok7a7Gc9knOVmXBdFtpatQi3VJkGPfmp1tBI1dS0hCi1
TiWkkcFHS72o6ow3EAuxq/BygPO0oXWWkkSNxTyAXBNU4G1Fm0UQFpw1lFyr
DZbFzkkVCWAaQuWaHlw2sAAQl2QBlNUKIM5f9EdVrHL4NU9gVzrJ5lniBbzg
XcA9Ck0aWhuEQLkYceJJs5TklStT3UJIqCVZqjKzkIXmJWivgH2YR+BR2wDj
wlpybqpCFk1eZ/jqhpYE/8BNpInGQPIYjoBdIJU1lBlIA5bXVatV7gXsHJTz
UZCkXle8nuhEGslZVS95D8sMkkAF2tQwnsywtqmhXdKlJF3iJiajfbfqlTON
fZMnJSabYTCUBVkmzlunCNjp/XIFmWwwTuUX7JazI7FSBtZvckVOBkAj89Ty
lunAyClLObQr4JO5PPKbqK3O53KpLM1tRU8FPe0/ir2UHMP/BzkFe5Yyek8P
sYvhIgOkaiFukJqqtEl4Cf9z91VGV7fiee9HiKMfc60Qo1brFgLiR+LujhPB
divxCdlguxXiNYbgm08buEVepqARCLTQJSUi+KRNGssbIlNX5gOZjQJSKkso
oFPhJ5BpY5xNb3VerdjH8MxeCIiv5AM2nnhV0WxsK7IUnvtK/mgqhF8h7iZN
6ZbV6Zb0c2/Mt9HBwX6/eBoukmkjOJfCNxxLQdzMiYE4lIBgRC/wNKPCKkdC
oGeDY1ny7Q1D00hi+lISXi2WfBmwUTdAuQ3iWREi8OPLKgdWe40TyzIjeFs0
I8K0yMB+DPtCrRfaQGU/lDrsJniv0QltgeWGYZo8RUwhfpxziOAm8mBhqmb1
nvz8QE5kbRo96t9dvQf9fK/yBd0dH/fu+RHLD+mc7j1xd7ZQvvxqni0iIH9l
DOURQOjzg1SnEOjA0fLnB99lFp6YksobRncobKBJBBlpL8U8rIfexlvFHsC4
oOqyKqG/jPWMcYpUV9D82POGXJ1WuddMltFbUIy1diC1lqmD/5n2OcjrGh6A
NWg0/ea28qkr3JZtyBJS649YJEMMSLqIWY7oWVajfPIoZpSAC82bvETmYA0Q
BAdL4uMCu6khE3bdJDqNxXXwWdaBQcw7UOAHw7qdS4HoYv2IdKIoMQE02Beh
k8LtD0DtUqd3QFLh2lSksCWpDXNb+CwFu9eYT7cCLBjQZUpWLm2bZcA/W8Uc
ja+rvOF0tB+ORKFBja12Cu2FCkWJ032SkzzNaqgU7FGonDaE0LkFxeZ9cS7t
AHskOSE6p0cM24yVAZxuHxFBaUBfiHvjM+YA9hOsj+czclwgFIUvCfvJpCgA
WmEnEdUqQDA/R8cnfEGHldrEk+o5e8nMkQnhVm9K8mNakKaS08HM01gcfQuv
A1/XQGQwIx451VMKnLZGDc+wQlDnFcB68bJy07Z+VgLnBxG73Y7uUwcrdKlu
IXwtKI/UwXg1YY1dVuuym434/nYLyPn1119dSUNQIZ/LaCw60KHvp6KDGfp+
Jr797uIyOnlyTr+48kRcXL+OLi+/i8bn0flZND55iqvjY5q6xRtaQnp06UnN
yiUf7XyMadjhoUcP7bzX77ezPG+0onAfwRZGEwynTh+myQN0ONu5rEgkINcf
eyn8awdNpCUQLp9pyFlLl+BEG8bs+B5ydhgJ3POtdVGm+/bY0fToQaPStsRM
uwxIqGTlURgPX0Mdmbr0cXf3Wjs2cR6fRM8ImdrSZrt9dE8a0YedSQ/38whu
txam2/pwz6CHe6lFH5LDuOF9hzjczTQNaSfS9+YZD5jAkZT3DA3DCLILVI7T
z2aYf/mHKOLK4f3VzcUf3pMFnjvSTBUL17X8X8RmiYLDRX6SmB2TCMgJ/Reb
mYyUfmhC68HzE08Dyb8RjrH30oX+S5PBZygYsU9HdOA307vo1JsEweXyTzRG
yt5OR8JRW6Qq1DlW2xDRXA6Oj6PZptY9qs6hss6Qy9okM9Oc/gxR/4WvvvqQ
HfejjGbvYWcE6IK0eMq3NlB/QAZKYp5su/iClJR12wBwOq65EMl8rYLoc+wn
lpIV0/ZHuAzUKRP2dlQHXR9rl3r1rsSc4FuxXfcN3uIABPHMmaAt7ijBd7Mr
QU6Ze/C2K6TOmGi2a68gFlEAoGLQoW7s+nu8Qrff7nmKafLdzIrAmWWvcAoG
0r0kQ6UK/mVFoeE9dbvhr9lColeE9AHMcQLePV9eVWttwFLIcqai5hkrhdAE
Nk8JPbI5L1nvYpf3BuyAtsF7ycrhcJLHOsZwQ8sXoeEw4A3YVFHdgsmZebJ9
uAzMyInWVCi4CQNLojwaGiZT+EOVW6Bde4lQdLbZGRchqS500R8XaRrpQseD
KvtBnjOsBoBccHHL1/ttKddaQzE2XIO9eMr3prQYfYCjcHCVFGrU0iV3Lxpk
Xl5S/njx5lvK6W+t7vHHoAUyPxXniG1D2IACVZNw41j+sKqJWXv/uV+JYBOj
tn7fUx71plh/LnNCdEap6e8+/m4KmJpK7iaUxH1C8ppGasqtZ2ri5BTXmGSe
q8VIOmaMAURtTmJ540mXF8oHaC/7uVRJCTXIyLC0QBbjThBmdhC164kttsds
JYYKz9KUj4B6sFJ4sKekEbwrZGyaJM+KjCBL/plMwzDT53YOqWIaefSnNrJ3
Q6XHAKpZrQIldGnJOD2AcZDeez0iL3FPSb0WTlB8KHVHrRZpmgHLtbomss21
+5sXV0EoP2evliUBWbu+wHctuYrgxhW0RrtlSk3ARv1El3ytr5qYuVTO+FxT
kANfWNsUvVLiHibj0zyFhG+/zTPqZnHUiemiYH4Ss3c6oYbY7f2G23WuK2mH
exOBiO8wK79euwJdnbo9zqs8r9aOXrJb24AHgfHDcqUl7ugJ+uF02tNmaH1l
ZuitCFLmzXapUV7+I+Vnag7tkIa+QBi0yxJkXyXi7rQlAaeeBJwyCWAW7dsn
txlFPsSA+A/hb9trdcVnD0JcKc7V6JqjE2YiB94JZxF6q4MWEEr3xRJmUx8o
IDdaGdeljMVbIAIZUCP+NKWhPU+n6jNZAvHZqy3BP/dy5ayCDGZFdhAer6Di
u8lfGiT6rfiGilJ2lE81iANzr/tN0lFXhlOkCOcRpoCZ/+e//tuCDPgqkBzf
aHb2NCQYNnQbRQQk0/DElM8kyWep+ZEtGjx+/HT8BPV/vIhHIHQDvj2RBzNl
DrZT1zFxUDdle/sbgLqjy2VF3XmaZyR7BRgFyukp4rLyYEHA3Aa+X31TNSK0
8hki7qVirnincPZNvM+1QPfaeGBTn+viXXftOnrkk5Yiyy8AZjkdnMTcG/Md
VsQndZqYjlDFTO3Hss+feQzcLmOE8KnAN8ZdC8Yhxm7Tptd9g+ZD1wVciU8E
ykUsbpguOU4FcCja7hfVljnzP5olzwJ74W4FNZCyBNIcWY1wbKuy0/iEazLu
1D56sNuiGNzxAOusywWoChvDXU/bzOh81CVC19scNj7YtVONrJTbrqufcpHR
T1xwcq082+IQ7Sj1i42Ec89yWq9tvQ5aIliDWtNBFt/JtHqlDOHnKkNCobMN
OMpoMDuLPUdQQrYSsrkDmZYk+wRefLoxv1+HsKiuqgiNfQSu4ABjj+XWbHso
5Mj3rsSD+sCfE4l2v6n35IyyKlUhRNbLTuvU2X1djfqnRiOZzeV0fHLqspw7
gXNZEERacd3puOdP45E8AcK/E8KVBLbJ2zqHI41Hnf3zeBwjE7i8ANGAW2F6
fMTTkPi+oe3875xS+2VU0KFnFsQB6Q6I6IeM4Alfuk16Puq3wRWCcyXmvcgQ
Pe6+U64FTdKmqV8QdEStY+5FqRlSFvW+iFEq+fbVjbOC6b1W4Rt6bk2NsElT
5jSUm0XXktjX1CGdyE4eP6bDfVTtv/JpbNDd4Tt+lloHtGw0WLHXIlYzLvS1
a9Fj2QWMONrdPhX7YbYHVdGGnOsR3E2UhbYpxx3dvH799noi/6R9L48yY7Na
aRNRL1a+un7J/REYYQbYrxpL7XBnqY03o1jyed/XTgjAB6XfbFC3SeieWsae
DCOy3GmhMtZR8+AfrdOzZRBY7N6snzkBzahTApf5Kni7IDehNNM1FtTfF9aM
byV3LVxKR3AJRKyr1Yfh/LVH9vbIroI44eCO0zgfy/qGhaDTL45Vy6Dteuc8
o0Xtxbb/TVXuZ48R/1/rXKy0X+ni4qDWlV9U6/L7BtRw7mqRezcy2pV5WFuK
3dqyl3Jcm6fjVXtFpqswRVth0jZjJxUSrDYZKa49t6Qphv7sZFvrGaEot+nE
9HOxPw1gjJK4hclpPOzWhfziDr8YbSY7lD9ZVvLgi3HnQH5TbBzj36sI8LQM
Nz+D593aIwmueE5znj05D5N+UrAw5rcLERZ852qSmzmfZLb5kuKN0wRjiXWA
MAix9hDKQ1O+EfR2nO92E9szpjLxl5Y7V57we/ReK9dhbRygfap94iOXApSK
wp06hMqTDCTV9WAwK7UufM5yDJ76WxBV3Fx8f0Gv6BCOuz6AHRzrh8N9HsdU
FcqwvtvNhHZYqlImdnWH21PW1T7ivpcgL3qI2m3vpkvhwvcoNvI/fiIh4jaO
3VRRIOfvqK795cEJ5S/yil95WPVfaRj8/CJ+iR78eXgIppH63gX6a4V3M1zJ
xiyvPWLjIoimIb/+7dOQa2MaOtKo1SzKUKqEw6yLNPX1Fcz5oOpeeVPQycVF
TkTWZ2CyMLfoyZVqA2/A6AN6afTAN0t0976pPHj18jL6N/wcwAN/+s/w8gEF
Rfpu/8qEXwu7hqCVmciVe8nEV7wyTNUBLK64Fzo53NrOJS6PHnQh/3oJP9+r
HSrfc1rL1hm5yHWdICenWwUzUT0iXlP5Qy+QJQ+Flo8vSsf2/odoC/QSjT+J
a9+ncavjK796t90yVGx8IQIqgcfcmyKJXu3yKNt778dXWvhDL59aRRX3zxTL
ePrtqz/yi1wtgbb+fYNYvF0hEdIw/zpcW6+GzkvbQeHmaciq/lCTuJrhZgxG
w4sSJ5WrR/begkau/eA07F9PmqnkA3ww+QAABFdY8M721Us+H2D3+UFZkeO+
eXEl/hd71pmbyi0AAA==

-->

</rfc>
