<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.11 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-kuehlewind-quic-substrate-00" category="info">

  <front>
    <title abbrev="QUIC Substrate">Use Cases and Requirements for QUIC as a Substrate</title>

    <author initials="M." surname="Kuehlewind" fullname="Mirja Kuehlewind">
      <organization>Ericsson</organization>
      <address>
        <email>mirja.kuehlewind@ericsson.com</email>
      </address>
    </author>
    <author initials="Z." surname="Sarker" fullname="Zaheduzzaman Sarker">
      <organization>Ericsson</organization>
      <address>
        <email>zaheduzzaman.sarker@ericsson.com</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Arm</organization>
      <address>
        <email>thomas.fossati@arm.com</email>
      </address>
    </author>

    <date year="2019" month="June" day="07"/>

    
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>TCP is often used as a proxying or tunneling protocol. QUIC is a new, 
emerging transport protocol and there is a similar expectation that it too will
be used as a substrate once it is widely deployed. Using QUIC instead of TCP in
existing scenarios will allow proxying and tunneling services to maintain the benefits
of QUIC natively, without degrading the performance and security characteristics.
QUIC also opens up new opportunities for these services to have lower latency and
better multistreaming support. This document summarizes current and future usage
scenarios to derive requirements for QUIC and to provide additional protocol
considerations.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>QUIC is a new transport protocol that was initially developed as a way to optimize
HTTP traffic by supporting multiplexing without head-of-line-blocking and integrating
security directly into the transport. This tight integration of security allows the transport
and security handshakes to be combined into a single round-trip exchange, after which
both the transport connection and authenticated encryption keys are ready.</t>

<t>Based on the expectation that QUIC will be widely used for HTTP, it follows that there
will also be a need to enable the use of QUIC for HTTP proxy services.</t>

<t>Beyond HTTP, however, QUIC provides a general-purpose transport protocol that can
be used for many other kinds of traffic, whenever the features provided by QUIC
(compared to existing options, like TCP) are beneficial to the high-layer service.
Specifically, QUIC’s ability to multiplex, encrypt data, and migrate between network paths
makes it ideal for solutions that need to tunnel or proxy traffic.</t>

<t>Existing proxies that are not based on QUIC are often transparent. That is, they do not
require the cooperation of the ultimate connection endpoints, and are often not
visible to one or both of the endpoints. If QUIC provides the basis for future tunneling
and proxying solutions, it is expected that this relationship will change. At least one
of the endpoints will be aware of the proxy and explicitly coordinate with it. This allows
client hosts to make explicit decisions about the services they request from proxies
(for example, simple forward or more advance performance-optimizing services),
and to do so using a secure communication channel between themselves and the proxy.</t>

<t>This document describes some of the use cases for using QUIC for proxying and tunneling,
and explains the protocol impacts and tradeoffs of such deployments.</t>

</section>
<section anchor="usage-scenarios" title="Usage Scenarios">

<section anchor="obfuscation-via-tunneling" title="Obfuscation via Tunneling">

<t>Tunnels are used in many scenarios within the core of the network as well as
from a client endpoint to a proxy middlepoint on the way towards the server. In many cases, when
the client explicitly decides to use the support of a proxy in order to
connect to a server, it does so because a direct connection may be blocked or impaired. This
can either be the case in e.g. enterprise network where traffic is firewalled
and web traffic needs to be routed over an explicitly provided HTTP proxy, or
other reasons for blocking of certain services e.g. due to censorship, data
exfiltration protection, etc.</t>

<t>In this usage scenario the client knows the proxy’s address and explicitly
selects to connect to the proxy in order to instruct the proxy to forward its
traffic to a specific server. At a minimum, the client needs to communicate
directly with the proxy to provide the address of the server it wants to connect to,
e.g. using HTTP CONNECT.</t>

<t>Tunneling through a proxy server can provide various benefits, particularly when
using a proxy that has a secure multiplexed channel like QUIC:</t>

<t><list style="symbols">
  <t>Obfuscating the end server’s IP address from the observers between the client and
the proxy, which protects the identity of a private server’s address or circumvents
local firewall rules.</t>
  <t>Obfuscating the client’s IP address from the perspective of observers after the proxy,
