FHIR Clinical Guidelines (v1.0.0) (STU1)

This page is part of the Clinical Guidelines (v1.0.0: STU 1) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions

RecordInference

Formats: Narrative, XML, JSON, Turtle

Raw xml



<Library xmlns="http://hl7.org/fhir">
  <id value="RecordInference"/>
  <meta>
    <profile
             value="http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-computablelibrary"/>
    <profile
             value="http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-executablelibrary"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><h2>Related Artifacts</h2><table class="grid"><tr><td>depends-on</td><td><code>http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1</code></td></tr><tr><td>depends-on</td><td><code>http://hl7.org/fhir/Library/FHIRHelpers|4.0.1</code></td></tr><tr><td>depends-on</td><td><a href="CodeSystem-cpg-activity-type.html">CPG Activity Type</a></td></tr></table><h2>Parameters</h2><table class="grid"><tr><td>Patient</td><td>out</td><td>0</td><td>1</td><td>Patient</td></tr><tr><td>Inclusion Criteria</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>Record Inference Task</td><td>out</td><td>0</td><td>*</td><td>Task</td></tr><tr><td>Inference</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>Active or Completed Activity</td><td>out</td><td>0</td><td>*</td><td>Task</td></tr><tr><td>Activity Not Done</td><td>out</td><td>0</td><td>*</td><td>Task</td></tr><tr><td>Activity Proposal</td><td>out</td><td>0</td><td>*</td><td>Task</td></tr><tr><td>Activity Proposal Rejected</td><td>out</td><td>0</td><td>*</td><td>Task</td></tr><tr><td>Is Recommendation Applicable</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr></table><h2>Data Requirements</h2><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/task.html">Task</a> (<a href="http://hl7.org/fhir/R4/task.html">Task</a>)</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr></table><h2>Contents</h2><p><code>text/cql</code></p><pre><code class="language-sql">library RecordInference

using FHIR version '4.0.1'

include FHIRHelpers version '4.0.1'

codesystem "Activity Type": 'http://hl7.org/fhir/uv/cpg/CodeSystem/cpg-activity-type'

code "Record inference": 'record-inference' from "Activity Type"

context Patient

/* Recommendation to record an inference */

/*
NOTE: This recommendation is dramatically simplified to illustrate the general
pattern for a positive recommendation to record an inference, with the ability
for users to reject the recommendation, and flexibility in how the recommendation
is achieved.

Specifically:
* There is no terminology, any task on any topic will do
* There is no timing, any task will do at any time
* There is no reference to participants other than the patient
* There is no relationship to a setting
* There is no relationship to an encounter or episode
* There is no relationship to a care plan

These simplifications allow the example to focus exclusively on the pattern for
recommending and for accepting/rejecting the proposal, as well as documenting
the completion, or explicit non-performance of the activity.
*/

/*
Positive recommendation:

If the patient meets the inclusion criteria
  If the patient does not have the inference recorded
    If recording the inference has not been planned or proposed
      Propose recording the inference

Given a proposal, the user can:
  Accept the proposal
  Ignore the proposal
  Reject the proposal without reason
  Reject the proposal with reason

Scenario 1: No event, no plan or proposal, decision support should propose
Scenario 2: No event, incomplete proposal, decision support should not propose
Scenario 3: No event, rejected proposal, decision support should not propose
Scenario 4: Event, no proposal, decision support should not propose
Scenario 5: Event, completed proposal, decision support should not propose
Scenario 6: Event not done, no proposal, decision support should not propose
Scenario 7: Event not done, proposal, decision support should not propose

*/

define "Inclusion Criteria":
  Patient.active

define "Record Inference Task":
  [Task] C
    where C.code ~ "Record inference"
      and not Coalesce(doNotPerform(C), false)

define "Inference":
  [Observation] O
    where O.status = 'final'

define "Active or Completed Activity":
  "Record Inference Task" C
    where C.status in { 'in-progress', 'on-hold', 'completed' }

define "Activity Not Done":
  "Record Inference Task" C
    where C.status in { 'cancelled', 'failed' }

define "Activity Proposal":
  "Record Inference Task" R
    where R.status in { 'draft', 'requested', 'received', 'accepted', 'ready' }

define "Activity Proposal Rejected":
  "Record Inference Task" R
    where R.status in { 'rejected' }

define "Is Recommendation Applicable":
  "Inclusion Criteria"
    and not exists ("Inference")
    and not exists (
      "Active or Completed Activity"
        union "Activity Not Done"
    )
    and not exists (
      "Activity Proposal"
        union "Activity Proposal Rejected"
    )

define function doNotPerform(task Task):
  singleton from (
    task.extension E
      where E.url = 'http://hl7.org/fhir/StructureDefinition/request-doNotPerform'
  ).value as boolean
