<?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.7.29 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-mailmaint-imap-objectid-bis-01" category="std" consensus="true" submissionType="IETF" obsoletes="RFC8474" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="IMAP OBJECTID+">IMAP Extension for Object Identifiers</title>

    <author initials="B." surname="Gondwana" fullname="Bron Gondwana">
      <organization abbrev="Fastmail">Fastmail</organization>
      <address>
        <postal>
          <street>Level 2, 114 William St</street>
          <city>Melbourne</city>
          <region>VIC 3000</region>
          <country>Australia</country>
        </postal>
        <email>brong@fastmailteam.com</email>
        <uri>https://www.fastmail.com</uri>
      </address>
    </author>
    <author initials="M." surname="De Gennaro" fullname="Mauro De Gennaro">
      <organization abbrev="Stalwart Labs">Stalwart Labs LLC</organization>
      <address>
        <postal>
          <street>1309 Coffeen Avenue, Suite 1200</street>
          <city>Sheridan</city>
          <region>WY</region>
          <code>82801</code>
          <country>USA</country>
        </postal>
        <email>mauro@stalw.art</email>
        <uri>https://stalw.art</uri>
      </address>
    </author>

    <date year="2026" month="March" day="15"/>

    
    <workgroup>mailmaint</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 63?>

<t>This document updates <xref target="RFC3501"/> (IMAP4rev1) and <xref target="RFC9051"/>
(IMAP4rev2) with persistent identifiers on mailboxes and messages to
allow clients to more efficiently reuse cached data when resources
have changed location on the server.</t>

<t>This document obsoletes <xref target="RFC8474"/> by adding the OBJECTID+
extension, which introduces compound OBJECTID responses containing
key-value pairs of identifiers and an ACCOUNTID identifier for
account-level context. The OBJECTID+ extension is implicitly
activated when a client uses any OBJECTID+-specific feature,
ensuring backward compatibility with clients that do not understand
the extension.</t>



    </abstract>



  </front>

  <middle>


<?line 78?>

<section anchor="introduction"><name>Introduction</name>

<t>IMAP stores are often used by many clients.  Each client may cache
data from the server so that it does not need to redownload
information.  <xref target="RFC3501"/> states that a mailbox can be uniquely
referenced by its name and UIDVALIDITY, and a message within that
mailbox can be uniquely referenced by its mailbox (name +
UIDVALIDITY) and unique identifier (UID).  The triple of mailbox
name, UIDVALIDITY, and UID is guaranteed to be immutable.</t>

<t><xref target="RFC4315"/> defines a COPYUID response that allows a client that copies
messages to know the mapping between the UIDs in the source and
destination mailboxes and, hence, update its local cache.</t>

<t>If a mailbox is successfully renamed by a client, that client will
know that the same messages exist in the destination mailbox name as
previously existed in the source mailbox name.</t>

<t>The result is that the client that copies (or moves <xref target="RFC6851"/>)
messages or renames a mailbox can update its local cache, but any
other client connected to the same store cannot know with certainty
that the messages are identical, so it will redownload everything.</t>

<t>This extension adds new properties to a message (EMAILID) and mailbox
(MAILBOXID).  These properties allow a client to quickly identify
messages or mailboxes that have been renamed by another client.</t>

<t>This extension also adds an optional thread identifier (THREADID) to
messages, which can be used by the server to indicate messages that
it has identified to be related.  A server that does not implement
threading will return NIL to all requests for THREADID.</t>

<t>Additionally, this document introduces the OBJECTID+ extension,
which adds an ACCOUNTID identifier for account-level context and
a compound OBJECTID response format that bundles multiple identifiers
into key-value pairs. This is particularly relevant for environments
where IMAP mailboxes include shared mailboxes from multiple JMAP
accounts, as defined in <xref target="RFC8620"/>. The compound format allows
servers to include only the identifiers they support, with
unsupported identifiers simply omitted from the response.</t>

<section anchor="notational-conventions"><name>Notational Conventions</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="capability-identification"><name>CAPABILITY Identification</name>

<section anchor="objectid-capability"><name>OBJECTID Capability</name>

<t>A server that supports the basic object identifier functionality
as defined in <xref target="RFC8474"/> <bcp14>MUST</bcp14> include "OBJECTID" in the response
list to the CAPABILITY command.</t>

<t>A server advertising "OBJECTID" <bcp14>MUST</bcp14> support MAILBOXID, EMAILID,
and THREADID as described in this document. The behavior of
OBJECTID without OBJECTID+ is identical to <xref target="RFC8474"/>.</t>

</section>
<section anchor="objectid-capability-1"><name>OBJECTID+ Capability</name>

<t>A server that supports the extended object identifier functionality
defined in this document <bcp14>MUST</bcp14> include "OBJECTID+" in the response
list to the CAPABILITY command.</t>

<t>A server advertising "OBJECTID+" <bcp14>MUST</bcp14> also advertise "OBJECTID".</t>

<t>The OBJECTID+ extension adds:</t>

<t><list style="symbols">
  <t>The ACCOUNTID identifier (<xref target="accountid"/>)</t>
  <t>The compound OBJECTID response format (<xref target="objectid-compound"/>)</t>
  <t>The OBJECTID SELECT/EXAMINE parameter (<xref target="select-objectid"/>)</t>
  <t>The OBJECTID FETCH data item (<xref target="fetch-objectid"/>)</t>
  <t>The OBJECTID STATUS attribute (<xref target="status-objectid"/>)</t>
  <t>The OBJECTID response code on CREATE and RENAME (<xref target="create-objectid"/>, <xref target="rename-objectid"/>)</t>
</list></t>

</section>
<section anchor="activation"><name>Activation of OBJECTID+</name>

<t>A client activates the OBJECTID+ extension by using any
OBJECTID+-specific feature. The server <bcp14>MUST NOT</bcp14> send
OBJECTID+-specific responses until the extension has been
activated.</t>

<t>The extension is activated by any of the following:</t>

<t><list style="symbols">
  <t>The client issues ENABLE OBJECTID+ (<xref target="RFC5161"/>)</t>
  <t>The client uses the OBJECTID parameter on SELECT or EXAMINE (<xref target="select-objectid"/>)</t>
  <t>The client requests the OBJECTID status attribute (<xref target="status-objectid"/>)</t>
  <t>The client requests the OBJECTID FETCH data item (<xref target="fetch-objectid"/>)</t>
</list></t>

<t>When the extension is activated by any mechanism other than
ENABLE, the server <bcp14>MUST</bcp14> send an untagged ENABLED response
listing OBJECTID+ before any response that is affected by
the activation:</t>

<figure><artwork><![CDATA[
* ENABLED OBJECTID+
]]></artwork></figure>

<t>Once activated, the OBJECTID+ extension remains active for the
duration of the IMAP session. Activation <bcp14>MUST NOT</bcp14> be reversed.</t>

<t>Once OBJECTID+ is activated, the server <bcp14>MUST</bcp14> use the compound
OBJECTID response code (<xref target="objectid-compound"/>) in place of the
MAILBOXID response code in all subsequent SELECT, EXAMINE,
CREATE, and RENAME responses.</t>

</section>
</section>
<section anchor="objectid-compound"><name>OBJECTID Compound Format</name>

<t>The OBJECTID+ extension introduces the compound OBJECTID format,
which bundles multiple identifiers into a parenthesized list of
key-value pairs.</t>

<t>Each key identifies the type of object identifier (e.g., MAILBOXID,
ACCOUNTID, EMAILID, THREADID), and each value is the corresponding
ObjectID. Keys that the server does not support or that are not
applicable in a given context are simply omitted from the response.
An empty compound response "OBJECTID ()" is valid and indicates that
the server supports the OBJECTID+ extension but does not have any
identifiers to return in this context.</t>

<t>The compound OBJECTID format is used in the following contexts once
OBJECTID+ has been activated:</t>

<t><list style="symbols">
  <t>As a response code in SELECT/EXAMINE untagged OK responses</t>
  <t>As a response code in tagged OK responses to CREATE and RENAME</t>
  <t>As a STATUS attribute</t>
  <t>As a FETCH data item</t>
</list></t>

<t>The contents of the compound OBJECTID vary by context:</t>

<t><list style="symbols">
  <t>For mailbox context (SELECT, EXAMINE, CREATE, RENAME, STATUS):
the server <bcp14>SHOULD</bcp14> include MAILBOXID and ACCOUNTID.</t>
  <t>For message context (FETCH): the server <bcp14>SHOULD</bcp14> include EMAILID
and THREADID. ACCOUNTID is not included in FETCH OBJECTID
responses because the account context is already established by
the SELECT or EXAMINE response for the current mailbox.</t>
</list></t>

<t>Identifiers that the server does not support are omitted rather
than returned as NIL. This allows the compound format to
self-describe the server's capabilities without requiring clients
to handle placeholder values.</t>

<section anchor="relationship-to-individual-attributes"><name>Relationship to Individual Attributes</name>

<t>The OBJECTID compound is functionally equivalent to requesting each
of its constituent identifiers individually. A server <bcp14>MUST</bcp14> return the
same values for identifiers whether they are requested individually
or as part of an OBJECTID compound. For example, the MAILBOXID
returned within an OBJECTID STATUS response <bcp14>MUST</bcp14> be identical to the
MAILBOXID returned when requested as a standalone STATUS attribute.</t>

<t>The OBJECTID compound is provided as a convenience for clients that
wish to retrieve all available identifiers in a single request without
enumerating each attribute separately.</t>

</section>
</section>
<section anchor="accountid"><name>ACCOUNTID Object Identifier</name>

<t>The ACCOUNTID is a server-allocated identifier that specifies the
account to which a mailbox belongs. When used in conjunction
with MAILBOXID, the ACCOUNTID provides complete disambiguation of
mailboxes in environments where multiple accounts are accessible
through a single IMAP session.</t>

<t>The ACCOUNTID is represented as an opaque string using the same
character set and syntactic constraints as other object identifiers
defined in this specification (see <xref target="objectid-syntax"/>).</t>

<t>The server <bcp14>MUST</bcp14> return the same ACCOUNTID for all mailboxes that
belong to the same account. Conversely, the server <bcp14>MUST NOT</bcp14> return
the same ACCOUNTID for mailboxes that belong to different accounts,
even if accessed within the same IMAP session.</t>

<t>When a server advertises the "JMAPACCESS" capability as defined in
<xref target="RFC9698"/>, it <bcp14>MUST</bcp14> ensure that the ACCOUNTID returned via IMAP matches
the accountId property of the corresponding account in JMAP, as defined
in <xref section="1.6.2" sectionFormat="of" target="RFC8620"/>. This correspondence is essential for
clients to correlate mailboxes across the two protocols.</t>

<t>When a mailbox is accessed exclusively through IMAP and does not
have a corresponding representation in JMAP, the server <bcp14>MAY</bcp14> still
assign an ACCOUNTID to maintain consistency in the IMAP representation.
However, such ACCOUNTIDs need not correspond to any JMAP account
identifier.</t>

<t>The ACCOUNTID is conceptually immutable for a given account within an
IMAP session. However, if the underlying account is deleted or the
user's access to that account is revoked, the associated mailboxes will
no longer be accessible via IMAP, and their ACCOUNTIDs become
irrelevant.</t>

</section>
<section anchor="mailboxid"><name>MAILBOXID Object Identifier</name>

<t>The MAILBOXID is a server-allocated unique identifier for each
mailbox.</t>

<t>The server <bcp14>MUST</bcp14> return the same MAILBOXID for a mailbox with the same
name and UIDVALIDITY.</t>

<t>The server <bcp14>MUST NOT</bcp14> report the same MAILBOXID for two mailboxes at
the same time.</t>

<t>The server <bcp14>MUST NOT</bcp14> reuse the same MAILBOXID for a mailbox that does
not obey all the invariants that <xref target="RFC3501"/> defines for a mailbox that
does not change name or UIDVALIDITY.</t>

<t>The server <bcp14>MUST</bcp14> keep the same MAILBOXID for the source and
destination when renaming a mailbox in a way that keeps the same
messages (but see <xref target="RFC3501"/> for the special case regarding the
renaming of INBOX, which is treated as creating a new mailbox and
moving the messages).</t>

<section anchor="mailboxid-response-code-for-create"><name>MAILBOXID Response Code for CREATE</name>

<t>This document extends the CREATE command to have the response code
MAILBOXID on successful mailbox creation.</t>

<t>A server advertising the OBJECTID capability <bcp14>MUST</bcp14> include the
MAILBOXID response code in the tagged OK response to all successful
CREATE commands unless OBJECTID+ has been activated, in which case
the OBJECTID response code (<xref target="create-objectid"/>) is used instead.</t>

<t>Syntax: "MAILBOXID" SP "(" objectid ")"</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 3 create foo
S: 3 OK [MAILBOXID (F2212ea87-6097-4256-9d51-71338625)] \
        Completed
]]></artwork></figure>

</section>
<section anchor="mailboxid-untagged-response-for-select-and-examine"><name>MAILBOXID Untagged Response for SELECT and EXAMINE</name>

<t>A server advertising the OBJECTID capability <bcp14>MUST</bcp14> return an untagged
OK response with the MAILBOXID response code on all successful
SELECT and EXAMINE commands, unless OBJECTID+ has been activated,
in which case the OBJECTID response code (<xref target="select-objectid"/>) is
used instead.</t>

<t>Syntax: "OK" SP "[" "MAILBOXID" SP "(" objectid ")" "]" SP text</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 27 select "foo"
[...]
S: * OK [MAILBOXID (F2212ea87-6097-4256-9d51-71338625)] Ok
[...]
S: 27 OK [READ-WRITE] Completed
]]></artwork></figure>

