<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC4364 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4364.xml">
<!ENTITY RFC7432 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7432.xml">
<!ENTITY RFC9252 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9252.xml">
<!ENTITY RFC8277 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8277.xml">
<!ENTITY RFC8665 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8665.xml">
<!ENTITY RFC8667 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8667.xml">
<!ENTITY I-D.bonica-spring-srv6-end-dtm SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.bonica-spring-srv6-end-dtm.xml">
<!ENTITY I-D.agrawal-spring-srv6-mpls-interworking SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.agrawal-spring-srv6-mpls-interworking.xml">
<!ENTITY I-D.zzhang-bess-vpn-option-bc SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.zzhang-bess-vpn-option-bc.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-spring-service-interworking-02" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="MPLS/SRv6 Service Interwork">MPLS/SRv6 Service Interworking Option BC</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="B." surname="Decraene" fullname="Bruno Decraene">
      <organization>Orange</organization>
      <address>
        <email>bruno.decraene@orange.com</email>
      </address>
    </author>
    <author initials="S." surname="Zadok" fullname="Shay Zadok">
      <organization>Broadcom</organization>
      <address>
        <email>shay.zadok@broadcom.com</email>
      </address>
    </author>
    <author initials="L." surname="Jalil" fullname="Luay Jalil">
      <organization>Verizon</organization>
      <address>
        <email>luay.jalil@verizon.com</email>
      </address>
    </author>
    <author initials="D." surname="Voyer" fullname="Daniel Voyer">
      <organization>Bell Canada</organization>
      <address>
        <email>daniel.voyer@bell.ca</email>
      </address>
    </author>

    <date year="2023"/>

    <area>Routing</area>
    <workgroup>spring</workgroup>
    <keyword>srv6 service interwork</keyword>

    <abstract>


<t>Draft-bonica-spring-srv6-end-dtm specifies SRv6/MPLS transport interworking
procedures, and draft-agrawal-spring-srv6-mpls-interworking specifies SRv6/MPLS
transport and service interworking procedures. For service interworking,
the latter draft defines two modes, similar to VPN Inter-AS Option A and
Option B. This document specifies another Option BC for service interworking
which has much better scaling property.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t><xref target="I-D.bonica-spring-srv6-end-dtm"/> specifies SRv6/MPLS transport interworking
procedures,
and <xref target="I-D.agrawal-spring-srv6-mpls-interworking"/> specifies SRv6/MPLS
transport and service interworking procedures. For service interworking,
the latter draft defines two styles, similar to VPN Inter-AS Option A and
Option B <xref target="RFC4364"/>.</t>

<t>Specifically, for Option B style interworking, an InterWorking (IW) node does the
following:</t>

<t><list style="symbols">
  <t>For service routes received from MPLS domain, re-advertise to SRv6 domain
with an SRv6 SID (whose bits may be transposed in NLRI and in the Prefix SID
attribute) and with nexthop set to itself. The SID maps to the &lt;service label,
nexthop&gt;
tuple as received from the MPLS domain. For service traffic from SRv6 domain,
the incoming SID maps to &lt;base tunnel to nexthop, service label&gt; forwarding
state in the MPLS domain.</t>
  <t>For service routes received from SRv6 domain, re-advertise to MPLS domain
with an MPLS label and with nexthop set to itself. The label maps to the
service SID (whose bits may be transposed in NLRI and in the Prefix SID
attribute) as received from the SRv6 domain. For service traffic from MPLS
domain, the incoming service label maps to corresponding forwarding state
in the SRv6 domain.</t>
</list></t>

<t>This is a straightforward solution that does not require service instances
on the IW node. However, it does require per-service label/SID forwarding
state on the IW node, that Inter-AS Option C <xref target="RFC4364"/> VPN does not require.</t>

<t>For a true Option C style MPLS/SRv6 service interworking, the SRv6 service
PEs must support MPLSoverUDP or MPLSoverIP, and as such there is no
"service interworking" for Option C - it's just MPLS based services over
interworked MPLS/SRv6 transport.</t>


<t>This document proposes an Option BC style service interworking that does
not require per-service-label/SID state on the IW nodes, and the service
PEs can be single plane - MPLS or SRv6 only.</t>

