<?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.19 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zzd-idr-sr-policy-scheduling-06" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="BGP SR Policy Scheduling">BGP SR Policy Extensions for Path Scheduling</title>
    <seriesInfo name="Internet-Draft" value="draft-zzd-idr-sr-policy-scheduling-06"/>
    <author initials="L." surname="Zhang" fullname="Li Zhang" role="editor">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhangli344@huawei.com</email>
      </address>
    </author>
    <author initials="T." surname="Zhou" fullname="Tianran Zhou">
      <organization>Huawei</organization>
      <address>
        <email>zhoutianran@huawei.com</email>
      </address>
    </author>
    <author initials="J." surname="Dong" fullname="Jie Dong">
      <organization>Huawei</organization>
      <address>
        <email>jie.dong@huawei.com</email>
      </address>
    </author>
    <author initials="M." surname="Wang" fullname="Minxue Wang">
      <organization>China Mobile</organization>
      <address>
        <email>wangminxue@chinamobile.com</email>
      </address>
    </author>
    <author initials="N." surname="Nzima" fullname="Nkosinathi Nzima">
      <organization>MTN</organization>
      <address>
        <email>Nkosinathi.Nzima@mtn.com</email>
      </address>
    </author>
    <date year="2024" month="October" day="21"/>
    <area>General</area>
    <workgroup>IDR</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 53?>

<t>Segment Routing (SR) policy enables instantiation of an ordered list of segments with a specific intent for traffic steering. However, more and more cases require path scheduling to improve the network availability and resource utilization.</t>
      <t>This document proposes extensions to BGP SR Policy to indicate the scheduling time of each candidate path(segment list) and its associated attributes.</t>
    </abstract>
  </front>
  <middle>
    <?line 58?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Segment Routing (SR) policy <xref target="RFC9256"/> is a set of candidate SR paths consisting of one or more segment lists and necessary path attributes. It enables instantiation of an ordered list of segments with a specific intent for traffic steering. <xref target="I-D.ietf-idr-segment-routing-te-policy"/> specifies how BGP may be used to distribute SR Policy candidate paths. It introduces a BGP SAFI with new NLRI to advertise a candidate path of a Segment Routing (SR) Policy.</t>
      <t>In tidal network, the topology of the network will change periodically over time to reduce energy consumption<xref target="RFC9657"/>. The topology change may cause some of the paths invalid, and lead to path reselection or even recalculation. However, the reselection or recalculation takes a period of time, which will affect packet forwarding and cause problems such as packet disorder and packet loss. Therefor, some actions should be token to requece the impact of predicted topology changes.</t>
      <t><xref target="RFC8934"/> extends the stateful PCE Communication Protocol (PCEP) to enable Label Switched Path (LSP) path computation, activation, setup, and deletion based on scheduled time intervals for the LSP and the actual network resource usage in a centralized network environment so as to improve the resource utilization efficiency. Similar with <xref target="RFC8934"/>, in the scenario of SR-policy-based TE paths, the resource allocation efficiency is a big challenge. Some flows just last for a short time, but the TE paths resources for the flows are usually reserved for a long time and can not be used by other services.</t>
      <t>In order to solve these problesm, this document proposes extensions to BGP SR Policy to indicate the scheduling time of each candidate path(segment list) and its associated attributes. The policy originator can deliver multiple paths with different valid time to the headend. The headend determines the current valid paths based on the arrival time of the packet and forwards along the path.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</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>
    </section>
    <section anchor="motivation">
      <name>Motivation</name>
      <t>This section describes the use cases that may benefit from scheduled paths.</t>
      <section anchor="tidal-network-use-case">
        <name>Tidal Network Use Case</name>
        <t><xref target="RFC9657"/> introduces the time variant network use cases, the tidal network is one of the typical time variant network scenarios. In the tidal network, in which the traffic volume varies greatly at different time.</t>
        <t>In the tidal network, some links and nodes are shutdown when the traffic at a low level. In this case, the availability of nodes and links will affect the forwarding path of traffic, the packet loss will occur if the headend can’t react to these changes in time. Therefore, the scheduling time information of each candidate path or segment list can be added to the SR Policy to describe the valid period. The ingress node doesn’t need to wait for the advertisement of topology change and just changes the forwarding path based on the valid time of each path, the affection of topology change is minimized.</t>
      </section>
      <section anchor="resource-utilization-efficiency-use-case">
        <name>Resource utilization efficiency use case</name>
        <t>Traditionally, the usage and allocation of network resources, especially bandwidth, can be supported by a Network Management System (NMS) operation such as path pre-establishment. However, this may not provide efficient usage of network resources. The established paths may reserve the resources for a long time. During this period, the resources cannot be used by other services even when they are not used for transporting any service.</t>
        <t>In the scenario of SR-policy-based TE path, the resource allocation efficiency is also a problem. Some flows just last for a short period of time, but the TE paths resources for the flows are usually reserved for a long time and cannot be used by other services. Therefore, the scheduling time information of each candidate path or segment list can be added to the SR Policy to describe the valid(invalid) period. When the TE path is invalid, the ingress node does not steer any packets to the path and releases the resources. Furthermore, the controller can use the resource released by the flow to plan TE paths for other flows that do not have overlap time, which can effectively improve the utilization of network resources.</t>
      </section>
    </section>
    <section anchor="scheduling-time-information-in-sr-policy">
      <name>Scheduling Time Information in SR Policy</name>
      <t>The NLRI defined in <xref target="I-D.ietf-idr-segment-routing-te-policy"/> contains the SR Policy candidate path. The content of the SR Policy Candidate Path is encoded in the Tunnel Encapsulation Attribute defined in <xref target="RFC9012"/> using a new Tunnel-Type called SR Policy Type with codepoint 15. The SR Policy encoding structure is as follows:</t>
      <artwork><![CDATA[
SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
      Attributes:
         Tunnel Encapsulation Attribute (23)
            Tunnel Type: SR Policy (15)
                Binding SID
                SRv6 Binding SID
                Preference
                Priority
                Policy Name
                Policy Candidate Path Name
                Explicit NULL Label Policy (ENLP)
                Segment List
                    Weight
                    Segment
                    Segment
                    ...
                ...
]]></artwork>
      <t>A candidate path includes multiple SR paths, each of which is specified by a segment list. The Scheduling time information can be applied to the candidate path, to indicate the valid time for each candidate path and its associated attributes.
