<?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.24 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-asdf-instance-information-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="SDF Instance Information">Instance Information for SDF</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-asdf-instance-information-05"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <author initials="J." surname="Romann" fullname="Jan Romann">
      <organization>Universität Bremen</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>jan.romann@uni-bremen.de</email>
      </address>
    </author>
    <date year="2025" month="July" day="21"/>
    <area/>
    <workgroup>ASDF</workgroup>
    <keyword>IoT</keyword>
    <keyword>Link</keyword>
    <keyword>Information Model</keyword>
    <keyword>Interaction Model</keyword>
    <keyword>Data Model</keyword>
    <abstract>
      <?line 72?>

<t>This document discusses types of Instance Information to be used in
conjunction with the Semantic Definition Format (SDF) for Data and
Interactions of Things (draft-ietf-asdf-sdf) and will ultimately
define Representation Formats for them as well as ways to use SDF
Models to describe them.</t>
      <t><cref anchor="status">The present revision –05 is intended as input for IETF 123, with a few observations from the Hackathon addressed and this status paragraph updated.</cref></t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-asdf-instance-information/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        »A Semantic Definition Format for Data and Interactions of Things« (ASDF) Working Group mailing list (<eref target="mailto:asdf@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/asdf/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/asdf/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-asdf/instance-information"/>.</t>
    </note>
  </front>
  <middle>
    <?line 85?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Semantic Definition Format for Data and Interactions of Things
(SDF, <xref target="I-D.ietf-asdf-sdf"/>) is a format for domain experts to use in the creation
and maintenance of data and interaction models in the Internet of
Things.</t>
      <t>SDF is an Interaction Modeling format, enabling a modeler to describe
the digital interactions that a class of Things (devices) offers,
including the abstract data types of messages used in these
interactions.</t>
      <t>SDF is designed to be independent of specific ecosystems that specify
conventions for performing these interactions, e.g., over Internet
protocols or over ecosystem-specific protocol stacks.</t>
      <t>SDF does not define representation formats for the <em>Instance Information</em> that is
exchanged in, or the subject of such, interactions; this is left to the
specific ecosystems, which tend to have rather different ways to
represent this information.</t>
      <t>This document discusses types of Instance Information and will
ultimately define Abstract (eco-system independent) Representation
Formats for them as well as ways to use SDF Models to describe them.</t>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>The definitions of <xref target="RFC6690"/>, <xref target="RFC8288"/>, and <xref target="I-D.ietf-asdf-sdf"/> apply.</t>
        <t>Terminology may need to be imported from <xref target="LAYERS"/>.</t>
        <dl>
          <dt>Representation:</dt>
          <dd>
            <t>As defined in Section <xref target="RFC9110" section="3.2" sectionFormat="bare"/> of RFC 9110 <xref target="STD97"/>, but understood to
analogously apply to other interaction styles than Representational
State Transfer <xref target="REST"/> as well.</t>
          </dd>
          <dt>Message:</dt>
          <dd>
            <t>A Representation that is exchanged in, or is the subject of, an
Interaction.
Messages are "data in flight", not instance "data at rest" (the
latter are called "Instance" and are modeled by the interaction
model).
</t>
            <t>Depending on the specific message, an abstract data model for the
message may be provided by the <tt>sdfData</tt> definitions (or of
declarations that look like these, such as <tt>sdfProperty</tt>) of an SDF
model.</t>
            <t>Deriving an ecosystem specific representation of a message may be
aided by <em>mapping files</em> <xref target="I-D.bormann-asdf-sdf-mapping"/> that apply to the SDF model
providing the abstract data model.</t>
          </dd>
          <dt>Instantiation:</dt>
          <dd>
            <t>Instantiation is a process that takes a Model, some Context
Information, and possibly information from a Device and creates an
Instance.</t>
          </dd>
          <dt>Instance:</dt>
          <dd>
            <t>Anything that can be interacted with based on the SDF model.
E.g., the Thing itself (device), a Digital Twin, an Asset Management
system...
Instances are modeled as "data at rest", not "data in flight" (the
latter are called "Message" and actually are/have a Representation).
Instances that relate to a single Thing are bound together by some
form of identity.
Instances become useful if they are "situated", i.e., with a
physical or digital "address" that they can be found at and made the
subject of an interaction.</t>
          </dd>
          <dt>Proofshot:</dt>
          <dd>
            <t>A message that attempts to describe the state of an Instance at a
particular moment (which may be part of the context).
We are not saying that the Proofshot <em>is</em> the instance because there
may be different ways to make one from an Instance (or to consume
one in updating the state of the Instance), and because the
proofshot, being a message, is not situated.
</t>
            <t>Proofshots are snapshots, and they are "proofs" in the photographic
sense, i.e., they may not be of perfect quality.
Not all state that is characteristic of an Instance may be included
in a Proofshot (e.g., information about an active action that is not
embedded in an action resource).
Proofshots may depend on additional context (such as the identity of
the Instance and a Timestamp).</t>
            <t>An interaction affordance to obtain a Proofshot may not be provided
by every Instance.
An Instance may provide separate Construction affordances instead of
simply setting a Proofshot.</t>
            <t>Discuss Proofshots of a Thing (device) and of other components.</t>
            <t>Discuss concurrency problems with getting and setting Proofshots.</t>
            <t>Discuss Timestamps appropriate for Things (<xref section="4.4" sectionFormat="of" target="I-D.ietf-iotops-7228bis"/>, <xref target="I-D.amsuess-t2trg-raytime"/>).</t>
          </dd>
          <dt>Construction:</dt>
          <dd>
            <t>Construction messages enable the creation of a digital Instance,
e.g., initialization/commissioning of a device or creation of its
digital twins.
They are like proofshots, in that they embody a state, however this
state needs to be precise so the construction can actually happen.
</t>
            <t>Discuss YANG config=true approach.</t>
          </dd>
        </dl>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
      <section anchor="terms-we-are-trying-not-to-use">
        <name>Terms we are trying not to use</name>
        <dl>
          <dt>Non-affordance:</dt>
          <dd>
            <t>Originally a term for information that is the subject of
interactions with other Instances than the Thing (called "offDevice"
now), this term is now considered confusing as it would often just
be an affordance of another Instance than the Thing.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="instance-information-and-sdf">
      <name>Instance Information and SDF</name>
      <t>Instantiation doesn't produce an instance (ouch), which is the device,
twin, etc., but a message.</t>
      <section anchor="pre-structured-types-of-messages">
        <name>Pre-structured types of messages</name>
        <t>Pre-structured types of messages are those that relate to an SDF model
in a way that, together with context and model, they are fully
self-describing.</t>
        <section anchor="input-and-output-data-of-specific-interactions">
          <name>Input and output data of specific interactions</name>
          <t>Messages always have context, typically describing the "me" and the
"you" of the interaction, the "now" and "here", allowing deictic
statements ("the temperature here", "my current draw")...</t>
          <t>Messages may have to be complemented by this context for
interpretation, i.e., the context needed may need to be reified in the
message (compare the use of SenML "n").</t>
          <t>TODO: Use NIPC as an example how this could be used, including SCIM as
a source of context information.</t>
          <t>TODO: explain how <xref target="RFC9039"/> could be used to obtain device names (using <tt>urn:dev:org</tt> in the example).</t>
          <t>(Describe how protocol bindings can be used to convert these messages
to/from concrete serializations...)</t>
          <section anchor="examples-for-context-information">
            <name>Examples for context information</name>
            <figure anchor="example-context">
              <name>Example for an SDF instance with context information</name>
              <sourcecode type="sdf"><![CDATA[{
  "namespace": {
    "models": "https://example.com/models",
    "boats": "https://example.com/boats"
  },
  "defaultNamespace": "boats",
  "sdfInstance": {
    "$context": {
      "$comment": "Potential contents for the SDF context",
      "deviceName": "urn:dev:org:30810-boat007",
      "deviceEui64Address": "50:32:5F:FF:FE:E7:67:28",
      "scimObjectId": "8988be82-50dc-4249-bed2-60c9c8797677",
      "parentInstance": "TODO -- addressing instance in data tree"
    }
  }
}
]]></sourcecode>
            </figure>
          </section>
        </section>
        <section anchor="proofshots-read-device-other-component">
          <name>Proofshots (read device, other component)</name>
          <t>(See defn above.)</t>
          <t>The following examples are based on Figure 2 of <xref target="I-D.lee-asdf-digital-twin-08"/>, separated into
an SDF proofshot and an SDF model.</t>
          <t>A proofshot that captures the state of a boat with a heater is shown in
<xref target="code-off-device-instance"/>.
Here, every property of the corresponding SDF model (see <xref target="code-off-device-model"/>)
is mapped to a concrete value that corresponds with the associated schema information.
The alternating structure of the SDF model
(e. g., <tt>sdfThing/boot007/sdfObject/heater/sdfProperty/isHeating</tt>) is repeated
in the proofshot, with <tt>sdfObject</tt> and <tt>sdfThing</tt> being replaced by <tt>sdfInstance</tt>.</t>
          <t>While earlier approaches avoided the additional level of nesting by omitting the
affordance quality names (i.e., <tt>sdfProperty</tt>, <tt>sdfAction</tt>, <tt>sdfEvent</tt>),
including them explicitly avoids problems with namespace clashes and
allows for a cleaner integration of meta data (via the <tt>$context</tt> keyword).</t>
          <t>As in any instance message, information from the model is not repeated but
referenced via a pointer into the model tree (<tt>sdfInstanceOf</tt>); the
namespace needed for this is set up in the usual <tt>namespace</tt> section that we
also have in model files.</t>
          <t>Note that in this example, the proofshot also contains values for the implicit
(<tt>offDevice</tt>) properties that are static (e.g., the physical location assigned
to the instance) but are still part of the instance's proofshot as its location
is fixed -- this boat apparently never leaves the harbor.</t>
          <figure anchor="code-off-device-instance">
            <name>SDF proofshot proposal for Figure 2 in [I-D.lee-asdf-digital-twin-08]</name>
            <sourcecode type="sdf"><![CDATA[=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "info": {
    "title": "A proofshot example for heater #1 on boat #007",
    "version": "2025-04-08",
    "copyright": "Copyright 2025. All rights reserved.",
    "proofshotId": "026c1f58-7bb9-4927-81cf-1ca0c25a857b"
  },
  "namespace": {
    "models": "https://example.com/models",
    "boats": "https://example.com/boats"
  },
  "defaultNamespace": "boats",
  "sdfInstance": {
    "boat007": {
      "sdfInstanceOf": "models:#/sdfThing/boat",
      "$comment": "Should the context be modeled via an additional \
      quality? Or should it rather become another kind of property?",
      "$context": {
        "scimObjectId": "a2e06d16-df2c-4618-aacd-490985a3f763"
      },
      "sdfProperty": {
        "identifier": "urn:boat:007:heater:1",
        "location": {
          "wgs84": {
            "latitude": 35.2988233791372,
            "longitude": 129.25478376484912,
            "altitude": 0
          },
          "postal": {
            "city": "Ulsan",
            "post-code": "44110",
            "country": "South Korea"
          },
          "w3w": {
            "what3words": "toggle.mopped.garages"
          }
        },
        "owner": "ExamTech Ltd."
      },
      "sdfInstance": {
        "heater": {
          "sdfInstanceOf": "models:#/sdfThing/boat/sdfObject/heater",
          "sdfProperty": {
            "characteristic": "12V electric heater, 800W, automatic \
                                                             cutoff",
            "status": "error",
            "report": "On February 24, 2025, the boat #007's heater \
                                     #1 was on from 9 a.m. to 6 p.m."
          },
          "sdfEvent": {
            "maintenanceSchedule": [
              {
                "outputValue": "2025-04-10",
                "timestamp": "2024-04-10T02:00:00Z"
              },
              {
                "outputValue": "2026-04-10",
                "timestamp": "2025-04-10T02:00:00Z"
              }
            ]
          }
        }
      }
    }
  }
}
]]></sourcecode>
          </figure>
          <section anchor="corresponding-sdf-model">
            <name>Corresponding SDF Model</name>
            <t><xref target="code-off-device-model"/> shows a model like the one that could have