</section>
<section anchor="mailboxid-attribute-for-status"><name>MAILBOXID Attribute for STATUS</name>

<t>This document adds the MAILBOXID attribute to the STATUS command
using the extended syntax defined in <xref target="RFC4466"/>.</t>

<t>A server that advertises the OBJECTID capability <bcp14>MUST</bcp14> support the
MAILBOXID status attribute.</t>

<t>Syntax: "MAILBOXID"</t>

<t>The attribute in the STATUS command.</t>

<t>Syntax: "MAILBOXID" SP "(" objectid ")"</t>

<t>The response item in the STATUS response contains the server-assigned
identifier for this mailbox.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 6 status foo (mailboxid)
S: * STATUS foo (MAILBOXID (F2212ea87-6097-4256-9d51-71338625))
S: 6 OK Completed
C: 7 status bar (mailboxid)
S: * STATUS bar (MAILBOXID (F6352ae03-b7f5-463c-896f-d8b48ee3))
S: 7 OK Completed
C: 8 rename foo renamed
S: 8 OK Completed
C: 9 status renamed (mailboxid)
S: * STATUS renamed (MAILBOXID \
        (F2212ea87-6097-4256-9d51-71338625))
S: 9 OK Completed
]]></artwork></figure>

<t>When the LIST-STATUS IMAP capability defined in <xref target="RFC5819"/> is also
available, the STATUS command can be combined with the LIST command.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 11 list "" "*" return (status (mailboxid))
S: * LIST (\HasNoChildren) "." INBOX
S: * STATUS INBOX (MAILBOXID \
        (Ff8e3ead4-9389-4aff-adb1-d8d89efd8cbf))
S: * LIST (\HasNoChildren) "." bar
S: * STATUS bar (MAILBOXID \
        (F6352ae03-b7f5-463c-896f-d8b48ee3))
S: * LIST (\HasNoChildren) "." renamed
S: * STATUS renamed (MAILBOXID \
        (F2212ea87-6097-4256-9d51-71338625))
S: 11 OK Completed (0.001 secs 3 calls)
]]></artwork></figure>

</section>
</section>
<section anchor="emailid"><name>EMAILID Object Identifier and THREADID Correlator</name>

<section anchor="emailid-identifier-for-identical-messages"><name>EMAILID Identifier for Identical Messages</name>

<t>The EMAILID data item is an ObjectID that uniquely identifies the
content of a single message.  Anything that must remain immutable on
a {name, uidvalidity, uid} triple must also be the same between
messages with the same EMAILID.</t>

<t>The server <bcp14>MUST</bcp14> return the same EMAILID for the same triple; hence,
EMAILID is immutable.</t>

<t>The server <bcp14>SHOULD</bcp14> return the same EMAILID as the source message for
the matching destination message in the COPYUID pairing after a COPY
or MOVE command <xref target="RFC6851"/>.  When the source and destination mailboxes
have the same ACCOUNTID, the server <bcp14>SHOULD</bcp14> preserve the EMAILID.
When a COPY or MOVE crosses ACCOUNTID boundaries, the server <bcp14>MAY</bcp14>
assign a different EMAILID in the destination, as the identifier
namespaces are scoped per ACCOUNTID.</t>

<t>The server <bcp14>MAY</bcp14> assign the same EMAILID as an existing message upon
APPEND (e.g., if it detects that the new message has exactly
identical content to that of an existing message).</t>

<t>NOTE: EMAILID only identifies the immutable content of the message.
In particular, it is possible for different messages with the same
EMAILID to have different keywords.  This document does not specify a
way to STORE by EMAILID.</t>

</section>
<section anchor="threadid"><name>THREADID Identifier for Related Messages</name>

<t>The THREADID data item is an ObjectID that uniquely identifies a set
of messages that the server believes should be grouped together when
presented.</t>

<t>THREADID calculation is generally based on some combination of
References, In-Reply-To, and Subject, but the exact logic is left up
to the server implementation.  <xref target="RFC5256"/> describes some algorithms
that could be used; however, this specification does not mandate any
particular strategy.</t>

<t>The server <bcp14>MUST</bcp14> return the same THREADID for all messages with the
same EMAILID.</t>

<t>The server <bcp14>SHOULD</bcp14> return the same THREADID for related messages, even
if they are in different mailboxes; for example, messages that would
appear in the same thread if they were in the same mailbox <bcp14>SHOULD</bcp14>
have the same THREADID, even if they are in different mailboxes.</t>

<t>The server <bcp14>MUST NOT</bcp14> change the THREADID of a message once reported.</t>

<t>THREADID is <bcp14>OPTIONAL</bcp14>; if the server does not support THREADID or is
unable to calculate relationships between messages, it <bcp14>MUST</bcp14> return
NIL to all FETCH responses for the THREADID data item, and a SEARCH
for THREADID <bcp14>MUST NOT</bcp14> match any messages.</t>

<t>The server <bcp14>MUST NOT</bcp14> use the same ObjectID value for both EMAILIDs and
THREADIDs.  If they are stored with the same value internally, the
server can generate prefixed values (as shown in the examples below
with M and T prefixes) to avoid clashes.</t>

</section>
<section anchor="emailid-and-threadid-in-fetch-and-uid-fetch-commands"><name>EMAILID and THREADID in FETCH and UID FETCH Commands</name>

<t>This document defines two FETCH items:</t>

<t>Syntax: "EMAILID"</t>

<t>The EMAILID message data item causes the server to return EMAILID
FETCH response data items.</t>

<t>Syntax: "THREADID"</t>

<t>The THREADID message data item causes the server to return THREADID
FETCH response data items.</t>

<t>This document defines the following responses:</t>

<t>Syntax: "EMAILID" SP "(" objectid ")"</t>

<t>The EMAILID response data item contains the server-assigned ObjectID
for each message.</t>

<t>Syntax: "THREADID" SP "(" objectid ")"</t>

<t>The THREADID response data item contains the server-assigned ObjectID
for the set of related messages to which this message belongs.</t>

<t>Syntax: "THREADID" SP nil</t>

<t>The NIL value is returned for the THREADID response data item when
the server mailbox does not support THREADID calculation.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 5 append inbox "20-Mar-2018 03:07:37 +1100" {733}
[...]
Subject: Message A
Message-ID: <fake.1521475657.54797@example.com>
[...]
S: 5 OK [APPENDUID 1521475658 1] Completed

C: 11 append inbox "20-Mar-2018 03:07:37 +1100" {793}
[...]
Subject: Re: Message A
Message-ID: <fake.1521475657.21213@example.org>
References: <fake.1521475657.54797@example.com>
[...]
S: 11 OK [APPENDUID 1521475658 2] Completed

C: 17 append inbox "20-Mar-2018 03:07:37 +1100" {736}
[...]
Subject: Message C
Message-ID: <fake.1521475657.60280@example.com>
[...]
S: 17 OK [APPENDUID 1521475658 3] Completed

C: 22 fetch 1:* (emailid threadid)
S: * 1 FETCH (EMAILID (M6d99ac3275bb4e) \
        THREADID (T64b478a75b7ea9))
S: * 2 FETCH (EMAILID (M288836c4c7a762) \
        THREADID (T64b478a75b7ea9))
S: * 3 FETCH (EMAILID (M5fdc09b49ea703) \
        THREADID (T11863d02dd95b5))
S: 22 OK Completed (0.000 sec)

C: 23 move 2 foo
S: * OK [COPYUID 1521475659 2 1] Completed
S: * 2 EXPUNGE
S: 23 OK Completed

C: 24 fetch 1:* (emailid threadid)
S: * 1 FETCH (EMAILID (M6d99ac3275bb4e) \
        THREADID (T64b478a75b7ea9))
S: * 2 FETCH (EMAILID (M5fdc09b49ea703) \
        THREADID (T11863d02dd95b5))
S: 24 OK Completed (0.000 sec)

C: 25 select "foo"
[...]
S: 25 OK [READ-WRITE] Completed
C: 26 fetch 1:* (emailid threadid)
S: * 1 FETCH (EMAILID (M288836c4c7a762) \
        THREADID (T64b478a75b7ea9))
S: 26 OK Completed (0.000 sec)
]]></artwork></figure>

<t>Example: (no THREADID support)</t>

<figure><artwork><![CDATA[
C: 26 fetch 1:* (emailid threadid)
S: * 1 FETCH (EMAILID (M00000001) THREADID NIL)
S: * 2 FETCH (EMAILID (M00000002) THREADID NIL)
S: 26 OK Completed (0.000 sec)
]]></artwork></figure>

</section>
<section anchor="fetch-objectid"><name>Compound OBJECTID in FETCH</name>

<t>When the OBJECTID+ extension has been activated (<xref target="activation"/>),
the client can request the compound OBJECTID FETCH data item.</t>

<t>Syntax: "OBJECTID"</t>

<t>The OBJECTID FETCH data item causes the server to return a compound
OBJECTID response containing the EMAILID and, if supported, the
THREADID for each message.</t>

<t>Requesting the OBJECTID FETCH data item activates the OBJECTID+
extension.</t>

<t>ACCOUNTID is not included in the FETCH OBJECTID response because
the account context is already established by the SELECT or EXAMINE
response for the current mailbox.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 30 fetch 1:* (objectid)
S: * ENABLED OBJECTID+
S: * 1 FETCH (OBJECTID (EMAILID M6d99ac3275bb4e \
        THREADID T64b478a75b7ea9))
S: * 2 FETCH (OBJECTID (EMAILID M5fdc09b49ea703 \
        THREADID T11863d02dd95b5))
S: 30 OK Completed (0.000 sec)
]]></artwork></figure>

<t>Example: (no THREADID support)</t>

<figure><artwork><![CDATA[
C: 31 fetch 1:* (objectid)
S: * 1 FETCH (OBJECTID (EMAILID M00000001))
S: * 2 FETCH (OBJECTID (EMAILID M00000002))
S: 31 OK Completed (0.000 sec)
]]></artwork></figure>

<t>Example: (server supports no message identifiers)</t>

<figure><artwork><![CDATA[
C: 32 fetch 1:* (objectid)
S: * 1 FETCH (OBJECTID ())
S: * 2 FETCH (OBJECTID ())
S: 32 OK Completed (0.000 sec)
]]></artwork></figure>

<t>The individual EMAILID and THREADID FETCH items continue to work
as described above, regardless of whether OBJECTID+ has been
activated. A client may use either the individual items or the
compound OBJECTID item, or both.</t>

</section>
</section>
<section anchor="objectid-extensions-to-existing-commands"><name>OBJECTID+ Extensions to Existing Commands</name>

<section anchor="select-objectid"><name>OBJECTID Parameter on SELECT and EXAMINE</name>

<t>This document extends SELECT and EXAMINE to accept an OBJECTID
parameter in the optional parameters list.</t>

<t>Including OBJECTID in the SELECT or EXAMINE parameters activates
the OBJECTID+ extension (<xref target="activation"/>) and requests that the
server return the compound OBJECTID response code instead of the
MAILBOXID response code.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 27 select "foo" (OBJECTID)
S: * ENABLED OBJECTID+
[...]
S: * OK [OBJECTID (MAILBOXID F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3)] Ok
[...]
S: 27 OK [READ-WRITE] Completed

C: 28 select "shared/team"
[...]
S: * OK [OBJECTID (MAILBOXID F8839dca12-3ef8-4a72-b63d-54f9e8a1 \
        ACCOUNTID u2b59f9f4)] Ok
[...]
S: 28 OK [READ-WRITE] Completed
]]></artwork></figure>

<t>Note that in the second SELECT, the server does not send ENABLED
again because the extension was already activated by the first
SELECT. Also note that the second mailbox has a different
ACCOUNTID, indicating it belongs to a different account (e.g.,
a shared mailbox).</t>

</section>
<section anchor="create-objectid"><name>OBJECTID Response Code for CREATE</name>

<t>When OBJECTID+ has been activated, the server <bcp14>MUST</bcp14> use the
OBJECTID response code instead of MAILBOXID in the tagged OK
response to successful CREATE commands.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 3 create foo
S: 3 OK [OBJECTID (MAILBOXID \
        F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3)] Completed
C: 4 create bar
S: 4 OK [OBJECTID (MAILBOXID \
        F6352ae03-b7f5-463c-896f-d8b48ee3 \
        ACCOUNTID u1a48e8e3)] Completed
C: 5 create shared/team
S: 5 OK [OBJECTID (MAILBOXID \
        F8839dca12-3ef8-4a72-b63d-54f9e8a1 \
        ACCOUNTID u2b59f9f4)] Completed
]]></artwork></figure>

</section>
<section anchor="rename-objectid"><name>OBJECTID Response Code for RENAME</name>

<t>When OBJECTID+ has been activated, the server <bcp14>MUST</bcp14> include the
OBJECTID response code in the tagged OK response to successful
RENAME commands.</t>

<t>The MAILBOXID in the response reflects the (unchanged) identifier
of the renamed mailbox. The ACCOUNTID reflects the account to
which the mailbox belongs after the rename.</t>

<t>When a mailbox is renamed within the same account, the server <bcp14>MUST</bcp14>
return the same MAILBOXID and ACCOUNTID as the source mailbox.</t>

<t>When a mailbox is renamed across account boundaries (for example,
from a personal namespace to a shared namespace belonging to a
different account), the server <bcp14>MAY</bcp14> return a different ACCOUNTID,
a different MAILBOXID, or both, reflecting the new account context
and any server-specific identifier allocation policy.</t>

