<?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.24 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-thoji-scone-trone-protocol-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="TRONE Protocol">Transparent Rate Optimization for Network Endpoints (TRONE) Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-thoji-scone-trone-protocol-00"/>
    <author fullname="Martin Thomson">
      <organization>Mozilla</organization>
      <address>
        <email>mt@lowentropy.net</email>
      </address>
    </author>
    <author fullname="Christian Huitema">
      <organization>Private Octopus Inc.</organization>
      <address>
        <email>huitema@huitema.net</email>
      </address>
    </author>
    <author fullname="奥 一穂" asciiFullname="Kazuho Oku">
      <organization>Fastly</organization>
      <address>
        <email>kazuhooku@gmail.com</email>
      </address>
    </author>
    <author fullname="Matt Joras">
      <organization>Meta</organization>
      <address>
        <email>matt.joras@gmail.com</email>
      </address>
    </author>
    <author fullname="Marcus Ihlar">
      <organization>Ericsson</organization>
      <address>
        <email>marcus.ihlar@ericsson.com</email>
      </address>
    </author>
    <date year="2025" month="March" day="03"/>
    <area>Web and Internet Transport</area>
    <workgroup>SCONE</workgroup>
    <keyword>locomotive</keyword>
    <keyword>pastry</keyword>
    <abstract>
      <?line 57?>