been pointed to by the <tt>sdfInstanceOf</tt> pointers in the instance message.
Note how the namespace is managed here to export the model components into
<tt>models:#/sdfThing/boat</tt> and <tt>models:#/sdfThing/boat/sdfObject/heater</tt>.</t>
            <t>(This example model only specifies structure; it also could come with
semantic information such as the units that are used for wgs84 etc.
In practice, the definition of <tt>wgs84</tt> etc. probably would come from a common
library and just be referenced via <tt>sdfRef</tt>.)</t>
            <figure anchor="code-off-device-model">
              <name>Revised SDF model proposal for Figure 2 of [I-D.lee-asdf-digital-twin-08]</name>
              <sourcecode type="sdf"><![CDATA[=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "info": {
    "title": "An example model of a heater on a boat",
    "version": "2025-01-27",
    "copyright": "Copyright 2025. All rights reserved."
  },
  "namespace": {
    "models": "https://example.com/models"
  },
  "defaultNamespace": "models",
  "sdfThing": {
    "boat": {
      "description": "A boat equipped with heating and navigation \
                                                            systems",
      "sdfProperty": {
        "identifier": {
          "$comment": "Is this actually off-device?",
          "type": "string",
          "offdevice": true
        },
        "owner": {
          "$comment": "Is this actually off-device?",
          "type": "string",
          "offdevice": true
        },
        "location": {
          "offdevice": true,
          "type": "object",
          "properties": {
            "wgs84": {
              "type": "object",
              "properties": {
                "latitude": {
                  "type": "number"
                },
                "longitude": {
                  "type": "number"
                },
                "altitude": {
                  "type": "number"
                }
              }
            },
            "postal": {
              "type": "object",
              "properties": {
                "city": {
                  "type": "string"
                },
                "post-code": {
                  "type": "string"
                },
                "country": {
                  "type": "string"
                }
              }
            },
            "w3w": {
              "type": "object",
              "properties": {
                "what3words": {
                  "type": "string",
                  "format": "..."
                }
              }
            }
          }
        }
      },
      "sdfObject": {
        "heater": {
          "label": "Cabin Heater",
          "description": "Temperature control system for cabin \
                                                            heating",
          "sdfProperty": {
            "characteristic": {
              "description": "Technical summary of the heater",
              "type": "string",
              "default": "12V electric heater, 800W, automatic \
                                                              cutoff"
            },
            "status": {
              "description": "Current operational status",
              "type": "string",
              "enum": [
                "on",
                "off",
                "error"
              ],
              "default": "off"
            },
            "report": {
              "type": "string"
            }
          },
          "sdfEvent": {
            "maintenanceSchedule": {
              "$comment": "Should this actually be modeled as an \
                                                           event..?",
              "description": "Next scheduled maintenance date",
              "sdfOutputData": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      }
    }
  }
}
]]></sourcecode>
            </figure>
          </section>
        </section>
        <section anchor="construction">
          <name>Construction</name>
          <t>Construction messages enable the creation of the digital instance, e.g., initialization/commissioning of a device or creation of its digital twins.
They are like proofshots, in that they embody a state, however this state needs to be precise so the construction can actually happen.</t>
          <t>A construction message for a temperature sensor might assign an
identity and/or complement it by temporary identity information (e.g.,
an IP address); its processing might also generate construction output
(e.g., a public key or an IP address if those are generated on
device).</t>
          <t>Construction messages need to refer to some kind of constructor in order to be able to start the actual construction process.
It is still up for discussion whether this concept justifies a new keyword or whether construction and other lifecycle management processes should be modeled as <tt>sdfAction</tt>s instead.</t>
          <t>(Note that it is not quite clear what a destructor would be for a
physical instance -- apart from a scrap metal press, but according to
RFC 8576 we would want to move a system to a re-usable initial state,
which is pretty much a constructor.)</t>
          <section anchor="examples-for-sdf-constructors">
            <name>Examples for SDF Constructors</name>
            <t>This section contains examples for both approaches discussed above:
<xref target="code-sdf-constructors"/> introduces an <tt>sdfConstructor</tt> keyword which allows for defining both mandatory (in this example: <tt>temperatureUnit</tt>) and optional constructor parameters (in this example: <tt>ipAddress</tt>).
The example shows that the names of constructor parameters may deviate from the quality names in the model (<tt>temperatureUnit</tt> vs <tt>unit</tt>) as the target quality is specified via a JSON pointer.
Additionally, this constructor example explicitly labels the <tt>ipAddress</tt> as information that belongs to the <tt>$context</tt> of the proofshot.</t>
            <figure anchor="code-sdf-constructors">
              <name>Example for SDF model with constructors</name>
              <sourcecode type="sdf"><![CDATA[=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "info": {
    "title": "Example document for SDF (Semantic Definition Format) \
                                with constructors for instantiation",
    "version": "2019-04-24",
    "copyright": "Copyright 2019 Example Corp. All rights reserved.",
    "license": "https://example.com/license"
  },
  "namespace": {
    "cap": "https://example.com/capability/cap"
  },
  "defaultNamespace": "cap",
  "sdfObject": {
    "temperatureSensor": {
      "sdfProperty": {
        "temperature": {
          "description": "Temperature value measure by this Thing's \
                                                temperature sensor.",
          "type": "number",
          "sdfParameter": {
            "unit": {
              "$comment": "Should schema information be settable \
via a constructor at all? This question might indicate that we need \
                                    different kinds of constructors",
              "type": "string"
            }
          }
        }
      },
      "sdfConstructor": {
        "construct": {
          "parameters": {
            "temperatureUnit": {
              "required": true,
              "target": "#/sdfObject/temperatureSensor/sdfProperty/\
                                                    temperature/unit"
            },
            "ipAddress": {
              "$comment": "Just trying some things out here. Should \
this parameter target the context or rather an (offDevice?) property\
                                                                  ?",
              "required": false,
              "isContextInformation": true
            }
          }
        }
      }
    }
  }
}
]]></sourcecode>
            </figure>
            <t>The alternative approach is shown in <xref target="code-sdf-constructor-action"/>.
Here, the constructor is modeled as an <tt>sdfAction</tt> that contains the same set of parameters in its <tt>sdfInputData</tt>.</t>
            <t>While this approach has advantages – we do not need to introduce new keywords to achieve a similar functionality and can simply use a plain JSON object as the construction message – a few things in this example are still unclear, especially when it comes to the mapping of constructor parameters to target affordances in the model and the designation of parameters as context information.
Lastly, it is currently unclear what kind of schema information should be provided for the action's <tt>sdfOutputData</tt>.
As a return value, a pointer to the instantiated device and/or the models describing it could make sense.</t>
            <figure anchor="code-sdf-constructor-action">
              <name>Example for SDF model with constructors</name>
              <sourcecode type="sdf"><![CDATA[=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "info": {
    "title": "Example document for SDF with actions as constructors \
                                                  for instantiation",
    "version": "2019-04-24",
    "copyright": "Copyright 2019 Example Corp. All rights reserved.",
    "license": "https://example.com/license"
  },
  "namespace": {
    "cap": "https://example.com/capability/cap"
  },
  "defaultNamespace": "cap",
  "sdfObject": {
    "temperatureSensor": {
      "sdfProperty": {
        "temperature": {
          "description": "Temperature value measure by this Thing's \
                                                temperature sensor.",
          "type": "number",
          "unit": {
            "$comment": "Should schema information be settable via \
a constructor at all? This question might indicate that we need \
                                    different kinds of constructors",
            "type": "string"
          }
        }
      },
      "sdfAction": {
        "construct": {
          "sdfInputData": {
            "$comment": "DISCUSS: How can we establish a connection \
              between constructor parameters and target properties?",
            "type": "object",
            "properties": {
              "temperatureUnit": {
                "type": "string",
                "target": "#/sdfObject/temperatureSensor/sdfProperty\
                                                   /temperature/unit"
              },
              "ipAddress": {
                "$comment": "How can we express that this is \
                                               context information?",
                "isContextInformation": true
              }
            },
            "required": [
              "temperatureUnit"
            ]
          },
          "sdfOutputData": {
            "type": "object",
            "properties": {
              "$comment": "DISCUSS: What kind of schema information \
                                             should we provide here?"
            }
          }
        }
      }
    }
  }
}
]]></sourcecode>
            </figure>
          </section>
          <section anchor="example-for-an-sdf-construction-message">
            <name>Example for an SDF construction message</name>
            <t><xref target="code-sdf-construction-message"/> shows a potential SDF construction message that
