<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.18 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnssd-multi-qtypes-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title>DNS Multiple QTYPEs</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnssd-multi-qtypes-03"/>
    <author initials="R." surname="Bellis" fullname="Ray Bellis">
      <organization abbrev="ISC">Internet Systems Consortium, Inc.</organization>
      <address>
        <postal>
          <street>PO Box 360</street>
          <city>Newmarket</city>
          <code>NH 03857</code>
          <country>USA</country>
        </postal>
        <phone>+1 650 423 1300</phone>
        <email>ray@isc.org</email>
      </address>
    </author>
    <date year="2024" month="July" day="26"/>
    <area>Internet</area>
    <workgroup>DNSSD</workgroup>
    <keyword>DNS</keyword>
    <keyword>resource record</keyword>
    <abstract>
      <?line 35?>

<t>This document specifies a method for a DNS client to request additional
DNS record types to be delivered alongside the primary record type
specified in the question section of a DNS query (OpCode=0).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://dnssd-wg.github.io/draft-ietf-dnssd-multi-qtypes/draft-ietf-dnssd-multi-qtypes.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dnssd-multi-qtypes/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        DNSSD Working Group mailing list (<eref target="mailto:dnssd@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dnssd/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dnssd/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dnssd-wg/draft-ietf-dnssd-multi-qtypes"/>.</t>
    </note>
  </front>
  <middle>
    <?line 41?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A commonly requested DNS <xref target="RFC1035"/> feature is the ability to receive
multiple related resource records (RRs) in a single DNS response.</t>
      <t>For example, it may be desirable to receive the A, AAAA and HTTPS
records for a domain name together, rather than having to issue
multiple queries.</t>
      <t>The DNS wire protocol in theory supported having multiple questions in a
single packet, but in practise this does not work.  In <xref target="RFC9619"/>,
<xref target="RFC1035"/> is updated to only permit a single question in a QUERY
(OpCode=0) request.</t>
      <t>Sending QTYPE=ANY does not guarantee that all RRsets will be returned.
<xref target="RFC8482"/> specifies that responders may return a single RRset of
their choosing.</t>
      <t>This document provides a solution for those cases where only the QTYPE
varies by specifying a new option for the Extension Mechanisms for DNS
(EDNS <xref target="RFC6891"/>) that contains an additional list of QTYPE values
that the client wishes to receive in addition to the single QTYPE
appearing in the question section.  A different EDNS option is used in
response packets as protection against DNS middleboxes that echo EDNS
options verbatim.</t>
      <t>The specification described herein is applicable both for queries from a
stub resolver to recursive servers, and from recursive resolvers to
authoritative servers. It does not apply to Multicast DNS queries
<xref target="RFC6762"/>, which are already designed to allow requesting multiple
records in a single query.</t>
    </section>
    <section anchor="terminology-used-in-this-document">
      <name>Terminology used in this document</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 anchor="description">
      <name>Description</name>
      <section anchor="multiple-qtype-edns-options-format">
        <name>Multiple QTYPE EDNS Options Format</name>
        <t>The overall format of an EDNS option is shown for reference below,
per <xref target="RFC6891"/>, followed by the option specific data:</t>
        <artwork><![CDATA[
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0: |                          OPTION-CODE                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2: |                         OPTION-LENGTH                         |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
4: |                                                               |
   /                          OPTION-DATA                          /
   /                                                               /
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
]]></artwork>
        <t>OPTION-CODE: MQTYPE-Query (TBD1) in queries and MQTYPE-Response (TBD2) in responses.</t>
        <t>OPTION-LENGTH: Size (in octets) of OPTION-DATA.</t>
        <t>OPTION-DATA: Option specific, as below:</t>
        <artwork><![CDATA[
                +0 (MSB)                            +1 (LSB)
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0: |           QT1 (MSB)           |           QT1 (LSB)           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2: /              ...              |              ...              /
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   /           QTn (MSB)           |           QTn (LSB)           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
]]></artwork>
        <t>QT: a (potentially empty) list of 2 byte fields (QTx) in network order
