<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.3.11) -->


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

]>


<rfc ipr="trust200902" docName="draft-rehfeld-apix-services-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="APIX Services">APIX Services Profile: Discovery Infrastructure for Web API and Bot Services</title>

    <author initials="C." surname="Rehfeld" fullname="Carsten Rehfeld">
      <organization></organization>
      <address>
        <email>carsten@botstandards.org</email>
      </address>
    </author>

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

    
    
    

    <abstract>


<?line 67?>

<t>This document defines the APIX Services Profile: an extension to the
APIX Core Infrastructure specification that enables discovery and
automated verification of web API and bot-consumable services. It
specifies the APM field set for API services, the APIX Spider
verification protocol, liveness monitoring configuration, search and
filter query semantics, and the service record schemas (Level 1 summary
and Level 2 full record) returned to consuming agents. Autonomous agents
that implement this profile can discover API services globally from a
single entry point, evaluate their trust posture without any out-of-band
knowledge, and select services that satisfy their own Trust Policy.</t>



    </abstract>



  </front>

  <middle>


<?line 80?>

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

<t>The APIX Core Infrastructure <xref target="APIX-CORE"/> defines the common foundation
for agent-oriented service discovery: the governance model, trust model
dimensions, commercial onboarding, sanctions compliance, and the base
Index API. That document is the authoritative reference for all concepts
and normative requirements shared across service types.</t>

<t>This document extends APIX Core for web API and bot-consumable services:
services that expose a stable HTTPS endpoint, publish a machine-readable
specification document, and are verifiable by an automated crawler. These
are the primary service type for which APIX was originally conceived. The
defining characteristics of an API service, as distinct from an IoT device
service, are:</t>

<t><list style="symbols">
  <t>A stable, publicly accessible <spanx style="verb">entry_point</spanx> URL.</t>
  <t>A machine-readable specification at a public <spanx style="verb">spec.url</spanx> (OpenAPI,
MCP, AsyncAPI, or GraphQL SDL).</t>
  <t>Liveness maintained by Spider health checks, not device presence signals.</t>
  <t>No instance layer: the service is the service; there is no per-physical-unit
record.</t>
</list></t>

<t>Implementors MUST satisfy all normative requirements in <xref target="APIX-CORE"/>
before applying the additional requirements in this document.</t>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" 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>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The following terms are defined in <xref target="APIX-CORE"/> and used here without
redefinition: APIX, APM, APIX Manifest, service_id, trust model,
organisation trust level (O-0 through O-5), service verification level
(S-0 through S-4), liveness, commercial contract, sanctions screening.</t>

<t>Additional terms defined in this document:</t>

<t><strong>API Service</strong> — A service registered with <spanx style="verb">spec.type</spanx> set to a
web-protocol value (openapi, mcp, asyncapi, graphql). Has a stable
<spanx style="verb">entry_point</spanx> URL and a machine-readable spec document. Verified by
the APIX Spider.</t>

<t><strong>APIX Spider</strong> — The automated crawler component that verifies API
service registrations by fetching health endpoints and specification
documents, comparing them against registered snapshots, and updating
service verification levels.</t>

<t><strong>Registered Spec Snapshot</strong> — The machine-readable specification
document fetched and stored by the Spider at first registration, or at
each APM update that increments <spanx style="verb">api_version</spanx>. The snapshot is the
reference for structural consistency checks on subsequent Spider runs.</t>

<t><strong>Liveness Monitoring Configuration</strong> — The per-service setting that
determines how frequently the Spider rechecks a service's health
endpoint and specification document.</t>

<t><strong>Liveness</strong> — Defined in <xref target="APIX-CORE"/> Section 2. For API services,
liveness is measured by the APIX Spider via periodic HTTPS health checks
against <spanx style="verb">{entry_point}/health</spanx>. The Spider records response availability,
response time, and uptime percentage. Device service liveness uses a
different mechanism (see <xref target="APIX-IOT"/>).</t>

<t><strong>Service Record</strong> — The APIX-maintained record for an API service,
combining the APM submitted by the Service Owner with Spider-verified
trust metadata. Available at two granularity levels: Level 1 (summary,
returned in search results) and Level 2 (full record, returned on
detail fetch).</t>

<t><strong>Lifecycle Stage</strong> — The current development and support status of a
service: <spanx style="verb">experimental</spanx>, <spanx style="verb">beta</spanx>, <spanx style="verb">stable</spanx>, <spanx style="verb">deprecated</spanx>, or <spanx style="verb">sunset</spanx>.</t>

<t><strong>spec_consistency</strong> — A Spider-maintained field with three values:
<spanx style="verb">consistent</spanx> (spec matches snapshot), <spanx style="verb">mismatch</spanx> (spec changed without
APM version update), <spanx style="verb">unreachable</spanx> (spec URL not fetchable or parseable).</t>

<t><strong>Accredited Verifier</strong> — An organisation accredited by the governing
body to perform O-4 and O-5 organisation trust assessments.</t>

</section>
<section anchor="apm-for-api-services"><name>APM for API Services</name>

<section anchor="required-fields"><name>Required Fields</name>

<t>The APIX Manifest for an API service extends the base APM format defined
in <xref target="APIX-CORE"/>. The following complete schema applies to all services
with <spanx style="verb">spec.type</spanx> in the Protocol Type Registry (Section 4):</t>

<figure><artwork><![CDATA[
{
  "apm_version": "1.0",
  "service_id": "unique stable ID -- UUID v4 or APIX-issued",
  "name": "human-readable service name",
  "description": "machine-parseable capability summary",
  "language": ["en"],
  "api_version": "semantic version string -- e.g. 2.1.0",
  "lifecycle_stage": "experimental|beta|stable|deprecated|sunset",
  "supersedes": "service_id this entry supersedes -- OPTIONAL",
  "owner": {
    "organisation_name": "legal entity name",
    "jurisdiction": "ISO 3166-1 alpha-2 country code",
    "registration_number": "reg. number -- required for O-2+",
    "contacts": {
      "operations": "email -- incident and spec-failure alerts",
      "escalation": "email -- Cluster 3 escalation; OPTIONAL"
    }
  },
  "spec": {
    "type": "value from protocols registry",
    "url": "URL to the machine-readable specification document",
    "version": "spec version string"
  },
  "capabilities": [
    "term from capabilities registry",
    "term from capabilities registry"
  ],
  "entry_point": "base URL of the service",
  "trust": {
    "organisation_level": "O-0 to O-5 -- set by index only",
    "service_level": "S-0 to S-4 -- set by index only",
    "spec_consistency": "null|consistent|mismatch|unreachable",
    "spec_fetch_consecutive_failures": 0,
    "next_spider_run_at": "ISO 8601 timestamp -- next Spider run",
    "liveness": {
      "last_ping_at": "ISO 8601 timestamp",
      "ping_interval_seconds": 300,
      "uptime_30d_percent": 99.9,
      "avg_response_ms": 142.0
    }
  },
  "last_verified_against_target": "ISO 8601 -- OPTIONAL",
  "notifications": {
    "supported": true,
    "channels": [
      {
        "type": "value from notification-channels registry",
        "registration_url": "URL to register a subscription",
        "events": ["event-type"],
        "spec_url": "URL to event schema -- OPTIONAL"
      }
    ]
  },
  "legal": {
    "terms_of_service_url": "URL",
    "privacy_policy_url": "URL",
    "data_processing_agreement_url": "URL -- required for O-3+",
    "gdpr_applicable": true,
    "jurisdiction_flags": ["ISO 3166-1 alpha-2 country code"]
  },
  "authentication": {
    "methods": ["oauth2 | api_key | bearer | mtls | none"],
    "oauth2_discovery_url": "URL to OAuth2 discovery endpoint"
  },
  "pricing": {
    "model": "free | freemium | paid | enterprise | dynamic",
    "pricing_url": "URL to human-readable pricing page -- OPTIONAL",
    "pricing_endpoint": "machine-readable price endpoint -- dynamic"
  },
  "standard_warnings": [
    {
      "field": "APM field path",
      "value": "the deprecated value in use",
      "registry_status": "deprecated",
      "deprecated_in_apix_version": "version string",
      "sunset_date": "ISO 8601 date",
      "replacement": "replacement value",
      "message": "human-readable warning"
    }
  ],
  "custom": [
    "com.example.coverage_polygon",
    "com.example.seasonal_availability"
  ]
}
]]></artwork></figure>

<t><strong>Field notes:</strong></t>

<t><spanx style="verb">last_verified_against_target</spanx> is OPTIONAL and self-reported: it records the
freshness of this service's content against the external target it describes
(primarily for meta/description services, capability <spanx style="verb">meta.api-spec</spanx>). The
index validates the timestamp format only, not its truthfulness.</t>

<t><spanx style="verb">owner.contacts.operations</spanx> MUST be provided. It is the primary notification
address for all automated Spider alerts: spec fetch failures at Cluster 2
entry, liveness degradation, and recovery confirmations. This address
SHOULD reach the team responsible for keeping the service registration
current.</t>

<t><spanx style="verb">owner.contacts.escalation</spanx> is OPTIONAL but RECOMMENDED. It is the
escalation address sent to when failures reach Cluster 3 — indicating
a persistent problem that has not been resolved through the Cluster 1
and Cluster 2 retry windows and likely requires management attention or
a deliberate APM configuration update. This address SHOULD reach a team
lead, service owner, or on-call manager. It MUST NOT be identical to
<spanx style="verb">operations</spanx> — if the same person handles both, the escalation path
provides no additional coverage.</t>

<t><spanx style="verb">api_version</spanx> MUST follow Semantic Versioning 2.0.0. It describes
the version of the service's own API, not the APM format version.</t>

<t>Each <spanx style="verb">api_version</spanx> value is bound to exactly one registered spec snapshot
and carries an immutable field structure definition. The schema associated
with a published <spanx style="verb">api_version</spanx> MUST NOT change after first publication:</t>

<t><list style="symbols">
  <t>Adding a field requires a new minor version (e.g., <spanx style="verb">2.3.0</spanx> → <spanx style="verb">2.4.0</spanx>).</t>
  <t>Removing a field, changing a field type, or making any other breaking
change requires a new major version (e.g., <spanx style="verb">2.4.0</spanx> → <spanx style="verb">3.0.0</spanx>).</t>
</list></t>

<t>This is not a convention — it is a hard invariant enforced by the snapshot
model. A consuming agent that targets <spanx style="verb">v2.4</spanx> receives a permanent contract:
every service matching that version will expose exactly the fields defined
for <spanx style="verb">v2.4</spanx>, no more and no less, for the lifetime of that registration.
Service Owners are therefore free to drop outdated fields at a major version
boundary without deprecation gymnastics — the major bump is the explicit,
sufficient notice to consumers.</t>

<t>A Service Owner who modifies the live spec document at <spanx style="verb">spec.url</spanx> without
submitting an APM update with a new <spanx style="verb">api_version</spanx> value WILL produce a
structural mismatch between the live document and the stored snapshot. The
Spider MUST record this as an S-2 consistency failure and MUST surface it
in the Service Record as a <spanx style="verb">standard_warnings</spanx> entry.</t>

<t>Operators who need to change their API MUST register a new <spanx style="verb">api_version</spanx>.
This protects consuming agents from silent contract breakage.</t>

<t><spanx style="verb">language</spanx> is OPTIONAL. When present, it MUST be a non-empty JSON array
of BCP 47 language tags (<xref target="RFC5646"/>). It declares the natural languages
in which the service's API responses, documentation, and user-facing
content are available. If omitted, the default value is <spanx style="verb">["en"]</spanx>. Agents
MAY use this field to select services that operate in a required language.
Example: <spanx style="verb">["de", "en"]</spanx> for a service supporting German and English.</t>

<t><spanx style="verb">authentication</spanx> is OPTIONAL but RECOMMENDED. When present, it MUST
contain a <spanx style="verb">methods</spanx> array listing one or more of the following values:
<spanx style="verb">"oauth2"</spanx>, <spanx style="verb">"api_key"</spanx>, <spanx style="verb">"bearer"</spanx>, <spanx style="verb">"mtls"</spanx>, <spanx style="verb">"none"</spanx>. A service that
requires no authentication MUST declare <spanx style="verb">["none"]</spanx> explicitly. When
<spanx style="verb">"oauth2"</spanx> is in <spanx style="verb">methods</spanx>, <spanx style="verb">oauth2_discovery_url</spanx> MUST be provided; it
MUST point to a valid OAuth2 discovery document (RFC 8414 or OpenID
Connect Discovery). The <spanx style="verb">authentication</spanx> field enables agents to
pre-qualify whether they can authenticate with a service before
invocation, avoiding wasted round-trips and quota consumption against
services the agent cannot use. The APIX Spider does not verify credential
validity; it verifies only that <spanx style="verb">oauth2_discovery_url</spanx>, when declared, is
reachable and returns a parseable discovery document.</t>

<t><spanx style="verb">pricing</spanx> is OPTIONAL. When present, it MUST contain a <spanx style="verb">model</spanx> field with
one of the following values:</t>

<t><list style="symbols">
  <t><spanx style="verb">"free"</spanx> — no charge for any usage; <spanx style="verb">pricing_url</spanx> MAY be omitted.</t>
  <t><spanx style="verb">"freemium"</spanx> — a free tier exists; <spanx style="verb">pricing_url</spanx> SHOULD be provided.</t>
  <t><spanx style="verb">"paid"</spanx> — all usage is charged; <spanx style="verb">pricing_url</spanx> MUST be provided.</t>
  <t><spanx style="verb">"enterprise"</spanx> — pricing is individually negotiated; <spanx style="verb">pricing_url</spanx> MUST
be provided.</t>
  <t><spanx style="verb">"dynamic"</spanx> — price varies based on service load or other real-time
factors; <spanx style="verb">pricing_endpoint</spanx> MUST be provided.</t>
</list></t>

<t><spanx style="verb">pricing.model</spanx> is self-declared and is not verified by the APIX Spider.
The index stores and exposes only the declared <spanx style="verb">model</spanx> value and the
<spanx style="verb">pricing_endpoint</spanx> URL; it does not fetch, cache, or display current
prices. Consuming agents are solely responsible for querying the
<spanx style="verb">pricing_endpoint</spanx> directly before invocation and for evaluating the
returned price against their operator-configured budget constraints.
Misrepresentation of the pricing model (e.g., declaring <spanx style="verb">"free"</spanx> while
charging) constitutes a breach of the service owner's registration
contract and MUST result in suspension at O-3+.</t>

<t><spanx style="verb">pricing.pricing_url</spanx> MUST be a stable HTTPS URL pointing to a
human-readable pricing page. Agents MAY follow this URL for full pricing
detail.</t>

<t><spanx style="verb">pricing.pricing_endpoint</spanx> is REQUIRED when <spanx style="verb">model</spanx> is <spanx style="verb">"dynamic"</spanx> and
MUST NOT be present for any other model value. It is a stable HTTPS URL
that agents query immediately before service invocation to obtain the
current price. The endpoint MUST respond with:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "price_per_unit": 0.005,
  "currency": "ISO 4217 currency code -- e.g. USD, EUR",
  "unit": "request | token | minute | kb | device_hour",
  "valid_until": "ISO 8601 timestamp -- quote expires at this time",
  "quote_id": "single-use price reservation token",
  "load_factor": 1.2
}
]]></sourcecode></figure>

<t><spanx style="verb">quote_id</spanx> is a single-use price reservation token issued by the service
for this specific price quote. It MUST be treated as a binding commitment:
the service MUST honour the quoted <spanx style="verb">price_per_unit</spanx> when the agent presents
a valid, non-expired <spanx style="verb">quote_id</spanx> at invocation time. The <spanx style="verb">quote_id</spanx> expires
at <spanx style="verb">valid_until</spanx> and MUST NOT be accepted after that timestamp. A <spanx style="verb">quote_id</spanx>
is single-use — once presented in an invocation it is consumed and MUST NOT
be accepted again. How the agent presents the <spanx style="verb">quote_id</spanx> during invocation
(HTTP header, request body field, or other mechanism) is defined by the
service's own API documentation; APIX does not specify the invocation
protocol.</t>

<t>An agent MUST NOT invoke the service after <spanx style="verb">valid_until</spanx> without re-querying
the pricing endpoint to obtain a fresh <spanx style="verb">quote_id</spanx>. An agent MAY compare
<spanx style="verb">price_per_unit</spanx> against its operator-configured budget ceiling and MUST
abandon the invocation and discard the <spanx style="verb">quote_id</spanx> if the ceiling is exceeded.</t>

<t><spanx style="verb">load_factor</spanx> is OPTIONAL and indicates the current multiplier relative
to the service's baseline price (1.0 = baseline).</t>

<t><spanx style="verb">lifecycle_stage</spanx> defines the publication maturity of this API service.
API service lifecycle is defined by this profile. Valid values are
<spanx style="verb">experimental</spanx>, <spanx style="verb">beta</spanx>, <spanx style="verb">stable</spanx>, <spanx style="verb">deprecated</spanx>, and <spanx style="verb">sunset</spanx>. Default
if omitted is <spanx style="verb">stable</spanx>. Services at <spanx style="verb">experimental</spanx> or <spanx style="verb">beta</spanx> are
excluded from default search results (see Section 7.2).</t>

<texttable>
      <ttcol align='left'>Stage</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <c><spanx style="verb">experimental</spanx></c>
      <c>Pre-release. Interface may change without notice.</c>
      <c><spanx style="verb">beta</spanx></c>
      <c>Feature-complete but not yet declared stable. Breaking changes possible.</c>
      <c><spanx style="verb">stable</spanx></c>
      <c>Production-ready. Breaking changes require a new <spanx style="verb">api_version</spanx>.</c>
      <c><spanx style="verb">deprecated</spanx></c>
      <c>Service owner is winding down. Successor SHOULD be declared via <spanx style="verb">supersedes</spanx>.</c>
      <c><spanx style="verb">sunset</spanx></c>
      <c>Service endpoint will go dark at the declared <spanx style="verb">sunset_date</spanx>. Agents MUST stop using the service by that date.</c>
</texttable>

<t>Transitions are unidirectional: <spanx style="verb">experimental</spanx> → <spanx style="verb">beta</spanx> → <spanx style="verb">stable</spanx> →
<spanx style="verb">deprecated</spanx> → <spanx style="verb">sunset</spanx>.</t>

<t><spanx style="verb">supersedes</spanx> is OPTIONAL. When set, the index MUST automatically set
<spanx style="verb">superseded_by</spanx> on the referenced entry. The referencing service MUST be
registered under the same organisation account.</t>

<t><spanx style="verb">trust</spanx> fields are set exclusively by the index operator based on
verification outcomes. APM submissions that include <spanx style="verb">trust</spanx> field values
MUST have those values overwritten by the index upon processing.</t>

<t><spanx style="verb">standard_warnings</spanx> is set exclusively by the index operator. It is
populated only after the grace period for the relevant deprecation has
elapsed (see <xref target="APIX-CORE"/> Section 4.3). During the grace period the
field MUST be empty even if the service uses a deprecated value. Service
Owners MUST NOT submit this field; submitted values MUST be ignored.</t>

<t><spanx style="verb">custom</spanx> is OPTIONAL. When present, it MUST be a JSON array of strings.
Each string MUST use reverse-domain notation (e.g.,
<spanx style="verb">"com.example.coverage_polygon"</spanx>) to prevent key collisions between
independent adopters. The array MUST NOT contain more than 20 entries.
Each entry MUST NOT exceed 128 characters.</t>

<t>The <spanx style="verb">custom</spanx> array is a capability declaration list — it signals that
the service exposes properties not yet covered by the standard schema,
without encoding their values in the index. Values associated with
declared custom properties are defined and published by the registrant
outside the index (e.g., in their API documentation or spec document)
and are retrieved directly from the service. The index stores and
exposes only the declared key names.</t>

<t>The <spanx style="verb">custom</spanx> field is the governed extension mechanism for early
adoption of field patterns that may be standardised in a future APM
version. The APIX Spider records declared key names in the index's
custom key registry. Consuming agents can discover services that
declare a known custom property via the <spanx style="verb">custom_key</spanx> search parameter;
interpretation of a custom property's semantics requires out-of-band
agreement between registrant and consumer.</t>

<t>The promotion path: when a custom key appears in APM submissions from
five (5) or more independent organisations, The governing body MAY open a governance
track to evaluate the pattern as a candidate standard field in a future
APM version. Registrants are encouraged to document custom property
semantics publicly to support interoperability and accelerate
standardisation.</t>

<t><spanx style="verb">notifications</spanx> is OPTIONAL for <spanx style="verb">experimental</spanx> and <spanx style="verb">beta</spanx> lifecycle stages
and RECOMMENDED for <spanx style="verb">stable</spanx>. If <spanx style="verb">notifications.supported</spanx> is <spanx style="verb">true</spanx>,
<spanx style="verb">notifications.channels</spanx> MUST contain at least one entry.</t>

<t><spanx style="verb">entry_point</spanx> is the base HTTPS URL of the service, used by consuming agents
to construct API calls. The following normative requirements apply:</t>

<t><list style="symbols">
  <t><spanx style="verb">entry_point</spanx> MUST use the <spanx style="verb">https</spanx> scheme. HTTP entry points MUST be
rejected at registration.</t>
  <t><spanx style="verb">entry_point</spanx> MUST remain stable for the lifetime of the service
registration. A change to <spanx style="verb">entry_point</spanx> MUST be submitted as an APM
update and MUST trigger immediate Spider re-verification.</t>
  <t>The Spider MUST NOT hit <spanx style="verb">entry_point</spanx> directly for liveness checks.
Instead, the Spider checks <spanx style="verb">entry_point + /health</spanx> (see Section 5.2).</t>
  <t>HTTP redirects from <spanx style="verb">entry_point</spanx> are permitted for consuming agents
but MUST NOT be present at <spanx style="verb">entry_point/health</spanx> (the health endpoint
MUST respond directly without redirect).</t>
</list></t>

<t><spanx style="verb">entry_point/health</spanx> is the mandatory liveness endpoint. Every registered
service MUST expose a health endpoint at the path <spanx style="verb">/health</spanx> relative to
<spanx style="verb">entry_point</spanx>. This endpoint:</t>

<t><list style="symbols">
  <t>MUST return HTTP 2xx when the service is operational.</t>
  <t>MUST return without requiring authentication.</t>
  <t>MUST respond within a reasonable timeout (RECOMMENDED: 5 seconds).</t>
  <t>SHOULD return a JSON body of the form <spanx style="verb">{"status": "ok", "api_version":
"&lt;semver&gt;"}</spanx>. If <spanx style="verb">api_version</spanx> is present, the Spider SHOULD cross-check
it against the APM <spanx style="verb">api_version</spanx> field; a mismatch MUST be recorded as
a warning in the Service Record.</t>
  <t>MUST NOT be used by consuming agents for API calls — it is a
Spider-facing infrastructure endpoint only.</t>
</list></t>

<t><spanx style="verb">spec.url</spanx> is the URL to the machine-readable API specification document
(OpenAPI JSON/YAML, MCP manifest, AsyncAPI document, or GraphQL SDL).</t>

<t><list style="symbols">
  <t><spanx style="verb">spec.url</spanx> MUST use the <spanx style="verb">https</spanx> scheme.</t>
  <t><spanx style="verb">spec.url</spanx> MUST be publicly accessible without authentication. A spec
behind authentication cannot be fetched by the Spider and permanently
prevents the service from reaching S-2.</t>
  <t>On the initial Spider run following registration, the Spider fetches
the spec document and stores it as the registered spec snapshot.
All subsequent Spider runs compare the live document at <spanx style="verb">spec.url</spanx>
against this snapshot to detect breaking changes (S-3 assessment).
The snapshot is updated when the Service Owner submits an APM update
that increments <spanx style="verb">api_version</spanx>.</t>
  <t>An APM update that changes <spanx style="verb">spec.url</spanx> MUST trigger immediate Spider
re-verification and snapshot replacement (see Section 5.1).</t>
</list></t>

<t>The <spanx style="verb">service_id</spanx> MUST be stable across re-registrations and version updates.
It is the canonical identity of the service in the APIX and MUST be a UUID v4
or an APIX-issued deterministic identifier.</t>

</section>
</section>
<section anchor="protocol-type-registry-v10-starter-set"><name>Protocol Type Registry (v1.0 starter set)</name>

<t>The <spanx style="verb">spec.type</spanx> field MUST contain a value from the Protocol Type Registry
at <spanx style="verb">apix.example.org/registry/protocols</spanx>. The registry is the authoritative
and always-current list of valid values. The entries below are the v1.0
starter set for API services; the governing body extends the registry as
additional protocol types reach sufficient adoption. Registry entries
follow the lifecycle defined in <xref target="APIX-CORE"/>.</t>

<texttable>
      <ttcol align='left'>Registry value</ttcol>
      <ttcol align='left'>Standard</ttcol>
      <ttcol align='left'>Spider behaviour</ttcol>
      <ttcol align='left'>Status</ttcol>
      <c><spanx style="verb">openapi</spanx></c>
      <c>OpenAPI 3.x</c>
      <c>Parses paths, schemas, auth requirements</c>
      <c>active</c>
      <c><spanx style="verb">mcp</spanx></c>
      <c>Model Context Protocol</c>
      <c>Parses tool definitions and capability list</c>
      <c>active</c>
      <c><spanx style="verb">asyncapi</spanx></c>
      <c>AsyncAPI 2.x / 3.x</c>
      <c>Parses channels, message schemas</c>
      <c>active</c>
      <c><spanx style="verb">graphql</spanx></c>
      <c>GraphQL SDL</c>
      <c>Introspection query to <spanx style="verb">entry_point</spanx>; see below</c>
      <c>active</c>
</texttable>

<t>Note: IoT device service types (<spanx style="verb">device-class</spanx>, <spanx style="verb">hub</spanx>) are defined in
<xref target="APIX-IOT"/> and are not governed by this profile.</t>

<section anchor="graphql-spider-behaviour"><name>GraphQL Spider Behaviour</name>

<t>For services with <spanx style="verb">spec.type: graphql</spanx>, the <spanx style="verb">spec.url</spanx> field MUST point to
the GraphQL endpoint (identical to <spanx style="verb">entry_point</spanx> in most deployments). The
Spider MUST issue a standard GraphQL introspection query to that endpoint:</t>

<figure><sourcecode type="graphql"><![CDATA[
{ __schema {
    queryType { name }
    mutationType { name }
    subscriptionType { name }
    types {
      name
      kind
      fields(includeDeprecated: true) {
        name
        isDeprecated
        type { name kind ofType { name kind } }
        args { name type { name kind ofType { name kind } } }
      }
    }
} }
]]></sourcecode></figure>

<t>The Spider MUST POST this query as <spanx style="verb">Content-Type: application/json</spanx> with
<spanx style="verb">{"query": "&lt;introspection query&gt;"}</spanx>. A 200 response with a valid JSON
body containing a <spanx style="verb">data.__schema</spanx> object constitutes a successful spec
fetch (S-2 prerequisite).</t>