<t>Example (local rename, identifiers preserved):</t>

<figure><artwork><![CDATA[
C: 8 rename foo renamed
S: 8 OK [OBJECTID (MAILBOXID \
        F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3)] Completed
]]></artwork></figure>

<t>Example (cross-account rename, new identifiers issued):</t>

<figure><artwork><![CDATA[
C: 13 rename bar "Other Users.shared.bar"
S: 13 OK [OBJECTID (MAILBOXID \
        Fa77c2e19-84d3-4b0f-9e12-67df5c8a \
        ACCOUNTID u2b59f9f4)] Completed
]]></artwork></figure>

</section>
<section anchor="status-objectid"><name>OBJECTID Attribute for STATUS</name>

<t>When OBJECTID+ has been activated, the OBJECTID STATUS attribute
is available. It requests the compound OBJECTID response, which
includes both the MAILBOXID and ACCOUNTID for the queried mailbox.</t>

<t>Syntax: "OBJECTID"</t>

<t>Requesting the OBJECTID status attribute activates the OBJECTID+
extension (<xref target="activation"/>).</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 6 status foo (objectid)
S: * ENABLED OBJECTID+
S: * STATUS foo (OBJECTID (MAILBOXID \
        F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3))
S: 6 OK Completed

C: 7 status bar (objectid)
S: * STATUS bar (OBJECTID (MAILBOXID \
        F6352ae03-b7f5-463c-896f-d8b48ee3 \
        ACCOUNTID u1a48e8e3))
S: 7 OK Completed

C: 8 status shared/team (objectid)
S: * STATUS shared/team (OBJECTID (MAILBOXID \
        F8839dca12-3ef8-4a72-b63d-54f9e8a1 \
        ACCOUNTID u2b59f9f4))
S: 8 OK Completed
]]></artwork></figure>

<t>The MAILBOXID status attribute from <xref target="RFC8474"/> continues to work
as an individual attribute regardless of whether OBJECTID+ has
been activated.</t>

<t>When the LIST-STATUS IMAP capability defined in <xref target="RFC5819"/> is also
available, the STATUS command can be combined with the LIST command.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 11 list "" "*" return (status (objectid))
S: * ENABLED OBJECTID+
S: * LIST (\HasNoChildren) "." INBOX
S: * STATUS INBOX (OBJECTID (MAILBOXID \
        Ff8e3ead4-9389-4aff-adb1-d8d89efd8cbf \
        ACCOUNTID u1a48e8e3))
S: * LIST (\HasNoChildren) "." bar
S: * STATUS bar (OBJECTID (MAILBOXID \
        F6352ae03-b7f5-463c-896f-d8b48ee3 \
        ACCOUNTID u1a48e8e3))
S: * LIST (\HasNoChildren) "." "Other Users.other.sub.folder"
S: * STATUS "Other Users.other.sub.folder" (OBJECTID ( \
        MAILBOXID F8839dca12-3ef8-4a72-b63d-54f9e8a1 \
        ACCOUNTID u2b59f9f4))
S: 11 OK Completed (0.001 secs 3 calls)
]]></artwork></figure>

<t>This example demonstrates how clients can efficiently retrieve
object identifiers for multiple mailboxes, including mailboxes
belonging to different accounts, using the extended LIST command
with STATUS return option.</t>

</section>
</section>
<section anchor="new-filters-on-search-command"><name>New Filters on SEARCH Command</name>

<t>This document defines the filters EMAILID and THREADID on the SEARCH
command.</t>

<t>Syntax: "EMAILID" SP objectid</t>

<t>Messages whose EMAILID is exactly the specified ObjectID.</t>

<t>Syntax: "THREADID" SP objectid</t>

<t>Messages whose THREADID is exactly the specified ObjectID.</t>

<t>When using the MULTISEARCH extension defined in <xref target="RFC7377"/> to search
across multiple mailboxes, clients <bcp14>SHOULD</bcp14> only search for EMAILID or
THREADID across mailboxes that share the same ACCOUNTID. Since object
identifiers are only guaranteed to be unique within the scope of a
single ACCOUNTID, searching across mailboxes with different ACCOUNTIDs
may produce incorrect results if identifiers from different accounts
happen to collide.</t>

<t>Example: (as if run before the MOVE shown above when the mailbox had
three messages)</t>

<figure><artwork><![CDATA[
C: 27 search emailid M6d99ac3275bb4e
S: * SEARCH 1
S: 27 OK Completed (1 msgs in 0.000 secs)
C: 28 search threadid T64b478a75b7ea9
S: * SEARCH 1 2
S: 28 OK Completed (2 msgs in 0.000 secs)
]]></artwork></figure>

</section>
<section anchor="objectid-syntax"><name>Formal Syntax</name>

<t>The following syntax specification uses the Augmented Backus-Naur
Form (ABNF) <xref target="RFC5234"/> notation.  Elements not defined here can be
found in the formal syntax of the ABNF <xref target="RFC5234"/>, IMAP <xref target="RFC3501"/>,
IMAP ABNF extensions <xref target="RFC4466"/>, and IMAP ENABLE <xref target="RFC5161"/>
specifications.</t>

<t>Except as noted otherwise, all alphabetic characters are case
insensitive.  The use of uppercase or lowercase characters to define
token strings is for editorial clarity only.  Implementations <bcp14>MUST</bcp14>
accept these strings in a case-insensitive fashion.</t>

<t>Please note specifically that ObjectID values are case sensitive.</t>

<figure><artwork><![CDATA[
capability =/ "OBJECTID" / "OBJECTID+"

enable-data =/ "OBJECTID+"
        ; extends the enable-data production from [RFC5161]

objectid = 1*255(ALPHA / DIGIT / "_" / "-")
        ; characters in object identifiers are case
        ; significant

objectid-key = "MAILBOXID" / "ACCOUNTID" / "EMAILID" / "THREADID"

objectid-kvpair = objectid-key SP objectid

objectid-compound = "OBJECTID" SP "(" *(objectid-kvpair) ")"
        ; key-value pairs of identifiers
        ; keys not supported by the server are omitted
        ; an empty list "OBJECTID ()" is valid

; --- OBJECTID capability (RFC 8474 compatible) ---

fetch-att =/ "EMAILID" / "THREADID"

fetch-emailid-resp = "EMAILID" SP "(" objectid ")"
        ; follows tagged-ext production from [RFC4466]

fetch-threadid-resp = "THREADID" SP ( "(" objectid ")" / nil )
        ; follows tagged-ext production from [RFC4466]

msg-att-static =/ fetch-emailid-resp / fetch-threadid-resp

resp-text-code =/ "MAILBOXID" SP "(" objectid ")"
        ; incorporated before the expansion rule of
        ;  atom [SP 1*<any TEXT-CHAR except "]">]
        ; that appears in [RFC3501]

search-key =/ "EMAILID" SP objectid / "THREADID" SP objectid

status-att =/ "MAILBOXID"

status-att-val =/ "MAILBOXID" SP "(" objectid ")"
        ; follows tagged-ext production from [RFC4466]

; --- OBJECTID+ extensions ---

select-param =/ "OBJECTID"

fetch-att =/ "OBJECTID"

msg-att-static =/ objectid-compound

resp-text-code =/ objectid-compound

status-att =/ "OBJECTID"

status-att-val =/ objectid-compound
        ; follows tagged-ext production from [RFC4466]
]]></artwork></figure>

</section>
<section anchor="implementation-considerations"><name>Implementation Considerations</name>

<section anchor="assigning-object-identifiers"><name>Assigning Object Identifiers</name>

<t>All ObjectID values are allocated by the server.</t>

<t>In the interest of reducing the possibilities of encoding mistakes,
ObjectIDs are restricted to a safe subset of possible byte values; in
order to allow clients to allocate storage, they are restricted in
length.</t>

<t>An ObjectID is a string of 1 to 255 characters from the following set
of 64 codepoints: a-z, A-Z, 0-9, _, -.  These characters are safe to
use in almost any context (e.g., filesystems, URIs, IMAP atoms).
These are the same characters defined as base64url in <xref target="RFC4648"/>.</t>

<t>For maximum safety, servers should also follow defensive allocation
strategies to avoid creating risks where glob completion or data type
detection may be present (e.g., on filesystems or in spreadsheets).
In particular, it is wise to avoid:</t>

<t><list style="symbols">
  <t>IDs starting with a dash</t>
  <t>IDs starting with digits</t>
  <t>IDs that contain only digits</t>
  <t>IDs that differ only by ASCII case (for example, A vs. a)</t>
  <t>the specific sequence of three characters NIL in any case (because
this sequence can be confused with the IMAP protocol expression of
the null value)</t>
</list></t>

<t>A good solution to these issues is to prefix every ID with a single
alphabetical character.</t>

</section>
<section anchor="interaction-with-special-cases"><name>Interaction with Special Cases</name>

<t>The case of RENAME INBOX may need special handling because it has
special behavior, as defined in <xref section="6.3.5" sectionFormat="of" target="RFC3501"/>.</t>

<t>It is advisable (though not required) to have MAILBOXID values
be globally unique, but it is only required to be unique within
the scope of a single ACCOUNTID as seen by a single client login
to a single server hostname.</t>

<t>Object identifiers such as MAILBOXID, EMAILID, and THREADID need
only be unique within the scope of a single ACCOUNTID. A proxy
that aggregates multiple independent backend servers <bcp14>MUST</bcp14> return
a different ACCOUNTID for each set of mailboxes served by different
backends, unless it can guarantee that all object identifiers are
unique across those backends. This ensures that clients can rely
on the combination of ACCOUNTID and any other object identifier
being unique within the IMAP session, even when the backend servers
independently assign identifiers that might otherwise collide.</t>

</section>
<section anchor="client-usage"><name>Client Usage</name>

<t>Servers that implement both <xref target="RFC6154"/> and this specification should
optimize their execution of commands like UID SEARCH OR EMAILID 1234
EMAILID 4321.</t>

<t>Clients can assume that searching the all-mail mailbox using OR/
EMAILID or OR/THREADID is a fast way to find messages again if some
other client has moved them out of the mailbox where they were
previously seen.</t>

<t>Clients that cache data offline should fetch the EMAILID of all new
messages to avoid redownloading already-cached message details.</t>

<t>Clients should fetch the MAILBOXID for any new mailboxes before
discarding cache data for any mailbox that is no longer present on
the server so that they can detect renames and avoid redownloading
data.</t>

<t>Clients that support both IMAP and JMAP <bcp14>SHOULD</bcp14> use the ACCOUNTID when
available to maintain accurate mappings between IMAP mailboxes and
JMAP Mailbox objects. This is particularly important for clients that
use JMAP Email Delivery Push notifications, as these notifications
include the accountId property. By correlating the accountId from a
push notification with the ACCOUNTID, clients can efficiently
determine which IMAP mailbox corresponds to a newly delivered message
without requiring additional synchronization operations.</t>

</section>
<section anchor="interaction-with-the-objectid-capability"><name>Interaction with the OBJECTID Capability</name>

<t>A server that advertises both the OBJECTID capability defined in
<xref target="RFC8474"/> and the OBJECTID+ capability defined in this document
<bcp14>MUST</bcp14> behave as follows:</t>

<t><list style="symbols">
  <t>When OBJECTID+ has not been activated, the server <bcp14>MUST</bcp14> conform to
the behaviour specified in <xref target="RFC8474"/> for all OBJECTID-related
responses. The server <bcp14>MUST NOT</bcp14> return OBJECTID response codes,
OBJECTID status attributes, or ACCOUNTID attributes.</t>
  <t>When OBJECTID+ has been activated, the server <bcp14>MUST</bcp14> conform to
the behaviour specified in this document. The server <bcp14>MUST</bcp14> use
OBJECTID response codes in place of MAILBOXID response codes for
CREATE, RENAME, SELECT, and EXAMINE commands. The server <bcp14>MUST</bcp14>
support OBJECTID as a STATUS attribute and as a FETCH data item.</t>
</list></t>

<t>This design allows servers to support both the original and extended
specifications without breaking the IMAP grammar for clients that
understand only one of the two extensions.</t>

</section>
<section anchor="interaction-with-imap4rev2"><name>Interaction with IMAP4rev2</name>

<t>This specification is written in terms of <xref target="RFC3501"/> (IMAP4rev1) but
applies equally to <xref target="RFC9051"/> (IMAP4rev2). IMAP4rev2 incorporates
the ENABLE command and the MOVE extension natively, so no separate
capability negotiation is needed for those features.</t>

<t>The formal syntax in this document extends the ABNF productions
defined in <xref target="RFC3501"/>. Servers implementing IMAP4rev2 <bcp14>SHOULD</bcp14> apply
the same extensions to the corresponding productions in <xref target="RFC9051"/>.</t>

</section>
<section anchor="interaction-with-move"><name>Interaction with MOVE</name>

<t>The MOVE command <xref target="RFC6851"/> atomically moves messages between
mailboxes. As specified in <xref target="emailid"/>, the server <bcp14>SHOULD</bcp14> preserve
the EMAILID of moved messages when the source and destination
mailboxes share the same ACCOUNTID. When a MOVE crosses ACCOUNTID
boundaries, the server <bcp14>MAY</bcp14> assign new EMAILIDs and THREADIDs in
the destination, as identifier namespaces are scoped per ACCOUNTID.</t>

<t>The MOVE command does not receive an OBJECTID response code. The
COPYUID response code already provides the UID mapping between
source and destination.</t>