allows for the creation of a proofshot from a constructor that is contained within
an SDF model.</t>
            <t>Note that the <tt>ipAddress</tt> can be considered context information or an off-device property.
TODO: Needs more discussion how to model this kind of information.</t>
            <figure anchor="code-sdf-construction-message">
              <name>Example for an SDF construction message</name>
              <sourcecode type="sdf"><![CDATA[=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "info": {
    "title": "Example SDF construction message",
    "$comment": "TODO: What kind of metadata do we need here?"
  },
  "namespace": {
    "cap": "https://example.com/capability/cap"
  },
  "defaultNamespace": "cap",
  "sdfConstruction": {
    "sdfConstructor": "cap:#/sdfObject/temperatureSensor/\
                                          sdfConstructors/construct",
    "arguments": {
      "temperatureUnit": "Cel",
      "ipAddress": "192.0.2.42"
    }
  }
}
]]></sourcecode>
            </figure>
          </section>
        </section>
        <section anchor="deltas-and-defaultbase-messages">
          <name>Deltas and Default/Base messages</name>
          <t>What changed since the last proofshot?</t>
          <t>What is different from the base status of the device?</t>
          <t>Can I get the same (equivalent, not identical) coffee I just ordered but with 10 % more milk?</t>
          <t>(Think merge-patch.)</t>
          <t>A construction message may be a delta, or it may have parameters that
