<?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.6.39 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-li-savnet-intra-domain-architecture-03" category="info" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="Intra-domain SAVNET Architecture">Intra-domain Source Address Validation (SAVNET) Architecture</title>
    <seriesInfo name="Internet-Draft" value="draft-li-savnet-intra-domain-architecture-03"/>
    <author initials="D." surname="Li" fullname="Dan Li">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>tolidan@tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="J." surname="Wu" fullname="Jianping Wu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>jianping@cernet.edu.cn</email>
      </address>
    </author>
    <author initials="M." surname="Huang" fullname="Mingqing Huang">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>huangmingqing@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Chen" fullname="Li Chen">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lichen@zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="N." surname="Geng" fullname="Nan Geng">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gengnan@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Qin" fullname="Lancheng Qin">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>qlc19@mails.tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="F." surname="Gao" fullname="Fang Gao">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gaofang@zgclab.edu.cn</email>
      </address>
    </author>
    <date year="2023" month="July" day="25"/>
    <area>Routing</area>
    <workgroup>SAVNET</workgroup>
    <keyword>SAV</keyword>
    <abstract>
      <?line 92?>

<t>This document proposes an intra-domain SAVNET architecture. Devices in the intra-domain network can communicate with each other and advertise SAV-specific information. SAV-specific information explicitly or implicitly indicates the accurate incoming directions of source addresses. With the advertised information, devices can generate accurate SAV rules automatically. Under the incremental/partial deployment of the architecture, routing information can be used as a supplement of SAV-specific information for SAV rule generation.</t>
      <t>The architecture primarily introduces the SAV-specific information, architectural components, and the collaborations between them. Future intra-domain SAV mechanisms/protocols can be developed based on the architecture. Concrete protocol extensions or implementations are not the focus of this document.</t>
    </abstract>
  </front>
  <middle>
    <?line 98?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>Source address validation (SAV) is important for mitigating source address spoofing and contributing to the Internet security. Source Address Validation Architecture (SAVA) <xref target="RFC5210"/> divides SAV into three checking levels, i.e., access-network SAV, intra-domain SAV, and inter-domain SAV. When an access network does not deploy SAV (such as SAVI <xref target="RFC7039"/><xref target="RFC7513"/>, Cable Source Verify <xref target="cable-verify"/>, and IP Source Guard <xref target="IPSG"/>), intra-domain SAV helps block spoofed packets from the access network as close to the source as possible. The concept of intra-domain SAV in this document keeps consistent with that in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>.</t>
      <t>The main task of SAV mechanisms is to generate SAV rules for checking the validity of source addresses of data packets. The information of source addresses/prefixes and their incoming directions makes up the SAV rules. How to efficiently and accurately learn the information is the core challenge for SAV mechanisms. 