</section>
<section anchor="interaction-with-namespace"><name>Interaction with NAMESPACE</name>

<t>The NAMESPACE extension <xref target="RFC2342"/> exposes that a single IMAP
connection may provide access to mailboxes from different
namespaces, including personal, other users', and shared namespaces.</t>

<t>The ACCOUNTID returned for a mailbox <bcp14>SHOULD</bcp14> reflect the account
that owns the mailbox data, not the account of the authenticated
user accessing it. For example:</t>

<t><list style="symbols">
  <t>Mailboxes in the personal namespace have the authenticated
user's ACCOUNTID.</t>
  <t>Mailboxes in the "Other Users" namespace that belong to a
different user <bcp14>SHOULD</bcp14> have that other user's ACCOUNTID.</t>
  <t>Mailboxes in a shared namespace <bcp14>SHOULD</bcp14> have the ACCOUNTID of
the account that owns the shared data.</t>
</list></t>

<t>This ensures that ACCOUNTID provides meaningful account-level
disambiguation and, when JMAPACCESS is advertised, correctly
correlates with the JMAP accountId that owns the corresponding
Mailbox objects.</t>

</section>
<section anchor="interaction-with-uidonly"><name>Interaction with UIDONLY</name>

<t>When the UIDONLY extension <xref target="RFC9586"/> is active, FETCH responses
are replaced with UIDFETCH responses. The OBJECTID FETCH data
item works identically in UIDFETCH responses. A server that
supports both OBJECTID+ and UIDONLY <bcp14>MUST</bcp14> include the OBJECTID
data item in UIDFETCH responses when requested.</t>

</section>
<section anchor="interaction-with-sort-and-thread"><name>Interaction with SORT and THREAD</name>

<t>The THREAD command defined in <xref target="RFC5256"/> computes thread
relationships algorithmically based on message headers and returns
a thread structure for display purposes. The THREADID defined in
this document is a persistent identifier assigned by the server
to group related messages.</t>

<t>THREADID and the THREAD command are independent. A server <bcp14>MAY</bcp14> use
different algorithms for THREAD responses and THREADID assignment,
and the thread groupings need not correlate. Clients <bcp14>MUST NOT</bcp14>
assume that messages sharing a THREADID will appear in the same
thread structure returned by the THREAD command, or vice versa.</t>

</section>
<section anchor="advice-to-client-implementers"><name>Advice to Client Implementers</name>

<t>In cases of server failure and disaster recovery, or misbehaving
servers, it is possible that a client will be sent invalid
information, e.g., identical ObjectIDs or ObjectIDs that have changed
where they <bcp14>MUST NOT</bcp14> change according to this document.</t>

<t>In a case where a client detects inconsistent ObjectID responses from
a server, it <bcp14>SHOULD</bcp14> fall back to relying on the guarantees of
<xref target="RFC3501"/>.  For simplicity, a client <bcp14>MAY</bcp14> instead choose to discard its
entire cache and resync all state from the server.</t>

<t>Client authors protecting against server misbehavior <bcp14>MUST</bcp14> ensure that
their design cannot get into an infinite loop of discarding cache and
fetching the same data repeatedly without user interaction.</t>

</section>
</section>
<section anchor="future-considerations"><name>Future Considerations</name>

<t>This extension is intentionally defined to be compatible with the
data model in JMAP for Mail.</t>

<t>A future extension could be proposed to give a way to SELECT a
mailbox by MAILBOXID rather than name.</t>

<t>A future extension to <xref target="RFC5228"/> could allow fileinto by MAILBOXID
rather than name.</t>

<t>An extension to allow fetching message content directly via EMAILID
and message listings by THREADID could be proposed.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="imap-capabilities-registry"><name>IMAP Capabilities Registry</name>

<t>IANA is requested to add the following entry to the "IMAP Capabilities"
registry located at <eref target="https://www.iana.org/assignments/imap-capabilities">https://www.iana.org/assignments/imap-capabilities</eref>:</t>

<texttable>
      <ttcol align='left'>Capability</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>OBJECTID+</c>
      <c>This document</c>
</texttable>

<t>The existing "OBJECTID" entry in the "IMAP Capabilities" registry,
registered by <xref target="RFC8474"/>, remains unchanged. Servers <bcp14>MAY</bcp14> advertise
both OBJECTID and OBJECTID+ as described in this document.</t>

</section>
<section anchor="imap-response-codes-registry"><name>IMAP Response Codes Registry</name>

<t>IANA is requested to add the following entry to the "IMAP Response
Codes" registry located at
<eref target="https://www.iana.org/assignments/imap-response-codes">https://www.iana.org/assignments/imap-response-codes</eref>:</t>

<texttable>
      <ttcol align='left'>Response Code</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>OBJECTID</c>
      <c>This document</c>
</texttable>

<t>The existing "MAILBOXID" entry in the "IMAP Response Codes" registry,
registered by <xref target="RFC8474"/>, remains unchanged.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="object-identifier-generation"><name>Object Identifier Generation</name>

<t>It is strongly advised that servers generate ObjectIDs that are safe
to use as filesystem names and unlikely to be autodetected as
numbers.  See implementation considerations.</t>

<t>If a digest is used for ID generation, it must have a collision-
resistant property, so server implementations are advised to monitor
current security research and choose secure digests.  As the IDs are
generated by the server, it will be possible to migrate to a new hash
by just using the new algorithm when creating new IDs.  This is
particularly true if a prefix is used on each ID, which can be
changed when the algorithm changes.</t>

<t>The use of a digest for ID generation may be used as proof that a
particular sequence of bytes was seen by the server.  However, this
is only a risk if IDs are leaked to clients who don't have permission
to fetch the data directly.  Servers that are expected to handle
highly sensitive data should consider this when choosing how to
create IDs.</t>

<t>See also the security considerations in <xref section="11" sectionFormat="of" target="RFC3501"/>.</t>

</section>
<section anchor="account-identifier-exposure"><name>Account Identifier Exposure</name>

<t>The ACCOUNTID reveals information about the account structure of the
server and which mailboxes belong to which accounts. While this
information is generally not considered sensitive in the context of an
authenticated IMAP session, servers that wish to minimize information
disclosure <bcp14>MAY</bcp14> choose to generate account identifiers using
unpredictable values (such as UUIDs) rather than sequential numbers
or other patterns that might reveal information about account creation
order or the total number of accounts on the server.</t>

</section>
<section anchor="cross-account-information-leakage"><name>Cross-Account Information Leakage</name>

<t>Servers <bcp14>MUST</bcp14> ensure that the ACCOUNTID mechanism does not inadvertently
grant users access to information about accounts they are not authorized
to access. In particular, servers <bcp14>MUST NOT</bcp14> return account identifiers
for accounts that the authenticated user does not have permission to
access, even if such accounts exist on the server.</t>

</section>
<section anchor="consistency-with-jmap-authentication"><name>Consistency with JMAP Authentication</name>

<t>When a server advertises both "OBJECTID+" and "JMAPACCESS"
capabilities, the server <bcp14>MUST</bcp14> ensure that the same authentication
credentials used for the IMAP session would grant access to the
corresponding JMAP accounts. Inconsistencies in authentication or
authorization between IMAP and JMAP could lead to situations where
a client receives account identifiers that it cannot subsequently use
to access the corresponding JMAP resources, potentially revealing the
existence of accounts the user cannot access.</t>

</section>
<section anchor="privacy-in-multi-tenant-environments"><name>Privacy in Multi-Tenant Environments</name>

<t>In multi-tenant or hosted environments, servers <bcp14>SHOULD</bcp14> generate account
identifiers in a manner that does not reveal relationships between
accounts or organizational structures that users should not be aware of.
For example, if multiple accounts belong to the same organization, the
account identifier generation mechanism should not use patterns that
would allow users to infer these relationships unless such information
is explicitly intended to be visible.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC3501">
  <front>
    <title>INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1</title>
    <author fullname="M. Crispin" initials="M." surname="Crispin"/>
    <date month="March" year="2003"/>
    <abstract>
      <t>The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1) allows a client to access and manipulate electronic mail messages on a server. IMAP4rev1 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders. IMAP4rev1 also provides the capability for an offline client to resynchronize with the server. IMAP4rev1 includes operations for creating, deleting, and renaming mailboxes, checking for new messages, permanently removing messages, setting and clearing flags, RFC 2822 and RFC 2045 parsing, searching, and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4rev1 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers. IMAP4rev1 supports a single server. A mechanism for accessing configuration information to support multiple IMAP4rev1 servers is discussed in RFC 2244. IMAP4rev1 does not specify a means of posting mail; this function is handled by a mail transfer protocol such as RFC 2821. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3501"/>
  <seriesInfo name="DOI" value="10.17487/RFC3501"/>
</reference>

<reference anchor="RFC4315">
  <front>
    <title>Internet Message Access Protocol (IMAP) - UIDPLUS extension</title>
    <author fullname="M. Crispin" initials="M." surname="Crispin"/>
    <date month="December" year="2005"/>
    <abstract>
      <t>The UIDPLUS extension of the Internet Message Access Protocol (IMAP) provides a set of features intended to reduce the amount of time and resources used by some client operations. The features in UIDPLUS are primarily intended for disconnected-use clients. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4315"/>
  <seriesInfo name="DOI" value="10.17487/RFC4315"/>
</reference>

<reference anchor="RFC4466">
  <front>
    <title>Collected Extensions to IMAP4 ABNF</title>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <author fullname="C. Daboo" initials="C." surname="Daboo"/>
    <date month="April" year="2006"/>
    <abstract>
      <t>Over the years, many documents from IMAPEXT and LEMONADE working groups, as well as many individual documents, have added syntactic extensions to many base IMAP commands described in RFC 3501. For ease of reference, this document collects most of such ABNF changes in one place.</t>
      <t>This document also suggests a set of standard patterns for adding options and extensions to several existing IMAP commands defined in RFC 3501. The patterns provide for compatibility between existing and future extensions.</t>
      <t>This document updates ABNF in RFCs 2088, 2342, 3501, 3502, and 3516. It also includes part of the errata to RFC 3501. This document doesn't specify any semantic changes to the listed RFCs. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4466"/>
  <seriesInfo name="DOI" value="10.17487/RFC4466"/>
</reference>

<reference anchor="RFC5228">
  <front>
    <title>Sieve: An Email Filtering Language</title>
    <author fullname="P. Guenther" initials="P." role="editor" surname="Guenther"/>
    <author fullname="T. Showalter" initials="T." role="editor" surname="Showalter"/>
    <date month="January" year="2008"/>
    <abstract>
      <t>This document describes a language for filtering email messages at time of final delivery. It is designed to be implementable on either a mail client or mail server. It is meant to be extensible, simple, and independent of access protocol, mail architecture, and operating system. It is suitable for running on a mail server where users may not be allowed to execute arbitrary programs, such as on black box Internet Message Access Protocol (IMAP) servers, as the base language has no variables, loops, or ability to shell out to external programs. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5228"/>
  <seriesInfo name="DOI" value="10.17487/RFC5228"/>
</reference>

<reference anchor="RFC5234">
  <front>
    <title>Augmented BNF for Syntax Specifications: ABNF</title>
    <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
    <author fullname="P. Overell" initials="P." surname="Overell"/>
    <date month="January" year="2008"/>
    <abstract>
      <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="68"/>
  <seriesInfo name="RFC" value="5234"/>
  <seriesInfo name="DOI" value="10.17487/RFC5234"/>
</reference>

<reference anchor="RFC5256">
  <front>
    <title>Internet Message Access Protocol - SORT and THREAD Extensions</title>
    <author fullname="M. Crispin" initials="M." surname="Crispin"/>
    <author fullname="K. Murchison" initials="K." surname="Murchison"/>
    <date month="June" year="2008"/>
    <abstract>
      <t>This document describes the base-level server-based sorting and threading extensions to the IMAP protocol. These extensions provide substantial performance improvements for IMAP clients that offer sorted and threaded views. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5256"/>
  <seriesInfo name="DOI" value="10.17487/RFC5256"/>
</reference>

<reference anchor="RFC5819">
  <front>
    <title>IMAP4 Extension for Returning STATUS Information in Extended LIST</title>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <author fullname="T. Sirainen" initials="T." surname="Sirainen"/>
    <date month="March" year="2010"/>
    <abstract>
      <t>Many IMAP clients display information about total number of messages / total number of unseen messages in IMAP mailboxes. In order to do that, they are forced to issue a LIST or LSUB command and to list all available mailboxes, followed by a STATUS command for each mailbox found. This document provides an extension to LIST command that allows the client to request STATUS information for mailboxes together with other information typically returned by the LIST command. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5819"/>
  <seriesInfo name="DOI" value="10.17487/RFC5819"/>
</reference>

<reference anchor="RFC6851">
  <front>
    <title>Internet Message Access Protocol (IMAP) - MOVE Extension</title>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <author fullname="N. Freed" initials="N." role="editor" surname="Freed"/>
    <date month="January" year="2013"/>
    <abstract>
      <t>This document defines an IMAP extension consisting of two new commands, MOVE and UID MOVE, that are used to move messages from one mailbox to another. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6851"/>
  <seriesInfo name="DOI" value="10.17487/RFC6851"/>
</reference>

<reference anchor="RFC8474">
  <front>
    <title>IMAP Extension for Object Identifiers</title>
    <author fullname="B. Gondwana" initials="B." role="editor" surname="Gondwana"/>
    <date month="September" year="2018"/>
    <abstract>
      <t>This document updates RFC 3501 (IMAP4rev1) with persistent identifiers on mailboxes and messages to allow clients to more efficiently reuse cached data when resources have changed location on the server.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8474"/>
  <seriesInfo name="DOI" value="10.17487/RFC8474"/>
