<?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.36 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-netmod-immutable-flag-10" category="std" consensus="true" submissionType="IETF" updates="8040, 8526" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="immutable flag">YANG Metadata Annotation for Immutable Flag</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-immutable-flag-10"/>
    <author fullname="Qiufang Ma" role="editor">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>
          <city>Nanjing, Jiangsu</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>maqiufang1@huawei.com</email>
      </address>
    </author>
    <author fullname="Qin Wu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>
          <city>Nanjing, Jiangsu</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>bill.wu@huawei.com</email>
      </address>
    </author>
    <author fullname="Balazs Lengyel" role="editor">
      <organization>Ericsson</organization>
      <address>
        <email>balazs.lengyel@ericsson.com</email>
      </address>
    </author>
    <author fullname="Hongwei Li">
      <organization>HPE</organization>
      <address>
        <email>flycoolman@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="May" day="14"/>
    <area>Operations and Management</area>
    <workgroup>netmod</workgroup>
    <keyword>immutable flag</keyword>
    <keyword>system configuration</keyword>
    <abstract>
      <?line 75?>

<t>This document defines a way to formally document an existing behavior,
   implemented by servers in production, on the immutability of some
   system-provided nodes, using a YANG metadata annotation called
   "immutable" to flag which nodes are immutable.</t>
      <t>Clients may use "immutable" annotations provided by the server, to
   know beforehand why certain otherwise valid configuration requests
   will cause the server to return an error.</t>
      <t>The immutable flag is descriptive, documenting an existing behavior, not
   proscriptive, dictating server behaviors.</t>
      <t>This document updates RFC 8040 and RFC 8526.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Network Modeling Working Group mailing list (netmod@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/netmod/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/netmod-wg/immutable-flag"/>.</t>
    </note>
  </front>
  <middle>
    <?line 91?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines a YANG metadata annotation <xref target="RFC7952"/> to formally document
   an existing model handling behavior that has been used by
   multiple standard organizations and vendors.  It is the aim to create
   one single standard solution for documenting non-modifiable system
   data declared as configuration, instead of the multiple existing
   vendor and organization specific solutions.</t>
      <t>YANG <xref target="RFC7950"/> is a data modeling language used to model both state
   and configuration data, based on the "config" statement.  However,
   there exists some system configuration data that cannot be modified
   by the client (it is immutable), but still needs to be declared as
   "config true" to:</t>
      <ul spacing="normal">
        <li>
          <t>allow configuration of data nodes under immutable lists or containers;</t>
        </li>
        <li>
          <t>place "when", "must" and "leafref" constraints between configuration
   and immutable nodes;</t>
        </li>
        <li>
          <t>ensure the existence of specific list entries that are provided and
   needed by the system, while additional list entries can be created,
   modified or deleted.</t>
        </li>
      </ul>
      <t>If the server always rejects a client's attempt to override some
   system-provided data because it internally thinks the data is immutable, it should document
   it towards the clients in a machine-readable way rather than writing as
   plain text in the "description" statement.</t>
      <t>This document defines a way to formally document the existing behavior,
   implemented by servers in production, on the immutability of some
   system-provided nodes, using a YANG metadata annotation <xref target="RFC7952"/>
   called "immutable" to flag which nodes are immutable. This document does not
   regulate server behaviors. That said, it is expected that a server will return
   an error with an error-tag containing "invalid-value" if a client attempts to
   modify an immutable node.</t>
      <t>The following is a list of already implemented and potential use
   cases:</t>
      <ul spacing="normal">
        <li>
          <t>UC1  Modeling of server capabilities</t>
        </li>
        <li>
          <t>UC2  Hardware based auto-configuration</t>
        </li>
        <li>
          <t>UC3  Predefined administrator roles</t>
        </li>
        <li>
          <t>UC4  Declaring immutable system configuration from the perspective of a logical network element (LNE)</t>
        </li>
      </ul>
      <t><xref target="use-cases"/> describes the use cases in detail.</t>
      <section anchor="updates-to-rfc-8040">
        <name>Updates to RFC 8040</name>
        <t>This document updates Sections <xref target="RFC8040" section="4.8" sectionFormat="bare"/> and <xref target="RFC8040" section="9.1.1" sectionFormat="bare"/> of <xref target="RFC8040"/> to add an
  additional query parameter named "with-immutability", as specified in <xref target="RESTCONF-ext"/>.</t>
      </section>
      <section anchor="updates-to-rfc-8526">
        <name>Updates to RFC 8526</name>
        <t>This document updates <xref section="3.1.1" sectionFormat="of" target="RFC8526"/> to add an additional input parameter
   named "with-immutability" for the &lt;get-data&gt; operation, as specified in <xref target="NETCONF-ext"/>.</t>
      </section>
      <section anchor="editorial-note-to-be-removed-by-rfc-editor">
        <name>Editorial Note (To be removed by RFC Editor)</name>
        <t>Note to the RFC Editor: This section is to be removed prior to publication.</t>
        <t>This document contains placeholder values that need to be replaced with finalized
  values at the time of publication.  This note summarizes all of the
  substitutions that are needed.  No other RFC Editor instructions are specified
  elsewhere in this document.</t>
        <t>Please apply the following replacements:</t>
        <ul spacing="normal">
          <li>
            <t>XXXX --&gt; the assigned RFC number for this draft</t>
          </li>
          <li>
            <t>2026-05-14 --&gt; the actual date of the publication of this document</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>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 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The document uses the following definition in <xref target="RFC6241"/>:</t>
      <ul spacing="normal">
        <li>
          <t>configuration data</t>
        </li>
      </ul>
      <t>The document uses the following definition in <xref target="RFC7950"/>:</t>
      <ul spacing="normal">
        <li>
          <t>data node</t>
        </li>
        <li>
          <t>leaf</t>
        </li>
        <li>
          <t>leaf-list</t>
        </li>
        <li>
          <t>container</t>
        </li>
        <li>
          <t>list</t>
        </li>
        <li>
          <t>anydata</t>
        </li>
        <li>
          <t>anyxml</t>
        </li>
        <li>
          <t>interior node</t>
        </li>
        <li>
          <t>data tree</t>
        </li>
      </ul>
      <t>The document uses the following definition in <xref target="RFC8341"/>:</t>
      <ul spacing="normal">
        <li>
          <t>access operation</t>
        </li>
      </ul>
      <t>The document uses the following definition in <xref target="I-D.ietf-netmod-system-config"/>:</t>
      <ul spacing="normal">
        <li>
          <t>system configuration</t>
        </li>
      </ul>
      <t>This document defines the following term:</t>
      <dl>
        <dt>immutable flag:</dt>
        <dd>
          <t>A read-only state value the server provides to describe
   immutability of the configuration, which is conveyed via a YANG metadata annotation
   called "immutable" with a boolean value.</t>
        </dd>
      </dl>
    </section>
    <section anchor="applicability">
      <name>Applicability</name>
      <t>While the immutable flag applies to all configuration nodes, its value <bcp14>MUST NOT</bcp14> be set to true for configuration data that is not system configuration.</t>
      <t>The immutable flag is only visible in read-only datastores (i.e., &lt;system&gt;
   <xref target="I-D.ietf-netmod-system-config"/>, &lt;intended&gt;, and &lt;operational&gt;)
   when a "with-immutability" parameter is carried (<xref target="with-immutability"/>),
   however this only serves as descriptive information about the
   instance node itself, but has no effect on the handling of the read-only
   datastore. If the immutable flag is requested to be returned for an invalid
   datastore, then the server <bcp14>MUST</bcp14> return an error response with the error-tag value
   "unknown-element".</t>
      <t>Configuration data has the same immutability if it appears in different datastores.
   The immutability of configuration data is protocol and
   user independent.</t>
    </section>
    <section anchor="immutable-metadata-annotation">
      <name>"Immutable" Metadata Annotation</name>
      <section anchor="immutable-def">
        <name>Definition</name>
        <t>The immutable flag which is defined as the metadata annotation takes a boolean
   value, and it is returned as requested by the client using a "with-immutability"
   parameter (<xref target="with-immutability"/>). If the "immutable" metadata annotation for
   a configuration node is not specified, the default "immutable" value is the
   same as the value of its parent node in the data tree (<xref target="interior"/>).
   The immutable metadata annotation value for a top-level instance
   node is "false" if not specified.</t>
        <t>A node that is annotated as immutable cannot be changed via configuring
   a different value in read-write configuration datastores (e.g., &lt;running&gt;),
   nor is there any way to delete the node from the intended datastore, which is the merged result of &lt;running&gt; and &lt;system&gt; as defined in <xref section="4" sectionFormat="of" target="I-D.ietf-netmod-system-config"/>. The node <bcp14>MAY</bcp14> be explicitly configured by a client in &lt;running&gt; with the
   same value and that configuration in &lt;running&gt; may subsequently be removed,
   but neither of these edits will change the configuration in &lt;intended&gt; (if implemented) on the device.</t>
        <t>Note that "immutable" metadata annotations are used to annotate data node
   instances.  A list may have multiple instances in the data tree,
   servers may annotate some of the instances as immutable, while others as
   mutable.</t>
        <t>Servers <bcp14>MUST</bcp14> ignore any immutable annotations sent from the client.</t>
      </section>
      <section anchor="with-immutability">
        <name>"with-immutability" Parameter</name>
        <t>This section specifies the NETCONF <xref target="RFC6241"/> <xref target="RFC8526"/> and RESTCONF <xref target="RFC8040"/>
   protocol extensions to support the "with-immutability" parameter.
   The "immutable" metadata annotations are not returned in a response unless
   explicitly requested by the client using this parameter.</t>
        <section anchor="NETCONF-ext">
          <name>NETCONF Extensions to Support "with-immutability"</name>
          <t>This document updates <xref target="RFC8526"/> to augment the &lt;get-data&gt;
   operation with an additional parameter named "with-immutability" when interacting with read-only datastores.
   If present, this parameter requests that the server includes
   the "immutable" metadata annotations in its response.</t>
          <t><xref target="tree"/> provides the tree structure <xref target="RFC8340"/> of augmentations to NETCONF
   operations, as defined in the "ietf-immutable-annotation" module (<xref target="module"/>).</t>
          <figure anchor="tree">
            <name>Augmentations to NETCONF Operations</name>
            <artwork><![CDATA[
module: ietf-immutable-annotation
  augment /ncds:get-data/ncds:input:
    +---w with-immutability?   empty
]]></artwork>
          </figure>
          <t>To discover if the "with-immutability" parameter is supported by the server,
a NETCONF client can query if the server implements "ietf-immutable-annotation" module by reading the YANG library information from the operational state datastore, as per <xref target="RFC8526"/>.</t>
          <t>Refer to <xref target="NETCONF-example"/> for an example of NETCONF operation with "with-immutability" input parameter.</t>
        </section>
        <section anchor="RESTCONF-ext">
          <name>RESTCONF Extensions to Support "with-immutability"</name>
          <t>This document extends Sections <xref target="RFC8040" section="4.8" sectionFormat="bare"/> and <xref target="RFC8040" section="9.1.1" sectionFormat="bare"/> of <xref target="RFC8040"/> to add a query
   parameter named "with-immutability" to the GET operation. If present, this parameter
   requests that the server includes the "immutable" metadata annotations in its
   response. This parameter is only allowed with no values carried when interacting with read-only datastores.
   If it has any unexpected value, then a "400 Bad Request" status-line is returned.
   RESTCONF protocol operations for the datastore resources are defined in <xref target="RFC8527"/>.</t>
          <t>To enable a RESTCONF client to discover if the "with-immutability" query parameter
   is supported by the server, the following capability URI is defined:</t>
          <artwork><![CDATA[
    urn:ietf:params:restconf:capability:with-immutability:1.0
]]></artwork>
          <t>Refer to <xref target="RESTCONF-example"/> for an example of RESTCONF operation with "with-immutability" query parameter.</t>
        </section>
      </section>
    </section>
    <section anchor="use-of-immutable-flag-for-different-statements">
      <name>Use of Immutable Flag for Different Statements</name>
      <t>This section defines what the immutable flag means to the client for
   each instance of YANG data node statement.</t>
      <section anchor="the-leaf-statement">
        <name>The "leaf" Statement</name>
        <t>When a leaf node instance is immutable, it cannot be configured with a
   different value in read-write configuration datastores (e.g., &lt;running&gt;) or
   removed from &lt;intended&gt; (if implemented). Though it can be created/deleted
   in read-write configuration datastores (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
      </section>
      <section anchor="the-leaf-list-statement">
        <name>The "leaf-list" Statement</name>
        <t>When a leaf-list entry is immutable, it cannot be configured with a
  different value in read-write configuration datastore (e.g., &lt;running&gt;) or
  removed from &lt;intended&gt; (if implemented). Though it can be created/deleted
  in read-write configuration datastores (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
        <t>The immutable annotation attached to the individual leaf-list entry
   provides immutability with respect to the entry itself. As per the restrictions in <xref target="RFC7952"/>,
   annotations cannot be attached to an entire leaf-list instance and only
   to individual leaf-list entries, which implies a leaf-list as a whole
   can only inherit immutability from a parent node (e.g., container).</t>
        <t>If a leaf-list as a whole is immutable, any leaf-list entries cannot be added,
   modified, or reordered (if it is ordered-by user).</t>
        <t>Refer to <xref target="imm-leaf-list"/> for an example of immutability of leaf-lists.</t>
      </section>
      <section anchor="the-container-statement">
        <name>The "container" Statement</name>
        <t>When a container node instance is immutable, it cannot be removed from &lt;intended&gt; (if implemented).
   Though it can be created/deleted in read-write configuration datastores
   (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
        <t>Descendant nodes of the container recursively inherit the immutability of the container, unless
   the immutability is overridden by an "immutable" annotation on a descendant node.</t>
        <t>By default, as with all interior nodes, immutability is recursively
   applied to descendants (<xref target="interior"/>).</t>
      </section>
      <section anchor="the-list-statement">
        <name>The "list" Statement</name>
        <t>When a list entry is immutable, it cannot be removed from &lt;intended&gt; (if implemented).
  Though it can be created/deleted in read-write configuration datastores
  (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
        <t>Descendant nodes of the list entry recursively inherit the immutability of the list entry, unless
  the immutability is overridden by an "immutable" annotation on a descendant node.</t>
        <t>By default, as with all interior nodes, immutability is recursively
   applied to descendants (<xref target="interior"/>).</t>
        <t>The immutable annotation attached to the individual list entry provides
   immutability with respect to the entry itself. As per the restrictions in <xref target="RFC7952"/>,
   annotations cannot be attached to an entire list instance and only
   to individual list entries, which implies a list as a whole
   can only inherit immutability from a parent node (e.g., container).</t>
        <t>If a list as a whole is immutable, any list entries cannot be added, removed, or reordered (if it is ordered-by user).
   Each list entry inherits the immutability of the list by default, unless the immutability is
   overridden by an "immutable" annotation on a list entry.</t>
        <t>Refer to <xref target="imm-list"/> for an example of immutability of lists.</t>
      </section>
      <section anchor="the-anydata-statement">
        <name>The "anydata" Statement</name>
        <t>When an "anydata" node instance is immutable, it cannot be removed from &lt;intended&gt; (if implemented).
   Though it can be created/deleted in read-write configuration datastores
   (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
        <t>Additionally, as with all interior nodes, immutability is recursively applied to
   descendants (<xref target="interior"/>).</t>
      </section>
      <section anchor="the-anyxml-statement">
        <name>The "anyxml" Statement</name>
        <t>When an "anyxml" node instance is immutable, it cannot be removed from &lt;intended&gt; (if implemented).
   Though it can be created/deleted in read-write configuration datastores
   (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
        <t>Additionally, as with all interior nodes, immutability is recursively applied to
   descendants (<xref target="interior"/>).</t>
      </section>
    </section>
    <section anchor="interior">
      <name>Immutability of Interior Nodes</name>
      <t>Immutability is a property of a configuration data node instance, conveyed as metadata <xref target="RFC7952"/>. It is
   recursively applied to descendants, which may reset the immutability
   state as needed, thereby affecting their descendants.  There is no limit
   to the number of times the immutability state may change in a data tree.</t>
      <t>If the "immutable" metadata annotation for a returned child node is omitted,
   it has the same immutability as its parent node. The immutability of top
   hierarchy of returned nodes is false by default. Servers may suppress the
   annotation if it is inherited from its parent node or uses the default value
   as the top-level node, but are not precluded from returning the annotation
   on every single element.</t>
      <t>Refer to <xref target="inherit"/> for an example of how immutability is recursively
   inherited or explicitly reset by descendants.</t>
    </section>
    <section anchor="system-interact">
      <name>System Configuration Datastore Interactions</name>
      <t>Immutable configuration can only be created, updated and deleted by the server,
   and it is present in &lt;system&gt;, if implemented. That said, the existence of
   immutable configuration is independent of whether &lt;system&gt; is implemented or
   not. Not all system configuration data is immutable. Immutable configuration
   does not appear in &lt;running&gt; unless it is explicitly configured.</t>
      <t>As specified in <xref target="immutable-def"/>, a client <bcp14>MAY</bcp14> create/delete immutable nodes
   with same values as defined by server in read-write configuration datastore (e.g.,
   &lt;candidate&gt;, &lt;running&gt;), which merely makes immutable nodes
   visible/invisible in the datastore.</t>
    </section>
    <section anchor="nacm-interactions">
      <name>NACM Interactions</name>
      <t>The server rejects an operation request due to immutability when it
   tries to perform the operation on the request data. Any immutability checking
   <bcp14>MUST</bcp14> be performed after
   access control decisions, if the Network Configuration Access
   Control Model (NACM) <xref target="RFC8341"/> is implemented on a server. For
   example, if an operation requests to override an immutable
   configuration node, but the server checks the user is not authorized
   to perform the requested access operation on the request data, the
   request is rejected with an "access-denied" error.</t>
    </section>
    <section anchor="module">
      <name>YANG Module</name>
      <t>This module imports definitions from <xref target="RFC7952"/>, <xref target="RFC8342"/>, <xref target="RFC8526"/>, and <xref target="I-D.ietf-netmod-system-config"/>.</t>
      <sourcecode markers="true" name="ietf-immutable-annotation@2026-05-14.yang"><![CDATA[
module ietf-immutable-annotation {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-immutable-annotation";
  prefix imma;

  import ietf-yang-metadata {
    prefix md;
    reference
      "RFC 7952: Defining and Using Metadata with YANG";
  }
  import ietf-netconf-nmda {
    prefix ncds;
    reference
      "RFC 8526: NETCONF Extensions to Support the Network
       Management Datastore Architecture";
  }
  import ietf-system-datastore {
    prefix sysds;
    reference
      "RFC YYYY: System-defined Configuration";
  }
  import ietf-datastores {
    prefix ds;
    reference
      "RFC 8342: Network Management Datastore Architecture
                 (NMDA)";
  }

  organization
    "IETF Network Modeling (NETMOD) Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/netmod/>
     WG List: <mailto:netmod@ietf.org>
     Author: Qiufang Ma
             <mailto:maqiufang1@huawei.com>
     Author: Qin Wu
             <mailto:bill.wu@huawei.com>
     Author: Balazs Lengyel
             <mailto:balazs.lengyel@ericsson.com>
     Author: Hongwei Li
             <mailto:flycoolman@gmail.com>";
  description
    "This module defines a metadata annotation called 'immutable'
     to allow the server to formally document existing behavior on
     the mutability of some system configuration. Clients may use
     'immutable' metadata annotation provided by the server to know
     beforehand why certain otherwise valid configuration requests
     will cause the server to return an error.

     Copyright (c) 2026 IETF Trust and the persons identified
     as authors of the code. All rights reserved.

     Redistribution and use in source and binary forms, with
     or without modification, is permitted pursuant to, and
     subject to the license terms contained in, the Revised
     BSD License set forth in Section 4.c of the IETF Trust's
     Legal Provisions Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC
     itself for full legal notices.";

  revision 2026-05-14 {
    description
      "Initial revision.";
    // RFC Ed.: replace XXXX and remove this comment
    reference
      "RFC XXXX: YANG Metadata Annotation for Immutable Flag";
  }
  md:annotation immutable {
    type boolean;
    description
      "The 'immutable' metadata annotation indicates the
       immutability of an instantiated data node. It takes as a
       value 'true' or 'false'. An immutable node cannot be changed
       via configuring a different value in read-write configuration
       datastores (e.g., <running>), though it can be created/deleted
       in read-write configuration datastores. If not specified for
       a given configuration data node, the immutability is the
       same as the value of its parent node in the data tree. The
       default value of 'immutable' annotation for a top-level
       instance node is false if not specified.";
  }

  augment "/ncds:get-data/ncds:input" {
    description
      "Allows the server to include 'immutable' metadata
       annotations in its response to get-data operation.";
    leaf with-immutability {
      when
        "derived-from-or-self(../ncds:datastore,'sysds:system') "
      + "or derived-from-or-self(../ncds:datastore,'ds:intended') "
      + "or derived-from-or-self(../ncds:datastore,'ds:operational')";
      type empty;
      description
        "If this parameter is present, the server returns the
         'immutable' annotation for configuration that it considers
         immutable.";
    }
  }
}
]]></sourcecode>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section is modeled after the template described in <xref section="3.7" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>.</t>
      <t>The "ietf-immutable-annotation" YANG module defines a data model that is
   designed to be accessed via YANG-based management protocols, such
   as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>. These protocols have to
   use a secure transport layer (e.g., SSH <xref target="RFC4252"/>, TLS <xref target="RFC8446"/>, and
   QUIC <xref target="RFC9000"/>) and have to use mutual authentication.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
   provides the means to restrict access for particular NETCONF or
   RESTCONF users to a preconfigured subset of all available NETCONF or
   RESTCONF protocol operations and content.</t>
      <t>The YANG module specified in this document defines a metadata annotation,
   it also extends the RPC operations of the NETCONF protocol in <xref target="RFC6241"/>
   and <xref target="RFC8526"/>.</t>
      <t>The immutable metadata annotation exposes the immutability of configuration data,
   which may provide hints for attackers to find vulnerabilities in the network,
   e.g., to leverage the immutability of some configuration to better craft an attack.
   Since immutable annotations are attached to the instances of configuration data nodes,
   it is only accessible to clients that have the permissions to read the annotated configuration nodes.</t>
      <t>The security considerations for the NETCONF protocol operations (see
   <xref section="9" sectionFormat="of" target="RFC6241"/> and <xref section="6" sectionFormat="of" target="RFC8526"/>) also apply to
   the operations extended in this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="the-ietf-xml-registry">
        <name>The "IETF XML" Registry</name>
        <t>This document registers one XML namespace URN in the 'IETF XML registry',
   following the format defined in <xref target="RFC3688"/>.</t>
        <artwork><![CDATA[
URI: urn:ietf:params:xml:ns:yang:ietf-immutable-annotation
Registrant Contact: The IESG.
XML: N/A, the requested URIs are XML namespaces.
]]></artwork>
      </section>
      <section anchor="the-yang-module-names-registry">
        <name>The "YANG Module Names" Registry</name>
        <t>This document registers one module name in the 'YANG Module Names'
registry, defined in <xref target="RFC6020"/>.</t>
        <artwork><![CDATA[
name: ietf-immutable-annotation
prefix: imma
namespace: urn:ietf:params:xml:ns:yang:ietf-immutable-annotation
RFC: XXXX
]]></artwork>
      </section>
      <section anchor="restconf-capability-urn-registry">
        <name>RESTCONF Capability URN Registry</name>
        <t>This document defines the following capability identifier URNs in the
"RESTCONF Capability URNs" registry defined in <xref target="RFC8040"/>:</t>
        <artwork><![CDATA[
Index
Capability Identifier
---------------------

:with-immutability
urn:ietf:params:restconf:capability:with-immutability:1.0
]]></artwork>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7952">
          <front>
            <title>Defining and Using Metadata with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines a YANG extension that allows for defining metadata annotations in YANG modules. The document also specifies XML and JSON encoding of annotations and other rules for annotating instances of YANG data nodes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7952"/>
          <seriesInfo name="DOI" value="10.17487/RFC7952"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC8526">
          <front>
            <title>NETCONF Extensions to Support the Network Management Datastore Architecture</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document extends the Network Configuration Protocol (NETCONF) defined in RFC 6241 in order to support the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
              <t>This document updates RFCs 6241 and 7950. The update to RFC 6241 adds new and operations and augments existing,, and operations. The update to RFC 7950 requires the usage of the YANG library (described in RFC 8525) by NETCONF servers implementing the NMDA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8526"/>
          <seriesInfo name="DOI" value="10.17487/RFC8526"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-system-config">
          <front>
            <title>System-defined Configuration</title>
            <author fullname="Qiufang Ma" initials="Q." surname="Ma">
              <organization>Huawei</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Chong Feng" initials="C." surname="Feng">
         </author>
            <date day="28" month="January" year="2026"/>
            <abstract>
              <t>   The Network Management Datastore Architecture (NMDA) in RFC 8342
   defines several configuration datastores holding configuration.  The
   contents of these configuration datastores are controlled by clients.
   This document introduces the concept of system configuration
   datastore holding configuration controlled by the system on which a
   server is running.  The system configuration can be referenced (e.g.,
   leafref) by configuration explicitly created by clients.

   This document updates RFC 8342.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-system-config-20"/>
        </reference>
        <reference anchor="RFC8527">
          <front>
            <title>RESTCONF Extensions to Support the Network Management Datastore Architecture</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document extends the RESTCONF protocol defined in RFC 8040 in order to support the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
              <t>This document updates RFC 8040 by introducing new datastore resources, adding a new query parameter, and requiring the usage of the YANG library (described in RFC 8525) by RESTCONF servers implementing the NMDA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8527"/>
          <seriesInfo name="DOI" value="10.17487/RFC8527"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="TR-531" target="https://wiki.opennetworking.org/download/attachments/376340494/Draft_TR-531_UML-YANG_Mapping_Gdls_v1.1.03.docx?version=5&amp;modificationDate=1675432243513&amp;api=v2">
          <front>
            <title>UML to YANG Mapping Guidelines</title>
            <author>
              <organization>ONF</organization>
            </author>
            <date year="2023" month="February"/>
          </front>
        </reference>
        <reference anchor="TS28.623" target="https://www.3gpp.org/ftp/Specs/archive/28_series/28.623/28623-i02.zip">
          <front>
            <title>Telecommunication management; Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions</title>
            <author>
              <organization>3GPP</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="TS32.156" target="https://www.3gpp.org/ftp/Specs/archive/32_series/32.156/32156-h10.zip">
          <front>
            <title>Telecommunication management; Fixed Mobile Convergence (FMC) Model repertoire</title>
            <author>
              <organization>3GPP</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="5" month="June" year="2025"/>
            <abstract>
              <t>   This document provides guidelines for authors and reviewers of
   specifications containing YANG data models, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF Protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-28"/>
        </reference>
        <reference anchor="RFC4252">
          <front>
            <title>The Secure Shell (SSH) Authentication Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4252"/>
          <seriesInfo name="DOI" value="10.17487/RFC4252"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC8343">
          <front>
            <title>A YANG Data Model for Interface Management</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model for the management of network interfaces. It is expected that interface-type-specific data models augment the generic interfaces data model defined in this document. The data model includes definitions for configuration and system state (status information and counters for the collection of statistics).</t>
              <t>The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
              <t>This document obsoletes RFC 7223.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8343"/>
          <seriesInfo name="DOI" value="10.17487/RFC8343"/>
        </reference>
        <reference anchor="RFC8530">
          <front>
            <title>YANG Model for Logical Network Elements</title>
            <author fullname="L. Berger" initials="L." surname="Berger"/>
            <author fullname="C. Hopps" initials="C." surname="Hopps"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="D. Bogdanovic" initials="D." surname="Bogdanovic"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document defines a logical network element (LNE) YANG module that is compliant with the Network Management Datastore Architecture (NMDA). This module can be used to manage the logical resource partitioning that may be present on a network device. Examples of common industry terms for logical resource partitioning are logical systems or logical routers. The YANG model in this document conforms with NMDA as defined in RFC 8342.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8530"/>
          <seriesInfo name="DOI" value="10.17487/RFC8530"/>
        </reference>
      </references>
    </references>
    <?line 614?>

<section anchor="use-cases">
      <name>Detailed Use Cases</name>
      <section anchor="uc1-modeling-of-server-capabilities">
        <name>UC1 - Modeling of server capabilities</name>
        <t>System capabilities might be represented as immutable configuration.
   Configurable data nodes might need constraints specified as
   "when", "must" or "path" statements to ensure that configuration is set
   according to the system's capabilities. For example,</t>
        <ul spacing="normal">
          <li>
            <t>A timer can support the values 1,5,8 seconds. This is defined in the
   leaf-list 'supported-timer-values'.</t>
          </li>
          <li>
            <t>When the configurable 'interface-timer' leaf is set, it should be ensured
   that one of the supported values is used.  The natural solution would be to
   make the 'interface-timer' a leaf-ref pointing at the 'supported-timer-values'.</t>
          </li>
        </ul>
        <t>However, this is not possible as 'supported-timer-values' must be
   read-only thus "config false" while 'interface-timer' must be writable
   thus "config true".  According to the rules of YANG it is not allowed
   to put a constraint between "config true" and "config false" data nodes.</t>
        <t>The solution is that the supported-timer-values data node in the YANG
   Model shall be defined as "config true" and shall also be marked with
   the "immutable" annotation making it unchangeable. After this the
   'interface-timer' shall be defined as a leaf-ref pointing at the
   'supported-timer-values'.</t>
      </section>
      <section anchor="uc2-hardware-based-auto-configuration-interface-example">
        <name>UC2 - Hardware based auto-configuration - Interface Example</name>
        <t><xref target="RFC8343"/> defines a YANG data model for the management of network
   interfaces.  When a system-controlled interface is physically present,
   the system creates an interface entry with valid name and type
   values in &lt;system&gt; (if exists, see <xref target="I-D.ietf-netmod-system-config"/>).</t>
        <t>The system-generated type value is dependent on and represents the hardware
   present, and as a consequence cannot be changed by the client.  If a
   client tries to set the type of an interface to a value that can
   never be used by the system, the request will be rejected by the
   server.  The data is modeled as "config true" and thus should be annotated
   as immutable.</t>
        <t>Seemingly an alternative would be to model the list and these leafs
   as "config false", but that does not work because:</t>
        <ul spacing="normal">
          <li>
            <t>The list cannot be marked as "config false", because it needs to contain
  configurable child nodes, e.g., IP address or enabled;</t>
          </li>
          <li>
            <t>The key leaf (name) cannot be marked as "config false" as the list
  itself is "config true";</t>
          </li>
          <li>
            <t>The type cannot be marked "config false", because we <bcp14>MAY</bcp14> need to
  reference the type to make different configuration nodes
  conditionally available.</t>
          </li>
        </ul>
      </section>
      <section anchor="uc3-predefined-administrator-roles">
        <name>UC3 - Predefined Administrator Roles</name>
        <t>User and group management is fundamental for setting up access
   control rules (see <xref section="2.5" sectionFormat="of" target="RFC8341"/>).</t>
        <t>A device may provide a predefined user account (e.g., a system
   administrator that is always available and has full privileges) for
   initial system set up and management of other users/groups.  It is
   possible that a new user/group can be defined granted particular privileges,
   but the predefined administrator account and its granted access are immutable.</t>
      </section>
      <section anchor="uc4-declaring-immutable-system-configuration-from-the-perspective-of-a-logical-network-element-lne">
        <name>UC4 - Declaring immutable system configuration from the perspective of a logical network element (LNE)</name>
        <t>A logical network element (LNE), as described in <xref target="RFC8530"/>, is an independently managed virtual
   network device made up of resources allocated to it from its host or
   parent network device.  The host device may allocate some
   resources to an LNE, which from an LNE's perspective is provided by
   the system and may not be modifiable.</t>
        <t>For example, a host may allocate an interface to an LNE with a valid
   MTU value as its management interface, so that the allocated
   interface should then be accessible as the LNE-specific instance of
   the interface model.  The assigned MTU value is system-created and
   immutable from the context of the LNE.</t>
      </section>
    </section>
    <section anchor="examples-of-servers-immutable-behavior">
      <name>Examples of Server's Immutable Behavior</name>
      <t>This section provides some examples to illustrate the server's behavior with
  immutable flag. These examples are not intended as recommendations for
  real-world deployments.</t>
      <t>The following fictional module is used throughout this section:</t>
      <artwork><![CDATA[
module example-user-group {
  yang-version 1.1;
  namespace "urn:example:user-group";
  prefix ex-urp;

  import iana-crypt-hash {
    prefix ianach;
  }
 
  organization
    "Example, Inc.";

  contact
    "Support at example.com";

  description
    "An example module for basic user and group management.";

  revision "2026-03-31" {
    description
      "Initial version.";
    reference
      "RFC XXXX: YANG Metadata Annotation for Immutable Flag";
  }

  container user-groups {
    description
      "A container for user and group management";
    list group {
      key "name";
      description
        "The list of access user-groups";
      leaf name {
        type string;
        description
          "Unique name identifier for the user-group";
      }
      leaf description {
        type string;
        description
          "Human-readable description of the group";
      }
      leaf access-level {
        type enumeration {
          enum admin;
          enum power;
          enum normal;
          enum guest;
        }
        description
          "Permission level assigned to the group";
      }
      list user {
        key "name";
        description
          "List of users belonging to the group";
        leaf name {
          type string;
          description
            "Unique name identifier for the user";
        }
        leaf password {
          type ianach:crypt-hash;
          description
            "Cryptographically hashed user password";
        }
        leaf full-name {
          type string;
          description
            "Human-readable full name of the user";
        }
      }
      leaf-list tag {
        type string;
        ordered-by user;
        description
          "User-ordered tags for categorizing the user-group";
      }
    }
  }
}
]]></artwork>
      <section anchor="NETCONF-example">
        <name>NETCONF Example to Retrieve Immutable Configuration</name>
        <t><xref target="NETCONF-with-immutability"/> illustrates a NETCONF request example to retrieve "user-groups"
   configuration in &lt;system&gt; with "with-immutability" parameter and the response a server might return. For illustrative clarity, some annotations that could otherwise be omitted are shown explicitly in the response.</t>
        <figure anchor="NETCONF-with-immutability">
          <name>A NETCONF Example to Retrieve Immutable Configuration</name>
          <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

<rpc message-id="101"
     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <get-data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-nmda"
            xmlns:sysds="urn:ietf:params:xml:ns:yang:ietf-system-\
                                                          datastore">
    <datastore>sysds:system</datastore>
    <subtree-filter>
      <user-groups xmlns="urn:example:user-group"/>
    </subtree-filter>
    <with-immutability/>
  </get-data>
</rpc>

<rpc-reply message-id="101"
       xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-nmda">
    <user-groups xmlns="urn:example:user-group"
      xmlns:imma="urn:ietf:params:xml:ns:yang:ietf-immutable-\
                                                          annotation"
      imma:immutable="false">
      <group imma:immutable="true">
        <name>administrator</name>
        <description imma:immutable="false">administrator group</\
                                                         description>
        <access-level>admin</access-level>
        <user>
          <name>ex-username-1</name>
          <password>$5$rounds=10000$mysalt123456789$l4BjA1p/8q.qCYJ.\
                               2pLqjR5mCJf2bP7cLpYWmnC7Hq8</password>
        </user>
        <user imma:immutable="false">
          <name>ex-username-2</name>
          <password>$1$/h1234q$abcdef1234567890abcdef</password>
        </user>
        <tag>system</tag>
        <tag>non-editable</tag>
      </group>
      <group imma:immutable="false">
        <name>power-users</name>
        <description>Power user group</description>
        <access-level>power</access-level>
        <user>
          <name>ex-username-3</name>
          <password>$1$/h4567q$abcdef2345678901abcdef</password>
        </user>
        <tag>system</tag>
        <tag>editable</tag>
      </group>
    </user-groups>
  </data>
</rpc-reply>
]]></artwork>
        </figure>
      </section>
      <section anchor="RESTCONF-example">
        <name>RESTCONF Example to Retrieve Immutable Configuration</name>
        <t><xref target="RESTCONF-with-immutability"/> illustrates a RESTCONF request example to retrieve "user-groups"
  configuration in &lt;system&gt; with "with-immutability" query parameter and the response a server might return. For illustrative clarity, some annotations that could otherwise be omitted are shown explicitly in the response.</t>
        <figure anchor="RESTCONF-with-immutability">
          <name>A RESTCONF Example to Retrieve Immutable Configuration</name>
          <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

GET /restconf/ds/ietf-system-datastore:system/example-user-group:\
                               user-groups?with-immutability HTTP/1.1
Host: example.com
Accept: application/yang-data+json


HTTP/1.1 200 OK
Date: Fri, 9 Jan 2026 15:56:30 GMT
Server: example-server
Content-Type: application/yang-data+json
Cache-Control: no-cache
ETag: "a74eefc993a2b"
Last-Modified: Mon, 5 Jan 2026 14:02:14 GMT

{
  "example-user-group:user-groups": {
    "@": {
      "ietf-immutable-annotation:immutable": false
    },
    "group": [
      {
        "@": {
          "ietf-immutable-annotation:immutable": true
        },
        "name": "administrator",
        "description": "administrator group",
        "@description": {
          "ietf-immutable-annotation:immutable": false
        },
        "access-level": "admin",
        "user": [
          {
            "name": "ex-username-1",
            "password": "$5$rounds=10000$mysalt123456789$l4BjA1p/8q.\
                                    qCYJ.2pLqjR5mCJf2bP7cLpYWmnC7Hq8"
          },
          {
            "@": {
              "ietf-immutable-annotation:immutable": false
            },
            "name": "ex-username-2",
            "password": "$1$/h1234q$abcdef1234567890abcdef"
          }
        ],
        "tag": ["system", "non-editable"]
      },
      {
        "@": {
          "ietf-immutable-annotation:immutable": false
        },
        "name": "power-users",
        "description": "Power user group",
        "access-level": "power",
        "user": [
          {
            "name": "ex-username-3",
            "password": "$1$/h4567q$abcdef2345678901abcdef"
          }
        ],
        "tag": ["system", "editable"]
      }
    ]
  }
}
]]></artwork>
        </figure>
      </section>
      <section anchor="inherit">
        <name>The Inheritance of Immutability</name>
        <t>In the example in <xref target="NETCONF-with-immutability"/> and <xref target="RESTCONF-with-immutability"/>, there are two "group" list entries inside "user-groups"
container node. The "immutable" metadata attribute for "user-groups" container
instance is "false", which is also its default value as the top-level element,
and thus can be omitted. The "administrator" list entry is immutable
with the immutability of its descendant nodes "description" and "user" list entry of "ex-username-2" being explicitly toggled.
Other descendant nodes inside "administrator" list entry inherit the immutability of the list entry thus are also immutable.</t>
        <t>The "immutable" metadata attribute
for "power-users" list entry is "false", which is also the same
value as its parent node (i.e., the "user-groups" container), and thus can be omitted.
Other descendant nodes inside "power-users" group inherit the immutability of the list entry thus are also mutable.</t>
      </section>
      <section anchor="imm-list">
        <name>Immutability of the list</name>
        <t>In the example in <xref target="NETCONF-with-immutability"/> and <xref target="RESTCONF-with-immutability"/>, the "group" list as a whole inherits immutability from the
 container "user-groups", which is mutable. One of the list entry named "administrator" is immutable,
 and the other entry named "power-user" is mutable. The client is able to copy the entire "user-groups"
 container in &lt;running&gt;, add new "group" entries, modify the values of descendant nodes of "power-users" list entry,
 but the values of descendant nodes of "administrator" list entry cannot be overridden with different values except
 for the "description" and "ex-username-2" user list entry nodes, which is explicitly reset to be mutable.
 The client may also subsequently delete any copied "group" entries or the entire
 "user-groups" container, which will not prevent the deleted data being present in &lt;intended&gt; (if implemented) assuming it
 is still contained in &lt;system&gt;.</t>
        <t>The "user" list inside the "administrator" group list entry as a whole inherits immutability from the
 list entry, which is immutable. Thus the client cannot add new user entries inside "administrator" group.
 As one of the user entry named "ex-username-1" is immutable through inheritance,
 and the other "ex-username-2" user entry is explicitly set to be mutable. The client cannot
 modify the "password" parameter, or add a "full-name" value for user "ex-username-1".
 but is allowed to update (e.g., modify the "password" value, or add a "full-name" value)
 the list entry for user "ex-username-2". The client may copy or subsequently delete any of the two list entries in &lt;running&gt;,
 but there is no way to delete the nodes from &lt;intended&gt; (if implemented).</t>
      </section>
      <section anchor="imm-leaf-list">
        <name>Immutability of the leaf-list</name>
        <t>In the example in <xref target="NETCONF-with-immutability"/> and <xref target="RESTCONF-with-immutability"/>, the user-ordered "tag" leaf-list node inside the "administrator" group entry as a whole inherits immutability from the list entry, which is immutable. Thus the client cannot add, modify, or reorder
entries, the client may copy or subsequently delete any of the two leaf-list entries in &lt;running&gt;,
but there is no way to delete the nodes from &lt;intended&gt; if those entries appear in &lt;system&gt;.</t>
        <t>The leaf-list node instance inside the "power-users" group entry as a whole inherits
immutability from the list entry, which is mutable. Thus the client can add or reorder
entries, the client may copy or subsequently delete any of the two leaf-list entries in &lt;running&gt;,
but there is no way to delete the nodes from &lt;intended&gt; if those entries appear in &lt;system&gt;.</t>
      </section>
      <section anchor="error-response-to-clients-overriding-immutable-configuration">
        <name>Error Response to Clients Overriding Immutable Configuration</name>
        <t><xref target="NETCONF-error"/> provides examples of an attempt to override immutable configuration and the error response that the server might return.</t>
        <figure anchor="NETCONF-error">
          <name>An Example to Override Immutable Configuration with Error Response</name>
          <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

<rpc message-id="102"
     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <edit-config>
    <target>
      <running/>
    </target>
    <config>
      <user-groups xmlns="urn:example:user-group">
        <group>
          <name>administrator</name>
          <access-level>guest</access-level>
        </group>
      </user-groups>
    </config>
  </edit-config>
</rpc>

<rpc-reply message-id="102" 
       xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <rpc-error>
    <error-type>application</error-type>
    <error-tag>invalid-value</error-tag>
    <error-severity>error</error-severity>
    <error-path xmlns="urn:example:user-group">
      /user-groups/group[name="administrator"]/access-level
    </error-path>
    <error-message xml:lang="en">
      Invalid access-level value due to the target node is marked \
                                                         as immutable
    </error-message>
  </rpc-error>
</rpc-reply>
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="implementations">
      <name>Existing Implementations</name>
      <t>Note to the RFC Editor: Please remove this section prior to publication.</t>
      <t>There are already a number of full or partial implementations of
   immutability:</t>
      <ul spacing="normal">
        <li>
          <t>3GPP TS 32.156 <xref target="TS32.156"/> and 28.623 <xref target="TS28.623"/>: Requirements
   and a partial solution</t>
        </li>
        <li>
          <t>ITU-T using ONF TR-531 <xref target="TR-531"/> concept on information model level but
   no YANG representation.</t>
        </li>
        <li>
          <t>Ericsson: requirements and solution</t>
        </li>
        <li>
          <t>YumaPro: requirements and solution</t>
        </li>
        <li>
          <t>Nokia: partial requirements and solution</t>
        </li>
        <li>
          <t>Huawei: partial requirements and solution</t>
        </li>
        <li>
          <t>Cisco using the concept at least in some YANG modules</t>
        </li>
        <li>
          <t>Junos OS provides a hidden and immutable configuration group
   called junos-defaults</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Kent Watsen, Jan Lindblad, Jason Sterne, Robert Wilton, Andy Bierman,
   Juergen Schoenwaelder, Reshad Rahman, Anthony Somerset, Lou Berger, Joe Clarke,
   and Scott Mansfield for reviewing, and providing important inputs to this document.</t>
      <t>Thanks to Per Andersson for the YANGDOCTORS review.</t>
      <t>Thanks to Mahesh Jethanandani for the AD review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+19a3PbxpLod/6KWTq1ss7hQ5TkFy0rkSXFVtaSdSS5sqmT
VAoiQRIxCDAAKJlR6f6W+1vuL7v9mhcAUg8nZ2/tXn9IJAgz09PT0+9utNvt
RhEVcdhXzZ/2Tt6p47AIhkERqL0kSYugiNJEjdJMHU2n8yK4jEP1fRyMm43g
8jILr2BUZP4woj8MgiIcp9mir/Ji2JjPYLIw76uXG9sbLfXy2ebzRmOYDpJg
CksOs2BUtKOwGLWTsJimw7aZrY2ztXsbjXx+OY3yHOAoFjMYc3R48X0jmU8v
w6zfwMn7jUGa5GGSz2GZIpuHDQBrqxFkYQDgfZyFGe0iV0EyVMdBEozDaZgU
zcZ1mn0eZ+l8Bq/x8s3G53ABj4f9hmorf2f4JF/kRThVsN4oGs953kYjmBeT
NMMhDQX/RvM45u39I5qPgmQMi9If0mwcJNEfNKqv3s+D6zCiP2Qp4j8cRkWa
0YO8yMKw6KveRk+dp6PiGjaj9q7CZB621E/zyTxQBxG8FA0Ken8QFYDvkyD5
LUrGLfVDBKvmc/5TOoS5N3sbG71NeTBPCjye/UmUMGDhNIjivpoGvzPAve8m
BFxnkE7rdpWoH+erd/Rfs4HLKI471/OV0L8N4uCPXH0Ik/EijGt2cQhA5Tmc
a+3J6JVolk7Ms3wXypj6Jd+nyRjgUR+iOqSdHroTj+LFIE3jaZB8N8YnNGMj
SbMpvH8FtN6IkpHzm1IXZ+1nW70+TaLkKn86/qCKVPGFDmYzQKp6N4+GYRwl
Yc6vGqrlf239Qwm+5seT75syeZCN8VAnRTHL+93udfQ56qSzMIHLg3cJVunA
4O4wvU7iNBh2g6IIBhO8bHl368Xzre2N7Vfb3QO89L8y2L8CpG0E81cB89d3
wzj/9arX6XU2tjrAKL58exVmePvfPPt3uKHRKBoQZAdw89/0nr94tr21ubm9
9ay39e/BLHpzxTSiiDGo78PLbB5kC7W5sblFyDrffNl5vrnlo6t5EcYhIHo6
T2R2uAuaT7xW78IED1id8DbVWZin82wQqmMgzVg9PTk7XldHCbA95gjwwijM
wgTeOE2jpFBPj85O11/DRYjn9PfzEJ6dn6+rYTiKkoi4U/Nhp7L17vR02bFc
X3e2xrMZncWomHXPZ+Eg7wbZYAI00918+WsO2wnzLqMC/gf/bUcbm50/opmL
vVEQ5yFjbWuz03v2/EFY+z76EgK/TeFShmo/TeAYx4STp98f768L7rIQ2HOR
Rln4L9v/1qbeP28K/gf/bU96G0v23263VXAJzCoAZoV/v5hEuQLSnONG+QxD
kC7qOljgraPrGccL+0qQqPALsDu8hpfhJLiK0qyFM0XTWUzoAkxdLhTAhcSu
gMHOsnQ4H+BmWwoQW0xCLY6iGHilSkcqT6chTsJCqQ0jruCGD1UCmM1bap7j
cgEzgamW6oGV6gMAMhziDFaGN2kDIO3U9SQaTHguhczbvNIhHOzHEV5rOPEF
rBR6U9g1cmWggu3hJniLLVgGZ/mcpNeAEcAYYAWk8/VkoQZAEAFgIIXXs+sI
5r4K4mjoC10gnN/nYV4QL7sGtg+7QTDsEriRLCzmWULoz7I068jphSXJrvA4
w3yQRTPkqi1zcITAurMDvJDcgt25w0CaBfSigKDfzzs1dCOakTr7fp+UI1JP
6BfQkTpMdtNoOIyBBJ8gezEUsZIIlx73zc2/wewvXj3bvL2tJVOc1d3tlG4o
nkvsbh5wHBTwOIcnYYKHj4eLg6fzuIiAoEH6w6AgG3qXlvUvUAGGiBCljgrE
Ox5YEE0RoAEobAVRdJrAHLCmO1WumScqo+4BJWnSZsFAB8q3ocGXOADEDGIg
36ECeD0KasEtgzeDIV4lhMJArxGAczC4BLm7F5UDS0FRZMCSIybsG0xvAKYj
PBQChfCJEMeg3MyBTzLuYOeM6UugeNwv4wCX9EkeJ2mB5oGDhCU0+Y0mD0OM
AGLfp9ch3jGcBe+Q7CgnhlGrwjJ8dK4Dohg4WsU4ZQYhl3dAl149jejozCVa
B6jmBcCA9zAJw2GOm4IpHOQTm+FFSUdHRkPqi/qbAioENuBDBIdCQDEDmidD
uE721sa0HzgYGITMApjma5lsFgcgY5rXkzBptlRzOs+LJiGzGYfBKAtHTRyE
3DxC/nUJMh3J2FfpBf92QQJDL4GmRsa8hjBLUg0ZsiYKBA/eKlDKMFqRgxpW
CFPjRIgphzHSubSQ78J6wXBIakEQ+5PB8SBi+aoM6Yj1OSE6gIxCeM60eDRy
2WEQg3jKgSX+Fg4KpEk+zDX4sYCFZwWeWQpvZgDjUtlCZ3IZMrNFMgDRlSXE
RgrQxj/zhaa3XApp4bv5JJ3HQ4/dRLgq2AbD3KEvkn9wXUB1hJNtw1aHdAYo
XuF8JiGxoERdZxFzaCIuOHcYVoRfECi+HIanp4l7Qx4nw81p/78lxF2ujvOw
UH+gRC9jI4U3RMJl4XgeA+aqIg0GAWHnQTSk04UJwi9wARALTPJ6CIlnFsVa
xKA0hufA7/Rv7QIglNuMW25GCYn9NvwXuUU0MiSrCTYXJYIuwAJn8u+rFfej
FDkMTkvcmG4U4D6IkbYW3gHitZ+lBcoWuHtA5YzUPMw1t/q031OsveKEeIS8
zUEw43ON2MLCNzeBGwN1k/XLjBv027RdYTb47pZSp8AriRLhveEUEIFsCixP
MkPNpNtKHRBjpQ2ZLdcy9lGWTonuQM1G9oSKCm1dxekYtHbk12zUhIwC9fTD
yeE6bfXmBrbfpr2DHOPLdBnyTcXrT39BMh8CXYKlCmrKE/VJtBogOq3YkAVR
q/rc3JyHA9YNtjsvCfevwPDrIYRI1jialRXgh/BnmMhhjKAAgmU3CzIwsoEL
KTS2gfKRrNruNQMxAMJfmDO8EeGtOTs8v9gH07YNDOP2th528lUt1dsM8GrL
gxlGuTC7EEfJDOSkgZiEwDKgSc9BVP+8A9ZNG+/9z7sq1d6suj2dHPpbwj0d
kusCafkEqFo9vSDBnIVTYPXErnCn/BKdOr0FwOPK9k99xkEuG460gNfzzDJS
DFM1m1/GYgx2qucu9ztnIT1JY5TqdMFFTKJINFPTS0NmE3ApgBv8QdqIDAiY
JxfRlCjaXVnWTXAv+Xw6havyB44APsTKHsySz8GkiwpW3qyQZqHcQUSwBeJg
gTTGbC4Ui2+bA4AJQzAWr0ndIvnj7JswcQrqB1yaYDaLWeBbpiRbJT8JcZm/
qf+Ef6rd3mX9OM+jMTIFBIU9n0IduAh6U2jM5sbm8/bGs3Zv244cFHM4eiRY
reY6eOJHDqBoaJClnliF/cC6KBoNZKafw4VCF2mumsefzi9QycL/q5OP9PPZ
4T8+HZ0dHuDP5+/3PnwwPzTkjfP3Hz99OLA/2ZH7H4+PD08OeDA8Vd6jRvN4
7ye8zKjMfTy9OPp4svehWcE2HQzTEGknsywsWAXVLIyuy9v90//zvwFVLEA3
e71XcGv5l5e9F9vwC6qQvFqawJnxr4DCRQMOMQwyUlPI8pxFRRDnfCUn6XWi
kAzg1P/2T8TML321czmY9bZ35QFu2HuoceY9JJxVn1QGMxJrHtUsY7DpPS9h
2od37yfvd4135+HOt+hVVO3ey293G0bmWn6Zi8ywBG/dXsy4EOnPN7d7t7da
yFbNk0dPzHaYntgYFfwr2gT2pzZqBgYANizkr+YPQbIgcPQvX6Yx/0zEhmzQ
zs5mVRaGjwb+5ZaLlWAwCPPcCoFHTfvtUfug44ZcRPVklNvF6mMdS1Vnf1FA
xZQn8l0t5Njrqz2Fmleb7hUp5szUXXtFNGGSNPriOvMZBZrsBt+wZ0U3IoP/
KlzAfb+KghVK9BK9mfVTMMtB+QI5ThCioqD2gIcDC2UYaJM/ktHm6Pfas4Ts
PuJNEKvwyFp0/Ag0Wd6+Zg7Iu/KQLDK0lYnZLzPYWc7VntYqfxeh/irKI3wY
Jc554NQ5SDuA+mnUCTst0EB49p93WS28i4JwBN4GMNqHP+8yC/15x1BtEP+8
u05+O+CogOA65cdqdXiMARilcDhPb24qr97erpMRNmGnB4sCpiukoxx5suPb
UyZ6AkgMLtN5IeoAyfYADXk8FTyTMB6xXwNdXUmqwtEI1B9txxm3mJCgwZ/2
PBEKO9oIrx6AODAdfQcNJPh1RP4mJfaPNx2Jn8S9JUQxJTcn/J7PMCLKFEyG
qzGxiNDIGTNP0PuatEXxb4pft0pmuH9aEk7Ev35glIHlx9KQLYFoRJGPwqGi
TokIzc2toeiIHMZFOkhj7SUBjoaSdhjOkJ5ImXqimkf2mtYErEnztYqLunli
w8rAr26X3QvDOIwVxjuvM7yL4DM5DIQ9kLMQccvkzgaxOdPAPW/fmaYt/Jpb
QG4NcxGWUL8hMZd11QE84ghmUMOEDBPR6myL3TjhKJjHhTczMyp23JLfAolC
0MR/S0fE0QBw3B5Pn1i3EIpD3IsWl7iF6nHUbYCnp+sBd2bWjuHCx+bekjEl
e2lS5IacBt62mMT3+D3NPWUFPiULgXWEDuCuj0WIaNyJezhwKF4wI6wUnVNh
DYlrzhp2xsRZs3mC/g7giC3eQSbIBSUWtAvtj2LHHmGRgDd2veazLpMwZMy0
myHwsCgeJRyOs6ZwZs3dmVcy5ZOqoA3cbRx3F9fv0BESdKA0IuLCLygnowKY
sUYEk7/x5MAqLjiaXxnCYpwilOyc9tBZGoyRKDTq8J4luKa1Twm1yMqTMCKb
jpk2cEiM7OcSQKJjruoTvI6VZyAVR67LaF2LhGF4FQ3E68RmNMJ8x7VkO1IH
AjQt+mqqJnGMmuyx9wo3OwmunKiFealy22j32iuJA80qFBAQAWbHB57jlv3R
ZArn4mr1AoHnMjFJIjBTUyFce5PczeZ46oZ4mQrY+VKnBZwa5nfzpMr7rDKq
/RL6ojPlizvEsy+0Ws1OGoq4iSNI/4VcThLbY0EUfoGjz9lNkAKJzWZpxr6H
lZqL4Wr3ogDkNUZckP/bSPF5EoPWj7M5F2q1OCEtyIEEEPzE4OPQ28+57Kdu
LzdPXJfSSl9YyfU1Hxunueu/ouCe1gONA9jxkN3Dm8dqI4mPYEDeeJqnToHt
SBhkBj8DOK0SXkwQmW+qo1ZFySCeD9nleg/ZSncOGYk+s444UPH6AUasLYMO
KxSA7EfCKBKo02znoacTPbOMOpkXcClH4KGOfQ0Or2YgkTlbTcfC10Qf+Twm
ucs/kdRt/C/41+AHfbV0NHpd5Ty7yWCY9/V58m/k1OSEjb+32+1rVTmyb5F0
pzOwlWjBm756QkigPJI3zb0lO1Y2da8Jd4Tc1G3QicfJm+YAWW8GJHkBsjHK
Bymd2ujuW4liUa5wJSmhEZil5TZhuI3dzJEXTDPsP78P1i8XRJ18MUM2Q+Po
MsPEJNceMXzRMZXEPHakOxz8DDki0w1dOThKSjlC5Llu4ADBBLISk0IeIJXp
fZYuYx3qSk5rYSaGbT6Em3hO9xp2Qpx2+OC4AB+Rry0vZx/i3H53eGF331nB
JTgKdgejeAiX4AmFUTAGPPIkJkYxce39ButTnN7aFH44D4zYkEXRPE9MpE5M
lkIs8e2NDfU2AKHI++Wo6Txvk4PPMWhoUkMCRlJa/mSiFwYQ3DJlzbG88/RM
ER4viJKRKsDaTlh3sKvIlSzud+FLwSFSo5bf/JL3yoTyFurT2ZFjEPaFZyKz
A0T08e73aZG8D/srUHHs29H9CmD9XmeDp3BvrHMvll9Zg4h73NnS7ikWpD7l
NI+fyE0LHRgj5lxHyfOqdqU9fdf6DpSs5ymYwbm+XnJaYnSGARok2sMCQBAP
NEquF5wH5kJaEzpkmxYg8bMRneKftGUpc1ayDRz7zdoerHGQT+VPs9tUKiyC
Q2HExFfaC3jn0/l4IlA6+Rxdyd9gpf9+AOUgSA23vLnZ8T0drOPCYzHWNMtg
+e+imnzfJXw76G6bNJTFQ3H9KFQvx/SfjOh/BZ4r7g3Hq8E50mz+sR02jEBZ
xLBdCe9ilLAm6TnThPlTgF/PI0dFfsyO2mOlgT2VnHevJZKbQdLiBA0rsezJ
unAiY0qKCE7Jgmhuog6Yke6cLt9PhL5vcVVM2UvuklpA2TiTNJYMjITlYpSA
IYreNXf/RAqB53IS8jFhnHWTE1W/SImoUUxWwHWxMRyW0q9aijyvaTYMkfqf
sm8UxTk/aV9SoqwGxOH+sGzbrFXL+sueU/N27lxis9UlTNP8/f6c8wFXjWl8
9W27513Dqb72uh2EOZgIw0DIIXciRYKELBzMszy6Ch2iqkvQ8ka1HGO88jKe
NefPDQHhl5SRVJ8WjR6jgMISDowM+NuFdruSps9MNI796CIGjUorO9uhO0xx
p6EOnvEyecXvaiXAcuZ/L77/MEr58wjlK+lkGZk4m34IndhhDqH8t6CTx0ow
i0ctuSox3P9C4XVfubVaZP3V0upuQbVKRhkf+P3lE6x8iAq7e/V5I/lq0r90
iJLpv476yZP1kAtg4SC0lEXnvaVmSWBKJke9uEycv/8PkJd7xgUbLx7NUBxu
QibWfQQPZ9CsOgP68/8/gr/gCLQrwNyQI73QCQnDmydmALOj0roBMnWs31tw
SnFNQN87t5ZNyIHtGQ+Zy8M7XBbEBnXdrtwtaV6MMS303VUFM0W+yIGKORyU
2tni4CpyHUroEK9slLkzUwYppXJS6kccTaNC5AKFYDkHE1lfNA1rmByviXBJ
VJEiOiYi59Vn3CNuT9EgiQ0NJlE8NJHuFADThSDi4atP1cCgnh+V79QmZRQp
lUBOIiDObDChZ2Zt1pFgWYqvO+y+Y8KAHIWdoS/V5Ag4mzFSRwSKvqnljAHY
s0ll02kIJnVFNmlzAHAI5+roUBqsT45ZmZ53oB3wfuYXQIWZQwtdcSb5MFUz
jSGuFTWT9PouTctuGEZ7gTwkXEKlJT+8nOec0eUn5BwY/8iRdv4St3lS5iru
hY3LjMvoJ04pkcTyuAJCc79SfEQpJ7lF3OUcHtcpBC3lc1mvSsSU0EjBlJ8e
WAq6527SD+L4ehJS7N7JVyA5YGs32BEHZ9vB+DuxzuXVbq4M6SzDFPFQqYZR
NuvXTTsQPcdUwFQzHoS9V9L1S/KhZdMiMH+Cz0XkULkSjbLnUDzYLIncjQia
MqQHOdtw1p93gDiGEZICnqaXoKLZLTBG2OCUEqBqAJOswm6UOPmFXiyA/dEn
e/vHHhkbM0NgN7VqiePzllCMGs4py9s3JSgqwpw6k7RLGIgRNj+uplM2zGQA
GdgZNm2B5wOTYfBZUn0ov+Ey1PPhRRlJYEHSclF7z9IYqx6jnIO0EqDQjQP8
u7xHwyTpjkbqfgKAmHUvAbhC6Ykpr+qo78XHzuyIFq3DWO4V+LnVUmSyVJLC
mKE6sS7Chin/yXTSGFfsS21GGeM2TaGcu1x3BC0tMfTDSBcsGn8y6oQ0E1ya
BK5S05R2P5F2FxxzvXkigW4bx5BoLOAxzYrc7b3AQsKzJS363d8o2toSTe7f
7kqIkmDRzv7Hg0P19vDd0cn5rhphOs3yoPF3toqjswDVodnQYC8boW5gh/hq
WxplqF6n97rBpUX5jKphy7Eq0Kn7Sd7HUf3l8WucBLj8KPqCtBJQ+Stjj6Gh
Ra0aR1ExeX86fE2/ZroTBv2mVBNLWBDFfcnPpAr7ofpEaSsmlZPOGo+TYLgt
rQvoRhy3k+mwtCwmJKxYGM+vf0cejHNfZajTM8iRv3vYTqIIKYmjFkqhBstk
PUjhrytB/Qn+9UUHaGu27vGP2kWdiIW33Gq0AJH3DZO6c7caLfbf05Pjg711
Aajh9+qgt5vYtMmuoIsnn8JRHH88WFc/cvcY9Q67MdE85AqR5kDNH9+pH8PL
vtrRLT5wm9iP4zPwP9w3tfq4Hnf5InZ3GUQY9gG0DRiHnXSKtM9//k6PkNf2
uOVIuVuT+adH17ZHqsxheiNVxle7E5UG17Qmqk6yvPFQabZS16HKTHWdhnYJ
907dNOPfZZ+2VHp5TxG1ZvjJGi/O9Q+gJTvypLbMulJirQQITmat1E7XFz6U
25PwDA5UtcDX9ypBODFTnuf46mYlD21XgtrBbJFF40mhng7WqcqPeqCpi2yO
nkFKjuUCX3KKor5sGjeQscQS2omBoPG3h0XZOCtlrSEMQ73gWTik3lyX3HAD
V6By/0RJ3yN8chklmL+EJ4iGODBsHiyF3VhZ4bZrapHJEGZsr6oZmEbzgNI5
WjrTn2oyf3O8wKBKh5gAicVEuXGOovbMtsRZCAqm3ufb8wMgdR6AFhUAVmDO
gTJJzJ2BxoBF35qcyYdwHMTqFAmAJcJZGHMrF4CFXj8QCpUBTzUrKnAaMOkN
GxKo25jZta5RSjdIy2dddsn1SCLeyf4lQwdZMtZ/lhbCtkbZaNDmZmS0FC7R
hWf49vprhQ6ogut2eSw70MlexW5kKqZdAr1HmEzcJIGehbxlt3yURUeZDSAb
R4UpiM2gTpPFSrcrZbKdvq5m5RJWpBR2yfGWsV2U9H6ol0U4qq8e0olQi8Hp
sO86GsxLvBnsHahrNV4v2x7aHncxCYwLDLhMfGJEYdmLQvU76PQCbBW6bQY7
XY4KXTqSKyNoODFiDYu91vAGrZGDZQ1NkpKFVa1LMHP45QkPq03Qk1RTXbQB
iPZfcY+8FULHvZymlHTn1WfodCHiW2ocXZUbs1hEtmrjas6RPKowhXxiBheu
3wlHu6RRcdAZb5RFgldQpp1mlZoUqzbpLNvm0jTb5vKruYfiNS9JFElPrCVq
g+jlacw4hYbCSZaUS09ZWJXkM4GQq/uM5tEcgqYCIqaNllY7zdrImJ52Orw3
m926Rnpxn4X62rqSFm/q76pJ7W3uNwmhix3/XzOHk4a7ti6bFk5C6cz6SfU0
kFWOytnm1mfWco+Jpb5Hu2oVqfkXgquYqDQmB9Gf5XYO694S2G+J0G7FID08
OTjflVzEJyglgW3A8e3LRIHrkvF7P1C7Ku0AYVcs4IO6xHgl9m6HjBe1JUQg
u15ub7y4jHKT+nlHIrsrM60qavtr6bIuiX5w3wSusGS/gRRy4Txtbslimxaa
TFbQaPL5YCLO5tpCEjiJ2tIRYiF5aKfiOh2Ox6AahY6bAfWPyoIkJ9MtDhZY
4McM9/z8vSR3b2+yK+Liw7lO997e1g4InO4fn4725S+vNjZg8XUSuLIgrQY4
xBA2qoCoFzqtOQjVqzxTd7ulcBavtsGkgOo4vXb7IOGifhMN5nGQ2fRzYvcG
j+hW4lppcuDbXEKq65KePbCZKzBXSCIumacuIVn6qRVOB6jQoybPO1ssaQ9V
oxHo2Atw99RksJMadrrvAiC6pwbZwFjqgKCd7K7HqS4Bo043Cb/M0rwuHlVb
bUuA2wiaHKSaUF80EmqYNfFZjgQwADdnHiewId3mSMtP6SFEEzIRwwAUhlkw
DmuhIdOtxMnwkhbIUQbY0oQKgwgACtSeRxT4rS0qw6BPNQlFl7PVVxpzKFWO
ziTdE7GSyxr7EYoNKf0Or0JtZ0k7aiH0YOgGlcKy7UcLdRzXtvDZgcdnTb58
hTwcCsIIM85j+eorXREhTIkJR//1ud+TaJ1JVDrQED/ynOK5UG/NDeBo8d7J
XkU86Dg+2Uj/efyhCZbTGK3HRU19R0Z/QoLCDo/wtuOj/HR2oslpTU8mA7LF
Gp2U016C0vWxbqZaSLD1/OVL63z9dHbUr6Tq38v92ZCNoJW6z96oPu316PD8
XacB4PXVSXevVfJzw4JMkd72gAJE0gq+XF/1Cb7lIm4V1oRbJRThFXxVJltr
aMy1qgh6vrG5YRHELaqXY4EdiH3yADfMfh6N0+/3+2zcGnQYrr3vVl2cLEVH
fcMRp2TDeEAynEczqUZzyUKAeY2smqoUkum67OMILseXhjP8yCyF7Vqr/xqN
aglI42sLR7Ax7CXwRbyTB9R6DckOZP0+NWS7eWLbtnFbs/2eat/ZsY6YrPjS
nOdqSp4nbsjF2mulUt7vOaKcJhL4Z6eNJ89FTb7cHpxW8kqfUL95J3DG5iwo
Jk4PR2K9pg1ntTIc1dVCQnNpNhQ/DindbFnk3iYphmYCaNL/Zo+SOzIydd2i
X4m29lrPWi+Rnacg76WMKyrXZDbETOI08jVTftSmqbm3Yb7WkRV/1M09Bi7+
1iimP4JLx6PW2PDiPbqNNbHinlDCgThECzIM0Tts6ZNsACbAsnNOdQF+AlYI
lhvqNrvXek5pshh8ZvlXBUcS6oFPqBm2OyfnA+Nq9Y51o1qWNRJOBA2GJTDQ
2LLhCglDXUqoUNe8FZN5bnrMSgcIrl6vwiwTUA9RHQL1xlOPWqy3LxNQBkw2
NyVMkWnAIwV7NBH2wSs4IUqI3PSZ9XvgUiszH2J7XRylQR9K5FYg1uLGS7sy
5aY4EWvx+QQ16EtbgBfkNTDxW6QuYCfgIPssAVitNCxJ1wQqoaaUhZon7J7i
9Io9sRSti6Z6JHWQLSctmmM5dRHb2wS2d2f7TXjnSIOiDpkFSPW2FGZvUfdL
r7+2Y29qxc2xIoE4EhtBNBvFrDJJqreRYjSwYuIXGgZ0E0wWOTbnjBfGY6AR
r8Md5HjL2dGoR3KqLsVOOQpBSgIFCBYzwpi++m7KDiVGcofoFrmQ727w5GSE
y1/G+IkE0n7JPWK6xDgZPIk4g2VHLMAncjxsSYpzBN+jw6fvumA7j0FdPxav
8UGHs6VxHl0oqjNAdGIgQaadsxpnZGzq5mPc/xrnSEJudqvbmzu49xQ+DuaQ
dJQ0BX4X59D5GdyhTXKOjO+k7toRB7Lc3JgU4oewDh3pvBFOMWWN8qeDmBox
U48rh3Ubp4hkaEu0KOfKrVwm9lmQTvwIbCdgRU4C6fssLSov9JxOy3BmFHUz
2pbRpkG4BHQaypd3NsER6JGtyaNTTGanlEKU01QaPHxtwcCWlCQUnyLFr98D
Iu0Zlr5+EiiJSofiLEHEU5l32TavuQeOtDNtOLEOS4l4OChUrZe+xnBk5NjE
YOv70ExuCxiY0zd4z+sbfEZ9g/GUP2HGDp4+ffDI5VbomZ4nw4B6MDA/gxtD
rBZeDEySkk5vYgH4lDmFNjU3O8+MsUmuIZ3ULF1xPA8DeXc0wJRKhGraHJsP
83kHThd/vxGyadrE3cytJ4j9XjnHuWZZdAVyfxzm6zqkEEnkSvgn8gTcXTIs
MW7u+UqOqC6hynyqgFiUVk6kw3USXtO7/KqOiuitjdF2xGCndXxZyExPInIq
LGv8rBHDaZe5mVLcauUPcxBFbANF/EsaRO+tfqdle+8ZhzD3rNjaQCdmJOLL
yAhKKsTDQBdthn5LZsU8tyEkoCDANeUlm44CoHwNAmmmFxU2p3iSYqtvogAd
9/GmE+5MrzmUqucz7dntUlxBBPvT6ZBczkOP1nIPjZH3+ZOSBGfSWyjvawuW
ubsGCRwGAehBVpFiBIFuWml6Bx5ffNJdtDgD3L35ejzI/dQqlgaZnvai5RL6
ka03XWvqOA6Wb5tPIDjF/nrjdioSSoJ609zYQoqmjSgcHF/U/m6n4YBpIYUu
3S+FtnIABvJViSJHijqnpsPZ2MDxW0kuMS2qdXTDeLPJQRnqWZCq4nhOt9LN
2ljLbZ6KqMd+UwQdDTAz6QR107eNWgNyWHxofYEkMoK4DaSKn0wIZ3G6IMNX
umq7ro8R18PBNbS5BNxQbJJhvJabXNpN9r3GPxq0NvKxNvOxe2YUysi+Hemm
DIZf2vNs5iUNAunBkS5mRRtY9cTPUMM/DiYSzG/U5ZAd6utwlAwkecHLEtMZ
fEGh94QpTfxiJaVpz+bvCx5Q8IGRALQ7XyYryykTTc6Z2Gpv9VZEZnXShCBT
R+P+1PQHjQsqbbbnka+IFzsDRlxuUb9pHe1FVc+SB/5DtauJNNFcGQk1iiKK
FZZbDoRmLDf1QIvlxowlRQkjScn4tXlYtwgs8ymJQCUXx6h1AWr7rESk+O/W
XdmZ9ZEAvJ8D0uznStwJhTutWF6SmrmepbR+mMynOmv6xlkRn7O+8Lr8dJZe
h1nlKX1GMK48HqMlY5/e3rXRUxMCUQyv4eHiI1myT6QBIjO7iSoJLV31g5AQ
BwkvwzhNxo5fxl+znpyWnOeyJe9HVM06zNHqM8ALdsqvQsDMrm954b2A2cfX
U1ABZxPxDuBQrUPr1ZbDg7px+6tRUiJzUrhpUiHyJThxqZ3dodiO+I6bVqpN
vpsH4CXXJc4wP8fV5Iu00R86dLSUF+gMCROcsLniLCvw0yAhehZAvbOM2I+e
u10TuZ2T+JP045o2vo56gY4Pvaz2MoR2+Uwv33SZqBho5a6lxseztFOUTU/R
iaQm+cd8wIfd9pynwq5yAy2quWRpFIsW60xuYFZc86g22gRZ0B2lapE/oUEf
THAKp6LEA0PHqd74/7BN+mFfrf28pqg52XUmnzmdySc7Xr54talKg940GjvZ
bKBAi8lBurWj4Ztmb6MnCUJfpnGSv1lWKyFFB330I2Iwponp1qa15R2DbVTM
rV1oeheLZuhT/tM95hEF+Wdviof9M8lOTc4c3zEPdt0srJ2ufc7v5fNLTJZr
jyJ0Oknaudpx1Q4HHTVaoiTo73TrZtqpUCm9vtPVuN5t7HThFHf5MNuYb7pY
cqSPO9THH6js4P6YaLhnjyHWe6xoA6tfc/pOUpXMgsv3zeRvpIm2OV7W/cov
kZ9s18Cxg5Jg1/Nh7HTpmX3FVYyWrOk7QWjlne5X7NZZ0gHE1bl4yZ2u98y+
ike266zP+0QTJ0e36zRs98r7hJe0SN795tk3sIcEbnZvA/59M13kQVz0Nre2
nz1/8fLVN/H229/2erPuy987v+//9EPnzq1uzj78/tvZs+n+D6PNy9MXgw+z
n36cJvsv3v/+cqdrlrXwd/0N7HAB38oDr9/m5spt9r7pTnBXv38TXA6G4cjs
cIN/vxdsILd3NevBn/2/4Oc+MQUeQfb+vsNOuDvotbxH3iGpy7TJfBW57p7i
e6xuCVHeg7Jo8q+grK07UY441ig3GO/9aSi/G908obA85tYOp2YWvWu7/y5V
hExL4McoXs3bhp9Q8jClrdKEE7U2pzfn3VqbWfghatujtLbyp+/+Z+hu2LK3
q7NlusO8W1tnKWpLt+rX6t/JVp2z+bZKnO8vLk67vU6v8T7FqkLHydTAjNkZ
PAv400CIwi550BCsv/+W4zdJGnq82tzYUB//o3HA36jPopZ6pX4IuARH9Z71
nz3vb22od8cXDfZdmrXafKqNfU5kbV+A0bRy0X1MimxLIm9fJWl7gE8ahxfB
uK+awYvtMBwNXr3aCjYvm40PgMH2sTQ07KtjLNt65kC23d/Y7Pe2CbIGmm7N
GiS79N0XA6/5nflRrUjvtoy6qb++jgO4s5dqssrUV/+Uiazx6M3/gDVQe7GW
asvORy4JRJCriDSdF9xvy5bfE1+E8/Z3/uuPgNRiowyqK1cMKO7iZJBbrPmY
83br6TPOFPSS8S/Aiw/QZ+6ntZHWs0KpcU2l29bynZTp4NEYriy0BE2bK9F0
lz7kbcv8/ItzeCBx8eyazNQwKc5VgJq/aPdF60+7E8spTe/f0ZZWXImyrtRc
QbM049fT7Nadh7FKU3rMYVQPgv7/i+tHQo1nuRZhVZ7H6C1a56G8ZO4wpFts
e926sJUXty9qNI4S6cTDq3ifjq1TcjipfJUeJD21+Mub16nm1H5jwogSx0v6
j9+UtrPieykFFyRznMabxPlWo9shrqmTMsznkCifLeLWH05lX6WdlESxWw2T
kyOBfdF9BExfNixrlNowH2Er10AwJKUGpP5Hyyk/kO6COz2MLfEgAA71J0cT
K9LxOMaS7o+U0FBZR5/Gik3cu9kp44iqMAjDTkLC3efZoPN0WUoJk0vOsZA2
Zw0vuu011eSvF1K6Yj29rLfUsiO+C28ewGJqPhZhXv5GuSefGUkfseNul2CZ
/EWX2L+6btdR3QC02sqU0t3sRfZw7Zya6bX10SYlOyiRD3aU6NHr9Ngwdg5n
6XgD7YE0vdUuTIogkY6u7UlnnNMnrWBLVpndjd/tq0UfHMGsH40n0xZWvkLv
ZIinoyr54NVdQuuwPZ0OdMcEy++sTVBzGqwSAyrVgmOtD1osDRPKqmE8JR5D
otw9MU7RMwdcaWrHZZeGut2j4FSWPPW/2CbNzrCnLRwQFgSU0KwEWD61xrJ7
rYGi5ExpB3ilv0ele9sRG2K+6bWyW/WlN1An5lPOcG5QmkoR8VddTWcKx3zH
VI0LzXyapttwNOQMkvIxMhNx8PuA2+c2njbn4bS3u0B+Y5NlNZ1oYqaTLcvp
OvDgEPdyt6rAjDT30LchPDh0QoreDvUELV/qWqozwsChsSqFuQTGO2y419Jq
g9ZzQl2R+SNCTRMebTqfmqTlS5vq8E2NcvOVHiy2pfaJOoOxfln52s7yJdcb
ZbZYD8Nms1O+TcTRMHdzyYWSA0P1rKSWeQzOMCHT/LT+C5T5vTrsLhVoJggs
Us18/uAvU0/Zt6Njw6TKO2DoPrWrL+cD7+VXXEtNQW7X7oaRNcXjj77yTYvy
+T/++KnZYZqHZmq3YabDFC88Aih1dnaOoEbFWnoAjQccwCr008X874dyuIaH
9GnoM6ezh+6R9ZFVBRRrS6zMRsP5qhzO437TMHRSLblmG5tjeM0mlzV51Zy/
9Nnq8kfWPB/2X54OsPkV6QDoDpAqGQmMFEE2DgsTNJFTNwFw98877sAHRZGd
eI0XA6Mnd0dkywErygdbGrAqhdnKkR98ZDey0/VQcmfgHgT+10TucVoiJoFE
vnu+mAEGrJMcgLLPvReD8a58d51rycybOu4lL+ZYHgScZpd+1W+Zp+6rWLl6
z+NzUclY/ice1JuSMPrFOxlBuV3MW12wiwD04yAZv2mGiVnviLfq5x6y6iPd
dYmHEYmaLkZS+fIVwXi3ksmDXoBlunGOcnUQkZmH9qIlrvfso2ZAy6J+ZBr5
nJE9ajCL9CE80gpNoFttR/6TW+eDz4wxboWGXdr66hTYf64/S+ClYWMtSJpx
sehlXO7MIt60IMZEO/xitu05Txl3up9KEKsSPH5jbS4elwLjrXenp+riXG1t
dnrPnoPWdHHOP4oatfmy83xzi57zj7e3ffoWJBhbpvcdVeeZxXVpqqxwdPGp
fSEfIUZX5sVZ+9lWD2ekH2AduLVoeCoKdtpvn3KdGpMgyEOcDSQhJUKbkkEH
Q3+DU+POl32KtmoAuXrVh+mn+TQ4zdK7XzxJP0dB32ztrtffUx/P+7+/j5+t
NB9oDg0mQNghkRTcYHHqdaXJZewP8yQFSX1uxW6gJmzeU2nQEgFLTARnkL6c
v+E0bXF/5kToewNsbgl/HPMJ3/SZ0sKhTpbQLZSD5DNVQvwHKkE/BgUcSYuC
gx+iZHgZB0P8DU5EnWMpItg5ZynMA69iu1F4dS8BQn4bhXDk3DTnhzl+mx7e
H0zSMLkOwniIFhncxAl+gzSY4IswDFQcUKnOATUZlbx/SOfqLQ6Fl39I4U7H
yJNMe/rzQVoU2MY2H0UwJZlQmLIfYrUEe/wYi1wehTUDARn/s3kh36/0W594
uz+FSwg7AVByScjXRdYHH/cvPp6dy1rlccfBBPalfghBu0kCdOlEZvTegRn0
fwFJ5DqCkKEAAA==

-->

</rfc>