algorithmically influence the elements of state that one would find in
a proofshot.</t>
          <!-- DISCUSS: Is a construction message the right way to create a proofshot delta? -->
<figure anchor="code-sdf-construction-delta-message">
            <name>Example for an SDF construction message for proofshot delta</name>
            <sourcecode type="sdf"><![CDATA[=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "info": {
    "title": "Example SDF delta construction message",
    "$comment": "TODO: What kind of metadata do we need here?"
  },
  "namespace": {
    "cap": "https://example.com/capability/cap"
  },
  "defaultNamespace": "cap",
  "sdfConstruction": {
    "sdfConstructor": "cap:#/sdfObject/temperatureSensor/\
                                          sdfConstructors/construct",
    "previousProofshot": "TODO (Can we provide an ID or just a \
                                                   timestamp here?)",
    "arguments": {
      "temperature": 24
    }
  }
}
]]></sourcecode>
          </figure>
          <t>Deltas and Default/Base messages could be used in the Series Transfer
Pattern <xref target="STP"/>, which may be one way to model a telemetry stream from a
device.</t>
          <t>A potential example for the use of proofshot deltas is shown in <xref target="code-sdf-proofshot-delta"/>.
Here, the proofshot delta refers to the previous example in <xref target="code-off-device-instance"/> via its <tt>proofshotId</tt>, which is included in the <tt>previousProofshot</tt> quality.
Compared to the previous proofshot, only the status property of the boat's heater has changed from <tt>error</tt> to <tt>operational</tt>.
Via an algorithm such as JSON Merge Patch <xref target="RFC7396"/>, the actual proofshot can be resolved by applying the delta to the previous version.</t>
          <t>In future versions of this document, we will evaluate whether JSON Merge Patch is sufficient to fulfill the requirements for the resolution algorithm which have to formulated and refined themselves.</t>
          <figure anchor="code-sdf-proofshot-delta">
            <name>Example for an SDF proofshot delta that overrides the status property of the boat's heater.</name>
            <sourcecode type="sdf"><![CDATA[{
  "info": {
    "title": "Example SDF delta proofshot",
    "previousProofshot": "026c1f58-7bb9-4927-81cf-1ca0c25a857b",
    "proofshotId": "75532020-8f64-4daf-a241-fcb0b6dc4a42",
    "version": "2025-04-08",
    "copyright": "Copyright 2025. All rights reserved."
  },
  "namespace": {
    "models": "https://example.com/models",
    "boats": "https://example.com/boats"
  },
  "defaultNamespace": "boats",
  "sdfInstance": {
    "boat007": {
      "sdfInstanceOf": "models:#/sdfThing/boat",
      "sdfInstance": {
        "heater": {
          "sdfInstanceOf": "models:#/sdfThing/boat/sdfObject/heater",
          "sdfProperty": {
            "status": "operational"
          }
        }
      }
    }
  }
}
]]></sourcecode>
          </figure>
        </section>
      </section>
      <section anchor="metadata">
        <name>Metadata</name>
        <t>One interesting piece of offDevice information is the model itself, including sdfinfo and the defaultnamespace.  This is of course not about the device or its twin (or even its asset management), because models and devices may want to associate freely.