<t>The key behind the Option BC style interworking is that the SRv6 Service
SID is encoded in two parts of a service route - in the "label" field of
the NLRI and the Prefix SID attribute. The SRv6 SID Structure sub-sub-TLV
specifies the LOC:FUNCT:ARG encoding scheme of the Service SID, and
specifies the which part of the Service SID the "label" field of
the NLRI fits into.
In most cases, the ARG part is not used, with the exception of EVPN
multi-homing support with label-based split-horizon filtering <xref target="RFC7432"/>
<xref target="RFC9252"/>. This is discussed in Section 6.1.1 of <xref target="RFC9252"/> and
in <xref target="esi"/> of this document.</t>

<section anchor="re-advertising-service-routes-from-mpls-to-srv6-domain"><name>Re-advertising Service Routes from MPLS to SRv6 Domain</name>

<t>When the IW node re-advertises a service route from MPLS domain to
SRv6 domain, it attaches a Prefix SID attribute but does not change the label
field of the NLRI. An SRv6 SID Structure Sub-Sub-TLV is included in the
L2/L3 SRv6 Service TLV's SRv6 SID Information sub-TLV, specifying the
LOC:FUNCT:ARG encoding scheme and which part of the SID (in the SRv6 SID
value field of the SRv6 SID Information sub-TLV) that the label
field of the NLRI fits into.</t>

<figure><artwork><![CDATA[
              Signaling of service prefix spfx2

        <-------------------         <---------------------
   <200, spfx2, IWN, PrefixSID>         <200, spfx2, PE2>

SRv6                           IW                          MPLS
PE1                            Node                        PE2

   <IWN:hFUNCT:200::, payload>        <PE2 SID, 200, payload>
        ------------------->         --------------------->

              Traffic for service prefix spfx2
]]></artwork></figure>

<t>A receiving SRv6 PE sends corresponding service traffic using the SRv6
Service SID resulting from superimposing the label value in the NLRI(s)
to the SID in SRv6 SID Information sub-TLV.</t>

<t>On the IW node, the higher FUNCT bits (referred to as hFUNCT) of the Service
SID in the Prefix SID attribute
indicate a new End.DBS behavior, where DBS stands for Decapsulate, Binding,
and Shifting. The hFUNCT bits also map/bind to a particular MPLS router,
which is the BGP protocol nexthop in the service route received from the
MPLS domain. Note that the MPLS router could either be an MPLS service PE,
or an ASBR implementing Inter-AS Option B.</t>

<t>When a service packet arrives from the SRv6 domain, the IW node identifies
an MPLS router (that advertised the service route to the IW node) based on
the hFUNCT bits. Since the hFUNCT bits identify the End.DBS end behavior,
the packet is decapsulated, the incoming SID's certain bits are extracted as
MPLS service label, and then the packet is sent to the corresponding
MPLS router with the &lt;base tunnel label, service label&gt; label stack.</t>

<t>For example, the LOC:FUNCT:ARG encoding of the SRv6 SID that the IW node
advertises could be 64:44:20 where the numbers represent the number of
bits in each part. The 20-bit ARG part is not used except in the case
of EVPN ESI label based split-horizon filtering (<xref target="esi"/>).
The lower 20 bits of the 44-bit FUNCT part are for the
MPLS label received from the MPLS side, X number of bits of the 44-bit
FUNCT part are used to identify End.DBS behavior for each MPLS PE/ASBR
- only 10 bits are needed for 1k of PEs/ASBRs on MPLS side. The rest
of FUNCT space can still be used for other purposes. The IWS only needs
to maintain IPv6 1k SIDs in the forwarding path to switch traffic to
those 1k MPLS PEs/ASBRs using the End.DBS behavior, no matter how many
service labels are advertised from those PEs/ASBRs.</t>

<t>If transposition is not to be used, the above procedure can still be used
with a small change. The 20-bit label field in the received NLRI is extracted
and superimposed to the lower 20-bit of the FUNCT part of the SID value
in the SRv6 SID Information Sub-TLV.</t>