to the end server itself. This allows the client to select content as if it has the address
or location of the proxy.</t>
  <t>Obfuscating the traffic patterns of the traffic from the perspective of observers
between the client and the proxy. If the content of connections to many end servers
can be coalesced as one flow, it becomes increasingly difficult for observers to
detect how many inner connections are being used, or what the content of
those connections are.</t>
</list></t>

<t>Such a setup can also be realized with the use of an outer tunnel which would additionally
obfuscate the content of the tunnel traffic to any observer between the client
and the proxy. Usually the server is not aware of the proxy in the middle, so
the proxy needs to re-write the IP address of any traffic inside the tunnel to
ensure that the return traffic is also routed back to the proxy. This is also often
used to conceal the address/location of the client to the server, e.g. to access
local content that would not be accessible by the client at its current location 
otherwise.</t>

<t>In any of these tunneling scenarios, including those deployed today, the client
explicitly decides to make use of a proxy service while being fully transparent
for the server, or even with the intention to hide the client’s identity from the
server. This is explicitly part of the design as these services are targeting an
impaired or otherwise constrained network setup. Therefore, an explicit
communication channel between client and proxy is needed to at least
communicate the information about the target server’s address, and potentially
other information needed to inform the behaviour of the proxy.</t>

</section>
<section anchor="advanced-support-of-user-agents" title="Advanced Support of User Agents">

<t>Depending on the traffic that is sent “over” the proxy, it is also possible that
the proxy can perform additional support services if requested by the client.
Today, Performance Enhancing Proxies (PEPs) usually work transparently by either
fully or partially terminating the transport connection or even intercepting the
end-to-end encryption. For many of these support services termination
is actually not needed and may even be problematic. However, it is often the only,
or at least easiest, solution if no direct communication with the client is available.
Enabling these services based on an explicit tunnel setup between the client and
the proxy provides such a communication channel and makes it possible to
exchange information in a private and authenticated way.</t>

<t>It is expected that in-network functions are usually provided close to the
client e.g. hosted by the access network provider. Having this direct relation between
the endpoint and the network service is also necessary in order to discover the
service, as the assumption is that a client knows how to address the proxy
service and which service is offered (besides forwarding). Such a setup is
especially valuable in access networks with challenging link environments such as
satellite or cellular networks. While end-to-end functions need to be designed
to handle all kind of network conditions, direct support from the network can
help to optimize for the specific characteristics of the access network such as use
of link-specific congestion control or local repair mechanisms.</t>

<t>Further, if not provided by the server directly, a network support function can
also assist the client to adapt the traffic based on device characteristics and
capabilities or user preferences. Again, especially if the access network is
constrained, this can benefit both the network provider to save resources and
the client to receive the desired service quicker or less impaired. Such a
service could even be extended to include caching or pre-fetching depending on
the trust relationship between the client and the proxy.</t>

<t>Depending on the function provided, the proxy may need to access or alter the
traffic or content. Alternatively, if the information provided by the client or proxy
can be trusted, it might in some cases also be possible for each of the entities
to act based on this information without the need to access the content or some
of the traffic metadata directly. Especially transport layer optimizations do not need
access to the actual user content. Network functions should generally minimize
dependencies to higher layer characteristics as those may change frequently.</t>

<t>Similar as in the previous usage scenario, in this setup the client explicitly
selects the proxy and specifies the requested support function. Often the server
may not need to be aware of it, however, depending on the optimization function,
server cooperation could be beneficial as well. However, the client and the proxy
need a direct and secured communication channel in order to request and configure
a service and exchange or expose the needed information and metadata.</t>

</section>
<section anchor="frontend-support-for-load-balancing-and-migrationmobility" title="Frontend Support for Load Balancing and Migration/Mobility">

<t>In this usage scenario the application service provider aims for flexibility in
server selection, therefore the client communicates with a reverse proxy that may
or may not be under the authority of the service provider. Such a proxy assists the client
to access and select the content requested. Today reverse proxies terminate the
connection, including the security association, and as such appear as the communication
endpoint to the client. Terminating not only the transport connection but also the
security association is especially problematic if the proxy provider is not under the direct
authority of the actual service provider but a contracted third party.</t>

