WHO Immunization Implementation Guide
0.2.0 - ci-build

WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions

: IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic - JSON Representation

Draft as of 2025-11-25

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic",
  "meta" : {
    "profile" : [
      🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
      "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
      "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
      "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"
    ]
  },
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n    <table class=\"grid dict\">\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Title: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">0.2.0</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Url: </b></th>\n            <td style=\"padding-left: 4px;\"><a href=\"Library-IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic.html\">IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic</a></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Status: </b></th>\n            <td style=\"padding-left: 4px;\">draft</td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Type: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                    \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>system: </b> <span><a href=\"http://terminology.hl7.org/7.0.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n                        </p>\n                        \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>code: </b> <span>logic-library</span>\n                        </p>\n                        \n                        \n                    \n                \n                \n            </td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Date: </b></th>\n            <td style=\"padding-left: 4px;\">2025-11-25 20:07:03+0000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">WHO</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\"><div><p>This library defines decision support logic for the IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 1 dose decision table in the Immunization CPG</p>\n</div></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Related Artifacts: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                \n                \n                <p><b>Dependencies</b></p>\n                <ul>\n                  \n                    <li><a href=\"Library-IMMZD2DTMeningococcalEncounterElements.html\">IMMZD2DTMeningococcalEncounterElements</a></li>\n                  \n                </ul>\n                \n                \n                \n                \n                \n            </td>\n        </tr>\n        \n\n        \n        <tr>\n          <th scope=\"row\"><b>Parameters: </b></th>\n          <td style=\"padding-left: 4px;\">\n            <table class=\"grid-dict\">\n              <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n              \n                <tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client is not due for meningococcal vaccination</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client is not due for meningococcal vaccination Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client is due for meningococcal vaccination</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client is due for meningococcal vaccination Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Meningococcal immunization schedule is complete</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Meningococcal immunization schedule is complete Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Has Guidance</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Test Validation</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n            </table>\n          </td>\n        </tr>\n        \n\n        \n\n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n              <tr><td><pre><code class=\"language-cql\">/*\n * Library: IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic (IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 1 dose)\n * Rule: Determine if the client is due for a meningococcal vaccination according to the national immunization schedule\n * Decision Table: MenA conjugate vaccine, 1-dose schedule\n * Trigger: IMMZ.D2 Determine required vaccination(s) if any\n */\nlibrary IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude IMMZD2DTMeningococcalEncounterElements called Encounter\n\nparameter Today Date default Today()\n\ncontext Patient\n\n\n/*\n@dynamicValue: Guidance\n*/\ndefine &quot;Guidance&quot;:\n  case \n    when &quot;Client is not due for meningococcal vaccination&quot; then &quot;Client is not due for meningococcal vaccination Guidance&quot;\n    when &quot;Client is due for meningococcal vaccination&quot; then &quot;Client is due for meningococcal vaccination Guidance&quot;\n    when &quot;Meningococcal immunization schedule is complete&quot; then &quot;Meningococcal immunization schedule is complete Guidance&quot; \n    else ''\n  end\n  \ndefine &quot;Has Guidance&quot;:\n  &quot;Guidance&quot; is not null and &quot;Guidance&quot; != ''\n\n/*\n@output: Client is not due for meningococcal vaccination\n@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;\n*/\ndefine &quot;Client is not due for meningococcal vaccination&quot;:\n  Encounter.&quot;Client's age is less than 9 months&quot;\n\n/*\n@output: Client is not due for meningococcal vaccination Guidance\n@guidance: Should not vaccinate client with meningococcal dose as client's age is under 9 months. \nCheck for any other vaccines due and inform the caregiver of when to come back for the first dose.\n*/\ndefine &quot;Client is not due for meningococcal vaccination Guidance&quot;:\n  'Should not vaccinate client with meningococcal dose as client\\'s age is under 9 months. \nCheck for any other vaccines due and inform the caregiver of when to come back for the first dose.'\n\n/*\n@output: Client is due for meningococcal vaccination\n@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Due&quot;\n*/\ndefine &quot;Client is due for meningococcal vaccination&quot;:\n  Encounter.&quot;No meningococcal primary series dose was administered&quot;\n    and Encounter.&quot;Client's age is more than 9 months&quot;\n\n/*\n@output: Client is due for meningococcal vaccination Guidance\n@guidance: Should vaccinate client with meningococcal dose as no meningococcal dose was administered and client is within appropriate age range. \nCheck for contraindications.\n*/\ndefine &quot;Client is due for meningococcal vaccination Guidance&quot;:\n  'Should vaccinate client with meningococcal dose as no meningococcal dose was administered and client is within appropriate age range. \nCheck for contraindications.'\n\n/*\n@output: Meningococcal immunization schedule is complete\n@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Complete&quot;\n&quot;Completed the primary vaccination series&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) = TRUE\n*/\ndefine &quot;Meningococcal immunization schedule is complete&quot;:\n  Encounter.&quot;One meningococcal primary series dose was administered&quot;\n\n/*\n@output: Meningococcal immunization schedule is complete Guidance\n@guidance: Meningococcal immunization schedule is complete. One meningococcal primary series dose was administered. \nCheck for any other vaccines due.\n*/\ndefine &quot;Meningococcal immunization schedule is complete Guidance&quot;:\n  'Meningococcal immunization schedule is complete. One meningococcal primary series dose was administered. \nCheck for any other vaccines due.'\n\n\n/*\n@test: Test expected results based on example patients\n*/\ndefine &quot;Test Validation&quot;:\n  case\n    when Patient.id = 'Meningococcal08.1' then &quot;Client is not due for meningococcal vaccination&quot; and &quot;Guidance&quot; = 'Should not vaccinate client with meningococcal dose as client\\'s age is under 9 months. \nCheck for any other vaccines due and inform the caregiver of when to come back for the first dose.'\n    when Patient.id = 'Meningococcal09.2' then &quot;Client is due for meningococcal vaccination&quot; and &quot;Guidance&quot; = 'Should vaccinate client with meningococcal dose as no meningococcal dose was administered and client is within appropriate age range. \nCheck for contraindications.'\n    when Patient.id = 'Meningococcal10.1' then &quot;Meningococcal immunization schedule is complete&quot; and &quot;Guidance&quot; = 'Meningococcal immunization schedule is complete. One meningococcal primary series dose was administered. \nCheck for any other vaccines due.'\n    else 'No test case set'\n  end\n</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><b>Content: </b> application/elm+xml</th></tr>\n              <tr><td><pre><code>Encoded data (41724 characters)</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n    </table>\n</div>\n</div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
      "valueCode" : "computable"
    }
  ],
  "url" : "http://smart.who.int/immunizations/Library/IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic",
  "version" : "0.2.0",
  "name" : "IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic",
  "title" : "IMMZD2DTMeningococcalMenAConjugateVaccine1DoseLogic",
  "status" : "draft",
  "experimental" : false,
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2025-11-25T20:07:03+00:00",
  "publisher" : "WHO",
  "contact" : [
    {
      "name" : "WHO",
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://who.int"
        }
      ]
    }
  ],
  "description" : "This library defines decision support logic for the IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 1 dose decision table in the Immunization CPG",
  "relatedArtifact" : [
    {
      "type" : "depends-on",
      "display" : "Library Encounter",
      "resource" : "http://smart.who.int/immunizations/Library/IMMZD2DTMeningococcalEncounterElements"
    }
  ],
  "parameter" : [
    {
      "name" : "Today",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "date"
    },
    {
      "name" : "Patient",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Patient"
    },
    {
      "name" : "Client is not due for meningococcal vaccination",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client is not due for meningococcal vaccination Guidance",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "string"
    },
    {
      "name" : "Client is due for meningococcal vaccination",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client is due for meningococcal vaccination Guidance",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "string"
    },
    {
      "name" : "Meningococcal immunization schedule is complete",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Meningococcal immunization schedule is complete Guidance",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "string"
    },
    {
      "name" : "Guidance",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "string"
    },
    {
      "name" : "Has Guidance",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Test Validation",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Resource"
    }
  ],
  "content" : [
    {
      "contentType" : "text/cql",
      "data" : "LyoKICogTGlicmFyeTogSU1NWkQyRFRNZW5pbmdvY29jY2FsTWVuQUNvbmp1Z2F0ZVZhY2NpbmUxRG9zZUxvZ2ljIChJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAxIGRvc2UpCiAqIFJ1bGU6IERldGVybWluZSBpZiB0aGUgY2xpZW50IGlzIGR1ZSBmb3IgYSBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIGFjY29yZGluZyB0byB0aGUgbmF0aW9uYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlCiAqIERlY2lzaW9uIFRhYmxlOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAxLWRvc2Ugc2NoZWR1bGUKICogVHJpZ2dlcjogSU1NWi5EMiBEZXRlcm1pbmUgcmVxdWlyZWQgdmFjY2luYXRpb24ocykgaWYgYW55CiAqLwpsaWJyYXJ5IElNTVpEMkRUTWVuaW5nb2NvY2NhbE1lbkFDb25qdWdhdGVWYWNjaW5lMURvc2VMb2dpYwoKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgSU1NWkQyRFRNZW5pbmdvY29jY2FsRW5jb3VudGVyRWxlbWVudHMgY2FsbGVkIEVuY291bnRlcgoKcGFyYW1ldGVyIFRvZGF5IERhdGUgZGVmYXVsdCBUb2RheSgpCgpjb250ZXh0IFBhdGllbnQKCgovKgpAZHluYW1pY1ZhbHVlOiBHdWlkYW5jZQoqLwpkZWZpbmUgIkd1aWRhbmNlIjoKICBjYXNlIAogICAgd2hlbiAiQ2xpZW50IGlzIG5vdCBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24iIHRoZW4gIkNsaWVudCBpcyBub3QgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIEd1aWRhbmNlIgogICAgd2hlbiAiQ2xpZW50IGlzIGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiIgdGhlbiAiQ2xpZW50IGlzIGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiBHdWlkYW5jZSIKICAgIHdoZW4gIk1lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIiB0aGVuICJNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSBHdWlkYW5jZSIgCiAgICBlbHNlICcnCiAgZW5kCiAgCmRlZmluZSAiSGFzIEd1aWRhbmNlIjoKICAiR3VpZGFuY2UiIGlzIG5vdCBudWxsIGFuZCAiR3VpZGFuY2UiICE9ICcnCgovKgpAb3V0cHV0OiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbgpAcHNldWRvY29kZTogIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIk5vdCBkdWUiCiovCmRlZmluZSAiQ2xpZW50IGlzIG5vdCBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24iOgogIEVuY291bnRlci4iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA5IG1vbnRocyIKCi8qCkBvdXRwdXQ6IENsaWVudCBpcyBub3QgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIEd1aWRhbmNlCkBndWlkYW5jZTogU2hvdWxkIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggbWVuaW5nb2NvY2NhbCBkb3NlIGFzIGNsaWVudCdzIGFnZSBpcyB1bmRlciA5IG1vbnRocy4gCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuCiovCmRlZmluZSAiQ2xpZW50IGlzIG5vdCBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24gR3VpZGFuY2UiOgogICdTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBtZW5pbmdvY29jY2FsIGRvc2UgYXMgY2xpZW50XCdzIGFnZSBpcyB1bmRlciA5IG1vbnRocy4gCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuJwoKLyoKQG91dHB1dDogQ2xpZW50IGlzIGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbgpAcHNldWRvY29kZTogIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIkR1ZSIKKi8KZGVmaW5lICJDbGllbnQgaXMgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIjoKICBFbmNvdW50ZXIuIk5vIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIgogICAgYW5kIEVuY291bnRlci4iQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA5IG1vbnRocyIKCi8qCkBvdXRwdXQ6IENsaWVudCBpcyBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24gR3VpZGFuY2UKQGd1aWRhbmNlOiBTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIG1lbmluZ29jb2NjYWwgZG9zZSBhcyBubyBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50IGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuIApDaGVjayBmb3IgY29udHJhaW5kaWNhdGlvbnMuCiovCmRlZmluZSAiQ2xpZW50IGlzIGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiBHdWlkYW5jZSI6CiAgJ1Nob3VsZCB2YWNjaW5hdGUgY2xpZW50IHdpdGggbWVuaW5nb2NvY2NhbCBkb3NlIGFzIG5vIG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnQgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4gCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4nCgovKgpAb3V0cHV0OiBNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZQpAcHNldWRvY29kZTogIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIkNvbXBsZXRlIgoiQ29tcGxldGVkIHRoZSBwcmltYXJ5IHZhY2NpbmF0aW9uIHNlcmllcyIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIk1lbmluZ29jb2NjYWwgdmFjY2luZXMiKSA9IFRSVUUKKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSI6CiAgRW5jb3VudGVyLiJPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiCgovKgpAb3V0cHV0OiBNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSBHdWlkYW5jZQpAZ3VpZGFuY2U6IE1lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlLiBPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIApDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZS4KKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSBHdWlkYW5jZSI6CiAgJ01lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlLiBPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIApDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZS4nCgoKLyoKQHRlc3Q6IFRlc3QgZXhwZWN0ZWQgcmVzdWx0cyBiYXNlZCBvbiBleGFtcGxlIHBhdGllbnRzCiovCmRlZmluZSAiVGVzdCBWYWxpZGF0aW9uIjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnTWVuaW5nb2NvY2NhbDA4LjEnIHRoZW4gIkNsaWVudCBpcyBub3QgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIiBhbmQgIkd1aWRhbmNlIiA9ICdTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBtZW5pbmdvY29jY2FsIGRvc2UgYXMgY2xpZW50XCdzIGFnZSBpcyB1bmRlciA5IG1vbnRocy4gCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuJwogICAgd2hlbiBQYXRpZW50LmlkID0gJ01lbmluZ29jb2NjYWwwOS4yJyB0aGVuICJDbGllbnQgaXMgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIiBhbmQgIkd1aWRhbmNlIiA9ICdTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIG1lbmluZ29jb2NjYWwgZG9zZSBhcyBubyBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50IGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuIApDaGVjayBmb3IgY29udHJhaW5kaWNhdGlvbnMuJwogICAgd2hlbiBQYXRpZW50LmlkID0gJ01lbmluZ29jb2NjYWwxMC4xJyB0aGVuICJNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSIgYW5kICJHdWlkYW5jZSIgPSAnTWVuaW5nb2NvY2NhbCBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUuIE9uZSBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC4gCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlLicKICAgIGVsc2UgJ05vIHRlc3QgY2FzZSBzZXQnCiAgZW5kCg=="
    },
    {
      "contentType" : "application/elm+xml",
      "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjg2Ij4KICAgICAgICAgPGE6cz4vKgogKiBMaWJyYXJ5OiBJTU1aRDJEVE1lbmluZ29jb2NjYWxNZW5BQ29uanVnYXRlVmFjY2luZTFEb3NlTG9naWMgKElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDEgZG9zZSkKICogUnVsZTogRGV0ZXJtaW5lIGlmIHRoZSBjbGllbnQgaXMgZHVlIGZvciBhIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24gYWNjb3JkaW5nIHRvIHRoZSBuYXRpb25hbCBpbW11bml6YXRpb24gc2NoZWR1bGUKICogRGVjaXNpb24gVGFibGU6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDEtZG9zZSBzY2hlZHVsZQogKiBUcmlnZ2VyOiBJTU1aLkQyIERldGVybWluZSByZXF1aXJlZCB2YWNjaW5hdGlvbihzKSBpZiBhbnkKICovCmxpYnJhcnkgSU1NWkQyRFRNZW5pbmdvY29jY2FsTWVuQUNvbmp1Z2F0ZVZhY2NpbmUxRG9zZUxvZ2ljPC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJJTU1aRDJEVE1lbmluZ29jb2NjYWxNZW5BQ29uanVnYXRlVmFjY2luZTFEb3NlTG9naWMiIHN5c3RlbT0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucyIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iOToxLTk6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwNiI+CiAgICAgICAgICAgICAgIDxhOnM+dXNpbmcgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwOCIgbG9jYXRvcj0iMTA6MS0xMDozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2hsNy5vcmcvZmhpci9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDgiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjEyOjEtMTI6NjMiIGxvY2FsSWRlbnRpZmllcj0iRW5jb3VudGVyIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpEMkRUTWVuaW5nb2NvY2NhbEVuY291bnRlckVsZW1lbnRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpEMkRUTWVuaW5nb2NvY2NhbEVuY291bnRlckVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIyMTIiIGxvY2F0b3I9IjE0OjEtMTQ6MzYiIG5hbWU9IlRvZGF5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgVG9kYXkgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkZWZhdWx0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjE1IiBsb2NhdG9yPSIxNDozMC0xNDozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIxNiIgbG9jYXRvcj0iMTQ6MTctMTQ6MjAiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSIxNjoxLTE2OjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxOSIgbG9jYXRvcj0iMTY6MS0xNjoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyMCIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjE2OjEtMTY6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjkiIGxvY2F0b3I9IjM3OjEtMzg6NDgiIG5hbWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iQ2xpZW50IGlzIG5vdCBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7SW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyZxdW90OyA9ICZxdW90O05vdCBkdWUmcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyMjkiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IENsaWVudCBpcyBub3QgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uCkBwc2V1ZG9jb2RlOiAmcXVvdDtJbW11bml6YXRpb24gcmVjb21tZW5kYXRpb24gc3RhdHVzJnF1b3Q7ID0gJnF1b3Q7Tm90IGR1ZSZxdW90OwoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGlzIG5vdCBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgbW9udGhzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMxIiBsb2NhdG9yPSIzODozLTM4OjQ4IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgbW9udGhzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzUiIGxvY2F0b3I9IjQ1OjEtNDY6MTkxIiBuYW1lPSJDbGllbnQgaXMgbm90IGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiBHdWlkYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIEd1aWRhbmNlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZ3VpZGFuY2UiIHZhbHVlPSJTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBtZW5pbmdvY29jY2FsIGRvc2UgYXMgY2xpZW50J3MgYWdlIGlzIHVuZGVyIDkgbW9udGhzLiAmI3hhO0NoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiBHdWlkYW5jZQpAZ3VpZGFuY2U6IFNob3VsZCBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIG1lbmluZ29jb2NjYWwgZG9zZSBhcyBjbGllbnQncyBhZ2UgaXMgdW5kZXIgOSBtb250aHMuIApDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBmaXJzdCBkb3NlLgoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGlzIG5vdCBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24gR3VpZGFuY2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4nU2hvdWxkIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggbWVuaW5nb2NvY2NhbCBkb3NlIGFzIGNsaWVudFwncyBhZ2UgaXMgdW5kZXIgOSBtb250aHMuIApDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBmaXJzdCBkb3NlLic8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzNiIgbG9jYXRvcj0iNDY6My00NjoxOTEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBtZW5pbmdvY29jY2FsIGRvc2UgYXMgY2xpZW50J3MgYWdlIGlzIHVuZGVyIDkgbW9udGhzLiAmI3hhO0NoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjUzOjEtNTU6NTQiIG5hbWU9IkNsaWVudCBpcyBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJDbGllbnQgaXMgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtEdWUmcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IENsaWVudCBpcyBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24KQHBzZXVkb2NvZGU6ICZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtEdWUmcXVvdDsKKi8KZGVmaW5lICZxdW90O0NsaWVudCBpcyBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gOSBtb250aHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQzIiBsb2NhdG9yPSI1NDozLTU1OjU0IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSI1NDozLTU0OjY3IiBuYW1lPSJObyBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgbGlicmFyeU5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ3IiBsb2NhdG9yPSI1NTo5LTU1OjU0IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDkgbW9udGhzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iNjI6MS02MzoxNjciIG5hbWU9IkNsaWVudCBpcyBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24gR3VpZGFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJDbGllbnQgaXMgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIEd1aWRhbmNlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZ3VpZGFuY2UiIHZhbHVlPSJTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIG1lbmluZ29jb2NjYWwgZG9zZSBhcyBubyBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50IGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuICYjeGE7Q2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLiIvPgogICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQG91dHB1dDogQ2xpZW50IGlzIGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiBHdWlkYW5jZQpAZ3VpZGFuY2U6IFNob3VsZCB2YWNjaW5hdGUgY2xpZW50IHdpdGggbWVuaW5nb2NvY2NhbCBkb3NlIGFzIG5vIG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnQgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4gCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4KKi8KZGVmaW5lICZxdW90O0NsaWVudCBpcyBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24gR3VpZGFuY2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjUyIj4KICAgICAgICAgICAgICAgICAgPGE6cz4nU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBtZW5pbmdvY29jY2FsIGRvc2UgYXMgbm8gbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYW5kIGNsaWVudCBpcyB3aXRoaW4gYXBwcm9wcmlhdGUgYWdlIHJhbmdlLiAKQ2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLic8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MiIgbG9jYXRvcj0iNjM6My02MzoxNjciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIG1lbmluZ29jb2NjYWwgZG9zZSBhcyBubyBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50IGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuICYjeGE7Q2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSI3MToxLTcyOjY4IiBuYW1lPSJNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9Ik1lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtDb21wbGV0ZSZxdW90OyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1OCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQG91dHB1dDogTWVuaW5nb2NvY2NhbCBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUKQHBzZXVkb2NvZGU6ICZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtDb21wbGV0ZSZxdW90OwomcXVvdDtDb21wbGV0ZWQgdGhlIHByaW1hcnkgdmFjY2luYXRpb24gc2VyaWVzJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSA9IFRSVUUKKi8KZGVmaW5lICZxdW90O01lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T25lIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjYwIiBsb2NhdG9yPSI3MjozLTcyOjY4IiBuYW1lPSJPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2NCIgbG9jYXRvcj0iNzk6MS04MDoxNDMiIG5hbWU9Ik1lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIEd1aWRhbmNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iTWVuaW5nb2NvY2NhbCBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUgR3VpZGFuY2UiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJndWlkYW5jZSIgdmFsdWU9Ik1lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlLiBPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuICYjeGE7Q2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjY0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSBHdWlkYW5jZQpAZ3VpZGFuY2U6IE1lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlLiBPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIApDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZS4KKi8KZGVmaW5lICZxdW90O01lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIEd1aWRhbmNlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+J01lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlLiBPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIApDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZS4nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNjUiIGxvY2F0b3I9IjgwOjMtODA6MTQzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWVuaW5nb2NvY2NhbCBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUuIE9uZSBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC4gJiN4YTtDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZS4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iMjI6MS0yODo1IiBuYW1lPSJHdWlkYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImR5bmFtaWNWYWx1ZSIgdmFsdWU9Ikd1aWRhbmNlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjI0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZHluYW1pY1ZhbHVlOiBHdWlkYW5jZQoqLwpkZWZpbmUgJnF1b3Q7R3VpZGFuY2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5jYXNlIAogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q2xpZW50IGlzIG5vdCBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgaXMgbm90IGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiBHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgaXMgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q2xpZW50IGlzIGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiBHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIEd1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4gCiAgICBlbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Jyc8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgZW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjIzOjMtMjg6NSIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjI2IiBsb2NhdG9yPSIyNDo1LTI0OjEyMiI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iMjQ6MTAtMjQ6NTgiIG5hbWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyMzgiIGxvY2F0b3I9IjI0OjY1LTI0OjEyMiIgbmFtZT0iQ2xpZW50IGlzIG5vdCBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24gR3VpZGFuY2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjI1OjUtMjU6MTE0Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjQ4IiBsb2NhdG9yPSIyNToxMC0yNTo1NCIgbmFtZT0iQ2xpZW50IGlzIGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSIyNTo2MS0yNToxMTQiIG5hbWU9IkNsaWVudCBpcyBkdWUgZm9yIG1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24gR3VpZGFuY2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyNTUiIGxvY2F0b3I9IjI2OjUtMjY6MTIyIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjYxIiBsb2NhdG9yPSIyNjoxMC0yNjo1OCIgbmFtZT0iTWVuaW5nb2NvY2NhbCBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjI2NyIgbG9jYXRvcj0iMjY6NjUtMjY6MTIyIiBuYW1lPSJNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSBHdWlkYW5jZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMjY4IiBsb2NhdG9yPSIyNzoxMC0yNzoxMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjMwOjEtMzE6NDUiIG5hbWU9IkhhcyBHdWlkYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0hhcyBHdWlkYW5jZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbm90IG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7R3VpZGFuY2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICE9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Jyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjczIiBsb2NhdG9yPSIzMTozLTMxOjQ1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc2IiBsb2NhdG9yPSIzMTozLTMxOjI0IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc1IiBsb2NhdG9yPSIzMTozLTMxOjI0IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc0IiBsb2NhdG9yPSIzMTozLTMxOjEyIiBuYW1lPSJHdWlkYW5jZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4MyIgbG9jYXRvcj0iMzE6MzAtMzE6NDUiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzciIGxvY2F0b3I9IjMxOjMwLTMxOjQ1IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI4MSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyODIiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3OCIgbG9jYXRvcj0iMzE6MzAtMzE6MzkiIG5hbWU9Ikd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzkiIGxvY2F0b3I9IjMxOjQ0LTMxOjQ1IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyODYiIGxvY2F0b3I9Ijg3OjEtOTY6NSIgbmFtZT0iVGVzdCBWYWxpZGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0idGVzdCIgdmFsdWU9IlRlc3QgZXhwZWN0ZWQgcmVzdWx0cyBiYXNlZCBvbiBleGFtcGxlIHBhdGllbnRzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjg2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAdGVzdDogVGVzdCBleHBlY3RlZCByZXN1bHRzIGJhc2VkIG9uIGV4YW1wbGUgcGF0aWVudHMKKi8KZGVmaW5lICZxdW90O1Rlc3QgVmFsaWRhdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyODciPgogICAgICAgICAgICAgICAgICA8YTpzPmNhc2UKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidNZW5pbmdvY29jY2FsMDguMSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgaXMgbm90IGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBtZW5pbmdvY29jY2FsIGRvc2UgYXMgY2xpZW50XCdzIGFnZSBpcyB1bmRlciA5IG1vbnRocy4gCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidNZW5pbmdvY29jY2FsMDkuMic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgaXMgZHVlIGZvciBtZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0d1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J1Nob3VsZCB2YWNjaW5hdGUgY2xpZW50IHdpdGggbWVuaW5nb2NvY2NhbCBkb3NlIGFzIG5vIG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnQgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4gCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J01lbmluZ29jb2NjYWwxMC4xJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0d1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J01lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlLiBPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIApDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZS4nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPidObyB0ZXN0IGNhc2Ugc2V0JzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBlbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI4NyIgbG9jYXRvcj0iODg6My05Njo1IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyODgiIGxvY2F0b3I9Ijg5OjUtODk6MzAzIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjg5IiBsb2NhdG9yPSI4OToxMC04OTo0MSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyOTYiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjk3IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTQiIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjk1IiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTEiIGxvY2F0b3I9Ijg5OjEwLTg5OjE5IiBwYXRoPSJpZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOTAiIGxvY2F0b3I9Ijg5OjEwLTg5OjE2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkyIiBsb2NhdG9yPSI4OToyMy04OTo0MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik1lbmluZ29jb2NjYWwwOC4xIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjM0NCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk4IiBsb2NhdG9yPSI4OTo0OC04OTozMDMiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTkiIGxvY2F0b3I9Ijg5OjQ4LTg5Ojk2IiBuYW1lPSJDbGllbnQgaXMgbm90IGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAwIiBsb2NhdG9yPSI4OToxMDItODk6MzAzIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMwNCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMDUiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwMSIgbG9jYXRvcj0iODk6MTAyLTg5OjExMSIgbmFtZT0iR3VpZGFuY2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwMiIgbG9jYXRvcj0iODk6MTE1LTg5OjMwMyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlNob3VsZCBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIG1lbmluZ29jb2NjYWwgZG9zZSBhcyBjbGllbnQncyBhZ2UgaXMgdW5kZXIgOSBtb250aHMuICYjeGE7Q2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUgYW5kIGluZm9ybSB0aGUgY2FyZWdpdmVyIG9mIHdoZW4gdG8gY29tZSBiYWNrIGZvciB0aGUgZmlyc3QgZG9zZS4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM0NSIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM0NiIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzQ3IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMzA2IiBsb2NhdG9yPSI5MTo1LTkxOjI3NSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjMwNyIgbG9jYXRvcj0iOTE6MTAtOTE6NDEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzE0IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxNSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEyIiBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxMyIgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA5IiBsb2NhdG9yPSI5MToxMC05MToxOSIgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSI5MToxMC05MToxNiIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iOTE6MjMtOTE6NDEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJNZW5pbmdvY29jY2FsMDkuMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIzNDgiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxNiIgbG9jYXRvcj0iOTE6NDgtOTE6Mjc1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE3IiBsb2NhdG9yPSI5MTo0OC05MTo5MiIgbmFtZT0iQ2xpZW50IGlzIGR1ZSBmb3IgbWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE4IiBsb2NhdG9yPSI5MTo5OC05MToyNzUiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzIyIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMyMyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE5IiBsb2NhdG9yPSI5MTo5OC05MToxMDciIG5hbWU9Ikd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjAiIGxvY2F0b3I9IjkxOjExMS05MToyNzUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIG1lbmluZ29jb2NjYWwgZG9zZSBhcyBubyBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50IGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuICYjeGE7Q2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzQ5IiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzUwIiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIzNTEiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIzMjQiIGxvY2F0b3I9IjkzOjUtOTM6MjU1Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMzI1IiBsb2NhdG9yPSI5MzoxMC05Mzo0MSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMzIiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzMzIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzAiIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzMxIiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjciIGxvY2F0b3I9IjkzOjEwLTkzOjE5IiBwYXRoPSJpZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMjYiIGxvY2F0b3I9IjkzOjEwLTkzOjE2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI4IiBsb2NhdG9yPSI5MzoyMy05Mzo0MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik1lbmluZ29jb2NjYWwxMC4xIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjM1MiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM0IiBsb2NhdG9yPSI5Mzo0OC05MzoyNTUiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzUiIGxvY2F0b3I9IjkzOjQ4LTkzOjk2IiBuYW1lPSJNZW5pbmdvY29jY2FsIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM2IiBsb2NhdG9yPSI5MzoxMDItOTM6MjU1IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM0MCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNDEiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNyIgbG9jYXRvcj0iOTM6MTAyLTkzOjExMSIgbmFtZT0iR3VpZGFuY2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzOCIgbG9jYXRvcj0iOTM6MTE1LTkzOjI1NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik1lbmluZ29jb2NjYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlLiBPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuICYjeGE7Q2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUuIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNTMiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIzNTQiIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM1NSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMzU2IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDIiIGxvY2F0b3I9Ijk1OjEwLTk1OjI3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTm8gdGVzdCBjYXNlIHNldCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNTciIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIzNTgiIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM1OSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg=="
    }
  ]
}