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-11 |
{
"resourceType" : "Library",
"id" : "IMMZD2DTPneumococcalElements",
"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;\">IMMZD2DTPneumococcalElements</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD2DTPneumococcalElements</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-IMMZD2DTPneumococcalElements.html\">IMMZD2DTPneumococcalElements</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/6.5.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-11 19:50:47+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 context-independent elements for Pneumococcal 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-IMMZElements.html\">IMMZElements</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>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Pneumococcal Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>Pneumococcal 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 Pneumococcal Primary Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client's age is less than 6 weeks</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>No pneumococcal primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client's age is between 6 weeks and 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>One pneumococcal primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client's age is less than or equal to 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Date of First Pneumococcal Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The first pneumococcal dose was administered within 24 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Date of Latest Pneumococcal Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest pneumococcal dose was administered less than 8 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest pneumococcal dose was administered more than 8 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The first pneumococcal dose was administered after 24 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client is at high risk for pneumococcal infection</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client is not at high risk for pneumococcal infection</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Two pneumococcal primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Pneumococcal Booster Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>Number of Pneumococcal Booster Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>No pneumococcal booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The first pneumococcal dose was administered within 12 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The first pneumococcal dose was administered after 12 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>One pneumococcal booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The 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>Client's HIV status is positive</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client had preterm birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client's age is more than or equal to 12 months and less than 24 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest pneumococcal dose was administered within 12 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest pneumococcal dose was administered after 12 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client's HIV status is negative or unknown</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client did not have preterm birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client's age is more than or equal to 24 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Two pneumococcal booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client's age is more than 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client's age is less than or equal to five years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest pneumococcal dose was 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 pneumococcal dose was administered more than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The first pneumococcal dose was administered at 12–24 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Three pneumococcal primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client's age is less than 24 months</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: IMMZD2DTPneumococcalElements\n */\nlibrary IMMZD2DTPneumococcalElements\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 IMMZElements called Elements\n\n\ncontext Patient\n\n/*\n@internal: Pneumococcal containing Doses Administered to Patient\n*/\ndefine "Pneumococcal Doses Administered to Patient":\n Elements."Doses Administered to Patient" I\n where\n I.vaccineCode in Concepts."Pneumococcal vaccines"\n\n/*\n@internal: Pneumococcal containing Doses Administered to Patient that are in the Primary series\n*/\ndefine "Pneumococcal Primary Series Doses Administered to Patient":\n "Pneumococcal Doses Administered to Patient".seriesPrimary()\n\n/*\n@internal: Number of Pneumococcal Primary Series doses\n*/\ndefine "Number of Pneumococcal Primary Series Doses Administered":\n Count("Pneumococcal Primary Series Doses Administered to Patient")\n\n/*\n@input: The client's age is less than 6 weeks\n@pseudocode: Today's date − "Date of birth" < 6 weeks\n@code: The client's age is less than 6 weeks-40\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The client's age is less than 6 weeks":\n Elements."Current Patient Age In Weeks" < 6\n\n/*\n@input: No pneumococcal primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 0\n@code: No pneumococcal primary series doses were administered-121\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "No pneumococcal primary series doses were administered":\n "Number of Pneumococcal Primary Series Doses Administered" = 0\n\n/*\n@input: The client's age is between 6 weeks and 5 years\n@pseudocode: 6 weeks ≤ Today's date − "Date of birth" ≤ 5 years\n@code: The client's age is between 6 weeks and 5 years-50\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The client's age is between 6 weeks and 5 years":\n 6 <= Elements."Current Patient Age In Weeks"\n and Elements."Current Patient Age In Years" <= 5\n\n/*\n@input: One pneumococcal primary series dose was administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 1\n@code: One pneumococcal primary series dose was administered-121\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "One pneumococcal primary series dose was administered":\n "Number of Pneumococcal Primary Series Doses Administered" = 1\n\n/*\n@input: The client's age is less than or equal to 5 years\n@pseudocode: 'Today's date − "Date of birth" ≤ 5 years\n@code: The client's age is less than or equal to 5 years-41\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine "The client's age is less than or equal to 5 years":\n Elements."Current Patient Age In Years" <= 5\n\n/*\n@input: The first pneumococcal dose was administered within 24 months post birth\n@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" < 24 months\n@code: The first pneumococcal dose was administered within 24 months post birth-109\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine "The first pneumococcal dose was administered within 24 months post birth":\n AgeInMonthsAt("Date of First Pneumococcal Dose") < 24\n\n/*\n@input: The latest pneumococcal dose was administered less than 8 weeks ago\n@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") < 8 weeks\n@code: The latest pneumococcal dose was administered less than 8 weeks ago-104\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The latest pneumococcal dose was administered less than 8 weeks ago":\n "Date of Latest Pneumococcal Dose" is not null\n and duration in weeks between "Date of Latest Pneumococcal Dose" and Now() < 8\n\n/*\n@input: The latest pneumococcal dose was administered more than 8 weeks ago\n@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") ≥ 8 weeks\n@code: The latest pneumococcal dose was administered more than 8 weeks ago-104\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The latest pneumococcal dose was administered more than 8 weeks ago":\n not "The latest pneumococcal dose was administered less than 8 weeks ago"\n\n/*\n@input: The first pneumococcal dose was administered after 24 months post birth\n@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" ≥ 24 months\n@code: The first pneumococcal dose was administered after 24 months post birth-109\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The first pneumococcal dose was administered after 24 months post birth":\n AgeInMonthsAt("Date of First Pneumococcal Dose") >= 24\n\n/*\n@input: Client is at high risk for pneumococcal infection\n@pseudocode: "At high risk for pneumococcal infection" = TRUE\n@code: Client is at high risk for pneumococcal infection-48\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "Client is at high risk for pneumococcal infection":\n Elements."Client is at high risk for pneumococcal infection"\n\n/*\n@input: Client is not at high risk for pneumococcal infection\n@pseudocode: "At high risk for pneumococcal infection" = FALSE\n@code: Client is not at high risk for pneumococcal infection-49\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "Client is not at high risk for pneumococcal infection":\n Elements."Client is not at high risk for pneumococcal infection"\n\n/*\n@input: Two pneumococcal primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 2\n@code: Two pneumococcal primary series doses were administered-121\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "Two pneumococcal primary series doses were administered":\n "Number of Pneumococcal Primary Series Doses Administered" = 2\n\n/*\n@input: No pneumococcal booster dose was administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Booster dose") = 0\n@code: No pneumococcal booster dose was administered-119\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "No pneumococcal booster dose was administered":\n "Number of Pneumococcal Booster Series Doses Administered" = 0\n\n/*\n@input: The first pneumococcal dose was administered within 12 months post birth\n@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines" AND "Dose number" = 1) − "Date of birth" < 12 months\n@code: The first pneumococcal dose was administered within 12 months post birth-131\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The first pneumococcal dose was administered within 12 months post birth":\n AgeInMonthsAt("Date of First Pneumococcal Dose") < 12\n\n/*\n@input: The first pneumococcal dose was administered after 12 months post birth\n@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines" AND "Dose number" = 1) − "Date of birth" ≥ 12 months\n@code: The first pneumococcal dose was administered after 12 months post birth-131\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The first pneumococcal dose was administered after 12 months post birth":\n AgeInMonthsAt("Date of First Pneumococcal Dose") >= 12\n\n/*\n@input: One pneumococcal booster dose was administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Booster dose") = 1\n@code: One pneumococcal booster dose was administered-119\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "One pneumococcal booster dose was administered":\n "Number of Pneumococcal Booster Series Doses Administered" = 1\n\n/*\n@input: The client's age is less than 12 months\n@pseudocode: Today's date − "Date of birth" < 12 months\n@code: The client's age is less than 12 months-42\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine "The client's age is less than 12 months":\n Elements."Current Patient Age In Months" < 12\n\n/*\n@input: Client's HIV status is positive\n@pseudocode: "HIV status" = "HIV-positive"\n@code: Client's HIV status is positive-29\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "Client's HIV status is positive":\n Elements."Client's HIV status is positive"\n\n/*\n@input: Client had preterm birth\n@pseudocode: "Preterm birth" = TRUE\n@code: Client had preterm birth-22\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "Client had preterm birth":\n Elements."Client was a premature infant at birth"\n\n/*\n@input: The client's age is more than or equal to 12 months and less than 24 months\n@pseudocode: 12 months ≤ Today's date − "Date of birth" < 24 months\n@code: The client's age is more than or equal to 12 months and less than 24 months-54\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine "The client's age is more than or equal to 12 months and less than 24 months":\n 12 <= Elements."Current Patient Age In Months"\n and Elements."Current Patient Age In Months" < 24\n\n/*\n@input: The latest pneumococcal dose was administered within 12 months post birth\n@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" < 12 months\n@code: The latest pneumococcal dose was administered within 12 months post birth-116\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The latest pneumococcal dose was administered within 12 months post birth":\n AgeInMonthsAt("Date of Latest Pneumococcal Dose") < 12\n\n/*\n@input: The latest pneumococcal dose was administered after 12 months post birth\n@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" ≥ 12 months\n@code: The latest pneumococcal dose was administered after 12 months post birth-116\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The latest pneumococcal dose was administered after 12 months post birth":\n AgeInMonthsAt("Date of Latest Pneumococcal Dose") >= 12\n\n/*\n@input: Client's HIV status is negative or unknown\n@pseudocode: "HIV status" ≠ "HIV-positive"\n@code: Client's HIV status is negative or unknown-29\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "Client's HIV status is negative or unknown":\n Elements."Client's HIV status is negative or unknown"\n\n/*\n@input: Client did not have preterm birth\n@pseudocode: "Preterm birth" ≠ TRUE\n@code: Client did not have preterm birth-22\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "Client did not have preterm birth":\n Elements."Client was not a premature infant at birth"\n\n/*\n@input: The client's age is more than or equal to 24 months\n@pseudocode: Today's date − "Date of birth" ≥ 24 months\n@code: The client's age is more than or equal to 24 months-42\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The client's age is more than or equal to 24 months":\n Elements."Current Patient Age In Months" >= 24\n\n/*\n@input: Two pneumococcal booster doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Booster dose") = 2\n@code: Two pneumococcal booster doses were administered-119\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine "Two pneumococcal booster doses were administered":\n "Number of Pneumococcal Booster Series Doses Administered" = 2\n\n/*\n@input: The client's age is more than 5 years\n@pseudocode: Today's date − "Date of birth" > 5 years\n@code: The client's age is more than 5 years-40\n@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The client's age is more than 5 years":\n Elements."Current Patient Age In Months" > 5\n\n/*\n@input: The client's age is less than or equal to five years\n@pseudocode: Today's date − "Date of birth" ≤ 5 years\n@code: The client's age is less than or equal to five years-40\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The client's age is less than or equal to five years":\n "The client's age is less than or equal to 5 years"\n\n/*\n@input: The latest pneumococcal dose was administered less than 4 weeks ago\n@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") < 4 weeks\n@code: The latest pneumococcal dose was administered less than 4 weeks ago-104\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The latest pneumococcal dose was administered less than 4 weeks ago":\n "Date of Latest Pneumococcal Dose" is not null\n and duration in weeks between "Date of Latest Pneumococcal Dose" and Now() < 4\n\n/*\n@input: The latest pneumococcal dose was administered more than 4 weeks ago\n@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") ≥ 4 weeks\n@code: The latest pneumococcal dose was administered more than 4 weeks ago-104\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The latest pneumococcal dose was administered more than 4 weeks ago":\n not "The latest pneumococcal dose was administered less than 4 weeks ago"\n\n/*\n@input: The first pneumococcal dose was administered at 12–24 months post birth\n@pseudocode: 12 months ≤ "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" < 24 months\n@code: The first pneumococcal dose was administered at 12–24 months post birth-121\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The first pneumococcal dose was administered at 12–24 months post birth":\n AgeInMonthsAt("Date of First Pneumococcal Dose") >= 12\n and AgeInMonthsAt("Date of First Pneumococcal Dose") < 24\n\n/*\n@input: Three pneumococcal primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 3\n@code: Three pneumococcal primary series doses were administered-121\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "Three pneumococcal primary series doses were administered":\n "Number of Pneumococcal Primary Series Doses Administered" = 3\n\n/*\n@input: The client's age is less than 24 months\n@pseudocode: Today's date − "Date of birth" < 24 months\n@code: The client's age is less than 24 months-42\n@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)\n*/\ndefine "The client's age is less than 24 months":\n Elements."Current Patient Age In Months" < 24\n\n/*\n@internal: Date of First Pneumococcal Dose\n*/\ndefine "Date of First Pneumococcal Dose":\n date from start of "Pneumococcal Doses Administered to Patient".earliest().occurrence.toInterval()\n\n/*\n@internal: Date of Latest Pneumococcal Dose\n*/\ndefine "Date of Latest Pneumococcal Dose":\n date from start of "Pneumococcal Doses Administered to Patient".mostRecent().occurrence.toInterval()\n\n/*\n@internal: Pneumococcal Booster Series Doses Administered to Patient\n*/\ndefine "Pneumococcal Booster Series Doses Administered to Patient":\n "Pneumococcal Doses Administered to Patient".seriesBooster()\n\n/*\n@internal: Number of Pneumococcal Booster Series Doses Administered\n*/\ndefine "Number of Pneumococcal Booster Series Doses Administered":\n Count("Pneumococcal Booster Series Doses Administered to Patient")\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 (129324 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/IMMZD2DTPneumococcalElements",
"version" : "0.2.0",
"name" : "IMMZD2DTPneumococcalElements",
"title" : "IMMZD2DTPneumococcalElements",
"status" : "draft",
"experimental" : false,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2025-11-11T19:50:47+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "This library defines context-independent elements for Pneumococcal 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 Elements",
"resource" : "http://smart.who.int/immunizations/Library/IMMZElements"
}
],
"parameter" : [
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Pneumococcal Doses Administered to Patient",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Immunization"
},
{
"name" : "Pneumococcal Primary Series Doses Administered to Patient",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Immunization"
},
{
"name" : "Number of Pneumococcal Primary Series Doses Administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "integer"
},
{
"name" : "The client's age is less than 6 weeks",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "No pneumococcal primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client's age is between 6 weeks and 5 years",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "One pneumococcal primary series dose was administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client's age is less than or equal to 5 years",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Date of First Pneumococcal Dose",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "The first pneumococcal dose was administered within 24 months post birth",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Date of Latest Pneumococcal Dose",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "The latest pneumococcal dose was administered less than 8 weeks ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The latest pneumococcal dose was administered more than 8 weeks ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The first pneumococcal dose was administered after 24 months post birth",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client is at high risk for pneumococcal infection",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client is not at high risk for pneumococcal infection",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Two pneumococcal primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Pneumococcal Booster Series Doses Administered to Patient",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Immunization"
},
{
"name" : "Number of Pneumococcal Booster Series Doses Administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "integer"
},
{
"name" : "No pneumococcal booster dose was administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The first pneumococcal dose was administered within 12 months post birth",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The first pneumococcal dose was administered after 12 months post birth",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "One pneumococcal booster dose was administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client's age is less than 12 months",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client's HIV status is positive",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client had preterm birth",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client's age is more than or equal to 12 months and less than 24 months",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The latest pneumococcal dose was administered within 12 months post birth",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The latest pneumococcal dose was administered after 12 months post birth",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client's HIV status is negative or unknown",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client did not have preterm birth",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client's age is more than or equal to 24 months",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Two pneumococcal booster doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client's age is more than 5 years",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client's age is less than or equal to five years",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The latest pneumococcal dose was administered less than 4 weeks ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The latest pneumococcal dose was administered more than 4 weeks ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The first pneumococcal dose was administered at 12–24 months post birth",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Three pneumococcal primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client's age is less than 24 months",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVFBuZXVtb2NvY2NhbEVsZW1lbnRzCiAgKi8KbGlicmFyeSBJTU1aRDJEVFBuZXVtb2NvY2NhbEVsZW1lbnRzCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db25jZXB0cwppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKaW5jbHVkZSBXSE9FbGVtZW50cyBjYWxsZWQgV0UKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwppbmNsdWRlIElNTVpFbGVtZW50cyBjYWxsZWQgRWxlbWVudHMKCgpjb250ZXh0IFBhdGllbnQKCi8qCkBpbnRlcm5hbDogUG5ldW1vY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICJQbmV1bW9jb2NjYWwgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIEVsZW1lbnRzLiJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgSQogIHdoZXJlCiAgICBJLnZhY2NpbmVDb2RlIGluIENvbmNlcHRzLiJQbmV1bW9jb2NjYWwgdmFjY2luZXMiCgovKgpAaW50ZXJuYWw6IFBuZXVtb2NvY2NhbCBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IHRoYXQgYXJlIGluIHRoZSBQcmltYXJ5IHNlcmllcwoqLwpkZWZpbmUgIlBuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgIlBuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIuc2VyaWVzUHJpbWFyeSgpCgovKgpAaW50ZXJuYWw6IE51bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgZG9zZXMKKi8KZGVmaW5lICJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCI6CiAgQ291bnQoIlBuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgd2Vla3MKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgNiB3ZWVrcwpAY29kZTogVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNiB3ZWVrcy00MApAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA2IHdlZWtzIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBXZWVrcyIgPCA2CgovKgpAaW5wdXQ6IE5vIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMApAY29kZTogTm8gcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyMQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJObyBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCA1IHllYXJzCkBwc2V1ZG9jb2RlOiA2IHdlZWtzIOKJpCBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaQgNSB5ZWFycwpAY29kZTogVGhlIGNsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDYgd2Vla3MgYW5kIDUgeWVhcnMtNTAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiVGhlIGNsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDYgd2Vla3MgYW5kIDUgeWVhcnMiOgogIDYgPD0gRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gV2Vla3MiCiAgYW5kIEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA8PSA1CgovKgpAaW5wdXQ6IE9uZSBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAxCkBjb2RlOiBPbmUgcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMjEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiT25lIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAxCgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDUgeWVhcnMKQHBzZXVkb2NvZGU6ICdUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaQgNSB5ZWFycwpAY29kZTogVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNSB5ZWFycy00MQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQoqLwpkZWZpbmUgIlRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDUgeWVhcnMiOgogIEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA8PSA1CgovKgpAaW5wdXQ6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAyNCBtb250aHMgcG9zdCBiaXJ0aApAcHNldWRvY29kZTogIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiKSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMjQgbW9udGhzCkBjb2RlOiBUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMjQgbW9udGhzIHBvc3QgYmlydGgtMTA5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDI0IG1vbnRocyBwb3N0IGJpcnRoIjoKICBBZ2VJbk1vbnRoc0F0KCJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIikgPCAyNAoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIikgPCA4IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvLTEwNApAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvIjoKICAiRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIGlzIG5vdCBudWxsCiAgICBhbmQgZHVyYXRpb24gaW4gd2Vla3MgYmV0d2VlbiAiRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIGFuZCBOb3coKSA8IDgKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIpIOKJpSA4IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDggd2Vla3MgYWdvLTEwNApAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDggd2Vla3MgYWdvIjoKICBub3QgIlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28iCgovKgpAaW5wdXQ6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDI0IG1vbnRocyBwb3N0IGJpcnRoCkBwc2V1ZG9jb2RlOiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIpIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omlIDI0IG1vbnRocwpAY29kZTogVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMjQgbW9udGhzIHBvc3QgYmlydGgtMTA5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDI0IG1vbnRocyBwb3N0IGJpcnRoIjoKICBBZ2VJbk1vbnRoc0F0KCJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIikgPj0gMjQKCi8qCkBpbnB1dDogQ2xpZW50IGlzIGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbgpAcHNldWRvY29kZTogIkF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiIgPSBUUlVFCkBjb2RlOiBDbGllbnQgaXMgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uLTQ4CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIkNsaWVudCBpcyBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24iOgogIEVsZW1lbnRzLiJDbGllbnQgaXMgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uIgoKLyoKQGlucHV0OiBDbGllbnQgaXMgbm90IGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbgpAcHNldWRvY29kZTogIkF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiIgPSBGQUxTRQpAY29kZTogQ2xpZW50IGlzIG5vdCBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24tNDkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiQ2xpZW50IGlzIG5vdCBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24iOgogIEVsZW1lbnRzLiJDbGllbnQgaXMgbm90IGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiIKCi8qCkBpbnB1dDogVHdvIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMgpAY29kZTogVHdvIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiVHdvIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDIKCi8qCkBpbnB1dDogTm8gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIkJvb3N0ZXIgZG9zZSIpID0gMApAY29kZTogTm8gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTExOQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJObyBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aApAcHNldWRvY29kZTogIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiIEFORCAiRG9zZSBudW1iZXIiID0gMSkg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDEyIG1vbnRocwpAY29kZTogVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDEyIG1vbnRocyBwb3N0IGJpcnRoLTEzMQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgiOgogIEFnZUluTW9udGhzQXQoIkRhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UiKSA8IDEyCgovKgpAaW5wdXQ6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDEyIG1vbnRocyBwb3N0IGJpcnRoCkBwc2V1ZG9jb2RlOiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIgQU5EICJEb3NlIG51bWJlciIgPSAxKSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpSAxMiBtb250aHMKQGNvZGU6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDEyIG1vbnRocyBwb3N0IGJpcnRoLTEzMQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAxMiBtb250aHMgcG9zdCBiaXJ0aCI6CiAgQWdlSW5Nb250aHNBdCgiRGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSIpID49IDEyCgovKgpAaW5wdXQ6IE9uZSBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAxCkBjb2RlOiBPbmUgcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTExOQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJPbmUgcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMQoKLyoKQGlucHV0OiBUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMTIgbW9udGhzCkBjb2RlOiBUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMtNDIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMiOgogIEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgPCAxMgoKLyoKQGlucHV0OiBDbGllbnQncyBISVYgc3RhdHVzIGlzIHBvc2l0aXZlCkBwc2V1ZG9jb2RlOiAiSElWIHN0YXR1cyIgPSAiSElWLXBvc2l0aXZlIgpAY29kZTogQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBwb3NpdGl2ZS0yOQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJDbGllbnQncyBISVYgc3RhdHVzIGlzIHBvc2l0aXZlIjoKICBFbGVtZW50cy4iQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBwb3NpdGl2ZSIKCi8qCkBpbnB1dDogQ2xpZW50IGhhZCBwcmV0ZXJtIGJpcnRoCkBwc2V1ZG9jb2RlOiAiUHJldGVybSBiaXJ0aCIgPSBUUlVFCkBjb2RlOiBDbGllbnQgaGFkIHByZXRlcm0gYmlydGgtMjIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiQ2xpZW50IGhhZCBwcmV0ZXJtIGJpcnRoIjoKICBFbGVtZW50cy4iQ2xpZW50IHdhcyBhIHByZW1hdHVyZSBpbmZhbnQgYXQgYmlydGgiCgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyBhbmQgbGVzcyB0aGFuIDI0IG1vbnRocwpAcHNldWRvY29kZTogMTIgbW9udGhzIOKJpCBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDI0IG1vbnRocwpAY29kZTogVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzIGFuZCBsZXNzIHRoYW4gMjQgbW9udGhzLTU0CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzIGFuZCBsZXNzIHRoYW4gMjQgbW9udGhzIjoKICAxMiA8PSBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiCiAgYW5kIEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgPCAyNAoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDEyIG1vbnRocyBwb3N0IGJpcnRoCkBwc2V1ZG9jb2RlOiBMYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiKSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMTIgbW9udGhzCkBjb2RlOiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDEyIG1vbnRocyBwb3N0IGJpcnRoLTExNgpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDEyIG1vbnRocyBwb3N0IGJpcnRoIjoKICBBZ2VJbk1vbnRoc0F0KCJEYXRlIG9mIExhdGVzdCBQbmV1bW9jb2NjYWwgRG9zZSIpIDwgMTIKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDEyIG1vbnRocyBwb3N0IGJpcnRoCkBwc2V1ZG9jb2RlOiBMYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiKSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpSAxMiBtb250aHMKQGNvZGU6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAxMiBtb250aHMgcG9zdCBiaXJ0aC0xMTYKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDEyIG1vbnRocyBwb3N0IGJpcnRoIjoKICBBZ2VJbk1vbnRoc0F0KCJEYXRlIG9mIExhdGVzdCBQbmV1bW9jb2NjYWwgRG9zZSIpID49IDEyCgovKgpAaW5wdXQ6IENsaWVudCdzIEhJViBzdGF0dXMgaXMgbmVnYXRpdmUgb3IgdW5rbm93bgpAcHNldWRvY29kZTogIkhJViBzdGF0dXMiIOKJoCAiSElWLXBvc2l0aXZlIgpAY29kZTogQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBuZWdhdGl2ZSBvciB1bmtub3duLTI5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIkNsaWVudCdzIEhJViBzdGF0dXMgaXMgbmVnYXRpdmUgb3IgdW5rbm93biI6CiAgRWxlbWVudHMuIkNsaWVudCdzIEhJViBzdGF0dXMgaXMgbmVnYXRpdmUgb3IgdW5rbm93biIKCi8qCkBpbnB1dDogQ2xpZW50IGRpZCBub3QgaGF2ZSBwcmV0ZXJtIGJpcnRoCkBwc2V1ZG9jb2RlOiAiUHJldGVybSBiaXJ0aCIg4omgIFRSVUUKQGNvZGU6IENsaWVudCBkaWQgbm90IGhhdmUgcHJldGVybSBiaXJ0aC0yMgpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJDbGllbnQgZGlkIG5vdCBoYXZlIHByZXRlcm0gYmlydGgiOgogIEVsZW1lbnRzLiJDbGllbnQgd2FzIG5vdCBhIHByZW1hdHVyZSBpbmZhbnQgYXQgYmlydGgiCgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDI0IG1vbnRocwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omlIDI0IG1vbnRocwpAY29kZTogVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMjQgbW9udGhzLTQyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDI0IG1vbnRocyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiA+PSAyNAoKLyoKQGlucHV0OiBUd28gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAyCkBjb2RlOiBUd28gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTE5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiVHdvIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMgoKLyoKQGlucHV0OiBUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA1IHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA+IDUgeWVhcnMKQGNvZGU6IFRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDUgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNSB5ZWFycyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiA+IDUKCi8qCkBpbnB1dDogVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gZml2ZSB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omkIDUgeWVhcnMKQGNvZGU6IFRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGZpdmUgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gZml2ZSB5ZWFycyI6CiAgIlRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDUgeWVhcnMiCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiKSA8IDQgd2Vla3MKQGNvZGU6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28tMTA0CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBQbmV1bW9jb2NjYWwgRG9zZSIgaXMgbm90IG51bGwKICAgIGFuZCBkdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBQbmV1bW9jb2NjYWwgRG9zZSIgYW5kIE5vdygpIDwgNAoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDQgd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIikg4omlIDQgd2Vla3MKQGNvZGU6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28tMTA0CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28iOgogIG5vdCAiVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyIKCi8qCkBpbnB1dDogVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYXQgMTLigJMyNCBtb250aHMgcG9zdCBiaXJ0aApAcHNldWRvY29kZTogMTIgbW9udGhzIOKJpCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIpIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCAyNCBtb250aHMKQGNvZGU6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGF0IDEy4oCTMjQgbW9udGhzIHBvc3QgYmlydGgtMTIxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGF0IDEy4oCTMjQgbW9udGhzIHBvc3QgYmlydGgiOgogIEFnZUluTW9udGhzQXQoIkRhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UiKSA+PSAxMgogIGFuZCBBZ2VJbk1vbnRoc0F0KCJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIikgPCAyNAoKLyoKQGlucHV0OiBUaHJlZSBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDMKQGNvZGU6IFRocmVlIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiVGhyZWUgcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMwoKLyoKQGlucHV0OiBUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyNCBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMjQgbW9udGhzCkBjb2RlOiBUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyNCBtb250aHMtNDIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMjQgbW9udGhzIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIDwgMjQKCi8qCkBpbnRlcm5hbDogRGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZQoqLwpkZWZpbmUgIkRhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UiOgogIGRhdGUgZnJvbSBzdGFydCBvZiAiUG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5lYXJsaWVzdCgpLm9jY3VycmVuY2UudG9JbnRlcnZhbCgpCgovKgpAaW50ZXJuYWw6IERhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlCiovCmRlZmluZSAiRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiOgogIGRhdGUgZnJvbSBzdGFydCBvZiAiUG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5tb3N0UmVjZW50KCkub2NjdXJyZW5jZS50b0ludGVydmFsKCkKCi8qCkBpbnRlcm5hbDogUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50CiovCmRlZmluZSAiUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICAiUG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5zZXJpZXNCb29zdGVyKCkKCi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQKKi8KZGVmaW5lICJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCI6CiAgQ291bnQoIlBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCg=="
},
{
"contentType" : "application/elm+xml",
"data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iNDA1Ij4KICAgICAgICAgPGE6cz4vKgogICogTGlicmFyeTogSU1NWkQyRFRQbmV1bW9jb2NjYWxFbGVtZW50cwogICovCmxpYnJhcnkgSU1NWkQyRFRQbmV1bW9jb2NjYWxFbGVtZW50czwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iSU1NWkQyRFRQbmV1bW9jb2NjYWxFbGVtZW50cyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zIi8+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+IGNhbGxlZCBDb25jZXB0czwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjE2OjEtMTY6MzYiIGxvY2FsSWRlbnRpZmllcj0iRWxlbWVudHMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvSU1NWkVsZW1lbnRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjIwIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIEVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSIxOToxLTE5OjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyMyIgbG9jYXRvcj0iMTk6MS0xOToxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyNCIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjIiIGxvY2F0b3I9IjE5OjEtMTk6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjgiIGxvY2F0b3I9IjI0OjEtMjc6NTMiIG5hbWU9IlBuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iUG5ldW1vY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLz4KICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogUG5ldW1vY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICZxdW90O1BuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50cy4mcXVvdDtEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFjY2luZUNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIyNTozLTI3OjUzIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iMjU6My0yNTo0NCIgYWxpYXM9IkkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjI1OjMtMjU6NDIiIG5hbWU9IkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjM3IiBsb2NhdG9yPSIyNjozLTI3OjUzIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjM5IiBuYW1lPSJ0OkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNvZGUgbG9jYWxJZD0iMjM4IiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSIyNzo1LTI3OjE3IiBwYXRoPSJ2YWNjaW5lQ29kZSIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjI3OjIyLTI3OjUzIiBuYW1lPSJQbmV1bW9jb2NjYWwgdmFjY2luZXMiIGxpYnJhcnlOYW1lPSJDb25jZXB0cyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjMyOjEtMzM6NjIiIG5hbWU9IlBuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iUG5ldW1vY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIFByaW1hcnkgc2VyaWVzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IFBuZXVtb2NvY2NhbCBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IHRoYXQgYXJlIGluIHRoZSBQcmltYXJ5IHNlcmllcwoqLwpkZWZpbmUgJnF1b3Q7UG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQbmV1bW9jb2NjYWwgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2VyaWVzUHJpbWFyeSgpPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIzMzozLTMzOjYyIiBuYW1lPSJzZXJpZXNQcmltYXJ5IiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDQiIGxvY2F0b3I9IjMzOjMtMzM6NDYiIG5hbWU9IlBuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjM4OjEtMzk6NjgiIG5hbWU9Ik51bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIGRvc2VzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IE51bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgZG9zZXMKKi8KZGVmaW5lICZxdW90O051bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q291bnQoPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSIzOTozLTM5OjY4IiB4c2k6dHlwZT0iQ291bnQiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMzk6OS0zOTo2NyIgbmFtZT0iUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1NSIgbG9jYXRvcj0iNDg6MS00OTo0NSIgbmFtZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNiB3ZWVrcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNiB3ZWVrcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgNiB3ZWVrcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA2IHdlZWtzLTQwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSIyNTUiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNiB3ZWVrcwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgNiB3ZWVrcwpAY29kZTogVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNiB3ZWVrcy00MApAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgd2Vla3MmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBXZWVrcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU5Ij4gJmx0OyA2PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjQ5OjMtNDk6NDUiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNjAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI2MSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1OCIgbG9jYXRvcj0iNDk6My00OTo0MSIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBXZWVrcyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTkiIGxvY2F0b3I9IjQ5OjQ1IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjYiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjY0IiBsb2NhdG9yPSI1ODoxLTU5OjY0IiBuYW1lPSJObyBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9Ik5vIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iTm8gcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyMSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjY0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE5vIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDAKQGNvZGU6IE5vIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtObyBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+ID0gMDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjY1IiBsb2NhdG9yPSI1OTozLTU5OjY0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI2OCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjY5IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSI1OTozLTU5OjYwIiBuYW1lPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY3IiBsb2NhdG9yPSI1OTo2NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3MiIgbG9jYXRvcj0iNjg6MS03MDo1MCIgbmFtZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDYgd2Vla3MgYW5kIDUgeWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCA1IHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omkIDUgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDYgd2Vla3MgYW5kIDUgeWVhcnMtNTAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgY2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgNSB5ZWFycwpAcHNldWRvY29kZTogNiB3ZWVrcyDiiaQgVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpCA1IHllYXJzCkBjb2RlOiBUaGUgY2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgNSB5ZWFycy01MApAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBjbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCA1IHllYXJzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI3MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPjYgJmx0Oz0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gV2Vla3MmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgzIj4gJmx0Oz0gNTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3MyIgbG9jYXRvcj0iNjk6My03MDo1MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3NCIgbG9jYXRvcj0iNjk6My02OTo0NiIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNzgiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI3OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3NSIgbG9jYXRvcj0iNjk6MyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI2IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzciIGxvY2F0b3I9IjY5OjgtNjk6NDYiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gV2Vla3MiIGxpYnJhcnlOYW1lPSJFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjcwOjctNzA6NTAiIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjg0IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyODUiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODIiIGxvY2F0b3I9IjcwOjctNzA6NDUiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIGxpYnJhcnlOYW1lPSJFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjgzIiBsb2NhdG9yPSI3MDo1MCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjg4IiBsb2NhdG9yPSI3OToxLTgwOjY0IiBuYW1lPSJPbmUgcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iT25lIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAxIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9Ik9uZSBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyMSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjg4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE9uZSBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMQpAY29kZTogT25lIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTIxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7T25lIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjg5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+ID0gMTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjg5IiBsb2NhdG9yPSI4MDozLTgwOjY0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI5MiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjkzIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkwIiBsb2NhdG9yPSI4MDozLTgwOjYwIiBuYW1lPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkxIiBsb2NhdG9yPSI4MDo2NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5NiIgbG9jYXRvcj0iODg6MS04OTo0NiIgbmFtZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNSB5ZWFycyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNSB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpCA1IHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDUgeWVhcnMtNDEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTpzIHI9IjI5NiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA1IHllYXJzCkBwc2V1ZG9jb2RlOiAnVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpCA1IHllYXJzCkBjb2RlOiBUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA1IHllYXJzLTQxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAmcXVvdDtUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA1IHllYXJzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI5NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMCI+ICZsdDs9IDU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI5NyIgbG9jYXRvcj0iODk6My04OTo0NiIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMDEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMwMiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5OSIgbG9jYXRvcj0iODk6My04OTo0MSIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDAiIGxvY2F0b3I9Ijg5OjQ2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzA5IiBsb2NhdG9yPSIzNjg6MS0zNjk6MTAwIiBuYW1lPSJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzA5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IERhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UKKi8KZGVmaW5lICZxdW90O0RhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzEwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5kYXRlIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzExIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lYXJsaWVzdCgpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vY2N1cnJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz50b0ludGVydmFsKCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iMzY5OjMtMzY5OjEwMCIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzExIiBsb2NhdG9yPSIzNjk6MTMtMzY5OjEwMCIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE3IiBsb2NhdG9yPSIzNjk6MjItMzY5OjEwMCIgbmFtZT0idG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IldDIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTYiIGxvY2F0b3I9IjM2OToyMi0zNjk6ODciIHBhdGg9Im9jY3VycmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzEzIiBsb2NhdG9yPSIzNjk6MjItMzY5Ojc2IiBuYW1lPSJlYXJsaWVzdCIgbGlicmFyeU5hbWU9IldDIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxNCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjMxNSIgbmFtZT0iZmhpcjpJbW11bml6YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zaWduYXR1cmU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMzY5OjIyLTM2OTo2NSIgbmFtZT0iUG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMDUiIGxvY2F0b3I9Ijk3OjEtOTg6NTUiIG5hbWU9IlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAyNCBtb250aHMgcG9zdCBiaXJ0aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDI0IG1vbnRocyBwb3N0IGJpcnRoIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAyNCBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDI0IG1vbnRocyBwb3N0IGJpcnRoLTEwOSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzA1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAyNCBtb250aHMgcG9zdCBiaXJ0aApAcHNldWRvY29kZTogJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDI0IG1vbnRocwpAY29kZTogVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDI0IG1vbnRocyBwb3N0IGJpcnRoLTEwOQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDI0IG1vbnRocyBwb3N0IGJpcnRoJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJbk1vbnRoc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNiI+ICZsdDsgMjQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwNiIgbG9jYXRvcj0iOTg6My05ODo1NSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMyNyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzI4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIzIiBsb2NhdG9yPSI5ODozLTk4OjUwIiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMyNCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzI1IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIyIiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzIxIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxOCIgbG9jYXRvcj0iOTg6MTctOTg6NDkiIG5hbWU9IkRhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI2IiBsb2NhdG9yPSI5ODo1NC05ODo1NSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyNCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMzUiIGxvY2F0b3I9IjM3NDoxLTM3NToxMDIiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJEYXRlIG9mIExhdGVzdCBQbmV1bW9jb2NjYWwgRG9zZSIvPgogICAgICAgICAgICA8YTpzIHI9IjMzNSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBEYXRlIG9mIExhdGVzdCBQbmV1bW9jb2NjYWwgRG9zZQoqLwpkZWZpbmUgJnF1b3Q7RGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5kYXRlIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tb3N0UmVjZW50KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnRvSW50ZXJ2YWwoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzM2IiBsb2NhdG9yPSIzNzU6My0zNzU6MTAyIiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzciIGxvY2F0b3I9IjM3NToxMy0zNzU6MTAyIiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDMiIGxvY2F0b3I9IjM3NToyMi0zNzU6MTAyIiBuYW1lPSJ0b0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0MiIgbG9jYXRvcj0iMzc1OjIyLTM3NTo4OSIgcGF0aD0ib2NjdXJyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMzkiIGxvY2F0b3I9IjM3NToyMi0zNzU6NzgiIG5hbWU9Im1vc3RSZWNlbnQiIGxpYnJhcnlOYW1lPSJXQyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNDAiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSIzNDEiIG5hbWU9ImZoaXI6SW1tdW5pemF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2lnbmF0dXJlPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzgiIGxvY2F0b3I9IjM3NToyMi0zNzU6NjUiIG5hbWU9IlBuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzMxIiBsb2NhdG9yPSIxMDc6MS0xMDk6ODIiIG5hbWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDggd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA4IHdlZWtzIGFnby0xMDQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjMzMSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OykgJmx0OyA4IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvLTEwNApAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzMyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG5vdCBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vdygpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTgiPiAmbHQ7IDg8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMzIiIGxvY2F0b3I9IjEwODozLTEwOTo4MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0NiIgbG9jYXRvcj0iMTA4OjMtMTA4OjQ4IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQ1IiBsb2NhdG9yPSIxMDg6My0xMDg6NDgiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDQiIGxvY2F0b3I9IjEwODozLTEwODozNiIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDciIGxvY2F0b3I9IjEwOTo5LTEwOTo4MiIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM1OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzYwIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQ4IiBsb2NhdG9yPSIxMDk6OS0xMDk6NzgiIHByZWNpc2lvbj0iV2VlayIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzU2IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzU3IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1NCIgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM1NSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0OSIgbG9jYXRvcj0iMTA5OjM1LTEwOTo2OCIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzUyIiBsb2NhdG9yPSIxMDk6NzQtMTA5Ojc4IiB4c2k6dHlwZT0iTm93Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzU4IiBsb2NhdG9yPSIxMDk6ODIiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM2MyIgbG9jYXRvcj0iMTE4OjEtMTE5Ojc1IiBuYW1lPSJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDggd2Vla3MgYWdvIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDggd2Vla3MgYWdvIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4omlIDggd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnby0xMDQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjM2MyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDggd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4omlIDggd2Vla3MKQGNvZGU6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gOCB3ZWVrcyBhZ28tMTA0CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnbyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNjQiPgogICAgICAgICAgICAgICAgICA8YTpzPm5vdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNjQiIGxvY2F0b3I9IjExOTozLTExOTo3NSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NSIgbG9jYXRvcj0iMTE5OjctMTE5Ojc1IiBuYW1lPSJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM2OCIgbG9jYXRvcj0iMTI4OjEtMTI5OjU2IiBuYW1lPSJUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAyNCBtb250aHMgcG9zdCBiaXJ0aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMjQgbW9udGhzIHBvc3QgYmlydGgiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgMjQgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDI0IG1vbnRocyBwb3N0IGJpcnRoLTEwOSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzY4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDI0IG1vbnRocyBwb3N0IGJpcnRoCkBwc2V1ZG9jb2RlOiAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAyNCBtb250aHMKQGNvZGU6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDI0IG1vbnRocyBwb3N0IGJpcnRoLTEwOQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDI0IG1vbnRocyBwb3N0IGJpcnRoJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJbk1vbnRoc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3OCI+ID49IDI0PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNjkiIGxvY2F0b3I9IjEyOTozLTEyOTo1NiIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNzkiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM4MCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMTI5OjMtMTI5OjUwIiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM3NiIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzc3IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzc0IiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzczIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MCIgbG9jYXRvcj0iMTI5OjE3LTEyOTo0OSIgbmFtZT0iRGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzgiIGxvY2F0b3I9IjEyOTo1NS0xMjk6NTYiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzgzIiBsb2NhdG9yPSIxMzg6MS0xMzk6NjIiIG5hbWU9IkNsaWVudCBpcyBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCBpcyBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7QXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uJnF1b3Q7ID0gVFJVRSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQgaXMgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uLTQ4Ii8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSIzODMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50IGlzIGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbgpAcHNldWRvY29kZTogJnF1b3Q7QXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uJnF1b3Q7ID0gVFJVRQpAY29kZTogQ2xpZW50IGlzIGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbi00OApAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O0NsaWVudCBpcyBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzg1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NsaWVudCBpcyBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzODUiIGxvY2F0b3I9IjEzOTozLTEzOTo2MiIgbmFtZT0iQ2xpZW50IGlzIGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzODgiIGxvY2F0b3I9IjE0ODoxLTE0OTo2NiIgbmFtZT0iQ2xpZW50IGlzIG5vdCBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCBpcyBub3QgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0F0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiZxdW90OyA9IEZBTFNFIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkNsaWVudCBpcyBub3QgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uLTQ5Ii8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSIzODgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50IGlzIG5vdCBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24KQHBzZXVkb2NvZGU6ICZxdW90O0F0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiZxdW90OyA9IEZBTFNFCkBjb2RlOiBDbGllbnQgaXMgbm90IGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbi00OQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O0NsaWVudCBpcyBub3QgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM5MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgaXMgbm90IGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM5MCIgbG9jYXRvcj0iMTQ5OjMtMTQ5OjY2IiBuYW1lPSJDbGllbnQgaXMgbm90IGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzOTMiIGxvY2F0b3I9IjE1ODoxLTE1OTo2NCIgbmFtZT0iVHdvIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVHdvIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVHdvIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjM5MyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUd28gcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMgpAY29kZTogVHdvIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtUd28gcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM5NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTYiPiA9IDI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM5NCIgbG9jYXRvcj0iMTU5OjMtMTU5OjY0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM5NyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzk4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzk1IiBsb2NhdG9yPSIxNTk6My0xNTk6NjAiIG5hbWU9Ik51bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOTYiIGxvY2F0b3I9IjE1OTo2NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQwOCIgbG9jYXRvcj0iMzgwOjEtMzgxOjYyIiBuYW1lPSJQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9IlBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIvPgogICAgICAgICAgICA8YTpzIHI9IjQwOCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICZxdW90O1BuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNlcmllc0Jvb3N0ZXIoKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQxMCIgbG9jYXRvcj0iMzgxOjMtMzgxOjYyIiBuYW1lPSJzZXJpZXNCb29zdGVyIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDkiIGxvY2F0b3I9IjM4MTozLTM4MTo0NiIgbmFtZT0iUG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQwNSIgbG9jYXRvcj0iMzg2OjEtMzg3OjY4IiBuYW1lPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6cyByPSI0MDUiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQKKi8KZGVmaW5lICZxdW90O051bWJlciBvZiBQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q291bnQoPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDExIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDE0IiBsb2NhdG9yPSIzODc6My0zODc6NjgiIHhzaTp0eXBlPSJDb3VudCI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDExIiBsb2NhdG9yPSIzODc6OS0zODc6NjciIG5hbWU9IlBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MDEiIGxvY2F0b3I9IjE2ODoxLTE2OTo2NCIgbmFtZT0iTm8gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJObyBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJObyBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTE5Ii8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI0MDEiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogTm8gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDAKQGNvZGU6IE5vIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMTkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtObyBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDAyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxNiI+ID0gMDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDAyIiBsb2NhdG9yPSIxNjk6My0xNjk6NjQiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDE3IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MTgiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTUiIGxvY2F0b3I9IjE2OTozLTE2OTo2MCIgbmFtZT0iTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxNiIgbG9jYXRvcj0iMTY5OjY0IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDIxIiBsb2NhdG9yPSIxNzg6MS0xNzk6NTUiIG5hbWU9IlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDEyIG1vbnRocyBwb3N0IGJpcnRoIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBBTkQgJnF1b3Q7RG9zZSBudW1iZXImcXVvdDsgPSAxKSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDEyIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgtMTMxIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI0MjEiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDEyIG1vbnRocyBwb3N0IGJpcnRoCkBwc2V1ZG9jb2RlOiAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgQU5EICZxdW90O0Rvc2UgbnVtYmVyJnF1b3Q7ID0gMSkg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAxMiBtb250aHMKQGNvZGU6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aC0xMzEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDIyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluTW9udGhzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMxIj4gJmx0OyAxMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDIyIiBsb2NhdG9yPSIxNzk6My0xNzk6NTUiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MzIiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQzMyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyOCIgbG9jYXRvcj0iMTc5OjMtMTc5OjUwIiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQyOSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDMwIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDI3IiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDI2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyMyIgbG9jYXRvcj0iMTc5OjE3LTE3OTo0OSIgbmFtZT0iRGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MzEiIGxvY2F0b3I9IjE3OTo1NC0xNzk6NTUiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDM2IiBsb2NhdG9yPSIxODg6MS0xODk6NTYiIG5hbWU9IlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDEyIG1vbnRocyBwb3N0IGJpcnRoIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAxMiBtb250aHMgcG9zdCBiaXJ0aCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgQU5EICZxdW90O0Rvc2UgbnVtYmVyJnF1b3Q7ID0gMSkg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDEyIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAxMiBtb250aHMgcG9zdCBiaXJ0aC0xMzEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQzNiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAxMiBtb250aHMgcG9zdCBiaXJ0aApAcHNldWRvY29kZTogJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IEFORCAmcXVvdDtEb3NlIG51bWJlciZxdW90OyA9IDEpIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAxMiBtb250aHMKQGNvZGU6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDEyIG1vbnRocyBwb3N0IGJpcnRoLTEzMQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDEyIG1vbnRocyBwb3N0IGJpcnRoJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJbk1vbnRoc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0NiI+ID49IDEyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MzciIGxvY2F0b3I9IjE4OTozLTE4OTo1NiIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NDciIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ0OCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0MyIgbG9jYXRvcj0iMTg5OjMtMTg5OjUwIiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ0NCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDQ1IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDQyIiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDQxIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQzOCIgbG9jYXRvcj0iMTg5OjE3LTE4OTo0OSIgbmFtZT0iRGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NDYiIGxvY2F0b3I9IjE4OTo1NS0xODk6NTYiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDUxIiBsb2NhdG9yPSIxOTg6MS0xOTk6NjQiIG5hbWU9Ik9uZSBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9Ik9uZSBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJPbmUgcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTExOSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDUxIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE9uZSBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMQpAY29kZTogT25lIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMTkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtPbmUgcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTQiPiA9IDE8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ1MiIgbG9jYXRvcj0iMTk5OjMtMTk5OjY0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ1NSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDU2IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDUzIiBsb2NhdG9yPSIxOTk6My0xOTk6NjAiIG5hbWU9Ik51bWJlciBvZiBQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NTQiIGxvY2F0b3I9IjE5OTo2NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ1OSIgbG9jYXRvcj0iMjA3OjEtMjA4OjQ3IiBuYW1lPSJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMTIgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocy00MiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDU5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMTIgbW9udGhzCkBjb2RlOiBUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMtNDIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICZxdW90O1RoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NjAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYzIj4gJmx0OyAxMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDYwIiBsb2NhdG9yPSIyMDg6My0yMDg6NDciIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NjQiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ2NSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2MiIgbG9jYXRvcj0iMjA4OjMtMjA4OjQyIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NjMiIGxvY2F0b3I9IjIwODo0Ni0yMDg6NDciIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDY4IiBsb2NhdG9yPSIyMTc6MS0yMTg6NDQiIG5hbWU9IkNsaWVudCdzIEhJViBzdGF0dXMgaXMgcG9zaXRpdmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCdzIEhJViBzdGF0dXMgaXMgcG9zaXRpdmUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7SElWIHN0YXR1cyZxdW90OyA9ICZxdW90O0hJVi1wb3NpdGl2ZSZxdW90OyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQncyBISVYgc3RhdHVzIGlzIHBvc2l0aXZlLTI5Ii8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI0NjgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBwb3NpdGl2ZQpAcHNldWRvY29kZTogJnF1b3Q7SElWIHN0YXR1cyZxdW90OyA9ICZxdW90O0hJVi1wb3NpdGl2ZSZxdW90OwpAY29kZTogQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBwb3NpdGl2ZS0yOQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIEhJViBzdGF0dXMgaXMgcG9zaXRpdmUmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDcwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NsaWVudCdzIEhJViBzdGF0dXMgaXMgcG9zaXRpdmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NzAiIGxvY2F0b3I9IjIxODozLTIxODo0NCIgbmFtZT0iQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBwb3NpdGl2ZSIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NzMiIGxvY2F0b3I9IjIyNzoxLTIyODo1MSIgbmFtZT0iQ2xpZW50IGhhZCBwcmV0ZXJtIGJpcnRoIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQgaGFkIHByZXRlcm0gYmlydGgiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7UHJldGVybSBiaXJ0aCZxdW90OyA9IFRSVUUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iQ2xpZW50IGhhZCBwcmV0ZXJtIGJpcnRoLTIyIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI0NzMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50IGhhZCBwcmV0ZXJtIGJpcnRoCkBwc2V1ZG9jb2RlOiAmcXVvdDtQcmV0ZXJtIGJpcnRoJnF1b3Q7ID0gVFJVRQpAY29kZTogQ2xpZW50IGhhZCBwcmV0ZXJtIGJpcnRoLTIyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGhhZCBwcmV0ZXJtIGJpcnRoJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ3NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDc0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDc1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgd2FzIGEgcHJlbWF0dXJlIGluZmFudCBhdCBiaXJ0aCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ3NSIgbG9jYXRvcj0iMjI4OjMtMjI4OjUxIiBuYW1lPSJDbGllbnQgd2FzIGEgcHJlbWF0dXJlIGluZmFudCBhdCBiaXJ0aCIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NzgiIGxvY2F0b3I9IjIzNjoxLTIzODo1MSIgbmFtZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzIGFuZCBsZXNzIHRoYW4gMjQgbW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMgYW5kIGxlc3MgdGhhbiAyNCBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDI0IG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMgYW5kIGxlc3MgdGhhbiAyNCBtb250aHMtNTQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQ3OCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMgYW5kIGxlc3MgdGhhbiAyNCBtb250aHMKQHBzZXVkb2NvZGU6IDEyIG1vbnRocyDiiaQgVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMjQgbW9udGhzCkBjb2RlOiBUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMgYW5kIGxlc3MgdGhhbiAyNCBtb250aHMtNTQKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICZxdW90O1RoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyBhbmQgbGVzcyB0aGFuIDI0IG1vbnRocyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgxIj4xMiAmbHQ7PSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4OSI+ICZsdDsgMjQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NzkiIGxvY2F0b3I9IjIzNzozLTIzODo1MSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ4MCIgbG9jYXRvcj0iMjM3OjMtMjM3OjQ4IiB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ4NCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDg1IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDgxIiBsb2NhdG9yPSIyMzc6My0yMzc6NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDgzIiBsb2NhdG9yPSIyMzc6OS0yMzc6NDgiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDg2IiBsb2NhdG9yPSIyMzg6Ny0yMzg6NTEiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0OTAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ5MSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ4OCIgbG9jYXRvcj0iMjM4OjctMjM4OjQ2IiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0ODkiIGxvY2F0b3I9IjIzODo1MC0yMzg6NTEiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0OTQiIGxvY2F0b3I9IjI0NzoxLTI0ODo1NiIgbmFtZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMTIgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgtMTE2Ii8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI0OTQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aApAcHNldWRvY29kZTogTGF0ZXN0ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAxMiBtb250aHMKQGNvZGU6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgtMTE2CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0OTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTA0Ij4gJmx0OyAxMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDk1IiBsb2NhdG9yPSIyNDg6My0yNDg6NTYiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1MDUiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUwNiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwMSIgbG9jYXRvcj0iMjQ4OjMtMjQ4OjUxIiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUwMiIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTAzIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTAwIiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDk5IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ5NiIgbG9jYXRvcj0iMjQ4OjE3LTI0ODo1MCIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTA0IiBsb2NhdG9yPSIyNDg6NTUtMjQ4OjU2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUwOSIgbG9jYXRvcj0iMjU3OjEtMjU4OjU3IiBuYW1lPSJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMTIgbW9udGhzIHBvc3QgYmlydGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAxMiBtb250aHMgcG9zdCBiaXJ0aCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAxMiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDEyIG1vbnRocyBwb3N0IGJpcnRoLTExNiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTA5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAxMiBtb250aHMgcG9zdCBiaXJ0aApAcHNldWRvY29kZTogTGF0ZXN0ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDEyIG1vbnRocwpAY29kZTogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDEyIG1vbnRocyBwb3N0IGJpcnRoLTExNgpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAxMiBtb250aHMgcG9zdCBiaXJ0aCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTE5Ij4gPj0gMTI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUxMCIgbG9jYXRvcj0iMjU4OjMtMjU4OjU3IiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUyMCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTIxIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTE2IiBsb2NhdG9yPSIyNTg6My0yNTg6NTEiIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTE3IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1MTgiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MTUiIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MTQiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTExIiBsb2NhdG9yPSIyNTg6MTctMjU4OjUwIiBuYW1lPSJEYXRlIG9mIExhdGVzdCBQbmV1bW9jb2NjYWwgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MTkiIGxvY2F0b3I9IjI1ODo1Ni0yNTg6NTciIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTI0IiBsb2NhdG9yPSIyNjc6MS0yNjg6NTUiIG5hbWU9IkNsaWVudCdzIEhJViBzdGF0dXMgaXMgbmVnYXRpdmUgb3IgdW5rbm93biIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBuZWdhdGl2ZSBvciB1bmtub3duIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0hJViBzdGF0dXMmcXVvdDsg4omgICZxdW90O0hJVi1wb3NpdGl2ZSZxdW90OyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQncyBISVYgc3RhdHVzIGlzIG5lZ2F0aXZlIG9yIHVua25vd24tMjkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjUyNCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBISVYgc3RhdHVzIGlzIG5lZ2F0aXZlIG9yIHVua25vd24KQHBzZXVkb2NvZGU6ICZxdW90O0hJViBzdGF0dXMmcXVvdDsg4omgICZxdW90O0hJVi1wb3NpdGl2ZSZxdW90OwpAY29kZTogQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBuZWdhdGl2ZSBvciB1bmtub3duLTI5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgSElWIHN0YXR1cyBpcyBuZWdhdGl2ZSBvciB1bmtub3duJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUyNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTI1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTI2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQncyBISVYgc3RhdHVzIGlzIG5lZ2F0aXZlIG9yIHVua25vd24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MjYiIGxvY2F0b3I9IjI2ODozLTI2ODo1NSIgbmFtZT0iQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBuZWdhdGl2ZSBvciB1bmtub3duIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUyOSIgbG9jYXRvcj0iMjc3OjEtMjc4OjU1IiBuYW1lPSJDbGllbnQgZGlkIG5vdCBoYXZlIHByZXRlcm0gYmlydGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCBkaWQgbm90IGhhdmUgcHJldGVybSBiaXJ0aCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtQcmV0ZXJtIGJpcnRoJnF1b3Q7IOKJoCBUUlVFIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkNsaWVudCBkaWQgbm90IGhhdmUgcHJldGVybSBiaXJ0aC0yMiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTI5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCBkaWQgbm90IGhhdmUgcHJldGVybSBiaXJ0aApAcHNldWRvY29kZTogJnF1b3Q7UHJldGVybSBiaXJ0aCZxdW90OyDiiaAgVFJVRQpAY29kZTogQ2xpZW50IGRpZCBub3QgaGF2ZSBwcmV0ZXJtIGJpcnRoLTIyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGRpZCBub3QgaGF2ZSBwcmV0ZXJtIGJpcnRoJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUzMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgd2FzIG5vdCBhIHByZW1hdHVyZSBpbmZhbnQgYXQgYmlydGgmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MzEiIGxvY2F0b3I9IjI3ODozLTI3ODo1NSIgbmFtZT0iQ2xpZW50IHdhcyBub3QgYSBwcmVtYXR1cmUgaW5mYW50IGF0IGJpcnRoIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUzNCIgbG9jYXRvcj0iMjg3OjEtMjg4OjQ4IiBuYW1lPSJUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyNCBtb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDI0IG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAyNCBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMjQgbW9udGhzLTQyIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI1MzQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMjQgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDI0IG1vbnRocwpAY29kZTogVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMjQgbW9udGhzLTQyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMjQgbW9udGhzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUzNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzgiPiA+PSAyNDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTM1IiBsb2NhdG9yPSIyODg6My0yODg6NDgiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTM5IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1NDAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MzciIGxvY2F0b3I9IjI4ODozLTI4ODo0MiIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIGxpYnJhcnlOYW1lPSJFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTM4IiBsb2NhdG9yPSIyODg6NDctMjg4OjQ4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjI0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU0MyIgbG9jYXRvcj0iMjk2OjEtMjk3OjY0IiBuYW1lPSJUd28gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlR3byBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAyIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlR3byBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMTkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTpzIHI9IjU0MyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUd28gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMgpAY29kZTogVHdvIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTExOQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQoqLwpkZWZpbmUgJnF1b3Q7VHdvIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU0NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDYiPiA9IDI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU0NCIgbG9jYXRvcj0iMjk3OjMtMjk3OjY0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU0NyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTQ4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTQ1IiBsb2NhdG9yPSIyOTc6My0yOTc6NjAiIG5hbWU9Ik51bWJlciBvZiBQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NDYiIGxvY2F0b3I9IjI5Nzo2NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU1MSIgbG9jYXRvcj0iMzA2OjEtMzA3OjQ2IiBuYW1lPSJUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA1IHllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA1IHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgPiA1IHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDUgeWVhcnMtNDAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjU1MSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA1IHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgPiA1IHllYXJzCkBjb2RlOiBUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA1IHllYXJzLTQwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNSB5ZWFycyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NTIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTU1Ij4gPiA1PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NTIiIGxvY2F0b3I9IjMwNzozLTMwNzo0NiIgeHNpOnR5cGU9IkdyZWF0ZXIiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU1NiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTU3IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTU0IiBsb2NhdG9yPSIzMDc6My0zMDc6NDIiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1NSIgbG9jYXRvcj0iMzA3OjQ2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTYwIiBsb2NhdG9yPSIzMTU6MS0zMTY6NTMiIG5hbWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGZpdmUgeWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGZpdmUgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaQgNSB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBmaXZlIHllYXJzLTQwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTYwIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGZpdmUgeWVhcnMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaQgNSB5ZWFycwpAY29kZTogVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gZml2ZSB5ZWFycy00MApAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGZpdmUgeWVhcnMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTYxIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA1IHllYXJzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NjEiIGxvY2F0b3I9IjMxNjozLTMxNjo1MyIgbmFtZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNSB5ZWFycyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTY0IiBsb2NhdG9yPSIzMjQ6MS0zMjY6ODIiIG5hbWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDQgd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnby0xMDQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI1NjQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspICZsdDsgNCB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnby0xMDQKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU2NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTY4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NjkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZHVyYXRpb24gaW4gd2Vla3MgYmV0d2VlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob3coKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgwIj4gJmx0OyA0PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTY1IiBsb2NhdG9yPSIzMjU6My0zMjY6ODIiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NjgiIGxvY2F0b3I9IjMyNTozLTMyNTo0OCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU2NyIgbG9jYXRvcj0iMzI1OjMtMzI1OjQ4IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTY2IiBsb2NhdG9yPSIzMjU6My0zMjU6MzYiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTY5IiBsb2NhdG9yPSIzMjY6OS0zMjY6ODIiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1ODEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU4MiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU3MCIgbG9jYXRvcj0iMzI2OjktMzI2Ojc4IiBwcmVjaXNpb249IldlZWsiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU3OCIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU3OSIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NzYiIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1NzciIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NzEiIGxvY2F0b3I9IjMyNjozNS0zMjY6NjgiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU3NCIgbG9jYXRvcj0iMzI2Ojc0LTMyNjo3OCIgeHNpOnR5cGU9Ik5vdyIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU4MCIgbG9jYXRvcj0iMzI2OjgyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1ODUiIGxvY2F0b3I9IjMzNDoxLTMzNTo3NSIgbmFtZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKJpSA0IHdlZWtzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28tMTA0Ii8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTg1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSDiiaUgNCB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnby0xMDQKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlBuZXVtb2NvY2NhbC4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDQgd2Vla3MgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+bm90IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU4NiIgbG9jYXRvcj0iMzM1OjMtMzM1Ojc1IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTg3IiBsb2NhdG9yPSIzMzU6Ny0zMzU6NzUiIG5hbWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTkwIiBsb2NhdG9yPSIzNDM6MS0zNDU6NTkiIG5hbWU9IlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGF0IDEy4oCTMjQgbW9udGhzIHBvc3QgYmlydGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGF0IDEy4oCTMjQgbW9udGhzIHBvc3QgYmlydGgiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDI0IG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhdCAxMuKAkzI0IG1vbnRocyBwb3N0IGJpcnRoLTEyMSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjU5MCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhdCAxMuKAkzI0IG1vbnRocyBwb3N0IGJpcnRoCkBwc2V1ZG9jb2RlOiAxMiBtb250aHMg4omkICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAyNCBtb250aHMKQGNvZGU6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGF0IDEy4oCTMjQgbW9udGhzIHBvc3QgYmlydGgtMTIxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5QbmV1bW9jb2NjYWwuMyBkb3NlczogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYXQgMTLigJMyNCBtb250aHMgcG9zdCBiaXJ0aCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1OTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJbk1vbnRoc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwMSI+ID49IDEyPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MDQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MTMiPiAmbHQ7IDI0PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTkxIiBsb2NhdG9yPSIzNDQ6My0zNDU6NTkiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1OTIiIGxvY2F0b3I9IjM0NDozLTM0NDo1NiIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI2MDIiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjYwMyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU5OCIgbG9jYXRvcj0iMzQ0OjMtMzQ0OjUwIiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU5OSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNjAwIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTk3IiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTk2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU5MyIgbG9jYXRvcj0iMzQ0OjE3LTM0NDo0OSIgbmFtZT0iRGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MDEiIGxvY2F0b3I9IjM0NDo1NS0zNDQ6NTYiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjA0IiBsb2NhdG9yPSIzNDU6Ny0zNDU6NTkiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI2MTQiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjYxNSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYxMCIgbG9jYXRvcj0iMzQ1OjctMzQ1OjU0IiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjYxMSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNjEyIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjA5IiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjA4IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYwNSIgbG9jYXRvcj0iMzQ1OjIxLTM0NTo1MyIgbmFtZT0iRGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MTMiIGxvY2F0b3I9IjM0NTo1OC0zNDU6NTkiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MTgiIGxvY2F0b3I9IjM1MzoxLTM1NDo2NCIgbmFtZT0iVGhyZWUgcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaHJlZSBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRocmVlIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI2MTgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhyZWUgcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMwpAY29kZTogVGhyZWUgcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyMQpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RocmVlIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjIxIj4gPSAzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MTkiIGxvY2F0b3I9IjM1NDozLTM1NDo2NCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI2MjIiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjYyMyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYyMCIgbG9jYXRvcj0iMzU0OjMtMzU0OjYwIiBuYW1lPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjIxIiBsb2NhdG9yPSIzNTQ6NjQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MjYiIGxvY2F0b3I9IjM2MjoxLTM2Mzo0NyIgbmFtZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMjQgbW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyNCBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDI0IG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyNCBtb250aHMtNDIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI2MjYiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMjQgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAyNCBtb250aHMKQGNvZGU6IFRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDI0IG1vbnRocy00MgpAZGVjaXNpb246IElNTVouRDIuRFQuUG5ldW1vY29jY2FsLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDI0IG1vbnRocyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MjciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMwIj4gJmx0OyAyNDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjI3IiBsb2NhdG9yPSIzNjM6My0zNjM6NDciIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI2MzEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjYzMiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYyOSIgbG9jYXRvcj0iMzYzOjMtMzYzOjQyIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MzAiIGxvY2F0b3I9IjM2Mzo0Ni0zNjM6NDciIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo="
}
]
}