(MSB first) each specifying a DNS RR type.  The RR types <bcp14>MUST</bcp14> be for
real resource records, and <bcp14>MUST NOT</bcp14> refer to pseudo RR types such as
"OPT", "IXFR", "TSIG", "*", etc.</t>
      </section>
      <section anchor="server-handling">
        <name>Server Handling</name>
        <section anchor="request-parsing">
          <name>Request Parsing</name>
          <t>If MQType-Query is received in any inbound DNS message with an OpCode
other than QUERY (0) the server <bcp14>MUST</bcp14> return a FORMERR response.</t>
          <t>A server that receives an MQTYPE-Response option in a query or that
receives more than one MQTYPE-Query option <bcp14>MUST</bcp14> return a FORMERR response.</t>
          <t>If any duplicate QTx is received in the query (or one duplicating the
primary QTYPE field) the server <bcp14>MUST</bcp14> return a FORMERR response.</t>
          <t>If MQTYPE-Query is received in a query that contains no primary question
(i.e. QDCOUNT=0) the server <bcp14>MUST</bcp14> return a FORMERR response.</t>
          <t>If any invalid QTx is received in the query (e.g. one corresponding to a
meta-RR) the server <bcp14>MUST</bcp14> return a FORMERR response.</t>
        </section>
        <section anchor="response-generation">
          <name>Response Generation</name>
          <t>A conforming server that receives an MQTYPE-Query option in a query <bcp14>MUST</bcp14>
return an MQTYPE-Response option in its response, even if that response
is truncated (TC=1).</t>
          <t>The server <bcp14>MUST</bcp14> first start constructing a response for the primary
(QNAME, QCLASS, QTYPE) tuple specified in the Question section per
the existing DNS sections.  The RCODE and all other flags (e.g. AA,
AD, etc) <bcp14>MUST</bcp14> be determined at this time.</t>
          <t>If this initial response results in truncation (TC=1) then the
additional queries specified in MQTYPE-Query <bcp14>MUST NOT</bcp14> be processed.</t>
          <t>After the initial response is prepared, the server <bcp14>MUST</bcp14> attempt to
combine the responses for individual (QNAME, QCLASS, QTx) combinations
into the response for the first query.</t>
          <t>For each individual combination the server <bcp14>MUST</bcp14> evaluate the resulting
RCODE and other flags and check that they all match the values generated
from the primary query.</t>
          <t>If any mismatch is detected the mismatching additional response <bcp14>MUST NOT</bcp14>
be included in the final combined response and its QTx value <bcp14>MUST NOT</bcp14> be
included in the MQTYPE-Response list.  This might happen, for example,
if the primary query resulted in a NOERROR response but a QTx query
resulted in a SERVFAIL, or if the primary response has AA=0 but a QTx
response has AA=1, such as might happen if the NS and DS records were
both requested at the parent side of a zone cut.</t>
          <t>If no mismatches are detected the server <bcp14>MUST</bcp14> attempt to combine the
individual RRs into their respective sections. The server <bcp14>MUST</bcp14> detect
duplicate RRs and keep only a single copy of each RR in its respective
section.  Duplicates can occur e.g. in Answer section if a CNAME chain
is involved, or e.g. Authority section if multiple QTYPEs don't exist
etc.  Note that RRs can be legitimately duplicated in different
sections, e.g. for (SOA, TYPE12345) combination on apex where TYPE12345
is not present.</t>
          <t>If message size (or other) limits do not allow all of the data obtained
by querying for an additional QTx to be included in the final response
then the server <bcp14>MUST NOT</bcp14> include the respective QTx in the
MQTYPE-Response list and <bcp14>MAY</bcp14> stop processing further QTx combinations.</t>
          <t>If all RRs for a single QTx combination fit into the message then the