<t>On-path network elements can sometimes be configured to apply rate limits to
flows that pass them.  This document describes a method for signaling to
endpoints that rate limiting policies are in force and  what that rate limit is.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-scone.github.io/trone/draft-thoji-scone-trone-protocol.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-thoji-scone-trone-protocol/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        SCONE Working Group mailing list (<eref target="mailto:scone@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/scone/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/scone/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-scone/trone"/>.</t>
    </note>
  </front>
  <middle>
    <?line 64?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Many access networks limit the maximum data rate that attached devices are able
to attain.  This is often done without any indication to the applications
running on devices.  The result can be that application performance is degraded,
as the manner in which rate limits are enforced can be incompatible with the
rate estimation or congestion control algorithms used at endpoints.</t>
      <t>Having the network indicate what its rate limiting policy is, in a way that is
accessible to endpoints, might allow applications to use this information when
adapting their send rate.</t>
      <t>The Transparent Rate Optimization for Network Endpoints (TRONE) protocol is
negotiated by QUIC endpoints.  This protocol provides a means for network
elements to signal the maximum available sustained throughput, or rate limits,
for flows of UDP datagrams that transit that network element to a QUIC endpoint.</t>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>QUIC endpoints can negotiate the use of TRONE by including a transport parameter
(<xref target="tp"/>) in the QUIC handshake.  Endpoints then occasionally coalesce a TRONE
packet with ordinary QUIC packets that they send.</t>
      <t>Network elements that have rate limiting policies can detect flows that include
TRONE packets.  The network element can indicate a maximum sustained throughput
by modifying the TRONE packet as it transits the network element.</t>
      <artset>
        <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="472" viewBox="0 0 472 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
            <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
            <path d="M 40,80 L 40,176" fill="none" stroke="black"/>
            <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
            <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
            <path d="M 160,80 L 160,176" fill="none" stroke="black"/>
            <path d="M 200,32 L 200,80" fill="none" stroke="black"/>
            <path d="M 248,32 L 248,80" fill="none" stroke="black"/>
            <path d="M 288,80 L 288,176" fill="none" stroke="black"/>
            <path d="M 336,32 L 336,80" fill="none" stroke="black"/>
            <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
            <path d="M 120,32 L 200,32" fill="none" stroke="black"/>
            <path d="M 248,32 L 336,32" fill="none" stroke="black"/>
            <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
            <path d="M 120,80 L 200,80" fill="none" stroke="black"/>
            <path d="M 248,80 L 336,80" fill="none" stroke="black"/>
            <path d="M 40,112 L 64,112" fill="none" stroke="black"/>
            <path d="M 128,112 L 152,112" fill="none" stroke="black"/>
            <path d="M 160,128 L 192,128" fill="none" stroke="black"/>
            <path d="M 256,128 L 280,128" fill="none" stroke="black"/>
            <polygon class="arrowhead" points="288,128 276,122.4 276,133.6" fill="black" transform="rotate(0,280,128)"/>
            <polygon class="arrowhead" points="160,112 148,106.4 148,117.6" fill="black" transform="rotate(0,152,112)"/>
            <g class="text">
              <text x="44" y="52">QUIC</text>
              <text x="160" y="52">Network</text>
              <text x="292" y="52">QUIC</text>
              <text x="44" y="68">Sender</text>
              <text x="160" y="68">Element</text>
              <text x="292" y="68">Receiver</text>
              <text x="96" y="116">TRONE</text>
              <text x="228" y="116">TRONE+rate</text>
              <text x="96" y="132">+QUIC</text>
              <text x="224" y="132">+QUIC</text>
              <text x="340" y="148">Validate</text>
              <text x="396" y="148">QUIC</text>
              <text x="444" y="148">packet</text>
              <text x="320" y="164">and</text>
              <text x="364" y="164">record</text>
              <text x="412" y="164">rate</text>
            </g>
          </svg>
        </artwork>
        <artwork type="ascii-art"><![CDATA[
+--------+    +---------+     +----------+
|  QUIC  |    | Network |     |   QUIC   |
| Sender |    | Element |     | Receiver |
+---+----+    +----+----+     +----+-----+
    |              |               |
    +--- TRONE --->|   TRONE+rate  |
    |    +QUIC     +---- +QUIC --->|
    |              |               |  Validate QUIC packet
    |              |               |  and record rate
    |              |               |
]]></artwork>
      </artset>
      <t>QUIC endpoints that receive modified TRONE packets observe the indicated
version, process the QUIC packet, and then record the indicated rate.</t>
      <t>Indicated rate limits apply only in a single direction.  Separate indications
can be sent for the client-to-server direction and server-to-client direction.
The indicated rates do not need to be the same.</t>
      <t>Indicated rate limits only apply to the path on which they are received.  A
connection that migrates or uses multipath <xref target="QUIC-MP"/>
cannot assume that rate limit indications from one path apply to new paths.</t>
    </section>
    <section anchor="applicability">
      <name>Applicability</name>
      <t>This protocol only works for flows that use the TRONE packet (<xref target="packet"/>).</t>
      <t>The protocol requires that packets are modified as they transit a
network element, which provides endpoints strong evidence that the network
element has the power to drop packets; though see <xref target="security"/> for potential
limitations on this.</t>
      <t>The rate limit signal that this protocol carries is independent of congestion
signals, limited to a single path and UDP packet flow, unidirectional, and
strictly advisory.</t>
      <section anchor="independent-of-congestion-signals">
        <name>Independent of Congestion Signals</name>
        <t>Rate limit signals are not a substitute for congestion feedback.  Congestion
signals, such as acknowledgments, provide information on loss, delay, or ECN
markings <xref target="ECN"/> that indicate the real-time condition of a network
path.  Congestion signals might indicate a throughput that is different from the
signaled rate limit.</t>
        <t>Endpoints cannot assume that a signaled rate limit is achievable if congestion
signals indicate otherwise.  Congestion could be experienced at a different
point on the network path than the network element that indicates a rate limit.
Therefore, endpoints need to respect the send rate constraints that are set by a
congestion controller.</t>
      </section>
      <section anchor="unspecified-scope">
        <name>Unspecified Scope</name>
        <t>Modifying a packet does not prove that the rate limit that is indicated would be
achievable.  A signal that is sent for a specific flow is likely enforced at a
different scope.  The extent of that scope is not carried in the signal.</t>
        <t>For instance, limits might apply at a network subscription level, such
that multiple flows receive the same signal.</t>
        <t>Endpoints can therefore be more confident in the rate limit signal as an
indication of the maximum achievable throughput than as any indication of
expected throughput.  That throughput will only be achievable when there is no
significant data flowing in the same scope.  In the presence of other flows,
congestion limits are likely to determine actual throughput.</t>
        <t>This makes the application of signals most usefully applied to a downlink flow
in access networks, close to an endpoint. In that case, capacity is less likely
to be split between multiple active flows.</t>
      </section>
      <section anchor="per-flow-signal">
        <name>Per-Flow Signal</name>
        <t>The same UDP address tuple might be used for multiple QUIC connections.  A
single signal might be lost or only reach a single application endpoint.
Network elements that signal about a flow might choose to send additional
signals, using connection IDs to indicate when new connections could be
involved.</t>
      </section>
      <section anchor="undirectional-signal">
        <name>Undirectional Signal</name>
        <t>The endpoint that receives a rate limit signal is not the endpoint that might
adapt its sending behavior as a result of receiving the signal.  This ensures
that the rate limit signal is attached to the flow that it is mostly likely to
apply to.</t>
        <t>An endpoint might need to communicate the value it receives to its peer in order
to ensure that the limit is respected.  This document does not define how that
signaling occurs as this is specific to the application in use.</t>
      </section>
      <section anchor="advisory-signal">
        <name>Advisory Signal</name>
        <t>A signal does not prove that a higher rate would not be successful.  Endpoints
that receive this signal therefore need to treat the information as advisory.</t>
        <t>As an advisory signal, network elements cannot assume that endpoints will
respect the signal.  Though this might reduce the need for more active rate
limiting, how rate limit enforcement is applied is a matter for network policy.</t>
        <t>The time and scope over which a rate limit applies is not specified.  The
effective rate limit might change without being signaled.  The signaled limit
can be assumed to apply to the flow of packets on the same UDP address tuple for
the duration of that flow.  Rate limiting policies often apply on the level of a
device or subscription, but endpoints cannot assume that this is the case.  A
separate signal can be sent for each flow.</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="BCP14"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="packet">
      <name>TRONE Packet</name>
      <t>A TRONE packet is a QUIC long header packet that follows the QUIC invariants;
see <xref section="5.1" sectionFormat="of" target="INVARIANTS"/>.</t>
      <t><xref target="fig-trone-packet"/> shows the format of the TRONE packet using the conventions
from <xref section="4" sectionFormat="of" target="INVARIANTS"/>.</t>
      <figure anchor="fig-trone-packet">
        <name>TRONE Packet Format</name>
        <sourcecode type="artwork"><![CDATA[
TRONE Packet {
  Header Form (1) = 1,
  Reserved (1),
  Reserved (6),
  Version (32) = 0xTBD,
  Destination Connection ID Length (8),
  Destination Connection ID (0..2040),
  Source Connection ID Length (8),
  Source Connection ID (0..2040),
  Rate Signal (TBD)
}
]]></sourcecode>
      </figure>
      <t>The most significant bit (0x80) of the packet indicates that this is a QUIC long
header packet.  The next bit (0x40) is reserved and can be set according to
<xref target="QUIC-BIT"/>.</t>
      <t>The low 6 bits (0x3f) of the first byte are reserved.</t>
      <t>This packet includes a Destination Connection ID field that is set to the same
value as other packets in the same datagram; see <xref section="12.2" sectionFormat="of" target="QUIC"/>.</t>
      <t>The Source Connection ID field is set to match the Source Connection ID field of
any packet that follows.  If the next packet in the datagram does not have a
Source Connection ID field, which is the case for packets with a short header
(<xref section="5.2" sectionFormat="of" target="INVARIANTS"/>), the Source Connection ID field is empty.</t>
      <t>TRONE packets <bcp14>SHOULD</bcp14> be included as the first packet in a datagram.  This is
necessary in many cases for QUIC versions 1 and 2 because packets with a short
header cannot precede any other packets.</t>
      <t>The payload of a TRONE packet consists of a single Rate Signal field, described
in <xref target="rate-signal"/>.</t>
      <section anchor="rate-signal">
        <name>Rate Signals</name>
        <t>Specification of the the size and format of the Rate Signal field is left for
future revisions of this document.</t>
      </section>
      <section anchor="endpoint-processing-of-trone-packets">
        <name>Endpoint Processing of TRONE Packets</name>
        <t>Processing a TRONE packet involves reading the value from the Rate Signal field.
However, this value <bcp14>MUST NOT</bcp14> be used unless another packet from the same
datagram is successfully processed.  Therefore, a TRONE packet always needs to
be coalesced with other QUIC packets.</t>
        <t>A TRONE packet is defined by the use of the longer header bit (0x80 in the first
byte) and the TRONE protocol version (0xTBD in the next four bytes).  A TRONE
packet <bcp14>MAY</bcp14> be discarded, along with any packets that come after it in the same
datagram, if the Source Connection ID is not consistent with those coalesced
packets, as specified in <xref target="packet"/>.</t>
        <t>A TRONE packet <bcp14>MUST</bcp14> be discarded if the Destination Connection ID does not match
one recognized by the receiving endpoint.</t>
      </section>
    </section>
    <section anchor="tp">
      <name>Negotiating TRONE</name>
      <t>A QUIC endpoint indicates that it is willing to receive TRONE packets by
including the trone_supported transport parameter (0xTBD).</t>
      <t>This transport parameter is valid for QUIC versions 1 <xref target="QUIC"/> and 2
<xref target="QUICv2"/> and any other version that recognizes the versions,
transport parameters, and frame types registries established in Sections <xref target="QUIC" section="22.2" sectionFormat="bare"/>, <xref target="QUIC" section="22.3" sectionFormat="bare"/>, and <xref target="QUIC" section="22.4" sectionFormat="bare"/> of <xref target="QUIC"/>.</t>
    </section>
    <section anchor="deployment">
      <name>Deployment</name>
      <t>QUIC endpoints can enable the use of the TRONE protocol by sending TRONE packets
<xref target="packet"/>.  Network elements then apply or replace the Rate Signal field
(<xref target="apply"/>) according to their policies.</t>
      <section anchor="apply">
        <name>Applying Rate Limit Signals</name>
        <t>A network element detects a TRONE packet by observing that a packet has a QUIC
long header and the TRONE protocol version of 0xTBD.</t>
        <t>A network element then conditionally replaces the Rate Signal field with
values of its choosing.</t>
        <t>A network element might receive a packet that already includes a rate signal.
The network element replaces the rate signal if it wishes to signal a lower
rate limit; otherwise, the original values are retained, preserving the signal
from the network element with the lower policy.</t>
        <t>The following pseudocode indicates how a network element might detect a TRONE
packet and replace an existing rate signal.</t>
        <sourcecode type="pseudocode"><![CDATA[
is_long = packet[0] & 0x80 == 0x80
is_trone = compare(packet[1..5], TRONE_VERSION)
if is_long and is_trone:
  dcid_len = packet[5]
  offset = 6 + dcid_len
  scid_len = packet[offset]
  offset = offset + 1 + scid_len
  packet_rate = read_rate_signal(packet[offset : offset + rate_signal_size])
  if target_rate.is_lower_than(packet_rate):
    write_rate_signal(packet[offset : offset + rate_signal_size], target_rate)
]]></sourcecode>
      </section>
      <section anchor="extra-packets">
        <name>Providing Opportunities to Apply Rate Limit Signals</name>
        <t>Endpoints that wish to offer network elements the option to add rate limit
signals can send TRONE packets at any time.  This is a decision that a sender
makes when constructing datagrams. It is recommended that endpoints promptly
send an initial TRONE packet once the peer confirms its willingness to receive
them.</t>
        <t>An endpoint that has not recently sent a TRONE packet <bcp14>MAY</bcp14> treat receipt of one
from its peer as a trigger to send a TRONE packet in the reverse direction. This
way a peer that is receiving downlink data can influence the frequency of
receiving rate signals.</t>
        <t>Endpoints <bcp14>MUST</bcp14> send any TRONE packet they send as the first packet of a
datagram, coalesced with additional packets.  An endpoint that receives and
discards a TRONE packet without also successfully processing another packet
from the same datagram <bcp14>SHOULD</bcp14> ignore any rate limit signal. Such a datagram
might be entirely spoofed.</t>
        <t>A network element that wishes to signal an updated rate limit waits for the
next TRONE packet in the desired direction. However, if no TRONE packet
arrives within a reasonable time, the network element <bcp14>MAY</bcp14> construct its own
TRONE packet and prepend it to a QUIC packet before forwarding. This process
requires expanding the UDP datagram containing the original QUIC packet, which
might cause the datagram to exceed the path MTU. Therefore, a network element
<bcp14>SHOULD NOT</bcp14> expand UDP datagrams if the combined payload of the TRONE packet and
the subsequent packets exceeds 1200 bytes, the smallest maximum datagram size
supported by QUIC versions 1 and 2 (see <xref section="14" sectionFormat="of" target="QUIC"/>).</t>
      </section>
      <section anchor="feedback">
        <name>Feedback To Sender About Signals</name>
        <t>Information about rate limits is intended for the sending application.  Any
signal from network elements can be propagated to the receiving application
using an implementation-defined mechanism.</t>
        <t>This document does not define a means for indicating what was received.
That is, the expectation is that any signal is propagated to the application
for handling, not handled automatically by the transport layer.
How a receiving application communicates the rate limit signal to a
sending application will depend on the application in use.</t>
        <t>Different applications can choose different approaches. For example,
in an application where a receiver drives rate adaptation, it might
not be necessary to define additional signaling.</t>
        <t>A sender can use any acknowledgment mechanism provided by the QUIC version in
use to learn whether datagrams containing TRONE packets were likely received.
This might help inform whether to send additional TRONE packets in the event
that a datagram is lost. However, rather than relying on transport signals, an
application might be better able to indicate what has been received and
processed.</t>
        <t>TRONE packets could be stripped from datagrams in the network, which cannot be
reliably detected.  This could result in a sender falsely believing that no
network element applied a rate limit signal.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The modification of packets provides endpoints proof that a network element is
in a position to drop datagrams and thereby enforce the indicated rate limit.
<xref target="extra-packets"/> states that endpoints only accept signals if the datagram
contains a packet that it accepts to prevent an off-path attacker from inserting
spurious rate limit signals.</t>
      <t>Some off-path attackers may be able to both
observe traffic and inject packets. Attackers with such capabilities could
observe packets sent by an endpoint, create datagrams coalescing an
arbitrary TRONE packet and the observed packet, and send these datagrams
such that they arrive at the peer endpoint before the original
packet. Spoofed packets that seek to advertise a higher limit
than might otherwise be permitted also need to bypass any
rate limiters. The attacker will thus get arbitrary TRONE packets accepted by
the peer, with the result being that the endpoint receives a false
or misleading rate limit.</t>
      <t>The recipient of a rate limit signal therefore cannot guarantee that
the signal was generated by an on-path network element. However,
the capabilities required of an off-path attacker are substantially
similar to those of on path elements.</t>
      <t>The actual value of the rate limit signal is not authenticated.  Any signal
might be incorrectly set in order to encourage endpoints to behave in ways that
are not in their interests.  Endpoints are free to ignore limits that they think
are incorrect.  The congestion controller employed by a sender provides
real-time information about the rate at which the network path is delivering
data.</t>
      <t>Similarly, if there is a strong need to ensure that a rate limit is respected,
network elements cannot assume that the signaled limit will be respected by
endpoints.</t>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>The focus of this analysis is the extent to which observing TRONE
packets could be used to gain information about endpoints.
This might be leaking details of how applications using QUIC
operate or leaks of endpoint identity when using additional
privacy protection, such as a VPN.</t>
      <t>Any network element that can observe the content of that packet can read the
rate limit that was applied.  Any signal is visible on the path, from the point
at which it is applied to the point at which it is consumed at an endpoint.
On path elements can also alter the TRONE signal to try trigger specific
reactions and gain further knowledge.</t>
      <t>In the general case of a client connected to a server through the
Internet, we believe that TRONE does not provide much advantage to attackers.
The identities of the clients and servers are already visible through their
IP addresses. Traffic analysis tools already provide more information than
the data rate limits set by TRONE.</t>
      <t>There are two avenues of attack that require more analysis:</t>
      <ul spacing="normal">
        <li>
          <t>that the passive observation of TRONE packets might help identify or
distinguish endpoints; and</t>
        </li>
        <li>
          <t>that active manipulation of TRONE signals might help reveal the
identity of endpoints that are otherwise hidden behind VPNs or proxies.</t>
        </li>
      </ul>
      <section anchor="passive-attacks">
        <name>Passive Attacks</name>
        <t>If only few clients and server pairs negotiate the usage of TRONE, the
occasional observation of TRONE packets will "stick out". That observation,
could be combined with observation of timing and volume of traffic to
help identify the endpoint or categorize the application that they
are using.</t>
        <t>A variation of this issue occurs if TRONE is widely implemented, but
only used in some specific circumstances. In that case, observation of
TRONE packets reveals information about the state of the endpoint.</t>
        <t>If multiple servers are accessed through the same front facing server,
Encrypted Client Hello (ECH) may be used to prevent outside parties to
identify which specific server a client is using. However, if only
a few of these servers use TRONE, any TRONE packets
will help identify which specific server a client is using.</t>
        <t>This issue will be mitigated if TRONE becomes widely implemented, and
if the usage of TRONE is not limited to the type of applications
that make active use of the signal.</t>
        <t>QUIC implementations are therefore encouraged to make the feature available
unconditionally.  Endpoints might send TRONE packets whenever a peer can accept
them.</t>
      </section>
      <section anchor="active-attacks">
        <name>Active Attacks</name>
        <t>Suppose a configuration in which multiple clients use a VPN or proxy
service to access the same server. The attacker sees the IP addresses
in the packets behind VPN and proxy and also between the users and the VPN,
but it does not know which VPN address corresponds to what user address.</t>
        <t>Suppose now that the attacker selects a flow on the link between the
VPN/proxy and server. The attacker applies rate limit signals to TRONE packets
in that flow. The attacker chooses a bandwidth that is
lower than the "natural" bandwidth of the connection. A reduction
in the rate of flows between client and VPN/proxy might allow
the attacker to link the altered flow to the client.</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="448" viewBox="0 0 448 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
              <path d="M 8,96 L 8,128" fill="none" stroke="black"/>
              <path d="M 8,160 L 8,192" fill="none" stroke="black"/>
              <path d="M 80,32 L 80,64" fill="none" stroke="black"/>
              <path d="M 80,96 L 80,128" fill="none" stroke="black"/>
              <path d="M 80,160 L 80,192" fill="none" stroke="black"/>
              <path d="M 200,64 L 200,160" fill="none" stroke="black"/>
              <path d="M 264,64 L 264,160" fill="none" stroke="black"/>
              <path d="M 312,144 L 312,176" fill="none" stroke="black"/>
              <path d="M 368,80 L 368,144" fill="none" stroke="black"/>
              <path d="M 440,80 L 440,144" fill="none" stroke="black"/>
              <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
              <path d="M 88,48 L 136,48" fill="none" stroke="black"/>
              <path d="M 8,64 L 80,64" fill="none" stroke="black"/>
              <path d="M 200,64 L 264,64" fill="none" stroke="black"/>
              <path d="M 152,80 L 192,80" fill="none" stroke="black"/>
              <path d="M 368,80 L 440,80" fill="none" stroke="black"/>
              <path d="M 8,96 L 80,96" fill="none" stroke="black"/>
              <path d="M 272,94 L 360,94" fill="none" stroke="black"/>
              <path d="M 272,98 L 360,98" fill="none" stroke="black"/>
              <path d="M 88,112 L 192,112" fill="none" stroke="black"/>
              <path d="M 272,110 L 360,110" fill="none" stroke="black"/>
              <path d="M 272,114 L 360,114" fill="none" stroke="black"/>
              <path d="M 8,128 L 80,128" fill="none" stroke="black"/>
              <path d="M 272,126 L 360,126" fill="none" stroke="black"/>
              <path d="M 272,130 L 360,130" fill="none" stroke="black"/>
              <path d="M 152,144 L 192,144" fill="none" stroke="black"/>
              <path d="M 368,144 L 440,144" fill="none" stroke="black"/>
              <path d="M 8,160 L 80,160" fill="none" stroke="black"/>
              <path d="M 200,160 L 264,160" fill="none" stroke="black"/>
              <path d="M 88,174 L 136,174" fill="none" stroke="black"/>
              <path d="M 88,178 L 136,178" fill="none" stroke="black"/>
              <path d="M 8,192 L 80,192" fill="none" stroke="black"/>
              <path d="M 136,192 L 152,224" fill="none" stroke="black"/>
              <path d="M 136,48 L 152,80" fill="none" stroke="black"/>
              <path d="M 136,176 L 152,144" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="368,128 356,122.4 356,133.6" fill="black" transform="rotate(0,360,128)"/>
              <polygon class="arrowhead" points="368,112 356,106.4 356,117.6" fill="black" transform="rotate(0,360,112)"/>
              <polygon class="arrowhead" points="368,96 356,90.4 356,101.6" fill="black" transform="rotate(0,360,96)"/>
              <polygon class="arrowhead" points="320,144 308,138.4 308,149.6" fill="black" transform="rotate(270,312,144)"/>
              <polygon class="arrowhead" points="280,128 268,122.4 268,133.6" fill="black" transform="rotate(180,272,128)"/>
              <polygon class="arrowhead" points="280,112 268,106.4 268,117.6" fill="black" transform="rotate(180,272,112)"/>
              <polygon class="arrowhead" points="280,96 268,90.4 268,101.6" fill="black" transform="rotate(180,272,96)"/>
              <polygon class="arrowhead" points="200,144 188,138.4 188,149.6" fill="black" transform="rotate(0,192,144)"/>
              <polygon class="arrowhead" points="200,112 188,106.4 188,117.6" fill="black" transform="rotate(0,192,112)"/>
              <polygon class="arrowhead" points="200,80 188,74.4 188,85.6" fill="black" transform="rotate(0,192,80)"/>
              <polygon class="arrowhead" points="144,192 132,186.4 132,197.6" fill="black" transform="rotate(243.43494882292202,136,192)"/>
              <g class="text">
                <text x="44" y="52">Client</text>
                <text x="232" y="100">VPN</text>
                <text x="44" y="116">Client</text>
                <text x="232" y="116">/</text>
                <text x="404" y="116">Server</text>
                <text x="232" y="132">Proxy</text>
                <text x="44" y="180">Client</text>
                <text x="248" y="196">Apply</text>
                <text x="292" y="196">rate</text>
                <text x="336" y="196">limit</text>
                <text x="388" y="196">signal</text>
                <text x="152" y="244">Observe</text>
                <text x="212" y="244">change</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+--------+
| Client |------.
+--------+       \      +-------+
                  '---->|       |            +--------+
+--------+              |  VPN  |<==========>|        |
| Client |------------->|   /   |<==========>| Server |
+--------+              | Proxy |<==========>|        |
                  .---->|       |     ^      +--------+
+--------+       /      +-------+     |
| Client |======'                     |
+--------+      ^           Apply rate limit signal
                 \
                  \
               Observe change
]]></artwork>
        </artset>
        <t>An attacker that can manipulate TRONE headers can also simulate