</section>
<section anchor="bindingSID"><name>Re-advertising Service Routes from SRv6 to MPLS Domain</name>

<t>When the IW node re-advertises a service route from SRv6 domain to MPLS domain,
the Prefix SID attribute is removed but the label field in the NLRI does not
change. The nexthop is set to an address mapped to the SID value in the SRv6
SID Information Sub-TLV of the L2/L3 SRv6 Service TLV in the Prefix SID
attribute. If the MPLS domain is IPv6, the address can be the SID value itself.</t>

<figure><artwork><![CDATA[
              Signaling of service prefix spfx1

        ------------------->         --------------------->
   <100, spfx1, PE1, Prefix SID>      <100, spfx1, IWNH>
                                      <300, IWNH, IWN>
SRv6                           IW                          MPLS
PE1                            Node                        PE2

      <SID:100::, payload>           <IWN SID, 300, 100, payload>
      <-------------------           <---------------------

              Traffic for service prefix spfx1
]]></artwork></figure>

<t>In addition, the IW node advertises a underlay route for the BGP protocol
nexthop in the re-advertised service route. If BGP-LU <xref target="RFC8277"/> is used,
a per-prefix binding label is advertised and the nexthop is set to the IW node
itself. If IGP is used, the per-prefix binding label is advertised as a
Prefix SID with both V-flag and L-flag set <xref target="RFC8665"/> <xref target="RFC8667"/>.</t>

<t>When an MPLS PE (or ASBR in case of Inter-AS Option B) receives the service
route, it resolves the protocol nexthop via the underlay route.
As a result, service traffic is sent with a label stack &lt;underlay tunnel
label used to reach the IW node, binding label for the underlay prefix
(i.e. nexthop), service label in NLRI&gt;.</t>

<t>When the IW node gets service traffic from the MPLS domain, the binding label
for the underlay prefix (which is or maps to the SID in the Prefix SID attribute of
the service route from the SRv6 domain) leads to the following processing:</t>

<t><list style="symbols">
  <t>Pop the next label, which is the service label</t>
  <t>Find the SRv6 SID that is associated with the binding label
(note that the underlay prefix is or maps to the SID in the Prefix SID attribute),
and super impose the popped service label to it according to the Transposition
offset/length in the SID Structure sub-sub-TLV in the Prefix SID attribute.</t>
  <t>Send packet after encapsulating it in IPv6 with the resulting SID</t>
</list></t>

<t>If transposition is not used, the entire SRv6 SID value is encoded in the SID
Information Sub-TLV of the Prefix SID attribute. The above procedure can still
be used with a small change - the lower 20 bits of the FUNCT part is extracted
and filled into the label field of the NLRI, and the remaining LOC:FUNCT part
is treated as if it was signaled with transposition.</t>

<section anchor="ipv4-mpls-domain"><name>IPv4 MPLS Domain</name>

<t>As described earlier, if the MPLS domain is IPv4, one IPv4 address is needed
on the IW node to map to each distinct SID value received from the SRv6 side,
and a corresponding transport route is advertised. If that is a concern,
the techniques in <xref target="I-D.zzhang-bess-vpn-option-bc"/> can be used. Instead of
allocating and advertising those IPv4 addresses, the IW node
inserts a Tunnel Encapsulate Attribute with a Composite Tunnel, whose tunnel
egress endpoint address is set to a loopback address on the IW node and the
binding label is set to one allocated for the SID value. Alternatively, multiple
labels in the service NLRI can be used as described in that draft's "Using
Multiple NLRI labels" section.</t>

</section>
</section>
<section anchor="esi"><name>EVPN ESI Label</name>

<t>Typically, if there are separate SRv6 and MPLS domains for an EVPN
network, multihoming is likely within a domain. In case of multihoming across
domains, the following method can be used to achieve label based split-horizon
filtering across the domains.</t>

<t>When the IW node re-advertises the EVPN Ethernet A-D per ES Route from MPLS
domain to SRv6 domain, a Prefix SID attribute is attached, with the SID
Structure sub-sub-TLV specifying the transposition length and offset for the
ESI label, as specified in Section 6.1.1 of <xref target="RFC9252"/>.</t>