server <bcp14>MUST</bcp14> include respective QTx in the MQTYPE-Response list to
indicate that given query type was completely processed.</t>
        </section>
      </section>
      <section anchor="client-response-processing">
        <name>Client Response Processing</name>
        <t>Recursive resolvers <bcp14>MAY</bcp14> use this method to obtain multiple records from
an authoritative server.  For the purposes of Section 5.4.1 of
<xref target="RFC2181"/> any authoritative answers received <bcp14>MUST</bcp14> be ranked the same
as the answer for the primary question.</t>
        <t>If the response to a query containing an MQTYPE-Query option does not
contain an MQTYPE-Response option, or if it erroneously contains an
MQTYPE-Query option, the client <bcp14>MUST</bcp14> treat the response as if this
option is unsupported by the server and <bcp14>SHOULD</bcp14> process the response as
if the MQTYPE-Query option had not been used.</t>
        <t>If the MQTYPE-Response option is present more than once or if a QTx
value is duplicate the client <bcp14>MUST</bcp14> treat the answer as invalid
(equivalent to FORMERR)</t>
        <t>The client <bcp14>SHOULD</bcp14> subsequently initiate standalone queries (i.e. without
using the MQTYPE-Query option) for any QTx value that did not generate a
negative answer.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The method documented here does not change any of the security
properties of the DNS protocol itself.</t>
      <t>It should however be noted that this method does increase the potential
amplification factor when the DNS protocol is used as a vector for a
denial of service attack.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>NB: to be rewritten once assignments have been made.</t>
      <t>IANA is requested to assign two new values (TBD1 and TBD2) in the DNS
EDNS0 Option Codes registry for MQTYPE-Query and MQTYPE-Response.  They
should be consecutive, with the -Query option being an even number.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1035">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
        <reference anchor="RFC9619">
          <front>
            <title>In the DNS, QDCOUNT Is (Usually) One</title>
            <author fullname="R. Bellis" initials="R." surname="Bellis"/>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>This document updates RFC 1035 by constraining the allowed value of the QDCOUNT parameter in DNS messages with OPCODE = 0 (QUERY) to a maximum of one, and it specifies the required behavior when values that are not allowed are encountered.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9619"/>
          <seriesInfo name="DOI" value="10.17487/RFC9619"/>
        </reference>
        <reference anchor="RFC6891">
          <front>
            <title>Extension Mechanisms for DNS (EDNS(0))</title>
            <author fullname="J. Damas" initials="J." surname="Damas"/>
            <author fullname="M. Graff" initials="M." surname="Graff"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>The Domain Name System's wire protocol includes a number of fixed fields whose range has been or soon will be exhausted and does not allow requestors to advertise their capabilities to responders. This document describes backward-compatible mechanisms for allowing the protocol to grow.</t>
              <t>This document updates the Extension Mechanisms for DNS (EDNS(0)) specification (and obsoletes RFC 2671) based on feedback from deployment experience in several implementations. It also obsoletes RFC 2673 ("Binary Labels in the Domain Name System") and adds considerations on the use of extended labels in the DNS.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="75"/>
          <seriesInfo name="RFC" value="6891"/>
          <seriesInfo name="DOI" value="10.17487/RFC6891"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <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>
        <reference anchor="RFC2181">
          <front>
            <title>Clarifications to the DNS Specification</title>
            <author fullname="R. Elz" initials="R." surname="Elz"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <date month="July" year="1997"/>
            <abstract>
              <t>This document considers some areas that have been identified as problems with the specification of the Domain Name System, and proposes remedies for the defects identified. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2181"/>
          <seriesInfo name="DOI" value="10.17487/RFC2181"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8482">
          <front>
            <title>Providing Minimal-Sized Responses to DNS Queries That Have QTYPE=ANY</title>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="O. Gudmundsson" initials="O." surname="Gudmundsson"/>
            <author fullname="M. Majkowski" initials="M." surname="Majkowski"/>
            <author fullname="E. Hunt" initials="E." surname="Hunt"/>
            <date month="January" year="2019"/>
            <abstract>
              <t>The Domain Name System (DNS) specifies a query type (QTYPE) "ANY". The operator of an authoritative DNS server might choose not to respond to such queries for reasons of local policy, motivated by security, performance, or other reasons.</t>
              <t>The DNS specification does not include specific guidance for the behavior of DNS servers or clients in this situation. This document aims to provide such guidance.</t>
              <t>This document updates RFCs 1034 and 1035.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8482"/>
          <seriesInfo name="DOI" value="10.17487/RFC8482"/>
        </reference>
        <reference anchor="RFC6762">
          <front>
            <title>Multicast DNS</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>As networked devices become smaller, more portable, and more ubiquitous, the ability to operate with less configured infrastructure is increasingly important. In particular, the ability to look up DNS resource record data types (including, but not limited to, host names) in the absence of a conventional managed DNS server is useful.</t>
              <t>Multicast DNS (mDNS) provides the ability to perform DNS-like operations on the local link in the absence of any conventional Unicast DNS server. In addition, Multicast DNS designates a portion of the DNS namespace to be free for local use, without the need to pay any annual fee, and without the need to set up delegations or otherwise configure a conventional DNS server to answer for those names.</t>
              <t>The primary benefits of Multicast DNS names are that (i) they require little or no administration or configuration to set them up, (ii) they work when no infrastructure is present, and (iii) they work during infrastructure failures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6762"/>
          <seriesInfo name="DOI" value="10.17487/RFC6762"/>
        </reference>
      </references>
    </references>
    <?line 239?>

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The author wishes to thank the following for their feedback and reviews
during the initial development of this document: Michael Graff, Olafur
Gudmundsson, Matthijs Mekking, and Paul Vixie.</t>
      <t>In addition the author wishes to thank the following for subsequent
