<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-chittapragada-netconf-https-notif-cbor-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="https-notif-cbor">CBOR Encoding for HTTPS-based YANG Notifications Transport</title>
    <seriesInfo name="Internet-Draft" value="draft-chittapragada-netconf-https-notif-cbor-03"/>
    <author initials="B. M." surname="Chittapragada" fullname="Bharadwaja Meherrushi Chittapragada">
      <organization>National Institute of Technology Karnataka, Surathkal</organization>
      <address>
        <email>meherrushi2@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Bhat" fullname="Siddharth Bhat">
      <organization>National Institute of Technology Karnataka, Surathkal</organization>
      <address>
        <email>siddharth.bhat10@gmail.com</email>
      </address>
    </author>
    <author initials="V. T." surname="Rao" fullname="Vartika T Rao">
      <organization>National Institute of Technology Karnataka, Surathkal</organization>
      <address>
        <email>vartikatrao@gmail.com</email>
      </address>
    </author>
    <author initials="H." surname="Arshad" fullname="Hayyan Arshad">
      <organization>National Institute of Technology Karnataka, Surathkal</organization>
      <address>
        <email>hayyanhamnah@gmail.com</email>
      </address>
    </author>
    <author initials="M. P." surname="Tahiliani" fullname="Mohit P. Tahiliani">
      <organization>National Institute of Technology Karnataka, Surathkal</organization>
      <address>
        <email>tahiliani@nitk.edu.in</email>
      </address>
    </author>
    <date year="2025" month="July" day="24"/>
    <area/>
    <workgroup>Network Configuration</workgroup>
    <keyword>cbor</keyword>
    <keyword>https</keyword>
    <keyword>yang</keyword>
    <abstract>
      <?line 62?>

<t>This document extends <xref target="I-D.draft-ietf-netconf-https-notif"/> by introducing CBOR encoding for YANG notifications over HTTPS Transport in addition to the existing JSON and XML encoding schemes.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://MeherRushi.github.io/draft-chittapragada-netconf-https-notif-cbor/draft-chittapragada-netconf-https-notif-cbor.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-chittapragada-netconf-https-notif-cbor/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Configuration  mailing list (<eref target="mailto:netconf@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/netconf/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/netconf/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/MeherRushi/draft-chittapragada-netconf-https-notif-cbor"/>.</t>
    </note>
  </front>
  <middle>
    <?line 67?>