</code></pre><p><code>Content not shown - (</code><code>application/elm+xml</code>, size = 12Kb)</p><p><code>Content not shown - (</code><code>application/elm+json</code>, size = 22Kb)</p></div>
  </text>
  <extension
             url="http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability">
    <valueCode value="shareable"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability">
    <valueCode value="computable"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability">
    <valueCode value="publishable"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeRepresentationLevel">
    <valueCode value="structured"/>
  </extension>
  <url value="http://hl7.org/fhir/uv/cpg/Library/RecordInference"/>
  <version value="1.0.0"/>
  <name value="RecordInference"/>
  <title value="Record Inference"/>
  <status value="draft"/>
  <experimental value="true"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="logic-library"/>
    </coding>
  </type>
  <date value="2020-11-29T15:54:22-07:00"/>
  <publisher value="HL7 International - Clinical Decision Support WG"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://hl7.org/Special/committees/dss"/>
    </telecom>
  </contact>
  <description
               value="Logic for an example recommendation to record an inference"/>
  <jurisdiction>
    <coding>
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
      <code value="001"/>
      <display value="World"/>
    </coding>
  </jurisdiction>
  <relatedArtifact>
    <type value="depends-on"/>
    <resource value="http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <resource value="http://hl7.org/fhir/Library/FHIRHelpers|4.0.1"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <resource value="http://hl7.org/fhir/uv/cpg/CodeSystem/cpg-activity-type"/>
  </relatedArtifact>
  <parameter>
    <name value="Patient"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Patient"/>
  </parameter>
  <parameter>
    <name value="Inclusion Criteria"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="Record Inference Task"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Task"/>
  </parameter>
  <parameter>
    <name value="Inference"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Active or Completed Activity"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Task"/>
  </parameter>
  <parameter>
    <name value="Activity Not Done"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Task"/>
  </parameter>
  <parameter>
    <name value="Activity Proposal"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Task"/>
  </parameter>
  <parameter>
    <name value="Activity Proposal Rejected"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Task"/>
  </parameter>
  <parameter>
    <name value="Is Recommendation Applicable"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <dataRequirement>
    <type value="Task"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Task"/>
  </dataRequirement>
  <dataRequirement>
    <type value="Observation"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
  </dataRequirement>
  <content>
    <contentType value="text/cql"/>
    <data
          value="bGlicmFyeSBSZWNvcmRJbmZlcmVuY2UNCg0KdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScNCg0KaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScNCg0KY29kZXN5c3RlbSAiQWN0aXZpdHkgVHlwZSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NwZy9Db2RlU3lzdGVtL2NwZy1hY3Rpdml0eS10eXBlJw0KDQpjb2RlICJSZWNvcmQgaW5mZXJlbmNlIjogJ3JlY29yZC1pbmZlcmVuY2UnIGZyb20gIkFjdGl2aXR5IFR5cGUiDQoNCmNvbnRleHQgUGF0aWVudA0KDQovKiBSZWNvbW1lbmRhdGlvbiB0byByZWNvcmQgYW4gaW5mZXJlbmNlICovDQoNCi8qDQpOT1RFOiBUaGlzIHJlY29tbWVuZGF0aW9uIGlzIGRyYW1hdGljYWxseSBzaW1wbGlmaWVkIHRvIGlsbHVzdHJhdGUgdGhlIGdlbmVyYWwNCnBhdHRlcm4gZm9yIGEgcG9zaXRpdmUgcmVjb21tZW5kYXRpb24gdG8gcmVjb3JkIGFuIGluZmVyZW5jZSwgd2l0aCB0aGUgYWJpbGl0eQ0KZm9yIHVzZXJzIHRvIHJlamVjdCB0aGUgcmVjb21tZW5kYXRpb24sIGFuZCBmbGV4aWJpbGl0eSBpbiBob3cgdGhlIHJlY29tbWVuZGF0aW9uDQppcyBhY2hpZXZlZC4NCg0KU3BlY2lmaWNhbGx5Og0KKiBUaGVyZSBpcyBubyB0ZXJtaW5vbG9neSwgYW55IHRhc2sgb24gYW55IHRvcGljIHdpbGwgZG8NCiogVGhlcmUgaXMgbm8gdGltaW5nLCBhbnkgdGFzayB3aWxsIGRvIGF0IGFueSB0aW1lDQoqIFRoZXJlIGlzIG5vIHJlZmVyZW5jZSB0byBwYXJ0aWNpcGFudHMgb3RoZXIgdGhhbiB0aGUgcGF0aWVudA0KKiBUaGVyZSBpcyBubyByZWxhdGlvbnNoaXAgdG8gYSBzZXR0aW5nDQoqIFRoZXJlIGlzIG5vIHJlbGF0aW9uc2hpcCB0byBhbiBlbmNvdW50ZXIgb3IgZXBpc29kZQ0KKiBUaGVyZSBpcyBubyByZWxhdGlvbnNoaXAgdG8gYSBjYXJlIHBsYW4NCg0KVGhlc2Ugc2ltcGxpZmljYXRpb25zIGFsbG93IHRoZSBleGFtcGxlIHRvIGZvY3VzIGV4Y2x1c2l2ZWx5IG9uIHRoZSBwYXR0ZXJuIGZvcg0KcmVjb21tZW5kaW5nIGFuZCBmb3IgYWNjZXB0aW5nL3JlamVjdGluZyB0aGUgcHJvcG9zYWwsIGFzIHdlbGwgYXMgZG9jdW1lbnRpbmcNCnRoZSBjb21wbGV0aW9uLCBvciBleHBsaWNpdCBub24tcGVyZm9ybWFuY2Ugb2YgdGhlIGFjdGl2aXR5Lg0KKi8NCg0KLyoNClBvc2l0aXZlIHJlY29tbWVuZGF0aW9uOg0KDQpJZiB0aGUgcGF0aWVudCBtZWV0cyB0aGUgaW5jbHVzaW9uIGNyaXRlcmlhDQogIElmIHRoZSBwYXRpZW50IGRvZXMgbm90IGhhdmUgdGhlIGluZmVyZW5jZSByZWNvcmRlZA0KICAgIElmIHJlY29yZGluZyB0aGUgaW5mZXJlbmNlIGhhcyBub3QgYmVlbiBwbGFubmVkIG9yIHByb3Bvc2VkDQogICAgICBQcm9wb3NlIHJlY29yZGluZyB0aGUgaW5mZXJlbmNlDQoNCkdpdmVuIGEgcHJvcG9zYWwsIHRoZSB1c2VyIGNhbjoNCiAgQWNjZXB0IHRoZSBwcm9wb3NhbA0KICBJZ25vcmUgdGhlIHByb3Bvc2FsDQogIFJlamVjdCB0aGUgcHJvcG9zYWwgd2l0aG91dCByZWFzb24NCiAgUmVqZWN0IHRoZSBwcm9wb3NhbCB3aXRoIHJlYXNvbg0KDQpTY2VuYXJpbyAxOiBObyBldmVudCwgbm8gcGxhbiBvciBwcm9wb3NhbCwgZGVjaXNpb24gc3VwcG9ydCBzaG91bGQgcHJvcG9zZQ0KU2NlbmFyaW8gMjogTm8gZXZlbnQsIGluY29tcGxldGUgcHJvcG9zYWwsIGRlY2lzaW9uIHN1cHBvcnQgc2hvdWxkIG5vdCBwcm9wb3NlDQpTY2VuYXJpbyAzOiBObyBldmVudCwgcmVqZWN0ZWQgcHJvcG9zYWwsIGRlY2lzaW9uIHN1cHBvcnQgc2hvdWxkIG5vdCBwcm9wb3NlDQpTY2VuYXJpbyA0OiBFdmVudCwgbm8gcHJvcG9zYWwsIGRlY2lzaW9uIHN1cHBvcnQgc2hvdWxkIG5vdCBwcm9wb3NlDQpTY2VuYXJpbyA1OiBFdmVudCwgY29tcGxldGVkIHByb3Bvc2FsLCBkZWNpc2lvbiBzdXBwb3J0IHNob3VsZCBub3QgcHJvcG9zZQ0KU2NlbmFyaW8gNjogRXZlbnQgbm90IGRvbmUsIG5vIHByb3Bvc2FsLCBkZWNpc2lvbiBzdXBwb3J0IHNob3VsZCBub3QgcHJvcG9zZQ0KU2NlbmFyaW8gNzogRXZlbnQgbm90IGRvbmUsIHByb3Bvc2FsLCBkZWNpc2lvbiBzdXBwb3J0IHNob3VsZCBub3QgcHJvcG9zZQ0KDQoqLw0KDQpkZWZpbmUgIkluY2x1c2lvbiBDcml0ZXJpYSI6DQogIFBhdGllbnQuYWN0aXZlDQoNCmRlZmluZSAiUmVjb3JkIEluZmVyZW5jZSBUYXNrIjoNCiAgW1Rhc2tdIEMNCiAgICB3aGVyZSBDLmNvZGUgfiAiUmVjb3JkIGluZmVyZW5jZSINCiAgICAgIGFuZCBub3QgQ29hbGVzY2UoZG9Ob3RQZXJmb3JtKEMpLCBmYWxzZSkNCg0KZGVmaW5lICJJbmZlcmVuY2UiOg0KICBbT2JzZXJ2YXRpb25dIE8NCiAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcNCg0KZGVmaW5lICJBY3RpdmUgb3IgQ29tcGxldGVkIEFjdGl2aXR5IjoNCiAgIlJlY29yZCBJbmZlcmVuY2UgVGFzayIgQw0KICAgIHdoZXJlIEMuc3RhdHVzIGluIHsgJ2luLXByb2dyZXNzJywgJ29uLWhvbGQnLCAnY29tcGxldGVkJyB9DQoNCmRlZmluZSAiQWN0aXZpdHkgTm90IERvbmUiOg0KICAiUmVjb3JkIEluZmVyZW5jZSBUYXNrIiBDDQogICAgd2hlcmUgQy5zdGF0dXMgaW4geyAnY2FuY2VsbGVkJywgJ2ZhaWxlZCcgfQ0KDQpkZWZpbmUgIkFjdGl2aXR5IFByb3Bvc2FsIjoNCiAgIlJlY29yZCBJbmZlcmVuY2UgVGFzayIgUg0KICAgIHdoZXJlIFIuc3RhdHVzIGluIHsgJ2RyYWZ0JywgJ3JlcXVlc3RlZCcsICdyZWNlaXZlZCcsICdhY2NlcHRlZCcsICdyZWFkeScgfQ0KDQpkZWZpbmUgIkFjdGl2aXR5IFByb3Bvc2FsIFJlamVjdGVkIjoNCiAgIlJlY29yZCBJbmZlcmVuY2UgVGFzayIgUg0KICAgIHdoZXJlIFIuc3RhdHVzIGluIHsgJ3JlamVjdGVkJyB9DQoNCmRlZmluZSAiSXMgUmVjb21tZW5kYXRpb24gQXBwbGljYWJsZSI6DQogICJJbmNsdXNpb24gQ3JpdGVyaWEiDQogICAgYW5kIG5vdCBleGlzdHMgKCJJbmZlcmVuY2UiKQ0KICAgIGFuZCBub3QgZXhpc3RzICgNCiAgICAgICJBY3RpdmUgb3IgQ29tcGxldGVkIEFjdGl2aXR5Ig0KICAgICAgICB1bmlvbiAiQWN0aXZpdHkgTm90IERvbmUiDQogICAgKQ0KICAgIGFuZCBub3QgZXhpc3RzICgNCiAgICAgICJBY3Rpdml0eSBQcm9wb3NhbCINCiAgICAgICAgdW5pb24gIkFjdGl2aXR5IFByb3Bvc2FsIFJlamVjdGVkIg0KICAgICkNCg0KZGVmaW5lIGZ1bmN0aW9uIGRvTm90UGVyZm9ybSh0YXNrIFRhc2spOg0KICBzaW5nbGV0b24gZnJvbSAoDQogICAgdGFzay5leHRlbnNpb24gRQ0KICAgICAgd2hlcmUgRS51cmwgPSAnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3JlcXVlc3QtZG9Ob3RQZXJmb3JtJw0KICApLnZhbHVlIGFzIGJvb2xlYW4NCg=="/>
  </content>
  <content>
    <contentType value="application/elm+xml"/>
    <data
          value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gdHJhbnNsYXRvck9wdGlvbnM9IkVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iIHhzaTp0eXBlPSJhOkNxbFRvRWxtSW5mbyIvPg0KICAgPGlkZW50aWZpZXIgaWQ9IlJlY29yZEluZmVyZW5jZSIgc3lzdGVtPSJodHRwOi8vc29tZXdoZXJlLm9yZy9maGlyL3V2L215Y29udGVudGlnIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2F0b3I9IjM6MS0zOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjEiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhdG9yPSI1OjEtNTozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL3NvbWV3aGVyZS5vcmcvZmhpci91di9teWNvbnRlbnRpZy9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIGxvY2F0b3I9Ijc6MS03Ojg1IiBuYW1lPSJBY3Rpdml0eSBUeXBlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci91di9jcGcvQ29kZVN5c3RlbS9jcGctYWN0aXZpdHktdHlwZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbG9jYXRvcj0iOToxLTk6NjQiIG5hbWU9IlJlY29yZCBpbmZlcmVuY2UiIGlkPSJyZWNvcmQtaW5mZXJlbmNlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2F0b3I9Ijk6NTAtOTo2NCIgbmFtZT0iQWN0aXZpdHkgVHlwZSIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPGNvbnRleHRzPg0KICAgICAgPGRlZiBsb2NhdG9yPSIxMToxLTExOjE1IiBuYW1lPSJQYXRpZW50Ii8+DQogICA8L2NvbnRleHRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIGxvY2F0b3I9IjExOjEtMTE6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE6MS0xMToxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2F0b3I9IjU4OjEtNTk6MTYiIG5hbWU9IkluY2x1c2lvbiBDcml0ZXJpYSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI1OTozLTU5OjE2IiBwYXRoPSJhY3RpdmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjU5OjMtNTk6OSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBsb2NhdG9yPSI5ODoxLTEwMjoyMCIgbmFtZT0iZG9Ob3RQZXJmb3JtIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTk6My0xMDI6MjAiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5OTozLTEwMjo5IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5OToxOC0xMDI6OSIgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijk5OjE4LTEwMjozIiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMDA6NS0xMDA6MjAiIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEwMDo1LTEwMDoxOCIgcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ0YXNrIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTAxOjctMTAxOjgyIiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwMToxMy0xMDE6MTciIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAxOjIxLTEwMTo4MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9yZXF1ZXN0LWRvTm90UGVyZm9ybSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjEwMjoxNC0xMDI6MjAiIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idGFzayI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iOTg6MzUtOTg6MzgiIG5hbWU9ImZoaXI6VGFzayIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2F0b3I9IjYxOjEtNjQ6NDYiIG5hbWU9IlJlY29yZCBJbmZlcmVuY2UgVGFzayIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI2MjozLTY0OjQ2IiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI2MjozLTYyOjEwIiBhbGlhcz0iQyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI2MjozLTYyOjgiIGRhdGFUeXBlPSJmaGlyOlRhc2siIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9UYXNrIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjYzOjUtNjQ6NDYiIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjM6MTEtNjM6MzciIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjM6MTEtNjM6MTYiIHBhdGg9ImNvZGUiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0NvbmNlcHQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjM6MjAtNjM6MzciIG5hbWU9IlJlY29yZCBpbmZlcmVuY2UiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NDoxMS02NDo0NiIgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NDoxNS02NDo0NiIgeHNpOnR5cGU9IkNvYWxlc2NlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjQ6MjQtNjQ6MzgiIG5hbWU9ImRvTm90UGVyZm9ybSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY0OjM3IiBuYW1lPSJDIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY0OjQxLTY0OjQ1IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBsb2NhdG9yPSI2NjoxLTY4OjI4IiBuYW1lPSJJbmZlcmVuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNjc6My02ODoyOCIgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNjc6My02NzoxNyIgYWxpYXM9Ik8iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNjc6My02NzoxNSIgZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI2ODo1LTY4OjI4IiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY4OjExLTY4OjE4IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJPIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY4OjIyLTY4OjI4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2F0b3I9IjcwOjEtNzI6NjMiIG5hbWU9IkFjdGl2ZSBvciBDb21wbGV0ZWQgQWN0aXZpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzE6My03Mjo2MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNzE6My03MToyNyIgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzE6My03MToyNSIgbmFtZT0iUmVjb3JkIEluZmVyZW5jZSBUYXNrIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iNzI6NS03Mjo2MyIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MjoxMS03MjoxOCIgcGF0aD0ic3RhdHVzIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MjoyMy03Mjo2MyIgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iNzI6MjUtNzI6MzciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJpbi1wcm9ncmVzcyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjcyOjQwLTcyOjQ4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib24taG9sZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjcyOjUxLTcyOjYxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBsb2NhdG9yPSI3NDoxLTc2OjQ3IiBuYW1lPSJBY3Rpdml0eSBOb3QgRG9uZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3NTozLTc2OjQ3IiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI3NTozLTc1OjI3IiBhbGlhcz0iQyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3NTozLTc1OjI1IiBuYW1lPSJSZWNvcmQgSW5mZXJlbmNlIFRhc2siIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI3Njo1LTc2OjQ3IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc2OjExLTc2OjE4IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc2OjIzLTc2OjQ3IiB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSI3NjoyNS03NjozNSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNhbmNlbGxlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9Ijc2OjM4LTc2OjQ1IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBsb2NhdG9yPSI3ODoxLTgwOjc5IiBuYW1lPSJBY3Rpdml0eSBQcm9wb3NhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3OTozLTgwOjc5IiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI3OTozLTc5OjI3IiBhbGlhcz0iUiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3OTozLTc5OjI1IiBuYW1lPSJSZWNvcmQgSW5mZXJlbmNlIFRhc2siIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI4MDo1LTgwOjc5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgwOjExLTgwOjE4IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJSIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgwOjIzLTgwOjc5IiB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSI4MDoyNS04MDozMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRyYWZ0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iODA6MzQtODA6NDQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJyZXF1ZXN0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSI4MDo0Ny04MDo1NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InJlY2VpdmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iODA6NTktODA6NjgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY2NlcHRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjgwOjcxLTgwOjc3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icmVhZHkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2F0b3I9IjgyOjEtODQ6MzYiIG5hbWU9IkFjdGl2aXR5IFByb3Bvc2FsIFJlamVjdGVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjgzOjMtODQ6MzYiIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjgzOjMtODM6MjciIGFsaWFzPSJSIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjgzOjMtODM6MjUiIG5hbWU9IlJlY29yZCBJbmZlcmVuY2UgVGFzayIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9Ijg0OjUtODQ6MzYiIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODQ6MTEtODQ6MTgiIHBhdGg9InN0YXR1cyIgc2NvcGU9IlIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODQ6MjMtODQ6MzYiIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9Ijg0OjI1LTg0OjM0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icmVqZWN0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2F0b3I9Ijg2OjEtOTY6NSIgbmFtZT0iSXMgUmVjb21tZW5kYXRpb24gQXBwbGljYWJsZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI4NzozLTk2OjUiIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODc6My05Mjo1IiB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg3OjMtODg6MzIiIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Cb29sZWFuIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4NzozLTg3OjIyIiBuYW1lPSJJbmNsdXNpb24gQ3JpdGVyaWEiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4ODo5LTg4OjMyIiB4c2k6dHlwZT0iTm90Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg4OjEzLTg4OjMyIiB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg4OjIwLTg4OjMyIiBuYW1lPSJJbmZlcmVuY2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4OTo5LTkyOjUiIHhzaTp0eXBlPSJOb3QiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODk6MTMtOTI6NSIgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4OToyMC05Mjo1IiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTA6Ny05MDozNiIgbmFtZT0iQWN0aXZlIG9yIENvbXBsZXRlZCBBY3Rpdml0eSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjkxOjE1LTkxOjMzIiBuYW1lPSJBY3Rpdml0eSBOb3QgRG9uZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjkzOjktOTY6NSIgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5MzoxMy05Njo1IiB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjkzOjIwLTk2OjUiIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NDo3LTk0OjI1IiBuYW1lPSJBY3Rpdml0eSBQcm9wb3NhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjE1LTk1OjQyIiBuYW1lPSJBY3Rpdml0eSBQcm9wb3NhbCBSZWplY3RlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K"/>
  </content>
  <content>
    <contentType value="application/elm+json"/>
    <data
          value="ew0KICAgImxpYnJhcnkiIDogew0KICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLA0KICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtSW5mbyINCiAgICAgIH0gXSwNCiAgICAgICJpZGVudGlmaWVyIiA6IHsNCiAgICAgICAgICJpZCIgOiAiUmVjb3JkSW5mZXJlbmNlIiwNCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9zb21ld2hlcmUub3JnL2ZoaXIvdXYvbXljb250ZW50aWciDQogICAgICB9LA0KICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogew0KICAgICAgICAgImlkIiA6ICJ1cm46aGw3LW9yZzplbG0iLA0KICAgICAgICAgInZlcnNpb24iIDogInIxIg0KICAgICAgfSwNCiAgICAgICJ1c2luZ3MiIDogew0KICAgICAgICAgImRlZiIgOiBbIHsNCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsDQogICAgICAgICAgICAidXJpIiA6ICJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiDQogICAgICAgICB9LCB7DQogICAgICAgICAgICAibG9jYXRvciIgOiAiMzoxLTM6MjYiLA0KICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUiIsDQogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwNCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSINCiAgICAgICAgIH0gXQ0KICAgICAgfSwNCiAgICAgICJpbmNsdWRlcyIgOiB7DQogICAgICAgICAiZGVmIiA6IFsgew0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjU6MS01OjM1IiwNCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVJIZWxwZXJzIiwNCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc29tZXdoZXJlLm9yZy9maGlyL3V2L215Y29udGVudGlnL0ZISVJIZWxwZXJzIiwNCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSINCiAgICAgICAgIH0gXQ0KICAgICAgfSwNCiAgICAgICJjb2RlU3lzdGVtcyIgOiB7DQogICAgICAgICAiZGVmIiA6IFsgew0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjc6MS03Ojg1IiwNCiAgICAgICAgICAgICJuYW1lIiA6ICJBY3Rpdml0eSBUeXBlIiwNCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci91di9jcGcvQ29kZVN5c3RlbS9jcGctYWN0aXZpdHktdHlwZSIsDQogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyINCiAgICAgICAgIH0gXQ0KICAgICAgfSwNCiAgICAgICJjb2RlcyIgOiB7DQogICAgICAgICAiZGVmIiA6IFsgew0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjk6MS05OjY0IiwNCiAgICAgICAgICAgICJuYW1lIiA6ICJSZWNvcmQgaW5mZXJlbmNlIiwNCiAgICAgICAgICAgICJpZCIgOiAicmVjb3JkLWluZmVyZW5jZSIsDQogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsDQogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7DQogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTo1MC05OjY0IiwNCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJBY3Rpdml0eSBUeXBlIg0KICAgICAgICAgICAgfQ0KICAgICAgICAgfSBdDQogICAgICB9LA0KICAgICAgImNvbnRleHRzIiA6IHsNCiAgICAgICAgICJkZWYiIDogWyB7DQogICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6MS0xMToxNSIsDQogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCINCiAgICAgICAgIH0gXQ0KICAgICAgfSwNCiAgICAgICJzdGF0ZW1lbnRzIiA6IHsNCiAgICAgICAgICJkZWYiIDogWyB7DQogICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6MS0xMToxNSIsDQogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsDQogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsDQogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsDQogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7DQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6MS0xMToxNSIsDQogICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBhdGllbnQiLA0KICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSINCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1ODoxLTU5OjE2IiwNCiAgICAgICAgICAgICJuYW1lIiA6ICJJbmNsdXNpb24gQ3JpdGVyaWEiLA0KICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLA0KICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLA0KICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU5OjMtNTk6MTYiLA0KICAgICAgICAgICAgICAgInBhdGgiIDogImFjdGl2ZSIsDQogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLA0KICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7DQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6My01OTo5IiwNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIg0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgfSwgew0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjEtMTAyOjIwIiwNCiAgICAgICAgICAgICJuYW1lIiA6ICJkb05vdFBlcmZvcm0iLA0KICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLA0KICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLA0KICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwNCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTozLTEwMjoyMCIsDQogICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwNCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTozLTEwMjo5IiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwNCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OToxOC0xMDI6OSIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLA0KICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiJHRoaXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjE4LTEwMjozIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDo1LTEwMDoyMCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDo1LTEwMDoxOCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZXh0ZW5zaW9uIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ0YXNrIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMTo3LTEwMTo4MiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAxOjEzLTEwMToxNyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidXJsIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6MjEtMTAxOjgyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3JlcXVlc3QtZG9Ob3RQZXJmb3JtIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsDQogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7DQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjE0LTEwMjoyMCIsDQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Ym9vbGVhbiIsDQogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIg0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgew0KICAgICAgICAgICAgICAgIm5hbWUiIDogInRhc2siLA0KICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODozNS05ODozOCIsDQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9VGFzayIsDQogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIg0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSBdDQogICAgICAgICB9LCB7DQogICAgICAgICAgICAibG9jYXRvciIgOiAiNjE6MS02NDo0NiIsDQogICAgICAgICAgICAibmFtZSIgOiAiUmVjb3JkIEluZmVyZW5jZSBUYXNrIiwNCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwNCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwNCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MjozLTY0OjQ2IiwNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsDQogICAgICAgICAgICAgICAic291cmNlIiA6IFsgew0KICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYyOjMtNjI6MTAiLA0KICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJDIiwNCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MjozLTYyOjgiLA0KICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1UYXNrIiwNCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vVGFzayIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiDQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwNCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7DQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjM6NS02NDo0NiIsDQogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwNCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYzOjExLTYzOjM3IiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwNCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsDQogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsDQogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MzoxMS02MzoxNiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5Ig0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9Db25jZXB0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MzoyMC02MzozNyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUmVjb3JkIGluZmVyZW5jZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjExLTY0OjQ2IiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLA0KICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjE1LTY0OjQ2IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0Jvb2xlYW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjQ6MjQtNjQ6MzgiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvTm90UGVyZm9ybSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjQ6MzciLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NDo0MS02NDo0NSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJmYWxzZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCINCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICB9LCB7DQogICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6MS02ODoyOCIsDQogICAgICAgICAgICAibmFtZSIgOiAiSW5mZXJlbmNlIiwNCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwNCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwNCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzozLTY4OjI4IiwNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsDQogICAgICAgICAgICAgICAic291cmNlIiA6IFsgew0KICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY3OjMtNjc6MTciLA0KICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPIiwNCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzozLTY3OjE1IiwNCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9T2JzZXJ2YXRpb24iLA0KICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiDQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwNCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7DQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjg6NS02ODoyOCIsDQogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLA0KICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLA0KICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLA0KICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjg6MTEtNjg6MTgiLA0KICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk8iLA0KICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5Ig0KICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjg6MjItNjg6MjgiLA0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLA0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJmaW5hbCIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCINCiAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgfSwgew0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjcwOjEtNzI6NjMiLA0KICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBvciBDb21wbGV0ZWQgQWN0aXZpdHkiLA0KICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLA0KICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLA0KICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjMtNzI6NjMiLA0KICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwNCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7DQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6My03MToyNyIsDQogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkMiLA0KICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjMtNzE6MjUiLA0KICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlJlY29yZCBJbmZlcmVuY2UgVGFzayIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiINCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLA0KICAgICAgICAgICAgICAgIndoZXJlIiA6IHsNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mjo1LTcyOjYzIiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsDQogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsDQogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsDQogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjoxMS03MjoxOCIsDQogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiDQogICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjoyMy03Mjo2MyIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsDQogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjoyNS03MjozNyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImluLXByb2dyZXNzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIg0KICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjQwLTcyOjQ4IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAib24taG9sZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCINCiAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mjo1MS03Mjo2MSIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImNvbXBsZXRlZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCINCiAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICB9LCB7DQogICAgICAgICAgICAibG9jYXRvciIgOiAiNzQ6MS03Njo0NyIsDQogICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZpdHkgTm90IERvbmUiLA0KICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLA0KICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLA0KICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc1OjMtNzY6NDciLA0KICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwNCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7DQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzU6My03NToyNyIsDQogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkMiLA0KICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc1OjMtNzU6MjUiLA0KICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlJlY29yZCBJbmZlcmVuY2UgVGFzayIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiINCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLA0KICAgICAgICAgICAgICAgIndoZXJlIiA6IHsNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Njo1LTc2OjQ3IiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsDQogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsDQogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsDQogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NjoxMS03NjoxOCIsDQogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiDQogICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NjoyMy03Njo0NyIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsDQogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NjoyNS03NjozNSIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImNhbmNlbGxlZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCINCiAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NjozOC03Njo0NSIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImZhaWxlZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCINCiAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICB9LCB7DQogICAgICAgICAgICAibG9jYXRvciIgOiAiNzg6MS04MDo3OSIsDQogICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZpdHkgUHJvcG9zYWwiLA0KICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLA0KICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLA0KICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjMtODA6NzkiLA0KICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwNCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7DQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzk6My03OToyNyIsDQogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlIiLA0KICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjMtNzk6MjUiLA0KICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlJlY29yZCBJbmZlcmVuY2UgVGFzayIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiINCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLA0KICAgICAgICAgICAgICAgIndoZXJlIiA6IHsNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo1LTgwOjc5IiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsDQogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsDQogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsDQogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDoxMS04MDoxOCIsDQogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUiIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiDQogICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDoyMy04MDo3OSIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsDQogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDoyNS04MDozMSIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImRyYWZ0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIg0KICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjM0LTgwOjQ0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicmVxdWVzdGVkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIg0KICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjQ3LTgwOjU2IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicmVjZWl2ZWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiDQogICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6NTktODA6NjgiLA0KICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLA0KICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhY2NlcHRlZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCINCiAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo3MS04MDo3NyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInJlYWR5IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIg0KICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MjoxLTg0OjM2IiwNCiAgICAgICAgICAgICJuYW1lIiA6ICJBY3Rpdml0eSBQcm9wb3NhbCBSZWplY3RlZCIsDQogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsDQogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsDQogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6My04NDozNiIsDQogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLA0KICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MzozLTgzOjI3IiwNCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUiIsDQogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6My04MzoyNSIsDQogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUmVjb3JkIEluZmVyZW5jZSBUYXNrIiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIg0KICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sDQogICAgICAgICAgICAgICAid2hlcmUiIDogew0KICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg0OjUtODQ6MzYiLA0KICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwNCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLA0KICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwNCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg0OjExLTg0OjE4IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSINCiAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg0OjIzLTg0OjM2IiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwNCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg0OjI1LTg0OjM0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicmVqZWN0ZWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiDQogICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgfSwgew0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjg2OjEtOTY6NSIsDQogICAgICAgICAgICAibmFtZSIgOiAiSXMgUmVjb21tZW5kYXRpb24gQXBwbGljYWJsZSIsDQogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsDQogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsDQogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6My05Njo1IiwNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLA0KICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6My05Mjo1IiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLA0KICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6My04ODozMiIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwNCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQm9vbGVhbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsDQogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NzozLTg3OjIyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJbmNsdXNpb24gQ3JpdGVyaWEiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiDQogICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4ODo5LTg4OjMyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjEzLTg4OjMyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjIwLTg4OjMyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJbmZlcmVuY2UiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo5LTkyOjUiLA0KICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsDQogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MTMtOTI6NSIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhpc3RzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToyMC05Mjo1IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJVbmlvbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo3LTkwOjM2IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgb3IgQ29tcGxldGVkIEFjdGl2aXR5IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjE1LTkxOjMzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBY3Rpdml0eSBOb3QgRG9uZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6OS05Njo1IiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLA0KICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogew0KICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjEzLTk2OjUiLA0KICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsDQogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MjAtOTY6NSIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLA0KICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6Ny05NDoyNSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZpdHkgUHJvcG9zYWwiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiDQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6MTUtOTU6NDIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2aXR5IFByb3Bvc2FsIFJlamVjdGVkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIg0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgIH0NCiAgICAgICAgIH0gXQ0KICAgICAgfQ0KICAgfQ0KfQ=="/>
  </content>
</Library>