</reference>

<reference anchor="RFC9698">
  <front>
    <title>The JMAPACCESS Extension for IMAP</title>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <author fullname="B. Gondwana" initials="B." surname="Gondwana"/>
    <date month="January" year="2025"/>
    <abstract>
      <t>This document defines an IMAP extension to let clients know that the messages in this IMAP server are also available via the JSON Meta Application Protocol (JMAP), and how. It is intended for clients that want to migrate gradually to JMAP or use JMAP extensions within an IMAP client.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9698"/>
  <seriesInfo name="DOI" value="10.17487/RFC9698"/>
</reference>

<reference anchor="RFC5161">
  <front>
    <title>The IMAP ENABLE Extension</title>
    <author fullname="A. Gulbrandsen" initials="A." role="editor" surname="Gulbrandsen"/>
    <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
    <date month="March" year="2008"/>
    <abstract>
      <t>Most IMAP extensions are used by the client when it wants to and the server supports it. However, a few extensions require the server to know whether a client supports that extension. The ENABLE extension allows an IMAP client to say which extensions it supports. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5161"/>
  <seriesInfo name="DOI" value="10.17487/RFC5161"/>
</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>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC2342">
  <front>
    <title>IMAP4 Namespace</title>
    <author fullname="M. Gahrns" initials="M." surname="Gahrns"/>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="May" year="1998"/>
    <abstract>
      <t>This document defines a NAMESPACE command that allows a client to discover the prefixes of namespaces used by a server for personal mailboxes, other users' mailboxes, and shared mailboxes. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2342"/>
  <seriesInfo name="DOI" value="10.17487/RFC2342"/>
</reference>

<reference anchor="RFC6154">
  <front>
    <title>IMAP LIST Extension for Special-Use Mailboxes</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <author fullname="J. Nicolson" initials="J." surname="Nicolson"/>
    <date month="March" year="2011"/>
    <abstract>
      <t>Some IMAP message stores include special-use mailboxes, such as those used to hold draft messages or sent messages. Many mail clients allow users to specify where draft or sent messages should be put, but configuring them requires that the user know which mailboxes the server has set aside for these purposes. This extension adds new optional mailbox attributes that a server may include in IMAP LIST command responses to identify special-use mailboxes to the client, easing configuration. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6154"/>
  <seriesInfo name="DOI" value="10.17487/RFC6154"/>
</reference>

<reference anchor="RFC7377">
  <front>
    <title>IMAP4 Multimailbox SEARCH Extension</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <date month="October" year="2014"/>
    <abstract>
      <t>The IMAP4 specification allows the searching of only the selected mailbox. A user often wants to search multiple mailboxes, and a client that wishes to support this must issue a series of SELECT and SEARCH commands, waiting for each to complete before moving on to the next. This extension allows a client to search multiple mailboxes with one command, limiting the delays caused by many round trips and not requiring disruption of the currently selected mailbox. This extension also uses MAILBOX, UIDVALIDITY, and TAG fields in ESEARCH responses, allowing a client to pipeline the searches if it chooses. This document updates RFC 4466 and obsoletes RFC 6237.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7377"/>
  <seriesInfo name="DOI" value="10.17487/RFC7377"/>
</reference>

<reference anchor="RFC9051">
  <front>
    <title>Internet Message Access Protocol (IMAP) - Version 4rev2</title>
    <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
    <author fullname="B. Leiba" initials="B." role="editor" surname="Leiba"/>
    <date month="August" year="2021"/>
    <abstract>
      <t>The Internet Message Access Protocol Version 4rev2 (IMAP4rev2) allows a client to access and manipulate electronic mail messages on a server. IMAP4rev2 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders. IMAP4rev2 also provides the capability for an offline client to resynchronize with the server.</t>
      <t>IMAP4rev2 includes operations for creating, deleting, and renaming mailboxes; checking for new messages; removing messages permanently; setting and clearing flags; parsing per RFCs 5322, 2045, and 2231; searching; and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4rev2 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers.</t>
      <t>IMAP4rev2 does not specify a means of posting mail; this function is handled by a mail submission protocol such as the one specified in RFC 6409.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9051"/>
  <seriesInfo name="DOI" value="10.17487/RFC9051"/>
</reference>

<reference anchor="RFC9586">
  <front>
    <title>IMAP Extension for Using and Returning Unique Identifiers (UIDs) Only</title>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <author fullname="A. P. Achuthan" initials="A. P." surname="Achuthan"/>
    <author fullname="V. Nagulakonda" initials="V." surname="Nagulakonda"/>
    <author fullname="A. Singh" initials="A." surname="Singh"/>
    <author fullname="L. Alves" initials="L." surname="Alves"/>
    <date month="May" year="2024"/>
    <abstract>
      <t>The UIDONLY extension to the Internet Message Access Protocol (RFCs 3501 and 9051) allows clients to enable a mode in which information about mailbox changes is returned using only Unique Identifiers (UIDs). Message numbers are not returned in responses and cannot be used in requests once this extension is enabled. This helps both clients and servers to reduce resource usage required to maintain a map between message numbers and UIDs.</t>
      <t>This document defines an experimental IMAP extension.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9586"/>
  <seriesInfo name="DOI" value="10.17487/RFC9586"/>
</reference>

<reference anchor="RFC4122">
  <front>
    <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
    <author fullname="P. Leach" initials="P." surname="Leach"/>
    <author fullname="M. Mealling" initials="M." surname="Mealling"/>
    <author fullname="R. Salz" initials="R." surname="Salz"/>
    <date month="July" year="2005"/>
    <abstract>
      <t>This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier). A UUID is 128 bits long, and can guarantee uniqueness across space and time. UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation\'s (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.</t>
      <t>This specification is derived from the DCE specification with the kind permission of the OSF (now known as The Open Group). Information from earlier versions of the DCE specification have been incorporated into this document. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4122"/>
  <seriesInfo name="DOI" value="10.17487/RFC4122"/>
</reference>

<reference anchor="RFC4648">
  <front>
    <title>The Base16, Base32, and Base64 Data Encodings</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <date month="October" year="2006"/>
    <abstract>
      <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4648"/>
  <seriesInfo name="DOI" value="10.17487/RFC4648"/>
</reference>

<reference anchor="RFC8620">
  <front>
    <title>The JSON Meta Application Protocol (JMAP)</title>
    <author fullname="N. Jenkins" initials="N." surname="Jenkins"/>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="July" year="2019"/>
    <abstract>
      <t>This document specifies a protocol for clients to efficiently query, fetch, and modify JSON-based data objects, with support for push notification of changes and fast resynchronisation and for out-of- band binary data upload/download.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8620"/>
  <seriesInfo name="DOI" value="10.17487/RFC8620"/>
</reference>




    </references>

</references>


<?line 1179?>

<section anchor="ideas-for-implementing-object-identifiers"><name>Ideas for Implementing Object Identifiers</name>

<t>Ideas for calculating account identifiers:</t>

<t><list style="symbols">
  <t>Universally Unique Identifier (UUID) <xref target="RFC4122"/></t>
  <t>Server-assigned sequence number (guaranteed not to be reused)</t>
  <t>Hash of the JMAP accountId (if JMAP integration is provided)</t>
</list></t>

<t>Ideas for calculating mailbox identifiers:</t>

<t><list style="symbols">
  <t>Universally Unique Identifier (UUID) <xref target="RFC4122"/></t>
  <t>Server-assigned sequence number (guaranteed not to be reused)</t>
</list></t>

<t>Ideas for implementing EMAILID:</t>

<t><list style="symbols">
  <t>Digest of message content (RFC822 bytes) -- expensive unless
cached</t>
  <t>UUID <xref target="RFC4122"/></t>
  <t>Server-assigned sequence number (guaranteed not to be reused)</t>
</list></t>

<t>Ideas for implementing THREADID:</t>

<t><list style="symbols">
  <t>Derive from EMAILID of first seen message in the thread.</t>
  <t>UUID <xref target="RFC4122"/></t>
  <t>Server-assigned sequence number (guaranteed not to be reused)</t>
</list></t>

<t>There is a need to index and look up reference/in-reply-to data at
message creation to efficiently find matching messages for threading.
Threading may be either across mailboxes or within each mailbox only.
The server has significant leeway here.</t>

</section>
<section anchor="changes-from-rfc-8474"><name>Changes from RFC 8474</name>

<t>This document obsoletes <xref target="RFC8474"/> and introduces the following changes:</t>

<t><list style="symbols">
  <t>Added the OBJECTID+ capability and extension, which provides:
  <list style="symbols">
      <t>The ACCOUNTID identifier for account-level context</t>
      <t>A compound OBJECTID response format using key-value pairs,
where unsupported identifiers are omitted rather than returned
as NIL</t>
      <t>Implicit activation when clients use any OBJECTID+-specific
feature, with an untagged ENABLED response to signal activation</t>
      <t>The OBJECTID SELECT/EXAMINE parameter</t>
      <t>The OBJECTID FETCH data item (EMAILID and THREADID, without
ACCOUNTID which is redundant per-message)</t>
      <t>The OBJECTID STATUS attribute (compound MAILBOXID + ACCOUNTID)</t>
      <t>The OBJECTID response code on CREATE and RENAME</t>
    </list></t>
  <t>Added security considerations for account identifier exposure,
cross-account information leakage, JMAP authentication consistency,
and privacy in multi-tenant environments.</t>
  <t>Updated IANA registrations to include the OBJECTID+ capability
and OBJECTID response code.</t>
</list></t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The authors would like to thank the members of the IETF mailmaint
working group for their contributions to this specification.</t>

</section>
<section anchor="changes"><name>Changes</name>

<t>[[This section to be removed by RFC Editor]]</t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-01</strong></t>

<t><list style="symbols">
  <t>Replaced mandatory ENABLE with implicit activation model:
OBJECTID+ is activated when the client uses any
OBJECTID+-specific feature (OBJECTID in SELECT/FETCH/STATUS,
or ENABLE OBJECTID+)</t>
  <t>Changed compound OBJECTID format from positional with NIL to
key-value pairs where unsupported identifiers are omitted</t>
  <t>Removed ACCOUNTID from FETCH OBJECTID (redundant with SELECT)</t>
  <t>Removed standalone ACCOUNTID STATUS attribute, FETCH data item,
and SEARCH filter; ACCOUNTID is only available through compound
OBJECTID responses</t>
  <t>Added OBJECTID parameter for SELECT/EXAMINE as an activation
trigger</t>
  <t>MAILBOXID reverted to single objectid format in individual
items (compatible with RFC 8474)</t>
  <t>Renamed capability from OBJECTIDBIS to OBJECTID+</t>
  <t>Clarified that object identifiers only need to be unique within
the scope of a single ACCOUNTID; proxies <bcp14>MUST</bcp14> assign different
ACCOUNTIDs for different backends</t>
</list></t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-00</strong></t>

<t><list style="symbols">
  <t>Initial version</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAJ9mtmkAA9V963bbyNHg/36KXs2PSB6SFqm7JpkvtKzJKPFtJTnJ7IxP