<t>When SRv6 service traffic arrives at the IW node, if the end behavior for the
SID is End.DBS and the ARG part is not 0, the IW node extracts the ARG bits
into an ESI label that is imposed before the service label (that is extracted
from the FUNCT bits) is imposed.</t>

<t>When the IW node re-advertise the EVPN Ethernet A-D per ES Route from SRv6
domain to MPLS domain, the Prefix SID attribute is simply removed but the
transposition information is saved locally.</t>

<t>When MPLS service traffic arrives at the IW node, if there is another label
after the service label, that label is also popped and superimposed to the
SRv6 Service SID that is bound to the binding label described in
<xref target="bindingSID"/>, in addition to that the service label is popped and
superimposed to the same SRv6 Service SID.</t>

</section>
</section>
<section anchor="procedures"><name>Procedures</name>

<t>Normative procedures will be specified in future revisions of the document.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The Option BC interwork solution inherits the security properties of VPN
Inter-AS Option C. In particular, with the SRv6 to MPLS service route
re-advertisement, the SID value in the received Prefix SID attribute or
a mapped IPv4 address is re-advertised into the MPLS domain. Note that
this is not the case in the other direction.</t>

<t>On the other hand, while with Option C the PEs may exchange service routes
directly via inter-AS Route Reflectors, with Option BC the service routes
go through interwork nodes where rich policy control may be applied.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests the IANA to register the End.DBS behavior in the
"SRv6 Endpoint Behaviors" registry.</t>


</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC4364;
&RFC7432;
&RFC9252;
&RFC8277;
&RFC8665;
&RFC8667;


    </references>

    <references title='Informative References'>

&I-D.bonica-spring-srv6-end-dtm;
&I-D.agrawal-spring-srv6-mpls-interworking;
&I-D.zzhang-bess-vpn-option-bc;


    </references>


    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="S." surname="Hegde" fullname="Shraddha Hegde">
      <organization>Juniper Networks</organization>
      <address>
        <email>shraddha@juniper.net</email>
      </address>
    </contact>
    <contact initials="K." surname="Szarkowicz" fullname="Krzysztof Szarkowicz">
      <organization>Juniper Networks</organization>
      <address>
        <email>kszarkowicz@juniper.net</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA81bbXPbuBH+jl+BJjM9+0akY58vd9Vl0vjtWvVcx2Plks51