<t>A similar setup may be used to perform load balancing or migration for mobility support, 
of both the server or client, where a frontend proxy can redirect the traffic
to a different backend server. Today this is realized fully transparent to the client 
and the client is not aware of the network setup behind the proxy. However, such a setup
may as well benefit in future from an explicit tunneling or proxying approach.</t>

<t>In this usage scenario the client interact with a proxy that is located close to the 
server and potentially even under the same administrative domain or at least has some 
trust relationship with the application service provider. The server is aware of this 
setup and may have an own communication channel with the proxy or tunnel endpoint as well,
in order to advise it about server selection. However, the client is usually not aware of
any specifics about the setup behind the substrate endpoint.</t>

</section>
<section anchor="iot-gateways" title="IoT Gateways">

<t>A number of IoT devices are connected via a low-power wireless network (e.g., a
Bluetooth LE piconet) and need to talk to their parent cloud service to provide
sensor readings or receive firmware updates.  When end-to-end IP connectivity
is not possible or desirable for at least some of the devices, one or more IP
capable nodes in the piconet can be designated as ad-hoc gateways to forward
sensor traffic to the cloud and vice-versa.  In other scenarios, a less
constrained node - sometimes called a “smart gateway” - can assume the
forwarding role permanently.  In both cases, the gateway node routes messages
based on client’s session identifiers, which need to be unique among all the
active participants so that the gateway can route unambiguously.  The access
network attachment is expected to change over time but the end-to-end
communication (especially the security association) needs to persist for as
long as possible.  A strong requirement for these deployments is privacy: data
on the public Internet (i.e., from the gateway to the cloud service) needs to
be made as opaque as possible to passive observers, possibly hiding the natural
traffic patterns associated with the sensor network.  A mechanism to provide
discovery of the proxy node to the rest of the piconet is also typically
necessary.</t>

