<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-taylor-dtn-bibe-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="BIBE">Bundle-in-Bundle Encapsulation</title>
    <seriesInfo name="Internet-Draft" value="draft-taylor-dtn-bibe-00"/>
    <author fullname="Rick Taylor" role="editor">
      <organization>Aalyria Technologies</organization>
      <address>
        <email>rtaylor@aalyria.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="06"/>
    <keyword>DTN</keyword>
    <keyword>BPv7</keyword>
    <keyword>Bundle Protocol</keyword>
    <keyword>Encapsulation</keyword>
    <abstract>
      <?line 83?>

<t>This document describes Bundle-in-Bundle Encapsulation (BIBE), a Delay-Tolerant Networking (DTN) Bundle Protocol (BP) tunneling mechanism by which a bundle is carried as the payload of one or more encapsulating bundles, allowing security measures, routing policy, and protocol version translation to be applied to the encapsulating bundle without modification of the encapsulated bundle. The protocol includes an optional segmentation mechanism, allowing a large encapsulated bundle to be carried in multiple encapsulating bundles.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ricktaylor.github.io/bibe/draft-taylor-dtn-bibe.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-taylor-dtn-bibe/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Delay/Disruption Tolerant Networking Working Group mailing list (<eref target="mailto:dtn@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dtn/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dtn/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ricktaylor/bibe"/>.</t>
    </note>
  </front>
  <middle>
    <?line 87?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Bundle Protocol version 7 (BPv7) <xref target="RFC9171"/> defines a layered architecture in which a Bundle Protocol Agent (BPA) relies on convergence-layer adapters (CLAs) to transfer bundles between nodes. This document defines Bundle-in-Bundle Encapsulation (BIBE), in which the transfer between two nodes is performed by a BP network itself: an outbound bundle (the "encapsulated bundle") is carried as the payload of one or more bundles (the "encapsulating bundles") which traverse the BP network between the encapsulating node and the decapsulating node in the normal manner. <cref anchor="editorial">This document is an editorial consolidation of prior work: the architecture and concepts originate in draft-ietf-dtn-bibect and the CCSDS Bundle-in-Bundle Encapsulation effort, and the design contributions of others are recorded in the Contributors and Acknowledgments sections. The editor claims no design novelty; the contribution of this document is to restate that body of work as a single self-contained specification.</cref></t>
      <t>BIBE thus occupies the architectural position of a convergence layer — the "link layer" beneath it is itself a BP network — but this document deliberately does not require that it be implemented as a convergence-layer adapter; it specifies observable behavior only, in terms of the encapsulation function and decapsulation element defined in <xref target="model"/>.</t>
      <t>Conformance to this specification is <bcp14>OPTIONAL</bcp14> for BP nodes. A conforming node may implement the encapsulation function, the decapsulation element, or both; a unidirectional tunnel requires only one at each end.</t>
      <section anchor="use-cases">
        <name>Use Cases</name>
        <t>BIBE has broad utility; motivating use cases include:</t>
        <ul spacing="normal">
          <li>
            <t>Security encapsulation. BPSec <xref target="RFC9172"/> requires that the primary block of a bundle remain in plaintext so that it can be routed. Encapsulating a bundle allows a Bundle Confidentiality Block on the encapsulating bundle's payload to encrypt the entire encapsulated bundle, including its source and destination, providing a defense against traffic analysis that BPSec alone cannot offer.</t>
          </li>
          <li>
            <t>Cross-domain and service-provider encapsulation. A bundle arriving at the edge of a network domain can be encapsulated so that domain-specific policies (forwarding, quality of service, security) are applied to the encapsulating bundle, leaving the encapsulated bundle unmodified. The encapsulating bundle egresses the domain at a designated decapsulating node.</t>
          </li>
          <li>
            <t>Version encapsulation. A Bundle Protocol version 6 <xref target="RFC5050"/> bundle can be encapsulated for carriage across a BPv7 network, or vice versa.</t>
          </li>
          <li>
            <t>Segmentation. BPv7 bundle fragmentation (<xref section="5.8" sectionFormat="of" target="RFC9171"/>) is incompatible with some BPSec deployments and is prohibited for bundles bearing certain security blocks. The segmentation mechanism defined in this document (<xref target="segmentation"/>) provides an alternative: a large bundle is carried opaquely as chunks in multiple smaller encapsulating bundles, which is of particular utility when a downstream convergence-layer adapter cannot carry large bundles.</t>
          </li>
          <li>
            <t>Traffic differentiation. Decapsulation endpoints are ordinary endpoints established by policy (<xref target="model"/>), so a decapsulating node may establish several — per tunnel, per peer, or per traffic class — at no protocol cost. The destination EID of each encapsulating bundle then acts as a flow identifier visible along the encapsulating path: nodes on the tunnel path can apply forwarding, queueing, and quality-of-service policy to tunnel traffic by destination EID alone, without inspecting the payload — including when the payload is encrypted. The same visibility necessarily reveals that class structure to on-path observers (<xref target="security-considerations"/>).</t>
          </li>
        </ul>
        <t>As in <xref target="BTPU"/>, the encapsulated bundle is treated throughout as an opaque sequence of octets: no field of this protocol identifies its format, and nothing in the procedures of this document depends upon it. Bundles of different Bundle Protocol versions can therefore be carried, and multiplexed to the same decapsulation endpoint, without an explicit discriminator: a receiver can distinguish the formats by simple examination of the initial octets of the decapsulated data (a BPv6 bundle begins with the octet 0x06, the BPv6 version number, whereas a BPv7 bundle begins with the initial octet of a CBOR array). Indeed, any binary data can be carried; the disposition of decapsulated data that is not a bundle is beyond the scope of this document and is a matter for the receiving implementation.</t>
        <t>Encapsulating bundles are themselves bundles and may in turn be encapsulated, enabling nested encapsulation to arbitrary depth as required by policy.</t>
      </section>
      <section anchor="similarity-to-ip-tunneling">
        <name>Similarity to IP Tunneling</name>
        <t>BIBE shares a pattern with generic IP tunneling, and this document deliberately follows the same architectural conventions where the analogy holds:</t>
        <ul spacing="normal">
          <li>
            <t>Like GRE <xref target="GRE"/> and IP-in-IP <xref target="IPIP"/>, BIBE is a stateless encapsulation: there is no tunnel session, no negotiation, and no convergence-layer acknowledgement. The tunnel is defined entirely by configuration at its two endpoints.</t>
          </li>
          <li>
            <t>Encapsulation is a tunnel ingress operation: routing or forwarding policy directs an encapsulated bundle "into" the tunnel exactly as an IP route directs a packet to a tunnel interface. An implementation that realizes the encapsulation function as a virtual interface (a convergence-layer adapter) selected by a forwarding table entry mirrors a multipoint GRE interface; an implementation that applies it as egress policy mirrors policy-based tunnel selection. Either way, a single encapsulation function may serve multiple decapsulation endpoints — and, conversely, several decapsulation endpoints at one node give the encapsulating node a per-class tunnel selector, in the manner of the GRE Key field <xref target="GREKEY"/> (<xref target="use-cases"/>).</t>
          </li>
          <li>
            <t>Applying a Bundle Confidentiality Block to the encapsulating bundle's payload is the analog of IPsec tunnel mode: the entire inner datagram, including its addressing, is protected, whereas BPSec applied directly to a bundle (like transport mode) must leave the primary block in plaintext for routing.</t>
          </li>
          <li>
            <t>The segmentation mechanism of <xref target="segmentation"/> is the analog of "outer fragmentation" in IP tunnels (<xref target="TUNMTU"/>): the tunneled payload is divided by and reassembled at the tunnel endpoints, transparently to the encapsulated bundle, rather than fragmenting the encapsulated bundle itself ("inner fragmentation", i.e. BPv7 bundle fragmentation) which alters the tunneled data unit and interacts poorly with BPSec.</t>
          </li>
        </ul>
        <t>IP tunneling experience also carries over its known hazards: recursive encapsulation loops (see <xref target="deployment"/>) and the security concerns cataloged in <xref target="TUNSEC"/> (see <xref target="security-considerations"/>).</t>
      </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?>

<section anchor="terminology">
        <name>Terminology</name>
        <dl>
          <dt>Encapsulated bundle:</dt>
          <dd>
            <t>A bundle, of any Bundle Protocol version, forwarded by encapsulation and carried opaquely as (part of) the payload of one or more encapsulating bundles.</t>
          </dd>
          <dt>Encapsulating bundle:</dt>
          <dd>
            <t>A BPv7 bundle whose payload encapsulates all or part of another bundle, formatted as described in <xref target="payload-format"/>. The payload takes one of two forms: a "whole-bundle payload" carrying an entire encapsulated bundle, or a "segment payload" carrying part of one.</t>
          </dd>
          <dt>Encapsulation function:</dt>
          <dd>
            <t>The function of an encapsulating node that generates encapsulation payloads from a bundle being forwarded and sources the encapsulating bundles that carry them. See <xref target="model"/>.</t>
          </dd>
          <dt>Decapsulation element:</dt>
          <dd>
            <t>The element of the application agent of a decapsulating node that takes delivery of encapsulation payloads, performs reassembly when required, and presents encapsulated bundles to the BPA. See <xref target="model"/>.</t>
          </dd>
          <dt>Decapsulation endpoint:</dt>
          <dd>
            <t>An endpoint in which a decapsulation element is registered; the destination endpoint of encapsulating bundles.</t>
          </dd>
          <dt>Transfer:</dt>
          <dd>
            <t>The context in which the segments of a single encapsulated bundle are transmitted, identified by a Transfer ID.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="model">
      <name>Functional Model</name>
      <t>BIBE is specified as observable behavior, not as a component architecture, in terms of two entities:</t>
      <ul spacing="normal">
        <li>
          <t>An "encapsulation function", invoked by the BPA of the encapsulating node in the course of forwarding a bundle: it generates one or more payloads, each encapsulating all or part of the bundle being forwarded, and, acting in the capacity of a bundle source, sources the encapsulating bundles that carry them (<xref target="transmission"/>). Each encapsulating bundle is a new bundle, originated at the encapsulating node; see <xref target="encap-bundle"/>.</t>
        </li>
        <li>
          <t>A "decapsulation element", registered in one or more endpoints of the decapsulating node: it takes delivery of the payloads of encapsulating bundles, performs reassembly when required, and presents encapsulated bundles to the BPA for forwarding and/or delivery in the standard manner (<xref target="reception"/>).</t>
        </li>
      </ul>
      <t><xref target="fig-model"/> illustrates the asymmetry of the model: the encapsulation function operates on the forwarding path of the encapsulating node, while the decapsulation element is an element of the application agent of the decapsulating node; the encapsulated bundle experiences the entire tunnel as a single hop.</t>
      <figure anchor="fig-model">
        <name>Functional model: encapsulation of bundle B in bundle E</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="520" viewBox="0 0 520 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,144 L 8,192" fill="none" stroke="black"/>
              <path d="M 32,80 L 32,96" fill="none" stroke="black"/>
              <path d="M 32,200 L 32,288" fill="none" stroke="black"/>
              <path d="M 128,144 L 128,192" fill="none" stroke="black"/>
              <path d="M 392,144 L 392,192" fill="none" stroke="black"/>
              <path d="M 456,80 L 456,96" fill="none" stroke="black"/>
              <path d="M 456,200 L 456,304" fill="none" stroke="black"/>
              <path d="M 512,144 L 512,192" fill="none" stroke="black"/>
              <path d="M 8,144 L 128,144" fill="none" stroke="black"/>
              <path d="M 392,144 L 512,144" fill="none" stroke="black"/>
              <path d="M 8,192 L 128,192" fill="none" stroke="black"/>
              <path d="M 392,192 L 512,192" fill="none" stroke="black"/>
              <path d="M 96,304 L 112,304" fill="none" stroke="black"/>
              <path d="M 208,304 L 224,304" fill="none" stroke="black"/>
              <path d="M 312,304 L 328,304" fill="none" stroke="black"/>
              <path d="M 376,304 L 456,304" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="464,200 452,194.4 452,205.6" fill="black" transform="rotate(270,456,200)"/>
              <polygon class="arrowhead" points="464,80 452,74.4 452,85.6" fill="black" transform="rotate(270,456,80)"/>
              <polygon class="arrowhead" points="336,304 324,298.4 324,309.6" fill="black" transform="rotate(0,328,304)"/>
              <polygon class="arrowhead" points="232,304 220,298.4 220,309.6" fill="black" transform="rotate(0,224,304)"/>
              <polygon class="arrowhead" points="120,304 108,298.4 108,309.6" fill="black" transform="rotate(0,112,304)"/>
              <polygon class="arrowhead" points="40,288 28,282.4 28,293.6" fill="black" transform="rotate(90,32,288)"/>
              <g class="text">
                <text x="96" y="36">Encapsulating</text>
                <text x="172" y="36">Node</text>
                <text x="400" y="36">Decapsulating</text>
                <text x="476" y="36">Node</text>
                <text x="28" y="68">bundle</text>
                <text x="64" y="68">B</text>
                <text x="100" y="68">...(to</text>
                <text x="156" y="68">bundle</text>
                <text x="196" y="68">B,</text>
                <text x="224" y="68">the</text>
                <text x="268" y="68">tunnel</text>
                <text x="308" y="68">is</text>
                <text x="336" y="68">one</text>
                <text x="384" y="68">hop)...</text>
                <text x="444" y="68">bundle</text>
                <text x="480" y="68">B</text>
                <text x="48" y="116">(forwarding</text>
                <text x="120" y="116">path)</text>
                <text x="396" y="116">(application</text>
                <text x="476" y="116">agent)</text>
                <text x="32" y="132">v</text>
                <text x="456" y="132">|</text>
                <text x="72" y="164">encapsulation</text>
                <text x="456" y="164">decapsulation</text>
                <text x="68" y="180">function</text>
                <text x="456" y="180">element</text>
                <text x="72" y="228">sources</text>
                <text x="132" y="228">bundle</text>
                <text x="168" y="228">E</text>
                <text x="368" y="228">payload</text>
                <text x="412" y="228">of</text>
                <text x="432" y="228">E</text>
                <text x="76" y="244">(payload</text>
                <text x="144" y="244">carries</text>
                <text x="188" y="244">B,</text>
                <text x="376" y="244">delivered</text>
                <text x="428" y="244">to</text>
                <text x="84" y="260">destined</text>
                <text x="136" y="260">for</text>
                <text x="168" y="260">the</text>
                <text x="352" y="260">the</text>
                <text x="392" y="260">decap</text>
                <text x="72" y="276">decap</text>
                <text x="136" y="276">endpoint)</text>
                <text x="372" y="276">endpoint</text>
                <text x="32" y="308">BPA</text>
                <text x="72" y="308">--CLA</text>
                <text x="140" y="308">node</text>
                <text x="184" y="308">--CLA</text>
                <text x="248" y="308">...</text>
                <text x="288" y="308">--CLA</text>
                <text x="352" y="308">BPA</text>
                <text x="124" y="324">ordinary</text>
                <text x="180" y="324">BPv7</text>
                <text x="244" y="324">forwarding</text>
                <text x="300" y="324">of</text>
                <text x="340" y="324">bundle</text>
                <text x="376" y="324">E</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
      Encapsulating Node                    Decapsulating Node

 bundle B ...(to bundle B, the tunnel is one hop)... bundle B
    |                                                    ^
    |                                                    |
 (forwarding path)                          (application agent)
    v                                                    |
 +--------------+                                +--------------+
 | encapsulation|                                | decapsulation|
 |   function   |                                |    element   |
 +--------------+                                +--------------+
    |                                                    ^
    | sources bundle E                     payload of E  |
    | (payload carries B,                  delivered to  |
    |  destined for the                    the decap     |
    |  decap endpoint)                     endpoint      |
    v                                                    |
   BPA --CLA--> node --CLA--> ... --CLA--> BPA ----------+
            ordinary BPv7 forwarding of bundle E
]]></artwork>
        </artset>
      </figure>
      <t>How a BPA selects the encapsulation function is an implementation matter: it might be realized as a convergence-layer adapter selected by a forwarding table entry, applied as a filter or transform on the egress forwarding path, or integrated in some other way. Nothing in this document depends on the choice.</t>
      <t>The decapsulation element, by contrast, cannot be a convergence-layer adapter: it must take delivery of the payloads of bundles addressed to it, and it therefore <bcp14>MUST</bcp14> be registered in one or more endpoints — in the terms of <xref section="3.2" sectionFormat="of" target="RFC9171"/>, it is an element of the node's application agent.</t>
      <t>The choice of endpoints in which a decapsulation element is registered is a matter of administrative policy at the decapsulating node. A BIBE tunnel is a deliberate, bilaterally configured arrangement — an encapsulating node must in any case hold per-peer configuration (<xref target="deployment"/>), of which the decapsulation endpoint ID is simply one element — so there is no unsolicited-contact scenario for which a "well-known service" convention would be required, and the absence of one denies adversaries a predictable target for unsolicited traffic (<xref target="security-considerations"/>). A decapsulation endpoint <bcp14>SHOULD</bcp14> be a singleton endpoint. The Bundle Protocol does not specify which member or members of an endpoint with more than one member take delivery of any particular bundle; the consequences of this for BIBE — duplication of whole-bundle payloads, and segmented transfers that can never be reassembled — are set out in <xref target="segmentation"/>.</t>
      <t>Note that BIBE encapsulation is a forwarding operation, not a delivery operation: policy (including BPSec) applicable to the forwarding path of the encapsulating bundle applies to it in the normal way. The payloads generated by the encapsulation function are plaintext; any confidentiality protection is applied by the BPA in the course of transmitting the encapsulating bundle, exactly as for any other bundle payload.</t>
    </section>
    <section anchor="procedures">
      <name>Procedures</name>
      <section anchor="transmission">
        <name>Transmission</name>
        <t>When the BPA of the encapsulating node determines — by forwarding table entry, forwarding policy, or other configuration — that a bundle is to be forwarded by encapsulation toward a specified decapsulation endpoint, the bundle is presented to the encapsulation function.</t>
        <t>The bundle so presented is the bundle as the encapsulating node forwards it: encapsulation is a forwarding operation (<xref target="model"/>), and the forwarding-time processing that would precede transmission over any convergence-layer adapter — in particular the Previous Node block replacement of <xref section="4.4.1" sectionFormat="of" target="RFC9171"/>, subject to the encapsulating node's policy — <bcp14>SHOULD</bcp14> be applied to the bundle before its octets are captured for encapsulation. The consequences for the blocks of the encapsulated bundle are set out in <xref target="encap-bundle"/>.</t>
        <t>The encapsulation function then generates the payload or payloads:</t>
        <ul spacing="normal">
          <li>
            <t>If the length of the bundle does not exceed the segmentation threshold for that endpoint (<xref target="segmentation"/>), the encapsulation function <bcp14>SHALL</bcp14> generate a single whole-bundle payload encapsulating the entire bundle, and <bcp14>SHALL</bcp14> request transmission of an encapsulating bundle, destined for that endpoint, carrying that payload. A bundle that can be carried whole <bcp14>SHOULD NOT</bcp14> be segmented.</t>
          </li>
          <li>
            <t>Otherwise the bundle <bcp14>SHALL</bcp14> be segmented as described in <xref target="segmentation"/>. If the bundle cannot be segmented — the encapsulation function does not support segmentation, or the decapsulation element is not known to support reassembly (<xref target="reception"/>) — then forwarding by encapsulation has failed, and the forwarding contraindication procedures of <xref section="5.4" sectionFormat="of" target="RFC9171"/> apply at the encapsulating node as for a failure of any convergence layer.</t>
          </li>
        </ul>
        <t>The fields and blocks of each encapsulating bundle are populated as described in <xref target="encap-bundle"/>.</t>
        <t>Upon requesting transmission of the encapsulating bundle(s), forwarding of the encapsulated bundle at the encapsulating node is complete; no further state regarding it need be retained. BIBE provides no acknowledgement of its own, so "complete" means successful hand-off to the underlying network, as with any unreliable convergence layer (<xref target="deployment"/>).</t>
      </section>
      <section anchor="segmentation">
        <name>Segmentation</name>
        <t>For each decapsulation endpoint to which encapsulating bundles will be sent, a maximum segment size — the endpoint's "segmentation threshold" — <bcp14>SHALL</bcp14> be established by a-priori configuration (<xref target="deployment"/>). The segmentation threshold accommodates, for example, size limits of convergence-layer adapters on the path of the encapsulating bundles. Note that the threshold bounds encapsulated-bundle octets per encapsulating bundle: an implementation sizing encapsulating bundles for a downstream limit must also account for the encapsulating bundle's own overhead (primary block, extension blocks, payload CBOR framing, and any BPSec blocks).</t>
        <t>The segmentation mechanism is aligned with the transfer/segment model of <xref target="BTPU"/>, but requires none of BTPU's padding, message framing, or transfer-window machinery: BPv7 itself provides the "framing layer", guaranteeing that the payload of each encapsulating bundle is delivered whole or not at all, so only segment identification and reassembly rules are needed.</t>
        <t>When a bundle is to be segmented:</t>
        <ul spacing="normal">
          <li>
            <t>The encapsulation function <bcp14>SHALL</bcp14> assign the transfer a Transfer ID as described in <xref target="transfer-ids"/>.</t>
          </li>
          <li>
            <t>The encapsulation function <bcp14>SHALL</bcp14> partition the octets of the bundle into two or more segments, each no larger than the segmentation threshold, covering every octet of the bundle exactly once, in order, without alteration.</t>
          </li>
          <li>
            <t>For each segment the encapsulation function <bcp14>SHALL</bcp14> generate a segment payload with the common transfer-id, the total length of the bundle, the segment's offset, and the segment's octets, and <bcp14>SHALL</bcp14> request transmission of an encapsulating bundle, destined for the indicated endpoint, carrying that payload.</t>
          </li>
        </ul>
        <t>Segmentation requires that every segment of a transfer be delivered to the same decapsulation element: reassembly state is held by the element that takes delivery (<xref target="reassembly"/>), and a transfer whose segments are divided among different elements can never complete. When a decapsulation endpoint has more than one member node, the Bundle Protocol does not specify which member takes delivery of any particular bundle, so distinct encapsulating bundles of one transfer may be delivered to different members; each member then accumulates a disjoint, incomplete set of segments, and the transfer fails silently at its expiry. Accordingly, an encapsulating node <bcp14>MUST NOT</bcp14> segment a bundle toward a decapsulation endpoint unless that endpoint is known to be a singleton endpoint — by the rules of the EID's scheme (every 'ipn' scheme EID identifies a singleton endpoint, <xref section="5.1" sectionFormat="of" target="RFC9758"/>) or by configuration. Whole-bundle payloads are not subject to this constraint: any member taking delivery holds the entire encapsulated bundle, although delivery to more than one member duplicates the encapsulated bundle at each.</t>
      </section>
      <section anchor="transfer-ids">
        <name>Transfer IDs</name>
        <t>Transfer IDs are unsigned integers that identify a transfer uniquely within the scope of the pair (encapsulating node, decapsulation endpoint). The scope is the encapsulating node itself, not any particular node ID it uses: however many node IDs a node holds (<xref section="4.2.5.2" sectionFormat="of" target="RFC9171"/>), it draws from a single Transfer ID space per decapsulation endpoint. A Transfer ID carries no ordering semantics: a decapsulation element <bcp14>MUST NOT</bcp14> infer transmission order, recency, or loss from the numeric values of Transfer IDs. There is no analog of the transfer window of <xref target="BTPU"/>: the temporal bound on a transfer is provided by bundle expiry, since the Bundle Protocol guarantees that no bundle is delivered after the end of its lifetime.</t>
        <t>An encapsulating node <bcp14>MUST NOT</bcp14> assign a Transfer ID that identifies another transfer, to the same decapsulation endpoint, any of whose encapsulating bundles have yet to expire. Because every encapsulating bundle of a transfer shares a single expiry time (<xref target="primary-block"/>), a Transfer ID becomes safely reusable at exactly the transfer's expiry time. Subject to this rule, the assignment strategy is an implementation matter: sequential assignment is one convenient choice, but random assignment is equally valid. To satisfy the rule across restarts of the encapsulating node, an implementation <bcp14>SHOULD</bcp14> either persist sufficient assignment state or select Transfer IDs after restart in a manner unlikely to collide with transfers still in flight (e.g. derived from a timestamp). <cref anchor="tidsize">CBOR uints are variable-length with no fixed wrap point, and the encoding stays small (1–5 octets) for realistic values, so there is no pressure to keep the identifier space compact.</cref></t>
      </section>
      <section anchor="reception">
        <name>Reception</name>
        <t>Upon delivery of the payload of an encapsulating bundle to a decapsulation element:</t>
        <ul spacing="normal">
          <li>
            <t>If the payload is a whole-bundle payload, the encapsulated bundle <bcp14>SHALL</bcp14> be presented to the BPA, whereupon reception proceeds as defined in <xref section="5.6" sectionFormat="of" target="RFC9171"/>: the encapsulated bundle may be forwarded, delivered, etc. Where the decapsulated data is not a BPv7 bundle (see <xref target="use-cases"/>), its disposition is determined by examination of its initial octets and is an implementation matter — e.g. presentation of a BPv6 bundle to a BPv6 agent.</t>
          </li>
          <li>
            <t>If the payload is a segment payload and the decapsulation element does not support reassembly, the element <bcp14>SHALL</bcp14> discard the payload. Support for reassembly is <bcp14>OPTIONAL</bcp14>; support for generating segments is likewise <bcp14>OPTIONAL</bcp14>.</t>
          </li>
          <li>
            <t>If the payload is a segment payload and the decapsulation element supports reassembly, the payload <bcp14>SHALL</bcp14> be processed as described in <xref target="reassembly"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="reassembly">
        <name>Reassembly</name>
        <t>A decapsulation element maintains a reassembly structure per active transfer, keyed by the pair (source node ID of the encapsulating bundle, transfer-id). Source node IDs are compared literally, as EIDs: a decapsulation element is not required to determine whether two distinct EIDs name the same node, and the source consistency rule of <xref target="primary-block"/> ensures that literal comparison suffices. The nature of the reassembly structure is an implementation matter.</t>
        <t>Upon processing a segment payload:</t>
        <ul spacing="normal">
          <li>
            <t>If segment-offset plus the length of encapsulated-data exceeds total-length, the payload is malformed: the decapsulation element <bcp14>SHALL</bcp14> discard it and <bcp14>SHOULD</bcp14> discard the reassembly structure for the transfer, if any.</t>
          </li>
          <li>
            <t>If a reassembly structure for the transfer exists and the payload's total-length differs from the transfer's previously recorded total-length, the transfer is corrupt: the decapsulation element <bcp14>SHALL</bcp14> discard the payload and the reassembly structure.</t>
          </li>
          <li>
            <t>The BP network may duplicate encapsulating bundles (multi-path forwarding, repetition at lower layers), so identical duplicates are normal and benign: if the octets of the segment duplicate octet ranges already received with identical content, the duplicate octets <bcp14>MAY</bcp14> be ignored. If they overlap previously received ranges with differing content, the transfer is corrupt: the decapsulation element <bcp14>SHALL</bcp14> discard the payload and the reassembly structure.</t>
          </li>
          <li>
            <t>Otherwise the decapsulation element <bcp14>SHALL</bcp14> insert the segment into the reassembly structure.</t>
          </li>
          <li>
            <t>If, after insertion, every octet in the range zero to total-length has been received, reassembly is complete: the reassembled encapsulated bundle <bcp14>SHALL</bcp14> be presented to the BPA, whereupon reception proceeds as defined in <xref section="5.6" sectionFormat="of" target="RFC9171"/>, and the reassembly structure <bcp14>SHALL</bcp14> be discarded.</t>
          </li>
        </ul>
      </section>
      <section anchor="resources">
        <name>Reassembly State</name>
        <t>A decapsulation element retains reassembly state for a transfer only while the transfer can still complete. An incomplete transfer <bcp14>MUST</bcp14> be discarded no later than the transfer's expiry — the single expiry time shared by all encapsulating bundles of the transfer (<xref target="primary-block"/>) — both because no further segment can arrive after that time, and because the Transfer ID may thereafter be reused for a new transfer (<xref target="transfer-ids"/>): reassembly state retained beyond expiry could wrongly absorb segments of the new transfer.</t>
        <t>Before that deadline, retention of reassembly state is a matter for the same local resource management policies that govern any other storage the node commits. A transfer whose state is discarded under such policy has simply failed: the encapsulated bundle is never presented to the BPA.</t>
      </section>
    </section>
    <section anchor="encap-bundle">
      <name>The Encapsulating Bundle</name>
      <t>An encapsulating bundle is a new bundle, originated by the encapsulating node acting in the capacity of a bundle source; it is not a modified copy of the encapsulated bundle, nor a forwarding of it. No field of the encapsulated bundle's primary block, and no extension block of the encapsulated bundle, is copied to the encapsulating bundle by any rule of this document: the encapsulated bundle contributes octets to the payload, and nothing else.</t>
      <t>The converse also holds: the tunnel contributes nothing to the encapsulated bundle. The encapsulated bundle is immutable while encapsulated — the octets presented to the BPA of the decapsulating node (<xref target="reception"/>, <xref target="reassembly"/>) <bcp14>SHALL</bcp14> be exactly the octets captured by the encapsulation function (<xref target="transmission"/>); neither the encapsulation function nor the decapsulation element modifies them in any way, and any divergence is corruption (<xref target="reassembly"/>) or an attack (<xref target="security-considerations"/>), not processing. This invariance is what allows integrity protection applied to the encapsulated bundle itself to survive the tunnel intact.</t>
      <t>An encapsulating bundle is an ordinary bundle, and its payload is not an administrative record; a decapsulation endpoint <bcp14>MUST NOT</bcp14> be the administrative endpoint of the node. The destination endpoint of an encapsulating bundle is a decapsulation endpoint, which is distinct from the destination of the encapsulated bundle. <cref anchor="adminrec">Carrying the payload as ordinary application data at a dedicated endpoint, rather than as an administrative record, avoids any administrative record type allocation, permits multiple decapsulation endpoints per node (e.g. per-tunnel), and keeps the administrative endpoint free of high-volume traffic.</cref></t>
      <section anchor="primary-block">
        <name>Primary Block</name>
        <t>The fields of the encapsulating bundle's primary block (<xref section="4.3.1" sectionFormat="of" target="RFC9171"/>) are populated as for any newly created bundle, subject to the following:</t>
        <dl>
          <dt>Destination EID:</dt>
          <dd>
            <t><bcp14>SHALL</bcp14> be the decapsulation endpoint ID toward which the encapsulated bundle is being forwarded.</t>
          </dd>
          <dt>Source node ID:</dt>
          <dd>
            <t><bcp14>SHOULD</bcp14> be a node ID of the encapsulating node — the EID of any singleton endpoint in which that node is registered (<xref section="4.2.5.2" sectionFormat="of" target="RFC9171"/>): anonymous (dtn:none) sourcing defeats the peer authentication measures described in <xref target="security-considerations"/>. Note that a node may legitimately hold many node IDs; which of them is used is a matter of policy. When the payload is a segment payload, however, the source node ID <bcp14>MUST NOT</bcp14> be dtn:none, and every encapsulating bundle of the transfer <bcp14>SHALL</bcp14> bear the same source node ID: a decapsulation element identifies a transfer by literal comparison of source node IDs (<xref target="reassembly"/>), without resolving which node an EID names, so a node holding several node IDs must use one of them consistently throughout a transfer.</t>
          </dd>
          <dt>Report-to EID:</dt>
          <dd>
            <t>Set according to the policy of the encapsulating node.</t>
          </dd>
          <dt>Bundle processing control flags:</dt>
          <dd>
            <t>Set according to the policy of the encapsulating node; the flags of the encapsulated bundle have no bearing on them. The "bundle's payload is an administrative record" flag <bcp14>MUST NOT</bcp14> be set.</t>
          </dd>
          <dt>Creation timestamp:</dt>
          <dd>
            <t>Set as for any newly created bundle (<xref section="4.2.7" sectionFormat="of" target="RFC9171"/>); it is unrelated to the creation timestamp of the encapsulated bundle.</t>
          </dd>
          <dt>Lifetime:</dt>
          <dd>
            <t><bcp14>SHALL</bcp14> be set such that the expiry time of the encapsulating bundle (creation time plus lifetime) is no later than the expiry time of the encapsulated bundle: the tunnel can never extend the transmission opportunity of the encapsulated bundle — an encapsulating bundle that outlived it would waste network resources carrying data already expired at decapsulation — and this bound underpins the transfer machinery of <xref target="transfer-ids"/> and <xref target="resources"/>. The expiry time <bcp14>MAY</bcp14> be earlier than that of the encapsulated bundle, deliberately curtailing the tunnel transit: for example, where it is known that a bundle failing to complete the tunnel sub-path within a certain duration cannot achieve onward delivery within its own lifetime. Where the encapsulated data has no expiry known to the encapsulating node (e.g. arbitrary binary data, <xref target="use-cases"/>), an expiry bound <bcp14>SHALL</bcp14> be established by a-priori configuration and applied in the same way.</t>
          </dd>
        </dl>
        <t>For a segmented transfer, every encapsulating bundle of the transfer <bcp14>SHALL</bcp14> share a single expiry time — the transfer's expiry — regardless of when each is created, so that the expiry of a transfer is well defined at both the encapsulating and decapsulating nodes. Since a bundle's expiry is a quantity derived from its creation time and lifetime (<xref section="5.5" sectionFormat="of" target="RFC9171"/>), this is achieved by a rolling calculation: each encapsulating bundle is created with its natural creation timestamp, and its lifetime is set to the interval remaining between its creation and the transfer's expiry. A node without an accurate clock performs the same calculation against locally elapsed time, setting each encapsulating bundle's lifetime to the transfer duration remaining at that bundle's creation and carrying a Bundle Age block as usual (<xref section="4.4.2" sectionFormat="of" target="RFC9171"/>). <cref anchor="rolling">The alternative — assigning all encapsulating bundles of a transfer an identical creation timestamp — is not viable in general: the sequence number component of the creation timestamp is generated by the source node's BPA as a property of the timestamp mechanism (<xref section="4.2.7" sectionFormat="of" target="RFC9171"/>), not assignable per transfer, and duplicate (source node ID, creation timestamp) pairs risk the "unexpected network behavior" cautioned against there. The rolling calculation composes with any timestamp generator, and has the useful side effect that later-created encapsulating bundles carry shorter lifetimes, so the network never retains one longer than the transfer it serves.</cref></t>
        <t>Selection of all other parameters governing the forwarding of encapsulating bundles (priority, security policy, etc.) is likewise a matter for the encapsulating node; the corresponding parameters of the encapsulated bundle <bcp14>MAY</bcp14> be consulted where they are known.</t>
      </section>
      <section anchor="extension-blocks">
        <name>Extension Blocks</name>
        <t>The encapsulating bundle carries only extension blocks pertaining to its own conveyance, inserted according to the policy of the encapsulating node and processed on the encapsulating path exactly as for any other bundle. In particular:</t>
        <ul spacing="normal">
          <li>
            <t>A Hop Count block (<xref section="4.4.3" sectionFormat="of" target="RFC9171"/>), if present, is new: its count starts at zero at the encapsulating node. The hop count of the encapsulated bundle, if any, does not advance while the bundle is encapsulated — the entire tunnel transit appears to the encapsulated bundle as a single hop. This is both a feature (tunnel transparency) and a hazard; see the loop considerations in <xref target="deployment"/>.</t>
          </li>
          <li>
            <t>A Bundle Age block (<xref section="4.4.2" sectionFormat="of" target="RFC9171"/>), if present, reflects the age of the encapsulating bundle only.</t>
          </li>
          <li>
            <t>A Previous Node block (<xref section="4.4.1" sectionFormat="of" target="RFC9171"/>) is inserted and replaced hop by hop on the encapsulating path in the normal manner, identifying nodes of the tunnel path, not of the encapsulated bundle's path.</t>
          </li>
        </ul>
        <t>Note that, symmetrically, the extension blocks of the encapsulated bundle are not processed while it is encapsulated. In particular, the Bundle Age block of an encapsulated bundle is not updated during tunnel transit, so the age of an encapsulated bundle originated by a node without an accurate clock is under-counted by the tunnel transit time. This is an unavoidable consequence of carrying the encapsulated bundle opaquely; the lifetime rule of <xref target="primary-block"/> bounds the error to at most the remaining lifetime of the encapsulated bundle at encapsulation. The decapsulating node cannot correct the encapsulated bundle's Bundle Age block: doing so would modify the encapsulated bundle, violating the opacity of the tunnel and invalidating any integrity protection covering it.</t>
        <t>The state in which the encapsulated bundle's blocks are frozen is the state in which the encapsulating node forwards it (<xref target="transmission"/>). A Previous Node block in a decapsulated bundle consequently identifies the encapsulating node: the single hop that the tunnel presents, consistent with <xref target="diagnostics"/>. The decapsulating node takes this block as it finds it — it cannot verify it in general (the encapsulating node may hold several node IDs, the encapsulated data may not be a BPv7 bundle, and the block is optional) and correcting it would modify the encapsulated bundle — but a stale or absent Previous Node block is consulted only during local processing at the decapsulating node and is replaced in the normal manner upon onward forwarding.</t>
      </section>
      <section anchor="payload-format">
        <name>Payload</name>
        <t>The payload of an encapsulating bundle <bcp14>SHALL</bcp14> be represented as a CBOR array, encoded with definite length. The array size discriminates the payload form:</t>
        <ul spacing="normal">
          <li>
            <t>An array of size 1 is a whole-bundle payload. Its sole element is the encapsulated-data field.</t>
          </li>
          <li>
            <t>An array of size 4 is a segment payload: the three segmentation fields, in the order defined below, followed by the encapsulated-data field.</t>
          </li>
          <li>
            <t>All other array sizes are reserved for future use; a payload with a reserved array size <bcp14>MUST</bcp14> be discarded by a receiving decapsulation element.</t>
          </li>
        </ul>
        <t>The fields are defined as follows:</t>
        <dl>
          <dt>transfer-id:</dt>
          <dd>
            <t>An unsigned integer identifying the transfer to which this segment belongs, scoped to the pair (encapsulating node, decapsulation endpoint). See <xref target="transfer-ids"/>.</t>
          </dd>
          <dt>total-length:</dt>
          <dd>
            <t>An unsigned integer giving the total length in octets of the encapsulated bundle.</t>
          </dd>
          <dt>segment-offset:</dt>
          <dd>
            <t>An unsigned integer giving the offset in octets, from zero, of the first octet of encapsulated-data within the encapsulated bundle.</t>
          </dd>
          <dt>encapsulated-data:</dt>
          <dd>
            <t>A byte string, encoded with definite length. In a whole-bundle payload, its content is the entire encapsulated bundle; in a segment payload, its content is a contiguous sequence of octets of the encapsulated bundle.</t>
          </dd>
        </dl>
        <t>An informative CDDL expression of this structure is provided in <xref target="cddl"/>.</t>
      </section>
    </section>
    <section anchor="deployment">
      <name>Deployment Considerations</name>
      <t>The following characteristics of BIBE are to be considered before deployment:</t>
      <ol spacing="normal" type="1"><li>
          <t>It is unreliable: there is no BIBE-layer acknowledgement or retransmission. Where reliability is required it is expected to be provided by the convergence layers carrying the encapsulating bundles, by replication/repetition strategies at lower layers (see, e.g., <xref target="BTPU"/>), by custody or other acknowledgement signalling operating at a higher layer over the encapsulated bundles, or end to end by the communicating applications.</t>
        </li>
        <li>
          <t>It fails silently: no condition at or beyond the decapsulation endpoint is signalled to the encapsulating node. A segment payload discarded because the decapsulation element does not support reassembly (<xref target="reception"/>), a transfer that expires or is discarded incomplete (<xref target="resources"/>), and a payload discarded for a reserved array size (<xref target="payload-format"/>) are, to the encapsulating node, indistinguishable from loss of the encapsulating bundles in transit — so a misconfigured tunnel, such as a segmentation threshold set toward a peer that does not support reassembly, presents as persistent silent loss. This document deliberately defines no signal reporting the disposition of a payload after delivery; the visibility available from existing status report machinery is set out in <xref target="diagnostics"/>, and verifying that a tunnel is correctly configured is an operational matter for its administrators. <cref anchor="nosignal">A post-delivery disposition signal would make every decapsulation element a bundle source, require an enumeration of failure reasons, and amount to the acknowledgement layer this protocol does not have; and the conditions it could report are configuration errors of a bilaterally configured tunnel, properly detected by its operators rather than corrected by the protocol.</cref></t>
        </li>
        <li>
          <t>Encapsulating and decapsulating nodes require compatible configuration (the decapsulation endpoint, the segmentation threshold, and whether reassembly is supported), established in advance.</t>
        </li>
        <li>
          <t>An encapsulating bundle whose destination endpoint has no registered decapsulation element at the destination node will be delivered to whatever application is registered there, or abandoned; nothing distinguishes an encapsulating bundle from any other bundle in transit.</t>
        </li>
        <li>
          <t>As with IP tunnels, recursive encapsulation loops are possible: if the route toward a decapsulation endpoint itself resolves to BIBE encapsulation (at this node or a mutually recursive one), each encapsulation produces a new bundle that is encapsulated again, without limit. Unlike IP, a bundle has no hop-limit field that survives encapsulation, so the loop is not self-terminating within bundle lifetime. An implementation <bcp14>MUST</bcp14> protect against this, for example by refusing to encapsulate a bundle it recognizes as one of its own encapsulating bundles, by bounding nesting depth (compare the tunnel encapsulation limit of <xref target="TUNLIMIT"/>), or by configuration validation ensuring the route to a decapsulation endpoint does not traverse the tunnel it serves.</t>
        </li>
      </ol>
      <section anchor="diagnostics">
        <name>Diagnostics</name>
        <t>BIBE requires no diagnostic machinery of its own: because encapsulating bundles are ordinary bundles and decapsulation ends in ordinary reception (<xref section="5.6" sectionFormat="of" target="RFC9171"/>), the bundle status report mechanism of <xref section="6.1" sectionFormat="of" target="RFC9171"/> already observes every stage of the encapsulation chain. Status reports are requested per bundle and honoured subject to node policy; they are a diagnostic instrument, and the report flags of encapsulating bundles <bcp14>SHOULD NOT</bcp14> be set in normal operation — a stream of status reports directed at the encapsulating node both amplifies traffic and identifies tunnel traffic to on-path observers (<xref target="security-considerations"/>).</t>
        <t>When enabled for diagnosis, the observation points are:</t>
        <ul spacing="normal">
          <li>
            <t>Tunnel ingress: encapsulation is a forwarding operation (<xref target="model"/>), so an encapsulated bundle that requests forwarding reports causes a "bundle forwarded" status report from the encapsulating node in the normal way.</t>
          </li>
          <li>
            <t>Tunnel transit: the encapsulating node sets the report flags and report-to EID of the encapsulating bundles it sources (<xref target="primary-block"/>). Reception and forwarding reports trace the tunnel path; a deletion report identifies where and why an encapsulating bundle was lost, using the existing reason codes (e.g. "Lifetime expired", "Depleted storage", "No known route to destination from here", "No timely contact with next node on route", "Block unintelligible", "Hop limit exceeded" — the latter being the signature of the encapsulation loops cautioned against in <xref target="deployment"/>).</t>
          </li>
          <li>
            <t>Transfer completion: delivery reports requested on the encapsulating bundles of a transfer confirm, chunk by chunk, that its payloads reached the decapsulation element; a delivery report still absent at the transfer's expiry (<xref target="primary-block"/>) identifies the lost segment(s) to the encapsulating node without any signal from the decapsulating peer.</t>
          </li>
          <li>
            <t>Tunnel egress: the reassembled or whole encapsulated bundle is presented to the BPA per <xref section="5.6" sectionFormat="of" target="RFC9171"/>, so its own reception, deletion, and onward forwarding reports resume in the normal way; to the encapsulated bundle's reporting, the entire tunnel transit appears as a single hop.</t>
          </li>
        </ul>
        <t>These observation points compose: delivery reports confirming that every encapsulating bundle of a transfer reached the decapsulation endpoint, while the encapsulated bundle's own reception report from the decapsulating node never arrives, localize the failure to the decapsulation element itself — a configuration mismatch (<xref target="deployment"/>) rather than transit loss — which is precisely the distinction an administrator needs when a tunnel fails silently.</t>
        <t>The dispositions internal to the decapsulation element (<xref target="reception"/>, <xref target="reassembly"/>, <xref target="resources"/>) occur after delivery of the encapsulating bundle and concern data that is not (or not yet) a bundle; they are not expressible as status reports about either bundle, and <bcp14>SHOULD</bcp14> instead be surfaced by local means (logs, counters) at the decapsulating node.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security considerations largely follow those of BPv7 <xref target="RFC9171"/> and BPSec <xref target="RFC9172"/>. In addition, because BIBE is a tunneling protocol, the security concerns cataloged for IP tunneling in <xref target="TUNSEC"/> apply, translated to the BP layer, and are addressed in the following subsections.</t>
      <section anchor="composition-with-bpsec">
        <name>Composition with BPSec</name>
        <t>BIBE composes constructively with BPSec: a BCB on the payload of the encapsulating bundle encrypts the entire encapsulated bundle, including its primary block, concealing the encapsulated source and destination from observers on the encapsulating path.</t>
      </section>
      <section anchor="circumvention-of-policy-enforcement">
        <name>Circumvention of Policy Enforcement</name>
        <t>As <xref target="TUNSEC"/> observes for IP, tunneled traffic is opaque to inspection and filtering points along the tunnel path: a node on the encapsulating path that would, by policy, have refused to forward or store the encapsulated bundle (by destination, source, block content, size, or any other criterion) cannot apply that policy, particularly when the encapsulating payload is encrypted. BIBE therefore permits bundles to cross policy boundaries that they could not cross natively — which is precisely its cross-domain use case when authorized, and a policy-evasion channel when not.</t>
        <t>Consequently the decapsulating node is a policy enforcement point: a decapsulated bundle <bcp14>MUST</bcp14> be subjected to the node's normal inbound bundle admission policy, exactly as if it had arrived via any convergence layer, before it is forwarded or delivered. A node <bcp14>SHOULD NOT</bcp14> afford decapsulated bundles any trust derived from the encapsulating bundle's security verification unless policy explicitly says so. Network operators <bcp14>SHOULD</bcp14> restrict, by policy, where decapsulation elements may be registered and from which peers each will accept encapsulating bundles, just as prudent IP networks control where tunnels may terminate.</t>
      </section>
      <section anchor="spoofing-of-the-encapsulated-bundle">
        <name>Spoofing of the Encapsulated Bundle</name>
        <t>Nothing in this protocol authenticates the contents of an encapsulated bundle: the source of the encapsulated bundle is whatever its primary block claims, and an authorized (or compromised) encapsulating peer can inject bundles claiming any source. Authentication of the encapsulating bundle (e.g. a Block Integrity Block (BIB) covering the payload) authenticates only the tunnel peer, not the encapsulated bundle's provenance; end-to-end assurance of the encapsulated bundle requires BPSec applied to the encapsulated bundle itself.</t>
      </section>
      <section anchor="resource-exhaustion">
        <name>Resource Exhaustion</name>
        <t>A decapsulating node is exposed to resource-exhaustion attack by an adversary transmitting incomplete transfers, or segment payloads with large total-length values. Although <xref target="resources"/> bounds the retention of reassembly state by the expiry of the encapsulating bundles, that expiry is claimed by the sender: an adversary can assign its encapsulating bundles distant expiry times. Because decapsulation endpoints are established by administrative policy rather than at a well-known service identifier (<xref target="model"/>), an adversary has no predictable target for such traffic; operators <bcp14>SHOULD</bcp14> treat decapsulation endpoint IDs as configuration shared only with authorized tunnel peers. The expiry deadline and local resource management policies of <xref target="resources"/> mitigate this; deployments <bcp14>SHOULD</bcp14> additionally authenticate encapsulating bundles (e.g. with a BIB covering the payload) so that payloads from unauthorized sources can be discarded before reassembly state is committed. Authentication narrows the exposure to authorized peers but does not eliminate it: a compromised or misbehaving authorized peer can still commit reassembly storage up to whatever bound local policy enforces, and that policy is therefore the mitigation of last resort.</t>
        <t>Recursive encapsulation is a related amplification hazard; see <xref target="deployment"/> for the required loop protections.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions: decapsulation endpoints are established by administrative policy (<xref target="model"/>), so no well-known service identifier is defined, and the payload of an encapsulating bundle is not an administrative record, so no administrative record type is allocated.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9171">
          <front>
            <title>Bundle Protocol Version 7</title>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <author fullname="K. Fall" initials="K." surname="Fall"/>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document presents a specification for the Bundle Protocol, adapted from the experimental Bundle Protocol specification developed by the Delay-Tolerant Networking Research Group of the Internet Research Task Force and documented in RFC 5050.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9171"/>
          <seriesInfo name="DOI" value="10.17487/RFC9171"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="BTPU">
          <front>
            <title>Bundle Transfer Protocol - Unidirectional</title>
            <author fullname="Rick Taylor" initials="R." surname="Taylor">
              <organization>Aalyria Technologies</organization>
            </author>
            <date day="17" month="February" year="2026"/>
            <abstract>
              <t>   This document defines a protocol for the unidirectional transfer of
   large binary objects, typically Bundle Protocol version 7 bundles,
   between two nodes connected by a unidirectional, unreliable, frame-
   based link-layer protocol, without requiring IP services.

   The protocol does not require a return path for acknowledgements, but
   instead supports data repetition as a mechanism to protect against
   data loss.  It fully supports the disaggregation of flows of binary
   objects of different priority, preventing head-of-line blocking
   impacting performance.

   The wire format of the protocol is designed to enable performant
   implementation in hardware or software, with the aim of enabling
   protocol implementations to run at the line-rate of the underlying
   link-layer protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dtn-btpu-02"/>
        </reference>
        <reference anchor="GRE">
          <front>
            <title>Generic Routing Encapsulation (GRE)</title>
            <author fullname="D. Farinacci" initials="D." surname="Farinacci"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="S. Hanks" initials="S." surname="Hanks"/>
            <author fullname="D. Meyer" initials="D." surname="Meyer"/>
            <author fullname="P. Traina" initials="P." surname="Traina"/>
            <date month="March" year="2000"/>
            <abstract>
              <t>This document specifies a protocol for encapsulation of an arbitrary network layer protocol over another arbitrary network layer protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2784"/>
          <seriesInfo name="DOI" value="10.17487/RFC2784"/>
        </reference>
        <reference anchor="GREKEY">
          <front>
            <title>Key and Sequence Number Extensions to GRE</title>
            <author fullname="G. Dommety" initials="G." surname="Dommety"/>
            <date month="September" year="2000"/>
            <abstract>
              <t>This document describes extensions by which two fields, Key and Sequence Number, can be optionally carried in the GRE Header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2890"/>
          <seriesInfo name="DOI" value="10.17487/RFC2890"/>
        </reference>
        <reference anchor="IPIP">
          <front>
            <title>IP Encapsulation within IP</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="October" year="1996"/>
            <abstract>
              <t>This document specifies a method by which an IP datagram may be encapsulated (carried as payload) within an IP datagram. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2003"/>
          <seriesInfo name="DOI" value="10.17487/RFC2003"/>
        </reference>
        <reference anchor="TUNMTU">
          <front>
            <title>MTU and Fragmentation Issues with In-the-Network Tunneling</title>
            <author fullname="P. Savola" initials="P." surname="Savola"/>
            <date month="April" year="2006"/>
            <abstract>
              <t>Tunneling techniques such as IP-in-IP when deployed in the middle of the network, typically between routers, have certain issues regarding how large packets can be handled: whether such packets would be fragmented and reassembled (and how), whether Path MTU Discovery would be used, or how this scenario could be operationally avoided. This memo justifies why this is a common, non-trivial problem, and goes on to describe the different solutions and their characteristics at some length. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4459"/>
          <seriesInfo name="DOI" value="10.17487/RFC4459"/>
        </reference>
        <reference anchor="TUNLIMIT">
          <front>
            <title>Generic Packet Tunneling in IPv6 Specification</title>
            <author fullname="A. Conta" initials="A." surname="Conta"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <date month="December" year="1998"/>
            <abstract>
              <t>This document defines the model and generic mechanisms for IPv6 encapsulation of Internet packets, such as IPv6 and IPv4. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2473"/>
          <seriesInfo name="DOI" value="10.17487/RFC2473"/>
        </reference>
        <reference anchor="TUNSEC">
          <front>
            <title>Security Concerns with IP Tunneling</title>
            <author fullname="S. Krishnan" initials="S." surname="Krishnan"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="J. Hoagland" initials="J." surname="Hoagland"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>A number of security concerns with IP tunnels are documented in this memo. The intended audience of this document includes network administrators and future protocol developers. The primary intent of this document is to raise the awareness level regarding the security issues with IP tunnels as deployed and propose strategies for the mitigation of those issues. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6169"/>
          <seriesInfo name="DOI" value="10.17487/RFC6169"/>
        </reference>
        <reference anchor="RFC9172">
          <front>
            <title>Bundle Protocol Security (BPSec)</title>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <author fullname="K. McKeever" initials="K." surname="McKeever"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document defines a security protocol providing data integrity and confidentiality services for the Bundle Protocol (BP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9172"/>
          <seriesInfo name="DOI" value="10.17487/RFC9172"/>
        </reference>
        <reference anchor="RFC5050">
          <front>
            <title>Bundle Protocol Specification</title>
            <author fullname="K. Scott" initials="K." surname="Scott"/>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <date month="November" year="2007"/>
            <abstract>
              <t>This document describes the end-to-end protocol, block formats, and abstract service description for the exchange of messages (bundles) in Delay Tolerant Networking (DTN).</t>
              <t>This document was produced within the IRTF's Delay Tolerant Networking Research Group (DTNRG) and represents the consensus of all of the active contributors to this group. See http://www.dtnrg.org for more information. This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5050"/>
          <seriesInfo name="DOI" value="10.17487/RFC5050"/>
        </reference>
        <reference anchor="RFC9758">
          <front>
            <title>Updates to the 'ipn' URI Scheme</title>
            <author fullname="R. Taylor" initials="R." surname="Taylor"/>
            <author fullname="E. Birrane III" initials="E." surname="Birrane III"/>
            <date month="May" year="2025"/>
            <abstract>
              <t>This document updates the specification of the 'ipn' URI scheme previously defined in RFC 6260 and the IANA registries established in RFC 7116. It also updates the rules for the encoding and decoding of these URIs when used as an Endpoint Identifier (EID) in the Bundle Protocol version 7 (BPv7) as defined in RFC 9171. These updates clarify the structure and behavior of the 'ipn' URI scheme, define new encodings of 'ipn' scheme URIs, and establish the registries necessary to manage this scheme.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9758"/>
          <seriesInfo name="DOI" value="10.17487/RFC9758"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
      </references>
    </references>
    <?line 400?>

<section anchor="cddl">
      <name>CDDL Expression</name>
      <t>For informational purposes, <xref target="fig-cddl"/> restates the structure defined in <xref target="payload-format"/> in CDDL <xref target="RFC8610"/>, extending the <tt>$payload-block-data</tt> socket defined in Appendix B of <xref target="RFC9171"/>: the payload block content is an encoded CBOR array in which the three segmentation fields are optional as a group — either all present (a segment payload) or all absent (a whole-bundle payload) — and the final field is always a byte string. If this CDDL and the text definitions of <xref target="payload-format"/> disagree, the text governs.</t>
      <figure anchor="fig-cddl">
        <name>CDDL definition of the encapsulating bundle payload</name>
        <sourcecode type="cddl"><![CDATA[
$payload-block-data /= bstr .cbor encapsulation-payload

encapsulation-payload = [
  ? (
    transfer-id: uint,
    total-length: uint,
    segment-offset: uint
  ),
  encapsulated-data: bstr
]
]]></sourcecode>
      </figure>
      <t>Note that encoding constraints (definite-length encoding) are matters for the text definitions of <xref target="payload-format"/>; CDDL does not express encoding options. Note also that encapsulated-data is deliberately a plain bstr rather than <tt>bstr .cbor bundle</tt>: its content may be a BPv6 bundle (which is not CBOR) in the version-encapsulation use case, and in a segment payload it is an arbitrary slice of octets that need not be well-formed CBOR at all.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document is directly derived from draft-ietf-dtn-bibect, authored by Scott Burleigh, Alberto Montilla, Joshua Deaton, and Carlo Caini; its architecture and concepts originate with them. The central insight — that a BP network can itself serve as the "link layer" beneath a further layer of bundle protocol — is Scott Burleigh's, and the encapsulation-only scope of this document is a return to that of his original 2013 formulation, draft-irtf-burleigh-bibe.</t>
      <t>The segmentation mechanism was designed within the CCSDS Bundle-in-Bundle Encapsulation effort of the Space Internetworking Services (SIS-DTN) working group, which identified bundle segmentation, rather than BPv7 fragmentation, as the appropriate tool for carrying large bundles over size-limited paths, and defined the representation this document adopts. Joshua Deaton contributed to both the IETF and CCSDS strands of that work, which was demonstrated in a prototype implementation within DTNME at NASA. The segmentation model is aligned with the transfer/segment design of <xref target="BTPU"/>.</t>
      <t>Brian Sipos contributed the CDDL formulation in <xref target="cddl"/>, and the discipline of keeping normative text definitions strictly separate from CDDL.</t>
      <t>The original bundle-in-bundle encapsulation concept derives from draft-irtf-dtnrg-bundle-encapsulation (2009) by Susan Symington, Bob Durst, and Keith Scott of The MITRE Corporation, whose influence is gratefully acknowledged.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Scott Burleigh">
        <organization>IPNGROUP</organization>
        <address>
          <email>sburleig.sb@gmail.com</email>
        </address>
      </contact>
      <t>Author of the successive BIBE Internet-Drafts, from draft-irtf-burleigh-bibe (2013) through draft-ietf-dtn-bibect, from which this document is directly derived; the BIBE architecture is his.</t>
      <contact fullname="Alberto Montilla">
        <organization>Spatiam Corporation</organization>
        <address>
          <email>a.montilla@spatiam.com</email>
        </address>
      </contact>
      <t>Co-author of draft-ietf-dtn-bibect.</t>
      <contact fullname="Joshua Deaton">
        <organization>SAIC</organization>
        <address>
          <email>joshua.e.deaton@nasa.gov</email>
        </address>
      </contact>
      <t>Co-author of draft-ietf-dtn-bibect, and contributor to the CCSDS Orange Book segmentation work on which the segmentation mechanism of this document builds.</t>
      <contact fullname="Carlo Caini">
        <organization>University of Bologna</organization>
        <address>
          <email>carlo.caini@unibo.it</email>
        </address>
      </contact>
      <t>Co-author of draft-ietf-dtn-bibect.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA71963Ib17XmfzxFh5oqk3MASLLlS8CTE1Mkk/DEkjUmNalU
Kqk0GhtAR41upHc3KZix67zDzAPMs8yjnCeZdd2XvkCyJ3X0wyaAvuzLuq9v
rT2bzSaTJm8Ks0hetuWqMLO8nPFfyXWZpXvbFmmTV+UkXS5rcw+X3by8nmRp
YzZVfVgktllNJqsqK9MdPGNVp+tm1qSHoqpnq6acLfOlmT17NrHtcpdbCw9q
Dnu48Ob67jeTst0tTb2YrOBpi0lWldaUtrWLpKlbM4F3fTZ5kqS1SeH613fw
90NVv9vUVbtfJFemSA9Pr3Jbt3scX3JXFaZOyyZ5bRq8Li83k8k7c4C/V4vJ
ZJZc3b2G/758c/8l/o+n+KaumiqrCvgmnu0kbZttVdON67YoeHrf5dm75I5m
N0mSusJlM6u8oY9VvUnL/Hu6f5FcpMWhztPkzmTbsiqqTW4sXGR2aV4skpqX
6OuUr5pn1W4C87u+ev3t3fUiudvmNoFFbXcGJlSbfZFmxibN1iTm/T6vzUpW
OjfN2q1z1syefZ7AxEydpPi40jwkOPBzuhNWOW3qNHsHP598J89cDD/oBF7K
K2G3+R6fZbdVW6ySpYFfMlhSGAIsut/WOQzaJDgAXjmLG5cUuW3gytQml7Dz
db5sYa0sPm9piurhPMnLVX6fr9q0gOlVCdDAOq93ON4DPQC+aHANHvJmGz4j
Oa1TuKiGK9MSn5dVM37xGb0Udn+apCW8er3Oi5yn8jRdrWpjraF30VRm96bO
17nBma2r2tBU3aQmSJT6yg4t3GZV0wAd1YXJN9ve/t+8ef3b7759+8bvuV3y
tXO7/HqDX9GuJ4l7BdMNTSKp1rRnts1gk2x+b4jvkhtYjbo0zewKd81Ok3Vd
7XQLa9hCeceW9jE5/fTZ88/O4EnAM5vt8FbLMx62ebaFK0PCw7+B2LKmOCRA
VDCKFZMSjSWts23ewK8t7BNcCrfO4yW6KIC9YaVfwQzzokh7i3S7hz/SHWxs
va9q5jy3Xul8J/d9bfm6wQW71I3HNRucYWdU/17ZbZuCAEkbel1nSBc3l34M
f6Nr52a+oqu/LlObzjfV/c8YBZNjQE9Ig7iYl5e3V7fJtyC7NrCyVfUusWaD
608jIpmHrKYbZOKfdyBfYPh2xyQTbt+yzYtVd08u07qo4L95mffm/raELa5t
3hzwYS9RapWpX4wMb51neOvXbZkvq3ne/LztuDdlCxI/SX6KME8SVh1/4M/J
b/Fe+JYHB8//Gl80hynBl0ici2TbNHu7ePoULyFyvTdzvegpfvF0WVcP1jyF
u5/icEDKtEsQzyDnWUI/xTHDLyAMjW38E/0Vc75pnld07dNBFTjfNrtiMimr
egdrfQ9zn+Tl2n9Kkpd3b96C1Jhdzf1yNfsWfvntd6ARvvvN5adffvWCP/7+
+o/8zVe/fAbf3Ly5ecOfnz37DD7fvX396u4tffPixee/5G++uXl1c8dXvfhS
rrq9vqRvvnj+xS+BSmazJF1aVBHNZBKroJWxGewxCM7jVkJyiqLhDGid93Q2
sJHJKWjis64GhjvfgKRqy9IUeJGn6+VBaD8FiqZ7YGRAi3XOmgVZYo/Lna6Q
5qrSAFknOxDmifFjg0fy3SA00wJ0D35jTdbWSO47k1oQY/AbEBVdvK+KPDsw
0+51jMQdMEtYo9LKjFmTpPt9geMRnh56MekweDoMbQUqJ+PbRdD7G1AV0fWs
Ud278zIrWtgHGFFSEZekxYgoCGaYAuXWm8Hny8h1JXN4QFs0+b4YWbc5k8gu
X8En1JOgjOpq1WZsMHX3U9fqS9zZ+y/PksfHXwCt/fL5l89/+AEIap2XOBkY
38GgQROrk9Ltefe5FxskSHjmxRkaKWBWoXQEIQQvhJ8yM6MnJukq3YOytMnp
5TcX9ox2BrdtDb/JjGD6zYMxZVJWsLDzpEvzPMSPpPg8FNH+TfIGIH5+CxLv
3tTI+7gTB5zhG7DUiDuSvLGmWC9oj9tmWcELdbdO8bknA/t4cvbxDKET7z4s
2GZ4nMyjTnEPDWt8P0Y3pR6d4wSJYcjcNL2fcr6JpGABcht4vZ4nf/oLm9B5
Wvx5Mgk/dQ3hnIjf/Y6bboFNV46T9nUOM8VRLuhNEU2J+s3MvgGSqfNNXsIq
4qAG1ZSbCOvnD1CBWcOOio7n2dt8U0a60dJmoNHKtrGzo2VZQguZnnORvSur
h8KsiMctSit6DgsGXoYkK9J8Z2FN9ZVldW+K5sCGWvj+voGQkx0MYq/BhQBL
GmyGakXKn3Y6Rf60sH0FGh3FeoaPA/UPY7Z7kzkhBpKBLELQgzDJLGv3uXgr
wQbAfu0rsC1kJGnIsiwEkv/8j/9Nd52ABnjH350AuZVge22BNXC8zCAx0+Bt
MMXO5FYgG8D8hJmh9VoZXCP0pf7egknLk4VHggDMdyDy8BbmnnRclpzjHTJz
FDtLa+r7dAmrszTb9B5pryqLA8kCuHxn+9IdZ79uS9pI2uSATZCMeCQie4g0
Hh9BX5jihx9glYFEyGjAJSNNAxOOdgKX6Ns3dzffvr74JoFLaZlYuF2QcwV3
O3bcpQc/+SPjnHb52Q90ipJlCUR9DusGNiG7C6ybWJfriltaGhJGsPImBQFj
yhXM6cmT5C0ImcsU3bLHJ601swz//kGIagt7AlYayDKg4iJHyt5VYDWxXIHL
E7pc9SN5abeq16MJzWE14BdY0V+zIvoUFJEbHlEEic4636X1IVkWFXj7RKoi
gms0hEvcFHCecyCY90AOlaOlDIQTOpUguc1qHgoIUsTyEFLN1is23NN8BWsJ
Eg2H/JJfOyRf+QmfWCfdgQbgivqw1+1r8npQ109lefApOYqSqq0zIwSI3nLK
Gw3WBnjjPF6gQVPC8qYbmKttUB+AL53BTWlxsLmsGC9pWuDGwgIgj1Vr0Hxz
2IbLurJ2tqpo1fBdyC85cBW/Bhirsz8XbpFAmd3TMGRmK7BhaCuU6eWpsubR
lHVL+JKZMgibdMi4p8AGD2m9oiDB31ted3i6DG/q7MIzEtQfYdtNk8KkNOAR
Yw6Yg80+pIy7MQvRbDQ8gQwn69bQXqBsp+f19Sou9f8Ua6u3oGNm2RfCBp8/
+/wZsIEMYGg5UYyQdZHCHqQZ7inJ3/svdTNICuDK0dPTOXGgN0znfLG8Yl2n
gc16+vh4yxIj+Xz+FW6CsxHJrAGyrXbo/S/FgIbd3RmhupXZF9WBlSOSF5pW
dbXNl7mO2xt6aY3LlZkaFZg3/InJRaOO+NWBLI41DIw9vAVHLIRNdkpaYKyG
HTxnh/c9mGqf/r1FHQVyLtu25TsbmeIWTKUi5pTQlWFTLSdNs0/rJs/gklpF
JfwMhhqQT/UAHFybdDeu3JR7cVyHaLQWN/ROuB9oGLibxBXv7VWsF8rVvspp
Q2o0O4HHUJb6r9HYWBa53bL1y24WLqVoObCkgX/TIfMR9ZW7HXYL5gFqBrX/
HgOBpG6m9PfemJqIkn6QkYOlBJSLlwNLgb3kPKussg1TQCALk+ubK1xU0VQD
zNrQ2mY4VWSINYj1hAU5cDnygyWiRdHYFQvkYIJRsxCfQKS9aEz8hTgRBc8h
iYWVaY2LbYromlXrmYguXU8UVfwwnf3y0JsdCe2pc0tByO+RFWW0qmNwwbzy
IIIKfwbSExWkks2mwKA0e6bB0mAIE/gP5lLDplGoF+UzbwjQZcsGOgy6Kmc0
ezatyHtDJmNmRfPTotrgaC7QCpgPF5aNJIyf/PDDdFT+or4CBsBvJByKc07F
nUYWBIqC/6JphXZ61pjG4v4ksJvFyhnP3h/XrSajNOFgDu8LsNGWNK0sVV1l
ZtWSDdQ1wUGEAW/YpN2j8QZk+FIkFkbPlNXGhLglKkGPgmLXgTfP41Ah8t4r
L9qc1SDLekpAJ+v9HpUlDDDHyM8O6aaqUY6BgWcwTEjvXnGovUWGxMfzKlik
NkumJTwo3SnRiTWclzkaO7LG+q0fFCq5tEmTU9IyX+gOLg14bJaVAN5AtyfP
3j/7YiouKlyr6o1TSygfYXFSp7BGHhWNiO2My5fffodmSHo4myc35crwooLG
YIlGIxR1KYsuaZbchn5Of1psLrI7Eoa0luZQifdos2pv+sQiOi4FSdigxEYN
h5fzlhDFqTmvftn1kNog2Qw37sCXukftqF8jzaBTAETV1j1LYAqfUPiiPDaU
14n9BSCxtAbdW9P6gJu9Rf4SAzuQ9mz03wJRgZZBCQE33rxJ7jT2J4a/3aY1
RYj2NNuStws0l6lBnsENLliobveo+7eu2Oh2HBD7paQTS/bRiWDYdwU7t9oc
km1VrCy5Fd/k7wzGX0HcwH/BasLX3rzBoAAM5/ERA7Eog2j4tFHkWcPS2nip
Fsy0TAUqqa2hnNMUvyrNphINqyJlSHO7AAHtOYtfeRquhRgu7BbAMsAOUIJt
07IITchvsRScchp63s2F8kz0sSWZqCAyRQwvXMS0qgNVpYqIHUKO2wxI5RN4
Y3USKj+QF5RvYskMy0rulH8OUEP2DpgUic0PCuhjnWYGDN6ywwPMbiADivx7
TaGOeOP49Pu8bkCr+keiFBq1mc4wLALj0kheMP+G4gIwCuCFXV7XFNQRiYzr
THTk3nKOkx0aOPseqGJwfOwf6NrqY/njbAlu8MoTU8FmNfihOSVKH1KMZms4
Z2QNkPtJ83oDdFhZiCFVglDg1YEXHqbOKBu7CWaEjiKZcxvMao4FEdFym7GB
EM2oqqeqVjl+qOoDl/P35iDamhj099d/BB4FA8LHFNBkmCUXaFexk3vUCT/i
8AVOeG4DcYHDuXkDFosOG83aReid5zRq1ASbOt11HXPJUJNQE2uD6MtrMnG4
xSd1+VniBw0VFyioKAa9r2pKOJgz2FFw4tFNNQNhjiimgXpFuJpM/6M5x64T
1F+PE+TgOnb8TvCNToaTmcdpK9iiRSAPYIrBOhNWQJgNhCKuhzW7JV4lgQKV
IkpxU1mGFO0oXqYRC3GaBIgCN9hjLr3EIk9PeEvj+cH2zc0Rz1ej7OQl2njG
ZCa0ZS4aH4UE+Rn7qqphDqQHiQxAk4Z6EK02UI5kw4KVXYlhAtIa7TUkL9QX
ZbJNvwcpBdZtjZY1oQtieVBU1R72xBoD2+u9bPRwNcDtPGgKqddkiza44xq1
5PwiMiA/5qgV/wQ50OlgfMcVKi+yoiwmI03yDpgbsTw2OXn19vYOFpj+n7z+
lv7+7vp/vL357voK/7793cU337g/JnLF7e++ffvNlf/L33n57atX16+v+Gb4
Nom+mpy8uvjjCavhEw2unvTDAWmtKTXasX1tOKI80eQpLczLyzf/9/88fyHZ
sE+fP/8lLBF/+Or5ly/gA7pY/DaKmPJHBMRMgOkNOPcYFCrAakn3Oaw45jMt
wnNwY0FEwGr+9z/hyvx5kfzrMts/f/Fv8gVOOPpS1yz6ktas/03vZl7Ega8G
XuNWM/q+s9LxeC/+GH3WdQ++/NdfA82bZPb8q1//24RMyjuD0W2ELRxCy9dx
7GKycCHGKZn5YM+P+FZTVeYsbmL+oFTSQPzmFEMw8OCzn5yUHjHVecShEHnY
VtY/OhBLlogCYx48BhgkJZvcfNk3kyxHRJOPj/K8GV/zww+Se9Ywc/qOghTs
koCxiJdZdAZPYDiFmcnY5PoTjiGRgi2PBqVhtPAM0R8Dt+tU4NXxAgU2Cy4R
DtbZMDT1IaOCDCryH2i54i2Vl1tGQ6XeU8TbPSlQFJuC5z1bMvCvOLxBgTR0
s+bJLYlAn8i5Gkqm6Ew0CSSWDal6Se+kG/lhMEDGKQzaLHR/gJIprD080amm
oa3XoxIwVJdN0Q/GUoh1YAutKtSXby4+OEvRyUTT/mOY6x9OhuU4wg0iCWvn
ZAehLPegeKoRb91JPl6XmGCF74N3B7gqy+vbM5S94idJj0/c5Q3ZZi4WJH6A
vi65uSLl9huhTbCMX+HqJI9PeJXE1fVpPObOgczilOMFnJ/c7YEjSOX4/HYn
60guXQMK1LDvCit+Mmz0o6lS3lfvePCymQOZy04WPwMusCQRAq9H+WaBDotn
tVD8efobCK12RBi+Z5gRp+x7pByv1CGl4BxKLsdxMHPr9KdzLdqkssvkmKOl
klyPhoPJS0bErRduAjFwxml/Mc8TNo7oFxGjyDqwX8nJIDfAbnlmwInHqkUd
rV5QTd9IO9OXEYG+sqOM9E8XGeRphORTrp7CN25gsq+2gR/gEnX5YGMw5LWX
rAuw2OPjOt/MRPIkeVG0iGNrFIVgD7udafxM6cJFd09CR5jjGz40H0Y2KEA9
xh6UkuHswLg4S8uPEvLDO3g+6pB481/JnFSv+EQhmmNb7WHVfvzxxzS194iX
xH+xAfIaeX3g35XpXjWZ6ABeJvP5/BSNYPk8DZ2ynAUBvPsMLnPX0Nv/MfSq
D/37y8+/9R+TMAtMe3o2fvVpb3vO6NX3P/PV/zKL/v3Lh27pXj+BSUeE+8E1
+EdMjP+Y0LI5cv+IVaQLlGr/SbP4mPcO/dONV5kupHQ9eHFghl/TuOnWU/1a
fWSg1d4/EUScPnG3ivUhKWYk8IF/jnfpU3ArfqVyepjknEET3PpzKS0hMTub
XX5zMZv9Gytw9wm50H3g6+LN0X8uj0ueSMA3sKa69ihNJo+L5ImTxAkVFv3q
JLB+RPDGQtc/5CVKfH3gCVhHv6seKHVzIeG/owFcFqydKCqnSkjr7fLNtuGy
D4oGfwju9VHB3akLxXEWOMd4DipkhoCCsnRYHg7edqQOOUEYMNjUJMoRnIAI
h0qDtnOQsUE6cSh5KC/ItlWeoaN0Nw7X4hQAjM3CB8n4I3x5fBV46TB2iFbD
UaPB5ZGkzIbYJpekaN4EmUoKR9BOfNiU4QQ0KxI1bz1q5LP5pxFqZCpAwb6K
Rdr/xPY1rSwYrx7bPvrqn+aaRLk5NEFXu7zMyRDBEJtE7cUWHIDxoKdPMEqn
LtMgjQV7l6O2r8FG9nkcAk5T6QiNh4PyQ1Y77SDBsA4EmKO0FkXZESzRyQud
dqJ+FCzxjtJwdB+cHXJkkAEZ6KerhKMiUJbPebWE3M0QqMOo0qxJbGZAyOQU
XnDrfvJgimLGcUsBOZwECbvkwZelhRYo2VTgRWk6v8RRlzkRJ4GUSOanaKmu
8oz5uUHMC0e/g+E5BMVxJAJs3siySFSMuIzNryb4mSMt3SCUw6uyW6gVEDuD
WW3iEfrLumCHvItCw8Q/FMXGacs9PeZFQggQQ8y7DjWsWAgPWSA0KZIn7uaq
9UxEpNGPAtmpQP42gq1VTLxztEpwl+4JIx9F8omGa3THm4RxKb0cA7AsCEUJ
eNCgYpVArBOqKc1WihcdLITPYyoUySdkKMZ+phJjWRh1XT7KG9BggWTwSBR2
IPAk3u9CKao+s/PFx5KV6ElrwuacubqTw5Lcka6HaKnAxe858i6m0c96hFDH
IEWLRIHvDiONOhmKfLxx2BeO0Ab+dPL4JHKvJ5M/KLjoeABiZRoK9BrWDcvD
qGru5aNJ2/JgY4nH0PM0RmRwNP9IHLip8Bfkaxe9GcPWBKEMyuuRgzwIKg22
WVSTi2QE90mWTYlsKK5BiyWjxwxy1+4a5ZIYjqfi1F85a/KdwJooVckrx5J4
j575ysXHeKcp/yQ0OmJriZYPJBK+801t7vOqteyNcqpSyqFVtXtT4MX8xfx5
xxiw7fJvWMwxmMoVi0AYH0cQyOoY9OuiUGS+YCpN0EtUpAxTIFWM7NBB4N51
5an6DIw8PVL/1ReC3SjR5G5cQBA60UfgonxE7eQNhQZveAiFKTdelskYnCIy
7zNjNPW3CVEKQJJkS/DEENyv2qgPkO3i86Ihc55Jx+yDFUPapbOTQbRDpRSS
LT8RLQPDAPaAJAeyBHprx78LpjT1uQn6XkWdR6473RaU1tEEEp8dw9+cXsRg
37cokR5yqbWSJ/Hgw0sHEjcdvah76eHcYuD7Z2iRzcgmeMuj3RN4IHwDic+j
kS28k401YBx9RBAs7ITudDRlKId6YhZLQNZpXoTGXXA9OzTYSUAskhhwGSLM
X0TiQQC2o9FZp+Ho7QhRFbupV7okvEjgE85fe/YeRxCTEq/2wvX9ze3x+1tE
iQo5Ew12KHpMZ5/as2nHbR8VOqOLgZj1Cp3rBsxExMW2NSlSrh4DN0geDlZO
aYzY5FwuNmcjzaHj4e4Odg2HRFL1oSQA+Im+6gRrc0urnRDWbQHkUK5m1Xqt
spk6XjCgxxUkpILuxN1qS6wTJbugX3PWdXUEnBiKuMcnEZdNJr9BMY+7OmLx
w7jYXh/OMzzkRcE8iQIFPcb3+a7dKaeB2PveBGzKDwU9dTIseE9Ec4m06ADs
0xkVReYf8PAGKiC8ZE8z2A0wCFCTTFnJvU9xe6Y81iLf5ZxzOFKGWylu/Li9
bCneoblM9PndMKgcNs4pqFYQZbwfKZRYDASGYOQEmRncIub6oGyCpshONCFr
cEnasnHafAQjhoIQjZ+tAZV1GkGu0I5uTEmsy8Ji6pQbgY/XNSKntY0JIhUI
+cXXnonEGcFloWlX5BvUYQ7krP7XU6UzDtKRhFT0PJZRuoq4UjL++CPh3VZc
hLBDOP/G+AG6aJepZw8gh6sHoOlsC5yPHYIoZihYKScBcEAn8gCp9JwmmzbF
XgHGOP3agVGMi9LcBsFa1rcwKnL2cMcKEiqEp9HZa85WQ0EhnuyQ1K3ipFGW
oZZm76TvHjjNSrbUEYuMORTegFW64YbECeMBPeAWN19Zzg5+8DVkR6sh2EHa
6wxKlJ8PlQu5af5bMrMgpKkKSBBx45YfQkCxjQ5yEzvVCqMP3qZOI6LFKFWN
tc91UHOAcVNBrc8SJ2F1t36S2RjjSTwHkBQrk2A5JT9VNeCMD9m/03DayM/r
NVjk3goJfqEl/meanSYRk4Yg3Mftz8kk0lhxUStviq4K5caD/gRxkoMmNVAj
IgiVkEVY72PjH0TcarjCVRP3oShk++ntzrUMBsPYJgfDQO5TxGe6wyoqXxEj
77FBGEkthnkinDqindGaHAyRcfq2+cnhuH42fTC2RiKIC2ayZkTvSKjSrQji
sbtb5BdBgoDnzCo6Gi5Ly9qdwsLwpX9j6uFySlwl9izXAdMrTbuXo9GL8dyC
obNSLEANyA7g8WQZpYU2BXVJGbIYFXToaM9JTxc4GdmjtqSiididzK13LUai
qRoQwnmwCBd2vr65Aia12RbIJjlljvgk35ef6HdYEBeUdA09fBq5EhRpoELy
Lz//Cl0ZLDftFFggKQ5ERlmvkI8VRCfIvkZ7A6N6C6IhT2C4po7CqCIl9HkH
wXUgUbfc9kvvg9cMEr5Gc3vomMgtQCKb+ygeayurUTxVTx5rRb/iTNvSsilC
aS4XAJbVPoQSoC1zBlOizFb0hy+GwiXMwWYfgl0MU5IatvSMfDRKxuaJRIdj
5qXfkTgabDZgF7D6DyRvdnih/ErYH/yTt+Y0DEp9Ov+8k6M6oyTVqk4fHNxQ
Qh2hHWD3WH6CJu3w1DDoEF6vieyyYt2aU4MjGCXMhMCaw067Y9K8XJu6o61Y
R6PHXkrwtMDybxo0xbHbHVVj3adFy8wW7j6tvUv5+IKASMqIwRiYoYL/Nzvs
CVew2Y/uQ0AnXBrhigE8/iXHsC8sZmYGBbmzMIUGy2rQgEzXjVG7fqWuaZGv
DQY+sej0uLgTGy8260KaJwkj8Fyd0/SjSjQp2L4WTTmsQ7ZY4XHgEinuFgnu
NzwOW2Ww4Bu0oGO7wBXfKQySljahwC9Qt3gyM3JGWJVHk10a0DNwv03Xhsp+
W0v+N4oRMQRDIvjEhi+YJ7cduYiinDUzLy27yYTw2hyO5/058ErVncG9AkXi
PGKO33D6VzwgUIXIldH1BqutYdxA6jlWOlcwuSa3a69stDkCNdSpm4HYrpdW
/QFLeNBwtdYeUegWNQTmHmmE0dTR9KoUoRALZCZeGQSlfBU3B1o1f2e4Cga4
AeYhPRV8as5iw0W8aV0QWuLUzDdzbf6owgo3CZ6+259h96YGxH7+vaHeTfr3
gl3Y1nUCuE9risDMxMqm11JxNRYnP9TpPnEUvtJVqyieBG86WO6DkJw+/8//
+F+fi7F9xoVKCOaAYasQmnZTzZgzsVJf/s6YPZvWvlCf5Sy1maDmhKDgvtMQ
JWg3H66U+NsIAuKIac/FWcMWdRCADwqd0sGg93h1u4v+9BJLL99cSO1Yy8FD
nRkFSc3Ksr8ZtBvyJs4Xkdbq4iX928VKDcC5TpSCL9lkZJHXXUykFjq5Uuiw
zEGKhsLKvSlJ4bC8mmS25AI5OxcXm+cE4YiKzbWEekRekP1IJC8L6Z4V16LT
htIXAiEZ3sSuJzrQGy3QxL3Qu/eWppFzxbuNlfloRAdvRcnJtwpnqK8WtIU6
d4/Ha8RtZltB/K4cdd07Q/kIveufM0N5s+3NTG8P6JiSi4Nh8dCJVH51M0WG
dT+Dph4ZCbbWwdi0pY4GgU+rzSj2VF9NwB2vod+Zg0+hsykqnZTUSjwS2ZyG
gQeQnLfRnZJJRCmEFkiRC9KHQtngnByx4PKotRn7iMoWyPpsZjwEzic+jzpD
e4ND1ZLENXhsBHOxDRp/rOHISuso/wSbdrtggwxcZpJbjLSSDjPSZQfYUzIp
pDeH1v4Ig2oSJEg+94hQZap8PeOgTbIvWttJdEahZBJGnOa0HBISZTXtkj2o
Iu7fuDhC6zGTSi2nKPmQdQdXQCNAnvRyiioIG47QbPcumA3snnW7KlP4JJ6e
BBQCqz4wy/aSgCcjTvoV9tcmtMvhIuzi+/FLEy6ujnRoehr3DDr/oeJxzuuI
OXxKlezcViZspVObvZEQKZItOHU1B6IttyBiCyHDYnbvHrPjTtgdSvKB8bgp
F7g5/TCrUqUfIMdFCa2H8XmY5Oqg/VQkTOnfKp3Ppfle/AybvLr4I1WabmA0
mF9j2XygZEOBxlS0b/wCeTG9h/dcs6fuPf9lGxlnvI89HWS0qZtoRTlyfeTp
N+DKsxnMd1PqOoxNS2iBe25/b+qKzKWQKajtoDGlW75pR59qIG0RjyTqivJf
a6BNj666H4Lsl1n1lOct+RWoQgVZf0SDcm7X9iPCnDtzlCRFzFoT477HwC17
Gz5wi907fITSXapoYTdwzk00YWqi70pqBnXAgyXvltOjRTEeio3GO+D1crQR
3Hj0d8m/DtPiQqzUyAvbGRoXVsDQOAxjKjKEb8WXhS40yjZyY/guyqa3VrID
XGkWji3OEZ0NROo1Ga+NhmRBMoJtPdQVRnIRM1vVy6gUkuI8wduw2yvDoLjL
IkgxLMRG/mgElAt3DSUKeo2LyPKAxUyxTajYHOCrpoIJcA0buXIXZVsZwA1t
U9WYh6QBohWF+R2w+TEw1s0p6BA8CRFqAGEFWwWAIcsLepnRJuMeD5pcFAQc
YmcCPqKmiguqJBb1+CSCdQwEkz6ioLAPDnWQlY+tiDwXoDz7XtqcEtZwf+hb
sUFYuWRATAQmwcZlr6NOaYM3kz0RpcCltVEnE370/SR69x/qtU4dQrzRGtVN
jG+ra5dsHL5PXuI88LC/mymslltoExxGB3DLKJYfDOYPn6y3j/cimXcSvBHh
5btdyyhXlqrRZSr0FBAxQJ7jlYUddNa042udBSCTIIgnr3IgyOPA5X5R7TkQ
OQe9jtxWHgWeCfWSeb/TKgdueCTYiVXucD/etJHxxHMkRDOYhE0KhHgU88/p
Au+JzLldeV5SsEte9bBlAAK2H+Mynw42e7S7bK/RDCHq6nttm+SbX3Hc6pgc
KX0JV4iPxABJ4Ndw9qNbt8J2//l4ss7FvZfSOC2+P6zPV1E977XbDK8aC6NJ
RcxwZNx1QnVervNnwvccO2/hT3+hocOEKZjpPtCpKZp1D2xc61c1rCoiR1La
9vYT+GGXIW5yNrjesEH3VU5gwsPwFXQcCpFWJuDMPfr8sKUf7N21l2y3hHex
CoipSXLyGCa1R/dyXRsSrFs8a+i+Ktqd0UIZtirfiKDnTlqPT2LbKYJLHomZ
dDVGnFn7rAP3PusjKrVAAfQoVk1JB1CXkI/R4dwmEN6+wN4VUbNUbBzhpN+A
IApqoCS37culRuR4p6MBYjiiiBC/0tcOHQ0x0Y8q/KV1Lc57IEUe9LygDBhD
O4Mytg9lLzE3XZWHHeLyT1dNuUCg2BmbFZynXptUSjWpuAwPBGK3VmBqfNhK
H8s8ImlDSGDqewEXMGSwo7nFIyEEo5TsuUyT14swcWQ/d6r0pCdl8oeBzra9
0NJUs7/TMEymOxMKQl0XZqjjebfIz1AqSwMTOX7PkUhgCGDwGJ/DUFQOsR+d
CGQfoKPoLLTOC+owymsqJ30QpWEc0UrXZpcD54AyNwN0zyf4JPo62koIt8XF
GNme8K15Q4fjO4Nx4xnwqfIiOPGpIlCckcZ2/CiDzN0pNUH4kCyzqkjWRbqx
P/vRXDhHzziGrqbcLCadpR854/N2rA5PhloLjumHE3pZRHLWoBlwiTKO8Hma
pXOTOi4Ou3z/Zcz16i8QmjoNTMqs98JjSnYy+Uby6JFIxQAt+WIO9hn668fq
606j93OUV1P1Z5IC7MQKjj7adwuL7HcHMyNfJUBKOawEpTawa98x/2m4Qjes
HQHaLyhcl2tJ1UMK7OFini4246GAbHBIPFEPiCTXPBQS0rCTfSEGVZAPvMco
TiSCHHiX4/1xaIGegYJCQ0TSLCxcVIlOApEXuV/4tDnq2EUde0ETNOCDq8nl
m5mDsAAHLsKgc8vePASIRZV8a31QlfjYkn8oGAEcHRbMUepOCVgpWl7qaHBZ
gAaAa0nDu0Sw3Cj1Cx4oEqQ9oxnTfmG0oax02RywbUS1s6Hm2ysHXainvTwp
9+/Gx/I2/8TaAPKZxCtRDBZqIaxW5eKH1KOegxTFT1ZyFIYbxpioKTMc1uNi
E4IIEhgGNDdBING1Y5k2daeABAwfQ1zQOTNF4WKrdPpR0zXZpC3RgLds58kt
AY1Sb6zKi8h0+HuL0KvGHZ3J/ggSSSyx8OlKMvF5GJ93UWPEuvhwJkRpTFEj
lAM1WVpkwuyL41B5FfyccmgsJ+XQPujJcu8oujFikb9xRjM1u7ynCB4mVelF
ckJYNNcuvPSTAErKNB60n0f8KqG5M7L6XdspR4vBXN0BNRRIBNkB6mlPzSco
xgpDpdmPLsgnwdRkTo5GnATwk0sF3OxujmboOx9qvO9io4WrKRqg2Fz6NK5Z
7ZjX6IfKlpIbqn9z57rgVBGW6IQKyqV32mgoO6B7TK36LFNfeVMlLgcD7rlq
KtdKUumZ5Q5K4C77QUM64fOBp+YDte2B/fmJpdBUyj0ZsBLZq1H/EF/gctxW
0WZ5dGgOzmAfAe2In11GrZPCnw6M/oyS/eAk5fYdDemkLbHZFjWH8eficac+
7F9JB66hTNGzk6gzK23gALfyAloT1Kz5OcuqVTLurZR6g8THWjj0k/DwOfJi
Kf+Ops5MGXyYHrjHnd2CvYJJTyF+h5xyM2KDRxM9aLTjWSZDWRc6GA37hlsq
RZDe40R42NGPIh7geADnUi0Yh/JVucex5JEsLmuq5uAPZ3Il/YgwOotQK71E
w5jBjoFAY4F4pZeDG+ERC06MG/Rb2oKkqGp5PrKaVDkHQa5dXJvCILZXse2l
smvVjOmybmUY0m8j8of6SLChQUHnQyoVNZjoNKuf7rpIxz7F21RDJ4+RffSB
vg94TEYAnOauk8nvqn1ySaVyAwGcF/PPesDotQatp5xleViwHqFnCLAS6JyS
tqPFqsxqW3g333c0oUCRkqmHX6Wre4re+qSl15yDwfa4z54YqQl3a7bHArvd
lnwSQLZsiKQJxlEwdXsaPpp6mWeHM6me4Wbe3EgS34O9u5M4gsLhlbDekztM
9jTUccUUb05t1r4jV7o57qQhVfM7hzo6nB7r4SDHgCl1U5keNYBY0f4uD/S/
caodOnTUdWw9OGPOKRt/BhNrkePpLLgsbEYD0olbTeYZg7fY+uxw8wd6PgRZ
BZIueaHeTXhHh92iwiW/o91oepzChBe1+xX7JC0FJGIadhpB9nfkUXFiMv2Q
NUdBhBVqKeRNbw50+IddKOUIeExbUkhcC7nD45qyMD4/OETp0s1i39l746A2
KTam5+ExGwT5xEwTa/PAIHQPO15VP9AXZCADp4ewoV7KutItpLzuTi9AflHQ
rZKoAeXEuqm4QOwBF8qLKYnn88TBVvDxA4R4V0/oMJzFchWgufZTk5R7eTwQ
DjMRpkDKBw/pe1Nqnc7RJ7gVCxrcDHbsHRY5eVwgGKWApWQAYT4+njr8drGH
nQT3LqfKEemEOw3inGzlgUDO001ZIXTdBVGGmnpTdSEHbdSNgKmCz8pzJnO9
UcLBXYBd505TYrTzac8DS4dBdIqbdyO1A0BzilngDa5jYADX9sijpXK4HlHO
akroWdpDfAyBulN96RAlLuemhm7N8H7awCAjG0oEGqNLQrjoWP89xYY79TKk
OfigNgkAecNVcl4Stn180umnzxzxEYUCLlIDg3Cpe7IS/HlkUy6NUPd9xQdl
KKyV6Ygu5OYMwQFunT5AODjtDc43YE4A73k+XoMAaofOjy1MiD/ubiKDaSm/
Nx96wYvB7IpEXLeYW4xKzTlR6E7+obI0F7dZmqJ6mErybgh/0B+O80n8OumZ
3OTFMMhq3ZLxBZ7WOZ07FVSTp/7KYKn7ODWOz7jj2QazNp3eMVj0rBEpqyeX
wTYFUVjpoN+tq4yMmsg7cw1J+MRoWXVcuHKDbh9WR6481OUnl1hy4/9um4JJ
CKgcG/Mmd8fmRmX42CEggtMOJxNijPdHvETA4O7xUw7LoTsx1VetwddvfBeD
PiUF1anDw+rdIkePHLDwuqkJgHyci2/K0SIgdocItet5b6wO+JxVXS+P2XkI
NYBt8k2LcrV/EObxTSDYJos6DEtdXl19g7G92gSNiXIbA/xd+Sb5JtlqxUdG
PEmunJuCZwKFXszjk8CFEabRjH2SbVM8JAnUHylU6luCPYf8qTzqE5HIIPyi
fxzw13OUbC7BRYGv+Jg+fNzwwXsJFduEloeG/vlJfA5qHpyFKOa8hpB4gGFF
KwcnOs2K7JidG0RKqMUvqjDJtj8NcO5SMUnp4RjyTvVWU6p8mro63DNuF9za
plodfOPE7uQpyMYxLekgyFo2JXCIvoJ7AI7QkKXSYkqr0UmEfgV2u7akmeAz
PcbGzmW/4h4FCzknceVw/ViU78/VHAFtUNdamsQYqlD783bLnQJJH8B4f3J5
V7ct2jSM13ITBMrqWWoWHaJYA7j0aZSUc901+kNlAPGQAjvtnwREmJrp+KpM
qUuJOwWWnDOSqFQofqzRE2lz8fWkQzBYmDBK39pYz3SmzHAaWAxpp0MV5yOk
pwRhTuQE+CMVde6QitRquS2TM9ISDV+8z+EzRVlJk2Rg4kGug3cod3bOgfUb
wXhuTR6yQxocl5zeA0n7ZaQSHimDbVorLwlStJKNcU0iI6+CiYCdglybxqRB
h2kxzOOO0oIY1HagZPy6cCqfUugQCVVtMWEBb6RF+DPyZYx7HsmeqTBMggPe
Oz3Kxlk26svTIQaes9a9xUUbQgdmBewRJkNRR3LUjwTLGJSSweSDsEVJ5wYw
qmEp4NwP/wwJl3BTuKjVC4JHKQYfwgtjsBZpKD5Ja4ll6yUekaQI44AxjR11
Oriqu9vF13MnL4kkJ/yZjdMPHB/IWDxLp6C7Eik+zfVD7V8E8MqoI+6dPNDl
+ZTWkpTziv3DZNc2XKXvh4bYtP5ZQ1xfs2ozE6PsEz2dOdJSlMbxaChqBjdP
3lI5PazI1GMNhAy21X7GLeMYE09PFfBu5+QxF2OjwK1E5XD6My7h5K0Si1Pe
4hEG/fNuyQmRyEyQf8rjzn1sJaxbK4mCYLpBj7OGwEabkv0jdwSc5h/GDRCK
nhGrS6dKPg76VOpbwwhJh3Ro0Sgid/f29Tc3r27uuP98v7lOonEpohwr8cuA
xsbpy+kFoHCG7QcDClNZgWBD+x3IuZk52Eco4UUFSGQDe60zGmJECMSlGFMn
C4lFsaeKAytr51GUY2D3iFbfUVZDlHLXIGN7Kz6t3s0YEWjnLlzjbCUKJXEp
kGgYLkcO19vwccNcSjJ8FoEqbE7hkpZs3BEaRDZ7TmbaCActWiiorZZxc1zl
yqs0dAICBSfnpwUtCxP/c4xjEqJdOEtt2CjBaXew8rarwpiUrHSx40t93d7p
eIXeWdQHvKPR40N19RFfdNIhDufFZ8ShNOH2bs1wDgZjs1sQAnMq7nOv03AH
tagzdBCEi1VjlrkqK9rQACFNUpaTiec+25mGC46ypm75pBFfi8jNBhQaObzs
3ebIZMxI5M33JSfAQyItOTGWFE+JD0M2R85bk8QaSECJ6srZDhT6C4K9LhNB
vzbYOpIxYrLqtf3AcRDSLtIQ/IBNblmnXKKrcsYfq6JKG6VwE8norPWf2bYd
zenhdI2ciE5bH51Ho+tI/IFvOVELQUHqJx2idSUWQz21ekcd+Kk5IN/IvdZI
YjGiHkn+eSTwB/yLxh0QNVC8OQ+6vOCDB9YBRplFqgFJgAthwONiWBANLyAd
BgOwBXoYNbkeQJmChwFsIhqY0oRi6bOoTzKykhn4d6KgWYV34knFGCmhM4al
EJJOL64ESuiUYGhp0nbhAOVSfCILcDqAhZvy4LmYbFHJU/BiLuMAX7wE56fI
N2jU4feY3medzZ0TjLQjJoOGnYal0RmSkgy7PwyZjX3wTC97TYe4u1pZcYAJ
9eZ0s26hl3CDGeJhhBQptHo3BcnZlu/I8MA/pmIc+qIpqn7OtuZIz5Pz8LQR
IRcue5ZshuaLekDHoYLjTkIKSUi9oFN7dgQ/6rOxB7VVgvKoKGluEHHvONWI
DGJm9EXudERP1S0/9LnlwcpD1DLH6tetx7Y4fTp13KaHYndyL8FeWyxD6smd
8yMQjE9UlFFI9sNgjv4hinfgWg1KcwF1DRCl0JdzyD+6K9sRagvr4IoBzHHU
ktobK105PpAWYxQYl7CD7qKEGgaLKFIu1qks8EhVCntzrLxjk3IH9k7agGvW
7UcemYe6CRRSwse4Wj88bSS3RipRtfKPRXocpaA+zpaxwi4AEkcP9eQ0b9Zz
yWaN3HJ0hsfrZqcxXP4sqRAP0YkDHYXPcAq1zLD+nRIQ6qWiRX8qja4Ppjlz
nkVgofHpHRyNXzLoqGM3pUsUDVKEG2Z0xSpDKYwNzNEya+s1JUexqIhSq9ye
/7SoNpTkRkRHDaJo/JgzDPLfKoavF+Ifs6kQVij3dMBN1KQaa/YpFwBvrfg0
I8pPPz7+IjCdYUrcRP3x8df89ad0aAbSCvtBU+ce6MHMSiwkG8Ut0fCTHxBu
DequBntcisHnQiU5F+STS3t7fakHT0hDqKiY5uUbdt/Ez0NTwh2ml+tRtJrz
AOPcsiy17Chdkshhj5SUOc1WnCQHMuUusy01t5JWq3whFpa9vHzpW/W7fPUo
ZcKX9WHffLgbrT9Vi/Rn3AaAFjB11R7RAwSdyy5Yx5Tx1vgo/ksWJq+zdqdn
xsGE3jAo8hrTVnyW0GRyYcMtcv4Vb+VU9tL4A+EI5YCwIsJkltgb2luTdA4k
DUJse8y1dm3JhYKlxuFr/mglCqwo5pUKySiAw7Qj6pB6QjbVUNGJlkstD+E6
Tl0IgnEUrhsQ5gM4rOgCg1mNVYRw05kriKHzU7gTuQzMI9L0aOihibnyNqEf
d0RI446I1GJmNdGweofaawqelUJMfIyfgm60mQkhqOhaBsoXhzGtwRUKcOVs
VSGei6oT6XhEVhQtSJMajwp12RR6+czcp1Zca9pMuhpei/V3IYBoRKWSWJF5
GE+CTCtxeWeAOxZ0gbjkXmYIfl4Mnrzkoh9VHSstUHNwaQ/jzTEsArS0EvW+
QsT/8Ak3U3/2VZJb7xEm/rxus3KlHIE7D7xS1auhGXFtO0gi28Q1MmPSBjt4
q8ylnIaGxKVduK7o+z2d3YitZ6h1aDVPXguk3cefZIjYJ7XOsybiLnbiBnW9
1W6XQQyeGB4HzhSGFrTliDNF9dMMTYOxaOnf6EwRJMoWjXvUGoK/t642VRDm
HHfnzkASGzZyXs2+qtYCoMfVuw45n6GChFKNzpF1wcGgPlscCxED/nzJkepI
Ec5HkI/SAoNsyJ7kT7IizXca1Az5jawa1FiwrMCqq7OuCDHSQiovKT7lShvw
gYpU5NEBUcb150erSbnOTtoW3DioI38+BRl15rGOgZI86ywiQdBCaW+QhSjk
PA4mruHBJSahztGenzXVDHPhKXavTcvjy+wioGzffHRTEW0BJht5/X4Lxg+u
UqfxVyC5gL0q0Tpq1c6Mu087p1ADHnfY6iE+W3KgyRdDADr5dck5kYUXt2fj
Xr+wtdrkPjKxQ/Tu8a5UChZzBYJHgBU+Ec8N4JDUgmImg5jmRTxrav7F3cDp
7ITB4AO6LWnZhPWP1rfsHuvhgbZht55z8MDhqOEI5h76J+qG7ZA7Zz8Gk5Hc
1siRuVy9zabReV/OYsy2W5EcdM0gzzr2DaVJG/ePI9Cdlw4BV0lbUVk87UbG
VZUf7ixGsfaQcoBE801KcP7cngcQITcTdRUo9xFy/VjpEokUgQ2CABmRH1qv
6kifNEpbBrP2hd9lB2bIqnmo5xr3RCMDqyMGS9D52JVI6L/SHtnBC1mTIQrX
nwNZCJaUDhRNQxlNBwnlluvgUATHD4o7/u3yJh4v93Jr91Hem00ZwfBG9pI7
sMTZnoKFq7U3ndG9FN4vUsuNLOqGOkoM565z7ggseV9OFMiChZU2cbjC1Zk5
gBclcz0+nvyz5Obi9UXf482BLPvebow8EdajB6T8xMX/v2To5gvgDcdlQ+46
Ufr8zkegmj/QWkrffaTLEZ1nRo2OqFHObDZLlqBlcFEJbXjt0YaPTwhMyIXq
DpZIKJZ9W5MHjAEZEDQzRh1yq3y1fDxIMeq52YVF4bf0Zo4kfPXF82cY6OHm
EMrbf/1vehtZOwQE/StMNntnmvDxF/s93vU+ecny6Bednuu6xJGLpofcC4rU
48PjiolRNDVnOgWlz3HNTV21XP8rsSAs3pRAbnLaA5FyrzQfyT4dBqyeBZ0n
EFtLsWdCRdCuPqCJnobQWOlmC7/SCrvCcUxMCE6WWIfrdrobA1Ix3dRGzoug
m7jcFHnwxx9/THDXJwM7kzz9VbKEESTzbNk9x3cml4fI3uDr5FfJnyZJ8uvk
FP6bhH2+F3QGwpS/DuHQwfcdDDP9Aj+c4a99IDGNcfJnnMrkcZE8UUIGu6Ep
zK9OaM38Mh21dmX4J8kP4YHqRk9e8McRYaMnQSirBaZXcdMtBoj5040/brPO
eYeDQ4aJjf0ImD71TEjqrahD7ECy5fwWB89L+Xh03tHQBPprsMe8DH9dRGho
8e/ihv+nLniA40RmO9N4HJpHSAuxHtFAgvRPGMBgiydN7WG1rYct8gh2zS26
8DRVKbsh+czNx4XlqbsgqZcLhwMhewWog+vzzepXJ2tYO3PS0yu5Js2LTpuK
FRhyzSw3zXq2asrZEhYWfWRW6axTbrOqacC5rAuTb7ZTMMXhXaC8XyGQvCjS
afLvld22aXIFlp9mby7Tuqjgv0AX5wwlrLNtjlqyrYM4N0YUXVWhO8BP+iRl
Bs/7xUiHpTNKgrPbg97g5Bxy5oECeXpG+gmYh+/kyEls4G1SLrWVtr0CVl47
FlEnWdoixLP+JDg3LZYMfNakP7qqs+poY8CUpeULd8bBa2TSRfLps+efUYWO
g4nJltSwJUt5Pe3L8ZNAH/j8BH8WqFDt5eXt1a2EBmZ5OZN6wuuIiA3GblwJ
7C0dlHJDGRFeZGTRWzYTQELc3tzOru5enyX6E+kT15lRzQjngcYnS4c8SqH7
NRiEwe+yfeDZ1tW+zslEr7BvFwYKFBbPnqLL6qIJiYFMxuKhHQovkS1T/Sso
g/C4j3i30hVIIRBBETUHDV0Zvq+dY26u737DlE4LjPKz1B6HFMnF04l5RXhr
dixkG0GhMsGx0RMD+2TzYIVfXSPbv764vZj3j+3lU13zjzkAlumCRTND/rFD
GvYuTW5zsJTiSW6lsiMgyrB4wzMC+iX5nrwweDT2kuTwgdaH9HQDR+DobFZs
wdAIJBXfJsTt2GLpCNYnIEKoEwsPkWU2kmU1y7J6I7d2BPbpp8+e/fKMBFtr
cQUOGEciwfWyWiZX4C0Iqun3aB2JIIAJ4vhe3dx9dw2mfY1HljG9MlYYDNCC
a2mwAQrObd2S3+gxe2DQ/j+/7TUwh78AAA==

-->

</rfc>
