<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dellaert-oauth-approval-based-dcr-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Approval-Based DCR">OAuth 2.0 Approval-Based Dynamic Client Registration</title>
    <seriesInfo name="Internet-Draft" value="draft-dellaert-oauth-approval-based-dcr-00"/>
    <author fullname="Philippe Dellaert">
      <organization>Amazon</organization>
      <address>
        <email>pdellaer@amazon.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="20"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>OAuth</keyword>
    <keyword>Dynamic Client Registration</keyword>
    <keyword>Approval</keyword>
    <keyword>DCR</keyword>
    <abstract>
      <?line 50?>

<t>This document specifies an extension to the OAuth 2.0 Dynamic Client Registration Protocol (<xref target="RFC7591"/>) that enables registration of a client with an authorization server through an explicit approval step performed by an approving party, typically the user running the client, without requiring the client to possess an Initial Access Token (IAT) beforehand. The client submits its desired metadata to the existing client registration endpoint and signals that it can accept a deferred, approval-based registration. When the authorization server requires approval, it defers completion of the registration and returns a 202 (Accepted) response carrying a registration code and a verification challenge. The client polls the same registration endpoint, presenting the registration code. The approving party, authenticated to the authorization server through a mechanism of the authorization server's choosing, responds to the verification challenge and approves or denies the registration. On approval, a subsequent poll returns a registered client identifier and, where applicable, a client secret.</t>
      <t>This extension preserves the authorization server operator's ability to require an authenticated, policy-controlled approval for every new client record, while removing the operational burden of issuing an Initial Access Token out of band.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://pdellaert.github.io/draft-dellaert-oauth-approval-based-dcr/draft-dellaert-oauth-approval-based-dcr.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-dellaert-oauth-approval-based-dcr/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Authorization Protocol Working Group mailing list (<eref target="mailto:oauth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/oauth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/pdellaert/draft-dellaert-oauth-approval-based-dcr"/>.</t>
    </note>
  </front>
  <middle>
    <?line 56?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The OAuth 2.0 Dynamic Client Registration Protocol (<xref target="RFC7591"/>) defines a registration endpoint at which a client presents desired metadata and receives a client identifier and, where applicable, a client secret. <xref target="RFC7591"/> supports two modes: open registration, in which any caller may register, and protected registration, in which the caller must present an Initial Access Token (IAT). <xref target="RFC7591"/> Section 3 deliberately leaves the method by which an IAT is obtained out of scope.</t>
      <t>In practice, open registration is unacceptable to many authorization server operators because it permits unbounded database growth, enables denial of service against the registration endpoint, and places no authenticated trust anchor at the root of each client record. Protected registration requires the client to obtain an IAT through some other channel.</t>
      <t>A growing class of clients, including command-line tools, agentic software, and native applications distributed at scale, cannot feasibly obtain an IAT through a manual out-of-band process. Their authorization servers also cannot accept open registration. No standardized in-band mechanism exists today for these clients to register with an authenticated approval checkpoint.</t>
      <t>Registration binds a specific client instance to the approving party who authorized it and gives the authorization server a per-instance record it can later manage and revoke (see <xref target="approver-association"/>, and <xref target="RFC7592"/> where supported). Making the client identifier self-describing, as the client identifier metadata document of <xref target="I-D.ietf-oauth-client-id-metadata-document"/> does, can remove the need for a stored registration record but does not by itself establish that per-instance binding; this extension targets deployments that require it.</t>
      <t>This document specifies a third approach. The client submits its desired metadata to the client registration endpoint defined in <xref target="RFC7591"/> and signals, in the request, that it is willing to accept a deferred, approval-based registration. When authorization server policy requires approval, the server defers completion of the registration and returns a 202 (Accepted) response that carries a registration code and a verification challenge, rather than a completed registration. The client polls the same registration endpoint for the result while an approving party (typically the user running the client), separately authenticated to the authorization server, responds to the verification challenge and approves or denies the request. On approval, the authorization server returns the completed registration in response to the next poll. This use of the registration endpoint's response to defer completion, and the requirement that the client signal its willingness before the server defers, follow the pattern of the deferred token response described in <xref target="I-D.gerber-oauth-deferred-token-response"/>.</t>
      <t>The approving party's identity and authentication mechanism are determined by authorization server policy and are not constrained by this specification. The protocol is the same regardless of who approves.</t>
      <t>The polling pattern and short-code presentation are inspired by the OAuth 2.0 Device Authorization Grant (<xref target="RFC8628"/>) but this extension is not a device flow. The outcome is a registered client, not an access token. The initiating party is a client application, which may or may not correspond to a discrete device and may or may not run on a headless device.</t>
      <t>This specification governs only the registration exchange. It does not constrain where or how the client's metadata is hosted, nor the form of the resulting <tt>client_id</tt> and <tt>client_secret</tt>. Where authorization server policy allows, the issued <tt>client_id</tt> <bcp14>MAY</bcp14> be an HTTPS URL; the client identifier metadata document mechanism of <xref target="I-D.ietf-oauth-client-id-metadata-document"/> is one such scheme, and its use with this extension is neither required nor precluded.</t>
      <section anchor="protocol-flow">
        <name>Protocol Flow</name>
        <figure anchor="fig-flow">
          <name>Approval-Based Dynamic Client Registration Flow</name>
          <artwork type="ascii-art" align="center"><![CDATA[
  +----------+                                   +---------------+
  |          |>---(A)-- Registration Request: -->|               |
  |          |          Client Metadata,         |               |
  |          |          registration_mode        |               |
  |          |                                   |               |
  |          |<---(B)-- 202 Accepted (pending) -<|               |
  |          |          Registration Code,       |               |
  |          |          Verification Code,       |               |
  |          |          Verification URI         |               |
  |          |                                   |               |
  |          |>---(C)-- Polling Request -------->|               |
  |          |<---(D)-- 202 Accepted (pending) -<|               |
  |          |                                   |               |
  |  Client  |       +-----------------+         | Authorization |
  |          |       |                 |>--(E)-->|     Server    |
  |          |       | Approving Party | Review  |               |
  |          |       |                 | +       |               |
  |          |       |                 | Approve |               |
  |          |       +-----------------+         |               |
  |          |                                   |               |
  |          |>---(F)-- Polling Request -------->|               |
  |          |<---(G)-- Registration Response --<|               |
  +----------+                                   +---------------+
]]></artwork>
        </figure>
        <t>The approval-based dynamic client registration flow illustrated in <xref target="fig-flow"/> includes the following steps. All requests are made to the client registration endpoint of <xref target="RFC7591"/>.</t>
        <dl>
          <dt>(A):</dt>
          <dd>
            <t>The client sends its desired client metadata to the registration endpoint, including <tt>registration_mode</tt> to signal that it can accept an approval-based registration.</t>
          </dd>
          <dt>(B):</dt>
          <dd>
            <t>Because approval is required, the authorization server defers the registration and returns a 202 (Accepted) response carrying a registration code, a verification code, and a verification URI.</t>
          </dd>
          <dt>(C):</dt>
          <dd>
            <t>The client polls the registration endpoint with the registration code.</t>
          </dd>
          <dt>(D):</dt>
          <dd>
            <t>The authorization server returns 202 (Accepted) until the approving party acts.</t>
          </dd>
          <dt>(E):</dt>
          <dd>
            <t>The approving party accesses the verification URI, authenticates to the authorization server, reviews the requested metadata or evaluates the client, and approves or denies.</t>
          </dd>
          <dt>(F):</dt>
          <dd>
            <t>After approval, the client polls the registration endpoint again with the registration code.</t>
          </dd>
          <dt>(G):</dt>
          <dd>
            <t>The authorization server returns the registration outcome.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</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?>

<t>This document uses the following terms as defined in <xref target="RFC6749"/>: "access token", "authorization code", "authorization endpoint", "authorization server", "client", "client identifier", "client secret", "resource owner", "scope". This document also uses the terms "client metadata" and "Initial Access Token" (IAT) as defined in <xref target="RFC7591"/>. The <tt>verification_uri</tt>, <tt>verification_uri_complete</tt>, <tt>expires_in</tt>, and <tt>interval</tt> fields are reused from <xref target="RFC8628"/> Section 3.2 with the same meaning. The <tt>registration_code</tt> and <tt>verification_code</tt> fields play the same protocol roles as the <tt>device_code</tt> and <tt>user_code</tt> fields of <xref target="RFC8628"/>, scoped to client registration.</t>
      <dl>
        <dt>Approving Party:</dt>
        <dd>
          <t>An entity authenticated to the authorization server that responds to the verification challenge and approves or denies the client's registration request. The authentication strength and trust model applied to the approving party are determined by authorization server policy. The approving party is deliberately distinct from the <xref target="RFC6749"/> "resource owner" and "end-user": this protocol approves the registration of a client, not access to a protected resource, and the approving party is not required to own or control any resource. The approving party's authenticated identity is bound to the resulting registration (see <xref target="approver-association"/>).</t>
        </dd>
        <dt>Verification Code:</dt>
        <dd>
          <t>A short, transcribable code that the approving party presents at the verification URI to identify a specific pending registration.</t>
        </dd>
        <dt>Verification URI:</dt>
        <dd>
          <t>A URL at which an approving party completes the approval interaction.</t>
        </dd>
        <dt>Registration Code:</dt>
        <dd>
          <t>A long, opaque, high-entropy code that the client uses to poll the client registration endpoint for the outcome of a deferred registration.</t>
        </dd>
      </dl>
    </section>
    <section anchor="protocol">
      <name>Protocol</name>
      <t>This extension operates at the client registration endpoint defined in <xref target="RFC7591"/> Section 3. All requests defined by this specification (registration, polling, and cancellation) <bcp14>MUST</bcp14> be sent to that endpoint.</t>
      <t>A client signals that it is willing to accept a deferred, approval-based registration through the <tt>registration_mode</tt> member of its registration request. When authorization server policy requires approval, the server defers the registration and returns a 202 (Accepted) response; the client then polls the same endpoint for the outcome.</t>
      <t>As required by <xref target="RFC7591"/> Section 3, the registration endpoint <bcp14>MUST</bcp14> be protected by a transport-layer security mechanism, and the use of TLS <bcp14>MUST</bcp14> follow the recommendations in <xref target="RFC9325"/>. The authorization server <bcp14>MUST NOT</bcp14> redirect requests for the registration endpoint to a URI whose scheme is not HTTPS. Clients <bcp14>MUST NOT</bcp14> follow redirects from the registration endpoint to non-HTTPS URIs.</t>
      <section anchor="registration-request">
        <name>Registration Request</name>
        <t>The client sends a client registration request as defined in <xref target="RFC7591"/> Section 3.1. To request the approval-based flow defined in this specification, the client additionally includes the following member:</t>
        <dl>
          <dt>registration_mode:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14> to request the approval-based flow defined in this specification; otherwise <bcp14>OPTIONAL</bcp14>. A JSON array of registration mode values the client is willing to accept, drawn from the "OAuth Client Registration Modes" registry (<xref target="modes-registry"/>). Including the value <tt>approval</tt> signals that the client is prepared to accept a deferred, approval-based registration and to poll for its outcome. The value <tt>immediate</tt>, denoting synchronous completion as in <xref target="RFC7591"/>, is accepted by every client and need not be listed. Values the authorization server does not recognize <bcp14>MUST</bcp14> be ignored.</t>
          </dd>
        </dl>
        <t>The authorization server <bcp14>MUST NOT</bcp14> defer a registration for a request whose <tt>registration_mode</tt> does not include <tt>approval</tt>. Including <tt>approval</tt> does not entitle the client to a deferred registration; the authorization server completes the request synchronously when its policy does not require approval. A registration request that omits <tt>registration_mode</tt>, or whose <tt>registration_mode</tt> does not include <tt>approval</tt>, is an ordinary <xref target="RFC7591"/> request: the authorization server either completes it synchronously or rejects it with a registration error, and never defers it. This preserves compatibility with clients that expect a synchronous response. An authorization server that does not support this extension ignores the <tt>registration_mode</tt> member and processes the request per <xref target="RFC7591"/>; a client detects the absence of support from the resulting synchronous response, or in advance from authorization server metadata (<xref target="discovery"/>).</t>
        <t>For example, the client makes the following request:</t>
        <sourcecode type="http-message"><![CDATA[
POST /register HTTP/1.1
Host: as.example.com
Content-Type: application/json

{
  "client_name": "Example Client",
  "redirect_uris": ["http://127.0.0.1:41337/callback"],
  "token_endpoint_auth_method": "client_secret_basic",
  "grant_types": ["authorization_code", "refresh_token"],
  "response_types": ["code"],
  "registration_mode": ["approval"]
}
]]></sourcecode>
      </section>
      <section anchor="registration-response">
        <name>Registration Response</name>
        <t>The authorization server applies its policy to the registration request. It returns one of two outcomes.</t>
        <section anchor="immediate-registration">
          <name>Immediate Registration</name>
          <t>If authorization server policy does not require approval for this request (for example, open registration or a request accompanied by an Initial Access Token per <xref target="RFC7591"/>), the authorization server completes the registration synchronously and responds as defined in <xref target="RFC7591"/> Section 3.2.1, with an HTTP 201 (Created) status code and the Client Information Response. No polling occurs. This is the ordinary <xref target="RFC7591"/> behavior and is unchanged by this specification.</t>
        </section>
        <section anchor="deferred-registration">
          <name>Deferred Registration</name>
          <t>If authorization server policy requires approval and the client's <tt>registration_mode</tt> includes <tt>approval</tt>, the authorization server defers the registration. A deferred registration has been accepted for processing but not yet completed. The authorization server creates a pending registration record and responds with an HTTP 202 (Accepted) status code (<xref target="RFC9110"/> Section 15.3.3), <tt>Content-Type: application/json</tt>, <tt>Cache-Control: no-store</tt>, and a JSON object (<xref target="RFC8259"/>) containing the following members:</t>
          <dl>
            <dt>registration_code:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. The long, opaque code the client uses to poll the registration endpoint for the outcome.</t>
            </dd>
            <dt>verification_code:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. The short, transcribable code presented to the approving party at the verification URI to identify a specific pending registration.</t>
            </dd>
            <dt>verification_uri:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. URL at which the approving party completes approval.</t>
            </dd>
            <dt>verification_uri_complete:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>. A verification URI that includes the <tt>verification_code</tt> (or other information with the same function as the <tt>verification_code</tt>), which is designed for non-textual transmission.</t>
            </dd>
            <dt>expires_in:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. Lifetime in seconds of the <tt>registration_code</tt> and the <tt>verification_code</tt>.</t>
            </dd>
            <dt>interval:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>. Minimum number of seconds the client <bcp14>MUST</bcp14> wait between polling requests. Defaults to 5. The client <bcp14>MUST</bcp14> retain this value for the lifetime of the <tt>registration_code</tt>, because subsequent 202 (Accepted) responses need not repeat it.</t>
            </dd>
          </dl>
          <t>For example, the authorization server responds:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 202 Accepted