Multiple models may apply to the same device (including but not only revisions of the models).</t>
      </section>
    </section>
    <section anchor="discussion">
      <name>Discussion</name>
      <t>(TODO)</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>(TODO)</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>(TODO)</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-asdf-sdf">
          <front>
            <title>Semantic Definition Format (SDF) for Data and Interactions of Things</title>
            <author fullname="Michael Koster" initials="M." surname="Koster">
              <organization>KTC Control AB</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Ari Keränen" initials="A." surname="Keränen">
              <organization>Ericsson</organization>
            </author>
            <date day="17" month="March" year="2025"/>
            <abstract>
              <t>   The Semantic Definition Format (SDF) is concerned with Things, namely
   physical objects that are available for interaction over a network.
   SDF is a format for domain experts to use in the creation and
   maintenance of data and interaction models that describe Things.  An
   SDF specification describes definitions of SDF Objects/SDF Things and
   their associated interactions (Events, Actions, Properties), as well
   as the Data types for the information exchanged in those
   interactions.  Tools convert this format to database formats and
   other serializations as needed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-asdf-sdf-23"/>
        </reference>
        <reference anchor="RFC8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <referencegroup anchor="STD97" target="https://www.rfc-editor.org/info/std97">
          <reference anchor="RFC9110" target="https://www.rfc-editor.org/info/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>
        </referencegroup>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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>
        </referencegroup>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="REST" target="http://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf">
          <front>
            <title>Architectural Styles and the Design of Network-based Software Architectures</title>
            <author initials="R." surname="Fielding" fullname="Roy Fielding">
              <organization>University of California, Irvine</organization>
            </author>
            <date year="2000"/>
          </front>
          <seriesInfo name="Ph.D." value="Dissertation, University of California, Irvine"/>
        </reference>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC7396">
          <front>
            <title>JSON Merge Patch</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Snell" initials="J." surname="Snell"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This specification defines the JSON merge patch format and processing rules. The merge patch format is primarily intended for use with the HTTP PATCH method as a means of describing a set of modifications to a target resource's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7396"/>
          <seriesInfo name="DOI" value="10.17487/RFC7396"/>
        </reference>
        <reference anchor="I-D.bormann-asdf-sdf-mapping">
          <front>
            <title>Semantic Definition Format (SDF): Mapping files</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Jan Romann" initials="J." surname="Romann">
              <organization>Universität Bremen</organization>
            </author>
            <date day="20" month="July" year="2025"/>
            <abstract>
              <t>   The Semantic Definition Format (SDF) is a format for domain experts
   to use in the creation and maintenance of data and interaction models
   that describe Things, i.e., physical objects that are available for
   interaction over a network.  It was created as a common language for
   use in the development of the One Data Model liaison organization
   (OneDM) models.  Tools convert this format to database formats and
   other serializations as needed.

   An SDF specification often needs to be augmented by additional
   information that is specific to its use in a particular ecosystem or
   application.  SDF mapping files provide a mechanism to represent this
   augmentation.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-asdf-sdf-mapping-07"/>
        </reference>
        <reference anchor="I-D.ietf-iotops-7228bis">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Mehmet Ersue" initials="M." surname="Ersue">
         </author>
            <author fullname="Ari Keränen" initials="A." surname="Keränen">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Carles Gomez" initials="C." surname="Gomez">
              <organization>Universitat Politecnica de Catalunya</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   The Internet Protocol Suite is increasingly used on small devices
   with severe constraints on power, memory, and processing resources,
   creating constrained-node networks.  This document provides a number
   of basic terms that have been useful in the standardization work for
   constrained-node networks.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-iotops-7228bis-02"/>
        </reference>
        <reference anchor="I-D.amsuess-t2trg-raytime">
          <front>
            <title>Raytime: Validating token expiry on an unbounded local time interval</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <date day="19" month="October" year="2024"/>
            <abstract>
              <t>   When devices are deployed in locations with no real-time access to
   the Internet, obtaining a trusted time for validation of time limited
   tokens and certificates is sometimes not possible.  This document
   explores the options for deployments in which the trade-off between
   availability and security needs to be made in favor of availability.
   While considerations are general, terminology and examples primarily
   focus on the ACE framework.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amsuess-t2trg-raytime-03"/>
        </reference>
        <reference anchor="I-D.lee-asdf-digital-twin-08">
          <front>
            <title>Semantic Definition Format (SDF) modeling for Digital Twin</title>
            <author fullname="Hyunjeong Lee" initials="H." surname="Lee">
              <organization>Electronics and Telecommunications Research Institute</organization>
            </author>
            <author fullname="Jungha Hong" initials="J." surname="Hong">
              <organization>Electronics and Telecommunications Research Institute</organization>
            </author>
            <author fullname="Joo-Sang Youn" initials="J." surname="Youn">
              <organization>DONG-EUI University</organization>
            </author>
            <author fullname="Yong-Geun Hong" initials="Y." surname="Hong">
              <organization>Daejeon University</organization>
            </author>
            <date day="14" month="June" year="2025"/>
            <abstract>
              <t>   This memo specifies SDF modeling for a digital twin, i.e. a digital
   twin system, and its Things.  An SDF is a format that is used to
   create and maintain data and interaction, and to represent the
   various kinds of data that is exchanged for these interactions.  The
   SDF format can be used to model the characteristics, behavior and
   interactions of Things, i.e. physical objects, in a digital twin that
   contain Things as components.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lee-asdf-digital-twin-08"/>
        </reference>
        <reference anchor="LAYERS" target="https://github.com/t2trg/wishi/wiki/NOTE:-Terminology-for-Layers">
          <front>
            <title>Terminology for Layers</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
          <refcontent>WISHI Wiki</refcontent>
        </reference>
        <reference anchor="STP">
          <front>
            <title>The Series Transfer Pattern (STP)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Klaus Hartke" initials="K." surname="Hartke">
              <organization>Ericsson</organization>
            </author>
            <date day="7" month="April" year="2020"/>
            <abstract>
              <t>   Many applications make use of Series of data items, i.e., an array of
   data items where new items can be added over time.  Where such Series
   are to be made available using REST protocols such as CoAP or HTTP,
   the Series has to be mapped into a structure of one or more resources
   and a protocol for a client to obtain the Series and to learn about
   new items.

   Various protocols have been standardized that make Series-shaped data
   available, with rather different properties and objectives.  The
   present document is an attempt to extract a common underlying pattern
   and to define media types and an access scheme that can be used right
   away for further protocols that provide Series-shaped data.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-t2trg-stp-03"/>
        </reference>
        <reference anchor="RFC9039">
          <front>
            <title>Uniform Resource Names for Device Identifiers</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="June" year="2021"/>
            <abstract>
              <t>This document describes a new Uniform Resource Name (URN) namespace for hardware device identifiers. A general representation of device identity can be useful in many applications, such as in sensor data streams and storage or in equipment inventories. A URN-based representation can be passed along in applications that need the information.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9039"/>
          <seriesInfo name="DOI" value="10.17487/RFC9039"/>
        </reference>
      </references>
    </references>
    <?line 655?>