congestion signals by dropping packets or by setting the ECN CE bit.
That will also likely result in changes in the congestion response by
the affected client.</t>
        <t>A VPN or proxy could defend against this style of attack by removing TRONE (and
ECN) signals. There are few reasons to provide per-flow rate limit signals in
that situation.  Endpoints might also either disable this feature or ignore any
signals when they are aware of the use of a VPN or proxy.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document registers a new QUIC version (<xref target="iana-version"/>) and a QUIC
transport parameter (<xref target="iana-tp"/>).</t>
      <section anchor="iana-version">
        <name>TRONE Version</name>
        <t>This document registers the following entry to the "QUIC Versions" registry
maintained at <eref target="https://www.iana.org/assignments/quic">https://www.iana.org/assignments/quic</eref>, following the guidance
from <xref section="22.2" sectionFormat="of" target="QUIC"/>.</t>
        <dl spacing="compact">
          <dt>Value:</dt>
          <dd>
            <t>0xTBD</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>permanent</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF (iesg@ietf.org)</t>
          </dd>
          <dt>Contact:</dt>
          <dd>
            <t>QUIC Working Group (quic@ietf.org)</t>
          </dd>
          <dt>Notes:</dt>
          <dd>
            <t>TRONE Protocol</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-tp">
        <name>trone_supported Transport Parameter</name>
        <t>This document registers the trone_supported transport parameter in the "QUIC