Content-Type: application/json
Cache-Control: no-store

{
  "registration_code": "ZDY2NTFiYTg1N2I4NGFjYWY5N2ZmZGZhYmJiMTE0NjIyMTBjMzYyMwo",
  "verification_code": "FBWS-TRGI",
  "verification_uri": "https://as.example.com/register-verification",
  "verification_uri_complete":
    "https://as.example.com/register-verification?verification_code=FBWS-TRGI",
  "expires_in": 600,
  "interval": 5
}
]]></sourcecode>
        </section>
        <section anchor="registration-request-error-responses">
          <name>Registration Request Error Responses</name>
          <t>When a registration request is malformed or otherwise rejected before any pending registration is created, the authorization server returns an error response as defined in <xref target="RFC7591"/> Section 3.2.2: an HTTP 400 (Bad Request) status code, a <tt>Content-Type</tt> of <tt>application/json</tt>, a <tt>Cache-Control: no-store</tt> response header, and a JSON object with <tt>error</tt> and <bcp14>OPTIONAL</bcp14> <tt>error_description</tt> members. The error codes <tt>invalid_redirect_uri</tt>, <tt>invalid_client_metadata</tt>, <tt>invalid_software_statement</tt>, and <tt>unapproved_software_statement</tt> are used as defined in <xref target="RFC7591"/> Section 3.2.2.</t>
          <t>If authorization server policy requires approval but the client's <tt>registration_mode</tt> does not include <tt>approval</tt>, the authorization server cannot complete the registration synchronously and <bcp14>MUST NOT</bcp14> defer it (see <xref target="protocol"/>); it rejects the request with a registration error as described here, using <tt>invalid_client_metadata</tt> unless a more specific code applies.</t>
        </section>
      </section>
      <section anchor="registration-polling">
        <name>Registration Polling</name>
        <t>After receiving a 202 (Accepted) response, the client polls for the outcome by sending further requests to the same client registration endpoint. The polling pattern is adopted from <xref target="RFC8628"/> Section 3.4.</t>
        <t>Because this extension operates at the registration endpoint, whose success status is 201 (Created), a pending registration is conveyed with 202 (Accepted), a requirement to poll less frequently with 429 (Too Many Requests), and a failed registration with 400 (Bad Request).</t>
        <section anchor="polling-request">
          <name>Polling Request</name>
          <t>The client sends an HTTP POST to the registration endpoint. The request body <bcp14>MUST</bcp14> be a JSON object (<xref target="RFC8259"/>) and the <tt>Content-Type</tt> header <bcp14>MUST</bcp14> be <tt>application/json</tt>. The presence of a <tt>registration_code</tt> member distinguishes a polling request from a registration request.</t>
          <dl>
            <dt>registration_code:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. The value received in the deferred registration response.</t>
            </dd>
          </dl>
          <t>The <tt>registration_code</tt> is a bearer credential: presenting it is sufficient to poll for and complete the pending registration it identifies. It <bcp14>MUST</bcp14> be protected accordingly, both in transit (all requests use TLS, see <xref target="security"/>) and by the authorization server (see <xref target="registration-code-compromise"/>).</t>
          <t>For example, the client makes the following request:</t>
          <sourcecode type="http-message"><![CDATA[
POST /register HTTP/1.1
Host: as.example.com
Content-Type: application/json

{
  "registration_code": "ZDY2NTFiYTg1N2I4NGFjYWY5N2ZmZGZhYmJiMTE0NjIyMTBjMzYyMwo"
}
]]></sourcecode>
        </section>
        <section anchor="polling-pending">
          <name>Polling Response While Pending</name>
          <t>While the approving party has not yet completed the approval action, the authorization server responds to each poll with an HTTP 202 (Accepted) status code, indicating that the registration remains pending and the client <bcp14>SHOULD</bcp14> continue polling. Before each new polling request, the client <bcp14>MUST</bcp14> wait at least the number of seconds specified by the <tt>interval</tt> member of the deferred registration response, or 5 seconds if none was provided, and <bcp14>MUST</bcp14> respect any increase in the polling interval required by a 429 (Too Many Requests) response (see <xref target="polling-rate-limit"/>).</t>
          <t>The 202 (Accepted) response body <bcp14>MAY</bcp14> be empty. The client retains the <tt>registration_code</tt>, <tt>interval</tt>, and <tt>expires_in</tt> values from the deferred registration response; a 202 response need not repeat them.</t>
          <t>The following is a non-normative example of a 202 (Accepted) response while the client polls before approval has completed:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 202 Accepted
Cache-Control: no-store
]]></sourcecode>
        </section>
        <section anchor="polling-rate-limit">
          <name>Polling Rate Limiting</name>
          <t>When the authorization server requires the client to poll less frequently, it responds with an HTTP 429 (Too Many Requests) status code (<xref target="RFC6585"/> Section 4) and a <tt>Retry-After</tt> header (<xref target="RFC9110"/> Section 10.2.3) giving the minimum number of seconds the client <bcp14>MUST</bcp14> wait before its next poll. The client <bcp14>MUST</bcp14> increase its polling interval to at least the <tt>Retry-After</tt> value for this and all subsequent requests. A 429 response indicates that the registration remains pending; the client <bcp14>SHOULD</bcp14> continue polling. This response plays the role of the <tt>slow_down</tt> response of <xref target="RFC8628"/> Section 3.5.</t>
          <t>The following is a non-normative example of a 429 (Too Many Requests) response:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 429 Too Many Requests
Retry-After: 10
Cache-Control: no-store
]]></sourcecode>
        </section>
        <section anchor="polling-response-on-success">
          <name>Polling Response on Success</name>
          <t>Once the approving party has approved the registration, the next poll completes the registration. The authorization server responds with an HTTP 201 (Created) status code and a body identical in structure to the Client Information Response of <xref target="RFC7591"/> Section 3.2.1. Where the authorization server supports the registration management protocol of <xref target="RFC7592"/>, the response additionally includes the <tt>registration_access_token</tt> and <tt>registration_client_uri</tt> fields defined in <xref target="RFC7592"/> Section 3, as shown in the example below. The <tt>registration_code</tt> is consumed and <bcp14>MUST NOT</bcp14> be usable again.</t>
          <t>The following is a non-normative example response body:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 201 Created
Content-Type: application/json
Cache-Control: no-store

{
  "client_id": "ZmRkYTk0ZT",
  "client_secret": "ZmRhOTk3Y2VjZjM0NDI1YTM1OTE1N2E4ZmQ5OWJiNDVhZmMxY2EyOAo",
  "client_id_issued_at": 1779050000,
  "client_secret_expires_at": 1810586000,
  "registration_access_token": "reg-OGE4NGQwY2Q0YWJjOTY...",
  "registration_client_uri":
    "https://as.example.com/register/ZmRkYTk0ZT",
  "client_name": "Example Client",
  "redirect_uris": ["http://127.0.0.1:41337/callback"],
  "grant_types": ["authorization_code", "refresh_token"],
  "token_endpoint_auth_method": "client_secret_basic",
  "response_types": ["code"]
}
]]></sourcecode>
          <t>Subsequent management of the registered client, including retrieval, update, and deletion, is performed as defined in <xref target="RFC7592"/> using the <tt>registration_access_token</tt> and <tt>registration_client_uri</tt> returned above.</t>
        </section>
        <section anchor="errors">
          <name>Polling Error Responses</name>
          <t>When the registration cannot be completed, the authorization server returns an error response with an HTTP 400 (Bad Request) status code, a <tt>Content-Type</tt> of <tt>application/json</tt>, a <tt>Cache-Control: no-store</tt> response header, and a JSON object using the <tt>error</tt> and <bcp14>OPTIONAL</bcp14> <tt>error_description</tt> members of the error response defined in <xref target="RFC6749"/> Section 5.2, as also used by the registration error response of <xref target="RFC7591"/> Section 3.2.2. A 400 (Bad Request) response is terminal: the client <bcp14>MUST</bcp14> stop polling.</t>
          <t>The error codes <tt>access_denied</tt> and <tt>expired_token</tt> are adopted from <xref target="RFC8628"/> Section 3.5. The following error codes are defined for use when polling the registration endpoint under this specification:</t>
          <dl>
            <dt>access_denied:</dt>
            <dd>
              <t>The approving party denied the registration. The client <bcp14>MUST</bcp14> stop polling.</t>
            </dd>
            <dt>expired_token:</dt>
            <dd>
              <t>The <tt>registration_code</tt> has expired and the pending registration is no longer valid. The client <bcp14>MUST</bcp14> stop polling. The client <bcp14>MAY</bcp14> make a new registration request, but <bcp14>SHOULD</bcp14> wait for user interaction before doing so to avoid unnecessary polling.</t>
            </dd>
            <dt>invalid_registration:</dt>
            <dd>
              <t>The pending registration cannot be completed. The <tt>registration_code</tt> is unknown to the authorization server or has already been consumed. These conditions are deliberately not distinguished, to avoid leaking pending-registration state to unauthenticated callers. The client <bcp14>MUST</bcp14> stop polling. The client <bcp14>MAY</bcp14> make a new registration request, but <bcp14>SHOULD</bcp14> do so only in response to user action to avoid unnecessary polling.</t>
            </dd>
          </dl>
          <t>On encountering a connection timeout or other transient transport error, clients <bcp14>MUST</bcp14> reduce their polling frequency before retrying, following the same guidance as documented in <xref target="RFC8628"/> Section 3.5. The use of an exponential backoff algorithm, such as doubling the polling interval on each connection timeout, is <bcp14>RECOMMENDED</bcp14>.</t>
          <t>The following is a non-normative example of an <tt>invalid_registration</tt> response:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store