+gEiIQlnilAJ0o7i8X/v7gIgAYpycm2nU83lIpF42fd9doEkScIynatyMeZN
PU++Z6xWdSHH/K/Xl9OD6c3dSz6V1Z3KJJ+UtazudXULo/nbda10yU/PmJjN
Knn35ASW66wUK1g1r8S8Tj59WopykZh1pfAvOzxRwfrJiyOWiVoudLUZc1Pn
jJlalLkodAnLbKRhazXmf691NuJGV3Ul5wa+bVb2S6ZXK1nW5h+MqXU15nXV
mProxYs/wLqikmLMb3RTw0bsHji3hLDbe/haAQOOIt5SxNhz/jAez7QqZLUu
gDA+y9aHx4+MiaZeatiBcZ7AHw6TzJj/kvJfkEd6YlmH33rZqOC5rmDvvzSl
WsuKX8kadzL0Rq6EKsbcyunNr3ZIWsqaxducpvxcZpWQpQx2Oq2aUscvaKu3
Fawmww1mODLN3cg3mgakILzePlNgR+T6NthkuhSb4CFtcFppkePsYAsD49JP
OO7NzL0e2OAy5X8RhSqCDS4b2KB7SBu8l5X6pMtw/QKGpb/isDd39u3A8ucp
f683sgqWPxelkkXw2HIgi4KfiVLkItwkp8HpHQ5+M4MxaSYYOE5ZV2rW1KD/
LXn9WS5yGcmrEnm+FMGLz+rfuDlPWMBPKZ9+EtWtvlfZp2C7n6pPG/Op1vP+
689uemvaCfG+jCVJwsXM1JXI4Pc5+fJMlyoTrS+D+ySyzJO8XoFbyUzNlTQc
w8IBBghwRFGaNTgsD92drSudybypJPguuLmLE2JRiXtRRIuv1oWJQsXQNqzb
Blfb8mec1m2Z8h91NThoxOql5ODv8MjSxHM5VyXsBYLjK50jwUatVCEqXmv+
/vrKhr3kZOpj5AnSwHzATPm7pTIcImKDESqgXpQadqu60MrnO8hi90uVLflS
GL5q4MtMEoEmAzewnIHS6k1qNbZSeV5IDGFAWaXzJsP1GXt4+OMkOU93K/Dx
8d9TIURKF38fiQUSCJiQ5wUGHPgBI4YKcqR8kb6HqfofadzUm+I3qxzZu/nx
7Pibl8ePjylnbGrpB3UVmxGJqB1KG8QUwVp2gw+Oj73Jh31egu2BFSFdS8nm
uijAZSGNM/Z1xFwFeQ4GVTKT6k7mfF7pFeVqmAwOX47gVSJyiJ21MhIZohxu
X0JcuFf1EimwmX1yzvfulxoGzlQN1gcheia9RRhYXpX86vJmQkqA7yjMa0jJ
6iPOheVAsBQy5T4NodVL+RFy6BpIrnF/WFgWc/QTSRuuxNrgc1zr90X9g+es
EBCJR7Cmm//7Rf0D/KqbNUhQ9FnG2QHbsQUAA3PQhx0Z8I+r40RVgr2i6EN6
kJaZQJk1ZQmpBB45SkY8ohEJQy3fiwqRFqwJWKaWXj4hVV+ivJC+LeUFiwXK
o6dEyxdJ3Y4M5I4kO5L+uyYwpKWAvye0RE7PWzlEWoqk3/KR6Qpcf61LVEKg
D6sNxj2x4f6MUbSG/wTHvKcWy9rNBNhZNOS19VLU1hUhggND/2xUJYPogsgV
oh7Tdv3JB3JegAj6XoLqRiB7O91PheidRDwcoNQDC7L2E683snT0Q9EZRJ/f
tdGHolWfVOASxSwQJctung1FHawfDJedxNxrdn2BWclAtG/WFI9xBQ18/nx+
Deij/Tm5tqkebMBgEsPcJ1HSpWbPhvZ6FkbKM56A2L4y/FfciuwbfbGN/Ibj
HqydD286TtpcAZwHyeqLMiImVzBzTNdcW1qygajNwMCRGbA4sPashv3BBPuZ
EFRYbFL+Yalwem25rx0n2vqtnlwfgOhGbBIYGVBxpyABiM4KUTgWQLQiKNSt
RI2nLMi4zqRbABIy1EEPy9FgGm3NnYXmHths0tnskKE6iIdPQpvJYH8IJAa2
gJ2hyCol6Jg0C5yR3khaSL/ktxLDzlK5hfqERwQrY2luTdUVqAwphJcS4kZu
Axfm+LWoIK4BchZxHEaLs4w8IwbBHqEoAD3NCTO0MS8OeF24cxnN59EpeFtW
NxgpmlmCf95dvmcdtMFlLt+ejX/8+ers3fjk5k+WTgpY2VKuJJJILHWRmSTb
W8NiRWRqYMJn2JljhAdZ6pRNSoC74GoZ2Kaxbo800brObBuw2pFNLvhafsyk
VQvsewFmyFZNUatk6YK0Cw80nihInAevC1XDKCrmgIQCVIkTbBz77vibo0d0
Vfzxh6NvjxBS+SCdK5M1xiWhqSSgy1+mh+kh0hDOIUHBoIcHaRT8JNEEbgFm
xp4/5zddeqX07yR3Y/Nyh6U8bDq3mZd9WMrI5qM8bbYsqw/KYD0WpXmIDWBH
AvSOk4esi2PAaeNDho0DyWufzJnXLfe6TflJOWSMUzDEqTVGlCjk1KLxzgFA
4PLo4PKbyIs4jPzKdEtNSohEK0Gid1Y9coh9Y8MHrPKkXRNE2bZaBB5hikY0
cScKSFkRc08Rst8Fgh1iCU2ec6qL489ULUpbZsEsr8W1VYhZzz8esWjSq2T7
8+TLJPHzXx29eDGya47Ajq5GTu/A2+tuiXDQ9cXRa7s9CWH3B6xy58cBKw6r
HT6xBL9Cs97xAUJaMbwC0sdLq20gdjwegVo3hRZ5y8UrGG/DF3HjX0eCHBDU
66dewms2oL53HkMGuDLWHjtxmJQcHuV4fQFDy9z0EGQfljbGmTfNYmGUhVkY
+hB2oqdD6IOQtoK062dYpGqt2dk4WuOe2Weu8qFcVT5p3RCz3m5BQsmXAFoB
FZAGLGbfA4YlsEKYBPCX1c5+Lz8wt+WufAbhM1fYpIWIVMp7flHm6fnpFNOy
uFMacO09QTp8Rs1bQ1I/lxkA8gabqCN+qkiWtgswXao5CskmymVAsCiMRhx/
MKOED0RTaFBZg0U4BU4KpNXItUaUzX2nf7pGfFPrTBdtweNYiiPwVhnComLx
Steyix3BhmATDUQQqQh5zWRbbfnlry9GDMF1yU+mpzcctF5ITDCo+T5WP01d
5ujyw1pkt4AXRVUBdWawSBpFiQZQISyO2Z95Uhyle0R/m4XyASk4W3Nr7bdA
lBBBoJAUwmCZ2fwS6sltvqEX3h7AdTqboJUcU5huO2PIe0Uc2BqklQyIxYRo
zaBCVEHtR4mFA4skbfsBHoJZJXc7GcS6jr/Ij1kooxa89It7t/h2XW89F+w7
u3V1lPwoUMmjpxBcP1e1puVEzwKwYC0MTOvl8fj4GGKo8yscXjarmaywzIAg
ZllsnyKSs1opuRQum1rfOnqRwJtBAOdgm/cShHvM4Td+MZ04fp9GansOVe2n
hNULqHMr2NMq0bF+fEwkWOMhIlC7GCBa57Nb7WjjGIXx7W8drwOrs97qxB/2
OryZ9kMW7U+yoj2uLw7QaVlClQc/fNGZYSkloiIcf3iLu0IJQ4ONr9uIQitu
LAJRiJYcA0YpqdwxtSoK1CwR1hVw66aikszOnnyY2v1xT4P5AL2evGJyDfYD
+4MJGa+xoLGxFmjNmhswa6ywXaICcFlTAwdmOj497V0O247mJW5MfdGlvoev
5YZF7mAFE8QXpzDcqd0BfGQyb7tFisKesz4g1InCuo6YQQnfNW23JcZse4ub
lYCHFvJG9m0NyGI8J53WmgjsYfHn4wmloC4zW0upA/OlJZ19BYYVwFPK36yH
UaNMPW0z9ZcVF7Zd4dp6trjgD89nNmvC4o//XqkRZI9e09AG6MECg7oZK43C
w1qjgy2RgEmuvg5hoVLa/Gt8zxEUKvIcvAPbiOt1J/JWmGFPju0QptfAcGky
0IIMKvLJvN+CRfLQrZwNOvJcc6JHm22ZDsHMz1UJh+w/BrceOx/6AuAQC4DD
UcDp64EhgMb//HqA4l2fV9/gZJxF/3/9/1ZeIInA6vhwuLTgtgCx1QWxcrij
xHiyUttZq/32EgNUPyG7p+AXg7fIb5syl1UhNt5xbWqMMC3rYdrQ9fPY8cnW
YW5y+bNrhHx/9N13j49o7xRzmaAenqPUhRjn4dj/7tb1Ta5thw4RjD9QgG0n
QLLfxsKyL9wIfrEgFlG8n0GO5O+TeSEWRMml/YoUOL5evvwW+Gp/AJMtri59
wuN7IE6LyEsCOeioW3h83+cLE7UrSaDUlIHgoAv/eqvSuFOCXsSaTNkJqtfW
hKOtMtJjVZfcAnxJoLRdywJTZt97ZFMReIlKwFjA3oraZawa2J5KwUQc4fs9
oOuPdBDwpgMZZyFrM3xK0wuuVvsRRWwHRXjI5Co5GBCeAX6mLPUNzIG01yuc
9nkhRd6u256hWsxhjD9OvQZVenv3hUBUZkbCwiM835aO8T0atzE6U1jtdKVG
LA7O98qo2OzL5TcLZB9PMVtwwy26sQarKenGuqazQC4yKJKILLfJuxCywYJ6
PgeXOyhkuQA+fJre1dd+ij5qtH0NORtI9OXuHGEmVEuuOKQuPtUkhHhb0XV9
FczrO5FlF3gQ91eBXlwij88ALCPsCaixu72/E7QyD/MHQCtPIqAZVTIB0txC
q1BxFUSzR6oBHAt6mt15S4V3fEqUV1uX0tIMDRlihy2ruZqjtO/xZI5wTGut
oXAJwz5HhRyH8JRhdMulyUAqWE2KqlB0xrkLaR2PoLqRdh0Pt1BvVGD1zkw5
FT9r/IsCXa5AtmVWB7rccZ5M5SIJTfTaeN3FERspohTkEKJzXphZZrJyILmW
2bJU/2wklV7u7NBdbZwBF8ndukzsEWEyyyAjORDZ2HVLU0P0wWgFhqAza+RE
YFAT2OoplI0/fGnTbAnui0Upf2c7FRet10h+0gZFZ3VnmrqO8MCOxkCm2y4H
kwsSP3jiWoNVhfrwkB2sVK9nmI38y56KnK2xrcTuVkBlO45d0Ruh6pSfYBuh
BHncSbweQ4dG60IyV2T22ndUbwSSRfvtzE/503m8yfOV4c9+NtTycWva2Xbh
Z7Bk1hp21/C4JPofnmNHg7F3m7W/t2MtGkteOu0HP0KRk7WhDAJLt41PoJFO
wUp76c5x5k7DlD2thSofNaWwBeh7j5MOoIQzRFZpY5jbYdRLYSsJppNHgkHt
ZUsl7+TuJg7rmjh2fVrW7TGU+uNikxoHJDiUDB50nyTniPZAkrauDS5vdPVn
1MzccbyF/mdPwMIzRozTwwknPnHq5QWXtVBNNo+1jae2xTWiiwnuJPXz54le
NtFNCQ+FfPc27vG1MTFskLaEuLNp34bxEbzfsnsRFxAuP5h2LKYSRgkCza/t
3/mQ5lsdMwn7ym0w45rGUeZpA2vX+N0P1vqclXyxkVDNP9yk2A3+MM5gj33T
71WwHjIIkjvOETgUg1JBVwyIg6i7/GW6tDdY/E1Oi+gsmNkSrbuv09U9eMbh
ENmOVhSLmhshrpzppmy7J3HkDYMhe3gIekePIzRrX4na2Y6tHvw3AWFsqEdm
xCq+W4HUYSAFLflLl4xdWZGHAMmAL9uOXuRr84YcupJ3kAd12aKh4Hj+OTpk
U6l6A1mtxPxekTqNvSDS3Qhp74J0d2VUCepRtUfvbhl3bxYvTsB2GKq3LlNR
NO6OnsJIFHbqotqDhdaPxI+Ge1wtchmuaioo0F2XrI+V4rK/hYPDJ1isdpcl
qOfqWvyeBmu3OWBknwrfhi8A2+RU+xQOUbS3scghL+x1QPnRwdr4GiOzy4Jr
Yl2svGitx9/IeQEvdWVG0cqnZ5E9upUWyCB8XywD7dLdInc2UtHtAV2obMPp
mr4u/E1FECEg0pyqDoCvJ1cnA/YTXpDCG07SOGOh8VRoLwB7Or/eOkZwlyWe
kVFceDR16l4D1LDTq03vAtpzfpLdlvoeEPeCTMUZs/1HJnSNqbzlaZr6NKEq
8hF53/2TF+ejiwXQTK5DmPkWlR9yRSHG+8MKgz8sAJAI67Hotti/AEd2kSEj
NAAA

-->

</rfc>