The new SR Policy encoding structure is expressed as below:</t>
      <artwork><![CDATA[
SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
      Attributes:
         Tunnel Encapsulation Attribute (23)
            Tunnel Type: SR Policy (15)
                Binding SID
                SRv6 Binding SID
                Preference
                Priority
                Policy Name
                Policy Candidate Path Name
                Explicit NULL Label Policy (ENLP)
                Scheduling Time Information
                Segment List
                    Weight
                    Segment
                    Segment
                    ...
                ...
]]></artwork>
      <t>The Scheduling time information also can be applied to each segment list to indicate the valid time for each segment list and its associated attributes. 
The new SR Policy encoding structure is expressed as below:</t>
      <artwork><![CDATA[
SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
      Attributes:
         Tunnel Encapsulation Attribute (23)
            Tunnel Type: SR Policy (15)
                Binding SID
                SRv6 Binding SID
                Preference
                Priority
                Policy Name
                Policy Candidate Path Name
                Explicit NULL Label Policy (ENLP)
                Segment List
                    Scheduling Time Information
                    Weight
                    Segment
                    Segment
                    ...
                ...
]]></artwork>
    </section>
    <section anchor="scheduling-time-information-sub-tlv">
      <name>Scheduling Time Information Sub-TLV</name>
      <t>The Scheduling time information sub-TLV indicates one or more valid time slot for one or more SR paths. The format of Scheduling time information sub-TLV is shown as follows:</t>
      <figure anchor="ref-to-fig1">
        <name>Scheduling Time Information Sub-TL</name>
        <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Length    |   Reserved    |Schedule Number| 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