<t>Today, the above requirements can be met by composing an end-to-end secure
channel (e.g., based on DTLS sessions with client-chosen connection IDs
<xref target="I-D.ietf-tls-dtls-connection-id"/> or application layer TLS
<xref target="I-D.friel-tls-atls"/> from the sensors to the cloud together with a
multiplexed secure tunnel (e.g., using HTTP/2 Websockets <xref target="RFC8441"/>, or a
proprietary shim) from the gateway to the cloud.  In the future, a more
homogeneous solution could be provided by QUIC <xref target="I-D.ietf-quic-transport"/> for
both the end-to-end and tunneling services, thus simplifying code dependencies
on the gateway nodes.</t>

</section>
<section anchor="multi-hop-chaining-usage" title="Multi-hop Chaining Usage">

<t>Providing a generic approach to use QUIC as a substrate also enables the
combination of multiples of the above use cases. For example, employing multiple
obfuscating proxies in sequence, where the communication with each proxy is
individually secured, can enable onion-like layered security. Each proxy will
only know the address of the prior hop and after itself, similar as provided by
onion routing in Tor project <xref target="TOR"/>.</t>

<t>Further it would also be possible to chain proxies for different
reasons. A client may select proxying support from its access network, while a web
service provider may utilize a front-end load balancing proxy to provide end-to-end
secure communication with the applications components servers. Here the proxy and
the load balancer have different tasks. The access network proxy optimizes the
aggregated data transport. The load balancer needs to route different set of
end-to-end protected data that it aggregates. A third example would be
multiple proxies to cooperate and maybe exchange measurement information in order
to optimize the QUIC connection over a specific segment.</t>

<t>The above examples indicates that a solution likely have to consider how to
establish a security model so that endpoints can selectively choose what
connection related information to share with the different proxy entities.  The
possible efficiency should also be consider and multiple layers of encapsulation 
should be avoided when the security model allows for it.</t>

</section>
</section>
<section anchor="requirements" title="Requirements">

<t>To use QUIC as a substrate, it could be beneficial if unreliable transmission is
supported as well as having a way to potentially influence or disable congestion
control if the inner tunnel traffic is known to be congestion controlled.</t>

<t>Communication between the client and proxy is more likely to be realized as a
separate protocol on top of QUIC or HTTP. However, a QUIC extensibility
mechanism could be used to indicate to the receiver that QUIC is used as a
substrate and potentially additional information about which protocol is used for
communication between these entities. A similar mechanism could be realized in HTTP 
instead. In both cases it is important that the QUIC connection cannot be identified
as a substrate by an observer on the path.</t>

<t>As existing proxying functions cannot be perform transparently the QUIC is used, the
discovery of a proxy on path need to be explicit. In the simplest form of such
discovery could include pre-configuration or via out-of-band signaling. The proxy
can advertise it’s existence when a client is connected to a network (DHCP), the
client can get a white-listed proxy address when making first contact with the
server (CNAME/IPaddress). In both cases the proxy need to have a routable address
and name.</t>

</section>
<section anchor="contributors" title="Contributors">

<t>Magnus Westerlund have contributed two paragraphs on combining proxies.</t>

</section>
<section anchor="acknowledgments" title="Acknowledgments">

<t>Thanks to Tommy Pauly, and Lucas Pardue for contributing thoughts
and comments on these use cases, as well as text edits!</t>

</section>


  </middle>

  <back>


    <references title='Informative References'>

<reference anchor="TOR" target="https://www.torproject.org/">
  <front>
    <title>TOR Project</title>
    <author >
      <organization></organization>
    </author>
    <date year="2019" month="June" day="05"/>
  </front>
</reference>




<reference anchor="I-D.ietf-tls-dtls-connection-id">
<front>
<title>Connection Identifiers for DTLS 1.2</title>

<author initials='E' surname='Rescorla' fullname='Eric Rescorla'>
    <organization />
</author>

<author initials='H' surname='Tschofenig' fullname='Hannes Tschofenig'>
    <organization />
</author>

<author initials='T' surname='Fossati' fullname='Thomas Fossati'>
    <organization />
</author>

<date month='May' day='6' year='2019' />

<abstract><t>This document specifies the Connection ID (CID) construct for the Datagram Transport Layer Security (DTLS) protocol version 1.2.  A CID is an identifier carried in the record layer header that gives the recipient additional information for selecting the appropriate security association.  In "classical" DTLS, selecting a security association of an incoming DTLS record is accomplished with the help of the 5-tuple.  If the source IP address and/or source port changes during the lifetime of an ongoing DTLS session then the receiver will be unable to locate the correct security context.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-tls-dtls-connection-id-05' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-tls-dtls-connection-id-05.txt' />
</reference>



<reference anchor="I-D.friel-tls-atls">
<front>
<title>Application-Layer TLS</title>

<author initials='O' surname='Friel' fullname='Owen Friel'>
    <organization />
</author>

<author initials='R' surname='Barnes' fullname='Richard Barnes'>
    <organization />
</author>

<author initials='M' surname='Pritikin' fullname='Max Pritikin'>
    <organization />
</author>

<author initials='H' surname='Tschofenig' fullname='Hannes Tschofenig'>
    <organization />
</author>

<author initials='M' surname='Baugher' fullname='Mark Baugher'>
    <organization />
</author>

<date month='March' day='11' year='2019' />

<abstract><t>This document specifies how TLS sessions can be established at the application layer over untrusted transport between clients and services for the purposes of establishing secure end-to-end encrypted communications channels.  Transport layer encodings for application layer TLS records are specified for HTTP and CoAP transport. Explicit identification of application layer TLS packets enables middleboxes to provide transport services and enforce suitable transport policies for these payloads, without requiring access to the unencrypted payload content.  Multiple scenarios are presented identifying the need for end-to-end application layer encryption between clients and services, and the benefits of reusing the well- defined TLS protocol, and a standard TLS stack, to accomplish this are described.  Application software architectures for building, and network architectures for deploying application layer TLS are outlined.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-friel-tls-atls-02' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-friel-tls-atls-02.txt' />
</reference>



<reference  anchor="RFC8441" target='https://www.rfc-editor.org/info/rfc8441'>
<front>
<title>Bootstrapping WebSockets with HTTP/2</title>
<author initials='P.' surname='McManus' fullname='P. McManus'><organization /></author>
<date year='2018' month='September' />
<abstract><t>This document defines a mechanism for running the WebSocket Protocol (RFC 6455) over a single stream of an HTTP/2 connection.</t></abstract>
</front>
<seriesInfo name='RFC' value='8441'/>
<seriesInfo name='DOI' value='10.17487/RFC8441'/>
</reference>



<reference anchor="I-D.ietf-quic-transport">
<front>
<title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>

<author initials='J' surname='Iyengar' fullname='Jana Iyengar'>
    <organization />
</author>

<author initials='M' surname='Thomson' fullname='Martin Thomson'>
    <organization />
</author>

<date month='April' day='23' year='2019' />

<abstract><t>This document defines the core of the QUIC transport protocol. Accompanying documents describe QUIC's loss detection and congestion control and the use of TLS for key negotiation.  Note to Readers  Discussion of this draft takes place on the QUIC working group mailing list (quic@ietf.org), which is archived at &lt;https://mailarchive.ietf.org/arch/search/?email_list=quic>.  Working Group information can be found at &lt;https://github.com/ quicwg>; source code and issues list for this draft can be found at &lt;https://github.com/quicwg/base-drafts/labels/-transport>.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-quic-transport-20' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-quic-transport-20.txt' />
</reference>




    </references>



  </back>

<!-- ##markdown-source:
H4sIADN7+lwAA41bW5PbRnZ+71/RkR9WqiIprWuTys5LVivLsSqWPbHG5apN
pVJNoEliB0AzaGDG9Jb/e75z6Qs4IzsPliUS6Ms53/nOldvt1szd3Psb+2P0
9p2LPlo3tvYH/79LN/nBj3O0hzDZ//zxwzvr8KX9tOzjPLnZG7ffT/7hRr4r
H7ehGd2AJdvJHebt/eJPvX/sxnaLNZttTA9u37wxLf5/Yxr8eQzT5cZ24yEY
052nGztPS5y/fPPmz2++NPf+8him9sZ+GGc/jX7efkVrGxNnnPZ/XB9G7Hfx
0Zy7G/tfMUzz5A9xY+NloL/8tzFumU9hujHWbvGfxU7xxn7c2f/Ix+OP5eQf
u+nv7vqrMB1v7Pupa2IMI3/iB9f1N3agp3flnn/x+tCuCQNtaMuOf9vZT266
91O129/cybfLL7+4wY31t5/d8JfqhV3kF35rz7ud/TrE6Oau2vTuFAbos/6C
93s7DfVWMz+2O8hjf3HToBvQ+mYM04CPH6BDaA26K//EE3ff/3DDa1nF2At8
Ym+n8HffzC/kGwaA/fLNH/+8ffMv2zf/rM+76ehnvHCa53O8ef368fFxN4fp
LO/ucNLXL4zZbrfWMZoaYOHu3a3tog2H2Y92ib4VvOKdny/deMT17LyMo+/p
H/h0Dk3od4Lejp4c/ePGGoB+OtIjWHaMZ0ApP8ymMZ/85OWF2A1d7ybrfz7j
VLh5GPG1m2032zkE+9j1vdn76jAZ/DaMjafnsNBj1/r+Ylt/7sPFtzvYIu0v
Bxvj7F2LW1m+32j8z12c6fvY+NFNXYi8j3V9Hx7Lbfmo+brRTw9dA+Oeg4Vi
xxn/0U3s3o/+0M3RYAPecGQF9pcNVoXylxnnOk6uZYnghbOfWM10fNoj+maZ
uvlim5MjPQCHOF4Td0Yoo4/BhrMfo13OJGH8g2S6jN3ceeEWLAvyqY94cg/e
4jp+sj2ENTYX2guinLG+HZZ+xiaTdwPfbeEVd4A0hAn2WYi28PEwQDy/YEWc
cKKP6LyHZV4mUok7elNEiE1bHB3bTs9TH4kzkHgfoC3r2rYjdbs+g8M0YYz4
bmIc4P4Mz6Fr294b8wVR1xTapaFvjVmh7jmoMY4eAZqOJAXlEkCgGMhSsfTo
LnSkcJ4Bw1+8+ebu7pZWOhy6xu4vSS4kIpbYuQd08I+k1xNwtQ2HLQDit/s+
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
ilHTEVK5+t0Dh3EUcFGWrB1+7sMqRPwDV6HWZcCNfM+hJvmBZwu7pe63alMo
y2lfpUSR10y0s9/n6EgIzDBUw1zTfM6Cu7nqCLbXFlArJO+wMansVrWXxHr3
q+ac1sir8O1z1mf4aLnunBu+FHI8GxnV3j51VegtoOHQHfGicbb21jlg4l6L
tDcV0Fz9r5IXirkUtTtrOLX4emKQldSCzOnb4Fr7V9drhE7vfey0p/36Y9BG
429WhN2ZlC77ptNm4nXdoJ0zasnrct2YhC8o4crznPK8Wr5VgqZhhIOkqHKU
q7UU+gAbhuP3S8rzl7HVqp5MQ2nVMeGpPmMOaxSm7PrqAp8pZCE65VpfzRsZ
yEhXKQFanbGrUgcvMWdOU9bVAl+NEMQYAD95hsPgFCOdz16sVA5Q4crUXZsq
KbN3VcJE8qF84/OZ0x48ydQrcefTA3HsXfivynGSM1ilB7loVXQiFmKeqEYp
8QmK+EgSDjmN+Lup5ZSQqOttHk8SRtI2TyoupZy2J6zvM9YJMAnqMgKQ4K5s
tLHkCHJQoZAlV8hy3Wjvx1GwKJZV8mgYvbBA5UcYR1wJ9VxjohJZqawm6Mxa
acnFySdlnrV6ba4alvTvSYlwVVOhAkS3rjRmbotVhM+Um1qEKcbqxtQEl47h
k+QxxzapV3rGX+G0/19tJc7WyZWrrVc2jve4KHeVwNlEJVfFGInBCuSiG6i0
SM6Tx9Io0msDDYjZOvGmgj2HIOaZ8Csn2r9FeVyxqsq1lR7wLyMaSHUCnv6i
avPj+BkfcdWcypN9VXYpGtqY2p249oHqatCK1LGu+fZ5d8a6KUWNdHTDTWVN
UNaDAVdwKkN/6Xg7cT4fwp39d3yO/D2SwY7LsPdcAKNvJH2QdF2ZCGqmdrej
2bjtmefjHmFRfZ0QvKSsHfRo/tovfg5kqN++t+cOS/j5FQs5j7C4PpWjO64l
sXfpw1Ji/NL3g5KoX8qDUYAwx8QpOzh008BiWc400In0BTmpH+uU9MNtptMH
0IlRg8xhLFbj/MKlmDajr55EUJls0sAKT1B8uJV8qqcBm9aXUE3urNmQ5r9s
K9QRbLen0Nijir/qqaaLVi0KQQPJhcRHR9iSK0MUQV19qXBWxW7H+ZBZ1W9x
MLvluyDuoplE7obj0RdxoJqxHuQFHuJuDJUyxDGWYoNF3suNrcGNEqHy/kzG
OlVAJ9WlZE/uPETEPZH4JZqcDuT6dqTaPzkwrnMjDp1ialRWYSWMEO7cuiEQ
ffXclUDszpQhbdjuzL1f9pHaDUknYfKng2AZN+wRxiGC5uPf5YzW5PmLeQYz
Dmp6pZ4VUoQu9R9IkV2gFpUUZ1cl8JeVS/5cKPGqdIKoZ0gpPuOP+iZ015hB
ivPCq84TfVyNiVZDrNXwCh2eS3bN5UbmCzTyPi978GQeZbcvu52HwebiShLa
Cndqj+WsNKc3OBpFhSWeHesm1pVEaAV/f6j605v09YW6HCm6Gmlwz/XmSWM1
iahuBappqKpYHrnuUnNFKtNd1u04RqTea6LAPn2rlppqf/PlLNN9JlcBaVig
tIrAttejumrlsC/KsGnoMMgswIqGJPcwyZEoWWaj+Oru20/JIFKJju1k21Ce
ONYh4YevovnHP/7tw/arXefnw3bu47alP8oz26799Vd2pZVvlFQUG6W3D1Pn
e37d4Q+8kKEg4o5rKMzh6JlxJBww9UiDTjmoN9TblcmL11/an/w+0qAPJIbt
f/j63b/+6U9//PVXbos5AzUBs8iRoDl49+HVb8NS+EcKKhT+EPURJZtTGAIl
55Qo52p9TiSvZ0RtLUb+kUiOwUkaYSoTvZUqn59wJ3zQpjRs1x042GoIdXVd
IFliTZRRffJHkiZcw9m+O4G66X2eQDPmlk8t4yVceICxpDgujWqVn8kUp8+I
lsHeqJkOjTXnNm7SXymMMrjz0J20YfIYoR+IYuqp7txwr2dOeeqJChlUH9d5
rOvcSBDExaPUEES81MJBtxLvaKa+YePS2eQwErB5ZoaR7MsE986+L2vxjx84
qaLSu1xsPTUEpOFiJGrO5XjkRKZKNjl3cauJYsObsyuhu+KOdxJV069CgKK7
73/49ddS/uWBJJlPuK6aiTfpxiwv4vCchRgdKNuB3zQKpMBUk9wy2lrXxalR
vq7NbrQx7WjezTzJ32hF3IPymZQuMa6vMrIn81eVs3t2+PO5gDwKIY7SVhB3
gGg3oSLXorjGWh0Ax+RovORns4vUcih+u64rUyyubQCBujseJ39kH8K1wtVP
Bq53KgMZHCqUPRFRU8Bd2b5OUOVl9Uc3eTvWnOTDajgKhL3PfFnqECHXu3xK
QrhOrfHGADAs6uqvunKcWpi6+0ECZBao266citWjeceBaxA0fpvsXc9Jlttq
bUc7WJlAyeh6zY9kPoR/cKJdLQOHSl3NeErjbhToDOC2PgdlZXSaLFoTHypZ
wxoC5Y80QlSVYiTVu6qjUd/gRNF+RlpRlYAg1aAlwDPZ6jxFGB3/nkcruMkw
811Y/klDTDDMF3jHneOiDUWjb1O58yEwOdD03zrEk5vrZBqZdzdL1W/160YK
Kz5H3VyEf6782R0QyEI0nfxag0A9dBpFR6O0IHmGjhKT0sR1qA+ts3IIt2em
5iyoi7xqaXmZ1PLKXYWxTGFVk0bEs2P+6cx1wwzZBpjx3YoqPtM6ydMhnF4p
6ub1dBhJCvyD0J+sJs92MzzO+Ycr+ruVKrF28gU3gaLWPk2JIbO0U50qWUMJ
GznlnGz5/Q0n6PlIxe9e1T6q6Y2nIy1lMFNG1GP+EcxVRlGJLPoK6KXc9sxl
stRAGTwBa/R3fbt1/qZDEIhdgB+XZrWeoxSYrxZ1c9rWmqvAY3/hKkoarUvp
h5up7PQ2lh/jZIdWGixl/VQoXM+i5DOppDgsX4f9qVBFvS/sWSeTqTq2S+Gj
/DZCMq8h/RSgWk4kmbqF1CJM7QCXBluoMAJN0i/a9lyRpmSfQkNxNaXJ5los
OUsh6A8qBTY+phBXlX1K1YWLlLnC8tU3725fyY1TSR7r0jiUIyDNHuERd3DU
r2rYw+sPjofTD90UZTQ2F/bmPFlmX7777u3H968/3Oqrr65xUqVUKlUpmrHr
ZPpIw7Vc73GD599SvCMq6JA1I6kw5qM7jgiVf6Ii/dQveJAXadJDtPAj5ZGT
O07ufIpcNuDgtYo0iVO/sG8bYh9wzDGxKmzgnn3rHeznYm/dwn127PLtgkvg
g4kG8Q/aReUddT5wOZ5mOTnZHscsIVlcDos3NbvO4BPrYd/xn8z/AdMjZ8jV
PgAA

-->

</rfc>