<section anchor="roads-not-taken">
      <name>Roads Not Taken</name>
      <t>This appendix documents previous modelling approaches that we eventually
decided against pursuing further.
Its main purpose is to illustrate our development process, showing
which kind of alternatives we considered before choosing a particular way
to describe instance information.
We will remove this appendix as soon as this document is about to be finished.</t>
      <section anchor="using-sdf-models-as-proofshots">
        <name>Using SDF Models as Proofshots</name>
        <t>As shown in <xref target="code-instance-syntactic-sugar-illustration"/>,
the proofshot format could have also been modeled via SDF models where
all <tt>sdfProperty</tt> definitions are given <tt>const</tt>values.
However, this concept is not capable of capturing actions and events.</t>
        <figure anchor="code-instance-syntactic-sugar-illustration">
          <name>SDF instance proposal for Figure 2 in [I-D.lee-asdf-digital-twin-08]</name>
          <sourcecode type="sdf"><![CDATA[=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "info": {
    "title": "An example model of the heater #1 in the boat #007 (\
                                        that resembles a proofshot)",
    "version": "2025-07-15",
    "copyright": "Copyright 2025. All rights reserved."
  },
  "namespace": {
    "models": "https://example.com/models"
  },
  "defaultNamespace": "models",
  "sdfThing": {
    "boat007": {
      "label": "Digital Twin of Boat #007",
      "description": "A ship equipped with heating and navigation \
                                                            systems",
      "sdfProperty": {
        "identifier": {
          "offDevice": true,
          "type": "string",
          "const": "urn:boat:007:heater:1"
        },
        "location": {
          "offDevice": true,
          "type": "object",
          "const": {
            "wgs84": {
              "latitude": 35.2988233791372,
              "longitude": 129.25478376484912,
              "altitude": 0.0
            },
            "postal": {
              "city": "Ulsan",
              "post-code": "44110",
              "country": "South Korea"
            },
            "w3w": {
              "what3words": "toggle.mopped.garages"
            }
          }
        },
        "owner": {
          "offDevice": true,
          "type": "string",
          "default": "ExamTech Ltd.",
          "const": "ExamTech Ltd."
        }
      },
      "sdfRequired": "#/sdfThing/boat007/sdfObject/heater1",
      "sdfObject": {
        "heater": {
          "label": "Cabin Heater",
          "description": "Temperature control system for cabin \
                                                            heating",
          "sdfProperty": {
            "characteristic": {
              "description": "Technical summary of the heater",
              "type": "string",
              "default": "12V electric heater, 800W, automatic \
                                                             cutoff",
              "const": "12V electric heater, 800W, automatic cutoff"
            },
            "status": {
              "description": "Current operational status",
              "type": "string",
              "enum": [
                true,
                false,
                "error"
              ],
              "default": false,
              "const": false
            },
            "report": {
              "type": "string",
              "const": "On February 24, 2025, the boat #007's \
                              heater #1 was on from 9 a.m. to 6 p.m."
            }
          },
          "sdfEvent": {
            "overheating": {
              "$comment": "Note that it is unclear how to properly \
model events or event history with the approach illustrated by this \
                                                           example.",
              "maintenanceSchedule": "Next scheduled maintenance \
                                                               date",
              "sdfOutputData": {
                "type": "string",
                "format": "date-time",
                "const": "2025-07-15T07:27:15+0000"
              }
            }
          }
        }
      }
    }
  }
}
]]></sourcecode>
        </figure>
        <section anchor="alternative-instance-keys">
          <name>Alternative Instance Keys</name>
          <t>Below you can see an alternative instance modelling approach with IDs as (part of the) instance keys.</t>
          <figure anchor="code-off-device-instance-alternative">
            <name>SDF instance proposal (with IDs as part of the instance keys) for Figure 2 in [I-D.lee-asdf-digital-twin-08]</name>
            <sourcecode type="sdf"><![CDATA[=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "info": {
    "title": "A proofshot example for heater #1 on boat #007",
    "version": "2025-07-15",
    "copyright": "Copyright 2025. All rights reserved.",
    "proofshotId": "026c1f58-7bb9-4927-81cf-1ca0c25a857b"
  },
  "namespace": {
    "models": "https://example.com/models",
    "boats": "https://example.com/boats"
  },
  "defaultNamespace": "boats",
  "sdfInstance": {
    "models:#/sdfThing/boat/007": {
      "sdfInstanceOf": "models:#/sdfThing/boat",
      "heater": "models:#/sdfThing/boat/sdfObject/heater/001",
      "$context": {
        "scimObjectId": "a2e06d16-df2c-4618-aacd-490985a3f763"
      },
      "identifier": "urn:boat:007:heater:1",
      "location": {
        "wgs84": {
          "latitude": 35.2988233791372,
          "longitude": 129.25478376484912,
          "altitude": 0
        },
        "postal": {
          "city": "Ulsan",
          "post-code": "44110",
          "country": "South Korea"
        },
        "w3w": {
          "what3words": "toggle.mopped.garages"
        }
      },
      "owner": "ExamTech Ltd."
    },
    "models:#/sdfThing/boat/sdfObject/heater/001": {
      "characteristic": "12V electric heater, 800W, automatic cutoff\
                                                                   ",
      "status": "error",
      "report": "On February 24, 2025, the boat #007's heater #1 \
                                       was on from 9 a.m. to 6 p.m.",
      "sdfEvent": {
        "maintenanceSchedule": [
          {
            "outputValue": "2025-04-10",
            "timestamp": "2024-04-10T02:00:00Z"
          },
          {
            "outputValue": "2026-04-10",
            "timestamp": "2025-04-10T02:00:00Z"
          }
        ]
      }
    }
  }
}
]]></sourcecode>
          </figure>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>(TODO)</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