Transport Parameters" registry maintained at
<eref target="https://www.iana.org/assignments/quic">https://www.iana.org/assignments/quic</eref>, following the guidance from <xref section="22.3" sectionFormat="of" target="QUIC"/>.</t>
        <dl spacing="compact">
          <dt>Value:</dt>
          <dd>
            <t>0xTBD</t>
          </dd>
          <dt>Parameter Name:</dt>
          <dd>
            <t>trone_supported</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>Permanent</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Date:</dt>
          <dd>
            <t>This date</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF (iesg@ietf.org)</t>
          </dd>
          <dt>Contact:</dt>
          <dd>
            <t>QUIC Working Group (quic@ietf.org)</t>
          </dd>
          <dt>Notes:</dt>
          <dd>
            <t>(none)</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="QUIC">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="INVARIANTS">
          <front>
            <title>Version-Independent Properties of QUIC</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the properties of the QUIC transport protocol that are common to all versions of the protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8999"/>
          <seriesInfo name="DOI" value="10.17487/RFC8999"/>
        </reference>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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>
        </referencegroup>
        <reference anchor="QUIC-BIT">
          <front>
            <title>Greasing the QUIC Bit</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes a method for negotiating the ability to send an arbitrary value for the second-most significant bit in QUIC packets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9287"/>
          <seriesInfo name="DOI" value="10.17487/RFC9287"/>
        </reference>
        <reference anchor="QUICv2">
          <front>
            <title>QUIC Version 2</title>
            <author fullname="M. Duke" initials="M." surname="Duke"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies QUIC version 2, which is identical to QUIC version 1 except for some trivial details. Its purpose is to combat various ossification vectors and exercise the version negotiation framework. It also serves as a template for the minimum changes in any future version of QUIC.</t>
              <t>Note that "version 2" is an informal name for this proposal that indicates it is the second version of QUIC to be published as a Standards Track document. The protocol specified here uses a version number other than 2 in the wire image, in order to minimize ossification risks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9369"/>
          <seriesInfo name="DOI" value="10.17487/RFC9369"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="QUIC-MP">
          <front>
            <title>Multipath Extension for QUIC</title>
            <author fullname="Yanmei Liu" initials="Y." surname="Liu">
              <organization>Alibaba Inc.</organization>
            </author>
            <author fullname="Yunfei Ma" initials="Y." surname="Ma">
              <organization>Uber Technologies Inc.</organization>
            </author>
            <author fullname="Quentin De Coninck" initials="Q." surname="De Coninck">
              <organization>University of Mons (UMONS)</organization>
            </author>
            <author fullname="Olivier Bonaventure" initials="O." surname="Bonaventure">
              <organization>UCLouvain and Tessares</organization>
            </author>
            <author fullname="Christian Huitema" initials="C." surname="Huitema">
              <organization>Private Octopus Inc.</organization>
            </author>
            <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
              <organization>Ericsson</organization>
            </author>
            <date day="22" month="January" year="2025"/>
            <abstract>
              <t>   This document specifies a multipath extension for the QUIC protocol
   to enable the simultaneous usage of multiple paths for a single
   connection.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the QUIC Working Group
   mailing list (quic@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/browse/quic/.

   Source for this draft and an issue tracker can be found at
   https://github.com/quicwg/multipath.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-multipath-12"/>
        </reference>
        <reference anchor="ECN">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
      </references>
    </references>
    <?line 587?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Jana Iyengar has made significant contributions to the original TRAIN
specification that forms the basis for a large part of this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA71c63Icx3X+30/RAasSwFwsL5IVCRJlwSQYwhFBhqDkctky
q3end7fN2ZnNXACuQLpSeZL88Y+8QX7nWZLKa+R853T3dM8uKFVcFZVKws70
9fS5fOfSc3x8rDrXlfZEH7xuTNVuTGOrTr8yndUvNp1bux9N5+pKL+pGX9ju
um7e6rOq2NSu6lp9+PrVi4uzI/2yqbt6XpcHysxmjb3CcHiTvJjTkMu62Z5o
Vy1qpYp6Xpk1TVw0ZtEdd6v6T+64ndeVPe4a/Hfjux7fv6/afrZ2bUsL6bYb
6nN+9vqpqvr1zDYnqqCRTxT1bG3V9u2J7preKlrDJ4p2Y2gtv7UzbapCn1ed
bSrbadlr3XQHCjtaNnW/OdGXj2nJ6q3d0rPiROljXdIC1nXnrix+bUzbNVt1
ZaueJtTadzvgfgf0QBZ38Fsa0lVL/Q94j+dr40p6zrv7xtluMa2bJV6YZr6i
F6uu27Qn9+6hHR7RfNPQ7B4e3Js19XVr7/EI99Bz6bpVP6O+aHd8vRTS3WPS
4X1JRGm7ZOys3VS6T10tPe791CFMV92aDlGZnto0oA3NofWiL0s5xeem6Vyl
X6/qdVtX/JIWbyrPP9Sg/tGVpeE3Vgiy7r4p62vit6bebKd0LrvDPl41ru2c
qfSz3nXUL4x8QqzlrphN51296Vs63Pk0HX0lHb7x/987Pv/S+uRE//df/qL/
6z/+5X/+/V/9M9POnTvR/2h+7Fe1fvG2H2Z+SnxQbtO53nKr+m3/zRIPpsQ1
+0jUdfo3dWPaYajntstJQm2mf0Kbj4/UzLHjFXHLMNZZ4+ZtIH4cDy2nDi2/
sb4BD6pUVTc0HfEayPBP350/PtGvnj7+4j7Jm9bnF9+fvjo/vXh9yU8//+KL
L5SC5MY+Sh0fH2szI5kw806pF9XxxnQrXXktYUu7tlASczq9tl5b0ia21TOr
ib8Wbtk3ttBdrc1mU251g6MsSd9Qh65WC2IM+mNlOkgd/rLrqSb2cq0mzdFj
ZF3Ydt64GQ1qNA2/qgtWU61bVqaEANJANuoqHmyYBu83denmDv0bS2oJveeW
NYW+RutRF+3aqd/22hVFaZW6A53S1EU/B5cr9dxUW23mc0tr9oRofWfaAh3H
O7fu15pUlpGBeQo6dDNfETkKe+Xmfj1mRhOAPvTSVWHz9G+96GxFVKisviYx
rnsagGZ1VeHmoqypF2YDZf2jVjV9VWHP9NrPwkNa3di2Lzs+pVlYz9BRb2zD
h14RZUB8u2xMYYuJMq3fUlXZBtS7Xrn5KjtIbMNWTNUiTOAq4j5iFEfb4/Vj
FMW9SGG5tcxKx0hcssQT+kV/EpFLbUqyINRl3eq+pSFpqfF86WSemSs+dVpV
YEJPFCvniTXt4QCiXTvBDoy+NlshgWuVHCOvkwgaJ5rQ4S9XRKSSeDSjMZrR
umgAHFSQlRqUsZUyhdl0fn2OuJQG5MXQwnEMf435DVoaq67IypLC7Ig8sy2L
dUIjz0SxPf1x5QovQDQ/z+Npp6IA07ZEpjIeNlewVqAOGV2wKMR5RSZvudr0
3QRHmPDCRGFoEet6ob978pKFgJhp7UWzAwGcF7qREmE9kW8GknhHv7iyzZWz
10rlO2Vui6TgdeNkaGbBJTPIy7zsCxyIkbmBB0jb0IoswQR1eHPTbT58OAJj
oD9PsCLl0K7MW0ukPEtUCwlkPZ8bIBTiiy1xrClJO5EMyoRqY+ZvCXgwwxO6
cJVp/OnIm0CEld0ya9D2LsaKlFuszJW9TY1h0wUtft7pRIHKRq2SnfvpvPCP
6YwRosyYeNb7TlgRDdd14RbbIHTpBGQ/tYuH2mZC6SejLf75z3/WxrRXS3X3
2P9zF9Yr/pKfye/ju+q9WCut3+PV+ygX/JP/K6/1e2p6SbQk9eSbnvlthqav
7NySMaP3vIC7+QLujhZw1y8gTJP8M/pJ44Venir019doxL/u8vn5Rtz1rl+y
n8n/5k4/azqtvyeTByScMtXP7AqD19g5sSUz1s/bHx3djtCJvRSaCm84YpmM
73Q9a0lkRSQDpxWEqRvIzgQaiY1nlDjpN+FFspz5lWb9gyI9zx5EM8QIo67K
rSj5lhiW1FbhaChoV5KFSwvB72xiRVvlLVYLjoH2wpTz0tHP464+5m00wyi8
QnmI19IwmYS1fL5iYBld1VB3goVmQpeWVNCtu+F9yJa8nWfYVQcDzCoEltcf
REHbO4V7VPl18imRDZMV0L5IM7Z6TSDA8Ug3N78C5Y+fv3x0fvyEHZHjf+7d
/Dg2+fABtMHCCZsRFtsFSgMV9aKp1xpghQePC6/sNT9pRZGfih2dudJ1W1jE
1EzxlgVLDVaE5xRzO1I9pLnlL9Le3rrGoRpLWyHIE7ClMCXIFflVgM02GiSj
Ropr4ikdrecgAS3cpqW2eA7EFJT62KiSGhce35AD1IAeBTlBYT1fasC65YrY
ydJxtHbeE+zZfvjA29/UhP/IrpWKie3JzAfLAJVB3XAW0XTzSlKyzk3TwGww
WinsBqqSlkZGcsBeSroT6uHRPGQPIiRHSnwPe+6pj9OZ6L5ykfVNyeKriDhu
3oF7iyvX1s2WFnsHCDqb+/GA+y5lbqVejbcjR8YcSMaJfBDX9dRkkePGBYnV
jFZFEvB4z47ang6RzoFaVPV1aYsl29lJONgMw9G/Zd3Sy8KWZsvw5uzxhSIH
C75+C6mh34/IV/rkwWef01F52+ttacdI25TH8IKwxsLJsAvaQWAOkDNba9yt
QM7EMg92OOBVUjWLhWX8yCIHWC3dMwVCND9LUdJYio3e0wnDk4fi7BUDPreP
Q4bV1TR1c+1am+9lXvdlARVn35FT4SAfDOHNsHLF6xJeHvACcxktrtqHInI6
A8mmeyVZaCwdop0kQhq0LamBDbASq9wAx7EzuLSDQQOntcTYhHeM2vVKStsI
H39XYTjRIZfzekPu4fOIj0wQj6KmRYLoYLJEQSTEDgc6GItrTzo1HAK0eibb
1CFaKjpEWcqcxRHvSvfWkuhFdwwbUwPLtFiwB4X2XedlkQfmVxgCqxadUQRQ
LAug/T+t4QMSSqRTnQRT5R0lVvl80OHsILLkum+YjqW9sqVIoxLbxHaG+EwU
fQAUwTIOk2aMjPdy1uCxNf7PgQbWK365u2oR4l+pxHfmXSdezsD1uchV0jXz
u+uFAm/PuwwoM1X5lGP/a1d6q0ZLTaaAoyj7EHqzbOEYDaAEggYgCfgp0J/p
4c/uXJ5tiK/Z+NBWWBSFjpOUdxMH3TMGTBD8njXBfFpS1zNfxT14k7wm16cd
BxcwUVRUdctWGcEqgSku2Iyivq5KV73l5SggsTxOMiFwVbfsbBN1o58n2zJg
vZZYa25IkMgYMk+ju6xfCXpqaT6SVBrREiUjI9F+wEFMBxHWl4TSnkI0xMaI
1WRqwpSZomgYhfboLWw8sxJ0gHzFgRmiDtiqZazljaPnsNi7BGmoM5872QIY
n2BIU2oOHu5+DzBw7owjPyLgMsl8VXsCsjqjXTixv4PN6zFhsmJ9/oQd/CRQ
YisGZ8muouqmU7uqS2BKr/ESG59RMuwhcwly5Rz24RVLt9OL9yRhE47cYE9Y
/MySD+yg5XhACV8RC8oswRn1SsJHPJAZoJZqn7od1hHjcB5YM2lFubJ+BXPT
2UWJUQHNEjlOh4PzpxHMzLxerwkORRhwZcreYsRIFtCfNrixEkgj98Y2imNO
WPVgI6It9paLsf0oJhrMS2EXkOSV34EaoqL1nOBkKzBXIorRWOwGDrEeYns5
71OP2+JRRwu0z6oZvSI6WB8GEhOGJhDTnkWflEQaR1GZ/8iLG+JOXrUHonYk
QJ13AgeQBo4YsOUpFHR84Mea7A1Qj1HQABagqlWGFAbGYozO65QTb2zRz61H
KUFVYNVe/7B3HcI2Ez6bhA+9aeZjdG3UnY6jc8SaUORDeM6HLj3eZ1TJDigb
6xqeqTgpmcjJmG2QuYhXxPArS2hgWKnvE1SLIeMRA84zC04KSNHjhggcuWNw
n4WsSag/FS4S2xgYSCzarg6mnSu8LvomsdNG3A2af/AQsoiYxMpDAECECHCD
cbeSQDh0cgpIJnrWd3koccweQXA4ImAY6JLaDzEEz7Tj8AFrfF4ue7yEjK/g
x0G/4uSeQGCdRB74TN9adnqLVh88/+7y9cFE/q8vXvDfr87I+Lw6e4K/L5+d
fvtt/EP5FpfPXnz37ZPhr6Hn4xfPn59dPJHO9FRnj9TB89PfHUjI5eDFy9fn
Ly5Ovz0QyJHqGqAHMbsOiVXCHR27zyokZhgm/vrxy//8twefkoP0N/Tng0/J
NYKNkeHFs+ef8LmhUK1hJWhKUHBD/i3MFgl2S+JSaSgCot8vfg9S/HCiv5rN
Nw8+/do/wA6zh4FI2UMm0u6Tnc5CtT2P9kwTyZc9H5E2X+/p77LfgdDJw69+
VUKHHz/4/FdfK2Yan1UXV+Lmjg9zQBFnERDWGYxNSoQjVtYgCOpfitjUpY+i
eBBDlt00jnBm+6WSsMOlRwi/nD6AuAwZwQ8f6ARubhZuGbLEPtrCZyRjik4O
aDpbnEAQFp1BBBT7rMOkn+6ZkqPFjbjKOSGU1s9kj+SHrPXhgyP9SD+Y0ONX
lkNyBZ7lvz/j399L4FEffvIQfe6/e/3rJ3j+BEC5ElXzOEVL+ltbLckfPfz8
6OPtDu9Ppw/vf3qfm13WPVKLHxtpb5NsENZxYnr1Ia3zSH3gMOzNib4zPgzN
ZR2PDjI6PeVDOfgg+oWheupgzEjbH95/9/n9o3BugZ2id51pv4TFVMZiMbnw
Lg5KW/DARcgP4Y8KsoMrwFkRztmSpuAA5K/PXyOe8sXDz/+ezx9jwmh8hkFb
jPrJIi514ZoWPjqiIxz8lImC4xJ3wrkQrP32kyOLWBaJU90FkwXbpAS+kUIS
3yqYr9QhC5mtL3UuSQ8eTh9ivdhd3NHec5clDLPTsUlo92PNyf2EQ7pHzOEc
LjwuedcNxOBHYbUDiOMck1G3TxUioIkJlNCkJwanuQzUQdN57YN82qBRHo7F
+2jyU7sDil9vOkY8WUbB62TJLeN0QwjX88SwWxP3OqTTFU1EMAPpOGqxBgGx
HYk0M3/73ESrHzDXPqSZ5gaB5327DYLgQcMGaLawHCjI+CXEpc22rE0hYcBM
SyIM5dqulVfeTUw1gD+IaGvhUd/cAIAcCwBhDiPUnnRqyWakLZS69NA/C34I
zP1REGWuyXdWIH74giGOWvRdz8JHkFui0oscM8iKAuJHeRjn2OGVLDLjRhgo
eTmijfdCoU5MEYyJyGUIfe4udKqe1deE/ZqJLEnaB9QQ3fu+4qiCqdLjGoZl
FRAlBgIaXRlCMj57FRBxCD2Olm/Ka7OVMCQXu3BJjOSLC58h5rnT9PB0n40X
H48T/UmGm0EuQj1NMPxRsQeRZ8FQUJZHIbEWBg/JgatgGNkkho6sPhYkpKxp
2yOOQmYZboI1oGXh2rlpUChC2wUGESGJ6smbEvKNicsW8G1cl+rQSOMJos23
qoYQlRRhASj1JSWIg0Si+rV5HBmDtCwwAbvsEphZI91KWMntliNqUNbXClkv
pCvJxP44HNMQp8hrGS58uQLeyEJu7nQbBndZnnVsjiUkAD9V7Gf0oHM1Oduq
oeSBpRxw4U3bb1D4AAdttwjCn/5RsKL7mogouWKvwry5EVsnmjNY9quHbNc/
+ewL/2ZQj4HtQihAaCfqPIw7UXvW0YpDscBPLsSEdlg65JyQoWs7MytduwrH
fhlCWw/JJk8U/fcTGYD++jSz0XQyT+ymrLfQX3vrTGzl48OZCI7kabaNAazs
XFTCglrvifgN/mtDO9qUxkcYdhQcLCy3RNFKCqi0VBwFp5j3JBlXTk3wQN+y
rz9YCRkIvDfOt0iBSTtWarQ/Se0Le3H8x79amYAVVeqO/ITiITIy8033LYLJ
ErNoXHLjadPeYqagFwS7sVUCgORwKS137wwhoiOiZDJUZUoYnm2KJhPHXzL9
4/Gy5aVhAofF0PKIN9NSKwOoS7BpiMR8OSTWBCzVjVs6tPXbEtwrhToTSQM0
o3ioioZsvL5QiifT5tElQZEcWGltT7a8LmyihRDHMrcQ0JcjjcqgpOJEeBkC
9A5FvjR8RkX294YJlWvfMPs88mfx+/s/6L/VbNYePeL/owlrNWrDVYaNPfRt
H0ynv/xhIqt48/3Zq0vytY8UaO9HxZJCdxTEFnNXvCmJy+J0v/yBHteLBSD5
I3JC7sY29LzdaS4tsz7+j7ukGO/GHtRAerzh3T9iUMN/vxFKHGYD6pNhmKTR
G+C1H45oMBgp0yz9eFPeH53oG+SsDpOZjqT6+bpxNMj/bbpJOtORlAQht8Lp
c5znC7YtPcJawtysdPZrHEIWjfHea/shTe6xzEFAMEKNjOVuDJflYROqX02R
Zq9jhporkZEZyS2jkQJaxFCTMltyFggoDMbIcFeSSMmBXXsNRAYGxb+02VjP
ONXnPkqP0D86FeOoMmk78mXKrZJEDcLsDiUduU6tK6/rOTPA2cxm3bLu8ua+
4ghpNPkIka5HyQhfNSi4BO0q5DA4KjlS4YBuElfn4TYM+kkcRGnEDAVrczKr
y6VUrsgWxgjdQx1o86zUCuRVKLM1MlpwswdUFPOEnPCUisQFKbhAjAVqeOjX
Fg7v0C3RHW2WG2Yc5+m8zZcZyy33eowSI444dITRh+xaUlO5Q/gh9VUVyiPJ
HdsZy7jLtt7rULAPlHkkKvNIBh/eO8NEBs47VNvdTNdUX3LhS+ykYooSwbgG
uS0CV/WCoyf7bK/ZZ68q3W+KUbWavjZgG188p9h72McnZEMdrgMkfBKdNdJn
VZ31UqhBAE1BN3briWnb2qMwkuLJXgsH9o4Cy+xMjKZyz4w4gewmqpG4ejVW
HQeQI0ko+s+1YXQ1jQXVOCYVq8vsu42pItJOq525bIRMdHgXjXhW7cjhFX8u
EmzIIjXIDb6bcyos1P89f/3dNPc5R/tXQ+zaL29Uhe29G9JZM/Yqk9jETgwX
3MzM1xPmgzQOtXSyMAL/D+/fFy9RjqNdE0wjHJ5dguDdwJaowQ8JZes7cZfD
UTQtwelHElh46gu+9Os6VP6ecpp8MDOhJuwD6iuTzCE3S+ssuQCnE+0dqj8D
gk8SpCz0W29iJE6w9wbMjIsQN2ZpuiHBPGivZETVe3nXbr2RIfj5cXD31xbZ
ONeug1t2a/Y3LesPdSrwxVmCTSytKQBZWQ3LUUkRi8//hiqoaptkyne3km4A
06FSvuQ0p0QU6RcCc31Xg+JzhuzeIR68udJsUU31jAHlXuKk2fQES+eljiS2
as9RSdmNFBuGbODeVPeTWBaVXe/AMfoSiyJt0dSoGiD1jyIo+87g1CZc4FLl
03NhT9gYaodFjfEOuM7BSP4xZF2VT5cPIUqu0pGjHcxPTO2zuhaUwouF3pAL
SWmB48A/odAxhiZSuSNyqF6qSUprGl4+G6BBYySqLEdU13YoLEp5LGbKV7bc
+Mx9HHe3bGU0qjcWFjkj5TFZGopDgU1iOIisKwEYKBoXXxenHrktFsWYSqXn
FM3hzHLW3fgrQPllIkCqmZWCdN4gK8UhAjgOU8fyR4QkNhtoFSiLRP9m9Y0h
xO4DyTNLxqV0tJSt96mG4g8Z2RfCSIW78MCCdme5yKx0dnDMq3pc0RyLDfYU
6EgI5NLXICPg1RLLNF4mbu7E6uSQVSqyeHLY/p5iaXoUsvi77iOhRN7Khlz0
AOu5RnogmA8gNHYW6xp9Rchu3fxU3dzkHsYHOoghiDasSurrCYNthmJjbxoj
YPKM347iAq7zHRkYbRrmVGgBclrkciRXGL3F0TCkrshDh0ZW7YZoWPftLvmB
ZS8RJd0ZA9V4UkDo+XNGAFHF+xWNWaCkh/3a6k9wwiNMPY0jMJLlOmjU1XH1
PV8kAkfFocIRss+AKtgB5BIqhsNgM6XAMFlMGEG1maOlNNsd/CDoZ+bzgek1
D9YC9LZNhlW8yOGOlEBA7WuA2JOIwNujtBRdqZCYvBRgm0ehCVe8FbfxCucB
rRlql8SBZB0iaiHGYNiio16y46oHQPd4jWPLl1ZJ9SbhGyI3A7SBB9gcdSs6
9SVIspdSreco1tEq7HUyhGu82EtBTqwUi7RISu9YGyiUJLm29ImTrC78tSAS
t3G+/Hdfud5QiuU107I3pFE7K6Uxaog1McJY2gq6QkwMJGH/LeFBbStJKCbM
6EG1JMn2yRIXaOMSgOFrEfCqacWlaQSb1BKTxV1WdAuozG/Yl7pKNshD3VuL
FHH9HT4SaxdBfiGwFo0GLrg2cGPYy+5iQZ9cIiXJaszSppemaqlo5BvInBhi
Oob7DWIVXCM1NoSf2+zqIZqRQyz2SZy+cIs6ygqcpLdK7jj7tfkM/d5qdqRZ
y3rrjyzYkqC/1XCLwe3g50g84MtwGymv4+e0VQn4A70H+YaCk/MqtyHbIwXQ
JtynCYKVFkSa0f2EWBM5GVu3W0q4xgVrIo8zO4wEkUsvGN+Rjw7M91jBjbz4
EAKmuJ8fkp+GJtm2Q8WYr6+n/QiNhrh5GiRNEAMnJqn5kmzOHqonS0wgFiqO
reEPURQICpe8oNX4zrI4Gxycrzcsqkg0oCe3H5JOqKMHAODAl3dRhgJjv38O
44t/ltyv0d+/vOCo1HZ/MAFYNb0XCF5MbyCElDgDOcO2IVGsPiBhYslkJpic
n3JyjdtjfvDhZEjp8v5U5FiXVV+GK3ZMg1EbBBO4tJHdoySb92KkanjlbCFM
2dkmcacHj6UDuvdBtVCPC1mbDxWCfPyLvmFYGxC9XBTkIUXXllKOwerbX0L0
pdzx8pbcXPTV/UzN8GUUMizWw0UvJ7LOrL4XV6PWfLbFFalcqDP/nQIGFf6m
o/CLFGHKqfJi2uSepP/Qgc+mhFNK1uUadR4rQeFhvY6oxotUV9e4DOaHiKur
m1w9wYCrAOEyN9/f7OFtiklopIKI+FQb/taL1GDw9kJQjy2Sr+31SzlR6heD
agEAAEARto5oODftqS/E5Fogy4fkg+RDesS8o3R/yQ6Gn8NXFK/Jj9v05Wj8
/NYYjw8sKtYbKYIgy4mAJ5edBoizcgU1hX0iTA0p5vuiROV3kkdEsN9vVDBl
S8y4EAi9wB2CnSOnvbum3bmaDx4Ky+cYhBqu03+chqy0D4hcdDikDA+mctkm
6YOLL16RxtiWVFnk4+JzCz4RdFWX/VrggGe4rlb5OWUoC9cO5ftGqJoZxxWi
JWYb3MeUIxdcDnU3bCBaoBAp0Hdhq5zdL+DIxYAQEnyzvlNMaTYPTj6yMtTy
z10z79dyI6sd36LJtz7yVIVX2lvsO3tNQaaTCgY693gtJhPvuTjEqVxL0Jo0
MEqjDfsK0mWizqp5s2W8+1iU1zNblrU+PHv87Cg4PMEeBg+LlgZrjGIAn2hS
8ZxEYUeqeC6MqtF5C5gHnEFWZZiFZaPtsCfERDyfjvMJrWJuzBnl5y7Ax/KE
BQIUQT27hNkiN8yQVbL7WQIKwvuquUwFAJtc4uXI23YjliL9UoxcvjFv47WF
pKghhgSkZjiLT8pxD/5BBLuFVDC+9ekb8hcB4uL3Q1RfZZn8DN+KCtuTtAMM
sUJJyY6ZyrtKIQmGGgfZQNRNlwgys3sXvkEUI39yTJGDg+biEBo0X1B8SNk1
fG0ANm8eP1YgN/H4cEduHnmX0iQ1ZcoFLOKrc6KK9UkImklKYwAbwoU2X2LS
xNgHOkwU7iu4JPoLbOA3xAP6mxSM/dsN0boV8CkX6JvQYDoQqAoXn7p8J6Uv
/ZDLG/5CBXJ1yQoVzXlv2MBemoSLKLvhDqwslynnNZfc9MiGkWgsFjSjqUgi
ulVIKCqpY4jXhg8qsJ0pD5KmAZjEGq6pPpVLPBzGTi+NUlO5jRo26sXXyKH5
/SZfBlIZ5RBEBZn4ITAgwn98u6xOsNEtX0RR74MufC9PpqPPpdA/f9DD10Pi
R0ryf/7uOHyEZOeLHslcOyMnnxghXtLvv3oU/4mD8adW8jX6f7jJPb3T71LU
4PuPzPeSSXrbfLv7m+7Z3x9/en/3RpTb2Y/M/Xe7E3K78Xh/TN6ejj5tFmIF
O8P8Yc92dp698B6SXMWSaovTKuGx4EpFUBi8DCm4StyQ1q35fXolOMgfgWHE
WTdc7hPuZjVSv9aFD1jh2wf68RkqS33uiC0WDx7j/iEeLQuOAe5kTlFHiKVJ
bMvwBTR8LCzIw2mme71LXNgFJwrgELX+PkLbbUubAPUZVrCuB7daH8I60rqP
YmRVD2gfpl6yyD52K44EecTHLKd7FJWrlL+P2/UhFTg2XEwQ6yRv4lpfJ0jL
DVYQibmYq4+FKuEeuHzIxVwzKg923ft2KV04NnF+enG6G5hw5J98GOcJpTKS
7Qjf9c3yPoc3N+h07H9zNSFXeHCQYG+VqO/B38vy5YVC83C9RtYRh7x9PV1W
boZvQ8YLgwe8Sj9iexDKO7dqjY81yOep6Di+Cl+8vL6+nmJW+YpmC9qyN34P
H7P5epJMw85z7wpA5fFFpIfjOxvfI1J4ok6kOpFMJqGfvsUDRINNxVWiWVk9
3mX7VeqxXKd8HINuaIOvmupDMovL+JHQI2qKXMO8QwMmQPZ1UX2IzaTNL+rO
8mryD7DiklC7Yaj96IBr4+Z8EQhHNS4Ejl9HJecuHLE/QK5H/tjZ/ZyiYq8H
+DzVnsmSs9XZ2aq/8mx1frZc9fvRsx32f8GfCz0Z7y89/pc///if8Cdrw2Mo
4v8PjjisaO1Ht3ECPjuGwgj+GlP+RRzqIh/btcWjA04joMNviP76fGurpWk4
G7omK5NdKOOYsiN06rxazQpeXr86Pb9QbXYBxV9aatbCTTODGI980aREqSG7
eHtulfwvAfbWOMlYAAA=

-->

</rfc>
