@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

<http://smart.who.int/cxca/Library/CXCAD18SRecallSchedulingLogic> a fhir:Library ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "CXCAD18SRecallSchedulingLogic"] ; # 
  fhir:meta [
     fhir:profile ( [
       fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"^^xsd:anyURI ;
       fhir:l <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary>
     ] [
       fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"^^xsd:anyURI ;
       fhir:l <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary>
     ] [
       fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"^^xsd:anyURI ;
       fhir:l <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library>
     ] [
       fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"^^xsd:anyURI ;
       fhir:l <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module>
     ] )
  ] ; # 
  fhir:text [
     fhir:status [ fhir:v "extensions" ] ;
     fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n    <table class=\"grid dict\">\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Title: </b></th>\n            <td style=\"padding-left: 4px;\">CXCAD18SRecallSchedulingLogic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">CXCAD18SRecallSchedulingLogic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">0.0.1</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Url: </b></th>\n            <td style=\"padding-left: 4px;\"><a href=\"Library-CXCAD18SRecallSchedulingLogic.html\">CXCAD18SRecallSchedulingLogic</a></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Status: </b></th>\n            <td style=\"padding-left: 4px;\">draft</td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Type: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                    \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>system: </b> <span><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n                        </p>\n                        \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>code: </b> <span>logic-library</span>\n                        </p>\n                        \n                        \n                    \n                \n                \n            </td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Date: </b></th>\n            <td style=\"padding-left: 4px;\">2026-05-14 00:50:23+0000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">Dan Heslinga (independent contributor)</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\"><div><p>CQL logic library for the recall and re-call decision (CXCA.D18.S — scheduling). Encodes the seven timeout triggers from A/641 (2020) section 2.3 (HPV sample timeout, positive-result follow-up timeout, biopsy timeout, treatment-after-biopsy timeout, cytology unread timeout, second-reminder, missed scheduled exam). Each trigger maps to a CXCA.D recall-reason code (DE38–DE44). Source CQL is at input/cql/CXCAD18SRecallSchedulingLogic.cql.</p>\n</div></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n        <tr>\n          <th scope=\"row\"><b>Parameters: </b></th>\n          <td style=\"padding-left: 4px;\">\n            <table class=\"grid-dict\">\n              <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n              \n                <tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>HPVSampleResultTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>PositiveResultFollowUpTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>BiopsyResultTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>TreatmentAfterPositiveBiopsyTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>CytologySlideUnreadTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>FirstReminderUnresolvedAtSecondTimeout</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>MissedScheduledExamination</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — HPV sample result timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — positive result follow-up timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — biopsy result timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — treatment after positive biopsy timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — cytology slide unread timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — second reminder needed</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — missed scheduled examination</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Any recall trigger fired</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n            </table>\n          </td>\n        </tr>\n        \n\n        \n\n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n              <tr><td><pre><code class=\"language-cql\">/*\n * Library: CXCAD18SRecallSchedulingLogic\n *\n * Decision: Should a recall reminder be issued for this patient?\n * L2 Source: A/641 (2020) section 2.3 — recall and re-call system\n * Trigger: Periodic batch sweep across the screening registry, OR encounter-time check\n *\n * THE RECALL TRIGGER MATRIX (per A/641 section 2.3, p. 28):\n *\n *   Trigger                                   | Clock starts at        | Threshold\n *   ──────────────────────────────────────────────────────────────────────────────\n *   HPV result not in registry                | sample dispatched      | 3 weeks\n *   Cytology slide unread                     | slide received at lab  | 2 weeks\n *   Positive result, no follow-up exam        | result entered         | 4 weeks\n *   Biopsy unread                             | tissue received at lab | 4 weeks\n *   Positive biopsy, no treatment record      | dx entered             | 4 weeks\n *   Second reminder                           | 1st reminder sent      | 4 weeks\n *   Client missed scheduled exam              | scheduled date         | (immediate)\n *\n * Each trigger maps to a CXCA.D recall-reason code (DE38–DE44) which becomes\n * the reasonCode on the issued CommunicationRequest.\n *\n * METHODOLOGY ECHO:\n * The 187 LTFU women from the April 2026 Khan-Uul pilot represent the\n * empirical motivation for this layer. The DE39 trigger (\"positive result,\n * no follow-up exam\") fires automatically 4 weeks after a positive HPV\n * result without follow-up — exactly the moment when each of those 187\n * women should have triggered a reminder. The Phase 4 NotDone profile\n * captures the *outcome* of LTFU; this layer captures the *process* that\n * either prevents LTFU or surfaces it for explicit documentation.\n *\n * Phase 5 placeholder — real implementation queries time intervals across\n * Patient → ServiceRequest → Observation → Procedure chains. The shared\n * CXCAElements layer (chunk 8) will provide the timeAgo helpers.\n */\n\nlibrary CXCAD18SRecallSchedulingLogic version '0.0.1'\n\nusing FHIR version '4.0.1'\n\ninclude FHIRHelpers version '4.0.1'\n\nparameter Today Date default Today()\n\n// Placeholders — to be replaced with FHIR queries via the shared CXCAElements\n// layer. Each parameter represents a per-patient timeout state.\nparameter \"HPVSampleResultTimedOut\" Boolean default false\nparameter \"PositiveResultFollowUpTimedOut\" Boolean default false\nparameter \"BiopsyResultTimedOut\" Boolean default false\nparameter \"TreatmentAfterPositiveBiopsyTimedOut\" Boolean default false\nparameter \"CytologySlideUnreadTimedOut\" Boolean default false\nparameter \"FirstReminderUnresolvedAtSecondTimeout\" Boolean default false\nparameter \"MissedScheduledExamination\" Boolean default false\n\ncontext Patient\n\n// =============================================================================\n// Recall trigger rules — one per A/641 section 2.3 timeout\n// =============================================================================\n\n/*\n * @output: CXCA.D#DE38 \"Recall: HPV sample result timeout (3 weeks)\"\n */\ndefine \"Recall — HPV sample result timeout\":\n  \"HPVSampleResultTimedOut\"\n\n/*\n * @output: CXCA.D#DE39 \"Recall: positive result follow-up timeout (4 weeks)\"\n * The single most important trigger — fires for the LTFU population from\n * the April 2026 Khan-Uul pilot.\n */\ndefine \"Recall — positive result follow-up timeout\":\n  \"PositiveResultFollowUpTimedOut\"\n\n/*\n * @output: CXCA.D#DE40 \"Recall: biopsy result timeout (4 weeks)\"\n */\ndefine \"Recall — biopsy result timeout\":\n  \"BiopsyResultTimedOut\"\n\n/*\n * @output: CXCA.D#DE41 \"Recall: treatment timeout after positive biopsy (4 weeks)\"\n */\ndefine \"Recall — treatment after positive biopsy timeout\":\n  \"TreatmentAfterPositiveBiopsyTimedOut\"\n\n/*\n * @output: CXCA.D#DE42 \"Recall: cytology slide unread timeout (2 weeks)\"\n */\ndefine \"Recall — cytology slide unread timeout\":\n  \"CytologySlideUnreadTimedOut\"\n\n/*\n * @output: CXCA.D#DE43 \"Recall: second reminder (4 weeks after first)\"\n */\ndefine \"Recall — second reminder needed\":\n  \"FirstReminderUnresolvedAtSecondTimeout\"\n\n/*\n * @output: CXCA.D#DE44 \"Recall: missed scheduled examination\"\n * No timeout — fires immediately once a missed appointment is detected.\n */\ndefine \"Recall — missed scheduled examination\":\n  \"MissedScheduledExamination\"\n\n/*\n * @internal: any recall trigger fired\n */\ndefine \"Any recall trigger fired\":\n  \"Recall — HPV sample result timeout\"\n    or \"Recall — positive result follow-up timeout\"\n    or \"Recall — biopsy result timeout\"\n    or \"Recall — treatment after positive biopsy timeout\"\n    or \"Recall — cytology slide unread timeout\"\n    or \"Recall — second reminder needed\"\n    or \"Recall — missed scheduled examination\"\n</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><b>Content: </b> application/elm+xml</th></tr>\n              <tr><td><pre><code>Encoded data (27068 characters)</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n    </table>\n</div>\n</div>"^^rdf:XMLLiteral ]
  ] ; # 
  fhir:extension ( [
     fhir:url [
       fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability"^^xsd:anyURI ;
       fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability>
     ] ;
     fhir:value [
       a fhir:Code ;
       fhir:v "computable"
     ]
  ] ) ; # 
  fhir:url [
     fhir:v "http://smart.who.int/cxca/Library/CXCAD18SRecallSchedulingLogic"^^xsd:anyURI ;
     fhir:l <http://smart.who.int/cxca/Library/CXCAD18SRecallSchedulingLogic>
  ] ; # 
  fhir:version [ fhir:v "0.0.1"] ; # 
  fhir:name [ fhir:v "CXCAD18SRecallSchedulingLogic"] ; # 
  fhir:title [ fhir:v "CXCAD18SRecallSchedulingLogic"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:experimental [ fhir:v false] ; # 
  fhir:type [
     fhir:coding ( [
       fhir:system [
         fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ;
         fhir:l <http://terminology.hl7.org/CodeSystem/library-type>
       ] ;
       fhir:code [ fhir:v "logic-library" ]
     ] )
  ] ; # 
  fhir:date [ fhir:v "2026-05-14T00:50:23+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "Dan Heslinga (independent contributor)"] ; # 
  fhir:contact ( [
     fhir:name [ fhir:v "Dan Heslinga (independent contributor)" ] ;
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "https://github.com/dhes" ]
     ] )
  ] ) ; # 
  fhir:description [ fhir:v "CQL logic library for the recall and re-call decision (CXCA.D18.S — scheduling). Encodes the seven timeout triggers from A/641 (2020) section 2.3 (HPV sample timeout, positive-result follow-up timeout, biopsy timeout, treatment-after-biopsy timeout, cytology unread timeout, second-reminder, missed scheduled exam). Each trigger maps to a CXCA.D recall-reason code (DE38–DE44). Source CQL is at input/cql/CXCAD18SRecallSchedulingLogic.cql."] ; # 
  fhir:parameter ( [
     fhir:name [ fhir:v "Today" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "date" ]
  ] [
     fhir:name [ fhir:v "HPVSampleResultTimedOut" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "PositiveResultFollowUpTimedOut" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "BiopsyResultTimedOut" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "TreatmentAfterPositiveBiopsyTimedOut" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "CytologySlideUnreadTimedOut" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "FirstReminderUnresolvedAtSecondTimeout" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "MissedScheduledExamination" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "Patient" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "Patient" ]
  ] [
     fhir:name [ fhir:v "Recall — HPV sample result timeout" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "Recall — positive result follow-up timeout" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "Recall — biopsy result timeout" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "Recall — treatment after positive biopsy timeout" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "Recall — cytology slide unread timeout" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "Recall — second reminder needed" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "Recall — missed scheduled examination" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "Any recall trigger fired" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v 0 ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] ) ; # 
  fhir:content ( [
     fhir:contentType [ fhir:v "text/cql" ] ;
     fhir:data [ fhir:v "LyoKICogTGlicmFyeTogQ1hDQUQxOFNSZWNhbGxTY2hlZHVsaW5nTG9naWMKICoKICogRGVjaXNpb246IFNob3VsZCBhIHJlY2FsbCByZW1pbmRlciBiZSBpc3N1ZWQgZm9yIHRoaXMgcGF0aWVudD8KICogTDIgU291cmNlOiBBLzY0MSAoMjAyMCkgc2VjdGlvbiAyLjMg4oCUIHJlY2FsbCBhbmQgcmUtY2FsbCBzeXN0ZW0KICogVHJpZ2dlcjogUGVyaW9kaWMgYmF0Y2ggc3dlZXAgYWNyb3NzIHRoZSBzY3JlZW5pbmcgcmVnaXN0cnksIE9SIGVuY291bnRlci10aW1lIGNoZWNrCiAqCiAqIFRIRSBSRUNBTEwgVFJJR0dFUiBNQVRSSVggKHBlciBBLzY0MSBzZWN0aW9uIDIuMywgcC4gMjgpOgogKgogKiAgIFRyaWdnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ2xvY2sgc3RhcnRzIGF0ICAgICAgICB8IFRocmVzaG9sZAogKiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgAogKiAgIEhQViByZXN1bHQgbm90IGluIHJlZ2lzdHJ5ICAgICAgICAgICAgICAgIHwgc2FtcGxlIGRpc3BhdGNoZWQgICAgICB8IDMgd2Vla3MKICogICBDeXRvbG9neSBzbGlkZSB1bnJlYWQgICAgICAgICAgICAgICAgICAgICB8IHNsaWRlIHJlY2VpdmVkIGF0IGxhYiAgfCAyIHdlZWtzCiAqICAgUG9zaXRpdmUgcmVzdWx0LCBubyBmb2xsb3ctdXAgZXhhbSAgICAgICAgfCByZXN1bHQgZW50ZXJlZCAgICAgICAgIHwgNCB3ZWVrcwogKiAgIEJpb3BzeSB1bnJlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGlzc3VlIHJlY2VpdmVkIGF0IGxhYiB8IDQgd2Vla3MKICogICBQb3NpdGl2ZSBiaW9wc3ksIG5vIHRyZWF0bWVudCByZWNvcmQgICAgICB8IGR4IGVudGVyZWQgICAgICAgICAgICAgfCA0IHdlZWtzCiAqICAgU2Vjb25kIHJlbWluZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxc3QgcmVtaW5kZXIgc2VudCAgICAgIHwgNCB3ZWVrcwogKiAgIENsaWVudCBtaXNzZWQgc2NoZWR1bGVkIGV4YW0gICAgICAgICAgICAgIHwgc2NoZWR1bGVkIGRhdGUgICAgICAgICB8IChpbW1lZGlhdGUpCiAqCiAqIEVhY2ggdHJpZ2dlciBtYXBzIHRvIGEgQ1hDQS5EIHJlY2FsbC1yZWFzb24gY29kZSAoREUzOOKAk0RFNDQpIHdoaWNoIGJlY29tZXMKICogdGhlIHJlYXNvbkNvZGUgb24gdGhlIGlzc3VlZCBDb21tdW5pY2F0aW9uUmVxdWVzdC4KICoKICogTUVUSE9ET0xPR1kgRUNITzoKICogVGhlIDE4NyBMVEZVIHdvbWVuIGZyb20gdGhlIEFwcmlsIDIwMjYgS2hhbi1VdWwgcGlsb3QgcmVwcmVzZW50IHRoZQogKiBlbXBpcmljYWwgbW90aXZhdGlvbiBmb3IgdGhpcyBsYXllci4gVGhlIERFMzkgdHJpZ2dlciAoInBvc2l0aXZlIHJlc3VsdCwKICogbm8gZm9sbG93LXVwIGV4YW0iKSBmaXJlcyBhdXRvbWF0aWNhbGx5IDQgd2Vla3MgYWZ0ZXIgYSBwb3NpdGl2ZSBIUFYKICogcmVzdWx0IHdpdGhvdXQgZm9sbG93LXVwIOKAlCBleGFjdGx5IHRoZSBtb21lbnQgd2hlbiBlYWNoIG9mIHRob3NlIDE4NwogKiB3b21lbiBzaG91bGQgaGF2ZSB0cmlnZ2VyZWQgYSByZW1pbmRlci4gVGhlIFBoYXNlIDQgTm90RG9uZSBwcm9maWxlCiAqIGNhcHR1cmVzIHRoZSAqb3V0Y29tZSogb2YgTFRGVTsgdGhpcyBsYXllciBjYXB0dXJlcyB0aGUgKnByb2Nlc3MqIHRoYXQKICogZWl0aGVyIHByZXZlbnRzIExURlUgb3Igc3VyZmFjZXMgaXQgZm9yIGV4cGxpY2l0IGRvY3VtZW50YXRpb24uCiAqCiAqIFBoYXNlIDUgcGxhY2Vob2xkZXIg4oCUIHJlYWwgaW1wbGVtZW50YXRpb24gcXVlcmllcyB0aW1lIGludGVydmFscyBhY3Jvc3MKICogUGF0aWVudCDihpIgU2VydmljZVJlcXVlc3Qg4oaSIE9ic2VydmF0aW9uIOKGkiBQcm9jZWR1cmUgY2hhaW5zLiBUaGUgc2hhcmVkCiAqIENYQ0FFbGVtZW50cyBsYXllciAoY2h1bmsgOCkgd2lsbCBwcm92aWRlIHRoZSB0aW1lQWdvIGhlbHBlcnMuCiAqLwoKbGlicmFyeSBDWENBRDE4U1JlY2FsbFNjaGVkdWxpbmdMb2dpYyB2ZXJzaW9uICcwLjAuMScKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKcGFyYW1ldGVyIFRvZGF5IERhdGUgZGVmYXVsdCBUb2RheSgpCgovLyBQbGFjZWhvbGRlcnMg4oCUIHRvIGJlIHJlcGxhY2VkIHdpdGggRkhJUiBxdWVyaWVzIHZpYSB0aGUgc2hhcmVkIENYQ0FFbGVtZW50cwovLyBsYXllci4gRWFjaCBwYXJhbWV0ZXIgcmVwcmVzZW50cyBhIHBlci1wYXRpZW50IHRpbWVvdXQgc3RhdGUuCnBhcmFtZXRlciAiSFBWU2FtcGxlUmVzdWx0VGltZWRPdXQiIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQpwYXJhbWV0ZXIgIlBvc2l0aXZlUmVzdWx0Rm9sbG93VXBUaW1lZE91dCIgQm9vbGVhbiBkZWZhdWx0IGZhbHNlCnBhcmFtZXRlciAiQmlvcHN5UmVzdWx0VGltZWRPdXQiIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQpwYXJhbWV0ZXIgIlRyZWF0bWVudEFmdGVyUG9zaXRpdmVCaW9wc3lUaW1lZE91dCIgQm9vbGVhbiBkZWZhdWx0IGZhbHNlCnBhcmFtZXRlciAiQ3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0IiBCb29sZWFuIGRlZmF1bHQgZmFsc2UKcGFyYW1ldGVyICJGaXJzdFJlbWluZGVyVW5yZXNvbHZlZEF0U2Vjb25kVGltZW91dCIgQm9vbGVhbiBkZWZhdWx0IGZhbHNlCnBhcmFtZXRlciAiTWlzc2VkU2NoZWR1bGVkRXhhbWluYXRpb24iIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQoKY29udGV4dCBQYXRpZW50CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBSZWNhbGwgdHJpZ2dlciBydWxlcyDigJQgb25lIHBlciBBLzY0MSBzZWN0aW9uIDIuMyB0aW1lb3V0Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgovKgogKiBAb3V0cHV0OiBDWENBLkQjREUzOCAiUmVjYWxsOiBIUFYgc2FtcGxlIHJlc3VsdCB0aW1lb3V0ICgzIHdlZWtzKSIKICovCmRlZmluZSAiUmVjYWxsIOKAlCBIUFYgc2FtcGxlIHJlc3VsdCB0aW1lb3V0IjoKICAiSFBWU2FtcGxlUmVzdWx0VGltZWRPdXQiCgovKgogKiBAb3V0cHV0OiBDWENBLkQjREUzOSAiUmVjYWxsOiBwb3NpdGl2ZSByZXN1bHQgZm9sbG93LXVwIHRpbWVvdXQgKDQgd2Vla3MpIgogKiBUaGUgc2luZ2xlIG1vc3QgaW1wb3J0YW50IHRyaWdnZXIg4oCUIGZpcmVzIGZvciB0aGUgTFRGVSBwb3B1bGF0aW9uIGZyb20KICogdGhlIEFwcmlsIDIwMjYgS2hhbi1VdWwgcGlsb3QuCiAqLwpkZWZpbmUgIlJlY2FsbCDigJQgcG9zaXRpdmUgcmVzdWx0IGZvbGxvdy11cCB0aW1lb3V0IjoKICAiUG9zaXRpdmVSZXN1bHRGb2xsb3dVcFRpbWVkT3V0IgoKLyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDAgIlJlY2FsbDogYmlvcHN5IHJlc3VsdCB0aW1lb3V0ICg0IHdlZWtzKSIKICovCmRlZmluZSAiUmVjYWxsIOKAlCBiaW9wc3kgcmVzdWx0IHRpbWVvdXQiOgogICJCaW9wc3lSZXN1bHRUaW1lZE91dCIKCi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQxICJSZWNhbGw6IHRyZWF0bWVudCB0aW1lb3V0IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSAoNCB3ZWVrcykiCiAqLwpkZWZpbmUgIlJlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0IjoKICAiVHJlYXRtZW50QWZ0ZXJQb3NpdGl2ZUJpb3BzeVRpbWVkT3V0IgoKLyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDIgIlJlY2FsbDogY3l0b2xvZ3kgc2xpZGUgdW5yZWFkIHRpbWVvdXQgKDIgd2Vla3MpIgogKi8KZGVmaW5lICJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IjoKICAiQ3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0IgoKLyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDMgIlJlY2FsbDogc2Vjb25kIHJlbWluZGVyICg0IHdlZWtzIGFmdGVyIGZpcnN0KSIKICovCmRlZmluZSAiUmVjYWxsIOKAlCBzZWNvbmQgcmVtaW5kZXIgbmVlZGVkIjoKICAiRmlyc3RSZW1pbmRlclVucmVzb2x2ZWRBdFNlY29uZFRpbWVvdXQiCgovKgogKiBAb3V0cHV0OiBDWENBLkQjREU0NCAiUmVjYWxsOiBtaXNzZWQgc2NoZWR1bGVkIGV4YW1pbmF0aW9uIgogKiBObyB0aW1lb3V0IOKAlCBmaXJlcyBpbW1lZGlhdGVseSBvbmNlIGEgbWlzc2VkIGFwcG9pbnRtZW50IGlzIGRldGVjdGVkLgogKi8KZGVmaW5lICJSZWNhbGwg4oCUIG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24iOgogICJNaXNzZWRTY2hlZHVsZWRFeGFtaW5hdGlvbiIKCi8qCiAqIEBpbnRlcm5hbDogYW55IHJlY2FsbCB0cmlnZ2VyIGZpcmVkCiAqLwpkZWZpbmUgIkFueSByZWNhbGwgdHJpZ2dlciBmaXJlZCI6CiAgIlJlY2FsbCDigJQgSFBWIHNhbXBsZSByZXN1bHQgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIGJpb3BzeSByZXN1bHQgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIHRyZWF0bWVudCBhZnRlciBwb3NpdGl2ZSBiaW9wc3kgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IgogICAgb3IgIlJlY2FsbCDigJQgc2Vjb25kIHJlbWluZGVyIG5lZWRlZCIKICAgIG9yICJSZWNhbGwg4oCUIG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24iCg=="^^xsd:base64Binary ]
  ] [
     fhir:contentType [ fhir:v "application/elm+xml" ] ;
     fhir:data [ fhir:v "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjc4Ij4KICAgICAgICAgPGE6cz4vKgogKiBMaWJyYXJ5OiBDWENBRDE4U1JlY2FsbFNjaGVkdWxpbmdMb2dpYwogKgogKiBEZWNpc2lvbjogU2hvdWxkIGEgcmVjYWxsIHJlbWluZGVyIGJlIGlzc3VlZCBmb3IgdGhpcyBwYXRpZW50PwogKiBMMiBTb3VyY2U6IEEvNjQxICgyMDIwKSBzZWN0aW9uIDIuMyDigJQgcmVjYWxsIGFuZCByZS1jYWxsIHN5c3RlbQogKiBUcmlnZ2VyOiBQZXJpb2RpYyBiYXRjaCBzd2VlcCBhY3Jvc3MgdGhlIHNjcmVlbmluZyByZWdpc3RyeSwgT1IgZW5jb3VudGVyLXRpbWUgY2hlY2sKICoKICogVEhFIFJFQ0FMTCBUUklHR0VSIE1BVFJJWCAocGVyIEEvNjQxIHNlY3Rpb24gMi4zLCBwLiAyOCk6CiAqCiAqICAgVHJpZ2dlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDbG9jayBzdGFydHMgYXQgICAgICAgIHwgVGhyZXNob2xkCiAqICAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSACiAqICAgSFBWIHJlc3VsdCBub3QgaW4gcmVnaXN0cnkgICAgICAgICAgICAgICAgfCBzYW1wbGUgZGlzcGF0Y2hlZCAgICAgIHwgMyB3ZWVrcwogKiAgIEN5dG9sb2d5IHNsaWRlIHVucmVhZCAgICAgICAgICAgICAgICAgICAgIHwgc2xpZGUgcmVjZWl2ZWQgYXQgbGFiICB8IDIgd2Vla3MKICogICBQb3NpdGl2ZSByZXN1bHQsIG5vIGZvbGxvdy11cCBleGFtICAgICAgICB8IHJlc3VsdCBlbnRlcmVkICAgICAgICAgfCA0IHdlZWtzCiAqICAgQmlvcHN5IHVucmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aXNzdWUgcmVjZWl2ZWQgYXQgbGFiIHwgNCB3ZWVrcwogKiAgIFBvc2l0aXZlIGJpb3BzeSwgbm8gdHJlYXRtZW50IHJlY29yZCAgICAgIHwgZHggZW50ZXJlZCAgICAgICAgICAgICB8IDQgd2Vla3MKICogICBTZWNvbmQgcmVtaW5kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDFzdCByZW1pbmRlciBzZW50ICAgICAgfCA0IHdlZWtzCiAqICAgQ2xpZW50IG1pc3NlZCBzY2hlZHVsZWQgZXhhbSAgICAgICAgICAgICAgfCBzY2hlZHVsZWQgZGF0ZSAgICAgICAgIHwgKGltbWVkaWF0ZSkKICoKICogRWFjaCB0cmlnZ2VyIG1hcHMgdG8gYSBDWENBLkQgcmVjYWxsLXJlYXNvbiBjb2RlIChERTM44oCTREU0NCkgd2hpY2ggYmVjb21lcwogKiB0aGUgcmVhc29uQ29kZSBvbiB0aGUgaXNzdWVkIENvbW11bmljYXRpb25SZXF1ZXN0LgogKgogKiBNRVRIT0RPTE9HWSBFQ0hPOgogKiBUaGUgMTg3IExURlUgd29tZW4gZnJvbSB0aGUgQXByaWwgMjAyNiBLaGFuLVV1bCBwaWxvdCByZXByZXNlbnQgdGhlCiAqIGVtcGlyaWNhbCBtb3RpdmF0aW9uIGZvciB0aGlzIGxheWVyLiBUaGUgREUzOSB0cmlnZ2VyICgmcXVvdDtwb3NpdGl2ZSByZXN1bHQsCiAqIG5vIGZvbGxvdy11cCBleGFtJnF1b3Q7KSBmaXJlcyBhdXRvbWF0aWNhbGx5IDQgd2Vla3MgYWZ0ZXIgYSBwb3NpdGl2ZSBIUFYKICogcmVzdWx0IHdpdGhvdXQgZm9sbG93LXVwIOKAlCBleGFjdGx5IHRoZSBtb21lbnQgd2hlbiBlYWNoIG9mIHRob3NlIDE4NwogKiB3b21lbiBzaG91bGQgaGF2ZSB0cmlnZ2VyZWQgYSByZW1pbmRlci4gVGhlIFBoYXNlIDQgTm90RG9uZSBwcm9maWxlCiAqIGNhcHR1cmVzIHRoZSAqb3V0Y29tZSogb2YgTFRGVTsgdGhpcyBsYXllciBjYXB0dXJlcyB0aGUgKnByb2Nlc3MqIHRoYXQKICogZWl0aGVyIHByZXZlbnRzIExURlUgb3Igc3VyZmFjZXMgaXQgZm9yIGV4cGxpY2l0IGRvY3VtZW50YXRpb24uCiAqCiAqIFBoYXNlIDUgcGxhY2Vob2xkZXIg4oCUIHJlYWwgaW1wbGVtZW50YXRpb24gcXVlcmllcyB0aW1lIGludGVydmFscyBhY3Jvc3MKICogUGF0aWVudCDihpIgU2VydmljZVJlcXVlc3Qg4oaSIE9ic2VydmF0aW9uIOKGkiBQcm9jZWR1cmUgY2hhaW5zLiBUaGUgc2hhcmVkCiAqIENYQ0FFbGVtZW50cyBsYXllciAoY2h1bmsgOCkgd2lsbCBwcm92aWRlIHRoZSB0aW1lQWdvIGhlbHBlcnMuCiAqLwoKbGlicmFyeSBDWENBRDE4U1JlY2FsbFNjaGVkdWxpbmdMb2dpYyB2ZXJzaW9uICcwLjAuMSc8L2E6cz4KICAgICAgPC9hOnM+CiAgIDwvYW5ub3RhdGlvbj4KICAgPGlkZW50aWZpZXIgaWQ9IkNYQ0FEMThTUmVjYWxsU2NoZWR1bGluZ0xvZ2ljIiBzeXN0ZW09Imh0dHA6Ly9zbWFydC53aG8uaW50L2N4Y2EiIHZlcnNpb249IjAuMC4xIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB2ZXJzaW9uPSIxLjAuMCIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iMzk6MS0zOToyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgPGE6cz51c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSI0MToxLTQxOjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vaGw3Lm9yZy9maGlyL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwOCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjQzOjEtNDM6MzYiIG5hbWU9IlRvZGF5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgVG9kYXkgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkZWZhdWx0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjEzIiBsb2NhdG9yPSI0MzozMC00MzozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIxNCIgbG9jYXRvcj0iNDM6MTctNDM6MjAiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTYiIGxvY2F0b3I9IjQ3OjEtNDc6NTciIG5hbWU9IkhQVlNhbXBsZVJlc3VsdFRpbWVkT3V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgPGE6cz4vLyBQbGFjZWhvbGRlcnMg4oCUIHRvIGJlIHJlcGxhY2VkIHdpdGggRkhJUiBxdWVyaWVzIHZpYSB0aGUgc2hhcmVkIENYQ0FFbGVtZW50cwovLyBsYXllci4gRWFjaCBwYXJhbWV0ZXIgcmVwcmVzZW50cyBhIHBlci1wYXRpZW50IHRpbWVvdXQgc3RhdGUuCnBhcmFtZXRlciAmcXVvdDtIUFZTYW1wbGVSZXN1bHRUaW1lZE91dCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE3Ij4gZGVmYXVsdCBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyMTciIGxvY2F0b3I9IjQ3OjUzLTQ3OjU3IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjQ3OjM3LTQ3OjQzIiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIwIiBsb2NhdG9yPSI0ODoxLTQ4OjY0IiBuYW1lPSJQb3NpdGl2ZVJlc3VsdEZvbGxvd1VwVGltZWRPdXQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtQb3NpdGl2ZVJlc3VsdEZvbGxvd1VwVGltZWRPdXQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+IGRlZmF1bHQgZmFsc2U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSI0ODo2MC00ODo2NCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSI0ODo0NC00ODo1MCIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iNDk6MS00OTo1NCIgbmFtZT0iQmlvcHN5UmVzdWx0VGltZWRPdXQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtCaW9wc3lSZXN1bHRUaW1lZE91dCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4gZGVmYXVsdCBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjQ5OjUwLTQ5OjU0IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjYiIGxvY2F0b3I9IjQ5OjM0LTQ5OjQwIiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjI4IiBsb2NhdG9yPSI1MDoxLTUwOjcwIiBuYW1lPSJUcmVhdG1lbnRBZnRlclBvc2l0aXZlQmlvcHN5VGltZWRPdXQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtUcmVhdG1lbnRBZnRlclBvc2l0aXZlQmlvcHN5VGltZWRPdXQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+IGRlZmF1bHQgZmFsc2U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjI5IiBsb2NhdG9yPSI1MDo2Ni01MDo3MCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSI1MDo1MC01MDo1NiIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iNTE6MS01MTo2MSIgbmFtZT0iQ3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgJnF1b3Q7Q3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0JnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Qm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMzMiPiBkZWZhdWx0IGZhbHNlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iNTE6NTctNTE6NjEiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0iZmFsc2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iNTE6NDEtNTE6NDciIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjUyOjEtNTI6NzIiIG5hbWU9IkZpcnN0UmVtaW5kZXJVbnJlc29sdmVkQXRTZWNvbmRUaW1lb3V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgJnF1b3Q7Rmlyc3RSZW1pbmRlclVucmVzb2x2ZWRBdFNlY29uZFRpbWVvdXQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+IGRlZmF1bHQgZmFsc2U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjM3IiBsb2NhdG9yPSI1Mjo2OC01Mjo3MiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSI1Mjo1Mi01Mjo1OCIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0MCIgbG9jYXRvcj0iNTM6MS01Mzo2MCIgbmFtZT0iTWlzc2VkU2NoZWR1bGVkRXhhbWluYXRpb24iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtNaXNzZWRTY2hlZHVsZWRFeGFtaW5hdGlvbiZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4gZGVmYXVsdCBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyNDEiIGxvY2F0b3I9IjUzOjU2LTUzOjYwIiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjUzOjQwLTUzOjQ2IiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iNTU6MS01NToxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjU1OjEtNTU6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDYiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSI1NToxLTU1OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUwIiBsb2NhdG9yPSI2NDoxLTY1OjI3IiBuYW1lPSJSZWNhbGwg4oCUIEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSImcXVvdDtSZWNhbGw6IEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQgKDMgd2Vla3MpJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgPGE6cz4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBSZWNhbGwgdHJpZ2dlciBydWxlcyDigJQgb25lIHBlciBBLzY0MSBzZWN0aW9uIDIuMyB0aW1lb3V0Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgovKgogKiBAb3V0cHV0OiBDWENBLkQjREUzOCAmcXVvdDtSZWNhbGw6IEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQgKDMgd2Vla3MpJnF1b3Q7CiAqLwpkZWZpbmUgJnF1b3Q7UmVjYWxsIOKAlCBIUFYgc2FtcGxlIHJlc3VsdCB0aW1lb3V0JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SFBWU2FtcGxlUmVzdWx0VGltZWRPdXQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iNjU6My02NToyNyIgbmFtZT0iSFBWU2FtcGxlUmVzdWx0VGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSI3MjoxLTczOjM0IiBuYW1lPSJSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IiZxdW90O1JlY2FsbDogcG9zaXRpdmUgcmVzdWx0IGZvbGxvdy11cCB0aW1lb3V0ICg0IHdlZWtzKSZxdW90OyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKICogQG91dHB1dDogQ1hDQS5EI0RFMzkgJnF1b3Q7UmVjYWxsOiBwb3NpdGl2ZSByZXN1bHQgZm9sbG93LXVwIHRpbWVvdXQgKDQgd2Vla3MpJnF1b3Q7CiAqIFRoZSBzaW5nbGUgbW9zdCBpbXBvcnRhbnQgdHJpZ2dlciDigJQgZmlyZXMgZm9yIHRoZSBMVEZVIHBvcHVsYXRpb24gZnJvbQogKiB0aGUgQXByaWwgMjAyNiBLaGFuLVV1bCBwaWxvdC4KICovCmRlZmluZSAmcXVvdDtSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTUiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1Bvc2l0aXZlUmVzdWx0Rm9sbG93VXBUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSI3MzozLTczOjM0IiBuYW1lPSJQb3NpdGl2ZVJlc3VsdEZvbGxvd1VwVGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSI3ODoxLTc5OjI0IiBuYW1lPSJSZWNhbGwg4oCUIGJpb3BzeSByZXN1bHQgdGltZW91dCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IiZxdW90O1JlY2FsbDogYmlvcHN5IHJlc3VsdCB0aW1lb3V0ICg0IHdlZWtzKSZxdW90OyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1OCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDAgJnF1b3Q7UmVjYWxsOiBiaW9wc3kgcmVzdWx0IHRpbWVvdXQgKDQgd2Vla3MpJnF1b3Q7CiAqLwpkZWZpbmUgJnF1b3Q7UmVjYWxsIOKAlCBiaW9wc3kgcmVzdWx0IHRpbWVvdXQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjU5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtCaW9wc3lSZXN1bHRUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU5IiBsb2NhdG9yPSI3OTozLTc5OjI0IiBuYW1lPSJCaW9wc3lSZXN1bHRUaW1lZE91dCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNjIiIGxvY2F0b3I9Ijg0OjEtODU6NDAiIG5hbWU9IlJlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iJnF1b3Q7UmVjYWxsOiB0cmVhdG1lbnQgdGltZW91dCBhZnRlciBwb3NpdGl2ZSBiaW9wc3kgKDQgd2Vla3MpJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjYyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgogKiBAb3V0cHV0OiBDWENBLkQjREU0MSAmcXVvdDtSZWNhbGw6IHRyZWF0bWVudCB0aW1lb3V0IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSAoNCB3ZWVrcykmcXVvdDsKICovCmRlZmluZSAmcXVvdDtSZWNhbGwg4oCUIHRyZWF0bWVudCBhZnRlciBwb3NpdGl2ZSBiaW9wc3kgdGltZW91dCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RyZWF0bWVudEFmdGVyUG9zaXRpdmVCaW9wc3lUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjYzIiBsb2NhdG9yPSI4NTozLTg1OjQwIiBuYW1lPSJUcmVhdG1lbnRBZnRlclBvc2l0aXZlQmlvcHN5VGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSI5MDoxLTkxOjMxIiBuYW1lPSJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iJnF1b3Q7UmVjYWxsOiBjeXRvbG9neSBzbGlkZSB1bnJlYWQgdGltZW91dCAoMiB3ZWVrcykmcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQyICZxdW90O1JlY2FsbDogY3l0b2xvZ3kgc2xpZGUgdW5yZWFkIHRpbWVvdXQgKDIgd2Vla3MpJnF1b3Q7CiAqLwpkZWZpbmUgJnF1b3Q7UmVjYWxsIOKAlCBjeXRvbG9neSBzbGlkZSB1bnJlYWQgdGltZW91dCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjciPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N5dG9sb2d5U2xpZGVVbnJlYWRUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjY3IiBsb2NhdG9yPSI5MTozLTkxOjMxIiBuYW1lPSJDeXRvbG9neVNsaWRlVW5yZWFkVGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjcwIiBsb2NhdG9yPSI5NjoxLTk3OjQyIiBuYW1lPSJSZWNhbGwg4oCUIHNlY29uZCByZW1pbmRlciBuZWVkZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSImcXVvdDtSZWNhbGw6IHNlY29uZCByZW1pbmRlciAoNCB3ZWVrcyBhZnRlciBmaXJzdCkmcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNzAiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQzICZxdW90O1JlY2FsbDogc2Vjb25kIHJlbWluZGVyICg0IHdlZWtzIGFmdGVyIGZpcnN0KSZxdW90OwogKi8KZGVmaW5lICZxdW90O1JlY2FsbCDigJQgc2Vjb25kIHJlbWluZGVyIG5lZWRlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzEiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0ZpcnN0UmVtaW5kZXJVbnJlc29sdmVkQXRTZWNvbmRUaW1lb3V0JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzEiIGxvY2F0b3I9Ijk3OjMtOTc6NDIiIG5hbWU9IkZpcnN0UmVtaW5kZXJVbnJlc29sdmVkQXRTZWNvbmRUaW1lb3V0IiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3NCIgbG9jYXRvcj0iMTAzOjEtMTA0OjMwIiBuYW1lPSJSZWNhbGwg4oCUIG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSImcXVvdDtSZWNhbGw6IG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24mcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQ0ICZxdW90O1JlY2FsbDogbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiZxdW90OwogKiBObyB0aW1lb3V0IOKAlCBmaXJlcyBpbW1lZGlhdGVseSBvbmNlIGEgbWlzc2VkIGFwcG9pbnRtZW50IGlzIGRldGVjdGVkLgogKi8KZGVmaW5lICZxdW90O1JlY2FsbCDigJQgbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01pc3NlZFNjaGVkdWxlZEV4YW1pbmF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjEwNDozLTEwNDozMCIgbmFtZT0iTWlzc2VkU2NoZWR1bGVkRXhhbWluYXRpb24iIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSIxMDk6MS0xMTY6NDYiIG5hbWU9IkFueSByZWNhbGwgdHJpZ2dlciBmaXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iYW55IHJlY2FsbCB0cmlnZ2VyIGZpcmVkIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjc4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgogKiBAaW50ZXJuYWw6IGFueSByZWNhbGwgdHJpZ2dlciBmaXJlZAogKi8KZGVmaW5lICZxdW90O0FueSByZWNhbGwgdHJpZ2dlciBmaXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgSFBWIHNhbXBsZSByZXN1bHQgdGltZW91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UmVjYWxsIOKAlCBwb3NpdGl2ZSByZXN1bHQgZm9sbG93LXVwIHRpbWVvdXQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtSZWNhbGwg4oCUIGJpb3BzeSByZXN1bHQgdGltZW91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UmVjYWxsIOKAlCBjeXRvbG9neSBzbGlkZSB1bnJlYWQgdGltZW91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgc2Vjb25kIHJlbWluZGVyIG5lZWRlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3OSIgbG9jYXRvcj0iMTEwOjMtMTE2OjQ2IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjExMDozLTExNTo0MCIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjgxIiBsb2NhdG9yPSIxMTA6My0xMTQ6NDciIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4MiIgbG9jYXRvcj0iMTEwOjMtMTEzOjU3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODMiIGxvY2F0b3I9IjExMDozLTExMjozOSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg0IiBsb2NhdG9yPSIxMTA6My0xMTE6NTEiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NSIgbG9jYXRvcj0iMTEwOjMtMTEwOjM4IiBuYW1lPSJSZWNhbGwg4oCUIEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iMTExOjgtMTExOjUxIiBuYW1lPSJSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODciIGxvY2F0b3I9IjExMjo4LTExMjozOSIgbmFtZT0iUmVjYWxsIOKAlCBiaW9wc3kgcmVzdWx0IHRpbWVvdXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg4IiBsb2NhdG9yPSIxMTM6OC0xMTM6NTciIG5hbWU9IlJlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4OSIgbG9jYXRvcj0iMTE0OjgtMTE0OjQ3IiBuYW1lPSJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iMTE1OjgtMTE1OjQwIiBuYW1lPSJSZWNhbGwg4oCUIHNlY29uZCByZW1pbmRlciBuZWVkZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkxIiBsb2NhdG9yPSIxMTY6OC0xMTY6NDYiIG5hbWU9IlJlY2FsbCDigJQgbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg=="^^xsd:base64Binary ]
  ] ) . # 

# -------------------------------------------------------------------------------------

