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
| Draft as of 2025-11-25 |
{
"resourceType" : "Library",
"id" : "IMMZD2DTVaricellaEncounterElements",
"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;\">IMMZD2DTVaricellaEncounterElements</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD2DTVaricellaEncounterElements</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-IMMZD2DTVaricellaEncounterElements.html\">IMMZD2DTVaricellaEncounterElements</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 encounter-based elements for Varicella used throughout 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-WHOConcepts.html\">WHOConcepts</a></li>\n \n <li><a href=\"Library-WHOCommon.html\">WHOCommon</a></li>\n \n <li><a href=\"Library-WHOElements.html\">WHOElements</a></li>\n \n <li><a href=\"Library-IMMZCommon.html\">IMMZCommon</a></li>\n \n <li><a href=\"Library-IMMZConcepts.html\">IMMZConcepts</a></li>\n \n <li><a href=\"Library-IMMZEncounterElements.html\">IMMZEncounterElements</a></li>\n \n <li><a href=\"Library-IMMZD2DTVaricellaElements.html\">IMMZD2DTVaricellaElements</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>EncounterId</th><th>string</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>Varicella Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>Varicella Primary Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>Number of Varicella Primary Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client's age is less than 12 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>No varicella primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Cient's age is more than or equal to 12 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Live vaccine was administered in the past 4 weeks</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>No live vaccine was administered in the past 4 weeks</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>One varicella primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>No varicella primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Date of Latest Varicella Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest varicella dose administered less than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest varicella dose administered more than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Two varicella primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n </table>\n </td>\n </tr>\n \n\n \n\n \n \n <tr>\n <td colspan=\"2\">\n <table>\n <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n <tr><td><pre><code class=\"language-cql\">\n/*\n * Library: IMMZD2DTVaricellaEncounterElements\n */\nlibrary IMMZD2DTVaricellaEncounterElements\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOConcepts\ninclude WHOCommon called WC\ninclude WHOElements called WE\n\ninclude IMMZCommon called Common\ninclude IMMZConcepts called Concepts\ninclude IMMZEncounterElements called Encounter\n\ninclude IMMZD2DTVaricellaElements called VaricellaElements\n\nparameter Today Date default Today()\nparameter EncounterId String\n\ncontext Patient\n\n/*\n@internal: Varicella containing Doses Administered to Patient\n*/\ndefine "Varicella Doses Administered to Patient":\n Encounter."Doses Administered to Patient" I\n where\n I.vaccineCode in Concepts."Varicella-containing vaccines"\n\n/*\n@internal: Varicella containing Doses Administered to Patient that are in the Primary series\n*/\ndefine "Varicella Primary Series Doses Administered to Patient":\n "Varicella Doses Administered to Patient".seriesPrimary()\n\n/*\n@internal: Number of Varicella Primary Series doses\n*/\ndefine "Number of Varicella Primary Series Doses Administered":\n Count("Varicella Primary Series Doses Administered to Patient")\n\n/*\n@input: Client's age is less than 12 months\n@pseudocode: Today's date − "Date of birth" < 12 months\n@code: Client's age is less than 12 months-42\n@decision: IMMZ.D2.DT.Varicella.1 dose: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n@decision: IMMZ.D2.DT.Varicella.2 doses: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n*/\ndefine "Client's age is less than 12 months":\n Encounter."Current Patient Age In Months" < 12\n\n/*\n@input: No varicella primary series dose was administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Varicella-containing vaccines" and "Type of dose" = "Primary series") = 0\n@code: No varicella primary series dose was administered-129\n@decision: IMMZ.D2.DT.Varicella.1 dose: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n*/\ndefine "No varicella primary series dose was administered":\n "Number of Varicella Primary Series Doses Administered" = 0\n\n/*\n@input: Cient's age is more than or equal to 12 months\n@pseudocode: Today's date − "Date of birth" ≥ 12 months\n@code: Cient's age is more than or equal to 12 months-42\n@decision: IMMZ.D2.DT.Varicella.1 dose: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n@decision: IMMZ.D2.DT.Varicella.2 doses: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n*/\ndefine "Cient's age is more than or equal to 12 months":\n Encounter."Current Patient Age In Months" >= 12\n\n/*\n@input: Live vaccine was administered in the past 4 weeks\n@pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) < 4 weeks\n@code: Live vaccine was administered in the past 4 weeks-92\n@decision: IMMZ.D2.DT.Varicella.1 dose: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n@decision: IMMZ.D2.DT.Varicella.2 doses: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n*/\ndefine "Live vaccine was administered in the past 4 weeks":\n Encounter."Live vaccine was administered in the last 4 weeks"\n\n/*\n@input: No live vaccine was administered in the past 4 weeks\n@pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) ≥ 4 weeks\n@code: No live vaccine was administered in the past 4 weeks-92\n@decision: IMMZ.D2.DT.Varicella.1 dose: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n@decision: IMMZ.D2.DT.Varicella.2 doses: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n*/\ndefine "No live vaccine was administered in the past 4 weeks":\n Encounter."No live vaccine was administered in the last 4 weeks"\n\n/*\n@input: One varicella primary series dose was administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Varicella-containing vaccines" and "Type of dose" = "Primary series") = 1\n@code: One varicella primary series dose was administered-129\n@decision: IMMZ.D2.DT.Varicella.1 dose: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n@decision: IMMZ.D2.DT.Varicella.2 doses: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n*/\ndefine "One varicella primary series dose was administered":\n "Number of Varicella Primary Series Doses Administered" = 1\n\n/*\n@input: No varicella primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Varicella-containing vaccines" and "Type of dose" = "Primary series") = 0\n@code: No varicella primary series doses were administered-129\n@decision: IMMZ.D2.DT.Varicella.2 doses: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n*/\ndefine "No varicella primary series doses were administered":\n "No varicella primary series dose was administered"\n\n/*\n@input: The latest varicella dose administered less than 4 weeks ago\n@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Varicella-containing vaccines") < 4 weeks\n@code: The latest varicella dose administered less than 4 weeks ago-112\n@decision: IMMZ.D2.DT.Varicella.2 doses: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n*/\ndefine "The latest varicella dose administered less than 4 weeks ago":\n\t"Date of Latest Varicella Dose" is not null\n and duration in weeks between "Date of Latest Varicella Dose" and Today < 4\n\n/*\n@input: The latest varicella dose administered more than 4 weeks ago\n@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Varicella-containing vaccines") ≥ 4 weeks\n@code: The latest varicella dose administered more than 4 weeks ago-112\n@decision: IMMZ.D2.DT.Varicella.2 doses: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n*/\ndefine "The latest varicella dose administered more than 4 weeks ago":\n not "The latest varicella dose administered less than 4 weeks ago"\n\n/*\n@input: Two varicella primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Varicella-containing vaccines" and "Type of dose" = "Primary series") = 2\n@code: Two varicella primary series doses were administered-129\n@decision: IMMZ.D2.DT.Varicella.2 doses: Countries where varicella is an important public health burden could consider introducing varicella vaccination in the routine childhood immunization programme. However, resources should be sufficient to ensure reaching and sustaining vaccine coverage ≥ 80%. Decision-making on childhood varicella vaccination should also include consideration of the possible impact on herpes zoster.\nThe number of doses recommended is dependent on the goal of the vaccination programme. One dose is sufficient to reduce mortality and severe morbidity from varicella but not to prevent limited virus circulation and outbreaks. Two doses have higher effectiveness and should therefore be recommended in countries where the programmatic goal is, in addition to decreasing mortality and severe morbidity, to further reduce the number of cases and outbreaks.\n*/\ndefine "Two varicella primary series doses were administered":\n "Number of Varicella Primary Series Doses Administered" = 2\n\n/*\n@internal: Date of Latest Varicella Dose\n*/\ndefine "Date of Latest Varicella Dose":\n date from start of "Varicella Doses Administered to Patient".mostRecent().occurrence.toInterval()\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 (79424 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/IMMZD2DTVaricellaEncounterElements",
"version" : "0.2.0",
"name" : "IMMZD2DTVaricellaEncounterElements",
"title" : "IMMZD2DTVaricellaEncounterElements",
"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 encounter-based elements for Varicella used throughout the Immunization CPG",
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library WHOConcepts",
"resource" : "http://smart.who.int/immunizations/Library/WHOConcepts"
},
{
"type" : "depends-on",
"display" : "Library WC",
"resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
},
{
"type" : "depends-on",
"display" : "Library WE",
"resource" : "http://smart.who.int/immunizations/Library/WHOElements"
},
{
"type" : "depends-on",
"display" : "Library Common",
"resource" : "http://smart.who.int/immunizations/Library/IMMZCommon"
},
{
"type" : "depends-on",
"display" : "Library Concepts",
"resource" : "http://smart.who.int/immunizations/Library/IMMZConcepts"
},
{
"type" : "depends-on",
"display" : "Library Encounter",
"resource" : "http://smart.who.int/immunizations/Library/IMMZEncounterElements"
},
{
"type" : "depends-on",
"display" : "Library VaricellaElements",
"resource" : "http://smart.who.int/immunizations/Library/IMMZD2DTVaricellaElements"
}
],
"parameter" : [
{
"name" : "Today",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "EncounterId",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Varicella Doses Administered to Patient",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Immunization"
},
{
"name" : "Varicella Primary Series Doses Administered to Patient",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Immunization"
},
{
"name" : "Number of Varicella Primary Series Doses Administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "integer"
},
{
"name" : "Client's age is less than 12 months",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "No varicella primary series dose was administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Cient's age is more than or equal to 12 months",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Live vaccine was administered in the past 4 weeks",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "No live vaccine was administered in the past 4 weeks",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "One varicella primary series dose was administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "No varicella primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Date of Latest Varicella Dose",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "The latest varicella dose administered less than 4 weeks ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The latest varicella dose administered more than 4 weeks ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Two varicella primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVFZhcmljZWxsYUVuY291bnRlckVsZW1lbnRzCiAgKi8KbGlicmFyeSBJTU1aRDJEVFZhcmljZWxsYUVuY291bnRlckVsZW1lbnRzCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db25jZXB0cwppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKaW5jbHVkZSBXSE9FbGVtZW50cyBjYWxsZWQgV0UKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwppbmNsdWRlIElNTVpFbmNvdW50ZXJFbGVtZW50cyBjYWxsZWQgRW5jb3VudGVyCgppbmNsdWRlIElNTVpEMkRUVmFyaWNlbGxhRWxlbWVudHMgY2FsbGVkIFZhcmljZWxsYUVsZW1lbnRzCgpwYXJhbWV0ZXIgVG9kYXkgRGF0ZSBkZWZhdWx0IFRvZGF5KCkKcGFyYW1ldGVyIEVuY291bnRlcklkIFN0cmluZwoKY29udGV4dCBQYXRpZW50CgovKgpAaW50ZXJuYWw6IFZhcmljZWxsYSBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50CiovCmRlZmluZSAiVmFyaWNlbGxhIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICBFbmNvdW50ZXIuIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBJCiAgd2hlcmUKICAgIEkudmFjY2luZUNvZGUgaW4gQ29uY2VwdHMuIlZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzIgoKLyoKQGludGVybmFsOiBWYXJpY2VsbGEgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgUHJpbWFyeSBzZXJpZXMKKi8KZGVmaW5lICJWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogICJWYXJpY2VsbGEgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLnNlcmllc1ByaW1hcnkoKQoKLyoKQGludGVybmFsOiBOdW1iZXIgb2YgVmFyaWNlbGxhIFByaW1hcnkgU2VyaWVzIGRvc2VzCiovCmRlZmluZSAiTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiOgogIENvdW50KCJWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiKQoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCAxMiBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzLTQyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocyI6CiAgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgPCAxMgoKLyoKQGlucHV0OiBObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDAKQGNvZGU6IE5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTI5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICJObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMAoKLyoKQGlucHV0OiBDaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaUgMTIgbW9udGhzCkBjb2RlOiBDaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzLTQyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICJDaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzIjoKICBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiA+PSAxMgoKLyoKQGlucHV0OiBMaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJMaXZlIHZhY2NpbmUiID0gVFJVRSkgPCA0IHdlZWtzCkBjb2RlOiBMaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzLTkyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICJMaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzIjoKICBFbmNvdW50ZXIuIkxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBsYXN0IDQgd2Vla3MiCgovKgpAaW5wdXQ6IE5vIGxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIkxpdmUgdmFjY2luZSIgPSBUUlVFKSDiiaUgNCB3ZWVrcwpAY29kZTogTm8gbGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcy05MgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjEgZG9zZTogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAiTm8gbGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcyI6CiAgRW5jb3VudGVyLiJObyBsaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgbGFzdCA0IHdlZWtzIgoKLyoKQGlucHV0OiBPbmUgdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAxCkBjb2RlOiBPbmUgdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMjkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4xIGRvc2U6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgIk9uZSB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMQoKLyoKQGlucHV0OiBObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMApAY29kZTogTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyOQpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgIk5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgdmFyaWNlbGxhIGRvc2UgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzIikgPCA0IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28tMTEyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAiVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIjoKCSJEYXRlIG9mIExhdGVzdCBWYXJpY2VsbGEgRG9zZSIgaXMgbm90IG51bGwKICAgIGFuZCBkdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBWYXJpY2VsbGEgRG9zZSIgYW5kIFRvZGF5IDwgNAoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyIpIOKJpSA0IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28tMTEyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAiVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDQgd2Vla3MgYWdvIjoKICBub3QgIlRoZSBsYXRlc3QgdmFyaWNlbGxhIGRvc2UgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyIKCi8qCkBpbnB1dDogVHdvIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAyCkBjb2RlOiBUd28gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyOQpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgIlR3byB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgVmFyaWNlbGxhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAyCgovKgpAaW50ZXJuYWw6IERhdGUgb2YgTGF0ZXN0IFZhcmljZWxsYSBEb3NlCiovCmRlZmluZSAiRGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UiOgogIGRhdGUgZnJvbSBzdGFydCBvZiAiVmFyaWNlbGxhIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5tb3N0UmVjZW50KCkub2NjdXJyZW5jZS50b0ludGVydmFsKCkK"
},
{
"contentType" : "application/elm+xml",
"data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMzE4Ij4KICAgICAgICAgPGE6cz4vKgogICogTGlicmFyeTogSU1NWkQyRFRWYXJpY2VsbGFFbmNvdW50ZXJFbGVtZW50cwogICovCmxpYnJhcnkgSU1NWkQyRFRWYXJpY2VsbGFFbmNvdW50ZXJFbGVtZW50czwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iSU1NWkQyRFRWYXJpY2VsbGFFbmNvdW50ZXJFbGVtZW50cyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSI3OjEtNzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgPGE6cz51c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSI4OjEtODozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2hsNy5vcmcvZmhpci9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDgiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjEwOjEtMTA6MTkiIGxvY2FsSWRlbnRpZmllcj0iV0hPQ29uY2VwdHMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvV0hPQ29uY2VwdHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iMTE6MS0xMToyNyIgbG9jYWxJZGVudGlmaWVyPSJXQyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9XSE9Db21tb24iPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0M8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE0IiBsb2NhdG9yPSIxMjoxLTEyOjI5IiBsb2NhbElkZW50aWZpZXI9IldFIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL1dIT0VsZW1lbnRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPldIT0VsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxNDoxLTE0OjMyIiBsb2NhbElkZW50aWZpZXI9IkNvbW1vbiIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9JTU1aQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBDb21tb248L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE4IiBsb2NhdG9yPSIxNToxLTE1OjM2IiBsb2NhbElkZW50aWZpZXI9IkNvbmNlcHRzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpDb25jZXB0cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBDb25jZXB0czwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjE2OjEtMTY6NDYiIGxvY2FsSWRlbnRpZmllcj0iRW5jb3VudGVyIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpFbmNvdW50ZXJFbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyMCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aRW5jb3VudGVyRWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSIxODoxLTE4OjU4IiBsb2NhbElkZW50aWZpZXI9IlZhcmljZWxsYUVsZW1lbnRzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpEMkRUVmFyaWNlbGxhRWxlbWVudHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkQyRFRWYXJpY2VsbGFFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIFZhcmljZWxsYUVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIyMjQiIGxvY2F0b3I9IjIwOjEtMjA6MzYiIG5hbWU9IlRvZGF5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjI0Ij4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgVG9kYXkgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkZWZhdWx0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjI3IiBsb2NhdG9yPSIyMDozMC0yMDozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIyOCIgbG9jYXRvcj0iMjA6MTctMjA6MjAiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzAiIGxvY2F0b3I9IjIxOjEtMjE6MjgiIG5hbWU9IkVuY291bnRlcklkIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgRW5jb3VudGVySWQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzMSIgbG9jYXRvcj0iMjE6MjMtMjE6MjgiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICA8L3BhcmFtZXRlcnM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjIzOjEtMjM6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSIyMzoxLTIzOjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjM1IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMjM6MS0yMzoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMjg6MS0zMTo2MSIgbmFtZT0iVmFyaWNlbGxhIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJWYXJpY2VsbGEgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIvPgogICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBWYXJpY2VsbGEgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudAoqLwpkZWZpbmUgJnF1b3Q7VmFyaWNlbGxhIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlci4mcXVvdDtEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFjY2luZUNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTEiIGxvY2F0b3I9IjI5OjMtMzE6NjEiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIyOTozLTI5OjQ1IiBhbGlhcz0iSSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI0MiIgbG9jYXRvcj0iMjk6My0yOTo0MyIgbmFtZT0iRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjQ4IiBsb2NhdG9yPSIzMDozLTMxOjYxIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjUwIiBuYW1lPSJ0OkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNvZGUgbG9jYWxJZD0iMjQ5IiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIzMTo1LTMxOjE3IiBwYXRoPSJ2YWNjaW5lQ29kZSIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyNDciIGxvY2F0b3I9IjMxOjIyLTMxOjYxIiBuYW1lPSJWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyIgbGlicmFyeU5hbWU9IkNvbmNlcHRzIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1NCIgbG9jYXRvcj0iMzY6MS0zNzo1OSIgbmFtZT0iVmFyaWNlbGxhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJWYXJpY2VsbGEgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgUHJpbWFyeSBzZXJpZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIyNTQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogVmFyaWNlbGxhIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIFByaW1hcnkgc2VyaWVzCiovCmRlZmluZSAmcXVvdDtWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ZhcmljZWxsYSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zZXJpZXNQcmltYXJ5KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjM3OjMtMzc6NTkiIG5hbWU9InNlcmllc1ByaW1hcnkiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1NSIgbG9jYXRvcj0iMzc6My0zNzo0MyIgbmFtZT0iVmFyaWNlbGxhIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1OSIgbG9jYXRvcj0iNDI6MS00Mzo2NSIgbmFtZT0iTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9Ik51bWJlciBvZiBWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgZG9zZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIyNTkiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7TnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjYzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Db3VudCg8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNjMiIGxvY2F0b3I9IjQzOjMtNDM6NjUiIHhzaTp0eXBlPSJDb3VudCI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjYwIiBsb2NhdG9yPSI0Mzo5LTQzOjY0IiBuYW1lPSJWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSI1NDoxLTU1OjQ4IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDEyIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocy00MiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjY2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAxMiBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzLTQyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcwIj4gJmx0OyAxMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjY3IiBsb2NhdG9yPSI1NTozLTU1OjQ4IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjcxIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNzIiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjkiIGxvY2F0b3I9IjU1OjMtNTU6NDMiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzAiIGxvY2F0b3I9IjU1OjQ3LTU1OjQ4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3NSIgbG9jYXRvcj0iNjQ6MS02NTo2MSIgbmFtZT0iTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyOSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjc1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDAKQGNvZGU6IE5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTI5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICZxdW90O05vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjc2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+ID0gMDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjc2IiBsb2NhdG9yPSI2NTozLTY1OjYxIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI3OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjgwIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc3IiBsb2NhdG9yPSI2NTozLTY1OjU3IiBuYW1lPSJOdW1iZXIgb2YgVmFyaWNlbGxhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSI2NTo2MSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4MyIgbG9jYXRvcj0iNzY6MS03Nzo0OSIgbmFtZT0iQ2llbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2llbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAxMiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iQ2llbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocy00MiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjgzIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgMTIgbW9udGhzCkBjb2RlOiBDaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzLTQyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICZxdW90O0NpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjg0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODciPiA+PSAxMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjg0IiBsb2NhdG9yPSI3NzozLTc3OjQ5IiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI4OCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjg5IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg2IiBsb2NhdG9yPSI3NzozLTc3OjQzIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgbGlicmFyeU5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg3IiBsb2NhdG9yPSI3Nzo0OC03Nzo0OSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOTIiIGxvY2F0b3I9Ijg4OjEtODk6NjMiIG5hbWU9IkxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7TGl2ZSB2YWNjaW5lJnF1b3Q7ID0gVFJVRSkgJmx0OyA0IHdlZWtzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MtOTIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuVmFyaWNlbGxhLjEgZG9zZTogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTpzIHI9IjI5MiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBMaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtMaXZlIHZhY2NpbmUmcXVvdDsgPSBUUlVFKSAmbHQ7IDQgd2Vla3MKQGNvZGU6IExpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MtOTIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4xIGRvc2U6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgJnF1b3Q7TGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyOTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBsYXN0IDQgd2Vla3MmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOTQiIGxvY2F0b3I9Ijg5OjMtODk6NjMiIG5hbWU9IkxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBsYXN0IDQgd2Vla3MiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5NyIgbG9jYXRvcj0iMTAwOjEtMTAxOjY2IiBuYW1lPSJObyBsaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJObyBsaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O0xpdmUgdmFjY2luZSZxdW90OyA9IFRSVUUpIOKJpSA0IHdlZWtzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9Ik5vIGxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MtOTIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuVmFyaWNlbGxhLjEgZG9zZTogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTpzIHI9IjI5NyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBObyBsaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtMaXZlIHZhY2NpbmUmcXVvdDsgPSBUUlVFKSDiiaUgNCB3ZWVrcwpAY29kZTogTm8gbGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcy05MgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjEgZG9zZTogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAmcXVvdDtObyBsaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI5OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Tm8gbGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIGxhc3QgNCB3ZWVrcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI5OSIgbG9jYXRvcj0iMTAxOjMtMTAxOjY2IiBuYW1lPSJObyBsaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgbGFzdCA0IHdlZWtzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMDIiIGxvY2F0b3I9IjExMjoxLTExMzo2MSIgbmFtZT0iT25lIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9Ik9uZSB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAxIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9Ik9uZSB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyOSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzAyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE9uZSB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAxCkBjb2RlOiBPbmUgdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMjkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4xIGRvc2U6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgJnF1b3Q7T25lIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzAzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNSI+ID0gMTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzAzIiBsb2NhdG9yPSIxMTM6My0xMTM6NjEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzA2IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMDciIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDQiIGxvY2F0b3I9IjExMzozLTExMzo1NyIgbmFtZT0iTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwNSIgbG9jYXRvcj0iMTEzOjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzEwIiBsb2NhdG9yPSIxMjI6MS0xMjM6NTMiIG5hbWU9Ik5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9Ik5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuJiN4YTtUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4iLz4KICAgICAgICAgICAgPGE6cyByPSIzMTAiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAwCkBjb2RlOiBObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTI5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAmcXVvdDtObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzExIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMTEiIGxvY2F0b3I9IjEyMzozLTEyMzo1MyIgbmFtZT0iTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzE4IiBsb2NhdG9yPSIxNTk6MS0xNjA6OTkiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFZhcmljZWxsYSBEb3NlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJEYXRlIG9mIExhdGVzdCBWYXJpY2VsbGEgRG9zZSIvPgogICAgICAgICAgICA8YTpzIHI9IjMxOCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBEYXRlIG9mIExhdGVzdCBWYXJpY2VsbGEgRG9zZQoqLwpkZWZpbmUgJnF1b3Q7RGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzE5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5kYXRlIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ZhcmljZWxsYSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tb3N0UmVjZW50KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnRvSW50ZXJ2YWwoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzE5IiBsb2NhdG9yPSIxNjA6My0xNjA6OTkiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyMCIgbG9jYXRvcj0iMTYwOjEzLTE2MDo5OSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI2IiBsb2NhdG9yPSIxNjA6MjItMTYwOjk5IiBuYW1lPSJ0b0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyNSIgbG9jYXRvcj0iMTYwOjIyLTE2MDo4NiIgcGF0aD0ib2NjdXJyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMjIiIGxvY2F0b3I9IjE2MDoyMi0xNjA6NzUiIG5hbWU9Im1vc3RSZWNlbnQiIGxpYnJhcnlOYW1lPSJXQyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMjMiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSIzMjQiIG5hbWU9ImZoaXI6SW1tdW5pemF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2lnbmF0dXJlPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjEiIGxvY2F0b3I9IjE2MDoyMi0xNjA6NjIiIG5hbWU9IlZhcmljZWxsYSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzE0IiBsb2NhdG9yPSIxMzI6MS0xMzQ6NzkiIG5hbWU9IlRoZSBsYXRlc3QgdmFyaWNlbGxhIGRvc2UgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDQgd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvLTExMiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTpzIHI9IjMxNCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspICZsdDsgNCB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvLTExMgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG5vdCBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzYiPiAmbHQ7IDQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMTUiIGxvY2F0b3I9IjEzMzoyLTEzNDo3OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyOSIgbG9jYXRvcj0iMTMzOjItMTMzOjQ0IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI4IiBsb2NhdG9yPSIxMzM6Mi0xMzM6NDQiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjciIGxvY2F0b3I9IjEzMzoyLTEzMzozMiIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzAiIGxvY2F0b3I9IjEzNDo5LTEzNDo3OSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMzNyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzM4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMxIiBsb2NhdG9yPSIxMzQ6OS0xMzQ6NzUiIHByZWNpc2lvbj0iV2VlayIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzM0IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMzUiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzIiIGxvY2F0b3I9IjEzNDozNS0xMzQ6NjUiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFZhcmljZWxsYSBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzMiIGxvY2F0b3I9IjEzNDo3MS0xMzQ6NzUiIG5hbWU9IlRvZGF5IiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM2IiBsb2NhdG9yPSIxMzQ6NzkiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM0MSIgbG9jYXRvcj0iMTQzOjEtMTQ0OjY4IiBuYW1lPSJUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgdmFyaWNlbGxhIGRvc2UgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyZxdW90Oykg4omlIDQgd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDQgd2Vla3MgYWdvLTExMiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTpzIHI9IjM0MSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspIOKJpSA0IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28tMTEyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5ub3QgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNDIiIGxvY2F0b3I9IjE0NDozLTE0NDo2OCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0MyIgbG9jYXRvcj0iMTQ0OjctMTQ0OjY4IiBuYW1lPSJUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzQ2IiBsb2NhdG9yPSIxNTM6MS0xNTQ6NjEiIG5hbWU9IlR3byB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlR3byB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVHdvIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuJiN4YTtUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4iLz4KICAgICAgICAgICAgPGE6cyByPSIzNDYiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVHdvIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMgpAY29kZTogVHdvIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICZxdW90O1R3byB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0OSI+ID0gMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzQ3IiBsb2NhdG9yPSIxNTQ6My0xNTQ6NjEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzUwIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNTEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDgiIGxvY2F0b3I9IjE1NDozLTE1NDo1NyIgbmFtZT0iTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0OSIgbG9jYXRvcj0iMTU0OjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo="
}
]
}