<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mapmw-task-discovery-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="Task-discovery">Task discovery in agentic networks</title>
    <seriesInfo name="Internet-Draft" value="draft-mapmw-task-discovery-01"/>
    <author fullname="Hesham Moussa">
      <organization>Huawei Canada</organization>
      <address>
        <email>hesham.moussa@huawei.com</email>
      </address>
    </author>
    <author fullname="Arashmid Akhavain">
      <organization>Huawei Canada</organization>
      <address>
        <email>arashmid.akhavain@huawei.com</email>
      </address>
    </author>
    <author fullname="Roberto Pioli">
      <organization>Independent</organization>
      <address>
        <email>roberto.pioli@example.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="24"/>
    <area>Internet</area>
    <keyword>AI Network</keyword>
    <keyword>Agentic Networks</keyword>
    <keyword>AI inference</keyword>
    <keyword>AI training</keyword>
    <abstract>
      <?line 71?>
<t>This document defines an architectural framework for an open, interoperable ecosystem in which task owners publish tasks—represented as structured task cards—to a task‑posting platform, enabling autonomous agents to discover tasks, negotiate execution terms, and coordinate multi‑agent collaboration. The architecture introduces a set of functional layers—including the Task Owner Layer, Task Owner Access Layer, Task‑Posting Platform, Agentic Layer, Agent Access Layer, and an optional Communication Link—that collectively support secure task publication, agent discovery, capability evaluation, and bilateral negotiation. The framework is designed to accommodate heterogeneous agents with diverse skill sets, trust requirements, and operational models, while ensuring consistent interaction patterns across platforms and vendors.</t>
      <t>The document also surveys existing agent‑discovery approaches, such as A2A, agntcy/OASF, ARDP, and DNS‑AID, and identifies gaps that motivate a unified, interoperable model for task‑centric and agent‑initiated discovery and interaction. It also explores possible ways by which the current approached can enhance the proposed framework. The goal of this architecture is not to replace existing mechanisms but to provide a complementary framework that enables agent–task interactions in scenarios that are difficult to support using traditional agent‑to‑agent or platform‑centric interaction models. The document is concluded with some potential standardization venues for the IETF.</t>
    </abstract>
  </front>
  <middle>
    <?line 75?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>To date, both industry and academic communities have shown strong interest in the problem of agent discovery, in which a task owner seeks to identify the most suitable agent or group of agents to perform a given task. Several frameworks have been proposed such as A2A, Agntcy, DNS-AID, ARDP, and DNA which we will examine in detail in later sections.</t>
      <t>It is important to note that, although these methods offer valuable insights and each has distinct strengths and limitations, they share a common design principle that creates several challenges. They all assume agents are represented by identification records stored in a registry and made discoverable to task owners, who must then sift through piles of agent IDs to find suitable providers and assign tasks. This reliance on ID‑card–based discovery introduces several limitations within the broader framework, including:</t>
      <ul spacing="normal">
        <li>
          <t>Agent capabilities must be made discoverable to task initiators, and that information often needs to remain visible for the agent’s lifetime; as the number of agents grows, this requirement increases the network’s storage footprint. Ensuring global visibility typically requires geographic replication or federation of registries, which multiplies storage and synchronization costs and also raises additional operational burdens: increased bandwidth for replication and queries, higher indexing and lookup overhead, greater CPU and memory use for maintaining searchable indexes, and stronger consistency or reconciliation mechanisms to keep records correct and up to date. These costs together drive latency, operational complexity, and monetary expense as the agent population and geographic scope scale.</t>
        </li>
        <li>
          <t>In traditional agent discovery, task owners must sift through many agent identification records to find a suitable provider. This process assumes owners know the precise skills or requirements needed for a task—a strong and often unrealistic assumption. As a result, non‑expert owners face high search friction, increased mismatch risk, and longer resolution times; these effects worsen for complex, multi‑domain tasks</t>
        </li>
        <li>
          <t>Traditional discovery often funnels work to a few visible providers, creating task magnets: top‑ranked agents get most jobs, newcomers struggle to get any, and reputation feedback loops reinforce the imbalance. This reduces competition, slows innovation, and may lead to missed opportunity to match with the best agent for the given task.</t>
        </li>
        <li>
          <t>Task initiators need intelligent search controls—stoppage criteria and efficient search methods—because agent populations grow continuously and exhaustive discovery is impractical; deciding when to stop expanding the search space and how to explore promising candidates efficiently is therefore a core design challenge.</t>
        </li>
      </ul>
    </section>
    <section anchor="task-discovery-an-agent-initiated-engagement">
      <name>Task Discovery: an Agent initiated engagement</name>
      <t>Given the above foreseeable potential challenges to traditional approaches, we propose an alternative and complimentary framework where agents take active role in task to agent matching. In this framework, we consider what we refer to as task discovery, as follows:</t>
      <ul spacing="normal">
        <li>
          <t>Consider a system in which task owners can post their tasks on some type of a platform (e.g., social media, internet, websites, ebillboards…etc).</t>
        </li>
        <li>
          <t>Also consider that agents are equipped with means and intelligence that enable them to access this platform.</t>
        </li>
        <li>
          <t>Agents can then discover tasks posted to this platform.</t>
        </li>
        <li>
          <t>Agents can select the tasks that suit their skillset and capabilities.</t>
        </li>
        <li>
          <t>Agents can then send necessary information (e.g. agent card, history, make, model, ratings...etc) to task owners and present themselves as potential candidates capable of fulfilling the posted task.</t>
        </li>
        <li>
          <t>Task owners can employ a contention resolution mechanism to assign the task to a candidate and provide permission to the selected agent to complete the task. Essentially, compared to traditional methods, in this propose approach, task discovery helps decreases the number of comparison processes needed to select the best matching agent.</t>
        </li>
        <li>
          <t>Agents can form coalitions (pre-organized or dynamically formed upon discovering posted tasks) to appear more capable than they would in their individual forms. These are teams of agents where each team has an overall team capability and skillset that is an aggregate of the capabilities and skillsets of the team members.</t>
        </li>
        <li>
          <t>In scenarios where multi-agent collaboration is needed, team formations enables the task owner to have the full knowledge of all different agents involved in fulfillment of the task from the onset. This is in contrast to the traditional task fulfillment where dynamically recruited downstream agents need to be continuously announced and approved by the task owner. Essentially, the propose approach can help ease up the need for chain of permission requests.</t>
        </li>
        <li>
          <t>Similarly, upon discovering posted tasks, agents can acquire additional agentic skills to augment their capabilities before submitting applications to task owners and becoming candidates.</t>
        </li>
      </ul>
      <t>The above proposed complimentary architecture can help facilitate various services, including:</t>
      <ul spacing="normal">
        <li>
          <t>Increase agent visibility: Idle agents who hold identification cards but are not being selected by task owners can use the proposed architecture to increase their visibility. In this design, agents are allowed to actively approach task owners and offer their services, rather than remaining passive and waiting to be chosen.</t>
        </li>
        <li>
          <t>Reputation Building and fair selection: Reputation is a key factor that differentiates agents and influences their likelihood of being selected, typically based on task‑owner ratings, accuracy, completion time, and overall performance. Because reputation reflects an agent’s history of completed tasks, newly added agents face a cold‑start problem in traditional discovery models where agents remain passive and must wait to be chosen, making it difficult to compete with established agents. The proposed platform mitigates this challenge by allowing agents to actively seek out tasks and offer their services, giving them opportunities to build or strengthen their reputation rather than relying solely on being selected.</t>
        </li>
        <li>
          <t>Guided Agent improvement: Agents are expected to be self‑evolving entities that continuously learn new skills. In traditional passive discovery methods, organizations develop agents and are responsible for improving the quality of their published agents; to do this efficiently they conduct extensive market analyses to identify the skills their agents lack and evolve them accordingly. However, because discovery is passive, such analyses assume access to records showing which agent performed which task and why it was chosen; information that is often proprietary or confidential in competitive markets. In the proposed approach, agents can inspect task postings directly: they can infer required skills from task descriptions and metadata, compare those requirements to their own capabilities, and determine which skills to develop so they are better positioned to handle the tasks most commonly submitted by task owners.</t>
        </li>
        <li>
          <t>Improve agent-task matching: Selecting the right agent for a task is not straightforward. Traditional methods assume task owners know enough about a domain to specify the exact skills required, but that is often false: a car owner who reports “weird noise when braking” may not know whether the problem is tires, brakes, or suspension, so they will search for a generic “mechanic,” yielding either too many matches or none if they must be more specific. Under the proposed approach, task owners can post a general request (e.g., “fix car making noise when braking”) and agents can proactively query for clarifications—asking about recent brake work, symptom duration, or offering to run a diagnostic—thereby shifting the diagnostic intelligence from the owner to service providers and improving match quality.</t>
        </li>
        <li>
          <t>Improved complex task handling: Tasks vary in complexity: some require a single agent (e.g., “translate this text from French to English”), while others need multiple agents (e.g., “help build a bicycle” — one agent to purchase parts, another to deliver them, a third to guide assembly). In traditional discovery models, complex tasks must be split into subtasks, but that process assumes the task owner can (1) decompose the task to the right level of granularity and (2) know what agents exist to handle each subtask; if the available agent landscape is unknown, splitting can be counterproductive (for example, designating a “purchase parts” subtask is useless if no purchasing agent exists). The proposed approach lets task owners post raw, unsplit tasks to the billboard, relieving them of the burden of decomposition; agents discover those postings, use their internal knowledge and awareness of other agents to form coalitions, and split and assign subtasks among themselves, thereby shifting the complexity to the service‑providing side and enabling tasks to be partitioned in ways that match actual agent capabilities. Also, this provides a means by which agents can form coalitions with trusted parties to handle tasks together.</t>
        </li>
        <li>
          <t>Mechanisms for authentication and trust establishment: task owners generally need to interact with authenticated, registered agents, and traditional discovery models place the burden of vetting on owners—reviewing credentials, certifications, provenance, and other trust signals—which assumes owners have the expertise and resources to perform reliable vetting. Prior proposals (for example, DNS-AID and ARDP) shift parts of that responsibility to third parties such as DNS‑based certification systems, but they still depend on standardized, often rigid trust criteria and centralized records that may be proprietary or vulnerable to compromise. To increase flexibility and usability, the proposed approach lets task owners define their own authentication and trust requirements (for example, accepting agents by origin and publisher, or requiring background checks, tests, or cryptographic attestations); agents apply for tasks by connecting to the owner, and the owner admits only those agents that meet its chosen criteria. The billboard used for posting tasks can also enforce admission policies, allowing only authenticated and trusted agents to submit proposals. It would be appreciated to mention that under this approach, various grounding mechanisms would be needed so that proposed flexibility non-standardized design does not lead to fragmentation, spoofing, or unscalable manual vetting.</t>
        </li>
      </ul>
      <t>It should be clear from the above that the primary advantage of the proposed architecture is to shift part of the discovery burden from task owners to service‑providing agents rather than to replace existing registry‑based discovery. Task owners retain the option to search agent registries, but the complementary billboard model lets owners post raw, unsplit tasks and lets agents perform decomposition, diagnostics, and coalition formation. Agents still rely on discovery to assemble teams, but their team formation is driven by objectives inferred from the task posting and by agents’ own knowledge of capabilities and trust relationships. To make this shift practical and secure, the platform should combine owner‑configurable trust policies with policy profiles, machine‑readable credentials, standardized task posting mechanisms, standardized task metadata formatting, billboard admission controls, and budgeted search/stop rules so owner flexibility does not produce fragmentation, spoofing, or unscalable manual vetting. All of these aspects can benefit from discussions and developments within the IETF as will be discussed later.</t>
    </section>
    <section anchor="traditional-agent-task-discovery-approaches">
      <name>Traditional agent-task discovery approaches</name>
      <t>This section aims at providing a brief high level collective description of traditional known agent discovery mechanisms (i.e., some form of a summary for the different approaches that outlines the general theme)</t>
      <section anchor="approach-1-agent-to-agent-protocol-a2a">
        <name>Approach 1 Agent-to-Agent protocol (A2A)</name>
        <section anchor="general-description-of-the-approach">
          <name>General description of the approach</name>
          <t>A2A uses Agent Cards (structured JSON metadata) plus registry servers and discovery clients so that agents and clients can retrieve machine‑readable descriptions of remote agents’ capabilities and endpoints. Discovery is tightly coupled with the A2A messaging and lifecycle model.</t>
        </section>
        <section anchor="components-interfaces-and-protocols">
          <name>Components, interfaces, and protocols</name>
          <ul spacing="normal">
            <li>
              <t>Agent Card: the primary discovery artifact (JSON schema) describing name, capabilities, endpoints, and interaction hints.</t>
            </li>
            <li>
              <t>AgentRegistry / DiscoveryClient: servers that host Agent Cards and clients that query registries or use local discovery strategies.</t>
            </li>
            <li>
              <t>A2A transport and security stack: discovery is integrated with the protocol’s authentication and session establishment flows so that discovery leads directly into authenticated communication.</t>
            </li>
          </ul>
        </section>
        <section anchor="known-implementations-ecosystem">
          <name>Known implementations / ecosystem</name>
          <t>Google published A2A and maintains a public GitHub repository and documentation; multiple SDKs and language bindings (including a Python discovery module) implement the Agent Card and registry patterns.</t>
        </section>
        <section anchor="shortcomings-and-limitations-expected-or-reported">
          <name>Shortcomings and limitations (expected or reported)</name>
          <ul spacing="normal">
            <li>
              <t>Registry and card freshness: Agent Cards must be kept up to date; stale cards can misrepresent runtime capabilities.</t>
            </li>
            <li>
              <t>Owner specification burden: discovery via structured cards assumes owners or publishers can accurately enumerate capabilities; vague tasks still require additional negotiation or diagnostics.</t>
            </li>
            <li>
              <t>Interoperability gaps without profiles:  different deployments may extend Agent Cards or discovery strategies; without standardized profiles, cross‑domain behavior can vary.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="approach-2-agntcy-by-cisco">
        <name>Approach 2 Agntcy by Cisco</name>
        <section anchor="general-description-of-the-approach-1">
          <name>General description of the approach</name>
          <t>AGNTCY provides a registry‑and‑messaging stack for agent interoperability: agents publish metadata and capability records to discoverable services, use secure messaging for interaction, and rely on observability/attestation components to verify behavior. Discovery within Agntcy centers on a registry‑style directory that indexes agent metadata and capability schemas; agents publish machine‑readable schema‑backed records (built on the Open Agentic Schema Framework (OASF)) and discovery queries retrieve matching entries.</t>
        </section>
        <section anchor="components-interfaces-and-protocols-1">
          <name>Components, interfaces, and protocols</name>
          <ul spacing="normal">
            <li>
              <t>OASF schema server and schema repository for capability and metadata definitions.</t>
            </li>
            <li>
              <t>Agent Directory / Agent Directory Service (ADS) that indexes signed agent records and maps capability descriptors to content locations.</t>
            </li>
            <li>
              <t>Secure low‑latency messaging (SLIM) and transport bindings for agent‑to‑agent communication that integrate discovery with secure agent‑to‑agent messaging and observability pipelines.</t>
            </li>
            <li>
              <t>Identity, observability, and evaluation subsystems for provenance, runtime telemetry, and capability assessment.</t>
            </li>
          </ul>
        </section>
        <section anchor="known-implementations-ecosystem-1">
          <name>Known implementations / ecosystem</name>
          <t>AGNTCY code and reference components are available on GitHub from Outshift/Cisco and collaborators; the project has been adopted into a Linux Foundation initiative with multiple industry participants.</t>
        </section>
        <section anchor="shortcomings-and-limitations-expected-or-reported-1">
          <name>Shortcomings and limitations (expected or reported)</name>
          <ul spacing="normal">
            <li>
              <t>Registry‑centric bias: relies on owners or agents to keep registry entries current; static entries can become stale relative to runtime capability.</t>
            </li>
            <li>
              <t>Operational complexity: full stack (registry, messaging, observability) increases deployment and integration effort for platforms.</t>
            </li>
            <li>
              <t>Cold‑start for newcomers: while registries provide authoritative identity, newcomers still need paths to earn visibility and reputation unless additional onboarding flows are defined.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="approach-3-dns-for-ai-discovery-dns-aid">
        <name>Approach 3 DNS for AI Discovery (DNS-AID)</name>
        <t>DNS-AID, as described in <xref target="I-D.draft-mozleywilliams-dnsop-dnsaid"/> is a means of utilizing the Domain Name System (DNS) to facilitate scalable and interoperable discovery between AI agents that can also be applied to tasks. It provides a well-known entry point to facilitate discovery and automation, in much the same way as the defacto label www does for web sites. This could be used on internal or external networks.</t>
        <t>An agent might discover tasks it could process directly, or do this via another agent that brokers communication, for instance ensuring authentication and authorization to perform a task and a token to allow direct interaction with the task itself.</t>
        <ul spacing="normal">
          <li>
            <t>DNS AID creates a well-known entry point to an organization's agents. Currently, many agents and capabilities are listed in host files accessed through gateways (MCP, for example). By moving the capability descriptors closer to the clients (in this case we assume there are many types of clients dispersed throughout an organization looking for agents and vice versa), you improve scalability, performance, and federate discovery to control plane that is natively integrated to the current existing network stack.</t>
          </li>
          <li>
            <t>Facilitated through a leaf-attribute zone (e.g. _agents.example.com) containing SVCB records which embed metadata within the record: IPv4/6 hint, alpn (h2, h3, a2a, mcp1, etc), port, and any other key value pair (e.g. model card URL, token bundle input, modalities, etc) without recommending any changes to existing DNS protocols.</t>
          </li>
          <li>
            <t>It's likely that for particularly volatile workloads, ephemeral and others that the propagation time for AXFR/IXFR may exceed the lifetime of the task. It's better to consider two approaches: use SVCB-param-key to signify tasks (e.g. tasks = true or false) which then tasks are exchanged through the application protocol itself between workers, or embed task metadata within the specific agents as a subzone (e.g. tasks.chat._agents.example.com). Either provide a mechanism to be listed in a centralized location for federated task discovery and completion.</t>
          </li>
        </ul>
        <t>The key components and principles of DNS-AID that could be applied to task discovery include:</t>
        <ul spacing="normal">
          <li>
            <t>use of the “feature rich” DNS SVCB record type to indicate task protocols and IP connectivity for efficiency with a defined structure (as opposed to an unstructured TXT record)</t>
          </li>
          <li>
            <t>DNS-Based Service Discovery (DNS-SD) to standardize the well-known entry point and to group tasks by protocol type or other categories</t>
          </li>
          <li>
            <t>providing additional properties to facilitate efficient communication</t>
          </li>
          <li>
            <t>organizations could optionally provide specific SVCB records for long-running tasks to improve efficiency</t>
          </li>
        </ul>
        <t>An example of discovering tasks could be an agent connecting to an end-point that has details of image processing tasks for an organization.</t>
        <figure anchor="dns-aid-task-discovery">
          <name>DNS-AID task discovery example 1</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="624" viewBox="0 0 624 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 72,112 L 72,384" fill="none" stroke="black"/>
                <path d="M 72,416 L 72,432" fill="none" stroke="black"/>
                <path d="M 296,112 L 296,192" fill="none" stroke="black"/>
                <path d="M 296,224 L 296,352" fill="none" stroke="black"/>
                <path d="M 512,112 L 512,432" fill="none" stroke="black"/>
                <path d="M 80,160 L 288,160" fill="none" stroke="black"/>
                <path d="M 80,208 L 288,208" fill="none" stroke="black"/>
                <path d="M 80,400 L 504,400" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="512,400 500,394.4 500,405.6" fill="black" transform="rotate(0,504,400)"/>
                <polygon class="arrowhead" points="296,160 284,154.4 284,165.6" fill="black" transform="rotate(0,288,160)"/>
                <polygon class="arrowhead" points="88,208 76,202.4 76,213.6" fill="black" transform="rotate(180,80,208)"/>
                <g class="text">
                  <text x="12" y="36">AI</text>
                  <text x="48" y="36">Agent</text>
                  <text x="100" y="36">Client</text>
                  <text x="24" y="52">wants</text>
                  <text x="60" y="52">to</text>
                  <text x="108" y="52">discover</text>
                  <text x="168" y="52">image</text>
                  <text x="220" y="52">tasks:</text>
                  <text x="400" y="52">images._tasks._agents.example.com</text>
                  <text x="20" y="68">(mcp</text>
                  <text x="48" y="68">=</text>
                  <text x="92" y="68">service,</text>
                  <text x="156" y="68">foobar</text>
                  <text x="192" y="68">=</text>
                  <text x="272" y="68">agent/capability,</text>
                  <text x="392" y="68">example.com</text>
                  <text x="448" y="68">=</text>
                  <text x="508" y="68">organization</text>
                  <text x="592" y="68">domain)</text>
                  <text x="72" y="100">Agent</text>
                  <text x="256" y="100">DNS</text>
                  <text x="308" y="100">Resolver</text>
                  <text x="508" y="100">Task</text>
                  <text x="108" y="132">1.</text>
                  <text x="140" y="132">SVCB</text>
                  <text x="184" y="132">Query</text>
                  <text x="144" y="148">(Recursive)</text>
                  <text x="108" y="180">2.</text>
                  <text x="140" y="180">SVCB</text>
                  <text x="196" y="180">Response</text>
                  <text x="128" y="196">(cached</text>
                  <text x="168" y="196">+</text>
                  <text x="220" y="196">validated)</text>
                  <text x="296" y="212">┤</text>
                  <text x="132" y="244">Response</text>
                  <text x="208" y="244">includes:</text>
                  <text x="104" y="260">•</text>
                  <text x="144" y="260">Service</text>
                  <text x="204" y="260">target</text>
                  <text x="104" y="276">•</text>
                  <text x="132" y="276">ALPN</text>
                  <text x="200" y="276">protocol(s)</text>
                  <text x="104" y="292">•</text>
                  <text x="132" y="292">Port</text>
                  <text x="180" y="292">number</text>
                  <text x="104" y="308">•</text>
                  <text x="152" y="308">IPv4/IPv6</text>
                  <text x="216" y="308">hints</text>
                  <text x="104" y="324">•</text>
                  <text x="140" y="324">DNSSEC</text>
                  <text x="212" y="324">signatures</text>
                  <text x="104" y="340">•</text>
                  <text x="164" y="340">Capabilities</text>
                  <text x="244" y="340">(cost,</text>
                  <text x="168" y="356">modalities,</text>
                  <text x="236" y="356">etc)</text>
                  <text x="108" y="388">3.</text>
                  <text x="140" y="388">A2A,</text>
                  <text x="180" y="388">MCP,</text>
                  <text x="220" y="388">etc.</text>
                  <text x="72" y="404">├</text>
                  <text x="160" y="420">(Agent-to-Agent</text>
                  <text x="160" y="436">communication</text>
                  <text x="248" y="436">begins)</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
      AI Agent Client
      wants to discover image tasks:   images._tasks._agents.example.com
      (mcp = service, foobar = agent/capability, example.com = organization domain)

            Agent                   DNS Resolver                   Task
              |                           |                          |
              |   1. SVCB Query           |                          |
              |   (Recursive)             |                          |
              |-------------------------->|                          |
              |   2. SVCB Response        |                          |
              |   (cached + validated)    |                          |
              |<--------------------------┤                          |
              |                           |                          |
              |   Response includes:      |                          |
              |   • Service target        |                          |
              |   • ALPN protocol(s)      |                          |
              |   • Port number           |                          |
              |   • IPv4/IPv6 hints       |                          |
              |   • DNSSEC signatures     |                          |
              |   • Capabilities (cost,   |                          |
              |      modalities, etc)     |                          |
              |                                                      |
              |   3. A2A, MCP, etc.                                  |
              ├----------------------------------------------------->|
              |   (Agent-to-Agent                                    |
              |    communication begins)                             |
]]></artwork>
          </artset>
        </figure>
        <t>Note that DNS is not used for agents to communicate with tasks, rather it indicates the protocol that should be used, the IP address and potentially other defined properties. DNS would not index all tasks and is not suited to the discovery of lists of tasks, rather the use case is facilitating efficient communication to a known end-point.</t>
        <t>Implementation examples of DNS-AID can be found at <xref target="DNSAIDsite"/>.</t>
      </section>
      <section anchor="approach-4-agent-registration-and-discovery-protocol-ardp">
        <name>Approach 4: Agent Registration and Discovery Protocol (ARDP)</name>
        <section anchor="general-description-of-the-approach-2">
          <name>General Description of the Approach</name>
          <t>The Agent Registration and Discovery Protocol (ARDP) is a control-plane protocol designed to provide stable agent identifiers, authenticated registration, and authorized endpoint resolution in distributed and federated environments.</t>
          <t>ARDP is not limited to static agent “card” storage. It defines a dynamic, soft-state registration model in which bindings expire and must be refreshed, and in which resolution is subject to authorization policy and privacy controls. This distinguishes ARDP from passive directory models and enables its use in mobile, federated, and multi-tenant environments.</t>
          <t>Unlike static registries that merely store agent identification records, ARDP defines:</t>
          <ul spacing="normal">
            <li>
              <t>Identity-bound registration with cryptographic proof-of-control (JWS-based PoC for REGISTER/refresh operations).</t>
            </li>
            <li>
              <t>Soft-state bindings with TTL and refresh semantics, allowing dynamic endpoint mobility.</t>
            </li>
            <li>
              <t>Fine-grained authorization for RESOLVE and QUERY operations.</t>
            </li>
            <li>
              <t>Capability advertisement independent of interaction protocol (e.g., MCP, A2A, HTTP, gRPC).</t>
            </li>
            <li>
              <t>Explicit federation model with provenance metadata and TTL honoring.</t>
            </li>
            <li>
              <t>Privacy-aware redaction defaults for discovery responses.</t>
            </li>
          </ul>
        </section>
        <section anchor="core-characteristics">
          <name>Core Characteristics</name>
          <t>ARDP operates as a minimal control-plane discovery layer. It does not define session management, task execution semantics, runtime authorization tokens, billing mechanisms, or governance frameworks. Instead, it focuses on:</t>
          <ul spacing="normal">
            <li>
              <t>Binding a stable Agent Identifier (AID) to active endpoints and capability metadata.</t>
            </li>
            <li>
              <t>Ensuring that only entities that can prove control of an AID may register or refresh it.</t>
            </li>
            <li>
              <t>Providing authorized resolution of endpoints and capabilities.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="our-approach-task-cards-and-task-discovery">
      <name>Our approach: task cards and task discovery</name>
      <t>This section aims to provided general high-level description and architecture of the proposed Task Discovery Ecosystem. It also poses some questions that need answers and opens up venues for discussions.</t>
      <section anchor="task-discovery-ecosystem">
        <name>Task Discovery Ecosystem</name>
        <figure anchor="fig2">
          <name>Task Discovery Ecosystem</name>
          <artwork align="center"><![CDATA[
+----------+                                                         +----------+
|          |                                                         |          | 
|+--------+|      +--------+                         +--------+      |+--------+|
|| T.O. 1 || <--> |        |                         |        | <--> || Agent 1||
|+--------+|      |        |      +-----------+      |        |      |+--------+| 
|          |      |        |      |           |      |        |      |     ↕    |
|+--------+|      |  T.O.  |      |   Task    |      | Agent  |      |+--------+|
|| T.O. 2 || <--> | Access | <--> |  Posting  | <--> | Access | <--> || Agent 2||
|+--------+|      | Layer  |      |  Platform |      | Layer  |      |+--------+|
|          |      |        |      |           |      |        |      |     ↕    |
|+--------+|      |        |      +-----------+      |        |      |+--------+|
|| T.O. n || <--> |        |                         |        | <--> || Agent m||
|+--------+|      +--------+                         +--------+      |+--------+|
|          |                                                         |          |
+----------+                                                         +----------+ 
     ↑                                                                    ↑ 
     |                         Communication  link                        |
     +--------------------------------------------------------------------+
* T.O: Task Owner
]]></artwork>
        </figure>
        <t>As shown in the figure, the ecosystem consists of different layers.</t>
        <ul spacing="normal">
          <li>
            <t>Task Owner Layer: This layer hosts the entities that submit tasks requiring assistance from AI agents. It provides mechanisms for verifying, authenticating, and registering trusted task owners, ensuring that only authorized parties can participate in the system. This layer also manages the lifecycle of owner activity—including task submission, accounting and charging, and policy enforcement—and offers the privacy and security controls needed to protect owner data and identity.</t>
          </li>
          <li>
            <t>Agentic Layer: The Agentic Layer hosts the autonomous agents that evaluate, select, and execute tasks. Agents in this layer expose diverse skill sets and operate as independent decision‑making entities. They are expected to discover posted tasks through standardized search interfaces, analyze task requirements, compare them against their own capabilities, and determine whether they are suitable candidates. Once engaged, agents can communicate with task owners to request assignment, seek clarification, provide progress updates, or deliver results. This layer may also support additional functions such as capability attestation, agent registration and authentication, reputation tracking, coalition formation for multi‑agent tasks, and mechanisms for agents to manage their own operational state (availability, load, or cost). Within this layer, agent‑to‑agent discovery, communication, and session‑management protocols—such as A2A, agntcy, ARDP, and DNS‑AID—may be used to support coalition formation, peer coordination, and agent‑level discovery needed to assemble appropriate teams for tasks that require multi‑agent collaboration. In some implementations, specialized “scouting agents” may continuously search for suitable tasks and, upon discovery, rely on agent‑to‑agent protocols to subcontract or delegate the task to the most appropriate agents within their network.</t>
          </li>
          <li>
            <t>Task Owner (T.O.) Access Layer: This Layer provides the interfaces through which task owners interact with the task‑posting platform. It exposes the protocols required for safe and reliable operation, including mechanisms for submitting new tasks, tracking task status, and updating, retracting, or modifying previously posted tasks. This layer also supports the communication requirements needed for rich interaction—such as multi‑modal exchanges, session management, and secure transport between task owners and the platform. Standardizing this layer enables task owners of different types and from different vendors’ ecosystems to interact with task‑posting platforms in a consistent, interoperable manner. It should be noted here that also the task-posting platforms can come from different vendors as well, so standardized access layer is essential.</t>
          </li>
          <li>
            <t>Agent Access Layer: The Agent Access Layer provides the standardized interfaces through which agents interact with the task‑posting platform and with other system components. It exposes the protocols required for safe task discovery, capability advertisement, proposal submission, and session establishment. This layer also supports secure communication, multi‑modal exchanges, status reporting, and lifecycle management for agent‑initiated interactions. By defining common access and communication primitives, the Agent Access Layer enables heterogeneous agents—potentially from different vendors or ecosystems—to interoperate reliably with task‑posting platforms and with one another.</t>
          </li>
          <li>
            <t>Task-Posting Platform: The Task‑Posting Platform is the environment in which task owners publish tasks (task cards for instance) and make them visible to eligible agents. It maintains the authoritative catalog of active tasks and enforces the policies under which tasks may be posted, viewed, or acted upon. Platforms may apply subject‑matter restrictions, require specific agent capabilities, or limit participation to task owners who meet defined trust or compliance requirements. The platform is responsible for ensuring fair and consistent visibility across all posted tasks and for exposing standardized APIs that allow agents to search, filter, and retrieve tasks in a predictable manner. In addition to basic posting and retrieval, the platform may support task lifecycle management, admission control, rate limiting, prioritization rules, and mechanisms for handling updates, cancellations, and task‑owner clarifications. This allows it to provide necessary OAM functionality for task owners. Although platforms may differ in internal design, they are expected to expose interoperable interfaces that conform to the specifications defined by the Task Owner Access Layer and the Agent Access Layer, enabling cross‑vendor compatibility and consistent behavior across deployments.</t>
          </li>
          <li>
            <t>The Communication Link: The Communication Link is an optional component that enables direct, bilateral interaction between task owners and agents after initial discovery. Its purpose is to off‑load certain interaction responsibilities from the access layers by providing a secure channel through which both parties can negotiate task‑specific details. Once an agent identifies a suitable task, it may use this link to contact the task owner directly and establish the terms under which the task will be fulfilled. These terms may include trust requirements, handling expectations, privacy constraints, compensation models, escalation paths, or any other operational parameters relevant to the task. This link supports private sessions that operate outside the default policies of the task‑posting platform while still relying on standardized, regulated, and secured communication protocols defined by the ecosystem. It allows richer negotiation patterns—such as multi‑modal exchanges, iterative clarification, or structured contract formation—without requiring the platform to mediate every interaction.</t>
          </li>
        </ul>
      </section>
      <section anchor="task-cards">
        <name>Task cards</name>
        <ul spacing="normal">
          <li>
            <t>what are task cards?</t>
          </li>
          <li>
            <t>how are they generated? (there should be a mechanism to generate these) -- potential for standardization.</t>
          </li>
          <li>
            <t>What are some proposed task card structures? -- potential for many IETF drafts and solution proposal.</t>
          </li>
          <li>
            <t>How are task cards used by agents to satisfy the different scenarios considered? -- (these task cards need to be designed such that they can be utilized to fulfill the above scenarios. Mechanism by which this is done might not be in IETF scope, but perhaps would invite creative designing proposals)</t>
          </li>
        </ul>
      </section>
      <section anchor="task-discovery">
        <name>Task discovery</name>
        <ul spacing="normal">
          <li>
            <t>How are task cards stored? (authorization, authentication, standardization) --- potential for standardization</t>
          </li>
          <li>
            <t>How are task cards published and handled after being published? (expiration, prioritization, fairness) -- potential for standardization</t>
          </li>
          <li>
            <t>What are the possible different approaches to discovering them in light of the different scenarios being considered? -- potential for standardization</t>
          </li>
          <li>
            <t>How to ensure secure and private access to task cards? -- potential for standardization</t>
          </li>
          <li>
            <t>Centralized and decentralized discovery?</t>
          </li>
          <li>
            <t>Efficient discovery? -- This is likely out of scope for the IETF, making it more suitable as a research topic for the IRTF. Alternatively, this could be handled through engineered, standardized methods, such as hierarchical or DNS-based discovery.</t>
          </li>
        </ul>
      </section>
      <section anchor="interaction-between-task-owners-and-agents">
        <name>Interaction between task owners and agents</name>
        <ul spacing="normal">
          <li>
            <t>How do agents connect with task owners? (authentication, validation, and authorization) -- potential for standardization</t>
          </li>
          <li>
            <t>How can task owners monitor progress on their tasks? -- potential for standardization</t>
          </li>
          <li>
            <t>How do agents charge and bill for their service? -- This is likely out of scope for the IETF</t>
          </li>
          <li>
            <t>What happens if agents did not fulfill the task up to standards required?  -- IETF can provide a way to express satisfaction, similar to ai-pref</t>
          </li>
          <li>
            <t>how to insure privacy and security? -- potential for standardization. Perhaps proposal such as ARDP might find utility here.</t>
          </li>
          <li>
            <t>authorization and authentication of agent? -- potential for standardization</t>
          </li>
          <li>
            <t>authorization and authentication of task owner? -- potential for standardization</t>
          </li>
          <li>
            <t>authorization and authentication of billboards? -- potential for standardization</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="complementary-operations-format">
      <name>Complementary operations format</name>
      <t>This section aims to describe how the two models can operate side‑by‑side: registry‑based discovery continues to offer a stable, authoritative directory of agents, while the billboard‑driven approach adds dynamic task posting, proactive agent proposals, richer reputation building, and improved handling of vague or complex tasks. Together, they form a hybrid discovery ecosystem in which registries provide long‑term identity and credentials, and the billboard layer provides real‑time matching, diagnostics, coalition formation, and opportunities for newcomers—each compensating for the other’s weaknesses.</t>
      <section anchor="a2a-and-agntcy-role-in-task-discovery">
        <name>A2A and Agntcy role in task discovery</name>
        <t>To be completed..</t>
      </section>
      <section anchor="dns-aid-role-in-task-discovery">
        <name>DNS-AID role in task discovery</name>
        <t>To be completed..</t>
      </section>
      <section anchor="ardp-role-in-task-discovery">
        <name>ARDP role in task discovery</name>
        <t>Being a control-plane protocol that is designed to provide stable agent identifiers, authenticated registration, and authorized endpoint resolution in distributed and federated environment, the ARDP can facilitate many features necessary for the operation of the Task Discovery Ecosystem proposed here. To be exact, ARDP can:</t>
        <ul spacing="normal">
          <li>
            <t>Serve as the authoritative identity and endpoint binding layer for agents that respond to task postings.</t>
          </li>
          <li>
            <t>Allow Agents discovering tasks via a billboard mechanism to:
            </t>
            <ul spacing="normal">
              <li>
                <t>Validate peer agent identities when forming coalitions.</t>
              </li>
              <li>
                <t>Resolve authoritative endpoints for inter-agent coordination.</t>
              </li>
              <li>
                <t>Verify provenance and federation trust relationships.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Task billboards may reference ARDP-resolvable AIDs instead of duplicating identity records.</t>
          </li>
        </ul>
        <t>However, what the ARDP is not meant to do is:</t>
        <ul spacing="normal">
          <li>
            <t>Task decomposition logic.</t>
          </li>
          <li>
            <t>Coalition formation strategies.</t>
          </li>
          <li>
            <t>Runtime authorization enforcement within an agent.</t>
          </li>
          <li>
            <t>Reputation scoring or bidding mechanisms.</t>
          </li>
        </ul>
        <t>These functions can operate above ARDP or alongside it in complementary architectures such as the proposed task discovery model.</t>
        <t>Thus, in light of the above, it is clear that ARDP complements both registry-based discovery and billboard-based task discovery by providing a secure and interoperable control-plane foundation.</t>
      </section>
    </section>
    <section anchor="conclusion-and-discussions">
      <name>Conclusion and Discussions</name>
      <section anchor="summary-of-advantages-of-the-proposed-task-discovery-ecosystem">
        <name>Summary of advantages of the proposed Task Discovery Ecosystem</name>
        <ul spacing="normal">
          <li>
            <t>A task‑card storage entity is dynamic and demand‑driven: posted tasks expire or are archived once completed, so the active dataset shrinks and grows with workload. This contrasts with registry‑based approaches that must persist and replicate every agent profile indefinitely. By keeping only active task records readily searchable, the proposed model reduces persistent storage, indexing, replication bandwidth, and update churn, aligning infrastructure cost with actual demand while still supporting optional archival and a small authoritative registry for long‑lived credentials, making it a better scalable solution.</t>
          </li>
          <li>
            <t>The proposed model reduces the task‑owner’s burden of finding the right agent by shifting discovery work to agents: agents that believe they are a good fit proactively submit proposals, which narrows the owner’s search space and removes the need for owners to precisely specify required skills.</t>
          </li>
          <li>
            <t>For non urgent tasks that owners do not want to spend a lot for them to be done, they are posted for agents to bid on and owners can choose the best offer. This also allows idle agents to have a chance to make money and perhaps help with load balancing</t>
          </li>
          <li>
            <t>By allowing agents to proactively propose for posted tasks, the platform enables newcomers and under‑exposed agents to build verifiable reputation through completed work, reducing cold‑start barriers and improving match quality—provided the system enforces admission controls, verification steps, and incentive mechanisms to limit noise and gaming.</t>
          </li>
          <li>
            <t>The billboard model augments registry‑based discovery rather than replacing it: owners retain registry search capabilities while also posting raw tasks to receive proactive proposals. This hybrid approach preserves existing workflows, lowers the barrier for non‑expert owners, and enables richer matching strategies; to work well it requires interoperable metadata, admission controls, and clear ranking/deduplication rules so the two channels remain complementary and secure.</t>
          </li>
        </ul>
      </section>
      <section anchor="ietf-work-required-to-realize-the-vision">
        <name>IETF work required to realize the vision</name>
        <t>The proposed billboard‑like agent initiated task discovery model offers clear benefits, but substantial IETF work is required to make it interoperable, secure, and scalable. Standards are needed for task‑posting formats, machine‑readable credentials, admission and discovery APIs, policy profiles, privacy‑preserving attestations, and budgeted search semantics; without these, owner‑defined trust policies will fragment the ecosystem, invite spoofing, and force unscalable manual vetting. The IETF should therefore define minimal, composable building blocks that preserve owner flexibility while enabling automated verification, cross‑domain discovery, and fair matching across implementations.</t>
        <ul spacing="normal">
          <li>
            <t>Task posting and metadata formats: a compact, extensible schema for raw task descriptions, required attributes, and diagnostic prompts.</t>
          </li>
          <li>
            <t>Discovery and billboard APIs: standardized endpoints and query semantics for posting tasks, submitting proposals, and retrieving shortlists.</t>
          </li>
          <li>
            <t>Standardized machine‑readable credentials and attestations: interoperable formats and protocols for signed capability claims, provenance, selective‑disclosure identity attributes, and revocation signals, enabling automated trust decisions between task owners, billboards, and agents without relying on proprietary or ad‑hoc vetting.</t>
          </li>
          <li>
            <t>Policy profiles and admission rules: interoperable assurance levels (e.g., basic/verified/high‑assurance) and a way to express owner preferences as machine‑evaluable policies.</t>
          </li>
          <li>
            <t>Search semantics and stop rules: standardized notions of budgeted search, progressive widening, and marginal‑gain stoppage so clients and servers can interoperate on when to halt exploration. This is also needed to limit the possibility of overload the read function of the agent/task registries.</t>
          </li>
          <li>
            <t>Coalition formation primitives: lightweight protocols for capability advertisement, role negotiation, payment split templates, and failure recovery.</t>
          </li>
          <li>
            <t>Fairness and anti‑gaming controls: mechanisms that give newcomers a fair chance and prevent manipulation of the matching and reputation systems. This includes onboarding micro‑tasks for new agents, freshness boosts so proposals from less‑visible agents are not buried, reputation‑normalization rules to prevent score inflation, and signals for detecting sybil or duplicate agents.</t>
          </li>
          <li>
            <t>Privacy and selective disclosure: mechanisms (attribute attestations, minimal disclosure) that let agents prove claims without exposing sensitive data.</t>
          </li>
          <li>
            <t>Audit, logging, and revocation: tamper‑evident logging mechanisms, standardized revocation lists, and dispute‑resolution hooks that allow task owners, agents, and billboards to verify what happened during a task lifecycle across different administrative domains. This includes consistent formats for recording proposals, decisions, completions, and failures; mechanisms for revoking compromised or misbehaving agents; and interoperable audit trails that support cross‑domain verification and accountability. Without these shared mechanisms, it becomes difficult to detect misconduct, resolve disputes, or maintain trust in a multi‑vendor, multi‑platform ecosystem.</t>
          </li>
          <li>
            <t>Operational guidance and standardized profiles — a set of shared deployment guidelines, recommended defaults, and well‑defined configuration profiles that help different implementations behave consistently. This includes safe presets for non‑expert task owners (e.g., “fast match”, “high assurance”), normative guidance on how to apply admission policies and search budgets, and test vectors that allow implementers to verify correct behavior. Without this layer of operational guidance, platforms may interpret the same mechanisms differently, leading to fragmentation, inconsistent trust decisions, and unpredictable user experience.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security considerations are as outlined within the document under the privacy and security requirements</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="DNSAIDsite" target="https://dns-aid.org/">
        <front>
          <title>DNS-AID web site for implementation examples</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="I-D.draft-mozleywilliams-dnsop-dnsaid">
        <front>
          <title>DNS for AI Discovery</title>
          <author fullname="Jim Mozley" initials="J." surname="Mozley">
            <organization>Infoblox, Inc.</organization>
          </author>
          <author fullname="Nic Williams" initials="N." surname="Williams">
            <organization>Infoblox, Inc.</organization>
          </author>
          <author fullname="Behcet Sarikaya" initials="B." surname="Sarikaya">
            <organization>Unaffiliated</organization>
          </author>
          <author fullname="Roland Schott" initials="R." surname="Schott">
            <organization>Deutsche Telekom</organization>
          </author>
          <date day="2" month="March" year="2026"/>
          <abstract>
            <t>   This document specifies a method for utilizing the Domain Name System
   (DNS) to facilitate scalable and interoperable discovery between AI
   agents.  The proposed mechanism, referred to as "DNS AI agent
   Discovery (DNS-AID)", defines a structured DNS namespace and record
   usage model to support metadata exchange and capability
   advertisement.

   This will allow organisations to publish information about their AI
   agents on the Internet or internal networks using a well-known label
   within the organisation's own DNS namespace.  This document does not
   define how the published agent information is accessed or the exact
   structure of that information.  Instead, it specifies a mechanism for
   indicating which access protocol should be used and what format the
   agent information will be provided in.

   This document proposes no change to the structure of DNS messages,
   and no new operation codes, response codes, resource record types, or
   any other new DNS protocol values.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-mozleywilliams-dnsop-dnsaid-01"/>
      </reference>
    </references>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Hesham Moussa">
        <organization>Huawei Canada</organization>
        <address>
          <email>hesham.moussa@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Arashmid Akhavain">
        <organization>Huawei Canada</organization>
        <address>
          <email>arashmid.akhavain@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Roberto Pioli">
        <organization>Independent</organization>
        <address>
          <email>roberto.pioli@example.com</email>
        </address>
      </contact>
      <contact fullname="Jim Mozley">
        <organization>Infoblox, Inc.</organization>
        <address>
          <email>jmozley@infoblox.com</email>
        </address>
      </contact>
      <contact fullname="Nic Williams">
        <organization>Infoblox, Inc.</organization>
        <address>
          <email>nwilliams@infoblox.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+19S5Mb15XmHr8iQ150lQ2AI7mjF8Wx5RJJyeWWJTaLtrtX