Q76ctM6Z23AWlUNRnQuIZ0SxXHmFEX5wB2C/KrpEripQD2OthaZyKHw1x6qQ
hKwtaN4Kr4nDQ64V5spvVJrP/dqILhl3DPewzrU400tk0KUanvc7VhME/tE0
z/liCv+CLUAkgX83l3dO2XNnvzYGxR0p8gmFF5rkdEauaYfo9jrmTypHwZSv
ntKVVSBKb3Wjnp/CxfWBZTr92IYx7qJ4vcxKqiYPdXUli9CRjXIy3aAJacyl
t3XVP5f0UOm/f1TLRRc02ssCDymmzfOjjfsLqY4nQfG6JKh5yScQAVZxtVSd
m6dSGVOXQnA+5RsK6GQz7YiNmMNeEhvdYSE76+rW64JKPBNjUJU7MYNX3fFl
eGo2pjPcNXXotv62pTsIB3v/UBXuzoiZYteOf1UgEuAru1aOWbZq4fU0mf/N
auGdwl9bMt6KzRKnfOzBuLtHaMUueQTPqK6pR3/QwbqHH61rHK7r9b036yrF
1x+xu+eQ3T3H7NZUbX/cUbtP201Xqrt6UK/eivWn+N64NHinhZrWndcf/KsW
fIXmn1YL7nbln6aUnE70ZauPWsu6p5j8Fio0Hz+4wtzr4Qce2fyoY5oI3A1T
3p6WaVeD2ly8idwzzreHN425FQYpuyOc3vUcrirEYbP6ziRr0xqTWVdqLzr3
1MI3c22frxi++d7uWW3mL8AADQ9Gg72f9uF/q2c+H4S5/JOf9cnQH3TwEwBG
XZnjbj77tVoCNPwKQPFCLPOKK1IU36fmta+PZ64Adt7Ys1PCm5vedQ1b9VfX
MMrf9H6FT8VX/1z3K9wSFPiEgIQxcw8NM8AQDKba90198j0HD7vUoI3cWsjr
AajrYYhr9SqDNs5ah7HuwFd3YKsGrnoYprrl8oKP2Dwe8YdeObB62cDnvWZg
neVqW607jl095Oz/Q8/9P+TM/2c57x96avZurb/pK9p11+KQmt36BOtAUZ7j
6DrLF2BJryhGA/OuMi5wUvEHF+/5X4vsVmARcAAA

-->

</rfc>