{
  "error": "invalid_registration",
  "error_description": "The pending registration cannot be completed."
}
]]></sourcecode>
        </section>
      </section>
      <section anchor="cancellation">
        <name>Cancellation</name>
        <t>A client that has initiated a deferred registration <bcp14>MAY</bcp14> cancel it before it is approved, for example when the user abandons the client. The client sends an HTTP POST to the registration endpoint with a JSON body containing the <tt>registration_code</tt> and a <tt>cancel_registration</tt> member set to <tt>true</tt>.</t>
        <dl>
          <dt>cancel_registration:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14> to request cancellation. Boolean. When <tt>true</tt>, the authorization server discards the pending registration identified by <tt>registration_code</tt>. A polling request omits this member (or sets it to <tt>false</tt>).</t>
          </dd>
        </dl>
        <t>Presenting the <tt>registration_code</tt> authorizes cancellation, just as it authorizes polling. On success, the authorization server discards the pending registration and responds with an HTTP 204 (No Content) status code. For a <tt>registration_code</tt> that is unknown or already consumed, including one consumed by a prior cancellation or completion, the authorization server responds with <tt>invalid_registration</tt> as defined in <xref target="errors"/> and does not disclose whether a matching pending registration exists.</t>
        <t>Cancellation by the client is distinct from denial by the approving party; either results in the pending registration no longer being completable.</t>
        <t>For example, the client cancels a pending registration:</t>
        <sourcecode type="http-message"><![CDATA[
POST /register HTTP/1.1
Host: as.example.com
Content-Type: application/json

{
  "registration_code": "ZDY2NTFiYTg1N2I4NGFjYWY5N2ZmZGZhYmJiMTE0NjIyMTBjMzYyMwo",
  "cancel_registration": true
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="approval">
      <name>Approval Interaction</name>
      <t>The approving party interaction described in Section 3.3 of <xref target="RFC8628"/> is applicable to the approval interaction of this protocol. The approving party is presented with the <tt>verification_uri</tt> and <tt>verification_code</tt> and asked to access the URI in a user agent of their choosing, such as a web browser or a native application capable of handling the URI. This can be on the same device, or on a different device. The authorization server <bcp14>MUST</bcp14> authenticate the approving party and <bcp14>MUST</bcp14> use a secure TLS-protected session. The approving party <bcp14>MUST</bcp14> provide the <tt>verification_code</tt> before the process can continue. The authorization server <bcp14>SHOULD</bcp14> present the approving party with a clear description of the action the client is trying to complete and request their approval or denial. The authorization server <bcp14>MUST</bcp14> present the approving party with the effective client metadata to be registered.</t>
      <t>In case <tt>verification_uri_complete</tt> is provided, clients <bcp14>MAY</bcp14> present this in a non-textual manner, including using a QR (Quick Response) code or NFC (Near Field Communication). The client <bcp14>SHOULD</bcp14> present the <tt>verification_uri</tt> and <bcp14>MUST</bcp14> present the <tt>verification_code</tt>. The authorization server <bcp14>SHOULD</bcp14> display the <tt>verification_code</tt> so the approving party is able to verify with the displayed code from the client. This flow does not change the authentication and approval requirements, it provides an approving party an optimization to not enter the code manually.</t>
      <t>This specification does not specify the mechanism by which the authorization server authenticates the approving party or the user agent through which approval is performed. The mechanism, authentication strength, and any additional policy applied to the approving party are determined by authorization server policy.</t>
      <section anchor="approver-association">
        <name>Approver Association</name>
        <t>A registration produced by this flow is associated with the specific authenticated approver who approved it. Authorization server implementations <bcp14>SHOULD</bcp14> retain this association so that the resulting client can later be managed or revoked through an approver-driven workflow. This specification does not define such a workflow; what is recorded, how the association is surfaced to the approver, and how revocation is exposed are determined by authorization server policy. Protocol-level management and revocation of a completed client registration remain as defined in <xref target="RFC7592"/>, using the <tt>registration_access_token</tt> and <tt>registration_client_uri</tt> returned in the polling response.</t>
      </section>
    </section>
    <section anchor="discovery">
      <name>Authorization Server Metadata</name>
      <t>This extension defines the following addition to the OAuth 2.0 Authorization Server Metadata (<xref target="RFC8414"/>) registry.</t>
      <dl>
        <dt>registration_modes_supported:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. JSON array listing the client registration modes supported at the authorization server's <tt>registration_endpoint</tt>. Values are registered in the "OAuth Client Registration Modes" registry established by this document (<xref target="modes-registry"/>). This document defines two values: <tt>immediate</tt>, indicating that a registration request may complete synchronously in the registration response as defined in <xref target="RFC7591"/>; and <tt>approval</tt>, indicating that the authorization server supports the deferred, approval-based flow defined in this specification. An authorization server supporting this specification <bcp14>MUST</bcp14> include <tt>approval</tt> in this array.</t>
        </dd>
      </dl>
      <t>A client discovers support for the approval-based flow by the presence of <tt>approval</tt> in <tt>registration_modes_supported</tt>. A client <bcp14>MAY</bcp14> also include <tt>registration_mode</tt> with the value <tt>approval</tt> in its registration request without prior discovery; if the authorization server does not support this extension it ignores the member and the registration is processed per <xref target="RFC7591"/>.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The Security Considerations of <xref target="RFC7591"/> Section 5 are applicable to this protocol, in particular the requirement that the registration endpoint be protected by a transport-layer security mechanism (<xref target="RFC7591"/> Section 3 and Section 5, with <xref target="RFC9325"/> for TLS configuration). Because this extension operates at the client registration endpoint, the general OAuth security recommendations of <xref target="RFC9700"/> also apply.</t>
      <section anchor="registration-endpoint-abuse">
        <name>Registration Endpoint Abuse</name>
        <t>The approval-based flow can be initiated without authentication. An attacker can submit a high volume of registration requests to exhaust the authorization server's pending-registration state or to mint many verification codes in the hope of a social engineering attack. The authorization server <bcp14>SHOULD</bcp14> apply rate-limiting to the registration endpoint.</t>
      </section>
      <section anchor="verification-code-phishing">
        <name>Verification Code Phishing</name>
        <t>An attacker can initiate a registration, obtain a verification code, and trick a victim into approving the attacker's registration under the victim's account. The attacker's client then receives client credentials associated with the victim's approval at the authorization server.</t>
        <t>This is the registration equivalent of the device phishing attack in <xref target="RFC8628"/> Section 5.4 and is not eliminated by this extension. To mitigate the risk, authorization servers <bcp14>MUST</bcp14> inform the approving party that they are registering a new client, including the client name, timestamp, and registration details. When the <tt>verification_uri_complete</tt> optimization is used, the authorization server <bcp14>MUST</bcp14> display the verification code for the approving party to verify the same code is shown by the client.</t>
        <t>The verification code <bcp14>SHOULD</bcp14> have a short lifetime and <bcp14>SHOULD</bcp14> be single-use to make it harder for an attacker to phish targets.</t>
      </section>
      <section anchor="verification-code-brute-forcing">
        <name>Verification Code Brute Forcing</name>
        <t>The verification code is short to allow human transcription. An attacker who can submit many verification codes against the verification URI could locate a pending registration not their own and attempt to trick another approving party into approving it. The authorization server <bcp14>MUST</bcp14> rate-limit verification code submission per source IP and per authenticated approver, <bcp14>MUST</bcp14> reject expired or already-consumed verification codes, and <bcp14>MUST</bcp14> require an explicit approval action (not auto-confirm on code entry). Guidance in <xref target="RFC8628"/> Section 5.1 applies directly.</t>
      </section>
      <section anchor="registration-code-compromise">
        <name>Registration Code Compromise</name>
        <t>The <tt>registration_code</tt> is a bearer credential: any party that possesses it can poll for and complete, or cancel, the pending registration it identifies. Unlike the <tt>device_code</tt> of <xref target="RFC8628"/>, which the client presents together with its <tt>client_id</tt> and, where applicable, client authentication, the <tt>registration_code</tt> is presented on its own, because the client is not yet registered and has no credentials; the <tt>registration_code</tt> is therefore the sole protection for the pending registration. An attacker who guesses, intercepts, or otherwise obtains a <tt>registration_code</tt> (for example through a TLS-terminating intermediary, a server log, or a brute-force attempt) can therefore complete the registration in place of the legitimate client, receiving the issued <tt>client_id</tt> and, where applicable, <tt>client_secret</tt>. Protection of the <tt>registration_code</tt> is essential.</t>
        <t>Accordingly, the authorization server <bcp14>MUST</bcp14> protect the registration endpoint with a transport-layer security mechanism (<xref target="RFC7591"/> Section 3, with <xref target="RFC9325"/> for TLS configuration). The <tt>registration_code</tt> <bcp14>MUST</bcp14> contain at least 128 bits of entropy (160 bits <bcp14>RECOMMENDED</bcp14>), drawn from a cryptographically secure random source per <xref target="RFC6749"/> Section 10.10, and <bcp14>MUST NOT</bcp14> be guessable. It <bcp14>SHOULD</bcp14> have a short lifetime, bounded by the <tt>expires_in</tt> returned in the deferred registration response, and <bcp14>MUST</bcp14> be single-use, becoming unusable once the registration is completed, denied, cancelled, or expired. The authorization server <bcp14>SHOULD</bcp14> store the <tt>registration_code</tt> in hashed form, so that read access to its pending-registration store does not yield a usable code, and <bcp14>SHOULD</bcp14> apply the brute-force mitigations recommended in <xref target="RFC8628"/> Section 5.2 to polling requests.</t>
        <t>Authorization servers <bcp14>MUST NOT</bcp14> treat possession of a <tt>registration_code</tt> as an authorization grant. It authorizes nothing beyond completing or cancelling the single pending registration it identifies.</t>
      </section>
      <section anchor="registration-cancellation">
        <name>Registration Cancellation</name>
        <t>Cancellation of a pending registration (<xref target="cancellation"/>) is authorized by presenting the <tt>registration_code</tt>, exactly as polling is. It therefore inherits the same protection requirements as the <tt>registration_code</tt> itself (<xref target="registration-code-compromise"/>). A cancellation request only discards pending registration state; it returns no credentials and discloses no information about whether a matching pending registration existed, returning <tt>invalid_registration</tt> for an unknown or already-consumed code exactly as a poll does.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>The privacy considerations of <xref target="RFC7591"/> Section 6 apply to client metadata exchanged through this protocol. In addition, the verification URI approval interaction surfaces client metadata to the approving party, and client authors <bcp14>SHOULD</bcp14> assume all metadata in the registration request may be visible to the approving party and to the authorization server operator.</t>
      <section anchor="approver-identity-linkability">
        <name>Approver Identity Linkability</name>
        <t>The authorization server learns, for every approved registration, which approver authenticated to approve it. Authorization server operators are therefore able to link a given approver to the set of clients that approver has registered. This linkage may be retained for audit, revocation, and management purposes (see <xref target="approver-association"/>). Authorization servers <bcp14>SHOULD</bcp14> apply the same retention and access-control policies to this linkage as they do to other authorization decisions made by the same approver.</t>
      </section>
      <section anchor="denied-and-expired-registrations">
        <name>Denied and Expired Registrations</name>
        <t>Authorization servers <bcp14>MAY</bcp14> retain records of denied or expired registration requests for security monitoring (for example, to detect repeated phishing attempts as in <xref target="RFC8628"/> Section 5.4). Such records may include the submitted client metadata, the approver who denied the request, and metadata about the approval session. Authorization servers <bcp14>SHOULD</bcp14> bound the retention of these records and <bcp14>SHOULD NOT</bcp14> use them for purposes beyond security operations.</t>
      </section>
      <section anchor="verification-uri-access-logs">
        <name>Verification URI Access Logs</name>
        <t>Access to the verification URI typically generates server-side logs containing the approver's IP address, user-agent, authentication context, and timestamp. These logs may be more sensitive than logs for ordinary authorization endpoints because they tie a specific human approver to a specific newly registered client. Authorization server operators <bcp14>SHOULD</bcp14> treat these logs accordingly.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="oauth-authorization-server-metadata">
        <name>OAuth Authorization Server Metadata</name>
        <t>IANA is requested to register the following entries in the "OAuth Authorization Server Metadata" registry established by <xref target="RFC8414"/>.</t>
        <section anchor="registration-modes-supported">
          <name>Registration Modes Supported</name>
          <dl>
            <dt>Metadata Name:</dt>
            <dd>
              <t>registration_modes_supported</t>
            </dd>
            <dt>Metadata Description:</dt>
            <dd>
              <t>JSON array containing a list of the client registration modes supported at the authorization server's registration endpoint.</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IESG</t>
            </dd>
            <dt>Specification Document(s):</dt>
            <dd>
              <t>This document</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="oauth-dynamic-client-registration-metadata">
        <name>OAuth Dynamic Client Registration Metadata</name>
        <t>IANA is requested to register the following entry in the "OAuth Dynamic Client Registration Metadata" registry established by <xref target="RFC7591"/>.</t>
        <section anchor="registration-mode">
          <name>Registration Mode</name>
          <dl>
            <dt>Client Metadata Name:</dt>
            <dd>
              <t>registration_mode</t>
            </dd>
            <dt>Client Metadata Description:</dt>
            <dd>
              <t>A JSON array of client registration mode values the client is willing to accept for this registration request.</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IESG</t>
            </dd>
            <dt>Specification Document(s):</dt>
            <dd>
              <t>This document</t>
            </dd>
          </dl>
          <t>The <tt>registration_code</tt>, <tt>verification_code</tt>, and <tt>cancel_registration</tt> members defined by this document are exchanged only within the flow defined here and are not registered as OAuth parameters, following the approach taken for the <tt>user_code</tt> and <tt>verification_uri</tt> fields of <xref target="RFC8628"/>.</t>
        </section>
      </section>
      <section anchor="modes-registry">
        <name>OAuth Client Registration Modes</name>
        <t>This document establishes the IANA "OAuth Client Registration Modes" registry. Client registration mode values, used in the <tt>registration_modes_supported</tt> authorization server metadata field, are registered with a Specification Required (<xref target="RFC8126"/>) after a two-week review period on the oauth-ext-review@ietf.org mailing list, on the advice of one or more Designated Experts. However, to allow for the allocation of values prior to publication, the Designated Experts may approve registration once they are satisfied that such a specification will be published, per <xref target="RFC7120"/>.</t>
        <t>Registration requests sent to the mailing list for review should use an appropriate subject (e.g., "Request to register client registration mode: example").</t>
        <t>Within the review period, the Designated Experts will either approve or deny the registration request, communicating this decision to the review list and IANA. Denials should include an explanation and, if applicable, suggestions as to how to make the request successful.</t>
        <t>IANA must only accept registry updates from the Designated Experts and should direct all requests for registration to the review mailing list.</t>
        <section anchor="registration-template">
          <name>Registration Template</name>
          <dl>
            <dt>Registration Mode Name:</dt>
            <dd>
              <t>The name requested (e.g., <tt>approval</tt>). This name is case sensitive. Names that match other registered names in a case-insensitive manner <bcp14>SHOULD NOT</bcp14> be accepted.</t>
            </dd>
            <dt>Registration Mode Description:</dt>
            <dd>
              <t>Brief description of the registration mode's behavior, including how and when the registration outcome is returned.</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>For Standards Track RFCs, list "IESG". For others, give the name of the responsible party.</t>
            </dd>
            <dt>Specification Document(s):</dt>
            <dd>
              <t>Reference to the document or documents that specify the registration mode, preferably including a URI that can be used to retrieve a copy.</t>
            </dd>
          </dl>
        </section>
        <section anchor="initial-registry-contents">
          <name>Initial Registry Contents</name>
          <section anchor="mode-immediate">
            <name>Immediate</name>
            <dl>
              <dt>Registration Mode Name:</dt>
              <dd>
                <t>immediate</t>
              </dd>
              <dt>Registration Mode Description:</dt>
              <dd>
                <t>The registration request may complete synchronously, with the Client Information Response returned directly in the registration response as defined in <xref target="RFC7591"/>.</t>
              </dd>
              <dt>Change Controller:</dt>
              <dd>
                <t>IESG</t>
              </dd>
              <dt>Specification Document(s):</dt>
              <dd>
                <t>This document</t>
              </dd>
            </dl>
          </section>
          <section anchor="mode-approval">
            <name>Approval</name>
            <dl>
              <dt>Registration Mode Name:</dt>
              <dd>
                <t>approval</t>
              </dd>
              <dt>Registration Mode Description:</dt>
              <dd>
                <t>The authorization server may defer the registration for approval by an approving party, returning a 202 (Accepted) response that the client polls to obtain the outcome, as defined in this document.</t>
              </dd>
              <dt>Change Controller:</dt>
              <dd>
                <t>IESG</t>
              </dd>
              <dt>Specification Document(s):</dt>
              <dd>
                <t>This document</t>
              </dd>
            </dl>
          </section>
        </section>
      </section>
      <section anchor="oauth-extensions-error-registry">
        <name>OAuth Extensions Error Registry</name>
        <t>IANA is requested to register the following entries in the "OAuth Extensions Error Registry" established by <xref target="RFC6749"/>.</t>
        <section anchor="invalid-registration">
          <name>Invalid Registration</name>
          <dl>
            <dt>Name:</dt>
            <dd>
              <t>invalid_registration</t>
            </dd>
            <dt>Usage Location:</dt>
            <dd>
              <t>client registration polling response, client registration cancellation response</t>
            </dd>
            <dt>Protocol Extension:</dt>
            <dd>
              <t>OAuth 2.0 Approval-Based Dynamic Client Registration</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IESG</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>This document</t>
            </dd>
          </dl>
          <t>The <tt>access_denied</tt> and <tt>expired_token</tt> error codes used when polling are defined by <xref target="RFC8628"/> and are not re-registered by this document.</t>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC6585">
          <front>
            <title>Additional HTTP Status Codes</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <date month="April" year="2012"/>
            <abstract>
              <t>This document specifies additional HyperText Transfer Protocol (HTTP) status codes for a variety of common situations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6585"/>
          <seriesInfo name="DOI" value="10.17487/RFC6585"/>
        </reference>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC7120">
          <front>
            <title>Early IANA Allocation of Standards Track Code Points</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <date month="January" year="2014"/>
            <abstract>
              <t>This memo describes the process for early allocation of code points by IANA from registries for which "Specification Required", "RFC Required", "IETF Review", or "Standards Action" policies apply. This process can be used to alleviate the problem where code point allocation is needed to facilitate desired or required implementation and deployment experience prior to publication of an RFC, which would normally trigger code point allocation. The procedures in this document are intended to apply only to IETF Stream documents.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="100"/>
          <seriesInfo name="RFC" value="7120"/>
          <seriesInfo name="DOI" value="10.17487/RFC7120"/>
        </reference>
        <reference anchor="RFC7591">
          <front>
            <title>OAuth 2.0 Dynamic Client Registration Protocol</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Machulak" initials="M." surname="Machulak"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <date month="July" year="2015"/>
            <abstract>
              <t>This specification defines mechanisms for dynamically registering OAuth 2.0 clients with authorization servers. Registration requests send a set of desired client metadata values to the authorization server. The resulting registration responses return a client identifier to use at the authorization server and the client metadata values registered for the client. The client can then use this registration information to communicate with the authorization server using the OAuth 2.0 protocol. This specification also defines a set of common client metadata fields and values for clients to use during registration.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7591"/>
          <seriesInfo name="DOI" value="10.17487/RFC7591"/>
        </reference>
        <reference anchor="RFC7592">
          <front>
            <title>OAuth 2.0 Dynamic Client Registration Management Protocol</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Machulak" initials="M." surname="Machulak"/>
            <date month="July" year="2015"/>
            <abstract>
              <t>This specification defines methods for management of OAuth 2.0 dynamic client registrations for use cases in which the properties of a registered client may need to be changed during the lifetime of the client. Not all authorization servers supporting dynamic client registration will support these management methods.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7592"/>
          <seriesInfo name="DOI" value="10.17487/RFC7592"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </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="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC8414">
          <front>
            <title>OAuth 2.0 Authorization Server Metadata</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8414"/>
          <seriesInfo name="DOI" value="10.17487/RFC8414"/>
        </reference>
        <reference anchor="RFC8628">
          <front>
            <title>OAuth 2.0 Device Authorization Grant</title>
            <author fullname="W. Denniss" initials="W." surname="Denniss"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>The OAuth 2.0 device authorization grant is designed for Internet- connected devices that either lack a browser to perform a user-agent- based authorization or are input constrained to the extent that requiring the user to input text in order to authenticate during the authorization flow is impractical. It enables OAuth clients on such devices (like smart TVs, media consoles, digital picture frames, and printers) to obtain user authorization to access protected resources by using a user agent on a separate device.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8628"/>
          <seriesInfo name="DOI" value="10.17487/RFC8628"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9325">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="November" year="2022"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
              <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="9325"/>
          <seriesInfo name="DOI" value="10.17487/RFC9325"/>
        </reference>
        <reference anchor="RFC9700">
          <front>
            <title>Best Current Practice for OAuth 2.0 Security</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="A. Labunets" initials="A." surname="Labunets"/>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <date month="January" year="2025"/>
            <abstract>
              <t>This document describes best current security practice for OAuth 2.0. It updates and extends the threat model and security advice given in RFCs 6749, 6750, and 6819 to incorporate practical experiences gathered since OAuth 2.0 was published and covers new threats relevant due to the broader application of OAuth 2.0. Further, it deprecates some modes of operation that are deemed less secure or even insecure.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="240"/>
          <seriesInfo name="RFC" value="9700"/>
          <seriesInfo name="DOI" value="10.17487/RFC9700"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-oauth-client-id-metadata-document">
          <front>
            <title>OAuth Client ID Metadata Document</title>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="Emelia Smith" initials="E." surname="Smith">
         </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   This specification defines a mechanism through which an OAuth client
   can identify itself to authorization servers, without prior dynamic
   client registration or other existing registration.  This is through
   the usage of a URL as a client_id in an OAuth flow, where the URL
   refers to a document containing the necessary client metadata,
   enabling the authorization server to fetch the metadata about the
   client as needed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-client-id-metadata-document-02"/>
        </reference>
        <reference anchor="I-D.gerber-oauth-deferred-token-response">
          <front>
            <title>Deferred Token Response</title>
            <author fullname="Frederik Krogsdal Jacobsen" initials="F. K." surname="Jacobsen">
              <organization>Idura</organization>
            </author>
            <author fullname="Guilherme de Oliveira Niero" initials="G." surname="de Oliveira Niero">
              <organization>Itaú</organization>
            </author>
            <author fullname="Maxwell Gerber" initials="M." surname="Gerber">
              <organization>Twilio</organization>
            </author>
            <date day="23" month="June" year="2026"/>
            <abstract>
              <t>   This document defines the Deferred Token Response (DTR) extension for
   OAuth 2.1.  In existing OAuth grants, the token endpoint either
   issues an access token or returns an error.  DTR establishes a
   generic asynchronous token request mechanism that any OAuth grant may
   plug into.  In DTR-aware flows, the authorization server returns a
   deferral_code and a polling interval, indicating that the final token
   response will be available at a later time.  The client retrieves the
   eventual response by polling the token endpoint, or by receiving a
   callback from the authorization server when one is configured.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gerber-oauth-deferred-token-response-00"/>
        </reference>
      </references>
    </references>
    <?line 573?>

<section numbered="false" anchor="use-cases">
      <name>Example Use Cases</name>
      <section numbered="false" anchor="minimal-registration-with-human-user-approval">
        <name>Minimal Registration with Human User Approval</name>
        <t>A client registers itself against an authorization server. The approving party is a human user who visits the verification URI in a browser tab already authenticated to the authorization server.</t>
        <ol spacing="normal" type="1"><li>
            <t>The client POSTs its metadata to the registration endpoint with <tt>registration_mode: ["approval"]</tt>.</t>
          </li>
          <li>
            <t>Because approval is required, the authorization server returns a 202 (Accepted) response with a <tt>registration_code</tt>, <tt>verification_code</tt>, and <tt>verification_uri</tt>.</t>
          </li>
          <li>
            <t>The client displays: "Visit https://as.example.com/register-verification and enter code FBWS-TRGI".</t>
          </li>
          <li>
            <t>The user visits the URI, enters the code, sees "Example Client wants to register. Approve?", and clicks Approve.</t>
          </li>
          <li>
            <t>The client's next poll to the registration endpoint returns <tt>client_id</tt> and <tt>client_secret</tt>.</t>
          </li>
        </ol>
      </section>
      <section numbered="false" anchor="registration-producing-a-url-client-identifier">
        <name>Registration Producing a URL Client Identifier</name>
        <t>A client registers against an authorization server whose policy issues an HTTPS URL as the <tt>client_id</tt>, which the authorization server later resolves as a client identifier metadata document (<xref target="I-D.ietf-oauth-client-id-metadata-document"/>). The approval-based flow is unchanged; only the form of the issued <tt>client_id</tt> differs.</t>
        <ol spacing="normal" type="1"><li>
            <t>The client POSTs its metadata to the registration endpoint with <tt>registration_mode: ["approval"]</tt>.</t>
          </li>
          <li>
            <t>The authorization server returns a 202 (Accepted) response with a <tt>registration_code</tt> and verification data. The client encodes <tt>verification_uri_complete</tt> as a QR code.</t>
          </li>
          <li>
            <t>The approving party scans the QR code, authenticates, reviews the client metadata, and approves.</t>
          </li>
          <li>
            <t>The client's next poll returns a Client Information Response whose <tt>client_id</tt> is an HTTPS URL.</t>
          </li>
        </ol>
      </section>
      <section numbered="false" anchor="high-assurance-approval-via-a-native-application">
        <name>High-Assurance Approval via a Native Application</name>
        <t>A command-line client on a shared workstation registers against an authorization server whose policy requires a high level of assurance for the approving party. Approval is completed in the authorization server operator's own mobile application rather than a web browser, allowing the operator to combine account authentication, application attestation, and a biometric check in the approval step.</t>
        <ol spacing="normal" type="1"><li>
            <t>The client POSTs its metadata to the registration endpoint with <tt>registration_mode: ["approval"]</tt>.</t>
          </li>
          <li>
            <t>The authorization server returns a 202 (Accepted) response with a <tt>registration_code</tt> and a <tt>verification_uri_complete</tt>. The client renders the <tt>verification_uri_complete</tt> as a QR code and displays the <tt>verification_code</tt> alongside it.</t>
          </li>
          <li>
            <t>The approving party opens the <tt>verification_uri_complete</tt> in the operator's mobile application, which handles the URI directly. The application verifies the approving party against their existing account, attests its own integrity to the authorization server, and requires a biometric confirmation.</t>
          </li>
          <li>
            <t>The application displays the client name and the metadata to be registered together with the <tt>verification_code</tt>, which the approving party checks against the code shown by the client, and the approving party approves.</t>
          </li>
          <li>
            <t>The client's next poll returns <tt>client_id</tt> and <tt>client_secret</tt>.</t>
          </li>
        </ol>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document draws structural inspiration and significant protocol mechanics from the OAuth 2.0 Device Authorization Grant (<xref target="RFC8628"/>) by William Denniss, John Bradley, Michael B. Jones, and Hannes Tschofenig. The polling pattern and verification code/URI presentation in this specification are direct adaptations of that work.</t>
      <t>The approach of deferring completion at an existing endpoint, rather than defining a new endpoint, follows the deferred token response described in <xref target="I-D.gerber-oauth-deferred-token-response"/>.</t>
      <t>This document extends the OAuth 2.0 Dynamic Client Registration Protocol (<xref target="RFC7591"/>) by Justin Richer (Editor), Michael B. Jones, John Bradley, Maciej Machulak, and Phil Hunt, and is intended to interoperate with the OAuth 2.0 Dynamic Client Registration Management Protocol (<xref target="RFC7592"/>) by Justin Richer (Editor), Michael B. Jones, John Bradley, and Maciej Machulak.</t>
      <t>The author thanks Jeff Lombardo and Ashay Raut for their review and feedback.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9192XLbWJbgO78CIz9YmiJpSbZzkSurSl5TGd5SltPh7KiQ
QAAkYYEAGwAtM52qb5lv6S/rs90NuAAp2zXRM+7oKCUI3OXcs293NBoN6rTO
kqPg9qvjVT0PDsf7wfFyWRYfw2z0MKySOHi8zsNFGgWPsjTJ6+A0maVVXYZ1
WuS3B+FkUiYf4fPmR49Obw+isE5mRbk+Cqo6HsRFBAPBVHEZTutRnGRZmJT1
qAhh4lGovp/g96M4Kkf7+4NqNVmkVQVT1eslfHry5OzpIF8tJkl5NIhh+KMB
TH53EJZJeBTsvEmiVZnW653BVVFezspitYSn75JJgJsryvQPWnbwuizqIiqy
ncHHJF/BIEGwzctBwKvYeQejp/kseIYf4fNFmGbwnLbyjzSpp+OinOEPYRnN
4Yd5XS+rozt38D18lH5Mxuq1O/jgzqQsrqrkDo1wB7+cpfV8NYFvlwpSd7YE
HH6dAWyq2ppZjzLmgcdpse142743ntcLgNJlsgboxwjUUUBYRX/1oBH9rhCI
X350OhiEdAw8znSVZYw9t1/P0yxdLpPgsSzoNrwRBADJMJczQ3xchH8gguJP
CR/PbQWDf4T04zgqFrcHg7woF/DVR0KD06ePDg8OfpQ/v7v/w3315/f31NPv
Dw731Z/3fzwwfx7Knz8cHH6n//z+nvrz8L4a4Yd7B/rpd4c/yJ8/HhyocX+8
e6gm/vH7fXg6SPOpvc6T0WNCIDmMiIA6SuPRIqlDIIxwBOS2WsBD9fYsKYFq
5P04mSZlCcdWF5dJPiqTalnkFYw8GI1GQTjBk4nqweBsnlaBGimolkmUTtOk
CsI8SD7VSY6UGdRFUM+TwDCQnqPW1BTsfv4sALy+3oMBwjpI8nCSweil/UEx
DcKA9xdcAeri3KFDoFVSfkxKGAKocTbntS2zNErrQCEpMKBkGSyTEoEI7Gmy
pmHoVyTkZVjW6yGSdxqFWbamDa1g4KBc5Tm+gQ94FUNaRrGqYZ3/uUpL91eE
xrKoqqQiKJ3kaZ3C/MdRhE/OENzB7snx2V4wSWAxyTzM43FwZr4nlldXAf5/
nFQpnFKgDlWBOvkE8MF55RsHYEkeL4sUnsLIQZXO8jCrGL4AkAi3DWtZws+B
woJh4BKzM944eDeHNeO0XrAzEBAnZIwhzkNDVwFQ2DJL1DniGM5ScYVlUq/K
HD4PDvcPg91jWlwS7wUKKWHNZbnG3Ybu11ERJzREGMBCADEjeT6HI0zyWeLA
dVlkBIckqICP+EE2DJYwK7ytzrQ1Hw/ZQhyEDH6GEi9Wp9SPpXCosNA8rRYK
NL73bwMM50VRwVxDgUhcqQn8u2aQ0ArhVIoSziJHmm3uZxy8yq1DCxHzKjhM
BSzrZPizBFFRoJnGuF3gBSVOByQxh19xNKA7JOKhIdoqiWCksTATwzYI1OVH
WZkXWAVQbFgXCIVwAly/XuPWBeMUI9BwH+Ky02g9ikBdKGEHSWwYANBakMCY
6yBPrgzdRCCpcPVphsBZ8KHienhqWAt8O1mVsF08JtBFVoSJHZSNXAFemyBR
My9dpHGcJYPBLfgAFhWvIpJ4g7Ov5ZhAYWmeVE2iMNRf47aiuTkIwW0PW2E6
jJL0Iw34xWccWCsEdFouixKmq6+KYAG0Ux0hVHNnvcAscrXOfB0g84XpFuFa
49yQVgenWCdR3eBN1tfEgeXrVaU328+D3QWD9kggvAsAytIJnn8CoiBLQoWk
ALB5QdJDLTmAYQArgmJSh3AcscKAKoKtAgqcIJ6DKE0jAFdr9/jlKmd+jBBF
7F4gHHqpoQLREYUgnZDRwjMSF6t8UqzyGFaAJ4psHFXaq3o+1GIV+QCAAVcH
A8KKgnAGiwZgtVidYYgE/CwEyAV50eRzJUI6zIFDlYhvNExREACSEODjkNmY
MLl9iEaCuFKUQapgrPhmVQDzLuDNEjlenicZQPmY9soCMYQjhvl5nAoxJMpW
Mf1WLAC48SiDg4IJigx+DWe0HRh2Wl+BFcEbzknPUqiOiwTo4YLTyQqXD3ut
ANngbZCnOWx4moRVOgFk8S86xFNdIexXoD5PRxNBacRHkihp6T1yIMasKtQk
IrdbWDQOXhag4MCYYRmnf8D60pynMCKGNAYUHDGQFvJCgGCloF0xV2V6c5Qs
c9aakUbzJLok5ADAO4xqkqJsCpWaGGk+kuPiokTLRVd6Ai0Veve4eNZcZmmv
aAgR80d6aEYxpeGg9YNcJA9FHIKNClQf7FZJAiQvwrEcAa4UUUrjXl/z0SuG
cAgMgRme8DFQScbBi/Cyoe5ZTLJKsilo1lUEaELyOqw63tSMV6vWgLGfP2+v
1MPi4iKpCP9YbiU0VZ4AAPF44RSAU7QpjaAESEyfB4hVwMyAf8DSAzAYgVGk
1Zy1RQe+eLawpwfwkyPE67CcJSRSllmxXjAy4ddKSKda8vvMCByuFOQChnFj
RbhX/2UJidTgsHlLLSb5wcwP9J4K2J3Sk2G9V2mW0WEXX6Yxe9GWNRSf0kya
Kb/0LZVn2hBq0GlbV9ioQIPKGRKrhVFylPa8otZ+b6hmKwaEq1xltahfbYMs
2N3KINsbAuDgAxbXW6vi30afJrxpqNI9thIfF63dC0tESHN2hRD1J4YrAho1
BvjJhxAKvLcrZwjCJguZmM+p1QMWElESnlgkxRRCxCeEkKPyxEZrG1mHcKZZ
VlzRL8uwBv6rsVYRTUDOBrM2YZWKQrd1Ulxfj1l9bmALbJtZbL3mIzOIgNAx
shDEPMxdo+KUiy+gh1RpKPgCeSUYFght9RnxQiXtLFJYKo09dSkBxHOWsHpC
Mk9wSraDJ8ybYegRn4Jl1SOiU1FohfaRs+bVkpjiZN30vySk3bluzGdlCMfK
NgQ6ndCGQEHQYOgpSwVkdTTIFA6VdwW6S4TKV+q1CIf8GXsXqorPmj9MSf+u
DVmnlpFh6VhD0apR+y/YCGCgl0KoxIpREUNjI1ErJEXH/QR4RIBQCuZJyCDn
d5Uocs4smKEuAFRZ5MJnXKr6hHiDzoQTS2pqTBAlASafC/bzxgAbtbCCGedF
RRZqLpwP/VCGiJELIngu+NvzNL6gban/ZvPqggRL2cFbFLoiFVbMg9BaTWJn
1BfH74GG8Zx+Pjt7/SZ4e/r8wdZKiuOxuKG6gjZSjsoUHHAFOuRCVG2yXYAZ
kNbpwcUkJQEkrComAAIpoE6foI1965YxkJ/C1geDf/3rX6B5RWk6AmQbBMFf
RvrfX4LN/6zX+RsY4k/z859/g2e7x3tg2jvK7ylLgqNgNPrbn40h/2wMYf4U
e/+FAGzoe2fDEDaynqOZffMhOv9tGuKvCIuHCAtUP5T2EeyChYLa4l4w+uv2
q3DA+Qg2Mmy/s2GI32wB/g2GeHt6sjUsgs3/Ng1BqPUIwflaZIFgVaCQcSNq
0Yk8/kYnctONCDbrn5ukZBPgnw3x1LGK9moQSrtP9jQs3jD7697InxJaQni+
JvnzJ8D1Y5pcbX2onlUEf+n47QZD8LqSbYfoB+dWQ/T92wo7n349dj7z8E7R
CEd+7PxqDg4iYfD5CLSmGuPCozAD5fannQiQNSl3AoqA/7SzfdibBM2OOL5+
2pmmsxGqSTvXtl6qTcNYBvLZqvhZAOr1ip4oTVgNiGKTvFdibbCKjZDHcFY1
Do7JS0+HUJFOuAjjZCvbmAS4tolBjoJIOxocOfZ3gqaRbX3LD00jvMNzaBxv
Fy0ZdYHfionhC03lvfY1rPYhrfah+EG1cyqttKbQY4aJff1vCEcNW6Y0P2zb
2CBacB+PmlA39rP/4ERP8oWmYLjHerhe+7OxtRWofJnXNRdGNZonwG/1uK03
UN0XBG3u0A2MVZusceTJjl1te3wofhNmKx7Iisb6zXNc9VNa9fEUnYGudb4l
sMk/vgHkz7YDeet7MadQhQ3OyBYtsmK2ZhZymawDTKKogp0Xb9+c7Qz5f4OX
r+jv0ye/vj05ffIY/37z8/Hz5/qPgbzx5udXb58/Nn+ZLx+9evHiycvH/DE8
DZxHgx2wEHYYqDuvXp+dvHp5/HyH3WS2Dw+ZDZzmBK07AO+yJE9GWA0co/7h
o9f/9X8O7gGr+V+SWAEsjf8DEyPYxSoOCbK++D8BVusBHFgSljgKmDRAdMu0
Jo9dWKFVfJUHaAoB9P73fyBk/nkU/HUSLQ/u/U0e4IadhwpmzkOCWftJ62MG
oueRZxoNTed5A9Lueo/fO/+t4G49/OvfKWoxOvjh738bNB2qq6olINC7USGs
mk5QzGO5vj4Kdmw7HVHBxV7E7vZTRRjtXxjb8TmTlvnLMimth2zR4gPgq8Wq
BDsezpRfodjZjji7DMZhJETvlPe305BIO4y3voDfjmRdeEAiMpBo+MJmYeer
Mr0Ytp+dK98d/ph8Qi9MdZ7mF4zIF0QRwGouAth0FrNkLpMVyrFpWSwCywdj
go7jQ8NoyGG0SEJ0dMq6HBEakQilyZy18XOZdZmFazOa9kmVBcYCJTRxwX4R
e0B0sroDKV2BVzzk2CY5YzwqBkbjXHWbeDDiDnvmbpApQWGEr3XRandMK+ZI
jlvFuC1PIbwEg1IQTMU4UWfJ2FdlrbopCm/iV/QmkqD+4sSeY8rziWrGG5zU
IuIW7TD2A5GO8BB3jphn65PXAGrLIpNjJX48xRwwzmZFbXk640H2rJ/8b8pb
g2FcYNUF+p8pJ4Oi/GocLwww18PBEe3UhcEpxm30TuU3czbTG+TbA/xseQkI
Q9nXCsKnDHMSYRSQJ9er9o03t6szKuT3pv6DKxX2t7YDo2KNNwmn6Xvgdb09
fW4lc7SDJIoZVdYSURVGLhRGMnTLucJjZwXGKYtlCNQwDObpbD5K8JyW68bO
hdKZ/xacH7TRyFBhHuU5JjTT0YDG5i0/3udbCmevW1lDnASRaJB/SQTQ8FzX
glKve137wa6beSLueqaFCIOkWUY/7QWkf0wwQsKZDJLcGKuo+bEbZDHZeV8T
ddTJBnVLXLDFtUgwbZqymOoubvhtApdfZlg5fmhkAM1YYhdeIUSN3Yen5z3s
YY+ir07M8Drk3swLMPg/AllKEX7OLzeecMMKJSp39vwNj2bFwzDsvgAlJpZU
EoWOmOWrFA8v0JUiCyPEsLeoNrhqQqi+/RDjRgZ0NS9gXexwV9yZPP9jcWxU
ZhJZsZqrMkKnc5K8yEcqkHBSsTve5xZnq8ZxLIRe0pX9datpFvEeAOQK/YXN
/IQ8yLtiDdMmascaDOM45Yw/kLwdjhcmoqPBoEVgyFCVjaGyFL94XQ84xekq
hcNT1gAwq+CXN69egp5RYrhr6kKOXP9oILuJVD6WMsQSDBDL+nx3OHboc3W9
wMS9HTXVGgOIlMs3Uk9QpgYn2tdDYhBXEVyoXV+4fM5dHIhQEGOsKtyQ4YWs
CpAsQnJAtqZYAtGUrCMF2otBAUB1HYRxQSpDtc4jYJh5sXISLcKqgW9DilYq
PzpwBU4iVSiDyWIJhaVq5B8ZBkXjcfCbOQe/B0rFEZE1zPL0j0SzIAAVJu6o
GHcvW+DQfsMPxek/Cv2YAfjkgV6DoLp1YPaBWseovyCFLEsaCXsdsv1BNxhc
1UUt2ToacQnQ0YoEskAnacCyPqQPLy8hrCsol8gDhyFqp18EJUYN1G4BUGHp
ip1SxQM7Ny+RTQODtLn1At1HH4gVp6r4ocGLy7KQDNk8sSRwWov5bJKscR74
SNKoaTCd/Uf6yaclCpjQoQwlm8dowXVbaRpIkivXCuQSTlebVBMrK7KBEqD0
2dB9YKQHGlxRLaQ2AdESkRhWC7FEmDIWfPsjJEBXU/yR0t3oM+9+tT8SGCFm
IqCJsWa74im6KD+FeJyOXFmEly05otCDw9VYpDVawLbDWTJ4/Qqo+45Ox0Tx
eudgfDD4uUB0CquxzIHlS4NHYFZh1P2MCtOsZIo7HypMM/88CJSX5Bzrp8Ao
3HnC3wu73xniK0roo3ujgpf+gwrHju7cOTj8frwP/3dwdO/g7t3v72A21iSM
Lnf+Sd+R++hcqQTnCLJzzpLGmZz0hXNg4WnE080wGeUcq+l4MgfU58r5VCZT
OKD5Ofuo/ikL5ROzPqbX1a8N3OLRhWJ3/jm4pliQR03hUXuYLhv/lc2KfPEP
rUqf1FrlxcQHzPW4KpR8YlXpVnCiRJNbDzc4mfZq4Z08UNRCCYMg5exObaxs
Z6A7wgLkHHKJPNUlUt7c+QY17vWEWpoc3prZ5XVsIoizZxvt73B8MNS5ykgk
YFccBLuPyiQks6Kqw5pku+Q44vyi4JyoWjrr5CmJWqVgFRHo+ZWwUEni8nL5
STIPP6YFsy5K5udkoa70MD71x0pMOjj4+ZZOeLPhdL0RG1o2md6v9n35mK7W
cG2JdtOYGQpdr9QP5iFmCya5UZ6mlLpD7B2BjMlniMPrpDbJkD3GUEQnW1Hm
d9t9onKbHTxqoIdjdtr4wVlxWH9podjB/fHd8V1A7ot+JotO4EchWFijR+zj
OoJtjSj9+kKF/khvLyYoy1UK3uH9HzEFD/1iYaozWpuWRtU0NaKGqcEAs/04
ynPT7bTZylsDuNryLbcn7naaiW+sx136TXxmTd+8u0THd+ZbhOFPWo1sj6n9
/Ti4bY61106OHNt09DnodwHSXMKSWpzI9f5PgZUoi6RjnD2VMJlyiH6WC5Gh
VV6D9oUVJ3QyUkMPWzPRChdQz9MpGEDoI0B6i4h6JD2xK/TQsaox1ipzAMQF
1wvA8sVqEXD5Ppch8UQWrpJpcxWmaE3VV4k4gSyNCbgysM8QdDnC6ftO8jl9
DVI3VEY1W4AKszO1ye6dDXVtlVUN2eGwqozpB0ZsQi48nxrYERdmHuXTAJXK
5+RwbVL1OliQqICtnaJ69vvj94cvz56m789mBy8PT+69fPb0w/t37++/PPx9
8fuz3+fvF7+kL86e7L/8cLJ+cfbww4s/3q9fXBWswrVOHkd8+vDdm9HZ6bMT
zztASDtWQwJXkdX67sj+xj+KJsedIyrvv9GQf2+t+6fGog2JwHK/29+nhwql
4dF9o0T6nV3BE7TKtGZRDQbsVvVbp4ClizCTunTFGMjxw7Yf6hKcdI+hE6/o
gyFYOPYlvWj/q1iNJqFlO23r8EhL0nv7+8HuwzBWG3aEKabAOBLzAsntwiM1
w265aRaHGdyqCNSVo8QvL2gvzJAUq5GH55yKsMQplYnJ1XYCAFxtheFaONc0
PrdNIJTp6rkYMcrws39SVYPnuH+qo1Ax4FUu8SfvSxQqpHjwlrAff4ESyMn9
G5TAXvdGt1bPBYmKDrfR7Rs+K2DwEqfToZ7rvQf4WHk8bPO/0/XB8FMZJ5gR
MgS4ktuq6/hAR6eKgDBYIFGZYkUyFNjI8ziyJedxMOB0Iq6W5iywDvHgyTRq
BsTASKiEoKerslaJ7gmXahploC/IJSUnjeIR9EzFBavd3SkH92CjKoeu7o+z
dST5SXxhxeahsIG0cm2xYZfOjoyryD8ma1gmnbELyqGYprpGSXRYOr9pydI5
E2fWvcMfg92zogheIJ8UzlTtKc4xDdOsaaLwd01mJkZaI8nVF8EQdkgOm75c
SD4ihcyTIl5rb2+faaCVLJebMkfUI7Q5qypCSrQ3LPQqceJ14xyD2Sqt5mxd
uQqX+ML8Xo6tjBNWwqS/QKxKLv1Wo3Y4Mrx9y6bqoUkCLJRsQjIVQNe0W3dw
KLVaTYGwUxtzpmKqO5zLj5pW4lJF3px2jBDdJegVmGVr0BtBcNPeUOFG9hba
oWWksLPnb7BSEZmeCiSqY5YSLi+zFT5pr44qwka4CTibFEvi/kf7H7+p8mlr
X4ZGRVt4R5Wkr+VAP98SXB7JEV+jKpZK4KJpCqLDouWPcHMqOJ1iC60eEY46
IBDWbemGwJTpmMBHzgAf4y2xlRUocQplXUdPIDmJ6FNI85WWCuPgIWuQtCTs
f9Kg8aHfBIMVZEkoMcy22abquDX6WplvJtlgM62T8/2+HjadogGbwBIod+kj
kGE8NDoEfkWBipyCtCBiqkTxFLUttQ4nKSDsEhFG2VQqiWANCsBRli7SmgkM
OVJXVjhzda6uSxbLeu0YpmyT+gIgYnUa0IkCaaUVqqiujmX0g/OBqCR6aU0r
FYZYyG4MQyCuio4D3Q5N8RIWIF37vtL05Gg6ymRRlIPEpYnqBjZvh1Hb5gDo
Q3+OR+USvnWEYob10K63DYlP4xiyourzMnbhWNvdiM3lLG3s3p5oKhenSV2u
R6Rnamnv91Dug2Vwdw9bZSj/4eKmThY6JoxpOFXm7quGzDj24dIYRn5tRuGu
3/bAULg0pnxuy7tiHDvHBD2NWsINk2o7ZvhgK054xsERmQJzZMXUKDLjF6qA
KM7j4iq3DFE3C9ZSou/fmJY28aFe+sCPW98OLJgfAV7cgHD0/vLgDavxg8Er
6tbSISOVYds6EJYiGo96Yj89Xv4u331faCdk7sv6WkS5j5jEu4rqVanLoXpi
P41qKDfIpIquO/mG6XPVRFBuQEOmi07CtaY6xOwSiU2LJ6YzA8kVGpyey3FR
Sdt2hQrbvOjIUEncHi/DoZsdpwsrRJgqlJ0kugVAhzqOxfArdF85hv4EXRwU
D6AymptQiSNVN0iLg0Dw4uscpLpGnnTTxenl+7PL/d/P2CXoxLHlhfmrs8u7
7w9/+/D7hxf7Lx+fHLw/e3Hw6uwJKLNP7v2++PX+q3e/pC8f/zb/ffHi0/vD
J+tXx4UzWhqfc4H+eYhjHnz//Y/79/f3xeHohs6VNsBv/nCwf/+H79SbnZiB
C4UfR6+ePQHt+ter94e/7r9/98uHV2fvx+PxTvtjgzZbelbvdADq35Fp8OUp
A1+Yo9CZaaAskDdGhlmU7nRmcRpkmIJImKlME8qeXS2xjTErfXGiOrRg5o5u
Vur3ESL1sqvr6/gD+4Vxmglw9Ybzo+HJBsWK3G6VrUy5VXHsGZxY/W2+yCft
6lT/I/zNFrBv6HRWONHYo780S7Pk++NDYsqq8EmbWR43aEtL8TqRUcFqgdKo
W1XAtSvoTGlqiwCmpVaimJM7TnTBOKq7Uc1LmGnFGg3RHtjsk5SInpET9jxc
YsNgQ52SOofMrShhd3gbmyOWnpwMEC/O4rsKXfnXDlWmB1QOFNTgPkGKupW8
rO36Lq9pXlDIHzZETu4Ni3B+BRMVHUIoe5Mrr1dvSKED0aDJTBBQl3ZRibId
4oKS6gqyAz4WaQyQzhMEKCbLGDiYMIuZUYHDu00PK+nVQlb5ZY7qS19NGbbp
IZIClQE0RspPUdoLDY713aB+kham0M2qx8IF2f5SZG5q22ABUXNA2YyTxEMM
i1TRVe5WN3HP0urfeIJxgadD5bWN5mJ0pHKaG07vFVJSVKzw/DnqAWDKhWgx
pk59T1VaA/tAyYBWFRQqVVXlnIovJ16xpZGWmoTFzI7WCsNQWq6p1Maqb1Wh
ETiHmFI2Q1MravHULvYi1RrcK7zI2YccoLpRTOFxNgPUqeeLITcsorFXE81h
WjYwMhpqeNoCCslyq/D3psZibgcozUkbidVvLAK7t7j916nIdIKoMvkWJLHz
pgzE129E4ZZ/N3hkVVWB6mEXWV1bVVTkHZhT5j41GkP+2eEjQ9rhYQLb+0GH
IGbtMLAyJlm41HPpPRhiV9Uit50pbsvKm8WFVFyTtAwyYRvZYF2pN6DJ8C4a
OCFe1yohz9UFmMCUj+N5t6taxYbxOHhYFMDVVENLHq8vRzCtorAUX5NfdKmQ
Cikznu2hjtIMQHHqPklu2SAmUFUJp8XjRqegIyUX6KJ97fZv9wJQtZqtnN0O
gw8rLjxCz7d5R7NgYIES5/wqEPQlKN4Ldl8WgRCpo+WOg6eUqevbECedGQGI
L4qAU7LNNj7Qt64tdvKLL0tMYbWBwRW7pmPk5oAHZ2P4WVXTgBEbglux6gwE
BF1WsEJHUgS7JtfR3JKpDTKinsZw6A6fECXZVBi5NdTSBFsF3Fwl70Gg281V
lGGm4gq+6Y0ONkmkvTTCCz0ePcE4hnJXFuv/g/E4tvvbHAbLz4FfaHauL3jB
Rvhaifx8S4UIrr1NPR2N0+ktYkT63aZvlrm5dKl300/dwmg2zKwa+c6qfJPN
qtM0260iOjsyEM+uLk2VW8UMAlNGsepEpMvM+A/S0rr3QekgYXCVTAK+Kajk
zP12p3JslUL7hoHwchGttGDHIXZ/Y6elCXl8tRrFfSAoEoc8CohmCvKTC2yo
c+aGIlVbqfVn+yrXIPVr4kpaComPTDwdL00x3uHGAPSxxAM7M2ut9rSSaU6b
VWGAnl2IsqyuDfBtQaR1lGFfGkvH0fd3iOLncB9WXalZhso5YAmgq0NT05xI
ta4Is03w3rhO8jfAGUaEH57OXRPbR8U3FUQY4+npdsKEoCKyWpMHncosJ60Y
o+0c5AX26S9tGcS+lDD49TTY/XWVRpfax7THbn0AxMunj0AcIqyfogsbxOJi
scplYXuO3uU5vA7qbAHPl8G8EUtApOjuKj40rPwZ78iXhCPRR9ZRyYhoEOL2
dajXKJnwMdcN6xa0VGmiRbPVwMR0QzEhcGrNTnFLOcHK10sCqxkBpxdq21Ti
TfWeCWeu0er4MoNs7W+na4oB6TFDybSO1ZdndOoUjZ5hHkBKGp3FNVXzA+mS
YfWD035UPla7ct/f9kV8f3gLhw7H6O6637IDDNk40gOyDI5NmxItFRvdS9Dm
cVSQJV0oY1UbcT9BLKDir2x5pTMdfRc7JKXdkjqmAtJj39pT5AWITCG7SIQi
7KR7a8lMCTp4q0owjS4kVzVMEnGhx1z0irc1xIF1o5eGR1wCP8uxOdqlak3d
jYGsdYr81N88gK2yxsw1Q8jMVPNme+2UQlZOw6h54Mo/PKduCR+LSL+PzgRK
671ZKyDV+WSUJR+TzI4mqMsrZApu1KOTk/wdFBZ0A0lX0GD4baMGjcwbK3/v
VgOBpFGr6nWM9W66frbV5kXdblQ7vhJFkO0r5/qnkrzKewf3MOFOdS5oZi9S
X4Nzfd2HW71idV7I2AFoC/pWJ4bKXBuiMmg7rvdyYaxcAxe6hwA3D9PBJIH3
DTo26Gs9LD6hu6r52zm4ndf0WVwVkop05DZVaKatdVQ6YHd2rQS5GeKpJ5S0
uT7hASOpXZDvSaDbHLTvbDexuVFHd2G8zMBLabEolVfTyLnXkxCm2a2CFK1U
prRdpKBvzWLe2jnA7iQXfZhPXhjL20wRKL1YTxWBljGtzh9p3tltSF+jyO4H
zQweYAZgt4NlU6uB2uk2YHUWaCEYa7PUbSBu1jQT/1LXyaJHpgKVqRSZ9/mW
zt9lo7XrxY5o3H2OhTVMVMsMpXtpUKVIo1UWqkY/nss6/G7FL2lk5NwuZ12F
hpDT65aCa6t5EWEh9jwCE2uazlal0s63LCvoq2xgvwmod/BJJrxeL7zZU0mB
Gq9LRc8SoixCeO2p5XiiAHU8Wemafw8ViZ1s3MoKY13NkXlAXYfRJdfGyNVF
eP9ECurLxyJbcdGhjww4V/jTPFxVvXKiJ6yEjKDA1L+ab49rdSDWjqw5wJ+V
CFJzMoD1DJibxHRoC5utHwJrYDIrxb7txEc+gVbXveA1oMaca2oa8FMQb0iS
ob5eravJcl2iLQk/p4CxC3T1FJaSTtCVeZoNIVV4OJFvb1PXHwx4CUDMd3aL
Mn1rolJpdUGCXwk3g+uc8u5TV/ZV6utRDNwAPrcyTuQ6lKVAVVbcFQm7P76n
mhaQhYcnmYe1pSNooqU2W3jOM+XcKdPqcthxY51INrrgxGcjKd61djQbdgeY
qzltZ4HFJzCxaEihNcD8xXIo+rEFlxgNkayybq3tc2g4xi5frdSXr0J7s43/
Fho2pLK1bW3za58bvZ+qrDvHby1RwvbwQoLz8CN50bD63pQ1E6/mF7D7IBam
JKNVJddKXlKkax6WiOhcCGOoDhOd53T1G1/o1kWzD8sV4MDTooyIcP2L5D2V
3BSKesrNV8CYdJeAZZtrovFpcc4uNmZfWNkqvgdqzeIgKyLmHB1Oe+VzQ5iT
oV/XmK9PHIy5R85BbI8n2mYmab3JR2c4pAdG5mZ7Uj2kj+vJa26C1PCCxJbh
KYFzSklS6SIm4jPSkZ029JwiCn2FbvuubPFj7lIj2FVdjEi2431FsnZYVrkG
Gf9Mxd47ecyBbpvDSX9ecUyI9UgXM4F61VvrdPPKMCqcNsxHrufmjluIdN7S
MPKFc1xj2BPQdMvE3uZZeinuaae1crOHsnVpbeNy3rqYcfiLZAY1LXNvhfJd
xKva0Tl6ybAzBOoENApW0YEeTPMD14etqqIsM5TcH1QwZYu8B30z4qas2+Mw
3160VASk4pveNh8tVjFb0QEOOZiDxSLV0C2eZ02h6giZ2l2RjJuJwhGSA1fr
/A6yc8s13ZDN1J0VsyGHXybIDkcwWJQoRrJHKGU2210kjTo+3qyrBHgGPwIf
R+6lhKApM8YXPPd5deBD6+Kw1wbSPW09UOpXFR8mGp92fWO/UJST3Jzr8MWW
yA1sjy7+QCuVFAtTs3Jw+EMwIQqYEmfD5se7B9/t80MrdWfP6ZsZAuKvl0Ct
ZQiSky+plKhWiVkiC8XTtWXZyO882B8f7Fs8WXLmCbUpiIxFp33yfhioK59V
/Z1dNNb00G2qwdPrcFQHYgnAdzFmk0s6f6GqQ9q13Drll7MlhyqpAP8kiiN5
tdnEoLSjbjSl7lJzzgHFHC1xMqMEtFqXU7WS32rixEXxJKwpvBSqagVjTTj2
Di7GJndRiMn41MZod+bZ/fGhqiZzutkAlXWr0YgSNVY3KJmlfcDexJZKXdts
hqOsecIkK6UFFRxcxCRZF0biUW6ITgPRSXaECtsIP49gt/IyGlkatAnvoED9
TqLX9R7JdXM/9GRtl3p34MgQuTvqGwgVna7HhdyGN6c5/JnWVo9pSyLZgTPd
hcmHjXx78u7mEm30qtlA0AlOObf658whL1TI0Jf+GJwz70peTqWRDBr60W4t
FU7Qa3GjvBqkWJ4qtbtpuIk9YkW0E4+MGsoKozkL7i9AxCdN38GMjZqeM7kR
VX6LtvKqfacItWiFu9Udniak1Mj6OMl1bGHoNy686SMSHqp88XWPESi94o2u
VpQ6gBZWCC+qjTT3hnq94saZPkF/At4733m1epj337HB7riibMQiT9SVC8/T
/DLklrE9rTExISKvJHGS2iPrOKLrvrGjsy0TR1tXSXf0Ua2XwyKGkJUXFcgc
3T8zihHqeVQrlYR8JU7XW/0OKrNWPgSHQHA4vEJegM1BTik9CFeAL0MrODeU
m2hNzd+qXBI1briRwrvVqi195BphzO9KVZSfhN1IXa5B8cRUXbRlbYDZFzYO
pSs5mA04s8ZJlFZEXnSH3MSaUq2bkeQx10Hg7E/E/LSZftUp0I7fqygxh12J
kKWqwugGHT7SaWGrikWeAhIgmrvtTem265r75C+pKNBxh6F6Xtktvts+MTiN
NxgtVkvEk1eRDwII+Ses2OtCX91qx4fJSHEqRiQvn1BE0TezZTuGY1KgenFC
rkGZ2+jAan2V6KVbGgzqEWLWLbgNp0JNUQE0aJnA8Bw9HiDkg9II9nkxq8hA
EF3LyzPN7e3sxEe/P+9khPwc7aiqmfKsIHi7ImdIHJeUcIupHiNK9WjlbeAA
ySeBrXYNqmoOmkPolxs+oVOTkqLoUnv6HUGi+7v6r7yqbNsYiCNN7OaU7N+y
GY71Y55cob+8WRC4kcXJ4bECWJvdWG1nSISeHL88bslPODuOmPRGxgcD+tj0
C2Y+rJNN3fA7WkepCSbsbDFBdxzaCsmPPb30KIoNtCghycFAB/NfAk/C2Hxf
BNN6/bFJ1MOvrDi+hXkhBfWVafz1Qf2uOMgjztmSCosMb5I4Ck6evHk2GLxx
4sOPJfi+W8n1glZA3jrcvktKv/yM140T3maWDQdtoqq+gwbAuBdhdx9y+9XG
ATcvyeg6zC3vyrA7arcF07c70g6fRfP2OXnIl8N3l4C07zJybm40+jDfupii
PciIYGc8sFsp53QmbiBjHICVoCAomnBW8LBq1mcRO8SqqDrEruHKw2ffMNdO
mLZ7FrhO07GF9515L8HnW418luZliQY7+eyJOLZPp1H35nQi1JBrdQWe/XkW
G64YIDAMmxlA4khzketUNTqSVKeDw++otxjffYqpO6OrJLkM+JJV9EmlRawy
wAtcxghk6Ih//kea1NNxUc5AcKZEDsgdh+r1MKZAI5wONbYvWa4+pg7EpHOB
XpiU2NDl5+IqoaCFDgTp8FiWWTltQoqcCIJeEqy1s53Y7cFJpit7wTkL5Z7i
AGMFD6sp62FhrVIB3WQcJHpKmlgJ2xpa6SAHh/uEe6devdRc8ZU4wKKNCrCr
OQWmKPFdlATYKbp5QZvkvn/JeDbG21lVVrjFnrv415FSe3ew7umdIWHniDvB
R3uWahcFRs4+9xSZa/U1MjnYKq9JGQ4mBYCmJyAgeSN9jclqQDeFwEKp1BJ/
CvNQmTRDzP6xXdnVajaDuck0CUnXpFxNiWhayrWqzpqu0HdNZL1YKe+KMHMt
o7jtgtVTywMiXL2sV27fclr68QlbUHIBYGODT+6dgTWCya8NzEJ2o6UfCoWc
rT4luQVVTIqVStej96i4o7KU3DGNJcYuuX3E+rMYSk5vUFoFfjxKc6Mjc+q+
bUdg00ppz9WkClp7Qxw/BI1x6quWaCH07Upfp2BH//G08SSuvP0mVCdVks/s
8O6SyViR9aaGocjLdlZicgQQODBswtUdlNk7XGdHIIIfZmwmyCHohZPLnNwu
5GUZb5D0pwmV0kTaS6NlERKc/C1HZOfMtyA0RMcnjAWEsbYgFJrW85KxRBKI
mAj1GUkoaXi5VpeOyJ0ep4oYpGiMrAbnUhIWpiOd63ndh6z6rS2w4qzPreXP
ER2aJJq+Vk467KECzl+YW/otlfVbVvGbgNSqeuuGqHppS4D6lYlwLS2XW0Ag
L5buFr321IPYLuDuFoDNW93k2sZCZWuRisF0OmwA3FFN/w320ROVw1TpVjaM
89/C8O0cfMdrAnH4T9Mg+dMb1/5oUvJ42weDt1gOGjwvVN+SI69u0MzEH3rf
asQh1O1H+gpWvTfKgjdp9ipL8iFlSfYYhr1nqTlilyG0RTsZuy0M8TunD4zd
KEY7G9jb5xo0I0sQNm0lOKvRaERdIdDPorpZvQWcfxRyOySYeYRCs7oefD7i
potJ/NMOFaTvXBMm0r0Xht0qlRMg+jN5jd5iFZMCrH+UY/cM+YY3ijqphKhW
4E8yCLvqWUNxWVEJFTorMZAggbCWH49UA1V2Coity8u3vswbIHngVOxhUTPf
pdWMmfRkD7SNKfd2r4vx4NBkHttFYKoP7Da9qLpbnbLhdUMrvWXdjgd3HVBI
PmF1FOz8hocQ3OQ6C5qDy/Mo0mbushgP7ulWJ6V9vHCiQ/5EnB+kWVQJ4HOj
YVtwFXJGksa7sYoR/X1HB7Oiy0o9HQ+c+1huW11F+49XAb+R2tLKY/H05acS
OKUGPde6gYpLl1tT1AZSklb3UghIqTi61ccbvmhIYsRmD8NNpY5c/Yb3oWeY
RBxa1+LqyLrlELDLdk5Gj8dop4/YeuevRmk8Um+P1NtS0uPPcbcvLXvAthLL
Psz3m3alHXF5ePV/k6w7NZyvIVxCMoeecM3OlrDtEbU460kjpnP79ZQ7dSjy
bnLdCmQuY4i86UQy0HHElqPjkjThJVPUi5Hze510ZsDRpybLhafWkaYuNjOp
/Yw3wh/D+ZeU56m12I9pGKCTlmzEY9N8oJPYigVIm3iUYTmmbA2ZF9jXdPkv
lmZWtdJGvogizQUoXHXBpZSYZ6KX35GbPTb7spOYlLbXGzi/TYmTYJ1NsA22
3YYBfqZWWBhkcho3DNkVprykaiRpETBBCEnlQSuf0x4f45kCMtWtcJKCio1J
zEE0Tzj13w0u1sny/w+SDfvIsdF5HQs7fHeodZOwSqYx3aG9TT2w+wvFMfHa
rw6ixws3N0+ujCSDVG2EUrKEenokpn+ITqxW82sM4Qk7SuitTPq05JQfEqKM
eUNBr0qlBlPay4xCxD1qnqrH0JRoYSTnkNPbmn3Zq3XgbZV76Nq9zuYVjZTp
jvMa9t0CiOTiVhdwkn67MmOo19OCqGbO3UrQDfSc4DjCrKosiWfkH/Kz1kal
bhleVbr1NSUrVWA0GU0RfZwEF7sltWTeRpY31Fh8j7mqyA3yPsOsQhVqIKtq
D6H0DoNn4QKdvXmKUftfinkePCxDQNj1EAwhmAd48sMx/JCreoSf0cNYBWdV
NC+mYO/N/BcatQQ1HtAdJABJBuSn3iJdtgbFhRuHS9W7gPQbvB4SpM/YKgPE
mBXlpmDGrNXaidkuO62FXkytos3vyfI0JU3mJXYpuFXHARm0hvU5XY5Yz5sl
JRy8aHr6llj6bqS+I9dCI9SFRrz0IrNOtCeaq+1/OwebzvaXFW44OIUzxAZs
T2LMwNnzHWrj0MMoTT7g/8xXWXjJZ/56nmZg/Spqop4xNafPYt4u2iZSKGpI
ersNvDDpV+29HH7lXihF2t3P2E6Lo8MHPvJLMp0Gz0GWh2Vc0FfHoOesg1N4
TSkhqQ4P4e/TJInRzTAe/DdyPXV1k7MAAA==

-->

</rfc>