HYnEBZCuRCacNwEQtuzQqvcd41k4wt5MTMwP0y+Z853HfSRQFMlxTMxiGAoF
WZV5895zz/s5m80mQz007qb46HXpH4pl7avu4PpTUbdFuXbtUFdF64Zj1z/4
jyblYtG7gz48Cw9/NKnKwa27/nRD7626yWTZVW25pWWXfbkaZttytz3Ohuyl
2X/5eOL3i23tfd21w2lHT9+9eP35pN1vF66/mSxpzZtJ1bXetX7vb4qh37sJ
ff3Hk7J3JT3dDq6nzU2wu3Xf7Xc3kwd3on8tbybFrLi9K76SrfO/9DT6I69P
0H5d79rK6b+Hvqzbul1PJuV+2HS0j1kxKYrVvmnkRD93flNui192e+9L+k3X
r8u2/n050Cnot/vy6OriWdmWS/zWbcu6uSk2/NJ8yy/9bMMPzatuO178ti/9
Zlsvi9uHTXmgnbzrB0p9cV7qi+lHJrPsI686gu/QFS/rrqnPPnDXLt3O0f/a
IS7fyyvzHV75mXtTbneNk7VxQ0NfL/bD/wfW9wJrdIJf1IDN7xt3urDyqls0
3Zsp/a2ax8V/u+Xnf1br7y+u+xXh+W/qpqnLrX/nldujvpGvPaMrbrt+S28f
iB4n+GX4V/H8q/vbu+e+BqkW9Gco+7Ub6A6HYedvnjxZtn5WEqRpC0/kAWE3
9N6MXiyOblHg7YIWLWoAakuw5J0WCjk/mRGbwv+KcuGJPqth8npT+4KYzB5P
F0u3qlvni5J4Vl9taLlq2PdlU6x6AgeonZenX3d0WVOieWIc9Ne+XDSucFXn
T35wW/C846auNgU4VdEdW9f7YrdfNLWXn/nvvv1z73a9I5Y0uGVR+oI2tMfX
6F/8VlX2SzxGKFPyT7779j93nR+IpRS7phwAvGnhWvo0fkRMpms7oLqwW1/Q
i8Yj5ZtTYsDrbqiJHRJIXLVn4NAJtvSrsl0WVUccr27x++2+GWr6Iq9Fv2ia
ctH1DM558XrjUvg4wKHvlvsKoCu8G4puRUjUVnicoNeUJwIAnaVuq2a/xHYH
WoIFxdcATvElnpimP7mtaDWf/oJ281LP/zKc35ixPsf/HL2Lk/GN6W6eddvt
vq0rwY0v6/YBUN6Uckw6ESFkcyr8frfr+oGOU+GIfCd8hfLiVMAcBd2UbmxX
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
7u5fv3j1RG8ktp7z13ME9uJdh/vkT71+/aXFovg977ZlqxmelrOsGBPRl6HJ
dWGz4nM61myNdvdu7ImVjd1//eWvX/A3/uVXL179W7IzvP4siaktD1I9oE0U
Q090NqXSfsSBlqXAi4Uqi9efv35Nf12/evmMT/3iDTwnSBGMzREFuyXjMoT8
8jg2YLLp2q7nfOQZKhSAmzMuvUGrM90H3O2EQGLQRS6txQjOh5QueuvZpsT2
ybzkdAylZYGFUyfMtm7JemtGbCnJLUJLa6Fmy63UhH7LUaK70/ZcWgEZO30n
F2vRr7Hf/MGhEGShDYnSJFK0lcUeBFixYSxq3fzAzRoB5a7i5L6uZTT/rFav
oDFPYdJ3gXkSL74T94T27Qq5Z+Nwq10PX6pFAiSLseWcmaxsXgozDy64gZEZ
2bIHH05AK7aRuKSgfT3IRQcnRmTaCS+jdR7ZovSemvyg+HrfB0fhTdLLXVwr
mS5zKXc0SpxlyMlE6uhMUkfTDBep20+y28ep73k7t+KFBaJjz2o85yWDlMth
pe0KYMhBwrL1x9AKBAW/SKNKGignObeSSfHoJ6Hz/Wnyo6iU/uhdNM6Lf9JF
JomG/oHKev7mN8Xkm/CBH30z+uLjmx4/ki4y+eab4vX863nxcUF/IzP5p/GL
j286eURe+UbJ5+Nvvrmwx/GKCZTCnkaPZItcgOTZ8+e7u/zId//x3/kfl7fJ
oEhfYJxJ11CL5MI2Ayg/SUCp/f4jaG1OQPHYI/aJTx4BJY8OSPdoEweKxx7J
9vh/C5LZX97zwgMk278LUm4vQvL/mHAufPm9/6SL/P05UCFG8Xf/8Z8fvFzy
B8vIgo+fNx9gQWZA+/DYo2qxp6jxwX9+hHaE869vkikdwtRhya/q9Sdmtz8m
Aj5CPjqUhlnZkHX1k48k6xBm/K3XhvkaoeI6GS2riWNVtIOzF1+9pafKdJHY
LTGZKHIjJgQ/wWF0Me5zZUHL7MQEj8WKMC8084DtjZDvkWdzbPNKYcm45ISg
NE2B/x0UfY0waMFf1svdnas2iSJixays31g+1uAMaibck0OzkBed0Iegp9Qc
oHhcaiM1PpUPaMGu4lgtrvlEub7l39Gp+3U4l5pxWv+45dy9P4feTOZSEfsu
S9E3Yy9p4AjdHraibC6o5JbOBD3jh/ncl5siOADsR8ltX5iMww1NJQ8QrYC4
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
SML/BqOGr9PlqgAA

-->

</rfc>