Dkg2RcQkwACgZMZxnuV7ln2yrVvfAJCyJ5Psrk8uFAl0V1dX172qu92uqtJq
bs711cvhG335oTJZmeaZnuaFfj36qxlX+mpisiqdpqYoVTIaFeZenn797PeX
F7dXz79Wk3ycJQsYZVIk06qbmmraXSTpHP6bwZ+LZNnNabB00h2lZXe/r8rV
aJGWONfteonzX95+p8ZJZe7yYn2uy2qiVssJ/F2eq3xU5nODH/X1dxenhyeH
Kl0W57oqVmU12N8/2x+o92b9kBcTGCirTJGZqvscYVFllWSTvyTzPINJ1qZU
8NT7uyJfLc+1A1Et03P9Y5WPO7rMi6ow0xI+rRf44Z1Syaqa5cW50l2l4V+a
ASDPevp3eTZ5SLKEvuT1PysAd9H3eXF3rr9Lygono28sDqMvS5jUVOf6hbk3
cz3o6H7/UP8pnc/TZKFvKnpmnFaAmZdmPspXsEL6rjB3gMJz/cerC32wv7/P
D+arrEIsDgE/RQJj0NcGZzvXI4Dx7rdTmb0yyaI3zhf0xKoAPMyqalmeP336
8PDQs0/xE8HyX/b0c6N/Z7IsKfIAAS+TVZHXfyIc3FTJ/CEpKv0iGZX6xYuL
CBnRrxFG+gf7Z/oin06NyfTw3mQr09E3q7Qyuj+wCybM3MxMkU6SLELMn34Q
lEwAutPBKZBehKK3N8MQOQuE/7clQtMDcJpY8T+pLC8WSZXem3N6DEjz4Gi/
f24/2C8PD/pH5/aD+/Lw+PjcfrBfHg0Gp+f2g//y4PDcfvBfHh2f2w/uy9P+
2bn9YL88Pj1ikPCD/RKPkD9L8uXZ8RnPjh/cmP1jfh0/KJVm08aiAazBuf3g
pu0f8Qz4wX55cnBycm4/uGn3BUD84L48OuX14QeHs/6AJ8IP7svjQ4YaP7j1
HQ/2z+0HpbrdLhAaHoUxbNvtLC01cKzVAviaFiajP36Ubfv0Se8iezsEuuzv
aeAe/BuC9+mTcr8N9vRDWs30EvhiWlY4Vuo5pQY+gBQ1yj/A4DjIwpRlcgd/
VLlK5vP8QY/nKTyPX+hFXhhtptN0jF/N10C+q9LocTKemYkGCBP9MAP6L0wJ
Z38MbGyW3MPvsyS7gwfmOXBOZNvwn2pmdGmKe1P06mt1fJRXhJsPqx2tdTKZ
pNkdveqZurHCoANzp+MZHPyqyCcrmB2Oz2IJJ2jiHkfIlnlW0m9ZBUwVBkSm
3L1P5iujl0mKSJlGOEK0JHCoLy5ev32Fg/gfUQCpZEzHtDsnpojjAkw9fRuC
qR2YGpaaLpZzwCFgEF4GKoWtnTDmEkG3XpW0IWs/RLdcmjHMOtZTk1SrwnQU
jAinHlAySsbvgS9NaMWA41E6B17DO+/2b5ZUgGSd5TB6NoGVocxRiE0HXI+p
cJFOJnOj1FcopgiZuG1KkTwtK6ACgA1IIZ/CewjqBLdngeDKbD2tL4Eq7GoW
yZqpRBGRTIt8EVAASDOGLkUAYWwEMTMwKtBcYSb5QzbPk4k/1gCojo4CLAXp
hQZJLEXDjJkeGVhs+reVAVyDnDSFycYMbgo4QWlA+/v26vkfhy+unl/d/tDh
DbcngZCYZjS22jCybo5sn9ylKb5WwQR8WvndkJZ24Zk9WBgSTlWkyzki2A6k
cJxOE863SI+lvlslRQKExzgD0NLFYlUlo7mBLSVMIVsHTE3MNM1w+/TF6zc/
vA2OhGAPz3zp6ZC+HOfLFA5zwBv0+wxYA24haE1LIkFTPaDsw+9gWCByOeTE
CRBWNTFllWbMAiKu09EzRF5H2BwhEJnFnIkGlnA1DfYV1luuxnDAy+lqTthH
5BDqLdwdAZwX8QAaihKIk4rBwm1xCzIfgDdaiFvAFEIp1RJYapqvSpiV3oFZ
43WGLxBnM4jg1bxCqN3sTeTqXVBlF/m95XooBz992vM4h595nWWNwttx1tGj
VYUMROUwYWFnBO6UgYLLZOLwQEcaB8ODR3hizmEKZJHVWjnAHTh4/Jl2YUrU
R/HwIp6DA6uBIRZrPD13lsl7NgjMHM6fedDLIgfhVKVMV/7c7V6+HF4BqfNx
scdgF7989vrP7qgA4QYjsMjy1Jvrv63S8XvYLjlo6wijngpphSStRoYkmCep
LMRgy0LmsHhaDWxGvkSygU2oZoUBDITH+/b768vhc1wQyFYLhZValqMILw2Y
I6whzSYpGh2BdEZulCLEpZ/Dnv3CzFGiAH6GbhBm/sJbUf4YlLWKwcTzK3sH
giXTr65e0F7QN8ClSqAtNLXsCgAJQ5DFvNT5Gg9bKMADCVy1C8GO4lVbtG2S
rbpVthIzSbZId81yglc9gkfmAMoCDiEx1UC2g0hBXhbLfxTdKKRL+BOoarya
JwVxGQACeCzBZbL7FAwUXC7YakAeho1NT1BpNp6vJrCLMzgqk+AHEn4OmN/D
W1aDAGKA7WQOTXyF9R9QDj99Yn3CLVkWyNxa8SaXTCo8bZ7NmYpCTQb+XgPr
XC7BeuzQGVerTP42k+jREmlkrfNFWuFPTmJbFAMJfPWVfpVXiRD8RZ7d4+vw
I7M9wKpGW7fUOy/f3tzudPj/9avX9Pn68n++vbq+fI6fb74fvnjhPih54ub7
129fPPef/JsXr1++vHz1nF+Gb3X0ldp5Ofxhh8Xjzus3t1evXw1f7DCfDskU
WZgISzTGgbXjSoHJgwAYF+mI9+DZxZv//d9g5X78+D/QeOj3z0CK8h+nfdJM
UXHj2Qjp/CeiWoFoNEmBo+BRGifLFMwy3uVyBkxSI+EAJp/8iJh5d65/PRov
+4ffyhe44OhLi7PoS8JZ85vGy4zElq9apnHYjL6vYTqGd/hD9LfFe/Dlr/9r
DoStu/3T//pWoXJ5MXwzfAYs/vYH571hA4Foy53qi2SZsEILbCdiaEK6zGZG
SQm6MTtwIjayysZMozhC2wFjA4Mwbo/Pjp19x8p3S/hqjqqCSM9gBXA0QQGe
9AIYk8k9iqUS2WswIE0koGsnzjpa5F1HISlZVsscIaDHiIaZK4wMCK4UuFI+
VQ5reLpzUAE8901LL7FxAcHiexHGv/5clBM/nwBcj2E9QHl8BtuR/vUvjvWv
Be0irPmJcJtFV2sz2FBIncMhJVy3Sqrdjx+FhacTVNqexMx6o3yC95zD0T7t
33ev3Vy+gA9PL/88fHn16hKlEugmFc9bglQaV85v2fL2d5e3F9+zcZ5WZoEv
TU01nm175+Z2ePv2RicV2CGgRxqaCVj9qtz2llseurHQyL8AGr69JNZ4fflq
+PISxxmDxlGZYJwOUCLrW9HgSJFDto7JZzANNufjV4n75RPuveh71preqHig
brUi0kDVeLNtzQdLKMryYvgbFI+Wl7xXAUlg7s8GTYk6GiqV3tYXYot8At4R
QDrnGheM40xzlPEAsSNBWWtalqCZacDrsxeXwVp36VyjIywgxcCpEGImoCWA
gukM9WJLatsITMZ0CmI0LhPLZxLQ1pE+i3zVn2Ziem7H6cKgLyotF5p1emBp
mWIMdkKdm1m0YccP7Glyh/4rfvB5zJSQljzyR2aKphTOFdvVCM10yqbXaE1e
F0/CsLX//Oc/ARt2Bu/ewu/V62xs/GI6G4m7QPdwJusmLoOPqsmqcGcIX2U3
jqGwRi88Y47QyYhAlZJolaaP5EgNlhBrK1qx535qA3vYwPuQ8S/nydgIsMoJ
yNr7olSVq1GJdAP0w+TbscTbUcx+OiH/cScVJV6gYlhW/R0z5o9fNWHbLCBq
9k6T7zO7t0bPNoNEk0GS4LmE78C6Tf+OjlMUfiDc64aKUuRkQ03bjcEwVOsl
YbApmHdN767XCfQO5USaV0Gc+rHH2DM4Dc+c2kUWjEs0HhXH4MAw1H8w68DP
IYThDE+r9eSiTaAKDt+jojwHtWQ0533Vd0C+mTf34KnH7ZFhps1iWa09/h3B
ODGvd/d2cAWwlHRCK7OmtZjUoVMy1HRaRckqMKnJdYAyJbK3cmtRW8XHeoeZ
mDZRCoJIngDRgpwMsO+j435svChyMsafTBIXQ3QWNc5NTZ9w/O31H/z52Phy
y7O4zoaotwPUVQn7fY2vW4RkFTmrhVM1EXSfFGvk5oIIWuV33pPjaGa3zg20
5QYMXkcA28MAUbDrYhJZldRzH1yZOyk9N604q9y0tKy98y1DyhmDaUM9vxdq
luKl4ReIChhbFgtKB8gfmXFima5ooQ4cZNVz9PCsNUhWOF9pOWMBxItuSvxQ
ReUtWBUFu/AJweiLjTwKj5x0ChPIoQUpBEIXnYmZnAuyt9HdJD4X8T5HW299
ObkCVWTatcZQMOuvSrSt2WBBBmhNH1QoUoqPSFRCAaHC5MB9WcbM8vkEgCbG
VrINdI2+M3RizNIl0vUV8If7dLICk2loSbiMRYEHFVbg7R50EcP8MLh4IkW/
QXiQnyoMM1XEEuDLalUPzaVu5vm65z15JGSFq6B8JAcur4D2LBziYWZEzQEJ
gTshIJhJNLpCRxt7u/Dgwe40ltYjajcfEvQcstB3R0O5vZRQSTiAHH9HVgT+
yMSWaF3O2+E4lmhBTpBtUNCK8iQanKW3ZVuWRQ6rtYOMyVeVYsyBcBaGyNQD
nBHh3EVqkKuDmpHcA/mzfIq2CCGCDZ071FriUyYDCxf1LtnuQBcuDardlYF9
RS3EH/xGKgsZOtaw5OVFbCIRqujiwRknsRNPDHY2UlgvsJ5GXJ94YB3nHBnA
6l3Z06RLW/EDqPqrkLSioEDgsKgicATFHHXF+K2epECco/RuZbVPFbpHIx+q
Zh+qU4msR5SoNqFYTwrYR391vrqbebRHumwLhgqzBNqDKWTv0UWfYOCtrIgz
sDFoIyEKzAMMv6P4N+Rn1uUaxCOsf8wHtcCASIlDsQXRULDKhrPDmomMhd3S
GB3ovjT+B9B8Bfr2Y85xGr8y8o0DXcYBDMV7GMV2BJM9dtCCRs/++qZxy5Op
DZPVIiV+okk6pdhn5fasowxqb+lUNs4zBjd2bdf+xKHvmgNHVNkddJEDMJc3
Nzuez69jVznHODElBP0JqTiWKD5uvJDyS3I85j5NrOcejEpg7YEYvZrY0NLa
KySB2uvELSwNgQzd94q8izeGTo7u9457Axwj8ueTPmjHI2aEgaUSqTUFxoi5
BUHyBT06pyiQj52Oi7wUjf8hR2irfJzPS4/TIGbqdsN8AMWiBBWbQgR8oAgH
SO9WgnPqRlJbsTtOTMxu4SFBDX+Aw4UR1wT29y6L4zuYRYJHKGHewjkp47XV
dAmMeJKe+j5/QGO0g1HfmR+r5BwB1DY8kBS3Auv797Qe3p9AJ29jEWPUpZcV
iUIfN+cjJpaI3Wgn4FRsQzsIUyYTyq+YryMaQdKYU4hBzHJgsai68LbwmU2q
8HkwwfP31sYGZObjlFi8338KbGe5xsMIqB+FvNKRNptwMEZahMgDvTEHjpcW
NrBFwsiL4TZhJDM7YeSfbhdGzSQHCp6h9uP1yce4np+Et8SSNIkjx7nbUjla
BmdOR6rphgnwIAUnrPIcsUpdTL85pFXBt4LswrAKqTYfoVo2Z39hmoFpkyYu
UydMb7FJG83BlFO4OcmKExXgse1YeG/McuP6NydtiEIGcxBle+aCnOYhWTPk
OHjpN8bFrHfRYGbp55fmZkQhSckLJepSd0lhc72UmxD459UrANRlesEs5Ewm
0U5+ZYYL0wosbLiGBWgmIuUtNHus7vulX1sN9QINXQSLDcZ6dhrHPHh9YvRK
EEKTdXFvIr8E2c2BcgtY9Lkr3mol2EkWtsYxIo9oIAOj8Mkj3jISEg3j3cb5
PVAqXhX6tOfIoLY5Gzo4gU1kKI2K4G34/RoRgL3A4QHyIEGn4w3pRed6xy1p
R9+80Ts/7e5o+yb8tbej1CWbJeJFvTjXB4xQ3MZc3eDfsOIfPW52vxsM+gOT
nJ50j/fPTrqHg6Pj7tnkqN896R8cgIA+2nunf6I0Tfx3IQrthL2xEdm8tc6T
69BwFrsaiUIM65+zscIIAxe0CnfO8b9Nm55n9a1twuW2ufNZ+6yifdbb97kZ
OoB9Vpv2+fUfZIN/3Hl80+F/3tFP6OZooYDBiebZ9Q7QwI76sdfrvUNSePJz
SOH1ez8AjIwjoNem+6frq9vLd1vpwzkNmC7IZK2zFMqCiTfSG4uiy4uxK7ul
vNniYrBsSDSi25i5TQHeOI5bU7I30qD148TMpR7eaT+vLHf8UoQJxUv5sqN+
G7JWigfFgwY0SDpmGWimXdZHUTeP9RGy0rw+0iCmY7teICW963SgPaYnmZl+
+yK6ovePkZo8AcFsJ3a2UVJsnI1+C2c7PjgaJGb/oDs6mR51D48Pxt3Ts+Np
d3I6Ojw15oBnO2nMdiqpbgS/ZL3hk6eNJ88sXDY3bhNs7ncPn+eln4uXs3h+
OlguyPfi6ua2K7ORIh5QbZ3+scoA9AxyLpa5co6cTgst2iw8+HOUWoeWmzGg
2AaJ9PscpNkBzvRkx3LuXcFYgClBFY23+9P3Sfkqv5il8wkgbU/v9HZYw4nw
Sd9swub01BwAIz3snh2cnnUPk+m0m0xGfdj3yemZmU5Ox6Pp45MCOW0jr3DC
zyO0bZMFVPbL0gxsQkg0ene/t7/fh9M/LlElAFlY7gmLtl74Fisnyr65EKM7
R+uHim/I9vnKD3AV85Ir59d8KZomMy37uA9kp+SNspEz5souoTwO5ymJi5B3
1nq+RJPFLM+Mk2x5jMWqrCQSHFizeaYS/ZGTyFfphAJgcFzoj0823ZxepRSZ
UWDMSGa3V+Qjw8uu7DMMOYsDp/OTUUVTfyMZ4Mo+Q1USPoU9GFrCKZsGT8rQ
grHxGfSlkPqPXh5EVZTkLQ+JKLGJ8RhjJXtiiv5ATphHV/nL13/0On+QrA07
4TiUN6Da0sltYUzT1xZ5UmSl5Awp5HGHbfHvIFDaAYXeINgg794YoQMc7EpM
NI59NM47E3jwHPIbifAdi1cvOsniLpfJWLLBy3G+hEO3NEUUJ7uNZtUya9u2
wWmgnHrEud2SFUhzNXzz5vLVcxu5TqdUJwInfFwFASiy+eQtVFzNB9Ba5zYe
S3nxcoisp4VDHfUp0TAEi/7y3IFGWZ21+Lo/WMHRDOzLnrrKgvRhckliGCIX
3wweAY/39pPlzoK1K/0LUkZaUgp8qEr6+Bs5ndc6UWSX58BoX19fYuTUn1fg
Yo7R1djYNaeQOyYG3E9Sxa3rx7355RwNHUUVhr+idPaQPkdmjqEXSpNdzSfI
jqgYllLc7ziohc4I5Zz7SGkWIthsxHolWUB3JjMFOfdGCdoeaILnCyvlXWzi
2tbwwFG5yrrXZjlfd29z9p7drGhVXFXBajeQl57nd+kY55ibKRbpKet552W4
PPuoZgmLIcmpw4HMkqFJ5nd5Adu/KJWUhcjC0V4C9mg9jC0hBbfpyJHQ7MU8
BE98GOrAiuX1Z7Boh0MXYKiTptrM9Ddw5mhMqU3Qvv4BgwWK/aYcpATuExwN
yzG/YdehjUDGpPOAyArSrb10kTIMGf7BFCb63TpgGPQaV7aAM4z6cRg3OAfF
NVeFp4YkueVX6IAWr2RMybDVNpH6G+tb3hRp90MXZGZnxJ4wcCDHQQpDJLhd
uootvxU2biKhoKAMhPMPfNKBFeFNLmDL524uh9cX36uwbMRjhMSwZOTx5BtQ
F3lVHWfhTCQcepQDVQoxUimZwx3yxqtgx6jGaVLTXSSliWrxbSWLkXIKMgaY
d1RYYwR2xQcMGHGofdfl8Kc28ZAos6TQ2IPESlmZtC+Xe4TO+xzM2fE8KWc2
6cAJwVD1dFkftsyP/7oQf03diWB9xOi+5idxNzBx2ZnXMs1OrJFaIvR8nPJJ
Qss5SGSy2SsxQfiXy9Cet2vZqYmML5vSvrZ1zg3IiJKnHPm2IWWbx8Giqjn1
Vj+DI1hlox5ePWhB0jYIHOr+JRD4AdJV6nzYZwSwN0R2yCYFbII3S+cMIPIK
lyDooqsNNtECPsnxYOMtS97M4AL53maLH2kUBJTbh+PsDPa7L5OiO9jvn+r9
g/P9k/ODE/11v7+/v6M/nhwcfLLOPZbx51bp0UMln7pXz8/1r6fJe9PrHw36
hydHx0cnvaPDk7OT38q5x9YT33ov4RE5CVlxxbPrXjvV/dBhKL6DLwH4rAnw
tflsoMGQ7h84oPPi7ttA8fnCRbK93b7KQWOVJ1+2Lccbt+Vi+wqP9wen+5sg
PtkM8UEd4sFAU6a57p8/AeODjX9t1WBxc/SF2dpqVb378nhydpaMDwYnR6PR
odkLHBmOgndvjw9HhyenCTxzYpIz6zQZNEcbnJ6eHhyPD8cnycnx4ItGO2iO
djSdjPfPRodnJjnZP9gwWr9/enww2R9MJmdHI/GtADKavpV99K3sMbIOqHoZ
ViAxF3a0W1va4fkMnohOgKz78s9v3r763SVNdRD7/mj4w/8X9uLnY+/wEewd
bQhXDI62RBvwxeOfh5efTVWD480rIdeaZcd6N8v9YMLD93yA5mcCvs//+nt+
bBA9m7dMnh+0PP/oUkAzu2gkIDu17ONXtTqUwEHdli7ejKZx3ZirY/q01yE5
aEv1E5f8KKlHdVBqKdRRMM3WtdVyIuvVNNv0Ll9h3VrDYdunhG4pbuYAhoor
KmaNOjIBa4rQtU+LrbaBuqG2S4XNS7bmUONrcR61X44kUYfZX48nUXMEoZ5C
rT4jhboZsd4Pj4MlKSHrZlVQfDp8dYPdhhrfazvej3G9lkFj9tc6aBvzg7X9
IizjoL8FR9uQ4XjGZ6zR8QsGvS2i0A56vWoEluL8yj45NFjN4MtWswV4gXWL
hCZYbynLyKWztxqdgeVI9J9mK/IhYDs6FZUiJyMQ9x1J1aHEAbAqbMJ5M4cg
KH7Uw7AtEFr4Jq0kTT0EkKGQZLkm92Nng/gAonKur32HQLJrLq2L19vOYX35
m5YayDBD4uNX9USGTTlBLS+jwT/G9MIwK175skvhS65viPulpIAillsQCwvL
DF3Mu1G9Ebzt2KXaJJDq0ofgDoow2SVrvSGBV29LYbMkG1FyxyMVfG1ssJa2
4Yl8IyesJXb4Q+FnfTR6GHAyL0BW/eTw1Jyagy/J/6A1nLo1cO+Pp9i8sJGC
0gopKGVnk3HSH3QPzPS0e5icDLojYKjdo8PpmTlN+u2gDkZHZ9Oz6WEd1NPH
UlVe5ZWtT7Ut2caYRGuLp1r9jWjDyUao5A7DjGEJkqevh8QLzqgSl7wyaVFW
ko8EHAFjjpkDJoDEegNmVLjhfK5h0aKU8OEJSW1muvQSaiSnSxBJJbW+LHtx
B4SN2YDADOrZa6L2bU+PC2NvQZXspuLY4AQFKba1HD4V5vAFSYW1/L1WdaM1
Qa6NJD29/evHKLJcDi0Ikntw+DkgPJZ88GUgHFkQgnPqnTePgPKvH9Vm2tgW
8pP65Y9f1Tsl/CzyC1NGN5LglozRIKVQAAuo7TZODI8beWCrvLlEbo3eXWXS
HHIvjCxLLNUmhVi9udaAIxrJFzYp68Y09dImieT7oVvLJOys9ZoVmaGBTLU5
Xz2qGa1nJjhjYDMIUt5h1+aD+Xo3DIYpqoZOqMcnKREuMs9cUFid/5bxkXIB
T6IaXHKvUdDhTEL/rOfAKvw6qA8T3axjd8qaeBiqrxlZiptsrq3/2rXWCFL1
pKwARcsyn6fjtedsepdb3zHiOlGRnk2fmOx5/rc16+0/yAdDG0Lv0m53LWbs
WhBbUdEh9v0IF9M/sKvBtK2d16RLv4U1lz3e+R58v0Puz8/i88nJyXhg+mfd
08PJQfdwtD/tnhngc8cnk+nR+DT5VxhbWzosKti11iCfzdQ2dqxRaLXbXL+e
vqq1F9mswkpxgRIWWXKIsZptPtfWzIfhizRgV+3umE3ujkbHlEf9HQ0F/vHc
1c9zLIQZrf/es9CWAtvMga1BHeYo/nv1hbacWWYfAl6gOGwCM3rk36xT7LVk
7jrTf3P2NnfTCHuhWdO/DG3/JAutc//2Z7gAVHx2e/8/5/K6bd5+iH5Ghu8j
1PE5qb6fQ9BfnAj8Hzhk22CKJBpVXffK1ag3peYNOxG42x8NVxIA9Qva31+Y
hiydZFn8T8yCC8yR5c+CxutIyHHTdW5MoJq151yqbYvoXV5SRxR+SnN0KaiR
FthSxq1bikzCs8M5Li6Bm04J+7HIG/cK9Jbv8OYGbjPP+UDWBbc1YUNeanVQ
5tb1RdlFLTUkYT6HPapKuTzGh1le+nBF6vJEWeGVXgk+bWJj4sPGocPcrUfH
llYLFs0v3764vRJEeTFf54J4LQFwQTTDTFKAqiJmQtu+WxqS1DxKZeW3iFRc
imvhQzR2tLjgn8RYS8JyT9+kmL3G+Ii6H1HrF5yw0ZxcyoJDCwuThykpTkl6
e+DgYYC5mLoGG5Fgi01SKvQtL7ktF1I/5vGPK+nFXVIScXhsUAA2j4CaUcoC
V9/P52nktKQUMBinWGW27RvtISZic2YYuci5aDa0RmfJhPouB8WosQOUtseG
RGuhHGF3TCN975AM2E1fL8o76rDhIgAwg/VM0uA2zlqPAsWj64H3IgbjD1rH
l7oKaqA213xowj5q0ueCdRGfkyVVa3FCq4tJDld3C+7d8SwZvwcL4VWyKhTO
oXeHz159t2czag9Qa8lyl2h7yXm37LG0B4hajLBaoKbcGcb21yKgBRbxPuD4
4fAdVk+C4uUOdwGgB42POARld5wMyZcWcZ/GoDmjihbNfjqOFBDYmKmMEuwh
RaOEmtDMl7NkZKgXie1TwseMim5TsF4ABGz9J7cIoJcRVrMCIi6oXhOOPOBd
/gjGQAFASFJV/h7IlZujUA9scjRM0iovqDx7nhSomeG5xgTLKMG5ZH+IxDsq
6s3uRqJ4MkzbDcDU06Scsbx4MzcIE/mAHV7mcykpjzM//Zq1XzEfoUB5/M3T
sOnu07AXrFKGsmO7FF3+Tfyble/fRKXe4QtLdyUGM44fZUvfKeVS936j+08G
R0e7wxdvvh/C7M+vfnd1i1D8hWDp7uwFEwU7AXhqEetuj/07mN9HSMoqP20X
WwH+JiqkhMkcV6S/nIB8GiVo+iHusfAFRokGjUReozkizulxjXmMuzv6yW5t
TFDn9kL8br93JX4wSgVs9MgPuowFryW2IyCr861NAJX6RuOVJ20FsLuwrxot
Inetytzs4dNKceoH2EBEPRtQyg8JI++igwHxFCWcRtmeEXKYRZbigO1iIkIb
3SGfeWensmzdzRWpLLuN6QDeLJ3rvZ89LQgCREIXbSPgSoCLljXbLyPoFEUv
uuj765K/GfFYq//djBwS6EAJHFHywtd8WCbSCnVF16cE74DFisDDwP0nv0ZX
4+3ln2+7F98Pr7EhDnKsnXc7374L3uBCaSoqoIP5o3B+WDjLUT5uT9uVzogY
4vMj7i5LPmHFtP8Jj8aXYeXL9i6m+69DCUYkLkFvCinHzLRO/sEPTYJo8Iq2
nW95qIajYI4mipqv/0ykiBITizXsnFUCY+Imupw8MKT8agrKN68fVEMQ1m0i
yzfGidgXBfkl+wGEgCklQxuAtJYBF47ZBofwq4ETwPYc8LbkPej6rglrKa3+
UPTaq14SUNunhrvl0uiuEm20rmz/QDxXKi8mnAXWuP3LQk+lFKC2dnxxRTAZ
DDE32R2lZAyDajBuEMRN12D+Po4IAjKUfa6pa6AecqHY8SEFpZY5Nl8710n3
7x097P6vjt7vnnX0Xzq66y6DqWlGtOwqx64T3DJ4kZd0L45v2cllhWB1mnJd
Ys5JR7+9vipF30Ougd1iePTICAqmsiomuqlBTh8froq5b8FwfHhKLRi4UemH
dLFaEGBYf2vv7pBKN6q+5fXjoHgi700Q+lBSzGWvy+FiEtv6pkjL97aX3t08
H9lefFTiVnAyHbYGVlw+ySWpazTJpJDOYgOPhkcIlRSBVrhEBl7OjKkQI60V
jqitOsCoOysSJJBoUfEtMxU275uA3tf+2yS9S8Hwkt+kEo7bhZEt2fI72238
M5yr4c3F1RVrh1GUTA/1fdnTyR6+HFjkY80NpG3LaTTMgp3FwgZq+bWWMW2q
oJZSPPuy8zdm01UZ+huJjGxrNhRRBbcNY/FEAbEVMAw6g3vYp+Muzye6zOcr
2iAuKUTy5YbvKW08lxTxDUuACotYNp6VtxRQZ7eL4RwHunk04c1nD460XrpI
SlutzsbC1Ead2T+JlEId12yvJmqlynd/cf4HX0ik7O/2XormtTa2L95x76B3
JH3x2KZCXsgpl5P7tKQStl1sqHk3IwWQW7piuNgWxXrvHTMxNWLSJ+OBHQ1c
tcn0SVRiR2lzR6jYHaHr7gi6vAW92XTbmPwq+WxYDpopZrf8g+inM2A6EnB+
3dTuqa0dDNtyF0js/ELsK6bz7U6UBtSYdAck+EGu8gJZiF77KupCngGDRS8f
RprB2sY0H8ucwqrA1hiwT+wV+eJdNBx8RXT57B0Z3zcdSjnf2XmKtL2MboM1
pGT1rgEiut7sqNJbkbs/WiYSOFMLvAwwd7lsQRFwuM0SkN7Q5hPIjNqHNjYh
bAwohaPOA1RDqwpQPl/b0vj4wiZs6JDezSrvCwhcUZigzpT3Fv1ISt3Yi6Ao
pctqMRzC5E4F/SP0lHBDwEYhMcsghU7cRfp3knQpMlAzXlkEua5g8/Q9XfRn
vUWvr503sY9XwNo/Dg8GfQD1IsA/LHS1kC32vj3K4pjP6UZm5ytj3+jr66fK
uyrxz9DLmqAbodJS5w5cJqhq4/w0TEjHXofRVXgYUsaSFWqNuNDYMNrW8NsG
gyRHK1s4HF7+hxwgWBWTGN67xzI2n07priMR6pzoG+bJ4yEF4s7MQ3SrIotz
f4Me+Tw5ha4rt6y62kkDQpE6fVogGpPVuhBm67AxHlWqouGkJmk5lnZ7wRLs
K1HrQsqqt90mrcqQR+V79i5PQhvuNqsa2l1eiOequUy6GLSOUVv5R/TrOpRS
a09xaNusQ39uqZzQt2sO+40m4/Gq4AaqdGelL4Gu3d2GAQqa5aUsno//ppvh
4KABlPZquKiZNMJHI10SWT8385Qk9ptVSQLNu/9shw12gvnvVZCr1dKYtqef
rV1rWHeM3GOcGaSW9em8dhL42TcEnEhZLBZIz5xaFWIraL0qOZdAY6in8Uo9
wapmV/bE3SGIrtfxrMiz9O/CipfW3NqgtES5E5uvqwranLk8jjZXT72TsMTB
pXFqYCW3R6ejS62U9DjnBrqltUBJGW5Ja0G15rF8PVQq0eld5aIximq1KoK4
Uu0+M9vBwc7WlZLf8PKA9muOJJbXnhgIhqbenLVSUtZXIEXdD70Ny/+llt5y
L1ot4TaEO15SdOnMhnR18oTDEI1rJCRVuq2nYgMMeN/yNAdK0nZLBrPJlnsy
XKm74e497NwILoCMeCaVFhRgMuEZo4tcJJBbiz24KxNGIGveWzZC5/yuSGAx
RQtrc3dIs1KNLflFgGIPAu9O2nCC3Q3lsqJYFUFTskCHLjdYAP5Dbo9N958D
zvgSGbzM92/cytleccdXouvgSvSenzx0JXKphARqbBqJZQEU1/NB2Yxul8eO
EZS57nr6hxGIzNwBy3XrQe3d1cSjvip3jdmc2TgK1bgqL4xGUMjJu7GinvMB
inraKoROF8S99YsXKYqYW/s+xyaqnmEtOWwCHkzsJmQkb9hqxJ0kIW3onUVu
Fon48C3ITi1y7cdclxW8QKbG9mxrtk/bGmipmgbG2p/vcLO9eVdwecHmYLjk
8rZ341Kbu3FZ5R8VtLCdibP9ENMEf70pV5Ag+/kNuaJtcJUdhRkb8jZt4v3E
z1Tj4nDy4tpKD3cNBAKLj9UuCFft2N1AOchjb94ML4R83J/BSSQqAotjAFRk
Pizz0l8EH9wRoeTma+vyEjCD7uu1G3q9serRGubR2GTrjliI2M29/BXLgXrC
tT3hLfcPxC29XQclypcOdTm220FfLiMTBeVChzYvTIIXNpys4H+p+RmKfQTQ
toenUpnoThfSTl6G13OQ27mZUe5aJMWjay3t7OM7khojhhlaO2GienyrRAID
ejcDgS64kfmTKsD79mlbEuDjscKNcT45V1AQ4V1GEmOl6WZouQ5lYRIMFGBl
TnSbtapdj0Kl08SD/IUX4ghjFRZ+ljQWYNbuNoigaVx458HVpAZ5fGFb3bBp
P31wfF+/evFDkK0p39SP39nR6bEkZtLVg516wyjFUQJSsiZu8NpDvU0Xlypu
FJMX74MrbOd0aUTbKJEJoFxFLmlEXvmUtkq0nHpRjK/UDLrbtU1Wu6Nok4f1
9fVtwM3Dlj6eC9dzXblLHDrwV5wEjvxVxS28XNM4QYhrcOc6IcI75DKj0k7k
ObAVMhZGY0CM4w0p3I6whO0BzrgqiInybvgGX95Cqt32XkrpCV3lEd016LoQ
ReEudJBSN79GE6Kw9ZnVu2po4uZrzm0WXowFUhS1/CCNy7XUC26vD/auds8y
woor4guYSY9lPBGw5C+ILxxB4Hvaeiys+aRC95ZTLpBx8OUEbka8vEM3e9ap
xu44YSFojFFCFtd9ClwNNb2ESXA4oW/wYj72drmQJgUorzJy8ZNKLeibAkdY
FSKXgTOVFRX9jnP0V9Aci7Rk2wv4hxgcjb6WInjFxUYrHFGWTkUXXGDCRZrx
jW7sH+WWnq5Hp49hop/P/UHDEreWcjEV+ObqffaQA8rtEXnNLKSVcx6SePcc
rLahKNoDmaVlF70MOt+BcqDsVSe0fhEmUzS20cPLLTT49hfxMju/NmJcRRo6
CWG63TIdU0NeBxEStC0EHc/ynANr4q3Dq+MUYo0yg9Brx0ccHSnc9b9KbGZ/
FGkWekDpnVN1VF5JaRb5SsvK9eGy250XjduUFHuGxQgdJxmeiTtTyfWlaLMB
twC2qed5vkQqazgZ0cdGrsrw/i22c0FO0K0ewNCsXUoaQOr5KmUYf7ei41EP
z0tWdXAPcEotWu2tfJaTcfDHp/b4FpcExQK02rm94YgYCApNaqQ/5Yn9HK5Z
J7rl8pIHvyNd2vqlbW8Aa0bgYQ5cDXQ1oqarESVQ1DKNtWiPBoNTkg0cMcZY
MUZrCfnhsKpt2CweUF63OxFdaInHImWFg24Tss3/Eu9i13IHcokT+w5tdXzQ
fl0NXw3bkinIz3AR3uB4be5g2GIN5xXfoZJIew0gwjyZ1PIEANRiba3VncaA
OyA3eURtMzCAofx6VlXL8vzp04eHh16aZAn2Q3vqBUH5NAXjpRveLfkt6Mn/
CPyN+h/atU+jhJN/qH90g3/RH/g3vO1VEHg7ToP/h70YXBpWBEl1vEKrRTdX
qO0KO7JWcr7CpgQ+wY62N0S7ulvvIiAr1OqaKlKWiLcEmlPYB6ThevNbGlUx
/zKbaodUNKRfdLCt6jO31bJ0SkKSjY3rrh/Z20e2lxOQHt3hILurZYtjFP7s
TcbTd2PGK8rdbTmBzS74v+PGp+j3kIA8TAvGGcYpMTJvJjZ+x9TjGqXWhLbN
wUGlD4Mh6A93iSXah4RWGQYU2Ws3IuMyZ4lMSTUqWy1GWNOjYRmm1leZ75Gb
BAGDqylVKt9hJpW9WYia8z+3cJLykUqzfHfT3RyYGfzSxQw1TKvKKhdnIT9f
a1tnSe2ySMlBcGSYLq1s26fSIh7dUJR+T+VpLNHpRyPA4vqGbK5JGpeyeK3p
0AS8Va+89pVjsJi2wYZi0Mc+U/DuX3GlvtSEarCtfsxWjMsiwt+4ga6Eu1QU
7gK91NDtjjYJxaIYtoJSADCWZC8JomR7IUPvYfMz80/WQSIJ627zGptm05Vo
voTUF3J2IKVFLa+DlB7McCupG4nN2wgUIu3v7kM2pmyKSEK5VLhMm1A3N8l7
3mDrBn+YgTqWZ78SClpikIzi/kjsPgxL2oSVo0TBQZA+IQG/NDZRj68nVrP0
bkZhZpspT4NIhNfSOzNe3jukJtw7LByrciWNLXAXMSvAcF4Zr1uoMT41cV5O
v19PykGbQjwiAZe4RH8b0G/TvXVvYEYd6PpYDbOK3VTewpFOQTabO5sI/YSx
ausakntrpUQHXa4pGR64ecF0UeN3Ntl4vZjA5NCa2iwQzgWkKwFU5NmqJXSU
4ebZq4IXoOtSwkQAAIXV54QdEq1eg3es0l31GGR80AlVqwyO1iQd8xUDtuW0
zRN6+xb2dS/SGZne6dpQYZV4UwV7yEC9xf7WUTYJb1DL/ri+DHIjneSDSol7
lVduBkKWvaY3z3RkZWBmCnUzcEQTzPQCTlKUrvLIZa0Lg1wiLRfeVZ1mrKpw
gPoOjSv2wAYO3Y2LK7VLXMWx2BSC7Zso6dZVAlnVshujTKggSNqyh9RqOZhK
1hNTFRk0bjk1/oEnmOHwred58+2opD+0Yj24U5XsGbJehn5ukugbL9wltS+o
hqGzGN7Aq0JtuBmtrW8id06JZwfSmjCtBqK5njrFLf0172x4RapRcTAqdHrS
tvlbZVPx/0bTY62j3XH+IkoCcQkmbMLM0fjGqGparWyoFP0GylnpEjQpW08z
J81U1kKm9Gs6qHNqfOfprSXK9nu+CpfDJYDqZV4x1iiBEY+vvSCTiMFKu5DG
mcpkciFsopI3RXqf8K27LzH/r3trMkT0ZXAlN/lKKDuwW/GvOScy4g3CwXP+
bIgjpM7foqLQlFvdZJnN0AiiT8SSWu8oUJ7RIC+6S2yiCMZLrRQRdDMbEFHJ
yRU6eaAKoWlPRdfYw7Fq3jjecod2OCM3NG1udqSkOIYVgIG6TcSK1UNgvzPU
zLW4R1FZv69BUiWJEYSChrwd7D4in7iUarMiDVppylcoYbUHuqfIEp+YhJ2i
V2FguK2WwT/q2q6Htxr7RymC9DZLyQuJRPqWcyMDdWEXJZfUbB72B4NPn+CV
m1rHeqe6iZjZDcqHKdBF66ILdyd78P73oODaiFctArILG0xfIVLuCqcYSGwG
Xt+wPNeL6f/28gL4ohC+eGIIqOesK/v7dJzzBgvYTgcD1oCxco1UTS4pYGpS
mt1xE1wcRmv/E8BbNxFDbwqqBEVHZRCbp/6ArLDXrudi93jv3wLwLfmEKaKR
Sbk6BhvoFmF0Zb7XFLUQp8DTNOsWdE0Q+mVRQYdD7fZAFCgcI+zewPmpSexu
sxeqUIFcdofVJvLRGjzSIrVRAA+vSfIxt1W2cT2szw1vVMFUq6BkFASbQcck
rpe8Axdsh/E+2LrHepeGfFTmWARe6nqSHBwwrrWv37kh9h1t9XAyMVvy6Vx+
EmvarOfbMOo5UOqTWgO42jWeUXTVNRbD14bbWpYyIxXTuFaS2qFCMo4UrDJf
fdpoc8C1p5FKbqM2NERChSQEzJW4+rXv3SQ2nJiV5CbJ1h5JrhsaDSVZQx0p
+fCXA7tONFGnPthzzP1yczk8+tZZ5Jl+2ugh23yy3pJ7t61FR8c67VXcJcXd
2Y2FbdmEnCtwVO21ay1w1XPidt0uesf5136GliEa9yFLb0yElxP4PF1uMowD
0gopzojpiyQSN24L7Y45mzodkUyxJuo11TWOgkAtvWIWqV6hwkUZDm+XE7ZO
0ZUqXkEBmJhWM5QdnjWZbUOWD/KD4fh9lj/MzeTOiDZ4KzYMRo1Yc6ESAL5N
L3vPaSmGbE8rjq8ub78jlkQp2AoD+HjIOPgrWn9a0FGlLfYpZ/V8wJBHKfXT
jz/9yDmD4q+wbJwzukZr4mCX1LXgp3c/vQOEPZkUybTqpqaadh1EXXIEu+rR
UVp29/tPniB+r22uAt+plhdrmxhIxy5tOcQUMDoPsky/dgkRtFXO+yWWw4pj
0OvwDd/4UI550LMotd2pn9I5fMrnAykHO7kwcG4g1IwuxO3WZH7C84jZAxnb
LGxOuaJbv2DUenn+Z7NBQh9vRVAghHPV2u/velbAeRK0vL3gfcovTeaYW+qH
qjOGTp0x2dMkpSncUOibUHJYL5+vE5gVVGQWVBA3TkfpeIX7yTfy9te+O07K
PdMi1gsQA6suMEUpSDMmT4bYmZSx5gq8ZaPSsPUaDMOt0XfrsUsrtxmD3EM0
ELC0BRb0Z1c3OKHvWgb0gs09KKeSU4ealVeEtGxDIx9JnNpShfYN1aChWU7O
Asl59Jl2gbgoa1dk2tquLznK+3yUr7KUHGOouZP34/8AEZN9sFCuAAA=

-->

</rfc>

