2022 CDC Clinical Practice Guideline for Prescribing Opioids Implementation Guide
2022.1.0 - CI Build

2022 CDC Clinical Practice Guideline for Prescribing Opioids Implementation Guide, published by Centers for Disease Control and Prevention (CDC). This guide is not an authorized publication; it is the continuous build for version 2022.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/opioid-cds-r4/ and changes regularly. See the Directory of published versions

: OpioidCDSREC10OrderSignLibrary - JSON Representation

Active as of 2025-07-09

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "OpioidCDSREC10OrderSign",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-OpioidCDSREC10</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> logic-library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">2022.1.0</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span>http://fhir.org/guides/cdc/opioid-cds/Library/FHIRHelpers</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span>http://fhir.org/guides/cdc/opioid-cds/Library/OpioidCDSCommon</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span>http://fhir.org/guides/cdc/opioid-cds/Library/OpioidCDSRoutines</span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://fhir.org/guides/cdc/opioid-cds/ValueSet/non-opioid-drug-urine-screening</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://fhir.org/guides/cdc/opioid-cds/ValueSet/opioid-drug-urine-screening</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library OpioidCDSREC10 version '2022.1.0'\n\nusing FHIR version '4.0.1'\n\ninclude FHIRHelpers version '4.0.1' called FHIRHelpers\ninclude OpioidCDSCommon version '2022.1.0' called Common\ninclude OpioidCDSRoutines version '2022.1.0' called Routines\n\n/*\n**  Recommendation #10\n**    When prescribing opioids for subacute or chronic pain, providers should use urine drug\n**    testing before starting opioid therapy and consider urine drug testing at\n**    least annually to assess for prescribed medications as well as other controlled\n**    prescription drugs and illicit drugs (recommendation category: B, evidence type: 4)\n**\n**  When\n**    Provider is prescribing an opioid analgesic with ambulatory misuse potential in the outpatient setting\n**    Prescription is for treating chronic pain.\n**    Opioid review is useful for this patient:\n**      Patient is 18 or over\n**      Patient does not have findings indicating limited life expectancy\n**      Patient does not have orders for therapies indicating end of life care\n**      Patient is not undergoing active cancer treatment:\n**        Patient has had at least 2 encounters within the past year with any diagnosis of cancer\n**    Urine drug screening has not been performed in last 12 months\n**  Then\n**    Recommend urine drug screening\n**      Will perform urine screening\n**      Not for chronic pain management, snooze 3 months\n**      N/A - see comment, snooze 3 months\n**\n*/\n\n// META: Plan Definition: http://fhir.org/guides/cdc/opioid-cds-r4/PlanDefinition/opioid-cds-10\n\nparameter ContextPrescriptions List&lt;MedicationRequest&gt;\n\ncontext Patient\n\ndefine &quot;Lookback Year&quot;:\n  Interval[Today() - 12 months - 1 days, Today() - 1 day]\n\ndefine &quot;Chronic Pain Opioid Analgesic with Ambulatory Misuse Potential Prescriptions&quot;:\n  ( Common.&quot;Is Opioid Analgesic with Ambulatory Misuse Potential?&quot;( ContextPrescriptions ) ) AmbulatoryOpioidPrescription\n    where Routines.&quot;Is Acute Pain Prescription?&quot;( AmbulatoryOpioidPrescription )\n\ndefine &quot;Patient Is Being Prescribed Opioid Analgesic with Ambulatory Misuse Potential&quot;:\n  exists( &quot;Chronic Pain Opioid Analgesic with Ambulatory Misuse Potential Prescriptions&quot; )\n\ndefine &quot;Is Recommendation Applicable?&quot;:\n  &quot;Inclusion Criteria&quot;\n    and not &quot;Exclusion Criteria&quot;\n\ndefine &quot;Inclusion Criteria&quot;:\n  &quot;Patient Is Being Prescribed Opioid Analgesic with Ambulatory Misuse Potential&quot;\n    and Routines.&quot;Is Opioid Review Useful?&quot;\n    and not &quot;Patient had Urine Screening in Last 12 Months&quot;\n\ndefine &quot;Exclusion Criteria&quot;:\n  Common.&quot;End of Life Assessment&quot;\n\ndefine &quot;Patient had Urine Screening in Last 12 Months&quot;:\n  exists( &quot;Urine Screenings during the Last 12 Months&quot; )\n\ndefine &quot;Urine Screenings during the Last 12 Months&quot;:\n  (\n    [Observation: &quot;code&quot; in Common.&quot;Non-opioid drug urine screening&quot;] IllicitDrugScreen\n      where date from IllicitDrugScreen.effective in day of &quot;Lookback Year&quot;\n  )\n  union\n  (\n    [Observation: &quot;code&quot; in Common.&quot;Opioid drug urine screening&quot;] OpioidDrugScreen\n      where date from OpioidDrugScreen.effective in day of &quot;Lookback Year&quot;\n  )\n\ndefine &quot;No Screening In Last 12 Months Indicator&quot;:\n  if &quot;Is Recommendation Applicable?&quot;\n    then 'warning'\n  else null\n\ndefine &quot;No Screening In Last 12 Months Summary&quot;:\n  if &quot;Is Recommendation Applicable?&quot;\n    then 'Annual Urine Screening Check'\n  else null\n\ndefine &quot;No Screening In Last 12 Months Detail&quot;:\n  if &quot;Is Recommendation Applicable?&quot;\n    then 'Patients on opioid therapy should have a urine drug test performed every 12 months.'\n  else null\n</code></pre>\n                    \n                    \n                </td>\n            </tr>\n        \n    </table>\n</div>"
  },
  "contained" : [
    {
      "resourceType" : "Parameters",
      "id" : "options",
      "parameter" : [
        {
          "name" : "translatorVersion",
          "valueString" : "3.22.0"
        },
        {
          "name" : "option",
          "valueString" : "EnableAnnotations"
        },
        {
          "name" : "option",
          "valueString" : "EnableLocators"
        },
        {
          "name" : "option",
          "valueString" : "DisableListDemotion"
        },
        {
          "name" : "option",
          "valueString" : "DisableListPromotion"
        },
        {
          "name" : "format",
          "valueString" : "XML"
        },
        {
          "name" : "format",
          "valueString" : "JSON"
        },
        {
          "name" : "analyzeDataRequirements",
          "valueBoolean" : false
        },
        {
          "name" : "collapseDataRequirements",
          "valueBoolean" : true
        },
        {
          "name" : "compatibilityLevel",
          "valueString" : "1.5"
        },
        {
          "name" : "enableCqlOnly",
          "valueBoolean" : false
        },
        {
          "name" : "errorLevel",
          "valueString" : "Info"
        },
        {
          "name" : "signatureLevel",
          "valueString" : "Overloads"
        },
        {
          "name" : "validateUnits",
          "valueBoolean" : true
        },
        {
          "name" : "verifyOnly",
          "valueBoolean" : false
        }
      ]
    }
  ],
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-cqlOptions",
      "valueReference" : {
        "reference" : "#options"
      }
    },
    {
      "url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
      "valueReference" : {
        🔗 "reference" : "Device/cqf-tooling"
      }
    }
  ],
  "url" : "http://fhir.org/guides/cdc/opioid-cds/Library/OpioidCDSREC10OrderSign",
  "version" : "2022.1.0",
  "name" : "OpioidCDSREC10OrderSign",
  "title" : "Library - Recommendation #10 - Urine Drug Testing",
  "status" : "active",
  "experimental" : true,
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2025-07-09T00:18:22+00:00",
  "publisher" : "Centers for Disease Control and Prevention (CDC)",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://www.cdc.gov"
        }
      ]
    }
  ],
  "relatedArtifact" : [
    {
      "type" : "depends-on",
      "display" : "FHIR model information",
      "resource" : "http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"
    },
    {
      "type" : "depends-on",
      "display" : "Library FHIRHelpers",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/Library/FHIRHelpers|4.0.1"
    },
    {
      "type" : "depends-on",
      "display" : "Library Common",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/Library/OpioidCDSCommon|2022.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Library Config",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/Library/OpioidCDSCommonConfig|2022.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Library Routines",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/Library/OpioidCDSRoutines|2022.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Library Rec10Common",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/Library/OpioidCDSREC10Common|2022.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Opioid analgesics with ambulatory misuse potential",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/opioid-analgesics-with-ambulatory-misuse-potential"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Community",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-category-community"
    },
    {
      "type" : "depends-on",
      "display" : "Value set All Drug Urine Screening",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/all-urine-drug-screening-tests"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Amphetamine Urine Tests",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/amphetamine-urine-drug-screening-tests"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Amphetamine Medications",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/amphetamines-class-medications"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Barbiturate Urine Tests",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/barbiturate-urine-drug-screening-tests"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Barbiturate Medications",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/barbiturate-medications"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Benzodiazepine Urine Tests",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/benzodiazepine-urine-drug-screening-tests"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Benzodiazepine medications",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/benzodiazepine-medications"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Buprenorphine Urine Tests",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/buprenorphine-urine-drug-screening-tests"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Buprenorphine Medications",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/buprenorphine-medications"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Cocaine Urine Tests",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/cocaine-urine-drug-screening-tests"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Fentanyl Medications",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/fentanyl-type-medications"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Heroin Urine Tests",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/heroin-urine-drug-screening-tests"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Methadone Urine Tests",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/methadone-urine-drug-screening-tests"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Methadone Medications",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/methadone-medications"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Opiate Medications",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/non-synthetic-opioid-medications"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Oxycodone Medications",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/oxycodone-medications"
    },
    {
      "type" : "depends-on",
      "display" : "Value set PCP Urine Tests",
      "resource" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/phencyclidine-urine-drug-screening-tests"
    }
  ],
  "parameter" : [
    {
      "name" : "ContextPrescriptions",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "type" : "MedicationRequest"
    },
    {
      "name" : "Patient",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Patient"
    },
    {
      "name" : "Subacute or Chronic Pain Opioid Analgesic with Ambulatory Misuse Potential Prescriptions",
      "use" : "out",
      "min" : 0,
      "max" : "*",
      "type" : "MedicationRequest"
    },
    {
      "name" : "Patient Is Being Prescribed Opioid Analgesic with Ambulatory Misuse Potential",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Is Perform Drug Screen Recommendation Applicable?",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Applicable Because of Unexpected Results",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Detail",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "string"
    },
    {
      "name" : "Get Subject",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "string"
    },
    {
      "name" : "Get Lab Category",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "CodeableConcept"
    }
  ],
  "dataRequirement" : [
    {
      "type" : "Patient",
      "profile" : [
        🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
      ]
    },
    {
      "type" : "Observation",
      "profile" : [
        🔗 "http://hl7.org/fhir/StructureDefinition/Observation"
      ],
      "mustSupport" : [
        "code",
        "effective",
        "status"
      ],
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/all-urine-drug-screening-tests"
        }
      ]
    },
    {
      "type" : "MedicationRequest",
      "profile" : [
        🔗 "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
      ],
      "mustSupport" : [
        "category",
        "status",
        "intent",
        "id",
        "subject",
        "authoredOn",
        "recorder",
        "dosageInstruction",
        "dispenseRequest",
        "medication"
      ],
      "codeFilter" : [
        {
          "path" : "category",
          "valueSet" : "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-category-community"
        }
      ]
    }
  ],
  "content" : [
    {
      "contentType" : "text/cql",
      "data" : "bGlicmFyeSBPcGlvaWRDRFNSRUMxME9yZGVyU2lnbiB2ZXJzaW9uICcyMDIyLjEuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBPcGlvaWRDRFNDb21tb24gdmVyc2lvbiAnMjAyMi4xLjAnIGNhbGxlZCBDb21tb24KaW5jbHVkZSBPcGlvaWRDRFNDb21tb25Db25maWcgdmVyc2lvbiAnMjAyMi4xLjAnIGNhbGxlZCBDb25maWcKaW5jbHVkZSBPcGlvaWRDRFNSb3V0aW5lcyB2ZXJzaW9uICcyMDIyLjEuMCcgY2FsbGVkIFJvdXRpbmVzCmluY2x1ZGUgT3Bpb2lkQ0RTUkVDMTBDb21tb24gdmVyc2lvbiAnMjAyMi4xLjAnIGNhbGxlZCBSZWMxMENvbW1vbgoKLyoKKiogIFJlY29tbWVuZGF0aW9uICMxMAoqKiAgICBXaGVuIHByZXNjcmliaW5nIG9waW9pZHMgZm9yIHN1YmFjdXRlIG9yIGNocm9uaWMgcGFpbiwgY2xpbmljaWFucyBzaG91bGQgY29uc2lkZXIgdGhlIGJlbmVmaXRzIAoqKiAgICBhbmQgcmlza3Mgb2YgdG94aWNvbG9neSB0ZXN0aW5nIHRvIGFzc2VzcyBmb3IgcHJlc2NyaWJlZCBtZWRpY2F0aW9ucyBhcyB3ZWxsIGFzIG90aGVyIHByZXNjcmliZWQgCioqICAgIGFuZCBub25wcmVzY3JpYmVkIGNvbnRyb2xsZWQgc3Vic3RhbmNlcyAocmVjb21tZW5kYXRpb24gY2F0ZWdvcnk6IEI7IGV2aWRlbmNlIHR5cGU6IDQpLgoqKgoqKiAgV2hlbgoqKiAgICBQcm92aWRlciBpcyBwcmVzY3JpYmluZyBhbiBvcGlvaWQgYW5hbGdlc2ljIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIGluIHRoZSBvdXRwYXRpZW50IHNldHRpbmc6CioqICAgIFByZXNjcmlwdGlvbiBpcyBmb3IgdHJlYXRpbmcgc3ViYWN1dGUgYW5kL29yIGNocm9uaWMgcGFpbi4KKiogICAgT3Bpb2lkIHJldmlldyBpcyB1c2VmdWwgZm9yIHRoaXMgcGF0aWVudDoKKiogICAgICBQYXRpZW50IGlzIDE4IG9yIG92ZXIKKiogICAgICBQYXRpZW50IGRvZXMgbm90IGhhdmUgZXZpZGVuY2Ugb2Ygc2lja2xlIGNlbGwgZGlzZWFzZQoqKiAgICAgIFBhdGllbnQgZG9lcyBub3QgaGF2ZSBmaW5kaW5ncyBpbmRpY2F0aW5nIGxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5CioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIG9yZGVycyBmb3IgdGhlcmFwaWVzIGluZGljYXRpbmcgZW5kIG9mIGxpZmUgY2FyZQoqKiAgICAgIFBhdGllbnQgaXMgbm90IHVuZGVyZ29pbmcgYWN0aXZlIGNhbmNlciB0cmVhdG1lbnQ6CioqICAgICAgICBQYXRpZW50IGhhcyBoYWQgYXQgbGVhc3QgMiBvZmZpY2UgdmlzaXRzIHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMgd2l0aCBhbiBvbmNvbG9neSBzcGVjaWFsaXN0IHByZXNlbnQsIG9yCioqICAgICAgICBQYXRpZW50IGhhcyBoYWQgYXQgbGVhc3QgMiBvZmZpY2UgdmlzaXRzIHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMgd2l0aCBhIENEQyBtYWxpZ25hbnQgY2FuY2VyIGNvbmRpdGlvbiBkaWFnbm9zaXMKKiogICAgICBQYXRpZW50IGRvZXMgbm90IGhhdmUgY29uZGl0aW9ucyBsaWtlbHkgdGVybWluYWwgZm9yIG9waW9pZCBwcmVzY3JpYmluZyBwcmVzZW50CioqICAgIE5vbm9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyBoYXMgbm90IGJlZW4gcGVyZm9ybWVkIGluIGxhc3QgMTIgbW9udGhzIG9yCioqICAgIE9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyBoYXMgbm90IGJlZW4gcGVyZm9ybWVkIGluIGxhc3QgMTIgbW9udGhzCioqICBUaGVuCioqICAgIENvbnNpZGVyIHRoZSBiZW5lZml0cyBhbmQgcmlza3Mgb2YgY29uZHVjdGluZyBhIHVyaW5lIHRveGljb2xvZ3kgc2NyZWVuOgoqKiAgICAgIERvY3VtZW50IC0gT3JkZXIgdG94aWNvbG9neSBzY3JlZW4KKiogICAgICBEb2N1bWVudCByaXNrcyBvdXR3ZWlnaCBiZW5lZml0cwoqKiAgICAgIFNub296ZSAtIE4vQSBzZWUgY29tbWVudCwgc25vb3plIDMgbW9udGhzCioqICBXaGVuCioqICAgIFByb3ZpZGVyIGlzIHByZXNjcmliaW5nIGFuIG9waW9pZCBhbmFsZ2VzaWMgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwgaW4gdGhlIG91dHBhdGllbnQgc2V0dGluZzoKKiogICAgUHJlc2NyaXB0aW9uIGlzIGZvciB0cmVhdGluZyBzdWJhY3V0ZSBhbmQvb3IgY2hyb25pYyBwYWluLgoqKiAgICBPcGlvaWQgcmV2aWV3IGlzIHVzZWZ1bCBmb3IgdGhpcyBwYXRpZW50OgoqKiAgICAgIFBhdGllbnQgaXMgMTggb3Igb3ZlcgoqKiAgICAgIFBhdGllbnQgZG9lcyBub3QgaGF2ZSBldmlkZW5jZSBvZiBzaWNrbGUgY2VsbCBkaXNlYXNlCioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIGZpbmRpbmdzIGluZGljYXRpbmcgbGltaXRlZCBsaWZlIGV4cGVjdGFuY3kKKiogICAgICBQYXRpZW50IGRvZXMgbm90IGhhdmUgb3JkZXJzIGZvciB0aGVyYXBpZXMgaW5kaWNhdGluZyBlbmQgb2YgbGlmZSBjYXJlCioqICAgICAgUGF0aWVudCBpcyBub3QgdW5kZXJnb2luZyBhY3RpdmUgY2FuY2VyIHRyZWF0bWVudDoKKiogICAgICAgIFBhdGllbnQgaGFzIGhhZCBhdCBsZWFzdCAyIG9mZmljZSB2aXNpdHMgd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocyB3aXRoIGFuIG9uY29sb2d5IHNwZWNpYWxpc3QgcHJlc2VudCwgb3IKKiogICAgICAgIFBhdGllbnQgaGFzIGhhZCBhdCBsZWFzdCAyIG9mZmljZSB2aXNpdHMgd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocyB3aXRoIGEgQ0RDIG1hbGlnbmFudCBjYW5jZXIgY29uZGl0aW9uIGRpYWdub3NpcwoqKiAgICAgIFBhdGllbnQgZG9lcyBub3QgaGF2ZSBjb25kaXRpb25zIGxpa2VseSB0ZXJtaW5hbCBmb3Igb3Bpb2lkIHByZXNjcmliaW5nIHByZXNlbnQKKiogICAgTm9ub3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIGhhcyBiZWVuIHBlcmZvcm1lZCBpbiBsYXN0IDEyIG1vbnRocyBhbmQKKiogICAgT3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIGhhcyBiZWVuIHBlcmZvcm1lZCBpbiBsYXN0IDEyIG1vbnRocyBhbmQKKiogICAgUG9zaXRpdmUgcmVzdWx0IGZvciBzeW50aGV0aWMgb3Bpb2lkIGluIHRoZSBwYXN0IHllYXIgYW5kIG5vdCBjdXJyZW50bHkgcHJlc2NyaWJlZCBzeW50aGV0aWMgb3Bpb2lkIG9yCioqICAgIFBvc2l0aXZlIHJlc3VsdCBmb3IgcGhlbmN5Y2xpZGluZShQQ1ApIGluIHRoZSBwYXN0IHllYXIgb3IKKiogICAgUG9zaXRpdmUgcmVzdWx0IGZvciBmZW50YW55bCBpbiB0aGUgcGFzdCB5ZWFyIGFuZCBub3QgY3VycmVudGx5IHByZXNjcmliZWQgZmVudGFueWwgb3IKKiogICAgUG9zaXRpdmUgcmVzdWx0IGZvciBjb2NhaW5lIGluIHRoZSBwYXN0IHllYXIgb3IKKiogICAgUG9zaXRpdmUgcmVzdWx0IGZvciBhbXBoZXRhbWluZSBpbiB0aGUgcGFzdCB5ZWFyIGFuZCBub3QgY3VycmVudGx5IHByZXNjcmliZWQgYW1waGV0YW1pbmUgb3IKKiogICAgUG9zaXRpdmUgcmVzdWx0IGZvciB0ZXRyYWh5ZHJvY2FubmFiaW5vbCAoVEhDKSBpbiB0aGUgcGFzdCB5ZWFyIGFuZCBub3QgY3VycmVudGx5IHByZXNjcmliZWQgdGV0cmFoeWRyb2Nhbm5hYmlub2wgKFRIQykgb3IKKiogICAgUG9zaXRpdmUgcmVzdWx0IGZvciBvcGlhdGUgaW4gdGhlIHBhc3QgeWVhciBhbmQgbm90IGN1cnJlbnRseSBwcmVzY3JpYmVkIG5hdHVyYWwgb3BpYXRlIG9yCioqICAgIFBvc2l0aXZlIHJlc3VsdCBmb3IgYWxjb2hvbCBpbiB0aGUgcGFzdCB5ZWFyIG9yCioqICAgIFBvc2l0aXZlIHJlc3VsdCBmb3IgbWV0aGFkb25lIGluIHRoZSBwYXN0IHllYXIgYW5kIG5vdCBjdXJyZW50bHkgcHJlc2NyaWJlZCBtZXRoYWRvbmUKKiogIFRoZW4KKiogICAgUGF0aWVudCBtYXkgaGF2ZSB1bmV4cGVjdGVkIHRveGljb2xvZ3kgdGVzdCByZXN1bHRzOgoqKiAgICAgIERvY3VtZW50IC0gV2lsbCByZXBlYXQgdXJpbmUgZHJ1ZyBzY3JlZW5pbmcgbW9yZSBmcmVxdWVudGx5CioqICAgICAgRG9jdW1lbnQgLSBXaWxsIGFzc2VzcyBwYXRpZW50IGZvciBzdWJzdGFuY2UgdXNlIGRpc29yZGVyCioqICAgICAgU25vb3plIC0gUGF0aWVudCdzIHRlc3QgcmVzdWx0cyB3ZXJlIGV4cGVjdGVkLCBzbm9vemUgZm9yIDMgbW9udGhzCioqICAgICAgU25vb3plIC0gTi9BIHNub296ZSBmb3IgMyBtb250aHMKKioKKi8KCi8vIE1FVEE6IFBsYW4gRGVmaW5pdGlvbjogaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy1yNC9QbGFuRGVmaW5pdGlvbi9vcGlvaWQtY2RzLTEwLW9yZGVyLXNpZ24KCnBhcmFtZXRlciBDb250ZXh0UHJlc2NyaXB0aW9ucyBMaXN0PE1lZGljYXRpb25SZXF1ZXN0PgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlN1YmFjdXRlIG9yIENocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiOgogICggQ29tbW9uLiJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsPyIoIENvbnRleHRQcmVzY3JpcHRpb25zICkgKSBBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uCiAgICB3aGVyZSBSb3V0aW5lcy4iSXMgU3ViYWN1dGUgb3IgQ2hyb25pYyBQYWluIFByZXNjcmlwdGlvbj8iKCBBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uICkKCmRlZmluZSAiUGF0aWVudCBJcyBCZWluZyBQcmVzY3JpYmVkIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwiOgogIGV4aXN0cyggIlN1YmFjdXRlIG9yIENocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiICkKCmRlZmluZSAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyI6CiAgIlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIgogICAgYW5kIFJlYzEwQ29tbW9uLiJJbmNsdXNpb24gQ3JpdGVyaWEgRm9yIFVEUyBSZWNvbW1lbmRhdGlvbiIKCmRlZmluZSAiQXBwbGljYWJsZSBCZWNhdXNlIG9mIFVuZXhwZWN0ZWQgUmVzdWx0cyI6CiAgIlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIgogICAgYW5kIFJlYzEwQ29tbW9uLiJJbmNsdXNpb24gQ3JpdGVyaWEgRm9yIFVuZXhwZWN0ZWQgUmVzdWx0cyIKCmRlZmluZSAiRGV0YWlsIjoKICBSZWMxMENvbW1vbi4iR2V0IEhUTUwgRGV0YWlscyIKCmRlZmluZSAiR2V0IFN1YmplY3QiOgogICdQYXRpZW50LycgKyBQYXRpZW50LmlkCgovKgo8Y2F0ZWdvcnk+CiAgICA8Y29kaW5nPgogICAgICAgIDxzeXN0ZW0gdmFsdWU9InVybjpvaWQ6MS4yLjg0MC4xMTQzNTAuMS4xMy44NjEuMS43LjEwLjc5ODI2OC4zMCIgLz4KICAgICAgICA8Y29kZSB2YWx1ZT0iNyIgLz4KICAgICAgICA8ZGlzcGxheSB2YWx1ZT0iTGFiIiAvPgogICAgPC9jb2Rpbmc+CiAgICA8dGV4dCB2YWx1ZT0iTGFiIiAvPgo8L2NhdGVnb3J5PgoqLwpkZWZpbmUgIkdldCBMYWIgQ2F0ZWdvcnkiOgogIEZISVIuQ29kZWFibGVDb25jZXB0IHsKICAgIGNvZGluZzogewogICAgICBGSElSLkNvZGluZyB7CiAgICAgICAgc3lzdGVtOiBGSElSLnVyaSB7IHZhbHVlOiAndXJuOm9pZDoxLjIuODQwLjExNDM1MC4xLjEzLjg2MS4xLjcuMTAuNzk4MjY4LjMwJ30sCiAgICAgICAgY29kZTogRkhJUi5jb2RlIHsgdmFsdWU6ICc3JyB9LAogICAgICAgIGRpc3BsYXk6IEZISVIuc3RyaW5nIHsgdmFsdWU6ICdMYWInIH0KICAgICAgfQogICAgfQogIH0="
    },
    {
      "contentType" : "application/elm+xml",
      "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIzLjIyLjAiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjYxIj4KICAgICAgICAgPGE6cz5saWJyYXJ5IE9waW9pZENEU1JFQzEwT3JkZXJTaWduIHZlcnNpb24gJzIwMjIuMS4wJzwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iT3Bpb2lkQ0RTUkVDMTBPcmRlclNpZ24iIHN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgdmVyc2lvbj0iMjAyMi4xLjAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkPSIxIiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkPSIyMDYiIGxvY2F0b3I9IjM6MS0zOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICA8YTpzPnVzaW5nIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyMDciIGxvY2F0b3I9IjU6MS01OjU0IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwNyI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnIGNhbGxlZCBGSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjY6MS02OjU2IiBsb2NhbElkZW50aWZpZXI9IkNvbW1vbiIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PcGlvaWRDRFNDb21tb24iIHZlcnNpb249IjIwMjIuMS4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPk9waW9pZENEU0NvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnMjAyMi4xLjAnIGNhbGxlZCBDb21tb248L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA5IiBsb2NhdG9yPSI3OjEtNzo2MiIgbG9jYWxJZGVudGlmaWVyPSJDb25maWciIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIiB2ZXJzaW9uPSIyMDIyLjEuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwOSI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5PcGlvaWRDRFNDb21tb25Db25maWc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzIwMjIuMS4wJyBjYWxsZWQgQ29uZmlnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMCIgbG9jYXRvcj0iODoxLTg6NjAiIGxvY2FsSWRlbnRpZmllcj0iUm91dGluZXMiIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUm91dGluZXMiIHZlcnNpb249IjIwMjIuMS4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPk9waW9pZENEU1JvdXRpbmVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICcyMDIyLjEuMCcgY2FsbGVkIFJvdXRpbmVzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMSIgbG9jYXRvcj0iOToxLTk6NjYiIGxvY2FsSWRlbnRpZmllcj0iUmVjMTBDb21tb24iIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUkVDMTBDb21tb24iIHZlcnNpb249IjIwMjIuMS4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPk9waW9pZENEU1JFQzEwQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICcyMDIyLjEuMCcgY2FsbGVkIFJlYzEwQ29tbW9uPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIyMTIiIGxvY2F0b3I9IjcwOjEtNzA6NTQiIG5hbWU9IkNvbnRleHRQcmVzY3JpcHRpb25zIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgoqKiAgUmVjb21tZW5kYXRpb24gIzEwCioqICAgIFdoZW4gcHJlc2NyaWJpbmcgb3Bpb2lkcyBmb3Igc3ViYWN1dGUgb3IgY2hyb25pYyBwYWluLCBjbGluaWNpYW5zIHNob3VsZCBjb25zaWRlciB0aGUgYmVuZWZpdHMgCioqICAgIGFuZCByaXNrcyBvZiB0b3hpY29sb2d5IHRlc3RpbmcgdG8gYXNzZXNzIGZvciBwcmVzY3JpYmVkIG1lZGljYXRpb25zIGFzIHdlbGwgYXMgb3RoZXIgcHJlc2NyaWJlZCAKKiogICAgYW5kIG5vbnByZXNjcmliZWQgY29udHJvbGxlZCBzdWJzdGFuY2VzIChyZWNvbW1lbmRhdGlvbiBjYXRlZ29yeTogQjsgZXZpZGVuY2UgdHlwZTogNCkuCioqCioqICBXaGVuCioqICAgIFByb3ZpZGVyIGlzIHByZXNjcmliaW5nIGFuIG9waW9pZCBhbmFsZ2VzaWMgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwgaW4gdGhlIG91dHBhdGllbnQgc2V0dGluZzoKKiogICAgUHJlc2NyaXB0aW9uIGlzIGZvciB0cmVhdGluZyBzdWJhY3V0ZSBhbmQvb3IgY2hyb25pYyBwYWluLgoqKiAgICBPcGlvaWQgcmV2aWV3IGlzIHVzZWZ1bCBmb3IgdGhpcyBwYXRpZW50OgoqKiAgICAgIFBhdGllbnQgaXMgMTggb3Igb3ZlcgoqKiAgICAgIFBhdGllbnQgZG9lcyBub3QgaGF2ZSBldmlkZW5jZSBvZiBzaWNrbGUgY2VsbCBkaXNlYXNlCioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIGZpbmRpbmdzIGluZGljYXRpbmcgbGltaXRlZCBsaWZlIGV4cGVjdGFuY3kKKiogICAgICBQYXRpZW50IGRvZXMgbm90IGhhdmUgb3JkZXJzIGZvciB0aGVyYXBpZXMgaW5kaWNhdGluZyBlbmQgb2YgbGlmZSBjYXJlCioqICAgICAgUGF0aWVudCBpcyBub3QgdW5kZXJnb2luZyBhY3RpdmUgY2FuY2VyIHRyZWF0bWVudDoKKiogICAgICAgIFBhdGllbnQgaGFzIGhhZCBhdCBsZWFzdCAyIG9mZmljZSB2aXNpdHMgd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocyB3aXRoIGFuIG9uY29sb2d5IHNwZWNpYWxpc3QgcHJlc2VudCwgb3IKKiogICAgICAgIFBhdGllbnQgaGFzIGhhZCBhdCBsZWFzdCAyIG9mZmljZSB2aXNpdHMgd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocyB3aXRoIGEgQ0RDIG1hbGlnbmFudCBjYW5jZXIgY29uZGl0aW9uIGRpYWdub3NpcwoqKiAgICAgIFBhdGllbnQgZG9lcyBub3QgaGF2ZSBjb25kaXRpb25zIGxpa2VseSB0ZXJtaW5hbCBmb3Igb3Bpb2lkIHByZXNjcmliaW5nIHByZXNlbnQKKiogICAgTm9ub3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIGhhcyBub3QgYmVlbiBwZXJmb3JtZWQgaW4gbGFzdCAxMiBtb250aHMgb3IKKiogICAgT3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIGhhcyBub3QgYmVlbiBwZXJmb3JtZWQgaW4gbGFzdCAxMiBtb250aHMKKiogIFRoZW4KKiogICAgQ29uc2lkZXIgdGhlIGJlbmVmaXRzIGFuZCByaXNrcyBvZiBjb25kdWN0aW5nIGEgdXJpbmUgdG94aWNvbG9neSBzY3JlZW46CioqICAgICAgRG9jdW1lbnQgLSBPcmRlciB0b3hpY29sb2d5IHNjcmVlbgoqKiAgICAgIERvY3VtZW50IHJpc2tzIG91dHdlaWdoIGJlbmVmaXRzCioqICAgICAgU25vb3plIC0gTi9BIHNlZSBjb21tZW50LCBzbm9vemUgMyBtb250aHMKKiogIFdoZW4KKiogICAgUHJvdmlkZXIgaXMgcHJlc2NyaWJpbmcgYW4gb3Bpb2lkIGFuYWxnZXNpYyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCBpbiB0aGUgb3V0cGF0aWVudCBzZXR0aW5nOgoqKiAgICBQcmVzY3JpcHRpb24gaXMgZm9yIHRyZWF0aW5nIHN1YmFjdXRlIGFuZC9vciBjaHJvbmljIHBhaW4uCioqICAgIE9waW9pZCByZXZpZXcgaXMgdXNlZnVsIGZvciB0aGlzIHBhdGllbnQ6CioqICAgICAgUGF0aWVudCBpcyAxOCBvciBvdmVyCioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIGV2aWRlbmNlIG9mIHNpY2tsZSBjZWxsIGRpc2Vhc2UKKiogICAgICBQYXRpZW50IGRvZXMgbm90IGhhdmUgZmluZGluZ3MgaW5kaWNhdGluZyBsaW1pdGVkIGxpZmUgZXhwZWN0YW5jeQoqKiAgICAgIFBhdGllbnQgZG9lcyBub3QgaGF2ZSBvcmRlcnMgZm9yIHRoZXJhcGllcyBpbmRpY2F0aW5nIGVuZCBvZiBsaWZlIGNhcmUKKiogICAgICBQYXRpZW50IGlzIG5vdCB1bmRlcmdvaW5nIGFjdGl2ZSBjYW5jZXIgdHJlYXRtZW50OgoqKiAgICAgICAgUGF0aWVudCBoYXMgaGFkIGF0IGxlYXN0IDIgb2ZmaWNlIHZpc2l0cyB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzIHdpdGggYW4gb25jb2xvZ3kgc3BlY2lhbGlzdCBwcmVzZW50LCBvcgoqKiAgICAgICAgUGF0aWVudCBoYXMgaGFkIGF0IGxlYXN0IDIgb2ZmaWNlIHZpc2l0cyB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzIHdpdGggYSBDREMgbWFsaWduYW50IGNhbmNlciBjb25kaXRpb24gZGlhZ25vc2lzCioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIGNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmcgcHJlc2VudAoqKiAgICBOb25vcGlvaWQgZHJ1ZyB1cmluZSBzY3JlZW5pbmcgaGFzIGJlZW4gcGVyZm9ybWVkIGluIGxhc3QgMTIgbW9udGhzIGFuZAoqKiAgICBPcGlvaWQgZHJ1ZyB1cmluZSBzY3JlZW5pbmcgaGFzIGJlZW4gcGVyZm9ybWVkIGluIGxhc3QgMTIgbW9udGhzIGFuZAoqKiAgICBQb3NpdGl2ZSByZXN1bHQgZm9yIHN5bnRoZXRpYyBvcGlvaWQgaW4gdGhlIHBhc3QgeWVhciBhbmQgbm90IGN1cnJlbnRseSBwcmVzY3JpYmVkIHN5bnRoZXRpYyBvcGlvaWQgb3IKKiogICAgUG9zaXRpdmUgcmVzdWx0IGZvciBwaGVuY3ljbGlkaW5lKFBDUCkgaW4gdGhlIHBhc3QgeWVhciBvcgoqKiAgICBQb3NpdGl2ZSByZXN1bHQgZm9yIGZlbnRhbnlsIGluIHRoZSBwYXN0IHllYXIgYW5kIG5vdCBjdXJyZW50bHkgcHJlc2NyaWJlZCBmZW50YW55bCBvcgoqKiAgICBQb3NpdGl2ZSByZXN1bHQgZm9yIGNvY2FpbmUgaW4gdGhlIHBhc3QgeWVhciBvcgoqKiAgICBQb3NpdGl2ZSByZXN1bHQgZm9yIGFtcGhldGFtaW5lIGluIHRoZSBwYXN0IHllYXIgYW5kIG5vdCBjdXJyZW50bHkgcHJlc2NyaWJlZCBhbXBoZXRhbWluZSBvcgoqKiAgICBQb3NpdGl2ZSByZXN1bHQgZm9yIHRldHJhaHlkcm9jYW5uYWJpbm9sIChUSEMpIGluIHRoZSBwYXN0IHllYXIgYW5kIG5vdCBjdXJyZW50bHkgcHJlc2NyaWJlZCB0ZXRyYWh5ZHJvY2FubmFiaW5vbCAoVEhDKSBvcgoqKiAgICBQb3NpdGl2ZSByZXN1bHQgZm9yIG9waWF0ZSBpbiB0aGUgcGFzdCB5ZWFyIGFuZCBub3QgY3VycmVudGx5IHByZXNjcmliZWQgbmF0dXJhbCBvcGlhdGUgb3IKKiogICAgUG9zaXRpdmUgcmVzdWx0IGZvciBhbGNvaG9sIGluIHRoZSBwYXN0IHllYXIgb3IKKiogICAgUG9zaXRpdmUgcmVzdWx0IGZvciBtZXRoYWRvbmUgaW4gdGhlIHBhc3QgeWVhciBhbmQgbm90IGN1cnJlbnRseSBwcmVzY3JpYmVkIG1ldGhhZG9uZQoqKiAgVGhlbgoqKiAgICBQYXRpZW50IG1heSBoYXZlIHVuZXhwZWN0ZWQgdG94aWNvbG9neSB0ZXN0IHJlc3VsdHM6CioqICAgICAgRG9jdW1lbnQgLSBXaWxsIHJlcGVhdCB1cmluZSBkcnVnIHNjcmVlbmluZyBtb3JlIGZyZXF1ZW50bHkKKiogICAgICBEb2N1bWVudCAtIFdpbGwgYXNzZXNzIHBhdGllbnQgZm9yIHN1YnN0YW5jZSB1c2UgZGlzb3JkZXIKKiogICAgICBTbm9vemUgLSBQYXRpZW50J3MgdGVzdCByZXN1bHRzIHdlcmUgZXhwZWN0ZWQsIHNub296ZSBmb3IgMyBtb250aHMKKiogICAgICBTbm9vemUgLSBOL0Egc25vb3plIGZvciAzIG1vbnRocwoqKgoqLwoKLy8gTUVUQTogUGxhbiBEZWZpbml0aW9uOiBodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzLXI0L1BsYW5EZWZpbml0aW9uL29waW9pZC1jZHMtMTAtb3JkZXItc2lnbgoKcGFyYW1ldGVyIENvbnRleHRQcmVzY3JpcHRpb25zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlzdCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPk1lZGljYXRpb25SZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iNzA6MzItNzA6NTQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSIyMTQiIGxvY2F0b3I9IjcwOjM3LTcwOjUzIiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxOCIgbG9jYXRvcj0iNzI6MS03MjoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhbElkPSIyMTYiIGxvY2F0b3I9IjcyOjEtNzI6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTciIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjE1IiBsb2NhdG9yPSI3MjoxLTcyOjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIwIiBsb2NhdG9yPSI3NDoxLTc2Ojk0IiBuYW1lPSJTdWJhY3V0ZSBvciBDaHJvbmljIFBhaW4gT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCBQcmVzY3JpcHRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjIwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U3ViYWN1dGUgb3IgQ2hyb25pYyBQYWluIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwgUHJlc2NyaXB0aW9ucyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db21tb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SXMgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbD8mcXVvdDsoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29udGV4dFByZXNjcmlwdGlvbnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiApPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlJvdXRpbmVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzIFN1YmFjdXRlIG9yIENocm9uaWMgUGFpbiBQcmVzY3JpcHRpb24/JnF1b3Q7KCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyOCIgbG9jYXRvcj0iNzU6My03Njo5NCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMjEiIGxvY2F0b3I9Ijc1OjMtNzU6MTIxIiBhbGlhcz0iQW1idWxhdG9yeU9waW9pZFByZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iNzU6My03NTo5MiIgbmFtZT0iSXMgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbD8iIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyMyIgbG9jYXRvcj0iNzU6NjktNzU6ODgiIG5hbWU9IkNvbnRleHRQcmVzY3JpcHRpb25zIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMjciIGxvY2F0b3I9Ijc2OjUtNzY6OTQiIG5hbWU9IklzIFN1YmFjdXRlIG9yIENocm9uaWMgUGFpbiBQcmVzY3JpcHRpb24/IiBsaWJyYXJ5TmFtZT0iUm91dGluZXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyNiIgbG9jYXRvcj0iNzY6NjUtNzY6OTIiIG5hbWU9IkFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iNzg6MS03OToxMDIiIG5hbWU9IlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7UGF0aWVudCBJcyBCZWluZyBQcmVzY3JpYmVkIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5leGlzdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTdWJhY3V0ZSBvciBDaHJvbmljIFBhaW4gT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCBQcmVzY3JpcHRpb25zJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiApPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMxIiBsb2NhdG9yPSI3OTozLTc5OjEwMiIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iNzk6OS03OToxMDIiIG5hbWU9IlN1YmFjdXRlIG9yIENocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSI4MToxLTgzOjYzIiBuYW1lPSJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjM0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UGF0aWVudCBJcyBCZWluZyBQcmVzY3JpYmVkIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlJlYzEwQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0luY2x1c2lvbiBDcml0ZXJpYSBGb3IgVURTIFJlY29tbWVuZGF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iODI6My04Mzo2MyIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNiIgbG9jYXRvcj0iODI6My04Mjo4MSIgbmFtZT0iUGF0aWVudCBJcyBCZWluZyBQcmVzY3JpYmVkIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzOCIgbG9jYXRvcj0iODM6OS04Mzo2MyIgbmFtZT0iSW5jbHVzaW9uIENyaXRlcmlhIEZvciBVRFMgUmVjb21tZW5kYXRpb24iIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNDAiIGxvY2F0b3I9Ijg1OjEtODc6NjMiIG5hbWU9IkFwcGxpY2FibGUgQmVjYXVzZSBvZiBVbmV4cGVjdGVkIFJlc3VsdHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtBcHBsaWNhYmxlIEJlY2F1c2Ugb2YgVW5leHBlY3RlZCBSZXN1bHRzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UmVjMTBDb21tb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW5jbHVzaW9uIENyaXRlcmlhIEZvciBVbmV4cGVjdGVkIFJlc3VsdHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQxIiBsb2NhdG9yPSI4NjozLTg3OjYzIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQyIiBsb2NhdG9yPSI4NjozLTg2OjgxIiBuYW1lPSJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSI4Nzo5LTg3OjYzIiBuYW1lPSJJbmNsdXNpb24gQ3JpdGVyaWEgRm9yIFVuZXhwZWN0ZWQgUmVzdWx0cyIgbGlicmFyeU5hbWU9IlJlYzEwQ29tbW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iODk6MS05MDozMiIgbmFtZT0iRGV0YWlsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RGV0YWlsJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5SZWMxMENvbW1vbjwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHZXQgSFRNTCBEZXRhaWxzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQ4IiBsb2NhdG9yPSI5MDozLTkwOjMyIiBuYW1lPSJHZXQgSFRNTCBEZXRhaWxzIiBsaWJyYXJ5TmFtZT0iUmVjMTBDb21tb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1MCIgbG9jYXRvcj0iOTI6MS05MzoyNSIgbmFtZT0iR2V0IFN1YmplY3QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNTAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtHZXQgU3ViamVjdCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+J1BhdGllbnQvJzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTkiIGxvY2F0b3I9IjkzOjMtOTM6MjUiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MiIgbG9jYXRvcj0iOTM6My05MzoxMiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlBhdGllbnQvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTUiIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjU2IiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTQiIGxvY2F0b3I9IjkzOjE2LTkzOjI1IiBwYXRoPSJpZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNTMiIGxvY2F0b3I9IjkzOjE2LTkzOjIyIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNjEiIGxvY2F0b3I9IjEwNToxLTExNDozIiBuYW1lPSJHZXQgTGFiIENhdGVnb3J5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjYxIj4KICAgICAgICAgICAgICAgPGE6cz4vKgombHQ7Y2F0ZWdvcnk+CiAgICAmbHQ7Y29kaW5nPgogICAgICAgICZsdDtzeXN0ZW0gdmFsdWU9JnF1b3Q7dXJuOm9pZDoxLjIuODQwLjExNDM1MC4xLjEzLjg2MS4xLjcuMTAuNzk4MjY4LjMwJnF1b3Q7IC8+CiAgICAgICAgJmx0O2NvZGUgdmFsdWU9JnF1b3Q7NyZxdW90OyAvPgogICAgICAgICZsdDtkaXNwbGF5IHZhbHVlPSZxdW90O0xhYiZxdW90OyAvPgogICAgJmx0Oy9jb2Rpbmc+CiAgICAmbHQ7dGV4dCB2YWx1ZT0mcXVvdDtMYWImcXVvdDsgLz4KJmx0Oy9jYXRlZ29yeT4KKi8KZGVmaW5lICZxdW90O0dldCBMYWIgQ2F0ZWdvcnkmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjYyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvZGVhYmxlQ29uY2VwdCB7CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2Rpbmc6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ewogICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29kaW5nIHsKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zeXN0ZW06IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi51cmkgeyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4ndXJuOm9pZDoxLjIuODQwLjExNDM1MC4xLjEzLjg2MS4xLjcuMTAuNzk4MjY4LjMwJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+fTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5jb2RlIHsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JzcnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gfTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc3BsYXk6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5zdHJpbmcgeyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nTGFiJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IH08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgfTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgfTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjYyIiBsb2NhdG9yPSIxMDY6My0xMTQ6MyIgY2xhc3NUeXBlPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kaW5nIj4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2FsSWQ9IjI2NCIgbG9jYXRvcj0iMTA3OjEzLTExMzo1IiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjI2NSIgbG9jYXRvcj0iMTA4OjctMTEyOjciIGNsYXNzVHlwZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIyNjciIGxvY2F0b3I9IjEwOToxNy0xMDk6ODUiIGNsYXNzVHlwZT0iZmhpcjp1cmkiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2FsSWQ9IjI2OSIgbG9jYXRvcj0iMTA5OjM1LTEwOTo4NCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InVybjpvaWQ6MS4yLjg0MC4xMTQzNTAuMS4xMy44NjEuMS43LjEwLjc5ODI2OC4zMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iMjcwIiBsb2NhdG9yPSIxMTA6MTUtMTEwOjM4IiBjbGFzc1R5cGU9ImZoaXI6Y29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iMjcyIiBsb2NhdG9yPSIxMTA6MzQtMTEwOjM2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iNyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iMjczIiBsb2NhdG9yPSIxMTE6MTgtMTExOjQ1IiBjbGFzc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjExMTozOS0xMTE6NDMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJMYWIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg=="
    },
    {
      "contentType" : "application/elm+json",
      "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJsb2NhbElkIiA6ICIwIiwKICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICJ0cmFuc2xhdG9yVmVyc2lvbiIgOiAiMy4yMi4wIiwKICAgICAgICAgInRyYW5zbGF0b3JPcHRpb25zIiA6ICJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiwKICAgICAgICAgInNpZ25hdHVyZUxldmVsIiA6ICJPdmVybG9hZHMiLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiMjYxIiwKICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJsaWJyYXJ5IE9waW9pZENEU1JFQzEwT3JkZXJTaWduIHZlcnNpb24gJzIwMjIuMS4wJyIgXQogICAgICAgICAgICB9IF0KICAgICAgICAgfQogICAgICB9IF0sCiAgICAgICJpZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJPcGlvaWRDRFNSRUMxME9yZGVyU2lnbiIsCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAidmVyc2lvbiIgOiAiMjAyMi4xLjAiCiAgICAgIH0sCiAgICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJ1cm46aGw3LW9yZzplbG0iLAogICAgICAgICAidmVyc2lvbiIgOiAicjEiCiAgICAgIH0sCiAgICAgICJ1c2luZ3MiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMSIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM6MS0zOjI2IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUiIsCiAgICAgICAgICAgICJ1cmkiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInVzaW5nICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHZlcnNpb24gJzQuMC4xJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJpbmNsdWRlcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNToxLTU6NTQiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL0ZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjA3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICIsIic0LjAuMSciLCIgY2FsbGVkICIsIkZISVJIZWxwZXJzIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNjoxLTY6NTYiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJDb21tb24iLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PcGlvaWRDRFNDb21tb24iLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMjAyMi4xLjAiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPcGlvaWRDRFNDb21tb24iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICIsIicyMDIyLjEuMCciLCIgY2FsbGVkICIsIkNvbW1vbiIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA5IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc6MS03OjYyIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ29uZmlnIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjIwMjIuMS4wIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjA5IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInMjAyMi4xLjAnIiwiIGNhbGxlZCAiLCJDb25maWciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OjEtODo2MCIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlJvdXRpbmVzIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUm91dGluZXMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMjAyMi4xLjAiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPcGlvaWRDRFNSb3V0aW5lcyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHZlcnNpb24gIiwiJzIwMjIuMS4wJyIsIiBjYWxsZWQgIiwiUm91dGluZXMiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOTo2NiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUkVDMTBDb21tb24iLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMjAyMi4xLjAiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTEiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPcGlvaWRDRFNSRUMxMENvbW1vbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHZlcnNpb24gIiwiJzIwMjIuMS4wJyIsIiBjYWxsZWQgIiwiUmVjMTBDb21tb24iIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAicGFyYW1ldGVycyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNzA6MS03MDo1NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb250ZXh0UHJlc2NyaXB0aW9ucyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjEyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuKiogIFJlY29tbWVuZGF0aW9uICMxMFxuKiogICAgV2hlbiBwcmVzY3JpYmluZyBvcGlvaWRzIGZvciBzdWJhY3V0ZSBvciBjaHJvbmljIHBhaW4sIGNsaW5pY2lhbnMgc2hvdWxkIGNvbnNpZGVyIHRoZSBiZW5lZml0cyBcbioqICAgIGFuZCByaXNrcyBvZiB0b3hpY29sb2d5IHRlc3RpbmcgdG8gYXNzZXNzIGZvciBwcmVzY3JpYmVkIG1lZGljYXRpb25zIGFzIHdlbGwgYXMgb3RoZXIgcHJlc2NyaWJlZCBcbioqICAgIGFuZCBub25wcmVzY3JpYmVkIGNvbnRyb2xsZWQgc3Vic3RhbmNlcyAocmVjb21tZW5kYXRpb24gY2F0ZWdvcnk6IEI7IGV2aWRlbmNlIHR5cGU6IDQpLlxuKipcbioqICBXaGVuXG4qKiAgICBQcm92aWRlciBpcyBwcmVzY3JpYmluZyBhbiBvcGlvaWQgYW5hbGdlc2ljIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIGluIHRoZSBvdXRwYXRpZW50IHNldHRpbmc6XG4qKiAgICBQcmVzY3JpcHRpb24gaXMgZm9yIHRyZWF0aW5nIHN1YmFjdXRlIGFuZC9vciBjaHJvbmljIHBhaW4uXG4qKiAgICBPcGlvaWQgcmV2aWV3IGlzIHVzZWZ1bCBmb3IgdGhpcyBwYXRpZW50OlxuKiogICAgICBQYXRpZW50IGlzIDE4IG9yIG92ZXJcbioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIGV2aWRlbmNlIG9mIHNpY2tsZSBjZWxsIGRpc2Vhc2VcbioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIGZpbmRpbmdzIGluZGljYXRpbmcgbGltaXRlZCBsaWZlIGV4cGVjdGFuY3lcbioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIG9yZGVycyBmb3IgdGhlcmFwaWVzIGluZGljYXRpbmcgZW5kIG9mIGxpZmUgY2FyZVxuKiogICAgICBQYXRpZW50IGlzIG5vdCB1bmRlcmdvaW5nIGFjdGl2ZSBjYW5jZXIgdHJlYXRtZW50OlxuKiogICAgICAgIFBhdGllbnQgaGFzIGhhZCBhdCBsZWFzdCAyIG9mZmljZSB2aXNpdHMgd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocyB3aXRoIGFuIG9uY29sb2d5IHNwZWNpYWxpc3QgcHJlc2VudCwgb3JcbioqICAgICAgICBQYXRpZW50IGhhcyBoYWQgYXQgbGVhc3QgMiBvZmZpY2UgdmlzaXRzIHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMgd2l0aCBhIENEQyBtYWxpZ25hbnQgY2FuY2VyIGNvbmRpdGlvbiBkaWFnbm9zaXNcbioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIGNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmcgcHJlc2VudFxuKiogICAgTm9ub3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIGhhcyBub3QgYmVlbiBwZXJmb3JtZWQgaW4gbGFzdCAxMiBtb250aHMgb3JcbioqICAgIE9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyBoYXMgbm90IGJlZW4gcGVyZm9ybWVkIGluIGxhc3QgMTIgbW9udGhzXG4qKiAgVGhlblxuKiogICAgQ29uc2lkZXIgdGhlIGJlbmVmaXRzIGFuZCByaXNrcyBvZiBjb25kdWN0aW5nIGEgdXJpbmUgdG94aWNvbG9neSBzY3JlZW46XG4qKiAgICAgIERvY3VtZW50IC0gT3JkZXIgdG94aWNvbG9neSBzY3JlZW5cbioqICAgICAgRG9jdW1lbnQgcmlza3Mgb3V0d2VpZ2ggYmVuZWZpdHNcbioqICAgICAgU25vb3plIC0gTi9BIHNlZSBjb21tZW50LCBzbm9vemUgMyBtb250aHNcbioqICBXaGVuXG4qKiAgICBQcm92aWRlciBpcyBwcmVzY3JpYmluZyBhbiBvcGlvaWQgYW5hbGdlc2ljIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIGluIHRoZSBvdXRwYXRpZW50IHNldHRpbmc6XG4qKiAgICBQcmVzY3JpcHRpb24gaXMgZm9yIHRyZWF0aW5nIHN1YmFjdXRlIGFuZC9vciBjaHJvbmljIHBhaW4uXG4qKiAgICBPcGlvaWQgcmV2aWV3IGlzIHVzZWZ1bCBmb3IgdGhpcyBwYXRpZW50OlxuKiogICAgICBQYXRpZW50IGlzIDE4IG9yIG92ZXJcbioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIGV2aWRlbmNlIG9mIHNpY2tsZSBjZWxsIGRpc2Vhc2VcbioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIGZpbmRpbmdzIGluZGljYXRpbmcgbGltaXRlZCBsaWZlIGV4cGVjdGFuY3lcbioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIG9yZGVycyBmb3IgdGhlcmFwaWVzIGluZGljYXRpbmcgZW5kIG9mIGxpZmUgY2FyZVxuKiogICAgICBQYXRpZW50IGlzIG5vdCB1bmRlcmdvaW5nIGFjdGl2ZSBjYW5jZXIgdHJlYXRtZW50OlxuKiogICAgICAgIFBhdGllbnQgaGFzIGhhZCBhdCBsZWFzdCAyIG9mZmljZSB2aXNpdHMgd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocyB3aXRoIGFuIG9uY29sb2d5IHNwZWNpYWxpc3QgcHJlc2VudCwgb3JcbioqICAgICAgICBQYXRpZW50IGhhcyBoYWQgYXQgbGVhc3QgMiBvZmZpY2UgdmlzaXRzIHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMgd2l0aCBhIENEQyBtYWxpZ25hbnQgY2FuY2VyIGNvbmRpdGlvbiBkaWFnbm9zaXNcbioqICAgICAgUGF0aWVudCBkb2VzIG5vdCBoYXZlIGNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmcgcHJlc2VudFxuKiogICAgTm9ub3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIGhhcyBiZWVuIHBlcmZvcm1lZCBpbiBsYXN0IDEyIG1vbnRocyBhbmRcbioqICAgIE9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyBoYXMgYmVlbiBwZXJmb3JtZWQgaW4gbGFzdCAxMiBtb250aHMgYW5kXG4qKiAgICBQb3NpdGl2ZSByZXN1bHQgZm9yIHN5bnRoZXRpYyBvcGlvaWQgaW4gdGhlIHBhc3QgeWVhciBhbmQgbm90IGN1cnJlbnRseSBwcmVzY3JpYmVkIHN5bnRoZXRpYyBvcGlvaWQgb3JcbioqICAgIFBvc2l0aXZlIHJlc3VsdCBmb3IgcGhlbmN5Y2xpZGluZShQQ1ApIGluIHRoZSBwYXN0IHllYXIgb3JcbioqICAgIFBvc2l0aXZlIHJlc3VsdCBmb3IgZmVudGFueWwgaW4gdGhlIHBhc3QgeWVhciBhbmQgbm90IGN1cnJlbnRseSBwcmVzY3JpYmVkIGZlbnRhbnlsIG9yXG4qKiAgICBQb3NpdGl2ZSByZXN1bHQgZm9yIGNvY2FpbmUgaW4gdGhlIHBhc3QgeWVhciBvclxuKiogICAgUG9zaXRpdmUgcmVzdWx0IGZvciBhbXBoZXRhbWluZSBpbiB0aGUgcGFzdCB5ZWFyIGFuZCBub3QgY3VycmVudGx5IHByZXNjcmliZWQgYW1waGV0YW1pbmUgb3JcbioqICAgIFBvc2l0aXZlIHJlc3VsdCBmb3IgdGV0cmFoeWRyb2Nhbm5hYmlub2wgKFRIQykgaW4gdGhlIHBhc3QgeWVhciBhbmQgbm90IGN1cnJlbnRseSBwcmVzY3JpYmVkIHRldHJhaHlkcm9jYW5uYWJpbm9sIChUSEMpIG9yXG4qKiAgICBQb3NpdGl2ZSByZXN1bHQgZm9yIG9waWF0ZSBpbiB0aGUgcGFzdCB5ZWFyIGFuZCBub3QgY3VycmVudGx5IHByZXNjcmliZWQgbmF0dXJhbCBvcGlhdGUgb3JcbioqICAgIFBvc2l0aXZlIHJlc3VsdCBmb3IgYWxjb2hvbCBpbiB0aGUgcGFzdCB5ZWFyIG9yXG4qKiAgICBQb3NpdGl2ZSByZXN1bHQgZm9yIG1ldGhhZG9uZSBpbiB0aGUgcGFzdCB5ZWFyIGFuZCBub3QgY3VycmVudGx5IHByZXNjcmliZWQgbWV0aGFkb25lXG4qKiAgVGhlblxuKiogICAgUGF0aWVudCBtYXkgaGF2ZSB1bmV4cGVjdGVkIHRveGljb2xvZ3kgdGVzdCByZXN1bHRzOlxuKiogICAgICBEb2N1bWVudCAtIFdpbGwgcmVwZWF0IHVyaW5lIGRydWcgc2NyZWVuaW5nIG1vcmUgZnJlcXVlbnRseVxuKiogICAgICBEb2N1bWVudCAtIFdpbGwgYXNzZXNzIHBhdGllbnQgZm9yIHN1YnN0YW5jZSB1c2UgZGlzb3JkZXJcbioqICAgICAgU25vb3plIC0gUGF0aWVudCdzIHRlc3QgcmVzdWx0cyB3ZXJlIGV4cGVjdGVkLCBzbm9vemUgZm9yIDMgbW9udGhzXG4qKiAgICAgIFNub296ZSAtIE4vQSBzbm9vemUgZm9yIDMgbW9udGhzXG4qKlxuKi9cblxuLy8gTUVUQTogUGxhbiBEZWZpbml0aW9uOiBodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzLXI0L1BsYW5EZWZpbml0aW9uL29waW9pZC1jZHMtMTAtb3JkZXItc2lnblxuXG4iLCJwYXJhbWV0ZXIgIiwiQ29udGV4dFByZXNjcmlwdGlvbnMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJNZWRpY2F0aW9uUmVxdWVzdCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAicGFyYW1ldGVyVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzA6MzItNzA6NTQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcwOjM3LTcwOjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiY29udGV4dHMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjEtNzI6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJzdGF0ZW1lbnRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjoxLTcyOjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjoxLTcyOjE1IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgImluY2x1ZGUiIDogWyBdLAogICAgICAgICAgICAgICAgICAiY29kZUZpbHRlciIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJkYXRlRmlsdGVyIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIm90aGVyRmlsdGVyIiA6IFsgXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc0OjEtNzY6OTQiLAogICAgICAgICAgICAibmFtZSIgOiAiU3ViYWN1dGUgb3IgQ2hyb25pYyBQYWluIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwgUHJlc2NyaXB0aW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIlN1YmFjdXRlIG9yIENocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnNcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyOCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29tbW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsP1wiIiwiKCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb250ZXh0UHJlc2NyaXB0aW9ucyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlJvdXRpbmVzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJcyBTdWJhY3V0ZSBvciBDaHJvbmljIFBhaW4gUHJlc2NyaXB0aW9uP1wiIiwiKCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjgiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzU6My03Njo5NCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzU6My03NToxMjEiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjQiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzU6My03NTo5MiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsPyIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc1OjY5LTc1Ojg4IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvbnRleHRQcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAibGV0IiA6IFsgXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6NS03Njo5NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJcyBTdWJhY3V0ZSBvciBDaHJvbmljIFBhaW4gUHJlc2NyaXB0aW9uPyIsCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUm91dGluZXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6NjUtNzY6OTIiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQW1idWxhdG9yeU9waW9pZFByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNzg6MS03OToxMDIiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBJcyBCZWluZyBQcmVzY3JpYmVkIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjMwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbFwiIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJleGlzdHMiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiU3ViYWN1dGUgb3IgQ2hyb25pYyBQYWluIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwgUHJlc2NyaXB0aW9uc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjMtNzk6MTAyIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzk6OS03OToxMDIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3ViYWN1dGUgb3IgQ2hyb25pYyBQYWluIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwgUHJlc2NyaXB0aW9ucyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjEtODM6NjMiLAogICAgICAgICAgICAibmFtZSIgOiAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIklzIFBlcmZvcm0gRHJ1ZyBTY3JlZW4gUmVjb21tZW5kYXRpb24gQXBwbGljYWJsZT9cIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgIGFuZCAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlJlYzEwQ29tbW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJbmNsdXNpb24gQ3JpdGVyaWEgRm9yIFVEUyBSZWNvbW1lbmRhdGlvblwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjMtODM6NjMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjMtODI6ODEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBJcyBCZWluZyBQcmVzY3JpYmVkIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgzOjktODM6NjMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSW5jbHVzaW9uIENyaXRlcmlhIEZvciBVRFMgUmVjb21tZW5kYXRpb24iLAogICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NToxLTg3OjYzIiwKICAgICAgICAgICAgIm5hbWUiIDogIkFwcGxpY2FibGUgQmVjYXVzZSBvZiBVbmV4cGVjdGVkIFJlc3VsdHMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjQwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJBcHBsaWNhYmxlIEJlY2F1c2Ugb2YgVW5leHBlY3RlZCBSZXN1bHRzXCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICBhbmQgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJSZWMxMENvbW1vbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSW5jbHVzaW9uIENyaXRlcmlhIEZvciBVbmV4cGVjdGVkIFJlc3VsdHNcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NjozLTg3OjYzIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NjozLTg2OjgxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo5LTg3OjYzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkluY2x1c2lvbiBDcml0ZXJpYSBGb3IgVW5leHBlY3RlZCBSZXN1bHRzIiwKICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MS05MDozMiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJEZXRhaWwiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjQ2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJEZXRhaWxcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0OCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJSZWMxMENvbW1vbiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDgiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiR2V0IEhUTUwgRGV0YWlsc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDgiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6My05MDozMiIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJHZXQgSFRNTCBEZXRhaWxzIiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjoxLTkzOjI1IiwKICAgICAgICAgICAgIm5hbWUiIDogIkdldCBTdWJqZWN0IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI1MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiR2V0IFN1YmplY3RcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInUGF0aWVudC8nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhdGllbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MzozLTkzOjI1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjMtOTM6MTIiLAogICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiUGF0aWVudC8iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTYiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9c3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1NCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MzoxNi05MzoyNSIsCiAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjE2LTkzOjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYxIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToxLTExNDozIiwKICAgICAgICAgICAgIm5hbWUiIDogIkdldCBMYWIgQ2F0ZWdvcnkiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjYxIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuPGNhdGVnb3J5PlxuICAgIDxjb2Rpbmc+XG4gICAgICAgIDxzeXN0ZW0gdmFsdWU9XCJ1cm46b2lkOjEuMi44NDAuMTE0MzUwLjEuMTMuODYxLjEuNy4xMC43OTgyNjguMzBcIiAvPlxuICAgICAgICA8Y29kZSB2YWx1ZT1cIjdcIiAvPlxuICAgICAgICA8ZGlzcGxheSB2YWx1ZT1cIkxhYlwiIC8+XG4gICAgPC9jb2Rpbmc+XG4gICAgPHRleHQgdmFsdWU9XCJMYWJcIiAvPlxuPC9jYXRlZ29yeT5cbiovXG4iLCJkZWZpbmUgIiwiXCJHZXQgTGFiIENhdGVnb3J5XCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiQ29kZWFibGVDb25jZXB0IiwiIHtcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGluZyIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAie1xuICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJDb2RpbmciLCIge1xuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN5c3RlbSIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJ1cmkiLCIgeyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIndXJuOm9pZDoxLjIuODQwLjExNDM1MC4xLjEzLjg2MS4xLjcuMTAuNzk4MjY4LjMwJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIn0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kZSIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJjb2RlIiwiIHsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJzcnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIH0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZGlzcGxheSIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJzdHJpbmciLCIgeyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInTGFiJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB9IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICB9IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICB9IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gIH0iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYyIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjozLTExNDozIiwKICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzoxMy0xMTM6NSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA4OjctMTEyOjciLAogICAgICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN5c3RlbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA5OjE3LTEwOTo4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXVyaSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwOTozNS0xMDk6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidXJuOm9pZDoxLjIuODQwLjExNDM1MC4xLjEzLjg2MS4xLjcuMTAuNzk4MjY4LjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEwOjE1LTExMDozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MzQtMTEwOjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkaXNwbGF5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTE6MTgtMTExOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9c3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTExOjM5LTExMTo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJMYWIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0KICAgfQp9"
    }
  ]
}