There are many intra-domain SAV mechanisms available such as ACL-based filtering <xref target="RFC2827"/>, strict uRPF <xref target="RFC3704"/>, and loose uRPF <xref target="RFC3704"/>. SAV rules are generated by either routing information or manual configurations. However, they are faced with the problems of high operational overhead and inaccurate validation in some scenarios <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>.</t>
      <t>An intra-domain architecture is proposed in this document to address the above issues. Consider that routing information is not accurate enough for SAV rule generation. SAV-specific information is defined which can provide more accurate incoming directions of source addresses. For example, a route indicates that the next-hop of address P1 is Intf. 1, while the packets with source address of P1 come from Intf. 2. SAV-specific information can be used to indicate the real incoming interface of the address and replace the reverse route looking up.</t>
      <t>Under the architecture, devices can communicate with each other and share SAV-specific information besides routing information. Accurate SAV rules on devices can be automatically generated based on the learned SAV-related information. When the architecture is partially or incrementally deployed, complete SAV-specific information may not be available. Devices can leverage routing information for generating SAV rules. By default, SAV-specific information has a higher priority than routing information in case of information conflicts.</t>
      <t>This document presents the high-level designs for future intra-domain SAV mechanisms. The definitions of SAV-specific information, architectural components, and the collaborations between them are the focus of the document. The main purpose is to provide a conceptual framework and guidance for the development of intra-domain SAV mechanisms, allowing implementers to adapt and implement the architecture based on their specific requirements and network environments. The protocols or protocol extensions for implementing the architecture are not in the scope of this document.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>SAV Rule: The rule that indicates the validity of a specific source IP address or source IP prefix.</t>
        <t>SAV Table: The table or data structure that implements the SAV rules and is used for source address validation.</t>
        <t>SAV-related Information: Any information that is useful for getting or generating SAV rules.</t>
        <t>SAV-specific Information: The information specialized for SAV that explicitly or implicitly indicates the accurate incoming directions of source addresses.</t>
        <t>SAV-specific Protocol: The protocols or protocol extensions for delivering SAV-specific information.</t>
        <t>SAV Agent: The component that stores SAV-related information, consolidates the information, and outputs SAV rules to the SAV table.</t>
        <t>SAV Information Base: A table or data structure for storing SAV-related information.</t>
        <t>False Positive: The validation results that the packets with legitimate source IP addresses are considered "invalid" due to inaccurate SAV rules.</t>
        <t>False Negative: The validation results that the packets with spoofed source IP addresses are considered "valid" due to inaccurate SAV rules.</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="design-goals">
      <name>Design Goals</name>
      <t>The intra-domain SAVNET architecture is to enhance the intra-domain SAV and aims to achieve the following goals:</t>
      <ul spacing="normal">
        <li>Automatic Update. The devices after initial configurations can adapt to dynamic routing changes automatically, so that the operational overhead can be controlled.</li>
        <li>Accurate Validation. The real incoming interfaces of source prefixes need to be completely learned, and false positive can be avoided. By trying to exclude non-real incoming interfaces from the valid interface group, false negative can be reduced.</li>
        <li>Working in Incremental/Partial Deployment. The architecture should be no worse than existing mechanisms under incremental/partial deployment.</li>
      </ul>
      <t>Existing SAV mechanisms mostly rely on routing information for automatically generating SAV rules. However, route decides the outgoing interface of source address while SAV focuses on the incoming interface. Therefore, in some cases, routing information cannot support accurate rule generation. The information specifically useful to accurate SAV is required. Manually configuring such information on devices is not practical especially in large-scale and dynamic networks.</t>
      <t>To achieve the above goals, the architecture proposes to allow devices to advertise SAV-specific information automatically. The SAV-specific information will provide more accurate incoming directions of source addresses than routing information. Devices receiving the information will be able to generate accurate SAV rules. Since the updates of SAV-specific information will be advertised proactively, the generated SAV rules can be automatically updated. By properly utilizing routing information, the architecture can also work in incremental/partial deployment</t>
    </section>
    <section anchor="sav-specific-information">
      <name>SAV-Specific Information</name>
      <t>SAV-related information represents any information that is useful for getting or generating SAV rules. There are largely two kinds of SAV-related information: routing information and SAV-specific information.</t>
      <t>Routing information is used for forwarding rule computation, which mostly stored in RIB/FIB. It is not specialized for SAV but can be used to some extent for SAV. Existing SAV mechanisms like strict uRPF and loose uRPF conduct SAV solely based on routing information.</t>
      <t>SAV-specific information is specialized for SAV, which explicitly or implicitly indicates the accurate incoming directions of source addresses. Compared to using routing information, the accuracy of SAV rules can be improved through SAV-specific information. The false positive problems can be avoided and the false negative problems can be reduced.</t>
      <t>SAV-specific information can be various kinds of information on devices. Some examples are as follows:</t>
      <ul spacing="normal">
        <li>Forwarding information, e.g., preferred paths or forwarding next-hops. A device may need to consolidate forwarding information from multiple devices so as to discover real incoming directions of source addresses.</li>
        <li>Prefix information like hidden prefixes. Hidden prefixes may not appear in routing information but are carried as source addresses by legitimate data packets.</li>
        <li>SAV rules like &lt;prefix, valid interfaces&gt; entries. Devices can directly advertise SAV rules to other devices.</li>
      </ul>
    </section>
    <section anchor="sec-arch">
      <name>Intra-domain SAVNET Architecture</name>
      <t>The proposed architecture is shown in <xref target="fig-arch"/>. In the architecture, there is a communication channel connecting two entities, i.e., Source Entity and Validation Entity. Source Entity is the information source and provides SAV-related information to Validation Entity. Validation Entity receives the information, generates SAV rules, and conducts validation. An entity can be a router, a server, or some other SAV-equipped devices. A device can act as a Source Entity, a Validation Entity, or both of them.</t>
      <t>Source Speaker resides in Source Entity is responsible to communicate with Validation Speaker in Validation Entity through the communication channel. The communication channel may consist of several sessions for transmitting SAV-related information including routing information and SAV-specific information. In order to transmit SAV-specific information in the channel, a new SAV-specific protocol should be developed to carry the SAV-specific information. The SAV-specific protocol should define the data structure or format for communicating the SAV-specific information and the operations and timing for originating, processing, propagating, and terminating the messages which carry the information.</t>
      <t>Under the incremental/partial deployment, not all devices support advertising SAV-specific information. So, complete SAV-specific information will not be available for the devices acting as Validation Entity. In the stage of incremental/partial deployment, routing information can be used as a supplement of SAV-specific information for SAV rule generation. That is why the advertisement of routing information is also included in the architecture.</t>
      <t>SAV Agent in Validation Entity stores SAV-related information from Validation Receiver, consolidates the different types of information from all sources, and outputs SAV rules to the SAV table. The concrete structure of SAV Agent will be introduced later.</t>
      <figure anchor="fig-arch">
        <name>The intra-domain SAVNET architecture</name>
        <artwork><![CDATA[
    +-------------------+             +-------------------+
    |   Source Entity   |Communication| Validation Entity |
    | +---------------+ |   Channel   | +---------------+ |
    | |  Source       +-----------------+  Validation   | |
    | |  Speaker      | |             | |  Receiver     | |
    | +-------+-------+ |             | +-------+-------+ |
    |         |         |             |         |         |
    |         |         |             |         |         |
    | +-------+-------+ |             | +-------+-------+ |
    | |  SAV-related  | |             | |  SAV          | |
    | |  Information  | |             | |  Agent        | |
    | +---------------+ |             | +---------------+ |
    +-------------------+             +-------------------+
]]></artwork>
      </figure>
      <section anchor="communication-channel">
        <name>Communication Channel</name>
        <t>The communication channel is constructed between the Source Speaker and Validation Receiver. The primary purpose of the channel is for Source Entity to advertise SAV-related information to Validation Entity. In the architecture, the communication channel can transmit both routing information and SAV-specific information through different sessions. These sessions can belong to different protocols:</t>
        <ul spacing="normal">
          <li>Routing protocol. OSPF, IS-IS, BGP, etc.</li>
          <li>SAV-specific protocol. This is newly defined in the document. The SAV-specific protocol represents the protocols for advertising SAV-specific information. They can be new protocols or protocol extensions (e.g., routing protocol extensions).</li>
          <li>Management protocol. The protocols such as YANG, FlowSpec, or management protocols for SAV can be used. Management protocols for SAV can be new protocols or protocol extensions.</li>
        </ul>
        <t>As shown in <xref target="fig-arch"/>, Source Speaker resides in Source Entity, and Validation Receiver is in Validation Entity. Either Source Speaker or Validation Receiver is an abstracted interface which represents a union of multiple protocol speakers/receivers as illustrated in <xref target="fig-speaker"/>. These protocol speakers/receivers can advertise/receive the messages carrying SAV-related information.</t>
        <figure anchor="fig-speaker">
          <name>Source speaker or validation receiver</name>
          <artwork><![CDATA[
    +--------------------+
    | Speaker/Receiver   |
    | +----------------+ |
    | |Management      <------------
    | |Speaker/Receiver| |         |
    | +----------------+ |         |
    | +----------------+ |         ---> Interact
    | |Routing Protocol<--------------> with other
    | |Speaker/Receiver| |         ---> speakers
    | +----------------+ |         |
    | +----------------+ |         |
    | |SAV-specific    | |         |
    | |Protocol        <------------
    | |Speaker/Receiver| |
    | +----------------+ |
    +--------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="sav-specific-protocol">
        <name>SAV-Specific Protocol</name>
        <t>The SAV-specific protocol is for propagating SAV-specific information from Source Entity to Validation Entity. The need for the SAV-specific protocol arises from the facts that there is no existing mechanism which can support the perception and propagation of SAV-specific information between devices. Hence, a unified SAV-specific protocol is needed to establish communication between different devices for the exchange of SAV-specific information. This document does not present how to implement such a protocol and will only describe the necessary features of it.</t>
        <t>The SAV-specific protocol <bcp14>SHOULD</bcp14> define the SAV-specific information to be communicated, the data structure or format to communicate the information, and the operations and timing for originating, processing, propagating, and terminating the messages which carry the information. The protocol <bcp14>SHOULD</bcp14> advertise the updates of SAV-specific information in a timely manner so that Validation Entity can update SAV rules correspondingly.</t>
        <t>A session of the protocol can be established by manual configurations of operators or an automatic mechanism. The concrete manner of constructing a session depends on the actual protocol implementations, but the following requirements <bcp14>SHOULD</bcp14> be satisfied:</t>
        <ul spacing="normal">
          <li>The session can be a long-time session or a temporary one, but it <bcp14>SHOULD</bcp14> provide sufficient assurance of transmission reliability and timeliness, so that Validation Entity can update local rules in time.</li>
          <li>Authentication can be conducted before session establishment. Authentication is optional but the ability of authentication <bcp14>SHOULD</bcp14> be available.</li>
        </ul>
        <t>The connectivity models between Source Speaker and Validation Receiver are various. <xref target="sec-conn-model"/> shows some examples of connectivity models.</t>
      </section>
      <section anchor="sav-agent">
        <name>SAV Agent</name>
        <t><xref target="fig-sav-agent"/> shows SAV Agent. SAV Information Manager in SAV Agent parses the messages received by Validation Receiver. The SAV-related information carried in the messages will be stored in SAV Information Base. The information of Source Speaker, protocols, timestamp, and other useful things will also be recorded together. The recorded information will be disseminated to SAV Rule Generator. SAV rules (e.g., tuples like &lt;prefix, interface set, validity state&gt;) will be generated and stored in SAV Table <xref target="I-D.huang-savnet-sav-table"/>. Besides rule generation, SAV Information Base also provides the support of diagnosis. Operators can look up the information in the base for protocol monitoring or troubleshooting.</t>
        <figure anchor="fig-sav-agent">
          <name>SAV agent</name>
          <artwork><![CDATA[
                Messages from
                Validation Receiver
                    |
    +---------------|---------------+
    | SAV Agent     |               |
    | +-------------\/------------+ |
    | | SAV Information Manager   | |
    | | +-----------------------+ | |
    | | | SAV Information Base  | | |
    | | +-----------------------+ | |
    | +-------------+-------------+ |
    |               |               |
    |   SAV-related | information   |
    |               |               |
    | +-------------\/------------+ |
    | | SAV Rule Generator        | |
    | | +-----------------------+ | |
    | | | SAV Table             | | |
    | | +-----------------------+ | |
    | +---------------------------+ |
    +-------------------------------+
]]></artwork>
        </figure>
        <t>It can be noticed that SAV Information Base stores SAV-related information from different Source Entities and different protocol speakers. When SAV Rule Generator generates rules based on the stored information, rule conflicts may appear. For example, for a given prefix, the information from different entities or speakers may indicate a different list of valid incoming interfaces.</t>
        <t>To solve the problem of rule conflicts, each Source Entity or protocol speaker can be set with a priority. So, the SAV-related information from the entity or protocol speaker is also tagged with a priority. In general, since SAV-specific information is specialized for SAV and helps generate more accurate SAV rules than routing information, SAV-specific information has a higher priority than routing information. When rule conflicts exist, the rule based on the information with a higher priority will override that based on the information with a lower priority. If two conflicted rules are based on the information with the same priority, they can be merged to one rule (i.e., taking a union set). When the settings of priority change, the affected information <bcp14>MUST</bcp14> be reprocessed for updating rules.</t>
        <t>Consider that one Validation Entity receives the information about prefix P1 from one Source Entity through two protocol speakers. Based on the information from speaker 1, the rule is &lt;P1, {intf1}, valid&gt;. While based on the information from speaker 2, the rule is &lt;P1, {intf2}, valid&gt;. Next, consider two cases of priority settings. In case 1, speaker 1 has a higher priority than speaker 2. Then, the rule of &lt;P1, {intf1}, valid&gt; will be finally stored in SAV Table. In case 2, two speakers have the same priority. Then, &lt;P1, {intf1, intf2}, valid&gt; is the output rule.</t>
        <t>How to generate SAV rules <bcp14>SHOULD</bcp14> be designed in future SAV mechanisms that implement the architecture.</t>
      </section>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <t>This section will present two use cases to show why the architecture can work better than existing SAV mechanisms. <xref target="fig-use-case"/> shows an example of intra-domain SAV. In the figure, Subnet1 and Subnet3 are single-homed to Router1 and Router2, respectively. Subnet2 is multi-homed to Router1 and Router2. Router3 connects to the Internet through two external interfaces. A typical deployment of existing SAV mechanisms is: Strict uRPF is deployed on interface '#' for validating packets from subnets, and ACL rules are configured at external interface '*' for blocking internal source addresses from the Internet.</t>
      <section anchor="use-case-1-validating-packets-from-a-multi-homed-subnet-at-edge-routers">
        <name>Use Case 1: Validating Packets from a Multi-homed Subnet at Edge Routers</name>
        <t>Consider a scenario of asymmetric routing where Subnet2 advertises IP address P1 to Router2 instead of Router1 but sends packets with source address P1 to Router1. In the scenario, strict uRPF on Router1 will improperly block legitimate packets from Subnet2 at Intf.2.</t>
        <t>If the proposed architecture is deployed in the network, Router2 can advertise the SAV-specific information (i.e., Subnet2 has address P1) to Router1. Then, Router1 will not block P1 at Intf. 2, so improper block is avoided.</t>
        <figure anchor="fig-use-case">
          <name>An example of intra-domain SAV</name>
          <artwork><![CDATA[
+-----------------------------------------+
|               Internet                  |
+-----------------------------------------+
              |      |                 
              |      |                 
+-------------+------+--------------------+
| AS          |      |                    |
|       Intf.5|      |Intf.6              |
|           ┌─*──────*─┐                  |
|           │ Router 3 │                  |
|           └──────────┘                  |
|              /     \                    |
|             /       \                   |
|            /         \                  |
|   ┌──────────┐     ┌──────────┐         |
|   │ Router 1 │     │ Router 2 │         |
|   └──#─────#─┘     └─#─────#──┘         |
|Intf.1|Intf.2\ Intf.3/       \Intf.4     |
|      |       \     /         \          |
|      |        \   /           \         |
|   Subnet1    Subnet2           Subnet3  |
|                                         |
+-----------------------------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="use-case-2-validating-packets-from-other-networks-at-border-routers">
        <name>Use Case 2: Validating Packets from Other Networks at Border Routers</name>
        <t>Consider that ACL rules are manually maintained at external interfaces to block internal addresses belonging to Subnet1, Subnet2, and Subnet3. There may be operational challenges when there are many external interfaces and the internal addresses are dynamic.</t>
        <t>If the proposed architecture is deployed in the network, Router1 and Router2 will advertise the internal addresses of connected subnets to Router3. Then, Router3 can automatically update filtering rules at external interfaces.</t>
        <t>The above to use cases are simple. The detailed operations (such as identifying, formatting, propagating, parsing, etc.) on SAV-specific information <bcp14>SHOULD</bcp14> be defined in the implementations of the architecture.</t>
      </section>
    </section>
    <section anchor="sec-conn-model">
      <name>Connectivity Models</name>
      <t>This section presents some examples of connectivity models of the architecture. A combination of these models is also suitable to the architecture.</t>
      <section anchor="example-1-multiple-source-entities-to-one-validation-entity">
        <name>Example 1: Multiple Source Entities to One Validation Entity</name>
        <t>One Validation Entity can collect SAV-related information from multiple Source Entities as shown in <xref target="fig-connect-model-n2one"/>. For each Source Entity, Validation Entity maintains a communication channel for receiving messages.</t>
        <figure anchor="fig-connect-model-n2one">
          <name>Example 1: Multiple source entities to one validation entity</name>
          <artwork><![CDATA[
    +-----------------+
    | Source Entity 1 |---------
    +-----------------+         \
                                 \
    +-----------------+           \ +-------------------+
    | Source Entity 2 |-------------| Validation Entity |
    +-----------------+           / +-------------------+
            ...                  /
    +-----------------+         /
    | Source Entity n |---------
    +-----------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="example-2-one-source-entity-to-multiple-validation-entities">
        <name>Example 2: One Source Entity to Multiple Validation Entities</name>
        <t>One Source Entity can provide information for multiple Validation Entities as shown in <xref target="fig-connect-model-one2n"/>. Source Entity will maintain a communication channel with each Validation Entity.</t>
        <t>By combining Example 1 and Example 2, it can be seen that the connectivity model can also be "multiple Source Entities to multiple Validation Entities".</t>
        <figure anchor="fig-connect-model-one2n">
          <name>Example 2: One source entity to multiple validation entities</name>
          <artwork><![CDATA[
                                  +---------------------+
                        ----------| Validation Entity 1 |
                       /          +---------------------+
                      /
    +---------------+/            +---------------------+
    | Source Entity |-------------| Validation Entity 2 |
    +---------------+\            +---------------------+
                      \                      ...
                       \          +---------------------+
                        ----------| Validation Entity n |
                                  +---------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="example-3-one-acting-as-both-source-and-validation-entity">
        <name>Example 3: One Acting as both Source and Validation Entity</name>
        <t>As mentioned previously, a device can be both Source and Validation Entity. In <xref target="fig-connect-model-relay"/>, the middle entity is such a device. It can receive information messages from the top Source Entity and can advertise information messages to the bottom Validation Entity. The middle entity can also relay the messages from the top Source Entity to the bottom Validation Entity, which is just like routing information spreading.</t>
        <figure anchor="fig-connect-model-relay">
          <name>Example 3: One acting as both source and validation entity</name>
          <artwork><![CDATA[
    +-------------------+
    | Source Entity     |
    +-------------------+
              |
    +-------------------+
    | Validation&Source |
    | Entity            |
    +-------------------+
              |
    +-------------------+
    | Validation Entity |
    +-------------------+
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="convergence-considerations">
      <name>Convergence Considerations</name>
      <t>Network topologies may change sometimes and result in the change of SAV-related information. Convergence of the architecture is needed. Source Entity <bcp14>MUST</bcp14> advertise the updates of SAV-related information to Validation Entity in time. Then, Validation Entity <bcp14>MUST</bcp14> update local SAV rules immediately. Even so, there will still be delay of message delivery (sometimes re-transmission delay due to packet loss) and information processing. Therefore, during the convergence process, the SAV rules for checking packets are possibly inaccurate, which may result in severe false positive or too much false negative.</t>
      <t>Existing routing information-based SAV mechanisms like strict uRPF is also faced with convergence problem. Inaccurate validation may appear during the convergence of routing, which is inevitable in practice. However, the proposed architecture involves SAV-specific Protocols that are especially for SAV. The convergence process can be slowed down due to the existence of SAV-specific Protocols.</t>
      <t>The protocol for implementing the architecture <bcp14>MUST</bcp14> carefully consider the convergence problems, so that normal packet forwarding won't be impacted too much. There are some potential work directions for dealing with convergence problems:</t>
      <ul spacing="normal">
        <li>Taking full use of routing information. Routing information usually provides most of the SAV-related information for rule generation, and SAV-specific information is relatively a small set of information for supplementing missed information. Therefore, most of SAV rules can be updated during routing convergence if routing information is fully taken for rule generation.</li>
        <li>Advertising and processing the information first that will probably result in false positive. This is because false positive is more harmful to the network than false negative. It is reasonable to allocate more resources for eliminating false positive first.</li>
      </ul>
    </section>
    <section anchor="incrementalpartial-deployment-considerations">
      <name>Incremental/Partial Deployment Considerations</name>
      <t>Although an intra-domain network mostly has one administration, incremental/partial deployment may still exist due to phased deployment or the limitations coming from multi-vendor supplement. Under incremental/partial deployment, if complete SAV-specific information is unavailable, SAV rules can be generated by combing available SAV-specific information and routing information.</t>
      <t>The implementation of Validation Entity is <bcp14>RECOMMENDED</bcp14> to support flexible validation modes such as interface-based prefix allowlist, interface-based prefix blocklist, and prefix-based interface allowlist <xref target="I-D.huang-savnet-sav-table"/>. The first two modes are interface-scale, and the last one is device-scale. Under incremental/partial deployment, the device of Validation Entity <bcp14>SHOULD</bcp14> take on the proper validation mode according to the deploying of Source Entities. For example, if Validation Entity is able to get the complete set of legitimate source prefixes arriving at a given interface, interface-based prefix allowlist can be enabled at the given interface, and false positive will not exist.</t>
      <t>In addition, the SAV filtering at the router can be also performed incrementally. The router can first take conservative actions on the validated data packets. That is to say, the router will not directly discard packet with an invalid result in the beginning of deployment. It can conduct sampling action for measurement analysis at first, and then conducts rate-limiting action or redirecting action for packets with invalid results. These conservative actions will not result in serious consequences under false positive validation results, while still providing protection for the network. Finally, filtering action is enabled only after confirming that there are no false positives.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>In many cases, an intra-domain network can be considered as a trusted domain. There will be no threats within the domain.</t>
      <t>However, in some other cases, devices within the domain do not trust each other. Operators <bcp14>SHOULD</bcp14> be aware of potential threats involved in deploying the architecture. Typically, the potential threats and solutions are as follows:</t>
      <ul spacing="normal">
        <li>
          <t>Entity impersonation.
          </t>
          <ul spacing="normal">
            <li>Potential solution: Mutual authentication <bcp14>SHOULD</bcp14> be conducted before session establishment between two entities.</li>
            <li>Gaps: Impersonation may still exist due to credential theft, implementation flaws, or entity being compromised. Some other security mechanisms can be taken to make such kind of impersonation difficult. Besides, the entities <bcp14>SHOULD</bcp14> be monitored so that misbehaved entities can be detected.</li>
          </ul>
        </li>
        <li>
          <t>Message blocking.
          </t>
          <ul spacing="normal">
            <li>Potential solution: Acknowledgement mechanisms <bcp14>MUST</bcp14> be provided in the session between a speaker and a receiver, so that message losses can be detected.</li>
            <li>Gaps: Message blocking may be a result of DoS/DDoS attack, man-in-the-middle (MITM) attack, or congestion induced by traffic burst. Acknowledgement mechanisms can detect message losses but cannot avoid message losses. MITM attacks cannot be effectively detected by acknowledgement mechanisms.</li>
          </ul>
        </li>
        <li>
          <t>Message alteration.
          </t>
          <ul spacing="normal">
            <li>Potential solution: An authentication field can be carried by each message so as to ensure message integrity.</li>
            <li>Gaps: More overhead of control plane and data plane will be induced.</li>
          </ul>
        </li>
        <li>
          <t>Message replay.
          </t>
          <ul spacing="normal">
            <li>Potential solution: Authentication value can be computed by adding a sequence number or timestamp as input.</li>
            <li>Gaps: More overhead of control plane and data plane will be induced.</li>
          </ul>
        </li>
      </ul>
      <t>When implementing the architecture in an extended protocol, the existing security mechanisms of the protocol can be taken.</t>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>The architecture provides a general design for collecting SAV-related information and generating accurate SAV rules. Protocol-independent mechanisms <bcp14>SHOULD</bcp14> be provided for operating and managing SAV-related configurations. For example, a YANG data model for SAV configuration and operation is necessary for the ease of management.</t>
      <t>SAV may affect the normal forwarding of data packets. The diagnosis approach and necessary logging information <bcp14>SHOULD</bcp14> be provided. SAV Information Base <bcp14>SHOULD</bcp14> store some information that may not be useful for rule generation but is helpful for management.</t>
      <t>Messages carrying SAV-related information come from different protocol speakers. Each corresponding protocol <bcp14>SHOULD</bcp14> have monitoring and troubleshooting mechanisms, which is necessary for efficiently operating the architecture.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>The advertised SAV-related information mainly indicates the incoming directions of source prefixes. Devices under the architecture will learn more forwarding information of data packets.</t>
      <t>An intra-domain network is mostly operated by a single organization or company, and the advertised information is only used within the network. Therefore, the architecture does not import critical privacy issues in usual cases.</t>
      <t>The architecture makes the forwarding information in the network clearer, which can be helpful for network management such as fault diagnosis and traffic visualization.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA requirements.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Many thanks to the valuable comments from: Igor Lubashev, Alvaro Retana, Aijun Wang, Joel Halpern, Jared Mauch, Kotikalapudi Sriram, Rüdiger Volk, Jeffrey Haas, Xiangqing Chang, Changwang Lin, etc.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="I-D.ietf-savnet-intra-domain-problem-statement" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-intra-domain-problem-statement-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-savnet-intra-domain-problem-statement.xml">
          <front>
            <title>Source Address Validation in Intra-domain Networks Gap Analysis, Problem Statement, and Requirements</title>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Jianping Wu" initials="J." surname="Wu">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Lancheng Qin" initials="L." surname="Qin">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Mingqing Huang" initials="M." surname="Huang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <date day="4" month="May" year="2023"/>
            <abstract>
              <t>This document provides the gap analysis of existing intra-domain source address validation mechanisms, describes the fundamental problems, and defines the requirements for technical improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-intra-domain-problem-statement-01"/>
        </reference>
        <reference anchor="RFC2827" target="https://www.rfc-editor.org/info/rfc2827" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2827.xml">
          <front>
            <title>Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing</title>
            <author fullname="P. Ferguson" initials="P." surname="Ferguson"/>
            <author fullname="D. Senie" initials="D." surname="Senie"/>
            <date month="May" year="2000"/>
            <abstract>
              <t>This paper discusses a simple, effective, and straightforward method for using ingress traffic filtering to prohibit DoS (Denial of Service) attacks which use forged IP addresses to be propagated from 'behind' an Internet Service Provider's (ISP) aggregation point. 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="38"/>
          <seriesInfo name="RFC" value="2827"/>
          <seriesInfo name="DOI" value="10.17487/RFC2827"/>
        </reference>
        <reference anchor="RFC3704" target="https://www.rfc-editor.org/info/rfc3704" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3704.xml">
          <front>
            <title>Ingress Filtering for Multihomed Networks</title>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="P. Savola" initials="P." surname="Savola"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>BCP 38, RFC 2827, is designed to limit the impact of distributed denial of service attacks, by denying traffic with spoofed addresses access to the network, and to help ensure that traffic is traceable to its correct source network. As a side effect of protecting the Internet against such attacks, the network implementing the solution also protects itself from this and other attacks, such as spoofed management access to networking equipment. There are cases when this may create problems, e.g., with multihoming. This document describes the current ingress filtering operational mechanisms, examines generic issues related to ingress filtering, and delves into the effects on multihoming in particular. This memo updates RFC 2827. 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="84"/>
          <seriesInfo name="RFC" value="3704"/>
          <seriesInfo name="DOI" value="10.17487/RFC3704"/>
        </reference>
        <reference anchor="I-D.huang-savnet-sav-table" target="https://datatracker.ietf.org/doc/html/draft-huang-savnet-sav-table-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.huang-savnet-sav-table.xml">
          <front>
            <title>Source Address Validation Table Abstraction and Application</title>
            <author fullname="Mingqing Huang" initials="M." surname="Huang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Mingxing Liu" initials="" surname="Liu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Li Chen" initials="L." surname="Chen">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="6" month="March" year="2023"/>
            <abstract>
              <t>Source address validation (SAV) table consists of SAV rules that are manually configured or automatically generated. The table will take effect in data plane for checking the validity of source addresses. SAV mechanisms may enable SAV tables in data plane using different methods (e.g., ACL or FIB), and these tables are suitable for different application scenarios. This document aims to provide a systematic view of existing SAV tables, which makes it convenient for engineers or operators to improve existing SAV mechanisms or properly apply SAV on routers. The document first examines existing forms of SAV tables and provides a unified abstraction. Then, three validation modes are concluded as well as suggestions for application scenarios. Finally, diversified actions for each validity state are introduced for compliance of different operation requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-huang-savnet-sav-table-01"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC5210" target="https://www.rfc-editor.org/info/rfc5210" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5210.xml">
          <front>
            <title>A Source Address Validation Architecture (SAVA) Testbed and Deployment Experience</title>
            <author fullname="J. Wu" initials="J." surname="Wu"/>
            <author fullname="J. Bi" initials="J." surname="Bi"/>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <author fullname="G. Ren" initials="G." surname="Ren"/>
            <author fullname="K. Xu" initials="K." surname="Xu"/>
            <author fullname="M. Williams" initials="M." surname="Williams"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>Because the Internet forwards packets according to the IP destination address, packet forwarding typically takes place without inspection of the source address and malicious attacks have been launched using spoofed source addresses. In an effort to enhance the Internet with IP source address validation, a prototype implementation of the IP Source Address Validation Architecture (SAVA) was created and an evaluation was conducted on an IPv6 network. This document reports on the prototype implementation and the test results, as well as the lessons and insights gained from experimentation. This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5210"/>
          <seriesInfo name="DOI" value="10.17487/RFC5210"/>
        </reference>
        <reference anchor="RFC7039" target="https://www.rfc-editor.org/info/rfc7039" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7039.xml">
          <front>
            <title>Source Address Validation Improvement (SAVI) Framework</title>
            <author fullname="J. Wu" initials="J." surname="Wu"/>
            <author fullname="J. Bi" initials="J." surname="Bi"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="C. Vogt" initials="C." role="editor" surname="Vogt"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>Source Address Validation Improvement (SAVI) methods were developed to prevent nodes attached to the same IP link from spoofing each other's IP addresses, so as to complement ingress filtering with finer-grained, standardized IP source address validation. This document is a framework document that describes and motivates the design of the SAVI methods. Particular SAVI methods are described in other documents.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7039"/>
          <seriesInfo name="DOI" value="10.17487/RFC7039"/>
        </reference>
        <reference anchor="RFC7513" target="https://www.rfc-editor.org/info/rfc7513" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7513.xml">
          <front>
            <title>Source Address Validation Improvement (SAVI) Solution for DHCP</title>
            <author fullname="J. Bi" initials="J." surname="Bi"/>
            <author fullname="J. Wu" initials="J." surname="Wu"/>
            <author fullname="G. Yao" initials="G." surname="Yao"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This document specifies the procedure for creating a binding between a DHCPv4/DHCPv6-assigned IP address and a binding anchor on a Source Address Validation Improvement (SAVI) device. The bindings set up by this procedure are used to filter packets with forged source IP addresses. This mechanism complements BCP 38 (RFC 2827) ingress filtering, providing finer-grained source IP address validation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7513"/>
          <seriesInfo name="DOI" value="10.17487/RFC7513"/>
        </reference>
        <reference anchor="IPSG" target="https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2960/software/release/12-2_53_se/configuration/guide/2960scg/swdhcp82.html">
          <front>
            <title>Configuring DHCP Features and IP Source Guard</title>
            <author>
              <organization/>
            </author>
            <date year="2016" month="January"/>
          </front>
        </reference>
        <reference anchor="cable-verify" target="https://www.cisco.com/c/en/us/support/docs/broadband-cable/cable-security/20691-source-verify.html">
          <front>
            <title>Cable Source-Verify and IP Address Security</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="January"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 469?>



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8U925LjxnXv/ApktyrSWiRnZ1bXKUXW7E0aeWd3vDOS41gq
V5NoktCAAIUGZkRr15XKcx784Ic85kPylPyJvyTn1o1uoMHhruRkyvKSYF9O
nz597n0wmUxGdVbn+jg5LepKTdJyrbIiuSibaq6TkzSttDHJNyrPUlVnZZG8
e3HyzfMnl/eSk2q+ymo9r5tKj9RsVunr7iDUMmyYlvNCrWG6tFKLepJnE6Ou
C11PMq/nRHldJvcfjMqZKXNda3M8ajYACH7Af45Hc/j/ZVltj5OsWJQj08zW
mTEA6OV2g4t6cvl0NMo21XFSV42pj+7f/+T+0UhVWh0nL8umzorl6KasrpZV
2WyOBeTRld7Cw5S+j0aqqVdldTxKJqMEpjHHyeNp8iyDL7yUx6rgr2W1VEX2
J0LUcXJpYPBVo5Kvi+xaVyart9BGwwJzgKZEjBaf19JoqtNmOi+gwRzaHScP
dfY9wgbfywZQA48erbJCeUB8NU1+1zggvspUsYEe/OwNIPleOn4+1xVsxFsA
cjZNvmwUtWFYzqDDDwiLfRyCA09vdNZCsMJWa+nz+Yp+nc7L9ZvA8GwKj3Th
QHiW2e/h3P+yKovlEiacN7BpalZWqgbyaYHJszn0+/xPy3muZm+BjOfT5Avt
4eI5EIc82I2FJTQqgCLeev2/zbzlwwJhGUt5+Abk8EM+P/zkc/xspj+DOJ8C
GlTp4HkKOywP3nA/lqpcQOc33ZDRqCirNUxyDUwiSU4nj6eZrhdRbrOpylmu
1xNTAzNZ66LGHi+fPjr6+Ogj+fjgo/vv23GIXO1A8M+kVtD9eIQMyJsSen1w
dHhfPn50/8En9uMHhw9orPOLL/DfJBEO/KgsFtmyqfDkPP7y0XnyVCvkgCZR
RQrNLVf+olFVSh2FMyX0BRALY2RmXtJX4o/J0f3DDyf3D3kaVS11Deetrjfm
+ODg5uZmOsf2SGwH8wNdHDTmoE4PgEmbA3OT1UBD5iBXxQGwWZVvgX9+8uH9
A1Mu6htgoQeVzrUy+uDwaHL0xw8e/BE+zmUNtL0HyyZL9QF2MvMljJiu5puP
j6arep3jliHeJkCB2WIbIgJ/kNVOvqHfLQqsRLrQc0AUEe5+aDg6fDM0mGaz
KauacTGrSpXOAIQJwXzAkBuB4eDo/oefHE4Mw8vr4TWOptPpaDSZTBI1M0Bx
83o0ulxlJoFRG6S0BGhvUxra4iSLCE9fEk6Tx/o6m0Nj+L1e6bADUCMKMsBq
AYdhvW6KDIVjAtu4SrSar5IS+lSESJUClHVmNE4zMRs9zxbZPHEUXBbTwV8S
/eMGmCTs1BZwnWRr9y0rUprSEHBqPkcyQCgBHKTpNKtgITCEScpFwugCUGhD
tQFphpBSVwte6k88TlJZPi4R2KWm4d08AHBSNTnisqlL7DNXeb6dAptLYd2M
sHlFJ1zlBxsFU6gcBt3k5ZY2A6Ci6T2cj5OKtYQABQjATCcNQqhgvgSpJdd2
kEHUwScHpl0BIRvJIpwYKCNbqyojvNZVmTZzQezQ6GO/PywMsL4pCwDJjGnT
se+8zHNmsrQNM6AZrYmY1tPkaUMTd8kwWev5Cli2WZsDINe6hEGMRQFsic7L
DeBhphAbZdFD4RQZG+C9xjVxd6ChWheGSYFpiLeFwQLekhRlTSMt4KQY3hnv
3CDG8FitszTN9Wh0lzRPRBLh+ae7cDaJyZevRxcBoSXXoS57L4FhAQA46wp2
D3dondXZUtGmh0SamE1ZLvA54hNYXV1lM6aOuiRoAQrSohLLG6Y7VGlfMSZY
Tu4lfxCx8R2clmtgnoZ2AFaC41cadnCl51c4Y46Yh63Npno6xlMAo08sE4BO
495GMhlkCKL3FM4daArIf3gMx0jSEmbHbeATQoC8axpgJIqgOk1++unXItpe
v5bPINtevx4HHDwRDv7TTz7Dx1YRsQatUC6+fn2vD3+y0vkGiDYv51e8FUBw
GzW/0rVJFlW5tnzHXwXAOs+Bw9odsjtqEuC7JgOApsklnYxirjd0fHvzErv1
ufaV1gAIdDGZqfHBDbMuVWNbWMIbqRuvX1sGQDPWylwJF/GOHpIpLMGxvZbb
Ick6qsAlEoUD7cW4LD4D8lMWb7x4n0dFOsGx14vsR1FEYIqsinL1tbqCNs3G
sikGEKyD8gZh1wvgWBksOGdxbjk3fAU9orIyrQUlM8K0KqR7YOag0WrHRFvc
APpgFZUmxrFWxXYXD0vUNSiWRJ+WmE8ePZsw+1pkOZwOXNYfRAH8bpyA5M7m
ddK8PH9Kj1EZ/I6pNy+RtMJfpr4kqhyfRxa5TXRGQjgmVJDzqKIhzu0pUYw/
OOzVGLGxpTEXag7j3ViBKSRFu7vKliDqNyJaYLQSuq60SuX0O3npMUJAkinX
gJC5LkDmlOYtafiko8QEAg12U7SdtH+igDwsk6VDPAOooYdpkH4e4UFjGQ4n
LIa7jDmVW5suygbQMChvByU0wgS0XiB2V2AKkpwDsJEXJ2skxDfXa54CFPpH
hUIOqIbg14GypFjUFSAVJ6tyg6NYZJwfIkggVhbT5HCMMMFKaMuF7xENdMQU
9Id+c9xRYovc/WjHsn2FBrbCAkczVRqIyC2WxAeSn9OWZFKkrgokBf7E3dC2
1LJcOCjEn5oN0kmrkYW6lq/g3abDmhUehMEVzbQh8Rmhlmly0tcZoYs/OyAj
0CL9U+wrOsS44CvCAeYQNQimIuHaXSmdBdY/RYtuFVN4wAJXp2PS4dDxNbzO
tdoS6SPAlrG1hgIuBRWFSi119ODgCbEHA37ymPZDhGOhmrweD8++Iu0XWQ7s
CmisJeo8SNFF/JgipRnNQtajPuB3YESgNOrbR9qgCksoxHkmpPcAaCZbFiz8
FrfqrSzl6GBn7qD+nfRo4s8dzVV7iquT85umQmYogt3yGGU1ERQEi0qtNasx
MDFa0wp+o0XToKx8W7NjBwIA8jwvb2g/rLINp5PZrgK1h2SD/aVPrz7Ng/B3
aKv0D03GlMscwKpdurjOqrKgH3jNrelQVlFDYOFbAlaXCaCwdoGYv2Cyb3TU
NBjdvZtc6goYVpmXy+0IkfGyQdcCQkLSQJQ132L19SbVrlGYKyiqjr9W3kPW
jcDMx0kuyRVEs5BXCJuSugU6RMOL4IntOk2oK/E+GGbEi3aevvGCy/SZzmlL
wMfJCalA7QHjOWnYRZPLoa8JyYPnn4d3WAjG7+qM1ApA+5NAjcPQnH83X0EH
unOhp+P9SS3VOXo/ZdUDThDe1ZMlOgXFTBBmwOszdVmxjRbj/mMyEcjTb1ca
8hnYbOCSm6Y2HgmIoUI4ZG7OUHg7kDyE8wjbPEhkRDoAm11dVDSNRk9VDgzo
vDQZeS1phZ5aCEsD9u9pKIHSkesldFvjtvWOiKi+c1HcYOY7WUEj30nSRrOO
0ffctDA910v1FjBZq3AfgPYDB1nJS5/LPVPFsgFxyhbbFSjkGCoyyZ2zry8u
74z53+T5C/r88slvvz59+eQxfr748uTZM/dhJC0uvnzx9bPH7ae256MXZ2dP
nj/mzvA0CR6N7pyd/P4O09CdF+eXpy+enzy701esSRqVqB6Q5rZBPww6rUYg
QedVNmNl/OGj8//+z8P3Qe3/B7R7Dg/BopcvHx9+9D58uQE9Rii2gPPLX9Ee
GanNBpQgHAVkDMj3TQZaDEocAzpaeQNKAuAb+OOv/oCY+e44+XQ23xy+/5k8
wAUHDy3OgoeEs/6TXmdGYuRRZBqHzeB5B9MhvCe/D75bvHsPP/11DtZDMjn8
+NefIfWAKoaaSvJFCUgZXXa9thE3rygEuliRsO85epE8yXzO1izAoSsoAqJz
WDG/xPmOR6NJcmL12ORrip1aZYg1RLUAqkhIL+pZnqQ+sn4A86TbQq1R5oti
h7rFsuttBWu5bM9m1AwV9ZrcZwCuTqcEpT1933gi7nLY/PDlgnNPFJrtl5l2
mrN1LqA2jVhbEHvZCMtzuv51CWwhJa23rrbi0dM/zvMmRZ2jmAyC4RxPxE88
+4hCymOZsBB+ZicEDtTMcUJc++9AY+JRgcm3Hupz8VA/dh5qxkhALHDEmjzF
IYsSOZHRrH7rHzND2+R5Phoyu3Y7wRGiJ7Zvx3OyLg3K7gqRWsY1fBQ8UcOp
o104lwabhykI31REJDxYlj1Ts6MIsSGMA5KazQacuPg7W0RIAwop0cK0ng40
Q8ygcx+VTAkAtbpJz4kQ1YIWsmxRteh8enIFzrbozLD3Z+TugcZzL/JHTqnA
L9RapuLm2GAkCedJtGhepFElOUa2JgZ+0ETr9sSKUs7mVcgw2NFCzGLcV7hd
dAqXgZzFQUKGw21BpG4g5nJH9ALkN0iPn+VpGbQ7W3sYuuvs2hoXvemRE6BC
5TtaY2rBRWY5s6Sj7Iz6uKHbsBasE7cQzLcto711L7SKYNQPwRMyp8Lt0RU+
rDNQvnFZkdVH9pX4em6IYVwh5ezmCSTHcHkXEWtgNKBfojPIGu/qF7BHWg8v
kTmsGog6Ab6ZOuxHoDiOHnE8HLuU/pdxF6OzyuC/G1WlhHDkCihsmlqwzX5D
4ZVkIJCK9fL04cHT04fT5LS25zhmNs2auuuNI4ZF1kttm02TIR6dZ1c68Fh3
3NTAajBKRt0wqQpgdMZ97Oh0DK0ORiIrsAj4u5l+jwDZqmLUNGY30dPg860N
pwTnCkACboPjrCryFg9TBDKujuLgXO6hBuE8RB2x323uyf/bnLLX6JFvTEvq
ceGAkUaiE3I0s7mjjGiErAk+bck2QJWeLqdj0qJ0VVFMrV6R7ezRuXVOwzwn
MiX7HkXl8ixdv1ugG6CmtAbrLQMAnSQBLqRInqSYg3GNwZFA1bqFHHBd56T/
BXPRMVhlaaoLpx6C1hE+cM7T1oSJcQs8kmQ8qqrKOOLfEz2zrW8PhxE2BLGl
PoLsUwZh3FUazWeg98PhRWB9Hy4jAeNmvtBtHQbsFneUMLIR8V25mBIlR8Hw
eiRuE47OdK0RNuMosglqCvd4DYys79imY8edlOfBJ2oGDlVoMjEK3FCUwTdo
5tSANe0C2RIMfoKPOUzoRcz56bTTKOu5Vtz+FKlVKQadNIi+yBS9R6I7xPw4
Vnh7XpyxTRFAZhv67U4KXvTWsQ5WgisMDhldkVpMrj84zryxCDpqjRtMtHC7
7M4hiXPg6eSMD3CDQ/ZWQqPPYGRxTq+JC3E3kPDqis4gh0/aXOAW2fDbBv0o
oin1AjXehHY4GKaPUMt32aEeoRUbmY+RER5dCcATX6AgRw7/mtbFB/RfmHVW
WzkZ3X5gNGDkDYiRWzSFU4zaUiirdJPtiC3yeZEV4NYU+iZs7pyVrVnXZtgg
roEFbXdmAUW07O6gHODkCELoNmSWDwNxUkGLeFGYhxV9kXrO4JdUgYxYOA5W
VtkyK2goFDUlJmnYzxu1lB+oEznu20nX0FKho8EGZC0KOkrbvmleY2b5ed6K
IGvqCXPd7RO+KPeJy5HS3w3M+ZEb9r4wI1QmxoKEv5oag3ck93cv6/8kU+1S
VPeb1TbM1bNDDoTnydzgs2bj/900Mc/ZHmcYu73trF94vV4yw64ibvg0W4Cu
Q2787Ub3tCoaCSmE5YjZ31VvU4ko3c07WKx/8tqsPejy+kBBB8gqxMCf//xn
SlJ9b9L/ey/x/6ItqO8r+C9k2vDskc9FX0WQ+0r6dsd9j8Z7JGx3oIX0feUm
HoIR1uBNTX28viItEvfE+6Pvdkvtkw7M77UQdfpGWjhc2Tb9T4MtfoG+Pwdm
xJV3COK4QoLzn7R9/UhSvC8Taq9vnDZiMHdp423pGc/DT8fJXat3cor4P93Z
x5F+5zWHbwLSt5Q8GlYtMk7to8OL+R5tcD/paEkd9dRSpw14YwLv1sX5JRPA
m4WYbHBQe261/RXWIW18SA0HweBUFlIG31T9cfpby0yt9kUIgBU4bYzFUF6y
X73t4CK1x2QlWb+LfTxNXlycPx0npxeT04tx8vCLczBW67kzqfo6Ds6csaNU
31AqDSdzicAJ0zDiWpLnt6qDYDL5tvdSES4xT09EL+p4twak32UTvOqs32ty
jxd9pgrQBtY+7rrpFTar8fcnz78YJ0/B+ke33VjyC7u9jRP1nqowjc3Ta7nP
yigrcMCCHHeP05DRMR46aJS7HdEUpskTzrPsTAAwDoyCFpRc0dB+EId1Tt+V
mcBZ4jRZ58poFWyexxyIrVgZ3AgQ9w0OzSMLCqQp2tF8VnYNwnE44Qv2eagc
k1p8S7h/l3LhdAfB1YEnaofYvy+RPIKhv0/9drZRd+xXO+RiVMjs1Qi+fsaZ
+HjhRqa2rMVminwa9v+MTVcyt/eBlrrYnfrFIHfYDFhLEgpp18guxf6wL8pv
280B8vBFsazcSmM5ZqY9ZkHGBs9sxXEQSLBrGA3zYxGUnp24w2xBxb0nUiP8
4ZLybcVr3TNt3dyqyowf4wWe4OWesKOrKCPBVi972FqXJEx0hbl9VrS6NTFD
2ZHMyiqIc/18qYs5JRMDM1pkOh1GHS6SfQfaoI2SmVVHI3CDO6lsrVOLG/0j
x/p3wSiC1+WduNsjwjmTFV8CaJMMWU55uC5SNo0owcSmp0hmNLoLUJla2CuR
aLHV9t5EfPWS+OG5O4ZVGZszYD1Z6Xi3f6Tj94qmdv3/OkR8pcCiotUt941d
YlYPQo1xojVqjpVL8OibkEjtPKgfbSkrdhiijw2jwKAQWMXQ6sQOTtEsHKny
pYnotQjsy9gtK9I+lBdvbg9ixySXNUBfp+KTA8ZBlOqNpjiLqNNzSsRtT1R4
VW1MwYEw8ybIiRXEw5oM9DB4VlnVRajsnM4PjAryBLHdIqhC/Gu8n4bkXxaa
p0Q/Iw9tQ+amsddrQOcwgKVCcvRZyefhQDHI1CzLrW+ddhZOhzHj/fY1LzHt
gHcWdWroz4rpSQNYKGpnZrgkn9RaUZiA4dbldpi18U5vYCTlRvKGLIIt2Jic
G7ZucexlwI/EwONgwzX2XJepzttk7f1sOYr8SAhuCrobhkxw1AmN9vo1qbbG
xmgl9sbk1Z3ZphM6T9BIVEF1PVFLukQjo7kWfJfIt9dZzyKPeutR2qjKiGfL
MQcRu3SABm3UIRPThrrEbGo5jriu2rB2LDM1eqksRPe4tRzGREVAD+uN+NlI
dbcJNCs4UzIx+RApeDpHtztKtaXGxjZTTB7Hki9SOAGa2ChLQ5sSjsUZmIn4
97bEHqubTT9k1xoHRtfjNmuc7kJ9ds/N2KZ00HWVAGOUJy6XrOL1BNAweGjv
sIRO2HEU6YwdF+0iz7FoHnjnL1PLojQZEOELxzTpdkhZXtkre5FgBeYGWPWL
OeC6LDLJLKYQS9kAtEC2JTJS38rw/84sAaEm1fs1Qp69Nq3m21VPX/U0VdZv
2+PB32NjdbXgbw9iCvErGS12DkPXWlR1FiW/bdUfjTaQf3ujscI273XbjaIr
H8BE6FN8FVBD3+W5e6w3wWp4CtuR3w6rfLJCGH8eVnvtho0kv11oL1kW7ywm
TOLFB2gVnbqUH1CYszmlpKg6TiT7xEBaTd43hTK5XtL3vjlDVq6rRXalDXEz
gwwuwTne5inAkhclF7soXMtZFp37kORUS5Zw5m1exrjHizqLsikDFCQXyGkC
d21Rea1ziRDbTIteBq9kRZoyF5+K5OpQMCtYxZjvIIb2pc8brQEsuwnygd0K
yt2N4/BhvUP0OltTD49v42m1Wi7tPWB/jlNbHyMHtY5yFd8wiYsIha/bu0TI
MCfTC4INZF3+YtcGhSo7FEU2N6OSfgkoMtQACDvd2djUBFFTofZMB+62IUDB
90YANC8ohcXCBH3bW9+7x6JTo9baDSZ3u4Vw1rpaspoCCj8v711Oj6nVFdsr
7IUECrvn3TE1nERJCqhbKNvukhAHp2LepTi6hUFqlZihQgek8tscRzom4UVs
hG3/NBlMNW5qOeN4P5kIHcfo+GtsVshNGWNQD4fwSsPZA3LoEQZQ+Kfn8OAn
OPKLw9eisX2GaMt20U0w4NHQgEfegM/1j/XY3TFi2lBSdMFth90jOqV0GxaG
cnDvOhoOFlJ3Cw8iGD+2RKeKLkDvzYNsVCcqWzBwiQCx46grJfwwIFQ7tzcf
qcQeImxCFsfLCUIkHqkCEalg0RpwfK2XQZRrvZ381vD6ZDSLYHQ3+RrW8whR
z9eJDWcQ2hxzdkjhYsHIkC3CPFt0Ubm8hm6+NKVKg+1YM/l7Nyy6d43ZqoOh
Jzi0M+qoC0m92GVdF8AjFwcc14tmBgbBIYfg6PMDYizoJMr1ZAUGJ3GIl5Q7
xu34M2xkRRcDOMF8Kt2PcF8oZrGz81Q+PLAmrEtzcMVt/COKoZ6qoITNVqCe
YFoFXVAIqysNoAwAO04uvJxlqsLAd+ATskWsxfXO3XeINVn3MsbK/AIwhlYq
+Ronj555DNl6j9AeqyNgJ+/8isem+jJORcA2vWxPJ6MtSpDs7rZklxweO86I
MQcfRJWceXvAW4MQPUmXWlBvPE6rXFEO8nyY7XqtEVNOUN6QH9pusfPwGf/C
MnBbt9lABoWp8SIWjGf3H50shvxeu+pK+MMctvlJAl9YKAVtORmcTh1lW/Nt
BS7g46XLBlvoVlJz3YojxO2p8xPGM1QdtYjZKjdexm7NQQRtty9YJK2Fgxiy
Q8C9AAPMCoN1UsoXLRCwZdeAvNWUDgfSALU4e++MzebbjArfvOiaXu509v5e
vdG4UQOvO1mS7N0uaqIOhJheJScXe4xJa7KPCcEf2Lb07cOhtvj3t7/++9/+
+q+/gv86/+NHf9k1F/f/N9nx5AF9ubX9X/tzhf/7j9vGgL8D+v9vI6jotT2Q
f2ONO20P3KdIY27L+Nr5v7/IQvds6I/tcHnocOk9PAoQbPsIPu92hr/r4ZIb
xVsECIcxiWQO+Z+jb5meHjgc0tf3Q9xZFH47jMNeW/qxbeo35rZW3ruPR15j
qwD06WLH35ude99dYXUX66042am6oAvDF35Hw8LvBbl2n8t9ROSPDzmBui/4
SNELRfja3pfEmWtFiT1RWU4qizBZK8S9uxqUiCR3fAXtjt+PfYXL3jpD58Is
vM7s6pEZugsv4WBXgCwGk40JRkDCfnJb8xcQd4E+J67zQPZFIGhDFlg+gdWo
VtY9CGXdA5ankYuJXgU12bfo/riKl3T9tPYVcdZxkdbsRXXY6RwVwTaU6soQ
AqWA1bjYUqyURXjdD6JieIQ+YO7YPVRNBoW/b4oEmWPdGpWRWqFiezzyIz9n
HHPiqzZe3Ci0S1x20T5hpPjUJxiPnlGY2MVVjbZdrMPINFltb7jGwIdj/EQO
OqiwZzbBqetGhN4vYsb/KPpUynnBceF7h8Nur/XQhKqXQiaIYXROiqOyoJAJ
+RZ7TrpxBCjLQ4ZvKqEx0F4YtjGw3YlULvgQ+DQOkzZIMdSxFQzR2Efw9+2t
g6B82ZUhHsJ3lIRBlOH88N1zHuyY0/5Np9P+gg5uHfwgCnixB2IDyRYhGyvk
YoQvBpD2CB97eNlN7KUVEWiHAAn4ou/YKttxu+iFsUf9Hn7twe7ljPWOoW49
LrCGowKPSzgfSQp7LgaPRVuML5JXNRo93AonwkPjcEoSyaFnjPkLzkmui7Zi
SJ/ftZfVofGdQQ4B2N2FkjtDkcn+X1xp6hpG7d/uY3MoByfy52mDbzZn/LS8
52uXO0fsnqLbD//RwPF/79t95+z/RW0Z4g9DCPN6/LKbVAxv0h7LG+YvdM66
/EWYg89atgH5drkLkm/IXx7wECfu9hgl8NtC17E7s5iETXX1yoLKT+hrTGjJ
6YKod4sUjtitQ5HjJ8ZVUKxTXWdKGaHK3HZ5mU1Ll8moCgJOaHOZg5KWfrIA
DVaXm8jF4NCnEx1B1BxYUx3eDfPzQENQHbuh5YTpLzsAumUmWxUBEPF9Y2pO
KYnduDCwNyrtpFLsL8np2S192r/bWvpn5R9lIhsk9ybcc7S3m/c2/WP3CZRN
DE+gHB8VHh/vznhUvrNqf42hOYyoWkOV7YGR2LRIGVhzMpPqApI4i3o9ZTlJ
mVysYeffB25za6Op+/68Ee2/zfPtSnQK7e3M+tz3glGb7ceGYL8BzRWkCbYR
nmy91mlGtb6nyROM9ZvS1gogrcPUNk+LNgxvV/Chs3Uat2D0OSRWehKkNXIn
qeTH3mQAwZh7UvO6XVqbaBuUhUq59pJoIA7X0toF7GMV163zGu1WKSmPyLKB
clcPRm29fafr6r2aIphPVaIggPZh/ZCgKleEbUj58ttqwVgz0Csf3lkuJj4g
g49VCW9zOIbw1V7/9fgdWNHXYnVi1VuuXaXDquZDro7iGrMyTGivn7s7R6Q2
IuK9OliuQs5lfDOd3onR/DRJUU0WyuFcdyrpP+8nu7tprfPCRacXt1aupbMx
B0gXjdT7sk6uHoxUJqbNxqXXGOWWqL3KKjdl8U4tdWz41pKlHb9WEjkUNiXW
DsLr4vxih7aiyoIKocIW44AD5CB38y458wAXQN6a+FXvqbvD55+6xrDfzmUn
YnUky8kGPQJofnczH3deSKTaFLnisCdGztZ0h1vXvfvdmDnkLsKTdZ8Z0+W6
Hn+w8PaKCEk5LnsgXG1ED43Z4J14JoZaXenoaiWx2rtxKHdGhIP1Mxayykhh
WltNbaZmuc94Qo7T3pac6bnCXe1wJIwYY9rPSlVrKWfn+Rs5Dt7lVFzfCrQY
UxbW14TF4+YuiQjA4Xv1tGrg7+56Q2d6WpArZ7OrMmJXHJ/k9Ypi1N33KlnQ
pT4XRvfQolcpwJDRLT2is1veFISskEUW8QsnelbEhv2gN59xXKL1HEoCWuvw
moA8TAOKtO8suq3iQ7bYoxIFFi4rXGb8uE/DwQsq2HZfejUrdhb9iLIAZo+h
xxRPT0SpMH6tVUrCkJzlRQ6YnYXWEKp07f1W500W4SeZRVSnMKfcsIEWFBjg
Fnyg8Kk0adMB3Di3pmlfrrQ9ejelAKkq7U1PJRnbS0G5Mpw9Ra58tIe4xb7b
XrsKInGsihMbGYtNbJLAcweZmM5XsjiRk83TUHL3outj6WRuZgMb2lZQtC4d
oVBhxP260e3rZaqKna0o1iUp1GFxcD/bnbLXh4jvUGwIAeiNE6kD62L3dJ4p
BoPGZZoxO7D6XxvdkLG5cpO7wUMp+DANnAUiJu+tDnJHoW0vJIObhPqArq6J
gZJZQhEG3jnZMmQrnff2cCEWPDNKqkjK6G4xrmwY1lbDtyuJGsH5jIgTzooN
DZIZbFBRCA34lWHFZrclBA0SAuFi3rolge03vGiYAN8ZmFEMiBbrToAbA+QE
LG1C7NEbiRzvoqaE4wfpKSH4rupAFJsOJ74SzoX1qP0PDQprWyO3Qx39+uP2
VSwsBFivsTf3dQuuJyzh9HAW3tinorll0ZZm6fIjF2WmjKVqzZLe3TjllyB0
IMQ6eFijU9461pWGpwVHJaXq7ZBMbC9t2SLplIxIb84lVRlbW+3S5hYW/GYy
JZviCi1wW0r7YzXflt7l6z0Cir1q2usK//A74HBy790v/v0V7+IXvo+S0iyd
qmuBEhuCAnktd+sHvy45Y80WZO0PRLd4yryR25xheUVS1SwPXAOEqPyINEyS
SXLuhrNDYJSB7hYO3mbb7/JcW5/Eq6Yns36hNgDaqQ/PkOoCnCp1C9YLlJ6h
/F7k6sZQFQlxlM00a7qY1LTODDsf3P7aF+D59qjQFyu86PFE3kfiHGtbkpIe
gIpJ/Nkcjpu7CjVuM+OzIHFUbiVR6X8+LQDSTGMOa9q2dy8trCnOLSU1xNFg
8/527NjJ/KoAUaNTqXTgrc0mUYuJ4+LGds/sLimXxks13N3t+Nbis44PdGBE
YW53tgu6TVRQlssBSh+XFweP4f+AC9fAPMfICSZZMQHgJuL5fPfs9PLsnmtA
pd8ws0EugnGJqhlWRle4IcmsIbV8BzaoZiVB3F2O1LelEmyY/Nb5fZogLAKK
sS1RplPmOlt2FhcIkxoEItxdhSz3thN5UnRP4yLTeVuyXm5F4nvckCFZ0F0J
U12g8HPPUeVYctK0v2l4lF01fI7xYyX8ZJOrQgp3k6Snr22xMK9gvF0UvW9r
u2tB4WpAjjW6ZfNYtFiwmKb2GjQLwqRo1jMu5eBuZ7LSDX1+2eXQ7YXd7pOs
4OxpWGDK1bPJ8TJuPTZUOT3CcgYumBMLEsOSb/LZ68UdyXnZBcW5MJS9YiNJ
61IykbIcdtWbpDc5tRWuY+XFracJjilfR++crpbtOW5DFQU2blCYg2r9dAHp
vlkwUOgVlQzi3eLQqyv443fjO7o2GYd9z648g60YIW/5agsO2fJ+5ESks8zK
Ebu3PL9W9AWV7voqOiCxdvpK3jZlJ87L5bLrYemjqX+dmu7USUO6HcE6Sq9Y
ufeaNa9oecdhwzfzDV2csk18DAAK3EXY2+r1eK/v23lh7wniIqix0Kv6QBc5
vGu7pISH93aDV4U5z224r/7rO1tSG0iCOgdDDgtvx45TWwZ/aO2oAPYqhe+u
CN0WebZ1k5voSwaZA/H7RskZtYgXq+6RYf/tllZtztybMRgtwlLlpkbwwnuW
resNKOOtOyD+umsqglDwmyRSXz929oTnn+yt0pVf4Vcbg3qX8RsjNrIx/G5N
5KzknGV9PPoian6rK11NiaMqhCuZI3JRoWlL4MCp8c+E88G1NaOsU4deOOgf
d6JVVjuuM4RUMGm9gifPT7pE1nmFILr4wEihln5tjin27+gw0PkMDSV0bF65
8DGKTfJqYEIM5enhuQTFegmLedbMlFnp63Fykl+rqkxe6hrWBV+z75si+Z3C
YMhXJXDTL1UO9FHANypff6ZgzePkN3AAr1SuNk2aJRdVVqn1OHn5P/+VZni9
/JsyB43sKzh7ld7CCArO5z9nMOYPuAtYyxBGp39u4L/kWVZwliO/HnsGxAto
Gv0vZUhr9eeFAAA=

-->

</rfc>