<section anchor="introduction">
      <name>Introduction</name>
      <sourcecode type="quote"><![CDATA[
CBOR offers an efficient and compact representation of YANG.
]]></sourcecode>
      <t>This document introduces a CBOR encoding scheme for event notifications over HTTPS by using the framework proposed in <xref target="I-D.draft-ietf-netconf-https-notif"/> which supports transfer of YANG notifications over HTTPS using JSON and XML encoding schemes.</t>
      <t>In <xref target="I-D.draft-ietf-netconf-https-notif"/>, the capabilities HTTP-target resource allows a publisher to retrieve supported encoding formats via GET requests, while the relay-notification resource enables the publisher to send YANG notifications via POST requests. These requests and responses use different content types based on the selected encoding scheme. This document defines support for using CBOR encoding defined in section 1 of <xref target="I-D.draft-ietf-netconf-https-notif"/></t>
      <t>Examples of the GET and POST request and reply encoded in CBOR are also provided.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document uses the following terms defined in Section 2,3 and 4 of <xref target="I-D.draft-ietf-netconf-https-notif"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Capabilities Resource</t>
        </li>
        <li>
          <t>Relay-Notification</t>
        </li>
        <li>
          <t>Event Notification</t>
        </li>
      </ul>
      <t>The following term(s) are defined in Subscription to YANG Notifications <xref target="RFC8639"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Publisher</t>
        </li>
        <li>
          <t>Receiver</t>
        </li>
        <li>
          <t>Subscribed Notifications</t>
        </li>
      </ul>
      <t>The following term(s) are defined in Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR) <xref target="RFC9254"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Diagnostic Notifications</t>
        </li>
        <li>
          <t>YANG Schema Item iDentifier (or "YANG SID" or simply "SID"): 63-bit unsigned integer used to identify different YANG items.</t>
        </li>
      </ul>
    </section>
    <section anchor="cbor-encoding-of-the-notifications">
      <name>CBOR Encoding of the notification(s)</name>
      <t>YANG notifications can be encoded in CBOR using Names or SIDs in keys. Notifications encoded using names is similar to JSON encoding as defined in Section 3.4 and 4.3 of <xref target="I-D.draft-ietf-netconf-https-notif"/>. Notification encoded using YANG-SIDs replaces the names of the keys of the CBOR encoded message with a 63 bit unsigned integer.  In this case, the term 'SID' is defined in Section 3.2 of <xref target="RFC9254"/>, and the keys of the encoded data use SID value as mentioned in 4.3.2 of this document.</t>
      <section anchor="capabilities-request">
        <name>Capabilities Request</name>
        <t>The publisher sends a request to the receiver to learn its capabilities. In the below example, the “Accept” states that the publisher wants to receive the capabilities response in CBOR but if not supported then in XML or JSON in that order.</t>
        <sourcecode type="http-request"><![CDATA[
GET /some/path/capabilities HTTP/1.1
   Host: example.com
   Accept: application/cbor, application/xml;0.5, application/json;q=0.9
]]></sourcecode>
      </section>
      <section anchor="capabilities-response">
        <name>Capabilities Response</name>
        <t>If the receiver is able to reply using “application/cbor” and assuming it is only capable of receiving CBOR encoded messages the response would look like this</t>
        <section anchor="cbor-using-names-as-keys">
          <name>CBOR using names as keys</name>
          <sourcecode type="http-message"><![CDATA[
   HTTP/1.1 200 OK
   Date: Tue, 4 March 2025 20:33:30 GMT
   Server: example-server
   Cache-Control: no-cache
   Content-Type: application/cbor
]]></sourcecode>
          <t>Diagnostic Notation:</t>
          <artwork><![CDATA[
   {
   "receiver-capabilities": {
     "receiver-capability": [
       "urn:ietf:capability:https-notif-receiver:encoding:cbor"
        ]
      }
   }
]]></artwork>
          <t>CBOR Encoding:</t>
          <artwork><![CDATA[
A1                                      # map(1)
   75                                   # text(21)
      72656365697665722D6361706162696C6974696573 # "receiver-capabilities"
   A1                                   # map(1)
      73                                # text(19)
         72656365697665722D6361706162696C697479 # "receiver-capability"
      81                                # array(1)
         78 36                          # text(54)
            75726E3A696574663A6361706162696C6974793A68747470732D6E6F7469662D72656365697665723A656E636F64696E673A63626F72 # "urn:ietf:capability:https-notif-receiver:encoding:cbor"
]]></artwork>
          <t>If the receiver is able to reply using “application/cbor” and assuming it is not capable of receiving cbor, but can receive both json and xml notifications:</t>
        </section>
        <section anchor="cbor-using-names-as-keys-1">
          <name>CBOR using names as keys</name>
          <sourcecode type="http-message"><![CDATA[
   HTTP/1.1 200 OK
   Date: Tue, 4 March 2025 20:33:30 GMT
   Server: example-server
   Cache-Control: no-cache
   Content-Type: application/cbor
]]></sourcecode>
          <t>Diagnostic Notation:</t>
          <artwork><![CDATA[
   {
   "receiver-capabilities": {
     "receiver-capability": [
       "urn:ietf:capability:https-notif-receiver:encoding:json",
       "urn:ietf:capability:https-notif-receiver:encoding:xml"
        ]
      }
   }
]]></artwork>
          <t>CBOR Encoding:</t>
          <artwork><![CDATA[
A1                                      # map(1)
   75                                   # text(21)
      72656365697665722D6361706162696C6974696573 # "receiver-capabilities"
   A1                                   # map(1)
      73                                # text(19)
         72656365697665722D6361706162696C697479 # "receiver-capability"
      82                                # array(2)
         78 36                          # text(54)
            75726E3A696574663A6361706162696C6974793A68747470732D6E6F7469662D72656365697665723A656E636F64696E673A6A736F6E # "urn:ietf:capability:https-notif-receiver:encoding:json"
         78 35                          # text(53)
            75726E3A696574663A6361706162696C6974793A68747470732D6E6F7469662D72656365697665723A656E636F64696E673A786D6C # "urn:ietf:capability:https-notif-receiver:encoding:xml"
]]></artwork>
          <t>If the receiver is unable to reply using "application/cbor", but is capable of receiving only cbor then the response might look like this:</t>
          <sourcecode type="http-message"><![CDATA[
   HTTP/1.1 200 OK
   Date: Tue, 4 March 2025 20:33:30 GMT
   Server: example-server
   Cache-Control: no-cache
   Content-Type: application/json
   {
   "receiver-capabilities": {
     "receiver-capability": [
       "urn:ietf:capability:https-notif-receiver:encoding:cbor"
        ]
      }
   }
]]></sourcecode>
        </section>
      </section>
      <section anchor="relay-notification-request">
        <name>Relay Notification request</name>
        <t>The publisher sends an HTTP POST request to the "relay-notification" resource on the receiver with the "Content-Type" header set to "application/cbor" in case the receiver is CBOR capable and a body containing the notification encoded in CBOR.</t>
        <section anchor="cbor-encoding-using-names-as-keys">
          <name>CBOR encoding using names as keys</name>
          <sourcecode type="http-request"><![CDATA[
POST /some/path/relay-notification HTTP/1.1
   Host: example.com
   Content-Type: application/cbor
]]></sourcecode>
          <t>Diagnostic notation:</t>
          <sourcecode type="http-response"><![CDATA[
   {
     "ietf-https-notif:notification": {
       "eventTime": "2013-12-21T00:01:00Z",
       "example-mod:event" : {
         "event-class" : "fault",
         "reporting-entity" : { "card" : "Ethernet0" },
         "severity" : "major"
       }
     }
   }
]]></sourcecode>
          <t>Cbor Encoding:</t>
          <artwork><![CDATA[
A1                                      # map(1)
   78 1D                                # text(29)
      696574662D68747470732D6E6F7469663A6E6F74696669636174696F6E # "ietf-https-notif:notification"
   A2                                   # map(2)
      69                                # text(9)
         6576656E7454696D65             # "eventTime"
      74                                # text(20)
         323031332D31322D32315430303A30313A30305A # "2013-12-21T00:01:00Z"
      71                                # text(17)
         6578616D706C652D6D6F643A6576656E74 # "example-mod:event"
      A3                                # map(3)
         68                             # text(8)
            7365766572697479            # "severity"
         65                             # text(5)
            6D616A6F72                  # "major"
         6B                             # text(11)
            6576656E742D636C617373      # "event-class"
         65                             # text(5)
            6661756C74                  # "fault"
         70                             # text(16)
            7265706F7274696E672D656E74697479 # "reporting-entity"
         A1                             # map(1)
            64                          # text(4)
               63617264                 # "card"
            69                          # text(9)
               45746865726E657430       # "Ethernet0"
]]></artwork>
        </section>
        <section anchor="cbor-encoding-using-sids-as-keys">
          <name>CBOR encoding using SIDs as keys</name>
          <t>Diagnostic Notation:</t>
          <sourcecode type="http-response"><![CDATA[
   {
    2601: {
       1: "2013-12-21T00:01:00Z",
       "example-mod:event" : {
         "event-class" : "fault",
         "reporting-entity" : { "card" : "Ethernet0" },
         "severity" : "major"
       }
     }
   }
]]></sourcecode>
          <t>The above is assuming the YANG module for event notifications has a corresponding .sid file with these entries</t>
          <artwork><![CDATA[
"item": [
      {
        "namespace": "module",
        "identifier": "ietf-notification",
        "sid": "2600"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-notification:notification",
        "sid": "2601"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-notification:notification/eventTime",
        "sid": "2602"
      }
    ]
]]></artwork>
          <t>CBOR Encoding:</t>
          <artwork><![CDATA[
A1                                      # map(1)
   19 0A28                              # unsigned(2600)
   A2                                   # map(2)
      01                                # unsigned(1)
      74                                # text(20)
         323031332D31322D32315430303A30313A30305A # "2013-12-21T00:01:00Z"
      71                                # text(17)
         6578616D706C652D6D6F643A6576656E74 # "example-mod:event"
      A3                                # map(3)
         68                             # text(8)
            7365766572697479            # "severity"
         65                             # text(5)
            6D616A6F72                  # "major"
         6B                             # text(11)
            6576656E742D636C617373      # "event-class"
         65                             # text(5)
            6661756C74                  # "fault"
         70                             # text(16)
            7265706F7274696E672D656E74697479 # "reporting-entity"
         A1                             # map(1)
            64                          # text(4)
               63617264                 # "card"
            69                          # text(9)
               45746865726E657430       # "Ethernet0"
]]></artwork>
        </section>
      </section>
      <section anchor="relay-notification-response">
        <name>Relay Notification Response</name>
        <t>The response on success is  "204 (No Content)". In case of corrupted or malformed event, the response is an appropriate HTTP error response.</t>
      </section>
      <section anchor="implementation-status">
        <name>Implementation Status</name>
        <t>This section records the status of known implementations of the specification defined by this document at the time of posting. The information is provided to assist the IETF in evaluating the maturity and implementability of the specification. This section will be removed prior to publication as an RFC.</t>
      </section>
      <section anchor="implementation-https-notification-cbor-draft-implementation">
        <name>Implementation: HTTPS Notification CBOR Draft Implementation</name>
        <ul spacing="normal">
          <li>
            <t><em>Organization</em>:
National Institute of Technology Karnataka (NITK), Surathkal</t>
          </li>
          <li>
            <t><em>Implementation Name / Web Page</em>:
HTTPS Notification CBOR Draft Implementation
<eref target="https://github.com/MeherRushi/https-notif-draft-impl">https://github.com/MeherRushi/https-notif-draft-impl</eref></t>
          </li>
          <li>
            <t><em>Description</em>:
This implementation provides a Python-based prototype of the mechanism defined in this document for transporting YANG notifications over HTTPS using JSON, XML and CBOR encoding. It supports name-based CBOR encoding (for now) and includes basic publisher and receiver roles to demonstrate end-to-end message exchange.</t>
          </li>
          <li>
            <t><em>Maturity Level</em>:  Prototype</t>
          </li>
          <li>
            <t><em>Coverage</em>:
            </t>
            <ul spacing="normal">
              <li>
                <t>Capabilities discovery via HTTP GET to /capabilities</t>
              </li>
              <li>
                <t>Event publication via HTTP POST to /relay-notification</t>
              </li>
              <li>
                <t>Support for name-based CBOR encoding (for now) as described in this document</t>
              </li>
            </ul>
          </li>
          <li>
            <t><em>Version Compatibility</em>:
The implementation is based on  draft-ietf-netconf-https-notif-15 and draft-chittapragada-netconf-https-notif-cbor-03.</t>
          </li>
          <li>
            <t><em>Licensing</em>:
Freely distributable under an MIT-style license.</t>
          </li>
          <li>
            <t><em>Implementation Experience</em>:
            </t>
            <ul spacing="normal">
              <li>
                <t>Developed and demonstrated at IETF 121 and 122 Hackathon.</t>
              </li>
              <li>
                <t>Worked toward enabling CBOR encoding in the libyang library as part of the hackathon effort (<eref target="https://datatracker.ietf.org/meeting/123/materials/slides-123-hackathon-sessd-adding-cbor-support-in-libyang-00">slides</eref>).</t>
              </li>
              <li>
                <t>Evaluated CBOR efficiency compared to JSON and XML in constrained environments.</t>
              </li>
              <li>
                <t>Built tooling to simulate and measure notification transfer behavior over varying network conditions.</t>
              </li>
              <li>
                <t>Diagnostic encoding examples used for validation of CBOR structures.</t>
              </li>
            </ul>
          </li>
          <li>
            <t><em>Contact Information</em>:
            </t>
            <ul spacing="normal">
              <li>
                <t>Bharadwaja Meherrushi Chittapragada (meher.211cs216@nitk.edu.in)</t>
              </li>
              <li>
                <t>Vartika T Rao (vartikatrao.211it077@nitk.edu.in)</t>
              </li>
              <li>
                <t>Siddharth Bhat (sidbhat.211ee151@nitk.edu.in)</t>
              </li>
              <li>
                <t>Hayyan Arshad (hayyanarshad.211cs222@nitk.edu.in)</t>
              </li>
            </ul>
          </li>
          <li>
            <t><em>Last Updated</em>:
July 24, 2025</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Addition of the CBOR encoding introduces no specific security exposures or risks other that the ones mentioned in <xref target="RFC9254"/> and <xref target="I-D.draft-ietf-netconf-https-notif"/> (An HTTPS-based Transport for YANG Notifications)</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests that IANA include an additional entry in the “Capabilities for HTTPS Notification Receivers” registry, defined in <xref target="I-D.draft-ietf-netconf-https-notif"/>, within the YANG Notifications registry group (as defined in <xref target="RFC3553"/>). The following entry is added:</t>
      <artwork><![CDATA[
Record:
   URN:         urn:ietf:params:yang-notif:https-capability:encoding:cbor
   Reference:   RFC XXXX:An HTTPS-based Transport for YANG Notifications
   Description: Identifies support for CBOR-encoded notifications.
]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.draft-ietf-netconf-https-notif">
          <front>
            <title>An HTTPS-based Transport for YANG Notifications</title>
            <author fullname="Mahesh Jethanandani" initials="M." surname="Jethanandani">
              <organization>Kloud Services</organization>
            </author>
            <author fullname="Kent Watsen" initials="K." surname="Watsen">
              <organization>Watsen Networks</organization>
            </author>
            <date day="1" month="February" year="2024"/>
            <abstract>
              <t>   This document defines a protocol for sending asynchronous event
   notifications similar to notifications defined in RFC 5277, but over
   HTTPS.  YANG modules for configuring publishers are also defined.
   Examples are provided illustrating how to configure various
   publishers.

   This document requires that the publisher is a "server" (e.g., a
   NETCONF or RESTCONF server), but does not assume that the receiver is
   a server.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-https-notif-15"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9254">
          <front>
            <title>Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Veillette" initials="M." role="editor" surname="Veillette"/>
            <author fullname="I. Petrov" initials="I." role="editor" surname="Petrov"/>
            <author fullname="A. Pelov" initials="A." surname="Pelov"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>YANG (RFC 7950) is a data modeling language used to model configuration data, state data, parameters and results of Remote Procedure Call (RPC) operations or actions, and notifications.</t>
              <t>This document defines encoding rules for YANG in the Concise Binary Object Representation (CBOR) (RFC 8949).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9254"/>
          <seriesInfo name="DOI" value="10.17487/RFC9254"/>
        </reference>
        <reference anchor="RFC8639">
          <front>
            <title>Subscription to YANG Notifications</title>
            <author fullname="E. Voit" initials="E." surname="Voit"/>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="A. Gonzalez Prieto" initials="A." surname="Gonzalez Prieto"/>
            <author fullname="E. Nilsen-Nygaard" initials="E." surname="Nilsen-Nygaard"/>
            <author fullname="A. Tripathy" initials="A." surname="Tripathy"/>
            <date month="September" year="2019"/>
            <abstract>
              <t>This document defines a YANG data model and associated mechanisms enabling subscriber-specific subscriptions to a publisher's event streams. Applying these elements allows a subscriber to request and receive a continuous, customized feed of publisher-generated information.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8639"/>
          <seriesInfo name="DOI" value="10.17487/RFC8639"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3553">
          <front>
            <title>An IETF URN Sub-namespace for Registered Protocol Parameters</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="T. Hardie" initials="T." surname="Hardie"/>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <date month="June" year="2003"/>
            <abstract>
              <t>This document describes a new sub-delegation for the 'ietf' URN namespace for registered protocol items. The 'ietf' URN namespace is defined in RFC 2648 as a root for persistent URIs that refer to IETF- defined resources. 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="73"/>
          <seriesInfo name="RFC" value="3553"/>
          <seriesInfo name="DOI" value="10.17487/RFC3553"/>
        </reference>
      </references>
    </references>
    <?line 412?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors acknowledge the support of Kent Watsen and Mahesh Jethanandani, the authors of <xref target="I-D.draft-ietf-netconf-https-notif"/> for their guidance and support provided to draft this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