<t><strong>Normalised schema representation:</strong> The Spider MUST normalise the
introspection result into a canonical form before storage as the registered
spec snapshot. The canonical form is a sorted JSON object containing:</t>

<t><list style="symbols">
  <t><spanx style="verb">types</spanx>: alphabetically sorted list of non-introspection type names
(excluding built-in scalar and introspection types: <spanx style="verb">__Schema</spanx>, <spanx style="verb">__Type</spanx>,
<spanx style="verb">__TypeKind</spanx>, <spanx style="verb">__Field</spanx>, <spanx style="verb">__InputValue</spanx>, <spanx style="verb">__EnumValue</spanx>, <spanx style="verb">__Directive</spanx>,
<spanx style="verb">__DirectiveLocation</spanx>, <spanx style="verb">Boolean</spanx>, <spanx style="verb">Int</spanx>, <spanx style="verb">Float</spanx>, <spanx style="verb">String</spanx>, <spanx style="verb">ID</spanx>)</t>
  <t>Per type: <spanx style="verb">kind</spanx>, sorted <spanx style="verb">fields</spanx> list, per field: name, required/optional
status, argument names and types, return type name</t>
</list></t>

<t>Normalisation eliminates cosmetic differences (field order, whitespace) from
breaking change detection.</t>

<t><strong>Breaking change definition for GraphQL:</strong></t>

<texttable>
      <ttcol align='left'>Change</ttcol>
      <ttcol align='left'>Breaking</ttcol>
      <c>Removed type</c>
      <c>Yes</c>
      <c>Removed field on existing type</c>
      <c>Yes</c>
      <c>Added required argument to existing field</c>
      <c>Yes</c>
      <c>Changed return type of existing field</c>
      <c>Yes</c>
      <c>Added optional field</c>
      <c>No</c>
      <c>Added new type</c>
      <c>No</c>
      <c>Added optional argument</c>
      <c>No</c>
      <c>Deprecated field (marked <spanx style="verb">isDeprecated: true</spanx>)</c>
      <c>No — recorded as metadata warning only</c>
</texttable>

<t><strong>Introspection disabled:</strong> Some production GraphQL services disable
introspection as a security measure. If the introspection query returns an
error (HTTP 200 with <spanx style="verb">{"errors": [...]}</spanx> containing a message indicating
introspection is disabled, or HTTP 4xx), the Spider MUST set
<spanx style="verb">spec_consistency: unreachable</spanx> and record a metadata warning with code
<spanx style="verb">graphql_introspection_disabled</spanx>. The service CANNOT achieve S-2 without
enabling introspection for the Spider's IP range, or by providing an
alternative static SDL document at a dedicated <spanx style="verb">spec.url</spanx> (in which case
<spanx style="verb">spec.type</spanx> MUST be <spanx style="verb">graphql</spanx> and the Spider will fetch and parse the SDL
document directly instead of issuing the introspection query).</t>

<t>Services whose specification type is not yet in the registry SHOULD request
addition via the governing body's registry extension process before
registering. Until the type is added, such services cannot achieve S-2 or
above, as the Spider has no parser for unregistered types.</t>

</section>
</section>
<section anchor="capability-taxonomy-registry-v10-starter-set"><name>Capability Taxonomy Registry (v1.0 starter set)</name>

<t>The <spanx style="verb">capabilities</spanx> field MUST contain terms from the Capability Taxonomy
Registry at <spanx style="verb">apix.example.org/registry/capabilities</spanx>. The registry is the
authoritative and always-current list of valid terms. Terms are
hierarchical, dot-separated (e.g., <spanx style="verb">commerce.marketplace</spanx>), and follow
the lifecycle defined in <xref target="APIX-CORE"/>.</t>

<t>The following are the v1.0 starter set for API services. IoT-specific
capability terms (<spanx style="verb">iot</spanx>, <spanx style="verb">home.*</spanx>) are defined in
<xref target="APIX-IOT"/>. The live registry is the authoritative
source; this list is illustrative only.</t>

<texttable>
      <ttcol align='left'>Term</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Status</ttcol>
      <c><spanx style="verb">commerce</spanx></c>
      <c>E-commerce and marketplaces</c>
      <c>active</c>
      <c><spanx style="verb">commerce.marketplace</spanx></c>
      <c>Multi-vendor marketplace</c>
      <c>active</c>
      <c><spanx style="verb">commerce.retail</spanx></c>
      <c>Single-vendor retail</c>
      <c>active</c>
      <c><spanx style="verb">payments</spanx></c>
      <c>Payment processing</c>
      <c>active</c>
      <c><spanx style="verb">payments.card</spanx></c>
      <c>Card payment processing</c>
      <c>active</c>
      <c><spanx style="verb">payments.crypto</spanx></c>
      <c>Cryptocurrency payments</c>
      <c>active</c>
      <c><spanx style="verb">data.financial</spanx></c>
      <c>Financial data and markets</c>
      <c>active</c>
      <c><spanx style="verb">data.legal</spanx></c>
      <c>Legal documents and data</c>
      <c>active</c>
      <c><spanx style="verb">nlp</spanx></c>
      <c>Natural language processing</c>
      <c>active</c>
      <c><spanx style="verb">nlp.translation</spanx></c>
      <c>Language translation</c>
      <c>active</c>
      <c><spanx style="verb">identity</spanx></c>
      <c>Authentication and identity</c>
      <c>active</c>
      <c><spanx style="verb">communication</spanx></c>
      <c>Messaging and notifications</c>
      <c>active</c>
      <c><spanx style="verb">storage</spanx></c>
      <c>File and object storage</c>
      <c>active</c>
      <c><spanx style="verb">compute</spanx></c>
      <c>Code execution and computing</c>
      <c>active</c>
      <c><spanx style="verb">media</spanx></c>
      <c>Image, audio, video services</c>
      <c>active</c>
      <c><spanx style="verb">search</spanx></c>
      <c>Information retrieval</c>
      <c>active</c>
</texttable>

<t>A Service MUST declare at least one capability term. Declared capabilities
are validated by the Spider against the parsed specification where the spec
type supports it. Services using deprecated taxonomy terms receive a
<spanx style="verb">standard_warnings</spanx> entry in their Service Record.</t>

<section anchor="hierarchical-semantics"><name>Hierarchical semantics</name>

<t>Capability terms form a strict containment hierarchy expressed by their
dot-separated segments. A term is a <em>sub-capability</em> of every term obtained by
removing one or more trailing segments: <spanx style="verb">payments.card</spanx> is a sub-capability of
<spanx style="verb">payments</spanx>; <spanx style="verb">logistics.tracking.express</spanx> is a sub-capability of both
<spanx style="verb">logistics.tracking</spanx> and <spanx style="verb">logistics</spanx>. Equivalently, declaring a service under a
term asserts that the service is an instance of every ancestor term
(<spanx style="verb">is_instance_of</spanx>).</t>

<t>Containment MUST be evaluated on whole dot-separated segments, never on raw
character prefixes. A term <spanx style="verb">T</spanx> contains a term <spanx style="verb">U</spanx> if and only if <spanx style="verb">U</spanx> equals
<spanx style="verb">T</spanx>, or <spanx style="verb">U</spanx> begins with <spanx style="verb">T</spanx> immediately followed by a <spanx style="verb">.</spanx> separator. Thus
<spanx style="verb">payments</spanx> contains <spanx style="verb">payments.card</spanx> but does not contain a distinct term that
merely shares a leading substring.</t>

<t>A service that declares a sub-capability is discoverable under every ancestor
term without separately declaring the ancestors; ancestor expansion is
performed by the index, not by the registrant. This hierarchy is the basis for
hierarchical capability search (see the <spanx style="verb">capability</spanx> search parameter) and for
graph-based discovery.</t>

</section>
<section anchor="capability-taxonomy-governance"><name>Capability Taxonomy Governance</name>

<t>The Capability Taxonomy Registry is maintained by the governing body.
The following process governs additions, deprecations, and removals:</t>

<t><strong>Proposing new terms:</strong></t>

<t>Any organisation may propose a new taxonomy term. A proposal MUST include:
a candidate term (dot-separated, max 4 levels), a definition (max 200 words),
examples of services that would use it, and evidence of adoption (at minimum
3 registered or planned APIX services that require the term). Proposals
MUST be submitted via the governing body's designated public proposal
mechanism.</t>

<t><strong>Review cycle:</strong> the governing body reviews taxonomy proposals quarterly. A proposal
is accepted when: the definition is unambiguous, the term does not overlap
with an existing term, and the adoption evidence is credible. Accepted terms
are added as <spanx style="verb">active</spanx> in the next quarterly registry update.</t>

<t><strong>Versioning:</strong> The Capability Taxonomy Registry is independently versioned.
The registry version is exposed in the APIX root resource (see <xref target="APIX-CORE"/>
Section 9.2). The taxonomy version advances on any addition or deprecation.</t>

<t><strong>Deprecation:</strong> A term is deprecated when a more precise replacement term
is accepted. Deprecation follows the lifecycle defined in <xref target="APIX-CORE"/>
Section 4.3: 12-month minimum window, 90-day grace period.</t>

<t><strong>IANA considerations:</strong> The taxonomy is not maintained by IANA. The governing body
is the designated authority. Should a future version of this specification
transfer maintenance to IANA, a mapping document MUST be published.</t>

</section>
</section>
<section anchor="notification-channel-registry-v10-starter-set"><name>Notification Channel Registry (v1.0 starter set)</name>

<t>The <spanx style="verb">notifications.channels[].type</spanx> field MUST contain a value from the
Notification Channel Registry at <spanx style="verb">apix.example.org/registry/notification-channels</spanx>.
The following are the v1.0 starter set. Registry entries follow the lifecycle
defined in <xref target="APIX-CORE"/>.</t>

<texttable>
      <ttcol align='left'>Registry value</ttcol>
      <ttcol align='left'>Transport</ttcol>
      <ttcol align='left'>Direction</ttcol>
      <ttcol align='left'>Applicable to</ttcol>
      <ttcol align='left'>Semantics</ttcol>
      <c><spanx style="verb">webhook</spanx></c>
      <c>HTTPS POST</c>
      <c>Server → agent</c>
      <c>All service types</c>
      <c>Service posts event payloads to an agent-registered callback URL. Agent provides the callback URL at subscription time via the <spanx style="verb">registration_url</spanx> endpoint. The service MUST include a shared secret in each delivery; agents MUST verify it. At-least-once delivery; agents MUST be idempotent.</c>
      <c><spanx style="verb">sse</spanx></c>
      <c>HTTP Server-Sent Events</c>
      <c>Server → agent</c>
      <c>API services only</c>
      <c>Agent opens a long-lived HTTP GET connection to the service's event stream. No subscription management endpoint required; the <spanx style="verb">registration_url</spanx> field carries the SSE stream URL. Agent reconnects on disconnect per the SSE specification (<xref target="W3C-SSE"/>).</c>
      <c><spanx style="verb">websocket</spanx></c>
      <c>WebSocket (RFC 6455)</c>
      <c>Bidirectional</c>
      <c>API services only</c>
      <c>Agent opens a WebSocket connection to the service. <spanx style="verb">registration_url</spanx> is the WebSocket endpoint. Enables request/response and push notification in a single persistent connection.</c>
</texttable>

<t><strong>Subscription management:</strong> For <spanx style="verb">webhook</spanx>, the <spanx style="verb">registration_url</spanx> MUST point
to an HTTPS endpoint that accepts a subscription registration payload. The
minimum subscription registration format is:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "callback_url": "https://agent.example/events",
  "events": ["spec.updated", "status.changed"],
  "secret": "agent-supplied shared secret for HMAC verification"
}
]]></sourcecode></figure>

<t>The registration endpoint MUST return the subscription identifier and
expiry time. Agents are responsible for renewing subscriptions before expiry.</t>

<t><strong>Event types:</strong> The <spanx style="verb">events</spanx> field in the APM notification channel and in
subscription requests MUST contain values from the APIX Event Type Registry
at <spanx style="verb">apix.example.org/registry/event-types</spanx>. The v1.0 starter set:</t>

<texttable>
      <ttcol align='left'>Event type</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">spec.updated</spanx></c>
      <c>The service's spec document has changed (new <spanx style="verb">api_version</spanx>)</c>
      <c><spanx style="verb">status.changed</spanx></c>
      <c>Service operational status has changed (up/down/degraded)</c>
      <c><spanx style="verb">trust.changed</spanx></c>
      <c>Organisation or service trust level has changed</c>
</texttable>

<t><strong>Notification channel requirements are OPTIONAL for registration.</strong> Services
that do not support push notifications MUST set <spanx style="verb">notifications.supported</spanx> to
<spanx style="verb">false</spanx>. Consuming agents that require push notifications SHOULD filter by
<spanx style="verb">notifications.supported: true</spanx> before subscribing.</t>

</section>
<section anchor="registration-and-onboarding"><name>Registration and Onboarding</name>

<section anchor="push-registration-human-initiated"><name>Push Registration (Human-Initiated)</name>

<t>Service registration MUST be human-initiated. The registrant MUST agree
to the index operator's Terms of Service before any service record is
activated. For O-0 and O-1, self-service portal registration with
accepted Terms of Service satisfies this requirement. For O-2 and above,
registration MUST additionally involve a formal B2B contractual
relationship between the Service Owner and the index operator or its
Accredited Regional Representative.</t>

<t>Registration MUST be scoped at the <strong>organisation level</strong>. An organisation
registers once and undergoes identity verification once; multiple services
may then be registered under that organisational identity. This requirement
ensures:</t>

<t><list style="symbols">
  <t>Identity verification and sanctions screening are performed once per
legal entity, not repeated per service.</t>
  <t>Organisation trust (O-level) established at registration propagates
to all services registered under that organisation without re-verification
of the organisation's identity.</t>
</list></t>

<t><strong>Definition:</strong> one service equals one APIX Manifest (APM) document
with one distinct <spanx style="verb">entry_point</spanx>. Logical bundling of API paths under a
single entry point is the registrant's responsibility and is permitted.</t>

<t>The registration process:</t>

<t><list style="numbers" type="1">
  <t>The Service Owner (or their Accredited Regional Representative) creates
an Organisation Account in the APIX Registration Portal. The index
operator MUST screen the Service Owner against applicable sanctions
lists before account activation per <xref target="APIX-CORE"/>.</t>
  <t>The Service Owner provides organisation details sufficient for the
target Organisation trust level. This step is performed once per
organisation.</t>
  <t>The Service Owner submits an APIX Manifest for each service to be
registered, including the spec URL and entry point. Each service is
associated with a liveness monitoring configuration that determines
Spider check frequency (see Section 5.3).</t>
  <t>For O-1: email and domain ownership verification is completed
automatically.</t>
  <t>For O-2: the index operator or Regional Representative verifies the
declared company registration number.</t>
  <t>For O-3: APIX automatically checks security.txt, DMARC/SPF records,
and declared legal document URLs. No human review required.</t>
  <t>For O-4 and O-5: the Service Owner engages an Accredited Verifier
(O-4) or submits an audit certificate directly to the governing body (O-5).</t>
  <t>Upon completion of applicable checks, the service is activated in the
index and the Spider is triggered.</t>
</list></t>

</section>
<section anchor="accredited-verifier-requirements"><name>Accredited Verifier Requirements</name>

<t>Organisation levels O-4 and O-5 require an Accredited Verifier. To be
accredited by the governing body, a candidate Verifier organisation
MUST satisfy all of the following:</t>

<t><strong>Independence:</strong> The Verifier MUST have no ownership relationship, employment
relationship, or consulting engagement with any organisation it assesses.
Independence is evaluated per assessment: a Verifier that provided consulting
services to the candidate organisation within the prior 24 months MUST recuse
itself from that assessment and the governing body MUST assign an
alternate Verifier.</t>

<t><strong>Demonstrated audit competence:</strong> The Verifier organisation MUST hold at
least one of: ISO/IEC 27001 Lead Auditor certification (per ISO/IEC 17021),
SOC 2 attestation authority (AICPA CPA firm licensed for attestation
engagements), or ISAE 3402 Type II authority. At least one named individual
from the Verifier organisation MUST hold a current relevant professional
certification (CISA, CISSP, or equivalent recognised by the governing body).</t>

<t><strong>APIX trust level:</strong> The Verifier organisation MUST itself be registered
in APIX at O-2 or above.</t>

<t><strong>Contractual obligation:</strong> The Verifier MUST sign the Verifier Agreement,
which binds it to: the Verifier Standard, liability for negligent
assessments, incident reporting obligations, and annual re-accreditation.</t>

<t><strong>Annual review:</strong> Accreditation is reviewed annually by the governing body. Failure to
maintain the requirements above or material error in an assessment MUST result
in suspension pending review. The governing body MUST maintain a public registry of all
accredited Verifiers and their current accreditation status.</t>

<t><strong>Revocation:</strong> the governing body MAY revoke accreditation at any time for material
breach of the Verifier Agreement, demonstrated conflict of interest, or failure
to maintain competence requirements. Revocation is immediate; pending
assessments are transferred to an alternate Verifier at no additional cost to
the assessed organisation.</t>

</section>
<section anchor="spider-verification-automated"><name>Spider Verification (Automated)</name>

<t>The APIX Spider is triggered automatically at two points:</t>

<t><list style="symbols">
  <t><strong>At registration</strong>: once a service is activated, the Spider performs
an initial verification run to establish the baseline Service
Verification Level.</t>
  <t><strong>On schedule</strong>: thereafter, the Spider rechecks the service at the
interval defined by the service's commercial tier (see Section 5.3).</t>
</list></t>

<t>During a Spider run, the Spider:</t>

<t><list style="numbers" type="1">
  <t>Performs an HTTPS request to <spanx style="verb">{entry_point}/health</spanx> and records the
response code, response time, and timestamp (Liveness: S-1).</t>
  <t>Fetches the spec document from <spanx style="verb">spec.url</spanx> (HTTPS, no authentication).</t>
  <t>Parses the fetched document and compares it structurally against the
registered spec snapshot (S-2 if fetchable and consistent; S-3 assessed
if no breaking changes detected across three or more consecutive runs).</t>
  <t>Updates all Liveness metrics in the Service Record.</t>
  <t>Records any failures and increments <spanx style="verb">consecutive_failures</spanx>.</t>
  <t>If the APM contains a <spanx style="verb">custom</spanx> field, records each declared key name
in the index's custom key registry. No values are stored; the <spanx style="verb">custom</spanx>
array contains only key name strings.</t>
</list></t>

<t>The Spider MUST NOT call any API endpoint beyond <spanx style="verb">{entry_point}/health</spanx>
and <spanx style="verb">spec.url</spanx>. The Spider MUST NOT submit data to, create resources in,
or otherwise interact with the production API of a registered service.</t>

<t>The Spider MUST respect HTTP rate limits declared by the service. Spider
requests MUST include a <spanx style="verb">User-Agent</spanx> header identifying the APIX Spider
and version.</t>

</section>
<section anchor="service-verification-level-ceilings"><name>Service Verification Level Ceilings</name>

<t>Certain service configuration states and governing body actions create
hard ceilings on the maximum Service Verification Level achievable or
maintainable. The following table defines all ceiling conditions for
API services. The index MUST enforce these ceilings automatically.</t>

<texttable>
      <ttcol align='left'>Condition</ttcol>
      <ttcol align='left'>Maximum S-level</ttcol>
      <c><spanx style="verb">spec.url</spanx> requires authentication</c>
      <c>S-1</c>
      <c><spanx style="verb">spec.url</spanx> unreachable or unparseable</c>
      <c>S-1</c>
      <c>Spec type not in APIX Protocol Type Registry</c>
      <c>S-1</c>
      <c>GraphQL service with introspection disabled and no SDL at <spanx style="verb">spec.url</spanx></c>
      <c>S-1</c>
      <c>Fewer than three consecutive Spider runs completed</c>
      <c>S-2</c>
      <c>Liveness frequency set to <spanx style="verb">initial</spanx> (Spider runs once only)</c>
      <c>S-2</c>
      <c>Active <spanx style="verb">security_incident</spanx> flag set by governing body</c>
      <c>S-2</c>
      <c>No completed security scan or pen test certificate on file</c>
      <c>S-3</c>
</texttable>

<t><spanx style="verb">security_incident</spanx> is an index-maintained flag, not an APM field. It
is set by the governing body upon receipt of credible breach intelligence
and cleared only after the service owner demonstrates full remediation
and passes a new security scan. The process for setting, contesting, and
clearing this flag — including the evidence threshold, contestation
procedure, and integration with external security feeds — is an open
question (see Section Open Questions).</t>

</section>
<section anchor="free-registration-tier-and-abuse-deterrence"><name>Free Registration Tier and Abuse Deterrence</name>

<t>Service registration at O-0 and O-1 trust levels constitutes the free
registration tier. No payment information is required for these levels.
This is a deliberate design choice: requiring payment for O-0 would create a
barrier to early adoption and conflict with the open infrastructure mission.</t>

<t>The following controls are sufficient at the free tier:</t>

<t><list style="numbers" type="1">
  <t><strong>Mandatory Terms of Service acceptance:</strong> All registrations — including
free tier — require agreement to the index operator's Terms of Service
before account activation. For O-0 and O-1, this self-service acceptance
is the sole contractual requirement and creates legal accountability
regardless of tier. For O-2 and above, a formal B2B contract is
additionally required.</t>
  <t><strong>Sanctions screening at activation:</strong> All organisations are screened
before account activation per <xref target="APIX-CORE"/> Section 7. Sanctioned entities
cannot register at any tier.</t>
  <t><strong>Default discovery exclusion:</strong> Consuming agents applying standard Trust
Policies (org_level_min O-1 or higher) structurally exclude O-0 services
from results. Abuse at O-0 cannot reach consuming agents that apply
minimum recommended trust filters. Consuming agents that accept O-0
services MUST do so deliberately.</t>
  <t><strong>Liveness gating:</strong> O-0 services configured at <spanx style="verb">initial</spanx> liveness
frequency are excluded from default search results by default (see
Section 5.3). An abusive operator that registers a fake service and
then takes it offline will be gated out by both trust filtering and
liveness filtering simultaneously.</t>
</list></t>

<t><strong>Payment information on file is NOT required for O-0 or O-1 registration.</strong>
A future version of this specification MAY require payment information on
file (without charge) for O-1 as an additional identity anchor if operational
experience shows the above controls insufficient. This is not normative for
the current version.</t>

</section>
<section anchor="liveness-monitoring-configuration"><name>Liveness Monitoring Configuration</name>

<t>Each registered API service MUST have a liveness monitoring configuration
that determines Spider check frequency. This configuration:</t>

<t><list style="symbols">
  <t>Is set per service, not per organisation account. An organisation
MAY configure different check frequencies for different services
registered under the same account.</t>
  <t>MUST be agreed in the commercial contract between the Service Owner
and the index operator.</t>
  <t>Determines the maximum age of <spanx style="verb">last_ping_at</spanx> data available to
consuming agents for that service.</t>
</list></t>

<t>Implementations MUST support at minimum the following frequency
classes, identified by their normative <spanx style="verb">spider_interval</spanx> value in
the Service Record:</t>

<texttable>
      <ttcol align='left'>Frequency class</ttcol>
      <ttcol align='left'>Maximum spider_interval</ttcol>
      <ttcol align='left'>Normative label</ttcol>
      <c>Initial only</c>
      <c>N/A (one run at activation)</c>
      <c><spanx style="verb">"initial"</spanx></c>
      <c>Daily</c>
      <c>86,400 seconds</c>
      <c><spanx style="verb">"daily"</spanx></c>
      <c>Hourly</c>
      <c>3,600 seconds</c>
      <c><spanx style="verb">"hourly"</spanx></c>
      <c>High-frequency</c>
      <c>300 seconds</c>
      <c><spanx style="verb">"high"</spanx></c>
</texttable>

<t>Implementations MAY define additional frequency classes. The
<spanx style="verb">spider_interval</spanx> field in the Service Record MUST reflect the
actual configured interval in seconds.</t>

<t><strong>Effect on trust signal quality:</strong> A consuming agent applying a
<spanx style="verb">last_ping_age &lt; N</spanx> filter will structurally exclude services whose
check frequency cannot produce sufficiently fresh liveness data.
Liveness monitoring configuration is therefore a market signal:
services requiring discovery by latency-sensitive agents must invest
in check frequency sufficient to satisfy those agents' trust policies.</t>

<t>Services configured at initial-only frequency MUST be excluded from
standard discovery query results by default. Consuming agents MUST
explicitly opt in to include initial-only services in result sets.</t>

</section>
</section>
<section anchor="spider-and-crawler-specification"><name>Spider and Crawler Specification</name>

<section anchor="crawl-triggers"><name>Crawl Triggers</name>

<t>The Spider is triggered by the following events:</t>

<texttable>
      <ttcol align='left'>Trigger</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c>Registration activation</c>
      <c>Immediate first run when a service is activated</c>
      <c>Scheduled interval</c>
      <c>Recurring, per service liveness monitoring configuration (Section 5.3)</c>
      <c>Manual re-trigger</c>
      <c>Service Owner may request a manual re-trigger once per 24 hours</c>
      <c>Spec URL change</c>
      <c>An APM update that changes the <spanx style="verb">spec.url</spanx> triggers an immediate run</c>
</texttable>

</section>
<section anchor="automated-verification-scope"><name>Automated Verification Scope</name>

<t>The Spider performs the following checks in sequence. Each check's result
is stored independently; a failure at one level does not prevent checks
at other levels from being recorded.</t>

<t>The Spider MUST use HTTPS for all outbound requests. The Spider MUST NOT
send authentication credentials to any registered service. Spider requests
to <spanx style="verb">entry_point/health</spanx> or <spanx style="verb">spec.url</spanx> MUST NOT include Authorization headers,
API keys, cookies, or client certificates.</t>

<t>If a request returns an HTTP redirect (3xx), the Spider MUST follow the
redirect only if the redirect target also uses HTTPS. The Spider MUST NOT
follow redirects from HTTPS to HTTP.</t>

<t><list style="numbers" type="1">
  <t><strong>Liveness check</strong>: HTTPS GET to <spanx style="verb">{entry_point}/health</spanx>. Record HTTP
status code, response time, and timestamp. A 2xx response without
authentication constitutes a successful liveness check (S-1). If the
response body is valid JSON containing an <spanx style="verb">api_version</spanx> field, the Spider
MUST cross-check this value against the <spanx style="verb">api_version</spanx> declared in the APM.
A mismatch is recorded as a metadata warning, not a liveness failure.</t>
  <t><strong>Spec fetch</strong>: HTTPS GET to <spanx style="verb">spec.url</spanx>. The Spider MUST NOT send
authentication credentials. A successful fetch (2xx response, non-empty
body) is the prerequisite for steps 3 and 4. Record content type and
document size.</t>
  <t><strong>Spec parse and consistency check</strong>: Parse the fetched document