/                        Schedules                              /
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>Type: TBD1</t>
      <t>Length: the size of the value field in octets.</t>
      <t>Schedule Number: indicates the number of schedules.</t>
      <t>Schedules: one or more schedules, each schedule indicates the duration when the candidate path(segment list) is active. The format of each schedule is shown as follows:</t>
      <figure anchor="ref-to-fig2">
        <name>Schedule of SR Policy</name>
        <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Schedule-id  |   Flags   |P|S|           Reserved            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Start Time                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Start Time                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      End Time (Duration)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      End Time (Duration)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Frequency (Optional)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Recurrence count(Optional)                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>Schedule-id: 8-bit value, the unique identifier to distinguish each schedule within a SR Policy, this value is allocated by the SR Policy generator.</t>
      <t>Flags: 8 bits, currently only 2 bits are used, the other bits are reserved.</t>
      <t>P (Period format): one-bit flag to indicate the format of a period. if P=1, then the period is described by a start time filed and an end time field; If P =0, then the period is described by a start time field and a duration time field.</t>
      <t>S (Schedule type): one-bit flag to indicate the type of a schedule. If S=0, it indicates the schedule only has one instance, the Frequency and Recurrence count field should not be included in the sub-TLV; If S=1, it indicates the schedule has multiple instances, the Frequency and Recurrence count field should be included.</t>
      <t>Start Time: 64-bit value, the number of seconds since the epoch, it indicates when the candidate path (segment list) and its associated attributes start to take effect.</t>
      <t>End Time (Duration): 64-bit value, if the flag P=1, then it is the number of seconds since the epoch, it indicates when the candidate path (segment list) and its associated attributes becomes ineffective. If the flag P=0, then it is the number of seconds since the Start Time, it indicates how long the candidate path (segment list) and its associated attributes are effective.</t>
      <t>Frequency(optional): 32-bit value, it is the numbers of seconds since the Start Time of an instance to the Start Time of next instance. This field indicates the recurrence frequency for all the instance of this schedule. This field should not be included if S=0.</t>
      <t>Recurrence Count(optional): 32-bit value, it indicates the number of occurrences. For example, if it is set to 2, then the schedule will repeat twice with the specified Frequency. This field should not be included if P=0.</t>
    </section>
    <section anchor="procedures">
      <name>Procedures</name>
      <t>When a SR Policy head node receives a SR Policy with scheduling time information, the head node will parse the SR Policy and save the scheduling time information locally. When a data packet arrives, the head node will steer it to a specific SR Policy by color or other means.</t>
      <t>Within a specific SR Policy, there are two ways for the head node to determine the final forwarding SR path:</t>
      <t>Option 1: A valid SR path is dynamically determined based on the packet arrival time whenever a packet arrives.</t>
      <t>Option 2: One or more valid paths are selected for the SR policy and one or more timers are set based on the path disable time. When the timer expires, packets steered to this SR policy are switched to another path.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>These extensions to BGP SR Policy do not add any new security issues to the existing protocol.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines two new sub-TLV in the registry "BGP Tunnel Encapsulation Attribute sub-TLVs" to be assigned by IANA:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">Scheduling Time Information (STI) sub-TLV</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9256" target="https://www.rfc-editor.org/info/rfc9256" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9256.xml">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.</t>
              <t>This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
        <reference anchor="I-D.ietf-idr-segment-routing-te-policy" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-segment-routing-te-policy-26" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-idr-segment-routing-te-policy.xml">
          <front>
            <title>Advertising Segment Routing Policies in BGP</title>
            <author fullname="Stefano Previdi" initials="S." surname="Previdi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Paul Mattes" initials="P." surname="Mattes">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Dhanendra Jain" initials="D." surname="Jain">
              <organization>Google</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>This document introduces a BGP SAFI with two NLRIs to advertise a candidate path of a Segment Routing (SR) Policy. An SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. An SR Policy consists of one or more candidate paths, each consisting of one or more segment lists. A headend may be provisioned with candidate paths for an SR Policy via several different mechanisms, e.g., CLI, NETCONF, PCEP, or BGP. This document specifies how BGP may be used to distribute SR Policy candidate paths. It defines sub-TLVs for the Tunnel Encapsulation Attribute for signaling information about these candidate paths. This documents updates RFC9012 with extensions to the Color Extended Community to support additional steering modes over SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-segment-routing-te-policy-26"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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="RFC9657" target="https://www.rfc-editor.org/info/rfc9657" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9657.xml">
          <front>
            <title>Time-Variant Routing (TVR) Use Cases</title>
            <author fullname="E. Birrane III" initials="E." surname="Birrane III"/>
            <author fullname="N. Kuhn" initials="N." surname="Kuhn"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="R. Taylor" initials="R." surname="Taylor"/>
            <author fullname="L. Zhang" initials="L." surname="Zhang"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>This document introduces use cases where Time-Variant Routing (TVR) computations (i.e., routing computations that take into consideration time-based or scheduled changes to a network) could improve routing protocol convergence and/or network performance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9657"/>
          <seriesInfo name="DOI" value="10.17487/RFC9657"/>
        </reference>
        <reference anchor="RFC8934" target="https://www.rfc-editor.org/info/rfc8934" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8934.xml">
          <front>
            <title>PCE Communication Protocol (PCEP) Extensions for Label Switched Path (LSP) Scheduling with Stateful PCE</title>
            <author fullname="H. Chen" initials="H." role="editor" surname="Chen"/>
            <author fullname="Y. Zhuang" initials="Y." role="editor" surname="Zhuang"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>This document defines a set of extensions to the stateful PCE Communication Protocol (PCEP) to enable Label Switched Path (LSP) path computation, activation, setup, and deletion based on scheduled time intervals for the LSP and the actual network resource usage in a centralized network environment, as stated in RFC 8413.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8934"/>
          <seriesInfo name="DOI" value="10.17487/RFC8934"/>
        </reference>
        <reference anchor="RFC9012" target="https://www.rfc-editor.org/info/rfc9012" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9012.xml">
          <front>
            <title>The BGP Tunnel Encapsulation Attribute</title>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="G. Van de Velde" initials="G." surname="Van de Velde"/>
            <author fullname="S. Sangli" initials="S." surname="Sangli"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>This document defines a BGP path attribute known as the "Tunnel Encapsulation attribute", which can be used with BGP UPDATEs of various Subsequent Address Family Identifiers (SAFIs) to provide information needed to create tunnels and their corresponding encapsulation headers. It provides encodings for a number of tunnel types, along with procedures for choosing between alternate tunnels and routing packets into tunnels.</t>
              <t>This document obsoletes RFC 5512, which provided an earlier definition of the Tunnel Encapsulation attribute. RFC 5512 was never deployed in production. Since RFC 5566 relies on RFC 5512, it is likewise obsoleted. This document updates RFC 5640 by indicating that the Load-Balancing Block sub-TLV may be included in any Tunnel Encapsulation attribute where load balancing is desired.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9012"/>
          <seriesInfo name="DOI" value="10.17487/RFC9012"/>
        </reference>
      </references>
    </references>
    <?line 266?>



  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