review during discussion in the DNSSD Working Group: Chris Box, Stuart
Cheshire, Esko Dijk, Ted Lemon, David Schinazi and Petr Spacek.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA71a63IbN5b+j6fAOj9WmlCU6FscVjwZWpJtVelikXRmXFv7
A+wGSYya3ZwGWhST6F3mWebJ5jsHQF8o2U5qM6sqm2w0LufynSt4cHAgnHGZ
HsqTy4m8qDJn1pmW19NPH06tSIskVyu8TEs1dwdGu/lBmlubHqxo5sE/3Hat
7cHRM2Gr2cpYa4qchoby7HT6VuTVaqbLoUiV00ORFLnVua3sULqy0uJ2KJ+J
BK8WRbkdSutSoUqtsDZ3usy1E5sFkzU5Ebc6r7CFlIuyqNZxVEp/2F+L8sbk
C/mOXmJ0pUwGmonQvxDN/aJcYFiVyXIol86t7fDwkCbRiLnV/TjpkAYOZ2Wx
sfqQ1x/SmcYtq1nY8GCzOPyiNLAgA1PWNUfFhX2/U98UX97iy2/7S7fKxI3e
booyJZkckDj4s9S2qMpE40uCl0JVblmUPAf/pDQ5hD/uyzc6y4zlIa/fsdq2
ByGKRg1ysrVOr6w8hgKL0plq1cPLpM9T1WxWaqjybHLMz9aVWoP3D1fyTXEn
n7084uHEOOj4Um9WqryBanmsSHH05Xt59OzVi+/CUJU7QsPHyYgH1ssix6Rv
B/LliyP5/OkzOXh25LfUXs2l2v7F2IR1LA4ODkARaFCJE2K6NFYCw9VK507a
tU7M3GgrlVxpCCaV86LEAyE/yQzNcQVE948K2pMqTY0DnlUmaIKXKAPO0rSZ
lqnOAJ5Sp1JlRb6wJtXSLbVclwZcbttLRDw8hQ54Eh+C7aXVCX8W80AK3mDx
3tX6GPJ5fbTf92ytTJpmWohvSDFlkVa8TIgRhLZaFXm2jaTjENrnl1/+a/z2
eHD07MX9vZxr5apSSwiETlczk0Ejnt9Egw2xirZfasJvugsmK/fGY7tP9Ctp
YW6Y6gVj12TZIPMtxKnv1Aq79KRxsMOtl5M1pZphfnMcUzHqyRH+pMpT+X46
/TAR8SivmLSAinOGKJYuoDNd9qBw+sQGKpdLdUuGj33hfKoWEyREqLpPIPB0
bkxJqilckRRZ0AIcj7TVeg1Ug+GwWXsPVpFlnkXgea0SALgnZ5Wj8TVBzVhi
iMEGdOSFk7DNm76EqoIavn85+P7+vic6SsGCap2ysMEBq3CtyxUkV0u4hgmL
/frj6fiTaKARNQ42JzpPiXr23K9Hl58aWhaVKhWMmWhU2DvLJDSpnYVM8H1G
GgY4cp32Qd+PoO/V81dPQV9jMbzQazrVpWXN+kUNqbwnYCwgWFPKZFkU9Ka/
a4fQwS1MhczQFlnF3JG+YZEQY6IsXm2gYe0lQkBhpsStIpXK2TYQtiV+lcz1
Rhbr1jZant45RBoaudAJcGLsymOKHOXeaWMdL199P7i/3/f8IUA54A2E5S3r
l3CKxJYnQt6qDBIXvICOCo5jY+zSO4YIcNNsQsM0NwjKc6PWaw2GwMJnPALg
M5Kpmc8hCpzAVAc+CTiWfYmI5hdwCeItozx4FbUgjhxbgPcgs+IuKhSyKXhf
4fe1Eu5sppxZBbsJAECQpr2gs6Q0M7IUkGSYDHCR4T0Z96xwSxZysD05L4sV
2Y2rZuxMslsyW5ZQVVqSkdUlxmyPPQBPb97FFSTUEMiMAyHNsr48cw3KiRJ2
aJzEAEau9qYgJgD75XcvAewe8GWSJRICeMIMOUe6ZSe1yL0lwkKKTbSttkuo
/VPbCbK/7pNjnpLx5kVWLLZRP9EteOx7qSJ0k3/ANk8uPk6mT3r+U15e8ffx
6fXHs/HpCX2fvB+dn9dfRJgxeX/18fyk+dasPL66uDi9PPGLMSo7Q+LJxejT
Ey/tJ1cfpmdXl6PzJw+oZLn4EGcoB1jD0inIIR+sEYA1b44//Oufg+fBkp4O
yMGFh1eD757jAVac+9PYkv0joL4N4GcxwgMlag3VZoQDK+2y2OSMMMj0T/9D
kvnfofxhlqwHz/8cBojhzmCUWWeQZfZw5MFiL8RHhh45ppZmZ3xH0l16R586
z1HurcEffsxMruXB4NWPfxYEpBOW89oH+G++2cnLvSu4CiaLoLtSAVkFzIIE
OucxTinyXcfh5Ut2Wmp2LYjwMw3A9wSCT8cv9jCNTAH6nnlHHLaJfkEieKmh
4HQMf98iT/k//eONjobyV/nZPy++g+Ork9PPT/r1j6Xo6ZcoCgSdn16+m77/
/6Lo+Rdl9Jv+aooOPz8n8HYymo4+P+nwN2z0m/4O/zgZiRZMhvKCzebg2ifW
0zcnA05jY5wiBxWmjGM0pVlPeVYMsJRLdnQ9lBPzM2ZiTpE4hN59MriWyJoF
9DQMFlsbD3s7trzGgjp/3x7JvYvJm/0vyQyF0d455vxHTfB6OnhAyYP35zvv
/3AT3IFXv9/vDvz6lfd/ILzijh0Z5F+RUf6flJG4ng6RkuytkfnlziAIbFEg
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

-->

</rfc>