according to the declared <spanx style="verb">spec.type</spanx>. Compare it structurally against
the registered spec snapshot stored at initial registration time.
The Spider MUST set <spanx style="verb">spec_consistency</spanx> to one of three values after
every run:
  <list style="symbols">
      <t><spanx style="verb">consistent</spanx> — document is fetchable, parseable, and structurally
matches the registered snapshot. Constitutes S-2 verification.</t>
      <t><spanx style="verb">mismatch</spanx> — document is fetchable and parseable, but structurally
differs from the snapshot (paths removed, required fields changed,
response schemas changed). S-2 is revoked; <spanx style="verb">standard_warnings</spanx> is
updated. This indicates operator-caused contract breakage.</t>
      <t><spanx style="verb">unreachable</spanx> — <spanx style="verb">spec.url</spanx> returned a non-2xx response, was not
reachable, or the document could not be parsed. S-2 is not achieved
or is suspended. This indicates an availability problem, not a
contract violation.
<spanx style="verb">spec_consistency</spanx> MUST be <spanx style="verb">null</spanx> only before the Spider's first run
on a newly registered service. Once any run completes, the field MUST
carry one of the three values above.
The Spider MUST NOT call any API endpoint declared in the spec. Spec
verification is document comparison only.</t>
    </list></t>
  <t><strong>Breaking change detection</strong>: Compare the current parsed spec against
the registered spec snapshot. Flag removed paths, changed required
fields, or changed response schemas as breaking changes. Three or more
consecutive runs with no breaking changes detected are required for
S-3 verification.</t>
  <t><strong>Liveness metrics update</strong>: Update <spanx style="verb">last_ping_at</spanx>, <spanx style="verb">uptime_30d_percent</spanx>,
<spanx style="verb">avg_response_ms</spanx>, <spanx style="verb">consecutive_failures</spanx>, and <spanx style="verb">next_spider_run_at</spanx>.</t>
</list></t>

</section>
<section anchor="failure-handling"><name>Failure Handling</name>

<t><strong>Liveness failures (<spanx style="verb">entry_point/health</spanx> unreachable):</strong></t>

<t><list style="symbols">
  <t>A single failed ping increments <spanx style="verb">consecutive_failures</spanx> and updates
<spanx style="verb">last_ping_at</spanx> with the failure timestamp.</t>
  <t>After 3 consecutive failures, the Service Record is flagged as
<spanx style="verb">status: degraded</spanx> in the index.</t>
  <t>After 10 consecutive failures, the Service Record is flagged as
<spanx style="verb">status: unreachable</spanx> and is excluded from standard search results.</t>
  <t><spanx style="verb">contacts.operations</spanx> is notified at the 3-failure threshold (incident
warning). Both <spanx style="verb">contacts.operations</spanx> and <spanx style="verb">contacts.escalation</spanx> are
notified at the 10-failure threshold (service unreachable escalation).</t>
  <t>A service that recovers (next ping succeeds) has its status restored
and <spanx style="verb">consecutive_failures</spanx> reset to 0 automatically.</t>
</list></t>

<t><strong>Spec fetch failures (<spanx style="verb">spec_consistency: unreachable</spanx>):</strong></t>

<t>Spec fetch failures have distinct probable causes depending on how long
the failure persists. The Spider MUST apply a three-cluster retry model
that targets the likely cause window at each stage. Cluster escalation
is triggered by <spanx style="verb">spec_fetch_consecutive_failures</spanx> crossing a threshold.</t>

<dl>
  <dt>Cluster 1 — Infrastructure / network (failures 1–3):</dt>
  <dd>
    <t>Cause: transient network loss, host restart, or CDN hiccup.
Retry: 5 min → 15 min → 30 min. No notification.</t>
  </dd>
  <dt>Cluster 2 — Application (failures 4–6):</dt>
  <dd>
    <t>Cause: software instability (crash loop, OOM, startup failure).
Retry: 2 h → 4 h → 8 h.
Notification: email to <spanx style="verb">contacts.operations</spanx> at failure 4.</t>
  </dd>
  <dt>Cluster 3 — Configuration (failures 7+):</dt>
  <dd>
    <t>Cause: persistent misconfiguration — wrong <spanx style="verb">spec.url</spanx>, auth gate
added, URL moved. Retry: 24 h → 72 h (cap).
Notification: email to <spanx style="verb">contacts.operations</spanx> AND
<spanx style="verb">contacts.escalation</spanx> at failure 7.</t>
  </dd>
</dl>

<t><list style="symbols">
  <t><spanx style="verb">spec_consistency</spanx> is set to <spanx style="verb">unreachable</spanx> on the first failure and
remains <spanx style="verb">unreachable</spanx> until a successful fetch.</t>
  <t><spanx style="verb">next_spider_run_at</spanx> is set to the next retry timestamp after each
failed run so Service Owners can observe when the retry will occur.</t>
  <t>A successful spec fetch resets <spanx style="verb">spec_fetch_consecutive_failures</spanx> to 0
and sets <spanx style="verb">spec_consistency</spanx> to <spanx style="verb">consistent</spanx> or <spanx style="verb">mismatch</spanx> as
appropriate.</t>
  <t><spanx style="verb">spec_fetch_consecutive_failures</spanx> MUST be visible in the Service Record
so Service Owners can monitor retry cluster state without contacting
the Index operator.</t>
</list></t>

<t><strong>Manual re-trigger:</strong></t>

<t>The Index operator SHOULD provide a mechanism for Service Owners to
request an immediate Spider re-run outside of the scheduled interval.
This is the primary recovery mechanism when a service has been repaired
and the operator does not want to wait for the next scheduled retry.</t>

<t>When a manual re-trigger is requested:
- <spanx style="verb">next_spider_run_at</spanx> MUST be set to the current timestamp.
- <spanx style="verb">spec_fetch_consecutive_failures</spanx> MUST be reset to 0, returning the
  service to Cluster 1 retry behaviour for the next run.
- The Spider MUST execute the run as soon as scheduling permits.</t>

<t>The Index MAY rate-limit manual re-triggers to at most once per hour
per service to prevent abuse.</t>

</section>
</section>
<section anchor="index-api-services-layer"><name>Index API — Services Layer</name>

<section anchor="search-and-filter-api"><name>Search and Filter API</name>

<t>The search endpoint applies server-side filters to reduce result sets before
transmission. Only filters on indexed scalar values are server-side;
filters requiring deep metadata evaluation are applied client-side after
fetching the Level 2 Service Record (Section 7.4).</t>

<t><strong>API version scoping (path segment):</strong></t>

<t>The optional <spanx style="verb">{api_version}</spanx> path segment scopes the search to services
whose <spanx style="verb">api_version</spanx> starts with the specified major or major.minor prefix.
The segment uses the <spanx style="verb">v</spanx> prefix followed by the semver major or major.minor
value (e.g., <spanx style="verb">v2</spanx>, <spanx style="verb">v2.4</spanx>). When absent, no version constraint is applied.</t>

<figure><artwork><![CDATA[
GET /search/v2/?capability=payments.card   ← v2.x.x services only
GET /search/v2.4/?q=payment               ← v2.4.x services only
GET /search/?q=payment                    ← no version constraint
]]></artwork></figure>

<t>The <spanx style="verb">api_version</spanx> immutability invariant (see <xref target="APIX-CORE"/>) means that a
consuming agent pinned to <spanx style="verb">/search/v2.4/</spanx> receives a stable, permanent
schema contract: every result exposes exactly the fields defined for v2.4.</t>

<t>The index does not perform cross-version mapping. A service registered at
v3.0 does not appear in <spanx style="verb">/search/v2/</spanx> results and is never synthesised into
a v2-shaped response. There are no null substitutions for dropped fields and
no type coercions for changed fields across version boundaries. If a
pinned-version query returns empty results, the agent SHOULD follow the
<spanx style="verb">superseded_by</spanx> link in any previously known Level 2 record to discover the
current version, or issue <spanx style="verb">GET /search/</spanx> with no path segment and no query
parameters to retrieve the version landscape (see <xref target="APIX-CORE"/>). The
parameter-less <spanx style="verb">/search/</spanx> endpoint returns version metadata only and executes
no content query — it is a discovery resource, not a full-index dump.</t>

<t><strong>Example — buying bot querying for marketplace services:</strong></t>

<figure><artwork><![CDATA[
GET /search/v2/?capability=commerce.marketplace
              &protocol=mcp,openapi
              &org_level_min=O-2
              &service_level_min=S-2
              &max_ping_age=3600
              &uptime_30d_min=95.0
              &lifecycle_stage=stable
              &page=1
              &page_size=20
]]></artwork></figure>

<t><strong>Version landscape response (<spanx style="verb">GET /search/</spanx> — no path segment, no query parameters):</strong></t>

<t>When the search endpoint is called with no <spanx style="verb">api_version</spanx> path segment and
no query parameters, it MUST return the version landscape and MUST NOT
return service records:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "version_landscape": [
    {
      "api_version_prefix": "v1",
      "service_count": 0,
      "lifecycle_status": "sunset"
    },
    {
      "api_version_prefix": "v2",
      "service_count": 1847,
      "lifecycle_status": "stable",
      "_links": {
        "search": {
          "href": "https://apix.example.org/search/v2/{?...}",
          "templated": true
        }
      }
    },
    {
      "api_version_prefix": "v3",
      "service_count": 4201,
      "lifecycle_status": "stable",
      "_links": {
        "search": {
          "href": "https://apix.example.org/search/v3/{?...}",
          "templated": true
        }
      }
    }
  ]
}
]]></sourcecode></figure>

<t>Consuming agents that receive empty results from a pinned-version query
MUST use this endpoint to survey the current version landscape before
re-issuing a content query. The <spanx style="verb">_links.search</spanx> template in each entry
provides the correctly scoped search URL for that version prefix.</t>

<t><strong>Normative server-side filter parameters:</strong></t>

<texttable>
      <ttcol align='left'>Parameter</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Default</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">q</spanx></c>
      <c>string</c>
      <c>—</c>
      <c>Free-text search across <spanx style="verb">name</spanx> and <spanx style="verb">description</spanx></c>
      <c><spanx style="verb">capability</spanx></c>
      <c>string</c>
      <c>—</c>
      <c>Capability taxonomy term. MUST be an <spanx style="verb">active</spanx> or <spanx style="verb">deprecated</spanx> registry value. Matched hierarchically by default — see "Hierarchical capability matching" below</c>
      <c><spanx style="verb">capability_match</spanx></c>
      <c>enum</c>
      <c><spanx style="verb">subtree</spanx></c>
      <c>Capability match mode: <spanx style="verb">subtree</spanx> returns the term and all its sub-capabilities; <spanx style="verb">exact</spanx> returns only services declaring the exact term</c>
      <c><spanx style="verb">filter_strictness</spanx></c>
      <c>enum</c>
      <c><spanx style="verb">graceful</spanx></c>
      <c>Validation behaviour for filter values. <spanx style="verb">graceful</spanx>: an invalid filter value is ignored (treated as unset) and reported in <spanx style="verb">_meta.warnings</spanx>; <spanx style="verb">strict</spanx>: an invalid filter value rejects the request with <spanx style="verb">400 Bad Request</spanx></c>
      <c><spanx style="verb">protocol</spanx></c>
      <c>string</c>
      <c>—</c>
      <c>Comma-separated protocol type values. MUST be values from the Protocol Type Registry</c>
      <c><spanx style="verb">org_level_min</spanx></c>
      <c>enum</c>
      <c><spanx style="verb">O-0</spanx></c>
      <c>Minimum Organisation trust level. Excludes services below threshold</c>
      <c><spanx style="verb">service_level_min</spanx></c>
      <c>enum</c>
      <c><spanx style="verb">S-0</spanx></c>
      <c>Minimum Service verification level</c>
      <c><spanx style="verb">max_ping_age</spanx></c>
      <c>integer</c>
      <c>—</c>
      <c>Maximum seconds since <spanx style="verb">last_ping_at</spanx>. Excludes services with older liveness data</c>
      <c><spanx style="verb">uptime_30d_min</spanx></c>
      <c>float</c>
      <c>—</c>
      <c>Minimum 30-day uptime percentage</c>
      <c><spanx style="verb">lifecycle_stage</spanx></c>
      <c>enum</c>
      <c><spanx style="verb">stable</spanx></c>
      <c>Filter by lifecycle stage. Default excludes <spanx style="verb">experimental</spanx>, <spanx style="verb">beta</spanx>, <spanx style="verb">deprecated</spanx>, and <spanx style="verb">sunset</spanx></c>
      <c><spanx style="verb">include_superseded</spanx></c>
      <c>boolean</c>
      <c><spanx style="verb">false</spanx></c>
      <c>When <spanx style="verb">false</spanx>, excludes services for which <spanx style="verb">superseded_by</spanx> is set. When <spanx style="verb">true</spanx>, all matching versions are returned</c>
      <c><spanx style="verb">spec_consistency</spanx></c>
      <c>enum</c>
      <c>—</c>
      <c>Filter by spec consistency status. Values: <spanx style="verb">consistent</spanx>, <spanx style="verb">mismatch</spanx>, <spanx style="verb">unreachable</spanx>. <spanx style="verb">null</spanx> (Spider not yet run) is excluded when any value is specified. When absent, no constraint is applied. Agents performing consequential tasks SHOULD explicitly pass <spanx style="verb">consistent</spanx></c>
      <c><spanx style="verb">language</spanx></c>
      <c>string</c>
      <c>—</c>
      <c>BCP 47 language tag (<xref target="RFC5646"/>). Returns only services whose <spanx style="verb">language</spanx> array contains the specified tag. Services with no <spanx style="verb">language</spanx> field are treated as <spanx style="verb">["en"]</spanx></c>
      <c><spanx style="verb">pricing_model</spanx></c>
      <c>enum</c>
      <c>—</c>
      <c>Filter by declared pricing model. Values: <spanx style="verb">free</spanx>, <spanx style="verb">freemium</spanx>, <spanx style="verb">paid</spanx>, <spanx style="verb">enterprise</spanx>, <spanx style="verb">dynamic</spanx>. When absent, no pricing constraint is applied</c>
      <c><spanx style="verb">auth_method</spanx></c>
      <c>enum</c>
      <c>—</c>
      <c>Filter by supported authentication method. Values: <spanx style="verb">oauth2</spanx>, <spanx style="verb">api_key</spanx>, <spanx style="verb">bearer</spanx>, <spanx style="verb">mtls</spanx>, <spanx style="verb">none</spanx>. Returns services whose <spanx style="verb">authentication.methods</spanx> array contains the specified value</c>
      <c><spanx style="verb">deployment_region</spanx></c>
      <c>string</c>
      <c>—</c>
      <c>Cloud or jurisdiction region identifier (e.g. <spanx style="verb">eu-west-1</spanx>, <spanx style="verb">eu</spanx>). Returns only services that declare the specified region in <spanx style="verb">deployment_regions</spanx>. Candidate field — see Open Question 8</c>
      <c><spanx style="verb">near</spanx></c>
      <c>string</c>
      <c>—</c>
      <c>Decimal <spanx style="verb">lat,lon</spanx> coordinate pair (e.g. <spanx style="verb">48.137,11.576</spanx>). When combined with <spanx style="verb">coverage_radius_km</spanx>, returns only services whose declared coverage area overlaps the specified point. Candidate field — see Open Question 8</c>
      <c><spanx style="verb">coverage_radius_km</spanx></c>
      <c>integer</c>
      <c>—</c>
      <c>Radius in kilometres around the <spanx style="verb">near</spanx> coordinate. Only meaningful when <spanx style="verb">near</spanx> is also specified. Candidate field — see Open Question 8</c>
      <c><spanx style="verb">custom_key</spanx></c>
      <c>string</c>
      <c>—</c>
      <c>Reverse-domain key name (e.g. <spanx style="verb">com.example.coverage_polygon</spanx>). Returns only services whose <spanx style="verb">custom</spanx> object contains the specified top-level key. Values are not searchable; key presence only</c>
      <c><spanx style="verb">fresh_within</spanx></c>
      <c>duration</c>
      <c>—</c>
      <c>Maximum age of <spanx style="verb">last_verified_against_target</spanx> (e.g. <spanx style="verb">7d</spanx>, <spanx style="verb">24h</spanx>). Returns only services whose self-reported verification timestamp falls within the window. Services without the field are excluded when this parameter is present</c>
      <c><spanx style="verb">verification_basis</spanx></c>
      <c>string</c>
      <c>—</c>
      <c>Filter by the Organisation trust level's evidence basis. MUST be a Verification Basis Registry value (e.g. <spanx style="verb">eidas2_qeaa</spanx>, <spanx style="verb">cra_conformity</spanx>). Matches the recorded evidence channel</c>
      <c><spanx style="verb">page</spanx></c>
      <c>integer</c>
      <c><spanx style="verb">1</spanx></c>
      <c>Result page number</c>
      <c><spanx style="verb">page_size</spanx></c>
      <c>integer</c>
      <c><spanx style="verb">20</spanx></c>
      <c>Results per page. Maximum: 100</c>
</texttable>

<t>All filter parameters are OPTIONAL. When absent, the parameter imposes no
constraint except <spanx style="verb">lifecycle_stage</spanx> (default <spanx style="verb">stable</spanx>), <spanx style="verb">include_superseded</spanx>
(default <spanx style="verb">false</spanx>), and <spanx style="verb">capability_match</spanx> (default <spanx style="verb">subtree</spanx>).</t>

<t><strong>Hierarchical capability matching.</strong> A <spanx style="verb">?capability=T</spanx> query MUST return every
service whose declared <spanx style="verb">capabilities</spanx> array contains <spanx style="verb">T</spanx> or any sub-capability
of <spanx style="verb">T</spanx>, using the whole-segment containment rule defined under "Hierarchical
semantics" in the Capability Taxonomy Registry section. For example,
<spanx style="verb">?capability=payments</spanx> MUST return services that declared <spanx style="verb">payments.card</spanx> or
<spanx style="verb">payments.crypto</spanx>, not only those that declared <spanx style="verb">payments</spanx> exactly. Setting
<spanx style="verb">capability_match=exact</spanx> restricts the result to services declaring <spanx style="verb">T</spanx>
exactly. Ancestor expansion is performed by the index at query time; a service
need not declare ancestor terms to be discoverable under them.</t>

<t><strong>Filter validation and result warnings.</strong> The index validates every filter
value that references a registry (<spanx style="verb">capability</spanx>, <spanx style="verb">protocol</spanx>,
<spanx style="verb">verification_basis</spanx>, …) or a closed enum. Two outcomes are signalled back to
the consuming agent so that neither a deprecated nor an invalid filter fails
silently:</t>

<t><list style="symbols">
  <t>A <em>deprecated-but-valid</em> value (e.g. a <spanx style="verb">capability</spanx> term in its warning
period) is honoured normally and reported with a <spanx style="verb">deprecated</spanx> warning,
including <spanx style="verb">sunset_date</spanx> and <spanx style="verb">replacement</spanx>. A deprecated value is <strong>never</strong>
rejected: <spanx style="verb">filter_strictness</spanx> governs invalid values only, so a <spanx style="verb">strict</spanx>
query never short-circuits the deprecation window's grace period.</t>
  <t>An <em>invalid</em> value (not present in the relevant registry or enum, e.g.
<spanx style="verb">verification_basis=wishful_thinking</spanx>) is handled according to <spanx style="verb">filter_strictness</spanx>:
  <list style="symbols">
      <t><spanx style="verb">graceful</spanx> (default): the offending filter is ignored — treated as
unset — and reported with an <spanx style="verb">invalid</spanx> warning. The query proceeds with
the remaining valid filters. This prevents the silent-failure trap in
which an agent believes a constraint was applied when it was not.</t>
      <t><spanx style="verb">strict</spanx>: the index rejects the request with <spanx style="verb">400 Bad Request</spanx>; the
response body names each invalid parameter and value.</t>
    </list></t>
</list></t>

<t>Warnings are returned in a <spanx style="verb">_meta.warnings</spanx> array on the search response
envelope, alongside the existing <spanx style="verb">_links</spanx>:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "_meta": {
    "warnings": [
      {
        "parameter": "capability",
        "value": "payments.legacy",
        "status": "deprecated",
        "sunset_date": "2026-12-31",
        "replacement": "payments.card",
        "message": "Deprecated; replaced by 'payments.card'."
      },
      {
        "parameter": "verification_basis",
        "value": "wishful_thinking",
        "status": "invalid",
        "message": "Unknown registry value; filter ignored."
      }
    ]
  }
}
]]></sourcecode></figure>

<t>An index MAY additionally emit a lightweight <spanx style="verb">APIX-Warning</spanx> response header
carrying the warning count as a fast signal; the authoritative warning detail
is always the <spanx style="verb">_meta.warnings</spanx> array. The obsolete HTTP <spanx style="verb">Warning</spanx> header
(<xref target="RFC9111"/>) MUST NOT be used for this purpose.</t>

<t>Results are returned as paginated Level 1 Search Result records (Section 7.2)
with HATEOAS links to Level 2 Service Records. Pagination is REQUIRED.</t>

<t><strong>Design note — natural language search is out of scope for the base
specification:</strong>
The APIX search endpoint provides keyword and structured-filter search
only. Semantic or natural-language query processing — where a free-text
prompt such as "find me a low-latency European payment API that handles
refunds" is resolved to a ranked service list by embedding or language
model inference — is explicitly excluded from this version of the
specification. The I-D draft-cui-ai-agent-discovery-invocation
(<xref target="I-D.cui-ai-agent-discovery-invocation"/>) describes this pattern as
an optional registry capability (MAY); APIX does not exercise this
option in the base specification for the reasons stated below.</t>

<t>Two factors motivate this exclusion. First, semantic search is
computationally expensive at index scale: inference on every incoming
query creates a load profile incompatible with the latency and cost
targets of a globally shared, freely accessible discovery endpoint.
Second, short free-text queries — the form agents will most commonly
submit — are insufficient input for embedding-based retrieval to
reliably outperform structured keyword and capability-taxonomy filters;
the signal-to-noise ratio degrades rapidly below approximately 50 tokens
of context, producing ranking instability that would erode agent trust in
the index.</t>

<t>The <spanx style="verb">q</spanx> parameter (free-text across <spanx style="verb">name</spanx> and <spanx style="verb">description</spanx>) combined
with the structured filters defined above covers the precision requirements
of well-formed agent queries. Agents requiring relevance ranking beyond
what structured filters provide SHOULD perform client-side re-ranking
over a filtered candidate set fetched from the index.</t>

<t>Agents requiring semantic selection over a filtered candidate set are
encouraged to implement — or delegate to — a Semantic Routing Platform
(SRP) as described in draft-cui-ai-agent-discovery-invocation
(<xref target="I-D.cui-ai-agent-discovery-invocation"/>): an optional control-plane
layer that performs semantic matching and ranking against a structured
candidate pool. APIX is the natural source for that pool; an SRP queries
APIX with structured filters to obtain a trusted, governed candidate set
and then applies semantic ranking above that foundation. This separation
keeps index infrastructure costs predictable while enabling full semantic
selection capability for agents that need it.</t>

<t>A future premium tier of the APIX MAY introduce semantic search as a
priced capability (charged per request) once a quality and cost model
acceptable to the governing body and the operator community has
been established. Any such capability would be offered as an optional
endpoint and would not alter the behaviour of the base search endpoint
defined in this specification.</t>

</section>
<section anchor="search-result-schema-level-1"><name>Search Result Schema (Level 1)</name>

<t>Search results return lightweight summary records. These contain only the
fields needed to evaluate candidates and decide which detail pages to fetch.
Complex metadata (auth requirements, version history, notifications, legal,
<spanx style="verb">standard_warnings</spanx>) is available only at Level 2 and is evaluated
client-side after fetching the detail resource.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "service_id": "svc-examplepay-v2",
  "name": "ExamplePay Payment API",
  "description": "Card and subscription payment processing",
  "api_version": "2.4.1",
  "lifecycle_stage": "stable",
  "capabilities": ["payments.card", "payments.subscription"],
  "protocol": "openapi",
  "trust": {
    "organisation_level": "O-4",
    "service_level": "S-2",
    "spec_consistency": "consistent",
    "spec_fetch_consecutive_failures": 0,
    "next_spider_run_at": "2026-04-20T14:55:00Z",
    "liveness": {
      "last_ping_at": "2026-04-20T13:55:00Z",
      "ping_interval_seconds": 3600,
      "uptime_30d_percent": 99.87,
      "consecutive_failures": 0
    }
  },
  "_links": {
    "self": {
      "href": "https://apix.example.org/services/svc-examplepay-v2"
    },
    "latest_stable": {
      "href": "https://apix.example.org/services/svc-examplepay-v2"
    }
  }
}
]]></sourcecode></figure>

<t>The <spanx style="verb">latest_stable</spanx> link points to the leaf version of the service's version
chain. When <spanx style="verb">latest_stable</spanx> differs from <spanx style="verb">self</spanx>, a newer stable version
exists and the agent SHOULD follow the link before proceeding.</t>

</section>
<section anchor="service-record-schema-level-2"><name>Service Record Schema (Level 2)</name>

<t>The full Service Record is returned when a consuming agent fetches the
detail resource via the <spanx style="verb">self</spanx> link. It is the APM plus Spider-enriched
trust metadata, versioning links, and any <spanx style="verb">standard_warnings</spanx>.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "service_id": "svc-examplepay-v2",
  "apm_version": "1.0",
  "name": "ExamplePay Payment API",
  "description": "Card and subscription payment processing",
  "api_version": "2.4.1",
  "lifecycle_stage": "stable",
  "supersedes": "svc-examplepay-v1",
  "superseded_by": null,
  "owner": { "...": "..." },
  "spec": {
    "type": "openapi",
    "url": "https://example.com/openapi.json",
    "version": "2.4.1"
  },
  "capabilities": ["payments.card", "payments.subscription"],
  "entry_point": "https://api.example.com/v2",
  "trust": {
    "organisation_level": "O-4",
    "organisation_verified_at": "2026-03-01T00:00:00Z",
    "organisation_verifier_id": "verifier-ch-001",
    "organisation_verification_basis": "national_registry",
    "service_level": "S-2",
    "service_level_updated_at": "2026-04-19T08:00:00Z",
    "spec_consistency": "consistent",
    "spec_consistency_checked_at": "2026-04-20T13:55:00Z",
    "spec_fetch_consecutive_failures": 0,
    "next_spider_run_at": "2026-04-20T14:55:00Z",
    "liveness": {
      "last_ping_at": "2026-04-20T13:55:00Z",
      "ping_interval_seconds": 3600,
      "uptime_30d_percent": 99.87,
      "avg_response_ms": 142.3,
      "consecutive_failures": 0
    }
  },
  "notifications": { "...": "..." },
  "legal": { "...": "..." },
  "standard_warnings": [],
  "registered_at": "2026-01-15T00:00:00Z",
  "last_updated_at": "2026-04-20T13:00:00Z",
  "_links": {
    "self": {
      "href": "https://apix.example.org/services/svc-examplepay-v2"
    },
    "owner": {
      "href": "https://apix.example.org/organisations/org-examplepay"
    },
    "spec": { "href": "https://example.com/openapi.json" },
    "previous_version": {
      "href": "https://apix.example.org/services/svc-examplepay-v1"
    },
    "latest_stable": {
      "href": "https://apix.example.org/services/svc-examplepay-v2"
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="trust-metadata-schema"><name>Trust Metadata Schema</name>

<t>Trust metadata is always included in full Service Records (Level 2) and
MUST NOT be omitted or summarised. Consuming agents rely on the full set
of trust fields to evaluate their Trust Policy. Partial trust metadata
MUST be represented with explicit <spanx style="verb">null</spanx> values, not omitted fields.</t>

<t>Trust metadata is included in summary form (Level 1) for server-side
filter compatibility. The Level 1 trust object omits verification
timestamps and verifier IDs; these are available only at Level 2.</t>

</section>
<section anchor="verification-basis-registry"><name>Verification Basis Registry</name>

<t>The <spanx style="verb">trust.organisation_verification_basis</spanx> field records <em>which</em> evidence
channel substantiated the Organisation trust level. It is set by the index,
not self-declared. This lets consuming agents that operate under specific
regulatory regimes filter by the provenance of a trust level — for example,
preferring an O-2 substantiated by an EU-anchored credential over one
substantiated by an arbitrary national registry.</t>

<t>The registry is maintained by the governing body. The v1.0 starter set:</t>

<texttable>
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Applies to</ttcol>
      <ttcol align='left'>Evidence channel</ttcol>
      <c><spanx style="verb">national_registry</spanx></c>
      <c>O-2</c>
      <c>Company registration number confirmed against an official national registry</c>
      <c><spanx style="verb">gleif_lei</spanx></c>
      <c>O-2</c>
      <c>Legal Entity Identifier verified against the GLEIF LEI database</c>
      <c><spanx style="verb">eidas2_qeaa</spanx></c>
      <c>O-2</c>
      <c>Qualified Electronic Attestation of Attributes from a Qualified Trust Service Provider per Regulation (EU) 2024/1183 (eIDAS 2)</c>
      <c><spanx style="verb">soc2_type2</spanx></c>
      <c>O-5</c>
      <c>SOC 2 Type II audit certificate</c>
      <c><spanx style="verb">iso27001</spanx></c>
      <c>O-5</c>
      <c>ISO/IEC 27001 certification</c>
      <c><spanx style="verb">cra_conformity</spanx></c>
      <c>O-5</c>
      <c>Conformity assessment under Regulation (EU) 2024/2847 (Cyber Resilience Act)</c>
</texttable>

<t>The field is OPTIONAL and MAY be <spanx style="verb">null</spanx> for trust levels where the basis is
not recorded (O-0, O-1) or not yet captured.</t>

<t><strong>Governance.</strong> The Verification Basis Registry lives at
<spanx style="verb">apix.example.org/registry/verification-basis</spanx> and is maintained by the
governing body following the same proposal, quarterly-review, versioning, and
deprecation process defined for the Capability Taxonomy Registry: any
organisation MAY propose a new evidence channel with a definition, the
applicable O-level, and adoption evidence; accepted values are added as
<spanx style="verb">active</spanx> in the next quarterly update; superseded values are deprecated under
the <xref target="APIX-CORE"/> lifecycle. The registry is independently versioned and its
version is exposed in the APIX root resource.</t>

<t><strong>IANA considerations.</strong> This registry is not maintained by IANA. The
governing body is the designated authority. Should a future version of this
specification transfer maintenance to IANA, a mapping document MUST be
published.</t>

</section>
<section anchor="transport-encoding"><name>Transport Encoding</name>

<t>The Index API is consumed by autonomous agents at machine speed. Response
payloads are structured JSON with highly repetitive field names across
result arrays. Transport-layer compression achieves 70–85% size reduction
on typical search result payloads with no information loss and no
application-layer schema changes.</t>

<t><strong>Compression support requirements:</strong></t>

<t>The Index API MUST support the following <spanx style="verb">Accept-Encoding</spanx> values:</t>

<texttable>
      <ttcol align='left'>Encoding</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <ttcol align='left'>Notes</ttcol>
      <c><spanx style="verb">gzip</spanx></c>
      <c>MUST</c>
      <c>Universally supported baseline</c>
      <c><spanx style="verb">br</spanx> (Brotli)</c>
      <c>SHOULD</c>
      <c>Higher compression ratio than gzip</c>
      <c><spanx style="verb">zstd</spanx></c>
      <c>SHOULD</c>
      <c>Similar ratio to Brotli; faster decompression</c>
</texttable>

<t>The Index API MUST perform content negotiation via the <spanx style="verb">Accept-Encoding</spanx>
request header. Responses MUST include a <spanx style="verb">Content-Encoding</spanx> header
identifying the applied encoding. If a client sends no <spanx style="verb">Accept-Encoding</spanx>
header, the server MAY respond uncompressed.</t>

<t>Consuming agents SHOULD include <spanx style="verb">Accept-Encoding: zstd, br, gzip</spanx> in
all Index API requests.</t>

<t><strong>Binary encoding (optional):</strong></t>

<t>The Index API MAY additionally support CBOR (<xref target="RFC8949"/>) as a binary
alternative to JSON. A client that prefers CBOR MUST signal this via
<spanx style="verb">Accept: application/cbor</spanx>. The server MAY respond with
<spanx style="verb">Content-Type: application/cbor</spanx>. CBOR responses carry identical
information to JSON responses; the encoding difference is transparent
to the data model.</t>

<t>Clients MUST NOT assume CBOR support. JSON over compressed transport
is the normative interchange format.</t>

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

<section anchor="abuse-and-fake-listings"><name>Abuse and Fake Listings</name>

<t>The mandatory Terms of Service acceptance at registration provides a first
barrier against malicious actors listing fake or harmful services. For O-0
and O-1, identity verification is limited; consuming agents SHOULD NOT rely
solely on index presence for trust at these levels. For O-2 and above, the
formal B2B contractual relationship and progressively stronger identity and
compliance verification substantially raise the cost of abuse.</t>

<t>Consuming agents SHOULD apply Trust Policies that exclude O-0 services for
any task involving sensitive data or consequential actions.</t>

<t>The governing body MUST maintain an abuse reporting mechanism and
MUST be able to suspend or remove a Service Record within 24 hours of
confirmed abuse. Suspended service records MUST remain in the index with a
<spanx style="verb">status: suspended</spanx> flag and MUST NOT be silently deleted, to provide
transparency to agents that had cached the record.</t>

</section>
<section anchor="trust-level-spoofing"><name>Trust Level Spoofing</name>

<t>Organisation and Service trust levels in the Service Record are set only
by the APIX itself, not by the Service Owner. APM submissions that include
<spanx style="verb">trust</spanx> field values MUST have those values overwritten by the APIX upon
processing. The Index API MUST NOT expose self-asserted trust values.</t>

</section>
<section anchor="transport-security-requirements"><name>Transport Security Requirements</name>

<t>All URLs submitted as <spanx style="verb">entry_point</spanx> or <spanx style="verb">spec.url</spanx> values in an APM MUST use
the <spanx style="verb">https</spanx> scheme. The Index MUST reject APM submissions that provide HTTP
(non-TLS) values for these fields.</t>

<t>The <spanx style="verb">{entry_point}/health</spanx> endpoint MUST NOT require authentication of any
kind. Requiring authentication at <spanx style="verb">/health</spanx> defeats liveness verification and
MUST be treated as a registration defect. The Index MUST record a metadata
warning if the <spanx style="verb">/health</spanx> endpoint returns a 401 or 407 status.</t>

<t>The <spanx style="verb">spec.url</spanx> endpoint MUST be publicly accessible without authentication.
A <spanx style="verb">spec.url</spanx> that requires authentication cannot be verified by the Spider and
MUST be treated as an S-2 failure until authentication is removed.</t>

<t>The Spider MUST enforce HTTPS for all outbound requests and MUST NOT follow
redirects from HTTPS to HTTP.</t>

</section>
<section anchor="spider-targeted-attacks"><name>Spider-Targeted Attacks</name>

<t>A service that knows when the Spider will visit could serve compliant
responses only to Spider requests, presenting a different interface to
consuming agents. Mitigations:</t>

<t><list style="symbols">
  <t>Spider visit timing MUST be randomised within the liveness monitoring
interval window.</t>
  <t>Spider <spanx style="verb">User-Agent</spanx> headers MUST be versioned but MUST NOT include
the specific visit schedule.</t>
  <t>The APIX operator SHOULD perform periodic unannounced spot-checks
from non-Spider infrastructure.</t>
</list></t>

</section>
<section anchor="bot-consumer-risks"><name>Bot Consumer Risks</name>

<t>The APIX provides discovery and trust metadata. It does not guarantee the
safety, correctness, or availability of listed services. Consuming agents
MUST NOT assume that a service listed in the APIX is safe to use without
applying their own Trust Policy.</t>

<t>Consuming agents SHOULD treat Index API responses as untrusted input and
validate the structure of Service Records before acting on them.</t>

<t>The Index API MUST be served exclusively over TLS. Certificate validity
MUST be verified by consuming agents. Agents MUST NOT bypass TLS
certificate verification when querying the Index API.</t>

</section>
</section>
<section anchor="open-questions"><name>Open Questions</name>

<t>The following questions are unresolved and explicitly invited for community
input:</t>

<t><list style="numbers" type="1">
  <t><strong>APM spec type extensions</strong>: What is the formal process for registering
new <spanx style="verb">spec.type</spanx> values? Should this be an IANA registry, or remain under
the governing body governance analogous to the capability taxonomy process?</t>
  <t><strong>Trust Policy standardisation</strong>: Should the APIX define a standard Trust
Policy expression language, or leave this entirely to consuming agents?
A standard language would enable Index API server-side filtering but risks
constraining agent-side policy flexibility.</t>
  <t><strong>Regional Representative model</strong>: How are jurisdictional boundaries
defined for Regional Representatives? What happens in jurisdictions with
no appointed Representative — does the central index operator serve as
fallback, or is registration simply unavailable?</t>
  <t><strong>Bot identity</strong>: This document explicitly excludes bot identity from
scope. Should a future version of the APIX include optional bot consumer
registration to enable personalised discovery, rate limit management, or
abuse tracking?</t>
  <t><strong>Centralised index vs. decentralised discovery</strong>: The APIX architecture
takes a deliberate position: a single authoritative global index, governed
by a neutral non-profit, with a commercial sustainability model. An
alternative approach — represented by proposals such as
draft-vandemeent-ains-discovery (AINS — AInternet Name Service), which
uses signed, append-only replication logs with no central authority — takes
the opposite position: cryptographic verifiability and censorship resistance
over governed accountability.  <vspace blankLines='1'/>
Arguments for the APIX model: business adoption requires a contractual
counterparty; institutional co-sponsorship is only available to an
accountable entity; a single entry point minimises agent-side integration
complexity; the supply-side funding model creates a regional development
flywheel that decentralised models cannot replicate.  <vspace blankLines='1'/>
Arguments for the decentralised model: censorship resistance; no single
point of failure or organisational control; cryptographic verifiability
without trusting the governor.  <vspace blankLines='1'/>
Community input is explicitly invited on whether the APIX and AINS-style
approaches are mutually exclusive or whether a future APIX version could
expose a verifiable, signed export of index records that enables
third-party verification without requiring a federated registry.</t>
  <t><strong>Geographic distribution of the index infrastructure</strong>: This specification
defines a single globally stable root entry point (<spanx style="verb">https://apix.example.org/</spanx>)
and leaves index deployment topology to the operator. A conformant
implementation MAY use CDN edge nodes, read replicas, or geographically
distributed origin servers provided the HATEOAS link structure and the
canonical entry-point URL remain stable. The specification intentionally
does not mandate a replication or failover architecture: these are
operational concerns for the governing body as index operator.
A future operational profile MAY specify minimum availability, recovery
time objectives, and regional failover requirements.</t>
  <t><strong>Breach-driven trust degradation and security feed integration</strong>:
This specification defines a <spanx style="verb">security_incident</spanx> flag that caps
a service at S-2 while active. The following questions are unresolved
and invited for community input:  <list style="symbols">
      <t><strong>Evidence threshold</strong>: What constitutes sufficient evidence for the
governing body to set the <spanx style="verb">security_incident</spanx> flag? A confirmed
breach notification from the service owner, a credible third-party
report, or an entry in a recognised security feed (BSI, CISA KEV,
CERT-Bund, or equivalent national CERT)?</t>
      <t><strong>Feed integration</strong>: Should APIX consume external security feeds
automatically to detect affected services, or require human review
before setting a flag? Automated feed integration requires APIX to
maintain knowledge of software stacks and versions per service —
information not currently indexed.</t>
      <t><strong>Aftermath window</strong>: Should a service that has suffered a confirmed
breach be required to remain at a degraded trust level for a minimum
period after remediation is declared (analogous to a probationary
period), or does passing a new security scan immediately restore
the full S-level? If a minimum period applies, what is the appropriate
duration and who determines it?</t>
      <t><strong>Contestation process</strong>: What is the process by which a service
owner can contest a <spanx style="verb">security_incident</spanx> flag they believe was set
in error?</t>
      <t><strong>Real-time attack detection</strong>: The current model is retrospective —
the flag is set after a breach is confirmed. Should a future version
define a real-time signal path (for example, a service owner-initiated
incident declaration that immediately and automatically caps the
S-level) to allow proactive trust degradation during an active
attack, before a formal breach is confirmed?</t>
    </list></t>
  <t><strong>Dynamic pricing negotiation</strong>: This specification defines the
<spanx style="verb">"dynamic"</spanx> pricing model with a <spanx style="verb">pricing_endpoint</spanx> that agents query
to obtain the current price before invocation. The current model is
accept-or-abandon: the agent queries the price, compares it against
its budget ceiling, and either proceeds or abandons the invocation.
A richer interaction model is conceivable — particularly for IoT
services where load-based pricing varies continuously — in which an
agent can submit a counter-offer (maximum acceptable price), request
scheduling at a lower-load time window, or enter a brief negotiation
exchange before committing to an invocation. Such a negotiation
protocol would require a standardised request/response schema beyond
the current pricing endpoint response, and potentially a reservation
or commitment mechanism to hold a quoted price while the agent
confirms with its operator. Community input is invited on whether
dynamic pricing negotiation should be standardised in a future
revision of this specification, and on the appropriate protocol model
(synchronous counter-offer, asynchronous scheduling request, or
market-based auction).</t>
  <t><strong>Deployment region and service coverage area</strong>: Service geography
is two distinct concepts that the current APM schema does not
distinguish, and both are increasingly relevant for agent-driven
discovery.  <vspace blankLines='1'/>
<strong>Deployment region</strong> is a data-residency and compliance concept: in
which cloud regions or legal jurisdictions does the service process
and store data? This matters for GDPR controller obligations, data
localisation regulations, and enterprise procurement rules that
prohibit cross-border data transfer. A service deployed exclusively
in <spanx style="verb">eu-west</spanx> cannot lawfully serve queries whose data must not leave
the European Economic Area.  <vspace blankLines='1'/>
<strong>Service coverage area</strong> is a relevance concept: for which
geographic area does the service actually provide value, independent
of where its infrastructure runs? A regional organic food delivery
platform running on US-hosted cloud infrastructure is still only
useful to buyers and sellers located within its delivery catchment.
An agent sourcing local produce for a household in Munich has no use
for a service whose coverage area is the Pacific Northwest, regardless
of that service's technical availability. Coverage area is a
statement about the service's value proposition, not its
infrastructure topology. For sustainability-oriented use cases — such
as minimising transport distance as a proxy for carbon footprint — the
coverage area radius directly determines whether a service is a
candidate for selection at all.  <vspace blankLines='1'/>
The two concepts can diverge: a globally deployed CDN-backed service
may have a coverage area restricted to a single city; a locally
hosted service may lawfully serve any jurisdiction. Conflating them
into a single <spanx style="verb">region</spanx> field would produce incorrect filtering in
both directions.  <vspace blankLines='1'/>
A candidate schema extension would introduce two optional fields in
the APM:  <vspace blankLines='1'/>
<spanx style="verb">json
"deployment_regions": ["eu-west-1", "eu-central-1"],
"coverage": {
  "type": "radius",
  "center": { "lat": 48.137, "lon": 11.576 },
  "radius_km": 150
}
</spanx>  <vspace blankLines='1'/>
or alternatively a GeoJSON polygon for irregular coverage areas.
Corresponding search parameters (<spanx style="verb">deployment_region</spanx>, <spanx style="verb">near</spanx>,
<spanx style="verb">coverage_radius_km</spanx>) would allow agents to filter by both dimensions
independently.  <vspace blankLines='1'/>
Community input is invited on: (a) the appropriate geometry
primitives for coverage area (radius, bounding box, GeoJSON polygon,
or NUTS/ISO 3166-2 administrative codes); (b) whether deployment
region should reference cloud provider region identifiers or legal
jurisdiction codes; (c) how coverage area interacts with the existing
capability taxonomy for services where proximity is intrinsic to the
capability (local logistics, in-person services, regional
marketplaces); and (d) whether coverage area belongs in the base APM
or as a profile extension.</t>
</list></t>

</section>


  </middle>

  <back>


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

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



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>
<reference anchor="RFC5646">
  <front>
    <title>Tags for Identifying Languages</title>
    <author fullname="A. Phillips" initials="A." role="editor" surname="Phillips"/>
    <author fullname="M. Davis" initials="M." role="editor" surname="Davis"/>
    <date month="September" year="2009"/>
    <abstract>
      <t>This document describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object. It also describes how to register values for use in language tags and the creation of user-defined extensions for private interchange. 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="47"/>
  <seriesInfo name="RFC" value="5646"/>
  <seriesInfo name="DOI" value="10.17487/RFC5646"/>
</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="RFC6455">
  <front>
    <title>The WebSocket Protocol</title>
    <author fullname="I. Fette" initials="I." surname="Fette"/>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <date month="December" year="2011"/>
    <abstract>
      <t>The WebSocket Protocol enables two-way communication between a client running untrusted code in a controlled environment to a remote host that has opted-in to communications from that code. The security model used for this is the origin-based security model commonly used by web browsers. The protocol consists of an opening handshake followed by basic message framing, layered over TCP. The goal of this technology is to provide a mechanism for browser-based applications that need two-way communication with servers that does not rely on opening multiple HTTP connections (e.g., using XMLHttpRequest or s and long polling). [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6455"/>
  <seriesInfo name="DOI" value="10.17487/RFC6455"/>
</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="RFC8446">
  <front>
    <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <date month="August" year="2018"/>
    <abstract>
      <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
      <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8446"/>
  <seriesInfo name="DOI" value="10.17487/RFC8446"/>
</reference>
<reference anchor="RFC8615">
  <front>
    <title>Well-Known Uniform Resource Identifiers (URIs)</title>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <date month="May" year="2019"/>
    <abstract>
      <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
      <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8615"/>
  <seriesInfo name="DOI" value="10.17487/RFC8615"/>
</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="APIX-CORE" target="https://datatracker.ietf.org/doc/draft-rehfeld-apix-core/">
  <front>
    <title>API Index (APIX): Core Infrastructure for Autonomous Agent Service Discovery</title>
    <author initials="C." surname="Rehfeld">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-rehfeld-apix-core-07"/>
</reference>


    </references>

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



<reference anchor="RFC8949">
  <front>
    <title>Concise Binary Object Representation (CBOR)</title>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="December" year="2020"/>
    <abstract>
      <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
      <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="94"/>
  <seriesInfo name="RFC" value="8949"/>
  <seriesInfo name="DOI" value="10.17487/RFC8949"/>
</reference>
<reference anchor="RFC9111">
  <front>
    <title>HTTP Caching</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 defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.</t>
      <t>This document obsoletes RFC 7234.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="98"/>
  <seriesInfo name="RFC" value="9111"/>
  <seriesInfo name="DOI" value="10.17487/RFC9111"/>
</reference>

<reference anchor="W3C-SSE" target="https://html.spec.whatwg.org/multipage/server-sent-events.html">
  <front>
    <title>Server-Sent Events</title>
    <author >
      <organization>WHATWG</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="APIX-IOT" target="https://datatracker.ietf.org/doc/draft-rehfeld-apix-iot/">
  <front>
    <title>APIX IoT Device Profile: Discovery and Presence for Connected Device Services</title>
    <author initials="C." surname="Rehfeld">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-rehfeld-apix-iot-04"/>
</reference>
<reference anchor="OPENAPI" target="https://spec.openapis.org/oas/v3.1.0">
  <front>
    <title>OpenAPI Specification 3.1.0</title>
    <author >
      <organization>OpenAPI Initiative</organization>
    </author>
    <date year="2021" month="February" day="15"/>
  </front>
</reference>
<reference anchor="MCP" target="https://modelcontextprotocol.io">
  <front>
    <title>Model Context Protocol</title>
    <author >
      <organization>Anthropic</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ASYNCAPI" target="https://www.asyncapi.com/docs/reference/specification/v3.0.0">
  <front>
    <title>AsyncAPI Specification 3.0.0</title>
    <author >
      <organization>AsyncAPI Initiative</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>



<reference anchor="I-D.meunier-webbotauth-registry">
   <front>
      <title>Registry and Signature Agent card for Web bot auth</title>
      <author fullname="Maxime Guerreiro" initials="M." surname="Guerreiro">
         <organization>Cloudflare</organization>
      </author>
      <author fullname="Ulas Kirazci" initials="U." surname="Kirazci">
         <organization>Amazon</organization>
      </author>
      <author fullname="Thibault Meunier" initials="T." surname="Meunier">
         <organization>Cloudflare</organization>
      </author>
      <date day="26" month="May" year="2026"/>
      <abstract>
	 <t>   This document describes a JSON based format for clients using
   [DIRECTORY] to advertise information about themselves.

   This document describes a JSON-based &quot;Signature Agent Card&quot; format
   for signature agent using [DIRECTORY] to advertise metadata about
   themselve.  This includes identity, purpose, rate expectations, and
   cryptographic keys.  It also establishes an IANA registry for
   Signature Agent Card parameters, enabling extensible and
   interoperable discovery of agent information.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-meunier-webbotauth-registry-02"/>
   
</reference>

<reference anchor="I-D.cui-ai-agent-discovery-invocation">
   <front>
      <title>AI Agent Discovery and Invocation Protocol</title>
      <author fullname="Yong Cui" initials="Y." surname="Cui">
         <organization>Tsinghua University</organization>
      </author>
      <author fullname="Yihan Chao" initials="Y." surname="Chao">
         <organization>Zhongguancun Laboratory</organization>
      </author>
      <author fullname="Chenguang Du" initials="C." surname="Du">
         <organization>Zhongguancun Laboratory</organization>
      </author>
      <date day="12" month="February" year="2026"/>
      <abstract>
	 <t>   This document proposes a standardized protocol for discovery and
   invocation of AI agents.  It defines a common metadata format for
   describing AI agents (including capabilities, I/O specifications,
   supported languages, tags, authentication methods, etc.), a
   capability-based discovery mechanism, and a unified RESTful
   invocation interface.

   This revision additionally specifies an optional extension that
   enables intent-based agent selection prior to discovery and
   invocation, without changing existing discovery or invocation
   semantics.

   The goal is to enable cross-platform interoperability among AI agents
   by providing a discover-and-match mechanism and a unified invocation
   entry point.  Security considerations, including authentication and
   trust measures, are also discussed.  This specification aims to
   facilitate the formation of multi-agent systems by making it easy to
   find the right agent for a task and invoke it in a consistent manner
   across different vendors and platforms.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-cui-ai-agent-discovery-invocation-01"/>
   
</reference>



    </references>

</references>


<?line 1777?>

<section anchor="change-log"><name>Change Log</name>

<t><strong>-00:</strong> Initial submission.</t>

<t><strong>-01:</strong> Stream and intended status changed: the document moves from the
Independent Submission stream (Informational) to the IETF stream (Standards
Track), following IETF dispatch guidance. Capability string hierarchy
formalised — "Hierarchical semantics" (<spanx style="verb">is_instance_of</spanx>, whole-segment
containment) added to the Capability Taxonomy Registry, and "Hierarchical
capability matching" (<spanx style="verb">?capability=</spanx> is subtree-match by default,
<spanx style="verb">capability_match=exact</spanx> opt-out, query-time ancestor expansion) added to the
search parameters. Editorial: sentence-initial capitalisation corrected.</t>

<t><strong>-02:</strong> EU-aligned discoverability and validation transparency. New
<strong>Verification Basis Registry</strong> (Section "Verification Basis Registry"):
records which evidence channel substantiated the Organisation trust level
(<spanx style="verb">national_registry</spanx>, <spanx style="verb">gleif_lei</spanx>, <spanx style="verb">eidas2_qeaa</spanx>, <spanx style="verb">soc2_type2</spanx>, <spanx style="verb">iso27001</spanx>,
<spanx style="verb">cra_conformity</spanx>), exposed in the trust metadata as
<spanx style="verb">organisation_verification_basis</spanx> and filterable via the search parameter of
the same name. <strong>Freshness for meta services</strong>: new APM field
<spanx style="verb">last_verified_against_target</spanx> and search filter <spanx style="verb">fresh_within</spanx>. <strong>Filter
validation transparency</strong>: new section "Filter validation and result warnings"
with <spanx style="verb">_meta.warnings</spanx> response envelope, distinguishing <em>deprecated</em> (always
honoured, signalled) from <em>invalid</em> (behaviour selectable via the new
<spanx style="verb">filter_strictness=graceful|strict</spanx> parameter); explicit prohibition on the
obsolete HTTP <spanx style="verb">Warning</spanx> header (<xref target="RFC9111"/>). New informative reference:
RFC 9111. IANA Considerations extended for the Verification Basis Registry.</t>

<t><strong>-03:</strong> Editorial corrections, no normative change. BCP 14 boilerplate
updated to the current post-RFC 8174 form, citing both <xref target="RFC2119"/> and
<xref target="RFC8174"/> and including the "when, and only when, they appear in all
capitals" clarification; the "NOT RECOMMENDED" keyword is added to the
keyword list. Top-level body section headings normalised to start at level
1 (was level 2), aligning with kramdown-rfc convention. Cross-references
updated to the co-submission cluster (core-06, iot-03).</t>

<t><strong>-04:</strong> Cross-reference sync. <xref target="APIX-CORE"/> reference bumped to -07
(co-submission cluster snapshot for the IETF 126 Dispatch / SecDispatch
presentation: core-07, services-04, iot-04, quality-00). No normative or
editorial change to the body.</t>

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

<section anchor="additions-to-the-apix-protocol-type-registry"><name>Additions to the APIX Protocol Type Registry</name>

<t>This document requests the following additions to the Protocol Type
Registry maintained by the governing body at
<spanx style="verb">apix.example.org/registry/protocols</spanx>:</t>

<texttable>
      <ttcol align='left'>Registry value</ttcol>
      <ttcol align='left'>Standard</ttcol>
      <ttcol align='left'>Spider behaviour</ttcol>
      <ttcol align='left'>Status</ttcol>
      <c><spanx style="verb">openapi</spanx></c>
      <c>OpenAPI 3.x</c>
      <c>Parses paths, schemas, auth requirements</c>
      <c>active</c>
      <c><spanx style="verb">mcp</spanx></c>
      <c>Model Context Protocol</c>
      <c>Parses tool definitions and capability list</c>
      <c>active</c>
      <c><spanx style="verb">asyncapi</spanx></c>
      <c>AsyncAPI 2.x / 3.x</c>
      <c>Parses channels, message schemas</c>
      <c>active</c>
      <c><spanx style="verb">graphql</spanx></c>
      <c>GraphQL SDL</c>
      <c>Introspects schema via introspection query</c>
      <c>active</c>
</texttable>

</section>
<section anchor="additions-to-the-apix-notification-channel-registry"><name>Additions to the APIX Notification Channel Registry</name>

<t>This document requests the following additions to the Notification Channel
Registry maintained by the governing body at
<spanx style="verb">apix.example.org/registry/notification-channels</spanx>:</t>

<texttable>
      <ttcol align='left'>Registry value</ttcol>
      <ttcol align='left'>Transport</ttcol>
      <ttcol align='left'>Direction</ttcol>
      <ttcol align='left'>Status</ttcol>
      <c><spanx style="verb">webhook</spanx></c>
      <c>HTTPS POST</c>
      <c>Server → agent</c>
      <c>active</c>
      <c><spanx style="verb">sse</spanx></c>
      <c>HTTP Server-Sent Events</c>
      <c>Server → agent</c>
      <c>active</c>
      <c><spanx style="verb">websocket</spanx></c>
      <c>WebSocket (RFC 6455)</c>
      <c>Bidirectional</c>
      <c>active</c>
</texttable>

</section>
<section anchor="additions-to-the-apix-event-type-registry"><name>Additions to the APIX Event Type Registry</name>

<t>This document requests the following additions to the Event Type Registry
maintained by the governing body at
<spanx style="verb">apix.example.org/registry/event-types</spanx>:</t>

<texttable>
      <ttcol align='left'>Event type</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Status</ttcol>
      <c><spanx style="verb">spec.updated</spanx></c>
      <c>Service spec document changed (new <spanx style="verb">api_version</spanx>)</c>
      <c>active</c>
      <c><spanx style="verb">status.changed</spanx></c>
      <c>Service operational status changed</c>
      <c>active</c>
      <c><spanx style="verb">trust.changed</spanx></c>
      <c>Organisation or service trust level changed</c>
      <c>active</c>
</texttable>

</section>
<section anchor="additions-to-the-apix-capability-taxonomy-registry"><name>Additions to the APIX Capability Taxonomy Registry</name>

<t>This document requests the following additions to the Capability
Taxonomy Registry maintained by the governing body at
<spanx style="verb">apix.example.org/registry/capabilities</spanx>:</t>

<texttable>
      <ttcol align='left'>Term</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Status</ttcol>
      <c><spanx style="verb">commerce</spanx></c>
      <c>E-commerce and marketplaces</c>
      <c>active</c>
      <c><spanx style="verb">commerce.marketplace</spanx></c>
      <c>Multi-vendor marketplace</c>
      <c>active</c>
      <c><spanx style="verb">commerce.retail</spanx></c>
      <c>Single-vendor retail</c>
      <c>active</c>
      <c><spanx style="verb">payments</spanx></c>
      <c>Payment processing</c>
      <c>active</c>
      <c><spanx style="verb">payments.card</spanx></c>
      <c>Card payment processing</c>
      <c>active</c>
      <c><spanx style="verb">payments.crypto</spanx></c>
      <c>Cryptocurrency payments</c>
      <c>active</c>
      <c><spanx style="verb">data.financial</spanx></c>
      <c>Financial data and markets</c>
      <c>active</c>
      <c><spanx style="verb">data.legal</spanx></c>
      <c>Legal documents and data</c>
      <c>active</c>
      <c><spanx style="verb">nlp</spanx></c>
      <c>Natural language processing</c>
      <c>active</c>
      <c><spanx style="verb">nlp.translation</spanx></c>
      <c>Language translation</c>
      <c>active</c>
      <c><spanx style="verb">identity</spanx></c>
      <c>Authentication and identity</c>
      <c>active</c>
      <c><spanx style="verb">communication</spanx></c>
      <c>Messaging and notifications</c>
      <c>active</c>
      <c><spanx style="verb">storage</spanx></c>
      <c>File and object storage</c>
      <c>active</c>
      <c><spanx style="verb">compute</spanx></c>
      <c>Code execution and computing</c>
      <c>active</c>
      <c><spanx style="verb">media</spanx></c>
      <c>Image, audio, video services</c>
      <c>active</c>
      <c><spanx style="verb">search</spanx></c>
      <c>Information retrieval</c>
      <c>active</c>
</texttable>

</section>
<section anchor="additions-to-the-apix-verification-basis-registry"><name>Additions to the APIX Verification Basis Registry</name>

<t>This document requests the establishment of the Verification Basis Registry
maintained by the governing body at
<spanx style="verb">apix.example.org/registry/verification-basis</spanx>, recording which evidence
channel substantiated an Organisation trust level (see
<spanx style="verb">trust.organisation_verification_basis</spanx>):</t>

<texttable>
      <ttcol align='left'>Registry value</ttcol>
      <ttcol align='left'>Applies to</ttcol>
      <ttcol align='left'>Evidence channel</ttcol>
      <ttcol align='left'>Status</ttcol>
      <c><spanx style="verb">national_registry</spanx></c>
      <c>O-2</c>
      <c>Official national company registry</c>
      <c>active</c>
      <c><spanx style="verb">gleif_lei</spanx></c>
      <c>O-2</c>
      <c>GLEIF Legal Entity Identifier</c>
      <c>active</c>
      <c><spanx style="verb">eidas2_qeaa</spanx></c>
      <c>O-2</c>
      <c>QEAA from a Qualified Trust Service Provider, Regulation (EU) 2024/1183</c>
      <c>active</c>
      <c><spanx style="verb">soc2_type2</spanx></c>
      <c>O-5</c>
      <c>SOC 2 Type II audit</c>
      <c>active</c>
      <c><spanx style="verb">iso27001</spanx></c>
      <c>O-5</c>
      <c>ISO/IEC 27001 certification</c>
      <c>active</c>
      <c><spanx style="verb">cra_conformity</spanx></c>
      <c>O-5</c>
      <c>Conformity assessment under Regulation (EU) 2024/2847 (CRA)</c>
      <c>active</c>
</texttable>

<t>As with the other registries in this section, the Verification Basis Registry
is maintained by the governing body, not by IANA.</t>

</section>
</section>
<section anchor="references"><name>References</name>

<section anchor="normative-references"><name>Normative References</name>

<t><list style="symbols">
  <t><xref target="RFC2119"/> Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.</t>
  <t><xref target="RFC8174"/> Leiba, B., "Ambiguity of Uppercase vs Lowercase in
RFC 2119 Key Words", BCP 14, RFC 8174, May 2017.</t>
  <t><xref target="RFC5646"/> Phillips, A., Davis, M., "Tags for Identifying Languages",
BCP 47, RFC 5646, September 2009.</t>
  <t><xref target="RFC8259"/> Bray, T., "The JavaScript Object Notation (JSON) Data
Interchange Format", RFC 8259, December 2017.</t>
  <t><xref target="RFC6455"/> Fette, I., Melnikov, A., "The WebSocket Protocol",
RFC 6455, December 2011.</t>
  <t><xref target="RFC8414"/> Jones, M., et al., "OAuth 2.0 Authorization Server
Metadata", RFC 8414, June 2018.</t>
  <t><xref target="RFC8446"/> Rescorla, E., "The Transport Layer Security (TLS)
Protocol Version 1.3", RFC 8446, August 2018.</t>
  <t><xref target="RFC8615"/> Nottingham, M., "Well-Known Uniform Resource Identifiers
(URIs)", RFC 8615, May 2019.</t>
  <t><xref target="RFC9110"/> Fielding, R., et al., "HTTP Semantics", RFC 9110,
June 2022.</t>
  <t><xref target="APIX-CORE"/> Rehfeld, C., "API Index (APIX): Core Infrastructure
for Autonomous Agent Service Discovery",
draft-rehfeld-apix-core-07.</t>
</list></t>

</section>
<section anchor="informative-references"><name>Informative References</name>

<t><list style="symbols">
  <t><xref target="RFC8949"/> Bormann, C., Hoffman, P., "Concise Binary Object
Representation (CBOR)", RFC 8949, December 2020.</t>
  <t><xref target="OPENAPI"/> OpenAPI Initiative, "OpenAPI Specification 3.1.0",
February 2021.</t>
  <t><xref target="MCP"/> Anthropic, "Model Context Protocol".</t>
  <t><xref target="ASYNCAPI"/> AsyncAPI Initiative, "AsyncAPI Specification 3.0.0".</t>
  <t><xref target="APIX-IOT"/> Rehfeld, C., "APIX IoT Device Profile: Discovery and
Presence for Connected Device Services", draft-rehfeld-apix-iot-04.</t>
  <t><xref target="W3C-SSE"/> WHATWG, "Server-Sent Events",
https://html.spec.whatwg.org/multipage/server-sent-events.html.</t>
  <t><xref target="I-D.meunier-webbotauth-registry"/> Meunier, T., et al.,
"Web Bot Authentication Registry".</t>
  <t><xref target="I-D.cui-ai-agent-discovery-invocation"/> Cui, Y., et al.,
"AI Agent Discovery and Invocation", see Section 7.2.</t>
</list></t>

</section>
</section>
<section anchor="authors-address"><name>Author's Address</name>

<t>Carsten Rehfeld
Email: carsten@botstandards.org</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+S963LcWJIm+B9PAWPbbpLqiBBvkjKprs1hUlIld3RrUars
mrYyBiICJFFCAFEAglR0Ksv61/xe29ln2AfrJ1n//HIuCFBSTffsrNmmVWUG
I4CDAz9+/Pj18/F4nHRFV+Yn6c7p2/N/Si/y5raY5236tqmvCnz/rGjn9W3e
bNLz6qrJ2q5Zz7t1k6dXdZP+ks9Sui/NqkX6U92523eSbDZr8tv+sDvJPOvy
67rZnKRtt0gW9bzKlvSURZNddeMmv7nKy8U4WxWfxq3eM94/Ttr1bFm0bVFX
3WZFl58/f/8iWdBQJ+nh/uHj8f7j8cGjhB53lCTZurupm5MkTcdpUbUn6dkk
fScD03dpKg88y5q2y6vol3yZFeVJOpef/tOs7tqO3ixrFu2kbq6TpKqbZdYV
tzlGf/fi7PDg4Af9+P3Bk2P9+Ojx8WP79vCRXfD4+NEj+/b44Nh99Nc+PrAL
fjg42MdH0G589ubd8xOeX7BStBiL/FO6iyv26G1qWpCB9Tldd3VVL+t1m55e
55VbIL+qOzyypxn+GaYbrUeRt0V1Vdt151WXN1XejZ9h9QYXcU4TG+8/keln
zXVOl9103ao9efiQ1i/rmmz+MW8mRd5dgcYPiSMe3jPOwyTB0+Ml+P6H4x88
1Q7w8Zejs/HFRY9mePG8GV+ACM9v6d/t0JvTDE7SX34+ff/L7wenfNMty0m7
yueTu5usu7vmKS/XZVessuv8YSsPaWn4cc4PmeAOW8nzN++3FvKf0vP6ffos
51UZ2HTYWW+bnIacy5Ke1VWVz7t8YTf5vfU/dCWLusNO/PcuJA3zkAZ58/b5
a3r7iBxvVnkF1r4g+hZXBUkK2u/p0eRgsn/fUtkt51XRFcwW/KuTDAfj/UNI
hqFZ8zLWNADNi/f3wzprH97a816dvY1m96pe5CWo3+WfOqxUV8/r8r6JnVbd
TVOvivngo5cYay5DrXSkSVGDTy7++PqsT5jTdlPNhyizfz9l3D090vSncnd3
N8lwLVFhMq+XWLf2YZNf5Q1YjqnkHgnqyDPPx88my3xdFcTud/mMRCXmQEt9
XZAE2pzoJfN1Mc7of5A944Ux9biobmsZ8SRJxuNxms1aMFCXJO9vijalOayX
2KmL/Kqo6DTqbvL0nvMpq1KiYl7hcEi7GpcmfOmQTIzehi7NupTWf1bSgItw
y+EQqUnO0C6jr/wd9VV6Fxx59Nokmap2vcQYqZ1Yk/S8S/RRbvKvUvqjXNBF
nYhmGsNuGAUvuCoWeZNETzUWGaUlLSPRo02XNS1r3RTVdUoTuCqu1w1fO6Ix
s2Z+wy9BBKJtnf5ljbdq6XSrumJOD8PU8UB9fNrkJF5pZvMbuqZNd1+S7CrT
g5Tea5k1mwTXy3eH6dW6LPWGPfovUbUiIhHdhQ6YEK82ESE4fOSrhAleLFdl
zqvbYa1XspB06lZuDSLipNdlPcvKcpNeNfUyzRKSXNd0A41Ar7Wqi6obpflt
Vq5pvfBeRZPSgrcd/dbyqt8VtD3WHb33JqX/juur8Qz0+VjVd2W+uM6FJG1e
kmD1z+XZtkTW9mqj49Z3Vfqex35bl8V8MxH2XRaLRZknyd9BkDb1griN1gLM
rKs6xIu//uqO999+izidtiGtL3HJmpQPHgkMI5uI1pz+ky/c4jm+PeF7r/G5
ynBasJQZKS34j2RRLGWnEBfgKXkzL7IyratZTVoO0ZX4h+7FM1tcsCoLDOVZ
Zpa1eSK6B81+kr4Hjdx2LWT+Io6KjqVO6mQJsz0tJFhlnq+IHzCq06nowr+s
i4ZZo03bm6yht8zmTU3sbi8L7a+d9KUE7/9FG5AaT/qGjXqSxIudfyKWofmT
bsrX/fz+/dsLYrSFctlqPSuLljZXuszmN7ReJPCyBS5NYsliUxPC0ZuoGOFR
ZxAxqZcw8yYjNmxATDrnE1wNKq6aArsvend5sZuCNji/7B1tV6L0dVHxBmHC
EikXPFbCPMUigohJ0pWm0EICQIzRDIJNRvNkCdgVtPi6zyrWTBasZCT+uiaH
zE5PlUZKlDk9PZsTIdsCrzjlzXnJZJumH969nPAtfar15DGtQKbDpVM+ntdN
OU139ZQfyak8cmfbiN49/X2TrW7+8WV68ezlHp7y0onIjB5O/ycKE8VFrqY3
eVZ2N0SQfP6R9kBVd/qGRG5VstrimqjZYqzXNfSnjndTmW3y5iSSm8ru+udT
/NHwt1WdruhgXN1sWnq3ckznZEeTF7FJ7HtuIrBu2vTVh4v3Tsxge9yzI4oq
FhnJLL8Cr2erVbnBKvPWWywK0DIrt27uwj0zEeH0Md+kdzSnNt3BNHZG8t/0
9Rv+/O75P344f/f8GT5f/Hz68qX7IFck9MebDy/1d3zyd569efXq+etncjN9
m/a+enX6xx3eHsnOm7fvz9+8Pn25szVN3jp0uMyIrFBRaZGwY8CseTtvihn9
UVTJT2dv04NjIo/aZCRP+TOMMvp8d5NXshPrivhU/iRqbUA7Oi4xBMsl0oE6
WnreDe0NhD1WlGhFkv193tDpVpf19UZod1WXZX3HhKefWp6qSPHF1lrxw9ct
/cIsogdSQhKOtyhrQryjR9AURrK5X2VVcZW33cg47LJYROJ8lJCqRxe1qs7w
LyUf1LtvxvspVND19U36Zvxozw0SKzR8dbJ7EVx9MT7e85pGdE5AZYUgCU8J
WoY8h5QhMp167hOaBPSI1pVEyIMHrNHKpB48SP/tX/8vCBWnkkCRzHEEgFgq
DiACp6xBEU9kCUn4selGKRSAPN1VhX6ULucrrKNotqP0GmLiL+XeJP2ZFtck
fLIlqERgD0sqv3vSPzARWbQkPd1tou9mf+u7vZeDMZb5fMbWlShDJP5kbXI+
ypKYFqLftZBlV3mH2V2bNLMDqhU1JpSpiU1ZFnKVNSopSMBfZxBuIalbIh3x
fac64noF9aO6Tu5nnZbf9p0fAiZKeqHjBK/+ZdHvpinvhi2ONyH5KNIbJFYJ
TlS6Kho3b1N7oVp0SZ7xyfhKpp4LUelMMzE4JV64pLeACjTlQ9K9s0rzJFZX
TF0T5m/xltV8o+cHiRPSkWctCVr2rcgEm3UlVHEn0SuvrJ+FynpAnhW7DYTK
xN+drBK90SLvWPAQT5BAoqNZHlZGNKGDRSaU2Qb6rlXmSIw5tnkjPAz8bHVS
z+6TZBc5b/z0cJK+6JsxibNPiJjLPGvXwfoFWyK9LTK8clEv6KgXLSs6mRNj
zumvwQb97aFcpCvnX55PMDq/aStBfbvNijKbFWXRbUaJ+7oj3df4Gp8xgTmN
Tnr1xHwptgTuPUhmE1VJb75iriDBS6SGyF2mu23ulPjzN+9/+22P6Wgetnc8
rWCJ+cJAKVGri5XiWBlLaKfORHMz25EdoF0X7AZ9zJu7imjAMlLoMVYZskj0
pMi7DA4asseELrT3aFN0dzVkYrUuSSR0G93NJ6nZfrtq/IGAauQRK6hxSTRd
l127l4aW4W5gGo68aYjNTVMoStnae8psV/l8M6epXID+AZXm66YRy59GrVei
BIBz16tV3XSQ291aNFgTSyekbn4CN+HirJyO0umMnoj/ipTHp0VOugOcz4sp
C4tpS9s076Y8HWyLy2B/u+NISRqsmhjxTG86MIkD+NwhS2Lq7qeDZJePCxL1
xM6tEzF0rE6XxDr42q4BN13rKQeVAIutAkqFGO5aVw1EG7+M3oizCuorU5VX
ld6K5DstEf0hZD6dk+SjI5nG1wPLTqPTKo10h8xfqQwmhiSk/6xebHDgEonh
fSV14piXhNSKdEAByVraMy3LW9Gc2PehosL8N/T939EWYQ11kb4AUdvAXjbV
Z2B3OGvPzFEbf5mZv2iR9KWWCAyvsbFpS5JVfR6sQ7OrpmYN3ARasqV7sCKT
O/df+h5G2Tv1eqW7JhyP90jD+etf/5r8Smr/TrZa2qGzc5LuHEz2d2DL7Hi1
Dl+TkUCi3UzP82fpeJx++ED/vT1OhXr/NC7adp0v5G7EMXDfDRm1VXCuKpn4
Z75QVOVVp4+3k9jxCvReFZfm8pEbS2LNNW1Puuufd/Jq508jeZsifBvzKzmu
JUqAxDT7fHI9oXPCvW9pu/6y7WTYnXDjfsau/Szv/9nv18+yU5Vka7qe9Oi8
lWcbAUW9FJeQvwaTcMYF319DXNKtv7IzdCdk30sjaJlf03FPY4Egjox09Z/X
ZEDTiWWUPL94kx4dPH48PiCuWd1k40NirDXPYU76ud0WKiqX1Xo54xng60kq
f2KejW0GsPyb8eHf2+1Quknnbt2sMW96Q9EHmYiIW2EM0nRIXgVn/fiKfoGz
KSNlk4YY2QDEElmZ2Yu4Ac7KNfS49Cj1Fzz1JOS7f6N//yaLQU/wtMQGwWCi
iLMPwZTz1pS1jb0UGfa4FkJMfLZf8w2YrmIDhBwIcRhz346bo+Ptglnmn3Wu
pFPJFMPft2b5tcvoKtkTgZKCGbFYwrvRMRV4CIQFWUrew4J8CmMENt9qFrG0
LLB4SCwX7HeDDWsTtA3g7ruQ+8iG+/J9vQMPt5IqUH72h9hnO6k+B4dPdD+f
PDxKPl/DX3Gp3AZC7+uVFYnry5aP0UvSjC+zznbO94/3D1gpox2/XGG6uDbQ
ou1hpoyFG6DM2u5yRSt974Ce1/kydh8Qa17SZGs6Puimo/19d42ohJdH+4tL
VQvpgh9+mPzgrshury9Nl7xc4v6D40ONv/gtwfMyDexStdhLCbpE89ySTHSW
O273r7qjek+OI4I4JzehQGpDRQqbY+nU0WZ4K4bDj+3uPsNvi6t4n5qpCDuD
7B53qgR3S9hTTgx8HPNc/hRcwbwTj8tX2lkcUkbv+o3/+ydPZUjoQPLA13BZ
X13advCjGw+tmuI2m2OLwm0/cAFU5EuSV+zCBFtdk3IHgRNOdVtMHzkxfb1Y
NZesR8x5p0TLFZ4cl1dldi0U+toB4t8YLnWcSHOT2frqpN3f1AsZrcZFh+nn
FCc0PHuf0xnp67Rcn9NlR6v9mbigcouh11+6AEJvUd6c8nA+LmaWpBeuRNU5
pK2fDtxSGOMKqvFnmKv5slgv6eMqo1P6M45VuPGKFj8vNnS8FvNgkTBcbx49
/UYvShFw39pFwSButoHKEw2SuxfCMDYVf7hp6sflXcZqsN9qTgixLbDDcXyL
7q2y7sZLHt5/uACHgNdo1FdFuiSZl/5q24yXYuPgPn+Pv8x/R0LtEkH1UB3r
nYPuLlGiLmFQRHKIvwimsCqzOfO9qCjuT5mzv5KkbKs6XG+BlF5eWZAjck6n
Xr30RzCp4JP8UwY9fMIMRqNhe26unUCJriFdtYVn8TI07/kETn5jVZvsHbYj
IOrIIHvwIEmmXxLHUzgpjHssAHhF7yHy9iQtOudbgGOIeLm9YacAn+pFG/ha
OJYPvUvdFlhv2CkNu0L5cRjOnNZtsivRnQJRTRIkMNIfBnp6EBkOlPMpLpvQ
io8hQ6d7EuWR052Wp8Bail3kj1U1jHD4S7ij6FpIpu6GzHW8DdloU9aKJ6Zo
Trx2OZXoxAw7pr6lg3mB2LYFPixCFZ4tSbZYNCCSBfu8z9MceKyKnohHlXWI
1PQGOCZMBT1MWKkKYt6L/LrJFurvw3phdVgycQicgyY0Z1CFJqjzSDQuwSqM
0CbPluYs4mAVZvoxz1fmbxnyuybqlxiglteUY46arbsw5hEQLvG32DTTln3A
NQcnPD1k1l4rh+lO6820JsucnWiqr2GF6G2W4vO8yVpe7VlOw9FIdXmLML26
+PGWNugBR2Ed1eG4IYqSlbyo78ShXBYfc+JTPfkQWKtor4pnpsOjOTOiodmQ
8CfubuB5hUiMMhPUmxGvThqtTsZrk5QkSXy4gqnNLhsoLuAoeX7DBLVoFUeI
FnJC0o6raZUCJmayqSqeieePZAkRqVog9WNWdzeSghEsDCR5olzPEb0gtGby
CtwQepRlOuJmSC/MMP6D/Ar2OkT6DE/ciwI816R2bC+QYEEMiiOdWEyXSCJ7
Wm+iSTwH9eKZ6BGDl1tXnKBBgnQOvzGpAJHPH9vQPFTMC/OsQX4Y/C7FcrkW
f4Qmr7jsBR+4Uje6OlLatp4X2O7iO8ksZk5PGiAVVk48YGl2Bf4T177EgF2C
UIq4EhJLdBaOEzMyGe5ShOUaR8JdeB1G6fRwcjTZp6X/r/8nPh/TZw4Pv8uX
tKR+sJE8PxweGisz3DL7yN8jbQSx3XRGfIqv6NTRWfenkv15cCrHbiqcQIWp
SA5DIds0w1651a3E3MqyIiMWbeB4vaWjIkOmA/If595J59aNFa9JetpPwxFp
ICdQm05vaSpTyE1kCWB82gnEpbjQYnsnSX6bB2kHbANaOMK92l1BG1HTJYyx
MCGmoIv7cd6KPBQcnC45Xs1JH2nJwUVcgPvgGmKnPO+ALI7uTJLI2y2hVg62
cwCcdU1i8EVTr5Dfs+DTRmfCOQXRsiS8IzIWcpIXZBoVXux6s6wyyZLAOohn
AnfP1nSa6sFHL078WXSjpF1f0cmHlBw+Bee5T4WipyEk2vfU34AMC58ZhuMt
ji5izkH6g3mGNQQgHBkGuXSjgf+GZMAv5y9f4nBYrGkSWRJEtMzCJ+HZ3eGg
cPPxU7FUMQnFGb+J5qEHOu9kjWawXpSx7Lhga8bHzJwrioaUnId1c5UhjaJL
1K0ax054HPbhx4r4VPx8RNw3LOORRAGyVrlmosnWlIwteI51gs523aLURDYj
3FU5HelbuWxiQrdFGW4UkQZ6CpirNFIBJukvOM0ls6QbYVObOpXBFBvnyxWp
df/7xZvXxNJNtkmI+5HLcPwktQFp71636S6nMyCxHGEmOT/mZdYoD1WZLKjd
1IKgkiYUHyeghjkxaPfZMgc6FVkkzZiWBVLOabWNC6qRIp6eX6W1BKPk0KTN
nq3Lzh85U/EWTyeSdN4mr07/iIGFO1TI1sP5dnJss3GUeWPbXmySPBdz4AQP
gYs1lUeJuumElnpNsIK/ZwnH7/a8usZRxKd2ZE9/RXEbXEWmTsbTnKoVPpVV
pC3U8qNx0uIYgZDSk92HIFzcSO3wHUSpdtR0lz/EepfPMODlE9vwoK3PDEOg
2J1EUFWitxOmU4YB3cQLMHVirNzIOwZzAUHo3dyb0YOH3AXb9sFTbGf+Ukxr
RFTEONl2KDgps0vMnaIqAuRCttf5s0Tz3H0qvJg76dbSCT9ZGq9uWNIAacHG
f1nTk6845YcPcE76mUv2nQ3iBKiRU/KqEp+kTDvjti5YBbmjswGxWxwhYzKx
V6Ii/2Vdd5mKDTHg1BIMEwxzPZLp+TjzaUNMXGDYjKNFnYtGwEYrzRUpQjTP
rEyYiGQGgsI+UYQzmnjnDC/QSCwKXX3asUWbOHeuWlGI1LIy4CJC22uETaOu
lW+SceHugG4yDSKnCW+M+zYEKWlT9h/tiOJesUQnBUaDgRuiHBHyaToN/EXE
iCRjiA9VMk3cKHA/6UiZqgoFETr/RJu07Q+i5kho7/JAcF7ZIKT48ARABZnY
YmsufaOZB/GuLx3KXFm81xYFXbrmNM4qv647VqKHBiblc2to8175cRGYZi0e
sYhF6l0KaVlnCzaneEcQL5RjaF40LIl9HKbBQ81DNvRKjh8musDsESmvxsZr
zF1FwM7FYDLIhMO+4sVgNUO2lCiXjsFzx8KOoeS8UQ0lGZjzh3cvebO4TcXe
BrhUyFhhDZ/4fFWSxFbrPmHKtROk6cQKACQnGdFiB8euA06vV9/B0CwWJJVZ
P9Z8TS9XeO4YQrPXbRCXOyELGTiVkIKuOs/YrGsQdb2Ahwnyh1STgiPvr4q2
yXVbuuIF9dow1zEVzUYR4uJrt/dIfyjzhDmcvt+T0Ytu3bHhMBOTPTZYxVj/
ru25Tkxhcpqf5I9wQsmaFF2p3SARBn96yFiDm6qXnQ0vMVOaqYe0wC84jE0j
YWmhdjorJRgFK8E5LHqH5q0MTcivLt1rWbIiaad+N4T7EomuobNCV8bJNNmN
sibM2OYv2n5dKaNQxpTiDrLT8wUkhmczl6Ts2Y2oU89YKoPLLNOGmUxOIucQ
t1UiRheRLekMf25pOX81z3+OUNklcpsR75vs7z9SRy/GlZgi3MzHhwdPUvuS
4xouN+DDxbNR+vzDO4mA6Ug7nOJG/P6ZJvyRKPoZFj6xHX34OEPUgHO1Lsko
auRGPhlpIl1R3h9cxBHNlluhjkZed1wig/DvmoohFSZjqKyyBbFYza1RkSal
CQ0kSi9FaiIeODk0V/TURpvqEn51wFRSO5xhL6uXiH0MyarRcL2fx/ceMGKo
jhhec6Npd+I8kTwXOg8l4zbcp3zTTV0RCflxPNxC5L5f1qlwtNdclGnbRFW6
kVgxTFO62780Z116viMiq/LmL9GVSKC5BAs49VJCdwrKClb8ZuwhEoeGrSzU
YD9oAkJ5UuMsREWEzVty2ODW8nMTR4ta7Ivo4Un0cAjhSfozC4w+Pfir4N0W
axal/jHJLnYvchwXcGYah3Nmlbqh3InsMgz3MDPLoBa+SLY8g7EN91QOVnfg
CdcISwWzcTWHSXJa6bs4kuO6j3kk1oXy8TKZ84S1bDkBk/B4cbLESx3Wv9qb
gFKT1D+fJLJkKOspGvKhHYEIXnzpAMyLUvwjsopJhjqvuuq9P/8OFTdrFv2l
UzexjYSkok/zPFeNJ9jw2+EjdcxbEZeKV6kOLgvWtUopxNSUF7+YUNLoeSYd
dg8m++nv3Ld7/Og4eWoaVYwFDlM47Nac0mlhqiB5bpKEmXRuyC1G83V5k/QP
bLyJdp7y6vyN2ZagjUu3RGIxvAVJ4bwIfFTqvRNf4QnBED2J0zb5WTwNWpdy
vYCnD84Zc0LEGaqSpGtZeU8mhyDlZ0k6pZPkVZ6xW/5z8nk8HvP/6dfeUz+j
/prUiTLPYLFxqTT7rZZQHMXXZJtBfICTlIeRqX5OX+RYkXzskg5ncmW6yTuv
1QoBJulP6mPWoVtUMbKyqaMqoXhaVmnIys5m4F51Cgz6vGS4YKVoyItQj8O6
3OlBsqBvaG3WXOJF6+ANJfcCyOme+tw7e4AufDC4kwzsRL6u00XWfJQTOdTy
g4j11Ott7Djs6hXZYP143UwNYQkzfU6S901GqqWUTUCBJ1kiyjhHcfppw+Kf
l0Xjj0Zp+iOJ6CS/uvzh8KUHTGO6aqQCCCYOv4EGRRGsKuFq74JBFpezzTRV
oeWqERbq9ORj1L4FBaIjfQbjwYV21tVCfB4S9eon/CLTBNPnhLSpc5iz7oha
SNpeLUkrqJSb4AVM/jrLMi5Wpm1AjA4jyuWtM3BH64oxsGvT6KkqXURBvslu
cfogsqBCB56Iuwayooqnsl5JdbQm7fBabHuL2S79hhdSjTtZ1at1yboU256m
duTIl5/nWrfgIhcQDLdZFUcRbrI2IWG/AoHCOoFeDcXx5GiPJOLainLiJ3DS
AZPHdDzxFyNbyoUzdfWlTmErx8SJ00QjJ+6Ul2hC4JF9GtQYKN3tscV1Be8/
yCtZHN/u5fa+bRxHkpRCxikHLDVRmC+GutYg8NTm40WNfHtISCGmmKjJ9Msp
I9M9zlFvJJcM6U+k4JSFsJ4GODhXguxNyZFd1KTZNa1sKZmjD0qq+4p9t8S4
VXq4zzuwyG36kmzs7hA1IT04/N6X27ZaZunIJk9hkyDI6xCZp1VVtHktAqiV
qOLfDVfbfCPE+sQrnJNq5wnTJbAjdDtofHaU2ElF0qNeKNsVja14Ufl9wSc/
n/kupiveOyei5a3CWYQ1kDj2ffBX52OOgapLaBZtsciDjai+CJmExm4i9RYa
QBQq20usvhppC0WOJAfnb2G9ICCbLHTf0ZTc72gCEyH/e2sZZVdqMFAKJSCg
HQyFLxJi707WlJuE2U3dMC5XDBlCKhihTcz8ghWtWivp1ZoD7iRNE4v4b7mN
LU9pe+rRkn7XJrpm+N3yzQbcXREYQxSgsdWniQE+oeoxwYbVgM4TC9GMqWll
pNzTnOilnyaunNf5prL+UN+1HrTCB9pDAAeXpOkimJ6/mP8sEqsLSCMva5fd
cSLmrXvuR1cQzFTrH19gJ5LHdDjtPtpzcZ1QooQHbDviRXJVNGLrwchBhSo9
1AM1JIydI3mwHsXC2EMMelqQBed3+R2tTOhZJKwdmlhRSmbeS2z4NSQmx95c
6KVH88RT3NX1I1Sn1Ve8anxequji7UdKYclRu8Rzrwbuk2mU1xwbTZwdEOtg
bCuIDuatEzZ4BC0iiMvJ7c5uOL9K42dNXOq0OOOQjjsd9SY0sVToaS9sgULq
rO04hmfh5rhYuAhKkLwrMnaIjqToe7bZCiknmifA0XiWdNAF236h0j1YAFzz
L6GSaE7uLOUdyBg/UxH9JP3YBRGgprgDnqEJ/iygUlupF4OPaHI+otUzOZzE
4Z1YaTwkslQ0RF8PDQ4p6FQRySWA8Est38H5aEjiX1/DTjHvpxeH41AnxUsE
BaPuyL4put7z/dlBr+QSD6UmdQJMI1owzk7r/HBaehsOlP59aqWqsQX6iC3Q
sSwFCu4azjfgkyqeCbYsknOECpjOFgelbEgOOZWz+L38XDDtXtE4QDVCb68j
gXfwyFd7vR3gRtWNsMTWp2N14wlnz5gAcq2xEwf6SRKZLQ53pTc3MwohrdOp
e6D5UTjPL6SaJhfa7bxB9OUQURGyH3765P2aAZSHSxjMyknvPk8K7EFegigI
HVzvXeaawcBZy9gl2BkYZDeQYSfpo1QLUpgvXDokP1bVZz45XLi0IU75dcen
iNcfkQQRFeXBNf0PJMjpi/9t5zeVjVFmEPt3VF8PWFkfz5g7Y+ZrGqqI05px
yMSDqfmQ+Xwi28ailvAupoEySw1PB9N9HBGVme+TnK6WlAVmmC1Hz9CCXUlg
oedEiEuOraDqsbHokqyUh79Uj8aes8GatMQQani9Hv7x9NXLEZBqsCUUwcPB
sXlkoC3sGohaP6MvifKBK2f5IBCPg76K+RXJI3Q/h5LpLRf9jBFNUaBBDY+h
B8IA3d5SB0m5Tc3wihBxRK5xoBCrcTE+xMzfmEIKXLoyqPcKjr0Y2yF4sEwH
3MTPidPmDDKiZZ5tA4NjO9MV0vwUpb6D+A3miR7KiAuT88DVbm8UvtKbVawc
yWQuZ9T55HYvxkdBkfQeZvK+B0QhJ93Cy6k4iVCOxzbOA2SafAnuAom0UeIg
X27T6jPUfYcrn+bR8SqEt9mHNSO9s+9gzwwpX7gbnPmiTCjiF7tcQ9wTPCQu
jKcT2dciEMfWFSd/Sxp4t+nHplXosNnkVAh2UmiVdeJqza3QOjX0DcbN0pFR
RS+F7fdVgd/CfU+v03RsPZGVqm/t68gDv47PlAnK9bp7i8w5YIaqH+cKAXSl
2XIPXcnt1FyFOqshbDaxnsu7bEPiXuMV7IAg0t0Gbn+LDneSUZIjbG67Ay+b
BC+7BW74NLCSnSEUFvG7KdIpESTZO2QfBn3TEoEg39YM6omnvM4wcZH9MMZx
HzYTRwTcELIGHCIQMyv+57NJCZKb2W2B+OkX/uFhAFehEYbon60vvvrDV65m
d7viH01tAnYyHU0+xTN7i2SvllUrslUV+3HE/BHbGnx1NmeFS1z6y/lqGg41
DI3qn9HV9JcvGJC9HPi/mOV6zzDkpqk+wx2gh/QiD93ruGeYHTdKtTLNwVlG
bx09QzGhHK2C4zi+i1EdsXtZkEnKRd92eZpC2MneCJ+TvK4BRuux9GIww3R3
Kl+P5yUdCgie3axn070enFgSAs04UEGc0c791A/cMcSGeyXh2p+Ma5ME4D3O
s9PDuTgxuKypHL7B2RAILgvvsmvSHuR0rN2wHKdn3LBjtWWXeVlvmM32tlPK
WQZL/otsRXtGMbwcCufqdP+//vWv+hrJr+nlpVaoSPUm38Ry9Vf2k2mJMapd
MOj2L2G98/avspRWGIof9COd/Av9KPGVXQ2APHOeeikU3gvqt4P7Sf1u/aXu
yy6YAR5BAvt9/6vfdG74J2uuW/vxG+91d/+mhZz4hpNb+qb02zdQF8B6shS0
56Znkjo+fs/cpGXRDCGMHCLJHkjIjuE7YMb8w8CiivFymh7u73t0J03WleMJ
+rbg0+gpKnU8UwY8siWfpvUM3o1eBlsrwcyrdSm6sJQi7qJsgejNIrAtOkXS
eQ0/TMlOWeWjOLnu5MGDLRdDZfdwJCd+P5cBx/nRXnlh+84yuEiXhSDb0mST
WJMV3KR4CMk6Yu+XGJGeBEom8R4x405PpPx8lruIpNxpugCyfOL5MxOxg5m4
Y1dC8Xy4r4uyG8M1hEK6RvMi+ne2J+n08vJCVmeEz+CTKXKq9PN/Ji6UX7im
Vz6eV6t1x0EJ+ft5tV4Gfz6T2O6tG8h98VITP3DdT3QY5Rl/JLGO/7wo64w/
XHBAin95Nt0j8rxF4I85ePpRJqSEmcpmnjKFRjCFZHufME1GrnDhoagoGXDC
xWQHguq1WBLin+f8VdDEMLM8bXF2CAuJnp2XBeminGEyr8l4gE5qyGSQ4rsi
nGFyN8j7Ju5tV6SL74nvumeJqIEibtoHD37a+tXOa9boVPZyWfXn9Eyu+ewz
DuIUCq6yy+XF6Ko/0uTCr3WelWRhcxQqvvB0schdnd/Ck4zLGPUWGcTfc6ZI
WiEViXfvvV6eYQvkfn5dB78ia0KnFn3v7nIzcxd4aa1D7i6z5iN4JpTkIvTp
mOf74MMIfCUOs805TDg29RnLFKsicLST0bSA+Lmol7nWefFvdlq6Q14v7kki
QcPM55IzpKB97DISK337qHUFA1WSNw3xhiS3QUqLHvHrDn/PiAmTyeRPv01j
8WwaWlDJHD+ncJOVxDge//jTp73IFyC5IJw70YOzOUkjwDSrFW8Y2bNPW54z
0lITUwgvo9lc2lQMMFLVt7PT1/BUwbmRk6qHc8NK9bgYRRxQ4WuZn1zm/12b
nr9NGzAtvyTpb5JcLxlsSVYyfgDrkZAdtNmhmIaOCAT8JedsEQEmu+qvOeC6
Q7vTjF6v+1qFnxKVc3LkKGQnD7Rr+f3ZS4/S6ZzEhTjEsdGgrlkewwDb4Bx1
uV13nN7RQ+PHPit8JLuoYuvQ+UY5d9JZii7gGFuYPgl9EwRmNVfESnzsSEXu
SPoBeY08ks0kw14fQVG48btIXWPhsqP2fUZPH9lRbWDTmUBBg4YNrz7Y0vmj
DMw8+bv0zBtD77NPQM3ffIM/IQSlGnQpCAivcygMPCVxT/myWyF61KBnIYlR
37/qWeC5TRhWWdIKiZ4NosRQQVCa2I3bHAFjMLdVUisWcT5hmdqxp2m6N9JC
Chj9yTcb/XGgLXRnpF9yZ0xgyo2NdZPAjBVq706LmrWJG5LHkwdftuSEkqXE
977kqGnJZhOIcfqZCYmioRKoDY0QXH3an5miKc4hjybi/BDBKW0OAyMpMvSe
j+0vpmhA5NbbtNFd0ULAFYBs1/EtWWFcP+9+u+/2hkssODtQ8rb1Vvm+d9cq
E1uRkx/lc5D9dc/FE2T54o4zmJCrb7+t2ay6mm/kT66Cwa7o3cgmBy1yVgEq
m/M+7Y+UzxtP0cFbGdMKt71k+EGH2yzJyhggvqkqV7j6da/09/43oxsmyAdo
DayEHuWKjP33vbvMm4rLT+MgAev25mzdXt915Uo0kWmLI99ys6MQfO9WtXqE
gFqiqMaLGURbzyKzgG84Q3FJ/onh6HSC8us2NdipjXvOlxk3ACH7pR6lqG2r
vbDvTY2zWPgm60PFphxnHmURtwZ1/1H1bZRX0JMdyI22zKpA3HJDCIP32QrE
BJE5Pmf6GM93DDhvwZKEjzZNjECYJMi3loTaIIOws5NIBJuiRqTZYJKl5BW4
1K1+aA++qJ8DAe8ze5LkrC9C2YLNOD/Qm6y8be2MwJkO87t1BCmaJD4y2vxa
NnJ6ysOKSfygXc/Gnu4P2ELg2DRfI4UKAuveGFJIWMaN8rpS0m5l+JMtSSOm
d/QYekripdfTdFrW19KKY8K5P9A/9IXuu59BapKBGzVnxv1Ap/NzMpuIYTg0
F5b2+RJnyQzOEn5pxKKaTtPQekFxLpbRDhiOVPgLe5FpltCB117aRZf1FYOb
nAWL5rJXNbuJLT/SAHE8Dy7ZiOwuJJ5hc2V3iUunhF/mqviU+zWdvnemRcvw
QfjuA1dxuHYP9Blf5agFbxO6Q/Cf6asZHbmVOT9ppLCKTjQDYa8snU6Qw8bz
rLlRy7oNFtRPoc8LSNBwxTg+0OM6rfCEOa2OjkM8ltve4FUAgsR8tp5Jnixj
iYQV/x4CYotdCt/OimNqstzx4snaW3zYFqHcBPzCaohe3j71y06smok+jWxp
QYX2kokzDQWwaCvpUxM0/Db2SVQF7/tIC4yAiSWDkCOKXaT8DqQX7lllbcJm
zlgy1V1Ru4ijIZ379z4pj/XDL+rlRb/HzLYVMulpmWZ/yFWtw5QCFodPH28N
3owEEPEsN8t429SrmiU0+yQgJ9kXc4ra0TCxH3mkK77Yyj4iOY6tIz8TfcXN
Lg7pkyTMMmTm2I2254iG/pQeK1I8lO7QR7SLH9kFgETUvVGiZgSj5cUQH3f1
umSgETp/5E1zHLsqYlye7C6SYmn45XqZHIVxfOCcl4j2LCSYG49uJS9syNFb
7E3St/q+WmAQ5Zfdaz0uck6/xjXaksjIlrj0Xm1+cVsQldnegB9mINrZ8CWt
XwkbCi5zNjUAweEXBnWMrvIQOQAnmpjsyI0cgSpbzorrdb3W/nG8Zk7aYAZl
tlIYrtDVRpf5hl6O3G4NUA6JnC8uOTq1WTDHsSrCVjE7+UXbcaDoDN/r3scb
NAr8Blp5KDRzmH9thwX5tTSmJgCgFiEyQS0xgMv1wPqLKNzf1JyYIEbUQEFG
YjkKPyA/j+fllsqGzha3LABTViw3busyjIDfu/yaz/zfeE+vgATaleYes1aB
LwuugPC5E3y2BnwwSYNRVaQYgtTXrN0kKDg5SQ8Ox0s6im5sdynY3yj9YX+8
IOkRFqHw65yfvhZgMaicIqFs+RyZ1HETC0TcOBnIg05U7Ad7zMxd2gcXNywg
XOZ7BI4XlEJLLSubLleom8Wjc2l919X87BFjf61WUsGmvqsoXQq1CeKCeR3Y
JOxLrvLyG3www9nE//ynb8/zSL785C/7ZQZhnaf9Y+c+58Z26kQ6lDqR/G2p
E1x2x+nivWSIZ1Z8Z1+cOrhkrJh9e+FS0P9dWRPDV4bfslF3l89u6vqjSwKQ
VG6Oacazlw7CXPwnFcufJYEsiubbhdxRrm5Jq5Z6JNILUTssHSa05HkcnGkI
u81QBYBeedqr2YFPSn6TvwA8EcajObXUF170AbynQR5u6MAOT3/okNJxsc1J
+rP3lRNuAOkJnempZV/yXYpOBPvxtBuzRTvmSvvhywWcc7mqERO2utA2n4bk
ZR//dpfmewgf9gdlLR9f8o9IgGEFuq6ux5jMQob+/XPegpWFIfsl2IpBDhgF
UpJe1zGFA8xTl+Fg4amn95FdNr/BabLVfvFcHxEuNGITPDE+XFhNFeyrlRYe
8m2RWb/766/a5poB4YyT23r+EcW2TNFf8tkF/y34WmhAvsc//BSWwabD5Nyi
px/tXipOhoigot7fHiSFK2aXuvQf+g5OXDrW3kSOIil10eavAe6tn85EQmQX
wwuHIwtJL27Hj+5bN5/dksh2jfuAip4p53Lbg8KPMldt10tqi52291+uuK5F
20dbsc1vyOjWvJm3gx0MDxV6XxpSeBh+iQtJQilSxSUOPdHGQ9rURXY9xhbR
BBdRCbymWCrAGf7zq9OzqBPcThIkhkQv1MeTkcDsTR7TwKdVWj1eAX8Mg4ac
evilPu5Sk5NxYyayDWahHYEX2bD6woJE8w5UbZkKfaa+iMpS2yOO0wNVsxiS
3sox07bx4a51lC7kwuqnTOBvyeL0rRMs2tI/uk9w9Po36zv8Y0CDkAXgvnwf
Sb44ixpBK2tKtbuFGrDnQAgCHoqQA3wVhfXqikZcrx4CS+ChgHnnCx2Qq8HD
8d6ENq1PVYuaXIYDf5YsnYHFiwuniDWi+rOoMglRdGv9JC6WWmBUtPxtSya1
Lgj9heIzVKlcka2HKrWtSsvIZh0YX6Oe2sp7tunXr7nnaEaBSx4SXp2J5yj5
O1cP6Dzjb1zTZ3aHvMWzo4t2f2YgLW0gT0vlArjxLrcjXnC3Crs8ihJmJgS4
ZNMAUOL6e2JFiQaSom8Psh63lQck1kh+QdYo7E951AvuxrGvfckORoJE1zpN
rOm4I24wa85Ac0b21oOlIa+c20UbMpE97FBinBz4TbYJ4jOZOUx+CwR22DSc
0ZP+dPiTA5Jdk8EvJU20oDfFKoLjjRP/zWrvITHQ/4quTYJ2b1hI3oPvgjS1
Wxjh74aWjjSOlRT/YfQHDyKPEm+2Bw8m/aZxLnzeCsoSw8fC03gNH4SLDMXo
EBWimIqJ4xtxJ/BaIbgkVUNbCBZZXFwbZPmrRzFYn4T0FYDnc4Lb+eAsuGBh
u4OtFd2pP1Ogo7jiIWwJJq5NMtUFb2vlK6S5umW7Id7umzGTcC/NucZBCuJ7
hZbs+8mukdyFQo64D903kCTEYwrflQbTOojw6u/8+qjDwrUhJhmIgIeDGmC3
OX8Vd+bbpdNyz5dAsZsJVznfdq8y72V9zT7dGb0AR1BoWtA7OQHdBSRUvQuq
VE2B9ILku9brAr4KGZnPVi85GdBF1PVKXHGg7UOjnbUruTlAHfjqLtqDg0xX
CuphtOanAqwS+Z+iPfeWhVEARoBR3FaW84Q5cmj/a7jP9xnyfIxhkBngVCCF
eElVTDIRaIyeBX84RA1nekYsJniIbViEoSlNeLa2ORnYAMz9ulGJi1e6Vtvb
LHrcJDkamlpU+9RvFSk1IqYq1FLbHOyekdq7DjrIOmmyF9ozHdkm4UiFrHSM
gwEb0/Wa9x1+46YXGqixHr4YJiwbtn6+802/Vupob5Ic21FzcJJKiz7OBRB4
FIZo4uMiEm1F65pbcrp4hDQ0SR650+vknoPkHp73iMO63B4FBKVy1SbebdLX
cJI8tucdnWjlVYR8pLXTln446T51o/TZq9N3Zw8v3r4wWIuR7LOFf2YZ5Uhg
BVu22VkFUXe7s88nyRObhWtcejKwufLqGjgDzFnbjVMxB5Lkxwz9EDAhEgeA
PNeoVpb75DjVcnrBgF20Y58k30/SD4Av0tVSB2ewsYU2o62IrCk9KmEwL1nF
XiYf5KbU8OUagB94K+vBytpxkrzZOvfbqN2rwxMbJBFtV95yX2gmyyQYRYAW
biqRbiFykJWwDZ+FfbzoE8mGtejAPDfbzo3n0aSqOtguoao1AqSSlqAk8Q9W
cV92gmZ4bf4fDaj0wm6FNb7lssRgWhyTcJFvCGBf+3lChHDTZVFh8MrBswMI
8dpKHZV0WwqAHjqrpqDpHx6n7OdvXYeGdZsnxLakGpuFmoX9eh0H9VFLWJ9t
4asPE1M9qVWHWAr+sLjzeVcQb+fd4OJEU1c4Ujj9u8Tnx9RXJ+n5xZuH58/P
0sMn+/sH6Uvkmp5ibCyP23NsrYC0dvXBk/3Dg71RcvGG7uQuRa0Czbg4Aykw
52dvT1P8H82jSJjPSXNUsIXglsSvPaKeNZ5y+jw9Ot4/FJv+/DyMXpyGGT7I
4l8E4N6Jcwx8lRAOQNIBjKGwK2cwGhqo9/JnNKdRSv++eMtTzF0KCAvR66po
79uN2ioawjk4rr9hwZSTIo09KfRYZjRnpMaKhcTPOPMGT1qTHnwdlc7E+5aZ
LSLUqYH9jBJJbgbILZd6d/VJfKkVb6J5mEUXsapVfk1PxV4PmlSPfNtc6f3G
yqmbngbjs6paswk5Nunmw32n9huOHQ74hZekbJ7gp9yG8Qh0vXSB9IU2Senq
xEJpqv2GTgxQVBoUIXkZlgnn4Qu4bbCfA7DtJAbbhnSSQntMbChGJze7SWQW
BXcxV5xWZRkKe6N/a4KEtGnj4ohq6hmy8HntQ6VD0uf0j5gmMGnjQSC7KnEU
ShM9pUYSY5MPMBApEoGsgsZWItMMSewAOGLEBoCBy2LAW+Ho4EVatCaIpHlM
4danEj01UocsJwE5DVw2gsiEldsSrHjHfuux1tVc6oGz6KnNOOpVB/hDqBru
nlorvr2g1fqAttBT0uAVuKsVM4itamL52Hp98OBEfQCDqkpUtqGaPyOCVA4G
IlJiAQaBUh8zly1HSDByDdIwjV/vJVsZPLs3FVfpLdZljpl1yIFkGMdoIiQY
Rf0MNSxxgQD2RBsG9xCYo6aPnMSM2XNLiQENPlFsxywAlwjnINboW6WIDzUY
QDQqZ38N7OjfHAaOr2lxGrkLn6CYZeT/xAbRhA8HiL77Uk2Xk/RiDFwGMgNf
CLaGN4ycfi34REGBCc9ytN1qZo+NNiv7vvHwIRFIh4JrsOz27ajAaT6bNbbb
YuwOKdIsrmR018jE965+mnqMDTGDChQxbmNxSAkcOF5QJ7obNAixZM+gtTWj
gohJ9kHAJ1gpfekMQCQBzx3aXj/99dFEP7Yssny/Sw4seLyOoWbaU7aitB5L
2ypawmOMSDhyHKGh2x4YoJgK3u4DDw/BAZIh5eGetfWXBjn1eWyQMZalmwyH
De1JHulzq1qY0TW5MSgRAg4gFySa5RtgJw0zfCIo0saCk0FALwU15Wz5rh6p
m8Zl/mB5RokBrd8h44Z3OXpTsFYvurOroMPsGJgwZERz9W29GPYbgraC7YXn
olyzC0AZYwkyMUCVOJLkA/LTD+jFxRGwqULHW6zM+o2EIjwJEFL0EFAu3BaT
6ZngmyP7mhRJxnLTi2P/BQ5q5dPesZyp91RonHCjQkVNbw29eJl94pDnFyYi
dVS8h+vG6TwChR0nsQg8jKGeg4MMpB34WYosgZzPuFrHudkUakw6KGJ6be4n
3HOToJzUBkX1gr2HOHKHw2sQjL4dZFwq8RlSNu1dHNQoplwb5vsv+esvIPik
IrjuUtOu70Ge8bf1ij+FvYvB2lFryIjiwrjzoB/uBSmvbKFWKiJD0djHTWLf
E998yDc7IemdXQiY4WzT059OlHAQ1iQgT/aCUU6ltGJqvqJL09pJ+JXZNQ9J
G6zHpf7+13UwOVfv2gLpFAmlcLfixA0dOQjJF7oaR4gwDj3ckuSJw8ZB9hvm
JJECBWliCQ2I6UTxqActAIG05lKLFSukloppDXcgsEo2YuYC3zMvcxYuPazq
qCNPqO+20uMGRw4UVBi4UujZtq6NaUQe2UKWuXzFsVhuQzmSttetfEbonuci
ognp3FgW6Vgc+lxdoik4qYWx6waS6fCjFnT0jQw+ALFi5+PwjbXdNK/yfKFI
cLwayFlJWKiy3hvqZcDDSf9Rf8KJDkH5AiwdOenfazZCejpDovIzeHC5yv6e
GCibuy78GBrSbQQ7wToRIqDR3R07z17XrjytCOqLfHTLgY7TjGTsiesiGzVf
lrxK0nJqmuhJAFto419puFRSsfWYzJIZpyo1rHsDtNhnB6t+JXaSOysZyrYH
sqd4uVsFlhztrEvVKQIYp84RhekgKvGDB68cnORWbFaitpm6lU7LOLLbxjwH
VcW3fZNKe3ViOvTgbw1HY6x7gysDQWjtEh9Eov3UWRlTZRulMEE0OLQshfIS
blK3tz5aHRuqKNPxW1pveuam7SD1cPTZghthuNp7zmEXPHhwMRQrDd/d1iFC
QJaV5htECf8b4lJBz47Unp4vJAJbSBxFC7F9X1dzB7A/8gjz1l4jQTtDbQIg
M97u8gZYXU4pMsih99jIeNrbGq0yAbJB73jJu++SbuXdTpS+Ka5vUHcSmTPa
oYR5wkW6mR0ZFpE7lExUwqgAcS8FWb+FfCn+WkwSw1hCGZR+skQruI1F8Ei2
yFAfuyB1Dc/DMM69LIWKNbFjIEtYGzoGMd0xfs2QDSBg+GJOcZTYtj/aLUim
G1E1AIak/pYOLrON+wWCnCNooY3NHYRm3NjBx7GCFtLsjiKL62Ng4wsmE+cb
dPQDG6L11RV7FxgAYZbjLXGqrvmgRvFdRFutZJWYq6k37pe2QIZDVuX1ui0l
wv52QLKbfkFiANZLJOVBWon99VOUktNvSoxXv5kmFg0+PeGn71rmgDSz3NPH
Hyj0cuB7cikdtCFv4G+8CtO9EkHy5qOdjnUtThBfpRP+ZCk60a8RYa0c8EjX
0OE5zqGuw8imcVz4yodcz0KTJZHuDIHJFrY88jGhb4jeJr3o7T2hW32P6FZJ
PhFFL8gQEY1w1XenWzOWrQybVNti6c5yaD9dbw6Sud8Evwfy5v6OMK4JzNij
YeJQdBmRgYvLt72+LzspSe/JT8L4zzwVQ8sQ5dzEvtOSNIhL1GlcZoDh5np5
6zgNd2c6DAPMC+RN8nPo965bhCXnafKeLyeLA4l+IROG4AMSk0tJ9eXFAYOS
iQQ+uDQXobUiLapk2/nDiZovnNzjRwQm5fZYMFXsSfT+ztz8xjqIwd9gAJ2r
p1Xzu/Gch6d0nFXs3IrPcxhe0x0V4TuSTw5sI1qRTVQU8f3j0fH+vmFYxwUT
050Frt+xNH+M8HO9bsIhPqdHo8fDA/AIN3y9DcEj0Ek79ucIRrjnfh2BrndT
gBG3xSS0w8SrEMq6q3jF1JOQbC9XlEHca2CvfqEr7nMOp6bqd8FR6dzM7ILh
l5CkZdrICElYDo30gkm5oXW3kaqy3pbw6kuWhBuKttg/pK+nlkPKB9ygnuLh
IAHPk/QzVFQ3EQdZqMNzrxU09nMSlREtkpdfTY8RBbhRvVDhMfRdT3zg2xsw
XpOjfYkmTTQxUq65zddtbqJhCYoV1S1wghCz6b1IYH2gt4UmGUjLKRnhO6X6
SrW+ELso1nN0j4x5V/lHuJr3UMVx7TGC1zBIrb6yM6C7cUdD37MdIGTMd7Xz
GUaTcdQrHNwgnUYKOBTgeJ812V2JoGlUVscV0viFVGAOC7WRxzMKF6knw0tU
ya5nyad3p/1/4nz1/85/hgTjtwjIb/7ns69vs5Pa2SyADjFo7KuiIW6BGNWy
zsGEneE3SC80VBUIAyXROzg4GnavBErEN6Sd7YYqMj+EzGmNX3fRinzuJUEh
EdeiT9iQ/bssWw/ZJRDOrXsLS6VT/EC/0F8AHeeYgnc46kPEo+aIC7J+lgQm
C2DGnuQLZC9H7Gkxxh5faryPRS1v1FwT/fgHySvlWHmrUY+4/PgpGxISoM8k
wUP8wa7o2tqPyYNQ5CE9XdUTxHbOLJfAu8D9DQQS1q6hDGeiwKxedzNS1Bau
6GQw/EHycgDJn94Cf3IfsTr1iXpRNMOHRGX8pAfZ68KO3HInBoqXnrEigE4l
D+Zf5NkSs2hH7JH/mG9aOPrqjwU0LOTvlCyCA48rhNO5BFyEAz3UYNwyJd09
GkQD9NWribvUQEAkjUK/1GRVokotvfOY4MNk1UF77VpkhYhO+DBRp5U78ZgB
EHuWy1B8eG8s12KDfC1b5FI38/UwLoPjfvrkrzEAwjTd4oP7sG/jLjcIrR7s
Wbgxiiqze5p2hkfejVAdq6GuIOEKYTCplfLtRcRuFe05hDKKh3IBNF+nhaYJ
9PKu4wg7ST2A5jbMo/riA2tdNrJzcUF8cTx5e9W+FnXMq8UQxf3O434bnuSK
NByunHbSRn9H9pQhL8vcgyEasfjfu3zVpkfMC8eOe+YCuSzBIvVNuLB7W/xL
bl4xflUBdozC5vONZ9u3DvexH8HnN53jiezQr7WQ33VtdViT0GCkicY9YX71
wdwf5lcZ7LWstOc1RyuUNN1aFC7H6mOCTrkRdaXNqeAQthg3YiYYRvBx6LRB
A510LNF4SSiYsuPYURPBDUs9GKUubDfSFiT+VQVCm1k03+5H4gCcz4LNiXhV
3LxKJmOs/oWpeMROmQ3Qh7ZnIz6CoEbRp1VILUYjKL2jwCElrWG11m4k4zjB
YED7+jNJD07PaDVra/E0He7KKsNoWaI5g1wPbd/mO+NOQN7/gCQOUomNMBHU
K2gTxWNxfoCHeH/FO+6O4Tk7e5vM1lNRWn2LPA6SaD8cAVlzrxhAgSo6e83K
saTaLQbeCy418WxIXiKZU/TUpconGcO9621Rl54LBnja4blW6xIdsnHWqZvd
S97vWq+gcpVFJXG+clgXeCPFXLwVXMxUE9E9noW44BskAlau41u8sSTxc2CD
3p8D0hf1vJSsW2KcfqVDsESQNEXLbk3vst7GtFbEa4i4s6DFj7kaAwi9b5VS
k/QF4py6aayfxtyBUcsWYuc37yJRfdzPvT1E/+snKYGDgqykRPgjSkySiNyX
E5yaPA0dzOxHHx/1RA0SlQItxrKaZI+CaJL81PPXjWgTriCNL4/2F5crAHsC
WZ1ZNru9vrS3vFxyf4vBJCdtEw8MoUv1sdCbYXQN0are/XMm5WPwkbzsneUA
Xx1SWgMJscegWWOcx1JphluxbILW/JVMLClxlPwvQMzHXksXFjUbwetpeCKH
5o+itbOBR0POI42gX+faPk2Lrk9SK512wEvSrtc942D/P+AhWwDaDK0Uxmt8
a+EoYMPNyVgxJFV54uIDAmwotcu+0vRo7GhlyQBAr5bcCpqOHhd0pPyECMzw
uMw47pecOw90rDhmvF36Dz3YH3qqh0b0WTl+LO7O18Pfg8IJHRVl8p86YSHW
8vJFu8fF6cj+UmW+yUWbUSf5PfyFgit2Su1vZSSFKmrI8F/GPhd+H7qTgyCu
WBOnkFQdZWwOidUr6Jdk598xnEoSMrcicAyYouyGBBojxNYY8daOTUtkKC3R
KkjiKmKCGYTVR0AP8sMVjgqrJeV86P5KOpKO49ck6TuhhBb8npfD9GXTQxJy
3dIDrVLHPmD94TxOaHhIR2V3VzdkGzniHfzbv/63o72ThE4RTPlEkrnZnLWL
S3rSiEjHViwDN7DkP3v2Or0p5vP1CifjOxAFTSARSgbAzYH/eLSPj5wWEpb8
B9M95Ome+uYqwQyPaYaPwxm29VV3x9o4oDpV+did05ve0Fzr1Sh98+bVSCAm
1itb5r1glofpDU/sWP/7fXqDX0PQBatThNU0vFc7x0DHwZsc8ZucxT4s9y5P
/j58kQD6ZclQOcE9GOWuIVYNlEDtaXUtLfIU0x2OKj6wJ+7t7LWe4D1359lq
729+u9PXzyBDh2WRf/MnvtdjrM1pZhjGj+SvplOKEuc8UGziSSfetnfDmrHs
sy2jk4XzwBkbPBkPYnkmG9anjEtuGZ5Bj9VjExpiW8cuROkeXs8gK3PfwVCG
4+BDTezfqECNm/CokGIx2H7DfoakVIka3NG3+iJDDh4sb0tJY9IViu+bglEK
x9/wWNO6bwuBoxmM/qDlyyBp1GurFDH5yJm2ropfWUjylzD2eS+imnCGVOyc
ZVn/futiwxDR2kJ2joT96XtT7OrEOYCrwd7KWHWaJOAAXZPFLR+2T03TisRl
xoEOjXv4KfQ85jg3Z9LKfZWx6mxBZfc+zt16l0kI5y4rXCm6MK+fD1OZ6PWL
4i1uebQLB0CVL07u2x8OKMNvErMZIi3v23nHH/XW+EcTJJPUqxl16o8mYRff
dzB6X5rnUJdrwUIXG4eDvLTN61r+KxTirEDGTbBkfWEezh6hZR9zEvs22cSb
3EkfNxcUQEQgCUMVdJH5xJGkk0v0SR4Bww8C20XWXmabvNHMdVYpsfIvJGpJ
F8v0VNv0LaIZqKrlJ+bNmJlS85/wdGKgNSdrugCYNf/gI9uyFcnoRfxO76s1
oRe2nvSxCush/IOeJnZHEKHM85X3PmrlL4eOILMVVUtc3zJZ8T8xy1iKrKTG
H/aV9V2fFHfsqjZdFhAwXDAAe3EMS3vPyQTXsmj6a+Bc/W2ahpcLEIxVRDGh
Ow+Hn0jbltg5ywpD640fTULK0ezgzwIpwB8mpMzUBuE90aWUh66tWmh6O9UL
IvxtmQ3aWQ+OmYj/2HqE3B5O+d+T4ynZDbLtZ9Lqmixko9Zc8qEVYETXZcK4
awn8vg/l9R/eHj780UNN/y7C9yb79t/+6/+R0qM+TT7FAHq9MSbHD3/8i93c
CwHqEMdfHOLeu90Qg+/mcdl6/b+X6HRoaOHVbUaHn/XrjfIw99ARqrK8waSf
cUAMV0n54jR62Wmq3QJa6d8oflJrGJ1oCz1zc52Y61U2qSD4wtzMBEbB/E6t
q8WD7GOayctJupGPwkn0TwMNRhUFgp0EZlzg08m65PZosu8HoavphXC0B6/G
LyaherWJBam+3VRIyy4EeJhO0IymN25vslXg5GFLCUKAO3em8NgJvDs8v1a9
ki5IFVl5nyu0PLqYnfrzGrlYdqH5kOxCqWCzt+V4YQbgSQ7mZIkslaNG3MqL
Aw/2auIokAU2+DEfV5u2a2jgOanRl7MN0jurj1J5vGFRX3DOY/qxqu8qJ8gU
swtdsTXzgcfqZfiNxHmKrp/TkPmnzr8VySqtW+E3SRz2u0p97smhqLf6yiXd
QOJ8NYQAre1H3ShjTqae+hkEqJ9CMsdWJuqlAAM4MnLotlg3C8oIuYNe9UEK
iJWnWYgK9RljZek11AqkAwlKII8wW2+kXESH5Ry2XrsdkyQs/r8i04Z6+SSx
gPlfrRnz75bz1Uh7DPeviRKjf/dmfNi/wLp++4suti9aZp9c3tLvjh7v7/cv
CFyNGOKHR5OtSxxy8SU7D34nEmjrnfDTwdC3lwiX/e5wX8Sngy0POMg5bnd7
nIoF6jHqyHGp71DQysH8i1lHfa0G+aRZWRrUEA0QC/D+RkgGHjECr/WRN7c3
g+uFjli3Xhlj7W3hkeogl24QAI0yIa2J7U4w20s50gEuenuwM7IrjBs4BZV+
3He/RMvXrQFjutOuidrdjvSiHX3Tsw7vf9bB98dPvvw45hg/wCXEHH7xXXp3
ZM2i7+jbG5pAhNHaB/n0m/DXHyeTyW/uIXx7B0AahmoVQEf3W68d77eR4Oh+
Ehwf7h/8zybB0b+LBPTvPxn07H24mtKyKDrexHudpUMHYuIScDgxwSP+Ag6a
1P5NZPlt7yXXV3Bs3RCz+AgQb+lUaDmxhlL2xg51m6MYSQwAXjcKK6VgjSoy
4MlyqdA2I9OyrXOxNJHcspACYaGNXd/aF0CJNVxZqb64F2F2HJTC/gX5y1L8
TR8gDDn5mcxGtsrVrBNVZYpKcXXfL/zQU23rFfR32RoybBkVdzdxeeyV708B
l4/vvDD1ECZsONA9maQ4hL1nBKLFKk/wVOgMOz/f056G3Uk0wx3rAB+/wqW6
mz7Tyq7RnY+0qFlHdJnGLyPJLHCSnwSXmMrBEVbu2MTNFUuJL4Stf0jde5pO
WXH2t8XZoHF7H75UBuUpC19cSuutivtR+TlzYwjSTvDdH6QhGauakUtCOUsM
5klw04nUyUr6UHgV46VcV5zrsds1AquZARMSfRYU6UJAblkdv4TKNXGZBJxe
gOl+4QlN/mfO3OoUSgfOLWn7hOz1n7IF46DRt8p8pu4MsR5pS1nQtMouFRXd
Xtt5CHt40PcVbuOhkf4U0v3NeJ976Gn1wv0Ii88lQNf61RZu9GEu7WPX08PC
h13EDzMXRBR6d1Xw6TRU13AfV+uy+BByWZ2DJei3BXxFceR0aOKCJ1rCkxVl
lctTYx0Qz71CE2//VJ39kXQ0kctTjUxzC0GM0lMTo+3ZiSP9s/mfkG7u+qxo
SMokY26zn0oJFBcXIPAwnRGn4r+B9NFAt+gzym6aPnnpTSs8eSadyjEdgY8G
pj8URv1z5B/syIYdKOhYfTtNPPzqEJkyVvSIhYiJLjs8DG1dM2ccaEHsVnek
UhnvqMRu/DCnTLGeUu7Ujn55gTd+FPjiR3EMY2I5LQYNYH2Bm3W1F0WjxYFc
bbw0cT6obf/PsN/HcObVc6AJ1ZIkzIlnXdZ+dGDcQQ4+yubj+IJwljbWHJAf
P529TY+f+H6dxEro5vDuxdmjx8eP2RJ9Nyi41fnmh+4BsMTONxo26O3ojAh/
t2TyCBCVE7nTf97Jq50/OSlIb0lblIO2X1hyl7SjN0iUN1hx1F9jffHfZbFe
4vMqK7AZkLCRN3QjM/R0sSGloJhPtxfOxh5cQJkv4nw4HG7qxZcY1BDT+wmb
cmcw7RoXsDcR6vXHfCNbml61Yc7tSs5nqeoqn/pV6y9Y/JSJPKX9yvJpLx3u
DpsbQuVlw9isQ4dSWa+5Mdqf10TJRSFuYrk87K/APlKi+Xp8R4fd+IAXYD29
l+fCPoO9Gdrg1cAM0bTgzKFUCqeZChUBMKTfa29aIurAaz2jh6Fendi2G5V4
83nNiacYFtEhe6Hj7ycHR09GBweTR08eO7fvvF7O2F0oR730QyTrvskWxbq9
/Ag+HFaSZOkCiFu5E9sls85q/SVT4OC/6b0HpjRwhr7jH0Hqj0VZIymLQxFc
EcBucyGfp42GM+C6JXIiuMoyUq/DtkHeeyAl/7ZJMwYU74ftJXsHf2ibjxWl
2AFC6ULRkjhL0L38qi4312gu8RXRZ2BX2g74PslXrxSmhx5uu1mdrmaC4IR5
ypMTjGPFm1EdGMrSpcCp4g0Xll3Q12mi4lXFR15cat7gpeS3TO3Nn7C0Ozy+
+dprMl6EU3gjvcsH40kDKNsQ8lWSZnoiH5Fkn7UZldxrXB5I3M7kwx8C+SyE
CJ99yS06h6w7J1jxpPt0U26wpLgvPFJgqcXFPD9xK9BeUzGTW8Sj7eHlX/KM
tap5k0Ep4RObzMQ9s+RMz9d6APdg6wiijb77Cuv0YMoMzEEI/Kwo1v569gv2
bjrc93exAsG3ToxJTtIDsjDQEJpUrS2rO+pH0jvzOGzu12YpQZGqToITkJYT
SA7bmuyuWa6mye6NBtXMxF8oSuWe6qfbtmswpBqmEoP8mkk84VrVaehxfj9V
Z2XoneQYkNV89iXwNDRxt85ONO9FqRS6hESdcBNsT3T8lebWvFHQeHhsrtOw
uXSzDlooSqV8ZO8nrmf1jmV8fLF7ZWtdqV5wz1wWeqNkOhROnEaUGDx+F1vN
hesmmfbb1UsMgcWK1LPeM8TUomuQGIzmlGwt+e+cH0Hsa9tWvD+CsHDgUiBa
J27g06F+wQHwf9gvGKkEwhKQcU99PkhSAY4AL+VaqIfdp1tB+R9qd0xjS4PW
F84TYB4LcSnwe5gbYaIoxDIba7feamRSNq4GmtW1yEALc45wOofSbui2GgV+
BFr3AWk6Ihn6fzOgfJbOS25bCqV1kr6/q5FhQ6elJR1wSTTiAdwEUAFg++HY
tpbJVXnBZYdZ2HC04h3S948gMaVN2kK6hZ9IbvQDf9t4tu7GfMeDSBZnsYdO
GpxW7JFSkiap9hBla+2GNgfXTDOMQqmhMnfMaUOFyE1nlVsMxmoIYmo4X2J1
1HcYdE2dIrobvLOzCB884EDtgwecMvdnzok/GXR3WWtmo5N6cLClRiBw5txN
NJSwrMaAb+hVxvOima+Lzvqb+o6tckDTORi3Vx2jPPaBPsyRWGtJ29w3EnEw
4B6AuWFuGaVYEOQdbnPY7+6K9ob0v0voCdwtXhYDSfSMehrUcQ0QA4VQ49Dv
Z2fAngBu11dXmiWs3BR48qAdeMuSPfa8cvzDwNpXOJ+YCm7lxVmuYS2AwgHl
jfs2YTQhylLrD0OmbrXoRjOPVEFkFveZ3022AmAHRhKHibXlhM8MseNWfPd2
1KJayKxNVp6KziqIJkIm54X0Uu3b/Y5Prd6yV3AJ5VnxXI0jvVLAiJ/sw06S
X1SQxd4bRu7ue0z1+Kyj0KM9Nskr0tfqFarZkPTN4QJxFWsDaY1eTPtRQX6K
iwXt2ONcbDANI0fuJRAo8pIkiATt8JvhZ3fIAf9sHl3jw1V+10e/e2mBiw73
Dx+PDw7HRwfhRYEAiR6HYza8jlaiJRbBNc/c056mejsfaN9FN3832bGQ1egr
JNjeu4Ok6O/nYVoop9wz9w+VJGfEYZCnbg/LBvZT5//+KcEnjbadVgapevrH
GDkuR7Igqmyvb7q7HP9Op5xmoew59ewt1eEJ15A55UyuShUgTpC7HPqJYBBb
rwUJatkd0puIG2aXd9lG88kGGV/ESj0D7F4npfbp1M1PpyUuuR8ODg6QBOWq
1kjVWFuPCLGe1g0Uc26spolB4f7LYF9dF9LjWrJhDiy7US0Nw2wOsvsO96Sf
1s+n75+/Ob3gHBvWdIYTA1tAbvNDVMd69/wfP5y/e/5M+3IwGCTJKUkfoctQ
Duo9kCoA6D7Yi6Qxc4DR5ZcCdz2JoMUQK3x/o+DD/cwFF7Qk6/oOST9hTSzp
E8plclvC1Xqu4zOONJ3e2E0vkP9Su8FJ/pJJxciOHFtEsHS5QqtGiPI23SE1
fpEuGeervhsrVEz6fN3Qu2WVQ0RDBiXrTHImtgkpdqQ/QsXnoh207RN8/rTJ
qo++TpJ7bWHL52QjLqRUpnFETdgFCrw10RINnDRwHcfVVFIIHwK69YguXHs+
fpYumuyKFI11Mc7of9yu1SUTjdFpUCFciIXp8slXLwSDS/x1Zu0OV+h/0iBP
OGE4VU0ddRIjMPN2SQbsPRVecMlz+SdkqmkYPVEMUVVkwE89qDpjNVIXWkaZ
7Hi/cPAKKX6kDV+RUVE3gDwRNBUN0BucIxlZKI5A30dlJcfVCYpD113mZdQn
7oJxm0tlOeQYsnzzk2C5arVHoXnW0LATYUND4gRXZRz8EwS/iitQO64GcKmw
xnRSZd92iZU8Maj4dVnPeD7SYnfEvAy9mCsieKQAt9KaJicXHEgbibrp+Z+3
CfKgWe9i1JNmackQXHXBmdrI9eLkUoVKZ2VMioI8KFJREb2kn5rx9hirtrC8
OgREUCWA7ioAIlp3lnLpN3q0/z2/jF28XnW1p4loZxDw464eVzX4hj1uVulI
GzFbFQsubUY4k+s1PhVLhqdMH+3TZD7SisLY52QLNBETlCpGWsn4pIzqnnjH
C/htThdatqM4rBTGTasqJXv2L9NA7dr1VP9KKsOe80EnPkHak8iyx83pYGCJ
XFWo0A+0jcSXH/Tpohe9y8tyrIa0TF4ZwMWyfEq6mg7I51JaCNR+csfwedvz
sUoRKxyxfNogax1lIDJYwumcmd4Mb7lzJkPdN/wIFwI3um5NM9i6pR6FXx4a
5Z20wciuzK5FSBeG7caMjWzaHDpjx4UIzOv+rHlHbIvHvqVtitdLdi/evd3D
2WHCkNXn/wHS9iQNhapiY45JiazypEQNhPCnAzFyhHGhWrafdC1dT8hgJRNP
qFVdlxMRz1qLYwqAZJ365CFc+RRTIzoYNyV8I/PuAJ8AUWOm7YF470CMiQHd
Xyyr4qmCgg19K/cizP08lSvOXrZjj0PXnG8BQn/MgX4icruHPQ0hy2YfImDs
CiLTjtuJoo8MzFTOudYHJ57PgvOMMZeCHDL2PxUdGNZwV+kBiGIKonRtjTnQ
i5LUYQbZF4C83lEEdTZBGDNfRAeo4K5Kbzg1Evesm47i/bkjRAtoFUZawDH5
+f3uDP2aKQj+dYWhbuhQ5wKroBstnHUb0Z2CmYmAnImd3yiyjufcxNfg0NPu
HEoGtzGSo95lBimV5OyPNcbEpF+hAYlY7QnrgVRjvpDygV3Vp7kvdYQZrH7U
0App10tXgMYa83tpAKF929VjmieaTY9VF5Fivfs8O7fWixJyUHwHYn2w5593
hRZbnjF4xiefI77LpaihLB85pY9eHXDno7gB+EhAv0fJAIYK+3I8TKokoHfO
SLCqfWs+mGxVHaVR1ZG+hKWjT3rmvWUNFQvODr2dj9WnTar0WJNtd3AO4mfN
V3+bbdK3XtOWa4IDEpeeZWYkSMtyURZNP/d6v9wcJLqyQT85nogtv9OLgfRS
WHfCAAJcEn0zP7D7w4ns/InvNkcuRtX0dxmWxZ53eoTovZJfhTvejI/VFt+J
cq/w28X40P3Wy7Jh14hLLYmuur/C0GdS72wXMjofyP7x+HD//cHxyaNHJ/v7
/8XGtlSrIKN3J0zV6t9/FN8PQuFCqwG91Kwvug2Z/O6ibbQQuuKHHybf+6Ts
+17Npf6yR6WflLyD4Gk4+W9IRZYgxsNthg4TrXegyxMdlKP+Q58QelZY2Yye
pRU20n3NpH2ZZ1c9azFoTKY/JHSwAEBAMr56g0YoUFOQDelgQAWSWmQIFBuH
PX+uqd99lUEyTwUfUnctnLhRKyKtZIwl+KH2o+PTeRugxDlTtFK4H/W48n3L
kp4MS2+LTDxB/IY8RfRgMVUIuJQrsiC1aHacV3Q803mYiCVgctsJaTyUOc6a
Qm6GsK3+uyRntlqGgu1gsv//dYnqwsjt0Gsd9C5CFiJdh5w+/oEb02AjpTuT
yQQj4D+6rSHj/KZGZm1f8EKKNGW48XxayfKhXjnBGtjlW+/ohMi/72gIEId6
cmASTsnW+W89MKILfJJJIIqPxvsH7/f3T/h//+VL9zXKgvbneH4z3t8/+MIt
kUP6BNwout+luYK+6VyL8o0V8K13mhz88H7/+94r/A3nYXDVJYMYbj1g4Lj6
/8lR2oPgQvnT8eHk6G89aiO19L6Ny8rqvbu6Lymx2WQT+UrciDQH44NHPdYW
Ig4zkdAxvPj/Nf3AibNvHjnqlYO/guHjsU0abg96r8xz91pJbiDi/wNe/uB/
inJEegT340lfmT0legRpD9FxnfookKY8sXE5oF60XgXhKsowzlMvi45bwDRq
PBYM/LhVadbACWkIPeJf6OChs3YxbE+GhmTH7SRkytxWaMMtUyXPPHqRxIOF
aDaAhcstjmBJ8pKloNk/OnF59GSIOiFZzDJmF5+zqbXRm6sYU6SL1Pzc7CGQ
mISFtWTumpxZc+vL8BBJXPaiqJJ2CKXnz1qO7LVSGn+vQSua5BeSBVV95nlM
vnKYWQK8Rd8esCH/wCULJpYsyBX68ONwSOJLOY6mWAbN/dhLNUok8bS8Glsi
lnq1SgQDhrs8iePGcpnMJYK2cetS2qJBZCI34CpKwITrluQAxzCuzC2nBTtw
gF6FuWgrzmLSZkbcLSx+2xkcSenzD2Np+JMvAlBj8c3WVZ4M3ZM1s6JrwFam
MbjgkbrUXSyJ6BD0TbynLzruuCWdWOBGOH7YcX+BP0iivKCgifPlc/p8IOOz
X6m4pckgjRMk+CzIoA4oXZN/NReU8cbU665+V1hgCJ3QO269rOSOXpd5cUXq
T+Gf8ZJbuT2XfkrnPkPfNLwIDvv3L5+fv0jpX1wCxU40HjfMh3Uj/yNchjzE
c7g3G7Ja5ulp5/orgi/oz6aYMd6wVsP6u0RamJx8K6EAhtTHRluXis72/MNe
Sufu8cODg++P0t38/NnpBcSo1AvV88NLqO2HMq9H6DPw5iw9lLq38/M0Wy+K
uNumVEK19eETUkn9becXbx6eP6db8XVwgxahbmUBuxvP3Hepb72u+2nwRQ6/
P36S7p5tZnxBW5TSy+p03uGtxEKVZi+ty9mV6vnTPwYYvOxPD/s/Sqxa3Z8M
iZVIjzfNT959M94foeMWZwJamRMZJexs5xj+73k7YFdbnuKXcqZLAV7pkunW
eWt8+TCUiGOViOow3NqNSc+5HPTkvdFOUgBQq9usHMFjjQ1absbQPPK70HaW
LqFhVpy1FQ2BXb6WWIvwySaJGmhhBWQKubYw3Ur61gxDfhDnq3CGdZIJeiKO
mzdSNqCmvXW+tIGeatu8fBGCQTGcIMLkrthYo9yVxGSVFgoa+zT15nA4SpCx
yPzJ8ce4H6KzxUUWhtIz6lFh1M7FA0CHcGJ+Ikk/qNs8ANI//6e0qZkZndP3
wYPz09fSXAgbX/RTYTt2xvgHg1VjZsGdgqTSY5nCEiI50GvFV0jjQfrHDccO
snv62sV5EAK1ecVYUDCO5KwjsY9njxjhjXF+PDi0KlHJam3RDlUlaRzuDPa8
mtfcKjTAP0NeSGGHsx5r6w6MSMq06xeJ94cDnRMaBExSs+hIiUWGgLVQd6Ez
7pvAvIjGVIzAvco76V4k0kUy/iSwnGiWMuctIWhhcx5LnBDaWJMzhJnBkLfp
k/1/+9f/9v2j/4VB/wUAjfUv0G6z4jT9CLI3dXO1MsGwTSBwTBVqxzYLywyZ
gCE5KVQ1uOcsmJP1XgsjHj2UQhA66tMmyQsmYaanvOvGtkam6vLhb19yAYZv
mYoOajjaBk79638pVlzejCd+Tj9UBZhN0jBcXSAOWO4FybfMmmm6+1NTd2XB
/ajF7ymNyHpLIFkL3CYbD5L7/6XtuBzR3XhRLAtgyunVdSqDP+VUN27WHI75
eZBYLiSv4BJVfl130s7Z+zz7pHO4jpLj5rl1u/X8mYwbkF3z4voN6C0lNtcL
BW3KerugNUbLhadbc5HxRs51DchC7liJKUEOGhF4v25ZXUpNm3J//JMUZB+l
M3qCrHlRJah29nR0vXTAtD8VVcZpNspQuxbk3Bti137Wo7Hu2U9v3mkx7/c/
HP+AxCrOYZzx6AkHRivJW6RlhyhAvrrSSmLwrJG3MpJsC2n8JvlhRZbom56k
wWZ8OJ/VjXYnGaAlp0y7JYUGNng3P7NxLCHg/rLeqH4JhYLO3l8tqZmOfNaH
UjpgscQG1n7VJdYwBIaolAkDBbjIrcEZW9+kr5HQlQkpbSfyQDY6PGfo0PR7
YskNDu6EPWcK/C8z19Zn1jX8LDrhpMGU9OIF7CQaxr6UjGdtfbb8lo7UqWs8
2zgNR/IhM8HvdU22TcFfZrDk+VSRFLdS86y5Zy16C2fNkgFy1VfiGk0nrtG0
68za75DA6J1IUt6yMnUDSeNZJITVpToyJLXCFUZ6fVbw033z8aEe0xxD3+4y
LeChonK3NyQauVVJU1+zmLvFk1uYKgzI6tvMLjh5ryyYstG7eaOTG1Znhbar
4SQJWL6KNnqf4BCQ8sAJU1i91VDXZu6YwN2lsxZod7d1eSspS9Z5UCDgmh5s
QCZts9Xk7elEzO6mP7HRzNwndRFcRu8wcp1vCvWSmvWhLUZSRhIGljUnN0XB
M60Pda3a6qsksF+ZQumFdSrpg35ZSRrX8YadBlSVTlyvANfsZMrNBCJEMQbN
1eoizsbiHCGGheV9kXjhMN9wnm3gBLnJkCnD6WO+onMSOALFM3Sxqusr1t8i
1wymYQSJDLLhZp2C7SrFc4m6ISRtqoPvRnxr+n0EmTzhMCInVLYCoMGT16Mp
EX+U+ZtU6/d9iKVMz6qMiEHuGrjvqjScwpqkbOIDd5oLHKsEILbo9+JrgtHL
6oy8uyLT9FRfJwzfhfmFXKz64d3LVt6qM3SIINTVbwWnLyCMDHoYkhbbMlN2
AE9FXczD6SuTsc9wkIyWi8jN0XbRxef9y4s9B6wj9mKbB95OPG+w0ZpPUncE
swbZPSgICBCyMT8Sv0+UNCxC4qvQ5tyNTYZlnnWtR6uJxFW4gQO8jSw+KzDG
vBsgjzCo9wtb1YO2tZtuv6HrnJce73OH+uP9JwbFojTyixfTBV2OYCrN42Rk
Kyjv4Vkkp1EHR6mNZKK2Wx3RpIHsLPdeLttPrh3pIJUqbrdkpVsKbh+PXbi+
VQMdFXOoLvOvdlWMBZfYIK6P4D1t//7OeqmO33NyN834tOsydH9Mev1CUHXT
ekB8nSDnZgNI3hpNCW6+nXtd4jUySVKr+80aR1YqKHhzvgc4a0BXGZvHfehe
FODTyXUtJzLXfeqwMpeu4GtdAIJIUy8Z3zYAHRhoRMrFmtrFVDEJ/NDTD/Ry
Y078NYOi9VBZznGBvmX91pJJGsI8zHWWBvNu2OcsLLdw79VWkpJLunddgRHJ
wsCht6q7sbbrTGWJIWOszW2UXyrL/ROxsGgV8BMW7UdVD/nZTtvzqfucNhNF
YDhQ4GolrtcZUbfLc6n5yK7ybjMyuD9Ql2Fxo55hJJ6gJPozu92OSyV9bVog
nKPylZ4nCLELejxYbB00k3RtpSVwhdKxKHh1v5LFezgyuYyVGd5NU4a13gCb
3+qu40T5UNO2uJ3mGUmPBA2/LSeDtvJMjaKFlYuwusmWBB0lRLnACc0TAHBA
wJVOUm1vodPr2HCZbRgQioZNQtd2dBSwAHDAvV04XzFQItAVZS7vEPmL/cAK
CxCztEZJoIddeREpqUWnHlWX/JswqU+0Wymft4DrYui6/FOXc5V+i0Zfv7AK
Yw10WZ83X+0Va5wSr5cdzx7XoPWjns4/mmePjVcBZWTfojkRR6q8QsMUx2ea
DmUzXzv3Nw2RlfU1rCVrwzAABakz/VF7e4bc6tpWqZaId3Wz1H1g3eB9iyse
AZPTQYjO5p+xii9+lzIXlY6xQ7uCQ8NdvcU4P2KoUz+8q3XTkpSKdXzPxtvI
nUwa2jQNy5809ZXK7ily+UomfFXmnyxoq21A3zFUE63rOwsui93MVjk3QUWp
DfFYiClFl3tkcTw3dNzfMyLxwS+iza9QeAWREw7pS7qrGmYZFJF80Z+VNL00
LFRod1mp5oiT93JySrE5AHIAlaCY4rGe1aJOZINzwGLNP1rHQBLIZn+CBuzz
dp7k7eq9lmG4ncXKXd7p6VxB+RXHtgld9WC5ehAMqG5n3g9xz9PauANxBFzP
Z7I7bUbctCN1TTuIEwSCWjr+iYUJixwVFz9qv78zIaei1zP+Bcm2RT4PvndP
EKro5BkaBR0G19KYsMs+sqeDOKiYSQCbDJJCmidl1nMvruCVOjgNlbvqEYwG
nzuJljWvNU5lLrejl9FYjgKXw9AmExRWtMOeEQC6U67vD91uXDqGYnrwU5hV
Mdu4GFZrRaTM31z+c0sblQiJXQWnjS/sSXdPz19fSB+uc+g9FVmQrxER0wNr
byQlAhiL+1zAnwcTmDfDYsw6HSrIHbZmfe0d8cboLlgi5X2gsonKesUUDgkt
WDDXTba6gabEh49RhgtJaBfWDbthGjQtYMcVxuMz0dXvAB2CDunMiQ0IreZ6
LR0SLVLHfMD0PiGJRCuMI8JFz7wpELqCRGCtGfkva7rNUy7O0zYIXBI1ZkVB
J1mo6uszQ7iTOa+tzZGrfLAHn3o+YxtQMqfRSq2A/tqGwpFhnLSsiKfE5Ro8
CCsga2g+KnbXAnQhdb2+DLQxmbfIGTbBWiRflRs66PPSAfAEe4nHaM0cssXP
76PwwM0nw2v4FDwjL4+h5M1J2JjlxK1TvIfEF589/RLPYCiHJoaD0PQW4RTu
RkWXnLkKI9Hn4mpnU0dEAepu8oB7wJPYRuO228jMbZtqfHS5BteY1OXSXcY5
lXGceOXBfBMUEr0YS30imXsp9CKRXci/NUwiw+sQ7VIcgSxodaMVzWLMvNpT
5pQuvoqRZpOzU1kxEjXl5TEE7e9zR2F0XuQUjOA8GKppc4dQFAT1J2/r2d0X
FMt+4MBuuAd2p/fm4U33mOy0EKzCWH2dR3YErF5NsmljepdrRZZyrJh1RGF9
V4TpY/M4ddD5MF8AVY04uAXyYrYw5hcb59qRx7pVOypxHl5xXVSqC7kaVVHb
QqCEwG7QigXe21mFRBhieabIWCgC8HTVP4VoGkOJAs4cZbZYD8/KTDeJCOQs
BrwErwVVSWpXgwPyxCe5sbC1xoGyDeeMOmR7vl/O1/Z0nYlokMr44VBWkg6y
y3tsRPgBsDAwIkep9WJjBgc+sqTuQWMbKUKPyjb3OmEcl5j6iTVZnt+MFw2c
AWrpSuG2d8O25ma84mpKL3aJvfH4bQ4P2Htqd19aZ1j1M/MuJf2ft6i3bOlL
uIuk9FPSMmRZv25E2SYYNJ5SM55SwP08eOCyzBy8tjOc5kFD96Cw3iWl6DJL
mmxvrRlZrbOqlcE3/1H3HDvyZZAZr0JUOxh0eFfKcJIyciSQxsdOvUCwyTgS
fRCXQ6XSg+t7wS3XFR9B8Wru/nRxPkrPzi9O0//8/A+aVX72/N378U9rABUg
4ZC4hkxCDlQbn+KKvR8dMV9sM4apzyzWVSNmK7WpOIUhmIT2ko965nK3IW5/
nWZXV9IF29wlaniK7/dmTfs4lWwlJaY4F1pBxoNIF6LL8OCL3my9nsOT7WoZ
xwV34PorWfgBXsU6sbbsJ7RkWPF5h83zSNeTccLQK+SONqDgY5Xb1E0cHbkF
9BLdYcT7FtAxi92RaLQI3pTK3nv4aRZ0Dee+Siwr2ZFkbaijFFP2rZq8kZHE
7aYFp5Adi8K5bB0w4W5k12fSj5g5pdmEw+zxyrEAhqdFVgfeB8cO7TzsWsnK
NXdellFckvaFJHv9KOkKJiBtrpJMCtXde0GCLqEylsOF5fLnG+E2gIfj+Ow8
a3Pg3ZIv1TXRd7GYb4XMEEUjcwCI/Czeudw9dC6jfVku5htDMWOMMmSkKyOl
edPUjZ/cuxywG5D+GbutdcvoDoTUtG4nimjD9XhNDWFthnlAWjxeU6BlwTPj
JEmmEha71zJWwpr/pXGT0ywIbnu0G+YwB1zNNBpzdh+XO+sbC2mU1dSKZsoH
PMIB7Eh4zBXgWUZRbtlj5uSCR9ZPJZNj68QjxtCUarlEhRPTd+Q8l+ZWG6AP
Lc/3OFqfCRq6wz4PsnyG9UJ3aurMpzsKqL4zjcHZHeCiYbxbCEhDOOrHlaY4
WFyH9NAFLMFgBvZCHuJiMsg3aq4hS6duxtkMEYXqJKgoNQQb2Q8FGqJxtUHD
+8nyJVjDRBfPNYlTZBAXpWWWpgp76bACIYzkOa0q2G6Koj9xtWcjEQuJ1Xs2
Z52Mjq2Ztl3DIVnM18REpaBEnNfv2dfj4ZuR54tMOkXLMYrfsreMd25RraU/
HuNBVQ56kInDVMAeV3CezIzkMQMwpLtLA5728A9MqL2RBYPE+eQ6u7KgRh/N
Zsx4RbyX5GCQg7myPVrkVyF7ieGk2TO6wFCECjkR2f6OVvyCXSb9IVxzFHFs
umhr4IXNXfztoYOG06xCRalR2RIyHeYQhDrlNuGBVd3llhYCCYLlcfNRda7o
2KTx+RX0PtweBYAbdadLZ+ghjkPVz4o9qi4aMKI3hAYs4G2zlw2I+/c1cJ0U
dSOiEetgIizFKXhbhDmysRgQSmhNUnBu+fUQGBEaaLfdVPObBuisbcxuNEj4
W8BVul7mVJS2gcrzmSSbAhpaRJi3ILVjgNgDIrIjYH1WVfQHMwVZ+OCMvOPW
kcR8AvwO/lczPeQNjmgI85iRZmYkTXxdtDdCmlkN6cdCC64cNqA3HmLVYcCo
VaNjiLkkutbAmz14oJ0dsy4bwymzCNC/XBaTTv5EwUdFAMy5f4M2T5BAAspD
Yje5c38b9VRpMKOF1Rx++o9yNCwZxU2Myt8/e/vOvD0lCndmpQV/R3wPRilp
O5eWPtO4Ggk1B3PXqYOfvNZsW8Bmy1Lojr8pZghmc/PVGUocGsmOssTtsAOr
OBji0Fwiiop1qZiao6zM7qC6bdTPb8eFIoVzQiFOYr4UTgwTHA7z7/kc4SFU
w9Ca2zJeDLOiLKVHznLL5jrs4HbvsZDWEFtLJP7OcuPSWDgyNgpz9lkuXenp
AYHSAzVq1lULg89Z4+LCm9NM6gV72s2IXymSFW6pNCz64WJM9IEIEh7rDQ7J
0SEDgbOexEeNXEOgaq83jFDP2xU80zJ/WAmigj3b82mRuvkNGEKO1spBUq8b
lnHMWwrLlqudQKKuzVnw0mivSHTSVrhhTF3OHIIbla+LQeHjbhyqQL/NJC/g
NVmvN3csnYhgJD1L3SEsKAF35mAySM+9EZdQ6BeBGO+Nz3uDMQml3ebM+ioE
kBtchiYRBK0uAR+i/ELst5Do5kqTBMo4dEG6USERCfjM5lmrkH4ISfBGb82V
zeewS+RaqAtYsoqAjydKyjxrZoywWHe0dRUYzXxi0YtKC5JUsl04Wc9ZM97T
aithVPEYX1IvaoBaUDzKUvYYlEHIbye2oeIswDXXSET2fksnDM6evR4jeOct
djlnNpIyl/VnrgD1BtSp/tC5RgOY84S7dSvYW2DEnlRBkmcodjmx4gpyUJze
S1nP8DlTa8sjGX6i6hijAxmSMzmCwK1Ifj6DhNqaI8oqaYCaJgeZi8vryB5g
DER1YUMtNJaxxbX+SnxV0+mUsUhSRgrpt+phwAvXEAhgF/SHBhzoby7PB0aA
ENwXdztUDuEbgy3YmfMxIeXqJZfna3Me+pPLz6VJj0NE3nGtb/DbI0Yd+E2n
najOFkTwWKv7fV5zNrg2jmHeKxo5sJqYOdqJxCYaTYaXrF2ufgnacOwOdFka
ab8cnudQp549XRAxCC1vtQ4KcnWJl5pXIawTFGvdGzjxauNJupvtbelxdO6g
DZBI/QbBXi75E3dluDV2ZbojidqLj/HTqE/AkdL59Yf3Fw/PL96kRwePHyOv
ewFZI8Fnzklb5O3e03R3tudEgqebxaq9Dut6JOjZs7Ja0q3GVF7nwShREyt+
KD1zvke7964v/NVwaz3oqsGUi3Tazg2xuvbAZBM0UV6AlrcX2Zl0lEigozfO
rpxjJL7xmDmaLFdjicUH3kU7q716zBDhIB7O092FJ2D8QgA4BYh7iJVLG9n2
gcp2dvA7uYCsofF4zJ0hkD90Jlbby/oalS3j/f0TUmfO2S1SBvm1E/n1AL9e
IFNrqa7vTtPBOVnU2syLoe4yIZBp6dtaJueeq8kStCcgEoNhd8+9/zITJwqn
PT1//8JdcqHGTpu8R3YCWbTeW88X0gG34u6opMYvuBI2LBLVpkTWwXWjNQhs
OuHEixu3Bo1cdqdFe8nQsDTkZQ0UrKhDTBJ0iNnTck+d/5dqVEVjjtvHDLaL
3Y36wUibRmmvM5ZmsL4L7ej+Fi01nCrrbiQOG/XnbbVfieefbInBSfp8wWmc
WXmScl4EDaEONW7tU3TePNBjTQuUx/uH4CNABZT/T2tXt5TIFYTv5ymmuAlU
zcwCoq5WpSqIuGFXxIAbs3eCjkotMgZQd1PubR4gj5gnSX/d53cYhI17xzBz
us85ff66T/fXcrVqM7JYxwMnBYvr9p+EJ+mTpFlfFdNMtA0+eumF70qV/UBf
4opqtRQIvDmgQ1AuQAmI3HD+aCknlRP5Hjnh7JBdLltVlI/G9Z1EOah4LYgF
elX2G0FsU6F/edEi8mOhY7URYArV/Ai3VlPt0Qe+ZgWDKg6rOvRpPlgEa5Kc
iZbATNX256dRY34miU7RINAs51rKG6XtKQmu8hLQvzEl2WwWjhEAS4WT44bG
lsDFBDpLTWQT7lRklbMpWsoW1VTOu17PUxOC5UwqP+sUKs8qSYgVDW0JBsxF
K89s2OFBEbycpiD00hTwPLKXRY+p3YH3A/osxHeJuGD6wW+ymVw5AfgvzDE1
4bd4wusFQ68HYi4gBc4G4skOknDm01qDDiC0e80433mgYJyML6c28dExPUaF
39Z2G2wnj3Cal+MLiZsbXa/V9r59Y7dhibikb+XZSRcEqiV43GqT2ORrKI98
SQInrOGMjWsTXqCxwtGuwPmsdPPFGagE/95+u9Xrdtsnh+3DkgE4hy7krqv6
f3hYJ+GZSUfIt7t6eEN+GKoqHxJvVLj5BbwJtCdZgGphGfc3E4VRhJQsNC7R
MB72n2kMXWVP03h2zTl3H8VPgXZGNr7YHFVLHZ3F9iAQwvLCuOYkwzSu7tCZ
JluQgCtK0g1IOkcyhG0wyYEU2Lejh7t7YRdXd4NyMb/5dHhPR8WFGXS80dfq
O+Gh3uzfIEJJPwXWI5Td3Li2u5FZtaimquqNSCMn0/EH88Idj9ksSO2wlcOS
6hcGm8EZqmCOSICoCvs17sd831uc1Rue2673qAkzWXi+CMM8SY9aYFA91oHk
rAH80KZfztvznE+w+BzqAxh+SvCDXef4LQ6DuYh6HVWvoMcYe4V+wmV5K/lC
T6fD2Zyvahe3tCqIQgtrYh4FmT5Vt2mSVPxSgvT5KqYlkP62WwzZRZZNHECP
eS7VgGTo8CmzSVtVtYnfqGud6vrGr7E6LFBdVeIcXfkcPbb+/cnJkd/h52/H
4eDwGLA1U31JOteKPLaIsfkbE0FySjgUVw+xE9exo6WOMq8daUVEf9iAc11R
Yt2fKwafDUh8prmv9pG1w+4pHd1m2Wd0voRlnfYY1WEgIfD//v2PMkL6MptL
KnXeUOXTeICv2o9qKK4pT2zplPeZs7eH5+lowA9hGRvWTmN7GygRB2Nj2RlO
NpMws/8xK0gRqVdKkzOpxTjYKhkKD44cQaJmizO7Smo6j3yi9qIL1dMwxHEU
immmUjnDMoeVOPi0F5W8KCWgURVwKboucb4mmyMhaHEOBU8bsMYCz82lgNRq
wb6kJ/5fCVuawXLi0VeK2ku1yrIG3sF3SFn55fMsa8f6iVdn1xiSE4T+LnG+
4V2AzvvjmEbbFbQU+25V8RlDQPNYYPusLir/50rZfKjPBlbZSTVV/LHKv/oc
MtDyMq7yymKSoxUF+Zccdy+/ahL5HuFYQdrdSJOno8oFJ1tWD3LfZXu0sCgb
1C4M2JweZCp/AQj4haYT3nZP8gnCVraMCiSsw8k9IbPShZz/c6V0tAzvwbmI
ahzedTDNsnxxQ2Q4dXlj1tlQPHTapVUim6lsz0fsEwpNQGAq1atlXvcPCy7Q
Qnag9Avj46oKytvl3mB3IpTp3HE8GCDusiiE/cFJlpurGuvMXMjx8bNpljZa
YNZAYq5cX0wCEH6lnNBfIvbKhaUAcy5SLves0nj2mhUAnMCpXGGuCcvzVMMt
rIX/rBQfRNbASK45kLyAKdlbgoi89FEm8+O9ADNSwUCuQI70ixdDQ7abzU0B
H6MX0B5zY3hDsMfcKvB9SI/+/PzBkI/9pnewCJrOfULGVnolpHE6t2lq5HgX
rZ01GwCcGnARBtDjKOC+Vd4x80+M+uq+iD1TyMFseMUO3oMkCksfUmTwgSEU
6jVuk6nm9DEP7s70imOOgtBDTmM8lXkpUraaCN+HoB6FXTbu1fb2dhPDV5lc
jtPxaEhlwLV5NxrfPKgg9Y/3wCTHHcbjPDyGGxo/8B2lphyinueoZ44tiIPt
VxJVzWG6vdPYIaant+PJZHxPGlqT+B6Spko/u6jC2fBG2txxsMr0viQXleDT
2BU+oEddBmhHRnitV6t7ThPr26prSUhnTJ6k9374OBzwWSjsyUZCqpQaXLhY
q1CF2KWm44BQHbEIS6p1RJeqnV5qpm4ToUUQ06N0saB9pENcu+lkOv6cPUpr
uQ5W89CaMTdNayE+8ZrTokYNQnufTVPVY3DWnYBsD9sxqcNV3pez2fgvaZMo
RERcA2/rRjQgrPcP0xQ83ro8WEZ9OjBmswmNjbautdX0jhlA0ADQlAHrQiyM
mv+7CuSqJVuGHSTVfLjBepVjuFNDj5EUsDHfDu/UWDhHmrwPnO7243TMzjF9
nRvErp24mS1/7HfmFc2JyJmx54yGvVqtCsHAJM5ep323+5RGqe+WhBSKQC6q
l+p1Rc21m/XT22uiGIUtnkKnHRX7XcZHlX1cXyMc3HUiCcQ3pmkxKZuSlkUt
44faXY0HhUSxzoRNjB06VtYzwbToODbjgvVFwOzCA47xmko1f82ur+kpCk9R
Z1p5Od+nwtGTScGLi2uzo6X2oNc3nUxUvVFar6q+6Z22T6jpxFKbk+T6EvXD
MFV/DjzX561E50w5SkezB1SDSOqB322dErnmdHE7y+7Hl0Sl2LpU0uIZfDpp
SR2MncirhPk3X4sq1cKVcad3ViTiP+A/TK3Xmy7udPet2NiujdngoLBRXacS
x6KKKWFjqBVIWCyhqirnW614MMBgO/+1eXb+jiqxbPvg3tMxgreLu0nCCjui
IJ5u+Cx3B2UMac7eaEwCmAUkzXrCJYQdUiHepXRep0+e0tGIVkdaUWJ91qFq
dOWtLKpqChF3mrEjhljJaQbmgs9hsEGuxbD1MI7CTz6LZkdNFq+3Sby6XAk2
ZXSvScgse7Ksij/NcQ4H/kMQkAaIrCNavEGbdnpE58rfv1C7tRfvHP0X/AcX
SS2BcW0BAA==

-->

</rfc>

